From 5bb8680c27029b15c77c0c7fe1047a989d5020d4 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 14 May 2018 12:30:58 +0100 Subject: [PATCH 001/280] disable git scripts --- build-devkit.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 4909df4..e6b5474 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -5,12 +5,11 @@ # devkitA64 release 9 #--------------------------------------------------------------------------------- -if [ 0 -eq 1 ] ; then - echo "Currently in release cycle, proceed with caution, do not report problems, do not ask for support." +if [ "scripts" != "enabled" ] ; then echo "Please use the latest release buildscripts unless advised otherwise by devkitPro staff." echo "https://github.com/devkitPro/buildscripts/releases" echo - echo "The scripts in the git repository are quite often dependent on things which currently only exist" + echo "The scripts in the git repository may be dependent on things which currently only exist" echo "on developer machines. This is not a bug, use stable releases." exit 1 fi From 09627572b9c41d62b4add4c7a7b7df197de107fb Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 22 May 2018 09:04:39 +0100 Subject: [PATCH 002/280] fix newlib cross build --- dka64/scripts/build-gcc.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index f816a00..e8f5cbd 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -86,6 +86,11 @@ fi unset CFLAGS cd $BUILDDIR +OLD_CC=$CC +OLDCXX=$CXX +unset CC +unset CXX + #--------------------------------------------------------------------------------- # build and install newlib #--------------------------------------------------------------------------------- @@ -118,6 +123,9 @@ then touch installed-newlib fi +export CC=$OLD_CC +export CXX=$OLD_CXX + #--------------------------------------------------------------------------------- # build and install the final compiler #--------------------------------------------------------------------------------- From a3ae2e737d83da8de38e2a3ff0557359e4841010 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 22 May 2018 16:24:18 +0000 Subject: [PATCH 003/280] update download links --- build-devkit.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index e6b5474..3aecaab 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -207,11 +207,11 @@ if [ $VERSION -eq 1 ]; then targetarchives="libnds-src-${LIBNDS_VER}.tar.bz2 libgba-src-${LIBGBA_VER}.tar.bz2 libmirko-src-${LIBMIRKO_VER}.tar.bz2 dswifi-src-${DSWIFI_VER}.tar.bz2 maxmod-src-${MAXMOD_VER}.tar.bz2 - default_arm7-src-${DEFAULT_ARM7_VER}.tar.bz2 libfilesystem-src-${FILESYSTEM_VER}.tar.bz2 + default-arm7-src-${DEFAULT_ARM7_VER}.tar.bz2 libfilesystem-src-${FILESYSTEM_VER}.tar.bz2 libfat-src-${LIBFAT_VER}.tar.bz2 libctru-src-${LIBCTRU_VER}.tar.bz2 citro3d-src-${CITRO3D_VER}.tar.bz2 citro2d-src-${CITRO2D_VER}.tar.bz2" - hostarchives="gbatools-$GBATOOLS_VER.tar.bz2 gp32tools-$GP32_TOOLS_VER.tar.bz2 + hostarchives="gba-tools-$GBATOOLS_VER.tar.bz2 gp32-tools-$GP32_TOOLS_VER.tar.bz2 dstools-$DSTOOLS_VER.tar.bz2 grit-$GRIT_VER.tar.bz2 ndstool-$NDSTOOL_VER.tar.bz2 general-tools-$GENERAL_TOOLS_VER.tar.bz2 mmutil-$MMUTIL_VER.tar.bz2 dfu-util-$DFU_UTIL_VER.tar.bz2 stlink-$STLINK_VER.tar.bz2 3dstools-$TOOLS3DS_VER.tar.bz2 @@ -245,7 +245,7 @@ for archive in $archives $targetarchives $hostarchives do echo $archive if [ ! -f $archive ]; then - $FETCH https://github.com/devkitPro/buildscripts/releases/download/sources/$archive || { echo "Error: Failed to download $archive"; exit 1; } + $FETCH https://downloads.devkitpro.org/$archive || { echo "Error: Failed to download $archive"; exit 1; } fi done From 108127de46ac14b6e93dfdbc6ff12e72f51e6649 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 22 May 2018 16:25:12 +0000 Subject: [PATCH 004/280] update switch tools & libs --- build-devkit.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 3aecaab..71a9c82 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -57,8 +57,8 @@ TEX3DS_VER=1.0.0 GP32_TOOLS_VER=1.0.3 LIBMIRKO_VER=0.9.7 -SWITCH_TOOLS_VER=1.2.0 -LIBNX_VER=1.0.0 +SWITCH_TOOLS_VER=1.4.0 +LIBNX_VER=1.2.1 OSXMIN=${OSXMIN:-10.9} @@ -229,6 +229,8 @@ fi if [ $VERSION -eq 3 ]; then + targetarchives=" libnx-src-${LIBNX_VER}.tar.bz2" + hostarchives="general-tools-$GENERAL_TOOLS_VER.tar.bz2 switch-tools-$SWITCH_TOOLS_VER.tar.bz2" fi @@ -322,5 +324,13 @@ fi echo -echo "note: Add the following to your environment; DEVKITPRO=$TOOLPATH $toolchain=$TOOLPATH/$package" +echo "note: Add the following to your environment;" +echo +echo " DEVKITPRO=$TOOLPATH" +if [ "$toolchain" != "DEVKITA64" ]; then +echo " $toolchain=$TOOLPATH/$package" +fi +echo +echo "add $TOOLPATH/tools/bin to your PATH" +echo echo From b8b26124cb68fe41be773c12a728ea6fd6e3c2f3 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 22 May 2018 16:25:53 +0000 Subject: [PATCH 005/280] put tools in /opt/devkitpro/tools/bin --- dkarm-eabi/scripts/build-tools.sh | 2 +- dkppc/scripts/build-tools.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dkarm-eabi/scripts/build-tools.sh b/dkarm-eabi/scripts/build-tools.sh index 13bdca4..2a92040 100755 --- a/dkarm-eabi/scripts/build-tools.sh +++ b/dkarm-eabi/scripts/build-tools.sh @@ -6,7 +6,7 @@ do dir=$(echo $archive | sed -e 's/\(.*\)\.tar\.bz2/\1/' ) cd $BUILDDIR/$dir if [ ! -f configured ]; then - CXXFLAGS=$cflags CFLAGS=$cflags LDFLAGS=$ldflags ./configure --prefix=$prefix $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } + CXXFLAGS=$cflags CFLAGS=$cflags LDFLAGS=$ldflags ./configure --prefix=/opt/devkitpro/tools $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } touch configured fi if [ ! -f built ]; then diff --git a/dkppc/scripts/build-tools.sh b/dkppc/scripts/build-tools.sh index 0c05244..859b3b3 100644 --- a/dkppc/scripts/build-tools.sh +++ b/dkppc/scripts/build-tools.sh @@ -6,7 +6,7 @@ do dir=$(echo $archive | sed -e 's/\(.*\)\.tar\.bz2/\1/' ) cd $BUILDDIR/$dir if [ ! -f configured ]; then - CXXFLAGS=$cflags CFLAGS=$cflags LDFLAGS=$ldflags ./configure --prefix=$prefix --disable-dependency-tracking $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } + CXXFLAGS=$cflags CFLAGS=$cflags LDFLAGS=$ldflags ./configure --prefix=/opt/devkitpro/tools --disable-dependency-tracking $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } touch configured fi if [ ! -f built ]; then From 26cc59f4f6c9bfc0860fe51217c45e134f5b6337 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 22 May 2018 16:30:18 +0000 Subject: [PATCH 006/280] use latest versions --- build-devkit.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 71a9c82..19ffbef 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -25,15 +25,15 @@ echo GENERAL_TOOLS_VER=1.0.2 -LIBGBA_VER=0.5.0 +LIBGBA_VER=0.5.1 GBATOOLS_VER=1.1.0 -LIBNDS_VER=1.7.1 -DEFAULT_ARM7_VER=0.7.3 +LIBNDS_VER=1.7.2 +DEFAULT_ARM7_VER=0.7.4 DSWIFI_VER=0.4.2 MAXMOD_VER=1.0.11 -FILESYSTEM_VER=0.9.13-1 -LIBFAT_VER=1.1.2 +FILESYSTEM_VER=0.9.14 +LIBFAT_VER=1.1.3 DSTOOLS_VER=1.2.1 GRIT_VER=0.8.15 NDSTOOL_VER=2.1.1 @@ -55,7 +55,7 @@ PICASSO_VER=2.7.0 TEX3DS_VER=1.0.0 GP32_TOOLS_VER=1.0.3 -LIBMIRKO_VER=0.9.7 +LIBMIRKO_VER=0.9.8 SWITCH_TOOLS_VER=1.4.0 LIBNX_VER=1.2.1 From ab8de4361a5b0b54be6b25f40b3f6d1ed2ab1761 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 22 May 2018 16:32:29 +0000 Subject: [PATCH 007/280] remove lto hack --- build-devkit.sh | 2 -- dkarm-eabi/scripts/build-gcc.sh | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 19ffbef..6629256 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -185,8 +185,6 @@ case $PLATFORM in ;; MINGW32* ) cflags="-D__USE_MINGW_ACCESS" -# horrid hack to get -flto to work on windows - plugin_ld="--with-plugin-ld=ld" ;; esac diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index eff20d5..44b731e 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -60,7 +60,7 @@ then --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ - --enable-lto $plugin_ld\ + --enable-lto\ --with-system-zlib \ --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 48" \ $CROSS_PARAMS \ From 3a3efdafd402318c48c940a8cae5c4673dce1924 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 22 May 2018 16:33:37 +0000 Subject: [PATCH 008/280] build libnx --- dka64/scripts/build-libs.sh | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 dka64/scripts/build-libs.sh diff --git a/dka64/scripts/build-libs.sh b/dka64/scripts/build-libs.sh new file mode 100644 index 0000000..7fd43ee --- /dev/null +++ b/dka64/scripts/build-libs.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +export DEVKITPRO=$TOOLPATH + +cd $BUILDDIR/libnx-$LIBNX_VER +$MAKE || { echo "error building libnx"; exit 1; } +$MAKE install || { echo "error installing libnx"; exit 1; } From ae79a8de3aca6161a9b61635a127091874d59240 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 22 May 2018 16:34:09 +0000 Subject: [PATCH 009/280] enable scripts for release --- build-devkit.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 6629256..e726a28 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -5,9 +5,9 @@ # devkitA64 release 9 #--------------------------------------------------------------------------------- -if [ "scripts" != "enabled" ] ; then +if [ 1 -eq 0 ] ; then echo "Please use the latest release buildscripts unless advised otherwise by devkitPro staff." - echo "https://github.com/devkitPro/buildscripts/releases" + echo "https://github.com/devkitPro/buildscripts/releases/latest" echo echo "The scripts in the git repository may be dependent on things which currently only exist" echo "on developer machines. This is not a bug, use stable releases." From c021bf4c57c9f17f4a72b39c9b3324c14e70e5a3 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 22 May 2018 18:15:50 +0100 Subject: [PATCH 010/280] disable git scripts --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index e726a28..4c0538d 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -5,7 +5,7 @@ # devkitA64 release 9 #--------------------------------------------------------------------------------- -if [ 1 -eq 0 ] ; then +if [ 1 -eq 1 ] ; then echo "Please use the latest release buildscripts unless advised otherwise by devkitPro staff." echo "https://github.com/devkitPro/buildscripts/releases/latest" echo From 49d8b5dc468a582bbbfb3997cc0ccd9beeb437d5 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 6 Jun 2018 03:00:46 +0100 Subject: [PATCH 011/280] use right prefix for tools --- build-devkit.sh | 2 ++ dka64/scripts/build-tools.sh | 2 +- dkarm-eabi/scripts/build-tools.sh | 2 +- dkppc/scripts/build-tools.sh | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 4c0538d..47a9866 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -153,9 +153,11 @@ export PATH=$PATH:$TOOLPATH/$package/bin if [ ! -z $CROSSBUILD ]; then prefix=$INSTALLDIR/$CROSSBUILD/$package + toolsprefix=$INSTALLDIR/$CROSSBUILD/tools CROSS_PARAMS="--build=`./config.guess` --host=$CROSSBUILD" CROSS_GCC_PARAMS="--with-gmp=$CROSSPATH --with-mpfr=$CROSSPATH --with-mpc=$CROSSPATH" else + toolsprefix=$INSTALLDIR/tools prefix=$INSTALLDIR/$package fi diff --git a/dka64/scripts/build-tools.sh b/dka64/scripts/build-tools.sh index 2a92040..273c9bb 100755 --- a/dka64/scripts/build-tools.sh +++ b/dka64/scripts/build-tools.sh @@ -6,7 +6,7 @@ do dir=$(echo $archive | sed -e 's/\(.*\)\.tar\.bz2/\1/' ) cd $BUILDDIR/$dir if [ ! -f configured ]; then - CXXFLAGS=$cflags CFLAGS=$cflags LDFLAGS=$ldflags ./configure --prefix=/opt/devkitpro/tools $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } + CXXFLAGS=$cflags CFLAGS=$cflags LDFLAGS=$ldflags ./configure --prefix=$toolsprefix $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } touch configured fi if [ ! -f built ]; then diff --git a/dkarm-eabi/scripts/build-tools.sh b/dkarm-eabi/scripts/build-tools.sh index 2a92040..273c9bb 100755 --- a/dkarm-eabi/scripts/build-tools.sh +++ b/dkarm-eabi/scripts/build-tools.sh @@ -6,7 +6,7 @@ do dir=$(echo $archive | sed -e 's/\(.*\)\.tar\.bz2/\1/' ) cd $BUILDDIR/$dir if [ ! -f configured ]; then - CXXFLAGS=$cflags CFLAGS=$cflags LDFLAGS=$ldflags ./configure --prefix=/opt/devkitpro/tools $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } + CXXFLAGS=$cflags CFLAGS=$cflags LDFLAGS=$ldflags ./configure --prefix=$toolsprefix $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } touch configured fi if [ ! -f built ]; then diff --git a/dkppc/scripts/build-tools.sh b/dkppc/scripts/build-tools.sh index 859b3b3..384b3f3 100644 --- a/dkppc/scripts/build-tools.sh +++ b/dkppc/scripts/build-tools.sh @@ -6,7 +6,7 @@ do dir=$(echo $archive | sed -e 's/\(.*\)\.tar\.bz2/\1/' ) cd $BUILDDIR/$dir if [ ! -f configured ]; then - CXXFLAGS=$cflags CFLAGS=$cflags LDFLAGS=$ldflags ./configure --prefix=/opt/devkitpro/tools --disable-dependency-tracking $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } + CXXFLAGS=$cflags CFLAGS=$cflags LDFLAGS=$ldflags ./configure --prefix=$toolsprefix --disable-dependency-tracking $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } touch configured fi if [ ! -f built ]; then From caad8fafae52090cf4c6bfd06e13678453e969f9 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 6 Jun 2018 03:03:26 +0100 Subject: [PATCH 012/280] build libraries when enabled --- dkppc/scripts/{build-crtls.sh => build-libs.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename dkppc/scripts/{build-crtls.sh => build-libs.sh} (100%) diff --git a/dkppc/scripts/build-crtls.sh b/dkppc/scripts/build-libs.sh similarity index 100% rename from dkppc/scripts/build-crtls.sh rename to dkppc/scripts/build-libs.sh From 6cd9b707624040ca8761126b54a2f40c6823ae71 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 5 Jun 2018 08:35:13 +0100 Subject: [PATCH 013/280] enable std::filesystem --- dka64/patches/newlib-3.0.0.patch | 444 ++++++++++++++++++++----------- dka64/scripts/build-gcc.sh | 5 +- 2 files changed, 290 insertions(+), 159 deletions(-) diff --git a/dka64/patches/newlib-3.0.0.patch b/dka64/patches/newlib-3.0.0.patch index fa1b40f..1a5f43e 100644 --- a/dka64/patches/newlib-3.0.0.patch +++ b/dka64/patches/newlib-3.0.0.patch @@ -1,5 +1,5 @@ diff --git a/libgloss/configure b/libgloss/configure -index aa6f8f8..0e85798 100755 +index aa6f8f834..0e8579890 100755 --- a/libgloss/configure +++ b/libgloss/configure @@ -2594,6 +2594,8 @@ if test "${config_libnosys}" = "true"; then @@ -12,7 +12,7 @@ index aa6f8f8..0e85798 100755 ac_config_commands="$ac_config_commands depfiles" diff --git a/libgloss/configure.in b/libgloss/configure.in -index 6da1643..f18f174 100644 +index 6da164352..f18f17447 100644 --- a/libgloss/configure.in +++ b/libgloss/configure.in @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. @@ -33,7 +33,7 @@ index 6da1643..f18f174 100644 AS=${AS-as} diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in new file mode 100644 -index 0000000..9eca37c +index 000000000..48145392a --- /dev/null +++ b/libgloss/libsysbase/Makefile.in @@ -0,0 +1,148 @@ @@ -105,11 +105,11 @@ index 0000000..9eca37c + +# object files needed +OBJS = abort.o iosupport.o clocks.o close.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ -+ isatty.o kill.o link.o lseek.o open.o read.o sbrk.o stat.o times.o \ ++ isatty.o kill.o link.o lseek.o lstat.o nanosleep.o open.o read.o sbrk.o sleep.o stat.o usleep.o times.o \ + unlink.o wait.o write.o _exit.o malloc_vars.o \ + chdir.o mkdir.o rename.o statvfs.o \ + flock.o syscall_support.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ -+ fchmod.o chmod.o getreent.o rmdir.o ++ fchmod.o chmod.o getreent.o rmdir.o utime.o + +# Object files specific to particular targets. +EVALOBJS = ${OBJS} @@ -187,7 +187,7 @@ index 0000000..9eca37c + $(SHELL) config.status --recheck diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c new file mode 100644 -index 0000000..e5cb5a9 +index 000000000..e5cb5a9ed --- /dev/null +++ b/libgloss/libsysbase/_exit.c @@ -0,0 +1,17 @@ @@ -210,7 +210,7 @@ index 0000000..e5cb5a9 +} diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c new file mode 100644 -index 0000000..9272e22 +index 000000000..9272e22c9 --- /dev/null +++ b/libgloss/libsysbase/abort.c @@ -0,0 +1,8 @@ @@ -224,7 +224,7 @@ index 0000000..9272e22 + diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h new file mode 100644 -index 0000000..200ea78 +index 000000000..200ea7873 --- /dev/null +++ b/libgloss/libsysbase/acconfig.h @@ -0,0 +1,29 @@ @@ -259,7 +259,7 @@ index 0000000..200ea78 +#undef __SYMBOL_PREFIX diff --git a/libgloss/libsysbase/aclocal.m4 b/libgloss/libsysbase/aclocal.m4 new file mode 100644 -index 0000000..b6cdfae +index 000000000..b6cdfaeb8 --- /dev/null +++ b/libgloss/libsysbase/aclocal.m4 @@ -0,0 +1,344 @@ @@ -609,7 +609,7 @@ index 0000000..b6cdfae +m4_include([../acinclude.m4]) diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c new file mode 100644 -index 0000000..90d2dc5 +index 000000000..90d2dc5b7 --- /dev/null +++ b/libgloss/libsysbase/chdir.c @@ -0,0 +1,201 @@ @@ -816,7 +816,7 @@ index 0000000..90d2dc5 +} diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c new file mode 100644 -index 0000000..3668b58 +index 000000000..3668b5801 --- /dev/null +++ b/libgloss/libsysbase/chmod.c @@ -0,0 +1,30 @@ @@ -852,7 +852,7 @@ index 0000000..3668b58 + diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c new file mode 100644 -index 0000000..7cec3bc +index 000000000..01cfee469 --- /dev/null +++ b/libgloss/libsysbase/clocks.c @@ -0,0 +1,34 @@ @@ -872,7 +872,7 @@ index 0000000..7cec3bc + +int clock_settime(clockid_t clock_id, const struct timespec *tp) +{ -+ if ( __syscalls.clock_gettime ) { ++ if ( __syscalls.clock_settime ) { + return __syscalls.clock_settime(clock_id, tp); + } else { + errno = ENOSYS; @@ -892,7 +892,7 @@ index 0000000..7cec3bc + diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c new file mode 100644 -index 0000000..931ad07 +index 000000000..931ad07b1 --- /dev/null +++ b/libgloss/libsysbase/close.c @@ -0,0 +1,46 @@ @@ -944,7 +944,7 @@ index 0000000..931ad07 +} diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in new file mode 100644 -index 0000000..48ce950 +index 000000000..48ce950b4 --- /dev/null +++ b/libgloss/libsysbase/config.h.in @@ -0,0 +1,25 @@ @@ -975,7 +975,7 @@ index 0000000..48ce950 +#undef __SYMBOL_PREFIX diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure new file mode 100644 -index 0000000..aa653c2 +index 000000000..aa653c235 --- /dev/null +++ b/libgloss/libsysbase/configure @@ -0,0 +1,4160 @@ @@ -5141,7 +5141,7 @@ index 0000000..aa653c2 + diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in new file mode 100644 -index 0000000..da85a3f +index 000000000..da85a3f46 --- /dev/null +++ b/libgloss/libsysbase/configure.in @@ -0,0 +1,202 @@ @@ -5349,7 +5349,7 @@ index 0000000..da85a3f + diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c new file mode 100644 -index 0000000..0ad2902 +index 000000000..0ad29029c --- /dev/null +++ b/libgloss/libsysbase/dirent.c @@ -0,0 +1,255 @@ @@ -5610,7 +5610,7 @@ index 0000000..0ad2902 +} diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c new file mode 100644 -index 0000000..1c485b2 +index 000000000..1c485b26f --- /dev/null +++ b/libgloss/libsysbase/environ.c @@ -0,0 +1,6 @@ @@ -5622,7 +5622,7 @@ index 0000000..1c485b2 +char **environ = __env; diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c new file mode 100644 -index 0000000..82e7013 +index 000000000..82e70139f --- /dev/null +++ b/libgloss/libsysbase/execve.c @@ -0,0 +1,30 @@ @@ -5658,7 +5658,7 @@ index 0000000..82e7013 + diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c new file mode 100644 -index 0000000..5c5831c +index 000000000..5c5831cdf --- /dev/null +++ b/libgloss/libsysbase/fchmod.c @@ -0,0 +1,31 @@ @@ -5695,7 +5695,7 @@ index 0000000..5c5831c +} diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c new file mode 100644 -index 0000000..c6b8c92 +index 000000000..c6b8c92ad --- /dev/null +++ b/libgloss/libsysbase/flock.c @@ -0,0 +1,21 @@ @@ -5722,7 +5722,7 @@ index 0000000..c6b8c92 +} diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c new file mode 100644 -index 0000000..efb6a34 +index 000000000..efb6a3496 --- /dev/null +++ b/libgloss/libsysbase/fork.c @@ -0,0 +1,21 @@ @@ -5749,7 +5749,7 @@ index 0000000..efb6a34 +} diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c new file mode 100644 -index 0000000..e32b067 +index 000000000..e32b06755 --- /dev/null +++ b/libgloss/libsysbase/fstat.c @@ -0,0 +1,44 @@ @@ -5799,7 +5799,7 @@ index 0000000..e32b067 +} diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c new file mode 100644 -index 0000000..fb06cb6 +index 000000000..fb06cb6d1 --- /dev/null +++ b/libgloss/libsysbase/fsync.c @@ -0,0 +1,34 @@ @@ -5839,7 +5839,7 @@ index 0000000..fb06cb6 +} diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c new file mode 100644 -index 0000000..2cc03a3 +index 000000000..2cc03a3d9 --- /dev/null +++ b/libgloss/libsysbase/ftruncate.c @@ -0,0 +1,34 @@ @@ -5879,7 +5879,7 @@ index 0000000..2cc03a3 +} diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c new file mode 100644 -index 0000000..fdce14b +index 000000000..fdce14b5f --- /dev/null +++ b/libgloss/libsysbase/getpid.c @@ -0,0 +1,19 @@ @@ -5904,7 +5904,7 @@ index 0000000..fdce14b + diff --git a/libgloss/libsysbase/getreent.c b/libgloss/libsysbase/getreent.c new file mode 100644 -index 0000000..028d0eb +index 000000000..028d0eb77 --- /dev/null +++ b/libgloss/libsysbase/getreent.c @@ -0,0 +1,20 @@ @@ -5930,7 +5930,7 @@ index 0000000..028d0eb + diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c new file mode 100644 -index 0000000..9d5b747 +index 000000000..9d5b74724 --- /dev/null +++ b/libgloss/libsysbase/gettod.c @@ -0,0 +1,33 @@ @@ -5969,7 +5969,7 @@ index 0000000..9d5b747 + diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c new file mode 100644 -index 0000000..f3fcc88 +index 000000000..f3fcc88f7 --- /dev/null +++ b/libgloss/libsysbase/handle_manager.c @@ -0,0 +1,173 @@ @@ -6148,10 +6148,10 @@ index 0000000..f3fcc88 +} diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c new file mode 100644 -index 0000000..4f13127 +index 000000000..948c6ef93 --- /dev/null +++ b/libgloss/libsysbase/iosupport.c -@@ -0,0 +1,138 @@ +@@ -0,0 +1,140 @@ +#include +#include +#include @@ -6202,6 +6202,8 @@ index 0000000..4f13127 + NULL, // chmod_r + NULL, // fchmod_r + NULL, // rmdir_r ++ NULL, // lstat_r ++ NULL, // utimes_r +}; + +//--------------------------------------------------------------------------------- @@ -6292,7 +6294,7 @@ index 0000000..4f13127 + diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c new file mode 100644 -index 0000000..280a457 +index 000000000..280a4579a --- /dev/null +++ b/libgloss/libsysbase/isatty.c @@ -0,0 +1,17 @@ @@ -6315,7 +6317,7 @@ index 0000000..280a457 +} diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c new file mode 100644 -index 0000000..13bd0fb +index 000000000..13bd0fba1 --- /dev/null +++ b/libgloss/libsysbase/kill.c @@ -0,0 +1,21 @@ @@ -6342,7 +6344,7 @@ index 0000000..13bd0fb +} diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c new file mode 100644 -index 0000000..1675e5c +index 000000000..1675e5c24 --- /dev/null +++ b/libgloss/libsysbase/link.c @@ -0,0 +1,33 @@ @@ -6381,7 +6383,7 @@ index 0000000..1675e5c + diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c new file mode 100644 -index 0000000..eb232c8 +index 000000000..eb232c86b --- /dev/null +++ b/libgloss/libsysbase/lseek.c @@ -0,0 +1,45 @@ @@ -6430,9 +6432,46 @@ index 0000000..eb232c8 + return ret; + +} +diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c +new file mode 100644 +index 000000000..fc393430b +--- /dev/null ++++ b/libgloss/libsysbase/lstat.c +@@ -0,0 +1,31 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++ ++//--------------------------------------------------------------------------------- ++int lstat (const char *__restrict __path, struct stat *__restrict __buf ) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++ int dev,ret; ++ ++ dev = FindDevice(__path); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->lstat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->lstat_r(r,__path,__buf); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ ret = -1; ++ r->_errno = ENODEV; ++ } ++ return ret; ++} ++ diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c new file mode 100644 -index 0000000..4565909 +index 000000000..456590956 --- /dev/null +++ b/libgloss/libsysbase/malloc_vars.c @@ -0,0 +1,2 @@ @@ -6440,7 +6479,7 @@ index 0000000..4565909 +char *fake_heap_start = (char*)0; diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c new file mode 100644 -index 0000000..b4fcbd3 +index 000000000..b4fcbd3d7 --- /dev/null +++ b/libgloss/libsysbase/mkdir.c @@ -0,0 +1,19 @@ @@ -6463,9 +6502,29 @@ index 0000000..b4fcbd3 + + return ret; +} +diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c +new file mode 100644 +index 000000000..3c96fc61b +--- /dev/null ++++ b/libgloss/libsysbase/nanosleep.c +@@ -0,0 +1,14 @@ ++#include ++#include ++#include ++ ++int nanosleep(const struct timespec *req, struct timespec *rem) ++{ ++ if ( __syscalls.nanosleep ) { ++ return __syscalls.nanosleep(req, rem); ++ } else { ++ *rem = *req; ++ errno = ENOSYS; ++ return -1; ++ } ++} diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c new file mode 100644 -index 0000000..f8d98fd +index 000000000..f8d98fd3b --- /dev/null +++ b/libgloss/libsysbase/open.c @@ -0,0 +1,53 @@ @@ -6524,7 +6583,7 @@ index 0000000..f8d98fd +} diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c new file mode 100644 -index 0000000..838a8c7 +index 000000000..838a8c796 --- /dev/null +++ b/libgloss/libsysbase/read.c @@ -0,0 +1,39 @@ @@ -6569,7 +6628,7 @@ index 0000000..838a8c7 + diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c new file mode 100644 -index 0000000..97a056a +index 000000000..97a056a72 --- /dev/null +++ b/libgloss/libsysbase/rename.c @@ -0,0 +1,34 @@ @@ -6609,7 +6668,7 @@ index 0000000..97a056a +} diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c new file mode 100644 -index 0000000..2692a29 +index 000000000..2692a2997 --- /dev/null +++ b/libgloss/libsysbase/rmdir.c @@ -0,0 +1,25 @@ @@ -6640,7 +6699,7 @@ index 0000000..2692a29 +} diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c new file mode 100644 -index 0000000..5dd550c +index 000000000..5dd550c5c --- /dev/null +++ b/libgloss/libsysbase/sbrk.c @@ -0,0 +1,60 @@ @@ -6704,9 +6763,33 @@ index 0000000..5dd550c + heap_start += incr; + return (caddr_t) prev_heap_start; +} +diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c +new file mode 100644 +index 000000000..f3aa97954 +--- /dev/null ++++ b/libgloss/libsysbase/sleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ ++ ++/* Written 2000 by Werner Almesberger */ ++ ++#include ++#include ++#include ++ ++unsigned sleep(unsigned seconds) ++{ ++ struct timespec ts; ++ ++ ts.tv_sec = seconds; ++ ts.tv_nsec = 0; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c new file mode 100644 -index 0000000..d0ad002 +index 000000000..d0ad00202 --- /dev/null +++ b/libgloss/libsysbase/stat.c @@ -0,0 +1,38 @@ @@ -6750,7 +6833,7 @@ index 0000000..d0ad002 + diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c new file mode 100644 -index 0000000..84e2213 +index 000000000..84e221340 --- /dev/null +++ b/libgloss/libsysbase/statvfs.c @@ -0,0 +1,24 @@ @@ -6780,10 +6863,10 @@ index 0000000..84e2213 +} diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c new file mode 100644 -index 0000000..044f12d +index 000000000..53fead72a --- /dev/null +++ b/libgloss/libsysbase/syscall_support.c -@@ -0,0 +1,99 @@ +@@ -0,0 +1,103 @@ +#include + +//--------------------------------------------------------------------------------- @@ -6803,6 +6886,10 @@ index 0000000..044f12d + NULL, // lock_release_recursive + NULL, // lock_close_recursive + NULL, // __getreent ++ NULL, // clock_gettime ++ NULL, // clock_settime ++ NULL, // clock_getres ++ NULL, // nanosleep +}; + +void __libc_lock_init(_LOCK_T *lock) { @@ -6885,7 +6972,7 @@ index 0000000..044f12d + diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c new file mode 100644 -index 0000000..79484e7 +index 000000000..79484e7f4 --- /dev/null +++ b/libgloss/libsysbase/times.c @@ -0,0 +1,17 @@ @@ -6908,7 +6995,7 @@ index 0000000..79484e7 + diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c new file mode 100644 -index 0000000..8495259 +index 000000000..849525990 --- /dev/null +++ b/libgloss/libsysbase/truncate.c @@ -0,0 +1,54 @@ @@ -6968,7 +7055,7 @@ index 0000000..8495259 +} diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c new file mode 100644 -index 0000000..7920b79 +index 000000000..7920b79ac --- /dev/null +++ b/libgloss/libsysbase/unlink.c @@ -0,0 +1,34 @@ @@ -7006,9 +7093,84 @@ index 0000000..7920b79 + return ret; +} + +diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c +new file mode 100644 +index 000000000..b54714775 +--- /dev/null ++++ b/libgloss/libsysbase/usleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ ++ ++/* Written 2000 by Werner Almesberger */ ++ ++#include ++#include ++#include ++ ++int usleep(useconds_t useconds) ++{ ++ struct timespec ts; ++ ++ ts.tv_sec = (long int)useconds / 1000000; ++ ts.tv_nsec = ((long int)useconds % 1000000) * 1000; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} +diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c +new file mode 100644 +index 000000000..f72bf9fc6 +--- /dev/null ++++ b/libgloss/libsysbase/utime.c +@@ -0,0 +1,45 @@ ++#include "config.h" ++ ++#include ++#include ++#include ++#include ++#include ++ ++int utimes(const char *filename, const struct timeval times[2]) ++{ ++ struct _reent *r = _REENT; ++ int dev,ret; ++ ++ dev = FindDevice(filename); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->utimes_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->utimes_r(r,filename,times); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ ret = -1; ++ r->_errno = ENODEV; ++ } ++ return ret; ++ ++ ++ ++} ++ ++ ++int utime(const char *filename, const struct utimbuf *times) ++{ ++ struct timeval t[2]; ++ if (times) { ++ t[0].tv_sec = times->actime; ++ t[0].tv_usec = 0; ++ t[1].tv_sec = times->modtime; ++ t[1].tv_usec = 0; ++ } ++ ++ return utimes(filename, t); ++} diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c new file mode 100644 -index 0000000..247486e +index 000000000..247486e42 --- /dev/null +++ b/libgloss/libsysbase/wait.c @@ -0,0 +1,24 @@ @@ -7038,7 +7200,7 @@ index 0000000..247486e + diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h new file mode 100644 -index 0000000..2c29982 +index 000000000..2c2998250 --- /dev/null +++ b/libgloss/libsysbase/warning.h @@ -0,0 +1,43 @@ @@ -7087,7 +7249,7 @@ index 0000000..2c29982 +#endif /* __WARNING_H__ */ diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c new file mode 100644 -index 0000000..61de918 +index 000000000..61de918bc --- /dev/null +++ b/libgloss/libsysbase/write.c @@ -0,0 +1,38 @@ @@ -7130,7 +7292,7 @@ index 0000000..61de918 + return ret; +} diff --git a/newlib/configure.host b/newlib/configure.host -index eb64586..d536e0d 100644 +index eb645868b..d536e0daa 100644 --- a/newlib/configure.host +++ b/newlib/configure.host @@ -624,13 +624,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID @@ -7159,40 +7321,8 @@ index eb64586..d536e0d 100644 arm*-*-pe) syscall_dir=syscalls ;; -diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h -index cbc0fa9..5326f72 100644 ---- a/newlib/libc/include/stdio.h -+++ b/newlib/libc/include/stdio.h -@@ -227,13 +227,13 @@ int fgetpos (FILE *, _fpos_t *); - #else - int fgetpos (FILE *__restrict, fpos_t *__restrict); - #endif --int fseek (FILE *, long, int); -+int fseek (FILE *, off_t, int); - #ifdef _COMPILING_NEWLIB - int fsetpos (FILE *, const _fpos_t *); - #else - int fsetpos (FILE *, const fpos_t *); - #endif --long ftell ( FILE *); -+off_t ftell ( FILE *); - void rewind (FILE *); - void clearerr (FILE *); - int feof (FILE *); -@@ -438,9 +438,9 @@ size_t _fread_r (struct _reent *, void *__restrict, size_t _size, size_t _n, FIL - size_t _fread_unlocked_r (struct _reent *, void *__restrict, size_t _size, size_t _n, FILE *__restrict); - int _fscanf_r (struct _reent *, FILE *__restrict, const char *__restrict, ...) - _ATTRIBUTE ((__format__ (__scanf__, 3, 4))); --int _fseek_r (struct _reent *, FILE *, long, int); -+int _fseek_r (struct _reent *, FILE *, off_t, int); - int _fseeko_r (struct _reent *, FILE *, _off_t, int); --long _ftell_r (struct _reent *, FILE *); -+off_t _ftell_r (struct _reent *, FILE *); - _off_t _ftello_r (struct _reent *, FILE *); - void _rewind_r (struct _reent *, FILE *); - size_t _fwrite_r (struct _reent *, const void *__restrict, size_t _size, size_t _n, FILE *__restrict); diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 2082dfd..e535f18 100644 +index 2082dfdb1..e535f189b 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h @@ -4,6 +4,9 @@ @@ -7206,7 +7336,7 @@ index 2082dfd..e535f18 100644 #define MALLOC_ALIGNMENT 16 #endif diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c0..1ead46b 100644 +index a3fb5c02c..1ead46ba0 100644 --- a/newlib/libc/include/sys/dirent.h +++ b/newlib/libc/include/sys/dirent.h @@ -1,13 +1,52 @@ @@ -7266,7 +7396,7 @@ index a3fb5c0..1ead46b 100644 + +#endif // _dirent_h_ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 2900b33..6efb54e 100644 +index 2900b332f..6efb54eb3 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h @@ -330,6 +330,9 @@ extern "C" { @@ -7281,10 +7411,10 @@ index 2900b33..6efb54e 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 0000000..cc3acdd +index 000000000..ee14d2610 --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,109 @@ +@@ -0,0 +1,112 @@ +//--------------------------------------------------------------------------------- +#ifndef __iosupp_h__ +#define __iosupp_h__ @@ -7350,6 +7480,8 @@ index 0000000..cc3acdd + int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); + int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); + int (*rmdir_r)(struct _reent *r, const char *name); ++ int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); ++ int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); + +} devoptab_t; + @@ -7373,6 +7505,7 @@ index 0000000..cc3acdd + int (*clock_gettime)(clockid_t clock_id, struct timespec *tp); + int (*clock_settime)(clockid_t clock_id, const struct timespec *tp); + int (*clock_getres)(clockid_t clock_id, struct timespec *res); ++ int (*nanosleep)(const struct timespec *req, struct timespec *rem); +} __syscalls_t; + +extern __syscalls_t __syscalls; @@ -7395,7 +7528,7 @@ index 0000000..cc3acdd +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- diff --git a/newlib/libc/include/sys/lock.h b/newlib/libc/include/sys/lock.h -index 5289049..a755d64 100644 +index 528904957..a755d6443 100644 --- a/newlib/libc/include/sys/lock.h +++ b/newlib/libc/include/sys/lock.h @@ -1,69 +1,66 @@ @@ -7530,7 +7663,7 @@ index 5289049..a755d64 100644 -#endif /* __SYS_LOCK_H__ */ +#endif // __SYS_LOCK_H__ diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 1ef2261..ce3721a 100644 +index 1ef226194..ce3721a14 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -416,6 +416,8 @@ struct _reent @@ -7550,9 +7683,24 @@ index 1ef2261..ce3721a 100644 }; #ifdef _REENT_GLOBAL_STDIO_STREAMS +diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h +index eee98db64..aed9c1746 100644 +--- a/newlib/libc/include/sys/stat.h ++++ b/newlib/libc/include/sys/stat.h +@@ -152,8 +152,9 @@ int mkfifo (const char *__path, mode_t __mode ); + int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); + mode_t umask (mode_t __mask ); + +-#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) + int lstat (const char *__restrict __path, struct stat *__restrict __buf ); ++ ++#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) + int mknod (const char *__path, mode_t __mode, dev_t __dev ); + #endif + diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h new file mode 100644 -index 0000000..380329d +index 000000000..380329d34 --- /dev/null +++ b/newlib/libc/include/sys/statvfs.h @@ -0,0 +1,35 @@ @@ -7592,8 +7740,34 @@ index 0000000..380329d + +#endif // _SYS_STATVFS_H \ No newline at end of file +diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h +index 5e937f103..635a7a6b8 100644 +--- a/newlib/libc/include/sys/utime.h ++++ b/newlib/libc/include/sys/utime.h +@@ -9,12 +9,19 @@ + extern "C" { + #endif + +-struct utimbuf ++struct utimbuf + { + time_t actime; +- time_t modtime; ++ time_t modtime; + }; + ++/* Functions */ ++ ++int utime( ++ const char *path, ++ const struct utimbuf *times ++); ++ + #ifdef __cplusplus + }; + #endif diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index baa5451..a11f894 100644 +index baa5451a6..a11f89473 100644 --- a/newlib/libc/locale/locale.c +++ b/newlib/libc/locale/locale.c @@ -91,7 +91,7 @@ beginning with <<"LC_">>. @@ -7714,7 +7888,7 @@ index baa5451..a11f894 100644 return __get_current_locale ()->ctype_ptr; } diff --git a/newlib/libc/machine/aarch64/Makefile.am b/newlib/libc/machine/aarch64/Makefile.am -index e8b8197..011f69d 100644 +index e8b8197fa..011f69d69 100644 --- a/newlib/libc/machine/aarch64/Makefile.am +++ b/newlib/libc/machine/aarch64/Makefile.am @@ -9,6 +9,7 @@ AM_CCASFLAGS = $(INCLUDES) @@ -7726,7 +7900,7 @@ index e8b8197..011f69d 100644 lib_a_SOURCES += memchr.S lib_a_SOURCES += memcmp-stub.c diff --git a/newlib/libc/machine/aarch64/Makefile.in b/newlib/libc/machine/aarch64/Makefile.in -index 39b23a1..9695124 100644 +index 39b23a1ce..969512471 100644 --- a/newlib/libc/machine/aarch64/Makefile.in +++ b/newlib/libc/machine/aarch64/Makefile.in @@ -69,22 +69,22 @@ LIBRARIES = $(noinst_LIBRARIES) @@ -7792,7 +7966,7 @@ index 39b23a1..9695124 100644 diff --git a/newlib/libc/machine/aarch64/access.c b/newlib/libc/machine/aarch64/access.c new file mode 100644 -index 0000000..980682e +index 000000000..980682ef3 --- /dev/null +++ b/newlib/libc/machine/aarch64/access.c @@ -0,0 +1,33 @@ @@ -7830,7 +8004,7 @@ index 0000000..980682e +} + diff --git a/newlib/libc/machine/arm/Makefile.am b/newlib/libc/machine/arm/Makefile.am -index 9bd35e7..7311300 100644 +index 9bd35e733..731130092 100644 --- a/newlib/libc/machine/arm/Makefile.am +++ b/newlib/libc/machine/arm/Makefile.am @@ -11,7 +11,9 @@ noinst_LIBRARIES = lib.a @@ -7845,7 +8019,7 @@ index 9bd35e7..7311300 100644 lib_a_SOURCES += memchr.S lib_a_SOURCES += memcpy-stub.c diff --git a/newlib/libc/machine/arm/Makefile.in b/newlib/libc/machine/arm/Makefile.in -index d9dbcd5..43712f8 100644 +index d9dbcd5c3..43712f813 100644 --- a/newlib/libc/machine/arm/Makefile.in +++ b/newlib/libc/machine/arm/Makefile.in @@ -75,10 +75,10 @@ am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ @@ -7889,7 +8063,7 @@ index d9dbcd5..43712f8 100644 diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c new file mode 100644 -index 0000000..3acc9e0 +index 000000000..3acc9e094 --- /dev/null +++ b/newlib/libc/machine/arm/sync_synchronize.c @@ -0,0 +1,10 @@ @@ -7905,7 +8079,7 @@ index 0000000..3acc9e0 +#endif diff --git a/newlib/libc/machine/arm/sys/stdio.h b/newlib/libc/machine/arm/sys/stdio.h new file mode 100644 -index 0000000..4eb278e +index 000000000..4eb278e2f --- /dev/null +++ b/newlib/libc/machine/arm/sys/stdio.h @@ -0,0 +1,27 @@ @@ -7937,7 +8111,7 @@ index 0000000..4eb278e + +#endif /* _NEWLIB_STDIO_H */ diff --git a/newlib/libc/reent/getreent.c b/newlib/libc/reent/getreent.c -index 5fa98e9..ef8a15e 100644 +index 5fa98e96b..ef8a15e1b 100644 --- a/newlib/libc/reent/getreent.c +++ b/newlib/libc/reent/getreent.c @@ -1,3 +1,4 @@ @@ -7952,7 +8126,7 @@ index 5fa98e9..ef8a15e 100644 +#endif \ No newline at end of file diff --git a/newlib/libc/reent/gettimeofdayr.c b/newlib/libc/reent/gettimeofdayr.c -index 9b982a9..8c0aaac 100644 +index 9b982a993..8c0aaac8c 100644 --- a/newlib/libc/reent/gettimeofdayr.c +++ b/newlib/libc/reent/gettimeofdayr.c @@ -51,7 +51,7 @@ DESCRIPTION @@ -7972,7 +8146,7 @@ index 9b982a9..8c0aaac 100644 +*/ #endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */ diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index b358d2b..29cec02 100644 +index b358d2b4a..29cec0229 100644 --- a/newlib/libc/stdio/fread.c +++ b/newlib/libc/stdio/fread.c @@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, @@ -8018,52 +8192,8 @@ index b358d2b..29cec02 100644 { /* no more input: return partial result */ #ifdef __SCLE -diff --git a/newlib/libc/stdio/fseek.c b/newlib/libc/stdio/fseek.c -index 9b3ea98..7c633e1 100644 ---- a/newlib/libc/stdio/fseek.c -+++ b/newlib/libc/stdio/fseek.c -@@ -83,7 +83,7 @@ Supporting OS subroutines required: <>, <>, <>, - int - _fseek_r (struct _reent *ptr, - register FILE *fp, -- long offset, -+ off_t offset, - int whence) - { - return _fseeko_r (ptr, fp, offset, whence); -@@ -93,7 +93,7 @@ _fseek_r (struct _reent *ptr, - - int - fseek (register FILE *fp, -- long offset, -+ off_t offset, - int whence) - { - return _fseek_r (_REENT, fp, offset, whence); -diff --git a/newlib/libc/stdio/ftell.c b/newlib/libc/stdio/ftell.c -index e4a2461..f73baab 100644 ---- a/newlib/libc/stdio/ftell.c -+++ b/newlib/libc/stdio/ftell.c -@@ -82,7 +82,7 @@ static char sccsid[] = "%W% (Berkeley) %G%"; - #include - #include "local.h" - --long -+off_t - _ftell_r (struct _reent *ptr, - register FILE * fp) - { -@@ -99,7 +99,7 @@ _ftell_r (struct _reent *ptr, - - #ifndef _REENT_ONLY - --long -+off_t - ftell (register FILE * fp) - { - return _ftell_r (_REENT, fp); diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index c4bf2db..d756df3 100644 +index c4bf2dbe3..d756df37d 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c @@ -112,6 +112,8 @@ Supporting OS subroutines required: <>, <>, <>, @@ -8094,7 +8224,7 @@ index c4bf2db..d756df3 100644 if (ch == 'S' || (flags & LONGINT)) { mbstate_t ps; diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index b972355..298f68a 100644 +index b97235559..298f68a9c 100644 --- a/newlib/libc/stdio/vfscanf.c +++ b/newlib/libc/stdio/vfscanf.c @@ -74,6 +74,8 @@ These are GNU extensions. @@ -8107,7 +8237,7 @@ index b972355..298f68a 100644 #include #include diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c -index 980b31e..722be90 100644 +index 980b31e3b..722be905e 100644 --- a/newlib/libc/stdio/vfwprintf.c +++ b/newlib/libc/stdio/vfwprintf.c @@ -92,6 +92,9 @@ SEEALSO @@ -8121,7 +8251,7 @@ index 980b31e..722be90 100644 #ifdef INTEGER_ONLY diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index c3470a1..626f137 100644 +index c3470a15c..626f13723 100644 --- a/newlib/libc/stdio/vfwscanf.c +++ b/newlib/libc/stdio/vfwscanf.c @@ -74,6 +74,9 @@ PORTABILITY @@ -8135,7 +8265,7 @@ index c3470a1..626f137 100644 #include #include diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c -index 920a7ea..ba5ee76 100644 +index 920a7ea3c..ba5ee7652 100644 --- a/newlib/libc/stdlib/mbtowc_r.c +++ b/newlib/libc/stdlib/mbtowc_r.c @@ -7,6 +7,7 @@ @@ -8148,7 +8278,7 @@ index 920a7ea..ba5ee76 100644 wchar_t *__restrict pwc, diff --git a/newlib/libc/sys/arm/include/machine/_types.h b/newlib/libc/sys/arm/include/machine/_types.h new file mode 100644 -index 0000000..40092f9 +index 000000000..40092f99f --- /dev/null +++ b/newlib/libc/sys/arm/include/machine/_types.h @@ -0,0 +1,19 @@ @@ -8173,7 +8303,7 @@ index 0000000..40092f9 + diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h new file mode 100644 -index 0000000..567fed5 +index 000000000..567fed56b --- /dev/null +++ b/newlib/libc/sys/arm/sys/lock.h @@ -0,0 +1,66 @@ @@ -8244,7 +8374,7 @@ index 0000000..567fed5 + +#endif // __SYS_LOCK_H__ diff --git a/newlib/libc/sys/arm/sys/param.h b/newlib/libc/sys/arm/sys/param.h -index 5b9464c..e8969b9 100644 +index 5b9464cca..e8969b954 100644 --- a/newlib/libc/sys/arm/sys/param.h +++ b/newlib/libc/sys/arm/sys/param.h @@ -19,6 +19,8 @@ diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index e8f5cbd..220bdeb 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -46,7 +46,7 @@ then CXXFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ LDFLAGS_FOR_TARGET="" \ ../../gcc-$GCC_VER/configure \ - --enable-languages=c,c++ \ + --enable-languages=c,c++,lto \ --with-gnu-as --with-gnu-ld --with-gcc \ --with-march=armv8\ --enable-cxx-flags='-ffunction-sections' \ @@ -57,13 +57,14 @@ then --disable-libmudflap --disable-libssp --disable-libgomp \ --disable-libstdcxx-pch \ --enable-libstdcxx-time \ + --enable-libstdcxx-filesystem-ts \ --target=$target \ --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ --enable-lto $plugin_ld\ --with-system-zlib \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 9" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 10" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } From ae6c2c125ab5cec7dd116d6a883360e91fa0315c Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 5 Jun 2018 08:36:04 +0100 Subject: [PATCH 014/280] use right tools prefix for cross builds --- build-devkit.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 47a9866..2670de1 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,7 +2,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 48 # devkitPPC release 30 -# devkitA64 release 9 +# devkitA64 release 10 #--------------------------------------------------------------------------------- if [ 1 -eq 1 ] ; then @@ -152,6 +152,7 @@ TOOLPATH=$(echo $INSTALLDIR | sed -e 's/^\([a-zA-Z]\):/\/\1/') export PATH=$PATH:$TOOLPATH/$package/bin if [ ! -z $CROSSBUILD ]; then + toolsprefix=$INSTALLDIR/$CROSSBUILD/tools prefix=$INSTALLDIR/$CROSSBUILD/$package toolsprefix=$INSTALLDIR/$CROSSBUILD/tools CROSS_PARAMS="--build=`./config.guess` --host=$CROSSBUILD" From 789ec8cf00adfc04270623386e1d1c96ff4d3131 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 8 Jun 2018 11:54:34 +0100 Subject: [PATCH 015/280] add aligned_alloc & scandir --- dka64/patches/newlib-3.0.0.patch | 126 ++++++++++++++++++++++++++++++- 1 file changed, 122 insertions(+), 4 deletions(-) diff --git a/dka64/patches/newlib-3.0.0.patch b/dka64/patches/newlib-3.0.0.patch index 1a5f43e..4ec4cb2 100644 --- a/dka64/patches/newlib-3.0.0.patch +++ b/dka64/patches/newlib-3.0.0.patch @@ -33,7 +33,7 @@ index 6da164352..f18f17447 100644 AS=${AS-as} diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in new file mode 100644 -index 000000000..48145392a +index 000000000..59d90c424 --- /dev/null +++ b/libgloss/libsysbase/Makefile.in @@ -0,0 +1,148 @@ @@ -109,7 +109,7 @@ index 000000000..48145392a + unlink.o wait.o write.o _exit.o malloc_vars.o \ + chdir.o mkdir.o rename.o statvfs.o \ + flock.o syscall_support.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ -+ fchmod.o chmod.o getreent.o rmdir.o utime.o ++ fchmod.o chmod.o getreent.o rmdir.o utime.o scandir.o + +# Object files specific to particular targets. +EVALOBJS = ${OBJS} @@ -6763,6 +6763,86 @@ index 000000000..5dd550c5c + heap_start += incr; + return (caddr_t) prev_heap_start; +} +diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c +new file mode 100644 +index 000000000..1333df4b2 +--- /dev/null ++++ b/libgloss/libsysbase/scandir.c +@@ -0,0 +1,74 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* ++ * The DIRSIZ macro gives the minimum record length which will hold ++ * the directory entry. This requires the amount of space in struct dirent ++ * without the d_name field, plus enough space for the name with a terminating ++ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. ++ */ ++#undef DIRSIZ ++#ifdef _DIRENT_HAVE_D_NAMLEN ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + (((dp)->d_namlen+1 + 3) &~ 3)) ++#else ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + ((strlen((dp)->d_name)+1 + 3) &~ 3)) ++#endif ++ ++int ++scandir (const char *dirname, ++ struct dirent ***namelist, ++ int (*filter) __P((const struct dirent *)), ++ int (*compar) __P((const struct dirent **, const struct dirent **))) ++{ ++ DIR *d = opendir(dirname); ++ ++ if (!d) return -1; ++ ++ struct dirent *de, **names = NULL, **tmp; ++ size_t cnt = 0, len = 0; ++ ++ while (de = readdir(d)) { ++ if (filter && ! filter(de)) continue; ++ if (cnt >= len) { ++ len = 2*len+1; ++ if (len > SIZE_MAX/sizeof(*names)) break; ++ tmp = realloc(names, len * sizeof(*names)); ++ if (!tmp) break; ++ names = tmp; ++ } ++ names[cnt] = malloc(DIRSIZ(de)); ++ if (!names[cnt]) break; ++ memcpy(names[cnt++], de, DIRSIZ(de)); ++ } ++ ++ closedir(d); ++ ++ if(errno) { ++ if (names) while(cnt-- > 0) free(names[cnt]); ++ free(names); ++ return -1; ++ } ++ ++ if (compar) qsort(names, cnt, sizeof(*names), (int (*)(const void *, const void *))compar); ++ ++ *namelist = names; ++ return cnt; ++} ++ ++/* ++ * Alphabetic order comparison routine for those who want it. ++ */ ++int ++alphasort (const struct dirent **d1, ++ const struct dirent **d2) ++{ ++ return(strcmp((*d1)->d_name, (*d2)->d_name)); ++} ++ diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c new file mode 100644 index 000000000..f3aa97954 @@ -7336,10 +7416,10 @@ index 2082dfdb1..e535f189b 100644 #define MALLOC_ALIGNMENT 16 #endif diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c02c..1ead46ba0 100644 +index a3fb5c02c..5debd1525 100644 --- a/newlib/libc/include/sys/dirent.h +++ b/newlib/libc/include/sys/dirent.h -@@ -1,13 +1,52 @@ +@@ -1,13 +1,58 @@ /* includes , which is this file. On a system which supports , this file is overridden by dirent.h in the libc/sys/.../sys directory. On a system which does @@ -7389,6 +7469,12 @@ index a3fb5c02c..1ead46ba0 100644 + void rewinddir(DIR *dirp); + void seekdir(DIR *dirp, long int loc); + long int telldir(DIR *dirp); ++ ++ int scandir(const char *dirp, struct dirent ***namelist, ++ int (*filter)(const struct dirent *), ++ int (*compar)(const struct dirent **, const struct dirent **)); ++ ++ int alphasort(const struct dirent **a, const struct dirent **b); + #ifdef __cplusplus } @@ -8264,6 +8350,38 @@ index c3470a15c..626f13723 100644 #include <_ansi.h> #include #include +diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c +index 88413ce86..24029a6f7 100644 +--- a/newlib/libc/stdlib/aligned_alloc.c ++++ b/newlib/libc/stdlib/aligned_alloc.c +@@ -1,5 +1,5 @@ + /*- +- * Copyright (c) 2015 embedded brains GmbH ++ * Copyright (c) 2018 Dave Murphy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without +@@ -25,14 +25,15 @@ + */ + + #include ++#include ++#include + + void * + aligned_alloc(size_t alignment, size_t size) + { +- void *p; +- int error; ++ if ((alignment !=0) && !(alignment & (alignment - 1 )) && !(size & (alignment - 1))) ++ return memalign(alignment,size); + +- error = posix_memalign(&p, alignment, size); +- +- return (error == 0 ? p : NULL); ++ errno = EINVAL; ++ return (void*)NULL; + } diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c index 920a7ea3c..ba5ee7652 100644 --- a/newlib/libc/stdlib/mbtowc_r.c From e95e74c5bbd6d12eba42abd6afe6f344421c0c20 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 5 Jun 2018 16:43:16 +0100 Subject: [PATCH 016/280] enable libstdc++fs & clock functions --- build-devkit.sh | 2 +- dkarm-eabi/patches/newlib-3.0.0.patch | 353 ++++++++++++++++++++------ dkarm-eabi/scripts/build-gcc.sh | 6 +- 3 files changed, 282 insertions(+), 79 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 2670de1..50e5605 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,6 +1,6 @@ #!/bin/bash #--------------------------------------------------------------------------------- -# devkitARM release 48 +# devkitARM release 49 # devkitPPC release 30 # devkitA64 release 10 #--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/patches/newlib-3.0.0.patch b/dkarm-eabi/patches/newlib-3.0.0.patch index d4d4bc1..06c9ee1 100644 --- a/dkarm-eabi/patches/newlib-3.0.0.patch +++ b/dkarm-eabi/patches/newlib-3.0.0.patch @@ -33,7 +33,7 @@ index 6da164352..f18f17447 100644 AS=${AS-as} diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in new file mode 100644 -index 000000000..7fd7357de +index 000000000..eaa11f765 --- /dev/null +++ b/libgloss/libsysbase/Makefile.in @@ -0,0 +1,148 @@ @@ -104,12 +104,12 @@ index 000000000..7fd7357de + else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi` + +# object files needed -+OBJS = abort.o iosupport.o close.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ -+ isatty.o kill.o link.o lseek.o open.o read.o sbrk.o stat.o times.o \ ++OBJS = abort.o iosupport.o clocks.o close.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ ++ isatty.o kill.o link.o lseek.o lstat.o nanosleep.o open.o read.o sbrk.o sleep.o stat.o usleep.o times.o \ + unlink.o wait.o write.o _exit.o malloc_vars.o \ + chdir.o mkdir.o rename.o build_argv.o statvfs.o \ + flock.o syscall_support.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ -+ fchmod.o chmod.o getreent.o rmdir.o ++ fchmod.o chmod.o getreent.o rmdir.o utime.o + +# Object files specific to particular targets. +EVALOBJS = ${OBJS} @@ -887,6 +887,46 @@ index 000000000..3668b5801 + return ret; +} + +diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c +new file mode 100644 +index 000000000..01cfee469 +--- /dev/null ++++ b/libgloss/libsysbase/clocks.c +@@ -0,0 +1,34 @@ ++#include ++#include ++#include ++ ++int clock_gettime(clockid_t clock_id, struct timespec *tp) ++{ ++ if ( __syscalls.clock_gettime ) { ++ return __syscalls.clock_gettime(clock_id, tp); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ ++int clock_settime(clockid_t clock_id, const struct timespec *tp) ++{ ++ if ( __syscalls.clock_settime ) { ++ return __syscalls.clock_settime(clock_id, tp); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ ++int clock_getres (clockid_t clock_id, struct timespec *res) ++{ ++ if ( __syscalls.clock_getres ) { ++ return __syscalls.clock_getres(clock_id, res); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c new file mode 100644 index 000000000..931ad07b1 @@ -6140,10 +6180,10 @@ index 000000000..f3fcc88f7 +} diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c new file mode 100644 -index 000000000..4f131275e +index 000000000..948c6ef93 --- /dev/null +++ b/libgloss/libsysbase/iosupport.c -@@ -0,0 +1,138 @@ +@@ -0,0 +1,140 @@ +#include +#include +#include @@ -6194,6 +6234,8 @@ index 000000000..4f131275e + NULL, // chmod_r + NULL, // fchmod_r + NULL, // rmdir_r ++ NULL, // lstat_r ++ NULL, // utimes_r +}; + +//--------------------------------------------------------------------------------- @@ -6422,6 +6464,43 @@ index 000000000..eb232c86b + return ret; + +} +diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c +new file mode 100644 +index 000000000..fc393430b +--- /dev/null ++++ b/libgloss/libsysbase/lstat.c +@@ -0,0 +1,31 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++ ++//--------------------------------------------------------------------------------- ++int lstat (const char *__restrict __path, struct stat *__restrict __buf ) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++ int dev,ret; ++ ++ dev = FindDevice(__path); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->lstat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->lstat_r(r,__path,__buf); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ ret = -1; ++ r->_errno = ENODEV; ++ } ++ return ret; ++} ++ diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c new file mode 100644 index 000000000..456590956 @@ -6455,6 +6534,26 @@ index 000000000..b4fcbd3d7 + + return ret; +} +diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c +new file mode 100644 +index 000000000..3c96fc61b +--- /dev/null ++++ b/libgloss/libsysbase/nanosleep.c +@@ -0,0 +1,14 @@ ++#include ++#include ++#include ++ ++int nanosleep(const struct timespec *req, struct timespec *rem) ++{ ++ if ( __syscalls.nanosleep ) { ++ return __syscalls.nanosleep(req, rem); ++ } else { ++ *rem = *req; ++ errno = ENOSYS; ++ return -1; ++ } ++} diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c new file mode 100644 index 000000000..f8d98fd3b @@ -6696,6 +6795,30 @@ index 000000000..5dd550c5c + heap_start += incr; + return (caddr_t) prev_heap_start; +} +diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c +new file mode 100644 +index 000000000..f3aa97954 +--- /dev/null ++++ b/libgloss/libsysbase/sleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ ++ ++/* Written 2000 by Werner Almesberger */ ++ ++#include ++#include ++#include ++ ++unsigned sleep(unsigned seconds) ++{ ++ struct timespec ts; ++ ++ ts.tv_sec = seconds; ++ ts.tv_nsec = 0; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c new file mode 100644 index 000000000..d0ad00202 @@ -6772,10 +6895,10 @@ index 000000000..84e221340 +} diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c new file mode 100644 -index 000000000..044f12d16 +index 000000000..53fead72a --- /dev/null +++ b/libgloss/libsysbase/syscall_support.c -@@ -0,0 +1,99 @@ +@@ -0,0 +1,103 @@ +#include + +//--------------------------------------------------------------------------------- @@ -6795,6 +6918,10 @@ index 000000000..044f12d16 + NULL, // lock_release_recursive + NULL, // lock_close_recursive + NULL, // __getreent ++ NULL, // clock_gettime ++ NULL, // clock_settime ++ NULL, // clock_getres ++ NULL, // nanosleep +}; + +void __libc_lock_init(_LOCK_T *lock) { @@ -6998,6 +7125,81 @@ index 000000000..7920b79ac + return ret; +} + +diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c +new file mode 100644 +index 000000000..b54714775 +--- /dev/null ++++ b/libgloss/libsysbase/usleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ ++ ++/* Written 2000 by Werner Almesberger */ ++ ++#include ++#include ++#include ++ ++int usleep(useconds_t useconds) ++{ ++ struct timespec ts; ++ ++ ts.tv_sec = (long int)useconds / 1000000; ++ ts.tv_nsec = ((long int)useconds % 1000000) * 1000; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} +diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c +new file mode 100644 +index 000000000..f72bf9fc6 +--- /dev/null ++++ b/libgloss/libsysbase/utime.c +@@ -0,0 +1,45 @@ ++#include "config.h" ++ ++#include ++#include ++#include ++#include ++#include ++ ++int utimes(const char *filename, const struct timeval times[2]) ++{ ++ struct _reent *r = _REENT; ++ int dev,ret; ++ ++ dev = FindDevice(filename); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->utimes_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->utimes_r(r,filename,times); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ ret = -1; ++ r->_errno = ENODEV; ++ } ++ return ret; ++ ++ ++ ++} ++ ++ ++int utime(const char *filename, const struct utimbuf *times) ++{ ++ struct timeval t[2]; ++ if (times) { ++ t[0].tv_sec = times->actime; ++ t[0].tv_usec = 0; ++ t[1].tv_sec = times->modtime; ++ t[1].tv_usec = 0; ++ } ++ ++ return utimes(filename, t); ++} diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c new file mode 100644 index 000000000..247486e42 @@ -7141,37 +7343,18 @@ index eb645868b..9cb69fde9 100644 syscall_dir=syscalls ;; diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h -index cbc0fa989..5de5d1b81 100644 +index cbc0fa989..10960f912 100644 --- a/newlib/libc/include/stdio.h +++ b/newlib/libc/include/stdio.h -@@ -227,13 +227,13 @@ int fgetpos (FILE *, _fpos_t *); - #else - int fgetpos (FILE *__restrict, fpos_t *__restrict); - #endif --int fseek (FILE *, long, int); -+int fseek (FILE *, off_t, int); - #ifdef _COMPILING_NEWLIB - int fsetpos (FILE *, const _fpos_t *); +@@ -233,7 +233,7 @@ int fsetpos (FILE *, const _fpos_t *); #else int fsetpos (FILE *, const fpos_t *); #endif -long ftell ( FILE *); -+off_t ftell ( FILE *); ++long ftell ( FILE *); void rewind (FILE *); void clearerr (FILE *); int feof (FILE *); -@@ -438,9 +438,9 @@ size_t _fread_r (struct _reent *, void *__restrict, size_t _size, size_t _n, FIL - size_t _fread_unlocked_r (struct _reent *, void *__restrict, size_t _size, size_t _n, FILE *__restrict); - int _fscanf_r (struct _reent *, FILE *__restrict, const char *__restrict, ...) - _ATTRIBUTE ((__format__ (__scanf__, 3, 4))); --int _fseek_r (struct _reent *, FILE *, long, int); -+int _fseek_r (struct _reent *, FILE *, off_t, int); - int _fseeko_r (struct _reent *, FILE *, _off_t, int); --long _ftell_r (struct _reent *, FILE *); -+off_t _ftell_r (struct _reent *, FILE *); - _off_t _ftello_r (struct _reent *, FILE *); - void _rewind_r (struct _reent *, FILE *); - size_t _fwrite_r (struct _reent *, const void *__restrict, size_t _size, size_t _n, FILE *__restrict); diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h index 2082dfdb1..e535f189b 100644 --- a/newlib/libc/include/sys/config.h @@ -7246,12 +7429,26 @@ index a3fb5c02c..1ead46ba0 100644 #endif + +#endif // _dirent_h_ +diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h +index 2900b332f..6efb54eb3 100644 +--- a/newlib/libc/include/sys/features.h ++++ b/newlib/libc/include/sys/features.h +@@ -330,6 +330,9 @@ extern "C" { + # define __SSP_FORTIFY_LEVEL 0 + #endif + ++#define _POSIX_MONOTONIC_CLOCK 200112L ++#define _POSIX_TIMERS 1 ++ + /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ + + #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..10a6a716d +index 000000000..ee14d2610 --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,105 @@ +@@ -0,0 +1,112 @@ +//--------------------------------------------------------------------------------- +#ifndef __iosupp_h__ +#define __iosupp_h__ @@ -7264,6 +7461,7 @@ index 000000000..10a6a716d +#include +#include +#include ++#include + +enum { + STD_IN, @@ -7316,6 +7514,8 @@ index 000000000..10a6a716d + int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); + int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); + int (*rmdir_r)(struct _reent *r, const char *name); ++ int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); ++ int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); + +} devoptab_t; + @@ -7336,6 +7536,10 @@ index 000000000..10a6a716d + void (*lock_release_recursive) (_LOCK_RECURSIVE_T *lock); + void (*lock_close_recursive) (_LOCK_RECURSIVE_T *lock); + struct _reent *(*getreent) (); ++ int (*clock_gettime)(clockid_t clock_id, struct timespec *tp); ++ int (*clock_settime)(clockid_t clock_id, const struct timespec *tp); ++ int (*clock_getres)(clockid_t clock_id, struct timespec *res); ++ int (*nanosleep)(const struct timespec *req, struct timespec *rem); +} __syscalls_t; + +extern __syscalls_t __syscalls; @@ -7378,6 +7582,21 @@ index 1ef226194..ce3721a14 100644 }; #ifdef _REENT_GLOBAL_STDIO_STREAMS +diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h +index eee98db64..aed9c1746 100644 +--- a/newlib/libc/include/sys/stat.h ++++ b/newlib/libc/include/sys/stat.h +@@ -152,8 +152,9 @@ int mkfifo (const char *__path, mode_t __mode ); + int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); + mode_t umask (mode_t __mask ); + +-#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) + int lstat (const char *__restrict __path, struct stat *__restrict __buf ); ++ ++#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) + int mknod (const char *__path, mode_t __mode, dev_t __dev ); + #endif + diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h new file mode 100644 index 000000000..380329d34 @@ -7420,6 +7639,32 @@ index 000000000..380329d34 + +#endif // _SYS_STATVFS_H \ No newline at end of file +diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h +index 5e937f103..635a7a6b8 100644 +--- a/newlib/libc/include/sys/utime.h ++++ b/newlib/libc/include/sys/utime.h +@@ -9,12 +9,19 @@ + extern "C" { + #endif + +-struct utimbuf ++struct utimbuf + { + time_t actime; +- time_t modtime; ++ time_t modtime; + }; + ++/* Functions */ ++ ++int utime( ++ const char *path, ++ const struct utimbuf *times ++); ++ + #ifdef __cplusplus + }; + #endif diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c index baa5451a6..a11f89473 100644 --- a/newlib/libc/locale/locale.c @@ -7730,50 +7975,6 @@ index b358d2b4a..29cec0229 100644 { /* no more input: return partial result */ #ifdef __SCLE -diff --git a/newlib/libc/stdio/fseek.c b/newlib/libc/stdio/fseek.c -index 9b3ea986c..7c633e11f 100644 ---- a/newlib/libc/stdio/fseek.c -+++ b/newlib/libc/stdio/fseek.c -@@ -83,7 +83,7 @@ Supporting OS subroutines required: <>, <>, <>, - int - _fseek_r (struct _reent *ptr, - register FILE *fp, -- long offset, -+ off_t offset, - int whence) - { - return _fseeko_r (ptr, fp, offset, whence); -@@ -93,7 +93,7 @@ _fseek_r (struct _reent *ptr, - - int - fseek (register FILE *fp, -- long offset, -+ off_t offset, - int whence) - { - return _fseek_r (_REENT, fp, offset, whence); -diff --git a/newlib/libc/stdio/ftell.c b/newlib/libc/stdio/ftell.c -index e4a246199..f73baab68 100644 ---- a/newlib/libc/stdio/ftell.c -+++ b/newlib/libc/stdio/ftell.c -@@ -82,7 +82,7 @@ static char sccsid[] = "%W% (Berkeley) %G%"; - #include - #include "local.h" - --long -+off_t - _ftell_r (struct _reent *ptr, - register FILE * fp) - { -@@ -99,7 +99,7 @@ _ftell_r (struct _reent *ptr, - - #ifndef _REENT_ONLY - --long -+off_t - ftell (register FILE * fp) - { - return _ftell_r (_REENT, fp); diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c index c4bf2dbe3..d756df37d 100644 --- a/newlib/libc/stdio/vfprintf.c diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 44b731e..d3a095f 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -12,7 +12,7 @@ if [ ! -f configured-binutils ] then CFLAGS=$cflags LDFLAGS=$ldflags ../../binutils-$BINUTILS_VER/configure \ --prefix=$prefix --target=$target --disable-nls --disable-werror \ - --enable-lto --enable-plugins --enable-poison-system-directories \ + --enable-lto --enable-plugins --enable-gold \ $CROSS_PARAMS \ || { echo "Error configuring binutils"; exit 1; } touch configured-binutils @@ -56,13 +56,15 @@ then --enable-threads --disable-win32-registry --disable-nls --disable-debug\ --disable-libmudflap --disable-libssp --disable-libgomp \ --disable-libstdcxx-pch \ + --enable-libstdcxx-time=yes \ + --enable-libstdcxx-filesystem-ts \ --target=$target \ --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ --enable-lto\ --with-system-zlib \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 48" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 49" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } From 5fcb44fb8f6a29ccbfc87c798bab67abfdb6f93e Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 5 Jun 2018 16:45:17 +0100 Subject: [PATCH 017/280] use CPPFLAGS for extra macros --- build-devkit.sh | 12 ++++++++---- dkarm-eabi/scripts/build-gcc.sh | 8 +++----- dkarm-eabi/scripts/build-tools.sh | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 50e5605..afd5481 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -175,22 +175,26 @@ PLATFORM=`uname -s` case $PLATFORM in Darwin ) - cflags="-mmacosx-version-min=${OSXMIN} -I/usr/local/include" + cppflags="-mmacosx-version-min=${OSXMIN} -I/usr/local/include" ldflags="-mmacosx-version-min=${OSXMIN} -L/usr/local/lib" if [ "x${OSXSDKPATH}x" != "xx" ]; then - cflags="$cflags -isysroot ${OSXSDKPATH}" + cppflags="$cppflags -isysroot ${OSXSDKPATH}" ldflags="$ldflags -Wl,-syslibroot,${OSXSDKPATH}" fi TESTCC=`cc -v 2>&1 | grep clang` if [ "x${TESTCC}x" != "xx" ]; then - cflags="$cflags -fbracket-depth=512" + cppflags="$cppflags -fbracket-depth=512" fi ;; MINGW32* ) - cflags="-D__USE_MINGW_ACCESS" + cppflags="-D__USE_MINGW_ACCESS" ;; esac +if [ ! -z $CROSSBUILD ] && grep -q "mingw" <<<"$CROSSBUILD" ; then + cppflags="-D__USE_MINGW_ACCESS -D__USE_MINGW_ANSI_STDIO=1" +fi + BUILDSCRIPTDIR=$(pwd) BUILDDIR=$(pwd)/.$package diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index d3a095f..04d32b8 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -10,7 +10,7 @@ cd $target/binutils if [ ! -f configured-binutils ] then - CFLAGS=$cflags LDFLAGS=$ldflags ../../binutils-$BINUTILS_VER/configure \ + CPPFLAGS="$cppflags $CPPFLAGS" LDFLAGS=$ldflags ../../binutils-$BINUTILS_VER/configure \ --prefix=$prefix --target=$target --disable-nls --disable-werror \ --enable-lto --enable-plugins --enable-gold \ $CROSS_PARAMS \ @@ -39,8 +39,7 @@ cd $target/gcc if [ ! -f configured-gcc ] then - CFLAGS="$cflags" \ - CXXFLAGS="$cflags" \ + CPPFLAGS="$cppflags $CPPFLAGS" \ LDFLAGS="$ldflags" \ CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ CXXFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ @@ -194,8 +193,7 @@ PLATFORM=`uname -s` if [ ! -f configured-gdb ] then - CFLAGS="$cflags" \ - CXXFLAGS="$cflags" \ + CPPFLAGS="$cppflags $CPPFLAGS" \ LDFLAGS="$ldflags" \ ../../gdb-$GDB_VER/configure \ --disable-nls --prefix=$prefix --target=$target --disable-werror \ diff --git a/dkarm-eabi/scripts/build-tools.sh b/dkarm-eabi/scripts/build-tools.sh index 273c9bb..fbd61b4 100755 --- a/dkarm-eabi/scripts/build-tools.sh +++ b/dkarm-eabi/scripts/build-tools.sh @@ -6,7 +6,7 @@ do dir=$(echo $archive | sed -e 's/\(.*\)\.tar\.bz2/\1/' ) cd $BUILDDIR/$dir if [ ! -f configured ]; then - CXXFLAGS=$cflags CFLAGS=$cflags LDFLAGS=$ldflags ./configure --prefix=$toolsprefix $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } + CPPFLAGS="$cppflags $CPPFLAGS" ./configure --prefix=$toolsprefix $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } touch configured fi if [ ! -f built ]; then From b40a9147a583b515d6f5cca1a28b5bede74a8bc1 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 11 Jun 2018 11:06:21 +0100 Subject: [PATCH 018/280] restore poison system directories --- dkarm-eabi/scripts/build-gcc.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 04d32b8..bd2f3dd 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -13,6 +13,7 @@ then CPPFLAGS="$cppflags $CPPFLAGS" LDFLAGS=$ldflags ../../binutils-$BINUTILS_VER/configure \ --prefix=$prefix --target=$target --disable-nls --disable-werror \ --enable-lto --enable-plugins --enable-gold \ + --enable-poison-system-directories \ $CROSS_PARAMS \ || { echo "Error configuring binutils"; exit 1; } touch configured-binutils From f0c6240d85f4908882b866a9598fcafd11879327 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 11 Jun 2018 11:06:42 +0100 Subject: [PATCH 019/280] add scandir --- dkarm-eabi/patches/newlib-3.0.0.patch | 126 +++++++++++++++++++++++++- 1 file changed, 122 insertions(+), 4 deletions(-) diff --git a/dkarm-eabi/patches/newlib-3.0.0.patch b/dkarm-eabi/patches/newlib-3.0.0.patch index 06c9ee1..9b10ce7 100644 --- a/dkarm-eabi/patches/newlib-3.0.0.patch +++ b/dkarm-eabi/patches/newlib-3.0.0.patch @@ -33,7 +33,7 @@ index 6da164352..f18f17447 100644 AS=${AS-as} diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in new file mode 100644 -index 000000000..eaa11f765 +index 000000000..0d2be31c6 --- /dev/null +++ b/libgloss/libsysbase/Makefile.in @@ -0,0 +1,148 @@ @@ -109,7 +109,7 @@ index 000000000..eaa11f765 + unlink.o wait.o write.o _exit.o malloc_vars.o \ + chdir.o mkdir.o rename.o build_argv.o statvfs.o \ + flock.o syscall_support.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ -+ fchmod.o chmod.o getreent.o rmdir.o utime.o ++ fchmod.o chmod.o getreent.o rmdir.o utime.o scandir.o + +# Object files specific to particular targets. +EVALOBJS = ${OBJS} @@ -6795,6 +6795,86 @@ index 000000000..5dd550c5c + heap_start += incr; + return (caddr_t) prev_heap_start; +} +diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c +new file mode 100644 +index 000000000..1333df4b2 +--- /dev/null ++++ b/libgloss/libsysbase/scandir.c +@@ -0,0 +1,74 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* ++ * The DIRSIZ macro gives the minimum record length which will hold ++ * the directory entry. This requires the amount of space in struct dirent ++ * without the d_name field, plus enough space for the name with a terminating ++ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. ++ */ ++#undef DIRSIZ ++#ifdef _DIRENT_HAVE_D_NAMLEN ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + (((dp)->d_namlen+1 + 3) &~ 3)) ++#else ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + ((strlen((dp)->d_name)+1 + 3) &~ 3)) ++#endif ++ ++int ++scandir (const char *dirname, ++ struct dirent ***namelist, ++ int (*filter) __P((const struct dirent *)), ++ int (*compar) __P((const struct dirent **, const struct dirent **))) ++{ ++ DIR *d = opendir(dirname); ++ ++ if (!d) return -1; ++ ++ struct dirent *de, **names = NULL, **tmp; ++ size_t cnt = 0, len = 0; ++ ++ while (de = readdir(d)) { ++ if (filter && ! filter(de)) continue; ++ if (cnt >= len) { ++ len = 2*len+1; ++ if (len > SIZE_MAX/sizeof(*names)) break; ++ tmp = realloc(names, len * sizeof(*names)); ++ if (!tmp) break; ++ names = tmp; ++ } ++ names[cnt] = malloc(DIRSIZ(de)); ++ if (!names[cnt]) break; ++ memcpy(names[cnt++], de, DIRSIZ(de)); ++ } ++ ++ closedir(d); ++ ++ if(errno) { ++ if (names) while(cnt-- > 0) free(names[cnt]); ++ free(names); ++ return -1; ++ } ++ ++ if (compar) qsort(names, cnt, sizeof(*names), (int (*)(const void *, const void *))compar); ++ ++ *namelist = names; ++ return cnt; ++} ++ ++/* ++ * Alphabetic order comparison routine for those who want it. ++ */ ++int ++alphasort (const struct dirent **d1, ++ const struct dirent **d2) ++{ ++ return(strcmp((*d1)->d_name, (*d2)->d_name)); ++} ++ diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c new file mode 100644 index 000000000..f3aa97954 @@ -7370,10 +7450,10 @@ index 2082dfdb1..e535f189b 100644 #define MALLOC_ALIGNMENT 16 #endif diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c02c..1ead46ba0 100644 +index a3fb5c02c..5debd1525 100644 --- a/newlib/libc/include/sys/dirent.h +++ b/newlib/libc/include/sys/dirent.h -@@ -1,13 +1,52 @@ +@@ -1,13 +1,58 @@ /* includes , which is this file. On a system which supports , this file is overridden by dirent.h in the libc/sys/.../sys directory. On a system which does @@ -7423,6 +7503,12 @@ index a3fb5c02c..1ead46ba0 100644 + void rewinddir(DIR *dirp); + void seekdir(DIR *dirp, long int loc); + long int telldir(DIR *dirp); ++ ++ int scandir(const char *dirp, struct dirent ***namelist, ++ int (*filter)(const struct dirent *), ++ int (*compar)(const struct dirent **, const struct dirent **)); ++ ++ int alphasort(const struct dirent **a, const struct dirent **b); + #ifdef __cplusplus } @@ -8047,6 +8133,38 @@ index c3470a15c..626f13723 100644 #include <_ansi.h> #include #include +diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c +index 88413ce86..24029a6f7 100644 +--- a/newlib/libc/stdlib/aligned_alloc.c ++++ b/newlib/libc/stdlib/aligned_alloc.c +@@ -1,5 +1,5 @@ + /*- +- * Copyright (c) 2015 embedded brains GmbH ++ * Copyright (c) 2018 Dave Murphy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without +@@ -25,14 +25,15 @@ + */ + + #include ++#include ++#include + + void * + aligned_alloc(size_t alignment, size_t size) + { +- void *p; +- int error; ++ if ((alignment !=0) && !(alignment & (alignment - 1 )) && !(size & (alignment - 1))) ++ return memalign(alignment,size); + +- error = posix_memalign(&p, alignment, size); +- +- return (error == 0 ? p : NULL); ++ errno = EINVAL; ++ return (void*)NULL; + } diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c index 920a7ea3c..ba5ee7652 100644 --- a/newlib/libc/stdlib/mbtowc_r.c From 0c2e648a04f4e1c6757be7a9c9e8b587a1828df2 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 11 Jun 2018 13:27:09 +0100 Subject: [PATCH 020/280] add lto to languages --- dkarm-eabi/scripts/build-gcc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index bd2f3dd..f25781a 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -46,7 +46,7 @@ then CXXFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ LDFLAGS_FOR_TARGET="" \ ../../gcc-$GCC_VER/configure \ - --enable-languages=c,c++ \ + --enable-languages=c,c++,lto \ --with-gnu-as --with-gnu-ld --with-gcc \ --with-march=armv4t\ --enable-cxx-flags='-ffunction-sections' \ From afe1a727bc54a69cb9e0fbdc1599702e5d50791c Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 12 Jun 2018 13:44:52 +0100 Subject: [PATCH 021/280] Enable scripts for release --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index afd5481..c38285d 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -5,7 +5,7 @@ # devkitA64 release 10 #--------------------------------------------------------------------------------- -if [ 1 -eq 1 ] ; then +if [ 0 -eq 1 ] ; then echo "Please use the latest release buildscripts unless advised otherwise by devkitPro staff." echo "https://github.com/devkitPro/buildscripts/releases/latest" echo From 3fde421759ba3e4c054830d82c24857d0cb6deb1 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 27 May 2018 23:02:15 +0000 Subject: [PATCH 022/280] add support for libstdc++ gthreads courtesy of exjam --- dkppc/patches/gcc-8.1.0.patch | 748 ++++++++++++++++++++++++++++++---- dkppc/scripts/build-gcc.sh | 8 +- 2 files changed, 677 insertions(+), 79 deletions(-) diff --git a/dkppc/patches/gcc-8.1.0.patch b/dkppc/patches/gcc-8.1.0.patch index f6eb97b..1c89740 100644 --- a/dkppc/patches/gcc-8.1.0.patch +++ b/dkppc/patches/gcc-8.1.0.patch @@ -1,6 +1,32 @@ -diff -NBaur gcc-8.1.0/gcc/config/rs6000/rs6000.h gcc-8.1.0-ppc/gcc/config/rs6000/rs6000.h ---- gcc-8.1.0/gcc/config/rs6000/rs6000.h 2018-04-10 18:59:52.000000000 +0100 -+++ gcc-8.1.0-ppc/gcc/config/rs6000/rs6000.h 2018-05-14 03:54:39.523821687 +0100 +diff --git a/config/gthr.m4 b/config/gthr.m4 +index 7b29f1f..814104f 100644 +--- a/config/gthr.m4 ++++ b/config/gthr.m4 +@@ -12,6 +12,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER], + [ + case $1 in + aix) thread_header=config/rs6000/gthr-aix.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + dce) thread_header=config/pa/gthr-dce.h ;; + lynx) thread_header=config/gthr-lynx.h ;; + mipssde) thread_header=config/mips/gthr-mipssde.h ;; +diff --git a/gcc/config.gcc b/gcc/config.gcc +index a5defb0..d714072 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -2459,7 +2459,7 @@ powerpc-xilinx-eabi*) + use_gcc_stdint=wrap + ;; + powerpc-*-eabi*) +- tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h" ++ tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/750cl.h" + extra_options="${extra_options} rs6000/sysv4.opt" + tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" + use_gcc_stdint=wrap +diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h +index b9b58a8..7c86ac6 100644 +--- a/gcc/config/rs6000/rs6000.h ++++ b/gcc/config/rs6000/rs6000.h @@ -205,6 +205,7 @@ { "asm_cpu_476", ASM_CPU_476_SPEC }, \ SUBTARGET_EXTRA_SPECS @@ -9,7 +35,7 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/rs6000.h gcc-8.1.0-ppc/gcc/config/rs6000 /* -mcpu=native handling only makes sense with compiler running on an PowerPC chip. If changing this condition, also change the condition in driver-rs6000.c. */ -@@ -219,6 +220,8 @@ +@@ -219,6 +220,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); #else #define ASM_CPU_NATIVE_SPEC "%(asm_default)" #endif @@ -18,10 +44,11 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/rs6000.h gcc-8.1.0-ppc/gcc/config/rs6000 #ifndef CC1_CPU_SPEC #ifdef HAVE_LOCAL_CPU_DETECT -diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.h gcc-8.1.0-ppc/gcc/config/rs6000/sysv4.h ---- gcc-8.1.0/gcc/config/rs6000/sysv4.h 2018-01-03 10:03:58.000000000 +0000 -+++ gcc-8.1.0-ppc/gcc/config/rs6000/sysv4.h 2018-05-14 03:54:39.539914747 +0100 -@@ -565,7 +565,12 @@ +diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h +index bb19d0d..ff5f80b 100644 +--- a/gcc/config/rs6000/sysv4.h ++++ b/gcc/config/rs6000/sysv4.h +@@ -565,7 +565,12 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) /* Default starting address if specified. */ #define LINK_START_SPEC "\ @@ -35,7 +62,7 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.h gcc-8.1.0-ppc/gcc/config/rs6000/ myellowknife : %(link_start_yellowknife) ; \ mmvme : %(link_start_mvme) ; \ msim : %(link_start_sim) ; \ -@@ -596,7 +601,9 @@ +@@ -596,7 +601,9 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) /* Any specific OS flags. */ #define LINK_OS_SPEC "\ @@ -46,7 +73,7 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.h gcc-8.1.0-ppc/gcc/config/rs6000/ myellowknife : %(link_os_yellowknife) ; \ mmvme : %(link_os_mvme) ; \ msim : %(link_os_sim) ; \ -@@ -614,7 +621,11 @@ +@@ -614,7 +621,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) /* Override rs6000.h definition. */ #undef CPP_SPEC #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ @@ -59,7 +86,7 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.h gcc-8.1.0-ppc/gcc/config/rs6000/ myellowknife : %(cpp_os_yellowknife) ; \ mmvme : %(cpp_os_mvme) ; \ msim : %(cpp_os_sim) ; \ -@@ -628,7 +639,11 @@ +@@ -628,7 +639,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) #undef STARTFILE_SPEC #define STARTFILE_SPEC "\ @@ -72,7 +99,7 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.h gcc-8.1.0-ppc/gcc/config/rs6000/ myellowknife : %(startfile_yellowknife) ; \ mmvme : %(startfile_mvme) ; \ msim : %(startfile_sim) ; \ -@@ -642,7 +657,9 @@ +@@ -642,7 +657,9 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) #undef LIB_SPEC #define LIB_SPEC "\ @@ -83,7 +110,7 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.h gcc-8.1.0-ppc/gcc/config/rs6000/ myellowknife : %(lib_yellowknife) ; \ mmvme : %(lib_mvme) ; \ msim : %(lib_sim) ; \ -@@ -652,11 +669,13 @@ +@@ -652,11 +669,13 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) mcall-openbsd: %(lib_openbsd) ; \ : %(lib_default) }" @@ -99,7 +126,7 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.h gcc-8.1.0-ppc/gcc/config/rs6000/ myellowknife : %(endfile_yellowknife) ; \ mmvme : %(endfile_mvme) ; \ msim : %(endfile_sim) ; \ -@@ -672,16 +691,33 @@ +@@ -672,16 +691,33 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) /* Motorola ADS support. */ #define LIB_ADS_SPEC "--start-group -lads -lc --end-group" @@ -133,7 +160,7 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.h gcc-8.1.0-ppc/gcc/config/rs6000/ /* Motorola Yellowknife support. */ #define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" -@@ -882,6 +918,8 @@ +@@ -882,6 +918,8 @@ ncrtn.o%s" #undef SUBTARGET_EXTRA_SPECS #define SUBTARGET_EXTRA_SPECS \ { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ @@ -142,7 +169,7 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.h gcc-8.1.0-ppc/gcc/config/rs6000/ { "lib_ads", LIB_ADS_SPEC }, \ { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ { "lib_mvme", LIB_MVME_SPEC }, \ -@@ -891,6 +929,8 @@ +@@ -891,6 +929,8 @@ ncrtn.o%s" { "lib_netbsd", LIB_NETBSD_SPEC }, \ { "lib_openbsd", LIB_OPENBSD_SPEC }, \ { "lib_default", LIB_DEFAULT_SPEC }, \ @@ -151,7 +178,7 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.h gcc-8.1.0-ppc/gcc/config/rs6000/ { "startfile_ads", STARTFILE_ADS_SPEC }, \ { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ { "startfile_mvme", STARTFILE_MVME_SPEC }, \ -@@ -900,6 +940,8 @@ +@@ -900,6 +940,8 @@ ncrtn.o%s" { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ @@ -160,7 +187,7 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.h gcc-8.1.0-ppc/gcc/config/rs6000/ { "endfile_ads", ENDFILE_ADS_SPEC }, \ { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ { "endfile_mvme", ENDFILE_MVME_SPEC }, \ -@@ -911,7 +953,12 @@ +@@ -911,7 +953,12 @@ ncrtn.o%s" { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ { "link_shlib", LINK_SHLIB_SPEC }, \ { "link_start", LINK_START_SPEC }, \ @@ -173,7 +200,7 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.h gcc-8.1.0-ppc/gcc/config/rs6000/ { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ { "link_start_mvme", LINK_START_MVME_SPEC }, \ { "link_start_sim", LINK_START_SIM_SPEC }, \ -@@ -921,6 +968,8 @@ +@@ -921,6 +968,8 @@ ncrtn.o%s" { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ { "link_start_default", LINK_START_DEFAULT_SPEC }, \ { "link_os", LINK_OS_SPEC }, \ @@ -182,7 +209,7 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.h gcc-8.1.0-ppc/gcc/config/rs6000/ { "link_os_ads", LINK_OS_ADS_SPEC }, \ { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ { "link_os_mvme", LINK_OS_MVME_SPEC }, \ -@@ -932,6 +981,10 @@ +@@ -932,6 +981,10 @@ ncrtn.o%s" { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ { "link_secure_plt", LINK_SECURE_PLT_SPEC }, \ @@ -193,10 +220,11 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.h gcc-8.1.0-ppc/gcc/config/rs6000/ { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ -diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.opt gcc-8.1.0-ppc/gcc/config/rs6000/sysv4.opt ---- gcc-8.1.0/gcc/config/rs6000/sysv4.opt 2018-04-11 16:25:42.000000000 +0100 -+++ gcc-8.1.0-ppc/gcc/config/rs6000/sysv4.opt 2018-05-14 03:54:39.539914747 +0100 -@@ -124,6 +124,30 @@ +diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt +index 34fea0d..9451447 100644 +--- a/gcc/config/rs6000/sysv4.opt ++++ b/gcc/config/rs6000/sysv4.opt +@@ -124,6 +124,30 @@ mads Target RejectNegative Link with libads.a, libc.a and crt0.o. @@ -227,48 +255,36 @@ diff -NBaur gcc-8.1.0/gcc/config/rs6000/sysv4.opt gcc-8.1.0-ppc/gcc/config/rs600 myellowknife Target RejectNegative Link with libyk.a, libc.a and crt0.o. -diff -NBaur gcc-8.1.0/gcc/config.gcc gcc-8.1.0-ppc/gcc/config.gcc ---- gcc-8.1.0/gcc/config.gcc 2018-04-27 20:31:35.000000000 +0100 -+++ gcc-8.1.0-ppc/gcc/config.gcc 2018-05-14 03:58:47.902895652 +0100 -@@ -2459,7 +2459,7 @@ - use_gcc_stdint=wrap - ;; - powerpc-*-eabi*) -- tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h" -+ tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/750cl.h" - extra_options="${extra_options} rs6000/sysv4.opt" - tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" - use_gcc_stdint=wrap -diff -NBaur gcc-8.1.0/gcc/Makefile.in gcc-8.1.0-ppc/gcc/Makefile.in ---- gcc-8.1.0/gcc/Makefile.in 2018-03-09 15:24:44.000000000 +0000 -+++ gcc-8.1.0-ppc/gcc/Makefile.in 2018-05-14 03:54:39.539914747 +0100 -@@ -1098,8 +1098,8 @@ - # things like the go/%.o rule work properly; but we use $(*F) for the - # file part, as we just want the file part of the stem, not the entire - # file name. --COMPILE = $(COMPILE.base) -MT $@ -MMD -MP -MF $(@D)/$(DEPDIR)/$(*F).TPo --POSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(*F).TPo $(@D)/$(DEPDIR)/$(*F).Po -+COMPILE = $(COMPILE.base) -+POSTCOMPILE = - else - COMPILE = source='$<' object='$@' libtool=no \ - DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) $(COMPILE.base) -diff -NBaur gcc-8.1.0/libcpp/Makefile.in gcc-8.1.0-ppc/libcpp/Makefile.in ---- gcc-8.1.0/libcpp/Makefile.in 2018-05-02 09:19:58.000000000 +0100 -+++ gcc-8.1.0-ppc/libcpp/Makefile.in 2018-05-14 03:54:39.543938012 +0100 -@@ -208,8 +208,7 @@ - # Note that we put the dependencies into a .Tpo file, then move them - # into place if the compile succeeds. We need this because gcc does - # not atomically write the dependency output file. --COMPILE = $(COMPILE.base) -o $@ -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Tpo --POSTCOMPILE = @mv $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+COMPILE = $(COMPILE.base) -o $@ - else - COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \ - $(depcomp) $(COMPILE.base) -diff -NBaur gcc-8.1.0/libgcc/config/rs6000/crtrestvr.S gcc-8.1.0-ppc/libgcc/config/rs6000/crtrestvr.S ---- gcc-8.1.0/libgcc/config/rs6000/crtrestvr.S 2018-01-03 10:03:58.000000000 +0000 -+++ gcc-8.1.0-ppc/libgcc/config/rs6000/crtrestvr.S 2018-05-14 03:54:39.543938012 +0100 +diff --git a/gcc/configure b/gcc/configure +index 6121e16..6584112 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -11692,7 +11692,7 @@ case ${enable_threads} in + # default + target_thread_file='single' + ;; +- aix | dce | lynx | mipssde | posix | rtems | \ ++ aix | dce | dkp | lynx | mipssde | posix | rtems | \ + single | tpf | vxworks | win32) + target_thread_file=${enable_threads} + ;; +diff --git a/gcc/configure.ac b/gcc/configure.ac +index b066cc6..c42b3ef 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -1611,7 +1611,7 @@ case ${enable_threads} in + # default + target_thread_file='single' + ;; +- aix | dce | lynx | mipssde | posix | rtems | \ ++ aix | dce | dkp | lynx | mipssde | posix | rtems | \ + single | tpf | vxworks | win32) + target_thread_file=${enable_threads} + ;; +diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S +index ba2b262..8d86610 100644 +--- a/libgcc/config/rs6000/crtrestvr.S ++++ b/libgcc/config/rs6000/crtrestvr.S @@ -24,7 +24,7 @@ /* On PowerPC64 Linux, these functions are provided by the linker. */ @@ -278,14 +294,15 @@ diff -NBaur gcc-8.1.0/libgcc/config/rs6000/crtrestvr.S gcc-8.1.0-ppc/libgcc/conf #undef __ALTIVEC__ #define __ALTIVEC__ 1 #include "ppc-asm.h" -@@ -86,3 +86,4 @@ +@@ -86,3 +86,4 @@ FUNC_END(_restvr_20) CFI_ENDPROC #endif +#endif -diff -NBaur gcc-8.1.0/libgcc/config/rs6000/crtsavevr.S gcc-8.1.0-ppc/libgcc/config/rs6000/crtsavevr.S ---- gcc-8.1.0/libgcc/config/rs6000/crtsavevr.S 2018-01-03 10:03:58.000000000 +0000 -+++ gcc-8.1.0-ppc/libgcc/config/rs6000/crtsavevr.S 2018-05-14 03:54:39.543938012 +0100 +diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S +index 077e33f..b7be68b 100644 +--- a/libgcc/config/rs6000/crtsavevr.S ++++ b/libgcc/config/rs6000/crtsavevr.S @@ -24,7 +24,7 @@ /* On PowerPC64 Linux, these functions are provided by the linker. */ @@ -295,15 +312,584 @@ diff -NBaur gcc-8.1.0/libgcc/config/rs6000/crtsavevr.S gcc-8.1.0-ppc/libgcc/conf #undef __ALTIVEC__ #define __ALTIVEC__ 1 #include "ppc-asm.h" -@@ -86,3 +86,4 @@ +@@ -86,3 +86,4 @@ FUNC_END(_savevr_20) CFI_ENDPROC #endif +#endif -diff -NBaur gcc-8.1.0/libgcc/crtstuff.c gcc-8.1.0-ppc/libgcc/crtstuff.c ---- gcc-8.1.0/libgcc/crtstuff.c 2018-01-03 10:03:58.000000000 +0000 -+++ gcc-8.1.0-ppc/libgcc/crtstuff.c 2018-05-14 03:54:39.543938012 +0100 -@@ -47,6 +47,7 @@ +diff --git a/libgcc/config/rs6000/gthr-dkp.c b/libgcc/config/rs6000/gthr-dkp.c +new file mode 100644 +index 0000000..94d6ba9 +--- /dev/null ++++ b/libgcc/config/rs6000/gthr-dkp.c +@@ -0,0 +1,349 @@ ++/* Threads compatibility routines for libgcc2 and libobjc. */ ++/* Compile this one with gcc. */ ++/* Copyright (C) 1997-2016 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. ++ ++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 "gthr-dkp.h" ++#include ++ ++__gthread_impl_t __gthread_impl = { ++ NULL, // active ++ NULL, // create ++ NULL, // join ++ NULL, // detach ++ NULL, // equal ++ NULL, // self ++ NULL, // yield ++ NULL, // once ++ NULL, // key_create ++ NULL, // key_delete ++ NULL, // getspecific ++ NULL, // setspecific ++ NULL, // mutex_init_function ++ NULL, // mutex_destroy ++ NULL, // mutex_lock ++ NULL, // mutex_trylock ++ NULL, // mutex_unlock ++ NULL, // recursive_mutex_init_function ++ NULL, // recursive_mutex_lock ++ NULL, // recursive_mutex_trylock ++ NULL, // recursive_mutex_unlock ++ NULL, // recursive_mutex_destroy ++ NULL, // cond_init_function ++ NULL, // cond_broadcast ++ NULL, // cond_signal ++ NULL, // cond_wait ++ NULL, // cond_timedwait ++ NULL, // cond_wait_recursive ++ NULL, // cond_destroy ++}; ++ ++int ++__gthread_active_p (void) ++{ ++ if (!__gthread_impl.active) { ++ return 0; ++ } ++ ++ return __gthread_impl.active(); ++} ++ ++int ++__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), ++ void *__args) ++{ ++ if (!__gthread_impl.create) { ++ return -1; ++ } ++ ++ return __gthread_impl.create(__threadid, __func, __args); ++} ++ ++int ++__gthread_join (__gthread_t __threadid, void **__value_ptr) ++{ ++ if (!__gthread_impl.join) { ++ return -1; ++ } ++ ++ return __gthread_impl.join(__threadid, __value_ptr); ++} ++ ++int ++__gthread_detach (__gthread_t __threadid) ++{ ++ if (!__gthread_impl.detach) { ++ return -1; ++ } ++ ++ return __gthread_impl.detach(__threadid); ++} ++ ++int ++__gthread_equal (__gthread_t __t1, __gthread_t __t2) ++{ ++ if (!__gthread_impl.equal) { ++ return -1; ++ } ++ ++ return __gthread_impl.equal(__t1, __t2); ++} ++ ++__gthread_t ++__gthread_self (void) ++{ ++ if (!__gthread_impl.self) { ++ __gthread_t result = { 0 }; ++ return result; ++ } ++ ++ return __gthread_impl.self(); ++} ++ ++int ++__gthread_yield (void) ++{ ++ if (!__gthread_impl.yield) { ++ return -1; ++ } ++ ++ return __gthread_impl.yield(); ++} ++ ++int ++__gthread_once (__gthread_once_t *__once, void (*__func) (void)) ++{ ++ if (!__gthread_impl.once) { ++ return -1; ++ } ++ ++ return __gthread_impl.once(__once, __func); ++} ++ ++int ++__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) ++{ ++ if (!__gthread_impl.key_create) { ++ return -1; ++ } ++ ++ return __gthread_impl.key_create(__key, __dtor); ++} ++ ++int ++__gthread_key_delete (__gthread_key_t __key) ++{ ++ if (!__gthread_impl.key_delete) { ++ return -1; ++ } ++ ++ return __gthread_impl.key_delete(__key); ++} ++ ++void * ++__gthread_getspecific (__gthread_key_t __key) ++{ ++ if (!__gthread_impl.getspecific) { ++ return NULL; ++ } ++ ++ return __gthread_impl.getspecific(__key); ++} ++ ++int ++__gthread_setspecific (__gthread_key_t __key, const void *__ptr) ++{ ++ if (!__gthread_impl.setspecific) { ++ return -1; ++ } ++ ++ return __gthread_impl.setspecific(__key, __ptr); ++} ++ ++void ++__gthread_mutex_init_function (__gthread_mutex_t *__mutex) ++{ ++ if (__gthread_impl.mutex_init_function) { ++ __gthread_impl.mutex_init_function(__mutex); ++ } ++} ++ ++int ++__gthread_mutex_destroy (__gthread_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.mutex_destroy) { ++ return -1; ++ } ++ ++ return __gthread_impl.mutex_destroy(__mutex); ++} ++ ++int ++__gthread_mutex_lock (__gthread_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.mutex_lock) { ++ return -1; ++ } ++ ++ return __gthread_impl.mutex_lock(__mutex); ++} ++ ++int ++__gthread_mutex_trylock (__gthread_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.mutex_trylock) { ++ return -1; ++ } ++ ++ return __gthread_impl.mutex_trylock(__mutex); ++} ++ ++int ++__gthread_mutex_unlock (__gthread_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.mutex_unlock) { ++ return -1; ++ } ++ ++ return __gthread_impl.mutex_unlock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.recursive_mutex_init_function) { ++ return -1; ++ } ++ ++ return __gthread_impl.recursive_mutex_init_function(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.recursive_mutex_lock) { ++ return -1; ++ } ++ ++ return __gthread_impl.recursive_mutex_lock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.recursive_mutex_trylock) { ++ return -1; ++ } ++ ++ return __gthread_impl.recursive_mutex_trylock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.recursive_mutex_unlock) { ++ return -1; ++ } ++ ++ return __gthread_impl.recursive_mutex_unlock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.recursive_mutex_destroy) { ++ return -1; ++ } ++ ++ return __gthread_impl.recursive_mutex_destroy(__mutex); ++} ++ ++void ++__gthread_cond_init_function (__gthread_cond_t *__cond) ++{ ++ if (__gthread_impl.cond_init_function) { ++ __gthread_impl.cond_init_function(__cond); ++ } ++} ++ ++int ++__gthread_cond_broadcast (__gthread_cond_t *__cond) ++{ ++ if (!__gthread_impl.cond_broadcast) { ++ return -1; ++ } ++ ++ return __gthread_impl.cond_broadcast(__cond); ++} ++ ++int ++__gthread_cond_signal (__gthread_cond_t *__cond) ++{ ++ if (!__gthread_impl.cond_signal) { ++ return -1; ++ } ++ ++ return __gthread_impl.cond_signal(__cond); ++} ++ ++int ++__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.cond_wait) { ++ return -1; ++ } ++ ++ return __gthread_impl.cond_wait(__cond, __mutex); ++} ++ ++int ++__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, ++ const __gthread_time_t *__abs_timeout) ++{ ++ if (!__gthread_impl.cond_timedwait) { ++ return -1; ++ } ++ ++ return __gthread_impl.cond_timedwait(__cond, __mutex, __abs_timeout); ++} ++ ++int ++__gthread_cond_wait_recursive (__gthread_cond_t *__cond, ++ __gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.cond_wait_recursive) { ++ return -1; ++ } ++ ++ return __gthread_impl.cond_wait_recursive(__cond, __mutex); ++} ++ ++int ++__gthread_cond_destroy (__gthread_cond_t* __cond) ++{ ++ if (!__gthread_impl.cond_destroy) { ++ return -1; ++ } ++ ++ return __gthread_impl.cond_destroy(__cond); ++} +diff --git a/libgcc/config/rs6000/gthr-dkp.h b/libgcc/config/rs6000/gthr-dkp.h +new file mode 100644 +index 0000000..281c19d +--- /dev/null ++++ b/libgcc/config/rs6000/gthr-dkp.h +@@ -0,0 +1,185 @@ ++/* Threads compatibility routines for libgcc2 and libobjc. */ ++/* Compile this one with gcc. */ ++/* Copyright (C) 1997-2016 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. ++ ++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 ++. */ ++ ++#ifndef _GLIBCXX_GCC_GTHR_DKP_H ++#define _GLIBCXX_GCC_GTHR_DKP_H ++ ++#define __GTHREADS 1 ++#define __GTHREADS_CXX0X 1 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++typedef void * __gthread_t; ++typedef struct { int padding[7]; } __gthread_cond_t; ++typedef struct { int padding; } __gthread_key_t; ++typedef struct { int padding[11]; } __gthread_mutex_t; ++typedef struct { int padding; } __gthread_once_t; ++typedef struct { int padding[11]; } __gthread_recursive_mutex_t; ++typedef struct timespec __gthread_time_t; ++ ++#define __GTHREAD_HAS_COND 1 ++#define _GTHREAD_USE_MUTEX_TIMEDLOCK 0 ++ ++#define __GTHREAD_ONCE_INIT { 0 } ++#define __GTHREAD_TIME_INIT { 0, 0 } ++ ++#define __GTHREAD_COND_INIT_FUNCTION __gthread_cond_init_function ++#define __GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function ++#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function ++ ++typedef struct { ++ int (*active) (void); ++ int (*create) (__gthread_t *__threadid, void *(*__func) (void*), ++ void *__args); ++ int (*join) (__gthread_t __threadid, void **__value_ptr); ++ int (*detach) (__gthread_t __threadid); ++ int (*equal) (__gthread_t __t1, __gthread_t __t2); ++ __gthread_t (*self) (void); ++ int (*yield) (void); ++ int (*once) (__gthread_once_t *__once, void (*__func) (void)); ++ int (*key_create) (__gthread_key_t *__key, void (*__dtor) (void *)); ++ int (*key_delete) (__gthread_key_t __key); ++ void * (*getspecific) (__gthread_key_t __key); ++ int (*setspecific) (__gthread_key_t __key, const void *__ptr); ++ void (*mutex_init_function) (__gthread_mutex_t *__mutex); ++ int (*mutex_destroy) (__gthread_mutex_t *__mutex); ++ int (*mutex_lock) (__gthread_mutex_t *__mutex); ++ int (*mutex_trylock) (__gthread_mutex_t *__mutex); ++ int (*mutex_unlock) (__gthread_mutex_t *__mutex); ++ int (*recursive_mutex_init_function) (__gthread_recursive_mutex_t *__mutex); ++ int (*recursive_mutex_lock) (__gthread_recursive_mutex_t *__mutex); ++ int (*recursive_mutex_trylock) (__gthread_recursive_mutex_t *__mutex); ++ int (*recursive_mutex_unlock) (__gthread_recursive_mutex_t *__mutex); ++ int (*recursive_mutex_destroy) (__gthread_recursive_mutex_t *__mutex); ++ void (*cond_init_function) (__gthread_cond_t *__cond); ++ int (*cond_broadcast) (__gthread_cond_t *__cond); ++ int (*cond_signal) (__gthread_cond_t *__cond); ++ int (*cond_wait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); ++ int (*cond_timedwait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, ++ const __gthread_time_t *__abs_timeout); ++ int (*cond_wait_recursive) (__gthread_cond_t *__cond, ++ __gthread_recursive_mutex_t *__mutex); ++ int (*cond_destroy) (__gthread_cond_t* __cond); ++} __gthread_impl_t; ++ ++extern __gthread_impl_t __gthread_impl; ++ ++int ++__gthread_active_p (void); ++ ++int ++__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), ++ void *__args); ++ ++int ++__gthread_join (__gthread_t __threadid, void **__value_ptr); ++ ++int ++__gthread_detach (__gthread_t __threadid); ++ ++int ++__gthread_equal (__gthread_t __t1, __gthread_t __t2); ++ ++__gthread_t ++__gthread_self (void); ++ ++int ++__gthread_yield (void); ++ ++int ++__gthread_once (__gthread_once_t *__once, void (*__func) (void)); ++ ++int ++__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)); ++ ++int ++__gthread_key_delete (__gthread_key_t __key); ++ ++void * ++__gthread_getspecific (__gthread_key_t __key); ++ ++int ++__gthread_setspecific (__gthread_key_t __key, const void *__ptr); ++ ++void ++__gthread_mutex_init_function (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_destroy (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_lock (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_trylock (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_unlock (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex); ++ ++void ++__gthread_cond_init_function (__gthread_cond_t *__cond); ++ ++int ++__gthread_cond_broadcast (__gthread_cond_t *__cond); ++ ++int ++__gthread_cond_signal (__gthread_cond_t *__cond); ++ ++int ++__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); ++ ++int ++__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, ++ const __gthread_time_t *__abs_timeout); ++ ++int ++__gthread_cond_wait_recursive (__gthread_cond_t *__cond, ++ __gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_cond_destroy (__gthread_cond_t* __cond); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */ +diff --git a/libgcc/config/rs6000/t-ppccomm b/libgcc/config/rs6000/t-ppccomm +index fb812d3..7f6669d 100644 +--- a/libgcc/config/rs6000/t-ppccomm ++++ b/libgcc/config/rs6000/t-ppccomm +@@ -1,4 +1,5 @@ + LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c \ ++ $(srcdir)/config/rs6000/gthr-dkp.c \ + $(srcdir)/config/rs6000/tramp.S + + # This can't end up in shared libgcc +diff --git a/libgcc/configure b/libgcc/configure +index b2f3f87..c6f93f8 100644 +--- a/libgcc/configure ++++ b/libgcc/configure +@@ -5442,6 +5442,7 @@ tm_file="${tm_file_}" + + case $target_thread_file in + aix) thread_header=config/rs6000/gthr-aix.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + dce) thread_header=config/pa/gthr-dce.h ;; + lynx) thread_header=config/gthr-lynx.h ;; + mipssde) thread_header=config/mips/gthr-mipssde.h ;; +diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c +index 5e89445..f234745 100644 +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -47,6 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see /* Target machine header files require this define. */ #define IN_LIBGCC2 @@ -311,3 +897,15 @@ diff -NBaur gcc-8.1.0/libgcc/crtstuff.c gcc-8.1.0-ppc/libgcc/crtstuff.c /* FIXME: Including auto-host is incorrect, but until we have identified the set of defines that need to go into auto-target.h, +diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure +index ba094be..ac53ee6 100755 +--- a/libstdc++-v3/configure ++++ b/libstdc++-v3/configure +@@ -15178,6 +15178,7 @@ $as_echo "$target_thread_file" >&6; } + + case $target_thread_file in + aix) thread_header=config/rs6000/gthr-aix.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + dce) thread_header=config/pa/gthr-dce.h ;; + lynx) thread_header=config/gthr-lynx.h ;; + mipssde) thread_header=config/mips/gthr-mipssde.h ;; diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 462ff77..522aaff 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -82,10 +82,10 @@ then CXXFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ LDFLAGS_FOR_TARGET="" \ ../../gcc-$GCC_VER/configure \ - --enable-languages=c,c++,objc \ - --enable-lto $plugin_ld \ + --enable-languages=c,c++ \ + --enable-lto \ --with-cpu=750 \ - --disable-nls --disable-shared --enable-threads --disable-multilib \ + --disable-nls --disable-shared --enable-threads=dkp --disable-multilib \ --disable-win32-registry \ --disable-libstdcxx-pch \ --disable-libstdcxx-verbose \ @@ -95,7 +95,7 @@ then --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix\ --with-system-zlib\ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 30" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 31" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ From 741bc223229168d6b607b67cbcc7506327e23b6b Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 27 May 2018 23:03:48 +0000 Subject: [PATCH 023/280] update to binutils 2.30 --- build-devkit.sh | 2 +- dkppc/crtls/ogc.ld | 7 ++++++- dkppc/crtls/rvl.ld | 8 +++++++- dkppc/patches/binutils-2.30.patch | 12 ++++++++++++ select_toolchain.sh | 2 +- 5 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 dkppc/patches/binutils-2.30.patch diff --git a/build-devkit.sh b/build-devkit.sh index c38285d..7667683 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -43,7 +43,7 @@ DFU_UTIL_VER=0.9.1 STLINK_VER=1.2.3 GAMECUBE_TOOLS_VER=1.0.2 -LIBOGC_VER=1.8.17 +LIBOGC_VER=1.8.20 WIILOAD_VER=0.5.1 LIBCTRU_VER=1.5.0 diff --git a/dkppc/crtls/ogc.ld b/dkppc/crtls/ogc.ld index 3f21a89..b2b0578 100644 --- a/dkppc/crtls/ogc.ld +++ b/dkppc/crtls/ogc.ld @@ -93,7 +93,11 @@ SECTIONS .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } :data .rodata1 : { *(.rodata1) } - .sdata2 : { *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) } + .sdata2 : { + PROVIDE(_SDA2_BASE_ = . ); + *(.sdata2) *(.sdata2.*) + *(.gnu.linkonce.s2.*) + } .sbss2 : { *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ @@ -174,6 +178,7 @@ SECTIONS .sdata : { + PROVIDE(_SDA_BASE_ = . ); *(.sdata) *(.sdata.*) *(.gnu.linkonce.s.*) diff --git a/dkppc/crtls/rvl.ld b/dkppc/crtls/rvl.ld index d23cb67..791fbdc 100644 --- a/dkppc/crtls/rvl.ld +++ b/dkppc/crtls/rvl.ld @@ -104,7 +104,12 @@ SECTIONS .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } :data .rodata1 : { *(.rodata1) } - .sdata2 : { *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) } + .sdata2 : { + PROVIDE(_SDA2_BASE_ = .); + *(.sdata2) + *(.sdata2.*) + *(.gnu.linkonce.s2.*) + } .sbss2 : { *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ @@ -185,6 +190,7 @@ SECTIONS .sdata : { + PROVIDE(_SDA_BASE_ = .); *(.sdata) *(.sdata.*) *(.gnu.linkonce.s.*) diff --git a/dkppc/patches/binutils-2.30.patch b/dkppc/patches/binutils-2.30.patch new file mode 100644 index 0000000..13c34e8 --- /dev/null +++ b/dkppc/patches/binutils-2.30.patch @@ -0,0 +1,12 @@ +diff -NBaur binutils-2.30/opcodes/ppc-opc.c binutils-2.30-ppc/opcodes/ppc-opc.c +--- binutils-2.30/opcodes/ppc-opc.c 2018-01-13 13:31:16.000000000 +0000 ++++ binutils-2.30-ppc/opcodes/ppc-opc.c 2018-05-27 22:33:42.302025484 +0100 +@@ -3488,7 +3488,7 @@ + #define MFDEC2 (PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE \ + | PPC_OPCODE_TITAN) + #define BOOKE PPC_OPCODE_BOOKE +-#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS ++#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS + #define PPCE300 PPC_OPCODE_E300 + #define PPCSPE PPC_OPCODE_SPE + #define PPCSPE2 PPC_OPCODE_SPE2 diff --git a/select_toolchain.sh b/select_toolchain.sh index ebb2169..a0c19bb 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -41,7 +41,7 @@ case "$VERSION" in ;; "2" ) GCC_VER=8.1.0 - BINUTILS_VER=2.28 + BINUTILS_VER=2.30 MN_BINUTILS_VER=2.17 NEWLIB_VER=2.5.0 GDB_VER=8.0.1 From ff680b5b271f41180697649ef22e45f5995c3e7e Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 27 May 2018 23:05:39 +0000 Subject: [PATCH 024/280] update to newlib 3.0.0 --- dkppc/patches/newlib-3.0.0.patch | 7854 ++++++++++++++++++++++++++++++ select_toolchain.sh | 2 +- 2 files changed, 7855 insertions(+), 1 deletion(-) create mode 100644 dkppc/patches/newlib-3.0.0.patch diff --git a/dkppc/patches/newlib-3.0.0.patch b/dkppc/patches/newlib-3.0.0.patch new file mode 100644 index 0000000..8026822 --- /dev/null +++ b/dkppc/patches/newlib-3.0.0.patch @@ -0,0 +1,7854 @@ +diff --git a/libgloss/configure b/libgloss/configure +index aa6f8f834..0e8579890 100755 +--- a/libgloss/configure ++++ b/libgloss/configure +@@ -2594,6 +2594,8 @@ if test "${config_libnosys}" = "true"; then + + fi + ++subdirs="$subdirs libsysbase" ++ + DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depfiles" +diff --git a/libgloss/configure.in b/libgloss/configure.in +index 6da164352..0375cabbc 100644 +--- a/libgloss/configure.in ++++ b/libgloss/configure.in +@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. + AC_PREREQ(2.59) + AC_INIT([libgloss],[LIBGLOSS_VERSION]) + AC_CONFIG_SRCDIR([libnosys]) ++AC_CONFIG_SRCDIR([libsysbase]) + + if test "${enable_shared}" = "yes" ; then + echo "Shared libraries not supported for cross compiling, ignored" +@@ -33,6 +34,9 @@ config_testsuite=true + dnl indicates whether to run configure within the libnosys subdirectory + config_libnosys=true + ++dnl indicates whether to run configure within the libsysbase subdirectory ++config_libsysbase=true ++ + case "${target}" in + aarch64*-*-*) + AC_CONFIG_SUBDIRS(aarch64) +@@ -188,6 +192,10 @@ if test "${config_libnosys}" = "true"; then + AC_CONFIG_SUBDIRS([libnosys]) + fi + ++if test "${config_libsysbase}" = "true"; then ++ AC_CONFIG_SUBDIRS([libsysbase]) ++fi ++ + LIB_AC_PROG_CC + AS=${AS-as} + AC_SUBST(AS) +diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in +new file mode 100644 +index 000000000..df90d2f57 +--- /dev/null ++++ b/libgloss/libsysbase/Makefile.in +@@ -0,0 +1,148 @@ ++# Copyright (c) 1998 Cygnus Support ++# ++# The authors hereby grant permission to use, copy, modify, distribute, ++# and license this software and its documentation for any purpose, provided ++# that existing copyright notices are retained in all copies and that this ++# notice is included verbatim in any distributions. No written agreement, ++# license, or royalty fee is required for any of the authorized uses. ++# Modifications to this software may be copyrighted by their authors ++# and need not follow the licensing terms described here, provided that ++# the new terms are clearly indicated on the first page of each file where ++# they apply. ++ ++DESTDIR = ++VPATH = @srcdir@ ++srcdir = @srcdir@ ++objdir = . ++srcroot = $(srcdir)/../.. ++objroot = $(objdir)/../.. ++ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++host_alias = @host_alias@ ++target_alias = @target_alias@ ++program_transform_name = @program_transform_name@ ++ ++bindir = @bindir@ ++libdir = @libdir@ ++tooldir = $(exec_prefix)/$(target_alias) ++ ++# Multilib support variables. ++# TOP is used instead of MULTI{BUILD,SRC}TOP. ++MULTIDIRS = ++MULTISUBDIR = ++MULTIDO = true ++MULTICLEAN = true ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++ ++SHELL = /bin/sh ++ ++CC = @CC@ ++ ++#AS = @AS@ ++AS = `if [ -f ${objroot}/../gas/as.new ] ; \ ++ then echo ${objroot}/../gas/as.new ; \ ++ else echo as ; fi` ++ ++AR = @AR@ ++ ++#LD = @LD@ ++LD = `if [ -f ${objroot}/../ld/ld.new ] ; \ ++ then echo ${objroot}/../ld/ld.new ; \ ++ else echo ld ; fi` ++ ++RANLIB = @RANLIB@ ++ ++OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \ ++ then echo ${objroot}/../binutils/objdump ; \ ++ else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi` ++OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \ ++ then echo ${objroot}/../binutils/objcopy ; \ ++ else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi` ++ ++# object files needed ++OBJS = abort.o iosupport.o clocks.o close.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ ++ isatty.o kill.o link.o lseek.o open.o read.o sbrk.o stat.o times.o \ ++ unlink.o wait.o write.o _exit.o malloc_vars.o \ ++ chdir.o mkdir.o rename.o build_argv.o statvfs.o \ ++ flock.o syscall_support.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ ++ fchmod.o chmod.o rmdir.o ++ ++# Object files specific to particular targets. ++EVALOBJS = ${OBJS} ++ ++GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \ ++ then echo -L${objroot}/../gcc ; fi` ++ ++OUTPUTS = libsysbase.a ++ ++NEWLIB_CFLAGS = `if [ -d ${objroot}/newlib ]; then echo -I${objroot}/newlib/targ-include -I${srcroot}/newlib/libc/include; fi` ++NEWLIB_LDFLAGS = `if [ -d ${objroot}/newlib ]; then echo -B${objroot}/newlib/ -L${objroot}/newlib/; fi` ++ ++INCLUDES = -I. -I$(srcdir)/.. ++# Note that when building the library, ${MULTILIB} is not the way multilib ++# options are passed; they're passed in $(CFLAGS). ++CFLAGS_FOR_TARGET = ${MULTILIB} ${INCLUDES} ${NEWLIB_CFLAGS} ++LDFLAGS_FOR_TARGET = ${MULTILIB} ${NEWLIB_LDFLAGS} ++AR_FLAGS = qc ++ ++.c.o: ++ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $< ++ ++.C.o: ++ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $< ++.s.o: ++ $(AS) $(ASFLAGS_FOR_TARGET) $(INCLUDES) $(ASFLAGS) -o $*.o $< ++ ++# ++# GCC knows to run the preprocessor on .S files before it assembles them. ++# ++.S.o: ++ $(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< ++ ++# ++# this is a bogus target that'll produce an assembler from the ++# C source with the right compiler options. this is so we can ++# track down code generation or debug symbol bugs. ++# ++.c.s: ++ $(CC) $(CFLAGS_FOR_TARGET) -S $(INCLUDES) $(CFLAGS) $< ++ ++all: ${OUTPUTS} ++ ++# ++# here's where we build the library for each target ++# ++ ++libsysbase.a: $(EVALOBJS) ++ ${AR} ${ARFLAGS} $@ $(EVALOBJS) ++ ${RANLIB} $@ ++ ++doc: ++ ++clean mostlyclean: ++ rm -f $(OUTPUTS) *.i *~ *.o *-test *.srec *.dis *.map *.x ++ ++distclean maintainer-clean realclean: clean ++ rm -f Makefile config.status $(OUTPUTS) ++ ++.PHONY: install info install-info clean-info ++install: ++ @for outputs in ${OUTPUTS}; do\ ++ mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ ++ $(INSTALL_PROGRAM) $${outputs} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ ++ done ++ ++info: ++install-info: ++clean-info: ++ ++Makefile: Makefile.in config.status @host_makefile_frag_path@ ++ $(SHELL) config.status ++ ++config.status: configure ++ $(SHELL) config.status --recheck +diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c +new file mode 100644 +index 000000000..e5cb5a9ed +--- /dev/null ++++ b/libgloss/libsysbase/_exit.c +@@ -0,0 +1,17 @@ ++/* Stub version of _exit. */ ++ ++#include ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++void _exit(int rc) ++{ ++ ++ if ( __syscalls.exit ) { ++ __syscalls.exit(rc); ++ } ++ ++ while(1); ++} +diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c +new file mode 100644 +index 000000000..9272e22c9 +--- /dev/null ++++ b/libgloss/libsysbase/abort.c +@@ -0,0 +1,8 @@ ++#include ++#include ++ ++void abort(void) { ++ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); ++ _exit (1); ++} ++ +diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h +new file mode 100644 +index 000000000..200ea7873 +--- /dev/null ++++ b/libgloss/libsysbase/acconfig.h +@@ -0,0 +1,29 @@ ++/* Name of package. */ ++#undef PACKAGE ++ ++/* Version of package. */ ++#undef VERSION ++ ++/* Missing syscall names */ ++#undef MISSING_SYSCALL_NAMES ++ ++/* Reentrant syscalls */ ++#undef REENTRANT_SYSCALLS_PROVIDED ++ ++/* Using ELF format */ ++#undef HAVE_ELF ++ ++/* Using GNU LD */ ++#undef HAVE_GNU_LD ++ ++/* .previous directive allowed */ ++#undef HAVE_ASM_PREVIOUS_DIRECTIVE ++ ++/* .pushsection/.popsection directives allowed */ ++#undef HAVE_ASM_POPSECTION_DIRECTIVE ++ ++/* support for section attributes */ ++#undef HAVE_SECTION_ATTRIBUTES ++ ++/* symbol prefix */ ++#undef __SYMBOL_PREFIX +diff --git a/libgloss/libsysbase/aclocal.m4 b/libgloss/libsysbase/aclocal.m4 +new file mode 100644 +index 000000000..b6cdfaeb8 +--- /dev/null ++++ b/libgloss/libsysbase/aclocal.m4 +@@ -0,0 +1,344 @@ ++# generated automatically by aclocal 1.9.5 -*- Autoconf -*- ++ ++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, ++# 2005 Free Software Foundation, Inc. ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++# AM_CONDITIONAL -*- Autoconf -*- ++ ++# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 ++# Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 7 ++ ++# AM_CONDITIONAL(NAME, SHELL-CONDITION) ++# ------------------------------------- ++# Define a conditional. ++AC_DEFUN([AM_CONDITIONAL], ++[AC_PREREQ(2.52)dnl ++ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], ++ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl ++AC_SUBST([$1_TRUE]) ++AC_SUBST([$1_FALSE]) ++if $2; then ++ $1_TRUE= ++ $1_FALSE='#' ++else ++ $1_TRUE='#' ++ $1_FALSE= ++fi ++AC_CONFIG_COMMANDS_PRE( ++[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then ++ AC_MSG_ERROR([[conditional "$1" was never defined. ++Usually this means the macro was only invoked conditionally.]]) ++fi])]) ++ ++ ++# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 ++# Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 8 ++ ++# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be ++# written in clear, in which case automake, when reading aclocal.m4, ++# will think it sees a *use*, and therefore will trigger all it's ++# C support machinery. Also note that it means that autoscan, seeing ++# CC etc. in the Makefile, will ask for an AC_PROG_CC use... ++ ++ ++# _AM_DEPENDENCIES(NAME) ++# ---------------------- ++# See how the compiler implements dependency checking. ++# NAME is "CC", "CXX", "GCJ", or "OBJC". ++# We try a few techniques and use that to set a single cache variable. ++# ++# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was ++# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular ++# dependency, and given that the user is not expected to run this macro, ++# just rely on AC_PROG_CC. ++AC_DEFUN([_AM_DEPENDENCIES], ++[AC_REQUIRE([AM_SET_DEPDIR])dnl ++AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl ++AC_REQUIRE([AM_MAKE_INCLUDE])dnl ++AC_REQUIRE([AM_DEP_TRACK])dnl ++ ++ifelse([$1], CC, [depcc="$CC" am_compiler_list=], ++ [$1], CXX, [depcc="$CXX" am_compiler_list=], ++ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], ++ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], ++ [depcc="$$1" am_compiler_list=]) ++ ++AC_CACHE_CHECK([dependency style of $depcc], ++ [am_cv_$1_dependencies_compiler_type], ++[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ # We will build objects and dependencies in a subdirectory because ++ # it helps to detect inapplicable dependency modes. For instance ++ # both Tru64's cc and ICC support -MD to output dependencies as a ++ # side effect of compilation, but ICC will put the dependencies in ++ # the current directory while Tru64 will put them in the object ++ # directory. ++ mkdir sub ++ ++ am_cv_$1_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # Setup a source with many dependencies, because some compilers ++ # like to wrap large dependency lists on column 80 (with \), and ++ # we should not choose a depcomp mode which is confused by this. ++ # ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ : > sub/conftest.c ++ for i in 1 2 3 4 5 6; do ++ echo '#include "conftst'$i'.h"' >> sub/conftest.c ++ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with ++ # Solaris 8's {/usr,}/bin/sh. ++ touch sub/conftst$i.h ++ done ++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf ++ ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ ++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ ++ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ ++ >/dev/null 2>conftest.err && ++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && ++ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ # icc doesn't choke on unknown options, it will just issue warnings ++ # or remarks (even with -Werror). So we grep stderr for any message ++ # that says an option was ignored or not supported. ++ # When given -MP, icc 7.0 and 7.1 complain thusly: ++ # icc: Command line warning: ignoring option '-M'; no argument required ++ # The diagnosis changed in icc 8.0: ++ # icc: Command line remark: option '-MP' not supported ++ if (grep 'ignoring option' conftest.err || ++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else ++ am_cv_$1_dependencies_compiler_type=$depmode ++ break ++ fi ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_$1_dependencies_compiler_type=none ++fi ++]) ++AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) ++AM_CONDITIONAL([am__fastdep$1], [ ++ test "x$enable_dependency_tracking" != xno \ ++ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ++]) ++ ++ ++# AM_SET_DEPDIR ++# ------------- ++# Choose a directory name for dependency files. ++# This macro is AC_REQUIREd in _AM_DEPENDENCIES ++AC_DEFUN([AM_SET_DEPDIR], ++[AC_REQUIRE([AM_SET_LEADING_DOT])dnl ++AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ++]) ++ ++ ++# AM_DEP_TRACK ++# ------------ ++AC_DEFUN([AM_DEP_TRACK], ++[AC_ARG_ENABLE(dependency-tracking, ++[ --disable-dependency-tracking speeds up one-time build ++ --enable-dependency-tracking do not reject slow dependency extractors]) ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++fi ++AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) ++AC_SUBST([AMDEPBACKSLASH]) ++]) ++ ++# Generate code to set up dependency tracking. -*- Autoconf -*- ++ ++# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 ++# Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++#serial 3 ++ ++# _AM_OUTPUT_DEPENDENCY_COMMANDS ++# ------------------------------ ++AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], ++[for mf in $CONFIG_FILES; do ++ # Strip MF so we end up with the name of the file. ++ mf=`echo "$mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile or not. ++ # We used to match only the files named `Makefile.in', but ++ # some people rename them; so instead we look at the file content. ++ # Grep'ing the first line is not enough: some people post-process ++ # each Makefile.in and add a new line on top of each file to say so. ++ # So let's grep whole file. ++ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then ++ dirpart=`AS_DIRNAME("$mf")` ++ else ++ continue ++ fi ++ # Extract the definition of DEPDIR, am__include, and am__quote ++ # from the Makefile without running `make'. ++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ am__include=`sed -n 's/^am__include = //p' < "$mf"` ++ test -z "am__include" && continue ++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n 's/^U = //p' < "$mf"` ++ # Find all dependency output files, they are included files with ++ # $(DEPDIR) in their names. We invoke sed twice because it is the ++ # simplest approach to changing $(DEPDIR) to its actual value in the ++ # expansion. ++ for file in `sed -n " ++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`AS_DIRNAME(["$file"])` ++ AS_MKDIR_P([$dirpart/$fdir]) ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++])# _AM_OUTPUT_DEPENDENCY_COMMANDS ++ ++ ++# AM_OUTPUT_DEPENDENCY_COMMANDS ++# ----------------------------- ++# This macro should only be invoked once -- use via AC_REQUIRE. ++# ++# This code is only required when automatic dependency tracking ++# is enabled. FIXME. This creates each `.P' file that we will ++# need in order to bootstrap the dependency handling code. ++AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], ++[AC_CONFIG_COMMANDS([depfiles], ++ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], ++ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ++]) ++ ++# Copyright (C) 2003, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 2 ++ ++# Check whether the underlying file-system supports filenames ++# with a leading dot. For instance MS-DOS doesn't. ++AC_DEFUN([AM_SET_LEADING_DOT], ++[rm -rf .tst 2>/dev/null ++mkdir .tst 2>/dev/null ++if test -d .tst; then ++ am__leading_dot=. ++else ++ am__leading_dot=_ ++fi ++rmdir .tst 2>/dev/null ++AC_SUBST([am__leading_dot])]) ++ ++# Check to see how 'make' treats includes. -*- Autoconf -*- ++ ++# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 3 ++ ++# AM_MAKE_INCLUDE() ++# ----------------- ++# Check to see how make treats includes. ++AC_DEFUN([AM_MAKE_INCLUDE], ++[am_make=${MAKE-make} ++cat > confinc << 'END' ++am__doit: ++ @echo done ++.PHONY: am__doit ++END ++# If we don't find an include directive, just comment out the code. ++AC_MSG_CHECKING([for style of include used by $am_make]) ++am__include="#" ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# We grep out `Entering directory' and `Leaving directory' ++# messages which can occur if `w' ends up in MAKEFLAGS. ++# In particular we don't look at `^make:' because GNU make might ++# be invoked under some other name (usually "gmake"), in which ++# case it prints its new name instead of `make'. ++if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then ++ am__include=include ++ am__quote= ++ _am_result=GNU ++fi ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then ++ am__include=.include ++ am__quote="\"" ++ _am_result=BSD ++ fi ++fi ++AC_SUBST([am__include]) ++AC_SUBST([am__quote]) ++AC_MSG_RESULT([$_am_result]) ++rm -f confinc confmf ++]) ++ ++m4_include([../acinclude.m4]) +diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c +new file mode 100644 +index 000000000..3ca95d5b6 +--- /dev/null ++++ b/libgloss/libsysbase/build_argv.c +@@ -0,0 +1,31 @@ ++struct __argv { ++ int argvMagic; ++ char *commandLine; ++ int length; ++ int argc; ++ char **argv; ++ char **endARGV; ++}; ++ ++ ++void build_argv (struct __argv* argstruct ) { ++ ++ char *data = argstruct->commandLine; ++ int len = argstruct->length; ++ ++ char** argv = (char**)(((int)data + len + sizeof(char **)) & ~(sizeof(char **)-1)); ++ char* end = data + len - 1; ++ int argCount = 0; ++ ++ do { ++ argv[argCount++] = data; // Add next arg to argv list ++ while (*(data) && data < end) data++; // Move to next NULL delimiter ++ data++; // Move to one after the NULL delimiter ++ } while (data < end); ++ ++ *end = '\0'; // Force NULL terminator for last arg ++ ++ argstruct->argv = argv; ++ argstruct->argc = argCount; ++ argstruct->endARGV = &argv[argCount]; ++} +diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c +new file mode 100644 +index 000000000..90d2dc5b7 +--- /dev/null ++++ b/libgloss/libsysbase/chdir.c +@@ -0,0 +1,201 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* CWD always start with "/" */ ++static char _current_working_directory [PATH_MAX] = "/"; ++static char temp_cwd [PATH_MAX]; ++ ++#define DIRECTORY_SEPARATOR_CHAR '/' ++const char DIRECTORY_SEPARATOR[] = "/"; ++const char DIRECTORY_THIS[] = "."; ++const char DIRECTORY_PARENT[] = ".."; ++ ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; ++ ++ pathLength = strnlen (path, maxLength); ++ ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } ++ ++ extraEnd = extra; ++ ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } ++ ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } ++ ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } ++ ++ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) ++ { ++ /* Don't copy anything */ ++ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) ++ { ++ /* Go up one level of in the path */ ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { ++ // Remove trailing separator ++ pathEnd[-1] = '\0'; ++ } ++ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); ++ if (pathEnd == NULL) { ++ /* Can't go up any higher, return false */ ++ r->_errno = ENOENT; ++ return -1; ++ } ++ pathLength = pathEnd - path; ++ pathEnd += 1; ++ } else { ++ pathLength += extraSize; ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ /* Copy the next part over */ ++ strncpy (pathEnd, extra, extraSize); ++ pathEnd += extraSize; ++ } ++ pathEnd[0] = '\0'; ++ extra += extraSize; ++ } while (extraSize != 0); ++ ++ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd[1] = 0; ++ pathEnd += 1; ++ } ++ ++ return 0; ++} ++ ++int chdir (const char *path) { ++ struct _reent *r = _REENT; ++ ++ int dev; ++ const char *pathPosition; ++ ++ /* Make sure the path is short enough */ ++ if (strnlen (path, PATH_MAX) >= PATH_MAX) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ ++ if (strchr (path, ':') != NULL) { ++ strncpy (temp_cwd, path, PATH_MAX); ++ /* Move path past device name */ ++ path = strchr (path, ':') + 1; ++ } else { ++ strncpy (temp_cwd, _current_working_directory, PATH_MAX); ++ } ++ ++ pathPosition = strchr (temp_cwd , ':'); ++ ++ if (pathPosition == NULL) { ++ pathPosition = temp_cwd; ++ } else { ++ pathPosition++; ++ } ++ ++ /* Make sure the path starts in the root directory */ ++ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { ++ r->_errno = ENOENT; ++ return -1; ++ } ++ ++ /* Concatenate the path to the CWD */ ++ if (_concatenate_path (r, temp_cwd, path, PATH_MAX) == -1) { ++ return -1; ++ } ++ ++ /* Get device from path name */ ++ dev = FindDevice(temp_cwd); ++ ++ if (dev < 0) { ++ r->_errno = ENODEV; ++ return -1; ++ } ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ if ( devoptab_list[dev]->chdir_r == NULL) { ++ r->_errno = ENOSYS; ++ return -1; ++ } ++ ++ /* Try changing directories on the device */ ++ if (devoptab_list[dev]->chdir_r (r, temp_cwd) == -1) { ++ return -1; ++ } ++ ++ /* Since it worked, set the new CWD and default device */ ++ setDefaultDevice(dev); ++ strncpy (_current_working_directory, temp_cwd, PATH_MAX); ++ ++ return 0; ++} ++ ++char *getcwd(char *buf, size_t size) { ++ ++ struct _reent *r = _REENT; ++ ++ if (size == 0) { ++ if (buf != NULL) { ++ r->_errno = EINVAL; ++ return NULL; ++ } ++ buf = malloc(PATH_MAX); ++ size = PATH_MAX; ++ } ++ ++ if (buf == NULL) { ++ r->_errno = EINVAL; ++ return NULL; ++ } ++ ++ if ( size < (strnlen (_current_working_directory, PATH_MAX) + 1)) { ++ r->_errno = ERANGE; ++ return NULL; ++ } ++ ++ strncpy (buf, _current_working_directory, size); ++ ++ return buf; ++} +diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c +new file mode 100644 +index 000000000..3668b5801 +--- /dev/null ++++ b/libgloss/libsysbase/chmod.c +@@ -0,0 +1,30 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++int chmod(const char *path, mode_t mode) { ++ int ret,dev; ++ struct _reent *r = _REENT; ++ ++ /* Get device from path name */ ++ dev = FindDevice(path); ++ ++ if (dev < 0) { ++ r->_errno = ENODEV; ++ ret = -1; ++ } else { ++ if (devoptab_list[dev]->chmod_r == NULL) { ++ r->_errno=ENOSYS; ++ } else { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->chmod_r(r,path,mode); ++ } ++ } ++ ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c +new file mode 100644 +index 000000000..7cec3bc11 +--- /dev/null ++++ b/libgloss/libsysbase/clocks.c +@@ -0,0 +1,34 @@ ++#include ++#include ++#include ++ ++int clock_gettime(clockid_t clock_id, struct timespec *tp) ++{ ++ if ( __syscalls.clock_gettime ) { ++ return __syscalls.clock_gettime(clock_id, tp); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ ++int clock_settime(clockid_t clock_id, const struct timespec *tp) ++{ ++ if ( __syscalls.clock_gettime ) { ++ return __syscalls.clock_settime(clock_id, tp); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ ++int clock_getres (clockid_t clock_id, struct timespec *res) ++{ ++ if ( __syscalls.clock_getres ) { ++ return __syscalls.clock_getres(clock_id, res); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ +diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c +new file mode 100644 +index 000000000..88dc9195c +--- /dev/null ++++ b/libgloss/libsysbase/close.c +@@ -0,0 +1,46 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++ ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _close_r( struct _reent *ptr, int fileDesc) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _close( int fileDesc) { ++//--------------------------------------------------------------------------------- ++ struct _reent *ptr = _REENT; ++#endif ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ if(fileDesc!=-1) { ++ ++ __handle *handle = __get_handle(fileDesc); ++ ++ if ( handle != NULL) { ++ dev = handle->device; ++ handle->refcount--; ++ if (handle->refcount == 0 ) { ++ ++ if(devoptab_list[dev]->close_r) { ++ ptr->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->close_r(ptr,handle->fileStruct); ++ } ++ else ++ ret = 0; ++ ++ __release_handle(fileDesc); ++ } else { ++ ret = 0; ++ } ++ ++ } ++ } ++ return ret; ++} +diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in +new file mode 100644 +index 000000000..48ce950b4 +--- /dev/null ++++ b/libgloss/libsysbase/config.h.in +@@ -0,0 +1,25 @@ ++/* config.h.in. Generated automatically from configure.in by autoheader. */ ++ ++/* Missing syscall names */ ++#undef MISSING_SYSCALL_NAMES ++ ++/* Reentrant syscalls */ ++#undef REENTRANT_SYSCALLS_PROVIDED ++ ++/* Using ELF format */ ++#undef HAVE_ELF ++ ++/* Using GNU LD */ ++#undef HAVE_GNU_LD ++ ++/* .previous directive allowed */ ++#undef HAVE_ASM_PREVIOUS_DIRECTIVE ++ ++/* .pushsection/.popsection directives allowed */ ++#undef HAVE_ASM_POPSECTION_DIRECTIVE ++ ++/* support for section attributes */ ++#undef HAVE_SECTION_ATTRIBUTES ++ ++/* symbol prefix */ ++#undef __SYMBOL_PREFIX +diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure +new file mode 100644 +index 000000000..874eec1e2 +--- /dev/null ++++ b/libgloss/libsysbase/configure +@@ -0,0 +1,4158 @@ ++#! /bin/sh ++# Guess values for system-dependent variables and create Makefiles. ++# Generated by GNU Autoconf 2.69. ++# ++# ++# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. ++# ++# ++# This configure script is free software; the Free Software Foundation ++# gives unlimited permission to copy, distribute and modify it. ++## -------------------- ## ++## M4sh Initialization. ## ++## -------------------- ## ++ ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++ ++ ++as_nl=' ++' ++export as_nl ++# Printing a long string crashes Solaris 7 /usr/bin/printf. ++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo ++# Prefer a ksh shell builtin over an external printf program on Solaris, ++# but without wasting forks for bash or zsh. ++if test -z "$BASH_VERSION$ZSH_VERSION" \ ++ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='print -r --' ++ as_echo_n='print -rn --' ++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='printf %s\n' ++ as_echo_n='printf %s' ++else ++ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then ++ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' ++ as_echo_n='/usr/ucb/echo -n' ++ else ++ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' ++ as_echo_n_body='eval ++ arg=$1; ++ case $arg in #( ++ *"$as_nl"*) ++ expr "X$arg" : "X\\(.*\\)$as_nl"; ++ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; ++ esac; ++ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ++ ' ++ export as_echo_n_body ++ as_echo_n='sh -c $as_echo_n_body as_echo' ++ fi ++ export as_echo_body ++ as_echo='sh -c $as_echo_body as_echo' ++fi ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ PATH_SEPARATOR=: ++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { ++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || ++ PATH_SEPARATOR=';' ++ } ++fi ++ ++ ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++IFS=" "" $as_nl" ++ ++# Find who we are. Look in the path if we contain no directory separator. ++as_myself= ++case $0 in #(( ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++ done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ exit 1 ++fi ++ ++# Unset variables that we do not need and which cause bugs (e.g. in ++# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" ++# suppresses any "Segmentation fault" message there. '((' could ++# trigger a bug in pdksh 5.2.14. ++for as_var in BASH_ENV ENV MAIL MAILPATH ++do eval test x\${$as_var+set} = xset \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# CDPATH. ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH ++ ++# Use a proper internal environment variable to ensure we don't fall ++ # into an infinite loop, continuously re-executing ourselves. ++ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then ++ _as_can_reexec=no; export _as_can_reexec; ++ # We cannot yet assume a decent shell, so we have to provide a ++# neutralization value for shells without unset; and this also ++# works around shells that cannot unset nonexistent variables. ++# Preserve -v and -x to the replacement shell. ++BASH_ENV=/dev/null ++ENV=/dev/null ++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV ++case $- in # (((( ++ *v*x* | *x*v* ) as_opts=-vx ;; ++ *v* ) as_opts=-v ;; ++ *x* ) as_opts=-x ;; ++ * ) as_opts= ;; ++esac ++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} ++# Admittedly, this is quite paranoid, since all the known shells bail ++# out after a failed `exec'. ++$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 ++as_fn_exit 255 ++ fi ++ # We don't want this to propagate to other subprocesses. ++ { _as_can_reexec=; unset _as_can_reexec;} ++if test "x$CONFIG_SHELL" = x; then ++ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '\${1+\"\$@\"}'='\"\$@\"' ++ setopt NO_GLOB_SUBST ++else ++ case \`(set -o) 2>/dev/null\` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++" ++ as_required="as_fn_return () { (exit \$1); } ++as_fn_success () { as_fn_return 0; } ++as_fn_failure () { as_fn_return 1; } ++as_fn_ret_success () { return 0; } ++as_fn_ret_failure () { return 1; } ++ ++exitcode=0 ++as_fn_success || { exitcode=1; echo as_fn_success failed.; } ++as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } ++as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } ++as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } ++if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : ++ ++else ++ exitcode=1; echo positional parameters were not saved. ++fi ++test x\$exitcode = x0 || exit 1 ++test -x / || exit 1" ++ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO ++ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO ++ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && ++ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" ++ if (eval "$as_required") 2>/dev/null; then : ++ as_have_required=yes ++else ++ as_have_required=no ++fi ++ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : ++ ++else ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_found=false ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ as_found=: ++ case $as_dir in #( ++ /*) ++ for as_base in sh bash ksh sh5; do ++ # Try only shells that exist, to save several forks. ++ as_shell=$as_dir/$as_base ++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && ++ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : ++ CONFIG_SHELL=$as_shell as_have_required=yes ++ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : ++ break 2 ++fi ++fi ++ done;; ++ esac ++ as_found=false ++done ++$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && ++ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : ++ CONFIG_SHELL=$SHELL as_have_required=yes ++fi; } ++IFS=$as_save_IFS ++ ++ ++ if test "x$CONFIG_SHELL" != x; then : ++ export CONFIG_SHELL ++ # We cannot yet assume a decent shell, so we have to provide a ++# neutralization value for shells without unset; and this also ++# works around shells that cannot unset nonexistent variables. ++# Preserve -v and -x to the replacement shell. ++BASH_ENV=/dev/null ++ENV=/dev/null ++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV ++case $- in # (((( ++ *v*x* | *x*v* ) as_opts=-vx ;; ++ *v* ) as_opts=-v ;; ++ *x* ) as_opts=-x ;; ++ * ) as_opts= ;; ++esac ++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} ++# Admittedly, this is quite paranoid, since all the known shells bail ++# out after a failed `exec'. ++$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 ++exit 255 ++fi ++ ++ if test x$as_have_required = xno; then : ++ $as_echo "$0: This script requires a shell more modern than all" ++ $as_echo "$0: the shells that I found on your system." ++ if test x${ZSH_VERSION+set} = xset ; then ++ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" ++ $as_echo "$0: be upgraded to zsh 4.3.4 or later." ++ else ++ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, ++$0: including any error possibly output before this ++$0: message. Then install a modern shell, or manually run ++$0: the script under such a shell if you do have one." ++ fi ++ exit 1 ++fi ++fi ++fi ++SHELL=${CONFIG_SHELL-/bin/sh} ++export SHELL ++# Unset more variables known to interfere with behavior of common tools. ++CLICOLOR_FORCE= GREP_OPTIONS= ++unset CLICOLOR_FORCE GREP_OPTIONS ++ ++## --------------------- ## ++## M4sh Shell Functions. ## ++## --------------------- ## ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset ++ ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status ++ ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit ++ ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ ++ ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" ++ ++ ++} # as_fn_mkdir_p ++ ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : ++ eval 'as_fn_append () ++ { ++ eval $1+=\$2 ++ }' ++else ++ as_fn_append () ++ { ++ eval $1=\$$1\$2 ++ } ++fi # as_fn_append ++ ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith ++ ++ ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ $as_echo "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error ++ ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++ ++ as_lineno_1=$LINENO as_lineno_1a=$LINENO ++ as_lineno_2=$LINENO as_lineno_2a=$LINENO ++ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && ++ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { ++ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) ++ sed -n ' ++ p ++ /[$]LINENO/= ++ ' <$as_myself | ++ sed ' ++ s/[$]LINENO.*/&-/ ++ t lineno ++ b ++ :lineno ++ N ++ :loop ++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ ++ t loop ++ s/-\n.*// ++ ' >$as_me.lineno && ++ chmod +x "$as_me.lineno" || ++ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } ++ ++ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have ++ # already done that, so ensure we don't try to do so again and fall ++ # in an infinite loop. This has already happened in practice. ++ _as_can_reexec=no; export _as_can_reexec ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensitive to this). ++ . "./$as_me.lineno" ++ # Exit status is that of the last command. ++ exit ++} ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null ++fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++ else ++ as_ln_s='cp -pR' ++ fi ++else ++ as_ln_s='cp -pR' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null ++ ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++ ++test -n "$DJDIR" || exec 7<&0 &1 ++ ++# Name of the host. ++# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, ++# so uname gets run too. ++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` ++ ++# ++# Initializations. ++# ++ac_default_prefix=/usr/local ++ac_clean_files= ++ac_config_libobj_dir=. ++LIBOBJS= ++cross_compiling=no ++subdirs= ++MFLAGS= ++MAKEFLAGS= ++ ++# Identity of this package. ++PACKAGE_NAME= ++PACKAGE_TARNAME= ++PACKAGE_VERSION= ++PACKAGE_STRING= ++PACKAGE_BUGREPORT= ++PACKAGE_URL= ++ ++ac_unique_file="close.c" ++ac_subst_vars='LTLIBOBJS ++LIBOBJS ++host_makefile_frag_path ++CCASFLAGS ++CCAS ++RANLIB ++LD ++AR ++AS ++am__fastdepCC_FALSE ++am__fastdepCC_TRUE ++CCDEPMODE ++AMDEPBACKSLASH ++AMDEP_FALSE ++AMDEP_TRUE ++am__quote ++am__include ++DEPDIR ++am__leading_dot ++CC ++INSTALL_DATA ++INSTALL_SCRIPT ++INSTALL_PROGRAM ++target_os ++target_vendor ++target_cpu ++target ++host_os ++host_vendor ++host_cpu ++host ++build_os ++build_vendor ++build_cpu ++build ++target_alias ++host_alias ++build_alias ++LIBS ++ECHO_T ++ECHO_N ++ECHO_C ++DEFS ++mandir ++localedir ++libdir ++psdir ++pdfdir ++dvidir ++htmldir ++infodir ++docdir ++oldincludedir ++includedir ++localstatedir ++sharedstatedir ++sysconfdir ++datadir ++datarootdir ++libexecdir ++sbindir ++bindir ++program_transform_name ++prefix ++exec_prefix ++PACKAGE_URL ++PACKAGE_BUGREPORT ++PACKAGE_STRING ++PACKAGE_VERSION ++PACKAGE_TARNAME ++PACKAGE_NAME ++PATH_SEPARATOR ++SHELL' ++ac_subst_files='host_makefile_frag' ++ac_user_opts=' ++enable_option_checking ++enable_dependency_tracking ++' ++ ac_precious_vars='build_alias ++host_alias ++target_alias ++CCAS ++CCASFLAGS' ++ ++ ++# Initialize some variables set by options. ++ac_init_help= ++ac_init_version=false ++ac_unrecognized_opts= ++ac_unrecognized_sep= ++# The variables have the same names as the options, with ++# dashes changed to underlines. ++cache_file=/dev/null ++exec_prefix=NONE ++no_create= ++no_recursion= ++prefix=NONE ++program_prefix=NONE ++program_suffix=NONE ++program_transform_name=s,x,x, ++silent= ++site= ++srcdir= ++verbose= ++x_includes=NONE ++x_libraries=NONE ++ ++# Installation directory options. ++# These are left unexpanded so users can "make install exec_prefix=/foo" ++# and all the variables that are supposed to be based on exec_prefix ++# by default will actually change. ++# Use braces instead of parens because sh, perl, etc. also accept them. ++# (The list follows the same order as the GNU Coding Standards.) ++bindir='${exec_prefix}/bin' ++sbindir='${exec_prefix}/sbin' ++libexecdir='${exec_prefix}/libexec' ++datarootdir='${prefix}/share' ++datadir='${datarootdir}' ++sysconfdir='${prefix}/etc' ++sharedstatedir='${prefix}/com' ++localstatedir='${prefix}/var' ++includedir='${prefix}/include' ++oldincludedir='/usr/include' ++docdir='${datarootdir}/doc/${PACKAGE}' ++infodir='${datarootdir}/info' ++htmldir='${docdir}' ++dvidir='${docdir}' ++pdfdir='${docdir}' ++psdir='${docdir}' ++libdir='${exec_prefix}/lib' ++localedir='${datarootdir}/locale' ++mandir='${datarootdir}/man' ++ ++ac_prev= ++ac_dashdash= ++for ac_option ++do ++ # If the previous option needs an argument, assign it. ++ if test -n "$ac_prev"; then ++ eval $ac_prev=\$ac_option ++ ac_prev= ++ continue ++ fi ++ ++ case $ac_option in ++ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; ++ *=) ac_optarg= ;; ++ *) ac_optarg=yes ;; ++ esac ++ ++ # Accept the important Cygnus configure options, so we can diagnose typos. ++ ++ case $ac_dashdash$ac_option in ++ --) ++ ac_dashdash=yes ;; ++ ++ -bindir | --bindir | --bindi | --bind | --bin | --bi) ++ ac_prev=bindir ;; ++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) ++ bindir=$ac_optarg ;; ++ ++ -build | --build | --buil | --bui | --bu) ++ ac_prev=build_alias ;; ++ -build=* | --build=* | --buil=* | --bui=* | --bu=*) ++ build_alias=$ac_optarg ;; ++ ++ -cache-file | --cache-file | --cache-fil | --cache-fi \ ++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ++ ac_prev=cache_file ;; ++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ ++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) ++ cache_file=$ac_optarg ;; ++ ++ --config-cache | -C) ++ cache_file=config.cache ;; ++ ++ -datadir | --datadir | --datadi | --datad) ++ ac_prev=datadir ;; ++ -datadir=* | --datadir=* | --datadi=* | --datad=*) ++ datadir=$ac_optarg ;; ++ ++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ ++ | --dataroo | --dataro | --datar) ++ ac_prev=datarootdir ;; ++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ ++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) ++ datarootdir=$ac_optarg ;; ++ ++ -disable-* | --disable-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid feature name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"enable_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval enable_$ac_useropt=no ;; ++ ++ -docdir | --docdir | --docdi | --doc | --do) ++ ac_prev=docdir ;; ++ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) ++ docdir=$ac_optarg ;; ++ ++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ++ ac_prev=dvidir ;; ++ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) ++ dvidir=$ac_optarg ;; ++ ++ -enable-* | --enable-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid feature name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"enable_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval enable_$ac_useropt=\$ac_optarg ;; ++ ++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ ++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ ++ | --exec | --exe | --ex) ++ ac_prev=exec_prefix ;; ++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ ++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ ++ | --exec=* | --exe=* | --ex=*) ++ exec_prefix=$ac_optarg ;; ++ ++ -gas | --gas | --ga | --g) ++ # Obsolete; use --with-gas. ++ with_gas=yes ;; ++ ++ -help | --help | --hel | --he | -h) ++ ac_init_help=long ;; ++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ++ ac_init_help=recursive ;; ++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ++ ac_init_help=short ;; ++ ++ -host | --host | --hos | --ho) ++ ac_prev=host_alias ;; ++ -host=* | --host=* | --hos=* | --ho=*) ++ host_alias=$ac_optarg ;; ++ ++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ++ ac_prev=htmldir ;; ++ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ ++ | --ht=*) ++ htmldir=$ac_optarg ;; ++ ++ -includedir | --includedir | --includedi | --included | --include \ ++ | --includ | --inclu | --incl | --inc) ++ ac_prev=includedir ;; ++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ ++ | --includ=* | --inclu=* | --incl=* | --inc=*) ++ includedir=$ac_optarg ;; ++ ++ -infodir | --infodir | --infodi | --infod | --info | --inf) ++ ac_prev=infodir ;; ++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) ++ infodir=$ac_optarg ;; ++ ++ -libdir | --libdir | --libdi | --libd) ++ ac_prev=libdir ;; ++ -libdir=* | --libdir=* | --libdi=* | --libd=*) ++ libdir=$ac_optarg ;; ++ ++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ ++ | --libexe | --libex | --libe) ++ ac_prev=libexecdir ;; ++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ ++ | --libexe=* | --libex=* | --libe=*) ++ libexecdir=$ac_optarg ;; ++ ++ -localedir | --localedir | --localedi | --localed | --locale) ++ ac_prev=localedir ;; ++ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) ++ localedir=$ac_optarg ;; ++ ++ -localstatedir | --localstatedir | --localstatedi | --localstated \ ++ | --localstate | --localstat | --localsta | --localst | --locals) ++ ac_prev=localstatedir ;; ++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ ++ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) ++ localstatedir=$ac_optarg ;; ++ ++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ++ ac_prev=mandir ;; ++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) ++ mandir=$ac_optarg ;; ++ ++ -nfp | --nfp | --nf) ++ # Obsolete; use --without-fp. ++ with_fp=no ;; ++ ++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ++ | --no-cr | --no-c | -n) ++ no_create=yes ;; ++ ++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ ++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ++ no_recursion=yes ;; ++ ++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ ++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ ++ | --oldin | --oldi | --old | --ol | --o) ++ ac_prev=oldincludedir ;; ++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ ++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ ++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) ++ oldincludedir=$ac_optarg ;; ++ ++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ++ ac_prev=prefix ;; ++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ++ prefix=$ac_optarg ;; ++ ++ -program-prefix | --program-prefix | --program-prefi | --program-pref \ ++ | --program-pre | --program-pr | --program-p) ++ ac_prev=program_prefix ;; ++ -program-prefix=* | --program-prefix=* | --program-prefi=* \ ++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) ++ program_prefix=$ac_optarg ;; ++ ++ -program-suffix | --program-suffix | --program-suffi | --program-suff \ ++ | --program-suf | --program-su | --program-s) ++ ac_prev=program_suffix ;; ++ -program-suffix=* | --program-suffix=* | --program-suffi=* \ ++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) ++ program_suffix=$ac_optarg ;; ++ ++ -program-transform-name | --program-transform-name \ ++ | --program-transform-nam | --program-transform-na \ ++ | --program-transform-n | --program-transform- \ ++ | --program-transform | --program-transfor \ ++ | --program-transfo | --program-transf \ ++ | --program-trans | --program-tran \ ++ | --progr-tra | --program-tr | --program-t) ++ ac_prev=program_transform_name ;; ++ -program-transform-name=* | --program-transform-name=* \ ++ | --program-transform-nam=* | --program-transform-na=* \ ++ | --program-transform-n=* | --program-transform-=* \ ++ | --program-transform=* | --program-transfor=* \ ++ | --program-transfo=* | --program-transf=* \ ++ | --program-trans=* | --program-tran=* \ ++ | --progr-tra=* | --program-tr=* | --program-t=*) ++ program_transform_name=$ac_optarg ;; ++ ++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ++ ac_prev=pdfdir ;; ++ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) ++ pdfdir=$ac_optarg ;; ++ ++ -psdir | --psdir | --psdi | --psd | --ps) ++ ac_prev=psdir ;; ++ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) ++ psdir=$ac_optarg ;; ++ ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ silent=yes ;; ++ ++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ++ ac_prev=sbindir ;; ++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ ++ | --sbi=* | --sb=*) ++ sbindir=$ac_optarg ;; ++ ++ -sharedstatedir | --sharedstatedir | --sharedstatedi \ ++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ ++ | --sharedst | --shareds | --shared | --share | --shar \ ++ | --sha | --sh) ++ ac_prev=sharedstatedir ;; ++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ ++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ ++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ ++ | --sha=* | --sh=*) ++ sharedstatedir=$ac_optarg ;; ++ ++ -site | --site | --sit) ++ ac_prev=site ;; ++ -site=* | --site=* | --sit=*) ++ site=$ac_optarg ;; ++ ++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ++ ac_prev=srcdir ;; ++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ++ srcdir=$ac_optarg ;; ++ ++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ ++ | --syscon | --sysco | --sysc | --sys | --sy) ++ ac_prev=sysconfdir ;; ++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ ++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) ++ sysconfdir=$ac_optarg ;; ++ ++ -target | --target | --targe | --targ | --tar | --ta | --t) ++ ac_prev=target_alias ;; ++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) ++ target_alias=$ac_optarg ;; ++ ++ -v | -verbose | --verbose | --verbos | --verbo | --verb) ++ verbose=yes ;; ++ ++ -version | --version | --versio | --versi | --vers | -V) ++ ac_init_version=: ;; ++ ++ -with-* | --with-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid package name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"with_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval with_$ac_useropt=\$ac_optarg ;; ++ ++ -without-* | --without-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid package name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"with_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval with_$ac_useropt=no ;; ++ ++ --x) ++ # Obsolete; use --with-x. ++ with_x=yes ;; ++ ++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ ++ | --x-incl | --x-inc | --x-in | --x-i) ++ ac_prev=x_includes ;; ++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ ++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) ++ x_includes=$ac_optarg ;; ++ ++ -x-libraries | --x-libraries | --x-librarie | --x-librari \ ++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ++ ac_prev=x_libraries ;; ++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ ++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) ++ x_libraries=$ac_optarg ;; ++ ++ -*) as_fn_error $? "unrecognized option: \`$ac_option' ++Try \`$0 --help' for more information" ++ ;; ++ ++ *=*) ++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` ++ # Reject names that are not valid shell variable names. ++ case $ac_envvar in #( ++ '' | [0-9]* | *[!_$as_cr_alnum]* ) ++ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; ++ esac ++ eval $ac_envvar=\$ac_optarg ++ export $ac_envvar ;; ++ ++ *) ++ # FIXME: should be removed in autoconf 3.0. ++ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 ++ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ++ ;; ++ ++ esac ++done ++ ++if test -n "$ac_prev"; then ++ ac_option=--`echo $ac_prev | sed 's/_/-/g'` ++ as_fn_error $? "missing argument to $ac_option" ++fi ++ ++if test -n "$ac_unrecognized_opts"; then ++ case $enable_option_checking in ++ no) ;; ++ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; ++ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; ++ esac ++fi ++ ++# Check all directory arguments for consistency. ++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ ++ datadir sysconfdir sharedstatedir localstatedir includedir \ ++ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ ++ libdir localedir mandir ++do ++ eval ac_val=\$$ac_var ++ # Remove trailing slashes. ++ case $ac_val in ++ */ ) ++ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` ++ eval $ac_var=\$ac_val;; ++ esac ++ # Be sure to have absolute directory names. ++ case $ac_val in ++ [\\/$]* | ?:[\\/]* ) continue;; ++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; ++ esac ++ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" ++done ++ ++# There might be people who depend on the old broken behavior: `$host' ++# used to hold the argument of --host etc. ++# FIXME: To remove some day. ++build=$build_alias ++host=$host_alias ++target=$target_alias ++ ++# FIXME: To remove some day. ++if test "x$host_alias" != x; then ++ if test "x$build_alias" = x; then ++ cross_compiling=maybe ++ elif test "x$build_alias" != "x$host_alias"; then ++ cross_compiling=yes ++ fi ++fi ++ ++ac_tool_prefix= ++test -n "$host_alias" && ac_tool_prefix=$host_alias- ++ ++test "$silent" = yes && exec 6>/dev/null ++ ++ ++ac_pwd=`pwd` && test -n "$ac_pwd" && ++ac_ls_di=`ls -di .` && ++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || ++ as_fn_error $? "working directory cannot be determined" ++test "X$ac_ls_di" = "X$ac_pwd_ls_di" || ++ as_fn_error $? "pwd does not report name of working directory" ++ ++ ++# Find the source files, if location was not specified. ++if test -z "$srcdir"; then ++ ac_srcdir_defaulted=yes ++ # Try the directory containing this script, then the parent directory. ++ ac_confdir=`$as_dirname -- "$as_myself" || ++$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_myself" : 'X\(//\)[^/]' \| \ ++ X"$as_myself" : 'X\(//\)$' \| \ ++ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_myself" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ srcdir=$ac_confdir ++ if test ! -r "$srcdir/$ac_unique_file"; then ++ srcdir=.. ++ fi ++else ++ ac_srcdir_defaulted=no ++fi ++if test ! -r "$srcdir/$ac_unique_file"; then ++ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." ++ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" ++fi ++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ++ac_abs_confdir=`( ++ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" ++ pwd)` ++# When building in place, set srcdir=. ++if test "$ac_abs_confdir" = "$ac_pwd"; then ++ srcdir=. ++fi ++# Remove unnecessary trailing slashes from srcdir. ++# Double slashes in file names in object file debugging info ++# mess up M-x gdb in Emacs. ++case $srcdir in ++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; ++esac ++for ac_var in $ac_precious_vars; do ++ eval ac_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_env_${ac_var}_value=\$${ac_var} ++ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_cv_env_${ac_var}_value=\$${ac_var} ++done ++ ++# ++# Report the --help message. ++# ++if test "$ac_init_help" = "long"; then ++ # Omit some internal or obsolete options to make the list less imposing. ++ # This message is too long to be a string in the A/UX 3.1 sh. ++ cat <<_ACEOF ++\`configure' configures this package to adapt to many kinds of systems. ++ ++Usage: $0 [OPTION]... [VAR=VALUE]... ++ ++To assign environment variables (e.g., CC, CFLAGS...), specify them as ++VAR=VALUE. See below for descriptions of some of the useful variables. ++ ++Defaults for the options are specified in brackets. ++ ++Configuration: ++ -h, --help display this help and exit ++ --help=short display options specific to this package ++ --help=recursive display the short help of all the included packages ++ -V, --version display version information and exit ++ -q, --quiet, --silent do not print \`checking ...' messages ++ --cache-file=FILE cache test results in FILE [disabled] ++ -C, --config-cache alias for \`--cache-file=config.cache' ++ -n, --no-create do not create output files ++ --srcdir=DIR find the sources in DIR [configure dir or \`..'] ++ ++Installation directories: ++ --prefix=PREFIX install architecture-independent files in PREFIX ++ [$ac_default_prefix] ++ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX ++ [PREFIX] ++ ++By default, \`make install' will install all the files in ++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify ++an installation prefix other than \`$ac_default_prefix' using \`--prefix', ++for instance \`--prefix=\$HOME'. ++ ++For better control, use the options below. ++ ++Fine tuning of the installation directories: ++ --bindir=DIR user executables [EPREFIX/bin] ++ --sbindir=DIR system admin executables [EPREFIX/sbin] ++ --libexecdir=DIR program executables [EPREFIX/libexec] ++ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] ++ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] ++ --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --libdir=DIR object code libraries [EPREFIX/lib] ++ --includedir=DIR C header files [PREFIX/include] ++ --oldincludedir=DIR C header files for non-gcc [/usr/include] ++ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] ++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] ++ --infodir=DIR info documentation [DATAROOTDIR/info] ++ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] ++ --mandir=DIR man documentation [DATAROOTDIR/man] ++ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] ++ --htmldir=DIR html documentation [DOCDIR] ++ --dvidir=DIR dvi documentation [DOCDIR] ++ --pdfdir=DIR pdf documentation [DOCDIR] ++ --psdir=DIR ps documentation [DOCDIR] ++_ACEOF ++ ++ cat <<\_ACEOF ++ ++Program names: ++ --program-prefix=PREFIX prepend PREFIX to installed program names ++ --program-suffix=SUFFIX append SUFFIX to installed program names ++ --program-transform-name=PROGRAM run sed PROGRAM on installed program names ++ ++System types: ++ --build=BUILD configure for building on BUILD [guessed] ++ --host=HOST cross-compile to build programs to run on HOST [BUILD] ++ --target=TARGET configure for building compilers for TARGET [HOST] ++_ACEOF ++fi ++ ++if test -n "$ac_init_help"; then ++ ++ cat <<\_ACEOF ++ ++Optional Features: ++ --disable-option-checking ignore unrecognized --enable/--with options ++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) ++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] ++ --disable-dependency-tracking speeds up one-time build ++ --enable-dependency-tracking do not reject slow dependency extractors ++ ++Some influential environment variables: ++ CCAS assembler compiler command (defaults to CC) ++ CCASFLAGS assembler compiler flags (defaults to CFLAGS) ++ ++Use these variables to override the choices made by `configure' or to help ++it to find libraries and programs with nonstandard names/locations. ++ ++Report bugs to the package provider. ++_ACEOF ++ac_status=$? ++fi ++ ++if test "$ac_init_help" = "recursive"; then ++ # If there are subdirs, report their specific --help. ++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue ++ test -d "$ac_dir" || ++ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || ++ continue ++ ac_builddir=. ++ ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix ++ ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ cd "$ac_dir" || { ac_status=$?; continue; } ++ # Check for guested configure. ++ if test -f "$ac_srcdir/configure.gnu"; then ++ echo && ++ $SHELL "$ac_srcdir/configure.gnu" --help=recursive ++ elif test -f "$ac_srcdir/configure"; then ++ echo && ++ $SHELL "$ac_srcdir/configure" --help=recursive ++ else ++ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ fi || ac_status=$? ++ cd "$ac_pwd" || { ac_status=$?; break; } ++ done ++fi ++ ++test -n "$ac_init_help" && exit $ac_status ++if $ac_init_version; then ++ cat <<\_ACEOF ++configure ++generated by GNU Autoconf 2.69 ++ ++Copyright (C) 2012 Free Software Foundation, Inc. ++This configure script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it. ++_ACEOF ++ exit ++fi ++ ++## ------------------------ ## ++## Autoconf initialization. ## ++## ------------------------ ## ++ ++# ac_fn_c_try_compile LINENO ++# -------------------------- ++# Try to compile conftest.$ac_ext, and return whether this succeeded. ++ac_fn_c_try_compile () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ rm -f conftest.$ac_objext ++ if { { ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" ++$as_echo "$ac_try_echo"; } >&5 ++ (eval "$ac_compile") 2>conftest.err ++ ac_status=$? ++ if test -s conftest.err; then ++ grep -v '^ *+' conftest.err >conftest.er1 ++ cat conftest.er1 >&5 ++ mv -f conftest.er1 conftest.err ++ fi ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then : ++ ac_retval=0 ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_retval=1 ++fi ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ as_fn_set_status $ac_retval ++ ++} # ac_fn_c_try_compile ++cat >config.log <<_ACEOF ++This file contains any messages produced by compilers while ++running configure, to aid debugging if configure makes a mistake. ++ ++It was created by $as_me, which was ++generated by GNU Autoconf 2.69. Invocation command line was ++ ++ $ $0 $@ ++ ++_ACEOF ++exec 5>>config.log ++{ ++cat <<_ASUNAME ++## --------- ## ++## Platform. ## ++## --------- ## ++ ++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` ++uname -m = `(uname -m) 2>/dev/null || echo unknown` ++uname -r = `(uname -r) 2>/dev/null || echo unknown` ++uname -s = `(uname -s) 2>/dev/null || echo unknown` ++uname -v = `(uname -v) 2>/dev/null || echo unknown` ++ ++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` ++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` ++ ++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` ++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` ++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` ++/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` ++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` ++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` ++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` ++ ++_ASUNAME ++ ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ $as_echo "PATH: $as_dir" ++ done ++IFS=$as_save_IFS ++ ++} >&5 ++ ++cat >&5 <<_ACEOF ++ ++ ++## ----------- ## ++## Core tests. ## ++## ----------- ## ++ ++_ACEOF ++ ++ ++# Keep a trace of the command line. ++# Strip out --no-create and --no-recursion so they do not pile up. ++# Strip out --silent because we don't want to record it for future runs. ++# Also quote any args containing shell meta-characters. ++# Make two passes to allow for proper duplicate-argument suppression. ++ac_configure_args= ++ac_configure_args0= ++ac_configure_args1= ++ac_must_keep_next=false ++for ac_pass in 1 2 ++do ++ for ac_arg ++ do ++ case $ac_arg in ++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ continue ;; ++ *\'*) ++ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ case $ac_pass in ++ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; ++ 2) ++ as_fn_append ac_configure_args1 " '$ac_arg'" ++ if test $ac_must_keep_next = true; then ++ ac_must_keep_next=false # Got value, back to normal. ++ else ++ case $ac_arg in ++ *=* | --config-cache | -C | -disable-* | --disable-* \ ++ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ ++ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ ++ | -with-* | --with-* | -without-* | --without-* | --x) ++ case "$ac_configure_args0 " in ++ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; ++ esac ++ ;; ++ -* ) ac_must_keep_next=true ;; ++ esac ++ fi ++ as_fn_append ac_configure_args " '$ac_arg'" ++ ;; ++ esac ++ done ++done ++{ ac_configure_args0=; unset ac_configure_args0;} ++{ ac_configure_args1=; unset ac_configure_args1;} ++ ++# When interrupted or exit'd, cleanup temporary files, and complete ++# config.log. We remove comments because anyway the quotes in there ++# would cause problems or look ugly. ++# WARNING: Use '\'' to represent an apostrophe within the trap. ++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. ++trap 'exit_status=$? ++ # Save into config.log some information that might help in debugging. ++ { ++ echo ++ ++ $as_echo "## ---------------- ## ++## Cache variables. ## ++## ---------------- ##" ++ echo ++ # The following way of writing the cache mishandles newlines in values, ++( ++ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( ++ *) { eval $ac_var=; unset $ac_var;} ;; ++ esac ;; ++ esac ++ done ++ (set) 2>&1 | ++ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ sed -n \ ++ "s/'\''/'\''\\\\'\'''\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ++ ;; #( ++ *) ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) ++ echo ++ ++ $as_echo "## ----------------- ## ++## Output variables. ## ++## ----------------- ##" ++ echo ++ for ac_var in $ac_subst_vars ++ do ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ $as_echo "$ac_var='\''$ac_val'\''" ++ done | sort ++ echo ++ ++ if test -n "$ac_subst_files"; then ++ $as_echo "## ------------------- ## ++## File substitutions. ## ++## ------------------- ##" ++ echo ++ for ac_var in $ac_subst_files ++ do ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ $as_echo "$ac_var='\''$ac_val'\''" ++ done | sort ++ echo ++ fi ++ ++ if test -s confdefs.h; then ++ $as_echo "## ----------- ## ++## confdefs.h. ## ++## ----------- ##" ++ echo ++ cat confdefs.h ++ echo ++ fi ++ test "$ac_signal" != 0 && ++ $as_echo "$as_me: caught signal $ac_signal" ++ $as_echo "$as_me: exit $exit_status" ++ } >&5 ++ rm -f core *.core core.conftest.* && ++ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && ++ exit $exit_status ++' 0 ++for ac_signal in 1 2 13 15; do ++ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal ++done ++ac_signal=0 ++ ++# confdefs.h avoids OS command line length limits that DEFS can exceed. ++rm -f -r conftest* confdefs.h ++ ++$as_echo "/* confdefs.h */" > confdefs.h ++ ++# Predefined preprocessor variables. ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_NAME "$PACKAGE_NAME" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_TARNAME "$PACKAGE_TARNAME" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_VERSION "$PACKAGE_VERSION" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_STRING "$PACKAGE_STRING" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_URL "$PACKAGE_URL" ++_ACEOF ++ ++ ++# Let the site file select an alternate cache file if it wants to. ++# Prefer an explicitly selected file to automatically selected ones. ++ac_site_file1=NONE ++ac_site_file2=NONE ++if test -n "$CONFIG_SITE"; then ++ # We do not want a PATH search for config.site. ++ case $CONFIG_SITE in #(( ++ -*) ac_site_file1=./$CONFIG_SITE;; ++ */*) ac_site_file1=$CONFIG_SITE;; ++ *) ac_site_file1=./$CONFIG_SITE;; ++ esac ++elif test "x$prefix" != xNONE; then ++ ac_site_file1=$prefix/share/config.site ++ ac_site_file2=$prefix/etc/config.site ++else ++ ac_site_file1=$ac_default_prefix/share/config.site ++ ac_site_file2=$ac_default_prefix/etc/config.site ++fi ++for ac_site_file in "$ac_site_file1" "$ac_site_file2" ++do ++ test "x$ac_site_file" = xNONE && continue ++ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 ++$as_echo "$as_me: loading site script $ac_site_file" >&6;} ++ sed 's/^/| /' "$ac_site_file" >&5 ++ . "$ac_site_file" \ ++ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "failed to load site script $ac_site_file ++See \`config.log' for more details" "$LINENO" 5; } ++ fi ++done ++ ++if test -r "$cache_file"; then ++ # Some versions of bash will fail to source /dev/null (special files ++ # actually), so we avoid doing that. DJGPP emulates it as a regular file. ++ if test /dev/null != "$cache_file" && test -f "$cache_file"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 ++$as_echo "$as_me: loading cache $cache_file" >&6;} ++ case $cache_file in ++ [\\/]* | ?:[\\/]* ) . "$cache_file";; ++ *) . "./$cache_file";; ++ esac ++ fi ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 ++$as_echo "$as_me: creating cache $cache_file" >&6;} ++ >$cache_file ++fi ++ ++# Check that the precious variables saved in the cache have kept the same ++# value. ++ac_cache_corrupted=false ++for ac_var in $ac_precious_vars; do ++ eval ac_old_set=\$ac_cv_env_${ac_var}_set ++ eval ac_new_set=\$ac_env_${ac_var}_set ++ eval ac_old_val=\$ac_cv_env_${ac_var}_value ++ eval ac_new_val=\$ac_env_${ac_var}_value ++ case $ac_old_set,$ac_new_set in ++ set,) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,set) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 ++$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,);; ++ *) ++ if test "x$ac_old_val" != "x$ac_new_val"; then ++ # differences in whitespace do not lead to failure. ++ ac_old_val_w=`echo x $ac_old_val` ++ ac_new_val_w=`echo x $ac_new_val` ++ if test "$ac_old_val_w" != "$ac_new_val_w"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 ++$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ++ ac_cache_corrupted=: ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 ++$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} ++ eval $ac_var=\$ac_old_val ++ fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 ++$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} ++ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 ++$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} ++ fi;; ++ esac ++ # Pass precious variables to config.status. ++ if test "$ac_new_set" = set; then ++ case $ac_new_val in ++ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *) ac_arg=$ac_var=$ac_new_val ;; ++ esac ++ case " $ac_configure_args " in ++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. ++ *) as_fn_append ac_configure_args " '$ac_arg'" ;; ++ esac ++ fi ++done ++if $ac_cache_corrupted; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 ++$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} ++ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 ++fi ++## -------------------- ## ++## Main body of script. ## ++## -------------------- ## ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ++ac_config_headers="$ac_config_headers config.h" ++ ++ ++if test "${enable_shared}" = "yes" ; then ++ echo "Shared libraries not supported for cross compiling, ignored" ++fi ++ ++if test "$srcdir" = "." ; then ++ if test "${with_target_subdir}" != "." ; then ++ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." ++ else ++ libgloss_topdir="${srcdir}/${with_multisrctop}../.." ++ fi ++else ++ libgloss_topdir="${srcdir}/../.." ++fi ++ac_aux_dir= ++for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do ++ if test -f "$ac_dir/install-sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install-sh -c" ++ break ++ elif test -f "$ac_dir/install.sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install.sh -c" ++ break ++ elif test -f "$ac_dir/shtool"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/shtool install -c" ++ break ++ fi ++done ++if test -z "$ac_aux_dir"; then ++ as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5 ++fi ++ ++# These three variables are undocumented and unsupported, ++# and are intended to be withdrawn in a future Autoconf release. ++# They can cause serious problems if a builder's source tree is in a directory ++# whose full name contains unusual characters. ++ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ++ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ++ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ++ ++ ++ ++# Make sure we can run config.sub. ++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || ++ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 ++$as_echo_n "checking build system type... " >&6; } ++if ${ac_cv_build+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_build_alias=$build_alias ++test "x$ac_build_alias" = x && ++ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` ++test "x$ac_build_alias" = x && ++ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 ++$as_echo "$ac_cv_build" >&6; } ++case $ac_cv_build in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; ++esac ++build=$ac_cv_build ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_build ++shift ++build_cpu=$1 ++build_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++build_os=$* ++IFS=$ac_save_IFS ++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 ++$as_echo_n "checking host system type... " >&6; } ++if ${ac_cv_host+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test "x$host_alias" = x; then ++ ac_cv_host=$ac_cv_build ++else ++ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 ++$as_echo "$ac_cv_host" >&6; } ++case $ac_cv_host in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; ++esac ++host=$ac_cv_host ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_host ++shift ++host_cpu=$1 ++host_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++host_os=$* ++IFS=$ac_save_IFS ++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 ++$as_echo_n "checking target system type... " >&6; } ++if ${ac_cv_target+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test "x$target_alias" = x; then ++ ac_cv_target=$ac_cv_host ++else ++ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 ++$as_echo "$ac_cv_target" >&6; } ++case $ac_cv_target in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; ++esac ++target=$ac_cv_target ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_target ++shift ++target_cpu=$1 ++target_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++target_os=$* ++IFS=$ac_save_IFS ++case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac ++ ++ ++# The aliases save the names the user supplied, while $host etc. ++# will get canonicalized. ++test -n "$target_alias" && ++ test "$program_prefix$program_suffix$program_transform_name" = \ ++ NONENONEs,x,x, && ++ program_prefix=${target_alias}- ++ ++test "$program_prefix" != NONE && ++ program_transform_name="s&^&$program_prefix&;$program_transform_name" ++# Use a double $ so make ignores it. ++test "$program_suffix" != NONE && ++ program_transform_name="s&\$&$program_suffix&;$program_transform_name" ++# Double any \ or $. ++# By default was `s,x,x', remove it if useless. ++ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' ++program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` ++ ++ ++# Find a good install program. We prefer a C program (faster), ++# so one script is as good as another. But avoid the broken or ++# incompatible versions: ++# SysV /etc/install, /usr/sbin/install ++# SunOS /usr/etc/install ++# IRIX /sbin/install ++# AIX /bin/install ++# AmigaOS /C/install, which installs bootblocks on floppy discs ++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag ++# AFS /usr/afsws/bin/install, which mishandles nonexistent args ++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" ++# OS/2's system install, which has a completely different semantic ++# ./install, which can be erroneously created by make from ./install.sh. ++# Reject install programs that cannot install multiple files. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 ++$as_echo_n "checking for a BSD-compatible install... " >&6; } ++if test -z "$INSTALL"; then ++if ${ac_cv_path_install+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ # Account for people who put trailing slashes in PATH elements. ++case $as_dir/ in #(( ++ ./ | .// | /[cC]/* | \ ++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ++ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ ++ /usr/ucb/* ) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then ++ if test $ac_prog = install && ++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ elif test $ac_prog = install && ++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # program-specific install script used by HP pwplus--don't use. ++ : ++ else ++ rm -rf conftest.one conftest.two conftest.dir ++ echo one > conftest.one ++ echo two > conftest.two ++ mkdir conftest.dir ++ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && ++ test -s conftest.one && test -s conftest.two && ++ test -s conftest.dir/conftest.one && ++ test -s conftest.dir/conftest.two ++ then ++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" ++ break 3 ++ fi ++ fi ++ fi ++ done ++ done ++ ;; ++esac ++ ++ done ++IFS=$as_save_IFS ++ ++rm -rf conftest.one conftest.two conftest.dir ++ ++fi ++ if test "${ac_cv_path_install+set}" = set; then ++ INSTALL=$ac_cv_path_install ++ else ++ # As a last resort, use the slow shell script. Don't cache a ++ # value for INSTALL within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the value is a relative name. ++ INSTALL=$ac_install_sh ++ fi ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 ++$as_echo "$INSTALL" >&6; } ++ ++# Use test -z because SunOS4 sh mishandles braces in ${var-val}. ++# It thinks the first close brace ends the variable substitution. ++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' ++ ++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' ++ ++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++ ++ ++$as_echo "#define HAVE_GNU_LD 1" >>confdefs.h ++ ++case "${target}" in ++ *-*-cygwin*) ++ ;; ++ a29k-amd-udi) ++ ;; ++ arc-*-*) ++ ;; ++ arm*-*-*) ++ ;; ++ bfin-*-*) ++ ;; ++ cris-*-* | crisv32-*-*) ++ ;; ++ d10v*) ++ ;; ++ h8300*-*-*) ++ ;; ++ h8500-*-*) ++ ;; ++ i345686-*-sco*) ++ ;; ++ lm32-*-*) ++ ;; ++ m32r-*-*) ++ ;; ++ mn10?00-*-*) ++ ;; ++ powerpc-*-eabi) ++ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h ++ ++ ;; ++ powerpcle-*-pe) ++ ;; ++ sh*-*-*) ++ ;; ++ sparc-sun-sunos*) ++ ;; ++ sparc64-*-*) ++ ;; ++ v850*-*-*) ++ ;; ++ w65-*-*) ++ ;; ++ xstormy16-*-*) ++ ;; ++ z8k-*-*) ++ ;; ++ *) ++ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h ++ ++ ;; ++esac ++ ++case "${target}" in ++ *-*-elf) ++ $as_echo "#define HAVE_ELF 1" >>confdefs.h ++ ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 ++$as_echo_n "checking for .previous assembler directive... " >&6; } ++if ${libc_cv_asm_previous_directive+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_asm_previous_directive=no ++ cat > conftest.s <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_asm_previous_directive=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 ++$as_echo "$libc_cv_asm_previous_directive" >&6; } ++ ++ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then ++ $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h ++ ++ fi ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 ++$as_echo_n "checking for .popsection assembler directive... " >&6; } ++if ${libc_cv_asm_popsection_directive+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_asm_popsection_directive=no ++ cat > conftest.s <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_asm_popsection_directive=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5 ++$as_echo "$libc_cv_asm_popsection_directive" >&6; } ++ ++ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then ++ $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h ++ ++ fi ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for section attributes" >&5 ++$as_echo_n "checking for section attributes... " >&6; } ++if ${libc_cv_section_attributes+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_section_attributes=no ++ cat > conftest.c <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_section_attributes=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_section_attributes" >&5 ++$as_echo "$libc_cv_section_attributes" >&6; } ++ if test "x${libc_cv_section_attributes}" = "xyes"; then ++ $as_echo "#define HAVE_SECTION_ATTRIBUTES 1" >>confdefs.h ++ ++ fi ++ ;; ++esac ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 ++$as_echo_n "checking for symbol prefix... " >&6; } ++if ${libc_cv_symbol_prefix+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat > conftest.c <<\EOF ++foo () { } ++EOF ++libc_cv_symbol_prefix=none ++if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; ++then ++ libc_cv_symbol_prefix='$' ++else ++ if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; ++ then ++ libc_cv_symbol_prefix=_ ++ fi ++fi ++rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_symbol_prefix" >&5 ++$as_echo "$libc_cv_symbol_prefix" >&6; } ++if test $libc_cv_symbol_prefix != none; then ++ cat >>confdefs.h <<_ACEOF ++#define __SYMBOL_PREFIX "$libc_cv_symbol_prefix" ++_ACEOF ++ ++else ++ $as_echo "#define __SYMBOL_PREFIX \"\"" >>confdefs.h ++ ++fi ++ ++rm -rf .tst 2>/dev/null ++mkdir .tst 2>/dev/null ++if test -d .tst; then ++ am__leading_dot=. ++else ++ am__leading_dot=_ ++fi ++rmdir .tst 2>/dev/null ++ ++DEPDIR="${am__leading_dot}deps" ++ ++ac_config_commands="$ac_config_commands depfiles" ++ ++ ++am_make=${MAKE-make} ++cat > confinc << 'END' ++am__doit: ++ @echo done ++.PHONY: am__doit ++END ++# If we don't find an include directive, just comment out the code. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 ++$as_echo_n "checking for style of include used by $am_make... " >&6; } ++am__include="#" ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# We grep out `Entering directory' and `Leaving directory' ++# messages which can occur if `w' ends up in MAKEFLAGS. ++# In particular we don't look at `^make:' because GNU make might ++# be invoked under some other name (usually "gmake"), in which ++# case it prints its new name instead of `make'. ++if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then ++ am__include=include ++ am__quote= ++ _am_result=GNU ++fi ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then ++ am__include=.include ++ am__quote="\"" ++ _am_result=BSD ++ fi ++fi ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 ++$as_echo "$_am_result" >&6; } ++rm -f confinc confmf ++ ++# Check whether --enable-dependency-tracking was given. ++if test "${enable_dependency_tracking+set}" = set; then : ++ enableval=$enable_dependency_tracking; ++fi ++ ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++fi ++ ++ ++if test "x$enable_dependency_tracking" != xno; then ++ AMDEP_TRUE= ++ AMDEP_FALSE='#' ++else ++ AMDEP_TRUE='#' ++ AMDEP_FALSE= ++fi ++ ++ ++ ++# Extract the first word of "gcc", so it can be a program name with args. ++set dummy gcc; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_CC+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="gcc" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++$as_echo "$CC" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ ++depcc="$CC" am_compiler_list= ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++$as_echo_n "checking dependency style of $depcc... " >&6; } ++if ${am_cv_CC_dependencies_compiler_type+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ # We will build objects and dependencies in a subdirectory because ++ # it helps to detect inapplicable dependency modes. For instance ++ # both Tru64's cc and ICC support -MD to output dependencies as a ++ # side effect of compilation, but ICC will put the dependencies in ++ # the current directory while Tru64 will put them in the object ++ # directory. ++ mkdir sub ++ ++ am_cv_CC_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # Setup a source with many dependencies, because some compilers ++ # like to wrap large dependency lists on column 80 (with \), and ++ # we should not choose a depcomp mode which is confused by this. ++ # ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ : > sub/conftest.c ++ for i in 1 2 3 4 5 6; do ++ echo '#include "conftst'$i'.h"' >> sub/conftest.c ++ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with ++ # Solaris 8's {/usr,}/bin/sh. ++ touch sub/conftst$i.h ++ done ++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf ++ ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ ++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ ++ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ ++ >/dev/null 2>conftest.err && ++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && ++ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ # icc doesn't choke on unknown options, it will just issue warnings ++ # or remarks (even with -Werror). So we grep stderr for any message ++ # that says an option was ignored or not supported. ++ # When given -MP, icc 7.0 and 7.1 complain thusly: ++ # icc: Command line warning: ignoring option '-M'; no argument required ++ # The diagnosis changed in icc 8.0: ++ # icc: Command line remark: option '-MP' not supported ++ if (grep 'ignoring option' conftest.err || ++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else ++ am_cv_CC_dependencies_compiler_type=$depmode ++ break ++ fi ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_CC_dependencies_compiler_type=none ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type ++ ++ ++ ++if ++ test "x$enable_dependency_tracking" != xno \ ++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then ++ am__fastdepCC_TRUE= ++ am__fastdepCC_FALSE='#' ++else ++ am__fastdepCC_TRUE='#' ++ am__fastdepCC_FALSE= ++fi ++ ++ ++if test -z "$CC"; then ++ # Extract the first word of "cc", so it can be a program name with args. ++set dummy cc; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_CC+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ ac_prog_rejected=no ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ++ ac_prog_rejected=yes ++ continue ++ fi ++ ac_cv_prog_CC="cc" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++if test $ac_prog_rejected = yes; then ++ # We found a bogon in the path, so make sure we never use it. ++ set dummy $ac_cv_prog_CC ++ shift ++ if test $# != 0; then ++ # We chose a different compiler from the bogus one. ++ # However, it has the same basename, so the bogon will be chosen ++ # first if we set CC to just the basename; use the full file name. ++ shift ++ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" ++ fi ++fi ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++$as_echo "$CC" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5 ++fi ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5 ++$as_echo_n "checking whether we are using GNU C... " >&6; } ++if ${ac_cv_c_compiler_gnu+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat > conftest.c <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then ++ ac_cv_c_compiler_gnu=yes ++else ++ ac_cv_c_compiler_gnu=no ++fi ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++$as_echo "$ac_cv_c_compiler_gnu" >&6; } ++ ++if test $ac_cv_c_compiler_gnu = yes; then ++ GCC=yes ++ ac_test_CFLAGS="${CFLAGS+set}" ++ ac_save_CFLAGS="$CFLAGS" ++ CFLAGS= ++ ac_test_CFLAGS=${CFLAGS+set} ++ac_save_CFLAGS=$CFLAGS ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++$as_echo_n "checking whether $CC accepts -g... " >&6; } ++if ${ac_cv_prog_cc_g+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_save_c_werror_flag=$ac_c_werror_flag ++ ac_c_werror_flag=yes ++ ac_cv_prog_cc_g=no ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ac_cv_prog_cc_g=yes ++else ++ CFLAGS="" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ++else ++ ac_c_werror_flag=$ac_save_c_werror_flag ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ac_cv_prog_cc_g=yes ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ac_c_werror_flag=$ac_save_c_werror_flag ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++$as_echo "$ac_cv_prog_cc_g" >&6; } ++if test "$ac_test_CFLAGS" = set; then ++ CFLAGS=$ac_save_CFLAGS ++elif test $ac_cv_prog_cc_g = yes; then ++ if test "$GCC" = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-g" ++ fi ++else ++ if test "$GCC" = yes; then ++ CFLAGS="-O2" ++ else ++ CFLAGS= ++ fi ++fi ++ if test "$ac_test_CFLAGS" = set; then ++ CFLAGS="$ac_save_CFLAGS" ++ elif test $ac_cv_prog_cc_g = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-O2" ++ fi ++else ++ GCC= ++ test "${CFLAGS+set}" = set || CFLAGS="-g" ++fi ++ ++AS=${AS-as} ++ ++AR=${AR-ar} ++ ++LD=${LD-ld} ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. ++set dummy ${ac_tool_prefix}ranlib; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_RANLIB+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$RANLIB"; then ++ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++RANLIB=$ac_cv_prog_RANLIB ++if test -n "$RANLIB"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 ++$as_echo "$RANLIB" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_RANLIB"; then ++ ac_ct_RANLIB=$RANLIB ++ # Extract the first word of "ranlib", so it can be a program name with args. ++set dummy ranlib; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_RANLIB"; then ++ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_RANLIB="ranlib" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB ++if test -n "$ac_ct_RANLIB"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 ++$as_echo "$ac_ct_RANLIB" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_RANLIB" = x; then ++ RANLIB=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ RANLIB=$ac_ct_RANLIB ++ fi ++else ++ RANLIB="$ac_cv_prog_RANLIB" ++fi ++ ++# By default we simply use the C compiler to build assembly code. ++ ++test "${CCAS+set}" = set || CCAS=$CC ++test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS ++ ++ ++ ++ ++host_makefile_frag=${srcdir}/../config/default.mh ++ ++host_makefile_frag_path=$host_makefile_frag ++ ++ ++ ++ac_config_files="$ac_config_files Makefile" ++ ++cat >confcache <<\_ACEOF ++# This file is a shell script that caches the results of configure ++# tests run on this system so they can be shared between configure ++# scripts and configure runs, see configure's option --config-cache. ++# It is not useful on other systems. If it contains results you don't ++# want to keep, you may remove or edit it. ++# ++# config.status only pays attention to the cache file if you give it ++# the --recheck option to rerun configure. ++# ++# `ac_cv_env_foo' variables (set or unset) will be overridden when ++# loading this file, other *unset* `ac_cv_foo' will be assigned the ++# following values. ++ ++_ACEOF ++ ++# The following way of writing the cache mishandles newlines in values, ++# but we know of no workaround that is simple, portable, and efficient. ++# So, we kill variables containing newlines. ++# Ultrix sh set writes to stderr and can't be redirected directly, ++# and sets the high bit in the cache file unless we assign to the vars. ++( ++ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( ++ *) { eval $ac_var=; unset $ac_var;} ;; ++ esac ;; ++ esac ++ done ++ ++ (set) 2>&1 | ++ case $as_nl`(ac_space=' '; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ # `set' does not quote correctly, so add quotes: double-quote ++ # substitution turns \\\\ into \\, and sed turns \\ into \. ++ sed -n \ ++ "s/'/'\\\\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ++ ;; #( ++ *) ++ # `set' quotes correctly as required by POSIX, so do not add quotes. ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) | ++ sed ' ++ /^ac_cv_env_/b end ++ t clear ++ :clear ++ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ t end ++ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ ++ :end' >>confcache ++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else ++ if test -w "$cache_file"; then ++ if test "x$cache_file" != "x/dev/null"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++$as_echo "$as_me: updating cache $cache_file" >&6;} ++ if test ! -f "$cache_file" || test -h "$cache_file"; then ++ cat confcache >"$cache_file" ++ else ++ case $cache_file in #( ++ */* | ?:*) ++ mv -f confcache "$cache_file"$$ && ++ mv -f "$cache_file"$$ "$cache_file" ;; #( ++ *) ++ mv -f confcache "$cache_file" ;; ++ esac ++ fi ++ fi ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} ++ fi ++fi ++rm -f confcache ++ ++test "x$prefix" = xNONE && prefix=$ac_default_prefix ++# Let make expand exec_prefix. ++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' ++ ++DEFS=-DHAVE_CONFIG_H ++ ++ac_libobjs= ++ac_ltlibobjs= ++U= ++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue ++ # 1. Remove the extension, and $U if already installed. ++ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ++ ac_i=`$as_echo "$ac_i" | sed "$ac_script"` ++ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR ++ # will be set to the directory where LIBOBJS objects are built. ++ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" ++ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' ++done ++LIBOBJS=$ac_libobjs ++ ++LTLIBOBJS=$ac_ltlibobjs ++ ++ ++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then ++ as_fn_error $? "conditional \"AMDEP\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then ++ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++ ++: "${CONFIG_STATUS=./config.status}" ++ac_write_fail=0 ++ac_clean_files_save=$ac_clean_files ++ac_clean_files="$ac_clean_files $CONFIG_STATUS" ++{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 ++$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} ++as_write_fail=0 ++cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 ++#! $SHELL ++# Generated by $as_me. ++# Run this file to recreate the current configuration. ++# Compiler output produced by configure, useful for debugging ++# configure, is in config.log if it exists. ++ ++debug=false ++ac_cs_recheck=false ++ac_cs_silent=false ++ ++SHELL=\${CONFIG_SHELL-$SHELL} ++export SHELL ++_ASEOF ++cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ++## -------------------- ## ++## M4sh Initialization. ## ++## -------------------- ## ++ ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++ ++ ++as_nl=' ++' ++export as_nl ++# Printing a long string crashes Solaris 7 /usr/bin/printf. ++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo ++# Prefer a ksh shell builtin over an external printf program on Solaris, ++# but without wasting forks for bash or zsh. ++if test -z "$BASH_VERSION$ZSH_VERSION" \ ++ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='print -r --' ++ as_echo_n='print -rn --' ++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='printf %s\n' ++ as_echo_n='printf %s' ++else ++ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then ++ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' ++ as_echo_n='/usr/ucb/echo -n' ++ else ++ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' ++ as_echo_n_body='eval ++ arg=$1; ++ case $arg in #( ++ *"$as_nl"*) ++ expr "X$arg" : "X\\(.*\\)$as_nl"; ++ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; ++ esac; ++ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ++ ' ++ export as_echo_n_body ++ as_echo_n='sh -c $as_echo_n_body as_echo' ++ fi ++ export as_echo_body ++ as_echo='sh -c $as_echo_body as_echo' ++fi ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ PATH_SEPARATOR=: ++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { ++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || ++ PATH_SEPARATOR=';' ++ } ++fi ++ ++ ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++IFS=" "" $as_nl" ++ ++# Find who we are. Look in the path if we contain no directory separator. ++as_myself= ++case $0 in #(( ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++ done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ exit 1 ++fi ++ ++# Unset variables that we do not need and which cause bugs (e.g. in ++# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" ++# suppresses any "Segmentation fault" message there. '((' could ++# trigger a bug in pdksh 5.2.14. ++for as_var in BASH_ENV ENV MAIL MAILPATH ++do eval test x\${$as_var+set} = xset \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# CDPATH. ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH ++ ++ ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ $as_echo "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error ++ ++ ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status ++ ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit ++ ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : ++ eval 'as_fn_append () ++ { ++ eval $1+=\$2 ++ }' ++else ++ as_fn_append () ++ { ++ eval $1=\$$1\$2 ++ } ++fi # as_fn_append ++ ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith ++ ++ ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null ++fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++ else ++ as_ln_s='cp -pR' ++ fi ++else ++ as_ln_s='cp -pR' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null ++ ++ ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ ++ ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" ++ ++ ++} # as_fn_mkdir_p ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++ ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++ ++exec 6>&1 ++## ----------------------------------- ## ++## Main body of $CONFIG_STATUS script. ## ++## ----------------------------------- ## ++_ASEOF ++test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# Save the log message, to keep $0 and so on meaningful, and to ++# report actual input values of CONFIG_FILES etc. instead of their ++# values after options handling. ++ac_log=" ++This file was extended by $as_me, which was ++generated by GNU Autoconf 2.69. Invocation command line was ++ ++ CONFIG_FILES = $CONFIG_FILES ++ CONFIG_HEADERS = $CONFIG_HEADERS ++ CONFIG_LINKS = $CONFIG_LINKS ++ CONFIG_COMMANDS = $CONFIG_COMMANDS ++ $ $0 $@ ++ ++on `(hostname || uname -n) 2>/dev/null | sed 1q` ++" ++ ++_ACEOF ++ ++case $ac_config_files in *" ++"*) set x $ac_config_files; shift; ac_config_files=$*;; ++esac ++ ++case $ac_config_headers in *" ++"*) set x $ac_config_headers; shift; ac_config_headers=$*;; ++esac ++ ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# Files that config.status was made for. ++config_files="$ac_config_files" ++config_headers="$ac_config_headers" ++config_commands="$ac_config_commands" ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ac_cs_usage="\ ++\`$as_me' instantiates files and other configuration actions ++from templates according to the current configuration. Unless the files ++and actions are specified as TAGs, all are instantiated by default. ++ ++Usage: $0 [OPTION]... [TAG]... ++ ++ -h, --help print this help, then exit ++ -V, --version print version number and configuration settings, then exit ++ --config print configuration, then exit ++ -q, --quiet, --silent ++ do not print progress messages ++ -d, --debug don't remove temporary files ++ --recheck update $as_me by reconfiguring in the same conditions ++ --file=FILE[:TEMPLATE] ++ instantiate the configuration file FILE ++ --header=FILE[:TEMPLATE] ++ instantiate the configuration header FILE ++ ++Configuration files: ++$config_files ++ ++Configuration headers: ++$config_headers ++ ++Configuration commands: ++$config_commands ++ ++Report bugs to the package provider." ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ++ac_cs_version="\\ ++config.status ++configured by $0, generated by GNU Autoconf 2.69, ++ with options \\"\$ac_cs_config\\" ++ ++Copyright (C) 2012 Free Software Foundation, Inc. ++This config.status script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it." ++ ++ac_pwd='$ac_pwd' ++srcdir='$srcdir' ++INSTALL='$INSTALL' ++test -n "\$AWK" || AWK=awk ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# The default lists apply if the user does not specify any file. ++ac_need_defaults=: ++while test $# != 0 ++do ++ case $1 in ++ --*=?*) ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ++ ac_shift=: ++ ;; ++ --*=) ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg= ++ ac_shift=: ++ ;; ++ *) ++ ac_option=$1 ++ ac_optarg=$2 ++ ac_shift=shift ++ ;; ++ esac ++ ++ case $ac_option in ++ # Handling of the options. ++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ++ ac_cs_recheck=: ;; ++ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) ++ $as_echo "$ac_cs_version"; exit ;; ++ --config | --confi | --conf | --con | --co | --c ) ++ $as_echo "$ac_cs_config"; exit ;; ++ --debug | --debu | --deb | --de | --d | -d ) ++ debug=: ;; ++ --file | --fil | --fi | --f ) ++ $ac_shift ++ case $ac_optarg in ++ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ '') as_fn_error $? "missing file argument" ;; ++ esac ++ as_fn_append CONFIG_FILES " '$ac_optarg'" ++ ac_need_defaults=false;; ++ --header | --heade | --head | --hea ) ++ $ac_shift ++ case $ac_optarg in ++ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ as_fn_append CONFIG_HEADERS " '$ac_optarg'" ++ ac_need_defaults=false;; ++ --he | --h) ++ # Conflict between --help and --header ++ as_fn_error $? "ambiguous option: \`$1' ++Try \`$0 --help' for more information.";; ++ --help | --hel | -h ) ++ $as_echo "$ac_cs_usage"; exit ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil | --si | --s) ++ ac_cs_silent=: ;; ++ ++ # This is an error. ++ -*) as_fn_error $? "unrecognized option: \`$1' ++Try \`$0 --help' for more information." ;; ++ ++ *) as_fn_append ac_config_targets " $1" ++ ac_need_defaults=false ;; ++ ++ esac ++ shift ++done ++ ++ac_configure_extra_args= ++ ++if $ac_cs_silent; then ++ exec 6>/dev/null ++ ac_configure_extra_args="$ac_configure_extra_args --silent" ++fi ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++if \$ac_cs_recheck; then ++ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion ++ shift ++ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 ++ CONFIG_SHELL='$SHELL' ++ export CONFIG_SHELL ++ exec "\$@" ++fi ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++exec 5>>config.log ++{ ++ echo ++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ++## Running $as_me. ## ++_ASBOX ++ $as_echo "$ac_log" ++} >&5 ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# ++# INIT-COMMANDS ++# ++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" ++srcdir=${srcdir} ++target=${target} ++with_multisubdir=${with_multisubdir} ++ac_configure_args="${ac_configure_args} --enable-multilib" ++CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} ++libgloss_topdir=${libgloss_topdir} ++ ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ ++# Handling of arguments. ++for ac_config_target in $ac_config_targets ++do ++ case $ac_config_target in ++ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; ++ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; ++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ ++ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; ++ esac ++done ++ ++ ++# If the user did not use the arguments to specify the items to instantiate, ++# then the envvar interface is used. Set only those that are not. ++# We use the long form for the default assignment because of an extremely ++# bizarre bug on SunOS 4.1.3. ++if $ac_need_defaults; then ++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files ++ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers ++ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands ++fi ++ ++# Have a temporary directory for convenience. Make it in the build tree ++# simply because there is no reason against having it here, and in addition, ++# creating and moving files from /tmp can sometimes cause problems. ++# Hook for its removal unless debugging. ++# Note that there is a small window in which the directory will not be cleaned: ++# after its creation but before its name has been assigned to `$tmp'. ++$debug || ++{ ++ tmp= ac_tmp= ++ trap 'exit_status=$? ++ : "${ac_tmp:=$tmp}" ++ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ++' 0 ++ trap 'as_fn_exit 1' 1 2 13 15 ++} ++# Create a (secure) tmp directory for tmp files. ++ ++{ ++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && ++ test -d "$tmp" ++} || ++{ ++ tmp=./conf$$-$RANDOM ++ (umask 077 && mkdir "$tmp") ++} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ++ac_tmp=$tmp ++ ++# Set up the scripts for CONFIG_FILES section. ++# No need to generate them if there are no CONFIG_FILES. ++# This happens for instance with `./config.status config.h'. ++if test -n "$CONFIG_FILES"; then ++ ++if $AWK 'BEGIN { getline <"/dev/null" }' /dev/null; then ++ ac_cs_awk_getline=: ++ ac_cs_awk_pipe_init= ++ ac_cs_awk_read_file=' ++ while ((getline aline < (F[key])) > 0) ++ print(aline) ++ close(F[key])' ++ ac_cs_awk_pipe_fini= ++else ++ ac_cs_awk_getline=false ++ ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\"" ++ ac_cs_awk_read_file=' ++ print "|#_!!_#|" ++ print "cat " F[key] " &&" ++ '$ac_cs_awk_pipe_init ++ # The final `:' finishes the AND list. ++ ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }' ++fi ++ac_cr=`echo X | tr X '\015'` ++# On cygwin, bash can eat \r inside `` if the user requested igncr. ++# But we know of no other shell where ac_cr would be empty at this ++# point, so we can use a bashism as a fallback. ++if test "x$ac_cr" = x; then ++ eval ac_cr=\$\'\\r\' ++fi ++ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` ++if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ++ ac_cs_awk_cr='\\r' ++else ++ ac_cs_awk_cr=$ac_cr ++fi ++ ++echo 'BEGIN {' >"$ac_tmp/subs1.awk" && ++_ACEOF ++ ++# Create commands to substitute file output variables. ++{ ++ echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && ++ echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && ++ echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && ++ echo "_ACAWK" && ++ echo "_ACEOF" ++} >conf$$files.sh && ++. ./conf$$files.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++rm -f conf$$files.sh ++ ++{ ++ echo "cat >conf$$subs.awk <<_ACEOF" && ++ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && ++ echo "_ACEOF" ++} >conf$$subs.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ++ac_delim='%!_!# ' ++for ac_last_try in false false false false false :; do ++ . ./conf$$subs.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ ++ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` ++ if test $ac_delim_n = $ac_delim_num; then ++ break ++ elif $ac_last_try; then ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++ fi ++done ++rm -f conf$$subs.sh ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && ++_ACEOF ++sed -n ' ++h ++s/^/S["/; s/!.*/"]=/ ++p ++g ++s/^[^!]*!// ++:repl ++t repl ++s/'"$ac_delim"'$// ++t delim ++:nl ++h ++s/\(.\{148\}\)..*/\1/ ++t more1 ++s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ ++p ++n ++b repl ++:more1 ++s/["\\]/\\&/g; s/^/"/; s/$/"\\/ ++p ++g ++s/.\{148\}// ++t nl ++:delim ++h ++s/\(.\{148\}\)..*/\1/ ++t more2 ++s/["\\]/\\&/g; s/^/"/; s/$/"/ ++p ++b ++:more2 ++s/["\\]/\\&/g; s/^/"/; s/$/"\\/ ++p ++g ++s/.\{148\}// ++t delim ++' >$CONFIG_STATUS || ac_write_fail=1 ++rm -f conf$$subs.awk ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++_ACAWK ++cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && ++ for (key in S) S_is_set[key] = 1 ++ FS = "" ++ \$ac_cs_awk_pipe_init ++} ++{ ++ line = $ 0 ++ nfields = split(line, field, "@") ++ substed = 0 ++ len = length(field[1]) ++ for (i = 2; i < nfields; i++) { ++ key = field[i] ++ keylen = length(key) ++ if (S_is_set[key]) { ++ value = S[key] ++ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) ++ len += length(value) + length(field[++i]) ++ substed = 1 ++ } else ++ len += 1 + keylen ++ } ++ if (nfields == 3 && !substed) { ++ key = field[2] ++ if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) { ++ \$ac_cs_awk_read_file ++ next ++ } ++ } ++ print line ++} ++\$ac_cs_awk_pipe_fini ++_ACAWK ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then ++ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" ++else ++ cat ++fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ ++ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 ++_ACEOF ++ ++# VPATH may cause trouble with some makes, so we remove sole $(srcdir), ++# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and ++# trailing colons and then remove the whole line if VPATH becomes empty ++# (actually we leave an empty line to preserve line numbers). ++if test "x$srcdir" = x.; then ++ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ ++h ++s/// ++s/^/:/ ++s/[ ]*$/:/ ++s/:\$(srcdir):/:/g ++s/:\${srcdir}:/:/g ++s/:@srcdir@:/:/g ++s/^:*// ++s/:*$// ++x ++s/\(=[ ]*\).*/\1/ ++G ++s/\n// ++s/^[^=]*=[ ]*$// ++}' ++fi ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++fi # test -n "$CONFIG_FILES" ++ ++# Set up the scripts for CONFIG_HEADERS section. ++# No need to generate them if there are no CONFIG_HEADERS. ++# This happens for instance with `./config.status Makefile'. ++if test -n "$CONFIG_HEADERS"; then ++cat >"$ac_tmp/defines.awk" <<\_ACAWK || ++BEGIN { ++_ACEOF ++ ++# Transform confdefs.h into an awk script `defines.awk', embedded as ++# here-document in config.status, that substitutes the proper values into ++# config.h.in to produce config.h. ++ ++# Create a delimiter string that does not exist in confdefs.h, to ease ++# handling of long lines. ++ac_delim='%!_!# ' ++for ac_last_try in false false :; do ++ ac_tt=`sed -n "/$ac_delim/p" confdefs.h` ++ if test -z "$ac_tt"; then ++ break ++ elif $ac_last_try; then ++ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++ fi ++done ++ ++# For the awk script, D is an array of macro values keyed by name, ++# likewise P contains macro parameters if any. Preserve backslash ++# newline sequences. ++ ++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* ++sed -n ' ++s/.\{148\}/&'"$ac_delim"'/g ++t rset ++:rset ++s/^[ ]*#[ ]*define[ ][ ]*/ / ++t def ++d ++:def ++s/\\$// ++t bsnl ++s/["\\]/\\&/g ++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ ++D["\1"]=" \3"/p ++s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p ++d ++:bsnl ++s/["\\]/\\&/g ++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ ++D["\1"]=" \3\\\\\\n"\\/p ++t cont ++s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p ++t cont ++d ++:cont ++n ++s/.\{148\}/&'"$ac_delim"'/g ++t clear ++:clear ++s/\\$// ++t bsnlc ++s/["\\]/\\&/g; s/^/"/; s/$/"/p ++d ++:bsnlc ++s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p ++b cont ++' >$CONFIG_STATUS || ac_write_fail=1 ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ for (key in D) D_is_set[key] = 1 ++ FS = "" ++} ++/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { ++ line = \$ 0 ++ split(line, arg, " ") ++ if (arg[1] == "#") { ++ defundef = arg[2] ++ mac1 = arg[3] ++ } else { ++ defundef = substr(arg[1], 2) ++ mac1 = arg[2] ++ } ++ split(mac1, mac2, "(") #) ++ macro = mac2[1] ++ prefix = substr(line, 1, index(line, defundef) - 1) ++ if (D_is_set[macro]) { ++ # Preserve the white space surrounding the "#". ++ print prefix "define", macro P[macro] D[macro] ++ next ++ } else { ++ # Replace #undef with comments. This is necessary, for example, ++ # in the case of _POSIX_SOURCE, which is predefined and required ++ # on some systems where configure will not decide to define it. ++ if (defundef == "undef") { ++ print "/*", prefix defundef, macro, "*/" ++ next ++ } ++ } ++} ++{ print } ++_ACAWK ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 ++fi # test -n "$CONFIG_HEADERS" ++ ++ ++eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" ++shift ++for ac_tag ++do ++ case $ac_tag in ++ :[FHLC]) ac_mode=$ac_tag; continue;; ++ esac ++ case $ac_mode$ac_tag in ++ :[FHL]*:*);; ++ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; ++ :[FH]-) ac_tag=-:-;; ++ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; ++ esac ++ ac_save_IFS=$IFS ++ IFS=: ++ set x $ac_tag ++ IFS=$ac_save_IFS ++ shift ++ ac_file=$1 ++ shift ++ ++ case $ac_mode in ++ :L) ac_source=$1;; ++ :[FH]) ++ ac_file_inputs= ++ for ac_f ++ do ++ case $ac_f in ++ -) ac_f="$ac_tmp/stdin";; ++ *) # Look for the file first in the build tree, then in the source tree ++ # (if the path is not absolute). The absolute path cannot be DOS-style, ++ # because $ac_f cannot contain `:'. ++ test -f "$ac_f" || ++ case $ac_f in ++ [\\/$]*) false;; ++ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; ++ esac || ++ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; ++ esac ++ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac ++ as_fn_append ac_file_inputs " '$ac_f'" ++ done ++ ++ # Let's still pretend it is `configure' which instantiates (i.e., don't ++ # use $as_me), people would be surprised to read: ++ # /* config.h. Generated by config.status. */ ++ configure_input='Generated from '` ++ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' ++ `' by configure.' ++ if test x"$ac_file" != x-; then ++ configure_input="$ac_file. $configure_input" ++ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 ++$as_echo "$as_me: creating $ac_file" >&6;} ++ fi ++ # Neutralize special characters interpreted by sed in replacement strings. ++ case $configure_input in #( ++ *\&* | *\|* | *\\* ) ++ ac_sed_conf_input=`$as_echo "$configure_input" | ++ sed 's/[\\\\&|]/\\\\&/g'`;; #( ++ *) ac_sed_conf_input=$configure_input;; ++ esac ++ ++ case $ac_tag in ++ *:-:* | *:-) cat >"$ac_tmp/stdin" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; ++ esac ++ ;; ++ esac ++ ++ ac_dir=`$as_dirname -- "$ac_file" || ++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$ac_file" : 'X\(//\)[^/]' \| \ ++ X"$ac_file" : 'X\(//\)$' \| \ ++ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$ac_file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ as_dir="$ac_dir"; as_fn_mkdir_p ++ ac_builddir=. ++ ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix ++ ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ ++ case $ac_mode in ++ :F) ++ # ++ # CONFIG_FILE ++ # ++ ++ case $INSTALL in ++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; ++ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; ++ esac ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# If the template does not know about datarootdir, expand it. ++# FIXME: This hack should be removed a few years after 2.60. ++ac_datarootdir_hack=; ac_datarootdir_seen= ++ac_sed_dataroot=' ++/datarootdir/ { ++ p ++ q ++} ++/@datadir@/p ++/@docdir@/p ++/@infodir@/p ++/@localedir@/p ++/@mandir@/p' ++case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in ++*datarootdir*) ac_datarootdir_seen=yes;; ++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ ac_datarootdir_hack=' ++ s&@datadir@&$datadir&g ++ s&@docdir@&$docdir&g ++ s&@infodir@&$infodir&g ++ s&@localedir@&$localedir&g ++ s&@mandir@&$mandir&g ++ s&\\\${datarootdir}&$datarootdir&g' ;; ++esac ++_ACEOF ++ ++# Neutralize VPATH when `$srcdir' = `.'. ++# Shell code in configure.ac might set extrasub. ++# FIXME: do we really want to maintain this feature? ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_sed_extra="$ac_vpsub ++$extrasub ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++:t ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b ++s|@configure_input@|$ac_sed_conf_input|;t t ++s&@top_builddir@&$ac_top_builddir_sub&;t t ++s&@top_build_prefix@&$ac_top_build_prefix&;t t ++s&@srcdir@&$ac_srcdir&;t t ++s&@abs_srcdir@&$ac_abs_srcdir&;t t ++s&@top_srcdir@&$ac_top_srcdir&;t t ++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t ++s&@builddir@&$ac_builddir&;t t ++s&@abs_builddir@&$ac_abs_builddir&;t t ++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t ++s&@INSTALL@&$ac_INSTALL&;t t ++$ac_datarootdir_hack ++" ++eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | ++if $ac_cs_awk_getline; then ++ $AWK -f "$ac_tmp/subs.awk" ++else ++ $AWK -f "$ac_tmp/subs.awk" | $SHELL ++fi \ ++ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ ++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && ++ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && ++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ ++ "$ac_tmp/out"`; test -z "$ac_out"; } && ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined" >&5 ++$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined" >&2;} ++ ++ rm -f "$ac_tmp/stdin" ++ case $ac_file in ++ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; ++ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; ++ esac \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ ;; ++ :H) ++ # ++ # CONFIG_HEADER ++ # ++ if test x"$ac_file" != x-; then ++ { ++ $as_echo "/* $configure_input */" \ ++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" ++ } >"$ac_tmp/config.h" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 ++$as_echo "$as_me: $ac_file is unchanged" >&6;} ++ else ++ rm -f "$ac_file" ++ mv "$ac_tmp/config.h" "$ac_file" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ fi ++ else ++ $as_echo "/* $configure_input */" \ ++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ ++ || as_fn_error $? "could not create -" "$LINENO" 5 ++ fi ++ ;; ++ ++ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 ++$as_echo "$as_me: executing $ac_file commands" >&6;} ++ ;; ++ esac ++ ++ ++ case $ac_file$ac_mode in ++ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do ++ # Strip MF so we end up with the name of the file. ++ mf=`echo "$mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile or not. ++ # We used to match only the files named `Makefile.in', but ++ # some people rename them; so instead we look at the file content. ++ # Grep'ing the first line is not enough: some people post-process ++ # each Makefile.in and add a new line on top of each file to say so. ++ # So let's grep whole file. ++ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then ++ dirpart=`$as_dirname -- "$mf" || ++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$mf" : 'X\(//\)[^/]' \| \ ++ X"$mf" : 'X\(//\)$' \| \ ++ X"$mf" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$mf" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ else ++ continue ++ fi ++ # Extract the definition of DEPDIR, am__include, and am__quote ++ # from the Makefile without running `make'. ++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ am__include=`sed -n 's/^am__include = //p' < "$mf"` ++ test -z "am__include" && continue ++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n 's/^U = //p' < "$mf"` ++ # Find all dependency output files, they are included files with ++ # $(DEPDIR) in their names. We invoke sed twice because it is the ++ # simplest approach to changing $(DEPDIR) to its actual value in the ++ # expansion. ++ for file in `sed -n " ++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`$as_dirname -- "$file" || ++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$file" : 'X\(//\)[^/]' \| \ ++ X"$file" : 'X\(//\)$' \| \ ++ X"$file" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ as_dir=$dirpart/$fdir; as_fn_mkdir_p ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++ ;; ++ "Makefile":F) ac_file=Makefile . ${libgloss_topdir}/config-ml.in ;; ++ ++ esac ++done # for ac_tag ++ ++ ++as_fn_exit 0 ++_ACEOF ++ac_clean_files=$ac_clean_files_save ++ ++test $ac_write_fail = 0 || ++ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 ++ ++ ++# configure is writing to config.log, and then calls config.status. ++# config.status does its own redirection, appending to config.log. ++# Unfortunately, on DOS this fails, as config.log is still kept open ++# by configure, so config.status won't be able to write to it; its ++# output is simply discarded. So we exec the FD to /dev/null, ++# effectively closing config.log, so it can be properly (re)opened and ++# appended to by config.status. When coming back to configure, we ++# need to make the FD available again. ++if test "$no_create" != yes; then ++ ac_cs_success=: ++ ac_config_status_args= ++ test "$silent" = yes && ++ ac_config_status_args="$ac_config_status_args --quiet" ++ exec 5>/dev/null ++ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false ++ exec 5>>config.log ++ # Use ||, not &&, to avoid exiting from the if with $? = 1, which ++ # would make configure fail if this is the last instruction. ++ $ac_cs_success || as_fn_exit 1 ++fi ++if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 ++$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} ++fi ++ ++ ++ +diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in +new file mode 100644 +index 000000000..f3b838072 +--- /dev/null ++++ b/libgloss/libsysbase/configure.in +@@ -0,0 +1,199 @@ ++# Copyright (c) 1995, 1996 Cygnus Support ++# ++# The authors hereby grant permission to use, copy, modify, distribute, ++# and license this software and its documentation for any purpose, provided ++# that existing copyright notices are retained in all copies and that this ++# notice is included verbatim in any distributions. No written agreement, ++# license, or royalty fee is required for any of the authorized uses. ++# Modifications to this software may be copyrighted by their authors ++# and need not follow the licensing terms described here, provided that ++# the new terms are clearly indicated on the first page of each file where ++# they apply. ++# ++# Process this file with autoconf to produce a configure script. ++# ++AC_PREREQ(2.59) ++AC_INIT(close.c) ++AC_CONFIG_HEADER(config.h) ++ ++if test "${enable_shared}" = "yes" ; then ++ echo "Shared libraries not supported for cross compiling, ignored" ++fi ++ ++if test "$srcdir" = "." ; then ++ if test "${with_target_subdir}" != "." ; then ++ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." ++ else ++ libgloss_topdir="${srcdir}/${with_multisrctop}../.." ++ fi ++else ++ libgloss_topdir="${srcdir}/../.." ++fi ++AC_CONFIG_AUX_DIR($libgloss_topdir) ++ ++AC_CANONICAL_SYSTEM ++AC_ARG_PROGRAM ++ ++AC_PROG_INSTALL ++ ++AC_DEFINE(HAVE_GNU_LD) ++dnl Make sure syscall names match those being used by newlib ++case "${target}" in ++ *-*-cygwin*) ++ ;; ++ a29k-amd-udi) ++ ;; ++ arc-*-*) ++ ;; ++ arm*-*-*) ++ ;; ++ bfin-*-*) ++ ;; ++ cris-*-* | crisv32-*-*) ++ ;; ++ d10v*) ++ ;; ++ h8300*-*-*) ++ ;; ++ h8500-*-*) ++ ;; ++ i[3456]86-*-sco*) ++ ;; ++ lm32-*-*) ++ ;; ++ m32r-*-*) ++ ;; ++ mn10?00-*-*) ++ ;; ++ powerpc-*-eabi) ++ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ ;; ++ powerpcle-*-pe) ++ ;; ++ sh*-*-*) ++ ;; ++ sparc-sun-sunos*) ++ ;; ++ sparc64-*-*) ++ ;; ++ v850*-*-*) ++ ;; ++ w65-*-*) ++ ;; ++ xstormy16-*-*) ++ ;; ++ z8k-*-*) ++ ;; ++ *) ++ AC_DEFINE(MISSING_SYSCALL_NAMES) ++ ;; ++esac ++ ++dnl Make sure we know if elf format used ++case "${target}" in ++ *-*-elf) ++ AC_DEFINE(HAVE_ELF) ++ ++ AC_CACHE_CHECK([for .previous assembler directive], ++ libc_cv_asm_previous_directive, [dnl ++ libc_cv_asm_previous_directive=no ++ cat > conftest.s <&AC_FD_CC); then ++ libc_cv_asm_previous_directive=yes ++ fi ++ rm -f conftest*]) ++ ++ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then ++ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) ++ fi ++ ++ AC_CACHE_CHECK([for .popsection assembler directive], ++ libc_cv_asm_popsection_directive, [dnl ++ libc_cv_asm_popsection_directive=no ++ cat > conftest.s <&AC_FD_CC); then ++ libc_cv_asm_popsection_directive=yes ++ fi ++ rm -f conftest*]) ++ ++ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then ++ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) ++ fi ++ ++ AC_CACHE_CHECK([for section attributes], ++ libc_cv_section_attributes, [dnl ++ libc_cv_section_attributes=no ++ cat > conftest.c <&AC_FD_CC); then ++ libc_cv_section_attributes=yes ++ fi ++ rm -f conftest*]) ++ if test "x${libc_cv_section_attributes}" = "xyes"; then ++ AC_DEFINE(HAVE_SECTION_ATTRIBUTES) ++ fi ++ ;; ++esac ++ ++AC_CACHE_CHECK([for symbol prefix], libc_cv_symbol_prefix, [dnl ++cat > conftest.c <<\EOF ++foo () { } ++EOF ++dnl ++libc_cv_symbol_prefix=none ++if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); ++then ++ libc_cv_symbol_prefix='$' ++else ++ if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]); ++ then ++ libc_cv_symbol_prefix=_ ++ fi ++fi ++rm -f conftest* ]) ++if test $libc_cv_symbol_prefix != none; then ++ AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_cv_symbol_prefix") ++else ++ AC_DEFINE(__SYMBOL_PREFIX, "") ++fi ++ ++LIB_AC_PROG_CC ++AS=${AS-as} ++AC_SUBST(AS) ++AR=${AR-ar} ++AC_SUBST(AR) ++LD=${LD-ld} ++AC_SUBST(LD) ++AC_PROG_RANLIB ++LIB_AM_PROG_AS ++ ++host_makefile_frag=${srcdir}/../config/default.mh ++ ++dnl We have to assign the same value to other variables because autoconf ++dnl doesn't provide a mechanism to substitute a replacement keyword with ++dnl arbitrary data or pathnames. ++dnl ++host_makefile_frag_path=$host_makefile_frag ++AC_SUBST(host_makefile_frag_path) ++AC_SUBST_FILE(host_makefile_frag) ++ ++AC_CONFIG_FILES(Makefile, ++ac_file=Makefile . ${libgloss_topdir}/config-ml.in, ++srcdir=${srcdir} ++target=${target} ++with_multisubdir=${with_multisubdir} ++ac_configure_args="${ac_configure_args} --enable-multilib" ++CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} ++libgloss_topdir=${libgloss_topdir} ++) ++AC_OUTPUT ++ ++ +diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c +new file mode 100644 +index 000000000..0ad29029c +--- /dev/null ++++ b/libgloss/libsysbase/dirent.c +@@ -0,0 +1,255 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static DIR_ITER * __diropen (const char *path) { ++ struct _reent *r = _REENT; ++ DIR_ITER *handle = NULL; ++ DIR_ITER *dir = NULL; ++ int dev; ++ ++ dev = FindDevice(path); ++ ++ if(dev!=-1) { ++ if(devoptab_list[dev]->diropen_r) { ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ handle = (DIR_ITER *)malloc( sizeof(DIR_ITER) + devoptab_list[dev]->dirStateSize ); ++ ++ if ( NULL != handle ) { ++ handle->device = dev; ++ handle->dirStruct = ((void *)handle) + sizeof(DIR_ITER); ++ ++ dir = devoptab_list[dev]->diropen_r(r, handle, path); ++ ++ if ( dir == NULL ) { ++ free (handle); ++ handle = NULL; ++ } ++ } else { ++ r->_errno = ENOSR; ++ handle = NULL; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ ++ return handle; ++} ++ ++static int __dirreset (DIR_ITER *dirState) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; ++ ++ if (dirState != NULL) { ++ dev = dirState->device; ++ ++ if(devoptab_list[dev]->dirreset_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirreset_r(r, dirState); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; ++} ++ ++static int __dirnext (DIR_ITER *dirState, char *filename, struct stat *filestat) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; ++ ++ if (dirState != NULL) { ++ dev = dirState->device; ++ ++ if(devoptab_list[dev]->dirnext_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirnext_r(r, dirState, filename, filestat); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; ++} ++ ++static int __dirclose (DIR_ITER *dirState) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; ++ ++ if (dirState != NULL) { ++ dev = dirState->device; ++ ++ if (devoptab_list[dev]->dirclose_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirclose_r (r, dirState); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ free (dirState); ++ } ++ return ret; ++} ++ ++DIR* opendir (const char *dirname) { ++ DIR* dirp = malloc (sizeof(DIR)); ++ if (!dirp) { ++ errno = ENOMEM; ++ return NULL; ++ } ++ ++ dirp->dirData = __diropen (dirname); ++ if (!dirp->dirData) { ++ free (dirp); ++ return NULL; ++ } ++ ++ dirp->position = 0; // 0th position means no file name has been returned yet ++ dirp->fileData.d_ino = -1; ++ dirp->fileData.d_name[0] = '\0'; ++ ++ return dirp; ++} ++ ++ ++int closedir (DIR *dirp) { ++ int res; ++ ++ if (!dirp) { ++ errno = EBADF; ++ return -1; ++ } ++ ++ res = __dirclose (dirp->dirData); ++ free (dirp); ++ return res; ++} ++ ++ ++struct dirent* readdir (DIR *dirp) { ++ struct stat st; ++ char filename[NAME_MAX]; ++ int res; ++ int olderrno = errno; ++ ++ if (!dirp) { ++ errno = EBADF; ++ return NULL; ++ } ++ ++ res = __dirnext (dirp->dirData, filename, &st); ++ ++ if (res < 0) { ++ if (errno == ENOENT) { ++ // errno == ENONENT set by dirnext means it's end of directory ++ // But readdir should not touch errno in case of dir end ++ errno = olderrno; ++ } ++ return NULL; ++ } ++ ++ // We've moved forward in the directory ++ dirp->position += 1; ++ ++ if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { ++ errno = EOVERFLOW; ++ return NULL; ++ } ++ ++ strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); ++ dirp->fileData.d_ino = st.st_ino; ++ dirp->fileData.d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; ++ ++ return &(dirp->fileData); ++} ++ ++ ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { ++ struct stat st; ++ char filename[NAME_MAX]; ++ int res; ++ ++ if (!dirp) { ++ return EBADF; ++ } ++ ++ res = __dirnext (dirp->dirData, filename, &st); ++ ++ if (res < 0) { ++ res = errno; ++ *result = NULL; ++ if (errno == ENOENT) { ++ // errno == ENONENT set by dirnext means it's end of directory ++ // But readdir should not touch errno in case of dir end ++ res = 0; ++ } ++ return res; ++ } ++ ++ // We've moved forward in the directory ++ dirp->position += 1; ++ ++ if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { ++ errno = EOVERFLOW; ++ return EOVERFLOW; ++ } ++ ++ strncpy (entry->d_name, filename, sizeof(entry->d_name)); ++ entry->d_ino = st.st_ino; ++ ++ *result = entry; ++ return 0; ++} ++ ++ ++void rewinddir (DIR *dirp) { ++ if (!dirp) { ++ return; ++ } ++ ++ __dirreset (dirp->dirData); ++ dirp->position = 0; ++} ++ ++ ++void seekdir(DIR *dirp, long int loc) { ++ char filename[NAME_MAX]; ++ ++ if (!dirp || loc < 0) { ++ return; ++ } ++ ++ if (dirp->position > loc) { ++ // The entry we want is before the one we have, ++ // so we have to start again from the begining ++ __dirreset (dirp->dirData); ++ dirp->position = 0; ++ } ++ ++ // Keep reading entries until we reach the one we want ++ while ((dirp->position < loc) && ++ (__dirnext (dirp->dirData, filename, NULL) >= 0)) ++ { ++ dirp->position += 1; ++ } ++} ++ ++ ++long int telldir(DIR *dirp) { ++ if (!dirp) { ++ return -1; ++ } ++ ++ return dirp->position; ++} +diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c +new file mode 100644 +index 000000000..1c485b26f +--- /dev/null ++++ b/libgloss/libsysbase/environ.c +@@ -0,0 +1,6 @@ ++/* ++ * Version of environ for no OS. ++ */ ++ ++char *__env[1] = { 0 }; ++char **environ = __env; +diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c +new file mode 100644 +index 000000000..59fecdd44 +--- /dev/null ++++ b/libgloss/libsysbase/execve.c +@@ -0,0 +1,23 @@ ++/* ++ * Stub version of execve. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _execve_r( struct _reent * r, char *name, char **argv, char **env) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _execve( char *name, char **argv, char **env) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ r->_errno = ENOSYS; ++ return -1; ++} ++ +diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c +new file mode 100644 +index 000000000..5c5831cdf +--- /dev/null ++++ b/libgloss/libsysbase/fchmod.c +@@ -0,0 +1,31 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++#include ++ ++int fchmod(int fd, mode_t mode) { ++ int ret = -1, dev; ++ struct _reent *r = _REENT; ++ ++ if(fd!=-1) { ++ ++ __handle *handle = __get_handle(fd); ++ ++ if ( handle != NULL) { ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fchmod_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fchmod_r(r,handle->fileStruct,mode); ++ } else ++ r->_errno=ENOSYS; ++ } ++ } ++ return ret; ++} +diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c +new file mode 100644 +index 000000000..c6b8c92ad +--- /dev/null ++++ b/libgloss/libsysbase/flock.c +@@ -0,0 +1,21 @@ ++#include ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#ifndef REENTRANT_SYSCALLS_PROVIDED ++#include ++#endif ++#include ++#include ++ ++void __flockfile(FILE *fp) ++{ ++ __lock_acquire_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); ++} ++ ++void __funlockfile(FILE *fp) ++{ ++ __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); ++} +diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c +new file mode 100644 +index 000000000..a0ce1abf4 +--- /dev/null ++++ b/libgloss/libsysbase/fork.c +@@ -0,0 +1,21 @@ ++/* ++ * Stub version of fork. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _fork_r( struct _reent * r) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _fork, (void) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ r->_errno = ENOSYS; ++ return -1; ++} +diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c +new file mode 100644 +index 000000000..788a303dc +--- /dev/null ++++ b/libgloss/libsysbase/fstat.c +@@ -0,0 +1,39 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _fstat_r( struct _reent * r, int fileDesc, struct stat *st) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _fstat(int fileDesc, struct stat *st) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = NULL; ++ ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fstat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fstat_r(r,handle->fileStruct,st); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; ++} +diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c +new file mode 100644 +index 000000000..eaabef98e +--- /dev/null ++++ b/libgloss/libsysbase/fsync.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#include ++ ++int fsync( int fileDesc ) { ++ int ret = -1; ++ unsigned int dev = 0; ++ unsigned int fd = -1; ++ struct _reent *r = _REENT; ++ ++ __handle * handle; ++ ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) { ++ errno = EINVAL; ++ return ret; ++ } ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fsync_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fsync_r(r, handle->fileStruct); ++ } else ++ r->_errno=ENOSYS; ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c +new file mode 100644 +index 000000000..3f1d92044 +--- /dev/null ++++ b/libgloss/libsysbase/ftruncate.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#include ++ ++int ftruncate( int fileDesc, off_t len) { ++ int ret = -1; ++ unsigned int dev = 0; ++ unsigned int fd = -1; ++ struct _reent *r = _REENT; ++ ++ __handle * handle; ++ ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) { ++ r->_errno = EINVAL; ++ return ret; ++ } ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->ftruncate_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); ++ } else ++ r->_errno=ENOSYS; ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c +new file mode 100644 +index 000000000..ec3b84037 +--- /dev/null ++++ b/libgloss/libsysbase/getpid.c +@@ -0,0 +1,19 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _getpid_r( struct _reent *ptr) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _getpid(void) { ++//--------------------------------------------------------------------------------- ++ struct _reent *ptr = _REENT; ++#endif ++ ptr->_errno = ENOSYS; ++ return -1; ++} ++ +diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c +new file mode 100644 +index 000000000..11dc528fa +--- /dev/null ++++ b/libgloss/libsysbase/gettod.c +@@ -0,0 +1,26 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _gettimeofday_r( struct _reent *ptr, struct timeval *ptimeval, void *ptimezone) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _gettimeofday(struct timeval *ptimeval, void *ptimezone) { ++//--------------------------------------------------------------------------------- ++ struct _reent *ptr = _REENT; ++#endif ++ ++ if ( __syscalls.gettod_r ) return __syscalls.gettod_r(ptr, ptimeval, ptimezone); ++ ++ ptr->_errno = ENOSYS; ++ return -1; ++ ++} ++ +diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c +new file mode 100644 +index 000000000..f3fcc88f7 +--- /dev/null ++++ b/libgloss/libsysbase/handle_manager.c +@@ -0,0 +1,173 @@ ++#include ++#include ++#include ++ ++#include ++ ++#define MAX_HANDLES 1024 ++ ++static __handle __stdin_handle = {0, 1, NULL}; ++static __handle __stdout_handle = {1, 1, NULL}; ++static __handle __stderr_handle = {2, 1, NULL}; ++ ++static __handle* handles[MAX_HANDLES] = { ++ &__stdin_handle, ++ &__stdout_handle, ++ &__stderr_handle ++}; ++ ++__LOCK_INIT(static, __hndl_lock); ++ ++void __free_handle(__handle *handle) { ++ ++ if ( NULL != handle ++ && handle != &__stdin_handle ++ && handle != &__stdout_handle ++ && handle != &__stderr_handle ) { ++ ++ free(handle); ++ ++ } ++ ++} ++ ++void __release_handle(int fd) { ++ ++ if ( fd <0 || fd >= MAX_HANDLES ) return; ++ ++ __lock_acquire (__hndl_lock); ++ ++ __free_handle(handles[fd]); ++ handles[fd] = NULL; ++ ++ __lock_release (__hndl_lock); ++ ++} ++ ++int __alloc_handle(int device) { ++ ++ int i, ret = -1; ++ ++ __lock_acquire (__hndl_lock); ++ ++ for ( i = 0; i < MAX_HANDLES; i++ ) { ++ if ( handles[i] == NULL ) break; ++ } ++ ++ size_t size = sizeof(__handle) + devoptab_list[device]->structSize; ++ ++ if ( i < MAX_HANDLES ) { ++ handles[i] = malloc(size); ++ __handle *handle = handles[i]; ++ if ( NULL != handles[i] ) { ++ ++ handles[i]->refcount = 1; ++ ret = i; ++ handles[i]->device = device; ++ handles[i]->fileStruct = (void *)&handle[1]; ++ ++ } else { ++ ++ errno = ENOMEM; ++ ++ } ++ } else { ++ ++ errno = ENFILE; ++ ++ } ++ ++ __lock_release (__hndl_lock); ++ ++ return ret; ++} ++ ++__handle *__get_handle(int fd) { ++ ++ if ( fd < 0 || fd >= MAX_HANDLES ) return NULL; ++ ++ return handles[fd]; ++ ++} ++ ++int dup(int oldfd) { ++ int i, ret =-1; ++ ++ __lock_acquire (__hndl_lock); ++ ++ if (handles[oldfd]==NULL) { ++ __lock_release (__hndl_lock); ++ errno = EBADF; ++ return -1; ++ } ++ ++ ++ for ( i = 0; i < MAX_HANDLES; i++ ) { ++ if ( handles[i] == NULL ) break; ++ } ++ ++ if (irefcount++; ++ ret = i; ++ } ++ __lock_release (__hndl_lock); ++ ++ return ret; ++ ++} ++ ++int dup2(int oldfd, int newfd) { ++ ++ ++ __lock_acquire (__hndl_lock); ++ ++ if ( newfd < 0 || newfd >= MAX_HANDLES || ++ ++ oldfd < 0 || oldfd >= MAX_HANDLES || ++ handles[oldfd] == NULL ) { ++ ++ __lock_release (__hndl_lock); ++ errno = EBADF; ++ ++ return -1; ++ } ++ ++ if ( newfd == oldfd ) { ++ __lock_release (__hndl_lock); ++ return newfd; ++ } ++ ++ ++ __handle *handle = handles[newfd]; ++ ++ if ( NULL != handle ) { ++ ++ handle->refcount--; ++ ++ } ++ ++ handles[newfd] = handles[oldfd]; ++ handles[newfd]->refcount++; ++ ++ __lock_release (__hndl_lock); ++ ++ if ( NULL != handle ) { ++ ++ if (handle->refcount == 0 ) { ++ ++ if( devoptab_list[handle->device]->close_r != NULL) { ++ ++ devoptab_list[handle->device]->close_r(_REENT,handle->fileStruct); ++ ++ } else { ++ ++ __free_handle(handle); ++ ++ } ++ } ++ } ++ ++ return newfd; ++ ++} +diff --git a/libgloss/libsysbase/handle_manager.h b/libgloss/libsysbase/handle_manager.h +new file mode 100644 +index 000000000..625cb22d9 +--- /dev/null ++++ b/libgloss/libsysbase/handle_manager.h +@@ -0,0 +1,10 @@ ++#ifndef __HANDLE_MANAGER_H__ ++#define __HANDLE_MANAGER_H__ ++ ++#include ++ ++void __release_handle(int fd); ++int __alloc_handle(int size); ++__handle *__get_handle(int fd); ++ ++#endif +diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c +new file mode 100644 +index 000000000..4f131275e +--- /dev/null ++++ b/libgloss/libsysbase/iosupport.c +@@ -0,0 +1,138 @@ ++#include ++#include ++#include ++#include ++ ++static int defaultDevice = -1; ++ ++//--------------------------------------------------------------------------------- ++void setDefaultDevice( int device ) { ++//--------------------------------------------------------------------------------- ++ ++ if ( device >2 && device <= STD_MAX) ++ defaultDevice = device; ++} ++ ++//--------------------------------------------------------------------------------- ++static ssize_t null_write(struct _reent *r,void *fd,const char *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ return len; ++} ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t dotab_stdnull = { ++//--------------------------------------------------------------------------------- ++ "stdnull", // device name ++ 0, // size of file structure ++ NULL, // device open ++ NULL, // device close ++ null_write, // device write ++ NULL, // device read ++ NULL, // device seek ++ NULL, // device fstat ++ NULL, // device stat ++ NULL, // device link ++ NULL, // device unlink ++ NULL, // device chdir ++ NULL, // device rename ++ NULL, // device mkdir ++ 0, // dirStateSize ++ NULL, // device diropen_r ++ NULL, // device dirreset_r ++ NULL, // device dirnext_r ++ NULL, // device dirclose_r ++ NULL, // device statvfs_r ++ NULL, // device ftruncate_r ++ NULL, // device fsync_r ++ NULL, // deviceData ++ NULL, // chmod_r ++ NULL, // fchmod_r ++ NULL, // rmdir_r ++}; ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t *devoptab_list[STD_MAX] = { ++//--------------------------------------------------------------------------------- ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull ++}; ++ ++//--------------------------------------------------------------------------------- ++int FindDevice(const char* name) { ++//--------------------------------------------------------------------------------- ++ int i = 0, namelen, dev_namelen, dev = -1; ++ char *separator; ++ ++ separator = strchr(name, ':'); ++ ++ if (separator == NULL) return defaultDevice; ++ ++ dev_namelen = separator - name; ++ ++ while(iname); ++ if(dev_namelen == namelen && strncmp(devoptab_list[i]->name,name,namelen)==0 ) { ++ if ( name[namelen] == ':' || (isdigit(name[namelen]) && name[namelen+1] ==':' )) { ++ dev = i; ++ break; ++ } ++ } ++ } ++ i++; ++ } ++ ++ return dev; ++} ++ ++//--------------------------------------------------------------------------------- ++int RemoveDevice( const char* name) { ++//--------------------------------------------------------------------------------- ++ int dev = FindDevice(name); ++ ++ if ( -1 != dev ) { ++ devoptab_list[dev] = &dotab_stdnull; ++ return 0; ++ } ++ ++ return -1; ++ ++} ++ ++//--------------------------------------------------------------------------------- ++int AddDevice( const devoptab_t* device) { ++//--------------------------------------------------------------------------------- ++ ++ int devnum; ++ ++ for ( devnum = 3;devnum name, device->name) && ++ strlen(devoptab_list[devnum]->name) == strlen(device->name) ) || ++ !strcmp(devoptab_list[devnum]->name, "stdnull") ++ ) ++ break; ++ } ++ ++ if ( devnum == STD_MAX ) { ++ devnum = -1; ++ } else { ++ devoptab_list[devnum] = device; ++ } ++ return devnum; ++} ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t* GetDeviceOpTab (const char *name) { ++//--------------------------------------------------------------------------------- ++ int dev = FindDevice(name); ++ if (dev >= 0 && dev < STD_MAX) { ++ return devoptab_list[dev]; ++ } else { ++ return NULL; ++ } ++} ++ ++ +diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c +new file mode 100644 +index 000000000..280a4579a +--- /dev/null ++++ b/libgloss/libsysbase/isatty.c +@@ -0,0 +1,17 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _isatty_r( struct _reent *ptr, int file) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _isatty(int file) { ++//--------------------------------------------------------------------------------- ++ struct _reent *ptr = _REENT; ++#endif ++ return 0; ++} +diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c +new file mode 100644 +index 000000000..d13a32155 +--- /dev/null ++++ b/libgloss/libsysbase/kill.c +@@ -0,0 +1,18 @@ ++/* ++ * Stub version of kill. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++int _kill_r( struct _reent *ptr, int pid, int sig) { ++#else ++int _kill(int pid, int sig) { ++ struct _reent *ptr = _REENT; ++#endif ++ ptr->_errno = ENOSYS; ++ return -1; ++} +diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c +new file mode 100644 +index 000000000..eeeab1a7b +--- /dev/null ++++ b/libgloss/libsysbase/link.c +@@ -0,0 +1,33 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++int _link_r( struct _reent *r, const char *existing, const char *new) { ++#else ++int _link( const char *existing, const char *new) { ++ struct _reent *r = _REENT; ++#endif ++ int ret; ++ int sourceDev = FindDevice(existing); ++ int destDev = FindDevice(new); ++ ++ ret = -1; ++ ++ if ( sourceDev == destDev) { ++ if (devoptab_list[destDev]->link_r) { ++ r->deviceData = devoptab_list[destDev]->deviceData; ++ ret = devoptab_list[destDev]->link_r( r, existing, new); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = EXDEV; ++ } ++ ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c +new file mode 100644 +index 000000000..eb232c86b +--- /dev/null ++++ b/libgloss/libsysbase/lseek.c +@@ -0,0 +1,45 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++#include ++ ++#include ++ ++//--------------------------------------------------------------------------------- ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++_off_t _lseek_r(struct _reent * r, int fileDesc, _off_t pos, int dir) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++_off_t _lseek(int fileDesc, _off_t pos, int dir) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++//--------------------------------------------------------------------------------- ++#endif ++//--------------------------------------------------------------------------------- ++ _off_t ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle; ++ ++ if(fileDesc!=-1) { ++ ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->seek_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->seek_r( r, handle->fileStruct, pos, dir); ++ } else ++ r->_errno=ENOSYS; ++ ++ } ++ return ret; ++ ++} +diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c +new file mode 100644 +index 000000000..456590956 +--- /dev/null ++++ b/libgloss/libsysbase/malloc_vars.c +@@ -0,0 +1,2 @@ ++char *fake_heap_end = (char*)0; ++char *fake_heap_start = (char*)0; +diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c +new file mode 100644 +index 000000000..b4fcbd3d7 +--- /dev/null ++++ b/libgloss/libsysbase/mkdir.c +@@ -0,0 +1,19 @@ ++#include ++#include ++#include ++ ++int mkdir (const char *path, mode_t mode) { ++ struct _reent *r = _REENT; ++ int ret; ++ int dev = FindDevice(path); ++ ret = -1; ++ ++ if (devoptab_list[dev]->mkdir_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->mkdir_r(r, path, mode); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c +new file mode 100644 +index 000000000..877f907e1 +--- /dev/null ++++ b/libgloss/libsysbase/open.c +@@ -0,0 +1,53 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _open_r( struct _reent * r, const char *file, int flags, int mode) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _open( const char *file, int flags, int mode) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ __handle *handle; ++ int dev, fd, ret; ++ ++ dev = FindDevice(file); ++ ++ fd = -1; ++ if(dev!=-1) { ++ if (devoptab_list[dev]->open_r) { ++ fd = __alloc_handle(dev); ++ ++ if ( -1 != fd ) { ++ handle = __get_handle(fd); ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, flags, mode); ++ ++ if ( ret == -1 ) { ++ __release_handle(fd); ++ fd = -1; ++ } ++ } else { ++ r->_errno = ENOSR; ++ } ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return fd; ++} +diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c +new file mode 100644 +index 000000000..ac80d5698 +--- /dev/null ++++ b/libgloss/libsysbase/read.c +@@ -0,0 +1,39 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++ ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++_ssize_t _read_r( struct _reent * r, int fileDesc, void *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++_ssize_t _read(int fileDesc, char *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = NULL; ++ ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->read_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->read_r(r,handle->fileStruct,ptr,len); ++ } else ++ r->_errno=ENOSYS; ++ } ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c +new file mode 100644 +index 000000000..1d7b7e8e7 +--- /dev/null ++++ b/libgloss/libsysbase/rename.c +@@ -0,0 +1,32 @@ ++#include "config.h" ++#include ++#include ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++int _rename_r( struct _reent *ptr, const char *existing, const char *newName) { ++#else ++int rename( const char *existing, const char *newName) { ++ struct _reent *ptr = _REENT; ++#endif ++ struct _reent *r = _REENT; ++ ++ int ret; ++ int sourceDev = FindDevice(existing); ++ int destDev = FindDevice(newName); ++ ++ ret = -1; ++ ++ if ( sourceDev == destDev) { ++ if (devoptab_list[destDev]->rename_r) { ++ r->deviceData = devoptab_list[destDev]->deviceData; ++ ret = devoptab_list[destDev]->rename_r( r, existing, newName); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = EXDEV; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c +new file mode 100644 +index 000000000..2692a2997 +--- /dev/null ++++ b/libgloss/libsysbase/rmdir.c +@@ -0,0 +1,25 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++int rmdir (const char *name) { ++ struct _reent *r = _REENT; ++ int dev,ret=-1; ++ ++ dev = FindDevice(name); ++ if(dev!=-1) { ++ if(devoptab_list[dev]->rmdir_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->rmdir_r(r,name); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c +new file mode 100644 +index 000000000..e2bdb9edc +--- /dev/null ++++ b/libgloss/libsysbase/sbrk.c +@@ -0,0 +1,26 @@ ++#include "config.h" ++#include ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++void * _sbrk_r (struct _reent *ptr, ptrdiff_t incr) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++caddr_t _sbrk (int incr) { ++//--------------------------------------------------------------------------------- ++ struct _reent *ptr = _REENT; ++#endif ++ ++ ++ if ( __syscalls.sbrk_r ) { ++ return __syscalls.sbrk_r(ptr, incr); ++ } else { ++ ++ ptr->_errno = ENOMEM; ++ return (caddr_t) -1; ++ ++ } ++ ++} +\ No newline at end of file +diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c +new file mode 100644 +index 000000000..4c2e5414e +--- /dev/null ++++ b/libgloss/libsysbase/stat.c +@@ -0,0 +1,37 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _stat_r(struct _reent * r, const char *file, struct stat *st) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _stat( const char *file, struct stat *st) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ int dev,ret; ++ ++ dev = FindDevice(file); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->stat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->stat_r(r,file,st); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ ret = -1; ++ r->_errno = ENODEV; ++ } ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c +new file mode 100644 +index 000000000..84e221340 +--- /dev/null ++++ b/libgloss/libsysbase/statvfs.c +@@ -0,0 +1,24 @@ ++#include ++#include ++#include ++ ++ ++int statvfs(const char *path, struct statvfs *buf) { ++ struct _reent *r = _REENT; ++ ++ int ret; ++ int device = FindDevice(path); ++ ++ ret = -1; ++ ++ if ( device != -1 && devoptab_list[device]->statvfs_r) { ++ ++ r->deviceData = devoptab_list[device]->deviceData; ++ ret = devoptab_list[device]->statvfs_r(r, path, buf ); ++ ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c +new file mode 100644 +index 000000000..939ec2533 +--- /dev/null ++++ b/libgloss/libsysbase/syscall_support.c +@@ -0,0 +1,63 @@ ++#include ++ ++//--------------------------------------------------------------------------------- ++__syscalls_t __syscalls = { ++//--------------------------------------------------------------------------------- ++ NULL, // sbrk ++ NULL, // lock_init ++ NULL, // lock_close ++ NULL, // lock_release ++ NULL, // lock_acquire ++ NULL, // malloc_lock ++ NULL, // malloc_unlock ++ NULL, // exit ++ NULL // gettod_r ++}; ++ ++int __libc_lock_init(int *lock,int recursive) { ++ ++ if ( __syscalls.lock_init ) { ++ return __syscalls.lock_init(lock, recursive); ++ } ++ ++ return 0; ++} ++ ++int __libc_lock_close( int *lock ) { ++ ++ if ( __syscalls.lock_close) { ++ return __syscalls.lock_close(lock); ++ } ++ ++ return 0; ++} ++ ++int __libc_lock_release( int *lock ) { ++ ++ if ( __syscalls.lock_release) { ++ return __syscalls.lock_release(lock); ++ } ++ ++ return 0; ++} ++ ++int __libc_lock_acquire( int *lock ) { ++ ++ if ( __syscalls.lock_acquire) { ++ return __syscalls.lock_acquire(lock); ++ } ++ ++ return 0; ++} ++ ++void __malloc_lock( struct _reent *ptr ) { ++ if ( __syscalls.malloc_lock) { ++ __syscalls.malloc_lock(ptr); ++ } ++} ++ ++void __malloc_unlock( struct _reent *ptr ) { ++ if ( __syscalls.malloc_unlock) { ++ __syscalls.malloc_unlock(ptr); ++ } ++} +diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c +new file mode 100644 +index 000000000..79484e7f4 +--- /dev/null ++++ b/libgloss/libsysbase/times.c +@@ -0,0 +1,17 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++clock_t _times_r(struct _reent *r, struct tms *ptms) { ++#else ++clock_t _times(struct tms *buf) { ++ ++ struct _reent *r = _REENT; ++#endif ++ r->_errno = ENOSYS; ++ return (clock_t)-1; ++} ++ +diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c +new file mode 100644 +index 000000000..7935c8200 +--- /dev/null ++++ b/libgloss/libsysbase/truncate.c +@@ -0,0 +1,55 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#include ++ ++int truncate( const char *file, off_t len) { ++ ++ __handle *handle; ++ int dev, fd, ret; ++ ++ struct _reent * r = _REENT; ++ ++ dev = FindDevice(file); ++ ++ if(dev!=-1 && devoptab_list[dev]->open_r && devoptab_list[dev]->close_r && ++ devoptab_list[dev]->ftruncate_r) ++ { ++ ++ fd = __alloc_handle(sizeof(__handle) + devoptab_list[dev]->structSize ); ++ ++ if ( -1 != fd ) { ++ handle = __get_handle(fd); ++ handle->device = dev; ++ handle->fileStruct = ((void *)handle) + sizeof(__handle); ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, O_WRONLY, 0); ++ ++ if ( ret < 0 ) { ++ __release_handle(fd); ++ return ret; ++ } ++ ++ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); ++ ++ if (ret >= 0) { ++ ret = devoptab_list[dev]->close_r(r, handle->fileStruct); ++ } else { ++ // Close it anyway, we don't want to leak memory ++ devoptab_list[dev]->close_r(r, handle->fileStruct); ++ } ++ } else { ++ r->_errno = ENOSR; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c +new file mode 100644 +index 000000000..55932bc25 +--- /dev/null ++++ b/libgloss/libsysbase/unlink.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _unlink_r( struct _reent * r, const char *name ) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _unlink(const char *name) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ int dev,ret=-1; ++ ++ dev = FindDevice(name); ++ if(dev<0) { ++ r->_errno = ENODEV; ++ } else { ++ if (devoptab_list[dev]->unlink_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->unlink_r(r,name); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } ++ ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c +new file mode 100644 +index 000000000..b65f9039c +--- /dev/null ++++ b/libgloss/libsysbase/wait.c +@@ -0,0 +1,23 @@ ++/* ++ * Stub version of wait. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _wait_r( struct _reent *r, int *status) { ++#else ++//--------------------------------------------------------------------------------- ++int _wait( int *status) { ++ struct _reent *r = _REENT; ++#endif ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return -1; ++} ++ +diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h +new file mode 100644 +index 000000000..2c2998250 +--- /dev/null ++++ b/libgloss/libsysbase/warning.h +@@ -0,0 +1,43 @@ ++#ifndef __WARNING_H__ ++#define __WARNING_H__ ++ ++#ifdef HAVE_GNU_LD ++# ifdef HAVE_ELF ++ ++/* We want the .gnu.warning.SYMBOL section to be unallocated. */ ++# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE ++# define __make_section_unallocated(section_string) \ ++ asm(".section " section_string "; .previous"); ++# elif defined (HAVE_ASM_POPSECTION_DIRECTIVE) ++# define __make_section_unallocated(section_string) \ ++ asm(".pushsection " section_string "; .popsection"); ++# else ++# define __make_section_unallocated(section_string) ++# endif ++ ++# ifdef HAVE_SECTION_ATTRIBUTES ++# define link_warning(symbol, msg) \ ++ __make_section_unallocated (".gnu.warning." #symbol) \ ++ static const char __evoke_link_warning_##symbol[] \ ++ __attribute__ ((section (".gnu.warning." #symbol))) = msg; ++# else ++# define link_warning(symbol, msg) ++# endif ++ ++#else /* !ELF */ ++ ++# define link_warning(symbol, msg) \ ++ asm(".stabs \"" msg "\",30,0,0,0\n" \ ++ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); ++# endif ++#else /* !GNULD */ ++/* We will never be heard; they will all die horribly. */ ++# define link_warning(symbol, msg) ++#endif ++ ++/* A canned warning for sysdeps/stub functions. */ ++#define stub_warning(name) \ ++ link_warning (name, \ ++ "warning: " #name " is not implemented and will always fail") ++ ++#endif /* __WARNING_H__ */ +diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c +new file mode 100644 +index 000000000..0e6aa41ab +--- /dev/null ++++ b/libgloss/libsysbase/write.c +@@ -0,0 +1,38 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++ ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++_ssize_t _write_r( struct _reent * r, int fileDesc, const void *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++_ssize_t _write( int fileDesc, const char *ptr, int len) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = NULL; ++ ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->write_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->write_r(r,handle->fileStruct,ptr,len); ++ } else ++ r->_errno=ENOSYS; ++ } ++ return ret; ++} +diff --git a/libgloss/rs6000/Makefile.in b/libgloss/rs6000/Makefile.in +index 51714e59b..db8294105 100644 +--- a/libgloss/rs6000/Makefile.in ++++ b/libgloss/rs6000/Makefile.in +@@ -129,6 +129,9 @@ XIL_OBJS = open.o close.o lseek.o sbrk.o read.o write.o print.o + XIL_TEST = xil-test + XIL_INSTALL = install-xil + ++OGC_CRTMAIN = crtmain.o ++OGC_INSTALL = install-ogc ++ + # Host specific makefile fragment comes in here. + @host_makefile_frag@ + +@@ -143,7 +146,7 @@ all: \ + ${LINUX_CRT0} ${LINUX_BSP} \ + ${YELLOWKNIFE_CRT0} ${YELLOWKNIFE_BSP} \ + ${ADS_CRT0} ${ADS_BSP} \ +- ${MBX_CRT0} ${MBX_BSP} \ ++ ${MBX_CRT0} ${MBX_BSP} ${OGC_CRTMAIN} \ + ${XIL_CRT0} ${XIL_BSP} + + # +@@ -295,6 +298,8 @@ xil-test.srec: xil-test.x + + crt0.o: crt0.S + ++crtmain.o: crtmain.c ++ + simulator.o: simulator.S + sim-getrusage.o: sim-getrusage.S + sim-crt0.o: sim-crt0.S +@@ -352,7 +357,7 @@ distclean maintainer-clean realclean: clean + rm -f Makefile config.status *~ + + .PHONY: install info install-info clean-info +-install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${XIL_INSTALL} ++install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${OGC_INSTALL} ${XIL_INSTALL} + + install-sim: + set -e; for x in ${SIM_CRT0} ${SIM_BSP} ${SIM_SCRIPTS}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done +@@ -382,6 +387,9 @@ install-xil: + set -e; for x in ${XIL_CRT0} ${XIL_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib/$$x; done + set -e; for x in ${XIL_SCRIPTS} ${XIL_SPECS}; do ${INSTALL_DATA} $(srcdir)/$$x $(DESTDIR)${tooldir}/lib/$$x; done + ++install-ogc: ++ set -e; for x in ${OGC_CRTMAIN}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done ++ + doc: + info: + install-info: +diff --git a/libgloss/rs6000/crtmain.c b/libgloss/rs6000/crtmain.c +new file mode 100644 +index 000000000..bd25d775d +--- /dev/null ++++ b/libgloss/rs6000/crtmain.c +@@ -0,0 +1,18 @@ ++#include ++ ++struct __argv { ++ int argvMagic; //!< argv magic number, set to 0x5f617267 ('_arg') if valid ++ char *commandLine; //!< base address of command line, set of null terminated strings ++ int length;//!< total length of command line ++ int argc; ++ char **argv; ++}; ++ ++extern struct __argv *__system_argv; ++void __init(); ++void SYS_PreMain(); ++ ++void __crtmain() { ++ SYS_PreMain(); ++ exit ( main(__system_argv->argc,__system_argv->argv) ); ++} +diff --git a/newlib/configure.host b/newlib/configure.host +index eb645868b..b9a006453 100644 +--- a/newlib/configure.host ++++ b/newlib/configure.host +@@ -797,7 +797,12 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + default_newlib_io_long_long="yes" + newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" + ;; +- powerpc*-*-eabi* | \ ++ powerpc*-*-eabi*) ++ default_newlib_io_long_long="yes" ++ newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" ++ syscall_dir=syscalls ++ ;; + powerpc*-*-elf* | \ + powerpc*-*-linux* | \ + powerpc*-*-rtem* | \ +diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h +index a3fb5c02c..478d1b4e3 100644 +--- a/newlib/libc/include/sys/dirent.h ++++ b/newlib/libc/include/sys/dirent.h +@@ -4,10 +4,51 @@ + not support , we will get this file which uses #error to force + an error. */ + ++#ifndef _dirent_h_ ++#define _dirent_h_ ++ ++#include ++#include ++#include ++ ++#define _DIRENT_HAVE_D_TYPE ++ ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 ++ + #ifdef __cplusplus + extern "C" { + #endif +-#error " not supported" ++ ++ struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++ }; ++ ++ typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++ } DIR; ++ ++ int closedir(DIR *dirp); ++ DIR *opendir(const char *dirname); ++ struct dirent *readdir(DIR *dirp); ++ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++ void rewinddir(DIR *dirp); ++ void seekdir(DIR *dirp, long int loc); ++ long int telldir(DIR *dirp); ++ + #ifdef __cplusplus + } + #endif ++ ++#endif // _dirent_h_ +\ No newline at end of file +diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h +index 2900b332f..6efb54eb3 100644 +--- a/newlib/libc/include/sys/features.h ++++ b/newlib/libc/include/sys/features.h +@@ -330,6 +330,9 @@ extern "C" { + # define __SSP_FORTIFY_LEVEL 0 + #endif + ++#define _POSIX_MONOTONIC_CLOCK 200112L ++#define _POSIX_TIMERS 1 ++ + /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ + + #ifdef __rtems__ +diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h +new file mode 100644 +index 000000000..8034ada6f +--- /dev/null ++++ b/newlib/libc/include/sys/iosupport.h +@@ -0,0 +1,105 @@ ++//--------------------------------------------------------------------------------- ++#ifndef __iosupp_h__ ++#define __iosupp_h__ ++//--------------------------------------------------------------------------------- ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#include ++#include ++#include ++#include ++ ++enum { ++ STD_IN, ++ STD_OUT, ++ STD_ERR, ++ STD_MAX = 16 ++}; ++ ++ ++typedef struct { ++ unsigned int device; ++ unsigned int refcount; ++ void *fileStruct; ++} __handle; ++ ++/* Directory iterator for mantaining state between dir* calls */ ++typedef struct { ++ int device; ++ void *dirStruct; ++} DIR_ITER; ++ ++typedef struct { ++ const char *name; ++ size_t structSize; ++ int (*open_r)(struct _reent *r, void *fileStruct, const char *path, int flags, int mode); ++ int (*close_r)(struct _reent *r, void *fd); ++ ssize_t (*write_r)(struct _reent *r, void *fd, const char *ptr, size_t len); ++ ssize_t (*read_r)(struct _reent *r, void *fd, char *ptr, size_t len); ++ off_t (*seek_r)(struct _reent *r, void *fd, off_t pos, int dir); ++ int (*fstat_r)(struct _reent *r, void *fd, struct stat *st); ++ int (*stat_r)(struct _reent *r, const char *file, struct stat *st); ++ int (*link_r)(struct _reent *r, const char *existing, const char *newLink); ++ int (*unlink_r)(struct _reent *r, const char *name); ++ int (*chdir_r)(struct _reent *r, const char *name); ++ int (*rename_r) (struct _reent *r, const char *oldName, const char *newName); ++ int (*mkdir_r) (struct _reent *r, const char *path, int mode); ++ ++ size_t dirStateSize; ++ ++ DIR_ITER* (*diropen_r)(struct _reent *r, DIR_ITER *dirState, const char *path); ++ int (*dirreset_r)(struct _reent *r, DIR_ITER *dirState); ++ int (*dirnext_r)(struct _reent *r, DIR_ITER *dirState, char *filename, struct stat *filestat); ++ int (*dirclose_r)(struct _reent *r, DIR_ITER *dirState); ++ int (*statvfs_r)(struct _reent *r, const char *path, struct statvfs *buf); ++ int (*ftruncate_r)(struct _reent *r, void *fd, off_t len); ++ int (*fsync_r)(struct _reent *r, void *fd); ++ ++ void *deviceData; ++ ++ int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); ++ int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); ++ int (*rmdir_r)(struct _reent *r, const char *name); ++ ++} devoptab_t; ++ ++extern const devoptab_t *devoptab_list[]; ++ ++typedef struct { ++ void *(*sbrk_r) (struct _reent *ptr, ptrdiff_t incr); ++ int (*lock_init) (int *lock,int recursive); ++ int (*lock_close) (int *lock); ++ int (*lock_release) (int *lock); ++ int (*lock_acquire) (int *lock); ++ void (*malloc_lock) (struct _reent *ptr); ++ void (*malloc_unlock) (struct _reent *ptr); ++ void (*exit) ( int rc ); ++ int (*gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); ++ int (*clock_gettime)(clockid_t clock_id, struct timespec *tp); ++ int (*clock_settime)(clockid_t clock_id, const struct timespec *tp); ++ int (*clock_getres)(clockid_t clock_id, struct timespec *res); ++} __syscalls_t; ++ ++extern __syscalls_t __syscalls; ++ ++int AddDevice( const devoptab_t* device); ++int FindDevice(const char* name); ++int RemoveDevice(const char* name); ++void setDefaultDevice( int device ); ++const devoptab_t* GetDeviceOpTab (const char *name); ++ ++void __release_handle(int fd); ++int __alloc_handle(int device); ++__handle *__get_handle(int fd); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++//--------------------------------------------------------------------------------- ++#endif // __iosupp_h__ ++//--------------------------------------------------------------------------------- +diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h +index 1ef226194..ce3721a14 100644 +--- a/newlib/libc/include/sys/reent.h ++++ b/newlib/libc/include/sys/reent.h +@@ -416,6 +416,8 @@ struct _reent + __FILE *__sf; /* file descriptors */ + struct _misc_reent *_misc; /* strtok, multibyte states */ + char *_signal_buf; /* strsignal */ ++ ++ void *deviceData; + }; + + extern const struct __sFILE_fake __sf_fake_stdin; +@@ -647,6 +649,7 @@ struct _reent + # ifndef _REENT_GLOBAL_STDIO_STREAMS + __FILE __sf[3]; /* first three file descriptors */ + # endif ++ void *deviceData; + }; + + #ifdef _REENT_GLOBAL_STDIO_STREAMS +diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h +new file mode 100644 +index 000000000..380329d34 +--- /dev/null ++++ b/newlib/libc/include/sys/statvfs.h +@@ -0,0 +1,35 @@ ++#ifndef _SYS_STATVFS_H ++#define _SYS_STATVFS_H ++ ++ ++#define ST_RDONLY 0x0001 ++#define ST_NOSUID 0x0002 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#include ++ ++struct statvfs { ++ unsigned long f_bsize; ++ unsigned long f_frsize; ++ fsblkcnt_t f_blocks; ++ fsblkcnt_t f_bfree; ++ fsblkcnt_t f_bavail; ++ fsfilcnt_t f_files; ++ fsfilcnt_t f_ffree; ++ fsfilcnt_t f_favail; ++ unsigned long f_fsid; ++ unsigned long f_flag; ++ unsigned long f_namemax; ++}; ++ ++int statvfs(const char *path, struct statvfs *buf); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#endif // _SYS_STATVFS_H +\ No newline at end of file +diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h +index ba9dbd667..93ed11a42 100644 +--- a/newlib/libc/include/sys/syslimits.h ++++ b/newlib/libc/include/sys/syslimits.h +@@ -44,12 +44,12 @@ + #define LINK_MAX 32767 /* max file link count */ + #define MAX_CANON 255 /* max bytes in term canon input line */ + #define MAX_INPUT 255 /* max bytes in terminal input */ +-#define NAME_MAX 255 /* max bytes in a file name */ ++#define NAME_MAX 767 /* max bytes in a file name */ + #define NGROUPS_MAX 16 /* max supplemental group id's */ + #ifndef OPEN_MAX + #define OPEN_MAX 64 /* max open files per process */ + #endif +-#define PATH_MAX 1024 /* max bytes in pathname */ ++#define PATH_MAX 4096 /* max bytes in pathname */ + #define PIPE_BUF 512 /* max bytes for atomic pipe writes */ + #define IOV_MAX 1024 /* max elements in i/o vector */ + +diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c +index baa5451a6..236746f54 100644 +--- a/newlib/libc/locale/locale.c ++++ b/newlib/libc/locale/locale.c +@@ -165,15 +165,18 @@ No supporting OS subroutines are required. + #include "../ctype/ctype_.h" + #include "../stdlib/local.h" + ++ + #ifdef __CYGWIN__ /* Has to be kept available as exported symbol for + backward compatibility. Set it in setlocale, but + otherwise ignore it. Applications compiled after + 2010 don't use it anymore. */ ++ + int __EXPORT __mb_cur_max = 6; + #endif + + char *_PathLocale = NULL; + ++ + #ifdef _MB_CAPABLE + /* + * Category names for getenv() +@@ -193,7 +196,11 @@ static char *categories[_LC_LAST] = { + * Default locale per POSIX. Can be overridden on a per-target base. + */ + #ifndef DEFAULT_LOCALE +-#define DEFAULT_LOCALE "C" ++#ifdef __DEFAULT_UTF8__ ++#define DEFAULT_LOCALE "C.UTF8" ++#else ++#define DEFAULT_LOCALE "C" ++#endif + #endif + + #ifdef _MB_CAPABLE +@@ -206,8 +213,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; + const struct __locale_t __C_locale = + { + { "C", "C", "C", "C", "C", "C", "C", }, ++#if defined ( __DEFAULT_UTF8__ ) ++ __utf8_wctomb, ++ __utf8_mbtowc, ++#else + __ascii_wctomb, + __ascii_mbtowc, ++#endif + 0, + DEFAULT_CTYPE_PTR, + { +@@ -218,9 +230,15 @@ const struct __locale_t __C_locale = + CHAR_MAX, CHAR_MAX + }, + #ifndef __HAVE_LOCALE_INFO__ ++#ifdef __DEFAULT_UTF8__ ++ "\6", ++ "UTF-8", ++ "UTF-8", ++#else + "\1", + "ASCII", + "ASCII", ++#endif + #else /* __HAVE_LOCALE_INFO__ */ + { + { NULL, NULL }, /* LC_ALL */ +@@ -239,10 +257,11 @@ const struct __locale_t __C_locale = + }; + #endif /* _MB_CAPABLE */ + ++ + struct __locale_t __global_locale = + { + { "C", "C", DEFAULT_LOCALE, "C", "C", "C", "C", }, +-#ifdef __CYGWIN__ ++#if defined ( __CYGWIN__ ) || defined ( __DEFAULT_UTF8__ ) + __utf8_wctomb, + __utf8_mbtowc, + #else +@@ -259,9 +278,15 @@ struct __locale_t __global_locale = + CHAR_MAX, CHAR_MAX + }, + #ifndef __HAVE_LOCALE_INFO__ ++#ifdef __DEFAULT_UTF8__ ++ "\6", ++ "UTF-8", ++ "UTF-8", ++#else + "\1", + "ASCII", + "ASCII", ++#endif + #else /* __HAVE_LOCALE_INFO__ */ + { + { NULL, NULL }, /* LC_ALL */ +@@ -982,6 +1007,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) + + const char * + __locale_ctype_ptr (void) ++ + { + return __get_current_locale ()->ctype_ptr; + } +diff --git a/newlib/libc/machine/powerpc/Makefile.am b/newlib/libc/machine/powerpc/Makefile.am +index e86afdf1c..007bd1567 100644 +--- a/newlib/libc/machine/powerpc/Makefile.am ++++ b/newlib/libc/machine/powerpc/Makefile.am +@@ -10,7 +10,7 @@ noinst_LIBRARIES = lib.a + + AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib + +-lib_a_SOURCES = setjmp.S ++lib_a_SOURCES = setjmp.S access.c + lib_a_CCASFLAGS=$(AM_CCASFLAGS) + lib_a_CFLAGS=$(AM_CFLAGS) + lib_a_LIBADD = @extra_objs@ +diff --git a/newlib/libc/machine/powerpc/Makefile.in b/newlib/libc/machine/powerpc/Makefile.in +index 73b0cc471..12044cb8a 100644 +--- a/newlib/libc/machine/powerpc/Makefile.in ++++ b/newlib/libc/machine/powerpc/Makefile.in +@@ -68,7 +68,7 @@ CONFIG_CLEAN_VPATH_FILES = + LIBRARIES = $(noinst_LIBRARIES) + ARFLAGS = cru + lib_a_AR = $(AR) $(ARFLAGS) +-am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) ++am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-access.$(OBJEXT) + lib_a_OBJECTS = $(am_lib_a_OBJECTS) + DEFAULT_INCLUDES = -I.@am__isrc@ + depcomp = +@@ -196,7 +196,7 @@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) + AM_CCASFLAGS = $(INCLUDES) + noinst_LIBRARIES = lib.a + AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib +-lib_a_SOURCES = setjmp.S ++lib_a_SOURCES = setjmp.S access.c + lib_a_CCASFLAGS = $(AM_CCASFLAGS) + lib_a_CFLAGS = $(AM_CFLAGS) + lib_a_LIBADD = @extra_objs@ +@@ -280,6 +280,12 @@ lib_a-setjmp.obj: setjmp.S + .c.obj: + $(COMPILE) -c `$(CYGPATH_W) '$<'` + ++lib_a-access.o: access.c ++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.o `test -f 'access.c' || echo '$(srcdir)/'`access.c ++ ++lib_a-access.obj: access.c ++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.obj `if test -f 'access.c'; then $(CYGPATH_W) 'access.c'; else $(CYGPATH_W) '$(srcdir)/access.c'; fi` ++ + lib_a-vfprintf.o: vfprintf.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-vfprintf.o `test -f 'vfprintf.c' || echo '$(srcdir)/'`vfprintf.c + +diff --git a/newlib/libc/machine/powerpc/access.c b/newlib/libc/machine/powerpc/access.c +new file mode 100644 +index 000000000..980682ef3 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/access.c +@@ -0,0 +1,33 @@ ++/* This is file ACCESS.C */ ++/* ++ * Copyright (C) 1993 DJ Delorie ++ * All rights reserved. ++ * ++ * Redistribution, modification, and use in source and binary forms is permitted ++ * provided that the above copyright notice and following paragraph are ++ * duplicated in all such forms. ++ * ++ * This file is distributed WITHOUT ANY WARRANTY; without even the implied ++ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ */ ++ ++#include ++#include ++#include ++ ++int access(const char *fn, int flags) ++{ ++ struct stat s; ++ if (stat(fn, &s)) ++ return -1; ++ if (s.st_mode & S_IFDIR) ++ return 0; ++ if (flags & W_OK) ++ { ++ if (s.st_mode & S_IWRITE) ++ return 0; ++ return -1; ++ } ++ return 0; ++} ++ +diff --git a/newlib/libc/machine/powerpc/machine/_types.h b/newlib/libc/machine/powerpc/machine/_types.h +new file mode 100644 +index 000000000..a7d63da51 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/machine/_types.h +@@ -0,0 +1,19 @@ ++#ifndef _MACHINE__TYPES_H ++#define _MACHINE__TYPES_H ++ ++#include ++ ++/* Use 64bit types */ ++typedef __int64_t _off_t; ++#define __machine_off_t_defined ++ ++typedef __int64_t _fpos_t; ++#define __machine_fpos_t_defined ++ ++typedef __uint32_t __ino_t; ++#define __machine_ino_t_defined ++ ++typedef __uint32_t __dev_t; ++#define __machine_dev_t_defined ++ ++#endif // _MACHINE__TYPES_H +diff --git a/newlib/libc/machine/powerpc/sys/lock.h b/newlib/libc/machine/powerpc/sys/lock.h +new file mode 100644 +index 000000000..d83fda504 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/sys/lock.h +@@ -0,0 +1,51 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ ++ ++typedef int _LOCK_T; ++typedef int _LOCK_RECURSIVE_T; ++ ++#define __LOCK_INIT(CLASS,NAME) CLASS _LOCK_T NAME = 0 ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) CLASS _LOCK_RECURSIVE_T NAME = 0 ++ ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME),0) ++ ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init(&(NAME),1) ++ ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_acquire(NAME) \ ++ if(!(NAME)) __libc_lock_init(&(NAME),0); \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_acquire_recursive(NAME) \ ++ if(!(NAME)) __libc_lock_init(&(NAME),1); \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_try_acquire(NAME) \ ++ if(!(NAME)) __libc_lock_init(&(NAME),0); \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_try_acquire_recursive(NAME) \ ++ if(!(NAME)) __libc_lock_init(&(NAME),1); \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++ ++extern int __libc_lock_init(int*,int); ++extern int __libc_lock_close(int*); ++extern int __libc_lock_acquire(int*); ++extern int __libc_lock_try_acquire(int*); ++extern int __libc_lock_release(int*); ++ ++#endif /* __SYS_LOCK_H__ */ +diff --git a/newlib/libc/machine/powerpc/sys/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h +new file mode 100644 +index 000000000..04ebd1ee0 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/sys/stdio.h +@@ -0,0 +1,25 @@ ++#ifndef _NEWLIB_STDIO_H ++#define _NEWLIB_STDIO_H ++ ++/* Internal locking macros, used to protect stdio functions. In the ++ general case, expand to nothing. */ ++#if !defined(_flockfile) ++# if !defined(__SINGLE_THREAD__) ++# define _flockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __flockfile(fp); } ++ extern void __flockfile(FILE *fp); ++# else ++# define _flockfile(fp) ++# endif ++#endif /* __SINGLE_THREAD__ */ ++ ++#if !defined(_funlockfile) ++# if !defined(__SINGLE_THREAD__) ++# define _funlockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __funlockfile(fp); } ++ extern void __funlockfile(FILE *fp); ++# else ++# define _funlockfile(fp) ++# endif ++#endif /* __SINGLE_THREAD__ */ ++ ++#endif /* _NEWLIB_STDIO_H */ ++ +diff --git a/newlib/libc/misc/init.c b/newlib/libc/misc/init.c +index c85d6020f..1beb783b8 100644 +--- a/newlib/libc/misc/init.c ++++ b/newlib/libc/misc/init.c +@@ -40,4 +40,8 @@ __libc_init_array (void) + for (i = 0; i < count; i++) + __init_array_start[i] (); + } ++#else ++ ++#error why am I not defined ++ + #endif +diff --git a/newlib/libc/stdio/Makefile.in b/newlib/libc/stdio/Makefile.in +index aa22a0e3a..93e672b6a 100644 +--- a/newlib/libc/stdio/Makefile.in ++++ b/newlib/libc/stdio/Makefile.in +@@ -507,6 +507,7 @@ GENERAL_SOURCES = \ + rename.c \ + rewind.c \ + rget.c \ ++ rmdir.c \ + scanf.c \ + sccl.c \ + setbuf.c \ +@@ -1176,6 +1177,12 @@ lib_a-rget.o: rget.c + lib_a-rget.obj: rget.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rget.obj `if test -f 'rget.c'; then $(CYGPATH_W) 'rget.c'; else $(CYGPATH_W) '$(srcdir)/rget.c'; fi` + ++lib_a-rmdir.o: rmdir.c ++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rmdir.o `test -f 'rmdir.c' || echo '$(srcdir)/'`rmdir.c ++ ++lib_a-rmdir.obj: rmdir.c ++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rmdir.obj `if test -f 'rmdir.c'; then $(CYGPATH_W) 'rmdir.c'; else $(CYGPATH_W) '$(srcdir)/rmdir.c'; fi` ++ + lib_a-scanf.o: scanf.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-scanf.o `test -f 'scanf.c' || echo '$(srcdir)/'`scanf.c + +diff --git a/newlib/libc/stdio/fopen.c b/newlib/libc/stdio/fopen.c +index 022992b8d..bdf4c7bb0 100644 +--- a/newlib/libc/stdio/fopen.c ++++ b/newlib/libc/stdio/fopen.c +@@ -139,6 +139,9 @@ _fopen_r (struct _reent *ptr, + + _newlib_flockfile_start (fp); + ++ flags &= ~(__SLBF | __SNBF | __SMBF); ++ flags |= __SNBF; ++ + fp->_file = f; + fp->_flags = flags; + fp->_cookie = (void *) fp; +diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c +index b358d2b4a..9cab2180e 100644 +--- a/newlib/libc/stdio/fread.c ++++ b/newlib/libc/stdio/fread.c +@@ -225,7 +225,31 @@ _fread_r (struct _reent * ptr, + /* fp->_r = 0 ... done in __srefill */ + p += r; + resid -= r; +- if (__srefill_r (ptr, fp)) ++ int rc = 0; ++ ++ if (resid>BUFSIZ) ++ { ++ /* save fp buffering state */ ++ void *old_base = fp->_bf._base; ++ void * old_p = fp->_p; ++ int old_size = fp->_bf._size; ++ /* allow __refill to use user's buffer */ ++ fp->_bf._base = (unsigned char *) p; ++ fp->_bf._size = resid; ++ fp->_p = (unsigned char *) p; ++ rc = __srefill_r (ptr, fp); ++ /* restore fp buffering back to original state */ ++ fp->_bf._base = old_base; ++ fp->_bf._size = old_size; ++ fp->_p = old_p; ++ resid -= fp->_r; ++ p += fp->_r; ++ fp->_r = 0; ++ ++ } else { ++ rc = __srefill_r (ptr, fp); ++ } ++ if (rc) + { + /* no more input: return partial result */ + #ifdef __SCLE +diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c +index 920a7ea3c..ba5ee7652 100644 +--- a/newlib/libc/stdlib/mbtowc_r.c ++++ b/newlib/libc/stdlib/mbtowc_r.c +@@ -7,6 +7,7 @@ + #include + #include "local.h" + ++ + int + _mbtowc_r (struct _reent *r, + wchar_t *__restrict pwc, +diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c +index 23aa10173..6016aa3ee 100644 +--- a/newlib/libc/stdlib/mlock.c ++++ b/newlib/libc/stdlib/mlock.c +@@ -28,7 +28,7 @@ the sequence of calls may go <<__malloc_lock>>, <<__malloc_lock>>, + routines must be careful to avoid causing a thread to wait for a lock + that it already holds. + */ +- ++#if 0 + #include + #include + +@@ -53,5 +53,5 @@ __malloc_unlock (ptr) + __lock_release_recursive (__malloc_recursive_mutex); + #endif + } +- ++#endif + #endif diff --git a/select_toolchain.sh b/select_toolchain.sh index a0c19bb..7d373a0 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -43,7 +43,7 @@ case "$VERSION" in GCC_VER=8.1.0 BINUTILS_VER=2.30 MN_BINUTILS_VER=2.17 - NEWLIB_VER=2.5.0 + NEWLIB_VER=3.0.0 GDB_VER=8.0.1 basedir='dkppc' package=devkitPPC From 04e02ff2146bbd45170e3ee229ea45d791cb2426 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 27 May 2018 23:06:42 +0000 Subject: [PATCH 025/280] remove old patches --- dkppc/patches/binutils-2.28.patch | 12 - dkppc/patches/newlib-2.5.0.patch | 7981 ----------------------------- 2 files changed, 7993 deletions(-) delete mode 100644 dkppc/patches/binutils-2.28.patch delete mode 100644 dkppc/patches/newlib-2.5.0.patch diff --git a/dkppc/patches/binutils-2.28.patch b/dkppc/patches/binutils-2.28.patch deleted file mode 100644 index 7495780..0000000 --- a/dkppc/patches/binutils-2.28.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nbaur binutils-2.27/opcodes/ppc-opc.c binutils-2.27-ppc/opcodes/ppc-opc.c ---- binutils-2.27/opcodes/ppc-opc.c 2016-08-03 08:36:54.000000000 +0100 -+++ binutils-2.27-ppc/opcodes/ppc-opc.c 2016-11-08 21:37:45.360000000 +0000 -@@ -3037,7 +3037,7 @@ - #define MFDEC1 PPC_OPCODE_POWER - #define MFDEC2 PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE | PPC_OPCODE_TITAN - #define BOOKE PPC_OPCODE_BOOKE --#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS -+#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS - #define PPCE300 PPC_OPCODE_E300 - #define PPCSPE PPC_OPCODE_SPE - #define PPCISEL PPC_OPCODE_ISEL diff --git a/dkppc/patches/newlib-2.5.0.patch b/dkppc/patches/newlib-2.5.0.patch deleted file mode 100644 index eeb7df1..0000000 --- a/dkppc/patches/newlib-2.5.0.patch +++ /dev/null @@ -1,7981 +0,0 @@ -diff --git a/libgloss/configure b/libgloss/configure -index 90a0522..99fe5ad 100755 ---- a/libgloss/configure -+++ b/libgloss/configure -@@ -2589,6 +2589,8 @@ if test "${config_libnosys}" = "true"; then - - fi - -+subdirs="$subdirs libsysbase" -+ - DEPDIR="${am__leading_dot}deps" - - ac_config_commands="$ac_config_commands depfiles" -diff --git a/libgloss/configure.in b/libgloss/configure.in -index d1b3b34..58c54d6 100644 ---- a/libgloss/configure.in -+++ b/libgloss/configure.in -@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. - AC_PREREQ(2.59) - AC_INIT([libgloss],[LIBGLOSS_VERSION]) - AC_CONFIG_SRCDIR([libnosys]) -+AC_CONFIG_SRCDIR([libsysbase]) - - if test "${enable_shared}" = "yes" ; then - echo "Shared libraries not supported for cross compiling, ignored" -@@ -33,6 +34,9 @@ config_testsuite=true - dnl indicates whether to run configure within the libnosys subdirectory - config_libnosys=true - -+dnl indicates whether to run configure within the libsysbase subdirectory -+config_libsysbase=true -+ - case "${target}" in - aarch64*-*-*) - AC_CONFIG_SUBDIRS(aarch64) -@@ -185,6 +189,10 @@ if test "${config_libnosys}" = "true"; then - AC_CONFIG_SUBDIRS([libnosys]) - fi - -+if test "${config_libsysbase}" = "true"; then -+ AC_CONFIG_SUBDIRS([libsysbase]) -+fi -+ - LIB_AC_PROG_CC - AS=${AS-as} - AC_SUBST(AS) -diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in -new file mode 100644 -index 0000000..2a02eb0 ---- /dev/null -+++ b/libgloss/libsysbase/Makefile.in -@@ -0,0 +1,148 @@ -+# Copyright (c) 1998 Cygnus Support -+# -+# The authors hereby grant permission to use, copy, modify, distribute, -+# and license this software and its documentation for any purpose, provided -+# that existing copyright notices are retained in all copies and that this -+# notice is included verbatim in any distributions. No written agreement, -+# license, or royalty fee is required for any of the authorized uses. -+# Modifications to this software may be copyrighted by their authors -+# and need not follow the licensing terms described here, provided that -+# the new terms are clearly indicated on the first page of each file where -+# they apply. -+ -+DESTDIR = -+VPATH = @srcdir@ -+srcdir = @srcdir@ -+objdir = . -+srcroot = $(srcdir)/../.. -+objroot = $(objdir)/../.. -+ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+host_alias = @host_alias@ -+target_alias = @target_alias@ -+program_transform_name = @program_transform_name@ -+ -+bindir = @bindir@ -+libdir = @libdir@ -+tooldir = $(exec_prefix)/$(target_alias) -+ -+# Multilib support variables. -+# TOP is used instead of MULTI{BUILD,SRC}TOP. -+MULTIDIRS = -+MULTISUBDIR = -+MULTIDO = true -+MULTICLEAN = true -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+ -+SHELL = /bin/sh -+ -+CC = @CC@ -+ -+#AS = @AS@ -+AS = `if [ -f ${objroot}/../gas/as.new ] ; \ -+ then echo ${objroot}/../gas/as.new ; \ -+ else echo as ; fi` -+ -+AR = @AR@ -+ -+#LD = @LD@ -+LD = `if [ -f ${objroot}/../ld/ld.new ] ; \ -+ then echo ${objroot}/../ld/ld.new ; \ -+ else echo ld ; fi` -+ -+RANLIB = @RANLIB@ -+ -+OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \ -+ then echo ${objroot}/../binutils/objdump ; \ -+ else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi` -+OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \ -+ then echo ${objroot}/../binutils/objcopy ; \ -+ else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi` -+ -+# object files needed -+OBJS = abort.o iosupport.o close.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ -+ isatty.o kill.o link.o lseek.o open.o read.o sbrk.o stat.o times.o \ -+ unlink.o wait.o write.o _exit.o malloc_vars.o \ -+ chdir.o mkdir.o rename.o build_argv.o statvfs.o \ -+ flock.o syscall_support.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ -+ fchmod.o chmod.o rmdir.o -+ -+# Object files specific to particular targets. -+EVALOBJS = ${OBJS} -+ -+GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \ -+ then echo -L${objroot}/../gcc ; fi` -+ -+OUTPUTS = libsysbase.a -+ -+NEWLIB_CFLAGS = `if [ -d ${objroot}/newlib ]; then echo -I${objroot}/newlib/targ-include -I${srcroot}/newlib/libc/include; fi` -+NEWLIB_LDFLAGS = `if [ -d ${objroot}/newlib ]; then echo -B${objroot}/newlib/ -L${objroot}/newlib/; fi` -+ -+INCLUDES = -I. -I$(srcdir)/.. -+# Note that when building the library, ${MULTILIB} is not the way multilib -+# options are passed; they're passed in $(CFLAGS). -+CFLAGS_FOR_TARGET = ${MULTILIB} ${INCLUDES} ${NEWLIB_CFLAGS} -+LDFLAGS_FOR_TARGET = ${MULTILIB} ${NEWLIB_LDFLAGS} -+AR_FLAGS = qc -+ -+.c.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $< -+ -+.C.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $< -+.s.o: -+ $(AS) $(ASFLAGS_FOR_TARGET) $(INCLUDES) $(ASFLAGS) -o $*.o $< -+ -+# -+# GCC knows to run the preprocessor on .S files before it assembles them. -+# -+.S.o: -+ $(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< -+ -+# -+# this is a bogus target that'll produce an assembler from the -+# C source with the right compiler options. this is so we can -+# track down code generation or debug symbol bugs. -+# -+.c.s: -+ $(CC) $(CFLAGS_FOR_TARGET) -S $(INCLUDES) $(CFLAGS) $< -+ -+all: ${OUTPUTS} -+ -+# -+# here's where we build the library for each target -+# -+ -+libsysbase.a: $(EVALOBJS) -+ ${AR} ${ARFLAGS} $@ $(EVALOBJS) -+ ${RANLIB} $@ -+ -+doc: -+ -+clean mostlyclean: -+ rm -f $(OUTPUTS) *.i *~ *.o *-test *.srec *.dis *.map *.x -+ -+distclean maintainer-clean realclean: clean -+ rm -f Makefile config.status $(OUTPUTS) -+ -+.PHONY: install info install-info clean-info -+install: -+ @for outputs in ${OUTPUTS}; do\ -+ mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ -+ $(INSTALL_PROGRAM) $${outputs} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ -+ done -+ -+info: -+install-info: -+clean-info: -+ -+Makefile: Makefile.in config.status @host_makefile_frag_path@ -+ $(SHELL) config.status -+ -+config.status: configure -+ $(SHELL) config.status --recheck -diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c -new file mode 100644 -index 0000000..502d6fb ---- /dev/null -+++ b/libgloss/libsysbase/_exit.c -@@ -0,0 +1,19 @@ -+/* Stub version of _exit. */ -+ -+#include -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+_VOID -+_DEFUN (_exit, (rc), -+ int rc) -+{ -+ -+ if ( __syscalls.exit ) { -+ __syscalls.exit(rc); -+ } -+ -+ while(1); -+} -diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c -new file mode 100644 -index 0000000..9272e22 ---- /dev/null -+++ b/libgloss/libsysbase/abort.c -@@ -0,0 +1,8 @@ -+#include -+#include -+ -+void abort(void) { -+ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); -+ _exit (1); -+} -+ -diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h -new file mode 100644 -index 0000000..200ea78 ---- /dev/null -+++ b/libgloss/libsysbase/acconfig.h -@@ -0,0 +1,29 @@ -+/* Name of package. */ -+#undef PACKAGE -+ -+/* Version of package. */ -+#undef VERSION -+ -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES -+ -+/* Reentrant syscalls */ -+#undef REENTRANT_SYSCALLS_PROVIDED -+ -+/* Using ELF format */ -+#undef HAVE_ELF -+ -+/* Using GNU LD */ -+#undef HAVE_GNU_LD -+ -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE -+ -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE -+ -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES -+ -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff --git a/libgloss/libsysbase/aclocal.m4 b/libgloss/libsysbase/aclocal.m4 -new file mode 100644 -index 0000000..b6cdfae ---- /dev/null -+++ b/libgloss/libsysbase/aclocal.m4 -@@ -0,0 +1,344 @@ -+# generated automatically by aclocal 1.9.5 -*- Autoconf -*- -+ -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -+# 2005 Free Software Foundation, Inc. -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+# AM_CONDITIONAL -*- Autoconf -*- -+ -+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 7 -+ -+# AM_CONDITIONAL(NAME, SHELL-CONDITION) -+# ------------------------------------- -+# Define a conditional. -+AC_DEFUN([AM_CONDITIONAL], -+[AC_PREREQ(2.52)dnl -+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], -+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -+AC_SUBST([$1_TRUE]) -+AC_SUBST([$1_FALSE]) -+if $2; then -+ $1_TRUE= -+ $1_FALSE='#' -+else -+ $1_TRUE='#' -+ $1_FALSE= -+fi -+AC_CONFIG_COMMANDS_PRE( -+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then -+ AC_MSG_ERROR([[conditional "$1" was never defined. -+Usually this means the macro was only invoked conditionally.]]) -+fi])]) -+ -+ -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 8 -+ -+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -+# written in clear, in which case automake, when reading aclocal.m4, -+# will think it sees a *use*, and therefore will trigger all it's -+# C support machinery. Also note that it means that autoscan, seeing -+# CC etc. in the Makefile, will ask for an AC_PROG_CC use... -+ -+ -+# _AM_DEPENDENCIES(NAME) -+# ---------------------- -+# See how the compiler implements dependency checking. -+# NAME is "CC", "CXX", "GCJ", or "OBJC". -+# We try a few techniques and use that to set a single cache variable. -+# -+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -+# dependency, and given that the user is not expected to run this macro, -+# just rely on AC_PROG_CC. -+AC_DEFUN([_AM_DEPENDENCIES], -+[AC_REQUIRE([AM_SET_DEPDIR])dnl -+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -+AC_REQUIRE([AM_MAKE_INCLUDE])dnl -+AC_REQUIRE([AM_DEP_TRACK])dnl -+ -+ifelse([$1], CC, [depcc="$CC" am_compiler_list=], -+ [$1], CXX, [depcc="$CXX" am_compiler_list=], -+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], -+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], -+ [depcc="$$1" am_compiler_list=]) -+ -+AC_CACHE_CHECK([dependency style of $depcc], -+ [am_cv_$1_dependencies_compiler_type], -+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub -+ -+ am_cv_$1_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` -+ fi -+ for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -+ -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_$1_dependencies_compiler_type=$depmode -+ break -+ fi -+ fi -+ done -+ -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_$1_dependencies_compiler_type=none -+fi -+]) -+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -+AM_CONDITIONAL([am__fastdep$1], [ -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -+]) -+ -+ -+# AM_SET_DEPDIR -+# ------------- -+# Choose a directory name for dependency files. -+# This macro is AC_REQUIREd in _AM_DEPENDENCIES -+AC_DEFUN([AM_SET_DEPDIR], -+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -+]) -+ -+ -+# AM_DEP_TRACK -+# ------------ -+AC_DEFUN([AM_DEP_TRACK], -+[AC_ARG_ENABLE(dependency-tracking, -+[ --disable-dependency-tracking speeds up one-time build -+ --enable-dependency-tracking do not reject slow dependency extractors]) -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi -+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -+AC_SUBST([AMDEPBACKSLASH]) -+]) -+ -+# Generate code to set up dependency tracking. -*- Autoconf -*- -+ -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+#serial 3 -+ -+# _AM_OUTPUT_DEPENDENCY_COMMANDS -+# ------------------------------ -+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -+[for mf in $CONFIG_FILES; do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # So let's grep whole file. -+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -+ dirpart=`AS_DIRNAME("$mf")` -+ else -+ continue -+ fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`AS_DIRNAME(["$file"])` -+ AS_MKDIR_P([$dirpart/$fdir]) -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done -+done -+])# _AM_OUTPUT_DEPENDENCY_COMMANDS -+ -+ -+# AM_OUTPUT_DEPENDENCY_COMMANDS -+# ----------------------------- -+# This macro should only be invoked once -- use via AC_REQUIRE. -+# -+# This code is only required when automatic dependency tracking -+# is enabled. FIXME. This creates each `.P' file that we will -+# need in order to bootstrap the dependency handling code. -+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -+[AC_CONFIG_COMMANDS([depfiles], -+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], -+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -+]) -+ -+# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 2 -+ -+# Check whether the underlying file-system supports filenames -+# with a leading dot. For instance MS-DOS doesn't. -+AC_DEFUN([AM_SET_LEADING_DOT], -+[rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+ am__leading_dot=. -+else -+ am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null -+AC_SUBST([am__leading_dot])]) -+ -+# Check to see how 'make' treats includes. -*- Autoconf -*- -+ -+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 3 -+ -+# AM_MAKE_INCLUDE() -+# ----------------- -+# Check to see how make treats includes. -+AC_DEFUN([AM_MAKE_INCLUDE], -+[am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+ @echo done -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+AC_MSG_CHECKING([for style of include used by $am_make]) -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ fi -+fi -+AC_SUBST([am__include]) -+AC_SUBST([am__quote]) -+AC_MSG_RESULT([$_am_result]) -+rm -f confinc confmf -+]) -+ -+m4_include([../acinclude.m4]) -diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c -new file mode 100644 -index 0000000..3ca95d5 ---- /dev/null -+++ b/libgloss/libsysbase/build_argv.c -@@ -0,0 +1,31 @@ -+struct __argv { -+ int argvMagic; -+ char *commandLine; -+ int length; -+ int argc; -+ char **argv; -+ char **endARGV; -+}; -+ -+ -+void build_argv (struct __argv* argstruct ) { -+ -+ char *data = argstruct->commandLine; -+ int len = argstruct->length; -+ -+ char** argv = (char**)(((int)data + len + sizeof(char **)) & ~(sizeof(char **)-1)); -+ char* end = data + len - 1; -+ int argCount = 0; -+ -+ do { -+ argv[argCount++] = data; // Add next arg to argv list -+ while (*(data) && data < end) data++; // Move to next NULL delimiter -+ data++; // Move to one after the NULL delimiter -+ } while (data < end); -+ -+ *end = '\0'; // Force NULL terminator for last arg -+ -+ argstruct->argv = argv; -+ argstruct->argc = argCount; -+ argstruct->endARGV = &argv[argCount]; -+} -diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c -new file mode 100644 -index 0000000..90d2dc5 ---- /dev/null -+++ b/libgloss/libsysbase/chdir.c -@@ -0,0 +1,201 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* CWD always start with "/" */ -+static char _current_working_directory [PATH_MAX] = "/"; -+static char temp_cwd [PATH_MAX]; -+ -+#define DIRECTORY_SEPARATOR_CHAR '/' -+const char DIRECTORY_SEPARATOR[] = "/"; -+const char DIRECTORY_THIS[] = "."; -+const char DIRECTORY_PARENT[] = ".."; -+ -+int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { -+ char *pathEnd; -+ int pathLength; -+ const char *extraEnd; -+ int extraSize; -+ -+ pathLength = strnlen (path, maxLength); -+ -+ /* assumes path ends in a directory separator */ -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ pathEnd = path + pathLength; -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd += 1; -+ } -+ -+ extraEnd = extra; -+ -+ /* If the extra bit starts with a slash, start at root */ -+ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; -+ pathEnd[0] = '\0'; -+ } -+ do { -+ /* Advance past any separators in extra */ -+ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ extra += 1; -+ } -+ -+ /* Grab the next directory name from extra */ -+ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); -+ if (extraEnd == NULL) { -+ extraEnd = strrchr (extra, '\0'); -+ } else { -+ extraEnd += 1; -+ } -+ -+ extraSize = (extraEnd - extra); -+ if (extraSize == 0) { -+ break; -+ } -+ -+ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) -+ { -+ /* Don't copy anything */ -+ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) -+ { -+ /* Go up one level of in the path */ -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { -+ // Remove trailing separator -+ pathEnd[-1] = '\0'; -+ } -+ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); -+ if (pathEnd == NULL) { -+ /* Can't go up any higher, return false */ -+ r->_errno = ENOENT; -+ return -1; -+ } -+ pathLength = pathEnd - path; -+ pathEnd += 1; -+ } else { -+ pathLength += extraSize; -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ /* Copy the next part over */ -+ strncpy (pathEnd, extra, extraSize); -+ pathEnd += extraSize; -+ } -+ pathEnd[0] = '\0'; -+ extra += extraSize; -+ } while (extraSize != 0); -+ -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd[1] = 0; -+ pathEnd += 1; -+ } -+ -+ return 0; -+} -+ -+int chdir (const char *path) { -+ struct _reent *r = _REENT; -+ -+ int dev; -+ const char *pathPosition; -+ -+ /* Make sure the path is short enough */ -+ if (strnlen (path, PATH_MAX) >= PATH_MAX) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ -+ if (strchr (path, ':') != NULL) { -+ strncpy (temp_cwd, path, PATH_MAX); -+ /* Move path past device name */ -+ path = strchr (path, ':') + 1; -+ } else { -+ strncpy (temp_cwd, _current_working_directory, PATH_MAX); -+ } -+ -+ pathPosition = strchr (temp_cwd , ':'); -+ -+ if (pathPosition == NULL) { -+ pathPosition = temp_cwd; -+ } else { -+ pathPosition++; -+ } -+ -+ /* Make sure the path starts in the root directory */ -+ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { -+ r->_errno = ENOENT; -+ return -1; -+ } -+ -+ /* Concatenate the path to the CWD */ -+ if (_concatenate_path (r, temp_cwd, path, PATH_MAX) == -1) { -+ return -1; -+ } -+ -+ /* Get device from path name */ -+ dev = FindDevice(temp_cwd); -+ -+ if (dev < 0) { -+ r->_errno = ENODEV; -+ return -1; -+ } -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ if ( devoptab_list[dev]->chdir_r == NULL) { -+ r->_errno = ENOSYS; -+ return -1; -+ } -+ -+ /* Try changing directories on the device */ -+ if (devoptab_list[dev]->chdir_r (r, temp_cwd) == -1) { -+ return -1; -+ } -+ -+ /* Since it worked, set the new CWD and default device */ -+ setDefaultDevice(dev); -+ strncpy (_current_working_directory, temp_cwd, PATH_MAX); -+ -+ return 0; -+} -+ -+char *getcwd(char *buf, size_t size) { -+ -+ struct _reent *r = _REENT; -+ -+ if (size == 0) { -+ if (buf != NULL) { -+ r->_errno = EINVAL; -+ return NULL; -+ } -+ buf = malloc(PATH_MAX); -+ size = PATH_MAX; -+ } -+ -+ if (buf == NULL) { -+ r->_errno = EINVAL; -+ return NULL; -+ } -+ -+ if ( size < (strnlen (_current_working_directory, PATH_MAX) + 1)) { -+ r->_errno = ERANGE; -+ return NULL; -+ } -+ -+ strncpy (buf, _current_working_directory, size); -+ -+ return buf; -+} -diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c -new file mode 100644 -index 0000000..3668b58 ---- /dev/null -+++ b/libgloss/libsysbase/chmod.c -@@ -0,0 +1,30 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+int chmod(const char *path, mode_t mode) { -+ int ret,dev; -+ struct _reent *r = _REENT; -+ -+ /* Get device from path name */ -+ dev = FindDevice(path); -+ -+ if (dev < 0) { -+ r->_errno = ENODEV; -+ ret = -1; -+ } else { -+ if (devoptab_list[dev]->chmod_r == NULL) { -+ r->_errno=ENOSYS; -+ } else { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->chmod_r(r,path,mode); -+ } -+ } -+ -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c -new file mode 100644 -index 0000000..a251e5b ---- /dev/null -+++ b/libgloss/libsysbase/close.c -@@ -0,0 +1,49 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN(_close_r,(ptr,fileDesc), -+ struct _reent *ptr _AND -+ int fileDesc) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN(_close,(fileDesc), -+ int fileDesc) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ if(fileDesc!=-1) { -+ -+ __handle *handle = __get_handle(fileDesc); -+ -+ if ( handle != NULL) { -+ dev = handle->device; -+ handle->refcount--; -+ if (handle->refcount == 0 ) { -+ -+ if(devoptab_list[dev]->close_r) { -+ ptr->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->close_r(ptr,handle->fileStruct); -+ } -+ else -+ ret = 0; -+ -+ __release_handle(fileDesc); -+ } else { -+ ret = 0; -+ } -+ -+ } -+ } -+ return ret; -+} -diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in -new file mode 100644 -index 0000000..48ce950 ---- /dev/null -+++ b/libgloss/libsysbase/config.h.in -@@ -0,0 +1,25 @@ -+/* config.h.in. Generated automatically from configure.in by autoheader. */ -+ -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES -+ -+/* Reentrant syscalls */ -+#undef REENTRANT_SYSCALLS_PROVIDED -+ -+/* Using ELF format */ -+#undef HAVE_ELF -+ -+/* Using GNU LD */ -+#undef HAVE_GNU_LD -+ -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE -+ -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE -+ -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES -+ -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure -new file mode 100644 -index 0000000..874eec1 ---- /dev/null -+++ b/libgloss/libsysbase/configure -@@ -0,0 +1,4158 @@ -+#! /bin/sh -+# Guess values for system-dependent variables and create Makefiles. -+# Generated by GNU Autoconf 2.69. -+# -+# -+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -+# -+# -+# This configure script is free software; the Free Software Foundation -+# gives unlimited permission to copy, distribute and modify it. -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## -+ -+# Be more Bourne compatible -+DUALCASE=1; export DUALCASE # for MKS sh -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '${1+"$@"}'='"$@"' -+ setopt NO_GLOB_SUBST -+else -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+ -+ -+as_nl=' -+' -+export as_nl -+# Printing a long string crashes Solaris 7 /usr/bin/printf. -+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='printf %s\n' -+ as_echo_n='printf %s' -+else -+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then -+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' -+ as_echo_n='/usr/ucb/echo -n' -+ else -+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' -+ as_echo_n_body='eval -+ arg=$1; -+ case $arg in #( -+ *"$as_nl"*) -+ expr "X$arg" : "X\\(.*\\)$as_nl"; -+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -+ esac; -+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" -+ ' -+ export as_echo_n_body -+ as_echo_n='sh -c $as_echo_n_body as_echo' -+ fi -+ export as_echo_body -+ as_echo='sh -c $as_echo_body as_echo' -+fi -+ -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ PATH_SEPARATOR=: -+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { -+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || -+ PATH_SEPARATOR=';' -+ } -+fi -+ -+ -+# IFS -+# We need space, tab and new line, in precisely that order. Quoting is -+# there to prevent editors from complaining about space-tab. -+# (If _AS_PATH_WALK were called with IFS unset, it would disable word -+# splitting by setting IFS to empty value.) -+IFS=" "" $as_nl" -+ -+# Find who we are. Look in the path if we contain no directory separator. -+as_myself= -+case $0 in #(( -+ *[\\/]* ) as_myself=$0 ;; -+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done -+IFS=$as_save_IFS -+ -+ ;; -+esac -+# We did not find ourselves, most probably we were run as `sh COMMAND' -+# in which case we are not to be found in the path. -+if test "x$as_myself" = x; then -+ as_myself=$0 -+fi -+if test ! -f "$as_myself"; then -+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -+ exit 1 -+fi -+ -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -+done -+PS1='$ ' -+PS2='> ' -+PS4='+ ' -+ -+# NLS nuisances. -+LC_ALL=C -+export LC_ALL -+LANGUAGE=C -+export LANGUAGE -+ -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+# Use a proper internal environment variable to ensure we don't fall -+ # into an infinite loop, continuously re-executing ourselves. -+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then -+ _as_can_reexec=no; export _as_can_reexec; -+ # We cannot yet assume a decent shell, so we have to provide a -+# neutralization value for shells without unset; and this also -+# works around shells that cannot unset nonexistent variables. -+# Preserve -v and -x to the replacement shell. -+BASH_ENV=/dev/null -+ENV=/dev/null -+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; -+esac -+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -+# Admittedly, this is quite paranoid, since all the known shells bail -+# out after a failed `exec'. -+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -+as_fn_exit 255 -+ fi -+ # We don't want this to propagate to other subprocesses. -+ { _as_can_reexec=; unset _as_can_reexec;} -+if test "x$CONFIG_SHELL" = x; then -+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '\${1+\"\$@\"}'='\"\$@\"' -+ setopt NO_GLOB_SUBST -+else -+ case \`(set -o) 2>/dev/null\` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+" -+ as_required="as_fn_return () { (exit \$1); } -+as_fn_success () { as_fn_return 0; } -+as_fn_failure () { as_fn_return 1; } -+as_fn_ret_success () { return 0; } -+as_fn_ret_failure () { return 1; } -+ -+exitcode=0 -+as_fn_success || { exitcode=1; echo as_fn_success failed.; } -+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : -+ -+else -+ exitcode=1; echo positional parameters were not saved. -+fi -+test x\$exitcode = x0 || exit 1 -+test -x / || exit 1" -+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO -+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO -+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && -+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" -+ if (eval "$as_required") 2>/dev/null; then : -+ as_have_required=yes -+else -+ as_have_required=no -+fi -+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : -+ -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+as_found=false -+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ as_found=: -+ case $as_dir in #( -+ /*) -+ for as_base in sh bash ksh sh5; do -+ # Try only shells that exist, to save several forks. -+ as_shell=$as_dir/$as_base -+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ CONFIG_SHELL=$as_shell as_have_required=yes -+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ break 2 -+fi -+fi -+ done;; -+ esac -+ as_found=false -+done -+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : -+ CONFIG_SHELL=$SHELL as_have_required=yes -+fi; } -+IFS=$as_save_IFS -+ -+ -+ if test "x$CONFIG_SHELL" != x; then : -+ export CONFIG_SHELL -+ # We cannot yet assume a decent shell, so we have to provide a -+# neutralization value for shells without unset; and this also -+# works around shells that cannot unset nonexistent variables. -+# Preserve -v and -x to the replacement shell. -+BASH_ENV=/dev/null -+ENV=/dev/null -+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; -+esac -+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -+# Admittedly, this is quite paranoid, since all the known shells bail -+# out after a failed `exec'. -+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -+exit 255 -+fi -+ -+ if test x$as_have_required = xno; then : -+ $as_echo "$0: This script requires a shell more modern than all" -+ $as_echo "$0: the shells that I found on your system." -+ if test x${ZSH_VERSION+set} = xset ; then -+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" -+ $as_echo "$0: be upgraded to zsh 4.3.4 or later." -+ else -+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -+$0: including any error possibly output before this -+$0: message. Then install a modern shell, or manually run -+$0: the script under such a shell if you do have one." -+ fi -+ exit 1 -+fi -+fi -+fi -+SHELL=${CONFIG_SHELL-/bin/sh} -+export SHELL -+# Unset more variables known to interfere with behavior of common tools. -+CLICOLOR_FORCE= GREP_OPTIONS= -+unset CLICOLOR_FORCE GREP_OPTIONS -+ -+## --------------------- ## -+## M4sh Shell Functions. ## -+## --------------------- ## -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset -+ -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status -+ -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit -+ -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ -+ -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" -+ -+ -+} # as_fn_mkdir_p -+ -+# as_fn_executable_p FILE -+# ----------------------- -+# Test if FILE is an executable regular file. -+as_fn_executable_p () -+{ -+ test -f "$1" && test -x "$1" -+} # as_fn_executable_p -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append -+ -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith -+ -+ -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error -+ -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr -+else -+ as_expr=false -+fi -+ -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename -+else -+ as_basename=false -+fi -+ -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi -+ -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+ -+ as_lineno_1=$LINENO as_lineno_1a=$LINENO -+ as_lineno_2=$LINENO as_lineno_2a=$LINENO -+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && -+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { -+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) -+ sed -n ' -+ p -+ /[$]LINENO/= -+ ' <$as_myself | -+ sed ' -+ s/[$]LINENO.*/&-/ -+ t lineno -+ b -+ :lineno -+ N -+ :loop -+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ -+ t loop -+ s/-\n.*// -+ ' >$as_me.lineno && -+ chmod +x "$as_me.lineno" || -+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } -+ -+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have -+ # already done that, so ensure we don't try to do so again and fall -+ # in an infinite loop. This has already happened in practice. -+ _as_can_reexec=no; export _as_can_reexec -+ # Don't try to exec as it changes $[0], causing all sort of problems -+ # (the dirname of $[0] is not the place where we might find the -+ # original and so on. Autoconf is especially sensitive to this). -+ . "./$as_me.lineno" -+ # Exit status is that of the last command. -+ exit -+} -+ -+ECHO_C= ECHO_N= ECHO_T= -+case `echo -n x` in #((((( -+-n*) -+ case `echo 'xy\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; -+ esac;; -+*) -+ ECHO_N='-n';; -+esac -+ -+rm -f conf$$ conf$$.exe conf$$.file -+if test -d conf$$.dir; then -+ rm -f conf$$.dir/conf$$.file -+else -+ rm -f conf$$.dir -+ mkdir conf$$.dir 2>/dev/null -+fi -+if (echo >conf$$.file) 2>/dev/null; then -+ if ln -s conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s='ln -s' -+ # ... but there are two gotchas: -+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. -+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -+ # In both cases, we have to default to `cp -pR'. -+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -+ as_ln_s='cp -pR' -+ elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+ else -+ as_ln_s='cp -pR' -+ fi -+else -+ as_ln_s='cp -pR' -+fi -+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -+rmdir conf$$.dir 2>/dev/null -+ -+if mkdir -p . 2>/dev/null; then -+ as_mkdir_p='mkdir -p "$as_dir"' -+else -+ test -d ./-p && rmdir ./-p -+ as_mkdir_p=false -+fi -+ -+as_test_x='test -x' -+as_executable_p=as_fn_executable_p -+ -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -+ -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -+ -+ -+test -n "$DJDIR" || exec 7<&0 &1 -+ -+# Name of the host. -+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -+# so uname gets run too. -+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` -+ -+# -+# Initializations. -+# -+ac_default_prefix=/usr/local -+ac_clean_files= -+ac_config_libobj_dir=. -+LIBOBJS= -+cross_compiling=no -+subdirs= -+MFLAGS= -+MAKEFLAGS= -+ -+# Identity of this package. -+PACKAGE_NAME= -+PACKAGE_TARNAME= -+PACKAGE_VERSION= -+PACKAGE_STRING= -+PACKAGE_BUGREPORT= -+PACKAGE_URL= -+ -+ac_unique_file="close.c" -+ac_subst_vars='LTLIBOBJS -+LIBOBJS -+host_makefile_frag_path -+CCASFLAGS -+CCAS -+RANLIB -+LD -+AR -+AS -+am__fastdepCC_FALSE -+am__fastdepCC_TRUE -+CCDEPMODE -+AMDEPBACKSLASH -+AMDEP_FALSE -+AMDEP_TRUE -+am__quote -+am__include -+DEPDIR -+am__leading_dot -+CC -+INSTALL_DATA -+INSTALL_SCRIPT -+INSTALL_PROGRAM -+target_os -+target_vendor -+target_cpu -+target -+host_os -+host_vendor -+host_cpu -+host -+build_os -+build_vendor -+build_cpu -+build -+target_alias -+host_alias -+build_alias -+LIBS -+ECHO_T -+ECHO_N -+ECHO_C -+DEFS -+mandir -+localedir -+libdir -+psdir -+pdfdir -+dvidir -+htmldir -+infodir -+docdir -+oldincludedir -+includedir -+localstatedir -+sharedstatedir -+sysconfdir -+datadir -+datarootdir -+libexecdir -+sbindir -+bindir -+program_transform_name -+prefix -+exec_prefix -+PACKAGE_URL -+PACKAGE_BUGREPORT -+PACKAGE_STRING -+PACKAGE_VERSION -+PACKAGE_TARNAME -+PACKAGE_NAME -+PATH_SEPARATOR -+SHELL' -+ac_subst_files='host_makefile_frag' -+ac_user_opts=' -+enable_option_checking -+enable_dependency_tracking -+' -+ ac_precious_vars='build_alias -+host_alias -+target_alias -+CCAS -+CCASFLAGS' -+ -+ -+# Initialize some variables set by options. -+ac_init_help= -+ac_init_version=false -+ac_unrecognized_opts= -+ac_unrecognized_sep= -+# The variables have the same names as the options, with -+# dashes changed to underlines. -+cache_file=/dev/null -+exec_prefix=NONE -+no_create= -+no_recursion= -+prefix=NONE -+program_prefix=NONE -+program_suffix=NONE -+program_transform_name=s,x,x, -+silent= -+site= -+srcdir= -+verbose= -+x_includes=NONE -+x_libraries=NONE -+ -+# Installation directory options. -+# These are left unexpanded so users can "make install exec_prefix=/foo" -+# and all the variables that are supposed to be based on exec_prefix -+# by default will actually change. -+# Use braces instead of parens because sh, perl, etc. also accept them. -+# (The list follows the same order as the GNU Coding Standards.) -+bindir='${exec_prefix}/bin' -+sbindir='${exec_prefix}/sbin' -+libexecdir='${exec_prefix}/libexec' -+datarootdir='${prefix}/share' -+datadir='${datarootdir}' -+sysconfdir='${prefix}/etc' -+sharedstatedir='${prefix}/com' -+localstatedir='${prefix}/var' -+includedir='${prefix}/include' -+oldincludedir='/usr/include' -+docdir='${datarootdir}/doc/${PACKAGE}' -+infodir='${datarootdir}/info' -+htmldir='${docdir}' -+dvidir='${docdir}' -+pdfdir='${docdir}' -+psdir='${docdir}' -+libdir='${exec_prefix}/lib' -+localedir='${datarootdir}/locale' -+mandir='${datarootdir}/man' -+ -+ac_prev= -+ac_dashdash= -+for ac_option -+do -+ # If the previous option needs an argument, assign it. -+ if test -n "$ac_prev"; then -+ eval $ac_prev=\$ac_option -+ ac_prev= -+ continue -+ fi -+ -+ case $ac_option in -+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; -+ *=) ac_optarg= ;; -+ *) ac_optarg=yes ;; -+ esac -+ -+ # Accept the important Cygnus configure options, so we can diagnose typos. -+ -+ case $ac_dashdash$ac_option in -+ --) -+ ac_dashdash=yes ;; -+ -+ -bindir | --bindir | --bindi | --bind | --bin | --bi) -+ ac_prev=bindir ;; -+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) -+ bindir=$ac_optarg ;; -+ -+ -build | --build | --buil | --bui | --bu) -+ ac_prev=build_alias ;; -+ -build=* | --build=* | --buil=* | --bui=* | --bu=*) -+ build_alias=$ac_optarg ;; -+ -+ -cache-file | --cache-file | --cache-fil | --cache-fi \ -+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) -+ ac_prev=cache_file ;; -+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ -+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) -+ cache_file=$ac_optarg ;; -+ -+ --config-cache | -C) -+ cache_file=config.cache ;; -+ -+ -datadir | --datadir | --datadi | --datad) -+ ac_prev=datadir ;; -+ -datadir=* | --datadir=* | --datadi=* | --datad=*) -+ datadir=$ac_optarg ;; -+ -+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ -+ | --dataroo | --dataro | --datar) -+ ac_prev=datarootdir ;; -+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ -+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) -+ datarootdir=$ac_optarg ;; -+ -+ -disable-* | --disable-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid feature name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"enable_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval enable_$ac_useropt=no ;; -+ -+ -docdir | --docdir | --docdi | --doc | --do) -+ ac_prev=docdir ;; -+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) -+ docdir=$ac_optarg ;; -+ -+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) -+ ac_prev=dvidir ;; -+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) -+ dvidir=$ac_optarg ;; -+ -+ -enable-* | --enable-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid feature name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"enable_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval enable_$ac_useropt=\$ac_optarg ;; -+ -+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ -+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ -+ | --exec | --exe | --ex) -+ ac_prev=exec_prefix ;; -+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ -+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ -+ | --exec=* | --exe=* | --ex=*) -+ exec_prefix=$ac_optarg ;; -+ -+ -gas | --gas | --ga | --g) -+ # Obsolete; use --with-gas. -+ with_gas=yes ;; -+ -+ -help | --help | --hel | --he | -h) -+ ac_init_help=long ;; -+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) -+ ac_init_help=recursive ;; -+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) -+ ac_init_help=short ;; -+ -+ -host | --host | --hos | --ho) -+ ac_prev=host_alias ;; -+ -host=* | --host=* | --hos=* | --ho=*) -+ host_alias=$ac_optarg ;; -+ -+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) -+ ac_prev=htmldir ;; -+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ -+ | --ht=*) -+ htmldir=$ac_optarg ;; -+ -+ -includedir | --includedir | --includedi | --included | --include \ -+ | --includ | --inclu | --incl | --inc) -+ ac_prev=includedir ;; -+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ -+ | --includ=* | --inclu=* | --incl=* | --inc=*) -+ includedir=$ac_optarg ;; -+ -+ -infodir | --infodir | --infodi | --infod | --info | --inf) -+ ac_prev=infodir ;; -+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) -+ infodir=$ac_optarg ;; -+ -+ -libdir | --libdir | --libdi | --libd) -+ ac_prev=libdir ;; -+ -libdir=* | --libdir=* | --libdi=* | --libd=*) -+ libdir=$ac_optarg ;; -+ -+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ -+ | --libexe | --libex | --libe) -+ ac_prev=libexecdir ;; -+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ -+ | --libexe=* | --libex=* | --libe=*) -+ libexecdir=$ac_optarg ;; -+ -+ -localedir | --localedir | --localedi | --localed | --locale) -+ ac_prev=localedir ;; -+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) -+ localedir=$ac_optarg ;; -+ -+ -localstatedir | --localstatedir | --localstatedi | --localstated \ -+ | --localstate | --localstat | --localsta | --localst | --locals) -+ ac_prev=localstatedir ;; -+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ -+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) -+ localstatedir=$ac_optarg ;; -+ -+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) -+ ac_prev=mandir ;; -+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) -+ mandir=$ac_optarg ;; -+ -+ -nfp | --nfp | --nf) -+ # Obsolete; use --without-fp. -+ with_fp=no ;; -+ -+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ -+ | --no-cr | --no-c | -n) -+ no_create=yes ;; -+ -+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ -+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) -+ no_recursion=yes ;; -+ -+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ -+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ -+ | --oldin | --oldi | --old | --ol | --o) -+ ac_prev=oldincludedir ;; -+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ -+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ -+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) -+ oldincludedir=$ac_optarg ;; -+ -+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) -+ ac_prev=prefix ;; -+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) -+ prefix=$ac_optarg ;; -+ -+ -program-prefix | --program-prefix | --program-prefi | --program-pref \ -+ | --program-pre | --program-pr | --program-p) -+ ac_prev=program_prefix ;; -+ -program-prefix=* | --program-prefix=* | --program-prefi=* \ -+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) -+ program_prefix=$ac_optarg ;; -+ -+ -program-suffix | --program-suffix | --program-suffi | --program-suff \ -+ | --program-suf | --program-su | --program-s) -+ ac_prev=program_suffix ;; -+ -program-suffix=* | --program-suffix=* | --program-suffi=* \ -+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) -+ program_suffix=$ac_optarg ;; -+ -+ -program-transform-name | --program-transform-name \ -+ | --program-transform-nam | --program-transform-na \ -+ | --program-transform-n | --program-transform- \ -+ | --program-transform | --program-transfor \ -+ | --program-transfo | --program-transf \ -+ | --program-trans | --program-tran \ -+ | --progr-tra | --program-tr | --program-t) -+ ac_prev=program_transform_name ;; -+ -program-transform-name=* | --program-transform-name=* \ -+ | --program-transform-nam=* | --program-transform-na=* \ -+ | --program-transform-n=* | --program-transform-=* \ -+ | --program-transform=* | --program-transfor=* \ -+ | --program-transfo=* | --program-transf=* \ -+ | --program-trans=* | --program-tran=* \ -+ | --progr-tra=* | --program-tr=* | --program-t=*) -+ program_transform_name=$ac_optarg ;; -+ -+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) -+ ac_prev=pdfdir ;; -+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) -+ pdfdir=$ac_optarg ;; -+ -+ -psdir | --psdir | --psdi | --psd | --ps) -+ ac_prev=psdir ;; -+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) -+ psdir=$ac_optarg ;; -+ -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ silent=yes ;; -+ -+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) -+ ac_prev=sbindir ;; -+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ -+ | --sbi=* | --sb=*) -+ sbindir=$ac_optarg ;; -+ -+ -sharedstatedir | --sharedstatedir | --sharedstatedi \ -+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ -+ | --sharedst | --shareds | --shared | --share | --shar \ -+ | --sha | --sh) -+ ac_prev=sharedstatedir ;; -+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ -+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ -+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ -+ | --sha=* | --sh=*) -+ sharedstatedir=$ac_optarg ;; -+ -+ -site | --site | --sit) -+ ac_prev=site ;; -+ -site=* | --site=* | --sit=*) -+ site=$ac_optarg ;; -+ -+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) -+ ac_prev=srcdir ;; -+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) -+ srcdir=$ac_optarg ;; -+ -+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ -+ | --syscon | --sysco | --sysc | --sys | --sy) -+ ac_prev=sysconfdir ;; -+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ -+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) -+ sysconfdir=$ac_optarg ;; -+ -+ -target | --target | --targe | --targ | --tar | --ta | --t) -+ ac_prev=target_alias ;; -+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) -+ target_alias=$ac_optarg ;; -+ -+ -v | -verbose | --verbose | --verbos | --verbo | --verb) -+ verbose=yes ;; -+ -+ -version | --version | --versio | --versi | --vers | -V) -+ ac_init_version=: ;; -+ -+ -with-* | --with-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid package name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"with_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval with_$ac_useropt=\$ac_optarg ;; -+ -+ -without-* | --without-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid package name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"with_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval with_$ac_useropt=no ;; -+ -+ --x) -+ # Obsolete; use --with-x. -+ with_x=yes ;; -+ -+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ -+ | --x-incl | --x-inc | --x-in | --x-i) -+ ac_prev=x_includes ;; -+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ -+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) -+ x_includes=$ac_optarg ;; -+ -+ -x-libraries | --x-libraries | --x-librarie | --x-librari \ -+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) -+ ac_prev=x_libraries ;; -+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ -+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) -+ x_libraries=$ac_optarg ;; -+ -+ -*) as_fn_error $? "unrecognized option: \`$ac_option' -+Try \`$0 --help' for more information" -+ ;; -+ -+ *=*) -+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` -+ # Reject names that are not valid shell variable names. -+ case $ac_envvar in #( -+ '' | [0-9]* | *[!_$as_cr_alnum]* ) -+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; -+ esac -+ eval $ac_envvar=\$ac_optarg -+ export $ac_envvar ;; -+ -+ *) -+ # FIXME: should be removed in autoconf 3.0. -+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 -+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && -+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 -+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" -+ ;; -+ -+ esac -+done -+ -+if test -n "$ac_prev"; then -+ ac_option=--`echo $ac_prev | sed 's/_/-/g'` -+ as_fn_error $? "missing argument to $ac_option" -+fi -+ -+if test -n "$ac_unrecognized_opts"; then -+ case $enable_option_checking in -+ no) ;; -+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; -+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; -+ esac -+fi -+ -+# Check all directory arguments for consistency. -+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ -+ datadir sysconfdir sharedstatedir localstatedir includedir \ -+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ -+ libdir localedir mandir -+do -+ eval ac_val=\$$ac_var -+ # Remove trailing slashes. -+ case $ac_val in -+ */ ) -+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` -+ eval $ac_var=\$ac_val;; -+ esac -+ # Be sure to have absolute directory names. -+ case $ac_val in -+ [\\/$]* | ?:[\\/]* ) continue;; -+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; -+ esac -+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -+done -+ -+# There might be people who depend on the old broken behavior: `$host' -+# used to hold the argument of --host etc. -+# FIXME: To remove some day. -+build=$build_alias -+host=$host_alias -+target=$target_alias -+ -+# FIXME: To remove some day. -+if test "x$host_alias" != x; then -+ if test "x$build_alias" = x; then -+ cross_compiling=maybe -+ elif test "x$build_alias" != "x$host_alias"; then -+ cross_compiling=yes -+ fi -+fi -+ -+ac_tool_prefix= -+test -n "$host_alias" && ac_tool_prefix=$host_alias- -+ -+test "$silent" = yes && exec 6>/dev/null -+ -+ -+ac_pwd=`pwd` && test -n "$ac_pwd" && -+ac_ls_di=`ls -di .` && -+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || -+ as_fn_error $? "working directory cannot be determined" -+test "X$ac_ls_di" = "X$ac_pwd_ls_di" || -+ as_fn_error $? "pwd does not report name of working directory" -+ -+ -+# Find the source files, if location was not specified. -+if test -z "$srcdir"; then -+ ac_srcdir_defaulted=yes -+ # Try the directory containing this script, then the parent directory. -+ ac_confdir=`$as_dirname -- "$as_myself" || -+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_myself" : 'X\(//\)[^/]' \| \ -+ X"$as_myself" : 'X\(//\)$' \| \ -+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_myself" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ srcdir=$ac_confdir -+ if test ! -r "$srcdir/$ac_unique_file"; then -+ srcdir=.. -+ fi -+else -+ ac_srcdir_defaulted=no -+fi -+if test ! -r "$srcdir/$ac_unique_file"; then -+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." -+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -+fi -+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -+ac_abs_confdir=`( -+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" -+ pwd)` -+# When building in place, set srcdir=. -+if test "$ac_abs_confdir" = "$ac_pwd"; then -+ srcdir=. -+fi -+# Remove unnecessary trailing slashes from srcdir. -+# Double slashes in file names in object file debugging info -+# mess up M-x gdb in Emacs. -+case $srcdir in -+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -+esac -+for ac_var in $ac_precious_vars; do -+ eval ac_env_${ac_var}_set=\${${ac_var}+set} -+ eval ac_env_${ac_var}_value=\$${ac_var} -+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} -+ eval ac_cv_env_${ac_var}_value=\$${ac_var} -+done -+ -+# -+# Report the --help message. -+# -+if test "$ac_init_help" = "long"; then -+ # Omit some internal or obsolete options to make the list less imposing. -+ # This message is too long to be a string in the A/UX 3.1 sh. -+ cat <<_ACEOF -+\`configure' configures this package to adapt to many kinds of systems. -+ -+Usage: $0 [OPTION]... [VAR=VALUE]... -+ -+To assign environment variables (e.g., CC, CFLAGS...), specify them as -+VAR=VALUE. See below for descriptions of some of the useful variables. -+ -+Defaults for the options are specified in brackets. -+ -+Configuration: -+ -h, --help display this help and exit -+ --help=short display options specific to this package -+ --help=recursive display the short help of all the included packages -+ -V, --version display version information and exit -+ -q, --quiet, --silent do not print \`checking ...' messages -+ --cache-file=FILE cache test results in FILE [disabled] -+ -C, --config-cache alias for \`--cache-file=config.cache' -+ -n, --no-create do not create output files -+ --srcdir=DIR find the sources in DIR [configure dir or \`..'] -+ -+Installation directories: -+ --prefix=PREFIX install architecture-independent files in PREFIX -+ [$ac_default_prefix] -+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX -+ [PREFIX] -+ -+By default, \`make install' will install all the files in -+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -+an installation prefix other than \`$ac_default_prefix' using \`--prefix', -+for instance \`--prefix=\$HOME'. -+ -+For better control, use the options below. -+ -+Fine tuning of the installation directories: -+ --bindir=DIR user executables [EPREFIX/bin] -+ --sbindir=DIR system admin executables [EPREFIX/sbin] -+ --libexecdir=DIR program executables [EPREFIX/libexec] -+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] -+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] -+ --localstatedir=DIR modifiable single-machine data [PREFIX/var] -+ --libdir=DIR object code libraries [EPREFIX/lib] -+ --includedir=DIR C header files [PREFIX/include] -+ --oldincludedir=DIR C header files for non-gcc [/usr/include] -+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] -+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] -+ --infodir=DIR info documentation [DATAROOTDIR/info] -+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] -+ --mandir=DIR man documentation [DATAROOTDIR/man] -+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] -+ --htmldir=DIR html documentation [DOCDIR] -+ --dvidir=DIR dvi documentation [DOCDIR] -+ --pdfdir=DIR pdf documentation [DOCDIR] -+ --psdir=DIR ps documentation [DOCDIR] -+_ACEOF -+ -+ cat <<\_ACEOF -+ -+Program names: -+ --program-prefix=PREFIX prepend PREFIX to installed program names -+ --program-suffix=SUFFIX append SUFFIX to installed program names -+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names -+ -+System types: -+ --build=BUILD configure for building on BUILD [guessed] -+ --host=HOST cross-compile to build programs to run on HOST [BUILD] -+ --target=TARGET configure for building compilers for TARGET [HOST] -+_ACEOF -+fi -+ -+if test -n "$ac_init_help"; then -+ -+ cat <<\_ACEOF -+ -+Optional Features: -+ --disable-option-checking ignore unrecognized --enable/--with options -+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) -+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] -+ --disable-dependency-tracking speeds up one-time build -+ --enable-dependency-tracking do not reject slow dependency extractors -+ -+Some influential environment variables: -+ CCAS assembler compiler command (defaults to CC) -+ CCASFLAGS assembler compiler flags (defaults to CFLAGS) -+ -+Use these variables to override the choices made by `configure' or to help -+it to find libraries and programs with nonstandard names/locations. -+ -+Report bugs to the package provider. -+_ACEOF -+ac_status=$? -+fi -+ -+if test "$ac_init_help" = "recursive"; then -+ # If there are subdirs, report their specific --help. -+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue -+ test -d "$ac_dir" || -+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || -+ continue -+ ac_builddir=. -+ -+case "$ac_dir" in -+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -+*) -+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` -+ # A ".." for each directory in $ac_dir_suffix. -+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` -+ case $ac_top_builddir_sub in -+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; -+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; -+ esac ;; -+esac -+ac_abs_top_builddir=$ac_pwd -+ac_abs_builddir=$ac_pwd$ac_dir_suffix -+# for backward compatibility: -+ac_top_builddir=$ac_top_build_prefix -+ -+case $srcdir in -+ .) # We are building in place. -+ ac_srcdir=. -+ ac_top_srcdir=$ac_top_builddir_sub -+ ac_abs_top_srcdir=$ac_pwd ;; -+ [\\/]* | ?:[\\/]* ) # Absolute name. -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir -+ ac_abs_top_srcdir=$srcdir ;; -+ *) # Relative name. -+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_top_build_prefix$srcdir -+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -+esac -+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -+ -+ cd "$ac_dir" || { ac_status=$?; continue; } -+ # Check for guested configure. -+ if test -f "$ac_srcdir/configure.gnu"; then -+ echo && -+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive -+ elif test -f "$ac_srcdir/configure"; then -+ echo && -+ $SHELL "$ac_srcdir/configure" --help=recursive -+ else -+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 -+ fi || ac_status=$? -+ cd "$ac_pwd" || { ac_status=$?; break; } -+ done -+fi -+ -+test -n "$ac_init_help" && exit $ac_status -+if $ac_init_version; then -+ cat <<\_ACEOF -+configure -+generated by GNU Autoconf 2.69 -+ -+Copyright (C) 2012 Free Software Foundation, Inc. -+This configure script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it. -+_ACEOF -+ exit -+fi -+ -+## ------------------------ ## -+## Autoconf initialization. ## -+## ------------------------ ## -+ -+# ac_fn_c_try_compile LINENO -+# -------------------------- -+# Try to compile conftest.$ac_ext, and return whether this succeeded. -+ac_fn_c_try_compile () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ rm -f conftest.$ac_objext -+ if { { ac_try="$ac_compile" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_compile") 2>conftest.err -+ ac_status=$? -+ if test -s conftest.err; then -+ grep -v '^ *+' conftest.err >conftest.er1 -+ cat conftest.er1 >&5 -+ mv -f conftest.er1 conftest.err -+ fi -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then : -+ ac_retval=0 -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_retval=1 -+fi -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -+ as_fn_set_status $ac_retval -+ -+} # ac_fn_c_try_compile -+cat >config.log <<_ACEOF -+This file contains any messages produced by compilers while -+running configure, to aid debugging if configure makes a mistake. -+ -+It was created by $as_me, which was -+generated by GNU Autoconf 2.69. Invocation command line was -+ -+ $ $0 $@ -+ -+_ACEOF -+exec 5>>config.log -+{ -+cat <<_ASUNAME -+## --------- ## -+## Platform. ## -+## --------- ## -+ -+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -+uname -m = `(uname -m) 2>/dev/null || echo unknown` -+uname -r = `(uname -r) 2>/dev/null || echo unknown` -+uname -s = `(uname -s) 2>/dev/null || echo unknown` -+uname -v = `(uname -v) 2>/dev/null || echo unknown` -+ -+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` -+ -+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` -+ -+_ASUNAME -+ -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ $as_echo "PATH: $as_dir" -+ done -+IFS=$as_save_IFS -+ -+} >&5 -+ -+cat >&5 <<_ACEOF -+ -+ -+## ----------- ## -+## Core tests. ## -+## ----------- ## -+ -+_ACEOF -+ -+ -+# Keep a trace of the command line. -+# Strip out --no-create and --no-recursion so they do not pile up. -+# Strip out --silent because we don't want to record it for future runs. -+# Also quote any args containing shell meta-characters. -+# Make two passes to allow for proper duplicate-argument suppression. -+ac_configure_args= -+ac_configure_args0= -+ac_configure_args1= -+ac_must_keep_next=false -+for ac_pass in 1 2 -+do -+ for ac_arg -+ do -+ case $ac_arg in -+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ continue ;; -+ *\'*) -+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ esac -+ case $ac_pass in -+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; -+ 2) -+ as_fn_append ac_configure_args1 " '$ac_arg'" -+ if test $ac_must_keep_next = true; then -+ ac_must_keep_next=false # Got value, back to normal. -+ else -+ case $ac_arg in -+ *=* | --config-cache | -C | -disable-* | --disable-* \ -+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ -+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ -+ | -with-* | --with-* | -without-* | --without-* | --x) -+ case "$ac_configure_args0 " in -+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; -+ esac -+ ;; -+ -* ) ac_must_keep_next=true ;; -+ esac -+ fi -+ as_fn_append ac_configure_args " '$ac_arg'" -+ ;; -+ esac -+ done -+done -+{ ac_configure_args0=; unset ac_configure_args0;} -+{ ac_configure_args1=; unset ac_configure_args1;} -+ -+# When interrupted or exit'd, cleanup temporary files, and complete -+# config.log. We remove comments because anyway the quotes in there -+# would cause problems or look ugly. -+# WARNING: Use '\'' to represent an apostrophe within the trap. -+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -+trap 'exit_status=$? -+ # Save into config.log some information that might help in debugging. -+ { -+ echo -+ -+ $as_echo "## ---------------- ## -+## Cache variables. ## -+## ---------------- ##" -+ echo -+ # The following way of writing the cache mishandles newlines in values, -+( -+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do -+ eval ac_val=\$$ac_var -+ case $ac_val in #( -+ *${as_nl}*) -+ case $ac_var in #( -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; -+ esac -+ case $ac_var in #( -+ _ | IFS | as_nl) ;; #( -+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -+ *) { eval $ac_var=; unset $ac_var;} ;; -+ esac ;; -+ esac -+ done -+ (set) 2>&1 | -+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( -+ *${as_nl}ac_space=\ *) -+ sed -n \ -+ "s/'\''/'\''\\\\'\'''\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" -+ ;; #( -+ *) -+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" -+ ;; -+ esac | -+ sort -+) -+ echo -+ -+ $as_echo "## ----------------- ## -+## Output variables. ## -+## ----------------- ##" -+ echo -+ for ac_var in $ac_subst_vars -+ do -+ eval ac_val=\$$ac_var -+ case $ac_val in -+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; -+ esac -+ $as_echo "$ac_var='\''$ac_val'\''" -+ done | sort -+ echo -+ -+ if test -n "$ac_subst_files"; then -+ $as_echo "## ------------------- ## -+## File substitutions. ## -+## ------------------- ##" -+ echo -+ for ac_var in $ac_subst_files -+ do -+ eval ac_val=\$$ac_var -+ case $ac_val in -+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; -+ esac -+ $as_echo "$ac_var='\''$ac_val'\''" -+ done | sort -+ echo -+ fi -+ -+ if test -s confdefs.h; then -+ $as_echo "## ----------- ## -+## confdefs.h. ## -+## ----------- ##" -+ echo -+ cat confdefs.h -+ echo -+ fi -+ test "$ac_signal" != 0 && -+ $as_echo "$as_me: caught signal $ac_signal" -+ $as_echo "$as_me: exit $exit_status" -+ } >&5 -+ rm -f core *.core core.conftest.* && -+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && -+ exit $exit_status -+' 0 -+for ac_signal in 1 2 13 15; do -+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -+done -+ac_signal=0 -+ -+# confdefs.h avoids OS command line length limits that DEFS can exceed. -+rm -f -r conftest* confdefs.h -+ -+$as_echo "/* confdefs.h */" > confdefs.h -+ -+# Predefined preprocessor variables. -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_NAME "$PACKAGE_NAME" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_VERSION "$PACKAGE_VERSION" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_STRING "$PACKAGE_STRING" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_URL "$PACKAGE_URL" -+_ACEOF -+ -+ -+# Let the site file select an alternate cache file if it wants to. -+# Prefer an explicitly selected file to automatically selected ones. -+ac_site_file1=NONE -+ac_site_file2=NONE -+if test -n "$CONFIG_SITE"; then -+ # We do not want a PATH search for config.site. -+ case $CONFIG_SITE in #(( -+ -*) ac_site_file1=./$CONFIG_SITE;; -+ */*) ac_site_file1=$CONFIG_SITE;; -+ *) ac_site_file1=./$CONFIG_SITE;; -+ esac -+elif test "x$prefix" != xNONE; then -+ ac_site_file1=$prefix/share/config.site -+ ac_site_file2=$prefix/etc/config.site -+else -+ ac_site_file1=$ac_default_prefix/share/config.site -+ ac_site_file2=$ac_default_prefix/etc/config.site -+fi -+for ac_site_file in "$ac_site_file1" "$ac_site_file2" -+do -+ test "x$ac_site_file" = xNONE && continue -+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -+$as_echo "$as_me: loading site script $ac_site_file" >&6;} -+ sed 's/^/| /' "$ac_site_file" >&5 -+ . "$ac_site_file" \ -+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error $? "failed to load site script $ac_site_file -+See \`config.log' for more details" "$LINENO" 5; } -+ fi -+done -+ -+if test -r "$cache_file"; then -+ # Some versions of bash will fail to source /dev/null (special files -+ # actually), so we avoid doing that. DJGPP emulates it as a regular file. -+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -+$as_echo "$as_me: loading cache $cache_file" >&6;} -+ case $cache_file in -+ [\\/]* | ?:[\\/]* ) . "$cache_file";; -+ *) . "./$cache_file";; -+ esac -+ fi -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -+$as_echo "$as_me: creating cache $cache_file" >&6;} -+ >$cache_file -+fi -+ -+# Check that the precious variables saved in the cache have kept the same -+# value. -+ac_cache_corrupted=false -+for ac_var in $ac_precious_vars; do -+ eval ac_old_set=\$ac_cv_env_${ac_var}_set -+ eval ac_new_set=\$ac_env_${ac_var}_set -+ eval ac_old_val=\$ac_cv_env_${ac_var}_value -+ eval ac_new_val=\$ac_env_${ac_var}_value -+ case $ac_old_set,$ac_new_set in -+ set,) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,set) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,);; -+ *) -+ if test "x$ac_old_val" != "x$ac_new_val"; then -+ # differences in whitespace do not lead to failure. -+ ac_old_val_w=`echo x $ac_old_val` -+ ac_new_val_w=`echo x $ac_new_val` -+ if test "$ac_old_val_w" != "$ac_new_val_w"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} -+ ac_cache_corrupted=: -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} -+ eval $ac_var=\$ac_old_val -+ fi -+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} -+ fi;; -+ esac -+ # Pass precious variables to config.status. -+ if test "$ac_new_set" = set; then -+ case $ac_new_val in -+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; -+ *) ac_arg=$ac_var=$ac_new_val ;; -+ esac -+ case " $ac_configure_args " in -+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. -+ *) as_fn_append ac_configure_args " '$ac_arg'" ;; -+ esac -+ fi -+done -+if $ac_cache_corrupted; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} -+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -+fi -+## -------------------- ## -+## Main body of script. ## -+## -------------------- ## -+ -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+ -+ac_config_headers="$ac_config_headers config.h" -+ -+ -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" -+fi -+ -+if test "$srcdir" = "." ; then -+ if test "${with_target_subdir}" != "." ; then -+ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." -+ else -+ libgloss_topdir="${srcdir}/${with_multisrctop}../.." -+ fi -+else -+ libgloss_topdir="${srcdir}/../.." -+fi -+ac_aux_dir= -+for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do -+ if test -f "$ac_dir/install-sh"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install-sh -c" -+ break -+ elif test -f "$ac_dir/install.sh"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install.sh -c" -+ break -+ elif test -f "$ac_dir/shtool"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/shtool install -c" -+ break -+ fi -+done -+if test -z "$ac_aux_dir"; then -+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5 -+fi -+ -+# These three variables are undocumented and unsupported, -+# and are intended to be withdrawn in a future Autoconf release. -+# They can cause serious problems if a builder's source tree is in a directory -+# whose full name contains unusual characters. -+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -+ -+ -+ -+# Make sure we can run config.sub. -+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || -+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -+$as_echo_n "checking build system type... " >&6; } -+if ${ac_cv_build+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_build_alias=$build_alias -+test "x$ac_build_alias" = x && -+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -+test "x$ac_build_alias" = x && -+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -+$as_echo "$ac_cv_build" >&6; } -+case $ac_cv_build in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -+esac -+build=$ac_cv_build -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_build -+shift -+build_cpu=$1 -+build_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+build_os=$* -+IFS=$ac_save_IFS -+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -+$as_echo_n "checking host system type... " >&6; } -+if ${ac_cv_host+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test "x$host_alias" = x; then -+ ac_cv_host=$ac_cv_build -+else -+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -+$as_echo "$ac_cv_host" >&6; } -+case $ac_cv_host in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -+esac -+host=$ac_cv_host -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_host -+shift -+host_cpu=$1 -+host_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+host_os=$* -+IFS=$ac_save_IFS -+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 -+$as_echo_n "checking target system type... " >&6; } -+if ${ac_cv_target+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test "x$target_alias" = x; then -+ ac_cv_target=$ac_cv_host -+else -+ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 -+$as_echo "$ac_cv_target" >&6; } -+case $ac_cv_target in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; -+esac -+target=$ac_cv_target -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_target -+shift -+target_cpu=$1 -+target_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+target_os=$* -+IFS=$ac_save_IFS -+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac -+ -+ -+# The aliases save the names the user supplied, while $host etc. -+# will get canonicalized. -+test -n "$target_alias" && -+ test "$program_prefix$program_suffix$program_transform_name" = \ -+ NONENONEs,x,x, && -+ program_prefix=${target_alias}- -+ -+test "$program_prefix" != NONE && -+ program_transform_name="s&^&$program_prefix&;$program_transform_name" -+# Use a double $ so make ignores it. -+test "$program_suffix" != NONE && -+ program_transform_name="s&\$&$program_suffix&;$program_transform_name" -+# Double any \ or $. -+# By default was `s,x,x', remove it if useless. -+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` -+ -+ -+# Find a good install program. We prefer a C program (faster), -+# so one script is as good as another. But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AmigaOS /C/install, which installs bootblocks on floppy discs -+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# OS/2's system install, which has a completely different semantic -+# ./install, which can be erroneously created by make from ./install.sh. -+# Reject install programs that cannot install multiple files. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -+$as_echo_n "checking for a BSD-compatible install... " >&6; } -+if test -z "$INSTALL"; then -+if ${ac_cv_path_install+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ # Account for people who put trailing slashes in PATH elements. -+case $as_dir/ in #(( -+ ./ | .// | /[cC]/* | \ -+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ -+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ -+ /usr/ucb/* ) ;; -+ *) -+ # OSF1 and SCO ODT 3.0 have their own names for install. -+ # Don't use installbsd from OSF since it installs stuff as root -+ # by default. -+ for ac_prog in ginstall scoinst install; do -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -+ if test $ac_prog = install && -+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ : -+ elif test $ac_prog = install && -+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # program-specific install script used by HP pwplus--don't use. -+ : -+ else -+ rm -rf conftest.one conftest.two conftest.dir -+ echo one > conftest.one -+ echo two > conftest.two -+ mkdir conftest.dir -+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && -+ test -s conftest.one && test -s conftest.two && -+ test -s conftest.dir/conftest.one && -+ test -s conftest.dir/conftest.two -+ then -+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -+ break 3 -+ fi -+ fi -+ fi -+ done -+ done -+ ;; -+esac -+ -+ done -+IFS=$as_save_IFS -+ -+rm -rf conftest.one conftest.two conftest.dir -+ -+fi -+ if test "${ac_cv_path_install+set}" = set; then -+ INSTALL=$ac_cv_path_install -+ else -+ # As a last resort, use the slow shell script. Don't cache a -+ # value for INSTALL within a source directory, because that will -+ # break other packages using the cache if that directory is -+ # removed, or if the value is a relative name. -+ INSTALL=$ac_install_sh -+ fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -+$as_echo "$INSTALL" >&6; } -+ -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -+ -+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' -+ -+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -+ -+ -+$as_echo "#define HAVE_GNU_LD 1" >>confdefs.h -+ -+case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ arc-*-*) -+ ;; -+ arm*-*-*) -+ ;; -+ bfin-*-*) -+ ;; -+ cris-*-* | crisv32-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i345686-*-sco*) -+ ;; -+ lm32-*-*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpc-*-eabi) -+ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h -+ -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ v850*-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h -+ -+ ;; -+esac -+ -+case "${target}" in -+ *-*-elf) -+ $as_echo "#define HAVE_ELF 1" >>confdefs.h -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 -+$as_echo_n "checking for .previous assembler directive... " >&6; } -+if ${libc_cv_asm_previous_directive+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_asm_previous_directive=no -+ cat > conftest.s <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_asm_previous_directive=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 -+$as_echo "$libc_cv_asm_previous_directive" >&6; } -+ -+ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then -+ $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h -+ -+ fi -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 -+$as_echo_n "checking for .popsection assembler directive... " >&6; } -+if ${libc_cv_asm_popsection_directive+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_asm_popsection_directive=no -+ cat > conftest.s <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_asm_popsection_directive=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5 -+$as_echo "$libc_cv_asm_popsection_directive" >&6; } -+ -+ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then -+ $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h -+ -+ fi -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for section attributes" >&5 -+$as_echo_n "checking for section attributes... " >&6; } -+if ${libc_cv_section_attributes+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_section_attributes=no -+ cat > conftest.c <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_section_attributes=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_section_attributes" >&5 -+$as_echo "$libc_cv_section_attributes" >&6; } -+ if test "x${libc_cv_section_attributes}" = "xyes"; then -+ $as_echo "#define HAVE_SECTION_ATTRIBUTES 1" >>confdefs.h -+ -+ fi -+ ;; -+esac -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 -+$as_echo_n "checking for symbol prefix... " >&6; } -+if ${libc_cv_symbol_prefix+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat > conftest.c <<\EOF -+foo () { } -+EOF -+libc_cv_symbol_prefix=none -+if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; -+then -+ libc_cv_symbol_prefix='$' -+else -+ if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; -+ then -+ libc_cv_symbol_prefix=_ -+ fi -+fi -+rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_symbol_prefix" >&5 -+$as_echo "$libc_cv_symbol_prefix" >&6; } -+if test $libc_cv_symbol_prefix != none; then -+ cat >>confdefs.h <<_ACEOF -+#define __SYMBOL_PREFIX "$libc_cv_symbol_prefix" -+_ACEOF -+ -+else -+ $as_echo "#define __SYMBOL_PREFIX \"\"" >>confdefs.h -+ -+fi -+ -+rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+ am__leading_dot=. -+else -+ am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null -+ -+DEPDIR="${am__leading_dot}deps" -+ -+ac_config_commands="$ac_config_commands depfiles" -+ -+ -+am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+ @echo done -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -+$as_echo_n "checking for style of include used by $am_make... " >&6; } -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ fi -+fi -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -+$as_echo "$_am_result" >&6; } -+rm -f confinc confmf -+ -+# Check whether --enable-dependency-tracking was given. -+if test "${enable_dependency_tracking+set}" = set; then : -+ enableval=$enable_dependency_tracking; -+fi -+ -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi -+ -+ -+if test "x$enable_dependency_tracking" != xno; then -+ AMDEP_TRUE= -+ AMDEP_FALSE='#' -+else -+ AMDEP_TRUE='#' -+ AMDEP_FALSE= -+fi -+ -+ -+ -+# Extract the first word of "gcc", so it can be a program name with args. -+set dummy gcc; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CC+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_CC="gcc" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ -+depcc="$CC" am_compiler_list= -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -+$as_echo_n "checking dependency style of $depcc... " >&6; } -+if ${am_cv_CC_dependencies_compiler_type+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub -+ -+ am_cv_CC_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` -+ fi -+ for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -+ -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_CC_dependencies_compiler_type=$depmode -+ break -+ fi -+ fi -+ done -+ -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_CC_dependencies_compiler_type=none -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type -+ -+ -+ -+if -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then -+ am__fastdepCC_TRUE= -+ am__fastdepCC_FALSE='#' -+else -+ am__fastdepCC_TRUE='#' -+ am__fastdepCC_FALSE= -+fi -+ -+ -+if test -z "$CC"; then -+ # Extract the first word of "cc", so it can be a program name with args. -+set dummy cc; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CC+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ ac_prog_rejected=no -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then -+ ac_prog_rejected=yes -+ continue -+ fi -+ ac_cv_prog_CC="cc" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+if test $ac_prog_rejected = yes; then -+ # We found a bogon in the path, so make sure we never use it. -+ set dummy $ac_cv_prog_CC -+ shift -+ if test $# != 0; then -+ # We chose a different compiler from the bogus one. -+ # However, it has the same basename, so the bogon will be chosen -+ # first if we set CC to just the basename; use the full file name. -+ shift -+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" -+ fi -+fi -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5 -+fi -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5 -+$as_echo_n "checking whether we are using GNU C... " >&6; } -+if ${ac_cv_c_compiler_gnu+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat > conftest.c <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then -+ ac_cv_c_compiler_gnu=yes -+else -+ ac_cv_c_compiler_gnu=no -+fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -+$as_echo "$ac_cv_c_compiler_gnu" >&6; } -+ -+if test $ac_cv_c_compiler_gnu = yes; then -+ GCC=yes -+ ac_test_CFLAGS="${CFLAGS+set}" -+ ac_save_CFLAGS="$CFLAGS" -+ CFLAGS= -+ ac_test_CFLAGS=${CFLAGS+set} -+ac_save_CFLAGS=$CFLAGS -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -+$as_echo_n "checking whether $CC accepts -g... " >&6; } -+if ${ac_cv_prog_cc_g+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_save_c_werror_flag=$ac_c_werror_flag -+ ac_c_werror_flag=yes -+ ac_cv_prog_cc_g=no -+ CFLAGS="-g" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_prog_cc_g=yes -+else -+ CFLAGS="" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ -+else -+ ac_c_werror_flag=$ac_save_c_werror_flag -+ CFLAGS="-g" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_prog_cc_g=yes -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_c_werror_flag=$ac_save_c_werror_flag -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -+$as_echo "$ac_cv_prog_cc_g" >&6; } -+if test "$ac_test_CFLAGS" = set; then -+ CFLAGS=$ac_save_CFLAGS -+elif test $ac_cv_prog_cc_g = yes; then -+ if test "$GCC" = yes; then -+ CFLAGS="-g -O2" -+ else -+ CFLAGS="-g" -+ fi -+else -+ if test "$GCC" = yes; then -+ CFLAGS="-O2" -+ else -+ CFLAGS= -+ fi -+fi -+ if test "$ac_test_CFLAGS" = set; then -+ CFLAGS="$ac_save_CFLAGS" -+ elif test $ac_cv_prog_cc_g = yes; then -+ CFLAGS="-g -O2" -+ else -+ CFLAGS="-O2" -+ fi -+else -+ GCC= -+ test "${CFLAGS+set}" = set || CFLAGS="-g" -+fi -+ -+AS=${AS-as} -+ -+AR=${AR-ar} -+ -+LD=${LD-ld} -+ -+if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -+set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_RANLIB+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$RANLIB"; then -+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+RANLIB=$ac_cv_prog_RANLIB -+if test -n "$RANLIB"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -+$as_echo "$RANLIB" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+fi -+if test -z "$ac_cv_prog_RANLIB"; then -+ ac_ct_RANLIB=$RANLIB -+ # Extract the first word of "ranlib", so it can be a program name with args. -+set dummy ranlib; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$ac_ct_RANLIB"; then -+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_ac_ct_RANLIB="ranlib" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -+if test -n "$ac_ct_RANLIB"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -+$as_echo "$ac_ct_RANLIB" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ if test "x$ac_ct_RANLIB" = x; then -+ RANLIB=":" -+ else -+ case $cross_compiling:$ac_tool_warned in -+yes:) -+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -+ac_tool_warned=yes ;; -+esac -+ RANLIB=$ac_ct_RANLIB -+ fi -+else -+ RANLIB="$ac_cv_prog_RANLIB" -+fi -+ -+# By default we simply use the C compiler to build assembly code. -+ -+test "${CCAS+set}" = set || CCAS=$CC -+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS -+ -+ -+ -+ -+host_makefile_frag=${srcdir}/../config/default.mh -+ -+host_makefile_frag_path=$host_makefile_frag -+ -+ -+ -+ac_config_files="$ac_config_files Makefile" -+ -+cat >confcache <<\_ACEOF -+# This file is a shell script that caches the results of configure -+# tests run on this system so they can be shared between configure -+# scripts and configure runs, see configure's option --config-cache. -+# It is not useful on other systems. If it contains results you don't -+# want to keep, you may remove or edit it. -+# -+# config.status only pays attention to the cache file if you give it -+# the --recheck option to rerun configure. -+# -+# `ac_cv_env_foo' variables (set or unset) will be overridden when -+# loading this file, other *unset* `ac_cv_foo' will be assigned the -+# following values. -+ -+_ACEOF -+ -+# The following way of writing the cache mishandles newlines in values, -+# but we know of no workaround that is simple, portable, and efficient. -+# So, we kill variables containing newlines. -+# Ultrix sh set writes to stderr and can't be redirected directly, -+# and sets the high bit in the cache file unless we assign to the vars. -+( -+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do -+ eval ac_val=\$$ac_var -+ case $ac_val in #( -+ *${as_nl}*) -+ case $ac_var in #( -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; -+ esac -+ case $ac_var in #( -+ _ | IFS | as_nl) ;; #( -+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -+ *) { eval $ac_var=; unset $ac_var;} ;; -+ esac ;; -+ esac -+ done -+ -+ (set) 2>&1 | -+ case $as_nl`(ac_space=' '; set) 2>&1` in #( -+ *${as_nl}ac_space=\ *) -+ # `set' does not quote correctly, so add quotes: double-quote -+ # substitution turns \\\\ into \\, and sed turns \\ into \. -+ sed -n \ -+ "s/'/'\\\\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" -+ ;; #( -+ *) -+ # `set' quotes correctly as required by POSIX, so do not add quotes. -+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" -+ ;; -+ esac | -+ sort -+) | -+ sed ' -+ /^ac_cv_env_/b end -+ t clear -+ :clear -+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ -+ t end -+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ -+ :end' >>confcache -+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else -+ if test -w "$cache_file"; then -+ if test "x$cache_file" != "x/dev/null"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -+$as_echo "$as_me: updating cache $cache_file" >&6;} -+ if test ! -f "$cache_file" || test -h "$cache_file"; then -+ cat confcache >"$cache_file" -+ else -+ case $cache_file in #( -+ */* | ?:*) -+ mv -f confcache "$cache_file"$$ && -+ mv -f "$cache_file"$$ "$cache_file" ;; #( -+ *) -+ mv -f confcache "$cache_file" ;; -+ esac -+ fi -+ fi -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} -+ fi -+fi -+rm -f confcache -+ -+test "x$prefix" = xNONE && prefix=$ac_default_prefix -+# Let make expand exec_prefix. -+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -+ -+DEFS=-DHAVE_CONFIG_H -+ -+ac_libobjs= -+ac_ltlibobjs= -+U= -+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue -+ # 1. Remove the extension, and $U if already installed. -+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' -+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"` -+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR -+ # will be set to the directory where LIBOBJS objects are built. -+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" -+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -+done -+LIBOBJS=$ac_libobjs -+ -+LTLIBOBJS=$ac_ltlibobjs -+ -+ -+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then -+ as_fn_error $? "conditional \"AMDEP\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then -+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+ -+: "${CONFIG_STATUS=./config.status}" -+ac_write_fail=0 -+ac_clean_files_save=$ac_clean_files -+ac_clean_files="$ac_clean_files $CONFIG_STATUS" -+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -+as_write_fail=0 -+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -+#! $SHELL -+# Generated by $as_me. -+# Run this file to recreate the current configuration. -+# Compiler output produced by configure, useful for debugging -+# configure, is in config.log if it exists. -+ -+debug=false -+ac_cs_recheck=false -+ac_cs_silent=false -+ -+SHELL=\${CONFIG_SHELL-$SHELL} -+export SHELL -+_ASEOF -+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## -+ -+# Be more Bourne compatible -+DUALCASE=1; export DUALCASE # for MKS sh -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '${1+"$@"}'='"$@"' -+ setopt NO_GLOB_SUBST -+else -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+ -+ -+as_nl=' -+' -+export as_nl -+# Printing a long string crashes Solaris 7 /usr/bin/printf. -+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='printf %s\n' -+ as_echo_n='printf %s' -+else -+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then -+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' -+ as_echo_n='/usr/ucb/echo -n' -+ else -+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' -+ as_echo_n_body='eval -+ arg=$1; -+ case $arg in #( -+ *"$as_nl"*) -+ expr "X$arg" : "X\\(.*\\)$as_nl"; -+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -+ esac; -+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" -+ ' -+ export as_echo_n_body -+ as_echo_n='sh -c $as_echo_n_body as_echo' -+ fi -+ export as_echo_body -+ as_echo='sh -c $as_echo_body as_echo' -+fi -+ -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ PATH_SEPARATOR=: -+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { -+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || -+ PATH_SEPARATOR=';' -+ } -+fi -+ -+ -+# IFS -+# We need space, tab and new line, in precisely that order. Quoting is -+# there to prevent editors from complaining about space-tab. -+# (If _AS_PATH_WALK were called with IFS unset, it would disable word -+# splitting by setting IFS to empty value.) -+IFS=" "" $as_nl" -+ -+# Find who we are. Look in the path if we contain no directory separator. -+as_myself= -+case $0 in #(( -+ *[\\/]* ) as_myself=$0 ;; -+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done -+IFS=$as_save_IFS -+ -+ ;; -+esac -+# We did not find ourselves, most probably we were run as `sh COMMAND' -+# in which case we are not to be found in the path. -+if test "x$as_myself" = x; then -+ as_myself=$0 -+fi -+if test ! -f "$as_myself"; then -+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -+ exit 1 -+fi -+ -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -+done -+PS1='$ ' -+PS2='> ' -+PS4='+ ' -+ -+# NLS nuisances. -+LC_ALL=C -+export LC_ALL -+LANGUAGE=C -+export LANGUAGE -+ -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+ -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error -+ -+ -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status -+ -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit -+ -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append -+ -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith -+ -+ -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr -+else -+ as_expr=false -+fi -+ -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename -+else -+ as_basename=false -+fi -+ -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi -+ -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+ECHO_C= ECHO_N= ECHO_T= -+case `echo -n x` in #((((( -+-n*) -+ case `echo 'xy\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; -+ esac;; -+*) -+ ECHO_N='-n';; -+esac -+ -+rm -f conf$$ conf$$.exe conf$$.file -+if test -d conf$$.dir; then -+ rm -f conf$$.dir/conf$$.file -+else -+ rm -f conf$$.dir -+ mkdir conf$$.dir 2>/dev/null -+fi -+if (echo >conf$$.file) 2>/dev/null; then -+ if ln -s conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s='ln -s' -+ # ... but there are two gotchas: -+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. -+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -+ # In both cases, we have to default to `cp -pR'. -+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -+ as_ln_s='cp -pR' -+ elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+ else -+ as_ln_s='cp -pR' -+ fi -+else -+ as_ln_s='cp -pR' -+fi -+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -+rmdir conf$$.dir 2>/dev/null -+ -+ -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ -+ -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" -+ -+ -+} # as_fn_mkdir_p -+if mkdir -p . 2>/dev/null; then -+ as_mkdir_p='mkdir -p "$as_dir"' -+else -+ test -d ./-p && rmdir ./-p -+ as_mkdir_p=false -+fi -+ -+ -+# as_fn_executable_p FILE -+# ----------------------- -+# Test if FILE is an executable regular file. -+as_fn_executable_p () -+{ -+ test -f "$1" && test -x "$1" -+} # as_fn_executable_p -+as_test_x='test -x' -+as_executable_p=as_fn_executable_p -+ -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -+ -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -+ -+ -+exec 6>&1 -+## ----------------------------------- ## -+## Main body of $CONFIG_STATUS script. ## -+## ----------------------------------- ## -+_ASEOF -+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# Save the log message, to keep $0 and so on meaningful, and to -+# report actual input values of CONFIG_FILES etc. instead of their -+# values after options handling. -+ac_log=" -+This file was extended by $as_me, which was -+generated by GNU Autoconf 2.69. Invocation command line was -+ -+ CONFIG_FILES = $CONFIG_FILES -+ CONFIG_HEADERS = $CONFIG_HEADERS -+ CONFIG_LINKS = $CONFIG_LINKS -+ CONFIG_COMMANDS = $CONFIG_COMMANDS -+ $ $0 $@ -+ -+on `(hostname || uname -n) 2>/dev/null | sed 1q` -+" -+ -+_ACEOF -+ -+case $ac_config_files in *" -+"*) set x $ac_config_files; shift; ac_config_files=$*;; -+esac -+ -+case $ac_config_headers in *" -+"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -+esac -+ -+ -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+# Files that config.status was made for. -+config_files="$ac_config_files" -+config_headers="$ac_config_headers" -+config_commands="$ac_config_commands" -+ -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ac_cs_usage="\ -+\`$as_me' instantiates files and other configuration actions -+from templates according to the current configuration. Unless the files -+and actions are specified as TAGs, all are instantiated by default. -+ -+Usage: $0 [OPTION]... [TAG]... -+ -+ -h, --help print this help, then exit -+ -V, --version print version number and configuration settings, then exit -+ --config print configuration, then exit -+ -q, --quiet, --silent -+ do not print progress messages -+ -d, --debug don't remove temporary files -+ --recheck update $as_me by reconfiguring in the same conditions -+ --file=FILE[:TEMPLATE] -+ instantiate the configuration file FILE -+ --header=FILE[:TEMPLATE] -+ instantiate the configuration header FILE -+ -+Configuration files: -+$config_files -+ -+Configuration headers: -+$config_headers -+ -+Configuration commands: -+$config_commands -+ -+Report bugs to the package provider." -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -+ac_cs_version="\\ -+config.status -+configured by $0, generated by GNU Autoconf 2.69, -+ with options \\"\$ac_cs_config\\" -+ -+Copyright (C) 2012 Free Software Foundation, Inc. -+This config.status script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it." -+ -+ac_pwd='$ac_pwd' -+srcdir='$srcdir' -+INSTALL='$INSTALL' -+test -n "\$AWK" || AWK=awk -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# The default lists apply if the user does not specify any file. -+ac_need_defaults=: -+while test $# != 0 -+do -+ case $1 in -+ --*=?*) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` -+ ac_shift=: -+ ;; -+ --*=) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg= -+ ac_shift=: -+ ;; -+ *) -+ ac_option=$1 -+ ac_optarg=$2 -+ ac_shift=shift -+ ;; -+ esac -+ -+ case $ac_option in -+ # Handling of the options. -+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) -+ ac_cs_recheck=: ;; -+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) -+ $as_echo "$ac_cs_version"; exit ;; -+ --config | --confi | --conf | --con | --co | --c ) -+ $as_echo "$ac_cs_config"; exit ;; -+ --debug | --debu | --deb | --de | --d | -d ) -+ debug=: ;; -+ --file | --fil | --fi | --f ) -+ $ac_shift -+ case $ac_optarg in -+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ '') as_fn_error $? "missing file argument" ;; -+ esac -+ as_fn_append CONFIG_FILES " '$ac_optarg'" -+ ac_need_defaults=false;; -+ --header | --heade | --head | --hea ) -+ $ac_shift -+ case $ac_optarg in -+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ esac -+ as_fn_append CONFIG_HEADERS " '$ac_optarg'" -+ ac_need_defaults=false;; -+ --he | --h) -+ # Conflict between --help and --header -+ as_fn_error $? "ambiguous option: \`$1' -+Try \`$0 --help' for more information.";; -+ --help | --hel | -h ) -+ $as_echo "$ac_cs_usage"; exit ;; -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil | --si | --s) -+ ac_cs_silent=: ;; -+ -+ # This is an error. -+ -*) as_fn_error $? "unrecognized option: \`$1' -+Try \`$0 --help' for more information." ;; -+ -+ *) as_fn_append ac_config_targets " $1" -+ ac_need_defaults=false ;; -+ -+ esac -+ shift -+done -+ -+ac_configure_extra_args= -+ -+if $ac_cs_silent; then -+ exec 6>/dev/null -+ ac_configure_extra_args="$ac_configure_extra_args --silent" -+fi -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+if \$ac_cs_recheck; then -+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -+ shift -+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 -+ CONFIG_SHELL='$SHELL' -+ export CONFIG_SHELL -+ exec "\$@" -+fi -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+exec 5>>config.log -+{ -+ echo -+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -+## Running $as_me. ## -+_ASBOX -+ $as_echo "$ac_log" -+} >&5 -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+# -+# INIT-COMMANDS -+# -+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" -+srcdir=${srcdir} -+target=${target} -+with_multisubdir=${with_multisubdir} -+ac_configure_args="${ac_configure_args} --enable-multilib" -+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+libgloss_topdir=${libgloss_topdir} -+ -+ -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ -+# Handling of arguments. -+for ac_config_target in $ac_config_targets -+do -+ case $ac_config_target in -+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; -+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; -+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; -+ -+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; -+ esac -+done -+ -+ -+# If the user did not use the arguments to specify the items to instantiate, -+# then the envvar interface is used. Set only those that are not. -+# We use the long form for the default assignment because of an extremely -+# bizarre bug on SunOS 4.1.3. -+if $ac_need_defaults; then -+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers -+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -+fi -+ -+# Have a temporary directory for convenience. Make it in the build tree -+# simply because there is no reason against having it here, and in addition, -+# creating and moving files from /tmp can sometimes cause problems. -+# Hook for its removal unless debugging. -+# Note that there is a small window in which the directory will not be cleaned: -+# after its creation but before its name has been assigned to `$tmp'. -+$debug || -+{ -+ tmp= ac_tmp= -+ trap 'exit_status=$? -+ : "${ac_tmp:=$tmp}" -+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -+' 0 -+ trap 'as_fn_exit 1' 1 2 13 15 -+} -+# Create a (secure) tmp directory for tmp files. -+ -+{ -+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && -+ test -d "$tmp" -+} || -+{ -+ tmp=./conf$$-$RANDOM -+ (umask 077 && mkdir "$tmp") -+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -+ac_tmp=$tmp -+ -+# Set up the scripts for CONFIG_FILES section. -+# No need to generate them if there are no CONFIG_FILES. -+# This happens for instance with `./config.status config.h'. -+if test -n "$CONFIG_FILES"; then -+ -+if $AWK 'BEGIN { getline <"/dev/null" }' /dev/null; then -+ ac_cs_awk_getline=: -+ ac_cs_awk_pipe_init= -+ ac_cs_awk_read_file=' -+ while ((getline aline < (F[key])) > 0) -+ print(aline) -+ close(F[key])' -+ ac_cs_awk_pipe_fini= -+else -+ ac_cs_awk_getline=false -+ ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\"" -+ ac_cs_awk_read_file=' -+ print "|#_!!_#|" -+ print "cat " F[key] " &&" -+ '$ac_cs_awk_pipe_init -+ # The final `:' finishes the AND list. -+ ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }' -+fi -+ac_cr=`echo X | tr X '\015'` -+# On cygwin, bash can eat \r inside `` if the user requested igncr. -+# But we know of no other shell where ac_cr would be empty at this -+# point, so we can use a bashism as a fallback. -+if test "x$ac_cr" = x; then -+ eval ac_cr=\$\'\\r\' -+fi -+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then -+ ac_cs_awk_cr='\\r' -+else -+ ac_cs_awk_cr=$ac_cr -+fi -+ -+echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -+_ACEOF -+ -+# Create commands to substitute file output variables. -+{ -+ echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && -+ echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && -+ echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && -+ echo "_ACAWK" && -+ echo "_ACEOF" -+} >conf$$files.sh && -+. ./conf$$files.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+rm -f conf$$files.sh -+ -+{ -+ echo "cat >conf$$subs.awk <<_ACEOF" && -+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && -+ echo "_ACEOF" -+} >conf$$subs.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -+ac_delim='%!_!# ' -+for ac_last_try in false false false false false :; do -+ . ./conf$$subs.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ -+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` -+ if test $ac_delim_n = $ac_delim_num; then -+ break -+ elif $ac_last_try; then -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ else -+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " -+ fi -+done -+rm -f conf$$subs.sh -+ -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -+_ACEOF -+sed -n ' -+h -+s/^/S["/; s/!.*/"]=/ -+p -+g -+s/^[^!]*!// -+:repl -+t repl -+s/'"$ac_delim"'$// -+t delim -+:nl -+h -+s/\(.\{148\}\)..*/\1/ -+t more1 -+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -+p -+n -+b repl -+:more1 -+s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -+p -+g -+s/.\{148\}// -+t nl -+:delim -+h -+s/\(.\{148\}\)..*/\1/ -+t more2 -+s/["\\]/\\&/g; s/^/"/; s/$/"/ -+p -+b -+:more2 -+s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -+p -+g -+s/.\{148\}// -+t delim -+' >$CONFIG_STATUS || ac_write_fail=1 -+rm -f conf$$subs.awk -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+_ACAWK -+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && -+ for (key in S) S_is_set[key] = 1 -+ FS = "" -+ \$ac_cs_awk_pipe_init -+} -+{ -+ line = $ 0 -+ nfields = split(line, field, "@") -+ substed = 0 -+ len = length(field[1]) -+ for (i = 2; i < nfields; i++) { -+ key = field[i] -+ keylen = length(key) -+ if (S_is_set[key]) { -+ value = S[key] -+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) -+ len += length(value) + length(field[++i]) -+ substed = 1 -+ } else -+ len += 1 + keylen -+ } -+ if (nfields == 3 && !substed) { -+ key = field[2] -+ if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) { -+ \$ac_cs_awk_read_file -+ next -+ } -+ } -+ print line -+} -+\$ac_cs_awk_pipe_fini -+_ACAWK -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then -+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -+else -+ cat -+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ -+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -+_ACEOF -+ -+# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -+# trailing colons and then remove the whole line if VPATH becomes empty -+# (actually we leave an empty line to preserve line numbers). -+if test "x$srcdir" = x.; then -+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -+h -+s/// -+s/^/:/ -+s/[ ]*$/:/ -+s/:\$(srcdir):/:/g -+s/:\${srcdir}:/:/g -+s/:@srcdir@:/:/g -+s/^:*// -+s/:*$// -+x -+s/\(=[ ]*\).*/\1/ -+G -+s/\n// -+s/^[^=]*=[ ]*$// -+}' -+fi -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+fi # test -n "$CONFIG_FILES" -+ -+# Set up the scripts for CONFIG_HEADERS section. -+# No need to generate them if there are no CONFIG_HEADERS. -+# This happens for instance with `./config.status Makefile'. -+if test -n "$CONFIG_HEADERS"; then -+cat >"$ac_tmp/defines.awk" <<\_ACAWK || -+BEGIN { -+_ACEOF -+ -+# Transform confdefs.h into an awk script `defines.awk', embedded as -+# here-document in config.status, that substitutes the proper values into -+# config.h.in to produce config.h. -+ -+# Create a delimiter string that does not exist in confdefs.h, to ease -+# handling of long lines. -+ac_delim='%!_!# ' -+for ac_last_try in false false :; do -+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h` -+ if test -z "$ac_tt"; then -+ break -+ elif $ac_last_try; then -+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 -+ else -+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " -+ fi -+done -+ -+# For the awk script, D is an array of macro values keyed by name, -+# likewise P contains macro parameters if any. Preserve backslash -+# newline sequences. -+ -+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -+sed -n ' -+s/.\{148\}/&'"$ac_delim"'/g -+t rset -+:rset -+s/^[ ]*#[ ]*define[ ][ ]*/ / -+t def -+d -+:def -+s/\\$// -+t bsnl -+s/["\\]/\\&/g -+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -+D["\1"]=" \3"/p -+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -+d -+:bsnl -+s/["\\]/\\&/g -+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -+D["\1"]=" \3\\\\\\n"\\/p -+t cont -+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -+t cont -+d -+:cont -+n -+s/.\{148\}/&'"$ac_delim"'/g -+t clear -+:clear -+s/\\$// -+t bsnlc -+s/["\\]/\\&/g; s/^/"/; s/$/"/p -+d -+:bsnlc -+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -+b cont -+' >$CONFIG_STATUS || ac_write_fail=1 -+ -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ for (key in D) D_is_set[key] = 1 -+ FS = "" -+} -+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { -+ line = \$ 0 -+ split(line, arg, " ") -+ if (arg[1] == "#") { -+ defundef = arg[2] -+ mac1 = arg[3] -+ } else { -+ defundef = substr(arg[1], 2) -+ mac1 = arg[2] -+ } -+ split(mac1, mac2, "(") #) -+ macro = mac2[1] -+ prefix = substr(line, 1, index(line, defundef) - 1) -+ if (D_is_set[macro]) { -+ # Preserve the white space surrounding the "#". -+ print prefix "define", macro P[macro] D[macro] -+ next -+ } else { -+ # Replace #undef with comments. This is necessary, for example, -+ # in the case of _POSIX_SOURCE, which is predefined and required -+ # on some systems where configure will not decide to define it. -+ if (defundef == "undef") { -+ print "/*", prefix defundef, macro, "*/" -+ next -+ } -+ } -+} -+{ print } -+_ACAWK -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -+fi # test -n "$CONFIG_HEADERS" -+ -+ -+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -+shift -+for ac_tag -+do -+ case $ac_tag in -+ :[FHLC]) ac_mode=$ac_tag; continue;; -+ esac -+ case $ac_mode$ac_tag in -+ :[FHL]*:*);; -+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; -+ :[FH]-) ac_tag=-:-;; -+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; -+ esac -+ ac_save_IFS=$IFS -+ IFS=: -+ set x $ac_tag -+ IFS=$ac_save_IFS -+ shift -+ ac_file=$1 -+ shift -+ -+ case $ac_mode in -+ :L) ac_source=$1;; -+ :[FH]) -+ ac_file_inputs= -+ for ac_f -+ do -+ case $ac_f in -+ -) ac_f="$ac_tmp/stdin";; -+ *) # Look for the file first in the build tree, then in the source tree -+ # (if the path is not absolute). The absolute path cannot be DOS-style, -+ # because $ac_f cannot contain `:'. -+ test -f "$ac_f" || -+ case $ac_f in -+ [\\/$]*) false;; -+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; -+ esac || -+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; -+ esac -+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac -+ as_fn_append ac_file_inputs " '$ac_f'" -+ done -+ -+ # Let's still pretend it is `configure' which instantiates (i.e., don't -+ # use $as_me), people would be surprised to read: -+ # /* config.h. Generated by config.status. */ -+ configure_input='Generated from '` -+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' -+ `' by configure.' -+ if test x"$ac_file" != x-; then -+ configure_input="$ac_file. $configure_input" -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -+$as_echo "$as_me: creating $ac_file" >&6;} -+ fi -+ # Neutralize special characters interpreted by sed in replacement strings. -+ case $configure_input in #( -+ *\&* | *\|* | *\\* ) -+ ac_sed_conf_input=`$as_echo "$configure_input" | -+ sed 's/[\\\\&|]/\\\\&/g'`;; #( -+ *) ac_sed_conf_input=$configure_input;; -+ esac -+ -+ case $ac_tag in -+ *:-:* | *:-) cat >"$ac_tmp/stdin" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; -+ esac -+ ;; -+ esac -+ -+ ac_dir=`$as_dirname -- "$ac_file" || -+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$ac_file" : 'X\(//\)[^/]' \| \ -+ X"$ac_file" : 'X\(//\)$' \| \ -+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$ac_file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ as_dir="$ac_dir"; as_fn_mkdir_p -+ ac_builddir=. -+ -+case "$ac_dir" in -+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -+*) -+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` -+ # A ".." for each directory in $ac_dir_suffix. -+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` -+ case $ac_top_builddir_sub in -+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; -+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; -+ esac ;; -+esac -+ac_abs_top_builddir=$ac_pwd -+ac_abs_builddir=$ac_pwd$ac_dir_suffix -+# for backward compatibility: -+ac_top_builddir=$ac_top_build_prefix -+ -+case $srcdir in -+ .) # We are building in place. -+ ac_srcdir=. -+ ac_top_srcdir=$ac_top_builddir_sub -+ ac_abs_top_srcdir=$ac_pwd ;; -+ [\\/]* | ?:[\\/]* ) # Absolute name. -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir -+ ac_abs_top_srcdir=$srcdir ;; -+ *) # Relative name. -+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_top_build_prefix$srcdir -+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -+esac -+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -+ -+ -+ case $ac_mode in -+ :F) -+ # -+ # CONFIG_FILE -+ # -+ -+ case $INSTALL in -+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; -+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; -+ esac -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# If the template does not know about datarootdir, expand it. -+# FIXME: This hack should be removed a few years after 2.60. -+ac_datarootdir_hack=; ac_datarootdir_seen= -+ac_sed_dataroot=' -+/datarootdir/ { -+ p -+ q -+} -+/@datadir@/p -+/@docdir@/p -+/@infodir@/p -+/@localedir@/p -+/@mandir@/p' -+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -+*datarootdir*) ac_datarootdir_seen=yes;; -+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ ac_datarootdir_hack=' -+ s&@datadir@&$datadir&g -+ s&@docdir@&$docdir&g -+ s&@infodir@&$infodir&g -+ s&@localedir@&$localedir&g -+ s&@mandir@&$mandir&g -+ s&\\\${datarootdir}&$datarootdir&g' ;; -+esac -+_ACEOF -+ -+# Neutralize VPATH when `$srcdir' = `.'. -+# Shell code in configure.ac might set extrasub. -+# FIXME: do we really want to maintain this feature? -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_sed_extra="$ac_vpsub -+$extrasub -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+:t -+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -+s|@configure_input@|$ac_sed_conf_input|;t t -+s&@top_builddir@&$ac_top_builddir_sub&;t t -+s&@top_build_prefix@&$ac_top_build_prefix&;t t -+s&@srcdir@&$ac_srcdir&;t t -+s&@abs_srcdir@&$ac_abs_srcdir&;t t -+s&@top_srcdir@&$ac_top_srcdir&;t t -+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -+s&@builddir@&$ac_builddir&;t t -+s&@abs_builddir@&$ac_abs_builddir&;t t -+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -+s&@INSTALL@&$ac_INSTALL&;t t -+$ac_datarootdir_hack -+" -+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | -+if $ac_cs_awk_getline; then -+ $AWK -f "$ac_tmp/subs.awk" -+else -+ $AWK -f "$ac_tmp/subs.awk" | $SHELL -+fi \ -+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ -+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && -+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && -+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ -+ "$ac_tmp/out"`; test -z "$ac_out"; } && -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&5 -+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&2;} -+ -+ rm -f "$ac_tmp/stdin" -+ case $ac_file in -+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; -+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; -+ esac \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ ;; -+ :H) -+ # -+ # CONFIG_HEADER -+ # -+ if test x"$ac_file" != x-; then -+ { -+ $as_echo "/* $configure_input */" \ -+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" -+ } >"$ac_tmp/config.h" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -+$as_echo "$as_me: $ac_file is unchanged" >&6;} -+ else -+ rm -f "$ac_file" -+ mv "$ac_tmp/config.h" "$ac_file" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ fi -+ else -+ $as_echo "/* $configure_input */" \ -+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ -+ || as_fn_error $? "could not create -" "$LINENO" 5 -+ fi -+ ;; -+ -+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -+$as_echo "$as_me: executing $ac_file commands" >&6;} -+ ;; -+ esac -+ -+ -+ case $ac_file$ac_mode in -+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # So let's grep whole file. -+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -+ dirpart=`$as_dirname -- "$mf" || -+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$mf" : 'X\(//\)[^/]' \| \ -+ X"$mf" : 'X\(//\)$' \| \ -+ X"$mf" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$mf" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ else -+ continue -+ fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`$as_dirname -- "$file" || -+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$file" : 'X\(//\)[^/]' \| \ -+ X"$file" : 'X\(//\)$' \| \ -+ X"$file" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ as_dir=$dirpart/$fdir; as_fn_mkdir_p -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done -+done -+ ;; -+ "Makefile":F) ac_file=Makefile . ${libgloss_topdir}/config-ml.in ;; -+ -+ esac -+done # for ac_tag -+ -+ -+as_fn_exit 0 -+_ACEOF -+ac_clean_files=$ac_clean_files_save -+ -+test $ac_write_fail = 0 || -+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 -+ -+ -+# configure is writing to config.log, and then calls config.status. -+# config.status does its own redirection, appending to config.log. -+# Unfortunately, on DOS this fails, as config.log is still kept open -+# by configure, so config.status won't be able to write to it; its -+# output is simply discarded. So we exec the FD to /dev/null, -+# effectively closing config.log, so it can be properly (re)opened and -+# appended to by config.status. When coming back to configure, we -+# need to make the FD available again. -+if test "$no_create" != yes; then -+ ac_cs_success=: -+ ac_config_status_args= -+ test "$silent" = yes && -+ ac_config_status_args="$ac_config_status_args --quiet" -+ exec 5>/dev/null -+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false -+ exec 5>>config.log -+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which -+ # would make configure fail if this is the last instruction. -+ $ac_cs_success || as_fn_exit 1 -+fi -+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -+fi -+ -+ -+ -diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in -new file mode 100644 -index 0000000..f3b8380 ---- /dev/null -+++ b/libgloss/libsysbase/configure.in -@@ -0,0 +1,199 @@ -+# Copyright (c) 1995, 1996 Cygnus Support -+# -+# The authors hereby grant permission to use, copy, modify, distribute, -+# and license this software and its documentation for any purpose, provided -+# that existing copyright notices are retained in all copies and that this -+# notice is included verbatim in any distributions. No written agreement, -+# license, or royalty fee is required for any of the authorized uses. -+# Modifications to this software may be copyrighted by their authors -+# and need not follow the licensing terms described here, provided that -+# the new terms are clearly indicated on the first page of each file where -+# they apply. -+# -+# Process this file with autoconf to produce a configure script. -+# -+AC_PREREQ(2.59) -+AC_INIT(close.c) -+AC_CONFIG_HEADER(config.h) -+ -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" -+fi -+ -+if test "$srcdir" = "." ; then -+ if test "${with_target_subdir}" != "." ; then -+ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." -+ else -+ libgloss_topdir="${srcdir}/${with_multisrctop}../.." -+ fi -+else -+ libgloss_topdir="${srcdir}/../.." -+fi -+AC_CONFIG_AUX_DIR($libgloss_topdir) -+ -+AC_CANONICAL_SYSTEM -+AC_ARG_PROGRAM -+ -+AC_PROG_INSTALL -+ -+AC_DEFINE(HAVE_GNU_LD) -+dnl Make sure syscall names match those being used by newlib -+case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ arc-*-*) -+ ;; -+ arm*-*-*) -+ ;; -+ bfin-*-*) -+ ;; -+ cris-*-* | crisv32-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i[3456]86-*-sco*) -+ ;; -+ lm32-*-*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpc-*-eabi) -+ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ v850*-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ AC_DEFINE(MISSING_SYSCALL_NAMES) -+ ;; -+esac -+ -+dnl Make sure we know if elf format used -+case "${target}" in -+ *-*-elf) -+ AC_DEFINE(HAVE_ELF) -+ -+ AC_CACHE_CHECK([for .previous assembler directive], -+ libc_cv_asm_previous_directive, [dnl -+ libc_cv_asm_previous_directive=no -+ cat > conftest.s <&AC_FD_CC); then -+ libc_cv_asm_previous_directive=yes -+ fi -+ rm -f conftest*]) -+ -+ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then -+ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) -+ fi -+ -+ AC_CACHE_CHECK([for .popsection assembler directive], -+ libc_cv_asm_popsection_directive, [dnl -+ libc_cv_asm_popsection_directive=no -+ cat > conftest.s <&AC_FD_CC); then -+ libc_cv_asm_popsection_directive=yes -+ fi -+ rm -f conftest*]) -+ -+ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then -+ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) -+ fi -+ -+ AC_CACHE_CHECK([for section attributes], -+ libc_cv_section_attributes, [dnl -+ libc_cv_section_attributes=no -+ cat > conftest.c <&AC_FD_CC); then -+ libc_cv_section_attributes=yes -+ fi -+ rm -f conftest*]) -+ if test "x${libc_cv_section_attributes}" = "xyes"; then -+ AC_DEFINE(HAVE_SECTION_ATTRIBUTES) -+ fi -+ ;; -+esac -+ -+AC_CACHE_CHECK([for symbol prefix], libc_cv_symbol_prefix, [dnl -+cat > conftest.c <<\EOF -+foo () { } -+EOF -+dnl -+libc_cv_symbol_prefix=none -+if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); -+then -+ libc_cv_symbol_prefix='$' -+else -+ if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]); -+ then -+ libc_cv_symbol_prefix=_ -+ fi -+fi -+rm -f conftest* ]) -+if test $libc_cv_symbol_prefix != none; then -+ AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_cv_symbol_prefix") -+else -+ AC_DEFINE(__SYMBOL_PREFIX, "") -+fi -+ -+LIB_AC_PROG_CC -+AS=${AS-as} -+AC_SUBST(AS) -+AR=${AR-ar} -+AC_SUBST(AR) -+LD=${LD-ld} -+AC_SUBST(LD) -+AC_PROG_RANLIB -+LIB_AM_PROG_AS -+ -+host_makefile_frag=${srcdir}/../config/default.mh -+ -+dnl We have to assign the same value to other variables because autoconf -+dnl doesn't provide a mechanism to substitute a replacement keyword with -+dnl arbitrary data or pathnames. -+dnl -+host_makefile_frag_path=$host_makefile_frag -+AC_SUBST(host_makefile_frag_path) -+AC_SUBST_FILE(host_makefile_frag) -+ -+AC_CONFIG_FILES(Makefile, -+ac_file=Makefile . ${libgloss_topdir}/config-ml.in, -+srcdir=${srcdir} -+target=${target} -+with_multisubdir=${with_multisubdir} -+ac_configure_args="${ac_configure_args} --enable-multilib" -+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+libgloss_topdir=${libgloss_topdir} -+) -+AC_OUTPUT -+ -+ -diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c -new file mode 100644 -index 0000000..0ad2902 ---- /dev/null -+++ b/libgloss/libsysbase/dirent.c -@@ -0,0 +1,255 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+static DIR_ITER * __diropen (const char *path) { -+ struct _reent *r = _REENT; -+ DIR_ITER *handle = NULL; -+ DIR_ITER *dir = NULL; -+ int dev; -+ -+ dev = FindDevice(path); -+ -+ if(dev!=-1) { -+ if(devoptab_list[dev]->diropen_r) { -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ handle = (DIR_ITER *)malloc( sizeof(DIR_ITER) + devoptab_list[dev]->dirStateSize ); -+ -+ if ( NULL != handle ) { -+ handle->device = dev; -+ handle->dirStruct = ((void *)handle) + sizeof(DIR_ITER); -+ -+ dir = devoptab_list[dev]->diropen_r(r, handle, path); -+ -+ if ( dir == NULL ) { -+ free (handle); -+ handle = NULL; -+ } -+ } else { -+ r->_errno = ENOSR; -+ handle = NULL; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = ENODEV; -+ } -+ -+ return handle; -+} -+ -+static int __dirreset (DIR_ITER *dirState) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; -+ -+ if (dirState != NULL) { -+ dev = dirState->device; -+ -+ if(devoptab_list[dev]->dirreset_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirreset_r(r, dirState); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} -+ -+static int __dirnext (DIR_ITER *dirState, char *filename, struct stat *filestat) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; -+ -+ if (dirState != NULL) { -+ dev = dirState->device; -+ -+ if(devoptab_list[dev]->dirnext_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirnext_r(r, dirState, filename, filestat); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} -+ -+static int __dirclose (DIR_ITER *dirState) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; -+ -+ if (dirState != NULL) { -+ dev = dirState->device; -+ -+ if (devoptab_list[dev]->dirclose_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirclose_r (r, dirState); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ free (dirState); -+ } -+ return ret; -+} -+ -+DIR* opendir (const char *dirname) { -+ DIR* dirp = malloc (sizeof(DIR)); -+ if (!dirp) { -+ errno = ENOMEM; -+ return NULL; -+ } -+ -+ dirp->dirData = __diropen (dirname); -+ if (!dirp->dirData) { -+ free (dirp); -+ return NULL; -+ } -+ -+ dirp->position = 0; // 0th position means no file name has been returned yet -+ dirp->fileData.d_ino = -1; -+ dirp->fileData.d_name[0] = '\0'; -+ -+ return dirp; -+} -+ -+ -+int closedir (DIR *dirp) { -+ int res; -+ -+ if (!dirp) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ res = __dirclose (dirp->dirData); -+ free (dirp); -+ return res; -+} -+ -+ -+struct dirent* readdir (DIR *dirp) { -+ struct stat st; -+ char filename[NAME_MAX]; -+ int res; -+ int olderrno = errno; -+ -+ if (!dirp) { -+ errno = EBADF; -+ return NULL; -+ } -+ -+ res = __dirnext (dirp->dirData, filename, &st); -+ -+ if (res < 0) { -+ if (errno == ENOENT) { -+ // errno == ENONENT set by dirnext means it's end of directory -+ // But readdir should not touch errno in case of dir end -+ errno = olderrno; -+ } -+ return NULL; -+ } -+ -+ // We've moved forward in the directory -+ dirp->position += 1; -+ -+ if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { -+ errno = EOVERFLOW; -+ return NULL; -+ } -+ -+ strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); -+ dirp->fileData.d_ino = st.st_ino; -+ dirp->fileData.d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; -+ -+ return &(dirp->fileData); -+} -+ -+ -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { -+ struct stat st; -+ char filename[NAME_MAX]; -+ int res; -+ -+ if (!dirp) { -+ return EBADF; -+ } -+ -+ res = __dirnext (dirp->dirData, filename, &st); -+ -+ if (res < 0) { -+ res = errno; -+ *result = NULL; -+ if (errno == ENOENT) { -+ // errno == ENONENT set by dirnext means it's end of directory -+ // But readdir should not touch errno in case of dir end -+ res = 0; -+ } -+ return res; -+ } -+ -+ // We've moved forward in the directory -+ dirp->position += 1; -+ -+ if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { -+ errno = EOVERFLOW; -+ return EOVERFLOW; -+ } -+ -+ strncpy (entry->d_name, filename, sizeof(entry->d_name)); -+ entry->d_ino = st.st_ino; -+ -+ *result = entry; -+ return 0; -+} -+ -+ -+void rewinddir (DIR *dirp) { -+ if (!dirp) { -+ return; -+ } -+ -+ __dirreset (dirp->dirData); -+ dirp->position = 0; -+} -+ -+ -+void seekdir(DIR *dirp, long int loc) { -+ char filename[NAME_MAX]; -+ -+ if (!dirp || loc < 0) { -+ return; -+ } -+ -+ if (dirp->position > loc) { -+ // The entry we want is before the one we have, -+ // so we have to start again from the begining -+ __dirreset (dirp->dirData); -+ dirp->position = 0; -+ } -+ -+ // Keep reading entries until we reach the one we want -+ while ((dirp->position < loc) && -+ (__dirnext (dirp->dirData, filename, NULL) >= 0)) -+ { -+ dirp->position += 1; -+ } -+} -+ -+ -+long int telldir(DIR *dirp) { -+ if (!dirp) { -+ return -1; -+ } -+ -+ return dirp->position; -+} -diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c -new file mode 100644 -index 0000000..1c485b2 ---- /dev/null -+++ b/libgloss/libsysbase/environ.c -@@ -0,0 +1,6 @@ -+/* -+ * Version of environ for no OS. -+ */ -+ -+char *__env[1] = { 0 }; -+char **environ = __env; -diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c -new file mode 100644 -index 0000000..598b0c5 ---- /dev/null -+++ b/libgloss/libsysbase/execve.c -@@ -0,0 +1,32 @@ -+/* -+ * Stub version of execve. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int -+_DEFUN (_execve_r, (r, name, argv, env), -+ struct _reent * r _AND -+ char *name _AND -+ char **argv _AND -+ char **env) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int -+_DEFUN (_execve, (name, argv, env), -+ char *name _AND -+ char **argv _AND -+ char **env) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ r->_errno = ENOSYS; -+ return -1; -+} -+ -diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c -new file mode 100644 -index 0000000..5c5831c ---- /dev/null -+++ b/libgloss/libsysbase/fchmod.c -@@ -0,0 +1,31 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#include -+ -+int fchmod(int fd, mode_t mode) { -+ int ret = -1, dev; -+ struct _reent *r = _REENT; -+ -+ if(fd!=-1) { -+ -+ __handle *handle = __get_handle(fd); -+ -+ if ( handle != NULL) { -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->fchmod_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fchmod_r(r,handle->fileStruct,mode); -+ } else -+ r->_errno=ENOSYS; -+ } -+ } -+ return ret; -+} -diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c -new file mode 100644 -index 0000000..c6b8c92 ---- /dev/null -+++ b/libgloss/libsysbase/flock.c -@@ -0,0 +1,21 @@ -+#include -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#ifndef REENTRANT_SYSCALLS_PROVIDED -+#include -+#endif -+#include -+#include -+ -+void __flockfile(FILE *fp) -+{ -+ __lock_acquire_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); -+} -+ -+void __funlockfile(FILE *fp) -+{ -+ __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); -+} -diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c -new file mode 100644 -index 0000000..3aa75a3 ---- /dev/null -+++ b/libgloss/libsysbase/fork.c -@@ -0,0 +1,25 @@ -+/* -+ * Stub version of fork. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int -+_DEFUN(_fork_r,(r), -+ struct _reent * r) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int -+_DEFUN (_fork, (), -+ _NOARGS) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ r->_errno = ENOSYS; -+ return -1; -+} -diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c -new file mode 100644 -index 0000000..564fc32 ---- /dev/null -+++ b/libgloss/libsysbase/fstat.c -@@ -0,0 +1,44 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN (_fstat_r,(r,fileDesc, st), -+ struct _reent * r _AND -+ int fileDesc _AND -+ struct stat *st) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN (_fstat,(fileDesc, st), -+ int fileDesc _AND -+ struct stat *st) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->fstat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fstat_r(r,handle->fileStruct,st); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} -diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c -new file mode 100644 -index 0000000..4ea232b ---- /dev/null -+++ b/libgloss/libsysbase/fsync.c -@@ -0,0 +1,35 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+int _DEFUN (fsync,(fileDesc), -+ int fileDesc ) { -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ struct _reent *r = _REENT; -+ -+ __handle * handle; -+ -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) { -+ errno = EINVAL; -+ return ret; -+ } -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->fsync_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fsync_r(r, handle->fileStruct); -+ } else -+ r->_errno=ENOSYS; -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c -new file mode 100644 -index 0000000..bc1744c ---- /dev/null -+++ b/libgloss/libsysbase/ftruncate.c -@@ -0,0 +1,36 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+int _DEFUN (ftruncate,(fileDesc, len), -+ int fileDesc _AND -+ off_t len) { -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ struct _reent *r = _REENT; -+ -+ __handle * handle; -+ -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) { -+ r->_errno = EINVAL; -+ return ret; -+ } -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->ftruncate_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); -+ } else -+ r->_errno=ENOSYS; -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c -new file mode 100644 -index 0000000..77d872b ---- /dev/null -+++ b/libgloss/libsysbase/getpid.c -@@ -0,0 +1,21 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN( _getpid_r,(ptr), -+ struct _reent *ptr) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN (_getpid, (), -+ _NOARGS) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ ptr->_errno = ENOSYS; -+ return -1; -+} -+ -diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c -new file mode 100644 -index 0000000..d2982bc ---- /dev/null -+++ b/libgloss/libsysbase/gettod.c -@@ -0,0 +1,35 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int -+_DEFUN(_gettimeofday_r,(ptr,ptimeval,ptimezone), -+ struct _reent *ptr _AND -+ struct timeval *ptimeval _AND -+ void *ptimezone) -+{ -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int -+_DEFUN (_gettimeofday, (ptimeval, ptimezone), -+ struct timeval *ptimeval _AND -+ void *ptimezone) -+{ -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ -+ if ( __syscalls.gettod_r ) return __syscalls.gettod_r(ptr, ptimeval, ptimezone); -+ -+ ptr->_errno = ENOSYS; -+ return -1; -+ -+} -+ -diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c -new file mode 100644 -index 0000000..f3fcc88 ---- /dev/null -+++ b/libgloss/libsysbase/handle_manager.c -@@ -0,0 +1,173 @@ -+#include -+#include -+#include -+ -+#include -+ -+#define MAX_HANDLES 1024 -+ -+static __handle __stdin_handle = {0, 1, NULL}; -+static __handle __stdout_handle = {1, 1, NULL}; -+static __handle __stderr_handle = {2, 1, NULL}; -+ -+static __handle* handles[MAX_HANDLES] = { -+ &__stdin_handle, -+ &__stdout_handle, -+ &__stderr_handle -+}; -+ -+__LOCK_INIT(static, __hndl_lock); -+ -+void __free_handle(__handle *handle) { -+ -+ if ( NULL != handle -+ && handle != &__stdin_handle -+ && handle != &__stdout_handle -+ && handle != &__stderr_handle ) { -+ -+ free(handle); -+ -+ } -+ -+} -+ -+void __release_handle(int fd) { -+ -+ if ( fd <0 || fd >= MAX_HANDLES ) return; -+ -+ __lock_acquire (__hndl_lock); -+ -+ __free_handle(handles[fd]); -+ handles[fd] = NULL; -+ -+ __lock_release (__hndl_lock); -+ -+} -+ -+int __alloc_handle(int device) { -+ -+ int i, ret = -1; -+ -+ __lock_acquire (__hndl_lock); -+ -+ for ( i = 0; i < MAX_HANDLES; i++ ) { -+ if ( handles[i] == NULL ) break; -+ } -+ -+ size_t size = sizeof(__handle) + devoptab_list[device]->structSize; -+ -+ if ( i < MAX_HANDLES ) { -+ handles[i] = malloc(size); -+ __handle *handle = handles[i]; -+ if ( NULL != handles[i] ) { -+ -+ handles[i]->refcount = 1; -+ ret = i; -+ handles[i]->device = device; -+ handles[i]->fileStruct = (void *)&handle[1]; -+ -+ } else { -+ -+ errno = ENOMEM; -+ -+ } -+ } else { -+ -+ errno = ENFILE; -+ -+ } -+ -+ __lock_release (__hndl_lock); -+ -+ return ret; -+} -+ -+__handle *__get_handle(int fd) { -+ -+ if ( fd < 0 || fd >= MAX_HANDLES ) return NULL; -+ -+ return handles[fd]; -+ -+} -+ -+int dup(int oldfd) { -+ int i, ret =-1; -+ -+ __lock_acquire (__hndl_lock); -+ -+ if (handles[oldfd]==NULL) { -+ __lock_release (__hndl_lock); -+ errno = EBADF; -+ return -1; -+ } -+ -+ -+ for ( i = 0; i < MAX_HANDLES; i++ ) { -+ if ( handles[i] == NULL ) break; -+ } -+ -+ if (irefcount++; -+ ret = i; -+ } -+ __lock_release (__hndl_lock); -+ -+ return ret; -+ -+} -+ -+int dup2(int oldfd, int newfd) { -+ -+ -+ __lock_acquire (__hndl_lock); -+ -+ if ( newfd < 0 || newfd >= MAX_HANDLES || -+ -+ oldfd < 0 || oldfd >= MAX_HANDLES || -+ handles[oldfd] == NULL ) { -+ -+ __lock_release (__hndl_lock); -+ errno = EBADF; -+ -+ return -1; -+ } -+ -+ if ( newfd == oldfd ) { -+ __lock_release (__hndl_lock); -+ return newfd; -+ } -+ -+ -+ __handle *handle = handles[newfd]; -+ -+ if ( NULL != handle ) { -+ -+ handle->refcount--; -+ -+ } -+ -+ handles[newfd] = handles[oldfd]; -+ handles[newfd]->refcount++; -+ -+ __lock_release (__hndl_lock); -+ -+ if ( NULL != handle ) { -+ -+ if (handle->refcount == 0 ) { -+ -+ if( devoptab_list[handle->device]->close_r != NULL) { -+ -+ devoptab_list[handle->device]->close_r(_REENT,handle->fileStruct); -+ -+ } else { -+ -+ __free_handle(handle); -+ -+ } -+ } -+ } -+ -+ return newfd; -+ -+} -diff --git a/libgloss/libsysbase/handle_manager.h b/libgloss/libsysbase/handle_manager.h -new file mode 100644 -index 0000000..625cb22 ---- /dev/null -+++ b/libgloss/libsysbase/handle_manager.h -@@ -0,0 +1,10 @@ -+#ifndef __HANDLE_MANAGER_H__ -+#define __HANDLE_MANAGER_H__ -+ -+#include -+ -+void __release_handle(int fd); -+int __alloc_handle(int size); -+__handle *__get_handle(int fd); -+ -+#endif -diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c -new file mode 100644 -index 0000000..4f13127 ---- /dev/null -+++ b/libgloss/libsysbase/iosupport.c -@@ -0,0 +1,138 @@ -+#include -+#include -+#include -+#include -+ -+static int defaultDevice = -1; -+ -+//--------------------------------------------------------------------------------- -+void setDefaultDevice( int device ) { -+//--------------------------------------------------------------------------------- -+ -+ if ( device >2 && device <= STD_MAX) -+ defaultDevice = device; -+} -+ -+//--------------------------------------------------------------------------------- -+static ssize_t null_write(struct _reent *r,void *fd,const char *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ return len; -+} -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t dotab_stdnull = { -+//--------------------------------------------------------------------------------- -+ "stdnull", // device name -+ 0, // size of file structure -+ NULL, // device open -+ NULL, // device close -+ null_write, // device write -+ NULL, // device read -+ NULL, // device seek -+ NULL, // device fstat -+ NULL, // device stat -+ NULL, // device link -+ NULL, // device unlink -+ NULL, // device chdir -+ NULL, // device rename -+ NULL, // device mkdir -+ 0, // dirStateSize -+ NULL, // device diropen_r -+ NULL, // device dirreset_r -+ NULL, // device dirnext_r -+ NULL, // device dirclose_r -+ NULL, // device statvfs_r -+ NULL, // device ftruncate_r -+ NULL, // device fsync_r -+ NULL, // deviceData -+ NULL, // chmod_r -+ NULL, // fchmod_r -+ NULL, // rmdir_r -+}; -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t *devoptab_list[STD_MAX] = { -+//--------------------------------------------------------------------------------- -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull -+}; -+ -+//--------------------------------------------------------------------------------- -+int FindDevice(const char* name) { -+//--------------------------------------------------------------------------------- -+ int i = 0, namelen, dev_namelen, dev = -1; -+ char *separator; -+ -+ separator = strchr(name, ':'); -+ -+ if (separator == NULL) return defaultDevice; -+ -+ dev_namelen = separator - name; -+ -+ while(iname); -+ if(dev_namelen == namelen && strncmp(devoptab_list[i]->name,name,namelen)==0 ) { -+ if ( name[namelen] == ':' || (isdigit(name[namelen]) && name[namelen+1] ==':' )) { -+ dev = i; -+ break; -+ } -+ } -+ } -+ i++; -+ } -+ -+ return dev; -+} -+ -+//--------------------------------------------------------------------------------- -+int RemoveDevice( const char* name) { -+//--------------------------------------------------------------------------------- -+ int dev = FindDevice(name); -+ -+ if ( -1 != dev ) { -+ devoptab_list[dev] = &dotab_stdnull; -+ return 0; -+ } -+ -+ return -1; -+ -+} -+ -+//--------------------------------------------------------------------------------- -+int AddDevice( const devoptab_t* device) { -+//--------------------------------------------------------------------------------- -+ -+ int devnum; -+ -+ for ( devnum = 3;devnum name, device->name) && -+ strlen(devoptab_list[devnum]->name) == strlen(device->name) ) || -+ !strcmp(devoptab_list[devnum]->name, "stdnull") -+ ) -+ break; -+ } -+ -+ if ( devnum == STD_MAX ) { -+ devnum = -1; -+ } else { -+ devoptab_list[devnum] = device; -+ } -+ return devnum; -+} -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t* GetDeviceOpTab (const char *name) { -+//--------------------------------------------------------------------------------- -+ int dev = FindDevice(name); -+ if (dev >= 0 && dev < STD_MAX) { -+ return devoptab_list[dev]; -+ } else { -+ return NULL; -+ } -+} -+ -+ -diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c -new file mode 100644 -index 0000000..c873e10 ---- /dev/null -+++ b/libgloss/libsysbase/isatty.c -@@ -0,0 +1,20 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN(_isatty_r,(ptr,file), -+ struct _reent *ptr _AND -+ int file) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN(_isatty,(file), -+ int file) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ return 0; -+} -diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c -new file mode 100644 -index 0000000..d56e340 ---- /dev/null -+++ b/libgloss/libsysbase/kill.c -@@ -0,0 +1,23 @@ -+/* -+ * Stub version of kill. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _DEFUN(_kill_r,(ptr,pid,sig), -+ struct _reent *ptr _AND -+ int pid _AND -+ int sig) { -+#else -+int _DEFUN(_kill,(pid,sig), -+ int pid _AND -+ int sig) { -+ struct _reent *ptr = _REENT; -+#endif -+ ptr->_errno = ENOSYS; -+ return -1; -+} -diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c -new file mode 100644 -index 0000000..b05c8fd ---- /dev/null -+++ b/libgloss/libsysbase/link.c -@@ -0,0 +1,38 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _DEFUN (_link_r, (r, existing, new), -+ struct _reent *r _AND -+ const char *existing _AND -+ const char *new) { -+#else -+int _DEFUN (_link, (existing, new), -+ const char *existing _AND -+ const char *new) { -+ struct _reent *r = _REENT; -+#endif -+ int ret; -+ int sourceDev = FindDevice(existing); -+ int destDev = FindDevice(new); -+ -+ ret = -1; -+ -+ if ( sourceDev == destDev) { -+ if (devoptab_list[destDev]->link_r) { -+ r->deviceData = devoptab_list[destDev]->deviceData; -+ ret = devoptab_list[destDev]->link_r( r, existing, new); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = EXDEV; -+ } -+ -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c -new file mode 100644 -index 0000000..6eeee90 ---- /dev/null -+++ b/libgloss/libsysbase/lseek.c -@@ -0,0 +1,52 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#include -+ -+#include -+ -+//--------------------------------------------------------------------------------- -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+_off_t _DEFUN (_lseek_r, (r, fileDesc, pos, dir), -+ struct _reent * r _AND -+ int fileDesc _AND -+ _off_t pos _AND -+ int dir) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_off_t _DEFUN (_lseek,(fileDesc, pos, dir), -+ int fileDesc _AND -+ _off_t pos _AND -+ int dir) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+//--------------------------------------------------------------------------------- -+#endif -+//--------------------------------------------------------------------------------- -+ _off_t ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle; -+ -+ if(fileDesc!=-1) { -+ -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->seek_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->seek_r( r, handle->fileStruct, pos, dir); -+ } else -+ r->_errno=ENOSYS; -+ -+ } -+ return ret; -+ -+} -diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c -new file mode 100644 -index 0000000..4565909 ---- /dev/null -+++ b/libgloss/libsysbase/malloc_vars.c -@@ -0,0 +1,2 @@ -+char *fake_heap_end = (char*)0; -+char *fake_heap_start = (char*)0; -diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c -new file mode 100644 -index 0000000..b4fcbd3 ---- /dev/null -+++ b/libgloss/libsysbase/mkdir.c -@@ -0,0 +1,19 @@ -+#include -+#include -+#include -+ -+int mkdir (const char *path, mode_t mode) { -+ struct _reent *r = _REENT; -+ int ret; -+ int dev = FindDevice(path); -+ ret = -1; -+ -+ if (devoptab_list[dev]->mkdir_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->mkdir_r(r, path, mode); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c -new file mode 100644 -index 0000000..a38e05c ---- /dev/null -+++ b/libgloss/libsysbase/open.c -@@ -0,0 +1,60 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN (_open_r, (r, file, flags, mode), -+ struct _reent * r _AND -+ const char *file _AND -+ int flags _AND -+ int mode) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN (_open, (file, flags, mode), -+ const char *file _AND -+ int flags _AND -+ int mode) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ __handle *handle; -+ int dev, fd, ret; -+ -+ dev = FindDevice(file); -+ -+ fd = -1; -+ if(dev!=-1) { -+ if (devoptab_list[dev]->open_r) { -+ fd = __alloc_handle(dev); -+ -+ if ( -1 != fd ) { -+ handle = __get_handle(fd); -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, flags, mode); -+ -+ if ( ret == -1 ) { -+ __release_handle(fd); -+ fd = -1; -+ } -+ } else { -+ r->_errno = ENOSR; -+ } -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return fd; -+} -diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c -new file mode 100644 -index 0000000..7f3f7f2 ---- /dev/null -+++ b/libgloss/libsysbase/read.c -@@ -0,0 +1,46 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+_ssize_t _DEFUN(_read_r,(r, fileDesc, ptr, len), -+ struct _reent * r _AND -+ int fileDesc _AND -+ void *ptr _AND -+ size_t len) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_ssize_t _DEFUN(_read,(fileDesc, ptr, len), -+ int fileDesc _AND -+ char *ptr _AND -+ size_t len) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->read_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->read_r(r,handle->fileStruct,ptr,len); -+ } else -+ r->_errno=ENOSYS; -+ } -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c -new file mode 100644 -index 0000000..f8a0aa9 ---- /dev/null -+++ b/libgloss/libsysbase/rename.c -@@ -0,0 +1,41 @@ -+#include "config.h" -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int -+_DEFUN (_rename_r, (ptr, existing, newName), -+ struct _reent *ptr _AND -+ _CONST char *existing _AND -+ _CONST char *newName) -+{ -+#else -+int -+_DEFUN(rename, (existing, newName), -+ _CONST char *existing _AND -+ _CONST char *newName) -+{ -+ struct _reent *ptr = _REENT; -+#endif -+ struct _reent *r = _REENT; -+ -+ int ret; -+ int sourceDev = FindDevice(existing); -+ int destDev = FindDevice(newName); -+ -+ ret = -1; -+ -+ if ( sourceDev == destDev) { -+ if (devoptab_list[destDev]->rename_r) { -+ r->deviceData = devoptab_list[destDev]->deviceData; -+ ret = devoptab_list[destDev]->rename_r( r, existing, newName); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = EXDEV; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c -new file mode 100644 -index 0000000..2692a29 ---- /dev/null -+++ b/libgloss/libsysbase/rmdir.c -@@ -0,0 +1,25 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+int rmdir (const char *name) { -+ struct _reent *r = _REENT; -+ int dev,ret=-1; -+ -+ dev = FindDevice(name); -+ if(dev!=-1) { -+ if(devoptab_list[dev]->rmdir_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->rmdir_r(r,name); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = ENODEV; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c -new file mode 100644 -index 0000000..e2bdb9e ---- /dev/null -+++ b/libgloss/libsysbase/sbrk.c -@@ -0,0 +1,26 @@ -+#include "config.h" -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+void * _sbrk_r (struct _reent *ptr, ptrdiff_t incr) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+caddr_t _sbrk (int incr) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ -+ -+ if ( __syscalls.sbrk_r ) { -+ return __syscalls.sbrk_r(ptr, incr); -+ } else { -+ -+ ptr->_errno = ENOMEM; -+ return (caddr_t) -1; -+ -+ } -+ -+} -\ No newline at end of file -diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c -new file mode 100644 -index 0000000..e474c47 ---- /dev/null -+++ b/libgloss/libsysbase/stat.c -@@ -0,0 +1,44 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN (_stat_r,(r,file, st), -+ struct _reent * r _AND -+ const char *file _AND -+ struct stat *st) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int -+_DEFUN (_stat, (file, st), -+ const char *file _AND -+ struct stat *st) -+{ -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int dev,ret; -+ -+ dev = FindDevice(file); -+ -+ if(dev!=-1) { -+ if (devoptab_list[dev]->stat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->stat_r(r,file,st); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ ret = -1; -+ r->_errno = ENODEV; -+ } -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c -new file mode 100644 -index 0000000..84e2213 ---- /dev/null -+++ b/libgloss/libsysbase/statvfs.c -@@ -0,0 +1,24 @@ -+#include -+#include -+#include -+ -+ -+int statvfs(const char *path, struct statvfs *buf) { -+ struct _reent *r = _REENT; -+ -+ int ret; -+ int device = FindDevice(path); -+ -+ ret = -1; -+ -+ if ( device != -1 && devoptab_list[device]->statvfs_r) { -+ -+ r->deviceData = devoptab_list[device]->deviceData; -+ ret = devoptab_list[device]->statvfs_r(r, path, buf ); -+ -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c -new file mode 100644 -index 0000000..939ec25 ---- /dev/null -+++ b/libgloss/libsysbase/syscall_support.c -@@ -0,0 +1,63 @@ -+#include -+ -+//--------------------------------------------------------------------------------- -+__syscalls_t __syscalls = { -+//--------------------------------------------------------------------------------- -+ NULL, // sbrk -+ NULL, // lock_init -+ NULL, // lock_close -+ NULL, // lock_release -+ NULL, // lock_acquire -+ NULL, // malloc_lock -+ NULL, // malloc_unlock -+ NULL, // exit -+ NULL // gettod_r -+}; -+ -+int __libc_lock_init(int *lock,int recursive) { -+ -+ if ( __syscalls.lock_init ) { -+ return __syscalls.lock_init(lock, recursive); -+ } -+ -+ return 0; -+} -+ -+int __libc_lock_close( int *lock ) { -+ -+ if ( __syscalls.lock_close) { -+ return __syscalls.lock_close(lock); -+ } -+ -+ return 0; -+} -+ -+int __libc_lock_release( int *lock ) { -+ -+ if ( __syscalls.lock_release) { -+ return __syscalls.lock_release(lock); -+ } -+ -+ return 0; -+} -+ -+int __libc_lock_acquire( int *lock ) { -+ -+ if ( __syscalls.lock_acquire) { -+ return __syscalls.lock_acquire(lock); -+ } -+ -+ return 0; -+} -+ -+void __malloc_lock( struct _reent *ptr ) { -+ if ( __syscalls.malloc_lock) { -+ __syscalls.malloc_lock(ptr); -+ } -+} -+ -+void __malloc_unlock( struct _reent *ptr ) { -+ if ( __syscalls.malloc_unlock) { -+ __syscalls.malloc_unlock(ptr); -+ } -+} -diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c -new file mode 100644 -index 0000000..45e9781 ---- /dev/null -+++ b/libgloss/libsysbase/times.c -@@ -0,0 +1,21 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+clock_t -+_DEFUN (_times_r, (r, ptms), -+ struct _reent *r _AND -+ struct tms *ptms) { -+#else -+clock_t _DEFUN (_times, (buf), -+ struct tms *buf) { -+ -+ struct _reent *r = _REENT; -+#endif -+ r->_errno = ENOSYS; -+ return (clock_t)-1; -+} -+ -diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c -new file mode 100644 -index 0000000..4ff1d27 ---- /dev/null -+++ b/libgloss/libsysbase/truncate.c -@@ -0,0 +1,58 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+int _DEFUN (truncate, (file, len), -+ const char *file _AND -+ off_t len) -+{ -+ -+ __handle *handle; -+ int dev, fd, ret; -+ -+ struct _reent * r = _REENT; -+ -+ dev = FindDevice(file); -+ -+ if(dev!=-1 && devoptab_list[dev]->open_r && devoptab_list[dev]->close_r && -+ devoptab_list[dev]->ftruncate_r) -+ { -+ -+ fd = __alloc_handle(sizeof(__handle) + devoptab_list[dev]->structSize ); -+ -+ if ( -1 != fd ) { -+ handle = __get_handle(fd); -+ handle->device = dev; -+ handle->fileStruct = ((void *)handle) + sizeof(__handle); -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, O_WRONLY, 0); -+ -+ if ( ret < 0 ) { -+ __release_handle(fd); -+ return ret; -+ } -+ -+ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); -+ -+ if (ret >= 0) { -+ ret = devoptab_list[dev]->close_r(r, handle->fileStruct); -+ } else { -+ // Close it anyway, we don't want to leak memory -+ devoptab_list[dev]->close_r(r, handle->fileStruct); -+ } -+ } else { -+ r->_errno = ENOSR; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c -new file mode 100644 -index 0000000..9a61639 ---- /dev/null -+++ b/libgloss/libsysbase/unlink.c -@@ -0,0 +1,37 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN (_unlink_r, (r, name), -+ struct _reent * r _AND -+ const char *name ) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN (_unlink, (name), -+ const char *name) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int dev,ret=-1; -+ -+ dev = FindDevice(name); -+ if(dev<0) { -+ r->_errno = ENODEV; -+ } else { -+ if (devoptab_list[dev]->unlink_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->unlink_r(r,name); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } -+ -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c -new file mode 100644 -index 0000000..f64bf13 ---- /dev/null -+++ b/libgloss/libsysbase/wait.c -@@ -0,0 +1,29 @@ -+/* -+ * Stub version of wait. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+//--------------------------------------------------------------------------------- -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int -+_DEFUN (_wait_r, (r, status), -+ struct _reent *r _AND -+ int *status) { -+ -+#else -+//--------------------------------------------------------------------------------- -+int -+_DEFUN (_wait, (status), -+ int *status) { -+ struct _reent *r = _REENT; -+#endif -+//--------------------------------------------------------------------------------- -+ r->_errno = ENOSYS; -+ return -1; -+} -+ -diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h -new file mode 100644 -index 0000000..2c29982 ---- /dev/null -+++ b/libgloss/libsysbase/warning.h -@@ -0,0 +1,43 @@ -+#ifndef __WARNING_H__ -+#define __WARNING_H__ -+ -+#ifdef HAVE_GNU_LD -+# ifdef HAVE_ELF -+ -+/* We want the .gnu.warning.SYMBOL section to be unallocated. */ -+# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE -+# define __make_section_unallocated(section_string) \ -+ asm(".section " section_string "; .previous"); -+# elif defined (HAVE_ASM_POPSECTION_DIRECTIVE) -+# define __make_section_unallocated(section_string) \ -+ asm(".pushsection " section_string "; .popsection"); -+# else -+# define __make_section_unallocated(section_string) -+# endif -+ -+# ifdef HAVE_SECTION_ATTRIBUTES -+# define link_warning(symbol, msg) \ -+ __make_section_unallocated (".gnu.warning." #symbol) \ -+ static const char __evoke_link_warning_##symbol[] \ -+ __attribute__ ((section (".gnu.warning." #symbol))) = msg; -+# else -+# define link_warning(symbol, msg) -+# endif -+ -+#else /* !ELF */ -+ -+# define link_warning(symbol, msg) \ -+ asm(".stabs \"" msg "\",30,0,0,0\n" \ -+ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); -+# endif -+#else /* !GNULD */ -+/* We will never be heard; they will all die horribly. */ -+# define link_warning(symbol, msg) -+#endif -+ -+/* A canned warning for sysdeps/stub functions. */ -+#define stub_warning(name) \ -+ link_warning (name, \ -+ "warning: " #name " is not implemented and will always fail") -+ -+#endif /* __WARNING_H__ */ -diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c -new file mode 100644 -index 0000000..39aa78b ---- /dev/null -+++ b/libgloss/libsysbase/write.c -@@ -0,0 +1,45 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+_ssize_t _DEFUN(_write_r,(r, fileDesc, ptr, len), -+ struct _reent * r _AND -+ int fileDesc _AND -+ const void *ptr _AND -+ size_t len) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_ssize_t _DEFUN (_write, (fileDesc, ptr, len), -+ int fileDesc _AND -+ const char *ptr _AND -+ int len) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->write_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->write_r(r,handle->fileStruct,ptr,len); -+ } else -+ r->_errno=ENOSYS; -+ } -+ return ret; -+} -diff --git a/libgloss/rs6000/Makefile.in b/libgloss/rs6000/Makefile.in -index 51714e5..db82941 100644 ---- a/libgloss/rs6000/Makefile.in -+++ b/libgloss/rs6000/Makefile.in -@@ -129,6 +129,9 @@ XIL_OBJS = open.o close.o lseek.o sbrk.o read.o write.o print.o - XIL_TEST = xil-test - XIL_INSTALL = install-xil - -+OGC_CRTMAIN = crtmain.o -+OGC_INSTALL = install-ogc -+ - # Host specific makefile fragment comes in here. - @host_makefile_frag@ - -@@ -143,7 +146,7 @@ all: \ - ${LINUX_CRT0} ${LINUX_BSP} \ - ${YELLOWKNIFE_CRT0} ${YELLOWKNIFE_BSP} \ - ${ADS_CRT0} ${ADS_BSP} \ -- ${MBX_CRT0} ${MBX_BSP} \ -+ ${MBX_CRT0} ${MBX_BSP} ${OGC_CRTMAIN} \ - ${XIL_CRT0} ${XIL_BSP} - - # -@@ -295,6 +298,8 @@ xil-test.srec: xil-test.x - - crt0.o: crt0.S - -+crtmain.o: crtmain.c -+ - simulator.o: simulator.S - sim-getrusage.o: sim-getrusage.S - sim-crt0.o: sim-crt0.S -@@ -352,7 +357,7 @@ distclean maintainer-clean realclean: clean - rm -f Makefile config.status *~ - - .PHONY: install info install-info clean-info --install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${XIL_INSTALL} -+install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${OGC_INSTALL} ${XIL_INSTALL} - - install-sim: - set -e; for x in ${SIM_CRT0} ${SIM_BSP} ${SIM_SCRIPTS}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done -@@ -382,6 +387,9 @@ install-xil: - set -e; for x in ${XIL_CRT0} ${XIL_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib/$$x; done - set -e; for x in ${XIL_SCRIPTS} ${XIL_SPECS}; do ${INSTALL_DATA} $(srcdir)/$$x $(DESTDIR)${tooldir}/lib/$$x; done - -+install-ogc: -+ set -e; for x in ${OGC_CRTMAIN}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done -+ - doc: - info: - install-info: -diff --git a/libgloss/rs6000/crtmain.c b/libgloss/rs6000/crtmain.c -new file mode 100644 -index 0000000..bd25d77 ---- /dev/null -+++ b/libgloss/rs6000/crtmain.c -@@ -0,0 +1,18 @@ -+#include -+ -+struct __argv { -+ int argvMagic; //!< argv magic number, set to 0x5f617267 ('_arg') if valid -+ char *commandLine; //!< base address of command line, set of null terminated strings -+ int length;//!< total length of command line -+ int argc; -+ char **argv; -+}; -+ -+extern struct __argv *__system_argv; -+void __init(); -+void SYS_PreMain(); -+ -+void __crtmain() { -+ SYS_PreMain(); -+ exit ( main(__system_argv->argc,__system_argv->argv) ); -+} -diff --git a/newlib/configure.host b/newlib/configure.host -index d471200..1c565ce 100644 ---- a/newlib/configure.host -+++ b/newlib/configure.host -@@ -793,7 +793,12 @@ case "${host}" in - default_newlib_io_long_long="yes" - newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" - ;; -- powerpc*-*-eabi* | \ -+ powerpc*-*-eabi*) -+ default_newlib_io_long_long="yes" -+ newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" -+ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" -+ syscall_dir=syscalls -+ ;; - powerpc*-*-elf* | \ - powerpc*-*-linux* | \ - powerpc*-*-rtem* | \ -diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h -index 097b0f6..062965e 100644 ---- a/newlib/libc/include/stdio.h -+++ b/newlib/libc/include/stdio.h -@@ -227,7 +227,7 @@ int _EXFUN(fgetpos, (FILE *, _fpos_t *)); - #else - int _EXFUN(fgetpos, (FILE *__restrict, fpos_t *__restrict)); - #endif --int _EXFUN(fseek, (FILE *, long, int)); -+int _EXFUN(fseek, (FILE *, off_t, int)); - #ifdef _COMPILING_NEWLIB - int _EXFUN(fsetpos, (FILE *, const _fpos_t *)); - #else -@@ -435,7 +435,7 @@ size_t _EXFUN(_fread_r, (struct _reent *, _PTR __restrict, size_t _size, size_t - size_t _EXFUN(_fread_unlocked_r, (struct _reent *, _PTR __restrict, size_t _size, size_t _n, FILE *__restrict)); - int _EXFUN(_fscanf_r, (struct _reent *, FILE *__restrict, const char *__restrict, ...) - _ATTRIBUTE ((__format__ (__scanf__, 3, 4)))); --int _EXFUN(_fseek_r, (struct _reent *, FILE *, long, int)); -+int _EXFUN(_fseek_r, (struct _reent *, FILE *, off_t, int)); - int _EXFUN(_fseeko_r,(struct _reent *, FILE *, _off_t, int)); - long _EXFUN(_ftell_r, (struct _reent *, FILE *)); - _off_t _EXFUN(_ftello_r,(struct _reent *, FILE *)); -diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c0..478d1b4 100644 ---- a/newlib/libc/include/sys/dirent.h -+++ b/newlib/libc/include/sys/dirent.h -@@ -4,10 +4,51 @@ - not support , we will get this file which uses #error to force - an error. */ - -+#ifndef _dirent_h_ -+#define _dirent_h_ -+ -+#include -+#include -+#include -+ -+#define _DIRENT_HAVE_D_TYPE -+ -+#define DT_UNKNOWN 0 -+#define DT_FIFO 1 -+#define DT_CHR 2 -+#define DT_DIR 4 -+#define DT_BLK 6 -+#define DT_REG 8 -+#define DT_LNK 10 -+#define DT_SOCK 12 -+#define DT_WHT 14 -+ - #ifdef __cplusplus - extern "C" { - #endif --#error " not supported" -+ -+ struct dirent { -+ ino_t d_ino; -+ unsigned char d_type; -+ char d_name[NAME_MAX+1]; -+ }; -+ -+ typedef struct { -+ long int position; -+ DIR_ITER* dirData; -+ struct dirent fileData; -+ } DIR; -+ -+ int closedir(DIR *dirp); -+ DIR *opendir(const char *dirname); -+ struct dirent *readdir(DIR *dirp); -+ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -+ void rewinddir(DIR *dirp); -+ void seekdir(DIR *dirp, long int loc); -+ long int telldir(DIR *dirp); -+ - #ifdef __cplusplus - } - #endif -+ -+#endif // _dirent_h_ -\ No newline at end of file -diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h -new file mode 100644 -index 0000000..e5567f0 ---- /dev/null -+++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,101 @@ -+//--------------------------------------------------------------------------------- -+#ifndef __iosupp_h__ -+#define __iosupp_h__ -+//--------------------------------------------------------------------------------- -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+#include -+#include -+ -+enum { -+ STD_IN, -+ STD_OUT, -+ STD_ERR, -+ STD_MAX = 16 -+}; -+ -+ -+typedef struct { -+ unsigned int device; -+ unsigned int refcount; -+ void *fileStruct; -+} __handle; -+ -+/* Directory iterator for mantaining state between dir* calls */ -+typedef struct { -+ int device; -+ void *dirStruct; -+} DIR_ITER; -+ -+typedef struct { -+ const char *name; -+ size_t structSize; -+ int (*open_r)(struct _reent *r, void *fileStruct, const char *path, int flags, int mode); -+ int (*close_r)(struct _reent *r, void *fd); -+ ssize_t (*write_r)(struct _reent *r, void *fd, const char *ptr, size_t len); -+ ssize_t (*read_r)(struct _reent *r, void *fd, char *ptr, size_t len); -+ off_t (*seek_r)(struct _reent *r, void *fd, off_t pos, int dir); -+ int (*fstat_r)(struct _reent *r, void *fd, struct stat *st); -+ int (*stat_r)(struct _reent *r, const char *file, struct stat *st); -+ int (*link_r)(struct _reent *r, const char *existing, const char *newLink); -+ int (*unlink_r)(struct _reent *r, const char *name); -+ int (*chdir_r)(struct _reent *r, const char *name); -+ int (*rename_r) (struct _reent *r, const char *oldName, const char *newName); -+ int (*mkdir_r) (struct _reent *r, const char *path, int mode); -+ -+ size_t dirStateSize; -+ -+ DIR_ITER* (*diropen_r)(struct _reent *r, DIR_ITER *dirState, const char *path); -+ int (*dirreset_r)(struct _reent *r, DIR_ITER *dirState); -+ int (*dirnext_r)(struct _reent *r, DIR_ITER *dirState, char *filename, struct stat *filestat); -+ int (*dirclose_r)(struct _reent *r, DIR_ITER *dirState); -+ int (*statvfs_r)(struct _reent *r, const char *path, struct statvfs *buf); -+ int (*ftruncate_r)(struct _reent *r, void *fd, off_t len); -+ int (*fsync_r)(struct _reent *r, void *fd); -+ -+ void *deviceData; -+ -+ int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); -+ int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); -+ int (*rmdir_r)(struct _reent *r, const char *name); -+ -+} devoptab_t; -+ -+extern const devoptab_t *devoptab_list[]; -+ -+typedef struct { -+ void *(*sbrk_r) (struct _reent *ptr, ptrdiff_t incr); -+ int (*lock_init) (int *lock,int recursive); -+ int (*lock_close) (int *lock); -+ int (*lock_release) (int *lock); -+ int (*lock_acquire) (int *lock); -+ void (*malloc_lock) (struct _reent *ptr); -+ void (*malloc_unlock) (struct _reent *ptr); -+ void (*exit) ( int rc ); -+ int (*gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); -+} __syscalls_t; -+ -+extern __syscalls_t __syscalls; -+ -+int AddDevice( const devoptab_t* device); -+int FindDevice(const char* name); -+int RemoveDevice(const char* name); -+void setDefaultDevice( int device ); -+const devoptab_t* GetDeviceOpTab (const char *name); -+ -+void __release_handle(int fd); -+int __alloc_handle(int device); -+__handle *__get_handle(int fd); -+ -+ -+#ifdef __cplusplus -+} -+#endif -+ -+//--------------------------------------------------------------------------------- -+#endif // __iosupp_h__ -+//--------------------------------------------------------------------------------- -diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index e1ed8b4..9d8be35 100644 ---- a/newlib/libc/include/sys/reent.h -+++ b/newlib/libc/include/sys/reent.h -@@ -416,6 +416,8 @@ struct _reent - __FILE *__sf; /* file descriptors */ - struct _misc_reent *_misc; /* strtok, multibyte states */ - char *_signal_buf; /* strsignal */ -+ -+ void *deviceData; - }; - - extern const struct __sFILE_fake __sf_fake_stdin; -@@ -645,6 +647,7 @@ struct _reent - would be broken otherwise). */ - struct _glue __sglue; /* root of glue chain */ - __FILE __sf[3]; /* first three file descriptors */ -+ void *deviceData; - }; - - #define _REENT_INIT(var) \ -diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h -new file mode 100644 -index 0000000..380329d ---- /dev/null -+++ b/newlib/libc/include/sys/statvfs.h -@@ -0,0 +1,35 @@ -+#ifndef _SYS_STATVFS_H -+#define _SYS_STATVFS_H -+ -+ -+#define ST_RDONLY 0x0001 -+#define ST_NOSUID 0x0002 -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+ -+struct statvfs { -+ unsigned long f_bsize; -+ unsigned long f_frsize; -+ fsblkcnt_t f_blocks; -+ fsblkcnt_t f_bfree; -+ fsblkcnt_t f_bavail; -+ fsfilcnt_t f_files; -+ fsfilcnt_t f_ffree; -+ fsfilcnt_t f_favail; -+ unsigned long f_fsid; -+ unsigned long f_flag; -+ unsigned long f_namemax; -+}; -+ -+int statvfs(const char *path, struct statvfs *buf); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+ -+#endif // _SYS_STATVFS_H -\ No newline at end of file -diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h -index ba9dbd6..93ed11a 100644 ---- a/newlib/libc/include/sys/syslimits.h -+++ b/newlib/libc/include/sys/syslimits.h -@@ -44,12 +44,12 @@ - #define LINK_MAX 32767 /* max file link count */ - #define MAX_CANON 255 /* max bytes in term canon input line */ - #define MAX_INPUT 255 /* max bytes in terminal input */ --#define NAME_MAX 255 /* max bytes in a file name */ -+#define NAME_MAX 767 /* max bytes in a file name */ - #define NGROUPS_MAX 16 /* max supplemental group id's */ - #ifndef OPEN_MAX - #define OPEN_MAX 64 /* max open files per process */ - #endif --#define PATH_MAX 1024 /* max bytes in pathname */ -+#define PATH_MAX 4096 /* max bytes in pathname */ - #define PIPE_BUF 512 /* max bytes for atomic pipe writes */ - #define IOV_MAX 1024 /* max elements in i/o vector */ - -diff --git a/newlib/libc/include/sys/unistd.h b/newlib/libc/include/sys/unistd.h -index 84219ca..af9d12c 100644 ---- a/newlib/libc/include/sys/unistd.h -+++ b/newlib/libc/include/sys/unistd.h -@@ -252,12 +252,10 @@ _READ_WRITE_RETURN_TYPE _EXFUN(_write, (int __fd, const void *__buf, size_t __nb - int _EXFUN(_execve, (const char *__path, char * const __argv[], char * const __envp[] )); - #endif - --#if defined(__CYGWIN__) || defined(__rtems__) || defined(__aarch64__) || defined (__arm__) || defined(__sh__) || defined(__SPU__) - #if !defined(__INSIDE_CYGWIN__) - int _EXFUN(ftruncate, (int __fd, off_t __length)); - int _EXFUN(truncate, (const char *, off_t __length)); - #endif --#endif - - #if defined(__CYGWIN__) || defined(__rtems__) - int _EXFUN(getdtablesize, (void)); -diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index 8572821..57dee54 100644 ---- a/newlib/libc/locale/locale.c -+++ b/newlib/libc/locale/locale.c -@@ -181,15 +181,18 @@ No supporting OS subroutines are required. - #include "../ctype/ctype_.h" - #include "../stdlib/local.h" - -+ - #ifdef __CYGWIN__ /* Has to be kept available as exported symbol for - backward compatibility. Set it in setlocale, but - otherwise ignore it. Applications compiled after - 2010 don't use it anymore. */ -+ - int __EXPORT __mb_cur_max = 6; - #endif - - char *_PathLocale = NULL; - -+ - #ifdef _MB_CAPABLE - /* - * Category names for getenv() -@@ -209,7 +212,11 @@ static char *categories[_LC_LAST] = { - * Default locale per POSIX. Can be overridden on a per-target base. - */ - #ifndef DEFAULT_LOCALE --#define DEFAULT_LOCALE "C" -+#ifdef __DEFAULT_UTF8__ -+#define DEFAULT_LOCALE "C.UTF8" -+#else -+#define DEFAULT_LOCALE "C" -+#endif - #endif - - #ifdef _MB_CAPABLE -@@ -222,8 +229,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; - const struct __locale_t __C_locale = - { - { "C", "C", "C", "C", "C", "C", "C", }, -+#if defined ( __DEFAULT_UTF8__ ) -+ __utf8_wctomb, -+ __utf8_mbtowc, -+#else - __ascii_wctomb, - __ascii_mbtowc, -+#endif - 0, - DEFAULT_CTYPE_PTR, - { -@@ -234,9 +246,15 @@ const struct __locale_t __C_locale = - CHAR_MAX, CHAR_MAX - }, - #ifndef __HAVE_LOCALE_INFO__ -+#ifdef __DEFAULT_UTF8__ -+ "\6", -+ "UTF-8", -+ "UTF-8", -+#else - "\1", - "ASCII", - "ASCII", -+#endif - #else /* __HAVE_LOCALE_INFO__ */ - { - { NULL, NULL }, /* LC_ALL */ -@@ -255,10 +273,11 @@ const struct __locale_t __C_locale = - }; - #endif /* _MB_CAPABLE */ - -+ - struct __locale_t __global_locale = - { - { "C", "C", DEFAULT_LOCALE, "C", "C", "C", "C", }, --#ifdef __CYGWIN__ -+#if defined ( __CYGWIN__ ) || defined ( __DEFAULT_UTF8__ ) - __utf8_wctomb, - __utf8_mbtowc, - #else -@@ -275,9 +294,15 @@ struct __locale_t __global_locale = - CHAR_MAX, CHAR_MAX - }, - #ifndef __HAVE_LOCALE_INFO__ -+#ifdef __DEFAULT_UTF8__ -+ "\6", -+ "UTF-8", -+ "UTF-8", -+#else - "\1", - "ASCII", - "ASCII", -+#endif - #else /* __HAVE_LOCALE_INFO__ */ - { - { NULL, NULL }, /* LC_ALL */ -@@ -995,6 +1020,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) - - const char * - __locale_ctype_ptr (void) -+ - { - return __get_current_locale ()->ctype_ptr; - } -diff --git a/newlib/libc/machine/powerpc/Makefile.am b/newlib/libc/machine/powerpc/Makefile.am -index e86afdf..007bd15 100644 ---- a/newlib/libc/machine/powerpc/Makefile.am -+++ b/newlib/libc/machine/powerpc/Makefile.am -@@ -10,7 +10,7 @@ noinst_LIBRARIES = lib.a - - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib - --lib_a_SOURCES = setjmp.S -+lib_a_SOURCES = setjmp.S access.c - lib_a_CCASFLAGS=$(AM_CCASFLAGS) - lib_a_CFLAGS=$(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -diff --git a/newlib/libc/machine/powerpc/Makefile.in b/newlib/libc/machine/powerpc/Makefile.in -index 73b0cc4..12044cb 100644 ---- a/newlib/libc/machine/powerpc/Makefile.in -+++ b/newlib/libc/machine/powerpc/Makefile.in -@@ -68,7 +68,7 @@ CONFIG_CLEAN_VPATH_FILES = - LIBRARIES = $(noinst_LIBRARIES) - ARFLAGS = cru - lib_a_AR = $(AR) $(ARFLAGS) --am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) -+am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-access.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I.@am__isrc@ - depcomp = -@@ -196,7 +196,7 @@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) - AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib --lib_a_SOURCES = setjmp.S -+lib_a_SOURCES = setjmp.S access.c - lib_a_CCASFLAGS = $(AM_CCASFLAGS) - lib_a_CFLAGS = $(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -@@ -280,6 +280,12 @@ lib_a-setjmp.obj: setjmp.S - .c.obj: - $(COMPILE) -c `$(CYGPATH_W) '$<'` - -+lib_a-access.o: access.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.o `test -f 'access.c' || echo '$(srcdir)/'`access.c -+ -+lib_a-access.obj: access.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.obj `if test -f 'access.c'; then $(CYGPATH_W) 'access.c'; else $(CYGPATH_W) '$(srcdir)/access.c'; fi` -+ - lib_a-vfprintf.o: vfprintf.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-vfprintf.o `test -f 'vfprintf.c' || echo '$(srcdir)/'`vfprintf.c - -diff --git a/newlib/libc/machine/powerpc/access.c b/newlib/libc/machine/powerpc/access.c -new file mode 100644 -index 0000000..980682e ---- /dev/null -+++ b/newlib/libc/machine/powerpc/access.c -@@ -0,0 +1,33 @@ -+/* This is file ACCESS.C */ -+/* -+ * Copyright (C) 1993 DJ Delorie -+ * All rights reserved. -+ * -+ * Redistribution, modification, and use in source and binary forms is permitted -+ * provided that the above copyright notice and following paragraph are -+ * duplicated in all such forms. -+ * -+ * This file is distributed WITHOUT ANY WARRANTY; without even the implied -+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -+ */ -+ -+#include -+#include -+#include -+ -+int access(const char *fn, int flags) -+{ -+ struct stat s; -+ if (stat(fn, &s)) -+ return -1; -+ if (s.st_mode & S_IFDIR) -+ return 0; -+ if (flags & W_OK) -+ { -+ if (s.st_mode & S_IWRITE) -+ return 0; -+ return -1; -+ } -+ return 0; -+} -+ -diff --git a/newlib/libc/machine/powerpc/machine/_types.h b/newlib/libc/machine/powerpc/machine/_types.h -new file mode 100644 -index 0000000..a7d63da ---- /dev/null -+++ b/newlib/libc/machine/powerpc/machine/_types.h -@@ -0,0 +1,19 @@ -+#ifndef _MACHINE__TYPES_H -+#define _MACHINE__TYPES_H -+ -+#include -+ -+/* Use 64bit types */ -+typedef __int64_t _off_t; -+#define __machine_off_t_defined -+ -+typedef __int64_t _fpos_t; -+#define __machine_fpos_t_defined -+ -+typedef __uint32_t __ino_t; -+#define __machine_ino_t_defined -+ -+typedef __uint32_t __dev_t; -+#define __machine_dev_t_defined -+ -+#endif // _MACHINE__TYPES_H -diff --git a/newlib/libc/machine/powerpc/sys/lock.h b/newlib/libc/machine/powerpc/sys/lock.h -new file mode 100644 -index 0000000..d83fda5 ---- /dev/null -+++ b/newlib/libc/machine/powerpc/sys/lock.h -@@ -0,0 +1,51 @@ -+#ifndef __SYS_LOCK_H__ -+#define __SYS_LOCK_H__ -+ -+typedef int _LOCK_T; -+typedef int _LOCK_RECURSIVE_T; -+ -+#define __LOCK_INIT(CLASS,NAME) CLASS _LOCK_T NAME = 0 -+#define __LOCK_INIT_RECURSIVE(CLASS,NAME) CLASS _LOCK_RECURSIVE_T NAME = 0 -+ -+#define __lock_init(NAME) \ -+ __libc_lock_init(&(NAME),0) -+ -+#define __lock_init_recursive(NAME) \ -+ __libc_lock_init(&(NAME),1) -+ -+#define __lock_close(NAME) \ -+ __libc_lock_close(&(NAME)) -+ -+#define __lock_close_recursive(NAME) \ -+ __libc_lock_close(&(NAME)) -+ -+#define __lock_acquire(NAME) \ -+ if(!(NAME)) __libc_lock_init(&(NAME),0); \ -+ __libc_lock_acquire(&(NAME)) -+ -+#define __lock_acquire_recursive(NAME) \ -+ if(!(NAME)) __libc_lock_init(&(NAME),1); \ -+ __libc_lock_acquire(&(NAME)) -+ -+#define __lock_try_acquire(NAME) \ -+ if(!(NAME)) __libc_lock_init(&(NAME),0); \ -+ __libc_lock_try_acquire(&(NAME)) -+ -+#define __lock_try_acquire_recursive(NAME) \ -+ if(!(NAME)) __libc_lock_init(&(NAME),1); \ -+ __libc_lock_try_acquire(&(NAME)) -+ -+#define __lock_release(NAME) \ -+ __libc_lock_release(&(NAME)) -+ -+#define __lock_release_recursive(NAME) \ -+ __libc_lock_release(&(NAME)) -+ -+ -+extern int __libc_lock_init(int*,int); -+extern int __libc_lock_close(int*); -+extern int __libc_lock_acquire(int*); -+extern int __libc_lock_try_acquire(int*); -+extern int __libc_lock_release(int*); -+ -+#endif /* __SYS_LOCK_H__ */ -diff --git a/newlib/libc/machine/powerpc/sys/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h -new file mode 100644 -index 0000000..04ebd1e ---- /dev/null -+++ b/newlib/libc/machine/powerpc/sys/stdio.h -@@ -0,0 +1,25 @@ -+#ifndef _NEWLIB_STDIO_H -+#define _NEWLIB_STDIO_H -+ -+/* Internal locking macros, used to protect stdio functions. In the -+ general case, expand to nothing. */ -+#if !defined(_flockfile) -+# if !defined(__SINGLE_THREAD__) -+# define _flockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __flockfile(fp); } -+ extern void __flockfile(FILE *fp); -+# else -+# define _flockfile(fp) -+# endif -+#endif /* __SINGLE_THREAD__ */ -+ -+#if !defined(_funlockfile) -+# if !defined(__SINGLE_THREAD__) -+# define _funlockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __funlockfile(fp); } -+ extern void __funlockfile(FILE *fp); -+# else -+# define _funlockfile(fp) -+# endif -+#endif /* __SINGLE_THREAD__ */ -+ -+#endif /* _NEWLIB_STDIO_H */ -+ -diff --git a/newlib/libc/misc/init.c b/newlib/libc/misc/init.c -index c85d602..1beb783 100644 ---- a/newlib/libc/misc/init.c -+++ b/newlib/libc/misc/init.c -@@ -40,4 +40,8 @@ __libc_init_array (void) - for (i = 0; i < count; i++) - __init_array_start[i] (); - } -+#else -+ -+#error why am I not defined -+ - #endif -diff --git a/newlib/libc/stdio/Makefile.in b/newlib/libc/stdio/Makefile.in -index 8ea5f0a..3200cf3 100644 ---- a/newlib/libc/stdio/Makefile.in -+++ b/newlib/libc/stdio/Makefile.in -@@ -504,6 +504,7 @@ GENERAL_SOURCES = \ - rename.c \ - rewind.c \ - rget.c \ -+ rmdir.c \ - scanf.c \ - sccl.c \ - setbuf.c \ -@@ -1163,6 +1164,12 @@ lib_a-rget.o: rget.c - lib_a-rget.obj: rget.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rget.obj `if test -f 'rget.c'; then $(CYGPATH_W) 'rget.c'; else $(CYGPATH_W) '$(srcdir)/rget.c'; fi` - -+lib_a-rmdir.o: rmdir.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rmdir.o `test -f 'rmdir.c' || echo '$(srcdir)/'`rmdir.c -+ -+lib_a-rmdir.obj: rmdir.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rmdir.obj `if test -f 'rmdir.c'; then $(CYGPATH_W) 'rmdir.c'; else $(CYGPATH_W) '$(srcdir)/rmdir.c'; fi` -+ - lib_a-scanf.o: scanf.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-scanf.o `test -f 'scanf.c' || echo '$(srcdir)/'`scanf.c - -diff --git a/newlib/libc/stdio/findfp.c b/newlib/libc/stdio/findfp.c -index 975a855..99573e2 100644 ---- a/newlib/libc/stdio/findfp.c -+++ b/newlib/libc/stdio/findfp.c -@@ -252,7 +252,8 @@ _DEFUN(__sinit, (s), - - /* POSIX requires stderr to be opened for reading and writing, even - when the underlying fd 2 is write-only. */ -- std (s->_stderr, __SRW | __SNBF, 2, s); -+ //std (s->_stderr, __SRW | __SNBF, 2, s); -+ std (s->_stderr, __SWR | __SLBF, 2, s); - - s->__sdidinit = 1; - -diff --git a/newlib/libc/stdio/fopen.c b/newlib/libc/stdio/fopen.c -index 6d07561..3eae960 100644 ---- a/newlib/libc/stdio/fopen.c -+++ b/newlib/libc/stdio/fopen.c -@@ -151,6 +151,9 @@ _DEFUN(_fopen_r, (ptr, file, mode), - - _newlib_flockfile_start (fp); - -+ flags &= ~(__SLBF | __SNBF | __SMBF); -+ flags |= __SNBF; -+ - fp->_file = f; - fp->_flags = flags; - fp->_cookie = (_PTR) fp; -diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index c683947..275becd 100644 ---- a/newlib/libc/stdio/fread.c -+++ b/newlib/libc/stdio/fread.c -@@ -259,7 +259,31 @@ _DEFUN(_fread_r, (ptr, buf, size, count, fp), - /* fp->_r = 0 ... done in __srefill */ - p += r; - resid -= r; -- if (__srefill_r (ptr, fp)) -+ int rc = 0; -+ -+ if (resid>BUFSIZ) -+ { -+ /* save fp buffering state */ -+ void *old_base = fp->_bf._base; -+ void * old_p = fp->_p; -+ int old_size = fp->_bf._size; -+ /* allow __refill to use user's buffer */ -+ fp->_bf._base = (unsigned char *) p; -+ fp->_bf._size = resid; -+ fp->_p = (unsigned char *) p; -+ rc = __srefill_r (ptr, fp); -+ /* restore fp buffering back to original state */ -+ fp->_bf._base = old_base; -+ fp->_bf._size = old_size; -+ fp->_p = old_p; -+ resid -= fp->_r; -+ p += fp->_r; -+ fp->_r = 0; -+ -+ } else { -+ rc = __srefill_r (ptr, fp); -+ } -+ if (rc) - { - /* no more input: return partial result */ - #ifdef __SCLE -diff --git a/newlib/libc/stdio/fseek.c b/newlib/libc/stdio/fseek.c -index b8fc36a..5c31316 100644 ---- a/newlib/libc/stdio/fseek.c -+++ b/newlib/libc/stdio/fseek.c -@@ -108,7 +108,7 @@ int - _DEFUN(_fseek_r, (ptr, fp, offset, whence), - struct _reent *ptr _AND - register FILE *fp _AND -- long offset _AND -+ off_t offset _AND - int whence) - { - return _fseeko_r (ptr, fp, offset, whence); -@@ -119,7 +119,7 @@ _DEFUN(_fseek_r, (ptr, fp, offset, whence), - int - _DEFUN(fseek, (fp, offset, whence), - register FILE *fp _AND -- long offset _AND -+ off_t offset _AND - int whence) - { - return _fseek_r (_REENT, fp, offset, whence); -diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c -index 116b4d8..57941e3 100644 ---- a/newlib/libc/stdlib/mbtowc_r.c -+++ b/newlib/libc/stdlib/mbtowc_r.c -@@ -7,6 +7,7 @@ - #include - #include "local.h" - -+ - int - _DEFUN (_mbtowc_r, (r, pwc, s, n, state), - struct _reent *r _AND -diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c -index 888c986..7aedbaa 100644 ---- a/newlib/libc/stdlib/mlock.c -+++ b/newlib/libc/stdlib/mlock.c -@@ -35,7 +35,7 @@ the sequence of calls may go <<__malloc_lock>>, <<__malloc_lock>>, - routines must be careful to avoid causing a thread to wait for a lock - that it already holds. - */ -- -+#if 0 - #include - #include - -@@ -60,5 +60,5 @@ __malloc_unlock (ptr) - __lock_release_recursive (__malloc_lock_object); - #endif - } -- -+#endif - #endif From 8c1775ec3168fe62c0ca6b390b3e5afd7fdc15d1 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 28 May 2018 10:39:11 +0000 Subject: [PATCH 026/280] add sleep functions --- dkppc/patches/newlib-3.0.0.patch | 91 ++++++++++++++++++++++++++++---- 1 file changed, 82 insertions(+), 9 deletions(-) diff --git a/dkppc/patches/newlib-3.0.0.patch b/dkppc/patches/newlib-3.0.0.patch index 8026822..e7eaa57 100644 --- a/dkppc/patches/newlib-3.0.0.patch +++ b/dkppc/patches/newlib-3.0.0.patch @@ -46,7 +46,7 @@ index 6da164352..0375cabbc 100644 AC_SUBST(AS) diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in new file mode 100644 -index 000000000..df90d2f57 +index 000000000..376d620b8 --- /dev/null +++ b/libgloss/libsysbase/Makefile.in @@ -0,0 +1,148 @@ @@ -118,7 +118,7 @@ index 000000000..df90d2f57 + +# object files needed +OBJS = abort.o iosupport.o clocks.o close.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ -+ isatty.o kill.o link.o lseek.o open.o read.o sbrk.o stat.o times.o \ ++ isatty.o kill.o link.o lseek.o nanosleep.o open.o read.o sbrk.o sleep.o stat.o usleep.o times.o \ + unlink.o wait.o write.o _exit.o malloc_vars.o \ + chdir.o mkdir.o rename.o build_argv.o statvfs.o \ + flock.o syscall_support.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ @@ -902,7 +902,7 @@ index 000000000..3668b5801 + diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c new file mode 100644 -index 000000000..7cec3bc11 +index 000000000..01cfee469 --- /dev/null +++ b/libgloss/libsysbase/clocks.c @@ -0,0 +1,34 @@ @@ -922,7 +922,7 @@ index 000000000..7cec3bc11 + +int clock_settime(clockid_t clock_id, const struct timespec *tp) +{ -+ if ( __syscalls.clock_gettime ) { ++ if ( __syscalls.clock_settime ) { + return __syscalls.clock_settime(clock_id, tp); + } else { + errno = ENOSYS; @@ -6476,6 +6476,26 @@ index 000000000..b4fcbd3d7 + + return ret; +} +diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c +new file mode 100644 +index 000000000..3c96fc61b +--- /dev/null ++++ b/libgloss/libsysbase/nanosleep.c +@@ -0,0 +1,14 @@ ++#include ++#include ++#include ++ ++int nanosleep(const struct timespec *req, struct timespec *rem) ++{ ++ if ( __syscalls.nanosleep ) { ++ return __syscalls.nanosleep(req, rem); ++ } else { ++ *rem = *req; ++ errno = ENOSYS; ++ return -1; ++ } ++} diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c new file mode 100644 index 000000000..877f907e1 @@ -6682,6 +6702,30 @@ index 000000000..e2bdb9edc + +} \ No newline at end of file +diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c +new file mode 100644 +index 000000000..f3aa97954 +--- /dev/null ++++ b/libgloss/libsysbase/sleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ ++ ++/* Written 2000 by Werner Almesberger */ ++ ++#include ++#include ++#include ++ ++unsigned sleep(unsigned seconds) ++{ ++ struct timespec ts; ++ ++ ts.tv_sec = seconds; ++ ts.tv_nsec = 0; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c new file mode 100644 index 000000000..4c2e5414e @@ -6757,10 +6801,10 @@ index 000000000..84e221340 +} diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c new file mode 100644 -index 000000000..939ec2533 +index 000000000..f02714764 --- /dev/null +++ b/libgloss/libsysbase/syscall_support.c -@@ -0,0 +1,63 @@ +@@ -0,0 +1,67 @@ +#include + +//--------------------------------------------------------------------------------- @@ -6774,7 +6818,11 @@ index 000000000..939ec2533 + NULL, // malloc_lock + NULL, // malloc_unlock + NULL, // exit -+ NULL // gettod_r ++ NULL, // gettod_r ++ NULL, // clock_gettime ++ NULL, // clock_settime ++ NULL, // clock_getres ++ NULL // nanosleep +}; + +int __libc_lock_init(int *lock,int recursive) { @@ -6948,6 +6996,30 @@ index 000000000..55932bc25 + return ret; +} + +diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c +new file mode 100644 +index 000000000..b54714775 +--- /dev/null ++++ b/libgloss/libsysbase/usleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ ++ ++/* Written 2000 by Werner Almesberger */ ++ ++#include ++#include ++#include ++ ++int usleep(useconds_t useconds) ++{ ++ struct timespec ts; ++ ++ ts.tv_sec = (long int)useconds / 1000000; ++ ts.tv_nsec = ((long int)useconds % 1000000) * 1000; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c new file mode 100644 index 000000000..b65f9039c @@ -7237,10 +7309,10 @@ index 2900b332f..6efb54eb3 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..8034ada6f +index 000000000..90c637194 --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,105 @@ +@@ -0,0 +1,106 @@ +//--------------------------------------------------------------------------------- +#ifndef __iosupp_h__ +#define __iosupp_h__ @@ -7324,6 +7396,7 @@ index 000000000..8034ada6f + int (*clock_gettime)(clockid_t clock_id, struct timespec *tp); + int (*clock_settime)(clockid_t clock_id, const struct timespec *tp); + int (*clock_getres)(clockid_t clock_id, struct timespec *res); ++ int (*nanosleep)(const struct timespec *req, struct timespec *rem); +} __syscalls_t; + +extern __syscalls_t __syscalls; From 2a0d211c07ff17db60d86c15de28eaeba65b37f4 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 28 May 2018 10:39:41 +0000 Subject: [PATCH 027/280] enable libstdcxx-time --- dkppc/scripts/build-gcc.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 522aaff..bf69145 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -89,6 +89,7 @@ then --disable-win32-registry \ --disable-libstdcxx-pch \ --disable-libstdcxx-verbose \ + --enable-libstdcxx-time=yes \ --enable-cxx-flags='-ffunction-sections -fdata-sections' \ --target=$target \ --with-newlib \ From c7de577a0c02f284b0af21f5fbe4097b1d5d1c50 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 29 May 2018 18:21:46 +0100 Subject: [PATCH 028/280] cleanup config sample --- config.sh.sample | 8 -------- 1 file changed, 8 deletions(-) diff --git a/config.sh.sample b/config.sh.sample index c07462c..01667cc 100755 --- a/config.sh.sample +++ b/config.sh.sample @@ -24,19 +24,12 @@ BUILD_DKPRO_PACKAGE=0 #--------------------------------------------------------------------------------- #BUILD_DKPRO_SRCDIR=~/projects/archives - -#--------------------------------------------------------------------------------- -# skip building the target libraries -#--------------------------------------------------------------------------------- -BUILD_DKPRO_SKIP_LIBRARIES=0 - #--------------------------------------------------------------------------------- # MAKEFLAGS for building - use number of processors for jobs #--------------------------------------------------------------------------------- #numcores=`getconf _NPROCESSORS_ONLN` #export MAKEFLAGS="$MAKEFLAGS -j${numcores}" - #--------------------------------------------------------------------------------- # Uncomment to skip building of tools #--------------------------------------------------------------------------------- @@ -55,7 +48,6 @@ BUILD_DKPRO_SKIP_LIBRARIES=0 #--------------------------------------------------------------------------------- BUILD_DKPRO_AUTOMATED=0 - #--------------------------------------------------------------------------------- # set OSX SDK path if needed #--------------------------------------------------------------------------------- From 27b541afae3d7fe0b590bb05528a43b7bc27cc16 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 4 Jun 2018 15:35:55 +0000 Subject: [PATCH 029/280] enable std::filesystem --- dkppc/patches/newlib-3.0.0.patch | 289 ++++++++++++++++++++++--------- dkppc/scripts/build-gcc.sh | 1 + 2 files changed, 212 insertions(+), 78 deletions(-) diff --git a/dkppc/patches/newlib-3.0.0.patch b/dkppc/patches/newlib-3.0.0.patch index e7eaa57..5372299 100644 --- a/dkppc/patches/newlib-3.0.0.patch +++ b/dkppc/patches/newlib-3.0.0.patch @@ -1,5 +1,5 @@ diff --git a/libgloss/configure b/libgloss/configure -index aa6f8f834..0e8579890 100755 +index aa6f8f8..0e85798 100755 --- a/libgloss/configure +++ b/libgloss/configure @@ -2594,6 +2594,8 @@ if test "${config_libnosys}" = "true"; then @@ -12,7 +12,7 @@ index aa6f8f834..0e8579890 100755 ac_config_commands="$ac_config_commands depfiles" diff --git a/libgloss/configure.in b/libgloss/configure.in -index 6da164352..0375cabbc 100644 +index 6da1643..0375cab 100644 --- a/libgloss/configure.in +++ b/libgloss/configure.in @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. @@ -46,7 +46,7 @@ index 6da164352..0375cabbc 100644 AC_SUBST(AS) diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in new file mode 100644 -index 000000000..376d620b8 +index 0000000..0d17fa9 --- /dev/null +++ b/libgloss/libsysbase/Makefile.in @@ -0,0 +1,148 @@ @@ -118,11 +118,11 @@ index 000000000..376d620b8 + +# object files needed +OBJS = abort.o iosupport.o clocks.o close.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ -+ isatty.o kill.o link.o lseek.o nanosleep.o open.o read.o sbrk.o sleep.o stat.o usleep.o times.o \ ++ isatty.o kill.o link.o lseek.o lstat.o nanosleep.o open.o read.o sbrk.o sleep.o stat.o usleep.o times.o \ + unlink.o wait.o write.o _exit.o malloc_vars.o \ + chdir.o mkdir.o rename.o build_argv.o statvfs.o \ + flock.o syscall_support.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ -+ fchmod.o chmod.o rmdir.o ++ fchmod.o chmod.o rmdir.o utime.o + +# Object files specific to particular targets. +EVALOBJS = ${OBJS} @@ -200,7 +200,7 @@ index 000000000..376d620b8 + $(SHELL) config.status --recheck diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c new file mode 100644 -index 000000000..e5cb5a9ed +index 0000000..e5cb5a9 --- /dev/null +++ b/libgloss/libsysbase/_exit.c @@ -0,0 +1,17 @@ @@ -223,7 +223,7 @@ index 000000000..e5cb5a9ed +} diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c new file mode 100644 -index 000000000..9272e22c9 +index 0000000..9272e22 --- /dev/null +++ b/libgloss/libsysbase/abort.c @@ -0,0 +1,8 @@ @@ -237,7 +237,7 @@ index 000000000..9272e22c9 + diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h new file mode 100644 -index 000000000..200ea7873 +index 0000000..200ea78 --- /dev/null +++ b/libgloss/libsysbase/acconfig.h @@ -0,0 +1,29 @@ @@ -272,7 +272,7 @@ index 000000000..200ea7873 +#undef __SYMBOL_PREFIX diff --git a/libgloss/libsysbase/aclocal.m4 b/libgloss/libsysbase/aclocal.m4 new file mode 100644 -index 000000000..b6cdfaeb8 +index 0000000..b6cdfae --- /dev/null +++ b/libgloss/libsysbase/aclocal.m4 @@ -0,0 +1,344 @@ @@ -622,7 +622,7 @@ index 000000000..b6cdfaeb8 +m4_include([../acinclude.m4]) diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c new file mode 100644 -index 000000000..3ca95d5b6 +index 0000000..3ca95d5 --- /dev/null +++ b/libgloss/libsysbase/build_argv.c @@ -0,0 +1,31 @@ @@ -659,7 +659,7 @@ index 000000000..3ca95d5b6 +} diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c new file mode 100644 -index 000000000..90d2dc5b7 +index 0000000..90d2dc5 --- /dev/null +++ b/libgloss/libsysbase/chdir.c @@ -0,0 +1,201 @@ @@ -866,7 +866,7 @@ index 000000000..90d2dc5b7 +} diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c new file mode 100644 -index 000000000..3668b5801 +index 0000000..3668b58 --- /dev/null +++ b/libgloss/libsysbase/chmod.c @@ -0,0 +1,30 @@ @@ -902,7 +902,7 @@ index 000000000..3668b5801 + diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c new file mode 100644 -index 000000000..01cfee469 +index 0000000..01cfee4 --- /dev/null +++ b/libgloss/libsysbase/clocks.c @@ -0,0 +1,34 @@ @@ -942,7 +942,7 @@ index 000000000..01cfee469 + diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c new file mode 100644 -index 000000000..88dc9195c +index 0000000..88dc919 --- /dev/null +++ b/libgloss/libsysbase/close.c @@ -0,0 +1,46 @@ @@ -994,7 +994,7 @@ index 000000000..88dc9195c +} diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in new file mode 100644 -index 000000000..48ce950b4 +index 0000000..48ce950 --- /dev/null +++ b/libgloss/libsysbase/config.h.in @@ -0,0 +1,25 @@ @@ -1025,7 +1025,7 @@ index 000000000..48ce950b4 +#undef __SYMBOL_PREFIX diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure new file mode 100644 -index 000000000..874eec1e2 +index 0000000..874eec1 --- /dev/null +++ b/libgloss/libsysbase/configure @@ -0,0 +1,4158 @@ @@ -5189,7 +5189,7 @@ index 000000000..874eec1e2 + diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in new file mode 100644 -index 000000000..f3b838072 +index 0000000..f3b8380 --- /dev/null +++ b/libgloss/libsysbase/configure.in @@ -0,0 +1,199 @@ @@ -5394,7 +5394,7 @@ index 000000000..f3b838072 + diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c new file mode 100644 -index 000000000..0ad29029c +index 0000000..0ad2902 --- /dev/null +++ b/libgloss/libsysbase/dirent.c @@ -0,0 +1,255 @@ @@ -5655,7 +5655,7 @@ index 000000000..0ad29029c +} diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c new file mode 100644 -index 000000000..1c485b26f +index 0000000..1c485b2 --- /dev/null +++ b/libgloss/libsysbase/environ.c @@ -0,0 +1,6 @@ @@ -5667,7 +5667,7 @@ index 000000000..1c485b26f +char **environ = __env; diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c new file mode 100644 -index 000000000..59fecdd44 +index 0000000..59fecdd --- /dev/null +++ b/libgloss/libsysbase/execve.c @@ -0,0 +1,23 @@ @@ -5696,7 +5696,7 @@ index 000000000..59fecdd44 + diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c new file mode 100644 -index 000000000..5c5831cdf +index 0000000..5c5831c --- /dev/null +++ b/libgloss/libsysbase/fchmod.c @@ -0,0 +1,31 @@ @@ -5733,7 +5733,7 @@ index 000000000..5c5831cdf +} diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c new file mode 100644 -index 000000000..c6b8c92ad +index 0000000..c6b8c92 --- /dev/null +++ b/libgloss/libsysbase/flock.c @@ -0,0 +1,21 @@ @@ -5760,7 +5760,7 @@ index 000000000..c6b8c92ad +} diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c new file mode 100644 -index 000000000..a0ce1abf4 +index 0000000..a0ce1ab --- /dev/null +++ b/libgloss/libsysbase/fork.c @@ -0,0 +1,21 @@ @@ -5787,7 +5787,7 @@ index 000000000..a0ce1abf4 +} diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c new file mode 100644 -index 000000000..788a303dc +index 0000000..788a303 --- /dev/null +++ b/libgloss/libsysbase/fstat.c @@ -0,0 +1,39 @@ @@ -5832,7 +5832,7 @@ index 000000000..788a303dc +} diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c new file mode 100644 -index 000000000..eaabef98e +index 0000000..eaabef9 --- /dev/null +++ b/libgloss/libsysbase/fsync.c @@ -0,0 +1,34 @@ @@ -5872,7 +5872,7 @@ index 000000000..eaabef98e +} diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c new file mode 100644 -index 000000000..3f1d92044 +index 0000000..3f1d920 --- /dev/null +++ b/libgloss/libsysbase/ftruncate.c @@ -0,0 +1,34 @@ @@ -5912,7 +5912,7 @@ index 000000000..3f1d92044 +} diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c new file mode 100644 -index 000000000..ec3b84037 +index 0000000..ec3b840 --- /dev/null +++ b/libgloss/libsysbase/getpid.c @@ -0,0 +1,19 @@ @@ -5937,7 +5937,7 @@ index 000000000..ec3b84037 + diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c new file mode 100644 -index 000000000..11dc528fa +index 0000000..11dc528 --- /dev/null +++ b/libgloss/libsysbase/gettod.c @@ -0,0 +1,26 @@ @@ -5969,7 +5969,7 @@ index 000000000..11dc528fa + diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c new file mode 100644 -index 000000000..f3fcc88f7 +index 0000000..f3fcc88 --- /dev/null +++ b/libgloss/libsysbase/handle_manager.c @@ -0,0 +1,173 @@ @@ -6148,7 +6148,7 @@ index 000000000..f3fcc88f7 +} diff --git a/libgloss/libsysbase/handle_manager.h b/libgloss/libsysbase/handle_manager.h new file mode 100644 -index 000000000..625cb22d9 +index 0000000..625cb22 --- /dev/null +++ b/libgloss/libsysbase/handle_manager.h @@ -0,0 +1,10 @@ @@ -6164,10 +6164,10 @@ index 000000000..625cb22d9 +#endif diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c new file mode 100644 -index 000000000..4f131275e +index 0000000..948c6ef --- /dev/null +++ b/libgloss/libsysbase/iosupport.c -@@ -0,0 +1,138 @@ +@@ -0,0 +1,140 @@ +#include +#include +#include @@ -6218,6 +6218,8 @@ index 000000000..4f131275e + NULL, // chmod_r + NULL, // fchmod_r + NULL, // rmdir_r ++ NULL, // lstat_r ++ NULL, // utimes_r +}; + +//--------------------------------------------------------------------------------- @@ -6308,7 +6310,7 @@ index 000000000..4f131275e + diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c new file mode 100644 -index 000000000..280a4579a +index 0000000..280a457 --- /dev/null +++ b/libgloss/libsysbase/isatty.c @@ -0,0 +1,17 @@ @@ -6331,7 +6333,7 @@ index 000000000..280a4579a +} diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c new file mode 100644 -index 000000000..d13a32155 +index 0000000..d13a321 --- /dev/null +++ b/libgloss/libsysbase/kill.c @@ -0,0 +1,18 @@ @@ -6355,7 +6357,7 @@ index 000000000..d13a32155 +} diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c new file mode 100644 -index 000000000..eeeab1a7b +index 0000000..eeeab1a --- /dev/null +++ b/libgloss/libsysbase/link.c @@ -0,0 +1,33 @@ @@ -6394,7 +6396,7 @@ index 000000000..eeeab1a7b + diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c new file mode 100644 -index 000000000..eb232c86b +index 0000000..eb232c8 --- /dev/null +++ b/libgloss/libsysbase/lseek.c @@ -0,0 +1,45 @@ @@ -6443,9 +6445,46 @@ index 000000000..eb232c86b + return ret; + +} +diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c +new file mode 100644 +index 0000000..fc39343 +--- /dev/null ++++ b/libgloss/libsysbase/lstat.c +@@ -0,0 +1,31 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++ ++//--------------------------------------------------------------------------------- ++int lstat (const char *__restrict __path, struct stat *__restrict __buf ) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++ int dev,ret; ++ ++ dev = FindDevice(__path); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->lstat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->lstat_r(r,__path,__buf); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ ret = -1; ++ r->_errno = ENODEV; ++ } ++ return ret; ++} ++ diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c new file mode 100644 -index 000000000..456590956 +index 0000000..4565909 --- /dev/null +++ b/libgloss/libsysbase/malloc_vars.c @@ -0,0 +1,2 @@ @@ -6453,7 +6492,7 @@ index 000000000..456590956 +char *fake_heap_start = (char*)0; diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c new file mode 100644 -index 000000000..b4fcbd3d7 +index 0000000..b4fcbd3 --- /dev/null +++ b/libgloss/libsysbase/mkdir.c @@ -0,0 +1,19 @@ @@ -6478,7 +6517,7 @@ index 000000000..b4fcbd3d7 +} diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c new file mode 100644 -index 000000000..3c96fc61b +index 0000000..3c96fc6 --- /dev/null +++ b/libgloss/libsysbase/nanosleep.c @@ -0,0 +1,14 @@ @@ -6498,7 +6537,7 @@ index 000000000..3c96fc61b +} diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c new file mode 100644 -index 000000000..877f907e1 +index 0000000..877f907 --- /dev/null +++ b/libgloss/libsysbase/open.c @@ -0,0 +1,53 @@ @@ -6557,7 +6596,7 @@ index 000000000..877f907e1 +} diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c new file mode 100644 -index 000000000..ac80d5698 +index 0000000..ac80d56 --- /dev/null +++ b/libgloss/libsysbase/read.c @@ -0,0 +1,39 @@ @@ -6602,7 +6641,7 @@ index 000000000..ac80d5698 + diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c new file mode 100644 -index 000000000..1d7b7e8e7 +index 0000000..1d7b7e8 --- /dev/null +++ b/libgloss/libsysbase/rename.c @@ -0,0 +1,32 @@ @@ -6640,7 +6679,7 @@ index 000000000..1d7b7e8e7 +} diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c new file mode 100644 -index 000000000..2692a2997 +index 0000000..2692a29 --- /dev/null +++ b/libgloss/libsysbase/rmdir.c @@ -0,0 +1,25 @@ @@ -6671,7 +6710,7 @@ index 000000000..2692a2997 +} diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c new file mode 100644 -index 000000000..e2bdb9edc +index 0000000..e2bdb9e --- /dev/null +++ b/libgloss/libsysbase/sbrk.c @@ -0,0 +1,26 @@ @@ -6704,7 +6743,7 @@ index 000000000..e2bdb9edc \ No newline at end of file diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c new file mode 100644 -index 000000000..f3aa97954 +index 0000000..f3aa979 --- /dev/null +++ b/libgloss/libsysbase/sleep.c @@ -0,0 +1,18 @@ @@ -6728,7 +6767,7 @@ index 000000000..f3aa97954 +} diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c new file mode 100644 -index 000000000..4c2e5414e +index 0000000..4c2e541 --- /dev/null +++ b/libgloss/libsysbase/stat.c @@ -0,0 +1,37 @@ @@ -6771,7 +6810,7 @@ index 000000000..4c2e5414e + diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c new file mode 100644 -index 000000000..84e221340 +index 0000000..84e2213 --- /dev/null +++ b/libgloss/libsysbase/statvfs.c @@ -0,0 +1,24 @@ @@ -6801,7 +6840,7 @@ index 000000000..84e221340 +} diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c new file mode 100644 -index 000000000..f02714764 +index 0000000..f027147 --- /dev/null +++ b/libgloss/libsysbase/syscall_support.c @@ -0,0 +1,67 @@ @@ -6874,7 +6913,7 @@ index 000000000..f02714764 +} diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c new file mode 100644 -index 000000000..79484e7f4 +index 0000000..79484e7 --- /dev/null +++ b/libgloss/libsysbase/times.c @@ -0,0 +1,17 @@ @@ -6897,7 +6936,7 @@ index 000000000..79484e7f4 + diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c new file mode 100644 -index 000000000..7935c8200 +index 0000000..7935c82 --- /dev/null +++ b/libgloss/libsysbase/truncate.c @@ -0,0 +1,55 @@ @@ -6958,7 +6997,7 @@ index 000000000..7935c8200 +} diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c new file mode 100644 -index 000000000..55932bc25 +index 0000000..55932bc --- /dev/null +++ b/libgloss/libsysbase/unlink.c @@ -0,0 +1,34 @@ @@ -6998,7 +7037,7 @@ index 000000000..55932bc25 + diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c new file mode 100644 -index 000000000..b54714775 +index 0000000..b547147 --- /dev/null +++ b/libgloss/libsysbase/usleep.c @@ -0,0 +1,18 @@ @@ -7020,9 +7059,60 @@ index 000000000..b54714775 + if (errno == EINTR) return ts.tv_sec; + return -1; +} +diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c +new file mode 100644 +index 0000000..f72bf9f +--- /dev/null ++++ b/libgloss/libsysbase/utime.c +@@ -0,0 +1,45 @@ ++#include "config.h" ++ ++#include ++#include ++#include ++#include ++#include ++ ++int utimes(const char *filename, const struct timeval times[2]) ++{ ++ struct _reent *r = _REENT; ++ int dev,ret; ++ ++ dev = FindDevice(filename); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->utimes_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->utimes_r(r,filename,times); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ ret = -1; ++ r->_errno = ENODEV; ++ } ++ return ret; ++ ++ ++ ++} ++ ++ ++int utime(const char *filename, const struct utimbuf *times) ++{ ++ struct timeval t[2]; ++ if (times) { ++ t[0].tv_sec = times->actime; ++ t[0].tv_usec = 0; ++ t[1].tv_sec = times->modtime; ++ t[1].tv_usec = 0; ++ } ++ ++ return utimes(filename, t); ++} diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c new file mode 100644 -index 000000000..b65f9039c +index 0000000..b65f903 --- /dev/null +++ b/libgloss/libsysbase/wait.c @@ -0,0 +1,23 @@ @@ -7051,7 +7141,7 @@ index 000000000..b65f9039c + diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h new file mode 100644 -index 000000000..2c2998250 +index 0000000..2c29982 --- /dev/null +++ b/libgloss/libsysbase/warning.h @@ -0,0 +1,43 @@ @@ -7100,7 +7190,7 @@ index 000000000..2c2998250 +#endif /* __WARNING_H__ */ diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c new file mode 100644 -index 000000000..0e6aa41ab +index 0000000..0e6aa41 --- /dev/null +++ b/libgloss/libsysbase/write.c @@ -0,0 +1,38 @@ @@ -7143,7 +7233,7 @@ index 000000000..0e6aa41ab + return ret; +} diff --git a/libgloss/rs6000/Makefile.in b/libgloss/rs6000/Makefile.in -index 51714e59b..db8294105 100644 +index 51714e5..db82941 100644 --- a/libgloss/rs6000/Makefile.in +++ b/libgloss/rs6000/Makefile.in @@ -129,6 +129,9 @@ XIL_OBJS = open.o close.o lseek.o sbrk.o read.o write.o print.o @@ -7195,7 +7285,7 @@ index 51714e59b..db8294105 100644 install-info: diff --git a/libgloss/rs6000/crtmain.c b/libgloss/rs6000/crtmain.c new file mode 100644 -index 000000000..bd25d775d +index 0000000..bd25d77 --- /dev/null +++ b/libgloss/rs6000/crtmain.c @@ -0,0 +1,18 @@ @@ -7218,7 +7308,7 @@ index 000000000..bd25d775d + exit ( main(__system_argv->argc,__system_argv->argv) ); +} diff --git a/newlib/configure.host b/newlib/configure.host -index eb645868b..b9a006453 100644 +index eb64586..b9a0064 100644 --- a/newlib/configure.host +++ b/newlib/configure.host @@ -797,7 +797,12 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID @@ -7236,7 +7326,7 @@ index eb645868b..b9a006453 100644 powerpc*-*-linux* | \ powerpc*-*-rtem* | \ diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c02c..478d1b4e3 100644 +index a3fb5c0..478d1b4 100644 --- a/newlib/libc/include/sys/dirent.h +++ b/newlib/libc/include/sys/dirent.h @@ -4,10 +4,51 @@ @@ -7294,7 +7384,7 @@ index a3fb5c02c..478d1b4e3 100644 +#endif // _dirent_h_ \ No newline at end of file diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 2900b332f..6efb54eb3 100644 +index 2900b33..6efb54e 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h @@ -330,6 +330,9 @@ extern "C" { @@ -7309,10 +7399,10 @@ index 2900b332f..6efb54eb3 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..90c637194 +index 0000000..649fc26 --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,106 @@ +@@ -0,0 +1,108 @@ +//--------------------------------------------------------------------------------- +#ifndef __iosupp_h__ +#define __iosupp_h__ @@ -7378,6 +7468,8 @@ index 000000000..90c637194 + int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); + int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); + int (*rmdir_r)(struct _reent *r, const char *name); ++ int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); ++ int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); + +} devoptab_t; + @@ -7420,7 +7512,7 @@ index 000000000..90c637194 +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 1ef226194..ce3721a14 100644 +index 1ef2261..ce3721a 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -416,6 +416,8 @@ struct _reent @@ -7440,9 +7532,24 @@ index 1ef226194..ce3721a14 100644 }; #ifdef _REENT_GLOBAL_STDIO_STREAMS +diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h +index eee98db..aed9c17 100644 +--- a/newlib/libc/include/sys/stat.h ++++ b/newlib/libc/include/sys/stat.h +@@ -152,8 +152,9 @@ int mkfifo (const char *__path, mode_t __mode ); + int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); + mode_t umask (mode_t __mask ); + +-#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) + int lstat (const char *__restrict __path, struct stat *__restrict __buf ); ++ ++#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) + int mknod (const char *__path, mode_t __mode, dev_t __dev ); + #endif + diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h new file mode 100644 -index 000000000..380329d34 +index 0000000..380329d --- /dev/null +++ b/newlib/libc/include/sys/statvfs.h @@ -0,0 +1,35 @@ @@ -7483,7 +7590,7 @@ index 000000000..380329d34 +#endif // _SYS_STATVFS_H \ No newline at end of file diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h -index ba9dbd667..93ed11a42 100644 +index ba9dbd6..93ed11a 100644 --- a/newlib/libc/include/sys/syslimits.h +++ b/newlib/libc/include/sys/syslimits.h @@ -44,12 +44,12 @@ @@ -7501,8 +7608,34 @@ index ba9dbd667..93ed11a42 100644 #define PIPE_BUF 512 /* max bytes for atomic pipe writes */ #define IOV_MAX 1024 /* max elements in i/o vector */ +diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h +index 5e937f1..635a7a6 100644 +--- a/newlib/libc/include/sys/utime.h ++++ b/newlib/libc/include/sys/utime.h +@@ -9,12 +9,19 @@ + extern "C" { + #endif + +-struct utimbuf ++struct utimbuf + { + time_t actime; +- time_t modtime; ++ time_t modtime; + }; + ++/* Functions */ ++ ++int utime( ++ const char *path, ++ const struct utimbuf *times ++); ++ + #ifdef __cplusplus + }; + #endif diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index baa5451a6..236746f54 100644 +index baa5451..236746f 100644 --- a/newlib/libc/locale/locale.c +++ b/newlib/libc/locale/locale.c @@ -165,15 +165,18 @@ No supporting OS subroutines are required. @@ -7605,7 +7738,7 @@ index baa5451a6..236746f54 100644 return __get_current_locale ()->ctype_ptr; } diff --git a/newlib/libc/machine/powerpc/Makefile.am b/newlib/libc/machine/powerpc/Makefile.am -index e86afdf1c..007bd1567 100644 +index e86afdf..007bd15 100644 --- a/newlib/libc/machine/powerpc/Makefile.am +++ b/newlib/libc/machine/powerpc/Makefile.am @@ -10,7 +10,7 @@ noinst_LIBRARIES = lib.a @@ -7618,7 +7751,7 @@ index e86afdf1c..007bd1567 100644 lib_a_CFLAGS=$(AM_CFLAGS) lib_a_LIBADD = @extra_objs@ diff --git a/newlib/libc/machine/powerpc/Makefile.in b/newlib/libc/machine/powerpc/Makefile.in -index 73b0cc471..12044cb8a 100644 +index 73b0cc4..12044cb 100644 --- a/newlib/libc/machine/powerpc/Makefile.in +++ b/newlib/libc/machine/powerpc/Makefile.in @@ -68,7 +68,7 @@ CONFIG_CLEAN_VPATH_FILES = @@ -7654,7 +7787,7 @@ index 73b0cc471..12044cb8a 100644 diff --git a/newlib/libc/machine/powerpc/access.c b/newlib/libc/machine/powerpc/access.c new file mode 100644 -index 000000000..980682ef3 +index 0000000..980682e --- /dev/null +++ b/newlib/libc/machine/powerpc/access.c @@ -0,0 +1,33 @@ @@ -7693,7 +7826,7 @@ index 000000000..980682ef3 + diff --git a/newlib/libc/machine/powerpc/machine/_types.h b/newlib/libc/machine/powerpc/machine/_types.h new file mode 100644 -index 000000000..a7d63da51 +index 0000000..a7d63da --- /dev/null +++ b/newlib/libc/machine/powerpc/machine/_types.h @@ -0,0 +1,19 @@ @@ -7718,7 +7851,7 @@ index 000000000..a7d63da51 +#endif // _MACHINE__TYPES_H diff --git a/newlib/libc/machine/powerpc/sys/lock.h b/newlib/libc/machine/powerpc/sys/lock.h new file mode 100644 -index 000000000..d83fda504 +index 0000000..d83fda5 --- /dev/null +++ b/newlib/libc/machine/powerpc/sys/lock.h @@ -0,0 +1,51 @@ @@ -7775,7 +7908,7 @@ index 000000000..d83fda504 +#endif /* __SYS_LOCK_H__ */ diff --git a/newlib/libc/machine/powerpc/sys/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h new file mode 100644 -index 000000000..04ebd1ee0 +index 0000000..04ebd1e --- /dev/null +++ b/newlib/libc/machine/powerpc/sys/stdio.h @@ -0,0 +1,25 @@ @@ -7805,7 +7938,7 @@ index 000000000..04ebd1ee0 +#endif /* _NEWLIB_STDIO_H */ + diff --git a/newlib/libc/misc/init.c b/newlib/libc/misc/init.c -index c85d6020f..1beb783b8 100644 +index c85d602..1beb783 100644 --- a/newlib/libc/misc/init.c +++ b/newlib/libc/misc/init.c @@ -40,4 +40,8 @@ __libc_init_array (void) @@ -7818,7 +7951,7 @@ index c85d6020f..1beb783b8 100644 + #endif diff --git a/newlib/libc/stdio/Makefile.in b/newlib/libc/stdio/Makefile.in -index aa22a0e3a..93e672b6a 100644 +index aa22a0e..93e672b 100644 --- a/newlib/libc/stdio/Makefile.in +++ b/newlib/libc/stdio/Makefile.in @@ -507,6 +507,7 @@ GENERAL_SOURCES = \ @@ -7843,7 +7976,7 @@ index aa22a0e3a..93e672b6a 100644 $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-scanf.o `test -f 'scanf.c' || echo '$(srcdir)/'`scanf.c diff --git a/newlib/libc/stdio/fopen.c b/newlib/libc/stdio/fopen.c -index 022992b8d..bdf4c7bb0 100644 +index 022992b..bdf4c7b 100644 --- a/newlib/libc/stdio/fopen.c +++ b/newlib/libc/stdio/fopen.c @@ -139,6 +139,9 @@ _fopen_r (struct _reent *ptr, @@ -7857,7 +7990,7 @@ index 022992b8d..bdf4c7bb0 100644 fp->_flags = flags; fp->_cookie = (void *) fp; diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index b358d2b4a..9cab2180e 100644 +index b358d2b..9cab218 100644 --- a/newlib/libc/stdio/fread.c +++ b/newlib/libc/stdio/fread.c @@ -225,7 +225,31 @@ _fread_r (struct _reent * ptr, @@ -7894,7 +8027,7 @@ index b358d2b4a..9cab2180e 100644 /* no more input: return partial result */ #ifdef __SCLE diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c -index 920a7ea3c..ba5ee7652 100644 +index 920a7ea..ba5ee76 100644 --- a/newlib/libc/stdlib/mbtowc_r.c +++ b/newlib/libc/stdlib/mbtowc_r.c @@ -7,6 +7,7 @@ @@ -7906,7 +8039,7 @@ index 920a7ea3c..ba5ee7652 100644 _mbtowc_r (struct _reent *r, wchar_t *__restrict pwc, diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c -index 23aa10173..6016aa3ee 100644 +index 23aa101..6016aa3 100644 --- a/newlib/libc/stdlib/mlock.c +++ b/newlib/libc/stdlib/mlock.c @@ -28,7 +28,7 @@ the sequence of calls may go <<__malloc_lock>>, <<__malloc_lock>>, diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index bf69145..c5b5dc8 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -90,6 +90,7 @@ then --disable-libstdcxx-pch \ --disable-libstdcxx-verbose \ --enable-libstdcxx-time=yes \ + --enable-libstdcxx-filesystem-ts \ --enable-cxx-flags='-ffunction-sections -fdata-sections' \ --target=$target \ --with-newlib \ From e427f0dfaa3de3406c423436db045d53695df4a8 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 13 Jun 2018 14:18:24 +0100 Subject: [PATCH 030/280] add scandir --- dkppc/patches/newlib-3.0.0.patch | 288 ++++++++++++++++++++++--------- 1 file changed, 203 insertions(+), 85 deletions(-) diff --git a/dkppc/patches/newlib-3.0.0.patch b/dkppc/patches/newlib-3.0.0.patch index 5372299..0e11ad0 100644 --- a/dkppc/patches/newlib-3.0.0.patch +++ b/dkppc/patches/newlib-3.0.0.patch @@ -1,5 +1,5 @@ diff --git a/libgloss/configure b/libgloss/configure -index aa6f8f8..0e85798 100755 +index aa6f8f834..0e8579890 100755 --- a/libgloss/configure +++ b/libgloss/configure @@ -2594,6 +2594,8 @@ if test "${config_libnosys}" = "true"; then @@ -12,7 +12,7 @@ index aa6f8f8..0e85798 100755 ac_config_commands="$ac_config_commands depfiles" diff --git a/libgloss/configure.in b/libgloss/configure.in -index 6da1643..0375cab 100644 +index 6da164352..0375cabbc 100644 --- a/libgloss/configure.in +++ b/libgloss/configure.in @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. @@ -46,7 +46,7 @@ index 6da1643..0375cab 100644 AC_SUBST(AS) diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in new file mode 100644 -index 0000000..0d17fa9 +index 000000000..183f9acc7 --- /dev/null +++ b/libgloss/libsysbase/Makefile.in @@ -0,0 +1,148 @@ @@ -122,7 +122,7 @@ index 0000000..0d17fa9 + unlink.o wait.o write.o _exit.o malloc_vars.o \ + chdir.o mkdir.o rename.o build_argv.o statvfs.o \ + flock.o syscall_support.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ -+ fchmod.o chmod.o rmdir.o utime.o ++ fchmod.o chmod.o rmdir.o utime.o scandir.o + +# Object files specific to particular targets. +EVALOBJS = ${OBJS} @@ -200,7 +200,7 @@ index 0000000..0d17fa9 + $(SHELL) config.status --recheck diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c new file mode 100644 -index 0000000..e5cb5a9 +index 000000000..e5cb5a9ed --- /dev/null +++ b/libgloss/libsysbase/_exit.c @@ -0,0 +1,17 @@ @@ -223,7 +223,7 @@ index 0000000..e5cb5a9 +} diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c new file mode 100644 -index 0000000..9272e22 +index 000000000..9272e22c9 --- /dev/null +++ b/libgloss/libsysbase/abort.c @@ -0,0 +1,8 @@ @@ -237,7 +237,7 @@ index 0000000..9272e22 + diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h new file mode 100644 -index 0000000..200ea78 +index 000000000..200ea7873 --- /dev/null +++ b/libgloss/libsysbase/acconfig.h @@ -0,0 +1,29 @@ @@ -272,7 +272,7 @@ index 0000000..200ea78 +#undef __SYMBOL_PREFIX diff --git a/libgloss/libsysbase/aclocal.m4 b/libgloss/libsysbase/aclocal.m4 new file mode 100644 -index 0000000..b6cdfae +index 000000000..b6cdfaeb8 --- /dev/null +++ b/libgloss/libsysbase/aclocal.m4 @@ -0,0 +1,344 @@ @@ -622,7 +622,7 @@ index 0000000..b6cdfae +m4_include([../acinclude.m4]) diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c new file mode 100644 -index 0000000..3ca95d5 +index 000000000..3ca95d5b6 --- /dev/null +++ b/libgloss/libsysbase/build_argv.c @@ -0,0 +1,31 @@ @@ -659,7 +659,7 @@ index 0000000..3ca95d5 +} diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c new file mode 100644 -index 0000000..90d2dc5 +index 000000000..90d2dc5b7 --- /dev/null +++ b/libgloss/libsysbase/chdir.c @@ -0,0 +1,201 @@ @@ -866,7 +866,7 @@ index 0000000..90d2dc5 +} diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c new file mode 100644 -index 0000000..3668b58 +index 000000000..3668b5801 --- /dev/null +++ b/libgloss/libsysbase/chmod.c @@ -0,0 +1,30 @@ @@ -902,7 +902,7 @@ index 0000000..3668b58 + diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c new file mode 100644 -index 0000000..01cfee4 +index 000000000..01cfee469 --- /dev/null +++ b/libgloss/libsysbase/clocks.c @@ -0,0 +1,34 @@ @@ -942,7 +942,7 @@ index 0000000..01cfee4 + diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c new file mode 100644 -index 0000000..88dc919 +index 000000000..88dc9195c --- /dev/null +++ b/libgloss/libsysbase/close.c @@ -0,0 +1,46 @@ @@ -994,7 +994,7 @@ index 0000000..88dc919 +} diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in new file mode 100644 -index 0000000..48ce950 +index 000000000..48ce950b4 --- /dev/null +++ b/libgloss/libsysbase/config.h.in @@ -0,0 +1,25 @@ @@ -1025,7 +1025,7 @@ index 0000000..48ce950 +#undef __SYMBOL_PREFIX diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure new file mode 100644 -index 0000000..874eec1 +index 000000000..874eec1e2 --- /dev/null +++ b/libgloss/libsysbase/configure @@ -0,0 +1,4158 @@ @@ -5189,7 +5189,7 @@ index 0000000..874eec1 + diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in new file mode 100644 -index 0000000..f3b8380 +index 000000000..f3b838072 --- /dev/null +++ b/libgloss/libsysbase/configure.in @@ -0,0 +1,199 @@ @@ -5394,7 +5394,7 @@ index 0000000..f3b8380 + diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c new file mode 100644 -index 0000000..0ad2902 +index 000000000..0ad29029c --- /dev/null +++ b/libgloss/libsysbase/dirent.c @@ -0,0 +1,255 @@ @@ -5655,7 +5655,7 @@ index 0000000..0ad2902 +} diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c new file mode 100644 -index 0000000..1c485b2 +index 000000000..1c485b26f --- /dev/null +++ b/libgloss/libsysbase/environ.c @@ -0,0 +1,6 @@ @@ -5667,7 +5667,7 @@ index 0000000..1c485b2 +char **environ = __env; diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c new file mode 100644 -index 0000000..59fecdd +index 000000000..59fecdd44 --- /dev/null +++ b/libgloss/libsysbase/execve.c @@ -0,0 +1,23 @@ @@ -5696,7 +5696,7 @@ index 0000000..59fecdd + diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c new file mode 100644 -index 0000000..5c5831c +index 000000000..5c5831cdf --- /dev/null +++ b/libgloss/libsysbase/fchmod.c @@ -0,0 +1,31 @@ @@ -5733,7 +5733,7 @@ index 0000000..5c5831c +} diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c new file mode 100644 -index 0000000..c6b8c92 +index 000000000..c6b8c92ad --- /dev/null +++ b/libgloss/libsysbase/flock.c @@ -0,0 +1,21 @@ @@ -5760,7 +5760,7 @@ index 0000000..c6b8c92 +} diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c new file mode 100644 -index 0000000..a0ce1ab +index 000000000..a0ce1abf4 --- /dev/null +++ b/libgloss/libsysbase/fork.c @@ -0,0 +1,21 @@ @@ -5787,7 +5787,7 @@ index 0000000..a0ce1ab +} diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c new file mode 100644 -index 0000000..788a303 +index 000000000..788a303dc --- /dev/null +++ b/libgloss/libsysbase/fstat.c @@ -0,0 +1,39 @@ @@ -5832,7 +5832,7 @@ index 0000000..788a303 +} diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c new file mode 100644 -index 0000000..eaabef9 +index 000000000..eaabef98e --- /dev/null +++ b/libgloss/libsysbase/fsync.c @@ -0,0 +1,34 @@ @@ -5872,7 +5872,7 @@ index 0000000..eaabef9 +} diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c new file mode 100644 -index 0000000..3f1d920 +index 000000000..3f1d92044 --- /dev/null +++ b/libgloss/libsysbase/ftruncate.c @@ -0,0 +1,34 @@ @@ -5912,7 +5912,7 @@ index 0000000..3f1d920 +} diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c new file mode 100644 -index 0000000..ec3b840 +index 000000000..ec3b84037 --- /dev/null +++ b/libgloss/libsysbase/getpid.c @@ -0,0 +1,19 @@ @@ -5937,7 +5937,7 @@ index 0000000..ec3b840 + diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c new file mode 100644 -index 0000000..11dc528 +index 000000000..11dc528fa --- /dev/null +++ b/libgloss/libsysbase/gettod.c @@ -0,0 +1,26 @@ @@ -5969,7 +5969,7 @@ index 0000000..11dc528 + diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c new file mode 100644 -index 0000000..f3fcc88 +index 000000000..f3fcc88f7 --- /dev/null +++ b/libgloss/libsysbase/handle_manager.c @@ -0,0 +1,173 @@ @@ -6148,7 +6148,7 @@ index 0000000..f3fcc88 +} diff --git a/libgloss/libsysbase/handle_manager.h b/libgloss/libsysbase/handle_manager.h new file mode 100644 -index 0000000..625cb22 +index 000000000..625cb22d9 --- /dev/null +++ b/libgloss/libsysbase/handle_manager.h @@ -0,0 +1,10 @@ @@ -6164,7 +6164,7 @@ index 0000000..625cb22 +#endif diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c new file mode 100644 -index 0000000..948c6ef +index 000000000..948c6ef93 --- /dev/null +++ b/libgloss/libsysbase/iosupport.c @@ -0,0 +1,140 @@ @@ -6310,7 +6310,7 @@ index 0000000..948c6ef + diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c new file mode 100644 -index 0000000..280a457 +index 000000000..280a4579a --- /dev/null +++ b/libgloss/libsysbase/isatty.c @@ -0,0 +1,17 @@ @@ -6333,7 +6333,7 @@ index 0000000..280a457 +} diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c new file mode 100644 -index 0000000..d13a321 +index 000000000..d13a32155 --- /dev/null +++ b/libgloss/libsysbase/kill.c @@ -0,0 +1,18 @@ @@ -6357,7 +6357,7 @@ index 0000000..d13a321 +} diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c new file mode 100644 -index 0000000..eeeab1a +index 000000000..eeeab1a7b --- /dev/null +++ b/libgloss/libsysbase/link.c @@ -0,0 +1,33 @@ @@ -6396,7 +6396,7 @@ index 0000000..eeeab1a + diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c new file mode 100644 -index 0000000..eb232c8 +index 000000000..eb232c86b --- /dev/null +++ b/libgloss/libsysbase/lseek.c @@ -0,0 +1,45 @@ @@ -6447,7 +6447,7 @@ index 0000000..eb232c8 +} diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c new file mode 100644 -index 0000000..fc39343 +index 000000000..fc393430b --- /dev/null +++ b/libgloss/libsysbase/lstat.c @@ -0,0 +1,31 @@ @@ -6484,7 +6484,7 @@ index 0000000..fc39343 + diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c new file mode 100644 -index 0000000..4565909 +index 000000000..456590956 --- /dev/null +++ b/libgloss/libsysbase/malloc_vars.c @@ -0,0 +1,2 @@ @@ -6492,7 +6492,7 @@ index 0000000..4565909 +char *fake_heap_start = (char*)0; diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c new file mode 100644 -index 0000000..b4fcbd3 +index 000000000..b4fcbd3d7 --- /dev/null +++ b/libgloss/libsysbase/mkdir.c @@ -0,0 +1,19 @@ @@ -6517,7 +6517,7 @@ index 0000000..b4fcbd3 +} diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c new file mode 100644 -index 0000000..3c96fc6 +index 000000000..3c96fc61b --- /dev/null +++ b/libgloss/libsysbase/nanosleep.c @@ -0,0 +1,14 @@ @@ -6537,7 +6537,7 @@ index 0000000..3c96fc6 +} diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c new file mode 100644 -index 0000000..877f907 +index 000000000..877f907e1 --- /dev/null +++ b/libgloss/libsysbase/open.c @@ -0,0 +1,53 @@ @@ -6596,7 +6596,7 @@ index 0000000..877f907 +} diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c new file mode 100644 -index 0000000..ac80d56 +index 000000000..ac80d5698 --- /dev/null +++ b/libgloss/libsysbase/read.c @@ -0,0 +1,39 @@ @@ -6641,7 +6641,7 @@ index 0000000..ac80d56 + diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c new file mode 100644 -index 0000000..1d7b7e8 +index 000000000..1d7b7e8e7 --- /dev/null +++ b/libgloss/libsysbase/rename.c @@ -0,0 +1,32 @@ @@ -6679,7 +6679,7 @@ index 0000000..1d7b7e8 +} diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c new file mode 100644 -index 0000000..2692a29 +index 000000000..2692a2997 --- /dev/null +++ b/libgloss/libsysbase/rmdir.c @@ -0,0 +1,25 @@ @@ -6710,7 +6710,7 @@ index 0000000..2692a29 +} diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c new file mode 100644 -index 0000000..e2bdb9e +index 000000000..e2bdb9edc --- /dev/null +++ b/libgloss/libsysbase/sbrk.c @@ -0,0 +1,26 @@ @@ -6741,9 +6741,90 @@ index 0000000..e2bdb9e + +} \ No newline at end of file +diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c +new file mode 100644 +index 000000000..bc18c1781 +--- /dev/null ++++ b/libgloss/libsysbase/scandir.c +@@ -0,0 +1,75 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* ++ * The DIRSIZ macro gives the minimum record length which will hold ++ * the directory entry. This requires the amount of space in struct dirent ++ * without the d_name field, plus enough space for the name with a terminating ++ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. ++ */ ++#undef DIRSIZ ++#ifdef _DIRENT_HAVE_D_NAMLEN ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + (((dp)->d_namlen+1 + 3) &~ 3)) ++#else ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + ((strlen((dp)->d_name)+1 + 3) &~ 3)) ++#endif ++ ++int ++scandir (const char *dirname, ++ struct dirent ***namelist, ++ int (*filter) __P((const struct dirent *)), ++ int (*compar) __P((const struct dirent **, const struct dirent **))) ++{ ++ DIR *d = opendir(dirname); ++ ++ if (!d) return -1; ++ ++ struct dirent *de, **names = NULL, **tmp; ++ size_t cnt = 0, len = 0; ++ ++ while (de = readdir(d)) { ++ if (filter && ! filter(de)) continue; ++ if (cnt >= len) { ++ len = 2*len+1; ++ if (len > SIZE_MAX/sizeof(*names)) break; ++ tmp = realloc(names, len * sizeof(*names)); ++ if (!tmp) break; ++ names = tmp; ++ } ++ names[cnt] = malloc(DIRSIZ(de)); ++ if (!names[cnt]) break; ++ memcpy(names[cnt++], de, DIRSIZ(de)); ++ } ++ ++ closedir(d); ++ ++ if(errno) { ++ if (names) while(cnt-- > 0) free(names[cnt]); ++ free(names); ++ return -1; ++ } ++ ++ if (compar) qsort(names, cnt, sizeof(*names), (int (*)(const void *, const void *))compar); ++ ++ *namelist = names; ++ return cnt; ++} ++ ++/* ++ * Alphabetic order comparison routine for those who want it. ++ */ ++int ++alphasort (const struct dirent **d1, ++ const struct dirent **d2) ++{ ++ return(strcmp((*d1)->d_name, (*d2)->d_name)); ++} ++ diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c new file mode 100644 -index 0000000..f3aa979 +index 000000000..f3aa97954 --- /dev/null +++ b/libgloss/libsysbase/sleep.c @@ -0,0 +1,18 @@ @@ -6767,7 +6848,7 @@ index 0000000..f3aa979 +} diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c new file mode 100644 -index 0000000..4c2e541 +index 000000000..4c2e5414e --- /dev/null +++ b/libgloss/libsysbase/stat.c @@ -0,0 +1,37 @@ @@ -6810,7 +6891,7 @@ index 0000000..4c2e541 + diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c new file mode 100644 -index 0000000..84e2213 +index 000000000..84e221340 --- /dev/null +++ b/libgloss/libsysbase/statvfs.c @@ -0,0 +1,24 @@ @@ -6840,7 +6921,7 @@ index 0000000..84e2213 +} diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c new file mode 100644 -index 0000000..f027147 +index 000000000..f02714764 --- /dev/null +++ b/libgloss/libsysbase/syscall_support.c @@ -0,0 +1,67 @@ @@ -6913,7 +6994,7 @@ index 0000000..f027147 +} diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c new file mode 100644 -index 0000000..79484e7 +index 000000000..79484e7f4 --- /dev/null +++ b/libgloss/libsysbase/times.c @@ -0,0 +1,17 @@ @@ -6936,7 +7017,7 @@ index 0000000..79484e7 + diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c new file mode 100644 -index 0000000..7935c82 +index 000000000..7935c8200 --- /dev/null +++ b/libgloss/libsysbase/truncate.c @@ -0,0 +1,55 @@ @@ -6997,7 +7078,7 @@ index 0000000..7935c82 +} diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c new file mode 100644 -index 0000000..55932bc +index 000000000..55932bc25 --- /dev/null +++ b/libgloss/libsysbase/unlink.c @@ -0,0 +1,34 @@ @@ -7037,7 +7118,7 @@ index 0000000..55932bc + diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c new file mode 100644 -index 0000000..b547147 +index 000000000..b54714775 --- /dev/null +++ b/libgloss/libsysbase/usleep.c @@ -0,0 +1,18 @@ @@ -7061,7 +7142,7 @@ index 0000000..b547147 +} diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c new file mode 100644 -index 0000000..f72bf9f +index 000000000..f72bf9fc6 --- /dev/null +++ b/libgloss/libsysbase/utime.c @@ -0,0 +1,45 @@ @@ -7112,7 +7193,7 @@ index 0000000..f72bf9f +} diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c new file mode 100644 -index 0000000..b65f903 +index 000000000..b65f9039c --- /dev/null +++ b/libgloss/libsysbase/wait.c @@ -0,0 +1,23 @@ @@ -7141,7 +7222,7 @@ index 0000000..b65f903 + diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h new file mode 100644 -index 0000000..2c29982 +index 000000000..2c2998250 --- /dev/null +++ b/libgloss/libsysbase/warning.h @@ -0,0 +1,43 @@ @@ -7190,7 +7271,7 @@ index 0000000..2c29982 +#endif /* __WARNING_H__ */ diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c new file mode 100644 -index 0000000..0e6aa41 +index 000000000..0e6aa41ab --- /dev/null +++ b/libgloss/libsysbase/write.c @@ -0,0 +1,38 @@ @@ -7233,7 +7314,7 @@ index 0000000..0e6aa41 + return ret; +} diff --git a/libgloss/rs6000/Makefile.in b/libgloss/rs6000/Makefile.in -index 51714e5..db82941 100644 +index 51714e59b..db8294105 100644 --- a/libgloss/rs6000/Makefile.in +++ b/libgloss/rs6000/Makefile.in @@ -129,6 +129,9 @@ XIL_OBJS = open.o close.o lseek.o sbrk.o read.o write.o print.o @@ -7285,7 +7366,7 @@ index 51714e5..db82941 100644 install-info: diff --git a/libgloss/rs6000/crtmain.c b/libgloss/rs6000/crtmain.c new file mode 100644 -index 0000000..bd25d77 +index 000000000..bd25d775d --- /dev/null +++ b/libgloss/rs6000/crtmain.c @@ -0,0 +1,18 @@ @@ -7308,7 +7389,7 @@ index 0000000..bd25d77 + exit ( main(__system_argv->argc,__system_argv->argv) ); +} diff --git a/newlib/configure.host b/newlib/configure.host -index eb64586..b9a0064 100644 +index eb645868b..b9a006453 100644 --- a/newlib/configure.host +++ b/newlib/configure.host @@ -797,7 +797,12 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID @@ -7326,10 +7407,10 @@ index eb64586..b9a0064 100644 powerpc*-*-linux* | \ powerpc*-*-rtem* | \ diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c0..478d1b4 100644 +index a3fb5c02c..8ddd10867 100644 --- a/newlib/libc/include/sys/dirent.h +++ b/newlib/libc/include/sys/dirent.h -@@ -4,10 +4,51 @@ +@@ -4,10 +4,57 @@ not support , we will get this file which uses #error to force an error. */ @@ -7356,19 +7437,19 @@ index a3fb5c0..478d1b4 100644 extern "C" { #endif -#error " not supported" -+ ++ + struct dirent { + ino_t d_ino; + unsigned char d_type; + char d_name[NAME_MAX+1]; + }; -+ ++ + typedef struct { + long int position; + DIR_ITER* dirData; + struct dirent fileData; + } DIR; -+ ++ + int closedir(DIR *dirp); + DIR *opendir(const char *dirname); + struct dirent *readdir(DIR *dirp); @@ -7376,15 +7457,20 @@ index a3fb5c0..478d1b4 100644 + void rewinddir(DIR *dirp); + void seekdir(DIR *dirp, long int loc); + long int telldir(DIR *dirp); -+ ++ ++ int scandir(const char *dirp, struct dirent ***namelist, ++ int (*filter)(const struct dirent *), ++ int (*compar)(const struct dirent **, const struct dirent **)); ++ ++ int alphasort(const struct dirent **a, const struct dirent **b); ++ #ifdef __cplusplus } #endif + +#endif // _dirent_h_ -\ No newline at end of file diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 2900b33..6efb54e 100644 +index 2900b332f..6efb54eb3 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h @@ -330,6 +330,9 @@ extern "C" { @@ -7399,7 +7485,7 @@ index 2900b33..6efb54e 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 0000000..649fc26 +index 000000000..649fc2630 --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h @@ -0,0 +1,108 @@ @@ -7512,7 +7598,7 @@ index 0000000..649fc26 +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 1ef2261..ce3721a 100644 +index 1ef226194..ce3721a14 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -416,6 +416,8 @@ struct _reent @@ -7533,7 +7619,7 @@ index 1ef2261..ce3721a 100644 #ifdef _REENT_GLOBAL_STDIO_STREAMS diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index eee98db..aed9c17 100644 +index eee98db64..aed9c1746 100644 --- a/newlib/libc/include/sys/stat.h +++ b/newlib/libc/include/sys/stat.h @@ -152,8 +152,9 @@ int mkfifo (const char *__path, mode_t __mode ); @@ -7549,7 +7635,7 @@ index eee98db..aed9c17 100644 diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h new file mode 100644 -index 0000000..380329d +index 000000000..380329d34 --- /dev/null +++ b/newlib/libc/include/sys/statvfs.h @@ -0,0 +1,35 @@ @@ -7590,7 +7676,7 @@ index 0000000..380329d +#endif // _SYS_STATVFS_H \ No newline at end of file diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h -index ba9dbd6..93ed11a 100644 +index ba9dbd667..93ed11a42 100644 --- a/newlib/libc/include/sys/syslimits.h +++ b/newlib/libc/include/sys/syslimits.h @@ -44,12 +44,12 @@ @@ -7609,7 +7695,7 @@ index ba9dbd6..93ed11a 100644 #define IOV_MAX 1024 /* max elements in i/o vector */ diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h -index 5e937f1..635a7a6 100644 +index 5e937f103..635a7a6b8 100644 --- a/newlib/libc/include/sys/utime.h +++ b/newlib/libc/include/sys/utime.h @@ -9,12 +9,19 @@ @@ -7635,7 +7721,7 @@ index 5e937f1..635a7a6 100644 }; #endif diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index baa5451..236746f 100644 +index baa5451a6..236746f54 100644 --- a/newlib/libc/locale/locale.c +++ b/newlib/libc/locale/locale.c @@ -165,15 +165,18 @@ No supporting OS subroutines are required. @@ -7738,7 +7824,7 @@ index baa5451..236746f 100644 return __get_current_locale ()->ctype_ptr; } diff --git a/newlib/libc/machine/powerpc/Makefile.am b/newlib/libc/machine/powerpc/Makefile.am -index e86afdf..007bd15 100644 +index e86afdf1c..007bd1567 100644 --- a/newlib/libc/machine/powerpc/Makefile.am +++ b/newlib/libc/machine/powerpc/Makefile.am @@ -10,7 +10,7 @@ noinst_LIBRARIES = lib.a @@ -7751,7 +7837,7 @@ index e86afdf..007bd15 100644 lib_a_CFLAGS=$(AM_CFLAGS) lib_a_LIBADD = @extra_objs@ diff --git a/newlib/libc/machine/powerpc/Makefile.in b/newlib/libc/machine/powerpc/Makefile.in -index 73b0cc4..12044cb 100644 +index 73b0cc471..12044cb8a 100644 --- a/newlib/libc/machine/powerpc/Makefile.in +++ b/newlib/libc/machine/powerpc/Makefile.in @@ -68,7 +68,7 @@ CONFIG_CLEAN_VPATH_FILES = @@ -7787,7 +7873,7 @@ index 73b0cc4..12044cb 100644 diff --git a/newlib/libc/machine/powerpc/access.c b/newlib/libc/machine/powerpc/access.c new file mode 100644 -index 0000000..980682e +index 000000000..980682ef3 --- /dev/null +++ b/newlib/libc/machine/powerpc/access.c @@ -0,0 +1,33 @@ @@ -7826,7 +7912,7 @@ index 0000000..980682e + diff --git a/newlib/libc/machine/powerpc/machine/_types.h b/newlib/libc/machine/powerpc/machine/_types.h new file mode 100644 -index 0000000..a7d63da +index 000000000..a7d63da51 --- /dev/null +++ b/newlib/libc/machine/powerpc/machine/_types.h @@ -0,0 +1,19 @@ @@ -7851,7 +7937,7 @@ index 0000000..a7d63da +#endif // _MACHINE__TYPES_H diff --git a/newlib/libc/machine/powerpc/sys/lock.h b/newlib/libc/machine/powerpc/sys/lock.h new file mode 100644 -index 0000000..d83fda5 +index 000000000..d83fda504 --- /dev/null +++ b/newlib/libc/machine/powerpc/sys/lock.h @@ -0,0 +1,51 @@ @@ -7908,7 +7994,7 @@ index 0000000..d83fda5 +#endif /* __SYS_LOCK_H__ */ diff --git a/newlib/libc/machine/powerpc/sys/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h new file mode 100644 -index 0000000..04ebd1e +index 000000000..04ebd1ee0 --- /dev/null +++ b/newlib/libc/machine/powerpc/sys/stdio.h @@ -0,0 +1,25 @@ @@ -7938,7 +8024,7 @@ index 0000000..04ebd1e +#endif /* _NEWLIB_STDIO_H */ + diff --git a/newlib/libc/misc/init.c b/newlib/libc/misc/init.c -index c85d602..1beb783 100644 +index c85d6020f..1beb783b8 100644 --- a/newlib/libc/misc/init.c +++ b/newlib/libc/misc/init.c @@ -40,4 +40,8 @@ __libc_init_array (void) @@ -7951,7 +8037,7 @@ index c85d602..1beb783 100644 + #endif diff --git a/newlib/libc/stdio/Makefile.in b/newlib/libc/stdio/Makefile.in -index aa22a0e..93e672b 100644 +index aa22a0e3a..93e672b6a 100644 --- a/newlib/libc/stdio/Makefile.in +++ b/newlib/libc/stdio/Makefile.in @@ -507,6 +507,7 @@ GENERAL_SOURCES = \ @@ -7976,7 +8062,7 @@ index aa22a0e..93e672b 100644 $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-scanf.o `test -f 'scanf.c' || echo '$(srcdir)/'`scanf.c diff --git a/newlib/libc/stdio/fopen.c b/newlib/libc/stdio/fopen.c -index 022992b..bdf4c7b 100644 +index 022992b8d..bdf4c7bb0 100644 --- a/newlib/libc/stdio/fopen.c +++ b/newlib/libc/stdio/fopen.c @@ -139,6 +139,9 @@ _fopen_r (struct _reent *ptr, @@ -7990,7 +8076,7 @@ index 022992b..bdf4c7b 100644 fp->_flags = flags; fp->_cookie = (void *) fp; diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index b358d2b..9cab218 100644 +index b358d2b4a..9cab2180e 100644 --- a/newlib/libc/stdio/fread.c +++ b/newlib/libc/stdio/fread.c @@ -225,7 +225,31 @@ _fread_r (struct _reent * ptr, @@ -8026,8 +8112,40 @@ index b358d2b..9cab218 100644 { /* no more input: return partial result */ #ifdef __SCLE +diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c +index 88413ce86..24029a6f7 100644 +--- a/newlib/libc/stdlib/aligned_alloc.c ++++ b/newlib/libc/stdlib/aligned_alloc.c +@@ -1,5 +1,5 @@ + /*- +- * Copyright (c) 2015 embedded brains GmbH ++ * Copyright (c) 2018 Dave Murphy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without +@@ -25,14 +25,15 @@ + */ + + #include ++#include ++#include + + void * + aligned_alloc(size_t alignment, size_t size) + { +- void *p; +- int error; ++ if ((alignment !=0) && !(alignment & (alignment - 1 )) && !(size & (alignment - 1))) ++ return memalign(alignment,size); + +- error = posix_memalign(&p, alignment, size); +- +- return (error == 0 ? p : NULL); ++ errno = EINVAL; ++ return (void*)NULL; + } diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c -index 920a7ea..ba5ee76 100644 +index 920a7ea3c..ba5ee7652 100644 --- a/newlib/libc/stdlib/mbtowc_r.c +++ b/newlib/libc/stdlib/mbtowc_r.c @@ -7,6 +7,7 @@ @@ -8039,7 +8157,7 @@ index 920a7ea..ba5ee76 100644 _mbtowc_r (struct _reent *r, wchar_t *__restrict pwc, diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c -index 23aa101..6016aa3 100644 +index 23aa10173..6016aa3ee 100644 --- a/newlib/libc/stdlib/mlock.c +++ b/newlib/libc/stdlib/mlock.c @@ -28,7 +28,7 @@ the sequence of calls may go <<__malloc_lock>>, <<__malloc_lock>>, From b6ac481ccbbaa98322d473bdd18f91598367a547 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 13 Jun 2018 18:45:55 +0100 Subject: [PATCH 031/280] enable objc --- dka64/scripts/build-gcc.sh | 2 +- dkarm-eabi/scripts/build-gcc.sh | 2 +- dkppc/scripts/build-gcc.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 220bdeb..b5f8148 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -46,7 +46,7 @@ then CXXFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ LDFLAGS_FOR_TARGET="" \ ../../gcc-$GCC_VER/configure \ - --enable-languages=c,c++,lto \ + --enable-languages=c,c++,objc,lto \ --with-gnu-as --with-gnu-ld --with-gcc \ --with-march=armv8\ --enable-cxx-flags='-ffunction-sections' \ diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index f25781a..804e791 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -46,7 +46,7 @@ then CXXFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ LDFLAGS_FOR_TARGET="" \ ../../gcc-$GCC_VER/configure \ - --enable-languages=c,c++,lto \ + --enable-languages=c,c++,objc,lto \ --with-gnu-as --with-gnu-ld --with-gcc \ --with-march=armv4t\ --enable-cxx-flags='-ffunction-sections' \ diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index c5b5dc8..d99dd18 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -82,7 +82,7 @@ then CXXFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ LDFLAGS_FOR_TARGET="" \ ../../gcc-$GCC_VER/configure \ - --enable-languages=c,c++ \ + --enable-languages=c,c++,objc,lto \ --enable-lto \ --with-cpu=750 \ --disable-nls --disable-shared --enable-threads=dkp --disable-multilib \ From bd9c326d2f58ed64bb11734c9a50c98cc81213b9 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 13 Jun 2018 18:46:11 +0100 Subject: [PATCH 032/280] building devkitPPC r31 --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 7667683..6b13993 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,7 +1,7 @@ #!/bin/bash #--------------------------------------------------------------------------------- # devkitARM release 49 -# devkitPPC release 30 +# devkitPPC release 31 # devkitA64 release 10 #--------------------------------------------------------------------------------- From 0778d4209c3b786c7f4ace827ffd3a105c23abeb Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 13 Jun 2018 19:24:53 +0100 Subject: [PATCH 033/280] disable git buildscripts --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 6b13993..4c01090 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -5,7 +5,7 @@ # devkitA64 release 10 #--------------------------------------------------------------------------------- -if [ 0 -eq 1 ] ; then +if [ 1 -eq 1 ] ; then echo "Please use the latest release buildscripts unless advised otherwise by devkitPro staff." echo "https://github.com/devkitPro/buildscripts/releases/latest" echo From df5a8f947a9a151c059e544fa8c6e67748efe68e Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 3 Jul 2018 09:37:08 +0100 Subject: [PATCH 034/280] updates for devkitPPC r32 --- build-devkit.sh | 4 ++-- dkppc/patches/newlib-3.0.0.patch | 7 +++---- dkppc/scripts/build-gcc.sh | 6 +++--- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 4c01090..ecb1007 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,11 +1,11 @@ #!/bin/bash #--------------------------------------------------------------------------------- # devkitARM release 49 -# devkitPPC release 31 +# devkitPPC release 32 # devkitA64 release 10 #--------------------------------------------------------------------------------- -if [ 1 -eq 1 ] ; then +if [ 0 -eq 1 ] ; then echo "Please use the latest release buildscripts unless advised otherwise by devkitPro staff." echo "https://github.com/devkitPro/buildscripts/releases/latest" echo diff --git a/dkppc/patches/newlib-3.0.0.patch b/dkppc/patches/newlib-3.0.0.patch index 0e11ad0..c3ae6c8 100644 --- a/dkppc/patches/newlib-3.0.0.patch +++ b/dkppc/patches/newlib-3.0.0.patch @@ -7407,17 +7407,16 @@ index eb645868b..b9a006453 100644 powerpc*-*-linux* | \ powerpc*-*-rtem* | \ diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c02c..8ddd10867 100644 +index a3fb5c02c..b42f0b3b1 100644 --- a/newlib/libc/include/sys/dirent.h +++ b/newlib/libc/include/sys/dirent.h -@@ -4,10 +4,57 @@ +@@ -4,10 +4,56 @@ not support , we will get this file which uses #error to force an error. */ +#ifndef _dirent_h_ +#define _dirent_h_ + -+#include +#include +#include + @@ -7446,7 +7445,7 @@ index a3fb5c02c..8ddd10867 100644 + + typedef struct { + long int position; -+ DIR_ITER* dirData; ++ void* dirData; + struct dirent fileData; + } DIR; + diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index d99dd18..e1a9589 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -97,7 +97,7 @@ then --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix\ --with-system-zlib\ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 31" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 32" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ @@ -139,7 +139,6 @@ then --target=$target \ --prefix=$prefix \ --enable-newlib-mb \ - --enable-newlib-hw-fp \ || { echo "Error configuring newlib"; exit 1; } touch configured-newlib fi @@ -203,7 +202,8 @@ if [ ! -f configured-gdb ] then CFLAGS="$cflags" LDFLAGS="$ldflags" ../../gdb-$GDB_VER/configure \ --disable-nls --prefix=$prefix --target=$target --disable-werror \ - $CROSS_PARAMS || { echo "Error configuring gdb"; exit 1; } + $CROSS_PARAMS \ + $CROSS_GCC_PARAMS || { echo "Error configuring gdb"; exit 1; } touch configured-gdb fi From 9f518e2f8d78ce1879d1d17e7ae55a3d11f3f11a Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 3 Jul 2018 10:52:02 +0100 Subject: [PATCH 035/280] disable git scripts --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index ecb1007..46c32eb 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -5,7 +5,7 @@ # devkitA64 release 10 #--------------------------------------------------------------------------------- -if [ 0 -eq 1 ] ; then +if [ 1 -eq 1 ] ; then echo "Please use the latest release buildscripts unless advised otherwise by devkitPro staff." echo "https://github.com/devkitPro/buildscripts/releases/latest" echo From 893eeef9c59149149253ad81025de5deb97bbff5 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 15 Jul 2018 16:04:38 +0100 Subject: [PATCH 036/280] set prefix --- strip_toolchain.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/strip_toolchain.sh b/strip_toolchain.sh index 7190208..a880aa3 100755 --- a/strip_toolchain.sh +++ b/strip_toolchain.sh @@ -27,5 +27,5 @@ fi #--------------------------------------------------------------------------------- TOOLPATH=$(echo $INSTALLDIR | sed -e 's/^\([a-zA-Z]\):/\/\1/') export PATH=$PATH:$TOOLPATH/$package/bin - +export prefix=$INSTALLDIR/$CROSSBUILD/$package . ./strip_bins.sh From eed906eda589f8407ddd1e2044c236e8c06a26ad Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 15 Jul 2018 16:04:56 +0100 Subject: [PATCH 037/280] update newlib --- dka64/patches/newlib-3.0.0.patch | 85 ++++++++++++++++---------------- 1 file changed, 43 insertions(+), 42 deletions(-) diff --git a/dka64/patches/newlib-3.0.0.patch b/dka64/patches/newlib-3.0.0.patch index 4ec4cb2..68bdaa9 100644 --- a/dka64/patches/newlib-3.0.0.patch +++ b/dka64/patches/newlib-3.0.0.patch @@ -609,10 +609,10 @@ index 000000000..b6cdfaeb8 +m4_include([../acinclude.m4]) diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c new file mode 100644 -index 000000000..90d2dc5b7 +index 000000000..b94f6a8b4 --- /dev/null +++ b/libgloss/libsysbase/chdir.c -@@ -0,0 +1,201 @@ +@@ -0,0 +1,200 @@ +#include +#include +#include @@ -712,11 +712,10 @@ index 000000000..90d2dc5b7 + extra += extraSize; + } while (extraSize != 0); + -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd[1] = 0; -+ pathEnd += 1; -+ } ++ if (strlen(path) > 2 ) { ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') ++ pathEnd[-1] = '\0'; ++ } + + return 0; +} @@ -5349,10 +5348,10 @@ index 000000000..da85a3f46 + diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c new file mode 100644 -index 000000000..0ad29029c +index 000000000..7d1f4545d --- /dev/null +++ b/libgloss/libsysbase/dirent.c -@@ -0,0 +1,255 @@ +@@ -0,0 +1,256 @@ +#include +#include +#include @@ -5562,6 +5561,7 @@ index 000000000..0ad29029c + + strncpy (entry->d_name, filename, sizeof(entry->d_name)); + entry->d_ino = st.st_ino; ++ entry->d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; + + *result = entry; + return 0; @@ -7416,10 +7416,10 @@ index 2082dfdb1..e535f189b 100644 #define MALLOC_ALIGNMENT 16 #endif diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c02c..5debd1525 100644 +index a3fb5c02c..79df5cf61 100644 --- a/newlib/libc/include/sys/dirent.h +++ b/newlib/libc/include/sys/dirent.h -@@ -1,13 +1,58 @@ +@@ -1,13 +1,65 @@ /* includes , which is this file. On a system which supports , this file is overridden by dirent.h in the libc/sys/.../sys directory. On a system which does @@ -7431,7 +7431,6 @@ index a3fb5c02c..5debd1525 100644 +#ifndef _dirent_h_ +#define _dirent_h_ + -+#include +#include +#include + @@ -7444,37 +7443,45 @@ index a3fb5c02c..5debd1525 100644 +#define DT_LNK 10 +#define DT_SOCK 12 +#define DT_WHT 14 ++ ++#define _DIRENT_HAVE_D_TYPE #ifdef __cplusplus extern "C" { #endif -#error " not supported" + -+ struct dirent { -+ ino_t d_ino; -+ unsigned char d_type; -+ char d_name[NAME_MAX+1]; -+ }; ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; + -+ typedef struct { -+ long int position; -+ DIR_ITER* dirData; -+ struct dirent fileData; -+ } DIR; ++/* Directory iterator for mantaining state between dir* calls */ ++typedef struct { ++ int device; ++ void *dirStruct; ++} DIR_ITER; ++ ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; + -+ int closedir(DIR *dirp); -+ DIR *opendir(const char *dirname); -+ struct dirent *readdir(DIR *dirp); -+ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -+ void rewinddir(DIR *dirp); -+ void seekdir(DIR *dirp, long int loc); -+ long int telldir(DIR *dirp); ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); + -+ int scandir(const char *dirp, struct dirent ***namelist, -+ int (*filter)(const struct dirent *), -+ int (*compar)(const struct dirent **, const struct dirent **)); ++int scandir(const char *dirp, struct dirent ***namelist, ++ int (*filter)(const struct dirent *), ++ int (*compar)(const struct dirent **, const struct dirent **)); + -+ int alphasort(const struct dirent **a, const struct dirent **b); ++int alphasort(const struct dirent **a, const struct dirent **b); + #ifdef __cplusplus } @@ -7497,10 +7504,10 @@ index 2900b332f..6efb54eb3 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..ee14d2610 +index 000000000..e177ccf8e --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,112 @@ +@@ -0,0 +1,106 @@ +//--------------------------------------------------------------------------------- +#ifndef __iosupp_h__ +#define __iosupp_h__ @@ -7514,6 +7521,7 @@ index 000000000..ee14d2610 +#include +#include +#include ++#include + +enum { + STD_IN, @@ -7522,19 +7530,12 @@ index 000000000..ee14d2610 + STD_MAX = 16 +}; + -+ +typedef struct { + unsigned int device; + unsigned int refcount; + void *fileStruct; +} __handle; + -+/* Directory iterator for mantaining state between dir* calls */ -+typedef struct { -+ int device; -+ void *dirStruct; -+} DIR_ITER; -+ +typedef struct { + const char *name; + size_t structSize; From e0aebb7afbe216341220ca027399a9520fd1dde4 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 15 Jul 2018 16:56:12 +0100 Subject: [PATCH 038/280] devkitA64 r11 updates --- build-devkit.sh | 8 ++++---- dka64/scripts/build-gcc.sh | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 46c32eb..9c46917 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,10 +2,10 @@ #--------------------------------------------------------------------------------- # devkitARM release 49 # devkitPPC release 32 -# devkitA64 release 10 +# devkitA64 release 11 #--------------------------------------------------------------------------------- -if [ 1 -eq 1 ] ; then +if [ 0 -eq 1 ] ; then echo "Please use the latest release buildscripts unless advised otherwise by devkitPro staff." echo "https://github.com/devkitPro/buildscripts/releases/latest" echo @@ -57,8 +57,8 @@ TEX3DS_VER=1.0.0 GP32_TOOLS_VER=1.0.3 LIBMIRKO_VER=0.9.8 -SWITCH_TOOLS_VER=1.4.0 -LIBNX_VER=1.2.1 +SWITCH_TOOLS_VER=1.4.1 +LIBNX_VER=1.3.0 OSXMIN=${OSXMIN:-10.9} diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index b5f8148..30a66a9 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -64,7 +64,7 @@ then --prefix=$prefix \ --enable-lto $plugin_ld\ --with-system-zlib \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 10" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 11" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } From c84da440c488f32a300bec6a3c1f3d9d4e7c5a21 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 28 Jul 2018 15:54:40 +0100 Subject: [PATCH 039/280] update devkitA64 binutils --- build-devkit.sh | 4 +- dka64/patches/binutils-2.31.1.patch | 346 ++++++++++++++++++++++++++++ select_toolchain.sh | 2 +- 3 files changed, 349 insertions(+), 3 deletions(-) create mode 100644 dka64/patches/binutils-2.31.1.patch diff --git a/build-devkit.sh b/build-devkit.sh index 9c46917..b38f98b 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -206,7 +206,7 @@ fi patchdir=$(pwd)/$basedir/patches scriptdir=$(pwd)/$basedir/scripts -archives="binutils-${BINUTILS_VER}.tar.bz2 gcc-${GCC_VER}.tar.xz newlib-${NEWLIB_VER}.tar.gz gdb-${GDB_VER}.tar.xz" +archives="binutils-${BINUTILS_VER}.tar.xz gcc-${GCC_VER}.tar.xz newlib-${NEWLIB_VER}.tar.gz gdb-${GDB_VER}.tar.xz" if [ $VERSION -eq 1 ]; then @@ -260,7 +260,7 @@ cd $BUILDSCRIPTDIR mkdir -p $BUILDDIR cd $BUILDDIR -extract_and_patch binutils $BINUTILS_VER bz2 +extract_and_patch binutils $BINUTILS_VER xz extract_and_patch gcc $GCC_VER xz extract_and_patch newlib $NEWLIB_VER gz extract_and_patch gdb $GDB_VER xz diff --git a/dka64/patches/binutils-2.31.1.patch b/dka64/patches/binutils-2.31.1.patch new file mode 100644 index 0000000..287bec5 --- /dev/null +++ b/dka64/patches/binutils-2.31.1.patch @@ -0,0 +1,346 @@ +diff -NBaur binutils-2.31.1/bfd/elfnn-aarch64.c binutils-2.31.1-dka64/bfd/elfnn-aarch64.c +--- binutils-2.31.1/bfd/elfnn-aarch64.c 2018-06-25 12:44:16.000000000 +0100 ++++ binutils-2.31.1-dka64/bfd/elfnn-aarch64.c 2018-07-27 18:11:15.757082269 +0100 +@@ -2342,6 +2342,12 @@ + aarch64_stub_erratum_843419_veneer, + }; + ++/* Is an undefined weak symbol resolved to 0 ? */ ++#define UNDEFINED_WEAK_RESOLVED_TO_ZERO(INFO, EH) \ ++ ((EH)->root.root.type == bfd_link_hash_undefweak \ ++ && bfd_link_executable (INFO) \ ++ && !(INFO)->dynamic_undefined_weak) ++ + struct elf_aarch64_stub_hash_entry + { + /* Base hash table entry structure. */ +@@ -6370,11 +6376,13 @@ + Elf_Internal_Sym *sym; + asection *sec; + struct elf_link_hash_entry *h; ++ struct elf_aarch64_link_hash_entry *eh; + bfd_vma relocation; + bfd_reloc_status_type r; + arelent bfd_reloc; + char sym_type; + bfd_boolean unresolved_reloc = FALSE; ++ bfd_boolean resolved_to_zero = FALSE; + char *error_message = NULL; + + r_symndx = ELFNN_R_SYM (rel->r_info); +@@ -6509,6 +6517,10 @@ + h, &unresolved_reloc, + save_addend, &addend, sym); + ++ eh = (struct elf_aarch64_link_hash_entry *) h; ++ resolved_to_zero = (eh != NULL ++ && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh)); ++ + switch (elfNN_aarch64_bfd_reloc_from_type (input_bfd, r_type)) + { + case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC: +@@ -6532,7 +6544,7 @@ + need_relocs = + (!bfd_link_executable (info) || indx != 0) && + (h == NULL +- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak); + + BFD_ASSERT (globals->root.srelgot != NULL); +@@ -6627,7 +6639,7 @@ + need_relocs = + (!bfd_link_executable (info) || indx != 0) && + (h == NULL +- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak); + + BFD_ASSERT (globals->root.srelgot != NULL); +@@ -6676,7 +6688,7 @@ + bfd_vma off = symbol_tlsdesc_got_offset (input_bfd, h, r_symndx); + + need_relocs = (h == NULL +- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak); + + BFD_ASSERT (globals->root.srelgot != NULL); +@@ -7019,6 +7031,26 @@ + return FALSE; + } + ++/* Remove undefined weak symbol from the dynamic symbol table if it ++ is resolved to 0. */ ++ ++extern bfd_boolean ++elfNN_aarch64_elf_fixup_symbol (struct bfd_link_info *, struct elf_link_hash_entry *); ++ ++bfd_boolean ++elfNN_aarch64_elf_fixup_symbol (struct bfd_link_info *info, ++ struct elf_link_hash_entry *h) ++{ ++ if (h->dynindx != -1 ++ && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, elf_aarch64_hash_entry (h))) ++ { ++ h->dynindx = -1; ++ _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr, ++ h->dynstr_index); ++ } ++ return TRUE; ++} ++ + /* Adjust a symbol defined by a dynamic object and referenced by a + regular object. The current definition is in some section of the + dynamic object, but we're not including those sections. We have to +@@ -8221,6 +8253,7 @@ + struct elf_aarch64_link_hash_table *htab; + struct elf_aarch64_link_hash_entry *eh; + struct elf_dyn_relocs *p; ++ bfd_boolean resolved_to_zero; + + /* An example of a bfd_link_hash_indirect symbol is versioned + symbol. For example: __gxx_personality_v0(bfd_link_hash_indirect) +@@ -8240,6 +8273,10 @@ + info = (struct bfd_link_info *) inf; + htab = elf_aarch64_hash_table (info); + ++ eh = (struct elf_aarch64_link_hash_entry *) h; ++ eh->tlsdesc_got_jump_table_offset = (bfd_vma) - 1; ++ resolved_to_zero = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh); ++ + /* Since STT_GNU_IFUNC symbol must go through PLT, we handle it + here if it is defined and referenced in a non-shared object. */ + if (h->type == STT_GNU_IFUNC +@@ -8249,7 +8286,7 @@ + { + /* Make sure this symbol is output as a dynamic symbol. + Undefined weak syms won't yet be marked as dynamic. */ +- if (h->dynindx == -1 && !h->forced_local ++ if (h->dynindx == -1 && !h->forced_local && !resolved_to_zero + && h->root.type == bfd_link_hash_undefweak) + { + if (!bfd_elf_link_record_dynamic_symbol (info, h)) +@@ -8283,6 +8320,11 @@ + of relaxing into these from the large model PLT entries. */ + s->size += PLT_SMALL_ENTRY_SIZE; + ++ /* There should be no PLT relocations against resolved undefined ++ weak symbols in the executable. */ ++ if (!resolved_to_zero) ++ { ++ + /* We also need to make an entry in the .got.plt section, which + will be placed in the .got section by the linker script. */ + htab->root.sgotplt->size += GOT_ENTRY_SIZE; +@@ -8305,6 +8347,7 @@ + + htab->root.srelplt->reloc_count++; + } ++ } + else + { + h->plt.offset = (bfd_vma) - 1; +@@ -8317,9 +8360,6 @@ + h->needs_plt = 0; + } + +- eh = (struct elf_aarch64_link_hash_entry *) h; +- eh->tlsdesc_got_jump_table_offset = (bfd_vma) - 1; +- + if (h->got.refcount > 0) + { + bfd_boolean dyn; +@@ -8331,7 +8371,7 @@ + + /* Make sure this symbol is output as a dynamic symbol. + Undefined weak syms won't yet be marked as dynamic. */ +- if (dyn && h->dynindx == -1 && !h->forced_local ++ if (dyn && h->dynindx == -1 && !h->forced_local && !resolved_to_zero + && h->root.type == bfd_link_hash_undefweak) + { + if (!bfd_elf_link_record_dynamic_symbol (info, h)) +@@ -8345,7 +8385,7 @@ + { + h->got.offset = htab->root.sgot->size; + htab->root.sgot->size += GOT_ENTRY_SIZE; +- if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ if (((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak) + && (bfd_link_pic (info) + || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h)) +@@ -8381,7 +8421,7 @@ + } + + indx = h && h->dynindx != -1 ? h->dynindx : 0; +- if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ if (((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak) + && (!bfd_link_executable (info) + || indx != 0 +@@ -8447,7 +8487,7 @@ + visibility. */ + if (eh->dyn_relocs != NULL && h->root.type == bfd_link_hash_undefweak) + { +- if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT ++ if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT || resolved_to_zero + || UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) + eh->dyn_relocs = NULL; + +@@ -8467,7 +8507,9 @@ + symbols which turn out to need copy relocs or are not + dynamic. */ + +- if (!h->non_got_ref ++ if (!(h->non_got_ref ++ || (h->root.type == bfd_link_hash_undefweak ++ && !resolved_to_zero)) + && ((h->def_dynamic + && !h->def_regular) + || (htab->root.dynamic_sections_created +@@ -8478,6 +8520,7 @@ + Undefined weak syms won't yet be marked as dynamic. */ + if (h->dynindx == -1 + && !h->forced_local ++ && !resolved_to_zero + && h->root.type == bfd_link_hash_undefweak + && !bfd_elf_link_record_dynamic_symbol (info, h)) + return FALSE; +@@ -9098,8 +9141,17 @@ + Elf_Internal_Sym *sym) + { + struct elf_aarch64_link_hash_table *htab; ++ struct elf_aarch64_link_hash_entry *eh; ++ bfd_boolean local_undefweak; + htab = elf_aarch64_hash_table (info); + ++ eh = (struct elf_aarch64_link_hash_entry *) h; ++ ++ /* We keep PLT/GOT entries without dynamic PLT/GOT relocations for ++ resolved undefined weak symbols in executable so that their ++ references have value 0 at run-time. */ ++ local_undefweak = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh); ++ + if (h->plt.offset != (bfd_vma) - 1) + { + asection *plt, *gotplt, *relplt; +@@ -9134,7 +9186,7 @@ + return FALSE; + + elfNN_aarch64_create_small_pltn_entry (h, htab, output_bfd, info); +- if (!h->def_regular) ++ if (!local_undefweak && !h->def_regular) + { + /* Mark the symbol as undefined, rather than as defined in + the .plt section. */ +@@ -9153,10 +9205,11 @@ + } + + if (h->got.offset != (bfd_vma) - 1 +- && elf_aarch64_hash_entry (h)->got_type == GOT_NORMAL ++ && elf_aarch64_hash_entry (h)->got_type == GOT_NORMAL + /* Undefined weak symbol in static PIE resolves to 0 without + any dynamic relocations. */ +- && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) ++ && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h) ++ && !local_undefweak) + { + Elf_Internal_Rela rela; + bfd_byte *loc; +@@ -9650,6 +9703,9 @@ + #define elf_backend_init_index_section \ + _bfd_elf_init_2_index_sections + ++#define elf_backend_fixup_symbol \ ++ elfNN_aarch64_elf_fixup_symbol ++ + #define elf_backend_finish_dynamic_sections \ + elfNN_aarch64_finish_dynamic_sections + +diff -NBaur binutils-2.31.1/ld/emulparams/aarch64elf32.sh binutils-2.31.1-dka64/ld/emulparams/aarch64elf32.sh +--- binutils-2.31.1/ld/emulparams/aarch64elf32.sh 2018-06-24 19:38:57.000000000 +0100 ++++ binutils-2.31.1-dka64/ld/emulparams/aarch64elf32.sh 2018-07-27 18:04:52.585317513 +0100 +@@ -1,3 +1,5 @@ ++. ${srcdir}/emulparams/dynamic_undefined_weak.sh ++ + ARCH="aarch64:ilp32" + MACHINE= + NOP=0x1f2003d5 +diff -NBaur binutils-2.31.1/ld/emulparams/aarch64elf.sh binutils-2.31.1-dka64/ld/emulparams/aarch64elf.sh +--- binutils-2.31.1/ld/emulparams/aarch64elf.sh 2018-06-24 19:38:57.000000000 +0100 ++++ binutils-2.31.1-dka64/ld/emulparams/aarch64elf.sh 2018-07-27 18:04:52.585317513 +0100 +@@ -1,3 +1,5 @@ ++. ${srcdir}/emulparams/dynamic_undefined_weak.sh ++ + ARCH=aarch64 + MACHINE= + NOP=0x1f2003d5 +diff -NBaur binutils-2.31.1/ld/emultempl/aarch64elf.em binutils-2.31.1-dka64/ld/emultempl/aarch64elf.em +--- binutils-2.31.1/ld/emultempl/aarch64elf.em 2018-06-26 12:27:20.000000000 +0100 ++++ binutils-2.31.1-dka64/ld/emultempl/aarch64elf.em 2018-07-27 18:04:52.585317513 +0100 +@@ -380,7 +380,7 @@ + { "no-apply-dynamic-relocs", no_argument, NULL, OPTION_NO_APPLY_DYNAMIC_RELOCS}, + ' + +-PARSE_AND_LIST_OPTIONS=' ++PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}' + fprintf (file, _(" --no-enum-size-warning Don'\''t warn about objects with incompatible\n" + " enum sizes\n")); + fprintf (file, _(" --no-wchar-size-warning Don'\''t warn about objects with incompatible\n" +diff -NBaur binutils-2.31.1/ld/Makefile.am binutils-2.31.1-dka64/ld/Makefile.am +--- binutils-2.31.1/ld/Makefile.am 2018-06-24 19:38:57.000000000 +0100 ++++ binutils-2.31.1-dka64/ld/Makefile.am 2018-07-27 18:04:52.585317513 +0100 +@@ -1495,19 +1495,23 @@ + $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} + + eaarch64elf.c: $(srcdir)/emulparams/aarch64elf.sh \ +- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ ++ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64elf32.c: $(srcdir)/emulparams/aarch64elf32.sh \ +- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ ++ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64elf.sh \ +- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ ++ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \ +- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ ++ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64cloudabi.c: $(srcdir)/emulparams/aarch64cloudabi.sh \ +diff -NBaur binutils-2.31.1/ld/Makefile.in binutils-2.31.1-dka64/ld/Makefile.in +--- binutils-2.31.1/ld/Makefile.in 2018-07-18 08:46:21.000000000 +0100 ++++ binutils-2.31.1-dka64/ld/Makefile.in 2018-07-27 18:04:52.585317513 +0100 +@@ -3097,18 +3097,22 @@ + + eaarch64elf.c: $(srcdir)/emulparams/aarch64elf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64elf32.c: $(srcdir)/emulparams/aarch64elf32.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64elf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64cloudabi.c: $(srcdir)/emulparams/aarch64cloudabi.sh \ diff --git a/select_toolchain.sh b/select_toolchain.sh index 7d373a0..55dd0ab 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -52,7 +52,7 @@ case "$VERSION" in ;; "3" ) GCC_VER=8.1.0 - BINUTILS_VER=2.30 + BINUTILS_VER=2.31.1 NEWLIB_VER=3.0.0 GDB_VER=8.0 basedir='dka64' From e477403617c030599230fac750c494264e9e6627 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 28 Jul 2018 15:57:51 +0100 Subject: [PATCH 040/280] update devkitA64 gcc to 8.2.0 --- build-devkit.sh | 2 +- dka64/patches/gcc-8.2.0.patch | 199 ++++++++++++++++++++++++++++++++++ dka64/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 202 insertions(+), 3 deletions(-) create mode 100644 dka64/patches/gcc-8.2.0.patch diff --git a/build-devkit.sh b/build-devkit.sh index b38f98b..09aaa9a 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,7 +2,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 49 # devkitPPC release 32 -# devkitA64 release 11 +# devkitA64 release 12 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/patches/gcc-8.2.0.patch b/dka64/patches/gcc-8.2.0.patch new file mode 100644 index 0000000..cab8b37 --- /dev/null +++ b/dka64/patches/gcc-8.2.0.patch @@ -0,0 +1,199 @@ +diff --git a/gcc/config.gcc b/gcc/config.gcc +index 532c33f4c2b..c8a8bc698a7 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -945,6 +945,7 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) + case $target in + aarch64-*-elf*) + use_gcc_stdint=wrap ++ tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" + ;; + aarch64-*-fuchsia*) + tm_file="${tm_file} fuchsia.h" +diff --git a/gcc/config/aarch64/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h +index c074238df06..ef503ddd5a6 100644 +--- a/gcc/config/aarch64/aarch64-elf-raw.h ++++ b/gcc/config/aarch64/aarch64-elf-raw.h +@@ -22,6 +22,7 @@ + #ifndef GCC_AARCH64_ELF_RAW_H + #define GCC_AARCH64_ELF_RAW_H + ++#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" + #define STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" + #define ENDFILE_SPEC \ + " crtend%O%s crtn%O%s " \ +diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h +index 7a5c6d7664f..687793841de 100644 +--- a/gcc/config/aarch64/aarch64-opts.h ++++ b/gcc/config/aarch64/aarch64-opts.h +@@ -48,6 +48,12 @@ enum aarch64_tls_type { + TLS_DESCRIPTORS + }; + ++/* Which thread pointer access sequence to use. */ ++enum aarch64_tp_type { ++ TP_HARD, ++ TP_SOFT ++}; ++ + /* The code model defines the address generation strategy. + Most have a PIC and non-PIC variant. */ + enum aarch64_code_model { +diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c +index 175f13dc264..733ab473cbd 100644 +--- a/gcc/config/aarch64/aarch64.c ++++ b/gcc/config/aarch64/aarch64.c +@@ -11979,8 +11979,24 @@ aarch64_load_tp (rtx target) + || !register_operand (target, Pmode)) + target = gen_reg_rtx (Pmode); + +- /* Can return in any reg. */ +- emit_insn (gen_aarch64_load_tp_hard (target)); ++ if (TARGET_HARD_TP) ++ { ++ /* Can return in any reg. */ ++ emit_insn (gen_aarch64_load_tp_hard (target)); ++ } ++ else ++ { ++ /* Always returned in r0. Immediately copy the result into a pseudo, ++ otherwise other uses of r0 (e.g. setting up function arguments) may ++ clobber the value. */ ++ ++ rtx tmp; ++ ++ emit_insn (gen_aarch64_load_tp_soft ()); ++ ++ tmp = gen_rtx_REG (DImode, R0_REGNUM); ++ emit_move_insn (target, tmp); ++ } + return target; + } + +diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h +index 976f9afae54..73263bcb5e7 100644 +--- a/gcc/config/aarch64/aarch64.h ++++ b/gcc/config/aarch64/aarch64.h +@@ -957,6 +957,10 @@ typedef struct + /* Check TLS Descriptors mechanism is selected. */ + #define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS) + ++/* Check selected thread pointer access sequence to use. */ ++#define TARGET_HARD_TP (target_thread_pointer == TP_HARD) ++#define TARGET_SOFT_TP (target_thread_pointer == TP_SOFT) ++ + extern enum aarch64_code_model aarch64_cmodel; + + /* When using the tiny addressing model conditional and unconditional branches +diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md +index 32a0e1f3685..783c655acf0 100644 +--- a/gcc/config/aarch64/aarch64.md ++++ b/gcc/config/aarch64/aarch64.md +@@ -5693,11 +5693,22 @@ + (define_insn "aarch64_load_tp_hard" + [(set (match_operand:DI 0 "register_operand" "=r") + (unspec:DI [(const_int 0)] UNSPEC_TLS))] +- "" +- "mrs\\t%0, tpidr_el0" ++ "TARGET_HARD_TP" ++ "mrs\\t%0, tpidr_el0\\t// aarch64_load_tp_hard" + [(set_attr "type" "mrs")] + ) + ++(define_insn "aarch64_load_tp_soft" ++ [(set (reg:DI 0) (unspec:DI [(const_int 0)] UNSPEC_TLS)) ++ (clobber (reg:DI IP0_REGNUM)) ++ (clobber (reg:DI IP1_REGNUM)) ++ (clobber (reg:DI LR_REGNUM)) ++ (clobber (reg:CC CC_REGNUM))] ++ "TARGET_SOFT_TP" ++ "bl\\t__aarch64_read_tp\\t// aarch64_load_tp_soft" ++ [(set_attr "type" "branch")] ++) ++ + ;; The TLS ABI specifically requires that the compiler does not schedule + ;; instructions in the TLS stubs, in order to enable linker relaxation. + ;; Therefore we treat the stubs as an atomic sequence. +diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt +index 52eaf8c6f40..52bccddc6e3 100644 +--- a/gcc/config/aarch64/aarch64.opt ++++ b/gcc/config/aarch64/aarch64.opt +@@ -115,6 +115,20 @@ Enum(aarch64_tls_size) String(32) Value(32) + EnumValue + Enum(aarch64_tls_size) String(48) Value(48) + ++mtp= ++Target RejectNegative Joined Enum(aarch64_tp_type) Var(target_thread_pointer) Init(TP_HARD) ++Specify how to access the thread pointer. ++ ++Enum ++Name(aarch64_tp_type) Type(enum aarch64_tp_type) ++Valid arguments to -mtp=: ++ ++EnumValue ++Enum(aarch64_tp_type) String(hard) Value(TP_HARD) ++ ++EnumValue ++Enum(aarch64_tp_type) String(soft) Value(TP_SOFT) ++ + march= + Target RejectNegative ToLower Joined Var(aarch64_arch_string) + -march=ARCH Use features of architecture ARCH. +diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64 +index 0be1f0d63aa..a54068bfd96 100644 +--- a/gcc/config/aarch64/t-aarch64 ++++ b/gcc/config/aarch64/t-aarch64 +@@ -68,5 +68,7 @@ cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.c \ + $(srcdir)/config/aarch64/cortex-a57-fma-steering.c + + comma=, +-MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG)))) +-MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG)) ++MULTILIB_OPTIONS = mcmodel=large fPIC ++MULTILIB_DIRNAMES = large pic ++MULTILIB_REQUIRED = mcmodel=large fPIC ++MULTILIB_MATCHES = fPIC=fpic fPIC=fpie fPIC=fPIE +diff --git a/gcc/gcc.c b/gcc/gcc.c +index a716f708259..6a11011dba7 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -786,6 +786,11 @@ proper position among the other output files. */ + #endif + #endif + ++#ifndef LIBGLOSS_SPEC ++# define LIBGLOSS_SPEC "-lsysbase" ++#endif ++ ++ + /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ + #ifndef STARTFILE_SPEC + #define STARTFILE_SPEC \ +@@ -1081,6 +1086,7 @@ static const char *link_spec = LINK_SPEC; + static const char *lib_spec = LIB_SPEC; + static const char *link_gomp_spec = ""; + static const char *libgcc_spec = LIBGCC_SPEC; ++static const char *libgloss_spec = LIBGLOSS_SPEC; + static const char *endfile_spec = ENDFILE_SPEC; + static const char *startfile_spec = STARTFILE_SPEC; + static const char *linker_name_spec = LINKER_NAME; +@@ -1577,6 +1583,7 @@ static struct spec_list static_specs[] = + INIT_STATIC_SPEC ("lib", &lib_spec), + INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), + INIT_STATIC_SPEC ("libgcc", &libgcc_spec), ++ INIT_STATIC_SPEC ("libgloss", &libgloss_spec), + INIT_STATIC_SPEC ("startfile", &startfile_spec), + INIT_STATIC_SPEC ("cross_compile", &cross_compile), + INIT_STATIC_SPEC ("version", &compiler_version), +diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c +index 5e894455e16..f2347455de0 100644 +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -47,6 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + + /* Target machine header files require this define. */ + #define IN_LIBGCC2 ++#define USED_FOR_TARGET + + /* FIXME: Including auto-host is incorrect, but until we have + identified the set of defines that need to go into auto-target.h, diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 30a66a9..9bc87c0 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -64,7 +64,7 @@ then --prefix=$prefix \ --enable-lto $plugin_ld\ --with-system-zlib \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 11" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 12" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } diff --git a/select_toolchain.sh b/select_toolchain.sh index 55dd0ab..d783600 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -51,7 +51,7 @@ case "$VERSION" in toolchain=DEVKITPPC ;; "3" ) - GCC_VER=8.1.0 + GCC_VER=8.2.0 BINUTILS_VER=2.31.1 NEWLIB_VER=3.0.0 GDB_VER=8.0 From da8d9c793b449c66fc281ef045d72d2d920b652e Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 15 Aug 2018 02:02:33 +0100 Subject: [PATCH 041/280] explicitly MPL crt0 files. Closes #31 --- dkarm-eabi/crtls/3dsx.ld | 5 +++++ dkarm-eabi/crtls/3dsx_crt0.s | 6 ++++++ dkarm-eabi/crtls/dldi.ld | 5 +++++ dkarm-eabi/crtls/ds_arm7.ld | 5 +++++ dkarm-eabi/crtls/ds_arm7_crt0.s | 6 ++++++ dkarm-eabi/crtls/ds_arm7_iwram.ld | 5 +++++ dkarm-eabi/crtls/ds_arm7_vram.ld | 5 +++++ dkarm-eabi/crtls/ds_arm9.ld | 5 +++++ dkarm-eabi/crtls/ds_arm9.mem | 5 +++++ dkarm-eabi/crtls/ds_arm9_crt0.s | 6 ++++++ dkarm-eabi/crtls/ds_cart.ld | 5 +++++ dkarm-eabi/crtls/ds_cart_crt0.s | 6 ++++++ dkarm-eabi/crtls/dsi_arm9.mem | 5 +++++ dkarm-eabi/crtls/er_crt0.s | 4 ++++ dkarm-eabi/crtls/gba_crt0.s | 6 ++++++ dkarm-eabi/crtls/gp32_crt0.s | 6 ++++++ 16 files changed, 85 insertions(+) diff --git a/dkarm-eabi/crtls/3dsx.ld b/dkarm-eabi/crtls/3dsx.ld index 025034a..6488d62 100644 --- a/dkarm-eabi/crtls/3dsx.ld +++ b/dkarm-eabi/crtls/3dsx.ld @@ -1,3 +1,8 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) diff --git a/dkarm-eabi/crtls/3dsx_crt0.s b/dkarm-eabi/crtls/3dsx_crt0.s index eaf0843..e2b5088 100644 --- a/dkarm-eabi/crtls/3dsx_crt0.s +++ b/dkarm-eabi/crtls/3dsx_crt0.s @@ -1,3 +1,9 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ + @--------------------------------------------------------------------------------- @ 3DS processor selection @--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/crtls/dldi.ld b/dkarm-eabi/crtls/dldi.ld index e39228f..a940c38 100644 --- a/dkarm-eabi/crtls/dldi.ld +++ b/dkarm-eabi/crtls/dldi.ld @@ -1,3 +1,8 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) diff --git a/dkarm-eabi/crtls/ds_arm7.ld b/dkarm-eabi/crtls/ds_arm7.ld index af6f1f9..1479ee5 100644 --- a/dkarm-eabi/crtls/ds_arm7.ld +++ b/dkarm-eabi/crtls/ds_arm7.ld @@ -1,3 +1,8 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) diff --git a/dkarm-eabi/crtls/ds_arm7_crt0.s b/dkarm-eabi/crtls/ds_arm7_crt0.s index 11cf60b..46894f9 100644 --- a/dkarm-eabi/crtls/ds_arm7_crt0.s +++ b/dkarm-eabi/crtls/ds_arm7_crt0.s @@ -1,3 +1,9 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ + @--------------------------------------------------------------------------------- .section ".crt0","ax" .global _start diff --git a/dkarm-eabi/crtls/ds_arm7_iwram.ld b/dkarm-eabi/crtls/ds_arm7_iwram.ld index 64673b9..d990656 100644 --- a/dkarm-eabi/crtls/ds_arm7_iwram.ld +++ b/dkarm-eabi/crtls/ds_arm7_iwram.ld @@ -1,3 +1,8 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) diff --git a/dkarm-eabi/crtls/ds_arm7_vram.ld b/dkarm-eabi/crtls/ds_arm7_vram.ld index 333783c..4c283ed 100644 --- a/dkarm-eabi/crtls/ds_arm7_vram.ld +++ b/dkarm-eabi/crtls/ds_arm7_vram.ld @@ -1,3 +1,8 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) diff --git a/dkarm-eabi/crtls/ds_arm9.ld b/dkarm-eabi/crtls/ds_arm9.ld index ea554c9..28853f3 100644 --- a/dkarm-eabi/crtls/ds_arm9.ld +++ b/dkarm-eabi/crtls/ds_arm9.ld @@ -1,3 +1,8 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) diff --git a/dkarm-eabi/crtls/ds_arm9.mem b/dkarm-eabi/crtls/ds_arm9.mem index 1b3f0b4..5fe5f8c 100644 --- a/dkarm-eabi/crtls/ds_arm9.mem +++ b/dkarm-eabi/crtls/ds_arm9.mem @@ -1,3 +1,8 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ MEMORY { ewram : ORIGIN = 0x02000000, LENGTH = 4M - 512k dtcm : ORIGIN = 0x0b000000, LENGTH = 16K diff --git a/dkarm-eabi/crtls/ds_arm9_crt0.s b/dkarm-eabi/crtls/ds_arm9_crt0.s index 7b5850f..378bf62 100644 --- a/dkarm-eabi/crtls/ds_arm9_crt0.s +++ b/dkarm-eabi/crtls/ds_arm9_crt0.s @@ -1,3 +1,9 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ + @--------------------------------------------------------------------------------- @ DS processor selection @--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/crtls/ds_cart.ld b/dkarm-eabi/crtls/ds_cart.ld index baf2059..22d65f9 100644 --- a/dkarm-eabi/crtls/ds_cart.ld +++ b/dkarm-eabi/crtls/ds_cart.ld @@ -1,3 +1,8 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) diff --git a/dkarm-eabi/crtls/ds_cart_crt0.s b/dkarm-eabi/crtls/ds_cart_crt0.s index 8b2c4da..0cba51e 100644 --- a/dkarm-eabi/crtls/ds_cart_crt0.s +++ b/dkarm-eabi/crtls/ds_cart_crt0.s @@ -1,3 +1,9 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ + @--------------------------------------------------------------------------------- .section ".crt0","ax" .global _start diff --git a/dkarm-eabi/crtls/dsi_arm9.mem b/dkarm-eabi/crtls/dsi_arm9.mem index a1d6aa8..a324980 100644 --- a/dkarm-eabi/crtls/dsi_arm9.mem +++ b/dkarm-eabi/crtls/dsi_arm9.mem @@ -1,3 +1,8 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ MEMORY { ewram : ORIGIN = 0x02000000, LENGTH = 15M - 512k dtcm : ORIGIN = 0x0b000000, LENGTH = 16K diff --git a/dkarm-eabi/crtls/er_crt0.s b/dkarm-eabi/crtls/er_crt0.s index af2b57b..022afab 100644 --- a/dkarm-eabi/crtls/er_crt0.s +++ b/dkarm-eabi/crtls/er_crt0.s @@ -3,6 +3,10 @@ @--------------------------------------------------------------------------------- @ author : tim schuerewegen @ version : 1.0 +@--------------------------------------------------------------------------------- +@ This Source Code Form is subject to the terms of the Mozilla Public License, +@ v. 2.0. If a copy of the MPL was not distributed with this file, You can +@ obtain one at https://mozilla.org/MPL/2.0/. @--------------------------------------------------------------------------------- .section ".crt0","ax" .global _start diff --git a/dkarm-eabi/crtls/gba_crt0.s b/dkarm-eabi/crtls/gba_crt0.s index a561751..18315b3 100644 --- a/dkarm-eabi/crtls/gba_crt0.s +++ b/dkarm-eabi/crtls/gba_crt0.s @@ -1,3 +1,9 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ + .section ".crt0","ax" .global _start .align diff --git a/dkarm-eabi/crtls/gp32_crt0.s b/dkarm-eabi/crtls/gp32_crt0.s index 9eaf54e..fd67b32 100644 --- a/dkarm-eabi/crtls/gp32_crt0.s +++ b/dkarm-eabi/crtls/gp32_crt0.s @@ -1,3 +1,9 @@ +/*-------------------------------------------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public License, + v. 2.0. If a copy of the MPL was not distributed with this file, You can + obtain one at https://mozilla.org/MPL/2.0/. +--------------------------------------------------------------------------------*/ + .section ".crt0","ax" .code 32 .align From b0d0a3b3a34cbbc0da421faecf3fca39622bb7ac Mon Sep 17 00:00:00 2001 From: PoroCYon Date: Tue, 18 Sep 2018 16:49:01 +0200 Subject: [PATCH 042/280] fix symbol names in bin2o-generated header files sometimes being invalid C identifiers --- dka64/rules/base_rules | 6 +++--- dkarm-eabi/rules/base_rules | 6 +++--- dkppc/rules/base_rules | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dka64/rules/base_rules b/dka64/rules/base_rules index 1b8a273..15894db 100644 --- a/dka64/rules/base_rules +++ b/dka64/rules/base_rules @@ -33,8 +33,8 @@ include $(DEVKITPRO)/devkitA64/base_tools #--------------------------------------------------------------------------------- define bin2o bin2s $< | $(AS) -o $(@) - echo "extern const u8" `(echo $( `(echo $(> `(echo $(> `(echo $( `(echo $(> `(echo $(> `(echo $( `(echo $(> `(echo $(> `(echo $( `(echo $(> `(echo $(> `(echo $( `(echo $(> `(echo $(> `(echo $( `(echo $(> `(echo $(> `(echo $( Date: Thu, 1 Nov 2018 13:11:31 +0000 Subject: [PATCH 043/280] use gcc 8.2 --- build-devkit.sh | 2 +- dkppc/patches/gcc-8.2.0.patch | 924 ++++++++++++++++++++++++++++++++++ dkppc/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 927 insertions(+), 3 deletions(-) create mode 100644 dkppc/patches/gcc-8.2.0.patch diff --git a/build-devkit.sh b/build-devkit.sh index 09aaa9a..79e870a 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,7 +1,7 @@ #!/bin/bash #--------------------------------------------------------------------------------- # devkitARM release 49 -# devkitPPC release 32 +# devkitPPC release 33 # devkitA64 release 12 #--------------------------------------------------------------------------------- diff --git a/dkppc/patches/gcc-8.2.0.patch b/dkppc/patches/gcc-8.2.0.patch new file mode 100644 index 0000000..9313419 --- /dev/null +++ b/dkppc/patches/gcc-8.2.0.patch @@ -0,0 +1,924 @@ +diff --git a/config/gthr.m4 b/config/gthr.m4 +index 7b29f1f3327..814104f32a2 100644 +--- a/config/gthr.m4 ++++ b/config/gthr.m4 +@@ -12,6 +12,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER], + [ + case $1 in + aix) thread_header=config/rs6000/gthr-aix.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + dce) thread_header=config/pa/gthr-dce.h ;; + lynx) thread_header=config/gthr-lynx.h ;; + mipssde) thread_header=config/mips/gthr-mipssde.h ;; +diff --git a/gcc/config.gcc b/gcc/config.gcc +index 532c33f4c2b..bb87330bbbe 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -2461,7 +2461,7 @@ powerpc-xilinx-eabi*) + use_gcc_stdint=wrap + ;; + powerpc-*-eabi*) +- tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h" ++ tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/750cl.h" + extra_options="${extra_options} rs6000/sysv4.opt" + tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" + use_gcc_stdint=wrap +diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h +index f46e797d610..fd39e64c38d 100644 +--- a/gcc/config/newlib-stdint.h ++++ b/gcc/config/newlib-stdint.h +@@ -25,7 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + /* newlib uses 32-bit long in certain cases for all non-SPU + targets. */ + #ifndef STDINT_LONG32 +-#define STDINT_LONG32 (LONG_TYPE_SIZE == 32) ++#define STDINT_LONG32 0 + #endif + + #define SIG_ATOMIC_TYPE "int" +diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h +index b83b304e3eb..b85359edcfc 100644 +--- a/gcc/config/rs6000/rs6000.h ++++ b/gcc/config/rs6000/rs6000.h +@@ -212,6 +212,7 @@ + { "asm_cpu_476", ASM_CPU_476_SPEC }, \ + SUBTARGET_EXTRA_SPECS + ++#if 0 + /* -mcpu=native handling only makes sense with compiler running on + an PowerPC chip. If changing this condition, also change + the condition in driver-rs6000.c. */ +@@ -226,6 +227,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); + #else + #define ASM_CPU_NATIVE_SPEC "%(asm_default)" + #endif ++#endif ++#define ASM_CPU_NATIVE_SPEC "%(asm_default)" + + #ifndef CC1_CPU_SPEC + #ifdef HAVE_LOCAL_CPU_DETECT +diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h +index bb19d0dcd41..ff5f80b7298 100644 +--- a/gcc/config/rs6000/sysv4.h ++++ b/gcc/config/rs6000/sysv4.h +@@ -565,7 +565,12 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) + + /* Default starting address if specified. */ + #define LINK_START_SPEC "\ +-%{mads : %(link_start_ads) ; \ ++%{mgcn|mogc : %(link_start_ogc) ; \ ++ mvgc : %(link_start_vgc) ; \ ++ mgcbios : %(link_start_gcb) ; \ ++ mrvl : %(link_start_rvl) ; \ ++ mwup : %(link_start_wup) ; \ ++ mads : %(link_start_ads) ; \ + myellowknife : %(link_start_yellowknife) ; \ + mmvme : %(link_start_mvme) ; \ + msim : %(link_start_sim) ; \ +@@ -596,7 +601,9 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) + + /* Any specific OS flags. */ + #define LINK_OS_SPEC "\ +-%{mads : %(link_os_ads) ; \ ++%{mgcn|mogc|mvgc|mgcbios|mrvl : %(link_os_ogc) ; \ ++ mwup : %(link_os_wup) ; \ ++ mads : %(link_os_ads) ; \ + myellowknife : %(link_os_yellowknife) ; \ + mmvme : %(link_os_mvme) ; \ + msim : %(link_os_sim) ; \ +@@ -614,7 +621,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) + /* Override rs6000.h definition. */ + #undef CPP_SPEC + #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ +-%{mads : %(cpp_os_ads) ; \ ++%{mgcn : %(cpp_os_gcn) ; \ ++ mogc|mvgc|mgcbios : %(cpp_os_ogc) ; \ ++ mrvl : %(cpp_os_rvl) ; \ ++ mwup : %(cpp_os_wup) ; \ ++ mads : %(cpp_os_ads) ; \ + myellowknife : %(cpp_os_yellowknife) ; \ + mmvme : %(cpp_os_mvme) ; \ + msim : %(cpp_os_sim) ; \ +@@ -628,7 +639,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) + + #undef STARTFILE_SPEC + #define STARTFILE_SPEC "\ +-%{mads : %(startfile_ads) ; \ ++%{mgcn : %(startfile_gcn) ; \ ++ mogc|mvgc|mgcbios : %(startfile_ogc) ; \ ++ mrvl : %(startfile_ogc) ; \ ++ mwup : %(startfile_wup) ; \ ++ mads : %(startfile_ads) ; \ + myellowknife : %(startfile_yellowknife) ; \ + mmvme : %(startfile_mvme) ; \ + msim : %(startfile_sim) ; \ +@@ -642,7 +657,9 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) + + #undef LIB_SPEC + #define LIB_SPEC "\ +-%{mads : %(lib_ads) ; \ ++%{mgcn|mogc|mvgc|mgcbios|mrvl : %(lib_ogc) ; \ ++ mwup : %(lib_wup) ; \ ++ mads : %(lib_ads) ; \ + myellowknife : %(lib_yellowknife) ; \ + mmvme : %(lib_mvme) ; \ + msim : %(lib_sim) ; \ +@@ -652,11 +669,13 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) + mcall-openbsd: %(lib_openbsd) ; \ + : %(lib_default) }" + +-#define LIB_DEFAULT_SPEC "-lc" ++#define LIB_DEFAULT_SPEC "--start-group -lsysbase -lc --end-group" + + #undef ENDFILE_SPEC + #define ENDFILE_SPEC "\ +-%{mads : %(endfile_ads) ; \ ++%{mgcn|mogc|mvgc|mgcbios|mrvl : %(endfile_ogc) ; \ ++ mwup : %(endfile_wup) ; \ ++ mads : %(endfile_ads) ; \ + myellowknife : %(endfile_yellowknife) ; \ + mmvme : %(endfile_mvme) ; \ + msim : %(endfile_sim) ; \ +@@ -672,16 +691,33 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) + + /* Motorola ADS support. */ + #define LIB_ADS_SPEC "--start-group -lads -lc --end-group" ++#define LIB_OGC_SPEC "--start-group -lsysbase -lc --end-group" ++#define LIB_WUP_SPEC "--start-group -lsysbase -lc --end-group" + + #define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s" ++#define STARTFILE_OGC_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s" ++#define STARTFILE_WUP_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s" + + #define ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s" ++#define ENDFILE_OGC_SPEC "crtend.o%s ecrtn.o%s" ++#define ENDFILE_WUP_SPEC "crtend.o%s ecrtn.o%s" + + #define LINK_START_ADS_SPEC "-T ads.ld%s" ++#define LINK_START_OGC_SPEC "-T ogc.ld%s" ++#define LINK_START_RVL_SPEC "-T rvl.ld%s" ++#define LINK_START_WUP_SPEC "-T wup.ld%s" ++#define LINK_START_VGC_SPEC "-T vgcogc.ld%s" ++#define LINK_START_GCB_SPEC "-T gcbogc.ld%s" + + #define LINK_OS_ADS_SPEC "" ++#define LINK_OS_OGC_SPEC "--gc-sections" ++#define LINK_OS_WUP_SPEC "--gc-sections" + + #define CPP_OS_ADS_SPEC "" ++#define CPP_OS_GCN_SPEC "-D__gamecube__ -ffunction-sections -fdata-sections" ++#define CPP_OS_OGC_SPEC "-D__gamecube__ -DHW_DOL -ffunction-sections -fdata-sections" ++#define CPP_OS_RVL_SPEC "-D__wii__ -DHW_RVL -ffunction-sections -fdata-sections" ++#define CPP_OS_WUP_SPEC "-D__wiiu__ -DHW_WUP -ffunction-sections -fdata-sections" + + /* Motorola Yellowknife support. */ + #define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" +@@ -882,6 +918,8 @@ ncrtn.o%s" + #undef SUBTARGET_EXTRA_SPECS + #define SUBTARGET_EXTRA_SPECS \ + { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ ++ { "lib_ogc", LIB_OGC_SPEC }, \ ++ { "lib_wup", LIB_WUP_SPEC }, \ + { "lib_ads", LIB_ADS_SPEC }, \ + { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ + { "lib_mvme", LIB_MVME_SPEC }, \ +@@ -891,6 +929,8 @@ ncrtn.o%s" + { "lib_netbsd", LIB_NETBSD_SPEC }, \ + { "lib_openbsd", LIB_OPENBSD_SPEC }, \ + { "lib_default", LIB_DEFAULT_SPEC }, \ ++ { "startfile_ogc", STARTFILE_OGC_SPEC }, \ ++ { "startfile_wup", STARTFILE_WUP_SPEC }, \ + { "startfile_ads", STARTFILE_ADS_SPEC }, \ + { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ + { "startfile_mvme", STARTFILE_MVME_SPEC }, \ +@@ -900,6 +940,8 @@ ncrtn.o%s" + { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ + { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ + { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ ++ { "endfile_ogc", ENDFILE_OGC_SPEC }, \ ++ { "endfile_wup", ENDFILE_WUP_SPEC }, \ + { "endfile_ads", ENDFILE_ADS_SPEC }, \ + { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ + { "endfile_mvme", ENDFILE_MVME_SPEC }, \ +@@ -911,7 +953,12 @@ ncrtn.o%s" + { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ + { "link_shlib", LINK_SHLIB_SPEC }, \ + { "link_start", LINK_START_SPEC }, \ ++ { "link_start_vgc", LINK_START_VGC_SPEC }, \ ++ { "link_start_gcb", LINK_START_GCB_SPEC }, \ ++ { "link_start_rvl", LINK_START_RVL_SPEC }, \ ++ { "link_start_wup", LINK_START_WUP_SPEC }, \ + { "link_start_ads", LINK_START_ADS_SPEC }, \ ++ { "link_start_ogc", LINK_START_OGC_SPEC }, \ + { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ + { "link_start_mvme", LINK_START_MVME_SPEC }, \ + { "link_start_sim", LINK_START_SIM_SPEC }, \ +@@ -921,6 +968,8 @@ ncrtn.o%s" + { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ + { "link_start_default", LINK_START_DEFAULT_SPEC }, \ + { "link_os", LINK_OS_SPEC }, \ ++ { "link_os_ogc", LINK_OS_OGC_SPEC }, \ ++ { "link_os_wup", LINK_OS_WUP_SPEC }, \ + { "link_os_ads", LINK_OS_ADS_SPEC }, \ + { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ + { "link_os_mvme", LINK_OS_MVME_SPEC }, \ +@@ -932,6 +981,10 @@ ncrtn.o%s" + { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ + { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ + { "link_secure_plt", LINK_SECURE_PLT_SPEC }, \ ++ { "cpp_os_gcn", CPP_OS_GCN_SPEC }, \ ++ { "cpp_os_ogc", CPP_OS_OGC_SPEC }, \ ++ { "cpp_os_rvl", CPP_OS_RVL_SPEC }, \ ++ { "cpp_os_wup", CPP_OS_WUP_SPEC }, \ + { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ + { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ + { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ +diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt +index 34fea0ddd08..9451447fde0 100644 +--- a/gcc/config/rs6000/sysv4.opt ++++ b/gcc/config/rs6000/sysv4.opt +@@ -124,6 +124,30 @@ mads + Target RejectNegative + Link with libads.a, libc.a and crt0.o. + ++mgcn ++Target RejectNegative ++Link with libsysbase.a and libc.a, use ogc linker script ++ ++mogc ++Target RejectNegative ++Link with libsysbase.a and libc.a, use ogc linker script ++ ++mgcbios ++Target RejectNegative ++Link with libsysbase.a and libc.a, use gcbogc linker script ++ ++mvgc ++Target RejectNegative ++Link with libsysbase.a and libc.a, use gcbogc linker script ++ ++mrvl ++Target RejectNegative ++Link with libsysbase.a and libc.a, use rvl linker script ++ ++mwup ++Target RejectNegative ++Link with libsysbase.a and libc.a, use wup linker script ++ + myellowknife + Target RejectNegative + Link with libyk.a, libc.a and crt0.o. +diff --git a/gcc/configure b/gcc/configure +index 6121e163259..6584112e6a1 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -11692,7 +11692,7 @@ case ${enable_threads} in + # default + target_thread_file='single' + ;; +- aix | dce | lynx | mipssde | posix | rtems | \ ++ aix | dce | dkp | lynx | mipssde | posix | rtems | \ + single | tpf | vxworks | win32) + target_thread_file=${enable_threads} + ;; +diff --git a/gcc/configure.ac b/gcc/configure.ac +index b066cc609e1..c42b3ef5fc6 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -1611,7 +1611,7 @@ case ${enable_threads} in + # default + target_thread_file='single' + ;; +- aix | dce | lynx | mipssde | posix | rtems | \ ++ aix | dce | dkp | lynx | mipssde | posix | rtems | \ + single | tpf | vxworks | win32) + target_thread_file=${enable_threads} + ;; +diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S +index ba2b2623301..8d866107142 100644 +--- a/libgcc/config/rs6000/crtrestvr.S ++++ b/libgcc/config/rs6000/crtrestvr.S +@@ -24,7 +24,7 @@ + + /* On PowerPC64 Linux, these functions are provided by the linker. */ + #ifndef __powerpc64__ +- ++#if 0 + #undef __ALTIVEC__ + #define __ALTIVEC__ 1 + #include "ppc-asm.h" +@@ -86,3 +86,4 @@ FUNC_END(_restvr_20) + CFI_ENDPROC + + #endif ++#endif +diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S +index 077e33f34d5..b7be68b710f 100644 +--- a/libgcc/config/rs6000/crtsavevr.S ++++ b/libgcc/config/rs6000/crtsavevr.S +@@ -24,7 +24,7 @@ + + /* On PowerPC64 Linux, these functions are provided by the linker. */ + #ifndef __powerpc64__ +- ++#if 0 + #undef __ALTIVEC__ + #define __ALTIVEC__ 1 + #include "ppc-asm.h" +@@ -86,3 +86,4 @@ FUNC_END(_savevr_20) + CFI_ENDPROC + + #endif ++#endif +diff --git a/libgcc/config/rs6000/gthr-dkp.c b/libgcc/config/rs6000/gthr-dkp.c +new file mode 100644 +index 00000000000..94d6ba94ec0 +--- /dev/null ++++ b/libgcc/config/rs6000/gthr-dkp.c +@@ -0,0 +1,349 @@ ++/* Threads compatibility routines for libgcc2 and libobjc. */ ++/* Compile this one with gcc. */ ++/* Copyright (C) 1997-2016 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. ++ ++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 "gthr-dkp.h" ++#include ++ ++__gthread_impl_t __gthread_impl = { ++ NULL, // active ++ NULL, // create ++ NULL, // join ++ NULL, // detach ++ NULL, // equal ++ NULL, // self ++ NULL, // yield ++ NULL, // once ++ NULL, // key_create ++ NULL, // key_delete ++ NULL, // getspecific ++ NULL, // setspecific ++ NULL, // mutex_init_function ++ NULL, // mutex_destroy ++ NULL, // mutex_lock ++ NULL, // mutex_trylock ++ NULL, // mutex_unlock ++ NULL, // recursive_mutex_init_function ++ NULL, // recursive_mutex_lock ++ NULL, // recursive_mutex_trylock ++ NULL, // recursive_mutex_unlock ++ NULL, // recursive_mutex_destroy ++ NULL, // cond_init_function ++ NULL, // cond_broadcast ++ NULL, // cond_signal ++ NULL, // cond_wait ++ NULL, // cond_timedwait ++ NULL, // cond_wait_recursive ++ NULL, // cond_destroy ++}; ++ ++int ++__gthread_active_p (void) ++{ ++ if (!__gthread_impl.active) { ++ return 0; ++ } ++ ++ return __gthread_impl.active(); ++} ++ ++int ++__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), ++ void *__args) ++{ ++ if (!__gthread_impl.create) { ++ return -1; ++ } ++ ++ return __gthread_impl.create(__threadid, __func, __args); ++} ++ ++int ++__gthread_join (__gthread_t __threadid, void **__value_ptr) ++{ ++ if (!__gthread_impl.join) { ++ return -1; ++ } ++ ++ return __gthread_impl.join(__threadid, __value_ptr); ++} ++ ++int ++__gthread_detach (__gthread_t __threadid) ++{ ++ if (!__gthread_impl.detach) { ++ return -1; ++ } ++ ++ return __gthread_impl.detach(__threadid); ++} ++ ++int ++__gthread_equal (__gthread_t __t1, __gthread_t __t2) ++{ ++ if (!__gthread_impl.equal) { ++ return -1; ++ } ++ ++ return __gthread_impl.equal(__t1, __t2); ++} ++ ++__gthread_t ++__gthread_self (void) ++{ ++ if (!__gthread_impl.self) { ++ __gthread_t result = { 0 }; ++ return result; ++ } ++ ++ return __gthread_impl.self(); ++} ++ ++int ++__gthread_yield (void) ++{ ++ if (!__gthread_impl.yield) { ++ return -1; ++ } ++ ++ return __gthread_impl.yield(); ++} ++ ++int ++__gthread_once (__gthread_once_t *__once, void (*__func) (void)) ++{ ++ if (!__gthread_impl.once) { ++ return -1; ++ } ++ ++ return __gthread_impl.once(__once, __func); ++} ++ ++int ++__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) ++{ ++ if (!__gthread_impl.key_create) { ++ return -1; ++ } ++ ++ return __gthread_impl.key_create(__key, __dtor); ++} ++ ++int ++__gthread_key_delete (__gthread_key_t __key) ++{ ++ if (!__gthread_impl.key_delete) { ++ return -1; ++ } ++ ++ return __gthread_impl.key_delete(__key); ++} ++ ++void * ++__gthread_getspecific (__gthread_key_t __key) ++{ ++ if (!__gthread_impl.getspecific) { ++ return NULL; ++ } ++ ++ return __gthread_impl.getspecific(__key); ++} ++ ++int ++__gthread_setspecific (__gthread_key_t __key, const void *__ptr) ++{ ++ if (!__gthread_impl.setspecific) { ++ return -1; ++ } ++ ++ return __gthread_impl.setspecific(__key, __ptr); ++} ++ ++void ++__gthread_mutex_init_function (__gthread_mutex_t *__mutex) ++{ ++ if (__gthread_impl.mutex_init_function) { ++ __gthread_impl.mutex_init_function(__mutex); ++ } ++} ++ ++int ++__gthread_mutex_destroy (__gthread_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.mutex_destroy) { ++ return -1; ++ } ++ ++ return __gthread_impl.mutex_destroy(__mutex); ++} ++ ++int ++__gthread_mutex_lock (__gthread_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.mutex_lock) { ++ return -1; ++ } ++ ++ return __gthread_impl.mutex_lock(__mutex); ++} ++ ++int ++__gthread_mutex_trylock (__gthread_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.mutex_trylock) { ++ return -1; ++ } ++ ++ return __gthread_impl.mutex_trylock(__mutex); ++} ++ ++int ++__gthread_mutex_unlock (__gthread_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.mutex_unlock) { ++ return -1; ++ } ++ ++ return __gthread_impl.mutex_unlock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.recursive_mutex_init_function) { ++ return -1; ++ } ++ ++ return __gthread_impl.recursive_mutex_init_function(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.recursive_mutex_lock) { ++ return -1; ++ } ++ ++ return __gthread_impl.recursive_mutex_lock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.recursive_mutex_trylock) { ++ return -1; ++ } ++ ++ return __gthread_impl.recursive_mutex_trylock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.recursive_mutex_unlock) { ++ return -1; ++ } ++ ++ return __gthread_impl.recursive_mutex_unlock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.recursive_mutex_destroy) { ++ return -1; ++ } ++ ++ return __gthread_impl.recursive_mutex_destroy(__mutex); ++} ++ ++void ++__gthread_cond_init_function (__gthread_cond_t *__cond) ++{ ++ if (__gthread_impl.cond_init_function) { ++ __gthread_impl.cond_init_function(__cond); ++ } ++} ++ ++int ++__gthread_cond_broadcast (__gthread_cond_t *__cond) ++{ ++ if (!__gthread_impl.cond_broadcast) { ++ return -1; ++ } ++ ++ return __gthread_impl.cond_broadcast(__cond); ++} ++ ++int ++__gthread_cond_signal (__gthread_cond_t *__cond) ++{ ++ if (!__gthread_impl.cond_signal) { ++ return -1; ++ } ++ ++ return __gthread_impl.cond_signal(__cond); ++} ++ ++int ++__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.cond_wait) { ++ return -1; ++ } ++ ++ return __gthread_impl.cond_wait(__cond, __mutex); ++} ++ ++int ++__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, ++ const __gthread_time_t *__abs_timeout) ++{ ++ if (!__gthread_impl.cond_timedwait) { ++ return -1; ++ } ++ ++ return __gthread_impl.cond_timedwait(__cond, __mutex, __abs_timeout); ++} ++ ++int ++__gthread_cond_wait_recursive (__gthread_cond_t *__cond, ++ __gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__gthread_impl.cond_wait_recursive) { ++ return -1; ++ } ++ ++ return __gthread_impl.cond_wait_recursive(__cond, __mutex); ++} ++ ++int ++__gthread_cond_destroy (__gthread_cond_t* __cond) ++{ ++ if (!__gthread_impl.cond_destroy) { ++ return -1; ++ } ++ ++ return __gthread_impl.cond_destroy(__cond); ++} +diff --git a/libgcc/config/rs6000/gthr-dkp.h b/libgcc/config/rs6000/gthr-dkp.h +new file mode 100644 +index 00000000000..281c19d2a60 +--- /dev/null ++++ b/libgcc/config/rs6000/gthr-dkp.h +@@ -0,0 +1,185 @@ ++/* Threads compatibility routines for libgcc2 and libobjc. */ ++/* Compile this one with gcc. */ ++/* Copyright (C) 1997-2016 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. ++ ++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 ++. */ ++ ++#ifndef _GLIBCXX_GCC_GTHR_DKP_H ++#define _GLIBCXX_GCC_GTHR_DKP_H ++ ++#define __GTHREADS 1 ++#define __GTHREADS_CXX0X 1 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++typedef void * __gthread_t; ++typedef struct { int padding[7]; } __gthread_cond_t; ++typedef struct { int padding; } __gthread_key_t; ++typedef struct { int padding[11]; } __gthread_mutex_t; ++typedef struct { int padding; } __gthread_once_t; ++typedef struct { int padding[11]; } __gthread_recursive_mutex_t; ++typedef struct timespec __gthread_time_t; ++ ++#define __GTHREAD_HAS_COND 1 ++#define _GTHREAD_USE_MUTEX_TIMEDLOCK 0 ++ ++#define __GTHREAD_ONCE_INIT { 0 } ++#define __GTHREAD_TIME_INIT { 0, 0 } ++ ++#define __GTHREAD_COND_INIT_FUNCTION __gthread_cond_init_function ++#define __GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function ++#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function ++ ++typedef struct { ++ int (*active) (void); ++ int (*create) (__gthread_t *__threadid, void *(*__func) (void*), ++ void *__args); ++ int (*join) (__gthread_t __threadid, void **__value_ptr); ++ int (*detach) (__gthread_t __threadid); ++ int (*equal) (__gthread_t __t1, __gthread_t __t2); ++ __gthread_t (*self) (void); ++ int (*yield) (void); ++ int (*once) (__gthread_once_t *__once, void (*__func) (void)); ++ int (*key_create) (__gthread_key_t *__key, void (*__dtor) (void *)); ++ int (*key_delete) (__gthread_key_t __key); ++ void * (*getspecific) (__gthread_key_t __key); ++ int (*setspecific) (__gthread_key_t __key, const void *__ptr); ++ void (*mutex_init_function) (__gthread_mutex_t *__mutex); ++ int (*mutex_destroy) (__gthread_mutex_t *__mutex); ++ int (*mutex_lock) (__gthread_mutex_t *__mutex); ++ int (*mutex_trylock) (__gthread_mutex_t *__mutex); ++ int (*mutex_unlock) (__gthread_mutex_t *__mutex); ++ int (*recursive_mutex_init_function) (__gthread_recursive_mutex_t *__mutex); ++ int (*recursive_mutex_lock) (__gthread_recursive_mutex_t *__mutex); ++ int (*recursive_mutex_trylock) (__gthread_recursive_mutex_t *__mutex); ++ int (*recursive_mutex_unlock) (__gthread_recursive_mutex_t *__mutex); ++ int (*recursive_mutex_destroy) (__gthread_recursive_mutex_t *__mutex); ++ void (*cond_init_function) (__gthread_cond_t *__cond); ++ int (*cond_broadcast) (__gthread_cond_t *__cond); ++ int (*cond_signal) (__gthread_cond_t *__cond); ++ int (*cond_wait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); ++ int (*cond_timedwait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, ++ const __gthread_time_t *__abs_timeout); ++ int (*cond_wait_recursive) (__gthread_cond_t *__cond, ++ __gthread_recursive_mutex_t *__mutex); ++ int (*cond_destroy) (__gthread_cond_t* __cond); ++} __gthread_impl_t; ++ ++extern __gthread_impl_t __gthread_impl; ++ ++int ++__gthread_active_p (void); ++ ++int ++__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), ++ void *__args); ++ ++int ++__gthread_join (__gthread_t __threadid, void **__value_ptr); ++ ++int ++__gthread_detach (__gthread_t __threadid); ++ ++int ++__gthread_equal (__gthread_t __t1, __gthread_t __t2); ++ ++__gthread_t ++__gthread_self (void); ++ ++int ++__gthread_yield (void); ++ ++int ++__gthread_once (__gthread_once_t *__once, void (*__func) (void)); ++ ++int ++__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)); ++ ++int ++__gthread_key_delete (__gthread_key_t __key); ++ ++void * ++__gthread_getspecific (__gthread_key_t __key); ++ ++int ++__gthread_setspecific (__gthread_key_t __key, const void *__ptr); ++ ++void ++__gthread_mutex_init_function (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_destroy (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_lock (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_trylock (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_unlock (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex); ++ ++void ++__gthread_cond_init_function (__gthread_cond_t *__cond); ++ ++int ++__gthread_cond_broadcast (__gthread_cond_t *__cond); ++ ++int ++__gthread_cond_signal (__gthread_cond_t *__cond); ++ ++int ++__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); ++ ++int ++__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, ++ const __gthread_time_t *__abs_timeout); ++ ++int ++__gthread_cond_wait_recursive (__gthread_cond_t *__cond, ++ __gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_cond_destroy (__gthread_cond_t* __cond); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */ +diff --git a/libgcc/config/rs6000/t-ppccomm b/libgcc/config/rs6000/t-ppccomm +index fb812d3801f..7f6669d530f 100644 +--- a/libgcc/config/rs6000/t-ppccomm ++++ b/libgcc/config/rs6000/t-ppccomm +@@ -1,4 +1,5 @@ + LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c \ ++ $(srcdir)/config/rs6000/gthr-dkp.c \ + $(srcdir)/config/rs6000/tramp.S + + # This can't end up in shared libgcc +diff --git a/libgcc/configure b/libgcc/configure +index b2f3f870844..c6f93f8b3ac 100644 +--- a/libgcc/configure ++++ b/libgcc/configure +@@ -5442,6 +5442,7 @@ tm_file="${tm_file_}" + + case $target_thread_file in + aix) thread_header=config/rs6000/gthr-aix.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + dce) thread_header=config/pa/gthr-dce.h ;; + lynx) thread_header=config/gthr-lynx.h ;; + mipssde) thread_header=config/mips/gthr-mipssde.h ;; +diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c +index 5e894455e16..f2347455de0 100644 +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -47,6 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + + /* Target machine header files require this define. */ + #define IN_LIBGCC2 ++#define USED_FOR_TARGET + + /* FIXME: Including auto-host is incorrect, but until we have + identified the set of defines that need to go into auto-target.h, +diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure +index fbc9daeb195..90c15adda62 100755 +--- a/libstdc++-v3/configure ++++ b/libstdc++-v3/configure +@@ -15178,6 +15178,7 @@ $as_echo "$target_thread_file" >&6; } + + case $target_thread_file in + aix) thread_header=config/rs6000/gthr-aix.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + dce) thread_header=config/pa/gthr-dce.h ;; + lynx) thread_header=config/gthr-lynx.h ;; + mipssde) thread_header=config/mips/gthr-mipssde.h ;; diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index e1a9589..3963dd0 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -97,7 +97,7 @@ then --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix\ --with-system-zlib\ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 32" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 33" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ diff --git a/select_toolchain.sh b/select_toolchain.sh index d783600..f152a0f 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -40,8 +40,8 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - GCC_VER=8.1.0 BINUTILS_VER=2.30 + GCC_VER=8.2.0 MN_BINUTILS_VER=2.17 NEWLIB_VER=3.0.0 GDB_VER=8.0.1 From 0c9af4df257100434d1a216a6dc4bfabb677806b Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 1 Nov 2018 13:12:44 +0000 Subject: [PATCH 044/280] use binutils 2.31.1 --- .../{binutils-2.30.patch => binutils-2.31.1.patch} | 8 ++++---- select_toolchain.sh | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) rename dkppc/patches/{binutils-2.30.patch => binutils-2.31.1.patch} (56%) diff --git a/dkppc/patches/binutils-2.30.patch b/dkppc/patches/binutils-2.31.1.patch similarity index 56% rename from dkppc/patches/binutils-2.30.patch rename to dkppc/patches/binutils-2.31.1.patch index 13c34e8..b5df4e7 100644 --- a/dkppc/patches/binutils-2.30.patch +++ b/dkppc/patches/binutils-2.31.1.patch @@ -1,7 +1,7 @@ -diff -NBaur binutils-2.30/opcodes/ppc-opc.c binutils-2.30-ppc/opcodes/ppc-opc.c ---- binutils-2.30/opcodes/ppc-opc.c 2018-01-13 13:31:16.000000000 +0000 -+++ binutils-2.30-ppc/opcodes/ppc-opc.c 2018-05-27 22:33:42.302025484 +0100 -@@ -3488,7 +3488,7 @@ +diff -NBaur binutils-2.31.1/opcodes/ppc-opc.c binutils-2.31.1-ppc/opcodes/ppc-opc.c +--- binutils-2.31.1/opcodes/ppc-opc.c 2018-06-24 19:38:58.000000000 +0100 ++++ binutils-2.31.1-ppc/opcodes/ppc-opc.c 2018-11-01 10:59:42.814553627 +0000 +@@ -3501,7 +3501,7 @@ #define MFDEC2 (PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE \ | PPC_OPCODE_TITAN) #define BOOKE PPC_OPCODE_BOOKE diff --git a/select_toolchain.sh b/select_toolchain.sh index f152a0f..1c28712 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -40,8 +40,8 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - BINUTILS_VER=2.30 GCC_VER=8.2.0 + BINUTILS_VER=2.31.1 MN_BINUTILS_VER=2.17 NEWLIB_VER=3.0.0 GDB_VER=8.0.1 From 83f1b5cf02f6ae0cf9f9a1633acfd30934e260d3 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 1 Nov 2018 13:13:09 +0000 Subject: [PATCH 045/280] remove old gcc patch --- dkppc/patches/gcc-8.1.0.patch | 911 ---------------------------------- 1 file changed, 911 deletions(-) delete mode 100644 dkppc/patches/gcc-8.1.0.patch diff --git a/dkppc/patches/gcc-8.1.0.patch b/dkppc/patches/gcc-8.1.0.patch deleted file mode 100644 index 1c89740..0000000 --- a/dkppc/patches/gcc-8.1.0.patch +++ /dev/null @@ -1,911 +0,0 @@ -diff --git a/config/gthr.m4 b/config/gthr.m4 -index 7b29f1f..814104f 100644 ---- a/config/gthr.m4 -+++ b/config/gthr.m4 -@@ -12,6 +12,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER], - [ - case $1 in - aix) thread_header=config/rs6000/gthr-aix.h ;; -+ dkp) thread_header=config/rs6000/gthr-dkp.h ;; - dce) thread_header=config/pa/gthr-dce.h ;; - lynx) thread_header=config/gthr-lynx.h ;; - mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/gcc/config.gcc b/gcc/config.gcc -index a5defb0..d714072 100644 ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -2459,7 +2459,7 @@ powerpc-xilinx-eabi*) - use_gcc_stdint=wrap - ;; - powerpc-*-eabi*) -- tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h" -+ tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/750cl.h" - extra_options="${extra_options} rs6000/sysv4.opt" - tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" - use_gcc_stdint=wrap -diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h -index b9b58a8..7c86ac6 100644 ---- a/gcc/config/rs6000/rs6000.h -+++ b/gcc/config/rs6000/rs6000.h -@@ -205,6 +205,7 @@ - { "asm_cpu_476", ASM_CPU_476_SPEC }, \ - SUBTARGET_EXTRA_SPECS - -+#if 0 - /* -mcpu=native handling only makes sense with compiler running on - an PowerPC chip. If changing this condition, also change - the condition in driver-rs6000.c. */ -@@ -219,6 +220,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); - #else - #define ASM_CPU_NATIVE_SPEC "%(asm_default)" - #endif -+#endif -+#define ASM_CPU_NATIVE_SPEC "%(asm_default)" - - #ifndef CC1_CPU_SPEC - #ifdef HAVE_LOCAL_CPU_DETECT -diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h -index bb19d0d..ff5f80b 100644 ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -565,7 +565,12 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) - - /* Default starting address if specified. */ - #define LINK_START_SPEC "\ --%{mads : %(link_start_ads) ; \ -+%{mgcn|mogc : %(link_start_ogc) ; \ -+ mvgc : %(link_start_vgc) ; \ -+ mgcbios : %(link_start_gcb) ; \ -+ mrvl : %(link_start_rvl) ; \ -+ mwup : %(link_start_wup) ; \ -+ mads : %(link_start_ads) ; \ - myellowknife : %(link_start_yellowknife) ; \ - mmvme : %(link_start_mvme) ; \ - msim : %(link_start_sim) ; \ -@@ -596,7 +601,9 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) - - /* Any specific OS flags. */ - #define LINK_OS_SPEC "\ --%{mads : %(link_os_ads) ; \ -+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(link_os_ogc) ; \ -+ mwup : %(link_os_wup) ; \ -+ mads : %(link_os_ads) ; \ - myellowknife : %(link_os_yellowknife) ; \ - mmvme : %(link_os_mvme) ; \ - msim : %(link_os_sim) ; \ -@@ -614,7 +621,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) - /* Override rs6000.h definition. */ - #undef CPP_SPEC - #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ --%{mads : %(cpp_os_ads) ; \ -+%{mgcn : %(cpp_os_gcn) ; \ -+ mogc|mvgc|mgcbios : %(cpp_os_ogc) ; \ -+ mrvl : %(cpp_os_rvl) ; \ -+ mwup : %(cpp_os_wup) ; \ -+ mads : %(cpp_os_ads) ; \ - myellowknife : %(cpp_os_yellowknife) ; \ - mmvme : %(cpp_os_mvme) ; \ - msim : %(cpp_os_sim) ; \ -@@ -628,7 +639,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) - - #undef STARTFILE_SPEC - #define STARTFILE_SPEC "\ --%{mads : %(startfile_ads) ; \ -+%{mgcn : %(startfile_gcn) ; \ -+ mogc|mvgc|mgcbios : %(startfile_ogc) ; \ -+ mrvl : %(startfile_ogc) ; \ -+ mwup : %(startfile_wup) ; \ -+ mads : %(startfile_ads) ; \ - myellowknife : %(startfile_yellowknife) ; \ - mmvme : %(startfile_mvme) ; \ - msim : %(startfile_sim) ; \ -@@ -642,7 +657,9 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) - - #undef LIB_SPEC - #define LIB_SPEC "\ --%{mads : %(lib_ads) ; \ -+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(lib_ogc) ; \ -+ mwup : %(lib_wup) ; \ -+ mads : %(lib_ads) ; \ - myellowknife : %(lib_yellowknife) ; \ - mmvme : %(lib_mvme) ; \ - msim : %(lib_sim) ; \ -@@ -652,11 +669,13 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) - mcall-openbsd: %(lib_openbsd) ; \ - : %(lib_default) }" - --#define LIB_DEFAULT_SPEC "-lc" -+#define LIB_DEFAULT_SPEC "--start-group -lsysbase -lc --end-group" - - #undef ENDFILE_SPEC - #define ENDFILE_SPEC "\ --%{mads : %(endfile_ads) ; \ -+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(endfile_ogc) ; \ -+ mwup : %(endfile_wup) ; \ -+ mads : %(endfile_ads) ; \ - myellowknife : %(endfile_yellowknife) ; \ - mmvme : %(endfile_mvme) ; \ - msim : %(endfile_sim) ; \ -@@ -672,16 +691,33 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) - - /* Motorola ADS support. */ - #define LIB_ADS_SPEC "--start-group -lads -lc --end-group" -+#define LIB_OGC_SPEC "--start-group -lsysbase -lc --end-group" -+#define LIB_WUP_SPEC "--start-group -lsysbase -lc --end-group" - - #define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s" -+#define STARTFILE_OGC_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s" -+#define STARTFILE_WUP_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s" - - #define ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s" -+#define ENDFILE_OGC_SPEC "crtend.o%s ecrtn.o%s" -+#define ENDFILE_WUP_SPEC "crtend.o%s ecrtn.o%s" - - #define LINK_START_ADS_SPEC "-T ads.ld%s" -+#define LINK_START_OGC_SPEC "-T ogc.ld%s" -+#define LINK_START_RVL_SPEC "-T rvl.ld%s" -+#define LINK_START_WUP_SPEC "-T wup.ld%s" -+#define LINK_START_VGC_SPEC "-T vgcogc.ld%s" -+#define LINK_START_GCB_SPEC "-T gcbogc.ld%s" - - #define LINK_OS_ADS_SPEC "" -+#define LINK_OS_OGC_SPEC "--gc-sections" -+#define LINK_OS_WUP_SPEC "--gc-sections" - - #define CPP_OS_ADS_SPEC "" -+#define CPP_OS_GCN_SPEC "-D__gamecube__ -ffunction-sections -fdata-sections" -+#define CPP_OS_OGC_SPEC "-D__gamecube__ -DHW_DOL -ffunction-sections -fdata-sections" -+#define CPP_OS_RVL_SPEC "-D__wii__ -DHW_RVL -ffunction-sections -fdata-sections" -+#define CPP_OS_WUP_SPEC "-D__wiiu__ -DHW_WUP -ffunction-sections -fdata-sections" - - /* Motorola Yellowknife support. */ - #define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" -@@ -882,6 +918,8 @@ ncrtn.o%s" - #undef SUBTARGET_EXTRA_SPECS - #define SUBTARGET_EXTRA_SPECS \ - { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ -+ { "lib_ogc", LIB_OGC_SPEC }, \ -+ { "lib_wup", LIB_WUP_SPEC }, \ - { "lib_ads", LIB_ADS_SPEC }, \ - { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ - { "lib_mvme", LIB_MVME_SPEC }, \ -@@ -891,6 +929,8 @@ ncrtn.o%s" - { "lib_netbsd", LIB_NETBSD_SPEC }, \ - { "lib_openbsd", LIB_OPENBSD_SPEC }, \ - { "lib_default", LIB_DEFAULT_SPEC }, \ -+ { "startfile_ogc", STARTFILE_OGC_SPEC }, \ -+ { "startfile_wup", STARTFILE_WUP_SPEC }, \ - { "startfile_ads", STARTFILE_ADS_SPEC }, \ - { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ - { "startfile_mvme", STARTFILE_MVME_SPEC }, \ -@@ -900,6 +940,8 @@ ncrtn.o%s" - { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ - { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ - { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ -+ { "endfile_ogc", ENDFILE_OGC_SPEC }, \ -+ { "endfile_wup", ENDFILE_WUP_SPEC }, \ - { "endfile_ads", ENDFILE_ADS_SPEC }, \ - { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ - { "endfile_mvme", ENDFILE_MVME_SPEC }, \ -@@ -911,7 +953,12 @@ ncrtn.o%s" - { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ - { "link_shlib", LINK_SHLIB_SPEC }, \ - { "link_start", LINK_START_SPEC }, \ -+ { "link_start_vgc", LINK_START_VGC_SPEC }, \ -+ { "link_start_gcb", LINK_START_GCB_SPEC }, \ -+ { "link_start_rvl", LINK_START_RVL_SPEC }, \ -+ { "link_start_wup", LINK_START_WUP_SPEC }, \ - { "link_start_ads", LINK_START_ADS_SPEC }, \ -+ { "link_start_ogc", LINK_START_OGC_SPEC }, \ - { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ - { "link_start_mvme", LINK_START_MVME_SPEC }, \ - { "link_start_sim", LINK_START_SIM_SPEC }, \ -@@ -921,6 +968,8 @@ ncrtn.o%s" - { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ - { "link_start_default", LINK_START_DEFAULT_SPEC }, \ - { "link_os", LINK_OS_SPEC }, \ -+ { "link_os_ogc", LINK_OS_OGC_SPEC }, \ -+ { "link_os_wup", LINK_OS_WUP_SPEC }, \ - { "link_os_ads", LINK_OS_ADS_SPEC }, \ - { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ - { "link_os_mvme", LINK_OS_MVME_SPEC }, \ -@@ -932,6 +981,10 @@ ncrtn.o%s" - { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ - { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ - { "link_secure_plt", LINK_SECURE_PLT_SPEC }, \ -+ { "cpp_os_gcn", CPP_OS_GCN_SPEC }, \ -+ { "cpp_os_ogc", CPP_OS_OGC_SPEC }, \ -+ { "cpp_os_rvl", CPP_OS_RVL_SPEC }, \ -+ { "cpp_os_wup", CPP_OS_WUP_SPEC }, \ - { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ - { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ - { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ -diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt -index 34fea0d..9451447 100644 ---- a/gcc/config/rs6000/sysv4.opt -+++ b/gcc/config/rs6000/sysv4.opt -@@ -124,6 +124,30 @@ mads - Target RejectNegative - Link with libads.a, libc.a and crt0.o. - -+mgcn -+Target RejectNegative -+Link with libsysbase.a and libc.a, use ogc linker script -+ -+mogc -+Target RejectNegative -+Link with libsysbase.a and libc.a, use ogc linker script -+ -+mgcbios -+Target RejectNegative -+Link with libsysbase.a and libc.a, use gcbogc linker script -+ -+mvgc -+Target RejectNegative -+Link with libsysbase.a and libc.a, use gcbogc linker script -+ -+mrvl -+Target RejectNegative -+Link with libsysbase.a and libc.a, use rvl linker script -+ -+mwup -+Target RejectNegative -+Link with libsysbase.a and libc.a, use wup linker script -+ - myellowknife - Target RejectNegative - Link with libyk.a, libc.a and crt0.o. -diff --git a/gcc/configure b/gcc/configure -index 6121e16..6584112 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -11692,7 +11692,7 @@ case ${enable_threads} in - # default - target_thread_file='single' - ;; -- aix | dce | lynx | mipssde | posix | rtems | \ -+ aix | dce | dkp | lynx | mipssde | posix | rtems | \ - single | tpf | vxworks | win32) - target_thread_file=${enable_threads} - ;; -diff --git a/gcc/configure.ac b/gcc/configure.ac -index b066cc6..c42b3ef 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -1611,7 +1611,7 @@ case ${enable_threads} in - # default - target_thread_file='single' - ;; -- aix | dce | lynx | mipssde | posix | rtems | \ -+ aix | dce | dkp | lynx | mipssde | posix | rtems | \ - single | tpf | vxworks | win32) - target_thread_file=${enable_threads} - ;; -diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S -index ba2b262..8d86610 100644 ---- a/libgcc/config/rs6000/crtrestvr.S -+++ b/libgcc/config/rs6000/crtrestvr.S -@@ -24,7 +24,7 @@ - - /* On PowerPC64 Linux, these functions are provided by the linker. */ - #ifndef __powerpc64__ -- -+#if 0 - #undef __ALTIVEC__ - #define __ALTIVEC__ 1 - #include "ppc-asm.h" -@@ -86,3 +86,4 @@ FUNC_END(_restvr_20) - CFI_ENDPROC - - #endif -+#endif -diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S -index 077e33f..b7be68b 100644 ---- a/libgcc/config/rs6000/crtsavevr.S -+++ b/libgcc/config/rs6000/crtsavevr.S -@@ -24,7 +24,7 @@ - - /* On PowerPC64 Linux, these functions are provided by the linker. */ - #ifndef __powerpc64__ -- -+#if 0 - #undef __ALTIVEC__ - #define __ALTIVEC__ 1 - #include "ppc-asm.h" -@@ -86,3 +86,4 @@ FUNC_END(_savevr_20) - CFI_ENDPROC - - #endif -+#endif -diff --git a/libgcc/config/rs6000/gthr-dkp.c b/libgcc/config/rs6000/gthr-dkp.c -new file mode 100644 -index 0000000..94d6ba9 ---- /dev/null -+++ b/libgcc/config/rs6000/gthr-dkp.c -@@ -0,0 +1,349 @@ -+/* Threads compatibility routines for libgcc2 and libobjc. */ -+/* Compile this one with gcc. */ -+/* Copyright (C) 1997-2016 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. -+ -+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 "gthr-dkp.h" -+#include -+ -+__gthread_impl_t __gthread_impl = { -+ NULL, // active -+ NULL, // create -+ NULL, // join -+ NULL, // detach -+ NULL, // equal -+ NULL, // self -+ NULL, // yield -+ NULL, // once -+ NULL, // key_create -+ NULL, // key_delete -+ NULL, // getspecific -+ NULL, // setspecific -+ NULL, // mutex_init_function -+ NULL, // mutex_destroy -+ NULL, // mutex_lock -+ NULL, // mutex_trylock -+ NULL, // mutex_unlock -+ NULL, // recursive_mutex_init_function -+ NULL, // recursive_mutex_lock -+ NULL, // recursive_mutex_trylock -+ NULL, // recursive_mutex_unlock -+ NULL, // recursive_mutex_destroy -+ NULL, // cond_init_function -+ NULL, // cond_broadcast -+ NULL, // cond_signal -+ NULL, // cond_wait -+ NULL, // cond_timedwait -+ NULL, // cond_wait_recursive -+ NULL, // cond_destroy -+}; -+ -+int -+__gthread_active_p (void) -+{ -+ if (!__gthread_impl.active) { -+ return 0; -+ } -+ -+ return __gthread_impl.active(); -+} -+ -+int -+__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), -+ void *__args) -+{ -+ if (!__gthread_impl.create) { -+ return -1; -+ } -+ -+ return __gthread_impl.create(__threadid, __func, __args); -+} -+ -+int -+__gthread_join (__gthread_t __threadid, void **__value_ptr) -+{ -+ if (!__gthread_impl.join) { -+ return -1; -+ } -+ -+ return __gthread_impl.join(__threadid, __value_ptr); -+} -+ -+int -+__gthread_detach (__gthread_t __threadid) -+{ -+ if (!__gthread_impl.detach) { -+ return -1; -+ } -+ -+ return __gthread_impl.detach(__threadid); -+} -+ -+int -+__gthread_equal (__gthread_t __t1, __gthread_t __t2) -+{ -+ if (!__gthread_impl.equal) { -+ return -1; -+ } -+ -+ return __gthread_impl.equal(__t1, __t2); -+} -+ -+__gthread_t -+__gthread_self (void) -+{ -+ if (!__gthread_impl.self) { -+ __gthread_t result = { 0 }; -+ return result; -+ } -+ -+ return __gthread_impl.self(); -+} -+ -+int -+__gthread_yield (void) -+{ -+ if (!__gthread_impl.yield) { -+ return -1; -+ } -+ -+ return __gthread_impl.yield(); -+} -+ -+int -+__gthread_once (__gthread_once_t *__once, void (*__func) (void)) -+{ -+ if (!__gthread_impl.once) { -+ return -1; -+ } -+ -+ return __gthread_impl.once(__once, __func); -+} -+ -+int -+__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) -+{ -+ if (!__gthread_impl.key_create) { -+ return -1; -+ } -+ -+ return __gthread_impl.key_create(__key, __dtor); -+} -+ -+int -+__gthread_key_delete (__gthread_key_t __key) -+{ -+ if (!__gthread_impl.key_delete) { -+ return -1; -+ } -+ -+ return __gthread_impl.key_delete(__key); -+} -+ -+void * -+__gthread_getspecific (__gthread_key_t __key) -+{ -+ if (!__gthread_impl.getspecific) { -+ return NULL; -+ } -+ -+ return __gthread_impl.getspecific(__key); -+} -+ -+int -+__gthread_setspecific (__gthread_key_t __key, const void *__ptr) -+{ -+ if (!__gthread_impl.setspecific) { -+ return -1; -+ } -+ -+ return __gthread_impl.setspecific(__key, __ptr); -+} -+ -+void -+__gthread_mutex_init_function (__gthread_mutex_t *__mutex) -+{ -+ if (__gthread_impl.mutex_init_function) { -+ __gthread_impl.mutex_init_function(__mutex); -+ } -+} -+ -+int -+__gthread_mutex_destroy (__gthread_mutex_t *__mutex) -+{ -+ if (!__gthread_impl.mutex_destroy) { -+ return -1; -+ } -+ -+ return __gthread_impl.mutex_destroy(__mutex); -+} -+ -+int -+__gthread_mutex_lock (__gthread_mutex_t *__mutex) -+{ -+ if (!__gthread_impl.mutex_lock) { -+ return -1; -+ } -+ -+ return __gthread_impl.mutex_lock(__mutex); -+} -+ -+int -+__gthread_mutex_trylock (__gthread_mutex_t *__mutex) -+{ -+ if (!__gthread_impl.mutex_trylock) { -+ return -1; -+ } -+ -+ return __gthread_impl.mutex_trylock(__mutex); -+} -+ -+int -+__gthread_mutex_unlock (__gthread_mutex_t *__mutex) -+{ -+ if (!__gthread_impl.mutex_unlock) { -+ return -1; -+ } -+ -+ return __gthread_impl.mutex_unlock(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__gthread_impl.recursive_mutex_init_function) { -+ return -1; -+ } -+ -+ return __gthread_impl.recursive_mutex_init_function(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__gthread_impl.recursive_mutex_lock) { -+ return -1; -+ } -+ -+ return __gthread_impl.recursive_mutex_lock(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__gthread_impl.recursive_mutex_trylock) { -+ return -1; -+ } -+ -+ return __gthread_impl.recursive_mutex_trylock(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__gthread_impl.recursive_mutex_unlock) { -+ return -1; -+ } -+ -+ return __gthread_impl.recursive_mutex_unlock(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__gthread_impl.recursive_mutex_destroy) { -+ return -1; -+ } -+ -+ return __gthread_impl.recursive_mutex_destroy(__mutex); -+} -+ -+void -+__gthread_cond_init_function (__gthread_cond_t *__cond) -+{ -+ if (__gthread_impl.cond_init_function) { -+ __gthread_impl.cond_init_function(__cond); -+ } -+} -+ -+int -+__gthread_cond_broadcast (__gthread_cond_t *__cond) -+{ -+ if (!__gthread_impl.cond_broadcast) { -+ return -1; -+ } -+ -+ return __gthread_impl.cond_broadcast(__cond); -+} -+ -+int -+__gthread_cond_signal (__gthread_cond_t *__cond) -+{ -+ if (!__gthread_impl.cond_signal) { -+ return -1; -+ } -+ -+ return __gthread_impl.cond_signal(__cond); -+} -+ -+int -+__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) -+{ -+ if (!__gthread_impl.cond_wait) { -+ return -1; -+ } -+ -+ return __gthread_impl.cond_wait(__cond, __mutex); -+} -+ -+int -+__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, -+ const __gthread_time_t *__abs_timeout) -+{ -+ if (!__gthread_impl.cond_timedwait) { -+ return -1; -+ } -+ -+ return __gthread_impl.cond_timedwait(__cond, __mutex, __abs_timeout); -+} -+ -+int -+__gthread_cond_wait_recursive (__gthread_cond_t *__cond, -+ __gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__gthread_impl.cond_wait_recursive) { -+ return -1; -+ } -+ -+ return __gthread_impl.cond_wait_recursive(__cond, __mutex); -+} -+ -+int -+__gthread_cond_destroy (__gthread_cond_t* __cond) -+{ -+ if (!__gthread_impl.cond_destroy) { -+ return -1; -+ } -+ -+ return __gthread_impl.cond_destroy(__cond); -+} -diff --git a/libgcc/config/rs6000/gthr-dkp.h b/libgcc/config/rs6000/gthr-dkp.h -new file mode 100644 -index 0000000..281c19d ---- /dev/null -+++ b/libgcc/config/rs6000/gthr-dkp.h -@@ -0,0 +1,185 @@ -+/* Threads compatibility routines for libgcc2 and libobjc. */ -+/* Compile this one with gcc. */ -+/* Copyright (C) 1997-2016 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. -+ -+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 -+. */ -+ -+#ifndef _GLIBCXX_GCC_GTHR_DKP_H -+#define _GLIBCXX_GCC_GTHR_DKP_H -+ -+#define __GTHREADS 1 -+#define __GTHREADS_CXX0X 1 -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+typedef void * __gthread_t; -+typedef struct { int padding[7]; } __gthread_cond_t; -+typedef struct { int padding; } __gthread_key_t; -+typedef struct { int padding[11]; } __gthread_mutex_t; -+typedef struct { int padding; } __gthread_once_t; -+typedef struct { int padding[11]; } __gthread_recursive_mutex_t; -+typedef struct timespec __gthread_time_t; -+ -+#define __GTHREAD_HAS_COND 1 -+#define _GTHREAD_USE_MUTEX_TIMEDLOCK 0 -+ -+#define __GTHREAD_ONCE_INIT { 0 } -+#define __GTHREAD_TIME_INIT { 0, 0 } -+ -+#define __GTHREAD_COND_INIT_FUNCTION __gthread_cond_init_function -+#define __GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function -+#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function -+ -+typedef struct { -+ int (*active) (void); -+ int (*create) (__gthread_t *__threadid, void *(*__func) (void*), -+ void *__args); -+ int (*join) (__gthread_t __threadid, void **__value_ptr); -+ int (*detach) (__gthread_t __threadid); -+ int (*equal) (__gthread_t __t1, __gthread_t __t2); -+ __gthread_t (*self) (void); -+ int (*yield) (void); -+ int (*once) (__gthread_once_t *__once, void (*__func) (void)); -+ int (*key_create) (__gthread_key_t *__key, void (*__dtor) (void *)); -+ int (*key_delete) (__gthread_key_t __key); -+ void * (*getspecific) (__gthread_key_t __key); -+ int (*setspecific) (__gthread_key_t __key, const void *__ptr); -+ void (*mutex_init_function) (__gthread_mutex_t *__mutex); -+ int (*mutex_destroy) (__gthread_mutex_t *__mutex); -+ int (*mutex_lock) (__gthread_mutex_t *__mutex); -+ int (*mutex_trylock) (__gthread_mutex_t *__mutex); -+ int (*mutex_unlock) (__gthread_mutex_t *__mutex); -+ int (*recursive_mutex_init_function) (__gthread_recursive_mutex_t *__mutex); -+ int (*recursive_mutex_lock) (__gthread_recursive_mutex_t *__mutex); -+ int (*recursive_mutex_trylock) (__gthread_recursive_mutex_t *__mutex); -+ int (*recursive_mutex_unlock) (__gthread_recursive_mutex_t *__mutex); -+ int (*recursive_mutex_destroy) (__gthread_recursive_mutex_t *__mutex); -+ void (*cond_init_function) (__gthread_cond_t *__cond); -+ int (*cond_broadcast) (__gthread_cond_t *__cond); -+ int (*cond_signal) (__gthread_cond_t *__cond); -+ int (*cond_wait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); -+ int (*cond_timedwait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, -+ const __gthread_time_t *__abs_timeout); -+ int (*cond_wait_recursive) (__gthread_cond_t *__cond, -+ __gthread_recursive_mutex_t *__mutex); -+ int (*cond_destroy) (__gthread_cond_t* __cond); -+} __gthread_impl_t; -+ -+extern __gthread_impl_t __gthread_impl; -+ -+int -+__gthread_active_p (void); -+ -+int -+__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), -+ void *__args); -+ -+int -+__gthread_join (__gthread_t __threadid, void **__value_ptr); -+ -+int -+__gthread_detach (__gthread_t __threadid); -+ -+int -+__gthread_equal (__gthread_t __t1, __gthread_t __t2); -+ -+__gthread_t -+__gthread_self (void); -+ -+int -+__gthread_yield (void); -+ -+int -+__gthread_once (__gthread_once_t *__once, void (*__func) (void)); -+ -+int -+__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)); -+ -+int -+__gthread_key_delete (__gthread_key_t __key); -+ -+void * -+__gthread_getspecific (__gthread_key_t __key); -+ -+int -+__gthread_setspecific (__gthread_key_t __key, const void *__ptr); -+ -+void -+__gthread_mutex_init_function (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_mutex_destroy (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_mutex_lock (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_mutex_trylock (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_mutex_unlock (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex); -+ -+void -+__gthread_cond_init_function (__gthread_cond_t *__cond); -+ -+int -+__gthread_cond_broadcast (__gthread_cond_t *__cond); -+ -+int -+__gthread_cond_signal (__gthread_cond_t *__cond); -+ -+int -+__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); -+ -+int -+__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, -+ const __gthread_time_t *__abs_timeout); -+ -+int -+__gthread_cond_wait_recursive (__gthread_cond_t *__cond, -+ __gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_cond_destroy (__gthread_cond_t* __cond); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */ -diff --git a/libgcc/config/rs6000/t-ppccomm b/libgcc/config/rs6000/t-ppccomm -index fb812d3..7f6669d 100644 ---- a/libgcc/config/rs6000/t-ppccomm -+++ b/libgcc/config/rs6000/t-ppccomm -@@ -1,4 +1,5 @@ - LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c \ -+ $(srcdir)/config/rs6000/gthr-dkp.c \ - $(srcdir)/config/rs6000/tramp.S - - # This can't end up in shared libgcc -diff --git a/libgcc/configure b/libgcc/configure -index b2f3f87..c6f93f8 100644 ---- a/libgcc/configure -+++ b/libgcc/configure -@@ -5442,6 +5442,7 @@ tm_file="${tm_file_}" - - case $target_thread_file in - aix) thread_header=config/rs6000/gthr-aix.h ;; -+ dkp) thread_header=config/rs6000/gthr-dkp.h ;; - dce) thread_header=config/pa/gthr-dce.h ;; - lynx) thread_header=config/gthr-lynx.h ;; - mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 5e89445..f234745 100644 ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -47,6 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - - /* Target machine header files require this define. */ - #define IN_LIBGCC2 -+#define USED_FOR_TARGET - - /* FIXME: Including auto-host is incorrect, but until we have - identified the set of defines that need to go into auto-target.h, -diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index ba094be..ac53ee6 100755 ---- a/libstdc++-v3/configure -+++ b/libstdc++-v3/configure -@@ -15178,6 +15178,7 @@ $as_echo "$target_thread_file" >&6; } - - case $target_thread_file in - aix) thread_header=config/rs6000/gthr-aix.h ;; -+ dkp) thread_header=config/rs6000/gthr-dkp.h ;; - dce) thread_header=config/pa/gthr-dce.h ;; - lynx) thread_header=config/gthr-lynx.h ;; - mipssde) thread_header=config/mips/gthr-mipssde.h ;; From a9712ae81e75005ecb28f9df9f96119a5cfd406c Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 1 Nov 2018 13:13:59 +0000 Subject: [PATCH 046/280] use gdb 8.2 --- select_toolchain.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/select_toolchain.sh b/select_toolchain.sh index 1c28712..eb09229 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -44,7 +44,7 @@ case "$VERSION" in BINUTILS_VER=2.31.1 MN_BINUTILS_VER=2.17 NEWLIB_VER=3.0.0 - GDB_VER=8.0.1 + GDB_VER=8.2 basedir='dkppc' package=devkitPPC target=powerpc-eabi From 61dec9401a1a927a7958298a519856addd40bba5 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 14 Nov 2018 19:33:32 +0000 Subject: [PATCH 047/280] add note about devkitPro pacman --- build-devkit.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-devkit.sh b/build-devkit.sh index 79e870a..69d9dc0 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -18,6 +18,9 @@ echo "Please note, these scripts are provided as a courtesy, toolchains built wi echo "are for personal use only and may not be distributed by entities other than devkitPro." echo "See http://devkitpro.org/wiki/Trademarks" echo +echo "Users should use devkitPro pacman to maintain toolchain installations where possible" +echo "See https://devkitpro.org/wiki/devkitPro_pacman" +echo echo "Patches and improvements are of course welcome, please submit a PR" echo "https://github.com/devkitPro/buildscripts/pulls" echo From 0bbc2be39458ae1cb379ed7c5c11626e66ee621b Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 1 Nov 2018 10:51:27 +0000 Subject: [PATCH 048/280] update to gcc 8.2 --- .../{gcc-8.1.0.patch => gcc-8.2.0.patch} | 87 +++++++++---------- dkarm-eabi/scripts/build-gcc.sh | 4 +- select_toolchain.sh | 2 +- 3 files changed, 46 insertions(+), 47 deletions(-) rename dkarm-eabi/patches/{gcc-8.1.0.patch => gcc-8.2.0.patch} (83%) diff --git a/dkarm-eabi/patches/gcc-8.1.0.patch b/dkarm-eabi/patches/gcc-8.2.0.patch similarity index 83% rename from dkarm-eabi/patches/gcc-8.1.0.patch rename to dkarm-eabi/patches/gcc-8.2.0.patch index 602a67e..1c1e787 100644 --- a/dkarm-eabi/patches/gcc-8.1.0.patch +++ b/dkarm-eabi/patches/gcc-8.2.0.patch @@ -1,7 +1,8 @@ -diff -NBaur gcc-8.1.0/gcc/config/arm/arm-cpus.in gcc-8.1.0-arm/gcc/config/arm/arm-cpus.in ---- gcc-8.1.0/gcc/config/arm/arm-cpus.in 2018-01-11 15:21:26.000000000 +0000 -+++ gcc-8.1.0-arm/gcc/config/arm/arm-cpus.in 2018-05-11 01:05:33.648236777 +0000 -@@ -393,7 +393,7 @@ +diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in +index 545321b0bbe..63ed77af8fd 100644 +--- a/gcc/config/arm/arm-cpus.in ++++ b/gcc/config/arm/arm-cpus.in +@@ -395,7 +395,7 @@ begin arch armv6k tune for mpcore tune flags CO_PROC base 6K @@ -10,9 +11,10 @@ diff -NBaur gcc-8.1.0/gcc/config/arm/arm-cpus.in gcc-8.1.0-arm/gcc/config/arm/ar option fp add VFPv2 FP_DBL optalias vfpv2 fp option nofp remove ALL_FP -diff -NBaur gcc-8.1.0/gcc/config/arm/t-arm-elf gcc-8.1.0-arm/gcc/config/arm/t-arm-elf ---- gcc-8.1.0/gcc/config/arm/t-arm-elf 2018-01-11 15:21:26.000000000 +0000 -+++ gcc-8.1.0-arm/gcc/config/arm/t-arm-elf 2018-05-10 23:15:13.124566279 +0000 +diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf +index 9ec5bf065ac..9ab3ffb109d 100644 +--- a/gcc/config/arm/t-arm-elf ++++ b/gcc/config/arm/t-arm-elf @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2018 Free Software Foundation, Inc. +# Copyright (C) 1998-2017 Free Software Foundation, Inc. @@ -105,25 +107,22 @@ diff -NBaur gcc-8.1.0/gcc/config/arm/t-arm-elf gcc-8.1.0-arm/gcc/config/arm/t-ar - -MULTILIB_MATCHES += $(foreach FPARCH, $(v7a_fps), \ - march?armv7+fp=march?armv7-a+$(FPARCH)) - +- -MULTILIB_MATCHES += $(foreach FPARCH, $(v7ve_fps), \ - march?armv7+fp=march?armv7ve+$(FPARCH)) -+MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard - +- -MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \ - march?armv7+fp=march?$(ARCH) \ - march?armv7+fp=march?$(ARCH)+fp) - +- -MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \ - march?armv7+fp=march?$(ARCH) \ - $(foreach FPARCH, $(v8_fps), \ - march?armv7+fp=march?$(ARCH)+$(FPARCH))) -+MULTILIB_MATCHES += march?armv6k=mtune?mpcore -+MULTILIB_MATCHES += march?armv6k=mcpu?mpcore - +- -MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \ - march?armv7+fp=march?$(ARCH)+fp.dp) - +- -# PART 4 - Reuse rules -MULTILIB_REUSE += mthumb=mthumb/mfpu.auto @@ -135,6 +134,14 @@ diff -NBaur gcc-8.1.0/gcc/config/arm/t-arm-elf gcc-8.1.0-arm/gcc/config/arm/t-ar -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard ++MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard ++ ++ ++MULTILIB_MATCHES += march?armv6k=mtune?mpcore ++MULTILIB_MATCHES += march?armv6k=mcpu?mpcore ++ ++ ++ +#MULTILIB_OPTIONS += mcpu=fa526/mcpu=fa626/mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te +#MULTILIB_DIRNAMES += fa526 fa626 fa606te fa626te fmp626 fa726te +#MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=fa526 *mthumb*/*mcpu=fa626 @@ -202,9 +209,10 @@ diff -NBaur gcc-8.1.0/gcc/config/arm/t-arm-elf gcc-8.1.0-arm/gcc/config/arm/t-ar +# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm600 +# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm610 +# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm620 -diff -NBaur gcc-8.1.0/gcc/config/arm/unknown-elf.h gcc-8.1.0-arm/gcc/config/arm/unknown-elf.h ---- gcc-8.1.0/gcc/config/arm/unknown-elf.h 2018-01-03 10:03:58.000000000 +0000 -+++ gcc-8.1.0-arm/gcc/config/arm/unknown-elf.h 2018-05-10 23:01:02.432676190 +0000 +diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h +index 12dd0931b08..59584fe64bc 100644 +--- a/gcc/config/arm/unknown-elf.h ++++ b/gcc/config/arm/unknown-elf.h @@ -29,7 +29,7 @@ #endif @@ -225,10 +233,11 @@ diff -NBaur gcc-8.1.0/gcc/config/arm/unknown-elf.h gcc-8.1.0-arm/gcc/config/arm/ +#undef NO_IMPLICIT_EXTERN_C +#define NO_IMPLICIT_EXTERN_C + -diff -NBaur gcc-8.1.0/gcc/gcc.c gcc-8.1.0-arm/gcc/gcc.c ---- gcc-8.1.0/gcc/gcc.c 2018-02-09 06:44:06.000000000 +0000 -+++ gcc-8.1.0-arm/gcc/gcc.c 2018-05-10 23:01:02.440676328 +0000 -@@ -786,6 +786,11 @@ +diff --git a/gcc/gcc.c b/gcc/gcc.c +index a716f708259..6a11011dba7 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -786,6 +786,11 @@ proper position among the other output files. */ #endif #endif @@ -240,7 +249,7 @@ diff -NBaur gcc-8.1.0/gcc/gcc.c gcc-8.1.0-arm/gcc/gcc.c /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ #ifndef STARTFILE_SPEC #define STARTFILE_SPEC \ -@@ -1081,6 +1086,7 @@ +@@ -1081,6 +1086,7 @@ static const char *link_spec = LINK_SPEC; static const char *lib_spec = LIB_SPEC; static const char *link_gomp_spec = ""; static const char *libgcc_spec = LIBGCC_SPEC; @@ -248,7 +257,7 @@ diff -NBaur gcc-8.1.0/gcc/gcc.c gcc-8.1.0-arm/gcc/gcc.c static const char *endfile_spec = ENDFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC; static const char *linker_name_spec = LINKER_NAME; -@@ -1577,6 +1583,7 @@ +@@ -1577,6 +1583,7 @@ static struct spec_list static_specs[] = INIT_STATIC_SPEC ("lib", &lib_spec), INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec), @@ -256,19 +265,21 @@ diff -NBaur gcc-8.1.0/gcc/gcc.c gcc-8.1.0-arm/gcc/gcc.c INIT_STATIC_SPEC ("startfile", &startfile_spec), INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("version", &compiler_version), -diff -NBaur gcc-8.1.0/libgcc/config/arm/t-bpabi gcc-8.1.0-arm/libgcc/config/arm/t-bpabi ---- gcc-8.1.0/libgcc/config/arm/t-bpabi 2012-08-17 15:06:06.000000000 +0000 -+++ gcc-8.1.0-arm/libgcc/config/arm/t-bpabi 2018-05-10 23:01:02.440676328 +0000 -@@ -17,4 +17,4 @@ +diff --git a/libgcc/config/arm/t-bpabi b/libgcc/config/arm/t-bpabi +index dddddc7c444..c2502597953 100644 +--- a/libgcc/config/arm/t-bpabi ++++ b/libgcc/config/arm/t-bpabi +@@ -17,4 +17,4 @@ SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver # On ARM, specifying -fnon-call-exceptions will needlessly pull in # the unwinder in simple programs which use 64-bit division. Omitting # the option is safe. -LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions +LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -diff -NBaur gcc-8.1.0/libgcc/crtstuff.c gcc-8.1.0-arm/libgcc/crtstuff.c ---- gcc-8.1.0/libgcc/crtstuff.c 2018-01-03 10:03:58.000000000 +0000 -+++ gcc-8.1.0-arm/libgcc/crtstuff.c 2018-05-10 23:01:02.440676328 +0000 -@@ -47,7 +47,7 @@ +diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c +index 5e894455e16..f81c9c6a64c 100644 +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -47,7 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see /* Target machine header files require this define. */ #define IN_LIBGCC2 @@ -277,15 +288,3 @@ diff -NBaur gcc-8.1.0/libgcc/crtstuff.c gcc-8.1.0-arm/libgcc/crtstuff.c /* FIXME: Including auto-host is incorrect, but until we have identified the set of defines that need to go into auto-target.h, this will have to do. */ -diff -NBaur gcc-8.1.0/libgcc/Makefile.in gcc-8.1.0-arm/libgcc/Makefile.in ---- gcc-8.1.0/libgcc/Makefile.in 2018-01-03 10:03:58.000000000 +0000 -+++ gcc-8.1.0-arm/libgcc/Makefile.in 2018-05-10 23:01:02.440676328 +0000 -@@ -847,7 +847,7 @@ - # libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and - # LIB2ADDEHSHARED matter. (Usually all three are identical.) - --c_flags := -fexceptions -+c_flags := -fno-exceptions - - ifeq ($(enable_shared),yes) - diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 804e791..201af13 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -12,7 +12,7 @@ if [ ! -f configured-binutils ] then CPPFLAGS="$cppflags $CPPFLAGS" LDFLAGS=$ldflags ../../binutils-$BINUTILS_VER/configure \ --prefix=$prefix --target=$target --disable-nls --disable-werror \ - --enable-lto --enable-plugins --enable-gold \ + --enable-lto --enable-plugins \ --enable-poison-system-directories \ $CROSS_PARAMS \ || { echo "Error configuring binutils"; exit 1; } @@ -64,7 +64,7 @@ then --prefix=$prefix \ --enable-lto\ --with-system-zlib \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 49" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 50" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } diff --git a/select_toolchain.sh b/select_toolchain.sh index eb09229..ae54a8a 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,8 +30,8 @@ done case "$VERSION" in "1" ) - GCC_VER=8.1.0 BINUTILS_VER=2.30 + GCC_VER=8.2.0 NEWLIB_VER=3.0.0 GDB_VER=8.0 basedir='dkarm-eabi' From f0463ecba1e9e4b070dfb8b14ca2eb88749d7ef5 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 1 Nov 2018 10:52:29 +0000 Subject: [PATCH 049/280] update to binutils 2.31.1 --- select_toolchain.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/select_toolchain.sh b/select_toolchain.sh index ae54a8a..aaa6f27 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,8 +30,8 @@ done case "$VERSION" in "1" ) - BINUTILS_VER=2.30 GCC_VER=8.2.0 + BINUTILS_VER=2.31.1 NEWLIB_VER=3.0.0 GDB_VER=8.0 basedir='dkarm-eabi' From 596d710c3b41277bad2c7b60bbe631fd3cfce897 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 1 Nov 2018 10:53:43 +0000 Subject: [PATCH 050/280] use gdb 8.2 --- select_toolchain.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/select_toolchain.sh b/select_toolchain.sh index aaa6f27..fc4a2a7 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -33,7 +33,7 @@ case "$VERSION" in GCC_VER=8.2.0 BINUTILS_VER=2.31.1 NEWLIB_VER=3.0.0 - GDB_VER=8.0 + GDB_VER=8.2 basedir='dkarm-eabi' package=devkitARM target=arm-none-eabi From ab95988007a8d810f0b13f4f1bb4f026689f19fb Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 14 Nov 2018 19:26:18 +0000 Subject: [PATCH 051/280] update devkitARM version --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 69d9dc0..2a6c791 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,6 +1,6 @@ #!/bin/bash #--------------------------------------------------------------------------------- -# devkitARM release 49 +# devkitARM release 50 # devkitPPC release 33 # devkitA64 release 12 #--------------------------------------------------------------------------------- From 118896fb1a1771aa23921c25db29277456aa80e5 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 16 Nov 2018 15:30:03 +0000 Subject: [PATCH 052/280] add gdb 8.2 patch --- .../patches/{gdb-8.0.patch => gdb-8.2.patch} | 152 ++++++------------ 1 file changed, 50 insertions(+), 102 deletions(-) rename dkarm-eabi/patches/{gdb-8.0.patch => gdb-8.2.patch} (83%) diff --git a/dkarm-eabi/patches/gdb-8.0.patch b/dkarm-eabi/patches/gdb-8.2.patch similarity index 83% rename from dkarm-eabi/patches/gdb-8.0.patch rename to dkarm-eabi/patches/gdb-8.2.patch index 09ab3e7..3b0dbe9 100644 --- a/dkarm-eabi/patches/gdb-8.0.patch +++ b/dkarm-eabi/patches/gdb-8.2.patch @@ -1,29 +1,7 @@ -diff --git a/gdb/Makefile.in b/gdb/Makefile.in -index 1d2dbaf3f7..2d24f09c1b 100644 ---- a/gdb/Makefile.in -+++ b/gdb/Makefile.in -@@ -779,6 +779,7 @@ ALL_64_TARGET_OBS = \ - ALL_TARGET_OBS = \ - arc-tdep.o \ - arm.o \ -+ arm-3ds-tdep.o \ - arm-bsd-tdep.o \ - arm-get-next-pcs.o \ - arm-linux.o \ -@@ -2487,6 +2488,7 @@ ALLDEPFILES = \ - amd64-tdep.c \ - arc-tdep.c \ - arm.c \ -+ arm-3ds-tdep.c \ - arm-bsd-tdep.c \ - arm-get-next-pcs.c \ - arm-linux.c \ -diff --git a/gdb/arm-3ds-tdep.c b/gdb/arm-3ds-tdep.c -new file mode 100644 -index 0000000000..ad014e28db ---- /dev/null -+++ b/gdb/arm-3ds-tdep.c -@@ -0,0 +1,197 @@ +diff -NBaur gdb-8.2/gdb/arm-3ds-tdep.c gdb-8.2-3ds/gdb/arm-3ds-tdep.c +--- gdb-8.2/gdb/arm-3ds-tdep.c 1970-01-01 01:00:00.000000000 +0100 ++++ gdb-8.2-3ds/gdb/arm-3ds-tdep.c 2018-11-15 22:55:21.916968907 +0000 +@@ -0,0 +1,157 @@ +/* Target-dependent code for 3DS. */ + +/* This uses code from GDB, which license is: */ @@ -95,48 +73,11 @@ index 0000000000..ad014e28db + return next_pc; +} + -+static VEC (CORE_ADDR) * -+arm_3ds_software_single_step (struct regcache *regcache) -+{ -+ struct gdbarch *gdbarch = get_regcache_arch (regcache); -+ struct arm_get_next_pcs next_pcs_ctx; -+ CORE_ADDR pc; -+ int i; -+ VEC (CORE_ADDR) *next_pcs = NULL; -+ struct cleanup *old_chain; -+ -+ /* If the target does have hardware single step, GDB doesn't have -+ to bother software single step. */ -+ if (target_can_do_single_step () == 1) -+ return NULL; -+ -+ old_chain = make_cleanup (VEC_cleanup (CORE_ADDR), &next_pcs); -+ -+ arm_get_next_pcs_ctor (&next_pcs_ctx, -+ &arm_3ds_get_next_pcs_ops, -+ gdbarch_byte_order (gdbarch), -+ gdbarch_byte_order_for_code (gdbarch), -+ 1, -+ regcache); -+ -+ next_pcs = arm_get_next_pcs (&next_pcs_ctx); -+ -+ for (i = 0; VEC_iterate (CORE_ADDR, next_pcs, i, pc); i++) -+ { -+ pc = gdbarch_addr_bits_remove (gdbarch, pc); -+ VEC_replace (CORE_ADDR, next_pcs, i, pc); -+ } -+ -+ discard_cleanups (old_chain); -+ -+ return next_pcs; -+} -+ +static LONGEST +arm_3ds_get_syscall_number (struct gdbarch *gdbarch, -+ ptid_t ptid) ++ thread_info *thread) +{ -+ struct regcache *regs = get_thread_regcache (ptid); ++ struct regcache *regs = get_thread_regcache (thread); + + ULONGEST pc; + ULONGEST cpsr; @@ -205,42 +146,35 @@ index 0000000000..ad014e28db + tdep->fp_model = ARM_FLOAT_VFP; + + /* Single stepping. */ -+ set_gdbarch_software_single_step (gdbarch, arm_3ds_software_single_step); ++ set_gdbarch_software_single_step (gdbarch, arm_software_single_step); + + /* `catch syscall' */ + set_xml_syscall_file_name (gdbarch, "syscalls/arm-3ds.xml"); + set_gdbarch_get_syscall_number (gdbarch, arm_3ds_get_syscall_number); +} + -+/* Provide a prototype to silence -Wmissing-prototypes. */ -+extern initialize_file_ftype _initialize_arm_3ds_tdep; -+ +void +_initialize_arm_3ds_tdep (void) +{ + gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_3DS, + arm_3ds_init_abi); +} -diff --git a/gdb/configure.tgt b/gdb/configure.tgt -index fdcb7b1d69..d8fd1622b8 100644 ---- a/gdb/configure.tgt -+++ b/gdb/configure.tgt -@@ -119,8 +119,8 @@ arm*-*-symbianelf*) - gdb_target_obs="arm.o arm-get-next-pcs.o arm-tdep.o arm-symbian-tdep.o" +diff -NBaur gdb-8.2/gdb/configure.tgt gdb-8.2-3ds/gdb/configure.tgt +--- gdb-8.2/gdb/configure.tgt 2018-09-05 08:44:28.000000000 +0100 ++++ gdb-8.2-3ds/gdb/configure.tgt 2018-11-15 22:47:17.337689978 +0000 +@@ -61,7 +61,7 @@ ;; + arm*-*-*) -- # Target: ARM embedded system -- gdb_target_obs="arm.o arm-get-next-pcs.o arm-tdep.o" -+ # Target: ARM embedded system (+ 3DS) -+ gdb_target_obs="arm.o arm-get-next-pcs.o arm-tdep.o arm-3ds-tdep.o" - gdb_sim=../sim/arm/libsim.a - ;; +- cpu_obs="arch/arm.o arch/arm-get-next-pcs.o arm-tdep.o";; ++ cpu_obs="arch/arm.o arch/arm-get-next-pcs.o arm-tdep.o arm-3ds-tdep.o";; -diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in -index 304d4b05c0..2cf8986d3a 100644 ---- a/gdb/data-directory/Makefile.in -+++ b/gdb/data-directory/Makefile.in -@@ -63,7 +63,7 @@ GEN_SYSCALLS_FILES = \ + hppa*-*-*) + # Target: HP PA-RISC +diff -NBaur gdb-8.2/gdb/data-directory/Makefile.in gdb-8.2-3ds/gdb/data-directory/Makefile.in +--- gdb-8.2/gdb/data-directory/Makefile.in 2018-01-05 04:07:23.000000000 +0000 ++++ gdb-8.2-3ds/gdb/data-directory/Makefile.in 2018-11-15 22:42:36.840956065 +0000 +@@ -63,7 +63,7 @@ sparc-linux.xml \ sparc64-linux.xml @@ -249,11 +183,10 @@ index 304d4b05c0..2cf8986d3a 100644 PYTHON_DIR = python PYTHON_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(PYTHON_DIR) -diff --git a/gdb/defs.h b/gdb/defs.h -index a0b586f401..a1508fd5b3 100644 ---- a/gdb/defs.h -+++ b/gdb/defs.h -@@ -604,6 +604,7 @@ enum gdb_osabi +diff -NBaur gdb-8.2/gdb/defs.h gdb-8.2-3ds/gdb/defs.h +--- gdb-8.2/gdb/defs.h 2018-09-05 08:27:32.000000000 +0100 ++++ gdb-8.2-3ds/gdb/defs.h 2018-11-15 22:42:36.840956065 +0000 +@@ -495,6 +495,7 @@ GDB_OSABI_LYNXOS178, GDB_OSABI_NEWLIB, GDB_OSABI_SDE, @@ -261,11 +194,29 @@ index a0b586f401..a1508fd5b3 100644 GDB_OSABI_INVALID /* keep this last */ }; -diff --git a/gdb/osabi.c b/gdb/osabi.c -index 84fa9c0273..c1c4bb1672 100644 ---- a/gdb/osabi.c -+++ b/gdb/osabi.c -@@ -79,6 +79,7 @@ static const struct osabi_names gdb_osabi_names[] = +diff -NBaur gdb-8.2/gdb/Makefile.in gdb-8.2-3ds/gdb/Makefile.in +--- gdb-8.2/gdb/Makefile.in 2018-09-05 08:44:28.000000000 +0100 ++++ gdb-8.2-3ds/gdb/Makefile.in 2018-11-15 22:45:01.628931262 +0000 +@@ -684,6 +684,7 @@ + arch/arm-linux.o \ + arch/i386.o \ + arch/ppc-linux-common.o \ ++ arm-3ds-tdep.o \ + arm-bsd-tdep.o \ + arm-fbsd-tdep.o \ + arm-linux-tdep.o \ +@@ -2213,6 +2214,7 @@ + amd64-tdep.c \ + arc-tdep.c \ + arm.c \ ++ arm-3ds-tdep.c \ + arm-bsd-tdep.c \ + arm-fbsd-nat.c \ + arm-fbsd-tdep.c \ +diff -NBaur gdb-8.2/gdb/osabi.c gdb-8.2-3ds/gdb/osabi.c +--- gdb-8.2/gdb/osabi.c 2018-09-05 08:27:13.000000000 +0100 ++++ gdb-8.2-3ds/gdb/osabi.c 2018-11-15 22:42:36.840956065 +0000 +@@ -80,6 +80,7 @@ { "LynxOS178", NULL }, { "Newlib", NULL }, { "SDE", NULL }, @@ -273,11 +224,9 @@ index 84fa9c0273..c1c4bb1672 100644 { "", NULL } }; -diff --git a/gdb/syscalls/arm-3ds.xml b/gdb/syscalls/arm-3ds.xml -new file mode 100644 -index 0000000000..48780b7bd5 ---- /dev/null -+++ b/gdb/syscalls/arm-3ds.xml +diff -NBaur gdb-8.2/gdb/syscalls/arm-3ds.xml gdb-8.2-3ds/gdb/syscalls/arm-3ds.xml +--- gdb-8.2/gdb/syscalls/arm-3ds.xml 1970-01-01 01:00:00.000000000 +0100 ++++ gdb-8.2-3ds/gdb/syscalls/arm-3ds.xml 2018-11-15 22:42:36.840956065 +0000 @@ -0,0 +1,159 @@ + + @@ -438,4 +387,3 @@ index 0000000000..48780b7bd5 + + + - From 20dc1324d469a02a76d9e36f821f780187475e70 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 16 Nov 2018 17:54:30 +0000 Subject: [PATCH 053/280] increase devices to 32 --- dkarm-eabi/patches/newlib-3.0.0.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dkarm-eabi/patches/newlib-3.0.0.patch b/dkarm-eabi/patches/newlib-3.0.0.patch index 9b10ce7..8c2315c 100644 --- a/dkarm-eabi/patches/newlib-3.0.0.patch +++ b/dkarm-eabi/patches/newlib-3.0.0.patch @@ -7531,7 +7531,7 @@ index 2900b332f..6efb54eb3 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..ee14d2610 +index 000000000..dfed4107e --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h @@ -0,0 +1,112 @@ @@ -7553,7 +7553,7 @@ index 000000000..ee14d2610 + STD_IN, + STD_OUT, + STD_ERR, -+ STD_MAX = 16 ++ STD_MAX = 35 +}; + + From 8421d92bcb03e968cc130380f5f27c3e94ea1e8f Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 16 Nov 2018 17:55:04 +0000 Subject: [PATCH 054/280] always use --build --- build-devkit.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 2a6c791..da47ff9 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -154,11 +154,13 @@ export MAKE TOOLPATH=$(echo $INSTALLDIR | sed -e 's/^\([a-zA-Z]\):/\/\1/') export PATH=$PATH:$TOOLPATH/$package/bin +CROSS_PARAMS="--build=`./config.guess`" + if [ ! -z $CROSSBUILD ]; then toolsprefix=$INSTALLDIR/$CROSSBUILD/tools prefix=$INSTALLDIR/$CROSSBUILD/$package toolsprefix=$INSTALLDIR/$CROSSBUILD/tools - CROSS_PARAMS="--build=`./config.guess` --host=$CROSSBUILD" + CROSS_PARAMS="$CROSS_PARAMS --host=$CROSSBUILD" CROSS_GCC_PARAMS="--with-gmp=$CROSSPATH --with-mpfr=$CROSSPATH --with-mpc=$CROSSPATH" else toolsprefix=$INSTALLDIR/tools From 41b418fd8cf4f2917556da02c74fcff4f027e228 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 30 Jan 2019 08:57:46 +0000 Subject: [PATCH 055/280] consolidate paths --- cross-build-i686-w64-mingw32.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cross-build-i686-w64-mingw32.sh b/cross-build-i686-w64-mingw32.sh index a5c4b74..943bf86 100755 --- a/cross-build-i686-w64-mingw32.sh +++ b/cross-build-i686-w64-mingw32.sh @@ -1,5 +1,7 @@ #!/bin/bash export CROSSBUILD=i686-w64-mingw32 -export CROSSLIBPATH=/opt/mingw32/mingw/lib -export CROSSBINPATH=/opt/mingw32/mingw/bin +export CROSSPATH=/opt/mingw32/mingw +export CROSSLIBPATH=$CROSSPATH/lib +export CROSSBINPATH=$CROSSPATH/bin export PATH=/opt/mingw32/bin:$PATH + From bd5c0ba3ec06b1e34f318acbc6de557edf04d7ea Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 30 Jan 2019 11:04:48 +0000 Subject: [PATCH 056/280] remove old wii-u attempt --- dkppc/crtls/wup.ld | 257 ---------------------------------- dkppc/patches/gcc-8.2.0.patch | 54 +++---- 2 files changed, 16 insertions(+), 295 deletions(-) delete mode 100644 dkppc/crtls/wup.ld diff --git a/dkppc/crtls/wup.ld b/dkppc/crtls/wup.ld deleted file mode 100644 index 714882a..0000000 --- a/dkppc/crtls/wup.ld +++ /dev/null @@ -1,257 +0,0 @@ -/* - * Linkscript for Wii U - */ - -OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc"); -OUTPUT_ARCH(powerpc:common); -EXTERN(_start); -ENTRY(_start); - -PHDRS -{ - stub PT_LOAD FLAGS(5); - text PT_LOAD FLAGS(5); - data PT_LOAD FLAGS(6); - bss1 PT_LOAD; - bss2 PT_LOAD; -} - -SECTIONS -{ - /* default base address */ - /* use -Wl,--section-start,.init=0xADDRESS to change */ - . = 0x00802000; - - /* Program */ - .init : - { - KEEP (*crt0.o(*.init)) - KEEP (*(.init)) - } :text = 0 - .plt : { *(.plt) } - .interp : { *(.interp) } - .hash : { *(.hash) } - .dynsym : { *(.dynsym) } - .dynstr : { *(.dynstr) } - .gnu.version : { *(.gnu.version) } - .gnu.version_d : { *(.gnu.version_d) } - .gnu.version_r : { *(.gnu.version_r) } - .rel.init : { *(.rel.init) } - .rela.init : { *(.rela.init) } - .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } - .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } - .rel.fini : { *(.rel.fini) } - .rela.fini : { *(.rela.fini) } - .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } - .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } - .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } - .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } - .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } - .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } - .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } - .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } - .rel.ctors : { *(.rel.ctors) } - .rela.ctors : { *(.rela.ctors) } - .rel.dtors : { *(.rel.dtors) } - .rela.dtors : { *(.rela.dtors) } - .rel.got : { *(.rel.got) } - .rela.got : { *(.rela.got) } - .rela.got1 : { *(.rela.got1) } - .rela.got2 : { *(.rela.got2) } - .rel.sdata : { *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*) } - .rela.sdata : { *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) } - .rel.sbss : { *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*) } - .rela.sbss : { *(.rela.sbss .rela.sbss.* .rel.gnu.linkonce.sb.*) } - .rel.sdata2 : { *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*) } - .rela.sdata2 : { *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) } - .rel.sbss2 : { *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*) } - .rela.sbss2 : { *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) } - .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } - .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } - .rel.plt : { *(.rel.plt) } - .rela.plt : { *(.rela.plt) } - - .text : - { - *(.text) - *(.text.*) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.gnu.linkonce.t.*) - . = ALIGN(32); /* REQUIRED. LD is flaky without it. */ - } = 0 - - .fini : - { - KEEP (*(.fini)) - . = ALIGN(32); /* REQUIRED. LD is flaky without it. */ - } = 0 - - PROVIDE (__etext = .); - PROVIDE (_etext = .); - PROVIDE (etext = .); - - .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } :data - .rodata1 : { *(.rodata1) } - .sdata2 : { *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) } - .sbss2 : { *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) } - /* Adjust the address for the data segment. We want to adjust up to - the same address within the page on the next page up. */ - /* Ensure the __preinit_array_start label is properly aligned. We - could instead move the label definition inside the section, but - the linker would then create the section even if it turns out to - be empty, which isn't pretty. */ - . = ALIGN(32 / 8); - PROVIDE (__preinit_array_start = .); - .preinit_array : { *(.preinit_array) } - PROVIDE (__preinit_array_end = .); - PROVIDE (__init_array_start = .); - .init_array : { *(.init_array) } - PROVIDE (__init_array_end = .); - PROVIDE (__fini_array_start = .); - .fini_array : { *(.fini_array) } - PROVIDE (__fini_array_end = .); - .data : - { - *(.data) - *(.data.*) - *(.gnu.linkonce.d.*) - SORT(CONSTRUCTORS) - . = ALIGN(32); /* REQUIRED. LD is flaky without it. */ - } - - .data1 : { *(.data1) } - .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } - .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } - .eh_frame : { KEEP (*(.eh_frame)) } - .gcc_except_table : { *(.gcc_except_table) } - .fixup : { *(.fixup) } - .got1 : { *(.got1) } - .got2 : { *(.got2) } - .dynamic : { *(.dynamic) } - - .ctors : - { - /* gcc uses crtbegin.o to find the start of - the constructors, so we make sure it is - first. Because this is a wildcard, it - doesn't matter if the user does not - actually link against crtbegin.o; the - linker won't look for a file to match a - wildcard. The wildcard also means that it - doesn't matter which directory crtbegin.o - is in. */ - - KEEP (*crtbegin.o(.ctors)) - - /* We don't want to include the .ctor section from - from the crtend.o file until after the sorted ctors. - The .ctor section from the crtend file contains the - end of ctors marker and it must be last */ - - KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(32); /* REQUIRED. LD is flaky without it. */ - } - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(32); /* REQUIRED. LD is flaky without it. */ - } - - .jcr : { KEEP (*(.jcr)) } - .got : { *(.got.plt) *(.got) } - - - /* We want the small data sections together, so single-instruction offsets - can access them all, and initialized data all before uninitialized, so - we can shorten the on-disk segment size. */ - - .sdata : - { - *(.sdata) - *(.sdata.*) - *(.gnu.linkonce.s.*) - . = ALIGN(32); /* REQUIRED. LD is flaky without it. */ - } - - _edata = .; - PROVIDE (edata = .); - - .sbss : - { - __sbss_start = .; - PROVIDE (__sbss_start = .); - PROVIDE (___sbss_start = .); - *(.dynsbss) - *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) - *(.scommon) - PROVIDE (__sbss_end = .); - PROVIDE (___sbss_end = .); - . = ALIGN(32); /* REQUIRED. LD is flaky without it. */ - __sbss_end = .; - } :bss1 - - .bss : - { - __bss_start = .; - PROVIDE (__bss_start = .); - *(.dynbss) - *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - /* Align here to ensure that the .bss section occupies space up to - _end. Align after .bss to ensure correct alignment even if the - .bss section disappears because there are no input sections. */ - - . = ALIGN(32); - - PROVIDE (__bss_end = .); - __bss_end = .; - } :bss2 - - _end = .; - PROVIDE(end = .); - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - /* These must appear regardless of . */ -} diff --git a/dkppc/patches/gcc-8.2.0.patch b/dkppc/patches/gcc-8.2.0.patch index 9313419..50ca2fa 100644 --- a/dkppc/patches/gcc-8.2.0.patch +++ b/dkppc/patches/gcc-8.2.0.patch @@ -58,10 +58,10 @@ index b83b304e3eb..b85359edcfc 100644 #ifndef CC1_CPU_SPEC #ifdef HAVE_LOCAL_CPU_DETECT diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h -index bb19d0dcd41..ff5f80b7298 100644 +index bb19d0dcd41..74d1e474432 100644 --- a/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/sysv4.h -@@ -565,7 +565,12 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +@@ -565,7 +565,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) /* Default starting address if specified. */ #define LINK_START_SPEC "\ @@ -70,23 +70,21 @@ index bb19d0dcd41..ff5f80b7298 100644 + mvgc : %(link_start_vgc) ; \ + mgcbios : %(link_start_gcb) ; \ + mrvl : %(link_start_rvl) ; \ -+ mwup : %(link_start_wup) ; \ + mads : %(link_start_ads) ; \ myellowknife : %(link_start_yellowknife) ; \ mmvme : %(link_start_mvme) ; \ msim : %(link_start_sim) ; \ -@@ -596,7 +601,9 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +@@ -596,7 +600,8 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) /* Any specific OS flags. */ #define LINK_OS_SPEC "\ -%{mads : %(link_os_ads) ; \ +%{mgcn|mogc|mvgc|mgcbios|mrvl : %(link_os_ogc) ; \ -+ mwup : %(link_os_wup) ; \ + mads : %(link_os_ads) ; \ myellowknife : %(link_os_yellowknife) ; \ mmvme : %(link_os_mvme) ; \ msim : %(link_os_sim) ; \ -@@ -614,7 +621,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +@@ -614,7 +619,10 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) /* Override rs6000.h definition. */ #undef CPP_SPEC #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ @@ -94,12 +92,11 @@ index bb19d0dcd41..ff5f80b7298 100644 +%{mgcn : %(cpp_os_gcn) ; \ + mogc|mvgc|mgcbios : %(cpp_os_ogc) ; \ + mrvl : %(cpp_os_rvl) ; \ -+ mwup : %(cpp_os_wup) ; \ + mads : %(cpp_os_ads) ; \ myellowknife : %(cpp_os_yellowknife) ; \ mmvme : %(cpp_os_mvme) ; \ msim : %(cpp_os_sim) ; \ -@@ -628,7 +639,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +@@ -628,7 +636,10 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) #undef STARTFILE_SPEC #define STARTFILE_SPEC "\ @@ -107,23 +104,21 @@ index bb19d0dcd41..ff5f80b7298 100644 +%{mgcn : %(startfile_gcn) ; \ + mogc|mvgc|mgcbios : %(startfile_ogc) ; \ + mrvl : %(startfile_ogc) ; \ -+ mwup : %(startfile_wup) ; \ + mads : %(startfile_ads) ; \ myellowknife : %(startfile_yellowknife) ; \ mmvme : %(startfile_mvme) ; \ msim : %(startfile_sim) ; \ -@@ -642,7 +657,9 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +@@ -642,7 +653,8 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) #undef LIB_SPEC #define LIB_SPEC "\ -%{mads : %(lib_ads) ; \ +%{mgcn|mogc|mvgc|mgcbios|mrvl : %(lib_ogc) ; \ -+ mwup : %(lib_wup) ; \ + mads : %(lib_ads) ; \ myellowknife : %(lib_yellowknife) ; \ mmvme : %(lib_mvme) ; \ msim : %(lib_sim) ; \ -@@ -652,11 +669,13 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +@@ -652,11 +664,12 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) mcall-openbsd: %(lib_openbsd) ; \ : %(lib_default) }" @@ -134,110 +129,97 @@ index bb19d0dcd41..ff5f80b7298 100644 #define ENDFILE_SPEC "\ -%{mads : %(endfile_ads) ; \ +%{mgcn|mogc|mvgc|mgcbios|mrvl : %(endfile_ogc) ; \ -+ mwup : %(endfile_wup) ; \ + mads : %(endfile_ads) ; \ myellowknife : %(endfile_yellowknife) ; \ mmvme : %(endfile_mvme) ; \ msim : %(endfile_sim) ; \ -@@ -672,16 +691,33 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +@@ -672,16 +685,27 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) /* Motorola ADS support. */ #define LIB_ADS_SPEC "--start-group -lads -lc --end-group" +#define LIB_OGC_SPEC "--start-group -lsysbase -lc --end-group" -+#define LIB_WUP_SPEC "--start-group -lsysbase -lc --end-group" #define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s" +#define STARTFILE_OGC_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s" -+#define STARTFILE_WUP_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s" #define ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s" +#define ENDFILE_OGC_SPEC "crtend.o%s ecrtn.o%s" -+#define ENDFILE_WUP_SPEC "crtend.o%s ecrtn.o%s" #define LINK_START_ADS_SPEC "-T ads.ld%s" +#define LINK_START_OGC_SPEC "-T ogc.ld%s" +#define LINK_START_RVL_SPEC "-T rvl.ld%s" -+#define LINK_START_WUP_SPEC "-T wup.ld%s" +#define LINK_START_VGC_SPEC "-T vgcogc.ld%s" +#define LINK_START_GCB_SPEC "-T gcbogc.ld%s" #define LINK_OS_ADS_SPEC "" +#define LINK_OS_OGC_SPEC "--gc-sections" -+#define LINK_OS_WUP_SPEC "--gc-sections" #define CPP_OS_ADS_SPEC "" +#define CPP_OS_GCN_SPEC "-D__gamecube__ -ffunction-sections -fdata-sections" +#define CPP_OS_OGC_SPEC "-D__gamecube__ -DHW_DOL -ffunction-sections -fdata-sections" +#define CPP_OS_RVL_SPEC "-D__wii__ -DHW_RVL -ffunction-sections -fdata-sections" -+#define CPP_OS_WUP_SPEC "-D__wiiu__ -DHW_WUP -ffunction-sections -fdata-sections" /* Motorola Yellowknife support. */ #define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" -@@ -882,6 +918,8 @@ ncrtn.o%s" +@@ -882,6 +906,7 @@ ncrtn.o%s" #undef SUBTARGET_EXTRA_SPECS #define SUBTARGET_EXTRA_SPECS \ { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ + { "lib_ogc", LIB_OGC_SPEC }, \ -+ { "lib_wup", LIB_WUP_SPEC }, \ { "lib_ads", LIB_ADS_SPEC }, \ { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ { "lib_mvme", LIB_MVME_SPEC }, \ -@@ -891,6 +929,8 @@ ncrtn.o%s" +@@ -891,6 +916,7 @@ ncrtn.o%s" { "lib_netbsd", LIB_NETBSD_SPEC }, \ { "lib_openbsd", LIB_OPENBSD_SPEC }, \ { "lib_default", LIB_DEFAULT_SPEC }, \ + { "startfile_ogc", STARTFILE_OGC_SPEC }, \ -+ { "startfile_wup", STARTFILE_WUP_SPEC }, \ { "startfile_ads", STARTFILE_ADS_SPEC }, \ { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ { "startfile_mvme", STARTFILE_MVME_SPEC }, \ -@@ -900,6 +940,8 @@ ncrtn.o%s" +@@ -900,6 +926,7 @@ ncrtn.o%s" { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ + { "endfile_ogc", ENDFILE_OGC_SPEC }, \ -+ { "endfile_wup", ENDFILE_WUP_SPEC }, \ { "endfile_ads", ENDFILE_ADS_SPEC }, \ { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ { "endfile_mvme", ENDFILE_MVME_SPEC }, \ -@@ -911,7 +953,12 @@ ncrtn.o%s" +@@ -911,7 +938,11 @@ ncrtn.o%s" { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ { "link_shlib", LINK_SHLIB_SPEC }, \ { "link_start", LINK_START_SPEC }, \ + { "link_start_vgc", LINK_START_VGC_SPEC }, \ + { "link_start_gcb", LINK_START_GCB_SPEC }, \ + { "link_start_rvl", LINK_START_RVL_SPEC }, \ -+ { "link_start_wup", LINK_START_WUP_SPEC }, \ { "link_start_ads", LINK_START_ADS_SPEC }, \ + { "link_start_ogc", LINK_START_OGC_SPEC }, \ { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ { "link_start_mvme", LINK_START_MVME_SPEC }, \ { "link_start_sim", LINK_START_SIM_SPEC }, \ -@@ -921,6 +968,8 @@ ncrtn.o%s" +@@ -921,6 +952,7 @@ ncrtn.o%s" { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ { "link_start_default", LINK_START_DEFAULT_SPEC }, \ { "link_os", LINK_OS_SPEC }, \ + { "link_os_ogc", LINK_OS_OGC_SPEC }, \ -+ { "link_os_wup", LINK_OS_WUP_SPEC }, \ { "link_os_ads", LINK_OS_ADS_SPEC }, \ { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ { "link_os_mvme", LINK_OS_MVME_SPEC }, \ -@@ -932,6 +981,10 @@ ncrtn.o%s" +@@ -932,6 +964,9 @@ ncrtn.o%s" { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ { "link_secure_plt", LINK_SECURE_PLT_SPEC }, \ + { "cpp_os_gcn", CPP_OS_GCN_SPEC }, \ + { "cpp_os_ogc", CPP_OS_OGC_SPEC }, \ + { "cpp_os_rvl", CPP_OS_RVL_SPEC }, \ -+ { "cpp_os_wup", CPP_OS_WUP_SPEC }, \ { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt -index 34fea0ddd08..9451447fde0 100644 +index 34fea0ddd08..084a8ae435e 100644 --- a/gcc/config/rs6000/sysv4.opt +++ b/gcc/config/rs6000/sysv4.opt -@@ -124,6 +124,30 @@ mads +@@ -124,6 +124,26 @@ mads Target RejectNegative Link with libads.a, libc.a and crt0.o. @@ -260,10 +242,6 @@ index 34fea0ddd08..9451447fde0 100644 +mrvl +Target RejectNegative +Link with libsysbase.a and libc.a, use rvl linker script -+ -+mwup -+Target RejectNegative -+Link with libsysbase.a and libc.a, use wup linker script + myellowknife Target RejectNegative From a6c67408af602fdec69f634b281969920745e751 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 30 Jan 2019 12:49:32 +0000 Subject: [PATCH 057/280] devkitPPC: separate rules files for independent update --- build-devkit.sh | 7 +++++-- dkppc/scripts/build-gcc.sh | 6 +----- dkppc/scripts/build-libs.sh | 6 ++++++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index da47ff9..9d6b6c9 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -46,8 +46,9 @@ DFU_UTIL_VER=0.9.1 STLINK_VER=1.2.3 GAMECUBE_TOOLS_VER=1.0.2 -LIBOGC_VER=1.8.20 +LIBOGC_VER=1.8.21 WIILOAD_VER=0.5.1 +DKPPC_RULES_VER=1.0.0 LIBCTRU_VER=1.5.0 CITRO3D_VER=1.4.0 @@ -234,7 +235,7 @@ if [ $VERSION -eq 2 ]; then hostarchives="gamecube-tools-$GAMECUBE_TOOLS_VER.tar.bz2 wiiload-$WIILOAD_VER.tar.bz2 general-tools-$GENERAL_TOOLS_VER.tar.bz2" - archives="binutils-${MN_BINUTILS_VER}.tar.bz2 $archives" + archives="binutils-${MN_BINUTILS_VER}.tar.bz2 devkitppc-rules-$DKPPC_RULES_VER.tar.xz $archives" fi if [ $VERSION -eq 3 ]; then @@ -305,6 +306,8 @@ if [ "$BUILD_DKPRO_SKIP_LIBRARIES" != "1" ] && [ -f $scriptdir/build-libs.sh ]; . $scriptdir/build-libs.sh || { echo "Error building libraries"; exit 1; }; cd $BUILDSCRIPTDIR; fi +cd $BUILDSCRIPTDIR + if [ ! -z $CROSSBUILD ] && grep -q "mingw" <<<"$CROSSBUILD" ; then cp -v $CROSSBINPATH//libwinpthread-1.dll $prefix/bin fi diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 3963dd0..dc5e919 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -97,7 +97,7 @@ then --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix\ --with-system-zlib\ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 33" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 34" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ @@ -185,10 +185,6 @@ rm -fr $prefix/$target/sys-include echo "installing linkscripts ..." cp $BUILDSCRIPTDIR/dkppc/crtls/*.ld $prefix/$target/lib/ -#--------------------------------------------------------------------------------- -# copy base rulesets -#--------------------------------------------------------------------------------- -cp $BUILDSCRIPTDIR/dkppc/rules/* $prefix cd $BUILDDIR diff --git a/dkppc/scripts/build-libs.sh b/dkppc/scripts/build-libs.sh index f0debbf..d271da7 100644 --- a/dkppc/scripts/build-libs.sh +++ b/dkppc/scripts/build-libs.sh @@ -3,6 +3,12 @@ export DEVKITPPC=$TOOLPATH/devkitPPC export DEVKITPRO=$TOOLPATH +cd $BUILDDIR +mkdir -p rules +cd rules +tar -xvf $SRCDIR/devkitppc-rules-$DKPPC_RULES_VER.tar.xz +make install + cd $BUILDDIR/libogc-$LIBOGC_VER if [ ! -f installed ]; then From 37b381ea1f138f48b911e6aa86df1c1c46052d24 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 11 Feb 2019 19:28:09 +0000 Subject: [PATCH 058/280] proper fix for struct timeval --- dkppc/patches/newlib-3.0.0.patch | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/dkppc/patches/newlib-3.0.0.patch b/dkppc/patches/newlib-3.0.0.patch index c3ae6c8..414c798 100644 --- a/dkppc/patches/newlib-3.0.0.patch +++ b/dkppc/patches/newlib-3.0.0.patch @@ -7407,10 +7407,10 @@ index eb645868b..b9a006453 100644 powerpc*-*-linux* | \ powerpc*-*-rtem* | \ diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c02c..b42f0b3b1 100644 +index a3fb5c02c..adb8e1083 100644 --- a/newlib/libc/include/sys/dirent.h +++ b/newlib/libc/include/sys/dirent.h -@@ -4,10 +4,56 @@ +@@ -4,10 +4,57 @@ not support , we will get this file which uses #error to force an error. */ @@ -7419,6 +7419,7 @@ index a3fb5c02c..b42f0b3b1 100644 + +#include +#include ++#include + +#define _DIRENT_HAVE_D_TYPE + @@ -7445,7 +7446,7 @@ index a3fb5c02c..b42f0b3b1 100644 + + typedef struct { + long int position; -+ void* dirData; ++ DIR_ITER* dirData; + struct dirent fileData; + } DIR; + @@ -7484,7 +7485,7 @@ index 2900b332f..6efb54eb3 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..649fc2630 +index 000000000..8b6d8da30 --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h @@ -0,0 +1,108 @@ @@ -7500,7 +7501,7 @@ index 000000000..649fc2630 +#include +#include +#include -+#include ++#include + +enum { + STD_IN, From d2614153c546cbedee6781ac281866fdd8cbbb99 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 11 Feb 2019 19:28:58 +0000 Subject: [PATCH 059/280] update to binutils 2.32 --- dkppc/patches/{binutils-2.31.1.patch => binutils-2.32.patch} | 0 select_toolchain.sh | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename dkppc/patches/{binutils-2.31.1.patch => binutils-2.32.patch} (100%) diff --git a/dkppc/patches/binutils-2.31.1.patch b/dkppc/patches/binutils-2.32.patch similarity index 100% rename from dkppc/patches/binutils-2.31.1.patch rename to dkppc/patches/binutils-2.32.patch diff --git a/select_toolchain.sh b/select_toolchain.sh index fc4a2a7..8a15509 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -41,7 +41,7 @@ case "$VERSION" in ;; "2" ) GCC_VER=8.2.0 - BINUTILS_VER=2.31.1 + BINUTILS_VER=2.32 MN_BINUTILS_VER=2.17 NEWLIB_VER=3.0.0 GDB_VER=8.2 From 11d640cd779ec469780725f3da7ed4f91c0b97ca Mon Sep 17 00:00:00 2001 From: Carsten Teibes Date: Sat, 13 Oct 2018 11:23:13 +0200 Subject: [PATCH 060/280] Add citro2d library to devkitARM build targets --- dkarm-eabi/scripts/build-libs.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dkarm-eabi/scripts/build-libs.sh b/dkarm-eabi/scripts/build-libs.sh index 5c44abf..64eee9d 100644 --- a/dkarm-eabi/scripts/build-libs.sh +++ b/dkarm-eabi/scripts/build-libs.sh @@ -40,6 +40,9 @@ $MAKE || { echo "error building libctru"; exit 1; } $MAKE install || { echo "error installing libctru"; exit 1; } cd $BUILDDIR/citro3d-$CITRO3D_VER -$MAKE || { echo "error building libctru"; exit 1; } -$MAKE install || { echo "error installing libctru"; exit 1; } +$MAKE || { echo "error building citro3d"; exit 1; } +$MAKE install || { echo "error installing citro3d"; exit 1; } +cd $BUILDDIR/citro2d-$CITRO2D_VER +$MAKE || { echo "error building citro2d"; exit 1; } +$MAKE install || { echo "error installing citro2d"; exit 1; } From ec6543e3c0f44e479a69038718de8b75f0222888 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 17 Feb 2019 21:04:11 +0000 Subject: [PATCH 061/280] devkitPPC rules files moved to separate package --- dkppc/rules/base_rules | 45 -------------------------------------- dkppc/rules/base_tools | 37 ------------------------------- dkppc/rules/gamecube_rules | 25 --------------------- dkppc/rules/wii_rules | 25 --------------------- dkppc/rules/wiiu_rules | 12 ---------- 5 files changed, 144 deletions(-) delete mode 100644 dkppc/rules/base_rules delete mode 100644 dkppc/rules/base_tools delete mode 100644 dkppc/rules/gamecube_rules delete mode 100644 dkppc/rules/wii_rules delete mode 100644 dkppc/rules/wiiu_rules diff --git a/dkppc/rules/base_rules b/dkppc/rules/base_rules deleted file mode 100644 index ed7aa13..0000000 --- a/dkppc/rules/base_rules +++ /dev/null @@ -1,45 +0,0 @@ -include $(DEVKITPPC)/base_tools - -#--------------------------------------------------------------------------------- -%.a: -#--------------------------------------------------------------------------------- - @echo $(notdir $@) - @rm -f $@ - @$(AR) -rc $@ $^ - -#--------------------------------------------------------------------------------- -%.o: %.cpp - @echo $(notdir $<) - @$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.o: %.c - @echo $(notdir $<) - @$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.o: %.m - @echo $(notdir $<) - @$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(OBJCFLAGS) -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.o: %.s - @echo $(notdir $<) - @$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d -x assembler-with-cpp $(ASFLAGS) -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.o: %.S - @echo $(notdir $<) - @$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d -x assembler-with-cpp $(ASFLAGS) -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -# canned command sequence for binary data -#--------------------------------------------------------------------------------- -define bin2o - bin2s -a 32 $< | $(AS) -o $(@) - echo "extern const u8" `(echo $( `(echo $(> `(echo $(> `(echo $(&1 | sed -e 's/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/g' -endif diff --git a/dkppc/rules/gamecube_rules b/dkppc/rules/gamecube_rules deleted file mode 100644 index 796f484..0000000 --- a/dkppc/rules/gamecube_rules +++ /dev/null @@ -1,25 +0,0 @@ -ifeq ($(strip $(DEVKITPPC)),) -$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=devkitPro/devkitPPC) -endif - -export LIBOGC_INC := $(DEVKITPRO)/libogc/include -export LIBOGC_LIB := $(DEVKITPRO)/libogc/lib/cube - -include $(DEVKITPPC)/base_rules - -MACHDEP = -DGEKKO -mogc -mcpu=750 -meabi -mhard-float - -#--------------------------------------------------------------------------------- -%.dol: %.elf - @echo output ... $(notdir $@) - @elf2dol $< $@ - -#--------------------------------------------------------------------------------- -%.tpl : %.scf - @echo $(notdir $<) - @gxtexconv -s $< -d $(DEPSDIR)/$*.d -o $@ - -#--------------------------------------------------------------------------------- -%.elf: - @echo linking ... $(notdir $@) - @$(LD) $^ $(LDFLAGS) $(LIBPATHS) $(LIBS) -o $@ diff --git a/dkppc/rules/wii_rules b/dkppc/rules/wii_rules deleted file mode 100644 index 178bd0a..0000000 --- a/dkppc/rules/wii_rules +++ /dev/null @@ -1,25 +0,0 @@ -ifeq ($(strip $(DEVKITPPC)),) -$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=devkitPro/devkitPPC) -endif - -export LIBOGC_INC := $(DEVKITPRO)/libogc/include -export LIBOGC_LIB := $(DEVKITPRO)/libogc/lib/wii - -MACHDEP = -DGEKKO -mrvl -mcpu=750 -meabi -mhard-float - -include $(DEVKITPPC)/base_rules - -#--------------------------------------------------------------------------------- -%.dol: %.elf - @echo output ... $(notdir $@) - @elf2dol $< $@ - -#--------------------------------------------------------------------------------- -%.tpl : %.scf - @echo $(notdir $<) - @gxtexconv -s $< -d $(DEPSDIR)/$*.d -o $@ - -#--------------------------------------------------------------------------------- -%.elf: - @echo linking ... $(notdir $@) - @$(LD) $^ $(LDFLAGS) $(LIBPATHS) $(LIBS) -o $@ diff --git a/dkppc/rules/wiiu_rules b/dkppc/rules/wiiu_rules deleted file mode 100644 index ac08e91..0000000 --- a/dkppc/rules/wiiu_rules +++ /dev/null @@ -1,12 +0,0 @@ -ifeq ($(strip $(DEVKITPPC)),) -$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=devkitPro/devkitPPC) -endif - -MACHDEP = -DESPRESSO -mwup -mcpu=750 -meabi -mhard-float - -include $(DEVKITPPC)/base_rules - -#--------------------------------------------------------------------------------- -%.elf: - @echo linking ... $(notdir $@) - @$(LD) $^ $(LDFLAGS) $(LIBPATHS) $(LIBS) -o $@ From 0bd88d5ac872512b2fe55cebb3e69f78547a512c Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 18 Feb 2019 14:04:41 +0000 Subject: [PATCH 062/280] devkitARM: upgrade binutils to 2.32 --- dkarm-eabi/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 201af13..de95bf2 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -64,7 +64,7 @@ then --prefix=$prefix \ --enable-lto\ --with-system-zlib \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 50" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 51" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } diff --git a/select_toolchain.sh b/select_toolchain.sh index 8a15509..c0fdae5 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -31,7 +31,7 @@ done case "$VERSION" in "1" ) GCC_VER=8.2.0 - BINUTILS_VER=2.31.1 + BINUTILS_VER=2.32 NEWLIB_VER=3.0.0 GDB_VER=8.2 basedir='dkarm-eabi' From 6530f0a3c33cc626b2a4d39abfd66beb79273d2d Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 18 Feb 2019 15:51:26 +0000 Subject: [PATCH 063/280] devkitARM: use new devkitarm-rules package --- build-devkit.sh | 3 + dkarm-eabi/rules/3ds_rules | 43 ------------ dkarm-eabi/rules/base_rules | 111 ------------------------------- dkarm-eabi/rules/base_tools | 34 ---------- dkarm-eabi/rules/ds_rules | 54 --------------- dkarm-eabi/rules/gba_rules | 25 ------- dkarm-eabi/rules/gp32_rules | 20 ------ dkarm-eabi/scripts/build-gcc.sh | 33 --------- dkarm-eabi/scripts/build-libs.sh | 31 +++++++++ 9 files changed, 34 insertions(+), 320 deletions(-) delete mode 100644 dkarm-eabi/rules/3ds_rules delete mode 100644 dkarm-eabi/rules/base_rules delete mode 100644 dkarm-eabi/rules/base_tools delete mode 100644 dkarm-eabi/rules/ds_rules delete mode 100644 dkarm-eabi/rules/gba_rules delete mode 100644 dkarm-eabi/rules/gp32_rules diff --git a/build-devkit.sh b/build-devkit.sh index 9d6b6c9..55b3b8e 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -30,6 +30,7 @@ GENERAL_TOOLS_VER=1.0.2 LIBGBA_VER=0.5.1 GBATOOLS_VER=1.1.0 +DKARM_RULES_VER=1.0.0 LIBNDS_VER=1.7.2 DEFAULT_ARM7_VER=0.7.4 @@ -227,6 +228,8 @@ if [ $VERSION -eq 1 ]; then general-tools-$GENERAL_TOOLS_VER.tar.bz2 mmutil-$MMUTIL_VER.tar.bz2 dfu-util-$DFU_UTIL_VER.tar.bz2 stlink-$STLINK_VER.tar.bz2 3dstools-$TOOLS3DS_VER.tar.bz2 picasso-$PICASSO_VER.tar.bz2 tex3ds-$TEX3DS_VER.tar.bz2 3dslink-$LINK3DS_VER.tar.bz2" + + archives="devkitarm-rules-$DKARM_RULES_VER.tar.xz $archives" fi if [ $VERSION -eq 2 ]; then diff --git a/dkarm-eabi/rules/3ds_rules b/dkarm-eabi/rules/3ds_rules deleted file mode 100644 index 1a891b8..0000000 --- a/dkarm-eabi/rules/3ds_rules +++ /dev/null @@ -1,43 +0,0 @@ -ifeq ($(strip $(DEVKITPRO)),) -$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=devkitPro) -endif - -include $(DEVKITARM)/base_rules - -PORTLIBS := $(PORTLIBS_PATH)/3ds - -export PATH := $(PORTLIBS_PATH)/3ds/bin:$(PATH) - -CTRULIB ?= $(DEVKITPRO)/libctru - -ifeq ($(strip $(APP_TITLE)),) -APP_TITLE := $(notdir $(OUTPUT)) -endif - -ifeq ($(strip $(APP_DESCRIPTION)),) -APP_DESCRIPTION := Built with devkitARM & libctru -endif - -ifeq ($(strip $(APP_AUTHOR)),) -APP_AUTHOR := Unspecified Author -endif - -ifeq ($(strip $(APP_ICON)),) -APP_ICON := $(CTRULIB)/default_icon.png -endif - -#--------------------------------------------------------------------------------- -%.smdh: $(APP_ICON) $(MAKEFILE_LIST) - @smdhtool --create "$(APP_TITLE)" "$(APP_DESCRIPTION)" "$(APP_AUTHOR)" $(APP_ICON) $@ - @echo built ... $(notdir $@) - -#--------------------------------------------------------------------------------- -%.3dsx: %.elf - @3dsxtool $< $@ $(_3DSXFLAGS) - @echo built ... $(notdir $@) - -#--------------------------------------------------------------------------------- -%.elf: - @echo linking $(notdir $@) - @$(LD) $(LDFLAGS) $(OFILES) $(LIBPATHS) $(LIBS) -o $@ - @$(NM) -CSn $@ > $(notdir $*.lst) diff --git a/dkarm-eabi/rules/base_rules b/dkarm-eabi/rules/base_rules deleted file mode 100644 index d8dbdb3..0000000 --- a/dkarm-eabi/rules/base_rules +++ /dev/null @@ -1,111 +0,0 @@ -include $(DEVKITARM)/base_tools - -#--------------------------------------------------------------------------------- -# add portlibs path -#--------------------------------------------------------------------------------- -export PORTLIBS_PATH := $(DEVKITPRO)/portlibs - - -#--------------------------------------------------------------------------------- -%.a: -#--------------------------------------------------------------------------------- - @echo $(notdir $@) - @rm -f $@ - $(AR) -rc $@ $^ - -#--------------------------------------------------------------------------------- -%.arm.o: %.arm.cpp - @echo $(notdir $<) - $(CXX) -MMD -MP -MF $(DEPSDIR)/$*.arm.d $(CXXFLAGS) -marm -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.arm.o: %.arm.c - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.arm.d $(CFLAGS) -marm -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.arm.o: %.arm.m - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.arm.d $(OBJCFLAGS) -marm -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.thumb.o: %.thumb.cpp - @echo $(notdir $<) - $(CXX) -MMD -MP -MF $(DEPSDIR)/$*.thumb.d $(CXXFLAGS) -mthumb -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.thumb.o: %.thumb.c - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.thumb.d $(CFLAGS) -mthumb -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.thumb.o: %.thumb.m - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.thumb.d $(OBJCFLAGS) -mthumb -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.iwram.o: %.iwram.cpp - @echo $(notdir $<) - $(CXX) -MMD -MP -MF $(DEPSDIR)/$*.iwram.d $(CXXFLAGS) -marm -mlong-calls -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.iwram.o: %.iwram.c - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.iwram.d $(CFLAGS) -marm -mlong-calls -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.iwram.o: %.iwram.m - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.iwram.d $(OBJCFLAGS) -marm -mlong-calls -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.itcm.o: %.itcm.cpp - @echo $(notdir $<) - $(CXX) -MMD -MP -MF $(DEPSDIR)/$*.itcm.d $(CXXFLAGS) -marm -mlong-calls -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.itcm.o: %.itcm.c - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.itcm.d $(CFLAGS) -marm -mlong-calls -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.itcm.o: %.itcm.m - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.itcm.d $(OBJCFLAGS) -marm -mlong-calls -c $< -o $@ $(ERROR_FILTER) - - -#--------------------------------------------------------------------------------- -%.o: %.cpp - @echo $(notdir $<) - $(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.o: %.c - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.o: %.m - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(OBJCFLAGS) -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.o: %.s - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.d -x assembler-with-cpp $(ASFLAGS) -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -%.o: %.S - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.d -x assembler-with-cpp $(ASFLAGS) -c $< -o $@ $(ERROR_FILTER) - -#--------------------------------------------------------------------------------- -# canned command sequence for binary data -#--------------------------------------------------------------------------------- -define bin2o - bin2s $< | $(AS) -o $(@) - echo "extern const u8" `(echo $( `(echo $(> `(echo $(> `(echo $(&1 | sed -e 's/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/g' -endif diff --git a/dkarm-eabi/rules/ds_rules b/dkarm-eabi/rules/ds_rules deleted file mode 100644 index 0b98b5c..0000000 --- a/dkarm-eabi/rules/ds_rules +++ /dev/null @@ -1,54 +0,0 @@ -ifeq ($(strip $(DEVKITPRO)),) -$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=devkitPro) -endif - -include $(DEVKITARM)/base_rules - -PORTLIBS := $(PORTLIBS_PATH)/nds $(PORTLIBS_PATH)/armv5te - -LIBNDS := $(DEVKITPRO)/libnds - -ifeq ($(strip $(GAME_TITLE)),) -GAME_TITLE := $(notdir $(OUTPUT)) -endif - -ifeq ($(strip $(GAME_SUBTITLE1)),) -GAME_SUBTITLE1 := built with devkitARM -endif - -ifeq ($(strip $(GAME_SUBTITLE2)),) -GAME_SUBTITLE2 := http://devkitpro.org -endif - -ifeq ($(strip $(GAME_ICON)),) -GAME_ICON := $(DEVKITPRO)/libnds/icon.bmp -endif - -ifneq ($(strip $(NITRO_FILES)),) -_ADDFILES := -d $(NITRO_FILES) -endif - -#--------------------------------------------------------------------------------- -%.nds: %.arm9 - @ndstool -c $@ -9 $< -b $(GAME_ICON) "$(GAME_TITLE);$(GAME_SUBTITLE1);$(GAME_SUBTITLE2)" $(_ADDFILES) - @echo built ... $(notdir $@) - -#--------------------------------------------------------------------------------- -%.nds: %.elf - @ndstool -c $@ -9 $< -b $(GAME_ICON) "$(GAME_TITLE);$(GAME_SUBTITLE1);$(GAME_SUBTITLE2)" $(_ADDFILES) - @echo built ... $(notdir $@) - -#--------------------------------------------------------------------------------- -%.arm9: %.elf - @$(OBJCOPY) -O binary $< $@ - @echo built ... $(notdir $@) - -#--------------------------------------------------------------------------------- -%.arm7: %.elf - @$(OBJCOPY) -O binary $< $@ - @echo built ... $(notdir $@) - -#--------------------------------------------------------------------------------- -%.elf: - @echo linking $(notdir $@) - @$(LD) $(LDFLAGS) $(OFILES) $(LIBPATHS) $(LIBS) -o $@ diff --git a/dkarm-eabi/rules/gba_rules b/dkarm-eabi/rules/gba_rules deleted file mode 100644 index 455d10a..0000000 --- a/dkarm-eabi/rules/gba_rules +++ /dev/null @@ -1,25 +0,0 @@ -ifeq ($(strip $(DEVKITPRO)),) -$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=devkitPro) -endif - -include $(DEVKITARM)/base_rules - -PORTLIBS := $(PORTLIBS_PATH)/gba $(PORTLIBS_PATH)/armv4 - -LIBGBA := $(DEVKITPRO)/libgba - -#--------------------------------------------------------------------------------- -%.gba: %.elf - @$(OBJCOPY) -O binary $< $@ - @echo built ... $(notdir $@) - @gbafix $@ - -#--------------------------------------------------------------------------------- -%_mb.elf: - @echo linking multiboot - @$(LD) -specs=gba_mb.specs $(LDFLAGS) $(OFILES) $(LIBPATHS) $(LIBS) -o $@ - -#--------------------------------------------------------------------------------- -%.elf: - @echo linking cartridge - @$(LD) $(LDFLAGS) -specs=gba.specs $(OFILES) $(LIBPATHS) $(LIBS) -o $@ diff --git a/dkarm-eabi/rules/gp32_rules b/dkarm-eabi/rules/gp32_rules deleted file mode 100644 index 3ed44fc..0000000 --- a/dkarm-eabi/rules/gp32_rules +++ /dev/null @@ -1,20 +0,0 @@ --include $(DEVKITARM)/base_rules - -PORTLIBS := $(PORTLIBS_PATH)/gp32 $(PORTLIBS_PATH)/armv4 - -LIBMIRKO := $(DEVKITPRO)/libmirko - -#--------------------------------------------------------------------------------- -%.fxe: %.bin - @b2fxec -a "$(AUTHOR)" -t "$(TITLE)" $< $@ - @echo built ... $(notdir $@) - -#--------------------------------------------------------------------------------- -%.bin: %.elf - @$(OBJCOPY) -O binary $< $@ - @echo built ... $(notdir $@) - -#--------------------------------------------------------------------------------- -%.elf: - @echo linking binary - @$(LD) $(LDFLAGS) -specs=gp32.specs $(OFILES) $(LIBPATHS) $(LIBS) -o $@ diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index de95bf2..dc5049b 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -151,39 +151,6 @@ rm -fr $prefix/$target/sys-include cd $BUILDDIR - -#--------------------------------------------------------------------------------- -# copy base rulesets -#--------------------------------------------------------------------------------- -cp -v $BUILDSCRIPTDIR/dkarm-eabi/rules/* $prefix - - -#--------------------------------------------------------------------------------- -# set env variables -#--------------------------------------------------------------------------------- -export DEVKITPRO=$TOOLPATH -export DEVKITARM=$DEVKITPRO/devkitARM - -#--------------------------------------------------------------------------------- -# Install and build the crt0 files -#--------------------------------------------------------------------------------- - -cp -v $BUILDSCRIPTDIR/dkarm-eabi/crtls/* $prefix/$target/lib/ -cd $prefix/$target/lib/ - - -$MAKE CRT=gba -$MAKE CRT=gp32 -$MAKE CRT=er -$MAKE CRT=gp32_gpsdk -$MAKE CRT=ds_arm7 -$MAKE CRT=ds_arm9 -$MAKE CRT=ds_cart -$MAKE ds_arm7_vram_crt0 -$MAKE 3dsx_crt0 - -cd $BUILDDIR - #--------------------------------------------------------------------------------- # build and install the debugger #--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/scripts/build-libs.sh b/dkarm-eabi/scripts/build-libs.sh index 64eee9d..4e8f7ab 100644 --- a/dkarm-eabi/scripts/build-libs.sh +++ b/dkarm-eabi/scripts/build-libs.sh @@ -1,8 +1,39 @@ #!/bin/sh +#--------------------------------------------------------------------------------- +# set env variables +#--------------------------------------------------------------------------------- export DEVKITPRO=$TOOLPATH export DEVKITARM=$DEVKITPRO/devkitARM +#--------------------------------------------------------------------------------- +# Install the rules files +#--------------------------------------------------------------------------------- +cd $BUILDDIR + +mkdir -p rules +cd rules +tar -xvf $SRCDIR/devkitarm-rules-$DKARM_RULES_VER.tar.xz +make install + +#--------------------------------------------------------------------------------- +# Install and build the crt0 files +#--------------------------------------------------------------------------------- + +cp -v $BUILDSCRIPTDIR/dkarm-eabi/crtls/* $prefix/$target/lib/ +cd $prefix/$target/lib/ + + +$MAKE CRT=gba +$MAKE CRT=gp32 +$MAKE CRT=er +$MAKE CRT=gp32_gpsdk +$MAKE CRT=ds_arm7 +$MAKE CRT=ds_arm9 +$MAKE CRT=ds_cart +$MAKE ds_arm7_vram_crt0 +$MAKE 3dsx_crt0 + cd $BUILDDIR/libgba-$LIBGBA_VER $MAKE || { echo "error building libgba"; exit 1; } $MAKE install || { echo "error installing libgba"; exit 1; } From dd40237a2ac139104946e4c284d239a62d11e905 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 18 Feb 2019 15:55:47 +0000 Subject: [PATCH 064/280] use latest 3ds libs --- build-devkit.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 55b3b8e..9d3492f 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -51,9 +51,9 @@ LIBOGC_VER=1.8.21 WIILOAD_VER=0.5.1 DKPPC_RULES_VER=1.0.0 -LIBCTRU_VER=1.5.0 -CITRO3D_VER=1.4.0 -CITRO2D_VER=1.0.0 +LIBCTRU_VER=1.5.1 +CITRO3D_VER=1.5.0 +CITRO2D_VER=1.1.0 TOOLS3DS_VER=1.1.4 LINK3DS_VER=0.5.2 PICASSO_VER=2.7.0 From d643106bf8b8ba3a7c62111c050b222570ac7966 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 18 Feb 2019 23:13:18 +0000 Subject: [PATCH 065/280] devkitARM: update gdb to 8.2.1 --- dkarm-eabi/patches/gdb-8.2.1.patch | 389 +++++++++++++++++++++++++++++ select_toolchain.sh | 2 +- 2 files changed, 390 insertions(+), 1 deletion(-) create mode 100644 dkarm-eabi/patches/gdb-8.2.1.patch diff --git a/dkarm-eabi/patches/gdb-8.2.1.patch b/dkarm-eabi/patches/gdb-8.2.1.patch new file mode 100644 index 0000000..3b0dbe9 --- /dev/null +++ b/dkarm-eabi/patches/gdb-8.2.1.patch @@ -0,0 +1,389 @@ +diff -NBaur gdb-8.2/gdb/arm-3ds-tdep.c gdb-8.2-3ds/gdb/arm-3ds-tdep.c +--- gdb-8.2/gdb/arm-3ds-tdep.c 1970-01-01 01:00:00.000000000 +0100 ++++ gdb-8.2-3ds/gdb/arm-3ds-tdep.c 2018-11-15 22:55:21.916968907 +0000 +@@ -0,0 +1,157 @@ ++/* Target-dependent code for 3DS. */ ++ ++/* This uses code from GDB, which license is: */ ++ ++/* ++ Copyright (C) 2002-2017 Free Software Foundation, Inc. ++ ++ This file is part of GDB. ++ ++ This program 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. ++ ++ This program 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 program. If not, see . */ ++ ++#include "defs.h" ++#include "gdbcore.h" ++#include "target.h" ++#include "osabi.h" ++#include "xml-syscall.h" ++ ++#include "arch/arm.h" ++#include "arch/arm-get-next-pcs.h" ++#include "arm-tdep.h" ++ ++static const gdb_byte arm_3ds_arm_le_breakpoint[] = {0xff, 0x00, 0x00, 0xef}; ++static const gdb_byte arm_3ds_thumb_le_breakpoint[] = {0xff, 0xdf}; ++ ++static CORE_ADDR ++ arm_3ds_get_next_pcs_syscall_next_pc (struct arm_get_next_pcs *self); ++ ++/* Operation function pointers for get_next_pcs. */ ++static struct arm_get_next_pcs_ops arm_3ds_get_next_pcs_ops = { ++ arm_get_next_pcs_read_memory_unsigned_integer, ++ arm_3ds_get_next_pcs_syscall_next_pc, ++ arm_get_next_pcs_addr_bits_remove, ++ arm_get_next_pcs_is_thumb, ++ NULL, ++}; ++ ++static CORE_ADDR ++arm_3ds_get_next_pcs_syscall_next_pc (struct arm_get_next_pcs *self) ++{ ++ CORE_ADDR next_pc = 0; ++ CORE_ADDR pc = regcache_read_pc (self->regcache); ++ int is_thumb = arm_is_thumb (self->regcache); ++ ULONGEST svc_number = 0; ++ ++ if (is_thumb) ++ { ++ next_pc = pc + 2; ++ } ++ else ++ { ++ next_pc = pc + 4; ++ } ++ ++ /* Addresses for calling Thumb functions have the bit 0 set. */ ++ if (is_thumb) ++ next_pc = MAKE_THUMB_ADDR (next_pc); ++ ++ return next_pc; ++} ++ ++static LONGEST ++arm_3ds_get_syscall_number (struct gdbarch *gdbarch, ++ thread_info *thread) ++{ ++ struct regcache *regs = get_thread_regcache (thread); ++ ++ ULONGEST pc; ++ ULONGEST cpsr; ++ ULONGEST t_bit = arm_psr_thumb_bit (gdbarch); ++ int is_thumb; ++ ULONGEST svc_number = -1; ++ ++ regcache_cooked_read_unsigned (regs, ARM_PC_REGNUM, &pc); ++ regcache_cooked_read_unsigned (regs, ARM_PS_REGNUM, &cpsr); ++ is_thumb = (cpsr & t_bit) != 0; ++ ++ if (is_thumb) ++ { ++ enum bfd_endian byte_order_for_code = ++ gdbarch_byte_order_for_code (gdbarch); ++ ++ /* PC gets incremented before the syscall-stop, so read the ++ previous instruction. */ ++ unsigned long this_instr = ++ read_memory_unsigned_integer (pc - 2, 2, byte_order_for_code); ++ ++ unsigned long svc_operand = (0x00ff & this_instr); ++ svc_number = svc_operand; ++ } ++ else ++ { ++ enum bfd_endian byte_order_for_code = ++ gdbarch_byte_order_for_code (gdbarch); ++ ++ /* PC gets incremented before the syscall-stop, so read the ++ previous instruction. */ ++ unsigned long this_instr = ++ read_memory_unsigned_integer (pc - 4, 4, byte_order_for_code); ++ ++ unsigned long svc_operand = (0x000000ff & this_instr); ++ svc_number = svc_operand; ++ } ++ ++ if (svc_number == 0xfe) ++ { ++ regcache_cooked_read_unsigned (regs, 12, &svc_number); ++ } ++ ++ return svc_number; ++} ++ ++static void ++arm_3ds_init_abi (struct gdbarch_info info, ++ struct gdbarch *gdbarch) ++{ ++ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); ++ ++ switch (info.byte_order) ++ { ++ case BFD_ENDIAN_LITTLE: ++ tdep->arm_breakpoint = arm_3ds_arm_le_breakpoint; ++ tdep->thumb_breakpoint = arm_3ds_thumb_le_breakpoint; ++ tdep->arm_breakpoint_size = sizeof (arm_3ds_arm_le_breakpoint); ++ tdep->thumb_breakpoint_size = sizeof (arm_3ds_thumb_le_breakpoint); ++ break; ++ ++ default: ++ internal_error (__FILE__, __LINE__, ++ _("arm_gdbarch_init: bad byte order")); ++ } ++ tdep->fp_model = ARM_FLOAT_VFP; ++ ++ /* Single stepping. */ ++ set_gdbarch_software_single_step (gdbarch, arm_software_single_step); ++ ++ /* `catch syscall' */ ++ set_xml_syscall_file_name (gdbarch, "syscalls/arm-3ds.xml"); ++ set_gdbarch_get_syscall_number (gdbarch, arm_3ds_get_syscall_number); ++} ++ ++void ++_initialize_arm_3ds_tdep (void) ++{ ++ gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_3DS, ++ arm_3ds_init_abi); ++} +diff -NBaur gdb-8.2/gdb/configure.tgt gdb-8.2-3ds/gdb/configure.tgt +--- gdb-8.2/gdb/configure.tgt 2018-09-05 08:44:28.000000000 +0100 ++++ gdb-8.2-3ds/gdb/configure.tgt 2018-11-15 22:47:17.337689978 +0000 +@@ -61,7 +61,7 @@ + ;; + + arm*-*-*) +- cpu_obs="arch/arm.o arch/arm-get-next-pcs.o arm-tdep.o";; ++ cpu_obs="arch/arm.o arch/arm-get-next-pcs.o arm-tdep.o arm-3ds-tdep.o";; + + hppa*-*-*) + # Target: HP PA-RISC +diff -NBaur gdb-8.2/gdb/data-directory/Makefile.in gdb-8.2-3ds/gdb/data-directory/Makefile.in +--- gdb-8.2/gdb/data-directory/Makefile.in 2018-01-05 04:07:23.000000000 +0000 ++++ gdb-8.2-3ds/gdb/data-directory/Makefile.in 2018-11-15 22:42:36.840956065 +0000 +@@ -63,7 +63,7 @@ + sparc-linux.xml \ + sparc64-linux.xml + +-SYSCALLS_FILES = gdb-syscalls.dtd freebsd.xml $(GEN_SYSCALLS_FILES) ++SYSCALLS_FILES = gdb-syscalls.dtd freebsd.xml arm-3ds.xml $(GEN_SYSCALLS_FILES) + + PYTHON_DIR = python + PYTHON_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(PYTHON_DIR) +diff -NBaur gdb-8.2/gdb/defs.h gdb-8.2-3ds/gdb/defs.h +--- gdb-8.2/gdb/defs.h 2018-09-05 08:27:32.000000000 +0100 ++++ gdb-8.2-3ds/gdb/defs.h 2018-11-15 22:42:36.840956065 +0000 +@@ -495,6 +495,7 @@ + GDB_OSABI_LYNXOS178, + GDB_OSABI_NEWLIB, + GDB_OSABI_SDE, ++ GDB_OSABI_3DS, + + GDB_OSABI_INVALID /* keep this last */ + }; +diff -NBaur gdb-8.2/gdb/Makefile.in gdb-8.2-3ds/gdb/Makefile.in +--- gdb-8.2/gdb/Makefile.in 2018-09-05 08:44:28.000000000 +0100 ++++ gdb-8.2-3ds/gdb/Makefile.in 2018-11-15 22:45:01.628931262 +0000 +@@ -684,6 +684,7 @@ + arch/arm-linux.o \ + arch/i386.o \ + arch/ppc-linux-common.o \ ++ arm-3ds-tdep.o \ + arm-bsd-tdep.o \ + arm-fbsd-tdep.o \ + arm-linux-tdep.o \ +@@ -2213,6 +2214,7 @@ + amd64-tdep.c \ + arc-tdep.c \ + arm.c \ ++ arm-3ds-tdep.c \ + arm-bsd-tdep.c \ + arm-fbsd-nat.c \ + arm-fbsd-tdep.c \ +diff -NBaur gdb-8.2/gdb/osabi.c gdb-8.2-3ds/gdb/osabi.c +--- gdb-8.2/gdb/osabi.c 2018-09-05 08:27:13.000000000 +0100 ++++ gdb-8.2-3ds/gdb/osabi.c 2018-11-15 22:42:36.840956065 +0000 +@@ -80,6 +80,7 @@ + { "LynxOS178", NULL }, + { "Newlib", NULL }, + { "SDE", NULL }, ++ { "3DS", NULL }, + + { "", NULL } + }; +diff -NBaur gdb-8.2/gdb/syscalls/arm-3ds.xml gdb-8.2-3ds/gdb/syscalls/arm-3ds.xml +--- gdb-8.2/gdb/syscalls/arm-3ds.xml 1970-01-01 01:00:00.000000000 +0100 ++++ gdb-8.2-3ds/gdb/syscalls/arm-3ds.xml 2018-11-15 22:42:36.840956065 +0000 +@@ -0,0 +1,159 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --git a/select_toolchain.sh b/select_toolchain.sh index c0fdae5..847982b 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -33,7 +33,7 @@ case "$VERSION" in GCC_VER=8.2.0 BINUTILS_VER=2.32 NEWLIB_VER=3.0.0 - GDB_VER=8.2 + GDB_VER=8.2.1 basedir='dkarm-eabi' package=devkitARM target=arm-none-eabi From c38b9e9425fc2d5fc242b2091580ef2070187e01 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 19 Feb 2019 14:08:26 +0000 Subject: [PATCH 066/280] update libgba version --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 9d3492f..75358db 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -28,7 +28,7 @@ echo GENERAL_TOOLS_VER=1.0.2 -LIBGBA_VER=0.5.1 +LIBGBA_VER=0.5.2 GBATOOLS_VER=1.1.0 DKARM_RULES_VER=1.0.0 From b10d1e133f9eaac0158d7307bef5d9e6e442e89d Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 19 Feb 2019 14:10:12 +0000 Subject: [PATCH 067/280] remove stale patches --- dka64/patches/binutils-2.30.patch | 346 -------------------------- dka64/patches/gcc-8.1.0.patch | 190 --------------- dkarm-eabi/patches/gdb-8.2.patch | 389 ------------------------------ 3 files changed, 925 deletions(-) delete mode 100644 dka64/patches/binutils-2.30.patch delete mode 100644 dka64/patches/gcc-8.1.0.patch delete mode 100644 dkarm-eabi/patches/gdb-8.2.patch diff --git a/dka64/patches/binutils-2.30.patch b/dka64/patches/binutils-2.30.patch deleted file mode 100644 index 4dcc61f..0000000 --- a/dka64/patches/binutils-2.30.patch +++ /dev/null @@ -1,346 +0,0 @@ -diff -NBaur binutils-2.30/bfd/elfnn-aarch64.c binutils-2.30-dka64/bfd/elfnn-aarch64.c ---- binutils-2.30/bfd/elfnn-aarch64.c 2018-01-17 11:29:21.000000000 +0000 -+++ binutils-2.30-dka64/bfd/elfnn-aarch64.c 2018-02-11 19:54:08.141257544 +0000 -@@ -2097,6 +2097,12 @@ - aarch64_stub_erratum_843419_veneer, - }; - -+/* Is an undefined weak symbol resolved to 0 ? */ -+#define UNDEFINED_WEAK_RESOLVED_TO_ZERO(INFO, EH) \ -+ ((EH)->root.root.type == bfd_link_hash_undefweak \ -+ && bfd_link_executable (INFO) \ -+ && !(INFO)->dynamic_undefined_weak) -+ - struct elf_aarch64_stub_hash_entry - { - /* Base hash table entry structure. */ -@@ -6088,11 +6094,13 @@ - Elf_Internal_Sym *sym; - asection *sec; - struct elf_link_hash_entry *h; -+ struct elf_aarch64_link_hash_entry *eh; - bfd_vma relocation; - bfd_reloc_status_type r; - arelent bfd_reloc; - char sym_type; - bfd_boolean unresolved_reloc = FALSE; -+ bfd_boolean resolved_to_zero = FALSE; - char *error_message = NULL; - - r_symndx = ELFNN_R_SYM (rel->r_info); -@@ -6226,6 +6234,10 @@ - h, &unresolved_reloc, - save_addend, &addend, sym); - -+ eh = (struct elf_aarch64_link_hash_entry *) h; -+ resolved_to_zero = (eh != NULL -+ && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh)); -+ - switch (elfNN_aarch64_bfd_reloc_from_type (r_type)) - { - case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC: -@@ -6249,7 +6261,7 @@ - need_relocs = - (!bfd_link_executable (info) || indx != 0) && - (h == NULL -- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT -+ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) - || h->root.type != bfd_link_hash_undefweak); - - BFD_ASSERT (globals->root.srelgot != NULL); -@@ -6344,7 +6356,7 @@ - need_relocs = - (!bfd_link_executable (info) || indx != 0) && - (h == NULL -- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT -+ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) - || h->root.type != bfd_link_hash_undefweak); - - BFD_ASSERT (globals->root.srelgot != NULL); -@@ -6393,7 +6405,7 @@ - bfd_vma off = symbol_tlsdesc_got_offset (input_bfd, h, r_symndx); - - need_relocs = (h == NULL -- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT -+ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) - || h->root.type != bfd_link_hash_undefweak); - - BFD_ASSERT (globals->root.srelgot != NULL); -@@ -6735,6 +6747,26 @@ - return FALSE; - } - -+/* Remove undefined weak symbol from the dynamic symbol table if it -+ is resolved to 0. */ -+ -+extern bfd_boolean -+elfNN_aarch64_elf_fixup_symbol (struct bfd_link_info *, struct elf_link_hash_entry *); -+ -+bfd_boolean -+elfNN_aarch64_elf_fixup_symbol (struct bfd_link_info *info, -+ struct elf_link_hash_entry *h) -+{ -+ if (h->dynindx != -1 -+ && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, elf_aarch64_hash_entry (h))) -+ { -+ h->dynindx = -1; -+ _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr, -+ h->dynstr_index); -+ } -+ return TRUE; -+} -+ - /* Adjust a symbol defined by a dynamic object and referenced by a - regular object. The current definition is in some section of the - dynamic object, but we're not including those sections. We have to -@@ -7928,6 +7960,7 @@ - struct elf_aarch64_link_hash_table *htab; - struct elf_aarch64_link_hash_entry *eh; - struct elf_dyn_relocs *p; -+ bfd_boolean resolved_to_zero; - - /* An example of a bfd_link_hash_indirect symbol is versioned - symbol. For example: __gxx_personality_v0(bfd_link_hash_indirect) -@@ -7947,6 +7980,10 @@ - info = (struct bfd_link_info *) inf; - htab = elf_aarch64_hash_table (info); - -+ eh = (struct elf_aarch64_link_hash_entry *) h; -+ eh->tlsdesc_got_jump_table_offset = (bfd_vma) - 1; -+ resolved_to_zero = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh); -+ - /* Since STT_GNU_IFUNC symbol must go through PLT, we handle it - here if it is defined and referenced in a non-shared object. */ - if (h->type == STT_GNU_IFUNC -@@ -7956,7 +7993,7 @@ - { - /* Make sure this symbol is output as a dynamic symbol. - Undefined weak syms won't yet be marked as dynamic. */ -- if (h->dynindx == -1 && !h->forced_local -+ if (h->dynindx == -1 && !h->forced_local && !resolved_to_zero - && h->root.type == bfd_link_hash_undefweak) - { - if (!bfd_elf_link_record_dynamic_symbol (info, h)) -@@ -7990,6 +8027,11 @@ - of relaxing into these from the large model PLT entries. */ - s->size += PLT_SMALL_ENTRY_SIZE; - -+ /* There should be no PLT relocations against resolved undefined -+ weak symbols in the executable. */ -+ if (!resolved_to_zero) -+ { -+ - /* We also need to make an entry in the .got.plt section, which - will be placed in the .got section by the linker script. */ - htab->root.sgotplt->size += GOT_ENTRY_SIZE; -@@ -8012,6 +8054,7 @@ - - htab->root.srelplt->reloc_count++; - } -+ } - else - { - h->plt.offset = (bfd_vma) - 1; -@@ -8024,9 +8067,6 @@ - h->needs_plt = 0; - } - -- eh = (struct elf_aarch64_link_hash_entry *) h; -- eh->tlsdesc_got_jump_table_offset = (bfd_vma) - 1; -- - if (h->got.refcount > 0) - { - bfd_boolean dyn; -@@ -8038,7 +8078,7 @@ - - /* Make sure this symbol is output as a dynamic symbol. - Undefined weak syms won't yet be marked as dynamic. */ -- if (dyn && h->dynindx == -1 && !h->forced_local -+ if (dyn && h->dynindx == -1 && !h->forced_local && !resolved_to_zero - && h->root.type == bfd_link_hash_undefweak) - { - if (!bfd_elf_link_record_dynamic_symbol (info, h)) -@@ -8052,7 +8092,7 @@ - { - h->got.offset = htab->root.sgot->size; - htab->root.sgot->size += GOT_ENTRY_SIZE; -- if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT -+ if (((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) - || h->root.type != bfd_link_hash_undefweak) - && (bfd_link_pic (info) - || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h)) -@@ -8088,7 +8128,7 @@ - } - - indx = h && h->dynindx != -1 ? h->dynindx : 0; -- if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT -+ if (((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) - || h->root.type != bfd_link_hash_undefweak) - && (!bfd_link_executable (info) - || indx != 0 -@@ -8154,7 +8194,7 @@ - visibility. */ - if (eh->dyn_relocs != NULL && h->root.type == bfd_link_hash_undefweak) - { -- if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT -+ if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT || resolved_to_zero - || UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) - eh->dyn_relocs = NULL; - -@@ -8174,7 +8214,9 @@ - symbols which turn out to need copy relocs or are not - dynamic. */ - -- if (!h->non_got_ref -+ if (!(h->non_got_ref -+ || (h->root.type == bfd_link_hash_undefweak -+ && !resolved_to_zero)) - && ((h->def_dynamic - && !h->def_regular) - || (htab->root.dynamic_sections_created -@@ -8185,6 +8227,7 @@ - Undefined weak syms won't yet be marked as dynamic. */ - if (h->dynindx == -1 - && !h->forced_local -+ && !resolved_to_zero - && h->root.type == bfd_link_hash_undefweak - && !bfd_elf_link_record_dynamic_symbol (info, h)) - return FALSE; -@@ -8805,8 +8848,17 @@ - Elf_Internal_Sym *sym) - { - struct elf_aarch64_link_hash_table *htab; -+ struct elf_aarch64_link_hash_entry *eh; -+ bfd_boolean local_undefweak; - htab = elf_aarch64_hash_table (info); - -+ eh = (struct elf_aarch64_link_hash_entry *) h; -+ -+ /* We keep PLT/GOT entries without dynamic PLT/GOT relocations for -+ resolved undefined weak symbols in executable so that their -+ references have value 0 at run-time. */ -+ local_undefweak = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh); -+ - if (h->plt.offset != (bfd_vma) - 1) - { - asection *plt, *gotplt, *relplt; -@@ -8841,7 +8893,7 @@ - return FALSE; - - elfNN_aarch64_create_small_pltn_entry (h, htab, output_bfd, info); -- if (!h->def_regular) -+ if (!local_undefweak && !h->def_regular) - { - /* Mark the symbol as undefined, rather than as defined in - the .plt section. */ -@@ -8860,10 +8912,11 @@ - } - - if (h->got.offset != (bfd_vma) - 1 -- && elf_aarch64_hash_entry (h)->got_type == GOT_NORMAL -+ && elf_aarch64_hash_entry (h)->got_type == GOT_NORMAL - /* Undefined weak symbol in static PIE resolves to 0 without - any dynamic relocations. */ -- && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) -+ && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h) -+ && !local_undefweak) - { - Elf_Internal_Rela rela; - bfd_byte *loc; -@@ -9357,6 +9410,9 @@ - #define elf_backend_init_index_section \ - _bfd_elf_init_2_index_sections - -+#define elf_backend_fixup_symbol \ -+ elfNN_aarch64_elf_fixup_symbol -+ - #define elf_backend_finish_dynamic_sections \ - elfNN_aarch64_finish_dynamic_sections - -diff -NBaur binutils-2.30/ld/emulparams/aarch64elf32.sh binutils-2.30-dka64/ld/emulparams/aarch64elf32.sh ---- binutils-2.30/ld/emulparams/aarch64elf32.sh 2018-01-13 13:31:16.000000000 +0000 -+++ binutils-2.30-dka64/ld/emulparams/aarch64elf32.sh 2018-02-11 19:48:08.997273556 +0000 -@@ -1,3 +1,5 @@ -+. ${srcdir}/emulparams/dynamic_undefined_weak.sh -+ - ARCH="aarch64:ilp32" - MACHINE= - NOP=0 -diff -NBaur binutils-2.30/ld/emulparams/aarch64elf.sh binutils-2.30-dka64/ld/emulparams/aarch64elf.sh ---- binutils-2.30/ld/emulparams/aarch64elf.sh 2018-01-13 13:31:16.000000000 +0000 -+++ binutils-2.30-dka64/ld/emulparams/aarch64elf.sh 2018-02-11 19:48:09.009273555 +0000 -@@ -1,3 +1,5 @@ -+. ${srcdir}/emulparams/dynamic_undefined_weak.sh -+ - ARCH=aarch64 - MACHINE= - NOP=0 -diff -NBaur binutils-2.30/ld/emultempl/aarch64elf.em binutils-2.30-dka64/ld/emultempl/aarch64elf.em ---- binutils-2.30/ld/emultempl/aarch64elf.em 2018-01-13 13:31:16.000000000 +0000 -+++ binutils-2.30-dka64/ld/emultempl/aarch64elf.em 2018-02-11 19:48:09.009273555 +0000 -@@ -378,7 +378,7 @@ - { "no-apply-dynamic-relocs", no_argument, NULL, OPTION_NO_APPLY_DYNAMIC_RELOCS}, - ' - --PARSE_AND_LIST_OPTIONS=' -+PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}' - fprintf (file, _(" --no-enum-size-warning Don'\''t warn about objects with incompatible\n" - " enum sizes\n")); - fprintf (file, _(" --no-wchar-size-warning Don'\''t warn about objects with incompatible" -diff -NBaur binutils-2.30/ld/Makefile.am binutils-2.30-dka64/ld/Makefile.am ---- binutils-2.30/ld/Makefile.am 2018-01-13 13:31:16.000000000 +0000 -+++ binutils-2.30-dka64/ld/Makefile.am 2018-02-11 19:48:09.021273555 +0000 -@@ -1654,19 +1654,23 @@ - $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} - - eaarch64elf.c: $(srcdir)/emulparams/aarch64elf.sh \ -- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ -+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elf32.c: $(srcdir)/emulparams/aarch64elf32.sh \ -- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ -+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64elf.sh \ -- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ -+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \ -- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ -+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64cloudabi.c: $(srcdir)/emulparams/aarch64cloudabi.sh \ -diff -NBaur binutils-2.30/ld/Makefile.in binutils-2.30-dka64/ld/Makefile.in ---- binutils-2.30/ld/Makefile.in 2018-01-27 15:03:10.000000000 +0000 -+++ binutils-2.30-dka64/ld/Makefile.in 2018-02-11 19:48:09.037273554 +0000 -@@ -3219,18 +3219,22 @@ - - eaarch64elf.c: $(srcdir)/emulparams/aarch64elf.sh \ - $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elf32.c: $(srcdir)/emulparams/aarch64elf32.sh \ - $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64elf.sh \ - $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \ - $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64cloudabi.c: $(srcdir)/emulparams/aarch64cloudabi.sh \ diff --git a/dka64/patches/gcc-8.1.0.patch b/dka64/patches/gcc-8.1.0.patch deleted file mode 100644 index 318ebac..0000000 --- a/dka64/patches/gcc-8.1.0.patch +++ /dev/null @@ -1,190 +0,0 @@ -diff -NBaur gcc-8.1.0/gcc/config/aarch64/aarch64.c gcc-8.1.0-aarch64/gcc/config/aarch64/aarch64.c ---- gcc-8.1.0/gcc/config/aarch64/aarch64.c 2018-03-15 08:55:04.000000000 +0000 -+++ gcc-8.1.0-aarch64/gcc/config/aarch64/aarch64.c 2018-05-08 11:09:01.247467815 +0100 -@@ -11963,8 +11963,24 @@ - || !register_operand (target, Pmode)) - target = gen_reg_rtx (Pmode); - -- /* Can return in any reg. */ -- emit_insn (gen_aarch64_load_tp_hard (target)); -+ if (TARGET_HARD_TP) -+ { -+ /* Can return in any reg. */ -+ emit_insn (gen_aarch64_load_tp_hard (target)); -+ } -+ else -+ { -+ /* Always returned in r0. Immediately copy the result into a pseudo, -+ otherwise other uses of r0 (e.g. setting up function arguments) may -+ clobber the value. */ -+ -+ rtx tmp; -+ -+ emit_insn (gen_aarch64_load_tp_soft ()); -+ -+ tmp = gen_rtx_REG (DImode, R0_REGNUM); -+ emit_move_insn (target, tmp); -+ } - return target; - } - -diff -NBaur gcc-8.1.0/gcc/config/aarch64/aarch64-elf-raw.h gcc-8.1.0-aarch64/gcc/config/aarch64/aarch64-elf-raw.h ---- gcc-8.1.0/gcc/config/aarch64/aarch64-elf-raw.h 2018-01-03 10:03:58.000000000 +0000 -+++ gcc-8.1.0-aarch64/gcc/config/aarch64/aarch64-elf-raw.h 2018-05-08 11:09:01.247467815 +0100 -@@ -22,6 +22,7 @@ - #ifndef GCC_AARCH64_ELF_RAW_H - #define GCC_AARCH64_ELF_RAW_H - -+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" - #define STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" - #define ENDFILE_SPEC \ - " crtend%O%s crtn%O%s " \ -diff -NBaur gcc-8.1.0/gcc/config/aarch64/aarch64.h gcc-8.1.0-aarch64/gcc/config/aarch64/aarch64.h ---- gcc-8.1.0/gcc/config/aarch64/aarch64.h 2018-02-21 14:05:45.000000000 +0000 -+++ gcc-8.1.0-aarch64/gcc/config/aarch64/aarch64.h 2018-05-08 11:09:01.255467862 +0100 -@@ -957,6 +957,10 @@ - /* Check TLS Descriptors mechanism is selected. */ - #define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS) - -+/* Check selected thread pointer access sequence to use. */ -+#define TARGET_HARD_TP (target_thread_pointer == TP_HARD) -+#define TARGET_SOFT_TP (target_thread_pointer == TP_SOFT) -+ - extern enum aarch64_code_model aarch64_cmodel; - - /* When using the tiny addressing model conditional and unconditional branches -diff -NBaur gcc-8.1.0/gcc/config/aarch64/aarch64.md gcc-8.1.0-aarch64/gcc/config/aarch64/aarch64.md ---- gcc-8.1.0/gcc/config/aarch64/aarch64.md 2018-04-24 17:58:49.000000000 +0100 -+++ gcc-8.1.0-aarch64/gcc/config/aarch64/aarch64.md 2018-05-08 11:09:01.255467862 +0100 -@@ -5693,11 +5693,22 @@ - (define_insn "aarch64_load_tp_hard" - [(set (match_operand:DI 0 "register_operand" "=r") - (unspec:DI [(const_int 0)] UNSPEC_TLS))] -- "" -- "mrs\\t%0, tpidr_el0" -+ "TARGET_HARD_TP" -+ "mrs\\t%0, tpidr_el0\\t// aarch64_load_tp_hard" - [(set_attr "type" "mrs")] - ) - -+(define_insn "aarch64_load_tp_soft" -+ [(set (reg:DI 0) (unspec:DI [(const_int 0)] UNSPEC_TLS)) -+ (clobber (reg:DI IP0_REGNUM)) -+ (clobber (reg:DI IP1_REGNUM)) -+ (clobber (reg:DI LR_REGNUM)) -+ (clobber (reg:CC CC_REGNUM))] -+ "TARGET_SOFT_TP" -+ "bl\\t__aarch64_read_tp\\t// aarch64_load_tp_soft" -+ [(set_attr "type" "branch")] -+) -+ - ;; The TLS ABI specifically requires that the compiler does not schedule - ;; instructions in the TLS stubs, in order to enable linker relaxation. - ;; Therefore we treat the stubs as an atomic sequence. -diff -NBaur gcc-8.1.0/gcc/config/aarch64/aarch64.opt gcc-8.1.0-aarch64/gcc/config/aarch64/aarch64.opt ---- gcc-8.1.0/gcc/config/aarch64/aarch64.opt 2018-01-13 17:50:35.000000000 +0000 -+++ gcc-8.1.0-aarch64/gcc/config/aarch64/aarch64.opt 2018-05-08 11:09:01.255467862 +0100 -@@ -115,6 +115,20 @@ - EnumValue - Enum(aarch64_tls_size) String(48) Value(48) - -+mtp= -+Target RejectNegative Joined Enum(aarch64_tp_type) Var(target_thread_pointer) Init(TP_HARD) -+Specify how to access the thread pointer. -+ -+Enum -+Name(aarch64_tp_type) Type(enum aarch64_tp_type) -+Valid arguments to -mtp=: -+ -+EnumValue -+Enum(aarch64_tp_type) String(hard) Value(TP_HARD) -+ -+EnumValue -+Enum(aarch64_tp_type) String(soft) Value(TP_SOFT) -+ - march= - Target RejectNegative ToLower Joined Var(aarch64_arch_string) - -march=ARCH Use features of architecture ARCH. -diff -NBaur gcc-8.1.0/gcc/config/aarch64/aarch64-opts.h gcc-8.1.0-aarch64/gcc/config/aarch64/aarch64-opts.h ---- gcc-8.1.0/gcc/config/aarch64/aarch64-opts.h 2018-01-13 17:50:35.000000000 +0000 -+++ gcc-8.1.0-aarch64/gcc/config/aarch64/aarch64-opts.h 2018-05-08 11:09:01.255467862 +0100 -@@ -48,6 +48,12 @@ - TLS_DESCRIPTORS - }; - -+/* Which thread pointer access sequence to use. */ -+enum aarch64_tp_type { -+ TP_HARD, -+ TP_SOFT -+}; -+ - /* The code model defines the address generation strategy. - Most have a PIC and non-PIC variant. */ - enum aarch64_code_model { -diff -NBaur gcc-8.1.0/gcc/config/aarch64/t-aarch64 gcc-8.1.0-aarch64/gcc/config/aarch64/t-aarch64 ---- gcc-8.1.0/gcc/config/aarch64/t-aarch64 2018-01-03 10:03:58.000000000 +0000 -+++ gcc-8.1.0-aarch64/gcc/config/aarch64/t-aarch64 2018-05-08 11:09:01.255467862 +0100 -@@ -68,5 +68,7 @@ - $(srcdir)/config/aarch64/cortex-a57-fma-steering.c - - comma=, --MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG)))) --MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG)) -+MULTILIB_OPTIONS = mcmodel=large fPIC -+MULTILIB_DIRNAMES = large pic -+MULTILIB_REQUIRED = mcmodel=large fPIC -+MULTILIB_MATCHES = fPIC=fpic fPIC=fpie fPIC=fPIE -diff -NBaur gcc-8.1.0/gcc/gcc.c gcc-8.1.0-aarch64/gcc/gcc.c ---- gcc-8.1.0/gcc/gcc.c 2018-02-09 06:44:06.000000000 +0000 -+++ gcc-8.1.0-aarch64/gcc/gcc.c 2018-05-08 11:09:01.259467885 +0100 -@@ -786,6 +786,11 @@ - #endif - #endif - -+#ifndef LIBGLOSS_SPEC -+# define LIBGLOSS_SPEC "-lsysbase" -+#endif -+ -+ - /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ - #ifndef STARTFILE_SPEC - #define STARTFILE_SPEC \ -@@ -1081,6 +1086,7 @@ - static const char *lib_spec = LIB_SPEC; - static const char *link_gomp_spec = ""; - static const char *libgcc_spec = LIBGCC_SPEC; -+static const char *libgloss_spec = LIBGLOSS_SPEC; - static const char *endfile_spec = ENDFILE_SPEC; - static const char *startfile_spec = STARTFILE_SPEC; - static const char *linker_name_spec = LINKER_NAME; -@@ -1577,6 +1583,7 @@ - INIT_STATIC_SPEC ("lib", &lib_spec), - INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), - INIT_STATIC_SPEC ("libgcc", &libgcc_spec), -+ INIT_STATIC_SPEC ("libgloss", &libgloss_spec), - INIT_STATIC_SPEC ("startfile", &startfile_spec), - INIT_STATIC_SPEC ("cross_compile", &cross_compile), - INIT_STATIC_SPEC ("version", &compiler_version), -diff -NBaur gcc-8.1.0/libgcc/crtstuff.c gcc-8.1.0-aarch64/libgcc/crtstuff.c ---- gcc-8.1.0/libgcc/crtstuff.c 2018-01-03 10:03:58.000000000 +0000 -+++ gcc-8.1.0-aarch64/libgcc/crtstuff.c 2018-05-08 11:09:01.259467885 +0100 -@@ -47,6 +47,7 @@ - - /* Target machine header files require this define. */ - #define IN_LIBGCC2 -+#define USED_FOR_TARGET - - /* FIXME: Including auto-host is incorrect, but until we have - identified the set of defines that need to go into auto-target.h, -diff -NBaur gcc-8.1.0/libgcc/Makefile.in gcc-8.1.0-aarch64/libgcc/Makefile.in ---- gcc-8.1.0/libgcc/Makefile.in 2018-01-03 10:03:58.000000000 +0000 -+++ gcc-8.1.0-aarch64/libgcc/Makefile.in 2018-05-08 11:09:01.259467885 +0100 -@@ -847,7 +847,7 @@ - # libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and - # LIB2ADDEHSHARED matter. (Usually all three are identical.) - --c_flags := -fexceptions -+c_flags := -fno-exceptions - - ifeq ($(enable_shared),yes) - diff --git a/dkarm-eabi/patches/gdb-8.2.patch b/dkarm-eabi/patches/gdb-8.2.patch deleted file mode 100644 index 3b0dbe9..0000000 --- a/dkarm-eabi/patches/gdb-8.2.patch +++ /dev/null @@ -1,389 +0,0 @@ -diff -NBaur gdb-8.2/gdb/arm-3ds-tdep.c gdb-8.2-3ds/gdb/arm-3ds-tdep.c ---- gdb-8.2/gdb/arm-3ds-tdep.c 1970-01-01 01:00:00.000000000 +0100 -+++ gdb-8.2-3ds/gdb/arm-3ds-tdep.c 2018-11-15 22:55:21.916968907 +0000 -@@ -0,0 +1,157 @@ -+/* Target-dependent code for 3DS. */ -+ -+/* This uses code from GDB, which license is: */ -+ -+/* -+ Copyright (C) 2002-2017 Free Software Foundation, Inc. -+ -+ This file is part of GDB. -+ -+ This program 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. -+ -+ This program 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 program. If not, see . */ -+ -+#include "defs.h" -+#include "gdbcore.h" -+#include "target.h" -+#include "osabi.h" -+#include "xml-syscall.h" -+ -+#include "arch/arm.h" -+#include "arch/arm-get-next-pcs.h" -+#include "arm-tdep.h" -+ -+static const gdb_byte arm_3ds_arm_le_breakpoint[] = {0xff, 0x00, 0x00, 0xef}; -+static const gdb_byte arm_3ds_thumb_le_breakpoint[] = {0xff, 0xdf}; -+ -+static CORE_ADDR -+ arm_3ds_get_next_pcs_syscall_next_pc (struct arm_get_next_pcs *self); -+ -+/* Operation function pointers for get_next_pcs. */ -+static struct arm_get_next_pcs_ops arm_3ds_get_next_pcs_ops = { -+ arm_get_next_pcs_read_memory_unsigned_integer, -+ arm_3ds_get_next_pcs_syscall_next_pc, -+ arm_get_next_pcs_addr_bits_remove, -+ arm_get_next_pcs_is_thumb, -+ NULL, -+}; -+ -+static CORE_ADDR -+arm_3ds_get_next_pcs_syscall_next_pc (struct arm_get_next_pcs *self) -+{ -+ CORE_ADDR next_pc = 0; -+ CORE_ADDR pc = regcache_read_pc (self->regcache); -+ int is_thumb = arm_is_thumb (self->regcache); -+ ULONGEST svc_number = 0; -+ -+ if (is_thumb) -+ { -+ next_pc = pc + 2; -+ } -+ else -+ { -+ next_pc = pc + 4; -+ } -+ -+ /* Addresses for calling Thumb functions have the bit 0 set. */ -+ if (is_thumb) -+ next_pc = MAKE_THUMB_ADDR (next_pc); -+ -+ return next_pc; -+} -+ -+static LONGEST -+arm_3ds_get_syscall_number (struct gdbarch *gdbarch, -+ thread_info *thread) -+{ -+ struct regcache *regs = get_thread_regcache (thread); -+ -+ ULONGEST pc; -+ ULONGEST cpsr; -+ ULONGEST t_bit = arm_psr_thumb_bit (gdbarch); -+ int is_thumb; -+ ULONGEST svc_number = -1; -+ -+ regcache_cooked_read_unsigned (regs, ARM_PC_REGNUM, &pc); -+ regcache_cooked_read_unsigned (regs, ARM_PS_REGNUM, &cpsr); -+ is_thumb = (cpsr & t_bit) != 0; -+ -+ if (is_thumb) -+ { -+ enum bfd_endian byte_order_for_code = -+ gdbarch_byte_order_for_code (gdbarch); -+ -+ /* PC gets incremented before the syscall-stop, so read the -+ previous instruction. */ -+ unsigned long this_instr = -+ read_memory_unsigned_integer (pc - 2, 2, byte_order_for_code); -+ -+ unsigned long svc_operand = (0x00ff & this_instr); -+ svc_number = svc_operand; -+ } -+ else -+ { -+ enum bfd_endian byte_order_for_code = -+ gdbarch_byte_order_for_code (gdbarch); -+ -+ /* PC gets incremented before the syscall-stop, so read the -+ previous instruction. */ -+ unsigned long this_instr = -+ read_memory_unsigned_integer (pc - 4, 4, byte_order_for_code); -+ -+ unsigned long svc_operand = (0x000000ff & this_instr); -+ svc_number = svc_operand; -+ } -+ -+ if (svc_number == 0xfe) -+ { -+ regcache_cooked_read_unsigned (regs, 12, &svc_number); -+ } -+ -+ return svc_number; -+} -+ -+static void -+arm_3ds_init_abi (struct gdbarch_info info, -+ struct gdbarch *gdbarch) -+{ -+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); -+ -+ switch (info.byte_order) -+ { -+ case BFD_ENDIAN_LITTLE: -+ tdep->arm_breakpoint = arm_3ds_arm_le_breakpoint; -+ tdep->thumb_breakpoint = arm_3ds_thumb_le_breakpoint; -+ tdep->arm_breakpoint_size = sizeof (arm_3ds_arm_le_breakpoint); -+ tdep->thumb_breakpoint_size = sizeof (arm_3ds_thumb_le_breakpoint); -+ break; -+ -+ default: -+ internal_error (__FILE__, __LINE__, -+ _("arm_gdbarch_init: bad byte order")); -+ } -+ tdep->fp_model = ARM_FLOAT_VFP; -+ -+ /* Single stepping. */ -+ set_gdbarch_software_single_step (gdbarch, arm_software_single_step); -+ -+ /* `catch syscall' */ -+ set_xml_syscall_file_name (gdbarch, "syscalls/arm-3ds.xml"); -+ set_gdbarch_get_syscall_number (gdbarch, arm_3ds_get_syscall_number); -+} -+ -+void -+_initialize_arm_3ds_tdep (void) -+{ -+ gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_3DS, -+ arm_3ds_init_abi); -+} -diff -NBaur gdb-8.2/gdb/configure.tgt gdb-8.2-3ds/gdb/configure.tgt ---- gdb-8.2/gdb/configure.tgt 2018-09-05 08:44:28.000000000 +0100 -+++ gdb-8.2-3ds/gdb/configure.tgt 2018-11-15 22:47:17.337689978 +0000 -@@ -61,7 +61,7 @@ - ;; - - arm*-*-*) -- cpu_obs="arch/arm.o arch/arm-get-next-pcs.o arm-tdep.o";; -+ cpu_obs="arch/arm.o arch/arm-get-next-pcs.o arm-tdep.o arm-3ds-tdep.o";; - - hppa*-*-*) - # Target: HP PA-RISC -diff -NBaur gdb-8.2/gdb/data-directory/Makefile.in gdb-8.2-3ds/gdb/data-directory/Makefile.in ---- gdb-8.2/gdb/data-directory/Makefile.in 2018-01-05 04:07:23.000000000 +0000 -+++ gdb-8.2-3ds/gdb/data-directory/Makefile.in 2018-11-15 22:42:36.840956065 +0000 -@@ -63,7 +63,7 @@ - sparc-linux.xml \ - sparc64-linux.xml - --SYSCALLS_FILES = gdb-syscalls.dtd freebsd.xml $(GEN_SYSCALLS_FILES) -+SYSCALLS_FILES = gdb-syscalls.dtd freebsd.xml arm-3ds.xml $(GEN_SYSCALLS_FILES) - - PYTHON_DIR = python - PYTHON_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(PYTHON_DIR) -diff -NBaur gdb-8.2/gdb/defs.h gdb-8.2-3ds/gdb/defs.h ---- gdb-8.2/gdb/defs.h 2018-09-05 08:27:32.000000000 +0100 -+++ gdb-8.2-3ds/gdb/defs.h 2018-11-15 22:42:36.840956065 +0000 -@@ -495,6 +495,7 @@ - GDB_OSABI_LYNXOS178, - GDB_OSABI_NEWLIB, - GDB_OSABI_SDE, -+ GDB_OSABI_3DS, - - GDB_OSABI_INVALID /* keep this last */ - }; -diff -NBaur gdb-8.2/gdb/Makefile.in gdb-8.2-3ds/gdb/Makefile.in ---- gdb-8.2/gdb/Makefile.in 2018-09-05 08:44:28.000000000 +0100 -+++ gdb-8.2-3ds/gdb/Makefile.in 2018-11-15 22:45:01.628931262 +0000 -@@ -684,6 +684,7 @@ - arch/arm-linux.o \ - arch/i386.o \ - arch/ppc-linux-common.o \ -+ arm-3ds-tdep.o \ - arm-bsd-tdep.o \ - arm-fbsd-tdep.o \ - arm-linux-tdep.o \ -@@ -2213,6 +2214,7 @@ - amd64-tdep.c \ - arc-tdep.c \ - arm.c \ -+ arm-3ds-tdep.c \ - arm-bsd-tdep.c \ - arm-fbsd-nat.c \ - arm-fbsd-tdep.c \ -diff -NBaur gdb-8.2/gdb/osabi.c gdb-8.2-3ds/gdb/osabi.c ---- gdb-8.2/gdb/osabi.c 2018-09-05 08:27:13.000000000 +0100 -+++ gdb-8.2-3ds/gdb/osabi.c 2018-11-15 22:42:36.840956065 +0000 -@@ -80,6 +80,7 @@ - { "LynxOS178", NULL }, - { "Newlib", NULL }, - { "SDE", NULL }, -+ { "3DS", NULL }, - - { "", NULL } - }; -diff -NBaur gdb-8.2/gdb/syscalls/arm-3ds.xml gdb-8.2-3ds/gdb/syscalls/arm-3ds.xml ---- gdb-8.2/gdb/syscalls/arm-3ds.xml 1970-01-01 01:00:00.000000000 +0100 -+++ gdb-8.2-3ds/gdb/syscalls/arm-3ds.xml 2018-11-15 22:42:36.840956065 +0000 -@@ -0,0 +1,159 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ From 21d8bd0e46fad4f96f41904c3ac2813c2384c052 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 19 Feb 2019 16:03:52 +0000 Subject: [PATCH 068/280] devkitARM: use new devkitarm-crtls package --- build-devkit.sh | 3 +- dkarm-eabi/crtls/3dsx.ld | 195 ---------------- dkarm-eabi/crtls/3dsx.specs | 8 - dkarm-eabi/crtls/3dsx_crt0.s | 79 ------- dkarm-eabi/crtls/Makefile | 13 -- dkarm-eabi/crtls/dldi.ld | 195 ---------------- dkarm-eabi/crtls/ds_arm7.ld | 232 ------------------- dkarm-eabi/crtls/ds_arm7.specs | 8 - dkarm-eabi/crtls/ds_arm7_crt0.s | 185 ---------------- dkarm-eabi/crtls/ds_arm7_iwram.ld | 192 ---------------- dkarm-eabi/crtls/ds_arm7_iwram.specs | 8 - dkarm-eabi/crtls/ds_arm7_vram.ld | 196 ----------------- dkarm-eabi/crtls/ds_arm7_vram.specs | 8 - dkarm-eabi/crtls/ds_arm9.ld | 284 ------------------------ dkarm-eabi/crtls/ds_arm9.mem | 11 - dkarm-eabi/crtls/ds_arm9.specs | 8 - dkarm-eabi/crtls/ds_arm9_crt0.s | 272 ----------------------- dkarm-eabi/crtls/ds_cart.ld | 229 ------------------- dkarm-eabi/crtls/ds_cart.specs | 8 - dkarm-eabi/crtls/ds_cart_crt0.s | 166 -------------- dkarm-eabi/crtls/dsi_arm9.mem | 11 - dkarm-eabi/crtls/dsi_arm9.specs | 8 - dkarm-eabi/crtls/er_crt0.s | 60 ----- dkarm-eabi/crtls/gba.specs | 8 - dkarm-eabi/crtls/gba_cart.ld | 318 --------------------------- dkarm-eabi/crtls/gba_crt0.s | 255 --------------------- dkarm-eabi/crtls/gba_er.ld | 49 ----- dkarm-eabi/crtls/gba_er.specs | 8 - dkarm-eabi/crtls/gba_mb.ld | 303 ------------------------- dkarm-eabi/crtls/gba_mb.specs | 8 - dkarm-eabi/crtls/gp32.ld | 171 -------------- dkarm-eabi/crtls/gp32.specs | 8 - dkarm-eabi/crtls/gp32_crt0.s | 80 ------- dkarm-eabi/crtls/gp32_gpsdk.ld | 213 ------------------ dkarm-eabi/crtls/gp32_gpsdk.specs | 8 - dkarm-eabi/crtls/gp32_gpsdk_crt0.s | 246 --------------------- dkarm-eabi/scripts/build-libs.sh | 18 +- 37 files changed, 7 insertions(+), 4065 deletions(-) delete mode 100644 dkarm-eabi/crtls/3dsx.ld delete mode 100644 dkarm-eabi/crtls/3dsx.specs delete mode 100644 dkarm-eabi/crtls/3dsx_crt0.s delete mode 100644 dkarm-eabi/crtls/Makefile delete mode 100644 dkarm-eabi/crtls/dldi.ld delete mode 100644 dkarm-eabi/crtls/ds_arm7.ld delete mode 100644 dkarm-eabi/crtls/ds_arm7.specs delete mode 100644 dkarm-eabi/crtls/ds_arm7_crt0.s delete mode 100644 dkarm-eabi/crtls/ds_arm7_iwram.ld delete mode 100644 dkarm-eabi/crtls/ds_arm7_iwram.specs delete mode 100644 dkarm-eabi/crtls/ds_arm7_vram.ld delete mode 100644 dkarm-eabi/crtls/ds_arm7_vram.specs delete mode 100644 dkarm-eabi/crtls/ds_arm9.ld delete mode 100644 dkarm-eabi/crtls/ds_arm9.mem delete mode 100644 dkarm-eabi/crtls/ds_arm9.specs delete mode 100644 dkarm-eabi/crtls/ds_arm9_crt0.s delete mode 100644 dkarm-eabi/crtls/ds_cart.ld delete mode 100644 dkarm-eabi/crtls/ds_cart.specs delete mode 100644 dkarm-eabi/crtls/ds_cart_crt0.s delete mode 100644 dkarm-eabi/crtls/dsi_arm9.mem delete mode 100644 dkarm-eabi/crtls/dsi_arm9.specs delete mode 100644 dkarm-eabi/crtls/er_crt0.s delete mode 100644 dkarm-eabi/crtls/gba.specs delete mode 100644 dkarm-eabi/crtls/gba_cart.ld delete mode 100644 dkarm-eabi/crtls/gba_crt0.s delete mode 100644 dkarm-eabi/crtls/gba_er.ld delete mode 100644 dkarm-eabi/crtls/gba_er.specs delete mode 100644 dkarm-eabi/crtls/gba_mb.ld delete mode 100644 dkarm-eabi/crtls/gba_mb.specs delete mode 100644 dkarm-eabi/crtls/gp32.ld delete mode 100644 dkarm-eabi/crtls/gp32.specs delete mode 100644 dkarm-eabi/crtls/gp32_crt0.s delete mode 100644 dkarm-eabi/crtls/gp32_gpsdk.ld delete mode 100644 dkarm-eabi/crtls/gp32_gpsdk.specs delete mode 100644 dkarm-eabi/crtls/gp32_gpsdk_crt0.s diff --git a/build-devkit.sh b/build-devkit.sh index 75358db..55cd473 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -31,6 +31,7 @@ GENERAL_TOOLS_VER=1.0.2 LIBGBA_VER=0.5.2 GBATOOLS_VER=1.1.0 DKARM_RULES_VER=1.0.0 +DKARM_CRTLS_VER=1.0.0 LIBNDS_VER=1.7.2 DEFAULT_ARM7_VER=0.7.4 @@ -229,7 +230,7 @@ if [ $VERSION -eq 1 ]; then dfu-util-$DFU_UTIL_VER.tar.bz2 stlink-$STLINK_VER.tar.bz2 3dstools-$TOOLS3DS_VER.tar.bz2 picasso-$PICASSO_VER.tar.bz2 tex3ds-$TEX3DS_VER.tar.bz2 3dslink-$LINK3DS_VER.tar.bz2" - archives="devkitarm-rules-$DKARM_RULES_VER.tar.xz $archives" + archives="devkitarm-rules-$DKARM_RULES_VER.tar.xz devkitarm-crtls-$DKARM_CRTLS_VER.tar.xz $archives" fi if [ $VERSION -eq 2 ]; then diff --git a/dkarm-eabi/crtls/3dsx.ld b/dkarm-eabi/crtls/3dsx.ld deleted file mode 100644 index 6488d62..0000000 --- a/dkarm-eabi/crtls/3dsx.ld +++ /dev/null @@ -1,195 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - -PHDRS -{ - code PT_LOAD FLAGS(5) /* Read | Execute */; - rodata PT_LOAD FLAGS(4) /* Read */; - data PT_LOAD FLAGS(6) /* Read | Write */; -} - -SECTIONS -{ - /* =========== CODE section =========== */ - - PROVIDE(__start__ = 0x100000); - . = __start__; - - .text ALIGN(0x1000) : - { - /* .init */ - KEEP( *(.crt0) ) - KEEP( *(.init) ) - . = ALIGN(4); - - /* .text */ - *(.text) - *(.text.*) - *(.glue_7) - *(.glue_7t) - *(.stub) - *(.gnu.warning) - *(.gnu.linkonce.t*) - . = ALIGN(4); - - /* .fini */ - KEEP( *(.fini) ) - . = ALIGN(4); - } : code - - /* =========== RODATA section =========== */ - - . = ALIGN(0x1000); - - .rodata : - { - *(.rodata) - *(.roda) - *(.rodata.*) - *all.rodata*(*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); - } : rodata - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } : rodata - __exidx_start = .; - ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } : rodata - __exidx_end = .; - - /* =========== DATA section =========== */ - - . = ALIGN(0x1000); - - .data : - { - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); - } : data - - .tdata ALIGN(4) : - { - __tdata_lma = .; - *(.tdata) - *(.tdata.*) - *(.gnu.linkonce.td.*) - . = ALIGN(4); - __tdata_lma_end = .; - } : data - - .tbss ALIGN(4) : - { - *(.tbss) - *(.tbss.*) - *(.gnu.linkonce.tb.*) - *(.tcommon) - . = ALIGN(4); - } : data - - .preinit_array ALIGN(4) : - { - PROVIDE (__preinit_array_start = .); - KEEP (*(.preinit_array)) - PROVIDE (__preinit_array_end = .); - } : data - - .init_array ALIGN(4) : - { - PROVIDE (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - PROVIDE (__init_array_end = .); - } : data - - .fini_array ALIGN(4) : - { - PROVIDE (__fini_array_start = .); - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - PROVIDE (__fini_array_end = .); - } : data - - .ctors ALIGN(4) : - { - KEEP (*crtbegin.o(.ctors)) /* MUST be first -- GCC requires it */ - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - } : data - - .dtors ALIGN(4) : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - } : data - - __bss_start__ = .; - .bss ALIGN(4) : - { - *(.dynbss) - *(.bss) - *(.bss.*) - *(.gnu.linkonce.b*) - *(COMMON) - . = ALIGN(4); - - /* Reserve space for the TLS segment of the main thread */ - __tls_start = .; - . += + SIZEOF(.tdata) + SIZEOF(.tbss); - __tls_end = .; - } : data - __bss_end__ = .; - - __end__ = ABSOLUTE(.) ; - - /* ================== - ==== Metadata ==== - ================== */ - - /* Discard sections that difficult post-processing */ - /DISCARD/ : { *(.group .comment .note) } - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } -} diff --git a/dkarm-eabi/crtls/3dsx.specs b/dkarm-eabi/crtls/3dsx.specs deleted file mode 100644 index 9171fe0..0000000 --- a/dkarm-eabi/crtls/3dsx.specs +++ /dev/null @@ -1,8 +0,0 @@ -%rename link old_link - -*link: -%(old_link) -T 3dsx.ld%s -d --emit-relocs --use-blx --gc-sections - -*startfile: -3dsx_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm-eabi/crtls/3dsx_crt0.s b/dkarm-eabi/crtls/3dsx_crt0.s deleted file mode 100644 index e2b5088..0000000 --- a/dkarm-eabi/crtls/3dsx_crt0.s +++ /dev/null @@ -1,79 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ - -@--------------------------------------------------------------------------------- -@ 3DS processor selection -@--------------------------------------------------------------------------------- - .cpu mpcore -@--------------------------------------------------------------------------------- - -@--------------------------------------------------------------------------------- - .section ".crt0","ax" - .global _start, __service_ptr, __apt_appid, __heap_size, __linear_heap_size, __system_arglist, __system_runflags -@--------------------------------------------------------------------------------- - .align 2 - .arm -@--------------------------------------------------------------------------------- -_start: -@--------------------------------------------------------------------------------- - b startup - .ascii "_prm" -__service_ptr: - .word 0 @ Pointer to service handle override list -- if non-NULL it is assumed that we have been launched from a homebrew launcher -__apt_appid: - .word 0x300 @ Program APPID -__heap_size: - .word 24*1024*1024 @ Default heap size (24 MiB) -__linear_heap_size: - .word 32*1024*1024 @ Default linear heap size (32 MiB) -__system_arglist: - .word 0 @ Pointer to argument list (argc (u32) followed by that many NULL terminated strings) -__system_runflags: - .word 0 @ Flags to signal runtime restrictions to ctrulib -startup: - @ Save return address - mov r4, lr - - @ Clear the BSS section - ldr r0, =__bss_start__ - ldr r1, =__bss_end__ - sub r1, r1, r0 - bl ClearMem - - @ System initialization - mov r0, r4 - bl initSystem - - @ Set up argc/argv arguments for main() - ldr r0, =__system_argc - ldr r1, =__system_argv - ldr r0, [r0] - ldr r1, [r1] - - @ Jump to user code - ldr r3, =main - ldr lr, =__ctru_exit - bx r3 - -@--------------------------------------------------------------------------------- -@ Clear memory to 0x00 if length != 0 -@ r0 = Start Address -@ r1 = Length -@--------------------------------------------------------------------------------- -ClearMem: -@--------------------------------------------------------------------------------- - mov r2, #3 @ Round down to nearest word boundary - add r1, r1, r2 @ Shouldn't be needed - bics r1, r1, r2 @ Clear 2 LSB (and set Z) - bxeq lr @ Quit if copy size is 0 - - mov r2, #0 -ClrLoop: - stmia r0!, {r2} - subs r1, r1, #4 - bne ClrLoop - - bx lr diff --git a/dkarm-eabi/crtls/Makefile b/dkarm-eabi/crtls/Makefile deleted file mode 100644 index eb2d7ca..0000000 --- a/dkarm-eabi/crtls/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -include $(DEVKITARM)/base_rules - -all: - $(CC) -x assembler-with-cpp -marm -c $(CRT)_crt0.s -o$(CRT)_crt0.o - $(CC) -x assembler-with-cpp -mthumb -c $(CRT)_crt0.s -o thumb/$(CRT)_crt0.o - -ds_arm7_vram_crt0: - $(CC) -x assembler-with-cpp -marm -c -DVRAM ds_arm7_crt0.s -ods_arm7_vram_crt0.o - $(CC) -x assembler-with-cpp -mthumb -c -DVRAM ds_arm7_crt0.s -othumb/ds_arm7_vram_crt0.o - -3dsx_crt0: - $(CC) -march=armv6k -mfloat-abi=hard -c 3dsx_crt0.s -o armv6k/fpu/3dsx_crt0.o - diff --git a/dkarm-eabi/crtls/dldi.ld b/dkarm-eabi/crtls/dldi.ld deleted file mode 100644 index a940c38..0000000 --- a/dkarm-eabi/crtls/dldi.ld +++ /dev/null @@ -1,195 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - -MEMORY { - /* This base address is chosen to be a reserved instruction in THUMB mode, - and SWILT in ARM mode, with an impossible SWI value. This should allow - the patcher / linker to find all shifted addresses within each section. - Changed sections are: glue_7, got - */ - ddmem : ORIGIN = 0xBF800000, LENGTH = 16K -} - - -SECTIONS -{ - .crt0 : - { - __text_start = . ; - KEEP (*(.crt0)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ddmem = 0xff - - .text : /* ALIGN (4): */ - { - *(.text.*) - *(.stub) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.gnu.linkonce.t*) - __glue_start = ABSOLUTE(.); - *(.glue_7) - *(.glue_7t) - __glue_end = ABSOLUTE(.); - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ddmem = 0xff - - .fini : - { - KEEP (*(.fini)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ddmem =0xff - - __text_end = . ; - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ddmem = 0xff - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >ddmem - __exidx_start = .; - .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >ddmem - __exidx_end = .; - -/* Ensure the __preinit_array_start label is properly aligned. We - could instead move the label definition inside the section, but - the linker would then create the section even if it turns out to - be empty, which isn't pretty. */ - . = ALIGN(32 / 8); - PROVIDE (__preinit_array_start = .); - .preinit_array : { KEEP (*(.preinit_array)) } >ddmem = 0xff - PROVIDE (__preinit_array_end = .); - PROVIDE (__init_array_start = .); - .init_array : { KEEP (*(.init_array)) } >ddmem = 0xff - PROVIDE (__init_array_end = .); - PROVIDE (__fini_array_start = .); - .fini_array : { KEEP (*(.fini_array)) } >ddmem = 0xff - PROVIDE (__fini_array_end = .); - - .ctors : - { - /* gcc uses crtbegin.o to find the start of the constructors, so - we make sure it is first. Because this is a wildcard, it - doesn't matter if the user does not actually link against - crtbegin.o; the linker won't look for a file to match a - wildcard. The wildcard also means that it doesn't matter which - directory crtbegin.o is in. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ddmem = 0xff - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ddmem = 0xff - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ddmem = 0xff - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ddmem = 0xff - .jcr : { KEEP (*(.jcr)) } >ddmem = 0 - - - __got_start = . ; - .got : - { - *(.got.plt) - *(.got) - *(.rel.got) - } >ddmem = 0 - __got_end = . ; - - - .data ALIGN(4) : { - __data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); - __data_end = ABSOLUTE(.) ; - } >ddmem = 0xff - - __data_end = . ; - - .bss ALIGN(4) : - { - __bss_start = ABSOLUTE(.); - __bss_start__ = ABSOLUTE(.); - *(.dynbss) - *(.gnu.linkonce.b*) - *(.bss*) - *(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ddmem - - __bss_end = . ; - __bss_end__ = . ; - - _end = . ; - __end__ = . ; - PROVIDE (end = _end); - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm-eabi/crtls/ds_arm7.ld b/dkarm-eabi/crtls/ds_arm7.ld deleted file mode 100644 index 1479ee5..0000000 --- a/dkarm-eabi/crtls/ds_arm7.ld +++ /dev/null @@ -1,232 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - - -PHDRS { - crt0 PT_LOAD FLAGS(7); - arm7 PT_LOAD FLAGS(7); - arm7i PT_LOAD FLAGS(0x100007); -} - - -MEMORY { - ewram : ORIGIN = 0x02380000, LENGTH = 12M - 512K - rom : ORIGIN = 0x08000000, LENGTH = 32M - iwram : ORIGIN = 0x037f8000, LENGTH = 96K - - twl_ewram : ORIGIN = 0x02e80000, LENGTH = 512K - 64K - twl_iwram : ORIGIN = 0x03000000, LENGTH = 256K -} - -__iwram_start = ORIGIN(iwram); -__iwram_top = ORIGIN(iwram)+ LENGTH(iwram); - -__sp_irq = __iwram_top - 0x100; -__sp_svc = __sp_irq - 0x100; -__sp_usr = __sp_svc - 0x100; - -__irq_flags = 0x04000000 - 8; -__irq_flagsaux = 0x04000000 - 0x40; -__irq_vector = 0x04000000 - 4; - -SECTIONS -{ - - .twl : - { - __arm7i_lma__ = LOADADDR(.twl); - __arm7i_start__ = .; - *(.twl) - *.twl*(.text .stub .text.* .gnu.linkonce.t.*) - *.twl*(.rodata) - *.twl*(.roda) - *.twl*(.rodata.*) - *.twl*(.data) - *.twl*(.data.*) - *.twl*(.gnu.linkonce.d*) - . = ALIGN(4); - __arm7i_end__ = .; - } >twl_iwram AT>twl_ewram :arm7i - - .twl_bss ALIGN(4) (NOLOAD) : - { - __twl_bss_start__ = .; - *(.twl_bss) - *.twl.*(.dynbss) - *.twl.*(.gnu.linkonce.b*) - *.twl.*(.bss*) - *.twl.*(COMMON) - . = ALIGN(4); - __twl_bss_end__ = .; - } >twl_iwram :NONE - - .crt0 : - { - KEEP (*(.crt0)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram :crt0 - - .text : - { - __arm7_lma__ = LOADADDR(.text); - __arm7_start__ = .; - KEEP (*(SORT_NONE(.init))) - *(.plt) - *(.text .stub .text.* .gnu.linkonce.t.*) - KEEP (*(.text.*personality*)) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.glue_7t) *(.glue_7) *(.vfp11_veneer) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram AT>ewram :arm7 - - .fini : - { - KEEP (*(.fini)) - } >iwram AT>ewram - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram AT>ewram - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >iwram AT>ewram - - .ARM.exidx : { - __exidx_start = .; - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - __exidx_end = .; - } >iwram AT>ewram - -/* Ensure the __preinit_array_start label is properly aligned. We - could instead move the label definition inside the section, but - the linker would then create the section even if it turns out to - be empty, which isn't pretty. */ - .preinit_array : { - . = ALIGN(32 / 8); - PROVIDE (__preinit_array_start = .); - KEEP (*(.preinit_array)) - PROVIDE (__preinit_array_end = .); - } >iwram AT>ewram - - .init_array : { - PROVIDE (__init_array_start = .); - KEEP (*(.init_array)) - PROVIDE (__init_array_end = .); - } >iwram AT>ewram - - .fini_array : { - PROVIDE (__fini_array_start = .); - KEEP (*(.fini_array)) - PROVIDE (__fini_array_end = .); - } >iwram AT>ewram - - .ctors : - { - /* gcc uses crtbegin.o to find the start of the constructors, so - we make sure it is first. Because this is a wildcard, it - doesn't matter if the user does not actually link against - crtbegin.o; the linker won't look for a file to match a - wildcard. The wildcard also means that it doesn't matter which - directory crtbegin.o is in. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram AT>ewram - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram AT>ewram - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram AT>ewram - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram AT>ewram - .jcr : { KEEP (*(.jcr)) } >iwram AT>ewram - .got : { *(.got.plt) *(.got) } >iwram AT>ewram - - .data ALIGN(4) : { - __data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); - __data_end = ABSOLUTE(.) ; - } >iwram AT>ewram - - .bss ALIGN(4) (NOLOAD) : - { - __arm7_end__ = .; - __bss_start = ABSOLUTE(.); - __bss_start__ = ABSOLUTE(.); - *(.dynbss) - *(.gnu.linkonce.b*) - *(.bss*) - *(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __bss_end__ = ABSOLUTE(.); - __end__ = ABSOLUTE(.); - } >iwram - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - /* These must appear regardless of . */ -} \ No newline at end of file diff --git a/dkarm-eabi/crtls/ds_arm7.specs b/dkarm-eabi/crtls/ds_arm7.specs deleted file mode 100644 index 53cf948..0000000 --- a/dkarm-eabi/crtls/ds_arm7.specs +++ /dev/null @@ -1,8 +0,0 @@ -%rename link old_link - -*link: -%(old_link) -T ds_arm7.ld%s --gc-sections - -*startfile: -ds_arm7_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm-eabi/crtls/ds_arm7_crt0.s b/dkarm-eabi/crtls/ds_arm7_crt0.s deleted file mode 100644 index 46894f9..0000000 --- a/dkarm-eabi/crtls/ds_arm7_crt0.s +++ /dev/null @@ -1,185 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ - -@--------------------------------------------------------------------------------- - .section ".crt0","ax" - .global _start -@--------------------------------------------------------------------------------- - .align 4 - .arm -@--------------------------------------------------------------------------------- -_start: -@--------------------------------------------------------------------------------- - mov r0, #0x04000000 @ IME = 0; - mov r1, #0 - str r1, [r0, #0x208] - - mov r0, #0x12 @ Switch to IRQ Mode - msr cpsr, r0 - ldr sp, =__sp_irq @ Set IRQ stack - - mov r0, #0x13 @ Switch to SVC Mode - msr cpsr, r0 - ldr sp, =__sp_svc @ Set SVC stack - - mov r0, #0x1F @ Switch to System Mode - msr cpsr, r0 - ldr sp, =__sp_usr @ Set user stack - -#ifndef VRAM - adr r1, __sync_start @ Perform ARM7<->ARM9 sync code - ldr r2, =__arm7_start__ - mov r3, #(__sync_end-__sync_start) - mov r8, r2 - bl CopyMem - mov r3, r8 - bl _blx_r3_stub - -@--------------------------------------------------------------------------------- -@ Copy arm7 binary from LMA to VMA (EWRAM to IWRAM) -@--------------------------------------------------------------------------------- - adr r0, arm7lma @ Calculate ARM7 LMA - ldr r1, [r0] - add r1, r1, r0 - ldr r2, =__arm7_start__ - ldr r4, =__arm7_end__ - bl CopyMemCheck - -#else - bl __sync_start -#endif - - ldr r0, =__bss_start__ @ Clear BSS section to 0x00 - ldr r1, =__bss_end__ - sub r1, r1, r0 - bl ClearMem - - cmp r10, #1 - bne NotTWL - ldr r1, =__dsimode @ set DSi mode flag - strb r10, [r1] - -#ifndef VRAM - ldr r1, =0x02ffe1d8 @ Get ARM7i LMA from header - ldr r1, [r1] - ldr r2, =__arm7i_start__ - ldr r4, =__arm7i_end__ - bl CopyMemCheck - - ldr r0, =__twl_bss_start__ @ Clear TWL BSS section to 0x00 - ldr r1, =__twl_bss_end__ - sub r1, r1, r0 - bl ClearMem -#endif - -NotTWL: - ldr r3, =__libc_init_array @ global constructors - bl _blx_r3_stub - - mov r0, #0 @ int argc - mov r1, #0 @ char *argv[] - ldr r3, =main - ldr lr,=__libnds_exit - mov r12, #0x4000000 @ tell arm9 we are ready - mov r9, #0 - str r9, [r12, #0x180] -_blx_r3_stub: - bx r3 - -#ifndef VRAM -arm7lma: - .word __arm7_lma__ - . -#endif - .pool - -@--------------------------------------------------------------------------------- -@ ARM7<->ARM9 synchronization code -@--------------------------------------------------------------------------------- - -__sync_start: - push {lr} - mov r12, #0x4000000 - mov r9, #0x0 - bl IPCSync - mov r9, #(0x9<<8) - str r9, [r12, #0x180] - mov r9, #0xA - bl IPCSync - mov r9, #(0xB<<8) - str r9, [r12, #0x180] - mov r9, #0xC - bl IPCSync - mov r9, #(0xD<<8) - str r9, [r12, #0x180] -IPCRecvFlag: - ldr r10, [r12, #0x180] - and r10, r10, #0xF - cmp r10, #0xC - beq IPCRecvFlag - pop {pc} -IPCSync: - ldr r10, [r12, #0x180] - and r10, r10, #0xF - cmp r10, r9 - bne IPCSync - bx lr -__sync_end: - -@--------------------------------------------------------------------------------- -@ Clear memory to 0x00 if length != 0 -@ r0 = Start Address -@ r1 = Length -@--------------------------------------------------------------------------------- -ClearMem: -@--------------------------------------------------------------------------------- - mov r2, #3 @ Round down to nearest word boundary - add r1, r1, r2 @ Shouldn't be needed - bics r1, r1, r2 @ Clear 2 LSB (and set Z) - bxeq lr @ Quit if copy size is 0 - - mov r2, #0 -ClrLoop: - stmia r0!, {r2} - subs r1, r1, #4 - bne ClrLoop - bx lr - -@--------------------------------------------------------------------------------- -@ Copy memory if length != 0 -@ r1 = Source Address -@ r2 = Dest Address -@ r4 = Dest Address + Length -@--------------------------------------------------------------------------------- -CopyMemCheck: -@--------------------------------------------------------------------------------- - cmp r1, r2 - bxeq lr - - sub r3, r4, r2 @ Is there any data to copy? -@--------------------------------------------------------------------------------- -@ Copy memory -@ r1 = Source Address -@ r2 = Dest Address -@ r3 = Length -@--------------------------------------------------------------------------------- -CopyMem: -@--------------------------------------------------------------------------------- - mov r0, #3 @ These commands are used in cases where - add r3, r3, r0 @ the length is not a multiple of 4, - bics r3, r3, r0 @ even though it should be. - bxeq lr @ Length is zero, so exit -CIDLoop: - ldmia r1!, {r0} - stmia r2!, {r0} - subs r3, r3, #4 - bne CIDLoop - bx lr - -@--------------------------------------------------------------------------------- - .align - .pool - .end -@--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/crtls/ds_arm7_iwram.ld b/dkarm-eabi/crtls/ds_arm7_iwram.ld deleted file mode 100644 index d990656..0000000 --- a/dkarm-eabi/crtls/ds_arm7_iwram.ld +++ /dev/null @@ -1,192 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - -MEMORY { - - rom : ORIGIN = 0x08000000, LENGTH = 32M - iwram : ORIGIN = 0x037f8000, LENGTH = 96K -} - -__iwram_start = ORIGIN(iwram); -__iwram_top = ORIGIN(iwram)+ LENGTH(iwram); - -__sp_irq = __iwram_top - 0x100; -__sp_svc = __sp_irq - 0x100; -__sp_usr = __sp_svc - 0x100; - -__irq_flags = 0x04000000 - 8; -__irq_flagsaux = 0x04000000 - 0x40; -__irq_vector = 0x04000000 - 4; - -SECTIONS -{ - .crt0 : - { - __text_start = . ; - KEEP (*(.crt0)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - .init : - { - KEEP (*(SORT_NONE(.init))) - } >iwram = 0xff - - .plt : { *(.plt) } >iwram = 0xff - - .text : /* ALIGN (4): */ - { - *(.text .stub .text.* .gnu.linkonce.t.*) - KEEP (*(.text.*personality*)) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.glue_7t) *(.glue_7) *(.vfp11_veneer) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - .fini : - { - KEEP (*(.fini)) - } >iwram =0xff - - __text_end = . ; - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >iwram - __exidx_start = .; - .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >iwram - __exidx_end = .; - -/* Ensure the __preinit_array_start label is properly aligned. We - could instead move the label definition inside the section, but - the linker would then create the section even if it turns out to - be empty, which isn't pretty. */ - . = ALIGN(32 / 8); - PROVIDE (__preinit_array_start = .); - .preinit_array : { KEEP (*(.preinit_array)) } >iwram = 0xff - PROVIDE (__preinit_array_end = .); - PROVIDE (__init_array_start = .); - .init_array : { KEEP (*(.init_array)) } >iwram = 0xff - PROVIDE (__init_array_end = .); - PROVIDE (__fini_array_start = .); - .fini_array : { KEEP (*(.fini_array)) } >iwram = 0xff - PROVIDE (__fini_array_end = .); - - .ctors : - { - /* gcc uses crtbegin.o to find the start of the constructors, so - we make sure it is first. Because this is a wildcard, it - doesn't matter if the user does not actually link against - crtbegin.o; the linker won't look for a file to match a - wildcard. The wildcard also means that it doesn't matter which - directory crtbegin.o is in. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - .jcr : { KEEP (*(.jcr)) } >iwram = 0 - .got : { *(.got.plt) *(.got) } >iwram = 0 - - - .data ALIGN(4) : { - __data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); - __data_end = ABSOLUTE(.) ; - } >iwram = 0xff - - - __arm7_end__ = .; - - - .bss ALIGN(4) : - { - __bss_start = ABSOLUTE(.); - __bss_start__ = ABSOLUTE(.); - *(.dynbss) - *(.gnu.linkonce.b*) - *(.bss*) - *(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __bss_end__ = ABSOLUTE(.); - __end__ = ABSOLUTE(.); - } >iwram - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm-eabi/crtls/ds_arm7_iwram.specs b/dkarm-eabi/crtls/ds_arm7_iwram.specs deleted file mode 100644 index b5c7a9d..0000000 --- a/dkarm-eabi/crtls/ds_arm7_iwram.specs +++ /dev/null @@ -1,8 +0,0 @@ -%rename link old_link - -*link: -%(old_link) -T ds_arm7_iwram.ld%s - -*startfile: -ds_arm7_vram_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm-eabi/crtls/ds_arm7_vram.ld b/dkarm-eabi/crtls/ds_arm7_vram.ld deleted file mode 100644 index 4c283ed..0000000 --- a/dkarm-eabi/crtls/ds_arm7_vram.ld +++ /dev/null @@ -1,196 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - -MEMORY { - - rom : ORIGIN = 0x08000000, LENGTH = 32M - iwram : ORIGIN = 0x037f8000, LENGTH = 96K - vram : ORIGIN = 0x06000000, LENGTH = 256K -} - -__iwram_start = ORIGIN(iwram); -__iwram_top = ORIGIN(iwram)+ LENGTH(iwram); - -__sp_irq = __iwram_top - 0x100; -__sp_svc = __sp_irq - 0x100; -__sp_usr = __sp_svc - 0x100; - -__irq_flags = 0x04000000 - 8; -__irq_flagsaux = 0x04000000 - 0x40; -__irq_vector = 0x04000000 - 4; - -SECTIONS -{ - .crt0 : - { - __text_start = . ; - KEEP (*(.crt0)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >vram = 0xff - - __arm7_lma__ = .; - __arm7_start__ = .; - .init : - { - KEEP (*(SORT_NONE(.init))) - } >vram = 0xff - - .plt : { *(.plt) } >vram = 0xff - - .text : /* ALIGN (4): */ - { - *(.text .stub .text.* .twl .gnu.linkonce.t.*) - KEEP (*(.text.*personality*)) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.glue_7t) *(.glue_7) *(.vfp11_veneer) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >vram = 0xff - - .fini : - { - KEEP (*(.fini)) - } >vram =0xff - - __text_end = . ; - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >vram = 0xff - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >vram - __exidx_start = .; - .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >vram - __exidx_end = .; - -/* Ensure the __preinit_array_start label is properly aligned. We - could instead move the label definition inside the section, but - the linker would then create the section even if it turns out to - be empty, which isn't pretty. */ - . = ALIGN(32 / 8); - PROVIDE (__preinit_array_start = .); - .preinit_array : { KEEP (*(.preinit_array)) } >vram = 0xff - PROVIDE (__preinit_array_end = .); - PROVIDE (__init_array_start = .); - .init_array : { KEEP (*(.init_array)) } >vram = 0xff - PROVIDE (__init_array_end = .); - PROVIDE (__fini_array_start = .); - .fini_array : { KEEP (*(.fini_array)) } >vram = 0xff - PROVIDE (__fini_array_end = .); - - .ctors : - { - /* gcc uses crtbegin.o to find the start of the constructors, so - we make sure it is first. Because this is a wildcard, it - doesn't matter if the user does not actually link against - crtbegin.o; the linker won't look for a file to match a - wildcard. The wildcard also means that it doesn't matter which - directory crtbegin.o is in. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >vram = 0xff - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >vram = 0xff - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >vram = 0xff - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >vram = 0xff - .jcr : { KEEP (*(.jcr)) } >vram = 0 - .got : { *(.got.plt) *(.got) } >vram = 0 - - - .data ALIGN(4) : { - __data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); - __data_end = ABSOLUTE(.) ; - } >vram = 0xff - - - __arm7_end__ = .; - - - .bss ALIGN(4) (NOLOAD) : - { - __bss_start = ABSOLUTE(.); - __bss_start__ = ABSOLUTE(.); - *(.dynbss) - *(.gnu.linkonce.b*) - *(.bss*) - *(.twl_bss) - *(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __bss_end__ = ABSOLUTE(.); - __end__ = ABSOLUTE(.); - } >vram - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm-eabi/crtls/ds_arm7_vram.specs b/dkarm-eabi/crtls/ds_arm7_vram.specs deleted file mode 100644 index 322698c..0000000 --- a/dkarm-eabi/crtls/ds_arm7_vram.specs +++ /dev/null @@ -1,8 +0,0 @@ -%rename link old_link - -*link: -%(old_link) -T ds_arm7_vram.ld%s - -*startfile: -ds_arm7_vram_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm-eabi/crtls/ds_arm9.ld b/dkarm-eabi/crtls/ds_arm9.ld deleted file mode 100644 index 28853f3..0000000 --- a/dkarm-eabi/crtls/ds_arm9.ld +++ /dev/null @@ -1,284 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - -__ewram_end = ORIGIN(ewram) + LENGTH(ewram); -__eheap_end = ORIGIN(ewram) + LENGTH(ewram); - -__dtcm_top = ORIGIN(dtcm) + LENGTH(dtcm); -__irq_flags = __dtcm_top - 0x08; -__irq_vector = __dtcm_top - 0x04; - -__sp_svc = __dtcm_top - 0x100; -__sp_irq = __sp_svc - 0x100; -__sp_usr = __sp_irq - 0x100; - -PHDRS { - main PT_LOAD FLAGS(7); - dtcm PT_LOAD FLAGS(7); - itcm PT_LOAD FLAGS(7); - vectors PT_LOAD FLAGS(7); - twl PT_LOAD FLAGS(0x100007); -} - -SECTIONS -{ - /* Secure area crap */ - .secure : { *(.secure) } >ewram :main = 0 - - .crt0 : - { - __text_start = . ; - KEEP (*(.crt0)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram :main = 0x00 - - .plt : { *(.plt) } >ewram :main = 0xff - - .init : - { - KEEP (*(SORT_NONE(.init))) - } >ewram :main - - .text : /* ALIGN (4): */ - { - *(EXCLUDE_FILE(*.itcm* *.vectors* *.twl*) .text) - *(EXCLUDE_FILE(*.itcm* *.vectors* *.twl*) .stub) - *(EXCLUDE_FILE(*.itcm* *.vectors* *.twl*) .text.*) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(EXCLUDE_FILE(*.twl*) .gnu.warning) - *(EXCLUDE_FILE(*.twl*) .gnu.linkonce.t*) - *(.glue_7) - *(.glue_7t) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram :main = 0xff - - .fini : - { - KEEP (*(.fini)) - } >ewram :main =0xff - - __text_end = . ; - - .rodata : - { - *(EXCLUDE_FILE(*.twl*) .rodata) - *all.rodata*(*) - *(EXCLUDE_FILE(*.twl*) .roda) - *(EXCLUDE_FILE(*.twl*) .rodata.*) - *(EXCLUDE_FILE(*.twl*) .gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram :main = 0xff - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >ewram :main - __exidx_start = .; - ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >ewram :main - __exidx_end = .; - - /* Ensure the __preinit_array_start label is properly aligned. We - could instead move the label definition inside the section, but - the linker would then create the section even if it turns out to - be empty, which isn't pretty. */ - - . = ALIGN(32 / 8); - - PROVIDE (__preinit_array_start = .); - .preinit_array : { KEEP (*(.preinit_array)) } >ewram :main = 0xff - PROVIDE (__preinit_array_end = .); - PROVIDE (__init_array_start = .); - .init_array : - { - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - } >ewram :main = 0xff - PROVIDE (__init_array_end = .); - PROVIDE (__fini_array_start = .); - .fini_array : - { - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - } >ewram :main = 0xff - - PROVIDE (__fini_array_end = .); - - .ctors : - { - /* gcc uses crtbegin.o to find the start of the constructors, so - we make sure it is first. Because this is a wildcard, it - doesn't matter if the user does not actually link against - crtbegin.o; the linker won't look for a file to match a - wildcard. The wildcard also means that it doesn't matter which - directory crtbegin.o is in. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram :main = 0xff - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram :main = 0xff - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram :main = 0xff - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram :main = 0xff - .jcr : { KEEP (*(.jcr)) } >ewram :main = 0 - .got : { *(.got.plt) *(.got) *(.rel.got) } >ewram :main = 0 - - .ewram ALIGN(4) : - { - __ewram_start = ABSOLUTE(.) ; - *(.ewram) - *ewram.*(.text) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram :main = 0xff - - - .data ALIGN(4) : - { - __data_start = ABSOLUTE(.); - *(EXCLUDE_FILE(*.twl*) .data) - *(EXCLUDE_FILE(*.twl*) .data.*) - *(EXCLUDE_FILE(*.twl*) .gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); - __data_end = ABSOLUTE(.) ; - } >ewram :main = 0xff - - __bss_vma = . ; - - .dtcm : - { - __dtcm_lma = LOADADDR(.dtcm); - __dtcm_start = ABSOLUTE(.); - *(.dtcm) - *(.dtcm.*) - . = ALIGN(4); - __dtcm_end = ABSOLUTE(.); - } >dtcm AT>ewram :dtcm = 0xff - - .itcm : - { - __itcm_lma = LOADADDR(.itcm); - __itcm_start = ABSOLUTE(.); - *(.itcm) - *.itcm*(.text .stub .text.*) - . = ALIGN(4); - __itcm_end = ABSOLUTE(.); - } >itcm AT>ewram :itcm = 0xff - - .vectors : - { - __vectors_lma = LOADADDR(.vectors); - __vectors_start = ABSOLUTE(.); - KEEP(*(.vectors .vectors.*)) - . = ALIGN(4); - __vectors_end = ABSOLUTE(.); - } >vectors AT>ewram :vectors = 0xff - - .sbss __dtcm_end (NOLOAD): - { - __sbss_start = ABSOLUTE(.); - __sbss_start__ = ABSOLUTE(.); - *(.sbss) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __sbss_end = ABSOLUTE(.); - } >dtcm :NONE - - .bss __bss_vma (NOLOAD): - { - __bss_start = ABSOLUTE(.); - __bss_start__ = ABSOLUTE(.); - *(EXCLUDE_FILE(*.twl*) .dynbss) - *(EXCLUDE_FILE(*.twl*) .gnu.linkonce.b*) - *(EXCLUDE_FILE(*.twl*) .bss*) - *(EXCLUDE_FILE(*.twl*) COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __bss_end__ = ABSOLUTE(.) ; - __end__ = ABSOLUTE(.) ; - } >ewram :NONE - - .twl __end__ : AT(MAX(0x2400000,MAX(__end__,LOADADDR(.vectors)+SIZEOF(.vectors)))) - { - __arm9i_lma__ = LOADADDR(.twl); - __arm9i_start__ = ABSOLUTE(.); - *(.twl) - *.twl*(.text .stub .text.* .gnu.linkonce.t.*) - *.twl*(.rodata) - *.twl*(.roda) - *.twl*(.rodata.*) - *.twl*(.data) - *.twl*(.data.*) - *.twl*(.gnu.linkonce.d*) - __arm9i_end__ = ABSOLUTE(.); - } :twl - - .twl_bss __arm9i_end__ (NOLOAD): - { - __twl_bss_start__ = ABSOLUTE(.); - *(.twl_bss) - *.twl*(.dynbss) - *.twl*(.gnu.linkonce.b*) - *.twl*(.bss*) - *.twl*(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __twl_bss_end__ = ABSOLUTE(.); - __twl_end__ = ABSOLUTE(.); - } :NONE - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm-eabi/crtls/ds_arm9.mem b/dkarm-eabi/crtls/ds_arm9.mem deleted file mode 100644 index 5fe5f8c..0000000 --- a/dkarm-eabi/crtls/ds_arm9.mem +++ /dev/null @@ -1,11 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ -MEMORY { - ewram : ORIGIN = 0x02000000, LENGTH = 4M - 512k - dtcm : ORIGIN = 0x0b000000, LENGTH = 16K - vectors : ORIGIN = 0x01000000, LENGTH = 256 - itcm : ORIGIN = 0x01000100, LENGTH = 32K - 256 -} diff --git a/dkarm-eabi/crtls/ds_arm9.specs b/dkarm-eabi/crtls/ds_arm9.specs deleted file mode 100644 index 59e3bf3..0000000 --- a/dkarm-eabi/crtls/ds_arm9.specs +++ /dev/null @@ -1,8 +0,0 @@ -%rename link old_link - -*link: -%(old_link) -T ds_arm9.mem%s -T ds_arm9.ld%s --gc-sections - -*startfile: -ds_arm9_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm-eabi/crtls/ds_arm9_crt0.s b/dkarm-eabi/crtls/ds_arm9_crt0.s deleted file mode 100644 index 378bf62..0000000 --- a/dkarm-eabi/crtls/ds_arm9_crt0.s +++ /dev/null @@ -1,272 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ - -@--------------------------------------------------------------------------------- -@ DS processor selection -@--------------------------------------------------------------------------------- - .arch armv5te - .cpu arm946e-s -@--------------------------------------------------------------------------------- - - .equ _libnds_argv,0x02FFFE70 - -@--------------------------------------------------------------------------------- - .section ".crt0","ax" - .global _start -@--------------------------------------------------------------------------------- - .align 4 - .arm -@--------------------------------------------------------------------------------- -_start: -@--------------------------------------------------------------------------------- - mov r0, #0x04000000 @ IME = 0; - str r0, [r0, #0x208] - - @ set sensible stacks to allow bios call - - mov r0, #0x13 @ Switch to SVC Mode - msr cpsr, r0 - mov r1,#0x03000000 - sub r1,r1,#0x1000 - mov sp,r1 - mov r0, #0x1F @ Switch to System Mode - msr cpsr, r0 - sub r1,r1,#0x100 - mov sp,r1 - - ldr r3, =__libnds_mpu_setup - blx r3 - - mov r0, #0x12 @ Switch to IRQ Mode - msr cpsr, r0 - ldr sp, =__sp_irq @ Set IRQ stack - - mov r0, #0x13 @ Switch to SVC Mode - msr cpsr, r0 - ldr sp, =__sp_svc @ Set SVC stack - - mov r0, #0x1F @ Switch to System Mode - msr cpsr, r0 - ldr sp, =__sp_usr @ Set user stack - - mov r12, #0x4000000 @ Read system ROM status (NTR/TWL) - ldrb r11, [r12,r12,lsr #12] - and r11, r11, #0x3 - - mov r9, #(0x0<<8) @ Synchronize with ARM7 - str r9, [r12, #0x180] - mov r9, #0x9 - bl IPCSync - mov r9, #(0xA<<8) - str r9, [r12, #0x180] - mov r9, #0xB - bl IPCSync - mov r9, #(0xC<<8) - str r9, [r12, #0x180] - mov r9, #0xD - bl IPCSync - mov r9, r11, lsl #8 - str r9, [r12, #0x180] - mov r9, #0 - bl IPCSync - str r9, [r12, #0x180] - - ldr r1, =__itcm_lma @ Copy instruction tightly coupled memory (itcm section) from LMA to VMA - ldr r2, =__itcm_start - ldr r4, =__itcm_end - bl CopyMemCheck - - ldr r1, =__vectors_lma @ Copy reserved vectors area (itcm section) from LMA to VMA - ldr r2, =__vectors_start - ldr r4, =__vectors_end - bl CopyMemCheck - - ldr r1, =__dtcm_lma @ Copy data tightly coupled memory (dtcm section) from LMA to VMA - ldr r2, =__dtcm_start - ldr r4, =__dtcm_end - bl CopyMemCheck - - cmp r11, #1 - ldrne r10, =__end__ @ (DS mode) heap start - ldreq r10, =__twl_end__ @ (DSi mode) heap start - bl checkARGV @ check and process argv trickery - - ldr r0, =__bss_start__ @ Clear BSS section - ldr r1, =__bss_end__ - sub r1, r1, r0 - bl ClearMem - - ldr r0, =__sbss_start @ Clear SBSS section - ldr r1, =__sbss_end - sub r1, r1, r0 - bl ClearMem - - cmp r11, #1 - bne NotTWL - ldr r9, =__dsimode @ set DSi mode flag - strb r11, [r9] - - @ Copy TWL area (arm9i section) from LMA to VMA - ldr r1, =0x02ffe1c8 @ Get ARM9i LMA from header - ldr r1, [r1] - - ldr r2, =__arm9i_start__ - cmp r1, r2 @ skip copy if LMA=VMA - ldrne r4, =__arm9i_end__ - blne CopyMemCheck - - ldr r0, =__twl_bss_start__ @ Clear TWL BSS section - ldr r1, =__twl_bss_end__ - sub r1, r1, r0 - bl ClearMem - -NotTWL: - ldr r0, =_libnds_argv - - @ reset heap base - ldr r2, [r0,#20] @ newheap base - cmp r2, #0 - moveq r2, r10 - ldr r1, =fake_heap_start @ set heap start - str r2, [r1] - - ldr r1, =fake_heap_end @ set heap end - sub r8, r8,#0xc000 - str r8, [r1] - - push {r0} - ldr r0, =__secure_area__ - ldr r3, =initSystem - blx r3 @ system initialisation - - ldr r3, =__libc_init_array @ global constructors - blx r3 - - pop {r0} - - ldr r1, [r0,#16] @ argv - ldr r0, [r0,#12] @ argc - - ldr r3, =main - ldr lr, =__libnds_exit - bx r3 @ jump to user code - -@--------------------------------------------------------------------------------- -@ check for a commandline -@--------------------------------------------------------------------------------- -checkARGV: -@--------------------------------------------------------------------------------- - ldr r0, =_libnds_argv @ argv structure - mov r1, #0 - str r1, [r0,#12] @ clear argc - str r1, [r0,#16] @ clear argv - - ldr r3, [r0] @ argv magic number - ldr r2, =0x5f617267 @ '_arg' - cmp r3, r2 - strne r1, [r0,#20] - bxne lr @ bail out if no magic - - ldr r1, [r0, #4] @ command line address - ldr r2, [r0, #8] @ length of command line - - @ copy to heap - mov r3, r10 @ initial heap base - str r3, [r0, #4] @ set command line address - - cmp r2, #0 - subnes r4, r3, r1 @ dst-src - bxeq lr @ dst == src || len==0 : nothing to do. - - cmphi r2, r4 @ len > (dst-src) - bhi .copybackward - -.copyforward: - ldrb r4, [r1], #1 - strb r4, [r3], #1 - subs r2, r2, #1 - bne .copyforward - b .copydone - -.copybackward: - subs r2, r2, #1 - ldrb r4, [r1, r2] - strb r4, [r3, r2] - bne .copybackward - -.copydone: - push {lr} - ldr r3, =build_argv - blx r3 - pop {lr} - bx lr - - -@--------------------------------------------------------------------------------- -@ Clear memory to 0x00 if length != 0 -@ r0 = Start Address -@ r1 = Length -@--------------------------------------------------------------------------------- -ClearMem: -@--------------------------------------------------------------------------------- - mov r2, #3 @ Round down to nearest word boundary - add r1, r1, r2 @ Shouldn't be needed - bics r1, r1, r2 @ Clear 2 LSB (and set Z) - bxeq lr @ Quit if copy size is 0 - - mov r2, #0 -ClrLoop: - stmia r0!, {r2} - subs r1, r1, #4 - bne ClrLoop - - bx lr - -@--------------------------------------------------------------------------------- -@ Copy memory if length != 0 -@ r1 = Source Address -@ r2 = Dest Address -@ r4 = Dest Address + Length -@--------------------------------------------------------------------------------- -CopyMemCheck: -@--------------------------------------------------------------------------------- - sub r3, r4, r2 @ Is there any data to copy? -@--------------------------------------------------------------------------------- -@ Copy memory -@ r1 = Source Address -@ r2 = Dest Address -@ r3 = Length -@--------------------------------------------------------------------------------- -CopyMem: -@--------------------------------------------------------------------------------- - mov r0, #3 @ These commands are used in cases where - add r3, r3, r0 @ the length is not a multiple of 4, - bics r3, r3, r0 @ even though it should be. - bxeq lr @ Length is zero, so exit -CIDLoop: - ldmia r1!, {r0} - stmia r2!, {r0} - subs r3, r3, #4 - bne CIDLoop - - bx lr - -@--------------------------------------------------------------------------------- -@ Synchronize with ARM7 -@--------------------------------------------------------------------------------- -IPCSync: -@--------------------------------------------------------------------------------- - ldr r10, [r12, #0x180] - and r10, r10, #0xF - cmp r10, r9 - bne IPCSync - bx lr - -@--------------------------------------------------------------------------------- - .align - .pool - .end -@--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/crtls/ds_cart.ld b/dkarm-eabi/crtls/ds_cart.ld deleted file mode 100644 index 22d65f9..0000000 --- a/dkarm-eabi/crtls/ds_cart.ld +++ /dev/null @@ -1,229 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - -MEMORY { - - rom : ORIGIN = 0x08000000, LENGTH = 32M - iwram : ORIGIN = 0x03800000, LENGTH = 64K - ewram : ORIGIN = 0x02000000, LENGTH = 4M -} - -__ewram_start = ORIGIN(ewram); -__eheap_end = ORIGIN(ewram)+ LENGTH(ewram); -__iwram_start = ORIGIN(iwram); -__iwram_top = ORIGIN(iwram)+ LENGTH(iwram); -__sp_irq = __iwram_top - 0x60; -__sp_svc = __sp_irq - 0x100; -__sp_usr = __sp_svc - 0x100; - -__irq_flags = __iwram_top - 8; -__irq_vector = __iwram_top - 4; - -SECTIONS -{ - .crt0 : - { - __text_start = . ; - KEEP (*(.crt0)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - - .init : - { - KEEP (*(SORT_NONE(.init))) - } >rom = 0xff - - .plt : { *(.plt) } >rom = 0xff - - .init : - { - KEEP (*(SORT_NONE(.init))) - } >ewram - - .text : /* ALIGN (4): */ - { - *(EXCLUDE_FILE (*.iwram*) .text) - *(.text .stub .text.* .gnu.linkonce.t.*) - KEEP (*(.text.*personality*)) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.glue_7t) *(.glue_7) *(.vfp11_veneer) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - - .fini : - { - KEEP (*(.fini)) - } >rom =0xff - - __text_end = . ; - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - - /* Ensure the __preinit_array_start label is properly aligned. We - could instead move the label definition inside the section, but - the linker would then create the section even if it turns out to - be empty, which isn't pretty. */ - . = ALIGN(32 / 8); - PROVIDE (__preinit_array_start = .); - .preinit_array : { KEEP (*(.preinit_array)) } >rom = 0xff - PROVIDE (__preinit_array_end = .); - PROVIDE (__init_array_start = .); - .init_array : { KEEP (*(.init_array)) } >rom = 0xff - PROVIDE (__init_array_end = .); - PROVIDE (__fini_array_start = .); - .fini_array : { KEEP (*(.fini_array)) } >rom = 0xff - PROVIDE (__fini_array_end = .); - - .ctors : - { - /* gcc uses crtbegin.o to find the start of the constructors, so - we make sure it is first. Because this is a wildcard, it - doesn't matter if the user does not actually link against - crtbegin.o; the linker won't look for a file to match a - wildcard. The wildcard also means that it doesn't matter which - directory crtbegin.o is in. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - .jcr : { KEEP (*(.jcr)) } >rom = 0 - .got : { *(.got.plt) *(.got) } >rom = 0 - - __ewram_lma = . ; - - .ewram __ewram_start : AT (__ewram_lma) - { - __ewram_start = ABSOLUTE(.) ; - *(.ewram) - *ewram.*(.text) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - - .sbss ALIGN(4): - { - __sbss_start = ABSOLUTE(.); - *(.sbss) - . = ALIGN(4); - } >ewram - __sbss_end = . ; - - _end = . ; - __end__ = . ; - PROVIDE (end = _end); - - __iwram_lma = __ewram_lma + SIZEOF(.ewram) + SIZEOF(.sbss); - - .iwram __iwram_start : AT (__iwram_lma) - { - __iwram_start = ABSOLUTE(.) ; - *(.iwram) - *iwram.*(.text) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - __iwram_end = . ; - __data_lma = __iwram_lma + SIZEOF(.iwram) ; - - - .data ALIGN(4) : AT (__data_lma) - { - __data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); - } >iwram = 0xff - - __data_end = . ; - __appended_data = __data_lma + SIZEOF(.data) ; - - - .bss ALIGN(4) : - { - __bss_start = ABSOLUTE(.); - __bss_start__ = ABSOLUTE(.); - *(.dynbss) - *(.gnu.linkonce.b*) - *(.bss*) - *(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __bss_end__ = ABSOLUTE(.); - __end__ = ABSOLUTE(.); - } >iwram - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm-eabi/crtls/ds_cart.specs b/dkarm-eabi/crtls/ds_cart.specs deleted file mode 100644 index 7fa9b0c..0000000 --- a/dkarm-eabi/crtls/ds_cart.specs +++ /dev/null @@ -1,8 +0,0 @@ -%rename link old_link - -*link: -%(old_link) -T ds_cart.ld%s --gc-sections - -*startfile: -ds_cart_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm-eabi/crtls/ds_cart_crt0.s b/dkarm-eabi/crtls/ds_cart_crt0.s deleted file mode 100644 index 0cba51e..0000000 --- a/dkarm-eabi/crtls/ds_cart_crt0.s +++ /dev/null @@ -1,166 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ - -@--------------------------------------------------------------------------------- - .section ".crt0","ax" - .global _start - .arm -@--------------------------------------------------------------------------------- -_start: -@--------------------------------------------------------------------------------- - b rom_header_end - -@--------------------------------------------------------------------------------- - .fill 156,1,0 @ Nintendo Logo Character Data (8000004h) - .fill 16,1,0 @ Game Title - .byte 0x30,0x31 @ Maker Code (80000B0h) - .byte 0x96 @ Fixed Value (80000B2h) - .byte 0x00 @ Main Unit Code (80000B3h) - .byte 0x00 @ Device Type (80000B4h) - .fill 7,1,0 @ unused - .byte 0x00 @ Software Version No (80000BCh) - .byte 0xf0 @ Complement Check (80000BDh) - .byte 0x00,0x00 @ Checksum (80000BEh) - -rom_header_end: - b start_vector @ This branch must be here for proper - @ positioning of the following header. - - .GLOBAL __boot_method, __slave_number -__boot_method: - .byte 0 @ boot method (0=ROM boot, 3=Multiplay boot) -__slave_number: - .byte 0 @ slave # (1=slave#1, 2=slave#2, 3=slave#3) - - .byte 0 @ reserved - .byte 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved -@--------------------------------------------------------------------------------- - .align 4 - .arm -@--------------------------------------------------------------------------------- -start_vector: -@--------------------------------------------------------------------------------- - mov r0, #0x04000000 @ IME = 0; - str r0, [r0, #0x208] - - mov r0, #0x12 @ Switch to IRQ Mode - msr cpsr, r0 - ldr sp, =__sp_irq @ Set IRQ stack - - mov r0, #0x13 @ Switch to SVC Mode - msr cpsr, r0 - ldr sp, =__sp_svc @ Set SVC stack - - - mov r0, #0x1F @ Switch to System Mode - msr cpsr, r0 - ldr sp, =__sp_usr @ Set user stack - - mov r1, #0x42 - strb r1, [r7], #1 - mov r1, #0x35 - strb r1, [r7], #1 - mov r1, #0x2B - strb r1, [r7], #1 - mov r1, #0x2B - strb r1, [r7], #1 - - ldr r1, =__data_lma @ Copy initialized data (data section) from LMA to VMA (ROM to RAM) - ldr r2, =__data_start - ldr r4, =__data_end - bl CopyMemChk - - ldr r1, =__iwram_lma @ Copy internal work ram (iwram section) from LMA to VMA (ROM to RAM) - ldr r2, =__iwram_start - ldr r4, =__iwram_end - bl CopyMemChk - - ldr r0, =__bss_start @ Clear BSS section to 0x00 - ldr r1, =__bss_end - sub r1, r1, r0 - bl ClearMem - - ldr r0, =__sbss_start @ Clear SBSS section to 0x00 - ldr r1, =__sbss_end - sub r1, r1, r0 - bl ClearMem - - ldr r1, =fake_heap_end @ set heap end - ldr r0, =__eheap_end - str r0, [r1] - - ldr r3, =__libc_init_array @ global constructors - bl _call_via_r3 - - mov r0, #0 @ int argc - mov r1, #0 @ char *argv[] - ldr r3, =main - bl _call_via_r3 @ jump to user code - - -@--------------------------------------------------------------------------------- -@ Clear memory to 0x00 if length != 0 -@ r0 = Start Address -@ r1 = Length -@--------------------------------------------------------------------------------- -ClearMem: - mov r2, #3 @ Round down to nearest word boundary - add r1, r1, r2 @ Shouldn't be needed - bics r1, r1, r2 @ Clear 2 LSB (and set Z) - bxeq lr @ Quit if copy size is 0 - - mov r2, #0 -@--------------------------------------------------------------------------------- -ClrLoop: -@--------------------------------------------------------------------------------- - stmia r0!, {r2} - subs r1, r1, #4 - bne ClrLoop - bx lr - -@--------------------------------------------------------------------------------- -@ Copy memory if length != 0 -@ r1 = Source Address -@ r2 = Dest Address -@ r4 = Dest Address + Length -@--------------------------------------------------------------------------------- -CopyMemChk: -@--------------------------------------------------------------------------------- - sub r3, r4, r2 @ Is there any data to copy? -@--------------------------------------------------------------------------------- -@ Copy memory -@ r1 = Source Address -@ r2 = Dest Address -@ r3 = Length -@--------------------------------------------------------------------------------- -CopyMem: -@--------------------------------------------------------------------------------- - mov r0, #3 @ These commands are used in cases where - add r3, r3, r0 @ the length is not a multiple of 4, - bics r3, r3, r0 @ even though it should be. - bxeq lr @ Length is zero so exit - -@--------------------------------------------------------------------------------- -CIDLoop: -@--------------------------------------------------------------------------------- - ldmia r1!, {r0} - stmia r2!, {r0} - subs r3, r3, #4 - bne CIDLoop - bx lr -@--------------------------------------------------------------------------------- - .align - .pool -@--------------------------------------------------------------------------------- - .end -@--------------------------------------------------------------------------------- - diff --git a/dkarm-eabi/crtls/dsi_arm9.mem b/dkarm-eabi/crtls/dsi_arm9.mem deleted file mode 100644 index a324980..0000000 --- a/dkarm-eabi/crtls/dsi_arm9.mem +++ /dev/null @@ -1,11 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ -MEMORY { - ewram : ORIGIN = 0x02000000, LENGTH = 15M - 512k - dtcm : ORIGIN = 0x0b000000, LENGTH = 16K - vectors : ORIGIN = 0x01000000, LENGTH = 256 - itcm : ORIGIN = 0x01000100, LENGTH = 32K - 256 -} diff --git a/dkarm-eabi/crtls/dsi_arm9.specs b/dkarm-eabi/crtls/dsi_arm9.specs deleted file mode 100644 index cab4e4f..0000000 --- a/dkarm-eabi/crtls/dsi_arm9.specs +++ /dev/null @@ -1,8 +0,0 @@ -%rename link old_link - -*link: -%(old_link) -T dsi_arm9.mem%s -T ds_arm9.ld%s --gc-sections - -*startfile: -ds_arm9_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm-eabi/crtls/er_crt0.s b/dkarm-eabi/crtls/er_crt0.s deleted file mode 100644 index 022afab..0000000 --- a/dkarm-eabi/crtls/er_crt0.s +++ /dev/null @@ -1,60 +0,0 @@ -@--------------------------------------------------------------------------------- -@ nintendo e-reader startup code -@--------------------------------------------------------------------------------- -@ author : tim schuerewegen -@ version : 1.0 -@--------------------------------------------------------------------------------- -@ This Source Code Form is subject to the terms of the Mozilla Public License, -@ v. 2.0. If a copy of the MPL was not distributed with this file, You can -@ obtain one at https://mozilla.org/MPL/2.0/. -@--------------------------------------------------------------------------------- - .section ".crt0","ax" - .global _start - .align - .arm -@--------------------------------------------------------------------------------- -_start: -@--------------------------------------------------------------------------------- - b start_vector - .long 0 - .long 0x02000000 - -start_vector: - @ enter thumb mode - adr r0, _start_thumb + 1 - bx r0 - - .thumb - -_start_thumb: - - @ save return address (rom) - mov r3, lr - - @ clear bss section - ldr r0, =__bss_start - ldr r1, =__bss_end - mov r2, #0 -_loop_bss_clear: - strb r2, [r0] - add r0, #1 - cmp r0, r1 - blt _loop_bss_clear - - @ set return address (rom) - mov lr, r3 - - @ jump to main - ldr r3, =main - bx r3 - - .align - - .pool - - .end - - .align - .pool - .end - diff --git a/dkarm-eabi/crtls/gba.specs b/dkarm-eabi/crtls/gba.specs deleted file mode 100644 index e056624..0000000 --- a/dkarm-eabi/crtls/gba.specs +++ /dev/null @@ -1,8 +0,0 @@ -%rename link old_link - -*link: -%(old_link) -T gba_cart.ld%s --gc-sections - -*startfile: -gba_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm-eabi/crtls/gba_cart.ld b/dkarm-eabi/crtls/gba_cart.ld deleted file mode 100644 index 2ce1d67..0000000 --- a/dkarm-eabi/crtls/gba_cart.ld +++ /dev/null @@ -1,318 +0,0 @@ -/* Linker Script Original v1.3 by Jeff Frohwein */ -/* v1.0 - Original release */ -/* v1.1 - Added proper .data section support */ -/* v1.2 - Added support for c++ & iwram overlays */ -/* - Major contributions by Jason Wilkins. */ -/* v1.3 - .ewram section now can be used when */ -/* compiling for MULTIBOOT mode. This fixes */ -/* malloc() in DevKitAdvance which depends */ -/* on __eheap_start instead of end to define*/ -/* the starting location of heap space. */ -/* External global variable __gba_iwram_heap*/ -/* support added to allow labels end, _end, */ -/* & __end__ to point to end of iwram or */ -/* the end of ewram. */ -/* Additions by WinterMute */ -/* v1.4 - .sbss section added for unitialised */ -/* data in ewram */ -/* v1.5 - padding section added to stop EZF */ -/* stripping important data */ - -/* This file is released into the public domain */ -/* for commercial or non-commercial use with no */ -/* restrictions placed upon it. */ - -/* NOTE!!!: This linker script defines the RAM & */ -/* ROM start addresses. In order for it to work */ -/* properly, remove -Ttext and -Tbss linker */ -/* options from your makefile if they are */ -/* present. */ - -/* You can use the following to view section */ -/* addresses in your .elf file: */ -/* objdump -h file.elf */ -/* Please note that empty sections may incorrectly*/ -/* list the lma address as the vma address for */ -/* some versions of objdump. */ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) -/* SEARCH_DIR(/bin/arm); */ - -/* The linker script function "var1 += var2;" sometimes */ -/* reports incorrect values in the *.map file but the */ -/* actual value it calculates is usually, if not always, */ -/* correct. If you leave out the ". = ALIGN(4);" at the */ -/* end of each section then the return value of SIZEOF() */ -/* is sometimes incorrect and "var1 += var2;" appears to */ -/* not work as well. "var1 += var2" style functions are */ -/* avoided below as a result. */ - -MEMORY { - - rom : ORIGIN = 0x08000000, LENGTH = 32M - iwram : ORIGIN = 0x03000000, LENGTH = 32K - ewram : ORIGIN = 0x02000000, LENGTH = 256K -} - -__text_start = ORIGIN(rom); -__eheap_end = ORIGIN(ewram) + LENGTH(ewram); -__iwram_start = ORIGIN(iwram); -__iwram_top = ORIGIN(iwram) + LENGTH(iwram);; -__sp_irq = __iwram_top - 0x060; -__sp_usr = __sp_irq - 0x0a0; -__irq_flags = 0x03007ff8; - -SECTIONS -{ - . = __text_start; - .crt0 : - { - KEEP (*(.crt0)) - . = ALIGN(4); - } >rom =0xff - - - .init : - { - KEEP (*(SORT_NONE(.init))) - } >rom - - .plt : - { - *(.plt) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom - - .text : /* ALIGN (4): */ - { - *(EXCLUDE_FILE (*.iwram*) .text) - *(.text .stub .text.* .gnu.linkonce.t.*) - KEEP (*(.text.*personality*)) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.glue_7t) *(.glue_7) *(.vfp11_veneer) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - - __text_end = .; - .fini : - { - KEEP (*(.fini)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom =0 - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >rom - __exidx_start = .; - .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >rom - __exidx_end = .; - - .ctors : - { - /* gcc uses crtbegin.o to find the start of the constructors, so - we make sure it is first. Because this is a wildcard, it - doesn't matter if the user does not actually link against - crtbegin.o; the linker won't look for a file to match a - wildcard. The wildcard also means that it doesn't matter which - directory crtbegin.o is in. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0 - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0 - - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0 - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0 - - __iwram_lma = .; - - .iwram __iwram_start : AT (__iwram_lma) - { - __iwram_start__ = ABSOLUTE(.) ; - *(.iwram) - *iwram.*(.text) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __iwram_end__ = ABSOLUTE(.) ; - } >iwram = 0xff - - __data_lma = __iwram_lma + SIZEOF(.iwram) ; - - .bss ALIGN(4) (NOLOAD) : - { - __bss_start = ABSOLUTE(.); - __bss_start__ = ABSOLUTE(.); - *(.dynbss) - *(.gnu.linkonce.b*) - *(.bss*) - *(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __bss_end__ = ABSOLUTE(.); - - } AT>iwram - - .data ALIGN(4) : AT (__data_lma) - { - __data_start__ = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); - } >iwram = 0xff - - __preinit_lma = __data_lma + SIZEOF(.data); - - .preinit_array ALIGN(4) : AT (__preinit_lma) - { - __preinit_array_start = ABSOLUTE(.); - KEEP (*(.preinit_array)) - __preinit_array_end = ABSOLUTE(.); - } >iwram - - __init_lma = __preinit_lma + SIZEOF(.preinit_array); - - .init_array ALIGN(4) : AT (__init_lma) - { - __init_array_start = ABSOLUTE(.); - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = ABSOLUTE(.); - } >iwram - - __fini_lma = __init_lma + SIZEOF(.init_array); - - .fini_array ALIGN(4) : AT (__fini_lma) - { - __fini_array_start = ABSOLUTE(.); - KEEP (*(SORT(.fini_array.*))) - KEEP (*(.fini_array)) - __fini_array_end = ABSOLUTE(.); - } >iwram - - __jcr_lma = __fini_lma + SIZEOF(.fini_array); - .jcr ALIGN(4) : AT (__jcr_lma) { KEEP (*(.jcr)) } >iwram - - __data_end__ = ABSOLUTE(.); - __iwram_overlay_lma = __jcr_lma + SIZEOF(.jcr); - - __iwram_overlay_start = . ; - - OVERLAY ALIGN(4) : NOCROSSREFS AT (__iwram_overlay_lma) - { - .iwram0 { *(.iwram0) . = ALIGN(4);} - .iwram1 { *(.iwram1) . = ALIGN(4);} - .iwram2 { *(.iwram2) . = ALIGN(4);} - .iwram3 { *(.iwram3) . = ALIGN(4);} - .iwram4 { *(.iwram4) . = ALIGN(4);} - .iwram5 { *(.iwram5) . = ALIGN(4);} - .iwram6 { *(.iwram6) . = ALIGN(4);} - .iwram7 { *(.iwram7) . = ALIGN(4);} - .iwram8 { *(.iwram8) . = ALIGN(4);} - .iwram9 { *(.iwram9) . = ALIGN(4);} - }>iwram = 0xff - - __iwram_overlay_end = . ; - __ewram_lma = __iwram_overlay_lma + (__iwram_overlay_end - __iwram_overlay_start) ; - - __iheap_start = . ; - - __ewram_start = ORIGIN(ewram); - .ewram __ewram_start : AT (__ewram_lma) - { - *(.ewram) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __ewram_end = ABSOLUTE(.); - }>ewram = 0xff - - __pad_lma = __ewram_lma + SIZEOF(.ewram); - - .sbss ALIGN(4)(NOLOAD): - { - __sbss_start__ = ABSOLUTE(.); - *(.sbss) - . = ALIGN(4); - __sbss_end__ = ABSOLUTE(.); - __end__ = ABSOLUTE(.); - __eheap_start = ABSOLUTE(.); - } AT>ewram - - /* EZF Advance strips trailing 0xff bytes, add a pad section so nothing important is removed */ - .pad ALIGN(4) : AT (__pad_lma) - { - LONG(0x52416b64) - LONG(0x4d) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } = 0xff - __rom_end__ = __pad_lma + SIZEOF(.pad); - - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ - .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } - .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) } - /DISCARD/ : { *(.note.GNU-stack) } -} diff --git a/dkarm-eabi/crtls/gba_crt0.s b/dkarm-eabi/crtls/gba_crt0.s deleted file mode 100644 index 18315b3..0000000 --- a/dkarm-eabi/crtls/gba_crt0.s +++ /dev/null @@ -1,255 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ - - .section ".crt0","ax" - .global _start - .align - - .arm - .cpu arm7tdmi - -@--------------------------------------------------------------------------------- -_start: -@--------------------------------------------------------------------------------- - b rom_header_end - - .fill 156,1,0 @ Nintendo Logo Character Data (8000004h) - .fill 16,1,0 @ Game Title - .byte 0x30,0x31 @ Maker Code (80000B0h) - .byte 0x96 @ Fixed Value (80000B2h) - .byte 0x00 @ Main Unit Code (80000B3h) - .byte 0x00 @ Device Type (80000B4h) - .fill 7,1,0 @ unused - .byte 0x00 @ Software Version No (80000BCh) - .byte 0xf0 @ Complement Check (80000BDh) - .byte 0x00,0x00 @ Checksum (80000BEh) - -@--------------------------------------------------------------------------------- -rom_header_end: -@--------------------------------------------------------------------------------- - b start_vector @ This branch must be here for proper - @ positioning of the following header. - - .GLOBAL __boot_method, __slave_number -@--------------------------------------------------------------------------------- -__boot_method: -@--------------------------------------------------------------------------------- - .byte 0 @ boot method (0=ROM boot, 3=Multiplay boot) -@--------------------------------------------------------------------------------- -__slave_number: -@--------------------------------------------------------------------------------- - .byte 0 @ slave # (1=slave#1, 2=slave#2, 3=slave#3) - - .byte 0 @ reserved - .byte 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - - .global start_vector - .align -@--------------------------------------------------------------------------------- -start_vector: -@--------------------------------------------------------------------------------- - mov r0, #0x4000000 @ REG_BASE - str r0, [r0, #0x208] - - mov r0, #0x12 @ Switch to IRQ Mode - msr cpsr, r0 - ldr sp, =__sp_irq @ Set IRQ stack - mov r0, #0x1f @ Switch to System Mode - msr cpsr, r0 - ldr sp, =__sp_usr @ Set user stack - -@--------------------------------------------------------------------------------- -@ Enter Thumb mode -@--------------------------------------------------------------------------------- - add r0, pc, #1 - bx r0 - - .thumb - - ldr r0, =__text_start - lsl r0, #5 @ Was code compiled at 0x08000000 or higher? - bcs DoEWRAMClear @ yes, you can not run it in external WRAM - - mov r0, pc - lsl r0, #5 @ Are we running from ROM (0x8000000 or higher) ? - bcc SkipEWRAMClear @ No, so no need to do a copy. - -@--------------------------------------------------------------------------------- -@ We were started in ROM, silly emulators. :P -@ So we need to copy to ExWRAM. -@--------------------------------------------------------------------------------- - mov r2, #2 - lsl r2, r2, #24 @ r2= 0x02000000 - ldr r3, =__end__ @ last ewram address - sub r3, r2 @ r3= actual binary size - mov r6, r2 @ r6= 0x02000000 - lsl r1, r2, #2 @ r1= 0x08000000 - - bl CopyMem - - bx r6 @ Jump to the code to execute - -@--------------------------------------------------------------------------------- -DoEWRAMClear: @ Clear External WRAM to 0x00 -@--------------------------------------------------------------------------------- - mov r1, #0x40 - lsl r1, #12 @ r1 = 0x40000 - lsl r0, r1, #7 @ r0 = 0x2000000 - bl ClearMem - -@--------------------------------------------------------------------------------- -SkipEWRAMClear: @ Clear Internal WRAM to 0x00 -@--------------------------------------------------------------------------------- - -@--------------------------------------------------------------------------------- -@ Clear BSS section to 0x00 -@--------------------------------------------------------------------------------- - ldr r0, =__bss_start__ - ldr r1, =__bss_end__ - sub r1, r0 - bl ClearMem - -@--------------------------------------------------------------------------------- -@ Clear SBSS section to 0x00 -@--------------------------------------------------------------------------------- - ldr r0, =__sbss_start__ - ldr r1, =__sbss_end__ - sub r1, r0 - bl ClearMem - -@--------------------------------------------------------------------------------- -@ Copy initialized data (data section) from LMA to VMA (ROM to RAM) -@--------------------------------------------------------------------------------- - ldr r1, =__data_lma - ldr r2, =__data_start__ - ldr r4, =__data_end__ - bl CopyMemChk - -@--------------------------------------------------------------------------------- -@ Copy internal work ram (iwram section) from LMA to VMA (ROM to RAM) -@--------------------------------------------------------------------------------- - ldr r1,= __iwram_lma - ldr r2,= __iwram_start__ - ldr r4,= __iwram_end__ - bl CopyMemChk - -@--------------------------------------------------------------------------------- -@ Copy internal work ram overlay 0 (iwram0 section) from LMA to VMA (ROM to RAM) -@--------------------------------------------------------------------------------- - ldr r2,= __load_stop_iwram0 - ldr r1,= __load_start_iwram0 - sub r3, r2, r1 @ Is there any data to copy? - beq CIW0Skip @ no - - ldr r2,= __iwram_overlay_start - bl CopyMem -@--------------------------------------------------------------------------------- -CIW0Skip: -@--------------------------------------------------------------------------------- -@ Copy external work ram (ewram section) from LMA to VMA (ROM to RAM) -@--------------------------------------------------------------------------------- - ldr r1, =__ewram_lma - ldr r2, =__ewram_start - ldr r4, =__ewram_end - bl CopyMemChk - -@--------------------------------------------------------------------------------- -CEW0Skip: -@--------------------------------------------------------------------------------- -@ set heap end -@--------------------------------------------------------------------------------- - ldr r1, =fake_heap_end - ldr r0, =__eheap_end - str r0, [r1] -@--------------------------------------------------------------------------------- -@ global constructors -@--------------------------------------------------------------------------------- - ldr r3, =__libc_init_array - bl _blx_r3_stub -@--------------------------------------------------------------------------------- -@ Jump to user code -@--------------------------------------------------------------------------------- - mov r0, #0 @ int argc - mov r1, #0 @ char *argv[] - ldr r3, =main - bl _blx_r3_stub -@--------------------------------------------------------------------------------- -@ Clear memory to 0x00 if length != 0 -@--------------------------------------------------------------------------------- -@ r0 = Start Address -@ r1 = Length -@--------------------------------------------------------------------------------- -ClearMem: -@--------------------------------------------------------------------------------- - mov r2,#3 @ These commands are used in cases where - add r1,r2 @ the length is not a multiple of 4, - bic r1,r2 @ even though it should be. - - beq ClearMX @ Length is zero so exit - - mov r2,#0 -@--------------------------------------------------------------------------------- -ClrLoop: -@--------------------------------------------------------------------------------- - stmia r0!, {r2} - sub r1,#4 - bne ClrLoop -@--------------------------------------------------------------------------------- -ClearMX: -@--------------------------------------------------------------------------------- - bx lr - -@--------------------------------------------------------------------------------- -_blx_r3_stub: -@--------------------------------------------------------------------------------- - bx r3 - -@--------------------------------------------------------------------------------- -@ Copy memory if length != 0 -@--------------------------------------------------------------------------------- -@ r1 = Source Address -@ r2 = Dest Address -@ r4 = Dest Address + Length -@--------------------------------------------------------------------------------- -CopyMemChk: -@--------------------------------------------------------------------------------- - sub r3, r4, r2 @ Is there any data to copy? -@--------------------------------------------------------------------------------- -@ Copy memory -@--------------------------------------------------------------------------------- -@ r1 = Source Address -@ r2 = Dest Address -@ r3 = Length -@--------------------------------------------------------------------------------- -CopyMem: -@--------------------------------------------------------------------------------- - mov r0, #3 @ These commands are used in cases where - add r3, r0 @ the length is not a multiple of 4, - bic r3, r0 @ even though it should be. - beq CIDExit @ Length is zero so exit - -@--------------------------------------------------------------------------------- -CIDLoop: -@--------------------------------------------------------------------------------- - ldmia r1!, {r0} - stmia r2!, {r0} - sub r3, #4 - bne CIDLoop -@--------------------------------------------------------------------------------- -CIDExit: -@--------------------------------------------------------------------------------- - bx lr - - .align - .pool - .end - diff --git a/dkarm-eabi/crtls/gba_er.ld b/dkarm-eabi/crtls/gba_er.ld deleted file mode 100644 index 1ee4560..0000000 --- a/dkarm-eabi/crtls/gba_er.ld +++ /dev/null @@ -1,49 +0,0 @@ -/***********************************/ -/* NINTENDO E-READER LINKER SCRIPT */ -/***********************************/ -/* Author : Tim Schuerewegen */ -/* Version : 1.0 */ -/***********************************/ - -OUTPUT_FORMAT( "elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH( arm) -ENTRY( _start) - -SECTIONS -{ - . = 0x02000000; - - .crt0 : - { - *(.crt0) - . = ALIGN(4); - } = 0xff - - .text : - { - *(.text) - . = ALIGN(4); - } = 0xff - - .rodata : - { - *(.rodata) - . = ALIGN(4); - } = 0xff - - .data : - { - *(.data) - . = ALIGN(4); - } = 0xff - - .bss : - { - __bss_start = .; - *(.bss) - . = ALIGN(4); - __bss_end__ = ABSOLUTE(.); - __end__ = ABSOLUTE(.); - } -} - diff --git a/dkarm-eabi/crtls/gba_er.specs b/dkarm-eabi/crtls/gba_er.specs deleted file mode 100644 index ea4b91a..0000000 --- a/dkarm-eabi/crtls/gba_er.specs +++ /dev/null @@ -1,8 +0,0 @@ -%rename link old_link -%rename endfile old_endfile - -*link: --T gba_er.ld%s %(old_link) --gc-sections - -*startfile: -er_crt0%O%s diff --git a/dkarm-eabi/crtls/gba_mb.ld b/dkarm-eabi/crtls/gba_mb.ld deleted file mode 100644 index 5563643..0000000 --- a/dkarm-eabi/crtls/gba_mb.ld +++ /dev/null @@ -1,303 +0,0 @@ -/* Linker Script Original v1.3 by Jeff Frohwein */ -/* v1.0 - Original release */ -/* v1.1 - Added proper .data section support */ -/* v1.2 - Added support for c++ & iwram overlays */ -/* - Major contributions by Jason Wilkins. */ -/* v1.3 - .ewram section now can be used when */ -/* compiling for MULTIBOOT mode. This fixes */ -/* malloc() in DevKitAdvance which depends */ -/* on __eheap_start instead of end to define*/ -/* the starting location of heap space. */ -/* External global variable __gba_iwram_heap*/ -/* support added to allow labels end, _end, */ -/* & __end__ to point to end of iwram or */ -/* the end of ewram. */ -/* Additions by WinterMute */ -/* v1.4 - .sbss section added for unitialised */ -/* data in ewram */ -/* v1.5 - padding section added to stop EZF */ -/* stripping important data */ -/* v1.6 - added memory sections */ - -/* This file is released into the public domain */ -/* for commercial or non-commercial use with no */ -/* restrictions placed upon it. */ - -/* NOTE!!!: This linker script defines the RAM & */ -/* ROM start addresses. In order for it to work */ -/* properly, remove -Ttext and -Tbss linker */ -/* options from your makefile if they are */ -/* present. */ - -/* You can use the following to view section */ -/* addresses in your .elf file: */ -/* objdump -h file.elf */ -/* Please note that empty sections may incorrectly*/ -/* list the lma address as the vma address for */ -/* some versions of objdump. */ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - -MEMORY { - - rom : ORIGIN = 0x08000000, LENGTH = 32M - iwram : ORIGIN = 0x03000000, LENGTH = 32K - ewram : ORIGIN = 0x02000000, LENGTH = 256K -} - - - -__text_start = ORIGIN(ewram); -__eheap_end = ORIGIN(ewram) + LENGTH(ewram); -__iwram_start = ORIGIN(iwram); -__iwram_top = ORIGIN(iwram) + LENGTH(iwram);; - -__sp_irq = __iwram_top - 0x060; -__sp_usr = __sp_irq - 0x0a0; -__irq_flags = 0x03007ff8; - -SECTIONS -{ - . = __text_start; - . = __text_start; - .crt0 : - { - KEEP (*(.crt0)) - . = ALIGN(4); - } >ewram =0xff - - .init : - { - KEEP (*(SORT_NONE(.init))) - } >ewram - - .plt : - { - *(.plt) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram - - - .text ALIGN (4): - { - *(EXCLUDE_FILE (*.iwram*) .text) - *(.text .stub .text.* .gnu.linkonce.t.*) - KEEP (*(.text.*personality*)) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.glue_7t) *(.glue_7) *(.vfp11_veneer) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - - __text_end = .; - .fini : - { - KEEP (*(.fini)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram =0 - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >ewram - __exidx_start = .; - .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >ewram - __exidx_end = .; - /* Ensure the __preinit_array_start label is properly aligned. We - could instead move the label definition inside the section, but - the linker would then create the section even if it turns out to - be empty, which isn't pretty. */ - . = ALIGN(32 / 8); - PROVIDE (__preinit_array_start = .); - .preinit_array : { KEEP (*(.preinit_array)) } >ewram = 0xff - PROVIDE (__preinit_array_end = .); - PROVIDE (__init_array_start = .); - .init_array : { KEEP (*(.init_array)) } >ewram = 0xff - PROVIDE (__init_array_end = .); - PROVIDE (__fini_array_start = .); - .fini_array : { KEEP (*(.fini_array)) } >ewram = 0xff - PROVIDE (__fini_array_end = .); - .ctors : - { - /* gcc uses crtbegin.o to find the start of the constructors, so - we make sure it is first. Because this is a wildcard, it - doesn't matter if the user does not actually link against - crtbegin.o; the linker won't look for a file to match a - wildcard. The wildcard also means that it doesn't matter which - directory crtbegin.o is in. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0 - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0 - - .jcr : { KEEP (*(.jcr)) } >ewram - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0 - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0 - - __iwram_lma = .; - - .iwram __iwram_start : AT (__iwram_lma) - { - __iwram_start__ = ABSOLUTE(.) ; - *(.iwram) - *iwram.*(.text) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __iwram_end__ = ABSOLUTE(.) ; - } >iwram = 0xff - - __data_lma = __iwram_lma + SIZEOF(.iwram) ; - - .bss ALIGN(4) (NOLOAD): - { - __bss_start__ = ABSOLUTE(.); - *(.dynbss) - *(.gnu.linkonce.b*) - *(.bss*) - *(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __bss_end__ = ABSOLUTE(.) ; - } - - .data ALIGN(4) : AT (__data_lma) - { - __data_start__ = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __data_end__ = ABSOLUTE(.); - } >iwram = 0xff - - __iwram_overlay_lma = __data_lma + SIZEOF(.data); - - PROVIDE (edata = .); - __iwram_overlay_start = . ; - - OVERLAY ALIGN(4) : NOCROSSREFS AT (__iwram_overlay_lma) - { - .iwram0 { *(.iwram0) . = ALIGN(4);} - .iwram1 { *(.iwram1) . = ALIGN(4);} - .iwram2 { *(.iwram2) . = ALIGN(4);} - .iwram3 { *(.iwram3) . = ALIGN(4);} - .iwram4 { *(.iwram4) . = ALIGN(4);} - .iwram5 { *(.iwram5) . = ALIGN(4);} - .iwram6 { *(.iwram6) . = ALIGN(4);} - .iwram7 { *(.iwram7) . = ALIGN(4);} - .iwram8 { *(.iwram8) . = ALIGN(4);} - .iwram9 { *(.iwram9) . = ALIGN(4);} - } >iwram = 0xff - - __ewram_lma = LOADADDR(.iwram0) + SIZEOF(.iwram0)+SIZEOF(.iwram1)+SIZEOF(.iwram2)+SIZEOF(.iwram3)+SIZEOF(.iwram4)+SIZEOF(.iwram5)+SIZEOF(.iwram6)+SIZEOF(.iwram7)+SIZEOF(.iwram8)+SIZEOF(.iwram9); - - __iwram_overlay_end = __ewram_lma ; - - /* v1.3 */ - __ewram_start = __ewram_lma ; - - .ewram __ewram_start : AT (__ewram_lma) - { - *(.ewram) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __ewram_end = ABSOLUTE(.); - } >ewram = 0xff - - __ewram_overlay_lma = __ewram_lma + SIZEOF(.ewram); - - .sbss ALIGN(4)(NOLOAD): - { - __sbss_start__ = ABSOLUTE(.); - *(.sbss) - . = ALIGN(4); - __sbss_end__ = ABSOLUTE(.); - __end__ = ABSOLUTE(.); - __eheap_start = ABSOLUTE(.); - } - - OVERLAY ALIGN(4): NOCROSSREFS AT (__ewram_overlay_lma) - { - .ewram0 { *(.ewram0) . = ALIGN(4);} - .ewram1 { *(.ewram1) . = ALIGN(4);} - .ewram2 { *(.ewram2) . = ALIGN(4);} - .ewram3 { *(.ewram3) . = ALIGN(4);} - .ewram4 { *(.ewram4) . = ALIGN(4);} - .ewram5 { *(.ewram5) . = ALIGN(4);} - .ewram6 { *(.ewram6) . = ALIGN(4);} - .ewram7 { *(.ewram7) . = ALIGN(4);} - .ewram8 { *(.ewram8) . = ALIGN(4);} - .ewram9 { *(.ewram9) . = ALIGN(4);} - } >ewram = 0xff - __ewram_overlay_end = ABSOLUTE(.); - - __eheap_start = __ewram_overlay_end ; - - _end = __ewram_overlay_end; - __end__ = __ewram_overlay_end; - __rom_end__ = __ewram_overlay_end; - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm-eabi/crtls/gba_mb.specs b/dkarm-eabi/crtls/gba_mb.specs deleted file mode 100644 index 1e3e5fe..0000000 --- a/dkarm-eabi/crtls/gba_mb.specs +++ /dev/null @@ -1,8 +0,0 @@ -%rename link old_link - -*link: --T gba_mb.ld%s %(old_link) --gc-sections - -*startfile: -gba_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm-eabi/crtls/gp32.ld b/dkarm-eabi/crtls/gp32.ld deleted file mode 100644 index f0826e0..0000000 --- a/dkarm-eabi/crtls/gp32.ld +++ /dev/null @@ -1,171 +0,0 @@ -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - -MEMORY - { - ram : ORIGIN = 0xc000000, LENGTH = 8M - } - -SECTIONS -{ - .crt0 : - { - __text_start = . ; - KEEP (*(.crt0)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0xff - - .init : - { - KEEP (*(SORT_NONE(.init))) - } >ram - - .plt : { *(.plt) } >ram = 0xff - - - .text : /* ALIGN (4): */ - { - *(.text .stub .text.* .gnu.linkonce.t.*) - KEEP (*(.text.*personality*)) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.glue_7t) *(.glue_7) *(.vfp11_veneer) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0xff - .fini : - { - KEEP (*(.fini)) - } >ram =0xff - - __text_end = . ; - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0xff - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >ram - __exidx_start = .; - .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >ram - __exidx_end = .; - /* Ensure the __preinit_array_start label is properly aligned. We - could instead move the label definition inside the section, but - the linker would then create the section even if it turns out to - be empty, which isn't pretty. */ - . = ALIGN(32 / 8); - PROVIDE (__preinit_array_start = .); - .preinit_array : { KEEP (*(.preinit_array)) } >ram = 0xff - PROVIDE (__preinit_array_end = .); - PROVIDE (__init_array_start = .); - .init_array : { KEEP (*(.init_array)) } >ram = 0xff - PROVIDE (__init_array_end = .); - PROVIDE (__fini_array_start = .); - .fini_array : { KEEP (*(.fini_array)) } >ram = 0xff - PROVIDE (__fini_array_end = .); - .ctors : - { - /* gcc uses crtbegin.o to find the start of the constructors, so - we make sure it is first. Because this is a wildcard, it - doesn't matter if the user does not actually link against - crtbegin.o; the linker won't look for a file to match a - wildcard. The wildcard also means that it doesn't matter which - directory crtbegin.o is in. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - .jcr : { KEEP (*(.jcr)) } >ram = 0 - .got : { *(.got.plt) *(.got) } >ram = 0 - __ro_end = . ; - - .data ALIGN(4) : - { - __data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __data_end = ABSOLUTE(.); - } >ram = 0xff - - - .bss ALIGN(4) : - { - __bss_start = ABSOLUTE(.); - /* __bss_start__ = ABSOLUTE(.); */ - *(.dynbss) - *(.gnu.linkonce.b*) - *(.bss*) - *(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __bss_end = ABSOLUTE(.) ; - __end__ = ABSOLUTE(.) ; - } > ram - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm-eabi/crtls/gp32.specs b/dkarm-eabi/crtls/gp32.specs deleted file mode 100644 index e227491..0000000 --- a/dkarm-eabi/crtls/gp32.specs +++ /dev/null @@ -1,8 +0,0 @@ -%rename link old_link - -*link: -%(old_link) -T gp32.ld%s --gc-sections - -*startfile: -gp32_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm-eabi/crtls/gp32_crt0.s b/dkarm-eabi/crtls/gp32_crt0.s deleted file mode 100644 index fd67b32..0000000 --- a/dkarm-eabi/crtls/gp32_crt0.s +++ /dev/null @@ -1,80 +0,0 @@ -/*-------------------------------------------------------------------------------- - This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. ---------------------------------------------------------------------------------*/ - - .section ".crt0","ax" - .code 32 - .align - .global _start -@--------------------------------------------------------------------------------- -_start: -@--------------------------------------------------------------------------------- - b _start2 - -@--------------------------------------------------------------------------------- -@ AXF addresses -@--------------------------------------------------------------------------------- -_text_start: - .word __text_start -_ro_end: - .word __ro_end -_data_start: - .word __data_start - .word __bss_end -_bss_start: - .word __bss_start -_bss_end: - .word __bss_end - -@--------------------------------------------------------------------------------- -@ GamePark magic sequence -@--------------------------------------------------------------------------------- - .word 0x44450011 - .word 0x44450011 - .word 0x01234567 - .word 0x12345678 - .word 0x23456789 - .word 0x34567890 - .word 0x45678901 - .word 0x56789012 - .word 0x23456789 - .word 0x34567890 - .word 0x45678901 - .word 0x56789012 - .word 0x23456789 - .word 0x34567890 - .word 0x45678901 - .word 0x56789012 - -@--------------------------------------------------------------------------------- -_start2: -@--------------------------------------------------------------------------------- - mrs r0, CPSR - orr r0, r0, #0xC0 - msr CPSR_ctl, r0 - - mrs r0, CPSR - bic r0, r0, #0xC0 - orr r0, r0, #0x40 - msr CPSR_ctl,r0 - -@--------------------------------------------------------------------------------- -@ global constructors -@--------------------------------------------------------------------------------- - ldr r3,=_call_main - mov lr,r3 - ldr r3,=__libc_init_array - bx r3 -@--------------------------------------------------------------------------------- -@ Jump to user code -@--------------------------------------------------------------------------------- -_call_main: -@--------------------------------------------------------------------------------- - mov lr, #0 - ldr r3, =main - bx r3 - - .pool - .end diff --git a/dkarm-eabi/crtls/gp32_gpsdk.ld b/dkarm-eabi/crtls/gp32_gpsdk.ld deleted file mode 100644 index b6824e4..0000000 --- a/dkarm-eabi/crtls/gp32_gpsdk.ld +++ /dev/null @@ -1,213 +0,0 @@ -/* GP32 Linker Script v1.2 by Jeff F */ -/* v1.0 - Original release */ -/* v1.1 - Cleaned up and added MEMORY command */ -/* v1.2 - DJWillis - Added propper .init and */ -/* .fini for GCC 3.3.2 and above */ -/* */ -/* This file is released into the public domain */ -/* for commercial or non-commercial use with no */ -/* restrictions placed upon it. */ -/* */ -/* NOTE!!!: This linker script defines the RAM */ -/* start addresses. In order for it to work */ -/* properly, remove -Ttext and -Tbss linker */ -/* options from your makefile if they are */ -/* present. */ -/* */ -/* You can use the following to view section */ -/* addresses in your .elf file: */ -/* objdump -h file.elf */ -/* */ -/* Please note that empty sections may incorrectly*/ -/* list the lma address as the vma address for */ -/* some versions of objdump. */ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) -/* SEARCH_DIR(/bin/arm); */ - -/* Then use it like this: IWRAMHEAP */ -/* The linker script function "var1 += var2;" sometimes */ -/* reports incorrect values in the *.map file but the */ -/* actual value it calculates is usually, if not always, */ -/* correct. If you leave out the ". = ALIGN(4);" at the */ -/* end of each section then the return value of SIZEOF() */ -/* is sometimes incorrect and "var1 += var2;" appears to */ -/* not work as well. "var1 += var2" style functions are */ -/* avoided below as a result. */ - -/* The linker script MEMORY directive is not used here due */ -/* to the fact that __text_start is not always a fixed value. */ - -MEMORY - { - ram : ORIGIN = 0xc000000, LENGTH = 8M - } - -SECTIONS -{ - .text : /* ALIGN (4): */ - { - __text_start = . ; - - *(EXCLUDE_FILE (*text.iwram*) .text) - *(.text.*) - *(.stub) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.gnu.linkonce.t*) - *(.glue_7) - *(.glue_7t) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0xff - - __text_end = . ; - - - .init : - { - *(.init) - } > ram = 0xff - - .jcr : - { - *(.jcr) - } > ram = 0xff - - .fini : - { - *(.fini) - } > ram = 0xff - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0xff - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >ram - __exidx_start = .; - .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >ram - __exidx_end = .; - /* Ensure the __preinit_array_start label is properly aligned. We - could instead move the label definition inside the section, but - the linker would then create the section even if it turns out to - be empty, which isn't pretty. */ - . = ALIGN(32 / 8); - PROVIDE (__preinit_array_start = .); - .preinit_array : { KEEP (*(.preinit_array)) } >ram = 0xff - PROVIDE (__preinit_array_end = .); - PROVIDE (__init_array_start = .); - .init_array : { KEEP (*(.init_array)) } >ram = 0xff - PROVIDE (__init_array_end = .); - PROVIDE (__fini_array_start = .); - .fini_array : { KEEP (*(.fini_array)) } >ram = 0xff - PROVIDE (__fini_array_end = .); - - .ctors : - { - /* gcc uses crtbegin.o to find the start of the constructors, so - we make sure it is first. Because this is a wildcard, it - doesn't matter if the user does not actually link against - crtbegin.o; the linker won't look for a file to match a - wildcard. The wildcard also means that it doesn't matter which - directory crtbegin.o is in. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - __ro_end = . ; - - .data ALIGN(4) : - { - __data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0xff - - __data_end = . ; - - .bss ALIGN(4) : - { - __bss_start = ABSOLUTE(.); - /* __bss_start__ = ABSOLUTE(.); */ - *(.dynbss) - *(.gnu.linkonce.b*) - *(COMMON) - *(.bss*) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __bss_end = ABSOLUTE(.); - __end__ = ABSOLUTE(.); - } > ram - - - __eheap_end = . ; - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm-eabi/crtls/gp32_gpsdk.specs b/dkarm-eabi/crtls/gp32_gpsdk.specs deleted file mode 100644 index 6d0b905..0000000 --- a/dkarm-eabi/crtls/gp32_gpsdk.specs +++ /dev/null @@ -1,8 +0,0 @@ -%rename link old_link - -*link: -%(old_link) -T gp32_gpsdk.ld%s --gc-sections - -*startfile: -gp32_gpsdk_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm-eabi/crtls/gp32_gpsdk_crt0.s b/dkarm-eabi/crtls/gp32_gpsdk_crt0.s deleted file mode 100644 index 99770ce..0000000 --- a/dkarm-eabi/crtls/gp32_gpsdk_crt0.s +++ /dev/null @@ -1,246 +0,0 @@ -@**************************************************** -@* gp32 crt0.S v1.0 by Jeff F * -@**************************************************** - -@ v1.0 - Original release -@ -@ This file is released into the public domain for commercial -@ or non-commercial usage with no restrictions placed upon it. - - .TEXT - -@ Note: Normally it is the job of crt0.S to clear the BSS -@ (Zero Initialized) section to 0x00, but in the case of -@ the gp32 we do not have to do this because it is done -@ by the gp32 bios after it loads the app. - -@ The official sdt dev kit uses 'Main ()' as the entry -@ point. If you would rather use 'main ()' instead then -@ comment out the next line. -@ -@ You have to use 'main ()' at some point in your program -@ if you want to do c++ code. GCC will do a call to constructor -@ setup before executing 'main ()'. Using 'main ()' also increases -@ your program size by ~5500 bytes. - -@ .equ __OfficialEntry, 1 - -@ The official sdt dev kit initializes various things in init.o -@ Crt0.S performs similar tasks for compatibility. If you don't -@ wish to use the official libs, or those that are compatible, -@ then you need to comment out the next line to prevent link errors. - - .equ __OfficialInits, 1 - - - .GLOBAL _start -_start: - .ALIGN - .CODE 32 - - @ Start Vector - - b _GpInit - - .word __text_start @ Start of text (Read Only) section -_roe: .word __ro_end @ End " -_rws: .word __data_start @ Start of data (Read/Write) section - .word __bss_end @ End of bss (this is the way sdt does it for some reason) -_zis: .word __bss_start @ Start of bss (Zero Initialized) section -_zie: .word __bss_end @ End " - - .word 0x44450011 - .word 0x44450011 - - .word 0x01234567 - .word 0x12345678 - .word 0x23456789 - .word 0x34567890 - .word 0x45678901 - .word 0x56789012 - .word 0x23456789 - .word 0x34567890 - .word 0x45678901 - .word 0x56789012 - .word 0x23456789 - .word 0x34567890 - .word 0x45678901 - .word 0x56789012 - -_GpInit: - mrs r0,CPSR - orr r0,r0,#0xc0 - msr CPSR_fsxc,r0 - -.ifdef __OfficialInits - -@ Call function in user_init.s -@ bl asm_user_entry - -@ Get pointer to GpSurfaceSet routine - mov r0,#0 - swi 0xb - ldr r1,=GpSurfaceSet - ldr r2,=GpSurfaceFlip - str r0,[r1] - str r0,[r2] - -@ Get time passed - mov r0,#6 - swi 0xb - ldr r1,=_timepassed - str r0,[r1] - -@ Get button stuff - mov r0,#0 - swi 0x10 - ldr r2,=_reg_io_key_a - ldr r3,=_reg_io_key_b - str r0,[r2] - str r1,[r3] - -@ Set heap start location - ldr r0,_zie - ldr r1,=HEAPSTART - str r0,[r1] - -@ Set heap end location - mov r0,#5 - swi 0xb - ldr r1,=HEAPEND - sub r0,r0,#255 - bic r0,r0,#3 - str r0,[r1] - -@ Set App Argument - swi 0x15 - - mov r10,r0 - mov r11,r1 @ possibly not needed but left in anyway - - mrs r0,CPSR - bic r0,r0,#192 - orr r0,r0,#64 - msr CPSR_fsxc,r0 - - mov r0,r10 - mov r1,r11 @ possibly not needed but left in anyway -.endif - -@ Jump to Main () - -.ifdef __OfficialEntry - ldr r3,=Main -.else - ldr r3,=main -.endif - bx r3 @ Init.o uses 'mov pc,r3' but - @ 'bx r3' is used here instead. This way - @ the main function can be ARM or Thumb. - -.ifdef __OfficialInits - - swi 0x12 - orr r1,r1,r2 - and r1,r1,r3 - eor r1,r1,r4 - mov r5,r1,lsr #4 - add r1,r1,r7 - sub r7,r7,r1 - mov r8,#0 - mov pc,r8 - b . - b . - b . - b . - b . - b . - b . - b . - b . - b . - b . - b . - nop - nop - nop - nop - nop - nop - - .GLOBAL _fw_init_for_dbg -_fw_init_for_dbg: - stmdb sp!,{r0-r12} - - mov r10,lr - mov r11,sp - - bic r0,r0,#31 @ 0x1f - orr r1,r0,#17 @ 0x11 - orr r2,r0,#19 @ 0x13 - msr cpsr_cxsf,r1 - mov r12,#4 - add r12,r12,pc - msr cpsr_cxsf,r2 - swi 0x1ff - -@ bl asm_user_entry_path - - mov r0,r11 - mov r1,r10 - add r0,r0,#52 - ldr r2,[r0] - mov lr,r1 - stmdb sp!,{r2} - stmdb sp!,{r0-r12,lr} - -@ Copy RW Base - ZI Base - ldr r0,=_roe @ |Image$$RO$$Limit| - ldr r3,=_zis @ |Image$$ZI$$Base| - ldr r2,=_rws @ |Image$$RW$$Base| - sub r3,r3,r2 -CopyRWData: - cmp r3,#36 - blt CopyRWData2 - ldmia r0!,{r4-r12} - stmia r2!,{r4-r12} - sub r3,r3,#36 - b CopyRWData -CopyRWData2: - cmp r3,#0 - ble CopyRWData3 - ldr r4,[r0],#4 - str r4,[r2],#4 - sub r3,r3,#4 - b CopyRWData2 -CopyRWData3: - -@ Clear ZI section - ldr r1,=_zie @ |Image$$ZI$$Limit| - ldr r0,=_zis @ |Image$$ZI$$Base| - mov r2,#0 - mov r3,r2 - mov r4,r2 - mov r5,r2 - mov r6,r2 - mov r7,r2 - mov r8,r2 - mov r9,r2 - mov r10,r2 - mov r11,r2 - mov r12,r2 -CopyZIData: - stmia r0!,{r2-r12} - cmp r0,r1 - blt CopyZIData - - ldmia sp!,{r0-r12,pc} - -.endif - - .ALIGN - .POOL - - - .END - diff --git a/dkarm-eabi/scripts/build-libs.sh b/dkarm-eabi/scripts/build-libs.sh index 4e8f7ab..74446dd 100644 --- a/dkarm-eabi/scripts/build-libs.sh +++ b/dkarm-eabi/scripts/build-libs.sh @@ -19,20 +19,12 @@ make install #--------------------------------------------------------------------------------- # Install and build the crt0 files #--------------------------------------------------------------------------------- +cd $BUILDDIR -cp -v $BUILDSCRIPTDIR/dkarm-eabi/crtls/* $prefix/$target/lib/ -cd $prefix/$target/lib/ - - -$MAKE CRT=gba -$MAKE CRT=gp32 -$MAKE CRT=er -$MAKE CRT=gp32_gpsdk -$MAKE CRT=ds_arm7 -$MAKE CRT=ds_arm9 -$MAKE CRT=ds_cart -$MAKE ds_arm7_vram_crt0 -$MAKE 3dsx_crt0 +mkdir -p crtls +cd crtls +tar -xvf $SRCDIR/devkitarm-crtls-$DKARM_CRTLS_VER.tar.xz +make install cd $BUILDDIR/libgba-$LIBGBA_VER $MAKE || { echo "error building libgba"; exit 1; } From af02813a13ff3341341442c60149a33d8a358ccf Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 20 Feb 2019 16:15:57 +0000 Subject: [PATCH 069/280] devkitARM: update gdb patch for macOS --- dkarm-eabi/patches/gdb-8.2.1.patch | 102 +++++++++++++++++++++++------ 1 file changed, 81 insertions(+), 21 deletions(-) diff --git a/dkarm-eabi/patches/gdb-8.2.1.patch b/dkarm-eabi/patches/gdb-8.2.1.patch index 3b0dbe9..d32afd5 100644 --- a/dkarm-eabi/patches/gdb-8.2.1.patch +++ b/dkarm-eabi/patches/gdb-8.2.1.patch @@ -1,6 +1,6 @@ -diff -NBaur gdb-8.2/gdb/arm-3ds-tdep.c gdb-8.2-3ds/gdb/arm-3ds-tdep.c ---- gdb-8.2/gdb/arm-3ds-tdep.c 1970-01-01 01:00:00.000000000 +0100 -+++ gdb-8.2-3ds/gdb/arm-3ds-tdep.c 2018-11-15 22:55:21.916968907 +0000 +diff -NBaur gdb-8.2.1/gdb/arm-3ds-tdep.c gdb-8.2.1-apple/gdb/arm-3ds-tdep.c +--- gdb-8.2.1/gdb/arm-3ds-tdep.c 1970-01-01 01:00:00.000000000 +0100 ++++ gdb-8.2.1-apple/gdb/arm-3ds-tdep.c 2019-02-19 17:15:22.100604954 +0000 @@ -0,0 +1,157 @@ +/* Target-dependent code for 3DS. */ + @@ -159,9 +159,9 @@ diff -NBaur gdb-8.2/gdb/arm-3ds-tdep.c gdb-8.2-3ds/gdb/arm-3ds-tdep.c + gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_3DS, + arm_3ds_init_abi); +} -diff -NBaur gdb-8.2/gdb/configure.tgt gdb-8.2-3ds/gdb/configure.tgt ---- gdb-8.2/gdb/configure.tgt 2018-09-05 08:44:28.000000000 +0100 -+++ gdb-8.2-3ds/gdb/configure.tgt 2018-11-15 22:47:17.337689978 +0000 +diff -NBaur gdb-8.2.1/gdb/configure.tgt gdb-8.2.1-apple/gdb/configure.tgt +--- gdb-8.2.1/gdb/configure.tgt 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/configure.tgt 2019-02-19 17:15:22.104618045 +0000 @@ -61,7 +61,7 @@ ;; @@ -171,9 +171,9 @@ diff -NBaur gdb-8.2/gdb/configure.tgt gdb-8.2-3ds/gdb/configure.tgt hppa*-*-*) # Target: HP PA-RISC -diff -NBaur gdb-8.2/gdb/data-directory/Makefile.in gdb-8.2-3ds/gdb/data-directory/Makefile.in ---- gdb-8.2/gdb/data-directory/Makefile.in 2018-01-05 04:07:23.000000000 +0000 -+++ gdb-8.2-3ds/gdb/data-directory/Makefile.in 2018-11-15 22:42:36.840956065 +0000 +diff -NBaur gdb-8.2.1/gdb/data-directory/Makefile.in gdb-8.2.1-apple/gdb/data-directory/Makefile.in +--- gdb-8.2.1/gdb/data-directory/Makefile.in 2018-01-05 04:07:23.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/data-directory/Makefile.in 2019-02-19 17:15:22.104618045 +0000 @@ -63,7 +63,7 @@ sparc-linux.xml \ sparc64-linux.xml @@ -183,9 +183,9 @@ diff -NBaur gdb-8.2/gdb/data-directory/Makefile.in gdb-8.2-3ds/gdb/data-director PYTHON_DIR = python PYTHON_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(PYTHON_DIR) -diff -NBaur gdb-8.2/gdb/defs.h gdb-8.2-3ds/gdb/defs.h ---- gdb-8.2/gdb/defs.h 2018-09-05 08:27:32.000000000 +0100 -+++ gdb-8.2-3ds/gdb/defs.h 2018-11-15 22:42:36.840956065 +0000 +diff -NBaur gdb-8.2.1/gdb/defs.h gdb-8.2.1-apple/gdb/defs.h +--- gdb-8.2.1/gdb/defs.h 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/defs.h 2019-02-19 17:15:22.104618045 +0000 @@ -495,6 +495,7 @@ GDB_OSABI_LYNXOS178, GDB_OSABI_NEWLIB, @@ -194,9 +194,21 @@ diff -NBaur gdb-8.2/gdb/defs.h gdb-8.2-3ds/gdb/defs.h GDB_OSABI_INVALID /* keep this last */ }; -diff -NBaur gdb-8.2/gdb/Makefile.in gdb-8.2-3ds/gdb/Makefile.in ---- gdb-8.2/gdb/Makefile.in 2018-09-05 08:44:28.000000000 +0100 -+++ gdb-8.2-3ds/gdb/Makefile.in 2018-11-15 22:45:01.628931262 +0000 +diff -NBaur gdb-8.2.1/gdb/dtrace-probe.c gdb-8.2.1-apple/gdb/dtrace-probe.c +--- gdb-8.2.1/gdb/dtrace-probe.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/dtrace-probe.c 2019-02-19 17:30:16.449175937 +0000 +@@ -100,7 +100,7 @@ + + /* DTrace static_probe_ops. */ + +-const dtrace_static_probe_ops dtrace_static_probe_ops; ++const dtrace_static_probe_ops dtrace_static_probe_ops = {}; + + /* The following structure represents a dtrace probe. */ + +diff -NBaur gdb-8.2.1/gdb/Makefile.in gdb-8.2.1-apple/gdb/Makefile.in +--- gdb-8.2.1/gdb/Makefile.in 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/Makefile.in 2019-02-19 17:15:22.104618045 +0000 @@ -684,6 +684,7 @@ arch/arm-linux.o \ arch/i386.o \ @@ -213,9 +225,9 @@ diff -NBaur gdb-8.2/gdb/Makefile.in gdb-8.2-3ds/gdb/Makefile.in arm-bsd-tdep.c \ arm-fbsd-nat.c \ arm-fbsd-tdep.c \ -diff -NBaur gdb-8.2/gdb/osabi.c gdb-8.2-3ds/gdb/osabi.c ---- gdb-8.2/gdb/osabi.c 2018-09-05 08:27:13.000000000 +0100 -+++ gdb-8.2-3ds/gdb/osabi.c 2018-11-15 22:42:36.840956065 +0000 +diff -NBaur gdb-8.2.1/gdb/osabi.c gdb-8.2.1-apple/gdb/osabi.c +--- gdb-8.2.1/gdb/osabi.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/osabi.c 2019-02-19 17:15:22.104618045 +0000 @@ -80,6 +80,7 @@ { "LynxOS178", NULL }, { "Newlib", NULL }, @@ -224,9 +236,45 @@ diff -NBaur gdb-8.2/gdb/osabi.c gdb-8.2-3ds/gdb/osabi.c { "", NULL } }; -diff -NBaur gdb-8.2/gdb/syscalls/arm-3ds.xml gdb-8.2-3ds/gdb/syscalls/arm-3ds.xml ---- gdb-8.2/gdb/syscalls/arm-3ds.xml 1970-01-01 01:00:00.000000000 +0100 -+++ gdb-8.2-3ds/gdb/syscalls/arm-3ds.xml 2018-11-15 22:42:36.840956065 +0000 +diff -NBaur gdb-8.2.1/gdb/probe.c gdb-8.2.1-apple/gdb/probe.c +--- gdb-8.2.1/gdb/probe.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/probe.c 2019-02-19 17:31:05.266578008 +0000 +@@ -60,7 +60,7 @@ + + /* Static operations associated with a generic probe. */ + +-const any_static_probe_ops any_static_probe_ops; ++const any_static_probe_ops any_static_probe_ops = {}; + + /* A helper for parse_probes that decodes a probe specification in + SEARCH_PSPACE. It appends matching SALs to RESULT. */ +diff -NBaur gdb-8.2.1/gdb/record-btrace.c gdb-8.2.1-apple/gdb/record-btrace.c +--- gdb-8.2.1/gdb/record-btrace.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/record-btrace.c 2019-02-19 17:31:33.301731324 +0000 +@@ -144,7 +144,7 @@ + + /* Token associated with a new-thread observer enabling branch tracing + for the new thread. */ +-static const gdb::observers::token record_btrace_thread_observer_token; ++static const gdb::observers::token record_btrace_thread_observer_token = {}; + + /* Memory access types used in set/show record btrace replay-memory-access. */ + static const char replay_memory_access_read_only[] = "read-only"; +diff -NBaur gdb-8.2.1/gdb/stap-probe.c gdb-8.2.1-apple/gdb/stap-probe.c +--- gdb-8.2.1/gdb/stap-probe.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/stap-probe.c 2019-02-19 17:29:35.744567941 +0000 +@@ -119,7 +119,7 @@ + + /* SystemTap static_probe_ops. */ + +-const stap_static_probe_ops stap_static_probe_ops; ++const stap_static_probe_ops stap_static_probe_ops = {}; + + class stap_probe : public probe + { +diff -NBaur gdb-8.2.1/gdb/syscalls/arm-3ds.xml gdb-8.2.1-apple/gdb/syscalls/arm-3ds.xml +--- gdb-8.2.1/gdb/syscalls/arm-3ds.xml 1970-01-01 01:00:00.000000000 +0100 ++++ gdb-8.2.1-apple/gdb/syscalls/arm-3ds.xml 2019-02-19 17:15:22.104618045 +0000 @@ -0,0 +1,159 @@ + + @@ -387,3 +435,15 @@ diff -NBaur gdb-8.2/gdb/syscalls/arm-3ds.xml gdb-8.2-3ds/gdb/syscalls/arm-3ds.xm + + + +diff -NBaur gdb-8.2.1/gdb/tui/tui-hooks.c gdb-8.2.1-apple/gdb/tui/tui-hooks.c +--- gdb-8.2.1/gdb/tui/tui-hooks.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/tui/tui-hooks.c 2019-02-19 17:28:53.178460364 +0000 +@@ -205,7 +205,7 @@ + + /* Token associated with observers registered while TUI hooks are + installed. */ +-static const gdb::observers::token tui_observers_token; ++static const gdb::observers::token tui_observers_token = {}; + + /* Attach or detach a single observer, according to ATTACH. */ + From c6675ab0079afe74a317389b8d5bddd2fb8dd1a2 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 20 Feb 2019 16:16:55 +0000 Subject: [PATCH 070/280] devkitARM: update newlib to 3.1.0 --- ...{newlib-3.0.0.patch => newlib-3.1.0.patch} | 58 +++++++++---------- select_toolchain.sh | 2 +- 2 files changed, 29 insertions(+), 31 deletions(-) rename dkarm-eabi/patches/{newlib-3.0.0.patch => newlib-3.1.0.patch} (99%) diff --git a/dkarm-eabi/patches/newlib-3.0.0.patch b/dkarm-eabi/patches/newlib-3.1.0.patch similarity index 99% rename from dkarm-eabi/patches/newlib-3.0.0.patch rename to dkarm-eabi/patches/newlib-3.1.0.patch index 8c2315c..b6454d1 100644 --- a/dkarm-eabi/patches/newlib-3.0.0.patch +++ b/dkarm-eabi/patches/newlib-3.1.0.patch @@ -1,8 +1,8 @@ diff --git a/libgloss/configure b/libgloss/configure -index aa6f8f834..0e8579890 100755 +index 1a4033dce..ba7aea7b0 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -2594,6 +2594,8 @@ if test "${config_libnosys}" = "true"; then +@@ -2599,6 +2599,8 @@ if test "${config_libnosys}" = "true"; then fi @@ -12,7 +12,7 @@ index aa6f8f834..0e8579890 100755 ac_config_commands="$ac_config_commands depfiles" diff --git a/libgloss/configure.in b/libgloss/configure.in -index 6da164352..f18f17447 100644 +index 41843eed1..dc0e2a5fd 100644 --- a/libgloss/configure.in +++ b/libgloss/configure.in @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. @@ -23,7 +23,7 @@ index 6da164352..f18f17447 100644 if test "${enable_shared}" = "yes" ; then echo "Shared libraries not supported for cross compiling, ignored" -@@ -187,6 +188,7 @@ dnl fi +@@ -190,6 +191,7 @@ dnl fi if test "${config_libnosys}" = "true"; then AC_CONFIG_SUBDIRS([libnosys]) fi @@ -7404,10 +7404,10 @@ index 000000000..61de918bc + return ret; +} diff --git a/newlib/configure.host b/newlib/configure.host -index eb645868b..9cb69fde9 100644 +index 6c49cb750..6a5e1c78d 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -631,6 +631,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -666,6 +666,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID syscall_dir=syscalls default_newlib_io_long_long="yes" ;; @@ -7423,7 +7423,7 @@ index eb645868b..9cb69fde9 100644 syscall_dir=syscalls ;; diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h -index cbc0fa989..10960f912 100644 +index 164d95bca..083e48758 100644 --- a/newlib/libc/include/stdio.h +++ b/newlib/libc/include/stdio.h @@ -233,7 +233,7 @@ int fsetpos (FILE *, const _fpos_t *); @@ -7436,7 +7436,7 @@ index cbc0fa989..10960f912 100644 void clearerr (FILE *); int feof (FILE *); diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 2082dfdb1..e535f189b 100644 +index 49b62ebf6..d84ffaa59 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h @@ -4,6 +4,9 @@ @@ -7516,7 +7516,7 @@ index a3fb5c02c..5debd1525 100644 + +#endif // _dirent_h_ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 2900b332f..6efb54eb3 100644 +index f28dd071b..96980676d 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h @@ -330,6 +330,9 @@ extern "C" { @@ -7531,7 +7531,7 @@ index 2900b332f..6efb54eb3 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..dfed4107e +index 000000000..c190fa37d --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h @@ -0,0 +1,112 @@ @@ -7547,7 +7547,7 @@ index 000000000..dfed4107e +#include +#include +#include -+#include ++#include + +enum { + STD_IN, @@ -7648,7 +7648,7 @@ index 000000000..dfed4107e +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 1ef226194..ce3721a14 100644 +index 6e55e1c1f..6e0c1c9cf 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -416,6 +416,8 @@ struct _reent @@ -7659,8 +7659,8 @@ index 1ef226194..ce3721a14 100644 + void *deviceData; }; - extern const struct __sFILE_fake __sf_fake_stdin; -@@ -647,6 +649,7 @@ struct _reent + #ifdef _REENT_GLOBAL_STDIO_STREAMS +@@ -686,6 +688,7 @@ struct _reent # ifndef _REENT_GLOBAL_STDIO_STREAMS __FILE __sf[3]; /* first three file descriptors */ # endif @@ -7752,10 +7752,10 @@ index 5e937f103..635a7a6b8 100644 }; #endif diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index baa5451a6..a11f89473 100644 +index 4c343e462..c04493460 100644 --- a/newlib/libc/locale/locale.c +++ b/newlib/libc/locale/locale.c -@@ -91,7 +91,7 @@ beginning with <<"LC_">>. +@@ -92,7 +92,7 @@ beginning with <<"LC_">>. <> returns a pointer to a structure (also defined in `<>') describing the locale-specific conventions currently @@ -7764,7 +7764,7 @@ index baa5451a6..a11f89473 100644 <<_localeconv_r>> and <<_setlocale_r>> are reentrant versions of <> and <> respectively. The extra argument -@@ -165,15 +165,18 @@ No supporting OS subroutines are required. +@@ -166,15 +166,18 @@ No supporting OS subroutines are required. #include "../ctype/ctype_.h" #include "../stdlib/local.h" @@ -7783,7 +7783,7 @@ index baa5451a6..a11f89473 100644 #ifdef _MB_CAPABLE /* * Category names for getenv() -@@ -193,7 +196,11 @@ static char *categories[_LC_LAST] = { +@@ -194,7 +197,11 @@ static char *categories[_LC_LAST] = { * Default locale per POSIX. Can be overridden on a per-target base. */ #ifndef DEFAULT_LOCALE @@ -7796,7 +7796,7 @@ index baa5451a6..a11f89473 100644 #endif #ifdef _MB_CAPABLE -@@ -206,8 +213,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; +@@ -207,8 +214,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; const struct __locale_t __C_locale = { { "C", "C", "C", "C", "C", "C", "C", }, @@ -7810,7 +7810,7 @@ index baa5451a6..a11f89473 100644 0, DEFAULT_CTYPE_PTR, { -@@ -218,9 +230,15 @@ const struct __locale_t __C_locale = +@@ -219,9 +231,15 @@ const struct __locale_t __C_locale = CHAR_MAX, CHAR_MAX }, #ifndef __HAVE_LOCALE_INFO__ @@ -7826,7 +7826,7 @@ index baa5451a6..a11f89473 100644 #else /* __HAVE_LOCALE_INFO__ */ { { NULL, NULL }, /* LC_ALL */ -@@ -239,10 +257,11 @@ const struct __locale_t __C_locale = +@@ -240,10 +258,11 @@ const struct __locale_t __C_locale = }; #endif /* _MB_CAPABLE */ @@ -7839,7 +7839,7 @@ index baa5451a6..a11f89473 100644 __utf8_wctomb, __utf8_mbtowc, #else -@@ -259,9 +278,15 @@ struct __locale_t __global_locale = +@@ -260,9 +279,15 @@ struct __locale_t __global_locale = CHAR_MAX, CHAR_MAX }, #ifndef __HAVE_LOCALE_INFO__ @@ -7855,7 +7855,7 @@ index baa5451a6..a11f89473 100644 #else /* __HAVE_LOCALE_INFO__ */ { { NULL, NULL }, /* LC_ALL */ -@@ -295,7 +320,7 @@ _setlocale_r (struct _reent *p, +@@ -296,7 +321,7 @@ _setlocale_r (struct _reent *p, { #ifndef _MB_CAPABLE if (locale) @@ -7864,7 +7864,7 @@ index baa5451a6..a11f89473 100644 if (strcmp (locale, "POSIX") && strcmp (locale, "C") && strcmp (locale, "")) return NULL; -@@ -982,6 +1007,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) +@@ -990,6 +1015,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) const char * __locale_ctype_ptr (void) @@ -7932,17 +7932,15 @@ index d9dbcd5c3..43712f813 100644 diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c new file mode 100644 -index 000000000..3acc9e094 +index 000000000..f5a85c3a8 --- /dev/null +++ b/newlib/libc/machine/arm/sync_synchronize.c -@@ -0,0 +1,10 @@ +@@ -0,0 +1,8 @@ +#if __ARM_ARCH < 6 +#include +void __attribute__((weak)) +__sync_synchronize (void) +{ -+ __warn_references (__sync_synchronize, -+ "legacy compatible __sync_synchronize used. Not suitable for multi-threaded applications"); + return; +} +#endif @@ -8093,7 +8091,7 @@ index c4bf2dbe3..d756df37d 100644 if (ch == 'S' || (flags & LONGINT)) { mbstate_t ps; diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index b97235559..298f68a9c 100644 +index 9c38eebf4..fbc8d877d 100644 --- a/newlib/libc/stdio/vfscanf.c +++ b/newlib/libc/stdio/vfscanf.c @@ -74,6 +74,8 @@ These are GNU extensions. @@ -8120,7 +8118,7 @@ index 980b31e3b..722be905e 100644 #ifdef INTEGER_ONLY diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index c3470a15c..626f13723 100644 +index 0464b0837..435fc0142 100644 --- a/newlib/libc/stdio/vfwscanf.c +++ b/newlib/libc/stdio/vfwscanf.c @@ -74,6 +74,9 @@ PORTABILITY diff --git a/select_toolchain.sh b/select_toolchain.sh index 847982b..e90374a 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -32,7 +32,7 @@ case "$VERSION" in "1" ) GCC_VER=8.2.0 BINUTILS_VER=2.32 - NEWLIB_VER=3.0.0 + NEWLIB_VER=3.1.0 GDB_VER=8.2.1 basedir='dkarm-eabi' package=devkitARM From 223bc0823da01f18bb3ec4867feb5603df6e1f99 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 20 Feb 2019 16:21:06 +0000 Subject: [PATCH 071/280] now building devkitARM r51 --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 55cd473..d751381 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,6 +1,6 @@ #!/bin/bash #--------------------------------------------------------------------------------- -# devkitARM release 50 +# devkitARM release 51 # devkitPPC release 33 # devkitA64 release 12 #--------------------------------------------------------------------------------- From 43415d430a46b9c250cbfce4492f111f22713afc Mon Sep 17 00:00:00 2001 From: Eix Date: Wed, 13 Mar 2019 10:28:04 +0900 Subject: [PATCH 072/280] there was an extra unneeded space, it was bothering me --- README.TXT | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.TXT b/README.TXT index 9156b02..0f34093 100644 --- a/README.TXT +++ b/README.TXT @@ -39,7 +39,7 @@ http://www.zlib.net http://www.libusb.org http://expat.sourceforge.net/ -sudo apt-get install libfreeimage-dev zlib1g-dev libusb-dev libudev-dev libexpat1-dev +sudo apt-get install libfreeimage-dev zlib1g-dev libusb-dev libudev-dev libexpat1-dev Building gxtexconv for cube/wii needs GL/gl.h which can be obtained with From 58b9db7650d9e4e1d6c0088c5233c43e6ad6d855 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 14 Mar 2019 12:59:58 +0000 Subject: [PATCH 073/280] devkitARM: update to gcc 8.3.0 --- build-devkit.sh | 2 +- dkarm-eabi/patches/{gcc-8.2.0.patch => gcc-8.3.0.patch} | 4 ++-- dkarm-eabi/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) rename dkarm-eabi/patches/{gcc-8.2.0.patch => gcc-8.3.0.patch} (99%) diff --git a/build-devkit.sh b/build-devkit.sh index d751381..f637f58 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,6 +1,6 @@ #!/bin/bash #--------------------------------------------------------------------------------- -# devkitARM release 51 +# devkitARM release 52 # devkitPPC release 33 # devkitA64 release 12 #--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/patches/gcc-8.2.0.patch b/dkarm-eabi/patches/gcc-8.3.0.patch similarity index 99% rename from dkarm-eabi/patches/gcc-8.2.0.patch rename to dkarm-eabi/patches/gcc-8.3.0.patch index 1c1e787..e6bfc06 100644 --- a/dkarm-eabi/patches/gcc-8.2.0.patch +++ b/dkarm-eabi/patches/gcc-8.3.0.patch @@ -1,8 +1,8 @@ diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in -index 545321b0bbe..63ed77af8fd 100644 +index ba194a80229..12e023c3728 100644 --- a/gcc/config/arm/arm-cpus.in +++ b/gcc/config/arm/arm-cpus.in -@@ -395,7 +395,7 @@ begin arch armv6k +@@ -401,7 +401,7 @@ begin arch armv6k tune for mpcore tune flags CO_PROC base 6K diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index dc5049b..5576f9f 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -64,7 +64,7 @@ then --prefix=$prefix \ --enable-lto\ --with-system-zlib \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 51" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 52" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } diff --git a/select_toolchain.sh b/select_toolchain.sh index e90374a..6874254 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,7 +30,7 @@ done case "$VERSION" in "1" ) - GCC_VER=8.2.0 + GCC_VER=8.3.0 BINUTILS_VER=2.32 NEWLIB_VER=3.1.0 GDB_VER=8.2.1 From 5ddee95920f17490752af087f5b018ff6230e19b Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 15 Mar 2019 02:20:26 +0000 Subject: [PATCH 074/280] add latest consoles to lists --- select_toolchain.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/select_toolchain.sh b/select_toolchain.sh index 6874254..0e914a6 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -17,8 +17,8 @@ do echo echo "Please select the toolchain you require" echo - echo "1: devkitARM (gba gp32 ds)" - echo "2: devkitPPC (gamecube wii)" + echo "1: devkitARM (gba gp32 ds 3ds)" + echo "2: devkitPPC (gamecube wii wii-u)" echo "3: devkitA64 (switch)" read VERSION From fe39e87d88df36082a4189c5c7d373899e268b1a Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 17 Mar 2019 14:22:11 +0000 Subject: [PATCH 075/280] devkitPPC: update gcc to 8.3.0 --- build-devkit.sh | 2 +- .../{gcc-8.2.0.patch => gcc-8.3.0.patch} | 67 ++++++++++++++----- dkppc/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 52 insertions(+), 21 deletions(-) rename dkppc/patches/{gcc-8.2.0.patch => gcc-8.3.0.patch} (94%) diff --git a/build-devkit.sh b/build-devkit.sh index f637f58..1d54f90 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,7 +1,7 @@ #!/bin/bash #--------------------------------------------------------------------------------- # devkitARM release 52 -# devkitPPC release 33 +# devkitPPC release 35 # devkitA64 release 12 #--------------------------------------------------------------------------------- diff --git a/dkppc/patches/gcc-8.2.0.patch b/dkppc/patches/gcc-8.3.0.patch similarity index 94% rename from dkppc/patches/gcc-8.2.0.patch rename to dkppc/patches/gcc-8.3.0.patch index 50ca2fa..f02e38b 100644 --- a/dkppc/patches/gcc-8.2.0.patch +++ b/dkppc/patches/gcc-8.3.0.patch @@ -1,5 +1,5 @@ diff --git a/config/gthr.m4 b/config/gthr.m4 -index 7b29f1f3327..814104f32a2 100644 +index 7b29f1f..814104f 100644 --- a/config/gthr.m4 +++ b/config/gthr.m4 @@ -12,6 +12,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER], @@ -11,10 +11,10 @@ index 7b29f1f3327..814104f32a2 100644 lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; diff --git a/gcc/config.gcc b/gcc/config.gcc -index 532c33f4c2b..bb87330bbbe 100644 +index 7af8e02..dc58cab 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc -@@ -2461,7 +2461,7 @@ powerpc-xilinx-eabi*) +@@ -2464,7 +2464,7 @@ powerpc-xilinx-eabi*) use_gcc_stdint=wrap ;; powerpc-*-eabi*) @@ -24,7 +24,7 @@ index 532c33f4c2b..bb87330bbbe 100644 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" use_gcc_stdint=wrap diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h -index f46e797d610..fd39e64c38d 100644 +index f46e797..fd39e64 100644 --- a/gcc/config/newlib-stdint.h +++ b/gcc/config/newlib-stdint.h @@ -25,7 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -37,7 +37,7 @@ index f46e797d610..fd39e64c38d 100644 #define SIG_ATOMIC_TYPE "int" diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h -index b83b304e3eb..b85359edcfc 100644 +index b83b304..b85359e 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -212,6 +212,7 @@ @@ -57,8 +57,39 @@ index b83b304e3eb..b85359edcfc 100644 #ifndef CC1_CPU_SPEC #ifdef HAVE_LOCAL_CPU_DETECT +diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md +index 4d69c1d..af2d7b5 100644 +--- a/gcc/config/rs6000/rs6000.md ++++ b/gcc/config/rs6000/rs6000.md +@@ -5625,19 +5625,19 @@ + tmp = gen_reg_rtx (DImode); + + emit_insn (gen_fctiwz_ (tmp, src)); +- if (MEM_P (dest)) ++ if (TARGET_POWERPC64 && (TARGET_MFPGPR || TARGET_DIRECT_MOVE)) + { +- dest = rs6000_address_for_fpconvert (dest); +- emit_insn (gen_stfiwx (dest, tmp)); ++ dest = gen_lowpart (DImode, dest); ++ emit_move_insn (dest, tmp); + DONE; + } +- else if (TARGET_POWERPC64 && (TARGET_MFPGPR || TARGET_DIRECT_MOVE)) ++ else if (MEM_P (dest) && MEM_ALIGN (dest) >= 32) + { +- dest = gen_lowpart (DImode, dest); +- emit_move_insn (dest, tmp); ++ dest = rs6000_address_for_fpconvert (dest); ++ emit_insn (gen_stfiwx (dest, tmp)); + DONE; + } +- else ++ else + { + rtx stack = rs6000_allocate_stack_temp (SImode, false, true); + emit_insn (gen_stfiwx (stack, tmp)); diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h -index bb19d0dcd41..74d1e474432 100644 +index bb19d0d..74d1e47 100644 --- a/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/sysv4.h @@ -565,7 +565,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) @@ -216,7 +247,7 @@ index bb19d0dcd41..74d1e474432 100644 { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt -index 34fea0ddd08..084a8ae435e 100644 +index 34fea0d..084a8ae 100644 --- a/gcc/config/rs6000/sysv4.opt +++ b/gcc/config/rs6000/sysv4.opt @@ -124,6 +124,26 @@ mads @@ -247,7 +278,7 @@ index 34fea0ddd08..084a8ae435e 100644 Target RejectNegative Link with libyk.a, libc.a and crt0.o. diff --git a/gcc/configure b/gcc/configure -index 6121e163259..6584112e6a1 100755 +index 6121e16..6584112 100755 --- a/gcc/configure +++ b/gcc/configure @@ -11692,7 +11692,7 @@ case ${enable_threads} in @@ -260,7 +291,7 @@ index 6121e163259..6584112e6a1 100755 target_thread_file=${enable_threads} ;; diff --git a/gcc/configure.ac b/gcc/configure.ac -index b066cc609e1..c42b3ef5fc6 100644 +index b066cc6..c42b3ef 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1611,7 +1611,7 @@ case ${enable_threads} in @@ -273,7 +304,7 @@ index b066cc609e1..c42b3ef5fc6 100644 target_thread_file=${enable_threads} ;; diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S -index ba2b2623301..8d866107142 100644 +index ba2b262..8d86610 100644 --- a/libgcc/config/rs6000/crtrestvr.S +++ b/libgcc/config/rs6000/crtrestvr.S @@ -24,7 +24,7 @@ @@ -291,7 +322,7 @@ index ba2b2623301..8d866107142 100644 #endif +#endif diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S -index 077e33f34d5..b7be68b710f 100644 +index 077e33f..b7be68b 100644 --- a/libgcc/config/rs6000/crtsavevr.S +++ b/libgcc/config/rs6000/crtsavevr.S @@ -24,7 +24,7 @@ @@ -310,7 +341,7 @@ index 077e33f34d5..b7be68b710f 100644 +#endif diff --git a/libgcc/config/rs6000/gthr-dkp.c b/libgcc/config/rs6000/gthr-dkp.c new file mode 100644 -index 00000000000..94d6ba94ec0 +index 0000000..94d6ba9 --- /dev/null +++ b/libgcc/config/rs6000/gthr-dkp.c @@ -0,0 +1,349 @@ @@ -665,7 +696,7 @@ index 00000000000..94d6ba94ec0 +} diff --git a/libgcc/config/rs6000/gthr-dkp.h b/libgcc/config/rs6000/gthr-dkp.h new file mode 100644 -index 00000000000..281c19d2a60 +index 0000000..281c19d --- /dev/null +++ b/libgcc/config/rs6000/gthr-dkp.h @@ -0,0 +1,185 @@ @@ -855,7 +886,7 @@ index 00000000000..281c19d2a60 + +#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */ diff --git a/libgcc/config/rs6000/t-ppccomm b/libgcc/config/rs6000/t-ppccomm -index fb812d3801f..7f6669d530f 100644 +index fb812d3..7f6669d 100644 --- a/libgcc/config/rs6000/t-ppccomm +++ b/libgcc/config/rs6000/t-ppccomm @@ -1,4 +1,5 @@ @@ -865,7 +896,7 @@ index fb812d3801f..7f6669d530f 100644 # This can't end up in shared libgcc diff --git a/libgcc/configure b/libgcc/configure -index b2f3f870844..c6f93f8b3ac 100644 +index b2f3f87..c6f93f8 100644 --- a/libgcc/configure +++ b/libgcc/configure @@ -5442,6 +5442,7 @@ tm_file="${tm_file_}" @@ -877,7 +908,7 @@ index b2f3f870844..c6f93f8b3ac 100644 lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 5e894455e16..f2347455de0 100644 +index 5e89445..f234745 100644 --- a/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c @@ -47,6 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -889,10 +920,10 @@ index 5e894455e16..f2347455de0 100644 /* FIXME: Including auto-host is incorrect, but until we have identified the set of defines that need to go into auto-target.h, diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index fbc9daeb195..90c15adda62 100755 +index 5535bfa..9f86d5d 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure -@@ -15178,6 +15178,7 @@ $as_echo "$target_thread_file" >&6; } +@@ -15180,6 +15180,7 @@ $as_echo "$target_thread_file" >&6; } case $target_thread_file in aix) thread_header=config/rs6000/gthr-aix.h ;; diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index dc5e919..490d880 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -97,7 +97,7 @@ then --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix\ --with-system-zlib\ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 34" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 35" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ diff --git a/select_toolchain.sh b/select_toolchain.sh index 0e914a6..a7e7e81 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -40,7 +40,7 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - GCC_VER=8.2.0 + GCC_VER=8.3.0 BINUTILS_VER=2.32 MN_BINUTILS_VER=2.17 NEWLIB_VER=3.0.0 From d0d158bd8082d644b8debfe3e03f241a2b0097a3 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 17 Mar 2019 14:23:05 +0000 Subject: [PATCH 076/280] devkitPPC: update newlib to 3.1.0 --- ...{newlib-3.0.0.patch => newlib-3.1.0.patch} | 68 +++++++++++++------ select_toolchain.sh | 2 +- 2 files changed, 49 insertions(+), 21 deletions(-) rename dkppc/patches/{newlib-3.0.0.patch => newlib-3.1.0.patch} (99%) diff --git a/dkppc/patches/newlib-3.0.0.patch b/dkppc/patches/newlib-3.1.0.patch similarity index 99% rename from dkppc/patches/newlib-3.0.0.patch rename to dkppc/patches/newlib-3.1.0.patch index 414c798..d76d87b 100644 --- a/dkppc/patches/newlib-3.0.0.patch +++ b/dkppc/patches/newlib-3.1.0.patch @@ -1,8 +1,8 @@ diff --git a/libgloss/configure b/libgloss/configure -index aa6f8f834..0e8579890 100755 +index 1a4033dce..ba7aea7b0 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -2594,6 +2594,8 @@ if test "${config_libnosys}" = "true"; then +@@ -2599,6 +2599,8 @@ if test "${config_libnosys}" = "true"; then fi @@ -12,7 +12,7 @@ index aa6f8f834..0e8579890 100755 ac_config_commands="$ac_config_commands depfiles" diff --git a/libgloss/configure.in b/libgloss/configure.in -index 6da164352..0375cabbc 100644 +index 41843eed1..689e8b3ad 100644 --- a/libgloss/configure.in +++ b/libgloss/configure.in @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. @@ -33,7 +33,7 @@ index 6da164352..0375cabbc 100644 case "${target}" in aarch64*-*-*) AC_CONFIG_SUBDIRS(aarch64) -@@ -188,6 +192,10 @@ if test "${config_libnosys}" = "true"; then +@@ -191,6 +195,10 @@ if test "${config_libnosys}" = "true"; then AC_CONFIG_SUBDIRS([libnosys]) fi @@ -7389,10 +7389,10 @@ index 000000000..bd25d775d + exit ( main(__system_argv->argc,__system_argv->argv) ); +} diff --git a/newlib/configure.host b/newlib/configure.host -index eb645868b..b9a006453 100644 +index 6c49cb750..f30edc1a3 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -797,7 +797,12 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -832,7 +832,12 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID default_newlib_io_long_long="yes" newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" ;; @@ -7470,7 +7470,7 @@ index a3fb5c02c..adb8e1083 100644 + +#endif // _dirent_h_ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 2900b332f..6efb54eb3 100644 +index f28dd071b..96980676d 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h @@ -330,6 +330,9 @@ extern "C" { @@ -7598,7 +7598,7 @@ index 000000000..8b6d8da30 +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 1ef226194..ce3721a14 100644 +index 6e55e1c1f..6e0c1c9cf 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -416,6 +416,8 @@ struct _reent @@ -7609,8 +7609,8 @@ index 1ef226194..ce3721a14 100644 + void *deviceData; }; - extern const struct __sFILE_fake __sf_fake_stdin; -@@ -647,6 +649,7 @@ struct _reent + #ifdef _REENT_GLOBAL_STDIO_STREAMS +@@ -686,6 +688,7 @@ struct _reent # ifndef _REENT_GLOBAL_STDIO_STREAMS __FILE __sf[3]; /* first three file descriptors */ # endif @@ -7721,10 +7721,10 @@ index 5e937f103..635a7a6b8 100644 }; #endif diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index baa5451a6..236746f54 100644 +index 4c343e462..835b3a712 100644 --- a/newlib/libc/locale/locale.c +++ b/newlib/libc/locale/locale.c -@@ -165,15 +165,18 @@ No supporting OS subroutines are required. +@@ -166,15 +166,18 @@ No supporting OS subroutines are required. #include "../ctype/ctype_.h" #include "../stdlib/local.h" @@ -7743,7 +7743,7 @@ index baa5451a6..236746f54 100644 #ifdef _MB_CAPABLE /* * Category names for getenv() -@@ -193,7 +196,11 @@ static char *categories[_LC_LAST] = { +@@ -194,7 +197,11 @@ static char *categories[_LC_LAST] = { * Default locale per POSIX. Can be overridden on a per-target base. */ #ifndef DEFAULT_LOCALE @@ -7756,7 +7756,7 @@ index baa5451a6..236746f54 100644 #endif #ifdef _MB_CAPABLE -@@ -206,8 +213,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; +@@ -207,8 +214,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; const struct __locale_t __C_locale = { { "C", "C", "C", "C", "C", "C", "C", }, @@ -7770,7 +7770,7 @@ index baa5451a6..236746f54 100644 0, DEFAULT_CTYPE_PTR, { -@@ -218,9 +230,15 @@ const struct __locale_t __C_locale = +@@ -219,9 +231,15 @@ const struct __locale_t __C_locale = CHAR_MAX, CHAR_MAX }, #ifndef __HAVE_LOCALE_INFO__ @@ -7786,7 +7786,7 @@ index baa5451a6..236746f54 100644 #else /* __HAVE_LOCALE_INFO__ */ { { NULL, NULL }, /* LC_ALL */ -@@ -239,10 +257,11 @@ const struct __locale_t __C_locale = +@@ -240,10 +258,11 @@ const struct __locale_t __C_locale = }; #endif /* _MB_CAPABLE */ @@ -7799,7 +7799,7 @@ index baa5451a6..236746f54 100644 __utf8_wctomb, __utf8_mbtowc, #else -@@ -259,9 +278,15 @@ struct __locale_t __global_locale = +@@ -260,9 +279,15 @@ struct __locale_t __global_locale = CHAR_MAX, CHAR_MAX }, #ifndef __HAVE_LOCALE_INFO__ @@ -7815,7 +7815,7 @@ index baa5451a6..236746f54 100644 #else /* __HAVE_LOCALE_INFO__ */ { { NULL, NULL }, /* LC_ALL */ -@@ -982,6 +1007,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) +@@ -990,6 +1015,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) const char * __locale_ctype_ptr (void) @@ -7823,6 +7823,34 @@ index baa5451a6..236746f54 100644 { return __get_current_locale ()->ctype_ptr; } +diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h +index a0c80843a..efabdcfc4 100644 +--- a/newlib/libc/locale/setlocale.h ++++ b/newlib/libc/locale/setlocale.h +@@ -217,11 +217,7 @@ __get_global_locale () + _ELIDABLE_INLINE struct __locale_t * + __get_locale_r (struct _reent *r) + { +-#ifdef __HAVE_LOCALE_INFO__ + return r->_locale; +-#else +- return __get_global_locale(); +-#endif + } + + /* In POSIX terms the current locale is the locale used by all functions +@@ -231,11 +227,7 @@ __get_locale_r (struct _reent *r) + _ELIDABLE_INLINE struct __locale_t * + __get_current_locale (void) + { +-#ifdef __HAVE_LOCALE_INFO__ + return _REENT->_locale ?: __get_global_locale (); +-#else +- return __get_global_locale(); +-#endif + } + + /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE diff --git a/newlib/libc/machine/powerpc/Makefile.am b/newlib/libc/machine/powerpc/Makefile.am index e86afdf1c..007bd1567 100644 --- a/newlib/libc/machine/powerpc/Makefile.am @@ -8024,10 +8052,10 @@ index 000000000..04ebd1ee0 +#endif /* _NEWLIB_STDIO_H */ + diff --git a/newlib/libc/misc/init.c b/newlib/libc/misc/init.c -index c85d6020f..1beb783b8 100644 +index 95f1a7422..c797d2e64 100644 --- a/newlib/libc/misc/init.c +++ b/newlib/libc/misc/init.c -@@ -40,4 +40,8 @@ __libc_init_array (void) +@@ -44,4 +44,8 @@ __libc_init_array (void) for (i = 0; i < count; i++) __init_array_start[i] (); } diff --git a/select_toolchain.sh b/select_toolchain.sh index a7e7e81..ec87d26 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -43,7 +43,7 @@ case "$VERSION" in GCC_VER=8.3.0 BINUTILS_VER=2.32 MN_BINUTILS_VER=2.17 - NEWLIB_VER=3.0.0 + NEWLIB_VER=3.1.0 GDB_VER=8.2 basedir='dkppc' package=devkitPPC From d604cafce3d4ea4ece8f68376d567dcf617b799c Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 17 Mar 2019 14:24:34 +0000 Subject: [PATCH 077/280] devkitPPC: update gdb to 8.2.1 --- dkppc/patches/gdb-8.2.1.patch | 60 +++++++++++++++++++++++++++++++++++ select_toolchain.sh | 2 +- 2 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 dkppc/patches/gdb-8.2.1.patch diff --git a/dkppc/patches/gdb-8.2.1.patch b/dkppc/patches/gdb-8.2.1.patch new file mode 100644 index 0000000..c045e44 --- /dev/null +++ b/dkppc/patches/gdb-8.2.1.patch @@ -0,0 +1,60 @@ +diff -NBaur gdb-8.2.1/gdb/dtrace-probe.c gdb-8.2.1-apple/gdb/dtrace-probe.c +--- gdb-8.2.1/gdb/dtrace-probe.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/dtrace-probe.c 2019-02-19 17:30:16.449175937 +0000 +@@ -100,7 +100,7 @@ + + /* DTrace static_probe_ops. */ + +-const dtrace_static_probe_ops dtrace_static_probe_ops; ++const dtrace_static_probe_ops dtrace_static_probe_ops = {}; + + /* The following structure represents a dtrace probe. */ + +diff -NBaur gdb-8.2.1/gdb/probe.c gdb-8.2.1-apple/gdb/probe.c +--- gdb-8.2.1/gdb/probe.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/probe.c 2019-02-19 17:31:05.266578008 +0000 +@@ -60,7 +60,7 @@ + + /* Static operations associated with a generic probe. */ + +-const any_static_probe_ops any_static_probe_ops; ++const any_static_probe_ops any_static_probe_ops = {}; + + /* A helper for parse_probes that decodes a probe specification in + SEARCH_PSPACE. It appends matching SALs to RESULT. */ +diff -NBaur gdb-8.2.1/gdb/record-btrace.c gdb-8.2.1-apple/gdb/record-btrace.c +--- gdb-8.2.1/gdb/record-btrace.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/record-btrace.c 2019-02-19 17:31:33.301731324 +0000 +@@ -144,7 +144,7 @@ + + /* Token associated with a new-thread observer enabling branch tracing + for the new thread. */ +-static const gdb::observers::token record_btrace_thread_observer_token; ++static const gdb::observers::token record_btrace_thread_observer_token = {}; + + /* Memory access types used in set/show record btrace replay-memory-access. */ + static const char replay_memory_access_read_only[] = "read-only"; +diff -NBaur gdb-8.2.1/gdb/stap-probe.c gdb-8.2.1-apple/gdb/stap-probe.c +--- gdb-8.2.1/gdb/stap-probe.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/stap-probe.c 2019-02-19 17:29:35.744567941 +0000 +@@ -119,7 +119,7 @@ + + /* SystemTap static_probe_ops. */ + +-const stap_static_probe_ops stap_static_probe_ops; ++const stap_static_probe_ops stap_static_probe_ops = {}; + + class stap_probe : public probe + { +diff -NBaur gdb-8.2.1/gdb/tui/tui-hooks.c gdb-8.2.1-apple/gdb/tui/tui-hooks.c +--- gdb-8.2.1/gdb/tui/tui-hooks.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/tui/tui-hooks.c 2019-02-19 17:28:53.178460364 +0000 +@@ -205,7 +205,7 @@ + + /* Token associated with observers registered while TUI hooks are + installed. */ +-static const gdb::observers::token tui_observers_token; ++static const gdb::observers::token tui_observers_token = {}; + + /* Attach or detach a single observer, according to ATTACH. */ + diff --git a/select_toolchain.sh b/select_toolchain.sh index ec87d26..1bd8c72 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -44,7 +44,7 @@ case "$VERSION" in BINUTILS_VER=2.32 MN_BINUTILS_VER=2.17 NEWLIB_VER=3.1.0 - GDB_VER=8.2 + GDB_VER=8.2.1 basedir='dkppc' package=devkitPPC target=powerpc-eabi From 383ebe76c86e7d87d28a625e5437586360bf2c21 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 7 Mar 2019 01:16:36 +0000 Subject: [PATCH 078/280] devkitA64: update binutils to 2.32 --- dka64/patches/binutils-2.32.patch | 352 ++++++++++++++++++++++++++++++ select_toolchain.sh | 2 +- 2 files changed, 353 insertions(+), 1 deletion(-) create mode 100644 dka64/patches/binutils-2.32.patch diff --git a/dka64/patches/binutils-2.32.patch b/dka64/patches/binutils-2.32.patch new file mode 100644 index 0000000..80b6c2e --- /dev/null +++ b/dka64/patches/binutils-2.32.patch @@ -0,0 +1,352 @@ +diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c +index faa27611d4..888af6bcd8 100644 +--- a/bfd/elfnn-aarch64.c ++++ b/bfd/elfnn-aarch64.c +@@ -2341,6 +2341,12 @@ enum elf_aarch64_stub_type + aarch64_stub_erratum_843419_veneer, + }; + ++/* Is an undefined weak symbol resolved to 0 ? */ ++#define UNDEFINED_WEAK_RESOLVED_TO_ZERO(INFO, EH) \ ++ ((EH)->root.root.type == bfd_link_hash_undefweak \ ++ && bfd_link_executable (INFO) \ ++ && !(INFO)->dynamic_undefined_weak) ++ + struct elf_aarch64_stub_hash_entry + { + /* Base hash table entry structure. */ +@@ -6436,11 +6442,13 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, + Elf_Internal_Sym *sym; + asection *sec; + struct elf_link_hash_entry *h; ++ struct elf_aarch64_link_hash_entry *eh; + bfd_vma relocation; + bfd_reloc_status_type r; + arelent bfd_reloc; + char sym_type; + bfd_boolean unresolved_reloc = FALSE; ++ bfd_boolean resolved_to_zero = FALSE; + char *error_message = NULL; + + r_symndx = ELFNN_R_SYM (rel->r_info); +@@ -6576,6 +6584,10 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, + h, &unresolved_reloc, + save_addend, &addend, sym); + ++ eh = (struct elf_aarch64_link_hash_entry *) h; ++ resolved_to_zero = (eh != NULL ++ && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh)); ++ + switch (elfNN_aarch64_bfd_reloc_from_type (input_bfd, r_type)) + { + case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC: +@@ -6599,7 +6611,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, + need_relocs = + (!bfd_link_executable (info) || indx != 0) && + (h == NULL +- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak); + + BFD_ASSERT (globals->root.srelgot != NULL); +@@ -6694,7 +6706,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, + need_relocs = + (!bfd_link_executable (info) || indx != 0) && + (h == NULL +- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak); + + BFD_ASSERT (globals->root.srelgot != NULL); +@@ -6743,7 +6755,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, + bfd_vma off = symbol_tlsdesc_got_offset (input_bfd, h, r_symndx); + + need_relocs = (h == NULL +- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak); + + BFD_ASSERT (globals->root.srelgot != NULL); +@@ -7086,6 +7098,26 @@ need_copy_relocation_p (struct elf_aarch64_link_hash_entry *eh) + return FALSE; + } + ++/* Remove undefined weak symbol from the dynamic symbol table if it ++ is resolved to 0. */ ++ ++extern bfd_boolean ++elfNN_aarch64_elf_fixup_symbol (struct bfd_link_info *, struct elf_link_hash_entry *); ++ ++bfd_boolean ++elfNN_aarch64_elf_fixup_symbol (struct bfd_link_info *info, ++ struct elf_link_hash_entry *h) ++{ ++ if (h->dynindx != -1 ++ && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, elf_aarch64_hash_entry (h))) ++ { ++ h->dynindx = -1; ++ _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr, ++ h->dynstr_index); ++ } ++ return TRUE; ++} ++ + /* Adjust a symbol defined by a dynamic object and referenced by a + regular object. The current definition is in some section of the + dynamic object, but we're not including those sections. We have to +@@ -8286,6 +8318,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + struct elf_aarch64_link_hash_table *htab; + struct elf_aarch64_link_hash_entry *eh; + struct elf_dyn_relocs *p; ++ bfd_boolean resolved_to_zero; + + /* An example of a bfd_link_hash_indirect symbol is versioned + symbol. For example: __gxx_personality_v0(bfd_link_hash_indirect) +@@ -8305,6 +8338,10 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + info = (struct bfd_link_info *) inf; + htab = elf_aarch64_hash_table (info); + ++ eh = (struct elf_aarch64_link_hash_entry *) h; ++ eh->tlsdesc_got_jump_table_offset = (bfd_vma) - 1; ++ resolved_to_zero = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh); ++ + /* Since STT_GNU_IFUNC symbol must go through PLT, we handle it + here if it is defined and referenced in a non-shared object. */ + if (h->type == STT_GNU_IFUNC +@@ -8314,7 +8351,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + { + /* Make sure this symbol is output as a dynamic symbol. + Undefined weak syms won't yet be marked as dynamic. */ +- if (h->dynindx == -1 && !h->forced_local ++ if (h->dynindx == -1 && !h->forced_local && !resolved_to_zero + && h->root.type == bfd_link_hash_undefweak) + { + if (!bfd_elf_link_record_dynamic_symbol (info, h)) +@@ -8348,6 +8385,11 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + of relaxing into these from the large model PLT entries. */ + s->size += PLT_SMALL_ENTRY_SIZE; + ++ /* There should be no PLT relocations against resolved undefined ++ weak symbols in the executable. */ ++ if (!resolved_to_zero) ++ { ++ + /* We also need to make an entry in the .got.plt section, which + will be placed in the .got section by the linker script. */ + htab->root.sgotplt->size += GOT_ENTRY_SIZE; +@@ -8370,6 +8412,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + + htab->root.srelplt->reloc_count++; + } ++ } + else + { + h->plt.offset = (bfd_vma) - 1; +@@ -8382,9 +8425,6 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + h->needs_plt = 0; + } + +- eh = (struct elf_aarch64_link_hash_entry *) h; +- eh->tlsdesc_got_jump_table_offset = (bfd_vma) - 1; +- + if (h->got.refcount > 0) + { + bfd_boolean dyn; +@@ -8396,7 +8436,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + + /* Make sure this symbol is output as a dynamic symbol. + Undefined weak syms won't yet be marked as dynamic. */ +- if (dyn && h->dynindx == -1 && !h->forced_local ++ if (dyn && h->dynindx == -1 && !h->forced_local && !resolved_to_zero + && h->root.type == bfd_link_hash_undefweak) + { + if (!bfd_elf_link_record_dynamic_symbol (info, h)) +@@ -8410,7 +8450,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + { + h->got.offset = htab->root.sgot->size; + htab->root.sgot->size += GOT_ENTRY_SIZE; +- if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ if (((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak) + && (bfd_link_pic (info) + || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h)) +@@ -8446,7 +8486,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + } + + indx = h && h->dynindx != -1 ? h->dynindx : 0; +- if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ if (((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak) + && (!bfd_link_executable (info) + || indx != 0 +@@ -8512,7 +8552,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + visibility. */ + if (eh->dyn_relocs != NULL && h->root.type == bfd_link_hash_undefweak) + { +- if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT ++ if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT || resolved_to_zero + || UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) + eh->dyn_relocs = NULL; + +@@ -8532,7 +8572,9 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + symbols which turn out to need copy relocs or are not + dynamic. */ + +- if (!h->non_got_ref ++ if (!(h->non_got_ref ++ || (h->root.type == bfd_link_hash_undefweak ++ && !resolved_to_zero)) + && ((h->def_dynamic + && !h->def_regular) + || (htab->root.dynamic_sections_created +@@ -8543,6 +8585,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + Undefined weak syms won't yet be marked as dynamic. */ + if (h->dynindx == -1 + && !h->forced_local ++ && !resolved_to_zero + && h->root.type == bfd_link_hash_undefweak + && !bfd_elf_link_record_dynamic_symbol (info, h)) + return FALSE; +@@ -9163,8 +9206,17 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd, + Elf_Internal_Sym *sym) + { + struct elf_aarch64_link_hash_table *htab; ++ struct elf_aarch64_link_hash_entry *eh; ++ bfd_boolean local_undefweak; + htab = elf_aarch64_hash_table (info); + ++ eh = (struct elf_aarch64_link_hash_entry *) h; ++ ++ /* We keep PLT/GOT entries without dynamic PLT/GOT relocations for ++ resolved undefined weak symbols in executable so that their ++ references have value 0 at run-time. */ ++ local_undefweak = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh); ++ + if (h->plt.offset != (bfd_vma) - 1) + { + asection *plt, *gotplt, *relplt; +@@ -9199,7 +9251,7 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd, + return FALSE; + + elfNN_aarch64_create_small_pltn_entry (h, htab, output_bfd, info); +- if (!h->def_regular) ++ if (!local_undefweak && !h->def_regular) + { + /* Mark the symbol as undefined, rather than as defined in + the .plt section. */ +@@ -9218,10 +9270,11 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd, + } + + if (h->got.offset != (bfd_vma) - 1 +- && elf_aarch64_hash_entry (h)->got_type == GOT_NORMAL ++ && elf_aarch64_hash_entry (h)->got_type == GOT_NORMAL + /* Undefined weak symbol in static PIE resolves to 0 without + any dynamic relocations. */ +- && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) ++ && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h) ++ && !local_undefweak) + { + Elf_Internal_Rela rela; + bfd_byte *loc; +@@ -9715,6 +9768,9 @@ const struct elf_size_info elfNN_aarch64_size_info = + #define elf_backend_init_index_section \ + _bfd_elf_init_2_index_sections + ++#define elf_backend_fixup_symbol \ ++ elfNN_aarch64_elf_fixup_symbol ++ + #define elf_backend_finish_dynamic_sections \ + elfNN_aarch64_finish_dynamic_sections + +diff --git a/ld/Makefile.am b/ld/Makefile.am +index c2c798b4fe..a0073d27fe 100644 +--- a/ld/Makefile.am ++++ b/ld/Makefile.am +@@ -1509,19 +1509,23 @@ ens32knbsd.c: $(srcdir)/emulparams/ns32knbsd.sh \ + $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} + + eaarch64elf.c: $(srcdir)/emulparams/aarch64elf.sh \ +- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ ++ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64elf32.c: $(srcdir)/emulparams/aarch64elf32.sh \ +- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ ++ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64elf.sh \ +- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ ++ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \ +- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ ++ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64cloudabi.c: $(srcdir)/emulparams/aarch64cloudabi.sh \ +diff --git a/ld/Makefile.in b/ld/Makefile.in +index fc687fc516..7d85865d92 100644 +--- a/ld/Makefile.in ++++ b/ld/Makefile.in +@@ -3114,18 +3114,22 @@ ens32knbsd.c: $(srcdir)/emulparams/ns32knbsd.sh \ + + eaarch64elf.c: $(srcdir)/emulparams/aarch64elf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64elf32.c: $(srcdir)/emulparams/aarch64elf32.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64elf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ ++ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + + eaarch64cloudabi.c: $(srcdir)/emulparams/aarch64cloudabi.sh \ +diff --git a/ld/emulparams/aarch64elf.sh b/ld/emulparams/aarch64elf.sh +index 4a59342722..2aa1ec7712 100644 +--- a/ld/emulparams/aarch64elf.sh ++++ b/ld/emulparams/aarch64elf.sh +@@ -1,3 +1,5 @@ ++. ${srcdir}/emulparams/dynamic_undefined_weak.sh ++ + ARCH=aarch64 + MACHINE= + NOP=0x1f2003d5 +diff --git a/ld/emulparams/aarch64elf32.sh b/ld/emulparams/aarch64elf32.sh +index 38bcd4bbb0..da0f411feb 100644 +--- a/ld/emulparams/aarch64elf32.sh ++++ b/ld/emulparams/aarch64elf32.sh +@@ -1,3 +1,5 @@ ++. ${srcdir}/emulparams/dynamic_undefined_weak.sh ++ + ARCH="aarch64:ilp32" + MACHINE= + NOP=0x1f2003d5 +diff --git a/ld/emultempl/aarch64elf.em b/ld/emultempl/aarch64elf.em +index 45e40b510c..916ef2086a 100644 +--- a/ld/emultempl/aarch64elf.em ++++ b/ld/emultempl/aarch64elf.em +@@ -380,7 +380,7 @@ PARSE_AND_LIST_LONGOPTS=' + { "no-apply-dynamic-relocs", no_argument, NULL, OPTION_NO_APPLY_DYNAMIC_RELOCS}, + ' + +-PARSE_AND_LIST_OPTIONS=' ++PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}' + fprintf (file, _(" --no-enum-size-warning Don'\''t warn about objects with incompatible\n" + " enum sizes\n")); + fprintf (file, _(" --no-wchar-size-warning Don'\''t warn about objects with incompatible\n" diff --git a/select_toolchain.sh b/select_toolchain.sh index 1bd8c72..d4b2076 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -52,7 +52,7 @@ case "$VERSION" in ;; "3" ) GCC_VER=8.2.0 - BINUTILS_VER=2.31.1 + BINUTILS_VER=2.32 NEWLIB_VER=3.0.0 GDB_VER=8.0 basedir='dka64' From 2c8ae62e8e92e3a4ec54bda796df5da3b8c7e5c8 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 7 Mar 2019 01:17:42 +0000 Subject: [PATCH 079/280] devkitA64: update gcc to 8.3.0 --- .../{gcc-8.2.0.patch => gcc-8.3.0.patch} | 122 +++++++++++++++++- select_toolchain.sh | 2 +- 2 files changed, 119 insertions(+), 5 deletions(-) rename dka64/patches/{gcc-8.2.0.patch => gcc-8.3.0.patch} (59%) diff --git a/dka64/patches/gcc-8.2.0.patch b/dka64/patches/gcc-8.3.0.patch similarity index 59% rename from dka64/patches/gcc-8.2.0.patch rename to dka64/patches/gcc-8.3.0.patch index cab8b37..6c6718e 100644 --- a/dka64/patches/gcc-8.2.0.patch +++ b/dka64/patches/gcc-8.3.0.patch @@ -1,12 +1,17 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc -index 532c33f4c2b..c8a8bc698a7 100644 +index 7af8e028104..90a3a50f624 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc -@@ -945,6 +945,7 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) +@@ -945,6 +945,12 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) case $target in aarch64-*-elf*) use_gcc_stdint=wrap ++ tm_file="${tm_file} devkitpro.h" + tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" ++ extra_options="${extra_options} devkitpro.opt" ++ case ${enable_threads} in ++ "" | yes | posix) thread_file='posix' ;; ++ esac ;; aarch64-*-fuchsia*) tm_file="${tm_file} fuchsia.h" @@ -40,10 +45,10 @@ index 7a5c6d7664f..687793841de 100644 Most have a PIC and non-PIC variant. */ enum aarch64_code_model { diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c -index 175f13dc264..733ab473cbd 100644 +index 349ca0c047b..5c03c42c28e 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c -@@ -11979,8 +11979,24 @@ aarch64_load_tp (rtx target) +@@ -12005,8 +12005,24 @@ aarch64_load_tp (rtx target) || !register_operand (target, Pmode)) target = gen_reg_rtx (Pmode); @@ -153,6 +158,78 @@ index 0be1f0d63aa..a54068bfd96 100644 +MULTILIB_DIRNAMES = large pic +MULTILIB_REQUIRED = mcmodel=large fPIC +MULTILIB_MATCHES = fPIC=fpic fPIC=fpie fPIC=fPIE +diff --git a/gcc/config/devkitpro.h b/gcc/config/devkitpro.h +new file mode 100644 +index 00000000000..11ba0f5ab1c +--- /dev/null ++++ b/gcc/config/devkitpro.h +@@ -0,0 +1,31 @@ ++/* Definitions for devkitPro toolchains. ++ Copyright (C) 2016-2018 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. ++ ++ 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 ++ . */ ++ ++#undef TARGET_OS_CPP_BUILTINS ++#define TARGET_OS_CPP_BUILTINS() \ ++ do { \ ++ builtin_define ("__DEVKITA64__"); \ ++ } while (0) ++ ++ +diff --git a/gcc/config/devkitpro.opt b/gcc/config/devkitpro.opt +new file mode 100644 +index 00000000000..9acbbf9d27c +--- /dev/null ++++ b/gcc/config/devkitpro.opt +@@ -0,0 +1,29 @@ ++; Options for devkitPro toolchains. ++ ++; Copyright (C) 2011-2018 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 the GCC internals manual (options.texi) for a description of ++; this file's format. ++ ++; Please try to keep this file in ASCII collating order. ++ ++pthread ++Driver ++ ++; This comment is to ensure we retain the blank line above. diff --git a/gcc/gcc.c b/gcc/gcc.c index a716f708259..6a11011dba7 100644 --- a/gcc/gcc.c @@ -197,3 +274,40 @@ index 5e894455e16..f2347455de0 100644 /* FIXME: Including auto-host is incorrect, but until we have identified the set of defines that need to go into auto-target.h, +diff --git a/libgcc/gthr.h b/libgcc/gthr.h +index 88b0178f9e3..e94fcf9d721 100644 +--- a/libgcc/gthr.h ++++ b/libgcc/gthr.h +@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + /* The pe-coff weak support isn't fully compatible to ELF's weak. + For static libraries it might would work, but as we need to deal + with shared versions too, we disable it for mingw-targets. */ +-#ifdef __MINGW32__ ++#if defined(__MINGW32__) || defined(__DEVKITA64__) + #undef GTHREAD_USE_WEAK + #define GTHREAD_USE_WEAK 0 + #endif +diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am +index 77e6dc2f6be..3a102997371 100644 +--- a/libstdc++-v3/include/Makefile.am ++++ b/libstdc++-v3/include/Makefile.am +@@ -1293,6 +1293,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} + -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ + -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ + -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ ++ -e 's/_GLIBCXX___DEVKITA64_GLIBCXX___/__DEVKITA64__/g' \ + -e 's,^#include "\(.*\)",#include ,g' \ + < $< > $@ + +diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in +index 948a5c1f1c5..ee8e240f6c5 100644 +--- a/libstdc++-v3/include/Makefile.in ++++ b/libstdc++-v3/include/Makefile.in +@@ -1719,6 +1719,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} + -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ + -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ + -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ ++ -e 's/_GLIBCXX___DEVKITA64_GLIBCXX___/__DEVKITA64__/g' \ + -e 's,^#include "\(.*\)",#include ,g' \ + < $< > $@ + diff --git a/select_toolchain.sh b/select_toolchain.sh index d4b2076..288822f 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -51,7 +51,7 @@ case "$VERSION" in toolchain=DEVKITPPC ;; "3" ) - GCC_VER=8.2.0 + GCC_VER=8.3.0 BINUTILS_VER=2.32 NEWLIB_VER=3.0.0 GDB_VER=8.0 From fec37937b75c1fd449e702ba001cf55193d9785f Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 7 Mar 2019 01:41:55 +0000 Subject: [PATCH 080/280] devkitA64: update gdb to 8.2.1 --- dka64/patches/gdb-8.2.1.patch | 48 +++++++++++++++++++++++++++++++++++ select_toolchain.sh | 2 +- 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 dka64/patches/gdb-8.2.1.patch diff --git a/dka64/patches/gdb-8.2.1.patch b/dka64/patches/gdb-8.2.1.patch new file mode 100644 index 0000000..0405bc4 --- /dev/null +++ b/dka64/patches/gdb-8.2.1.patch @@ -0,0 +1,48 @@ +diff -NBaur gdb-8.2.1/gdb/probe.c gdb-8.2.1-apple/gdb/probe.c +--- gdb-8.2.1/gdb/probe.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/probe.c 2019-02-19 17:31:05.266578008 +0000 +@@ -60,7 +60,7 @@ + + /* Static operations associated with a generic probe. */ + +-const any_static_probe_ops any_static_probe_ops; ++const any_static_probe_ops any_static_probe_ops = {}; + + /* A helper for parse_probes that decodes a probe specification in + SEARCH_PSPACE. It appends matching SALs to RESULT. */ +diff -NBaur gdb-8.2.1/gdb/record-btrace.c gdb-8.2.1-apple/gdb/record-btrace.c +--- gdb-8.2.1/gdb/record-btrace.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/record-btrace.c 2019-02-19 17:31:33.301731324 +0000 +@@ -144,7 +144,7 @@ + + /* Token associated with a new-thread observer enabling branch tracing + for the new thread. */ +-static const gdb::observers::token record_btrace_thread_observer_token; ++static const gdb::observers::token record_btrace_thread_observer_token = {}; + + /* Memory access types used in set/show record btrace replay-memory-access. */ + static const char replay_memory_access_read_only[] = "read-only"; +diff -NBaur gdb-8.2.1/gdb/stap-probe.c gdb-8.2.1-apple/gdb/stap-probe.c +--- gdb-8.2.1/gdb/stap-probe.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/stap-probe.c 2019-02-19 17:29:35.744567941 +0000 +@@ -119,7 +119,7 @@ + + /* SystemTap static_probe_ops. */ + +-const stap_static_probe_ops stap_static_probe_ops; ++const stap_static_probe_ops stap_static_probe_ops = {}; + + class stap_probe : public probe + { +diff -NBaur gdb-8.2.1/gdb/tui/tui-hooks.c gdb-8.2.1-apple/gdb/tui/tui-hooks.c +--- gdb-8.2.1/gdb/tui/tui-hooks.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/tui/tui-hooks.c 2019-02-19 17:28:53.178460364 +0000 +@@ -205,7 +205,7 @@ + + /* Token associated with observers registered while TUI hooks are + installed. */ +-static const gdb::observers::token tui_observers_token; ++static const gdb::observers::token tui_observers_token = {}; + + /* Attach or detach a single observer, according to ATTACH. */ + diff --git a/select_toolchain.sh b/select_toolchain.sh index 288822f..420aafa 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -54,7 +54,7 @@ case "$VERSION" in GCC_VER=8.3.0 BINUTILS_VER=2.32 NEWLIB_VER=3.0.0 - GDB_VER=8.0 + GDB_VER=8.2.1 basedir='dka64' package=devkitA64 target=aarch64-none-elf From a48e515bd6642b88cebf75283ef0d1861e87e84d Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 7 Mar 2019 02:28:53 +0000 Subject: [PATCH 081/280] devkitA64: update newlib to 3.1.0 --- dka64/patches/newlib-3.1.0.patch | 10006 +++++++++++++++++++++++++++++ select_toolchain.sh | 2 +- 2 files changed, 10007 insertions(+), 1 deletion(-) create mode 100644 dka64/patches/newlib-3.1.0.patch diff --git a/dka64/patches/newlib-3.1.0.patch b/dka64/patches/newlib-3.1.0.patch new file mode 100644 index 0000000..20059e3 --- /dev/null +++ b/dka64/patches/newlib-3.1.0.patch @@ -0,0 +1,10006 @@ +diff --git a/libgloss/configure b/libgloss/configure +index 1a4033dce..ba7aea7b0 100755 +--- a/libgloss/configure ++++ b/libgloss/configure +@@ -2599,6 +2599,8 @@ if test "${config_libnosys}" = "true"; then + + fi + ++subdirs="$subdirs libsysbase" ++ + DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depfiles" +diff --git a/libgloss/configure.in b/libgloss/configure.in +index 41843eed1..dc0e2a5fd 100644 +--- a/libgloss/configure.in ++++ b/libgloss/configure.in +@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. + AC_PREREQ(2.59) + AC_INIT([libgloss],[LIBGLOSS_VERSION]) + AC_CONFIG_SRCDIR([libnosys]) ++AC_CONFIG_SRCDIR([libsysbase]) + + if test "${enable_shared}" = "yes" ; then + echo "Shared libraries not supported for cross compiling, ignored" +@@ -190,6 +191,7 @@ dnl fi + if test "${config_libnosys}" = "true"; then + AC_CONFIG_SUBDIRS([libnosys]) + fi ++AC_CONFIG_SUBDIRS(libsysbase) + + LIB_AC_PROG_CC + AS=${AS-as} +diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in +new file mode 100644 +index 000000000..3db0c08bc +--- /dev/null ++++ b/libgloss/libsysbase/Makefile.in +@@ -0,0 +1,151 @@ ++# Copyright (c) 1998 Cygnus Support ++# ++# The authors hereby grant permission to use, copy, modify, distribute, ++# and license this software and its documentation for any purpose, provided ++# that existing copyright notices are retained in all copies and that this ++# notice is included verbatim in any distributions. No written agreement, ++# license, or royalty fee is required for any of the authorized uses. ++# Modifications to this software may be copyrighted by their authors ++# and need not follow the licensing terms described here, provided that ++# the new terms are clearly indicated on the first page of each file where ++# they apply. ++ ++DESTDIR = ++VPATH = @srcdir@ ++srcdir = @srcdir@ ++objdir = . ++srcroot = $(srcdir)/../.. ++objroot = $(objdir)/../.. ++ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++host_alias = @host_alias@ ++target_alias = @target_alias@ ++program_transform_name = @program_transform_name@ ++ ++bindir = @bindir@ ++libdir = @libdir@ ++tooldir = $(exec_prefix)/$(target_alias) ++ ++# Multilib support variables. ++# TOP is used instead of MULTI{BUILD,SRC}TOP. ++MULTIDIRS = ++MULTISUBDIR = ++MULTIDO = true ++MULTICLEAN = true ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++ ++SHELL = /bin/sh ++ ++CC = @CC@ ++ ++#AS = @AS@ ++AS = `if [ -f ${objroot}/../gas/as.new ] ; \ ++ then echo ${objroot}/../gas/as.new ; \ ++ else echo as ; fi` ++ ++AR = @AR@ ++ ++#LD = @LD@ ++LD = `if [ -f ${objroot}/../ld/ld.new ] ; \ ++ then echo ${objroot}/../ld/ld.new ; \ ++ else echo ld ; fi` ++ ++RANLIB = @RANLIB@ ++ ++OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \ ++ then echo ${objroot}/../binutils/objdump ; \ ++ else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi` ++OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \ ++ then echo ${objroot}/../binutils/objcopy ; \ ++ else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi` ++ ++# object files needed ++OBJS = abort.o iosupport.o clocks.o close.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ ++ isatty.o kill.o link.o lseek.o lstat.o nanosleep.o open.o read.o sbrk.o sleep.o stat.o usleep.o times.o \ ++ unlink.o wait.o write.o _exit.o malloc_vars.o \ ++ chdir.o mkdir.o rename.o statvfs.o \ ++ flock.o locks.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ ++ fchmod.o chmod.o getreent.o rmdir.o utime.o scandir.o fnmatch.o pthread.o ++ ++# Object files specific to particular targets. ++EVALOBJS = ${OBJS} ++ ++GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \ ++ then echo -L${objroot}/../gcc ; fi` ++ ++OUTPUTS = libsysbase.a libpthread.a ++ ++NEWLIB_CFLAGS = `if [ -d ${objroot}/newlib ]; then echo -I${objroot}/newlib/targ-include -I${srcroot}/newlib/libc/include; fi` ++NEWLIB_LDFLAGS = `if [ -d ${objroot}/newlib ]; then echo -B${objroot}/newlib/ -L${objroot}/newlib/; fi` ++ ++INCLUDES = -I. -I$(srcdir)/.. ++# Note that when building the library, ${MULTILIB} is not the way multilib ++# options are passed; they're passed in $(CFLAGS). ++CFLAGS_FOR_TARGET = ${MULTILIB} ${INCLUDES} ${NEWLIB_CFLAGS} ++LDFLAGS_FOR_TARGET = ${MULTILIB} ${NEWLIB_LDFLAGS} ++AR_FLAGS = qc ++ ++.c.o: ++ $(CC) $(CFLAGS_FOR_TARGET) -O2 -D_BUILDING_LIBSYSBASE $(INCLUDES) -c $(CFLAGS) $< ++ ++.C.o: ++ $(CC) $(CFLAGS_FOR_TARGET) -O2 -D_BUILDING_LIBSYSBASE $(INCLUDES) -c $(CFLAGS) $< ++.s.o: ++ $(AS) $(ASFLAGS_FOR_TARGET) $(INCLUDES) $(ASFLAGS) -o $*.o $< ++ ++# ++# GCC knows to run the preprocessor on .S files before it assembles them. ++# ++.S.o: ++ $(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< ++ ++# ++# this is a bogus target that'll produce an assembler from the ++# C source with the right compiler options. this is so we can ++# track down code generation or debug symbol bugs. ++# ++.c.s: ++ $(CC) $(CFLAGS_FOR_TARGET) -S $(INCLUDES) $(CFLAGS) $< ++ ++all: ${OUTPUTS} ++ ++# ++# here's where we build the library for each target ++# ++ ++libsysbase.a: $(EVALOBJS) ++ ${AR} ${ARFLAGS} $@ $(EVALOBJS) ++ ${RANLIB} $@ ++ ++libpthread.a: ++ ${AR} rc $@ ++ ++doc: ++ ++clean mostlyclean: ++ rm -f $(OUTPUTS) *.i *~ *.o *-test *.srec *.dis *.map *.x ++ ++distclean maintainer-clean realclean: clean ++ rm -f Makefile config.status $(OUTPUTS) ++ ++.PHONY: install info install-info clean-info ++install: ++ @for outputs in ${OUTPUTS}; do\ ++ mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ ++ $(INSTALL_PROGRAM) $${outputs} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ ++ done ++ ++info: ++install-info: ++clean-info: ++ ++Makefile: Makefile.in config.status @host_makefile_frag_path@ ++ $(SHELL) config.status ++ ++config.status: configure ++ $(SHELL) config.status --recheck +diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c +new file mode 100644 +index 000000000..6effb1105 +--- /dev/null ++++ b/libgloss/libsysbase/_exit.c +@@ -0,0 +1,17 @@ ++/* Stub version of _exit. */ ++ ++#include ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++void _exit(int rc) ++{ ++ ++ if ( __has_syscall(exit) ) { ++ __syscall_exit(rc); ++ } ++ ++ while(1); ++} +diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c +new file mode 100644 +index 000000000..9272e22c9 +--- /dev/null ++++ b/libgloss/libsysbase/abort.c +@@ -0,0 +1,8 @@ ++#include ++#include ++ ++void abort(void) { ++ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); ++ _exit (1); ++} ++ +diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h +new file mode 100644 +index 000000000..200ea7873 +--- /dev/null ++++ b/libgloss/libsysbase/acconfig.h +@@ -0,0 +1,29 @@ ++/* Name of package. */ ++#undef PACKAGE ++ ++/* Version of package. */ ++#undef VERSION ++ ++/* Missing syscall names */ ++#undef MISSING_SYSCALL_NAMES ++ ++/* Reentrant syscalls */ ++#undef REENTRANT_SYSCALLS_PROVIDED ++ ++/* Using ELF format */ ++#undef HAVE_ELF ++ ++/* Using GNU LD */ ++#undef HAVE_GNU_LD ++ ++/* .previous directive allowed */ ++#undef HAVE_ASM_PREVIOUS_DIRECTIVE ++ ++/* .pushsection/.popsection directives allowed */ ++#undef HAVE_ASM_POPSECTION_DIRECTIVE ++ ++/* support for section attributes */ ++#undef HAVE_SECTION_ATTRIBUTES ++ ++/* symbol prefix */ ++#undef __SYMBOL_PREFIX +diff --git a/libgloss/libsysbase/aclocal.m4 b/libgloss/libsysbase/aclocal.m4 +new file mode 100644 +index 000000000..b6cdfaeb8 +--- /dev/null ++++ b/libgloss/libsysbase/aclocal.m4 +@@ -0,0 +1,344 @@ ++# generated automatically by aclocal 1.9.5 -*- Autoconf -*- ++ ++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, ++# 2005 Free Software Foundation, Inc. ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++# AM_CONDITIONAL -*- Autoconf -*- ++ ++# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 ++# Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 7 ++ ++# AM_CONDITIONAL(NAME, SHELL-CONDITION) ++# ------------------------------------- ++# Define a conditional. ++AC_DEFUN([AM_CONDITIONAL], ++[AC_PREREQ(2.52)dnl ++ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], ++ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl ++AC_SUBST([$1_TRUE]) ++AC_SUBST([$1_FALSE]) ++if $2; then ++ $1_TRUE= ++ $1_FALSE='#' ++else ++ $1_TRUE='#' ++ $1_FALSE= ++fi ++AC_CONFIG_COMMANDS_PRE( ++[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then ++ AC_MSG_ERROR([[conditional "$1" was never defined. ++Usually this means the macro was only invoked conditionally.]]) ++fi])]) ++ ++ ++# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 ++# Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 8 ++ ++# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be ++# written in clear, in which case automake, when reading aclocal.m4, ++# will think it sees a *use*, and therefore will trigger all it's ++# C support machinery. Also note that it means that autoscan, seeing ++# CC etc. in the Makefile, will ask for an AC_PROG_CC use... ++ ++ ++# _AM_DEPENDENCIES(NAME) ++# ---------------------- ++# See how the compiler implements dependency checking. ++# NAME is "CC", "CXX", "GCJ", or "OBJC". ++# We try a few techniques and use that to set a single cache variable. ++# ++# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was ++# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular ++# dependency, and given that the user is not expected to run this macro, ++# just rely on AC_PROG_CC. ++AC_DEFUN([_AM_DEPENDENCIES], ++[AC_REQUIRE([AM_SET_DEPDIR])dnl ++AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl ++AC_REQUIRE([AM_MAKE_INCLUDE])dnl ++AC_REQUIRE([AM_DEP_TRACK])dnl ++ ++ifelse([$1], CC, [depcc="$CC" am_compiler_list=], ++ [$1], CXX, [depcc="$CXX" am_compiler_list=], ++ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], ++ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], ++ [depcc="$$1" am_compiler_list=]) ++ ++AC_CACHE_CHECK([dependency style of $depcc], ++ [am_cv_$1_dependencies_compiler_type], ++[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ # We will build objects and dependencies in a subdirectory because ++ # it helps to detect inapplicable dependency modes. For instance ++ # both Tru64's cc and ICC support -MD to output dependencies as a ++ # side effect of compilation, but ICC will put the dependencies in ++ # the current directory while Tru64 will put them in the object ++ # directory. ++ mkdir sub ++ ++ am_cv_$1_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # Setup a source with many dependencies, because some compilers ++ # like to wrap large dependency lists on column 80 (with \), and ++ # we should not choose a depcomp mode which is confused by this. ++ # ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ : > sub/conftest.c ++ for i in 1 2 3 4 5 6; do ++ echo '#include "conftst'$i'.h"' >> sub/conftest.c ++ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with ++ # Solaris 8's {/usr,}/bin/sh. ++ touch sub/conftst$i.h ++ done ++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf ++ ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ ++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ ++ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ ++ >/dev/null 2>conftest.err && ++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && ++ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ # icc doesn't choke on unknown options, it will just issue warnings ++ # or remarks (even with -Werror). So we grep stderr for any message ++ # that says an option was ignored or not supported. ++ # When given -MP, icc 7.0 and 7.1 complain thusly: ++ # icc: Command line warning: ignoring option '-M'; no argument required ++ # The diagnosis changed in icc 8.0: ++ # icc: Command line remark: option '-MP' not supported ++ if (grep 'ignoring option' conftest.err || ++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else ++ am_cv_$1_dependencies_compiler_type=$depmode ++ break ++ fi ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_$1_dependencies_compiler_type=none ++fi ++]) ++AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) ++AM_CONDITIONAL([am__fastdep$1], [ ++ test "x$enable_dependency_tracking" != xno \ ++ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ++]) ++ ++ ++# AM_SET_DEPDIR ++# ------------- ++# Choose a directory name for dependency files. ++# This macro is AC_REQUIREd in _AM_DEPENDENCIES ++AC_DEFUN([AM_SET_DEPDIR], ++[AC_REQUIRE([AM_SET_LEADING_DOT])dnl ++AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ++]) ++ ++ ++# AM_DEP_TRACK ++# ------------ ++AC_DEFUN([AM_DEP_TRACK], ++[AC_ARG_ENABLE(dependency-tracking, ++[ --disable-dependency-tracking speeds up one-time build ++ --enable-dependency-tracking do not reject slow dependency extractors]) ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++fi ++AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) ++AC_SUBST([AMDEPBACKSLASH]) ++]) ++ ++# Generate code to set up dependency tracking. -*- Autoconf -*- ++ ++# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 ++# Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++#serial 3 ++ ++# _AM_OUTPUT_DEPENDENCY_COMMANDS ++# ------------------------------ ++AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], ++[for mf in $CONFIG_FILES; do ++ # Strip MF so we end up with the name of the file. ++ mf=`echo "$mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile or not. ++ # We used to match only the files named `Makefile.in', but ++ # some people rename them; so instead we look at the file content. ++ # Grep'ing the first line is not enough: some people post-process ++ # each Makefile.in and add a new line on top of each file to say so. ++ # So let's grep whole file. ++ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then ++ dirpart=`AS_DIRNAME("$mf")` ++ else ++ continue ++ fi ++ # Extract the definition of DEPDIR, am__include, and am__quote ++ # from the Makefile without running `make'. ++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ am__include=`sed -n 's/^am__include = //p' < "$mf"` ++ test -z "am__include" && continue ++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n 's/^U = //p' < "$mf"` ++ # Find all dependency output files, they are included files with ++ # $(DEPDIR) in their names. We invoke sed twice because it is the ++ # simplest approach to changing $(DEPDIR) to its actual value in the ++ # expansion. ++ for file in `sed -n " ++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`AS_DIRNAME(["$file"])` ++ AS_MKDIR_P([$dirpart/$fdir]) ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++])# _AM_OUTPUT_DEPENDENCY_COMMANDS ++ ++ ++# AM_OUTPUT_DEPENDENCY_COMMANDS ++# ----------------------------- ++# This macro should only be invoked once -- use via AC_REQUIRE. ++# ++# This code is only required when automatic dependency tracking ++# is enabled. FIXME. This creates each `.P' file that we will ++# need in order to bootstrap the dependency handling code. ++AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], ++[AC_CONFIG_COMMANDS([depfiles], ++ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], ++ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ++]) ++ ++# Copyright (C) 2003, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 2 ++ ++# Check whether the underlying file-system supports filenames ++# with a leading dot. For instance MS-DOS doesn't. ++AC_DEFUN([AM_SET_LEADING_DOT], ++[rm -rf .tst 2>/dev/null ++mkdir .tst 2>/dev/null ++if test -d .tst; then ++ am__leading_dot=. ++else ++ am__leading_dot=_ ++fi ++rmdir .tst 2>/dev/null ++AC_SUBST([am__leading_dot])]) ++ ++# Check to see how 'make' treats includes. -*- Autoconf -*- ++ ++# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 3 ++ ++# AM_MAKE_INCLUDE() ++# ----------------- ++# Check to see how make treats includes. ++AC_DEFUN([AM_MAKE_INCLUDE], ++[am_make=${MAKE-make} ++cat > confinc << 'END' ++am__doit: ++ @echo done ++.PHONY: am__doit ++END ++# If we don't find an include directive, just comment out the code. ++AC_MSG_CHECKING([for style of include used by $am_make]) ++am__include="#" ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# We grep out `Entering directory' and `Leaving directory' ++# messages which can occur if `w' ends up in MAKEFLAGS. ++# In particular we don't look at `^make:' because GNU make might ++# be invoked under some other name (usually "gmake"), in which ++# case it prints its new name instead of `make'. ++if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then ++ am__include=include ++ am__quote= ++ _am_result=GNU ++fi ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then ++ am__include=.include ++ am__quote="\"" ++ _am_result=BSD ++ fi ++fi ++AC_SUBST([am__include]) ++AC_SUBST([am__quote]) ++AC_MSG_RESULT([$_am_result]) ++rm -f confinc confmf ++]) ++ ++m4_include([../acinclude.m4]) +diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c +new file mode 100644 +index 000000000..b94f6a8b4 +--- /dev/null ++++ b/libgloss/libsysbase/chdir.c +@@ -0,0 +1,200 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* CWD always start with "/" */ ++static char _current_working_directory [PATH_MAX] = "/"; ++static char temp_cwd [PATH_MAX]; ++ ++#define DIRECTORY_SEPARATOR_CHAR '/' ++const char DIRECTORY_SEPARATOR[] = "/"; ++const char DIRECTORY_THIS[] = "."; ++const char DIRECTORY_PARENT[] = ".."; ++ ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; ++ ++ pathLength = strnlen (path, maxLength); ++ ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } ++ ++ extraEnd = extra; ++ ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } ++ ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } ++ ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } ++ ++ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) ++ { ++ /* Don't copy anything */ ++ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) ++ { ++ /* Go up one level of in the path */ ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { ++ // Remove trailing separator ++ pathEnd[-1] = '\0'; ++ } ++ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); ++ if (pathEnd == NULL) { ++ /* Can't go up any higher, return false */ ++ r->_errno = ENOENT; ++ return -1; ++ } ++ pathLength = pathEnd - path; ++ pathEnd += 1; ++ } else { ++ pathLength += extraSize; ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ /* Copy the next part over */ ++ strncpy (pathEnd, extra, extraSize); ++ pathEnd += extraSize; ++ } ++ pathEnd[0] = '\0'; ++ extra += extraSize; ++ } while (extraSize != 0); ++ ++ if (strlen(path) > 2 ) { ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') ++ pathEnd[-1] = '\0'; ++ } ++ ++ return 0; ++} ++ ++int chdir (const char *path) { ++ struct _reent *r = _REENT; ++ ++ int dev; ++ const char *pathPosition; ++ ++ /* Make sure the path is short enough */ ++ if (strnlen (path, PATH_MAX) >= PATH_MAX) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ ++ if (strchr (path, ':') != NULL) { ++ strncpy (temp_cwd, path, PATH_MAX); ++ /* Move path past device name */ ++ path = strchr (path, ':') + 1; ++ } else { ++ strncpy (temp_cwd, _current_working_directory, PATH_MAX); ++ } ++ ++ pathPosition = strchr (temp_cwd , ':'); ++ ++ if (pathPosition == NULL) { ++ pathPosition = temp_cwd; ++ } else { ++ pathPosition++; ++ } ++ ++ /* Make sure the path starts in the root directory */ ++ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { ++ r->_errno = ENOENT; ++ return -1; ++ } ++ ++ /* Concatenate the path to the CWD */ ++ if (_concatenate_path (r, temp_cwd, path, PATH_MAX) == -1) { ++ return -1; ++ } ++ ++ /* Get device from path name */ ++ dev = FindDevice(temp_cwd); ++ ++ if (dev < 0) { ++ r->_errno = ENODEV; ++ return -1; ++ } ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ if ( devoptab_list[dev]->chdir_r == NULL) { ++ r->_errno = ENOSYS; ++ return -1; ++ } ++ ++ /* Try changing directories on the device */ ++ if (devoptab_list[dev]->chdir_r (r, temp_cwd) == -1) { ++ return -1; ++ } ++ ++ /* Since it worked, set the new CWD and default device */ ++ setDefaultDevice(dev); ++ strncpy (_current_working_directory, temp_cwd, PATH_MAX); ++ ++ return 0; ++} ++ ++char *getcwd(char *buf, size_t size) { ++ ++ struct _reent *r = _REENT; ++ ++ if (size == 0) { ++ if (buf != NULL) { ++ r->_errno = EINVAL; ++ return NULL; ++ } ++ buf = malloc(PATH_MAX); ++ size = PATH_MAX; ++ } ++ ++ if (buf == NULL) { ++ r->_errno = EINVAL; ++ return NULL; ++ } ++ ++ if ( size < (strnlen (_current_working_directory, PATH_MAX) + 1)) { ++ r->_errno = ERANGE; ++ return NULL; ++ } ++ ++ strncpy (buf, _current_working_directory, size); ++ ++ return buf; ++} +diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c +new file mode 100644 +index 000000000..3668b5801 +--- /dev/null ++++ b/libgloss/libsysbase/chmod.c +@@ -0,0 +1,30 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++int chmod(const char *path, mode_t mode) { ++ int ret,dev; ++ struct _reent *r = _REENT; ++ ++ /* Get device from path name */ ++ dev = FindDevice(path); ++ ++ if (dev < 0) { ++ r->_errno = ENODEV; ++ ret = -1; ++ } else { ++ if (devoptab_list[dev]->chmod_r == NULL) { ++ r->_errno=ENOSYS; ++ } else { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->chmod_r(r,path,mode); ++ } ++ } ++ ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c +new file mode 100644 +index 000000000..b36b5c079 +--- /dev/null ++++ b/libgloss/libsysbase/clocks.c +@@ -0,0 +1,34 @@ ++#include ++#include ++#include ++ ++int clock_gettime(clockid_t clock_id, struct timespec *tp) ++{ ++ if ( __has_syscall(clock_gettime) ) { ++ return __syscall_clock_gettime(clock_id, tp); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ ++int clock_settime(clockid_t clock_id, const struct timespec *tp) ++{ ++ if ( __has_syscall(clock_settime) ) { ++ return __syscall_clock_settime(clock_id, tp); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ ++int clock_getres (clockid_t clock_id, struct timespec *res) ++{ ++ if ( __has_syscall(clock_getres) ) { ++ return __syscall_clock_getres(clock_id, res); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ +diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c +new file mode 100644 +index 000000000..931ad07b1 +--- /dev/null ++++ b/libgloss/libsysbase/close.c +@@ -0,0 +1,46 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++ ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _close_r(struct _reent *ptr, int fileDesc) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _close(int fileDesc) { ++//--------------------------------------------------------------------------------- ++ struct _reent *ptr = _REENT; ++#endif ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ if(fileDesc!=-1) { ++ ++ __handle *handle = __get_handle(fileDesc); ++ ++ if ( handle != NULL) { ++ dev = handle->device; ++ handle->refcount--; ++ if (handle->refcount == 0 ) { ++ ++ if(devoptab_list[dev]->close_r) { ++ ptr->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->close_r(ptr,handle->fileStruct); ++ } ++ else ++ ret = 0; ++ ++ __release_handle(fileDesc); ++ } else { ++ ret = 0; ++ } ++ ++ } ++ } ++ return ret; ++} +diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in +new file mode 100644 +index 000000000..48ce950b4 +--- /dev/null ++++ b/libgloss/libsysbase/config.h.in +@@ -0,0 +1,25 @@ ++/* config.h.in. Generated automatically from configure.in by autoheader. */ ++ ++/* Missing syscall names */ ++#undef MISSING_SYSCALL_NAMES ++ ++/* Reentrant syscalls */ ++#undef REENTRANT_SYSCALLS_PROVIDED ++ ++/* Using ELF format */ ++#undef HAVE_ELF ++ ++/* Using GNU LD */ ++#undef HAVE_GNU_LD ++ ++/* .previous directive allowed */ ++#undef HAVE_ASM_PREVIOUS_DIRECTIVE ++ ++/* .pushsection/.popsection directives allowed */ ++#undef HAVE_ASM_POPSECTION_DIRECTIVE ++ ++/* support for section attributes */ ++#undef HAVE_SECTION_ATTRIBUTES ++ ++/* symbol prefix */ ++#undef __SYMBOL_PREFIX +diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure +new file mode 100644 +index 000000000..aa653c235 +--- /dev/null ++++ b/libgloss/libsysbase/configure +@@ -0,0 +1,4160 @@ ++#! /bin/sh ++# Guess values for system-dependent variables and create Makefiles. ++# Generated by GNU Autoconf 2.69. ++# ++# ++# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. ++# ++# ++# This configure script is free software; the Free Software Foundation ++# gives unlimited permission to copy, distribute and modify it. ++## -------------------- ## ++## M4sh Initialization. ## ++## -------------------- ## ++ ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++ ++ ++as_nl=' ++' ++export as_nl ++# Printing a long string crashes Solaris 7 /usr/bin/printf. ++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo ++# Prefer a ksh shell builtin over an external printf program on Solaris, ++# but without wasting forks for bash or zsh. ++if test -z "$BASH_VERSION$ZSH_VERSION" \ ++ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='print -r --' ++ as_echo_n='print -rn --' ++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='printf %s\n' ++ as_echo_n='printf %s' ++else ++ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then ++ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' ++ as_echo_n='/usr/ucb/echo -n' ++ else ++ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' ++ as_echo_n_body='eval ++ arg=$1; ++ case $arg in #( ++ *"$as_nl"*) ++ expr "X$arg" : "X\\(.*\\)$as_nl"; ++ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; ++ esac; ++ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ++ ' ++ export as_echo_n_body ++ as_echo_n='sh -c $as_echo_n_body as_echo' ++ fi ++ export as_echo_body ++ as_echo='sh -c $as_echo_body as_echo' ++fi ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ PATH_SEPARATOR=: ++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { ++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || ++ PATH_SEPARATOR=';' ++ } ++fi ++ ++ ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++IFS=" "" $as_nl" ++ ++# Find who we are. Look in the path if we contain no directory separator. ++as_myself= ++case $0 in #(( ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++ done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ exit 1 ++fi ++ ++# Unset variables that we do not need and which cause bugs (e.g. in ++# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" ++# suppresses any "Segmentation fault" message there. '((' could ++# trigger a bug in pdksh 5.2.14. ++for as_var in BASH_ENV ENV MAIL MAILPATH ++do eval test x\${$as_var+set} = xset \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# CDPATH. ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH ++ ++# Use a proper internal environment variable to ensure we don't fall ++ # into an infinite loop, continuously re-executing ourselves. ++ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then ++ _as_can_reexec=no; export _as_can_reexec; ++ # We cannot yet assume a decent shell, so we have to provide a ++# neutralization value for shells without unset; and this also ++# works around shells that cannot unset nonexistent variables. ++# Preserve -v and -x to the replacement shell. ++BASH_ENV=/dev/null ++ENV=/dev/null ++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV ++case $- in # (((( ++ *v*x* | *x*v* ) as_opts=-vx ;; ++ *v* ) as_opts=-v ;; ++ *x* ) as_opts=-x ;; ++ * ) as_opts= ;; ++esac ++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} ++# Admittedly, this is quite paranoid, since all the known shells bail ++# out after a failed `exec'. ++$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 ++as_fn_exit 255 ++ fi ++ # We don't want this to propagate to other subprocesses. ++ { _as_can_reexec=; unset _as_can_reexec;} ++if test "x$CONFIG_SHELL" = x; then ++ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '\${1+\"\$@\"}'='\"\$@\"' ++ setopt NO_GLOB_SUBST ++else ++ case \`(set -o) 2>/dev/null\` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++" ++ as_required="as_fn_return () { (exit \$1); } ++as_fn_success () { as_fn_return 0; } ++as_fn_failure () { as_fn_return 1; } ++as_fn_ret_success () { return 0; } ++as_fn_ret_failure () { return 1; } ++ ++exitcode=0 ++as_fn_success || { exitcode=1; echo as_fn_success failed.; } ++as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } ++as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } ++as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } ++if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : ++ ++else ++ exitcode=1; echo positional parameters were not saved. ++fi ++test x\$exitcode = x0 || exit 1 ++test -x / || exit 1" ++ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO ++ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO ++ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && ++ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" ++ if (eval "$as_required") 2>/dev/null; then : ++ as_have_required=yes ++else ++ as_have_required=no ++fi ++ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : ++ ++else ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_found=false ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ as_found=: ++ case $as_dir in #( ++ /*) ++ for as_base in sh bash ksh sh5; do ++ # Try only shells that exist, to save several forks. ++ as_shell=$as_dir/$as_base ++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && ++ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : ++ CONFIG_SHELL=$as_shell as_have_required=yes ++ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : ++ break 2 ++fi ++fi ++ done;; ++ esac ++ as_found=false ++done ++$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && ++ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : ++ CONFIG_SHELL=$SHELL as_have_required=yes ++fi; } ++IFS=$as_save_IFS ++ ++ ++ if test "x$CONFIG_SHELL" != x; then : ++ export CONFIG_SHELL ++ # We cannot yet assume a decent shell, so we have to provide a ++# neutralization value for shells without unset; and this also ++# works around shells that cannot unset nonexistent variables. ++# Preserve -v and -x to the replacement shell. ++BASH_ENV=/dev/null ++ENV=/dev/null ++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV ++case $- in # (((( ++ *v*x* | *x*v* ) as_opts=-vx ;; ++ *v* ) as_opts=-v ;; ++ *x* ) as_opts=-x ;; ++ * ) as_opts= ;; ++esac ++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} ++# Admittedly, this is quite paranoid, since all the known shells bail ++# out after a failed `exec'. ++$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 ++exit 255 ++fi ++ ++ if test x$as_have_required = xno; then : ++ $as_echo "$0: This script requires a shell more modern than all" ++ $as_echo "$0: the shells that I found on your system." ++ if test x${ZSH_VERSION+set} = xset ; then ++ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" ++ $as_echo "$0: be upgraded to zsh 4.3.4 or later." ++ else ++ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, ++$0: including any error possibly output before this ++$0: message. Then install a modern shell, or manually run ++$0: the script under such a shell if you do have one." ++ fi ++ exit 1 ++fi ++fi ++fi ++SHELL=${CONFIG_SHELL-/bin/sh} ++export SHELL ++# Unset more variables known to interfere with behavior of common tools. ++CLICOLOR_FORCE= GREP_OPTIONS= ++unset CLICOLOR_FORCE GREP_OPTIONS ++ ++## --------------------- ## ++## M4sh Shell Functions. ## ++## --------------------- ## ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset ++ ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status ++ ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit ++ ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ ++ ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" ++ ++ ++} # as_fn_mkdir_p ++ ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : ++ eval 'as_fn_append () ++ { ++ eval $1+=\$2 ++ }' ++else ++ as_fn_append () ++ { ++ eval $1=\$$1\$2 ++ } ++fi # as_fn_append ++ ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith ++ ++ ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ $as_echo "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error ++ ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++ ++ as_lineno_1=$LINENO as_lineno_1a=$LINENO ++ as_lineno_2=$LINENO as_lineno_2a=$LINENO ++ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && ++ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { ++ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) ++ sed -n ' ++ p ++ /[$]LINENO/= ++ ' <$as_myself | ++ sed ' ++ s/[$]LINENO.*/&-/ ++ t lineno ++ b ++ :lineno ++ N ++ :loop ++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ ++ t loop ++ s/-\n.*// ++ ' >$as_me.lineno && ++ chmod +x "$as_me.lineno" || ++ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } ++ ++ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have ++ # already done that, so ensure we don't try to do so again and fall ++ # in an infinite loop. This has already happened in practice. ++ _as_can_reexec=no; export _as_can_reexec ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensitive to this). ++ . "./$as_me.lineno" ++ # Exit status is that of the last command. ++ exit ++} ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null ++fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++ else ++ as_ln_s='cp -pR' ++ fi ++else ++ as_ln_s='cp -pR' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null ++ ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++ ++test -n "$DJDIR" || exec 7<&0 &1 ++ ++# Name of the host. ++# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, ++# so uname gets run too. ++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` ++ ++# ++# Initializations. ++# ++ac_default_prefix=/usr/local ++ac_clean_files= ++ac_config_libobj_dir=. ++LIBOBJS= ++cross_compiling=no ++subdirs= ++MFLAGS= ++MAKEFLAGS= ++ ++# Identity of this package. ++PACKAGE_NAME= ++PACKAGE_TARNAME= ++PACKAGE_VERSION= ++PACKAGE_STRING= ++PACKAGE_BUGREPORT= ++PACKAGE_URL= ++ ++ac_unique_file="close.c" ++ac_subst_vars='LTLIBOBJS ++LIBOBJS ++host_makefile_frag_path ++CCASFLAGS ++CCAS ++RANLIB ++LD ++AR ++AS ++am__fastdepCC_FALSE ++am__fastdepCC_TRUE ++CCDEPMODE ++AMDEPBACKSLASH ++AMDEP_FALSE ++AMDEP_TRUE ++am__quote ++am__include ++DEPDIR ++am__leading_dot ++CC ++INSTALL_DATA ++INSTALL_SCRIPT ++INSTALL_PROGRAM ++target_os ++target_vendor ++target_cpu ++target ++host_os ++host_vendor ++host_cpu ++host ++build_os ++build_vendor ++build_cpu ++build ++target_alias ++host_alias ++build_alias ++LIBS ++ECHO_T ++ECHO_N ++ECHO_C ++DEFS ++mandir ++localedir ++libdir ++psdir ++pdfdir ++dvidir ++htmldir ++infodir ++docdir ++oldincludedir ++includedir ++localstatedir ++sharedstatedir ++sysconfdir ++datadir ++datarootdir ++libexecdir ++sbindir ++bindir ++program_transform_name ++prefix ++exec_prefix ++PACKAGE_URL ++PACKAGE_BUGREPORT ++PACKAGE_STRING ++PACKAGE_VERSION ++PACKAGE_TARNAME ++PACKAGE_NAME ++PATH_SEPARATOR ++SHELL' ++ac_subst_files='host_makefile_frag' ++ac_user_opts=' ++enable_option_checking ++enable_dependency_tracking ++' ++ ac_precious_vars='build_alias ++host_alias ++target_alias ++CCAS ++CCASFLAGS' ++ ++ ++# Initialize some variables set by options. ++ac_init_help= ++ac_init_version=false ++ac_unrecognized_opts= ++ac_unrecognized_sep= ++# The variables have the same names as the options, with ++# dashes changed to underlines. ++cache_file=/dev/null ++exec_prefix=NONE ++no_create= ++no_recursion= ++prefix=NONE ++program_prefix=NONE ++program_suffix=NONE ++program_transform_name=s,x,x, ++silent= ++site= ++srcdir= ++verbose= ++x_includes=NONE ++x_libraries=NONE ++ ++# Installation directory options. ++# These are left unexpanded so users can "make install exec_prefix=/foo" ++# and all the variables that are supposed to be based on exec_prefix ++# by default will actually change. ++# Use braces instead of parens because sh, perl, etc. also accept them. ++# (The list follows the same order as the GNU Coding Standards.) ++bindir='${exec_prefix}/bin' ++sbindir='${exec_prefix}/sbin' ++libexecdir='${exec_prefix}/libexec' ++datarootdir='${prefix}/share' ++datadir='${datarootdir}' ++sysconfdir='${prefix}/etc' ++sharedstatedir='${prefix}/com' ++localstatedir='${prefix}/var' ++includedir='${prefix}/include' ++oldincludedir='/usr/include' ++docdir='${datarootdir}/doc/${PACKAGE}' ++infodir='${datarootdir}/info' ++htmldir='${docdir}' ++dvidir='${docdir}' ++pdfdir='${docdir}' ++psdir='${docdir}' ++libdir='${exec_prefix}/lib' ++localedir='${datarootdir}/locale' ++mandir='${datarootdir}/man' ++ ++ac_prev= ++ac_dashdash= ++for ac_option ++do ++ # If the previous option needs an argument, assign it. ++ if test -n "$ac_prev"; then ++ eval $ac_prev=\$ac_option ++ ac_prev= ++ continue ++ fi ++ ++ case $ac_option in ++ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; ++ *=) ac_optarg= ;; ++ *) ac_optarg=yes ;; ++ esac ++ ++ # Accept the important Cygnus configure options, so we can diagnose typos. ++ ++ case $ac_dashdash$ac_option in ++ --) ++ ac_dashdash=yes ;; ++ ++ -bindir | --bindir | --bindi | --bind | --bin | --bi) ++ ac_prev=bindir ;; ++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) ++ bindir=$ac_optarg ;; ++ ++ -build | --build | --buil | --bui | --bu) ++ ac_prev=build_alias ;; ++ -build=* | --build=* | --buil=* | --bui=* | --bu=*) ++ build_alias=$ac_optarg ;; ++ ++ -cache-file | --cache-file | --cache-fil | --cache-fi \ ++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ++ ac_prev=cache_file ;; ++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ ++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) ++ cache_file=$ac_optarg ;; ++ ++ --config-cache | -C) ++ cache_file=config.cache ;; ++ ++ -datadir | --datadir | --datadi | --datad) ++ ac_prev=datadir ;; ++ -datadir=* | --datadir=* | --datadi=* | --datad=*) ++ datadir=$ac_optarg ;; ++ ++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ ++ | --dataroo | --dataro | --datar) ++ ac_prev=datarootdir ;; ++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ ++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) ++ datarootdir=$ac_optarg ;; ++ ++ -disable-* | --disable-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid feature name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"enable_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval enable_$ac_useropt=no ;; ++ ++ -docdir | --docdir | --docdi | --doc | --do) ++ ac_prev=docdir ;; ++ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) ++ docdir=$ac_optarg ;; ++ ++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ++ ac_prev=dvidir ;; ++ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) ++ dvidir=$ac_optarg ;; ++ ++ -enable-* | --enable-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid feature name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"enable_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval enable_$ac_useropt=\$ac_optarg ;; ++ ++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ ++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ ++ | --exec | --exe | --ex) ++ ac_prev=exec_prefix ;; ++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ ++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ ++ | --exec=* | --exe=* | --ex=*) ++ exec_prefix=$ac_optarg ;; ++ ++ -gas | --gas | --ga | --g) ++ # Obsolete; use --with-gas. ++ with_gas=yes ;; ++ ++ -help | --help | --hel | --he | -h) ++ ac_init_help=long ;; ++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ++ ac_init_help=recursive ;; ++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ++ ac_init_help=short ;; ++ ++ -host | --host | --hos | --ho) ++ ac_prev=host_alias ;; ++ -host=* | --host=* | --hos=* | --ho=*) ++ host_alias=$ac_optarg ;; ++ ++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ++ ac_prev=htmldir ;; ++ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ ++ | --ht=*) ++ htmldir=$ac_optarg ;; ++ ++ -includedir | --includedir | --includedi | --included | --include \ ++ | --includ | --inclu | --incl | --inc) ++ ac_prev=includedir ;; ++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ ++ | --includ=* | --inclu=* | --incl=* | --inc=*) ++ includedir=$ac_optarg ;; ++ ++ -infodir | --infodir | --infodi | --infod | --info | --inf) ++ ac_prev=infodir ;; ++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) ++ infodir=$ac_optarg ;; ++ ++ -libdir | --libdir | --libdi | --libd) ++ ac_prev=libdir ;; ++ -libdir=* | --libdir=* | --libdi=* | --libd=*) ++ libdir=$ac_optarg ;; ++ ++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ ++ | --libexe | --libex | --libe) ++ ac_prev=libexecdir ;; ++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ ++ | --libexe=* | --libex=* | --libe=*) ++ libexecdir=$ac_optarg ;; ++ ++ -localedir | --localedir | --localedi | --localed | --locale) ++ ac_prev=localedir ;; ++ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) ++ localedir=$ac_optarg ;; ++ ++ -localstatedir | --localstatedir | --localstatedi | --localstated \ ++ | --localstate | --localstat | --localsta | --localst | --locals) ++ ac_prev=localstatedir ;; ++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ ++ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) ++ localstatedir=$ac_optarg ;; ++ ++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ++ ac_prev=mandir ;; ++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) ++ mandir=$ac_optarg ;; ++ ++ -nfp | --nfp | --nf) ++ # Obsolete; use --without-fp. ++ with_fp=no ;; ++ ++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ++ | --no-cr | --no-c | -n) ++ no_create=yes ;; ++ ++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ ++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ++ no_recursion=yes ;; ++ ++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ ++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ ++ | --oldin | --oldi | --old | --ol | --o) ++ ac_prev=oldincludedir ;; ++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ ++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ ++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) ++ oldincludedir=$ac_optarg ;; ++ ++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ++ ac_prev=prefix ;; ++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ++ prefix=$ac_optarg ;; ++ ++ -program-prefix | --program-prefix | --program-prefi | --program-pref \ ++ | --program-pre | --program-pr | --program-p) ++ ac_prev=program_prefix ;; ++ -program-prefix=* | --program-prefix=* | --program-prefi=* \ ++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) ++ program_prefix=$ac_optarg ;; ++ ++ -program-suffix | --program-suffix | --program-suffi | --program-suff \ ++ | --program-suf | --program-su | --program-s) ++ ac_prev=program_suffix ;; ++ -program-suffix=* | --program-suffix=* | --program-suffi=* \ ++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) ++ program_suffix=$ac_optarg ;; ++ ++ -program-transform-name | --program-transform-name \ ++ | --program-transform-nam | --program-transform-na \ ++ | --program-transform-n | --program-transform- \ ++ | --program-transform | --program-transfor \ ++ | --program-transfo | --program-transf \ ++ | --program-trans | --program-tran \ ++ | --progr-tra | --program-tr | --program-t) ++ ac_prev=program_transform_name ;; ++ -program-transform-name=* | --program-transform-name=* \ ++ | --program-transform-nam=* | --program-transform-na=* \ ++ | --program-transform-n=* | --program-transform-=* \ ++ | --program-transform=* | --program-transfor=* \ ++ | --program-transfo=* | --program-transf=* \ ++ | --program-trans=* | --program-tran=* \ ++ | --progr-tra=* | --program-tr=* | --program-t=*) ++ program_transform_name=$ac_optarg ;; ++ ++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ++ ac_prev=pdfdir ;; ++ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) ++ pdfdir=$ac_optarg ;; ++ ++ -psdir | --psdir | --psdi | --psd | --ps) ++ ac_prev=psdir ;; ++ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) ++ psdir=$ac_optarg ;; ++ ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ silent=yes ;; ++ ++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ++ ac_prev=sbindir ;; ++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ ++ | --sbi=* | --sb=*) ++ sbindir=$ac_optarg ;; ++ ++ -sharedstatedir | --sharedstatedir | --sharedstatedi \ ++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ ++ | --sharedst | --shareds | --shared | --share | --shar \ ++ | --sha | --sh) ++ ac_prev=sharedstatedir ;; ++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ ++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ ++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ ++ | --sha=* | --sh=*) ++ sharedstatedir=$ac_optarg ;; ++ ++ -site | --site | --sit) ++ ac_prev=site ;; ++ -site=* | --site=* | --sit=*) ++ site=$ac_optarg ;; ++ ++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ++ ac_prev=srcdir ;; ++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ++ srcdir=$ac_optarg ;; ++ ++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ ++ | --syscon | --sysco | --sysc | --sys | --sy) ++ ac_prev=sysconfdir ;; ++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ ++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) ++ sysconfdir=$ac_optarg ;; ++ ++ -target | --target | --targe | --targ | --tar | --ta | --t) ++ ac_prev=target_alias ;; ++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) ++ target_alias=$ac_optarg ;; ++ ++ -v | -verbose | --verbose | --verbos | --verbo | --verb) ++ verbose=yes ;; ++ ++ -version | --version | --versio | --versi | --vers | -V) ++ ac_init_version=: ;; ++ ++ -with-* | --with-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid package name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"with_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval with_$ac_useropt=\$ac_optarg ;; ++ ++ -without-* | --without-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid package name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"with_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval with_$ac_useropt=no ;; ++ ++ --x) ++ # Obsolete; use --with-x. ++ with_x=yes ;; ++ ++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ ++ | --x-incl | --x-inc | --x-in | --x-i) ++ ac_prev=x_includes ;; ++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ ++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) ++ x_includes=$ac_optarg ;; ++ ++ -x-libraries | --x-libraries | --x-librarie | --x-librari \ ++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ++ ac_prev=x_libraries ;; ++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ ++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) ++ x_libraries=$ac_optarg ;; ++ ++ -*) as_fn_error $? "unrecognized option: \`$ac_option' ++Try \`$0 --help' for more information" ++ ;; ++ ++ *=*) ++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` ++ # Reject names that are not valid shell variable names. ++ case $ac_envvar in #( ++ '' | [0-9]* | *[!_$as_cr_alnum]* ) ++ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; ++ esac ++ eval $ac_envvar=\$ac_optarg ++ export $ac_envvar ;; ++ ++ *) ++ # FIXME: should be removed in autoconf 3.0. ++ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 ++ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ++ ;; ++ ++ esac ++done ++ ++if test -n "$ac_prev"; then ++ ac_option=--`echo $ac_prev | sed 's/_/-/g'` ++ as_fn_error $? "missing argument to $ac_option" ++fi ++ ++if test -n "$ac_unrecognized_opts"; then ++ case $enable_option_checking in ++ no) ;; ++ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; ++ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; ++ esac ++fi ++ ++# Check all directory arguments for consistency. ++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ ++ datadir sysconfdir sharedstatedir localstatedir includedir \ ++ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ ++ libdir localedir mandir ++do ++ eval ac_val=\$$ac_var ++ # Remove trailing slashes. ++ case $ac_val in ++ */ ) ++ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` ++ eval $ac_var=\$ac_val;; ++ esac ++ # Be sure to have absolute directory names. ++ case $ac_val in ++ [\\/$]* | ?:[\\/]* ) continue;; ++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; ++ esac ++ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" ++done ++ ++# There might be people who depend on the old broken behavior: `$host' ++# used to hold the argument of --host etc. ++# FIXME: To remove some day. ++build=$build_alias ++host=$host_alias ++target=$target_alias ++ ++# FIXME: To remove some day. ++if test "x$host_alias" != x; then ++ if test "x$build_alias" = x; then ++ cross_compiling=maybe ++ elif test "x$build_alias" != "x$host_alias"; then ++ cross_compiling=yes ++ fi ++fi ++ ++ac_tool_prefix= ++test -n "$host_alias" && ac_tool_prefix=$host_alias- ++ ++test "$silent" = yes && exec 6>/dev/null ++ ++ ++ac_pwd=`pwd` && test -n "$ac_pwd" && ++ac_ls_di=`ls -di .` && ++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || ++ as_fn_error $? "working directory cannot be determined" ++test "X$ac_ls_di" = "X$ac_pwd_ls_di" || ++ as_fn_error $? "pwd does not report name of working directory" ++ ++ ++# Find the source files, if location was not specified. ++if test -z "$srcdir"; then ++ ac_srcdir_defaulted=yes ++ # Try the directory containing this script, then the parent directory. ++ ac_confdir=`$as_dirname -- "$as_myself" || ++$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_myself" : 'X\(//\)[^/]' \| \ ++ X"$as_myself" : 'X\(//\)$' \| \ ++ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_myself" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ srcdir=$ac_confdir ++ if test ! -r "$srcdir/$ac_unique_file"; then ++ srcdir=.. ++ fi ++else ++ ac_srcdir_defaulted=no ++fi ++if test ! -r "$srcdir/$ac_unique_file"; then ++ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." ++ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" ++fi ++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ++ac_abs_confdir=`( ++ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" ++ pwd)` ++# When building in place, set srcdir=. ++if test "$ac_abs_confdir" = "$ac_pwd"; then ++ srcdir=. ++fi ++# Remove unnecessary trailing slashes from srcdir. ++# Double slashes in file names in object file debugging info ++# mess up M-x gdb in Emacs. ++case $srcdir in ++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; ++esac ++for ac_var in $ac_precious_vars; do ++ eval ac_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_env_${ac_var}_value=\$${ac_var} ++ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_cv_env_${ac_var}_value=\$${ac_var} ++done ++ ++# ++# Report the --help message. ++# ++if test "$ac_init_help" = "long"; then ++ # Omit some internal or obsolete options to make the list less imposing. ++ # This message is too long to be a string in the A/UX 3.1 sh. ++ cat <<_ACEOF ++\`configure' configures this package to adapt to many kinds of systems. ++ ++Usage: $0 [OPTION]... [VAR=VALUE]... ++ ++To assign environment variables (e.g., CC, CFLAGS...), specify them as ++VAR=VALUE. See below for descriptions of some of the useful variables. ++ ++Defaults for the options are specified in brackets. ++ ++Configuration: ++ -h, --help display this help and exit ++ --help=short display options specific to this package ++ --help=recursive display the short help of all the included packages ++ -V, --version display version information and exit ++ -q, --quiet, --silent do not print \`checking ...' messages ++ --cache-file=FILE cache test results in FILE [disabled] ++ -C, --config-cache alias for \`--cache-file=config.cache' ++ -n, --no-create do not create output files ++ --srcdir=DIR find the sources in DIR [configure dir or \`..'] ++ ++Installation directories: ++ --prefix=PREFIX install architecture-independent files in PREFIX ++ [$ac_default_prefix] ++ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX ++ [PREFIX] ++ ++By default, \`make install' will install all the files in ++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify ++an installation prefix other than \`$ac_default_prefix' using \`--prefix', ++for instance \`--prefix=\$HOME'. ++ ++For better control, use the options below. ++ ++Fine tuning of the installation directories: ++ --bindir=DIR user executables [EPREFIX/bin] ++ --sbindir=DIR system admin executables [EPREFIX/sbin] ++ --libexecdir=DIR program executables [EPREFIX/libexec] ++ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] ++ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] ++ --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --libdir=DIR object code libraries [EPREFIX/lib] ++ --includedir=DIR C header files [PREFIX/include] ++ --oldincludedir=DIR C header files for non-gcc [/usr/include] ++ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] ++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] ++ --infodir=DIR info documentation [DATAROOTDIR/info] ++ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] ++ --mandir=DIR man documentation [DATAROOTDIR/man] ++ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] ++ --htmldir=DIR html documentation [DOCDIR] ++ --dvidir=DIR dvi documentation [DOCDIR] ++ --pdfdir=DIR pdf documentation [DOCDIR] ++ --psdir=DIR ps documentation [DOCDIR] ++_ACEOF ++ ++ cat <<\_ACEOF ++ ++Program names: ++ --program-prefix=PREFIX prepend PREFIX to installed program names ++ --program-suffix=SUFFIX append SUFFIX to installed program names ++ --program-transform-name=PROGRAM run sed PROGRAM on installed program names ++ ++System types: ++ --build=BUILD configure for building on BUILD [guessed] ++ --host=HOST cross-compile to build programs to run on HOST [BUILD] ++ --target=TARGET configure for building compilers for TARGET [HOST] ++_ACEOF ++fi ++ ++if test -n "$ac_init_help"; then ++ ++ cat <<\_ACEOF ++ ++Optional Features: ++ --disable-option-checking ignore unrecognized --enable/--with options ++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) ++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] ++ --disable-dependency-tracking speeds up one-time build ++ --enable-dependency-tracking do not reject slow dependency extractors ++ ++Some influential environment variables: ++ CCAS assembler compiler command (defaults to CC) ++ CCASFLAGS assembler compiler flags (defaults to CFLAGS) ++ ++Use these variables to override the choices made by `configure' or to help ++it to find libraries and programs with nonstandard names/locations. ++ ++Report bugs to the package provider. ++_ACEOF ++ac_status=$? ++fi ++ ++if test "$ac_init_help" = "recursive"; then ++ # If there are subdirs, report their specific --help. ++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue ++ test -d "$ac_dir" || ++ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || ++ continue ++ ac_builddir=. ++ ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix ++ ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ cd "$ac_dir" || { ac_status=$?; continue; } ++ # Check for guested configure. ++ if test -f "$ac_srcdir/configure.gnu"; then ++ echo && ++ $SHELL "$ac_srcdir/configure.gnu" --help=recursive ++ elif test -f "$ac_srcdir/configure"; then ++ echo && ++ $SHELL "$ac_srcdir/configure" --help=recursive ++ else ++ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ fi || ac_status=$? ++ cd "$ac_pwd" || { ac_status=$?; break; } ++ done ++fi ++ ++test -n "$ac_init_help" && exit $ac_status ++if $ac_init_version; then ++ cat <<\_ACEOF ++configure ++generated by GNU Autoconf 2.69 ++ ++Copyright (C) 2012 Free Software Foundation, Inc. ++This configure script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it. ++_ACEOF ++ exit ++fi ++ ++## ------------------------ ## ++## Autoconf initialization. ## ++## ------------------------ ## ++ ++# ac_fn_c_try_compile LINENO ++# -------------------------- ++# Try to compile conftest.$ac_ext, and return whether this succeeded. ++ac_fn_c_try_compile () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ rm -f conftest.$ac_objext ++ if { { ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" ++$as_echo "$ac_try_echo"; } >&5 ++ (eval "$ac_compile") 2>conftest.err ++ ac_status=$? ++ if test -s conftest.err; then ++ grep -v '^ *+' conftest.err >conftest.er1 ++ cat conftest.er1 >&5 ++ mv -f conftest.er1 conftest.err ++ fi ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then : ++ ac_retval=0 ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_retval=1 ++fi ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ as_fn_set_status $ac_retval ++ ++} # ac_fn_c_try_compile ++cat >config.log <<_ACEOF ++This file contains any messages produced by compilers while ++running configure, to aid debugging if configure makes a mistake. ++ ++It was created by $as_me, which was ++generated by GNU Autoconf 2.69. Invocation command line was ++ ++ $ $0 $@ ++ ++_ACEOF ++exec 5>>config.log ++{ ++cat <<_ASUNAME ++## --------- ## ++## Platform. ## ++## --------- ## ++ ++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` ++uname -m = `(uname -m) 2>/dev/null || echo unknown` ++uname -r = `(uname -r) 2>/dev/null || echo unknown` ++uname -s = `(uname -s) 2>/dev/null || echo unknown` ++uname -v = `(uname -v) 2>/dev/null || echo unknown` ++ ++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` ++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` ++ ++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` ++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` ++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` ++/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` ++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` ++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` ++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` ++ ++_ASUNAME ++ ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ $as_echo "PATH: $as_dir" ++ done ++IFS=$as_save_IFS ++ ++} >&5 ++ ++cat >&5 <<_ACEOF ++ ++ ++## ----------- ## ++## Core tests. ## ++## ----------- ## ++ ++_ACEOF ++ ++ ++# Keep a trace of the command line. ++# Strip out --no-create and --no-recursion so they do not pile up. ++# Strip out --silent because we don't want to record it for future runs. ++# Also quote any args containing shell meta-characters. ++# Make two passes to allow for proper duplicate-argument suppression. ++ac_configure_args= ++ac_configure_args0= ++ac_configure_args1= ++ac_must_keep_next=false ++for ac_pass in 1 2 ++do ++ for ac_arg ++ do ++ case $ac_arg in ++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ continue ;; ++ *\'*) ++ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ case $ac_pass in ++ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; ++ 2) ++ as_fn_append ac_configure_args1 " '$ac_arg'" ++ if test $ac_must_keep_next = true; then ++ ac_must_keep_next=false # Got value, back to normal. ++ else ++ case $ac_arg in ++ *=* | --config-cache | -C | -disable-* | --disable-* \ ++ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ ++ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ ++ | -with-* | --with-* | -without-* | --without-* | --x) ++ case "$ac_configure_args0 " in ++ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; ++ esac ++ ;; ++ -* ) ac_must_keep_next=true ;; ++ esac ++ fi ++ as_fn_append ac_configure_args " '$ac_arg'" ++ ;; ++ esac ++ done ++done ++{ ac_configure_args0=; unset ac_configure_args0;} ++{ ac_configure_args1=; unset ac_configure_args1;} ++ ++# When interrupted or exit'd, cleanup temporary files, and complete ++# config.log. We remove comments because anyway the quotes in there ++# would cause problems or look ugly. ++# WARNING: Use '\'' to represent an apostrophe within the trap. ++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. ++trap 'exit_status=$? ++ # Save into config.log some information that might help in debugging. ++ { ++ echo ++ ++ $as_echo "## ---------------- ## ++## Cache variables. ## ++## ---------------- ##" ++ echo ++ # The following way of writing the cache mishandles newlines in values, ++( ++ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( ++ *) { eval $ac_var=; unset $ac_var;} ;; ++ esac ;; ++ esac ++ done ++ (set) 2>&1 | ++ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ sed -n \ ++ "s/'\''/'\''\\\\'\'''\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ++ ;; #( ++ *) ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) ++ echo ++ ++ $as_echo "## ----------------- ## ++## Output variables. ## ++## ----------------- ##" ++ echo ++ for ac_var in $ac_subst_vars ++ do ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ $as_echo "$ac_var='\''$ac_val'\''" ++ done | sort ++ echo ++ ++ if test -n "$ac_subst_files"; then ++ $as_echo "## ------------------- ## ++## File substitutions. ## ++## ------------------- ##" ++ echo ++ for ac_var in $ac_subst_files ++ do ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ $as_echo "$ac_var='\''$ac_val'\''" ++ done | sort ++ echo ++ fi ++ ++ if test -s confdefs.h; then ++ $as_echo "## ----------- ## ++## confdefs.h. ## ++## ----------- ##" ++ echo ++ cat confdefs.h ++ echo ++ fi ++ test "$ac_signal" != 0 && ++ $as_echo "$as_me: caught signal $ac_signal" ++ $as_echo "$as_me: exit $exit_status" ++ } >&5 ++ rm -f core *.core core.conftest.* && ++ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && ++ exit $exit_status ++' 0 ++for ac_signal in 1 2 13 15; do ++ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal ++done ++ac_signal=0 ++ ++# confdefs.h avoids OS command line length limits that DEFS can exceed. ++rm -f -r conftest* confdefs.h ++ ++$as_echo "/* confdefs.h */" > confdefs.h ++ ++# Predefined preprocessor variables. ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_NAME "$PACKAGE_NAME" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_TARNAME "$PACKAGE_TARNAME" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_VERSION "$PACKAGE_VERSION" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_STRING "$PACKAGE_STRING" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_URL "$PACKAGE_URL" ++_ACEOF ++ ++ ++# Let the site file select an alternate cache file if it wants to. ++# Prefer an explicitly selected file to automatically selected ones. ++ac_site_file1=NONE ++ac_site_file2=NONE ++if test -n "$CONFIG_SITE"; then ++ # We do not want a PATH search for config.site. ++ case $CONFIG_SITE in #(( ++ -*) ac_site_file1=./$CONFIG_SITE;; ++ */*) ac_site_file1=$CONFIG_SITE;; ++ *) ac_site_file1=./$CONFIG_SITE;; ++ esac ++elif test "x$prefix" != xNONE; then ++ ac_site_file1=$prefix/share/config.site ++ ac_site_file2=$prefix/etc/config.site ++else ++ ac_site_file1=$ac_default_prefix/share/config.site ++ ac_site_file2=$ac_default_prefix/etc/config.site ++fi ++for ac_site_file in "$ac_site_file1" "$ac_site_file2" ++do ++ test "x$ac_site_file" = xNONE && continue ++ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 ++$as_echo "$as_me: loading site script $ac_site_file" >&6;} ++ sed 's/^/| /' "$ac_site_file" >&5 ++ . "$ac_site_file" \ ++ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "failed to load site script $ac_site_file ++See \`config.log' for more details" "$LINENO" 5; } ++ fi ++done ++ ++if test -r "$cache_file"; then ++ # Some versions of bash will fail to source /dev/null (special files ++ # actually), so we avoid doing that. DJGPP emulates it as a regular file. ++ if test /dev/null != "$cache_file" && test -f "$cache_file"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 ++$as_echo "$as_me: loading cache $cache_file" >&6;} ++ case $cache_file in ++ [\\/]* | ?:[\\/]* ) . "$cache_file";; ++ *) . "./$cache_file";; ++ esac ++ fi ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 ++$as_echo "$as_me: creating cache $cache_file" >&6;} ++ >$cache_file ++fi ++ ++# Check that the precious variables saved in the cache have kept the same ++# value. ++ac_cache_corrupted=false ++for ac_var in $ac_precious_vars; do ++ eval ac_old_set=\$ac_cv_env_${ac_var}_set ++ eval ac_new_set=\$ac_env_${ac_var}_set ++ eval ac_old_val=\$ac_cv_env_${ac_var}_value ++ eval ac_new_val=\$ac_env_${ac_var}_value ++ case $ac_old_set,$ac_new_set in ++ set,) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,set) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 ++$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,);; ++ *) ++ if test "x$ac_old_val" != "x$ac_new_val"; then ++ # differences in whitespace do not lead to failure. ++ ac_old_val_w=`echo x $ac_old_val` ++ ac_new_val_w=`echo x $ac_new_val` ++ if test "$ac_old_val_w" != "$ac_new_val_w"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 ++$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ++ ac_cache_corrupted=: ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 ++$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} ++ eval $ac_var=\$ac_old_val ++ fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 ++$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} ++ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 ++$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} ++ fi;; ++ esac ++ # Pass precious variables to config.status. ++ if test "$ac_new_set" = set; then ++ case $ac_new_val in ++ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *) ac_arg=$ac_var=$ac_new_val ;; ++ esac ++ case " $ac_configure_args " in ++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. ++ *) as_fn_append ac_configure_args " '$ac_arg'" ;; ++ esac ++ fi ++done ++if $ac_cache_corrupted; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 ++$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} ++ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 ++fi ++## -------------------- ## ++## Main body of script. ## ++## -------------------- ## ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ++ac_config_headers="$ac_config_headers config.h" ++ ++ ++if test "${enable_shared}" = "yes" ; then ++ echo "Shared libraries not supported for cross compiling, ignored" ++fi ++ ++if test "$srcdir" = "." ; then ++ if test "${with_target_subdir}" != "." ; then ++ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." ++ else ++ libgloss_topdir="${srcdir}/${with_multisrctop}../.." ++ fi ++else ++ libgloss_topdir="${srcdir}/../.." ++fi ++ac_aux_dir= ++for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do ++ if test -f "$ac_dir/install-sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install-sh -c" ++ break ++ elif test -f "$ac_dir/install.sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install.sh -c" ++ break ++ elif test -f "$ac_dir/shtool"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/shtool install -c" ++ break ++ fi ++done ++if test -z "$ac_aux_dir"; then ++ as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5 ++fi ++ ++# These three variables are undocumented and unsupported, ++# and are intended to be withdrawn in a future Autoconf release. ++# They can cause serious problems if a builder's source tree is in a directory ++# whose full name contains unusual characters. ++ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ++ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ++ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ++ ++ ++ ++# Make sure we can run config.sub. ++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || ++ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 ++$as_echo_n "checking build system type... " >&6; } ++if ${ac_cv_build+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_build_alias=$build_alias ++test "x$ac_build_alias" = x && ++ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` ++test "x$ac_build_alias" = x && ++ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 ++$as_echo "$ac_cv_build" >&6; } ++case $ac_cv_build in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; ++esac ++build=$ac_cv_build ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_build ++shift ++build_cpu=$1 ++build_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++build_os=$* ++IFS=$ac_save_IFS ++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 ++$as_echo_n "checking host system type... " >&6; } ++if ${ac_cv_host+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test "x$host_alias" = x; then ++ ac_cv_host=$ac_cv_build ++else ++ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 ++$as_echo "$ac_cv_host" >&6; } ++case $ac_cv_host in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; ++esac ++host=$ac_cv_host ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_host ++shift ++host_cpu=$1 ++host_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++host_os=$* ++IFS=$ac_save_IFS ++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 ++$as_echo_n "checking target system type... " >&6; } ++if ${ac_cv_target+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test "x$target_alias" = x; then ++ ac_cv_target=$ac_cv_host ++else ++ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 ++$as_echo "$ac_cv_target" >&6; } ++case $ac_cv_target in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; ++esac ++target=$ac_cv_target ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_target ++shift ++target_cpu=$1 ++target_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++target_os=$* ++IFS=$ac_save_IFS ++case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac ++ ++ ++# The aliases save the names the user supplied, while $host etc. ++# will get canonicalized. ++test -n "$target_alias" && ++ test "$program_prefix$program_suffix$program_transform_name" = \ ++ NONENONEs,x,x, && ++ program_prefix=${target_alias}- ++ ++test "$program_prefix" != NONE && ++ program_transform_name="s&^&$program_prefix&;$program_transform_name" ++# Use a double $ so make ignores it. ++test "$program_suffix" != NONE && ++ program_transform_name="s&\$&$program_suffix&;$program_transform_name" ++# Double any \ or $. ++# By default was `s,x,x', remove it if useless. ++ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' ++program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` ++ ++ ++# Find a good install program. We prefer a C program (faster), ++# so one script is as good as another. But avoid the broken or ++# incompatible versions: ++# SysV /etc/install, /usr/sbin/install ++# SunOS /usr/etc/install ++# IRIX /sbin/install ++# AIX /bin/install ++# AmigaOS /C/install, which installs bootblocks on floppy discs ++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag ++# AFS /usr/afsws/bin/install, which mishandles nonexistent args ++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" ++# OS/2's system install, which has a completely different semantic ++# ./install, which can be erroneously created by make from ./install.sh. ++# Reject install programs that cannot install multiple files. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 ++$as_echo_n "checking for a BSD-compatible install... " >&6; } ++if test -z "$INSTALL"; then ++if ${ac_cv_path_install+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ # Account for people who put trailing slashes in PATH elements. ++case $as_dir/ in #(( ++ ./ | .// | /[cC]/* | \ ++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ++ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ ++ /usr/ucb/* ) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then ++ if test $ac_prog = install && ++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ elif test $ac_prog = install && ++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # program-specific install script used by HP pwplus--don't use. ++ : ++ else ++ rm -rf conftest.one conftest.two conftest.dir ++ echo one > conftest.one ++ echo two > conftest.two ++ mkdir conftest.dir ++ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && ++ test -s conftest.one && test -s conftest.two && ++ test -s conftest.dir/conftest.one && ++ test -s conftest.dir/conftest.two ++ then ++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" ++ break 3 ++ fi ++ fi ++ fi ++ done ++ done ++ ;; ++esac ++ ++ done ++IFS=$as_save_IFS ++ ++rm -rf conftest.one conftest.two conftest.dir ++ ++fi ++ if test "${ac_cv_path_install+set}" = set; then ++ INSTALL=$ac_cv_path_install ++ else ++ # As a last resort, use the slow shell script. Don't cache a ++ # value for INSTALL within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the value is a relative name. ++ INSTALL=$ac_install_sh ++ fi ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 ++$as_echo "$INSTALL" >&6; } ++ ++# Use test -z because SunOS4 sh mishandles braces in ${var-val}. ++# It thinks the first close brace ends the variable substitution. ++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' ++ ++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' ++ ++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++ ++ ++$as_echo "#define HAVE_GNU_LD 1" >>confdefs.h ++ ++case "${target}" in ++ *-*-cygwin*) ++ ;; ++ a29k-amd-udi) ++ ;; ++ aarch64-*-elf) ++ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h ++ ;; ++ arc-*-*) ++ ;; ++ arm-*-eabi) ++ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h ++ ;; ++ arm*-*-*) ++ ;; ++ bfin-*-*) ++ ;; ++ cris-*-* | crisv32-*-*) ++ ;; ++ d10v*) ++ ;; ++ h8300*-*-*) ++ ;; ++ h8500-*-*) ++ ;; ++ i345686-*-sco*) ++ ;; ++ lm32-*-*) ++ ;; ++ m32r-*-*) ++ ;; ++ mn10?00-*-*) ++ ;; ++ powerpcle-*-pe) ++ ;; ++ sh*-*-*) ++ ;; ++ sparc-sun-sunos*) ++ ;; ++ sparc64-*-*) ++ ;; ++ v850*-*-*) ++ ;; ++ w65-*-*) ++ ;; ++ xstormy16-*-*) ++ ;; ++ z8k-*-*) ++ ;; ++ *) ++ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h ++ ++ ;; ++esac ++ ++case "${target}" in ++ *-*-elf) ++ $as_echo "#define HAVE_ELF 1" >>confdefs.h ++ ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 ++$as_echo_n "checking for .previous assembler directive... " >&6; } ++if ${libc_cv_asm_previous_directive+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_asm_previous_directive=no ++ cat > conftest.s <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_asm_previous_directive=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 ++$as_echo "$libc_cv_asm_previous_directive" >&6; } ++ ++ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then ++ $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h ++ ++ fi ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 ++$as_echo_n "checking for .popsection assembler directive... " >&6; } ++if ${libc_cv_asm_popsection_directive+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_asm_popsection_directive=no ++ cat > conftest.s <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_asm_popsection_directive=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5 ++$as_echo "$libc_cv_asm_popsection_directive" >&6; } ++ ++ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then ++ $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h ++ ++ fi ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for section attributes" >&5 ++$as_echo_n "checking for section attributes... " >&6; } ++if ${libc_cv_section_attributes+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_section_attributes=no ++ cat > conftest.c <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_section_attributes=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_section_attributes" >&5 ++$as_echo "$libc_cv_section_attributes" >&6; } ++ if test "x${libc_cv_section_attributes}" = "xyes"; then ++ $as_echo "#define HAVE_SECTION_ATTRIBUTES 1" >>confdefs.h ++ ++ fi ++ ;; ++esac ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 ++$as_echo_n "checking for symbol prefix... " >&6; } ++if ${libc_cv_symbol_prefix+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat > conftest.c <<\EOF ++foo () { } ++EOF ++libc_cv_symbol_prefix=none ++if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; ++then ++ libc_cv_symbol_prefix='$' ++else ++ if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; ++ then ++ libc_cv_symbol_prefix=_ ++ fi ++fi ++rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_symbol_prefix" >&5 ++$as_echo "$libc_cv_symbol_prefix" >&6; } ++if test $libc_cv_symbol_prefix != none; then ++ cat >>confdefs.h <<_ACEOF ++#define __SYMBOL_PREFIX "$libc_cv_symbol_prefix" ++_ACEOF ++ ++else ++ $as_echo "#define __SYMBOL_PREFIX \"\"" >>confdefs.h ++ ++fi ++ ++rm -rf .tst 2>/dev/null ++mkdir .tst 2>/dev/null ++if test -d .tst; then ++ am__leading_dot=. ++else ++ am__leading_dot=_ ++fi ++rmdir .tst 2>/dev/null ++ ++DEPDIR="${am__leading_dot}deps" ++ ++ac_config_commands="$ac_config_commands depfiles" ++ ++ ++am_make=${MAKE-make} ++cat > confinc << 'END' ++am__doit: ++ @echo done ++.PHONY: am__doit ++END ++# If we don't find an include directive, just comment out the code. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 ++$as_echo_n "checking for style of include used by $am_make... " >&6; } ++am__include="#" ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# We grep out `Entering directory' and `Leaving directory' ++# messages which can occur if `w' ends up in MAKEFLAGS. ++# In particular we don't look at `^make:' because GNU make might ++# be invoked under some other name (usually "gmake"), in which ++# case it prints its new name instead of `make'. ++if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then ++ am__include=include ++ am__quote= ++ _am_result=GNU ++fi ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then ++ am__include=.include ++ am__quote="\"" ++ _am_result=BSD ++ fi ++fi ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 ++$as_echo "$_am_result" >&6; } ++rm -f confinc confmf ++ ++# Check whether --enable-dependency-tracking was given. ++if test "${enable_dependency_tracking+set}" = set; then : ++ enableval=$enable_dependency_tracking; ++fi ++ ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++fi ++ ++ ++if test "x$enable_dependency_tracking" != xno; then ++ AMDEP_TRUE= ++ AMDEP_FALSE='#' ++else ++ AMDEP_TRUE='#' ++ AMDEP_FALSE= ++fi ++ ++ ++ ++# Extract the first word of "gcc", so it can be a program name with args. ++set dummy gcc; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_CC+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="gcc" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++$as_echo "$CC" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ ++depcc="$CC" am_compiler_list= ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++$as_echo_n "checking dependency style of $depcc... " >&6; } ++if ${am_cv_CC_dependencies_compiler_type+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ # We will build objects and dependencies in a subdirectory because ++ # it helps to detect inapplicable dependency modes. For instance ++ # both Tru64's cc and ICC support -MD to output dependencies as a ++ # side effect of compilation, but ICC will put the dependencies in ++ # the current directory while Tru64 will put them in the object ++ # directory. ++ mkdir sub ++ ++ am_cv_CC_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # Setup a source with many dependencies, because some compilers ++ # like to wrap large dependency lists on column 80 (with \), and ++ # we should not choose a depcomp mode which is confused by this. ++ # ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ : > sub/conftest.c ++ for i in 1 2 3 4 5 6; do ++ echo '#include "conftst'$i'.h"' >> sub/conftest.c ++ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with ++ # Solaris 8's {/usr,}/bin/sh. ++ touch sub/conftst$i.h ++ done ++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf ++ ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ ++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ ++ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ ++ >/dev/null 2>conftest.err && ++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && ++ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ # icc doesn't choke on unknown options, it will just issue warnings ++ # or remarks (even with -Werror). So we grep stderr for any message ++ # that says an option was ignored or not supported. ++ # When given -MP, icc 7.0 and 7.1 complain thusly: ++ # icc: Command line warning: ignoring option '-M'; no argument required ++ # The diagnosis changed in icc 8.0: ++ # icc: Command line remark: option '-MP' not supported ++ if (grep 'ignoring option' conftest.err || ++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else ++ am_cv_CC_dependencies_compiler_type=$depmode ++ break ++ fi ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_CC_dependencies_compiler_type=none ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type ++ ++ ++ ++if ++ test "x$enable_dependency_tracking" != xno \ ++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then ++ am__fastdepCC_TRUE= ++ am__fastdepCC_FALSE='#' ++else ++ am__fastdepCC_TRUE='#' ++ am__fastdepCC_FALSE= ++fi ++ ++ ++if test -z "$CC"; then ++ # Extract the first word of "cc", so it can be a program name with args. ++set dummy cc; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_CC+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ ac_prog_rejected=no ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ++ ac_prog_rejected=yes ++ continue ++ fi ++ ac_cv_prog_CC="cc" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++if test $ac_prog_rejected = yes; then ++ # We found a bogon in the path, so make sure we never use it. ++ set dummy $ac_cv_prog_CC ++ shift ++ if test $# != 0; then ++ # We chose a different compiler from the bogus one. ++ # However, it has the same basename, so the bogon will be chosen ++ # first if we set CC to just the basename; use the full file name. ++ shift ++ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" ++ fi ++fi ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++$as_echo "$CC" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5 ++fi ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5 ++$as_echo_n "checking whether we are using GNU C... " >&6; } ++if ${ac_cv_c_compiler_gnu+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat > conftest.c <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then ++ ac_cv_c_compiler_gnu=yes ++else ++ ac_cv_c_compiler_gnu=no ++fi ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++$as_echo "$ac_cv_c_compiler_gnu" >&6; } ++ ++if test $ac_cv_c_compiler_gnu = yes; then ++ GCC=yes ++ ac_test_CFLAGS="${CFLAGS+set}" ++ ac_save_CFLAGS="$CFLAGS" ++ CFLAGS= ++ ac_test_CFLAGS=${CFLAGS+set} ++ac_save_CFLAGS=$CFLAGS ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++$as_echo_n "checking whether $CC accepts -g... " >&6; } ++if ${ac_cv_prog_cc_g+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_save_c_werror_flag=$ac_c_werror_flag ++ ac_c_werror_flag=yes ++ ac_cv_prog_cc_g=no ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ac_cv_prog_cc_g=yes ++else ++ CFLAGS="" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ++else ++ ac_c_werror_flag=$ac_save_c_werror_flag ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ac_cv_prog_cc_g=yes ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ac_c_werror_flag=$ac_save_c_werror_flag ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++$as_echo "$ac_cv_prog_cc_g" >&6; } ++if test "$ac_test_CFLAGS" = set; then ++ CFLAGS=$ac_save_CFLAGS ++elif test $ac_cv_prog_cc_g = yes; then ++ if test "$GCC" = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-g" ++ fi ++else ++ if test "$GCC" = yes; then ++ CFLAGS="-O2" ++ else ++ CFLAGS= ++ fi ++fi ++ if test "$ac_test_CFLAGS" = set; then ++ CFLAGS="$ac_save_CFLAGS" ++ elif test $ac_cv_prog_cc_g = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-O2" ++ fi ++else ++ GCC= ++ test "${CFLAGS+set}" = set || CFLAGS="-g" ++fi ++ ++AS=${AS-as} ++ ++AR=${AR-ar} ++ ++LD=${LD-ld} ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. ++set dummy ${ac_tool_prefix}ranlib; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_RANLIB+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$RANLIB"; then ++ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++RANLIB=$ac_cv_prog_RANLIB ++if test -n "$RANLIB"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 ++$as_echo "$RANLIB" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_RANLIB"; then ++ ac_ct_RANLIB=$RANLIB ++ # Extract the first word of "ranlib", so it can be a program name with args. ++set dummy ranlib; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_RANLIB"; then ++ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_RANLIB="ranlib" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB ++if test -n "$ac_ct_RANLIB"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 ++$as_echo "$ac_ct_RANLIB" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_RANLIB" = x; then ++ RANLIB=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ RANLIB=$ac_ct_RANLIB ++ fi ++else ++ RANLIB="$ac_cv_prog_RANLIB" ++fi ++ ++# By default we simply use the C compiler to build assembly code. ++ ++test "${CCAS+set}" = set || CCAS=$CC ++test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS ++ ++ ++ ++ ++host_makefile_frag=${srcdir}/../config/default.mh ++ ++host_makefile_frag_path=$host_makefile_frag ++ ++ ++ ++ac_config_files="$ac_config_files Makefile" ++ ++cat >confcache <<\_ACEOF ++# This file is a shell script that caches the results of configure ++# tests run on this system so they can be shared between configure ++# scripts and configure runs, see configure's option --config-cache. ++# It is not useful on other systems. If it contains results you don't ++# want to keep, you may remove or edit it. ++# ++# config.status only pays attention to the cache file if you give it ++# the --recheck option to rerun configure. ++# ++# `ac_cv_env_foo' variables (set or unset) will be overridden when ++# loading this file, other *unset* `ac_cv_foo' will be assigned the ++# following values. ++ ++_ACEOF ++ ++# The following way of writing the cache mishandles newlines in values, ++# but we know of no workaround that is simple, portable, and efficient. ++# So, we kill variables containing newlines. ++# Ultrix sh set writes to stderr and can't be redirected directly, ++# and sets the high bit in the cache file unless we assign to the vars. ++( ++ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( ++ *) { eval $ac_var=; unset $ac_var;} ;; ++ esac ;; ++ esac ++ done ++ ++ (set) 2>&1 | ++ case $as_nl`(ac_space=' '; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ # `set' does not quote correctly, so add quotes: double-quote ++ # substitution turns \\\\ into \\, and sed turns \\ into \. ++ sed -n \ ++ "s/'/'\\\\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ++ ;; #( ++ *) ++ # `set' quotes correctly as required by POSIX, so do not add quotes. ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) | ++ sed ' ++ /^ac_cv_env_/b end ++ t clear ++ :clear ++ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ t end ++ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ ++ :end' >>confcache ++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else ++ if test -w "$cache_file"; then ++ if test "x$cache_file" != "x/dev/null"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++$as_echo "$as_me: updating cache $cache_file" >&6;} ++ if test ! -f "$cache_file" || test -h "$cache_file"; then ++ cat confcache >"$cache_file" ++ else ++ case $cache_file in #( ++ */* | ?:*) ++ mv -f confcache "$cache_file"$$ && ++ mv -f "$cache_file"$$ "$cache_file" ;; #( ++ *) ++ mv -f confcache "$cache_file" ;; ++ esac ++ fi ++ fi ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} ++ fi ++fi ++rm -f confcache ++ ++test "x$prefix" = xNONE && prefix=$ac_default_prefix ++# Let make expand exec_prefix. ++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' ++ ++DEFS=-DHAVE_CONFIG_H ++ ++ac_libobjs= ++ac_ltlibobjs= ++U= ++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue ++ # 1. Remove the extension, and $U if already installed. ++ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ++ ac_i=`$as_echo "$ac_i" | sed "$ac_script"` ++ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR ++ # will be set to the directory where LIBOBJS objects are built. ++ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" ++ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' ++done ++LIBOBJS=$ac_libobjs ++ ++LTLIBOBJS=$ac_ltlibobjs ++ ++ ++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then ++ as_fn_error $? "conditional \"AMDEP\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then ++ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++ ++: "${CONFIG_STATUS=./config.status}" ++ac_write_fail=0 ++ac_clean_files_save=$ac_clean_files ++ac_clean_files="$ac_clean_files $CONFIG_STATUS" ++{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 ++$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} ++as_write_fail=0 ++cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 ++#! $SHELL ++# Generated by $as_me. ++# Run this file to recreate the current configuration. ++# Compiler output produced by configure, useful for debugging ++# configure, is in config.log if it exists. ++ ++debug=false ++ac_cs_recheck=false ++ac_cs_silent=false ++ ++SHELL=\${CONFIG_SHELL-$SHELL} ++export SHELL ++_ASEOF ++cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ++## -------------------- ## ++## M4sh Initialization. ## ++## -------------------- ## ++ ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++ ++ ++as_nl=' ++' ++export as_nl ++# Printing a long string crashes Solaris 7 /usr/bin/printf. ++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo ++# Prefer a ksh shell builtin over an external printf program on Solaris, ++# but without wasting forks for bash or zsh. ++if test -z "$BASH_VERSION$ZSH_VERSION" \ ++ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='print -r --' ++ as_echo_n='print -rn --' ++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='printf %s\n' ++ as_echo_n='printf %s' ++else ++ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then ++ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' ++ as_echo_n='/usr/ucb/echo -n' ++ else ++ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' ++ as_echo_n_body='eval ++ arg=$1; ++ case $arg in #( ++ *"$as_nl"*) ++ expr "X$arg" : "X\\(.*\\)$as_nl"; ++ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; ++ esac; ++ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ++ ' ++ export as_echo_n_body ++ as_echo_n='sh -c $as_echo_n_body as_echo' ++ fi ++ export as_echo_body ++ as_echo='sh -c $as_echo_body as_echo' ++fi ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ PATH_SEPARATOR=: ++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { ++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || ++ PATH_SEPARATOR=';' ++ } ++fi ++ ++ ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++IFS=" "" $as_nl" ++ ++# Find who we are. Look in the path if we contain no directory separator. ++as_myself= ++case $0 in #(( ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++ done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ exit 1 ++fi ++ ++# Unset variables that we do not need and which cause bugs (e.g. in ++# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" ++# suppresses any "Segmentation fault" message there. '((' could ++# trigger a bug in pdksh 5.2.14. ++for as_var in BASH_ENV ENV MAIL MAILPATH ++do eval test x\${$as_var+set} = xset \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# CDPATH. ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH ++ ++ ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ $as_echo "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error ++ ++ ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status ++ ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit ++ ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : ++ eval 'as_fn_append () ++ { ++ eval $1+=\$2 ++ }' ++else ++ as_fn_append () ++ { ++ eval $1=\$$1\$2 ++ } ++fi # as_fn_append ++ ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith ++ ++ ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null ++fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++ else ++ as_ln_s='cp -pR' ++ fi ++else ++ as_ln_s='cp -pR' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null ++ ++ ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ ++ ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" ++ ++ ++} # as_fn_mkdir_p ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++ ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++ ++exec 6>&1 ++## ----------------------------------- ## ++## Main body of $CONFIG_STATUS script. ## ++## ----------------------------------- ## ++_ASEOF ++test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# Save the log message, to keep $0 and so on meaningful, and to ++# report actual input values of CONFIG_FILES etc. instead of their ++# values after options handling. ++ac_log=" ++This file was extended by $as_me, which was ++generated by GNU Autoconf 2.69. Invocation command line was ++ ++ CONFIG_FILES = $CONFIG_FILES ++ CONFIG_HEADERS = $CONFIG_HEADERS ++ CONFIG_LINKS = $CONFIG_LINKS ++ CONFIG_COMMANDS = $CONFIG_COMMANDS ++ $ $0 $@ ++ ++on `(hostname || uname -n) 2>/dev/null | sed 1q` ++" ++ ++_ACEOF ++ ++case $ac_config_files in *" ++"*) set x $ac_config_files; shift; ac_config_files=$*;; ++esac ++ ++case $ac_config_headers in *" ++"*) set x $ac_config_headers; shift; ac_config_headers=$*;; ++esac ++ ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# Files that config.status was made for. ++config_files="$ac_config_files" ++config_headers="$ac_config_headers" ++config_commands="$ac_config_commands" ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ac_cs_usage="\ ++\`$as_me' instantiates files and other configuration actions ++from templates according to the current configuration. Unless the files ++and actions are specified as TAGs, all are instantiated by default. ++ ++Usage: $0 [OPTION]... [TAG]... ++ ++ -h, --help print this help, then exit ++ -V, --version print version number and configuration settings, then exit ++ --config print configuration, then exit ++ -q, --quiet, --silent ++ do not print progress messages ++ -d, --debug don't remove temporary files ++ --recheck update $as_me by reconfiguring in the same conditions ++ --file=FILE[:TEMPLATE] ++ instantiate the configuration file FILE ++ --header=FILE[:TEMPLATE] ++ instantiate the configuration header FILE ++ ++Configuration files: ++$config_files ++ ++Configuration headers: ++$config_headers ++ ++Configuration commands: ++$config_commands ++ ++Report bugs to the package provider." ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ++ac_cs_version="\\ ++config.status ++configured by $0, generated by GNU Autoconf 2.69, ++ with options \\"\$ac_cs_config\\" ++ ++Copyright (C) 2012 Free Software Foundation, Inc. ++This config.status script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it." ++ ++ac_pwd='$ac_pwd' ++srcdir='$srcdir' ++INSTALL='$INSTALL' ++test -n "\$AWK" || AWK=awk ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# The default lists apply if the user does not specify any file. ++ac_need_defaults=: ++while test $# != 0 ++do ++ case $1 in ++ --*=?*) ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ++ ac_shift=: ++ ;; ++ --*=) ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg= ++ ac_shift=: ++ ;; ++ *) ++ ac_option=$1 ++ ac_optarg=$2 ++ ac_shift=shift ++ ;; ++ esac ++ ++ case $ac_option in ++ # Handling of the options. ++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ++ ac_cs_recheck=: ;; ++ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) ++ $as_echo "$ac_cs_version"; exit ;; ++ --config | --confi | --conf | --con | --co | --c ) ++ $as_echo "$ac_cs_config"; exit ;; ++ --debug | --debu | --deb | --de | --d | -d ) ++ debug=: ;; ++ --file | --fil | --fi | --f ) ++ $ac_shift ++ case $ac_optarg in ++ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ '') as_fn_error $? "missing file argument" ;; ++ esac ++ as_fn_append CONFIG_FILES " '$ac_optarg'" ++ ac_need_defaults=false;; ++ --header | --heade | --head | --hea ) ++ $ac_shift ++ case $ac_optarg in ++ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ as_fn_append CONFIG_HEADERS " '$ac_optarg'" ++ ac_need_defaults=false;; ++ --he | --h) ++ # Conflict between --help and --header ++ as_fn_error $? "ambiguous option: \`$1' ++Try \`$0 --help' for more information.";; ++ --help | --hel | -h ) ++ $as_echo "$ac_cs_usage"; exit ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil | --si | --s) ++ ac_cs_silent=: ;; ++ ++ # This is an error. ++ -*) as_fn_error $? "unrecognized option: \`$1' ++Try \`$0 --help' for more information." ;; ++ ++ *) as_fn_append ac_config_targets " $1" ++ ac_need_defaults=false ;; ++ ++ esac ++ shift ++done ++ ++ac_configure_extra_args= ++ ++if $ac_cs_silent; then ++ exec 6>/dev/null ++ ac_configure_extra_args="$ac_configure_extra_args --silent" ++fi ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++if \$ac_cs_recheck; then ++ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion ++ shift ++ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 ++ CONFIG_SHELL='$SHELL' ++ export CONFIG_SHELL ++ exec "\$@" ++fi ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++exec 5>>config.log ++{ ++ echo ++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ++## Running $as_me. ## ++_ASBOX ++ $as_echo "$ac_log" ++} >&5 ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# ++# INIT-COMMANDS ++# ++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" ++srcdir=${srcdir} ++target=${target} ++with_multisubdir=${with_multisubdir} ++ac_configure_args="${ac_configure_args} --enable-multilib" ++CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} ++libgloss_topdir=${libgloss_topdir} ++ ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ ++# Handling of arguments. ++for ac_config_target in $ac_config_targets ++do ++ case $ac_config_target in ++ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; ++ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; ++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ ++ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; ++ esac ++done ++ ++ ++# If the user did not use the arguments to specify the items to instantiate, ++# then the envvar interface is used. Set only those that are not. ++# We use the long form for the default assignment because of an extremely ++# bizarre bug on SunOS 4.1.3. ++if $ac_need_defaults; then ++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files ++ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers ++ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands ++fi ++ ++# Have a temporary directory for convenience. Make it in the build tree ++# simply because there is no reason against having it here, and in addition, ++# creating and moving files from /tmp can sometimes cause problems. ++# Hook for its removal unless debugging. ++# Note that there is a small window in which the directory will not be cleaned: ++# after its creation but before its name has been assigned to `$tmp'. ++$debug || ++{ ++ tmp= ac_tmp= ++ trap 'exit_status=$? ++ : "${ac_tmp:=$tmp}" ++ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ++' 0 ++ trap 'as_fn_exit 1' 1 2 13 15 ++} ++# Create a (secure) tmp directory for tmp files. ++ ++{ ++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && ++ test -d "$tmp" ++} || ++{ ++ tmp=./conf$$-$RANDOM ++ (umask 077 && mkdir "$tmp") ++} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ++ac_tmp=$tmp ++ ++# Set up the scripts for CONFIG_FILES section. ++# No need to generate them if there are no CONFIG_FILES. ++# This happens for instance with `./config.status config.h'. ++if test -n "$CONFIG_FILES"; then ++ ++if $AWK 'BEGIN { getline <"/dev/null" }' /dev/null; then ++ ac_cs_awk_getline=: ++ ac_cs_awk_pipe_init= ++ ac_cs_awk_read_file=' ++ while ((getline aline < (F[key])) > 0) ++ print(aline) ++ close(F[key])' ++ ac_cs_awk_pipe_fini= ++else ++ ac_cs_awk_getline=false ++ ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\"" ++ ac_cs_awk_read_file=' ++ print "|#_!!_#|" ++ print "cat " F[key] " &&" ++ '$ac_cs_awk_pipe_init ++ # The final `:' finishes the AND list. ++ ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }' ++fi ++ac_cr=`echo X | tr X '\015'` ++# On cygwin, bash can eat \r inside `` if the user requested igncr. ++# But we know of no other shell where ac_cr would be empty at this ++# point, so we can use a bashism as a fallback. ++if test "x$ac_cr" = x; then ++ eval ac_cr=\$\'\\r\' ++fi ++ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` ++if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ++ ac_cs_awk_cr='\\r' ++else ++ ac_cs_awk_cr=$ac_cr ++fi ++ ++echo 'BEGIN {' >"$ac_tmp/subs1.awk" && ++_ACEOF ++ ++# Create commands to substitute file output variables. ++{ ++ echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && ++ echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && ++ echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && ++ echo "_ACAWK" && ++ echo "_ACEOF" ++} >conf$$files.sh && ++. ./conf$$files.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++rm -f conf$$files.sh ++ ++{ ++ echo "cat >conf$$subs.awk <<_ACEOF" && ++ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && ++ echo "_ACEOF" ++} >conf$$subs.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ++ac_delim='%!_!# ' ++for ac_last_try in false false false false false :; do ++ . ./conf$$subs.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ ++ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` ++ if test $ac_delim_n = $ac_delim_num; then ++ break ++ elif $ac_last_try; then ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++ fi ++done ++rm -f conf$$subs.sh ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && ++_ACEOF ++sed -n ' ++h ++s/^/S["/; s/!.*/"]=/ ++p ++g ++s/^[^!]*!// ++:repl ++t repl ++s/'"$ac_delim"'$// ++t delim ++:nl ++h ++s/\(.\{148\}\)..*/\1/ ++t more1 ++s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ ++p ++n ++b repl ++:more1 ++s/["\\]/\\&/g; s/^/"/; s/$/"\\/ ++p ++g ++s/.\{148\}// ++t nl ++:delim ++h ++s/\(.\{148\}\)..*/\1/ ++t more2 ++s/["\\]/\\&/g; s/^/"/; s/$/"/ ++p ++b ++:more2 ++s/["\\]/\\&/g; s/^/"/; s/$/"\\/ ++p ++g ++s/.\{148\}// ++t delim ++' >$CONFIG_STATUS || ac_write_fail=1 ++rm -f conf$$subs.awk ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++_ACAWK ++cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && ++ for (key in S) S_is_set[key] = 1 ++ FS = "" ++ \$ac_cs_awk_pipe_init ++} ++{ ++ line = $ 0 ++ nfields = split(line, field, "@") ++ substed = 0 ++ len = length(field[1]) ++ for (i = 2; i < nfields; i++) { ++ key = field[i] ++ keylen = length(key) ++ if (S_is_set[key]) { ++ value = S[key] ++ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) ++ len += length(value) + length(field[++i]) ++ substed = 1 ++ } else ++ len += 1 + keylen ++ } ++ if (nfields == 3 && !substed) { ++ key = field[2] ++ if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) { ++ \$ac_cs_awk_read_file ++ next ++ } ++ } ++ print line ++} ++\$ac_cs_awk_pipe_fini ++_ACAWK ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then ++ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" ++else ++ cat ++fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ ++ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 ++_ACEOF ++ ++# VPATH may cause trouble with some makes, so we remove sole $(srcdir), ++# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and ++# trailing colons and then remove the whole line if VPATH becomes empty ++# (actually we leave an empty line to preserve line numbers). ++if test "x$srcdir" = x.; then ++ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ ++h ++s/// ++s/^/:/ ++s/[ ]*$/:/ ++s/:\$(srcdir):/:/g ++s/:\${srcdir}:/:/g ++s/:@srcdir@:/:/g ++s/^:*// ++s/:*$// ++x ++s/\(=[ ]*\).*/\1/ ++G ++s/\n// ++s/^[^=]*=[ ]*$// ++}' ++fi ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++fi # test -n "$CONFIG_FILES" ++ ++# Set up the scripts for CONFIG_HEADERS section. ++# No need to generate them if there are no CONFIG_HEADERS. ++# This happens for instance with `./config.status Makefile'. ++if test -n "$CONFIG_HEADERS"; then ++cat >"$ac_tmp/defines.awk" <<\_ACAWK || ++BEGIN { ++_ACEOF ++ ++# Transform confdefs.h into an awk script `defines.awk', embedded as ++# here-document in config.status, that substitutes the proper values into ++# config.h.in to produce config.h. ++ ++# Create a delimiter string that does not exist in confdefs.h, to ease ++# handling of long lines. ++ac_delim='%!_!# ' ++for ac_last_try in false false :; do ++ ac_tt=`sed -n "/$ac_delim/p" confdefs.h` ++ if test -z "$ac_tt"; then ++ break ++ elif $ac_last_try; then ++ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++ fi ++done ++ ++# For the awk script, D is an array of macro values keyed by name, ++# likewise P contains macro parameters if any. Preserve backslash ++# newline sequences. ++ ++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* ++sed -n ' ++s/.\{148\}/&'"$ac_delim"'/g ++t rset ++:rset ++s/^[ ]*#[ ]*define[ ][ ]*/ / ++t def ++d ++:def ++s/\\$// ++t bsnl ++s/["\\]/\\&/g ++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ ++D["\1"]=" \3"/p ++s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p ++d ++:bsnl ++s/["\\]/\\&/g ++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ ++D["\1"]=" \3\\\\\\n"\\/p ++t cont ++s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p ++t cont ++d ++:cont ++n ++s/.\{148\}/&'"$ac_delim"'/g ++t clear ++:clear ++s/\\$// ++t bsnlc ++s/["\\]/\\&/g; s/^/"/; s/$/"/p ++d ++:bsnlc ++s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p ++b cont ++' >$CONFIG_STATUS || ac_write_fail=1 ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ for (key in D) D_is_set[key] = 1 ++ FS = "" ++} ++/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { ++ line = \$ 0 ++ split(line, arg, " ") ++ if (arg[1] == "#") { ++ defundef = arg[2] ++ mac1 = arg[3] ++ } else { ++ defundef = substr(arg[1], 2) ++ mac1 = arg[2] ++ } ++ split(mac1, mac2, "(") #) ++ macro = mac2[1] ++ prefix = substr(line, 1, index(line, defundef) - 1) ++ if (D_is_set[macro]) { ++ # Preserve the white space surrounding the "#". ++ print prefix "define", macro P[macro] D[macro] ++ next ++ } else { ++ # Replace #undef with comments. This is necessary, for example, ++ # in the case of _POSIX_SOURCE, which is predefined and required ++ # on some systems where configure will not decide to define it. ++ if (defundef == "undef") { ++ print "/*", prefix defundef, macro, "*/" ++ next ++ } ++ } ++} ++{ print } ++_ACAWK ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 ++fi # test -n "$CONFIG_HEADERS" ++ ++ ++eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" ++shift ++for ac_tag ++do ++ case $ac_tag in ++ :[FHLC]) ac_mode=$ac_tag; continue;; ++ esac ++ case $ac_mode$ac_tag in ++ :[FHL]*:*);; ++ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; ++ :[FH]-) ac_tag=-:-;; ++ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; ++ esac ++ ac_save_IFS=$IFS ++ IFS=: ++ set x $ac_tag ++ IFS=$ac_save_IFS ++ shift ++ ac_file=$1 ++ shift ++ ++ case $ac_mode in ++ :L) ac_source=$1;; ++ :[FH]) ++ ac_file_inputs= ++ for ac_f ++ do ++ case $ac_f in ++ -) ac_f="$ac_tmp/stdin";; ++ *) # Look for the file first in the build tree, then in the source tree ++ # (if the path is not absolute). The absolute path cannot be DOS-style, ++ # because $ac_f cannot contain `:'. ++ test -f "$ac_f" || ++ case $ac_f in ++ [\\/$]*) false;; ++ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; ++ esac || ++ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; ++ esac ++ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac ++ as_fn_append ac_file_inputs " '$ac_f'" ++ done ++ ++ # Let's still pretend it is `configure' which instantiates (i.e., don't ++ # use $as_me), people would be surprised to read: ++ # /* config.h. Generated by config.status. */ ++ configure_input='Generated from '` ++ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' ++ `' by configure.' ++ if test x"$ac_file" != x-; then ++ configure_input="$ac_file. $configure_input" ++ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 ++$as_echo "$as_me: creating $ac_file" >&6;} ++ fi ++ # Neutralize special characters interpreted by sed in replacement strings. ++ case $configure_input in #( ++ *\&* | *\|* | *\\* ) ++ ac_sed_conf_input=`$as_echo "$configure_input" | ++ sed 's/[\\\\&|]/\\\\&/g'`;; #( ++ *) ac_sed_conf_input=$configure_input;; ++ esac ++ ++ case $ac_tag in ++ *:-:* | *:-) cat >"$ac_tmp/stdin" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; ++ esac ++ ;; ++ esac ++ ++ ac_dir=`$as_dirname -- "$ac_file" || ++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$ac_file" : 'X\(//\)[^/]' \| \ ++ X"$ac_file" : 'X\(//\)$' \| \ ++ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$ac_file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ as_dir="$ac_dir"; as_fn_mkdir_p ++ ac_builddir=. ++ ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix ++ ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ ++ case $ac_mode in ++ :F) ++ # ++ # CONFIG_FILE ++ # ++ ++ case $INSTALL in ++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; ++ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; ++ esac ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# If the template does not know about datarootdir, expand it. ++# FIXME: This hack should be removed a few years after 2.60. ++ac_datarootdir_hack=; ac_datarootdir_seen= ++ac_sed_dataroot=' ++/datarootdir/ { ++ p ++ q ++} ++/@datadir@/p ++/@docdir@/p ++/@infodir@/p ++/@localedir@/p ++/@mandir@/p' ++case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in ++*datarootdir*) ac_datarootdir_seen=yes;; ++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ ac_datarootdir_hack=' ++ s&@datadir@&$datadir&g ++ s&@docdir@&$docdir&g ++ s&@infodir@&$infodir&g ++ s&@localedir@&$localedir&g ++ s&@mandir@&$mandir&g ++ s&\\\${datarootdir}&$datarootdir&g' ;; ++esac ++_ACEOF ++ ++# Neutralize VPATH when `$srcdir' = `.'. ++# Shell code in configure.ac might set extrasub. ++# FIXME: do we really want to maintain this feature? ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_sed_extra="$ac_vpsub ++$extrasub ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++:t ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b ++s|@configure_input@|$ac_sed_conf_input|;t t ++s&@top_builddir@&$ac_top_builddir_sub&;t t ++s&@top_build_prefix@&$ac_top_build_prefix&;t t ++s&@srcdir@&$ac_srcdir&;t t ++s&@abs_srcdir@&$ac_abs_srcdir&;t t ++s&@top_srcdir@&$ac_top_srcdir&;t t ++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t ++s&@builddir@&$ac_builddir&;t t ++s&@abs_builddir@&$ac_abs_builddir&;t t ++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t ++s&@INSTALL@&$ac_INSTALL&;t t ++$ac_datarootdir_hack ++" ++eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | ++if $ac_cs_awk_getline; then ++ $AWK -f "$ac_tmp/subs.awk" ++else ++ $AWK -f "$ac_tmp/subs.awk" | $SHELL ++fi \ ++ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ ++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && ++ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && ++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ ++ "$ac_tmp/out"`; test -z "$ac_out"; } && ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined" >&5 ++$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined" >&2;} ++ ++ rm -f "$ac_tmp/stdin" ++ case $ac_file in ++ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; ++ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; ++ esac \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ ;; ++ :H) ++ # ++ # CONFIG_HEADER ++ # ++ if test x"$ac_file" != x-; then ++ { ++ $as_echo "/* $configure_input */" \ ++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" ++ } >"$ac_tmp/config.h" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 ++$as_echo "$as_me: $ac_file is unchanged" >&6;} ++ else ++ rm -f "$ac_file" ++ mv "$ac_tmp/config.h" "$ac_file" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ fi ++ else ++ $as_echo "/* $configure_input */" \ ++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ ++ || as_fn_error $? "could not create -" "$LINENO" 5 ++ fi ++ ;; ++ ++ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 ++$as_echo "$as_me: executing $ac_file commands" >&6;} ++ ;; ++ esac ++ ++ ++ case $ac_file$ac_mode in ++ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do ++ # Strip MF so we end up with the name of the file. ++ mf=`echo "$mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile or not. ++ # We used to match only the files named `Makefile.in', but ++ # some people rename them; so instead we look at the file content. ++ # Grep'ing the first line is not enough: some people post-process ++ # each Makefile.in and add a new line on top of each file to say so. ++ # So let's grep whole file. ++ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then ++ dirpart=`$as_dirname -- "$mf" || ++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$mf" : 'X\(//\)[^/]' \| \ ++ X"$mf" : 'X\(//\)$' \| \ ++ X"$mf" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$mf" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ else ++ continue ++ fi ++ # Extract the definition of DEPDIR, am__include, and am__quote ++ # from the Makefile without running `make'. ++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ am__include=`sed -n 's/^am__include = //p' < "$mf"` ++ test -z "am__include" && continue ++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n 's/^U = //p' < "$mf"` ++ # Find all dependency output files, they are included files with ++ # $(DEPDIR) in their names. We invoke sed twice because it is the ++ # simplest approach to changing $(DEPDIR) to its actual value in the ++ # expansion. ++ for file in `sed -n " ++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`$as_dirname -- "$file" || ++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$file" : 'X\(//\)[^/]' \| \ ++ X"$file" : 'X\(//\)$' \| \ ++ X"$file" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ as_dir=$dirpart/$fdir; as_fn_mkdir_p ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++ ;; ++ "Makefile":F) ac_file=Makefile . ${libgloss_topdir}/config-ml.in ;; ++ ++ esac ++done # for ac_tag ++ ++ ++as_fn_exit 0 ++_ACEOF ++ac_clean_files=$ac_clean_files_save ++ ++test $ac_write_fail = 0 || ++ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 ++ ++ ++# configure is writing to config.log, and then calls config.status. ++# config.status does its own redirection, appending to config.log. ++# Unfortunately, on DOS this fails, as config.log is still kept open ++# by configure, so config.status won't be able to write to it; its ++# output is simply discarded. So we exec the FD to /dev/null, ++# effectively closing config.log, so it can be properly (re)opened and ++# appended to by config.status. When coming back to configure, we ++# need to make the FD available again. ++if test "$no_create" != yes; then ++ ac_cs_success=: ++ ac_config_status_args= ++ test "$silent" = yes && ++ ac_config_status_args="$ac_config_status_args --quiet" ++ exec 5>/dev/null ++ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false ++ exec 5>>config.log ++ # Use ||, not &&, to avoid exiting from the if with $? = 1, which ++ # would make configure fail if this is the last instruction. ++ $ac_cs_success || as_fn_exit 1 ++fi ++if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 ++$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} ++fi ++ ++ ++ +diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in +new file mode 100644 +index 000000000..da85a3f46 +--- /dev/null ++++ b/libgloss/libsysbase/configure.in +@@ -0,0 +1,202 @@ ++# Copyright (c) 1995, 1996 Cygnus Support ++# ++# The authors hereby grant permission to use, copy, modify, distribute, ++# and license this software and its documentation for any purpose, provided ++# that existing copyright notices are retained in all copies and that this ++# notice is included verbatim in any distributions. No written agreement, ++# license, or royalty fee is required for any of the authorized uses. ++# Modifications to this software may be copyrighted by their authors ++# and need not follow the licensing terms described here, provided that ++# the new terms are clearly indicated on the first page of each file where ++# they apply. ++# ++# Process this file with autoconf to produce a configure script. ++# ++AC_PREREQ(2.59) ++AC_INIT(close.c) ++AC_CONFIG_HEADER(config.h) ++ ++if test "${enable_shared}" = "yes" ; then ++ echo "Shared libraries not supported for cross compiling, ignored" ++fi ++ ++if test "$srcdir" = "." ; then ++ if test "${with_target_subdir}" != "." ; then ++ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." ++ else ++ libgloss_topdir="${srcdir}/${with_multisrctop}../.." ++ fi ++else ++ libgloss_topdir="${srcdir}/../.." ++fi ++AC_CONFIG_AUX_DIR($libgloss_topdir) ++ ++AC_CANONICAL_SYSTEM ++AC_ARG_PROGRAM ++ ++AC_PROG_INSTALL ++ ++AC_DEFINE(HAVE_GNU_LD) ++dnl Make sure syscall names match those being used by newlib ++case "${target}" in ++ *-*-cygwin*) ++ ;; ++ a29k-amd-udi) ++ ;; ++ aarch64-*-elf) ++ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ ;; ++ arc-*-*) ++ ;; ++ arm-*-eabi) ++ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ ;; ++ arm*-*-*) ++ ;; ++ bfin-*-*) ++ ;; ++ cris-*-* | crisv32-*-*) ++ ;; ++ d10v*) ++ ;; ++ h8300*-*-*) ++ ;; ++ h8500-*-*) ++ ;; ++ i[3456]86-*-sco*) ++ ;; ++ lm32-*-*) ++ ;; ++ m32r-*-*) ++ ;; ++ mn10?00-*-*) ++ ;; ++ powerpcle-*-pe) ++ ;; ++ sh*-*-*) ++ ;; ++ sparc-sun-sunos*) ++ ;; ++ sparc64-*-*) ++ ;; ++ v850*-*-*) ++ ;; ++ w65-*-*) ++ ;; ++ xstormy16-*-*) ++ ;; ++ z8k-*-*) ++ ;; ++ *) ++ AC_DEFINE(MISSING_SYSCALL_NAMES) ++ ;; ++esac ++ ++dnl Make sure we know if elf format used ++case "${target}" in ++ *-*-elf) ++ AC_DEFINE(HAVE_ELF) ++ ++ AC_CACHE_CHECK([for .previous assembler directive], ++ libc_cv_asm_previous_directive, [dnl ++ libc_cv_asm_previous_directive=no ++ cat > conftest.s <&AC_FD_CC); then ++ libc_cv_asm_previous_directive=yes ++ fi ++ rm -f conftest*]) ++ ++ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then ++ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) ++ fi ++ ++ AC_CACHE_CHECK([for .popsection assembler directive], ++ libc_cv_asm_popsection_directive, [dnl ++ libc_cv_asm_popsection_directive=no ++ cat > conftest.s <&AC_FD_CC); then ++ libc_cv_asm_popsection_directive=yes ++ fi ++ rm -f conftest*]) ++ ++ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then ++ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) ++ fi ++ ++ AC_CACHE_CHECK([for section attributes], ++ libc_cv_section_attributes, [dnl ++ libc_cv_section_attributes=no ++ cat > conftest.c <&AC_FD_CC); then ++ libc_cv_section_attributes=yes ++ fi ++ rm -f conftest*]) ++ if test "x${libc_cv_section_attributes}" = "xyes"; then ++ AC_DEFINE(HAVE_SECTION_ATTRIBUTES) ++ fi ++ ;; ++esac ++ ++AC_CACHE_CHECK([for symbol prefix], libc_cv_symbol_prefix, [dnl ++cat > conftest.c <<\EOF ++foo () { } ++EOF ++dnl ++libc_cv_symbol_prefix=none ++if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); ++then ++ libc_cv_symbol_prefix='$' ++else ++ if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]); ++ then ++ libc_cv_symbol_prefix=_ ++ fi ++fi ++rm -f conftest* ]) ++if test $libc_cv_symbol_prefix != none; then ++ AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_cv_symbol_prefix") ++else ++ AC_DEFINE(__SYMBOL_PREFIX, "") ++fi ++ ++LIB_AC_PROG_CC ++AS=${AS-as} ++AC_SUBST(AS) ++AR=${AR-ar} ++AC_SUBST(AR) ++LD=${LD-ld} ++AC_SUBST(LD) ++AC_PROG_RANLIB ++LIB_AM_PROG_AS ++ ++host_makefile_frag=${srcdir}/../config/default.mh ++ ++dnl We have to assign the same value to other variables because autoconf ++dnl doesn't provide a mechanism to substitute a replacement keyword with ++dnl arbitrary data or pathnames. ++dnl ++host_makefile_frag_path=$host_makefile_frag ++AC_SUBST(host_makefile_frag_path) ++AC_SUBST_FILE(host_makefile_frag) ++ ++AC_CONFIG_FILES(Makefile, ++ac_file=Makefile . ${libgloss_topdir}/config-ml.in, ++srcdir=${srcdir} ++target=${target} ++with_multisubdir=${with_multisubdir} ++ac_configure_args="${ac_configure_args} --enable-multilib" ++CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} ++libgloss_topdir=${libgloss_topdir} ++) ++AC_OUTPUT ++ ++ +diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c +new file mode 100644 +index 000000000..7d1f4545d +--- /dev/null ++++ b/libgloss/libsysbase/dirent.c +@@ -0,0 +1,256 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static DIR_ITER * __diropen (const char *path) { ++ struct _reent *r = _REENT; ++ DIR_ITER *handle = NULL; ++ DIR_ITER *dir = NULL; ++ int dev; ++ ++ dev = FindDevice(path); ++ ++ if(dev!=-1) { ++ if(devoptab_list[dev]->diropen_r) { ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ handle = (DIR_ITER *)malloc( sizeof(DIR_ITER) + devoptab_list[dev]->dirStateSize ); ++ ++ if ( NULL != handle ) { ++ handle->device = dev; ++ handle->dirStruct = ((void *)handle) + sizeof(DIR_ITER); ++ ++ dir = devoptab_list[dev]->diropen_r(r, handle, path); ++ ++ if ( dir == NULL ) { ++ free (handle); ++ handle = NULL; ++ } ++ } else { ++ r->_errno = ENOSR; ++ handle = NULL; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ ++ return handle; ++} ++ ++static int __dirreset (DIR_ITER *dirState) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; ++ ++ if (dirState != NULL) { ++ dev = dirState->device; ++ ++ if(devoptab_list[dev]->dirreset_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirreset_r(r, dirState); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; ++} ++ ++static int __dirnext (DIR_ITER *dirState, char *filename, struct stat *filestat) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; ++ ++ if (dirState != NULL) { ++ dev = dirState->device; ++ ++ if(devoptab_list[dev]->dirnext_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirnext_r(r, dirState, filename, filestat); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; ++} ++ ++static int __dirclose (DIR_ITER *dirState) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; ++ ++ if (dirState != NULL) { ++ dev = dirState->device; ++ ++ if (devoptab_list[dev]->dirclose_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirclose_r (r, dirState); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ free (dirState); ++ } ++ return ret; ++} ++ ++DIR* opendir (const char *dirname) { ++ DIR* dirp = malloc (sizeof(DIR)); ++ if (!dirp) { ++ errno = ENOMEM; ++ return NULL; ++ } ++ ++ dirp->dirData = __diropen (dirname); ++ if (!dirp->dirData) { ++ free (dirp); ++ return NULL; ++ } ++ ++ dirp->position = 0; // 0th position means no file name has been returned yet ++ dirp->fileData.d_ino = -1; ++ dirp->fileData.d_name[0] = '\0'; ++ ++ return dirp; ++} ++ ++ ++int closedir (DIR *dirp) { ++ int res; ++ ++ if (!dirp) { ++ errno = EBADF; ++ return -1; ++ } ++ ++ res = __dirclose (dirp->dirData); ++ free (dirp); ++ return res; ++} ++ ++ ++struct dirent* readdir (DIR *dirp) { ++ struct stat st; ++ char filename[NAME_MAX]; ++ int res; ++ int olderrno = errno; ++ ++ if (!dirp) { ++ errno = EBADF; ++ return NULL; ++ } ++ ++ res = __dirnext (dirp->dirData, filename, &st); ++ ++ if (res < 0) { ++ if (errno == ENOENT) { ++ // errno == ENONENT set by dirnext means it's end of directory ++ // But readdir should not touch errno in case of dir end ++ errno = olderrno; ++ } ++ return NULL; ++ } ++ ++ // We've moved forward in the directory ++ dirp->position += 1; ++ ++ if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { ++ errno = EOVERFLOW; ++ return NULL; ++ } ++ ++ strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); ++ dirp->fileData.d_ino = st.st_ino; ++ dirp->fileData.d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; ++ ++ return &(dirp->fileData); ++} ++ ++ ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { ++ struct stat st; ++ char filename[NAME_MAX]; ++ int res; ++ ++ if (!dirp) { ++ return EBADF; ++ } ++ ++ res = __dirnext (dirp->dirData, filename, &st); ++ ++ if (res < 0) { ++ res = errno; ++ *result = NULL; ++ if (errno == ENOENT) { ++ // errno == ENONENT set by dirnext means it's end of directory ++ // But readdir should not touch errno in case of dir end ++ res = 0; ++ } ++ return res; ++ } ++ ++ // We've moved forward in the directory ++ dirp->position += 1; ++ ++ if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { ++ errno = EOVERFLOW; ++ return EOVERFLOW; ++ } ++ ++ strncpy (entry->d_name, filename, sizeof(entry->d_name)); ++ entry->d_ino = st.st_ino; ++ entry->d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; ++ ++ *result = entry; ++ return 0; ++} ++ ++ ++void rewinddir (DIR *dirp) { ++ if (!dirp) { ++ return; ++ } ++ ++ __dirreset (dirp->dirData); ++ dirp->position = 0; ++} ++ ++ ++void seekdir(DIR *dirp, long int loc) { ++ char filename[NAME_MAX]; ++ ++ if (!dirp || loc < 0) { ++ return; ++ } ++ ++ if (dirp->position > loc) { ++ // The entry we want is before the one we have, ++ // so we have to start again from the begining ++ __dirreset (dirp->dirData); ++ dirp->position = 0; ++ } ++ ++ // Keep reading entries until we reach the one we want ++ while ((dirp->position < loc) && ++ (__dirnext (dirp->dirData, filename, NULL) >= 0)) ++ { ++ dirp->position += 1; ++ } ++} ++ ++ ++long int telldir(DIR *dirp) { ++ if (!dirp) { ++ return -1; ++ } ++ ++ return dirp->position; ++} +diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c +new file mode 100644 +index 000000000..1c485b26f +--- /dev/null ++++ b/libgloss/libsysbase/environ.c +@@ -0,0 +1,6 @@ ++/* ++ * Version of environ for no OS. ++ */ ++ ++char *__env[1] = { 0 }; ++char **environ = __env; +diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c +new file mode 100644 +index 000000000..82e70139f +--- /dev/null ++++ b/libgloss/libsysbase/execve.c +@@ -0,0 +1,30 @@ ++/* ++ * Stub version of execve. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _execve_r( ++ struct _reent *r, ++ char *name, ++ char **argv, ++ char **env) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _execve( ++ char *name, ++ char **argv, ++ char **env) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ r->_errno = ENOSYS; ++ return -1; ++} ++ +diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c +new file mode 100644 +index 000000000..5c5831cdf +--- /dev/null ++++ b/libgloss/libsysbase/fchmod.c +@@ -0,0 +1,31 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++#include ++ ++int fchmod(int fd, mode_t mode) { ++ int ret = -1, dev; ++ struct _reent *r = _REENT; ++ ++ if(fd!=-1) { ++ ++ __handle *handle = __get_handle(fd); ++ ++ if ( handle != NULL) { ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fchmod_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fchmod_r(r,handle->fileStruct,mode); ++ } else ++ r->_errno=ENOSYS; ++ } ++ } ++ return ret; ++} +diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c +new file mode 100644 +index 000000000..c6b8c92ad +--- /dev/null ++++ b/libgloss/libsysbase/flock.c +@@ -0,0 +1,21 @@ ++#include ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#ifndef REENTRANT_SYSCALLS_PROVIDED ++#include ++#endif ++#include ++#include ++ ++void __flockfile(FILE *fp) ++{ ++ __lock_acquire_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); ++} ++ ++void __funlockfile(FILE *fp) ++{ ++ __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); ++} +diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c +new file mode 100644 +index 000000000..893b662ab +--- /dev/null ++++ b/libgloss/libsysbase/fnmatch.c +@@ -0,0 +1,201 @@ ++/* ++ * Copyright (c) 1989, 1993, 1994 ++ * The Regents of the University of California. All rights reserved. ++ * ++ * This code is derived from software contributed to Berkeley by ++ * Guido van Rossum. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. All advertising materials mentioning features or use of this software ++ * must display the following acknowledgement: ++ * This product includes software developed by the University of ++ * California, Berkeley and its contributors. ++ * 4. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * From FreeBSD fnmatch.c 1.11 ++ * $Id: fnmatch.c,v 1.3 1997/08/19 02:34:30 jdp Exp $ ++ */ ++ ++#define _GNU_SOURCE ++ ++#if defined(LIBC_SCCS) && !defined(lint) ++static char sccsid[] = "@(#)fnmatch.c 8.2 (Berkeley) 4/16/94"; ++#endif /* LIBC_SCCS and not lint */ ++ ++/* ++ * Function fnmatch() as specified in POSIX 1003.2-1992, section B.6. ++ * Compares a filename or pathname to a pattern. ++ */ ++ ++#include ++#include ++#include ++ ++#include "fnmatch.h" ++ ++#define EOS '\0' ++ ++static const char *rangematch(const char *, char, int); ++ ++int ++fnmatch(const char *pattern, const char *string, int flags) ++{ ++ const char *stringstart; ++ char c, test; ++ ++ for (stringstart = string;;) ++ switch (c = *pattern++) { ++ case EOS: ++ if ((flags & FNM_LEADING_DIR) && *string == '/') ++ return (0); ++ return (*string == EOS ? 0 : FNM_NOMATCH); ++ case '?': ++ if (*string == EOS) ++ return (FNM_NOMATCH); ++ if (*string == '/' && (flags & FNM_PATHNAME)) ++ return (FNM_NOMATCH); ++ if (*string == '.' && (flags & FNM_PERIOD) && ++ (string == stringstart || ++ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) ++ return (FNM_NOMATCH); ++ ++string; ++ break; ++ case '*': ++ c = *pattern; ++ /* Collapse multiple stars. */ ++ while (c == '*') ++ c = *++pattern; ++ ++ if (*string == '.' && (flags & FNM_PERIOD) && ++ (string == stringstart || ++ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) ++ return (FNM_NOMATCH); ++ ++ /* Optimize for pattern with * at end or before /. */ ++ if (c == EOS) ++ if (flags & FNM_PATHNAME) ++ return ((flags & FNM_LEADING_DIR) || ++ strchr(string, '/') == NULL ? ++ 0 : FNM_NOMATCH); ++ else ++ return (0); ++ else if (c == '/' && flags & FNM_PATHNAME) { ++ if ((string = strchr(string, '/')) == NULL) ++ return (FNM_NOMATCH); ++ break; ++ } ++ ++ /* General case, use recursion. */ ++ while ((test = *string) != EOS) { ++ if (!fnmatch(pattern, string, flags & ~FNM_PERIOD)) ++ return (0); ++ if (test == '/' && flags & FNM_PATHNAME) ++ break; ++ ++string; ++ } ++ return (FNM_NOMATCH); ++ case '[': ++ if (*string == EOS) ++ return (FNM_NOMATCH); ++ if (*string == '/' && flags & FNM_PATHNAME) ++ return (FNM_NOMATCH); ++ if ((pattern = ++ rangematch(pattern, *string, flags)) == NULL) ++ return (FNM_NOMATCH); ++ ++string; ++ break; ++ case '\\': ++ if (!(flags & FNM_NOESCAPE)) { ++ if ((c = *pattern++) == EOS) { ++ c = '\\'; ++ --pattern; ++ } ++ } ++ /* FALLTHROUGH */ ++ default: ++ if (c == *string) ++ ; ++ else if ((flags & FNM_CASEFOLD) && ++ (tolower((unsigned char)c) == ++ tolower((unsigned char)*string))) ++ ; ++ else if ((flags & FNM_PREFIX_DIRS) && *string == EOS && ++ ((c == '/' && string != stringstart) || ++ (string == stringstart+1 && *stringstart == '/'))) ++ return (0); ++ else ++ return (FNM_NOMATCH); ++ string++; ++ break; ++ } ++ /* NOTREACHED */ ++} ++ ++static const char * ++rangematch(const char *pattern, char test, int flags) ++{ ++ int negate, ok; ++ char c, c2; ++ ++ /* ++ * A bracket expression starting with an unquoted circumflex ++ * character produces unspecified results (IEEE 1003.2-1992, ++ * 3.13.2). This implementation treats it like '!', for ++ * consistency with the regular expression syntax. ++ * J.T. Conklin (conklin@ngai.kaleida.com) ++ */ ++ if ( (negate = (*pattern == '!' || *pattern == '^')) ) ++ ++pattern; ++ ++ if (flags & FNM_CASEFOLD) ++ test = tolower((unsigned char)test); ++ ++ for (ok = 0; (c = *pattern++) != ']';) { ++ if (c == '\\' && !(flags & FNM_NOESCAPE)) ++ c = *pattern++; ++ if (c == EOS) ++ return (NULL); ++ ++ if (flags & FNM_CASEFOLD) ++ c = tolower((unsigned char)c); ++ ++ if (*pattern == '-' ++ && (c2 = *(pattern+1)) != EOS && c2 != ']') { ++ pattern += 2; ++ if (c2 == '\\' && !(flags & FNM_NOESCAPE)) ++ c2 = *pattern++; ++ if (c2 == EOS) ++ return (NULL); ++ ++ if (flags & FNM_CASEFOLD) ++ c2 = tolower((unsigned char)c2); ++ ++ if ((unsigned char)c <= (unsigned char)test && ++ (unsigned char)test <= (unsigned char)c2) ++ ok = 1; ++ } else if (c == test) ++ ok = 1; ++ } ++ return (ok == negate ? NULL : pattern); ++} +diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c +new file mode 100644 +index 000000000..efb6a3496 +--- /dev/null ++++ b/libgloss/libsysbase/fork.c +@@ -0,0 +1,21 @@ ++/* ++ * Stub version of fork. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _fork_r (struct _reent * r) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _fork(void) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ r->_errno = ENOSYS; ++ return -1; ++} +diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c +new file mode 100644 +index 000000000..e32b06755 +--- /dev/null ++++ b/libgloss/libsysbase/fstat.c +@@ -0,0 +1,44 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _fstat_r( ++ struct _reent * r, ++ int fileDesc, ++ struct stat *st) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _fstat( ++ int fileDesc, ++ struct stat *st) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = NULL; ++ ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fstat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fstat_r(r,handle->fileStruct,st); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; ++} +diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c +new file mode 100644 +index 000000000..fb06cb6d1 +--- /dev/null ++++ b/libgloss/libsysbase/fsync.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#include ++ ++int fsync(int fileDesc ) { ++ int ret = -1; ++ unsigned int dev = 0; ++ unsigned int fd = -1; ++ struct _reent *r = _REENT; ++ ++ __handle * handle; ++ ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) { ++ errno = EINVAL; ++ return ret; ++ } ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fsync_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fsync_r(r, handle->fileStruct); ++ } else ++ r->_errno=ENOSYS; ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c +new file mode 100644 +index 000000000..2cc03a3d9 +--- /dev/null ++++ b/libgloss/libsysbase/ftruncate.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#include ++ ++int ftruncate(int fileDesc, off_t len) { ++ int ret = -1; ++ unsigned int dev = 0; ++ unsigned int fd = -1; ++ struct _reent *r = _REENT; ++ ++ __handle * handle; ++ ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) { ++ r->_errno = EINVAL; ++ return ret; ++ } ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->ftruncate_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); ++ } else ++ r->_errno=ENOSYS; ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c +new file mode 100644 +index 000000000..fdce14b5f +--- /dev/null ++++ b/libgloss/libsysbase/getpid.c +@@ -0,0 +1,19 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _getpid_r(struct _reent *ptr) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _getpid(void) { ++//--------------------------------------------------------------------------------- ++ struct _reent *ptr = _REENT; ++#endif ++ ptr->_errno = ENOSYS; ++ return -1; ++} ++ +diff --git a/libgloss/libsysbase/getreent.c b/libgloss/libsysbase/getreent.c +new file mode 100644 +index 000000000..a3f1e98a9 +--- /dev/null ++++ b/libgloss/libsysbase/getreent.c +@@ -0,0 +1,20 @@ ++ ++/* default reentrant pointer when multithread enabled */ ++ ++#include <_ansi.h> ++#include ++#include ++ ++#ifdef __getreent ++#undef __getreent ++#endif ++ ++struct _reent *__getreent() { ++ if ( __has_syscall(getreent) ) { ++ return __syscall_getreent(); ++ } else { ++ return _impure_ptr; ++ } ++} ++ ++ +diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c +new file mode 100644 +index 000000000..f18c59ba3 +--- /dev/null ++++ b/libgloss/libsysbase/gettod.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _gettimeofday_r( ++ struct _reent *ptr, ++ struct timeval *ptimeval, ++ void *ptimezone) ++{ ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _gettimeofday( ++ struct timeval *ptimeval, ++ void *ptimezone) ++{ ++//--------------------------------------------------------------------------------- ++ struct _reent *ptr = _REENT; ++#endif ++ ++ if ( __has_syscall(gettod_r) ) ++ return __syscall_gettod_r(ptr, ptimeval, ptimezone); ++ ++ ptr->_errno = ENOSYS; ++ return -1; ++ ++} ++ +diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c +new file mode 100644 +index 000000000..f3fcc88f7 +--- /dev/null ++++ b/libgloss/libsysbase/handle_manager.c +@@ -0,0 +1,173 @@ ++#include ++#include ++#include ++ ++#include ++ ++#define MAX_HANDLES 1024 ++ ++static __handle __stdin_handle = {0, 1, NULL}; ++static __handle __stdout_handle = {1, 1, NULL}; ++static __handle __stderr_handle = {2, 1, NULL}; ++ ++static __handle* handles[MAX_HANDLES] = { ++ &__stdin_handle, ++ &__stdout_handle, ++ &__stderr_handle ++}; ++ ++__LOCK_INIT(static, __hndl_lock); ++ ++void __free_handle(__handle *handle) { ++ ++ if ( NULL != handle ++ && handle != &__stdin_handle ++ && handle != &__stdout_handle ++ && handle != &__stderr_handle ) { ++ ++ free(handle); ++ ++ } ++ ++} ++ ++void __release_handle(int fd) { ++ ++ if ( fd <0 || fd >= MAX_HANDLES ) return; ++ ++ __lock_acquire (__hndl_lock); ++ ++ __free_handle(handles[fd]); ++ handles[fd] = NULL; ++ ++ __lock_release (__hndl_lock); ++ ++} ++ ++int __alloc_handle(int device) { ++ ++ int i, ret = -1; ++ ++ __lock_acquire (__hndl_lock); ++ ++ for ( i = 0; i < MAX_HANDLES; i++ ) { ++ if ( handles[i] == NULL ) break; ++ } ++ ++ size_t size = sizeof(__handle) + devoptab_list[device]->structSize; ++ ++ if ( i < MAX_HANDLES ) { ++ handles[i] = malloc(size); ++ __handle *handle = handles[i]; ++ if ( NULL != handles[i] ) { ++ ++ handles[i]->refcount = 1; ++ ret = i; ++ handles[i]->device = device; ++ handles[i]->fileStruct = (void *)&handle[1]; ++ ++ } else { ++ ++ errno = ENOMEM; ++ ++ } ++ } else { ++ ++ errno = ENFILE; ++ ++ } ++ ++ __lock_release (__hndl_lock); ++ ++ return ret; ++} ++ ++__handle *__get_handle(int fd) { ++ ++ if ( fd < 0 || fd >= MAX_HANDLES ) return NULL; ++ ++ return handles[fd]; ++ ++} ++ ++int dup(int oldfd) { ++ int i, ret =-1; ++ ++ __lock_acquire (__hndl_lock); ++ ++ if (handles[oldfd]==NULL) { ++ __lock_release (__hndl_lock); ++ errno = EBADF; ++ return -1; ++ } ++ ++ ++ for ( i = 0; i < MAX_HANDLES; i++ ) { ++ if ( handles[i] == NULL ) break; ++ } ++ ++ if (irefcount++; ++ ret = i; ++ } ++ __lock_release (__hndl_lock); ++ ++ return ret; ++ ++} ++ ++int dup2(int oldfd, int newfd) { ++ ++ ++ __lock_acquire (__hndl_lock); ++ ++ if ( newfd < 0 || newfd >= MAX_HANDLES || ++ ++ oldfd < 0 || oldfd >= MAX_HANDLES || ++ handles[oldfd] == NULL ) { ++ ++ __lock_release (__hndl_lock); ++ errno = EBADF; ++ ++ return -1; ++ } ++ ++ if ( newfd == oldfd ) { ++ __lock_release (__hndl_lock); ++ return newfd; ++ } ++ ++ ++ __handle *handle = handles[newfd]; ++ ++ if ( NULL != handle ) { ++ ++ handle->refcount--; ++ ++ } ++ ++ handles[newfd] = handles[oldfd]; ++ handles[newfd]->refcount++; ++ ++ __lock_release (__hndl_lock); ++ ++ if ( NULL != handle ) { ++ ++ if (handle->refcount == 0 ) { ++ ++ if( devoptab_list[handle->device]->close_r != NULL) { ++ ++ devoptab_list[handle->device]->close_r(_REENT,handle->fileStruct); ++ ++ } else { ++ ++ __free_handle(handle); ++ ++ } ++ } ++ } ++ ++ return newfd; ++ ++} +diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c +new file mode 100644 +index 000000000..948c6ef93 +--- /dev/null ++++ b/libgloss/libsysbase/iosupport.c +@@ -0,0 +1,140 @@ ++#include ++#include ++#include ++#include ++ ++static int defaultDevice = -1; ++ ++//--------------------------------------------------------------------------------- ++void setDefaultDevice( int device ) { ++//--------------------------------------------------------------------------------- ++ ++ if ( device >2 && device <= STD_MAX) ++ defaultDevice = device; ++} ++ ++//--------------------------------------------------------------------------------- ++static ssize_t null_write(struct _reent *r,void *fd,const char *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ return len; ++} ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t dotab_stdnull = { ++//--------------------------------------------------------------------------------- ++ "stdnull", // device name ++ 0, // size of file structure ++ NULL, // device open ++ NULL, // device close ++ null_write, // device write ++ NULL, // device read ++ NULL, // device seek ++ NULL, // device fstat ++ NULL, // device stat ++ NULL, // device link ++ NULL, // device unlink ++ NULL, // device chdir ++ NULL, // device rename ++ NULL, // device mkdir ++ 0, // dirStateSize ++ NULL, // device diropen_r ++ NULL, // device dirreset_r ++ NULL, // device dirnext_r ++ NULL, // device dirclose_r ++ NULL, // device statvfs_r ++ NULL, // device ftruncate_r ++ NULL, // device fsync_r ++ NULL, // deviceData ++ NULL, // chmod_r ++ NULL, // fchmod_r ++ NULL, // rmdir_r ++ NULL, // lstat_r ++ NULL, // utimes_r ++}; ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t *devoptab_list[STD_MAX] = { ++//--------------------------------------------------------------------------------- ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull ++}; ++ ++//--------------------------------------------------------------------------------- ++int FindDevice(const char* name) { ++//--------------------------------------------------------------------------------- ++ int i = 0, namelen, dev_namelen, dev = -1; ++ char *separator; ++ ++ separator = strchr(name, ':'); ++ ++ if (separator == NULL) return defaultDevice; ++ ++ dev_namelen = separator - name; ++ ++ while(iname); ++ if(dev_namelen == namelen && strncmp(devoptab_list[i]->name,name,namelen)==0 ) { ++ if ( name[namelen] == ':' || (isdigit(name[namelen]) && name[namelen+1] ==':' )) { ++ dev = i; ++ break; ++ } ++ } ++ } ++ i++; ++ } ++ ++ return dev; ++} ++ ++//--------------------------------------------------------------------------------- ++int RemoveDevice( const char* name) { ++//--------------------------------------------------------------------------------- ++ int dev = FindDevice(name); ++ ++ if ( -1 != dev ) { ++ devoptab_list[dev] = &dotab_stdnull; ++ return 0; ++ } ++ ++ return -1; ++ ++} ++ ++//--------------------------------------------------------------------------------- ++int AddDevice( const devoptab_t* device) { ++//--------------------------------------------------------------------------------- ++ ++ int devnum; ++ ++ for ( devnum = 3;devnum name, device->name) && ++ strlen(devoptab_list[devnum]->name) == strlen(device->name) ) || ++ !strcmp(devoptab_list[devnum]->name, "stdnull") ++ ) ++ break; ++ } ++ ++ if ( devnum == STD_MAX ) { ++ devnum = -1; ++ } else { ++ devoptab_list[devnum] = device; ++ } ++ return devnum; ++} ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t* GetDeviceOpTab (const char *name) { ++//--------------------------------------------------------------------------------- ++ int dev = FindDevice(name); ++ if (dev >= 0 && dev < STD_MAX) { ++ return devoptab_list[dev]; ++ } else { ++ return NULL; ++ } ++} ++ ++ +diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c +new file mode 100644 +index 000000000..280a4579a +--- /dev/null ++++ b/libgloss/libsysbase/isatty.c +@@ -0,0 +1,17 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _isatty_r( struct _reent *ptr, int file) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _isatty(int file) { ++//--------------------------------------------------------------------------------- ++ struct _reent *ptr = _REENT; ++#endif ++ return 0; ++} +diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c +new file mode 100644 +index 000000000..13bd0fba1 +--- /dev/null ++++ b/libgloss/libsysbase/kill.c +@@ -0,0 +1,21 @@ ++/* ++ * Stub version of kill. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++int _kill_r( ++ struct _reent *ptr, ++ int pid, ++ int sig) { ++#else ++int _kill(int pid, int sig) { ++ struct _reent *ptr = _REENT; ++#endif ++ ptr->_errno = ENOSYS; ++ return -1; ++} +diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c +new file mode 100644 +index 000000000..1675e5c24 +--- /dev/null ++++ b/libgloss/libsysbase/link.c +@@ -0,0 +1,33 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++int _link_r(struct _reent *r, const char *existing, const char *new) { ++#else ++int _link(const char *existing, const char *new) { ++ struct _reent *r = _REENT; ++#endif ++ int ret; ++ int sourceDev = FindDevice(existing); ++ int destDev = FindDevice(new); ++ ++ ret = -1; ++ ++ if ( sourceDev == destDev) { ++ if (devoptab_list[destDev]->link_r) { ++ r->deviceData = devoptab_list[destDev]->deviceData; ++ ret = devoptab_list[destDev]->link_r( r, existing, new); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = EXDEV; ++ } ++ ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/locks.c b/libgloss/libsysbase/locks.c +new file mode 100644 +index 000000000..c41d91ff9 +--- /dev/null ++++ b/libgloss/libsysbase/locks.c +@@ -0,0 +1,158 @@ ++#include ++#include ++#include ++ ++static int ++timespec_subtract(struct timespec x, struct timespec y, struct timespec *__restrict result) ++{ ++ // Perform the carry for the later subtraction by updating y ++ if (x.tv_nsec < y.tv_nsec) { ++ int seconds = (y.tv_nsec - x.tv_nsec) / 1000000000 + 1; ++ y.tv_nsec -= 1000000000 * seconds; ++ y.tv_sec += seconds; ++ } ++ if (x.tv_nsec - y.tv_nsec > 1000000000) { ++ int seconds = (x.tv_nsec - y.tv_nsec) / 1000000000; ++ y.tv_nsec += 1000000000 * seconds; ++ y.tv_sec -= seconds; ++ } ++ ++ // Compute the time remaining to wait ++ result->tv_sec = x.tv_sec - y.tv_sec; ++ result->tv_nsec = x.tv_nsec - y.tv_nsec; ++ ++ // Return true if result is negative ++ return x.tv_sec < y.tv_sec; ++} ++ ++__uint64_t ++timespec2nsec(const struct timespec *__restrict ts) ++{ ++ return (__uint64_t)ts->tv_sec * 1000000000 + ts->tv_nsec; ++} ++ ++__uint64_t ++abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts) ++{ ++ struct timespec now, diff; ++ clock_gettime(clock_id, &now); ++ if (timespec_subtract(*ts, now, &diff)) ++ return 0; ++ return timespec2nsec(&diff); ++} ++ ++void __libc_lock_init(_LOCK_T *lock) { ++ ++ *lock = __LOCK_INITIALIZER; ++ ++} ++ ++void __libc_lock_acquire(_LOCK_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire) ) { ++ __syscall_lock_acquire(lock); ++ } ++} ++ ++int __libc_lock_try_acquire(_LOCK_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire) ) { ++ return __syscall_lock_try_acquire(lock); ++ } else { ++ return 0; ++ } ++} ++ ++void __libc_lock_release(_LOCK_T *lock ) { ++ ++ if ( __has_syscall(lock_release) ) { ++ __syscall_lock_release(lock); ++ } ++} ++ ++void __libc_lock_close(_LOCK_T *lock ) { ++ ++} ++ ++ ++ ++void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { ++ ++ *lock = __LOCK_INITIALIZER_RECURSIVE; ++ ++} ++ ++void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire_recursive) ) { ++ __syscall_lock_acquire_recursive(lock); ++ } ++} ++ ++int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire_recursive) ) { ++ return __syscall_lock_try_acquire_recursive(lock); ++ } else { ++ return 0; ++ } ++} ++ ++void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { ++ ++ if ( __has_syscall(lock_release_recursive) ) { ++ __syscall_lock_release_recursive(lock); ++ } ++} ++ ++void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { ++ ++} ++ ++ ++int __libc_cond_init(_COND_T *cond) { ++ ++ *cond = __COND_INITIALIZER; ++ ++} ++ ++int __libc_cond_signal(_COND_T *cond) { ++ ++ if ( __has_syscall(cond_signal) ) { ++ return __syscall_cond_signal(cond); ++ } ++ ++ return ENOSYS; ++ ++} ++ ++int __libc_cond_broadcast(_COND_T *cond) { ++ ++ if ( __has_syscall(cond_broadcast) ) { ++ return __syscall_cond_broadcast(cond); ++ } ++ ++ return ENOSYS; ++ ++} ++ ++int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns) { ++ ++ if ( __has_syscall(cond_wait) ) { ++ return __syscall_cond_wait(cond, lock, timeout_ns); ++ } ++ ++ return ENOSYS; ++ ++} ++ ++int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns) { ++ ++ if ( __has_syscall(cond_wait_recursive) ) { ++ return __syscall_cond_wait_recursive(cond, lock, timeout_ns); ++ } ++ ++ return ENOSYS; ++ ++} ++ +diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c +new file mode 100644 +index 000000000..eb232c86b +--- /dev/null ++++ b/libgloss/libsysbase/lseek.c +@@ -0,0 +1,45 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++#include ++ ++#include ++ ++//--------------------------------------------------------------------------------- ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++_off_t _lseek_r(struct _reent * r, int fileDesc, _off_t pos, int dir) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++_off_t _lseek(int fileDesc, _off_t pos, int dir) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++//--------------------------------------------------------------------------------- ++#endif ++//--------------------------------------------------------------------------------- ++ _off_t ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle; ++ ++ if(fileDesc!=-1) { ++ ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->seek_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->seek_r( r, handle->fileStruct, pos, dir); ++ } else ++ r->_errno=ENOSYS; ++ ++ } ++ return ret; ++ ++} +diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c +new file mode 100644 +index 000000000..fc393430b +--- /dev/null ++++ b/libgloss/libsysbase/lstat.c +@@ -0,0 +1,31 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++ ++//--------------------------------------------------------------------------------- ++int lstat (const char *__restrict __path, struct stat *__restrict __buf ) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++ int dev,ret; ++ ++ dev = FindDevice(__path); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->lstat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->lstat_r(r,__path,__buf); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ ret = -1; ++ r->_errno = ENODEV; ++ } ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c +new file mode 100644 +index 000000000..456590956 +--- /dev/null ++++ b/libgloss/libsysbase/malloc_vars.c +@@ -0,0 +1,2 @@ ++char *fake_heap_end = (char*)0; ++char *fake_heap_start = (char*)0; +diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c +new file mode 100644 +index 000000000..b4fcbd3d7 +--- /dev/null ++++ b/libgloss/libsysbase/mkdir.c +@@ -0,0 +1,19 @@ ++#include ++#include ++#include ++ ++int mkdir (const char *path, mode_t mode) { ++ struct _reent *r = _REENT; ++ int ret; ++ int dev = FindDevice(path); ++ ret = -1; ++ ++ if (devoptab_list[dev]->mkdir_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->mkdir_r(r, path, mode); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c +new file mode 100644 +index 000000000..a233b9df6 +--- /dev/null ++++ b/libgloss/libsysbase/nanosleep.c +@@ -0,0 +1,14 @@ ++#include ++#include ++#include ++ ++int nanosleep(const struct timespec *req, struct timespec *rem) ++{ ++ if ( __has_syscall(nanosleep) ) { ++ return __syscall_nanosleep(req, rem); ++ } else { ++ *rem = *req; ++ errno = ENOSYS; ++ return -1; ++ } ++} +diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c +new file mode 100644 +index 000000000..f8d98fd3b +--- /dev/null ++++ b/libgloss/libsysbase/open.c +@@ -0,0 +1,53 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _open_r(struct _reent * r, const char *file, int flags, int mode) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _open(struct _reent * r, const char *file, int flags, int mode) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ __handle *handle; ++ int dev, fd, ret; ++ ++ dev = FindDevice(file); ++ ++ fd = -1; ++ if(dev!=-1) { ++ if (devoptab_list[dev]->open_r) { ++ fd = __alloc_handle(dev); ++ ++ if ( -1 != fd ) { ++ handle = __get_handle(fd); ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, flags, mode); ++ ++ if ( ret == -1 ) { ++ __release_handle(fd); ++ fd = -1; ++ } ++ } else { ++ r->_errno = ENOSR; ++ } ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return fd; ++} +diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c +new file mode 100755 +index 000000000..e4240af87 +--- /dev/null ++++ b/libgloss/libsysbase/pthread.c +@@ -0,0 +1,662 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++int ++pthread_atfork (void (*prepare)(void), void (*parent)(void), void (*child)(void)) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++//----------------------------------------------------------------------------- ++// Mutex attributes ++//----------------------------------------------------------------------------- ++ ++int ++pthread_mutexattr_init (pthread_mutexattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->type = PTHREAD_MUTEX_NORMAL; ++ return 0; ++} ++ ++int ++pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_mutexattr_getpshared (const pthread_mutexattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_mutexattr_gettype (const pthread_mutexattr_t *__attr, int *__kind) ++{ ++ if (!__attr || !__kind) ++ return EINVAL; ++ *__kind = __attr->type; ++ return 0; ++} ++ ++int ++pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->type = __kind; ++ return 0; ++} ++ ++//----------------------------------------------------------------------------- ++// Mutex ++//----------------------------------------------------------------------------- ++ ++int ++pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__attr) ++{ ++ pthread_mutexattr_t __default; ++ if (!__attr) { ++ pthread_mutexattr_init(&__default); ++ __attr = &__default; ++ } ++ if (!__mutex) ++ return EINVAL; ++ ++ __mutex->type = __attr->type; ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: ++ case PTHREAD_MUTEX_DEFAULT: ++ __lock_init(__mutex->normal); ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ __lock_init_recursive(__mutex->recursive); ++ break; ++ default: ++ return EINVAL; ++ } ++ ++ return 0; ++} ++ ++int ++pthread_mutex_destroy (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_mutex_lock (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; ++ ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ __lock_acquire(__mutex->normal); ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ __lock_acquire_recursive(__mutex->recursive); ++ break; ++ default: ++ return EINVAL; ++ } ++ ++ return 0; ++} ++ ++int ++pthread_mutex_trylock (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; ++ ++ int rc = 0; ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ rc = __lock_try_acquire(__mutex->normal); ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ rc = __lock_try_acquire_recursive(__mutex->recursive); ++ break; ++ default: ++ return EINVAL; ++ } ++ ++ if (rc) ++ return EBUSY; ++ return 0; ++} ++ ++int ++pthread_mutex_unlock (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; ++ ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ __lock_release(__mutex->normal); ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ __lock_release_recursive(__mutex->recursive); ++ break; ++ default: ++ return EINVAL; ++ } ++ ++ return 0; ++} ++ ++//----------------------------------------------------------------------------- ++// Condition variable attributes ++//----------------------------------------------------------------------------- ++ ++int ++pthread_condattr_init (pthread_condattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->clock_id = CLOCK_REALTIME; ++ return 0; ++} ++ ++int ++pthread_condattr_destroy (pthread_condattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_condattr_getclock (const pthread_condattr_t *__restrict __attr, clockid_t *__restrict __clock_id) ++{ ++ if (!__attr || !__clock_id) ++ return EINVAL; ++ *__clock_id = __attr->clock_id; ++ return 0; ++} ++ ++int ++pthread_condattr_setclock (pthread_condattr_t *__attr, clockid_t __clock_id) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->clock_id = __clock_id; ++ return 0; ++} ++ ++int ++pthread_condattr_getpshared (const pthread_condattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_condattr_setpshared (pthread_condattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} ++ ++//----------------------------------------------------------------------------- ++// Condition variable ++//----------------------------------------------------------------------------- ++ ++int ++pthread_cond_init (pthread_cond_t *__cond, const pthread_condattr_t *__attr) ++{ ++ pthread_condattr_t __default; ++ if (!__attr) { ++ pthread_condattr_init(&__default); ++ __attr = &__default; ++ } ++ if (!__cond) ++ return EINVAL; ++ ++ __cond->clock_id = __attr->clock_id; ++ return __cond_init(__cond->cond); ++} ++ ++int ++pthread_cond_destroy (pthread_cond_t *__cond) ++{ ++ if (!__cond) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_cond_signal (pthread_cond_t *__cond) ++{ ++ if (!__cond) ++ return EINVAL; ++ return __cond_signal(__cond->cond); ++} ++ ++int ++pthread_cond_broadcast (pthread_cond_t *__cond) ++{ ++ if (!__cond) ++ return EINVAL; ++ return __cond_broadcast(__cond->cond); ++} ++ ++static int ++__pthread_cond_wait_common (pthread_cond_t *__cond, pthread_mutex_t *__mutex, uint64_t timeout_ns) ++{ ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ return __cond_wait(__cond->cond, __mutex->normal, timeout_ns); ++ case PTHREAD_MUTEX_RECURSIVE: ++ return __cond_wait_recursive(__cond->cond, __mutex->recursive, timeout_ns); ++ default: ++ return EINVAL; ++ } ++} ++ ++int ++pthread_cond_wait (pthread_cond_t *__cond, pthread_mutex_t *__mutex) ++{ ++ if (!__cond || !__mutex) ++ return EINVAL; ++ return __pthread_cond_wait_common(__cond, __mutex, UINT64_MAX); ++} ++ ++int ++pthread_cond_timedwait (pthread_cond_t *__cond, pthread_mutex_t *__mutex, const struct timespec *__abstime) ++{ ++ if (!__cond || !__mutex || !__abstime) ++ return EINVAL; ++ return __pthread_cond_wait_common(__cond, __mutex, abstimespec2nsec(__cond->clock_id, __abstime)); ++} ++ ++//----------------------------------------------------------------------------- ++// Thread attributes ++//----------------------------------------------------------------------------- ++ ++int ++pthread_attr_setschedparam (pthread_attr_t *__attr, const struct sched_param *__param) ++{ ++ if (!__attr || !__param) ++ return EINVAL; ++ __attr->schedparam = *__param; ++ return 0; ++} ++ ++int ++pthread_attr_getschedparam (const pthread_attr_t *__attr, struct sched_param *__param) ++{ ++ if (!__attr || !__param) ++ return EINVAL; ++ *__param = __attr->schedparam; ++ return 0; ++} ++ ++int ++pthread_attr_init (pthread_attr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ memset(__attr, 0, sizeof(*__attr)); ++ return 0; ++} ++ ++int ++pthread_attr_destroy (pthread_attr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_attr_setstack (pthread_attr_t *attr, void *__stackaddr, size_t __stacksize) ++{ ++ if (!attr || !__stackaddr || !__stacksize) ++ return EINVAL; ++ attr->stackaddr = __stackaddr; ++ attr->stacksize = __stacksize; ++ return 0; ++} ++ ++int ++pthread_attr_getstack (const pthread_attr_t *attr, void **__stackaddr, size_t *__stacksize) ++{ ++ if (!attr || !__stackaddr || !__stacksize) ++ return EINVAL; ++ *__stackaddr = attr->stackaddr; ++ *__stacksize = attr->stacksize; ++ return 0; ++} ++ ++int ++pthread_attr_getstacksize (const pthread_attr_t *__attr, size_t *__stacksize) ++{ ++ if (!__attr || !__stacksize) ++ return EINVAL; ++ *__stacksize = __attr->stacksize; ++ return 0; ++} ++ ++int ++pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize) ++{ ++ if (!__attr || !__stacksize) ++ return EINVAL; ++ __attr->stacksize = __stacksize; ++ return 0; ++} ++ ++int ++pthread_attr_getstackaddr (const pthread_attr_t *__attr, void **__stackaddr) ++{ ++ if (!__attr || !__stackaddr) ++ return EINVAL; ++ *__stackaddr = __attr->stackaddr; ++ return 0; ++} ++ ++int ++pthread_attr_setstackaddr (pthread_attr_t *__attr, void *__stackaddr) ++{ ++ if (!__attr || !__stackaddr) ++ return EINVAL; ++ __attr->stackaddr = __stackaddr; ++ return 0; ++} ++ ++int ++pthread_attr_getdetachstate (const pthread_attr_t *__attr, int *__detachstate) ++{ ++ if (!__attr || !__detachstate) ++ return EINVAL; ++ *__detachstate = __attr->detachstate; ++ return 0; ++} ++ ++int ++pthread_attr_setdetachstate (pthread_attr_t *__attr, int __detachstate) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->detachstate = __detachstate; ++ return 0; ++} ++ ++int ++pthread_attr_getguardsize (const pthread_attr_t *__attr, size_t *__guardsize) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++int ++pthread_attr_setguardsize (pthread_attr_t *__attr, size_t __guardsize) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++//----------------------------------------------------------------------------- ++// Thread ++//----------------------------------------------------------------------------- ++ ++int ++pthread_create (pthread_t *__pthread, const pthread_attr_t *__attr, void *(*__start_routine)(void *), void *__arg) ++{ ++ pthread_attr_t __default; ++ if (!__attr) { ++ pthread_attr_init(&__default); ++ __attr = &__default; ++ } ++ if (!__pthread || !__start_routine) ++ return EINVAL; ++ if (!__has_syscall(thread_create)) ++ return ENOSYS; ++ return __syscall_thread_create(__pthread, __start_routine, __arg, __attr->stackaddr, __attr->stacksize); ++} ++ ++int ++pthread_join (pthread_t __pthread, void **__value_ptr) ++{ ++ if (!__has_syscall(thread_join)) ++ return ENOSYS; ++ void* value = __syscall_thread_join(__pthread); ++ if (__value_ptr) ++ *__value_ptr = value; ++ return 0; ++} ++ ++int ++pthread_detach (pthread_t __pthread) ++{ ++ if (!__has_syscall(thread_detach)) ++ return ENOSYS; ++ return __syscall_thread_detach(__pthread); ++} ++ ++void ++pthread_exit (void *__value_ptr) ++{ ++ if (__has_syscall(thread_exit)) ++ __syscall_thread_exit(__value_ptr); ++ for (;;); ++} ++ ++pthread_t ++pthread_self (void) ++{ ++ if (__has_syscall(thread_self)) ++ return __syscall_thread_self(); ++ return NULL; ++} ++ ++int ++pthread_equal (pthread_t __t1, pthread_t __t2) ++{ ++ return __t1 == __t2; ++} ++ ++int ++pthread_getcpuclockid (pthread_t thread, clockid_t *clock_id) ++{ ++ if (!thread || !clock_id) ++ return EINVAL; ++ *clock_id = CLOCK_REALTIME; ++ return 0; ++} ++ ++int ++pthread_setconcurrency (int new_level) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++int ++pthread_getconcurrency (void) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++//----------------------------------------------------------------------------- ++// Run-once ++//----------------------------------------------------------------------------- ++ ++__LOCK_INIT(static, __pthread_once_lock) ++__COND_INIT(static, __pthread_once_cv) ++ ++int ++pthread_once (pthread_once_t *__once_control, void (*__init_routine)(void)) ++{ ++ if (!__once_control || !__init_routine) ++ return EINVAL; ++ ++ __lock_acquire(__pthread_once_lock); ++ ++ if (__once_control->status == 0) { ++ __once_control->status = 1; ++ __lock_release(__pthread_once_lock); ++ __init_routine(); ++ __lock_acquire(__pthread_once_lock); ++ __once_control->status = 2; ++ __cond_broadcast(__pthread_once_cv); ++ } else { ++ while (__once_control->status == 1) ++ __cond_wait(__pthread_once_cv, __pthread_once_lock, UINT64_MAX); ++ } ++ ++ __lock_release(__pthread_once_lock); ++ return 0; ++} ++ ++//----------------------------------------------------------------------------- ++// Thread-specific keys (TLS) ++//----------------------------------------------------------------------------- ++ ++int ++pthread_key_create (pthread_key_t *__key, void (*__destructor)(void *)) ++{ ++ if (!__key) ++ return EINVAL; ++ if (!__has_syscall(tls_create)) ++ return ENOSYS; ++ return __syscall_tls_create(__key, __destructor); ++} ++ ++int ++pthread_setspecific (pthread_key_t __key, const void *__value) ++{ ++ if (!__has_syscall(tls_set)) ++ return ENOSYS; ++ return __syscall_tls_set(__key, __value); ++} ++ ++void * ++pthread_getspecific (pthread_key_t __key) ++{ ++ if (__has_syscall(tls_get)) ++ return __syscall_tls_get(__key); ++ return NULL; ++} ++ ++int ++pthread_key_delete (pthread_key_t __key) ++{ ++ if (!__has_syscall(tls_delete)) ++ return ENOSYS; ++ return __syscall_tls_delete(__key); ++} ++ ++//----------------------------------------------------------------------------- ++// Cancel ++//----------------------------------------------------------------------------- ++ ++int ++pthread_cancel (pthread_t __pthread) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++int ++pthread_setcancelstate (int __state, int *__oldstate) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++int ++pthread_setcanceltype (int __type, int *__oldtype) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++void ++pthread_testcancel (void) ++{ ++ // Unsupported ++} ++ ++//----------------------------------------------------------------------------- ++// Cleanup ++//----------------------------------------------------------------------------- ++ ++static pthread_once_t __pthread_cleanup_once; ++static pthread_key_t __pthread_cleanup_key; ++ ++static void ++__pthread_cleanup_dtor (void *arg) ++{ ++ struct _pthread_cleanup_context *cur; ++ for (cur = (struct _pthread_cleanup_context *)arg; cur; cur = cur->_previous) ++ cur->_routine(cur->_arg); ++} ++ ++static void ++__pthread_cleanup_setup (void) ++{ ++ int err = pthread_key_create(&__pthread_cleanup_key, __pthread_cleanup_dtor); ++ if (err) ++ abort(); ++} ++ ++void ++_pthread_cleanup_push (struct _pthread_cleanup_context *_context, void (*_routine)(void *), void *_arg) ++{ ++ pthread_once(&__pthread_cleanup_once, __pthread_cleanup_setup); ++ _context->_routine = _routine; ++ _context->_arg = _arg; ++ _context->_previous = (struct _pthread_cleanup_context *)pthread_getspecific(__pthread_cleanup_key); ++ pthread_setspecific(__pthread_cleanup_key, _context); ++} ++ ++void ++_pthread_cleanup_pop (struct _pthread_cleanup_context *_context, int _execute) ++{ ++ struct _pthread_cleanup_context *cur = (struct _pthread_cleanup_context *)pthread_getspecific(__pthread_cleanup_key); ++ if (cur) { ++ if (_execute) ++ cur->_routine(cur->_arg); ++ pthread_setspecific(__pthread_cleanup_key, cur->_previous); ++ } ++} ++ ++//----------------------------------------------------------------------------- ++// sched.h ++//----------------------------------------------------------------------------- ++ ++int __attribute__((weak)) ++sched_yield (void) ++{ ++ errno = ENOSYS; ++ return -1; ++} ++ ++int __attribute__((weak)) ++sched_getcpu (void) ++{ ++ errno = ENOSYS; ++ return -1; ++} +diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c +new file mode 100644 +index 000000000..838a8c796 +--- /dev/null ++++ b/libgloss/libsysbase/read.c +@@ -0,0 +1,39 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++ ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++_ssize_t _read_r(struct _reent *r, int fileDesc, void *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++_ssize_t _read(int fileDesc, void *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = NULL; ++ ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->read_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->read_r(r,handle->fileStruct,ptr,len); ++ } else ++ r->_errno=ENOSYS; ++ } ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c +new file mode 100644 +index 000000000..97a056a72 +--- /dev/null ++++ b/libgloss/libsysbase/rename.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include ++#include ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++int _rename_r(struct _reent *ptr, const char *existing, const char *newName) ++{ ++#else ++int rename(const char *existing, const char *newName) ++{ ++ struct _reent *ptr = _REENT; ++#endif ++ struct _reent *r = _REENT; ++ ++ int ret; ++ int sourceDev = FindDevice(existing); ++ int destDev = FindDevice(newName); ++ ++ ret = -1; ++ ++ if ( sourceDev == destDev) { ++ if (devoptab_list[destDev]->rename_r) { ++ r->deviceData = devoptab_list[destDev]->deviceData; ++ ret = devoptab_list[destDev]->rename_r( r, existing, newName); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = EXDEV; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c +new file mode 100644 +index 000000000..2692a2997 +--- /dev/null ++++ b/libgloss/libsysbase/rmdir.c +@@ -0,0 +1,25 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++int rmdir (const char *name) { ++ struct _reent *r = _REENT; ++ int dev,ret=-1; ++ ++ dev = FindDevice(name); ++ if(dev!=-1) { ++ if(devoptab_list[dev]->rmdir_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->rmdir_r(r,name); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c +new file mode 100644 +index 000000000..5dd550c5c +--- /dev/null ++++ b/libgloss/libsysbase/sbrk.c +@@ -0,0 +1,60 @@ ++#include "config.h" ++#include <_ansi.h> ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++ ++extern char *fake_heap_end; ++extern char *fake_heap_start; ++ ++/* Register name faking - works in collusion with the linker. */ ++register char * stack_ptr asm ("sp"); ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++void * _sbrk_r (struct _reent *ptr, ptrdiff_t incr) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++caddr_t _sbrk (int incr) { ++//--------------------------------------------------------------------------------- ++ struct _reent *ptr = _REENT; ++#endif ++ extern char end asm ("__end__"); /* Defined by the linker. */ ++ static char * heap_start; ++ ++ char * prev_heap_start; ++ char * heap_end; ++ ++ if (heap_start == NULL) { ++ if (fake_heap_start == NULL) { ++ heap_start = &end; ++ } else { ++ heap_start = fake_heap_start; ++ } ++ } ++ ++ prev_heap_start = heap_start; ++ ++ if (fake_heap_end == NULL) { ++ heap_end = stack_ptr; ++ } else { ++ heap_end = fake_heap_end; ++ } ++ ++ if (heap_start + incr > heap_end) { ++ ptr->_errno = ENOMEM; ++ return (caddr_t) -1; ++ } ++ ++ heap_start += incr; ++ return (caddr_t) prev_heap_start; ++} +diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c +new file mode 100644 +index 000000000..1333df4b2 +--- /dev/null ++++ b/libgloss/libsysbase/scandir.c +@@ -0,0 +1,74 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* ++ * The DIRSIZ macro gives the minimum record length which will hold ++ * the directory entry. This requires the amount of space in struct dirent ++ * without the d_name field, plus enough space for the name with a terminating ++ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. ++ */ ++#undef DIRSIZ ++#ifdef _DIRENT_HAVE_D_NAMLEN ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + (((dp)->d_namlen+1 + 3) &~ 3)) ++#else ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + ((strlen((dp)->d_name)+1 + 3) &~ 3)) ++#endif ++ ++int ++scandir (const char *dirname, ++ struct dirent ***namelist, ++ int (*filter) __P((const struct dirent *)), ++ int (*compar) __P((const struct dirent **, const struct dirent **))) ++{ ++ DIR *d = opendir(dirname); ++ ++ if (!d) return -1; ++ ++ struct dirent *de, **names = NULL, **tmp; ++ size_t cnt = 0, len = 0; ++ ++ while (de = readdir(d)) { ++ if (filter && ! filter(de)) continue; ++ if (cnt >= len) { ++ len = 2*len+1; ++ if (len > SIZE_MAX/sizeof(*names)) break; ++ tmp = realloc(names, len * sizeof(*names)); ++ if (!tmp) break; ++ names = tmp; ++ } ++ names[cnt] = malloc(DIRSIZ(de)); ++ if (!names[cnt]) break; ++ memcpy(names[cnt++], de, DIRSIZ(de)); ++ } ++ ++ closedir(d); ++ ++ if(errno) { ++ if (names) while(cnt-- > 0) free(names[cnt]); ++ free(names); ++ return -1; ++ } ++ ++ if (compar) qsort(names, cnt, sizeof(*names), (int (*)(const void *, const void *))compar); ++ ++ *namelist = names; ++ return cnt; ++} ++ ++/* ++ * Alphabetic order comparison routine for those who want it. ++ */ ++int ++alphasort (const struct dirent **d1, ++ const struct dirent **d2) ++{ ++ return(strcmp((*d1)->d_name, (*d2)->d_name)); ++} ++ +diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c +new file mode 100644 +index 000000000..f3aa97954 +--- /dev/null ++++ b/libgloss/libsysbase/sleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ ++ ++/* Written 2000 by Werner Almesberger */ ++ ++#include ++#include ++#include ++ ++unsigned sleep(unsigned seconds) ++{ ++ struct timespec ts; ++ ++ ts.tv_sec = seconds; ++ ts.tv_nsec = 0; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} +diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c +new file mode 100644 +index 000000000..d0ad00202 +--- /dev/null ++++ b/libgloss/libsysbase/stat.c +@@ -0,0 +1,38 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _stat_r(struct _reent * r, const char *file, struct stat *st) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _stat(const char *file, struct stat *st) { ++{ ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ int dev,ret; ++ ++ dev = FindDevice(file); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->stat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->stat_r(r,file,st); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ ret = -1; ++ r->_errno = ENODEV; ++ } ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c +new file mode 100644 +index 000000000..84e221340 +--- /dev/null ++++ b/libgloss/libsysbase/statvfs.c +@@ -0,0 +1,24 @@ ++#include ++#include ++#include ++ ++ ++int statvfs(const char *path, struct statvfs *buf) { ++ struct _reent *r = _REENT; ++ ++ int ret; ++ int device = FindDevice(path); ++ ++ ret = -1; ++ ++ if ( device != -1 && devoptab_list[device]->statvfs_r) { ++ ++ r->deviceData = devoptab_list[device]->deviceData; ++ ret = devoptab_list[device]->statvfs_r(r, path, buf ); ++ ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c +new file mode 100644 +index 000000000..79484e7f4 +--- /dev/null ++++ b/libgloss/libsysbase/times.c +@@ -0,0 +1,17 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++clock_t _times_r(struct _reent *r, struct tms *ptms) { ++#else ++clock_t _times(struct tms *buf) { ++ ++ struct _reent *r = _REENT; ++#endif ++ r->_errno = ENOSYS; ++ return (clock_t)-1; ++} ++ +diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c +new file mode 100644 +index 000000000..849525990 +--- /dev/null ++++ b/libgloss/libsysbase/truncate.c +@@ -0,0 +1,54 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#include ++ ++int truncate(const char *file, off_t len) ++{ ++ ++ __handle *handle; ++ int dev, fd, ret; ++ ++ struct _reent * r = _REENT; ++ ++ dev = FindDevice(file); ++ ++ if(dev!=-1 && devoptab_list[dev]->open_r && devoptab_list[dev]->close_r && ++ devoptab_list[dev]->ftruncate_r) ++ { ++ ++ fd = __alloc_handle(dev); ++ ++ if ( -1 != fd ) { ++ handle = __get_handle(fd); ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, O_WRONLY, 0); ++ ++ if ( ret < 0 ) { ++ __release_handle(fd); ++ return ret; ++ } ++ ++ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); ++ ++ if (ret >= 0) { ++ ret = devoptab_list[dev]->close_r(r, handle->fileStruct); ++ } else { ++ // Close it anyway, we don't want to leak memory ++ devoptab_list[dev]->close_r(r, handle->fileStruct); ++ } ++ } else { ++ r->_errno = ENOSR; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c +new file mode 100644 +index 000000000..7920b79ac +--- /dev/null ++++ b/libgloss/libsysbase/unlink.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _unlink_r(struct _reent * r, const char *name ) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _unlink_r(const char *name ) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ int dev,ret=-1; ++ ++ dev = FindDevice(name); ++ if(dev<0) { ++ r->_errno = ENODEV; ++ } else { ++ if (devoptab_list[dev]->unlink_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->unlink_r(r,name); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } ++ ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c +new file mode 100644 +index 000000000..b54714775 +--- /dev/null ++++ b/libgloss/libsysbase/usleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ ++ ++/* Written 2000 by Werner Almesberger */ ++ ++#include ++#include ++#include ++ ++int usleep(useconds_t useconds) ++{ ++ struct timespec ts; ++ ++ ts.tv_sec = (long int)useconds / 1000000; ++ ts.tv_nsec = ((long int)useconds % 1000000) * 1000; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} +diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c +new file mode 100644 +index 000000000..f72bf9fc6 +--- /dev/null ++++ b/libgloss/libsysbase/utime.c +@@ -0,0 +1,45 @@ ++#include "config.h" ++ ++#include ++#include ++#include ++#include ++#include ++ ++int utimes(const char *filename, const struct timeval times[2]) ++{ ++ struct _reent *r = _REENT; ++ int dev,ret; ++ ++ dev = FindDevice(filename); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->utimes_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->utimes_r(r,filename,times); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ ret = -1; ++ r->_errno = ENODEV; ++ } ++ return ret; ++ ++ ++ ++} ++ ++ ++int utime(const char *filename, const struct utimbuf *times) ++{ ++ struct timeval t[2]; ++ if (times) { ++ t[0].tv_sec = times->actime; ++ t[0].tv_usec = 0; ++ t[1].tv_sec = times->modtime; ++ t[1].tv_usec = 0; ++ } ++ ++ return utimes(filename, t); ++} +diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c +new file mode 100644 +index 000000000..247486e42 +--- /dev/null ++++ b/libgloss/libsysbase/wait.c +@@ -0,0 +1,24 @@ ++/* ++ * Stub version of wait. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _wait_r(struct _reent *r, int *status) { ++#else ++//--------------------------------------------------------------------------------- ++int ++int _wait_r(int *status) { ++ struct _reent *r = _REENT; ++#endif ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return -1; ++} ++ +diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h +new file mode 100644 +index 000000000..2c2998250 +--- /dev/null ++++ b/libgloss/libsysbase/warning.h +@@ -0,0 +1,43 @@ ++#ifndef __WARNING_H__ ++#define __WARNING_H__ ++ ++#ifdef HAVE_GNU_LD ++# ifdef HAVE_ELF ++ ++/* We want the .gnu.warning.SYMBOL section to be unallocated. */ ++# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE ++# define __make_section_unallocated(section_string) \ ++ asm(".section " section_string "; .previous"); ++# elif defined (HAVE_ASM_POPSECTION_DIRECTIVE) ++# define __make_section_unallocated(section_string) \ ++ asm(".pushsection " section_string "; .popsection"); ++# else ++# define __make_section_unallocated(section_string) ++# endif ++ ++# ifdef HAVE_SECTION_ATTRIBUTES ++# define link_warning(symbol, msg) \ ++ __make_section_unallocated (".gnu.warning." #symbol) \ ++ static const char __evoke_link_warning_##symbol[] \ ++ __attribute__ ((section (".gnu.warning." #symbol))) = msg; ++# else ++# define link_warning(symbol, msg) ++# endif ++ ++#else /* !ELF */ ++ ++# define link_warning(symbol, msg) \ ++ asm(".stabs \"" msg "\",30,0,0,0\n" \ ++ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); ++# endif ++#else /* !GNULD */ ++/* We will never be heard; they will all die horribly. */ ++# define link_warning(symbol, msg) ++#endif ++ ++/* A canned warning for sysdeps/stub functions. */ ++#define stub_warning(name) \ ++ link_warning (name, \ ++ "warning: " #name " is not implemented and will always fail") ++ ++#endif /* __WARNING_H__ */ +diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c +new file mode 100644 +index 000000000..61de918bc +--- /dev/null ++++ b/libgloss/libsysbase/write.c +@@ -0,0 +1,38 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++ ++#include ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++_ssize_t _write_r(struct _reent * r, int fileDesc, const void *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++_ssize_t _write(int fileDesc, const void *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++#endif ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = NULL; ++ ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->write_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->write_r(r,handle->fileStruct,ptr,len); ++ } else ++ r->_errno=ENOSYS; ++ } ++ return ret; ++} +diff --git a/newlib/configure.host b/newlib/configure.host +index 6c49cb750..610b63e81 100644 +--- a/newlib/configure.host ++++ b/newlib/configure.host +@@ -659,13 +659,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + syscall_dir=syscalls + ;; + aarch64*-*-*) ++ default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" ++ default_newlib_io_pos_args="yes" ++ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls + ;; + arc*-*-*) + syscall_dir=syscalls + default_newlib_io_long_long="yes" + ;; ++ arm*-*-eabi) ++ default_newlib_io_c99_formats="yes" ++ default_newlib_io_long_long="yes" ++ default_newlib_io_pos_args="yes" ++ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" ++ syscall_dir=syscalls ++ ;; + arm*-*-pe) + syscall_dir=syscalls + ;; +diff --git a/newlib/libc/include/fnmatch.h b/newlib/libc/include/fnmatch.h +index a94e923a4..9171e98aa 100644 +--- a/newlib/libc/include/fnmatch.h ++++ b/newlib/libc/include/fnmatch.h +@@ -44,6 +44,7 @@ + #if __GNU_VISIBLE + #define FNM_LEADING_DIR 0x08 /* Ignore / after Imatch. */ + #define FNM_CASEFOLD 0x10 /* Case insensitive search. */ ++#define FNM_PREFIX_DIRS 0x20 /* Directory prefixes of pattern match too. */ + #define FNM_IGNORECASE FNM_CASEFOLD + #define FNM_FILE_NAME FNM_PATHNAME + #endif +diff --git a/newlib/libc/include/machine/_threads.h b/newlib/libc/include/machine/_threads.h +new file mode 100755 +index 000000000..a71a5d847 +--- /dev/null ++++ b/newlib/libc/include/machine/_threads.h +@@ -0,0 +1,44 @@ ++/*- ++ * Copyright (c) 2019 fincs ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ */ ++ ++#ifndef _MACHINE__THREADS_H_ ++#define _MACHINE__THREADS_H_ ++ ++#include ++#include ++ ++#define ONCE_FLAG_INIT PTHREAD_ONCE_INIT ++#define TSS_DTOR_ITERATIONS PTHREAD_DESTRUCTOR_ITERATIONS ++#define _MTX_INITIALIZER_NP PTHREAD_MUTEX_INITIALIZER ++#define _CND_INITIALIZER_NP PTHREAD_COND_INITIALIZER ++ ++typedef pthread_once_t once_flag; ++typedef pthread_key_t tss_t; ++typedef pthread_mutex_t mtx_t; ++typedef pthread_cond_t cnd_t; ++typedef pthread_t thrd_t; ++ ++#endif +diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h +index 893a5d064..da4b3a1ee 100644 +--- a/newlib/libc/include/math.h ++++ b/newlib/libc/include/math.h +@@ -416,7 +416,7 @@ extern float hypotf (float, float); + simply call the double functions. On Cygwin the long double functions + are implemented independently from newlib to be able to use optimized + assembler functions despite using the Microsoft x86_64 ABI. */ +-#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) ++#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) || defined (__DEVKITA64__) + /* Reentrant ANSI C functions. */ + #ifndef __math_68881 + extern long double atanl (long double); +diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h +index 75e9e1cbf..a3642c951 100644 +--- a/newlib/libc/include/sys/_pthreadtypes.h ++++ b/newlib/libc/include/sys/_pthreadtypes.h +@@ -18,19 +18,18 @@ + #ifndef _SYS__PTHREADTYPES_H_ + #define _SYS__PTHREADTYPES_H_ + ++#include ++ + #if defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 + + #include ++#include + + /* + * 2.5 Primitive System Data Types, P1003.1c/D10, p. 19. + */ + +-#if defined(__XMK__) +-typedef unsigned int pthread_t; /* identify a thread */ +-#else +-typedef __uint32_t pthread_t; /* identify a thread */ +-#endif ++typedef struct __pthread_t *pthread_t; /* identify a thread */ + + /* P1003.1c/D10, p. 118-119 */ + #define PTHREAD_SCOPE_PROCESS 0 +@@ -46,25 +45,14 @@ typedef __uint32_t pthread_t; /* identify a thread */ + #define PTHREAD_CREATE_DETACHED 0 + #define PTHREAD_CREATE_JOINABLE 1 + +-#if defined(__XMK__) +-typedef struct pthread_attr_s { +- int contentionscope; +- struct sched_param schedparam; +- int detachstate; +- void *stackaddr; +- size_t stacksize; +-} pthread_attr_t; +- +-#define PTHREAD_STACK_MIN 200 +- +-#else /* !defined(__XMK__) */ + typedef struct { +- int is_initialized; + void *stackaddr; + int stacksize; ++#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) + int contentionscope; + int inheritsched; + int schedpolicy; ++#endif + struct sched_param schedparam; + + /* P1003.4b/D8, p. 54 adds cputime_clock_allowed attribute. */ +@@ -74,8 +62,6 @@ typedef struct { + int detachstate; + } pthread_attr_t; + +-#endif /* !defined(__XMK__) */ +- + #if defined(_POSIX_THREAD_PROCESS_SHARED) + /* NOTE: P1003.1c/D10, p. 81 defines following values for process_shared. */ + +@@ -143,18 +129,15 @@ typedef struct { + + #endif /* !defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES) */ + +-#if defined(__XMK__) +-typedef unsigned int pthread_mutex_t; /* identify a mutex */ +- + typedef struct { + int type; +-} pthread_mutexattr_t; +- +-#else /* !defined(__XMK__) */ +-typedef __uint32_t pthread_mutex_t; /* identify a mutex */ ++ union { ++ _LOCK_T normal; ++ _LOCK_RECURSIVE_T recursive; ++ }; ++} pthread_mutex_t; /* identify a mutex */ + + typedef struct { +- int is_initialized; + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow mutex to be shared amongst processes */ + #endif +@@ -163,23 +146,25 @@ typedef struct { + int protocol; + #endif + #if defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES) +- int type; ++ int type; + #endif +- int recursive; + } pthread_mutexattr_t; +-#endif /* !defined(__XMK__) */ + +-#define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t) 0xFFFFFFFF) ++#define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t){ PTHREAD_MUTEX_NORMAL, { .normal = __LOCK_INITIALIZER } }) ++#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP ((pthread_mutex_t){ PTHREAD_MUTEX_RECURSIVE, { .recursive = __LOCK_INITIALIZER_RECURSIVE } }) ++#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP + + /* Condition Variables */ + +-typedef __uint32_t pthread_cond_t; /* identify a condition variable */ ++typedef struct { ++ clockid_t clock_id; ++ _COND_T cond; ++} pthread_cond_t; /* identify a condition variable */ + +-#define _PTHREAD_COND_INITIALIZER ((pthread_cond_t) 0xFFFFFFFF) ++#define _PTHREAD_COND_INITIALIZER ((pthread_cond_t){ CLOCK_REALTIME, __COND_INITIALIZER }) + + typedef struct { +- int is_initialized; +- clock_t clock; /* specifiy clock for timeouts */ ++ clockid_t clock_id; /* specifiy clock for timeouts */ + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow this to be shared amongst processes */ + #endif +@@ -190,11 +175,10 @@ typedef struct { + typedef __uint32_t pthread_key_t; /* thread-specific data keys */ + + typedef struct { +- int is_initialized; /* is this structure initialized? */ +- int init_executed; /* has the initialization routine been run? */ ++ int status; /* 0 = init not run, 1 = init running, 2 = init finished */ + } pthread_once_t; /* dynamic package initialization */ + +-#define _PTHREAD_ONCE_INIT { 1, 0 } /* is initialized and not run */ ++#define _PTHREAD_ONCE_INIT { 0 } /* not run */ + #endif /* defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 */ + + /* POSIX Barrier Types */ +diff --git a/newlib/libc/include/sys/_timespec.h b/newlib/libc/include/sys/_timespec.h +index 7609e4a46..6017a5e3d 100644 +--- a/newlib/libc/include/sys/_timespec.h ++++ b/newlib/libc/include/sys/_timespec.h +@@ -47,4 +47,10 @@ struct timespec { + long tv_nsec; /* and nanoseconds */ + }; + ++__uint64_t ++timespec2nsec(const struct timespec *__restrict ts); ++ ++__uint64_t ++abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts); ++ + #endif /* !_SYS__TIMESPEC_H_ */ +diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h +index 49b62ebf6..d84ffaa59 100644 +--- a/newlib/libc/include/sys/config.h ++++ b/newlib/libc/include/sys/config.h +@@ -4,6 +4,9 @@ + #include /* floating point macros */ + #include /* POSIX defs */ + ++/* we want the reentrancy structure to be returned by a function */ ++#define __DYNAMIC_REENT__ ++ + #ifdef __aarch64__ + #define MALLOC_ALIGNMENT 16 + #endif +diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h +index a3fb5c02c..b208de4a7 100644 +--- a/newlib/libc/include/sys/dirent.h ++++ b/newlib/libc/include/sys/dirent.h +@@ -1,13 +1,60 @@ + /* includes , which is this file. On a + system which supports , this file is overridden by + dirent.h in the libc/sys/.../sys directory. On a system which does +- not support , we will get this file which uses #error to force +- an error. */ ++ not support , we will get this file ++*/ ++ ++#ifndef _dirent_h_ ++#define _dirent_h_ ++ ++#include ++#include ++#include ++ ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 ++ ++#define _DIRENT_HAVE_D_TYPE + + #ifdef __cplusplus + extern "C" { + #endif +-#error " not supported" ++ ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; ++ ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; ++ ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); ++ ++int scandir(const char *dirp, struct dirent ***namelist, ++ int (*filter)(const struct dirent *), ++ int (*compar)(const struct dirent **, const struct dirent **)); ++ ++int alphasort(const struct dirent **a, const struct dirent **b); ++ + #ifdef __cplusplus + } + #endif ++ ++#endif // _dirent_h_ +diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h +index f28dd071b..00d4194b6 100644 +--- a/newlib/libc/include/sys/features.h ++++ b/newlib/libc/include/sys/features.h +@@ -330,6 +330,13 @@ extern "C" { + # define __SSP_FORTIFY_LEVEL 0 + #endif + ++#ifdef __DEVKITA64__ ++#define _POSIX_MONOTONIC_CLOCK 200112L ++#define _POSIX_TIMERS 1 ++#define _POSIX_THREADS 1 ++#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 ++#endif ++ + /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ + + #ifdef __rtems__ +diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h +new file mode 100644 +index 000000000..82d2e3576 +--- /dev/null ++++ b/newlib/libc/include/sys/iosupport.h +@@ -0,0 +1,126 @@ ++//--------------------------------------------------------------------------------- ++#ifndef __iosupp_h__ ++#define __iosupp_h__ ++//--------------------------------------------------------------------------------- ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#include ++#include ++#include ++#include ++ ++enum { ++ STD_IN, ++ STD_OUT, ++ STD_ERR, ++ STD_MAX = 16 ++}; ++ ++typedef struct { ++ unsigned int device; ++ unsigned int refcount; ++ void *fileStruct; ++} __handle; ++ ++/* Directory iterator for mantaining state between dir* calls */ ++typedef struct { ++ int device; ++ void *dirStruct; ++} DIR_ITER; ++ ++typedef struct { ++ const char *name; ++ size_t structSize; ++ int (*open_r)(struct _reent *r, void *fileStruct, const char *path, int flags, int mode); ++ int (*close_r)(struct _reent *r, void *fd); ++ ssize_t (*write_r)(struct _reent *r, void *fd, const char *ptr, size_t len); ++ ssize_t (*read_r)(struct _reent *r, void *fd, char *ptr, size_t len); ++ off_t (*seek_r)(struct _reent *r, void *fd, off_t pos, int dir); ++ int (*fstat_r)(struct _reent *r, void *fd, struct stat *st); ++ int (*stat_r)(struct _reent *r, const char *file, struct stat *st); ++ int (*link_r)(struct _reent *r, const char *existing, const char *newLink); ++ int (*unlink_r)(struct _reent *r, const char *name); ++ int (*chdir_r)(struct _reent *r, const char *name); ++ int (*rename_r) (struct _reent *r, const char *oldName, const char *newName); ++ int (*mkdir_r) (struct _reent *r, const char *path, int mode); ++ ++ size_t dirStateSize; ++ ++ DIR_ITER* (*diropen_r)(struct _reent *r, DIR_ITER *dirState, const char *path); ++ int (*dirreset_r)(struct _reent *r, DIR_ITER *dirState); ++ int (*dirnext_r)(struct _reent *r, DIR_ITER *dirState, char *filename, struct stat *filestat); ++ int (*dirclose_r)(struct _reent *r, DIR_ITER *dirState); ++ int (*statvfs_r)(struct _reent *r, const char *path, struct statvfs *buf); ++ int (*ftruncate_r)(struct _reent *r, void *fd, off_t len); ++ int (*fsync_r)(struct _reent *r, void *fd); ++ ++ void *deviceData; ++ ++ int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); ++ int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); ++ int (*rmdir_r)(struct _reent *r, const char *name); ++ int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); ++ int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); ++ ++} devoptab_t; ++ ++extern const devoptab_t *devoptab_list[]; ++ ++#ifdef _BUILDING_LIBSYSBASE ++#define __SYSCALL(_name) __attribute__((weak)) __syscall_##_name ++#define __has_syscall(_name) (&__syscall_##_name) ++#else ++#define __SYSCALL(_name) __syscall_##_name ++#endif ++ ++void __SYSCALL(exit)(int rc); ++struct _reent *__SYSCALL(getreent)(void); ++ ++void __SYSCALL(lock_acquire)(_LOCK_T *lock); ++int __SYSCALL(lock_try_acquire)(_LOCK_T *lock); ++void __SYSCALL(lock_release)(_LOCK_T *lock); ++void __SYSCALL(lock_acquire_recursive)(_LOCK_RECURSIVE_T *lock); ++int __SYSCALL(lock_try_acquire_recursive)(_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_release_recursive)(_LOCK_RECURSIVE_T *lock); ++int __SYSCALL(cond_signal)(_COND_T *cond); ++int __SYSCALL(cond_broadcast)(_COND_T *cond); ++int __SYSCALL(cond_wait)(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); ++int __SYSCALL(cond_wait_recursive)(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); ++int __SYSCALL(thread_create)(struct __pthread_t **thread, void* (*func)(void*), void *arg, void *stack_addr, size_t stack_size); ++void*__SYSCALL(thread_join)(struct __pthread_t *thread); ++int __SYSCALL(thread_detach)(struct __pthread_t *thread); ++void __SYSCALL(thread_exit)(void *value); ++struct __pthread_t *__SYSCALL(thread_self)(void); ++int __SYSCALL(tls_create)(uint32_t *key, void (*destructor)(void*)); ++int __SYSCALL(tls_set)(uint32_t key, const void *value); ++void*__SYSCALL(tls_get)(uint32_t key); ++int __SYSCALL(tls_delete)(uint32_t key); ++ ++int __SYSCALL(gettod_r)(struct _reent *ptr, struct timeval *tp, struct timezone *tz); ++int __SYSCALL(clock_gettime)(clockid_t clock_id, struct timespec *tp); ++int __SYSCALL(clock_settime)(clockid_t clock_id, const struct timespec *tp); ++int __SYSCALL(clock_getres)(clockid_t clock_id, struct timespec *res); ++int __SYSCALL(nanosleep)(const struct timespec *req, struct timespec *rem); ++ ++#undef __SYSCALL ++ ++int AddDevice( const devoptab_t* device); ++int FindDevice(const char* name); ++int RemoveDevice(const char* name); ++void setDefaultDevice( int device ); ++const devoptab_t* GetDeviceOpTab (const char *name); ++ ++void __release_handle(int fd); ++int __alloc_handle(int device); ++__handle *__get_handle(int fd); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++//--------------------------------------------------------------------------------- ++#endif // __iosupp_h__ ++//--------------------------------------------------------------------------------- +diff --git a/newlib/libc/include/sys/lock.h b/newlib/libc/include/sys/lock.h +index 528904957..30cb099e6 100644 +--- a/newlib/libc/include/sys/lock.h ++++ b/newlib/libc/include/sys/lock.h +@@ -1,69 +1,97 @@ + #ifndef __SYS_LOCK_H__ + #define __SYS_LOCK_H__ + +-/* dummy lock routines for single-threaded aps */ +- +-#include + #include <_ansi.h> ++#include ++ ++typedef int32_t _LOCK_T; ++ ++struct __lock_t { ++ _LOCK_T lock; ++ uint32_t thread_tag; ++ uint32_t counter; ++}; ++ ++typedef struct __lock_t _LOCK_RECURSIVE_T; ++ ++typedef uint32_t _COND_T; ++ ++extern void __libc_lock_init(_LOCK_T *lock); ++extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_close(_LOCK_T *lock); ++extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns errno */ ++extern int __libc_cond_init(_COND_T *cond); ++extern int __libc_cond_signal(_COND_T *cond); ++extern int __libc_cond_broadcast(_COND_T *cond); ++extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); ++extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); ++ ++#define __LOCK_INITIALIZER ((_LOCK_T)0) ++#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) ++#define __COND_INITIALIZER ((_COND_T)0) ++ ++#define __LOCK_INIT(CLASS,NAME) \ ++CLASS _LOCK_T NAME = __LOCK_INITIALIZER; ++ ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ ++CLASS _LOCK_RECURSIVE_T NAME = __LOCK_INITIALIZER_RECURSIVE; ++ ++#define __COND_INIT(CLASS,NAME) \ ++CLASS _COND_T NAME = __COND_INITIALIZER; ++ ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) ++ ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) ++ ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close_recursive(&(NAME)) ++ ++#define __lock_acquire(NAME) \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_acquire_recursive(NAME) \ ++ __libc_lock_acquire_recursive(&(NAME)) ++ ++#define __lock_try_acquire(NAME) \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_try_acquire_recursive(NAME) \ ++ __libc_lock_try_acquire_recursive(&(NAME)) ++ ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release_recursive(&(NAME)) ++ ++#define __cond_init(NAME) \ ++ __libc_cond_init(&(NAME)) ++ ++#define __cond_signal(NAME) \ ++ __libc_cond_signal(&(NAME)) ++ ++#define __cond_broadcast(NAME) \ ++ __libc_cond_broadcast(&(NAME)) ++ ++#define __cond_wait(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait(&(NAME), &(LOCK), (TIMEOUT)) ++ ++#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) + +-#if !defined(_RETARGETABLE_LOCKING) +- +-typedef int _LOCK_T; +-typedef int _LOCK_RECURSIVE_T; +- +-#define __LOCK_INIT(class,lock) static int lock = 0; +-#define __LOCK_INIT_RECURSIVE(class,lock) static int lock = 0; +-#define __lock_init(lock) ((void) 0) +-#define __lock_init_recursive(lock) ((void) 0) +-#define __lock_close(lock) ((void) 0) +-#define __lock_close_recursive(lock) ((void) 0) +-#define __lock_acquire(lock) ((void) 0) +-#define __lock_acquire_recursive(lock) ((void) 0) +-#define __lock_try_acquire(lock) ((void) 0) +-#define __lock_try_acquire_recursive(lock) ((void) 0) +-#define __lock_release(lock) ((void) 0) +-#define __lock_release_recursive(lock) ((void) 0) +- +-#else +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +-struct __lock; +-typedef struct __lock * _LOCK_T; +-#define _LOCK_RECURSIVE_T _LOCK_T +- +-#define __LOCK_INIT(class,lock) extern struct __lock __lock_ ## lock; \ +- class _LOCK_T lock = &__lock_ ## lock +-#define __LOCK_INIT_RECURSIVE(class,lock) __LOCK_INIT(class,lock) +- +-extern void __retarget_lock_init(_LOCK_T *lock); +-#define __lock_init(lock) __retarget_lock_init(&lock) +-extern void __retarget_lock_init_recursive(_LOCK_T *lock); +-#define __lock_init_recursive(lock) __retarget_lock_init_recursive(&lock) +-extern void __retarget_lock_close(_LOCK_T lock); +-#define __lock_close(lock) __retarget_lock_close(lock) +-extern void __retarget_lock_close_recursive(_LOCK_T lock); +-#define __lock_close_recursive(lock) __retarget_lock_close_recursive(lock) +-extern void __retarget_lock_acquire(_LOCK_T lock); +-#define __lock_acquire(lock) __retarget_lock_acquire(lock) +-extern void __retarget_lock_acquire_recursive(_LOCK_T lock); +-#define __lock_acquire_recursive(lock) __retarget_lock_acquire_recursive(lock) +-extern int __retarget_lock_try_acquire(_LOCK_T lock); +-#define __lock_try_acquire(lock) __retarget_lock_try_acquire(lock) +-extern int __retarget_lock_try_acquire_recursive(_LOCK_T lock); +-#define __lock_try_acquire_recursive(lock) \ +- __retarget_lock_try_acquire_recursive(lock) +-extern void __retarget_lock_release(_LOCK_T lock); +-#define __lock_release(lock) __retarget_lock_release(lock) +-extern void __retarget_lock_release_recursive(_LOCK_T lock); +-#define __lock_release_recursive(lock) __retarget_lock_release_recursive(lock) +- +-#ifdef __cplusplus +-} +-#endif +- +-#endif /* !defined(_RETARGETABLE_LOCKING) */ +- +-#endif /* __SYS_LOCK_H__ */ ++#endif // __SYS_LOCK_H__ +diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h +index 6e55e1c1f..6e0c1c9cf 100644 +--- a/newlib/libc/include/sys/reent.h ++++ b/newlib/libc/include/sys/reent.h +@@ -416,6 +416,8 @@ struct _reent + __FILE *__sf; /* file descriptors */ + struct _misc_reent *_misc; /* strtok, multibyte states */ + char *_signal_buf; /* strsignal */ ++ ++ void *deviceData; + }; + + #ifdef _REENT_GLOBAL_STDIO_STREAMS +@@ -686,6 +688,7 @@ struct _reent + # ifndef _REENT_GLOBAL_STDIO_STREAMS + __FILE __sf[3]; /* first three file descriptors */ + # endif ++ void *deviceData; + }; + + #ifdef _REENT_GLOBAL_STDIO_STREAMS +diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h +index eee98db64..aed9c1746 100644 +--- a/newlib/libc/include/sys/stat.h ++++ b/newlib/libc/include/sys/stat.h +@@ -152,8 +152,9 @@ int mkfifo (const char *__path, mode_t __mode ); + int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); + mode_t umask (mode_t __mask ); + +-#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) + int lstat (const char *__restrict __path, struct stat *__restrict __buf ); ++ ++#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) + int mknod (const char *__path, mode_t __mode, dev_t __dev ); + #endif + +diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h +new file mode 100644 +index 000000000..380329d34 +--- /dev/null ++++ b/newlib/libc/include/sys/statvfs.h +@@ -0,0 +1,35 @@ ++#ifndef _SYS_STATVFS_H ++#define _SYS_STATVFS_H ++ ++ ++#define ST_RDONLY 0x0001 ++#define ST_NOSUID 0x0002 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#include ++ ++struct statvfs { ++ unsigned long f_bsize; ++ unsigned long f_frsize; ++ fsblkcnt_t f_blocks; ++ fsblkcnt_t f_bfree; ++ fsblkcnt_t f_bavail; ++ fsfilcnt_t f_files; ++ fsfilcnt_t f_ffree; ++ fsfilcnt_t f_favail; ++ unsigned long f_fsid; ++ unsigned long f_flag; ++ unsigned long f_namemax; ++}; ++ ++int statvfs(const char *path, struct statvfs *buf); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#endif // _SYS_STATVFS_H +\ No newline at end of file +diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h +index ba9dbd667..49c213ca8 100644 +--- a/newlib/libc/include/sys/syslimits.h ++++ b/newlib/libc/include/sys/syslimits.h +@@ -62,4 +62,6 @@ + #define LINE_MAX 2048 /* max bytes in an input line */ + #define RE_DUP_MAX 255 /* max RE's in interval notation */ + ++#define PTHREAD_DESTRUCTOR_ITERATIONS 1 /* max attempts to destroy TLS values on thread exit */ ++ + #endif +diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h +index 5e937f103..635a7a6b8 100644 +--- a/newlib/libc/include/sys/utime.h ++++ b/newlib/libc/include/sys/utime.h +@@ -9,12 +9,19 @@ + extern "C" { + #endif + +-struct utimbuf ++struct utimbuf + { + time_t actime; +- time_t modtime; ++ time_t modtime; + }; + ++/* Functions */ ++ ++int utime( ++ const char *path, ++ const struct utimbuf *times ++); ++ + #ifdef __cplusplus + }; + #endif +diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c +index 4c343e462..c04493460 100644 +--- a/newlib/libc/locale/locale.c ++++ b/newlib/libc/locale/locale.c +@@ -92,7 +92,7 @@ beginning with <<"LC_">>. + + <> returns a pointer to a structure (also defined in + `<>') describing the locale-specific conventions currently +-in effect. ++in effect. + + <<_localeconv_r>> and <<_setlocale_r>> are reentrant versions of + <> and <> respectively. The extra argument +@@ -166,15 +166,18 @@ No supporting OS subroutines are required. + #include "../ctype/ctype_.h" + #include "../stdlib/local.h" + ++ + #ifdef __CYGWIN__ /* Has to be kept available as exported symbol for + backward compatibility. Set it in setlocale, but + otherwise ignore it. Applications compiled after + 2010 don't use it anymore. */ ++ + int __EXPORT __mb_cur_max = 6; + #endif + + char *_PathLocale = NULL; + ++ + #ifdef _MB_CAPABLE + /* + * Category names for getenv() +@@ -194,7 +197,11 @@ static char *categories[_LC_LAST] = { + * Default locale per POSIX. Can be overridden on a per-target base. + */ + #ifndef DEFAULT_LOCALE +-#define DEFAULT_LOCALE "C" ++#ifdef __DEFAULT_UTF8__ ++#define DEFAULT_LOCALE "C.UTF-8" ++#else ++#define DEFAULT_LOCALE "C" ++#endif + #endif + + #ifdef _MB_CAPABLE +@@ -207,8 +214,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; + const struct __locale_t __C_locale = + { + { "C", "C", "C", "C", "C", "C", "C", }, ++#if defined ( __DEFAULT_UTF8__ ) ++ __utf8_wctomb, ++ __utf8_mbtowc, ++#else + __ascii_wctomb, + __ascii_mbtowc, ++#endif + 0, + DEFAULT_CTYPE_PTR, + { +@@ -219,9 +231,15 @@ const struct __locale_t __C_locale = + CHAR_MAX, CHAR_MAX + }, + #ifndef __HAVE_LOCALE_INFO__ ++#ifdef __DEFAULT_UTF8__ ++ "\6", ++ "UTF-8", ++ "UTF-8", ++#else + "\1", + "ASCII", + "ASCII", ++#endif + #else /* __HAVE_LOCALE_INFO__ */ + { + { NULL, NULL }, /* LC_ALL */ +@@ -240,10 +258,11 @@ const struct __locale_t __C_locale = + }; + #endif /* _MB_CAPABLE */ + ++ + struct __locale_t __global_locale = + { + { "C", "C", DEFAULT_LOCALE, "C", "C", "C", "C", }, +-#ifdef __CYGWIN__ ++#if defined ( __CYGWIN__ ) || defined ( __DEFAULT_UTF8__ ) + __utf8_wctomb, + __utf8_mbtowc, + #else +@@ -260,9 +279,15 @@ struct __locale_t __global_locale = + CHAR_MAX, CHAR_MAX + }, + #ifndef __HAVE_LOCALE_INFO__ ++#ifdef __DEFAULT_UTF8__ ++ "\6", ++ "UTF-8", ++ "UTF-8", ++#else + "\1", + "ASCII", + "ASCII", ++#endif + #else /* __HAVE_LOCALE_INFO__ */ + { + { NULL, NULL }, /* LC_ALL */ +@@ -296,7 +321,7 @@ _setlocale_r (struct _reent *p, + { + #ifndef _MB_CAPABLE + if (locale) +- { ++ { + if (strcmp (locale, "POSIX") && strcmp (locale, "C") + && strcmp (locale, "")) + return NULL; +@@ -990,6 +1015,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) + + const char * + __locale_ctype_ptr (void) ++ + { + return __get_current_locale ()->ctype_ptr; + } +diff --git a/newlib/libc/machine/aarch64/Makefile.am b/newlib/libc/machine/aarch64/Makefile.am +index e8b8197fa..011f69d69 100644 +--- a/newlib/libc/machine/aarch64/Makefile.am ++++ b/newlib/libc/machine/aarch64/Makefile.am +@@ -9,6 +9,7 @@ AM_CCASFLAGS = $(INCLUDES) + noinst_LIBRARIES = lib.a + + lib_a_SOURCES = ++lib_a_SOURCES += access.c + lib_a_SOURCES += memchr-stub.c + lib_a_SOURCES += memchr.S + lib_a_SOURCES += memcmp-stub.c +diff --git a/newlib/libc/machine/aarch64/Makefile.in b/newlib/libc/machine/aarch64/Makefile.in +index 39b23a1ce..969512471 100644 +--- a/newlib/libc/machine/aarch64/Makefile.in ++++ b/newlib/libc/machine/aarch64/Makefile.in +@@ -69,22 +69,22 @@ LIBRARIES = $(noinst_LIBRARIES) + ARFLAGS = cru + lib_a_AR = $(AR) $(ARFLAGS) + lib_a_LIBADD = +-am_lib_a_OBJECTS = lib_a-memchr-stub.$(OBJEXT) lib_a-memchr.$(OBJEXT) \ +- lib_a-memcmp-stub.$(OBJEXT) lib_a-memcmp.$(OBJEXT) \ +- lib_a-memcpy-stub.$(OBJEXT) lib_a-memcpy.$(OBJEXT) \ +- lib_a-memmove-stub.$(OBJEXT) lib_a-memmove.$(OBJEXT) \ +- lib_a-memset-stub.$(OBJEXT) lib_a-memset.$(OBJEXT) \ +- lib_a-rawmemchr.$(OBJEXT) lib_a-rawmemchr-stub.$(OBJEXT) \ +- lib_a-setjmp.$(OBJEXT) lib_a-stpcpy-stub.$(OBJEXT) \ +- lib_a-stpcpy.$(OBJEXT) lib_a-strchr-stub.$(OBJEXT) \ +- lib_a-strchr.$(OBJEXT) lib_a-strchrnul-stub.$(OBJEXT) \ +- lib_a-strchrnul.$(OBJEXT) lib_a-strcmp-stub.$(OBJEXT) \ +- lib_a-strcmp.$(OBJEXT) lib_a-strcpy-stub.$(OBJEXT) \ +- lib_a-strcpy.$(OBJEXT) lib_a-strlen-stub.$(OBJEXT) \ +- lib_a-strlen.$(OBJEXT) lib_a-strncmp-stub.$(OBJEXT) \ +- lib_a-strncmp.$(OBJEXT) lib_a-strnlen-stub.$(OBJEXT) \ +- lib_a-strnlen.$(OBJEXT) lib_a-strrchr-stub.$(OBJEXT) \ +- lib_a-strrchr.$(OBJEXT) ++am_lib_a_OBJECTS = lib_a-access.$(OBJEXT) lib_a-memchr-stub.$(OBJEXT) \ ++ lib_a-memchr.$(OBJEXT) lib_a-memcmp-stub.$(OBJEXT) \ ++ lib_a-memcmp.$(OBJEXT) lib_a-memcpy-stub.$(OBJEXT) \ ++ lib_a-memcpy.$(OBJEXT) lib_a-memmove-stub.$(OBJEXT) \ ++ lib_a-memmove.$(OBJEXT) lib_a-memset-stub.$(OBJEXT) \ ++ lib_a-memset.$(OBJEXT) lib_a-rawmemchr.$(OBJEXT) \ ++ lib_a-rawmemchr-stub.$(OBJEXT) lib_a-setjmp.$(OBJEXT) \ ++ lib_a-stpcpy-stub.$(OBJEXT) lib_a-stpcpy.$(OBJEXT) \ ++ lib_a-strchr-stub.$(OBJEXT) lib_a-strchr.$(OBJEXT) \ ++ lib_a-strchrnul-stub.$(OBJEXT) lib_a-strchrnul.$(OBJEXT) \ ++ lib_a-strcmp-stub.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ ++ lib_a-strcpy-stub.$(OBJEXT) lib_a-strcpy.$(OBJEXT) \ ++ lib_a-strlen-stub.$(OBJEXT) lib_a-strlen.$(OBJEXT) \ ++ lib_a-strncmp-stub.$(OBJEXT) lib_a-strncmp.$(OBJEXT) \ ++ lib_a-strnlen-stub.$(OBJEXT) lib_a-strnlen.$(OBJEXT) \ ++ lib_a-strrchr-stub.$(OBJEXT) lib_a-strrchr.$(OBJEXT) + lib_a_OBJECTS = $(am_lib_a_OBJECTS) + DEFAULT_INCLUDES = -I.@am__isrc@ + depcomp = +@@ -210,7 +210,7 @@ AUTOMAKE_OPTIONS = cygnus + INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) + AM_CCASFLAGS = $(INCLUDES) + noinst_LIBRARIES = lib.a +-lib_a_SOURCES = memchr-stub.c memchr.S memcmp-stub.c memcmp.S \ ++lib_a_SOURCES = access.c memchr-stub.c memchr.S memcmp-stub.c memcmp.S \ + memcpy-stub.c memcpy.S memmove-stub.c memmove.S memset-stub.c \ + memset.S rawmemchr.S rawmemchr-stub.c setjmp.S stpcpy-stub.c \ + stpcpy.S strchr-stub.c strchr.S strchrnul-stub.c strchrnul.S \ +@@ -381,6 +381,12 @@ lib_a-strrchr.obj: strrchr.S + .c.obj: + $(COMPILE) -c `$(CYGPATH_W) '$<'` + ++lib_a-access.o: access.c ++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.o `test -f 'access.c' || echo '$(srcdir)/'`access.c ++ ++lib_a-access.obj: access.c ++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.obj `if test -f 'access.c'; then $(CYGPATH_W) 'access.c'; else $(CYGPATH_W) '$(srcdir)/access.c'; fi` ++ + lib_a-memchr-stub.o: memchr-stub.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.o `test -f 'memchr-stub.c' || echo '$(srcdir)/'`memchr-stub.c + +diff --git a/newlib/libc/machine/aarch64/access.c b/newlib/libc/machine/aarch64/access.c +new file mode 100644 +index 000000000..980682ef3 +--- /dev/null ++++ b/newlib/libc/machine/aarch64/access.c +@@ -0,0 +1,33 @@ ++/* This is file ACCESS.C */ ++/* ++ * Copyright (C) 1993 DJ Delorie ++ * All rights reserved. ++ * ++ * Redistribution, modification, and use in source and binary forms is permitted ++ * provided that the above copyright notice and following paragraph are ++ * duplicated in all such forms. ++ * ++ * This file is distributed WITHOUT ANY WARRANTY; without even the implied ++ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ */ ++ ++#include ++#include ++#include ++ ++int access(const char *fn, int flags) ++{ ++ struct stat s; ++ if (stat(fn, &s)) ++ return -1; ++ if (s.st_mode & S_IFDIR) ++ return 0; ++ if (flags & W_OK) ++ { ++ if (s.st_mode & S_IWRITE) ++ return 0; ++ return -1; ++ } ++ return 0; ++} ++ +diff --git a/newlib/libc/machine/arm/Makefile.am b/newlib/libc/machine/arm/Makefile.am +index 9bd35e733..731130092 100644 +--- a/newlib/libc/machine/arm/Makefile.am ++++ b/newlib/libc/machine/arm/Makefile.am +@@ -11,7 +11,9 @@ noinst_LIBRARIES = lib.a + lib_a_SOURCES = setjmp.S strcmp.S strcpy.c \ + aeabi_memcpy.c aeabi_memcpy-armv7a.S \ + aeabi_memmove.c aeabi_memmove-soft.S \ +- aeabi_memset.c aeabi_memset-soft.S aeabi_memclr.c ++ aeabi_memset.c aeabi_memset-soft.S aeabi_memclr.c \ ++ sync_synchronize.c ++ + lib_a_SOURCES += memchr-stub.c + lib_a_SOURCES += memchr.S + lib_a_SOURCES += memcpy-stub.c +diff --git a/newlib/libc/machine/arm/Makefile.in b/newlib/libc/machine/arm/Makefile.in +index d9dbcd5c3..43712f813 100644 +--- a/newlib/libc/machine/arm/Makefile.in ++++ b/newlib/libc/machine/arm/Makefile.in +@@ -75,10 +75,10 @@ am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ + lib_a-aeabi_memmove.$(OBJEXT) \ + lib_a-aeabi_memmove-soft.$(OBJEXT) \ + lib_a-aeabi_memset.$(OBJEXT) lib_a-aeabi_memset-soft.$(OBJEXT) \ +- lib_a-aeabi_memclr.$(OBJEXT) lib_a-memchr-stub.$(OBJEXT) \ +- lib_a-memchr.$(OBJEXT) lib_a-memcpy-stub.$(OBJEXT) \ +- lib_a-memcpy.$(OBJEXT) lib_a-strlen-stub.$(OBJEXT) \ +- lib_a-strlen.$(OBJEXT) ++ lib_a-aeabi_memclr.$(OBJEXT) lib_a-sync_synchronize.$(OBJEXT) \ ++ lib_a-memchr-stub.$(OBJEXT) lib_a-memchr.$(OBJEXT) \ ++ lib_a-memcpy-stub.$(OBJEXT) lib_a-memcpy.$(OBJEXT) \ ++ lib_a-strlen-stub.$(OBJEXT) lib_a-strlen.$(OBJEXT) + lib_a_OBJECTS = $(am_lib_a_OBJECTS) + DEFAULT_INCLUDES = -I.@am__isrc@ + depcomp = +@@ -208,8 +208,8 @@ noinst_LIBRARIES = lib.a + lib_a_SOURCES = setjmp.S strcmp.S strcpy.c aeabi_memcpy.c \ + aeabi_memcpy-armv7a.S aeabi_memmove.c aeabi_memmove-soft.S \ + aeabi_memset.c aeabi_memset-soft.S aeabi_memclr.c \ +- memchr-stub.c memchr.S memcpy-stub.c memcpy.S strlen-stub.c \ +- strlen.S ++ sync_synchronize.c memchr-stub.c memchr.S memcpy-stub.c \ ++ memcpy.S strlen-stub.c strlen.S + lib_a_CCASFLAGS = $(AM_CCASFLAGS) + lib_a_CFLAGS = $(AM_CFLAGS) + ACLOCAL_AMFLAGS = -I ../../.. -I ../../../.. +@@ -367,6 +367,12 @@ lib_a-aeabi_memclr.o: aeabi_memclr.c + lib_a-aeabi_memclr.obj: aeabi_memclr.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aeabi_memclr.obj `if test -f 'aeabi_memclr.c'; then $(CYGPATH_W) 'aeabi_memclr.c'; else $(CYGPATH_W) '$(srcdir)/aeabi_memclr.c'; fi` + ++lib_a-sync_synchronize.o: sync_synchronize.c ++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sync_synchronize.o `test -f 'sync_synchronize.c' || echo '$(srcdir)/'`sync_synchronize.c ++ ++lib_a-sync_synchronize.obj: sync_synchronize.c ++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sync_synchronize.obj `if test -f 'sync_synchronize.c'; then $(CYGPATH_W) 'sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/sync_synchronize.c'; fi` ++ + lib_a-memchr-stub.o: memchr-stub.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.o `test -f 'memchr-stub.c' || echo '$(srcdir)/'`memchr-stub.c + +diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c +new file mode 100644 +index 000000000..3acc9e094 +--- /dev/null ++++ b/newlib/libc/machine/arm/sync_synchronize.c +@@ -0,0 +1,10 @@ ++#if __ARM_ARCH < 6 ++#include ++void __attribute__((weak)) ++__sync_synchronize (void) ++{ ++ __warn_references (__sync_synchronize, ++ "legacy compatible __sync_synchronize used. Not suitable for multi-threaded applications"); ++ return; ++} ++#endif +diff --git a/newlib/libc/machine/arm/sys/stdio.h b/newlib/libc/machine/arm/sys/stdio.h +new file mode 100644 +index 000000000..4eb278e2f +--- /dev/null ++++ b/newlib/libc/machine/arm/sys/stdio.h +@@ -0,0 +1,27 @@ ++#ifndef _NEWLIB_STDIO_H ++#define _NEWLIB_STDIO_H ++ ++#include ++#include ++ ++/* Internal locking macros, used to protect stdio functions. In the ++ general case, expand to nothing. Use __SSTR flag in FILE _flags to ++ detect if FILE is private to sprintf/sscanf class of functions; if ++ set then do nothing as lock is not initialised. */ ++#if !defined(_flockfile) ++#ifndef __SINGLE_THREAD__ ++# define _flockfile(fp) (((fp)->_flags & __SSTR) ? 0 : __flockfile(fp)) ++#else ++# define _flockfile(fp) (_CAST_VOID 0) ++#endif ++#endif ++ ++#if !defined(_funlockfile) ++#ifndef __SINGLE_THREAD__ ++# define _funlockfile(fp) (((fp)->_flags & __SSTR) ? 0 : __funlockfile(fp)) ++#else ++# define _funlockfile(fp) (_CAST_VOID 0) ++#endif ++#endif ++ ++#endif /* _NEWLIB_STDIO_H */ +diff --git a/newlib/libc/reent/getreent.c b/newlib/libc/reent/getreent.c +index 5fa98e96b..ef8a15e1b 100644 +--- a/newlib/libc/reent/getreent.c ++++ b/newlib/libc/reent/getreent.c +@@ -1,3 +1,4 @@ ++#if 0 + /* default reentrant pointer when multithread enabled */ + + #ifdef GETREENT_PROVIDED +@@ -20,3 +21,4 @@ __getreent (void) + } + + #endif ++#endif +\ No newline at end of file +diff --git a/newlib/libc/reent/gettimeofdayr.c b/newlib/libc/reent/gettimeofdayr.c +index 9b982a993..8c0aaac8c 100644 +--- a/newlib/libc/reent/gettimeofdayr.c ++++ b/newlib/libc/reent/gettimeofdayr.c +@@ -51,7 +51,7 @@ DESCRIPTION + Check libc.a to see if its available on yours. + */ + +-int ++/*int + _gettimeofday_r (struct _reent *ptr, + struct timeval *ptimeval, + void *ptimezone) +@@ -63,5 +63,5 @@ _gettimeofday_r (struct _reent *ptr, + ptr->_errno = errno; + return ret; + } +- ++*/ + #endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */ +diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c +index b358d2b4a..29cec0229 100644 +--- a/newlib/libc/stdio/fread.c ++++ b/newlib/libc/stdio/fread.c +@@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, + } + + return count; +- ++ + } + + #endif +@@ -225,7 +225,32 @@ _fread_r (struct _reent * ptr, + /* fp->_r = 0 ... done in __srefill */ + p += r; + resid -= r; +- if (__srefill_r (ptr, fp)) ++ ++ int rc = 0; ++ ++ if (resid>BUFSIZ) ++ { ++ /* save fp buffering state */ ++ void *old_base = fp->_bf._base; ++ void * old_p = fp->_p; ++ int old_size = fp->_bf._size; ++ /* allow __refill to use user's buffer */ ++ fp->_bf._base = (unsigned char *) p; ++ fp->_bf._size = resid; ++ fp->_p = (unsigned char *) p; ++ rc = __srefill_r (ptr, fp); ++ /* restore fp buffering back to original state */ ++ fp->_bf._base = old_base; ++ fp->_bf._size = old_size; ++ fp->_p = old_p; ++ resid -= fp->_r; ++ p += fp->_r; ++ fp->_r = 0; ++ ++ } else { ++ rc = __srefill_r (ptr, fp); ++ } ++ if (rc) + { + /* no more input: return partial result */ + #ifdef __SCLE +diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c +index c4bf2dbe3..d756df37d 100644 +--- a/newlib/libc/stdio/vfprintf.c ++++ b/newlib/libc/stdio/vfprintf.c +@@ -112,6 +112,8 @@ Supporting OS subroutines required: <>, <>, <>, + <>, <>, <>, <>. + */ + ++#pragma GCC optimize ("Os") ++ + #if defined(LIBC_SCCS) && !defined(lint) + /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ + static char *rcsid = "$Id$"; +@@ -1438,7 +1440,7 @@ reswitch: switch (ch) { + string: + #endif + sign = '\0'; +-#ifndef __OPTIMIZE_SIZE__ ++//#ifndef __OPTIMIZE_SIZE__ + /* Behavior is undefined if the user passed a + NULL string when precision is not 0. + However, if we are not optimizing for size, +@@ -1448,7 +1450,7 @@ string: + size = ((unsigned) prec > 6U) ? 6 : prec; + } + else +-#endif /* __OPTIMIZE_SIZE__ */ ++//#endif /* __OPTIMIZE_SIZE__ */ + #ifdef _MB_CAPABLE + if (ch == 'S' || (flags & LONGINT)) { + mbstate_t ps; +diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c +index 9c38eebf4..fbc8d877d 100644 +--- a/newlib/libc/stdio/vfscanf.c ++++ b/newlib/libc/stdio/vfscanf.c +@@ -74,6 +74,8 @@ These are GNU extensions. + Supporting OS subroutines required: + */ + ++#pragma GCC optimize ("Os") ++ + #include <_ansi.h> + #include + #include +diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c +index 980b31e3b..722be905e 100644 +--- a/newlib/libc/stdio/vfwprintf.c ++++ b/newlib/libc/stdio/vfwprintf.c +@@ -92,6 +92,9 @@ SEEALSO + * + * This code is large and complicated... + */ ++ ++#pragma GCC optimize ("Os") ++ + #include + + #ifdef INTEGER_ONLY +diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c +index 0464b0837..435fc0142 100644 +--- a/newlib/libc/stdio/vfwscanf.c ++++ b/newlib/libc/stdio/vfwscanf.c +@@ -74,6 +74,9 @@ PORTABILITY + C99, POSIX-1.2008 + */ + ++ ++#pragma GCC optimize ("Os") ++ + #include <_ansi.h> + #include + #include +diff --git a/newlib/libc/stdlib/Makefile.am b/newlib/libc/stdlib/Makefile.am +index 357e37beb..7183b2100 100644 +--- a/newlib/libc/stdlib/Makefile.am ++++ b/newlib/libc/stdlib/Makefile.am +@@ -110,6 +110,7 @@ MALLOCR=mallocr + endif + + EXTENDED_SOURCES = \ ++ threads.c \ + arc4random.c \ + arc4random_uniform.c \ + cxa_atexit.c \ +diff --git a/newlib/libc/stdlib/Makefile.in b/newlib/libc/stdlib/Makefile.in +index 699831f13..1e6d2e612 100644 +--- a/newlib/libc/stdlib/Makefile.in ++++ b/newlib/libc/stdlib/Makefile.in +@@ -119,7 +119,7 @@ am__objects_2 = lib_a-__adjust.$(OBJEXT) lib_a-__atexit.$(OBJEXT) \ + lib_a-wcstoumax.$(OBJEXT) lib_a-wcstombs.$(OBJEXT) \ + lib_a-wcstombs_r.$(OBJEXT) lib_a-wctomb.$(OBJEXT) \ + lib_a-wctomb_r.$(OBJEXT) $(am__objects_1) +-am__objects_3 = lib_a-arc4random.$(OBJEXT) \ ++am__objects_3 = lib_a-threads.$(OBJEXT) lib_a-arc4random.$(OBJEXT) \ + lib_a-arc4random_uniform.$(OBJEXT) lib_a-cxa_atexit.$(OBJEXT) \ + lib_a-cxa_finalize.$(OBJEXT) lib_a-drand48.$(OBJEXT) \ + lib_a-ecvtbuf.$(OBJEXT) lib_a-efgcvt.$(OBJEXT) \ +@@ -173,7 +173,7 @@ am__objects_9 = __adjust.lo __atexit.lo __call_atexit.lo __exp10.lo \ + utoa.lo wcstod.lo wcstoimax.lo wcstol.lo wcstoul.lo \ + wcstoumax.lo wcstombs.lo wcstombs_r.lo wctomb.lo wctomb_r.lo \ + $(am__objects_8) +-am__objects_10 = arc4random.lo arc4random_uniform.lo cxa_atexit.lo \ ++am__objects_10 = threads.lo arc4random.lo arc4random_uniform.lo cxa_atexit.lo \ + cxa_finalize.lo drand48.lo ecvtbuf.lo efgcvt.lo erand48.lo \ + jrand48.lo lcong48.lo lrand48.lo mrand48.lo msize.lo mtrim.lo \ + nrand48.lo rand48.lo seed48.lo srand48.lo strtoll.lo \ +@@ -1054,6 +1054,12 @@ lib_a-wcstold.o: wcstold.c + lib_a-wcstold.obj: wcstold.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstold.obj `if test -f 'wcstold.c'; then $(CYGPATH_W) 'wcstold.c'; else $(CYGPATH_W) '$(srcdir)/wcstold.c'; fi` + ++lib_a-threads.o: threads.c ++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-threads.o `test -f 'threads.c' || echo '$(srcdir)/'`threads.c ++ ++lib_a-threads.obj: threads.c ++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-threads.obj `if test -f 'threads.c'; then $(CYGPATH_W) 'threads.c'; else $(CYGPATH_W) '$(srcdir)/threads.c'; fi` ++ + lib_a-arc4random.o: arc4random.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-arc4random.o `test -f 'arc4random.c' || echo '$(srcdir)/'`arc4random.c + +diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c +index 88413ce86..24029a6f7 100644 +--- a/newlib/libc/stdlib/aligned_alloc.c ++++ b/newlib/libc/stdlib/aligned_alloc.c +@@ -1,5 +1,5 @@ + /*- +- * Copyright (c) 2015 embedded brains GmbH ++ * Copyright (c) 2018 Dave Murphy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without +@@ -25,14 +25,15 @@ + */ + + #include ++#include ++#include + + void * + aligned_alloc(size_t alignment, size_t size) + { +- void *p; +- int error; ++ if ((alignment !=0) && !(alignment & (alignment - 1 )) && !(size & (alignment - 1))) ++ return memalign(alignment,size); + +- error = posix_memalign(&p, alignment, size); +- +- return (error == 0 ? p : NULL); ++ errno = EINVAL; ++ return (void*)NULL; + } +diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c +index 920a7ea3c..ba5ee7652 100644 +--- a/newlib/libc/stdlib/mbtowc_r.c ++++ b/newlib/libc/stdlib/mbtowc_r.c +@@ -7,6 +7,7 @@ + #include + #include "local.h" + ++ + int + _mbtowc_r (struct _reent *r, + wchar_t *__restrict pwc, +diff --git a/newlib/libc/stdlib/threads.c b/newlib/libc/stdlib/threads.c +new file mode 100755 +index 000000000..741111ea0 +--- /dev/null ++++ b/newlib/libc/stdlib/threads.c +@@ -0,0 +1,224 @@ ++/*- ++ * Copyright (c) 2019 fincs ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#if defined(PTHREAD_MUTEX_INITIALIZER) && defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) ++#define MTX_DIRECT_INIT ++#endif ++ ++#if defined(PTHREAD_COND_INITIALIZER) ++#define CND_DIRECT_INIT ++#endif ++ ++static inline int err2thrd(int err) ++{ ++ switch (err) { ++ case 0: ++ return thrd_success; ++ case EBUSY: ++ return thrd_busy; ++ case ETIMEDOUT: ++ return thrd_timedout; ++ case ENOMEM: ++ return thrd_nomem; ++ default: ++ return thrd_error; ++ } ++} ++ ++void call_once(once_flag *flag, void (*func)(void)) ++{ ++ pthread_once(flag, func); ++} ++ ++int cnd_broadcast(cnd_t *cond) ++{ ++ int err = pthread_cond_broadcast(cond); ++ return err2thrd(err); ++} ++ ++void cnd_destroy(cnd_t *cond) ++{ ++#ifndef CND_DIRECT_INIT ++ pthread_cond_destroy(cond); ++#endif ++} ++ ++int cnd_init(cnd_t *cond) ++{ ++#ifdef CND_DIRECT_INIT ++ *cond = PTHREAD_COND_INITIALIZER; ++ return thrd_success; ++#else ++ int err = pthread_cond_init(cond, NULL); ++ return err2thrd(err); ++#endif ++} ++ ++int cnd_signal(cnd_t *cond) ++{ ++ int err = pthread_cond_signal(cond); ++ return err2thrd(err); ++} ++ ++int cnd_timedwait(cnd_t *__restrict cond, mtx_t *__restrict mtx, const struct timespec *__restrict abs_time) ++{ ++ int err = pthread_cond_timedwait(cond, mtx, abs_time); ++ return err2thrd(err); ++} ++ ++int cnd_wait(cnd_t *cond, mtx_t *mtx) ++{ ++ int err = pthread_cond_wait(cond, mtx); ++ return err2thrd(err); ++} ++ ++void mtx_destroy(mtx_t *mtx) ++{ ++#ifndef MTX_DIRECT_INIT ++ pthread_mutex_destroy(mtx); ++#endif ++} ++ ++int mtx_init(mtx_t *mtx, int type) ++{ ++ if (type & mtx_timed) ++ return thrd_error; ++#ifdef MTX_DIRECT_INIT ++ if (type & mtx_recursive) ++ *mtx = PTHREAD_RECURSIVE_MUTEX_INITIALIZER; ++ else ++ *mtx = PTHREAD_MUTEX_INITIALIZER; ++ return thrd_success; ++#else ++ pthread_mutexattr_t attr; ++ pthread_mutexattr_init(&attr); ++ if (type & mtx_plain) ++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL); ++ if (type & mtx_recursive) ++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); ++ int err = pthread_mutex_init(mtx, &attr); ++ pthread_mutexattr_destroy(&attr); ++ return err2thrd(err); ++#endif ++} ++ ++int mtx_lock(mtx_t *mtx) ++{ ++ int err = pthread_mutex_lock(mtx); ++ return err2thrd(err); ++} ++ ++int mtx_timedlock(mtx_t *__restrict mtx, const struct timespec *__restrict ts) ++{ ++ return thrd_error; ++} ++ ++int mtx_trylock(mtx_t *mtx) ++{ ++ int err = pthread_mutex_trylock(mtx); ++ return err2thrd(err); ++} ++ ++int mtx_unlock(mtx_t *mtx) ++{ ++ int err = pthread_mutex_unlock(mtx); ++ return err2thrd(err); ++} ++ ++int thrd_create(thrd_t *thr, thrd_start_t func, void *arg) ++{ ++ int err = pthread_create(thr, NULL, (void*(*)(void*))func, arg); ++ return err2thrd(err); ++} ++ ++thrd_t thrd_current(void) ++{ ++ return pthread_self(); ++} ++ ++int thrd_detach(thrd_t thr) ++{ ++ int err = pthread_detach(thr); ++ return err2thrd(err); ++} ++ ++int thrd_equal(thrd_t thr1, thrd_t thr2) ++{ ++ return pthread_equal(thr1, thr2); ++} ++ ++void thrd_exit(int res) ++{ ++ pthread_exit((void*)(uintptr_t)res); ++} ++ ++int thrd_join(thrd_t thr, int *res) ++{ ++ void *value = NULL; ++ int err = pthread_join(thr, &value); ++ if (!err && res) ++ *res = (uintptr_t)value; ++ return err2thrd(err); ++} ++ ++int thrd_sleep(const struct timespec *duration, struct timespec *remaining) ++{ ++ return nanosleep(duration, remaining); ++} ++ ++void thrd_yield(void) ++{ ++ sched_yield(); ++} ++ ++int tss_create(tss_t *key, tss_dtor_t dtor) ++{ ++ int err = pthread_key_create(key, dtor); ++ return err2thrd(err); ++} ++ ++void tss_delete(tss_t key) ++{ ++ pthread_key_delete(key); ++} ++ ++void * tss_get(tss_t key) ++{ ++ return pthread_getspecific(key); ++} ++ ++int tss_set(tss_t key, void *val) ++{ ++ int err = pthread_setspecific(key, val); ++ return err2thrd(err); ++} +diff --git a/newlib/libc/sys/arm/include/machine/_types.h b/newlib/libc/sys/arm/include/machine/_types.h +new file mode 100644 +index 000000000..40092f99f +--- /dev/null ++++ b/newlib/libc/sys/arm/include/machine/_types.h +@@ -0,0 +1,19 @@ ++#ifndef _MACHINE__TYPES_H ++#define _MACHINE__TYPES_H ++ ++#include ++ ++/* Use 64bit types */ ++typedef __int64_t _off_t; ++#define __machine_off_t_defined ++ ++typedef __int64_t _fpos_t; ++#define __machine_fpos_t_defined ++ ++typedef __uint32_t __ino_t; ++#define __machine_ino_t_defined ++ ++typedef __uint32_t __dev_t; ++#define __machine_dev_t_defined ++#endif ++ +diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h +new file mode 100644 +index 000000000..567fed56b +--- /dev/null ++++ b/newlib/libc/sys/arm/sys/lock.h +@@ -0,0 +1,66 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ ++ ++#include <_ansi.h> ++#include ++ ++typedef int32_t _LOCK_T; ++ ++struct __lock_t { ++ _LOCK_T lock; ++ uint32_t thread_tag; ++ uint32_t counter; ++}; ++ ++typedef struct __lock_t _LOCK_RECURSIVE_T; ++ ++extern void __libc_lock_init(_LOCK_T *lock); ++extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_close(_LOCK_T *lock); ++extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++ ++#define __LOCK_INIT(CLASS,NAME) \ ++CLASS _LOCK_T NAME = 1; ++ ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ ++CLASS _LOCK_RECURSIVE_T NAME = {1,0,0}; ++ ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) ++ ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) ++ ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close_recursive(&(NAME)) ++ ++#define __lock_acquire(NAME) \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_acquire_recursive(NAME) \ ++ __libc_lock_acquire_recursive(&(NAME)) ++ ++#define __lock_try_acquire(NAME) \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_try_acquire_recursive(NAME) \ ++ __libc_lock_try_acquire_recursive(&(NAME)) ++ ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release_recursive(&(NAME)) ++ ++#endif // __SYS_LOCK_H__ +diff --git a/newlib/libc/sys/arm/sys/param.h b/newlib/libc/sys/arm/sys/param.h +index 5b9464cca..e8969b954 100644 +--- a/newlib/libc/sys/arm/sys/param.h ++++ b/newlib/libc/sys/arm/sys/param.h +@@ -19,6 +19,8 @@ + # define PATHSIZE (1024) + #endif + ++#define MAXPATHLEN PATHSIZE ++ + #define MAX(a,b) ((a) > (b) ? (a) : (b)) + #define MIN(a,b) ((a) < (b) ? (a) : (b)) + diff --git a/select_toolchain.sh b/select_toolchain.sh index 420aafa..0abf1fe 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -53,7 +53,7 @@ case "$VERSION" in "3" ) GCC_VER=8.3.0 BINUTILS_VER=2.32 - NEWLIB_VER=3.0.0 + NEWLIB_VER=3.1.0 GDB_VER=8.2.1 basedir='dka64' package=devkitA64 From bcb3bff114ff00c2d357220ca8d0aa424bcc1a15 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 7 Mar 2019 01:58:38 +0000 Subject: [PATCH 082/280] update devkitA64 version --- build-devkit.sh | 2 +- dka64/scripts/build-gcc.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 1d54f90..b458ed3 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,7 +2,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 52 # devkitPPC release 35 -# devkitA64 release 12 +# devkitA64 release 13 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 9bc87c0..32c683b 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -64,7 +64,7 @@ then --prefix=$prefix \ --enable-lto $plugin_ld\ --with-system-zlib \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 12" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 13" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } From ade65bab03cd227488723bb39875eeb8130f6fd7 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 19 Mar 2019 08:45:03 +0000 Subject: [PATCH 083/280] fix uselocal --- dka64/patches/newlib-3.1.0.patch | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/dka64/patches/newlib-3.1.0.patch b/dka64/patches/newlib-3.1.0.patch index 20059e3..901c669 100644 --- a/dka64/patches/newlib-3.1.0.patch +++ b/dka64/patches/newlib-3.1.0.patch @@ -9196,6 +9196,34 @@ index 4c343e462..c04493460 100644 { return __get_current_locale ()->ctype_ptr; } +diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h +index a0c80843a..efabdcfc4 100644 +--- a/newlib/libc/locale/setlocale.h ++++ b/newlib/libc/locale/setlocale.h +@@ -217,11 +217,7 @@ __get_global_locale () + _ELIDABLE_INLINE struct __locale_t * + __get_locale_r (struct _reent *r) + { +-#ifdef __HAVE_LOCALE_INFO__ + return r->_locale; +-#else +- return __get_global_locale(); +-#endif + } + + /* In POSIX terms the current locale is the locale used by all functions +@@ -231,11 +227,7 @@ __get_locale_r (struct _reent *r) + _ELIDABLE_INLINE struct __locale_t * + __get_current_locale (void) + { +-#ifdef __HAVE_LOCALE_INFO__ + return _REENT->_locale ?: __get_global_locale (); +-#else +- return __get_global_locale(); +-#endif + } + + /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE diff --git a/newlib/libc/machine/aarch64/Makefile.am b/newlib/libc/machine/aarch64/Makefile.am index e8b8197fa..011f69d69 100644 --- a/newlib/libc/machine/aarch64/Makefile.am From 65c1a1256a869ed3f4e98e1d6bafd45d249404db Mon Sep 17 00:00:00 2001 From: fincs Date: Sat, 23 Mar 2019 19:32:37 +0100 Subject: [PATCH 084/280] devkitA64: update binutils patch with latest changes --- dka64/patches/binutils-2.31.1.patch | 346 ---------------------------- dka64/patches/binutils-2.32.patch | 252 ++++++++++++++++++++ 2 files changed, 252 insertions(+), 346 deletions(-) delete mode 100644 dka64/patches/binutils-2.31.1.patch diff --git a/dka64/patches/binutils-2.31.1.patch b/dka64/patches/binutils-2.31.1.patch deleted file mode 100644 index 287bec5..0000000 --- a/dka64/patches/binutils-2.31.1.patch +++ /dev/null @@ -1,346 +0,0 @@ -diff -NBaur binutils-2.31.1/bfd/elfnn-aarch64.c binutils-2.31.1-dka64/bfd/elfnn-aarch64.c ---- binutils-2.31.1/bfd/elfnn-aarch64.c 2018-06-25 12:44:16.000000000 +0100 -+++ binutils-2.31.1-dka64/bfd/elfnn-aarch64.c 2018-07-27 18:11:15.757082269 +0100 -@@ -2342,6 +2342,12 @@ - aarch64_stub_erratum_843419_veneer, - }; - -+/* Is an undefined weak symbol resolved to 0 ? */ -+#define UNDEFINED_WEAK_RESOLVED_TO_ZERO(INFO, EH) \ -+ ((EH)->root.root.type == bfd_link_hash_undefweak \ -+ && bfd_link_executable (INFO) \ -+ && !(INFO)->dynamic_undefined_weak) -+ - struct elf_aarch64_stub_hash_entry - { - /* Base hash table entry structure. */ -@@ -6370,11 +6376,13 @@ - Elf_Internal_Sym *sym; - asection *sec; - struct elf_link_hash_entry *h; -+ struct elf_aarch64_link_hash_entry *eh; - bfd_vma relocation; - bfd_reloc_status_type r; - arelent bfd_reloc; - char sym_type; - bfd_boolean unresolved_reloc = FALSE; -+ bfd_boolean resolved_to_zero = FALSE; - char *error_message = NULL; - - r_symndx = ELFNN_R_SYM (rel->r_info); -@@ -6509,6 +6517,10 @@ - h, &unresolved_reloc, - save_addend, &addend, sym); - -+ eh = (struct elf_aarch64_link_hash_entry *) h; -+ resolved_to_zero = (eh != NULL -+ && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh)); -+ - switch (elfNN_aarch64_bfd_reloc_from_type (input_bfd, r_type)) - { - case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC: -@@ -6532,7 +6544,7 @@ - need_relocs = - (!bfd_link_executable (info) || indx != 0) && - (h == NULL -- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT -+ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) - || h->root.type != bfd_link_hash_undefweak); - - BFD_ASSERT (globals->root.srelgot != NULL); -@@ -6627,7 +6639,7 @@ - need_relocs = - (!bfd_link_executable (info) || indx != 0) && - (h == NULL -- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT -+ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) - || h->root.type != bfd_link_hash_undefweak); - - BFD_ASSERT (globals->root.srelgot != NULL); -@@ -6676,7 +6688,7 @@ - bfd_vma off = symbol_tlsdesc_got_offset (input_bfd, h, r_symndx); - - need_relocs = (h == NULL -- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT -+ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) - || h->root.type != bfd_link_hash_undefweak); - - BFD_ASSERT (globals->root.srelgot != NULL); -@@ -7019,6 +7031,26 @@ - return FALSE; - } - -+/* Remove undefined weak symbol from the dynamic symbol table if it -+ is resolved to 0. */ -+ -+extern bfd_boolean -+elfNN_aarch64_elf_fixup_symbol (struct bfd_link_info *, struct elf_link_hash_entry *); -+ -+bfd_boolean -+elfNN_aarch64_elf_fixup_symbol (struct bfd_link_info *info, -+ struct elf_link_hash_entry *h) -+{ -+ if (h->dynindx != -1 -+ && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, elf_aarch64_hash_entry (h))) -+ { -+ h->dynindx = -1; -+ _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr, -+ h->dynstr_index); -+ } -+ return TRUE; -+} -+ - /* Adjust a symbol defined by a dynamic object and referenced by a - regular object. The current definition is in some section of the - dynamic object, but we're not including those sections. We have to -@@ -8221,6 +8253,7 @@ - struct elf_aarch64_link_hash_table *htab; - struct elf_aarch64_link_hash_entry *eh; - struct elf_dyn_relocs *p; -+ bfd_boolean resolved_to_zero; - - /* An example of a bfd_link_hash_indirect symbol is versioned - symbol. For example: __gxx_personality_v0(bfd_link_hash_indirect) -@@ -8240,6 +8273,10 @@ - info = (struct bfd_link_info *) inf; - htab = elf_aarch64_hash_table (info); - -+ eh = (struct elf_aarch64_link_hash_entry *) h; -+ eh->tlsdesc_got_jump_table_offset = (bfd_vma) - 1; -+ resolved_to_zero = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh); -+ - /* Since STT_GNU_IFUNC symbol must go through PLT, we handle it - here if it is defined and referenced in a non-shared object. */ - if (h->type == STT_GNU_IFUNC -@@ -8249,7 +8286,7 @@ - { - /* Make sure this symbol is output as a dynamic symbol. - Undefined weak syms won't yet be marked as dynamic. */ -- if (h->dynindx == -1 && !h->forced_local -+ if (h->dynindx == -1 && !h->forced_local && !resolved_to_zero - && h->root.type == bfd_link_hash_undefweak) - { - if (!bfd_elf_link_record_dynamic_symbol (info, h)) -@@ -8283,6 +8320,11 @@ - of relaxing into these from the large model PLT entries. */ - s->size += PLT_SMALL_ENTRY_SIZE; - -+ /* There should be no PLT relocations against resolved undefined -+ weak symbols in the executable. */ -+ if (!resolved_to_zero) -+ { -+ - /* We also need to make an entry in the .got.plt section, which - will be placed in the .got section by the linker script. */ - htab->root.sgotplt->size += GOT_ENTRY_SIZE; -@@ -8305,6 +8347,7 @@ - - htab->root.srelplt->reloc_count++; - } -+ } - else - { - h->plt.offset = (bfd_vma) - 1; -@@ -8317,9 +8360,6 @@ - h->needs_plt = 0; - } - -- eh = (struct elf_aarch64_link_hash_entry *) h; -- eh->tlsdesc_got_jump_table_offset = (bfd_vma) - 1; -- - if (h->got.refcount > 0) - { - bfd_boolean dyn; -@@ -8331,7 +8371,7 @@ - - /* Make sure this symbol is output as a dynamic symbol. - Undefined weak syms won't yet be marked as dynamic. */ -- if (dyn && h->dynindx == -1 && !h->forced_local -+ if (dyn && h->dynindx == -1 && !h->forced_local && !resolved_to_zero - && h->root.type == bfd_link_hash_undefweak) - { - if (!bfd_elf_link_record_dynamic_symbol (info, h)) -@@ -8345,7 +8385,7 @@ - { - h->got.offset = htab->root.sgot->size; - htab->root.sgot->size += GOT_ENTRY_SIZE; -- if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT -+ if (((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) - || h->root.type != bfd_link_hash_undefweak) - && (bfd_link_pic (info) - || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h)) -@@ -8381,7 +8421,7 @@ - } - - indx = h && h->dynindx != -1 ? h->dynindx : 0; -- if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT -+ if (((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) - || h->root.type != bfd_link_hash_undefweak) - && (!bfd_link_executable (info) - || indx != 0 -@@ -8447,7 +8487,7 @@ - visibility. */ - if (eh->dyn_relocs != NULL && h->root.type == bfd_link_hash_undefweak) - { -- if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT -+ if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT || resolved_to_zero - || UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) - eh->dyn_relocs = NULL; - -@@ -8467,7 +8507,9 @@ - symbols which turn out to need copy relocs or are not - dynamic. */ - -- if (!h->non_got_ref -+ if (!(h->non_got_ref -+ || (h->root.type == bfd_link_hash_undefweak -+ && !resolved_to_zero)) - && ((h->def_dynamic - && !h->def_regular) - || (htab->root.dynamic_sections_created -@@ -8478,6 +8520,7 @@ - Undefined weak syms won't yet be marked as dynamic. */ - if (h->dynindx == -1 - && !h->forced_local -+ && !resolved_to_zero - && h->root.type == bfd_link_hash_undefweak - && !bfd_elf_link_record_dynamic_symbol (info, h)) - return FALSE; -@@ -9098,8 +9141,17 @@ - Elf_Internal_Sym *sym) - { - struct elf_aarch64_link_hash_table *htab; -+ struct elf_aarch64_link_hash_entry *eh; -+ bfd_boolean local_undefweak; - htab = elf_aarch64_hash_table (info); - -+ eh = (struct elf_aarch64_link_hash_entry *) h; -+ -+ /* We keep PLT/GOT entries without dynamic PLT/GOT relocations for -+ resolved undefined weak symbols in executable so that their -+ references have value 0 at run-time. */ -+ local_undefweak = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh); -+ - if (h->plt.offset != (bfd_vma) - 1) - { - asection *plt, *gotplt, *relplt; -@@ -9134,7 +9186,7 @@ - return FALSE; - - elfNN_aarch64_create_small_pltn_entry (h, htab, output_bfd, info); -- if (!h->def_regular) -+ if (!local_undefweak && !h->def_regular) - { - /* Mark the symbol as undefined, rather than as defined in - the .plt section. */ -@@ -9153,10 +9205,11 @@ - } - - if (h->got.offset != (bfd_vma) - 1 -- && elf_aarch64_hash_entry (h)->got_type == GOT_NORMAL -+ && elf_aarch64_hash_entry (h)->got_type == GOT_NORMAL - /* Undefined weak symbol in static PIE resolves to 0 without - any dynamic relocations. */ -- && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) -+ && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h) -+ && !local_undefweak) - { - Elf_Internal_Rela rela; - bfd_byte *loc; -@@ -9650,6 +9703,9 @@ - #define elf_backend_init_index_section \ - _bfd_elf_init_2_index_sections - -+#define elf_backend_fixup_symbol \ -+ elfNN_aarch64_elf_fixup_symbol -+ - #define elf_backend_finish_dynamic_sections \ - elfNN_aarch64_finish_dynamic_sections - -diff -NBaur binutils-2.31.1/ld/emulparams/aarch64elf32.sh binutils-2.31.1-dka64/ld/emulparams/aarch64elf32.sh ---- binutils-2.31.1/ld/emulparams/aarch64elf32.sh 2018-06-24 19:38:57.000000000 +0100 -+++ binutils-2.31.1-dka64/ld/emulparams/aarch64elf32.sh 2018-07-27 18:04:52.585317513 +0100 -@@ -1,3 +1,5 @@ -+. ${srcdir}/emulparams/dynamic_undefined_weak.sh -+ - ARCH="aarch64:ilp32" - MACHINE= - NOP=0x1f2003d5 -diff -NBaur binutils-2.31.1/ld/emulparams/aarch64elf.sh binutils-2.31.1-dka64/ld/emulparams/aarch64elf.sh ---- binutils-2.31.1/ld/emulparams/aarch64elf.sh 2018-06-24 19:38:57.000000000 +0100 -+++ binutils-2.31.1-dka64/ld/emulparams/aarch64elf.sh 2018-07-27 18:04:52.585317513 +0100 -@@ -1,3 +1,5 @@ -+. ${srcdir}/emulparams/dynamic_undefined_weak.sh -+ - ARCH=aarch64 - MACHINE= - NOP=0x1f2003d5 -diff -NBaur binutils-2.31.1/ld/emultempl/aarch64elf.em binutils-2.31.1-dka64/ld/emultempl/aarch64elf.em ---- binutils-2.31.1/ld/emultempl/aarch64elf.em 2018-06-26 12:27:20.000000000 +0100 -+++ binutils-2.31.1-dka64/ld/emultempl/aarch64elf.em 2018-07-27 18:04:52.585317513 +0100 -@@ -380,7 +380,7 @@ - { "no-apply-dynamic-relocs", no_argument, NULL, OPTION_NO_APPLY_DYNAMIC_RELOCS}, - ' - --PARSE_AND_LIST_OPTIONS=' -+PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}' - fprintf (file, _(" --no-enum-size-warning Don'\''t warn about objects with incompatible\n" - " enum sizes\n")); - fprintf (file, _(" --no-wchar-size-warning Don'\''t warn about objects with incompatible\n" -diff -NBaur binutils-2.31.1/ld/Makefile.am binutils-2.31.1-dka64/ld/Makefile.am ---- binutils-2.31.1/ld/Makefile.am 2018-06-24 19:38:57.000000000 +0100 -+++ binutils-2.31.1-dka64/ld/Makefile.am 2018-07-27 18:04:52.585317513 +0100 -@@ -1495,19 +1495,23 @@ - $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} - - eaarch64elf.c: $(srcdir)/emulparams/aarch64elf.sh \ -- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ -+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elf32.c: $(srcdir)/emulparams/aarch64elf32.sh \ -- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ -+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64elf.sh \ -- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ -+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \ -- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ -+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64cloudabi.c: $(srcdir)/emulparams/aarch64cloudabi.sh \ -diff -NBaur binutils-2.31.1/ld/Makefile.in binutils-2.31.1-dka64/ld/Makefile.in ---- binutils-2.31.1/ld/Makefile.in 2018-07-18 08:46:21.000000000 +0100 -+++ binutils-2.31.1-dka64/ld/Makefile.in 2018-07-27 18:04:52.585317513 +0100 -@@ -3097,18 +3097,22 @@ - - eaarch64elf.c: $(srcdir)/emulparams/aarch64elf.sh \ - $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elf32.c: $(srcdir)/emulparams/aarch64elf32.sh \ - $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64elf.sh \ - $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \ - $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64cloudabi.c: $(srcdir)/emulparams/aarch64cloudabi.sh \ diff --git a/dka64/patches/binutils-2.32.patch b/dka64/patches/binutils-2.32.patch index 80b6c2e..5bebc43 100644 --- a/dka64/patches/binutils-2.32.patch +++ b/dka64/patches/binutils-2.32.patch @@ -1,3 +1,41 @@ +diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h +index 5741c60264..fb5d9d069c 100644 +--- a/bfd/elf-bfd.h ++++ b/bfd/elf-bfd.h +@@ -1789,6 +1789,14 @@ struct output_elf_obj_tdata + asection *sec; + } build_id; + ++ /* Data for .nx-module-name. */ ++ struct ++ { ++ bfd_boolean (*after_write_object_contents) (bfd *); ++ const char *name; ++ asection *sec; ++ } nx_module_name; ++ + /* Records the result of `get_program_header_size'. */ + bfd_size_type program_header_size; + +diff --git a/bfd/elf.c b/bfd/elf.c +index eb3e1828e9..bc6bb48804 100644 +--- a/bfd/elf.c ++++ b/bfd/elf.c +@@ -6514,6 +6514,14 @@ _bfd_elf_write_object_contents (bfd *abfd) + if (!bed->s->write_shdrs_and_ehdr (abfd)) + return FALSE; + ++ /* Write out the NX module name. */ ++ if (t->o->nx_module_name.after_write_object_contents != NULL) ++ { ++ failed = !(*t->o->nx_module_name.after_write_object_contents) (abfd); ++ if (failed) ++ return FALSE; ++ } ++ + /* This is last since write_shdrs_and_ehdr can touch i_shdrp[0]. */ + if (t->o->build_id.after_write_object_contents != NULL) + return (*t->o->build_id.after_write_object_contents) (abfd); diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index faa27611d4..888af6bcd8 100644 --- a/bfd/elfnn-aarch64.c @@ -350,3 +388,217 @@ index 45e40b510c..916ef2086a 100644 fprintf (file, _(" --no-enum-size-warning Don'\''t warn about objects with incompatible\n" " enum sizes\n")); fprintf (file, _(" --no-wchar-size-warning Don'\''t warn about objects with incompatible\n" +diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em +index f4f7ad6b4e..8428a54697 100644 +--- a/ld/emultempl/elf32.em ++++ b/ld/emultempl/elf32.em +@@ -192,6 +192,9 @@ static char *depaudit; /* colon (typically) separated list of libs */ + /* Style of .note.gnu.build-id section. */ + static const char *emit_note_gnu_build_id; + ++/* NX module name. */ ++static const char *emit_nx_module_name; ++ + /* On Linux, it's possible to have different versions of the same + shared library linked against different versions of libc. The + dynamic linker somehow tags which libc version to use in +@@ -1217,6 +1220,92 @@ setup_build_id (bfd *ibfd) + return FALSE; + } + ++static bfd_boolean ++write_nx_module_name (bfd *abfd) ++{ ++ struct elf_obj_tdata *t = elf_tdata (abfd); ++ const char *name; ++ asection *asec; ++ Elf_Internal_Shdr *i_shdr; ++ unsigned char *contents; ++ bfd_size_type size; ++ file_ptr position; ++ ++ name = t->o->nx_module_name.name; ++ asec = t->o->nx_module_name.sec; ++ if (bfd_is_abs_section (asec->output_section)) ++ { ++ einfo (_("%P: warning: .nx-module-name section discarded," ++ " --build-id ignored\n")); ++ return TRUE; ++ } ++ i_shdr = &elf_section_data (asec->output_section)->this_hdr; ++ ++ if (i_shdr->contents == NULL) ++ { ++ if (asec->contents == NULL) ++ asec->contents = (unsigned char *) xmalloc (asec->size); ++ contents = asec->contents; ++ } ++ else ++ contents = i_shdr->contents + asec->output_offset; ++ ++ size = asec->size; ++ bfd_h_put_32 (abfd, 0, &contents[0]); ++ bfd_h_put_32 (abfd, size - 9, &contents[4]); ++ memcpy (&contents[8], name, size - 9); ++ contents[size - 1] = 0; /* ensure null termination for AMS */ ++ ++ position = i_shdr->sh_offset + asec->output_offset; ++ ++ return (bfd_seek (abfd, position, SEEK_SET) == 0 ++ && bfd_bwrite (contents, size, abfd) == size); ++} ++ ++/* Make .nx-module-name section, and set up elf_tdata->nx_module_name. */ ++ ++static bfd_boolean ++setup_nx_module_name (bfd *ibfd, bfd *obfd) ++{ ++ asection *s; ++ bfd_size_type size; ++ flagword flags; ++ ++ if (emit_nx_module_name[0] == '\0') ++ { ++ /* Extract the basename of the output bfd and use it as the module name. */ ++ char *dot_pos; ++ free ((char *) emit_nx_module_name); ++ emit_nx_module_name = (char *) lbasename (bfd_get_filename (obfd)); ++ emit_nx_module_name = xstrdup (emit_nx_module_name); ++ dot_pos = strrchr (emit_nx_module_name, '.'); ++ if (dot_pos != NULL) ++ { ++ /* Remove extension. */ ++ *dot_pos = 0; ++ } ++ } ++ ++ size = 8 + strlen(emit_nx_module_name) + 1; /* extra null terminator for AMS */ ++ flags = (SEC_ALLOC | SEC_LOAD | SEC_IN_MEMORY ++ | SEC_LINKER_CREATED | SEC_READONLY | SEC_DATA); ++ s = bfd_make_section_with_flags (ibfd, ".nx-module-name", flags); ++ if (s != NULL && bfd_set_section_alignment (ibfd, s, 4)) ++ { ++ struct elf_obj_tdata *t = elf_tdata (link_info.output_bfd); ++ t->o->nx_module_name.after_write_object_contents = &write_nx_module_name; ++ t->o->nx_module_name.name = emit_nx_module_name; ++ t->o->nx_module_name.sec = s; ++ elf_section_type (s) = SHT_PROGBITS; ++ s->size = size; ++ return TRUE; ++ } ++ ++ einfo (_("%P: warning: cannot create .nx-module-name section," ++ " --nx-module-name ignored\n")); ++ return FALSE; ++} ++ + /* This is called after all the input files have been opened. */ + + static void +@@ -1267,6 +1356,24 @@ gld${EMULATION_NAME}_after_open (void) + } + } + ++ if (emit_nx_module_name != NULL) ++ { ++ /* Find an ELF input. */ ++ for (abfd = link_info.input_bfds; ++ abfd != (bfd *) NULL; abfd = abfd->link.next) ++ if (bfd_get_flavour (abfd) == bfd_target_elf_flavour ++ && bfd_count_sections (abfd) != 0 ++ && !((lang_input_statement_type *) abfd->usrdata)->flags.just_syms) ++ break; ++ ++ /* If there are no ELF input files do not try to create a .nx-module-name section. */ ++ if (abfd == NULL || !setup_nx_module_name (abfd, link_info.output_bfd)) ++ { ++ free ((char *) emit_nx_module_name); ++ emit_nx_module_name = NULL; ++ } ++ } ++ + get_elf_backend_data (link_info.output_bfd)->setup_gnu_properties (&link_info); + + if (bfd_link_relocatable (&link_info)) +@@ -2720,6 +2827,7 @@ enum elf_options + OPTION_EXCLUDE_LIBS, + OPTION_HASH_STYLE, + OPTION_BUILD_ID, ++ OPTION_NX_MODULE_NAME, + OPTION_AUDIT, + OPTION_COMPRESS_DEBUG + }; +@@ -2750,6 +2858,7 @@ EOF + fi + fragment < -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+void _exit(int rc) -+{ -+ -+ if ( __syscalls.exit ) { -+ __syscalls.exit(rc); -+ } -+ -+ while(1); -+} -diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c -new file mode 100644 -index 000000000..9272e22c9 ---- /dev/null -+++ b/libgloss/libsysbase/abort.c -@@ -0,0 +1,8 @@ -+#include -+#include -+ -+void abort(void) { -+ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); -+ _exit (1); -+} -+ -diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h -new file mode 100644 -index 000000000..200ea7873 ---- /dev/null -+++ b/libgloss/libsysbase/acconfig.h -@@ -0,0 +1,29 @@ -+/* Name of package. */ -+#undef PACKAGE -+ -+/* Version of package. */ -+#undef VERSION -+ -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES -+ -+/* Reentrant syscalls */ -+#undef REENTRANT_SYSCALLS_PROVIDED -+ -+/* Using ELF format */ -+#undef HAVE_ELF -+ -+/* Using GNU LD */ -+#undef HAVE_GNU_LD -+ -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE -+ -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE -+ -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES -+ -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff --git a/libgloss/libsysbase/aclocal.m4 b/libgloss/libsysbase/aclocal.m4 -new file mode 100644 -index 000000000..b6cdfaeb8 ---- /dev/null -+++ b/libgloss/libsysbase/aclocal.m4 -@@ -0,0 +1,344 @@ -+# generated automatically by aclocal 1.9.5 -*- Autoconf -*- -+ -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -+# 2005 Free Software Foundation, Inc. -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+# AM_CONDITIONAL -*- Autoconf -*- -+ -+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 7 -+ -+# AM_CONDITIONAL(NAME, SHELL-CONDITION) -+# ------------------------------------- -+# Define a conditional. -+AC_DEFUN([AM_CONDITIONAL], -+[AC_PREREQ(2.52)dnl -+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], -+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -+AC_SUBST([$1_TRUE]) -+AC_SUBST([$1_FALSE]) -+if $2; then -+ $1_TRUE= -+ $1_FALSE='#' -+else -+ $1_TRUE='#' -+ $1_FALSE= -+fi -+AC_CONFIG_COMMANDS_PRE( -+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then -+ AC_MSG_ERROR([[conditional "$1" was never defined. -+Usually this means the macro was only invoked conditionally.]]) -+fi])]) -+ -+ -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 8 -+ -+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -+# written in clear, in which case automake, when reading aclocal.m4, -+# will think it sees a *use*, and therefore will trigger all it's -+# C support machinery. Also note that it means that autoscan, seeing -+# CC etc. in the Makefile, will ask for an AC_PROG_CC use... -+ -+ -+# _AM_DEPENDENCIES(NAME) -+# ---------------------- -+# See how the compiler implements dependency checking. -+# NAME is "CC", "CXX", "GCJ", or "OBJC". -+# We try a few techniques and use that to set a single cache variable. -+# -+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -+# dependency, and given that the user is not expected to run this macro, -+# just rely on AC_PROG_CC. -+AC_DEFUN([_AM_DEPENDENCIES], -+[AC_REQUIRE([AM_SET_DEPDIR])dnl -+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -+AC_REQUIRE([AM_MAKE_INCLUDE])dnl -+AC_REQUIRE([AM_DEP_TRACK])dnl -+ -+ifelse([$1], CC, [depcc="$CC" am_compiler_list=], -+ [$1], CXX, [depcc="$CXX" am_compiler_list=], -+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], -+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], -+ [depcc="$$1" am_compiler_list=]) -+ -+AC_CACHE_CHECK([dependency style of $depcc], -+ [am_cv_$1_dependencies_compiler_type], -+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub -+ -+ am_cv_$1_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` -+ fi -+ for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -+ -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_$1_dependencies_compiler_type=$depmode -+ break -+ fi -+ fi -+ done -+ -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_$1_dependencies_compiler_type=none -+fi -+]) -+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -+AM_CONDITIONAL([am__fastdep$1], [ -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -+]) -+ -+ -+# AM_SET_DEPDIR -+# ------------- -+# Choose a directory name for dependency files. -+# This macro is AC_REQUIREd in _AM_DEPENDENCIES -+AC_DEFUN([AM_SET_DEPDIR], -+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -+]) -+ -+ -+# AM_DEP_TRACK -+# ------------ -+AC_DEFUN([AM_DEP_TRACK], -+[AC_ARG_ENABLE(dependency-tracking, -+[ --disable-dependency-tracking speeds up one-time build -+ --enable-dependency-tracking do not reject slow dependency extractors]) -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi -+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -+AC_SUBST([AMDEPBACKSLASH]) -+]) -+ -+# Generate code to set up dependency tracking. -*- Autoconf -*- -+ -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+#serial 3 -+ -+# _AM_OUTPUT_DEPENDENCY_COMMANDS -+# ------------------------------ -+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -+[for mf in $CONFIG_FILES; do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # So let's grep whole file. -+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -+ dirpart=`AS_DIRNAME("$mf")` -+ else -+ continue -+ fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`AS_DIRNAME(["$file"])` -+ AS_MKDIR_P([$dirpart/$fdir]) -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done -+done -+])# _AM_OUTPUT_DEPENDENCY_COMMANDS -+ -+ -+# AM_OUTPUT_DEPENDENCY_COMMANDS -+# ----------------------------- -+# This macro should only be invoked once -- use via AC_REQUIRE. -+# -+# This code is only required when automatic dependency tracking -+# is enabled. FIXME. This creates each `.P' file that we will -+# need in order to bootstrap the dependency handling code. -+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -+[AC_CONFIG_COMMANDS([depfiles], -+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], -+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -+]) -+ -+# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 2 -+ -+# Check whether the underlying file-system supports filenames -+# with a leading dot. For instance MS-DOS doesn't. -+AC_DEFUN([AM_SET_LEADING_DOT], -+[rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+ am__leading_dot=. -+else -+ am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null -+AC_SUBST([am__leading_dot])]) -+ -+# Check to see how 'make' treats includes. -*- Autoconf -*- -+ -+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 3 -+ -+# AM_MAKE_INCLUDE() -+# ----------------- -+# Check to see how make treats includes. -+AC_DEFUN([AM_MAKE_INCLUDE], -+[am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+ @echo done -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+AC_MSG_CHECKING([for style of include used by $am_make]) -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ fi -+fi -+AC_SUBST([am__include]) -+AC_SUBST([am__quote]) -+AC_MSG_RESULT([$_am_result]) -+rm -f confinc confmf -+]) -+ -+m4_include([../acinclude.m4]) -diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c -new file mode 100644 -index 000000000..b94f6a8b4 ---- /dev/null -+++ b/libgloss/libsysbase/chdir.c -@@ -0,0 +1,200 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* CWD always start with "/" */ -+static char _current_working_directory [PATH_MAX] = "/"; -+static char temp_cwd [PATH_MAX]; -+ -+#define DIRECTORY_SEPARATOR_CHAR '/' -+const char DIRECTORY_SEPARATOR[] = "/"; -+const char DIRECTORY_THIS[] = "."; -+const char DIRECTORY_PARENT[] = ".."; -+ -+int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { -+ char *pathEnd; -+ int pathLength; -+ const char *extraEnd; -+ int extraSize; -+ -+ pathLength = strnlen (path, maxLength); -+ -+ /* assumes path ends in a directory separator */ -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ pathEnd = path + pathLength; -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd += 1; -+ } -+ -+ extraEnd = extra; -+ -+ /* If the extra bit starts with a slash, start at root */ -+ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; -+ pathEnd[0] = '\0'; -+ } -+ do { -+ /* Advance past any separators in extra */ -+ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ extra += 1; -+ } -+ -+ /* Grab the next directory name from extra */ -+ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); -+ if (extraEnd == NULL) { -+ extraEnd = strrchr (extra, '\0'); -+ } else { -+ extraEnd += 1; -+ } -+ -+ extraSize = (extraEnd - extra); -+ if (extraSize == 0) { -+ break; -+ } -+ -+ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) -+ { -+ /* Don't copy anything */ -+ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) -+ { -+ /* Go up one level of in the path */ -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { -+ // Remove trailing separator -+ pathEnd[-1] = '\0'; -+ } -+ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); -+ if (pathEnd == NULL) { -+ /* Can't go up any higher, return false */ -+ r->_errno = ENOENT; -+ return -1; -+ } -+ pathLength = pathEnd - path; -+ pathEnd += 1; -+ } else { -+ pathLength += extraSize; -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ /* Copy the next part over */ -+ strncpy (pathEnd, extra, extraSize); -+ pathEnd += extraSize; -+ } -+ pathEnd[0] = '\0'; -+ extra += extraSize; -+ } while (extraSize != 0); -+ -+ if (strlen(path) > 2 ) { -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') -+ pathEnd[-1] = '\0'; -+ } -+ -+ return 0; -+} -+ -+int chdir (const char *path) { -+ struct _reent *r = _REENT; -+ -+ int dev; -+ const char *pathPosition; -+ -+ /* Make sure the path is short enough */ -+ if (strnlen (path, PATH_MAX) >= PATH_MAX) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ -+ if (strchr (path, ':') != NULL) { -+ strncpy (temp_cwd, path, PATH_MAX); -+ /* Move path past device name */ -+ path = strchr (path, ':') + 1; -+ } else { -+ strncpy (temp_cwd, _current_working_directory, PATH_MAX); -+ } -+ -+ pathPosition = strchr (temp_cwd , ':'); -+ -+ if (pathPosition == NULL) { -+ pathPosition = temp_cwd; -+ } else { -+ pathPosition++; -+ } -+ -+ /* Make sure the path starts in the root directory */ -+ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { -+ r->_errno = ENOENT; -+ return -1; -+ } -+ -+ /* Concatenate the path to the CWD */ -+ if (_concatenate_path (r, temp_cwd, path, PATH_MAX) == -1) { -+ return -1; -+ } -+ -+ /* Get device from path name */ -+ dev = FindDevice(temp_cwd); -+ -+ if (dev < 0) { -+ r->_errno = ENODEV; -+ return -1; -+ } -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ if ( devoptab_list[dev]->chdir_r == NULL) { -+ r->_errno = ENOSYS; -+ return -1; -+ } -+ -+ /* Try changing directories on the device */ -+ if (devoptab_list[dev]->chdir_r (r, temp_cwd) == -1) { -+ return -1; -+ } -+ -+ /* Since it worked, set the new CWD and default device */ -+ setDefaultDevice(dev); -+ strncpy (_current_working_directory, temp_cwd, PATH_MAX); -+ -+ return 0; -+} -+ -+char *getcwd(char *buf, size_t size) { -+ -+ struct _reent *r = _REENT; -+ -+ if (size == 0) { -+ if (buf != NULL) { -+ r->_errno = EINVAL; -+ return NULL; -+ } -+ buf = malloc(PATH_MAX); -+ size = PATH_MAX; -+ } -+ -+ if (buf == NULL) { -+ r->_errno = EINVAL; -+ return NULL; -+ } -+ -+ if ( size < (strnlen (_current_working_directory, PATH_MAX) + 1)) { -+ r->_errno = ERANGE; -+ return NULL; -+ } -+ -+ strncpy (buf, _current_working_directory, size); -+ -+ return buf; -+} -diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c -new file mode 100644 -index 000000000..3668b5801 ---- /dev/null -+++ b/libgloss/libsysbase/chmod.c -@@ -0,0 +1,30 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+int chmod(const char *path, mode_t mode) { -+ int ret,dev; -+ struct _reent *r = _REENT; -+ -+ /* Get device from path name */ -+ dev = FindDevice(path); -+ -+ if (dev < 0) { -+ r->_errno = ENODEV; -+ ret = -1; -+ } else { -+ if (devoptab_list[dev]->chmod_r == NULL) { -+ r->_errno=ENOSYS; -+ } else { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->chmod_r(r,path,mode); -+ } -+ } -+ -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c -new file mode 100644 -index 000000000..01cfee469 ---- /dev/null -+++ b/libgloss/libsysbase/clocks.c -@@ -0,0 +1,34 @@ -+#include -+#include -+#include -+ -+int clock_gettime(clockid_t clock_id, struct timespec *tp) -+{ -+ if ( __syscalls.clock_gettime ) { -+ return __syscalls.clock_gettime(clock_id, tp); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} -+ -+int clock_settime(clockid_t clock_id, const struct timespec *tp) -+{ -+ if ( __syscalls.clock_settime ) { -+ return __syscalls.clock_settime(clock_id, tp); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} -+ -+int clock_getres (clockid_t clock_id, struct timespec *res) -+{ -+ if ( __syscalls.clock_getres ) { -+ return __syscalls.clock_getres(clock_id, res); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} -+ -diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c -new file mode 100644 -index 000000000..931ad07b1 ---- /dev/null -+++ b/libgloss/libsysbase/close.c -@@ -0,0 +1,46 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _close_r(struct _reent *ptr, int fileDesc) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _close(int fileDesc) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ if(fileDesc!=-1) { -+ -+ __handle *handle = __get_handle(fileDesc); -+ -+ if ( handle != NULL) { -+ dev = handle->device; -+ handle->refcount--; -+ if (handle->refcount == 0 ) { -+ -+ if(devoptab_list[dev]->close_r) { -+ ptr->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->close_r(ptr,handle->fileStruct); -+ } -+ else -+ ret = 0; -+ -+ __release_handle(fileDesc); -+ } else { -+ ret = 0; -+ } -+ -+ } -+ } -+ return ret; -+} -diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in -new file mode 100644 -index 000000000..48ce950b4 ---- /dev/null -+++ b/libgloss/libsysbase/config.h.in -@@ -0,0 +1,25 @@ -+/* config.h.in. Generated automatically from configure.in by autoheader. */ -+ -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES -+ -+/* Reentrant syscalls */ -+#undef REENTRANT_SYSCALLS_PROVIDED -+ -+/* Using ELF format */ -+#undef HAVE_ELF -+ -+/* Using GNU LD */ -+#undef HAVE_GNU_LD -+ -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE -+ -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE -+ -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES -+ -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure -new file mode 100644 -index 000000000..aa653c235 ---- /dev/null -+++ b/libgloss/libsysbase/configure -@@ -0,0 +1,4160 @@ -+#! /bin/sh -+# Guess values for system-dependent variables and create Makefiles. -+# Generated by GNU Autoconf 2.69. -+# -+# -+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -+# -+# -+# This configure script is free software; the Free Software Foundation -+# gives unlimited permission to copy, distribute and modify it. -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## -+ -+# Be more Bourne compatible -+DUALCASE=1; export DUALCASE # for MKS sh -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '${1+"$@"}'='"$@"' -+ setopt NO_GLOB_SUBST -+else -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+ -+ -+as_nl=' -+' -+export as_nl -+# Printing a long string crashes Solaris 7 /usr/bin/printf. -+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='printf %s\n' -+ as_echo_n='printf %s' -+else -+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then -+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' -+ as_echo_n='/usr/ucb/echo -n' -+ else -+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' -+ as_echo_n_body='eval -+ arg=$1; -+ case $arg in #( -+ *"$as_nl"*) -+ expr "X$arg" : "X\\(.*\\)$as_nl"; -+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -+ esac; -+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" -+ ' -+ export as_echo_n_body -+ as_echo_n='sh -c $as_echo_n_body as_echo' -+ fi -+ export as_echo_body -+ as_echo='sh -c $as_echo_body as_echo' -+fi -+ -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ PATH_SEPARATOR=: -+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { -+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || -+ PATH_SEPARATOR=';' -+ } -+fi -+ -+ -+# IFS -+# We need space, tab and new line, in precisely that order. Quoting is -+# there to prevent editors from complaining about space-tab. -+# (If _AS_PATH_WALK were called with IFS unset, it would disable word -+# splitting by setting IFS to empty value.) -+IFS=" "" $as_nl" -+ -+# Find who we are. Look in the path if we contain no directory separator. -+as_myself= -+case $0 in #(( -+ *[\\/]* ) as_myself=$0 ;; -+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done -+IFS=$as_save_IFS -+ -+ ;; -+esac -+# We did not find ourselves, most probably we were run as `sh COMMAND' -+# in which case we are not to be found in the path. -+if test "x$as_myself" = x; then -+ as_myself=$0 -+fi -+if test ! -f "$as_myself"; then -+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -+ exit 1 -+fi -+ -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -+done -+PS1='$ ' -+PS2='> ' -+PS4='+ ' -+ -+# NLS nuisances. -+LC_ALL=C -+export LC_ALL -+LANGUAGE=C -+export LANGUAGE -+ -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+# Use a proper internal environment variable to ensure we don't fall -+ # into an infinite loop, continuously re-executing ourselves. -+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then -+ _as_can_reexec=no; export _as_can_reexec; -+ # We cannot yet assume a decent shell, so we have to provide a -+# neutralization value for shells without unset; and this also -+# works around shells that cannot unset nonexistent variables. -+# Preserve -v and -x to the replacement shell. -+BASH_ENV=/dev/null -+ENV=/dev/null -+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; -+esac -+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -+# Admittedly, this is quite paranoid, since all the known shells bail -+# out after a failed `exec'. -+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -+as_fn_exit 255 -+ fi -+ # We don't want this to propagate to other subprocesses. -+ { _as_can_reexec=; unset _as_can_reexec;} -+if test "x$CONFIG_SHELL" = x; then -+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '\${1+\"\$@\"}'='\"\$@\"' -+ setopt NO_GLOB_SUBST -+else -+ case \`(set -o) 2>/dev/null\` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+" -+ as_required="as_fn_return () { (exit \$1); } -+as_fn_success () { as_fn_return 0; } -+as_fn_failure () { as_fn_return 1; } -+as_fn_ret_success () { return 0; } -+as_fn_ret_failure () { return 1; } -+ -+exitcode=0 -+as_fn_success || { exitcode=1; echo as_fn_success failed.; } -+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : -+ -+else -+ exitcode=1; echo positional parameters were not saved. -+fi -+test x\$exitcode = x0 || exit 1 -+test -x / || exit 1" -+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO -+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO -+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && -+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" -+ if (eval "$as_required") 2>/dev/null; then : -+ as_have_required=yes -+else -+ as_have_required=no -+fi -+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : -+ -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+as_found=false -+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ as_found=: -+ case $as_dir in #( -+ /*) -+ for as_base in sh bash ksh sh5; do -+ # Try only shells that exist, to save several forks. -+ as_shell=$as_dir/$as_base -+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ CONFIG_SHELL=$as_shell as_have_required=yes -+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ break 2 -+fi -+fi -+ done;; -+ esac -+ as_found=false -+done -+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : -+ CONFIG_SHELL=$SHELL as_have_required=yes -+fi; } -+IFS=$as_save_IFS -+ -+ -+ if test "x$CONFIG_SHELL" != x; then : -+ export CONFIG_SHELL -+ # We cannot yet assume a decent shell, so we have to provide a -+# neutralization value for shells without unset; and this also -+# works around shells that cannot unset nonexistent variables. -+# Preserve -v and -x to the replacement shell. -+BASH_ENV=/dev/null -+ENV=/dev/null -+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; -+esac -+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -+# Admittedly, this is quite paranoid, since all the known shells bail -+# out after a failed `exec'. -+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -+exit 255 -+fi -+ -+ if test x$as_have_required = xno; then : -+ $as_echo "$0: This script requires a shell more modern than all" -+ $as_echo "$0: the shells that I found on your system." -+ if test x${ZSH_VERSION+set} = xset ; then -+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" -+ $as_echo "$0: be upgraded to zsh 4.3.4 or later." -+ else -+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -+$0: including any error possibly output before this -+$0: message. Then install a modern shell, or manually run -+$0: the script under such a shell if you do have one." -+ fi -+ exit 1 -+fi -+fi -+fi -+SHELL=${CONFIG_SHELL-/bin/sh} -+export SHELL -+# Unset more variables known to interfere with behavior of common tools. -+CLICOLOR_FORCE= GREP_OPTIONS= -+unset CLICOLOR_FORCE GREP_OPTIONS -+ -+## --------------------- ## -+## M4sh Shell Functions. ## -+## --------------------- ## -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset -+ -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status -+ -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit -+ -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ -+ -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" -+ -+ -+} # as_fn_mkdir_p -+ -+# as_fn_executable_p FILE -+# ----------------------- -+# Test if FILE is an executable regular file. -+as_fn_executable_p () -+{ -+ test -f "$1" && test -x "$1" -+} # as_fn_executable_p -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append -+ -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith -+ -+ -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error -+ -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr -+else -+ as_expr=false -+fi -+ -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename -+else -+ as_basename=false -+fi -+ -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi -+ -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+ -+ as_lineno_1=$LINENO as_lineno_1a=$LINENO -+ as_lineno_2=$LINENO as_lineno_2a=$LINENO -+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && -+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { -+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) -+ sed -n ' -+ p -+ /[$]LINENO/= -+ ' <$as_myself | -+ sed ' -+ s/[$]LINENO.*/&-/ -+ t lineno -+ b -+ :lineno -+ N -+ :loop -+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ -+ t loop -+ s/-\n.*// -+ ' >$as_me.lineno && -+ chmod +x "$as_me.lineno" || -+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } -+ -+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have -+ # already done that, so ensure we don't try to do so again and fall -+ # in an infinite loop. This has already happened in practice. -+ _as_can_reexec=no; export _as_can_reexec -+ # Don't try to exec as it changes $[0], causing all sort of problems -+ # (the dirname of $[0] is not the place where we might find the -+ # original and so on. Autoconf is especially sensitive to this). -+ . "./$as_me.lineno" -+ # Exit status is that of the last command. -+ exit -+} -+ -+ECHO_C= ECHO_N= ECHO_T= -+case `echo -n x` in #((((( -+-n*) -+ case `echo 'xy\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; -+ esac;; -+*) -+ ECHO_N='-n';; -+esac -+ -+rm -f conf$$ conf$$.exe conf$$.file -+if test -d conf$$.dir; then -+ rm -f conf$$.dir/conf$$.file -+else -+ rm -f conf$$.dir -+ mkdir conf$$.dir 2>/dev/null -+fi -+if (echo >conf$$.file) 2>/dev/null; then -+ if ln -s conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s='ln -s' -+ # ... but there are two gotchas: -+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. -+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -+ # In both cases, we have to default to `cp -pR'. -+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -+ as_ln_s='cp -pR' -+ elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+ else -+ as_ln_s='cp -pR' -+ fi -+else -+ as_ln_s='cp -pR' -+fi -+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -+rmdir conf$$.dir 2>/dev/null -+ -+if mkdir -p . 2>/dev/null; then -+ as_mkdir_p='mkdir -p "$as_dir"' -+else -+ test -d ./-p && rmdir ./-p -+ as_mkdir_p=false -+fi -+ -+as_test_x='test -x' -+as_executable_p=as_fn_executable_p -+ -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -+ -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -+ -+ -+test -n "$DJDIR" || exec 7<&0 &1 -+ -+# Name of the host. -+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -+# so uname gets run too. -+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` -+ -+# -+# Initializations. -+# -+ac_default_prefix=/usr/local -+ac_clean_files= -+ac_config_libobj_dir=. -+LIBOBJS= -+cross_compiling=no -+subdirs= -+MFLAGS= -+MAKEFLAGS= -+ -+# Identity of this package. -+PACKAGE_NAME= -+PACKAGE_TARNAME= -+PACKAGE_VERSION= -+PACKAGE_STRING= -+PACKAGE_BUGREPORT= -+PACKAGE_URL= -+ -+ac_unique_file="close.c" -+ac_subst_vars='LTLIBOBJS -+LIBOBJS -+host_makefile_frag_path -+CCASFLAGS -+CCAS -+RANLIB -+LD -+AR -+AS -+am__fastdepCC_FALSE -+am__fastdepCC_TRUE -+CCDEPMODE -+AMDEPBACKSLASH -+AMDEP_FALSE -+AMDEP_TRUE -+am__quote -+am__include -+DEPDIR -+am__leading_dot -+CC -+INSTALL_DATA -+INSTALL_SCRIPT -+INSTALL_PROGRAM -+target_os -+target_vendor -+target_cpu -+target -+host_os -+host_vendor -+host_cpu -+host -+build_os -+build_vendor -+build_cpu -+build -+target_alias -+host_alias -+build_alias -+LIBS -+ECHO_T -+ECHO_N -+ECHO_C -+DEFS -+mandir -+localedir -+libdir -+psdir -+pdfdir -+dvidir -+htmldir -+infodir -+docdir -+oldincludedir -+includedir -+localstatedir -+sharedstatedir -+sysconfdir -+datadir -+datarootdir -+libexecdir -+sbindir -+bindir -+program_transform_name -+prefix -+exec_prefix -+PACKAGE_URL -+PACKAGE_BUGREPORT -+PACKAGE_STRING -+PACKAGE_VERSION -+PACKAGE_TARNAME -+PACKAGE_NAME -+PATH_SEPARATOR -+SHELL' -+ac_subst_files='host_makefile_frag' -+ac_user_opts=' -+enable_option_checking -+enable_dependency_tracking -+' -+ ac_precious_vars='build_alias -+host_alias -+target_alias -+CCAS -+CCASFLAGS' -+ -+ -+# Initialize some variables set by options. -+ac_init_help= -+ac_init_version=false -+ac_unrecognized_opts= -+ac_unrecognized_sep= -+# The variables have the same names as the options, with -+# dashes changed to underlines. -+cache_file=/dev/null -+exec_prefix=NONE -+no_create= -+no_recursion= -+prefix=NONE -+program_prefix=NONE -+program_suffix=NONE -+program_transform_name=s,x,x, -+silent= -+site= -+srcdir= -+verbose= -+x_includes=NONE -+x_libraries=NONE -+ -+# Installation directory options. -+# These are left unexpanded so users can "make install exec_prefix=/foo" -+# and all the variables that are supposed to be based on exec_prefix -+# by default will actually change. -+# Use braces instead of parens because sh, perl, etc. also accept them. -+# (The list follows the same order as the GNU Coding Standards.) -+bindir='${exec_prefix}/bin' -+sbindir='${exec_prefix}/sbin' -+libexecdir='${exec_prefix}/libexec' -+datarootdir='${prefix}/share' -+datadir='${datarootdir}' -+sysconfdir='${prefix}/etc' -+sharedstatedir='${prefix}/com' -+localstatedir='${prefix}/var' -+includedir='${prefix}/include' -+oldincludedir='/usr/include' -+docdir='${datarootdir}/doc/${PACKAGE}' -+infodir='${datarootdir}/info' -+htmldir='${docdir}' -+dvidir='${docdir}' -+pdfdir='${docdir}' -+psdir='${docdir}' -+libdir='${exec_prefix}/lib' -+localedir='${datarootdir}/locale' -+mandir='${datarootdir}/man' -+ -+ac_prev= -+ac_dashdash= -+for ac_option -+do -+ # If the previous option needs an argument, assign it. -+ if test -n "$ac_prev"; then -+ eval $ac_prev=\$ac_option -+ ac_prev= -+ continue -+ fi -+ -+ case $ac_option in -+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; -+ *=) ac_optarg= ;; -+ *) ac_optarg=yes ;; -+ esac -+ -+ # Accept the important Cygnus configure options, so we can diagnose typos. -+ -+ case $ac_dashdash$ac_option in -+ --) -+ ac_dashdash=yes ;; -+ -+ -bindir | --bindir | --bindi | --bind | --bin | --bi) -+ ac_prev=bindir ;; -+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) -+ bindir=$ac_optarg ;; -+ -+ -build | --build | --buil | --bui | --bu) -+ ac_prev=build_alias ;; -+ -build=* | --build=* | --buil=* | --bui=* | --bu=*) -+ build_alias=$ac_optarg ;; -+ -+ -cache-file | --cache-file | --cache-fil | --cache-fi \ -+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) -+ ac_prev=cache_file ;; -+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ -+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) -+ cache_file=$ac_optarg ;; -+ -+ --config-cache | -C) -+ cache_file=config.cache ;; -+ -+ -datadir | --datadir | --datadi | --datad) -+ ac_prev=datadir ;; -+ -datadir=* | --datadir=* | --datadi=* | --datad=*) -+ datadir=$ac_optarg ;; -+ -+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ -+ | --dataroo | --dataro | --datar) -+ ac_prev=datarootdir ;; -+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ -+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) -+ datarootdir=$ac_optarg ;; -+ -+ -disable-* | --disable-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid feature name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"enable_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval enable_$ac_useropt=no ;; -+ -+ -docdir | --docdir | --docdi | --doc | --do) -+ ac_prev=docdir ;; -+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) -+ docdir=$ac_optarg ;; -+ -+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) -+ ac_prev=dvidir ;; -+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) -+ dvidir=$ac_optarg ;; -+ -+ -enable-* | --enable-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid feature name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"enable_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval enable_$ac_useropt=\$ac_optarg ;; -+ -+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ -+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ -+ | --exec | --exe | --ex) -+ ac_prev=exec_prefix ;; -+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ -+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ -+ | --exec=* | --exe=* | --ex=*) -+ exec_prefix=$ac_optarg ;; -+ -+ -gas | --gas | --ga | --g) -+ # Obsolete; use --with-gas. -+ with_gas=yes ;; -+ -+ -help | --help | --hel | --he | -h) -+ ac_init_help=long ;; -+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) -+ ac_init_help=recursive ;; -+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) -+ ac_init_help=short ;; -+ -+ -host | --host | --hos | --ho) -+ ac_prev=host_alias ;; -+ -host=* | --host=* | --hos=* | --ho=*) -+ host_alias=$ac_optarg ;; -+ -+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) -+ ac_prev=htmldir ;; -+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ -+ | --ht=*) -+ htmldir=$ac_optarg ;; -+ -+ -includedir | --includedir | --includedi | --included | --include \ -+ | --includ | --inclu | --incl | --inc) -+ ac_prev=includedir ;; -+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ -+ | --includ=* | --inclu=* | --incl=* | --inc=*) -+ includedir=$ac_optarg ;; -+ -+ -infodir | --infodir | --infodi | --infod | --info | --inf) -+ ac_prev=infodir ;; -+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) -+ infodir=$ac_optarg ;; -+ -+ -libdir | --libdir | --libdi | --libd) -+ ac_prev=libdir ;; -+ -libdir=* | --libdir=* | --libdi=* | --libd=*) -+ libdir=$ac_optarg ;; -+ -+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ -+ | --libexe | --libex | --libe) -+ ac_prev=libexecdir ;; -+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ -+ | --libexe=* | --libex=* | --libe=*) -+ libexecdir=$ac_optarg ;; -+ -+ -localedir | --localedir | --localedi | --localed | --locale) -+ ac_prev=localedir ;; -+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) -+ localedir=$ac_optarg ;; -+ -+ -localstatedir | --localstatedir | --localstatedi | --localstated \ -+ | --localstate | --localstat | --localsta | --localst | --locals) -+ ac_prev=localstatedir ;; -+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ -+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) -+ localstatedir=$ac_optarg ;; -+ -+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) -+ ac_prev=mandir ;; -+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) -+ mandir=$ac_optarg ;; -+ -+ -nfp | --nfp | --nf) -+ # Obsolete; use --without-fp. -+ with_fp=no ;; -+ -+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ -+ | --no-cr | --no-c | -n) -+ no_create=yes ;; -+ -+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ -+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) -+ no_recursion=yes ;; -+ -+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ -+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ -+ | --oldin | --oldi | --old | --ol | --o) -+ ac_prev=oldincludedir ;; -+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ -+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ -+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) -+ oldincludedir=$ac_optarg ;; -+ -+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) -+ ac_prev=prefix ;; -+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) -+ prefix=$ac_optarg ;; -+ -+ -program-prefix | --program-prefix | --program-prefi | --program-pref \ -+ | --program-pre | --program-pr | --program-p) -+ ac_prev=program_prefix ;; -+ -program-prefix=* | --program-prefix=* | --program-prefi=* \ -+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) -+ program_prefix=$ac_optarg ;; -+ -+ -program-suffix | --program-suffix | --program-suffi | --program-suff \ -+ | --program-suf | --program-su | --program-s) -+ ac_prev=program_suffix ;; -+ -program-suffix=* | --program-suffix=* | --program-suffi=* \ -+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) -+ program_suffix=$ac_optarg ;; -+ -+ -program-transform-name | --program-transform-name \ -+ | --program-transform-nam | --program-transform-na \ -+ | --program-transform-n | --program-transform- \ -+ | --program-transform | --program-transfor \ -+ | --program-transfo | --program-transf \ -+ | --program-trans | --program-tran \ -+ | --progr-tra | --program-tr | --program-t) -+ ac_prev=program_transform_name ;; -+ -program-transform-name=* | --program-transform-name=* \ -+ | --program-transform-nam=* | --program-transform-na=* \ -+ | --program-transform-n=* | --program-transform-=* \ -+ | --program-transform=* | --program-transfor=* \ -+ | --program-transfo=* | --program-transf=* \ -+ | --program-trans=* | --program-tran=* \ -+ | --progr-tra=* | --program-tr=* | --program-t=*) -+ program_transform_name=$ac_optarg ;; -+ -+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) -+ ac_prev=pdfdir ;; -+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) -+ pdfdir=$ac_optarg ;; -+ -+ -psdir | --psdir | --psdi | --psd | --ps) -+ ac_prev=psdir ;; -+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) -+ psdir=$ac_optarg ;; -+ -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ silent=yes ;; -+ -+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) -+ ac_prev=sbindir ;; -+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ -+ | --sbi=* | --sb=*) -+ sbindir=$ac_optarg ;; -+ -+ -sharedstatedir | --sharedstatedir | --sharedstatedi \ -+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ -+ | --sharedst | --shareds | --shared | --share | --shar \ -+ | --sha | --sh) -+ ac_prev=sharedstatedir ;; -+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ -+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ -+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ -+ | --sha=* | --sh=*) -+ sharedstatedir=$ac_optarg ;; -+ -+ -site | --site | --sit) -+ ac_prev=site ;; -+ -site=* | --site=* | --sit=*) -+ site=$ac_optarg ;; -+ -+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) -+ ac_prev=srcdir ;; -+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) -+ srcdir=$ac_optarg ;; -+ -+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ -+ | --syscon | --sysco | --sysc | --sys | --sy) -+ ac_prev=sysconfdir ;; -+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ -+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) -+ sysconfdir=$ac_optarg ;; -+ -+ -target | --target | --targe | --targ | --tar | --ta | --t) -+ ac_prev=target_alias ;; -+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) -+ target_alias=$ac_optarg ;; -+ -+ -v | -verbose | --verbose | --verbos | --verbo | --verb) -+ verbose=yes ;; -+ -+ -version | --version | --versio | --versi | --vers | -V) -+ ac_init_version=: ;; -+ -+ -with-* | --with-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid package name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"with_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval with_$ac_useropt=\$ac_optarg ;; -+ -+ -without-* | --without-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid package name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"with_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval with_$ac_useropt=no ;; -+ -+ --x) -+ # Obsolete; use --with-x. -+ with_x=yes ;; -+ -+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ -+ | --x-incl | --x-inc | --x-in | --x-i) -+ ac_prev=x_includes ;; -+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ -+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) -+ x_includes=$ac_optarg ;; -+ -+ -x-libraries | --x-libraries | --x-librarie | --x-librari \ -+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) -+ ac_prev=x_libraries ;; -+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ -+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) -+ x_libraries=$ac_optarg ;; -+ -+ -*) as_fn_error $? "unrecognized option: \`$ac_option' -+Try \`$0 --help' for more information" -+ ;; -+ -+ *=*) -+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` -+ # Reject names that are not valid shell variable names. -+ case $ac_envvar in #( -+ '' | [0-9]* | *[!_$as_cr_alnum]* ) -+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; -+ esac -+ eval $ac_envvar=\$ac_optarg -+ export $ac_envvar ;; -+ -+ *) -+ # FIXME: should be removed in autoconf 3.0. -+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 -+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && -+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 -+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" -+ ;; -+ -+ esac -+done -+ -+if test -n "$ac_prev"; then -+ ac_option=--`echo $ac_prev | sed 's/_/-/g'` -+ as_fn_error $? "missing argument to $ac_option" -+fi -+ -+if test -n "$ac_unrecognized_opts"; then -+ case $enable_option_checking in -+ no) ;; -+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; -+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; -+ esac -+fi -+ -+# Check all directory arguments for consistency. -+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ -+ datadir sysconfdir sharedstatedir localstatedir includedir \ -+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ -+ libdir localedir mandir -+do -+ eval ac_val=\$$ac_var -+ # Remove trailing slashes. -+ case $ac_val in -+ */ ) -+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` -+ eval $ac_var=\$ac_val;; -+ esac -+ # Be sure to have absolute directory names. -+ case $ac_val in -+ [\\/$]* | ?:[\\/]* ) continue;; -+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; -+ esac -+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -+done -+ -+# There might be people who depend on the old broken behavior: `$host' -+# used to hold the argument of --host etc. -+# FIXME: To remove some day. -+build=$build_alias -+host=$host_alias -+target=$target_alias -+ -+# FIXME: To remove some day. -+if test "x$host_alias" != x; then -+ if test "x$build_alias" = x; then -+ cross_compiling=maybe -+ elif test "x$build_alias" != "x$host_alias"; then -+ cross_compiling=yes -+ fi -+fi -+ -+ac_tool_prefix= -+test -n "$host_alias" && ac_tool_prefix=$host_alias- -+ -+test "$silent" = yes && exec 6>/dev/null -+ -+ -+ac_pwd=`pwd` && test -n "$ac_pwd" && -+ac_ls_di=`ls -di .` && -+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || -+ as_fn_error $? "working directory cannot be determined" -+test "X$ac_ls_di" = "X$ac_pwd_ls_di" || -+ as_fn_error $? "pwd does not report name of working directory" -+ -+ -+# Find the source files, if location was not specified. -+if test -z "$srcdir"; then -+ ac_srcdir_defaulted=yes -+ # Try the directory containing this script, then the parent directory. -+ ac_confdir=`$as_dirname -- "$as_myself" || -+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_myself" : 'X\(//\)[^/]' \| \ -+ X"$as_myself" : 'X\(//\)$' \| \ -+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_myself" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ srcdir=$ac_confdir -+ if test ! -r "$srcdir/$ac_unique_file"; then -+ srcdir=.. -+ fi -+else -+ ac_srcdir_defaulted=no -+fi -+if test ! -r "$srcdir/$ac_unique_file"; then -+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." -+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -+fi -+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -+ac_abs_confdir=`( -+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" -+ pwd)` -+# When building in place, set srcdir=. -+if test "$ac_abs_confdir" = "$ac_pwd"; then -+ srcdir=. -+fi -+# Remove unnecessary trailing slashes from srcdir. -+# Double slashes in file names in object file debugging info -+# mess up M-x gdb in Emacs. -+case $srcdir in -+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -+esac -+for ac_var in $ac_precious_vars; do -+ eval ac_env_${ac_var}_set=\${${ac_var}+set} -+ eval ac_env_${ac_var}_value=\$${ac_var} -+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} -+ eval ac_cv_env_${ac_var}_value=\$${ac_var} -+done -+ -+# -+# Report the --help message. -+# -+if test "$ac_init_help" = "long"; then -+ # Omit some internal or obsolete options to make the list less imposing. -+ # This message is too long to be a string in the A/UX 3.1 sh. -+ cat <<_ACEOF -+\`configure' configures this package to adapt to many kinds of systems. -+ -+Usage: $0 [OPTION]... [VAR=VALUE]... -+ -+To assign environment variables (e.g., CC, CFLAGS...), specify them as -+VAR=VALUE. See below for descriptions of some of the useful variables. -+ -+Defaults for the options are specified in brackets. -+ -+Configuration: -+ -h, --help display this help and exit -+ --help=short display options specific to this package -+ --help=recursive display the short help of all the included packages -+ -V, --version display version information and exit -+ -q, --quiet, --silent do not print \`checking ...' messages -+ --cache-file=FILE cache test results in FILE [disabled] -+ -C, --config-cache alias for \`--cache-file=config.cache' -+ -n, --no-create do not create output files -+ --srcdir=DIR find the sources in DIR [configure dir or \`..'] -+ -+Installation directories: -+ --prefix=PREFIX install architecture-independent files in PREFIX -+ [$ac_default_prefix] -+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX -+ [PREFIX] -+ -+By default, \`make install' will install all the files in -+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -+an installation prefix other than \`$ac_default_prefix' using \`--prefix', -+for instance \`--prefix=\$HOME'. -+ -+For better control, use the options below. -+ -+Fine tuning of the installation directories: -+ --bindir=DIR user executables [EPREFIX/bin] -+ --sbindir=DIR system admin executables [EPREFIX/sbin] -+ --libexecdir=DIR program executables [EPREFIX/libexec] -+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] -+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] -+ --localstatedir=DIR modifiable single-machine data [PREFIX/var] -+ --libdir=DIR object code libraries [EPREFIX/lib] -+ --includedir=DIR C header files [PREFIX/include] -+ --oldincludedir=DIR C header files for non-gcc [/usr/include] -+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] -+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] -+ --infodir=DIR info documentation [DATAROOTDIR/info] -+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] -+ --mandir=DIR man documentation [DATAROOTDIR/man] -+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] -+ --htmldir=DIR html documentation [DOCDIR] -+ --dvidir=DIR dvi documentation [DOCDIR] -+ --pdfdir=DIR pdf documentation [DOCDIR] -+ --psdir=DIR ps documentation [DOCDIR] -+_ACEOF -+ -+ cat <<\_ACEOF -+ -+Program names: -+ --program-prefix=PREFIX prepend PREFIX to installed program names -+ --program-suffix=SUFFIX append SUFFIX to installed program names -+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names -+ -+System types: -+ --build=BUILD configure for building on BUILD [guessed] -+ --host=HOST cross-compile to build programs to run on HOST [BUILD] -+ --target=TARGET configure for building compilers for TARGET [HOST] -+_ACEOF -+fi -+ -+if test -n "$ac_init_help"; then -+ -+ cat <<\_ACEOF -+ -+Optional Features: -+ --disable-option-checking ignore unrecognized --enable/--with options -+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) -+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] -+ --disable-dependency-tracking speeds up one-time build -+ --enable-dependency-tracking do not reject slow dependency extractors -+ -+Some influential environment variables: -+ CCAS assembler compiler command (defaults to CC) -+ CCASFLAGS assembler compiler flags (defaults to CFLAGS) -+ -+Use these variables to override the choices made by `configure' or to help -+it to find libraries and programs with nonstandard names/locations. -+ -+Report bugs to the package provider. -+_ACEOF -+ac_status=$? -+fi -+ -+if test "$ac_init_help" = "recursive"; then -+ # If there are subdirs, report their specific --help. -+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue -+ test -d "$ac_dir" || -+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || -+ continue -+ ac_builddir=. -+ -+case "$ac_dir" in -+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -+*) -+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` -+ # A ".." for each directory in $ac_dir_suffix. -+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` -+ case $ac_top_builddir_sub in -+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; -+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; -+ esac ;; -+esac -+ac_abs_top_builddir=$ac_pwd -+ac_abs_builddir=$ac_pwd$ac_dir_suffix -+# for backward compatibility: -+ac_top_builddir=$ac_top_build_prefix -+ -+case $srcdir in -+ .) # We are building in place. -+ ac_srcdir=. -+ ac_top_srcdir=$ac_top_builddir_sub -+ ac_abs_top_srcdir=$ac_pwd ;; -+ [\\/]* | ?:[\\/]* ) # Absolute name. -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir -+ ac_abs_top_srcdir=$srcdir ;; -+ *) # Relative name. -+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_top_build_prefix$srcdir -+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -+esac -+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -+ -+ cd "$ac_dir" || { ac_status=$?; continue; } -+ # Check for guested configure. -+ if test -f "$ac_srcdir/configure.gnu"; then -+ echo && -+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive -+ elif test -f "$ac_srcdir/configure"; then -+ echo && -+ $SHELL "$ac_srcdir/configure" --help=recursive -+ else -+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 -+ fi || ac_status=$? -+ cd "$ac_pwd" || { ac_status=$?; break; } -+ done -+fi -+ -+test -n "$ac_init_help" && exit $ac_status -+if $ac_init_version; then -+ cat <<\_ACEOF -+configure -+generated by GNU Autoconf 2.69 -+ -+Copyright (C) 2012 Free Software Foundation, Inc. -+This configure script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it. -+_ACEOF -+ exit -+fi -+ -+## ------------------------ ## -+## Autoconf initialization. ## -+## ------------------------ ## -+ -+# ac_fn_c_try_compile LINENO -+# -------------------------- -+# Try to compile conftest.$ac_ext, and return whether this succeeded. -+ac_fn_c_try_compile () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ rm -f conftest.$ac_objext -+ if { { ac_try="$ac_compile" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_compile") 2>conftest.err -+ ac_status=$? -+ if test -s conftest.err; then -+ grep -v '^ *+' conftest.err >conftest.er1 -+ cat conftest.er1 >&5 -+ mv -f conftest.er1 conftest.err -+ fi -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then : -+ ac_retval=0 -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_retval=1 -+fi -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -+ as_fn_set_status $ac_retval -+ -+} # ac_fn_c_try_compile -+cat >config.log <<_ACEOF -+This file contains any messages produced by compilers while -+running configure, to aid debugging if configure makes a mistake. -+ -+It was created by $as_me, which was -+generated by GNU Autoconf 2.69. Invocation command line was -+ -+ $ $0 $@ -+ -+_ACEOF -+exec 5>>config.log -+{ -+cat <<_ASUNAME -+## --------- ## -+## Platform. ## -+## --------- ## -+ -+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -+uname -m = `(uname -m) 2>/dev/null || echo unknown` -+uname -r = `(uname -r) 2>/dev/null || echo unknown` -+uname -s = `(uname -s) 2>/dev/null || echo unknown` -+uname -v = `(uname -v) 2>/dev/null || echo unknown` -+ -+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` -+ -+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` -+ -+_ASUNAME -+ -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ $as_echo "PATH: $as_dir" -+ done -+IFS=$as_save_IFS -+ -+} >&5 -+ -+cat >&5 <<_ACEOF -+ -+ -+## ----------- ## -+## Core tests. ## -+## ----------- ## -+ -+_ACEOF -+ -+ -+# Keep a trace of the command line. -+# Strip out --no-create and --no-recursion so they do not pile up. -+# Strip out --silent because we don't want to record it for future runs. -+# Also quote any args containing shell meta-characters. -+# Make two passes to allow for proper duplicate-argument suppression. -+ac_configure_args= -+ac_configure_args0= -+ac_configure_args1= -+ac_must_keep_next=false -+for ac_pass in 1 2 -+do -+ for ac_arg -+ do -+ case $ac_arg in -+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ continue ;; -+ *\'*) -+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ esac -+ case $ac_pass in -+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; -+ 2) -+ as_fn_append ac_configure_args1 " '$ac_arg'" -+ if test $ac_must_keep_next = true; then -+ ac_must_keep_next=false # Got value, back to normal. -+ else -+ case $ac_arg in -+ *=* | --config-cache | -C | -disable-* | --disable-* \ -+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ -+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ -+ | -with-* | --with-* | -without-* | --without-* | --x) -+ case "$ac_configure_args0 " in -+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; -+ esac -+ ;; -+ -* ) ac_must_keep_next=true ;; -+ esac -+ fi -+ as_fn_append ac_configure_args " '$ac_arg'" -+ ;; -+ esac -+ done -+done -+{ ac_configure_args0=; unset ac_configure_args0;} -+{ ac_configure_args1=; unset ac_configure_args1;} -+ -+# When interrupted or exit'd, cleanup temporary files, and complete -+# config.log. We remove comments because anyway the quotes in there -+# would cause problems or look ugly. -+# WARNING: Use '\'' to represent an apostrophe within the trap. -+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -+trap 'exit_status=$? -+ # Save into config.log some information that might help in debugging. -+ { -+ echo -+ -+ $as_echo "## ---------------- ## -+## Cache variables. ## -+## ---------------- ##" -+ echo -+ # The following way of writing the cache mishandles newlines in values, -+( -+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do -+ eval ac_val=\$$ac_var -+ case $ac_val in #( -+ *${as_nl}*) -+ case $ac_var in #( -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; -+ esac -+ case $ac_var in #( -+ _ | IFS | as_nl) ;; #( -+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -+ *) { eval $ac_var=; unset $ac_var;} ;; -+ esac ;; -+ esac -+ done -+ (set) 2>&1 | -+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( -+ *${as_nl}ac_space=\ *) -+ sed -n \ -+ "s/'\''/'\''\\\\'\'''\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" -+ ;; #( -+ *) -+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" -+ ;; -+ esac | -+ sort -+) -+ echo -+ -+ $as_echo "## ----------------- ## -+## Output variables. ## -+## ----------------- ##" -+ echo -+ for ac_var in $ac_subst_vars -+ do -+ eval ac_val=\$$ac_var -+ case $ac_val in -+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; -+ esac -+ $as_echo "$ac_var='\''$ac_val'\''" -+ done | sort -+ echo -+ -+ if test -n "$ac_subst_files"; then -+ $as_echo "## ------------------- ## -+## File substitutions. ## -+## ------------------- ##" -+ echo -+ for ac_var in $ac_subst_files -+ do -+ eval ac_val=\$$ac_var -+ case $ac_val in -+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; -+ esac -+ $as_echo "$ac_var='\''$ac_val'\''" -+ done | sort -+ echo -+ fi -+ -+ if test -s confdefs.h; then -+ $as_echo "## ----------- ## -+## confdefs.h. ## -+## ----------- ##" -+ echo -+ cat confdefs.h -+ echo -+ fi -+ test "$ac_signal" != 0 && -+ $as_echo "$as_me: caught signal $ac_signal" -+ $as_echo "$as_me: exit $exit_status" -+ } >&5 -+ rm -f core *.core core.conftest.* && -+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && -+ exit $exit_status -+' 0 -+for ac_signal in 1 2 13 15; do -+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -+done -+ac_signal=0 -+ -+# confdefs.h avoids OS command line length limits that DEFS can exceed. -+rm -f -r conftest* confdefs.h -+ -+$as_echo "/* confdefs.h */" > confdefs.h -+ -+# Predefined preprocessor variables. -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_NAME "$PACKAGE_NAME" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_VERSION "$PACKAGE_VERSION" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_STRING "$PACKAGE_STRING" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_URL "$PACKAGE_URL" -+_ACEOF -+ -+ -+# Let the site file select an alternate cache file if it wants to. -+# Prefer an explicitly selected file to automatically selected ones. -+ac_site_file1=NONE -+ac_site_file2=NONE -+if test -n "$CONFIG_SITE"; then -+ # We do not want a PATH search for config.site. -+ case $CONFIG_SITE in #(( -+ -*) ac_site_file1=./$CONFIG_SITE;; -+ */*) ac_site_file1=$CONFIG_SITE;; -+ *) ac_site_file1=./$CONFIG_SITE;; -+ esac -+elif test "x$prefix" != xNONE; then -+ ac_site_file1=$prefix/share/config.site -+ ac_site_file2=$prefix/etc/config.site -+else -+ ac_site_file1=$ac_default_prefix/share/config.site -+ ac_site_file2=$ac_default_prefix/etc/config.site -+fi -+for ac_site_file in "$ac_site_file1" "$ac_site_file2" -+do -+ test "x$ac_site_file" = xNONE && continue -+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -+$as_echo "$as_me: loading site script $ac_site_file" >&6;} -+ sed 's/^/| /' "$ac_site_file" >&5 -+ . "$ac_site_file" \ -+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error $? "failed to load site script $ac_site_file -+See \`config.log' for more details" "$LINENO" 5; } -+ fi -+done -+ -+if test -r "$cache_file"; then -+ # Some versions of bash will fail to source /dev/null (special files -+ # actually), so we avoid doing that. DJGPP emulates it as a regular file. -+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -+$as_echo "$as_me: loading cache $cache_file" >&6;} -+ case $cache_file in -+ [\\/]* | ?:[\\/]* ) . "$cache_file";; -+ *) . "./$cache_file";; -+ esac -+ fi -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -+$as_echo "$as_me: creating cache $cache_file" >&6;} -+ >$cache_file -+fi -+ -+# Check that the precious variables saved in the cache have kept the same -+# value. -+ac_cache_corrupted=false -+for ac_var in $ac_precious_vars; do -+ eval ac_old_set=\$ac_cv_env_${ac_var}_set -+ eval ac_new_set=\$ac_env_${ac_var}_set -+ eval ac_old_val=\$ac_cv_env_${ac_var}_value -+ eval ac_new_val=\$ac_env_${ac_var}_value -+ case $ac_old_set,$ac_new_set in -+ set,) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,set) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,);; -+ *) -+ if test "x$ac_old_val" != "x$ac_new_val"; then -+ # differences in whitespace do not lead to failure. -+ ac_old_val_w=`echo x $ac_old_val` -+ ac_new_val_w=`echo x $ac_new_val` -+ if test "$ac_old_val_w" != "$ac_new_val_w"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} -+ ac_cache_corrupted=: -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} -+ eval $ac_var=\$ac_old_val -+ fi -+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} -+ fi;; -+ esac -+ # Pass precious variables to config.status. -+ if test "$ac_new_set" = set; then -+ case $ac_new_val in -+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; -+ *) ac_arg=$ac_var=$ac_new_val ;; -+ esac -+ case " $ac_configure_args " in -+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. -+ *) as_fn_append ac_configure_args " '$ac_arg'" ;; -+ esac -+ fi -+done -+if $ac_cache_corrupted; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} -+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -+fi -+## -------------------- ## -+## Main body of script. ## -+## -------------------- ## -+ -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+ -+ac_config_headers="$ac_config_headers config.h" -+ -+ -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" -+fi -+ -+if test "$srcdir" = "." ; then -+ if test "${with_target_subdir}" != "." ; then -+ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." -+ else -+ libgloss_topdir="${srcdir}/${with_multisrctop}../.." -+ fi -+else -+ libgloss_topdir="${srcdir}/../.." -+fi -+ac_aux_dir= -+for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do -+ if test -f "$ac_dir/install-sh"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install-sh -c" -+ break -+ elif test -f "$ac_dir/install.sh"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install.sh -c" -+ break -+ elif test -f "$ac_dir/shtool"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/shtool install -c" -+ break -+ fi -+done -+if test -z "$ac_aux_dir"; then -+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5 -+fi -+ -+# These three variables are undocumented and unsupported, -+# and are intended to be withdrawn in a future Autoconf release. -+# They can cause serious problems if a builder's source tree is in a directory -+# whose full name contains unusual characters. -+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -+ -+ -+ -+# Make sure we can run config.sub. -+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || -+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -+$as_echo_n "checking build system type... " >&6; } -+if ${ac_cv_build+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_build_alias=$build_alias -+test "x$ac_build_alias" = x && -+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -+test "x$ac_build_alias" = x && -+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -+$as_echo "$ac_cv_build" >&6; } -+case $ac_cv_build in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -+esac -+build=$ac_cv_build -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_build -+shift -+build_cpu=$1 -+build_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+build_os=$* -+IFS=$ac_save_IFS -+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -+$as_echo_n "checking host system type... " >&6; } -+if ${ac_cv_host+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test "x$host_alias" = x; then -+ ac_cv_host=$ac_cv_build -+else -+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -+$as_echo "$ac_cv_host" >&6; } -+case $ac_cv_host in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -+esac -+host=$ac_cv_host -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_host -+shift -+host_cpu=$1 -+host_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+host_os=$* -+IFS=$ac_save_IFS -+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 -+$as_echo_n "checking target system type... " >&6; } -+if ${ac_cv_target+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test "x$target_alias" = x; then -+ ac_cv_target=$ac_cv_host -+else -+ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 -+$as_echo "$ac_cv_target" >&6; } -+case $ac_cv_target in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; -+esac -+target=$ac_cv_target -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_target -+shift -+target_cpu=$1 -+target_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+target_os=$* -+IFS=$ac_save_IFS -+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac -+ -+ -+# The aliases save the names the user supplied, while $host etc. -+# will get canonicalized. -+test -n "$target_alias" && -+ test "$program_prefix$program_suffix$program_transform_name" = \ -+ NONENONEs,x,x, && -+ program_prefix=${target_alias}- -+ -+test "$program_prefix" != NONE && -+ program_transform_name="s&^&$program_prefix&;$program_transform_name" -+# Use a double $ so make ignores it. -+test "$program_suffix" != NONE && -+ program_transform_name="s&\$&$program_suffix&;$program_transform_name" -+# Double any \ or $. -+# By default was `s,x,x', remove it if useless. -+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` -+ -+ -+# Find a good install program. We prefer a C program (faster), -+# so one script is as good as another. But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AmigaOS /C/install, which installs bootblocks on floppy discs -+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# OS/2's system install, which has a completely different semantic -+# ./install, which can be erroneously created by make from ./install.sh. -+# Reject install programs that cannot install multiple files. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -+$as_echo_n "checking for a BSD-compatible install... " >&6; } -+if test -z "$INSTALL"; then -+if ${ac_cv_path_install+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ # Account for people who put trailing slashes in PATH elements. -+case $as_dir/ in #(( -+ ./ | .// | /[cC]/* | \ -+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ -+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ -+ /usr/ucb/* ) ;; -+ *) -+ # OSF1 and SCO ODT 3.0 have their own names for install. -+ # Don't use installbsd from OSF since it installs stuff as root -+ # by default. -+ for ac_prog in ginstall scoinst install; do -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -+ if test $ac_prog = install && -+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ : -+ elif test $ac_prog = install && -+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # program-specific install script used by HP pwplus--don't use. -+ : -+ else -+ rm -rf conftest.one conftest.two conftest.dir -+ echo one > conftest.one -+ echo two > conftest.two -+ mkdir conftest.dir -+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && -+ test -s conftest.one && test -s conftest.two && -+ test -s conftest.dir/conftest.one && -+ test -s conftest.dir/conftest.two -+ then -+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -+ break 3 -+ fi -+ fi -+ fi -+ done -+ done -+ ;; -+esac -+ -+ done -+IFS=$as_save_IFS -+ -+rm -rf conftest.one conftest.two conftest.dir -+ -+fi -+ if test "${ac_cv_path_install+set}" = set; then -+ INSTALL=$ac_cv_path_install -+ else -+ # As a last resort, use the slow shell script. Don't cache a -+ # value for INSTALL within a source directory, because that will -+ # break other packages using the cache if that directory is -+ # removed, or if the value is a relative name. -+ INSTALL=$ac_install_sh -+ fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -+$as_echo "$INSTALL" >&6; } -+ -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -+ -+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' -+ -+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -+ -+ -+$as_echo "#define HAVE_GNU_LD 1" >>confdefs.h -+ -+case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ aarch64-*-elf) -+ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h -+ ;; -+ arc-*-*) -+ ;; -+ arm-*-eabi) -+ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h -+ ;; -+ arm*-*-*) -+ ;; -+ bfin-*-*) -+ ;; -+ cris-*-* | crisv32-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i345686-*-sco*) -+ ;; -+ lm32-*-*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ v850*-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h -+ -+ ;; -+esac -+ -+case "${target}" in -+ *-*-elf) -+ $as_echo "#define HAVE_ELF 1" >>confdefs.h -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 -+$as_echo_n "checking for .previous assembler directive... " >&6; } -+if ${libc_cv_asm_previous_directive+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_asm_previous_directive=no -+ cat > conftest.s <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_asm_previous_directive=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 -+$as_echo "$libc_cv_asm_previous_directive" >&6; } -+ -+ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then -+ $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h -+ -+ fi -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 -+$as_echo_n "checking for .popsection assembler directive... " >&6; } -+if ${libc_cv_asm_popsection_directive+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_asm_popsection_directive=no -+ cat > conftest.s <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_asm_popsection_directive=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5 -+$as_echo "$libc_cv_asm_popsection_directive" >&6; } -+ -+ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then -+ $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h -+ -+ fi -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for section attributes" >&5 -+$as_echo_n "checking for section attributes... " >&6; } -+if ${libc_cv_section_attributes+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_section_attributes=no -+ cat > conftest.c <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_section_attributes=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_section_attributes" >&5 -+$as_echo "$libc_cv_section_attributes" >&6; } -+ if test "x${libc_cv_section_attributes}" = "xyes"; then -+ $as_echo "#define HAVE_SECTION_ATTRIBUTES 1" >>confdefs.h -+ -+ fi -+ ;; -+esac -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 -+$as_echo_n "checking for symbol prefix... " >&6; } -+if ${libc_cv_symbol_prefix+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat > conftest.c <<\EOF -+foo () { } -+EOF -+libc_cv_symbol_prefix=none -+if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; -+then -+ libc_cv_symbol_prefix='$' -+else -+ if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; -+ then -+ libc_cv_symbol_prefix=_ -+ fi -+fi -+rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_symbol_prefix" >&5 -+$as_echo "$libc_cv_symbol_prefix" >&6; } -+if test $libc_cv_symbol_prefix != none; then -+ cat >>confdefs.h <<_ACEOF -+#define __SYMBOL_PREFIX "$libc_cv_symbol_prefix" -+_ACEOF -+ -+else -+ $as_echo "#define __SYMBOL_PREFIX \"\"" >>confdefs.h -+ -+fi -+ -+rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+ am__leading_dot=. -+else -+ am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null -+ -+DEPDIR="${am__leading_dot}deps" -+ -+ac_config_commands="$ac_config_commands depfiles" -+ -+ -+am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+ @echo done -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -+$as_echo_n "checking for style of include used by $am_make... " >&6; } -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ fi -+fi -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -+$as_echo "$_am_result" >&6; } -+rm -f confinc confmf -+ -+# Check whether --enable-dependency-tracking was given. -+if test "${enable_dependency_tracking+set}" = set; then : -+ enableval=$enable_dependency_tracking; -+fi -+ -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi -+ -+ -+if test "x$enable_dependency_tracking" != xno; then -+ AMDEP_TRUE= -+ AMDEP_FALSE='#' -+else -+ AMDEP_TRUE='#' -+ AMDEP_FALSE= -+fi -+ -+ -+ -+# Extract the first word of "gcc", so it can be a program name with args. -+set dummy gcc; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CC+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_CC="gcc" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ -+depcc="$CC" am_compiler_list= -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -+$as_echo_n "checking dependency style of $depcc... " >&6; } -+if ${am_cv_CC_dependencies_compiler_type+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub -+ -+ am_cv_CC_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` -+ fi -+ for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -+ -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_CC_dependencies_compiler_type=$depmode -+ break -+ fi -+ fi -+ done -+ -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_CC_dependencies_compiler_type=none -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type -+ -+ -+ -+if -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then -+ am__fastdepCC_TRUE= -+ am__fastdepCC_FALSE='#' -+else -+ am__fastdepCC_TRUE='#' -+ am__fastdepCC_FALSE= -+fi -+ -+ -+if test -z "$CC"; then -+ # Extract the first word of "cc", so it can be a program name with args. -+set dummy cc; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CC+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ ac_prog_rejected=no -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then -+ ac_prog_rejected=yes -+ continue -+ fi -+ ac_cv_prog_CC="cc" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+if test $ac_prog_rejected = yes; then -+ # We found a bogon in the path, so make sure we never use it. -+ set dummy $ac_cv_prog_CC -+ shift -+ if test $# != 0; then -+ # We chose a different compiler from the bogus one. -+ # However, it has the same basename, so the bogon will be chosen -+ # first if we set CC to just the basename; use the full file name. -+ shift -+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" -+ fi -+fi -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5 -+fi -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5 -+$as_echo_n "checking whether we are using GNU C... " >&6; } -+if ${ac_cv_c_compiler_gnu+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat > conftest.c <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then -+ ac_cv_c_compiler_gnu=yes -+else -+ ac_cv_c_compiler_gnu=no -+fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -+$as_echo "$ac_cv_c_compiler_gnu" >&6; } -+ -+if test $ac_cv_c_compiler_gnu = yes; then -+ GCC=yes -+ ac_test_CFLAGS="${CFLAGS+set}" -+ ac_save_CFLAGS="$CFLAGS" -+ CFLAGS= -+ ac_test_CFLAGS=${CFLAGS+set} -+ac_save_CFLAGS=$CFLAGS -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -+$as_echo_n "checking whether $CC accepts -g... " >&6; } -+if ${ac_cv_prog_cc_g+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_save_c_werror_flag=$ac_c_werror_flag -+ ac_c_werror_flag=yes -+ ac_cv_prog_cc_g=no -+ CFLAGS="-g" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_prog_cc_g=yes -+else -+ CFLAGS="" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ -+else -+ ac_c_werror_flag=$ac_save_c_werror_flag -+ CFLAGS="-g" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_prog_cc_g=yes -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_c_werror_flag=$ac_save_c_werror_flag -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -+$as_echo "$ac_cv_prog_cc_g" >&6; } -+if test "$ac_test_CFLAGS" = set; then -+ CFLAGS=$ac_save_CFLAGS -+elif test $ac_cv_prog_cc_g = yes; then -+ if test "$GCC" = yes; then -+ CFLAGS="-g -O2" -+ else -+ CFLAGS="-g" -+ fi -+else -+ if test "$GCC" = yes; then -+ CFLAGS="-O2" -+ else -+ CFLAGS= -+ fi -+fi -+ if test "$ac_test_CFLAGS" = set; then -+ CFLAGS="$ac_save_CFLAGS" -+ elif test $ac_cv_prog_cc_g = yes; then -+ CFLAGS="-g -O2" -+ else -+ CFLAGS="-O2" -+ fi -+else -+ GCC= -+ test "${CFLAGS+set}" = set || CFLAGS="-g" -+fi -+ -+AS=${AS-as} -+ -+AR=${AR-ar} -+ -+LD=${LD-ld} -+ -+if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -+set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_RANLIB+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$RANLIB"; then -+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+RANLIB=$ac_cv_prog_RANLIB -+if test -n "$RANLIB"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -+$as_echo "$RANLIB" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+fi -+if test -z "$ac_cv_prog_RANLIB"; then -+ ac_ct_RANLIB=$RANLIB -+ # Extract the first word of "ranlib", so it can be a program name with args. -+set dummy ranlib; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$ac_ct_RANLIB"; then -+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_ac_ct_RANLIB="ranlib" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -+if test -n "$ac_ct_RANLIB"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -+$as_echo "$ac_ct_RANLIB" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ if test "x$ac_ct_RANLIB" = x; then -+ RANLIB=":" -+ else -+ case $cross_compiling:$ac_tool_warned in -+yes:) -+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -+ac_tool_warned=yes ;; -+esac -+ RANLIB=$ac_ct_RANLIB -+ fi -+else -+ RANLIB="$ac_cv_prog_RANLIB" -+fi -+ -+# By default we simply use the C compiler to build assembly code. -+ -+test "${CCAS+set}" = set || CCAS=$CC -+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS -+ -+ -+ -+ -+host_makefile_frag=${srcdir}/../config/default.mh -+ -+host_makefile_frag_path=$host_makefile_frag -+ -+ -+ -+ac_config_files="$ac_config_files Makefile" -+ -+cat >confcache <<\_ACEOF -+# This file is a shell script that caches the results of configure -+# tests run on this system so they can be shared between configure -+# scripts and configure runs, see configure's option --config-cache. -+# It is not useful on other systems. If it contains results you don't -+# want to keep, you may remove or edit it. -+# -+# config.status only pays attention to the cache file if you give it -+# the --recheck option to rerun configure. -+# -+# `ac_cv_env_foo' variables (set or unset) will be overridden when -+# loading this file, other *unset* `ac_cv_foo' will be assigned the -+# following values. -+ -+_ACEOF -+ -+# The following way of writing the cache mishandles newlines in values, -+# but we know of no workaround that is simple, portable, and efficient. -+# So, we kill variables containing newlines. -+# Ultrix sh set writes to stderr and can't be redirected directly, -+# and sets the high bit in the cache file unless we assign to the vars. -+( -+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do -+ eval ac_val=\$$ac_var -+ case $ac_val in #( -+ *${as_nl}*) -+ case $ac_var in #( -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; -+ esac -+ case $ac_var in #( -+ _ | IFS | as_nl) ;; #( -+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -+ *) { eval $ac_var=; unset $ac_var;} ;; -+ esac ;; -+ esac -+ done -+ -+ (set) 2>&1 | -+ case $as_nl`(ac_space=' '; set) 2>&1` in #( -+ *${as_nl}ac_space=\ *) -+ # `set' does not quote correctly, so add quotes: double-quote -+ # substitution turns \\\\ into \\, and sed turns \\ into \. -+ sed -n \ -+ "s/'/'\\\\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" -+ ;; #( -+ *) -+ # `set' quotes correctly as required by POSIX, so do not add quotes. -+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" -+ ;; -+ esac | -+ sort -+) | -+ sed ' -+ /^ac_cv_env_/b end -+ t clear -+ :clear -+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ -+ t end -+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ -+ :end' >>confcache -+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else -+ if test -w "$cache_file"; then -+ if test "x$cache_file" != "x/dev/null"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -+$as_echo "$as_me: updating cache $cache_file" >&6;} -+ if test ! -f "$cache_file" || test -h "$cache_file"; then -+ cat confcache >"$cache_file" -+ else -+ case $cache_file in #( -+ */* | ?:*) -+ mv -f confcache "$cache_file"$$ && -+ mv -f "$cache_file"$$ "$cache_file" ;; #( -+ *) -+ mv -f confcache "$cache_file" ;; -+ esac -+ fi -+ fi -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} -+ fi -+fi -+rm -f confcache -+ -+test "x$prefix" = xNONE && prefix=$ac_default_prefix -+# Let make expand exec_prefix. -+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -+ -+DEFS=-DHAVE_CONFIG_H -+ -+ac_libobjs= -+ac_ltlibobjs= -+U= -+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue -+ # 1. Remove the extension, and $U if already installed. -+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' -+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"` -+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR -+ # will be set to the directory where LIBOBJS objects are built. -+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" -+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -+done -+LIBOBJS=$ac_libobjs -+ -+LTLIBOBJS=$ac_ltlibobjs -+ -+ -+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then -+ as_fn_error $? "conditional \"AMDEP\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then -+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+ -+: "${CONFIG_STATUS=./config.status}" -+ac_write_fail=0 -+ac_clean_files_save=$ac_clean_files -+ac_clean_files="$ac_clean_files $CONFIG_STATUS" -+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -+as_write_fail=0 -+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -+#! $SHELL -+# Generated by $as_me. -+# Run this file to recreate the current configuration. -+# Compiler output produced by configure, useful for debugging -+# configure, is in config.log if it exists. -+ -+debug=false -+ac_cs_recheck=false -+ac_cs_silent=false -+ -+SHELL=\${CONFIG_SHELL-$SHELL} -+export SHELL -+_ASEOF -+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## -+ -+# Be more Bourne compatible -+DUALCASE=1; export DUALCASE # for MKS sh -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '${1+"$@"}'='"$@"' -+ setopt NO_GLOB_SUBST -+else -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+ -+ -+as_nl=' -+' -+export as_nl -+# Printing a long string crashes Solaris 7 /usr/bin/printf. -+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='printf %s\n' -+ as_echo_n='printf %s' -+else -+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then -+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' -+ as_echo_n='/usr/ucb/echo -n' -+ else -+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' -+ as_echo_n_body='eval -+ arg=$1; -+ case $arg in #( -+ *"$as_nl"*) -+ expr "X$arg" : "X\\(.*\\)$as_nl"; -+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -+ esac; -+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" -+ ' -+ export as_echo_n_body -+ as_echo_n='sh -c $as_echo_n_body as_echo' -+ fi -+ export as_echo_body -+ as_echo='sh -c $as_echo_body as_echo' -+fi -+ -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ PATH_SEPARATOR=: -+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { -+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || -+ PATH_SEPARATOR=';' -+ } -+fi -+ -+ -+# IFS -+# We need space, tab and new line, in precisely that order. Quoting is -+# there to prevent editors from complaining about space-tab. -+# (If _AS_PATH_WALK were called with IFS unset, it would disable word -+# splitting by setting IFS to empty value.) -+IFS=" "" $as_nl" -+ -+# Find who we are. Look in the path if we contain no directory separator. -+as_myself= -+case $0 in #(( -+ *[\\/]* ) as_myself=$0 ;; -+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done -+IFS=$as_save_IFS -+ -+ ;; -+esac -+# We did not find ourselves, most probably we were run as `sh COMMAND' -+# in which case we are not to be found in the path. -+if test "x$as_myself" = x; then -+ as_myself=$0 -+fi -+if test ! -f "$as_myself"; then -+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -+ exit 1 -+fi -+ -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -+done -+PS1='$ ' -+PS2='> ' -+PS4='+ ' -+ -+# NLS nuisances. -+LC_ALL=C -+export LC_ALL -+LANGUAGE=C -+export LANGUAGE -+ -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+ -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error -+ -+ -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status -+ -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit -+ -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append -+ -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith -+ -+ -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr -+else -+ as_expr=false -+fi -+ -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename -+else -+ as_basename=false -+fi -+ -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi -+ -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+ECHO_C= ECHO_N= ECHO_T= -+case `echo -n x` in #((((( -+-n*) -+ case `echo 'xy\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; -+ esac;; -+*) -+ ECHO_N='-n';; -+esac -+ -+rm -f conf$$ conf$$.exe conf$$.file -+if test -d conf$$.dir; then -+ rm -f conf$$.dir/conf$$.file -+else -+ rm -f conf$$.dir -+ mkdir conf$$.dir 2>/dev/null -+fi -+if (echo >conf$$.file) 2>/dev/null; then -+ if ln -s conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s='ln -s' -+ # ... but there are two gotchas: -+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. -+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -+ # In both cases, we have to default to `cp -pR'. -+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -+ as_ln_s='cp -pR' -+ elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+ else -+ as_ln_s='cp -pR' -+ fi -+else -+ as_ln_s='cp -pR' -+fi -+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -+rmdir conf$$.dir 2>/dev/null -+ -+ -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ -+ -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" -+ -+ -+} # as_fn_mkdir_p -+if mkdir -p . 2>/dev/null; then -+ as_mkdir_p='mkdir -p "$as_dir"' -+else -+ test -d ./-p && rmdir ./-p -+ as_mkdir_p=false -+fi -+ -+ -+# as_fn_executable_p FILE -+# ----------------------- -+# Test if FILE is an executable regular file. -+as_fn_executable_p () -+{ -+ test -f "$1" && test -x "$1" -+} # as_fn_executable_p -+as_test_x='test -x' -+as_executable_p=as_fn_executable_p -+ -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -+ -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -+ -+ -+exec 6>&1 -+## ----------------------------------- ## -+## Main body of $CONFIG_STATUS script. ## -+## ----------------------------------- ## -+_ASEOF -+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# Save the log message, to keep $0 and so on meaningful, and to -+# report actual input values of CONFIG_FILES etc. instead of their -+# values after options handling. -+ac_log=" -+This file was extended by $as_me, which was -+generated by GNU Autoconf 2.69. Invocation command line was -+ -+ CONFIG_FILES = $CONFIG_FILES -+ CONFIG_HEADERS = $CONFIG_HEADERS -+ CONFIG_LINKS = $CONFIG_LINKS -+ CONFIG_COMMANDS = $CONFIG_COMMANDS -+ $ $0 $@ -+ -+on `(hostname || uname -n) 2>/dev/null | sed 1q` -+" -+ -+_ACEOF -+ -+case $ac_config_files in *" -+"*) set x $ac_config_files; shift; ac_config_files=$*;; -+esac -+ -+case $ac_config_headers in *" -+"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -+esac -+ -+ -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+# Files that config.status was made for. -+config_files="$ac_config_files" -+config_headers="$ac_config_headers" -+config_commands="$ac_config_commands" -+ -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ac_cs_usage="\ -+\`$as_me' instantiates files and other configuration actions -+from templates according to the current configuration. Unless the files -+and actions are specified as TAGs, all are instantiated by default. -+ -+Usage: $0 [OPTION]... [TAG]... -+ -+ -h, --help print this help, then exit -+ -V, --version print version number and configuration settings, then exit -+ --config print configuration, then exit -+ -q, --quiet, --silent -+ do not print progress messages -+ -d, --debug don't remove temporary files -+ --recheck update $as_me by reconfiguring in the same conditions -+ --file=FILE[:TEMPLATE] -+ instantiate the configuration file FILE -+ --header=FILE[:TEMPLATE] -+ instantiate the configuration header FILE -+ -+Configuration files: -+$config_files -+ -+Configuration headers: -+$config_headers -+ -+Configuration commands: -+$config_commands -+ -+Report bugs to the package provider." -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -+ac_cs_version="\\ -+config.status -+configured by $0, generated by GNU Autoconf 2.69, -+ with options \\"\$ac_cs_config\\" -+ -+Copyright (C) 2012 Free Software Foundation, Inc. -+This config.status script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it." -+ -+ac_pwd='$ac_pwd' -+srcdir='$srcdir' -+INSTALL='$INSTALL' -+test -n "\$AWK" || AWK=awk -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# The default lists apply if the user does not specify any file. -+ac_need_defaults=: -+while test $# != 0 -+do -+ case $1 in -+ --*=?*) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` -+ ac_shift=: -+ ;; -+ --*=) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg= -+ ac_shift=: -+ ;; -+ *) -+ ac_option=$1 -+ ac_optarg=$2 -+ ac_shift=shift -+ ;; -+ esac -+ -+ case $ac_option in -+ # Handling of the options. -+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) -+ ac_cs_recheck=: ;; -+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) -+ $as_echo "$ac_cs_version"; exit ;; -+ --config | --confi | --conf | --con | --co | --c ) -+ $as_echo "$ac_cs_config"; exit ;; -+ --debug | --debu | --deb | --de | --d | -d ) -+ debug=: ;; -+ --file | --fil | --fi | --f ) -+ $ac_shift -+ case $ac_optarg in -+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ '') as_fn_error $? "missing file argument" ;; -+ esac -+ as_fn_append CONFIG_FILES " '$ac_optarg'" -+ ac_need_defaults=false;; -+ --header | --heade | --head | --hea ) -+ $ac_shift -+ case $ac_optarg in -+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ esac -+ as_fn_append CONFIG_HEADERS " '$ac_optarg'" -+ ac_need_defaults=false;; -+ --he | --h) -+ # Conflict between --help and --header -+ as_fn_error $? "ambiguous option: \`$1' -+Try \`$0 --help' for more information.";; -+ --help | --hel | -h ) -+ $as_echo "$ac_cs_usage"; exit ;; -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil | --si | --s) -+ ac_cs_silent=: ;; -+ -+ # This is an error. -+ -*) as_fn_error $? "unrecognized option: \`$1' -+Try \`$0 --help' for more information." ;; -+ -+ *) as_fn_append ac_config_targets " $1" -+ ac_need_defaults=false ;; -+ -+ esac -+ shift -+done -+ -+ac_configure_extra_args= -+ -+if $ac_cs_silent; then -+ exec 6>/dev/null -+ ac_configure_extra_args="$ac_configure_extra_args --silent" -+fi -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+if \$ac_cs_recheck; then -+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -+ shift -+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 -+ CONFIG_SHELL='$SHELL' -+ export CONFIG_SHELL -+ exec "\$@" -+fi -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+exec 5>>config.log -+{ -+ echo -+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -+## Running $as_me. ## -+_ASBOX -+ $as_echo "$ac_log" -+} >&5 -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+# -+# INIT-COMMANDS -+# -+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" -+srcdir=${srcdir} -+target=${target} -+with_multisubdir=${with_multisubdir} -+ac_configure_args="${ac_configure_args} --enable-multilib" -+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+libgloss_topdir=${libgloss_topdir} -+ -+ -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ -+# Handling of arguments. -+for ac_config_target in $ac_config_targets -+do -+ case $ac_config_target in -+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; -+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; -+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; -+ -+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; -+ esac -+done -+ -+ -+# If the user did not use the arguments to specify the items to instantiate, -+# then the envvar interface is used. Set only those that are not. -+# We use the long form for the default assignment because of an extremely -+# bizarre bug on SunOS 4.1.3. -+if $ac_need_defaults; then -+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers -+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -+fi -+ -+# Have a temporary directory for convenience. Make it in the build tree -+# simply because there is no reason against having it here, and in addition, -+# creating and moving files from /tmp can sometimes cause problems. -+# Hook for its removal unless debugging. -+# Note that there is a small window in which the directory will not be cleaned: -+# after its creation but before its name has been assigned to `$tmp'. -+$debug || -+{ -+ tmp= ac_tmp= -+ trap 'exit_status=$? -+ : "${ac_tmp:=$tmp}" -+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -+' 0 -+ trap 'as_fn_exit 1' 1 2 13 15 -+} -+# Create a (secure) tmp directory for tmp files. -+ -+{ -+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && -+ test -d "$tmp" -+} || -+{ -+ tmp=./conf$$-$RANDOM -+ (umask 077 && mkdir "$tmp") -+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -+ac_tmp=$tmp -+ -+# Set up the scripts for CONFIG_FILES section. -+# No need to generate them if there are no CONFIG_FILES. -+# This happens for instance with `./config.status config.h'. -+if test -n "$CONFIG_FILES"; then -+ -+if $AWK 'BEGIN { getline <"/dev/null" }' /dev/null; then -+ ac_cs_awk_getline=: -+ ac_cs_awk_pipe_init= -+ ac_cs_awk_read_file=' -+ while ((getline aline < (F[key])) > 0) -+ print(aline) -+ close(F[key])' -+ ac_cs_awk_pipe_fini= -+else -+ ac_cs_awk_getline=false -+ ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\"" -+ ac_cs_awk_read_file=' -+ print "|#_!!_#|" -+ print "cat " F[key] " &&" -+ '$ac_cs_awk_pipe_init -+ # The final `:' finishes the AND list. -+ ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }' -+fi -+ac_cr=`echo X | tr X '\015'` -+# On cygwin, bash can eat \r inside `` if the user requested igncr. -+# But we know of no other shell where ac_cr would be empty at this -+# point, so we can use a bashism as a fallback. -+if test "x$ac_cr" = x; then -+ eval ac_cr=\$\'\\r\' -+fi -+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then -+ ac_cs_awk_cr='\\r' -+else -+ ac_cs_awk_cr=$ac_cr -+fi -+ -+echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -+_ACEOF -+ -+# Create commands to substitute file output variables. -+{ -+ echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && -+ echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && -+ echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && -+ echo "_ACAWK" && -+ echo "_ACEOF" -+} >conf$$files.sh && -+. ./conf$$files.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+rm -f conf$$files.sh -+ -+{ -+ echo "cat >conf$$subs.awk <<_ACEOF" && -+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && -+ echo "_ACEOF" -+} >conf$$subs.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -+ac_delim='%!_!# ' -+for ac_last_try in false false false false false :; do -+ . ./conf$$subs.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ -+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` -+ if test $ac_delim_n = $ac_delim_num; then -+ break -+ elif $ac_last_try; then -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ else -+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " -+ fi -+done -+rm -f conf$$subs.sh -+ -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -+_ACEOF -+sed -n ' -+h -+s/^/S["/; s/!.*/"]=/ -+p -+g -+s/^[^!]*!// -+:repl -+t repl -+s/'"$ac_delim"'$// -+t delim -+:nl -+h -+s/\(.\{148\}\)..*/\1/ -+t more1 -+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -+p -+n -+b repl -+:more1 -+s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -+p -+g -+s/.\{148\}// -+t nl -+:delim -+h -+s/\(.\{148\}\)..*/\1/ -+t more2 -+s/["\\]/\\&/g; s/^/"/; s/$/"/ -+p -+b -+:more2 -+s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -+p -+g -+s/.\{148\}// -+t delim -+' >$CONFIG_STATUS || ac_write_fail=1 -+rm -f conf$$subs.awk -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+_ACAWK -+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && -+ for (key in S) S_is_set[key] = 1 -+ FS = "" -+ \$ac_cs_awk_pipe_init -+} -+{ -+ line = $ 0 -+ nfields = split(line, field, "@") -+ substed = 0 -+ len = length(field[1]) -+ for (i = 2; i < nfields; i++) { -+ key = field[i] -+ keylen = length(key) -+ if (S_is_set[key]) { -+ value = S[key] -+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) -+ len += length(value) + length(field[++i]) -+ substed = 1 -+ } else -+ len += 1 + keylen -+ } -+ if (nfields == 3 && !substed) { -+ key = field[2] -+ if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) { -+ \$ac_cs_awk_read_file -+ next -+ } -+ } -+ print line -+} -+\$ac_cs_awk_pipe_fini -+_ACAWK -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then -+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -+else -+ cat -+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ -+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -+_ACEOF -+ -+# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -+# trailing colons and then remove the whole line if VPATH becomes empty -+# (actually we leave an empty line to preserve line numbers). -+if test "x$srcdir" = x.; then -+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -+h -+s/// -+s/^/:/ -+s/[ ]*$/:/ -+s/:\$(srcdir):/:/g -+s/:\${srcdir}:/:/g -+s/:@srcdir@:/:/g -+s/^:*// -+s/:*$// -+x -+s/\(=[ ]*\).*/\1/ -+G -+s/\n// -+s/^[^=]*=[ ]*$// -+}' -+fi -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+fi # test -n "$CONFIG_FILES" -+ -+# Set up the scripts for CONFIG_HEADERS section. -+# No need to generate them if there are no CONFIG_HEADERS. -+# This happens for instance with `./config.status Makefile'. -+if test -n "$CONFIG_HEADERS"; then -+cat >"$ac_tmp/defines.awk" <<\_ACAWK || -+BEGIN { -+_ACEOF -+ -+# Transform confdefs.h into an awk script `defines.awk', embedded as -+# here-document in config.status, that substitutes the proper values into -+# config.h.in to produce config.h. -+ -+# Create a delimiter string that does not exist in confdefs.h, to ease -+# handling of long lines. -+ac_delim='%!_!# ' -+for ac_last_try in false false :; do -+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h` -+ if test -z "$ac_tt"; then -+ break -+ elif $ac_last_try; then -+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 -+ else -+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " -+ fi -+done -+ -+# For the awk script, D is an array of macro values keyed by name, -+# likewise P contains macro parameters if any. Preserve backslash -+# newline sequences. -+ -+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -+sed -n ' -+s/.\{148\}/&'"$ac_delim"'/g -+t rset -+:rset -+s/^[ ]*#[ ]*define[ ][ ]*/ / -+t def -+d -+:def -+s/\\$// -+t bsnl -+s/["\\]/\\&/g -+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -+D["\1"]=" \3"/p -+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -+d -+:bsnl -+s/["\\]/\\&/g -+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -+D["\1"]=" \3\\\\\\n"\\/p -+t cont -+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -+t cont -+d -+:cont -+n -+s/.\{148\}/&'"$ac_delim"'/g -+t clear -+:clear -+s/\\$// -+t bsnlc -+s/["\\]/\\&/g; s/^/"/; s/$/"/p -+d -+:bsnlc -+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -+b cont -+' >$CONFIG_STATUS || ac_write_fail=1 -+ -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ for (key in D) D_is_set[key] = 1 -+ FS = "" -+} -+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { -+ line = \$ 0 -+ split(line, arg, " ") -+ if (arg[1] == "#") { -+ defundef = arg[2] -+ mac1 = arg[3] -+ } else { -+ defundef = substr(arg[1], 2) -+ mac1 = arg[2] -+ } -+ split(mac1, mac2, "(") #) -+ macro = mac2[1] -+ prefix = substr(line, 1, index(line, defundef) - 1) -+ if (D_is_set[macro]) { -+ # Preserve the white space surrounding the "#". -+ print prefix "define", macro P[macro] D[macro] -+ next -+ } else { -+ # Replace #undef with comments. This is necessary, for example, -+ # in the case of _POSIX_SOURCE, which is predefined and required -+ # on some systems where configure will not decide to define it. -+ if (defundef == "undef") { -+ print "/*", prefix defundef, macro, "*/" -+ next -+ } -+ } -+} -+{ print } -+_ACAWK -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -+fi # test -n "$CONFIG_HEADERS" -+ -+ -+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -+shift -+for ac_tag -+do -+ case $ac_tag in -+ :[FHLC]) ac_mode=$ac_tag; continue;; -+ esac -+ case $ac_mode$ac_tag in -+ :[FHL]*:*);; -+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; -+ :[FH]-) ac_tag=-:-;; -+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; -+ esac -+ ac_save_IFS=$IFS -+ IFS=: -+ set x $ac_tag -+ IFS=$ac_save_IFS -+ shift -+ ac_file=$1 -+ shift -+ -+ case $ac_mode in -+ :L) ac_source=$1;; -+ :[FH]) -+ ac_file_inputs= -+ for ac_f -+ do -+ case $ac_f in -+ -) ac_f="$ac_tmp/stdin";; -+ *) # Look for the file first in the build tree, then in the source tree -+ # (if the path is not absolute). The absolute path cannot be DOS-style, -+ # because $ac_f cannot contain `:'. -+ test -f "$ac_f" || -+ case $ac_f in -+ [\\/$]*) false;; -+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; -+ esac || -+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; -+ esac -+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac -+ as_fn_append ac_file_inputs " '$ac_f'" -+ done -+ -+ # Let's still pretend it is `configure' which instantiates (i.e., don't -+ # use $as_me), people would be surprised to read: -+ # /* config.h. Generated by config.status. */ -+ configure_input='Generated from '` -+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' -+ `' by configure.' -+ if test x"$ac_file" != x-; then -+ configure_input="$ac_file. $configure_input" -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -+$as_echo "$as_me: creating $ac_file" >&6;} -+ fi -+ # Neutralize special characters interpreted by sed in replacement strings. -+ case $configure_input in #( -+ *\&* | *\|* | *\\* ) -+ ac_sed_conf_input=`$as_echo "$configure_input" | -+ sed 's/[\\\\&|]/\\\\&/g'`;; #( -+ *) ac_sed_conf_input=$configure_input;; -+ esac -+ -+ case $ac_tag in -+ *:-:* | *:-) cat >"$ac_tmp/stdin" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; -+ esac -+ ;; -+ esac -+ -+ ac_dir=`$as_dirname -- "$ac_file" || -+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$ac_file" : 'X\(//\)[^/]' \| \ -+ X"$ac_file" : 'X\(//\)$' \| \ -+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$ac_file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ as_dir="$ac_dir"; as_fn_mkdir_p -+ ac_builddir=. -+ -+case "$ac_dir" in -+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -+*) -+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` -+ # A ".." for each directory in $ac_dir_suffix. -+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` -+ case $ac_top_builddir_sub in -+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; -+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; -+ esac ;; -+esac -+ac_abs_top_builddir=$ac_pwd -+ac_abs_builddir=$ac_pwd$ac_dir_suffix -+# for backward compatibility: -+ac_top_builddir=$ac_top_build_prefix -+ -+case $srcdir in -+ .) # We are building in place. -+ ac_srcdir=. -+ ac_top_srcdir=$ac_top_builddir_sub -+ ac_abs_top_srcdir=$ac_pwd ;; -+ [\\/]* | ?:[\\/]* ) # Absolute name. -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir -+ ac_abs_top_srcdir=$srcdir ;; -+ *) # Relative name. -+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_top_build_prefix$srcdir -+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -+esac -+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -+ -+ -+ case $ac_mode in -+ :F) -+ # -+ # CONFIG_FILE -+ # -+ -+ case $INSTALL in -+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; -+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; -+ esac -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# If the template does not know about datarootdir, expand it. -+# FIXME: This hack should be removed a few years after 2.60. -+ac_datarootdir_hack=; ac_datarootdir_seen= -+ac_sed_dataroot=' -+/datarootdir/ { -+ p -+ q -+} -+/@datadir@/p -+/@docdir@/p -+/@infodir@/p -+/@localedir@/p -+/@mandir@/p' -+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -+*datarootdir*) ac_datarootdir_seen=yes;; -+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ ac_datarootdir_hack=' -+ s&@datadir@&$datadir&g -+ s&@docdir@&$docdir&g -+ s&@infodir@&$infodir&g -+ s&@localedir@&$localedir&g -+ s&@mandir@&$mandir&g -+ s&\\\${datarootdir}&$datarootdir&g' ;; -+esac -+_ACEOF -+ -+# Neutralize VPATH when `$srcdir' = `.'. -+# Shell code in configure.ac might set extrasub. -+# FIXME: do we really want to maintain this feature? -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_sed_extra="$ac_vpsub -+$extrasub -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+:t -+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -+s|@configure_input@|$ac_sed_conf_input|;t t -+s&@top_builddir@&$ac_top_builddir_sub&;t t -+s&@top_build_prefix@&$ac_top_build_prefix&;t t -+s&@srcdir@&$ac_srcdir&;t t -+s&@abs_srcdir@&$ac_abs_srcdir&;t t -+s&@top_srcdir@&$ac_top_srcdir&;t t -+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -+s&@builddir@&$ac_builddir&;t t -+s&@abs_builddir@&$ac_abs_builddir&;t t -+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -+s&@INSTALL@&$ac_INSTALL&;t t -+$ac_datarootdir_hack -+" -+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | -+if $ac_cs_awk_getline; then -+ $AWK -f "$ac_tmp/subs.awk" -+else -+ $AWK -f "$ac_tmp/subs.awk" | $SHELL -+fi \ -+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ -+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && -+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && -+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ -+ "$ac_tmp/out"`; test -z "$ac_out"; } && -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&5 -+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&2;} -+ -+ rm -f "$ac_tmp/stdin" -+ case $ac_file in -+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; -+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; -+ esac \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ ;; -+ :H) -+ # -+ # CONFIG_HEADER -+ # -+ if test x"$ac_file" != x-; then -+ { -+ $as_echo "/* $configure_input */" \ -+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" -+ } >"$ac_tmp/config.h" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -+$as_echo "$as_me: $ac_file is unchanged" >&6;} -+ else -+ rm -f "$ac_file" -+ mv "$ac_tmp/config.h" "$ac_file" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ fi -+ else -+ $as_echo "/* $configure_input */" \ -+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ -+ || as_fn_error $? "could not create -" "$LINENO" 5 -+ fi -+ ;; -+ -+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -+$as_echo "$as_me: executing $ac_file commands" >&6;} -+ ;; -+ esac -+ -+ -+ case $ac_file$ac_mode in -+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # So let's grep whole file. -+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -+ dirpart=`$as_dirname -- "$mf" || -+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$mf" : 'X\(//\)[^/]' \| \ -+ X"$mf" : 'X\(//\)$' \| \ -+ X"$mf" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$mf" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ else -+ continue -+ fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`$as_dirname -- "$file" || -+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$file" : 'X\(//\)[^/]' \| \ -+ X"$file" : 'X\(//\)$' \| \ -+ X"$file" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ as_dir=$dirpart/$fdir; as_fn_mkdir_p -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done -+done -+ ;; -+ "Makefile":F) ac_file=Makefile . ${libgloss_topdir}/config-ml.in ;; -+ -+ esac -+done # for ac_tag -+ -+ -+as_fn_exit 0 -+_ACEOF -+ac_clean_files=$ac_clean_files_save -+ -+test $ac_write_fail = 0 || -+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 -+ -+ -+# configure is writing to config.log, and then calls config.status. -+# config.status does its own redirection, appending to config.log. -+# Unfortunately, on DOS this fails, as config.log is still kept open -+# by configure, so config.status won't be able to write to it; its -+# output is simply discarded. So we exec the FD to /dev/null, -+# effectively closing config.log, so it can be properly (re)opened and -+# appended to by config.status. When coming back to configure, we -+# need to make the FD available again. -+if test "$no_create" != yes; then -+ ac_cs_success=: -+ ac_config_status_args= -+ test "$silent" = yes && -+ ac_config_status_args="$ac_config_status_args --quiet" -+ exec 5>/dev/null -+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false -+ exec 5>>config.log -+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which -+ # would make configure fail if this is the last instruction. -+ $ac_cs_success || as_fn_exit 1 -+fi -+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -+fi -+ -+ -+ -diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in -new file mode 100644 -index 000000000..da85a3f46 ---- /dev/null -+++ b/libgloss/libsysbase/configure.in -@@ -0,0 +1,202 @@ -+# Copyright (c) 1995, 1996 Cygnus Support -+# -+# The authors hereby grant permission to use, copy, modify, distribute, -+# and license this software and its documentation for any purpose, provided -+# that existing copyright notices are retained in all copies and that this -+# notice is included verbatim in any distributions. No written agreement, -+# license, or royalty fee is required for any of the authorized uses. -+# Modifications to this software may be copyrighted by their authors -+# and need not follow the licensing terms described here, provided that -+# the new terms are clearly indicated on the first page of each file where -+# they apply. -+# -+# Process this file with autoconf to produce a configure script. -+# -+AC_PREREQ(2.59) -+AC_INIT(close.c) -+AC_CONFIG_HEADER(config.h) -+ -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" -+fi -+ -+if test "$srcdir" = "." ; then -+ if test "${with_target_subdir}" != "." ; then -+ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." -+ else -+ libgloss_topdir="${srcdir}/${with_multisrctop}../.." -+ fi -+else -+ libgloss_topdir="${srcdir}/../.." -+fi -+AC_CONFIG_AUX_DIR($libgloss_topdir) -+ -+AC_CANONICAL_SYSTEM -+AC_ARG_PROGRAM -+ -+AC_PROG_INSTALL -+ -+AC_DEFINE(HAVE_GNU_LD) -+dnl Make sure syscall names match those being used by newlib -+case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ aarch64-*-elf) -+ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) -+ ;; -+ arc-*-*) -+ ;; -+ arm-*-eabi) -+ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) -+ ;; -+ arm*-*-*) -+ ;; -+ bfin-*-*) -+ ;; -+ cris-*-* | crisv32-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i[3456]86-*-sco*) -+ ;; -+ lm32-*-*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ v850*-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ AC_DEFINE(MISSING_SYSCALL_NAMES) -+ ;; -+esac -+ -+dnl Make sure we know if elf format used -+case "${target}" in -+ *-*-elf) -+ AC_DEFINE(HAVE_ELF) -+ -+ AC_CACHE_CHECK([for .previous assembler directive], -+ libc_cv_asm_previous_directive, [dnl -+ libc_cv_asm_previous_directive=no -+ cat > conftest.s <&AC_FD_CC); then -+ libc_cv_asm_previous_directive=yes -+ fi -+ rm -f conftest*]) -+ -+ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then -+ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) -+ fi -+ -+ AC_CACHE_CHECK([for .popsection assembler directive], -+ libc_cv_asm_popsection_directive, [dnl -+ libc_cv_asm_popsection_directive=no -+ cat > conftest.s <&AC_FD_CC); then -+ libc_cv_asm_popsection_directive=yes -+ fi -+ rm -f conftest*]) -+ -+ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then -+ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) -+ fi -+ -+ AC_CACHE_CHECK([for section attributes], -+ libc_cv_section_attributes, [dnl -+ libc_cv_section_attributes=no -+ cat > conftest.c <&AC_FD_CC); then -+ libc_cv_section_attributes=yes -+ fi -+ rm -f conftest*]) -+ if test "x${libc_cv_section_attributes}" = "xyes"; then -+ AC_DEFINE(HAVE_SECTION_ATTRIBUTES) -+ fi -+ ;; -+esac -+ -+AC_CACHE_CHECK([for symbol prefix], libc_cv_symbol_prefix, [dnl -+cat > conftest.c <<\EOF -+foo () { } -+EOF -+dnl -+libc_cv_symbol_prefix=none -+if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); -+then -+ libc_cv_symbol_prefix='$' -+else -+ if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]); -+ then -+ libc_cv_symbol_prefix=_ -+ fi -+fi -+rm -f conftest* ]) -+if test $libc_cv_symbol_prefix != none; then -+ AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_cv_symbol_prefix") -+else -+ AC_DEFINE(__SYMBOL_PREFIX, "") -+fi -+ -+LIB_AC_PROG_CC -+AS=${AS-as} -+AC_SUBST(AS) -+AR=${AR-ar} -+AC_SUBST(AR) -+LD=${LD-ld} -+AC_SUBST(LD) -+AC_PROG_RANLIB -+LIB_AM_PROG_AS -+ -+host_makefile_frag=${srcdir}/../config/default.mh -+ -+dnl We have to assign the same value to other variables because autoconf -+dnl doesn't provide a mechanism to substitute a replacement keyword with -+dnl arbitrary data or pathnames. -+dnl -+host_makefile_frag_path=$host_makefile_frag -+AC_SUBST(host_makefile_frag_path) -+AC_SUBST_FILE(host_makefile_frag) -+ -+AC_CONFIG_FILES(Makefile, -+ac_file=Makefile . ${libgloss_topdir}/config-ml.in, -+srcdir=${srcdir} -+target=${target} -+with_multisubdir=${with_multisubdir} -+ac_configure_args="${ac_configure_args} --enable-multilib" -+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+libgloss_topdir=${libgloss_topdir} -+) -+AC_OUTPUT -+ -+ -diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c -new file mode 100644 -index 000000000..7d1f4545d ---- /dev/null -+++ b/libgloss/libsysbase/dirent.c -@@ -0,0 +1,256 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+static DIR_ITER * __diropen (const char *path) { -+ struct _reent *r = _REENT; -+ DIR_ITER *handle = NULL; -+ DIR_ITER *dir = NULL; -+ int dev; -+ -+ dev = FindDevice(path); -+ -+ if(dev!=-1) { -+ if(devoptab_list[dev]->diropen_r) { -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ handle = (DIR_ITER *)malloc( sizeof(DIR_ITER) + devoptab_list[dev]->dirStateSize ); -+ -+ if ( NULL != handle ) { -+ handle->device = dev; -+ handle->dirStruct = ((void *)handle) + sizeof(DIR_ITER); -+ -+ dir = devoptab_list[dev]->diropen_r(r, handle, path); -+ -+ if ( dir == NULL ) { -+ free (handle); -+ handle = NULL; -+ } -+ } else { -+ r->_errno = ENOSR; -+ handle = NULL; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = ENODEV; -+ } -+ -+ return handle; -+} -+ -+static int __dirreset (DIR_ITER *dirState) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; -+ -+ if (dirState != NULL) { -+ dev = dirState->device; -+ -+ if(devoptab_list[dev]->dirreset_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirreset_r(r, dirState); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} -+ -+static int __dirnext (DIR_ITER *dirState, char *filename, struct stat *filestat) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; -+ -+ if (dirState != NULL) { -+ dev = dirState->device; -+ -+ if(devoptab_list[dev]->dirnext_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirnext_r(r, dirState, filename, filestat); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} -+ -+static int __dirclose (DIR_ITER *dirState) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; -+ -+ if (dirState != NULL) { -+ dev = dirState->device; -+ -+ if (devoptab_list[dev]->dirclose_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirclose_r (r, dirState); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ free (dirState); -+ } -+ return ret; -+} -+ -+DIR* opendir (const char *dirname) { -+ DIR* dirp = malloc (sizeof(DIR)); -+ if (!dirp) { -+ errno = ENOMEM; -+ return NULL; -+ } -+ -+ dirp->dirData = __diropen (dirname); -+ if (!dirp->dirData) { -+ free (dirp); -+ return NULL; -+ } -+ -+ dirp->position = 0; // 0th position means no file name has been returned yet -+ dirp->fileData.d_ino = -1; -+ dirp->fileData.d_name[0] = '\0'; -+ -+ return dirp; -+} -+ -+ -+int closedir (DIR *dirp) { -+ int res; -+ -+ if (!dirp) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ res = __dirclose (dirp->dirData); -+ free (dirp); -+ return res; -+} -+ -+ -+struct dirent* readdir (DIR *dirp) { -+ struct stat st; -+ char filename[NAME_MAX]; -+ int res; -+ int olderrno = errno; -+ -+ if (!dirp) { -+ errno = EBADF; -+ return NULL; -+ } -+ -+ res = __dirnext (dirp->dirData, filename, &st); -+ -+ if (res < 0) { -+ if (errno == ENOENT) { -+ // errno == ENONENT set by dirnext means it's end of directory -+ // But readdir should not touch errno in case of dir end -+ errno = olderrno; -+ } -+ return NULL; -+ } -+ -+ // We've moved forward in the directory -+ dirp->position += 1; -+ -+ if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { -+ errno = EOVERFLOW; -+ return NULL; -+ } -+ -+ strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); -+ dirp->fileData.d_ino = st.st_ino; -+ dirp->fileData.d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; -+ -+ return &(dirp->fileData); -+} -+ -+ -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { -+ struct stat st; -+ char filename[NAME_MAX]; -+ int res; -+ -+ if (!dirp) { -+ return EBADF; -+ } -+ -+ res = __dirnext (dirp->dirData, filename, &st); -+ -+ if (res < 0) { -+ res = errno; -+ *result = NULL; -+ if (errno == ENOENT) { -+ // errno == ENONENT set by dirnext means it's end of directory -+ // But readdir should not touch errno in case of dir end -+ res = 0; -+ } -+ return res; -+ } -+ -+ // We've moved forward in the directory -+ dirp->position += 1; -+ -+ if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { -+ errno = EOVERFLOW; -+ return EOVERFLOW; -+ } -+ -+ strncpy (entry->d_name, filename, sizeof(entry->d_name)); -+ entry->d_ino = st.st_ino; -+ entry->d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; -+ -+ *result = entry; -+ return 0; -+} -+ -+ -+void rewinddir (DIR *dirp) { -+ if (!dirp) { -+ return; -+ } -+ -+ __dirreset (dirp->dirData); -+ dirp->position = 0; -+} -+ -+ -+void seekdir(DIR *dirp, long int loc) { -+ char filename[NAME_MAX]; -+ -+ if (!dirp || loc < 0) { -+ return; -+ } -+ -+ if (dirp->position > loc) { -+ // The entry we want is before the one we have, -+ // so we have to start again from the begining -+ __dirreset (dirp->dirData); -+ dirp->position = 0; -+ } -+ -+ // Keep reading entries until we reach the one we want -+ while ((dirp->position < loc) && -+ (__dirnext (dirp->dirData, filename, NULL) >= 0)) -+ { -+ dirp->position += 1; -+ } -+} -+ -+ -+long int telldir(DIR *dirp) { -+ if (!dirp) { -+ return -1; -+ } -+ -+ return dirp->position; -+} -diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c -new file mode 100644 -index 000000000..1c485b26f ---- /dev/null -+++ b/libgloss/libsysbase/environ.c -@@ -0,0 +1,6 @@ -+/* -+ * Version of environ for no OS. -+ */ -+ -+char *__env[1] = { 0 }; -+char **environ = __env; -diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c -new file mode 100644 -index 000000000..82e70139f ---- /dev/null -+++ b/libgloss/libsysbase/execve.c -@@ -0,0 +1,30 @@ -+/* -+ * Stub version of execve. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _execve_r( -+ struct _reent *r, -+ char *name, -+ char **argv, -+ char **env) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _execve( -+ char *name, -+ char **argv, -+ char **env) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ r->_errno = ENOSYS; -+ return -1; -+} -+ -diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c -new file mode 100644 -index 000000000..5c5831cdf ---- /dev/null -+++ b/libgloss/libsysbase/fchmod.c -@@ -0,0 +1,31 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#include -+ -+int fchmod(int fd, mode_t mode) { -+ int ret = -1, dev; -+ struct _reent *r = _REENT; -+ -+ if(fd!=-1) { -+ -+ __handle *handle = __get_handle(fd); -+ -+ if ( handle != NULL) { -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->fchmod_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fchmod_r(r,handle->fileStruct,mode); -+ } else -+ r->_errno=ENOSYS; -+ } -+ } -+ return ret; -+} -diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c -new file mode 100644 -index 000000000..c6b8c92ad ---- /dev/null -+++ b/libgloss/libsysbase/flock.c -@@ -0,0 +1,21 @@ -+#include -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#ifndef REENTRANT_SYSCALLS_PROVIDED -+#include -+#endif -+#include -+#include -+ -+void __flockfile(FILE *fp) -+{ -+ __lock_acquire_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); -+} -+ -+void __funlockfile(FILE *fp) -+{ -+ __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); -+} -diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c -new file mode 100644 -index 000000000..efb6a3496 ---- /dev/null -+++ b/libgloss/libsysbase/fork.c -@@ -0,0 +1,21 @@ -+/* -+ * Stub version of fork. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _fork_r (struct _reent * r) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _fork(void) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ r->_errno = ENOSYS; -+ return -1; -+} -diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c -new file mode 100644 -index 000000000..e32b06755 ---- /dev/null -+++ b/libgloss/libsysbase/fstat.c -@@ -0,0 +1,44 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _fstat_r( -+ struct _reent * r, -+ int fileDesc, -+ struct stat *st) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _fstat( -+ int fileDesc, -+ struct stat *st) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->fstat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fstat_r(r,handle->fileStruct,st); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} -diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c -new file mode 100644 -index 000000000..fb06cb6d1 ---- /dev/null -+++ b/libgloss/libsysbase/fsync.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+int fsync(int fileDesc ) { -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ struct _reent *r = _REENT; -+ -+ __handle * handle; -+ -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) { -+ errno = EINVAL; -+ return ret; -+ } -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->fsync_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fsync_r(r, handle->fileStruct); -+ } else -+ r->_errno=ENOSYS; -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c -new file mode 100644 -index 000000000..2cc03a3d9 ---- /dev/null -+++ b/libgloss/libsysbase/ftruncate.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+int ftruncate(int fileDesc, off_t len) { -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ struct _reent *r = _REENT; -+ -+ __handle * handle; -+ -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) { -+ r->_errno = EINVAL; -+ return ret; -+ } -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->ftruncate_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); -+ } else -+ r->_errno=ENOSYS; -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c -new file mode 100644 -index 000000000..fdce14b5f ---- /dev/null -+++ b/libgloss/libsysbase/getpid.c -@@ -0,0 +1,19 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _getpid_r(struct _reent *ptr) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _getpid(void) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ ptr->_errno = ENOSYS; -+ return -1; -+} -+ -diff --git a/libgloss/libsysbase/getreent.c b/libgloss/libsysbase/getreent.c -new file mode 100644 -index 000000000..028d0eb77 ---- /dev/null -+++ b/libgloss/libsysbase/getreent.c -@@ -0,0 +1,20 @@ -+ -+/* default reentrant pointer when multithread enabled */ -+ -+#include <_ansi.h> -+#include -+#include -+ -+#ifdef __getreent -+#undef __getreent -+#endif -+ -+struct _reent *__getreent() { -+ if ( __syscalls.getreent ) { -+ return __syscalls.getreent(); -+ } else { -+ return _impure_ptr; -+ } -+} -+ -+ -diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c -new file mode 100644 -index 000000000..9d5b74724 ---- /dev/null -+++ b/libgloss/libsysbase/gettod.c -@@ -0,0 +1,33 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _gettimeofday_r( -+ struct _reent *ptr, -+ struct timeval *ptimeval, -+ void *ptimezone) -+{ -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _gettimeofday( -+ struct timeval *ptimeval, -+ void *ptimezone) -+{ -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ -+ if ( __syscalls.gettod_r ) return __syscalls.gettod_r(ptr, ptimeval, ptimezone); -+ -+ ptr->_errno = ENOSYS; -+ return -1; -+ -+} -+ -diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c -new file mode 100644 -index 000000000..f3fcc88f7 ---- /dev/null -+++ b/libgloss/libsysbase/handle_manager.c -@@ -0,0 +1,173 @@ -+#include -+#include -+#include -+ -+#include -+ -+#define MAX_HANDLES 1024 -+ -+static __handle __stdin_handle = {0, 1, NULL}; -+static __handle __stdout_handle = {1, 1, NULL}; -+static __handle __stderr_handle = {2, 1, NULL}; -+ -+static __handle* handles[MAX_HANDLES] = { -+ &__stdin_handle, -+ &__stdout_handle, -+ &__stderr_handle -+}; -+ -+__LOCK_INIT(static, __hndl_lock); -+ -+void __free_handle(__handle *handle) { -+ -+ if ( NULL != handle -+ && handle != &__stdin_handle -+ && handle != &__stdout_handle -+ && handle != &__stderr_handle ) { -+ -+ free(handle); -+ -+ } -+ -+} -+ -+void __release_handle(int fd) { -+ -+ if ( fd <0 || fd >= MAX_HANDLES ) return; -+ -+ __lock_acquire (__hndl_lock); -+ -+ __free_handle(handles[fd]); -+ handles[fd] = NULL; -+ -+ __lock_release (__hndl_lock); -+ -+} -+ -+int __alloc_handle(int device) { -+ -+ int i, ret = -1; -+ -+ __lock_acquire (__hndl_lock); -+ -+ for ( i = 0; i < MAX_HANDLES; i++ ) { -+ if ( handles[i] == NULL ) break; -+ } -+ -+ size_t size = sizeof(__handle) + devoptab_list[device]->structSize; -+ -+ if ( i < MAX_HANDLES ) { -+ handles[i] = malloc(size); -+ __handle *handle = handles[i]; -+ if ( NULL != handles[i] ) { -+ -+ handles[i]->refcount = 1; -+ ret = i; -+ handles[i]->device = device; -+ handles[i]->fileStruct = (void *)&handle[1]; -+ -+ } else { -+ -+ errno = ENOMEM; -+ -+ } -+ } else { -+ -+ errno = ENFILE; -+ -+ } -+ -+ __lock_release (__hndl_lock); -+ -+ return ret; -+} -+ -+__handle *__get_handle(int fd) { -+ -+ if ( fd < 0 || fd >= MAX_HANDLES ) return NULL; -+ -+ return handles[fd]; -+ -+} -+ -+int dup(int oldfd) { -+ int i, ret =-1; -+ -+ __lock_acquire (__hndl_lock); -+ -+ if (handles[oldfd]==NULL) { -+ __lock_release (__hndl_lock); -+ errno = EBADF; -+ return -1; -+ } -+ -+ -+ for ( i = 0; i < MAX_HANDLES; i++ ) { -+ if ( handles[i] == NULL ) break; -+ } -+ -+ if (irefcount++; -+ ret = i; -+ } -+ __lock_release (__hndl_lock); -+ -+ return ret; -+ -+} -+ -+int dup2(int oldfd, int newfd) { -+ -+ -+ __lock_acquire (__hndl_lock); -+ -+ if ( newfd < 0 || newfd >= MAX_HANDLES || -+ -+ oldfd < 0 || oldfd >= MAX_HANDLES || -+ handles[oldfd] == NULL ) { -+ -+ __lock_release (__hndl_lock); -+ errno = EBADF; -+ -+ return -1; -+ } -+ -+ if ( newfd == oldfd ) { -+ __lock_release (__hndl_lock); -+ return newfd; -+ } -+ -+ -+ __handle *handle = handles[newfd]; -+ -+ if ( NULL != handle ) { -+ -+ handle->refcount--; -+ -+ } -+ -+ handles[newfd] = handles[oldfd]; -+ handles[newfd]->refcount++; -+ -+ __lock_release (__hndl_lock); -+ -+ if ( NULL != handle ) { -+ -+ if (handle->refcount == 0 ) { -+ -+ if( devoptab_list[handle->device]->close_r != NULL) { -+ -+ devoptab_list[handle->device]->close_r(_REENT,handle->fileStruct); -+ -+ } else { -+ -+ __free_handle(handle); -+ -+ } -+ } -+ } -+ -+ return newfd; -+ -+} -diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c -new file mode 100644 -index 000000000..948c6ef93 ---- /dev/null -+++ b/libgloss/libsysbase/iosupport.c -@@ -0,0 +1,140 @@ -+#include -+#include -+#include -+#include -+ -+static int defaultDevice = -1; -+ -+//--------------------------------------------------------------------------------- -+void setDefaultDevice( int device ) { -+//--------------------------------------------------------------------------------- -+ -+ if ( device >2 && device <= STD_MAX) -+ defaultDevice = device; -+} -+ -+//--------------------------------------------------------------------------------- -+static ssize_t null_write(struct _reent *r,void *fd,const char *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ return len; -+} -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t dotab_stdnull = { -+//--------------------------------------------------------------------------------- -+ "stdnull", // device name -+ 0, // size of file structure -+ NULL, // device open -+ NULL, // device close -+ null_write, // device write -+ NULL, // device read -+ NULL, // device seek -+ NULL, // device fstat -+ NULL, // device stat -+ NULL, // device link -+ NULL, // device unlink -+ NULL, // device chdir -+ NULL, // device rename -+ NULL, // device mkdir -+ 0, // dirStateSize -+ NULL, // device diropen_r -+ NULL, // device dirreset_r -+ NULL, // device dirnext_r -+ NULL, // device dirclose_r -+ NULL, // device statvfs_r -+ NULL, // device ftruncate_r -+ NULL, // device fsync_r -+ NULL, // deviceData -+ NULL, // chmod_r -+ NULL, // fchmod_r -+ NULL, // rmdir_r -+ NULL, // lstat_r -+ NULL, // utimes_r -+}; -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t *devoptab_list[STD_MAX] = { -+//--------------------------------------------------------------------------------- -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull -+}; -+ -+//--------------------------------------------------------------------------------- -+int FindDevice(const char* name) { -+//--------------------------------------------------------------------------------- -+ int i = 0, namelen, dev_namelen, dev = -1; -+ char *separator; -+ -+ separator = strchr(name, ':'); -+ -+ if (separator == NULL) return defaultDevice; -+ -+ dev_namelen = separator - name; -+ -+ while(iname); -+ if(dev_namelen == namelen && strncmp(devoptab_list[i]->name,name,namelen)==0 ) { -+ if ( name[namelen] == ':' || (isdigit(name[namelen]) && name[namelen+1] ==':' )) { -+ dev = i; -+ break; -+ } -+ } -+ } -+ i++; -+ } -+ -+ return dev; -+} -+ -+//--------------------------------------------------------------------------------- -+int RemoveDevice( const char* name) { -+//--------------------------------------------------------------------------------- -+ int dev = FindDevice(name); -+ -+ if ( -1 != dev ) { -+ devoptab_list[dev] = &dotab_stdnull; -+ return 0; -+ } -+ -+ return -1; -+ -+} -+ -+//--------------------------------------------------------------------------------- -+int AddDevice( const devoptab_t* device) { -+//--------------------------------------------------------------------------------- -+ -+ int devnum; -+ -+ for ( devnum = 3;devnum name, device->name) && -+ strlen(devoptab_list[devnum]->name) == strlen(device->name) ) || -+ !strcmp(devoptab_list[devnum]->name, "stdnull") -+ ) -+ break; -+ } -+ -+ if ( devnum == STD_MAX ) { -+ devnum = -1; -+ } else { -+ devoptab_list[devnum] = device; -+ } -+ return devnum; -+} -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t* GetDeviceOpTab (const char *name) { -+//--------------------------------------------------------------------------------- -+ int dev = FindDevice(name); -+ if (dev >= 0 && dev < STD_MAX) { -+ return devoptab_list[dev]; -+ } else { -+ return NULL; -+ } -+} -+ -+ -diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c -new file mode 100644 -index 000000000..280a4579a ---- /dev/null -+++ b/libgloss/libsysbase/isatty.c -@@ -0,0 +1,17 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _isatty_r( struct _reent *ptr, int file) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _isatty(int file) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ return 0; -+} -diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c -new file mode 100644 -index 000000000..13bd0fba1 ---- /dev/null -+++ b/libgloss/libsysbase/kill.c -@@ -0,0 +1,21 @@ -+/* -+ * Stub version of kill. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _kill_r( -+ struct _reent *ptr, -+ int pid, -+ int sig) { -+#else -+int _kill(int pid, int sig) { -+ struct _reent *ptr = _REENT; -+#endif -+ ptr->_errno = ENOSYS; -+ return -1; -+} -diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c -new file mode 100644 -index 000000000..1675e5c24 ---- /dev/null -+++ b/libgloss/libsysbase/link.c -@@ -0,0 +1,33 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _link_r(struct _reent *r, const char *existing, const char *new) { -+#else -+int _link(const char *existing, const char *new) { -+ struct _reent *r = _REENT; -+#endif -+ int ret; -+ int sourceDev = FindDevice(existing); -+ int destDev = FindDevice(new); -+ -+ ret = -1; -+ -+ if ( sourceDev == destDev) { -+ if (devoptab_list[destDev]->link_r) { -+ r->deviceData = devoptab_list[destDev]->deviceData; -+ ret = devoptab_list[destDev]->link_r( r, existing, new); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = EXDEV; -+ } -+ -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c -new file mode 100644 -index 000000000..eb232c86b ---- /dev/null -+++ b/libgloss/libsysbase/lseek.c -@@ -0,0 +1,45 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#include -+ -+#include -+ -+//--------------------------------------------------------------------------------- -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+_off_t _lseek_r(struct _reent * r, int fileDesc, _off_t pos, int dir) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_off_t _lseek(int fileDesc, _off_t pos, int dir) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+//--------------------------------------------------------------------------------- -+#endif -+//--------------------------------------------------------------------------------- -+ _off_t ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle; -+ -+ if(fileDesc!=-1) { -+ -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->seek_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->seek_r( r, handle->fileStruct, pos, dir); -+ } else -+ r->_errno=ENOSYS; -+ -+ } -+ return ret; -+ -+} -diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c -new file mode 100644 -index 000000000..fc393430b ---- /dev/null -+++ b/libgloss/libsysbase/lstat.c -@@ -0,0 +1,31 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+ -+//--------------------------------------------------------------------------------- -+int lstat (const char *__restrict __path, struct stat *__restrict __buf ) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+ int dev,ret; -+ -+ dev = FindDevice(__path); -+ -+ if(dev!=-1) { -+ if (devoptab_list[dev]->lstat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->lstat_r(r,__path,__buf); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ ret = -1; -+ r->_errno = ENODEV; -+ } -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c -new file mode 100644 -index 000000000..456590956 ---- /dev/null -+++ b/libgloss/libsysbase/malloc_vars.c -@@ -0,0 +1,2 @@ -+char *fake_heap_end = (char*)0; -+char *fake_heap_start = (char*)0; -diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c -new file mode 100644 -index 000000000..b4fcbd3d7 ---- /dev/null -+++ b/libgloss/libsysbase/mkdir.c -@@ -0,0 +1,19 @@ -+#include -+#include -+#include -+ -+int mkdir (const char *path, mode_t mode) { -+ struct _reent *r = _REENT; -+ int ret; -+ int dev = FindDevice(path); -+ ret = -1; -+ -+ if (devoptab_list[dev]->mkdir_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->mkdir_r(r, path, mode); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c -new file mode 100644 -index 000000000..3c96fc61b ---- /dev/null -+++ b/libgloss/libsysbase/nanosleep.c -@@ -0,0 +1,14 @@ -+#include -+#include -+#include -+ -+int nanosleep(const struct timespec *req, struct timespec *rem) -+{ -+ if ( __syscalls.nanosleep ) { -+ return __syscalls.nanosleep(req, rem); -+ } else { -+ *rem = *req; -+ errno = ENOSYS; -+ return -1; -+ } -+} -diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c -new file mode 100644 -index 000000000..f8d98fd3b ---- /dev/null -+++ b/libgloss/libsysbase/open.c -@@ -0,0 +1,53 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _open_r(struct _reent * r, const char *file, int flags, int mode) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _open(struct _reent * r, const char *file, int flags, int mode) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ __handle *handle; -+ int dev, fd, ret; -+ -+ dev = FindDevice(file); -+ -+ fd = -1; -+ if(dev!=-1) { -+ if (devoptab_list[dev]->open_r) { -+ fd = __alloc_handle(dev); -+ -+ if ( -1 != fd ) { -+ handle = __get_handle(fd); -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, flags, mode); -+ -+ if ( ret == -1 ) { -+ __release_handle(fd); -+ fd = -1; -+ } -+ } else { -+ r->_errno = ENOSR; -+ } -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return fd; -+} -diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c -new file mode 100644 -index 000000000..838a8c796 ---- /dev/null -+++ b/libgloss/libsysbase/read.c -@@ -0,0 +1,39 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+_ssize_t _read_r(struct _reent *r, int fileDesc, void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_ssize_t _read(int fileDesc, void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->read_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->read_r(r,handle->fileStruct,ptr,len); -+ } else -+ r->_errno=ENOSYS; -+ } -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c -new file mode 100644 -index 000000000..97a056a72 ---- /dev/null -+++ b/libgloss/libsysbase/rename.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _rename_r(struct _reent *ptr, const char *existing, const char *newName) -+{ -+#else -+int rename(const char *existing, const char *newName) -+{ -+ struct _reent *ptr = _REENT; -+#endif -+ struct _reent *r = _REENT; -+ -+ int ret; -+ int sourceDev = FindDevice(existing); -+ int destDev = FindDevice(newName); -+ -+ ret = -1; -+ -+ if ( sourceDev == destDev) { -+ if (devoptab_list[destDev]->rename_r) { -+ r->deviceData = devoptab_list[destDev]->deviceData; -+ ret = devoptab_list[destDev]->rename_r( r, existing, newName); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = EXDEV; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c -new file mode 100644 -index 000000000..2692a2997 ---- /dev/null -+++ b/libgloss/libsysbase/rmdir.c -@@ -0,0 +1,25 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+int rmdir (const char *name) { -+ struct _reent *r = _REENT; -+ int dev,ret=-1; -+ -+ dev = FindDevice(name); -+ if(dev!=-1) { -+ if(devoptab_list[dev]->rmdir_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->rmdir_r(r,name); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = ENODEV; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c -new file mode 100644 -index 000000000..5dd550c5c ---- /dev/null -+++ b/libgloss/libsysbase/sbrk.c -@@ -0,0 +1,60 @@ -+#include "config.h" -+#include <_ansi.h> -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+ -+extern char *fake_heap_end; -+extern char *fake_heap_start; -+ -+/* Register name faking - works in collusion with the linker. */ -+register char * stack_ptr asm ("sp"); -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+void * _sbrk_r (struct _reent *ptr, ptrdiff_t incr) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+caddr_t _sbrk (int incr) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ extern char end asm ("__end__"); /* Defined by the linker. */ -+ static char * heap_start; -+ -+ char * prev_heap_start; -+ char * heap_end; -+ -+ if (heap_start == NULL) { -+ if (fake_heap_start == NULL) { -+ heap_start = &end; -+ } else { -+ heap_start = fake_heap_start; -+ } -+ } -+ -+ prev_heap_start = heap_start; -+ -+ if (fake_heap_end == NULL) { -+ heap_end = stack_ptr; -+ } else { -+ heap_end = fake_heap_end; -+ } -+ -+ if (heap_start + incr > heap_end) { -+ ptr->_errno = ENOMEM; -+ return (caddr_t) -1; -+ } -+ -+ heap_start += incr; -+ return (caddr_t) prev_heap_start; -+} -diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c -new file mode 100644 -index 000000000..1333df4b2 ---- /dev/null -+++ b/libgloss/libsysbase/scandir.c -@@ -0,0 +1,74 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* -+ * The DIRSIZ macro gives the minimum record length which will hold -+ * the directory entry. This requires the amount of space in struct dirent -+ * without the d_name field, plus enough space for the name with a terminating -+ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. -+ */ -+#undef DIRSIZ -+#ifdef _DIRENT_HAVE_D_NAMLEN -+#define DIRSIZ(dp) \ -+ (offsetof (struct dirent, d_name) + (((dp)->d_namlen+1 + 3) &~ 3)) -+#else -+#define DIRSIZ(dp) \ -+ (offsetof (struct dirent, d_name) + ((strlen((dp)->d_name)+1 + 3) &~ 3)) -+#endif -+ -+int -+scandir (const char *dirname, -+ struct dirent ***namelist, -+ int (*filter) __P((const struct dirent *)), -+ int (*compar) __P((const struct dirent **, const struct dirent **))) -+{ -+ DIR *d = opendir(dirname); -+ -+ if (!d) return -1; -+ -+ struct dirent *de, **names = NULL, **tmp; -+ size_t cnt = 0, len = 0; -+ -+ while (de = readdir(d)) { -+ if (filter && ! filter(de)) continue; -+ if (cnt >= len) { -+ len = 2*len+1; -+ if (len > SIZE_MAX/sizeof(*names)) break; -+ tmp = realloc(names, len * sizeof(*names)); -+ if (!tmp) break; -+ names = tmp; -+ } -+ names[cnt] = malloc(DIRSIZ(de)); -+ if (!names[cnt]) break; -+ memcpy(names[cnt++], de, DIRSIZ(de)); -+ } -+ -+ closedir(d); -+ -+ if(errno) { -+ if (names) while(cnt-- > 0) free(names[cnt]); -+ free(names); -+ return -1; -+ } -+ -+ if (compar) qsort(names, cnt, sizeof(*names), (int (*)(const void *, const void *))compar); -+ -+ *namelist = names; -+ return cnt; -+} -+ -+/* -+ * Alphabetic order comparison routine for those who want it. -+ */ -+int -+alphasort (const struct dirent **d1, -+ const struct dirent **d2) -+{ -+ return(strcmp((*d1)->d_name, (*d2)->d_name)); -+} -+ -diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c -new file mode 100644 -index 000000000..f3aa97954 ---- /dev/null -+++ b/libgloss/libsysbase/sleep.c -@@ -0,0 +1,18 @@ -+/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ -+ -+/* Written 2000 by Werner Almesberger */ -+ -+#include -+#include -+#include -+ -+unsigned sleep(unsigned seconds) -+{ -+ struct timespec ts; -+ -+ ts.tv_sec = seconds; -+ ts.tv_nsec = 0; -+ if (!nanosleep(&ts,&ts)) return 0; -+ if (errno == EINTR) return ts.tv_sec; -+ return -1; -+} -diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c -new file mode 100644 -index 000000000..d0ad00202 ---- /dev/null -+++ b/libgloss/libsysbase/stat.c -@@ -0,0 +1,38 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _stat_r(struct _reent * r, const char *file, struct stat *st) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _stat(const char *file, struct stat *st) { -+{ -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int dev,ret; -+ -+ dev = FindDevice(file); -+ -+ if(dev!=-1) { -+ if (devoptab_list[dev]->stat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->stat_r(r,file,st); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ ret = -1; -+ r->_errno = ENODEV; -+ } -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c -new file mode 100644 -index 000000000..84e221340 ---- /dev/null -+++ b/libgloss/libsysbase/statvfs.c -@@ -0,0 +1,24 @@ -+#include -+#include -+#include -+ -+ -+int statvfs(const char *path, struct statvfs *buf) { -+ struct _reent *r = _REENT; -+ -+ int ret; -+ int device = FindDevice(path); -+ -+ ret = -1; -+ -+ if ( device != -1 && devoptab_list[device]->statvfs_r) { -+ -+ r->deviceData = devoptab_list[device]->deviceData; -+ ret = devoptab_list[device]->statvfs_r(r, path, buf ); -+ -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c -new file mode 100644 -index 000000000..53fead72a ---- /dev/null -+++ b/libgloss/libsysbase/syscall_support.c -@@ -0,0 +1,103 @@ -+#include -+ -+//--------------------------------------------------------------------------------- -+__syscalls_t __syscalls = { -+//--------------------------------------------------------------------------------- -+ NULL, // sbrk -+ NULL, // exit -+ NULL, // gettod_r -+ NULL, // lock_init -+ NULL, // lock_acquire -+ NULL, // lock_try_acquire -+ NULL, // lock_release -+ NULL, // lock_close -+ NULL, // lock_init_recursive -+ NULL, // lock_acquire_recursive -+ NULL, // lock_try_acquire_recursive -+ NULL, // lock_release_recursive -+ NULL, // lock_close_recursive -+ NULL, // __getreent -+ NULL, // clock_gettime -+ NULL, // clock_settime -+ NULL, // clock_getres -+ NULL, // nanosleep -+}; -+ -+void __libc_lock_init(_LOCK_T *lock) { -+ -+ if ( __syscalls.lock_init ) { -+ __syscalls.lock_init(lock); -+ } -+ -+} -+ -+void __libc_lock_acquire(_LOCK_T *lock ) { -+ -+ if ( __syscalls.lock_acquire) { -+ __syscalls.lock_acquire(lock); -+ } -+} -+ -+int __libc_lock_try_acquire(_LOCK_T *lock ) { -+ -+ if ( __syscalls.lock_acquire) { -+ return __syscalls.lock_try_acquire(lock); -+ } else { -+ return 0; -+ } -+} -+ -+void __libc_lock_release(_LOCK_T *lock ) { -+ -+ if ( __syscalls.lock_release) { -+ __syscalls.lock_release(lock); -+ } -+} -+ -+void __libc_lock_close(_LOCK_T *lock ) { -+ -+ if ( __syscalls.lock_close) { -+ __syscalls.lock_close(lock); -+ } -+} -+ -+ -+ -+void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { -+ -+ if ( __syscalls.lock_init_recursive ) { -+ __syscalls.lock_init_recursive(lock); -+ } -+ -+} -+ -+void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { -+ -+ if ( __syscalls.lock_acquire_recursive) { -+ __syscalls.lock_acquire_recursive(lock); -+ } -+} -+ -+int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { -+ -+ if ( __syscalls.lock_acquire_recursive) { -+ return __syscalls.lock_try_acquire_recursive(lock); -+ } else { -+ return 0; -+ } -+} -+ -+void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { -+ -+ if ( __syscalls.lock_release_recursive) { -+ __syscalls.lock_release_recursive(lock); -+ } -+} -+ -+void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { -+ -+ if ( __syscalls.lock_close_recursive) { -+ __syscalls.lock_close_recursive(lock); -+ } -+} -+ -diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c -new file mode 100644 -index 000000000..79484e7f4 ---- /dev/null -+++ b/libgloss/libsysbase/times.c -@@ -0,0 +1,17 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+clock_t _times_r(struct _reent *r, struct tms *ptms) { -+#else -+clock_t _times(struct tms *buf) { -+ -+ struct _reent *r = _REENT; -+#endif -+ r->_errno = ENOSYS; -+ return (clock_t)-1; -+} -+ -diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c -new file mode 100644 -index 000000000..849525990 ---- /dev/null -+++ b/libgloss/libsysbase/truncate.c -@@ -0,0 +1,54 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+int truncate(const char *file, off_t len) -+{ -+ -+ __handle *handle; -+ int dev, fd, ret; -+ -+ struct _reent * r = _REENT; -+ -+ dev = FindDevice(file); -+ -+ if(dev!=-1 && devoptab_list[dev]->open_r && devoptab_list[dev]->close_r && -+ devoptab_list[dev]->ftruncate_r) -+ { -+ -+ fd = __alloc_handle(dev); -+ -+ if ( -1 != fd ) { -+ handle = __get_handle(fd); -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, O_WRONLY, 0); -+ -+ if ( ret < 0 ) { -+ __release_handle(fd); -+ return ret; -+ } -+ -+ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); -+ -+ if (ret >= 0) { -+ ret = devoptab_list[dev]->close_r(r, handle->fileStruct); -+ } else { -+ // Close it anyway, we don't want to leak memory -+ devoptab_list[dev]->close_r(r, handle->fileStruct); -+ } -+ } else { -+ r->_errno = ENOSR; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c -new file mode 100644 -index 000000000..7920b79ac ---- /dev/null -+++ b/libgloss/libsysbase/unlink.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _unlink_r(struct _reent * r, const char *name ) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _unlink_r(const char *name ) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int dev,ret=-1; -+ -+ dev = FindDevice(name); -+ if(dev<0) { -+ r->_errno = ENODEV; -+ } else { -+ if (devoptab_list[dev]->unlink_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->unlink_r(r,name); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } -+ -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c -new file mode 100644 -index 000000000..b54714775 ---- /dev/null -+++ b/libgloss/libsysbase/usleep.c -@@ -0,0 +1,18 @@ -+/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ -+ -+/* Written 2000 by Werner Almesberger */ -+ -+#include -+#include -+#include -+ -+int usleep(useconds_t useconds) -+{ -+ struct timespec ts; -+ -+ ts.tv_sec = (long int)useconds / 1000000; -+ ts.tv_nsec = ((long int)useconds % 1000000) * 1000; -+ if (!nanosleep(&ts,&ts)) return 0; -+ if (errno == EINTR) return ts.tv_sec; -+ return -1; -+} -diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c -new file mode 100644 -index 000000000..f72bf9fc6 ---- /dev/null -+++ b/libgloss/libsysbase/utime.c -@@ -0,0 +1,45 @@ -+#include "config.h" -+ -+#include -+#include -+#include -+#include -+#include -+ -+int utimes(const char *filename, const struct timeval times[2]) -+{ -+ struct _reent *r = _REENT; -+ int dev,ret; -+ -+ dev = FindDevice(filename); -+ -+ if(dev!=-1) { -+ if (devoptab_list[dev]->utimes_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->utimes_r(r,filename,times); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ ret = -1; -+ r->_errno = ENODEV; -+ } -+ return ret; -+ -+ -+ -+} -+ -+ -+int utime(const char *filename, const struct utimbuf *times) -+{ -+ struct timeval t[2]; -+ if (times) { -+ t[0].tv_sec = times->actime; -+ t[0].tv_usec = 0; -+ t[1].tv_sec = times->modtime; -+ t[1].tv_usec = 0; -+ } -+ -+ return utimes(filename, t); -+} -diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c -new file mode 100644 -index 000000000..247486e42 ---- /dev/null -+++ b/libgloss/libsysbase/wait.c -@@ -0,0 +1,24 @@ -+/* -+ * Stub version of wait. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+//--------------------------------------------------------------------------------- -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _wait_r(struct _reent *r, int *status) { -+#else -+//--------------------------------------------------------------------------------- -+int -+int _wait_r(int *status) { -+ struct _reent *r = _REENT; -+#endif -+//--------------------------------------------------------------------------------- -+ r->_errno = ENOSYS; -+ return -1; -+} -+ -diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h -new file mode 100644 -index 000000000..2c2998250 ---- /dev/null -+++ b/libgloss/libsysbase/warning.h -@@ -0,0 +1,43 @@ -+#ifndef __WARNING_H__ -+#define __WARNING_H__ -+ -+#ifdef HAVE_GNU_LD -+# ifdef HAVE_ELF -+ -+/* We want the .gnu.warning.SYMBOL section to be unallocated. */ -+# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE -+# define __make_section_unallocated(section_string) \ -+ asm(".section " section_string "; .previous"); -+# elif defined (HAVE_ASM_POPSECTION_DIRECTIVE) -+# define __make_section_unallocated(section_string) \ -+ asm(".pushsection " section_string "; .popsection"); -+# else -+# define __make_section_unallocated(section_string) -+# endif -+ -+# ifdef HAVE_SECTION_ATTRIBUTES -+# define link_warning(symbol, msg) \ -+ __make_section_unallocated (".gnu.warning." #symbol) \ -+ static const char __evoke_link_warning_##symbol[] \ -+ __attribute__ ((section (".gnu.warning." #symbol))) = msg; -+# else -+# define link_warning(symbol, msg) -+# endif -+ -+#else /* !ELF */ -+ -+# define link_warning(symbol, msg) \ -+ asm(".stabs \"" msg "\",30,0,0,0\n" \ -+ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); -+# endif -+#else /* !GNULD */ -+/* We will never be heard; they will all die horribly. */ -+# define link_warning(symbol, msg) -+#endif -+ -+/* A canned warning for sysdeps/stub functions. */ -+#define stub_warning(name) \ -+ link_warning (name, \ -+ "warning: " #name " is not implemented and will always fail") -+ -+#endif /* __WARNING_H__ */ -diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c -new file mode 100644 -index 000000000..61de918bc ---- /dev/null -+++ b/libgloss/libsysbase/write.c -@@ -0,0 +1,38 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+_ssize_t _write_r(struct _reent * r, int fileDesc, const void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_ssize_t _write(int fileDesc, const void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->write_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->write_r(r,handle->fileStruct,ptr,len); -+ } else -+ r->_errno=ENOSYS; -+ } -+ return ret; -+} -diff --git a/newlib/configure.host b/newlib/configure.host -index eb645868b..d536e0daa 100644 ---- a/newlib/configure.host -+++ b/newlib/configure.host -@@ -624,13 +624,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID - syscall_dir=syscalls - ;; - aarch64*-*-*) -+ default_newlib_io_c99_formats="yes" - default_newlib_io_long_long="yes" -+ default_newlib_io_pos_args="yes" -+ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" -+ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" - syscall_dir=syscalls - ;; - arc*-*-*) - syscall_dir=syscalls - default_newlib_io_long_long="yes" - ;; -+ arm*-*-eabi) -+ default_newlib_io_c99_formats="yes" -+ default_newlib_io_long_long="yes" -+ default_newlib_io_pos_args="yes" -+ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" -+ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" -+ syscall_dir=syscalls -+ ;; - arm*-*-pe) - syscall_dir=syscalls - ;; -diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 2082dfdb1..e535f189b 100644 ---- a/newlib/libc/include/sys/config.h -+++ b/newlib/libc/include/sys/config.h -@@ -4,6 +4,9 @@ - #include /* floating point macros */ - #include /* POSIX defs */ - -+/* we want the reentrancy structure to be returned by a function */ -+#define __DYNAMIC_REENT__ -+ - #ifdef __aarch64__ - #define MALLOC_ALIGNMENT 16 - #endif -diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c02c..79df5cf61 100644 ---- a/newlib/libc/include/sys/dirent.h -+++ b/newlib/libc/include/sys/dirent.h -@@ -1,13 +1,65 @@ - /* includes , which is this file. On a - system which supports , this file is overridden by - dirent.h in the libc/sys/.../sys directory. On a system which does -- not support , we will get this file which uses #error to force -- an error. */ -+ not support , we will get this file -+*/ -+ -+#ifndef _dirent_h_ -+#define _dirent_h_ -+ -+#include -+#include -+ -+#define DT_UNKNOWN 0 -+#define DT_FIFO 1 -+#define DT_CHR 2 -+#define DT_DIR 4 -+#define DT_BLK 6 -+#define DT_REG 8 -+#define DT_LNK 10 -+#define DT_SOCK 12 -+#define DT_WHT 14 -+ -+#define _DIRENT_HAVE_D_TYPE - - #ifdef __cplusplus - extern "C" { - #endif --#error " not supported" -+ -+struct dirent { -+ ino_t d_ino; -+ unsigned char d_type; -+ char d_name[NAME_MAX+1]; -+}; -+ -+/* Directory iterator for mantaining state between dir* calls */ -+typedef struct { -+ int device; -+ void *dirStruct; -+} DIR_ITER; -+ -+typedef struct { -+ long int position; -+ DIR_ITER* dirData; -+ struct dirent fileData; -+} DIR; -+ -+int closedir(DIR *dirp); -+DIR *opendir(const char *dirname); -+struct dirent *readdir(DIR *dirp); -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -+void rewinddir(DIR *dirp); -+void seekdir(DIR *dirp, long int loc); -+long int telldir(DIR *dirp); -+ -+int scandir(const char *dirp, struct dirent ***namelist, -+ int (*filter)(const struct dirent *), -+ int (*compar)(const struct dirent **, const struct dirent **)); -+ -+int alphasort(const struct dirent **a, const struct dirent **b); -+ - #ifdef __cplusplus - } - #endif -+ -+#endif // _dirent_h_ -diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 2900b332f..6efb54eb3 100644 ---- a/newlib/libc/include/sys/features.h -+++ b/newlib/libc/include/sys/features.h -@@ -330,6 +330,9 @@ extern "C" { - # define __SSP_FORTIFY_LEVEL 0 - #endif - -+#define _POSIX_MONOTONIC_CLOCK 200112L -+#define _POSIX_TIMERS 1 -+ - /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ - - #ifdef __rtems__ -diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h -new file mode 100644 -index 000000000..e177ccf8e ---- /dev/null -+++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,106 @@ -+//--------------------------------------------------------------------------------- -+#ifndef __iosupp_h__ -+#define __iosupp_h__ -+//--------------------------------------------------------------------------------- -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+#include -+#include -+#include -+#include -+ -+enum { -+ STD_IN, -+ STD_OUT, -+ STD_ERR, -+ STD_MAX = 16 -+}; -+ -+typedef struct { -+ unsigned int device; -+ unsigned int refcount; -+ void *fileStruct; -+} __handle; -+ -+typedef struct { -+ const char *name; -+ size_t structSize; -+ int (*open_r)(struct _reent *r, void *fileStruct, const char *path, int flags, int mode); -+ int (*close_r)(struct _reent *r, void *fd); -+ ssize_t (*write_r)(struct _reent *r, void *fd, const char *ptr, size_t len); -+ ssize_t (*read_r)(struct _reent *r, void *fd, char *ptr, size_t len); -+ off_t (*seek_r)(struct _reent *r, void *fd, off_t pos, int dir); -+ int (*fstat_r)(struct _reent *r, void *fd, struct stat *st); -+ int (*stat_r)(struct _reent *r, const char *file, struct stat *st); -+ int (*link_r)(struct _reent *r, const char *existing, const char *newLink); -+ int (*unlink_r)(struct _reent *r, const char *name); -+ int (*chdir_r)(struct _reent *r, const char *name); -+ int (*rename_r) (struct _reent *r, const char *oldName, const char *newName); -+ int (*mkdir_r) (struct _reent *r, const char *path, int mode); -+ -+ size_t dirStateSize; -+ -+ DIR_ITER* (*diropen_r)(struct _reent *r, DIR_ITER *dirState, const char *path); -+ int (*dirreset_r)(struct _reent *r, DIR_ITER *dirState); -+ int (*dirnext_r)(struct _reent *r, DIR_ITER *dirState, char *filename, struct stat *filestat); -+ int (*dirclose_r)(struct _reent *r, DIR_ITER *dirState); -+ int (*statvfs_r)(struct _reent *r, const char *path, struct statvfs *buf); -+ int (*ftruncate_r)(struct _reent *r, void *fd, off_t len); -+ int (*fsync_r)(struct _reent *r, void *fd); -+ -+ void *deviceData; -+ -+ int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); -+ int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); -+ int (*rmdir_r)(struct _reent *r, const char *name); -+ int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); -+ int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); -+ -+} devoptab_t; -+ -+extern const devoptab_t *devoptab_list[]; -+ -+typedef struct { -+ void *(*sbrk_r) (struct _reent *ptr, ptrdiff_t incr); -+ void (*exit) ( int rc ); -+ int (*gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); -+ void (*lock_init) (_LOCK_T *lock); -+ void (*lock_acquire) (_LOCK_T *lock); -+ int (*lock_try_acquire) (_LOCK_T *lock); -+ void (*lock_release) (_LOCK_T *lock); -+ void (*lock_close) (_LOCK_T *lock); -+ void (*lock_init_recursive) (_LOCK_RECURSIVE_T *lock); -+ void (*lock_acquire_recursive) (_LOCK_RECURSIVE_T *lock); -+ int (*lock_try_acquire_recursive) (_LOCK_RECURSIVE_T *lock); -+ void (*lock_release_recursive) (_LOCK_RECURSIVE_T *lock); -+ void (*lock_close_recursive) (_LOCK_RECURSIVE_T *lock); -+ struct _reent *(*getreent) (); -+ int (*clock_gettime)(clockid_t clock_id, struct timespec *tp); -+ int (*clock_settime)(clockid_t clock_id, const struct timespec *tp); -+ int (*clock_getres)(clockid_t clock_id, struct timespec *res); -+ int (*nanosleep)(const struct timespec *req, struct timespec *rem); -+} __syscalls_t; -+ -+extern __syscalls_t __syscalls; -+ -+int AddDevice( const devoptab_t* device); -+int FindDevice(const char* name); -+int RemoveDevice(const char* name); -+void setDefaultDevice( int device ); -+const devoptab_t* GetDeviceOpTab (const char *name); -+ -+void __release_handle(int fd); -+int __alloc_handle(int device); -+__handle *__get_handle(int fd); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+//--------------------------------------------------------------------------------- -+#endif // __iosupp_h__ -+//--------------------------------------------------------------------------------- -diff --git a/newlib/libc/include/sys/lock.h b/newlib/libc/include/sys/lock.h -index 528904957..a755d6443 100644 ---- a/newlib/libc/include/sys/lock.h -+++ b/newlib/libc/include/sys/lock.h -@@ -1,69 +1,66 @@ - #ifndef __SYS_LOCK_H__ - #define __SYS_LOCK_H__ - --/* dummy lock routines for single-threaded aps */ -- --#include - #include <_ansi.h> -+#include -+ -+typedef int32_t _LOCK_T; -+ -+struct __lock_t { -+ _LOCK_T lock; -+ uint32_t thread_tag; -+ uint32_t counter; -+}; -+ -+typedef struct __lock_t _LOCK_RECURSIVE_T; -+ -+extern void __libc_lock_init(_LOCK_T *lock); -+extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_close(_LOCK_T *lock); -+extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_acquire(_LOCK_T *lock); -+extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_release(_LOCK_T *lock); -+extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); -+ -+/* Returns 0 for success and non-zero for failure */ -+extern int __libc_lock_try_acquire(_LOCK_T *lock); -+extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+ -+#define __LOCK_INIT(CLASS,NAME) \ -+CLASS _LOCK_T NAME = 0; -+ -+#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ -+CLASS _LOCK_RECURSIVE_T NAME = {0,0,0}; -+ -+#define __lock_init(NAME) \ -+ __libc_lock_init(&(NAME)) -+ -+#define __lock_init_recursive(NAME) \ -+ __libc_lock_init_recursive(&(NAME)) -+ -+#define __lock_close(NAME) \ -+ __libc_lock_close(&(NAME)) -+ -+#define __lock_close_recursive(NAME) \ -+ __libc_lock_close_recursive(&(NAME)) -+ -+#define __lock_acquire(NAME) \ -+ __libc_lock_acquire(&(NAME)) -+ -+#define __lock_acquire_recursive(NAME) \ -+ __libc_lock_acquire_recursive(&(NAME)) -+ -+#define __lock_try_acquire(NAME) \ -+ __libc_lock_try_acquire(&(NAME)) -+ -+#define __lock_try_acquire_recursive(NAME) \ -+ __libc_lock_try_acquire_recursive(&(NAME)) -+ -+#define __lock_release(NAME) \ -+ __libc_lock_release(&(NAME)) -+ -+#define __lock_release_recursive(NAME) \ -+ __libc_lock_release_recursive(&(NAME)) - --#if !defined(_RETARGETABLE_LOCKING) -- --typedef int _LOCK_T; --typedef int _LOCK_RECURSIVE_T; -- --#define __LOCK_INIT(class,lock) static int lock = 0; --#define __LOCK_INIT_RECURSIVE(class,lock) static int lock = 0; --#define __lock_init(lock) ((void) 0) --#define __lock_init_recursive(lock) ((void) 0) --#define __lock_close(lock) ((void) 0) --#define __lock_close_recursive(lock) ((void) 0) --#define __lock_acquire(lock) ((void) 0) --#define __lock_acquire_recursive(lock) ((void) 0) --#define __lock_try_acquire(lock) ((void) 0) --#define __lock_try_acquire_recursive(lock) ((void) 0) --#define __lock_release(lock) ((void) 0) --#define __lock_release_recursive(lock) ((void) 0) -- --#else -- --#ifdef __cplusplus --extern "C" { --#endif -- --struct __lock; --typedef struct __lock * _LOCK_T; --#define _LOCK_RECURSIVE_T _LOCK_T -- --#define __LOCK_INIT(class,lock) extern struct __lock __lock_ ## lock; \ -- class _LOCK_T lock = &__lock_ ## lock --#define __LOCK_INIT_RECURSIVE(class,lock) __LOCK_INIT(class,lock) -- --extern void __retarget_lock_init(_LOCK_T *lock); --#define __lock_init(lock) __retarget_lock_init(&lock) --extern void __retarget_lock_init_recursive(_LOCK_T *lock); --#define __lock_init_recursive(lock) __retarget_lock_init_recursive(&lock) --extern void __retarget_lock_close(_LOCK_T lock); --#define __lock_close(lock) __retarget_lock_close(lock) --extern void __retarget_lock_close_recursive(_LOCK_T lock); --#define __lock_close_recursive(lock) __retarget_lock_close_recursive(lock) --extern void __retarget_lock_acquire(_LOCK_T lock); --#define __lock_acquire(lock) __retarget_lock_acquire(lock) --extern void __retarget_lock_acquire_recursive(_LOCK_T lock); --#define __lock_acquire_recursive(lock) __retarget_lock_acquire_recursive(lock) --extern int __retarget_lock_try_acquire(_LOCK_T lock); --#define __lock_try_acquire(lock) __retarget_lock_try_acquire(lock) --extern int __retarget_lock_try_acquire_recursive(_LOCK_T lock); --#define __lock_try_acquire_recursive(lock) \ -- __retarget_lock_try_acquire_recursive(lock) --extern void __retarget_lock_release(_LOCK_T lock); --#define __lock_release(lock) __retarget_lock_release(lock) --extern void __retarget_lock_release_recursive(_LOCK_T lock); --#define __lock_release_recursive(lock) __retarget_lock_release_recursive(lock) -- --#ifdef __cplusplus --} --#endif -- --#endif /* !defined(_RETARGETABLE_LOCKING) */ -- --#endif /* __SYS_LOCK_H__ */ -+#endif // __SYS_LOCK_H__ -diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 1ef226194..ce3721a14 100644 ---- a/newlib/libc/include/sys/reent.h -+++ b/newlib/libc/include/sys/reent.h -@@ -416,6 +416,8 @@ struct _reent - __FILE *__sf; /* file descriptors */ - struct _misc_reent *_misc; /* strtok, multibyte states */ - char *_signal_buf; /* strsignal */ -+ -+ void *deviceData; - }; - - extern const struct __sFILE_fake __sf_fake_stdin; -@@ -647,6 +649,7 @@ struct _reent - # ifndef _REENT_GLOBAL_STDIO_STREAMS - __FILE __sf[3]; /* first three file descriptors */ - # endif -+ void *deviceData; - }; - - #ifdef _REENT_GLOBAL_STDIO_STREAMS -diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index eee98db64..aed9c1746 100644 ---- a/newlib/libc/include/sys/stat.h -+++ b/newlib/libc/include/sys/stat.h -@@ -152,8 +152,9 @@ int mkfifo (const char *__path, mode_t __mode ); - int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); - mode_t umask (mode_t __mask ); - --#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) - int lstat (const char *__restrict __path, struct stat *__restrict __buf ); -+ -+#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) - int mknod (const char *__path, mode_t __mode, dev_t __dev ); - #endif - -diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h -new file mode 100644 -index 000000000..380329d34 ---- /dev/null -+++ b/newlib/libc/include/sys/statvfs.h -@@ -0,0 +1,35 @@ -+#ifndef _SYS_STATVFS_H -+#define _SYS_STATVFS_H -+ -+ -+#define ST_RDONLY 0x0001 -+#define ST_NOSUID 0x0002 -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+ -+struct statvfs { -+ unsigned long f_bsize; -+ unsigned long f_frsize; -+ fsblkcnt_t f_blocks; -+ fsblkcnt_t f_bfree; -+ fsblkcnt_t f_bavail; -+ fsfilcnt_t f_files; -+ fsfilcnt_t f_ffree; -+ fsfilcnt_t f_favail; -+ unsigned long f_fsid; -+ unsigned long f_flag; -+ unsigned long f_namemax; -+}; -+ -+int statvfs(const char *path, struct statvfs *buf); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+ -+#endif // _SYS_STATVFS_H -\ No newline at end of file -diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h -index 5e937f103..635a7a6b8 100644 ---- a/newlib/libc/include/sys/utime.h -+++ b/newlib/libc/include/sys/utime.h -@@ -9,12 +9,19 @@ - extern "C" { - #endif - --struct utimbuf -+struct utimbuf - { - time_t actime; -- time_t modtime; -+ time_t modtime; - }; - -+/* Functions */ -+ -+int utime( -+ const char *path, -+ const struct utimbuf *times -+); -+ - #ifdef __cplusplus - }; - #endif -diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index baa5451a6..a11f89473 100644 ---- a/newlib/libc/locale/locale.c -+++ b/newlib/libc/locale/locale.c -@@ -91,7 +91,7 @@ beginning with <<"LC_">>. - - <> returns a pointer to a structure (also defined in - `<>') describing the locale-specific conventions currently --in effect. -+in effect. - - <<_localeconv_r>> and <<_setlocale_r>> are reentrant versions of - <> and <> respectively. The extra argument -@@ -165,15 +165,18 @@ No supporting OS subroutines are required. - #include "../ctype/ctype_.h" - #include "../stdlib/local.h" - -+ - #ifdef __CYGWIN__ /* Has to be kept available as exported symbol for - backward compatibility. Set it in setlocale, but - otherwise ignore it. Applications compiled after - 2010 don't use it anymore. */ -+ - int __EXPORT __mb_cur_max = 6; - #endif - - char *_PathLocale = NULL; - -+ - #ifdef _MB_CAPABLE - /* - * Category names for getenv() -@@ -193,7 +196,11 @@ static char *categories[_LC_LAST] = { - * Default locale per POSIX. Can be overridden on a per-target base. - */ - #ifndef DEFAULT_LOCALE --#define DEFAULT_LOCALE "C" -+#ifdef __DEFAULT_UTF8__ -+#define DEFAULT_LOCALE "C.UTF-8" -+#else -+#define DEFAULT_LOCALE "C" -+#endif - #endif - - #ifdef _MB_CAPABLE -@@ -206,8 +213,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; - const struct __locale_t __C_locale = - { - { "C", "C", "C", "C", "C", "C", "C", }, -+#if defined ( __DEFAULT_UTF8__ ) -+ __utf8_wctomb, -+ __utf8_mbtowc, -+#else - __ascii_wctomb, - __ascii_mbtowc, -+#endif - 0, - DEFAULT_CTYPE_PTR, - { -@@ -218,9 +230,15 @@ const struct __locale_t __C_locale = - CHAR_MAX, CHAR_MAX - }, - #ifndef __HAVE_LOCALE_INFO__ -+#ifdef __DEFAULT_UTF8__ -+ "\6", -+ "UTF-8", -+ "UTF-8", -+#else - "\1", - "ASCII", - "ASCII", -+#endif - #else /* __HAVE_LOCALE_INFO__ */ - { - { NULL, NULL }, /* LC_ALL */ -@@ -239,10 +257,11 @@ const struct __locale_t __C_locale = - }; - #endif /* _MB_CAPABLE */ - -+ - struct __locale_t __global_locale = - { - { "C", "C", DEFAULT_LOCALE, "C", "C", "C", "C", }, --#ifdef __CYGWIN__ -+#if defined ( __CYGWIN__ ) || defined ( __DEFAULT_UTF8__ ) - __utf8_wctomb, - __utf8_mbtowc, - #else -@@ -259,9 +278,15 @@ struct __locale_t __global_locale = - CHAR_MAX, CHAR_MAX - }, - #ifndef __HAVE_LOCALE_INFO__ -+#ifdef __DEFAULT_UTF8__ -+ "\6", -+ "UTF-8", -+ "UTF-8", -+#else - "\1", - "ASCII", - "ASCII", -+#endif - #else /* __HAVE_LOCALE_INFO__ */ - { - { NULL, NULL }, /* LC_ALL */ -@@ -295,7 +320,7 @@ _setlocale_r (struct _reent *p, - { - #ifndef _MB_CAPABLE - if (locale) -- { -+ { - if (strcmp (locale, "POSIX") && strcmp (locale, "C") - && strcmp (locale, "")) - return NULL; -@@ -982,6 +1007,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) - - const char * - __locale_ctype_ptr (void) -+ - { - return __get_current_locale ()->ctype_ptr; - } -diff --git a/newlib/libc/machine/aarch64/Makefile.am b/newlib/libc/machine/aarch64/Makefile.am -index e8b8197fa..011f69d69 100644 ---- a/newlib/libc/machine/aarch64/Makefile.am -+++ b/newlib/libc/machine/aarch64/Makefile.am -@@ -9,6 +9,7 @@ AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a - - lib_a_SOURCES = -+lib_a_SOURCES += access.c - lib_a_SOURCES += memchr-stub.c - lib_a_SOURCES += memchr.S - lib_a_SOURCES += memcmp-stub.c -diff --git a/newlib/libc/machine/aarch64/Makefile.in b/newlib/libc/machine/aarch64/Makefile.in -index 39b23a1ce..969512471 100644 ---- a/newlib/libc/machine/aarch64/Makefile.in -+++ b/newlib/libc/machine/aarch64/Makefile.in -@@ -69,22 +69,22 @@ LIBRARIES = $(noinst_LIBRARIES) - ARFLAGS = cru - lib_a_AR = $(AR) $(ARFLAGS) - lib_a_LIBADD = --am_lib_a_OBJECTS = lib_a-memchr-stub.$(OBJEXT) lib_a-memchr.$(OBJEXT) \ -- lib_a-memcmp-stub.$(OBJEXT) lib_a-memcmp.$(OBJEXT) \ -- lib_a-memcpy-stub.$(OBJEXT) lib_a-memcpy.$(OBJEXT) \ -- lib_a-memmove-stub.$(OBJEXT) lib_a-memmove.$(OBJEXT) \ -- lib_a-memset-stub.$(OBJEXT) lib_a-memset.$(OBJEXT) \ -- lib_a-rawmemchr.$(OBJEXT) lib_a-rawmemchr-stub.$(OBJEXT) \ -- lib_a-setjmp.$(OBJEXT) lib_a-stpcpy-stub.$(OBJEXT) \ -- lib_a-stpcpy.$(OBJEXT) lib_a-strchr-stub.$(OBJEXT) \ -- lib_a-strchr.$(OBJEXT) lib_a-strchrnul-stub.$(OBJEXT) \ -- lib_a-strchrnul.$(OBJEXT) lib_a-strcmp-stub.$(OBJEXT) \ -- lib_a-strcmp.$(OBJEXT) lib_a-strcpy-stub.$(OBJEXT) \ -- lib_a-strcpy.$(OBJEXT) lib_a-strlen-stub.$(OBJEXT) \ -- lib_a-strlen.$(OBJEXT) lib_a-strncmp-stub.$(OBJEXT) \ -- lib_a-strncmp.$(OBJEXT) lib_a-strnlen-stub.$(OBJEXT) \ -- lib_a-strnlen.$(OBJEXT) lib_a-strrchr-stub.$(OBJEXT) \ -- lib_a-strrchr.$(OBJEXT) -+am_lib_a_OBJECTS = lib_a-access.$(OBJEXT) lib_a-memchr-stub.$(OBJEXT) \ -+ lib_a-memchr.$(OBJEXT) lib_a-memcmp-stub.$(OBJEXT) \ -+ lib_a-memcmp.$(OBJEXT) lib_a-memcpy-stub.$(OBJEXT) \ -+ lib_a-memcpy.$(OBJEXT) lib_a-memmove-stub.$(OBJEXT) \ -+ lib_a-memmove.$(OBJEXT) lib_a-memset-stub.$(OBJEXT) \ -+ lib_a-memset.$(OBJEXT) lib_a-rawmemchr.$(OBJEXT) \ -+ lib_a-rawmemchr-stub.$(OBJEXT) lib_a-setjmp.$(OBJEXT) \ -+ lib_a-stpcpy-stub.$(OBJEXT) lib_a-stpcpy.$(OBJEXT) \ -+ lib_a-strchr-stub.$(OBJEXT) lib_a-strchr.$(OBJEXT) \ -+ lib_a-strchrnul-stub.$(OBJEXT) lib_a-strchrnul.$(OBJEXT) \ -+ lib_a-strcmp-stub.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ -+ lib_a-strcpy-stub.$(OBJEXT) lib_a-strcpy.$(OBJEXT) \ -+ lib_a-strlen-stub.$(OBJEXT) lib_a-strlen.$(OBJEXT) \ -+ lib_a-strncmp-stub.$(OBJEXT) lib_a-strncmp.$(OBJEXT) \ -+ lib_a-strnlen-stub.$(OBJEXT) lib_a-strnlen.$(OBJEXT) \ -+ lib_a-strrchr-stub.$(OBJEXT) lib_a-strrchr.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I.@am__isrc@ - depcomp = -@@ -210,7 +210,7 @@ AUTOMAKE_OPTIONS = cygnus - INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) - AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a --lib_a_SOURCES = memchr-stub.c memchr.S memcmp-stub.c memcmp.S \ -+lib_a_SOURCES = access.c memchr-stub.c memchr.S memcmp-stub.c memcmp.S \ - memcpy-stub.c memcpy.S memmove-stub.c memmove.S memset-stub.c \ - memset.S rawmemchr.S rawmemchr-stub.c setjmp.S stpcpy-stub.c \ - stpcpy.S strchr-stub.c strchr.S strchrnul-stub.c strchrnul.S \ -@@ -381,6 +381,12 @@ lib_a-strrchr.obj: strrchr.S - .c.obj: - $(COMPILE) -c `$(CYGPATH_W) '$<'` - -+lib_a-access.o: access.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.o `test -f 'access.c' || echo '$(srcdir)/'`access.c -+ -+lib_a-access.obj: access.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.obj `if test -f 'access.c'; then $(CYGPATH_W) 'access.c'; else $(CYGPATH_W) '$(srcdir)/access.c'; fi` -+ - lib_a-memchr-stub.o: memchr-stub.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.o `test -f 'memchr-stub.c' || echo '$(srcdir)/'`memchr-stub.c - -diff --git a/newlib/libc/machine/aarch64/access.c b/newlib/libc/machine/aarch64/access.c -new file mode 100644 -index 000000000..980682ef3 ---- /dev/null -+++ b/newlib/libc/machine/aarch64/access.c -@@ -0,0 +1,33 @@ -+/* This is file ACCESS.C */ -+/* -+ * Copyright (C) 1993 DJ Delorie -+ * All rights reserved. -+ * -+ * Redistribution, modification, and use in source and binary forms is permitted -+ * provided that the above copyright notice and following paragraph are -+ * duplicated in all such forms. -+ * -+ * This file is distributed WITHOUT ANY WARRANTY; without even the implied -+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -+ */ -+ -+#include -+#include -+#include -+ -+int access(const char *fn, int flags) -+{ -+ struct stat s; -+ if (stat(fn, &s)) -+ return -1; -+ if (s.st_mode & S_IFDIR) -+ return 0; -+ if (flags & W_OK) -+ { -+ if (s.st_mode & S_IWRITE) -+ return 0; -+ return -1; -+ } -+ return 0; -+} -+ -diff --git a/newlib/libc/machine/arm/Makefile.am b/newlib/libc/machine/arm/Makefile.am -index 9bd35e733..731130092 100644 ---- a/newlib/libc/machine/arm/Makefile.am -+++ b/newlib/libc/machine/arm/Makefile.am -@@ -11,7 +11,9 @@ noinst_LIBRARIES = lib.a - lib_a_SOURCES = setjmp.S strcmp.S strcpy.c \ - aeabi_memcpy.c aeabi_memcpy-armv7a.S \ - aeabi_memmove.c aeabi_memmove-soft.S \ -- aeabi_memset.c aeabi_memset-soft.S aeabi_memclr.c -+ aeabi_memset.c aeabi_memset-soft.S aeabi_memclr.c \ -+ sync_synchronize.c -+ - lib_a_SOURCES += memchr-stub.c - lib_a_SOURCES += memchr.S - lib_a_SOURCES += memcpy-stub.c -diff --git a/newlib/libc/machine/arm/Makefile.in b/newlib/libc/machine/arm/Makefile.in -index d9dbcd5c3..43712f813 100644 ---- a/newlib/libc/machine/arm/Makefile.in -+++ b/newlib/libc/machine/arm/Makefile.in -@@ -75,10 +75,10 @@ am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ - lib_a-aeabi_memmove.$(OBJEXT) \ - lib_a-aeabi_memmove-soft.$(OBJEXT) \ - lib_a-aeabi_memset.$(OBJEXT) lib_a-aeabi_memset-soft.$(OBJEXT) \ -- lib_a-aeabi_memclr.$(OBJEXT) lib_a-memchr-stub.$(OBJEXT) \ -- lib_a-memchr.$(OBJEXT) lib_a-memcpy-stub.$(OBJEXT) \ -- lib_a-memcpy.$(OBJEXT) lib_a-strlen-stub.$(OBJEXT) \ -- lib_a-strlen.$(OBJEXT) -+ lib_a-aeabi_memclr.$(OBJEXT) lib_a-sync_synchronize.$(OBJEXT) \ -+ lib_a-memchr-stub.$(OBJEXT) lib_a-memchr.$(OBJEXT) \ -+ lib_a-memcpy-stub.$(OBJEXT) lib_a-memcpy.$(OBJEXT) \ -+ lib_a-strlen-stub.$(OBJEXT) lib_a-strlen.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I.@am__isrc@ - depcomp = -@@ -208,8 +208,8 @@ noinst_LIBRARIES = lib.a - lib_a_SOURCES = setjmp.S strcmp.S strcpy.c aeabi_memcpy.c \ - aeabi_memcpy-armv7a.S aeabi_memmove.c aeabi_memmove-soft.S \ - aeabi_memset.c aeabi_memset-soft.S aeabi_memclr.c \ -- memchr-stub.c memchr.S memcpy-stub.c memcpy.S strlen-stub.c \ -- strlen.S -+ sync_synchronize.c memchr-stub.c memchr.S memcpy-stub.c \ -+ memcpy.S strlen-stub.c strlen.S - lib_a_CCASFLAGS = $(AM_CCASFLAGS) - lib_a_CFLAGS = $(AM_CFLAGS) - ACLOCAL_AMFLAGS = -I ../../.. -I ../../../.. -@@ -367,6 +367,12 @@ lib_a-aeabi_memclr.o: aeabi_memclr.c - lib_a-aeabi_memclr.obj: aeabi_memclr.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aeabi_memclr.obj `if test -f 'aeabi_memclr.c'; then $(CYGPATH_W) 'aeabi_memclr.c'; else $(CYGPATH_W) '$(srcdir)/aeabi_memclr.c'; fi` - -+lib_a-sync_synchronize.o: sync_synchronize.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sync_synchronize.o `test -f 'sync_synchronize.c' || echo '$(srcdir)/'`sync_synchronize.c -+ -+lib_a-sync_synchronize.obj: sync_synchronize.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sync_synchronize.obj `if test -f 'sync_synchronize.c'; then $(CYGPATH_W) 'sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/sync_synchronize.c'; fi` -+ - lib_a-memchr-stub.o: memchr-stub.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.o `test -f 'memchr-stub.c' || echo '$(srcdir)/'`memchr-stub.c - -diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c -new file mode 100644 -index 000000000..3acc9e094 ---- /dev/null -+++ b/newlib/libc/machine/arm/sync_synchronize.c -@@ -0,0 +1,10 @@ -+#if __ARM_ARCH < 6 -+#include -+void __attribute__((weak)) -+__sync_synchronize (void) -+{ -+ __warn_references (__sync_synchronize, -+ "legacy compatible __sync_synchronize used. Not suitable for multi-threaded applications"); -+ return; -+} -+#endif -diff --git a/newlib/libc/machine/arm/sys/stdio.h b/newlib/libc/machine/arm/sys/stdio.h -new file mode 100644 -index 000000000..4eb278e2f ---- /dev/null -+++ b/newlib/libc/machine/arm/sys/stdio.h -@@ -0,0 +1,27 @@ -+#ifndef _NEWLIB_STDIO_H -+#define _NEWLIB_STDIO_H -+ -+#include -+#include -+ -+/* Internal locking macros, used to protect stdio functions. In the -+ general case, expand to nothing. Use __SSTR flag in FILE _flags to -+ detect if FILE is private to sprintf/sscanf class of functions; if -+ set then do nothing as lock is not initialised. */ -+#if !defined(_flockfile) -+#ifndef __SINGLE_THREAD__ -+# define _flockfile(fp) (((fp)->_flags & __SSTR) ? 0 : __flockfile(fp)) -+#else -+# define _flockfile(fp) (_CAST_VOID 0) -+#endif -+#endif -+ -+#if !defined(_funlockfile) -+#ifndef __SINGLE_THREAD__ -+# define _funlockfile(fp) (((fp)->_flags & __SSTR) ? 0 : __funlockfile(fp)) -+#else -+# define _funlockfile(fp) (_CAST_VOID 0) -+#endif -+#endif -+ -+#endif /* _NEWLIB_STDIO_H */ -diff --git a/newlib/libc/reent/getreent.c b/newlib/libc/reent/getreent.c -index 5fa98e96b..ef8a15e1b 100644 ---- a/newlib/libc/reent/getreent.c -+++ b/newlib/libc/reent/getreent.c -@@ -1,3 +1,4 @@ -+#if 0 - /* default reentrant pointer when multithread enabled */ - - #ifdef GETREENT_PROVIDED -@@ -20,3 +21,4 @@ __getreent (void) - } - - #endif -+#endif -\ No newline at end of file -diff --git a/newlib/libc/reent/gettimeofdayr.c b/newlib/libc/reent/gettimeofdayr.c -index 9b982a993..8c0aaac8c 100644 ---- a/newlib/libc/reent/gettimeofdayr.c -+++ b/newlib/libc/reent/gettimeofdayr.c -@@ -51,7 +51,7 @@ DESCRIPTION - Check libc.a to see if its available on yours. - */ - --int -+/*int - _gettimeofday_r (struct _reent *ptr, - struct timeval *ptimeval, - void *ptimezone) -@@ -63,5 +63,5 @@ _gettimeofday_r (struct _reent *ptr, - ptr->_errno = errno; - return ret; - } -- -+*/ - #endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */ -diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index b358d2b4a..29cec0229 100644 ---- a/newlib/libc/stdio/fread.c -+++ b/newlib/libc/stdio/fread.c -@@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, - } - - return count; -- -+ - } - - #endif -@@ -225,7 +225,32 @@ _fread_r (struct _reent * ptr, - /* fp->_r = 0 ... done in __srefill */ - p += r; - resid -= r; -- if (__srefill_r (ptr, fp)) -+ -+ int rc = 0; -+ -+ if (resid>BUFSIZ) -+ { -+ /* save fp buffering state */ -+ void *old_base = fp->_bf._base; -+ void * old_p = fp->_p; -+ int old_size = fp->_bf._size; -+ /* allow __refill to use user's buffer */ -+ fp->_bf._base = (unsigned char *) p; -+ fp->_bf._size = resid; -+ fp->_p = (unsigned char *) p; -+ rc = __srefill_r (ptr, fp); -+ /* restore fp buffering back to original state */ -+ fp->_bf._base = old_base; -+ fp->_bf._size = old_size; -+ fp->_p = old_p; -+ resid -= fp->_r; -+ p += fp->_r; -+ fp->_r = 0; -+ -+ } else { -+ rc = __srefill_r (ptr, fp); -+ } -+ if (rc) - { - /* no more input: return partial result */ - #ifdef __SCLE -diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index c4bf2dbe3..d756df37d 100644 ---- a/newlib/libc/stdio/vfprintf.c -+++ b/newlib/libc/stdio/vfprintf.c -@@ -112,6 +112,8 @@ Supporting OS subroutines required: <>, <>, <>, - <>, <>, <>, <>. - */ - -+#pragma GCC optimize ("Os") -+ - #if defined(LIBC_SCCS) && !defined(lint) - /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ - static char *rcsid = "$Id$"; -@@ -1438,7 +1440,7 @@ reswitch: switch (ch) { - string: - #endif - sign = '\0'; --#ifndef __OPTIMIZE_SIZE__ -+//#ifndef __OPTIMIZE_SIZE__ - /* Behavior is undefined if the user passed a - NULL string when precision is not 0. - However, if we are not optimizing for size, -@@ -1448,7 +1450,7 @@ string: - size = ((unsigned) prec > 6U) ? 6 : prec; - } - else --#endif /* __OPTIMIZE_SIZE__ */ -+//#endif /* __OPTIMIZE_SIZE__ */ - #ifdef _MB_CAPABLE - if (ch == 'S' || (flags & LONGINT)) { - mbstate_t ps; -diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index b97235559..298f68a9c 100644 ---- a/newlib/libc/stdio/vfscanf.c -+++ b/newlib/libc/stdio/vfscanf.c -@@ -74,6 +74,8 @@ These are GNU extensions. - Supporting OS subroutines required: - */ - -+#pragma GCC optimize ("Os") -+ - #include <_ansi.h> - #include - #include -diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c -index 980b31e3b..722be905e 100644 ---- a/newlib/libc/stdio/vfwprintf.c -+++ b/newlib/libc/stdio/vfwprintf.c -@@ -92,6 +92,9 @@ SEEALSO - * - * This code is large and complicated... - */ -+ -+#pragma GCC optimize ("Os") -+ - #include - - #ifdef INTEGER_ONLY -diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index c3470a15c..626f13723 100644 ---- a/newlib/libc/stdio/vfwscanf.c -+++ b/newlib/libc/stdio/vfwscanf.c -@@ -74,6 +74,9 @@ PORTABILITY - C99, POSIX-1.2008 - */ - -+ -+#pragma GCC optimize ("Os") -+ - #include <_ansi.h> - #include - #include -diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c -index 88413ce86..24029a6f7 100644 ---- a/newlib/libc/stdlib/aligned_alloc.c -+++ b/newlib/libc/stdlib/aligned_alloc.c -@@ -1,5 +1,5 @@ - /*- -- * Copyright (c) 2015 embedded brains GmbH -+ * Copyright (c) 2018 Dave Murphy - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without -@@ -25,14 +25,15 @@ - */ - - #include -+#include -+#include - - void * - aligned_alloc(size_t alignment, size_t size) - { -- void *p; -- int error; -+ if ((alignment !=0) && !(alignment & (alignment - 1 )) && !(size & (alignment - 1))) -+ return memalign(alignment,size); - -- error = posix_memalign(&p, alignment, size); -- -- return (error == 0 ? p : NULL); -+ errno = EINVAL; -+ return (void*)NULL; - } -diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c -index 920a7ea3c..ba5ee7652 100644 ---- a/newlib/libc/stdlib/mbtowc_r.c -+++ b/newlib/libc/stdlib/mbtowc_r.c -@@ -7,6 +7,7 @@ - #include - #include "local.h" - -+ - int - _mbtowc_r (struct _reent *r, - wchar_t *__restrict pwc, -diff --git a/newlib/libc/sys/arm/include/machine/_types.h b/newlib/libc/sys/arm/include/machine/_types.h -new file mode 100644 -index 000000000..40092f99f ---- /dev/null -+++ b/newlib/libc/sys/arm/include/machine/_types.h -@@ -0,0 +1,19 @@ -+#ifndef _MACHINE__TYPES_H -+#define _MACHINE__TYPES_H -+ -+#include -+ -+/* Use 64bit types */ -+typedef __int64_t _off_t; -+#define __machine_off_t_defined -+ -+typedef __int64_t _fpos_t; -+#define __machine_fpos_t_defined -+ -+typedef __uint32_t __ino_t; -+#define __machine_ino_t_defined -+ -+typedef __uint32_t __dev_t; -+#define __machine_dev_t_defined -+#endif -+ -diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h -new file mode 100644 -index 000000000..567fed56b ---- /dev/null -+++ b/newlib/libc/sys/arm/sys/lock.h -@@ -0,0 +1,66 @@ -+#ifndef __SYS_LOCK_H__ -+#define __SYS_LOCK_H__ -+ -+#include <_ansi.h> -+#include -+ -+typedef int32_t _LOCK_T; -+ -+struct __lock_t { -+ _LOCK_T lock; -+ uint32_t thread_tag; -+ uint32_t counter; -+}; -+ -+typedef struct __lock_t _LOCK_RECURSIVE_T; -+ -+extern void __libc_lock_init(_LOCK_T *lock); -+extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_close(_LOCK_T *lock); -+extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_acquire(_LOCK_T *lock); -+extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_release(_LOCK_T *lock); -+extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); -+ -+/* Returns 0 for success and non-zero for failure */ -+extern int __libc_lock_try_acquire(_LOCK_T *lock); -+extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+ -+#define __LOCK_INIT(CLASS,NAME) \ -+CLASS _LOCK_T NAME = 1; -+ -+#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ -+CLASS _LOCK_RECURSIVE_T NAME = {1,0,0}; -+ -+#define __lock_init(NAME) \ -+ __libc_lock_init(&(NAME)) -+ -+#define __lock_init_recursive(NAME) \ -+ __libc_lock_init_recursive(&(NAME)) -+ -+#define __lock_close(NAME) \ -+ __libc_lock_close(&(NAME)) -+ -+#define __lock_close_recursive(NAME) \ -+ __libc_lock_close_recursive(&(NAME)) -+ -+#define __lock_acquire(NAME) \ -+ __libc_lock_acquire(&(NAME)) -+ -+#define __lock_acquire_recursive(NAME) \ -+ __libc_lock_acquire_recursive(&(NAME)) -+ -+#define __lock_try_acquire(NAME) \ -+ __libc_lock_try_acquire(&(NAME)) -+ -+#define __lock_try_acquire_recursive(NAME) \ -+ __libc_lock_try_acquire_recursive(&(NAME)) -+ -+#define __lock_release(NAME) \ -+ __libc_lock_release(&(NAME)) -+ -+#define __lock_release_recursive(NAME) \ -+ __libc_lock_release_recursive(&(NAME)) -+ -+#endif // __SYS_LOCK_H__ -diff --git a/newlib/libc/sys/arm/sys/param.h b/newlib/libc/sys/arm/sys/param.h -index 5b9464cca..e8969b954 100644 ---- a/newlib/libc/sys/arm/sys/param.h -+++ b/newlib/libc/sys/arm/sys/param.h -@@ -19,6 +19,8 @@ - # define PATHSIZE (1024) - #endif - -+#define MAXPATHLEN PATHSIZE -+ - #define MAX(a,b) ((a) > (b) ? (a) : (b)) - #define MIN(a,b) ((a) < (b) ? (a) : (b)) - diff --git a/dka64/patches/newlib-3.1.0.patch b/dka64/patches/newlib-3.1.0.patch index 901c669..bdb0173 100644 --- a/dka64/patches/newlib-3.1.0.patch +++ b/dka64/patches/newlib-3.1.0.patch @@ -6958,17 +6958,24 @@ index 000000000..f8d98fd3b +} diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c new file mode 100755 -index 000000000..e4240af87 +index 000000000..ff84cd355 --- /dev/null +++ b/libgloss/libsysbase/pthread.c -@@ -0,0 +1,662 @@ +@@ -0,0 +1,1083 @@ +#include ++#include +#include +#include +#include +#include +#include + ++static inline uint64_t ++__pthread_abstime_to_ns (const struct timespec *__abstime) ++{ ++ return __abstime ? abstimespec2nsec(CLOCK_REALTIME, __abstime) : UINT64_MAX; ++} ++ +int +pthread_atfork (void (*prepare)(void), void (*parent)(void), void (*child)(void)) +{ @@ -7046,10 +7053,10 @@ index 000000000..e4240af87 + case PTHREAD_MUTEX_NORMAL: + case PTHREAD_MUTEX_ERRORCHECK: + case PTHREAD_MUTEX_DEFAULT: -+ __lock_init(__mutex->normal); ++ __mutex->normal = __LOCK_INITIALIZER; + break; + case PTHREAD_MUTEX_RECURSIVE: -+ __lock_init_recursive(__mutex->recursive); ++ __mutex->recursive = __LOCK_INITIALIZER_RECURSIVE; + break; + default: + return EINVAL; @@ -7202,7 +7209,8 @@ index 000000000..e4240af87 + return EINVAL; + + __cond->clock_id = __attr->clock_id; -+ return __cond_init(__cond->cond); ++ __cond->cond = __COND_INITIALIZER; ++ return 0; +} + +int @@ -7608,6 +7616,419 @@ index 000000000..e4240af87 +} + +//----------------------------------------------------------------------------- ++// Barrier ++//----------------------------------------------------------------------------- ++ ++int ++pthread_barrierattr_init (pthread_barrierattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_barrierattr_getpshared (const pthread_barrierattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_barrier_init (pthread_barrier_t *__barrier, const pthread_barrierattr_t *__attr, unsigned __count) ++{ ++ if (!__barrier || !__count) ++ return EINVAL; ++ ++ __barrier->lock = __LOCK_INITIALIZER; ++ __barrier->cond = __COND_INITIALIZER; ++ __barrier->reload = __count; ++ __barrier->counter = __count; ++ __barrier->cycle = 0; ++ return 0; ++} ++ ++int ++pthread_barrier_destroy (pthread_barrier_t *__barrier) ++{ ++ if (!__barrier) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_barrier_wait (pthread_barrier_t *__barrier) ++{ ++ if (!__barrier) ++ return EINVAL; ++ ++ __lock_acquire(__barrier->lock); ++ ++ int is_last_thread = !--__barrier->counter; ++ if (is_last_thread) { ++ __barrier->cycle ++; ++ __barrier->counter = __barrier->reload; ++ __cond_broadcast(__barrier->cond); ++ } else { ++ unsigned my_cycle = __barrier->cycle; ++ do ++ __cond_wait(__barrier->cond, __barrier->lock, UINT64_MAX); ++ while (__barrier->cycle == my_cycle); ++ } ++ ++ __lock_release(__barrier->lock); ++ return is_last_thread ? PTHREAD_BARRIER_SERIAL_THREAD : 0; ++} ++ ++//----------------------------------------------------------------------------- ++// Read/write lock ++//----------------------------------------------------------------------------- ++ ++int ++pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_rwlock_init (pthread_rwlock_t *__rwlock, const pthread_rwlockattr_t *__attr) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ *__rwlock = PTHREAD_RWLOCK_INITIALIZER; ++ return 0; ++} ++ ++int ++pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ return 0; ++} ++ ++static int ++__pthread_rwlock_rdlock_common (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) ++{ ++ int rc = 0; ++ __lock_acquire(__rwlock->lock); ++ ++ while (__rwlock->cnt_w) { ++ rc = __cond_wait(__rwlock->cond_w, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) break; ++ } ++ ++ if (!rc) ++ __rwlock->cnt_r ++; ++ ++ __lock_release(__rwlock->lock); ++ return rc; ++} ++ ++int ++pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ return __pthread_rwlock_rdlock_common(__rwlock, NULL); ++} ++ ++int ++pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ ++ __lock_acquire(__rwlock->lock); ++ ++ int failed = __rwlock->cnt_w != 0; ++ if (!failed) ++ __rwlock->cnt_r ++; ++ ++ __lock_release(__rwlock->lock); ++ return failed ? EBUSY : 0; ++} ++ ++int ++pthread_rwlock_timedrdlock (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) ++{ ++ if (!__rwlock || !__abstime) ++ return EINVAL; ++ return __pthread_rwlock_rdlock_common(__rwlock, __abstime); ++} ++ ++int ++pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ ++ __lock_acquire(__rwlock->lock); ++ ++ if (__rwlock->cnt_w != 2) { ++ if (!--__rwlock->cnt_r) ++ __cond_broadcast(__rwlock->cond_r); ++ } else { ++ __rwlock->cnt_w = 0; ++ __cond_broadcast(__rwlock->cond_w); ++ } ++ ++ __lock_release(__rwlock->lock); ++ return 0; ++} ++ ++static int ++__pthread_rwlock_wrlock_common (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) ++{ ++ int rc = 0; ++ __lock_acquire(__rwlock->lock); ++ ++ while (__rwlock->cnt_w) { ++ rc = __cond_wait(__rwlock->cond_w, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) break; ++ } ++ ++ if (!rc) { ++ __rwlock->cnt_w = 1; ++ ++ while (__rwlock->cnt_r) { ++ rc = __cond_wait(__rwlock->cond_r, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) break; ++ } ++ ++ if (rc) { ++ __rwlock->cnt_w = 0; ++ __cond_broadcast(__rwlock->cond_w); ++ } else ++ __rwlock->cnt_w = 2; ++ } ++ ++ __lock_release(__rwlock->lock); ++ return rc; ++} ++ ++int ++pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ return __pthread_rwlock_wrlock_common(__rwlock, NULL); ++} ++ ++int ++pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ ++ __lock_acquire(__rwlock->lock); ++ ++ int failed = __rwlock->cnt_w != 0 || __rwlock->cnt_r != 0; ++ if (!failed) ++ __rwlock->cnt_w = 2; ++ ++ __lock_release(__rwlock->lock); ++ return failed ? EBUSY : 0; ++} ++ ++int ++pthread_rwlock_timedwrlock (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) ++{ ++ if (!__rwlock || !__abstime) ++ return EINVAL; ++ return __pthread_rwlock_wrlock_common(__rwlock, __abstime); ++} ++ ++//----------------------------------------------------------------------------- ++// semaphore.h ++//----------------------------------------------------------------------------- ++ ++int ++sem_close(sem_t *__sem) ++{ ++ errno = ENOSYS; ++ return -1; ++} ++ ++int ++sem_destroy(sem_t *__sem) ++{ ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } ++ return 0; ++} ++ ++int ++sem_getvalue(sem_t *__sem, int *__sval) ++{ ++ if (!__sem || !__sval) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ __lock_acquire(__sem->lock); ++ *__sval = __sem->value; ++ __lock_release(__sem->lock); ++ return 0; ++} ++ ++int ++sem_init(sem_t *__sem, int __pshared, unsigned int __value) ++{ ++ if (!__sem || __value > SEM_VALUE_MAX) { ++ errno = EINVAL; ++ return -1; ++ } ++ if (__pshared) { ++ errno = ENOSYS; ++ return -1; ++ } ++ ++ __sem->lock = __LOCK_INITIALIZER; ++ __sem->cond = __COND_INITIALIZER; ++ __sem->value = __value; ++ return 0; ++} ++ ++sem_t * ++sem_open(const char *__name, int __oflag, ...) ++{ ++ errno = ENOSYS; ++ return SEM_FAILED; ++} ++ ++int ++sem_post(sem_t *__sem) ++{ ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ __lock_acquire(__sem->lock); ++ if (__sem->value++ < 0) ++ __cond_signal(__sem->cond); ++ __lock_release(__sem->lock); ++ return 0; ++} ++ ++static int ++__sem_wait_common(sem_t *__sem, const struct timespec *__abstime) ++{ ++ int rc = 0; ++ __lock_acquire(__sem->lock); ++ ++ __sem->value --; ++ if (__sem->value < 0) ++ rc = __cond_wait(__sem->cond, __sem->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) { ++ if (__sem->value < 0) ++ __sem->value ++; ++ else ++ rc = 0; ++ } ++ ++ __lock_release(__sem->lock); ++ ++ if (rc) { ++ errno = rc; ++ return -1; ++ } ++ ++ return 0; ++} ++ ++int ++sem_timedwait(sem_t *__sem, const struct timespec *__abstime) ++{ ++ if (!__sem || !__abstime) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ return __sem_wait_common(__sem, __abstime); ++} ++ ++int ++sem_trywait(sem_t *__sem) ++{ ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ __lock_acquire(__sem->lock); ++ ++ int failed = __sem->value <= 0; ++ if (!failed) ++ __sem->value --; ++ ++ __lock_release(__sem->lock); ++ ++ if (failed) { ++ errno = EAGAIN; ++ return -1; ++ } ++ ++ return 0; ++} ++ ++int ++sem_unlink(const char *__name) ++{ ++ errno = ENOSYS; ++ return -1; ++} ++ ++int ++sem_wait(sem_t *__sem) ++{ ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ return __sem_wait_common(__sem, NULL); ++} ++ ++//----------------------------------------------------------------------------- +// sched.h +//----------------------------------------------------------------------------- + @@ -8410,8 +8831,83 @@ index 893a5d064..da4b3a1ee 100644 /* Reentrant ANSI C functions. */ #ifndef __math_68881 extern long double atanl (long double); +diff --git a/newlib/libc/include/semaphore.h b/newlib/libc/include/semaphore.h +new file mode 100755 +index 000000000..4afb0e419 +--- /dev/null ++++ b/newlib/libc/include/semaphore.h +@@ -0,0 +1,69 @@ ++/* ++ * Copyright (c) 2010 David Xu ++ * ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice unmodified, this list of conditions, and the following ++ * disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ * $FreeBSD: head/include/semaphore.h 314424 2017-02-28 21:47:00Z vangyzen $ ++ */ ++ ++/* semaphore.h: POSIX 1003.1b semaphores */ ++ ++#ifndef _SEMAPHORE_H_ ++#define _SEMAPHORE_H_ ++ ++#include ++ ++#if defined(_POSIX_SEMAPHORES) ++ ++#include ++#include ++#include ++#include ++#include ++ ++typedef struct { ++ _LOCK_T lock; ++ _COND_T cond; ++ int value; ++} sem_t; ++ ++#define SEM_VALUE_MAX INT_MAX ++#define SEM_FAILED ((sem_t *)0) ++ ++__BEGIN_DECLS ++int sem_close(sem_t *); ++int sem_destroy(sem_t *); ++int sem_getvalue(sem_t * __restrict, int * __restrict); ++int sem_init(sem_t *, int, unsigned int); ++sem_t *sem_open(const char *, int, ...); ++int sem_post(sem_t *); ++int sem_timedwait(sem_t * __restrict, const struct timespec * __restrict); ++int sem_trywait(sem_t *); ++int sem_unlink(const char *); ++int sem_wait(sem_t *); ++__END_DECLS ++ ++#endif /* defined(_POSIX_SEMAPHORES) */ ++ ++#endif /* !_SEMAPHORE_H_ */ diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h -index 75e9e1cbf..a3642c951 100644 +index 75e9e1cbf..dc63dbe6a 100644 --- a/newlib/libc/include/sys/_pthreadtypes.h +++ b/newlib/libc/include/sys/_pthreadtypes.h @@ -18,19 +18,18 @@ @@ -8533,7 +9029,7 @@ index 75e9e1cbf..a3642c951 100644 #if defined(_POSIX_THREAD_PROCESS_SHARED) int process_shared; /* allow this to be shared amongst processes */ #endif -@@ -190,11 +175,10 @@ typedef struct { +@@ -190,19 +175,23 @@ typedef struct { typedef __uint32_t pthread_key_t; /* thread-specific data keys */ typedef struct { @@ -8547,6 +9043,42 @@ index 75e9e1cbf..a3642c951 100644 #endif /* defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 */ /* POSIX Barrier Types */ + + #if defined(_POSIX_BARRIERS) +-typedef __uint32_t pthread_barrier_t; /* POSIX Barrier Object */ + typedef struct { +- int is_initialized; /* is this structure initialized? */ ++ _LOCK_T lock; ++ _COND_T cond; ++ unsigned reload; ++ unsigned counter; ++ unsigned cycle; ++} pthread_barrier_t; /* POSIX Barrier Object */ ++typedef struct { + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow this to be shared amongst processes */ + #endif +@@ -218,12 +207,17 @@ typedef __uint32_t pthread_spinlock_t; /* POSIX Spin Lock Object */ + /* POSIX Reader/Writer Lock Types */ + + #if defined(_POSIX_READER_WRITER_LOCKS) +-typedef __uint32_t pthread_rwlock_t; /* POSIX RWLock Object */ ++typedef struct { ++ _LOCK_T lock; ++ _COND_T cond_r; ++ _COND_T cond_w; ++ uint32_t cnt_r : 30; ++ uint32_t cnt_w : 2; ++} pthread_rwlock_t; /* POSIX RWLock Object */ + +-#define _PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t) 0xFFFFFFFF) ++#define _PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t){ __LOCK_INITIALIZER, __COND_INITIALIZER, __COND_INITIALIZER, 0, 0 }) + + typedef struct { +- int is_initialized; /* is this structure initialized? */ + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow this to be shared amongst processes */ + #endif diff --git a/newlib/libc/include/sys/_timespec.h b/newlib/libc/include/sys/_timespec.h index 7609e4a46..6017a5e3d 100644 --- a/newlib/libc/include/sys/_timespec.h @@ -8645,10 +9177,10 @@ index a3fb5c02c..b208de4a7 100644 + +#endif // _dirent_h_ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index f28dd071b..00d4194b6 100644 +index f28dd071b..ab3780ee2 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h -@@ -330,6 +330,13 @@ extern "C" { +@@ -330,6 +330,16 @@ extern "C" { # define __SSP_FORTIFY_LEVEL 0 #endif @@ -8656,6 +9188,9 @@ index f28dd071b..00d4194b6 100644 +#define _POSIX_MONOTONIC_CLOCK 200112L +#define _POSIX_TIMERS 1 +#define _POSIX_THREADS 1 ++#define _POSIX_SEMAPHORES 1 ++#define _POSIX_BARRIERS 200112L ++#define _POSIX_READER_WRITER_LOCKS 200112L +#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 +#endif + @@ -9529,6 +10064,19 @@ index b358d2b4a..29cec0229 100644 { /* no more input: return partial result */ #ifdef __SCLE +diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h +index 53694aa1c..79a8f4666 100644 +--- a/newlib/libc/stdio/local.h ++++ b/newlib/libc/stdio/local.h +@@ -56,7 +56,7 @@ + the appropriate _newlib_XXX_exit macro. */ + + #if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS) \ +- && !defined (__rtems__) ++ && !defined (__rtems__) && !defined (__DEVKITA64__) + #define _STDIO_WITH_THREAD_CANCELLATION_SUPPORT + #endif + diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c index c4bf2dbe3..d756df37d 100644 --- a/newlib/libc/stdio/vfprintf.c From b1d5f5c7a682f934ce295c689dcbf0cb9539c960 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 23 Mar 2019 19:47:41 +0000 Subject: [PATCH 086/280] fix macOS build --- dka64/patches/gdb-8.2.1.patch | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/dka64/patches/gdb-8.2.1.patch b/dka64/patches/gdb-8.2.1.patch index 0405bc4..73660ff 100644 --- a/dka64/patches/gdb-8.2.1.patch +++ b/dka64/patches/gdb-8.2.1.patch @@ -1,6 +1,18 @@ +diff -NBaur gdb-8.2.1/gdb/dtrace-probe.c gdb-8.2.1-apple/gdb/dtrace-probe.c +--- gdb-8.2.1/gdb/dtrace-probe.c 2018-12-23 05:51:54.000000000 +0000 ++++ gdb-8.2.1-apple/gdb/dtrace-probe.c 2019-03-23 19:45:04.743529457 +0000 +@@ -100,7 +100,7 @@ + + /* DTrace static_probe_ops. */ + +-const dtrace_static_probe_ops dtrace_static_probe_ops; ++const dtrace_static_probe_ops dtrace_static_probe_ops = {}; + + /* The following structure represents a dtrace probe. */ + diff -NBaur gdb-8.2.1/gdb/probe.c gdb-8.2.1-apple/gdb/probe.c --- gdb-8.2.1/gdb/probe.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/probe.c 2019-02-19 17:31:05.266578008 +0000 ++++ gdb-8.2.1-apple/gdb/probe.c 2019-03-23 19:35:59.701401090 +0000 @@ -60,7 +60,7 @@ /* Static operations associated with a generic probe. */ @@ -12,7 +24,7 @@ diff -NBaur gdb-8.2.1/gdb/probe.c gdb-8.2.1-apple/gdb/probe.c SEARCH_PSPACE. It appends matching SALs to RESULT. */ diff -NBaur gdb-8.2.1/gdb/record-btrace.c gdb-8.2.1-apple/gdb/record-btrace.c --- gdb-8.2.1/gdb/record-btrace.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/record-btrace.c 2019-02-19 17:31:33.301731324 +0000 ++++ gdb-8.2.1-apple/gdb/record-btrace.c 2019-03-23 19:35:59.705388987 +0000 @@ -144,7 +144,7 @@ /* Token associated with a new-thread observer enabling branch tracing @@ -24,7 +36,7 @@ diff -NBaur gdb-8.2.1/gdb/record-btrace.c gdb-8.2.1-apple/gdb/record-btrace.c static const char replay_memory_access_read_only[] = "read-only"; diff -NBaur gdb-8.2.1/gdb/stap-probe.c gdb-8.2.1-apple/gdb/stap-probe.c --- gdb-8.2.1/gdb/stap-probe.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/stap-probe.c 2019-02-19 17:29:35.744567941 +0000 ++++ gdb-8.2.1-apple/gdb/stap-probe.c 2019-03-23 19:35:59.705388987 +0000 @@ -119,7 +119,7 @@ /* SystemTap static_probe_ops. */ @@ -36,7 +48,7 @@ diff -NBaur gdb-8.2.1/gdb/stap-probe.c gdb-8.2.1-apple/gdb/stap-probe.c { diff -NBaur gdb-8.2.1/gdb/tui/tui-hooks.c gdb-8.2.1-apple/gdb/tui/tui-hooks.c --- gdb-8.2.1/gdb/tui/tui-hooks.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/tui/tui-hooks.c 2019-02-19 17:28:53.178460364 +0000 ++++ gdb-8.2.1-apple/gdb/tui/tui-hooks.c 2019-03-23 19:35:59.705388987 +0000 @@ -205,7 +205,7 @@ /* Token associated with observers registered while TUI hooks are From aeb6482da94179b1d5eb8d1e8d55d2a684e4209f Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 14 May 2019 10:22:19 +0100 Subject: [PATCH 087/280] devkitARM: update gdb patch --- build-devkit.sh | 2 +- dkarm-eabi/patches/gdb-8.2.1.patch | 274 ++++++++++++++++++++++------- dkarm-eabi/scripts/build-gcc.sh | 2 +- 3 files changed, 213 insertions(+), 65 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index b458ed3..e09313f 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,6 +1,6 @@ #!/bin/bash #--------------------------------------------------------------------------------- -# devkitARM release 52 +# devkitARM release 52-2 # devkitPPC release 35 # devkitA64 release 13 #--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/patches/gdb-8.2.1.patch b/dkarm-eabi/patches/gdb-8.2.1.patch index d32afd5..3fc0d97 100644 --- a/dkarm-eabi/patches/gdb-8.2.1.patch +++ b/dkarm-eabi/patches/gdb-8.2.1.patch @@ -1,7 +1,29 @@ -diff -NBaur gdb-8.2.1/gdb/arm-3ds-tdep.c gdb-8.2.1-apple/gdb/arm-3ds-tdep.c ---- gdb-8.2.1/gdb/arm-3ds-tdep.c 1970-01-01 01:00:00.000000000 +0100 -+++ gdb-8.2.1-apple/gdb/arm-3ds-tdep.c 2019-02-19 17:15:22.100604954 +0000 -@@ -0,0 +1,157 @@ +diff --git a/gdb/Makefile.in b/gdb/Makefile.in +index 9799a7a65d..ccd3f8a626 100644 +--- a/gdb/Makefile.in ++++ b/gdb/Makefile.in +@@ -684,6 +684,7 @@ ALL_TARGET_OBS = \ + arch/arm-linux.o \ + arch/i386.o \ + arch/ppc-linux-common.o \ ++ arm-3ds-tdep.o \ + arm-bsd-tdep.o \ + arm-fbsd-tdep.o \ + arm-linux-tdep.o \ +@@ -2213,6 +2214,7 @@ ALLDEPFILES = \ + amd64-tdep.c \ + arc-tdep.c \ + arm.c \ ++ arm-3ds-tdep.c \ + arm-bsd-tdep.c \ + arm-fbsd-nat.c \ + arm-fbsd-tdep.c \ +diff --git a/gdb/arm-3ds-tdep.c b/gdb/arm-3ds-tdep.c +new file mode 100644 +index 0000000000..c41336982b +--- /dev/null ++++ b/gdb/arm-3ds-tdep.c +@@ -0,0 +1,291 @@ +/* Target-dependent code for 3DS. */ + +/* This uses code from GDB, which license is: */ @@ -49,6 +71,32 @@ diff -NBaur gdb-8.2.1/gdb/arm-3ds-tdep.c gdb-8.2.1-apple/gdb/arm-3ds-tdep.c + NULL, +}; + ++/* single_step() is called just before we want to resume the inferior, ++ if we want to single-step it but there is no hardware or kernel ++ single-step support. We find the target of the coming instructions ++ and breakpoint them. */ ++ ++std::vector ++arm_3ds_software_single_step (struct regcache *regcache) ++{ ++ struct gdbarch *gdbarch = regcache->arch (); ++ struct arm_get_next_pcs next_pcs_ctx; ++ ++ arm_get_next_pcs_ctor (&next_pcs_ctx, ++ &arm_3ds_get_next_pcs_ops, ++ gdbarch_byte_order (gdbarch), ++ gdbarch_byte_order_for_code (gdbarch), ++ 0, ++ regcache); ++ ++ std::vector next_pcs = arm_get_next_pcs (&next_pcs_ctx); ++ ++ for (CORE_ADDR &pc_ref : next_pcs) ++ pc_ref = gdbarch_addr_bits_remove (gdbarch, pc_ref); ++ ++ return next_pcs; ++} ++ +static CORE_ADDR +arm_3ds_get_next_pcs_syscall_next_pc (struct arm_get_next_pcs *self) +{ @@ -124,6 +172,108 @@ diff -NBaur gdb-8.2.1/gdb/arm-3ds-tdep.c gdb-8.2.1-apple/gdb/arm-3ds-tdep.c + return svc_number; +} + ++/* Implement the breakpoint_kind_from_pc gdbarch method. */ ++ ++static int ++arm_3ds_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr) ++{ ++ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); ++ enum bfd_endian byte_order_for_code = gdbarch_byte_order_for_code (gdbarch); ++ ++ if (arm_pc_is_thumb (gdbarch, *pcptr)) ++ { ++ *pcptr = UNMAKE_THUMB_ADDR (*pcptr); ++ ++ /* If we have a separate 32-bit breakpoint instruction for Thumb-2, ++ check whether we are replacing a 32-bit instruction. */ ++ if (tdep->thumb2_breakpoint != NULL) ++ { ++ gdb_byte buf[2]; ++ ++ if (target_read_memory (*pcptr, buf, 2) == 0) ++ { ++ unsigned short inst1; ++ ++ inst1 = extract_unsigned_integer (buf, 2, byte_order_for_code); ++ if (thumb_insn_size (inst1) == 4) ++ return ARM_BP_KIND_THUMB2; ++ } ++ } ++ ++ return ARM_BP_KIND_THUMB; ++ } ++ else ++ return ARM_BP_KIND_ARM; ++ ++} ++ ++/* Implement the sw_breakpoint_from_kind gdbarch method. */ ++ ++static const gdb_byte * ++arm_3ds_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size) ++{ ++ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); ++ ++ switch (kind) ++ { ++ case ARM_BP_KIND_ARM: ++ *size = tdep->arm_breakpoint_size; ++ return tdep->arm_breakpoint; ++ case ARM_BP_KIND_THUMB: ++ *size = tdep->thumb_breakpoint_size; ++ return tdep->thumb_breakpoint; ++ case ARM_BP_KIND_THUMB2: ++ *size = tdep->thumb2_breakpoint_size; ++ return tdep->thumb2_breakpoint; ++ default: ++ gdb_assert_not_reached ("unexpected arm breakpoint kind"); ++ } ++} ++ ++/* Implement the breakpoint_kind_from_current_state gdbarch method. */ ++ ++static int ++arm_3ds_breakpoint_kind_from_current_state (struct gdbarch *gdbarch, ++ struct regcache *regcache, ++ CORE_ADDR *pcptr) ++{ ++ gdb_byte buf[4]; ++ ++ /* Check the memory pointed by PC is readable. */ ++ if (target_read_memory (regcache_read_pc (regcache), buf, 4) == 0) ++ { ++ struct arm_get_next_pcs next_pcs_ctx; ++ ++ arm_get_next_pcs_ctor (&next_pcs_ctx, ++ &arm_3ds_get_next_pcs_ops, ++ gdbarch_byte_order (gdbarch), ++ gdbarch_byte_order_for_code (gdbarch), ++ 0, ++ regcache); ++ ++ std::vector next_pcs = arm_get_next_pcs (&next_pcs_ctx); ++ ++ /* If MEMADDR is the next instruction of current pc, do the ++ software single step computation, and get the thumb mode by ++ the destination address. */ ++ for (CORE_ADDR pc : next_pcs) ++ { ++ if (UNMAKE_THUMB_ADDR (pc) == *pcptr) ++ { ++ if (IS_THUMB_ADDR (pc)) ++ { ++ *pcptr = MAKE_THUMB_ADDR (*pcptr); ++ return arm_3ds_breakpoint_kind_from_pc (gdbarch, pcptr); ++ } ++ else ++ return ARM_BP_KIND_ARM; ++ } ++ } ++ } ++ ++ return arm_3ds_breakpoint_kind_from_pc (gdbarch, pcptr); ++} ++ +static void +arm_3ds_init_abi (struct gdbarch_info info, + struct gdbarch *gdbarch) @@ -146,7 +296,13 @@ diff -NBaur gdb-8.2.1/gdb/arm-3ds-tdep.c gdb-8.2.1-apple/gdb/arm-3ds-tdep.c + tdep->fp_model = ARM_FLOAT_VFP; + + /* Single stepping. */ -+ set_gdbarch_software_single_step (gdbarch, arm_software_single_step); ++ set_gdbarch_software_single_step (gdbarch, arm_3ds_software_single_step); ++ ++ /* Breakpoint manipulation. */ ++ set_gdbarch_breakpoint_kind_from_pc (gdbarch, arm_3ds_breakpoint_kind_from_pc); ++ set_gdbarch_sw_breakpoint_from_kind (gdbarch, arm_3ds_sw_breakpoint_from_kind); ++ set_gdbarch_breakpoint_kind_from_current_state (gdbarch, ++ arm_3ds_breakpoint_kind_from_current_state); + + /* `catch syscall' */ + set_xml_syscall_file_name (gdbarch, "syscalls/arm-3ds.xml"); @@ -159,10 +315,11 @@ diff -NBaur gdb-8.2.1/gdb/arm-3ds-tdep.c gdb-8.2.1-apple/gdb/arm-3ds-tdep.c + gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_3DS, + arm_3ds_init_abi); +} -diff -NBaur gdb-8.2.1/gdb/configure.tgt gdb-8.2.1-apple/gdb/configure.tgt ---- gdb-8.2.1/gdb/configure.tgt 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/configure.tgt 2019-02-19 17:15:22.104618045 +0000 -@@ -61,7 +61,7 @@ +diff --git a/gdb/configure.tgt b/gdb/configure.tgt +index f197160896..e2835ddef5 100644 +--- a/gdb/configure.tgt ++++ b/gdb/configure.tgt +@@ -61,7 +61,7 @@ arc*-*-*) ;; arm*-*-*) @@ -171,10 +328,11 @@ diff -NBaur gdb-8.2.1/gdb/configure.tgt gdb-8.2.1-apple/gdb/configure.tgt hppa*-*-*) # Target: HP PA-RISC -diff -NBaur gdb-8.2.1/gdb/data-directory/Makefile.in gdb-8.2.1-apple/gdb/data-directory/Makefile.in ---- gdb-8.2.1/gdb/data-directory/Makefile.in 2018-01-05 04:07:23.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/data-directory/Makefile.in 2019-02-19 17:15:22.104618045 +0000 -@@ -63,7 +63,7 @@ +diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in +index 753e0b69a3..645eb043b9 100644 +--- a/gdb/data-directory/Makefile.in ++++ b/gdb/data-directory/Makefile.in +@@ -63,7 +63,7 @@ GEN_SYSCALLS_FILES = \ sparc-linux.xml \ sparc64-linux.xml @@ -183,10 +341,11 @@ diff -NBaur gdb-8.2.1/gdb/data-directory/Makefile.in gdb-8.2.1-apple/gdb/data-di PYTHON_DIR = python PYTHON_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(PYTHON_DIR) -diff -NBaur gdb-8.2.1/gdb/defs.h gdb-8.2.1-apple/gdb/defs.h ---- gdb-8.2.1/gdb/defs.h 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/defs.h 2019-02-19 17:15:22.104618045 +0000 -@@ -495,6 +495,7 @@ +diff --git a/gdb/defs.h b/gdb/defs.h +index fc4217005a..a179a6d820 100644 +--- a/gdb/defs.h ++++ b/gdb/defs.h +@@ -495,6 +495,7 @@ enum gdb_osabi GDB_OSABI_LYNXOS178, GDB_OSABI_NEWLIB, GDB_OSABI_SDE, @@ -194,10 +353,11 @@ diff -NBaur gdb-8.2.1/gdb/defs.h gdb-8.2.1-apple/gdb/defs.h GDB_OSABI_INVALID /* keep this last */ }; -diff -NBaur gdb-8.2.1/gdb/dtrace-probe.c gdb-8.2.1-apple/gdb/dtrace-probe.c ---- gdb-8.2.1/gdb/dtrace-probe.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/dtrace-probe.c 2019-02-19 17:30:16.449175937 +0000 -@@ -100,7 +100,7 @@ +diff --git a/gdb/dtrace-probe.c b/gdb/dtrace-probe.c +index fa4e06e794..b6afc4cc7c 100644 +--- a/gdb/dtrace-probe.c ++++ b/gdb/dtrace-probe.c +@@ -100,7 +100,7 @@ public: /* DTrace static_probe_ops. */ @@ -206,29 +366,11 @@ diff -NBaur gdb-8.2.1/gdb/dtrace-probe.c gdb-8.2.1-apple/gdb/dtrace-probe.c /* The following structure represents a dtrace probe. */ -diff -NBaur gdb-8.2.1/gdb/Makefile.in gdb-8.2.1-apple/gdb/Makefile.in ---- gdb-8.2.1/gdb/Makefile.in 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/Makefile.in 2019-02-19 17:15:22.104618045 +0000 -@@ -684,6 +684,7 @@ - arch/arm-linux.o \ - arch/i386.o \ - arch/ppc-linux-common.o \ -+ arm-3ds-tdep.o \ - arm-bsd-tdep.o \ - arm-fbsd-tdep.o \ - arm-linux-tdep.o \ -@@ -2213,6 +2214,7 @@ - amd64-tdep.c \ - arc-tdep.c \ - arm.c \ -+ arm-3ds-tdep.c \ - arm-bsd-tdep.c \ - arm-fbsd-nat.c \ - arm-fbsd-tdep.c \ -diff -NBaur gdb-8.2.1/gdb/osabi.c gdb-8.2.1-apple/gdb/osabi.c ---- gdb-8.2.1/gdb/osabi.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/osabi.c 2019-02-19 17:15:22.104618045 +0000 -@@ -80,6 +80,7 @@ +diff --git a/gdb/osabi.c b/gdb/osabi.c +index 7d0540b181..49d3f78331 100644 +--- a/gdb/osabi.c ++++ b/gdb/osabi.c +@@ -80,6 +80,7 @@ static const struct osabi_names gdb_osabi_names[] = { "LynxOS178", NULL }, { "Newlib", NULL }, { "SDE", NULL }, @@ -236,10 +378,11 @@ diff -NBaur gdb-8.2.1/gdb/osabi.c gdb-8.2.1-apple/gdb/osabi.c { "", NULL } }; -diff -NBaur gdb-8.2.1/gdb/probe.c gdb-8.2.1-apple/gdb/probe.c ---- gdb-8.2.1/gdb/probe.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/probe.c 2019-02-19 17:31:05.266578008 +0000 -@@ -60,7 +60,7 @@ +diff --git a/gdb/probe.c b/gdb/probe.c +index 1f3da213ef..4acbeb8704 100644 +--- a/gdb/probe.c ++++ b/gdb/probe.c +@@ -60,7 +60,7 @@ public: /* Static operations associated with a generic probe. */ @@ -248,10 +391,11 @@ diff -NBaur gdb-8.2.1/gdb/probe.c gdb-8.2.1-apple/gdb/probe.c /* A helper for parse_probes that decodes a probe specification in SEARCH_PSPACE. It appends matching SALs to RESULT. */ -diff -NBaur gdb-8.2.1/gdb/record-btrace.c gdb-8.2.1-apple/gdb/record-btrace.c ---- gdb-8.2.1/gdb/record-btrace.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/record-btrace.c 2019-02-19 17:31:33.301731324 +0000 -@@ -144,7 +144,7 @@ +diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c +index 09a3f6cc5c..9f90a6b436 100644 +--- a/gdb/record-btrace.c ++++ b/gdb/record-btrace.c +@@ -144,7 +144,7 @@ static record_btrace_target record_btrace_ops; /* Token associated with a new-thread observer enabling branch tracing for the new thread. */ @@ -260,10 +404,11 @@ diff -NBaur gdb-8.2.1/gdb/record-btrace.c gdb-8.2.1-apple/gdb/record-btrace.c /* Memory access types used in set/show record btrace replay-memory-access. */ static const char replay_memory_access_read_only[] = "read-only"; -diff -NBaur gdb-8.2.1/gdb/stap-probe.c gdb-8.2.1-apple/gdb/stap-probe.c ---- gdb-8.2.1/gdb/stap-probe.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/stap-probe.c 2019-02-19 17:29:35.744567941 +0000 -@@ -119,7 +119,7 @@ +diff --git a/gdb/stap-probe.c b/gdb/stap-probe.c +index ed7e1a0d3f..42fad3835f 100644 +--- a/gdb/stap-probe.c ++++ b/gdb/stap-probe.c +@@ -119,7 +119,7 @@ public: /* SystemTap static_probe_ops. */ @@ -272,9 +417,11 @@ diff -NBaur gdb-8.2.1/gdb/stap-probe.c gdb-8.2.1-apple/gdb/stap-probe.c class stap_probe : public probe { -diff -NBaur gdb-8.2.1/gdb/syscalls/arm-3ds.xml gdb-8.2.1-apple/gdb/syscalls/arm-3ds.xml ---- gdb-8.2.1/gdb/syscalls/arm-3ds.xml 1970-01-01 01:00:00.000000000 +0100 -+++ gdb-8.2.1-apple/gdb/syscalls/arm-3ds.xml 2019-02-19 17:15:22.104618045 +0000 +diff --git a/gdb/syscalls/arm-3ds.xml b/gdb/syscalls/arm-3ds.xml +new file mode 100644 +index 0000000000..48780b7bd5 +--- /dev/null ++++ b/gdb/syscalls/arm-3ds.xml @@ -0,0 +1,159 @@ + + @@ -435,10 +582,11 @@ diff -NBaur gdb-8.2.1/gdb/syscalls/arm-3ds.xml gdb-8.2.1-apple/gdb/syscalls/arm- + + + -diff -NBaur gdb-8.2.1/gdb/tui/tui-hooks.c gdb-8.2.1-apple/gdb/tui/tui-hooks.c ---- gdb-8.2.1/gdb/tui/tui-hooks.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/tui/tui-hooks.c 2019-02-19 17:28:53.178460364 +0000 -@@ -205,7 +205,7 @@ +diff --git a/gdb/tui/tui-hooks.c b/gdb/tui/tui-hooks.c +index efa02e2f08..1c341dcf47 100644 +--- a/gdb/tui/tui-hooks.c ++++ b/gdb/tui/tui-hooks.c +@@ -205,7 +205,7 @@ tui_normal_stop (struct bpstats *bs, int print_frame) /* Token associated with observers registered while TUI hooks are installed. */ diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 5576f9f..75f400f 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -64,7 +64,7 @@ then --prefix=$prefix \ --enable-lto\ --with-system-zlib \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 52" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 52-2" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } From fe202a6f50cd5df4634595e8a66d0e7aefe8c92e Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 23 Jun 2019 10:30:17 +0100 Subject: [PATCH 088/280] devkitARM: update gcc to 9.1.0 --- dkarm-eabi/patches/gcc-9.1.0.patch | 215 +++++++++++++++++++++++++++++ dkarm-eabi/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 3 files changed, 217 insertions(+), 2 deletions(-) create mode 100644 dkarm-eabi/patches/gcc-9.1.0.patch diff --git a/dkarm-eabi/patches/gcc-9.1.0.patch b/dkarm-eabi/patches/gcc-9.1.0.patch new file mode 100644 index 0000000..9d91e29 --- /dev/null +++ b/dkarm-eabi/patches/gcc-9.1.0.patch @@ -0,0 +1,215 @@ +diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in +index 3a55f6ac6d2..1a16dcc1c74 100644 +--- a/gcc/config/arm/arm-cpus.in ++++ b/gcc/config/arm/arm-cpus.in +@@ -352,7 +352,7 @@ begin arch armv6k + tune for mpcore + tune flags CO_PROC + base 6K +- isa ARMv6k ++ isa ARMv6k VFPv2 FP_DBL + option fp add VFPv2 FP_DBL + optalias vfpv2 fp + option nofp remove ALL_FP +diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf +index 8911d489f14..b1976386bab 100644 +--- a/gcc/config/arm/t-arm-elf ++++ b/gcc/config/arm/t-arm-elf +@@ -1,4 +1,4 @@ +-# Copyright (C) 1998-2019 Free Software Foundation, Inc. ++# Copyright (C) 1998-2017 Free Software Foundation, Inc. + # + # This file is part of GCC. + # +@@ -16,111 +16,14 @@ + # along with GCC; see the file COPYING3. If not see + # . + +-# Build a very basic set of libraries that should cater for most cases. +- +-# Single-precision floating-point is NOT supported; we don't build a +-# suitable library for that. Use the rm-profile config in that case. +- +-# PART 1 - Useful groups of options +- +-dp_fpus := vfp vfpv2 vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16 \ +- neon neon-vfpv3 neon-fp16 vfpv4 neon-vfpv4 vfpv4-d16 \ +- fpv5-d16 fp-armv8 neon-fp-armv8 crypto-neon-fp-armv8 \ +- vfp3 +- +-sp_fpus := vfpv3xd vfpv3xd-fp16 fpv4-sp-d16 fpv5-sp-d16 +- +-v7a_fps := vfpv3 vfpv3-fp16 vfpv4 simd neon-fp16 neon-vfpv4 +-v7ve_fps := vfpv3-d16 vfpv3 vfpv3-d16-fp16 vfpv3-fp16 vfpv4 neon \ +- neon-fp16 simd +- +-# Not all these permutations exist for all architecture variants, but +-# it seems to work ok. +-v8_fps := simd fp16 crypto fp16+crypto dotprod fp16fml +- +-# We don't do anything special with these. Pre-v4t probably doesn't work. +-all_early_nofp := armv4 armv4t armv5t +- +-all_early_arch := armv5tej armv6 armv6j armv6k armv6z armv6kz \ +- armv6zk armv6t2 iwmmxt iwmmxt2 +- +-all_v7_a_r := armv7-a armv7ve armv7-r +- +-all_v8_archs := armv8-a armv8-a+crc armv8.1-a armv8.2-a armv8.3-a armv8.4-a \ +- armv8.5-a +- +-# No floating point variants, require thumb1 softfp +-all_nofp_t := armv6-m armv6s-m armv8-m.base +- +-all_nofp_t2 := armv7-m +- +-all_sp_only := armv7e-m armv8-m.main +- +-MULTILIB_OPTIONS = +-MULTILIB_DIRNAMES = ++MULTILIB_OPTIONS = mthumb mbig-endian march=armv6k mfloat-abi=hard ++MULTILIB_DIRNAMES = thumb be armv6k fpu + MULTILIB_EXCEPTIONS = + MULTILIB_MATCHES = +-MULTILIB_REUSE = +- +-# PART 2 - multilib build rules +- +-MULTILIB_OPTIONS += marm/mthumb +-MULTILIB_DIRNAMES += arm thumb +- +-MULTILIB_OPTIONS += mfpu=auto +-MULTILIB_DIRNAMES += autofp +- +-MULTILIB_OPTIONS += march=armv5te+fp/march=armv7+fp +-MULTILIB_DIRNAMES += v5te v7 +- +-MULTILIB_OPTIONS += mfloat-abi=hard +-MULTILIB_DIRNAMES += fpu +- +-# Build a total of 4 library variants (base options plus the following): +-MULTILIB_REQUIRED += mthumb +-MULTILIB_REQUIRED += marm/mfpu=auto/march=armv5te+fp/mfloat-abi=hard +-MULTILIB_REQUIRED += mthumb/mfpu=auto/march=armv7+fp/mfloat-abi=hard +- +-# PART 3 - Match rules +- +-# Map all supported FPUs onto mfpu=auto +-MULTILIB_MATCHES += $(foreach FPU, $(dp_fpus), \ +- mfpu?auto=mfpu?$(FPU)) +- +-MULTILIB_MATCHES += march?armv5te+fp=march?armv5te +- +-MULTILIB_MATCHES += $(foreach ARCH, $(all_early_arch), \ +- march?armv5te+fp=march?$(ARCH) \ +- march?armv5te+fp=march?$(ARCH)+fp) +- +-MULTILIB_MATCHES += march?armv7+fp=march?armv7 +- +-MULTILIB_MATCHES += $(foreach FPARCH, $(v7a_fps), \ +- march?armv7+fp=march?armv7-a+$(FPARCH)) +- +-MULTILIB_MATCHES += $(foreach FPARCH, $(v7ve_fps), \ +- march?armv7+fp=march?armv7ve+$(FPARCH)) +- +-MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \ +- march?armv7+fp=march?$(ARCH) \ +- march?armv7+fp=march?$(ARCH)+fp) + +-MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \ +- march?armv7+fp=march?$(ARCH) \ +- $(foreach FPARCH, $(v8_fps), \ +- march?armv7+fp=march?$(ARCH)+$(FPARCH))) ++MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard + +-MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \ +- march?armv7+fp=march?$(ARCH)+fp.dp) + +-# PART 4 - Reuse rules ++MULTILIB_MATCHES += march?armv6k=mtune?mpcore ++MULTILIB_MATCHES += march?armv6k=mcpu?mpcore + +-MULTILIB_REUSE += mthumb=mthumb/mfpu.auto +-MULTILIB_REUSE += mthumb=mthumb/mfpu.auto/march.armv5te+fp +-MULTILIB_REUSE += mthumb=mthumb/march.armv5te+fp +-MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=marm/march.armv5te+fp/mfloat-abi.hard +-MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=march.armv5te+fp/mfloat-abi.hard +-MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=mfpu.auto/march.armv5te+fp/mfloat-abi.hard +-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard +-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard +-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard +diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h +index cf9ba6b4dc0..008d7555ecb 100644 +--- a/gcc/config/arm/unknown-elf.h ++++ b/gcc/config/arm/unknown-elf.h +@@ -29,7 +29,7 @@ + #endif + + /* Now we define the strings used to build the spec file. */ +-#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" ++#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s" + + #undef STARTFILE_SPEC + #define STARTFILE_SPEC \ +@@ -93,4 +93,5 @@ + udivmoddi4, which will depend on the exception unwind routines, + which will depend on abort, which is defined in libc. */ + #undef LINK_GCC_C_SEQUENCE_SPEC +-#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %{!nolibc:%L} --end-group" ++#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" ++ +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 4f57765b012..2899202cc05 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -794,6 +794,11 @@ proper position among the other output files. */ + #endif + #endif + ++#ifndef LIBGLOSS_SPEC ++# define LIBGLOSS_SPEC "-lsysbase" ++#endif ++ ++ + /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ + #ifndef STARTFILE_SPEC + #define STARTFILE_SPEC \ +@@ -1086,6 +1091,7 @@ static const char *link_spec = LINK_SPEC; + static const char *lib_spec = LIB_SPEC; + static const char *link_gomp_spec = ""; + static const char *libgcc_spec = LIBGCC_SPEC; ++static const char *libgloss_spec = LIBGLOSS_SPEC; + static const char *endfile_spec = ENDFILE_SPEC; + static const char *startfile_spec = STARTFILE_SPEC; + static const char *linker_name_spec = LINKER_NAME; +@@ -1583,6 +1589,7 @@ static struct spec_list static_specs[] = + INIT_STATIC_SPEC ("lib", &lib_spec), + INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), + INIT_STATIC_SPEC ("libgcc", &libgcc_spec), ++ INIT_STATIC_SPEC ("libgloss", &libgloss_spec), + INIT_STATIC_SPEC ("startfile", &startfile_spec), + INIT_STATIC_SPEC ("cross_compile", &cross_compile), + INIT_STATIC_SPEC ("version", &compiler_version), +diff --git a/libgcc/config/arm/t-bpabi b/libgcc/config/arm/t-bpabi +index dddddc7c444..c2502597953 100644 +--- a/libgcc/config/arm/t-bpabi ++++ b/libgcc/config/arm/t-bpabi +@@ -17,4 +17,4 @@ SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver + # On ARM, specifying -fnon-call-exceptions will needlessly pull in + # the unwinder in simple programs which use 64-bit division. Omitting + # the option is safe. +-LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions ++LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions +diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c +index 4927a9f8977..2a79e3e137d 100644 +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -47,7 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + + /* Target machine header files require this define. */ + #define IN_LIBGCC2 +- ++#define USED_FOR_TARGET + /* FIXME: Including auto-host is incorrect, but until we have + identified the set of defines that need to go into auto-target.h, + this will have to do. */ diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 75f400f..2eabc62 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -64,7 +64,7 @@ then --prefix=$prefix \ --enable-lto\ --with-system-zlib \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 52-2" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 53" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } diff --git a/select_toolchain.sh b/select_toolchain.sh index 0abf1fe..16a6c45 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,7 +30,7 @@ done case "$VERSION" in "1" ) - GCC_VER=8.3.0 + GCC_VER=9.1.0 BINUTILS_VER=2.32 NEWLIB_VER=3.1.0 GDB_VER=8.2.1 From c2aae79d59bf31653436fcaaba8600da591682e5 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 23 Jun 2019 10:28:25 +0100 Subject: [PATCH 089/280] devkitARM: latest newlib patch --- dkarm-eabi/patches/newlib-3.1.0.patch | 170 +++++++++++++------------- 1 file changed, 87 insertions(+), 83 deletions(-) diff --git a/dkarm-eabi/patches/newlib-3.1.0.patch b/dkarm-eabi/patches/newlib-3.1.0.patch index b6454d1..b115915 100644 --- a/dkarm-eabi/patches/newlib-3.1.0.patch +++ b/dkarm-eabi/patches/newlib-3.1.0.patch @@ -33,7 +33,7 @@ index 41843eed1..dc0e2a5fd 100644 AS=${AS-as} diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in new file mode 100644 -index 000000000..0d2be31c6 +index 000000000..7ee40deec --- /dev/null +++ b/libgloss/libsysbase/Makefile.in @@ -0,0 +1,148 @@ @@ -104,7 +104,7 @@ index 000000000..0d2be31c6 + else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi` + +# object files needed -+OBJS = abort.o iosupport.o clocks.o close.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ ++OBJS = abort.o iosupport.o clocks.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ + isatty.o kill.o link.o lseek.o lstat.o nanosleep.o open.o read.o sbrk.o sleep.o stat.o usleep.o times.o \ + unlink.o wait.o write.o _exit.o malloc_vars.o \ + chdir.o mkdir.o rename.o build_argv.o statvfs.o \ @@ -927,58 +927,6 @@ index 000000000..01cfee469 + } +} + -diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c -new file mode 100644 -index 000000000..931ad07b1 ---- /dev/null -+++ b/libgloss/libsysbase/close.c -@@ -0,0 +1,46 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _close_r(struct _reent *ptr, int fileDesc) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _close(int fileDesc) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ if(fileDesc!=-1) { -+ -+ __handle *handle = __get_handle(fileDesc); -+ -+ if ( handle != NULL) { -+ dev = handle->device; -+ handle->refcount--; -+ if (handle->refcount == 0 ) { -+ -+ if(devoptab_list[dev]->close_r) { -+ ptr->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->close_r(ptr,handle->fileStruct); -+ } -+ else -+ ret = 0; -+ -+ __release_handle(fileDesc); -+ } else { -+ ret = 0; -+ } -+ -+ } -+ } -+ return ret; -+} diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in new file mode 100644 index 000000000..48ce950b4 @@ -1012,7 +960,7 @@ index 000000000..48ce950b4 +#undef __SYMBOL_PREFIX diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure new file mode 100644 -index 000000000..c4b5a79b6 +index 000000000..7fe331552 --- /dev/null +++ b/libgloss/libsysbase/configure @@ -0,0 +1,4158 @@ @@ -1599,7 +1547,7 @@ index 000000000..c4b5a79b6 +PACKAGE_BUGREPORT= +PACKAGE_URL= + -+ac_unique_file="close.c" ++ac_unique_file="abort.c" +ac_subst_vars='LTLIBOBJS +LIBOBJS +host_makefile_frag_path @@ -5176,7 +5124,7 @@ index 000000000..c4b5a79b6 + diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in new file mode 100644 -index 000000000..bf276a413 +index 000000000..3da91ed98 --- /dev/null +++ b/libgloss/libsysbase/configure.in @@ -0,0 +1,199 @@ @@ -5195,7 +5143,7 @@ index 000000000..bf276a413 +# Process this file with autoconf to produce a configure script. +# +AC_PREREQ(2.59) -+AC_INIT(close.c) ++AC_INIT(abort.c) +AC_CONFIG_HEADER(config.h) + +if test "${enable_shared}" = "yes" ; then @@ -6001,10 +5949,13 @@ index 000000000..9d5b74724 + diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c new file mode 100644 -index 000000000..f3fcc88f7 +index 000000000..6bf9ab89e --- /dev/null +++ b/libgloss/libsysbase/handle_manager.c -@@ -0,0 +1,173 @@ +@@ -0,0 +1,229 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> +#include +#include +#include @@ -6025,7 +5976,7 @@ index 000000000..f3fcc88f7 + +__LOCK_INIT(static, __hndl_lock); + -+void __free_handle(__handle *handle) { ++static void __free_handle(__handle *handle) { + + if ( NULL != handle + && handle != &__stdin_handle @@ -6093,8 +6044,11 @@ index 000000000..f3fcc88f7 + + if ( fd < 0 || fd >= MAX_HANDLES ) return NULL; + -+ return handles[fd]; ++ __lock_acquire (__hndl_lock); ++ __handle *handle = handles[fd]; ++ __lock_release (__hndl_lock); + ++ return handle; +} + +int dup(int oldfd) { @@ -6126,57 +6080,107 @@ index 000000000..f3fcc88f7 + +int dup2(int oldfd, int newfd) { + -+ -+ __lock_acquire (__hndl_lock); -+ + if ( newfd < 0 || newfd >= MAX_HANDLES || ++ oldfd < 0 || oldfd >= MAX_HANDLES) { + -+ oldfd < 0 || oldfd >= MAX_HANDLES || -+ handles[oldfd] == NULL ) { -+ -+ __lock_release (__hndl_lock); + errno = EBADF; + + return -1; + } + + if ( newfd == oldfd ) { -+ __lock_release (__hndl_lock); + return newfd; + } + ++ __lock_acquire (__hndl_lock); + -+ __handle *handle = handles[newfd]; -+ -+ if ( NULL != handle ) { -+ -+ handle->refcount--; ++ if ( handles[oldfd] == NULL ) { ++ __lock_release (__hndl_lock); ++ errno = EBADF; + ++ return -1; + } + ++ __handle *handle = handles[newfd]; ++ + handles[newfd] = handles[oldfd]; + handles[newfd]->refcount++; + -+ __lock_release (__hndl_lock); ++ if ( handle ) { + -+ if ( NULL != handle ) { ++ int ref = --handle->refcount; ++ __lock_release (__hndl_lock); + -+ if (handle->refcount == 0 ) { ++ if ( ref == 0 ) { + -+ if( devoptab_list[handle->device]->close_r != NULL) { ++ if ( devoptab_list[handle->device]->close_r ) { + ++ _REENT->deviceData = devoptab_list[handle->device]->deviceData; + devoptab_list[handle->device]->close_r(_REENT,handle->fileStruct); + -+ } else { -+ -+ __free_handle(handle); -+ + } ++ ++ __free_handle(handle); + } ++ ++ } else { ++ ++ __lock_release (__hndl_lock); ++ + } + + return newfd; ++} ++ ++#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- ++int _close_r(struct _reent *ptr, int fd) { ++//--------------------------------------------------------------------------------- ++#else ++//--------------------------------------------------------------------------------- ++int _close(int fd) { ++//--------------------------------------------------------------------------------- ++ struct _reent *ptr = _REENT; ++#endif ++ int ret = 0; + ++ if (fd < 0 || fd >= MAX_HANDLES) { ++ ++ ptr->_errno = EBADF; ++ return -1; ++ ++ } ++ ++ __lock_acquire (__hndl_lock); ++ ++ __handle *handle = handles[fd]; ++ ++ if ( !handle ) { ++ ++ __lock_release (__hndl_lock); ++ ptr->_errno = EBADF; ++ return -1; ++ ++ } ++ ++ int ref = --handle->refcount; ++ handles[fd] = NULL; ++ ++ __lock_release (__hndl_lock); ++ ++ if ( ref == 0 ) { ++ ++ if ( devoptab_list[handle->device]->close_r ) { ++ ++ ptr->deviceData = devoptab_list[handle->device]->deviceData; ++ ret = devoptab_list[handle->device]->close_r(ptr,handle->fileStruct); ++ ++ } ++ ++ __free_handle(handle); ++ } ++ ++ return ret; +} diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c new file mode 100644 From 96f7acc919f44a576e11a494bcd11df3190140ea Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 25 Jun 2019 22:04:51 +0100 Subject: [PATCH 090/280] remove library building from scripts --- build-devkit.sh | 40 +----------------- config.sh.sample | 6 --- dka64/scripts/build-libs.sh | 7 ---- dkarm-eabi/scripts/build-libs.sh | 71 -------------------------------- dkppc/scripts/build-libs.sh | 27 ------------ 5 files changed, 2 insertions(+), 149 deletions(-) delete mode 100644 dka64/scripts/build-libs.sh delete mode 100644 dkarm-eabi/scripts/build-libs.sh delete mode 100644 dkppc/scripts/build-libs.sh diff --git a/build-devkit.sh b/build-devkit.sh index e09313f..909f4ac 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,6 +1,6 @@ #!/bin/bash #--------------------------------------------------------------------------------- -# devkitARM release 52-2 +# devkitARM release 53-1 # devkitPPC release 35 # devkitA64 release 13 #--------------------------------------------------------------------------------- @@ -28,17 +28,10 @@ echo GENERAL_TOOLS_VER=1.0.2 -LIBGBA_VER=0.5.2 GBATOOLS_VER=1.1.0 DKARM_RULES_VER=1.0.0 DKARM_CRTLS_VER=1.0.0 -LIBNDS_VER=1.7.2 -DEFAULT_ARM7_VER=0.7.4 -DSWIFI_VER=0.4.2 -MAXMOD_VER=1.0.11 -FILESYSTEM_VER=0.9.14 -LIBFAT_VER=1.1.3 DSTOOLS_VER=1.2.1 GRIT_VER=0.8.15 NDSTOOL_VER=2.1.1 @@ -48,13 +41,9 @@ DFU_UTIL_VER=0.9.1 STLINK_VER=1.2.3 GAMECUBE_TOOLS_VER=1.0.2 -LIBOGC_VER=1.8.21 WIILOAD_VER=0.5.1 DKPPC_RULES_VER=1.0.0 -LIBCTRU_VER=1.5.1 -CITRO3D_VER=1.5.0 -CITRO2D_VER=1.1.0 TOOLS3DS_VER=1.1.4 LINK3DS_VER=0.5.2 PICASSO_VER=2.7.0 @@ -64,7 +53,6 @@ GP32_TOOLS_VER=1.0.3 LIBMIRKO_VER=0.9.8 SWITCH_TOOLS_VER=1.4.1 -LIBNX_VER=1.3.0 OSXMIN=${OSXMIN:-10.9} @@ -218,12 +206,6 @@ archives="binutils-${BINUTILS_VER}.tar.xz gcc-${GCC_VER}.tar.xz newlib-${NEWLIB_ if [ $VERSION -eq 1 ]; then - targetarchives="libnds-src-${LIBNDS_VER}.tar.bz2 libgba-src-${LIBGBA_VER}.tar.bz2 - libmirko-src-${LIBMIRKO_VER}.tar.bz2 dswifi-src-${DSWIFI_VER}.tar.bz2 maxmod-src-${MAXMOD_VER}.tar.bz2 - default-arm7-src-${DEFAULT_ARM7_VER}.tar.bz2 libfilesystem-src-${FILESYSTEM_VER}.tar.bz2 - libfat-src-${LIBFAT_VER}.tar.bz2 libctru-src-${LIBCTRU_VER}.tar.bz2 citro3d-src-${CITRO3D_VER}.tar.bz2 - citro2d-src-${CITRO2D_VER}.tar.bz2" - hostarchives="gba-tools-$GBATOOLS_VER.tar.bz2 gp32-tools-$GP32_TOOLS_VER.tar.bz2 dstools-$DSTOOLS_VER.tar.bz2 grit-$GRIT_VER.tar.bz2 ndstool-$NDSTOOL_VER.tar.bz2 general-tools-$GENERAL_TOOLS_VER.tar.bz2 mmutil-$MMUTIL_VER.tar.bz2 @@ -235,8 +217,6 @@ fi if [ $VERSION -eq 2 ]; then - targetarchives="libogc-src-${LIBOGC_VER}.tar.bz2 libfat-src-${LIBFAT_VER}.tar.bz2" - hostarchives="gamecube-tools-$GAMECUBE_TOOLS_VER.tar.bz2 wiiload-$WIILOAD_VER.tar.bz2 general-tools-$GENERAL_TOOLS_VER.tar.bz2" archives="binutils-${MN_BINUTILS_VER}.tar.bz2 devkitppc-rules-$DKPPC_RULES_VER.tar.xz $archives" @@ -244,8 +224,6 @@ fi if [ $VERSION -eq 3 ]; then - targetarchives=" libnx-src-${LIBNX_VER}.tar.bz2" - hostarchives="general-tools-$GENERAL_TOOLS_VER.tar.bz2 switch-tools-$SWITCH_TOOLS_VER.tar.bz2" fi @@ -258,7 +236,7 @@ else fi cd "$SRCDIR" -for archive in $archives $targetarchives $hostarchives +for archive in $archives $hostarchives do echo $archive if [ ! -f $archive ]; then @@ -279,16 +257,6 @@ if [ $VERSION -eq 2 ]; then extract_and_patch binutils $MN_BINUTILS_VER bz2 fi -for archive in $targetarchives -do - destdir=$(echo $archive | sed -e 's/\(.*\)-src-\(.*\)\.tar\.bz2/\1-\2/' ) - echo $destdir - if [ ! -d $destdir ]; then - mkdir -p $destdir - bzip2 -cd "$SRCDIR/$archive" | tar -xf - -C $destdir || { echo "Error extracting "$archive; exit 1; } - fi -done - for archive in $hostarchives do destdir=$(echo $archive | sed -e 's/\(.*\)-src-\(.*\)\.tar\.bz2/\1-\2/' ) @@ -306,10 +274,6 @@ if [ "$BUILD_DKPRO_SKIP_TOOLS" != "1" ] && [ -f $scriptdir/build-tools.sh ]; the . $scriptdir/build-tools.sh || { echo "Error building tools"; exit 1; }; cd $BUILDSCRIPTDIR; fi -if [ "$BUILD_DKPRO_SKIP_LIBRARIES" != "1" ] && [ -f $scriptdir/build-libs.sh ]; then - . $scriptdir/build-libs.sh || { echo "Error building libraries"; exit 1; }; cd $BUILDSCRIPTDIR; -fi - cd $BUILDSCRIPTDIR if [ ! -z $CROSSBUILD ] && grep -q "mingw" <<<"$CROSSBUILD" ; then diff --git a/config.sh.sample b/config.sh.sample index 01667cc..1754db4 100755 --- a/config.sh.sample +++ b/config.sh.sample @@ -35,12 +35,6 @@ BUILD_DKPRO_PACKAGE=0 #--------------------------------------------------------------------------------- #BUILD_DKPRO_SKIP_TOOLS=1 -#--------------------------------------------------------------------------------- -# Uncomment to skip building of libraries -#--------------------------------------------------------------------------------- -#BUILD_DKPRO_SKIP_LIBRARIES=1 - - # Automated script execution #--------------------------------------------------------------------------------- # 0: Ask to delete build folders & patched sources diff --git a/dka64/scripts/build-libs.sh b/dka64/scripts/build-libs.sh deleted file mode 100644 index 7fd43ee..0000000 --- a/dka64/scripts/build-libs.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -export DEVKITPRO=$TOOLPATH - -cd $BUILDDIR/libnx-$LIBNX_VER -$MAKE || { echo "error building libnx"; exit 1; } -$MAKE install || { echo "error installing libnx"; exit 1; } diff --git a/dkarm-eabi/scripts/build-libs.sh b/dkarm-eabi/scripts/build-libs.sh deleted file mode 100644 index 74446dd..0000000 --- a/dkarm-eabi/scripts/build-libs.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/sh - -#--------------------------------------------------------------------------------- -# set env variables -#--------------------------------------------------------------------------------- -export DEVKITPRO=$TOOLPATH -export DEVKITARM=$DEVKITPRO/devkitARM - -#--------------------------------------------------------------------------------- -# Install the rules files -#--------------------------------------------------------------------------------- -cd $BUILDDIR - -mkdir -p rules -cd rules -tar -xvf $SRCDIR/devkitarm-rules-$DKARM_RULES_VER.tar.xz -make install - -#--------------------------------------------------------------------------------- -# Install and build the crt0 files -#--------------------------------------------------------------------------------- -cd $BUILDDIR - -mkdir -p crtls -cd crtls -tar -xvf $SRCDIR/devkitarm-crtls-$DKARM_CRTLS_VER.tar.xz -make install - -cd $BUILDDIR/libgba-$LIBGBA_VER -$MAKE || { echo "error building libgba"; exit 1; } -$MAKE install || { echo "error installing libgba"; exit 1; } - -cd $BUILDDIR/libnds-$LIBNDS_VER -$MAKE || { echo "error building libnds"; exit 1; } -$MAKE install || { echo "error installing libnds"; exit 1; } - -cd $BUILDDIR/dswifi-$DSWIFI_VER -$MAKE || { echo "error building dswifi"; exit 1; } -$MAKE install || { echo "error installing dswifi"; exit 1; } - -cd $BUILDDIR/maxmod-$MAXMOD_VER -$MAKE || { echo "error building maxmod"; exit 1; } -$MAKE install || { echo "error installing maxmod"; exit 1; } - -cd $BUILDDIR/default_arm7-$DEFAULT_ARM7_VER -$MAKE || { echo "error building default arm7"; exit 1; } -$MAKE install || { echo "error installing default arm7"; exit 1; } - -cd $BUILDDIR/libfat-$LIBFAT_VER -$MAKE nds-install || { echo "error building nds libfat"; exit 1; } -$MAKE gba-install || { echo "error installing gba libfat"; exit 1; } - -#cd $BUILDDIR/libmirko-$LIBMIRKO_VER -#$MAKE || { echo "error building libmirko"; exit 1; } -#$MAKE install || { echo "error installing libmirko"; exit 1; } - -cd $BUILDDIR/libfilesystem-$FILESYSTEM_VER -$MAKE || { echo "error building libfilesystem"; exit 1; } -$MAKE install || { echo "error installing libfilesystem"; exit 1; } - -cd $BUILDDIR/libctru-$LIBCTRU_VER -$MAKE || { echo "error building libctru"; exit 1; } -$MAKE install || { echo "error installing libctru"; exit 1; } - -cd $BUILDDIR/citro3d-$CITRO3D_VER -$MAKE || { echo "error building citro3d"; exit 1; } -$MAKE install || { echo "error installing citro3d"; exit 1; } - -cd $BUILDDIR/citro2d-$CITRO2D_VER -$MAKE || { echo "error building citro2d"; exit 1; } -$MAKE install || { echo "error installing citro2d"; exit 1; } diff --git a/dkppc/scripts/build-libs.sh b/dkppc/scripts/build-libs.sh deleted file mode 100644 index d271da7..0000000 --- a/dkppc/scripts/build-libs.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -export DEVKITPPC=$TOOLPATH/devkitPPC -export DEVKITPRO=$TOOLPATH - -cd $BUILDDIR -mkdir -p rules -cd rules -tar -xvf $SRCDIR/devkitppc-rules-$DKPPC_RULES_VER.tar.xz -make install - -cd $BUILDDIR/libogc-$LIBOGC_VER - -if [ ! -f installed ]; then - echo "Building & installing libogc" - $MAKE install || { echo "libogc install failed"; exit 1; } - touch installed -fi - -cd $BUILDDIR/libfat-$LIBFAT_VER - -if [ ! -f installed ]; then - echo "Building & installing libfat" - $MAKE ogc-install || { echo "libfat install failed"; exit 1; } - touch installed -fi - From 736db33e06f94121969562cafe3ad8613bda43c3 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 28 Jun 2019 16:07:20 +0100 Subject: [PATCH 091/280] devkitARM: remove old gcc patch --- dkarm-eabi/patches/gcc-8.3.0.patch | 290 ----------------------------- 1 file changed, 290 deletions(-) delete mode 100644 dkarm-eabi/patches/gcc-8.3.0.patch diff --git a/dkarm-eabi/patches/gcc-8.3.0.patch b/dkarm-eabi/patches/gcc-8.3.0.patch deleted file mode 100644 index e6bfc06..0000000 --- a/dkarm-eabi/patches/gcc-8.3.0.patch +++ /dev/null @@ -1,290 +0,0 @@ -diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in -index ba194a80229..12e023c3728 100644 ---- a/gcc/config/arm/arm-cpus.in -+++ b/gcc/config/arm/arm-cpus.in -@@ -401,7 +401,7 @@ begin arch armv6k - tune for mpcore - tune flags CO_PROC - base 6K -- isa ARMv6k -+ isa ARMv6k VFPv2 FP_DBL - option fp add VFPv2 FP_DBL - optalias vfpv2 fp - option nofp remove ALL_FP -diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf -index 9ec5bf065ac..9ab3ffb109d 100644 ---- a/gcc/config/arm/t-arm-elf -+++ b/gcc/config/arm/t-arm-elf -@@ -1,4 +1,4 @@ --# Copyright (C) 1998-2018 Free Software Foundation, Inc. -+# Copyright (C) 1998-2017 Free Software Foundation, Inc. - # - # This file is part of GCC. - # -@@ -16,110 +16,83 @@ - # along with GCC; see the file COPYING3. If not see - # . - --# Build a very basic set of libraries that should cater for most cases. -- --# Single-precision floating-point is NOT supported; we don't build a --# suitable library for that. Use the rm-profile config in that case. -- --# PART 1 - Useful groups of options -- --dp_fpus := vfp vfpv2 vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16 \ -- neon neon-vfpv3 neon-fp16 vfpv4 neon-vfpv4 vfpv4-d16 \ -- fpv5-d16 fp-armv8 neon-fp-armv8 crypto-neon-fp-armv8 \ -- vfp3 -- --sp_fpus := vfpv3xd vfpv3xd-fp16 fpv4-sp-d16 fpv5-sp-d16 -- --v7a_fps := vfpv3 vfpv3-fp16 vfpv4 simd neon-fp16 neon-vfpv4 --v7ve_fps := vfpv3-d16 vfpv3 vfpv3-d16-fp16 vfpv3-fp16 vfpv4 neon \ -- neon-fp16 simd -- --# Not all these permutations exist for all architecture variants, but --# it seems to work ok. --v8_fps := simd fp16 crypto fp16+crypto dotprod fp16fml -- --# We don't do anything special with these. Pre-v4t probably doesn't work. --all_early_nofp := armv2 armv2a armv3 armv3m armv4 armv4t armv5 armv5t -- --all_early_arch := armv5e armv5tej armv6 armv6j armv6k armv6z armv6kz \ -- armv6zk armv6t2 iwmmxt iwmmxt2 -- --all_v7_a_r := armv7-a armv7ve armv7-r -- --all_v8_archs := armv8-a armv8-a+crc armv8.1-a armv8.2-a armv8.3-a armv8.4-a -- --# No floating point variants, require thumb1 softfp --all_nofp_t := armv6-m armv6s-m armv8-m.base -- --all_nofp_t2 := armv7-m -- --all_sp_only := armv7e-m armv8-m.main -- --MULTILIB_OPTIONS = --MULTILIB_DIRNAMES = -+MULTILIB_OPTIONS = mthumb mbig-endian march=armv6k mfloat-abi=hard -+MULTILIB_DIRNAMES = thumb be armv6k fpu - MULTILIB_EXCEPTIONS = - MULTILIB_MATCHES = --MULTILIB_REUSE = -- --# PART 2 - multilib build rules -- --MULTILIB_OPTIONS += marm/mthumb --MULTILIB_DIRNAMES += arm thumb -- --MULTILIB_OPTIONS += mfpu=auto --MULTILIB_DIRNAMES += autofp -- --MULTILIB_OPTIONS += march=armv5te+fp/march=armv7+fp --MULTILIB_DIRNAMES += v5te v7 -- --MULTILIB_OPTIONS += mfloat-abi=hard --MULTILIB_DIRNAMES += fpu -- --# Build a total of 4 library variants (base options plus the following): --MULTILIB_REQUIRED += mthumb --MULTILIB_REQUIRED += marm/mfpu=auto/march=armv5te+fp/mfloat-abi=hard --MULTILIB_REQUIRED += mthumb/mfpu=auto/march=armv7+fp/mfloat-abi=hard -- --# PART 3 - Match rules -- --# Map all supported FPUs onto mfpu=auto --MULTILIB_MATCHES += $(foreach FPU, $(dp_fpus), \ -- mfpu?auto=mfpu?$(FPU)) -- --MULTILIB_MATCHES += march?armv5te+fp=march?armv5te -- --MULTILIB_MATCHES += $(foreach ARCH, $(all_early_arch), \ -- march?armv5te+fp=march?$(ARCH) \ -- march?armv5te+fp=march?$(ARCH)+fp) -- --MULTILIB_MATCHES += march?armv7+fp=march?armv7 -- --MULTILIB_MATCHES += $(foreach FPARCH, $(v7a_fps), \ -- march?armv7+fp=march?armv7-a+$(FPARCH)) -- --MULTILIB_MATCHES += $(foreach FPARCH, $(v7ve_fps), \ -- march?armv7+fp=march?armv7ve+$(FPARCH)) -- --MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \ -- march?armv7+fp=march?$(ARCH) \ -- march?armv7+fp=march?$(ARCH)+fp) -- --MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \ -- march?armv7+fp=march?$(ARCH) \ -- $(foreach FPARCH, $(v8_fps), \ -- march?armv7+fp=march?$(ARCH)+$(FPARCH))) -- --MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \ -- march?armv7+fp=march?$(ARCH)+fp.dp) -- --# PART 4 - Reuse rules - --MULTILIB_REUSE += mthumb=mthumb/mfpu.auto --MULTILIB_REUSE += mthumb=mthumb/mfpu.auto/march.armv5te+fp --MULTILIB_REUSE += mthumb=mthumb/march.armv5te+fp --MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=marm/march.armv5te+fp/mfloat-abi.hard --MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=march.armv5te+fp/mfloat-abi.hard --MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=mfpu.auto/march.armv5te+fp/mfloat-abi.hard --MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard --MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard --MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard -+MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard -+ -+ -+MULTILIB_MATCHES += march?armv6k=mtune?mpcore -+MULTILIB_MATCHES += march?armv6k=mcpu?mpcore -+ -+ -+ -+#MULTILIB_OPTIONS += mcpu=fa526/mcpu=fa626/mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te -+#MULTILIB_DIRNAMES += fa526 fa626 fa606te fa626te fmp626 fa726te -+#MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=fa526 *mthumb*/*mcpu=fa626 -+ -+#MULTILIB_OPTIONS += march=armv7 -+#MULTILIB_DIRNAMES += thumb2 -+#MULTILIB_EXCEPTIONS += march=armv7* marm/*march=armv7* -+#MULTILIB_MATCHES += march?armv7=march?armv7-a -+#MULTILIB_MATCHES += march?armv7=march?armv7-r -+#MULTILIB_MATCHES += march?armv7=march?armv7-m -+#MULTILIB_MATCHES += march?armv7=mcpu?cortex-a8 -+#MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4 -+#MULTILIB_MATCHES += march?armv7=mcpu?cortex-m3 -+ -+# Not quite true. We can support hard-vfp calling in Thumb2, but how do we -+# express that here? Also, we really need architecture v5e or later -+# (mcrr etc). -+#MULTILIB_OPTIONS += mfloat-abi=hard -+#MULTILIB_DIRNAMES += fpu -+#MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard* -+#MULTILIB_EXCEPTIONS += *mcpu=fa526/*mfloat-abi=hard* -+#MULTILIB_EXCEPTIONS += *mcpu=fa626/*mfloat-abi=hard* -+ -+# MULTILIB_OPTIONS += mcpu=ep9312 -+# MULTILIB_DIRNAMES += ep9312 -+# MULTILIB_EXCEPTIONS += *mthumb/*mcpu=ep9312* -+# -+# MULTILIB_OPTIONS += mlittle-endian/mbig-endian -+# MULTILIB_DIRNAMES += le be -+# MULTILIB_MATCHES += mbig-endian=mbe mlittle-endian=mle -+# -+# MULTILIB_OPTIONS += mfloat-abi=hard/mfloat-abi=soft -+# MULTILIB_DIRNAMES += fpu soft -+# MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard* -+# -+# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork -+# MULTILIB_DIRNAMES += normal interwork -+# -+# MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore -+# MULTILIB_DIRNAMES += elf under -+# -+# MULTILIB_OPTIONS += mcpu=arm7 -+# MULTILIB_DIRNAMES += nofmult -+# MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=arm7* -+# # Note: the multilib_exceptions matches both -mthumb and -+# # -mthumb-interwork -+# # -+# # We have to match all the arm cpu variants which do not have the -+# # multiply instruction and treat them as if the user had specified -+# # -mcpu=arm7. Note that in the following the ? is interpreted as -+# # an = for the purposes of matching command line options. -+# # FIXME: There ought to be a better way to do this. -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7d -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7di -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm70 -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700 -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700i -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710 -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710c -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7100 -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500 -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500fe -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm6 -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm60 -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm600 -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm610 -+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm620 -diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h -index 12dd0931b08..59584fe64bc 100644 ---- a/gcc/config/arm/unknown-elf.h -+++ b/gcc/config/arm/unknown-elf.h -@@ -29,7 +29,7 @@ - #endif - - /* Now we define the strings used to build the spec file. */ --#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" -+#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s" - - #undef STARTFILE_SPEC - #define STARTFILE_SPEC \ -@@ -93,4 +93,9 @@ - udivmoddi4, which will depend on the exception unwind routines, - which will depend on abort, which is defined in libc. */ - #undef LINK_GCC_C_SEQUENCE_SPEC --#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L --end-group" -+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" -+ -+/* The system headers under devkitARM are C++-aware. */ -+#undef NO_IMPLICIT_EXTERN_C -+#define NO_IMPLICIT_EXTERN_C -+ -diff --git a/gcc/gcc.c b/gcc/gcc.c -index a716f708259..6a11011dba7 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -786,6 +786,11 @@ proper position among the other output files. */ - #endif - #endif - -+#ifndef LIBGLOSS_SPEC -+# define LIBGLOSS_SPEC "-lsysbase" -+#endif -+ -+ - /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ - #ifndef STARTFILE_SPEC - #define STARTFILE_SPEC \ -@@ -1081,6 +1086,7 @@ static const char *link_spec = LINK_SPEC; - static const char *lib_spec = LIB_SPEC; - static const char *link_gomp_spec = ""; - static const char *libgcc_spec = LIBGCC_SPEC; -+static const char *libgloss_spec = LIBGLOSS_SPEC; - static const char *endfile_spec = ENDFILE_SPEC; - static const char *startfile_spec = STARTFILE_SPEC; - static const char *linker_name_spec = LINKER_NAME; -@@ -1577,6 +1583,7 @@ static struct spec_list static_specs[] = - INIT_STATIC_SPEC ("lib", &lib_spec), - INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), - INIT_STATIC_SPEC ("libgcc", &libgcc_spec), -+ INIT_STATIC_SPEC ("libgloss", &libgloss_spec), - INIT_STATIC_SPEC ("startfile", &startfile_spec), - INIT_STATIC_SPEC ("cross_compile", &cross_compile), - INIT_STATIC_SPEC ("version", &compiler_version), -diff --git a/libgcc/config/arm/t-bpabi b/libgcc/config/arm/t-bpabi -index dddddc7c444..c2502597953 100644 ---- a/libgcc/config/arm/t-bpabi -+++ b/libgcc/config/arm/t-bpabi -@@ -17,4 +17,4 @@ SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver - # On ARM, specifying -fnon-call-exceptions will needlessly pull in - # the unwinder in simple programs which use 64-bit division. Omitting - # the option is safe. --LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions -+LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 5e894455e16..f81c9c6a64c 100644 ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -47,7 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - - /* Target machine header files require this define. */ - #define IN_LIBGCC2 -- -+#define USED_FOR_TARGET - /* FIXME: Including auto-host is incorrect, but until we have - identified the set of defines that need to go into auto-target.h, - this will have to do. */ From 0add4d1b5ced63f9b278de7a3ebf4644df6c30b4 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 11 Dec 2019 01:18:57 +0000 Subject: [PATCH 092/280] changes for devkitA64 r14 --- build-devkit.sh | 2 +- .../{gcc-8.3.0.patch => gcc-9.2.0.patch} | 57 +++--- dka64/patches/newlib-3.1.0.patch | 184 +++++++++--------- dka64/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 5 files changed, 128 insertions(+), 119 deletions(-) rename dka64/patches/{gcc-8.3.0.patch => gcc-9.2.0.patch} (88%) diff --git a/build-devkit.sh b/build-devkit.sh index 909f4ac..798101a 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,7 +2,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 53-1 # devkitPPC release 35 -# devkitA64 release 13 +# devkitA64 release 14 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/patches/gcc-8.3.0.patch b/dka64/patches/gcc-9.2.0.patch similarity index 88% rename from dka64/patches/gcc-8.3.0.patch rename to dka64/patches/gcc-9.2.0.patch index 6c6718e..4f6326a 100644 --- a/dka64/patches/gcc-8.3.0.patch +++ b/dka64/patches/gcc-9.2.0.patch @@ -1,8 +1,8 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc -index 7af8e028104..90a3a50f624 100644 +index ddd3b8f4d9d..014df2e5a59 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc -@@ -945,6 +945,12 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) +@@ -985,6 +985,12 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) case $target in aarch64-*-elf*) use_gcc_stdint=wrap @@ -16,7 +16,7 @@ index 7af8e028104..90a3a50f624 100644 aarch64-*-fuchsia*) tm_file="${tm_file} fuchsia.h" diff --git a/gcc/config/aarch64/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h -index c074238df06..ef503ddd5a6 100644 +index bbebd0ef029..8f38510402f 100644 --- a/gcc/config/aarch64/aarch64-elf-raw.h +++ b/gcc/config/aarch64/aarch64-elf-raw.h @@ -22,6 +22,7 @@ @@ -28,7 +28,7 @@ index c074238df06..ef503ddd5a6 100644 #define ENDFILE_SPEC \ " crtend%O%s crtn%O%s " \ diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h -index 7a5c6d7664f..687793841de 100644 +index 4b07d296a11..037985f1d86 100644 --- a/gcc/config/aarch64/aarch64-opts.h +++ b/gcc/config/aarch64/aarch64-opts.h @@ -48,6 +48,12 @@ enum aarch64_tls_type { @@ -45,10 +45,10 @@ index 7a5c6d7664f..687793841de 100644 Most have a PIC and non-PIC variant. */ enum aarch64_code_model { diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c -index 349ca0c047b..5c03c42c28e 100644 +index 6b25d9cbfae..39c7026a90c 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c -@@ -12005,8 +12005,24 @@ aarch64_load_tp (rtx target) +@@ -13186,8 +13186,24 @@ aarch64_load_tp (rtx target) || !register_operand (target, Pmode)) target = gen_reg_rtx (Pmode); @@ -76,10 +76,10 @@ index 349ca0c047b..5c03c42c28e 100644 } diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h -index 976f9afae54..73263bcb5e7 100644 +index fc6df970c2e..705c6de868f 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h -@@ -957,6 +957,10 @@ typedef struct +@@ -1006,6 +1006,10 @@ typedef struct /* Check TLS Descriptors mechanism is selected. */ #define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS) @@ -91,10 +91,10 @@ index 976f9afae54..73263bcb5e7 100644 /* When using the tiny addressing model conditional and unconditional branches diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md -index 32a0e1f3685..783c655acf0 100644 +index 5a1894063a1..7c9d9452659 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md -@@ -5693,11 +5693,22 @@ +@@ -6583,11 +6583,22 @@ (define_insn "aarch64_load_tp_hard" [(set (match_operand:DI 0 "register_operand" "=r") (unspec:DI [(const_int 0)] UNSPEC_TLS))] @@ -120,10 +120,10 @@ index 32a0e1f3685..783c655acf0 100644 ;; instructions in the TLS stubs, in order to enable linker relaxation. ;; Therefore we treat the stubs as an atomic sequence. diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt -index 52eaf8c6f40..52bccddc6e3 100644 +index 7719c3b6352..cd32a639b16 100644 --- a/gcc/config/aarch64/aarch64.opt +++ b/gcc/config/aarch64/aarch64.opt -@@ -115,6 +115,20 @@ Enum(aarch64_tls_size) String(32) Value(32) +@@ -118,6 +118,21 @@ Enum(aarch64_tls_size) String(32) Value(32) EnumValue Enum(aarch64_tls_size) String(48) Value(48) @@ -140,20 +140,23 @@ index 52eaf8c6f40..52bccddc6e3 100644 + +EnumValue +Enum(aarch64_tp_type) String(soft) Value(TP_SOFT) ++ + march= Target RejectNegative ToLower Joined Var(aarch64_arch_string) - -march=ARCH Use features of architecture ARCH. + Use features of architecture ARCH. diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64 -index 0be1f0d63aa..a54068bfd96 100644 +index ee471f8983f..aedaefdd62d 100644 --- a/gcc/config/aarch64/t-aarch64 +++ b/gcc/config/aarch64/t-aarch64 -@@ -68,5 +68,7 @@ cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.c \ - $(srcdir)/config/aarch64/cortex-a57-fma-steering.c +@@ -100,6 +100,8 @@ aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.c \ + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ + $(srcdir)/config/aarch64/aarch64-bti-insert.c - comma=, +-comma=, -MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG)))) -MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG)) ++ comma=, +MULTILIB_OPTIONS = mcmodel=large fPIC +MULTILIB_DIRNAMES = large pic +MULTILIB_REQUIRED = mcmodel=large fPIC @@ -231,10 +234,10 @@ index 00000000000..9acbbf9d27c + +; This comment is to ensure we retain the blank line above. diff --git a/gcc/gcc.c b/gcc/gcc.c -index a716f708259..6a11011dba7 100644 +index 4f57765b012..2899202cc05 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -786,6 +786,11 @@ proper position among the other output files. */ +@@ -794,6 +794,11 @@ proper position among the other output files. */ #endif #endif @@ -246,7 +249,7 @@ index a716f708259..6a11011dba7 100644 /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ #ifndef STARTFILE_SPEC #define STARTFILE_SPEC \ -@@ -1081,6 +1086,7 @@ static const char *link_spec = LINK_SPEC; +@@ -1086,6 +1091,7 @@ static const char *link_spec = LINK_SPEC; static const char *lib_spec = LIB_SPEC; static const char *link_gomp_spec = ""; static const char *libgcc_spec = LIBGCC_SPEC; @@ -254,7 +257,7 @@ index a716f708259..6a11011dba7 100644 static const char *endfile_spec = ENDFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC; static const char *linker_name_spec = LINKER_NAME; -@@ -1577,6 +1583,7 @@ static struct spec_list static_specs[] = +@@ -1583,6 +1589,7 @@ static struct spec_list static_specs[] = INIT_STATIC_SPEC ("lib", &lib_spec), INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec), @@ -263,7 +266,7 @@ index a716f708259..6a11011dba7 100644 INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("version", &compiler_version), diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 5e894455e16..f2347455de0 100644 +index 4927a9f8977..8311b6a7f5e 100644 --- a/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c @@ -47,6 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -275,7 +278,7 @@ index 5e894455e16..f2347455de0 100644 /* FIXME: Including auto-host is incorrect, but until we have identified the set of defines that need to go into auto-target.h, diff --git a/libgcc/gthr.h b/libgcc/gthr.h -index 88b0178f9e3..e94fcf9d721 100644 +index 67826419882..d9f01c6c371 100644 --- a/libgcc/gthr.h +++ b/libgcc/gthr.h @@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -288,10 +291,10 @@ index 88b0178f9e3..e94fcf9d721 100644 #define GTHREAD_USE_WEAK 0 #endif diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am -index 77e6dc2f6be..3a102997371 100644 +index 1deacb80ca2..0de11c15a3a 100644 --- a/libstdc++-v3/include/Makefile.am +++ b/libstdc++-v3/include/Makefile.am -@@ -1293,6 +1293,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} +@@ -1338,6 +1338,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ @@ -300,10 +303,10 @@ index 77e6dc2f6be..3a102997371 100644 < $< > $@ diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in -index 948a5c1f1c5..ee8e240f6c5 100644 +index bc475c6dd90..bfa3e71898a 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in -@@ -1719,6 +1719,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} +@@ -1817,6 +1817,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ diff --git a/dka64/patches/newlib-3.1.0.patch b/dka64/patches/newlib-3.1.0.patch index bdb0173..2f7f008 100644 --- a/dka64/patches/newlib-3.1.0.patch +++ b/dka64/patches/newlib-3.1.0.patch @@ -6555,10 +6555,10 @@ index 000000000..13bd0fba1 +} diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c new file mode 100644 -index 000000000..1675e5c24 +index 000000000..162f70f63 --- /dev/null +++ b/libgloss/libsysbase/link.c -@@ -0,0 +1,33 @@ +@@ -0,0 +1,36 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -6572,11 +6572,14 @@ index 000000000..1675e5c24 +int _link(const char *existing, const char *new) { + struct _reent *r = _REENT; +#endif -+ int ret; ++ int ret = -1; + int sourceDev = FindDevice(existing); + int destDev = FindDevice(new); + -+ ret = -1; ++ if (sourceDev == -1 || destDev == -1 ) { ++ r->_errno = ENODEV; ++ return ret; ++ } + + if ( sourceDev == destDev) { + if (devoptab_list[destDev]->link_r) { @@ -6854,26 +6857,30 @@ index 000000000..456590956 +char *fake_heap_start = (char*)0; diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c new file mode 100644 -index 000000000..b4fcbd3d7 +index 000000000..19742b774 --- /dev/null +++ b/libgloss/libsysbase/mkdir.c -@@ -0,0 +1,19 @@ +@@ -0,0 +1,23 @@ +#include +#include +#include + +int mkdir (const char *path, mode_t mode) { + struct _reent *r = _REENT; -+ int ret; -+ int dev = FindDevice(path); -+ ret = -1; ++ int ret = -1; + -+ if (devoptab_list[dev]->mkdir_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->mkdir_r(r, path, mode); -+ } else { -+ r->_errno = ENOSYS; -+ } ++ int dev = FindDevice(path); ++ ++ if(dev!=-1) { ++ if(devoptab_list[dev]->mkdir_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->mkdir_r(r,path,mode); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } + + return ret; +} @@ -8092,10 +8099,10 @@ index 000000000..838a8c796 + diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c new file mode 100644 -index 000000000..97a056a72 +index 000000000..b54e0ce7c --- /dev/null +++ b/libgloss/libsysbase/rename.c -@@ -0,0 +1,34 @@ +@@ -0,0 +1,37 @@ +#include "config.h" +#include +#include @@ -8111,11 +8118,14 @@ index 000000000..97a056a72 +#endif + struct _reent *r = _REENT; + -+ int ret; ++ int ret = -1; + int sourceDev = FindDevice(existing); + int destDev = FindDevice(newName); + -+ ret = -1; ++ if (sourceDev == -1 || destDev == -1 ) { ++ r->_errno = ENODEV; ++ return ret; ++ } + + if ( sourceDev == destDev) { + if (devoptab_list[destDev]->rename_r) { @@ -8229,10 +8239,10 @@ index 000000000..5dd550c5c +} diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c new file mode 100644 -index 000000000..1333df4b2 +index 000000000..5c673af52 --- /dev/null +++ b/libgloss/libsysbase/scandir.c -@@ -0,0 +1,74 @@ +@@ -0,0 +1,76 @@ +#include +#include +#include @@ -8262,6 +8272,8 @@ index 000000000..1333df4b2 + int (*filter) __P((const struct dirent *)), + int (*compar) __P((const struct dirent **, const struct dirent **))) +{ ++ errno = 0; ++ + DIR *d = opendir(dirname); + + if (!d) return -1; @@ -9330,10 +9342,10 @@ index 000000000..82d2e3576 +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- diff --git a/newlib/libc/include/sys/lock.h b/newlib/libc/include/sys/lock.h -index 528904957..30cb099e6 100644 +index 528904957..e49f77b75 100644 --- a/newlib/libc/include/sys/lock.h +++ b/newlib/libc/include/sys/lock.h -@@ -1,69 +1,97 @@ +@@ -1,69 +1,105 @@ #ifndef __SYS_LOCK_H__ #define __SYS_LOCK_H__ @@ -9342,19 +9354,68 @@ index 528904957..30cb099e6 100644 -#include #include <_ansi.h> +#include -+ + +-#if !defined(_RETARGETABLE_LOCKING) +typedef int32_t _LOCK_T; -+ + +-typedef int _LOCK_T; +-typedef int _LOCK_RECURSIVE_T; +struct __lock_t { + _LOCK_T lock; + uint32_t thread_tag; + uint32_t counter; +}; -+ + +-#define __LOCK_INIT(class,lock) static int lock = 0; +-#define __LOCK_INIT_RECURSIVE(class,lock) static int lock = 0; +-#define __lock_init(lock) ((void) 0) +-#define __lock_init_recursive(lock) ((void) 0) +-#define __lock_close(lock) ((void) 0) +-#define __lock_close_recursive(lock) ((void) 0) +-#define __lock_acquire(lock) ((void) 0) +-#define __lock_acquire_recursive(lock) ((void) 0) +-#define __lock_try_acquire(lock) ((void) 0) +-#define __lock_try_acquire_recursive(lock) ((void) 0) +-#define __lock_release(lock) ((void) 0) +-#define __lock_release_recursive(lock) ((void) 0) +typedef struct __lock_t _LOCK_RECURSIVE_T; -+ + +-#else +typedef uint32_t _COND_T; -+ + + #ifdef __cplusplus + extern "C" { + #endif + +-struct __lock; +-typedef struct __lock * _LOCK_T; +-#define _LOCK_RECURSIVE_T _LOCK_T +- +-#define __LOCK_INIT(class,lock) extern struct __lock __lock_ ## lock; \ +- class _LOCK_T lock = &__lock_ ## lock +-#define __LOCK_INIT_RECURSIVE(class,lock) __LOCK_INIT(class,lock) +- +-extern void __retarget_lock_init(_LOCK_T *lock); +-#define __lock_init(lock) __retarget_lock_init(&lock) +-extern void __retarget_lock_init_recursive(_LOCK_T *lock); +-#define __lock_init_recursive(lock) __retarget_lock_init_recursive(&lock) +-extern void __retarget_lock_close(_LOCK_T lock); +-#define __lock_close(lock) __retarget_lock_close(lock) +-extern void __retarget_lock_close_recursive(_LOCK_T lock); +-#define __lock_close_recursive(lock) __retarget_lock_close_recursive(lock) +-extern void __retarget_lock_acquire(_LOCK_T lock); +-#define __lock_acquire(lock) __retarget_lock_acquire(lock) +-extern void __retarget_lock_acquire_recursive(_LOCK_T lock); +-#define __lock_acquire_recursive(lock) __retarget_lock_acquire_recursive(lock) +-extern int __retarget_lock_try_acquire(_LOCK_T lock); +-#define __lock_try_acquire(lock) __retarget_lock_try_acquire(lock) +-extern int __retarget_lock_try_acquire_recursive(_LOCK_T lock); +-#define __lock_try_acquire_recursive(lock) \ +- __retarget_lock_try_acquire_recursive(lock) +-extern void __retarget_lock_release(_LOCK_T lock); +-#define __lock_release(lock) __retarget_lock_release(lock) +-extern void __retarget_lock_release_recursive(_LOCK_T lock); +-#define __lock_release_recursive(lock) __retarget_lock_release_recursive(lock) +extern void __libc_lock_init(_LOCK_T *lock); +extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); +extern void __libc_lock_close(_LOCK_T *lock); @@ -9374,7 +9435,12 @@ index 528904957..30cb099e6 100644 +extern int __libc_cond_broadcast(_COND_T *cond); +extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); +extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); -+ + + #ifdef __cplusplus + } + #endif + +-#endif /* !defined(_RETARGETABLE_LOCKING) */ +#define __LOCK_INITIALIZER ((_LOCK_T)0) +#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) +#define __COND_INITIALIZER ((_COND_T)0) @@ -9433,66 +9499,6 @@ index 528904957..30cb099e6 100644 +#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ + __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) --#if !defined(_RETARGETABLE_LOCKING) -- --typedef int _LOCK_T; --typedef int _LOCK_RECURSIVE_T; -- --#define __LOCK_INIT(class,lock) static int lock = 0; --#define __LOCK_INIT_RECURSIVE(class,lock) static int lock = 0; --#define __lock_init(lock) ((void) 0) --#define __lock_init_recursive(lock) ((void) 0) --#define __lock_close(lock) ((void) 0) --#define __lock_close_recursive(lock) ((void) 0) --#define __lock_acquire(lock) ((void) 0) --#define __lock_acquire_recursive(lock) ((void) 0) --#define __lock_try_acquire(lock) ((void) 0) --#define __lock_try_acquire_recursive(lock) ((void) 0) --#define __lock_release(lock) ((void) 0) --#define __lock_release_recursive(lock) ((void) 0) -- --#else -- --#ifdef __cplusplus --extern "C" { --#endif -- --struct __lock; --typedef struct __lock * _LOCK_T; --#define _LOCK_RECURSIVE_T _LOCK_T -- --#define __LOCK_INIT(class,lock) extern struct __lock __lock_ ## lock; \ -- class _LOCK_T lock = &__lock_ ## lock --#define __LOCK_INIT_RECURSIVE(class,lock) __LOCK_INIT(class,lock) -- --extern void __retarget_lock_init(_LOCK_T *lock); --#define __lock_init(lock) __retarget_lock_init(&lock) --extern void __retarget_lock_init_recursive(_LOCK_T *lock); --#define __lock_init_recursive(lock) __retarget_lock_init_recursive(&lock) --extern void __retarget_lock_close(_LOCK_T lock); --#define __lock_close(lock) __retarget_lock_close(lock) --extern void __retarget_lock_close_recursive(_LOCK_T lock); --#define __lock_close_recursive(lock) __retarget_lock_close_recursive(lock) --extern void __retarget_lock_acquire(_LOCK_T lock); --#define __lock_acquire(lock) __retarget_lock_acquire(lock) --extern void __retarget_lock_acquire_recursive(_LOCK_T lock); --#define __lock_acquire_recursive(lock) __retarget_lock_acquire_recursive(lock) --extern int __retarget_lock_try_acquire(_LOCK_T lock); --#define __lock_try_acquire(lock) __retarget_lock_try_acquire(lock) --extern int __retarget_lock_try_acquire_recursive(_LOCK_T lock); --#define __lock_try_acquire_recursive(lock) \ -- __retarget_lock_try_acquire_recursive(lock) --extern void __retarget_lock_release(_LOCK_T lock); --#define __lock_release(lock) __retarget_lock_release(lock) --extern void __retarget_lock_release_recursive(_LOCK_T lock); --#define __lock_release_recursive(lock) __retarget_lock_release_recursive(lock) -- --#ifdef __cplusplus --} --#endif -- --#endif /* !defined(_RETARGETABLE_LOCKING) */ -- -#endif /* __SYS_LOCK_H__ */ +#endif // __SYS_LOCK_H__ diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 32c683b..7808de4 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -64,7 +64,7 @@ then --prefix=$prefix \ --enable-lto $plugin_ld\ --with-system-zlib \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 13" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 14" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } diff --git a/select_toolchain.sh b/select_toolchain.sh index 16a6c45..23de762 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -51,7 +51,7 @@ case "$VERSION" in toolchain=DEVKITPPC ;; "3" ) - GCC_VER=8.3.0 + GCC_VER=9.2.0 BINUTILS_VER=2.32 NEWLIB_VER=3.1.0 GDB_VER=8.2.1 From e68aaf8cdd7ff761ca4dfb5d44e1bc4c0df71a9d Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 12 Apr 2020 01:37:13 +0100 Subject: [PATCH 093/280] devkitPPC: update gcc to 8.4.0 --- .../{gcc-8.3.0.patch => gcc-8.4.0.patch} | 42 +++++++++---------- select_toolchain.sh | 2 +- 2 files changed, 22 insertions(+), 22 deletions(-) rename dkppc/patches/{gcc-8.3.0.patch => gcc-8.4.0.patch} (97%) diff --git a/dkppc/patches/gcc-8.3.0.patch b/dkppc/patches/gcc-8.4.0.patch similarity index 97% rename from dkppc/patches/gcc-8.3.0.patch rename to dkppc/patches/gcc-8.4.0.patch index f02e38b..af432a0 100644 --- a/dkppc/patches/gcc-8.3.0.patch +++ b/dkppc/patches/gcc-8.4.0.patch @@ -1,5 +1,5 @@ diff --git a/config/gthr.m4 b/config/gthr.m4 -index 7b29f1f..814104f 100644 +index 7b29f1f3327..814104f32a2 100644 --- a/config/gthr.m4 +++ b/config/gthr.m4 @@ -12,6 +12,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER], @@ -11,10 +11,10 @@ index 7b29f1f..814104f 100644 lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; diff --git a/gcc/config.gcc b/gcc/config.gcc -index 7af8e02..dc58cab 100644 +index 47cfce25dee..cfd8ce71123 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc -@@ -2464,7 +2464,7 @@ powerpc-xilinx-eabi*) +@@ -2480,7 +2480,7 @@ powerpc-xilinx-eabi*) use_gcc_stdint=wrap ;; powerpc-*-eabi*) @@ -24,7 +24,7 @@ index 7af8e02..dc58cab 100644 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" use_gcc_stdint=wrap diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h -index f46e797..fd39e64 100644 +index f46e797d610..fd39e64c38d 100644 --- a/gcc/config/newlib-stdint.h +++ b/gcc/config/newlib-stdint.h @@ -25,7 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -37,7 +37,7 @@ index f46e797..fd39e64 100644 #define SIG_ATOMIC_TYPE "int" diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h -index b83b304..b85359e 100644 +index b83b304e3eb..b85359edcfc 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -212,6 +212,7 @@ @@ -58,10 +58,10 @@ index b83b304..b85359e 100644 #ifndef CC1_CPU_SPEC #ifdef HAVE_LOCAL_CPU_DETECT diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md -index 4d69c1d..af2d7b5 100644 +index 4dbe8e5d133..3e2095e5b64 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md -@@ -5625,19 +5625,19 @@ +@@ -5631,19 +5631,19 @@ tmp = gen_reg_rtx (DImode); emit_insn (gen_fctiwz_ (tmp, src)); @@ -89,7 +89,7 @@ index 4d69c1d..af2d7b5 100644 rtx stack = rs6000_allocate_stack_temp (SImode, false, true); emit_insn (gen_stfiwx (stack, tmp)); diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h -index bb19d0d..74d1e47 100644 +index bb19d0dcd41..74d1e474432 100644 --- a/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/sysv4.h @@ -565,7 +565,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) @@ -247,7 +247,7 @@ index bb19d0d..74d1e47 100644 { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt -index 34fea0d..084a8ae 100644 +index 34fea0ddd08..084a8ae435e 100644 --- a/gcc/config/rs6000/sysv4.opt +++ b/gcc/config/rs6000/sysv4.opt @@ -124,6 +124,26 @@ mads @@ -278,10 +278,10 @@ index 34fea0d..084a8ae 100644 Target RejectNegative Link with libyk.a, libc.a and crt0.o. diff --git a/gcc/configure b/gcc/configure -index 6121e16..6584112 100755 +index 97ba7d7d69c..c0e468546ed 100755 --- a/gcc/configure +++ b/gcc/configure -@@ -11692,7 +11692,7 @@ case ${enable_threads} in +@@ -11693,7 +11693,7 @@ case ${enable_threads} in # default target_thread_file='single' ;; @@ -291,7 +291,7 @@ index 6121e16..6584112 100755 target_thread_file=${enable_threads} ;; diff --git a/gcc/configure.ac b/gcc/configure.ac -index b066cc6..c42b3ef 100644 +index d6f2d5b2ed0..15edac2ce9b 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1611,7 +1611,7 @@ case ${enable_threads} in @@ -304,7 +304,7 @@ index b066cc6..c42b3ef 100644 target_thread_file=${enable_threads} ;; diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S -index ba2b262..8d86610 100644 +index ba2b2623301..8d866107142 100644 --- a/libgcc/config/rs6000/crtrestvr.S +++ b/libgcc/config/rs6000/crtrestvr.S @@ -24,7 +24,7 @@ @@ -322,7 +322,7 @@ index ba2b262..8d86610 100644 #endif +#endif diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S -index 077e33f..b7be68b 100644 +index 077e33f34d5..b7be68b710f 100644 --- a/libgcc/config/rs6000/crtsavevr.S +++ b/libgcc/config/rs6000/crtsavevr.S @@ -24,7 +24,7 @@ @@ -341,7 +341,7 @@ index 077e33f..b7be68b 100644 +#endif diff --git a/libgcc/config/rs6000/gthr-dkp.c b/libgcc/config/rs6000/gthr-dkp.c new file mode 100644 -index 0000000..94d6ba9 +index 00000000000..94d6ba94ec0 --- /dev/null +++ b/libgcc/config/rs6000/gthr-dkp.c @@ -0,0 +1,349 @@ @@ -696,7 +696,7 @@ index 0000000..94d6ba9 +} diff --git a/libgcc/config/rs6000/gthr-dkp.h b/libgcc/config/rs6000/gthr-dkp.h new file mode 100644 -index 0000000..281c19d +index 00000000000..281c19d2a60 --- /dev/null +++ b/libgcc/config/rs6000/gthr-dkp.h @@ -0,0 +1,185 @@ @@ -886,7 +886,7 @@ index 0000000..281c19d + +#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */ diff --git a/libgcc/config/rs6000/t-ppccomm b/libgcc/config/rs6000/t-ppccomm -index fb812d3..7f6669d 100644 +index fb812d3801f..7f6669d530f 100644 --- a/libgcc/config/rs6000/t-ppccomm +++ b/libgcc/config/rs6000/t-ppccomm @@ -1,4 +1,5 @@ @@ -896,7 +896,7 @@ index fb812d3..7f6669d 100644 # This can't end up in shared libgcc diff --git a/libgcc/configure b/libgcc/configure -index b2f3f87..c6f93f8 100644 +index b2f3f870844..c6f93f8b3ac 100644 --- a/libgcc/configure +++ b/libgcc/configure @@ -5442,6 +5442,7 @@ tm_file="${tm_file_}" @@ -908,7 +908,7 @@ index b2f3f87..c6f93f8 100644 lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 5e89445..f234745 100644 +index 5e894455e16..f2347455de0 100644 --- a/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c @@ -47,6 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -920,10 +920,10 @@ index 5e89445..f234745 100644 /* FIXME: Including auto-host is incorrect, but until we have identified the set of defines that need to go into auto-target.h, diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index 5535bfa..9f86d5d 100755 +index 61457e940ec..a7c63407ced 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure -@@ -15180,6 +15180,7 @@ $as_echo "$target_thread_file" >&6; } +@@ -15382,6 +15382,7 @@ $as_echo "$target_thread_file" >&6; } case $target_thread_file in aix) thread_header=config/rs6000/gthr-aix.h ;; diff --git a/select_toolchain.sh b/select_toolchain.sh index 23de762..acec6c5 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -40,7 +40,7 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - GCC_VER=8.3.0 + GCC_VER=8.4.0 BINUTILS_VER=2.32 MN_BINUTILS_VER=2.17 NEWLIB_VER=3.1.0 From 2ddef0ade46416c5a5b888d5edc2b5f1744b99fd Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 12 Apr 2020 01:38:08 +0100 Subject: [PATCH 094/280] devkitPPC: update newlib to 3.3.0 --- ...{newlib-3.1.0.patch => newlib-3.3.0.patch} | 31 ++++++++++--------- select_toolchain.sh | 2 +- 2 files changed, 17 insertions(+), 16 deletions(-) rename dkppc/patches/{newlib-3.1.0.patch => newlib-3.3.0.patch} (99%) diff --git a/dkppc/patches/newlib-3.1.0.patch b/dkppc/patches/newlib-3.3.0.patch similarity index 99% rename from dkppc/patches/newlib-3.1.0.patch rename to dkppc/patches/newlib-3.3.0.patch index d76d87b..003e8f5 100644 --- a/dkppc/patches/newlib-3.1.0.patch +++ b/dkppc/patches/newlib-3.3.0.patch @@ -1,8 +1,8 @@ diff --git a/libgloss/configure b/libgloss/configure -index 1a4033dce..ba7aea7b0 100755 +index 0d2918cee..bccfb07b4 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -2599,6 +2599,8 @@ if test "${config_libnosys}" = "true"; then +@@ -2604,6 +2604,8 @@ if test "${config_libnosys}" = "true"; then fi @@ -12,7 +12,7 @@ index 1a4033dce..ba7aea7b0 100755 ac_config_commands="$ac_config_commands depfiles" diff --git a/libgloss/configure.in b/libgloss/configure.in -index 41843eed1..689e8b3ad 100644 +index f38d5298e..db6b33ab8 100644 --- a/libgloss/configure.in +++ b/libgloss/configure.in @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. @@ -33,7 +33,7 @@ index 41843eed1..689e8b3ad 100644 case "${target}" in aarch64*-*-*) AC_CONFIG_SUBDIRS(aarch64) -@@ -191,6 +195,10 @@ if test "${config_libnosys}" = "true"; then +@@ -194,6 +198,10 @@ if test "${config_libnosys}" = "true"; then AC_CONFIG_SUBDIRS([libnosys]) fi @@ -622,10 +622,10 @@ index 000000000..b6cdfaeb8 +m4_include([../acinclude.m4]) diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c new file mode 100644 -index 000000000..3ca95d5b6 +index 000000000..a969a0482 --- /dev/null +++ b/libgloss/libsysbase/build_argv.c -@@ -0,0 +1,31 @@ +@@ -0,0 +1,32 @@ +struct __argv { + int argvMagic; + char *commandLine; @@ -652,10 +652,11 @@ index 000000000..3ca95d5b6 + } while (data < end); + + *end = '\0'; // Force NULL terminator for last arg ++ argv[argCount] = 0; // Force NULL terminator for argv + + argstruct->argv = argv; + argstruct->argc = argCount; -+ argstruct->endARGV = &argv[argCount]; ++ argstruct->endARGV = &argv[argCount + 1]; +} diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c new file mode 100644 @@ -7389,10 +7390,10 @@ index 000000000..bd25d775d + exit ( main(__system_argv->argc,__system_argv->argv) ); +} diff --git a/newlib/configure.host b/newlib/configure.host -index 6c49cb750..f30edc1a3 100644 +index a84c0c80a..0921e00be 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -832,7 +832,12 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -853,7 +853,12 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID default_newlib_io_long_long="yes" newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" ;; @@ -7470,7 +7471,7 @@ index a3fb5c02c..adb8e1083 100644 + +#endif // _dirent_h_ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index f28dd071b..96980676d 100644 +index 218807178..c9efd7d03 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h @@ -330,6 +330,9 @@ extern "C" { @@ -7598,10 +7599,10 @@ index 000000000..8b6d8da30 +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 6e55e1c1f..6e0c1c9cf 100644 +index 74b70e9c0..d8c5410ec 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h -@@ -416,6 +416,8 @@ struct _reent +@@ -421,6 +421,8 @@ struct _reent __FILE *__sf; /* file descriptors */ struct _misc_reent *_misc; /* strtok, multibyte states */ char *_signal_buf; /* strsignal */ @@ -7610,7 +7611,7 @@ index 6e55e1c1f..6e0c1c9cf 100644 }; #ifdef _REENT_GLOBAL_STDIO_STREAMS -@@ -686,6 +688,7 @@ struct _reent +@@ -691,6 +693,7 @@ struct _reent # ifndef _REENT_GLOBAL_STDIO_STREAMS __FILE __sf[3]; /* first three file descriptors */ # endif @@ -7619,10 +7620,10 @@ index 6e55e1c1f..6e0c1c9cf 100644 #ifdef _REENT_GLOBAL_STDIO_STREAMS diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index eee98db64..aed9c1746 100644 +index 8769112b0..5526e59ee 100644 --- a/newlib/libc/include/sys/stat.h +++ b/newlib/libc/include/sys/stat.h -@@ -152,8 +152,9 @@ int mkfifo (const char *__path, mode_t __mode ); +@@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); mode_t umask (mode_t __mask ); diff --git a/select_toolchain.sh b/select_toolchain.sh index acec6c5..13c755d 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -43,7 +43,7 @@ case "$VERSION" in GCC_VER=8.4.0 BINUTILS_VER=2.32 MN_BINUTILS_VER=2.17 - NEWLIB_VER=3.1.0 + NEWLIB_VER=3.3.0 GDB_VER=8.2.1 basedir='dkppc' package=devkitPPC From e0c908dfc25ceb0fe5e0cbd8f6a6b69404c0635e Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 12 Apr 2020 01:38:45 +0100 Subject: [PATCH 095/280] devkitPPC: next release is r35 --- dkppc/scripts/build-gcc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 490d880..c8a7ea3 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -97,7 +97,7 @@ then --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix\ --with-system-zlib\ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 35" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 36" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ From d9392f8f56ef81525a0c848094449a6bdbd73c81 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 12 Apr 2020 02:10:35 +0100 Subject: [PATCH 096/280] stop downloading and building outdated tools archives --- build-devkit.sh | 49 +------------------------------ dka64/scripts/build-tools.sh | 20 ------------- dkarm-eabi/scripts/build-tools.sh | 20 ------------- dkppc/scripts/build-tools.sh | 20 ------------- 4 files changed, 1 insertion(+), 108 deletions(-) delete mode 100755 dka64/scripts/build-tools.sh delete mode 100755 dkarm-eabi/scripts/build-tools.sh delete mode 100644 dkppc/scripts/build-tools.sh diff --git a/build-devkit.sh b/build-devkit.sh index 798101a..65aeae3 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -26,34 +26,12 @@ echo "https://github.com/devkitPro/buildscripts/pulls" echo -GENERAL_TOOLS_VER=1.0.2 -GBATOOLS_VER=1.1.0 DKARM_RULES_VER=1.0.0 DKARM_CRTLS_VER=1.0.0 -DSTOOLS_VER=1.2.1 -GRIT_VER=0.8.15 -NDSTOOL_VER=2.1.1 -MMUTIL_VER=1.8.7 - -DFU_UTIL_VER=0.9.1 -STLINK_VER=1.2.3 - -GAMECUBE_TOOLS_VER=1.0.2 -WIILOAD_VER=0.5.1 DKPPC_RULES_VER=1.0.0 -TOOLS3DS_VER=1.1.4 -LINK3DS_VER=0.5.2 -PICASSO_VER=2.7.0 -TEX3DS_VER=1.0.0 - -GP32_TOOLS_VER=1.0.3 -LIBMIRKO_VER=0.9.8 - -SWITCH_TOOLS_VER=1.4.1 - OSXMIN=${OSXMIN:-10.9} #--------------------------------------------------------------------------------- @@ -206,27 +184,14 @@ archives="binutils-${BINUTILS_VER}.tar.xz gcc-${GCC_VER}.tar.xz newlib-${NEWLIB_ if [ $VERSION -eq 1 ]; then - hostarchives="gba-tools-$GBATOOLS_VER.tar.bz2 gp32-tools-$GP32_TOOLS_VER.tar.bz2 - dstools-$DSTOOLS_VER.tar.bz2 grit-$GRIT_VER.tar.bz2 ndstool-$NDSTOOL_VER.tar.bz2 - general-tools-$GENERAL_TOOLS_VER.tar.bz2 mmutil-$MMUTIL_VER.tar.bz2 - dfu-util-$DFU_UTIL_VER.tar.bz2 stlink-$STLINK_VER.tar.bz2 3dstools-$TOOLS3DS_VER.tar.bz2 - picasso-$PICASSO_VER.tar.bz2 tex3ds-$TEX3DS_VER.tar.bz2 3dslink-$LINK3DS_VER.tar.bz2" - archives="devkitarm-rules-$DKARM_RULES_VER.tar.xz devkitarm-crtls-$DKARM_CRTLS_VER.tar.xz $archives" fi if [ $VERSION -eq 2 ]; then - hostarchives="gamecube-tools-$GAMECUBE_TOOLS_VER.tar.bz2 wiiload-$WIILOAD_VER.tar.bz2 general-tools-$GENERAL_TOOLS_VER.tar.bz2" - archives="binutils-${MN_BINUTILS_VER}.tar.bz2 devkitppc-rules-$DKPPC_RULES_VER.tar.xz $archives" fi -if [ $VERSION -eq 3 ]; then - - hostarchives="general-tools-$GENERAL_TOOLS_VER.tar.bz2 switch-tools-$SWITCH_TOOLS_VER.tar.bz2" - -fi if [ ! -z "$BUILD_DKPRO_SRCDIR" ] ; then @@ -236,7 +201,7 @@ else fi cd "$SRCDIR" -for archive in $archives $hostarchives +for archive in $archives do echo $archive if [ ! -f $archive ]; then @@ -257,23 +222,11 @@ if [ $VERSION -eq 2 ]; then extract_and_patch binutils $MN_BINUTILS_VER bz2 fi -for archive in $hostarchives -do - destdir=$(echo $archive | sed -e 's/\(.*\)-src-\(.*\)\.tar\.bz2/\1-\2/' ) - if [ ! -d $destdir ]; then - tar -xjf "$SRCDIR/$archive" - fi -done - #--------------------------------------------------------------------------------- # Build and install devkit components #--------------------------------------------------------------------------------- if [ -f $scriptdir/build-gcc.sh ]; then . $scriptdir/build-gcc.sh || { echo "Error building toolchain"; exit 1; }; cd $BUILDSCRIPTDIR; fi -if [ "$BUILD_DKPRO_SKIP_TOOLS" != "1" ] && [ -f $scriptdir/build-tools.sh ]; then - . $scriptdir/build-tools.sh || { echo "Error building tools"; exit 1; }; cd $BUILDSCRIPTDIR; -fi - cd $BUILDSCRIPTDIR if [ ! -z $CROSSBUILD ] && grep -q "mingw" <<<"$CROSSBUILD" ; then diff --git a/dka64/scripts/build-tools.sh b/dka64/scripts/build-tools.sh deleted file mode 100755 index 273c9bb..0000000 --- a/dka64/scripts/build-tools.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -cd $BUILDDIR - -for archive in $hostarchives -do - dir=$(echo $archive | sed -e 's/\(.*\)\.tar\.bz2/\1/' ) - cd $BUILDDIR/$dir - if [ ! -f configured ]; then - CXXFLAGS=$cflags CFLAGS=$cflags LDFLAGS=$ldflags ./configure --prefix=$toolsprefix $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } - touch configured - fi - if [ ! -f built ]; then - $MAKE || { echo "error building $dir"; exit 1; } - touch built - fi - if [ ! -f installed ]; then - $MAKE install || { echo "error installing $dir"; exit 1; } - touch installed - fi -done diff --git a/dkarm-eabi/scripts/build-tools.sh b/dkarm-eabi/scripts/build-tools.sh deleted file mode 100755 index fbd61b4..0000000 --- a/dkarm-eabi/scripts/build-tools.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -cd $BUILDDIR - -for archive in $hostarchives -do - dir=$(echo $archive | sed -e 's/\(.*\)\.tar\.bz2/\1/' ) - cd $BUILDDIR/$dir - if [ ! -f configured ]; then - CPPFLAGS="$cppflags $CPPFLAGS" ./configure --prefix=$toolsprefix $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } - touch configured - fi - if [ ! -f built ]; then - $MAKE || { echo "error building $dir"; exit 1; } - touch built - fi - if [ ! -f installed ]; then - $MAKE install || { echo "error installing $dir"; exit 1; } - touch installed - fi -done diff --git a/dkppc/scripts/build-tools.sh b/dkppc/scripts/build-tools.sh deleted file mode 100644 index 384b3f3..0000000 --- a/dkppc/scripts/build-tools.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -cd $BUILDDIR - -for archive in $hostarchives -do - dir=$(echo $archive | sed -e 's/\(.*\)\.tar\.bz2/\1/' ) - cd $BUILDDIR/$dir - if [ ! -f configured ]; then - CXXFLAGS=$cflags CFLAGS=$cflags LDFLAGS=$ldflags ./configure --prefix=$toolsprefix --disable-dependency-tracking $CROSS_PARAMS || { echo "error configuring $archive"; exit 1; } - touch configured - fi - if [ ! -f built ]; then - $MAKE || { echo "error building $archive"; exit 1; } - touch built - fi - if [ ! -f installed ]; then - $MAKE install || { echo "error installing $archive"; exit 1; } - touch installed - fi -done From 57ec7b67acb7b32e9bbbb7e3d9ebb0c6f16219c8 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 12 Apr 2020 02:12:22 +0100 Subject: [PATCH 097/280] script builds devkitPPC release 36 --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 65aeae3..52767d0 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,7 +1,7 @@ #!/bin/bash #--------------------------------------------------------------------------------- # devkitARM release 53-1 -# devkitPPC release 35 +# devkitPPC release 36 # devkitA64 release 14 #--------------------------------------------------------------------------------- From 1857d52ede930a4143cdcaba2820a2485c49fef6 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 8 May 2020 09:49:26 +0100 Subject: [PATCH 098/280] copy dll to libexec folder for windows tools --- build-devkit.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 52767d0..a9778ce 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -230,7 +230,8 @@ if [ -f $scriptdir/build-gcc.sh ]; then . $scriptdir/build-gcc.sh || { echo "Err cd $BUILDSCRIPTDIR if [ ! -z $CROSSBUILD ] && grep -q "mingw" <<<"$CROSSBUILD" ; then - cp -v $CROSSBINPATH//libwinpthread-1.dll $prefix/bin + cp -v $CROSSBINPATH/libwinpthread-1.dll $prefix/bin/ + cp -v $CROSSBINPATH/libwinpthread-1.dll $prefix/libexec/gcc/$target/$GCC_VER/ fi echo "stripping installed binaries" From 2a306b5e49441c88369dbc53a29d6f19b9b7dcec Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 8 May 2020 09:50:02 +0100 Subject: [PATCH 099/280] strip bins script should be executable --- strip_bins.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 strip_bins.sh diff --git a/strip_bins.sh b/strip_bins.sh old mode 100644 new mode 100755 From fa1972f5e9ffb40dda24d920419c93f33bb41ed5 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 8 May 2020 09:51:51 +0100 Subject: [PATCH 100/280] gdb requires CPPFLAGS for cross compile --- dka64/scripts/build-gcc.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 7808de4..7f5e748 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -161,6 +161,7 @@ PLATFORM=`uname -s` if [ ! -f configured-gdb ] then + CPPFLAGS="$cppflags" \ CFLAGS="$cflags" \ CXXFLAGS="$cflags" \ LDFLAGS="$ldflags" \ From 0adc00806f3b5624291c002c873c018294c96032 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 8 May 2020 09:54:21 +0100 Subject: [PATCH 101/280] devkitA64: upgrade gcc to 10.1.0 --- .../{gcc-9.2.0.patch => gcc-10.1.0.patch} | 118 ++++++++++++------ select_toolchain.sh | 2 +- 2 files changed, 81 insertions(+), 39 deletions(-) rename dka64/patches/{gcc-9.2.0.patch => gcc-10.1.0.patch} (75%) diff --git a/dka64/patches/gcc-9.2.0.patch b/dka64/patches/gcc-10.1.0.patch similarity index 75% rename from dka64/patches/gcc-9.2.0.patch rename to dka64/patches/gcc-10.1.0.patch index 4f6326a..43d18b4 100644 --- a/dka64/patches/gcc-9.2.0.patch +++ b/dka64/patches/gcc-10.1.0.patch @@ -1,10 +1,12 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc -index ddd3b8f4d9d..014df2e5a59 100644 +index cf1a87e2efd..bd79664568e 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc -@@ -985,6 +985,12 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) +@@ -1039,7 +1039,14 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) + tmake_file="${tmake_file} aarch64/t-aarch64" case $target in aarch64-*-elf*) ++ default_use_cxa_atexit=yes use_gcc_stdint=wrap + tm_file="${tm_file} devkitpro.h" + tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" @@ -16,7 +18,7 @@ index ddd3b8f4d9d..014df2e5a59 100644 aarch64-*-fuchsia*) tm_file="${tm_file} fuchsia.h" diff --git a/gcc/config/aarch64/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h -index bbebd0ef029..8f38510402f 100644 +index da5872cf4d8..ca840ab29cb 100644 --- a/gcc/config/aarch64/aarch64-elf-raw.h +++ b/gcc/config/aarch64/aarch64-elf-raw.h @@ -22,6 +22,7 @@ @@ -28,7 +30,7 @@ index bbebd0ef029..8f38510402f 100644 #define ENDFILE_SPEC \ " crtend%O%s crtn%O%s " \ diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h -index 4b07d296a11..037985f1d86 100644 +index ee7bed34924..d1e2742d750 100644 --- a/gcc/config/aarch64/aarch64-opts.h +++ b/gcc/config/aarch64/aarch64-opts.h @@ -48,6 +48,12 @@ enum aarch64_tls_type { @@ -45,10 +47,10 @@ index 4b07d296a11..037985f1d86 100644 Most have a PIC and non-PIC variant. */ enum aarch64_code_model { diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c -index 6b25d9cbfae..39c7026a90c 100644 +index 409ca8d9519..fa57bbf8cd5 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c -@@ -13186,8 +13186,24 @@ aarch64_load_tp (rtx target) +@@ -15951,8 +15951,24 @@ aarch64_load_tp (rtx target) || !register_operand (target, Pmode)) target = gen_reg_rtx (Pmode); @@ -76,10 +78,10 @@ index 6b25d9cbfae..39c7026a90c 100644 } diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h -index fc6df970c2e..705c6de868f 100644 +index 24767c747ba..0b1bbb5d79e 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h -@@ -1006,6 +1006,10 @@ typedef struct +@@ -1134,6 +1134,10 @@ typedef struct /* Check TLS Descriptors mechanism is selected. */ #define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS) @@ -91,10 +93,10 @@ index fc6df970c2e..705c6de868f 100644 /* When using the tiny addressing model conditional and unconditional branches diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md -index 5a1894063a1..7c9d9452659 100644 +index 8c8be3c2740..1257616a659 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md -@@ -6583,11 +6583,22 @@ +@@ -6789,11 +6789,22 @@ (define_insn "aarch64_load_tp_hard" [(set (match_operand:DI 0 "register_operand" "=r") (unspec:DI [(const_int 0)] UNSPEC_TLS))] @@ -120,7 +122,7 @@ index 5a1894063a1..7c9d9452659 100644 ;; instructions in the TLS stubs, in order to enable linker relaxation. ;; Therefore we treat the stubs as an atomic sequence. diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt -index 7719c3b6352..cd32a639b16 100644 +index d99d14c137d..08e52537dc6 100644 --- a/gcc/config/aarch64/aarch64.opt +++ b/gcc/config/aarch64/aarch64.opt @@ -118,6 +118,21 @@ Enum(aarch64_tls_size) String(32) Value(32) @@ -143,24 +145,34 @@ index 7719c3b6352..cd32a639b16 100644 + + march= - Target RejectNegative ToLower Joined Var(aarch64_arch_string) + Target RejectNegative Negative(march=) ToLower Joined Var(aarch64_arch_string) Use features of architecture ARCH. +@@ -256,7 +271,7 @@ TargetVariable + long aarch64_stack_protector_guard_offset = 0 + + moutline-atomics +-Target Report Var(aarch64_flag_outline_atomics) Init(2) Save ++Target Report Var(aarch64_flag_outline_atomics) Save + Generate local calls to out-of-line atomic operations. + + -param=aarch64-sve-compare-costs= diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64 -index ee471f8983f..aedaefdd62d 100644 +index 11d20b7be14..02ca761d3bf 100644 --- a/gcc/config/aarch64/t-aarch64 +++ b/gcc/config/aarch64/t-aarch64 -@@ -100,6 +100,8 @@ aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.c \ - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ +@@ -159,8 +159,10 @@ aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.c \ $(srcdir)/config/aarch64/aarch64-bti-insert.c --comma=, + comma=, -MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG)))) -MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG)) -+ comma=, +MULTILIB_OPTIONS = mcmodel=large fPIC +MULTILIB_DIRNAMES = large pic +MULTILIB_REQUIRED = mcmodel=large fPIC +MULTILIB_MATCHES = fPIC=fpic fPIC=fpie fPIC=fPIE + + insn-conditions.md: s-check-sve-md + s-check-sve-md: $(srcdir)/config/aarch64/check-sve-md.awk \ diff --git a/gcc/config/devkitpro.h b/gcc/config/devkitpro.h new file mode 100644 index 00000000000..11ba0f5ab1c @@ -233,11 +245,53 @@ index 00000000000..9acbbf9d27c +Driver + +; This comment is to ensure we retain the blank line above. +diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c +index 250fef59b55..36b2239aa5d 100644 +--- a/gcc/config/i386/host-mingw32.c ++++ b/gcc/config/i386/host-mingw32.c +@@ -44,9 +44,6 @@ static size_t mingw32_gt_pch_alloc_granularity (void); + + static inline void w32_error(const char*, const char*, int, const char*); + +-/* FIXME: Is this big enough? */ +-static const size_t pch_VA_max_size = 128 * 1024 * 1024; +- + /* Granularity for reserving address space. */ + static size_t va_granularity = 0x10000; + +@@ -88,9 +85,6 @@ static void * + mingw32_gt_pch_get_address (size_t size, int) + { + void* res; +- size = (size + va_granularity - 1) & ~(va_granularity - 1); +- if (size > pch_VA_max_size) +- return NULL; + + /* FIXME: We let system determine base by setting first arg to NULL. + Allocating at top of available address space avoids unnecessary +@@ -100,7 +94,7 @@ mingw32_gt_pch_get_address (size_t size, int) + If we allocate at bottom we need to reserve the address as early + as possible and at the same point in each invocation. */ + +- res = VirtualAlloc (NULL, pch_VA_max_size, ++ res = VirtualAlloc (NULL, size, + MEM_RESERVE | MEM_TOP_DOWN, + PAGE_NOACCESS); + if (!res) +@@ -150,7 +144,7 @@ mingw32_gt_pch_use_address (void *addr, size_t size, int fd, + + /* Offset must be also be a multiple of allocation granularity for + this to work. We can't change the offset. */ +- if ((offset & (va_granularity - 1)) != 0 || size > pch_VA_max_size) ++ if ((offset & (va_granularity - 1)) != 0) + return -1; + + diff --git a/gcc/gcc.c b/gcc/gcc.c -index 4f57765b012..2899202cc05 100644 +index 9f790db0daf..97f52d0b893 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -794,6 +794,11 @@ proper position among the other output files. */ +@@ -793,6 +793,11 @@ proper position among the other output files. */ #endif #endif @@ -249,7 +303,7 @@ index 4f57765b012..2899202cc05 100644 /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ #ifndef STARTFILE_SPEC #define STARTFILE_SPEC \ -@@ -1086,6 +1091,7 @@ static const char *link_spec = LINK_SPEC; +@@ -1085,6 +1090,7 @@ static const char *link_spec = LINK_SPEC; static const char *lib_spec = LIB_SPEC; static const char *link_gomp_spec = ""; static const char *libgcc_spec = LIBGCC_SPEC; @@ -257,7 +311,7 @@ index 4f57765b012..2899202cc05 100644 static const char *endfile_spec = ENDFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC; static const char *linker_name_spec = LINKER_NAME; -@@ -1583,6 +1589,7 @@ static struct spec_list static_specs[] = +@@ -1582,6 +1588,7 @@ static struct spec_list static_specs[] = INIT_STATIC_SPEC ("lib", &lib_spec), INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec), @@ -265,20 +319,8 @@ index 4f57765b012..2899202cc05 100644 INIT_STATIC_SPEC ("startfile", &startfile_spec), INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("version", &compiler_version), -diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 4927a9f8977..8311b6a7f5e 100644 ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -47,6 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - - /* Target machine header files require this define. */ - #define IN_LIBGCC2 -+#define USED_FOR_TARGET - - /* FIXME: Including auto-host is incorrect, but until we have - identified the set of defines that need to go into auto-target.h, diff --git a/libgcc/gthr.h b/libgcc/gthr.h -index 67826419882..d9f01c6c371 100644 +index f31cf083cbe..649f900aac3 100644 --- a/libgcc/gthr.h +++ b/libgcc/gthr.h @@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -291,10 +333,10 @@ index 67826419882..d9f01c6c371 100644 #define GTHREAD_USE_WEAK 0 #endif diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am -index 1deacb80ca2..0de11c15a3a 100644 +index 80aeb3f8959..308ceedc673 100644 --- a/libstdc++-v3/include/Makefile.am +++ b/libstdc++-v3/include/Makefile.am -@@ -1338,6 +1338,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} +@@ -1315,6 +1315,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ @@ -303,10 +345,10 @@ index 1deacb80ca2..0de11c15a3a 100644 < $< > $@ diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in -index bc475c6dd90..bfa3e71898a 100644 +index eb437ad8d8d..6e076fc63bd 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in -@@ -1817,6 +1817,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} +@@ -1793,6 +1793,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ diff --git a/select_toolchain.sh b/select_toolchain.sh index 13c755d..5a08146 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -51,7 +51,7 @@ case "$VERSION" in toolchain=DEVKITPPC ;; "3" ) - GCC_VER=9.2.0 + GCC_VER=10.1.0 BINUTILS_VER=2.32 NEWLIB_VER=3.1.0 GDB_VER=8.2.1 From ddaf4729513ff0af621f9f4ef784adc2c1cbe9b1 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 8 May 2020 09:56:51 +0100 Subject: [PATCH 102/280] devkitA64: upgrade newlib to 3.3.0 --- ...{newlib-3.1.0.patch => newlib-3.3.0.patch} | 259 ++++++++++-------- select_toolchain.sh | 2 +- 2 files changed, 139 insertions(+), 122 deletions(-) rename dka64/patches/{newlib-3.1.0.patch => newlib-3.3.0.patch} (98%) diff --git a/dka64/patches/newlib-3.1.0.patch b/dka64/patches/newlib-3.3.0.patch similarity index 98% rename from dka64/patches/newlib-3.1.0.patch rename to dka64/patches/newlib-3.3.0.patch index 2f7f008..439b029 100644 --- a/dka64/patches/newlib-3.1.0.patch +++ b/dka64/patches/newlib-3.3.0.patch @@ -1,8 +1,8 @@ diff --git a/libgloss/configure b/libgloss/configure -index 1a4033dce..ba7aea7b0 100755 +index 0d2918c..bccfb07 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -2599,6 +2599,8 @@ if test "${config_libnosys}" = "true"; then +@@ -2604,6 +2604,8 @@ if test "${config_libnosys}" = "true"; then fi @@ -12,7 +12,7 @@ index 1a4033dce..ba7aea7b0 100755 ac_config_commands="$ac_config_commands depfiles" diff --git a/libgloss/configure.in b/libgloss/configure.in -index 41843eed1..dc0e2a5fd 100644 +index f38d529..509c310 100644 --- a/libgloss/configure.in +++ b/libgloss/configure.in @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. @@ -23,7 +23,7 @@ index 41843eed1..dc0e2a5fd 100644 if test "${enable_shared}" = "yes" ; then echo "Shared libraries not supported for cross compiling, ignored" -@@ -190,6 +191,7 @@ dnl fi +@@ -193,6 +194,7 @@ dnl fi if test "${config_libnosys}" = "true"; then AC_CONFIG_SUBDIRS([libnosys]) fi @@ -33,7 +33,7 @@ index 41843eed1..dc0e2a5fd 100644 AS=${AS-as} diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in new file mode 100644 -index 000000000..3db0c08bc +index 0000000..3db0c08 --- /dev/null +++ b/libgloss/libsysbase/Makefile.in @@ -0,0 +1,151 @@ @@ -190,7 +190,7 @@ index 000000000..3db0c08bc + $(SHELL) config.status --recheck diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c new file mode 100644 -index 000000000..6effb1105 +index 0000000..6effb11 --- /dev/null +++ b/libgloss/libsysbase/_exit.c @@ -0,0 +1,17 @@ @@ -213,7 +213,7 @@ index 000000000..6effb1105 +} diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c new file mode 100644 -index 000000000..9272e22c9 +index 0000000..9272e22 --- /dev/null +++ b/libgloss/libsysbase/abort.c @@ -0,0 +1,8 @@ @@ -227,7 +227,7 @@ index 000000000..9272e22c9 + diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h new file mode 100644 -index 000000000..200ea7873 +index 0000000..200ea78 --- /dev/null +++ b/libgloss/libsysbase/acconfig.h @@ -0,0 +1,29 @@ @@ -262,7 +262,7 @@ index 000000000..200ea7873 +#undef __SYMBOL_PREFIX diff --git a/libgloss/libsysbase/aclocal.m4 b/libgloss/libsysbase/aclocal.m4 new file mode 100644 -index 000000000..b6cdfaeb8 +index 0000000..b6cdfae --- /dev/null +++ b/libgloss/libsysbase/aclocal.m4 @@ -0,0 +1,344 @@ @@ -612,7 +612,7 @@ index 000000000..b6cdfaeb8 +m4_include([../acinclude.m4]) diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c new file mode 100644 -index 000000000..b94f6a8b4 +index 0000000..b94f6a8 --- /dev/null +++ b/libgloss/libsysbase/chdir.c @@ -0,0 +1,200 @@ @@ -818,7 +818,7 @@ index 000000000..b94f6a8b4 +} diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c new file mode 100644 -index 000000000..3668b5801 +index 0000000..3668b58 --- /dev/null +++ b/libgloss/libsysbase/chmod.c @@ -0,0 +1,30 @@ @@ -854,7 +854,7 @@ index 000000000..3668b5801 + diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c new file mode 100644 -index 000000000..b36b5c079 +index 0000000..b36b5c0 --- /dev/null +++ b/libgloss/libsysbase/clocks.c @@ -0,0 +1,34 @@ @@ -894,7 +894,7 @@ index 000000000..b36b5c079 + diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c new file mode 100644 -index 000000000..931ad07b1 +index 0000000..931ad07 --- /dev/null +++ b/libgloss/libsysbase/close.c @@ -0,0 +1,46 @@ @@ -946,7 +946,7 @@ index 000000000..931ad07b1 +} diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in new file mode 100644 -index 000000000..48ce950b4 +index 0000000..48ce950 --- /dev/null +++ b/libgloss/libsysbase/config.h.in @@ -0,0 +1,25 @@ @@ -977,7 +977,7 @@ index 000000000..48ce950b4 +#undef __SYMBOL_PREFIX diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure new file mode 100644 -index 000000000..aa653c235 +index 0000000..aa653c2 --- /dev/null +++ b/libgloss/libsysbase/configure @@ -0,0 +1,4160 @@ @@ -5143,7 +5143,7 @@ index 000000000..aa653c235 + diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in new file mode 100644 -index 000000000..da85a3f46 +index 0000000..da85a3f --- /dev/null +++ b/libgloss/libsysbase/configure.in @@ -0,0 +1,202 @@ @@ -5351,7 +5351,7 @@ index 000000000..da85a3f46 + diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c new file mode 100644 -index 000000000..7d1f4545d +index 0000000..7d1f454 --- /dev/null +++ b/libgloss/libsysbase/dirent.c @@ -0,0 +1,256 @@ @@ -5613,7 +5613,7 @@ index 000000000..7d1f4545d +} diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c new file mode 100644 -index 000000000..1c485b26f +index 0000000..1c485b2 --- /dev/null +++ b/libgloss/libsysbase/environ.c @@ -0,0 +1,6 @@ @@ -5625,7 +5625,7 @@ index 000000000..1c485b26f +char **environ = __env; diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c new file mode 100644 -index 000000000..82e70139f +index 0000000..82e7013 --- /dev/null +++ b/libgloss/libsysbase/execve.c @@ -0,0 +1,30 @@ @@ -5661,7 +5661,7 @@ index 000000000..82e70139f + diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c new file mode 100644 -index 000000000..5c5831cdf +index 0000000..5c5831c --- /dev/null +++ b/libgloss/libsysbase/fchmod.c @@ -0,0 +1,31 @@ @@ -5698,7 +5698,7 @@ index 000000000..5c5831cdf +} diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c new file mode 100644 -index 000000000..c6b8c92ad +index 0000000..c6b8c92 --- /dev/null +++ b/libgloss/libsysbase/flock.c @@ -0,0 +1,21 @@ @@ -5725,7 +5725,7 @@ index 000000000..c6b8c92ad +} diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c new file mode 100644 -index 000000000..893b662ab +index 0000000..893b662 --- /dev/null +++ b/libgloss/libsysbase/fnmatch.c @@ -0,0 +1,201 @@ @@ -5932,7 +5932,7 @@ index 000000000..893b662ab +} diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c new file mode 100644 -index 000000000..efb6a3496 +index 0000000..efb6a34 --- /dev/null +++ b/libgloss/libsysbase/fork.c @@ -0,0 +1,21 @@ @@ -5959,7 +5959,7 @@ index 000000000..efb6a3496 +} diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c new file mode 100644 -index 000000000..e32b06755 +index 0000000..e32b067 --- /dev/null +++ b/libgloss/libsysbase/fstat.c @@ -0,0 +1,44 @@ @@ -6009,7 +6009,7 @@ index 000000000..e32b06755 +} diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c new file mode 100644 -index 000000000..fb06cb6d1 +index 0000000..fb06cb6 --- /dev/null +++ b/libgloss/libsysbase/fsync.c @@ -0,0 +1,34 @@ @@ -6049,7 +6049,7 @@ index 000000000..fb06cb6d1 +} diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c new file mode 100644 -index 000000000..2cc03a3d9 +index 0000000..2cc03a3 --- /dev/null +++ b/libgloss/libsysbase/ftruncate.c @@ -0,0 +1,34 @@ @@ -6089,7 +6089,7 @@ index 000000000..2cc03a3d9 +} diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c new file mode 100644 -index 000000000..fdce14b5f +index 0000000..fdce14b --- /dev/null +++ b/libgloss/libsysbase/getpid.c @@ -0,0 +1,19 @@ @@ -6114,7 +6114,7 @@ index 000000000..fdce14b5f + diff --git a/libgloss/libsysbase/getreent.c b/libgloss/libsysbase/getreent.c new file mode 100644 -index 000000000..a3f1e98a9 +index 0000000..a3f1e98 --- /dev/null +++ b/libgloss/libsysbase/getreent.c @@ -0,0 +1,20 @@ @@ -6140,7 +6140,7 @@ index 000000000..a3f1e98a9 + diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c new file mode 100644 -index 000000000..f18c59ba3 +index 0000000..f18c59b --- /dev/null +++ b/libgloss/libsysbase/gettod.c @@ -0,0 +1,34 @@ @@ -6180,7 +6180,7 @@ index 000000000..f18c59ba3 + diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c new file mode 100644 -index 000000000..f3fcc88f7 +index 0000000..f3fcc88 --- /dev/null +++ b/libgloss/libsysbase/handle_manager.c @@ -0,0 +1,173 @@ @@ -6359,7 +6359,7 @@ index 000000000..f3fcc88f7 +} diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c new file mode 100644 -index 000000000..948c6ef93 +index 0000000..948c6ef --- /dev/null +++ b/libgloss/libsysbase/iosupport.c @@ -0,0 +1,140 @@ @@ -6505,7 +6505,7 @@ index 000000000..948c6ef93 + diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c new file mode 100644 -index 000000000..280a4579a +index 0000000..280a457 --- /dev/null +++ b/libgloss/libsysbase/isatty.c @@ -0,0 +1,17 @@ @@ -6528,7 +6528,7 @@ index 000000000..280a4579a +} diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c new file mode 100644 -index 000000000..13bd0fba1 +index 0000000..13bd0fb --- /dev/null +++ b/libgloss/libsysbase/kill.c @@ -0,0 +1,21 @@ @@ -6555,7 +6555,7 @@ index 000000000..13bd0fba1 +} diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c new file mode 100644 -index 000000000..162f70f63 +index 0000000..162f70f --- /dev/null +++ b/libgloss/libsysbase/link.c @@ -0,0 +1,36 @@ @@ -6597,7 +6597,7 @@ index 000000000..162f70f63 + diff --git a/libgloss/libsysbase/locks.c b/libgloss/libsysbase/locks.c new file mode 100644 -index 000000000..c41d91ff9 +index 0000000..c41d91f --- /dev/null +++ b/libgloss/libsysbase/locks.c @@ -0,0 +1,158 @@ @@ -6761,7 +6761,7 @@ index 000000000..c41d91ff9 + diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c new file mode 100644 -index 000000000..eb232c86b +index 0000000..eb232c8 --- /dev/null +++ b/libgloss/libsysbase/lseek.c @@ -0,0 +1,45 @@ @@ -6812,7 +6812,7 @@ index 000000000..eb232c86b +} diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c new file mode 100644 -index 000000000..fc393430b +index 0000000..fc39343 --- /dev/null +++ b/libgloss/libsysbase/lstat.c @@ -0,0 +1,31 @@ @@ -6849,7 +6849,7 @@ index 000000000..fc393430b + diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c new file mode 100644 -index 000000000..456590956 +index 0000000..4565909 --- /dev/null +++ b/libgloss/libsysbase/malloc_vars.c @@ -0,0 +1,2 @@ @@ -6857,7 +6857,7 @@ index 000000000..456590956 +char *fake_heap_start = (char*)0; diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c new file mode 100644 -index 000000000..19742b774 +index 0000000..19742b7 --- /dev/null +++ b/libgloss/libsysbase/mkdir.c @@ -0,0 +1,23 @@ @@ -6886,7 +6886,7 @@ index 000000000..19742b774 +} diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c new file mode 100644 -index 000000000..a233b9df6 +index 0000000..a233b9d --- /dev/null +++ b/libgloss/libsysbase/nanosleep.c @@ -0,0 +1,14 @@ @@ -6906,7 +6906,7 @@ index 000000000..a233b9df6 +} diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c new file mode 100644 -index 000000000..f8d98fd3b +index 0000000..f8d98fd --- /dev/null +++ b/libgloss/libsysbase/open.c @@ -0,0 +1,53 @@ @@ -6965,7 +6965,7 @@ index 000000000..f8d98fd3b +} diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c new file mode 100755 -index 000000000..ff84cd355 +index 0000000..ff84cd3 --- /dev/null +++ b/libgloss/libsysbase/pthread.c @@ -0,0 +1,1083 @@ @@ -8054,7 +8054,7 @@ index 000000000..ff84cd355 +} diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c new file mode 100644 -index 000000000..838a8c796 +index 0000000..838a8c7 --- /dev/null +++ b/libgloss/libsysbase/read.c @@ -0,0 +1,39 @@ @@ -8099,7 +8099,7 @@ index 000000000..838a8c796 + diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c new file mode 100644 -index 000000000..b54e0ce7c +index 0000000..b54e0ce --- /dev/null +++ b/libgloss/libsysbase/rename.c @@ -0,0 +1,37 @@ @@ -8142,7 +8142,7 @@ index 000000000..b54e0ce7c +} diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c new file mode 100644 -index 000000000..2692a2997 +index 0000000..2692a29 --- /dev/null +++ b/libgloss/libsysbase/rmdir.c @@ -0,0 +1,25 @@ @@ -8173,7 +8173,7 @@ index 000000000..2692a2997 +} diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c new file mode 100644 -index 000000000..5dd550c5c +index 0000000..5dd550c --- /dev/null +++ b/libgloss/libsysbase/sbrk.c @@ -0,0 +1,60 @@ @@ -8239,7 +8239,7 @@ index 000000000..5dd550c5c +} diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c new file mode 100644 -index 000000000..5c673af52 +index 0000000..5c673af --- /dev/null +++ b/libgloss/libsysbase/scandir.c @@ -0,0 +1,76 @@ @@ -8321,7 +8321,7 @@ index 000000000..5c673af52 + diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c new file mode 100644 -index 000000000..f3aa97954 +index 0000000..f3aa979 --- /dev/null +++ b/libgloss/libsysbase/sleep.c @@ -0,0 +1,18 @@ @@ -8345,7 +8345,7 @@ index 000000000..f3aa97954 +} diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c new file mode 100644 -index 000000000..d0ad00202 +index 0000000..d0ad002 --- /dev/null +++ b/libgloss/libsysbase/stat.c @@ -0,0 +1,38 @@ @@ -8389,7 +8389,7 @@ index 000000000..d0ad00202 + diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c new file mode 100644 -index 000000000..84e221340 +index 0000000..84e2213 --- /dev/null +++ b/libgloss/libsysbase/statvfs.c @@ -0,0 +1,24 @@ @@ -8419,7 +8419,7 @@ index 000000000..84e221340 +} diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c new file mode 100644 -index 000000000..79484e7f4 +index 0000000..79484e7 --- /dev/null +++ b/libgloss/libsysbase/times.c @@ -0,0 +1,17 @@ @@ -8442,7 +8442,7 @@ index 000000000..79484e7f4 + diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c new file mode 100644 -index 000000000..849525990 +index 0000000..8495259 --- /dev/null +++ b/libgloss/libsysbase/truncate.c @@ -0,0 +1,54 @@ @@ -8502,7 +8502,7 @@ index 000000000..849525990 +} diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c new file mode 100644 -index 000000000..7920b79ac +index 0000000..7920b79 --- /dev/null +++ b/libgloss/libsysbase/unlink.c @@ -0,0 +1,34 @@ @@ -8542,7 +8542,7 @@ index 000000000..7920b79ac + diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c new file mode 100644 -index 000000000..b54714775 +index 0000000..b547147 --- /dev/null +++ b/libgloss/libsysbase/usleep.c @@ -0,0 +1,18 @@ @@ -8566,7 +8566,7 @@ index 000000000..b54714775 +} diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c new file mode 100644 -index 000000000..f72bf9fc6 +index 0000000..f72bf9f --- /dev/null +++ b/libgloss/libsysbase/utime.c @@ -0,0 +1,45 @@ @@ -8617,7 +8617,7 @@ index 000000000..f72bf9fc6 +} diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c new file mode 100644 -index 000000000..247486e42 +index 0000000..247486e --- /dev/null +++ b/libgloss/libsysbase/wait.c @@ -0,0 +1,24 @@ @@ -8647,7 +8647,7 @@ index 000000000..247486e42 + diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h new file mode 100644 -index 000000000..2c2998250 +index 0000000..2c29982 --- /dev/null +++ b/libgloss/libsysbase/warning.h @@ -0,0 +1,43 @@ @@ -8696,7 +8696,7 @@ index 000000000..2c2998250 +#endif /* __WARNING_H__ */ diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c new file mode 100644 -index 000000000..61de918bc +index 0000000..61de918 --- /dev/null +++ b/libgloss/libsysbase/write.c @@ -0,0 +1,38 @@ @@ -8739,10 +8739,10 @@ index 000000000..61de918bc + return ret; +} diff --git a/newlib/configure.host b/newlib/configure.host -index 6c49cb750..610b63e81 100644 +index a84c0c8..aa9ea05 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -659,13 +659,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -680,13 +680,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID syscall_dir=syscalls ;; aarch64*-*-*) @@ -8769,7 +8769,7 @@ index 6c49cb750..610b63e81 100644 syscall_dir=syscalls ;; diff --git a/newlib/libc/include/fnmatch.h b/newlib/libc/include/fnmatch.h -index a94e923a4..9171e98aa 100644 +index a94e923..9171e98 100644 --- a/newlib/libc/include/fnmatch.h +++ b/newlib/libc/include/fnmatch.h @@ -44,6 +44,7 @@ @@ -8782,7 +8782,7 @@ index a94e923a4..9171e98aa 100644 #endif diff --git a/newlib/libc/include/machine/_threads.h b/newlib/libc/include/machine/_threads.h new file mode 100755 -index 000000000..a71a5d847 +index 0000000..a71a5d8 --- /dev/null +++ b/newlib/libc/include/machine/_threads.h @@ -0,0 +1,44 @@ @@ -8831,7 +8831,7 @@ index 000000000..a71a5d847 + +#endif diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h -index 893a5d064..da4b3a1ee 100644 +index 1efc5b9..91a8d74 100644 --- a/newlib/libc/include/math.h +++ b/newlib/libc/include/math.h @@ -416,7 +416,7 @@ extern float hypotf (float, float); @@ -8845,7 +8845,7 @@ index 893a5d064..da4b3a1ee 100644 extern long double atanl (long double); diff --git a/newlib/libc/include/semaphore.h b/newlib/libc/include/semaphore.h new file mode 100755 -index 000000000..4afb0e419 +index 0000000..4afb0e4 --- /dev/null +++ b/newlib/libc/include/semaphore.h @@ -0,0 +1,69 @@ @@ -8919,7 +8919,7 @@ index 000000000..4afb0e419 + +#endif /* !_SEMAPHORE_H_ */ diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h -index 75e9e1cbf..dc63dbe6a 100644 +index 75e9e1c..dc63dbe 100644 --- a/newlib/libc/include/sys/_pthreadtypes.h +++ b/newlib/libc/include/sys/_pthreadtypes.h @@ -18,19 +18,18 @@ @@ -9092,10 +9092,10 @@ index 75e9e1cbf..dc63dbe6a 100644 int process_shared; /* allow this to be shared amongst processes */ #endif diff --git a/newlib/libc/include/sys/_timespec.h b/newlib/libc/include/sys/_timespec.h -index 7609e4a46..6017a5e3d 100644 +index f810b00..ca7e11d 100644 --- a/newlib/libc/include/sys/_timespec.h +++ b/newlib/libc/include/sys/_timespec.h -@@ -47,4 +47,10 @@ struct timespec { +@@ -49,4 +49,10 @@ struct timespec { long tv_nsec; /* and nanoseconds */ }; @@ -9107,7 +9107,7 @@ index 7609e4a46..6017a5e3d 100644 + #endif /* !_SYS__TIMESPEC_H_ */ diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 49b62ebf6..d84ffaa59 100644 +index d746b15..80169d9 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h @@ -4,6 +4,9 @@ @@ -9121,7 +9121,7 @@ index 49b62ebf6..d84ffaa59 100644 #define MALLOC_ALIGNMENT 16 #endif diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c02c..b208de4a7 100644 +index a3fb5c0..b208de4 100644 --- a/newlib/libc/include/sys/dirent.h +++ b/newlib/libc/include/sys/dirent.h @@ -1,13 +1,60 @@ @@ -9189,7 +9189,7 @@ index a3fb5c02c..b208de4a7 100644 + +#endif // _dirent_h_ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index f28dd071b..ab3780ee2 100644 +index 2188071..93294ad 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h @@ -330,6 +330,16 @@ extern "C" { @@ -9211,7 +9211,7 @@ index f28dd071b..ab3780ee2 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..82d2e3576 +index 0000000..82d2e35 --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h @@ -0,0 +1,126 @@ @@ -9342,7 +9342,7 @@ index 000000000..82d2e3576 +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- diff --git a/newlib/libc/include/sys/lock.h b/newlib/libc/include/sys/lock.h -index 528904957..e49f77b75 100644 +index 5289049..2c3e64f 100644 --- a/newlib/libc/include/sys/lock.h +++ b/newlib/libc/include/sys/lock.h @@ -1,69 +1,105 @@ @@ -9356,7 +9356,7 @@ index 528904957..e49f77b75 100644 +#include -#if !defined(_RETARGETABLE_LOCKING) -+typedef int32_t _LOCK_T; ++typedef uint32_t _LOCK_T; -typedef int _LOCK_T; -typedef int _LOCK_RECURSIVE_T; @@ -9501,11 +9501,24 @@ index 528904957..e49f77b75 100644 -#endif /* __SYS_LOCK_H__ */ +#endif // __SYS_LOCK_H__ +diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h +index 9a6f115..fdd6cf9 100644 +--- a/newlib/libc/include/sys/param.h ++++ b/newlib/libc/include/sys/param.h +@@ -23,7 +23,7 @@ + # define PATHSIZE (1024) + #endif + +-#define MAXPATHLEN PATH_MAX ++#define MAXPATHLEN PATHSIZE + + #define MAX(a,b) ((a) > (b) ? (a) : (b)) + #define MIN(a,b) ((a) < (b) ? (a) : (b)) diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 6e55e1c1f..6e0c1c9cf 100644 +index 74b70e9..d8c5410 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h -@@ -416,6 +416,8 @@ struct _reent +@@ -421,6 +421,8 @@ struct _reent __FILE *__sf; /* file descriptors */ struct _misc_reent *_misc; /* strtok, multibyte states */ char *_signal_buf; /* strsignal */ @@ -9514,7 +9527,7 @@ index 6e55e1c1f..6e0c1c9cf 100644 }; #ifdef _REENT_GLOBAL_STDIO_STREAMS -@@ -686,6 +688,7 @@ struct _reent +@@ -691,6 +693,7 @@ struct _reent # ifndef _REENT_GLOBAL_STDIO_STREAMS __FILE __sf[3]; /* first three file descriptors */ # endif @@ -9523,10 +9536,10 @@ index 6e55e1c1f..6e0c1c9cf 100644 #ifdef _REENT_GLOBAL_STDIO_STREAMS diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index eee98db64..aed9c1746 100644 +index 8769112..5526e59 100644 --- a/newlib/libc/include/sys/stat.h +++ b/newlib/libc/include/sys/stat.h -@@ -152,8 +152,9 @@ int mkfifo (const char *__path, mode_t __mode ); +@@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); mode_t umask (mode_t __mask ); @@ -9539,7 +9552,7 @@ index eee98db64..aed9c1746 100644 diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h new file mode 100644 -index 000000000..380329d34 +index 0000000..380329d --- /dev/null +++ b/newlib/libc/include/sys/statvfs.h @@ -0,0 +1,35 @@ @@ -9580,7 +9593,7 @@ index 000000000..380329d34 +#endif // _SYS_STATVFS_H \ No newline at end of file diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h -index ba9dbd667..49c213ca8 100644 +index ba9dbd6..49c213c 100644 --- a/newlib/libc/include/sys/syslimits.h +++ b/newlib/libc/include/sys/syslimits.h @@ -62,4 +62,6 @@ @@ -9591,7 +9604,7 @@ index ba9dbd667..49c213ca8 100644 + #endif diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h -index 5e937f103..635a7a6b8 100644 +index 5e937f1..635a7a6 100644 --- a/newlib/libc/include/sys/utime.h +++ b/newlib/libc/include/sys/utime.h @@ -9,12 +9,19 @@ @@ -9617,7 +9630,7 @@ index 5e937f103..635a7a6b8 100644 }; #endif diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index 4c343e462..c04493460 100644 +index 4c343e4..c044934 100644 --- a/newlib/libc/locale/locale.c +++ b/newlib/libc/locale/locale.c @@ -92,7 +92,7 @@ beginning with <<"LC_">>. @@ -9738,7 +9751,7 @@ index 4c343e462..c04493460 100644 return __get_current_locale ()->ctype_ptr; } diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h -index a0c80843a..efabdcfc4 100644 +index a0c8084..efabdcf 100644 --- a/newlib/libc/locale/setlocale.h +++ b/newlib/libc/locale/setlocale.h @@ -217,11 +217,7 @@ __get_global_locale () @@ -9766,7 +9779,7 @@ index a0c80843a..efabdcfc4 100644 /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE diff --git a/newlib/libc/machine/aarch64/Makefile.am b/newlib/libc/machine/aarch64/Makefile.am -index e8b8197fa..011f69d69 100644 +index e8b8197..011f69d 100644 --- a/newlib/libc/machine/aarch64/Makefile.am +++ b/newlib/libc/machine/aarch64/Makefile.am @@ -9,6 +9,7 @@ AM_CCASFLAGS = $(INCLUDES) @@ -9778,7 +9791,7 @@ index e8b8197fa..011f69d69 100644 lib_a_SOURCES += memchr.S lib_a_SOURCES += memcmp-stub.c diff --git a/newlib/libc/machine/aarch64/Makefile.in b/newlib/libc/machine/aarch64/Makefile.in -index 39b23a1ce..969512471 100644 +index 39b23a1..9695124 100644 --- a/newlib/libc/machine/aarch64/Makefile.in +++ b/newlib/libc/machine/aarch64/Makefile.in @@ -69,22 +69,22 @@ LIBRARIES = $(noinst_LIBRARIES) @@ -9844,7 +9857,7 @@ index 39b23a1ce..969512471 100644 diff --git a/newlib/libc/machine/aarch64/access.c b/newlib/libc/machine/aarch64/access.c new file mode 100644 -index 000000000..980682ef3 +index 0000000..980682e --- /dev/null +++ b/newlib/libc/machine/aarch64/access.c @@ -0,0 +1,33 @@ @@ -9882,7 +9895,7 @@ index 000000000..980682ef3 +} + diff --git a/newlib/libc/machine/arm/Makefile.am b/newlib/libc/machine/arm/Makefile.am -index 9bd35e733..731130092 100644 +index 9bd35e7..7311300 100644 --- a/newlib/libc/machine/arm/Makefile.am +++ b/newlib/libc/machine/arm/Makefile.am @@ -11,7 +11,9 @@ noinst_LIBRARIES = lib.a @@ -9897,7 +9910,7 @@ index 9bd35e733..731130092 100644 lib_a_SOURCES += memchr.S lib_a_SOURCES += memcpy-stub.c diff --git a/newlib/libc/machine/arm/Makefile.in b/newlib/libc/machine/arm/Makefile.in -index d9dbcd5c3..43712f813 100644 +index d9dbcd5..43712f8 100644 --- a/newlib/libc/machine/arm/Makefile.in +++ b/newlib/libc/machine/arm/Makefile.in @@ -75,10 +75,10 @@ am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ @@ -9941,7 +9954,7 @@ index d9dbcd5c3..43712f813 100644 diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c new file mode 100644 -index 000000000..3acc9e094 +index 0000000..3acc9e0 --- /dev/null +++ b/newlib/libc/machine/arm/sync_synchronize.c @@ -0,0 +1,10 @@ @@ -9957,7 +9970,7 @@ index 000000000..3acc9e094 +#endif diff --git a/newlib/libc/machine/arm/sys/stdio.h b/newlib/libc/machine/arm/sys/stdio.h new file mode 100644 -index 000000000..4eb278e2f +index 0000000..4eb278e --- /dev/null +++ b/newlib/libc/machine/arm/sys/stdio.h @@ -0,0 +1,27 @@ @@ -9989,7 +10002,7 @@ index 000000000..4eb278e2f + +#endif /* _NEWLIB_STDIO_H */ diff --git a/newlib/libc/reent/getreent.c b/newlib/libc/reent/getreent.c -index 5fa98e96b..ef8a15e1b 100644 +index 5fa98e9..ef8a15e 100644 --- a/newlib/libc/reent/getreent.c +++ b/newlib/libc/reent/getreent.c @@ -1,3 +1,4 @@ @@ -10004,7 +10017,7 @@ index 5fa98e96b..ef8a15e1b 100644 +#endif \ No newline at end of file diff --git a/newlib/libc/reent/gettimeofdayr.c b/newlib/libc/reent/gettimeofdayr.c -index 9b982a993..8c0aaac8c 100644 +index 9b982a9..8c0aaac 100644 --- a/newlib/libc/reent/gettimeofdayr.c +++ b/newlib/libc/reent/gettimeofdayr.c @@ -51,7 +51,7 @@ DESCRIPTION @@ -10024,7 +10037,7 @@ index 9b982a993..8c0aaac8c 100644 +*/ #endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */ diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index b358d2b4a..29cec0229 100644 +index b358d2b..11c2343 100644 --- a/newlib/libc/stdio/fread.c +++ b/newlib/libc/stdio/fread.c @@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, @@ -10036,7 +10049,24 @@ index b358d2b4a..29cec0229 100644 } #endif -@@ -225,7 +225,32 @@ _fread_r (struct _reent * ptr, +@@ -187,7 +187,6 @@ _fread_r (struct _reent * ptr, + int rc = 0; + /* save fp buffering state */ + void *old_base = fp->_bf._base; +- void * old_p = fp->_p; + int old_size = fp->_bf._size; + /* allow __refill to use user's buffer */ + fp->_bf._base = (unsigned char *) p; +@@ -197,7 +196,7 @@ _fread_r (struct _reent * ptr, + /* restore fp buffering back to original state */ + fp->_bf._base = old_base; + fp->_bf._size = old_size; +- fp->_p = old_p; ++ fp->_p = old_base; + resid -= fp->_r; + p += fp->_r; + fp->_r = 0; +@@ -225,7 +224,32 @@ _fread_r (struct _reent * ptr, /* fp->_r = 0 ... done in __srefill */ p += r; resid -= r; @@ -10044,7 +10074,7 @@ index b358d2b4a..29cec0229 100644 + + int rc = 0; + -+ if (resid>BUFSIZ) ++ if (resid>fp->_bf._size) + { + /* save fp buffering state */ + void *old_base = fp->_bf._base; @@ -10058,7 +10088,7 @@ index b358d2b4a..29cec0229 100644 + /* restore fp buffering back to original state */ + fp->_bf._base = old_base; + fp->_bf._size = old_size; -+ fp->_p = old_p; ++ fp->_p = old_base; + resid -= fp->_r; + p += fp->_r; + fp->_r = 0; @@ -10071,7 +10101,7 @@ index b358d2b4a..29cec0229 100644 /* no more input: return partial result */ #ifdef __SCLE diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h -index 53694aa1c..79a8f4666 100644 +index 53694aa..79a8f46 100644 --- a/newlib/libc/stdio/local.h +++ b/newlib/libc/stdio/local.h @@ -56,7 +56,7 @@ @@ -10084,7 +10114,7 @@ index 53694aa1c..79a8f4666 100644 #endif diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index c4bf2dbe3..d756df37d 100644 +index c4bf2db..d756df3 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c @@ -112,6 +112,8 @@ Supporting OS subroutines required: <>, <>, <>, @@ -10115,7 +10145,7 @@ index c4bf2dbe3..d756df37d 100644 if (ch == 'S' || (flags & LONGINT)) { mbstate_t ps; diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index 9c38eebf4..fbc8d877d 100644 +index 9c38eeb..fbc8d87 100644 --- a/newlib/libc/stdio/vfscanf.c +++ b/newlib/libc/stdio/vfscanf.c @@ -74,6 +74,8 @@ These are GNU extensions. @@ -10128,7 +10158,7 @@ index 9c38eebf4..fbc8d877d 100644 #include #include diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c -index 980b31e3b..722be905e 100644 +index 980b31e..722be90 100644 --- a/newlib/libc/stdio/vfwprintf.c +++ b/newlib/libc/stdio/vfwprintf.c @@ -92,6 +92,9 @@ SEEALSO @@ -10142,7 +10172,7 @@ index 980b31e3b..722be905e 100644 #ifdef INTEGER_ONLY diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index 0464b0837..435fc0142 100644 +index ffb6cc8..db33d4f 100644 --- a/newlib/libc/stdio/vfwscanf.c +++ b/newlib/libc/stdio/vfwscanf.c @@ -74,6 +74,9 @@ PORTABILITY @@ -10156,7 +10186,7 @@ index 0464b0837..435fc0142 100644 #include #include diff --git a/newlib/libc/stdlib/Makefile.am b/newlib/libc/stdlib/Makefile.am -index 357e37beb..7183b2100 100644 +index 357e37b..7183b21 100644 --- a/newlib/libc/stdlib/Makefile.am +++ b/newlib/libc/stdlib/Makefile.am @@ -110,6 +110,7 @@ MALLOCR=mallocr @@ -10168,7 +10198,7 @@ index 357e37beb..7183b2100 100644 arc4random_uniform.c \ cxa_atexit.c \ diff --git a/newlib/libc/stdlib/Makefile.in b/newlib/libc/stdlib/Makefile.in -index 699831f13..1e6d2e612 100644 +index 699831f..1e6d2e6 100644 --- a/newlib/libc/stdlib/Makefile.in +++ b/newlib/libc/stdlib/Makefile.in @@ -119,7 +119,7 @@ am__objects_2 = lib_a-__adjust.$(OBJEXT) lib_a-__atexit.$(OBJEXT) \ @@ -10203,7 +10233,7 @@ index 699831f13..1e6d2e612 100644 $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-arc4random.o `test -f 'arc4random.c' || echo '$(srcdir)/'`arc4random.c diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c -index 88413ce86..24029a6f7 100644 +index 88413ce..24029a6 100644 --- a/newlib/libc/stdlib/aligned_alloc.c +++ b/newlib/libc/stdlib/aligned_alloc.c @@ -1,5 +1,5 @@ @@ -10235,7 +10265,7 @@ index 88413ce86..24029a6f7 100644 + return (void*)NULL; } diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c -index 920a7ea3c..ba5ee7652 100644 +index 920a7ea..ba5ee76 100644 --- a/newlib/libc/stdlib/mbtowc_r.c +++ b/newlib/libc/stdlib/mbtowc_r.c @@ -7,6 +7,7 @@ @@ -10248,7 +10278,7 @@ index 920a7ea3c..ba5ee7652 100644 wchar_t *__restrict pwc, diff --git a/newlib/libc/stdlib/threads.c b/newlib/libc/stdlib/threads.c new file mode 100755 -index 000000000..741111ea0 +index 0000000..741111e --- /dev/null +++ b/newlib/libc/stdlib/threads.c @@ -0,0 +1,224 @@ @@ -10478,7 +10508,7 @@ index 000000000..741111ea0 +} diff --git a/newlib/libc/sys/arm/include/machine/_types.h b/newlib/libc/sys/arm/include/machine/_types.h new file mode 100644 -index 000000000..40092f99f +index 0000000..40092f9 --- /dev/null +++ b/newlib/libc/sys/arm/include/machine/_types.h @@ -0,0 +1,19 @@ @@ -10503,7 +10533,7 @@ index 000000000..40092f99f + diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h new file mode 100644 -index 000000000..567fed56b +index 0000000..567fed5 --- /dev/null +++ b/newlib/libc/sys/arm/sys/lock.h @@ -0,0 +1,66 @@ @@ -10573,16 +10603,3 @@ index 000000000..567fed56b + __libc_lock_release_recursive(&(NAME)) + +#endif // __SYS_LOCK_H__ -diff --git a/newlib/libc/sys/arm/sys/param.h b/newlib/libc/sys/arm/sys/param.h -index 5b9464cca..e8969b954 100644 ---- a/newlib/libc/sys/arm/sys/param.h -+++ b/newlib/libc/sys/arm/sys/param.h -@@ -19,6 +19,8 @@ - # define PATHSIZE (1024) - #endif - -+#define MAXPATHLEN PATHSIZE -+ - #define MAX(a,b) ((a) > (b) ? (a) : (b)) - #define MIN(a,b) ((a) < (b) ? (a) : (b)) - diff --git a/select_toolchain.sh b/select_toolchain.sh index 5a08146..5c7c3b0 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -53,8 +53,8 @@ case "$VERSION" in "3" ) GCC_VER=10.1.0 BINUTILS_VER=2.32 - NEWLIB_VER=3.1.0 GDB_VER=8.2.1 + NEWLIB_VER=3.3.0 basedir='dka64' package=devkitA64 target=aarch64-none-elf From 45bf89586fe00a9d4d36203bf1a742264ada5b69 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 8 May 2020 09:57:51 +0100 Subject: [PATCH 103/280] devkitA64: upgrade gdb to 9.1 --- dka64/patches/gdb-8.2.1.patch | 60 ----------------------------------- select_toolchain.sh | 2 +- 2 files changed, 1 insertion(+), 61 deletions(-) delete mode 100644 dka64/patches/gdb-8.2.1.patch diff --git a/dka64/patches/gdb-8.2.1.patch b/dka64/patches/gdb-8.2.1.patch deleted file mode 100644 index 73660ff..0000000 --- a/dka64/patches/gdb-8.2.1.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff -NBaur gdb-8.2.1/gdb/dtrace-probe.c gdb-8.2.1-apple/gdb/dtrace-probe.c ---- gdb-8.2.1/gdb/dtrace-probe.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/dtrace-probe.c 2019-03-23 19:45:04.743529457 +0000 -@@ -100,7 +100,7 @@ - - /* DTrace static_probe_ops. */ - --const dtrace_static_probe_ops dtrace_static_probe_ops; -+const dtrace_static_probe_ops dtrace_static_probe_ops = {}; - - /* The following structure represents a dtrace probe. */ - -diff -NBaur gdb-8.2.1/gdb/probe.c gdb-8.2.1-apple/gdb/probe.c ---- gdb-8.2.1/gdb/probe.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/probe.c 2019-03-23 19:35:59.701401090 +0000 -@@ -60,7 +60,7 @@ - - /* Static operations associated with a generic probe. */ - --const any_static_probe_ops any_static_probe_ops; -+const any_static_probe_ops any_static_probe_ops = {}; - - /* A helper for parse_probes that decodes a probe specification in - SEARCH_PSPACE. It appends matching SALs to RESULT. */ -diff -NBaur gdb-8.2.1/gdb/record-btrace.c gdb-8.2.1-apple/gdb/record-btrace.c ---- gdb-8.2.1/gdb/record-btrace.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/record-btrace.c 2019-03-23 19:35:59.705388987 +0000 -@@ -144,7 +144,7 @@ - - /* Token associated with a new-thread observer enabling branch tracing - for the new thread. */ --static const gdb::observers::token record_btrace_thread_observer_token; -+static const gdb::observers::token record_btrace_thread_observer_token = {}; - - /* Memory access types used in set/show record btrace replay-memory-access. */ - static const char replay_memory_access_read_only[] = "read-only"; -diff -NBaur gdb-8.2.1/gdb/stap-probe.c gdb-8.2.1-apple/gdb/stap-probe.c ---- gdb-8.2.1/gdb/stap-probe.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/stap-probe.c 2019-03-23 19:35:59.705388987 +0000 -@@ -119,7 +119,7 @@ - - /* SystemTap static_probe_ops. */ - --const stap_static_probe_ops stap_static_probe_ops; -+const stap_static_probe_ops stap_static_probe_ops = {}; - - class stap_probe : public probe - { -diff -NBaur gdb-8.2.1/gdb/tui/tui-hooks.c gdb-8.2.1-apple/gdb/tui/tui-hooks.c ---- gdb-8.2.1/gdb/tui/tui-hooks.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/tui/tui-hooks.c 2019-03-23 19:35:59.705388987 +0000 -@@ -205,7 +205,7 @@ - - /* Token associated with observers registered while TUI hooks are - installed. */ --static const gdb::observers::token tui_observers_token; -+static const gdb::observers::token tui_observers_token = {}; - - /* Attach or detach a single observer, according to ATTACH. */ - diff --git a/select_toolchain.sh b/select_toolchain.sh index 5c7c3b0..4537d1d 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -53,8 +53,8 @@ case "$VERSION" in "3" ) GCC_VER=10.1.0 BINUTILS_VER=2.32 - GDB_VER=8.2.1 NEWLIB_VER=3.3.0 + GDB_VER=9.1 basedir='dka64' package=devkitA64 target=aarch64-none-elf From fddf5637879d33156d1cc09effd3d3bbc0c4d49b Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 8 May 2020 09:59:14 +0100 Subject: [PATCH 104/280] devkitA64: next release is r15 --- build-devkit.sh | 3 ++- dka64/scripts/build-gcc.sh | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index a9778ce..b849520 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,8 +1,9 @@ + #!/bin/bash #--------------------------------------------------------------------------------- # devkitARM release 53-1 # devkitPPC release 36 -# devkitA64 release 14 +# devkitA64 release 15 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 7f5e748..1636210 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -59,12 +59,12 @@ then --enable-libstdcxx-time \ --enable-libstdcxx-filesystem-ts \ --target=$target \ - --with-newlib \ + --with-newlib=yes \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ --enable-lto $plugin_ld\ --with-system-zlib \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 14" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 15" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } From 91789e0ca87ea675fcf7e725a36d63742b01fb6d Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 8 May 2020 10:00:10 +0100 Subject: [PATCH 105/280] devkitARM: upgrade gcc to 10.1.0 --- .../{gcc-9.1.0.patch => gcc-10.1.0.patch} | 79 ++++++++++++------- select_toolchain.sh | 2 +- 2 files changed, 52 insertions(+), 29 deletions(-) rename dkarm-eabi/patches/{gcc-9.1.0.patch => gcc-10.1.0.patch} (78%) diff --git a/dkarm-eabi/patches/gcc-9.1.0.patch b/dkarm-eabi/patches/gcc-10.1.0.patch similarity index 78% rename from dkarm-eabi/patches/gcc-9.1.0.patch rename to dkarm-eabi/patches/gcc-10.1.0.patch index 9d91e29..a814931 100644 --- a/dkarm-eabi/patches/gcc-9.1.0.patch +++ b/dkarm-eabi/patches/gcc-10.1.0.patch @@ -1,8 +1,8 @@ diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in -index 3a55f6ac6d2..1a16dcc1c74 100644 +index 728be500b80..74c1abad635 100644 --- a/gcc/config/arm/arm-cpus.in +++ b/gcc/config/arm/arm-cpus.in -@@ -352,7 +352,7 @@ begin arch armv6k +@@ -392,7 +392,7 @@ begin arch armv6k tune for mpcore tune flags CO_PROC base 6K @@ -12,15 +12,9 @@ index 3a55f6ac6d2..1a16dcc1c74 100644 optalias vfpv2 fp option nofp remove ALL_FP diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf -index 8911d489f14..b1976386bab 100644 +index 3d92bd23322..35cefcde676 100644 --- a/gcc/config/arm/t-arm-elf +++ b/gcc/config/arm/t-arm-elf -@@ -1,4 +1,4 @@ --# Copyright (C) 1998-2019 Free Software Foundation, Inc. -+# Copyright (C) 1998-2017 Free Software Foundation, Inc. - # - # This file is part of GCC. - # @@ -16,111 +16,14 @@ # along with GCC; see the file COPYING3. If not see # . @@ -56,7 +50,7 @@ index 8911d489f14..b1976386bab 100644 -all_v7_a_r := armv7-a armv7ve armv7-r - -all_v8_archs := armv8-a armv8-a+crc armv8.1-a armv8.2-a armv8.3-a armv8.4-a \ -- armv8.5-a +- armv8.5-a armv8.6-a - -# No floating point variants, require thumb1 softfp -all_nofp_t := armv6-m armv6s-m armv8-m.base @@ -139,7 +133,7 @@ index 8911d489f14..b1976386bab 100644 -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h -index cf9ba6b4dc0..008d7555ecb 100644 +index 9ad2947505f..1790caa8e88 100644 --- a/gcc/config/arm/unknown-elf.h +++ b/gcc/config/arm/unknown-elf.h @@ -29,7 +29,7 @@ @@ -158,11 +152,53 @@ index cf9ba6b4dc0..008d7555ecb 100644 -#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %{!nolibc:%L} --end-group" +#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" + +diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c +index 250fef59b55..36b2239aa5d 100644 +--- a/gcc/config/i386/host-mingw32.c ++++ b/gcc/config/i386/host-mingw32.c +@@ -44,9 +44,6 @@ static size_t mingw32_gt_pch_alloc_granularity (void); + + static inline void w32_error(const char*, const char*, int, const char*); + +-/* FIXME: Is this big enough? */ +-static const size_t pch_VA_max_size = 128 * 1024 * 1024; +- + /* Granularity for reserving address space. */ + static size_t va_granularity = 0x10000; + +@@ -88,9 +85,6 @@ static void * + mingw32_gt_pch_get_address (size_t size, int) + { + void* res; +- size = (size + va_granularity - 1) & ~(va_granularity - 1); +- if (size > pch_VA_max_size) +- return NULL; + + /* FIXME: We let system determine base by setting first arg to NULL. + Allocating at top of available address space avoids unnecessary +@@ -100,7 +94,7 @@ mingw32_gt_pch_get_address (size_t size, int) + If we allocate at bottom we need to reserve the address as early + as possible and at the same point in each invocation. */ + +- res = VirtualAlloc (NULL, pch_VA_max_size, ++ res = VirtualAlloc (NULL, size, + MEM_RESERVE | MEM_TOP_DOWN, + PAGE_NOACCESS); + if (!res) +@@ -150,7 +144,7 @@ mingw32_gt_pch_use_address (void *addr, size_t size, int fd, + + /* Offset must be also be a multiple of allocation granularity for + this to work. We can't change the offset. */ +- if ((offset & (va_granularity - 1)) != 0 || size > pch_VA_max_size) ++ if ((offset & (va_granularity - 1)) != 0) + return -1; + + diff --git a/gcc/gcc.c b/gcc/gcc.c -index 4f57765b012..2899202cc05 100644 +index 9f790db0daf..97f52d0b893 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -794,6 +794,11 @@ proper position among the other output files. */ +@@ -793,6 +793,11 @@ proper position among the other output files. */ #endif #endif @@ -174,7 +210,7 @@ index 4f57765b012..2899202cc05 100644 /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ #ifndef STARTFILE_SPEC #define STARTFILE_SPEC \ -@@ -1086,6 +1091,7 @@ static const char *link_spec = LINK_SPEC; +@@ -1085,6 +1090,7 @@ static const char *link_spec = LINK_SPEC; static const char *lib_spec = LIB_SPEC; static const char *link_gomp_spec = ""; static const char *libgcc_spec = LIBGCC_SPEC; @@ -182,7 +218,7 @@ index 4f57765b012..2899202cc05 100644 static const char *endfile_spec = ENDFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC; static const char *linker_name_spec = LINKER_NAME; -@@ -1583,6 +1589,7 @@ static struct spec_list static_specs[] = +@@ -1582,6 +1588,7 @@ static struct spec_list static_specs[] = INIT_STATIC_SPEC ("lib", &lib_spec), INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec), @@ -200,16 +236,3 @@ index dddddc7c444..c2502597953 100644 # the option is safe. -LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions +LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 4927a9f8977..2a79e3e137d 100644 ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -47,7 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - - /* Target machine header files require this define. */ - #define IN_LIBGCC2 -- -+#define USED_FOR_TARGET - /* FIXME: Including auto-host is incorrect, but until we have - identified the set of defines that need to go into auto-target.h, - this will have to do. */ diff --git a/select_toolchain.sh b/select_toolchain.sh index 4537d1d..ff709ae 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,7 +30,7 @@ done case "$VERSION" in "1" ) - GCC_VER=9.1.0 + GCC_VER=10.1.0 BINUTILS_VER=2.32 NEWLIB_VER=3.1.0 GDB_VER=8.2.1 From fbc790a8dd2747d28359f0ed331b4a5d2a834456 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 8 May 2020 10:01:04 +0100 Subject: [PATCH 106/280] devkitARM: upgrade newlib to 3.3.0 --- ...{newlib-3.1.0.patch => newlib-3.3.0.patch} | 81 +++++++++++-------- select_toolchain.sh | 2 +- 2 files changed, 50 insertions(+), 33 deletions(-) rename dkarm-eabi/patches/{newlib-3.1.0.patch => newlib-3.3.0.patch} (99%) diff --git a/dkarm-eabi/patches/newlib-3.1.0.patch b/dkarm-eabi/patches/newlib-3.3.0.patch similarity index 99% rename from dkarm-eabi/patches/newlib-3.1.0.patch rename to dkarm-eabi/patches/newlib-3.3.0.patch index b115915..52cbda0 100644 --- a/dkarm-eabi/patches/newlib-3.1.0.patch +++ b/dkarm-eabi/patches/newlib-3.3.0.patch @@ -1,8 +1,8 @@ diff --git a/libgloss/configure b/libgloss/configure -index 1a4033dce..ba7aea7b0 100755 +index 0d2918cee..bccfb07b4 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -2599,6 +2599,8 @@ if test "${config_libnosys}" = "true"; then +@@ -2604,6 +2604,8 @@ if test "${config_libnosys}" = "true"; then fi @@ -12,7 +12,7 @@ index 1a4033dce..ba7aea7b0 100755 ac_config_commands="$ac_config_commands depfiles" diff --git a/libgloss/configure.in b/libgloss/configure.in -index 41843eed1..dc0e2a5fd 100644 +index f38d5298e..509c31071 100644 --- a/libgloss/configure.in +++ b/libgloss/configure.in @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. @@ -23,7 +23,7 @@ index 41843eed1..dc0e2a5fd 100644 if test "${enable_shared}" = "yes" ; then echo "Shared libraries not supported for cross compiling, ignored" -@@ -190,6 +191,7 @@ dnl fi +@@ -193,6 +194,7 @@ dnl fi if test "${config_libnosys}" = "true"; then AC_CONFIG_SUBDIRS([libnosys]) fi @@ -7408,10 +7408,10 @@ index 000000000..61de918bc + return ret; +} diff --git a/newlib/configure.host b/newlib/configure.host -index 6c49cb750..6a5e1c78d 100644 +index a84c0c80a..29fb7ed24 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -666,6 +666,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -687,6 +687,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID syscall_dir=syscalls default_newlib_io_long_long="yes" ;; @@ -7440,7 +7440,7 @@ index 164d95bca..083e48758 100644 void clearerr (FILE *); int feof (FILE *); diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 49b62ebf6..d84ffaa59 100644 +index d746b15fc..80169d9b7 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h @@ -4,6 +4,9 @@ @@ -7520,7 +7520,7 @@ index a3fb5c02c..5debd1525 100644 + +#endif // _dirent_h_ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index f28dd071b..96980676d 100644 +index 218807178..c9efd7d03 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h @@ -330,6 +330,9 @@ extern "C" { @@ -7651,11 +7651,25 @@ index 000000000..c190fa37d +//--------------------------------------------------------------------------------- +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- +diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h +index 9a6f115a6..142e71d35 100644 +--- a/newlib/libc/include/sys/param.h ++++ b/newlib/libc/include/sys/param.h +@@ -19,9 +19,6 @@ + #ifndef NOFILE + # define NOFILE (60) + #endif +-#ifndef PATHSIZE +-# define PATHSIZE (1024) +-#endif + + #define MAXPATHLEN PATH_MAX + diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 6e55e1c1f..6e0c1c9cf 100644 +index 74b70e9c0..d8c5410ec 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h -@@ -416,6 +416,8 @@ struct _reent +@@ -421,6 +421,8 @@ struct _reent __FILE *__sf; /* file descriptors */ struct _misc_reent *_misc; /* strtok, multibyte states */ char *_signal_buf; /* strsignal */ @@ -7664,7 +7678,7 @@ index 6e55e1c1f..6e0c1c9cf 100644 }; #ifdef _REENT_GLOBAL_STDIO_STREAMS -@@ -686,6 +688,7 @@ struct _reent +@@ -691,6 +693,7 @@ struct _reent # ifndef _REENT_GLOBAL_STDIO_STREAMS __FILE __sf[3]; /* first three file descriptors */ # endif @@ -7673,10 +7687,10 @@ index 6e55e1c1f..6e0c1c9cf 100644 #ifdef _REENT_GLOBAL_STDIO_STREAMS diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index eee98db64..aed9c1746 100644 +index 8769112b0..5526e59ee 100644 --- a/newlib/libc/include/sys/stat.h +++ b/newlib/libc/include/sys/stat.h -@@ -152,8 +152,9 @@ int mkfifo (const char *__path, mode_t __mode ); +@@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); mode_t umask (mode_t __mask ); @@ -8017,7 +8031,7 @@ index 9b982a993..8c0aaac8c 100644 +*/ #endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */ diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index b358d2b4a..29cec0229 100644 +index b358d2b4a..a3e597fd2 100644 --- a/newlib/libc/stdio/fread.c +++ b/newlib/libc/stdio/fread.c @@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, @@ -8029,7 +8043,24 @@ index b358d2b4a..29cec0229 100644 } #endif -@@ -225,7 +225,32 @@ _fread_r (struct _reent * ptr, +@@ -187,7 +187,6 @@ _fread_r (struct _reent * ptr, + int rc = 0; + /* save fp buffering state */ + void *old_base = fp->_bf._base; +- void * old_p = fp->_p; + int old_size = fp->_bf._size; + /* allow __refill to use user's buffer */ + fp->_bf._base = (unsigned char *) p; +@@ -197,7 +196,7 @@ _fread_r (struct _reent * ptr, + /* restore fp buffering back to original state */ + fp->_bf._base = old_base; + fp->_bf._size = old_size; +- fp->_p = old_p; ++ fp->_p = old_base; + resid -= fp->_r; + p += fp->_r; + fp->_r = 0; +@@ -225,7 +224,31 @@ _fread_r (struct _reent * ptr, /* fp->_r = 0 ... done in __srefill */ p += r; resid -= r; @@ -8037,11 +8068,10 @@ index b358d2b4a..29cec0229 100644 + + int rc = 0; + -+ if (resid>BUFSIZ) ++ if (resid>fp->_bf._size) + { + /* save fp buffering state */ + void *old_base = fp->_bf._base; -+ void * old_p = fp->_p; + int old_size = fp->_bf._size; + /* allow __refill to use user's buffer */ + fp->_bf._base = (unsigned char *) p; @@ -8051,7 +8081,7 @@ index b358d2b4a..29cec0229 100644 + /* restore fp buffering back to original state */ + fp->_bf._base = old_base; + fp->_bf._size = old_size; -+ fp->_p = old_p; ++ fp->_p = old_base; + resid -= fp->_r; + p += fp->_r; + fp->_r = 0; @@ -8122,7 +8152,7 @@ index 980b31e3b..722be905e 100644 #ifdef INTEGER_ONLY diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index 0464b0837..435fc0142 100644 +index ffb6cc85b..db33d4f29 100644 --- a/newlib/libc/stdio/vfwscanf.c +++ b/newlib/libc/stdio/vfwscanf.c @@ -74,6 +74,9 @@ PORTABILITY @@ -8276,16 +8306,3 @@ index 000000000..567fed56b + __libc_lock_release_recursive(&(NAME)) + +#endif // __SYS_LOCK_H__ -diff --git a/newlib/libc/sys/arm/sys/param.h b/newlib/libc/sys/arm/sys/param.h -index 5b9464cca..e8969b954 100644 ---- a/newlib/libc/sys/arm/sys/param.h -+++ b/newlib/libc/sys/arm/sys/param.h -@@ -19,6 +19,8 @@ - # define PATHSIZE (1024) - #endif - -+#define MAXPATHLEN PATHSIZE -+ - #define MAX(a,b) ((a) > (b) ? (a) : (b)) - #define MIN(a,b) ((a) < (b) ? (a) : (b)) - diff --git a/select_toolchain.sh b/select_toolchain.sh index ff709ae..e739ea2 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -32,7 +32,7 @@ case "$VERSION" in "1" ) GCC_VER=10.1.0 BINUTILS_VER=2.32 - NEWLIB_VER=3.1.0 + NEWLIB_VER=3.3.0 GDB_VER=8.2.1 basedir='dkarm-eabi' package=devkitARM From 116613adc89107142ceea03f138b75550f4a45eb Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 8 May 2020 10:04:40 +0100 Subject: [PATCH 107/280] devkitARM: next release is r54 --- build-devkit.sh | 2 +- dkarm-eabi/scripts/build-gcc.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index b849520..4127c43 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,7 +1,7 @@ #!/bin/bash #--------------------------------------------------------------------------------- -# devkitARM release 53-1 +# devkitARM release 54 # devkitPPC release 36 # devkitA64 release 15 #--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 2eabc62..c8f6319 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -64,7 +64,7 @@ then --prefix=$prefix \ --enable-lto\ --with-system-zlib \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 53" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 54" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } From 9165c280f374f3998e100d4a5ea4d15c615facd3 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 11 May 2020 13:30:42 +0100 Subject: [PATCH 108/280] restore building of crtls and rules files --- build-devkit.sh | 9 ++++++--- dkarm-eabi/scripts/build-crtls.sh | 28 ++++++++++++++++++++++++++++ dkppc/scripts/build-crtls.sh | 17 +++++++++++++++++ 3 files changed, 51 insertions(+), 3 deletions(-) create mode 100755 dkarm-eabi/scripts/build-crtls.sh create mode 100755 dkppc/scripts/build-crtls.sh diff --git a/build-devkit.sh b/build-devkit.sh index 4127c43..33d9f6c 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -219,15 +219,18 @@ extract_and_patch gcc $GCC_VER xz extract_and_patch newlib $NEWLIB_VER gz extract_and_patch gdb $GDB_VER xz -if [ $VERSION -eq 2 ]; then - extract_and_patch binutils $MN_BINUTILS_VER bz2 -fi +if [ $VERSION -eq 2 ]; then extract_and_patch binutils $MN_BINUTILS_VER bz2; fi #--------------------------------------------------------------------------------- # Build and install devkit components #--------------------------------------------------------------------------------- if [ -f $scriptdir/build-gcc.sh ]; then . $scriptdir/build-gcc.sh || { echo "Error building toolchain"; exit 1; }; cd $BUILDSCRIPTDIR; fi + +if [ "$BUILD_DKPRO_SKIP_CRTLS" != "1" ] && [ -f $scriptdir/build-crtls.sh ]; then + . $scriptdir/build-crtls.sh || { echo "Error building crtls & rules"; exit 1; }; cd $BUILDSCRIPTDIR; +fi + cd $BUILDSCRIPTDIR if [ ! -z $CROSSBUILD ] && grep -q "mingw" <<<"$CROSSBUILD" ; then diff --git a/dkarm-eabi/scripts/build-crtls.sh b/dkarm-eabi/scripts/build-crtls.sh new file mode 100755 index 0000000..3b13e4e --- /dev/null +++ b/dkarm-eabi/scripts/build-crtls.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +#--------------------------------------------------------------------------------- +# set env variables +#--------------------------------------------------------------------------------- +export DEVKITPRO=$TOOLPATH +export DEVKITARM=$DEVKITPRO/devkitARM + +#--------------------------------------------------------------------------------- +# Install the rules files +#--------------------------------------------------------------------------------- +cd $BUILDDIR + +mkdir -p rules +cd rules +tar -xvf $SRCDIR/devkitarm-rules-$DKARM_RULES_VER.tar.xz +make install + +#--------------------------------------------------------------------------------- +# Install and build the crt0 files +#--------------------------------------------------------------------------------- +cd $BUILDDIR + +mkdir -p crtls +cd crtls +tar -xvf $SRCDIR/devkitarm-crtls-$DKARM_CRTLS_VER.tar.xz +make install + diff --git a/dkppc/scripts/build-crtls.sh b/dkppc/scripts/build-crtls.sh new file mode 100755 index 0000000..cb015ff --- /dev/null +++ b/dkppc/scripts/build-crtls.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +#--------------------------------------------------------------------------------- +# set env variables +#--------------------------------------------------------------------------------- +export DEVKITPRO=$TOOLPATH +export DEVKITARM=$DEVKITPRO/devkitARM + +#--------------------------------------------------------------------------------- +# Install the rules files +#--------------------------------------------------------------------------------- +cd $BUILDDIR + +mkdir -p rules +cd rules +tar -xvf $SRCDIR/devkitarm-rules-$DKARM_RULES_VER.tar.xz +make install From ad4246dfc4d6a63d25f511011dd9bc0051adae15 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 12 May 2020 11:37:27 +0000 Subject: [PATCH 109/280] oops, forgot to update rules script for devkitPPC --- dkppc/scripts/build-crtls.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dkppc/scripts/build-crtls.sh b/dkppc/scripts/build-crtls.sh index cb015ff..5f0a297 100755 --- a/dkppc/scripts/build-crtls.sh +++ b/dkppc/scripts/build-crtls.sh @@ -4,7 +4,7 @@ # set env variables #--------------------------------------------------------------------------------- export DEVKITPRO=$TOOLPATH -export DEVKITARM=$DEVKITPRO/devkitARM +export DEVKITPPC=$DEVKITPRO/devkitPPC #--------------------------------------------------------------------------------- # Install the rules files @@ -13,5 +13,5 @@ cd $BUILDDIR mkdir -p rules cd rules -tar -xvf $SRCDIR/devkitarm-rules-$DKARM_RULES_VER.tar.xz +tar -xvf $SRCDIR/devkitppc-rules-$DKPPC_RULES_VER.tar.xz make install From 183ab79cfc5750588fca2097191923edcc316aa3 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 12 May 2020 14:04:01 +0100 Subject: [PATCH 110/280] flag for building crtls & rules --- config.sh.sample | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config.sh.sample b/config.sh.sample index 1754db4..94a12c4 100755 --- a/config.sh.sample +++ b/config.sh.sample @@ -31,9 +31,9 @@ BUILD_DKPRO_PACKAGE=0 #export MAKEFLAGS="$MAKEFLAGS -j${numcores}" #--------------------------------------------------------------------------------- -# Uncomment to skip building of tools +# Uncomment to skip building of crtls and rules files #--------------------------------------------------------------------------------- -#BUILD_DKPRO_SKIP_TOOLS=1 +#BUILD_DKPRO_SKIP_CRTLS=1 # Automated script execution #--------------------------------------------------------------------------------- From 5e720e01c1db3cfa2366b0b22ef9a54e8f9f64e6 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 16 May 2020 03:14:57 +0100 Subject: [PATCH 111/280] devkitPPC: rework syscalls --- dkppc/patches/newlib-3.3.0.patch | 165 ++++++++++++++++--------------- 1 file changed, 86 insertions(+), 79 deletions(-) diff --git a/dkppc/patches/newlib-3.3.0.patch b/dkppc/patches/newlib-3.3.0.patch index 003e8f5..ed06a63 100644 --- a/dkppc/patches/newlib-3.3.0.patch +++ b/dkppc/patches/newlib-3.3.0.patch @@ -46,7 +46,7 @@ index f38d5298e..db6b33ab8 100644 AC_SUBST(AS) diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in new file mode 100644 -index 000000000..183f9acc7 +index 000000000..bd69599a8 --- /dev/null +++ b/libgloss/libsysbase/Makefile.in @@ -0,0 +1,148 @@ @@ -121,8 +121,8 @@ index 000000000..183f9acc7 + isatty.o kill.o link.o lseek.o lstat.o nanosleep.o open.o read.o sbrk.o sleep.o stat.o usleep.o times.o \ + unlink.o wait.o write.o _exit.o malloc_vars.o \ + chdir.o mkdir.o rename.o build_argv.o statvfs.o \ -+ flock.o syscall_support.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ -+ fchmod.o chmod.o rmdir.o utime.o scandir.o ++ flock.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ ++ fchmod.o chmod.o rmdir.o utime.o scandir.o syscall_support.o + +# Object files specific to particular targets. +EVALOBJS = ${OBJS} @@ -143,10 +143,10 @@ index 000000000..183f9acc7 +AR_FLAGS = qc + +.c.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $< ++ $(CC) $(CFLAGS_FOR_TARGET) -D_BUILDING_LIBSYSBASE -O2 $(INCLUDES) -c $(CFLAGS) $< + +.C.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $< ++ $(CC) $(CFLAGS_FOR_TARGET) -D_BUILDING_LIBSYSBASE -O2 $(INCLUDES) -c $(CFLAGS) $< +.s.o: + $(AS) $(ASFLAGS_FOR_TARGET) $(INCLUDES) $(ASFLAGS) -o $*.o $< + @@ -200,7 +200,7 @@ index 000000000..183f9acc7 + $(SHELL) config.status --recheck diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c new file mode 100644 -index 000000000..e5cb5a9ed +index 000000000..6effb1105 --- /dev/null +++ b/libgloss/libsysbase/_exit.c @@ -0,0 +1,17 @@ @@ -215,8 +215,8 @@ index 000000000..e5cb5a9ed +void _exit(int rc) +{ + -+ if ( __syscalls.exit ) { -+ __syscalls.exit(rc); ++ if ( __has_syscall(exit) ) { ++ __syscall_exit(rc); + } + + while(1); @@ -903,7 +903,7 @@ index 000000000..3668b5801 + diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c new file mode 100644 -index 000000000..01cfee469 +index 000000000..b36b5c079 --- /dev/null +++ b/libgloss/libsysbase/clocks.c @@ -0,0 +1,34 @@ @@ -913,8 +913,8 @@ index 000000000..01cfee469 + +int clock_gettime(clockid_t clock_id, struct timespec *tp) +{ -+ if ( __syscalls.clock_gettime ) { -+ return __syscalls.clock_gettime(clock_id, tp); ++ if ( __has_syscall(clock_gettime) ) { ++ return __syscall_clock_gettime(clock_id, tp); + } else { + errno = ENOSYS; + return -1; @@ -923,8 +923,8 @@ index 000000000..01cfee469 + +int clock_settime(clockid_t clock_id, const struct timespec *tp) +{ -+ if ( __syscalls.clock_settime ) { -+ return __syscalls.clock_settime(clock_id, tp); ++ if ( __has_syscall(clock_settime) ) { ++ return __syscall_clock_settime(clock_id, tp); + } else { + errno = ENOSYS; + return -1; @@ -933,8 +933,8 @@ index 000000000..01cfee469 + +int clock_getres (clockid_t clock_id, struct timespec *res) +{ -+ if ( __syscalls.clock_getres ) { -+ return __syscalls.clock_getres(clock_id, res); ++ if ( __has_syscall(clock_getres) ) { ++ return __syscall_clock_getres(clock_id, res); + } else { + errno = ENOSYS; + return -1; @@ -5938,7 +5938,7 @@ index 000000000..ec3b84037 + diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c new file mode 100644 -index 000000000..11dc528fa +index 000000000..ee8947f51 --- /dev/null +++ b/libgloss/libsysbase/gettod.c @@ -0,0 +1,26 @@ @@ -5961,7 +5961,7 @@ index 000000000..11dc528fa + struct _reent *ptr = _REENT; +#endif + -+ if ( __syscalls.gettod_r ) return __syscalls.gettod_r(ptr, ptimeval, ptimezone); ++ if ( __has_syscall(gettod_r) ) return __syscall_gettod_r(ptr, ptimeval, ptimezone); + + ptr->_errno = ENOSYS; + return -1; @@ -6518,7 +6518,7 @@ index 000000000..b4fcbd3d7 +} diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c new file mode 100644 -index 000000000..3c96fc61b +index 000000000..a233b9df6 --- /dev/null +++ b/libgloss/libsysbase/nanosleep.c @@ -0,0 +1,14 @@ @@ -6528,8 +6528,8 @@ index 000000000..3c96fc61b + +int nanosleep(const struct timespec *req, struct timespec *rem) +{ -+ if ( __syscalls.nanosleep ) { -+ return __syscalls.nanosleep(req, rem); ++ if ( __has_syscall(nanosleep) ) { ++ return __syscall_nanosleep(req, rem); + } else { + *rem = *req; + errno = ENOSYS; @@ -6711,7 +6711,7 @@ index 000000000..2692a2997 +} diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c new file mode 100644 -index 000000000..e2bdb9edc +index 000000000..83d922d85 --- /dev/null +++ b/libgloss/libsysbase/sbrk.c @@ -0,0 +1,26 @@ @@ -6731,8 +6731,8 @@ index 000000000..e2bdb9edc +#endif + + -+ if ( __syscalls.sbrk_r ) { -+ return __syscalls.sbrk_r(ptr, incr); ++ if ( __has_syscall(sbrk_r) ) { ++ return __syscall_sbrk_r(ptr, incr); + } else { + + ptr->_errno = ENOMEM; @@ -6922,34 +6922,16 @@ index 000000000..84e221340 +} diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c new file mode 100644 -index 000000000..f02714764 +index 000000000..39e75fd0b --- /dev/null +++ b/libgloss/libsysbase/syscall_support.c -@@ -0,0 +1,67 @@ +@@ -0,0 +1,49 @@ +#include + -+//--------------------------------------------------------------------------------- -+__syscalls_t __syscalls = { -+//--------------------------------------------------------------------------------- -+ NULL, // sbrk -+ NULL, // lock_init -+ NULL, // lock_close -+ NULL, // lock_release -+ NULL, // lock_acquire -+ NULL, // malloc_lock -+ NULL, // malloc_unlock -+ NULL, // exit -+ NULL, // gettod_r -+ NULL, // clock_gettime -+ NULL, // clock_settime -+ NULL, // clock_getres -+ NULL // nanosleep -+}; -+ +int __libc_lock_init(int *lock,int recursive) { + -+ if ( __syscalls.lock_init ) { -+ return __syscalls.lock_init(lock, recursive); ++ if ( __has_syscall(lock_init) ) { ++ return __syscall_lock_init(lock, recursive); + } + + return 0; @@ -6957,8 +6939,8 @@ index 000000000..f02714764 + +int __libc_lock_close( int *lock ) { + -+ if ( __syscalls.lock_close) { -+ return __syscalls.lock_close(lock); ++ if ( __has_syscall(lock_close)) { ++ return __syscall_lock_close(lock); + } + + return 0; @@ -6966,8 +6948,8 @@ index 000000000..f02714764 + +int __libc_lock_release( int *lock ) { + -+ if ( __syscalls.lock_release) { -+ return __syscalls.lock_release(lock); ++ if ( __has_syscall(lock_release)) { ++ return __syscall_lock_release(lock); + } + + return 0; @@ -6975,22 +6957,22 @@ index 000000000..f02714764 + +int __libc_lock_acquire( int *lock ) { + -+ if ( __syscalls.lock_acquire) { -+ return __syscalls.lock_acquire(lock); ++ if ( __has_syscall(lock_acquire)) { ++ return __syscall_lock_acquire(lock); + } + + return 0; +} + +void __malloc_lock( struct _reent *ptr ) { -+ if ( __syscalls.malloc_lock) { -+ __syscalls.malloc_lock(ptr); ++ if ( __has_syscall(malloc_lock) ){ ++ __syscall_malloc_lock(ptr); + } +} + +void __malloc_unlock( struct _reent *ptr ) { -+ if ( __syscalls.malloc_unlock) { -+ __syscalls.malloc_unlock(ptr); ++ if ( __has_syscall(malloc_unlock)) { ++ __syscall_malloc_unlock(ptr); + } +} diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c @@ -7486,10 +7468,10 @@ index 218807178..c9efd7d03 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..8b6d8da30 +index 000000000..9bec9e473 --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,108 @@ +@@ -0,0 +1,117 @@ +//--------------------------------------------------------------------------------- +#ifndef __iosupp_h__ +#define __iosupp_h__ @@ -7524,6 +7506,7 @@ index 000000000..8b6d8da30 + void *dirStruct; +} DIR_ITER; + ++ +typedef struct { + const char *name; + size_t structSize; @@ -7562,23 +7545,31 @@ index 000000000..8b6d8da30 + +extern const devoptab_t *devoptab_list[]; + -+typedef struct { -+ void *(*sbrk_r) (struct _reent *ptr, ptrdiff_t incr); -+ int (*lock_init) (int *lock,int recursive); -+ int (*lock_close) (int *lock); -+ int (*lock_release) (int *lock); -+ int (*lock_acquire) (int *lock); -+ void (*malloc_lock) (struct _reent *ptr); -+ void (*malloc_unlock) (struct _reent *ptr); -+ void (*exit) ( int rc ); -+ int (*gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); -+ int (*clock_gettime)(clockid_t clock_id, struct timespec *tp); -+ int (*clock_settime)(clockid_t clock_id, const struct timespec *tp); -+ int (*clock_getres)(clockid_t clock_id, struct timespec *res); -+ int (*nanosleep)(const struct timespec *req, struct timespec *rem); -+} __syscalls_t; -+ -+extern __syscalls_t __syscalls; ++#ifdef _BUILDING_LIBSYSBASE ++#define __SYSCALL(_name) __attribute__((weak)) __syscall_##_name ++#define __has_syscall(_name) (&__syscall_##_name) ++#else ++#define __SYSCALL(_name) __syscall_##_name ++#endif ++ ++void *__SYSCALL(sbrk_r) (struct _reent *ptr, ptrdiff_t incr); ++int __SYSCALL(lock_init) (int *lock,int recursive); ++ ++int __SYSCALL(lock_close) (int *lock); ++int __SYSCALL(lock_release) (int *lock); ++int __SYSCALL(lock_acquire) (int *lock); ++void __SYSCALL(malloc_lock) (struct _reent *ptr); ++void __SYSCALL(malloc_unlock) (struct _reent *ptr); ++ ++void __SYSCALL(exit)(int rc); ++ ++int __SYSCALL(gettod_r)(struct _reent *ptr, struct timeval *tp, struct timezone *tz); ++int __SYSCALL(clock_gettime)(clockid_t clock_id, struct timespec *tp); ++int __SYSCALL(clock_settime)(clockid_t clock_id, const struct timespec *tp); ++int __SYSCALL(clock_getres)(clockid_t clock_id, struct timespec *res); ++int __SYSCALL(nanosleep)(const struct timespec *req, struct timespec *rem); ++ ++#undef __SYSCALL + +int AddDevice( const devoptab_t* device); +int FindDevice(const char* name); @@ -8105,21 +8096,37 @@ index 022992b8d..bdf4c7bb0 100644 fp->_flags = flags; fp->_cookie = (void *) fp; diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index b358d2b4a..9cab2180e 100644 +index b358d2b4a..95493cd66 100644 --- a/newlib/libc/stdio/fread.c +++ b/newlib/libc/stdio/fread.c -@@ -225,7 +225,31 @@ _fread_r (struct _reent * ptr, +@@ -187,7 +187,6 @@ _fread_r (struct _reent * ptr, + int rc = 0; + /* save fp buffering state */ + void *old_base = fp->_bf._base; +- void * old_p = fp->_p; + int old_size = fp->_bf._size; + /* allow __refill to use user's buffer */ + fp->_bf._base = (unsigned char *) p; +@@ -197,7 +196,7 @@ _fread_r (struct _reent * ptr, + /* restore fp buffering back to original state */ + fp->_bf._base = old_base; + fp->_bf._size = old_size; +- fp->_p = old_p; ++ fp->_p = old_base; + resid -= fp->_r; + p += fp->_r; + fp->_r = 0; +@@ -225,7 +224,30 @@ _fread_r (struct _reent * ptr, /* fp->_r = 0 ... done in __srefill */ p += r; resid -= r; - if (__srefill_r (ptr, fp)) + int rc = 0; + -+ if (resid>BUFSIZ) ++ if (resid>fp->_bf._size) + { + /* save fp buffering state */ + void *old_base = fp->_bf._base; -+ void * old_p = fp->_p; + int old_size = fp->_bf._size; + /* allow __refill to use user's buffer */ + fp->_bf._base = (unsigned char *) p; @@ -8129,7 +8136,7 @@ index b358d2b4a..9cab2180e 100644 + /* restore fp buffering back to original state */ + fp->_bf._base = old_base; + fp->_bf._size = old_size; -+ fp->_p = old_p; ++ fp->_p = old_base; + resid -= fp->_r; + p += fp->_r; + fp->_r = 0; From 20bf4948a1a2c3d513f43b105223e5b949f5da96 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 16 May 2020 03:15:39 +0100 Subject: [PATCH 112/280] devkitPPC: update to gcc 10 --- .../{gcc-8.4.0.patch => gcc-10.1.0.patch} | 406 ++++++++---------- select_toolchain.sh | 2 +- 2 files changed, 183 insertions(+), 225 deletions(-) rename dkppc/patches/{gcc-8.4.0.patch => gcc-10.1.0.patch} (68%) diff --git a/dkppc/patches/gcc-8.4.0.patch b/dkppc/patches/gcc-10.1.0.patch similarity index 68% rename from dkppc/patches/gcc-8.4.0.patch rename to dkppc/patches/gcc-10.1.0.patch index af432a0..feb51df 100644 --- a/dkppc/patches/gcc-8.4.0.patch +++ b/dkppc/patches/gcc-10.1.0.patch @@ -1,30 +1,59 @@ diff --git a/config/gthr.m4 b/config/gthr.m4 -index 7b29f1f3327..814104f32a2 100644 +index 4b937306ad0..bfd0375bd60 100644 --- a/config/gthr.m4 +++ b/config/gthr.m4 -@@ -12,6 +12,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER], - [ +@@ -13,6 +13,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER], case $1 in aix) thread_header=config/rs6000/gthr-aix.h ;; -+ dkp) thread_header=config/rs6000/gthr-dkp.h ;; dce) thread_header=config/pa/gthr-dce.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/gcc/config.gcc b/gcc/config.gcc -index 47cfce25dee..cfd8ce71123 100644 ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -2480,7 +2480,7 @@ powerpc-xilinx-eabi*) - use_gcc_stdint=wrap - ;; - powerpc-*-eabi*) -- tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h" -+ tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/750cl.h" - extra_options="${extra_options} rs6000/sysv4.opt" - tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" - use_gcc_stdint=wrap +diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c +index 250fef59b55..36b2239aa5d 100644 +--- a/gcc/config/i386/host-mingw32.c ++++ b/gcc/config/i386/host-mingw32.c +@@ -44,9 +44,6 @@ static size_t mingw32_gt_pch_alloc_granularity (void); + + static inline void w32_error(const char*, const char*, int, const char*); + +-/* FIXME: Is this big enough? */ +-static const size_t pch_VA_max_size = 128 * 1024 * 1024; +- + /* Granularity for reserving address space. */ + static size_t va_granularity = 0x10000; + +@@ -88,9 +85,6 @@ static void * + mingw32_gt_pch_get_address (size_t size, int) + { + void* res; +- size = (size + va_granularity - 1) & ~(va_granularity - 1); +- if (size > pch_VA_max_size) +- return NULL; + + /* FIXME: We let system determine base by setting first arg to NULL. + Allocating at top of available address space avoids unnecessary +@@ -100,7 +94,7 @@ mingw32_gt_pch_get_address (size_t size, int) + If we allocate at bottom we need to reserve the address as early + as possible and at the same point in each invocation. */ + +- res = VirtualAlloc (NULL, pch_VA_max_size, ++ res = VirtualAlloc (NULL, size, + MEM_RESERVE | MEM_TOP_DOWN, + PAGE_NOACCESS); + if (!res) +@@ -150,7 +144,7 @@ mingw32_gt_pch_use_address (void *addr, size_t size, int fd, + + /* Offset must be also be a multiple of allocation granularity for + this to work. We can't change the offset. */ +- if ((offset & (va_granularity - 1)) != 0 || size > pch_VA_max_size) ++ if ((offset & (va_granularity - 1)) != 0) + return -1; + + diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h -index f46e797d610..fd39e64c38d 100644 +index 2e086f16de9..1c27c6467bc 100644 --- a/gcc/config/newlib-stdint.h +++ b/gcc/config/newlib-stdint.h @@ -25,7 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -37,18 +66,18 @@ index f46e797d610..fd39e64c38d 100644 #define SIG_ATOMIC_TYPE "int" diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h -index b83b304e3eb..b85359edcfc 100644 +index 1adc371d70f..a7e1220981c 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h -@@ -212,6 +212,7 @@ - { "asm_cpu_476", ASM_CPU_476_SPEC }, \ - SUBTARGET_EXTRA_SPECS - -+#if 0 +@@ -196,6 +196,7 @@ ASM_OPT_ANY /* -mcpu=native handling only makes sense with compiler running on an PowerPC chip. If changing this condition, also change the condition in driver-rs6000.c. */ -@@ -226,6 +227,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); ++#if 0 + #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX) + /* In driver-rs6000.c. */ + extern const char *host_detect_local_cpu (int argc, const char **argv); +@@ -207,6 +208,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); #else #define ASM_CPU_NATIVE_SPEC "%(asm_default)" #endif @@ -57,42 +86,11 @@ index b83b304e3eb..b85359edcfc 100644 #ifndef CC1_CPU_SPEC #ifdef HAVE_LOCAL_CPU_DETECT -diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md -index 4dbe8e5d133..3e2095e5b64 100644 ---- a/gcc/config/rs6000/rs6000.md -+++ b/gcc/config/rs6000/rs6000.md -@@ -5631,19 +5631,19 @@ - tmp = gen_reg_rtx (DImode); - - emit_insn (gen_fctiwz_ (tmp, src)); -- if (MEM_P (dest)) -+ if (TARGET_POWERPC64 && (TARGET_MFPGPR || TARGET_DIRECT_MOVE)) - { -- dest = rs6000_address_for_fpconvert (dest); -- emit_insn (gen_stfiwx (dest, tmp)); -+ dest = gen_lowpart (DImode, dest); -+ emit_move_insn (dest, tmp); - DONE; - } -- else if (TARGET_POWERPC64 && (TARGET_MFPGPR || TARGET_DIRECT_MOVE)) -+ else if (MEM_P (dest) && MEM_ALIGN (dest) >= 32) - { -- dest = gen_lowpart (DImode, dest); -- emit_move_insn (dest, tmp); -+ dest = rs6000_address_for_fpconvert (dest); -+ emit_insn (gen_stfiwx (dest, tmp)); - DONE; - } -- else -+ else - { - rtx stack = rs6000_allocate_stack_temp (SImode, false, true); - emit_insn (gen_stfiwx (stack, tmp)); diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h -index bb19d0dcd41..74d1e474432 100644 +index 9ade72114e9..cede792d3a7 100644 --- a/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/sysv4.h -@@ -565,7 +565,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +@@ -590,7 +590,11 @@ GNU_USER_TARGET_CC1_SPEC /* Default starting address if specified. */ #define LINK_START_SPEC "\ @@ -105,7 +103,7 @@ index bb19d0dcd41..74d1e474432 100644 myellowknife : %(link_start_yellowknife) ; \ mmvme : %(link_start_mvme) ; \ msim : %(link_start_sim) ; \ -@@ -596,7 +600,8 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +@@ -621,7 +625,8 @@ GNU_USER_TARGET_CC1_SPEC /* Any specific OS flags. */ #define LINK_OS_SPEC "\ @@ -115,7 +113,7 @@ index bb19d0dcd41..74d1e474432 100644 myellowknife : %(link_os_yellowknife) ; \ mmvme : %(link_os_mvme) ; \ msim : %(link_os_sim) ; \ -@@ -614,7 +619,10 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +@@ -636,7 +641,10 @@ GNU_USER_TARGET_CC1_SPEC /* Override rs6000.h definition. */ #undef CPP_SPEC #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ @@ -127,7 +125,7 @@ index bb19d0dcd41..74d1e474432 100644 myellowknife : %(cpp_os_yellowknife) ; \ mmvme : %(cpp_os_mvme) ; \ msim : %(cpp_os_sim) ; \ -@@ -628,7 +636,10 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +@@ -650,7 +658,10 @@ GNU_USER_TARGET_CC1_SPEC #undef STARTFILE_SPEC #define STARTFILE_SPEC "\ @@ -139,7 +137,7 @@ index bb19d0dcd41..74d1e474432 100644 myellowknife : %(startfile_yellowknife) ; \ mmvme : %(startfile_mvme) ; \ msim : %(startfile_sim) ; \ -@@ -642,7 +653,8 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +@@ -664,7 +675,8 @@ GNU_USER_TARGET_CC1_SPEC #undef LIB_SPEC #define LIB_SPEC "\ @@ -149,7 +147,7 @@ index bb19d0dcd41..74d1e474432 100644 myellowknife : %(lib_yellowknife) ; \ mmvme : %(lib_mvme) ; \ msim : %(lib_sim) ; \ -@@ -652,11 +664,12 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +@@ -674,11 +686,12 @@ GNU_USER_TARGET_CC1_SPEC mcall-openbsd: %(lib_openbsd) ; \ : %(lib_default) }" @@ -164,7 +162,7 @@ index bb19d0dcd41..74d1e474432 100644 myellowknife : %(endfile_yellowknife) ; \ mmvme : %(endfile_mvme) ; \ msim : %(endfile_sim) ; \ -@@ -672,16 +685,27 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +@@ -694,16 +707,27 @@ GNU_USER_TARGET_CC1_SPEC /* Motorola ADS support. */ #define LIB_ADS_SPEC "--start-group -lads -lc --end-group" @@ -192,7 +190,7 @@ index bb19d0dcd41..74d1e474432 100644 /* Motorola Yellowknife support. */ #define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" -@@ -882,6 +906,7 @@ ncrtn.o%s" +@@ -851,6 +875,7 @@ ncrtn.o%s" #undef SUBTARGET_EXTRA_SPECS #define SUBTARGET_EXTRA_SPECS \ { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ @@ -200,7 +198,7 @@ index bb19d0dcd41..74d1e474432 100644 { "lib_ads", LIB_ADS_SPEC }, \ { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ { "lib_mvme", LIB_MVME_SPEC }, \ -@@ -891,6 +916,7 @@ ncrtn.o%s" +@@ -860,6 +885,7 @@ ncrtn.o%s" { "lib_netbsd", LIB_NETBSD_SPEC }, \ { "lib_openbsd", LIB_OPENBSD_SPEC }, \ { "lib_default", LIB_DEFAULT_SPEC }, \ @@ -208,7 +206,7 @@ index bb19d0dcd41..74d1e474432 100644 { "startfile_ads", STARTFILE_ADS_SPEC }, \ { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ { "startfile_mvme", STARTFILE_MVME_SPEC }, \ -@@ -900,6 +926,7 @@ ncrtn.o%s" +@@ -869,6 +895,7 @@ ncrtn.o%s" { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ @@ -216,7 +214,7 @@ index bb19d0dcd41..74d1e474432 100644 { "endfile_ads", ENDFILE_ADS_SPEC }, \ { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ { "endfile_mvme", ENDFILE_MVME_SPEC }, \ -@@ -911,7 +938,11 @@ ncrtn.o%s" +@@ -880,7 +907,11 @@ ncrtn.o%s" { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ { "link_shlib", LINK_SHLIB_SPEC }, \ { "link_start", LINK_START_SPEC }, \ @@ -228,7 +226,7 @@ index bb19d0dcd41..74d1e474432 100644 { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ { "link_start_mvme", LINK_START_MVME_SPEC }, \ { "link_start_sim", LINK_START_SIM_SPEC }, \ -@@ -921,6 +952,7 @@ ncrtn.o%s" +@@ -890,6 +921,7 @@ ncrtn.o%s" { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ { "link_start_default", LINK_START_DEFAULT_SPEC }, \ { "link_os", LINK_OS_SPEC }, \ @@ -236,7 +234,7 @@ index bb19d0dcd41..74d1e474432 100644 { "link_os_ads", LINK_OS_ADS_SPEC }, \ { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ { "link_os_mvme", LINK_OS_MVME_SPEC }, \ -@@ -932,6 +964,9 @@ ncrtn.o%s" +@@ -901,6 +933,9 @@ ncrtn.o%s" { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ { "link_secure_plt", LINK_SECURE_PLT_SPEC }, \ @@ -247,7 +245,7 @@ index bb19d0dcd41..74d1e474432 100644 { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt -index 34fea0ddd08..084a8ae435e 100644 +index b49ba261f3c..4eda763dfca 100644 --- a/gcc/config/rs6000/sysv4.opt +++ b/gcc/config/rs6000/sysv4.opt @@ -124,6 +124,26 @@ mads @@ -278,10 +276,10 @@ index 34fea0ddd08..084a8ae435e 100644 Target RejectNegative Link with libyk.a, libc.a and crt0.o. diff --git a/gcc/configure b/gcc/configure -index 97ba7d7d69c..c0e468546ed 100755 +index cd3d9516fce..fcb4b206b60 100755 --- a/gcc/configure +++ b/gcc/configure -@@ -11693,7 +11693,7 @@ case ${enable_threads} in +@@ -12208,7 +12208,7 @@ case ${enable_threads} in # default target_thread_file='single' ;; @@ -291,10 +289,10 @@ index 97ba7d7d69c..c0e468546ed 100755 target_thread_file=${enable_threads} ;; diff --git a/gcc/configure.ac b/gcc/configure.ac -index d6f2d5b2ed0..15edac2ce9b 100644 +index 0de3b4bf97b..739aa4ae3da 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -1611,7 +1611,7 @@ case ${enable_threads} in +@@ -1800,7 +1800,7 @@ case ${enable_threads} in # default target_thread_file='single' ;; @@ -304,7 +302,7 @@ index d6f2d5b2ed0..15edac2ce9b 100644 target_thread_file=${enable_threads} ;; diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S -index ba2b2623301..8d866107142 100644 +index 260fe4d1af6..664808cd19c 100644 --- a/libgcc/config/rs6000/crtrestvr.S +++ b/libgcc/config/rs6000/crtrestvr.S @@ -24,7 +24,7 @@ @@ -322,7 +320,7 @@ index ba2b2623301..8d866107142 100644 #endif +#endif diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S -index 077e33f34d5..b7be68b710f 100644 +index 7e1d5c5df98..2c62480d165 100644 --- a/libgcc/config/rs6000/crtsavevr.S +++ b/libgcc/config/rs6000/crtsavevr.S @@ -24,7 +24,7 @@ @@ -341,10 +339,10 @@ index 077e33f34d5..b7be68b710f 100644 +#endif diff --git a/libgcc/config/rs6000/gthr-dkp.c b/libgcc/config/rs6000/gthr-dkp.c new file mode 100644 -index 00000000000..94d6ba94ec0 +index 00000000000..26180aa7f36 --- /dev/null +++ b/libgcc/config/rs6000/gthr-dkp.c -@@ -0,0 +1,349 @@ +@@ -0,0 +1,319 @@ +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997-2016 Free Software Foundation, Inc. @@ -370,336 +368,306 @@ index 00000000000..94d6ba94ec0 +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +. */ + ++#define _BUILDING_LIBGCC +#include "gthr-dkp.h" +#include + -+__gthread_impl_t __gthread_impl = { -+ NULL, // active -+ NULL, // create -+ NULL, // join -+ NULL, // detach -+ NULL, // equal -+ NULL, // self -+ NULL, // yield -+ NULL, // once -+ NULL, // key_create -+ NULL, // key_delete -+ NULL, // getspecific -+ NULL, // setspecific -+ NULL, // mutex_init_function -+ NULL, // mutex_destroy -+ NULL, // mutex_lock -+ NULL, // mutex_trylock -+ NULL, // mutex_unlock -+ NULL, // recursive_mutex_init_function -+ NULL, // recursive_mutex_lock -+ NULL, // recursive_mutex_trylock -+ NULL, // recursive_mutex_unlock -+ NULL, // recursive_mutex_destroy -+ NULL, // cond_init_function -+ NULL, // cond_broadcast -+ NULL, // cond_signal -+ NULL, // cond_wait -+ NULL, // cond_timedwait -+ NULL, // cond_wait_recursive -+ NULL, // cond_destroy -+}; + +int +__gthread_active_p (void) +{ -+ if (!__gthread_impl.active) { ++ if (!__has_gthr_impl(active)) { + return 0; + } + -+ return __gthread_impl.active(); ++ return __gthr_impl_active(); +} + +int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ -+ if (!__gthread_impl.create) { ++ if (!__has_gthr_impl(create)) { + return -1; + } + -+ return __gthread_impl.create(__threadid, __func, __args); ++ return __gthr_impl_create(__threadid, __func, __args); +} + +int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ -+ if (!__gthread_impl.join) { ++ if (!__has_gthr_impl(join)) { + return -1; + } + -+ return __gthread_impl.join(__threadid, __value_ptr); ++ return __gthr_impl_join(__threadid, __value_ptr); +} + +int +__gthread_detach (__gthread_t __threadid) +{ -+ if (!__gthread_impl.detach) { ++ if (!__has_gthr_impl(detach)) { + return -1; + } + -+ return __gthread_impl.detach(__threadid); ++ return __gthr_impl_detach(__threadid); +} + +int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ -+ if (!__gthread_impl.equal) { ++ if (!__has_gthr_impl(equal)) { + return -1; + } + -+ return __gthread_impl.equal(__t1, __t2); ++ return __gthr_impl_equal(__t1, __t2); +} + +__gthread_t +__gthread_self (void) +{ -+ if (!__gthread_impl.self) { ++ if (!__has_gthr_impl(self)) { + __gthread_t result = { 0 }; + return result; + } + -+ return __gthread_impl.self(); ++ return __gthr_impl_self(); +} + +int +__gthread_yield (void) +{ -+ if (!__gthread_impl.yield) { ++ if (!__has_gthr_impl(yield)) { + return -1; + } + -+ return __gthread_impl.yield(); ++ return __gthr_impl_yield(); +} + +int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ -+ if (!__gthread_impl.once) { ++ if (!__has_gthr_impl(once)) { + return -1; + } + -+ return __gthread_impl.once(__once, __func); ++ return __gthr_impl_once(__once, __func); +} + +int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ -+ if (!__gthread_impl.key_create) { ++ if (!__has_gthr_impl(key_create)) { + return -1; + } + -+ return __gthread_impl.key_create(__key, __dtor); ++ return __gthr_impl_key_create(__key, __dtor); +} + +int +__gthread_key_delete (__gthread_key_t __key) +{ -+ if (!__gthread_impl.key_delete) { ++ if (!__has_gthr_impl(key_delete)) { + return -1; + } + -+ return __gthread_impl.key_delete(__key); ++ return __gthr_impl_key_delete(__key); +} + +void * +__gthread_getspecific (__gthread_key_t __key) +{ -+ if (!__gthread_impl.getspecific) { ++ if (!__has_gthr_impl(getspecific)) { + return NULL; + } + -+ return __gthread_impl.getspecific(__key); ++ return __gthr_impl_getspecific(__key); +} + +int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ -+ if (!__gthread_impl.setspecific) { ++ if (!__has_gthr_impl(setspecific)) { + return -1; + } + -+ return __gthread_impl.setspecific(__key, __ptr); ++ return __gthr_impl_setspecific(__key, __ptr); +} + +void +__gthread_mutex_init_function (__gthread_mutex_t *__mutex) +{ -+ if (__gthread_impl.mutex_init_function) { -+ __gthread_impl.mutex_init_function(__mutex); ++ if (__has_gthr_impl(mutex_init_function)) { ++ __gthr_impl_mutex_init_function(__mutex); + } +} + +int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ -+ if (!__gthread_impl.mutex_destroy) { ++ if (!__has_gthr_impl(mutex_destroy)) { + return -1; + } + -+ return __gthread_impl.mutex_destroy(__mutex); ++ return __gthr_impl_mutex_destroy(__mutex); +} + +int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ -+ if (!__gthread_impl.mutex_lock) { ++ if (!__has_gthr_impl(mutex_lock)) { + return -1; + } + -+ return __gthread_impl.mutex_lock(__mutex); ++ return __gthr_impl_mutex_lock(__mutex); +} + +int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ -+ if (!__gthread_impl.mutex_trylock) { ++ if (!__has_gthr_impl(mutex_trylock)) { + return -1; + } + -+ return __gthread_impl.mutex_trylock(__mutex); ++ return __gthr_impl_mutex_trylock(__mutex); +} + +int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ -+ if (!__gthread_impl.mutex_unlock) { ++ if (!__has_gthr_impl(mutex_unlock)) { + return -1; + } + -+ return __gthread_impl.mutex_unlock(__mutex); ++ return __gthr_impl_mutex_unlock(__mutex); +} + +int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ -+ if (!__gthread_impl.recursive_mutex_init_function) { ++ if (!__has_gthr_impl(recursive_mutex_init_function)) { + return -1; + } + -+ return __gthread_impl.recursive_mutex_init_function(__mutex); ++ return __gthr_impl_recursive_mutex_init_function(__mutex); +} + +int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ -+ if (!__gthread_impl.recursive_mutex_lock) { ++ if (!__has_gthr_impl(recursive_mutex_lock)) { + return -1; + } + -+ return __gthread_impl.recursive_mutex_lock(__mutex); ++ return __gthr_impl_recursive_mutex_lock(__mutex); +} + +int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ -+ if (!__gthread_impl.recursive_mutex_trylock) { ++ if (!__has_gthr_impl(recursive_mutex_trylock)) { + return -1; + } + -+ return __gthread_impl.recursive_mutex_trylock(__mutex); ++ return __gthr_impl_recursive_mutex_trylock(__mutex); +} + +int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ -+ if (!__gthread_impl.recursive_mutex_unlock) { ++ if (!__has_gthr_impl(recursive_mutex_unlock)) { + return -1; + } + -+ return __gthread_impl.recursive_mutex_unlock(__mutex); ++ return __gthr_impl_recursive_mutex_unlock(__mutex); +} + +int +__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) +{ -+ if (!__gthread_impl.recursive_mutex_destroy) { ++ if (!__has_gthr_impl(recursive_mutex_destroy)) { + return -1; + } + -+ return __gthread_impl.recursive_mutex_destroy(__mutex); ++ return __gthr_impl_recursive_mutex_destroy(__mutex); +} + +void +__gthread_cond_init_function (__gthread_cond_t *__cond) +{ -+ if (__gthread_impl.cond_init_function) { -+ __gthread_impl.cond_init_function(__cond); ++ if (__has_gthr_impl(cond_init_function)) { ++ __gthr_impl_cond_init_function(__cond); + } +} + +int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ -+ if (!__gthread_impl.cond_broadcast) { ++ if (!__has_gthr_impl(cond_broadcast)) { + return -1; + } + -+ return __gthread_impl.cond_broadcast(__cond); ++ return __gthr_impl_cond_broadcast(__cond); +} + +int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ -+ if (!__gthread_impl.cond_signal) { ++ if (!__has_gthr_impl(cond_signal)) { + return -1; + } + -+ return __gthread_impl.cond_signal(__cond); ++ return __gthr_impl_cond_signal(__cond); +} + +int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ -+ if (!__gthread_impl.cond_wait) { ++ if (!__has_gthr_impl(cond_wait)) { + return -1; + } + -+ return __gthread_impl.cond_wait(__cond, __mutex); ++ return __gthr_impl_cond_wait(__cond, __mutex); +} + +int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ -+ if (!__gthread_impl.cond_timedwait) { ++ if (!__has_gthr_impl(cond_timedwait)) { + return -1; + } + -+ return __gthread_impl.cond_timedwait(__cond, __mutex, __abs_timeout); ++ return __gthr_impl_cond_timedwait(__cond, __mutex, __abs_timeout); +} + +int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ -+ if (!__gthread_impl.cond_wait_recursive) { ++ if (!__has_gthr_impl(cond_wait_recursive)) { + return -1; + } + -+ return __gthread_impl.cond_wait_recursive(__cond, __mutex); ++ return __gthr_impl_cond_wait_recursive(__cond, __mutex); +} + +int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ -+ if (!__gthread_impl.cond_destroy) { ++ if (!__has_gthr_impl(cond_destroy)) { + return -1; + } + -+ return __gthread_impl.cond_destroy(__cond); ++ return __gthr_impl_cond_destroy(__cond); +} diff --git a/libgcc/config/rs6000/gthr-dkp.h b/libgcc/config/rs6000/gthr-dkp.h new file mode 100644 -index 00000000000..281c19d2a60 +index 00000000000..72ecf82ab83 --- /dev/null +++ b/libgcc/config/rs6000/gthr-dkp.h -@@ -0,0 +1,185 @@ +@@ -0,0 +1,187 @@ +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997-2016 Free Software Foundation, Inc. @@ -753,42 +721,44 @@ index 00000000000..281c19d2a60 +#define __GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + -+typedef struct { -+ int (*active) (void); -+ int (*create) (__gthread_t *__threadid, void *(*__func) (void*), -+ void *__args); -+ int (*join) (__gthread_t __threadid, void **__value_ptr); -+ int (*detach) (__gthread_t __threadid); -+ int (*equal) (__gthread_t __t1, __gthread_t __t2); -+ __gthread_t (*self) (void); -+ int (*yield) (void); -+ int (*once) (__gthread_once_t *__once, void (*__func) (void)); -+ int (*key_create) (__gthread_key_t *__key, void (*__dtor) (void *)); -+ int (*key_delete) (__gthread_key_t __key); -+ void * (*getspecific) (__gthread_key_t __key); -+ int (*setspecific) (__gthread_key_t __key, const void *__ptr); -+ void (*mutex_init_function) (__gthread_mutex_t *__mutex); -+ int (*mutex_destroy) (__gthread_mutex_t *__mutex); -+ int (*mutex_lock) (__gthread_mutex_t *__mutex); -+ int (*mutex_trylock) (__gthread_mutex_t *__mutex); -+ int (*mutex_unlock) (__gthread_mutex_t *__mutex); -+ int (*recursive_mutex_init_function) (__gthread_recursive_mutex_t *__mutex); -+ int (*recursive_mutex_lock) (__gthread_recursive_mutex_t *__mutex); -+ int (*recursive_mutex_trylock) (__gthread_recursive_mutex_t *__mutex); -+ int (*recursive_mutex_unlock) (__gthread_recursive_mutex_t *__mutex); -+ int (*recursive_mutex_destroy) (__gthread_recursive_mutex_t *__mutex); -+ void (*cond_init_function) (__gthread_cond_t *__cond); -+ int (*cond_broadcast) (__gthread_cond_t *__cond); -+ int (*cond_signal) (__gthread_cond_t *__cond); -+ int (*cond_wait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); -+ int (*cond_timedwait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, ++#ifdef _BUILDING_LIBGCC ++#define __GTHR_IMPL(_name) __attribute__((weak)) __gthr_impl_##_name ++#define __has_gthr_impl(_name) (&__gthr_impl_##_name) ++#else ++#define __GTHR_IMPL(_name) __gthr_impl_##_name ++#endif ++ ++int __GTHR_IMPL(active) (void); ++int __GTHR_IMPL(create) (__gthread_t *__threadid, void *(*__func) (void*), void *__args); ++int __GTHR_IMPL(join) (__gthread_t __threadid, void **__value_ptr); ++int __GTHR_IMPL(detach) (__gthread_t __threadid); ++int __GTHR_IMPL(equal) (__gthread_t __t1, __gthread_t __t2); ++__gthread_t __GTHR_IMPL(self) (void); ++int __GTHR_IMPL(yield) (void); ++int __GTHR_IMPL(once) (__gthread_once_t *__once, void (*__func) (void)); ++int __GTHR_IMPL(key_create) (__gthread_key_t *__key, void (*__dtor) (void *)); ++int __GTHR_IMPL(key_delete) (__gthread_key_t __key); ++void * __GTHR_IMPL(getspecific) (__gthread_key_t __key); ++int __GTHR_IMPL(setspecific) (__gthread_key_t __key, const void *__ptr); ++void __GTHR_IMPL(mutex_init_function) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(mutex_destroy) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(mutex_lock) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(mutex_trylock) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(mutex_unlock) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_init_function) (__gthread_recursive_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_lock) (__gthread_recursive_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_trylock) (__gthread_recursive_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_unlock) (__gthread_recursive_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_destroy) (__gthread_recursive_mutex_t *__mutex); ++void __GTHR_IMPL(cond_init_function) (__gthread_cond_t *__cond); ++int __GTHR_IMPL(cond_broadcast) (__gthread_cond_t *__cond); ++int __GTHR_IMPL(cond_signal) (__gthread_cond_t *__cond); ++int __GTHR_IMPL(cond_wait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); ++int __GTHR_IMPL(cond_timedwait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout); -+ int (*cond_wait_recursive) (__gthread_cond_t *__cond, ++int __GTHR_IMPL(cond_wait_recursive) (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex); -+ int (*cond_destroy) (__gthread_cond_t* __cond); -+} __gthread_impl_t; -+ -+extern __gthread_impl_t __gthread_impl; ++int __GTHR_IMPL(cond_destroy) (__gthread_cond_t* __cond); + +int +__gthread_active_p (void); @@ -896,38 +866,26 @@ index fb812d3801f..7f6669d530f 100644 # This can't end up in shared libgcc diff --git a/libgcc/configure b/libgcc/configure -index b2f3f870844..c6f93f8b3ac 100644 +index 26bf75789e0..1f663d2cfb0 100755 --- a/libgcc/configure +++ b/libgcc/configure -@@ -5442,6 +5442,7 @@ tm_file="${tm_file_}" - +@@ -5640,6 +5640,7 @@ tm_file="${tm_file_}" case $target_thread_file in aix) thread_header=config/rs6000/gthr-aix.h ;; -+ dkp) thread_header=config/rs6000/gthr-dkp.h ;; dce) thread_header=config/pa/gthr-dce.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 5e894455e16..f2347455de0 100644 ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -47,6 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - - /* Target machine header files require this define. */ - #define IN_LIBGCC2 -+#define USED_FOR_TARGET - - /* FIXME: Including auto-host is incorrect, but until we have - identified the set of defines that need to go into auto-target.h, diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index 61457e940ec..a7c63407ced 100755 +index 9f9c5a2419a..c9bb6c548be 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure -@@ -15382,6 +15382,7 @@ $as_echo "$target_thread_file" >&6; } - +@@ -15637,6 +15637,7 @@ $as_echo "$target_thread_file" >&6; } case $target_thread_file in aix) thread_header=config/rs6000/gthr-aix.h ;; -+ dkp) thread_header=config/rs6000/gthr-dkp.h ;; dce) thread_header=config/pa/gthr-dce.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; diff --git a/select_toolchain.sh b/select_toolchain.sh index e739ea2..5b98991 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -40,7 +40,7 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - GCC_VER=8.4.0 + GCC_VER=10.1.0 BINUTILS_VER=2.32 MN_BINUTILS_VER=2.17 NEWLIB_VER=3.3.0 From 433a4bdd80312fa18952d7ceb9c05598c2404590 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 16 May 2020 03:16:20 +0100 Subject: [PATCH 113/280] devkitPPC: releease 37 --- build-devkit.sh | 2 +- dkppc/scripts/build-gcc.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 33d9f6c..ccf4404 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,7 +2,7 @@ #!/bin/bash #--------------------------------------------------------------------------------- # devkitARM release 54 -# devkitPPC release 36 +# devkitPPC release 37 # devkitA64 release 15 #--------------------------------------------------------------------------------- diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index c8a7ea3..bca6635 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -97,7 +97,7 @@ then --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix\ --with-system-zlib\ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 36" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 37" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ From 6da9ea33f70611712eba4146ff2083a034a9a429 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 8 Jun 2020 19:59:53 +0100 Subject: [PATCH 114/280] devkitPPC: use binutils 2.34 --- dkppc/patches/binutils-2.34.patch | 12 ++++++++++++ select_toolchain.sh | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 dkppc/patches/binutils-2.34.patch diff --git a/dkppc/patches/binutils-2.34.patch b/dkppc/patches/binutils-2.34.patch new file mode 100644 index 0000000..d230e8a --- /dev/null +++ b/dkppc/patches/binutils-2.34.patch @@ -0,0 +1,12 @@ +diff -NBaur binutils-2.34/opcodes/ppc-opc.c binutils-2.34-ppc/opcodes/ppc-opc.c +--- binutils-2.34/opcodes/ppc-opc.c 2020-01-18 13:55:49.000000000 +0000 ++++ binutils-2.34-ppc/opcodes/ppc-opc.c 2020-05-22 10:47:37.900308413 +0000 +@@ -3747,7 +3747,7 @@ + #define MFDEC2 (PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE \ + | PPC_OPCODE_TITAN) + #define BOOKE PPC_OPCODE_BOOKE +-#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS ++#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS + #define PPCE300 PPC_OPCODE_E300 + #define PPCSPE PPC_OPCODE_SPE + #define PPCSPE2 PPC_OPCODE_SPE2 diff --git a/select_toolchain.sh b/select_toolchain.sh index 5b98991..6871fcf 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -41,7 +41,7 @@ case "$VERSION" in ;; "2" ) GCC_VER=10.1.0 - BINUTILS_VER=2.32 + BINUTILS_VER=2.34 MN_BINUTILS_VER=2.17 NEWLIB_VER=3.3.0 GDB_VER=8.2.1 From 556a2a2e0282d350de77faabd8af8042a00d68ad Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 8 Jun 2020 20:01:52 +0100 Subject: [PATCH 115/280] devkitPPC: refill buffer for large reads --- dkppc/patches/newlib-3.3.0.patch | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/dkppc/patches/newlib-3.3.0.patch b/dkppc/patches/newlib-3.3.0.patch index ed06a63..49b0069 100644 --- a/dkppc/patches/newlib-3.3.0.patch +++ b/dkppc/patches/newlib-3.3.0.patch @@ -8096,7 +8096,7 @@ index 022992b8d..bdf4c7bb0 100644 fp->_flags = flags; fp->_cookie = (void *) fp; diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index b358d2b4a..95493cd66 100644 +index b358d2b4a..78bb0df30 100644 --- a/newlib/libc/stdio/fread.c +++ b/newlib/libc/stdio/fread.c @@ -187,7 +187,6 @@ _fread_r (struct _reent * ptr, @@ -8116,7 +8116,7 @@ index b358d2b4a..95493cd66 100644 resid -= fp->_r; p += fp->_r; fp->_r = 0; -@@ -225,7 +224,30 @@ _fread_r (struct _reent * ptr, +@@ -225,7 +224,29 @@ _fread_r (struct _reent * ptr, /* fp->_r = 0 ... done in __srefill */ p += r; resid -= r; @@ -8130,7 +8130,7 @@ index b358d2b4a..95493cd66 100644 + int old_size = fp->_bf._size; + /* allow __refill to use user's buffer */ + fp->_bf._base = (unsigned char *) p; -+ fp->_bf._size = resid; ++ fp->_bf._size = resid - old_size; + fp->_p = (unsigned char *) p; + rc = __srefill_r (ptr, fp); + /* restore fp buffering back to original state */ @@ -8139,12 +8139,11 @@ index b358d2b4a..95493cd66 100644 + fp->_p = old_base; + resid -= fp->_r; + p += fp->_r; -+ fp->_r = 0; -+ -+ } else { -+ rc = __srefill_r (ptr, fp); ++ //fp->_r = 0; + } -+ if (rc) ++ rc = __srefill_r (ptr, fp); ++ ++ if (rc) { /* no more input: return partial result */ #ifdef __SCLE From 90e2936222d642f551a9af5b3cab914fa5d29a84 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 30 Jun 2020 18:18:19 +0100 Subject: [PATCH 116/280] add cross build for aarch64 linux --- cross-build-aarch64-linux-gnu.sh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100755 cross-build-aarch64-linux-gnu.sh diff --git a/cross-build-aarch64-linux-gnu.sh b/cross-build-aarch64-linux-gnu.sh new file mode 100755 index 0000000..f530c39 --- /dev/null +++ b/cross-build-aarch64-linux-gnu.sh @@ -0,0 +1,6 @@ +#!/bin/bash +export CROSSBUILD=aarch64-linux-gnu +export CROSSPATH=/opt/aarch64-linux-gnu +export CROSSLIBPATH=$CROSSPATH/lib +export CROSSBINPATH=$CROSSPATH/bin + From 0b31c7ab1c69567a98826abd8f5d542882b39e17 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 24 Jul 2020 15:55:13 +0100 Subject: [PATCH 117/280] stop building gdb here --- build-devkit.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index ccf4404..a088840 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -181,7 +181,7 @@ fi patchdir=$(pwd)/$basedir/patches scriptdir=$(pwd)/$basedir/scripts -archives="binutils-${BINUTILS_VER}.tar.xz gcc-${GCC_VER}.tar.xz newlib-${NEWLIB_VER}.tar.gz gdb-${GDB_VER}.tar.xz" +archives="binutils-${BINUTILS_VER}.tar.xz gcc-${GCC_VER}.tar.xz newlib-${NEWLIB_VER}.tar.gz" if [ $VERSION -eq 1 ]; then @@ -217,7 +217,6 @@ cd $BUILDDIR extract_and_patch binutils $BINUTILS_VER xz extract_and_patch gcc $GCC_VER xz extract_and_patch newlib $NEWLIB_VER gz -extract_and_patch gdb $GDB_VER xz if [ $VERSION -eq 2 ]; then extract_and_patch binutils $MN_BINUTILS_VER bz2; fi From 9bf0973c2ab3872023ad580d10b93e21786dc687 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 24 Jul 2020 16:02:56 +0100 Subject: [PATCH 118/280] ensure newly built tools on front of path --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index a088840..66238ea 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -122,7 +122,7 @@ export MAKE # Add installed devkit to the path, adjusting path on minsys #--------------------------------------------------------------------------------- TOOLPATH=$(echo $INSTALLDIR | sed -e 's/^\([a-zA-Z]\):/\/\1/') -export PATH=$PATH:$TOOLPATH/$package/bin +export PATH=$TOOLPATH/$package/bin:$PATH CROSS_PARAMS="--build=`./config.guess`" From dcfd0e271e02dd712fde89e5377b09993fef33c9 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 24 Jul 2020 23:34:26 +0100 Subject: [PATCH 119/280] add dummy cross build script for linux PKGBUILD --- cross-build-x86_64-linux-gnu.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 cross-build-x86_64-linux-gnu.sh diff --git a/cross-build-x86_64-linux-gnu.sh b/cross-build-x86_64-linux-gnu.sh new file mode 100755 index 0000000..e69de29 From e4b13705957da6d35764490163db36d5092a2644 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 24 Jul 2020 23:38:05 +0100 Subject: [PATCH 120/280] remove redundant toolsprefix --- build-devkit.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 66238ea..5736fdc 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -127,13 +127,10 @@ export PATH=$TOOLPATH/$package/bin:$PATH CROSS_PARAMS="--build=`./config.guess`" if [ ! -z $CROSSBUILD ]; then - toolsprefix=$INSTALLDIR/$CROSSBUILD/tools prefix=$INSTALLDIR/$CROSSBUILD/$package - toolsprefix=$INSTALLDIR/$CROSSBUILD/tools CROSS_PARAMS="$CROSS_PARAMS --host=$CROSSBUILD" CROSS_GCC_PARAMS="--with-gmp=$CROSSPATH --with-mpfr=$CROSSPATH --with-mpc=$CROSSPATH" else - toolsprefix=$INSTALLDIR/tools prefix=$INSTALLDIR/$package fi From 77ad8b785c4d081fb0d8e7e30e3d57cae2b68944 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 24 Jul 2020 23:40:16 +0100 Subject: [PATCH 121/280] add native tools to path when cross building --- build-devkit.sh | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 5736fdc..943b725 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -118,15 +118,10 @@ fi echo use $MAKE as make export MAKE -#--------------------------------------------------------------------------------- -# Add installed devkit to the path, adjusting path on minsys -#--------------------------------------------------------------------------------- -TOOLPATH=$(echo $INSTALLDIR | sed -e 's/^\([a-zA-Z]\):/\/\1/') -export PATH=$TOOLPATH/$package/bin:$PATH - CROSS_PARAMS="--build=`./config.guess`" if [ ! -z $CROSSBUILD ]; then + export PATH=/opt/devkitpro/$package/bin:$PATH prefix=$INSTALLDIR/$CROSSBUILD/$package CROSS_PARAMS="$CROSS_PARAMS --host=$CROSSBUILD" CROSS_GCC_PARAMS="--with-gmp=$CROSSPATH --with-mpfr=$CROSSPATH --with-mpc=$CROSSPATH" @@ -134,6 +129,12 @@ else prefix=$INSTALLDIR/$package fi +#--------------------------------------------------------------------------------- +# Add installed devkit to the path, adjusting path on minsys +#--------------------------------------------------------------------------------- +TOOLPATH=$(echo $INSTALLDIR | sed -e 's/^\([a-zA-Z]\):/\/\1/') +export PATH=$TOOLPATH/$package/bin:$PATH + if [ "$BUILD_DKPRO_AUTOMATED" != "1" ] ; then echo From a0fe0c529761a4eaa6d4c8aca3196be9a7cbd213 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 24 Jul 2020 16:01:12 +0100 Subject: [PATCH 122/280] devkitA64: update to gcc 10.2.0 --- .../{gcc-10.1.0.patch => gcc-10.2.0.patch} | 21 +++++++++++++++---- select_toolchain.sh | 3 +-- 2 files changed, 18 insertions(+), 6 deletions(-) rename dka64/patches/{gcc-10.1.0.patch => gcc-10.2.0.patch} (95%) diff --git a/dka64/patches/gcc-10.1.0.patch b/dka64/patches/gcc-10.2.0.patch similarity index 95% rename from dka64/patches/gcc-10.1.0.patch rename to dka64/patches/gcc-10.2.0.patch index 43d18b4..05f633b 100644 --- a/dka64/patches/gcc-10.1.0.patch +++ b/dka64/patches/gcc-10.2.0.patch @@ -1,5 +1,5 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc -index cf1a87e2efd..bd79664568e 100644 +index 6a349965c0a..2206091e057 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1039,7 +1039,14 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) @@ -47,10 +47,10 @@ index ee7bed34924..d1e2742d750 100644 Most have a PIC and non-PIC variant. */ enum aarch64_code_model { diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c -index 409ca8d9519..fa57bbf8cd5 100644 +index b86434a6acf..389e3fe3910 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c -@@ -15951,8 +15951,24 @@ aarch64_load_tp (rtx target) +@@ -15983,8 +15983,24 @@ aarch64_load_tp (rtx target) || !register_operand (target, Pmode)) target = gen_reg_rtx (Pmode); @@ -78,7 +78,7 @@ index 409ca8d9519..fa57bbf8cd5 100644 } diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h -index 24767c747ba..0b1bbb5d79e 100644 +index 1ce23c68781..57216651648 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h @@ -1134,6 +1134,10 @@ typedef struct @@ -319,6 +319,19 @@ index 9f790db0daf..97f52d0b893 100644 INIT_STATIC_SPEC ("startfile", &startfile_spec), INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("version", &compiler_version), +diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c +index 3f769a1c660..e005d8304b7 100644 +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -325,7 +325,7 @@ register_tm_clones (void) + + #ifdef OBJECT_FORMAT_ELF + +-#if DEFAULT_USE_CXA_ATEXIT ++#if 1 /* DEFAULT_USE_CXA_ATEXIT */ + /* Declare the __dso_handle variable. It should have a unique value + in every shared-object; in a main program its value is zero. The + object should in any case be protected. This means the instance diff --git a/libgcc/gthr.h b/libgcc/gthr.h index f31cf083cbe..649f900aac3 100644 --- a/libgcc/gthr.h diff --git a/select_toolchain.sh b/select_toolchain.sh index 6871fcf..1b8baec 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -51,10 +51,9 @@ case "$VERSION" in toolchain=DEVKITPPC ;; "3" ) - GCC_VER=10.1.0 + GCC_VER=10.2.0 BINUTILS_VER=2.32 NEWLIB_VER=3.3.0 - GDB_VER=9.1 basedir='dka64' package=devkitA64 target=aarch64-none-elf From 25f22b6c93e508d15185ae768b0cdc271d5c0bb7 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 24 Jul 2020 18:38:41 +0100 Subject: [PATCH 123/280] devkitA64: don't build gdb --- dka64/scripts/build-gcc.sh | 35 ----------------------------------- 1 file changed, 35 deletions(-) diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 1636210..de564a0 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -149,41 +149,6 @@ fi rm -fr $prefix/$target/sys-include -cd $BUILDDIR - -#--------------------------------------------------------------------------------- -# build and install the debugger -#--------------------------------------------------------------------------------- -mkdir -p $target/gdb -cd $target/gdb - -PLATFORM=`uname -s` - -if [ ! -f configured-gdb ] -then - CPPFLAGS="$cppflags" \ - CFLAGS="$cflags" \ - CXXFLAGS="$cflags" \ - LDFLAGS="$ldflags" \ - ../../gdb-$GDB_VER/configure \ - --disable-nls --prefix=$prefix --target=$target --disable-werror \ - $CROSS_PARAMS \ - || { echo "Error configuring gdb"; exit 1; } - touch configured-gdb -fi - -if [ ! -f built-gdb ] -then - $MAKE || { echo "Error building gdb"; exit 1; } - touch built-gdb -fi - -if [ ! -f installed-gdb ] -then - $MAKE install || { echo "Error installing gdb"; exit 1; } - touch installed-gdb -fi - #--------------------------------------------------------------------------------- # copy base rulesets #--------------------------------------------------------------------------------- From d4a84c9884ca1d12b6e74e482797d496da44b123 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 24 Jul 2020 15:56:56 +0100 Subject: [PATCH 124/280] devkitA64: separate rules package --- build-devkit.sh | 4 +++- dka64/scripts/build-crtls.sh | 16 ++++++++++++++++ dka64/scripts/build-gcc.sh | 5 ----- 3 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 dka64/scripts/build-crtls.sh diff --git a/build-devkit.sh b/build-devkit.sh index 943b725..e76f0c9 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -33,6 +33,8 @@ DKARM_CRTLS_VER=1.0.0 DKPPC_RULES_VER=1.0.0 +DKA64_RULES_VER=1.0.0 + OSXMIN=${OSXMIN:-10.9} #--------------------------------------------------------------------------------- @@ -183,7 +185,7 @@ archives="binutils-${BINUTILS_VER}.tar.xz gcc-${GCC_VER}.tar.xz newlib-${NEWLIB_ if [ $VERSION -eq 1 ]; then - archives="devkitarm-rules-$DKARM_RULES_VER.tar.xz devkitarm-crtls-$DKARM_CRTLS_VER.tar.xz $archives" + archives="devkita64-rules-$DKA64_RULES_VER.tar.xz devkitarm-rules-$DKARM_RULES_VER.tar.xz devkitarm-crtls-$DKARM_CRTLS_VER.tar.xz $archives" fi if [ $VERSION -eq 2 ]; then diff --git a/dka64/scripts/build-crtls.sh b/dka64/scripts/build-crtls.sh new file mode 100644 index 0000000..2703eb6 --- /dev/null +++ b/dka64/scripts/build-crtls.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +#--------------------------------------------------------------------------------- +# set env variables +#--------------------------------------------------------------------------------- +export DEVKITPRO=$TOOLPATH + +#--------------------------------------------------------------------------------- +# Install the rules files +#--------------------------------------------------------------------------------- +cd $BUILDDIR + +mkdir -p rules +cd rules +tar -xvf $SRCDIR/devkita64-rules-$DKA64_RULES_VER.tar.xz +make install diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index de564a0..477a69e 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -148,8 +148,3 @@ then fi rm -fr $prefix/$target/sys-include - -#--------------------------------------------------------------------------------- -# copy base rulesets -#--------------------------------------------------------------------------------- -cp -v $BUILDSCRIPTDIR/dka64/rules/* $prefix From 81719c49e369b4d36ab3b4ee66e24e8691286b8f Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 24 Jul 2020 19:09:15 +0100 Subject: [PATCH 125/280] devkitA64: disable cxa_atexit & tm clone registry --- dka64/scripts/build-gcc.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 477a69e..71b2611 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -64,6 +64,8 @@ then --prefix=$prefix \ --enable-lto $plugin_ld\ --with-system-zlib \ + --disable-tm-clone-registry \ + --disable-__cxa_atexit \ --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 15" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ From bc52f6ac2be5796ef20a5892eaff6672bb8532f1 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 24 Jul 2020 19:13:51 +0100 Subject: [PATCH 126/280] devkitA64: next release is r16 --- dka64/scripts/build-gcc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 71b2611..8ca58a2 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -66,7 +66,7 @@ then --with-system-zlib \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 15" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 16" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } From 70c8df8709791e119e0e170134481e3d6f662c60 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 25 Jul 2020 02:53:33 +0100 Subject: [PATCH 127/280] devkitA64 now release 16 --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index e76f0c9..5afeb14 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -3,7 +3,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 54 # devkitPPC release 37 -# devkitA64 release 15 +# devkitA64 release 16 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then From 1a1b35aa3b3cd431f88d4088ed175b8a3e913eb8 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 30 Jun 2020 18:14:24 +0100 Subject: [PATCH 128/280] devkitARM: disable tm clone registry and cxa-atexit --- dkarm-eabi/patches/gcc-10.1.0.patch | 13 +++++++++++++ dkarm-eabi/scripts/build-gcc.sh | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/dkarm-eabi/patches/gcc-10.1.0.patch b/dkarm-eabi/patches/gcc-10.1.0.patch index a814931..86739a0 100644 --- a/dkarm-eabi/patches/gcc-10.1.0.patch +++ b/dkarm-eabi/patches/gcc-10.1.0.patch @@ -236,3 +236,16 @@ index dddddc7c444..c2502597953 100644 # the option is safe. -LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions +LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions +diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c +index 3f769a1c660..e005d8304b7 100644 +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -325,7 +325,7 @@ register_tm_clones (void) + + #ifdef OBJECT_FORMAT_ELF + +-#if DEFAULT_USE_CXA_ATEXIT ++#if 1 /* DEFAULT_USE_CXA_ATEXIT */ + /* Declare the __dso_handle variable. It should have a unique value + in every shared-object; in a main program its value is zero. The + object should in any case be protected. This means the instance diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index c8f6319..5cf780a 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -64,7 +64,9 @@ then --prefix=$prefix \ --enable-lto\ --with-system-zlib \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 54" \ + --disable-tm-clone-registry \ + --disable-__cxa_atexit \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 55" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } From 7f142c7583fea5d1c1ff5a4de01e7d0aa6b09fa4 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 30 Jun 2020 18:15:22 +0100 Subject: [PATCH 129/280] devkitARM: use binutils 2.34 --- select_toolchain.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/select_toolchain.sh b/select_toolchain.sh index 1b8baec..b589c2b 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -31,7 +31,7 @@ done case "$VERSION" in "1" ) GCC_VER=10.1.0 - BINUTILS_VER=2.32 + BINUTILS_VER=2.34 NEWLIB_VER=3.3.0 GDB_VER=8.2.1 basedir='dkarm-eabi' From b16276e9da1b1c75423b2a4a38b9a7ffc77b4bd7 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 30 Jun 2020 18:16:46 +0100 Subject: [PATCH 130/280] devkitARM: separate gdb --- dkarm-eabi/patches/gdb-8.2.1.patch | 597 ----------------------------- dkarm-eabi/scripts/build-gcc.sh | 32 -- 2 files changed, 629 deletions(-) delete mode 100644 dkarm-eabi/patches/gdb-8.2.1.patch diff --git a/dkarm-eabi/patches/gdb-8.2.1.patch b/dkarm-eabi/patches/gdb-8.2.1.patch deleted file mode 100644 index 3fc0d97..0000000 --- a/dkarm-eabi/patches/gdb-8.2.1.patch +++ /dev/null @@ -1,597 +0,0 @@ -diff --git a/gdb/Makefile.in b/gdb/Makefile.in -index 9799a7a65d..ccd3f8a626 100644 ---- a/gdb/Makefile.in -+++ b/gdb/Makefile.in -@@ -684,6 +684,7 @@ ALL_TARGET_OBS = \ - arch/arm-linux.o \ - arch/i386.o \ - arch/ppc-linux-common.o \ -+ arm-3ds-tdep.o \ - arm-bsd-tdep.o \ - arm-fbsd-tdep.o \ - arm-linux-tdep.o \ -@@ -2213,6 +2214,7 @@ ALLDEPFILES = \ - amd64-tdep.c \ - arc-tdep.c \ - arm.c \ -+ arm-3ds-tdep.c \ - arm-bsd-tdep.c \ - arm-fbsd-nat.c \ - arm-fbsd-tdep.c \ -diff --git a/gdb/arm-3ds-tdep.c b/gdb/arm-3ds-tdep.c -new file mode 100644 -index 0000000000..c41336982b ---- /dev/null -+++ b/gdb/arm-3ds-tdep.c -@@ -0,0 +1,291 @@ -+/* Target-dependent code for 3DS. */ -+ -+/* This uses code from GDB, which license is: */ -+ -+/* -+ Copyright (C) 2002-2017 Free Software Foundation, Inc. -+ -+ This file is part of GDB. -+ -+ This program 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. -+ -+ This program 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 program. If not, see . */ -+ -+#include "defs.h" -+#include "gdbcore.h" -+#include "target.h" -+#include "osabi.h" -+#include "xml-syscall.h" -+ -+#include "arch/arm.h" -+#include "arch/arm-get-next-pcs.h" -+#include "arm-tdep.h" -+ -+static const gdb_byte arm_3ds_arm_le_breakpoint[] = {0xff, 0x00, 0x00, 0xef}; -+static const gdb_byte arm_3ds_thumb_le_breakpoint[] = {0xff, 0xdf}; -+ -+static CORE_ADDR -+ arm_3ds_get_next_pcs_syscall_next_pc (struct arm_get_next_pcs *self); -+ -+/* Operation function pointers for get_next_pcs. */ -+static struct arm_get_next_pcs_ops arm_3ds_get_next_pcs_ops = { -+ arm_get_next_pcs_read_memory_unsigned_integer, -+ arm_3ds_get_next_pcs_syscall_next_pc, -+ arm_get_next_pcs_addr_bits_remove, -+ arm_get_next_pcs_is_thumb, -+ NULL, -+}; -+ -+/* single_step() is called just before we want to resume the inferior, -+ if we want to single-step it but there is no hardware or kernel -+ single-step support. We find the target of the coming instructions -+ and breakpoint them. */ -+ -+std::vector -+arm_3ds_software_single_step (struct regcache *regcache) -+{ -+ struct gdbarch *gdbarch = regcache->arch (); -+ struct arm_get_next_pcs next_pcs_ctx; -+ -+ arm_get_next_pcs_ctor (&next_pcs_ctx, -+ &arm_3ds_get_next_pcs_ops, -+ gdbarch_byte_order (gdbarch), -+ gdbarch_byte_order_for_code (gdbarch), -+ 0, -+ regcache); -+ -+ std::vector next_pcs = arm_get_next_pcs (&next_pcs_ctx); -+ -+ for (CORE_ADDR &pc_ref : next_pcs) -+ pc_ref = gdbarch_addr_bits_remove (gdbarch, pc_ref); -+ -+ return next_pcs; -+} -+ -+static CORE_ADDR -+arm_3ds_get_next_pcs_syscall_next_pc (struct arm_get_next_pcs *self) -+{ -+ CORE_ADDR next_pc = 0; -+ CORE_ADDR pc = regcache_read_pc (self->regcache); -+ int is_thumb = arm_is_thumb (self->regcache); -+ ULONGEST svc_number = 0; -+ -+ if (is_thumb) -+ { -+ next_pc = pc + 2; -+ } -+ else -+ { -+ next_pc = pc + 4; -+ } -+ -+ /* Addresses for calling Thumb functions have the bit 0 set. */ -+ if (is_thumb) -+ next_pc = MAKE_THUMB_ADDR (next_pc); -+ -+ return next_pc; -+} -+ -+static LONGEST -+arm_3ds_get_syscall_number (struct gdbarch *gdbarch, -+ thread_info *thread) -+{ -+ struct regcache *regs = get_thread_regcache (thread); -+ -+ ULONGEST pc; -+ ULONGEST cpsr; -+ ULONGEST t_bit = arm_psr_thumb_bit (gdbarch); -+ int is_thumb; -+ ULONGEST svc_number = -1; -+ -+ regcache_cooked_read_unsigned (regs, ARM_PC_REGNUM, &pc); -+ regcache_cooked_read_unsigned (regs, ARM_PS_REGNUM, &cpsr); -+ is_thumb = (cpsr & t_bit) != 0; -+ -+ if (is_thumb) -+ { -+ enum bfd_endian byte_order_for_code = -+ gdbarch_byte_order_for_code (gdbarch); -+ -+ /* PC gets incremented before the syscall-stop, so read the -+ previous instruction. */ -+ unsigned long this_instr = -+ read_memory_unsigned_integer (pc - 2, 2, byte_order_for_code); -+ -+ unsigned long svc_operand = (0x00ff & this_instr); -+ svc_number = svc_operand; -+ } -+ else -+ { -+ enum bfd_endian byte_order_for_code = -+ gdbarch_byte_order_for_code (gdbarch); -+ -+ /* PC gets incremented before the syscall-stop, so read the -+ previous instruction. */ -+ unsigned long this_instr = -+ read_memory_unsigned_integer (pc - 4, 4, byte_order_for_code); -+ -+ unsigned long svc_operand = (0x000000ff & this_instr); -+ svc_number = svc_operand; -+ } -+ -+ if (svc_number == 0xfe) -+ { -+ regcache_cooked_read_unsigned (regs, 12, &svc_number); -+ } -+ -+ return svc_number; -+} -+ -+/* Implement the breakpoint_kind_from_pc gdbarch method. */ -+ -+static int -+arm_3ds_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr) -+{ -+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); -+ enum bfd_endian byte_order_for_code = gdbarch_byte_order_for_code (gdbarch); -+ -+ if (arm_pc_is_thumb (gdbarch, *pcptr)) -+ { -+ *pcptr = UNMAKE_THUMB_ADDR (*pcptr); -+ -+ /* If we have a separate 32-bit breakpoint instruction for Thumb-2, -+ check whether we are replacing a 32-bit instruction. */ -+ if (tdep->thumb2_breakpoint != NULL) -+ { -+ gdb_byte buf[2]; -+ -+ if (target_read_memory (*pcptr, buf, 2) == 0) -+ { -+ unsigned short inst1; -+ -+ inst1 = extract_unsigned_integer (buf, 2, byte_order_for_code); -+ if (thumb_insn_size (inst1) == 4) -+ return ARM_BP_KIND_THUMB2; -+ } -+ } -+ -+ return ARM_BP_KIND_THUMB; -+ } -+ else -+ return ARM_BP_KIND_ARM; -+ -+} -+ -+/* Implement the sw_breakpoint_from_kind gdbarch method. */ -+ -+static const gdb_byte * -+arm_3ds_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size) -+{ -+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); -+ -+ switch (kind) -+ { -+ case ARM_BP_KIND_ARM: -+ *size = tdep->arm_breakpoint_size; -+ return tdep->arm_breakpoint; -+ case ARM_BP_KIND_THUMB: -+ *size = tdep->thumb_breakpoint_size; -+ return tdep->thumb_breakpoint; -+ case ARM_BP_KIND_THUMB2: -+ *size = tdep->thumb2_breakpoint_size; -+ return tdep->thumb2_breakpoint; -+ default: -+ gdb_assert_not_reached ("unexpected arm breakpoint kind"); -+ } -+} -+ -+/* Implement the breakpoint_kind_from_current_state gdbarch method. */ -+ -+static int -+arm_3ds_breakpoint_kind_from_current_state (struct gdbarch *gdbarch, -+ struct regcache *regcache, -+ CORE_ADDR *pcptr) -+{ -+ gdb_byte buf[4]; -+ -+ /* Check the memory pointed by PC is readable. */ -+ if (target_read_memory (regcache_read_pc (regcache), buf, 4) == 0) -+ { -+ struct arm_get_next_pcs next_pcs_ctx; -+ -+ arm_get_next_pcs_ctor (&next_pcs_ctx, -+ &arm_3ds_get_next_pcs_ops, -+ gdbarch_byte_order (gdbarch), -+ gdbarch_byte_order_for_code (gdbarch), -+ 0, -+ regcache); -+ -+ std::vector next_pcs = arm_get_next_pcs (&next_pcs_ctx); -+ -+ /* If MEMADDR is the next instruction of current pc, do the -+ software single step computation, and get the thumb mode by -+ the destination address. */ -+ for (CORE_ADDR pc : next_pcs) -+ { -+ if (UNMAKE_THUMB_ADDR (pc) == *pcptr) -+ { -+ if (IS_THUMB_ADDR (pc)) -+ { -+ *pcptr = MAKE_THUMB_ADDR (*pcptr); -+ return arm_3ds_breakpoint_kind_from_pc (gdbarch, pcptr); -+ } -+ else -+ return ARM_BP_KIND_ARM; -+ } -+ } -+ } -+ -+ return arm_3ds_breakpoint_kind_from_pc (gdbarch, pcptr); -+} -+ -+static void -+arm_3ds_init_abi (struct gdbarch_info info, -+ struct gdbarch *gdbarch) -+{ -+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); -+ -+ switch (info.byte_order) -+ { -+ case BFD_ENDIAN_LITTLE: -+ tdep->arm_breakpoint = arm_3ds_arm_le_breakpoint; -+ tdep->thumb_breakpoint = arm_3ds_thumb_le_breakpoint; -+ tdep->arm_breakpoint_size = sizeof (arm_3ds_arm_le_breakpoint); -+ tdep->thumb_breakpoint_size = sizeof (arm_3ds_thumb_le_breakpoint); -+ break; -+ -+ default: -+ internal_error (__FILE__, __LINE__, -+ _("arm_gdbarch_init: bad byte order")); -+ } -+ tdep->fp_model = ARM_FLOAT_VFP; -+ -+ /* Single stepping. */ -+ set_gdbarch_software_single_step (gdbarch, arm_3ds_software_single_step); -+ -+ /* Breakpoint manipulation. */ -+ set_gdbarch_breakpoint_kind_from_pc (gdbarch, arm_3ds_breakpoint_kind_from_pc); -+ set_gdbarch_sw_breakpoint_from_kind (gdbarch, arm_3ds_sw_breakpoint_from_kind); -+ set_gdbarch_breakpoint_kind_from_current_state (gdbarch, -+ arm_3ds_breakpoint_kind_from_current_state); -+ -+ /* `catch syscall' */ -+ set_xml_syscall_file_name (gdbarch, "syscalls/arm-3ds.xml"); -+ set_gdbarch_get_syscall_number (gdbarch, arm_3ds_get_syscall_number); -+} -+ -+void -+_initialize_arm_3ds_tdep (void) -+{ -+ gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_3DS, -+ arm_3ds_init_abi); -+} -diff --git a/gdb/configure.tgt b/gdb/configure.tgt -index f197160896..e2835ddef5 100644 ---- a/gdb/configure.tgt -+++ b/gdb/configure.tgt -@@ -61,7 +61,7 @@ arc*-*-*) - ;; - - arm*-*-*) -- cpu_obs="arch/arm.o arch/arm-get-next-pcs.o arm-tdep.o";; -+ cpu_obs="arch/arm.o arch/arm-get-next-pcs.o arm-tdep.o arm-3ds-tdep.o";; - - hppa*-*-*) - # Target: HP PA-RISC -diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in -index 753e0b69a3..645eb043b9 100644 ---- a/gdb/data-directory/Makefile.in -+++ b/gdb/data-directory/Makefile.in -@@ -63,7 +63,7 @@ GEN_SYSCALLS_FILES = \ - sparc-linux.xml \ - sparc64-linux.xml - --SYSCALLS_FILES = gdb-syscalls.dtd freebsd.xml $(GEN_SYSCALLS_FILES) -+SYSCALLS_FILES = gdb-syscalls.dtd freebsd.xml arm-3ds.xml $(GEN_SYSCALLS_FILES) - - PYTHON_DIR = python - PYTHON_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(PYTHON_DIR) -diff --git a/gdb/defs.h b/gdb/defs.h -index fc4217005a..a179a6d820 100644 ---- a/gdb/defs.h -+++ b/gdb/defs.h -@@ -495,6 +495,7 @@ enum gdb_osabi - GDB_OSABI_LYNXOS178, - GDB_OSABI_NEWLIB, - GDB_OSABI_SDE, -+ GDB_OSABI_3DS, - - GDB_OSABI_INVALID /* keep this last */ - }; -diff --git a/gdb/dtrace-probe.c b/gdb/dtrace-probe.c -index fa4e06e794..b6afc4cc7c 100644 ---- a/gdb/dtrace-probe.c -+++ b/gdb/dtrace-probe.c -@@ -100,7 +100,7 @@ public: - - /* DTrace static_probe_ops. */ - --const dtrace_static_probe_ops dtrace_static_probe_ops; -+const dtrace_static_probe_ops dtrace_static_probe_ops = {}; - - /* The following structure represents a dtrace probe. */ - -diff --git a/gdb/osabi.c b/gdb/osabi.c -index 7d0540b181..49d3f78331 100644 ---- a/gdb/osabi.c -+++ b/gdb/osabi.c -@@ -80,6 +80,7 @@ static const struct osabi_names gdb_osabi_names[] = - { "LynxOS178", NULL }, - { "Newlib", NULL }, - { "SDE", NULL }, -+ { "3DS", NULL }, - - { "", NULL } - }; -diff --git a/gdb/probe.c b/gdb/probe.c -index 1f3da213ef..4acbeb8704 100644 ---- a/gdb/probe.c -+++ b/gdb/probe.c -@@ -60,7 +60,7 @@ public: - - /* Static operations associated with a generic probe. */ - --const any_static_probe_ops any_static_probe_ops; -+const any_static_probe_ops any_static_probe_ops = {}; - - /* A helper for parse_probes that decodes a probe specification in - SEARCH_PSPACE. It appends matching SALs to RESULT. */ -diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c -index 09a3f6cc5c..9f90a6b436 100644 ---- a/gdb/record-btrace.c -+++ b/gdb/record-btrace.c -@@ -144,7 +144,7 @@ static record_btrace_target record_btrace_ops; - - /* Token associated with a new-thread observer enabling branch tracing - for the new thread. */ --static const gdb::observers::token record_btrace_thread_observer_token; -+static const gdb::observers::token record_btrace_thread_observer_token = {}; - - /* Memory access types used in set/show record btrace replay-memory-access. */ - static const char replay_memory_access_read_only[] = "read-only"; -diff --git a/gdb/stap-probe.c b/gdb/stap-probe.c -index ed7e1a0d3f..42fad3835f 100644 ---- a/gdb/stap-probe.c -+++ b/gdb/stap-probe.c -@@ -119,7 +119,7 @@ public: - - /* SystemTap static_probe_ops. */ - --const stap_static_probe_ops stap_static_probe_ops; -+const stap_static_probe_ops stap_static_probe_ops = {}; - - class stap_probe : public probe - { -diff --git a/gdb/syscalls/arm-3ds.xml b/gdb/syscalls/arm-3ds.xml -new file mode 100644 -index 0000000000..48780b7bd5 ---- /dev/null -+++ b/gdb/syscalls/arm-3ds.xml -@@ -0,0 +1,159 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff --git a/gdb/tui/tui-hooks.c b/gdb/tui/tui-hooks.c -index efa02e2f08..1c341dcf47 100644 ---- a/gdb/tui/tui-hooks.c -+++ b/gdb/tui/tui-hooks.c -@@ -205,7 +205,7 @@ tui_normal_stop (struct bpstats *bs, int print_frame) - - /* Token associated with observers registered while TUI hooks are - installed. */ --static const gdb::observers::token tui_observers_token; -+static const gdb::observers::token tui_observers_token = {}; - - /* Attach or detach a single observer, according to ATTACH. */ - diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 5cf780a..77e7793 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -152,35 +152,3 @@ fi rm -fr $prefix/$target/sys-include cd $BUILDDIR - -#--------------------------------------------------------------------------------- -# build and install the debugger -#--------------------------------------------------------------------------------- -mkdir -p $target/gdb -cd $target/gdb - -PLATFORM=`uname -s` - -if [ ! -f configured-gdb ] -then - CPPFLAGS="$cppflags $CPPFLAGS" \ - LDFLAGS="$ldflags" \ - ../../gdb-$GDB_VER/configure \ - --disable-nls --prefix=$prefix --target=$target --disable-werror \ - $CROSS_PARAMS \ - || { echo "Error configuring gdb"; exit 1; } - touch configured-gdb -fi - -if [ ! -f built-gdb ] -then - $MAKE || { echo "Error building gdb"; exit 1; } - touch built-gdb -fi - -if [ ! -f installed-gdb ] -then - $MAKE install || { echo "Error installing gdb"; exit 1; } - touch installed-gdb -fi - From 6e8de1b1d2391bc3fe734e43061a906437f9be1c Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 30 Jun 2020 18:17:20 +0100 Subject: [PATCH 131/280] devkitARM: next release is 55 --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 5afeb14..c9e2640 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,7 +1,7 @@ #!/bin/bash #--------------------------------------------------------------------------------- -# devkitARM release 54 +# devkitARM release 55 # devkitPPC release 37 # devkitA64 release 16 #--------------------------------------------------------------------------------- From 5664d84c441faa7b1e20301f06e5f778810f1892 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 24 Jul 2020 16:26:40 +0100 Subject: [PATCH 132/280] devkitARM: update rules to 1.1.0 --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index c9e2640..c91eeed 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -28,7 +28,7 @@ echo -DKARM_RULES_VER=1.0.0 +DKARM_RULES_VER=1.1.0 DKARM_CRTLS_VER=1.0.0 DKPPC_RULES_VER=1.0.0 From 1f5f5eedf507798abd16640f54dcd5abfcfc1dba Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 25 Jul 2020 03:05:58 +0100 Subject: [PATCH 133/280] devkitARM: update gcc to 10.2.0 --- dkarm-eabi/patches/{gcc-10.1.0.patch => gcc-10.2.0.patch} | 0 select_toolchain.sh | 3 +-- 2 files changed, 1 insertion(+), 2 deletions(-) rename dkarm-eabi/patches/{gcc-10.1.0.patch => gcc-10.2.0.patch} (100%) diff --git a/dkarm-eabi/patches/gcc-10.1.0.patch b/dkarm-eabi/patches/gcc-10.2.0.patch similarity index 100% rename from dkarm-eabi/patches/gcc-10.1.0.patch rename to dkarm-eabi/patches/gcc-10.2.0.patch diff --git a/select_toolchain.sh b/select_toolchain.sh index b589c2b..cf2e945 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,10 +30,9 @@ done case "$VERSION" in "1" ) - GCC_VER=10.1.0 + GCC_VER=10.2.0 BINUTILS_VER=2.34 NEWLIB_VER=3.3.0 - GDB_VER=8.2.1 basedir='dkarm-eabi' package=devkitARM target=arm-none-eabi From 848924d332e4c11246a99a6c4f11c6bdb989e15d Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 25 Jul 2020 03:07:30 +0100 Subject: [PATCH 134/280] devkitARM: update rules to 1.2.0 --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index c91eeed..087f3a4 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -28,7 +28,7 @@ echo -DKARM_RULES_VER=1.1.0 +DKARM_RULES_VER=1.2.0 DKARM_CRTLS_VER=1.0.0 DKPPC_RULES_VER=1.0.0 From 502f832a5b4eb3871d847ac77328d11f855c92ee Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 25 Jul 2020 03:29:50 +0100 Subject: [PATCH 135/280] fixup rules archive downloading --- build-devkit.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 087f3a4..0d81082 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -185,7 +185,7 @@ archives="binutils-${BINUTILS_VER}.tar.xz gcc-${GCC_VER}.tar.xz newlib-${NEWLIB_ if [ $VERSION -eq 1 ]; then - archives="devkita64-rules-$DKA64_RULES_VER.tar.xz devkitarm-rules-$DKARM_RULES_VER.tar.xz devkitarm-crtls-$DKARM_CRTLS_VER.tar.xz $archives" + archives="devkitarm-rules-$DKARM_RULES_VER.tar.xz devkitarm-crtls-$DKARM_CRTLS_VER.tar.xz $archives" fi if [ $VERSION -eq 2 ]; then @@ -193,6 +193,10 @@ if [ $VERSION -eq 2 ]; then archives="binutils-${MN_BINUTILS_VER}.tar.bz2 devkitppc-rules-$DKPPC_RULES_VER.tar.xz $archives" fi +if [ $VERSION -eq 3 ]; then + + archives="devkita64-rules-$DKA64_RULES_VER.tar.xz $archives" +fi if [ ! -z "$BUILD_DKPRO_SRCDIR" ] ; then From ef789eddb72421c1b3774767c02ee519cb38fc9e Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 25 Jul 2020 03:38:58 +0100 Subject: [PATCH 136/280] don't download crtls & rules archives if not building them --- build-devkit.sh | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 0d81082..1442f5a 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -183,21 +183,23 @@ scriptdir=$(pwd)/$basedir/scripts archives="binutils-${BINUTILS_VER}.tar.xz gcc-${GCC_VER}.tar.xz newlib-${NEWLIB_VER}.tar.gz" -if [ $VERSION -eq 1 ]; then - - archives="devkitarm-rules-$DKARM_RULES_VER.tar.xz devkitarm-crtls-$DKARM_CRTLS_VER.tar.xz $archives" -fi - if [ $VERSION -eq 2 ]; then - - archives="binutils-${MN_BINUTILS_VER}.tar.bz2 devkitppc-rules-$DKPPC_RULES_VER.tar.xz $archives" + archives="binutils-${MN_BINUTILS_VER}.tar.bz2 $archives" fi -if [ $VERSION -eq 3 ]; then +if [ "$BUILD_DKPRO_SKIP_CRTLS" != "1" ]; then + if [ $VERSION -eq 1 ]; then + archives="devkitarm-rules-$DKARM_RULES_VER.tar.xz devkitarm-crtls-$DKARM_CRTLS_VER.tar.xz $archives" + fi - archives="devkita64-rules-$DKA64_RULES_VER.tar.xz $archives" -fi + if [ $VERSION -eq 2 ]; then + archives="devkitppc-rules-$DKPPC_RULES_VER.tar.xz $archives" + fi + if [ $VERSION -eq 3 ]; then + archives="devkita64-rules-$DKA64_RULES_VER.tar.xz $archives" + fi +fi if [ ! -z "$BUILD_DKPRO_SRCDIR" ] ; then SRCDIR="$BUILD_DKPRO_SRCDIR" From 60efdbd109af857571e554138cdcb820eeab53ac Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 25 Jul 2020 11:13:00 +0100 Subject: [PATCH 137/280] devkitPPC: stop building gdb here --- dkppc/scripts/build-gcc.sh | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index bca6635..1f10d7c 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -187,31 +187,3 @@ echo "installing linkscripts ..." cp $BUILDSCRIPTDIR/dkppc/crtls/*.ld $prefix/$target/lib/ cd $BUILDDIR - -#--------------------------------------------------------------------------------- -# build and install the debugger -#--------------------------------------------------------------------------------- -mkdir -p $target/gdb -cd $target/gdb - -if [ ! -f configured-gdb ] -then - CFLAGS="$cflags" LDFLAGS="$ldflags" ../../gdb-$GDB_VER/configure \ - --disable-nls --prefix=$prefix --target=$target --disable-werror \ - $CROSS_PARAMS \ - $CROSS_GCC_PARAMS || { echo "Error configuring gdb"; exit 1; } - touch configured-gdb -fi - -if [ ! -f built-gdb ] -then - $MAKE || { echo "Error building gdb"; exit 1; } - touch built-gdb -fi - -if [ ! -f installed-gdb ] -then - $MAKE install || { echo "Error installing gdb"; exit 1; } - touch installed-gdb -fi - From 953cf2a7617818506a1ca4f15e75f19037047662 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 25 Jul 2020 13:10:46 +0100 Subject: [PATCH 138/280] devkitPPC: update gcc to 10.2.0, next release is r38 --- build-devkit.sh | 2 +- .../{gcc-10.1.0.patch => gcc-10.2.0.patch} | 19 ++++++++++++++++--- dkppc/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 3 +-- 4 files changed, 19 insertions(+), 7 deletions(-) rename dkppc/patches/{gcc-10.1.0.patch => gcc-10.2.0.patch} (97%) diff --git a/build-devkit.sh b/build-devkit.sh index 1442f5a..6df608b 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,7 +2,7 @@ #!/bin/bash #--------------------------------------------------------------------------------- # devkitARM release 55 -# devkitPPC release 37 +# devkitPPC release 38 # devkitA64 release 16 #--------------------------------------------------------------------------------- diff --git a/dkppc/patches/gcc-10.1.0.patch b/dkppc/patches/gcc-10.2.0.patch similarity index 97% rename from dkppc/patches/gcc-10.1.0.patch rename to dkppc/patches/gcc-10.2.0.patch index feb51df..066fc8c 100644 --- a/dkppc/patches/gcc-10.1.0.patch +++ b/dkppc/patches/gcc-10.2.0.patch @@ -66,7 +66,7 @@ index 2e086f16de9..1c27c6467bc 100644 #define SIG_ATOMIC_TYPE "int" diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h -index 1adc371d70f..a7e1220981c 100644 +index 132ca20fd7d..119ee5bbc8c 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -196,6 +196,7 @@ ASM_OPT_ANY @@ -276,7 +276,7 @@ index b49ba261f3c..4eda763dfca 100644 Target RejectNegative Link with libyk.a, libc.a and crt0.o. diff --git a/gcc/configure b/gcc/configure -index cd3d9516fce..fcb4b206b60 100755 +index eb6061c1631..4c6e993ca3a 100755 --- a/gcc/configure +++ b/gcc/configure @@ -12208,7 +12208,7 @@ case ${enable_threads} in @@ -289,7 +289,7 @@ index cd3d9516fce..fcb4b206b60 100755 target_thread_file=${enable_threads} ;; diff --git a/gcc/configure.ac b/gcc/configure.ac -index 0de3b4bf97b..739aa4ae3da 100644 +index 715fcba0482..779743b69ee 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1800,7 +1800,7 @@ case ${enable_threads} in @@ -877,6 +877,19 @@ index 26bf75789e0..1f663d2cfb0 100755 gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; +diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c +index 3f769a1c660..e005d8304b7 100644 +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -325,7 +325,7 @@ register_tm_clones (void) + + #ifdef OBJECT_FORMAT_ELF + +-#if DEFAULT_USE_CXA_ATEXIT ++#if 1 /* DEFAULT_USE_CXA_ATEXIT */ + /* Declare the __dso_handle variable. It should have a unique value + in every shared-object; in a main program its value is zero. The + object should in any case be protected. This means the instance diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 9f9c5a2419a..c9bb6c548be 100755 --- a/libstdc++-v3/configure diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 1f10d7c..6265afb 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -97,7 +97,7 @@ then --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix\ --with-system-zlib\ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 37" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 38" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ diff --git a/select_toolchain.sh b/select_toolchain.sh index cf2e945..7b2777e 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -39,11 +39,10 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - GCC_VER=10.1.0 + GCC_VER=10.2.0 BINUTILS_VER=2.34 MN_BINUTILS_VER=2.17 NEWLIB_VER=3.3.0 - GDB_VER=8.2.1 basedir='dkppc' package=devkitPPC target=powerpc-eabi From 6a74f8361637781e766bf66ff7cb62be4879f0aa Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 25 Jul 2020 14:58:45 +0100 Subject: [PATCH 139/280] devkitPPC: use modern config.sub for mn10200 binutils --- dkppc/scripts/build-gcc.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 6265afb..9eeafc0 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -40,6 +40,9 @@ cd $BUILDDIR # build and install mn10200 binutils #--------------------------------------------------------------------------------- +# Use modern config.sub for aarch64 host +cp binutils-$BINUTILS_VER/config.sub binutils-$MN_BINUTILS_VER/config.sub + mkdir -p mn10200/binutils cd mn10200/binutils From 6015da5cabef8f7b656d3bfeeef6a80d1368983e Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 23 Jan 2021 20:09:13 +0000 Subject: [PATCH 140/280] devkitA64: update newlib to 4.1.0 --- build-devkit.sh | 2 +- ...{newlib-3.3.0.patch => newlib-4.1.0.patch} | 265 +++++++++--------- dka64/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 139 insertions(+), 132 deletions(-) rename dka64/patches/{newlib-3.3.0.patch => newlib-4.1.0.patch} (98%) diff --git a/build-devkit.sh b/build-devkit.sh index 6df608b..9cc88a0 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -3,7 +3,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 55 # devkitPPC release 38 -# devkitA64 release 16 +# devkitA64 release 17 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/patches/newlib-3.3.0.patch b/dka64/patches/newlib-4.1.0.patch similarity index 98% rename from dka64/patches/newlib-3.3.0.patch rename to dka64/patches/newlib-4.1.0.patch index 439b029..db3267e 100644 --- a/dka64/patches/newlib-3.3.0.patch +++ b/dka64/patches/newlib-4.1.0.patch @@ -1,8 +1,8 @@ diff --git a/libgloss/configure b/libgloss/configure -index 0d2918c..bccfb07 100755 +index 816b9c4b8..b79edb6c8 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -2604,6 +2604,8 @@ if test "${config_libnosys}" = "true"; then +@@ -2609,6 +2609,8 @@ if test "${config_libnosys}" = "true"; then fi @@ -12,7 +12,7 @@ index 0d2918c..bccfb07 100755 ac_config_commands="$ac_config_commands depfiles" diff --git a/libgloss/configure.in b/libgloss/configure.in -index f38d529..509c310 100644 +index 4111724e1..0e44d885e 100644 --- a/libgloss/configure.in +++ b/libgloss/configure.in @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. @@ -23,7 +23,7 @@ index f38d529..509c310 100644 if test "${enable_shared}" = "yes" ; then echo "Shared libraries not supported for cross compiling, ignored" -@@ -193,6 +194,7 @@ dnl fi +@@ -196,6 +197,7 @@ dnl fi if test "${config_libnosys}" = "true"; then AC_CONFIG_SUBDIRS([libnosys]) fi @@ -33,7 +33,7 @@ index f38d529..509c310 100644 AS=${AS-as} diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in new file mode 100644 -index 0000000..3db0c08 +index 000000000..3db0c08bc --- /dev/null +++ b/libgloss/libsysbase/Makefile.in @@ -0,0 +1,151 @@ @@ -190,7 +190,7 @@ index 0000000..3db0c08 + $(SHELL) config.status --recheck diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c new file mode 100644 -index 0000000..6effb11 +index 000000000..6effb1105 --- /dev/null +++ b/libgloss/libsysbase/_exit.c @@ -0,0 +1,17 @@ @@ -213,7 +213,7 @@ index 0000000..6effb11 +} diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c new file mode 100644 -index 0000000..9272e22 +index 000000000..9272e22c9 --- /dev/null +++ b/libgloss/libsysbase/abort.c @@ -0,0 +1,8 @@ @@ -227,7 +227,7 @@ index 0000000..9272e22 + diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h new file mode 100644 -index 0000000..200ea78 +index 000000000..200ea7873 --- /dev/null +++ b/libgloss/libsysbase/acconfig.h @@ -0,0 +1,29 @@ @@ -262,7 +262,7 @@ index 0000000..200ea78 +#undef __SYMBOL_PREFIX diff --git a/libgloss/libsysbase/aclocal.m4 b/libgloss/libsysbase/aclocal.m4 new file mode 100644 -index 0000000..b6cdfae +index 000000000..b6cdfaeb8 --- /dev/null +++ b/libgloss/libsysbase/aclocal.m4 @@ -0,0 +1,344 @@ @@ -612,7 +612,7 @@ index 0000000..b6cdfae +m4_include([../acinclude.m4]) diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c new file mode 100644 -index 0000000..b94f6a8 +index 000000000..b94f6a8b4 --- /dev/null +++ b/libgloss/libsysbase/chdir.c @@ -0,0 +1,200 @@ @@ -818,7 +818,7 @@ index 0000000..b94f6a8 +} diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c new file mode 100644 -index 0000000..3668b58 +index 000000000..3668b5801 --- /dev/null +++ b/libgloss/libsysbase/chmod.c @@ -0,0 +1,30 @@ @@ -854,7 +854,7 @@ index 0000000..3668b58 + diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c new file mode 100644 -index 0000000..b36b5c0 +index 000000000..b36b5c079 --- /dev/null +++ b/libgloss/libsysbase/clocks.c @@ -0,0 +1,34 @@ @@ -894,7 +894,7 @@ index 0000000..b36b5c0 + diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c new file mode 100644 -index 0000000..931ad07 +index 000000000..931ad07b1 --- /dev/null +++ b/libgloss/libsysbase/close.c @@ -0,0 +1,46 @@ @@ -946,7 +946,7 @@ index 0000000..931ad07 +} diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in new file mode 100644 -index 0000000..48ce950 +index 000000000..48ce950b4 --- /dev/null +++ b/libgloss/libsysbase/config.h.in @@ -0,0 +1,25 @@ @@ -977,7 +977,7 @@ index 0000000..48ce950 +#undef __SYMBOL_PREFIX diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure new file mode 100644 -index 0000000..aa653c2 +index 000000000..aa653c235 --- /dev/null +++ b/libgloss/libsysbase/configure @@ -0,0 +1,4160 @@ @@ -5143,7 +5143,7 @@ index 0000000..aa653c2 + diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in new file mode 100644 -index 0000000..da85a3f +index 000000000..da85a3f46 --- /dev/null +++ b/libgloss/libsysbase/configure.in @@ -0,0 +1,202 @@ @@ -5351,7 +5351,7 @@ index 0000000..da85a3f + diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c new file mode 100644 -index 0000000..7d1f454 +index 000000000..7d1f4545d --- /dev/null +++ b/libgloss/libsysbase/dirent.c @@ -0,0 +1,256 @@ @@ -5613,7 +5613,7 @@ index 0000000..7d1f454 +} diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c new file mode 100644 -index 0000000..1c485b2 +index 000000000..1c485b26f --- /dev/null +++ b/libgloss/libsysbase/environ.c @@ -0,0 +1,6 @@ @@ -5625,7 +5625,7 @@ index 0000000..1c485b2 +char **environ = __env; diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c new file mode 100644 -index 0000000..82e7013 +index 000000000..82e70139f --- /dev/null +++ b/libgloss/libsysbase/execve.c @@ -0,0 +1,30 @@ @@ -5661,7 +5661,7 @@ index 0000000..82e7013 + diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c new file mode 100644 -index 0000000..5c5831c +index 000000000..5c5831cdf --- /dev/null +++ b/libgloss/libsysbase/fchmod.c @@ -0,0 +1,31 @@ @@ -5698,7 +5698,7 @@ index 0000000..5c5831c +} diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c new file mode 100644 -index 0000000..c6b8c92 +index 000000000..c6b8c92ad --- /dev/null +++ b/libgloss/libsysbase/flock.c @@ -0,0 +1,21 @@ @@ -5725,7 +5725,7 @@ index 0000000..c6b8c92 +} diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c new file mode 100644 -index 0000000..893b662 +index 000000000..893b662ab --- /dev/null +++ b/libgloss/libsysbase/fnmatch.c @@ -0,0 +1,201 @@ @@ -5932,7 +5932,7 @@ index 0000000..893b662 +} diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c new file mode 100644 -index 0000000..efb6a34 +index 000000000..efb6a3496 --- /dev/null +++ b/libgloss/libsysbase/fork.c @@ -0,0 +1,21 @@ @@ -5959,7 +5959,7 @@ index 0000000..efb6a34 +} diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c new file mode 100644 -index 0000000..e32b067 +index 000000000..e32b06755 --- /dev/null +++ b/libgloss/libsysbase/fstat.c @@ -0,0 +1,44 @@ @@ -6009,7 +6009,7 @@ index 0000000..e32b067 +} diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c new file mode 100644 -index 0000000..fb06cb6 +index 000000000..fb06cb6d1 --- /dev/null +++ b/libgloss/libsysbase/fsync.c @@ -0,0 +1,34 @@ @@ -6049,7 +6049,7 @@ index 0000000..fb06cb6 +} diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c new file mode 100644 -index 0000000..2cc03a3 +index 000000000..2cc03a3d9 --- /dev/null +++ b/libgloss/libsysbase/ftruncate.c @@ -0,0 +1,34 @@ @@ -6089,7 +6089,7 @@ index 0000000..2cc03a3 +} diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c new file mode 100644 -index 0000000..fdce14b +index 000000000..fdce14b5f --- /dev/null +++ b/libgloss/libsysbase/getpid.c @@ -0,0 +1,19 @@ @@ -6114,7 +6114,7 @@ index 0000000..fdce14b + diff --git a/libgloss/libsysbase/getreent.c b/libgloss/libsysbase/getreent.c new file mode 100644 -index 0000000..a3f1e98 +index 000000000..a3f1e98a9 --- /dev/null +++ b/libgloss/libsysbase/getreent.c @@ -0,0 +1,20 @@ @@ -6140,7 +6140,7 @@ index 0000000..a3f1e98 + diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c new file mode 100644 -index 0000000..f18c59b +index 000000000..f18c59ba3 --- /dev/null +++ b/libgloss/libsysbase/gettod.c @@ -0,0 +1,34 @@ @@ -6180,7 +6180,7 @@ index 0000000..f18c59b + diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c new file mode 100644 -index 0000000..f3fcc88 +index 000000000..f3fcc88f7 --- /dev/null +++ b/libgloss/libsysbase/handle_manager.c @@ -0,0 +1,173 @@ @@ -6359,7 +6359,7 @@ index 0000000..f3fcc88 +} diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c new file mode 100644 -index 0000000..948c6ef +index 000000000..948c6ef93 --- /dev/null +++ b/libgloss/libsysbase/iosupport.c @@ -0,0 +1,140 @@ @@ -6505,7 +6505,7 @@ index 0000000..948c6ef + diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c new file mode 100644 -index 0000000..280a457 +index 000000000..280a4579a --- /dev/null +++ b/libgloss/libsysbase/isatty.c @@ -0,0 +1,17 @@ @@ -6528,7 +6528,7 @@ index 0000000..280a457 +} diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c new file mode 100644 -index 0000000..13bd0fb +index 000000000..13bd0fba1 --- /dev/null +++ b/libgloss/libsysbase/kill.c @@ -0,0 +1,21 @@ @@ -6555,7 +6555,7 @@ index 0000000..13bd0fb +} diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c new file mode 100644 -index 0000000..162f70f +index 000000000..162f70f63 --- /dev/null +++ b/libgloss/libsysbase/link.c @@ -0,0 +1,36 @@ @@ -6597,7 +6597,7 @@ index 0000000..162f70f + diff --git a/libgloss/libsysbase/locks.c b/libgloss/libsysbase/locks.c new file mode 100644 -index 0000000..c41d91f +index 000000000..c41d91ff9 --- /dev/null +++ b/libgloss/libsysbase/locks.c @@ -0,0 +1,158 @@ @@ -6761,7 +6761,7 @@ index 0000000..c41d91f + diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c new file mode 100644 -index 0000000..eb232c8 +index 000000000..eb232c86b --- /dev/null +++ b/libgloss/libsysbase/lseek.c @@ -0,0 +1,45 @@ @@ -6812,7 +6812,7 @@ index 0000000..eb232c8 +} diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c new file mode 100644 -index 0000000..fc39343 +index 000000000..fc393430b --- /dev/null +++ b/libgloss/libsysbase/lstat.c @@ -0,0 +1,31 @@ @@ -6849,7 +6849,7 @@ index 0000000..fc39343 + diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c new file mode 100644 -index 0000000..4565909 +index 000000000..456590956 --- /dev/null +++ b/libgloss/libsysbase/malloc_vars.c @@ -0,0 +1,2 @@ @@ -6857,7 +6857,7 @@ index 0000000..4565909 +char *fake_heap_start = (char*)0; diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c new file mode 100644 -index 0000000..19742b7 +index 000000000..19742b774 --- /dev/null +++ b/libgloss/libsysbase/mkdir.c @@ -0,0 +1,23 @@ @@ -6886,7 +6886,7 @@ index 0000000..19742b7 +} diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c new file mode 100644 -index 0000000..a233b9d +index 000000000..a233b9df6 --- /dev/null +++ b/libgloss/libsysbase/nanosleep.c @@ -0,0 +1,14 @@ @@ -6906,7 +6906,7 @@ index 0000000..a233b9d +} diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c new file mode 100644 -index 0000000..f8d98fd +index 000000000..f8d98fd3b --- /dev/null +++ b/libgloss/libsysbase/open.c @@ -0,0 +1,53 @@ @@ -6965,7 +6965,7 @@ index 0000000..f8d98fd +} diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c new file mode 100755 -index 0000000..ff84cd3 +index 000000000..ff84cd355 --- /dev/null +++ b/libgloss/libsysbase/pthread.c @@ -0,0 +1,1083 @@ @@ -8054,7 +8054,7 @@ index 0000000..ff84cd3 +} diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c new file mode 100644 -index 0000000..838a8c7 +index 000000000..838a8c796 --- /dev/null +++ b/libgloss/libsysbase/read.c @@ -0,0 +1,39 @@ @@ -8099,7 +8099,7 @@ index 0000000..838a8c7 + diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c new file mode 100644 -index 0000000..b54e0ce +index 000000000..b54e0ce7c --- /dev/null +++ b/libgloss/libsysbase/rename.c @@ -0,0 +1,37 @@ @@ -8142,7 +8142,7 @@ index 0000000..b54e0ce +} diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c new file mode 100644 -index 0000000..2692a29 +index 000000000..2692a2997 --- /dev/null +++ b/libgloss/libsysbase/rmdir.c @@ -0,0 +1,25 @@ @@ -8173,7 +8173,7 @@ index 0000000..2692a29 +} diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c new file mode 100644 -index 0000000..5dd550c +index 000000000..5dd550c5c --- /dev/null +++ b/libgloss/libsysbase/sbrk.c @@ -0,0 +1,60 @@ @@ -8239,7 +8239,7 @@ index 0000000..5dd550c +} diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c new file mode 100644 -index 0000000..5c673af +index 000000000..5c673af52 --- /dev/null +++ b/libgloss/libsysbase/scandir.c @@ -0,0 +1,76 @@ @@ -8321,7 +8321,7 @@ index 0000000..5c673af + diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c new file mode 100644 -index 0000000..f3aa979 +index 000000000..f3aa97954 --- /dev/null +++ b/libgloss/libsysbase/sleep.c @@ -0,0 +1,18 @@ @@ -8345,7 +8345,7 @@ index 0000000..f3aa979 +} diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c new file mode 100644 -index 0000000..d0ad002 +index 000000000..d0ad00202 --- /dev/null +++ b/libgloss/libsysbase/stat.c @@ -0,0 +1,38 @@ @@ -8389,7 +8389,7 @@ index 0000000..d0ad002 + diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c new file mode 100644 -index 0000000..84e2213 +index 000000000..84e221340 --- /dev/null +++ b/libgloss/libsysbase/statvfs.c @@ -0,0 +1,24 @@ @@ -8419,7 +8419,7 @@ index 0000000..84e2213 +} diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c new file mode 100644 -index 0000000..79484e7 +index 000000000..79484e7f4 --- /dev/null +++ b/libgloss/libsysbase/times.c @@ -0,0 +1,17 @@ @@ -8442,7 +8442,7 @@ index 0000000..79484e7 + diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c new file mode 100644 -index 0000000..8495259 +index 000000000..849525990 --- /dev/null +++ b/libgloss/libsysbase/truncate.c @@ -0,0 +1,54 @@ @@ -8502,7 +8502,7 @@ index 0000000..8495259 +} diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c new file mode 100644 -index 0000000..7920b79 +index 000000000..7920b79ac --- /dev/null +++ b/libgloss/libsysbase/unlink.c @@ -0,0 +1,34 @@ @@ -8542,7 +8542,7 @@ index 0000000..7920b79 + diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c new file mode 100644 -index 0000000..b547147 +index 000000000..b54714775 --- /dev/null +++ b/libgloss/libsysbase/usleep.c @@ -0,0 +1,18 @@ @@ -8566,7 +8566,7 @@ index 0000000..b547147 +} diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c new file mode 100644 -index 0000000..f72bf9f +index 000000000..f72bf9fc6 --- /dev/null +++ b/libgloss/libsysbase/utime.c @@ -0,0 +1,45 @@ @@ -8617,7 +8617,7 @@ index 0000000..f72bf9f +} diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c new file mode 100644 -index 0000000..247486e +index 000000000..247486e42 --- /dev/null +++ b/libgloss/libsysbase/wait.c @@ -0,0 +1,24 @@ @@ -8647,7 +8647,7 @@ index 0000000..247486e + diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h new file mode 100644 -index 0000000..2c29982 +index 000000000..2c2998250 --- /dev/null +++ b/libgloss/libsysbase/warning.h @@ -0,0 +1,43 @@ @@ -8696,7 +8696,7 @@ index 0000000..2c29982 +#endif /* __WARNING_H__ */ diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c new file mode 100644 -index 0000000..61de918 +index 000000000..61de918bc --- /dev/null +++ b/libgloss/libsysbase/write.c @@ -0,0 +1,38 @@ @@ -8739,10 +8739,10 @@ index 0000000..61de918 + return ret; +} diff --git a/newlib/configure.host b/newlib/configure.host -index a84c0c8..aa9ea05 100644 +index 1ddbb6c76..f096346dc 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -680,13 +680,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -687,13 +687,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID syscall_dir=syscalls ;; aarch64*-*-*) @@ -8768,8 +8768,34 @@ index a84c0c8..aa9ea05 100644 arm*-*-pe) syscall_dir=syscalls ;; +diff --git a/newlib/libc/ctype/jp2uc.c b/newlib/libc/ctype/jp2uc.c +index 5e30f09be..1ea357f92 100644 +--- a/newlib/libc/ctype/jp2uc.c ++++ b/newlib/libc/ctype/jp2uc.c +@@ -35,7 +35,7 @@ + #ifdef _MB_CAPABLE + /* Under Cygwin, the incoming wide character is already given in UTF due + to the requirements of the underlying OS. */ +-#ifndef __CYGWIN__ ++#if !defined(__CYGWIN__) && !defined(__DEVKITA64__) + + #include <_ansi.h> + #include +diff --git a/newlib/libc/ctype/local.h b/newlib/libc/ctype/local.h +index 5c293c83d..75ccf89f5 100644 +--- a/newlib/libc/ctype/local.h ++++ b/newlib/libc/ctype/local.h +@@ -32,7 +32,7 @@ + * for towupper and towlower, the result must be back-transformed + into the respective locale encoding; currently NOT IMPLEMENTED + */ +-#ifdef __CYGWIN__ ++#if defined(__CYGWIN__) || defined(__DEVKITA64__) + /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ + #define _jp2uc(c) (c) + #define _jp2uc_l(c, l) (c) diff --git a/newlib/libc/include/fnmatch.h b/newlib/libc/include/fnmatch.h -index a94e923..9171e98 100644 +index a94e923a4..9171e98aa 100644 --- a/newlib/libc/include/fnmatch.h +++ b/newlib/libc/include/fnmatch.h @@ -44,6 +44,7 @@ @@ -8782,7 +8808,7 @@ index a94e923..9171e98 100644 #endif diff --git a/newlib/libc/include/machine/_threads.h b/newlib/libc/include/machine/_threads.h new file mode 100755 -index 0000000..a71a5d8 +index 000000000..a71a5d847 --- /dev/null +++ b/newlib/libc/include/machine/_threads.h @@ -0,0 +1,44 @@ @@ -8831,10 +8857,10 @@ index 0000000..a71a5d8 + +#endif diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h -index 1efc5b9..91a8d74 100644 +index ba1a8a17e..f521cad89 100644 --- a/newlib/libc/include/math.h +++ b/newlib/libc/include/math.h -@@ -416,7 +416,7 @@ extern float hypotf (float, float); +@@ -426,7 +426,7 @@ extern float hypotf (float, float); simply call the double functions. On Cygwin the long double functions are implemented independently from newlib to be able to use optimized assembler functions despite using the Microsoft x86_64 ABI. */ @@ -8845,7 +8871,7 @@ index 1efc5b9..91a8d74 100644 extern long double atanl (long double); diff --git a/newlib/libc/include/semaphore.h b/newlib/libc/include/semaphore.h new file mode 100755 -index 0000000..4afb0e4 +index 000000000..4afb0e419 --- /dev/null +++ b/newlib/libc/include/semaphore.h @@ -0,0 +1,69 @@ @@ -8919,7 +8945,7 @@ index 0000000..4afb0e4 + +#endif /* !_SEMAPHORE_H_ */ diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h -index 75e9e1c..dc63dbe 100644 +index 75e9e1cbf..dc63dbe6a 100644 --- a/newlib/libc/include/sys/_pthreadtypes.h +++ b/newlib/libc/include/sys/_pthreadtypes.h @@ -18,19 +18,18 @@ @@ -9092,7 +9118,7 @@ index 75e9e1c..dc63dbe 100644 int process_shared; /* allow this to be shared amongst processes */ #endif diff --git a/newlib/libc/include/sys/_timespec.h b/newlib/libc/include/sys/_timespec.h -index f810b00..ca7e11d 100644 +index f810b008f..ca7e11dc7 100644 --- a/newlib/libc/include/sys/_timespec.h +++ b/newlib/libc/include/sys/_timespec.h @@ -49,4 +49,10 @@ struct timespec { @@ -9107,7 +9133,7 @@ index f810b00..ca7e11d 100644 + #endif /* !_SYS__TIMESPEC_H_ */ diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index d746b15..80169d9 100644 +index 4bc8d29bf..35c05e6af 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h @@ -4,6 +4,9 @@ @@ -9121,7 +9147,7 @@ index d746b15..80169d9 100644 #define MALLOC_ALIGNMENT 16 #endif diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c0..b208de4 100644 +index a3fb5c02c..b208de4a7 100644 --- a/newlib/libc/include/sys/dirent.h +++ b/newlib/libc/include/sys/dirent.h @@ -1,13 +1,60 @@ @@ -9189,7 +9215,7 @@ index a3fb5c0..b208de4 100644 + +#endif // _dirent_h_ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 2188071..93294ad 100644 +index 218807178..93294ad2e 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h @@ -330,6 +330,16 @@ extern "C" { @@ -9211,7 +9237,7 @@ index 2188071..93294ad 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 0000000..82d2e35 +index 000000000..82d2e3576 --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h @@ -0,0 +1,126 @@ @@ -9342,7 +9368,7 @@ index 0000000..82d2e35 +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- diff --git a/newlib/libc/include/sys/lock.h b/newlib/libc/include/sys/lock.h -index 5289049..2c3e64f 100644 +index 528904957..2c3e64f1b 100644 --- a/newlib/libc/include/sys/lock.h +++ b/newlib/libc/include/sys/lock.h @@ -1,69 +1,105 @@ @@ -9502,7 +9528,7 @@ index 5289049..2c3e64f 100644 -#endif /* __SYS_LOCK_H__ */ +#endif // __SYS_LOCK_H__ diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h -index 9a6f115..fdd6cf9 100644 +index 9a6f115a6..fdd6cf92b 100644 --- a/newlib/libc/include/sys/param.h +++ b/newlib/libc/include/sys/param.h @@ -23,7 +23,7 @@ @@ -9515,7 +9541,7 @@ index 9a6f115..fdd6cf9 100644 #define MAX(a,b) ((a) > (b) ? (a) : (b)) #define MIN(a,b) ((a) < (b) ? (a) : (b)) diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 74b70e9..d8c5410 100644 +index 74b70e9c0..d8c5410ec 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -421,6 +421,8 @@ struct _reent @@ -9536,7 +9562,7 @@ index 74b70e9..d8c5410 100644 #ifdef _REENT_GLOBAL_STDIO_STREAMS diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index 8769112..5526e59 100644 +index 8769112b0..5526e59ee 100644 --- a/newlib/libc/include/sys/stat.h +++ b/newlib/libc/include/sys/stat.h @@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); @@ -9552,7 +9578,7 @@ index 8769112..5526e59 100644 diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h new file mode 100644 -index 0000000..380329d +index 000000000..380329d34 --- /dev/null +++ b/newlib/libc/include/sys/statvfs.h @@ -0,0 +1,35 @@ @@ -9593,10 +9619,10 @@ index 0000000..380329d +#endif // _SYS_STATVFS_H \ No newline at end of file diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h -index ba9dbd6..49c213c 100644 +index c872d2018..b3800187f 100644 --- a/newlib/libc/include/sys/syslimits.h +++ b/newlib/libc/include/sys/syslimits.h -@@ -62,4 +62,6 @@ +@@ -58,4 +58,6 @@ #define LINE_MAX 2048 /* max bytes in an input line */ #define RE_DUP_MAX 255 /* max RE's in interval notation */ @@ -9604,7 +9630,7 @@ index ba9dbd6..49c213c 100644 + #endif diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h -index 5e937f1..635a7a6 100644 +index 5e937f103..635a7a6b8 100644 --- a/newlib/libc/include/sys/utime.h +++ b/newlib/libc/include/sys/utime.h @@ -9,12 +9,19 @@ @@ -9630,7 +9656,7 @@ index 5e937f1..635a7a6 100644 }; #endif diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index 4c343e4..c044934 100644 +index 968642745..2ab1f9570 100644 --- a/newlib/libc/locale/locale.c +++ b/newlib/libc/locale/locale.c @@ -92,7 +92,7 @@ beginning with <<"LC_">>. @@ -9742,7 +9768,7 @@ index 4c343e4..c044934 100644 if (strcmp (locale, "POSIX") && strcmp (locale, "C") && strcmp (locale, "")) return NULL; -@@ -990,6 +1015,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) +@@ -991,6 +1016,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) const char * __locale_ctype_ptr (void) @@ -9751,7 +9777,7 @@ index 4c343e4..c044934 100644 return __get_current_locale ()->ctype_ptr; } diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h -index a0c8084..efabdcf 100644 +index a0c80843a..efabdcfc4 100644 --- a/newlib/libc/locale/setlocale.h +++ b/newlib/libc/locale/setlocale.h @@ -217,11 +217,7 @@ __get_global_locale () @@ -9779,7 +9805,7 @@ index a0c8084..efabdcf 100644 /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE diff --git a/newlib/libc/machine/aarch64/Makefile.am b/newlib/libc/machine/aarch64/Makefile.am -index e8b8197..011f69d 100644 +index e8b8197fa..011f69d69 100644 --- a/newlib/libc/machine/aarch64/Makefile.am +++ b/newlib/libc/machine/aarch64/Makefile.am @@ -9,6 +9,7 @@ AM_CCASFLAGS = $(INCLUDES) @@ -9791,7 +9817,7 @@ index e8b8197..011f69d 100644 lib_a_SOURCES += memchr.S lib_a_SOURCES += memcmp-stub.c diff --git a/newlib/libc/machine/aarch64/Makefile.in b/newlib/libc/machine/aarch64/Makefile.in -index 39b23a1..9695124 100644 +index 39b23a1ce..969512471 100644 --- a/newlib/libc/machine/aarch64/Makefile.in +++ b/newlib/libc/machine/aarch64/Makefile.in @@ -69,22 +69,22 @@ LIBRARIES = $(noinst_LIBRARIES) @@ -9857,7 +9883,7 @@ index 39b23a1..9695124 100644 diff --git a/newlib/libc/machine/aarch64/access.c b/newlib/libc/machine/aarch64/access.c new file mode 100644 -index 0000000..980682e +index 000000000..980682ef3 --- /dev/null +++ b/newlib/libc/machine/aarch64/access.c @@ -0,0 +1,33 @@ @@ -9895,7 +9921,7 @@ index 0000000..980682e +} + diff --git a/newlib/libc/machine/arm/Makefile.am b/newlib/libc/machine/arm/Makefile.am -index 9bd35e7..7311300 100644 +index 9bd35e733..731130092 100644 --- a/newlib/libc/machine/arm/Makefile.am +++ b/newlib/libc/machine/arm/Makefile.am @@ -11,7 +11,9 @@ noinst_LIBRARIES = lib.a @@ -9910,7 +9936,7 @@ index 9bd35e7..7311300 100644 lib_a_SOURCES += memchr.S lib_a_SOURCES += memcpy-stub.c diff --git a/newlib/libc/machine/arm/Makefile.in b/newlib/libc/machine/arm/Makefile.in -index d9dbcd5..43712f8 100644 +index d9dbcd5c3..43712f813 100644 --- a/newlib/libc/machine/arm/Makefile.in +++ b/newlib/libc/machine/arm/Makefile.in @@ -75,10 +75,10 @@ am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ @@ -9954,7 +9980,7 @@ index d9dbcd5..43712f8 100644 diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c new file mode 100644 -index 0000000..3acc9e0 +index 000000000..3acc9e094 --- /dev/null +++ b/newlib/libc/machine/arm/sync_synchronize.c @@ -0,0 +1,10 @@ @@ -9970,7 +9996,7 @@ index 0000000..3acc9e0 +#endif diff --git a/newlib/libc/machine/arm/sys/stdio.h b/newlib/libc/machine/arm/sys/stdio.h new file mode 100644 -index 0000000..4eb278e +index 000000000..4eb278e2f --- /dev/null +++ b/newlib/libc/machine/arm/sys/stdio.h @@ -0,0 +1,27 @@ @@ -10002,7 +10028,7 @@ index 0000000..4eb278e + +#endif /* _NEWLIB_STDIO_H */ diff --git a/newlib/libc/reent/getreent.c b/newlib/libc/reent/getreent.c -index 5fa98e9..ef8a15e 100644 +index 5fa98e96b..ef8a15e1b 100644 --- a/newlib/libc/reent/getreent.c +++ b/newlib/libc/reent/getreent.c @@ -1,3 +1,4 @@ @@ -10017,7 +10043,7 @@ index 5fa98e9..ef8a15e 100644 +#endif \ No newline at end of file diff --git a/newlib/libc/reent/gettimeofdayr.c b/newlib/libc/reent/gettimeofdayr.c -index 9b982a9..8c0aaac 100644 +index 9b982a993..8c0aaac8c 100644 --- a/newlib/libc/reent/gettimeofdayr.c +++ b/newlib/libc/reent/gettimeofdayr.c @@ -51,7 +51,7 @@ DESCRIPTION @@ -10037,7 +10063,7 @@ index 9b982a9..8c0aaac 100644 +*/ #endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */ diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index b358d2b..11c2343 100644 +index df8321461..55ceaab42 100644 --- a/newlib/libc/stdio/fread.c +++ b/newlib/libc/stdio/fread.c @@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, @@ -10101,7 +10127,7 @@ index b358d2b..11c2343 100644 /* no more input: return partial result */ #ifdef __SCLE diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h -index 53694aa..79a8f46 100644 +index 84ff40b49..ba1d4ee7b 100644 --- a/newlib/libc/stdio/local.h +++ b/newlib/libc/stdio/local.h @@ -56,7 +56,7 @@ @@ -10114,10 +10140,10 @@ index 53694aa..79a8f46 100644 #endif diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index c4bf2db..d756df3 100644 +index 1aaf05aa4..b67182a79 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c -@@ -112,6 +112,8 @@ Supporting OS subroutines required: <>, <>, <>, +@@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, <>, <>, <>, <>. */ @@ -10126,7 +10152,7 @@ index c4bf2db..d756df3 100644 #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ static char *rcsid = "$Id$"; -@@ -1438,7 +1440,7 @@ reswitch: switch (ch) { +@@ -1434,7 +1436,7 @@ reswitch: switch (ch) { string: #endif sign = '\0'; @@ -10135,7 +10161,7 @@ index c4bf2db..d756df3 100644 /* Behavior is undefined if the user passed a NULL string when precision is not 0. However, if we are not optimizing for size, -@@ -1448,7 +1450,7 @@ string: +@@ -1444,7 +1446,7 @@ string: size = ((unsigned) prec > 6U) ? 6 : prec; } else @@ -10145,7 +10171,7 @@ index c4bf2db..d756df3 100644 if (ch == 'S' || (flags & LONGINT)) { mbstate_t ps; diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index 9c38eeb..fbc8d87 100644 +index 994cee7fc..5d1d0a1cd 100644 --- a/newlib/libc/stdio/vfscanf.c +++ b/newlib/libc/stdio/vfscanf.c @@ -74,6 +74,8 @@ These are GNU extensions. @@ -10158,7 +10184,7 @@ index 9c38eeb..fbc8d87 100644 #include #include diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c -index 980b31e..722be90 100644 +index 980b31e3b..722be905e 100644 --- a/newlib/libc/stdio/vfwprintf.c +++ b/newlib/libc/stdio/vfwprintf.c @@ -92,6 +92,9 @@ SEEALSO @@ -10172,7 +10198,7 @@ index 980b31e..722be90 100644 #ifdef INTEGER_ONLY diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index ffb6cc8..db33d4f 100644 +index f00d41a09..7e290ee8d 100644 --- a/newlib/libc/stdio/vfwscanf.c +++ b/newlib/libc/stdio/vfwscanf.c @@ -74,6 +74,9 @@ PORTABILITY @@ -10186,7 +10212,7 @@ index ffb6cc8..db33d4f 100644 #include #include diff --git a/newlib/libc/stdlib/Makefile.am b/newlib/libc/stdlib/Makefile.am -index 357e37b..7183b21 100644 +index 357e37beb..7183b2100 100644 --- a/newlib/libc/stdlib/Makefile.am +++ b/newlib/libc/stdlib/Makefile.am @@ -110,6 +110,7 @@ MALLOCR=mallocr @@ -10198,7 +10224,7 @@ index 357e37b..7183b21 100644 arc4random_uniform.c \ cxa_atexit.c \ diff --git a/newlib/libc/stdlib/Makefile.in b/newlib/libc/stdlib/Makefile.in -index 699831f..1e6d2e6 100644 +index 699831f13..1e6d2e612 100644 --- a/newlib/libc/stdlib/Makefile.in +++ b/newlib/libc/stdlib/Makefile.in @@ -119,7 +119,7 @@ am__objects_2 = lib_a-__adjust.$(OBJEXT) lib_a-__atexit.$(OBJEXT) \ @@ -10233,39 +10259,20 @@ index 699831f..1e6d2e6 100644 $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-arc4random.o `test -f 'arc4random.c' || echo '$(srcdir)/'`arc4random.c diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c -index 88413ce..24029a6 100644 +index feb22c24b..3dae0c9a9 100644 --- a/newlib/libc/stdlib/aligned_alloc.c +++ b/newlib/libc/stdlib/aligned_alloc.c -@@ -1,5 +1,5 @@ - /*- -- * Copyright (c) 2015 embedded brains GmbH -+ * Copyright (c) 2018 Dave Murphy - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without -@@ -25,14 +25,15 @@ - */ +@@ -28,6 +28,8 @@ + #include #include +#include +#include void * - aligned_alloc(size_t alignment, size_t size) - { -- void *p; -- int error; -+ if ((alignment !=0) && !(alignment & (alignment - 1 )) && !(size & (alignment - 1))) -+ return memalign(alignment,size); - -- error = posix_memalign(&p, alignment, size); -- -- return (error == 0 ? p : NULL); -+ errno = EINVAL; -+ return (void*)NULL; - } + aligned_alloc (size_t align, size_t size) diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c -index 920a7ea..ba5ee76 100644 +index 920a7ea3c..ba5ee7652 100644 --- a/newlib/libc/stdlib/mbtowc_r.c +++ b/newlib/libc/stdlib/mbtowc_r.c @@ -7,6 +7,7 @@ @@ -10278,7 +10285,7 @@ index 920a7ea..ba5ee76 100644 wchar_t *__restrict pwc, diff --git a/newlib/libc/stdlib/threads.c b/newlib/libc/stdlib/threads.c new file mode 100755 -index 0000000..741111e +index 000000000..741111ea0 --- /dev/null +++ b/newlib/libc/stdlib/threads.c @@ -0,0 +1,224 @@ @@ -10508,7 +10515,7 @@ index 0000000..741111e +} diff --git a/newlib/libc/sys/arm/include/machine/_types.h b/newlib/libc/sys/arm/include/machine/_types.h new file mode 100644 -index 0000000..40092f9 +index 000000000..40092f99f --- /dev/null +++ b/newlib/libc/sys/arm/include/machine/_types.h @@ -0,0 +1,19 @@ @@ -10533,7 +10540,7 @@ index 0000000..40092f9 + diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h new file mode 100644 -index 0000000..567fed5 +index 000000000..567fed56b --- /dev/null +++ b/newlib/libc/sys/arm/sys/lock.h @@ -0,0 +1,66 @@ diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 8ca58a2..8d863bf 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -66,7 +66,7 @@ then --with-system-zlib \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 16" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 17" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } diff --git a/select_toolchain.sh b/select_toolchain.sh index 7b2777e..e3e512d 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -51,7 +51,7 @@ case "$VERSION" in "3" ) GCC_VER=10.2.0 BINUTILS_VER=2.32 - NEWLIB_VER=3.3.0 + NEWLIB_VER=4.1.0 basedir='dka64' package=devkitA64 target=aarch64-none-elf From a9b611e134338e590ed2182d557045642b5cab9c Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 26 Apr 2021 00:13:08 +0100 Subject: [PATCH 141/280] dlls no longer required --- build-devkit.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 9cc88a0..860fe7c 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -238,11 +238,6 @@ fi cd $BUILDSCRIPTDIR -if [ ! -z $CROSSBUILD ] && grep -q "mingw" <<<"$CROSSBUILD" ; then - cp -v $CROSSBINPATH/libwinpthread-1.dll $prefix/bin/ - cp -v $CROSSBINPATH/libwinpthread-1.dll $prefix/libexec/gcc/$target/$GCC_VER/ -fi - echo "stripping installed binaries" . ./strip_bins.sh From a87f68d4ddc140d8bfecf15cbef7078c8d21dcb3 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 27 Apr 2021 16:45:17 +0100 Subject: [PATCH 142/280] devkitA64: update gcc to 11.1.0 --- .../{gcc-10.2.0.patch => gcc-11.1.0.patch} | 211 ++++++++++++------ select_toolchain.sh | 2 +- 2 files changed, 149 insertions(+), 64 deletions(-) rename dka64/patches/{gcc-10.2.0.patch => gcc-11.1.0.patch} (67%) diff --git a/dka64/patches/gcc-10.2.0.patch b/dka64/patches/gcc-11.1.0.patch similarity index 67% rename from dka64/patches/gcc-10.2.0.patch rename to dka64/patches/gcc-11.1.0.patch index 05f633b..077314a 100644 --- a/dka64/patches/gcc-10.2.0.patch +++ b/dka64/patches/gcc-11.1.0.patch @@ -1,8 +1,8 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc -index 6a349965c0a..2206091e057 100644 +index 357b0bed067..6b1e254785a 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc -@@ -1039,7 +1039,14 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) +@@ -1090,7 +1090,14 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) tmake_file="${tmake_file} aarch64/t-aarch64" case $target in aarch64-*-elf*) @@ -17,8 +17,23 @@ index 6a349965c0a..2206091e057 100644 ;; aarch64-*-fuchsia*) tm_file="${tm_file} fuchsia.h" +diff --git a/gcc/config.host b/gcc/config.host +index 0a02c33cc80..38f7adc655e 100644 +--- a/gcc/config.host ++++ b/gcc/config.host +@@ -251,6 +251,10 @@ case ${host} in + host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o" + host_lto_plugin_soname=liblto_plugin.dll + ;; ++ aarch64-*-darwin*) ++ out_host_hook_obj="${out_host_hook_obj} host-aarch64-darwin.o" ++ host_xmake_file="${host_xmake_file} aarch64/x-darwin" ++ ;; + i[34567]86-*-darwin* | x86_64-*-darwin*) + out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o" + host_xmake_file="${host_xmake_file} i386/x-darwin" diff --git a/gcc/config/aarch64/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h -index da5872cf4d8..ca840ab29cb 100644 +index e986149e400..9264d53f32c 100644 --- a/gcc/config/aarch64/aarch64-elf-raw.h +++ b/gcc/config/aarch64/aarch64-elf-raw.h @@ -22,6 +22,7 @@ @@ -30,7 +45,7 @@ index da5872cf4d8..ca840ab29cb 100644 #define ENDFILE_SPEC \ " crtend%O%s crtn%O%s " \ diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h -index ee7bed34924..d1e2742d750 100644 +index af3b7364a74..6df7a0dc8a1 100644 --- a/gcc/config/aarch64/aarch64-opts.h +++ b/gcc/config/aarch64/aarch64-opts.h @@ -48,6 +48,12 @@ enum aarch64_tls_type { @@ -47,10 +62,10 @@ index ee7bed34924..d1e2742d750 100644 Most have a PIC and non-PIC variant. */ enum aarch64_code_model { diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c -index b86434a6acf..389e3fe3910 100644 +index 12625a4bee3..4353e2658a1 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c -@@ -15983,8 +15983,24 @@ aarch64_load_tp (rtx target) +@@ -18053,8 +18053,24 @@ aarch64_load_tp (rtx target) || !register_operand (target, Pmode)) target = gen_reg_rtx (Pmode); @@ -78,10 +93,10 @@ index b86434a6acf..389e3fe3910 100644 } diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h -index 1ce23c68781..57216651648 100644 +index bfffbcd6abf..814de8c2918 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h -@@ -1134,6 +1134,10 @@ typedef struct +@@ -1191,6 +1191,10 @@ typedef struct /* Check TLS Descriptors mechanism is selected. */ #define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS) @@ -92,11 +107,20 @@ index 1ce23c68781..57216651648 100644 extern enum aarch64_code_model aarch64_cmodel; /* When using the tiny addressing model conditional and unconditional branches +@@ -1236,7 +1240,7 @@ extern const char *aarch64_rewrite_mcpu (int argc, const char **argv); + #define MCPU_TO_MARCH_SPEC_FUNCTIONS \ + { "rewrite_mcpu", aarch64_rewrite_mcpu }, + +-#if defined(__aarch64__) ++#if 0 // defined(__aarch64__) + extern const char *host_detect_local_cpu (int argc, const char **argv); + #define HAVE_LOCAL_CPU_DETECT + # define EXTRA_SPEC_FUNCTIONS \ diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md -index 8c8be3c2740..1257616a659 100644 +index abfd8452674..8b9f4423adb 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md -@@ -6789,11 +6789,22 @@ +@@ -6771,11 +6771,22 @@ (define_insn "aarch64_load_tp_hard" [(set (match_operand:DI 0 "register_operand" "=r") (unspec:DI [(const_int 0)] UNSPEC_TLS))] @@ -122,10 +146,10 @@ index 8c8be3c2740..1257616a659 100644 ;; instructions in the TLS stubs, in order to enable linker relaxation. ;; Therefore we treat the stubs as an atomic sequence. diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt -index d99d14c137d..08e52537dc6 100644 +index 32191cf1acf..49b03937bdd 100644 --- a/gcc/config/aarch64/aarch64.opt +++ b/gcc/config/aarch64/aarch64.opt -@@ -118,6 +118,21 @@ Enum(aarch64_tls_size) String(32) Value(32) +@@ -122,6 +122,21 @@ Enum(aarch64_tls_size) String(32) Value(32) EnumValue Enum(aarch64_tls_size) String(48) Value(48) @@ -147,21 +171,59 @@ index d99d14c137d..08e52537dc6 100644 march= Target RejectNegative Negative(march=) ToLower Joined Var(aarch64_arch_string) Use features of architecture ARCH. -@@ -256,7 +271,7 @@ TargetVariable +@@ -260,7 +275,7 @@ TargetVariable long aarch64_stack_protector_guard_offset = 0 moutline-atomics --Target Report Var(aarch64_flag_outline_atomics) Init(2) Save -+Target Report Var(aarch64_flag_outline_atomics) Save +-Target Var(aarch64_flag_outline_atomics) Init(2) Save ++Target Var(aarch64_flag_outline_atomics) Save Generate local calls to out-of-line atomic operations. -param=aarch64-sve-compare-costs= +diff --git a/gcc/config/aarch64/host-aarch64-darwin.c b/gcc/config/aarch64/host-aarch64-darwin.c +new file mode 100644 +index 00000000000..92c38b0b9db +--- /dev/null ++++ b/gcc/config/aarch64/host-aarch64-darwin.c +@@ -0,0 +1,32 @@ ++/* i386-darwin host-specific hook definitions. ++ Copyright (C) 2003-2021 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 ++. */ ++ ++#define IN_TARGET_CODE 1 ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "hosthooks.h" ++#include "hosthooks-def.h" ++#include "config/host-darwin.h" ++ ++/* Darwin doesn't do anything special for aarch64 hosts; this file exists just ++ to include config/host-darwin.h. */ ++ ++const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER; diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64 -index 11d20b7be14..02ca761d3bf 100644 +index 7e1606c47ac..3b650075724 100644 --- a/gcc/config/aarch64/t-aarch64 +++ b/gcc/config/aarch64/t-aarch64 -@@ -159,8 +159,10 @@ aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.c \ - $(srcdir)/config/aarch64/aarch64-bti-insert.c +@@ -165,8 +165,10 @@ aarch64-cc-fusion.o: $(srcdir)/config/aarch64/aarch64-cc-fusion.cc \ + $(srcdir)/config/aarch64/aarch64-cc-fusion.cc comma=, -MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG)))) @@ -173,6 +235,15 @@ index 11d20b7be14..02ca761d3bf 100644 insn-conditions.md: s-check-sve-md s-check-sve-md: $(srcdir)/config/aarch64/check-sve-md.awk \ +diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin +new file mode 100644 +index 00000000000..6d788d5e89c +--- /dev/null ++++ b/gcc/config/aarch64/x-darwin +@@ -0,0 +1,3 @@ ++host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c ++ $(COMPILE) $< ++ $(POSTCOMPILE) diff --git a/gcc/config/devkitpro.h b/gcc/config/devkitpro.h new file mode 100644 index 00000000000..11ba0f5ab1c @@ -246,52 +317,26 @@ index 00000000000..9acbbf9d27c + +; This comment is to ensure we retain the blank line above. diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c -index 250fef59b55..36b2239aa5d 100644 +index 360a280b23a..2c03947999a 100644 --- a/gcc/config/i386/host-mingw32.c +++ b/gcc/config/i386/host-mingw32.c -@@ -44,9 +44,6 @@ static size_t mingw32_gt_pch_alloc_granularity (void); - +@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void); static inline void w32_error(const char*, const char*, int, const char*); --/* FIXME: Is this big enough? */ --static const size_t pch_VA_max_size = 128 * 1024 * 1024; -- + /* FIXME: Is this big enough? */ ++#if __MINGW64__ ++static const size_t pch_VA_max_size = UINT64_C(64 * 1024 * 1024 * 1024); ++#else + static const size_t pch_VA_max_size = 128 * 1024 * 1024; ++#endif + /* Granularity for reserving address space. */ static size_t va_granularity = 0x10000; - -@@ -88,9 +85,6 @@ static void * - mingw32_gt_pch_get_address (size_t size, int) - { - void* res; -- size = (size + va_granularity - 1) & ~(va_granularity - 1); -- if (size > pch_VA_max_size) -- return NULL; - - /* FIXME: We let system determine base by setting first arg to NULL. - Allocating at top of available address space avoids unnecessary -@@ -100,7 +94,7 @@ mingw32_gt_pch_get_address (size_t size, int) - If we allocate at bottom we need to reserve the address as early - as possible and at the same point in each invocation. */ - -- res = VirtualAlloc (NULL, pch_VA_max_size, -+ res = VirtualAlloc (NULL, size, - MEM_RESERVE | MEM_TOP_DOWN, - PAGE_NOACCESS); - if (!res) -@@ -150,7 +144,7 @@ mingw32_gt_pch_use_address (void *addr, size_t size, int fd, - - /* Offset must be also be a multiple of allocation granularity for - this to work. We can't change the offset. */ -- if ((offset & (va_granularity - 1)) != 0 || size > pch_VA_max_size) -+ if ((offset & (va_granularity - 1)) != 0) - return -1; - - diff --git a/gcc/gcc.c b/gcc/gcc.c -index 9f790db0daf..97f52d0b893 100644 +index 7837553958b..69d7a798e2e 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -793,6 +793,11 @@ proper position among the other output files. */ +@@ -853,6 +853,11 @@ proper position among the other output files. */ #endif #endif @@ -303,7 +348,7 @@ index 9f790db0daf..97f52d0b893 100644 /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ #ifndef STARTFILE_SPEC #define STARTFILE_SPEC \ -@@ -1085,6 +1090,7 @@ static const char *link_spec = LINK_SPEC; +@@ -1197,6 +1202,7 @@ static const char *link_spec = LINK_SPEC; static const char *lib_spec = LIB_SPEC; static const char *link_gomp_spec = ""; static const char *libgcc_spec = LIBGCC_SPEC; @@ -311,7 +356,7 @@ index 9f790db0daf..97f52d0b893 100644 static const char *endfile_spec = ENDFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC; static const char *linker_name_spec = LINKER_NAME; -@@ -1582,6 +1588,7 @@ static struct spec_list static_specs[] = +@@ -1702,6 +1708,7 @@ static struct spec_list static_specs[] = INIT_STATIC_SPEC ("lib", &lib_spec), INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec), @@ -320,7 +365,7 @@ index 9f790db0daf..97f52d0b893 100644 INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("version", &compiler_version), diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 3f769a1c660..e005d8304b7 100644 +index 675930db043..bdfd6f6b0bb 100644 --- a/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c @@ -325,7 +325,7 @@ register_tm_clones (void) @@ -333,7 +378,7 @@ index 3f769a1c660..e005d8304b7 100644 in every shared-object; in a main program its value is zero. The object should in any case be protected. This means the instance diff --git a/libgcc/gthr.h b/libgcc/gthr.h -index f31cf083cbe..649f900aac3 100644 +index cca3f294b7b..deffea4107b 100644 --- a/libgcc/gthr.h +++ b/libgcc/gthr.h @@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -346,10 +391,10 @@ index f31cf083cbe..649f900aac3 100644 #define GTHREAD_USE_WEAK 0 #endif diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am -index 80aeb3f8959..308ceedc673 100644 +index 40a41ef2a1c..4d06c6f9953 100644 --- a/libstdc++-v3/include/Makefile.am +++ b/libstdc++-v3/include/Makefile.am -@@ -1315,6 +1315,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} +@@ -1347,6 +1347,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ @@ -358,10 +403,10 @@ index 80aeb3f8959..308ceedc673 100644 < $< > $@ diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in -index eb437ad8d8d..6e076fc63bd 100644 +index fcd2b5b2d40..c034367994a 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in -@@ -1793,6 +1793,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} +@@ -1830,6 +1830,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ @@ -369,3 +414,43 @@ index eb437ad8d8d..6e076fc63bd 100644 -e 's,^#include "\(.*\)",#include ,g' \ < $< > $@ +diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h +index 0413e3b7c25..ff5f8bbe1a1 100644 +--- a/libstdc++-v3/include/c_compatibility/fenv.h ++++ b/libstdc++-v3/include/c_compatibility/fenv.h +@@ -26,6 +26,10 @@ + * This is a Standard C++ Library header. + */ + ++#if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS ++# include_next ++#else ++ + #ifndef _GLIBCXX_FENV_H + #define _GLIBCXX_FENV_H 1 + +@@ -79,3 +83,5 @@ namespace std + #endif // C++11 + + #endif // _GLIBCXX_FENV_H ++ ++#endif // __cplusplus +diff --git a/libstdc++-v3/include/c_global/cfenv b/libstdc++-v3/include/c_global/cfenv +index 0b0ec35a837..d24cb1a3c81 100644 +--- a/libstdc++-v3/include/c_global/cfenv ++++ b/libstdc++-v3/include/c_global/cfenv +@@ -37,9 +37,11 @@ + + #include + +-#if _GLIBCXX_HAVE_FENV_H +-# include +-#endif ++// Need to ensure this finds the C library's not a libstdc++ ++// wrapper that might already be installed later in the include search path. ++#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS ++#include_next ++#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS + + #ifdef _GLIBCXX_USE_C99_FENV_TR1 + diff --git a/select_toolchain.sh b/select_toolchain.sh index e3e512d..0cb26a8 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -49,7 +49,7 @@ case "$VERSION" in toolchain=DEVKITPPC ;; "3" ) - GCC_VER=10.2.0 + GCC_VER=11.1.0 BINUTILS_VER=2.32 NEWLIB_VER=4.1.0 basedir='dka64' From dc5b7bb5a6a8160030810ec06d53df912230a27d Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 28 Apr 2021 11:45:55 +0100 Subject: [PATCH 143/280] remove cross build scripts --- cross-build-aarch64-linux-gnu.sh | 6 ------ cross-build-i686-w64-mingw32.sh | 7 ------- cross-build-x86_64-apple-darwin15.sh | 18 ------------------ cross-build-x86_64-linux-gnu.sh | 0 cross-build-x86_64-w64-mingw32.sh | 7 ------- 5 files changed, 38 deletions(-) delete mode 100755 cross-build-aarch64-linux-gnu.sh delete mode 100755 cross-build-i686-w64-mingw32.sh delete mode 100755 cross-build-x86_64-apple-darwin15.sh delete mode 100755 cross-build-x86_64-linux-gnu.sh delete mode 100755 cross-build-x86_64-w64-mingw32.sh diff --git a/cross-build-aarch64-linux-gnu.sh b/cross-build-aarch64-linux-gnu.sh deleted file mode 100755 index f530c39..0000000 --- a/cross-build-aarch64-linux-gnu.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -export CROSSBUILD=aarch64-linux-gnu -export CROSSPATH=/opt/aarch64-linux-gnu -export CROSSLIBPATH=$CROSSPATH/lib -export CROSSBINPATH=$CROSSPATH/bin - diff --git a/cross-build-i686-w64-mingw32.sh b/cross-build-i686-w64-mingw32.sh deleted file mode 100755 index 943bf86..0000000 --- a/cross-build-i686-w64-mingw32.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -export CROSSBUILD=i686-w64-mingw32 -export CROSSPATH=/opt/mingw32/mingw -export CROSSLIBPATH=$CROSSPATH/lib -export CROSSBINPATH=$CROSSPATH/bin -export PATH=/opt/mingw32/bin:$PATH - diff --git a/cross-build-x86_64-apple-darwin15.sh b/cross-build-x86_64-apple-darwin15.sh deleted file mode 100755 index cba3696..0000000 --- a/cross-build-x86_64-apple-darwin15.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -export CPPFLAGS=-I/opt/osx/x86_64-apple-darwin15/include -export LDFLAGS=-L/opt/osx/x86_64-apple-darwin15/lib - -export OSXCROSS_PKG_CONFIG_USE_NATIVE_VARIABLES=1 - -export CC=x86_64-apple-darwin15-clang -export CXX=x86_64-apple-darwin15-clang++ - -export CROSSBUILD=x86_64-apple-darwin15 -export CROSSPATH=/opt/osx/x86_64-apple-darwin15 -export CROSSLIBPATH=$CROSSPATH/lib -export CROSSBINPATH=$CROSSPATH/bin -export PATH=/opt/osx/bin:$PATH -export PKG_CONFIG_PATH= -export PKG_CONFIG_LIBDIR=$CROSSLIBPATH/pkgconfig - diff --git a/cross-build-x86_64-linux-gnu.sh b/cross-build-x86_64-linux-gnu.sh deleted file mode 100755 index e69de29..0000000 diff --git a/cross-build-x86_64-w64-mingw32.sh b/cross-build-x86_64-w64-mingw32.sh deleted file mode 100755 index b00f244..0000000 --- a/cross-build-x86_64-w64-mingw32.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -export CROSSBUILD=x86_64-w64-mingw32 -export CROSSPATH=/opt/mingw64/mingw -export CROSSLIBPATH=$CROSSPATH/lib -export CROSSBINPATH=$CROSSPATH/bin -export PATH=/opt/mingw64/bin:$PATH - From 0f4422c92c4ab341ae9bb6f0420baf52879760fb Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 28 Apr 2021 11:46:43 +0100 Subject: [PATCH 144/280] devkitA64: allow external gcc config params --- dka64/scripts/build-gcc.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 8d863bf..2a9906e 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -69,6 +69,7 @@ then --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 17" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ + $EXTRA_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } touch configured-gcc fi From 2938af4ed58395e026cabf02993c32bebff64da6 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 28 Apr 2021 12:14:02 +0100 Subject: [PATCH 145/280] add isl to configure options --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 860fe7c..f3add1f 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -126,7 +126,7 @@ if [ ! -z $CROSSBUILD ]; then export PATH=/opt/devkitpro/$package/bin:$PATH prefix=$INSTALLDIR/$CROSSBUILD/$package CROSS_PARAMS="$CROSS_PARAMS --host=$CROSSBUILD" - CROSS_GCC_PARAMS="--with-gmp=$CROSSPATH --with-mpfr=$CROSSPATH --with-mpc=$CROSSPATH" + CROSS_GCC_PARAMS="--with-gmp=$CROSSPATH --with-mpfr=$CROSSPATH --with-mpc=$CROSSPATH --with-isl=$CROSSPATH" else prefix=$INSTALLDIR/$package fi From c33f389df121e2f7f67237064904c2cb786f083d Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 28 Apr 2021 15:03:05 +0100 Subject: [PATCH 146/280] add zstd to configure options --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index f3add1f..7daec30 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -126,7 +126,7 @@ if [ ! -z $CROSSBUILD ]; then export PATH=/opt/devkitpro/$package/bin:$PATH prefix=$INSTALLDIR/$CROSSBUILD/$package CROSS_PARAMS="$CROSS_PARAMS --host=$CROSSBUILD" - CROSS_GCC_PARAMS="--with-gmp=$CROSSPATH --with-mpfr=$CROSSPATH --with-mpc=$CROSSPATH --with-isl=$CROSSPATH" + CROSS_GCC_PARAMS="--with-gmp=$CROSSPATH --with-mpfr=$CROSSPATH --with-mpc=$CROSSPATH --with-isl=$CROSSPATH --with-zstd=$CROSSPATH" else prefix=$INSTALLDIR/$package fi From 289d6a6aa0756f398bdbd2f001591572c0bb54e2 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 29 Apr 2021 00:07:27 +0100 Subject: [PATCH 147/280] use latest crtls & rules --- build-devkit.sh | 14 +++++++------- dka64/scripts/build-crtls.sh | 5 ++--- dkarm-eabi/scripts/build-crtls.sh | 10 ++++------ dkppc/scripts/build-crtls.sh | 5 ++--- 4 files changed, 15 insertions(+), 19 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 7daec30..a8dd871 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -28,12 +28,12 @@ echo -DKARM_RULES_VER=1.2.0 -DKARM_CRTLS_VER=1.0.0 +DKARM_RULES_VER=1.2.1 +DKARM_CRTLS_VER=1.1.1 -DKPPC_RULES_VER=1.0.0 +DKPPC_RULES_VER=1.1.0 -DKA64_RULES_VER=1.0.0 +DKA64_RULES_VER=1.0.1 OSXMIN=${OSXMIN:-10.9} @@ -189,15 +189,15 @@ fi if [ "$BUILD_DKPRO_SKIP_CRTLS" != "1" ]; then if [ $VERSION -eq 1 ]; then - archives="devkitarm-rules-$DKARM_RULES_VER.tar.xz devkitarm-crtls-$DKARM_CRTLS_VER.tar.xz $archives" + archives="devkitarm-rules-$DKARM_RULES_VER.tar.gz devkitarm-crtls-$DKARM_CRTLS_VER.tar.gz $archives" fi if [ $VERSION -eq 2 ]; then - archives="devkitppc-rules-$DKPPC_RULES_VER.tar.xz $archives" + archives="devkitppc-rules-$DKPPC_RULES_VER.tar.gz $archives" fi if [ $VERSION -eq 3 ]; then - archives="devkita64-rules-$DKA64_RULES_VER.tar.xz $archives" + archives="devkita64-rules-$DKA64_RULES_VER.tar.gz $archives" fi fi diff --git a/dka64/scripts/build-crtls.sh b/dka64/scripts/build-crtls.sh index 2703eb6..412cb7d 100644 --- a/dka64/scripts/build-crtls.sh +++ b/dka64/scripts/build-crtls.sh @@ -10,7 +10,6 @@ export DEVKITPRO=$TOOLPATH #--------------------------------------------------------------------------------- cd $BUILDDIR -mkdir -p rules -cd rules -tar -xvf $SRCDIR/devkita64-rules-$DKA64_RULES_VER.tar.xz +tar -xvf $SRCDIR/devkita64-rules-$DKA64_RULES_VER.tar.gz +cd devkita64-rules-$DKA64_RULES_VER make install diff --git a/dkarm-eabi/scripts/build-crtls.sh b/dkarm-eabi/scripts/build-crtls.sh index 3b13e4e..5dc3b62 100755 --- a/dkarm-eabi/scripts/build-crtls.sh +++ b/dkarm-eabi/scripts/build-crtls.sh @@ -11,9 +11,8 @@ export DEVKITARM=$DEVKITPRO/devkitARM #--------------------------------------------------------------------------------- cd $BUILDDIR -mkdir -p rules -cd rules -tar -xvf $SRCDIR/devkitarm-rules-$DKARM_RULES_VER.tar.xz +tar -xvf $SRCDIR/devkitarm-rules-$DKARM_RULES_VER.tar.gz +cd devkitarm-rules-$DKARM_RULES_VER make install #--------------------------------------------------------------------------------- @@ -21,8 +20,7 @@ make install #--------------------------------------------------------------------------------- cd $BUILDDIR -mkdir -p crtls -cd crtls -tar -xvf $SRCDIR/devkitarm-crtls-$DKARM_CRTLS_VER.tar.xz +tar -xvf $SRCDIR/devkitarm-crtls-$DKARM_CRTLS_VER.tar.gz +cd devkitarm-crtls-$DKARM_CRTLS_VER make install diff --git a/dkppc/scripts/build-crtls.sh b/dkppc/scripts/build-crtls.sh index 5f0a297..21b9f2a 100755 --- a/dkppc/scripts/build-crtls.sh +++ b/dkppc/scripts/build-crtls.sh @@ -11,7 +11,6 @@ export DEVKITPPC=$DEVKITPRO/devkitPPC #--------------------------------------------------------------------------------- cd $BUILDDIR -mkdir -p rules -cd rules -tar -xvf $SRCDIR/devkitppc-rules-$DKPPC_RULES_VER.tar.xz +tar -xvf $SRCDIR/devkitppc-rules-$DKPPC_RULES_VER.tar.gz +cd devkitppc-rules-$DKPPC_RULES_VER make install From d2c48d04c294e886843c47b51443b6cab04fbb9e Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 29 Apr 2021 00:09:19 +0100 Subject: [PATCH 148/280] ignore .xz files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 0458d29..00905c4 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ config.sh .devkitARM* .devkitPPC* .devkitA64* +*.xz *.gz *.bz2 *~ From 5740d1d57dd5a01631d181cc099b81ff98fc8ab6 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 29 Apr 2021 00:35:58 +0100 Subject: [PATCH 149/280] devkitARM: update gcc to 11.1.0 --- .../{gcc-10.2.0.patch => gcc-11.1.0.patch} | 102 ++++++++++-------- select_toolchain.sh | 2 +- 2 files changed, 59 insertions(+), 45 deletions(-) rename dkarm-eabi/patches/{gcc-10.2.0.patch => gcc-11.1.0.patch} (80%) diff --git a/dkarm-eabi/patches/gcc-10.2.0.patch b/dkarm-eabi/patches/gcc-11.1.0.patch similarity index 80% rename from dkarm-eabi/patches/gcc-10.2.0.patch rename to dkarm-eabi/patches/gcc-11.1.0.patch index 86739a0..da8947c 100644 --- a/dkarm-eabi/patches/gcc-10.2.0.patch +++ b/dkarm-eabi/patches/gcc-11.1.0.patch @@ -1,8 +1,8 @@ diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in -index 728be500b80..74c1abad635 100644 +index 0becb4385b6..30bd4a24cd6 100644 --- a/gcc/config/arm/arm-cpus.in +++ b/gcc/config/arm/arm-cpus.in -@@ -392,7 +392,7 @@ begin arch armv6k +@@ -400,7 +400,7 @@ begin arch armv6k tune for mpcore tune flags CO_PROC base 6K @@ -12,7 +12,7 @@ index 728be500b80..74c1abad635 100644 optalias vfpv2 fp option nofp remove ALL_FP diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf -index 3d92bd23322..35cefcde676 100644 +index d68def30867..d31f1e31ee6 100644 --- a/gcc/config/arm/t-arm-elf +++ b/gcc/config/arm/t-arm-elf @@ -16,111 +16,14 @@ @@ -133,7 +133,7 @@ index 3d92bd23322..35cefcde676 100644 -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h -index 9ad2947505f..1790caa8e88 100644 +index cca6f0ece54..8b78c28c7bb 100644 --- a/gcc/config/arm/unknown-elf.h +++ b/gcc/config/arm/unknown-elf.h @@ -29,7 +29,7 @@ @@ -153,52 +153,26 @@ index 9ad2947505f..1790caa8e88 100644 +#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" + diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c -index 250fef59b55..36b2239aa5d 100644 +index 360a280b23a..2c03947999a 100644 --- a/gcc/config/i386/host-mingw32.c +++ b/gcc/config/i386/host-mingw32.c -@@ -44,9 +44,6 @@ static size_t mingw32_gt_pch_alloc_granularity (void); - +@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void); static inline void w32_error(const char*, const char*, int, const char*); --/* FIXME: Is this big enough? */ --static const size_t pch_VA_max_size = 128 * 1024 * 1024; -- + /* FIXME: Is this big enough? */ ++#if __MINGW64__ ++static const size_t pch_VA_max_size = UINT64_C(64 * 1024 * 1024 * 1024); ++#else + static const size_t pch_VA_max_size = 128 * 1024 * 1024; ++#endif + /* Granularity for reserving address space. */ static size_t va_granularity = 0x10000; - -@@ -88,9 +85,6 @@ static void * - mingw32_gt_pch_get_address (size_t size, int) - { - void* res; -- size = (size + va_granularity - 1) & ~(va_granularity - 1); -- if (size > pch_VA_max_size) -- return NULL; - - /* FIXME: We let system determine base by setting first arg to NULL. - Allocating at top of available address space avoids unnecessary -@@ -100,7 +94,7 @@ mingw32_gt_pch_get_address (size_t size, int) - If we allocate at bottom we need to reserve the address as early - as possible and at the same point in each invocation. */ - -- res = VirtualAlloc (NULL, pch_VA_max_size, -+ res = VirtualAlloc (NULL, size, - MEM_RESERVE | MEM_TOP_DOWN, - PAGE_NOACCESS); - if (!res) -@@ -150,7 +144,7 @@ mingw32_gt_pch_use_address (void *addr, size_t size, int fd, - - /* Offset must be also be a multiple of allocation granularity for - this to work. We can't change the offset. */ -- if ((offset & (va_granularity - 1)) != 0 || size > pch_VA_max_size) -+ if ((offset & (va_granularity - 1)) != 0) - return -1; - - diff --git a/gcc/gcc.c b/gcc/gcc.c -index 9f790db0daf..97f52d0b893 100644 +index 7837553958b..69d7a798e2e 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -793,6 +793,11 @@ proper position among the other output files. */ +@@ -853,6 +853,11 @@ proper position among the other output files. */ #endif #endif @@ -210,7 +184,7 @@ index 9f790db0daf..97f52d0b893 100644 /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ #ifndef STARTFILE_SPEC #define STARTFILE_SPEC \ -@@ -1085,6 +1090,7 @@ static const char *link_spec = LINK_SPEC; +@@ -1197,6 +1202,7 @@ static const char *link_spec = LINK_SPEC; static const char *lib_spec = LIB_SPEC; static const char *link_gomp_spec = ""; static const char *libgcc_spec = LIBGCC_SPEC; @@ -218,7 +192,7 @@ index 9f790db0daf..97f52d0b893 100644 static const char *endfile_spec = ENDFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC; static const char *linker_name_spec = LINKER_NAME; -@@ -1582,6 +1588,7 @@ static struct spec_list static_specs[] = +@@ -1702,6 +1708,7 @@ static struct spec_list static_specs[] = INIT_STATIC_SPEC ("lib", &lib_spec), INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec), @@ -237,7 +211,7 @@ index dddddc7c444..c2502597953 100644 -LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions +LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 3f769a1c660..e005d8304b7 100644 +index 675930db043..bdfd6f6b0bb 100644 --- a/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c @@ -325,7 +325,7 @@ register_tm_clones (void) @@ -249,3 +223,43 @@ index 3f769a1c660..e005d8304b7 100644 /* Declare the __dso_handle variable. It should have a unique value in every shared-object; in a main program its value is zero. The object should in any case be protected. This means the instance +diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h +index 0413e3b7c25..ff5f8bbe1a1 100644 +--- a/libstdc++-v3/include/c_compatibility/fenv.h ++++ b/libstdc++-v3/include/c_compatibility/fenv.h +@@ -26,6 +26,10 @@ + * This is a Standard C++ Library header. + */ + ++#if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS ++# include_next ++#else ++ + #ifndef _GLIBCXX_FENV_H + #define _GLIBCXX_FENV_H 1 + +@@ -79,3 +83,5 @@ namespace std + #endif // C++11 + + #endif // _GLIBCXX_FENV_H ++ ++#endif // __cplusplus +diff --git a/libstdc++-v3/include/c_global/cfenv b/libstdc++-v3/include/c_global/cfenv +index 0b0ec35a837..d24cb1a3c81 100644 +--- a/libstdc++-v3/include/c_global/cfenv ++++ b/libstdc++-v3/include/c_global/cfenv +@@ -37,9 +37,11 @@ + + #include + +-#if _GLIBCXX_HAVE_FENV_H +-# include +-#endif ++// Need to ensure this finds the C library's not a libstdc++ ++// wrapper that might already be installed later in the include search path. ++#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS ++#include_next ++#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS + + #ifdef _GLIBCXX_USE_C99_FENV_TR1 + diff --git a/select_toolchain.sh b/select_toolchain.sh index 0cb26a8..a54bfdb 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,7 +30,7 @@ done case "$VERSION" in "1" ) - GCC_VER=10.2.0 + GCC_VER=11.1.0 BINUTILS_VER=2.34 NEWLIB_VER=3.3.0 basedir='dkarm-eabi' From 0eb81ba063643b9f75b490aa3546dc4a05a36391 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 29 Apr 2021 00:36:33 +0100 Subject: [PATCH 150/280] devkitARM: next release is 56 --- build-devkit.sh | 2 +- dkarm-eabi/scripts/build-gcc.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index a8dd871..a70fd65 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,7 +1,7 @@ #!/bin/bash #--------------------------------------------------------------------------------- -# devkitARM release 55 +# devkitARM release 56 # devkitPPC release 38 # devkitA64 release 17 #--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 77e7793..b3f46bf 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -66,7 +66,7 @@ then --with-system-zlib \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 55" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 56" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } From 85ec801a13cda9cfa165b9f8c5bdb6b37ea21a3a Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 29 Apr 2021 00:39:39 +0100 Subject: [PATCH 151/280] devkitARM: update newlib to 4.1.0 --- ...{newlib-3.3.0.patch => newlib-4.1.0.patch} | 98 ++++++++++--------- select_toolchain.sh | 2 +- 2 files changed, 53 insertions(+), 47 deletions(-) rename dkarm-eabi/patches/{newlib-3.3.0.patch => newlib-4.1.0.patch} (99%) diff --git a/dkarm-eabi/patches/newlib-3.3.0.patch b/dkarm-eabi/patches/newlib-4.1.0.patch similarity index 99% rename from dkarm-eabi/patches/newlib-3.3.0.patch rename to dkarm-eabi/patches/newlib-4.1.0.patch index 52cbda0..bc178d9 100644 --- a/dkarm-eabi/patches/newlib-3.3.0.patch +++ b/dkarm-eabi/patches/newlib-4.1.0.patch @@ -1,8 +1,8 @@ diff --git a/libgloss/configure b/libgloss/configure -index 0d2918cee..bccfb07b4 100755 +index 816b9c4b8..b79edb6c8 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -2604,6 +2604,8 @@ if test "${config_libnosys}" = "true"; then +@@ -2609,6 +2609,8 @@ if test "${config_libnosys}" = "true"; then fi @@ -12,7 +12,7 @@ index 0d2918cee..bccfb07b4 100755 ac_config_commands="$ac_config_commands depfiles" diff --git a/libgloss/configure.in b/libgloss/configure.in -index f38d5298e..509c31071 100644 +index 4111724e1..0e44d885e 100644 --- a/libgloss/configure.in +++ b/libgloss/configure.in @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. @@ -23,7 +23,7 @@ index f38d5298e..509c31071 100644 if test "${enable_shared}" = "yes" ; then echo "Shared libraries not supported for cross compiling, ignored" -@@ -193,6 +194,7 @@ dnl fi +@@ -196,6 +197,7 @@ dnl fi if test "${config_libnosys}" = "true"; then AC_CONFIG_SUBDIRS([libnosys]) fi @@ -7408,10 +7408,10 @@ index 000000000..61de918bc + return ret; +} diff --git a/newlib/configure.host b/newlib/configure.host -index a84c0c80a..29fb7ed24 100644 +index 1ddbb6c76..ed9999bea 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -687,6 +687,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -694,6 +694,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID syscall_dir=syscalls default_newlib_io_long_long="yes" ;; @@ -7426,8 +7426,34 @@ index a84c0c80a..29fb7ed24 100644 arm*-*-pe) syscall_dir=syscalls ;; +diff --git a/newlib/libc/ctype/jp2uc.c b/newlib/libc/ctype/jp2uc.c +index 5e30f09be..1ea357f92 100644 +--- a/newlib/libc/ctype/jp2uc.c ++++ b/newlib/libc/ctype/jp2uc.c +@@ -35,7 +35,7 @@ + #ifdef _MB_CAPABLE + /* Under Cygwin, the incoming wide character is already given in UTF due + to the requirements of the underlying OS. */ +-#ifndef __CYGWIN__ ++#if !defined(__CYGWIN__) && !defined(__DEVKITA64__) + + #include <_ansi.h> + #include +diff --git a/newlib/libc/ctype/local.h b/newlib/libc/ctype/local.h +index 5c293c83d..75ccf89f5 100644 +--- a/newlib/libc/ctype/local.h ++++ b/newlib/libc/ctype/local.h +@@ -32,7 +32,7 @@ + * for towupper and towlower, the result must be back-transformed + into the respective locale encoding; currently NOT IMPLEMENTED + */ +-#ifdef __CYGWIN__ ++#if defined(__CYGWIN__) || defined(__DEVKITA64__) + /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ + #define _jp2uc(c) (c) + #define _jp2uc_l(c, l) (c) diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h -index 164d95bca..083e48758 100644 +index ab18806e3..db77ebb2a 100644 --- a/newlib/libc/include/stdio.h +++ b/newlib/libc/include/stdio.h @@ -233,7 +233,7 @@ int fsetpos (FILE *, const _fpos_t *); @@ -7440,7 +7466,7 @@ index 164d95bca..083e48758 100644 void clearerr (FILE *); int feof (FILE *); diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index d746b15fc..80169d9b7 100644 +index 4bc8d29bf..35c05e6af 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h @@ -4,6 +4,9 @@ @@ -7770,7 +7796,7 @@ index 5e937f103..635a7a6b8 100644 }; #endif diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index 4c343e462..c04493460 100644 +index 968642745..2ab1f9570 100644 --- a/newlib/libc/locale/locale.c +++ b/newlib/libc/locale/locale.c @@ -92,7 +92,7 @@ beginning with <<"LC_">>. @@ -7882,7 +7908,7 @@ index 4c343e462..c04493460 100644 if (strcmp (locale, "POSIX") && strcmp (locale, "C") && strcmp (locale, "")) return NULL; -@@ -990,6 +1015,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) +@@ -991,6 +1016,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) const char * __locale_ctype_ptr (void) @@ -8031,7 +8057,7 @@ index 9b982a993..8c0aaac8c 100644 +*/ #endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */ diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index b358d2b4a..a3e597fd2 100644 +index df8321461..9263e5829 100644 --- a/newlib/libc/stdio/fread.c +++ b/newlib/libc/stdio/fread.c @@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, @@ -8060,7 +8086,7 @@ index b358d2b4a..a3e597fd2 100644 resid -= fp->_r; p += fp->_r; fp->_r = 0; -@@ -225,7 +224,31 @@ _fread_r (struct _reent * ptr, +@@ -225,7 +224,30 @@ _fread_r (struct _reent * ptr, /* fp->_r = 0 ... done in __srefill */ p += r; resid -= r; @@ -8075,7 +8101,7 @@ index b358d2b4a..a3e597fd2 100644 + int old_size = fp->_bf._size; + /* allow __refill to use user's buffer */ + fp->_bf._base = (unsigned char *) p; -+ fp->_bf._size = resid; ++ fp->_bf._size = resid - old_size; + fp->_p = (unsigned char *) p; + rc = __srefill_r (ptr, fp); + /* restore fp buffering back to original state */ @@ -8084,20 +8110,19 @@ index b358d2b4a..a3e597fd2 100644 + fp->_p = old_base; + resid -= fp->_r; + p += fp->_r; -+ fp->_r = 0; -+ -+ } else { -+ rc = __srefill_r (ptr, fp); ++ //fp->_r = 0; + } ++ rc = __srefill_r (ptr, fp); ++ + if (rc) { /* no more input: return partial result */ #ifdef __SCLE diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index c4bf2dbe3..d756df37d 100644 +index 1aaf05aa4..b67182a79 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c -@@ -112,6 +112,8 @@ Supporting OS subroutines required: <>, <>, <>, +@@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, <>, <>, <>, <>. */ @@ -8106,7 +8131,7 @@ index c4bf2dbe3..d756df37d 100644 #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ static char *rcsid = "$Id$"; -@@ -1438,7 +1440,7 @@ reswitch: switch (ch) { +@@ -1434,7 +1436,7 @@ reswitch: switch (ch) { string: #endif sign = '\0'; @@ -8115,7 +8140,7 @@ index c4bf2dbe3..d756df37d 100644 /* Behavior is undefined if the user passed a NULL string when precision is not 0. However, if we are not optimizing for size, -@@ -1448,7 +1450,7 @@ string: +@@ -1444,7 +1446,7 @@ string: size = ((unsigned) prec > 6U) ? 6 : prec; } else @@ -8125,7 +8150,7 @@ index c4bf2dbe3..d756df37d 100644 if (ch == 'S' || (flags & LONGINT)) { mbstate_t ps; diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index 9c38eebf4..fbc8d877d 100644 +index 994cee7fc..5d1d0a1cd 100644 --- a/newlib/libc/stdio/vfscanf.c +++ b/newlib/libc/stdio/vfscanf.c @@ -74,6 +74,8 @@ These are GNU extensions. @@ -8152,7 +8177,7 @@ index 980b31e3b..722be905e 100644 #ifdef INTEGER_ONLY diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index ffb6cc85b..db33d4f29 100644 +index f00d41a09..7e290ee8d 100644 --- a/newlib/libc/stdio/vfwscanf.c +++ b/newlib/libc/stdio/vfwscanf.c @@ -74,6 +74,9 @@ PORTABILITY @@ -8166,37 +8191,18 @@ index ffb6cc85b..db33d4f29 100644 #include #include diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c -index 88413ce86..24029a6f7 100644 +index feb22c24b..3dae0c9a9 100644 --- a/newlib/libc/stdlib/aligned_alloc.c +++ b/newlib/libc/stdlib/aligned_alloc.c -@@ -1,5 +1,5 @@ - /*- -- * Copyright (c) 2015 embedded brains GmbH -+ * Copyright (c) 2018 Dave Murphy - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without -@@ -25,14 +25,15 @@ - */ +@@ -28,6 +28,8 @@ + #include #include +#include +#include void * - aligned_alloc(size_t alignment, size_t size) - { -- void *p; -- int error; -+ if ((alignment !=0) && !(alignment & (alignment - 1 )) && !(size & (alignment - 1))) -+ return memalign(alignment,size); - -- error = posix_memalign(&p, alignment, size); -- -- return (error == 0 ? p : NULL); -+ errno = EINVAL; -+ return (void*)NULL; - } + aligned_alloc (size_t align, size_t size) diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c index 920a7ea3c..ba5ee7652 100644 --- a/newlib/libc/stdlib/mbtowc_r.c diff --git a/select_toolchain.sh b/select_toolchain.sh index a54bfdb..9141c3f 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -32,7 +32,7 @@ case "$VERSION" in "1" ) GCC_VER=11.1.0 BINUTILS_VER=2.34 - NEWLIB_VER=3.3.0 + NEWLIB_VER=4.1.0 basedir='dkarm-eabi' package=devkitARM target=arm-none-eabi From e4cb9e3b2fdfc5a932604049329669ebd0ae2c22 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 29 Apr 2021 00:41:05 +0100 Subject: [PATCH 152/280] devkitARM: update binutils to 2.36.1 --- select_toolchain.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/select_toolchain.sh b/select_toolchain.sh index 9141c3f..cb27970 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -31,7 +31,7 @@ done case "$VERSION" in "1" ) GCC_VER=11.1.0 - BINUTILS_VER=2.34 + BINUTILS_VER=2.36.1 NEWLIB_VER=4.1.0 basedir='dkarm-eabi' package=devkitARM From aacd4f8bf68af441060290660cb879da70ecd41f Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 29 Apr 2021 00:53:53 +0100 Subject: [PATCH 153/280] devkitARM: allow external gcc config params --- dkarm-eabi/scripts/build-gcc.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index b3f46bf..501d1b2 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -69,6 +69,7 @@ then --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 56" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ + $EXTRA_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } touch configured-gcc fi From 42194058376909a7d312389267c0264e6e6c9245 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 30 Apr 2021 09:02:01 +0100 Subject: [PATCH 154/280] devkitARM: update gcc patch --- dkarm-eabi/patches/gcc-11.1.0.patch | 62 +++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/dkarm-eabi/patches/gcc-11.1.0.patch b/dkarm-eabi/patches/gcc-11.1.0.patch index da8947c..1b7857d 100644 --- a/dkarm-eabi/patches/gcc-11.1.0.patch +++ b/dkarm-eabi/patches/gcc-11.1.0.patch @@ -1,3 +1,65 @@ +diff --git a/gcc/config.host b/gcc/config.host +index 0a02c33cc80..38f7adc655e 100644 +--- a/gcc/config.host ++++ b/gcc/config.host +@@ -251,6 +251,10 @@ case ${host} in + host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o" + host_lto_plugin_soname=liblto_plugin.dll + ;; ++ aarch64-*-darwin*) ++ out_host_hook_obj="${out_host_hook_obj} host-aarch64-darwin.o" ++ host_xmake_file="${host_xmake_file} aarch64/x-darwin" ++ ;; + i[34567]86-*-darwin* | x86_64-*-darwin*) + out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o" + host_xmake_file="${host_xmake_file} i386/x-darwin" +diff --git a/gcc/config/aarch64/host-aarch64-darwin.c b/gcc/config/aarch64/host-aarch64-darwin.c +new file mode 100644 +index 00000000000..92c38b0b9db +--- /dev/null ++++ b/gcc/config/aarch64/host-aarch64-darwin.c +@@ -0,0 +1,32 @@ ++/* i386-darwin host-specific hook definitions. ++ Copyright (C) 2003-2021 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 ++. */ ++ ++#define IN_TARGET_CODE 1 ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "hosthooks.h" ++#include "hosthooks-def.h" ++#include "config/host-darwin.h" ++ ++/* Darwin doesn't do anything special for aarch64 hosts; this file exists just ++ to include config/host-darwin.h. */ ++ ++const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER; +diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin +new file mode 100644 +index 00000000000..6d788d5e89c +--- /dev/null ++++ b/gcc/config/aarch64/x-darwin +@@ -0,0 +1,3 @@ ++host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c ++ $(COMPILE) $< ++ $(POSTCOMPILE) diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in index 0becb4385b6..30bd4a24cd6 100644 --- a/gcc/config/arm/arm-cpus.in From 1444dc91df102c7f3e6f2b3b62306eb6941a4bad Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 8 May 2021 21:10:04 +0100 Subject: [PATCH 155/280] allow external variables to influence build --- build-devkit.sh | 7 ------- 1 file changed, 7 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index a70fd65..6765c67 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -59,13 +59,6 @@ if [ ! -z "$CROSSBUILD" ] ; then fi fi -#--------------------------------------------------------------------------------- -# Sane defaults for building toolchain -#--------------------------------------------------------------------------------- -export CFLAGS="-O2 -pipe" -export CXXFLAGS="$CFLAGS" -unset LDFLAGS - #--------------------------------------------------------------------------------- # Look for automated configuration file to bypass prompts #--------------------------------------------------------------------------------- From e95246347614d9ff71c083d46dbf35da84bc67de Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 8 May 2021 21:28:54 +0100 Subject: [PATCH 156/280] use the supplied zlib --- dka64/scripts/build-gcc.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 2a9906e..1e59915 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -62,10 +62,9 @@ then --with-newlib=yes \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ - --enable-lto $plugin_ld\ - --with-system-zlib \ - --disable-tm-clone-registry \ - --disable-__cxa_atexit \ + --enable-lto \ + --disable-tm-clone-registry \ + --disable-__cxa_atexit \ --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 17" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ From c1081628190c9611853015913b3cbb6a3d9c02ed Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 9 May 2021 13:38:10 +0100 Subject: [PATCH 157/280] use ansi stdio on mingw host too --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 6765c67..11f4a2f 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -155,7 +155,7 @@ case $PLATFORM in fi ;; MINGW32* ) - cppflags="-D__USE_MINGW_ACCESS" + cppflags="-D__USE_MINGW_ACCESS -D__USE_MINGW_ANSI_STDIO=1" ;; esac From b8c7c915bcbf93843e7bc5af1df0d8f7c0db5097 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 9 May 2021 13:50:54 +0100 Subject: [PATCH 158/280] allow prevention of binary stripping --- build-devkit.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 11f4a2f..cb0ca3b 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -231,8 +231,10 @@ fi cd $BUILDSCRIPTDIR -echo "stripping installed binaries" -. ./strip_bins.sh +if [ "$BUILD_DKPRO_NO_STRIP_BINARIES" != "1" ]; then + echo "stripping installed binaries" + . ./strip_bins.sh +fi #--------------------------------------------------------------------------------- # Clean up temporary files and source directories From c375da789d434295c66bac7714c04c2b72d43a43 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 14 Feb 2021 19:19:52 +0000 Subject: [PATCH 159/280] devkitPPC: update newlib to 4.1.0 --- ...{newlib-3.3.0.patch => newlib-4.1.0.patch} | 79 +++++++++++-------- select_toolchain.sh | 2 +- 2 files changed, 45 insertions(+), 36 deletions(-) rename dkppc/patches/{newlib-3.3.0.patch => newlib-4.1.0.patch} (99%) diff --git a/dkppc/patches/newlib-3.3.0.patch b/dkppc/patches/newlib-4.1.0.patch similarity index 99% rename from dkppc/patches/newlib-3.3.0.patch rename to dkppc/patches/newlib-4.1.0.patch index 49b0069..cf3ca59 100644 --- a/dkppc/patches/newlib-3.3.0.patch +++ b/dkppc/patches/newlib-4.1.0.patch @@ -1,8 +1,8 @@ diff --git a/libgloss/configure b/libgloss/configure -index 0d2918cee..bccfb07b4 100755 +index 816b9c4b8..b79edb6c8 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -2604,6 +2604,8 @@ if test "${config_libnosys}" = "true"; then +@@ -2609,6 +2609,8 @@ if test "${config_libnosys}" = "true"; then fi @@ -12,7 +12,7 @@ index 0d2918cee..bccfb07b4 100755 ac_config_commands="$ac_config_commands depfiles" diff --git a/libgloss/configure.in b/libgloss/configure.in -index f38d5298e..db6b33ab8 100644 +index 4111724e1..dfd632c20 100644 --- a/libgloss/configure.in +++ b/libgloss/configure.in @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. @@ -33,7 +33,7 @@ index f38d5298e..db6b33ab8 100644 case "${target}" in aarch64*-*-*) AC_CONFIG_SUBDIRS(aarch64) -@@ -194,6 +198,10 @@ if test "${config_libnosys}" = "true"; then +@@ -197,6 +201,10 @@ if test "${config_libnosys}" = "true"; then AC_CONFIG_SUBDIRS([libnosys]) fi @@ -7372,16 +7372,18 @@ index 000000000..bd25d775d + exit ( main(__system_argv->argc,__system_argv->argv) ); +} diff --git a/newlib/configure.host b/newlib/configure.host -index a84c0c80a..0921e00be 100644 +index 1ddbb6c76..b7f568bf8 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -853,7 +853,12 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -864,7 +864,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID default_newlib_io_long_long="yes" newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" ;; - powerpc*-*-eabi* | \ + powerpc*-*-eabi*) ++ default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" ++ default_newlib_io_pos_args="yes" + newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" + newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls @@ -7389,6 +7391,32 @@ index a84c0c80a..0921e00be 100644 powerpc*-*-elf* | \ powerpc*-*-linux* | \ powerpc*-*-rtem* | \ +diff --git a/newlib/libc/ctype/jp2uc.c b/newlib/libc/ctype/jp2uc.c +index 5e30f09be..1ea357f92 100644 +--- a/newlib/libc/ctype/jp2uc.c ++++ b/newlib/libc/ctype/jp2uc.c +@@ -35,7 +35,7 @@ + #ifdef _MB_CAPABLE + /* Under Cygwin, the incoming wide character is already given in UTF due + to the requirements of the underlying OS. */ +-#ifndef __CYGWIN__ ++#if !defined(__CYGWIN__) && !defined(__DEVKITA64__) + + #include <_ansi.h> + #include +diff --git a/newlib/libc/ctype/local.h b/newlib/libc/ctype/local.h +index 5c293c83d..75ccf89f5 100644 +--- a/newlib/libc/ctype/local.h ++++ b/newlib/libc/ctype/local.h +@@ -32,7 +32,7 @@ + * for towupper and towlower, the result must be back-transformed + into the respective locale encoding; currently NOT IMPLEMENTED + */ +-#ifdef __CYGWIN__ ++#if defined(__CYGWIN__) || defined(__DEVKITA64__) + /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ + #define _jp2uc(c) (c) + #define _jp2uc_l(c, l) (c) diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h index a3fb5c02c..adb8e1083 100644 --- a/newlib/libc/include/sys/dirent.h @@ -7668,10 +7696,10 @@ index 000000000..380329d34 +#endif // _SYS_STATVFS_H \ No newline at end of file diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h -index ba9dbd667..93ed11a42 100644 +index c872d2018..9ccdbc51a 100644 --- a/newlib/libc/include/sys/syslimits.h +++ b/newlib/libc/include/sys/syslimits.h -@@ -44,12 +44,12 @@ +@@ -40,12 +40,12 @@ #define LINK_MAX 32767 /* max file link count */ #define MAX_CANON 255 /* max bytes in term canon input line */ #define MAX_INPUT 255 /* max bytes in terminal input */ @@ -7713,7 +7741,7 @@ index 5e937f103..635a7a6b8 100644 }; #endif diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index 4c343e462..835b3a712 100644 +index 968642745..82f68c809 100644 --- a/newlib/libc/locale/locale.c +++ b/newlib/libc/locale/locale.c @@ -166,15 +166,18 @@ No supporting OS subroutines are required. @@ -7807,7 +7835,7 @@ index 4c343e462..835b3a712 100644 #else /* __HAVE_LOCALE_INFO__ */ { { NULL, NULL }, /* LC_ALL */ -@@ -990,6 +1015,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) +@@ -991,6 +1016,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) const char * __locale_ctype_ptr (void) @@ -8082,7 +8110,7 @@ index aa22a0e3a..93e672b6a 100644 $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-scanf.o `test -f 'scanf.c' || echo '$(srcdir)/'`scanf.c diff --git a/newlib/libc/stdio/fopen.c b/newlib/libc/stdio/fopen.c -index 022992b8d..bdf4c7bb0 100644 +index 1ac551fed..d293b7b0e 100644 --- a/newlib/libc/stdio/fopen.c +++ b/newlib/libc/stdio/fopen.c @@ -139,6 +139,9 @@ _fopen_r (struct _reent *ptr, @@ -8096,7 +8124,7 @@ index 022992b8d..bdf4c7bb0 100644 fp->_flags = flags; fp->_cookie = (void *) fp; diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index b358d2b4a..78bb0df30 100644 +index df8321461..eee4181cd 100644 --- a/newlib/libc/stdio/fread.c +++ b/newlib/libc/stdio/fread.c @@ -187,7 +187,6 @@ _fread_r (struct _reent * ptr, @@ -8148,37 +8176,18 @@ index b358d2b4a..78bb0df30 100644 /* no more input: return partial result */ #ifdef __SCLE diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c -index 88413ce86..24029a6f7 100644 +index feb22c24b..3dae0c9a9 100644 --- a/newlib/libc/stdlib/aligned_alloc.c +++ b/newlib/libc/stdlib/aligned_alloc.c -@@ -1,5 +1,5 @@ - /*- -- * Copyright (c) 2015 embedded brains GmbH -+ * Copyright (c) 2018 Dave Murphy - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without -@@ -25,14 +25,15 @@ - */ +@@ -28,6 +28,8 @@ + #include #include +#include +#include void * - aligned_alloc(size_t alignment, size_t size) - { -- void *p; -- int error; -+ if ((alignment !=0) && !(alignment & (alignment - 1 )) && !(size & (alignment - 1))) -+ return memalign(alignment,size); - -- error = posix_memalign(&p, alignment, size); -- -- return (error == 0 ? p : NULL); -+ errno = EINVAL; -+ return (void*)NULL; - } + aligned_alloc (size_t align, size_t size) diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c index 920a7ea3c..ba5ee7652 100644 --- a/newlib/libc/stdlib/mbtowc_r.c diff --git a/select_toolchain.sh b/select_toolchain.sh index cb27970..850bd77 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -42,7 +42,7 @@ case "$VERSION" in GCC_VER=10.2.0 BINUTILS_VER=2.34 MN_BINUTILS_VER=2.17 - NEWLIB_VER=3.3.0 + NEWLIB_VER=4.1.0 basedir='dkppc' package=devkitPPC target=powerpc-eabi From ae793d657a95e22da1b6b346664a2c95f010f052 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 14 Feb 2021 19:45:43 +0000 Subject: [PATCH 160/280] devkitPPC: update binutils to 2.36.1 --- dkppc/patches/binutils-2.36.1.patch | 12 ++++++++++++ select_toolchain.sh | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 dkppc/patches/binutils-2.36.1.patch diff --git a/dkppc/patches/binutils-2.36.1.patch b/dkppc/patches/binutils-2.36.1.patch new file mode 100644 index 0000000..5950cae --- /dev/null +++ b/dkppc/patches/binutils-2.36.1.patch @@ -0,0 +1,12 @@ +diff -NBaur binutils-2.36.1/opcodes/ppc-opc.c binutils-2.36.1-ppc/opcodes/ppc-opc.c +--- binutils-2.36.1/opcodes/ppc-opc.c 2021-01-09 10:47:34.000000000 +0000 ++++ binutils-2.36.1-ppc/opcodes/ppc-opc.c 2021-02-14 19:41:09.350749949 +0000 +@@ -4225,7 +4225,7 @@ + #define MFDEC2 (PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE \ + | PPC_OPCODE_TITAN) + #define BOOKE PPC_OPCODE_BOOKE +-#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS ++#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS + #define PPCE300 PPC_OPCODE_E300 + #define PPCSPE PPC_OPCODE_SPE + #define PPCSPE2 PPC_OPCODE_SPE2 diff --git a/select_toolchain.sh b/select_toolchain.sh index 850bd77..269c205 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -40,7 +40,7 @@ case "$VERSION" in ;; "2" ) GCC_VER=10.2.0 - BINUTILS_VER=2.34 + BINUTILS_VER=2.36.1 MN_BINUTILS_VER=2.17 NEWLIB_VER=4.1.0 basedir='dkppc' From 6999db3f107e51fea3140bd4e760f2b4e16136ea Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 14 Feb 2021 19:50:35 +0000 Subject: [PATCH 161/280] devkitPPC: next release is 39 --- build-devkit.sh | 4 ++-- dkppc/scripts/build-gcc.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index cb0ca3b..96ea8a6 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,8 +1,8 @@ #!/bin/bash #--------------------------------------------------------------------------------- -# devkitARM release 56 -# devkitPPC release 38 +# devkitARM release 55 +# devkitPPC release 39 # devkitA64 release 17 #--------------------------------------------------------------------------------- diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 9eeafc0..35652e8 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -100,7 +100,7 @@ then --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix\ --with-system-zlib\ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 38" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 39" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ From 3673dced6dc4b6f2e97b6f8f71e0d81b6533cdcc Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 14 Feb 2021 20:42:00 +0000 Subject: [PATCH 162/280] devkitPPC: reduce printf bloat --- dkppc/patches/newlib-4.1.0.patch | 71 ++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/dkppc/patches/newlib-4.1.0.patch b/dkppc/patches/newlib-4.1.0.patch index cf3ca59..5dcb251 100644 --- a/dkppc/patches/newlib-4.1.0.patch +++ b/dkppc/patches/newlib-4.1.0.patch @@ -8175,6 +8175,77 @@ index df8321461..eee4181cd 100644 { /* no more input: return partial result */ #ifdef __SCLE +diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c +index 1aaf05aa4..b67182a79 100644 +--- a/newlib/libc/stdio/vfprintf.c ++++ b/newlib/libc/stdio/vfprintf.c +@@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, + <>, <>, <>, <>. + */ + ++#pragma GCC optimize ("Os") ++ + #if defined(LIBC_SCCS) && !defined(lint) + /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ + static char *rcsid = "$Id$"; +@@ -1434,7 +1436,7 @@ reswitch: switch (ch) { + string: + #endif + sign = '\0'; +-#ifndef __OPTIMIZE_SIZE__ ++//#ifndef __OPTIMIZE_SIZE__ + /* Behavior is undefined if the user passed a + NULL string when precision is not 0. + However, if we are not optimizing for size, +@@ -1444,7 +1446,7 @@ string: + size = ((unsigned) prec > 6U) ? 6 : prec; + } + else +-#endif /* __OPTIMIZE_SIZE__ */ ++//#endif /* __OPTIMIZE_SIZE__ */ + #ifdef _MB_CAPABLE + if (ch == 'S' || (flags & LONGINT)) { + mbstate_t ps; +diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c +index 994cee7fc..5d1d0a1cd 100644 +--- a/newlib/libc/stdio/vfscanf.c ++++ b/newlib/libc/stdio/vfscanf.c +@@ -74,6 +74,8 @@ These are GNU extensions. + Supporting OS subroutines required: + */ + ++#pragma GCC optimize ("Os") ++ + #include <_ansi.h> + #include + #include +diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c +index 980b31e3b..722be905e 100644 +--- a/newlib/libc/stdio/vfwprintf.c ++++ b/newlib/libc/stdio/vfwprintf.c +@@ -92,6 +92,9 @@ SEEALSO + * + * This code is large and complicated... + */ ++ ++#pragma GCC optimize ("Os") ++ + #include + + #ifdef INTEGER_ONLY +diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c +index f00d41a09..647f9e55a 100644 +--- a/newlib/libc/stdio/vfwscanf.c ++++ b/newlib/libc/stdio/vfwscanf.c +@@ -74,6 +74,8 @@ PORTABILITY + C99, POSIX-1.2008 + */ + ++#pragma GCC optimize ("Os") ++ + #include <_ansi.h> + #include + #include diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c index feb22c24b..3dae0c9a9 100644 --- a/newlib/libc/stdlib/aligned_alloc.c From 6e92980fd1de37ae820b33ea8a53b8383ef41431 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 29 Apr 2021 14:29:32 +0100 Subject: [PATCH 163/280] devkitPPC: allow external gcc config params --- dkppc/scripts/build-gcc.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 35652e8..c9046f5 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -103,6 +103,7 @@ then --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 39" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ + $EXTRA_GCC_PARAMS \ CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ || { echo "Error configuring gcc stage 1"; exit 1; } touch configured-gcc From 5649ec2a1f145b7301921a0fda6cd036a6a66696 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 29 Apr 2021 15:17:12 +0100 Subject: [PATCH 164/280] devkitPPC: update newlib patch --- dkppc/patches/newlib-4.1.0.patch | 76 +------------------------------- 1 file changed, 2 insertions(+), 74 deletions(-) diff --git a/dkppc/patches/newlib-4.1.0.patch b/dkppc/patches/newlib-4.1.0.patch index 5dcb251..3b5d5d1 100644 --- a/dkppc/patches/newlib-4.1.0.patch +++ b/dkppc/patches/newlib-4.1.0.patch @@ -7372,10 +7372,10 @@ index 000000000..bd25d775d + exit ( main(__system_argv->argc,__system_argv->argv) ); +} diff --git a/newlib/configure.host b/newlib/configure.host -index 1ddbb6c76..b7f568bf8 100644 +index 1ddbb6c76..ef4cbe6c3 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -864,7 +864,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -864,7 +864,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID default_newlib_io_long_long="yes" newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" ;; @@ -7383,7 +7383,6 @@ index 1ddbb6c76..b7f568bf8 100644 + powerpc*-*-eabi*) + default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" -+ default_newlib_io_pos_args="yes" + newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" + newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls @@ -8175,77 +8174,6 @@ index df8321461..eee4181cd 100644 { /* no more input: return partial result */ #ifdef __SCLE -diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index 1aaf05aa4..b67182a79 100644 ---- a/newlib/libc/stdio/vfprintf.c -+++ b/newlib/libc/stdio/vfprintf.c -@@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, - <>, <>, <>, <>. - */ - -+#pragma GCC optimize ("Os") -+ - #if defined(LIBC_SCCS) && !defined(lint) - /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ - static char *rcsid = "$Id$"; -@@ -1434,7 +1436,7 @@ reswitch: switch (ch) { - string: - #endif - sign = '\0'; --#ifndef __OPTIMIZE_SIZE__ -+//#ifndef __OPTIMIZE_SIZE__ - /* Behavior is undefined if the user passed a - NULL string when precision is not 0. - However, if we are not optimizing for size, -@@ -1444,7 +1446,7 @@ string: - size = ((unsigned) prec > 6U) ? 6 : prec; - } - else --#endif /* __OPTIMIZE_SIZE__ */ -+//#endif /* __OPTIMIZE_SIZE__ */ - #ifdef _MB_CAPABLE - if (ch == 'S' || (flags & LONGINT)) { - mbstate_t ps; -diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index 994cee7fc..5d1d0a1cd 100644 ---- a/newlib/libc/stdio/vfscanf.c -+++ b/newlib/libc/stdio/vfscanf.c -@@ -74,6 +74,8 @@ These are GNU extensions. - Supporting OS subroutines required: - */ - -+#pragma GCC optimize ("Os") -+ - #include <_ansi.h> - #include - #include -diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c -index 980b31e3b..722be905e 100644 ---- a/newlib/libc/stdio/vfwprintf.c -+++ b/newlib/libc/stdio/vfwprintf.c -@@ -92,6 +92,9 @@ SEEALSO - * - * This code is large and complicated... - */ -+ -+#pragma GCC optimize ("Os") -+ - #include - - #ifdef INTEGER_ONLY -diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index f00d41a09..647f9e55a 100644 ---- a/newlib/libc/stdio/vfwscanf.c -+++ b/newlib/libc/stdio/vfwscanf.c -@@ -74,6 +74,8 @@ PORTABILITY - C99, POSIX-1.2008 - */ - -+#pragma GCC optimize ("Os") -+ - #include <_ansi.h> - #include - #include diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c index feb22c24b..3dae0c9a9 100644 --- a/newlib/libc/stdlib/aligned_alloc.c From fdb7c8a6d2639251535be4f6ea1530ba6fd476c3 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 29 Apr 2021 15:20:34 +0100 Subject: [PATCH 165/280] devkitPPC: update gcc to 11.1.0 --- dkppc/patches/gcc-11.1.0.patch | 918 +++++++++++++++++++++++++++++++++ select_toolchain.sh | 2 +- 2 files changed, 919 insertions(+), 1 deletion(-) create mode 100644 dkppc/patches/gcc-11.1.0.patch diff --git a/dkppc/patches/gcc-11.1.0.patch b/dkppc/patches/gcc-11.1.0.patch new file mode 100644 index 0000000..4658d86 --- /dev/null +++ b/dkppc/patches/gcc-11.1.0.patch @@ -0,0 +1,918 @@ +diff --git a/config/gthr.m4 b/config/gthr.m4 +index 4b937306ad0..bfd0375bd60 100644 +--- a/config/gthr.m4 ++++ b/config/gthr.m4 +@@ -13,6 +13,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER], + case $1 in + aix) thread_header=config/rs6000/gthr-aix.h ;; + dce) thread_header=config/pa/gthr-dce.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + gcn) thread_header=config/gcn/gthr-gcn.h ;; + lynx) thread_header=config/gthr-lynx.h ;; + mipssde) thread_header=config/mips/gthr-mipssde.h ;; +diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c +index 360a280b23a..2c03947999a 100644 +--- a/gcc/config/i386/host-mingw32.c ++++ b/gcc/config/i386/host-mingw32.c +@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void); + static inline void w32_error(const char*, const char*, int, const char*); + + /* FIXME: Is this big enough? */ ++#if __MINGW64__ ++static const size_t pch_VA_max_size = UINT64_C(64 * 1024 * 1024 * 1024); ++#else + static const size_t pch_VA_max_size = 128 * 1024 * 1024; ++#endif + + /* Granularity for reserving address space. */ + static size_t va_granularity = 0x10000; +diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h +index 65d1fa2cd1f..51991aab75c 100644 +--- a/gcc/config/newlib-stdint.h ++++ b/gcc/config/newlib-stdint.h +@@ -25,7 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + /* newlib uses 32-bit long in certain cases for all non-SPU + targets. */ + #ifndef STDINT_LONG32 +-#define STDINT_LONG32 (LONG_TYPE_SIZE == 32) ++#define STDINT_LONG32 0 + #endif + + #define SIG_ATOMIC_TYPE "int" +diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h +index 164d359b724..4785fcf6e73 100644 +--- a/gcc/config/rs6000/rs6000.h ++++ b/gcc/config/rs6000/rs6000.h +@@ -196,6 +196,7 @@ ASM_OPT_ANY + /* -mcpu=native handling only makes sense with compiler running on + an PowerPC chip. If changing this condition, also change + the condition in driver-rs6000.c. */ ++#if 0 + #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX) + /* In driver-rs6000.c. */ + extern const char *host_detect_local_cpu (int argc, const char **argv); +@@ -207,6 +208,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); + #else + #define ASM_CPU_NATIVE_SPEC "%(asm_default)" + #endif ++#endif ++#define ASM_CPU_NATIVE_SPEC "%(asm_default)" + + #ifndef CC1_CPU_SPEC + #ifdef HAVE_LOCAL_CPU_DETECT +diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h +index 510abe169c5..988e82007b0 100644 +--- a/gcc/config/rs6000/sysv4.h ++++ b/gcc/config/rs6000/sysv4.h +@@ -590,7 +590,11 @@ GNU_USER_TARGET_CC1_SPEC + + /* Default starting address if specified. */ + #define LINK_START_SPEC "\ +-%{mads : %(link_start_ads) ; \ ++%{mgcn|mogc : %(link_start_ogc) ; \ ++ mvgc : %(link_start_vgc) ; \ ++ mgcbios : %(link_start_gcb) ; \ ++ mrvl : %(link_start_rvl) ; \ ++ mads : %(link_start_ads) ; \ + myellowknife : %(link_start_yellowknife) ; \ + mmvme : %(link_start_mvme) ; \ + msim : %(link_start_sim) ; \ +@@ -621,7 +625,8 @@ GNU_USER_TARGET_CC1_SPEC + + /* Any specific OS flags. */ + #define LINK_OS_SPEC "\ +-%{mads : %(link_os_ads) ; \ ++%{mgcn|mogc|mvgc|mgcbios|mrvl : %(link_os_ogc) ; \ ++ mads : %(link_os_ads) ; \ + myellowknife : %(link_os_yellowknife) ; \ + mmvme : %(link_os_mvme) ; \ + msim : %(link_os_sim) ; \ +@@ -636,7 +641,10 @@ GNU_USER_TARGET_CC1_SPEC + /* Override rs6000.h definition. */ + #undef CPP_SPEC + #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ +-%{mads : %(cpp_os_ads) ; \ ++%{mgcn : %(cpp_os_gcn) ; \ ++ mogc|mvgc|mgcbios : %(cpp_os_ogc) ; \ ++ mrvl : %(cpp_os_rvl) ; \ ++ mads : %(cpp_os_ads) ; \ + myellowknife : %(cpp_os_yellowknife) ; \ + mmvme : %(cpp_os_mvme) ; \ + msim : %(cpp_os_sim) ; \ +@@ -650,7 +658,10 @@ GNU_USER_TARGET_CC1_SPEC + + #undef STARTFILE_SPEC + #define STARTFILE_SPEC "\ +-%{mads : %(startfile_ads) ; \ ++%{mgcn : %(startfile_gcn) ; \ ++ mogc|mvgc|mgcbios : %(startfile_ogc) ; \ ++ mrvl : %(startfile_ogc) ; \ ++ mads : %(startfile_ads) ; \ + myellowknife : %(startfile_yellowknife) ; \ + mmvme : %(startfile_mvme) ; \ + msim : %(startfile_sim) ; \ +@@ -664,7 +675,8 @@ GNU_USER_TARGET_CC1_SPEC + + #undef LIB_SPEC + #define LIB_SPEC "\ +-%{mads : %(lib_ads) ; \ ++%{mgcn|mogc|mvgc|mgcbios|mrvl : %(lib_ogc) ; \ ++ mads : %(lib_ads) ; \ + myellowknife : %(lib_yellowknife) ; \ + mmvme : %(lib_mvme) ; \ + msim : %(lib_sim) ; \ +@@ -674,11 +686,12 @@ GNU_USER_TARGET_CC1_SPEC + mcall-openbsd: %(lib_openbsd) ; \ + : %(lib_default) }" + +-#define LIB_DEFAULT_SPEC "-lc" ++#define LIB_DEFAULT_SPEC "--start-group -lsysbase -lc --end-group" + + #undef ENDFILE_SPEC + #define ENDFILE_SPEC "\ +-%{mads : %(endfile_ads) ; \ ++%{mgcn|mogc|mvgc|mgcbios|mrvl : %(endfile_ogc) ; \ ++ mads : %(endfile_ads) ; \ + myellowknife : %(endfile_yellowknife) ; \ + mmvme : %(endfile_mvme) ; \ + msim : %(endfile_sim) ; \ +@@ -694,16 +707,27 @@ GNU_USER_TARGET_CC1_SPEC + + /* Motorola ADS support. */ + #define LIB_ADS_SPEC "--start-group -lads -lc --end-group" ++#define LIB_OGC_SPEC "--start-group -lsysbase -lc --end-group" + + #define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s" ++#define STARTFILE_OGC_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s" + + #define ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s" ++#define ENDFILE_OGC_SPEC "crtend.o%s ecrtn.o%s" + + #define LINK_START_ADS_SPEC "-T ads.ld%s" ++#define LINK_START_OGC_SPEC "-T ogc.ld%s" ++#define LINK_START_RVL_SPEC "-T rvl.ld%s" ++#define LINK_START_VGC_SPEC "-T vgcogc.ld%s" ++#define LINK_START_GCB_SPEC "-T gcbogc.ld%s" + + #define LINK_OS_ADS_SPEC "" ++#define LINK_OS_OGC_SPEC "--gc-sections" + + #define CPP_OS_ADS_SPEC "" ++#define CPP_OS_GCN_SPEC "-D__gamecube__ -ffunction-sections -fdata-sections" ++#define CPP_OS_OGC_SPEC "-D__gamecube__ -DHW_DOL -ffunction-sections -fdata-sections" ++#define CPP_OS_RVL_SPEC "-D__wii__ -DHW_RVL -ffunction-sections -fdata-sections" + + /* Motorola Yellowknife support. */ + #define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" +@@ -851,6 +875,7 @@ ncrtn.o%s" + #undef SUBTARGET_EXTRA_SPECS + #define SUBTARGET_EXTRA_SPECS \ + { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ ++ { "lib_ogc", LIB_OGC_SPEC }, \ + { "lib_ads", LIB_ADS_SPEC }, \ + { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ + { "lib_mvme", LIB_MVME_SPEC }, \ +@@ -860,6 +885,7 @@ ncrtn.o%s" + { "lib_netbsd", LIB_NETBSD_SPEC }, \ + { "lib_openbsd", LIB_OPENBSD_SPEC }, \ + { "lib_default", LIB_DEFAULT_SPEC }, \ ++ { "startfile_ogc", STARTFILE_OGC_SPEC }, \ + { "startfile_ads", STARTFILE_ADS_SPEC }, \ + { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ + { "startfile_mvme", STARTFILE_MVME_SPEC }, \ +@@ -869,6 +895,7 @@ ncrtn.o%s" + { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ + { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ + { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ ++ { "endfile_ogc", ENDFILE_OGC_SPEC }, \ + { "endfile_ads", ENDFILE_ADS_SPEC }, \ + { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ + { "endfile_mvme", ENDFILE_MVME_SPEC }, \ +@@ -880,7 +907,11 @@ ncrtn.o%s" + { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ + { "link_shlib", LINK_SHLIB_SPEC }, \ + { "link_start", LINK_START_SPEC }, \ ++ { "link_start_vgc", LINK_START_VGC_SPEC }, \ ++ { "link_start_gcb", LINK_START_GCB_SPEC }, \ ++ { "link_start_rvl", LINK_START_RVL_SPEC }, \ + { "link_start_ads", LINK_START_ADS_SPEC }, \ ++ { "link_start_ogc", LINK_START_OGC_SPEC }, \ + { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ + { "link_start_mvme", LINK_START_MVME_SPEC }, \ + { "link_start_sim", LINK_START_SIM_SPEC }, \ +@@ -890,6 +921,7 @@ ncrtn.o%s" + { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ + { "link_start_default", LINK_START_DEFAULT_SPEC }, \ + { "link_os", LINK_OS_SPEC }, \ ++ { "link_os_ogc", LINK_OS_OGC_SPEC }, \ + { "link_os_ads", LINK_OS_ADS_SPEC }, \ + { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ + { "link_os_mvme", LINK_OS_MVME_SPEC }, \ +@@ -901,6 +933,9 @@ ncrtn.o%s" + { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ + { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ + { "link_secure_plt", LINK_SECURE_PLT_SPEC }, \ ++ { "cpp_os_gcn", CPP_OS_GCN_SPEC }, \ ++ { "cpp_os_ogc", CPP_OS_OGC_SPEC }, \ ++ { "cpp_os_rvl", CPP_OS_RVL_SPEC }, \ + { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ + { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ + { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ +diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt +index 7ab55c49940..763709e907e 100644 +--- a/gcc/config/rs6000/sysv4.opt ++++ b/gcc/config/rs6000/sysv4.opt +@@ -124,6 +124,26 @@ mads + Target RejectNegative + Link with libads.a, libc.a and crt0.o. + ++mgcn ++Target RejectNegative ++Link with libsysbase.a and libc.a, use ogc linker script ++ ++mogc ++Target RejectNegative ++Link with libsysbase.a and libc.a, use ogc linker script ++ ++mgcbios ++Target RejectNegative ++Link with libsysbase.a and libc.a, use gcbogc linker script ++ ++mvgc ++Target RejectNegative ++Link with libsysbase.a and libc.a, use gcbogc linker script ++ ++mrvl ++Target RejectNegative ++Link with libsysbase.a and libc.a, use rvl linker script ++ + myellowknife + Target RejectNegative + Link with libyk.a, libc.a and crt0.o. +diff --git a/gcc/configure b/gcc/configure +index e8ecb3b0297..10ebe252c12 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -12593,7 +12593,7 @@ case ${enable_threads} in + # default + target_thread_file='single' + ;; +- aix | dce | lynx | mipssde | posix | rtems | \ ++ aix | dce | dkp | lynx | mipssde | posix | rtems | \ + single | tpf | vxworks | win32) + target_thread_file=${enable_threads} + ;; +diff --git a/gcc/configure.ac b/gcc/configure.ac +index 96a6f62b0d3..c5dd3465634 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -1925,7 +1925,7 @@ case ${enable_threads} in + # default + target_thread_file='single' + ;; +- aix | dce | lynx | mipssde | posix | rtems | \ ++ aix | dce | dkp | lynx | mipssde | posix | rtems | \ + single | tpf | vxworks | win32) + target_thread_file=${enable_threads} + ;; +diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S +index b372409dd42..708ba039963 100644 +--- a/libgcc/config/rs6000/crtrestvr.S ++++ b/libgcc/config/rs6000/crtrestvr.S +@@ -24,7 +24,7 @@ + + /* On PowerPC64 Linux, these functions are provided by the linker. */ + #ifndef __powerpc64__ +- ++#if 0 + #undef __ALTIVEC__ + #define __ALTIVEC__ 1 + #include "ppc-asm.h" +@@ -86,3 +86,4 @@ FUNC_END(_restvr_20) + CFI_ENDPROC + + #endif ++#endif +diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S +index 48a4d65eed4..6835ea69279 100644 +--- a/libgcc/config/rs6000/crtsavevr.S ++++ b/libgcc/config/rs6000/crtsavevr.S +@@ -24,7 +24,7 @@ + + /* On PowerPC64 Linux, these functions are provided by the linker. */ + #ifndef __powerpc64__ +- ++#if 0 + #undef __ALTIVEC__ + #define __ALTIVEC__ 1 + #include "ppc-asm.h" +@@ -86,3 +86,4 @@ FUNC_END(_savevr_20) + CFI_ENDPROC + + #endif ++#endif +diff --git a/libgcc/config/rs6000/gthr-dkp.c b/libgcc/config/rs6000/gthr-dkp.c +new file mode 100644 +index 00000000000..26180aa7f36 +--- /dev/null ++++ b/libgcc/config/rs6000/gthr-dkp.c +@@ -0,0 +1,319 @@ ++/* Threads compatibility routines for libgcc2 and libobjc. */ ++/* Compile this one with gcc. */ ++/* Copyright (C) 1997-2016 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. ++ ++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 ++. */ ++ ++#define _BUILDING_LIBGCC ++#include "gthr-dkp.h" ++#include ++ ++ ++int ++__gthread_active_p (void) ++{ ++ if (!__has_gthr_impl(active)) { ++ return 0; ++ } ++ ++ return __gthr_impl_active(); ++} ++ ++int ++__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), ++ void *__args) ++{ ++ if (!__has_gthr_impl(create)) { ++ return -1; ++ } ++ ++ return __gthr_impl_create(__threadid, __func, __args); ++} ++ ++int ++__gthread_join (__gthread_t __threadid, void **__value_ptr) ++{ ++ if (!__has_gthr_impl(join)) { ++ return -1; ++ } ++ ++ return __gthr_impl_join(__threadid, __value_ptr); ++} ++ ++int ++__gthread_detach (__gthread_t __threadid) ++{ ++ if (!__has_gthr_impl(detach)) { ++ return -1; ++ } ++ ++ return __gthr_impl_detach(__threadid); ++} ++ ++int ++__gthread_equal (__gthread_t __t1, __gthread_t __t2) ++{ ++ if (!__has_gthr_impl(equal)) { ++ return -1; ++ } ++ ++ return __gthr_impl_equal(__t1, __t2); ++} ++ ++__gthread_t ++__gthread_self (void) ++{ ++ if (!__has_gthr_impl(self)) { ++ __gthread_t result = { 0 }; ++ return result; ++ } ++ ++ return __gthr_impl_self(); ++} ++ ++int ++__gthread_yield (void) ++{ ++ if (!__has_gthr_impl(yield)) { ++ return -1; ++ } ++ ++ return __gthr_impl_yield(); ++} ++ ++int ++__gthread_once (__gthread_once_t *__once, void (*__func) (void)) ++{ ++ if (!__has_gthr_impl(once)) { ++ return -1; ++ } ++ ++ return __gthr_impl_once(__once, __func); ++} ++ ++int ++__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) ++{ ++ if (!__has_gthr_impl(key_create)) { ++ return -1; ++ } ++ ++ return __gthr_impl_key_create(__key, __dtor); ++} ++ ++int ++__gthread_key_delete (__gthread_key_t __key) ++{ ++ if (!__has_gthr_impl(key_delete)) { ++ return -1; ++ } ++ ++ return __gthr_impl_key_delete(__key); ++} ++ ++void * ++__gthread_getspecific (__gthread_key_t __key) ++{ ++ if (!__has_gthr_impl(getspecific)) { ++ return NULL; ++ } ++ ++ return __gthr_impl_getspecific(__key); ++} ++ ++int ++__gthread_setspecific (__gthread_key_t __key, const void *__ptr) ++{ ++ if (!__has_gthr_impl(setspecific)) { ++ return -1; ++ } ++ ++ return __gthr_impl_setspecific(__key, __ptr); ++} ++ ++void ++__gthread_mutex_init_function (__gthread_mutex_t *__mutex) ++{ ++ if (__has_gthr_impl(mutex_init_function)) { ++ __gthr_impl_mutex_init_function(__mutex); ++ } ++} ++ ++int ++__gthread_mutex_destroy (__gthread_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(mutex_destroy)) { ++ return -1; ++ } ++ ++ return __gthr_impl_mutex_destroy(__mutex); ++} ++ ++int ++__gthread_mutex_lock (__gthread_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(mutex_lock)) { ++ return -1; ++ } ++ ++ return __gthr_impl_mutex_lock(__mutex); ++} ++ ++int ++__gthread_mutex_trylock (__gthread_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(mutex_trylock)) { ++ return -1; ++ } ++ ++ return __gthr_impl_mutex_trylock(__mutex); ++} ++ ++int ++__gthread_mutex_unlock (__gthread_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(mutex_unlock)) { ++ return -1; ++ } ++ ++ return __gthr_impl_mutex_unlock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(recursive_mutex_init_function)) { ++ return -1; ++ } ++ ++ return __gthr_impl_recursive_mutex_init_function(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(recursive_mutex_lock)) { ++ return -1; ++ } ++ ++ return __gthr_impl_recursive_mutex_lock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(recursive_mutex_trylock)) { ++ return -1; ++ } ++ ++ return __gthr_impl_recursive_mutex_trylock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(recursive_mutex_unlock)) { ++ return -1; ++ } ++ ++ return __gthr_impl_recursive_mutex_unlock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(recursive_mutex_destroy)) { ++ return -1; ++ } ++ ++ return __gthr_impl_recursive_mutex_destroy(__mutex); ++} ++ ++void ++__gthread_cond_init_function (__gthread_cond_t *__cond) ++{ ++ if (__has_gthr_impl(cond_init_function)) { ++ __gthr_impl_cond_init_function(__cond); ++ } ++} ++ ++int ++__gthread_cond_broadcast (__gthread_cond_t *__cond) ++{ ++ if (!__has_gthr_impl(cond_broadcast)) { ++ return -1; ++ } ++ ++ return __gthr_impl_cond_broadcast(__cond); ++} ++ ++int ++__gthread_cond_signal (__gthread_cond_t *__cond) ++{ ++ if (!__has_gthr_impl(cond_signal)) { ++ return -1; ++ } ++ ++ return __gthr_impl_cond_signal(__cond); ++} ++ ++int ++__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(cond_wait)) { ++ return -1; ++ } ++ ++ return __gthr_impl_cond_wait(__cond, __mutex); ++} ++ ++int ++__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, ++ const __gthread_time_t *__abs_timeout) ++{ ++ if (!__has_gthr_impl(cond_timedwait)) { ++ return -1; ++ } ++ ++ return __gthr_impl_cond_timedwait(__cond, __mutex, __abs_timeout); ++} ++ ++int ++__gthread_cond_wait_recursive (__gthread_cond_t *__cond, ++ __gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(cond_wait_recursive)) { ++ return -1; ++ } ++ ++ return __gthr_impl_cond_wait_recursive(__cond, __mutex); ++} ++ ++int ++__gthread_cond_destroy (__gthread_cond_t* __cond) ++{ ++ if (!__has_gthr_impl(cond_destroy)) { ++ return -1; ++ } ++ ++ return __gthr_impl_cond_destroy(__cond); ++} +diff --git a/libgcc/config/rs6000/gthr-dkp.h b/libgcc/config/rs6000/gthr-dkp.h +new file mode 100644 +index 00000000000..72ecf82ab83 +--- /dev/null ++++ b/libgcc/config/rs6000/gthr-dkp.h +@@ -0,0 +1,187 @@ ++/* Threads compatibility routines for libgcc2 and libobjc. */ ++/* Compile this one with gcc. */ ++/* Copyright (C) 1997-2016 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. ++ ++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 ++. */ ++ ++#ifndef _GLIBCXX_GCC_GTHR_DKP_H ++#define _GLIBCXX_GCC_GTHR_DKP_H ++ ++#define __GTHREADS 1 ++#define __GTHREADS_CXX0X 1 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++typedef void * __gthread_t; ++typedef struct { int padding[7]; } __gthread_cond_t; ++typedef struct { int padding; } __gthread_key_t; ++typedef struct { int padding[11]; } __gthread_mutex_t; ++typedef struct { int padding; } __gthread_once_t; ++typedef struct { int padding[11]; } __gthread_recursive_mutex_t; ++typedef struct timespec __gthread_time_t; ++ ++#define __GTHREAD_HAS_COND 1 ++#define _GTHREAD_USE_MUTEX_TIMEDLOCK 0 ++ ++#define __GTHREAD_ONCE_INIT { 0 } ++#define __GTHREAD_TIME_INIT { 0, 0 } ++ ++#define __GTHREAD_COND_INIT_FUNCTION __gthread_cond_init_function ++#define __GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function ++#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function ++ ++#ifdef _BUILDING_LIBGCC ++#define __GTHR_IMPL(_name) __attribute__((weak)) __gthr_impl_##_name ++#define __has_gthr_impl(_name) (&__gthr_impl_##_name) ++#else ++#define __GTHR_IMPL(_name) __gthr_impl_##_name ++#endif ++ ++int __GTHR_IMPL(active) (void); ++int __GTHR_IMPL(create) (__gthread_t *__threadid, void *(*__func) (void*), void *__args); ++int __GTHR_IMPL(join) (__gthread_t __threadid, void **__value_ptr); ++int __GTHR_IMPL(detach) (__gthread_t __threadid); ++int __GTHR_IMPL(equal) (__gthread_t __t1, __gthread_t __t2); ++__gthread_t __GTHR_IMPL(self) (void); ++int __GTHR_IMPL(yield) (void); ++int __GTHR_IMPL(once) (__gthread_once_t *__once, void (*__func) (void)); ++int __GTHR_IMPL(key_create) (__gthread_key_t *__key, void (*__dtor) (void *)); ++int __GTHR_IMPL(key_delete) (__gthread_key_t __key); ++void * __GTHR_IMPL(getspecific) (__gthread_key_t __key); ++int __GTHR_IMPL(setspecific) (__gthread_key_t __key, const void *__ptr); ++void __GTHR_IMPL(mutex_init_function) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(mutex_destroy) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(mutex_lock) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(mutex_trylock) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(mutex_unlock) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_init_function) (__gthread_recursive_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_lock) (__gthread_recursive_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_trylock) (__gthread_recursive_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_unlock) (__gthread_recursive_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_destroy) (__gthread_recursive_mutex_t *__mutex); ++void __GTHR_IMPL(cond_init_function) (__gthread_cond_t *__cond); ++int __GTHR_IMPL(cond_broadcast) (__gthread_cond_t *__cond); ++int __GTHR_IMPL(cond_signal) (__gthread_cond_t *__cond); ++int __GTHR_IMPL(cond_wait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); ++int __GTHR_IMPL(cond_timedwait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, ++ const __gthread_time_t *__abs_timeout); ++int __GTHR_IMPL(cond_wait_recursive) (__gthread_cond_t *__cond, ++ __gthread_recursive_mutex_t *__mutex); ++int __GTHR_IMPL(cond_destroy) (__gthread_cond_t* __cond); ++ ++int ++__gthread_active_p (void); ++ ++int ++__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), ++ void *__args); ++ ++int ++__gthread_join (__gthread_t __threadid, void **__value_ptr); ++ ++int ++__gthread_detach (__gthread_t __threadid); ++ ++int ++__gthread_equal (__gthread_t __t1, __gthread_t __t2); ++ ++__gthread_t ++__gthread_self (void); ++ ++int ++__gthread_yield (void); ++ ++int ++__gthread_once (__gthread_once_t *__once, void (*__func) (void)); ++ ++int ++__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)); ++ ++int ++__gthread_key_delete (__gthread_key_t __key); ++ ++void * ++__gthread_getspecific (__gthread_key_t __key); ++ ++int ++__gthread_setspecific (__gthread_key_t __key, const void *__ptr); ++ ++void ++__gthread_mutex_init_function (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_destroy (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_lock (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_trylock (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_unlock (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex); ++ ++void ++__gthread_cond_init_function (__gthread_cond_t *__cond); ++ ++int ++__gthread_cond_broadcast (__gthread_cond_t *__cond); ++ ++int ++__gthread_cond_signal (__gthread_cond_t *__cond); ++ ++int ++__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); ++ ++int ++__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, ++ const __gthread_time_t *__abs_timeout); ++ ++int ++__gthread_cond_wait_recursive (__gthread_cond_t *__cond, ++ __gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_cond_destroy (__gthread_cond_t* __cond); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */ +diff --git a/libgcc/config/rs6000/t-ppccomm b/libgcc/config/rs6000/t-ppccomm +index fb812d3801f..7f6669d530f 100644 +--- a/libgcc/config/rs6000/t-ppccomm ++++ b/libgcc/config/rs6000/t-ppccomm +@@ -1,4 +1,5 @@ + LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c \ ++ $(srcdir)/config/rs6000/gthr-dkp.c \ + $(srcdir)/config/rs6000/tramp.S + + # This can't end up in shared libgcc +diff --git a/libgcc/configure b/libgcc/configure +index dd3afb2c957..abc5466abdc 100755 +--- a/libgcc/configure ++++ b/libgcc/configure +@@ -5642,6 +5642,7 @@ tm_file="${tm_file_}" + case $target_thread_file in + aix) thread_header=config/rs6000/gthr-aix.h ;; + dce) thread_header=config/pa/gthr-dce.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + gcn) thread_header=config/gcn/gthr-gcn.h ;; + lynx) thread_header=config/gthr-lynx.h ;; + mipssde) thread_header=config/mips/gthr-mipssde.h ;; +diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c +index 675930db043..bdfd6f6b0bb 100644 +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -325,7 +325,7 @@ register_tm_clones (void) + + #ifdef OBJECT_FORMAT_ELF + +-#if DEFAULT_USE_CXA_ATEXIT ++#if 1 /* DEFAULT_USE_CXA_ATEXIT */ + /* Declare the __dso_handle variable. It should have a unique value + in every shared-object; in a main program its value is zero. The + object should in any case be protected. This means the instance +diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure +index 326a279c54f..d2cb9d18294 100755 +--- a/libstdc++-v3/configure ++++ b/libstdc++-v3/configure +@@ -15698,6 +15698,7 @@ $as_echo "$target_thread_file" >&6; } + case $target_thread_file in + aix) thread_header=config/rs6000/gthr-aix.h ;; + dce) thread_header=config/pa/gthr-dce.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + gcn) thread_header=config/gcn/gthr-gcn.h ;; + lynx) thread_header=config/gthr-lynx.h ;; + mipssde) thread_header=config/mips/gthr-mipssde.h ;; +diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h +index 0413e3b7c25..ff5f8bbe1a1 100644 +--- a/libstdc++-v3/include/c_compatibility/fenv.h ++++ b/libstdc++-v3/include/c_compatibility/fenv.h +@@ -26,6 +26,10 @@ + * This is a Standard C++ Library header. + */ + ++#if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS ++# include_next ++#else ++ + #ifndef _GLIBCXX_FENV_H + #define _GLIBCXX_FENV_H 1 + +@@ -79,3 +83,5 @@ namespace std + #endif // C++11 + + #endif // _GLIBCXX_FENV_H ++ ++#endif // __cplusplus +diff --git a/libstdc++-v3/include/c_global/cfenv b/libstdc++-v3/include/c_global/cfenv +index 0b0ec35a837..d24cb1a3c81 100644 +--- a/libstdc++-v3/include/c_global/cfenv ++++ b/libstdc++-v3/include/c_global/cfenv +@@ -37,9 +37,11 @@ + + #include + +-#if _GLIBCXX_HAVE_FENV_H +-# include +-#endif ++// Need to ensure this finds the C library's not a libstdc++ ++// wrapper that might already be installed later in the include search path. ++#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS ++#include_next ++#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS + + #ifdef _GLIBCXX_USE_C99_FENV_TR1 + diff --git a/select_toolchain.sh b/select_toolchain.sh index 269c205..d0d51ec 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -39,7 +39,7 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - GCC_VER=10.2.0 + GCC_VER=11.1.0 BINUTILS_VER=2.36.1 MN_BINUTILS_VER=2.17 NEWLIB_VER=4.1.0 From 771225f45a9d774b2fac57b5a9d78e32dadea091 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 29 Apr 2021 18:16:23 +0100 Subject: [PATCH 166/280] devkitPPC: move mn10200 binutils to 2.24 --- select_toolchain.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/select_toolchain.sh b/select_toolchain.sh index d0d51ec..ebe5a23 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -41,7 +41,7 @@ case "$VERSION" in "2" ) GCC_VER=11.1.0 BINUTILS_VER=2.36.1 - MN_BINUTILS_VER=2.17 + MN_BINUTILS_VER=2.24 NEWLIB_VER=4.1.0 basedir='dkppc' package=devkitPPC From 90fb45065ca2a63077d3668bf83851fe5f05e988 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 29 Apr 2021 19:52:17 +0100 Subject: [PATCH 167/280] devkitPPC: disable unwanted features --- dkppc/scripts/build-gcc.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index c9046f5..9614042 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -94,12 +94,14 @@ then --disable-libstdcxx-verbose \ --enable-libstdcxx-time=yes \ --enable-libstdcxx-filesystem-ts \ + --disable-tm-clone-registry \ + --disable-__cxa_atexit \ --enable-cxx-flags='-ffunction-sections -fdata-sections' \ --target=$target \ --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ - --prefix=$prefix\ - --with-system-zlib\ + --prefix=$prefix \ + --with-system-zlib \ --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 39" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ From 540dbb84c62eda4fb9182c6437e44cb7cffe2761 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 25 May 2021 09:13:35 +0100 Subject: [PATCH 168/280] devkitPPC: remove stale patches --- dkppc/patches/binutils-2.32.patch | 12 - dkppc/patches/binutils-2.34.patch | 12 - dkppc/patches/gcc-10.2.0.patch | 904 ------------------------------ dkppc/patches/gdb-8.2.1.patch | 60 -- 4 files changed, 988 deletions(-) delete mode 100644 dkppc/patches/binutils-2.32.patch delete mode 100644 dkppc/patches/binutils-2.34.patch delete mode 100644 dkppc/patches/gcc-10.2.0.patch delete mode 100644 dkppc/patches/gdb-8.2.1.patch diff --git a/dkppc/patches/binutils-2.32.patch b/dkppc/patches/binutils-2.32.patch deleted file mode 100644 index b5df4e7..0000000 --- a/dkppc/patches/binutils-2.32.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -NBaur binutils-2.31.1/opcodes/ppc-opc.c binutils-2.31.1-ppc/opcodes/ppc-opc.c ---- binutils-2.31.1/opcodes/ppc-opc.c 2018-06-24 19:38:58.000000000 +0100 -+++ binutils-2.31.1-ppc/opcodes/ppc-opc.c 2018-11-01 10:59:42.814553627 +0000 -@@ -3501,7 +3501,7 @@ - #define MFDEC2 (PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE \ - | PPC_OPCODE_TITAN) - #define BOOKE PPC_OPCODE_BOOKE --#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS -+#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS - #define PPCE300 PPC_OPCODE_E300 - #define PPCSPE PPC_OPCODE_SPE - #define PPCSPE2 PPC_OPCODE_SPE2 diff --git a/dkppc/patches/binutils-2.34.patch b/dkppc/patches/binutils-2.34.patch deleted file mode 100644 index d230e8a..0000000 --- a/dkppc/patches/binutils-2.34.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -NBaur binutils-2.34/opcodes/ppc-opc.c binutils-2.34-ppc/opcodes/ppc-opc.c ---- binutils-2.34/opcodes/ppc-opc.c 2020-01-18 13:55:49.000000000 +0000 -+++ binutils-2.34-ppc/opcodes/ppc-opc.c 2020-05-22 10:47:37.900308413 +0000 -@@ -3747,7 +3747,7 @@ - #define MFDEC2 (PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE \ - | PPC_OPCODE_TITAN) - #define BOOKE PPC_OPCODE_BOOKE --#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS -+#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS - #define PPCE300 PPC_OPCODE_E300 - #define PPCSPE PPC_OPCODE_SPE - #define PPCSPE2 PPC_OPCODE_SPE2 diff --git a/dkppc/patches/gcc-10.2.0.patch b/dkppc/patches/gcc-10.2.0.patch deleted file mode 100644 index 066fc8c..0000000 --- a/dkppc/patches/gcc-10.2.0.patch +++ /dev/null @@ -1,904 +0,0 @@ -diff --git a/config/gthr.m4 b/config/gthr.m4 -index 4b937306ad0..bfd0375bd60 100644 ---- a/config/gthr.m4 -+++ b/config/gthr.m4 -@@ -13,6 +13,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER], - case $1 in - aix) thread_header=config/rs6000/gthr-aix.h ;; - dce) thread_header=config/pa/gthr-dce.h ;; -+ dkp) thread_header=config/rs6000/gthr-dkp.h ;; - gcn) thread_header=config/gcn/gthr-gcn.h ;; - lynx) thread_header=config/gthr-lynx.h ;; - mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c -index 250fef59b55..36b2239aa5d 100644 ---- a/gcc/config/i386/host-mingw32.c -+++ b/gcc/config/i386/host-mingw32.c -@@ -44,9 +44,6 @@ static size_t mingw32_gt_pch_alloc_granularity (void); - - static inline void w32_error(const char*, const char*, int, const char*); - --/* FIXME: Is this big enough? */ --static const size_t pch_VA_max_size = 128 * 1024 * 1024; -- - /* Granularity for reserving address space. */ - static size_t va_granularity = 0x10000; - -@@ -88,9 +85,6 @@ static void * - mingw32_gt_pch_get_address (size_t size, int) - { - void* res; -- size = (size + va_granularity - 1) & ~(va_granularity - 1); -- if (size > pch_VA_max_size) -- return NULL; - - /* FIXME: We let system determine base by setting first arg to NULL. - Allocating at top of available address space avoids unnecessary -@@ -100,7 +94,7 @@ mingw32_gt_pch_get_address (size_t size, int) - If we allocate at bottom we need to reserve the address as early - as possible and at the same point in each invocation. */ - -- res = VirtualAlloc (NULL, pch_VA_max_size, -+ res = VirtualAlloc (NULL, size, - MEM_RESERVE | MEM_TOP_DOWN, - PAGE_NOACCESS); - if (!res) -@@ -150,7 +144,7 @@ mingw32_gt_pch_use_address (void *addr, size_t size, int fd, - - /* Offset must be also be a multiple of allocation granularity for - this to work. We can't change the offset. */ -- if ((offset & (va_granularity - 1)) != 0 || size > pch_VA_max_size) -+ if ((offset & (va_granularity - 1)) != 0) - return -1; - - -diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h -index 2e086f16de9..1c27c6467bc 100644 ---- a/gcc/config/newlib-stdint.h -+++ b/gcc/config/newlib-stdint.h -@@ -25,7 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - /* newlib uses 32-bit long in certain cases for all non-SPU - targets. */ - #ifndef STDINT_LONG32 --#define STDINT_LONG32 (LONG_TYPE_SIZE == 32) -+#define STDINT_LONG32 0 - #endif - - #define SIG_ATOMIC_TYPE "int" -diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h -index 132ca20fd7d..119ee5bbc8c 100644 ---- a/gcc/config/rs6000/rs6000.h -+++ b/gcc/config/rs6000/rs6000.h -@@ -196,6 +196,7 @@ ASM_OPT_ANY - /* -mcpu=native handling only makes sense with compiler running on - an PowerPC chip. If changing this condition, also change - the condition in driver-rs6000.c. */ -+#if 0 - #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX) - /* In driver-rs6000.c. */ - extern const char *host_detect_local_cpu (int argc, const char **argv); -@@ -207,6 +208,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); - #else - #define ASM_CPU_NATIVE_SPEC "%(asm_default)" - #endif -+#endif -+#define ASM_CPU_NATIVE_SPEC "%(asm_default)" - - #ifndef CC1_CPU_SPEC - #ifdef HAVE_LOCAL_CPU_DETECT -diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h -index 9ade72114e9..cede792d3a7 100644 ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -590,7 +590,11 @@ GNU_USER_TARGET_CC1_SPEC - - /* Default starting address if specified. */ - #define LINK_START_SPEC "\ --%{mads : %(link_start_ads) ; \ -+%{mgcn|mogc : %(link_start_ogc) ; \ -+ mvgc : %(link_start_vgc) ; \ -+ mgcbios : %(link_start_gcb) ; \ -+ mrvl : %(link_start_rvl) ; \ -+ mads : %(link_start_ads) ; \ - myellowknife : %(link_start_yellowknife) ; \ - mmvme : %(link_start_mvme) ; \ - msim : %(link_start_sim) ; \ -@@ -621,7 +625,8 @@ GNU_USER_TARGET_CC1_SPEC - - /* Any specific OS flags. */ - #define LINK_OS_SPEC "\ --%{mads : %(link_os_ads) ; \ -+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(link_os_ogc) ; \ -+ mads : %(link_os_ads) ; \ - myellowknife : %(link_os_yellowknife) ; \ - mmvme : %(link_os_mvme) ; \ - msim : %(link_os_sim) ; \ -@@ -636,7 +641,10 @@ GNU_USER_TARGET_CC1_SPEC - /* Override rs6000.h definition. */ - #undef CPP_SPEC - #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ --%{mads : %(cpp_os_ads) ; \ -+%{mgcn : %(cpp_os_gcn) ; \ -+ mogc|mvgc|mgcbios : %(cpp_os_ogc) ; \ -+ mrvl : %(cpp_os_rvl) ; \ -+ mads : %(cpp_os_ads) ; \ - myellowknife : %(cpp_os_yellowknife) ; \ - mmvme : %(cpp_os_mvme) ; \ - msim : %(cpp_os_sim) ; \ -@@ -650,7 +658,10 @@ GNU_USER_TARGET_CC1_SPEC - - #undef STARTFILE_SPEC - #define STARTFILE_SPEC "\ --%{mads : %(startfile_ads) ; \ -+%{mgcn : %(startfile_gcn) ; \ -+ mogc|mvgc|mgcbios : %(startfile_ogc) ; \ -+ mrvl : %(startfile_ogc) ; \ -+ mads : %(startfile_ads) ; \ - myellowknife : %(startfile_yellowknife) ; \ - mmvme : %(startfile_mvme) ; \ - msim : %(startfile_sim) ; \ -@@ -664,7 +675,8 @@ GNU_USER_TARGET_CC1_SPEC - - #undef LIB_SPEC - #define LIB_SPEC "\ --%{mads : %(lib_ads) ; \ -+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(lib_ogc) ; \ -+ mads : %(lib_ads) ; \ - myellowknife : %(lib_yellowknife) ; \ - mmvme : %(lib_mvme) ; \ - msim : %(lib_sim) ; \ -@@ -674,11 +686,12 @@ GNU_USER_TARGET_CC1_SPEC - mcall-openbsd: %(lib_openbsd) ; \ - : %(lib_default) }" - --#define LIB_DEFAULT_SPEC "-lc" -+#define LIB_DEFAULT_SPEC "--start-group -lsysbase -lc --end-group" - - #undef ENDFILE_SPEC - #define ENDFILE_SPEC "\ --%{mads : %(endfile_ads) ; \ -+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(endfile_ogc) ; \ -+ mads : %(endfile_ads) ; \ - myellowknife : %(endfile_yellowknife) ; \ - mmvme : %(endfile_mvme) ; \ - msim : %(endfile_sim) ; \ -@@ -694,16 +707,27 @@ GNU_USER_TARGET_CC1_SPEC - - /* Motorola ADS support. */ - #define LIB_ADS_SPEC "--start-group -lads -lc --end-group" -+#define LIB_OGC_SPEC "--start-group -lsysbase -lc --end-group" - - #define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s" -+#define STARTFILE_OGC_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s" - - #define ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s" -+#define ENDFILE_OGC_SPEC "crtend.o%s ecrtn.o%s" - - #define LINK_START_ADS_SPEC "-T ads.ld%s" -+#define LINK_START_OGC_SPEC "-T ogc.ld%s" -+#define LINK_START_RVL_SPEC "-T rvl.ld%s" -+#define LINK_START_VGC_SPEC "-T vgcogc.ld%s" -+#define LINK_START_GCB_SPEC "-T gcbogc.ld%s" - - #define LINK_OS_ADS_SPEC "" -+#define LINK_OS_OGC_SPEC "--gc-sections" - - #define CPP_OS_ADS_SPEC "" -+#define CPP_OS_GCN_SPEC "-D__gamecube__ -ffunction-sections -fdata-sections" -+#define CPP_OS_OGC_SPEC "-D__gamecube__ -DHW_DOL -ffunction-sections -fdata-sections" -+#define CPP_OS_RVL_SPEC "-D__wii__ -DHW_RVL -ffunction-sections -fdata-sections" - - /* Motorola Yellowknife support. */ - #define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" -@@ -851,6 +875,7 @@ ncrtn.o%s" - #undef SUBTARGET_EXTRA_SPECS - #define SUBTARGET_EXTRA_SPECS \ - { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ -+ { "lib_ogc", LIB_OGC_SPEC }, \ - { "lib_ads", LIB_ADS_SPEC }, \ - { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ - { "lib_mvme", LIB_MVME_SPEC }, \ -@@ -860,6 +885,7 @@ ncrtn.o%s" - { "lib_netbsd", LIB_NETBSD_SPEC }, \ - { "lib_openbsd", LIB_OPENBSD_SPEC }, \ - { "lib_default", LIB_DEFAULT_SPEC }, \ -+ { "startfile_ogc", STARTFILE_OGC_SPEC }, \ - { "startfile_ads", STARTFILE_ADS_SPEC }, \ - { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ - { "startfile_mvme", STARTFILE_MVME_SPEC }, \ -@@ -869,6 +895,7 @@ ncrtn.o%s" - { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ - { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ - { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ -+ { "endfile_ogc", ENDFILE_OGC_SPEC }, \ - { "endfile_ads", ENDFILE_ADS_SPEC }, \ - { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ - { "endfile_mvme", ENDFILE_MVME_SPEC }, \ -@@ -880,7 +907,11 @@ ncrtn.o%s" - { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ - { "link_shlib", LINK_SHLIB_SPEC }, \ - { "link_start", LINK_START_SPEC }, \ -+ { "link_start_vgc", LINK_START_VGC_SPEC }, \ -+ { "link_start_gcb", LINK_START_GCB_SPEC }, \ -+ { "link_start_rvl", LINK_START_RVL_SPEC }, \ - { "link_start_ads", LINK_START_ADS_SPEC }, \ -+ { "link_start_ogc", LINK_START_OGC_SPEC }, \ - { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ - { "link_start_mvme", LINK_START_MVME_SPEC }, \ - { "link_start_sim", LINK_START_SIM_SPEC }, \ -@@ -890,6 +921,7 @@ ncrtn.o%s" - { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ - { "link_start_default", LINK_START_DEFAULT_SPEC }, \ - { "link_os", LINK_OS_SPEC }, \ -+ { "link_os_ogc", LINK_OS_OGC_SPEC }, \ - { "link_os_ads", LINK_OS_ADS_SPEC }, \ - { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ - { "link_os_mvme", LINK_OS_MVME_SPEC }, \ -@@ -901,6 +933,9 @@ ncrtn.o%s" - { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ - { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ - { "link_secure_plt", LINK_SECURE_PLT_SPEC }, \ -+ { "cpp_os_gcn", CPP_OS_GCN_SPEC }, \ -+ { "cpp_os_ogc", CPP_OS_OGC_SPEC }, \ -+ { "cpp_os_rvl", CPP_OS_RVL_SPEC }, \ - { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ - { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ - { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ -diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt -index b49ba261f3c..4eda763dfca 100644 ---- a/gcc/config/rs6000/sysv4.opt -+++ b/gcc/config/rs6000/sysv4.opt -@@ -124,6 +124,26 @@ mads - Target RejectNegative - Link with libads.a, libc.a and crt0.o. - -+mgcn -+Target RejectNegative -+Link with libsysbase.a and libc.a, use ogc linker script -+ -+mogc -+Target RejectNegative -+Link with libsysbase.a and libc.a, use ogc linker script -+ -+mgcbios -+Target RejectNegative -+Link with libsysbase.a and libc.a, use gcbogc linker script -+ -+mvgc -+Target RejectNegative -+Link with libsysbase.a and libc.a, use gcbogc linker script -+ -+mrvl -+Target RejectNegative -+Link with libsysbase.a and libc.a, use rvl linker script -+ - myellowknife - Target RejectNegative - Link with libyk.a, libc.a and crt0.o. -diff --git a/gcc/configure b/gcc/configure -index eb6061c1631..4c6e993ca3a 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -12208,7 +12208,7 @@ case ${enable_threads} in - # default - target_thread_file='single' - ;; -- aix | dce | lynx | mipssde | posix | rtems | \ -+ aix | dce | dkp | lynx | mipssde | posix | rtems | \ - single | tpf | vxworks | win32) - target_thread_file=${enable_threads} - ;; -diff --git a/gcc/configure.ac b/gcc/configure.ac -index 715fcba0482..779743b69ee 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -1800,7 +1800,7 @@ case ${enable_threads} in - # default - target_thread_file='single' - ;; -- aix | dce | lynx | mipssde | posix | rtems | \ -+ aix | dce | dkp | lynx | mipssde | posix | rtems | \ - single | tpf | vxworks | win32) - target_thread_file=${enable_threads} - ;; -diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S -index 260fe4d1af6..664808cd19c 100644 ---- a/libgcc/config/rs6000/crtrestvr.S -+++ b/libgcc/config/rs6000/crtrestvr.S -@@ -24,7 +24,7 @@ - - /* On PowerPC64 Linux, these functions are provided by the linker. */ - #ifndef __powerpc64__ -- -+#if 0 - #undef __ALTIVEC__ - #define __ALTIVEC__ 1 - #include "ppc-asm.h" -@@ -86,3 +86,4 @@ FUNC_END(_restvr_20) - CFI_ENDPROC - - #endif -+#endif -diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S -index 7e1d5c5df98..2c62480d165 100644 ---- a/libgcc/config/rs6000/crtsavevr.S -+++ b/libgcc/config/rs6000/crtsavevr.S -@@ -24,7 +24,7 @@ - - /* On PowerPC64 Linux, these functions are provided by the linker. */ - #ifndef __powerpc64__ -- -+#if 0 - #undef __ALTIVEC__ - #define __ALTIVEC__ 1 - #include "ppc-asm.h" -@@ -86,3 +86,4 @@ FUNC_END(_savevr_20) - CFI_ENDPROC - - #endif -+#endif -diff --git a/libgcc/config/rs6000/gthr-dkp.c b/libgcc/config/rs6000/gthr-dkp.c -new file mode 100644 -index 00000000000..26180aa7f36 ---- /dev/null -+++ b/libgcc/config/rs6000/gthr-dkp.c -@@ -0,0 +1,319 @@ -+/* Threads compatibility routines for libgcc2 and libobjc. */ -+/* Compile this one with gcc. */ -+/* Copyright (C) 1997-2016 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. -+ -+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 -+. */ -+ -+#define _BUILDING_LIBGCC -+#include "gthr-dkp.h" -+#include -+ -+ -+int -+__gthread_active_p (void) -+{ -+ if (!__has_gthr_impl(active)) { -+ return 0; -+ } -+ -+ return __gthr_impl_active(); -+} -+ -+int -+__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), -+ void *__args) -+{ -+ if (!__has_gthr_impl(create)) { -+ return -1; -+ } -+ -+ return __gthr_impl_create(__threadid, __func, __args); -+} -+ -+int -+__gthread_join (__gthread_t __threadid, void **__value_ptr) -+{ -+ if (!__has_gthr_impl(join)) { -+ return -1; -+ } -+ -+ return __gthr_impl_join(__threadid, __value_ptr); -+} -+ -+int -+__gthread_detach (__gthread_t __threadid) -+{ -+ if (!__has_gthr_impl(detach)) { -+ return -1; -+ } -+ -+ return __gthr_impl_detach(__threadid); -+} -+ -+int -+__gthread_equal (__gthread_t __t1, __gthread_t __t2) -+{ -+ if (!__has_gthr_impl(equal)) { -+ return -1; -+ } -+ -+ return __gthr_impl_equal(__t1, __t2); -+} -+ -+__gthread_t -+__gthread_self (void) -+{ -+ if (!__has_gthr_impl(self)) { -+ __gthread_t result = { 0 }; -+ return result; -+ } -+ -+ return __gthr_impl_self(); -+} -+ -+int -+__gthread_yield (void) -+{ -+ if (!__has_gthr_impl(yield)) { -+ return -1; -+ } -+ -+ return __gthr_impl_yield(); -+} -+ -+int -+__gthread_once (__gthread_once_t *__once, void (*__func) (void)) -+{ -+ if (!__has_gthr_impl(once)) { -+ return -1; -+ } -+ -+ return __gthr_impl_once(__once, __func); -+} -+ -+int -+__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) -+{ -+ if (!__has_gthr_impl(key_create)) { -+ return -1; -+ } -+ -+ return __gthr_impl_key_create(__key, __dtor); -+} -+ -+int -+__gthread_key_delete (__gthread_key_t __key) -+{ -+ if (!__has_gthr_impl(key_delete)) { -+ return -1; -+ } -+ -+ return __gthr_impl_key_delete(__key); -+} -+ -+void * -+__gthread_getspecific (__gthread_key_t __key) -+{ -+ if (!__has_gthr_impl(getspecific)) { -+ return NULL; -+ } -+ -+ return __gthr_impl_getspecific(__key); -+} -+ -+int -+__gthread_setspecific (__gthread_key_t __key, const void *__ptr) -+{ -+ if (!__has_gthr_impl(setspecific)) { -+ return -1; -+ } -+ -+ return __gthr_impl_setspecific(__key, __ptr); -+} -+ -+void -+__gthread_mutex_init_function (__gthread_mutex_t *__mutex) -+{ -+ if (__has_gthr_impl(mutex_init_function)) { -+ __gthr_impl_mutex_init_function(__mutex); -+ } -+} -+ -+int -+__gthread_mutex_destroy (__gthread_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(mutex_destroy)) { -+ return -1; -+ } -+ -+ return __gthr_impl_mutex_destroy(__mutex); -+} -+ -+int -+__gthread_mutex_lock (__gthread_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(mutex_lock)) { -+ return -1; -+ } -+ -+ return __gthr_impl_mutex_lock(__mutex); -+} -+ -+int -+__gthread_mutex_trylock (__gthread_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(mutex_trylock)) { -+ return -1; -+ } -+ -+ return __gthr_impl_mutex_trylock(__mutex); -+} -+ -+int -+__gthread_mutex_unlock (__gthread_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(mutex_unlock)) { -+ return -1; -+ } -+ -+ return __gthr_impl_mutex_unlock(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_init_function)) { -+ return -1; -+ } -+ -+ return __gthr_impl_recursive_mutex_init_function(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_lock)) { -+ return -1; -+ } -+ -+ return __gthr_impl_recursive_mutex_lock(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_trylock)) { -+ return -1; -+ } -+ -+ return __gthr_impl_recursive_mutex_trylock(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_unlock)) { -+ return -1; -+ } -+ -+ return __gthr_impl_recursive_mutex_unlock(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_destroy)) { -+ return -1; -+ } -+ -+ return __gthr_impl_recursive_mutex_destroy(__mutex); -+} -+ -+void -+__gthread_cond_init_function (__gthread_cond_t *__cond) -+{ -+ if (__has_gthr_impl(cond_init_function)) { -+ __gthr_impl_cond_init_function(__cond); -+ } -+} -+ -+int -+__gthread_cond_broadcast (__gthread_cond_t *__cond) -+{ -+ if (!__has_gthr_impl(cond_broadcast)) { -+ return -1; -+ } -+ -+ return __gthr_impl_cond_broadcast(__cond); -+} -+ -+int -+__gthread_cond_signal (__gthread_cond_t *__cond) -+{ -+ if (!__has_gthr_impl(cond_signal)) { -+ return -1; -+ } -+ -+ return __gthr_impl_cond_signal(__cond); -+} -+ -+int -+__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(cond_wait)) { -+ return -1; -+ } -+ -+ return __gthr_impl_cond_wait(__cond, __mutex); -+} -+ -+int -+__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, -+ const __gthread_time_t *__abs_timeout) -+{ -+ if (!__has_gthr_impl(cond_timedwait)) { -+ return -1; -+ } -+ -+ return __gthr_impl_cond_timedwait(__cond, __mutex, __abs_timeout); -+} -+ -+int -+__gthread_cond_wait_recursive (__gthread_cond_t *__cond, -+ __gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(cond_wait_recursive)) { -+ return -1; -+ } -+ -+ return __gthr_impl_cond_wait_recursive(__cond, __mutex); -+} -+ -+int -+__gthread_cond_destroy (__gthread_cond_t* __cond) -+{ -+ if (!__has_gthr_impl(cond_destroy)) { -+ return -1; -+ } -+ -+ return __gthr_impl_cond_destroy(__cond); -+} -diff --git a/libgcc/config/rs6000/gthr-dkp.h b/libgcc/config/rs6000/gthr-dkp.h -new file mode 100644 -index 00000000000..72ecf82ab83 ---- /dev/null -+++ b/libgcc/config/rs6000/gthr-dkp.h -@@ -0,0 +1,187 @@ -+/* Threads compatibility routines for libgcc2 and libobjc. */ -+/* Compile this one with gcc. */ -+/* Copyright (C) 1997-2016 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. -+ -+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 -+. */ -+ -+#ifndef _GLIBCXX_GCC_GTHR_DKP_H -+#define _GLIBCXX_GCC_GTHR_DKP_H -+ -+#define __GTHREADS 1 -+#define __GTHREADS_CXX0X 1 -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+typedef void * __gthread_t; -+typedef struct { int padding[7]; } __gthread_cond_t; -+typedef struct { int padding; } __gthread_key_t; -+typedef struct { int padding[11]; } __gthread_mutex_t; -+typedef struct { int padding; } __gthread_once_t; -+typedef struct { int padding[11]; } __gthread_recursive_mutex_t; -+typedef struct timespec __gthread_time_t; -+ -+#define __GTHREAD_HAS_COND 1 -+#define _GTHREAD_USE_MUTEX_TIMEDLOCK 0 -+ -+#define __GTHREAD_ONCE_INIT { 0 } -+#define __GTHREAD_TIME_INIT { 0, 0 } -+ -+#define __GTHREAD_COND_INIT_FUNCTION __gthread_cond_init_function -+#define __GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function -+#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function -+ -+#ifdef _BUILDING_LIBGCC -+#define __GTHR_IMPL(_name) __attribute__((weak)) __gthr_impl_##_name -+#define __has_gthr_impl(_name) (&__gthr_impl_##_name) -+#else -+#define __GTHR_IMPL(_name) __gthr_impl_##_name -+#endif -+ -+int __GTHR_IMPL(active) (void); -+int __GTHR_IMPL(create) (__gthread_t *__threadid, void *(*__func) (void*), void *__args); -+int __GTHR_IMPL(join) (__gthread_t __threadid, void **__value_ptr); -+int __GTHR_IMPL(detach) (__gthread_t __threadid); -+int __GTHR_IMPL(equal) (__gthread_t __t1, __gthread_t __t2); -+__gthread_t __GTHR_IMPL(self) (void); -+int __GTHR_IMPL(yield) (void); -+int __GTHR_IMPL(once) (__gthread_once_t *__once, void (*__func) (void)); -+int __GTHR_IMPL(key_create) (__gthread_key_t *__key, void (*__dtor) (void *)); -+int __GTHR_IMPL(key_delete) (__gthread_key_t __key); -+void * __GTHR_IMPL(getspecific) (__gthread_key_t __key); -+int __GTHR_IMPL(setspecific) (__gthread_key_t __key, const void *__ptr); -+void __GTHR_IMPL(mutex_init_function) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(mutex_destroy) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(mutex_lock) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(mutex_trylock) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(mutex_unlock) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_init_function) (__gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_lock) (__gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_trylock) (__gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_unlock) (__gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_destroy) (__gthread_recursive_mutex_t *__mutex); -+void __GTHR_IMPL(cond_init_function) (__gthread_cond_t *__cond); -+int __GTHR_IMPL(cond_broadcast) (__gthread_cond_t *__cond); -+int __GTHR_IMPL(cond_signal) (__gthread_cond_t *__cond); -+int __GTHR_IMPL(cond_wait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); -+int __GTHR_IMPL(cond_timedwait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, -+ const __gthread_time_t *__abs_timeout); -+int __GTHR_IMPL(cond_wait_recursive) (__gthread_cond_t *__cond, -+ __gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(cond_destroy) (__gthread_cond_t* __cond); -+ -+int -+__gthread_active_p (void); -+ -+int -+__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), -+ void *__args); -+ -+int -+__gthread_join (__gthread_t __threadid, void **__value_ptr); -+ -+int -+__gthread_detach (__gthread_t __threadid); -+ -+int -+__gthread_equal (__gthread_t __t1, __gthread_t __t2); -+ -+__gthread_t -+__gthread_self (void); -+ -+int -+__gthread_yield (void); -+ -+int -+__gthread_once (__gthread_once_t *__once, void (*__func) (void)); -+ -+int -+__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)); -+ -+int -+__gthread_key_delete (__gthread_key_t __key); -+ -+void * -+__gthread_getspecific (__gthread_key_t __key); -+ -+int -+__gthread_setspecific (__gthread_key_t __key, const void *__ptr); -+ -+void -+__gthread_mutex_init_function (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_mutex_destroy (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_mutex_lock (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_mutex_trylock (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_mutex_unlock (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex); -+ -+void -+__gthread_cond_init_function (__gthread_cond_t *__cond); -+ -+int -+__gthread_cond_broadcast (__gthread_cond_t *__cond); -+ -+int -+__gthread_cond_signal (__gthread_cond_t *__cond); -+ -+int -+__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); -+ -+int -+__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, -+ const __gthread_time_t *__abs_timeout); -+ -+int -+__gthread_cond_wait_recursive (__gthread_cond_t *__cond, -+ __gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_cond_destroy (__gthread_cond_t* __cond); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */ -diff --git a/libgcc/config/rs6000/t-ppccomm b/libgcc/config/rs6000/t-ppccomm -index fb812d3801f..7f6669d530f 100644 ---- a/libgcc/config/rs6000/t-ppccomm -+++ b/libgcc/config/rs6000/t-ppccomm -@@ -1,4 +1,5 @@ - LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c \ -+ $(srcdir)/config/rs6000/gthr-dkp.c \ - $(srcdir)/config/rs6000/tramp.S - - # This can't end up in shared libgcc -diff --git a/libgcc/configure b/libgcc/configure -index 26bf75789e0..1f663d2cfb0 100755 ---- a/libgcc/configure -+++ b/libgcc/configure -@@ -5640,6 +5640,7 @@ tm_file="${tm_file_}" - case $target_thread_file in - aix) thread_header=config/rs6000/gthr-aix.h ;; - dce) thread_header=config/pa/gthr-dce.h ;; -+ dkp) thread_header=config/rs6000/gthr-dkp.h ;; - gcn) thread_header=config/gcn/gthr-gcn.h ;; - lynx) thread_header=config/gthr-lynx.h ;; - mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 3f769a1c660..e005d8304b7 100644 ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -325,7 +325,7 @@ register_tm_clones (void) - - #ifdef OBJECT_FORMAT_ELF - --#if DEFAULT_USE_CXA_ATEXIT -+#if 1 /* DEFAULT_USE_CXA_ATEXIT */ - /* Declare the __dso_handle variable. It should have a unique value - in every shared-object; in a main program its value is zero. The - object should in any case be protected. This means the instance -diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index 9f9c5a2419a..c9bb6c548be 100755 ---- a/libstdc++-v3/configure -+++ b/libstdc++-v3/configure -@@ -15637,6 +15637,7 @@ $as_echo "$target_thread_file" >&6; } - case $target_thread_file in - aix) thread_header=config/rs6000/gthr-aix.h ;; - dce) thread_header=config/pa/gthr-dce.h ;; -+ dkp) thread_header=config/rs6000/gthr-dkp.h ;; - gcn) thread_header=config/gcn/gthr-gcn.h ;; - lynx) thread_header=config/gthr-lynx.h ;; - mipssde) thread_header=config/mips/gthr-mipssde.h ;; diff --git a/dkppc/patches/gdb-8.2.1.patch b/dkppc/patches/gdb-8.2.1.patch deleted file mode 100644 index c045e44..0000000 --- a/dkppc/patches/gdb-8.2.1.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff -NBaur gdb-8.2.1/gdb/dtrace-probe.c gdb-8.2.1-apple/gdb/dtrace-probe.c ---- gdb-8.2.1/gdb/dtrace-probe.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/dtrace-probe.c 2019-02-19 17:30:16.449175937 +0000 -@@ -100,7 +100,7 @@ - - /* DTrace static_probe_ops. */ - --const dtrace_static_probe_ops dtrace_static_probe_ops; -+const dtrace_static_probe_ops dtrace_static_probe_ops = {}; - - /* The following structure represents a dtrace probe. */ - -diff -NBaur gdb-8.2.1/gdb/probe.c gdb-8.2.1-apple/gdb/probe.c ---- gdb-8.2.1/gdb/probe.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/probe.c 2019-02-19 17:31:05.266578008 +0000 -@@ -60,7 +60,7 @@ - - /* Static operations associated with a generic probe. */ - --const any_static_probe_ops any_static_probe_ops; -+const any_static_probe_ops any_static_probe_ops = {}; - - /* A helper for parse_probes that decodes a probe specification in - SEARCH_PSPACE. It appends matching SALs to RESULT. */ -diff -NBaur gdb-8.2.1/gdb/record-btrace.c gdb-8.2.1-apple/gdb/record-btrace.c ---- gdb-8.2.1/gdb/record-btrace.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/record-btrace.c 2019-02-19 17:31:33.301731324 +0000 -@@ -144,7 +144,7 @@ - - /* Token associated with a new-thread observer enabling branch tracing - for the new thread. */ --static const gdb::observers::token record_btrace_thread_observer_token; -+static const gdb::observers::token record_btrace_thread_observer_token = {}; - - /* Memory access types used in set/show record btrace replay-memory-access. */ - static const char replay_memory_access_read_only[] = "read-only"; -diff -NBaur gdb-8.2.1/gdb/stap-probe.c gdb-8.2.1-apple/gdb/stap-probe.c ---- gdb-8.2.1/gdb/stap-probe.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/stap-probe.c 2019-02-19 17:29:35.744567941 +0000 -@@ -119,7 +119,7 @@ - - /* SystemTap static_probe_ops. */ - --const stap_static_probe_ops stap_static_probe_ops; -+const stap_static_probe_ops stap_static_probe_ops = {}; - - class stap_probe : public probe - { -diff -NBaur gdb-8.2.1/gdb/tui/tui-hooks.c gdb-8.2.1-apple/gdb/tui/tui-hooks.c ---- gdb-8.2.1/gdb/tui/tui-hooks.c 2018-12-23 05:51:54.000000000 +0000 -+++ gdb-8.2.1-apple/gdb/tui/tui-hooks.c 2019-02-19 17:28:53.178460364 +0000 -@@ -205,7 +205,7 @@ - - /* Token associated with observers registered while TUI hooks are - installed. */ --static const gdb::observers::token tui_observers_token; -+static const gdb::observers::token tui_observers_token = {}; - - /* Attach or detach a single observer, according to ATTACH. */ - From 2b7e5215fc466ef13be5d0c4544edbcb2ab533d6 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 25 May 2021 09:16:03 +0100 Subject: [PATCH 169/280] fix shebang --- build-devkit.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 96ea8a6..1cd3f1c 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,5 +1,4 @@ - -#!/bin/bash +#!/usr/bin/env bash #--------------------------------------------------------------------------------- # devkitARM release 55 # devkitPPC release 39 From 251c7cbbf1b816b28e7683c49b92a8752c166173 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 25 May 2021 09:27:00 +0100 Subject: [PATCH 170/280] devkitPPC: use supplied zlib --- dkppc/scripts/build-gcc.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 9614042..2b3447c 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -101,7 +101,6 @@ then --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ - --with-system-zlib \ --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 39" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ From 9ae621ad6203a432f337964555c97649055fc1d2 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 1 Aug 2021 02:15:48 +0100 Subject: [PATCH 171/280] devkitA64: upgrade gcc to 11.2 --- build-devkit.sh | 2 +- dka64/patches/{gcc-11.1.0.patch => gcc-11.2.0.patch} | 8 ++++---- dka64/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) rename dka64/patches/{gcc-11.1.0.patch => gcc-11.2.0.patch} (99%) diff --git a/build-devkit.sh b/build-devkit.sh index 1cd3f1c..e8de0cf 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,7 +2,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 55 # devkitPPC release 39 -# devkitA64 release 17 +# devkitA64 release 18 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/patches/gcc-11.1.0.patch b/dka64/patches/gcc-11.2.0.patch similarity index 99% rename from dka64/patches/gcc-11.1.0.patch rename to dka64/patches/gcc-11.2.0.patch index 077314a..fd12c57 100644 --- a/dka64/patches/gcc-11.1.0.patch +++ b/dka64/patches/gcc-11.2.0.patch @@ -62,7 +62,7 @@ index af3b7364a74..6df7a0dc8a1 100644 Most have a PIC and non-PIC variant. */ enum aarch64_code_model { diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c -index 12625a4bee3..4353e2658a1 100644 +index c2f4b27f6e4..ec05f056568 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -18053,8 +18053,24 @@ aarch64_load_tp (rtx target) @@ -117,10 +117,10 @@ index bfffbcd6abf..814de8c2918 100644 #define HAVE_LOCAL_CPU_DETECT # define EXTRA_SPEC_FUNCTIONS \ diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md -index abfd8452674..8b9f4423adb 100644 +index aef6da9732d..1cbffec5ef8 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md -@@ -6771,11 +6771,22 @@ +@@ -6772,11 +6772,22 @@ (define_insn "aarch64_load_tp_hard" [(set (match_operand:DI 0 "register_operand" "=r") (unspec:DI [(const_int 0)] UNSPEC_TLS))] @@ -333,7 +333,7 @@ index 360a280b23a..2c03947999a 100644 /* Granularity for reserving address space. */ static size_t va_granularity = 0x10000; diff --git a/gcc/gcc.c b/gcc/gcc.c -index 7837553958b..69d7a798e2e 100644 +index 4d790f9dd4a..10f0d08524c 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -853,6 +853,11 @@ proper position among the other output files. */ diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 1e59915..98b2aae 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -65,7 +65,7 @@ then --enable-lto \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 17" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 18" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index ebe5a23..b603195 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -49,7 +49,7 @@ case "$VERSION" in toolchain=DEVKITPPC ;; "3" ) - GCC_VER=11.1.0 + GCC_VER=11.2.0 BINUTILS_VER=2.32 NEWLIB_VER=4.1.0 basedir='dka64' From f1bf935706f32a13b04fe2245b8703cc195ec8fb Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 31 Dec 2021 05:02:34 +0000 Subject: [PATCH 172/280] devkitA64: remove can delete directories --- dka64/patches/newlib-4.1.0.patch | 61 +++++++++++++++++++++++++++----- 1 file changed, 53 insertions(+), 8 deletions(-) diff --git a/dka64/patches/newlib-4.1.0.patch b/dka64/patches/newlib-4.1.0.patch index db3267e..6d87b12 100644 --- a/dka64/patches/newlib-4.1.0.patch +++ b/dka64/patches/newlib-4.1.0.patch @@ -8142,10 +8142,10 @@ index 000000000..b54e0ce7c +} diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c new file mode 100644 -index 000000000..2692a2997 +index 000000000..b8640b87d --- /dev/null +++ b/libgloss/libsysbase/rmdir.c -@@ -0,0 +1,25 @@ +@@ -0,0 +1,34 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -8153,24 +8153,33 @@ index 000000000..2692a2997 +#include +#include + -+int rmdir (const char *name) { -+ struct _reent *r = _REENT; ++int _rmdir_r (struct _reent *ptr, const char *name) { + int dev,ret=-1; + + dev = FindDevice(name); + if(dev!=-1) { + if(devoptab_list[dev]->rmdir_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->rmdir_r(r,name); ++ ptr->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->rmdir_r(ptr,name); + } else { -+ r->_errno = ENOSYS; ++ ptr->_errno = ENOSYS; + } + } else { -+ r->_errno = ENODEV; ++ ptr->_errno = ENODEV; + } + + return ret; +} ++ ++#ifndef _REENT_ONLY ++ ++int ++rmdir (const char *filename) ++{ ++ return _rmdir_r (_REENT, filename); ++} ++ ++#endif diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c new file mode 100644 index 000000000..5dd550c5c @@ -8869,6 +8878,18 @@ index ba1a8a17e..f521cad89 100644 /* Reentrant ANSI C functions. */ #ifndef __math_68881 extern long double atanl (long double); +diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h +index 2b01fbe8f..7af875b81 100644 +--- a/newlib/libc/include/reent.h ++++ b/newlib/libc/include/reent.h +@@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); + extern int _open_r (struct _reent *, const char *, int, int); + extern _ssize_t _read_r (struct _reent *, int, void *, size_t); + extern int _rename_r (struct _reent *, const char *, const char *); ++extern int _rmdir_r (struct _reent *r, const char *name); + extern void *_sbrk_r (struct _reent *, ptrdiff_t); + extern int _stat_r (struct _reent *, const char *, struct stat *); + extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); diff --git a/newlib/libc/include/semaphore.h b/newlib/libc/include/semaphore.h new file mode 100755 index 000000000..4afb0e419 @@ -10139,6 +10160,30 @@ index 84ff40b49..ba1d4ee7b 100644 #define _STDIO_WITH_THREAD_CANCELLATION_SUPPORT #endif +diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c +index d8dfdbd82..a85b5a99b 100644 +--- a/newlib/libc/stdio/remove.c ++++ b/newlib/libc/stdio/remove.c +@@ -57,13 +57,17 @@ Supporting OS subroutine required: <>. + #include <_ansi.h> + #include + #include ++#include + + int + _remove_r (struct _reent *ptr, + const char *filename) + { +- if (_unlink_r (ptr, filename) == -1) +- return -1; ++ if (_unlink_r (ptr, filename) == -1) { ++ errno = 0; ++ if (_rmdir_r(ptr, filename) == -1) ++ return -1; ++ } + + return 0; + } diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c index 1aaf05aa4..b67182a79 100644 --- a/newlib/libc/stdio/vfprintf.c From cd9e7f1fee3508663af94aa20232d0a9a967f887 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 27 Dec 2021 20:00:34 +0000 Subject: [PATCH 173/280] devkitARM: update gcc to 11.2.0 --- build-devkit.sh | 2 +- dkarm-eabi/patches/{gcc-11.1.0.patch => gcc-11.2.0.patch} | 6 +++--- dkarm-eabi/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) rename dkarm-eabi/patches/{gcc-11.1.0.patch => gcc-11.2.0.patch} (99%) diff --git a/build-devkit.sh b/build-devkit.sh index e8de0cf..3e962f2 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash #--------------------------------------------------------------------------------- -# devkitARM release 55 +# devkitARM release 57 # devkitPPC release 39 # devkitA64 release 18 #--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/patches/gcc-11.1.0.patch b/dkarm-eabi/patches/gcc-11.2.0.patch similarity index 99% rename from dkarm-eabi/patches/gcc-11.1.0.patch rename to dkarm-eabi/patches/gcc-11.2.0.patch index 1b7857d..842455e 100644 --- a/dkarm-eabi/patches/gcc-11.1.0.patch +++ b/dkarm-eabi/patches/gcc-11.2.0.patch @@ -61,10 +61,10 @@ index 00000000000..6d788d5e89c + $(COMPILE) $< + $(POSTCOMPILE) diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in -index 0becb4385b6..30bd4a24cd6 100644 +index ab4b6acf5ea..2b8d0da296f 100644 --- a/gcc/config/arm/arm-cpus.in +++ b/gcc/config/arm/arm-cpus.in -@@ -400,7 +400,7 @@ begin arch armv6k +@@ -402,7 +402,7 @@ begin arch armv6k tune for mpcore tune flags CO_PROC base 6K @@ -231,7 +231,7 @@ index 360a280b23a..2c03947999a 100644 /* Granularity for reserving address space. */ static size_t va_granularity = 0x10000; diff --git a/gcc/gcc.c b/gcc/gcc.c -index 7837553958b..69d7a798e2e 100644 +index 4d790f9dd4a..10f0d08524c 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -853,6 +853,11 @@ proper position among the other output files. */ diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 501d1b2..7335a3a 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -66,7 +66,7 @@ then --with-system-zlib \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 56" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 57" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index b603195..3e10f6d 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,8 +30,8 @@ done case "$VERSION" in "1" ) - GCC_VER=11.1.0 BINUTILS_VER=2.36.1 + GCC_VER=11.2.0 NEWLIB_VER=4.1.0 basedir='dkarm-eabi' package=devkitARM From 5e87380f11f7951d3bf4a7598dd4c5fb1d618dd9 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 27 Dec 2021 20:06:14 +0000 Subject: [PATCH 174/280] devkitARM: update binutils to 2.37 --- select_toolchain.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/select_toolchain.sh b/select_toolchain.sh index 3e10f6d..0bccf30 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,8 +30,8 @@ done case "$VERSION" in "1" ) - BINUTILS_VER=2.36.1 GCC_VER=11.2.0 + BINUTILS_VER=2.37 NEWLIB_VER=4.1.0 basedir='dkarm-eabi' package=devkitARM From af726256f112ff71ddb782b25a2648b601fc9594 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 27 Dec 2021 21:05:56 +0000 Subject: [PATCH 175/280] devkitARM: patch binutils for building with mingw --- dkarm-eabi/patches/binutils-2.37.patch | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 dkarm-eabi/patches/binutils-2.37.patch diff --git a/dkarm-eabi/patches/binutils-2.37.patch b/dkarm-eabi/patches/binutils-2.37.patch new file mode 100644 index 0000000..e5cee69 --- /dev/null +++ b/dkarm-eabi/patches/binutils-2.37.patch @@ -0,0 +1,17 @@ +diff --git a/libiberty/rust-demangle.c b/libiberty/rust-demangle.c +index df09b7b8fddb82b21f97afee8821166d92220094..ac1eb8eb02c6d42533c0faa7aebdce432ac947e9 100644 (file) +--- a/libiberty/rust-demangle.c ++++ b/libiberty/rust-demangle.c +@@ -75,10 +75,10 @@ struct rust_demangler + int version; + + /* Recursion depth. */ +- uint recursion; ++ unsigned recursion; + /* Maximum number of times demangle_path may be called recursively. */ + #define RUST_MAX_RECURSION_COUNT 1024 +-#define RUST_NO_RECURSION_LIMIT ((uint) -1) ++#define RUST_NO_RECURSION_LIMIT ((unsigned) -1) + + uint64_t bound_lifetime_depth; + }; From dd13eb9497257e1b4fa11a1c9cf7f527f0ddc835 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 30 Dec 2021 17:38:05 +0000 Subject: [PATCH 176/280] devkitARM: rework syscall interface --- dkarm-eabi/patches/newlib-4.1.0.patch | 166 +++++++++++--------------- 1 file changed, 72 insertions(+), 94 deletions(-) diff --git a/dkarm-eabi/patches/newlib-4.1.0.patch b/dkarm-eabi/patches/newlib-4.1.0.patch index bc178d9..a8ebdc2 100644 --- a/dkarm-eabi/patches/newlib-4.1.0.patch +++ b/dkarm-eabi/patches/newlib-4.1.0.patch @@ -33,7 +33,7 @@ index 4111724e1..0e44d885e 100644 AS=${AS-as} diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in new file mode 100644 -index 000000000..7ee40deec +index 000000000..edb10d215 --- /dev/null +++ b/libgloss/libsysbase/Makefile.in @@ -0,0 +1,148 @@ @@ -108,8 +108,8 @@ index 000000000..7ee40deec + isatty.o kill.o link.o lseek.o lstat.o nanosleep.o open.o read.o sbrk.o sleep.o stat.o usleep.o times.o \ + unlink.o wait.o write.o _exit.o malloc_vars.o \ + chdir.o mkdir.o rename.o build_argv.o statvfs.o \ -+ flock.o syscall_support.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ -+ fchmod.o chmod.o getreent.o rmdir.o utime.o scandir.o ++ flock.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ ++ fchmod.o chmod.o getreent.o rmdir.o utime.o scandir.o syscall_support.o + +# Object files specific to particular targets. +EVALOBJS = ${OBJS} @@ -130,10 +130,10 @@ index 000000000..7ee40deec +AR_FLAGS = qc + +.c.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $< ++ $(CC) $(CFLAGS_FOR_TARGET) -D_BUILDING_LIBSYSBASE -O2 $(INCLUDES) -c $(CFLAGS) $< + +.C.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $< ++ $(CC) $(CFLAGS_FOR_TARGET) -O2 -D_BUILDING_LIBSYSBASE $(INCLUDES) -c $(CFLAGS) $< +.s.o: + $(AS) $(ASFLAGS_FOR_TARGET) $(INCLUDES) $(ASFLAGS) -o $*.o $< + @@ -187,7 +187,7 @@ index 000000000..7ee40deec + $(SHELL) config.status --recheck diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c new file mode 100644 -index 000000000..e5cb5a9ed +index 000000000..6effb1105 --- /dev/null +++ b/libgloss/libsysbase/_exit.c @@ -0,0 +1,17 @@ @@ -202,8 +202,8 @@ index 000000000..e5cb5a9ed +void _exit(int rc) +{ + -+ if ( __syscalls.exit ) { -+ __syscalls.exit(rc); ++ if ( __has_syscall(exit) ) { ++ __syscall_exit(rc); + } + + while(1); @@ -889,7 +889,7 @@ index 000000000..3668b5801 + diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c new file mode 100644 -index 000000000..01cfee469 +index 000000000..b36b5c079 --- /dev/null +++ b/libgloss/libsysbase/clocks.c @@ -0,0 +1,34 @@ @@ -899,8 +899,8 @@ index 000000000..01cfee469 + +int clock_gettime(clockid_t clock_id, struct timespec *tp) +{ -+ if ( __syscalls.clock_gettime ) { -+ return __syscalls.clock_gettime(clock_id, tp); ++ if ( __has_syscall(clock_gettime) ) { ++ return __syscall_clock_gettime(clock_id, tp); + } else { + errno = ENOSYS; + return -1; @@ -909,8 +909,8 @@ index 000000000..01cfee469 + +int clock_settime(clockid_t clock_id, const struct timespec *tp) +{ -+ if ( __syscalls.clock_settime ) { -+ return __syscalls.clock_settime(clock_id, tp); ++ if ( __has_syscall(clock_settime) ) { ++ return __syscall_clock_settime(clock_id, tp); + } else { + errno = ENOSYS; + return -1; @@ -919,8 +919,8 @@ index 000000000..01cfee469 + +int clock_getres (clockid_t clock_id, struct timespec *res) +{ -+ if ( __syscalls.clock_getres ) { -+ return __syscalls.clock_getres(clock_id, res); ++ if ( __has_syscall(clock_getres) ) { ++ return __syscall_clock_getres(clock_id, res); + } else { + errno = ENOSYS; + return -1; @@ -5884,7 +5884,7 @@ index 000000000..fdce14b5f + diff --git a/libgloss/libsysbase/getreent.c b/libgloss/libsysbase/getreent.c new file mode 100644 -index 000000000..028d0eb77 +index 000000000..a3f1e98a9 --- /dev/null +++ b/libgloss/libsysbase/getreent.c @@ -0,0 +1,20 @@ @@ -5900,8 +5900,8 @@ index 000000000..028d0eb77 +#endif + +struct _reent *__getreent() { -+ if ( __syscalls.getreent ) { -+ return __syscalls.getreent(); ++ if ( __has_syscall(getreent) ) { ++ return __syscall_getreent(); + } else { + return _impure_ptr; + } @@ -5910,7 +5910,7 @@ index 000000000..028d0eb77 + diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c new file mode 100644 -index 000000000..9d5b74724 +index 000000000..4f2211248 --- /dev/null +++ b/libgloss/libsysbase/gettod.c @@ -0,0 +1,33 @@ @@ -5940,7 +5940,7 @@ index 000000000..9d5b74724 + struct _reent *ptr = _REENT; +#endif + -+ if ( __syscalls.gettod_r ) return __syscalls.gettod_r(ptr, ptimeval, ptimezone); ++ if ( __has_syscall(gettod_r) ) return __syscall_gettod_r(ptr, ptimeval, ptimezone); + + ptr->_errno = ENOSYS; + return -1; @@ -6540,7 +6540,7 @@ index 000000000..b4fcbd3d7 +} diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c new file mode 100644 -index 000000000..3c96fc61b +index 000000000..a233b9df6 --- /dev/null +++ b/libgloss/libsysbase/nanosleep.c @@ -0,0 +1,14 @@ @@ -6550,8 +6550,8 @@ index 000000000..3c96fc61b + +int nanosleep(const struct timespec *req, struct timespec *rem) +{ -+ if ( __syscalls.nanosleep ) { -+ return __syscalls.nanosleep(req, rem); ++ if ( __has_syscall(nanosleep) ) { ++ return __syscall_nanosleep(req, rem); + } else { + *rem = *req; + errno = ENOSYS; @@ -6979,54 +6979,30 @@ index 000000000..84e221340 +} diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c new file mode 100644 -index 000000000..53fead72a +index 000000000..9bb71aa0d --- /dev/null +++ b/libgloss/libsysbase/syscall_support.c -@@ -0,0 +1,103 @@ +@@ -0,0 +1,78 @@ +#include + -+//--------------------------------------------------------------------------------- -+__syscalls_t __syscalls = { -+//--------------------------------------------------------------------------------- -+ NULL, // sbrk -+ NULL, // exit -+ NULL, // gettod_r -+ NULL, // lock_init -+ NULL, // lock_acquire -+ NULL, // lock_try_acquire -+ NULL, // lock_release -+ NULL, // lock_close -+ NULL, // lock_init_recursive -+ NULL, // lock_acquire_recursive -+ NULL, // lock_try_acquire_recursive -+ NULL, // lock_release_recursive -+ NULL, // lock_close_recursive -+ NULL, // __getreent -+ NULL, // clock_gettime -+ NULL, // clock_settime -+ NULL, // clock_getres -+ NULL, // nanosleep -+}; -+ +void __libc_lock_init(_LOCK_T *lock) { + -+ if ( __syscalls.lock_init ) { -+ __syscalls.lock_init(lock); ++ if ( __has_syscall(lock_init) ) { ++ __syscall_lock_init(lock); + } -+ +} + +void __libc_lock_acquire(_LOCK_T *lock ) { + -+ if ( __syscalls.lock_acquire) { -+ __syscalls.lock_acquire(lock); ++ if ( __has_syscall(lock_acquire) ) { ++ __syscall_lock_acquire(lock); + } +} + +int __libc_lock_try_acquire(_LOCK_T *lock ) { + -+ if ( __syscalls.lock_acquire) { -+ return __syscalls.lock_try_acquire(lock); ++ if ( __has_syscall(lock_acquire) ) { ++ return __syscall_lock_try_acquire(lock); + } else { + return 0; + } @@ -7034,15 +7010,15 @@ index 000000000..53fead72a + +void __libc_lock_release(_LOCK_T *lock ) { + -+ if ( __syscalls.lock_release) { -+ __syscalls.lock_release(lock); ++ if ( __has_syscall(lock_release) ) { ++ __syscall_lock_release(lock); + } +} + +void __libc_lock_close(_LOCK_T *lock ) { + -+ if ( __syscalls.lock_close) { -+ __syscalls.lock_close(lock); ++ if ( __has_syscall(lock_close) ) { ++ __syscall_lock_close(lock); + } +} + @@ -7050,23 +7026,23 @@ index 000000000..53fead72a + +void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { + -+ if ( __syscalls.lock_init_recursive ) { -+ __syscalls.lock_init_recursive(lock); ++ if ( __has_syscall(lock_init_recursive) ) { ++ __syscall_lock_init_recursive(lock); + } + +} + +void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { + -+ if ( __syscalls.lock_acquire_recursive) { -+ __syscalls.lock_acquire_recursive(lock); ++ if ( __has_syscall(lock_acquire_recursive) ) { ++ __syscall_lock_acquire_recursive(lock); + } +} + +int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { + -+ if ( __syscalls.lock_acquire_recursive) { -+ return __syscalls.lock_try_acquire_recursive(lock); ++ if ( __has_syscall(lock_acquire_recursive) ) { ++ return __syscall_lock_try_acquire_recursive(lock); + } else { + return 0; + } @@ -7074,18 +7050,17 @@ index 000000000..53fead72a + +void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { + -+ if ( __syscalls.lock_release_recursive) { -+ __syscalls.lock_release_recursive(lock); ++ if ( __has_syscall(lock_release_recursive) ) { ++ __syscall_lock_release_recursive(lock); + } +} + +void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { + -+ if ( __syscalls.lock_close_recursive) { -+ __syscalls.lock_close_recursive(lock); ++ if ( __has_syscall(lock_close_recursive) ) { ++ __syscall_lock_close_recursive(lock); + } +} -+ diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c new file mode 100644 index 000000000..79484e7f4 @@ -7561,10 +7536,10 @@ index 218807178..c9efd7d03 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..c190fa37d +index 000000000..7b366f593 --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,112 @@ +@@ -0,0 +1,115 @@ +//--------------------------------------------------------------------------------- +#ifndef __iosupp_h__ +#define __iosupp_h__ @@ -7637,28 +7612,31 @@ index 000000000..c190fa37d + +extern const devoptab_t *devoptab_list[]; + -+typedef struct { -+ void *(*sbrk_r) (struct _reent *ptr, ptrdiff_t incr); -+ void (*exit) ( int rc ); -+ int (*gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); -+ void (*lock_init) (_LOCK_T *lock); -+ void (*lock_acquire) (_LOCK_T *lock); -+ int (*lock_try_acquire) (_LOCK_T *lock); -+ void (*lock_release) (_LOCK_T *lock); -+ void (*lock_close) (_LOCK_T *lock); -+ void (*lock_init_recursive) (_LOCK_RECURSIVE_T *lock); -+ void (*lock_acquire_recursive) (_LOCK_RECURSIVE_T *lock); -+ int (*lock_try_acquire_recursive) (_LOCK_RECURSIVE_T *lock); -+ void (*lock_release_recursive) (_LOCK_RECURSIVE_T *lock); -+ void (*lock_close_recursive) (_LOCK_RECURSIVE_T *lock); -+ struct _reent *(*getreent) (); -+ int (*clock_gettime)(clockid_t clock_id, struct timespec *tp); -+ int (*clock_settime)(clockid_t clock_id, const struct timespec *tp); -+ int (*clock_getres)(clockid_t clock_id, struct timespec *res); -+ int (*nanosleep)(const struct timespec *req, struct timespec *rem); -+} __syscalls_t; -+ -+extern __syscalls_t __syscalls; ++#ifdef _BUILDING_LIBSYSBASE ++#define __SYSCALL(_name) __attribute__((weak)) __syscall_##_name ++#define __has_syscall(_name) (&__syscall_##_name) ++#else ++#define __SYSCALL(_name) __syscall_##_name ++#endif ++ ++void *__SYSCALL(sbrk_r) (struct _reent *ptr, ptrdiff_t incr); ++void __SYSCALL(exit) ( int rc ); ++int __SYSCALL(gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); ++void __SYSCALL(lock_init) (_LOCK_T *lock); ++void __SYSCALL(lock_acquire) (_LOCK_T *lock); ++int __SYSCALL(lock_try_acquire) (_LOCK_T *lock); ++void __SYSCALL(lock_release) (_LOCK_T *lock); ++void __SYSCALL(lock_close) (_LOCK_T *lock); ++void __SYSCALL(lock_init_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_acquire_recursive) (_LOCK_RECURSIVE_T *lock); ++int __SYSCALL(lock_try_acquire_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_release_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_close_recursive) (_LOCK_RECURSIVE_T *lock); ++struct _reent * __SYSCALL(getreent) (); ++int __SYSCALL(clock_gettime) (clockid_t clock_id, struct timespec *tp); ++int __SYSCALL(clock_settime) (clockid_t clock_id, const struct timespec *tp); ++int __SYSCALL(clock_getres) (clockid_t clock_id, struct timespec *res); ++int __SYSCALL(nanosleep) (const struct timespec *req, struct timespec *rem); + +int AddDevice( const devoptab_t* device); +int FindDevice(const char* name); From 066afb3ccaff00be65eaedee194a9ddb173e8064 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 30 Dec 2021 21:14:18 +0000 Subject: [PATCH 177/280] devkitARM: remove can delete directories --- dkarm-eabi/patches/newlib-4.1.0.patch | 67 ++++++++++++++++++++++----- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/dkarm-eabi/patches/newlib-4.1.0.patch b/dkarm-eabi/patches/newlib-4.1.0.patch index a8ebdc2..3a1cae3 100644 --- a/dkarm-eabi/patches/newlib-4.1.0.patch +++ b/dkarm-eabi/patches/newlib-4.1.0.patch @@ -6704,10 +6704,10 @@ index 000000000..97a056a72 +} diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c new file mode 100644 -index 000000000..2692a2997 +index 000000000..b8640b87d --- /dev/null +++ b/libgloss/libsysbase/rmdir.c -@@ -0,0 +1,25 @@ +@@ -0,0 +1,34 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -6715,24 +6715,33 @@ index 000000000..2692a2997 +#include +#include + -+int rmdir (const char *name) { -+ struct _reent *r = _REENT; ++int _rmdir_r (struct _reent *ptr, const char *name) { + int dev,ret=-1; + + dev = FindDevice(name); + if(dev!=-1) { + if(devoptab_list[dev]->rmdir_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->rmdir_r(r,name); ++ ptr->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->rmdir_r(ptr,name); + } else { -+ r->_errno = ENOSYS; ++ ptr->_errno = ENOSYS; + } + } else { -+ r->_errno = ENODEV; ++ ptr->_errno = ENODEV; + } + + return ret; +} ++ ++#ifndef _REENT_ONLY ++ ++int ++rmdir (const char *filename) ++{ ++ return _rmdir_r (_REENT, filename); ++} ++ ++#endif diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c new file mode 100644 index 000000000..5dd550c5c @@ -7427,6 +7436,18 @@ index 5c293c83d..75ccf89f5 100644 /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ #define _jp2uc(c) (c) #define _jp2uc_l(c, l) (c) +diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h +index 2b01fbe8f..7af875b81 100644 +--- a/newlib/libc/include/reent.h ++++ b/newlib/libc/include/reent.h +@@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); + extern int _open_r (struct _reent *, const char *, int, int); + extern _ssize_t _read_r (struct _reent *, int, void *, size_t); + extern int _rename_r (struct _reent *, const char *, const char *); ++extern int _rmdir_r (struct _reent *r, const char *name); + extern void *_sbrk_r (struct _reent *, ptrdiff_t); + extern int _stat_r (struct _reent *, const char *, struct stat *); + extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h index ab18806e3..db77ebb2a 100644 --- a/newlib/libc/include/stdio.h @@ -8096,6 +8117,30 @@ index df8321461..9263e5829 100644 { /* no more input: return partial result */ #ifdef __SCLE +diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c +index d8dfdbd82..a85b5a99b 100644 +--- a/newlib/libc/stdio/remove.c ++++ b/newlib/libc/stdio/remove.c +@@ -57,13 +57,17 @@ Supporting OS subroutine required: <>. + #include <_ansi.h> + #include + #include ++#include + + int + _remove_r (struct _reent *ptr, + const char *filename) + { +- if (_unlink_r (ptr, filename) == -1) +- return -1; ++ if (_unlink_r (ptr, filename) == -1) { ++ errno = 0; ++ if (_rmdir_r(ptr, filename) == -1) ++ return -1; ++ } + + return 0; + } diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c index 1aaf05aa4..b67182a79 100644 --- a/newlib/libc/stdio/vfprintf.c @@ -8220,7 +8265,7 @@ index 000000000..40092f99f + diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h new file mode 100644 -index 000000000..567fed56b +index 000000000..a755d6443 --- /dev/null +++ b/newlib/libc/sys/arm/sys/lock.h @@ -0,0 +1,66 @@ @@ -8254,10 +8299,10 @@ index 000000000..567fed56b +extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); + +#define __LOCK_INIT(CLASS,NAME) \ -+CLASS _LOCK_T NAME = 1; ++CLASS _LOCK_T NAME = 0; + +#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ -+CLASS _LOCK_RECURSIVE_T NAME = {1,0,0}; ++CLASS _LOCK_RECURSIVE_T NAME = {0,0,0}; + +#define __lock_init(NAME) \ + __libc_lock_init(&(NAME)) From 7d3bbea16ee0d73bd2e4d124cdf773087890f1be Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 1 Jan 2022 19:59:40 +0000 Subject: [PATCH 178/280] devkitPPC: update gcc to 11.2.0 --- dkppc/patches/{gcc-11.1.0.patch => gcc-11.2.0.patch} | 10 +++++----- select_toolchain.sh | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) rename dkppc/patches/{gcc-11.1.0.patch => gcc-11.2.0.patch} (99%) diff --git a/dkppc/patches/gcc-11.1.0.patch b/dkppc/patches/gcc-11.2.0.patch similarity index 99% rename from dkppc/patches/gcc-11.1.0.patch rename to dkppc/patches/gcc-11.2.0.patch index 4658d86..f6193a2 100644 --- a/dkppc/patches/gcc-11.1.0.patch +++ b/dkppc/patches/gcc-11.2.0.patch @@ -40,7 +40,7 @@ index 65d1fa2cd1f..51991aab75c 100644 #define SIG_ATOMIC_TYPE "int" diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h -index 164d359b724..4785fcf6e73 100644 +index a7953fad965..04abd41239b 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -196,6 +196,7 @@ ASM_OPT_ANY @@ -250,7 +250,7 @@ index 7ab55c49940..763709e907e 100644 Target RejectNegative Link with libyk.a, libc.a and crt0.o. diff --git a/gcc/configure b/gcc/configure -index e8ecb3b0297..10ebe252c12 100755 +index 9b28369e3bf..79b95018a89 100755 --- a/gcc/configure +++ b/gcc/configure @@ -12593,7 +12593,7 @@ case ${enable_threads} in @@ -263,7 +263,7 @@ index e8ecb3b0297..10ebe252c12 100755 target_thread_file=${enable_threads} ;; diff --git a/gcc/configure.ac b/gcc/configure.ac -index 96a6f62b0d3..c5dd3465634 100644 +index 162e08cbc02..34d35d0de8d 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1925,7 +1925,7 @@ case ${enable_threads} in @@ -840,10 +840,10 @@ index fb812d3801f..7f6669d530f 100644 # This can't end up in shared libgcc diff --git a/libgcc/configure b/libgcc/configure -index dd3afb2c957..abc5466abdc 100755 +index 4919a56f518..546b3413deb 100755 --- a/libgcc/configure +++ b/libgcc/configure -@@ -5642,6 +5642,7 @@ tm_file="${tm_file_}" +@@ -5679,6 +5679,7 @@ tm_file="${tm_file_}" case $target_thread_file in aix) thread_header=config/rs6000/gthr-aix.h ;; dce) thread_header=config/pa/gthr-dce.h ;; diff --git a/select_toolchain.sh b/select_toolchain.sh index 0bccf30..a8cb094 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -39,8 +39,8 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - GCC_VER=11.1.0 BINUTILS_VER=2.36.1 + GCC_VER=11.2.0 MN_BINUTILS_VER=2.24 NEWLIB_VER=4.1.0 basedir='dkppc' From 092f657e81db5e51c94c1a6ddf9ad624d62961c1 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 1 Jan 2022 20:00:22 +0000 Subject: [PATCH 179/280] devkitPPC: update binutils to 2.37 --- dkppc/patches/binutils-2.37.patch | 28 ++++++++++++++++++++++++++++ select_toolchain.sh | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 dkppc/patches/binutils-2.37.patch diff --git a/dkppc/patches/binutils-2.37.patch b/dkppc/patches/binutils-2.37.patch new file mode 100644 index 0000000..add8404 --- /dev/null +++ b/dkppc/patches/binutils-2.37.patch @@ -0,0 +1,28 @@ +diff -NBaur binutils-2.37/libiberty/rust-demangle.c binutils-2.37-new/libiberty/rust-demangle.c +--- binutils-2.37/libiberty/rust-demangle.c 2021-07-15 15:19:46.000000000 +0100 ++++ binutils-2.37-new/libiberty/rust-demangle.c 2022-01-01 22:02:21.860422023 +0000 +@@ -75,10 +75,10 @@ + int version; + + /* Recursion depth. */ +- uint recursion; ++ unsigned recursion; + /* Maximum number of times demangle_path may be called recursively. */ + #define RUST_MAX_RECURSION_COUNT 1024 +-#define RUST_NO_RECURSION_LIMIT ((uint) -1) ++#define RUST_NO_RECURSION_LIMIT ((unsigned) -1) + + uint64_t bound_lifetime_depth; + }; +diff -NBaur binutils-2.37/opcodes/ppc-opc.c binutils-2.37-new/opcodes/ppc-opc.c +--- binutils-2.37/opcodes/ppc-opc.c 2021-07-08 12:37:21.000000000 +0100 ++++ binutils-2.37-new/opcodes/ppc-opc.c 2022-01-01 22:02:04.409141184 +0000 +@@ -4302,7 +4302,7 @@ + #define MFDEC2 (PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE \ + | PPC_OPCODE_TITAN) + #define BOOKE PPC_OPCODE_BOOKE +-#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS ++#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS + #define PPCE300 PPC_OPCODE_E300 + #define PPCSPE PPC_OPCODE_SPE + #define PPCSPE2 PPC_OPCODE_SPE2 diff --git a/select_toolchain.sh b/select_toolchain.sh index a8cb094..c34f9d3 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -39,8 +39,8 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - BINUTILS_VER=2.36.1 GCC_VER=11.2.0 + BINUTILS_VER=2.37 MN_BINUTILS_VER=2.24 NEWLIB_VER=4.1.0 basedir='dkppc' From 98aac7895971ac807701cdf271d05b613aabc181 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 1 Jan 2022 20:00:51 +0000 Subject: [PATCH 180/280] devkitPPC: remove can delete directories --- dkppc/patches/newlib-4.1.0.patch | 61 +++++++++++++++++++++++++++----- 1 file changed, 53 insertions(+), 8 deletions(-) diff --git a/dkppc/patches/newlib-4.1.0.patch b/dkppc/patches/newlib-4.1.0.patch index 3b5d5d1..b546449 100644 --- a/dkppc/patches/newlib-4.1.0.patch +++ b/dkppc/patches/newlib-4.1.0.patch @@ -6680,10 +6680,10 @@ index 000000000..1d7b7e8e7 +} diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c new file mode 100644 -index 000000000..2692a2997 +index 000000000..b8640b87d --- /dev/null +++ b/libgloss/libsysbase/rmdir.c -@@ -0,0 +1,25 @@ +@@ -0,0 +1,34 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -6691,24 +6691,33 @@ index 000000000..2692a2997 +#include +#include + -+int rmdir (const char *name) { -+ struct _reent *r = _REENT; ++int _rmdir_r (struct _reent *ptr, const char *name) { + int dev,ret=-1; + + dev = FindDevice(name); + if(dev!=-1) { + if(devoptab_list[dev]->rmdir_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->rmdir_r(r,name); ++ ptr->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->rmdir_r(ptr,name); + } else { -+ r->_errno = ENOSYS; ++ ptr->_errno = ENOSYS; + } + } else { -+ r->_errno = ENODEV; ++ ptr->_errno = ENODEV; + } + + return ret; +} ++ ++#ifndef _REENT_ONLY ++ ++int ++rmdir (const char *filename) ++{ ++ return _rmdir_r (_REENT, filename); ++} ++ ++#endif diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c new file mode 100644 index 000000000..83d922d85 @@ -7416,6 +7425,18 @@ index 5c293c83d..75ccf89f5 100644 /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ #define _jp2uc(c) (c) #define _jp2uc_l(c, l) (c) +diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h +index 2b01fbe8f..7af875b81 100644 +--- a/newlib/libc/include/reent.h ++++ b/newlib/libc/include/reent.h +@@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); + extern int _open_r (struct _reent *, const char *, int, int); + extern _ssize_t _read_r (struct _reent *, int, void *, size_t); + extern int _rename_r (struct _reent *, const char *, const char *); ++extern int _rmdir_r (struct _reent *r, const char *name); + extern void *_sbrk_r (struct _reent *, ptrdiff_t); + extern int _stat_r (struct _reent *, const char *, struct stat *); + extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h index a3fb5c02c..adb8e1083 100644 --- a/newlib/libc/include/sys/dirent.h @@ -8174,6 +8195,30 @@ index df8321461..eee4181cd 100644 { /* no more input: return partial result */ #ifdef __SCLE +diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c +index d8dfdbd82..a85b5a99b 100644 +--- a/newlib/libc/stdio/remove.c ++++ b/newlib/libc/stdio/remove.c +@@ -57,13 +57,17 @@ Supporting OS subroutine required: <>. + #include <_ansi.h> + #include + #include ++#include + + int + _remove_r (struct _reent *ptr, + const char *filename) + { +- if (_unlink_r (ptr, filename) == -1) +- return -1; ++ if (_unlink_r (ptr, filename) == -1) { ++ errno = 0; ++ if (_rmdir_r(ptr, filename) == -1) ++ return -1; ++ } + + return 0; + } diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c index feb22c24b..3dae0c9a9 100644 --- a/newlib/libc/stdlib/aligned_alloc.c From 4dc7a3333cc1a4be9cb59dfd00b531de2e7436db Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 1 Jan 2022 21:16:44 +0000 Subject: [PATCH 181/280] devkitPPC: next release is 40 --- build-devkit.sh | 2 +- dkppc/scripts/build-gcc.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 3e962f2..a8ab810 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash #--------------------------------------------------------------------------------- # devkitARM release 57 -# devkitPPC release 39 +# devkitPPC release 40 # devkitA64 release 18 #--------------------------------------------------------------------------------- diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 2b3447c..c734e8c 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -101,7 +101,7 @@ then --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 39" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 40" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ From 3ca5189cddf5d070c2f35dd27b15f2812205d5fb Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 2 Jan 2022 18:19:39 +0000 Subject: [PATCH 182/280] devkitA64: update newlib to 4.2.0.20211231 --- ....1.0.patch => newlib-4.2.0.20211231.patch} | 126 +++++++++--------- select_toolchain.sh | 2 +- 2 files changed, 64 insertions(+), 64 deletions(-) rename dka64/patches/{newlib-4.1.0.patch => newlib-4.2.0.20211231.patch} (98%) diff --git a/dka64/patches/newlib-4.1.0.patch b/dka64/patches/newlib-4.2.0.20211231.patch similarity index 98% rename from dka64/patches/newlib-4.1.0.patch rename to dka64/patches/newlib-4.2.0.20211231.patch index 6d87b12..b1eed87 100644 --- a/dka64/patches/newlib-4.1.0.patch +++ b/dka64/patches/newlib-4.2.0.20211231.patch @@ -1,8 +1,8 @@ diff --git a/libgloss/configure b/libgloss/configure -index 816b9c4b8..b79edb6c8 100755 +index e70c57d89..ac5c745f9 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -2609,6 +2609,8 @@ if test "${config_libnosys}" = "true"; then +@@ -2787,6 +2787,8 @@ if test "${config_libnosys}" = "true"; then fi @@ -11,12 +11,12 @@ index 816b9c4b8..b79edb6c8 100755 DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" -diff --git a/libgloss/configure.in b/libgloss/configure.in -index 4111724e1..0e44d885e 100644 ---- a/libgloss/configure.in -+++ b/libgloss/configure.in +diff --git a/libgloss/configure.ac b/libgloss/configure.ac +index 0fbe99526..577dfdec6 100644 +--- a/libgloss/configure.ac ++++ b/libgloss/configure.ac @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. - AC_PREREQ(2.59) + AC_PREREQ(2.69)dnl AC_INIT([libgloss],[LIBGLOSS_VERSION]) AC_CONFIG_SRCDIR([libnosys]) +AC_CONFIG_SRCDIR([libsysbase]) @@ -5141,11 +5141,11 @@ index 000000000..aa653c235 + + + -diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in +diff --git a/libgloss/libsysbase/configure.ac b/libgloss/libsysbase/configure.ac new file mode 100644 index 000000000..da85a3f46 --- /dev/null -+++ b/libgloss/libsysbase/configure.in ++++ b/libgloss/libsysbase/configure.ac @@ -0,0 +1,202 @@ +# Copyright (c) 1995, 1996 Cygnus Support +# @@ -8748,10 +8748,10 @@ index 000000000..61de918bc + return ret; +} diff --git a/newlib/configure.host b/newlib/configure.host -index 1ddbb6c76..f096346dc 100644 +index c429dde1c..fd3171ad2 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -687,13 +687,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -686,13 +686,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID syscall_dir=syscalls ;; aarch64*-*-*) @@ -8866,10 +8866,10 @@ index 000000000..a71a5d847 + +#endif diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h -index ba1a8a17e..f521cad89 100644 +index 799ac494a..4174d72ab 100644 --- a/newlib/libc/include/math.h +++ b/newlib/libc/include/math.h -@@ -426,7 +426,7 @@ extern float hypotf (float, float); +@@ -436,7 +436,7 @@ extern float hypotf (float, float); simply call the double functions. On Cygwin the long double functions are implemented independently from newlib to be able to use optimized assembler functions despite using the Microsoft x86_64 ABI. */ @@ -8879,7 +8879,7 @@ index ba1a8a17e..f521cad89 100644 #ifndef __math_68881 extern long double atanl (long double); diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h -index 2b01fbe8f..7af875b81 100644 +index 23d572cd3..65310c084 100644 --- a/newlib/libc/include/reent.h +++ b/newlib/libc/include/reent.h @@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); @@ -8965,6 +8965,19 @@ index 000000000..4afb0e419 +#endif /* defined(_POSIX_SEMAPHORES) */ + +#endif /* !_SEMAPHORE_H_ */ +diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h +index 7748351f0..e87104559 100644 +--- a/newlib/libc/include/stdio.h ++++ b/newlib/libc/include/stdio.h +@@ -227,7 +227,7 @@ int fgetpos (FILE *, _fpos_t *); + #else + int fgetpos (FILE *__restrict, fpos_t *__restrict); + #endif +-int fseek (FILE *, long, int); ++int fseek (FILE *, off_t, int); + #ifdef _LIBC + int fsetpos (FILE *, const _fpos_t *); + #else diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h index 75e9e1cbf..dc63dbe6a 100644 --- a/newlib/libc/include/sys/_pthreadtypes.h @@ -9154,7 +9167,7 @@ index f810b008f..ca7e11dc7 100644 + #endif /* !_SYS__TIMESPEC_H_ */ diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 4bc8d29bf..35c05e6af 100644 +index 61a6f95d8..34aeaad3d 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h @@ -4,6 +4,9 @@ @@ -9236,10 +9249,10 @@ index a3fb5c02c..b208de4a7 100644 + +#endif // _dirent_h_ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 218807178..93294ad2e 100644 +index 45476ce4a..6ed532439 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h -@@ -330,6 +330,16 @@ extern "C" { +@@ -331,6 +331,16 @@ extern "C" { # define __SSP_FORTIFY_LEVEL 0 #endif @@ -9562,7 +9575,7 @@ index 9a6f115a6..fdd6cf92b 100644 #define MAX(a,b) ((a) > (b) ? (a) : (b)) #define MIN(a,b) ((a) < (b) ? (a) : (b)) diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 74b70e9c0..d8c5410ec 100644 +index e4e36170e..5b8d06ed6 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -421,6 +421,8 @@ struct _reent @@ -9583,7 +9596,7 @@ index 74b70e9c0..d8c5410ec 100644 #ifdef _REENT_GLOBAL_STDIO_STREAMS diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index 8769112b0..5526e59ee 100644 +index 6525272dd..d24673618 100644 --- a/newlib/libc/include/sys/stat.h +++ b/newlib/libc/include/sys/stat.h @@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); @@ -9826,10 +9839,10 @@ index a0c80843a..efabdcfc4 100644 /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE diff --git a/newlib/libc/machine/aarch64/Makefile.am b/newlib/libc/machine/aarch64/Makefile.am -index e8b8197fa..011f69d69 100644 +index ca7c79074..c5815db9d 100644 --- a/newlib/libc/machine/aarch64/Makefile.am +++ b/newlib/libc/machine/aarch64/Makefile.am -@@ -9,6 +9,7 @@ AM_CCASFLAGS = $(INCLUDES) +@@ -7,6 +7,7 @@ AM_CCASFLAGS = $(INCLUDES) noinst_LIBRARIES = lib.a lib_a_SOURCES = @@ -9838,11 +9851,11 @@ index e8b8197fa..011f69d69 100644 lib_a_SOURCES += memchr.S lib_a_SOURCES += memcmp-stub.c diff --git a/newlib/libc/machine/aarch64/Makefile.in b/newlib/libc/machine/aarch64/Makefile.in -index 39b23a1ce..969512471 100644 +index c854a1b96..3361b0a8c 100644 --- a/newlib/libc/machine/aarch64/Makefile.in +++ b/newlib/libc/machine/aarch64/Makefile.in -@@ -69,22 +69,22 @@ LIBRARIES = $(noinst_LIBRARIES) - ARFLAGS = cru +@@ -75,22 +75,22 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) + am__v_at_0 = @ lib_a_AR = $(AR) $(ARFLAGS) lib_a_LIBADD = -am_lib_a_OBJECTS = lib_a-memchr-stub.$(OBJEXT) lib_a-memchr.$(OBJEXT) \ @@ -9880,7 +9893,7 @@ index 39b23a1ce..969512471 100644 lib_a_OBJECTS = $(am_lib_a_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = -@@ -210,7 +210,7 @@ AUTOMAKE_OPTIONS = cygnus +@@ -232,7 +232,7 @@ top_srcdir = @top_srcdir@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) AM_CCASFLAGS = $(INCLUDES) noinst_LIBRARIES = lib.a @@ -9889,9 +9902,9 @@ index 39b23a1ce..969512471 100644 memcpy-stub.c memcpy.S memmove-stub.c memmove.S memset-stub.c \ memset.S rawmemchr.S rawmemchr-stub.c setjmp.S stpcpy-stub.c \ stpcpy.S strchr-stub.c strchr.S strchrnul-stub.c strchrnul.S \ -@@ -381,6 +381,12 @@ lib_a-strrchr.obj: strrchr.S +@@ -403,6 +403,12 @@ lib_a-strrchr.obj: strrchr.S .c.obj: - $(COMPILE) -c `$(CYGPATH_W) '$<'` + $(AM_V_CC)$(COMPILE) -c `$(CYGPATH_W) '$<'` +lib_a-access.o: access.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.o `test -f 'access.c' || echo '$(srcdir)/'`access.c @@ -9900,7 +9913,7 @@ index 39b23a1ce..969512471 100644 + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.obj `if test -f 'access.c'; then $(CYGPATH_W) 'access.c'; else $(CYGPATH_W) '$(srcdir)/access.c'; fi` + lib_a-memchr-stub.o: memchr-stub.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.o `test -f 'memchr-stub.c' || echo '$(srcdir)/'`memchr-stub.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.o `test -f 'memchr-stub.c' || echo '$(srcdir)/'`memchr-stub.c diff --git a/newlib/libc/machine/aarch64/access.c b/newlib/libc/machine/aarch64/access.c new file mode 100644 @@ -9942,10 +9955,10 @@ index 000000000..980682ef3 +} + diff --git a/newlib/libc/machine/arm/Makefile.am b/newlib/libc/machine/arm/Makefile.am -index 9bd35e733..731130092 100644 +index 2d559464a..1e6625c05 100644 --- a/newlib/libc/machine/arm/Makefile.am +++ b/newlib/libc/machine/arm/Makefile.am -@@ -11,7 +11,9 @@ noinst_LIBRARIES = lib.a +@@ -9,7 +9,9 @@ noinst_LIBRARIES = lib.a lib_a_SOURCES = setjmp.S strcmp.S strcpy.c \ aeabi_memcpy.c aeabi_memcpy-armv7a.S \ aeabi_memmove.c aeabi_memmove-soft.S \ @@ -9957,10 +9970,10 @@ index 9bd35e733..731130092 100644 lib_a_SOURCES += memchr.S lib_a_SOURCES += memcpy-stub.c diff --git a/newlib/libc/machine/arm/Makefile.in b/newlib/libc/machine/arm/Makefile.in -index d9dbcd5c3..43712f813 100644 +index 17a46a44d..b319b8349 100644 --- a/newlib/libc/machine/arm/Makefile.in +++ b/newlib/libc/machine/arm/Makefile.in -@@ -75,10 +75,10 @@ am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ +@@ -81,10 +81,10 @@ am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ lib_a-aeabi_memmove.$(OBJEXT) \ lib_a-aeabi_memmove-soft.$(OBJEXT) \ lib_a-aeabi_memset.$(OBJEXT) lib_a-aeabi_memset-soft.$(OBJEXT) \ @@ -9975,7 +9988,7 @@ index d9dbcd5c3..43712f813 100644 lib_a_OBJECTS = $(am_lib_a_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = -@@ -208,8 +208,8 @@ noinst_LIBRARIES = lib.a +@@ -230,8 +230,8 @@ noinst_LIBRARIES = lib.a lib_a_SOURCES = setjmp.S strcmp.S strcpy.c aeabi_memcpy.c \ aeabi_memcpy-armv7a.S aeabi_memmove.c aeabi_memmove-soft.S \ aeabi_memset.c aeabi_memset-soft.S aeabi_memclr.c \ @@ -9986,9 +9999,9 @@ index d9dbcd5c3..43712f813 100644 lib_a_CCASFLAGS = $(AM_CCASFLAGS) lib_a_CFLAGS = $(AM_CFLAGS) ACLOCAL_AMFLAGS = -I ../../.. -I ../../../.. -@@ -367,6 +367,12 @@ lib_a-aeabi_memclr.o: aeabi_memclr.c +@@ -389,6 +389,12 @@ lib_a-aeabi_memclr.o: aeabi_memclr.c lib_a-aeabi_memclr.obj: aeabi_memclr.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aeabi_memclr.obj `if test -f 'aeabi_memclr.c'; then $(CYGPATH_W) 'aeabi_memclr.c'; else $(CYGPATH_W) '$(srcdir)/aeabi_memclr.c'; fi` + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aeabi_memclr.obj `if test -f 'aeabi_memclr.c'; then $(CYGPATH_W) 'aeabi_memclr.c'; else $(CYGPATH_W) '$(srcdir)/aeabi_memclr.c'; fi` +lib_a-sync_synchronize.o: sync_synchronize.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sync_synchronize.o `test -f 'sync_synchronize.c' || echo '$(srcdir)/'`sync_synchronize.c @@ -9997,7 +10010,7 @@ index d9dbcd5c3..43712f813 100644 + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sync_synchronize.obj `if test -f 'sync_synchronize.c'; then $(CYGPATH_W) 'sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/sync_synchronize.c'; fi` + lib_a-memchr-stub.o: memchr-stub.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.o `test -f 'memchr-stub.c' || echo '$(srcdir)/'`memchr-stub.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.o `test -f 'memchr-stub.c' || echo '$(srcdir)/'`memchr-stub.c diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c new file mode 100644 @@ -10185,7 +10198,7 @@ index d8dfdbd82..a85b5a99b 100644 return 0; } diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index 1aaf05aa4..b67182a79 100644 +index c1483c0ac..319b1972b 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c @@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, @@ -10197,7 +10210,7 @@ index 1aaf05aa4..b67182a79 100644 #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ static char *rcsid = "$Id$"; -@@ -1434,7 +1436,7 @@ reswitch: switch (ch) { +@@ -1431,7 +1433,7 @@ reswitch: switch (ch) { string: #endif sign = '\0'; @@ -10206,7 +10219,7 @@ index 1aaf05aa4..b67182a79 100644 /* Behavior is undefined if the user passed a NULL string when precision is not 0. However, if we are not optimizing for size, -@@ -1444,7 +1446,7 @@ string: +@@ -1441,7 +1443,7 @@ string: size = ((unsigned) prec > 6U) ? 6 : prec; } else @@ -10216,7 +10229,7 @@ index 1aaf05aa4..b67182a79 100644 if (ch == 'S' || (flags & LONGINT)) { mbstate_t ps; diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index 994cee7fc..5d1d0a1cd 100644 +index 037692531..b5e524c53 100644 --- a/newlib/libc/stdio/vfscanf.c +++ b/newlib/libc/stdio/vfscanf.c @@ -74,6 +74,8 @@ These are GNU extensions. @@ -10229,7 +10242,7 @@ index 994cee7fc..5d1d0a1cd 100644 #include #include diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c -index 980b31e3b..722be905e 100644 +index 7384b37d3..b4e1dbde5 100644 --- a/newlib/libc/stdio/vfwprintf.c +++ b/newlib/libc/stdio/vfwprintf.c @@ -92,6 +92,9 @@ SEEALSO @@ -10243,7 +10256,7 @@ index 980b31e3b..722be905e 100644 #ifdef INTEGER_ONLY diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index f00d41a09..7e290ee8d 100644 +index e9e00dfec..c38d81e17 100644 --- a/newlib/libc/stdio/vfwscanf.c +++ b/newlib/libc/stdio/vfwscanf.c @@ -74,6 +74,9 @@ PORTABILITY @@ -10257,10 +10270,10 @@ index f00d41a09..7e290ee8d 100644 #include #include diff --git a/newlib/libc/stdlib/Makefile.am b/newlib/libc/stdlib/Makefile.am -index 357e37beb..7183b2100 100644 +index a91bdc784..e049adc9a 100644 --- a/newlib/libc/stdlib/Makefile.am +++ b/newlib/libc/stdlib/Makefile.am -@@ -110,6 +110,7 @@ MALLOCR=mallocr +@@ -112,6 +112,7 @@ MALLOCR=mallocr endif EXTENDED_SOURCES = \ @@ -10269,10 +10282,10 @@ index 357e37beb..7183b2100 100644 arc4random_uniform.c \ cxa_atexit.c \ diff --git a/newlib/libc/stdlib/Makefile.in b/newlib/libc/stdlib/Makefile.in -index 699831f13..1e6d2e612 100644 +index 0fed51d79..2d8dc1325 100644 --- a/newlib/libc/stdlib/Makefile.in +++ b/newlib/libc/stdlib/Makefile.in -@@ -119,7 +119,7 @@ am__objects_2 = lib_a-__adjust.$(OBJEXT) lib_a-__atexit.$(OBJEXT) \ +@@ -127,7 +127,7 @@ am__objects_2 = lib_a-__adjust.$(OBJEXT) lib_a-__atexit.$(OBJEXT) \ lib_a-wcstoumax.$(OBJEXT) lib_a-wcstombs.$(OBJEXT) \ lib_a-wcstombs_r.$(OBJEXT) lib_a-wctomb.$(OBJEXT) \ lib_a-wctomb_r.$(OBJEXT) $(am__objects_1) @@ -10281,7 +10294,7 @@ index 699831f13..1e6d2e612 100644 lib_a-arc4random_uniform.$(OBJEXT) lib_a-cxa_atexit.$(OBJEXT) \ lib_a-cxa_finalize.$(OBJEXT) lib_a-drand48.$(OBJEXT) \ lib_a-ecvtbuf.$(OBJEXT) lib_a-efgcvt.$(OBJEXT) \ -@@ -173,7 +173,7 @@ am__objects_9 = __adjust.lo __atexit.lo __call_atexit.lo __exp10.lo \ +@@ -182,7 +182,7 @@ am__objects_9 = __adjust.lo __atexit.lo __call_atexit.lo __exp10.lo \ utoa.lo wcstod.lo wcstoimax.lo wcstol.lo wcstoul.lo \ wcstoumax.lo wcstombs.lo wcstombs_r.lo wctomb.lo wctomb_r.lo \ $(am__objects_8) @@ -10290,9 +10303,9 @@ index 699831f13..1e6d2e612 100644 cxa_finalize.lo drand48.lo ecvtbuf.lo efgcvt.lo erand48.lo \ jrand48.lo lcong48.lo lrand48.lo mrand48.lo msize.lo mtrim.lo \ nrand48.lo rand48.lo seed48.lo srand48.lo strtoll.lo \ -@@ -1054,6 +1054,12 @@ lib_a-wcstold.o: wcstold.c +@@ -1102,6 +1102,12 @@ lib_a-wcstold.o: wcstold.c lib_a-wcstold.obj: wcstold.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstold.obj `if test -f 'wcstold.c'; then $(CYGPATH_W) 'wcstold.c'; else $(CYGPATH_W) '$(srcdir)/wcstold.c'; fi` + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstold.obj `if test -f 'wcstold.c'; then $(CYGPATH_W) 'wcstold.c'; else $(CYGPATH_W) '$(srcdir)/wcstold.c'; fi` +lib_a-threads.o: threads.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-threads.o `test -f 'threads.c' || echo '$(srcdir)/'`threads.c @@ -10301,21 +10314,8 @@ index 699831f13..1e6d2e612 100644 + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-threads.obj `if test -f 'threads.c'; then $(CYGPATH_W) 'threads.c'; else $(CYGPATH_W) '$(srcdir)/threads.c'; fi` + lib_a-arc4random.o: arc4random.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-arc4random.o `test -f 'arc4random.c' || echo '$(srcdir)/'`arc4random.c - -diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c -index feb22c24b..3dae0c9a9 100644 ---- a/newlib/libc/stdlib/aligned_alloc.c -+++ b/newlib/libc/stdlib/aligned_alloc.c -@@ -28,6 +28,8 @@ - - #include - #include -+#include -+#include + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-arc4random.o `test -f 'arc4random.c' || echo '$(srcdir)/'`arc4random.c - void * - aligned_alloc (size_t align, size_t size) diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c index 920a7ea3c..ba5ee7652 100644 --- a/newlib/libc/stdlib/mbtowc_r.c diff --git a/select_toolchain.sh b/select_toolchain.sh index c34f9d3..21f4f67 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -51,7 +51,7 @@ case "$VERSION" in "3" ) GCC_VER=11.2.0 BINUTILS_VER=2.32 - NEWLIB_VER=4.1.0 + NEWLIB_VER=4.2.0.20211231 basedir='dka64' package=devkitA64 target=aarch64-none-elf From 73b1cb9d7a73a5afc8781e74c774aa2b276f0636 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 3 Jan 2022 12:19:10 +0000 Subject: [PATCH 183/280] devkitPPC: update newlib to 4.2.0.20211231 --- ....1.0.patch => newlib-4.2.0.20211231.patch} | 71 ++++++++----------- select_toolchain.sh | 2 +- 2 files changed, 30 insertions(+), 43 deletions(-) rename dkppc/patches/{newlib-4.1.0.patch => newlib-4.2.0.20211231.patch} (99%) diff --git a/dkppc/patches/newlib-4.1.0.patch b/dkppc/patches/newlib-4.2.0.20211231.patch similarity index 99% rename from dkppc/patches/newlib-4.1.0.patch rename to dkppc/patches/newlib-4.2.0.20211231.patch index b546449..d9badcd 100644 --- a/dkppc/patches/newlib-4.1.0.patch +++ b/dkppc/patches/newlib-4.2.0.20211231.patch @@ -1,8 +1,8 @@ diff --git a/libgloss/configure b/libgloss/configure -index 816b9c4b8..b79edb6c8 100755 +index e70c57d89..ac5c745f9 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -2609,6 +2609,8 @@ if test "${config_libnosys}" = "true"; then +@@ -2787,6 +2787,8 @@ if test "${config_libnosys}" = "true"; then fi @@ -11,12 +11,12 @@ index 816b9c4b8..b79edb6c8 100755 DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" -diff --git a/libgloss/configure.in b/libgloss/configure.in -index 4111724e1..dfd632c20 100644 ---- a/libgloss/configure.in -+++ b/libgloss/configure.in +diff --git a/libgloss/configure.ac b/libgloss/configure.ac +index 0fbe99526..42ea1d2ed 100644 +--- a/libgloss/configure.ac ++++ b/libgloss/configure.ac @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. - AC_PREREQ(2.59) + AC_PREREQ(2.69)dnl AC_INIT([libgloss],[LIBGLOSS_VERSION]) AC_CONFIG_SRCDIR([libnosys]) +AC_CONFIG_SRCDIR([libsysbase]) @@ -7381,10 +7381,10 @@ index 000000000..bd25d775d + exit ( main(__system_argv->argc,__system_argv->argv) ); +} diff --git a/newlib/configure.host b/newlib/configure.host -index 1ddbb6c76..ef4cbe6c3 100644 +index c429dde1c..350dbc8f0 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -864,7 +864,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -863,7 +863,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID default_newlib_io_long_long="yes" newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" ;; @@ -7426,7 +7426,7 @@ index 5c293c83d..75ccf89f5 100644 #define _jp2uc(c) (c) #define _jp2uc_l(c, l) (c) diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h -index 2b01fbe8f..7af875b81 100644 +index 23d572cd3..65310c084 100644 --- a/newlib/libc/include/reent.h +++ b/newlib/libc/include/reent.h @@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); @@ -7501,10 +7501,10 @@ index a3fb5c02c..adb8e1083 100644 + +#endif // _dirent_h_ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 218807178..c9efd7d03 100644 +index 45476ce4a..d76706321 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h -@@ -330,6 +330,9 @@ extern "C" { +@@ -331,6 +331,9 @@ extern "C" { # define __SSP_FORTIFY_LEVEL 0 #endif @@ -7638,7 +7638,7 @@ index 000000000..9bec9e473 +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 74b70e9c0..d8c5410ec 100644 +index e4e36170e..5b8d06ed6 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -421,6 +421,8 @@ struct _reent @@ -7659,7 +7659,7 @@ index 74b70e9c0..d8c5410ec 100644 #ifdef _REENT_GLOBAL_STDIO_STREAMS diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index 8769112b0..5526e59ee 100644 +index 6525272dd..d24673618 100644 --- a/newlib/libc/include/sys/stat.h +++ b/newlib/libc/include/sys/stat.h @@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); @@ -7892,10 +7892,10 @@ index a0c80843a..efabdcfc4 100644 /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE diff --git a/newlib/libc/machine/powerpc/Makefile.am b/newlib/libc/machine/powerpc/Makefile.am -index e86afdf1c..007bd1567 100644 +index 577b7f9b3..ce3bb7b53 100644 --- a/newlib/libc/machine/powerpc/Makefile.am +++ b/newlib/libc/machine/powerpc/Makefile.am -@@ -10,7 +10,7 @@ noinst_LIBRARIES = lib.a +@@ -8,7 +8,7 @@ noinst_LIBRARIES = lib.a AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib @@ -7905,19 +7905,19 @@ index e86afdf1c..007bd1567 100644 lib_a_CFLAGS=$(AM_CFLAGS) lib_a_LIBADD = @extra_objs@ diff --git a/newlib/libc/machine/powerpc/Makefile.in b/newlib/libc/machine/powerpc/Makefile.in -index 73b0cc471..12044cb8a 100644 +index 46acda680..892a82288 100644 --- a/newlib/libc/machine/powerpc/Makefile.in +++ b/newlib/libc/machine/powerpc/Makefile.in -@@ -68,7 +68,7 @@ CONFIG_CLEAN_VPATH_FILES = - LIBRARIES = $(noinst_LIBRARIES) - ARFLAGS = cru +@@ -74,7 +74,7 @@ AM_V_at = $(am__v_at_@AM_V@) + am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) + am__v_at_0 = @ lib_a_AR = $(AR) $(ARFLAGS) -am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) +am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-access.$(OBJEXT) lib_a_OBJECTS = $(am_lib_a_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = -@@ -196,7 +196,7 @@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) +@@ -218,7 +218,7 @@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) AM_CCASFLAGS = $(INCLUDES) noinst_LIBRARIES = lib.a AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib @@ -7926,9 +7926,9 @@ index 73b0cc471..12044cb8a 100644 lib_a_CCASFLAGS = $(AM_CCASFLAGS) lib_a_CFLAGS = $(AM_CFLAGS) lib_a_LIBADD = @extra_objs@ -@@ -280,6 +280,12 @@ lib_a-setjmp.obj: setjmp.S +@@ -302,6 +302,12 @@ lib_a-setjmp.obj: setjmp.S .c.obj: - $(COMPILE) -c `$(CYGPATH_W) '$<'` + $(AM_V_CC)$(COMPILE) -c `$(CYGPATH_W) '$<'` +lib_a-access.o: access.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.o `test -f 'access.c' || echo '$(srcdir)/'`access.c @@ -7937,7 +7937,7 @@ index 73b0cc471..12044cb8a 100644 + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.obj `if test -f 'access.c'; then $(CYGPATH_W) 'access.c'; else $(CYGPATH_W) '$(srcdir)/access.c'; fi` + lib_a-vfprintf.o: vfprintf.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-vfprintf.o `test -f 'vfprintf.c' || echo '$(srcdir)/'`vfprintf.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-vfprintf.o `test -f 'vfprintf.c' || echo '$(srcdir)/'`vfprintf.c diff --git a/newlib/libc/machine/powerpc/access.c b/newlib/libc/machine/powerpc/access.c new file mode 100644 @@ -8105,10 +8105,10 @@ index 95f1a7422..c797d2e64 100644 + #endif diff --git a/newlib/libc/stdio/Makefile.in b/newlib/libc/stdio/Makefile.in -index aa22a0e3a..93e672b6a 100644 +index 6d18a4443..01402f4de 100644 --- a/newlib/libc/stdio/Makefile.in +++ b/newlib/libc/stdio/Makefile.in -@@ -507,6 +507,7 @@ GENERAL_SOURCES = \ +@@ -527,6 +527,7 @@ GENERAL_SOURCES = \ rename.c \ rewind.c \ rget.c \ @@ -8116,9 +8116,9 @@ index aa22a0e3a..93e672b6a 100644 scanf.c \ sccl.c \ setbuf.c \ -@@ -1176,6 +1177,12 @@ lib_a-rget.o: rget.c +@@ -1196,6 +1197,12 @@ lib_a-rget.o: rget.c lib_a-rget.obj: rget.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rget.obj `if test -f 'rget.c'; then $(CYGPATH_W) 'rget.c'; else $(CYGPATH_W) '$(srcdir)/rget.c'; fi` + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rget.obj `if test -f 'rget.c'; then $(CYGPATH_W) 'rget.c'; else $(CYGPATH_W) '$(srcdir)/rget.c'; fi` +lib_a-rmdir.o: rmdir.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rmdir.o `test -f 'rmdir.c' || echo '$(srcdir)/'`rmdir.c @@ -8127,7 +8127,7 @@ index aa22a0e3a..93e672b6a 100644 + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rmdir.obj `if test -f 'rmdir.c'; then $(CYGPATH_W) 'rmdir.c'; else $(CYGPATH_W) '$(srcdir)/rmdir.c'; fi` + lib_a-scanf.o: scanf.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-scanf.o `test -f 'scanf.c' || echo '$(srcdir)/'`scanf.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-scanf.o `test -f 'scanf.c' || echo '$(srcdir)/'`scanf.c diff --git a/newlib/libc/stdio/fopen.c b/newlib/libc/stdio/fopen.c index 1ac551fed..d293b7b0e 100644 @@ -8219,19 +8219,6 @@ index d8dfdbd82..a85b5a99b 100644 return 0; } -diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c -index feb22c24b..3dae0c9a9 100644 ---- a/newlib/libc/stdlib/aligned_alloc.c -+++ b/newlib/libc/stdlib/aligned_alloc.c -@@ -28,6 +28,8 @@ - - #include - #include -+#include -+#include - - void * - aligned_alloc (size_t align, size_t size) diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c index 920a7ea3c..ba5ee7652 100644 --- a/newlib/libc/stdlib/mbtowc_r.c diff --git a/select_toolchain.sh b/select_toolchain.sh index 21f4f67..9e5f666 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -42,7 +42,7 @@ case "$VERSION" in GCC_VER=11.2.0 BINUTILS_VER=2.37 MN_BINUTILS_VER=2.24 - NEWLIB_VER=4.1.0 + NEWLIB_VER=4.2.0.20211231 basedir='dkppc' package=devkitPPC target=powerpc-eabi From b700c35789f833a8ab15c8bf644914dd2714e923 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 3 Jan 2022 12:20:00 +0000 Subject: [PATCH 184/280] devkitARM: update newlib to 4.2.0.20211231 --- ....1.0.patch => newlib-4.2.0.20211231.patch} | 73 ++++++++----------- select_toolchain.sh | 2 +- 2 files changed, 31 insertions(+), 44 deletions(-) rename dkarm-eabi/patches/{newlib-4.1.0.patch => newlib-4.2.0.20211231.patch} (99%) diff --git a/dkarm-eabi/patches/newlib-4.1.0.patch b/dkarm-eabi/patches/newlib-4.2.0.20211231.patch similarity index 99% rename from dkarm-eabi/patches/newlib-4.1.0.patch rename to dkarm-eabi/patches/newlib-4.2.0.20211231.patch index 3a1cae3..d579914 100644 --- a/dkarm-eabi/patches/newlib-4.1.0.patch +++ b/dkarm-eabi/patches/newlib-4.2.0.20211231.patch @@ -1,8 +1,8 @@ diff --git a/libgloss/configure b/libgloss/configure -index 816b9c4b8..b79edb6c8 100755 +index e70c57d89..ac5c745f9 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -2609,6 +2609,8 @@ if test "${config_libnosys}" = "true"; then +@@ -2787,6 +2787,8 @@ if test "${config_libnosys}" = "true"; then fi @@ -11,12 +11,12 @@ index 816b9c4b8..b79edb6c8 100755 DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" -diff --git a/libgloss/configure.in b/libgloss/configure.in -index 4111724e1..0e44d885e 100644 ---- a/libgloss/configure.in -+++ b/libgloss/configure.in +diff --git a/libgloss/configure.ac b/libgloss/configure.ac +index 0fbe99526..577dfdec6 100644 +--- a/libgloss/configure.ac ++++ b/libgloss/configure.ac @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. - AC_PREREQ(2.59) + AC_PREREQ(2.69)dnl AC_INIT([libgloss],[LIBGLOSS_VERSION]) AC_CONFIG_SRCDIR([libnosys]) +AC_CONFIG_SRCDIR([libsysbase]) @@ -7392,10 +7392,10 @@ index 000000000..61de918bc + return ret; +} diff --git a/newlib/configure.host b/newlib/configure.host -index 1ddbb6c76..ed9999bea 100644 +index c429dde1c..26fb553a7 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -694,6 +694,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -693,6 +693,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID syscall_dir=syscalls default_newlib_io_long_long="yes" ;; @@ -7437,7 +7437,7 @@ index 5c293c83d..75ccf89f5 100644 #define _jp2uc(c) (c) #define _jp2uc_l(c, l) (c) diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h -index 2b01fbe8f..7af875b81 100644 +index 23d572cd3..65310c084 100644 --- a/newlib/libc/include/reent.h +++ b/newlib/libc/include/reent.h @@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); @@ -7449,7 +7449,7 @@ index 2b01fbe8f..7af875b81 100644 extern int _stat_r (struct _reent *, const char *, struct stat *); extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h -index ab18806e3..db77ebb2a 100644 +index 7748351f0..7377b2aa3 100644 --- a/newlib/libc/include/stdio.h +++ b/newlib/libc/include/stdio.h @@ -233,7 +233,7 @@ int fsetpos (FILE *, const _fpos_t *); @@ -7462,7 +7462,7 @@ index ab18806e3..db77ebb2a 100644 void clearerr (FILE *); int feof (FILE *); diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 4bc8d29bf..35c05e6af 100644 +index 61a6f95d8..34aeaad3d 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h @@ -4,6 +4,9 @@ @@ -7542,10 +7542,10 @@ index a3fb5c02c..5debd1525 100644 + +#endif // _dirent_h_ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 218807178..c9efd7d03 100644 +index 45476ce4a..d76706321 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h -@@ -330,6 +330,9 @@ extern "C" { +@@ -331,6 +331,9 @@ extern "C" { # define __SSP_FORTIFY_LEVEL 0 #endif @@ -7691,7 +7691,7 @@ index 9a6f115a6..142e71d35 100644 #define MAXPATHLEN PATH_MAX diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 74b70e9c0..d8c5410ec 100644 +index e4e36170e..5b8d06ed6 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -421,6 +421,8 @@ struct _reent @@ -7712,7 +7712,7 @@ index 74b70e9c0..d8c5410ec 100644 #ifdef _REENT_GLOBAL_STDIO_STREAMS diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index 8769112b0..5526e59ee 100644 +index 6525272dd..d24673618 100644 --- a/newlib/libc/include/sys/stat.h +++ b/newlib/libc/include/sys/stat.h @@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); @@ -7916,10 +7916,10 @@ index 968642745..2ab1f9570 100644 return __get_current_locale ()->ctype_ptr; } diff --git a/newlib/libc/machine/arm/Makefile.am b/newlib/libc/machine/arm/Makefile.am -index 9bd35e733..731130092 100644 +index 2d559464a..1e6625c05 100644 --- a/newlib/libc/machine/arm/Makefile.am +++ b/newlib/libc/machine/arm/Makefile.am -@@ -11,7 +11,9 @@ noinst_LIBRARIES = lib.a +@@ -9,7 +9,9 @@ noinst_LIBRARIES = lib.a lib_a_SOURCES = setjmp.S strcmp.S strcpy.c \ aeabi_memcpy.c aeabi_memcpy-armv7a.S \ aeabi_memmove.c aeabi_memmove-soft.S \ @@ -7931,10 +7931,10 @@ index 9bd35e733..731130092 100644 lib_a_SOURCES += memchr.S lib_a_SOURCES += memcpy-stub.c diff --git a/newlib/libc/machine/arm/Makefile.in b/newlib/libc/machine/arm/Makefile.in -index d9dbcd5c3..43712f813 100644 +index 17a46a44d..b319b8349 100644 --- a/newlib/libc/machine/arm/Makefile.in +++ b/newlib/libc/machine/arm/Makefile.in -@@ -75,10 +75,10 @@ am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ +@@ -81,10 +81,10 @@ am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ lib_a-aeabi_memmove.$(OBJEXT) \ lib_a-aeabi_memmove-soft.$(OBJEXT) \ lib_a-aeabi_memset.$(OBJEXT) lib_a-aeabi_memset-soft.$(OBJEXT) \ @@ -7949,7 +7949,7 @@ index d9dbcd5c3..43712f813 100644 lib_a_OBJECTS = $(am_lib_a_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = -@@ -208,8 +208,8 @@ noinst_LIBRARIES = lib.a +@@ -230,8 +230,8 @@ noinst_LIBRARIES = lib.a lib_a_SOURCES = setjmp.S strcmp.S strcpy.c aeabi_memcpy.c \ aeabi_memcpy-armv7a.S aeabi_memmove.c aeabi_memmove-soft.S \ aeabi_memset.c aeabi_memset-soft.S aeabi_memclr.c \ @@ -7960,9 +7960,9 @@ index d9dbcd5c3..43712f813 100644 lib_a_CCASFLAGS = $(AM_CCASFLAGS) lib_a_CFLAGS = $(AM_CFLAGS) ACLOCAL_AMFLAGS = -I ../../.. -I ../../../.. -@@ -367,6 +367,12 @@ lib_a-aeabi_memclr.o: aeabi_memclr.c +@@ -389,6 +389,12 @@ lib_a-aeabi_memclr.o: aeabi_memclr.c lib_a-aeabi_memclr.obj: aeabi_memclr.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aeabi_memclr.obj `if test -f 'aeabi_memclr.c'; then $(CYGPATH_W) 'aeabi_memclr.c'; else $(CYGPATH_W) '$(srcdir)/aeabi_memclr.c'; fi` + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aeabi_memclr.obj `if test -f 'aeabi_memclr.c'; then $(CYGPATH_W) 'aeabi_memclr.c'; else $(CYGPATH_W) '$(srcdir)/aeabi_memclr.c'; fi` +lib_a-sync_synchronize.o: sync_synchronize.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sync_synchronize.o `test -f 'sync_synchronize.c' || echo '$(srcdir)/'`sync_synchronize.c @@ -7971,7 +7971,7 @@ index d9dbcd5c3..43712f813 100644 + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sync_synchronize.obj `if test -f 'sync_synchronize.c'; then $(CYGPATH_W) 'sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/sync_synchronize.c'; fi` + lib_a-memchr-stub.o: memchr-stub.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.o `test -f 'memchr-stub.c' || echo '$(srcdir)/'`memchr-stub.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.o `test -f 'memchr-stub.c' || echo '$(srcdir)/'`memchr-stub.c diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c new file mode 100644 @@ -8142,7 +8142,7 @@ index d8dfdbd82..a85b5a99b 100644 return 0; } diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index 1aaf05aa4..b67182a79 100644 +index c1483c0ac..319b1972b 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c @@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, @@ -8154,7 +8154,7 @@ index 1aaf05aa4..b67182a79 100644 #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ static char *rcsid = "$Id$"; -@@ -1434,7 +1436,7 @@ reswitch: switch (ch) { +@@ -1431,7 +1433,7 @@ reswitch: switch (ch) { string: #endif sign = '\0'; @@ -8163,7 +8163,7 @@ index 1aaf05aa4..b67182a79 100644 /* Behavior is undefined if the user passed a NULL string when precision is not 0. However, if we are not optimizing for size, -@@ -1444,7 +1446,7 @@ string: +@@ -1441,7 +1443,7 @@ string: size = ((unsigned) prec > 6U) ? 6 : prec; } else @@ -8173,7 +8173,7 @@ index 1aaf05aa4..b67182a79 100644 if (ch == 'S' || (flags & LONGINT)) { mbstate_t ps; diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index 994cee7fc..5d1d0a1cd 100644 +index 037692531..b5e524c53 100644 --- a/newlib/libc/stdio/vfscanf.c +++ b/newlib/libc/stdio/vfscanf.c @@ -74,6 +74,8 @@ These are GNU extensions. @@ -8186,7 +8186,7 @@ index 994cee7fc..5d1d0a1cd 100644 #include #include diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c -index 980b31e3b..722be905e 100644 +index 7384b37d3..b4e1dbde5 100644 --- a/newlib/libc/stdio/vfwprintf.c +++ b/newlib/libc/stdio/vfwprintf.c @@ -92,6 +92,9 @@ SEEALSO @@ -8200,7 +8200,7 @@ index 980b31e3b..722be905e 100644 #ifdef INTEGER_ONLY diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index f00d41a09..7e290ee8d 100644 +index e9e00dfec..c38d81e17 100644 --- a/newlib/libc/stdio/vfwscanf.c +++ b/newlib/libc/stdio/vfwscanf.c @@ -74,6 +74,9 @@ PORTABILITY @@ -8213,19 +8213,6 @@ index f00d41a09..7e290ee8d 100644 #include <_ansi.h> #include #include -diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c -index feb22c24b..3dae0c9a9 100644 ---- a/newlib/libc/stdlib/aligned_alloc.c -+++ b/newlib/libc/stdlib/aligned_alloc.c -@@ -28,6 +28,8 @@ - - #include - #include -+#include -+#include - - void * - aligned_alloc (size_t align, size_t size) diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c index 920a7ea3c..ba5ee7652 100644 --- a/newlib/libc/stdlib/mbtowc_r.c diff --git a/select_toolchain.sh b/select_toolchain.sh index 9e5f666..0f7bd47 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -32,7 +32,7 @@ case "$VERSION" in "1" ) GCC_VER=11.2.0 BINUTILS_VER=2.37 - NEWLIB_VER=4.1.0 + NEWLIB_VER=4.2.0.20211231 basedir='dkarm-eabi' package=devkitARM target=arm-none-eabi From da06cfb478ad5a3a62a07d58b6138ed19e75fdad Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 25 Jan 2022 19:49:11 +0000 Subject: [PATCH 185/280] devkitPPC: add arm64 macOS patch --- dkppc/patches/gcc-11.2.0.patch | 62 ++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/dkppc/patches/gcc-11.2.0.patch b/dkppc/patches/gcc-11.2.0.patch index f6193a2..ec882b0 100644 --- a/dkppc/patches/gcc-11.2.0.patch +++ b/dkppc/patches/gcc-11.2.0.patch @@ -10,6 +10,68 @@ index 4b937306ad0..bfd0375bd60 100644 gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; +diff --git a/gcc/config.host b/gcc/config.host +index 0a02c33cc80..38f7adc655e 100644 +--- a/gcc/config.host ++++ b/gcc/config.host +@@ -251,6 +251,10 @@ case ${host} in + host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o" + host_lto_plugin_soname=liblto_plugin.dll + ;; ++ aarch64-*-darwin*) ++ out_host_hook_obj="${out_host_hook_obj} host-aarch64-darwin.o" ++ host_xmake_file="${host_xmake_file} aarch64/x-darwin" ++ ;; + i[34567]86-*-darwin* | x86_64-*-darwin*) + out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o" + host_xmake_file="${host_xmake_file} i386/x-darwin" +diff --git a/gcc/config/aarch64/host-aarch64-darwin.c b/gcc/config/aarch64/host-aarch64-darwin.c +new file mode 100644 +index 00000000000..92c38b0b9db +--- /dev/null ++++ b/gcc/config/aarch64/host-aarch64-darwin.c +@@ -0,0 +1,32 @@ ++/* i386-darwin host-specific hook definitions. ++ Copyright (C) 2003-2021 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 ++. */ ++ ++#define IN_TARGET_CODE 1 ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "hosthooks.h" ++#include "hosthooks-def.h" ++#include "config/host-darwin.h" ++ ++/* Darwin doesn't do anything special for aarch64 hosts; this file exists just ++ to include config/host-darwin.h. */ ++ ++const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER; +diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin +new file mode 100644 +index 00000000000..6d788d5e89c +--- /dev/null ++++ b/gcc/config/aarch64/x-darwin +@@ -0,0 +1,3 @@ ++host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c ++ $(COMPILE) $< ++ $(POSTCOMPILE) diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c index 360a280b23a..2c03947999a 100644 --- a/gcc/config/i386/host-mingw32.c From a0ee149c40b3279d5a58b1d0442161ce90243eab Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 27 Jan 2022 20:55:27 +0000 Subject: [PATCH 186/280] devkitA64: remove obsolete flag setting --- dka64/scripts/build-gcc.sh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 98b2aae..e710c67 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -10,7 +10,7 @@ cd $target/binutils if [ ! -f configured-binutils ] then - CFLAGS=$cflags LDFLAGS=$ldflags ../../binutils-$BINUTILS_VER/configure \ + ../../binutils-$BINUTILS_VER/configure \ --prefix=$prefix --target=$target --disable-nls --disable-werror \ --enable-lto --enable-plugins --enable-poison-system-directories \ $CROSS_PARAMS \ @@ -39,9 +39,6 @@ cd $target/gcc if [ ! -f configured-gcc ] then - CFLAGS="$cflags" \ - CXXFLAGS="$cflags" \ - LDFLAGS="$ldflags" \ CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ CXXFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ LDFLAGS_FOR_TARGET="" \ @@ -52,7 +49,7 @@ then --enable-cxx-flags='-ffunction-sections' \ --disable-libstdcxx-verbose \ --enable-poison-system-directories \ - --enable-interwork --enable-multilib \ + --enable-multilib \ --enable-threads --disable-win32-registry --disable-nls --disable-debug\ --disable-libmudflap --disable-libssp --disable-libgomp \ --disable-libstdcxx-pch \ From c0146427e1cc763c95ed02ccc26146d5e9cc9a9b Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 30 Apr 2022 17:57:26 +0100 Subject: [PATCH 187/280] devkitARM: update binutils to 2.38 --- build-devkit.sh | 2 +- dkarm-eabi/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index a8ab810..f26b933 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash #--------------------------------------------------------------------------------- -# devkitARM release 57 +# devkitARM release 58 # devkitPPC release 40 # devkitA64 release 18 #--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 7335a3a..4762d5a 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -66,7 +66,7 @@ then --with-system-zlib \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 57" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 58" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index 0f7bd47..53c4f7b 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -31,7 +31,7 @@ done case "$VERSION" in "1" ) GCC_VER=11.2.0 - BINUTILS_VER=2.37 + BINUTILS_VER=2.38 NEWLIB_VER=4.2.0.20211231 basedir='dkarm-eabi' package=devkitARM From a84866105a296eb37db129041d632bac73ec8652 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 30 Apr 2022 18:00:21 +0100 Subject: [PATCH 188/280] devkitARM: update gcc to 12.1.0-RC-20220429 --- ...2.0.patch => gcc-12.1.0-RC-20220429.patch} | 184 +++++------------- select_toolchain.sh | 2 +- 2 files changed, 46 insertions(+), 140 deletions(-) rename dkarm-eabi/patches/{gcc-11.2.0.patch => gcc-12.1.0-RC-20220429.patch} (58%) diff --git a/dkarm-eabi/patches/gcc-11.2.0.patch b/dkarm-eabi/patches/gcc-12.1.0-RC-20220429.patch similarity index 58% rename from dkarm-eabi/patches/gcc-11.2.0.patch rename to dkarm-eabi/patches/gcc-12.1.0-RC-20220429.patch index 842455e..95b119c 100644 --- a/dkarm-eabi/patches/gcc-11.2.0.patch +++ b/dkarm-eabi/patches/gcc-12.1.0-RC-20220429.patch @@ -1,70 +1,7 @@ -diff --git a/gcc/config.host b/gcc/config.host -index 0a02c33cc80..38f7adc655e 100644 ---- a/gcc/config.host -+++ b/gcc/config.host -@@ -251,6 +251,10 @@ case ${host} in - host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o" - host_lto_plugin_soname=liblto_plugin.dll - ;; -+ aarch64-*-darwin*) -+ out_host_hook_obj="${out_host_hook_obj} host-aarch64-darwin.o" -+ host_xmake_file="${host_xmake_file} aarch64/x-darwin" -+ ;; - i[34567]86-*-darwin* | x86_64-*-darwin*) - out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o" - host_xmake_file="${host_xmake_file} i386/x-darwin" -diff --git a/gcc/config/aarch64/host-aarch64-darwin.c b/gcc/config/aarch64/host-aarch64-darwin.c -new file mode 100644 -index 00000000000..92c38b0b9db ---- /dev/null -+++ b/gcc/config/aarch64/host-aarch64-darwin.c -@@ -0,0 +1,32 @@ -+/* i386-darwin host-specific hook definitions. -+ Copyright (C) 2003-2021 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 -+. */ -+ -+#define IN_TARGET_CODE 1 -+ -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "hosthooks.h" -+#include "hosthooks-def.h" -+#include "config/host-darwin.h" -+ -+/* Darwin doesn't do anything special for aarch64 hosts; this file exists just -+ to include config/host-darwin.h. */ -+ -+const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER; -diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin -new file mode 100644 -index 00000000000..6d788d5e89c ---- /dev/null -+++ b/gcc/config/aarch64/x-darwin -@@ -0,0 +1,3 @@ -+host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c -+ $(COMPILE) $< -+ $(POSTCOMPILE) -diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in -index ab4b6acf5ea..2b8d0da296f 100644 ---- a/gcc/config/arm/arm-cpus.in -+++ b/gcc/config/arm/arm-cpus.in -@@ -402,7 +402,7 @@ begin arch armv6k +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/arm-cpus.in gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/arm-cpus.in +--- gcc-12.1.0-RC-20220429/gcc/config/arm/arm-cpus.in 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/arm-cpus.in 2022-04-30 13:31:09.120134164 +0100 +@@ -412,7 +412,7 @@ tune for mpcore tune flags CO_PROC base 6K @@ -73,11 +10,16 @@ index ab4b6acf5ea..2b8d0da296f 100644 option fp add VFPv2 FP_DBL optalias vfpv2 fp option nofp remove ALL_FP -diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf -index d68def30867..d31f1e31ee6 100644 ---- a/gcc/config/arm/t-arm-elf -+++ b/gcc/config/arm/t-arm-elf -@@ -16,111 +16,14 @@ +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/t-arm-elf gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/t-arm-elf +--- gcc-12.1.0-RC-20220429/gcc/config/arm/t-arm-elf 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/t-arm-elf 2022-04-30 13:31:39.759455398 +0100 +@@ -1,4 +1,4 @@ +-# Copyright (C) 1998-2022 Free Software Foundation, Inc. ++# Copyright (C) 1998-2021 Free Software Foundation, Inc. + # + # This file is part of GCC. + # +@@ -16,120 +16,14 @@ # along with GCC; see the file COPYING3. If not see # . @@ -103,6 +45,8 @@ index d68def30867..d31f1e31ee6 100644 -# it seems to work ok. -v8_fps := simd fp16 crypto fp16+crypto dotprod fp16fml - +-v9_fps := simd fp16 crypto fp16+crypto dotprod fp16fml +- -# We don't do anything special with these. Pre-v4t probably doesn't work. -all_early_nofp := armv4 armv4t armv5t - @@ -114,6 +58,8 @@ index d68def30867..d31f1e31ee6 100644 -all_v8_archs := armv8-a armv8-a+crc armv8.1-a armv8.2-a armv8.3-a armv8.4-a \ - armv8.5-a armv8.6-a - +-all_v9_archs := armv9-a +- -# No floating point variants, require thumb1 softfp -all_nofp_t := armv6-m armv6s-m armv8-m.base - @@ -171,11 +117,16 @@ index d68def30867..d31f1e31ee6 100644 -MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \ - march?armv7+fp=march?$(ARCH) \ - march?armv7+fp=march?$(ARCH)+fp) - +- -MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \ - march?armv7+fp=march?$(ARCH) \ - $(foreach FPARCH, $(v8_fps), \ - march?armv7+fp=march?$(ARCH)+$(FPARCH))) + +-MULTILIB_MATCHES += $(foreach ARCH, $(all_v9_archs), \ +- march?armv7+fp=march?$(ARCH) \ +- $(foreach FPARCH, $(v9_fps), \ +- march?armv7+fp=march?$(ARCH)+$(FPARCH))) +MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard -MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \ @@ -194,10 +145,9 @@ index d68def30867..d31f1e31ee6 100644 -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard -diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h -index cca6f0ece54..8b78c28c7bb 100644 ---- a/gcc/config/arm/unknown-elf.h -+++ b/gcc/config/arm/unknown-elf.h +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/unknown-elf.h gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/unknown-elf.h +--- gcc-12.1.0-RC-20220429/gcc/config/arm/unknown-elf.h 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/unknown-elf.h 2022-04-30 13:31:09.120134164 +0100 @@ -29,7 +29,7 @@ #endif @@ -214,11 +164,10 @@ index cca6f0ece54..8b78c28c7bb 100644 -#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %{!nolibc:%L} --end-group" +#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" + -diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c -index 360a280b23a..2c03947999a 100644 ---- a/gcc/config/i386/host-mingw32.c -+++ b/gcc/config/i386/host-mingw32.c -@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void); +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc gcc-12.1.0-RC-20220429-dkarm/gcc/config/i386/host-mingw32.cc +--- gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/i386/host-mingw32.cc 2022-04-30 13:31:09.120134164 +0100 +@@ -45,7 +45,11 @@ static inline void w32_error(const char*, const char*, int, const char*); /* FIXME: Is this big enough? */ @@ -230,11 +179,10 @@ index 360a280b23a..2c03947999a 100644 /* Granularity for reserving address space. */ static size_t va_granularity = 0x10000; -diff --git a/gcc/gcc.c b/gcc/gcc.c -index 4d790f9dd4a..10f0d08524c 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -853,6 +853,11 @@ proper position among the other output files. */ +diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dkarm/gcc/gcc.cc +--- gcc-12.1.0-RC-20220429/gcc/gcc.cc 2022-04-29 14:58:23.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dkarm/gcc/gcc.cc 2022-04-30 13:31:09.120134164 +0100 +@@ -860,6 +860,11 @@ #endif #endif @@ -246,7 +194,7 @@ index 4d790f9dd4a..10f0d08524c 100644 /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ #ifndef STARTFILE_SPEC #define STARTFILE_SPEC \ -@@ -1197,6 +1202,7 @@ static const char *link_spec = LINK_SPEC; +@@ -1204,6 +1209,7 @@ static const char *lib_spec = LIB_SPEC; static const char *link_gomp_spec = ""; static const char *libgcc_spec = LIBGCC_SPEC; @@ -254,7 +202,7 @@ index 4d790f9dd4a..10f0d08524c 100644 static const char *endfile_spec = ENDFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC; static const char *linker_name_spec = LINKER_NAME; -@@ -1702,6 +1708,7 @@ static struct spec_list static_specs[] = +@@ -1709,6 +1715,7 @@ INIT_STATIC_SPEC ("lib", &lib_spec), INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec), @@ -262,21 +210,19 @@ index 4d790f9dd4a..10f0d08524c 100644 INIT_STATIC_SPEC ("startfile", &startfile_spec), INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("version", &compiler_version), -diff --git a/libgcc/config/arm/t-bpabi b/libgcc/config/arm/t-bpabi -index dddddc7c444..c2502597953 100644 ---- a/libgcc/config/arm/t-bpabi -+++ b/libgcc/config/arm/t-bpabi -@@ -17,4 +17,4 @@ SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver +diff -NBaur gcc-12.1.0-RC-20220429/libgcc/config/arm/t-bpabi gcc-12.1.0-RC-20220429-dkarm/libgcc/config/arm/t-bpabi +--- gcc-12.1.0-RC-20220429/libgcc/config/arm/t-bpabi 2022-04-29 14:58:25.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dkarm/libgcc/config/arm/t-bpabi 2022-04-30 13:31:09.120134164 +0100 +@@ -17,4 +17,4 @@ # On ARM, specifying -fnon-call-exceptions will needlessly pull in # the unwinder in simple programs which use 64-bit division. Omitting # the option is safe. -LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions +LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 675930db043..bdfd6f6b0bb 100644 ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -325,7 +325,7 @@ register_tm_clones (void) +diff -NBaur gcc-12.1.0-RC-20220429/libgcc/crtstuff.c gcc-12.1.0-RC-20220429-dkarm/libgcc/crtstuff.c +--- gcc-12.1.0-RC-20220429/libgcc/crtstuff.c 2022-04-29 14:58:25.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dkarm/libgcc/crtstuff.c 2022-04-30 13:31:09.120134164 +0100 +@@ -325,7 +325,7 @@ #ifdef OBJECT_FORMAT_ELF @@ -285,43 +231,3 @@ index 675930db043..bdfd6f6b0bb 100644 /* Declare the __dso_handle variable. It should have a unique value in every shared-object; in a main program its value is zero. The object should in any case be protected. This means the instance -diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h -index 0413e3b7c25..ff5f8bbe1a1 100644 ---- a/libstdc++-v3/include/c_compatibility/fenv.h -+++ b/libstdc++-v3/include/c_compatibility/fenv.h -@@ -26,6 +26,10 @@ - * This is a Standard C++ Library header. - */ - -+#if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS -+# include_next -+#else -+ - #ifndef _GLIBCXX_FENV_H - #define _GLIBCXX_FENV_H 1 - -@@ -79,3 +83,5 @@ namespace std - #endif // C++11 - - #endif // _GLIBCXX_FENV_H -+ -+#endif // __cplusplus -diff --git a/libstdc++-v3/include/c_global/cfenv b/libstdc++-v3/include/c_global/cfenv -index 0b0ec35a837..d24cb1a3c81 100644 ---- a/libstdc++-v3/include/c_global/cfenv -+++ b/libstdc++-v3/include/c_global/cfenv -@@ -37,9 +37,11 @@ - - #include - --#if _GLIBCXX_HAVE_FENV_H --# include --#endif -+// Need to ensure this finds the C library's not a libstdc++ -+// wrapper that might already be installed later in the include search path. -+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS -+#include_next -+#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS - - #ifdef _GLIBCXX_USE_C99_FENV_TR1 - diff --git a/select_toolchain.sh b/select_toolchain.sh index 53c4f7b..d7c57f6 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,7 +30,7 @@ done case "$VERSION" in "1" ) - GCC_VER=11.2.0 + GCC_VER=12.1.0-RC-20220429 BINUTILS_VER=2.38 NEWLIB_VER=4.2.0.20211231 basedir='dkarm-eabi' From a370be5c4af4ca51230cdd047fc16ec808212dff Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 2 May 2022 22:19:23 +0100 Subject: [PATCH 189/280] devkitA64: update gcc to 12.1.0-RC-20220429 --- build-devkit.sh | 2 +- ...2.0.patch => gcc-12.1.0-RC-20220429.patch} | 320 ++++++------------ dka64/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 102 insertions(+), 224 deletions(-) rename dka64/patches/{gcc-11.2.0.patch => gcc-12.1.0-RC-20220429.patch} (56%) diff --git a/build-devkit.sh b/build-devkit.sh index f26b933..f93c0a4 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,7 +2,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 58 # devkitPPC release 40 -# devkitA64 release 18 +# devkitA64 release 19 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/patches/gcc-11.2.0.patch b/dka64/patches/gcc-12.1.0-RC-20220429.patch similarity index 56% rename from dka64/patches/gcc-11.2.0.patch rename to dka64/patches/gcc-12.1.0-RC-20220429.patch index fd12c57..c1c98bf 100644 --- a/dka64/patches/gcc-11.2.0.patch +++ b/dka64/patches/gcc-12.1.0-RC-20220429.patch @@ -1,71 +1,7 @@ -diff --git a/gcc/config.gcc b/gcc/config.gcc -index 357b0bed067..6b1e254785a 100644 ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -1090,7 +1090,14 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) - tmake_file="${tmake_file} aarch64/t-aarch64" - case $target in - aarch64-*-elf*) -+ default_use_cxa_atexit=yes - use_gcc_stdint=wrap -+ tm_file="${tm_file} devkitpro.h" -+ tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" -+ extra_options="${extra_options} devkitpro.opt" -+ case ${enable_threads} in -+ "" | yes | posix) thread_file='posix' ;; -+ esac - ;; - aarch64-*-fuchsia*) - tm_file="${tm_file} fuchsia.h" -diff --git a/gcc/config.host b/gcc/config.host -index 0a02c33cc80..38f7adc655e 100644 ---- a/gcc/config.host -+++ b/gcc/config.host -@@ -251,6 +251,10 @@ case ${host} in - host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o" - host_lto_plugin_soname=liblto_plugin.dll - ;; -+ aarch64-*-darwin*) -+ out_host_hook_obj="${out_host_hook_obj} host-aarch64-darwin.o" -+ host_xmake_file="${host_xmake_file} aarch64/x-darwin" -+ ;; - i[34567]86-*-darwin* | x86_64-*-darwin*) - out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o" - host_xmake_file="${host_xmake_file} i386/x-darwin" -diff --git a/gcc/config/aarch64/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h -index e986149e400..9264d53f32c 100644 ---- a/gcc/config/aarch64/aarch64-elf-raw.h -+++ b/gcc/config/aarch64/aarch64-elf-raw.h -@@ -22,6 +22,7 @@ - #ifndef GCC_AARCH64_ELF_RAW_H - #define GCC_AARCH64_ELF_RAW_H - -+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" - #define STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" - #define ENDFILE_SPEC \ - " crtend%O%s crtn%O%s " \ -diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h -index af3b7364a74..6df7a0dc8a1 100644 ---- a/gcc/config/aarch64/aarch64-opts.h -+++ b/gcc/config/aarch64/aarch64-opts.h -@@ -48,6 +48,12 @@ enum aarch64_tls_type { - TLS_DESCRIPTORS - }; - -+/* Which thread pointer access sequence to use. */ -+enum aarch64_tp_type { -+ TP_HARD, -+ TP_SOFT -+}; -+ - /* The code model defines the address generation strategy. - Most have a PIC and non-PIC variant. */ - enum aarch64_code_model { -diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c -index c2f4b27f6e4..ec05f056568 100644 ---- a/gcc/config/aarch64/aarch64.c -+++ b/gcc/config/aarch64/aarch64.c -@@ -18053,8 +18053,24 @@ aarch64_load_tp (rtx target) +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.cc gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.cc +--- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.cc 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.cc 2022-05-02 21:50:30.090088643 +0100 +@@ -19417,8 +19417,24 @@ || !register_operand (target, Pmode)) target = gen_reg_rtx (Pmode); @@ -92,11 +28,21 @@ index c2f4b27f6e4..ec05f056568 100644 return target; } -diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h -index bfffbcd6abf..814de8c2918 100644 ---- a/gcc/config/aarch64/aarch64.h -+++ b/gcc/config/aarch64/aarch64.h -@@ -1191,6 +1191,10 @@ typedef struct +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-elf-raw.h gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-elf-raw.h +--- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-elf-raw.h 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-elf-raw.h 2022-05-02 21:50:30.086094234 +0100 +@@ -22,6 +22,7 @@ + #ifndef GCC_AARCH64_ELF_RAW_H + #define GCC_AARCH64_ELF_RAW_H + ++#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" + #define STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" + #define ENDFILE_SPEC \ + " crtend%O%s crtn%O%s " \ +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.h gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.h +--- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.h 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.h 2022-05-02 21:50:30.090088643 +0100 +@@ -1245,6 +1245,10 @@ /* Check TLS Descriptors mechanism is selected. */ #define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS) @@ -107,7 +53,7 @@ index bfffbcd6abf..814de8c2918 100644 extern enum aarch64_code_model aarch64_cmodel; /* When using the tiny addressing model conditional and unconditional branches -@@ -1236,7 +1240,7 @@ extern const char *aarch64_rewrite_mcpu (int argc, const char **argv); +@@ -1290,7 +1294,7 @@ #define MCPU_TO_MARCH_SPEC_FUNCTIONS \ { "rewrite_mcpu", aarch64_rewrite_mcpu }, @@ -116,11 +62,10 @@ index bfffbcd6abf..814de8c2918 100644 extern const char *host_detect_local_cpu (int argc, const char **argv); #define HAVE_LOCAL_CPU_DETECT # define EXTRA_SPEC_FUNCTIONS \ -diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md -index aef6da9732d..1cbffec5ef8 100644 ---- a/gcc/config/aarch64/aarch64.md -+++ b/gcc/config/aarch64/aarch64.md -@@ -6772,11 +6772,22 @@ +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.md gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.md +--- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.md 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.md 2022-05-02 21:50:30.090088643 +0100 +@@ -6899,11 +6899,22 @@ (define_insn "aarch64_load_tp_hard" [(set (match_operand:DI 0 "register_operand" "=r") (unspec:DI [(const_int 0)] UNSPEC_TLS))] @@ -145,11 +90,10 @@ index aef6da9732d..1cbffec5ef8 100644 ;; The TLS ABI specifically requires that the compiler does not schedule ;; instructions in the TLS stubs, in order to enable linker relaxation. ;; Therefore we treat the stubs as an atomic sequence. -diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt -index 32191cf1acf..49b03937bdd 100644 ---- a/gcc/config/aarch64/aarch64.opt -+++ b/gcc/config/aarch64/aarch64.opt -@@ -122,6 +122,21 @@ Enum(aarch64_tls_size) String(32) Value(32) +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.opt gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.opt +--- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.opt 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.opt 2022-05-02 21:50:30.090088643 +0100 +@@ -122,6 +122,21 @@ EnumValue Enum(aarch64_tls_size) String(48) Value(48) @@ -171,7 +115,7 @@ index 32191cf1acf..49b03937bdd 100644 march= Target RejectNegative Negative(march=) ToLower Joined Var(aarch64_arch_string) Use features of architecture ARCH. -@@ -260,7 +275,7 @@ TargetVariable +@@ -260,7 +275,7 @@ long aarch64_stack_protector_guard_offset = 0 moutline-atomics @@ -180,49 +124,26 @@ index 32191cf1acf..49b03937bdd 100644 Generate local calls to out-of-line atomic operations. -param=aarch64-sve-compare-costs= -diff --git a/gcc/config/aarch64/host-aarch64-darwin.c b/gcc/config/aarch64/host-aarch64-darwin.c -new file mode 100644 -index 00000000000..92c38b0b9db ---- /dev/null -+++ b/gcc/config/aarch64/host-aarch64-darwin.c -@@ -0,0 +1,32 @@ -+/* i386-darwin host-specific hook definitions. -+ Copyright (C) 2003-2021 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 -+. */ -+ -+#define IN_TARGET_CODE 1 -+ -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "hosthooks.h" -+#include "hosthooks-def.h" -+#include "config/host-darwin.h" -+ -+/* Darwin doesn't do anything special for aarch64 hosts; this file exists just -+ to include config/host-darwin.h. */ +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-opts.h gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-opts.h +--- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-opts.h 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-opts.h 2022-05-02 21:50:30.086094234 +0100 +@@ -48,6 +48,12 @@ + TLS_DESCRIPTORS + }; + ++/* Which thread pointer access sequence to use. */ ++enum aarch64_tp_type { ++ TP_HARD, ++ TP_SOFT ++}; + -+const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER; -diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64 -index 7e1606c47ac..3b650075724 100644 ---- a/gcc/config/aarch64/t-aarch64 -+++ b/gcc/config/aarch64/t-aarch64 -@@ -165,8 +165,10 @@ aarch64-cc-fusion.o: $(srcdir)/config/aarch64/aarch64-cc-fusion.cc \ + /* The code model defines the address generation strategy. + Most have a PIC and non-PIC variant. */ + enum aarch64_code_model { +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/t-aarch64 gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/t-aarch64 +--- gcc-12.1.0-RC-20220429/gcc/config/aarch64/t-aarch64 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/t-aarch64 2022-05-02 21:50:30.090088643 +0100 +@@ -177,8 +177,10 @@ $(srcdir)/config/aarch64/aarch64-cc-fusion.cc comma=, @@ -235,21 +156,10 @@ index 7e1606c47ac..3b650075724 100644 insn-conditions.md: s-check-sve-md s-check-sve-md: $(srcdir)/config/aarch64/check-sve-md.awk \ -diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin -new file mode 100644 -index 00000000000..6d788d5e89c ---- /dev/null -+++ b/gcc/config/aarch64/x-darwin -@@ -0,0 +1,3 @@ -+host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c -+ $(COMPILE) $< -+ $(POSTCOMPILE) -diff --git a/gcc/config/devkitpro.h b/gcc/config/devkitpro.h -new file mode 100644 -index 00000000000..11ba0f5ab1c ---- /dev/null -+++ b/gcc/config/devkitpro.h -@@ -0,0 +1,31 @@ +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/devkitpro.h gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.h +--- gcc-12.1.0-RC-20220429/gcc/config/devkitpro.h 1970-01-01 01:00:00.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.h 2022-05-02 22:04:49.962851033 +0100 +@@ -0,0 +1,29 @@ +/* Definitions for devkitPro toolchains. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + @@ -279,13 +189,9 @@ index 00000000000..11ba0f5ab1c + do { \ + builtin_define ("__DEVKITA64__"); \ + } while (0) -+ -+ -diff --git a/gcc/config/devkitpro.opt b/gcc/config/devkitpro.opt -new file mode 100644 -index 00000000000..9acbbf9d27c ---- /dev/null -+++ b/gcc/config/devkitpro.opt +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/devkitpro.opt gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.opt +--- gcc-12.1.0-RC-20220429/gcc/config/devkitpro.opt 1970-01-01 01:00:00.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.opt 2022-05-02 21:50:30.090088643 +0100 @@ -0,0 +1,29 @@ +; Options for devkitPro toolchains. + @@ -316,11 +222,10 @@ index 00000000000..9acbbf9d27c +Driver + +; This comment is to ensure we retain the blank line above. -diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c -index 360a280b23a..2c03947999a 100644 ---- a/gcc/config/i386/host-mingw32.c -+++ b/gcc/config/i386/host-mingw32.c -@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void); +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc gcc-12.1.0-RC-20220429-dka64/gcc/config/i386/host-mingw32.cc +--- gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/i386/host-mingw32.cc 2022-05-02 21:50:30.090088643 +0100 +@@ -45,7 +45,11 @@ static inline void w32_error(const char*, const char*, int, const char*); /* FIXME: Is this big enough? */ @@ -332,11 +237,28 @@ index 360a280b23a..2c03947999a 100644 /* Granularity for reserving address space. */ static size_t va_granularity = 0x10000; -diff --git a/gcc/gcc.c b/gcc/gcc.c -index 4d790f9dd4a..10f0d08524c 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -853,6 +853,11 @@ proper position among the other output files. */ +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config.gcc gcc-12.1.0-RC-20220429-dka64/gcc/config.gcc +--- gcc-12.1.0-RC-20220429/gcc/config.gcc 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config.gcc 2022-05-02 21:50:30.086094234 +0100 +@@ -1093,7 +1093,14 @@ + tmake_file="${tmake_file} aarch64/t-aarch64" + case $target in + aarch64-*-elf*) ++ default_use_cxa_atexit=yes + use_gcc_stdint=wrap ++ tm_file="${tm_file} devkitpro.h" ++ tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" ++ extra_options="${extra_options} devkitpro.opt" ++ case ${enable_threads} in ++ "" | yes | posix) thread_file='posix' ;; ++ esac + ;; + aarch64-*-fuchsia*) + tm_file="${tm_file} fuchsia.h" +diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dka64/gcc/gcc.cc +--- gcc-12.1.0-RC-20220429/gcc/gcc.cc 2022-04-29 14:58:23.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/gcc.cc 2022-05-02 21:50:30.090088643 +0100 +@@ -860,6 +860,11 @@ #endif #endif @@ -348,7 +270,7 @@ index 4d790f9dd4a..10f0d08524c 100644 /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ #ifndef STARTFILE_SPEC #define STARTFILE_SPEC \ -@@ -1197,6 +1202,7 @@ static const char *link_spec = LINK_SPEC; +@@ -1204,6 +1209,7 @@ static const char *lib_spec = LIB_SPEC; static const char *link_gomp_spec = ""; static const char *libgcc_spec = LIBGCC_SPEC; @@ -356,7 +278,7 @@ index 4d790f9dd4a..10f0d08524c 100644 static const char *endfile_spec = ENDFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC; static const char *linker_name_spec = LINKER_NAME; -@@ -1702,6 +1708,7 @@ static struct spec_list static_specs[] = +@@ -1709,6 +1715,7 @@ INIT_STATIC_SPEC ("lib", &lib_spec), INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec), @@ -364,11 +286,10 @@ index 4d790f9dd4a..10f0d08524c 100644 INIT_STATIC_SPEC ("startfile", &startfile_spec), INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("version", &compiler_version), -diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 675930db043..bdfd6f6b0bb 100644 ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -325,7 +325,7 @@ register_tm_clones (void) +diff -NBaur gcc-12.1.0-RC-20220429/libgcc/crtstuff.c gcc-12.1.0-RC-20220429-dka64/libgcc/crtstuff.c +--- gcc-12.1.0-RC-20220429/libgcc/crtstuff.c 2022-04-29 14:58:25.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/libgcc/crtstuff.c 2022-05-02 21:50:30.094083051 +0100 +@@ -325,7 +325,7 @@ #ifdef OBJECT_FORMAT_ELF @@ -377,11 +298,10 @@ index 675930db043..bdfd6f6b0bb 100644 /* Declare the __dso_handle variable. It should have a unique value in every shared-object; in a main program its value is zero. The object should in any case be protected. This means the instance -diff --git a/libgcc/gthr.h b/libgcc/gthr.h -index cca3f294b7b..deffea4107b 100644 ---- a/libgcc/gthr.h -+++ b/libgcc/gthr.h -@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +diff -NBaur gcc-12.1.0-RC-20220429/libgcc/gthr.h gcc-12.1.0-RC-20220429-dka64/libgcc/gthr.h +--- gcc-12.1.0-RC-20220429/libgcc/gthr.h 2022-04-29 14:58:25.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/libgcc/gthr.h 2022-05-02 21:50:30.094083051 +0100 +@@ -136,7 +136,7 @@ /* The pe-coff weak support isn't fully compatible to ELF's weak. For static libraries it might would work, but as we need to deal with shared versions too, we disable it for mingw-targets. */ @@ -390,11 +310,10 @@ index cca3f294b7b..deffea4107b 100644 #undef GTHREAD_USE_WEAK #define GTHREAD_USE_WEAK 0 #endif -diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am -index 40a41ef2a1c..4d06c6f9953 100644 ---- a/libstdc++-v3/include/Makefile.am -+++ b/libstdc++-v3/include/Makefile.am -@@ -1347,6 +1347,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} +diff -NBaur gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.am gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.am +--- gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.am 2022-04-29 14:58:26.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.am 2022-05-02 21:50:30.094083051 +0100 +@@ -1366,6 +1366,7 @@ -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ @@ -402,11 +321,10 @@ index 40a41ef2a1c..4d06c6f9953 100644 -e 's,^#include "\(.*\)",#include ,g' \ < $< > $@ -diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in -index fcd2b5b2d40..c034367994a 100644 ---- a/libstdc++-v3/include/Makefile.in -+++ b/libstdc++-v3/include/Makefile.in -@@ -1830,6 +1830,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} +diff -NBaur gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.in gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.in +--- gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.in 2022-04-29 14:58:26.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.in 2022-05-02 21:50:30.094083051 +0100 +@@ -1857,6 +1857,7 @@ -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ @@ -414,43 +332,3 @@ index fcd2b5b2d40..c034367994a 100644 -e 's,^#include "\(.*\)",#include ,g' \ < $< > $@ -diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h -index 0413e3b7c25..ff5f8bbe1a1 100644 ---- a/libstdc++-v3/include/c_compatibility/fenv.h -+++ b/libstdc++-v3/include/c_compatibility/fenv.h -@@ -26,6 +26,10 @@ - * This is a Standard C++ Library header. - */ - -+#if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS -+# include_next -+#else -+ - #ifndef _GLIBCXX_FENV_H - #define _GLIBCXX_FENV_H 1 - -@@ -79,3 +83,5 @@ namespace std - #endif // C++11 - - #endif // _GLIBCXX_FENV_H -+ -+#endif // __cplusplus -diff --git a/libstdc++-v3/include/c_global/cfenv b/libstdc++-v3/include/c_global/cfenv -index 0b0ec35a837..d24cb1a3c81 100644 ---- a/libstdc++-v3/include/c_global/cfenv -+++ b/libstdc++-v3/include/c_global/cfenv -@@ -37,9 +37,11 @@ - - #include - --#if _GLIBCXX_HAVE_FENV_H --# include --#endif -+// Need to ensure this finds the C library's not a libstdc++ -+// wrapper that might already be installed later in the include search path. -+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS -+#include_next -+#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS - - #ifdef _GLIBCXX_USE_C99_FENV_TR1 - diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index e710c67..a0eef69 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -62,7 +62,7 @@ then --enable-lto \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 18" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 19" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index d7c57f6..a2cfd9c 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -49,7 +49,7 @@ case "$VERSION" in toolchain=DEVKITPPC ;; "3" ) - GCC_VER=11.2.0 + GCC_VER=12.1.0-RC-20220429 BINUTILS_VER=2.32 NEWLIB_VER=4.2.0.20211231 basedir='dka64' From 219b5dcebdc708b60206a1803d3fa3f5bd0eb41e Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 6 May 2022 13:27:04 +0100 Subject: [PATCH 190/280] devkitARM: update gcc to 12.1.0 --- .../patches/{gcc-12.1.0-RC-20220429.patch => gcc-12.1.0.patch} | 0 select_toolchain.sh | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename dkarm-eabi/patches/{gcc-12.1.0-RC-20220429.patch => gcc-12.1.0.patch} (100%) diff --git a/dkarm-eabi/patches/gcc-12.1.0-RC-20220429.patch b/dkarm-eabi/patches/gcc-12.1.0.patch similarity index 100% rename from dkarm-eabi/patches/gcc-12.1.0-RC-20220429.patch rename to dkarm-eabi/patches/gcc-12.1.0.patch diff --git a/select_toolchain.sh b/select_toolchain.sh index a2cfd9c..2745531 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,7 +30,7 @@ done case "$VERSION" in "1" ) - GCC_VER=12.1.0-RC-20220429 + GCC_VER=12.1.0 BINUTILS_VER=2.38 NEWLIB_VER=4.2.0.20211231 basedir='dkarm-eabi' From df8b66a8081930587ae4d7433bbc8982f8418253 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 6 May 2022 17:46:22 +0100 Subject: [PATCH 191/280] devkitA64: update gcc to 12.1.0 --- .../patches/{gcc-12.1.0-RC-20220429.patch => gcc-12.1.0.patch} | 0 select_toolchain.sh | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename dka64/patches/{gcc-12.1.0-RC-20220429.patch => gcc-12.1.0.patch} (100%) diff --git a/dka64/patches/gcc-12.1.0-RC-20220429.patch b/dka64/patches/gcc-12.1.0.patch similarity index 100% rename from dka64/patches/gcc-12.1.0-RC-20220429.patch rename to dka64/patches/gcc-12.1.0.patch diff --git a/select_toolchain.sh b/select_toolchain.sh index 2745531..5ddd770 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -49,7 +49,7 @@ case "$VERSION" in toolchain=DEVKITPPC ;; "3" ) - GCC_VER=12.1.0-RC-20220429 + GCC_VER=12.1.0 BINUTILS_VER=2.32 NEWLIB_VER=4.2.0.20211231 basedir='dka64' From 67b8703a8c9e7de7fddbc73921148e8c5dc62ec7 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 6 May 2022 19:46:27 +0100 Subject: [PATCH 192/280] devkitPPC: update gcc to 12.1.0 --- build-devkit.sh | 2 +- .../{gcc-11.2.0.patch => gcc-12.1.0.patch} | 272 +++++------------- dkppc/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 79 insertions(+), 199 deletions(-) rename dkppc/patches/{gcc-11.2.0.patch => gcc-12.1.0.patch} (75%) diff --git a/build-devkit.sh b/build-devkit.sh index f93c0a4..5df0480 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash #--------------------------------------------------------------------------------- # devkitARM release 58 -# devkitPPC release 40 +# devkitPPC release 41 # devkitA64 release 19 #--------------------------------------------------------------------------------- diff --git a/dkppc/patches/gcc-11.2.0.patch b/dkppc/patches/gcc-12.1.0.patch similarity index 75% rename from dkppc/patches/gcc-11.2.0.patch rename to dkppc/patches/gcc-12.1.0.patch index ec882b0..4a6b4c7 100644 --- a/dkppc/patches/gcc-11.2.0.patch +++ b/dkppc/patches/gcc-12.1.0.patch @@ -1,8 +1,7 @@ -diff --git a/config/gthr.m4 b/config/gthr.m4 -index 4b937306ad0..bfd0375bd60 100644 ---- a/config/gthr.m4 -+++ b/config/gthr.m4 -@@ -13,6 +13,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER], +diff -NBaur gcc-12.1.0/config/gthr.m4 gcc-12.1.0-dkppc/config/gthr.m4 +--- gcc-12.1.0/config/gthr.m4 2022-05-06 08:30:56.000000000 +0100 ++++ gcc-12.1.0-dkppc/config/gthr.m4 2022-05-06 19:17:44.784777075 +0100 +@@ -13,6 +13,7 @@ case $1 in aix) thread_header=config/rs6000/gthr-aix.h ;; dce) thread_header=config/pa/gthr-dce.h ;; @@ -10,73 +9,10 @@ index 4b937306ad0..bfd0375bd60 100644 gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/gcc/config.host b/gcc/config.host -index 0a02c33cc80..38f7adc655e 100644 ---- a/gcc/config.host -+++ b/gcc/config.host -@@ -251,6 +251,10 @@ case ${host} in - host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o" - host_lto_plugin_soname=liblto_plugin.dll - ;; -+ aarch64-*-darwin*) -+ out_host_hook_obj="${out_host_hook_obj} host-aarch64-darwin.o" -+ host_xmake_file="${host_xmake_file} aarch64/x-darwin" -+ ;; - i[34567]86-*-darwin* | x86_64-*-darwin*) - out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o" - host_xmake_file="${host_xmake_file} i386/x-darwin" -diff --git a/gcc/config/aarch64/host-aarch64-darwin.c b/gcc/config/aarch64/host-aarch64-darwin.c -new file mode 100644 -index 00000000000..92c38b0b9db ---- /dev/null -+++ b/gcc/config/aarch64/host-aarch64-darwin.c -@@ -0,0 +1,32 @@ -+/* i386-darwin host-specific hook definitions. -+ Copyright (C) 2003-2021 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 -+. */ -+ -+#define IN_TARGET_CODE 1 -+ -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "hosthooks.h" -+#include "hosthooks-def.h" -+#include "config/host-darwin.h" -+ -+/* Darwin doesn't do anything special for aarch64 hosts; this file exists just -+ to include config/host-darwin.h. */ -+ -+const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER; -diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin -new file mode 100644 -index 00000000000..6d788d5e89c ---- /dev/null -+++ b/gcc/config/aarch64/x-darwin -@@ -0,0 +1,3 @@ -+host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c -+ $(COMPILE) $< -+ $(POSTCOMPILE) -diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c -index 360a280b23a..2c03947999a 100644 ---- a/gcc/config/i386/host-mingw32.c -+++ b/gcc/config/i386/host-mingw32.c -@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void); +diff -NBaur gcc-12.1.0/gcc/config/i386/host-mingw32.cc gcc-12.1.0-dkppc/gcc/config/i386/host-mingw32.cc +--- gcc-12.1.0/gcc/config/i386/host-mingw32.cc 2022-05-06 08:30:56.000000000 +0100 ++++ gcc-12.1.0-dkppc/gcc/config/i386/host-mingw32.cc 2022-05-06 19:17:44.784777075 +0100 +@@ -45,7 +45,11 @@ static inline void w32_error(const char*, const char*, int, const char*); /* FIXME: Is this big enough? */ @@ -88,11 +24,10 @@ index 360a280b23a..2c03947999a 100644 /* Granularity for reserving address space. */ static size_t va_granularity = 0x10000; -diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h -index 65d1fa2cd1f..51991aab75c 100644 ---- a/gcc/config/newlib-stdint.h -+++ b/gcc/config/newlib-stdint.h -@@ -25,7 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +diff -NBaur gcc-12.1.0/gcc/config/newlib-stdint.h gcc-12.1.0-dkppc/gcc/config/newlib-stdint.h +--- gcc-12.1.0/gcc/config/newlib-stdint.h 2022-05-06 08:30:57.000000000 +0100 ++++ gcc-12.1.0-dkppc/gcc/config/newlib-stdint.h 2022-05-06 19:17:44.784777075 +0100 +@@ -25,7 +25,7 @@ /* newlib uses 32-bit long in certain cases for all non-SPU targets. */ #ifndef STDINT_LONG32 @@ -101,19 +36,18 @@ index 65d1fa2cd1f..51991aab75c 100644 #endif #define SIG_ATOMIC_TYPE "int" -diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h -index a7953fad965..04abd41239b 100644 ---- a/gcc/config/rs6000/rs6000.h -+++ b/gcc/config/rs6000/rs6000.h -@@ -196,6 +196,7 @@ ASM_OPT_ANY +diff -NBaur gcc-12.1.0/gcc/config/rs6000/rs6000.h gcc-12.1.0-dkppc/gcc/config/rs6000/rs6000.h +--- gcc-12.1.0/gcc/config/rs6000/rs6000.h 2022-05-06 08:30:57.000000000 +0100 ++++ gcc-12.1.0-dkppc/gcc/config/rs6000/rs6000.h 2022-05-06 19:22:10.793624730 +0100 +@@ -196,6 +196,7 @@ /* -mcpu=native handling only makes sense with compiler running on an PowerPC chip. If changing this condition, also change - the condition in driver-rs6000.c. */ + the condition in driver-rs6000.cc. */ +#if 0 #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX) - /* In driver-rs6000.c. */ + /* In driver-rs6000.cc. */ extern const char *host_detect_local_cpu (int argc, const char **argv); -@@ -207,6 +208,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); +@@ -207,6 +208,8 @@ #else #define ASM_CPU_NATIVE_SPEC "%(asm_default)" #endif @@ -122,11 +56,10 @@ index a7953fad965..04abd41239b 100644 #ifndef CC1_CPU_SPEC #ifdef HAVE_LOCAL_CPU_DETECT -diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h -index 510abe169c5..988e82007b0 100644 ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -590,7 +590,11 @@ GNU_USER_TARGET_CC1_SPEC +diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.h +--- gcc-12.1.0/gcc/config/rs6000/sysv4.h 2022-05-06 08:30:57.000000000 +0100 ++++ gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.h 2022-05-06 19:17:44.784777075 +0100 +@@ -589,7 +589,11 @@ /* Default starting address if specified. */ #define LINK_START_SPEC "\ @@ -139,7 +72,7 @@ index 510abe169c5..988e82007b0 100644 myellowknife : %(link_start_yellowknife) ; \ mmvme : %(link_start_mvme) ; \ msim : %(link_start_sim) ; \ -@@ -621,7 +625,8 @@ GNU_USER_TARGET_CC1_SPEC +@@ -620,7 +624,8 @@ /* Any specific OS flags. */ #define LINK_OS_SPEC "\ @@ -149,7 +82,7 @@ index 510abe169c5..988e82007b0 100644 myellowknife : %(link_os_yellowknife) ; \ mmvme : %(link_os_mvme) ; \ msim : %(link_os_sim) ; \ -@@ -636,7 +641,10 @@ GNU_USER_TARGET_CC1_SPEC +@@ -635,7 +640,10 @@ /* Override rs6000.h definition. */ #undef CPP_SPEC #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ @@ -161,7 +94,7 @@ index 510abe169c5..988e82007b0 100644 myellowknife : %(cpp_os_yellowknife) ; \ mmvme : %(cpp_os_mvme) ; \ msim : %(cpp_os_sim) ; \ -@@ -650,7 +658,10 @@ GNU_USER_TARGET_CC1_SPEC +@@ -649,7 +657,10 @@ #undef STARTFILE_SPEC #define STARTFILE_SPEC "\ @@ -173,7 +106,7 @@ index 510abe169c5..988e82007b0 100644 myellowknife : %(startfile_yellowknife) ; \ mmvme : %(startfile_mvme) ; \ msim : %(startfile_sim) ; \ -@@ -664,7 +675,8 @@ GNU_USER_TARGET_CC1_SPEC +@@ -663,7 +674,8 @@ #undef LIB_SPEC #define LIB_SPEC "\ @@ -183,7 +116,7 @@ index 510abe169c5..988e82007b0 100644 myellowknife : %(lib_yellowknife) ; \ mmvme : %(lib_mvme) ; \ msim : %(lib_sim) ; \ -@@ -674,11 +686,12 @@ GNU_USER_TARGET_CC1_SPEC +@@ -673,11 +685,12 @@ mcall-openbsd: %(lib_openbsd) ; \ : %(lib_default) }" @@ -198,7 +131,7 @@ index 510abe169c5..988e82007b0 100644 myellowknife : %(endfile_yellowknife) ; \ mmvme : %(endfile_mvme) ; \ msim : %(endfile_sim) ; \ -@@ -694,16 +707,27 @@ GNU_USER_TARGET_CC1_SPEC +@@ -693,16 +706,27 @@ /* Motorola ADS support. */ #define LIB_ADS_SPEC "--start-group -lads -lc --end-group" @@ -226,7 +159,7 @@ index 510abe169c5..988e82007b0 100644 /* Motorola Yellowknife support. */ #define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" -@@ -851,6 +875,7 @@ ncrtn.o%s" +@@ -850,6 +874,7 @@ #undef SUBTARGET_EXTRA_SPECS #define SUBTARGET_EXTRA_SPECS \ { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ @@ -234,7 +167,7 @@ index 510abe169c5..988e82007b0 100644 { "lib_ads", LIB_ADS_SPEC }, \ { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ { "lib_mvme", LIB_MVME_SPEC }, \ -@@ -860,6 +885,7 @@ ncrtn.o%s" +@@ -859,6 +884,7 @@ { "lib_netbsd", LIB_NETBSD_SPEC }, \ { "lib_openbsd", LIB_OPENBSD_SPEC }, \ { "lib_default", LIB_DEFAULT_SPEC }, \ @@ -242,7 +175,7 @@ index 510abe169c5..988e82007b0 100644 { "startfile_ads", STARTFILE_ADS_SPEC }, \ { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ { "startfile_mvme", STARTFILE_MVME_SPEC }, \ -@@ -869,6 +895,7 @@ ncrtn.o%s" +@@ -868,6 +894,7 @@ { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ @@ -250,7 +183,7 @@ index 510abe169c5..988e82007b0 100644 { "endfile_ads", ENDFILE_ADS_SPEC }, \ { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ { "endfile_mvme", ENDFILE_MVME_SPEC }, \ -@@ -880,7 +907,11 @@ ncrtn.o%s" +@@ -879,7 +906,11 @@ { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ { "link_shlib", LINK_SHLIB_SPEC }, \ { "link_start", LINK_START_SPEC }, \ @@ -262,7 +195,7 @@ index 510abe169c5..988e82007b0 100644 { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ { "link_start_mvme", LINK_START_MVME_SPEC }, \ { "link_start_sim", LINK_START_SIM_SPEC }, \ -@@ -890,6 +921,7 @@ ncrtn.o%s" +@@ -889,6 +920,7 @@ { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ { "link_start_default", LINK_START_DEFAULT_SPEC }, \ { "link_os", LINK_OS_SPEC }, \ @@ -270,7 +203,7 @@ index 510abe169c5..988e82007b0 100644 { "link_os_ads", LINK_OS_ADS_SPEC }, \ { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ { "link_os_mvme", LINK_OS_MVME_SPEC }, \ -@@ -901,6 +933,9 @@ ncrtn.o%s" +@@ -900,6 +932,9 @@ { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ { "link_secure_plt", LINK_SECURE_PLT_SPEC }, \ @@ -280,11 +213,10 @@ index 510abe169c5..988e82007b0 100644 { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ -diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt -index 7ab55c49940..763709e907e 100644 ---- a/gcc/config/rs6000/sysv4.opt -+++ b/gcc/config/rs6000/sysv4.opt -@@ -124,6 +124,26 @@ mads +diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.opt gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.opt +--- gcc-12.1.0/gcc/config/rs6000/sysv4.opt 2022-05-06 08:30:57.000000000 +0100 ++++ gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.opt 2022-05-06 19:17:44.784777075 +0100 +@@ -124,6 +124,26 @@ Target RejectNegative Link with libads.a, libc.a and crt0.o. @@ -311,11 +243,10 @@ index 7ab55c49940..763709e907e 100644 myellowknife Target RejectNegative Link with libyk.a, libc.a and crt0.o. -diff --git a/gcc/configure b/gcc/configure -index 9b28369e3bf..79b95018a89 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -12593,7 +12593,7 @@ case ${enable_threads} in +diff -NBaur gcc-12.1.0/gcc/configure gcc-12.1.0-dkppc/gcc/configure +--- gcc-12.1.0/gcc/configure 2022-05-06 08:30:57.000000000 +0100 ++++ gcc-12.1.0-dkppc/gcc/configure 2022-05-06 19:17:44.788859483 +0100 +@@ -12884,7 +12884,7 @@ # default target_thread_file='single' ;; @@ -324,11 +255,10 @@ index 9b28369e3bf..79b95018a89 100755 single | tpf | vxworks | win32) target_thread_file=${enable_threads} ;; -diff --git a/gcc/configure.ac b/gcc/configure.ac -index 162e08cbc02..34d35d0de8d 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -1925,7 +1925,7 @@ case ${enable_threads} in +diff -NBaur gcc-12.1.0/gcc/configure.ac gcc-12.1.0-dkppc/gcc/configure.ac +--- gcc-12.1.0/gcc/configure.ac 2022-05-06 08:30:57.000000000 +0100 ++++ gcc-12.1.0-dkppc/gcc/configure.ac 2022-05-06 19:17:44.788859483 +0100 +@@ -1994,7 +1994,7 @@ # default target_thread_file='single' ;; @@ -337,10 +267,9 @@ index 162e08cbc02..34d35d0de8d 100644 single | tpf | vxworks | win32) target_thread_file=${enable_threads} ;; -diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S -index b372409dd42..708ba039963 100644 ---- a/libgcc/config/rs6000/crtrestvr.S -+++ b/libgcc/config/rs6000/crtrestvr.S +diff -NBaur gcc-12.1.0/libgcc/config/rs6000/crtrestvr.S gcc-12.1.0-dkppc/libgcc/config/rs6000/crtrestvr.S +--- gcc-12.1.0/libgcc/config/rs6000/crtrestvr.S 2022-05-06 08:30:59.000000000 +0100 ++++ gcc-12.1.0-dkppc/libgcc/config/rs6000/crtrestvr.S 2022-05-06 19:17:44.792941894 +0100 @@ -24,7 +24,7 @@ /* On PowerPC64 Linux, these functions are provided by the linker. */ @@ -350,15 +279,14 @@ index b372409dd42..708ba039963 100644 #undef __ALTIVEC__ #define __ALTIVEC__ 1 #include "ppc-asm.h" -@@ -86,3 +86,4 @@ FUNC_END(_restvr_20) +@@ -86,3 +86,4 @@ CFI_ENDPROC #endif +#endif -diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S -index 48a4d65eed4..6835ea69279 100644 ---- a/libgcc/config/rs6000/crtsavevr.S -+++ b/libgcc/config/rs6000/crtsavevr.S +diff -NBaur gcc-12.1.0/libgcc/config/rs6000/crtsavevr.S gcc-12.1.0-dkppc/libgcc/config/rs6000/crtsavevr.S +--- gcc-12.1.0/libgcc/config/rs6000/crtsavevr.S 2022-05-06 08:30:59.000000000 +0100 ++++ gcc-12.1.0-dkppc/libgcc/config/rs6000/crtsavevr.S 2022-05-06 19:17:44.792941894 +0100 @@ -24,7 +24,7 @@ /* On PowerPC64 Linux, these functions are provided by the linker. */ @@ -368,16 +296,14 @@ index 48a4d65eed4..6835ea69279 100644 #undef __ALTIVEC__ #define __ALTIVEC__ 1 #include "ppc-asm.h" -@@ -86,3 +86,4 @@ FUNC_END(_savevr_20) +@@ -86,3 +86,4 @@ CFI_ENDPROC #endif +#endif -diff --git a/libgcc/config/rs6000/gthr-dkp.c b/libgcc/config/rs6000/gthr-dkp.c -new file mode 100644 -index 00000000000..26180aa7f36 ---- /dev/null -+++ b/libgcc/config/rs6000/gthr-dkp.c +diff -NBaur gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.c gcc-12.1.0-dkppc/libgcc/config/rs6000/gthr-dkp.c +--- gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.c 1970-01-01 01:00:00.000000000 +0100 ++++ gcc-12.1.0-dkppc/libgcc/config/rs6000/gthr-dkp.c 2022-05-06 19:17:44.792941894 +0100 @@ -0,0 +1,319 @@ +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ @@ -698,11 +624,9 @@ index 00000000000..26180aa7f36 + + return __gthr_impl_cond_destroy(__cond); +} -diff --git a/libgcc/config/rs6000/gthr-dkp.h b/libgcc/config/rs6000/gthr-dkp.h -new file mode 100644 -index 00000000000..72ecf82ab83 ---- /dev/null -+++ b/libgcc/config/rs6000/gthr-dkp.h +diff -NBaur gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.h gcc-12.1.0-dkppc/libgcc/config/rs6000/gthr-dkp.h +--- gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.h 1970-01-01 01:00:00.000000000 +0100 ++++ gcc-12.1.0-dkppc/libgcc/config/rs6000/gthr-dkp.h 2022-05-06 19:17:44.792941894 +0100 @@ -0,0 +1,187 @@ +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ @@ -891,21 +815,19 @@ index 00000000000..72ecf82ab83 +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */ -diff --git a/libgcc/config/rs6000/t-ppccomm b/libgcc/config/rs6000/t-ppccomm -index fb812d3801f..7f6669d530f 100644 ---- a/libgcc/config/rs6000/t-ppccomm -+++ b/libgcc/config/rs6000/t-ppccomm +diff -NBaur gcc-12.1.0/libgcc/config/rs6000/t-ppccomm gcc-12.1.0-dkppc/libgcc/config/rs6000/t-ppccomm +--- gcc-12.1.0/libgcc/config/rs6000/t-ppccomm 2022-05-06 08:30:59.000000000 +0100 ++++ gcc-12.1.0-dkppc/libgcc/config/rs6000/t-ppccomm 2022-05-06 19:17:44.792941894 +0100 @@ -1,4 +1,5 @@ LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c \ + $(srcdir)/config/rs6000/gthr-dkp.c \ $(srcdir)/config/rs6000/tramp.S # This can't end up in shared libgcc -diff --git a/libgcc/configure b/libgcc/configure -index 4919a56f518..546b3413deb 100755 ---- a/libgcc/configure -+++ b/libgcc/configure -@@ -5679,6 +5679,7 @@ tm_file="${tm_file_}" +diff -NBaur gcc-12.1.0/libgcc/configure gcc-12.1.0-dkppc/libgcc/configure +--- gcc-12.1.0/libgcc/configure 2022-05-06 08:30:59.000000000 +0100 ++++ gcc-12.1.0-dkppc/libgcc/configure 2022-05-06 19:17:44.792941894 +0100 +@@ -5689,6 +5689,7 @@ case $target_thread_file in aix) thread_header=config/rs6000/gthr-aix.h ;; dce) thread_header=config/pa/gthr-dce.h ;; @@ -913,11 +835,10 @@ index 4919a56f518..546b3413deb 100755 gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 675930db043..bdfd6f6b0bb 100644 ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -325,7 +325,7 @@ register_tm_clones (void) +diff -NBaur gcc-12.1.0/libgcc/crtstuff.c gcc-12.1.0-dkppc/libgcc/crtstuff.c +--- gcc-12.1.0/libgcc/crtstuff.c 2022-05-06 08:30:59.000000000 +0100 ++++ gcc-12.1.0-dkppc/libgcc/crtstuff.c 2022-05-06 19:17:44.792941894 +0100 +@@ -325,7 +325,7 @@ #ifdef OBJECT_FORMAT_ELF @@ -926,11 +847,10 @@ index 675930db043..bdfd6f6b0bb 100644 /* Declare the __dso_handle variable. It should have a unique value in every shared-object; in a main program its value is zero. The object should in any case be protected. This means the instance -diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index 326a279c54f..d2cb9d18294 100755 ---- a/libstdc++-v3/configure -+++ b/libstdc++-v3/configure -@@ -15698,6 +15698,7 @@ $as_echo "$target_thread_file" >&6; } +diff -NBaur gcc-12.1.0/libstdc++-v3/configure gcc-12.1.0-dkppc/libstdc++-v3/configure +--- gcc-12.1.0/libstdc++-v3/configure 2022-05-06 08:31:00.000000000 +0100 ++++ gcc-12.1.0-dkppc/libstdc++-v3/configure 2022-05-06 19:17:44.801106712 +0100 +@@ -15765,6 +15765,7 @@ case $target_thread_file in aix) thread_header=config/rs6000/gthr-aix.h ;; dce) thread_header=config/pa/gthr-dce.h ;; @@ -938,43 +858,3 @@ index 326a279c54f..d2cb9d18294 100755 gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h -index 0413e3b7c25..ff5f8bbe1a1 100644 ---- a/libstdc++-v3/include/c_compatibility/fenv.h -+++ b/libstdc++-v3/include/c_compatibility/fenv.h -@@ -26,6 +26,10 @@ - * This is a Standard C++ Library header. - */ - -+#if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS -+# include_next -+#else -+ - #ifndef _GLIBCXX_FENV_H - #define _GLIBCXX_FENV_H 1 - -@@ -79,3 +83,5 @@ namespace std - #endif // C++11 - - #endif // _GLIBCXX_FENV_H -+ -+#endif // __cplusplus -diff --git a/libstdc++-v3/include/c_global/cfenv b/libstdc++-v3/include/c_global/cfenv -index 0b0ec35a837..d24cb1a3c81 100644 ---- a/libstdc++-v3/include/c_global/cfenv -+++ b/libstdc++-v3/include/c_global/cfenv -@@ -37,9 +37,11 @@ - - #include - --#if _GLIBCXX_HAVE_FENV_H --# include --#endif -+// Need to ensure this finds the C library's not a libstdc++ -+// wrapper that might already be installed later in the include search path. -+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS -+#include_next -+#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS - - #ifdef _GLIBCXX_USE_C99_FENV_TR1 - diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index c734e8c..177c388 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -101,7 +101,7 @@ then --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 40" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 41" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index 5ddd770..d2c4608 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -39,7 +39,7 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - GCC_VER=11.2.0 + GCC_VER=12.1.0 BINUTILS_VER=2.37 MN_BINUTILS_VER=2.24 NEWLIB_VER=4.2.0.20211231 From e377ef05f6c8ac70e8824938782f1b2c9069d065 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 6 May 2022 21:15:06 +0100 Subject: [PATCH 193/280] devkitPPC: remove obsolete flag setting --- dkppc/scripts/build-gcc.sh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 177c388..60e1447 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -12,7 +12,7 @@ cd $target/binutils if [ ! -f configured-binutils ] then - CFLAGS=$cflags LDFLAGS=$ldflags ../../binutils-$BINUTILS_VER/configure \ + ../../binutils-$BINUTILS_VER/configure \ --prefix=$prefix --target=$target --disable-nls --disable-shared --disable-debug \ --disable-werror \ --enable-poison-system-directories \ @@ -48,7 +48,7 @@ cd mn10200/binutils if [ ! -f configured-binutils ] then - CFLAGS=$cflags LDFLAGS=$ldflags ../../binutils-$MN_BINUTILS_VER/configure \ + ../../binutils-$MN_BINUTILS_VER/configure \ --prefix=$prefix --target=mn10200 --disable-nls --disable-debug \ --disable-multilib \ --disable-werror $CROSS_PARAMS \ @@ -78,9 +78,6 @@ cd $target/gcc if [ ! -f configured-gcc ] then - CFLAGS="$cflags" \ - CXXFLAGS="$cflags" \ - LDFLAGS="$ldflags" \ CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ CXXFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ LDFLAGS_FOR_TARGET="" \ From eac2e405280d53f571202a2dbe4b12f01b0d211d Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 22 May 2022 21:21:35 +0100 Subject: [PATCH 194/280] devkitPPC: remove old patch file --- dkppc/patches/binutils-2.36.1.patch | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 dkppc/patches/binutils-2.36.1.patch diff --git a/dkppc/patches/binutils-2.36.1.patch b/dkppc/patches/binutils-2.36.1.patch deleted file mode 100644 index 5950cae..0000000 --- a/dkppc/patches/binutils-2.36.1.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -NBaur binutils-2.36.1/opcodes/ppc-opc.c binutils-2.36.1-ppc/opcodes/ppc-opc.c ---- binutils-2.36.1/opcodes/ppc-opc.c 2021-01-09 10:47:34.000000000 +0000 -+++ binutils-2.36.1-ppc/opcodes/ppc-opc.c 2021-02-14 19:41:09.350749949 +0000 -@@ -4225,7 +4225,7 @@ - #define MFDEC2 (PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE \ - | PPC_OPCODE_TITAN) - #define BOOKE PPC_OPCODE_BOOKE --#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS -+#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS - #define PPCE300 PPC_OPCODE_E300 - #define PPCSPE PPC_OPCODE_SPE - #define PPCSPE2 PPC_OPCODE_SPE2 From a33bf405d27e3b0c4cd7c2ab0f2d249accb6f571 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 6 Nov 2022 20:44:51 +0000 Subject: [PATCH 195/280] devkitARM: update binutils to 2.39 --- select_toolchain.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/select_toolchain.sh b/select_toolchain.sh index d2c4608..0f6b58a 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -31,7 +31,7 @@ done case "$VERSION" in "1" ) GCC_VER=12.1.0 - BINUTILS_VER=2.38 + BINUTILS_VER=2.39 NEWLIB_VER=4.2.0.20211231 basedir='dkarm-eabi' package=devkitARM From 426c8d0e620ed8838ab6e06b0af8dca8f3d2071f Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 6 Nov 2022 20:46:02 +0000 Subject: [PATCH 196/280] devkitARM: update gcc to 12.2.0 --- build-devkit.sh | 2 +- dkarm-eabi/patches/gcc-12.2.0.patch | 233 ++++++++++++++++++++++++++++ dkarm-eabi/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 236 insertions(+), 3 deletions(-) create mode 100644 dkarm-eabi/patches/gcc-12.2.0.patch diff --git a/build-devkit.sh b/build-devkit.sh index 5df0480..bb0d862 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash #--------------------------------------------------------------------------------- -# devkitARM release 58 +# devkitARM release 59 # devkitPPC release 41 # devkitA64 release 19 #--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/patches/gcc-12.2.0.patch b/dkarm-eabi/patches/gcc-12.2.0.patch new file mode 100644 index 0000000..95b119c --- /dev/null +++ b/dkarm-eabi/patches/gcc-12.2.0.patch @@ -0,0 +1,233 @@ +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/arm-cpus.in gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/arm-cpus.in +--- gcc-12.1.0-RC-20220429/gcc/config/arm/arm-cpus.in 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/arm-cpus.in 2022-04-30 13:31:09.120134164 +0100 +@@ -412,7 +412,7 @@ + tune for mpcore + tune flags CO_PROC + base 6K +- isa ARMv6k ++ isa ARMv6k VFPv2 FP_DBL + option fp add VFPv2 FP_DBL + optalias vfpv2 fp + option nofp remove ALL_FP +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/t-arm-elf gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/t-arm-elf +--- gcc-12.1.0-RC-20220429/gcc/config/arm/t-arm-elf 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/t-arm-elf 2022-04-30 13:31:39.759455398 +0100 +@@ -1,4 +1,4 @@ +-# Copyright (C) 1998-2022 Free Software Foundation, Inc. ++# Copyright (C) 1998-2021 Free Software Foundation, Inc. + # + # This file is part of GCC. + # +@@ -16,120 +16,14 @@ + # along with GCC; see the file COPYING3. If not see + # . + +-# Build a very basic set of libraries that should cater for most cases. +- +-# Single-precision floating-point is NOT supported; we don't build a +-# suitable library for that. Use the rm-profile config in that case. +- +-# PART 1 - Useful groups of options +- +-dp_fpus := vfp vfpv2 vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16 \ +- neon neon-vfpv3 neon-fp16 vfpv4 neon-vfpv4 vfpv4-d16 \ +- fpv5-d16 fp-armv8 neon-fp-armv8 crypto-neon-fp-armv8 \ +- vfp3 +- +-sp_fpus := vfpv3xd vfpv3xd-fp16 fpv4-sp-d16 fpv5-sp-d16 +- +-v7a_fps := vfpv3 vfpv3-fp16 vfpv4 simd neon-fp16 neon-vfpv4 +-v7ve_fps := vfpv3-d16 vfpv3 vfpv3-d16-fp16 vfpv3-fp16 vfpv4 neon \ +- neon-fp16 simd +- +-# Not all these permutations exist for all architecture variants, but +-# it seems to work ok. +-v8_fps := simd fp16 crypto fp16+crypto dotprod fp16fml +- +-v9_fps := simd fp16 crypto fp16+crypto dotprod fp16fml +- +-# We don't do anything special with these. Pre-v4t probably doesn't work. +-all_early_nofp := armv4 armv4t armv5t +- +-all_early_arch := armv5tej armv6 armv6j armv6k armv6z armv6kz \ +- armv6zk armv6t2 iwmmxt iwmmxt2 +- +-all_v7_a_r := armv7-a armv7ve armv7-r +- +-all_v8_archs := armv8-a armv8-a+crc armv8.1-a armv8.2-a armv8.3-a armv8.4-a \ +- armv8.5-a armv8.6-a +- +-all_v9_archs := armv9-a +- +-# No floating point variants, require thumb1 softfp +-all_nofp_t := armv6-m armv6s-m armv8-m.base +- +-all_nofp_t2 := armv7-m +- +-all_sp_only := armv7e-m armv8-m.main +- +-MULTILIB_OPTIONS = +-MULTILIB_DIRNAMES = ++MULTILIB_OPTIONS = mthumb mbig-endian march=armv6k mfloat-abi=hard ++MULTILIB_DIRNAMES = thumb be armv6k fpu + MULTILIB_EXCEPTIONS = + MULTILIB_MATCHES = +-MULTILIB_REUSE = +- +-# PART 2 - multilib build rules +- +-MULTILIB_OPTIONS += marm/mthumb +-MULTILIB_DIRNAMES += arm thumb +- +-MULTILIB_OPTIONS += mfpu=auto +-MULTILIB_DIRNAMES += autofp +- +-MULTILIB_OPTIONS += march=armv5te+fp/march=armv7+fp +-MULTILIB_DIRNAMES += v5te v7 +- +-MULTILIB_OPTIONS += mfloat-abi=hard +-MULTILIB_DIRNAMES += fpu +- +-# Build a total of 4 library variants (base options plus the following): +-MULTILIB_REQUIRED += mthumb +-MULTILIB_REQUIRED += marm/mfpu=auto/march=armv5te+fp/mfloat-abi=hard +-MULTILIB_REQUIRED += mthumb/mfpu=auto/march=armv7+fp/mfloat-abi=hard +- +-# PART 3 - Match rules +- +-# Map all supported FPUs onto mfpu=auto +-MULTILIB_MATCHES += $(foreach FPU, $(dp_fpus), \ +- mfpu?auto=mfpu?$(FPU)) +- +-MULTILIB_MATCHES += march?armv5te+fp=march?armv5te +- +-MULTILIB_MATCHES += $(foreach ARCH, $(all_early_arch), \ +- march?armv5te+fp=march?$(ARCH) \ +- march?armv5te+fp=march?$(ARCH)+fp) +- +-MULTILIB_MATCHES += march?armv7+fp=march?armv7 +- +-MULTILIB_MATCHES += $(foreach FPARCH, $(v7a_fps), \ +- march?armv7+fp=march?armv7-a+$(FPARCH)) +- +-MULTILIB_MATCHES += $(foreach FPARCH, $(v7ve_fps), \ +- march?armv7+fp=march?armv7ve+$(FPARCH)) +- +-MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \ +- march?armv7+fp=march?$(ARCH) \ +- march?armv7+fp=march?$(ARCH)+fp) +- +-MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \ +- march?armv7+fp=march?$(ARCH) \ +- $(foreach FPARCH, $(v8_fps), \ +- march?armv7+fp=march?$(ARCH)+$(FPARCH))) + +-MULTILIB_MATCHES += $(foreach ARCH, $(all_v9_archs), \ +- march?armv7+fp=march?$(ARCH) \ +- $(foreach FPARCH, $(v9_fps), \ +- march?armv7+fp=march?$(ARCH)+$(FPARCH))) ++MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard + +-MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \ +- march?armv7+fp=march?$(ARCH)+fp.dp) + +-# PART 4 - Reuse rules ++MULTILIB_MATCHES += march?armv6k=mtune?mpcore ++MULTILIB_MATCHES += march?armv6k=mcpu?mpcore + +-MULTILIB_REUSE += mthumb=mthumb/mfpu.auto +-MULTILIB_REUSE += mthumb=mthumb/mfpu.auto/march.armv5te+fp +-MULTILIB_REUSE += mthumb=mthumb/march.armv5te+fp +-MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=marm/march.armv5te+fp/mfloat-abi.hard +-MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=march.armv5te+fp/mfloat-abi.hard +-MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=mfpu.auto/march.armv5te+fp/mfloat-abi.hard +-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard +-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard +-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/unknown-elf.h gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/unknown-elf.h +--- gcc-12.1.0-RC-20220429/gcc/config/arm/unknown-elf.h 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/unknown-elf.h 2022-04-30 13:31:09.120134164 +0100 +@@ -29,7 +29,7 @@ + #endif + + /* Now we define the strings used to build the spec file. */ +-#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" ++#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s" + + #undef STARTFILE_SPEC + #define STARTFILE_SPEC \ +@@ -93,4 +93,5 @@ + udivmoddi4, which will depend on the exception unwind routines, + which will depend on abort, which is defined in libc. */ + #undef LINK_GCC_C_SEQUENCE_SPEC +-#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %{!nolibc:%L} --end-group" ++#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" ++ +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc gcc-12.1.0-RC-20220429-dkarm/gcc/config/i386/host-mingw32.cc +--- gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/i386/host-mingw32.cc 2022-04-30 13:31:09.120134164 +0100 +@@ -45,7 +45,11 @@ + static inline void w32_error(const char*, const char*, int, const char*); + + /* FIXME: Is this big enough? */ ++#if __MINGW64__ ++static const size_t pch_VA_max_size = UINT64_C(64 * 1024 * 1024 * 1024); ++#else + static const size_t pch_VA_max_size = 128 * 1024 * 1024; ++#endif + + /* Granularity for reserving address space. */ + static size_t va_granularity = 0x10000; +diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dkarm/gcc/gcc.cc +--- gcc-12.1.0-RC-20220429/gcc/gcc.cc 2022-04-29 14:58:23.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dkarm/gcc/gcc.cc 2022-04-30 13:31:09.120134164 +0100 +@@ -860,6 +860,11 @@ + #endif + #endif + ++#ifndef LIBGLOSS_SPEC ++# define LIBGLOSS_SPEC "-lsysbase" ++#endif ++ ++ + /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ + #ifndef STARTFILE_SPEC + #define STARTFILE_SPEC \ +@@ -1204,6 +1209,7 @@ + static const char *lib_spec = LIB_SPEC; + static const char *link_gomp_spec = ""; + static const char *libgcc_spec = LIBGCC_SPEC; ++static const char *libgloss_spec = LIBGLOSS_SPEC; + static const char *endfile_spec = ENDFILE_SPEC; + static const char *startfile_spec = STARTFILE_SPEC; + static const char *linker_name_spec = LINKER_NAME; +@@ -1709,6 +1715,7 @@ + INIT_STATIC_SPEC ("lib", &lib_spec), + INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), + INIT_STATIC_SPEC ("libgcc", &libgcc_spec), ++ INIT_STATIC_SPEC ("libgloss", &libgloss_spec), + INIT_STATIC_SPEC ("startfile", &startfile_spec), + INIT_STATIC_SPEC ("cross_compile", &cross_compile), + INIT_STATIC_SPEC ("version", &compiler_version), +diff -NBaur gcc-12.1.0-RC-20220429/libgcc/config/arm/t-bpabi gcc-12.1.0-RC-20220429-dkarm/libgcc/config/arm/t-bpabi +--- gcc-12.1.0-RC-20220429/libgcc/config/arm/t-bpabi 2022-04-29 14:58:25.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dkarm/libgcc/config/arm/t-bpabi 2022-04-30 13:31:09.120134164 +0100 +@@ -17,4 +17,4 @@ + # On ARM, specifying -fnon-call-exceptions will needlessly pull in + # the unwinder in simple programs which use 64-bit division. Omitting + # the option is safe. +-LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions ++LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions +diff -NBaur gcc-12.1.0-RC-20220429/libgcc/crtstuff.c gcc-12.1.0-RC-20220429-dkarm/libgcc/crtstuff.c +--- gcc-12.1.0-RC-20220429/libgcc/crtstuff.c 2022-04-29 14:58:25.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dkarm/libgcc/crtstuff.c 2022-04-30 13:31:09.120134164 +0100 +@@ -325,7 +325,7 @@ + + #ifdef OBJECT_FORMAT_ELF + +-#if DEFAULT_USE_CXA_ATEXIT ++#if 1 /* DEFAULT_USE_CXA_ATEXIT */ + /* Declare the __dso_handle variable. It should have a unique value + in every shared-object; in a main program its value is zero. The + object should in any case be protected. This means the instance diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 4762d5a..99ef223 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -66,7 +66,7 @@ then --with-system-zlib \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 58" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 59" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index 0f6b58a..178fc95 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,7 +30,7 @@ done case "$VERSION" in "1" ) - GCC_VER=12.1.0 + GCC_VER=12.2.0 BINUTILS_VER=2.39 NEWLIB_VER=4.2.0.20211231 basedir='dkarm-eabi' From 149a2358b8c4efb4b71847e4b89135dafe2acf8b Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 8 Nov 2022 10:43:28 +0000 Subject: [PATCH 197/280] devkitARM: remove stale patches --- dkarm-eabi/patches/binutils-2.37.patch | 17 -- dkarm-eabi/patches/gcc-12.1.0.patch | 233 ------------------------- 2 files changed, 250 deletions(-) delete mode 100644 dkarm-eabi/patches/binutils-2.37.patch delete mode 100644 dkarm-eabi/patches/gcc-12.1.0.patch diff --git a/dkarm-eabi/patches/binutils-2.37.patch b/dkarm-eabi/patches/binutils-2.37.patch deleted file mode 100644 index e5cee69..0000000 --- a/dkarm-eabi/patches/binutils-2.37.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/libiberty/rust-demangle.c b/libiberty/rust-demangle.c -index df09b7b8fddb82b21f97afee8821166d92220094..ac1eb8eb02c6d42533c0faa7aebdce432ac947e9 100644 (file) ---- a/libiberty/rust-demangle.c -+++ b/libiberty/rust-demangle.c -@@ -75,10 +75,10 @@ struct rust_demangler - int version; - - /* Recursion depth. */ -- uint recursion; -+ unsigned recursion; - /* Maximum number of times demangle_path may be called recursively. */ - #define RUST_MAX_RECURSION_COUNT 1024 --#define RUST_NO_RECURSION_LIMIT ((uint) -1) -+#define RUST_NO_RECURSION_LIMIT ((unsigned) -1) - - uint64_t bound_lifetime_depth; - }; diff --git a/dkarm-eabi/patches/gcc-12.1.0.patch b/dkarm-eabi/patches/gcc-12.1.0.patch deleted file mode 100644 index 95b119c..0000000 --- a/dkarm-eabi/patches/gcc-12.1.0.patch +++ /dev/null @@ -1,233 +0,0 @@ -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/arm-cpus.in gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/arm-cpus.in ---- gcc-12.1.0-RC-20220429/gcc/config/arm/arm-cpus.in 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/arm-cpus.in 2022-04-30 13:31:09.120134164 +0100 -@@ -412,7 +412,7 @@ - tune for mpcore - tune flags CO_PROC - base 6K -- isa ARMv6k -+ isa ARMv6k VFPv2 FP_DBL - option fp add VFPv2 FP_DBL - optalias vfpv2 fp - option nofp remove ALL_FP -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/t-arm-elf gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/t-arm-elf ---- gcc-12.1.0-RC-20220429/gcc/config/arm/t-arm-elf 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/t-arm-elf 2022-04-30 13:31:39.759455398 +0100 -@@ -1,4 +1,4 @@ --# Copyright (C) 1998-2022 Free Software Foundation, Inc. -+# Copyright (C) 1998-2021 Free Software Foundation, Inc. - # - # This file is part of GCC. - # -@@ -16,120 +16,14 @@ - # along with GCC; see the file COPYING3. If not see - # . - --# Build a very basic set of libraries that should cater for most cases. -- --# Single-precision floating-point is NOT supported; we don't build a --# suitable library for that. Use the rm-profile config in that case. -- --# PART 1 - Useful groups of options -- --dp_fpus := vfp vfpv2 vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16 \ -- neon neon-vfpv3 neon-fp16 vfpv4 neon-vfpv4 vfpv4-d16 \ -- fpv5-d16 fp-armv8 neon-fp-armv8 crypto-neon-fp-armv8 \ -- vfp3 -- --sp_fpus := vfpv3xd vfpv3xd-fp16 fpv4-sp-d16 fpv5-sp-d16 -- --v7a_fps := vfpv3 vfpv3-fp16 vfpv4 simd neon-fp16 neon-vfpv4 --v7ve_fps := vfpv3-d16 vfpv3 vfpv3-d16-fp16 vfpv3-fp16 vfpv4 neon \ -- neon-fp16 simd -- --# Not all these permutations exist for all architecture variants, but --# it seems to work ok. --v8_fps := simd fp16 crypto fp16+crypto dotprod fp16fml -- --v9_fps := simd fp16 crypto fp16+crypto dotprod fp16fml -- --# We don't do anything special with these. Pre-v4t probably doesn't work. --all_early_nofp := armv4 armv4t armv5t -- --all_early_arch := armv5tej armv6 armv6j armv6k armv6z armv6kz \ -- armv6zk armv6t2 iwmmxt iwmmxt2 -- --all_v7_a_r := armv7-a armv7ve armv7-r -- --all_v8_archs := armv8-a armv8-a+crc armv8.1-a armv8.2-a armv8.3-a armv8.4-a \ -- armv8.5-a armv8.6-a -- --all_v9_archs := armv9-a -- --# No floating point variants, require thumb1 softfp --all_nofp_t := armv6-m armv6s-m armv8-m.base -- --all_nofp_t2 := armv7-m -- --all_sp_only := armv7e-m armv8-m.main -- --MULTILIB_OPTIONS = --MULTILIB_DIRNAMES = -+MULTILIB_OPTIONS = mthumb mbig-endian march=armv6k mfloat-abi=hard -+MULTILIB_DIRNAMES = thumb be armv6k fpu - MULTILIB_EXCEPTIONS = - MULTILIB_MATCHES = --MULTILIB_REUSE = -- --# PART 2 - multilib build rules -- --MULTILIB_OPTIONS += marm/mthumb --MULTILIB_DIRNAMES += arm thumb -- --MULTILIB_OPTIONS += mfpu=auto --MULTILIB_DIRNAMES += autofp -- --MULTILIB_OPTIONS += march=armv5te+fp/march=armv7+fp --MULTILIB_DIRNAMES += v5te v7 -- --MULTILIB_OPTIONS += mfloat-abi=hard --MULTILIB_DIRNAMES += fpu -- --# Build a total of 4 library variants (base options plus the following): --MULTILIB_REQUIRED += mthumb --MULTILIB_REQUIRED += marm/mfpu=auto/march=armv5te+fp/mfloat-abi=hard --MULTILIB_REQUIRED += mthumb/mfpu=auto/march=armv7+fp/mfloat-abi=hard -- --# PART 3 - Match rules -- --# Map all supported FPUs onto mfpu=auto --MULTILIB_MATCHES += $(foreach FPU, $(dp_fpus), \ -- mfpu?auto=mfpu?$(FPU)) -- --MULTILIB_MATCHES += march?armv5te+fp=march?armv5te -- --MULTILIB_MATCHES += $(foreach ARCH, $(all_early_arch), \ -- march?armv5te+fp=march?$(ARCH) \ -- march?armv5te+fp=march?$(ARCH)+fp) -- --MULTILIB_MATCHES += march?armv7+fp=march?armv7 -- --MULTILIB_MATCHES += $(foreach FPARCH, $(v7a_fps), \ -- march?armv7+fp=march?armv7-a+$(FPARCH)) -- --MULTILIB_MATCHES += $(foreach FPARCH, $(v7ve_fps), \ -- march?armv7+fp=march?armv7ve+$(FPARCH)) -- --MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \ -- march?armv7+fp=march?$(ARCH) \ -- march?armv7+fp=march?$(ARCH)+fp) -- --MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \ -- march?armv7+fp=march?$(ARCH) \ -- $(foreach FPARCH, $(v8_fps), \ -- march?armv7+fp=march?$(ARCH)+$(FPARCH))) - --MULTILIB_MATCHES += $(foreach ARCH, $(all_v9_archs), \ -- march?armv7+fp=march?$(ARCH) \ -- $(foreach FPARCH, $(v9_fps), \ -- march?armv7+fp=march?$(ARCH)+$(FPARCH))) -+MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard - --MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \ -- march?armv7+fp=march?$(ARCH)+fp.dp) - --# PART 4 - Reuse rules -+MULTILIB_MATCHES += march?armv6k=mtune?mpcore -+MULTILIB_MATCHES += march?armv6k=mcpu?mpcore - --MULTILIB_REUSE += mthumb=mthumb/mfpu.auto --MULTILIB_REUSE += mthumb=mthumb/mfpu.auto/march.armv5te+fp --MULTILIB_REUSE += mthumb=mthumb/march.armv5te+fp --MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=marm/march.armv5te+fp/mfloat-abi.hard --MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=march.armv5te+fp/mfloat-abi.hard --MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=mfpu.auto/march.armv5te+fp/mfloat-abi.hard --MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard --MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard --MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/unknown-elf.h gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/unknown-elf.h ---- gcc-12.1.0-RC-20220429/gcc/config/arm/unknown-elf.h 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/unknown-elf.h 2022-04-30 13:31:09.120134164 +0100 -@@ -29,7 +29,7 @@ - #endif - - /* Now we define the strings used to build the spec file. */ --#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" -+#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s" - - #undef STARTFILE_SPEC - #define STARTFILE_SPEC \ -@@ -93,4 +93,5 @@ - udivmoddi4, which will depend on the exception unwind routines, - which will depend on abort, which is defined in libc. */ - #undef LINK_GCC_C_SEQUENCE_SPEC --#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %{!nolibc:%L} --end-group" -+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" -+ -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc gcc-12.1.0-RC-20220429-dkarm/gcc/config/i386/host-mingw32.cc ---- gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/i386/host-mingw32.cc 2022-04-30 13:31:09.120134164 +0100 -@@ -45,7 +45,11 @@ - static inline void w32_error(const char*, const char*, int, const char*); - - /* FIXME: Is this big enough? */ -+#if __MINGW64__ -+static const size_t pch_VA_max_size = UINT64_C(64 * 1024 * 1024 * 1024); -+#else - static const size_t pch_VA_max_size = 128 * 1024 * 1024; -+#endif - - /* Granularity for reserving address space. */ - static size_t va_granularity = 0x10000; -diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dkarm/gcc/gcc.cc ---- gcc-12.1.0-RC-20220429/gcc/gcc.cc 2022-04-29 14:58:23.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dkarm/gcc/gcc.cc 2022-04-30 13:31:09.120134164 +0100 -@@ -860,6 +860,11 @@ - #endif - #endif - -+#ifndef LIBGLOSS_SPEC -+# define LIBGLOSS_SPEC "-lsysbase" -+#endif -+ -+ - /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ - #ifndef STARTFILE_SPEC - #define STARTFILE_SPEC \ -@@ -1204,6 +1209,7 @@ - static const char *lib_spec = LIB_SPEC; - static const char *link_gomp_spec = ""; - static const char *libgcc_spec = LIBGCC_SPEC; -+static const char *libgloss_spec = LIBGLOSS_SPEC; - static const char *endfile_spec = ENDFILE_SPEC; - static const char *startfile_spec = STARTFILE_SPEC; - static const char *linker_name_spec = LINKER_NAME; -@@ -1709,6 +1715,7 @@ - INIT_STATIC_SPEC ("lib", &lib_spec), - INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), - INIT_STATIC_SPEC ("libgcc", &libgcc_spec), -+ INIT_STATIC_SPEC ("libgloss", &libgloss_spec), - INIT_STATIC_SPEC ("startfile", &startfile_spec), - INIT_STATIC_SPEC ("cross_compile", &cross_compile), - INIT_STATIC_SPEC ("version", &compiler_version), -diff -NBaur gcc-12.1.0-RC-20220429/libgcc/config/arm/t-bpabi gcc-12.1.0-RC-20220429-dkarm/libgcc/config/arm/t-bpabi ---- gcc-12.1.0-RC-20220429/libgcc/config/arm/t-bpabi 2022-04-29 14:58:25.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dkarm/libgcc/config/arm/t-bpabi 2022-04-30 13:31:09.120134164 +0100 -@@ -17,4 +17,4 @@ - # On ARM, specifying -fnon-call-exceptions will needlessly pull in - # the unwinder in simple programs which use 64-bit division. Omitting - # the option is safe. --LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions -+LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -diff -NBaur gcc-12.1.0-RC-20220429/libgcc/crtstuff.c gcc-12.1.0-RC-20220429-dkarm/libgcc/crtstuff.c ---- gcc-12.1.0-RC-20220429/libgcc/crtstuff.c 2022-04-29 14:58:25.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dkarm/libgcc/crtstuff.c 2022-04-30 13:31:09.120134164 +0100 -@@ -325,7 +325,7 @@ - - #ifdef OBJECT_FORMAT_ELF - --#if DEFAULT_USE_CXA_ATEXIT -+#if 1 /* DEFAULT_USE_CXA_ATEXIT */ - /* Declare the __dso_handle variable. It should have a unique value - in every shared-object; in a main program its value is zero. The - object should in any case be protected. This means the instance From ca6cded36375985a21812eb5afb9462c97d2f52d Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 13 Nov 2022 11:23:23 +0000 Subject: [PATCH 198/280] devkitA64: update gcc to 12.2.0 --- build-devkit.sh | 2 +- dka64/patches/gcc-12.2.0.patch | 334 +++++++++++++++++++++++++++++++++ dka64/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 337 insertions(+), 3 deletions(-) create mode 100644 dka64/patches/gcc-12.2.0.patch diff --git a/build-devkit.sh b/build-devkit.sh index bb0d862..6a36b03 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,7 +2,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 59 # devkitPPC release 41 -# devkitA64 release 19 +# devkitA64 release 20 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/patches/gcc-12.2.0.patch b/dka64/patches/gcc-12.2.0.patch new file mode 100644 index 0000000..c1c98bf --- /dev/null +++ b/dka64/patches/gcc-12.2.0.patch @@ -0,0 +1,334 @@ +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.cc gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.cc +--- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.cc 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.cc 2022-05-02 21:50:30.090088643 +0100 +@@ -19417,8 +19417,24 @@ + || !register_operand (target, Pmode)) + target = gen_reg_rtx (Pmode); + +- /* Can return in any reg. */ +- emit_insn (gen_aarch64_load_tp_hard (target)); ++ if (TARGET_HARD_TP) ++ { ++ /* Can return in any reg. */ ++ emit_insn (gen_aarch64_load_tp_hard (target)); ++ } ++ else ++ { ++ /* Always returned in r0. Immediately copy the result into a pseudo, ++ otherwise other uses of r0 (e.g. setting up function arguments) may ++ clobber the value. */ ++ ++ rtx tmp; ++ ++ emit_insn (gen_aarch64_load_tp_soft ()); ++ ++ tmp = gen_rtx_REG (DImode, R0_REGNUM); ++ emit_move_insn (target, tmp); ++ } + return target; + } + +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-elf-raw.h gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-elf-raw.h +--- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-elf-raw.h 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-elf-raw.h 2022-05-02 21:50:30.086094234 +0100 +@@ -22,6 +22,7 @@ + #ifndef GCC_AARCH64_ELF_RAW_H + #define GCC_AARCH64_ELF_RAW_H + ++#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" + #define STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" + #define ENDFILE_SPEC \ + " crtend%O%s crtn%O%s " \ +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.h gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.h +--- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.h 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.h 2022-05-02 21:50:30.090088643 +0100 +@@ -1245,6 +1245,10 @@ + /* Check TLS Descriptors mechanism is selected. */ + #define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS) + ++/* Check selected thread pointer access sequence to use. */ ++#define TARGET_HARD_TP (target_thread_pointer == TP_HARD) ++#define TARGET_SOFT_TP (target_thread_pointer == TP_SOFT) ++ + extern enum aarch64_code_model aarch64_cmodel; + + /* When using the tiny addressing model conditional and unconditional branches +@@ -1290,7 +1294,7 @@ + #define MCPU_TO_MARCH_SPEC_FUNCTIONS \ + { "rewrite_mcpu", aarch64_rewrite_mcpu }, + +-#if defined(__aarch64__) ++#if 0 // defined(__aarch64__) + extern const char *host_detect_local_cpu (int argc, const char **argv); + #define HAVE_LOCAL_CPU_DETECT + # define EXTRA_SPEC_FUNCTIONS \ +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.md gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.md +--- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.md 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.md 2022-05-02 21:50:30.090088643 +0100 +@@ -6899,11 +6899,22 @@ + (define_insn "aarch64_load_tp_hard" + [(set (match_operand:DI 0 "register_operand" "=r") + (unspec:DI [(const_int 0)] UNSPEC_TLS))] +- "" +- "mrs\\t%0, tpidr_el0" ++ "TARGET_HARD_TP" ++ "mrs\\t%0, tpidr_el0\\t// aarch64_load_tp_hard" + [(set_attr "type" "mrs")] + ) + ++(define_insn "aarch64_load_tp_soft" ++ [(set (reg:DI 0) (unspec:DI [(const_int 0)] UNSPEC_TLS)) ++ (clobber (reg:DI IP0_REGNUM)) ++ (clobber (reg:DI IP1_REGNUM)) ++ (clobber (reg:DI LR_REGNUM)) ++ (clobber (reg:CC CC_REGNUM))] ++ "TARGET_SOFT_TP" ++ "bl\\t__aarch64_read_tp\\t// aarch64_load_tp_soft" ++ [(set_attr "type" "branch")] ++) ++ + ;; The TLS ABI specifically requires that the compiler does not schedule + ;; instructions in the TLS stubs, in order to enable linker relaxation. + ;; Therefore we treat the stubs as an atomic sequence. +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.opt gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.opt +--- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.opt 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.opt 2022-05-02 21:50:30.090088643 +0100 +@@ -122,6 +122,21 @@ + EnumValue + Enum(aarch64_tls_size) String(48) Value(48) + ++mtp= ++Target RejectNegative Joined Enum(aarch64_tp_type) Var(target_thread_pointer) Init(TP_HARD) ++Specify how to access the thread pointer. ++ ++Enum ++Name(aarch64_tp_type) Type(enum aarch64_tp_type) ++Valid arguments to -mtp=: ++ ++EnumValue ++Enum(aarch64_tp_type) String(hard) Value(TP_HARD) ++ ++EnumValue ++Enum(aarch64_tp_type) String(soft) Value(TP_SOFT) ++ ++ + march= + Target RejectNegative Negative(march=) ToLower Joined Var(aarch64_arch_string) + Use features of architecture ARCH. +@@ -260,7 +275,7 @@ + long aarch64_stack_protector_guard_offset = 0 + + moutline-atomics +-Target Var(aarch64_flag_outline_atomics) Init(2) Save ++Target Var(aarch64_flag_outline_atomics) Save + Generate local calls to out-of-line atomic operations. + + -param=aarch64-sve-compare-costs= +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-opts.h gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-opts.h +--- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-opts.h 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-opts.h 2022-05-02 21:50:30.086094234 +0100 +@@ -48,6 +48,12 @@ + TLS_DESCRIPTORS + }; + ++/* Which thread pointer access sequence to use. */ ++enum aarch64_tp_type { ++ TP_HARD, ++ TP_SOFT ++}; ++ + /* The code model defines the address generation strategy. + Most have a PIC and non-PIC variant. */ + enum aarch64_code_model { +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/t-aarch64 gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/t-aarch64 +--- gcc-12.1.0-RC-20220429/gcc/config/aarch64/t-aarch64 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/t-aarch64 2022-05-02 21:50:30.090088643 +0100 +@@ -177,8 +177,10 @@ + $(srcdir)/config/aarch64/aarch64-cc-fusion.cc + + comma=, +-MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG)))) +-MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG)) ++MULTILIB_OPTIONS = mcmodel=large fPIC ++MULTILIB_DIRNAMES = large pic ++MULTILIB_REQUIRED = mcmodel=large fPIC ++MULTILIB_MATCHES = fPIC=fpic fPIC=fpie fPIC=fPIE + + insn-conditions.md: s-check-sve-md + s-check-sve-md: $(srcdir)/config/aarch64/check-sve-md.awk \ +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/devkitpro.h gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.h +--- gcc-12.1.0-RC-20220429/gcc/config/devkitpro.h 1970-01-01 01:00:00.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.h 2022-05-02 22:04:49.962851033 +0100 +@@ -0,0 +1,29 @@ ++/* Definitions for devkitPro toolchains. ++ Copyright (C) 2016-2018 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. ++ ++ 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 ++ . */ ++ ++#undef TARGET_OS_CPP_BUILTINS ++#define TARGET_OS_CPP_BUILTINS() \ ++ do { \ ++ builtin_define ("__DEVKITA64__"); \ ++ } while (0) +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/devkitpro.opt gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.opt +--- gcc-12.1.0-RC-20220429/gcc/config/devkitpro.opt 1970-01-01 01:00:00.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.opt 2022-05-02 21:50:30.090088643 +0100 +@@ -0,0 +1,29 @@ ++; Options for devkitPro toolchains. ++ ++; Copyright (C) 2011-2018 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 the GCC internals manual (options.texi) for a description of ++; this file's format. ++ ++; Please try to keep this file in ASCII collating order. ++ ++pthread ++Driver ++ ++; This comment is to ensure we retain the blank line above. +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc gcc-12.1.0-RC-20220429-dka64/gcc/config/i386/host-mingw32.cc +--- gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config/i386/host-mingw32.cc 2022-05-02 21:50:30.090088643 +0100 +@@ -45,7 +45,11 @@ + static inline void w32_error(const char*, const char*, int, const char*); + + /* FIXME: Is this big enough? */ ++#if __MINGW64__ ++static const size_t pch_VA_max_size = UINT64_C(64 * 1024 * 1024 * 1024); ++#else + static const size_t pch_VA_max_size = 128 * 1024 * 1024; ++#endif + + /* Granularity for reserving address space. */ + static size_t va_granularity = 0x10000; +diff -NBaur gcc-12.1.0-RC-20220429/gcc/config.gcc gcc-12.1.0-RC-20220429-dka64/gcc/config.gcc +--- gcc-12.1.0-RC-20220429/gcc/config.gcc 2022-04-29 14:58:22.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/config.gcc 2022-05-02 21:50:30.086094234 +0100 +@@ -1093,7 +1093,14 @@ + tmake_file="${tmake_file} aarch64/t-aarch64" + case $target in + aarch64-*-elf*) ++ default_use_cxa_atexit=yes + use_gcc_stdint=wrap ++ tm_file="${tm_file} devkitpro.h" ++ tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" ++ extra_options="${extra_options} devkitpro.opt" ++ case ${enable_threads} in ++ "" | yes | posix) thread_file='posix' ;; ++ esac + ;; + aarch64-*-fuchsia*) + tm_file="${tm_file} fuchsia.h" +diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dka64/gcc/gcc.cc +--- gcc-12.1.0-RC-20220429/gcc/gcc.cc 2022-04-29 14:58:23.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/gcc/gcc.cc 2022-05-02 21:50:30.090088643 +0100 +@@ -860,6 +860,11 @@ + #endif + #endif + ++#ifndef LIBGLOSS_SPEC ++# define LIBGLOSS_SPEC "-lsysbase" ++#endif ++ ++ + /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ + #ifndef STARTFILE_SPEC + #define STARTFILE_SPEC \ +@@ -1204,6 +1209,7 @@ + static const char *lib_spec = LIB_SPEC; + static const char *link_gomp_spec = ""; + static const char *libgcc_spec = LIBGCC_SPEC; ++static const char *libgloss_spec = LIBGLOSS_SPEC; + static const char *endfile_spec = ENDFILE_SPEC; + static const char *startfile_spec = STARTFILE_SPEC; + static const char *linker_name_spec = LINKER_NAME; +@@ -1709,6 +1715,7 @@ + INIT_STATIC_SPEC ("lib", &lib_spec), + INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), + INIT_STATIC_SPEC ("libgcc", &libgcc_spec), ++ INIT_STATIC_SPEC ("libgloss", &libgloss_spec), + INIT_STATIC_SPEC ("startfile", &startfile_spec), + INIT_STATIC_SPEC ("cross_compile", &cross_compile), + INIT_STATIC_SPEC ("version", &compiler_version), +diff -NBaur gcc-12.1.0-RC-20220429/libgcc/crtstuff.c gcc-12.1.0-RC-20220429-dka64/libgcc/crtstuff.c +--- gcc-12.1.0-RC-20220429/libgcc/crtstuff.c 2022-04-29 14:58:25.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/libgcc/crtstuff.c 2022-05-02 21:50:30.094083051 +0100 +@@ -325,7 +325,7 @@ + + #ifdef OBJECT_FORMAT_ELF + +-#if DEFAULT_USE_CXA_ATEXIT ++#if 1 /* DEFAULT_USE_CXA_ATEXIT */ + /* Declare the __dso_handle variable. It should have a unique value + in every shared-object; in a main program its value is zero. The + object should in any case be protected. This means the instance +diff -NBaur gcc-12.1.0-RC-20220429/libgcc/gthr.h gcc-12.1.0-RC-20220429-dka64/libgcc/gthr.h +--- gcc-12.1.0-RC-20220429/libgcc/gthr.h 2022-04-29 14:58:25.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/libgcc/gthr.h 2022-05-02 21:50:30.094083051 +0100 +@@ -136,7 +136,7 @@ + /* The pe-coff weak support isn't fully compatible to ELF's weak. + For static libraries it might would work, but as we need to deal + with shared versions too, we disable it for mingw-targets. */ +-#ifdef __MINGW32__ ++#if defined(__MINGW32__) || defined(__DEVKITA64__) + #undef GTHREAD_USE_WEAK + #define GTHREAD_USE_WEAK 0 + #endif +diff -NBaur gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.am gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.am +--- gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.am 2022-04-29 14:58:26.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.am 2022-05-02 21:50:30.094083051 +0100 +@@ -1366,6 +1366,7 @@ + -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ + -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ + -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ ++ -e 's/_GLIBCXX___DEVKITA64_GLIBCXX___/__DEVKITA64__/g' \ + -e 's,^#include "\(.*\)",#include ,g' \ + < $< > $@ + +diff -NBaur gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.in gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.in +--- gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.in 2022-04-29 14:58:26.000000000 +0100 ++++ gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.in 2022-05-02 21:50:30.094083051 +0100 +@@ -1857,6 +1857,7 @@ + -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ + -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ + -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ ++ -e 's/_GLIBCXX___DEVKITA64_GLIBCXX___/__DEVKITA64__/g' \ + -e 's,^#include "\(.*\)",#include ,g' \ + < $< > $@ + diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index a0eef69..3b8a96d 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -62,7 +62,7 @@ then --enable-lto \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 19" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 20" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index 178fc95..9ce929f 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -49,7 +49,7 @@ case "$VERSION" in toolchain=DEVKITPPC ;; "3" ) - GCC_VER=12.1.0 + GCC_VER=12.2.0 BINUTILS_VER=2.32 NEWLIB_VER=4.2.0.20211231 basedir='dka64' From b5de354a1ef989df7f76f9faec723e780e75e9d3 Mon Sep 17 00:00:00 2001 From: omerien <53191414+omerien@users.noreply.github.com> Date: Sun, 20 Nov 2022 16:39:15 +0100 Subject: [PATCH 199/280] Use https urls (#56) --- README.TXT | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.TXT b/README.TXT index 0f34093..8cabb6e 100644 --- a/README.TXT +++ b/README.TXT @@ -24,9 +24,9 @@ For building gcc libgmp, libmpfr and libmpc are required - these are built as static libraries to make packaging simpler. If you're building the tools for personal use then the versions packaged by your chosen distro should suffice. -http://gmplib.org/ -http://www.mpfr.org/ -http://www.multiprecision.org/ +https://gmplib.org/ +https://www.mpfr.org/ +https://www.multiprecision.org/ sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev @@ -34,10 +34,10 @@ Some of the tools for devkitARM and devkitPPC also require FreeImage, zlib, expat, and libusb. Again these are built as static libraries for ease of packaging but you can probably use the versions supplied by your distro. -http://freeimage.sourceforge.net/ -http://www.zlib.net -http://www.libusb.org -http://expat.sourceforge.net/ +https://freeimage.sourceforge.net/ +https://www.zlib.net +https://www.libusb.org +https://expat.sourceforge.net/ sudo apt-get install libfreeimage-dev zlib1g-dev libusb-dev libudev-dev libexpat1-dev From 026a498a519dc72357c76f9e586f20411988db89 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 25 Mar 2023 20:03:19 +0000 Subject: [PATCH 200/280] devkitA64: update newlib to 4.3.0 --- build-devkit.sh | 2 +- ...1231.patch => newlib-4.3.0.20230120.patch} | 5027 +++++++++++------ dka64/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 3235 insertions(+), 1798 deletions(-) rename dka64/patches/{newlib-4.2.0.20211231.patch => newlib-4.3.0.20230120.patch} (54%) diff --git a/build-devkit.sh b/build-devkit.sh index 6a36b03..3ba26b5 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,7 +2,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 59 # devkitPPC release 41 -# devkitA64 release 20 +# devkitA64 release 21 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/patches/newlib-4.2.0.20211231.patch b/dka64/patches/newlib-4.3.0.20230120.patch similarity index 54% rename from dka64/patches/newlib-4.2.0.20211231.patch rename to dka64/patches/newlib-4.3.0.20230120.patch index b1eed87..89a17a1 100644 --- a/dka64/patches/newlib-4.2.0.20211231.patch +++ b/dka64/patches/newlib-4.3.0.20230120.patch @@ -1,199 +1,1438 @@ +diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am +index 4309cd3a4..fad31dbe0 100644 +--- a/libgloss/Makefile.am ++++ b/libgloss/Makefile.am +@@ -87,6 +87,9 @@ endif + if CONFIG_LIBNOSYS + include libnosys/Makefile.inc + endif ++if CONFIG_LIBSYSBASE ++include libsysbase/Makefile.inc ++endif + if CONFIG_LM32 + include lm32/Makefile.inc + endif +diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in +index a117577ea..fcbffa306 100644 +--- a/libgloss/Makefile.in ++++ b/libgloss/Makefile.in +@@ -173,23 +173,26 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) + @CONFIG_IQ2000_TRUE@am__append_26 = iq2000/test + @CONFIG_LIBNOSYS_TRUE@am__append_27 = libnosys/nosys.specs + @CONFIG_LIBNOSYS_TRUE@am__append_28 = libnosys/libnosys.a +-@CONFIG_LM32_TRUE@am__append_29 = lm32/crt0.o lm32/sim.ld +-@CONFIG_LM32_TRUE@am__append_30 = lm32/libgloss.a +-@CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.S +-@CONFIG_NIOS2_TRUE@am__append_32 = \ ++@CONFIG_LIBSYSBASE_TRUE@am__append_29 = libsysbase/sysbase.specs ++@CONFIG_LIBSYSBASE_TRUE@am__append_30 = libsysbase/libpthread.a \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase.a ++@CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.o lm32/sim.ld ++@CONFIG_LM32_TRUE@am__append_32 = lm32/libgloss.a ++@CONFIG_LM32_TRUE@am__append_33 = lm32/crt0.S ++@CONFIG_NIOS2_TRUE@am__append_34 = \ + @CONFIG_NIOS2_TRUE@ nios2/qemu-hosted.ld + +-@CONFIG_NIOS2_TRUE@am__append_33 = nios2/libnios2.a +-@CONFIG_RISCV_TRUE@am__append_34 = \ ++@CONFIG_NIOS2_TRUE@am__append_35 = nios2/libnios2.a ++@CONFIG_RISCV_TRUE@am__append_36 = \ + @CONFIG_RISCV_TRUE@ riscv/nano.specs \ + @CONFIG_RISCV_TRUE@ riscv/sim.specs \ + @CONFIG_RISCV_TRUE@ riscv/semihost.specs \ + @CONFIG_RISCV_TRUE@ riscv/crt0.o + +-@CONFIG_RISCV_TRUE@am__append_35 = riscv/libgloss.a \ ++@CONFIG_RISCV_TRUE@am__append_37 = riscv/libgloss.a \ + @CONFIG_RISCV_TRUE@ riscv/libsemihost.a +-@CONFIG_WINCE_TRUE@am__append_36 = $(gdbdir) +-@CONFIG_WINCE_TRUE@am__append_37 = wince/stub.exe ++@CONFIG_WINCE_TRUE@am__append_38 = $(gdbdir) ++@CONFIG_WINCE_TRUE@am__append_39 = wince/stub.exe + subdir = . + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ +@@ -199,6 +202,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ + $(top_srcdir)/aarch64/acinclude.m4 \ + $(top_srcdir)/arm/acinclude.m4 $(top_srcdir)/i386/acinclude.m4 \ + $(top_srcdir)/libnosys/acinclude.m4 \ ++ $(top_srcdir)/libsysbase/acinclude.m4 \ + $(top_srcdir)/m68k/acinclude.m4 \ + $(top_srcdir)/mcore/acinclude.m4 \ + $(top_srcdir)/mips/acinclude.m4 \ +@@ -421,6 +425,64 @@ libobjs_a_LIBADD = + am_libobjs_a_OBJECTS = $(am__objects_3) $(am__objects_4) \ + $(am__objects_5) $(am__objects_6) + libobjs_a_OBJECTS = $(am_libobjs_a_OBJECTS) ++libsysbase_libpthread_a_AR = $(AR) $(ARFLAGS) ++libsysbase_libpthread_a_LIBADD = ++@CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libpthread_a_OBJECTS = \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dummy.$(OBJEXT) ++libsysbase_libpthread_a_OBJECTS = \ ++ $(am_libsysbase_libpthread_a_OBJECTS) ++libsysbase_libsysbase_a_AR = $(AR) $(ARFLAGS) ++libsysbase_libsysbase_a_LIBADD = ++@CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libsysbase_a_OBJECTS = libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-getpid.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-getreent.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-gettod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-handle_manager.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-iosupport.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-isatty.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-kill.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-link.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lseek.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pthread.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-scandir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-unlink.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-usleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-utime.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-wait.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-write.$(OBJEXT) ++libsysbase_libsysbase_a_OBJECTS = \ ++ $(am_libsysbase_libsysbase_a_OBJECTS) + lm32_libgloss_a_AR = $(AR) $(ARFLAGS) + lm32_libgloss_a_LIBADD = + @CONFIG_LM32_TRUE@am_lm32_libgloss_a_OBJECTS = lm32/isatty.$(OBJEXT) \ +@@ -572,7 +634,8 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ + $(bfin_libbfinbsp_a_SOURCES) $(bfin_libsim_a_SOURCES) \ + $(csky_libsemi_a_SOURCES) $(d30v_libsim_a_SOURCES) \ + $(iq2000_libeval_a_SOURCES) $(libnosys_libnosys_a_SOURCES) \ +- $(libobjs_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ ++ $(libobjs_a_SOURCES) $(libsysbase_libpthread_a_SOURCES) \ ++ $(libsysbase_libsysbase_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ + $(nios2_libnios2_a_SOURCES) $(riscv_libgloss_a_SOURCES) \ + $(riscv_libsemihost_a_SOURCES) bfin/sim-test.c iq2000/test.c \ + $(wince_stub_exe_SOURCES) +@@ -662,7 +725,7 @@ ETAGS = etags + CTAGS = ctags + CSCOPE = cscope + DIST_SUBDIRS = $(SUBDIRS) +-VPATH = @srcdir@ $(am__append_36) ++VPATH = @srcdir@ $(am__append_38) + AARCH64_OBJTYPE = @AARCH64_OBJTYPE@ + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ +@@ -772,6 +835,7 @@ pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -797,12 +861,13 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) + multilibtool_DATA = $(am__append_3) $(am__append_6) $(am__append_7) \ + $(am__append_8) $(am__append_13) $(am__append_15) \ + $(am__append_18) $(am__append_22) $(am__append_23) \ +- $(am__append_27) $(am__append_29) $(am__append_32) \ +- $(am__append_34) ++ $(am__append_27) $(am__append_29) $(am__append_31) \ ++ $(am__append_34) $(am__append_36) + multilibtool_LIBRARIES = $(am__append_2) $(am__append_5) \ + $(am__append_9) $(am__append_11) $(am__append_20) \ + $(am__append_21) $(am__append_24) $(am__append_28) \ +- $(am__append_30) $(am__append_33) $(am__append_35) ++ $(am__append_30) $(am__append_32) $(am__append_35) \ ++ $(am__append_37) + includetooldir = $(tooldir)/include + includetool_DATA = $(am__append_16) + includesystooldir = $(tooldir)/include/sys +@@ -813,7 +878,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include + # to install (e.g. our crt0.o objects). + noinst_LIBRARIES = libobjs.a + libobjs_a_SOURCES = $(am__append_14) $(am__append_19) $(am__append_25) \ +- $(am__append_31) ++ $(am__append_33) + FLAGS_TO_PASS = \ + "CC=$(CC)" \ + "CFLAGS=$(CFLAGS)" \ +@@ -992,6 +1057,60 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBNOSYS_TRUE@ libnosys/write.c \ + @CONFIG_LIBNOSYS_TRUE@ libnosys/_exit.c + ++@CONFIG_LIBSYSBASE_TRUE@libsysbase_libpthread_a_SOURCES = \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dummy.c ++ ++@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE ++@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_SOURCES = \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/_exit.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/abort.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/build_argv.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chmod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/clocks.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dirent.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fchmod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/flock.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fnmatch.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fsync.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/ftruncate.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/getpid.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/getreent.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/gettod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/handle_manager.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/iosupport.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/isatty.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/kill.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/link.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/lseek.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/lstat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/malloc_vars.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/mkdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pthread.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/nanosleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sbrk.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/scandir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/stat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/statvfs.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/syscall_support.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/times.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/truncate.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/unlink.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/usleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/utime.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/wait.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/write.c ++ + @CONFIG_LM32_TRUE@lm32_libgloss_a_SOURCES = \ + @CONFIG_LM32_TRUE@ lm32/isatty.c \ + @CONFIG_LM32_TRUE@ lm32/scall.S +@@ -1099,7 +1218,7 @@ all: config.h + .SUFFIXES: .S .c .dvi .o .obj .ps + am--refresh: Makefile + @: +-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ +@@ -1121,7 +1240,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; +-$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): ++$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): + + $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck +@@ -1585,6 +1704,168 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE + $(AM_V_at)-rm -f libobjs.a + $(AM_V_AR)$(libobjs_a_AR) libobjs.a $(libobjs_a_OBJECTS) $(libobjs_a_LIBADD) + $(AM_V_at)$(RANLIB) libobjs.a ++libsysbase/$(am__dirstamp): ++ @$(MKDIR_P) libsysbase ++ @: > libsysbase/$(am__dirstamp) ++libsysbase/$(DEPDIR)/$(am__dirstamp): ++ @$(MKDIR_P) libsysbase/$(DEPDIR) ++ @: > libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/dummy.$(OBJEXT): libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++ ++libsysbase/libpthread.a: $(libsysbase_libpthread_a_OBJECTS) $(libsysbase_libpthread_a_DEPENDENCIES) $(EXTRA_libsysbase_libpthread_a_DEPENDENCIES) libsysbase/$(am__dirstamp) ++ $(AM_V_at)-rm -f libsysbase/libpthread.a ++ $(AM_V_AR)$(libsysbase_libpthread_a_AR) libsysbase/libpthread.a $(libsysbase_libpthread_a_OBJECTS) $(libsysbase_libpthread_a_LIBADD) ++ $(AM_V_at)$(RANLIB) libsysbase/libpthread.a ++libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-getpid.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-getreent.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-gettod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-handle_manager.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-iosupport.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-isatty.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-kill.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-link.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-lseek.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-pthread.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-scandir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-unlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-usleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-utime.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-wait.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-write.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++ ++libsysbase/libsysbase.a: $(libsysbase_libsysbase_a_OBJECTS) $(libsysbase_libsysbase_a_DEPENDENCIES) $(EXTRA_libsysbase_libsysbase_a_DEPENDENCIES) libsysbase/$(am__dirstamp) ++ $(AM_V_at)-rm -f libsysbase/libsysbase.a ++ $(AM_V_AR)$(libsysbase_libsysbase_a_AR) libsysbase/libsysbase.a $(libsysbase_libsysbase_a_OBJECTS) $(libsysbase_libsysbase_a_LIBADD) ++ $(AM_V_at)$(RANLIB) libsysbase/libsysbase.a + lm32/isatty.$(OBJEXT): lm32/$(am__dirstamp) \ + lm32/$(DEPDIR)/$(am__dirstamp) + lm32/scall.$(OBJEXT): lm32/$(am__dirstamp) \ +@@ -1852,6 +2133,7 @@ mostlyclean-compile: + -rm -f d30v/*.$(OBJEXT) + -rm -f iq2000/*.$(OBJEXT) + -rm -f libnosys/*.$(OBJEXT) ++ -rm -f libsysbase/*.$(OBJEXT) + -rm -f lm32/*.$(OBJEXT) + -rm -f nios2/*.$(OBJEXT) + -rm -f riscv/*.$(OBJEXT) +@@ -1973,6 +2255,55 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/unlink.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/wait.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/write.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/dummy.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/crt0.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/isatty.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/scall.Po@am__quote@ +@@ -2717,6 +3048,678 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csky_libsemi_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o csky/csky_libsemi_a-getpid.obj `if test -f 'csky/getpid.c'; then $(CYGPATH_W) 'csky/getpid.c'; else $(CYGPATH_W) '$(srcdir)/csky/getpid.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-_exit.o: libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-_exit.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo -c -o libsysbase/libsysbase_libsysbase_a-_exit.o `test -f 'libsysbase/_exit.c' || echo '$(srcdir)/'`libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/_exit.c' object='libsysbase/libsysbase_libsysbase_a-_exit.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-_exit.o `test -f 'libsysbase/_exit.c' || echo '$(srcdir)/'`libsysbase/_exit.c ++ ++libsysbase/libsysbase_libsysbase_a-_exit.obj: libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-_exit.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo -c -o libsysbase/libsysbase_libsysbase_a-_exit.obj `if test -f 'libsysbase/_exit.c'; then $(CYGPATH_W) 'libsysbase/_exit.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/_exit.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/_exit.c' object='libsysbase/libsysbase_libsysbase_a-_exit.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-_exit.obj `if test -f 'libsysbase/_exit.c'; then $(CYGPATH_W) 'libsysbase/_exit.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/_exit.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-abort.o: libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-abort.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo -c -o libsysbase/libsysbase_libsysbase_a-abort.o `test -f 'libsysbase/abort.c' || echo '$(srcdir)/'`libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/abort.c' object='libsysbase/libsysbase_libsysbase_a-abort.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.o `test -f 'libsysbase/abort.c' || echo '$(srcdir)/'`libsysbase/abort.c ++ ++libsysbase/libsysbase_libsysbase_a-abort.obj: libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-abort.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/abort.c' object='libsysbase/libsysbase_libsysbase_a-abort.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-build_argv.o: libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/build_argv.c' object='libsysbase/libsysbase_libsysbase_a-build_argv.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c ++ ++libsysbase/libsysbase_libsysbase_a-build_argv.obj: libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.obj `if test -f 'libsysbase/build_argv.c'; then $(CYGPATH_W) 'libsysbase/build_argv.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/build_argv.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/build_argv.c' object='libsysbase/libsysbase_libsysbase_a-build_argv.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-build_argv.obj `if test -f 'libsysbase/build_argv.c'; then $(CYGPATH_W) 'libsysbase/build_argv.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/build_argv.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-chdir.o: libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chdir.o `test -f 'libsysbase/chdir.c' || echo '$(srcdir)/'`libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chdir.c' object='libsysbase/libsysbase_libsysbase_a-chdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chdir.o `test -f 'libsysbase/chdir.c' || echo '$(srcdir)/'`libsysbase/chdir.c ++ ++libsysbase/libsysbase_libsysbase_a-chdir.obj: libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chdir.obj `if test -f 'libsysbase/chdir.c'; then $(CYGPATH_W) 'libsysbase/chdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chdir.c' object='libsysbase/libsysbase_libsysbase_a-chdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chdir.obj `if test -f 'libsysbase/chdir.c'; then $(CYGPATH_W) 'libsysbase/chdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chdir.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-chmod.o: libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chmod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chmod.o `test -f 'libsysbase/chmod.c' || echo '$(srcdir)/'`libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chmod.c' object='libsysbase/libsysbase_libsysbase_a-chmod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chmod.o `test -f 'libsysbase/chmod.c' || echo '$(srcdir)/'`libsysbase/chmod.c ++ ++libsysbase/libsysbase_libsysbase_a-chmod.obj: libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chmod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chmod.obj `if test -f 'libsysbase/chmod.c'; then $(CYGPATH_W) 'libsysbase/chmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chmod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chmod.c' object='libsysbase/libsysbase_libsysbase_a-chmod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chmod.obj `if test -f 'libsysbase/chmod.c'; then $(CYGPATH_W) 'libsysbase/chmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chmod.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-clocks.o: libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-clocks.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo -c -o libsysbase/libsysbase_libsysbase_a-clocks.o `test -f 'libsysbase/clocks.c' || echo '$(srcdir)/'`libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/clocks.c' object='libsysbase/libsysbase_libsysbase_a-clocks.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.o `test -f 'libsysbase/clocks.c' || echo '$(srcdir)/'`libsysbase/clocks.c ++ ++libsysbase/libsysbase_libsysbase_a-clocks.obj: libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-clocks.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/clocks.c' object='libsysbase/libsysbase_libsysbase_a-clocks.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-dirent.o: libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/dirent.c' object='libsysbase/libsysbase_libsysbase_a-dirent.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c ++ ++libsysbase/libsysbase_libsysbase_a-dirent.obj: libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.obj `if test -f 'libsysbase/dirent.c'; then $(CYGPATH_W) 'libsysbase/dirent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/dirent.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/dirent.c' object='libsysbase/libsysbase_libsysbase_a-dirent.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-dirent.obj `if test -f 'libsysbase/dirent.c'; then $(CYGPATH_W) 'libsysbase/dirent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/dirent.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-environ.o: libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-environ.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo -c -o libsysbase/libsysbase_libsysbase_a-environ.o `test -f 'libsysbase/environ.c' || echo '$(srcdir)/'`libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/environ.c' object='libsysbase/libsysbase_libsysbase_a-environ.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-environ.o `test -f 'libsysbase/environ.c' || echo '$(srcdir)/'`libsysbase/environ.c ++ ++libsysbase/libsysbase_libsysbase_a-environ.obj: libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-environ.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo -c -o libsysbase/libsysbase_libsysbase_a-environ.obj `if test -f 'libsysbase/environ.c'; then $(CYGPATH_W) 'libsysbase/environ.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/environ.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/environ.c' object='libsysbase/libsysbase_libsysbase_a-environ.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-environ.obj `if test -f 'libsysbase/environ.c'; then $(CYGPATH_W) 'libsysbase/environ.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/environ.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-execve.o: libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-execve.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo -c -o libsysbase/libsysbase_libsysbase_a-execve.o `test -f 'libsysbase/execve.c' || echo '$(srcdir)/'`libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/execve.c' object='libsysbase/libsysbase_libsysbase_a-execve.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-execve.o `test -f 'libsysbase/execve.c' || echo '$(srcdir)/'`libsysbase/execve.c ++ ++libsysbase/libsysbase_libsysbase_a-execve.obj: libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-execve.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo -c -o libsysbase/libsysbase_libsysbase_a-execve.obj `if test -f 'libsysbase/execve.c'; then $(CYGPATH_W) 'libsysbase/execve.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/execve.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/execve.c' object='libsysbase/libsysbase_libsysbase_a-execve.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-execve.obj `if test -f 'libsysbase/execve.c'; then $(CYGPATH_W) 'libsysbase/execve.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/execve.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fchmod.o: libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fchmod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fchmod.o `test -f 'libsysbase/fchmod.c' || echo '$(srcdir)/'`libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fchmod.c' object='libsysbase/libsysbase_libsysbase_a-fchmod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.o `test -f 'libsysbase/fchmod.c' || echo '$(srcdir)/'`libsysbase/fchmod.c ++ ++libsysbase/libsysbase_libsysbase_a-fchmod.obj: libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fchmod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fchmod.c' object='libsysbase/libsysbase_libsysbase_a-fchmod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-flock.o: libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-flock.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo -c -o libsysbase/libsysbase_libsysbase_a-flock.o `test -f 'libsysbase/flock.c' || echo '$(srcdir)/'`libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/flock.c' object='libsysbase/libsysbase_libsysbase_a-flock.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-flock.o `test -f 'libsysbase/flock.c' || echo '$(srcdir)/'`libsysbase/flock.c ++ ++libsysbase/libsysbase_libsysbase_a-flock.obj: libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-flock.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo -c -o libsysbase/libsysbase_libsysbase_a-flock.obj `if test -f 'libsysbase/flock.c'; then $(CYGPATH_W) 'libsysbase/flock.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/flock.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/flock.c' object='libsysbase/libsysbase_libsysbase_a-flock.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-flock.obj `if test -f 'libsysbase/flock.c'; then $(CYGPATH_W) 'libsysbase/flock.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/flock.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fnmatch.o: libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fnmatch.c' object='libsysbase/libsysbase_libsysbase_a-fnmatch.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c ++ ++libsysbase/libsysbase_libsysbase_a-fnmatch.obj: libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.obj `if test -f 'libsysbase/fnmatch.c'; then $(CYGPATH_W) 'libsysbase/fnmatch.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fnmatch.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fnmatch.c' object='libsysbase/libsysbase_libsysbase_a-fnmatch.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.obj `if test -f 'libsysbase/fnmatch.c'; then $(CYGPATH_W) 'libsysbase/fnmatch.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fnmatch.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fork.o: libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fork.c' object='libsysbase/libsysbase_libsysbase_a-fork.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c ++ ++libsysbase/libsysbase_libsysbase_a-fork.obj: libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fork.c' object='libsysbase/libsysbase_libsysbase_a-fork.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fstat.o: libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fstat.c' object='libsysbase/libsysbase_libsysbase_a-fstat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c ++ ++libsysbase/libsysbase_libsysbase_a-fstat.obj: libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.obj `if test -f 'libsysbase/fstat.c'; then $(CYGPATH_W) 'libsysbase/fstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fstat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fstat.c' object='libsysbase/libsysbase_libsysbase_a-fstat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fstat.obj `if test -f 'libsysbase/fstat.c'; then $(CYGPATH_W) 'libsysbase/fstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fstat.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fsync.o: libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fsync.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fsync.o `test -f 'libsysbase/fsync.c' || echo '$(srcdir)/'`libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fsync.c' object='libsysbase/libsysbase_libsysbase_a-fsync.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fsync.o `test -f 'libsysbase/fsync.c' || echo '$(srcdir)/'`libsysbase/fsync.c ++ ++libsysbase/libsysbase_libsysbase_a-fsync.obj: libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fsync.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fsync.obj `if test -f 'libsysbase/fsync.c'; then $(CYGPATH_W) 'libsysbase/fsync.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fsync.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fsync.c' object='libsysbase/libsysbase_libsysbase_a-fsync.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fsync.obj `if test -f 'libsysbase/fsync.c'; then $(CYGPATH_W) 'libsysbase/fsync.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fsync.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-ftruncate.o: libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-ftruncate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.o `test -f 'libsysbase/ftruncate.c' || echo '$(srcdir)/'`libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/ftruncate.c' object='libsysbase/libsysbase_libsysbase_a-ftruncate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.o `test -f 'libsysbase/ftruncate.c' || echo '$(srcdir)/'`libsysbase/ftruncate.c ++ ++libsysbase/libsysbase_libsysbase_a-ftruncate.obj: libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-ftruncate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.obj `if test -f 'libsysbase/ftruncate.c'; then $(CYGPATH_W) 'libsysbase/ftruncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/ftruncate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/ftruncate.c' object='libsysbase/libsysbase_libsysbase_a-ftruncate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.obj `if test -f 'libsysbase/ftruncate.c'; then $(CYGPATH_W) 'libsysbase/ftruncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/ftruncate.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-getpid.o: libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getpid.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getpid.o `test -f 'libsysbase/getpid.c' || echo '$(srcdir)/'`libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getpid.c' object='libsysbase/libsysbase_libsysbase_a-getpid.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getpid.o `test -f 'libsysbase/getpid.c' || echo '$(srcdir)/'`libsysbase/getpid.c ++ ++libsysbase/libsysbase_libsysbase_a-getpid.obj: libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getpid.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getpid.obj `if test -f 'libsysbase/getpid.c'; then $(CYGPATH_W) 'libsysbase/getpid.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getpid.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getpid.c' object='libsysbase/libsysbase_libsysbase_a-getpid.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getpid.obj `if test -f 'libsysbase/getpid.c'; then $(CYGPATH_W) 'libsysbase/getpid.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getpid.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-getreent.o: libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getreent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getreent.o `test -f 'libsysbase/getreent.c' || echo '$(srcdir)/'`libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getreent.c' object='libsysbase/libsysbase_libsysbase_a-getreent.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getreent.o `test -f 'libsysbase/getreent.c' || echo '$(srcdir)/'`libsysbase/getreent.c ++ ++libsysbase/libsysbase_libsysbase_a-getreent.obj: libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getreent.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getreent.obj `if test -f 'libsysbase/getreent.c'; then $(CYGPATH_W) 'libsysbase/getreent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getreent.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getreent.c' object='libsysbase/libsysbase_libsysbase_a-getreent.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getreent.obj `if test -f 'libsysbase/getreent.c'; then $(CYGPATH_W) 'libsysbase/getreent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getreent.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-gettod.o: libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-gettod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-gettod.o `test -f 'libsysbase/gettod.c' || echo '$(srcdir)/'`libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/gettod.c' object='libsysbase/libsysbase_libsysbase_a-gettod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-gettod.o `test -f 'libsysbase/gettod.c' || echo '$(srcdir)/'`libsysbase/gettod.c ++ ++libsysbase/libsysbase_libsysbase_a-gettod.obj: libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-gettod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-gettod.obj `if test -f 'libsysbase/gettod.c'; then $(CYGPATH_W) 'libsysbase/gettod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/gettod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/gettod.c' object='libsysbase/libsysbase_libsysbase_a-gettod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-gettod.obj `if test -f 'libsysbase/gettod.c'; then $(CYGPATH_W) 'libsysbase/gettod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/gettod.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-handle_manager.o: libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-handle_manager.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.o `test -f 'libsysbase/handle_manager.c' || echo '$(srcdir)/'`libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/handle_manager.c' object='libsysbase/libsysbase_libsysbase_a-handle_manager.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.o `test -f 'libsysbase/handle_manager.c' || echo '$(srcdir)/'`libsysbase/handle_manager.c ++ ++libsysbase/libsysbase_libsysbase_a-handle_manager.obj: libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-handle_manager.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.obj `if test -f 'libsysbase/handle_manager.c'; then $(CYGPATH_W) 'libsysbase/handle_manager.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/handle_manager.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/handle_manager.c' object='libsysbase/libsysbase_libsysbase_a-handle_manager.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.obj `if test -f 'libsysbase/handle_manager.c'; then $(CYGPATH_W) 'libsysbase/handle_manager.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/handle_manager.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-iosupport.o: libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-iosupport.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo -c -o libsysbase/libsysbase_libsysbase_a-iosupport.o `test -f 'libsysbase/iosupport.c' || echo '$(srcdir)/'`libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/iosupport.c' object='libsysbase/libsysbase_libsysbase_a-iosupport.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-iosupport.o `test -f 'libsysbase/iosupport.c' || echo '$(srcdir)/'`libsysbase/iosupport.c ++ ++libsysbase/libsysbase_libsysbase_a-iosupport.obj: libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-iosupport.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo -c -o libsysbase/libsysbase_libsysbase_a-iosupport.obj `if test -f 'libsysbase/iosupport.c'; then $(CYGPATH_W) 'libsysbase/iosupport.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/iosupport.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/iosupport.c' object='libsysbase/libsysbase_libsysbase_a-iosupport.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-iosupport.obj `if test -f 'libsysbase/iosupport.c'; then $(CYGPATH_W) 'libsysbase/iosupport.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/iosupport.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-isatty.o: libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-isatty.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo -c -o libsysbase/libsysbase_libsysbase_a-isatty.o `test -f 'libsysbase/isatty.c' || echo '$(srcdir)/'`libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/isatty.c' object='libsysbase/libsysbase_libsysbase_a-isatty.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-isatty.o `test -f 'libsysbase/isatty.c' || echo '$(srcdir)/'`libsysbase/isatty.c ++ ++libsysbase/libsysbase_libsysbase_a-isatty.obj: libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-isatty.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo -c -o libsysbase/libsysbase_libsysbase_a-isatty.obj `if test -f 'libsysbase/isatty.c'; then $(CYGPATH_W) 'libsysbase/isatty.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/isatty.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/isatty.c' object='libsysbase/libsysbase_libsysbase_a-isatty.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-isatty.obj `if test -f 'libsysbase/isatty.c'; then $(CYGPATH_W) 'libsysbase/isatty.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/isatty.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-kill.o: libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-kill.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo -c -o libsysbase/libsysbase_libsysbase_a-kill.o `test -f 'libsysbase/kill.c' || echo '$(srcdir)/'`libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/kill.c' object='libsysbase/libsysbase_libsysbase_a-kill.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-kill.o `test -f 'libsysbase/kill.c' || echo '$(srcdir)/'`libsysbase/kill.c ++ ++libsysbase/libsysbase_libsysbase_a-kill.obj: libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-kill.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo -c -o libsysbase/libsysbase_libsysbase_a-kill.obj `if test -f 'libsysbase/kill.c'; then $(CYGPATH_W) 'libsysbase/kill.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/kill.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/kill.c' object='libsysbase/libsysbase_libsysbase_a-kill.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-kill.obj `if test -f 'libsysbase/kill.c'; then $(CYGPATH_W) 'libsysbase/kill.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/kill.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-link.o: libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-link.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo -c -o libsysbase/libsysbase_libsysbase_a-link.o `test -f 'libsysbase/link.c' || echo '$(srcdir)/'`libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/link.c' object='libsysbase/libsysbase_libsysbase_a-link.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-link.o `test -f 'libsysbase/link.c' || echo '$(srcdir)/'`libsysbase/link.c ++ ++libsysbase/libsysbase_libsysbase_a-link.obj: libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-link.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo -c -o libsysbase/libsysbase_libsysbase_a-link.obj `if test -f 'libsysbase/link.c'; then $(CYGPATH_W) 'libsysbase/link.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/link.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/link.c' object='libsysbase/libsysbase_libsysbase_a-link.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-link.obj `if test -f 'libsysbase/link.c'; then $(CYGPATH_W) 'libsysbase/link.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/link.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-lseek.o: libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lseek.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lseek.o `test -f 'libsysbase/lseek.c' || echo '$(srcdir)/'`libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lseek.c' object='libsysbase/libsysbase_libsysbase_a-lseek.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lseek.o `test -f 'libsysbase/lseek.c' || echo '$(srcdir)/'`libsysbase/lseek.c ++ ++libsysbase/libsysbase_libsysbase_a-lseek.obj: libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lseek.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lseek.obj `if test -f 'libsysbase/lseek.c'; then $(CYGPATH_W) 'libsysbase/lseek.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lseek.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lseek.c' object='libsysbase/libsysbase_libsysbase_a-lseek.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lseek.obj `if test -f 'libsysbase/lseek.c'; then $(CYGPATH_W) 'libsysbase/lseek.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lseek.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-lstat.o: libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lstat.o `test -f 'libsysbase/lstat.c' || echo '$(srcdir)/'`libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lstat.c' object='libsysbase/libsysbase_libsysbase_a-lstat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lstat.o `test -f 'libsysbase/lstat.c' || echo '$(srcdir)/'`libsysbase/lstat.c ++ ++libsysbase/libsysbase_libsysbase_a-lstat.obj: libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lstat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lstat.obj `if test -f 'libsysbase/lstat.c'; then $(CYGPATH_W) 'libsysbase/lstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lstat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lstat.c' object='libsysbase/libsysbase_libsysbase_a-lstat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lstat.obj `if test -f 'libsysbase/lstat.c'; then $(CYGPATH_W) 'libsysbase/lstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lstat.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-malloc_vars.o: libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-malloc_vars.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.o `test -f 'libsysbase/malloc_vars.c' || echo '$(srcdir)/'`libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/malloc_vars.c' object='libsysbase/libsysbase_libsysbase_a-malloc_vars.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.o `test -f 'libsysbase/malloc_vars.c' || echo '$(srcdir)/'`libsysbase/malloc_vars.c ++ ++libsysbase/libsysbase_libsysbase_a-malloc_vars.obj: libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-malloc_vars.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.obj `if test -f 'libsysbase/malloc_vars.c'; then $(CYGPATH_W) 'libsysbase/malloc_vars.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/malloc_vars.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/malloc_vars.c' object='libsysbase/libsysbase_libsysbase_a-malloc_vars.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.obj `if test -f 'libsysbase/malloc_vars.c'; then $(CYGPATH_W) 'libsysbase/malloc_vars.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/malloc_vars.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-mkdir.o: libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-mkdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-mkdir.o `test -f 'libsysbase/mkdir.c' || echo '$(srcdir)/'`libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/mkdir.c' object='libsysbase/libsysbase_libsysbase_a-mkdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.o `test -f 'libsysbase/mkdir.c' || echo '$(srcdir)/'`libsysbase/mkdir.c ++ ++libsysbase/libsysbase_libsysbase_a-mkdir.obj: libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-mkdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/mkdir.c' object='libsysbase/libsysbase_libsysbase_a-mkdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-pthread.o: libsysbase/pthread.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pthread.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pthread.o `test -f 'libsysbase/pthread.c' || echo '$(srcdir)/'`libsysbase/pthread.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pthread.c' object='libsysbase/libsysbase_libsysbase_a-pthread.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pthread.o `test -f 'libsysbase/pthread.c' || echo '$(srcdir)/'`libsysbase/pthread.c ++ ++libsysbase/libsysbase_libsysbase_a-pthread.obj: libsysbase/pthread.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pthread.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pthread.obj `if test -f 'libsysbase/pthread.c'; then $(CYGPATH_W) 'libsysbase/pthread.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pthread.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pthread.c' object='libsysbase/libsysbase_libsysbase_a-pthread.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pthread.obj `if test -f 'libsysbase/pthread.c'; then $(CYGPATH_W) 'libsysbase/pthread.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pthread.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-nanosleep.o: libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/nanosleep.c' object='libsysbase/libsysbase_libsysbase_a-nanosleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c ++ ++libsysbase/libsysbase_libsysbase_a-nanosleep.obj: libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.obj `if test -f 'libsysbase/nanosleep.c'; then $(CYGPATH_W) 'libsysbase/nanosleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/nanosleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/nanosleep.c' object='libsysbase/libsysbase_libsysbase_a-nanosleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.obj `if test -f 'libsysbase/nanosleep.c'; then $(CYGPATH_W) 'libsysbase/nanosleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/nanosleep.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-open.o: libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-open.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo -c -o libsysbase/libsysbase_libsysbase_a-open.o `test -f 'libsysbase/open.c' || echo '$(srcdir)/'`libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/open.c' object='libsysbase/libsysbase_libsysbase_a-open.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.o `test -f 'libsysbase/open.c' || echo '$(srcdir)/'`libsysbase/open.c ++ ++libsysbase/libsysbase_libsysbase_a-open.obj: libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-open.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/open.c' object='libsysbase/libsysbase_libsysbase_a-open.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-pathconf.o: libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pathconf.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pathconf.o `test -f 'libsysbase/pathconf.c' || echo '$(srcdir)/'`libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pathconf.c' object='libsysbase/libsysbase_libsysbase_a-pathconf.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pathconf.o `test -f 'libsysbase/pathconf.c' || echo '$(srcdir)/'`libsysbase/pathconf.c ++ ++libsysbase/libsysbase_libsysbase_a-pathconf.obj: libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pathconf.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pathconf.obj `if test -f 'libsysbase/pathconf.c'; then $(CYGPATH_W) 'libsysbase/pathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pathconf.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pathconf.c' object='libsysbase/libsysbase_libsysbase_a-pathconf.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pathconf.obj `if test -f 'libsysbase/pathconf.c'; then $(CYGPATH_W) 'libsysbase/pathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pathconf.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-read.o: libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/read.c' object='libsysbase/libsysbase_libsysbase_a-read.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c ++ ++libsysbase/libsysbase_libsysbase_a-read.obj: libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/read.c' object='libsysbase/libsysbase_libsysbase_a-read.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-rename.o: libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rename.c' object='libsysbase/libsysbase_libsysbase_a-rename.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c ++ ++libsysbase/libsysbase_libsysbase_a-rename.obj: libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.obj `if test -f 'libsysbase/rename.c'; then $(CYGPATH_W) 'libsysbase/rename.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rename.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rename.c' object='libsysbase/libsysbase_libsysbase_a-rename.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rename.obj `if test -f 'libsysbase/rename.c'; then $(CYGPATH_W) 'libsysbase/rename.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rename.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-rmdir.o: libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rmdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rmdir.o `test -f 'libsysbase/rmdir.c' || echo '$(srcdir)/'`libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rmdir.c' object='libsysbase/libsysbase_libsysbase_a-rmdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rmdir.o `test -f 'libsysbase/rmdir.c' || echo '$(srcdir)/'`libsysbase/rmdir.c ++ ++libsysbase/libsysbase_libsysbase_a-rmdir.obj: libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rmdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rmdir.obj `if test -f 'libsysbase/rmdir.c'; then $(CYGPATH_W) 'libsysbase/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rmdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rmdir.c' object='libsysbase/libsysbase_libsysbase_a-rmdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rmdir.obj `if test -f 'libsysbase/rmdir.c'; then $(CYGPATH_W) 'libsysbase/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rmdir.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-sbrk.o: libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sbrk.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sbrk.o `test -f 'libsysbase/sbrk.c' || echo '$(srcdir)/'`libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sbrk.c' object='libsysbase/libsysbase_libsysbase_a-sbrk.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sbrk.o `test -f 'libsysbase/sbrk.c' || echo '$(srcdir)/'`libsysbase/sbrk.c ++ ++libsysbase/libsysbase_libsysbase_a-sbrk.obj: libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sbrk.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sbrk.obj `if test -f 'libsysbase/sbrk.c'; then $(CYGPATH_W) 'libsysbase/sbrk.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sbrk.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sbrk.c' object='libsysbase/libsysbase_libsysbase_a-sbrk.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sbrk.obj `if test -f 'libsysbase/sbrk.c'; then $(CYGPATH_W) 'libsysbase/sbrk.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sbrk.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-scandir.o: libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-scandir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-scandir.o `test -f 'libsysbase/scandir.c' || echo '$(srcdir)/'`libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/scandir.c' object='libsysbase/libsysbase_libsysbase_a-scandir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-scandir.o `test -f 'libsysbase/scandir.c' || echo '$(srcdir)/'`libsysbase/scandir.c ++ ++libsysbase/libsysbase_libsysbase_a-scandir.obj: libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-scandir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-scandir.obj `if test -f 'libsysbase/scandir.c'; then $(CYGPATH_W) 'libsysbase/scandir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/scandir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/scandir.c' object='libsysbase/libsysbase_libsysbase_a-scandir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-scandir.obj `if test -f 'libsysbase/scandir.c'; then $(CYGPATH_W) 'libsysbase/scandir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/scandir.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-sleep.o: libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sleep.o `test -f 'libsysbase/sleep.c' || echo '$(srcdir)/'`libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sleep.c' object='libsysbase/libsysbase_libsysbase_a-sleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sleep.o `test -f 'libsysbase/sleep.c' || echo '$(srcdir)/'`libsysbase/sleep.c ++ ++libsysbase/libsysbase_libsysbase_a-sleep.obj: libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sleep.obj `if test -f 'libsysbase/sleep.c'; then $(CYGPATH_W) 'libsysbase/sleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sleep.c' object='libsysbase/libsysbase_libsysbase_a-sleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sleep.obj `if test -f 'libsysbase/sleep.c'; then $(CYGPATH_W) 'libsysbase/sleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sleep.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-stat.o: libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-stat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-stat.o `test -f 'libsysbase/stat.c' || echo '$(srcdir)/'`libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/stat.c' object='libsysbase/libsysbase_libsysbase_a-stat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-stat.o `test -f 'libsysbase/stat.c' || echo '$(srcdir)/'`libsysbase/stat.c ++ ++libsysbase/libsysbase_libsysbase_a-stat.obj: libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-stat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-stat.obj `if test -f 'libsysbase/stat.c'; then $(CYGPATH_W) 'libsysbase/stat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/stat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/stat.c' object='libsysbase/libsysbase_libsysbase_a-stat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-stat.obj `if test -f 'libsysbase/stat.c'; then $(CYGPATH_W) 'libsysbase/stat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/stat.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-statvfs.o: libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-statvfs.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo -c -o libsysbase/libsysbase_libsysbase_a-statvfs.o `test -f 'libsysbase/statvfs.c' || echo '$(srcdir)/'`libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/statvfs.c' object='libsysbase/libsysbase_libsysbase_a-statvfs.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.o `test -f 'libsysbase/statvfs.c' || echo '$(srcdir)/'`libsysbase/statvfs.c ++ ++libsysbase/libsysbase_libsysbase_a-statvfs.obj: libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-statvfs.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/statvfs.c' object='libsysbase/libsysbase_libsysbase_a-statvfs.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-syscall_support.o: libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/syscall_support.c' object='libsysbase/libsysbase_libsysbase_a-syscall_support.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c ++ ++libsysbase/libsysbase_libsysbase_a-syscall_support.obj: libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.obj `if test -f 'libsysbase/syscall_support.c'; then $(CYGPATH_W) 'libsysbase/syscall_support.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/syscall_support.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/syscall_support.c' object='libsysbase/libsysbase_libsysbase_a-syscall_support.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.obj `if test -f 'libsysbase/syscall_support.c'; then $(CYGPATH_W) 'libsysbase/syscall_support.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/syscall_support.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-times.o: libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-times.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo -c -o libsysbase/libsysbase_libsysbase_a-times.o `test -f 'libsysbase/times.c' || echo '$(srcdir)/'`libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/times.c' object='libsysbase/libsysbase_libsysbase_a-times.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-times.o `test -f 'libsysbase/times.c' || echo '$(srcdir)/'`libsysbase/times.c ++ ++libsysbase/libsysbase_libsysbase_a-times.obj: libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-times.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo -c -o libsysbase/libsysbase_libsysbase_a-times.obj `if test -f 'libsysbase/times.c'; then $(CYGPATH_W) 'libsysbase/times.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/times.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/times.c' object='libsysbase/libsysbase_libsysbase_a-times.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-times.obj `if test -f 'libsysbase/times.c'; then $(CYGPATH_W) 'libsysbase/times.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/times.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-truncate.o: libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-truncate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-truncate.o `test -f 'libsysbase/truncate.c' || echo '$(srcdir)/'`libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/truncate.c' object='libsysbase/libsysbase_libsysbase_a-truncate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-truncate.o `test -f 'libsysbase/truncate.c' || echo '$(srcdir)/'`libsysbase/truncate.c ++ ++libsysbase/libsysbase_libsysbase_a-truncate.obj: libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-truncate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-truncate.obj `if test -f 'libsysbase/truncate.c'; then $(CYGPATH_W) 'libsysbase/truncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/truncate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/truncate.c' object='libsysbase/libsysbase_libsysbase_a-truncate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-truncate.obj `if test -f 'libsysbase/truncate.c'; then $(CYGPATH_W) 'libsysbase/truncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/truncate.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-unlink.o: libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-unlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-unlink.o `test -f 'libsysbase/unlink.c' || echo '$(srcdir)/'`libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/unlink.c' object='libsysbase/libsysbase_libsysbase_a-unlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-unlink.o `test -f 'libsysbase/unlink.c' || echo '$(srcdir)/'`libsysbase/unlink.c ++ ++libsysbase/libsysbase_libsysbase_a-unlink.obj: libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-unlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-unlink.obj `if test -f 'libsysbase/unlink.c'; then $(CYGPATH_W) 'libsysbase/unlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/unlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/unlink.c' object='libsysbase/libsysbase_libsysbase_a-unlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-unlink.obj `if test -f 'libsysbase/unlink.c'; then $(CYGPATH_W) 'libsysbase/unlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/unlink.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-usleep.o: libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-usleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-usleep.o `test -f 'libsysbase/usleep.c' || echo '$(srcdir)/'`libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/usleep.c' object='libsysbase/libsysbase_libsysbase_a-usleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-usleep.o `test -f 'libsysbase/usleep.c' || echo '$(srcdir)/'`libsysbase/usleep.c ++ ++libsysbase/libsysbase_libsysbase_a-usleep.obj: libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-usleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-usleep.obj `if test -f 'libsysbase/usleep.c'; then $(CYGPATH_W) 'libsysbase/usleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/usleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/usleep.c' object='libsysbase/libsysbase_libsysbase_a-usleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-usleep.obj `if test -f 'libsysbase/usleep.c'; then $(CYGPATH_W) 'libsysbase/usleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/usleep.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-utime.o: libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-utime.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo -c -o libsysbase/libsysbase_libsysbase_a-utime.o `test -f 'libsysbase/utime.c' || echo '$(srcdir)/'`libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/utime.c' object='libsysbase/libsysbase_libsysbase_a-utime.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-utime.o `test -f 'libsysbase/utime.c' || echo '$(srcdir)/'`libsysbase/utime.c ++ ++libsysbase/libsysbase_libsysbase_a-utime.obj: libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-utime.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo -c -o libsysbase/libsysbase_libsysbase_a-utime.obj `if test -f 'libsysbase/utime.c'; then $(CYGPATH_W) 'libsysbase/utime.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/utime.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/utime.c' object='libsysbase/libsysbase_libsysbase_a-utime.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-utime.obj `if test -f 'libsysbase/utime.c'; then $(CYGPATH_W) 'libsysbase/utime.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/utime.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-wait.o: libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-wait.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo -c -o libsysbase/libsysbase_libsysbase_a-wait.o `test -f 'libsysbase/wait.c' || echo '$(srcdir)/'`libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/wait.c' object='libsysbase/libsysbase_libsysbase_a-wait.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-wait.o `test -f 'libsysbase/wait.c' || echo '$(srcdir)/'`libsysbase/wait.c ++ ++libsysbase/libsysbase_libsysbase_a-wait.obj: libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-wait.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo -c -o libsysbase/libsysbase_libsysbase_a-wait.obj `if test -f 'libsysbase/wait.c'; then $(CYGPATH_W) 'libsysbase/wait.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/wait.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/wait.c' object='libsysbase/libsysbase_libsysbase_a-wait.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-wait.obj `if test -f 'libsysbase/wait.c'; then $(CYGPATH_W) 'libsysbase/wait.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/wait.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-write.o: libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-write.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo -c -o libsysbase/libsysbase_libsysbase_a-write.o `test -f 'libsysbase/write.c' || echo '$(srcdir)/'`libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/write.c' object='libsysbase/libsysbase_libsysbase_a-write.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-write.o `test -f 'libsysbase/write.c' || echo '$(srcdir)/'`libsysbase/write.c ++ ++libsysbase/libsysbase_libsysbase_a-write.obj: libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-write.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo -c -o libsysbase/libsysbase_libsysbase_a-write.obj `if test -f 'libsysbase/write.c'; then $(CYGPATH_W) 'libsysbase/write.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/write.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/write.c' object='libsysbase/libsysbase_libsysbase_a-write.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-write.obj `if test -f 'libsysbase/write.c'; then $(CYGPATH_W) 'libsysbase/write.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/write.c'; fi` ++ + nios2/nios2_libnios2_a-io-close.o: nios2/io-close.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(nios2_libnios2_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nios2/nios2_libnios2_a-io-close.o -MD -MP -MF nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo -c -o nios2/nios2_libnios2_a-io-close.o `test -f 'nios2/io-close.c' || echo '$(srcdir)/'`nios2/io-close.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Po +@@ -4220,6 +5223,8 @@ distclean-generic: + -rm -f iq2000/$(am__dirstamp) + -rm -f libnosys/$(DEPDIR)/$(am__dirstamp) + -rm -f libnosys/$(am__dirstamp) ++ -rm -f libsysbase/$(DEPDIR)/$(am__dirstamp) ++ -rm -f libsysbase/$(am__dirstamp) + -rm -f lm32/$(DEPDIR)/$(am__dirstamp) + -rm -f lm32/$(am__dirstamp) + -rm -f nios2/$(DEPDIR)/$(am__dirstamp) +@@ -4239,7 +5244,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ + + distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) +- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) ++ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-local distclean-tags +@@ -4382,7 +5387,7 @@ installcheck-am: + maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache +- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) ++ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-aminfo \ + maintainer-clean-generic maintainer-clean-local diff --git a/libgloss/configure b/libgloss/configure -index e70c57d89..ac5c745f9 100755 +index 28754b6d5..2e04092ab 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -2787,6 +2787,8 @@ if test "${config_libnosys}" = "true"; then +@@ -638,6 +638,8 @@ CONFIG_NIOS2_FALSE + CONFIG_NIOS2_TRUE + CONFIG_LM32_FALSE + CONFIG_LM32_TRUE ++CONFIG_LIBSYSBASE_FALSE ++CONFIG_LIBSYSBASE_TRUE + CONFIG_LIBNOSYS_FALSE + CONFIG_LIBNOSYS_TRUE + CONFIG_IQ2000_FALSE +@@ -722,6 +724,7 @@ infodir + docdir + oldincludedir + includedir ++runstatedir + localstatedir + sharedstatedir + sysconfdir +@@ -800,6 +803,7 @@ datadir='${datarootdir}' + sysconfdir='${prefix}/etc' + sharedstatedir='${prefix}/com' + localstatedir='${prefix}/var' ++runstatedir='${localstatedir}/run' + includedir='${prefix}/include' + oldincludedir='/usr/include' + docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +@@ -1052,6 +1056,15 @@ do + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; ++ -runstatedir | --runstatedir | --runstatedi | --runstated \ ++ | --runstate | --runstat | --runsta | --runst | --runs \ ++ | --run | --ru | --r) ++ ac_prev=runstatedir ;; ++ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ ++ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ ++ | --run=* | --ru=* | --r=*) ++ runstatedir=$ac_optarg ;; ++ + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ +@@ -1189,7 +1202,7 @@ fi + for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ +- libdir localedir mandir ++ libdir localedir mandir runstatedir + do + eval ac_val=\$$ac_var + # Remove trailing slashes. +@@ -1342,6 +1355,7 @@ Fine tuning of the installation directories: + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] +@@ -2745,6 +2759,8 @@ config_testsuite=true + + config_libnosys=true + ++config_libsysbase=true ++ + host_makefile_frag=${srcdir}/config/default.mh + target_makefile_frag=${srcdir}/config/default.mt + +@@ -3047,6 +3063,14 @@ else + CONFIG_LIBNOSYS_FALSE= fi -+subdirs="$subdirs libsysbase" ++ if test x$config_libsysbase = xtrue; then ++ CONFIG_LIBSYSBASE_TRUE= ++ CONFIG_LIBSYSBASE_FALSE='#' ++else ++ CONFIG_LIBSYSBASE_TRUE='#' ++ CONFIG_LIBSYSBASE_FALSE= ++fi + - DEPDIR="${am__leading_dot}deps" + if test x$config_lm32 = xtrue; then + CONFIG_LM32_TRUE= + CONFIG_LM32_FALSE='#' +@@ -4924,6 +4948,35 @@ case "${target}" in + esac - ac_config_commands="$ac_config_commands depfiles" + ++case "${target}" in ++ *-*-cygwin*) ;; ++ a29k-amd-udi) ;; ++ aarch64*-*-*) ;; ++ arc-*-*) ;; ++ arm*-*-*) ;; ++ bfin-*-*) ;; ++ cris-*-* | crisv32-*-*) ;; ++ d10v*) ;; ++ h8300*-*-*) ;; ++ h8500-*-*) ;; ++ i345686-*-sco*) ;; ++ lm32-*-*) ;; ++ m32r-*-*) ;; ++ mn10?00-*-*) ;; ++ riscv*-*-*) ;; ++ powerpcle-*-pe) ;; ++ sh*-*-*) ;; ++ sparc-sun-sunos*) ;; ++ sparc64-*-*) ;; ++ v850*-*-*) ;; ++ w65-*-*) ;; ++ xstormy16-*-*) ;; ++ z8k-*-*) ;; ++ *) ++$as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h ++ ;; ++esac ++ + case "${target}" in + *-*-cygwin*) ;; + a29k-amd-udi) ;; +@@ -5331,6 +5384,10 @@ if test -z "${CONFIG_LIBNOSYS_TRUE}" && test -z "${CONFIG_LIBNOSYS_FALSE}"; then + as_fn_error $? "conditional \"CONFIG_LIBNOSYS\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 + fi ++if test -z "${CONFIG_LIBSYSBASE_TRUE}" && test -z "${CONFIG_LIBSYSBASE_FALSE}"; then ++ as_fn_error $? "conditional \"CONFIG_LIBSYSBASE\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi + if test -z "${CONFIG_LM32_TRUE}" && test -z "${CONFIG_LM32_FALSE}"; then + as_fn_error $? "conditional \"CONFIG_LM32\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff --git a/libgloss/configure.ac b/libgloss/configure.ac -index 0fbe99526..577dfdec6 100644 +index 5fb26845c..cf07fb118 100644 --- a/libgloss/configure.ac +++ b/libgloss/configure.ac -@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. - AC_PREREQ(2.69)dnl - AC_INIT([libgloss],[LIBGLOSS_VERSION]) - AC_CONFIG_SRCDIR([libnosys]) -+AC_CONFIG_SRCDIR([libsysbase]) +@@ -43,6 +43,9 @@ config_testsuite=true + dnl indicates whether to run configure within the libnosys subdirectory + config_libnosys=true - if test "${enable_shared}" = "yes" ; then - echo "Shared libraries not supported for cross compiling, ignored" -@@ -196,6 +197,7 @@ dnl fi - if test "${config_libnosys}" = "true"; then - AC_CONFIG_SUBDIRS([libnosys]) - fi -+AC_CONFIG_SUBDIRS(libsysbase) ++dnl indicates whether to run configure within the libsysbase subdirectory ++config_libsysbase=true ++ + host_makefile_frag=${srcdir}/config/default.mh + target_makefile_frag=${srcdir}/config/default.mt - LIB_AC_PROG_CC - AS=${AS-as} -diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in +@@ -247,7 +250,7 @@ AC_SUBST(subdirs) + dnl These subdirs have converted to non-recursive make. Hopefully someday all + dnl the ports above will too! + m4_foreach_w([SUBDIR], [ +- aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 nios2 riscv wince ++ aarch64 arc arm bfin csky d30v iq2000 libnosys libsysbase lm32 nios2 riscv wince + ], [dnl + AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue) + ]) +@@ -343,6 +346,7 @@ m4_include([aarch64/acinclude.m4]) + m4_include([arm/acinclude.m4]) + m4_include([i386/acinclude.m4]) + m4_include([libnosys/acinclude.m4]) ++m4_include([libsysbase/acinclude.m4]) + m4_include([m68k/acinclude.m4]) + m4_include([mcore/acinclude.m4]) + m4_include([mips/acinclude.m4]) +diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc new file mode 100644 -index 000000000..3db0c08bc +index 000000000..7d4398d6a --- /dev/null -+++ b/libgloss/libsysbase/Makefile.in -@@ -0,0 +1,151 @@ -+# Copyright (c) 1998 Cygnus Support -+# -+# The authors hereby grant permission to use, copy, modify, distribute, -+# and license this software and its documentation for any purpose, provided -+# that existing copyright notices are retained in all copies and that this -+# notice is included verbatim in any distributions. No written agreement, -+# license, or royalty fee is required for any of the authorized uses. -+# Modifications to this software may be copyrighted by their authors -+# and need not follow the licensing terms described here, provided that -+# the new terms are clearly indicated on the first page of each file where -+# they apply. -+ -+DESTDIR = -+VPATH = @srcdir@ -+srcdir = @srcdir@ -+objdir = . -+srcroot = $(srcdir)/../.. -+objroot = $(objdir)/../.. -+ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+host_alias = @host_alias@ -+target_alias = @target_alias@ -+program_transform_name = @program_transform_name@ -+ -+bindir = @bindir@ -+libdir = @libdir@ -+tooldir = $(exec_prefix)/$(target_alias) -+ -+# Multilib support variables. -+# TOP is used instead of MULTI{BUILD,SRC}TOP. -+MULTIDIRS = -+MULTISUBDIR = -+MULTIDO = true -+MULTICLEAN = true -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+ -+SHELL = /bin/sh -+ -+CC = @CC@ -+ -+#AS = @AS@ -+AS = `if [ -f ${objroot}/../gas/as.new ] ; \ -+ then echo ${objroot}/../gas/as.new ; \ -+ else echo as ; fi` -+ -+AR = @AR@ -+ -+#LD = @LD@ -+LD = `if [ -f ${objroot}/../ld/ld.new ] ; \ -+ then echo ${objroot}/../ld/ld.new ; \ -+ else echo ld ; fi` -+ -+RANLIB = @RANLIB@ -+ -+OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \ -+ then echo ${objroot}/../binutils/objdump ; \ -+ else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi` -+OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \ -+ then echo ${objroot}/../binutils/objcopy ; \ -+ else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi` -+ -+# object files needed -+OBJS = abort.o iosupport.o clocks.o close.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ -+ isatty.o kill.o link.o lseek.o lstat.o nanosleep.o open.o read.o sbrk.o sleep.o stat.o usleep.o times.o \ -+ unlink.o wait.o write.o _exit.o malloc_vars.o \ -+ chdir.o mkdir.o rename.o statvfs.o \ -+ flock.o locks.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ -+ fchmod.o chmod.o getreent.o rmdir.o utime.o scandir.o fnmatch.o pthread.o -+ -+# Object files specific to particular targets. -+EVALOBJS = ${OBJS} -+ -+GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \ -+ then echo -L${objroot}/../gcc ; fi` -+ -+OUTPUTS = libsysbase.a libpthread.a -+ -+NEWLIB_CFLAGS = `if [ -d ${objroot}/newlib ]; then echo -I${objroot}/newlib/targ-include -I${srcroot}/newlib/libc/include; fi` -+NEWLIB_LDFLAGS = `if [ -d ${objroot}/newlib ]; then echo -B${objroot}/newlib/ -L${objroot}/newlib/; fi` -+ -+INCLUDES = -I. -I$(srcdir)/.. -+# Note that when building the library, ${MULTILIB} is not the way multilib -+# options are passed; they're passed in $(CFLAGS). -+CFLAGS_FOR_TARGET = ${MULTILIB} ${INCLUDES} ${NEWLIB_CFLAGS} -+LDFLAGS_FOR_TARGET = ${MULTILIB} ${NEWLIB_LDFLAGS} -+AR_FLAGS = qc -+ -+.c.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -O2 -D_BUILDING_LIBSYSBASE $(INCLUDES) -c $(CFLAGS) $< -+ -+.C.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -O2 -D_BUILDING_LIBSYSBASE $(INCLUDES) -c $(CFLAGS) $< -+.s.o: -+ $(AS) $(ASFLAGS_FOR_TARGET) $(INCLUDES) $(ASFLAGS) -o $*.o $< -+ -+# -+# GCC knows to run the preprocessor on .S files before it assembles them. -+# -+.S.o: -+ $(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< -+ -+# -+# this is a bogus target that'll produce an assembler from the -+# C source with the right compiler options. this is so we can -+# track down code generation or debug symbol bugs. -+# -+.c.s: -+ $(CC) $(CFLAGS_FOR_TARGET) -S $(INCLUDES) $(CFLAGS) $< -+ -+all: ${OUTPUTS} -+ -+# -+# here's where we build the library for each target -+# -+ -+libsysbase.a: $(EVALOBJS) -+ ${AR} ${ARFLAGS} $@ $(EVALOBJS) -+ ${RANLIB} $@ -+ -+libpthread.a: -+ ${AR} rc $@ -+ -+doc: -+ -+clean mostlyclean: -+ rm -f $(OUTPUTS) *.i *~ *.o *-test *.srec *.dis *.map *.x -+ -+distclean maintainer-clean realclean: clean -+ rm -f Makefile config.status $(OUTPUTS) -+ -+.PHONY: install info install-info clean-info -+install: -+ @for outputs in ${OUTPUTS}; do\ -+ mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ -+ $(INSTALL_PROGRAM) $${outputs} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ -+ done -+ -+info: -+install-info: -+clean-info: -+ -+Makefile: Makefile.in config.status @host_makefile_frag_path@ -+ $(SHELL) config.status -+ -+config.status: configure -+ $(SHELL) config.status --recheck ++++ b/libgloss/libsysbase/Makefile.inc +@@ -0,0 +1,61 @@ ++multilibtool_DATA += %D%/sysbase.specs ++ ++multilibtool_LIBRARIES += %D%/libpthread.a ++ ++%C%_libpthread_a_SOURCES = \ ++ %D%/dummy.c ++ ++multilibtool_LIBRARIES += %D%/libsysbase.a ++ ++ ++%C%_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE ++ ++%C%_libsysbase_a_SOURCES = \ ++ %D%/_exit.c \ ++ %D%/abort.c \ ++ %D%/build_argv.c \ ++ %D%/chdir.c \ ++ %D%/chmod.c \ ++ %D%/clocks.c \ ++ %D%/dirent.c \ ++ %D%/environ.c \ ++ %D%/execve.c \ ++ %D%/fchmod.c \ ++ %D%/flock.c \ ++ %D%/fnmatch.c \ ++ %D%/fork.c \ ++ %D%/fstat.c \ ++ %D%/fsync.c \ ++ %D%/ftruncate.c \ ++ %D%/getpid.c \ ++ %D%/getreent.c \ ++ %D%/gettod.c \ ++ %D%/handle_manager.c \ ++ %D%/iosupport.c \ ++ %D%/isatty.c \ ++ %D%/kill.c \ ++ %D%/link.c \ ++ %D%/lseek.c \ ++ %D%/lstat.c \ ++ %D%/malloc_vars.c \ ++ %D%/mkdir.c \ ++ %D%/pthread.c \ ++ %D%/nanosleep.c \ ++ %D%/open.c \ ++ %D%/pathconf.c \ ++ %D%/read.c \ ++ %D%/rename.c \ ++ %D%/rmdir.c \ ++ %D%/sbrk.c \ ++ %D%/scandir.c \ ++ %D%/sleep.c \ ++ %D%/stat.c \ ++ %D%/statvfs.c \ ++ %D%/syscall_support.c \ ++ %D%/times.c \ ++ %D%/truncate.c \ ++ %D%/unlink.c \ ++ %D%/usleep.c \ ++ %D%/utime.c \ ++ %D%/wait.c \ ++ %D%/write.c diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c new file mode 100644 -index 000000000..6effb1105 +index 000000000..a45723f84 --- /dev/null +++ b/libgloss/libsysbase/_exit.c -@@ -0,0 +1,17 @@ +@@ -0,0 +1,16 @@ +/* Stub version of _exit. */ + +#include @@ -204,7 +1443,6 @@ index 000000000..6effb1105 + +void _exit(int rc) +{ -+ + if ( __has_syscall(exit) ) { + __syscall_exit(rc); + } @@ -260,424 +1498,145 @@ index 000000000..200ea7873 + +/* symbol prefix */ +#undef __SYMBOL_PREFIX -diff --git a/libgloss/libsysbase/aclocal.m4 b/libgloss/libsysbase/aclocal.m4 +diff --git a/libgloss/libsysbase/acinclude.m4 b/libgloss/libsysbase/acinclude.m4 new file mode 100644 -index 000000000..b6cdfaeb8 +index 000000000..7b0d7b4d6 --- /dev/null -+++ b/libgloss/libsysbase/aclocal.m4 -@@ -0,0 +1,344 @@ -+# generated automatically by aclocal 1.9.5 -*- Autoconf -*- -+ -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -+# 2005 Free Software Foundation, Inc. -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. ++++ b/libgloss/libsysbase/acinclude.m4 +@@ -0,0 +1,27 @@ ++dnl Make sure syscall names match those being used by newlib ++case "${target}" in ++ *-*-cygwin*) ;; ++ a29k-amd-udi) ;; ++ aarch64*-*-*) ;; ++ arc-*-*) ;; ++ arm*-*-*) ;; ++ bfin-*-*) ;; ++ cris-*-* | crisv32-*-*) ;; ++ d10v*) ;; ++ h8300*-*-*) ;; ++ h8500-*-*) ;; ++ i[3456]86-*-sco*) ;; ++ lm32-*-*) ;; ++ m32r-*-*) ;; ++ mn10?00-*-*) ;; ++ riscv*-*-*) ;; ++ powerpcle-*-pe) ;; ++ sh*-*-*) ;; ++ sparc-sun-sunos*) ;; ++ sparc64-*-*) ;; ++ v850*-*-*) ;; ++ w65-*-*) ;; ++ xstormy16-*-*) ;; ++ z8k-*-*) ;; ++ *) AC_DEFINE(MISSING_SYSCALL_NAMES, 1, [Missing syscall names]) ;; ++esac +diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c +new file mode 100644 +index 000000000..0697f53d2 +--- /dev/null ++++ b/libgloss/libsysbase/build_argv.c +@@ -0,0 +1,32 @@ ++struct __argv { ++ int argvMagic; ++ char *commandLine; ++ int length; ++ int argc; ++ char **argv; ++ char **endARGV; ++}; + -+# AM_CONDITIONAL -*- Autoconf -*- + -+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 7 -+ -+# AM_CONDITIONAL(NAME, SHELL-CONDITION) -+# ------------------------------------- -+# Define a conditional. -+AC_DEFUN([AM_CONDITIONAL], -+[AC_PREREQ(2.52)dnl -+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], -+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -+AC_SUBST([$1_TRUE]) -+AC_SUBST([$1_FALSE]) -+if $2; then -+ $1_TRUE= -+ $1_FALSE='#' -+else -+ $1_TRUE='#' -+ $1_FALSE= -+fi -+AC_CONFIG_COMMANDS_PRE( -+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then -+ AC_MSG_ERROR([[conditional "$1" was never defined. -+Usually this means the macro was only invoked conditionally.]]) -+fi])]) ++void build_argv (struct __argv* argstruct ) { + ++ char *data = argstruct->commandLine; ++ int len = argstruct->length; + -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. ++ char** argv = (char**)(((int)data + len + sizeof(char **)) & ~(sizeof(char **)-1)); ++ char* end = data + len - 1; ++ int argCount = 0; + -+# serial 8 ++ do { ++ argv[argCount++] = data; // Add next arg to argv list ++ while (*(data) && data < end) data++; // Move to next NULL delimiter ++ data++; // Move to one after the NULL delimiter ++ } while (data < end); + -+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -+# written in clear, in which case automake, when reading aclocal.m4, -+# will think it sees a *use*, and therefore will trigger all it's -+# C support machinery. Also note that it means that autoscan, seeing -+# CC etc. in the Makefile, will ask for an AC_PROG_CC use... ++ *end = '\0'; // Force NULL terminator for last arg ++ argv[argCount] = 0; // Force NULL terminator for argv + ++ argstruct->argv = argv; ++ argstruct->argc = argCount; ++ argstruct->endARGV = &argv[argCount + 1]; ++} +diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c +new file mode 100644 +index 000000000..b94f6a8b4 +--- /dev/null ++++ b/libgloss/libsysbase/chdir.c +@@ -0,0 +1,200 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + -+# _AM_DEPENDENCIES(NAME) -+# ---------------------- -+# See how the compiler implements dependency checking. -+# NAME is "CC", "CXX", "GCJ", or "OBJC". -+# We try a few techniques and use that to set a single cache variable. -+# -+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -+# dependency, and given that the user is not expected to run this macro, -+# just rely on AC_PROG_CC. -+AC_DEFUN([_AM_DEPENDENCIES], -+[AC_REQUIRE([AM_SET_DEPDIR])dnl -+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -+AC_REQUIRE([AM_MAKE_INCLUDE])dnl -+AC_REQUIRE([AM_DEP_TRACK])dnl -+ -+ifelse([$1], CC, [depcc="$CC" am_compiler_list=], -+ [$1], CXX, [depcc="$CXX" am_compiler_list=], -+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], -+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], -+ [depcc="$$1" am_compiler_list=]) -+ -+AC_CACHE_CHECK([dependency style of $depcc], -+ [am_cv_$1_dependencies_compiler_type], -+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub ++/* CWD always start with "/" */ ++static char _current_working_directory [PATH_MAX] = "/"; ++static char temp_cwd [PATH_MAX]; + -+ am_cv_$1_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` -+ fi -+ for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf ++#define DIRECTORY_SEPARATOR_CHAR '/' ++const char DIRECTORY_SEPARATOR[] = "/"; ++const char DIRECTORY_THIS[] = "."; ++const char DIRECTORY_PARENT[] = ".."; + -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_$1_dependencies_compiler_type=$depmode -+ break -+ fi -+ fi -+ done ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; + -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_$1_dependencies_compiler_type=none -+fi -+]) -+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -+AM_CONDITIONAL([am__fastdep$1], [ -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -+]) ++ pathLength = strnlen (path, maxLength); + ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } + -+# AM_SET_DEPDIR -+# ------------- -+# Choose a directory name for dependency files. -+# This macro is AC_REQUIREd in _AM_DEPENDENCIES -+AC_DEFUN([AM_SET_DEPDIR], -+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -+]) -+ -+ -+# AM_DEP_TRACK -+# ------------ -+AC_DEFUN([AM_DEP_TRACK], -+[AC_ARG_ENABLE(dependency-tracking, -+[ --disable-dependency-tracking speeds up one-time build -+ --enable-dependency-tracking do not reject slow dependency extractors]) -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi -+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -+AC_SUBST([AMDEPBACKSLASH]) -+]) ++ extraEnd = extra; + -+# Generate code to set up dependency tracking. -*- Autoconf -*- ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } + -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } + -+#serial 3 -+ -+# _AM_OUTPUT_DEPENDENCY_COMMANDS -+# ------------------------------ -+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -+[for mf in $CONFIG_FILES; do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # So let's grep whole file. -+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -+ dirpart=`AS_DIRNAME("$mf")` -+ else -+ continue -+ fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`AS_DIRNAME(["$file"])` -+ AS_MKDIR_P([$dirpart/$fdir]) -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done -+done -+])# _AM_OUTPUT_DEPENDENCY_COMMANDS -+ -+ -+# AM_OUTPUT_DEPENDENCY_COMMANDS -+# ----------------------------- -+# This macro should only be invoked once -- use via AC_REQUIRE. -+# -+# This code is only required when automatic dependency tracking -+# is enabled. FIXME. This creates each `.P' file that we will -+# need in order to bootstrap the dependency handling code. -+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -+[AC_CONFIG_COMMANDS([depfiles], -+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], -+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -+]) -+ -+# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 2 -+ -+# Check whether the underlying file-system supports filenames -+# with a leading dot. For instance MS-DOS doesn't. -+AC_DEFUN([AM_SET_LEADING_DOT], -+[rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+ am__leading_dot=. -+else -+ am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null -+AC_SUBST([am__leading_dot])]) -+ -+# Check to see how 'make' treats includes. -*- Autoconf -*- -+ -+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 3 -+ -+# AM_MAKE_INCLUDE() -+# ----------------- -+# Check to see how make treats includes. -+AC_DEFUN([AM_MAKE_INCLUDE], -+[am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+ @echo done -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+AC_MSG_CHECKING([for style of include used by $am_make]) -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ fi -+fi -+AC_SUBST([am__include]) -+AC_SUBST([am__quote]) -+AC_MSG_RESULT([$_am_result]) -+rm -f confinc confmf -+]) -+ -+m4_include([../acinclude.m4]) -diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c -new file mode 100644 -index 000000000..b94f6a8b4 ---- /dev/null -+++ b/libgloss/libsysbase/chdir.c -@@ -0,0 +1,200 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* CWD always start with "/" */ -+static char _current_working_directory [PATH_MAX] = "/"; -+static char temp_cwd [PATH_MAX]; -+ -+#define DIRECTORY_SEPARATOR_CHAR '/' -+const char DIRECTORY_SEPARATOR[] = "/"; -+const char DIRECTORY_THIS[] = "."; -+const char DIRECTORY_PARENT[] = ".."; -+ -+int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { -+ char *pathEnd; -+ int pathLength; -+ const char *extraEnd; -+ int extraSize; -+ -+ pathLength = strnlen (path, maxLength); -+ -+ /* assumes path ends in a directory separator */ -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ pathEnd = path + pathLength; -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd += 1; -+ } -+ -+ extraEnd = extra; -+ -+ /* If the extra bit starts with a slash, start at root */ -+ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; -+ pathEnd[0] = '\0'; -+ } -+ do { -+ /* Advance past any separators in extra */ -+ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ extra += 1; -+ } -+ -+ /* Grab the next directory name from extra */ -+ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); -+ if (extraEnd == NULL) { -+ extraEnd = strrchr (extra, '\0'); -+ } else { -+ extraEnd += 1; -+ } -+ -+ extraSize = (extraEnd - extra); -+ if (extraSize == 0) { -+ break; -+ } ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } + + if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) + && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) @@ -818,10 +1777,10 @@ index 000000000..b94f6a8b4 +} diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c new file mode 100644 -index 000000000..3668b5801 +index 000000000..3c4c60b7c --- /dev/null +++ b/libgloss/libsysbase/chmod.c -@@ -0,0 +1,30 @@ +@@ -0,0 +1,29 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -831,7 +1790,7 @@ index 000000000..3668b5801 +#include + +int chmod(const char *path, mode_t mode) { -+ int ret,dev; ++ int ret=-1,dev; + struct _reent *r = _REENT; + + /* Get device from path name */ @@ -839,7 +1798,6 @@ index 000000000..3668b5801 + + if (dev < 0) { + r->_errno = ENODEV; -+ ret = -1; + } else { + if (devoptab_list[dev]->chmod_r == NULL) { + r->_errno=ENOSYS; @@ -892,58 +1850,6 @@ index 000000000..b36b5c079 + } +} + -diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c -new file mode 100644 -index 000000000..931ad07b1 ---- /dev/null -+++ b/libgloss/libsysbase/close.c -@@ -0,0 +1,46 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _close_r(struct _reent *ptr, int fileDesc) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _close(int fileDesc) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ if(fileDesc!=-1) { -+ -+ __handle *handle = __get_handle(fileDesc); -+ -+ if ( handle != NULL) { -+ dev = handle->device; -+ handle->refcount--; -+ if (handle->refcount == 0 ) { -+ -+ if(devoptab_list[dev]->close_r) { -+ ptr->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->close_r(ptr,handle->fileStruct); -+ } -+ else -+ ret = 0; -+ -+ __release_handle(fileDesc); -+ } else { -+ ret = 0; -+ } -+ -+ } -+ } -+ return ret; -+} diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in new file mode 100644 index 000000000..48ce950b4 @@ -977,10 +1883,10 @@ index 000000000..48ce950b4 +#undef __SYMBOL_PREFIX diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure new file mode 100644 -index 000000000..aa653c235 +index 000000000..be36ded12 --- /dev/null +++ b/libgloss/libsysbase/configure -@@ -0,0 +1,4160 @@ +@@ -0,0 +1,4162 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69. @@ -1564,7 +2470,7 @@ index 000000000..aa653c235 +PACKAGE_BUGREPORT= +PACKAGE_URL= + -+ac_unique_file="close.c" ++ac_unique_file="abort.c" +ac_subst_vars='LTLIBOBJS +LIBOBJS +host_makefile_frag_path @@ -3010,14 +3916,12 @@ index 000000000..aa653c235 + ;; + a29k-amd-udi) + ;; -+ aarch64-*-elf) -+ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h -+ ;; + arc-*-*) + ;; + arm-*-eabi) -+ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h -+ ;; ++ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h ++ ++ ;; + arm*-*-*) + ;; + bfin-*-*) @@ -3038,6 +3942,10 @@ index 000000000..aa653c235 + ;; + mn10?00-*-*) + ;; ++ powerpc-*-eabi) ++ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h ++ ++ ;; + powerpcle-*-pe) + ;; + sh*-*-*) @@ -5141,11 +6049,11 @@ index 000000000..aa653c235 + + + -diff --git a/libgloss/libsysbase/configure.ac b/libgloss/libsysbase/configure.ac +diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in new file mode 100644 -index 000000000..da85a3f46 +index 000000000..d15eab89d --- /dev/null -+++ b/libgloss/libsysbase/configure.ac ++++ b/libgloss/libsysbase/configure.in @@ -0,0 +1,202 @@ +# Copyright (c) 1995, 1996 Cygnus Support +# @@ -5162,7 +6070,7 @@ index 000000000..da85a3f46 +# Process this file with autoconf to produce a configure script. +# +AC_PREREQ(2.59) -+AC_INIT(close.c) ++AC_INIT(abort.c) +AC_CONFIG_HEADER(config.h) + +if test "${enable_shared}" = "yes" ; then @@ -5192,14 +6100,11 @@ index 000000000..da85a3f46 + ;; + a29k-amd-udi) + ;; -+ aarch64-*-elf) -+ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) -+ ;; + arc-*-*) + ;; + arm-*-eabi) -+ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) -+ ;; ++ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ ;; + arm*-*-*) + ;; + bfin-*-*) @@ -5220,6 +6125,9 @@ index 000000000..da85a3f46 + ;; + mn10?00-*-*) + ;; ++ powerpc-*-eabi) ++ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ ;; + powerpcle-*-pe) + ;; + sh*-*-*) @@ -5351,10 +6259,10 @@ index 000000000..da85a3f46 + diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c new file mode 100644 -index 000000000..7d1f4545d +index 000000000..bed699102 --- /dev/null +++ b/libgloss/libsysbase/dirent.c -@@ -0,0 +1,256 @@ +@@ -0,0 +1,255 @@ +#include +#include +#include @@ -5526,7 +6434,7 @@ index 000000000..7d1f4545d + + strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); + dirp->fileData.d_ino = st.st_ino; -+ dirp->fileData.d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; ++ dirp->fileData.d_type = IFTODT(st.st_mode); + + return &(dirp->fileData); +} @@ -5564,7 +6472,6 @@ index 000000000..7d1f4545d + + strncpy (entry->d_name, filename, sizeof(entry->d_name)); + entry->d_ino = st.st_ino; -+ entry->d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; + + *result = entry; + return 0; @@ -5611,6 +6518,9 @@ index 000000000..7d1f4545d + + return dirp->position; +} +diff --git a/libgloss/libsysbase/dummy.c b/libgloss/libsysbase/dummy.c +new file mode 100644 +index 000000000..e69de29bb diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c new file mode 100644 index 000000000..1c485b26f @@ -5625,10 +6535,10 @@ index 000000000..1c485b26f +char **environ = __env; diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c new file mode 100644 -index 000000000..82e70139f +index 000000000..0f192e582 --- /dev/null +++ b/libgloss/libsysbase/execve.c -@@ -0,0 +1,30 @@ +@@ -0,0 +1,16 @@ +/* + * Stub version of execve. + */ @@ -5638,23 +6548,9 @@ index 000000000..82e70139f +#include <_syslist.h> +#include + -+#ifdef REENTRANT_SYSCALLS_PROVIDED +//--------------------------------------------------------------------------------- -+int _execve_r( -+ struct _reent *r, -+ char *name, -+ char **argv, -+ char **env) { ++int _execve_r( struct _reent * r, char *name, char **argv, char **env) { +//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _execve( -+ char *name, -+ char **argv, -+ char **env) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif + r->_errno = ENOSYS; + return -1; +} @@ -5698,10 +6594,10 @@ index 000000000..5c5831cdf +} diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c new file mode 100644 -index 000000000..c6b8c92ad +index 000000000..8a66cd19f --- /dev/null +++ b/libgloss/libsysbase/flock.c -@@ -0,0 +1,21 @@ +@@ -0,0 +1,22 @@ +#include +#include <_ansi.h> +#include <_syslist.h> @@ -5723,6 +6619,7 @@ index 000000000..c6b8c92ad +{ + __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); +} ++ diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c new file mode 100644 index 000000000..893b662ab @@ -5932,10 +6829,10 @@ index 000000000..893b662ab +} diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c new file mode 100644 -index 000000000..efb6a3496 +index 000000000..2bada9736 --- /dev/null +++ b/libgloss/libsysbase/fork.c -@@ -0,0 +1,21 @@ +@@ -0,0 +1,15 @@ +/* + * Stub version of fork. + */ @@ -5944,25 +6841,19 @@ index 000000000..efb6a3496 +#include <_ansi.h> +#include <_syslist.h> +#include -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _fork_r (struct _reent * r) { -+//--------------------------------------------------------------------------------- -+#else ++ +//--------------------------------------------------------------------------------- -+int _fork(void) { ++int _fork_r(struct _reent * r) { +//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif + r->_errno = ENOSYS; + return -1; +} diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c new file mode 100644 -index 000000000..e32b06755 +index 000000000..32267b828 --- /dev/null +++ b/libgloss/libsysbase/fstat.c -@@ -0,0 +1,44 @@ +@@ -0,0 +1,32 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -5971,21 +6862,9 @@ index 000000000..e32b06755 +#include +#include + -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _fstat_r( -+ struct _reent * r, -+ int fileDesc, -+ struct stat *st) { -+//--------------------------------------------------------------------------------- -+#else +//--------------------------------------------------------------------------------- -+int _fstat( -+ int fileDesc, -+ struct stat *st) { ++int _fstat_r(struct _reent * r, int fileDesc, struct stat *st) { +//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif + int ret = -1; + unsigned int dev = 0; + @@ -6049,7 +6928,7 @@ index 000000000..fb06cb6d1 +} diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c new file mode 100644 -index 000000000..2cc03a3d9 +index 000000000..0cd7d0fc4 --- /dev/null +++ b/libgloss/libsysbase/ftruncate.c @@ -0,0 +1,34 @@ @@ -6062,7 +6941,7 @@ index 000000000..2cc03a3d9 + +#include + -+int ftruncate(int fileDesc, off_t len) { ++int ftruncate(int fileDesc, off_t len) { + int ret = -1; + unsigned int dev = 0; + unsigned int fd = -1; @@ -6089,25 +6968,18 @@ index 000000000..2cc03a3d9 +} diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c new file mode 100644 -index 000000000..fdce14b5f +index 000000000..c834c4c94 --- /dev/null +++ b/libgloss/libsysbase/getpid.c -@@ -0,0 +1,19 @@ +@@ -0,0 +1,12 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> +#include + -+#ifdef REENTRANT_SYSCALLS_PROVIDED +//--------------------------------------------------------------------------------- +int _getpid_r(struct _reent *ptr) { +//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _getpid(void) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif + ptr->_errno = ENOSYS; + return -1; +} @@ -6140,10 +7012,10 @@ index 000000000..a3f1e98a9 + diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c new file mode 100644 -index 000000000..f18c59ba3 +index 000000000..0606a1204 --- /dev/null +++ b/libgloss/libsysbase/gettod.c -@@ -0,0 +1,34 @@ +@@ -0,0 +1,18 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -6152,26 +7024,10 @@ index 000000000..f18c59ba3 +#include +#include + -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _gettimeofday_r( -+ struct _reent *ptr, -+ struct timeval *ptimeval, -+ void *ptimezone) -+{ -+//--------------------------------------------------------------------------------- -+#else +//--------------------------------------------------------------------------------- -+int _gettimeofday( -+ struct timeval *ptimeval, -+ void *ptimezone) -+{ ++int _gettimeofday_r( struct _reent *ptr, struct timeval *ptimeval, void *ptimezone) { +//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ -+ if ( __has_syscall(gettod_r) ) -+ return __syscall_gettod_r(ptr, ptimeval, ptimezone); ++ if ( __has_syscall(gettod_r) ) return __syscall_gettod_r(ptr, ptimeval, ptimezone); + + ptr->_errno = ENOSYS; + return -1; @@ -6180,10 +7036,13 @@ index 000000000..f18c59ba3 + diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c new file mode 100644 -index 000000000..f3fcc88f7 +index 000000000..45d5cf77c --- /dev/null +++ b/libgloss/libsysbase/handle_manager.c -@@ -0,0 +1,173 @@ +@@ -0,0 +1,222 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> +#include +#include +#include @@ -6204,7 +7063,7 @@ index 000000000..f3fcc88f7 + +__LOCK_INIT(static, __hndl_lock); + -+void __free_handle(__handle *handle) { ++static void __free_handle(__handle *handle) { + + if ( NULL != handle + && handle != &__stdin_handle @@ -6272,8 +7131,11 @@ index 000000000..f3fcc88f7 + + if ( fd < 0 || fd >= MAX_HANDLES ) return NULL; + -+ return handles[fd]; ++ __lock_acquire (__hndl_lock); ++ __handle *handle = handles[fd]; ++ __lock_release (__hndl_lock); + ++ return handle; +} + +int dup(int oldfd) { @@ -6305,61 +7167,120 @@ index 000000000..f3fcc88f7 + +int dup2(int oldfd, int newfd) { + -+ -+ __lock_acquire (__hndl_lock); -+ + if ( newfd < 0 || newfd >= MAX_HANDLES || ++ oldfd < 0 || oldfd >= MAX_HANDLES) { + -+ oldfd < 0 || oldfd >= MAX_HANDLES || -+ handles[oldfd] == NULL ) { -+ -+ __lock_release (__hndl_lock); + errno = EBADF; + + return -1; + } + + if ( newfd == oldfd ) { -+ __lock_release (__hndl_lock); + return newfd; + } + ++ __lock_acquire (__hndl_lock); + -+ __handle *handle = handles[newfd]; -+ -+ if ( NULL != handle ) { -+ -+ handle->refcount--; ++ if ( handles[oldfd] == NULL ) { ++ __lock_release (__hndl_lock); ++ errno = EBADF; + ++ return -1; + } + ++ __handle *handle = handles[newfd]; ++ + handles[newfd] = handles[oldfd]; + handles[newfd]->refcount++; + -+ __lock_release (__hndl_lock); ++ if ( handle ) { + -+ if ( NULL != handle ) { ++ int ref = --handle->refcount; ++ __lock_release (__hndl_lock); + -+ if (handle->refcount == 0 ) { ++ if ( ref == 0 ) { + -+ if( devoptab_list[handle->device]->close_r != NULL) { ++ if ( devoptab_list[handle->device]->close_r ) { + ++ _REENT->deviceData = devoptab_list[handle->device]->deviceData; + devoptab_list[handle->device]->close_r(_REENT,handle->fileStruct); + -+ } else { -+ -+ __free_handle(handle); -+ + } ++ ++ __free_handle(handle); + } ++ ++ } else { ++ ++ __lock_release (__hndl_lock); ++ + } + + return newfd; -+ +} -diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c -new file mode 100644 -index 000000000..948c6ef93 ++ ++//--------------------------------------------------------------------------------- ++int _close_r(struct _reent *ptr, int fd) { ++//--------------------------------------------------------------------------------- ++ int ret = 0; ++ ++ if (fd < 0 || fd >= MAX_HANDLES) { ++ ++ ptr->_errno = EBADF; ++ return -1; ++ ++ } ++ ++ __lock_acquire (__hndl_lock); ++ ++ __handle *handle = handles[fd]; ++ ++ if ( !handle ) { ++ ++ __lock_release (__hndl_lock); ++ ptr->_errno = EBADF; ++ return -1; ++ ++ } ++ ++ int ref = --handle->refcount; ++ handles[fd] = NULL; ++ ++ __lock_release (__hndl_lock); ++ ++ if ( ref == 0 ) { ++ ++ if ( devoptab_list[handle->device]->close_r ) { ++ ++ ptr->deviceData = devoptab_list[handle->device]->deviceData; ++ ret = devoptab_list[handle->device]->close_r(ptr,handle->fileStruct); ++ ++ } ++ ++ __free_handle(handle); ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/handle_manager.h b/libgloss/libsysbase/handle_manager.h +new file mode 100644 +index 000000000..5e81c5d42 +--- /dev/null ++++ b/libgloss/libsysbase/handle_manager.h +@@ -0,0 +1,10 @@ ++#ifndef __HANDLE_MANAGER_H__ ++#define __HANDLE_MANAGER_H__ ++ ++#include ++ ++void __release_handle(int fd); ++int __alloc_handle(int device); ++__handle *__get_handle(int fd); ++ ++#endif +diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c +new file mode 100644 +index 000000000..948c6ef93 --- /dev/null +++ b/libgloss/libsysbase/iosupport.c @@ -0,0 +1,140 @@ @@ -6505,33 +7426,26 @@ index 000000000..948c6ef93 + diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c new file mode 100644 -index 000000000..280a4579a +index 000000000..2901f1474 --- /dev/null +++ b/libgloss/libsysbase/isatty.c -@@ -0,0 +1,17 @@ +@@ -0,0 +1,10 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> +#include + -+#ifdef REENTRANT_SYSCALLS_PROVIDED +//--------------------------------------------------------------------------------- +int _isatty_r( struct _reent *ptr, int file) { +//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _isatty(int file) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif + return 0; +} diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c new file mode 100644 -index 000000000..13bd0fba1 +index 000000000..a7f10c0c5 --- /dev/null +++ b/libgloss/libsysbase/kill.c -@@ -0,0 +1,21 @@ +@@ -0,0 +1,15 @@ +/* + * Stub version of kill. + */ @@ -6541,24 +7455,18 @@ index 000000000..13bd0fba1 +#include <_syslist.h> +#include + -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _kill_r( -+ struct _reent *ptr, -+ int pid, -+ int sig) { -+#else -+int _kill(int pid, int sig) { -+ struct _reent *ptr = _REENT; -+#endif ++//--------------------------------------------------------------------------------- ++int _kill_r( struct _reent *ptr, int pid, int sig) { ++//--------------------------------------------------------------------------------- + ptr->_errno = ENOSYS; + return -1; +} diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c new file mode 100644 -index 000000000..162f70f63 +index 000000000..d7a988359 --- /dev/null +++ b/libgloss/libsysbase/link.c -@@ -0,0 +1,36 @@ +@@ -0,0 +1,30 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -6566,20 +7474,14 @@ index 000000000..162f70f63 +#include +#include + -+#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- +int _link_r(struct _reent *r, const char *existing, const char *new) { -+#else -+int _link(const char *existing, const char *new) { -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; ++//--------------------------------------------------------------------------------- ++ int ret; + int sourceDev = FindDevice(existing); + int destDev = FindDevice(new); + -+ if (sourceDev == -1 || destDev == -1 ) { -+ r->_errno = ENODEV; -+ return ret; -+ } ++ ret = -1; + + if ( sourceDev == destDev) { + if (devoptab_list[destDev]->link_r) { @@ -6595,176 +7497,12 @@ index 000000000..162f70f63 + return ret; +} + -diff --git a/libgloss/libsysbase/locks.c b/libgloss/libsysbase/locks.c -new file mode 100644 -index 000000000..c41d91ff9 ---- /dev/null -+++ b/libgloss/libsysbase/locks.c -@@ -0,0 +1,158 @@ -+#include -+#include -+#include -+ -+static int -+timespec_subtract(struct timespec x, struct timespec y, struct timespec *__restrict result) -+{ -+ // Perform the carry for the later subtraction by updating y -+ if (x.tv_nsec < y.tv_nsec) { -+ int seconds = (y.tv_nsec - x.tv_nsec) / 1000000000 + 1; -+ y.tv_nsec -= 1000000000 * seconds; -+ y.tv_sec += seconds; -+ } -+ if (x.tv_nsec - y.tv_nsec > 1000000000) { -+ int seconds = (x.tv_nsec - y.tv_nsec) / 1000000000; -+ y.tv_nsec += 1000000000 * seconds; -+ y.tv_sec -= seconds; -+ } -+ -+ // Compute the time remaining to wait -+ result->tv_sec = x.tv_sec - y.tv_sec; -+ result->tv_nsec = x.tv_nsec - y.tv_nsec; -+ -+ // Return true if result is negative -+ return x.tv_sec < y.tv_sec; -+} -+ -+__uint64_t -+timespec2nsec(const struct timespec *__restrict ts) -+{ -+ return (__uint64_t)ts->tv_sec * 1000000000 + ts->tv_nsec; -+} -+ -+__uint64_t -+abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts) -+{ -+ struct timespec now, diff; -+ clock_gettime(clock_id, &now); -+ if (timespec_subtract(*ts, now, &diff)) -+ return 0; -+ return timespec2nsec(&diff); -+} -+ -+void __libc_lock_init(_LOCK_T *lock) { -+ -+ *lock = __LOCK_INITIALIZER; -+ -+} -+ -+void __libc_lock_acquire(_LOCK_T *lock ) { -+ -+ if ( __has_syscall(lock_acquire) ) { -+ __syscall_lock_acquire(lock); -+ } -+} -+ -+int __libc_lock_try_acquire(_LOCK_T *lock ) { -+ -+ if ( __has_syscall(lock_acquire) ) { -+ return __syscall_lock_try_acquire(lock); -+ } else { -+ return 0; -+ } -+} -+ -+void __libc_lock_release(_LOCK_T *lock ) { -+ -+ if ( __has_syscall(lock_release) ) { -+ __syscall_lock_release(lock); -+ } -+} -+ -+void __libc_lock_close(_LOCK_T *lock ) { -+ -+} -+ -+ -+ -+void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { -+ -+ *lock = __LOCK_INITIALIZER_RECURSIVE; -+ -+} -+ -+void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { -+ -+ if ( __has_syscall(lock_acquire_recursive) ) { -+ __syscall_lock_acquire_recursive(lock); -+ } -+} -+ -+int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { -+ -+ if ( __has_syscall(lock_acquire_recursive) ) { -+ return __syscall_lock_try_acquire_recursive(lock); -+ } else { -+ return 0; -+ } -+} -+ -+void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { -+ -+ if ( __has_syscall(lock_release_recursive) ) { -+ __syscall_lock_release_recursive(lock); -+ } -+} -+ -+void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { -+ -+} -+ -+ -+int __libc_cond_init(_COND_T *cond) { -+ -+ *cond = __COND_INITIALIZER; -+ -+} -+ -+int __libc_cond_signal(_COND_T *cond) { -+ -+ if ( __has_syscall(cond_signal) ) { -+ return __syscall_cond_signal(cond); -+ } -+ -+ return ENOSYS; -+ -+} -+ -+int __libc_cond_broadcast(_COND_T *cond) { -+ -+ if ( __has_syscall(cond_broadcast) ) { -+ return __syscall_cond_broadcast(cond); -+ } -+ -+ return ENOSYS; -+ -+} -+ -+int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns) { -+ -+ if ( __has_syscall(cond_wait) ) { -+ return __syscall_cond_wait(cond, lock, timeout_ns); -+ } -+ -+ return ENOSYS; -+ -+} -+ -+int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns) { -+ -+ if ( __has_syscall(cond_wait_recursive) ) { -+ return __syscall_cond_wait_recursive(cond, lock, timeout_ns); -+ } -+ -+ return ENOSYS; -+ -+} -+ diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c new file mode 100644 -index 000000000..eb232c86b +index 000000000..39ef385b1 --- /dev/null +++ b/libgloss/libsysbase/lseek.c -@@ -0,0 +1,45 @@ +@@ -0,0 +1,35 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -6775,18 +7513,8 @@ index 000000000..eb232c86b +#include + +//--------------------------------------------------------------------------------- -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- +_off_t _lseek_r(struct _reent * r, int fileDesc, _off_t pos, int dir) { +//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_off_t _lseek(int fileDesc, _off_t pos, int dir) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+//--------------------------------------------------------------------------------- -+#endif -+//--------------------------------------------------------------------------------- + _off_t ret = -1; + unsigned int dev = 0; + @@ -6812,10 +7540,10 @@ index 000000000..eb232c86b +} diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c new file mode 100644 -index 000000000..fc393430b +index 000000000..467744e9c --- /dev/null +++ b/libgloss/libsysbase/lstat.c -@@ -0,0 +1,31 @@ +@@ -0,0 +1,30 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -6826,10 +7554,10 @@ index 000000000..fc393430b + + +//--------------------------------------------------------------------------------- -+int lstat (const char *__restrict __path, struct stat *__restrict __buf ) { ++int lstat(const char *__restrict __path, struct stat *__restrict __buf ) { +//--------------------------------------------------------------------------------- + struct _reent *r = _REENT; -+ int dev,ret; ++ int dev,ret=-1; + + dev = FindDevice(__path); + @@ -6841,7 +7569,6 @@ index 000000000..fc393430b + r->_errno=ENOSYS; + } + } else { -+ ret = -1; + r->_errno = ENODEV; + } + return ret; @@ -6857,30 +7584,26 @@ index 000000000..456590956 +char *fake_heap_start = (char*)0; diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c new file mode 100644 -index 000000000..19742b774 +index 000000000..b4fcbd3d7 --- /dev/null +++ b/libgloss/libsysbase/mkdir.c -@@ -0,0 +1,23 @@ +@@ -0,0 +1,19 @@ +#include +#include +#include + +int mkdir (const char *path, mode_t mode) { + struct _reent *r = _REENT; -+ int ret = -1; -+ -+ int dev = FindDevice(path); ++ int ret; ++ int dev = FindDevice(path); ++ ret = -1; + -+ if(dev!=-1) { -+ if(devoptab_list[dev]->mkdir_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->mkdir_r(r,path,mode); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = ENODEV; -+ } ++ if (devoptab_list[dev]->mkdir_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->mkdir_r(r, path, mode); ++ } else { ++ r->_errno = ENOSYS; ++ } + + return ret; +} @@ -6906,10 +7629,10 @@ index 000000000..a233b9df6 +} diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c new file mode 100644 -index 000000000..f8d98fd3b +index 000000000..ca17db8bf --- /dev/null +++ b/libgloss/libsysbase/open.c -@@ -0,0 +1,53 @@ +@@ -0,0 +1,46 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -6920,16 +7643,9 @@ index 000000000..f8d98fd3b + +#include + -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _open_r(struct _reent * r, const char *file, int flags, int mode) { +//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _open(struct _reent * r, const char *file, int flags, int mode) { ++int _open_r(struct _reent *r, const char *file, int flags, int mode) { +//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif + __handle *handle; + int dev, fd, ret; + @@ -6963,9 +7679,68 @@ index 000000000..f8d98fd3b + + return fd; +} -diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c -new file mode 100755 -index 000000000..ff84cd355 +diff --git a/libgloss/libsysbase/pathconf.c b/libgloss/libsysbase/pathconf.c +new file mode 100644 +index 000000000..f2b9e9dbf +--- /dev/null ++++ b/libgloss/libsysbase/pathconf.c +@@ -0,0 +1,53 @@ ++#include ++#include ++#include ++#include ++ ++long pathconf(const char *path, int name) { ++ return fpathconf(-1, name); ++} ++ ++long fpathconf(int fd, int name) ++{ ++ struct _reent *r = _REENT; ++ ++ switch (name) { ++ case _PC_LINK_MAX: ++ return 1; ++ case _PC_MAX_CANON: ++ return MAX_CANON; ++ case _PC_MAX_INPUT: ++ return MAX_INPUT; ++ case _PC_NAME_MAX: ++ return NAME_MAX; ++ case _PC_PATH_MAX: ++ return PATH_MAX; ++ case _PC_PIPE_BUF: ++ return PIPE_BUF; ++ case _PC_CHOWN_RESTRICTED: ++ break; // chown is not implemented ++ case _PC_NO_TRUNC: ++ return 1; ++ case _PC_VDISABLE: ++ break; // termios is not supported ++ case _PC_SYNC_IO: ++ return 1; ++ case _PC_ASYNC_IO: ++ case _PC_PRIO_IO: ++ break; ++ case _PC_FILESIZEBITS: ++ return 64; ++ case _PC_REC_INCR_XFER_SIZE: ++ case _PC_REC_MAX_XFER_SIZE: ++ case _PC_REC_MIN_XFER_SIZE: ++ case _PC_REC_XFER_ALIGN: ++ case _PC_ALLOC_SIZE_MIN: ++ case _PC_SYMLINK_MAX: ++ break; ++ case _PC_2_SYMLINKS: ++ return 1; ++ } ++ ++ r->_errno = EINVAL; ++ return -1; ++} +diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c +new file mode 100755 +index 000000000..ff84cd355 --- /dev/null +++ b/libgloss/libsysbase/pthread.c @@ -0,0 +1,1083 @@ @@ -8054,10 +8829,10 @@ index 000000000..ff84cd355 +} diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c new file mode 100644 -index 000000000..838a8c796 +index 000000000..9c548d830 --- /dev/null +++ b/libgloss/libsysbase/read.c -@@ -0,0 +1,39 @@ +@@ -0,0 +1,32 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -8066,16 +8841,9 @@ index 000000000..838a8c796 + +#include + -+#ifdef REENTRANT_SYSCALLS_PROVIDED +//--------------------------------------------------------------------------------- +_ssize_t _read_r(struct _reent *r, int fileDesc, void *ptr, size_t len) { +//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_ssize_t _read(int fileDesc, void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif + int ret = -1; + unsigned int dev = 0; + @@ -8099,33 +8867,25 @@ index 000000000..838a8c796 + diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c new file mode 100644 -index 000000000..b54e0ce7c +index 000000000..433f7ef83 --- /dev/null +++ b/libgloss/libsysbase/rename.c -@@ -0,0 +1,37 @@ +@@ -0,0 +1,29 @@ +#include "config.h" +#include +#include +#include + -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _rename_r(struct _reent *ptr, const char *existing, const char *newName) -+{ -+#else -+int rename(const char *existing, const char *newName) -+{ -+ struct _reent *ptr = _REENT; -+#endif ++//--------------------------------------------------------------------------------- ++int _rename_r( struct _reent *ptr, const char *existing, const char *newName) { ++//--------------------------------------------------------------------------------- + struct _reent *r = _REENT; + -+ int ret = -1; ++ int ret; + int sourceDev = FindDevice(existing); + int destDev = FindDevice(newName); + -+ if (sourceDev == -1 || destDev == -1 ) { -+ r->_errno = ENODEV; -+ return ret; -+ } ++ ret = -1; + + if ( sourceDev == destDev) { + if (devoptab_list[destDev]->rename_r) { @@ -8182,10 +8942,10 @@ index 000000000..b8640b87d +#endif diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c new file mode 100644 -index 000000000..5dd550c5c +index 000000000..badd03297 --- /dev/null +++ b/libgloss/libsysbase/sbrk.c -@@ -0,0 +1,60 @@ +@@ -0,0 +1,54 @@ +#include "config.h" +#include <_ansi.h> +#include @@ -8198,6 +8958,7 @@ index 000000000..5dd550c5c +#include +#include +#include ++#include + + +extern char *fake_heap_end; @@ -8206,16 +8967,9 @@ index 000000000..5dd550c5c +/* Register name faking - works in collusion with the linker. */ +register char * stack_ptr asm ("sp"); + -+#ifdef REENTRANT_SYSCALLS_PROVIDED +//--------------------------------------------------------------------------------- -+void * _sbrk_r (struct _reent *ptr, ptrdiff_t incr) { ++__attribute__((weak)) void * _sbrk_r (struct _reent *ptr, ptrdiff_t incr) { +//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+caddr_t _sbrk (int incr) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif + extern char end asm ("__end__"); /* Defined by the linker. */ + static char * heap_start; + @@ -8240,21 +8994,22 @@ index 000000000..5dd550c5c + + if (heap_start + incr > heap_end) { + ptr->_errno = ENOMEM; -+ return (caddr_t) -1; ++ return (void *) -1; + } + + heap_start += incr; -+ return (caddr_t) prev_heap_start; ++ return (void *) prev_heap_start; +} diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c new file mode 100644 -index 000000000..5c673af52 +index 000000000..7bb5ebd52 --- /dev/null +++ b/libgloss/libsysbase/scandir.c -@@ -0,0 +1,76 @@ +@@ -0,0 +1,77 @@ +#include +#include +#include ++#include +#include +#include +#include @@ -8354,10 +9109,10 @@ index 000000000..f3aa97954 +} diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c new file mode 100644 -index 000000000..d0ad00202 +index 000000000..17181dc3b --- /dev/null +++ b/libgloss/libsysbase/stat.c -@@ -0,0 +1,38 @@ +@@ -0,0 +1,29 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -8367,18 +9122,10 @@ index 000000000..d0ad00202 +#include + + -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _stat_r(struct _reent * r, const char *file, struct stat *st) { -+//--------------------------------------------------------------------------------- -+#else +//--------------------------------------------------------------------------------- -+int _stat(const char *file, struct stat *st) { -+{ ++int _stat_r(struct _reent *r, const char *file, struct stat *st) { +//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int dev,ret; ++ int dev,ret=-1; + + dev = FindDevice(file); + @@ -8390,7 +9137,6 @@ index 000000000..d0ad00202 + r->_errno=ENOSYS; + } + } else { -+ ret = -1; + r->_errno = ENODEV; + } + return ret; @@ -8426,25 +9172,188 @@ index 000000000..84e221340 + + return ret; +} +diff --git a/libgloss/libsysbase/sysbase.specs b/libgloss/libsysbase/sysbase.specs +new file mode 100644 +index 000000000..d5959084e +--- /dev/null ++++ b/libgloss/libsysbase/sysbase.specs +@@ -0,0 +1,11 @@ ++%rename link_gcc_c_sequence sysbase_link_gcc_c_sequence ++ ++*sysbase_libgloss: ++-lsysbase ++ ++*sysbase_libc: ++%{!specs=nano.specs:-lc} %{specs=nano.specs:-lc_nano} ++ ++*link_gcc_c_sequence: ++%(sysbase_link_gcc_c_sequence) --start-group %G %(sysbase_libc) %(sysbase_libgloss) --end-group ++ +diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c +new file mode 100644 +index 000000000..cbabf8b9a +--- /dev/null ++++ b/libgloss/libsysbase/syscall_support.c +@@ -0,0 +1,144 @@ ++#include ++#include ++ ++static int ++timespec_subtract(struct timespec x, struct timespec y, struct timespec *__restrict result) ++{ ++ // Perform the carry for the later subtraction by updating y ++ if (x.tv_nsec < y.tv_nsec) { ++ int seconds = (y.tv_nsec - x.tv_nsec) / 1000000000 + 1; ++ y.tv_nsec -= 1000000000 * seconds; ++ y.tv_sec += seconds; ++ } ++ if (x.tv_nsec - y.tv_nsec > 1000000000) { ++ int seconds = (x.tv_nsec - y.tv_nsec) / 1000000000; ++ y.tv_nsec += 1000000000 * seconds; ++ y.tv_sec -= seconds; ++ } ++ ++ // Compute the time remaining to wait ++ result->tv_sec = x.tv_sec - y.tv_sec; ++ result->tv_nsec = x.tv_nsec - y.tv_nsec; ++ ++ // Return true if result is negative ++ return x.tv_sec < y.tv_sec; ++} ++ ++__uint64_t ++timespec2nsec(const struct timespec *__restrict ts) ++{ ++ return (__uint64_t)ts->tv_sec * 1000000000 + ts->tv_nsec; ++} ++ ++__uint64_t ++abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts) ++{ ++ struct timespec now, diff; ++ clock_gettime(clock_id, &now); ++ if (timespec_subtract(*ts, now, &diff)) ++ return 0; ++ return timespec2nsec(&diff); ++} ++ ++void __libc_lock_acquire(_LOCK_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire) ) { ++ __syscall_lock_acquire(lock); ++ } ++} ++ ++int __libc_lock_try_acquire(_LOCK_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire) ) { ++ return __syscall_lock_try_acquire(lock); ++ } else { ++ return 0; ++ } ++} ++ ++void __libc_lock_release(_LOCK_T *lock ) { ++ ++ if ( __has_syscall(lock_release) ) { ++ __syscall_lock_release(lock); ++ } ++} ++ ++void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire_recursive) ) { ++ __syscall_lock_acquire_recursive(lock); ++ } ++} ++ ++int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire_recursive) ) { ++ return __syscall_lock_try_acquire_recursive(lock); ++ } else { ++ return 0; ++ } ++} ++ ++void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { ++ ++ if ( __has_syscall(lock_release_recursive) ) { ++ __syscall_lock_release_recursive(lock); ++ } ++} ++ ++int __libc_cond_signal(_COND_T *cond) { ++ ++ if ( __has_syscall(cond_signal) ) { ++ return __syscall_cond_signal(cond); ++ } ++ ++ return ENOSYS; ++ ++} ++ ++int __libc_cond_broadcast(_COND_T *cond) { ++ ++ if ( __has_syscall(cond_broadcast) ) { ++ return __syscall_cond_broadcast(cond); ++ } ++ ++ return ENOSYS; ++ ++} ++ ++int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns) { ++ ++ if ( __has_syscall(cond_wait) ) { ++ return __syscall_cond_wait(cond, lock, timeout_ns); ++ } ++ ++ return ENOSYS; ++ ++} ++ ++int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns) { ++ ++ if ( __has_syscall(cond_wait_recursive) ) { ++ return __syscall_cond_wait_recursive(cond, lock, timeout_ns); ++ } ++ ++ return ENOSYS; ++ ++} ++ ++ ++#ifdef CUSTOM_MALLOC_LOCK ++ ++void __malloc_lock( struct _reent *ptr ) { ++ if ( __has_syscall(malloc_lock) ){ ++ __syscall_malloc_lock(ptr); ++ } ++ } ++ ++void __malloc_unlock( struct _reent *ptr ) { ++ if ( __has_syscall(malloc_unlock)) { ++ __syscall_malloc_unlock(ptr); ++ } ++} ++ ++#endif diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c new file mode 100644 -index 000000000..79484e7f4 +index 000000000..edac04a1a --- /dev/null +++ b/libgloss/libsysbase/times.c -@@ -0,0 +1,17 @@ +@@ -0,0 +1,13 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> +#include +#include + -+#ifdef REENTRANT_SYSCALLS_PROVIDED ++//--------------------------------------------------------------------------------- +clock_t _times_r(struct _reent *r, struct tms *ptms) { -+#else -+clock_t _times(struct tms *buf) { -+ -+ struct _reent *r = _REENT; -+#endif ++//--------------------------------------------------------------------------------- + r->_errno = ENOSYS; + return (clock_t)-1; +} @@ -8511,10 +9420,10 @@ index 000000000..849525990 +} diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c new file mode 100644 -index 000000000..7920b79ac +index 000000000..0a4c087c9 --- /dev/null +++ b/libgloss/libsysbase/unlink.c -@@ -0,0 +1,34 @@ +@@ -0,0 +1,27 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -8522,16 +9431,9 @@ index 000000000..7920b79ac +#include +#include + -+#ifdef REENTRANT_SYSCALLS_PROVIDED +//--------------------------------------------------------------------------------- +int _unlink_r(struct _reent * r, const char *name ) { +//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _unlink_r(const char *name ) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif + int dev,ret=-1; + + dev = FindDevice(name); @@ -8575,10 +9477,10 @@ index 000000000..b54714775 +} diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c new file mode 100644 -index 000000000..f72bf9fc6 +index 000000000..462e86520 --- /dev/null +++ b/libgloss/libsysbase/utime.c -@@ -0,0 +1,45 @@ +@@ -0,0 +1,41 @@ +#include "config.h" + +#include @@ -8590,7 +9492,7 @@ index 000000000..f72bf9fc6 +int utimes(const char *filename, const struct timeval times[2]) +{ + struct _reent *r = _REENT; -+ int dev,ret; ++ int dev,ret=-1; + + dev = FindDevice(filename); + @@ -8602,13 +9504,9 @@ index 000000000..f72bf9fc6 + r->_errno=ENOSYS; + } + } else { -+ ret = -1; + r->_errno = ENODEV; + } + return ret; -+ -+ -+ +} + + @@ -8626,10 +9524,10 @@ index 000000000..f72bf9fc6 +} diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c new file mode 100644 -index 000000000..247486e42 +index 000000000..a17561576 --- /dev/null +++ b/libgloss/libsysbase/wait.c -@@ -0,0 +1,24 @@ +@@ -0,0 +1,16 @@ +/* + * Stub version of wait. + */ @@ -8640,15 +9538,7 @@ index 000000000..247486e42 +#include + +//--------------------------------------------------------------------------------- -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- +int _wait_r(struct _reent *r, int *status) { -+#else -+//--------------------------------------------------------------------------------- -+int -+int _wait_r(int *status) { -+ struct _reent *r = _REENT; -+#endif +//--------------------------------------------------------------------------------- + r->_errno = ENOSYS; + return -1; @@ -8705,10 +9595,10 @@ index 000000000..2c2998250 +#endif /* __WARNING_H__ */ diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c new file mode 100644 -index 000000000..61de918bc +index 000000000..04198e854 --- /dev/null +++ b/libgloss/libsysbase/write.c -@@ -0,0 +1,38 @@ +@@ -0,0 +1,31 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> @@ -8717,16 +9607,9 @@ index 000000000..61de918bc + +#include + -+#ifdef REENTRANT_SYSCALLS_PROVIDED +//--------------------------------------------------------------------------------- +_ssize_t _write_r(struct _reent * r, int fileDesc, const void *ptr, size_t len) { +//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_ssize_t _write(int fileDesc, const void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif + int ret = -1; + unsigned int dev = 0; + @@ -8747,11 +9630,408 @@ index 000000000..61de918bc + } + return ret; +} +diff --git a/libgloss/rs6000/Makefile.in b/libgloss/rs6000/Makefile.in +index 489903645..cf62806a3 100644 +--- a/libgloss/rs6000/Makefile.in ++++ b/libgloss/rs6000/Makefile.in +@@ -131,6 +131,9 @@ XIL_OBJS = open.o close.o lseek.o sbrk.o read.o write.o print.o + XIL_TEST = xil-test + XIL_INSTALL = install-xil + ++OGC_CRTMAIN = crtmain.o ++OGC_INSTALL = install-ogc ++ + # Host specific makefile fragment comes in here. + @host_makefile_frag@ + +@@ -145,7 +148,7 @@ all: \ + ${LINUX_CRT0} ${LINUX_BSP} \ + ${YELLOWKNIFE_CRT0} ${YELLOWKNIFE_BSP} \ + ${ADS_CRT0} ${ADS_BSP} \ +- ${MBX_CRT0} ${MBX_BSP} \ ++ ${MBX_CRT0} ${MBX_BSP} ${OGC_CRTMAIN} \ + ${XIL_CRT0} ${XIL_BSP} + + # +@@ -297,6 +300,8 @@ xil-test.srec: xil-test.x + + crt0.o: crt0.S + ++crtmain.o: crtmain.c ++ + simulator.o: simulator.S + sim-getrusage.o: sim-getrusage.S + sim-crt0.o: sim-crt0.S +@@ -354,7 +359,7 @@ distclean maintainer-clean realclean: clean + rm -f Makefile config.status *~ + + .PHONY: install info install-info clean-info +-install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${XIL_INSTALL} ++install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${OGC_INSTALL} ${XIL_INSTALL} + + install-sim: + ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} +@@ -392,6 +397,9 @@ install-xil: + set -e; for x in ${XIL_CRT0} ${XIL_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + set -e; for x in ${XIL_SCRIPTS} ${XIL_SPECS}; do ${INSTALL_DATA} $(srcdir)/$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + ++install-ogc: ++ set -e; for x in ${OGC_CRTMAIN}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done ++ + doc: + info: + install-info: +diff --git a/libgloss/rs6000/ads.ld b/libgloss/rs6000/ads.ld +index ef5038e68..32a1d5e0b 100644 +--- a/libgloss/rs6000/ads.ld ++++ b/libgloss/rs6000/ads.ld +@@ -121,6 +121,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +diff --git a/libgloss/rs6000/crtmain.c b/libgloss/rs6000/crtmain.c +new file mode 100644 +index 000000000..bd25d775d +--- /dev/null ++++ b/libgloss/rs6000/crtmain.c +@@ -0,0 +1,18 @@ ++#include ++ ++struct __argv { ++ int argvMagic; //!< argv magic number, set to 0x5f617267 ('_arg') if valid ++ char *commandLine; //!< base address of command line, set of null terminated strings ++ int length;//!< total length of command line ++ int argc; ++ char **argv; ++}; ++ ++extern struct __argv *__system_argv; ++void __init(); ++void SYS_PreMain(); ++ ++void __crtmain() { ++ SYS_PreMain(); ++ exit ( main(__system_argv->argc,__system_argv->argv) ); ++} +diff --git a/libgloss/rs6000/mbx.ld b/libgloss/rs6000/mbx.ld +index cedf4e867..99d849e90 100644 +--- a/libgloss/rs6000/mbx.ld ++++ b/libgloss/rs6000/mbx.ld +@@ -101,6 +101,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +diff --git a/libgloss/rs6000/xilinx.ld b/libgloss/rs6000/xilinx.ld +index 75b2a12b6..40a4a1e4b 100644 +--- a/libgloss/rs6000/xilinx.ld ++++ b/libgloss/rs6000/xilinx.ld +@@ -273,6 +273,7 @@ SECTIONS + _end = . ; + end = .; + __end = .; ++ __end__ = .; + .boot 0xFFFFFFFC : { *(.boot) } + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ +diff --git a/libgloss/rs6000/xilinx440.ld b/libgloss/rs6000/xilinx440.ld +index 2c7c5aba4..c1ddf8529 100644 +--- a/libgloss/rs6000/xilinx440.ld ++++ b/libgloss/rs6000/xilinx440.ld +@@ -264,6 +264,7 @@ SECTIONS + _end = . ; + end = .; + __end = .; ++ __end__ = .; + + .boot0 0xFFFFFF00 : { *(.boot0)} + +diff --git a/libgloss/rs6000/yellowknife.ld b/libgloss/rs6000/yellowknife.ld +index 36c30092d..7e54036ed 100644 +--- a/libgloss/rs6000/yellowknife.ld ++++ b/libgloss/rs6000/yellowknife.ld +@@ -113,6 +113,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +diff --git a/newlib/Makefile.in b/newlib/Makefile.in +index bc967bd70..8a72f26f7 100644 +--- a/newlib/Makefile.in ++++ b/newlib/Makefile.in +@@ -586,6 +586,7 @@ check_PROGRAMS = + @HAVE_LIBC_SYS_W65_DIR_TRUE@am__append_63 = libc/sys/w65/syscalls.c libc/sys/w65/trap.c + @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__append_64 = libc/sys/z8ksim/glue.c + @HAVE_LIBC_MACHINE_AARCH64_TRUE@am__append_65 = \ ++@HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/access.c \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memchr-stub.c \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memchr.S \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memcmp-stub.c \ +@@ -668,7 +669,7 @@ check_PROGRAMS = + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy-stub.c \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy.S \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen-stub.c \ +-@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen.S ++@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/sync_synchronize.c + + @HAVE_LIBC_MACHINE_BFIN_TRUE@am__append_69 = libc/machine/bfin/setjmp.S libc/machine/bfin/longjmp.S + @HAVE_LIBC_MACHINE_CR16_TRUE@am__append_70 = libc/machine/cr16/setjmp.S libc/machine/cr16/getenv.c +@@ -767,7 +768,9 @@ check_PROGRAMS = + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/misc.c libc/machine/nvptx/clock.c + + @HAVE_LIBC_MACHINE_OR1K_TRUE@am__append_108 = libc/machine/or1k/setjmp.S +-@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S \ ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/access.c ++ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__append_110 = \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfprintf.c \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfscanf.c \ +@@ -1811,7 +1814,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_SYS_W65_DIR_TRUE@am__objects_74 = libc/sys/w65/libc_a-syscalls.$(OBJEXT) \ + @HAVE_LIBC_SYS_W65_DIR_TRUE@ libc/sys/w65/libc_a-trap.$(OBJEXT) + @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__objects_75 = libc/sys/z8ksim/libc_a-glue.$(OBJEXT) +-@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_76 = libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ ++@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_76 = libc/machine/aarch64/libc_a-access.$(OBJEXT) \ ++@HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memchr.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memcmp-stub.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memcmp.$(OBJEXT) \ +@@ -1893,7 +1897,7 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy-stub.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen-stub.$(OBJEXT) \ +-@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen.$(OBJEXT) ++@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT) + @HAVE_LIBC_MACHINE_BFIN_TRUE@am__objects_80 = libc/machine/bfin/libc_a-setjmp.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_BFIN_TRUE@ libc/machine/bfin/libc_a-longjmp.$(OBJEXT) + @HAVE_LIBC_MACHINE_CR16_TRUE@am__objects_81 = libc/machine/cr16/libc_a-setjmp.$(OBJEXT) \ +@@ -2043,7 +2047,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-misc.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-clock.$(OBJEXT) + @HAVE_LIBC_MACHINE_OR1K_TRUE@am__objects_118 = libc/machine/or1k/libc_a-setjmp.$(OBJEXT) +-@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) \ ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/libc_a-access.$(OBJEXT) + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__objects_120 = libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vfscanf.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vec_malloc.$(OBJEXT) \ +@@ -2345,6 +2350,7 @@ am_libc_a_OBJECTS = $(am__objects_1) \ + libc/stdlib/libc_a-strtol.$(OBJEXT) \ + libc/stdlib/libc_a-strtoul.$(OBJEXT) \ + libc/stdlib/libc_a-strtoumax.$(OBJEXT) \ ++ libc/stdlib/libc_a-threads.$(OBJEXT) \ + libc/stdlib/libc_a-utoa.$(OBJEXT) \ + libc/stdlib/libc_a-wcstod.$(OBJEXT) \ + libc/stdlib/libc_a-wcstoimax.$(OBJEXT) \ +@@ -3768,6 +3774,7 @@ pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + shared_machine_dir = @shared_machine_dir@ + sharedstatedir = @sharedstatedir@ +@@ -3915,7 +3922,7 @@ libc_a_SOURCES = $(am__append_5) libc/stdlib/__adjust.c \ + libc/stdlib/sb_charsets.c libc/stdlib/strtod.c \ + libc/stdlib/strtoimax.c libc/stdlib/strtol.c \ + libc/stdlib/strtoul.c libc/stdlib/strtoumax.c \ +- libc/stdlib/utoa.c libc/stdlib/wcstod.c \ ++ libc/stdlib/threads.c libc/stdlib/utoa.c libc/stdlib/wcstod.c \ + libc/stdlib/wcstoimax.c libc/stdlib/wcstol.c \ + libc/stdlib/wcstoul.c libc/stdlib/wcstoumax.c \ + libc/stdlib/wcstombs.c libc/stdlib/wcstombs_r.c \ +@@ -5321,6 +5328,8 @@ libc/stdlib/libc_a-strtoul.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ + libc/stdlib/$(DEPDIR)/$(am__dirstamp) + libc/stdlib/libc_a-strtoumax.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ + libc/stdlib/$(DEPDIR)/$(am__dirstamp) ++libc/stdlib/libc_a-threads.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ ++ libc/stdlib/$(DEPDIR)/$(am__dirstamp) + libc/stdlib/libc_a-utoa.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ + libc/stdlib/$(DEPDIR)/$(am__dirstamp) + libc/stdlib/libc_a-wcstod.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ +@@ -7757,6 +7766,9 @@ libc/machine/aarch64/$(am__dirstamp): + libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) libc/machine/aarch64/$(DEPDIR) + @: > libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) ++libc/machine/aarch64/libc_a-access.$(OBJEXT): \ ++ libc/machine/aarch64/$(am__dirstamp) \ ++ libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) + libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT): \ + libc/machine/aarch64/$(am__dirstamp) \ + libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) +@@ -8021,7 +8033,7 @@ libc/machine/arm/libc_a-memcpy.$(OBJEXT): \ + libc/machine/arm/libc_a-strlen-stub.$(OBJEXT): \ + libc/machine/arm/$(am__dirstamp) \ + libc/machine/arm/$(DEPDIR)/$(am__dirstamp) +-libc/machine/arm/libc_a-strlen.$(OBJEXT): \ ++libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT): \ + libc/machine/arm/$(am__dirstamp) \ + libc/machine/arm/$(DEPDIR)/$(am__dirstamp) + libc/machine/bfin/$(am__dirstamp): +@@ -8696,6 +8708,9 @@ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp): + libc/machine/powerpc/libc_a-setjmp.$(OBJEXT): \ + libc/machine/powerpc/$(am__dirstamp) \ + libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) ++libc/machine/powerpc/libc_a-access.$(OBJEXT): \ ++ libc/machine/powerpc/$(am__dirstamp) \ ++ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) + libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT): \ + libc/machine/powerpc/$(am__dirstamp) \ + libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) +@@ -12256,6 +12271,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-nl_langinfo.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-timelocal.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-uselocale.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memchr.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memcmp-stub.Po@am__quote@ +@@ -12338,7 +12354,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcpy.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen-stub.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-longjmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po@am__quote@ +@@ -12487,6 +12503,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-reallocr.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-write.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/or1k/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix16.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix32.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix64.Po@am__quote@ +@@ -13113,6 +13130,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-strtoull_r.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-strtoumax.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-system.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-threads.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-utoa.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-valloc.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-vallocr.Po@am__quote@ +@@ -16730,20 +16748,6 @@ libc/machine/arm/libc_a-memcpy.obj: libc/machine/arm/memcpy.S + @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-memcpy.obj `if test -f 'libc/machine/arm/memcpy.S'; then $(CYGPATH_W) 'libc/machine/arm/memcpy.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/memcpy.S'; fi` + +-libc/machine/arm/libc_a-strlen.o: libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/arm/libc_a-strlen.o -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo -c -o libc/machine/arm/libc_a-strlen.o `test -f 'libc/machine/arm/strlen.S' || echo '$(srcdir)/'`libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='libc/machine/arm/strlen.S' object='libc/machine/arm/libc_a-strlen.o' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-strlen.o `test -f 'libc/machine/arm/strlen.S' || echo '$(srcdir)/'`libc/machine/arm/strlen.S +- +-libc/machine/arm/libc_a-strlen.obj: libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/arm/libc_a-strlen.obj -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo -c -o libc/machine/arm/libc_a-strlen.obj `if test -f 'libc/machine/arm/strlen.S'; then $(CYGPATH_W) 'libc/machine/arm/strlen.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen.S'; fi` +-@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='libc/machine/arm/strlen.S' object='libc/machine/arm/libc_a-strlen.obj' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-strlen.obj `if test -f 'libc/machine/arm/strlen.S'; then $(CYGPATH_W) 'libc/machine/arm/strlen.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen.S'; fi` +- + libc/machine/bfin/libc_a-setjmp.o: libc/machine/bfin/setjmp.S + @am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/bfin/libc_a-setjmp.o -MD -MP -MF libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo -c -o libc/machine/bfin/libc_a-setjmp.o `test -f 'libc/machine/bfin/setjmp.S' || echo '$(srcdir)/'`libc/machine/bfin/setjmp.S + @am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po +@@ -20666,6 +20670,20 @@ libc/stdlib/libc_a-strtoumax.obj: libc/stdlib/strtoumax.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-strtoumax.obj `if test -f 'libc/stdlib/strtoumax.c'; then $(CYGPATH_W) 'libc/stdlib/strtoumax.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/strtoumax.c'; fi` + ++libc/stdlib/libc_a-threads.o: libc/stdlib/threads.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-threads.o -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo -c -o libc/stdlib/libc_a-threads.o `test -f 'libc/stdlib/threads.c' || echo '$(srcdir)/'`libc/stdlib/threads.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo libc/stdlib/$(DEPDIR)/libc_a-threads.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/stdlib/threads.c' object='libc/stdlib/libc_a-threads.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-threads.o `test -f 'libc/stdlib/threads.c' || echo '$(srcdir)/'`libc/stdlib/threads.c ++ ++libc/stdlib/libc_a-threads.obj: libc/stdlib/threads.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-threads.obj -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo -c -o libc/stdlib/libc_a-threads.obj `if test -f 'libc/stdlib/threads.c'; then $(CYGPATH_W) 'libc/stdlib/threads.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/threads.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo libc/stdlib/$(DEPDIR)/libc_a-threads.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/stdlib/threads.c' object='libc/stdlib/libc_a-threads.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-threads.obj `if test -f 'libc/stdlib/threads.c'; then $(CYGPATH_W) 'libc/stdlib/threads.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/threads.c'; fi` ++ + libc/stdlib/libc_a-utoa.o: libc/stdlib/utoa.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-utoa.o -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-utoa.Tpo -c -o libc/stdlib/libc_a-utoa.o `test -f 'libc/stdlib/utoa.c' || echo '$(srcdir)/'`libc/stdlib/utoa.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-utoa.Tpo libc/stdlib/$(DEPDIR)/libc_a-utoa.Po +@@ -32216,6 +32234,20 @@ libc/sys/z8ksim/libc_a-glue.obj: libc/sys/z8ksim/glue.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/sys/z8ksim/libc_a-glue.obj `if test -f 'libc/sys/z8ksim/glue.c'; then $(CYGPATH_W) 'libc/sys/z8ksim/glue.c'; else $(CYGPATH_W) '$(srcdir)/libc/sys/z8ksim/glue.c'; fi` + ++libc/machine/aarch64/libc_a-access.o: libc/machine/aarch64/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-access.o -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/aarch64/libc_a-access.o `test -f 'libc/machine/aarch64/access.c' || echo '$(srcdir)/'`libc/machine/aarch64/access.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/aarch64/access.c' object='libc/machine/aarch64/libc_a-access.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/aarch64/libc_a-access.o `test -f 'libc/machine/aarch64/access.c' || echo '$(srcdir)/'`libc/machine/aarch64/access.c ++ ++libc/machine/aarch64/libc_a-access.obj: libc/machine/aarch64/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-access.obj -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/aarch64/libc_a-access.obj `if test -f 'libc/machine/aarch64/access.c'; then $(CYGPATH_W) 'libc/machine/aarch64/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/aarch64/access.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/aarch64/access.c' object='libc/machine/aarch64/libc_a-access.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/aarch64/libc_a-access.obj `if test -f 'libc/machine/aarch64/access.c'; then $(CYGPATH_W) 'libc/machine/aarch64/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/aarch64/access.c'; fi` ++ + libc/machine/aarch64/libc_a-memchr-stub.o: libc/machine/aarch64/memchr-stub.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-memchr-stub.o -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Tpo -c -o libc/machine/aarch64/libc_a-memchr-stub.o `test -f 'libc/machine/aarch64/memchr-stub.c' || echo '$(srcdir)/'`libc/machine/aarch64/memchr-stub.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Po +@@ -32734,6 +32766,20 @@ libc/machine/arm/libc_a-strlen-stub.obj: libc/machine/arm/strlen-stub.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-strlen-stub.obj `if test -f 'libc/machine/arm/strlen-stub.c'; then $(CYGPATH_W) 'libc/machine/arm/strlen-stub.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen-stub.c'; fi` + ++libc/machine/arm/libc_a-sync_synchronize.o: libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/arm/libc_a-sync_synchronize.o -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo -c -o libc/machine/arm/libc_a-sync_synchronize.o `test -f 'libc/machine/arm/sync_synchronize.c' || echo '$(srcdir)/'`libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/arm/sync_synchronize.c' object='libc/machine/arm/libc_a-sync_synchronize.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-sync_synchronize.o `test -f 'libc/machine/arm/sync_synchronize.c' || echo '$(srcdir)/'`libc/machine/arm/sync_synchronize.c ++ ++libc/machine/arm/libc_a-sync_synchronize.obj: libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/arm/libc_a-sync_synchronize.obj -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo -c -o libc/machine/arm/libc_a-sync_synchronize.obj `if test -f 'libc/machine/arm/sync_synchronize.c'; then $(CYGPATH_W) 'libc/machine/arm/sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/sync_synchronize.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/arm/sync_synchronize.c' object='libc/machine/arm/libc_a-sync_synchronize.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-sync_synchronize.obj `if test -f 'libc/machine/arm/sync_synchronize.c'; then $(CYGPATH_W) 'libc/machine/arm/sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/sync_synchronize.c'; fi` ++ + libc/machine/cr16/libc_a-getenv.o: libc/machine/cr16/getenv.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/cr16/libc_a-getenv.o -MD -MP -MF libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo -c -o libc/machine/cr16/libc_a-getenv.o `test -f 'libc/machine/cr16/getenv.c' || echo '$(srcdir)/'`libc/machine/cr16/getenv.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po +@@ -33252,6 +33298,20 @@ libc/machine/nvptx/libc_a-clock.obj: libc/machine/nvptx/clock.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/nvptx/libc_a-clock.obj `if test -f 'libc/machine/nvptx/clock.c'; then $(CYGPATH_W) 'libc/machine/nvptx/clock.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/nvptx/clock.c'; fi` + ++libc/machine/powerpc/libc_a-access.o: libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-access.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/powerpc/libc_a-access.o `test -f 'libc/machine/powerpc/access.c' || echo '$(srcdir)/'`libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/powerpc/access.c' object='libc/machine/powerpc/libc_a-access.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/powerpc/libc_a-access.o `test -f 'libc/machine/powerpc/access.c' || echo '$(srcdir)/'`libc/machine/powerpc/access.c ++ ++libc/machine/powerpc/libc_a-access.obj: libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-access.obj -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/powerpc/libc_a-access.obj `if test -f 'libc/machine/powerpc/access.c'; then $(CYGPATH_W) 'libc/machine/powerpc/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/powerpc/access.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/powerpc/access.c' object='libc/machine/powerpc/libc_a-access.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/powerpc/libc_a-access.obj `if test -f 'libc/machine/powerpc/access.c'; then $(CYGPATH_W) 'libc/machine/powerpc/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/powerpc/access.c'; fi` ++ + libc/machine/powerpc/libc_a-vfprintf.o: libc/machine/powerpc/vfprintf.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-vfprintf.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo -c -o libc/machine/powerpc/libc_a-vfprintf.o `test -f 'libc/machine/powerpc/vfprintf.c' || echo '$(srcdir)/'`libc/machine/powerpc/vfprintf.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Po diff --git a/newlib/configure.host b/newlib/configure.host -index c429dde1c..fd3171ad2 100644 +index 0a1ba282a..8c5e2b211 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -686,13 +686,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -620,13 +620,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID syscall_dir=syscalls ;; aarch64*-*-*) @@ -8770,15 +10050,30 @@ index c429dde1c..fd3171ad2 100644 + default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" + default_newlib_io_pos_args="yes" -+ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" + newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls + ;; arm*-*-pe) syscall_dir=syscalls + newlib_cflags="${newlib_cflags} -DHAVE_SYSCONF_PAGESIZE" +@@ -799,7 +811,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + default_newlib_io_long_long="yes" + newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" ;; -diff --git a/newlib/libc/ctype/jp2uc.c b/newlib/libc/ctype/jp2uc.c -index 5e30f09be..1ea357f92 100644 +- powerpc*-*-eabi* | \ ++ powerpc*-*-eabi*) ++ default_newlib_io_c99_formats="yes" ++ default_newlib_io_long_long="yes" ++ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" ++ syscall_dir=syscalls ++ ;; + powerpc*-*-elf* | \ + powerpc*-*-linux* | \ + powerpc*-*-rtem* | \ +diff --git a/newlib/libc/ctype/jp2uc.c b/newlib/libc/ctype/jp2uc.c +index 5e30f09be..b90a8f4f4 100644 --- a/newlib/libc/ctype/jp2uc.c +++ b/newlib/libc/ctype/jp2uc.c @@ -35,7 +35,7 @@ @@ -8786,12 +10081,12 @@ index 5e30f09be..1ea357f92 100644 /* Under Cygwin, the incoming wide character is already given in UTF due to the requirements of the underlying OS. */ -#ifndef __CYGWIN__ -+#if !defined(__CYGWIN__) && !defined(__DEVKITA64__) ++#if !defined(__CYGWIN__) && !defined(__DEFAULT_UTF8__) #include <_ansi.h> #include diff --git a/newlib/libc/ctype/local.h b/newlib/libc/ctype/local.h -index 5c293c83d..75ccf89f5 100644 +index 5c293c83d..0dbfcd7ee 100644 --- a/newlib/libc/ctype/local.h +++ b/newlib/libc/ctype/local.h @@ -32,7 +32,7 @@ @@ -8799,7 +10094,7 @@ index 5c293c83d..75ccf89f5 100644 into the respective locale encoding; currently NOT IMPLEMENTED */ -#ifdef __CYGWIN__ -+#if defined(__CYGWIN__) || defined(__DEVKITA64__) ++#if defined(__CYGWIN__) || defined(__DEFAULT_UTF8__) /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ #define _jp2uc(c) (c) #define _jp2uc_l(c, l) (c) @@ -8866,10 +10161,10 @@ index 000000000..a71a5d847 + +#endif diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h -index 799ac494a..4174d72ab 100644 +index 54e30ef82..3a77345e2 100644 --- a/newlib/libc/include/math.h +++ b/newlib/libc/include/math.h -@@ -436,7 +436,7 @@ extern float hypotf (float, float); +@@ -445,7 +445,7 @@ extern float hypotf (float, float); simply call the double functions. On Cygwin the long double functions are implemented independently from newlib to be able to use optimized assembler functions despite using the Microsoft x86_64 ABI. */ @@ -8965,19 +10260,6 @@ index 000000000..4afb0e419 +#endif /* defined(_POSIX_SEMAPHORES) */ + +#endif /* !_SEMAPHORE_H_ */ -diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h -index 7748351f0..e87104559 100644 ---- a/newlib/libc/include/stdio.h -+++ b/newlib/libc/include/stdio.h -@@ -227,7 +227,7 @@ int fgetpos (FILE *, _fpos_t *); - #else - int fgetpos (FILE *__restrict, fpos_t *__restrict); - #endif --int fseek (FILE *, long, int); -+int fseek (FILE *, off_t, int); - #ifdef _LIBC - int fsetpos (FILE *, const _fpos_t *); - #else diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h index 75e9e1cbf..dc63dbe6a 100644 --- a/newlib/libc/include/sys/_pthreadtypes.h @@ -9167,114 +10449,48 @@ index f810b008f..ca7e11dc7 100644 + #endif /* !_SYS__TIMESPEC_H_ */ diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 61a6f95d8..34aeaad3d 100644 +index 5dcc77a80..3c21c147f 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h -@@ -4,6 +4,9 @@ - #include /* floating point macros */ - #include /* POSIX defs */ - -+/* we want the reentrancy structure to be returned by a function */ -+#define __DYNAMIC_REENT__ -+ - #ifdef __aarch64__ +@@ -8,6 +8,10 @@ #define MALLOC_ALIGNMENT 16 #endif -diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c02c..b208de4a7 100644 ---- a/newlib/libc/include/sys/dirent.h -+++ b/newlib/libc/include/sys/dirent.h -@@ -1,13 +1,60 @@ - /* includes , which is this file. On a - system which supports , this file is overridden by - dirent.h in the libc/sys/.../sys directory. On a system which does -- not support , we will get this file which uses #error to force -- an error. */ -+ not support , we will get this file -+*/ -+ -+#ifndef _dirent_h_ -+#define _dirent_h_ -+ -+#include -+#include -+#include -+ -+#define DT_UNKNOWN 0 -+#define DT_FIFO 1 -+#define DT_CHR 2 -+#define DT_DIR 4 -+#define DT_BLK 6 -+#define DT_REG 8 -+#define DT_LNK 10 -+#define DT_SOCK 12 -+#define DT_WHT 14 -+ -+#define _DIRENT_HAVE_D_TYPE - #ifdef __cplusplus - extern "C" { - #endif --#error " not supported" -+ -+struct dirent { -+ ino_t d_ino; -+ unsigned char d_type; -+ char d_name[NAME_MAX+1]; -+}; -+ -+typedef struct { -+ long int position; -+ DIR_ITER* dirData; -+ struct dirent fileData; -+} DIR; -+ -+int closedir(DIR *dirp); -+DIR *opendir(const char *dirname); -+struct dirent *readdir(DIR *dirp); -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -+void rewinddir(DIR *dirp); -+void seekdir(DIR *dirp, long int loc); -+long int telldir(DIR *dirp); -+ -+int scandir(const char *dirp, struct dirent ***namelist, -+ int (*filter)(const struct dirent *), -+ int (*compar)(const struct dirent **, const struct dirent **)); -+ -+int alphasort(const struct dirent **a, const struct dirent **b); ++#ifdef _ARCH_PPC ++#define __BUFSIZ__ 16384 ++#endif + - #ifdef __cplusplus - } + #ifdef __AMDGCN__ + #define __DYNAMIC_REENT__ #endif -+ -+#endif // _dirent_h_ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 45476ce4a..6ed532439 100644 +index 45476ce4a..05efc0ab2 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h -@@ -331,6 +331,16 @@ extern "C" { +@@ -331,6 +331,17 @@ extern "C" { # define __SSP_FORTIFY_LEVEL 0 #endif -+#ifdef __DEVKITA64__ ++//#ifdef __DEVKITA64__ +#define _POSIX_MONOTONIC_CLOCK 200112L +#define _POSIX_TIMERS 1 -+#define _POSIX_THREADS 1 -+#define _POSIX_SEMAPHORES 1 ++#define _POSIX_THREADS 1 ++#define _POSIX_SEMAPHORES 1 +#define _POSIX_BARRIERS 200112L +#define _POSIX_READER_WRITER_LOCKS 200112L -+#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 -+#endif ++#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 ++//#endif ++ + /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..82d2e3576 +index 000000000..5942a8914 --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,126 @@ +@@ -0,0 +1,132 @@ +//--------------------------------------------------------------------------------- +#ifndef __iosupp_h__ +#define __iosupp_h__ @@ -9293,9 +10509,10 @@ index 000000000..82d2e3576 + STD_IN, + STD_OUT, + STD_ERR, -+ STD_MAX = 16 ++ STD_MAX = 35 +}; + ++ +typedef struct { + unsigned int device; + unsigned int refcount; @@ -9353,15 +10570,19 @@ index 000000000..82d2e3576 +#define __SYSCALL(_name) __syscall_##_name +#endif + -+void __SYSCALL(exit)(int rc); -+struct _reent *__SYSCALL(getreent)(void); ++void __SYSCALL(exit) ( int rc ); ++int __SYSCALL(gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); ++void __SYSCALL(lock_init) (_LOCK_T *lock); ++void __SYSCALL(lock_acquire) (_LOCK_T *lock); ++int __SYSCALL(lock_try_acquire) (_LOCK_T *lock); ++void __SYSCALL(lock_release) (_LOCK_T *lock); ++void __SYSCALL(lock_close) (_LOCK_T *lock); ++void __SYSCALL(lock_init_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_acquire_recursive) (_LOCK_RECURSIVE_T *lock); ++int __SYSCALL(lock_try_acquire_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_release_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_close_recursive) (_LOCK_RECURSIVE_T *lock); + -+void __SYSCALL(lock_acquire)(_LOCK_T *lock); -+int __SYSCALL(lock_try_acquire)(_LOCK_T *lock); -+void __SYSCALL(lock_release)(_LOCK_T *lock); -+void __SYSCALL(lock_acquire_recursive)(_LOCK_RECURSIVE_T *lock); -+int __SYSCALL(lock_try_acquire_recursive)(_LOCK_RECURSIVE_T *lock); -+void __SYSCALL(lock_release_recursive)(_LOCK_RECURSIVE_T *lock); +int __SYSCALL(cond_signal)(_COND_T *cond); +int __SYSCALL(cond_broadcast)(_COND_T *cond); +int __SYSCALL(cond_wait)(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); @@ -9376,13 +10597,14 @@ index 000000000..82d2e3576 +void*__SYSCALL(tls_get)(uint32_t key); +int __SYSCALL(tls_delete)(uint32_t key); + -+int __SYSCALL(gettod_r)(struct _reent *ptr, struct timeval *tp, struct timezone *tz); -+int __SYSCALL(clock_gettime)(clockid_t clock_id, struct timespec *tp); -+int __SYSCALL(clock_settime)(clockid_t clock_id, const struct timespec *tp); -+int __SYSCALL(clock_getres)(clockid_t clock_id, struct timespec *res); -+int __SYSCALL(nanosleep)(const struct timespec *req, struct timespec *rem); ++struct _reent * __SYSCALL(getreent) (); ++int __SYSCALL(clock_gettime) (clockid_t clock_id, struct timespec *tp); ++int __SYSCALL(clock_settime) (clockid_t clock_id, const struct timespec *tp); ++int __SYSCALL(clock_getres) (clockid_t clock_id, struct timespec *res); ++int __SYSCALL(nanosleep) (const struct timespec *req, struct timespec *rem); + -+#undef __SYSCALL ++void __SYSCALL(malloc_lock) (struct _reent *ptr); ++void __SYSCALL(malloc_unlock) (struct _reent *ptr); + +int AddDevice( const devoptab_t* device); +int FindDevice(const char* name); @@ -9401,184 +10623,25 @@ index 000000000..82d2e3576 +//--------------------------------------------------------------------------------- +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- -diff --git a/newlib/libc/include/sys/lock.h b/newlib/libc/include/sys/lock.h -index 528904957..2c3e64f1b 100644 ---- a/newlib/libc/include/sys/lock.h -+++ b/newlib/libc/include/sys/lock.h -@@ -1,69 +1,105 @@ - #ifndef __SYS_LOCK_H__ - #define __SYS_LOCK_H__ - --/* dummy lock routines for single-threaded aps */ -- --#include - #include <_ansi.h> -+#include - --#if !defined(_RETARGETABLE_LOCKING) -+typedef uint32_t _LOCK_T; - --typedef int _LOCK_T; --typedef int _LOCK_RECURSIVE_T; -+struct __lock_t { -+ _LOCK_T lock; -+ uint32_t thread_tag; -+ uint32_t counter; -+}; - --#define __LOCK_INIT(class,lock) static int lock = 0; --#define __LOCK_INIT_RECURSIVE(class,lock) static int lock = 0; --#define __lock_init(lock) ((void) 0) --#define __lock_init_recursive(lock) ((void) 0) --#define __lock_close(lock) ((void) 0) --#define __lock_close_recursive(lock) ((void) 0) --#define __lock_acquire(lock) ((void) 0) --#define __lock_acquire_recursive(lock) ((void) 0) --#define __lock_try_acquire(lock) ((void) 0) --#define __lock_try_acquire_recursive(lock) ((void) 0) --#define __lock_release(lock) ((void) 0) --#define __lock_release_recursive(lock) ((void) 0) -+typedef struct __lock_t _LOCK_RECURSIVE_T; - --#else -+typedef uint32_t _COND_T; - - #ifdef __cplusplus - extern "C" { - #endif - --struct __lock; --typedef struct __lock * _LOCK_T; --#define _LOCK_RECURSIVE_T _LOCK_T -- --#define __LOCK_INIT(class,lock) extern struct __lock __lock_ ## lock; \ -- class _LOCK_T lock = &__lock_ ## lock --#define __LOCK_INIT_RECURSIVE(class,lock) __LOCK_INIT(class,lock) -- --extern void __retarget_lock_init(_LOCK_T *lock); --#define __lock_init(lock) __retarget_lock_init(&lock) --extern void __retarget_lock_init_recursive(_LOCK_T *lock); --#define __lock_init_recursive(lock) __retarget_lock_init_recursive(&lock) --extern void __retarget_lock_close(_LOCK_T lock); --#define __lock_close(lock) __retarget_lock_close(lock) --extern void __retarget_lock_close_recursive(_LOCK_T lock); --#define __lock_close_recursive(lock) __retarget_lock_close_recursive(lock) --extern void __retarget_lock_acquire(_LOCK_T lock); --#define __lock_acquire(lock) __retarget_lock_acquire(lock) --extern void __retarget_lock_acquire_recursive(_LOCK_T lock); --#define __lock_acquire_recursive(lock) __retarget_lock_acquire_recursive(lock) --extern int __retarget_lock_try_acquire(_LOCK_T lock); --#define __lock_try_acquire(lock) __retarget_lock_try_acquire(lock) --extern int __retarget_lock_try_acquire_recursive(_LOCK_T lock); --#define __lock_try_acquire_recursive(lock) \ -- __retarget_lock_try_acquire_recursive(lock) --extern void __retarget_lock_release(_LOCK_T lock); --#define __lock_release(lock) __retarget_lock_release(lock) --extern void __retarget_lock_release_recursive(_LOCK_T lock); --#define __lock_release_recursive(lock) __retarget_lock_release_recursive(lock) -+extern void __libc_lock_init(_LOCK_T *lock); -+extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_close(_LOCK_T *lock); -+extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_acquire(_LOCK_T *lock); -+extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_release(_LOCK_T *lock); -+extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); -+ -+/* Returns 0 for success and non-zero for failure */ -+extern int __libc_lock_try_acquire(_LOCK_T *lock); -+extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+ -+/* Returns errno */ -+extern int __libc_cond_init(_COND_T *cond); -+extern int __libc_cond_signal(_COND_T *cond); -+extern int __libc_cond_broadcast(_COND_T *cond); -+extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); -+extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); - - #ifdef __cplusplus - } - #endif - --#endif /* !defined(_RETARGETABLE_LOCKING) */ -+#define __LOCK_INITIALIZER ((_LOCK_T)0) -+#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) -+#define __COND_INITIALIZER ((_COND_T)0) -+ -+#define __LOCK_INIT(CLASS,NAME) \ -+CLASS _LOCK_T NAME = __LOCK_INITIALIZER; -+ -+#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ -+CLASS _LOCK_RECURSIVE_T NAME = __LOCK_INITIALIZER_RECURSIVE; -+ -+#define __COND_INIT(CLASS,NAME) \ -+CLASS _COND_T NAME = __COND_INITIALIZER; -+ -+#define __lock_init(NAME) \ -+ __libc_lock_init(&(NAME)) -+ -+#define __lock_init_recursive(NAME) \ -+ __libc_lock_init_recursive(&(NAME)) -+ -+#define __lock_close(NAME) \ -+ __libc_lock_close(&(NAME)) -+ -+#define __lock_close_recursive(NAME) \ -+ __libc_lock_close_recursive(&(NAME)) -+ -+#define __lock_acquire(NAME) \ -+ __libc_lock_acquire(&(NAME)) -+ -+#define __lock_acquire_recursive(NAME) \ -+ __libc_lock_acquire_recursive(&(NAME)) -+ -+#define __lock_try_acquire(NAME) \ -+ __libc_lock_try_acquire(&(NAME)) -+ -+#define __lock_try_acquire_recursive(NAME) \ -+ __libc_lock_try_acquire_recursive(&(NAME)) -+ -+#define __lock_release(NAME) \ -+ __libc_lock_release(&(NAME)) -+ -+#define __lock_release_recursive(NAME) \ -+ __libc_lock_release_recursive(&(NAME)) -+ -+#define __cond_init(NAME) \ -+ __libc_cond_init(&(NAME)) -+ -+#define __cond_signal(NAME) \ -+ __libc_cond_signal(&(NAME)) -+ -+#define __cond_broadcast(NAME) \ -+ __libc_cond_broadcast(&(NAME)) -+ -+#define __cond_wait(NAME, LOCK, TIMEOUT) \ -+ __libc_cond_wait(&(NAME), &(LOCK), (TIMEOUT)) -+ -+#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ -+ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) - --#endif /* __SYS_LOCK_H__ */ -+#endif // __SYS_LOCK_H__ diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h -index 9a6f115a6..fdd6cf92b 100644 +index 9a6f115a6..142e71d35 100644 --- a/newlib/libc/include/sys/param.h +++ b/newlib/libc/include/sys/param.h -@@ -23,7 +23,7 @@ - # define PATHSIZE (1024) +@@ -19,9 +19,6 @@ + #ifndef NOFILE + # define NOFILE (60) #endif +-#ifndef PATHSIZE +-# define PATHSIZE (1024) +-#endif --#define MAXPATHLEN PATH_MAX -+#define MAXPATHLEN PATHSIZE + #define MAXPATHLEN PATH_MAX - #define MAX(a,b) ((a) > (b) ? (a) : (b)) - #define MIN(a,b) ((a) < (b) ? (a) : (b)) diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index e4e36170e..5b8d06ed6 100644 +index 6d8b005b2..8aefe6b0f 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h -@@ -421,6 +421,8 @@ struct _reent +@@ -419,6 +419,8 @@ struct _reent __FILE *__sf; /* file descriptors */ struct _misc_reent *_misc; /* strtok, multibyte states */ char *_signal_buf; /* strsignal */ @@ -9586,27 +10649,28 @@ index e4e36170e..5b8d06ed6 100644 + void *deviceData; }; - #ifdef _REENT_GLOBAL_STDIO_STREAMS -@@ -691,6 +693,7 @@ struct _reent - # ifndef _REENT_GLOBAL_STDIO_STREAMS - __FILE __sf[3]; /* first three file descriptors */ - # endif + # define _REENT_INIT(var) \ +@@ -639,6 +641,8 @@ struct _reent + + /* signal info */ + void (**_sig_func)(int); ++ + void *deviceData; }; - #ifdef _REENT_GLOBAL_STDIO_STREAMS + #define _REENT_INIT(var) \ diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index 6525272dd..d24673618 100644 +index 98f5addb4..dbdfc416e 100644 --- a/newlib/libc/include/sys/stat.h +++ b/newlib/libc/include/sys/stat.h @@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); mode_t umask (mode_t __mask ); --#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) +-#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) int lstat (const char *__restrict __path, struct stat *__restrict __buf ); + -+#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) ++#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) int mknod (const char *__path, mode_t __mode, dev_t __dev ); #endif @@ -9664,19 +10728,11 @@ index c872d2018..b3800187f 100644 + #endif diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h -index 5e937f103..635a7a6b8 100644 +index 5e937f103..b7b4de67d 100644 --- a/newlib/libc/include/sys/utime.h +++ b/newlib/libc/include/sys/utime.h -@@ -9,12 +9,19 @@ - extern "C" { - #endif - --struct utimbuf -+struct utimbuf - { - time_t actime; -- time_t modtime; -+ time_t modtime; +@@ -15,6 +15,13 @@ struct utimbuf + time_t modtime; }; +/* Functions */ @@ -9690,38 +10746,10 @@ index 5e937f103..635a7a6b8 100644 }; #endif diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index 968642745..2ab1f9570 100644 +index 65e2b1833..d3171515d 100644 --- a/newlib/libc/locale/locale.c +++ b/newlib/libc/locale/locale.c -@@ -92,7 +92,7 @@ beginning with <<"LC_">>. - - <> returns a pointer to a structure (also defined in - `<>') describing the locale-specific conventions currently --in effect. -+in effect. - - <<_localeconv_r>> and <<_setlocale_r>> are reentrant versions of - <> and <> respectively. The extra argument -@@ -166,15 +166,18 @@ No supporting OS subroutines are required. - #include "../ctype/ctype_.h" - #include "../stdlib/local.h" - -+ - #ifdef __CYGWIN__ /* Has to be kept available as exported symbol for - backward compatibility. Set it in setlocale, but - otherwise ignore it. Applications compiled after - 2010 don't use it anymore. */ -+ - int __EXPORT __mb_cur_max = 6; - #endif - - char *_PathLocale = NULL; - -+ - #ifdef _MB_CAPABLE - /* - * Category names for getenv() -@@ -194,7 +197,11 @@ static char *categories[_LC_LAST] = { +@@ -198,7 +198,11 @@ static char *categories[_LC_LAST] = { * Default locale per POSIX. Can be overridden on a per-target base. */ #ifndef DEFAULT_LOCALE @@ -9734,7 +10762,7 @@ index 968642745..2ab1f9570 100644 #endif #ifdef _MB_CAPABLE -@@ -207,8 +214,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; +@@ -211,8 +215,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; const struct __locale_t __C_locale = { { "C", "C", "C", "C", "C", "C", "C", }, @@ -9748,7 +10776,7 @@ index 968642745..2ab1f9570 100644 0, DEFAULT_CTYPE_PTR, { -@@ -219,9 +231,15 @@ const struct __locale_t __C_locale = +@@ -223,9 +232,15 @@ const struct __locale_t __C_locale = CHAR_MAX, CHAR_MAX }, #ifndef __HAVE_LOCALE_INFO__ @@ -9764,7 +10792,7 @@ index 968642745..2ab1f9570 100644 #else /* __HAVE_LOCALE_INFO__ */ { { NULL, NULL }, /* LC_ALL */ -@@ -240,10 +258,11 @@ const struct __locale_t __C_locale = +@@ -244,10 +259,11 @@ const struct __locale_t __C_locale = }; #endif /* _MB_CAPABLE */ @@ -9777,7 +10805,7 @@ index 968642745..2ab1f9570 100644 __utf8_wctomb, __utf8_mbtowc, #else -@@ -260,9 +279,15 @@ struct __locale_t __global_locale = +@@ -264,9 +280,15 @@ struct __locale_t __global_locale = CHAR_MAX, CHAR_MAX }, #ifndef __HAVE_LOCALE_INFO__ @@ -9793,133 +10821,317 @@ index 968642745..2ab1f9570 100644 #else /* __HAVE_LOCALE_INFO__ */ { { NULL, NULL }, /* LC_ALL */ -@@ -296,7 +321,7 @@ _setlocale_r (struct _reent *p, - { - #ifndef _MB_CAPABLE - if (locale) -- { -+ { - if (strcmp (locale, "POSIX") && strcmp (locale, "C") - && strcmp (locale, "")) - return NULL; -@@ -991,6 +1016,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) - - const char * - __locale_ctype_ptr (void) -+ - { - return __get_current_locale ()->ctype_ptr; - } diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h -index a0c80843a..efabdcfc4 100644 +index 3530ec664..0a62bfd72 100644 --- a/newlib/libc/locale/setlocale.h +++ b/newlib/libc/locale/setlocale.h -@@ -217,11 +217,7 @@ __get_global_locale () - _ELIDABLE_INLINE struct __locale_t * - __get_locale_r (struct _reent *r) - { --#ifdef __HAVE_LOCALE_INFO__ - return r->_locale; --#else -- return __get_global_locale(); --#endif - } - - /* In POSIX terms the current locale is the locale used by all functions -@@ -231,11 +227,7 @@ __get_locale_r (struct _reent *r) +@@ -234,11 +234,11 @@ __get_locale_r (struct _reent *r) _ELIDABLE_INLINE struct __locale_t * __get_current_locale (void) { -#ifdef __HAVE_LOCALE_INFO__ - return _REENT->_locale ?: __get_global_locale (); ++//#ifdef __HAVE_LOCALE_INFO__ + return _REENT_LOCALE(_REENT) ?: __get_global_locale (); -#else - return __get_global_locale(); -#endif ++//#else ++// return __get_global_locale(); ++//#endif } /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE -diff --git a/newlib/libc/machine/aarch64/Makefile.am b/newlib/libc/machine/aarch64/Makefile.am -index ca7c79074..c5815db9d 100644 ---- a/newlib/libc/machine/aarch64/Makefile.am -+++ b/newlib/libc/machine/aarch64/Makefile.am -@@ -7,6 +7,7 @@ AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a +diff --git a/newlib/libc/machine/aarch64/Makefile.inc b/newlib/libc/machine/aarch64/Makefile.inc +index 063a2a84a..790b07e7b 100644 +--- a/newlib/libc/machine/aarch64/Makefile.inc ++++ b/newlib/libc/machine/aarch64/Makefile.inc +@@ -1,4 +1,5 @@ + libc_a_SOURCES += \ ++ %D%/access.c \ + %D%/memchr-stub.c \ + %D%/memchr.S \ + %D%/memcmp-stub.c \ +diff --git a/newlib/libc/machine/aarch64/access.c b/newlib/libc/machine/aarch64/access.c +new file mode 100644 +index 000000000..980682ef3 +--- /dev/null ++++ b/newlib/libc/machine/aarch64/access.c +@@ -0,0 +1,33 @@ ++/* This is file ACCESS.C */ ++/* ++ * Copyright (C) 1993 DJ Delorie ++ * All rights reserved. ++ * ++ * Redistribution, modification, and use in source and binary forms is permitted ++ * provided that the above copyright notice and following paragraph are ++ * duplicated in all such forms. ++ * ++ * This file is distributed WITHOUT ANY WARRANTY; without even the implied ++ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ */ ++ ++#include ++#include ++#include ++ ++int access(const char *fn, int flags) ++{ ++ struct stat s; ++ if (stat(fn, &s)) ++ return -1; ++ if (s.st_mode & S_IFDIR) ++ return 0; ++ if (flags & W_OK) ++ { ++ if (s.st_mode & S_IWRITE) ++ return 0; ++ return -1; ++ } ++ return 0; ++} ++ +diff --git a/newlib/libc/machine/aarch64/sys/dirent.h b/newlib/libc/machine/aarch64/sys/dirent.h +new file mode 100644 +index 000000000..2aaca6080 +--- /dev/null ++++ b/newlib/libc/machine/aarch64/sys/dirent.h +@@ -0,0 +1,58 @@ ++#ifndef _dirent_h_ ++#define _dirent_h_ ++ ++#define _DIRENT_HAVE_D_TYPE ++ ++#include ++#include ++#include ++ ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; ++ ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; ++ ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); ++ ++int scandir(const char *dirp, struct dirent ***namelist, ++int (*filter)(const struct dirent *), ++int (*compar)(const struct dirent **, const struct dirent **)); ++ ++int alphasort(const struct dirent **a, const struct dirent **b); ++ ++/* Convert between stat structure types and directory types. */ ++# define IFTODT(mode) (((mode) & 0170000) >> 12) ++# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif // _dirent_h_ +diff --git a/newlib/libc/machine/aarch64/sys/lock.h b/newlib/libc/machine/aarch64/sys/lock.h +new file mode 100644 +index 000000000..d1c4aba2a +--- /dev/null ++++ b/newlib/libc/machine/aarch64/sys/lock.h +@@ -0,0 +1,116 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ ++ ++#include <_ansi.h> ++#include ++ ++typedef uint32_t _LOCK_T; ++ ++struct __lock_t { ++ _LOCK_T lock; ++ uint32_t thread_tag; ++ uint32_t counter; ++}; ++ ++typedef struct __lock_t _LOCK_RECURSIVE_T; ++ ++typedef uint32_t _COND_T; ++ ++#define __LOCK_INITIALIZER ((_LOCK_T)0) ++#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) ++#define __COND_INITIALIZER ((_COND_T)0) ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++static inline void __libc_lock_init(_LOCK_T *lock) { ++ *lock = __LOCK_INITIALIZER; ++} ++ ++static inline void __libc_lock_close(_LOCK_T *lock ) {} ++ ++static inline void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { ++ *lock = __LOCK_INITIALIZER_RECURSIVE; ++} ++ ++static inline void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) {} ++ ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns errno */ ++static inline int __libc_cond_init(_COND_T *cond) { ++ *cond = __COND_INITIALIZER; ++} ++ ++extern int __libc_cond_signal(_COND_T *cond); ++extern int __libc_cond_broadcast(_COND_T *cond); ++extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); ++extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#define __LOCK_INIT(CLASS,NAME) \ ++CLASS _LOCK_T NAME = __LOCK_INITIALIZER; ++ ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ ++CLASS _LOCK_RECURSIVE_T NAME = __LOCK_INITIALIZER_RECURSIVE; ++ ++#define __COND_INIT(CLASS,NAME) \ ++CLASS _COND_T NAME = __COND_INITIALIZER; ++ ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) ++ ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) ++ ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close_recursive(&(NAME)) ++ ++#define __lock_acquire(NAME) \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_acquire_recursive(NAME) \ ++ __libc_lock_acquire_recursive(&(NAME)) ++ ++#define __lock_try_acquire(NAME) \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_try_acquire_recursive(NAME) \ ++ __libc_lock_try_acquire_recursive(&(NAME)) ++ ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release_recursive(&(NAME)) ++ ++#define __cond_init(NAME) \ ++ __libc_cond_init(&(NAME)) ++ ++#define __cond_signal(NAME) \ ++ __libc_cond_signal(&(NAME)) ++ ++#define __cond_broadcast(NAME) \ ++ __libc_cond_broadcast(&(NAME)) ++ ++#define __cond_wait(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait(&(NAME), &(LOCK), (TIMEOUT)) ++ ++#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) ++ ++#endif // __SYS_LOCK_H__ +diff --git a/newlib/libc/machine/arm/Makefile.inc b/newlib/libc/machine/arm/Makefile.inc +index 2d6c08d71..81b4f119d 100644 +--- a/newlib/libc/machine/arm/Makefile.inc ++++ b/newlib/libc/machine/arm/Makefile.inc +@@ -8,4 +8,5 @@ libc_a_SOURCES += \ + %D%/memcpy-stub.c \ + %D%/memcpy.S \ + %D%/strlen-stub.c \ +- %D%/strlen.S ++ %D%/sync_synchronize.c ++ +diff --git a/newlib/libc/machine/arm/setjmp.S b/newlib/libc/machine/arm/setjmp.S +index c615f2428..3a3bfd05e 100644 +--- a/newlib/libc/machine/arm/setjmp.S ++++ b/newlib/libc/machine/arm/setjmp.S +@@ -2,6 +2,8 @@ - lib_a_SOURCES = -+lib_a_SOURCES += access.c - lib_a_SOURCES += memchr-stub.c - lib_a_SOURCES += memchr.S - lib_a_SOURCES += memcmp-stub.c -diff --git a/newlib/libc/machine/aarch64/Makefile.in b/newlib/libc/machine/aarch64/Makefile.in -index c854a1b96..3361b0a8c 100644 ---- a/newlib/libc/machine/aarch64/Makefile.in -+++ b/newlib/libc/machine/aarch64/Makefile.in -@@ -75,22 +75,22 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) - am__v_at_0 = @ - lib_a_AR = $(AR) $(ARFLAGS) - lib_a_LIBADD = --am_lib_a_OBJECTS = lib_a-memchr-stub.$(OBJEXT) lib_a-memchr.$(OBJEXT) \ -- lib_a-memcmp-stub.$(OBJEXT) lib_a-memcmp.$(OBJEXT) \ -- lib_a-memcpy-stub.$(OBJEXT) lib_a-memcpy.$(OBJEXT) \ -- lib_a-memmove-stub.$(OBJEXT) lib_a-memmove.$(OBJEXT) \ -- lib_a-memset-stub.$(OBJEXT) lib_a-memset.$(OBJEXT) \ -- lib_a-rawmemchr.$(OBJEXT) lib_a-rawmemchr-stub.$(OBJEXT) \ -- lib_a-setjmp.$(OBJEXT) lib_a-stpcpy-stub.$(OBJEXT) \ -- lib_a-stpcpy.$(OBJEXT) lib_a-strchr-stub.$(OBJEXT) \ -- lib_a-strchr.$(OBJEXT) lib_a-strchrnul-stub.$(OBJEXT) \ -- lib_a-strchrnul.$(OBJEXT) lib_a-strcmp-stub.$(OBJEXT) \ -- lib_a-strcmp.$(OBJEXT) lib_a-strcpy-stub.$(OBJEXT) \ -- lib_a-strcpy.$(OBJEXT) lib_a-strlen-stub.$(OBJEXT) \ -- lib_a-strlen.$(OBJEXT) lib_a-strncmp-stub.$(OBJEXT) \ -- lib_a-strncmp.$(OBJEXT) lib_a-strnlen-stub.$(OBJEXT) \ -- lib_a-strnlen.$(OBJEXT) lib_a-strrchr-stub.$(OBJEXT) \ -- lib_a-strrchr.$(OBJEXT) -+am_lib_a_OBJECTS = lib_a-access.$(OBJEXT) lib_a-memchr-stub.$(OBJEXT) \ -+ lib_a-memchr.$(OBJEXT) lib_a-memcmp-stub.$(OBJEXT) \ -+ lib_a-memcmp.$(OBJEXT) lib_a-memcpy-stub.$(OBJEXT) \ -+ lib_a-memcpy.$(OBJEXT) lib_a-memmove-stub.$(OBJEXT) \ -+ lib_a-memmove.$(OBJEXT) lib_a-memset-stub.$(OBJEXT) \ -+ lib_a-memset.$(OBJEXT) lib_a-rawmemchr.$(OBJEXT) \ -+ lib_a-rawmemchr-stub.$(OBJEXT) lib_a-setjmp.$(OBJEXT) \ -+ lib_a-stpcpy-stub.$(OBJEXT) lib_a-stpcpy.$(OBJEXT) \ -+ lib_a-strchr-stub.$(OBJEXT) lib_a-strchr.$(OBJEXT) \ -+ lib_a-strchrnul-stub.$(OBJEXT) lib_a-strchrnul.$(OBJEXT) \ -+ lib_a-strcmp-stub.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ -+ lib_a-strcpy-stub.$(OBJEXT) lib_a-strcpy.$(OBJEXT) \ -+ lib_a-strlen-stub.$(OBJEXT) lib_a-strlen.$(OBJEXT) \ -+ lib_a-strncmp-stub.$(OBJEXT) lib_a-strncmp.$(OBJEXT) \ -+ lib_a-strnlen-stub.$(OBJEXT) lib_a-strnlen.$(OBJEXT) \ -+ lib_a-strrchr-stub.$(OBJEXT) lib_a-strrchr.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I.@am__isrc@ - depcomp = -@@ -232,7 +232,7 @@ top_srcdir = @top_srcdir@ - INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) - AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a --lib_a_SOURCES = memchr-stub.c memchr.S memcmp-stub.c memcmp.S \ -+lib_a_SOURCES = access.c memchr-stub.c memchr.S memcmp-stub.c memcmp.S \ - memcpy-stub.c memcpy.S memmove-stub.c memmove.S memset-stub.c \ - memset.S rawmemchr.S rawmemchr-stub.c setjmp.S stpcpy-stub.c \ - stpcpy.S strchr-stub.c strchr.S strchrnul-stub.c strchrnul.S \ -@@ -403,6 +403,12 @@ lib_a-strrchr.obj: strrchr.S - .c.obj: - $(AM_V_CC)$(COMPILE) -c `$(CYGPATH_W) '$<'` + Nick Clifton, Cygnus Solutions, 13 June 1997. */ -+lib_a-access.o: access.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.o `test -f 'access.c' || echo '$(srcdir)/'`access.c -+ -+lib_a-access.obj: access.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.obj `if test -f 'access.c'; then $(CYGPATH_W) 'access.c'; else $(CYGPATH_W) '$(srcdir)/access.c'; fi` ++ .fpu vfpxd + - lib_a-memchr-stub.o: memchr-stub.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.o `test -f 'memchr-stub.c' || echo '$(srcdir)/'`memchr-stub.c + #include "arm-acle-compat.h" -diff --git a/newlib/libc/machine/aarch64/access.c b/newlib/libc/machine/aarch64/access.c + /* ANSI concatenation macros. */ +diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c +new file mode 100644 +index 000000000..f5a85c3a8 +--- /dev/null ++++ b/newlib/libc/machine/arm/sync_synchronize.c +@@ -0,0 +1,8 @@ ++#if __ARM_ARCH < 6 ++#include ++void __attribute__((weak)) ++__sync_synchronize (void) ++{ ++ return; ++} ++#endif +diff --git a/newlib/libc/machine/powerpc/Makefile.inc b/newlib/libc/machine/powerpc/Makefile.inc +index 55c7ebdc6..a6acfdaa6 100644 +--- a/newlib/libc/machine/powerpc/Makefile.inc ++++ b/newlib/libc/machine/powerpc/Makefile.inc +@@ -1,6 +1,7 @@ + libc_a_CPPFLAGS_%C% = -I$(srcdir)/libc/stdio -I$(srcdir)/libc/stdlib + +-libc_a_SOURCES += %D%/setjmp.S ++libc_a_SOURCES += %D%/setjmp.S \ ++ %D%/access.c + + if HAVE_POWERPC_ALTIVEC + libc_a_SOURCES += \ +diff --git a/newlib/libc/machine/powerpc/access.c b/newlib/libc/machine/powerpc/access.c new file mode 100644 index 000000000..980682ef3 --- /dev/null -+++ b/newlib/libc/machine/aarch64/access.c ++++ b/newlib/libc/machine/powerpc/access.c @@ -0,0 +1,33 @@ +/* This is file ACCESS.C */ +/* @@ -9934,170 +11146,212 @@ index 000000000..980682ef3 + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + */ + -+#include -+#include -+#include ++#include ++#include ++#include ++ ++int access(const char *fn, int flags) ++{ ++ struct stat s; ++ if (stat(fn, &s)) ++ return -1; ++ if (s.st_mode & S_IFDIR) ++ return 0; ++ if (flags & W_OK) ++ { ++ if (s.st_mode & S_IWRITE) ++ return 0; ++ return -1; ++ } ++ return 0; ++} ++ +diff --git a/newlib/libc/machine/powerpc/machine/_types.h b/newlib/libc/machine/powerpc/machine/_types.h +new file mode 100644 +index 000000000..a7d63da51 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/machine/_types.h +@@ -0,0 +1,19 @@ ++#ifndef _MACHINE__TYPES_H ++#define _MACHINE__TYPES_H ++ ++#include ++ ++/* Use 64bit types */ ++typedef __int64_t _off_t; ++#define __machine_off_t_defined ++ ++typedef __int64_t _fpos_t; ++#define __machine_fpos_t_defined ++ ++typedef __uint32_t __ino_t; ++#define __machine_ino_t_defined ++ ++typedef __uint32_t __dev_t; ++#define __machine_dev_t_defined ++ ++#endif // _MACHINE__TYPES_H +diff --git a/newlib/libc/machine/powerpc/sys/dirent.h b/newlib/libc/machine/powerpc/sys/dirent.h +new file mode 100644 +index 000000000..2aaca6080 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/sys/dirent.h +@@ -0,0 +1,58 @@ ++#ifndef _dirent_h_ ++#define _dirent_h_ ++ ++#define _DIRENT_HAVE_D_TYPE ++ ++#include ++#include ++#include ++ ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; ++ ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; ++ ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); ++ ++int scandir(const char *dirp, struct dirent ***namelist, ++int (*filter)(const struct dirent *), ++int (*compar)(const struct dirent **, const struct dirent **)); + -+int access(const char *fn, int flags) -+{ -+ struct stat s; -+ if (stat(fn, &s)) -+ return -1; -+ if (s.st_mode & S_IFDIR) -+ return 0; -+ if (flags & W_OK) -+ { -+ if (s.st_mode & S_IWRITE) -+ return 0; -+ return -1; -+ } -+ return 0; -+} -+ -diff --git a/newlib/libc/machine/arm/Makefile.am b/newlib/libc/machine/arm/Makefile.am -index 2d559464a..1e6625c05 100644 ---- a/newlib/libc/machine/arm/Makefile.am -+++ b/newlib/libc/machine/arm/Makefile.am -@@ -9,7 +9,9 @@ noinst_LIBRARIES = lib.a - lib_a_SOURCES = setjmp.S strcmp.S strcpy.c \ - aeabi_memcpy.c aeabi_memcpy-armv7a.S \ - aeabi_memmove.c aeabi_memmove-soft.S \ -- aeabi_memset.c aeabi_memset-soft.S aeabi_memclr.c -+ aeabi_memset.c aeabi_memset-soft.S aeabi_memclr.c \ -+ sync_synchronize.c -+ - lib_a_SOURCES += memchr-stub.c - lib_a_SOURCES += memchr.S - lib_a_SOURCES += memcpy-stub.c -diff --git a/newlib/libc/machine/arm/Makefile.in b/newlib/libc/machine/arm/Makefile.in -index 17a46a44d..b319b8349 100644 ---- a/newlib/libc/machine/arm/Makefile.in -+++ b/newlib/libc/machine/arm/Makefile.in -@@ -81,10 +81,10 @@ am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ - lib_a-aeabi_memmove.$(OBJEXT) \ - lib_a-aeabi_memmove-soft.$(OBJEXT) \ - lib_a-aeabi_memset.$(OBJEXT) lib_a-aeabi_memset-soft.$(OBJEXT) \ -- lib_a-aeabi_memclr.$(OBJEXT) lib_a-memchr-stub.$(OBJEXT) \ -- lib_a-memchr.$(OBJEXT) lib_a-memcpy-stub.$(OBJEXT) \ -- lib_a-memcpy.$(OBJEXT) lib_a-strlen-stub.$(OBJEXT) \ -- lib_a-strlen.$(OBJEXT) -+ lib_a-aeabi_memclr.$(OBJEXT) lib_a-sync_synchronize.$(OBJEXT) \ -+ lib_a-memchr-stub.$(OBJEXT) lib_a-memchr.$(OBJEXT) \ -+ lib_a-memcpy-stub.$(OBJEXT) lib_a-memcpy.$(OBJEXT) \ -+ lib_a-strlen-stub.$(OBJEXT) lib_a-strlen.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I.@am__isrc@ - depcomp = -@@ -230,8 +230,8 @@ noinst_LIBRARIES = lib.a - lib_a_SOURCES = setjmp.S strcmp.S strcpy.c aeabi_memcpy.c \ - aeabi_memcpy-armv7a.S aeabi_memmove.c aeabi_memmove-soft.S \ - aeabi_memset.c aeabi_memset-soft.S aeabi_memclr.c \ -- memchr-stub.c memchr.S memcpy-stub.c memcpy.S strlen-stub.c \ -- strlen.S -+ sync_synchronize.c memchr-stub.c memchr.S memcpy-stub.c \ -+ memcpy.S strlen-stub.c strlen.S - lib_a_CCASFLAGS = $(AM_CCASFLAGS) - lib_a_CFLAGS = $(AM_CFLAGS) - ACLOCAL_AMFLAGS = -I ../../.. -I ../../../.. -@@ -389,6 +389,12 @@ lib_a-aeabi_memclr.o: aeabi_memclr.c - lib_a-aeabi_memclr.obj: aeabi_memclr.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aeabi_memclr.obj `if test -f 'aeabi_memclr.c'; then $(CYGPATH_W) 'aeabi_memclr.c'; else $(CYGPATH_W) '$(srcdir)/aeabi_memclr.c'; fi` - -+lib_a-sync_synchronize.o: sync_synchronize.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sync_synchronize.o `test -f 'sync_synchronize.c' || echo '$(srcdir)/'`sync_synchronize.c ++int alphasort(const struct dirent **a, const struct dirent **b); + -+lib_a-sync_synchronize.obj: sync_synchronize.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sync_synchronize.obj `if test -f 'sync_synchronize.c'; then $(CYGPATH_W) 'sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/sync_synchronize.c'; fi` ++/* Convert between stat structure types and directory types. */ ++# define IFTODT(mode) (((mode) & 0170000) >> 12) ++# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) + - lib_a-memchr-stub.o: memchr-stub.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.o `test -f 'memchr-stub.c' || echo '$(srcdir)/'`memchr-stub.c - -diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c -new file mode 100644 -index 000000000..3acc9e094 ---- /dev/null -+++ b/newlib/libc/machine/arm/sync_synchronize.c -@@ -0,0 +1,10 @@ -+#if __ARM_ARCH < 6 -+#include -+void __attribute__((weak)) -+__sync_synchronize (void) -+{ -+ __warn_references (__sync_synchronize, -+ "legacy compatible __sync_synchronize used. Not suitable for multi-threaded applications"); -+ return; ++#ifdef __cplusplus +} +#endif -diff --git a/newlib/libc/machine/arm/sys/stdio.h b/newlib/libc/machine/arm/sys/stdio.h ++ ++#endif // _dirent_h_ +diff --git a/newlib/libc/machine/powerpc/sys/lock.h b/newlib/libc/machine/powerpc/sys/lock.h new file mode 100644 -index 000000000..4eb278e2f +index 000000000..7f051e0c9 --- /dev/null -+++ b/newlib/libc/machine/arm/sys/stdio.h -@@ -0,0 +1,27 @@ ++++ b/newlib/libc/machine/powerpc/sys/lock.h +@@ -0,0 +1,58 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ ++ ++typedef int _LOCK_T; ++typedef int _LOCK_RECURSIVE_T; ++ ++#define __LOCK_INIT(CLASS,NAME) CLASS _LOCK_T NAME = 0 ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) CLASS _LOCK_RECURSIVE_T NAME = 0 ++ ++ ++extern void __libc_lock_init(_LOCK_T *lock); ++extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_close(_LOCK_T *lock); ++extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++ ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) ++ ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) ++ ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_acquire(NAME) \ ++ if(!(NAME)) __libc_lock_init(&(NAME)); \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_acquire_recursive(NAME) \ ++ if(!(NAME)) __libc_lock_init_recursive(&(NAME)); \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_try_acquire(NAME) \ ++ if(!(NAME)) __libc_lock_init(&(NAME)); \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_try_acquire_recursive(NAME) \ ++ if(!(NAME)) __libc_lock_init_recursive(&(NAME)); \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#endif /* __SYS_LOCK_H__ */ +diff --git a/newlib/libc/machine/powerpc/sys/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h +new file mode 100644 +index 000000000..04ebd1ee0 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/sys/stdio.h +@@ -0,0 +1,25 @@ +#ifndef _NEWLIB_STDIO_H +#define _NEWLIB_STDIO_H + -+#include -+#include -+ +/* Internal locking macros, used to protect stdio functions. In the -+ general case, expand to nothing. Use __SSTR flag in FILE _flags to -+ detect if FILE is private to sprintf/sscanf class of functions; if -+ set then do nothing as lock is not initialised. */ ++ general case, expand to nothing. */ +#if !defined(_flockfile) -+#ifndef __SINGLE_THREAD__ -+# define _flockfile(fp) (((fp)->_flags & __SSTR) ? 0 : __flockfile(fp)) -+#else -+# define _flockfile(fp) (_CAST_VOID 0) -+#endif -+#endif ++# if !defined(__SINGLE_THREAD__) ++# define _flockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __flockfile(fp); } ++ extern void __flockfile(FILE *fp); ++# else ++# define _flockfile(fp) ++# endif ++#endif /* __SINGLE_THREAD__ */ + +#if !defined(_funlockfile) -+#ifndef __SINGLE_THREAD__ -+# define _funlockfile(fp) (((fp)->_flags & __SSTR) ? 0 : __funlockfile(fp)) -+#else -+# define _funlockfile(fp) (_CAST_VOID 0) -+#endif -+#endif ++# if !defined(__SINGLE_THREAD__) ++# define _funlockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __funlockfile(fp); } ++ extern void __funlockfile(FILE *fp); ++# else ++# define _funlockfile(fp) ++# endif ++#endif /* __SINGLE_THREAD__ */ + +#endif /* _NEWLIB_STDIO_H */ -diff --git a/newlib/libc/reent/getreent.c b/newlib/libc/reent/getreent.c -index 5fa98e96b..ef8a15e1b 100644 ---- a/newlib/libc/reent/getreent.c -+++ b/newlib/libc/reent/getreent.c -@@ -1,3 +1,4 @@ -+#if 0 - /* default reentrant pointer when multithread enabled */ - - #ifdef GETREENT_PROVIDED -@@ -20,3 +21,4 @@ __getreent (void) - } - - #endif -+#endif -\ No newline at end of file -diff --git a/newlib/libc/reent/gettimeofdayr.c b/newlib/libc/reent/gettimeofdayr.c -index 9b982a993..8c0aaac8c 100644 ---- a/newlib/libc/reent/gettimeofdayr.c -+++ b/newlib/libc/reent/gettimeofdayr.c -@@ -51,7 +51,7 @@ DESCRIPTION - Check libc.a to see if its available on yours. - */ - --int -+/*int - _gettimeofday_r (struct _reent *ptr, - struct timeval *ptimeval, - void *ptimezone) -@@ -63,5 +63,5 @@ _gettimeofday_r (struct _reent *ptr, - ptr->_errno = errno; - return ret; - } -- -+*/ - #endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */ ++ diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index df8321461..55ceaab42 100644 +index df8321461..6ea00229d 100644 --- a/newlib/libc/stdio/fread.c +++ b/newlib/libc/stdio/fread.c @@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, @@ -10126,42 +11380,90 @@ index df8321461..55ceaab42 100644 resid -= fp->_r; p += fp->_r; fp->_r = 0; -@@ -225,7 +224,32 @@ _fread_r (struct _reent * ptr, - /* fp->_r = 0 ... done in __srefill */ - p += r; - resid -= r; +@@ -218,27 +217,63 @@ _fread_r (struct _reent * ptr, + else + #endif /* !PREFER_SIZE_OVER_SPEED && !__OPTIMIZE_SIZE__ */ + { ++ ++ /* ensure buffer set up before read */ ++ if (fp->_bf._base == NULL) ++ __smakebuf_r (ptr, fp); ++ ++ + while (resid > (r = fp->_r)) +- { +- (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r); +- fp->_p += r; +- /* fp->_r = 0 ... done in __srefill */ +- p += r; +- resid -= r; - if (__srefill_r (ptr, fp)) -+ -+ int rc = 0; -+ -+ if (resid>fp->_bf._size) +- { +- /* no more input: return partial result */ ++ { ++ (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r); ++ fp->_p += r; ++ /* fp->_r = 0 ... done in __srefill */ ++ p += r; ++ resid -= r; ++ ++ if (resid>fp->_bf._size) ++ { int rc = 0; ++ /* save fp buffering state */ ++ void *old_base = fp->_bf._base; ++ int old_size = fp->_bf._size; ++ /* allow __refill to use user's buffer */ ++ fp->_bf._base = (unsigned char *) p; ++ fp->_bf._size = resid - old_size; ++ fp->_p = (unsigned char *) p; ++ rc = __srefill_r (ptr, fp); ++ /* restore fp buffering back to original state */ ++ fp->_bf._base = old_base; ++ fp->_bf._size = old_size; ++ fp->_p = old_base; ++ resid -= fp->_r; ++ p += fp->_r; ++ if (rc) + { -+ /* save fp buffering state */ -+ void *old_base = fp->_bf._base; -+ void * old_p = fp->_p; -+ int old_size = fp->_bf._size; -+ /* allow __refill to use user's buffer */ -+ fp->_bf._base = (unsigned char *) p; -+ fp->_bf._size = resid; -+ fp->_p = (unsigned char *) p; -+ rc = __srefill_r (ptr, fp); -+ /* restore fp buffering back to original state */ -+ fp->_bf._base = old_base; -+ fp->_bf._size = old_size; -+ fp->_p = old_base; -+ resid -= fp->_r; -+ p += fp->_r; -+ fp->_r = 0; -+ -+ } else { -+ rc = __srefill_r (ptr, fp); -+ } -+ if (rc) - { - /* no more input: return partial result */ #ifdef __SCLE +- if (fp->_flags & __SCLE) +- { +- _newlib_flockfile_exit (fp); +- return crlf_r (ptr, fp, buf, total-resid, 1) / size; +- } ++ if (fp->_flags & __SCLE) ++ { ++ _newlib_flockfile_exit (fp); ++ return crlf_r (ptr, fp, buf, total-resid, 1) / size; ++ } + #endif +- _newlib_flockfile_exit (fp); +- return (total - resid) / size; +- } +- } ++ _newlib_flockfile_exit (fp); ++ return (total - resid) / size; ++ } ++ } ++ if (__srefill_r (ptr, fp)) ++ { ++ /* no more input: return partial result */ ++#ifdef __SCLE ++ if (fp->_flags & __SCLE) ++ { ++ _newlib_flockfile_exit (fp); ++ return crlf_r (ptr, fp, buf, total-resid, 1) / size; ++ } ++#endif ++ _newlib_flockfile_exit (fp); ++ return (total - resid) / size; ++ } ++ } + (void) memcpy ((void *) p, (void *) fp->_p, resid); + fp->_r -= resid; + fp->_p += resid; diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h -index 84ff40b49..ba1d4ee7b 100644 +index b34c7c9d8..f18dc4301 100644 --- a/newlib/libc/stdio/local.h +++ b/newlib/libc/stdio/local.h @@ -56,7 +56,7 @@ @@ -10169,10 +11471,31 @@ index 84ff40b49..ba1d4ee7b 100644 #if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS) \ - && !defined (__rtems__) -+ && !defined (__rtems__) && !defined (__DEVKITA64__) ++ && !defined (__rtems__) && !defined (__DEVKITPRO__) #define _STDIO_WITH_THREAD_CANCELLATION_SUPPORT #endif +diff --git a/newlib/libc/stdio/makebuf.c b/newlib/libc/stdio/makebuf.c +index b9c75bbf8..b9af455b8 100644 +--- a/newlib/libc/stdio/makebuf.c ++++ b/newlib/libc/stdio/makebuf.c +@@ -19,6 +19,7 @@ + #include <_ansi.h> + #include + #include ++#include + #include + #include + #include +@@ -50,7 +51,7 @@ __smakebuf_r (struct _reent *ptr, + return; + } + flags = __swhatbuf_r (ptr, fp, &size, &couldbetty); +- if ((p = _malloc_r (ptr, size)) == NULL) ++ if ((p = _memalign_r (ptr, 0x40, size)) == NULL) + { + if (!(fp->_flags & __SSTR)) + { diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c index d8dfdbd82..a85b5a99b 100644 --- a/newlib/libc/stdio/remove.c @@ -10197,8 +11520,38 @@ index d8dfdbd82..a85b5a99b 100644 return 0; } +diff --git a/newlib/libc/stdio/setvbuf.c b/newlib/libc/stdio/setvbuf.c +index e27ea086c..2a98b66d5 100644 +--- a/newlib/libc/stdio/setvbuf.c ++++ b/newlib/libc/stdio/setvbuf.c +@@ -81,6 +81,7 @@ Supporting OS subroutines required: <>, <>, <>, + #include <_ansi.h> + #include + #include ++#include + #include "local.h" + + /* +@@ -143,7 +144,7 @@ setvbuf (register FILE * fp, + /* Allocate buffer if needed. */ + if (buf == NULL) + { +- if ((buf = malloc (size)) == NULL) ++ if ((buf = memalign (0x40, size)) == NULL) + { + /* + * Unable to honor user's request. We will return +@@ -153,7 +154,7 @@ setvbuf (register FILE * fp, + if (size != iosize) + { + size = iosize; +- buf = malloc (size); ++ buf = memalign (0x40, size); + } + } + if (buf == NULL) diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index c1483c0ac..319b1972b 100644 +index 6a198e2c6..5ded3fd6e 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c @@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, @@ -10229,7 +11582,7 @@ index c1483c0ac..319b1972b 100644 if (ch == 'S' || (flags & LONGINT)) { mbstate_t ps; diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index 037692531..b5e524c53 100644 +index cfeea9876..ab7e9d7f1 100644 --- a/newlib/libc/stdio/vfscanf.c +++ b/newlib/libc/stdio/vfscanf.c @@ -74,6 +74,8 @@ These are GNU extensions. @@ -10242,7 +11595,7 @@ index 037692531..b5e524c53 100644 #include #include diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c -index 7384b37d3..b4e1dbde5 100644 +index 7807a1229..30526cb70 100644 --- a/newlib/libc/stdio/vfwprintf.c +++ b/newlib/libc/stdio/vfwprintf.c @@ -92,6 +92,9 @@ SEEALSO @@ -10256,7 +11609,7 @@ index 7384b37d3..b4e1dbde5 100644 #ifdef INTEGER_ONLY diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index e9e00dfec..c38d81e17 100644 +index df966f929..106d99e94 100644 --- a/newlib/libc/stdio/vfwscanf.c +++ b/newlib/libc/stdio/vfwscanf.c @@ -74,6 +74,9 @@ PORTABILITY @@ -10269,65 +11622,33 @@ index e9e00dfec..c38d81e17 100644 #include <_ansi.h> #include #include -diff --git a/newlib/libc/stdlib/Makefile.am b/newlib/libc/stdlib/Makefile.am -index a91bdc784..e049adc9a 100644 ---- a/newlib/libc/stdlib/Makefile.am -+++ b/newlib/libc/stdlib/Makefile.am -@@ -112,6 +112,7 @@ MALLOCR=mallocr - endif - - EXTENDED_SOURCES = \ -+ threads.c \ - arc4random.c \ - arc4random_uniform.c \ - cxa_atexit.c \ -diff --git a/newlib/libc/stdlib/Makefile.in b/newlib/libc/stdlib/Makefile.in -index 0fed51d79..2d8dc1325 100644 ---- a/newlib/libc/stdlib/Makefile.in -+++ b/newlib/libc/stdlib/Makefile.in -@@ -127,7 +127,7 @@ am__objects_2 = lib_a-__adjust.$(OBJEXT) lib_a-__atexit.$(OBJEXT) \ - lib_a-wcstoumax.$(OBJEXT) lib_a-wcstombs.$(OBJEXT) \ - lib_a-wcstombs_r.$(OBJEXT) lib_a-wctomb.$(OBJEXT) \ - lib_a-wctomb_r.$(OBJEXT) $(am__objects_1) --am__objects_3 = lib_a-arc4random.$(OBJEXT) \ -+am__objects_3 = lib_a-threads.$(OBJEXT) lib_a-arc4random.$(OBJEXT) \ - lib_a-arc4random_uniform.$(OBJEXT) lib_a-cxa_atexit.$(OBJEXT) \ - lib_a-cxa_finalize.$(OBJEXT) lib_a-drand48.$(OBJEXT) \ - lib_a-ecvtbuf.$(OBJEXT) lib_a-efgcvt.$(OBJEXT) \ -@@ -182,7 +182,7 @@ am__objects_9 = __adjust.lo __atexit.lo __call_atexit.lo __exp10.lo \ - utoa.lo wcstod.lo wcstoimax.lo wcstol.lo wcstoul.lo \ - wcstoumax.lo wcstombs.lo wcstombs_r.lo wctomb.lo wctomb_r.lo \ - $(am__objects_8) --am__objects_10 = arc4random.lo arc4random_uniform.lo cxa_atexit.lo \ -+am__objects_10 = threads.lo arc4random.lo arc4random_uniform.lo cxa_atexit.lo \ - cxa_finalize.lo drand48.lo ecvtbuf.lo efgcvt.lo erand48.lo \ - jrand48.lo lcong48.lo lrand48.lo mrand48.lo msize.lo mtrim.lo \ - nrand48.lo rand48.lo seed48.lo srand48.lo strtoll.lo \ -@@ -1102,6 +1102,12 @@ lib_a-wcstold.o: wcstold.c - lib_a-wcstold.obj: wcstold.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstold.obj `if test -f 'wcstold.c'; then $(CYGPATH_W) 'wcstold.c'; else $(CYGPATH_W) '$(srcdir)/wcstold.c'; fi` - -+lib_a-threads.o: threads.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-threads.o `test -f 'threads.c' || echo '$(srcdir)/'`threads.c -+ -+lib_a-threads.obj: threads.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-threads.obj `if test -f 'threads.c'; then $(CYGPATH_W) 'threads.c'; else $(CYGPATH_W) '$(srcdir)/threads.c'; fi` -+ - lib_a-arc4random.o: arc4random.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-arc4random.o `test -f 'arc4random.c' || echo '$(srcdir)/'`arc4random.c - -diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c -index 920a7ea3c..ba5ee7652 100644 ---- a/newlib/libc/stdlib/mbtowc_r.c -+++ b/newlib/libc/stdlib/mbtowc_r.c -@@ -7,6 +7,7 @@ - #include - #include "local.h" +diff --git a/newlib/libc/stdlib/Makefile.inc b/newlib/libc/stdlib/Makefile.inc +index 9812add76..8410f2633 100644 +--- a/newlib/libc/stdlib/Makefile.inc ++++ b/newlib/libc/stdlib/Makefile.inc +@@ -68,6 +68,7 @@ libc_a_SOURCES += \ + %D%/strtol.c \ + %D%/strtoul.c \ + %D%/strtoumax.c \ ++ %D%/threads.c \ + %D%/utoa.c \ + %D%/wcstod.c \ + %D%/wcstoimax.c \ +diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c +index 23aa10173..ba88eb9fb 100644 +--- a/newlib/libc/stdlib/mlock.c ++++ b/newlib/libc/stdlib/mlock.c +@@ -1,4 +1,5 @@ + #ifndef MALLOC_PROVIDED ++#ifndef CUSTOM_MALLOC_LOCK + /* + FUNCTION + <<__malloc_lock>>, <<__malloc_unlock>>---lock malloc pool +@@ -55,3 +56,4 @@ __malloc_unlock (ptr) + } -+ - int - _mbtowc_r (struct _reent *r, - wchar_t *__restrict pwc, + #endif ++#endif diff --git a/newlib/libc/stdlib/threads.c b/newlib/libc/stdlib/threads.c new file mode 100755 index 000000000..741111ea0 @@ -10583,12 +11904,76 @@ index 000000000..40092f99f +#define __machine_dev_t_defined +#endif + +diff --git a/newlib/libc/sys/arm/sys/dirent.h b/newlib/libc/sys/arm/sys/dirent.h +new file mode 100644 +index 000000000..2aaca6080 +--- /dev/null ++++ b/newlib/libc/sys/arm/sys/dirent.h +@@ -0,0 +1,58 @@ ++#ifndef _dirent_h_ ++#define _dirent_h_ ++ ++#define _DIRENT_HAVE_D_TYPE ++ ++#include ++#include ++#include ++ ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; ++ ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; ++ ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); ++ ++int scandir(const char *dirp, struct dirent ***namelist, ++int (*filter)(const struct dirent *), ++int (*compar)(const struct dirent **, const struct dirent **)); ++ ++int alphasort(const struct dirent **a, const struct dirent **b); ++ ++/* Convert between stat structure types and directory types. */ ++# define IFTODT(mode) (((mode) & 0170000) >> 12) ++# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif // _dirent_h_ diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h new file mode 100644 -index 000000000..567fed56b +index 000000000..bd74ccc42 --- /dev/null +++ b/newlib/libc/sys/arm/sys/lock.h -@@ -0,0 +1,66 @@ +@@ -0,0 +1,118 @@ +#ifndef __SYS_LOCK_H__ +#define __SYS_LOCK_H__ + @@ -10605,10 +11990,28 @@ index 000000000..567fed56b + +typedef struct __lock_t _LOCK_RECURSIVE_T; + -+extern void __libc_lock_init(_LOCK_T *lock); -+extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_close(_LOCK_T *lock); -+extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); ++typedef uint32_t _COND_T; ++ ++#define __LOCK_INITIALIZER ((_LOCK_T)0) ++#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) ++#define __COND_INITIALIZER ((_COND_T)0) ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++static inline void __libc_lock_init(_LOCK_T *lock) { ++ *lock = __LOCK_INITIALIZER; ++} ++ ++static inline void __libc_lock_close(_LOCK_T *lock ) {} ++ ++static inline void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { ++ *lock = __LOCK_INITIALIZER_RECURSIVE; ++} ++ ++static inline void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) {} ++ +extern void __libc_lock_acquire(_LOCK_T *lock); +extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); +extern void __libc_lock_release(_LOCK_T *lock); @@ -10618,11 +12021,29 @@ index 000000000..567fed56b +extern int __libc_lock_try_acquire(_LOCK_T *lock); +extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); + ++/* Returns errno */ ++static inline int __libc_cond_init(_COND_T *cond) { ++ *cond = __COND_INITIALIZER; ++} ++ ++extern int __libc_cond_signal(_COND_T *cond); ++extern int __libc_cond_broadcast(_COND_T *cond); ++extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); ++extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ +#define __LOCK_INIT(CLASS,NAME) \ -+CLASS _LOCK_T NAME = 1; ++CLASS _LOCK_T NAME = __LOCK_INITIALIZER; + +#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ -+CLASS _LOCK_RECURSIVE_T NAME = {1,0,0}; ++CLASS _LOCK_RECURSIVE_T NAME = __LOCK_INITIALIZER_RECURSIVE; ++ ++#define __COND_INIT(CLASS,NAME) \ ++CLASS _COND_T NAME = __COND_INITIALIZER; + +#define __lock_init(NAME) \ + __libc_lock_init(&(NAME)) @@ -10654,4 +12075,20 @@ index 000000000..567fed56b +#define __lock_release_recursive(NAME) \ + __libc_lock_release_recursive(&(NAME)) + ++#define __cond_init(NAME) \ ++ __libc_cond_init(&(NAME)) ++ ++#define __cond_signal(NAME) \ ++ __libc_cond_signal(&(NAME)) ++ ++#define __cond_broadcast(NAME) \ ++ __libc_cond_broadcast(&(NAME)) ++ ++#define __cond_wait(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait(&(NAME), &(LOCK), (TIMEOUT)) ++ ++#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) ++ ++ +#endif // __SYS_LOCK_H__ diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 3b8a96d..251e0dd 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -62,7 +62,7 @@ then --enable-lto \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 20" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 21" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index 9ce929f..37f4eb9 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -51,7 +51,7 @@ case "$VERSION" in "3" ) GCC_VER=12.2.0 BINUTILS_VER=2.32 - NEWLIB_VER=4.2.0.20211231 + NEWLIB_VER=4.3.0.20230120 basedir='dka64' package=devkitA64 target=aarch64-none-elf From a07a271bdbe5dd98ade84b8804005901bfac3e35 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 1 Apr 2023 22:38:53 +0100 Subject: [PATCH 201/280] devkitA64: add __DEVKITPRO__ to built-in defines --- dka64/patches/gcc-12.2.0.patch | 221 ++++++++++++++++++--------------- 1 file changed, 121 insertions(+), 100 deletions(-) diff --git a/dka64/patches/gcc-12.2.0.patch b/dka64/patches/gcc-12.2.0.patch index c1c98bf..5a218a1 100644 --- a/dka64/patches/gcc-12.2.0.patch +++ b/dka64/patches/gcc-12.2.0.patch @@ -1,7 +1,56 @@ -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.cc gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.cc ---- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.cc 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.cc 2022-05-02 21:50:30.090088643 +0100 -@@ -19417,8 +19417,24 @@ +diff --git a/gcc/config.gcc b/gcc/config.gcc +index c5064dd3766..decfa78fb7b 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -1093,7 +1093,14 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) + tmake_file="${tmake_file} aarch64/t-aarch64" + case $target in + aarch64-*-elf*) ++ default_use_cxa_atexit=yes + use_gcc_stdint=wrap ++ tm_file="${tm_file} devkitpro.h" ++ tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" ++ extra_options="${extra_options} devkitpro.opt" ++ case ${enable_threads} in ++ "" | yes | posix) thread_file='posix' ;; ++ esac + ;; + aarch64-*-fuchsia*) + tm_file="${tm_file} fuchsia.h" +diff --git a/gcc/config/aarch64/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h +index d4d820a9d54..ed5dd440846 100644 +--- a/gcc/config/aarch64/aarch64-elf-raw.h ++++ b/gcc/config/aarch64/aarch64-elf-raw.h +@@ -22,6 +22,7 @@ + #ifndef GCC_AARCH64_ELF_RAW_H + #define GCC_AARCH64_ELF_RAW_H + ++#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" + #define STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" + #define ENDFILE_SPEC \ + " crtend%O%s crtn%O%s " \ +diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h +index 93572fe8330..9327c52a819 100644 +--- a/gcc/config/aarch64/aarch64-opts.h ++++ b/gcc/config/aarch64/aarch64-opts.h +@@ -48,6 +48,12 @@ enum aarch64_tls_type { + TLS_DESCRIPTORS + }; + ++/* Which thread pointer access sequence to use. */ ++enum aarch64_tp_type { ++ TP_HARD, ++ TP_SOFT ++}; ++ + /* The code model defines the address generation strategy. + Most have a PIC and non-PIC variant. */ + enum aarch64_code_model { +diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc +index 5c9e7791a12..718db155d57 100644 +--- a/gcc/config/aarch64/aarch64.cc ++++ b/gcc/config/aarch64/aarch64.cc +@@ -19413,8 +19413,24 @@ aarch64_load_tp (rtx target) || !register_operand (target, Pmode)) target = gen_reg_rtx (Pmode); @@ -28,21 +77,11 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.cc gcc-12.1.0-RC-2 return target; } -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-elf-raw.h gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-elf-raw.h ---- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-elf-raw.h 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-elf-raw.h 2022-05-02 21:50:30.086094234 +0100 -@@ -22,6 +22,7 @@ - #ifndef GCC_AARCH64_ELF_RAW_H - #define GCC_AARCH64_ELF_RAW_H - -+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" - #define STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" - #define ENDFILE_SPEC \ - " crtend%O%s crtn%O%s " \ -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.h gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.h ---- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.h 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.h 2022-05-02 21:50:30.090088643 +0100 -@@ -1245,6 +1245,10 @@ +diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h +index 359b6e8561f..f5b596fc312 100644 +--- a/gcc/config/aarch64/aarch64.h ++++ b/gcc/config/aarch64/aarch64.h +@@ -1245,6 +1245,10 @@ typedef struct /* Check TLS Descriptors mechanism is selected. */ #define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS) @@ -53,7 +92,7 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.h gcc-12.1.0-RC-20 extern enum aarch64_code_model aarch64_cmodel; /* When using the tiny addressing model conditional and unconditional branches -@@ -1290,7 +1294,7 @@ +@@ -1290,7 +1294,7 @@ extern const char *aarch64_rewrite_mcpu (int argc, const char **argv); #define MCPU_TO_MARCH_SPEC_FUNCTIONS \ { "rewrite_mcpu", aarch64_rewrite_mcpu }, @@ -62,10 +101,11 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.h gcc-12.1.0-RC-20 extern const char *host_detect_local_cpu (int argc, const char **argv); #define HAVE_LOCAL_CPU_DETECT # define EXTRA_SPEC_FUNCTIONS \ -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.md gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.md ---- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.md 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.md 2022-05-02 21:50:30.090088643 +0100 -@@ -6899,11 +6899,22 @@ +diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md +index 34b8059b45b..4debacf3cb9 100644 +--- a/gcc/config/aarch64/aarch64.md ++++ b/gcc/config/aarch64/aarch64.md +@@ -6906,11 +6906,22 @@ (define_insn "aarch64_load_tp_hard" [(set (match_operand:DI 0 "register_operand" "=r") (unspec:DI [(const_int 0)] UNSPEC_TLS))] @@ -90,10 +130,11 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.md gcc-12.1.0-RC-2 ;; The TLS ABI specifically requires that the compiler does not schedule ;; instructions in the TLS stubs, in order to enable linker relaxation. ;; Therefore we treat the stubs as an atomic sequence. -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.opt gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.opt ---- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.opt 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.opt 2022-05-02 21:50:30.090088643 +0100 -@@ -122,6 +122,21 @@ +diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt +index 92220b26ee2..68abc1764f6 100644 +--- a/gcc/config/aarch64/aarch64.opt ++++ b/gcc/config/aarch64/aarch64.opt +@@ -122,6 +122,21 @@ Enum(aarch64_tls_size) String(32) Value(32) EnumValue Enum(aarch64_tls_size) String(48) Value(48) @@ -115,7 +156,7 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.opt gcc-12.1.0-RC- march= Target RejectNegative Negative(march=) ToLower Joined Var(aarch64_arch_string) Use features of architecture ARCH. -@@ -260,7 +275,7 @@ +@@ -260,7 +275,7 @@ TargetVariable long aarch64_stack_protector_guard_offset = 0 moutline-atomics @@ -124,26 +165,11 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.opt gcc-12.1.0-RC- Generate local calls to out-of-line atomic operations. -param=aarch64-sve-compare-costs= -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-opts.h gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-opts.h ---- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-opts.h 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-opts.h 2022-05-02 21:50:30.086094234 +0100 -@@ -48,6 +48,12 @@ - TLS_DESCRIPTORS - }; - -+/* Which thread pointer access sequence to use. */ -+enum aarch64_tp_type { -+ TP_HARD, -+ TP_SOFT -+}; -+ - /* The code model defines the address generation strategy. - Most have a PIC and non-PIC variant. */ - enum aarch64_code_model { -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/t-aarch64 gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/t-aarch64 ---- gcc-12.1.0-RC-20220429/gcc/config/aarch64/t-aarch64 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/t-aarch64 2022-05-02 21:50:30.090088643 +0100 -@@ -177,8 +177,10 @@ +diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64 +index ba74abc0a43..5202ec05d0b 100644 +--- a/gcc/config/aarch64/t-aarch64 ++++ b/gcc/config/aarch64/t-aarch64 +@@ -177,8 +177,10 @@ aarch64-cc-fusion.o: $(srcdir)/config/aarch64/aarch64-cc-fusion.cc \ $(srcdir)/config/aarch64/aarch64-cc-fusion.cc comma=, @@ -156,10 +182,12 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/t-aarch64 gcc-12.1.0-RC-20 insn-conditions.md: s-check-sve-md s-check-sve-md: $(srcdir)/config/aarch64/check-sve-md.awk \ -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/devkitpro.h gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.h ---- gcc-12.1.0-RC-20220429/gcc/config/devkitpro.h 1970-01-01 01:00:00.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.h 2022-05-02 22:04:49.962851033 +0100 -@@ -0,0 +1,29 @@ +diff --git a/gcc/config/devkitpro.h b/gcc/config/devkitpro.h +new file mode 100644 +index 00000000000..a25459e4352 +--- /dev/null ++++ b/gcc/config/devkitpro.h +@@ -0,0 +1,32 @@ +/* Definitions for devkitPro toolchains. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + @@ -188,10 +216,15 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/devkitpro.h gcc-12.1.0-RC-20220429 +#define TARGET_OS_CPP_BUILTINS() \ + do { \ + builtin_define ("__DEVKITA64__"); \ ++ builtin_define ("__DEVKITPRO__"); \ + } while (0) -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/devkitpro.opt gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.opt ---- gcc-12.1.0-RC-20220429/gcc/config/devkitpro.opt 1970-01-01 01:00:00.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.opt 2022-05-02 21:50:30.090088643 +0100 ++ ++ +diff --git a/gcc/config/devkitpro.opt b/gcc/config/devkitpro.opt +new file mode 100644 +index 00000000000..9acbbf9d27c +--- /dev/null ++++ b/gcc/config/devkitpro.opt @@ -0,0 +1,29 @@ +; Options for devkitPro toolchains. + @@ -222,10 +255,11 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/devkitpro.opt gcc-12.1.0-RC-202204 +Driver + +; This comment is to ensure we retain the blank line above. -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc gcc-12.1.0-RC-20220429-dka64/gcc/config/i386/host-mingw32.cc ---- gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/i386/host-mingw32.cc 2022-05-02 21:50:30.090088643 +0100 -@@ -45,7 +45,11 @@ +diff --git a/gcc/config/i386/host-mingw32.cc b/gcc/config/i386/host-mingw32.cc +index 3b0d83ffc60..6e063b6ccd0 100644 +--- a/gcc/config/i386/host-mingw32.cc ++++ b/gcc/config/i386/host-mingw32.cc +@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void); static inline void w32_error(const char*, const char*, int, const char*); /* FIXME: Is this big enough? */ @@ -237,28 +271,11 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc gcc-12.1.0-RC /* Granularity for reserving address space. */ static size_t va_granularity = 0x10000; -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config.gcc gcc-12.1.0-RC-20220429-dka64/gcc/config.gcc ---- gcc-12.1.0-RC-20220429/gcc/config.gcc 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config.gcc 2022-05-02 21:50:30.086094234 +0100 -@@ -1093,7 +1093,14 @@ - tmake_file="${tmake_file} aarch64/t-aarch64" - case $target in - aarch64-*-elf*) -+ default_use_cxa_atexit=yes - use_gcc_stdint=wrap -+ tm_file="${tm_file} devkitpro.h" -+ tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" -+ extra_options="${extra_options} devkitpro.opt" -+ case ${enable_threads} in -+ "" | yes | posix) thread_file='posix' ;; -+ esac - ;; - aarch64-*-fuchsia*) - tm_file="${tm_file} fuchsia.h" -diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dka64/gcc/gcc.cc ---- gcc-12.1.0-RC-20220429/gcc/gcc.cc 2022-04-29 14:58:23.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/gcc.cc 2022-05-02 21:50:30.090088643 +0100 -@@ -860,6 +860,11 @@ +diff --git a/gcc/gcc.cc b/gcc/gcc.cc +index bb07cc244e3..eff31f5093d 100644 +--- a/gcc/gcc.cc ++++ b/gcc/gcc.cc +@@ -860,6 +860,11 @@ proper position among the other output files. */ #endif #endif @@ -270,7 +287,7 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dka64/gcc/g /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ #ifndef STARTFILE_SPEC #define STARTFILE_SPEC \ -@@ -1204,6 +1209,7 @@ +@@ -1204,6 +1209,7 @@ static const char *link_spec = LINK_SPEC; static const char *lib_spec = LIB_SPEC; static const char *link_gomp_spec = ""; static const char *libgcc_spec = LIBGCC_SPEC; @@ -278,7 +295,7 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dka64/gcc/g static const char *endfile_spec = ENDFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC; static const char *linker_name_spec = LINKER_NAME; -@@ -1709,6 +1715,7 @@ +@@ -1709,6 +1715,7 @@ static struct spec_list static_specs[] = INIT_STATIC_SPEC ("lib", &lib_spec), INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec), @@ -286,10 +303,11 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dka64/gcc/g INIT_STATIC_SPEC ("startfile", &startfile_spec), INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("version", &compiler_version), -diff -NBaur gcc-12.1.0-RC-20220429/libgcc/crtstuff.c gcc-12.1.0-RC-20220429-dka64/libgcc/crtstuff.c ---- gcc-12.1.0-RC-20220429/libgcc/crtstuff.c 2022-04-29 14:58:25.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/libgcc/crtstuff.c 2022-05-02 21:50:30.094083051 +0100 -@@ -325,7 +325,7 @@ +diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c +index b98b86a5a88..3f62b3616d2 100644 +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -325,7 +325,7 @@ register_tm_clones (void) #ifdef OBJECT_FORMAT_ELF @@ -298,10 +316,11 @@ diff -NBaur gcc-12.1.0-RC-20220429/libgcc/crtstuff.c gcc-12.1.0-RC-20220429-dka6 /* Declare the __dso_handle variable. It should have a unique value in every shared-object; in a main program its value is zero. The object should in any case be protected. This means the instance -diff -NBaur gcc-12.1.0-RC-20220429/libgcc/gthr.h gcc-12.1.0-RC-20220429-dka64/libgcc/gthr.h ---- gcc-12.1.0-RC-20220429/libgcc/gthr.h 2022-04-29 14:58:25.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/libgcc/gthr.h 2022-05-02 21:50:30.094083051 +0100 -@@ -136,7 +136,7 @@ +diff --git a/libgcc/gthr.h b/libgcc/gthr.h +index 7943c94f6d1..6d23362f7f0 100644 +--- a/libgcc/gthr.h ++++ b/libgcc/gthr.h +@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see /* The pe-coff weak support isn't fully compatible to ELF's weak. For static libraries it might would work, but as we need to deal with shared versions too, we disable it for mingw-targets. */ @@ -310,10 +329,11 @@ diff -NBaur gcc-12.1.0-RC-20220429/libgcc/gthr.h gcc-12.1.0-RC-20220429-dka64/li #undef GTHREAD_USE_WEAK #define GTHREAD_USE_WEAK 0 #endif -diff -NBaur gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.am gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.am ---- gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.am 2022-04-29 14:58:26.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.am 2022-05-02 21:50:30.094083051 +0100 -@@ -1366,6 +1366,7 @@ +diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am +index 7708f4cf6c5..d3f484a5623 100644 +--- a/libstdc++-v3/include/Makefile.am ++++ b/libstdc++-v3/include/Makefile.am +@@ -1366,6 +1366,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ @@ -321,10 +341,11 @@ diff -NBaur gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.am gcc-12.1.0-R -e 's,^#include "\(.*\)",#include ,g' \ < $< > $@ -diff -NBaur gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.in gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.in ---- gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.in 2022-04-29 14:58:26.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.in 2022-05-02 21:50:30.094083051 +0100 -@@ -1857,6 +1857,7 @@ +diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in +index 7023c2de23e..d150a616d13 100644 +--- a/libstdc++-v3/include/Makefile.in ++++ b/libstdc++-v3/include/Makefile.in +@@ -1857,6 +1857,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ From 84ca4f5c18b43d8815ce887acd9705a9f4a8973f Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 1 Apr 2023 22:39:58 +0100 Subject: [PATCH 202/280] devkitA64: remove old gcc patch --- dka64/patches/gcc-12.1.0.patch | 334 --------------------------------- 1 file changed, 334 deletions(-) delete mode 100644 dka64/patches/gcc-12.1.0.patch diff --git a/dka64/patches/gcc-12.1.0.patch b/dka64/patches/gcc-12.1.0.patch deleted file mode 100644 index c1c98bf..0000000 --- a/dka64/patches/gcc-12.1.0.patch +++ /dev/null @@ -1,334 +0,0 @@ -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.cc gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.cc ---- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.cc 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.cc 2022-05-02 21:50:30.090088643 +0100 -@@ -19417,8 +19417,24 @@ - || !register_operand (target, Pmode)) - target = gen_reg_rtx (Pmode); - -- /* Can return in any reg. */ -- emit_insn (gen_aarch64_load_tp_hard (target)); -+ if (TARGET_HARD_TP) -+ { -+ /* Can return in any reg. */ -+ emit_insn (gen_aarch64_load_tp_hard (target)); -+ } -+ else -+ { -+ /* Always returned in r0. Immediately copy the result into a pseudo, -+ otherwise other uses of r0 (e.g. setting up function arguments) may -+ clobber the value. */ -+ -+ rtx tmp; -+ -+ emit_insn (gen_aarch64_load_tp_soft ()); -+ -+ tmp = gen_rtx_REG (DImode, R0_REGNUM); -+ emit_move_insn (target, tmp); -+ } - return target; - } - -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-elf-raw.h gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-elf-raw.h ---- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-elf-raw.h 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-elf-raw.h 2022-05-02 21:50:30.086094234 +0100 -@@ -22,6 +22,7 @@ - #ifndef GCC_AARCH64_ELF_RAW_H - #define GCC_AARCH64_ELF_RAW_H - -+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" - #define STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" - #define ENDFILE_SPEC \ - " crtend%O%s crtn%O%s " \ -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.h gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.h ---- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.h 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.h 2022-05-02 21:50:30.090088643 +0100 -@@ -1245,6 +1245,10 @@ - /* Check TLS Descriptors mechanism is selected. */ - #define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS) - -+/* Check selected thread pointer access sequence to use. */ -+#define TARGET_HARD_TP (target_thread_pointer == TP_HARD) -+#define TARGET_SOFT_TP (target_thread_pointer == TP_SOFT) -+ - extern enum aarch64_code_model aarch64_cmodel; - - /* When using the tiny addressing model conditional and unconditional branches -@@ -1290,7 +1294,7 @@ - #define MCPU_TO_MARCH_SPEC_FUNCTIONS \ - { "rewrite_mcpu", aarch64_rewrite_mcpu }, - --#if defined(__aarch64__) -+#if 0 // defined(__aarch64__) - extern const char *host_detect_local_cpu (int argc, const char **argv); - #define HAVE_LOCAL_CPU_DETECT - # define EXTRA_SPEC_FUNCTIONS \ -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.md gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.md ---- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.md 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.md 2022-05-02 21:50:30.090088643 +0100 -@@ -6899,11 +6899,22 @@ - (define_insn "aarch64_load_tp_hard" - [(set (match_operand:DI 0 "register_operand" "=r") - (unspec:DI [(const_int 0)] UNSPEC_TLS))] -- "" -- "mrs\\t%0, tpidr_el0" -+ "TARGET_HARD_TP" -+ "mrs\\t%0, tpidr_el0\\t// aarch64_load_tp_hard" - [(set_attr "type" "mrs")] - ) - -+(define_insn "aarch64_load_tp_soft" -+ [(set (reg:DI 0) (unspec:DI [(const_int 0)] UNSPEC_TLS)) -+ (clobber (reg:DI IP0_REGNUM)) -+ (clobber (reg:DI IP1_REGNUM)) -+ (clobber (reg:DI LR_REGNUM)) -+ (clobber (reg:CC CC_REGNUM))] -+ "TARGET_SOFT_TP" -+ "bl\\t__aarch64_read_tp\\t// aarch64_load_tp_soft" -+ [(set_attr "type" "branch")] -+) -+ - ;; The TLS ABI specifically requires that the compiler does not schedule - ;; instructions in the TLS stubs, in order to enable linker relaxation. - ;; Therefore we treat the stubs as an atomic sequence. -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.opt gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.opt ---- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64.opt 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64.opt 2022-05-02 21:50:30.090088643 +0100 -@@ -122,6 +122,21 @@ - EnumValue - Enum(aarch64_tls_size) String(48) Value(48) - -+mtp= -+Target RejectNegative Joined Enum(aarch64_tp_type) Var(target_thread_pointer) Init(TP_HARD) -+Specify how to access the thread pointer. -+ -+Enum -+Name(aarch64_tp_type) Type(enum aarch64_tp_type) -+Valid arguments to -mtp=: -+ -+EnumValue -+Enum(aarch64_tp_type) String(hard) Value(TP_HARD) -+ -+EnumValue -+Enum(aarch64_tp_type) String(soft) Value(TP_SOFT) -+ -+ - march= - Target RejectNegative Negative(march=) ToLower Joined Var(aarch64_arch_string) - Use features of architecture ARCH. -@@ -260,7 +275,7 @@ - long aarch64_stack_protector_guard_offset = 0 - - moutline-atomics --Target Var(aarch64_flag_outline_atomics) Init(2) Save -+Target Var(aarch64_flag_outline_atomics) Save - Generate local calls to out-of-line atomic operations. - - -param=aarch64-sve-compare-costs= -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-opts.h gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-opts.h ---- gcc-12.1.0-RC-20220429/gcc/config/aarch64/aarch64-opts.h 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/aarch64-opts.h 2022-05-02 21:50:30.086094234 +0100 -@@ -48,6 +48,12 @@ - TLS_DESCRIPTORS - }; - -+/* Which thread pointer access sequence to use. */ -+enum aarch64_tp_type { -+ TP_HARD, -+ TP_SOFT -+}; -+ - /* The code model defines the address generation strategy. - Most have a PIC and non-PIC variant. */ - enum aarch64_code_model { -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/aarch64/t-aarch64 gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/t-aarch64 ---- gcc-12.1.0-RC-20220429/gcc/config/aarch64/t-aarch64 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/aarch64/t-aarch64 2022-05-02 21:50:30.090088643 +0100 -@@ -177,8 +177,10 @@ - $(srcdir)/config/aarch64/aarch64-cc-fusion.cc - - comma=, --MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG)))) --MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG)) -+MULTILIB_OPTIONS = mcmodel=large fPIC -+MULTILIB_DIRNAMES = large pic -+MULTILIB_REQUIRED = mcmodel=large fPIC -+MULTILIB_MATCHES = fPIC=fpic fPIC=fpie fPIC=fPIE - - insn-conditions.md: s-check-sve-md - s-check-sve-md: $(srcdir)/config/aarch64/check-sve-md.awk \ -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/devkitpro.h gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.h ---- gcc-12.1.0-RC-20220429/gcc/config/devkitpro.h 1970-01-01 01:00:00.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.h 2022-05-02 22:04:49.962851033 +0100 -@@ -0,0 +1,29 @@ -+/* Definitions for devkitPro toolchains. -+ Copyright (C) 2016-2018 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. -+ -+ 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 -+ . */ -+ -+#undef TARGET_OS_CPP_BUILTINS -+#define TARGET_OS_CPP_BUILTINS() \ -+ do { \ -+ builtin_define ("__DEVKITA64__"); \ -+ } while (0) -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/devkitpro.opt gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.opt ---- gcc-12.1.0-RC-20220429/gcc/config/devkitpro.opt 1970-01-01 01:00:00.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/devkitpro.opt 2022-05-02 21:50:30.090088643 +0100 -@@ -0,0 +1,29 @@ -+; Options for devkitPro toolchains. -+ -+; Copyright (C) 2011-2018 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 the GCC internals manual (options.texi) for a description of -+; this file's format. -+ -+; Please try to keep this file in ASCII collating order. -+ -+pthread -+Driver -+ -+; This comment is to ensure we retain the blank line above. -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc gcc-12.1.0-RC-20220429-dka64/gcc/config/i386/host-mingw32.cc ---- gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config/i386/host-mingw32.cc 2022-05-02 21:50:30.090088643 +0100 -@@ -45,7 +45,11 @@ - static inline void w32_error(const char*, const char*, int, const char*); - - /* FIXME: Is this big enough? */ -+#if __MINGW64__ -+static const size_t pch_VA_max_size = UINT64_C(64 * 1024 * 1024 * 1024); -+#else - static const size_t pch_VA_max_size = 128 * 1024 * 1024; -+#endif - - /* Granularity for reserving address space. */ - static size_t va_granularity = 0x10000; -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config.gcc gcc-12.1.0-RC-20220429-dka64/gcc/config.gcc ---- gcc-12.1.0-RC-20220429/gcc/config.gcc 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/config.gcc 2022-05-02 21:50:30.086094234 +0100 -@@ -1093,7 +1093,14 @@ - tmake_file="${tmake_file} aarch64/t-aarch64" - case $target in - aarch64-*-elf*) -+ default_use_cxa_atexit=yes - use_gcc_stdint=wrap -+ tm_file="${tm_file} devkitpro.h" -+ tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" -+ extra_options="${extra_options} devkitpro.opt" -+ case ${enable_threads} in -+ "" | yes | posix) thread_file='posix' ;; -+ esac - ;; - aarch64-*-fuchsia*) - tm_file="${tm_file} fuchsia.h" -diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dka64/gcc/gcc.cc ---- gcc-12.1.0-RC-20220429/gcc/gcc.cc 2022-04-29 14:58:23.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/gcc/gcc.cc 2022-05-02 21:50:30.090088643 +0100 -@@ -860,6 +860,11 @@ - #endif - #endif - -+#ifndef LIBGLOSS_SPEC -+# define LIBGLOSS_SPEC "-lsysbase" -+#endif -+ -+ - /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ - #ifndef STARTFILE_SPEC - #define STARTFILE_SPEC \ -@@ -1204,6 +1209,7 @@ - static const char *lib_spec = LIB_SPEC; - static const char *link_gomp_spec = ""; - static const char *libgcc_spec = LIBGCC_SPEC; -+static const char *libgloss_spec = LIBGLOSS_SPEC; - static const char *endfile_spec = ENDFILE_SPEC; - static const char *startfile_spec = STARTFILE_SPEC; - static const char *linker_name_spec = LINKER_NAME; -@@ -1709,6 +1715,7 @@ - INIT_STATIC_SPEC ("lib", &lib_spec), - INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), - INIT_STATIC_SPEC ("libgcc", &libgcc_spec), -+ INIT_STATIC_SPEC ("libgloss", &libgloss_spec), - INIT_STATIC_SPEC ("startfile", &startfile_spec), - INIT_STATIC_SPEC ("cross_compile", &cross_compile), - INIT_STATIC_SPEC ("version", &compiler_version), -diff -NBaur gcc-12.1.0-RC-20220429/libgcc/crtstuff.c gcc-12.1.0-RC-20220429-dka64/libgcc/crtstuff.c ---- gcc-12.1.0-RC-20220429/libgcc/crtstuff.c 2022-04-29 14:58:25.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/libgcc/crtstuff.c 2022-05-02 21:50:30.094083051 +0100 -@@ -325,7 +325,7 @@ - - #ifdef OBJECT_FORMAT_ELF - --#if DEFAULT_USE_CXA_ATEXIT -+#if 1 /* DEFAULT_USE_CXA_ATEXIT */ - /* Declare the __dso_handle variable. It should have a unique value - in every shared-object; in a main program its value is zero. The - object should in any case be protected. This means the instance -diff -NBaur gcc-12.1.0-RC-20220429/libgcc/gthr.h gcc-12.1.0-RC-20220429-dka64/libgcc/gthr.h ---- gcc-12.1.0-RC-20220429/libgcc/gthr.h 2022-04-29 14:58:25.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/libgcc/gthr.h 2022-05-02 21:50:30.094083051 +0100 -@@ -136,7 +136,7 @@ - /* The pe-coff weak support isn't fully compatible to ELF's weak. - For static libraries it might would work, but as we need to deal - with shared versions too, we disable it for mingw-targets. */ --#ifdef __MINGW32__ -+#if defined(__MINGW32__) || defined(__DEVKITA64__) - #undef GTHREAD_USE_WEAK - #define GTHREAD_USE_WEAK 0 - #endif -diff -NBaur gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.am gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.am ---- gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.am 2022-04-29 14:58:26.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.am 2022-05-02 21:50:30.094083051 +0100 -@@ -1366,6 +1366,7 @@ - -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ - -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ - -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ -+ -e 's/_GLIBCXX___DEVKITA64_GLIBCXX___/__DEVKITA64__/g' \ - -e 's,^#include "\(.*\)",#include ,g' \ - < $< > $@ - -diff -NBaur gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.in gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.in ---- gcc-12.1.0-RC-20220429/libstdc++-v3/include/Makefile.in 2022-04-29 14:58:26.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dka64/libstdc++-v3/include/Makefile.in 2022-05-02 21:50:30.094083051 +0100 -@@ -1857,6 +1857,7 @@ - -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ - -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ - -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ -+ -e 's/_GLIBCXX___DEVKITA64_GLIBCXX___/__DEVKITA64__/g' \ - -e 's,^#include "\(.*\)",#include ,g' \ - < $< > $@ - From 87f8584b86fd62465a24d667c89e5e2c21f075c8 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 22 Feb 2023 16:07:06 +0000 Subject: [PATCH 203/280] devkitA64: use binutils 2.40 --- select_toolchain.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/select_toolchain.sh b/select_toolchain.sh index 37f4eb9..4b498fb 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -31,7 +31,7 @@ done case "$VERSION" in "1" ) GCC_VER=12.2.0 - BINUTILS_VER=2.39 + BINUTILS_VER=2.40 NEWLIB_VER=4.2.0.20211231 basedir='dkarm-eabi' package=devkitARM From 776be5894d04e09d5610a3ef7f6184efabee0e35 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 22 Feb 2023 16:08:12 +0000 Subject: [PATCH 204/280] devkitARM: next update is release 60 --- build-devkit.sh | 2 +- dkarm-eabi/scripts/build-gcc.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 3ba26b5..32d6ca2 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash #--------------------------------------------------------------------------------- -# devkitARM release 59 +# devkitARM release 60 # devkitPPC release 41 # devkitA64 release 21 #--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 99ef223..a9fc6a0 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -66,7 +66,7 @@ then --with-system-zlib \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 59" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 60" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ From b280c0af31dd3ff073deb0286900d6904ccc5edc Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 22 Feb 2023 18:10:59 +0000 Subject: [PATCH 205/280] devkitARM: update gcc patch --- dkarm-eabi/patches/gcc-12.2.0.patch | 90 ++++++++++++++++------------- 1 file changed, 49 insertions(+), 41 deletions(-) diff --git a/dkarm-eabi/patches/gcc-12.2.0.patch b/dkarm-eabi/patches/gcc-12.2.0.patch index 95b119c..d1097ef 100644 --- a/dkarm-eabi/patches/gcc-12.2.0.patch +++ b/dkarm-eabi/patches/gcc-12.2.0.patch @@ -1,7 +1,8 @@ -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/arm-cpus.in gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/arm-cpus.in ---- gcc-12.1.0-RC-20220429/gcc/config/arm/arm-cpus.in 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/arm-cpus.in 2022-04-30 13:31:09.120134164 +0100 -@@ -412,7 +412,7 @@ +diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in +index 0d3082b569f..15be7fc47b3 100644 +--- a/gcc/config/arm/arm-cpus.in ++++ b/gcc/config/arm/arm-cpus.in +@@ -412,7 +412,7 @@ begin arch armv6k tune for mpcore tune flags CO_PROC base 6K @@ -10,16 +11,11 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/arm-cpus.in gcc-12.1.0-RC-2022 option fp add VFPv2 FP_DBL optalias vfpv2 fp option nofp remove ALL_FP -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/t-arm-elf gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/t-arm-elf ---- gcc-12.1.0-RC-20220429/gcc/config/arm/t-arm-elf 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/t-arm-elf 2022-04-30 13:31:39.759455398 +0100 -@@ -1,4 +1,4 @@ --# Copyright (C) 1998-2022 Free Software Foundation, Inc. -+# Copyright (C) 1998-2021 Free Software Foundation, Inc. - # - # This file is part of GCC. - # -@@ -16,120 +16,14 @@ +diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf +index 1459afea921..72e1d20861d 100644 +--- a/gcc/config/arm/t-arm-elf ++++ b/gcc/config/arm/t-arm-elf +@@ -16,120 +16,22 @@ # along with GCC; see the file COPYING3. If not see # . @@ -69,8 +65,8 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/t-arm-elf gcc-12.1.0-RC-202204 - -MULTILIB_OPTIONS = -MULTILIB_DIRNAMES = -+MULTILIB_OPTIONS = mthumb mbig-endian march=armv6k mfloat-abi=hard -+MULTILIB_DIRNAMES = thumb be armv6k fpu ++MULTILIB_OPTIONS = mthumb mbig-endian march=armv6k march=armv6s-m mfloat-abi=hard mfloat-abi=soft ++MULTILIB_DIRNAMES = thumb be armv6k v6-m fpu nofp MULTILIB_EXCEPTIONS = MULTILIB_MATCHES = -MULTILIB_REUSE = @@ -117,25 +113,31 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/t-arm-elf gcc-12.1.0-RC-202204 -MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \ - march?armv7+fp=march?$(ARCH) \ - march?armv7+fp=march?$(ARCH)+fp) -- + -MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \ - march?armv7+fp=march?$(ARCH) \ - $(foreach FPARCH, $(v8_fps), \ - march?armv7+fp=march?$(ARCH)+$(FPARCH))) ++MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard mthumb/march=armv6s-m/mfloat-abi=soft -MULTILIB_MATCHES += $(foreach ARCH, $(all_v9_archs), \ - march?armv7+fp=march?$(ARCH) \ - $(foreach FPARCH, $(v9_fps), \ - march?armv7+fp=march?$(ARCH)+$(FPARCH))) -+MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard -MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \ - march?armv7+fp=march?$(ARCH)+fp.dp) - --# PART 4 - Reuse rules +MULTILIB_MATCHES += march?armv6k=mtune?mpcore +MULTILIB_MATCHES += march?armv6k=mcpu?mpcore +-# PART 4 - Reuse rules ++MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m0 ++MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m0 ++MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m0plus ++MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m0plus ++MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m1 ++MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m1 + -MULTILIB_REUSE += mthumb=mthumb/mfpu.auto -MULTILIB_REUSE += mthumb=mthumb/mfpu.auto/march.armv5te+fp -MULTILIB_REUSE += mthumb=mthumb/march.armv5te+fp @@ -145,9 +147,11 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/t-arm-elf gcc-12.1.0-RC-202204 -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/unknown-elf.h gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/unknown-elf.h ---- gcc-12.1.0-RC-20220429/gcc/config/arm/unknown-elf.h 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/unknown-elf.h 2022-04-30 13:31:09.120134164 +0100 ++MULTILIB_REUSE = mthumb/march.armv6s-m/mfloat-abi.soft=mthumb/march.armv6s-m +diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h +index bfb294beaa3..7e2e1c7bbbe 100644 +--- a/gcc/config/arm/unknown-elf.h ++++ b/gcc/config/arm/unknown-elf.h @@ -29,7 +29,7 @@ #endif @@ -164,10 +168,11 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/unknown-elf.h gcc-12.1.0-RC-20 -#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %{!nolibc:%L} --end-group" +#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" + -diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc gcc-12.1.0-RC-20220429-dkarm/gcc/config/i386/host-mingw32.cc ---- gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc 2022-04-29 14:58:22.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/i386/host-mingw32.cc 2022-04-30 13:31:09.120134164 +0100 -@@ -45,7 +45,11 @@ +diff --git a/gcc/config/i386/host-mingw32.cc b/gcc/config/i386/host-mingw32.cc +index 3b0d83ffc60..6e063b6ccd0 100644 +--- a/gcc/config/i386/host-mingw32.cc ++++ b/gcc/config/i386/host-mingw32.cc +@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void); static inline void w32_error(const char*, const char*, int, const char*); /* FIXME: Is this big enough? */ @@ -179,10 +184,11 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc gcc-12.1.0-RC /* Granularity for reserving address space. */ static size_t va_granularity = 0x10000; -diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dkarm/gcc/gcc.cc ---- gcc-12.1.0-RC-20220429/gcc/gcc.cc 2022-04-29 14:58:23.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dkarm/gcc/gcc.cc 2022-04-30 13:31:09.120134164 +0100 -@@ -860,6 +860,11 @@ +diff --git a/gcc/gcc.cc b/gcc/gcc.cc +index bb07cc244e3..eff31f5093d 100644 +--- a/gcc/gcc.cc ++++ b/gcc/gcc.cc +@@ -860,6 +860,11 @@ proper position among the other output files. */ #endif #endif @@ -194,7 +200,7 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dkarm/gcc/g /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ #ifndef STARTFILE_SPEC #define STARTFILE_SPEC \ -@@ -1204,6 +1209,7 @@ +@@ -1204,6 +1209,7 @@ static const char *link_spec = LINK_SPEC; static const char *lib_spec = LIB_SPEC; static const char *link_gomp_spec = ""; static const char *libgcc_spec = LIBGCC_SPEC; @@ -202,7 +208,7 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dkarm/gcc/g static const char *endfile_spec = ENDFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC; static const char *linker_name_spec = LINKER_NAME; -@@ -1709,6 +1715,7 @@ +@@ -1709,6 +1715,7 @@ static struct spec_list static_specs[] = INIT_STATIC_SPEC ("lib", &lib_spec), INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec), @@ -210,19 +216,21 @@ diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dkarm/gcc/g INIT_STATIC_SPEC ("startfile", &startfile_spec), INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("version", &compiler_version), -diff -NBaur gcc-12.1.0-RC-20220429/libgcc/config/arm/t-bpabi gcc-12.1.0-RC-20220429-dkarm/libgcc/config/arm/t-bpabi ---- gcc-12.1.0-RC-20220429/libgcc/config/arm/t-bpabi 2022-04-29 14:58:25.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dkarm/libgcc/config/arm/t-bpabi 2022-04-30 13:31:09.120134164 +0100 -@@ -17,4 +17,4 @@ +diff --git a/libgcc/config/arm/t-bpabi b/libgcc/config/arm/t-bpabi +index dddddc7c444..c2502597953 100644 +--- a/libgcc/config/arm/t-bpabi ++++ b/libgcc/config/arm/t-bpabi +@@ -17,4 +17,4 @@ SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver # On ARM, specifying -fnon-call-exceptions will needlessly pull in # the unwinder in simple programs which use 64-bit division. Omitting # the option is safe. -LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions +LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -diff -NBaur gcc-12.1.0-RC-20220429/libgcc/crtstuff.c gcc-12.1.0-RC-20220429-dkarm/libgcc/crtstuff.c ---- gcc-12.1.0-RC-20220429/libgcc/crtstuff.c 2022-04-29 14:58:25.000000000 +0100 -+++ gcc-12.1.0-RC-20220429-dkarm/libgcc/crtstuff.c 2022-04-30 13:31:09.120134164 +0100 -@@ -325,7 +325,7 @@ +diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c +index b98b86a5a88..3f62b3616d2 100644 +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -325,7 +325,7 @@ register_tm_clones (void) #ifdef OBJECT_FORMAT_ELF From cd5e224d6a14f7d32712ab10cfc08e0c6a2daea3 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 9 Mar 2023 17:56:10 +0000 Subject: [PATCH 206/280] devkitARM: update newlib to 4.3.0 --- dkarm-eabi/patches/gcc-12.2.0.patch | 129 + .../patches/newlib-4.2.0.20211231.patch | 8324 ----------- .../patches/newlib-4.3.0.20230120.patch | 12094 ++++++++++++++++ select_toolchain.sh | 2 +- 4 files changed, 12224 insertions(+), 8325 deletions(-) delete mode 100644 dkarm-eabi/patches/newlib-4.2.0.20211231.patch create mode 100644 dkarm-eabi/patches/newlib-4.3.0.20230120.patch diff --git a/dkarm-eabi/patches/gcc-12.2.0.patch b/dkarm-eabi/patches/gcc-12.2.0.patch index d1097ef..26a5996 100644 --- a/dkarm-eabi/patches/gcc-12.2.0.patch +++ b/dkarm-eabi/patches/gcc-12.2.0.patch @@ -1,3 +1,19 @@ +diff --git a/gcc/config.gcc b/gcc/config.gcc +index c5064dd3766..b244608f001 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -1366,6 +1366,11 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems* | arm*-*-fuchsia*) + tm_file="$tm_file newlib-stdint.h" + tmake_file="${tmake_file} arm/t-bpabi" + use_gcc_stdint=wrap ++ tm_file="${tm_file} devkitpro.h" ++ extra_options="${extra_options} devkitpro.opt" ++ case ${enable_threads} in ++ "" | yes | posix) thread_file='posix' ;; ++ esac + ;; + arm*-*-fuchsia*) + tm_file="${tm_file} fuchsia.h arm/fuchsia-elf.h glibc-stdint.h" diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in index 0d3082b569f..15be7fc47b3 100644 --- a/gcc/config/arm/arm-cpus.in @@ -168,6 +184,74 @@ index bfb294beaa3..7e2e1c7bbbe 100644 -#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %{!nolibc:%L} --end-group" +#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" + +diff --git a/gcc/config/devkitpro.h b/gcc/config/devkitpro.h +new file mode 100644 +index 00000000000..180a9ea8553 +--- /dev/null ++++ b/gcc/config/devkitpro.h +@@ -0,0 +1,27 @@ ++/* Definitions for devkitPro toolchains. ++ Copyright (C) 2016-2018 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. ++ 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 ++ . */ ++ ++#undef TARGET_OS_CPP_BUILTINS ++#define TARGET_OS_CPP_BUILTINS() \ ++ do { \ ++ builtin_define ("__DEVKITPRO__"); \ ++ builtin_define ("__DEVKITARM__"); \ ++ } while (0) ++ ++ +diff --git a/gcc/config/devkitpro.opt b/gcc/config/devkitpro.opt +new file mode 100644 +index 00000000000..9acbbf9d27c +--- /dev/null ++++ b/gcc/config/devkitpro.opt +@@ -0,0 +1,29 @@ ++; Options for devkitPro toolchains. ++ ++; Copyright (C) 2011-2018 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 the GCC internals manual (options.texi) for a description of ++; this file's format. ++ ++; Please try to keep this file in ASCII collating order. ++ ++pthread ++Driver ++ ++; This comment is to ensure we retain the blank line above. diff --git a/gcc/config/i386/host-mingw32.cc b/gcc/config/i386/host-mingw32.cc index 3b0d83ffc60..6e063b6ccd0 100644 --- a/gcc/config/i386/host-mingw32.cc @@ -239,3 +323,48 @@ index b98b86a5a88..3f62b3616d2 100644 /* Declare the __dso_handle variable. It should have a unique value in every shared-object; in a main program its value is zero. The object should in any case be protected. This means the instance +diff --git a/libgcc/gthr.h b/libgcc/gthr.h +index 7943c94f6d1..1edc5360f6a 100644 +--- a/libgcc/gthr.h ++++ b/libgcc/gthr.h +@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + /* The pe-coff weak support isn't fully compatible to ELF's weak. + For static libraries it might would work, but as we need to deal + with shared versions too, we disable it for mingw-targets. */ +-#ifdef __MINGW32__ ++#ifdef __MINGW32__ || defined(__DEVKITARM__) + #undef GTHREAD_USE_WEAK + #define GTHREAD_USE_WEAK 0 + #endif +diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am +index 7708f4cf6c5..01743392303 100644 +--- a/libstdc++-v3/include/Makefile.am ++++ b/libstdc++-v3/include/Makefile.am +@@ -1366,6 +1366,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} + -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ + -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ + -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ ++ -e 's/_GLIBCXX___DEVKITARM_GLIBCXX___/__DEVKITARM__/g' \ + -e 's,^#include "\(.*\)",#include ,g' \ + < $< > $@ + +diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in +index 7023c2de23e..33bec80c2ce 100644 +--- a/libstdc++-v3/include/Makefile.in ++++ b/libstdc++-v3/include/Makefile.in +@@ -336,6 +336,7 @@ prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ + python_mod_dir = @python_mod_dir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -1857,6 +1858,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} + -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ + -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ + -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ ++ -e 's/_GLIBCXX___DEVKITARM_GLIBCXX___/__DEVKITARM__/g' \ + -e 's,^#include "\(.*\)",#include ,g' \ + < $< > $@ + diff --git a/dkarm-eabi/patches/newlib-4.2.0.20211231.patch b/dkarm-eabi/patches/newlib-4.2.0.20211231.patch deleted file mode 100644 index d579914..0000000 --- a/dkarm-eabi/patches/newlib-4.2.0.20211231.patch +++ /dev/null @@ -1,8324 +0,0 @@ -diff --git a/libgloss/configure b/libgloss/configure -index e70c57d89..ac5c745f9 100755 ---- a/libgloss/configure -+++ b/libgloss/configure -@@ -2787,6 +2787,8 @@ if test "${config_libnosys}" = "true"; then - - fi - -+subdirs="$subdirs libsysbase" -+ - DEPDIR="${am__leading_dot}deps" - - ac_config_commands="$ac_config_commands depfiles" -diff --git a/libgloss/configure.ac b/libgloss/configure.ac -index 0fbe99526..577dfdec6 100644 ---- a/libgloss/configure.ac -+++ b/libgloss/configure.ac -@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. - AC_PREREQ(2.69)dnl - AC_INIT([libgloss],[LIBGLOSS_VERSION]) - AC_CONFIG_SRCDIR([libnosys]) -+AC_CONFIG_SRCDIR([libsysbase]) - - if test "${enable_shared}" = "yes" ; then - echo "Shared libraries not supported for cross compiling, ignored" -@@ -196,6 +197,7 @@ dnl fi - if test "${config_libnosys}" = "true"; then - AC_CONFIG_SUBDIRS([libnosys]) - fi -+AC_CONFIG_SUBDIRS(libsysbase) - - LIB_AC_PROG_CC - AS=${AS-as} -diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in -new file mode 100644 -index 000000000..edb10d215 ---- /dev/null -+++ b/libgloss/libsysbase/Makefile.in -@@ -0,0 +1,148 @@ -+# Copyright (c) 1998 Cygnus Support -+# -+# The authors hereby grant permission to use, copy, modify, distribute, -+# and license this software and its documentation for any purpose, provided -+# that existing copyright notices are retained in all copies and that this -+# notice is included verbatim in any distributions. No written agreement, -+# license, or royalty fee is required for any of the authorized uses. -+# Modifications to this software may be copyrighted by their authors -+# and need not follow the licensing terms described here, provided that -+# the new terms are clearly indicated on the first page of each file where -+# they apply. -+ -+DESTDIR = -+VPATH = @srcdir@ -+srcdir = @srcdir@ -+objdir = . -+srcroot = $(srcdir)/../.. -+objroot = $(objdir)/../.. -+ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+host_alias = @host_alias@ -+target_alias = @target_alias@ -+program_transform_name = @program_transform_name@ -+ -+bindir = @bindir@ -+libdir = @libdir@ -+tooldir = $(exec_prefix)/$(target_alias) -+ -+# Multilib support variables. -+# TOP is used instead of MULTI{BUILD,SRC}TOP. -+MULTIDIRS = -+MULTISUBDIR = -+MULTIDO = true -+MULTICLEAN = true -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+ -+SHELL = /bin/sh -+ -+CC = @CC@ -+ -+#AS = @AS@ -+AS = `if [ -f ${objroot}/../gas/as.new ] ; \ -+ then echo ${objroot}/../gas/as.new ; \ -+ else echo as ; fi` -+ -+AR = @AR@ -+ -+#LD = @LD@ -+LD = `if [ -f ${objroot}/../ld/ld.new ] ; \ -+ then echo ${objroot}/../ld/ld.new ; \ -+ else echo ld ; fi` -+ -+RANLIB = @RANLIB@ -+ -+OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \ -+ then echo ${objroot}/../binutils/objdump ; \ -+ else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi` -+OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \ -+ then echo ${objroot}/../binutils/objcopy ; \ -+ else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi` -+ -+# object files needed -+OBJS = abort.o iosupport.o clocks.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ -+ isatty.o kill.o link.o lseek.o lstat.o nanosleep.o open.o read.o sbrk.o sleep.o stat.o usleep.o times.o \ -+ unlink.o wait.o write.o _exit.o malloc_vars.o \ -+ chdir.o mkdir.o rename.o build_argv.o statvfs.o \ -+ flock.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ -+ fchmod.o chmod.o getreent.o rmdir.o utime.o scandir.o syscall_support.o -+ -+# Object files specific to particular targets. -+EVALOBJS = ${OBJS} -+ -+GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \ -+ then echo -L${objroot}/../gcc ; fi` -+ -+OUTPUTS = libsysbase.a -+ -+NEWLIB_CFLAGS = `if [ -d ${objroot}/newlib ]; then echo -I${objroot}/newlib/targ-include -I${srcroot}/newlib/libc/include; fi` -+NEWLIB_LDFLAGS = `if [ -d ${objroot}/newlib ]; then echo -B${objroot}/newlib/ -L${objroot}/newlib/; fi` -+ -+INCLUDES = -I. -I$(srcdir)/.. -+# Note that when building the library, ${MULTILIB} is not the way multilib -+# options are passed; they're passed in $(CFLAGS). -+CFLAGS_FOR_TARGET = ${MULTILIB} ${INCLUDES} ${NEWLIB_CFLAGS} -+LDFLAGS_FOR_TARGET = ${MULTILIB} ${NEWLIB_LDFLAGS} -+AR_FLAGS = qc -+ -+.c.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -D_BUILDING_LIBSYSBASE -O2 $(INCLUDES) -c $(CFLAGS) $< -+ -+.C.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -O2 -D_BUILDING_LIBSYSBASE $(INCLUDES) -c $(CFLAGS) $< -+.s.o: -+ $(AS) $(ASFLAGS_FOR_TARGET) $(INCLUDES) $(ASFLAGS) -o $*.o $< -+ -+# -+# GCC knows to run the preprocessor on .S files before it assembles them. -+# -+.S.o: -+ $(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< -+ -+# -+# this is a bogus target that'll produce an assembler from the -+# C source with the right compiler options. this is so we can -+# track down code generation or debug symbol bugs. -+# -+.c.s: -+ $(CC) $(CFLAGS_FOR_TARGET) -S $(INCLUDES) $(CFLAGS) $< -+ -+all: ${OUTPUTS} -+ -+# -+# here's where we build the library for each target -+# -+ -+libsysbase.a: $(EVALOBJS) -+ ${AR} ${ARFLAGS} $@ $(EVALOBJS) -+ ${RANLIB} $@ -+ -+doc: -+ -+clean mostlyclean: -+ rm -f $(OUTPUTS) *.i *~ *.o *-test *.srec *.dis *.map *.x -+ -+distclean maintainer-clean realclean: clean -+ rm -f Makefile config.status $(OUTPUTS) -+ -+.PHONY: install info install-info clean-info -+install: -+ @for outputs in ${OUTPUTS}; do\ -+ mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ -+ $(INSTALL_PROGRAM) $${outputs} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ -+ done -+ -+info: -+install-info: -+clean-info: -+ -+Makefile: Makefile.in config.status @host_makefile_frag_path@ -+ $(SHELL) config.status -+ -+config.status: configure -+ $(SHELL) config.status --recheck -diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c -new file mode 100644 -index 000000000..6effb1105 ---- /dev/null -+++ b/libgloss/libsysbase/_exit.c -@@ -0,0 +1,17 @@ -+/* Stub version of _exit. */ -+ -+#include -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+void _exit(int rc) -+{ -+ -+ if ( __has_syscall(exit) ) { -+ __syscall_exit(rc); -+ } -+ -+ while(1); -+} -diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c -new file mode 100644 -index 000000000..9272e22c9 ---- /dev/null -+++ b/libgloss/libsysbase/abort.c -@@ -0,0 +1,8 @@ -+#include -+#include -+ -+void abort(void) { -+ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); -+ _exit (1); -+} -+ -diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h -new file mode 100644 -index 000000000..200ea7873 ---- /dev/null -+++ b/libgloss/libsysbase/acconfig.h -@@ -0,0 +1,29 @@ -+/* Name of package. */ -+#undef PACKAGE -+ -+/* Version of package. */ -+#undef VERSION -+ -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES -+ -+/* Reentrant syscalls */ -+#undef REENTRANT_SYSCALLS_PROVIDED -+ -+/* Using ELF format */ -+#undef HAVE_ELF -+ -+/* Using GNU LD */ -+#undef HAVE_GNU_LD -+ -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE -+ -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE -+ -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES -+ -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff --git a/libgloss/libsysbase/aclocal.m4 b/libgloss/libsysbase/aclocal.m4 -new file mode 100644 -index 000000000..b6cdfaeb8 ---- /dev/null -+++ b/libgloss/libsysbase/aclocal.m4 -@@ -0,0 +1,344 @@ -+# generated automatically by aclocal 1.9.5 -*- Autoconf -*- -+ -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -+# 2005 Free Software Foundation, Inc. -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+# AM_CONDITIONAL -*- Autoconf -*- -+ -+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 7 -+ -+# AM_CONDITIONAL(NAME, SHELL-CONDITION) -+# ------------------------------------- -+# Define a conditional. -+AC_DEFUN([AM_CONDITIONAL], -+[AC_PREREQ(2.52)dnl -+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], -+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -+AC_SUBST([$1_TRUE]) -+AC_SUBST([$1_FALSE]) -+if $2; then -+ $1_TRUE= -+ $1_FALSE='#' -+else -+ $1_TRUE='#' -+ $1_FALSE= -+fi -+AC_CONFIG_COMMANDS_PRE( -+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then -+ AC_MSG_ERROR([[conditional "$1" was never defined. -+Usually this means the macro was only invoked conditionally.]]) -+fi])]) -+ -+ -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 8 -+ -+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -+# written in clear, in which case automake, when reading aclocal.m4, -+# will think it sees a *use*, and therefore will trigger all it's -+# C support machinery. Also note that it means that autoscan, seeing -+# CC etc. in the Makefile, will ask for an AC_PROG_CC use... -+ -+ -+# _AM_DEPENDENCIES(NAME) -+# ---------------------- -+# See how the compiler implements dependency checking. -+# NAME is "CC", "CXX", "GCJ", or "OBJC". -+# We try a few techniques and use that to set a single cache variable. -+# -+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -+# dependency, and given that the user is not expected to run this macro, -+# just rely on AC_PROG_CC. -+AC_DEFUN([_AM_DEPENDENCIES], -+[AC_REQUIRE([AM_SET_DEPDIR])dnl -+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -+AC_REQUIRE([AM_MAKE_INCLUDE])dnl -+AC_REQUIRE([AM_DEP_TRACK])dnl -+ -+ifelse([$1], CC, [depcc="$CC" am_compiler_list=], -+ [$1], CXX, [depcc="$CXX" am_compiler_list=], -+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], -+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], -+ [depcc="$$1" am_compiler_list=]) -+ -+AC_CACHE_CHECK([dependency style of $depcc], -+ [am_cv_$1_dependencies_compiler_type], -+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub -+ -+ am_cv_$1_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` -+ fi -+ for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -+ -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_$1_dependencies_compiler_type=$depmode -+ break -+ fi -+ fi -+ done -+ -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_$1_dependencies_compiler_type=none -+fi -+]) -+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -+AM_CONDITIONAL([am__fastdep$1], [ -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -+]) -+ -+ -+# AM_SET_DEPDIR -+# ------------- -+# Choose a directory name for dependency files. -+# This macro is AC_REQUIREd in _AM_DEPENDENCIES -+AC_DEFUN([AM_SET_DEPDIR], -+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -+]) -+ -+ -+# AM_DEP_TRACK -+# ------------ -+AC_DEFUN([AM_DEP_TRACK], -+[AC_ARG_ENABLE(dependency-tracking, -+[ --disable-dependency-tracking speeds up one-time build -+ --enable-dependency-tracking do not reject slow dependency extractors]) -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi -+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -+AC_SUBST([AMDEPBACKSLASH]) -+]) -+ -+# Generate code to set up dependency tracking. -*- Autoconf -*- -+ -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+#serial 3 -+ -+# _AM_OUTPUT_DEPENDENCY_COMMANDS -+# ------------------------------ -+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -+[for mf in $CONFIG_FILES; do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # So let's grep whole file. -+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -+ dirpart=`AS_DIRNAME("$mf")` -+ else -+ continue -+ fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`AS_DIRNAME(["$file"])` -+ AS_MKDIR_P([$dirpart/$fdir]) -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done -+done -+])# _AM_OUTPUT_DEPENDENCY_COMMANDS -+ -+ -+# AM_OUTPUT_DEPENDENCY_COMMANDS -+# ----------------------------- -+# This macro should only be invoked once -- use via AC_REQUIRE. -+# -+# This code is only required when automatic dependency tracking -+# is enabled. FIXME. This creates each `.P' file that we will -+# need in order to bootstrap the dependency handling code. -+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -+[AC_CONFIG_COMMANDS([depfiles], -+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], -+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -+]) -+ -+# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 2 -+ -+# Check whether the underlying file-system supports filenames -+# with a leading dot. For instance MS-DOS doesn't. -+AC_DEFUN([AM_SET_LEADING_DOT], -+[rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+ am__leading_dot=. -+else -+ am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null -+AC_SUBST([am__leading_dot])]) -+ -+# Check to see how 'make' treats includes. -*- Autoconf -*- -+ -+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 3 -+ -+# AM_MAKE_INCLUDE() -+# ----------------- -+# Check to see how make treats includes. -+AC_DEFUN([AM_MAKE_INCLUDE], -+[am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+ @echo done -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+AC_MSG_CHECKING([for style of include used by $am_make]) -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ fi -+fi -+AC_SUBST([am__include]) -+AC_SUBST([am__quote]) -+AC_MSG_RESULT([$_am_result]) -+rm -f confinc confmf -+]) -+ -+m4_include([../acinclude.m4]) -diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c -new file mode 100644 -index 000000000..3ca95d5b6 ---- /dev/null -+++ b/libgloss/libsysbase/build_argv.c -@@ -0,0 +1,31 @@ -+struct __argv { -+ int argvMagic; -+ char *commandLine; -+ int length; -+ int argc; -+ char **argv; -+ char **endARGV; -+}; -+ -+ -+void build_argv (struct __argv* argstruct ) { -+ -+ char *data = argstruct->commandLine; -+ int len = argstruct->length; -+ -+ char** argv = (char**)(((int)data + len + sizeof(char **)) & ~(sizeof(char **)-1)); -+ char* end = data + len - 1; -+ int argCount = 0; -+ -+ do { -+ argv[argCount++] = data; // Add next arg to argv list -+ while (*(data) && data < end) data++; // Move to next NULL delimiter -+ data++; // Move to one after the NULL delimiter -+ } while (data < end); -+ -+ *end = '\0'; // Force NULL terminator for last arg -+ -+ argstruct->argv = argv; -+ argstruct->argc = argCount; -+ argstruct->endARGV = &argv[argCount]; -+} -diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c -new file mode 100644 -index 000000000..90d2dc5b7 ---- /dev/null -+++ b/libgloss/libsysbase/chdir.c -@@ -0,0 +1,201 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* CWD always start with "/" */ -+static char _current_working_directory [PATH_MAX] = "/"; -+static char temp_cwd [PATH_MAX]; -+ -+#define DIRECTORY_SEPARATOR_CHAR '/' -+const char DIRECTORY_SEPARATOR[] = "/"; -+const char DIRECTORY_THIS[] = "."; -+const char DIRECTORY_PARENT[] = ".."; -+ -+int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { -+ char *pathEnd; -+ int pathLength; -+ const char *extraEnd; -+ int extraSize; -+ -+ pathLength = strnlen (path, maxLength); -+ -+ /* assumes path ends in a directory separator */ -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ pathEnd = path + pathLength; -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd += 1; -+ } -+ -+ extraEnd = extra; -+ -+ /* If the extra bit starts with a slash, start at root */ -+ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; -+ pathEnd[0] = '\0'; -+ } -+ do { -+ /* Advance past any separators in extra */ -+ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ extra += 1; -+ } -+ -+ /* Grab the next directory name from extra */ -+ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); -+ if (extraEnd == NULL) { -+ extraEnd = strrchr (extra, '\0'); -+ } else { -+ extraEnd += 1; -+ } -+ -+ extraSize = (extraEnd - extra); -+ if (extraSize == 0) { -+ break; -+ } -+ -+ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) -+ { -+ /* Don't copy anything */ -+ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) -+ { -+ /* Go up one level of in the path */ -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { -+ // Remove trailing separator -+ pathEnd[-1] = '\0'; -+ } -+ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); -+ if (pathEnd == NULL) { -+ /* Can't go up any higher, return false */ -+ r->_errno = ENOENT; -+ return -1; -+ } -+ pathLength = pathEnd - path; -+ pathEnd += 1; -+ } else { -+ pathLength += extraSize; -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ /* Copy the next part over */ -+ strncpy (pathEnd, extra, extraSize); -+ pathEnd += extraSize; -+ } -+ pathEnd[0] = '\0'; -+ extra += extraSize; -+ } while (extraSize != 0); -+ -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd[1] = 0; -+ pathEnd += 1; -+ } -+ -+ return 0; -+} -+ -+int chdir (const char *path) { -+ struct _reent *r = _REENT; -+ -+ int dev; -+ const char *pathPosition; -+ -+ /* Make sure the path is short enough */ -+ if (strnlen (path, PATH_MAX) >= PATH_MAX) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ -+ if (strchr (path, ':') != NULL) { -+ strncpy (temp_cwd, path, PATH_MAX); -+ /* Move path past device name */ -+ path = strchr (path, ':') + 1; -+ } else { -+ strncpy (temp_cwd, _current_working_directory, PATH_MAX); -+ } -+ -+ pathPosition = strchr (temp_cwd , ':'); -+ -+ if (pathPosition == NULL) { -+ pathPosition = temp_cwd; -+ } else { -+ pathPosition++; -+ } -+ -+ /* Make sure the path starts in the root directory */ -+ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { -+ r->_errno = ENOENT; -+ return -1; -+ } -+ -+ /* Concatenate the path to the CWD */ -+ if (_concatenate_path (r, temp_cwd, path, PATH_MAX) == -1) { -+ return -1; -+ } -+ -+ /* Get device from path name */ -+ dev = FindDevice(temp_cwd); -+ -+ if (dev < 0) { -+ r->_errno = ENODEV; -+ return -1; -+ } -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ if ( devoptab_list[dev]->chdir_r == NULL) { -+ r->_errno = ENOSYS; -+ return -1; -+ } -+ -+ /* Try changing directories on the device */ -+ if (devoptab_list[dev]->chdir_r (r, temp_cwd) == -1) { -+ return -1; -+ } -+ -+ /* Since it worked, set the new CWD and default device */ -+ setDefaultDevice(dev); -+ strncpy (_current_working_directory, temp_cwd, PATH_MAX); -+ -+ return 0; -+} -+ -+char *getcwd(char *buf, size_t size) { -+ -+ struct _reent *r = _REENT; -+ -+ if (size == 0) { -+ if (buf != NULL) { -+ r->_errno = EINVAL; -+ return NULL; -+ } -+ buf = malloc(PATH_MAX); -+ size = PATH_MAX; -+ } -+ -+ if (buf == NULL) { -+ r->_errno = EINVAL; -+ return NULL; -+ } -+ -+ if ( size < (strnlen (_current_working_directory, PATH_MAX) + 1)) { -+ r->_errno = ERANGE; -+ return NULL; -+ } -+ -+ strncpy (buf, _current_working_directory, size); -+ -+ return buf; -+} -diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c -new file mode 100644 -index 000000000..3668b5801 ---- /dev/null -+++ b/libgloss/libsysbase/chmod.c -@@ -0,0 +1,30 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+int chmod(const char *path, mode_t mode) { -+ int ret,dev; -+ struct _reent *r = _REENT; -+ -+ /* Get device from path name */ -+ dev = FindDevice(path); -+ -+ if (dev < 0) { -+ r->_errno = ENODEV; -+ ret = -1; -+ } else { -+ if (devoptab_list[dev]->chmod_r == NULL) { -+ r->_errno=ENOSYS; -+ } else { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->chmod_r(r,path,mode); -+ } -+ } -+ -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c -new file mode 100644 -index 000000000..b36b5c079 ---- /dev/null -+++ b/libgloss/libsysbase/clocks.c -@@ -0,0 +1,34 @@ -+#include -+#include -+#include -+ -+int clock_gettime(clockid_t clock_id, struct timespec *tp) -+{ -+ if ( __has_syscall(clock_gettime) ) { -+ return __syscall_clock_gettime(clock_id, tp); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} -+ -+int clock_settime(clockid_t clock_id, const struct timespec *tp) -+{ -+ if ( __has_syscall(clock_settime) ) { -+ return __syscall_clock_settime(clock_id, tp); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} -+ -+int clock_getres (clockid_t clock_id, struct timespec *res) -+{ -+ if ( __has_syscall(clock_getres) ) { -+ return __syscall_clock_getres(clock_id, res); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} -+ -diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in -new file mode 100644 -index 000000000..48ce950b4 ---- /dev/null -+++ b/libgloss/libsysbase/config.h.in -@@ -0,0 +1,25 @@ -+/* config.h.in. Generated automatically from configure.in by autoheader. */ -+ -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES -+ -+/* Reentrant syscalls */ -+#undef REENTRANT_SYSCALLS_PROVIDED -+ -+/* Using ELF format */ -+#undef HAVE_ELF -+ -+/* Using GNU LD */ -+#undef HAVE_GNU_LD -+ -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE -+ -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE -+ -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES -+ -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure -new file mode 100644 -index 000000000..7fe331552 ---- /dev/null -+++ b/libgloss/libsysbase/configure -@@ -0,0 +1,4158 @@ -+#! /bin/sh -+# Guess values for system-dependent variables and create Makefiles. -+# Generated by GNU Autoconf 2.69. -+# -+# -+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -+# -+# -+# This configure script is free software; the Free Software Foundation -+# gives unlimited permission to copy, distribute and modify it. -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## -+ -+# Be more Bourne compatible -+DUALCASE=1; export DUALCASE # for MKS sh -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '${1+"$@"}'='"$@"' -+ setopt NO_GLOB_SUBST -+else -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+ -+ -+as_nl=' -+' -+export as_nl -+# Printing a long string crashes Solaris 7 /usr/bin/printf. -+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='printf %s\n' -+ as_echo_n='printf %s' -+else -+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then -+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' -+ as_echo_n='/usr/ucb/echo -n' -+ else -+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' -+ as_echo_n_body='eval -+ arg=$1; -+ case $arg in #( -+ *"$as_nl"*) -+ expr "X$arg" : "X\\(.*\\)$as_nl"; -+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -+ esac; -+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" -+ ' -+ export as_echo_n_body -+ as_echo_n='sh -c $as_echo_n_body as_echo' -+ fi -+ export as_echo_body -+ as_echo='sh -c $as_echo_body as_echo' -+fi -+ -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ PATH_SEPARATOR=: -+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { -+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || -+ PATH_SEPARATOR=';' -+ } -+fi -+ -+ -+# IFS -+# We need space, tab and new line, in precisely that order. Quoting is -+# there to prevent editors from complaining about space-tab. -+# (If _AS_PATH_WALK were called with IFS unset, it would disable word -+# splitting by setting IFS to empty value.) -+IFS=" "" $as_nl" -+ -+# Find who we are. Look in the path if we contain no directory separator. -+as_myself= -+case $0 in #(( -+ *[\\/]* ) as_myself=$0 ;; -+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done -+IFS=$as_save_IFS -+ -+ ;; -+esac -+# We did not find ourselves, most probably we were run as `sh COMMAND' -+# in which case we are not to be found in the path. -+if test "x$as_myself" = x; then -+ as_myself=$0 -+fi -+if test ! -f "$as_myself"; then -+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -+ exit 1 -+fi -+ -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -+done -+PS1='$ ' -+PS2='> ' -+PS4='+ ' -+ -+# NLS nuisances. -+LC_ALL=C -+export LC_ALL -+LANGUAGE=C -+export LANGUAGE -+ -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+# Use a proper internal environment variable to ensure we don't fall -+ # into an infinite loop, continuously re-executing ourselves. -+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then -+ _as_can_reexec=no; export _as_can_reexec; -+ # We cannot yet assume a decent shell, so we have to provide a -+# neutralization value for shells without unset; and this also -+# works around shells that cannot unset nonexistent variables. -+# Preserve -v and -x to the replacement shell. -+BASH_ENV=/dev/null -+ENV=/dev/null -+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; -+esac -+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -+# Admittedly, this is quite paranoid, since all the known shells bail -+# out after a failed `exec'. -+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -+as_fn_exit 255 -+ fi -+ # We don't want this to propagate to other subprocesses. -+ { _as_can_reexec=; unset _as_can_reexec;} -+if test "x$CONFIG_SHELL" = x; then -+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '\${1+\"\$@\"}'='\"\$@\"' -+ setopt NO_GLOB_SUBST -+else -+ case \`(set -o) 2>/dev/null\` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+" -+ as_required="as_fn_return () { (exit \$1); } -+as_fn_success () { as_fn_return 0; } -+as_fn_failure () { as_fn_return 1; } -+as_fn_ret_success () { return 0; } -+as_fn_ret_failure () { return 1; } -+ -+exitcode=0 -+as_fn_success || { exitcode=1; echo as_fn_success failed.; } -+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : -+ -+else -+ exitcode=1; echo positional parameters were not saved. -+fi -+test x\$exitcode = x0 || exit 1 -+test -x / || exit 1" -+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO -+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO -+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && -+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" -+ if (eval "$as_required") 2>/dev/null; then : -+ as_have_required=yes -+else -+ as_have_required=no -+fi -+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : -+ -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+as_found=false -+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ as_found=: -+ case $as_dir in #( -+ /*) -+ for as_base in sh bash ksh sh5; do -+ # Try only shells that exist, to save several forks. -+ as_shell=$as_dir/$as_base -+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ CONFIG_SHELL=$as_shell as_have_required=yes -+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ break 2 -+fi -+fi -+ done;; -+ esac -+ as_found=false -+done -+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : -+ CONFIG_SHELL=$SHELL as_have_required=yes -+fi; } -+IFS=$as_save_IFS -+ -+ -+ if test "x$CONFIG_SHELL" != x; then : -+ export CONFIG_SHELL -+ # We cannot yet assume a decent shell, so we have to provide a -+# neutralization value for shells without unset; and this also -+# works around shells that cannot unset nonexistent variables. -+# Preserve -v and -x to the replacement shell. -+BASH_ENV=/dev/null -+ENV=/dev/null -+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; -+esac -+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -+# Admittedly, this is quite paranoid, since all the known shells bail -+# out after a failed `exec'. -+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -+exit 255 -+fi -+ -+ if test x$as_have_required = xno; then : -+ $as_echo "$0: This script requires a shell more modern than all" -+ $as_echo "$0: the shells that I found on your system." -+ if test x${ZSH_VERSION+set} = xset ; then -+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" -+ $as_echo "$0: be upgraded to zsh 4.3.4 or later." -+ else -+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -+$0: including any error possibly output before this -+$0: message. Then install a modern shell, or manually run -+$0: the script under such a shell if you do have one." -+ fi -+ exit 1 -+fi -+fi -+fi -+SHELL=${CONFIG_SHELL-/bin/sh} -+export SHELL -+# Unset more variables known to interfere with behavior of common tools. -+CLICOLOR_FORCE= GREP_OPTIONS= -+unset CLICOLOR_FORCE GREP_OPTIONS -+ -+## --------------------- ## -+## M4sh Shell Functions. ## -+## --------------------- ## -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset -+ -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status -+ -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit -+ -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ -+ -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" -+ -+ -+} # as_fn_mkdir_p -+ -+# as_fn_executable_p FILE -+# ----------------------- -+# Test if FILE is an executable regular file. -+as_fn_executable_p () -+{ -+ test -f "$1" && test -x "$1" -+} # as_fn_executable_p -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append -+ -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith -+ -+ -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error -+ -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr -+else -+ as_expr=false -+fi -+ -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename -+else -+ as_basename=false -+fi -+ -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi -+ -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+ -+ as_lineno_1=$LINENO as_lineno_1a=$LINENO -+ as_lineno_2=$LINENO as_lineno_2a=$LINENO -+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && -+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { -+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) -+ sed -n ' -+ p -+ /[$]LINENO/= -+ ' <$as_myself | -+ sed ' -+ s/[$]LINENO.*/&-/ -+ t lineno -+ b -+ :lineno -+ N -+ :loop -+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ -+ t loop -+ s/-\n.*// -+ ' >$as_me.lineno && -+ chmod +x "$as_me.lineno" || -+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } -+ -+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have -+ # already done that, so ensure we don't try to do so again and fall -+ # in an infinite loop. This has already happened in practice. -+ _as_can_reexec=no; export _as_can_reexec -+ # Don't try to exec as it changes $[0], causing all sort of problems -+ # (the dirname of $[0] is not the place where we might find the -+ # original and so on. Autoconf is especially sensitive to this). -+ . "./$as_me.lineno" -+ # Exit status is that of the last command. -+ exit -+} -+ -+ECHO_C= ECHO_N= ECHO_T= -+case `echo -n x` in #((((( -+-n*) -+ case `echo 'xy\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; -+ esac;; -+*) -+ ECHO_N='-n';; -+esac -+ -+rm -f conf$$ conf$$.exe conf$$.file -+if test -d conf$$.dir; then -+ rm -f conf$$.dir/conf$$.file -+else -+ rm -f conf$$.dir -+ mkdir conf$$.dir 2>/dev/null -+fi -+if (echo >conf$$.file) 2>/dev/null; then -+ if ln -s conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s='ln -s' -+ # ... but there are two gotchas: -+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. -+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -+ # In both cases, we have to default to `cp -pR'. -+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -+ as_ln_s='cp -pR' -+ elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+ else -+ as_ln_s='cp -pR' -+ fi -+else -+ as_ln_s='cp -pR' -+fi -+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -+rmdir conf$$.dir 2>/dev/null -+ -+if mkdir -p . 2>/dev/null; then -+ as_mkdir_p='mkdir -p "$as_dir"' -+else -+ test -d ./-p && rmdir ./-p -+ as_mkdir_p=false -+fi -+ -+as_test_x='test -x' -+as_executable_p=as_fn_executable_p -+ -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -+ -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -+ -+ -+test -n "$DJDIR" || exec 7<&0 &1 -+ -+# Name of the host. -+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -+# so uname gets run too. -+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` -+ -+# -+# Initializations. -+# -+ac_default_prefix=/usr/local -+ac_clean_files= -+ac_config_libobj_dir=. -+LIBOBJS= -+cross_compiling=no -+subdirs= -+MFLAGS= -+MAKEFLAGS= -+ -+# Identity of this package. -+PACKAGE_NAME= -+PACKAGE_TARNAME= -+PACKAGE_VERSION= -+PACKAGE_STRING= -+PACKAGE_BUGREPORT= -+PACKAGE_URL= -+ -+ac_unique_file="abort.c" -+ac_subst_vars='LTLIBOBJS -+LIBOBJS -+host_makefile_frag_path -+CCASFLAGS -+CCAS -+RANLIB -+LD -+AR -+AS -+am__fastdepCC_FALSE -+am__fastdepCC_TRUE -+CCDEPMODE -+AMDEPBACKSLASH -+AMDEP_FALSE -+AMDEP_TRUE -+am__quote -+am__include -+DEPDIR -+am__leading_dot -+CC -+INSTALL_DATA -+INSTALL_SCRIPT -+INSTALL_PROGRAM -+target_os -+target_vendor -+target_cpu -+target -+host_os -+host_vendor -+host_cpu -+host -+build_os -+build_vendor -+build_cpu -+build -+target_alias -+host_alias -+build_alias -+LIBS -+ECHO_T -+ECHO_N -+ECHO_C -+DEFS -+mandir -+localedir -+libdir -+psdir -+pdfdir -+dvidir -+htmldir -+infodir -+docdir -+oldincludedir -+includedir -+localstatedir -+sharedstatedir -+sysconfdir -+datadir -+datarootdir -+libexecdir -+sbindir -+bindir -+program_transform_name -+prefix -+exec_prefix -+PACKAGE_URL -+PACKAGE_BUGREPORT -+PACKAGE_STRING -+PACKAGE_VERSION -+PACKAGE_TARNAME -+PACKAGE_NAME -+PATH_SEPARATOR -+SHELL' -+ac_subst_files='host_makefile_frag' -+ac_user_opts=' -+enable_option_checking -+enable_dependency_tracking -+' -+ ac_precious_vars='build_alias -+host_alias -+target_alias -+CCAS -+CCASFLAGS' -+ -+ -+# Initialize some variables set by options. -+ac_init_help= -+ac_init_version=false -+ac_unrecognized_opts= -+ac_unrecognized_sep= -+# The variables have the same names as the options, with -+# dashes changed to underlines. -+cache_file=/dev/null -+exec_prefix=NONE -+no_create= -+no_recursion= -+prefix=NONE -+program_prefix=NONE -+program_suffix=NONE -+program_transform_name=s,x,x, -+silent= -+site= -+srcdir= -+verbose= -+x_includes=NONE -+x_libraries=NONE -+ -+# Installation directory options. -+# These are left unexpanded so users can "make install exec_prefix=/foo" -+# and all the variables that are supposed to be based on exec_prefix -+# by default will actually change. -+# Use braces instead of parens because sh, perl, etc. also accept them. -+# (The list follows the same order as the GNU Coding Standards.) -+bindir='${exec_prefix}/bin' -+sbindir='${exec_prefix}/sbin' -+libexecdir='${exec_prefix}/libexec' -+datarootdir='${prefix}/share' -+datadir='${datarootdir}' -+sysconfdir='${prefix}/etc' -+sharedstatedir='${prefix}/com' -+localstatedir='${prefix}/var' -+includedir='${prefix}/include' -+oldincludedir='/usr/include' -+docdir='${datarootdir}/doc/${PACKAGE}' -+infodir='${datarootdir}/info' -+htmldir='${docdir}' -+dvidir='${docdir}' -+pdfdir='${docdir}' -+psdir='${docdir}' -+libdir='${exec_prefix}/lib' -+localedir='${datarootdir}/locale' -+mandir='${datarootdir}/man' -+ -+ac_prev= -+ac_dashdash= -+for ac_option -+do -+ # If the previous option needs an argument, assign it. -+ if test -n "$ac_prev"; then -+ eval $ac_prev=\$ac_option -+ ac_prev= -+ continue -+ fi -+ -+ case $ac_option in -+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; -+ *=) ac_optarg= ;; -+ *) ac_optarg=yes ;; -+ esac -+ -+ # Accept the important Cygnus configure options, so we can diagnose typos. -+ -+ case $ac_dashdash$ac_option in -+ --) -+ ac_dashdash=yes ;; -+ -+ -bindir | --bindir | --bindi | --bind | --bin | --bi) -+ ac_prev=bindir ;; -+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) -+ bindir=$ac_optarg ;; -+ -+ -build | --build | --buil | --bui | --bu) -+ ac_prev=build_alias ;; -+ -build=* | --build=* | --buil=* | --bui=* | --bu=*) -+ build_alias=$ac_optarg ;; -+ -+ -cache-file | --cache-file | --cache-fil | --cache-fi \ -+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) -+ ac_prev=cache_file ;; -+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ -+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) -+ cache_file=$ac_optarg ;; -+ -+ --config-cache | -C) -+ cache_file=config.cache ;; -+ -+ -datadir | --datadir | --datadi | --datad) -+ ac_prev=datadir ;; -+ -datadir=* | --datadir=* | --datadi=* | --datad=*) -+ datadir=$ac_optarg ;; -+ -+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ -+ | --dataroo | --dataro | --datar) -+ ac_prev=datarootdir ;; -+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ -+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) -+ datarootdir=$ac_optarg ;; -+ -+ -disable-* | --disable-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid feature name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"enable_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval enable_$ac_useropt=no ;; -+ -+ -docdir | --docdir | --docdi | --doc | --do) -+ ac_prev=docdir ;; -+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) -+ docdir=$ac_optarg ;; -+ -+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) -+ ac_prev=dvidir ;; -+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) -+ dvidir=$ac_optarg ;; -+ -+ -enable-* | --enable-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid feature name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"enable_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval enable_$ac_useropt=\$ac_optarg ;; -+ -+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ -+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ -+ | --exec | --exe | --ex) -+ ac_prev=exec_prefix ;; -+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ -+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ -+ | --exec=* | --exe=* | --ex=*) -+ exec_prefix=$ac_optarg ;; -+ -+ -gas | --gas | --ga | --g) -+ # Obsolete; use --with-gas. -+ with_gas=yes ;; -+ -+ -help | --help | --hel | --he | -h) -+ ac_init_help=long ;; -+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) -+ ac_init_help=recursive ;; -+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) -+ ac_init_help=short ;; -+ -+ -host | --host | --hos | --ho) -+ ac_prev=host_alias ;; -+ -host=* | --host=* | --hos=* | --ho=*) -+ host_alias=$ac_optarg ;; -+ -+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) -+ ac_prev=htmldir ;; -+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ -+ | --ht=*) -+ htmldir=$ac_optarg ;; -+ -+ -includedir | --includedir | --includedi | --included | --include \ -+ | --includ | --inclu | --incl | --inc) -+ ac_prev=includedir ;; -+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ -+ | --includ=* | --inclu=* | --incl=* | --inc=*) -+ includedir=$ac_optarg ;; -+ -+ -infodir | --infodir | --infodi | --infod | --info | --inf) -+ ac_prev=infodir ;; -+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) -+ infodir=$ac_optarg ;; -+ -+ -libdir | --libdir | --libdi | --libd) -+ ac_prev=libdir ;; -+ -libdir=* | --libdir=* | --libdi=* | --libd=*) -+ libdir=$ac_optarg ;; -+ -+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ -+ | --libexe | --libex | --libe) -+ ac_prev=libexecdir ;; -+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ -+ | --libexe=* | --libex=* | --libe=*) -+ libexecdir=$ac_optarg ;; -+ -+ -localedir | --localedir | --localedi | --localed | --locale) -+ ac_prev=localedir ;; -+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) -+ localedir=$ac_optarg ;; -+ -+ -localstatedir | --localstatedir | --localstatedi | --localstated \ -+ | --localstate | --localstat | --localsta | --localst | --locals) -+ ac_prev=localstatedir ;; -+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ -+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) -+ localstatedir=$ac_optarg ;; -+ -+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) -+ ac_prev=mandir ;; -+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) -+ mandir=$ac_optarg ;; -+ -+ -nfp | --nfp | --nf) -+ # Obsolete; use --without-fp. -+ with_fp=no ;; -+ -+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ -+ | --no-cr | --no-c | -n) -+ no_create=yes ;; -+ -+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ -+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) -+ no_recursion=yes ;; -+ -+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ -+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ -+ | --oldin | --oldi | --old | --ol | --o) -+ ac_prev=oldincludedir ;; -+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ -+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ -+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) -+ oldincludedir=$ac_optarg ;; -+ -+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) -+ ac_prev=prefix ;; -+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) -+ prefix=$ac_optarg ;; -+ -+ -program-prefix | --program-prefix | --program-prefi | --program-pref \ -+ | --program-pre | --program-pr | --program-p) -+ ac_prev=program_prefix ;; -+ -program-prefix=* | --program-prefix=* | --program-prefi=* \ -+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) -+ program_prefix=$ac_optarg ;; -+ -+ -program-suffix | --program-suffix | --program-suffi | --program-suff \ -+ | --program-suf | --program-su | --program-s) -+ ac_prev=program_suffix ;; -+ -program-suffix=* | --program-suffix=* | --program-suffi=* \ -+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) -+ program_suffix=$ac_optarg ;; -+ -+ -program-transform-name | --program-transform-name \ -+ | --program-transform-nam | --program-transform-na \ -+ | --program-transform-n | --program-transform- \ -+ | --program-transform | --program-transfor \ -+ | --program-transfo | --program-transf \ -+ | --program-trans | --program-tran \ -+ | --progr-tra | --program-tr | --program-t) -+ ac_prev=program_transform_name ;; -+ -program-transform-name=* | --program-transform-name=* \ -+ | --program-transform-nam=* | --program-transform-na=* \ -+ | --program-transform-n=* | --program-transform-=* \ -+ | --program-transform=* | --program-transfor=* \ -+ | --program-transfo=* | --program-transf=* \ -+ | --program-trans=* | --program-tran=* \ -+ | --progr-tra=* | --program-tr=* | --program-t=*) -+ program_transform_name=$ac_optarg ;; -+ -+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) -+ ac_prev=pdfdir ;; -+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) -+ pdfdir=$ac_optarg ;; -+ -+ -psdir | --psdir | --psdi | --psd | --ps) -+ ac_prev=psdir ;; -+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) -+ psdir=$ac_optarg ;; -+ -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ silent=yes ;; -+ -+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) -+ ac_prev=sbindir ;; -+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ -+ | --sbi=* | --sb=*) -+ sbindir=$ac_optarg ;; -+ -+ -sharedstatedir | --sharedstatedir | --sharedstatedi \ -+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ -+ | --sharedst | --shareds | --shared | --share | --shar \ -+ | --sha | --sh) -+ ac_prev=sharedstatedir ;; -+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ -+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ -+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ -+ | --sha=* | --sh=*) -+ sharedstatedir=$ac_optarg ;; -+ -+ -site | --site | --sit) -+ ac_prev=site ;; -+ -site=* | --site=* | --sit=*) -+ site=$ac_optarg ;; -+ -+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) -+ ac_prev=srcdir ;; -+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) -+ srcdir=$ac_optarg ;; -+ -+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ -+ | --syscon | --sysco | --sysc | --sys | --sy) -+ ac_prev=sysconfdir ;; -+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ -+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) -+ sysconfdir=$ac_optarg ;; -+ -+ -target | --target | --targe | --targ | --tar | --ta | --t) -+ ac_prev=target_alias ;; -+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) -+ target_alias=$ac_optarg ;; -+ -+ -v | -verbose | --verbose | --verbos | --verbo | --verb) -+ verbose=yes ;; -+ -+ -version | --version | --versio | --versi | --vers | -V) -+ ac_init_version=: ;; -+ -+ -with-* | --with-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid package name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"with_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval with_$ac_useropt=\$ac_optarg ;; -+ -+ -without-* | --without-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid package name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"with_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval with_$ac_useropt=no ;; -+ -+ --x) -+ # Obsolete; use --with-x. -+ with_x=yes ;; -+ -+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ -+ | --x-incl | --x-inc | --x-in | --x-i) -+ ac_prev=x_includes ;; -+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ -+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) -+ x_includes=$ac_optarg ;; -+ -+ -x-libraries | --x-libraries | --x-librarie | --x-librari \ -+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) -+ ac_prev=x_libraries ;; -+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ -+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) -+ x_libraries=$ac_optarg ;; -+ -+ -*) as_fn_error $? "unrecognized option: \`$ac_option' -+Try \`$0 --help' for more information" -+ ;; -+ -+ *=*) -+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` -+ # Reject names that are not valid shell variable names. -+ case $ac_envvar in #( -+ '' | [0-9]* | *[!_$as_cr_alnum]* ) -+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; -+ esac -+ eval $ac_envvar=\$ac_optarg -+ export $ac_envvar ;; -+ -+ *) -+ # FIXME: should be removed in autoconf 3.0. -+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 -+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && -+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 -+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" -+ ;; -+ -+ esac -+done -+ -+if test -n "$ac_prev"; then -+ ac_option=--`echo $ac_prev | sed 's/_/-/g'` -+ as_fn_error $? "missing argument to $ac_option" -+fi -+ -+if test -n "$ac_unrecognized_opts"; then -+ case $enable_option_checking in -+ no) ;; -+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; -+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; -+ esac -+fi -+ -+# Check all directory arguments for consistency. -+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ -+ datadir sysconfdir sharedstatedir localstatedir includedir \ -+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ -+ libdir localedir mandir -+do -+ eval ac_val=\$$ac_var -+ # Remove trailing slashes. -+ case $ac_val in -+ */ ) -+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` -+ eval $ac_var=\$ac_val;; -+ esac -+ # Be sure to have absolute directory names. -+ case $ac_val in -+ [\\/$]* | ?:[\\/]* ) continue;; -+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; -+ esac -+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -+done -+ -+# There might be people who depend on the old broken behavior: `$host' -+# used to hold the argument of --host etc. -+# FIXME: To remove some day. -+build=$build_alias -+host=$host_alias -+target=$target_alias -+ -+# FIXME: To remove some day. -+if test "x$host_alias" != x; then -+ if test "x$build_alias" = x; then -+ cross_compiling=maybe -+ elif test "x$build_alias" != "x$host_alias"; then -+ cross_compiling=yes -+ fi -+fi -+ -+ac_tool_prefix= -+test -n "$host_alias" && ac_tool_prefix=$host_alias- -+ -+test "$silent" = yes && exec 6>/dev/null -+ -+ -+ac_pwd=`pwd` && test -n "$ac_pwd" && -+ac_ls_di=`ls -di .` && -+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || -+ as_fn_error $? "working directory cannot be determined" -+test "X$ac_ls_di" = "X$ac_pwd_ls_di" || -+ as_fn_error $? "pwd does not report name of working directory" -+ -+ -+# Find the source files, if location was not specified. -+if test -z "$srcdir"; then -+ ac_srcdir_defaulted=yes -+ # Try the directory containing this script, then the parent directory. -+ ac_confdir=`$as_dirname -- "$as_myself" || -+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_myself" : 'X\(//\)[^/]' \| \ -+ X"$as_myself" : 'X\(//\)$' \| \ -+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_myself" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ srcdir=$ac_confdir -+ if test ! -r "$srcdir/$ac_unique_file"; then -+ srcdir=.. -+ fi -+else -+ ac_srcdir_defaulted=no -+fi -+if test ! -r "$srcdir/$ac_unique_file"; then -+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." -+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -+fi -+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -+ac_abs_confdir=`( -+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" -+ pwd)` -+# When building in place, set srcdir=. -+if test "$ac_abs_confdir" = "$ac_pwd"; then -+ srcdir=. -+fi -+# Remove unnecessary trailing slashes from srcdir. -+# Double slashes in file names in object file debugging info -+# mess up M-x gdb in Emacs. -+case $srcdir in -+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -+esac -+for ac_var in $ac_precious_vars; do -+ eval ac_env_${ac_var}_set=\${${ac_var}+set} -+ eval ac_env_${ac_var}_value=\$${ac_var} -+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} -+ eval ac_cv_env_${ac_var}_value=\$${ac_var} -+done -+ -+# -+# Report the --help message. -+# -+if test "$ac_init_help" = "long"; then -+ # Omit some internal or obsolete options to make the list less imposing. -+ # This message is too long to be a string in the A/UX 3.1 sh. -+ cat <<_ACEOF -+\`configure' configures this package to adapt to many kinds of systems. -+ -+Usage: $0 [OPTION]... [VAR=VALUE]... -+ -+To assign environment variables (e.g., CC, CFLAGS...), specify them as -+VAR=VALUE. See below for descriptions of some of the useful variables. -+ -+Defaults for the options are specified in brackets. -+ -+Configuration: -+ -h, --help display this help and exit -+ --help=short display options specific to this package -+ --help=recursive display the short help of all the included packages -+ -V, --version display version information and exit -+ -q, --quiet, --silent do not print \`checking ...' messages -+ --cache-file=FILE cache test results in FILE [disabled] -+ -C, --config-cache alias for \`--cache-file=config.cache' -+ -n, --no-create do not create output files -+ --srcdir=DIR find the sources in DIR [configure dir or \`..'] -+ -+Installation directories: -+ --prefix=PREFIX install architecture-independent files in PREFIX -+ [$ac_default_prefix] -+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX -+ [PREFIX] -+ -+By default, \`make install' will install all the files in -+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -+an installation prefix other than \`$ac_default_prefix' using \`--prefix', -+for instance \`--prefix=\$HOME'. -+ -+For better control, use the options below. -+ -+Fine tuning of the installation directories: -+ --bindir=DIR user executables [EPREFIX/bin] -+ --sbindir=DIR system admin executables [EPREFIX/sbin] -+ --libexecdir=DIR program executables [EPREFIX/libexec] -+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] -+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] -+ --localstatedir=DIR modifiable single-machine data [PREFIX/var] -+ --libdir=DIR object code libraries [EPREFIX/lib] -+ --includedir=DIR C header files [PREFIX/include] -+ --oldincludedir=DIR C header files for non-gcc [/usr/include] -+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] -+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] -+ --infodir=DIR info documentation [DATAROOTDIR/info] -+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] -+ --mandir=DIR man documentation [DATAROOTDIR/man] -+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] -+ --htmldir=DIR html documentation [DOCDIR] -+ --dvidir=DIR dvi documentation [DOCDIR] -+ --pdfdir=DIR pdf documentation [DOCDIR] -+ --psdir=DIR ps documentation [DOCDIR] -+_ACEOF -+ -+ cat <<\_ACEOF -+ -+Program names: -+ --program-prefix=PREFIX prepend PREFIX to installed program names -+ --program-suffix=SUFFIX append SUFFIX to installed program names -+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names -+ -+System types: -+ --build=BUILD configure for building on BUILD [guessed] -+ --host=HOST cross-compile to build programs to run on HOST [BUILD] -+ --target=TARGET configure for building compilers for TARGET [HOST] -+_ACEOF -+fi -+ -+if test -n "$ac_init_help"; then -+ -+ cat <<\_ACEOF -+ -+Optional Features: -+ --disable-option-checking ignore unrecognized --enable/--with options -+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) -+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] -+ --disable-dependency-tracking speeds up one-time build -+ --enable-dependency-tracking do not reject slow dependency extractors -+ -+Some influential environment variables: -+ CCAS assembler compiler command (defaults to CC) -+ CCASFLAGS assembler compiler flags (defaults to CFLAGS) -+ -+Use these variables to override the choices made by `configure' or to help -+it to find libraries and programs with nonstandard names/locations. -+ -+Report bugs to the package provider. -+_ACEOF -+ac_status=$? -+fi -+ -+if test "$ac_init_help" = "recursive"; then -+ # If there are subdirs, report their specific --help. -+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue -+ test -d "$ac_dir" || -+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || -+ continue -+ ac_builddir=. -+ -+case "$ac_dir" in -+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -+*) -+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` -+ # A ".." for each directory in $ac_dir_suffix. -+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` -+ case $ac_top_builddir_sub in -+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; -+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; -+ esac ;; -+esac -+ac_abs_top_builddir=$ac_pwd -+ac_abs_builddir=$ac_pwd$ac_dir_suffix -+# for backward compatibility: -+ac_top_builddir=$ac_top_build_prefix -+ -+case $srcdir in -+ .) # We are building in place. -+ ac_srcdir=. -+ ac_top_srcdir=$ac_top_builddir_sub -+ ac_abs_top_srcdir=$ac_pwd ;; -+ [\\/]* | ?:[\\/]* ) # Absolute name. -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir -+ ac_abs_top_srcdir=$srcdir ;; -+ *) # Relative name. -+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_top_build_prefix$srcdir -+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -+esac -+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -+ -+ cd "$ac_dir" || { ac_status=$?; continue; } -+ # Check for guested configure. -+ if test -f "$ac_srcdir/configure.gnu"; then -+ echo && -+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive -+ elif test -f "$ac_srcdir/configure"; then -+ echo && -+ $SHELL "$ac_srcdir/configure" --help=recursive -+ else -+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 -+ fi || ac_status=$? -+ cd "$ac_pwd" || { ac_status=$?; break; } -+ done -+fi -+ -+test -n "$ac_init_help" && exit $ac_status -+if $ac_init_version; then -+ cat <<\_ACEOF -+configure -+generated by GNU Autoconf 2.69 -+ -+Copyright (C) 2012 Free Software Foundation, Inc. -+This configure script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it. -+_ACEOF -+ exit -+fi -+ -+## ------------------------ ## -+## Autoconf initialization. ## -+## ------------------------ ## -+ -+# ac_fn_c_try_compile LINENO -+# -------------------------- -+# Try to compile conftest.$ac_ext, and return whether this succeeded. -+ac_fn_c_try_compile () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ rm -f conftest.$ac_objext -+ if { { ac_try="$ac_compile" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_compile") 2>conftest.err -+ ac_status=$? -+ if test -s conftest.err; then -+ grep -v '^ *+' conftest.err >conftest.er1 -+ cat conftest.er1 >&5 -+ mv -f conftest.er1 conftest.err -+ fi -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then : -+ ac_retval=0 -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_retval=1 -+fi -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -+ as_fn_set_status $ac_retval -+ -+} # ac_fn_c_try_compile -+cat >config.log <<_ACEOF -+This file contains any messages produced by compilers while -+running configure, to aid debugging if configure makes a mistake. -+ -+It was created by $as_me, which was -+generated by GNU Autoconf 2.69. Invocation command line was -+ -+ $ $0 $@ -+ -+_ACEOF -+exec 5>>config.log -+{ -+cat <<_ASUNAME -+## --------- ## -+## Platform. ## -+## --------- ## -+ -+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -+uname -m = `(uname -m) 2>/dev/null || echo unknown` -+uname -r = `(uname -r) 2>/dev/null || echo unknown` -+uname -s = `(uname -s) 2>/dev/null || echo unknown` -+uname -v = `(uname -v) 2>/dev/null || echo unknown` -+ -+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` -+ -+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` -+ -+_ASUNAME -+ -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ $as_echo "PATH: $as_dir" -+ done -+IFS=$as_save_IFS -+ -+} >&5 -+ -+cat >&5 <<_ACEOF -+ -+ -+## ----------- ## -+## Core tests. ## -+## ----------- ## -+ -+_ACEOF -+ -+ -+# Keep a trace of the command line. -+# Strip out --no-create and --no-recursion so they do not pile up. -+# Strip out --silent because we don't want to record it for future runs. -+# Also quote any args containing shell meta-characters. -+# Make two passes to allow for proper duplicate-argument suppression. -+ac_configure_args= -+ac_configure_args0= -+ac_configure_args1= -+ac_must_keep_next=false -+for ac_pass in 1 2 -+do -+ for ac_arg -+ do -+ case $ac_arg in -+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ continue ;; -+ *\'*) -+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ esac -+ case $ac_pass in -+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; -+ 2) -+ as_fn_append ac_configure_args1 " '$ac_arg'" -+ if test $ac_must_keep_next = true; then -+ ac_must_keep_next=false # Got value, back to normal. -+ else -+ case $ac_arg in -+ *=* | --config-cache | -C | -disable-* | --disable-* \ -+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ -+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ -+ | -with-* | --with-* | -without-* | --without-* | --x) -+ case "$ac_configure_args0 " in -+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; -+ esac -+ ;; -+ -* ) ac_must_keep_next=true ;; -+ esac -+ fi -+ as_fn_append ac_configure_args " '$ac_arg'" -+ ;; -+ esac -+ done -+done -+{ ac_configure_args0=; unset ac_configure_args0;} -+{ ac_configure_args1=; unset ac_configure_args1;} -+ -+# When interrupted or exit'd, cleanup temporary files, and complete -+# config.log. We remove comments because anyway the quotes in there -+# would cause problems or look ugly. -+# WARNING: Use '\'' to represent an apostrophe within the trap. -+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -+trap 'exit_status=$? -+ # Save into config.log some information that might help in debugging. -+ { -+ echo -+ -+ $as_echo "## ---------------- ## -+## Cache variables. ## -+## ---------------- ##" -+ echo -+ # The following way of writing the cache mishandles newlines in values, -+( -+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do -+ eval ac_val=\$$ac_var -+ case $ac_val in #( -+ *${as_nl}*) -+ case $ac_var in #( -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; -+ esac -+ case $ac_var in #( -+ _ | IFS | as_nl) ;; #( -+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -+ *) { eval $ac_var=; unset $ac_var;} ;; -+ esac ;; -+ esac -+ done -+ (set) 2>&1 | -+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( -+ *${as_nl}ac_space=\ *) -+ sed -n \ -+ "s/'\''/'\''\\\\'\'''\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" -+ ;; #( -+ *) -+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" -+ ;; -+ esac | -+ sort -+) -+ echo -+ -+ $as_echo "## ----------------- ## -+## Output variables. ## -+## ----------------- ##" -+ echo -+ for ac_var in $ac_subst_vars -+ do -+ eval ac_val=\$$ac_var -+ case $ac_val in -+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; -+ esac -+ $as_echo "$ac_var='\''$ac_val'\''" -+ done | sort -+ echo -+ -+ if test -n "$ac_subst_files"; then -+ $as_echo "## ------------------- ## -+## File substitutions. ## -+## ------------------- ##" -+ echo -+ for ac_var in $ac_subst_files -+ do -+ eval ac_val=\$$ac_var -+ case $ac_val in -+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; -+ esac -+ $as_echo "$ac_var='\''$ac_val'\''" -+ done | sort -+ echo -+ fi -+ -+ if test -s confdefs.h; then -+ $as_echo "## ----------- ## -+## confdefs.h. ## -+## ----------- ##" -+ echo -+ cat confdefs.h -+ echo -+ fi -+ test "$ac_signal" != 0 && -+ $as_echo "$as_me: caught signal $ac_signal" -+ $as_echo "$as_me: exit $exit_status" -+ } >&5 -+ rm -f core *.core core.conftest.* && -+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && -+ exit $exit_status -+' 0 -+for ac_signal in 1 2 13 15; do -+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -+done -+ac_signal=0 -+ -+# confdefs.h avoids OS command line length limits that DEFS can exceed. -+rm -f -r conftest* confdefs.h -+ -+$as_echo "/* confdefs.h */" > confdefs.h -+ -+# Predefined preprocessor variables. -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_NAME "$PACKAGE_NAME" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_VERSION "$PACKAGE_VERSION" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_STRING "$PACKAGE_STRING" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_URL "$PACKAGE_URL" -+_ACEOF -+ -+ -+# Let the site file select an alternate cache file if it wants to. -+# Prefer an explicitly selected file to automatically selected ones. -+ac_site_file1=NONE -+ac_site_file2=NONE -+if test -n "$CONFIG_SITE"; then -+ # We do not want a PATH search for config.site. -+ case $CONFIG_SITE in #(( -+ -*) ac_site_file1=./$CONFIG_SITE;; -+ */*) ac_site_file1=$CONFIG_SITE;; -+ *) ac_site_file1=./$CONFIG_SITE;; -+ esac -+elif test "x$prefix" != xNONE; then -+ ac_site_file1=$prefix/share/config.site -+ ac_site_file2=$prefix/etc/config.site -+else -+ ac_site_file1=$ac_default_prefix/share/config.site -+ ac_site_file2=$ac_default_prefix/etc/config.site -+fi -+for ac_site_file in "$ac_site_file1" "$ac_site_file2" -+do -+ test "x$ac_site_file" = xNONE && continue -+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -+$as_echo "$as_me: loading site script $ac_site_file" >&6;} -+ sed 's/^/| /' "$ac_site_file" >&5 -+ . "$ac_site_file" \ -+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error $? "failed to load site script $ac_site_file -+See \`config.log' for more details" "$LINENO" 5; } -+ fi -+done -+ -+if test -r "$cache_file"; then -+ # Some versions of bash will fail to source /dev/null (special files -+ # actually), so we avoid doing that. DJGPP emulates it as a regular file. -+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -+$as_echo "$as_me: loading cache $cache_file" >&6;} -+ case $cache_file in -+ [\\/]* | ?:[\\/]* ) . "$cache_file";; -+ *) . "./$cache_file";; -+ esac -+ fi -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -+$as_echo "$as_me: creating cache $cache_file" >&6;} -+ >$cache_file -+fi -+ -+# Check that the precious variables saved in the cache have kept the same -+# value. -+ac_cache_corrupted=false -+for ac_var in $ac_precious_vars; do -+ eval ac_old_set=\$ac_cv_env_${ac_var}_set -+ eval ac_new_set=\$ac_env_${ac_var}_set -+ eval ac_old_val=\$ac_cv_env_${ac_var}_value -+ eval ac_new_val=\$ac_env_${ac_var}_value -+ case $ac_old_set,$ac_new_set in -+ set,) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,set) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,);; -+ *) -+ if test "x$ac_old_val" != "x$ac_new_val"; then -+ # differences in whitespace do not lead to failure. -+ ac_old_val_w=`echo x $ac_old_val` -+ ac_new_val_w=`echo x $ac_new_val` -+ if test "$ac_old_val_w" != "$ac_new_val_w"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} -+ ac_cache_corrupted=: -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} -+ eval $ac_var=\$ac_old_val -+ fi -+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} -+ fi;; -+ esac -+ # Pass precious variables to config.status. -+ if test "$ac_new_set" = set; then -+ case $ac_new_val in -+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; -+ *) ac_arg=$ac_var=$ac_new_val ;; -+ esac -+ case " $ac_configure_args " in -+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. -+ *) as_fn_append ac_configure_args " '$ac_arg'" ;; -+ esac -+ fi -+done -+if $ac_cache_corrupted; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} -+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -+fi -+## -------------------- ## -+## Main body of script. ## -+## -------------------- ## -+ -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+ -+ac_config_headers="$ac_config_headers config.h" -+ -+ -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" -+fi -+ -+if test "$srcdir" = "." ; then -+ if test "${with_target_subdir}" != "." ; then -+ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." -+ else -+ libgloss_topdir="${srcdir}/${with_multisrctop}../.." -+ fi -+else -+ libgloss_topdir="${srcdir}/../.." -+fi -+ac_aux_dir= -+for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do -+ if test -f "$ac_dir/install-sh"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install-sh -c" -+ break -+ elif test -f "$ac_dir/install.sh"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install.sh -c" -+ break -+ elif test -f "$ac_dir/shtool"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/shtool install -c" -+ break -+ fi -+done -+if test -z "$ac_aux_dir"; then -+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5 -+fi -+ -+# These three variables are undocumented and unsupported, -+# and are intended to be withdrawn in a future Autoconf release. -+# They can cause serious problems if a builder's source tree is in a directory -+# whose full name contains unusual characters. -+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -+ -+ -+ -+# Make sure we can run config.sub. -+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || -+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -+$as_echo_n "checking build system type... " >&6; } -+if ${ac_cv_build+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_build_alias=$build_alias -+test "x$ac_build_alias" = x && -+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -+test "x$ac_build_alias" = x && -+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -+$as_echo "$ac_cv_build" >&6; } -+case $ac_cv_build in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -+esac -+build=$ac_cv_build -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_build -+shift -+build_cpu=$1 -+build_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+build_os=$* -+IFS=$ac_save_IFS -+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -+$as_echo_n "checking host system type... " >&6; } -+if ${ac_cv_host+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test "x$host_alias" = x; then -+ ac_cv_host=$ac_cv_build -+else -+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -+$as_echo "$ac_cv_host" >&6; } -+case $ac_cv_host in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -+esac -+host=$ac_cv_host -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_host -+shift -+host_cpu=$1 -+host_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+host_os=$* -+IFS=$ac_save_IFS -+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 -+$as_echo_n "checking target system type... " >&6; } -+if ${ac_cv_target+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test "x$target_alias" = x; then -+ ac_cv_target=$ac_cv_host -+else -+ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 -+$as_echo "$ac_cv_target" >&6; } -+case $ac_cv_target in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; -+esac -+target=$ac_cv_target -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_target -+shift -+target_cpu=$1 -+target_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+target_os=$* -+IFS=$ac_save_IFS -+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac -+ -+ -+# The aliases save the names the user supplied, while $host etc. -+# will get canonicalized. -+test -n "$target_alias" && -+ test "$program_prefix$program_suffix$program_transform_name" = \ -+ NONENONEs,x,x, && -+ program_prefix=${target_alias}- -+ -+test "$program_prefix" != NONE && -+ program_transform_name="s&^&$program_prefix&;$program_transform_name" -+# Use a double $ so make ignores it. -+test "$program_suffix" != NONE && -+ program_transform_name="s&\$&$program_suffix&;$program_transform_name" -+# Double any \ or $. -+# By default was `s,x,x', remove it if useless. -+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` -+ -+ -+# Find a good install program. We prefer a C program (faster), -+# so one script is as good as another. But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AmigaOS /C/install, which installs bootblocks on floppy discs -+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# OS/2's system install, which has a completely different semantic -+# ./install, which can be erroneously created by make from ./install.sh. -+# Reject install programs that cannot install multiple files. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -+$as_echo_n "checking for a BSD-compatible install... " >&6; } -+if test -z "$INSTALL"; then -+if ${ac_cv_path_install+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ # Account for people who put trailing slashes in PATH elements. -+case $as_dir/ in #(( -+ ./ | .// | /[cC]/* | \ -+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ -+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ -+ /usr/ucb/* ) ;; -+ *) -+ # OSF1 and SCO ODT 3.0 have their own names for install. -+ # Don't use installbsd from OSF since it installs stuff as root -+ # by default. -+ for ac_prog in ginstall scoinst install; do -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -+ if test $ac_prog = install && -+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ : -+ elif test $ac_prog = install && -+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # program-specific install script used by HP pwplus--don't use. -+ : -+ else -+ rm -rf conftest.one conftest.two conftest.dir -+ echo one > conftest.one -+ echo two > conftest.two -+ mkdir conftest.dir -+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && -+ test -s conftest.one && test -s conftest.two && -+ test -s conftest.dir/conftest.one && -+ test -s conftest.dir/conftest.two -+ then -+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -+ break 3 -+ fi -+ fi -+ fi -+ done -+ done -+ ;; -+esac -+ -+ done -+IFS=$as_save_IFS -+ -+rm -rf conftest.one conftest.two conftest.dir -+ -+fi -+ if test "${ac_cv_path_install+set}" = set; then -+ INSTALL=$ac_cv_path_install -+ else -+ # As a last resort, use the slow shell script. Don't cache a -+ # value for INSTALL within a source directory, because that will -+ # break other packages using the cache if that directory is -+ # removed, or if the value is a relative name. -+ INSTALL=$ac_install_sh -+ fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -+$as_echo "$INSTALL" >&6; } -+ -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -+ -+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' -+ -+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -+ -+ -+$as_echo "#define HAVE_GNU_LD 1" >>confdefs.h -+ -+case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ arc-*-*) -+ ;; -+ arm-*-eabi) -+ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h -+ -+ ;; -+ arm*-*-*) -+ ;; -+ bfin-*-*) -+ ;; -+ cris-*-* | crisv32-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i345686-*-sco*) -+ ;; -+ lm32-*-*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ v850*-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h -+ -+ ;; -+esac -+ -+case "${target}" in -+ *-*-elf) -+ $as_echo "#define HAVE_ELF 1" >>confdefs.h -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 -+$as_echo_n "checking for .previous assembler directive... " >&6; } -+if ${libc_cv_asm_previous_directive+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_asm_previous_directive=no -+ cat > conftest.s <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_asm_previous_directive=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 -+$as_echo "$libc_cv_asm_previous_directive" >&6; } -+ -+ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then -+ $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h -+ -+ fi -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 -+$as_echo_n "checking for .popsection assembler directive... " >&6; } -+if ${libc_cv_asm_popsection_directive+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_asm_popsection_directive=no -+ cat > conftest.s <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_asm_popsection_directive=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5 -+$as_echo "$libc_cv_asm_popsection_directive" >&6; } -+ -+ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then -+ $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h -+ -+ fi -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for section attributes" >&5 -+$as_echo_n "checking for section attributes... " >&6; } -+if ${libc_cv_section_attributes+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_section_attributes=no -+ cat > conftest.c <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_section_attributes=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_section_attributes" >&5 -+$as_echo "$libc_cv_section_attributes" >&6; } -+ if test "x${libc_cv_section_attributes}" = "xyes"; then -+ $as_echo "#define HAVE_SECTION_ATTRIBUTES 1" >>confdefs.h -+ -+ fi -+ ;; -+esac -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 -+$as_echo_n "checking for symbol prefix... " >&6; } -+if ${libc_cv_symbol_prefix+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat > conftest.c <<\EOF -+foo () { } -+EOF -+libc_cv_symbol_prefix=none -+if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; -+then -+ libc_cv_symbol_prefix='$' -+else -+ if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; -+ then -+ libc_cv_symbol_prefix=_ -+ fi -+fi -+rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_symbol_prefix" >&5 -+$as_echo "$libc_cv_symbol_prefix" >&6; } -+if test $libc_cv_symbol_prefix != none; then -+ cat >>confdefs.h <<_ACEOF -+#define __SYMBOL_PREFIX "$libc_cv_symbol_prefix" -+_ACEOF -+ -+else -+ $as_echo "#define __SYMBOL_PREFIX \"\"" >>confdefs.h -+ -+fi -+ -+rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+ am__leading_dot=. -+else -+ am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null -+ -+DEPDIR="${am__leading_dot}deps" -+ -+ac_config_commands="$ac_config_commands depfiles" -+ -+ -+am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+ @echo done -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -+$as_echo_n "checking for style of include used by $am_make... " >&6; } -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ fi -+fi -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -+$as_echo "$_am_result" >&6; } -+rm -f confinc confmf -+ -+# Check whether --enable-dependency-tracking was given. -+if test "${enable_dependency_tracking+set}" = set; then : -+ enableval=$enable_dependency_tracking; -+fi -+ -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi -+ -+ -+if test "x$enable_dependency_tracking" != xno; then -+ AMDEP_TRUE= -+ AMDEP_FALSE='#' -+else -+ AMDEP_TRUE='#' -+ AMDEP_FALSE= -+fi -+ -+ -+ -+# Extract the first word of "gcc", so it can be a program name with args. -+set dummy gcc; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CC+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_CC="gcc" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ -+depcc="$CC" am_compiler_list= -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -+$as_echo_n "checking dependency style of $depcc... " >&6; } -+if ${am_cv_CC_dependencies_compiler_type+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub -+ -+ am_cv_CC_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` -+ fi -+ for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -+ -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_CC_dependencies_compiler_type=$depmode -+ break -+ fi -+ fi -+ done -+ -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_CC_dependencies_compiler_type=none -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type -+ -+ -+ -+if -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then -+ am__fastdepCC_TRUE= -+ am__fastdepCC_FALSE='#' -+else -+ am__fastdepCC_TRUE='#' -+ am__fastdepCC_FALSE= -+fi -+ -+ -+if test -z "$CC"; then -+ # Extract the first word of "cc", so it can be a program name with args. -+set dummy cc; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CC+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ ac_prog_rejected=no -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then -+ ac_prog_rejected=yes -+ continue -+ fi -+ ac_cv_prog_CC="cc" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+if test $ac_prog_rejected = yes; then -+ # We found a bogon in the path, so make sure we never use it. -+ set dummy $ac_cv_prog_CC -+ shift -+ if test $# != 0; then -+ # We chose a different compiler from the bogus one. -+ # However, it has the same basename, so the bogon will be chosen -+ # first if we set CC to just the basename; use the full file name. -+ shift -+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" -+ fi -+fi -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5 -+fi -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5 -+$as_echo_n "checking whether we are using GNU C... " >&6; } -+if ${ac_cv_c_compiler_gnu+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat > conftest.c <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then -+ ac_cv_c_compiler_gnu=yes -+else -+ ac_cv_c_compiler_gnu=no -+fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -+$as_echo "$ac_cv_c_compiler_gnu" >&6; } -+ -+if test $ac_cv_c_compiler_gnu = yes; then -+ GCC=yes -+ ac_test_CFLAGS="${CFLAGS+set}" -+ ac_save_CFLAGS="$CFLAGS" -+ CFLAGS= -+ ac_test_CFLAGS=${CFLAGS+set} -+ac_save_CFLAGS=$CFLAGS -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -+$as_echo_n "checking whether $CC accepts -g... " >&6; } -+if ${ac_cv_prog_cc_g+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_save_c_werror_flag=$ac_c_werror_flag -+ ac_c_werror_flag=yes -+ ac_cv_prog_cc_g=no -+ CFLAGS="-g" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_prog_cc_g=yes -+else -+ CFLAGS="" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ -+else -+ ac_c_werror_flag=$ac_save_c_werror_flag -+ CFLAGS="-g" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_prog_cc_g=yes -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_c_werror_flag=$ac_save_c_werror_flag -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -+$as_echo "$ac_cv_prog_cc_g" >&6; } -+if test "$ac_test_CFLAGS" = set; then -+ CFLAGS=$ac_save_CFLAGS -+elif test $ac_cv_prog_cc_g = yes; then -+ if test "$GCC" = yes; then -+ CFLAGS="-g -O2" -+ else -+ CFLAGS="-g" -+ fi -+else -+ if test "$GCC" = yes; then -+ CFLAGS="-O2" -+ else -+ CFLAGS= -+ fi -+fi -+ if test "$ac_test_CFLAGS" = set; then -+ CFLAGS="$ac_save_CFLAGS" -+ elif test $ac_cv_prog_cc_g = yes; then -+ CFLAGS="-g -O2" -+ else -+ CFLAGS="-O2" -+ fi -+else -+ GCC= -+ test "${CFLAGS+set}" = set || CFLAGS="-g" -+fi -+ -+AS=${AS-as} -+ -+AR=${AR-ar} -+ -+LD=${LD-ld} -+ -+if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -+set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_RANLIB+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$RANLIB"; then -+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+RANLIB=$ac_cv_prog_RANLIB -+if test -n "$RANLIB"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -+$as_echo "$RANLIB" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+fi -+if test -z "$ac_cv_prog_RANLIB"; then -+ ac_ct_RANLIB=$RANLIB -+ # Extract the first word of "ranlib", so it can be a program name with args. -+set dummy ranlib; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$ac_ct_RANLIB"; then -+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_ac_ct_RANLIB="ranlib" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -+if test -n "$ac_ct_RANLIB"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -+$as_echo "$ac_ct_RANLIB" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ if test "x$ac_ct_RANLIB" = x; then -+ RANLIB=":" -+ else -+ case $cross_compiling:$ac_tool_warned in -+yes:) -+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -+ac_tool_warned=yes ;; -+esac -+ RANLIB=$ac_ct_RANLIB -+ fi -+else -+ RANLIB="$ac_cv_prog_RANLIB" -+fi -+ -+# By default we simply use the C compiler to build assembly code. -+ -+test "${CCAS+set}" = set || CCAS=$CC -+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS -+ -+ -+ -+ -+host_makefile_frag=${srcdir}/../config/default.mh -+ -+host_makefile_frag_path=$host_makefile_frag -+ -+ -+ -+ac_config_files="$ac_config_files Makefile" -+ -+cat >confcache <<\_ACEOF -+# This file is a shell script that caches the results of configure -+# tests run on this system so they can be shared between configure -+# scripts and configure runs, see configure's option --config-cache. -+# It is not useful on other systems. If it contains results you don't -+# want to keep, you may remove or edit it. -+# -+# config.status only pays attention to the cache file if you give it -+# the --recheck option to rerun configure. -+# -+# `ac_cv_env_foo' variables (set or unset) will be overridden when -+# loading this file, other *unset* `ac_cv_foo' will be assigned the -+# following values. -+ -+_ACEOF -+ -+# The following way of writing the cache mishandles newlines in values, -+# but we know of no workaround that is simple, portable, and efficient. -+# So, we kill variables containing newlines. -+# Ultrix sh set writes to stderr and can't be redirected directly, -+# and sets the high bit in the cache file unless we assign to the vars. -+( -+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do -+ eval ac_val=\$$ac_var -+ case $ac_val in #( -+ *${as_nl}*) -+ case $ac_var in #( -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; -+ esac -+ case $ac_var in #( -+ _ | IFS | as_nl) ;; #( -+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -+ *) { eval $ac_var=; unset $ac_var;} ;; -+ esac ;; -+ esac -+ done -+ -+ (set) 2>&1 | -+ case $as_nl`(ac_space=' '; set) 2>&1` in #( -+ *${as_nl}ac_space=\ *) -+ # `set' does not quote correctly, so add quotes: double-quote -+ # substitution turns \\\\ into \\, and sed turns \\ into \. -+ sed -n \ -+ "s/'/'\\\\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" -+ ;; #( -+ *) -+ # `set' quotes correctly as required by POSIX, so do not add quotes. -+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" -+ ;; -+ esac | -+ sort -+) | -+ sed ' -+ /^ac_cv_env_/b end -+ t clear -+ :clear -+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ -+ t end -+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ -+ :end' >>confcache -+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else -+ if test -w "$cache_file"; then -+ if test "x$cache_file" != "x/dev/null"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -+$as_echo "$as_me: updating cache $cache_file" >&6;} -+ if test ! -f "$cache_file" || test -h "$cache_file"; then -+ cat confcache >"$cache_file" -+ else -+ case $cache_file in #( -+ */* | ?:*) -+ mv -f confcache "$cache_file"$$ && -+ mv -f "$cache_file"$$ "$cache_file" ;; #( -+ *) -+ mv -f confcache "$cache_file" ;; -+ esac -+ fi -+ fi -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} -+ fi -+fi -+rm -f confcache -+ -+test "x$prefix" = xNONE && prefix=$ac_default_prefix -+# Let make expand exec_prefix. -+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -+ -+DEFS=-DHAVE_CONFIG_H -+ -+ac_libobjs= -+ac_ltlibobjs= -+U= -+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue -+ # 1. Remove the extension, and $U if already installed. -+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' -+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"` -+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR -+ # will be set to the directory where LIBOBJS objects are built. -+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" -+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -+done -+LIBOBJS=$ac_libobjs -+ -+LTLIBOBJS=$ac_ltlibobjs -+ -+ -+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then -+ as_fn_error $? "conditional \"AMDEP\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then -+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+ -+: "${CONFIG_STATUS=./config.status}" -+ac_write_fail=0 -+ac_clean_files_save=$ac_clean_files -+ac_clean_files="$ac_clean_files $CONFIG_STATUS" -+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -+as_write_fail=0 -+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -+#! $SHELL -+# Generated by $as_me. -+# Run this file to recreate the current configuration. -+# Compiler output produced by configure, useful for debugging -+# configure, is in config.log if it exists. -+ -+debug=false -+ac_cs_recheck=false -+ac_cs_silent=false -+ -+SHELL=\${CONFIG_SHELL-$SHELL} -+export SHELL -+_ASEOF -+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## -+ -+# Be more Bourne compatible -+DUALCASE=1; export DUALCASE # for MKS sh -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '${1+"$@"}'='"$@"' -+ setopt NO_GLOB_SUBST -+else -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+ -+ -+as_nl=' -+' -+export as_nl -+# Printing a long string crashes Solaris 7 /usr/bin/printf. -+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='printf %s\n' -+ as_echo_n='printf %s' -+else -+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then -+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' -+ as_echo_n='/usr/ucb/echo -n' -+ else -+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' -+ as_echo_n_body='eval -+ arg=$1; -+ case $arg in #( -+ *"$as_nl"*) -+ expr "X$arg" : "X\\(.*\\)$as_nl"; -+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -+ esac; -+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" -+ ' -+ export as_echo_n_body -+ as_echo_n='sh -c $as_echo_n_body as_echo' -+ fi -+ export as_echo_body -+ as_echo='sh -c $as_echo_body as_echo' -+fi -+ -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ PATH_SEPARATOR=: -+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { -+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || -+ PATH_SEPARATOR=';' -+ } -+fi -+ -+ -+# IFS -+# We need space, tab and new line, in precisely that order. Quoting is -+# there to prevent editors from complaining about space-tab. -+# (If _AS_PATH_WALK were called with IFS unset, it would disable word -+# splitting by setting IFS to empty value.) -+IFS=" "" $as_nl" -+ -+# Find who we are. Look in the path if we contain no directory separator. -+as_myself= -+case $0 in #(( -+ *[\\/]* ) as_myself=$0 ;; -+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done -+IFS=$as_save_IFS -+ -+ ;; -+esac -+# We did not find ourselves, most probably we were run as `sh COMMAND' -+# in which case we are not to be found in the path. -+if test "x$as_myself" = x; then -+ as_myself=$0 -+fi -+if test ! -f "$as_myself"; then -+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -+ exit 1 -+fi -+ -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -+done -+PS1='$ ' -+PS2='> ' -+PS4='+ ' -+ -+# NLS nuisances. -+LC_ALL=C -+export LC_ALL -+LANGUAGE=C -+export LANGUAGE -+ -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+ -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error -+ -+ -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status -+ -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit -+ -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append -+ -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith -+ -+ -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr -+else -+ as_expr=false -+fi -+ -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename -+else -+ as_basename=false -+fi -+ -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi -+ -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+ECHO_C= ECHO_N= ECHO_T= -+case `echo -n x` in #((((( -+-n*) -+ case `echo 'xy\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; -+ esac;; -+*) -+ ECHO_N='-n';; -+esac -+ -+rm -f conf$$ conf$$.exe conf$$.file -+if test -d conf$$.dir; then -+ rm -f conf$$.dir/conf$$.file -+else -+ rm -f conf$$.dir -+ mkdir conf$$.dir 2>/dev/null -+fi -+if (echo >conf$$.file) 2>/dev/null; then -+ if ln -s conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s='ln -s' -+ # ... but there are two gotchas: -+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. -+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -+ # In both cases, we have to default to `cp -pR'. -+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -+ as_ln_s='cp -pR' -+ elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+ else -+ as_ln_s='cp -pR' -+ fi -+else -+ as_ln_s='cp -pR' -+fi -+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -+rmdir conf$$.dir 2>/dev/null -+ -+ -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ -+ -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" -+ -+ -+} # as_fn_mkdir_p -+if mkdir -p . 2>/dev/null; then -+ as_mkdir_p='mkdir -p "$as_dir"' -+else -+ test -d ./-p && rmdir ./-p -+ as_mkdir_p=false -+fi -+ -+ -+# as_fn_executable_p FILE -+# ----------------------- -+# Test if FILE is an executable regular file. -+as_fn_executable_p () -+{ -+ test -f "$1" && test -x "$1" -+} # as_fn_executable_p -+as_test_x='test -x' -+as_executable_p=as_fn_executable_p -+ -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -+ -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -+ -+ -+exec 6>&1 -+## ----------------------------------- ## -+## Main body of $CONFIG_STATUS script. ## -+## ----------------------------------- ## -+_ASEOF -+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# Save the log message, to keep $0 and so on meaningful, and to -+# report actual input values of CONFIG_FILES etc. instead of their -+# values after options handling. -+ac_log=" -+This file was extended by $as_me, which was -+generated by GNU Autoconf 2.69. Invocation command line was -+ -+ CONFIG_FILES = $CONFIG_FILES -+ CONFIG_HEADERS = $CONFIG_HEADERS -+ CONFIG_LINKS = $CONFIG_LINKS -+ CONFIG_COMMANDS = $CONFIG_COMMANDS -+ $ $0 $@ -+ -+on `(hostname || uname -n) 2>/dev/null | sed 1q` -+" -+ -+_ACEOF -+ -+case $ac_config_files in *" -+"*) set x $ac_config_files; shift; ac_config_files=$*;; -+esac -+ -+case $ac_config_headers in *" -+"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -+esac -+ -+ -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+# Files that config.status was made for. -+config_files="$ac_config_files" -+config_headers="$ac_config_headers" -+config_commands="$ac_config_commands" -+ -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ac_cs_usage="\ -+\`$as_me' instantiates files and other configuration actions -+from templates according to the current configuration. Unless the files -+and actions are specified as TAGs, all are instantiated by default. -+ -+Usage: $0 [OPTION]... [TAG]... -+ -+ -h, --help print this help, then exit -+ -V, --version print version number and configuration settings, then exit -+ --config print configuration, then exit -+ -q, --quiet, --silent -+ do not print progress messages -+ -d, --debug don't remove temporary files -+ --recheck update $as_me by reconfiguring in the same conditions -+ --file=FILE[:TEMPLATE] -+ instantiate the configuration file FILE -+ --header=FILE[:TEMPLATE] -+ instantiate the configuration header FILE -+ -+Configuration files: -+$config_files -+ -+Configuration headers: -+$config_headers -+ -+Configuration commands: -+$config_commands -+ -+Report bugs to the package provider." -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -+ac_cs_version="\\ -+config.status -+configured by $0, generated by GNU Autoconf 2.69, -+ with options \\"\$ac_cs_config\\" -+ -+Copyright (C) 2012 Free Software Foundation, Inc. -+This config.status script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it." -+ -+ac_pwd='$ac_pwd' -+srcdir='$srcdir' -+INSTALL='$INSTALL' -+test -n "\$AWK" || AWK=awk -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# The default lists apply if the user does not specify any file. -+ac_need_defaults=: -+while test $# != 0 -+do -+ case $1 in -+ --*=?*) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` -+ ac_shift=: -+ ;; -+ --*=) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg= -+ ac_shift=: -+ ;; -+ *) -+ ac_option=$1 -+ ac_optarg=$2 -+ ac_shift=shift -+ ;; -+ esac -+ -+ case $ac_option in -+ # Handling of the options. -+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) -+ ac_cs_recheck=: ;; -+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) -+ $as_echo "$ac_cs_version"; exit ;; -+ --config | --confi | --conf | --con | --co | --c ) -+ $as_echo "$ac_cs_config"; exit ;; -+ --debug | --debu | --deb | --de | --d | -d ) -+ debug=: ;; -+ --file | --fil | --fi | --f ) -+ $ac_shift -+ case $ac_optarg in -+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ '') as_fn_error $? "missing file argument" ;; -+ esac -+ as_fn_append CONFIG_FILES " '$ac_optarg'" -+ ac_need_defaults=false;; -+ --header | --heade | --head | --hea ) -+ $ac_shift -+ case $ac_optarg in -+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ esac -+ as_fn_append CONFIG_HEADERS " '$ac_optarg'" -+ ac_need_defaults=false;; -+ --he | --h) -+ # Conflict between --help and --header -+ as_fn_error $? "ambiguous option: \`$1' -+Try \`$0 --help' for more information.";; -+ --help | --hel | -h ) -+ $as_echo "$ac_cs_usage"; exit ;; -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil | --si | --s) -+ ac_cs_silent=: ;; -+ -+ # This is an error. -+ -*) as_fn_error $? "unrecognized option: \`$1' -+Try \`$0 --help' for more information." ;; -+ -+ *) as_fn_append ac_config_targets " $1" -+ ac_need_defaults=false ;; -+ -+ esac -+ shift -+done -+ -+ac_configure_extra_args= -+ -+if $ac_cs_silent; then -+ exec 6>/dev/null -+ ac_configure_extra_args="$ac_configure_extra_args --silent" -+fi -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+if \$ac_cs_recheck; then -+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -+ shift -+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 -+ CONFIG_SHELL='$SHELL' -+ export CONFIG_SHELL -+ exec "\$@" -+fi -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+exec 5>>config.log -+{ -+ echo -+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -+## Running $as_me. ## -+_ASBOX -+ $as_echo "$ac_log" -+} >&5 -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+# -+# INIT-COMMANDS -+# -+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" -+srcdir=${srcdir} -+target=${target} -+with_multisubdir=${with_multisubdir} -+ac_configure_args="${ac_configure_args} --enable-multilib" -+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+libgloss_topdir=${libgloss_topdir} -+ -+ -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ -+# Handling of arguments. -+for ac_config_target in $ac_config_targets -+do -+ case $ac_config_target in -+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; -+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; -+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; -+ -+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; -+ esac -+done -+ -+ -+# If the user did not use the arguments to specify the items to instantiate, -+# then the envvar interface is used. Set only those that are not. -+# We use the long form for the default assignment because of an extremely -+# bizarre bug on SunOS 4.1.3. -+if $ac_need_defaults; then -+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers -+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -+fi -+ -+# Have a temporary directory for convenience. Make it in the build tree -+# simply because there is no reason against having it here, and in addition, -+# creating and moving files from /tmp can sometimes cause problems. -+# Hook for its removal unless debugging. -+# Note that there is a small window in which the directory will not be cleaned: -+# after its creation but before its name has been assigned to `$tmp'. -+$debug || -+{ -+ tmp= ac_tmp= -+ trap 'exit_status=$? -+ : "${ac_tmp:=$tmp}" -+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -+' 0 -+ trap 'as_fn_exit 1' 1 2 13 15 -+} -+# Create a (secure) tmp directory for tmp files. -+ -+{ -+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && -+ test -d "$tmp" -+} || -+{ -+ tmp=./conf$$-$RANDOM -+ (umask 077 && mkdir "$tmp") -+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -+ac_tmp=$tmp -+ -+# Set up the scripts for CONFIG_FILES section. -+# No need to generate them if there are no CONFIG_FILES. -+# This happens for instance with `./config.status config.h'. -+if test -n "$CONFIG_FILES"; then -+ -+if $AWK 'BEGIN { getline <"/dev/null" }' /dev/null; then -+ ac_cs_awk_getline=: -+ ac_cs_awk_pipe_init= -+ ac_cs_awk_read_file=' -+ while ((getline aline < (F[key])) > 0) -+ print(aline) -+ close(F[key])' -+ ac_cs_awk_pipe_fini= -+else -+ ac_cs_awk_getline=false -+ ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\"" -+ ac_cs_awk_read_file=' -+ print "|#_!!_#|" -+ print "cat " F[key] " &&" -+ '$ac_cs_awk_pipe_init -+ # The final `:' finishes the AND list. -+ ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }' -+fi -+ac_cr=`echo X | tr X '\015'` -+# On cygwin, bash can eat \r inside `` if the user requested igncr. -+# But we know of no other shell where ac_cr would be empty at this -+# point, so we can use a bashism as a fallback. -+if test "x$ac_cr" = x; then -+ eval ac_cr=\$\'\\r\' -+fi -+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then -+ ac_cs_awk_cr='\\r' -+else -+ ac_cs_awk_cr=$ac_cr -+fi -+ -+echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -+_ACEOF -+ -+# Create commands to substitute file output variables. -+{ -+ echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && -+ echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && -+ echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && -+ echo "_ACAWK" && -+ echo "_ACEOF" -+} >conf$$files.sh && -+. ./conf$$files.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+rm -f conf$$files.sh -+ -+{ -+ echo "cat >conf$$subs.awk <<_ACEOF" && -+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && -+ echo "_ACEOF" -+} >conf$$subs.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -+ac_delim='%!_!# ' -+for ac_last_try in false false false false false :; do -+ . ./conf$$subs.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ -+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` -+ if test $ac_delim_n = $ac_delim_num; then -+ break -+ elif $ac_last_try; then -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ else -+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " -+ fi -+done -+rm -f conf$$subs.sh -+ -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -+_ACEOF -+sed -n ' -+h -+s/^/S["/; s/!.*/"]=/ -+p -+g -+s/^[^!]*!// -+:repl -+t repl -+s/'"$ac_delim"'$// -+t delim -+:nl -+h -+s/\(.\{148\}\)..*/\1/ -+t more1 -+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -+p -+n -+b repl -+:more1 -+s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -+p -+g -+s/.\{148\}// -+t nl -+:delim -+h -+s/\(.\{148\}\)..*/\1/ -+t more2 -+s/["\\]/\\&/g; s/^/"/; s/$/"/ -+p -+b -+:more2 -+s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -+p -+g -+s/.\{148\}// -+t delim -+' >$CONFIG_STATUS || ac_write_fail=1 -+rm -f conf$$subs.awk -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+_ACAWK -+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && -+ for (key in S) S_is_set[key] = 1 -+ FS = "" -+ \$ac_cs_awk_pipe_init -+} -+{ -+ line = $ 0 -+ nfields = split(line, field, "@") -+ substed = 0 -+ len = length(field[1]) -+ for (i = 2; i < nfields; i++) { -+ key = field[i] -+ keylen = length(key) -+ if (S_is_set[key]) { -+ value = S[key] -+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) -+ len += length(value) + length(field[++i]) -+ substed = 1 -+ } else -+ len += 1 + keylen -+ } -+ if (nfields == 3 && !substed) { -+ key = field[2] -+ if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) { -+ \$ac_cs_awk_read_file -+ next -+ } -+ } -+ print line -+} -+\$ac_cs_awk_pipe_fini -+_ACAWK -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then -+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -+else -+ cat -+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ -+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -+_ACEOF -+ -+# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -+# trailing colons and then remove the whole line if VPATH becomes empty -+# (actually we leave an empty line to preserve line numbers). -+if test "x$srcdir" = x.; then -+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -+h -+s/// -+s/^/:/ -+s/[ ]*$/:/ -+s/:\$(srcdir):/:/g -+s/:\${srcdir}:/:/g -+s/:@srcdir@:/:/g -+s/^:*// -+s/:*$// -+x -+s/\(=[ ]*\).*/\1/ -+G -+s/\n// -+s/^[^=]*=[ ]*$// -+}' -+fi -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+fi # test -n "$CONFIG_FILES" -+ -+# Set up the scripts for CONFIG_HEADERS section. -+# No need to generate them if there are no CONFIG_HEADERS. -+# This happens for instance with `./config.status Makefile'. -+if test -n "$CONFIG_HEADERS"; then -+cat >"$ac_tmp/defines.awk" <<\_ACAWK || -+BEGIN { -+_ACEOF -+ -+# Transform confdefs.h into an awk script `defines.awk', embedded as -+# here-document in config.status, that substitutes the proper values into -+# config.h.in to produce config.h. -+ -+# Create a delimiter string that does not exist in confdefs.h, to ease -+# handling of long lines. -+ac_delim='%!_!# ' -+for ac_last_try in false false :; do -+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h` -+ if test -z "$ac_tt"; then -+ break -+ elif $ac_last_try; then -+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 -+ else -+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " -+ fi -+done -+ -+# For the awk script, D is an array of macro values keyed by name, -+# likewise P contains macro parameters if any. Preserve backslash -+# newline sequences. -+ -+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -+sed -n ' -+s/.\{148\}/&'"$ac_delim"'/g -+t rset -+:rset -+s/^[ ]*#[ ]*define[ ][ ]*/ / -+t def -+d -+:def -+s/\\$// -+t bsnl -+s/["\\]/\\&/g -+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -+D["\1"]=" \3"/p -+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -+d -+:bsnl -+s/["\\]/\\&/g -+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -+D["\1"]=" \3\\\\\\n"\\/p -+t cont -+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -+t cont -+d -+:cont -+n -+s/.\{148\}/&'"$ac_delim"'/g -+t clear -+:clear -+s/\\$// -+t bsnlc -+s/["\\]/\\&/g; s/^/"/; s/$/"/p -+d -+:bsnlc -+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -+b cont -+' >$CONFIG_STATUS || ac_write_fail=1 -+ -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ for (key in D) D_is_set[key] = 1 -+ FS = "" -+} -+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { -+ line = \$ 0 -+ split(line, arg, " ") -+ if (arg[1] == "#") { -+ defundef = arg[2] -+ mac1 = arg[3] -+ } else { -+ defundef = substr(arg[1], 2) -+ mac1 = arg[2] -+ } -+ split(mac1, mac2, "(") #) -+ macro = mac2[1] -+ prefix = substr(line, 1, index(line, defundef) - 1) -+ if (D_is_set[macro]) { -+ # Preserve the white space surrounding the "#". -+ print prefix "define", macro P[macro] D[macro] -+ next -+ } else { -+ # Replace #undef with comments. This is necessary, for example, -+ # in the case of _POSIX_SOURCE, which is predefined and required -+ # on some systems where configure will not decide to define it. -+ if (defundef == "undef") { -+ print "/*", prefix defundef, macro, "*/" -+ next -+ } -+ } -+} -+{ print } -+_ACAWK -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -+fi # test -n "$CONFIG_HEADERS" -+ -+ -+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -+shift -+for ac_tag -+do -+ case $ac_tag in -+ :[FHLC]) ac_mode=$ac_tag; continue;; -+ esac -+ case $ac_mode$ac_tag in -+ :[FHL]*:*);; -+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; -+ :[FH]-) ac_tag=-:-;; -+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; -+ esac -+ ac_save_IFS=$IFS -+ IFS=: -+ set x $ac_tag -+ IFS=$ac_save_IFS -+ shift -+ ac_file=$1 -+ shift -+ -+ case $ac_mode in -+ :L) ac_source=$1;; -+ :[FH]) -+ ac_file_inputs= -+ for ac_f -+ do -+ case $ac_f in -+ -) ac_f="$ac_tmp/stdin";; -+ *) # Look for the file first in the build tree, then in the source tree -+ # (if the path is not absolute). The absolute path cannot be DOS-style, -+ # because $ac_f cannot contain `:'. -+ test -f "$ac_f" || -+ case $ac_f in -+ [\\/$]*) false;; -+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; -+ esac || -+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; -+ esac -+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac -+ as_fn_append ac_file_inputs " '$ac_f'" -+ done -+ -+ # Let's still pretend it is `configure' which instantiates (i.e., don't -+ # use $as_me), people would be surprised to read: -+ # /* config.h. Generated by config.status. */ -+ configure_input='Generated from '` -+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' -+ `' by configure.' -+ if test x"$ac_file" != x-; then -+ configure_input="$ac_file. $configure_input" -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -+$as_echo "$as_me: creating $ac_file" >&6;} -+ fi -+ # Neutralize special characters interpreted by sed in replacement strings. -+ case $configure_input in #( -+ *\&* | *\|* | *\\* ) -+ ac_sed_conf_input=`$as_echo "$configure_input" | -+ sed 's/[\\\\&|]/\\\\&/g'`;; #( -+ *) ac_sed_conf_input=$configure_input;; -+ esac -+ -+ case $ac_tag in -+ *:-:* | *:-) cat >"$ac_tmp/stdin" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; -+ esac -+ ;; -+ esac -+ -+ ac_dir=`$as_dirname -- "$ac_file" || -+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$ac_file" : 'X\(//\)[^/]' \| \ -+ X"$ac_file" : 'X\(//\)$' \| \ -+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$ac_file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ as_dir="$ac_dir"; as_fn_mkdir_p -+ ac_builddir=. -+ -+case "$ac_dir" in -+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -+*) -+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` -+ # A ".." for each directory in $ac_dir_suffix. -+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` -+ case $ac_top_builddir_sub in -+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; -+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; -+ esac ;; -+esac -+ac_abs_top_builddir=$ac_pwd -+ac_abs_builddir=$ac_pwd$ac_dir_suffix -+# for backward compatibility: -+ac_top_builddir=$ac_top_build_prefix -+ -+case $srcdir in -+ .) # We are building in place. -+ ac_srcdir=. -+ ac_top_srcdir=$ac_top_builddir_sub -+ ac_abs_top_srcdir=$ac_pwd ;; -+ [\\/]* | ?:[\\/]* ) # Absolute name. -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir -+ ac_abs_top_srcdir=$srcdir ;; -+ *) # Relative name. -+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_top_build_prefix$srcdir -+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -+esac -+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -+ -+ -+ case $ac_mode in -+ :F) -+ # -+ # CONFIG_FILE -+ # -+ -+ case $INSTALL in -+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; -+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; -+ esac -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# If the template does not know about datarootdir, expand it. -+# FIXME: This hack should be removed a few years after 2.60. -+ac_datarootdir_hack=; ac_datarootdir_seen= -+ac_sed_dataroot=' -+/datarootdir/ { -+ p -+ q -+} -+/@datadir@/p -+/@docdir@/p -+/@infodir@/p -+/@localedir@/p -+/@mandir@/p' -+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -+*datarootdir*) ac_datarootdir_seen=yes;; -+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ ac_datarootdir_hack=' -+ s&@datadir@&$datadir&g -+ s&@docdir@&$docdir&g -+ s&@infodir@&$infodir&g -+ s&@localedir@&$localedir&g -+ s&@mandir@&$mandir&g -+ s&\\\${datarootdir}&$datarootdir&g' ;; -+esac -+_ACEOF -+ -+# Neutralize VPATH when `$srcdir' = `.'. -+# Shell code in configure.ac might set extrasub. -+# FIXME: do we really want to maintain this feature? -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_sed_extra="$ac_vpsub -+$extrasub -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+:t -+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -+s|@configure_input@|$ac_sed_conf_input|;t t -+s&@top_builddir@&$ac_top_builddir_sub&;t t -+s&@top_build_prefix@&$ac_top_build_prefix&;t t -+s&@srcdir@&$ac_srcdir&;t t -+s&@abs_srcdir@&$ac_abs_srcdir&;t t -+s&@top_srcdir@&$ac_top_srcdir&;t t -+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -+s&@builddir@&$ac_builddir&;t t -+s&@abs_builddir@&$ac_abs_builddir&;t t -+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -+s&@INSTALL@&$ac_INSTALL&;t t -+$ac_datarootdir_hack -+" -+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | -+if $ac_cs_awk_getline; then -+ $AWK -f "$ac_tmp/subs.awk" -+else -+ $AWK -f "$ac_tmp/subs.awk" | $SHELL -+fi \ -+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ -+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && -+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && -+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ -+ "$ac_tmp/out"`; test -z "$ac_out"; } && -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&5 -+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&2;} -+ -+ rm -f "$ac_tmp/stdin" -+ case $ac_file in -+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; -+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; -+ esac \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ ;; -+ :H) -+ # -+ # CONFIG_HEADER -+ # -+ if test x"$ac_file" != x-; then -+ { -+ $as_echo "/* $configure_input */" \ -+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" -+ } >"$ac_tmp/config.h" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -+$as_echo "$as_me: $ac_file is unchanged" >&6;} -+ else -+ rm -f "$ac_file" -+ mv "$ac_tmp/config.h" "$ac_file" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ fi -+ else -+ $as_echo "/* $configure_input */" \ -+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ -+ || as_fn_error $? "could not create -" "$LINENO" 5 -+ fi -+ ;; -+ -+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -+$as_echo "$as_me: executing $ac_file commands" >&6;} -+ ;; -+ esac -+ -+ -+ case $ac_file$ac_mode in -+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # So let's grep whole file. -+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -+ dirpart=`$as_dirname -- "$mf" || -+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$mf" : 'X\(//\)[^/]' \| \ -+ X"$mf" : 'X\(//\)$' \| \ -+ X"$mf" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$mf" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ else -+ continue -+ fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`$as_dirname -- "$file" || -+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$file" : 'X\(//\)[^/]' \| \ -+ X"$file" : 'X\(//\)$' \| \ -+ X"$file" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ as_dir=$dirpart/$fdir; as_fn_mkdir_p -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done -+done -+ ;; -+ "Makefile":F) ac_file=Makefile . ${libgloss_topdir}/config-ml.in ;; -+ -+ esac -+done # for ac_tag -+ -+ -+as_fn_exit 0 -+_ACEOF -+ac_clean_files=$ac_clean_files_save -+ -+test $ac_write_fail = 0 || -+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 -+ -+ -+# configure is writing to config.log, and then calls config.status. -+# config.status does its own redirection, appending to config.log. -+# Unfortunately, on DOS this fails, as config.log is still kept open -+# by configure, so config.status won't be able to write to it; its -+# output is simply discarded. So we exec the FD to /dev/null, -+# effectively closing config.log, so it can be properly (re)opened and -+# appended to by config.status. When coming back to configure, we -+# need to make the FD available again. -+if test "$no_create" != yes; then -+ ac_cs_success=: -+ ac_config_status_args= -+ test "$silent" = yes && -+ ac_config_status_args="$ac_config_status_args --quiet" -+ exec 5>/dev/null -+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false -+ exec 5>>config.log -+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which -+ # would make configure fail if this is the last instruction. -+ $ac_cs_success || as_fn_exit 1 -+fi -+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -+fi -+ -+ -+ -diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in -new file mode 100644 -index 000000000..3da91ed98 ---- /dev/null -+++ b/libgloss/libsysbase/configure.in -@@ -0,0 +1,199 @@ -+# Copyright (c) 1995, 1996 Cygnus Support -+# -+# The authors hereby grant permission to use, copy, modify, distribute, -+# and license this software and its documentation for any purpose, provided -+# that existing copyright notices are retained in all copies and that this -+# notice is included verbatim in any distributions. No written agreement, -+# license, or royalty fee is required for any of the authorized uses. -+# Modifications to this software may be copyrighted by their authors -+# and need not follow the licensing terms described here, provided that -+# the new terms are clearly indicated on the first page of each file where -+# they apply. -+# -+# Process this file with autoconf to produce a configure script. -+# -+AC_PREREQ(2.59) -+AC_INIT(abort.c) -+AC_CONFIG_HEADER(config.h) -+ -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" -+fi -+ -+if test "$srcdir" = "." ; then -+ if test "${with_target_subdir}" != "." ; then -+ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." -+ else -+ libgloss_topdir="${srcdir}/${with_multisrctop}../.." -+ fi -+else -+ libgloss_topdir="${srcdir}/../.." -+fi -+AC_CONFIG_AUX_DIR($libgloss_topdir) -+ -+AC_CANONICAL_SYSTEM -+AC_ARG_PROGRAM -+ -+AC_PROG_INSTALL -+ -+AC_DEFINE(HAVE_GNU_LD) -+dnl Make sure syscall names match those being used by newlib -+case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ arc-*-*) -+ ;; -+ arm-*-eabi) -+ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) -+ ;; -+ arm*-*-*) -+ ;; -+ bfin-*-*) -+ ;; -+ cris-*-* | crisv32-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i[3456]86-*-sco*) -+ ;; -+ lm32-*-*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ v850*-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ AC_DEFINE(MISSING_SYSCALL_NAMES) -+ ;; -+esac -+ -+dnl Make sure we know if elf format used -+case "${target}" in -+ *-*-elf) -+ AC_DEFINE(HAVE_ELF) -+ -+ AC_CACHE_CHECK([for .previous assembler directive], -+ libc_cv_asm_previous_directive, [dnl -+ libc_cv_asm_previous_directive=no -+ cat > conftest.s <&AC_FD_CC); then -+ libc_cv_asm_previous_directive=yes -+ fi -+ rm -f conftest*]) -+ -+ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then -+ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) -+ fi -+ -+ AC_CACHE_CHECK([for .popsection assembler directive], -+ libc_cv_asm_popsection_directive, [dnl -+ libc_cv_asm_popsection_directive=no -+ cat > conftest.s <&AC_FD_CC); then -+ libc_cv_asm_popsection_directive=yes -+ fi -+ rm -f conftest*]) -+ -+ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then -+ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) -+ fi -+ -+ AC_CACHE_CHECK([for section attributes], -+ libc_cv_section_attributes, [dnl -+ libc_cv_section_attributes=no -+ cat > conftest.c <&AC_FD_CC); then -+ libc_cv_section_attributes=yes -+ fi -+ rm -f conftest*]) -+ if test "x${libc_cv_section_attributes}" = "xyes"; then -+ AC_DEFINE(HAVE_SECTION_ATTRIBUTES) -+ fi -+ ;; -+esac -+ -+AC_CACHE_CHECK([for symbol prefix], libc_cv_symbol_prefix, [dnl -+cat > conftest.c <<\EOF -+foo () { } -+EOF -+dnl -+libc_cv_symbol_prefix=none -+if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); -+then -+ libc_cv_symbol_prefix='$' -+else -+ if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]); -+ then -+ libc_cv_symbol_prefix=_ -+ fi -+fi -+rm -f conftest* ]) -+if test $libc_cv_symbol_prefix != none; then -+ AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_cv_symbol_prefix") -+else -+ AC_DEFINE(__SYMBOL_PREFIX, "") -+fi -+ -+LIB_AC_PROG_CC -+AS=${AS-as} -+AC_SUBST(AS) -+AR=${AR-ar} -+AC_SUBST(AR) -+LD=${LD-ld} -+AC_SUBST(LD) -+AC_PROG_RANLIB -+LIB_AM_PROG_AS -+ -+host_makefile_frag=${srcdir}/../config/default.mh -+ -+dnl We have to assign the same value to other variables because autoconf -+dnl doesn't provide a mechanism to substitute a replacement keyword with -+dnl arbitrary data or pathnames. -+dnl -+host_makefile_frag_path=$host_makefile_frag -+AC_SUBST(host_makefile_frag_path) -+AC_SUBST_FILE(host_makefile_frag) -+ -+AC_CONFIG_FILES(Makefile, -+ac_file=Makefile . ${libgloss_topdir}/config-ml.in, -+srcdir=${srcdir} -+target=${target} -+with_multisubdir=${with_multisubdir} -+ac_configure_args="${ac_configure_args} --enable-multilib" -+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+libgloss_topdir=${libgloss_topdir} -+) -+AC_OUTPUT -+ -+ -diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c -new file mode 100644 -index 000000000..0ad29029c ---- /dev/null -+++ b/libgloss/libsysbase/dirent.c -@@ -0,0 +1,255 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+static DIR_ITER * __diropen (const char *path) { -+ struct _reent *r = _REENT; -+ DIR_ITER *handle = NULL; -+ DIR_ITER *dir = NULL; -+ int dev; -+ -+ dev = FindDevice(path); -+ -+ if(dev!=-1) { -+ if(devoptab_list[dev]->diropen_r) { -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ handle = (DIR_ITER *)malloc( sizeof(DIR_ITER) + devoptab_list[dev]->dirStateSize ); -+ -+ if ( NULL != handle ) { -+ handle->device = dev; -+ handle->dirStruct = ((void *)handle) + sizeof(DIR_ITER); -+ -+ dir = devoptab_list[dev]->diropen_r(r, handle, path); -+ -+ if ( dir == NULL ) { -+ free (handle); -+ handle = NULL; -+ } -+ } else { -+ r->_errno = ENOSR; -+ handle = NULL; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = ENODEV; -+ } -+ -+ return handle; -+} -+ -+static int __dirreset (DIR_ITER *dirState) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; -+ -+ if (dirState != NULL) { -+ dev = dirState->device; -+ -+ if(devoptab_list[dev]->dirreset_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirreset_r(r, dirState); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} -+ -+static int __dirnext (DIR_ITER *dirState, char *filename, struct stat *filestat) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; -+ -+ if (dirState != NULL) { -+ dev = dirState->device; -+ -+ if(devoptab_list[dev]->dirnext_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirnext_r(r, dirState, filename, filestat); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} -+ -+static int __dirclose (DIR_ITER *dirState) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; -+ -+ if (dirState != NULL) { -+ dev = dirState->device; -+ -+ if (devoptab_list[dev]->dirclose_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirclose_r (r, dirState); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ free (dirState); -+ } -+ return ret; -+} -+ -+DIR* opendir (const char *dirname) { -+ DIR* dirp = malloc (sizeof(DIR)); -+ if (!dirp) { -+ errno = ENOMEM; -+ return NULL; -+ } -+ -+ dirp->dirData = __diropen (dirname); -+ if (!dirp->dirData) { -+ free (dirp); -+ return NULL; -+ } -+ -+ dirp->position = 0; // 0th position means no file name has been returned yet -+ dirp->fileData.d_ino = -1; -+ dirp->fileData.d_name[0] = '\0'; -+ -+ return dirp; -+} -+ -+ -+int closedir (DIR *dirp) { -+ int res; -+ -+ if (!dirp) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ res = __dirclose (dirp->dirData); -+ free (dirp); -+ return res; -+} -+ -+ -+struct dirent* readdir (DIR *dirp) { -+ struct stat st; -+ char filename[NAME_MAX]; -+ int res; -+ int olderrno = errno; -+ -+ if (!dirp) { -+ errno = EBADF; -+ return NULL; -+ } -+ -+ res = __dirnext (dirp->dirData, filename, &st); -+ -+ if (res < 0) { -+ if (errno == ENOENT) { -+ // errno == ENONENT set by dirnext means it's end of directory -+ // But readdir should not touch errno in case of dir end -+ errno = olderrno; -+ } -+ return NULL; -+ } -+ -+ // We've moved forward in the directory -+ dirp->position += 1; -+ -+ if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { -+ errno = EOVERFLOW; -+ return NULL; -+ } -+ -+ strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); -+ dirp->fileData.d_ino = st.st_ino; -+ dirp->fileData.d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; -+ -+ return &(dirp->fileData); -+} -+ -+ -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { -+ struct stat st; -+ char filename[NAME_MAX]; -+ int res; -+ -+ if (!dirp) { -+ return EBADF; -+ } -+ -+ res = __dirnext (dirp->dirData, filename, &st); -+ -+ if (res < 0) { -+ res = errno; -+ *result = NULL; -+ if (errno == ENOENT) { -+ // errno == ENONENT set by dirnext means it's end of directory -+ // But readdir should not touch errno in case of dir end -+ res = 0; -+ } -+ return res; -+ } -+ -+ // We've moved forward in the directory -+ dirp->position += 1; -+ -+ if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { -+ errno = EOVERFLOW; -+ return EOVERFLOW; -+ } -+ -+ strncpy (entry->d_name, filename, sizeof(entry->d_name)); -+ entry->d_ino = st.st_ino; -+ -+ *result = entry; -+ return 0; -+} -+ -+ -+void rewinddir (DIR *dirp) { -+ if (!dirp) { -+ return; -+ } -+ -+ __dirreset (dirp->dirData); -+ dirp->position = 0; -+} -+ -+ -+void seekdir(DIR *dirp, long int loc) { -+ char filename[NAME_MAX]; -+ -+ if (!dirp || loc < 0) { -+ return; -+ } -+ -+ if (dirp->position > loc) { -+ // The entry we want is before the one we have, -+ // so we have to start again from the begining -+ __dirreset (dirp->dirData); -+ dirp->position = 0; -+ } -+ -+ // Keep reading entries until we reach the one we want -+ while ((dirp->position < loc) && -+ (__dirnext (dirp->dirData, filename, NULL) >= 0)) -+ { -+ dirp->position += 1; -+ } -+} -+ -+ -+long int telldir(DIR *dirp) { -+ if (!dirp) { -+ return -1; -+ } -+ -+ return dirp->position; -+} -diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c -new file mode 100644 -index 000000000..1c485b26f ---- /dev/null -+++ b/libgloss/libsysbase/environ.c -@@ -0,0 +1,6 @@ -+/* -+ * Version of environ for no OS. -+ */ -+ -+char *__env[1] = { 0 }; -+char **environ = __env; -diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c -new file mode 100644 -index 000000000..82e70139f ---- /dev/null -+++ b/libgloss/libsysbase/execve.c -@@ -0,0 +1,30 @@ -+/* -+ * Stub version of execve. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _execve_r( -+ struct _reent *r, -+ char *name, -+ char **argv, -+ char **env) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _execve( -+ char *name, -+ char **argv, -+ char **env) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ r->_errno = ENOSYS; -+ return -1; -+} -+ -diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c -new file mode 100644 -index 000000000..5c5831cdf ---- /dev/null -+++ b/libgloss/libsysbase/fchmod.c -@@ -0,0 +1,31 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#include -+ -+int fchmod(int fd, mode_t mode) { -+ int ret = -1, dev; -+ struct _reent *r = _REENT; -+ -+ if(fd!=-1) { -+ -+ __handle *handle = __get_handle(fd); -+ -+ if ( handle != NULL) { -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->fchmod_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fchmod_r(r,handle->fileStruct,mode); -+ } else -+ r->_errno=ENOSYS; -+ } -+ } -+ return ret; -+} -diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c -new file mode 100644 -index 000000000..c6b8c92ad ---- /dev/null -+++ b/libgloss/libsysbase/flock.c -@@ -0,0 +1,21 @@ -+#include -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#ifndef REENTRANT_SYSCALLS_PROVIDED -+#include -+#endif -+#include -+#include -+ -+void __flockfile(FILE *fp) -+{ -+ __lock_acquire_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); -+} -+ -+void __funlockfile(FILE *fp) -+{ -+ __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); -+} -diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c -new file mode 100644 -index 000000000..efb6a3496 ---- /dev/null -+++ b/libgloss/libsysbase/fork.c -@@ -0,0 +1,21 @@ -+/* -+ * Stub version of fork. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _fork_r (struct _reent * r) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _fork(void) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ r->_errno = ENOSYS; -+ return -1; -+} -diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c -new file mode 100644 -index 000000000..e32b06755 ---- /dev/null -+++ b/libgloss/libsysbase/fstat.c -@@ -0,0 +1,44 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _fstat_r( -+ struct _reent * r, -+ int fileDesc, -+ struct stat *st) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _fstat( -+ int fileDesc, -+ struct stat *st) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->fstat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fstat_r(r,handle->fileStruct,st); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} -diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c -new file mode 100644 -index 000000000..fb06cb6d1 ---- /dev/null -+++ b/libgloss/libsysbase/fsync.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+int fsync(int fileDesc ) { -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ struct _reent *r = _REENT; -+ -+ __handle * handle; -+ -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) { -+ errno = EINVAL; -+ return ret; -+ } -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->fsync_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fsync_r(r, handle->fileStruct); -+ } else -+ r->_errno=ENOSYS; -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c -new file mode 100644 -index 000000000..2cc03a3d9 ---- /dev/null -+++ b/libgloss/libsysbase/ftruncate.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+int ftruncate(int fileDesc, off_t len) { -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ struct _reent *r = _REENT; -+ -+ __handle * handle; -+ -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) { -+ r->_errno = EINVAL; -+ return ret; -+ } -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->ftruncate_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); -+ } else -+ r->_errno=ENOSYS; -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c -new file mode 100644 -index 000000000..fdce14b5f ---- /dev/null -+++ b/libgloss/libsysbase/getpid.c -@@ -0,0 +1,19 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _getpid_r(struct _reent *ptr) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _getpid(void) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ ptr->_errno = ENOSYS; -+ return -1; -+} -+ -diff --git a/libgloss/libsysbase/getreent.c b/libgloss/libsysbase/getreent.c -new file mode 100644 -index 000000000..a3f1e98a9 ---- /dev/null -+++ b/libgloss/libsysbase/getreent.c -@@ -0,0 +1,20 @@ -+ -+/* default reentrant pointer when multithread enabled */ -+ -+#include <_ansi.h> -+#include -+#include -+ -+#ifdef __getreent -+#undef __getreent -+#endif -+ -+struct _reent *__getreent() { -+ if ( __has_syscall(getreent) ) { -+ return __syscall_getreent(); -+ } else { -+ return _impure_ptr; -+ } -+} -+ -+ -diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c -new file mode 100644 -index 000000000..4f2211248 ---- /dev/null -+++ b/libgloss/libsysbase/gettod.c -@@ -0,0 +1,33 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _gettimeofday_r( -+ struct _reent *ptr, -+ struct timeval *ptimeval, -+ void *ptimezone) -+{ -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _gettimeofday( -+ struct timeval *ptimeval, -+ void *ptimezone) -+{ -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ -+ if ( __has_syscall(gettod_r) ) return __syscall_gettod_r(ptr, ptimeval, ptimezone); -+ -+ ptr->_errno = ENOSYS; -+ return -1; -+ -+} -+ -diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c -new file mode 100644 -index 000000000..6bf9ab89e ---- /dev/null -+++ b/libgloss/libsysbase/handle_manager.c -@@ -0,0 +1,229 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+#define MAX_HANDLES 1024 -+ -+static __handle __stdin_handle = {0, 1, NULL}; -+static __handle __stdout_handle = {1, 1, NULL}; -+static __handle __stderr_handle = {2, 1, NULL}; -+ -+static __handle* handles[MAX_HANDLES] = { -+ &__stdin_handle, -+ &__stdout_handle, -+ &__stderr_handle -+}; -+ -+__LOCK_INIT(static, __hndl_lock); -+ -+static void __free_handle(__handle *handle) { -+ -+ if ( NULL != handle -+ && handle != &__stdin_handle -+ && handle != &__stdout_handle -+ && handle != &__stderr_handle ) { -+ -+ free(handle); -+ -+ } -+ -+} -+ -+void __release_handle(int fd) { -+ -+ if ( fd <0 || fd >= MAX_HANDLES ) return; -+ -+ __lock_acquire (__hndl_lock); -+ -+ __free_handle(handles[fd]); -+ handles[fd] = NULL; -+ -+ __lock_release (__hndl_lock); -+ -+} -+ -+int __alloc_handle(int device) { -+ -+ int i, ret = -1; -+ -+ __lock_acquire (__hndl_lock); -+ -+ for ( i = 0; i < MAX_HANDLES; i++ ) { -+ if ( handles[i] == NULL ) break; -+ } -+ -+ size_t size = sizeof(__handle) + devoptab_list[device]->structSize; -+ -+ if ( i < MAX_HANDLES ) { -+ handles[i] = malloc(size); -+ __handle *handle = handles[i]; -+ if ( NULL != handles[i] ) { -+ -+ handles[i]->refcount = 1; -+ ret = i; -+ handles[i]->device = device; -+ handles[i]->fileStruct = (void *)&handle[1]; -+ -+ } else { -+ -+ errno = ENOMEM; -+ -+ } -+ } else { -+ -+ errno = ENFILE; -+ -+ } -+ -+ __lock_release (__hndl_lock); -+ -+ return ret; -+} -+ -+__handle *__get_handle(int fd) { -+ -+ if ( fd < 0 || fd >= MAX_HANDLES ) return NULL; -+ -+ __lock_acquire (__hndl_lock); -+ __handle *handle = handles[fd]; -+ __lock_release (__hndl_lock); -+ -+ return handle; -+} -+ -+int dup(int oldfd) { -+ int i, ret =-1; -+ -+ __lock_acquire (__hndl_lock); -+ -+ if (handles[oldfd]==NULL) { -+ __lock_release (__hndl_lock); -+ errno = EBADF; -+ return -1; -+ } -+ -+ -+ for ( i = 0; i < MAX_HANDLES; i++ ) { -+ if ( handles[i] == NULL ) break; -+ } -+ -+ if (irefcount++; -+ ret = i; -+ } -+ __lock_release (__hndl_lock); -+ -+ return ret; -+ -+} -+ -+int dup2(int oldfd, int newfd) { -+ -+ if ( newfd < 0 || newfd >= MAX_HANDLES || -+ oldfd < 0 || oldfd >= MAX_HANDLES) { -+ -+ errno = EBADF; -+ -+ return -1; -+ } -+ -+ if ( newfd == oldfd ) { -+ return newfd; -+ } -+ -+ __lock_acquire (__hndl_lock); -+ -+ if ( handles[oldfd] == NULL ) { -+ __lock_release (__hndl_lock); -+ errno = EBADF; -+ -+ return -1; -+ } -+ -+ __handle *handle = handles[newfd]; -+ -+ handles[newfd] = handles[oldfd]; -+ handles[newfd]->refcount++; -+ -+ if ( handle ) { -+ -+ int ref = --handle->refcount; -+ __lock_release (__hndl_lock); -+ -+ if ( ref == 0 ) { -+ -+ if ( devoptab_list[handle->device]->close_r ) { -+ -+ _REENT->deviceData = devoptab_list[handle->device]->deviceData; -+ devoptab_list[handle->device]->close_r(_REENT,handle->fileStruct); -+ -+ } -+ -+ __free_handle(handle); -+ } -+ -+ } else { -+ -+ __lock_release (__hndl_lock); -+ -+ } -+ -+ return newfd; -+} -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _close_r(struct _reent *ptr, int fd) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _close(int fd) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ int ret = 0; -+ -+ if (fd < 0 || fd >= MAX_HANDLES) { -+ -+ ptr->_errno = EBADF; -+ return -1; -+ -+ } -+ -+ __lock_acquire (__hndl_lock); -+ -+ __handle *handle = handles[fd]; -+ -+ if ( !handle ) { -+ -+ __lock_release (__hndl_lock); -+ ptr->_errno = EBADF; -+ return -1; -+ -+ } -+ -+ int ref = --handle->refcount; -+ handles[fd] = NULL; -+ -+ __lock_release (__hndl_lock); -+ -+ if ( ref == 0 ) { -+ -+ if ( devoptab_list[handle->device]->close_r ) { -+ -+ ptr->deviceData = devoptab_list[handle->device]->deviceData; -+ ret = devoptab_list[handle->device]->close_r(ptr,handle->fileStruct); -+ -+ } -+ -+ __free_handle(handle); -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c -new file mode 100644 -index 000000000..948c6ef93 ---- /dev/null -+++ b/libgloss/libsysbase/iosupport.c -@@ -0,0 +1,140 @@ -+#include -+#include -+#include -+#include -+ -+static int defaultDevice = -1; -+ -+//--------------------------------------------------------------------------------- -+void setDefaultDevice( int device ) { -+//--------------------------------------------------------------------------------- -+ -+ if ( device >2 && device <= STD_MAX) -+ defaultDevice = device; -+} -+ -+//--------------------------------------------------------------------------------- -+static ssize_t null_write(struct _reent *r,void *fd,const char *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ return len; -+} -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t dotab_stdnull = { -+//--------------------------------------------------------------------------------- -+ "stdnull", // device name -+ 0, // size of file structure -+ NULL, // device open -+ NULL, // device close -+ null_write, // device write -+ NULL, // device read -+ NULL, // device seek -+ NULL, // device fstat -+ NULL, // device stat -+ NULL, // device link -+ NULL, // device unlink -+ NULL, // device chdir -+ NULL, // device rename -+ NULL, // device mkdir -+ 0, // dirStateSize -+ NULL, // device diropen_r -+ NULL, // device dirreset_r -+ NULL, // device dirnext_r -+ NULL, // device dirclose_r -+ NULL, // device statvfs_r -+ NULL, // device ftruncate_r -+ NULL, // device fsync_r -+ NULL, // deviceData -+ NULL, // chmod_r -+ NULL, // fchmod_r -+ NULL, // rmdir_r -+ NULL, // lstat_r -+ NULL, // utimes_r -+}; -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t *devoptab_list[STD_MAX] = { -+//--------------------------------------------------------------------------------- -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull -+}; -+ -+//--------------------------------------------------------------------------------- -+int FindDevice(const char* name) { -+//--------------------------------------------------------------------------------- -+ int i = 0, namelen, dev_namelen, dev = -1; -+ char *separator; -+ -+ separator = strchr(name, ':'); -+ -+ if (separator == NULL) return defaultDevice; -+ -+ dev_namelen = separator - name; -+ -+ while(iname); -+ if(dev_namelen == namelen && strncmp(devoptab_list[i]->name,name,namelen)==0 ) { -+ if ( name[namelen] == ':' || (isdigit(name[namelen]) && name[namelen+1] ==':' )) { -+ dev = i; -+ break; -+ } -+ } -+ } -+ i++; -+ } -+ -+ return dev; -+} -+ -+//--------------------------------------------------------------------------------- -+int RemoveDevice( const char* name) { -+//--------------------------------------------------------------------------------- -+ int dev = FindDevice(name); -+ -+ if ( -1 != dev ) { -+ devoptab_list[dev] = &dotab_stdnull; -+ return 0; -+ } -+ -+ return -1; -+ -+} -+ -+//--------------------------------------------------------------------------------- -+int AddDevice( const devoptab_t* device) { -+//--------------------------------------------------------------------------------- -+ -+ int devnum; -+ -+ for ( devnum = 3;devnum name, device->name) && -+ strlen(devoptab_list[devnum]->name) == strlen(device->name) ) || -+ !strcmp(devoptab_list[devnum]->name, "stdnull") -+ ) -+ break; -+ } -+ -+ if ( devnum == STD_MAX ) { -+ devnum = -1; -+ } else { -+ devoptab_list[devnum] = device; -+ } -+ return devnum; -+} -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t* GetDeviceOpTab (const char *name) { -+//--------------------------------------------------------------------------------- -+ int dev = FindDevice(name); -+ if (dev >= 0 && dev < STD_MAX) { -+ return devoptab_list[dev]; -+ } else { -+ return NULL; -+ } -+} -+ -+ -diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c -new file mode 100644 -index 000000000..280a4579a ---- /dev/null -+++ b/libgloss/libsysbase/isatty.c -@@ -0,0 +1,17 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _isatty_r( struct _reent *ptr, int file) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _isatty(int file) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ return 0; -+} -diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c -new file mode 100644 -index 000000000..13bd0fba1 ---- /dev/null -+++ b/libgloss/libsysbase/kill.c -@@ -0,0 +1,21 @@ -+/* -+ * Stub version of kill. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _kill_r( -+ struct _reent *ptr, -+ int pid, -+ int sig) { -+#else -+int _kill(int pid, int sig) { -+ struct _reent *ptr = _REENT; -+#endif -+ ptr->_errno = ENOSYS; -+ return -1; -+} -diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c -new file mode 100644 -index 000000000..1675e5c24 ---- /dev/null -+++ b/libgloss/libsysbase/link.c -@@ -0,0 +1,33 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _link_r(struct _reent *r, const char *existing, const char *new) { -+#else -+int _link(const char *existing, const char *new) { -+ struct _reent *r = _REENT; -+#endif -+ int ret; -+ int sourceDev = FindDevice(existing); -+ int destDev = FindDevice(new); -+ -+ ret = -1; -+ -+ if ( sourceDev == destDev) { -+ if (devoptab_list[destDev]->link_r) { -+ r->deviceData = devoptab_list[destDev]->deviceData; -+ ret = devoptab_list[destDev]->link_r( r, existing, new); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = EXDEV; -+ } -+ -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c -new file mode 100644 -index 000000000..eb232c86b ---- /dev/null -+++ b/libgloss/libsysbase/lseek.c -@@ -0,0 +1,45 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#include -+ -+#include -+ -+//--------------------------------------------------------------------------------- -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+_off_t _lseek_r(struct _reent * r, int fileDesc, _off_t pos, int dir) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_off_t _lseek(int fileDesc, _off_t pos, int dir) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+//--------------------------------------------------------------------------------- -+#endif -+//--------------------------------------------------------------------------------- -+ _off_t ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle; -+ -+ if(fileDesc!=-1) { -+ -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->seek_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->seek_r( r, handle->fileStruct, pos, dir); -+ } else -+ r->_errno=ENOSYS; -+ -+ } -+ return ret; -+ -+} -diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c -new file mode 100644 -index 000000000..fc393430b ---- /dev/null -+++ b/libgloss/libsysbase/lstat.c -@@ -0,0 +1,31 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+ -+//--------------------------------------------------------------------------------- -+int lstat (const char *__restrict __path, struct stat *__restrict __buf ) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+ int dev,ret; -+ -+ dev = FindDevice(__path); -+ -+ if(dev!=-1) { -+ if (devoptab_list[dev]->lstat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->lstat_r(r,__path,__buf); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ ret = -1; -+ r->_errno = ENODEV; -+ } -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c -new file mode 100644 -index 000000000..456590956 ---- /dev/null -+++ b/libgloss/libsysbase/malloc_vars.c -@@ -0,0 +1,2 @@ -+char *fake_heap_end = (char*)0; -+char *fake_heap_start = (char*)0; -diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c -new file mode 100644 -index 000000000..b4fcbd3d7 ---- /dev/null -+++ b/libgloss/libsysbase/mkdir.c -@@ -0,0 +1,19 @@ -+#include -+#include -+#include -+ -+int mkdir (const char *path, mode_t mode) { -+ struct _reent *r = _REENT; -+ int ret; -+ int dev = FindDevice(path); -+ ret = -1; -+ -+ if (devoptab_list[dev]->mkdir_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->mkdir_r(r, path, mode); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c -new file mode 100644 -index 000000000..a233b9df6 ---- /dev/null -+++ b/libgloss/libsysbase/nanosleep.c -@@ -0,0 +1,14 @@ -+#include -+#include -+#include -+ -+int nanosleep(const struct timespec *req, struct timespec *rem) -+{ -+ if ( __has_syscall(nanosleep) ) { -+ return __syscall_nanosleep(req, rem); -+ } else { -+ *rem = *req; -+ errno = ENOSYS; -+ return -1; -+ } -+} -diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c -new file mode 100644 -index 000000000..f8d98fd3b ---- /dev/null -+++ b/libgloss/libsysbase/open.c -@@ -0,0 +1,53 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _open_r(struct _reent * r, const char *file, int flags, int mode) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _open(struct _reent * r, const char *file, int flags, int mode) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ __handle *handle; -+ int dev, fd, ret; -+ -+ dev = FindDevice(file); -+ -+ fd = -1; -+ if(dev!=-1) { -+ if (devoptab_list[dev]->open_r) { -+ fd = __alloc_handle(dev); -+ -+ if ( -1 != fd ) { -+ handle = __get_handle(fd); -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, flags, mode); -+ -+ if ( ret == -1 ) { -+ __release_handle(fd); -+ fd = -1; -+ } -+ } else { -+ r->_errno = ENOSR; -+ } -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return fd; -+} -diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c -new file mode 100644 -index 000000000..838a8c796 ---- /dev/null -+++ b/libgloss/libsysbase/read.c -@@ -0,0 +1,39 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+_ssize_t _read_r(struct _reent *r, int fileDesc, void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_ssize_t _read(int fileDesc, void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->read_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->read_r(r,handle->fileStruct,ptr,len); -+ } else -+ r->_errno=ENOSYS; -+ } -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c -new file mode 100644 -index 000000000..97a056a72 ---- /dev/null -+++ b/libgloss/libsysbase/rename.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _rename_r(struct _reent *ptr, const char *existing, const char *newName) -+{ -+#else -+int rename(const char *existing, const char *newName) -+{ -+ struct _reent *ptr = _REENT; -+#endif -+ struct _reent *r = _REENT; -+ -+ int ret; -+ int sourceDev = FindDevice(existing); -+ int destDev = FindDevice(newName); -+ -+ ret = -1; -+ -+ if ( sourceDev == destDev) { -+ if (devoptab_list[destDev]->rename_r) { -+ r->deviceData = devoptab_list[destDev]->deviceData; -+ ret = devoptab_list[destDev]->rename_r( r, existing, newName); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = EXDEV; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c -new file mode 100644 -index 000000000..b8640b87d ---- /dev/null -+++ b/libgloss/libsysbase/rmdir.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+int _rmdir_r (struct _reent *ptr, const char *name) { -+ int dev,ret=-1; -+ -+ dev = FindDevice(name); -+ if(dev!=-1) { -+ if(devoptab_list[dev]->rmdir_r) { -+ ptr->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->rmdir_r(ptr,name); -+ } else { -+ ptr->_errno = ENOSYS; -+ } -+ } else { -+ ptr->_errno = ENODEV; -+ } -+ -+ return ret; -+} -+ -+#ifndef _REENT_ONLY -+ -+int -+rmdir (const char *filename) -+{ -+ return _rmdir_r (_REENT, filename); -+} -+ -+#endif -diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c -new file mode 100644 -index 000000000..5dd550c5c ---- /dev/null -+++ b/libgloss/libsysbase/sbrk.c -@@ -0,0 +1,60 @@ -+#include "config.h" -+#include <_ansi.h> -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+ -+extern char *fake_heap_end; -+extern char *fake_heap_start; -+ -+/* Register name faking - works in collusion with the linker. */ -+register char * stack_ptr asm ("sp"); -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+void * _sbrk_r (struct _reent *ptr, ptrdiff_t incr) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+caddr_t _sbrk (int incr) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ extern char end asm ("__end__"); /* Defined by the linker. */ -+ static char * heap_start; -+ -+ char * prev_heap_start; -+ char * heap_end; -+ -+ if (heap_start == NULL) { -+ if (fake_heap_start == NULL) { -+ heap_start = &end; -+ } else { -+ heap_start = fake_heap_start; -+ } -+ } -+ -+ prev_heap_start = heap_start; -+ -+ if (fake_heap_end == NULL) { -+ heap_end = stack_ptr; -+ } else { -+ heap_end = fake_heap_end; -+ } -+ -+ if (heap_start + incr > heap_end) { -+ ptr->_errno = ENOMEM; -+ return (caddr_t) -1; -+ } -+ -+ heap_start += incr; -+ return (caddr_t) prev_heap_start; -+} -diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c -new file mode 100644 -index 000000000..1333df4b2 ---- /dev/null -+++ b/libgloss/libsysbase/scandir.c -@@ -0,0 +1,74 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* -+ * The DIRSIZ macro gives the minimum record length which will hold -+ * the directory entry. This requires the amount of space in struct dirent -+ * without the d_name field, plus enough space for the name with a terminating -+ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. -+ */ -+#undef DIRSIZ -+#ifdef _DIRENT_HAVE_D_NAMLEN -+#define DIRSIZ(dp) \ -+ (offsetof (struct dirent, d_name) + (((dp)->d_namlen+1 + 3) &~ 3)) -+#else -+#define DIRSIZ(dp) \ -+ (offsetof (struct dirent, d_name) + ((strlen((dp)->d_name)+1 + 3) &~ 3)) -+#endif -+ -+int -+scandir (const char *dirname, -+ struct dirent ***namelist, -+ int (*filter) __P((const struct dirent *)), -+ int (*compar) __P((const struct dirent **, const struct dirent **))) -+{ -+ DIR *d = opendir(dirname); -+ -+ if (!d) return -1; -+ -+ struct dirent *de, **names = NULL, **tmp; -+ size_t cnt = 0, len = 0; -+ -+ while (de = readdir(d)) { -+ if (filter && ! filter(de)) continue; -+ if (cnt >= len) { -+ len = 2*len+1; -+ if (len > SIZE_MAX/sizeof(*names)) break; -+ tmp = realloc(names, len * sizeof(*names)); -+ if (!tmp) break; -+ names = tmp; -+ } -+ names[cnt] = malloc(DIRSIZ(de)); -+ if (!names[cnt]) break; -+ memcpy(names[cnt++], de, DIRSIZ(de)); -+ } -+ -+ closedir(d); -+ -+ if(errno) { -+ if (names) while(cnt-- > 0) free(names[cnt]); -+ free(names); -+ return -1; -+ } -+ -+ if (compar) qsort(names, cnt, sizeof(*names), (int (*)(const void *, const void *))compar); -+ -+ *namelist = names; -+ return cnt; -+} -+ -+/* -+ * Alphabetic order comparison routine for those who want it. -+ */ -+int -+alphasort (const struct dirent **d1, -+ const struct dirent **d2) -+{ -+ return(strcmp((*d1)->d_name, (*d2)->d_name)); -+} -+ -diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c -new file mode 100644 -index 000000000..f3aa97954 ---- /dev/null -+++ b/libgloss/libsysbase/sleep.c -@@ -0,0 +1,18 @@ -+/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ -+ -+/* Written 2000 by Werner Almesberger */ -+ -+#include -+#include -+#include -+ -+unsigned sleep(unsigned seconds) -+{ -+ struct timespec ts; -+ -+ ts.tv_sec = seconds; -+ ts.tv_nsec = 0; -+ if (!nanosleep(&ts,&ts)) return 0; -+ if (errno == EINTR) return ts.tv_sec; -+ return -1; -+} -diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c -new file mode 100644 -index 000000000..d0ad00202 ---- /dev/null -+++ b/libgloss/libsysbase/stat.c -@@ -0,0 +1,38 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _stat_r(struct _reent * r, const char *file, struct stat *st) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _stat(const char *file, struct stat *st) { -+{ -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int dev,ret; -+ -+ dev = FindDevice(file); -+ -+ if(dev!=-1) { -+ if (devoptab_list[dev]->stat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->stat_r(r,file,st); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ ret = -1; -+ r->_errno = ENODEV; -+ } -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c -new file mode 100644 -index 000000000..84e221340 ---- /dev/null -+++ b/libgloss/libsysbase/statvfs.c -@@ -0,0 +1,24 @@ -+#include -+#include -+#include -+ -+ -+int statvfs(const char *path, struct statvfs *buf) { -+ struct _reent *r = _REENT; -+ -+ int ret; -+ int device = FindDevice(path); -+ -+ ret = -1; -+ -+ if ( device != -1 && devoptab_list[device]->statvfs_r) { -+ -+ r->deviceData = devoptab_list[device]->deviceData; -+ ret = devoptab_list[device]->statvfs_r(r, path, buf ); -+ -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c -new file mode 100644 -index 000000000..9bb71aa0d ---- /dev/null -+++ b/libgloss/libsysbase/syscall_support.c -@@ -0,0 +1,78 @@ -+#include -+ -+void __libc_lock_init(_LOCK_T *lock) { -+ -+ if ( __has_syscall(lock_init) ) { -+ __syscall_lock_init(lock); -+ } -+} -+ -+void __libc_lock_acquire(_LOCK_T *lock ) { -+ -+ if ( __has_syscall(lock_acquire) ) { -+ __syscall_lock_acquire(lock); -+ } -+} -+ -+int __libc_lock_try_acquire(_LOCK_T *lock ) { -+ -+ if ( __has_syscall(lock_acquire) ) { -+ return __syscall_lock_try_acquire(lock); -+ } else { -+ return 0; -+ } -+} -+ -+void __libc_lock_release(_LOCK_T *lock ) { -+ -+ if ( __has_syscall(lock_release) ) { -+ __syscall_lock_release(lock); -+ } -+} -+ -+void __libc_lock_close(_LOCK_T *lock ) { -+ -+ if ( __has_syscall(lock_close) ) { -+ __syscall_lock_close(lock); -+ } -+} -+ -+ -+ -+void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { -+ -+ if ( __has_syscall(lock_init_recursive) ) { -+ __syscall_lock_init_recursive(lock); -+ } -+ -+} -+ -+void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { -+ -+ if ( __has_syscall(lock_acquire_recursive) ) { -+ __syscall_lock_acquire_recursive(lock); -+ } -+} -+ -+int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { -+ -+ if ( __has_syscall(lock_acquire_recursive) ) { -+ return __syscall_lock_try_acquire_recursive(lock); -+ } else { -+ return 0; -+ } -+} -+ -+void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { -+ -+ if ( __has_syscall(lock_release_recursive) ) { -+ __syscall_lock_release_recursive(lock); -+ } -+} -+ -+void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { -+ -+ if ( __has_syscall(lock_close_recursive) ) { -+ __syscall_lock_close_recursive(lock); -+ } -+} -diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c -new file mode 100644 -index 000000000..79484e7f4 ---- /dev/null -+++ b/libgloss/libsysbase/times.c -@@ -0,0 +1,17 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+clock_t _times_r(struct _reent *r, struct tms *ptms) { -+#else -+clock_t _times(struct tms *buf) { -+ -+ struct _reent *r = _REENT; -+#endif -+ r->_errno = ENOSYS; -+ return (clock_t)-1; -+} -+ -diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c -new file mode 100644 -index 000000000..849525990 ---- /dev/null -+++ b/libgloss/libsysbase/truncate.c -@@ -0,0 +1,54 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+int truncate(const char *file, off_t len) -+{ -+ -+ __handle *handle; -+ int dev, fd, ret; -+ -+ struct _reent * r = _REENT; -+ -+ dev = FindDevice(file); -+ -+ if(dev!=-1 && devoptab_list[dev]->open_r && devoptab_list[dev]->close_r && -+ devoptab_list[dev]->ftruncate_r) -+ { -+ -+ fd = __alloc_handle(dev); -+ -+ if ( -1 != fd ) { -+ handle = __get_handle(fd); -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, O_WRONLY, 0); -+ -+ if ( ret < 0 ) { -+ __release_handle(fd); -+ return ret; -+ } -+ -+ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); -+ -+ if (ret >= 0) { -+ ret = devoptab_list[dev]->close_r(r, handle->fileStruct); -+ } else { -+ // Close it anyway, we don't want to leak memory -+ devoptab_list[dev]->close_r(r, handle->fileStruct); -+ } -+ } else { -+ r->_errno = ENOSR; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c -new file mode 100644 -index 000000000..7920b79ac ---- /dev/null -+++ b/libgloss/libsysbase/unlink.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _unlink_r(struct _reent * r, const char *name ) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _unlink_r(const char *name ) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int dev,ret=-1; -+ -+ dev = FindDevice(name); -+ if(dev<0) { -+ r->_errno = ENODEV; -+ } else { -+ if (devoptab_list[dev]->unlink_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->unlink_r(r,name); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } -+ -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c -new file mode 100644 -index 000000000..b54714775 ---- /dev/null -+++ b/libgloss/libsysbase/usleep.c -@@ -0,0 +1,18 @@ -+/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ -+ -+/* Written 2000 by Werner Almesberger */ -+ -+#include -+#include -+#include -+ -+int usleep(useconds_t useconds) -+{ -+ struct timespec ts; -+ -+ ts.tv_sec = (long int)useconds / 1000000; -+ ts.tv_nsec = ((long int)useconds % 1000000) * 1000; -+ if (!nanosleep(&ts,&ts)) return 0; -+ if (errno == EINTR) return ts.tv_sec; -+ return -1; -+} -diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c -new file mode 100644 -index 000000000..f72bf9fc6 ---- /dev/null -+++ b/libgloss/libsysbase/utime.c -@@ -0,0 +1,45 @@ -+#include "config.h" -+ -+#include -+#include -+#include -+#include -+#include -+ -+int utimes(const char *filename, const struct timeval times[2]) -+{ -+ struct _reent *r = _REENT; -+ int dev,ret; -+ -+ dev = FindDevice(filename); -+ -+ if(dev!=-1) { -+ if (devoptab_list[dev]->utimes_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->utimes_r(r,filename,times); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ ret = -1; -+ r->_errno = ENODEV; -+ } -+ return ret; -+ -+ -+ -+} -+ -+ -+int utime(const char *filename, const struct utimbuf *times) -+{ -+ struct timeval t[2]; -+ if (times) { -+ t[0].tv_sec = times->actime; -+ t[0].tv_usec = 0; -+ t[1].tv_sec = times->modtime; -+ t[1].tv_usec = 0; -+ } -+ -+ return utimes(filename, t); -+} -diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c -new file mode 100644 -index 000000000..247486e42 ---- /dev/null -+++ b/libgloss/libsysbase/wait.c -@@ -0,0 +1,24 @@ -+/* -+ * Stub version of wait. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+//--------------------------------------------------------------------------------- -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _wait_r(struct _reent *r, int *status) { -+#else -+//--------------------------------------------------------------------------------- -+int -+int _wait_r(int *status) { -+ struct _reent *r = _REENT; -+#endif -+//--------------------------------------------------------------------------------- -+ r->_errno = ENOSYS; -+ return -1; -+} -+ -diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h -new file mode 100644 -index 000000000..2c2998250 ---- /dev/null -+++ b/libgloss/libsysbase/warning.h -@@ -0,0 +1,43 @@ -+#ifndef __WARNING_H__ -+#define __WARNING_H__ -+ -+#ifdef HAVE_GNU_LD -+# ifdef HAVE_ELF -+ -+/* We want the .gnu.warning.SYMBOL section to be unallocated. */ -+# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE -+# define __make_section_unallocated(section_string) \ -+ asm(".section " section_string "; .previous"); -+# elif defined (HAVE_ASM_POPSECTION_DIRECTIVE) -+# define __make_section_unallocated(section_string) \ -+ asm(".pushsection " section_string "; .popsection"); -+# else -+# define __make_section_unallocated(section_string) -+# endif -+ -+# ifdef HAVE_SECTION_ATTRIBUTES -+# define link_warning(symbol, msg) \ -+ __make_section_unallocated (".gnu.warning." #symbol) \ -+ static const char __evoke_link_warning_##symbol[] \ -+ __attribute__ ((section (".gnu.warning." #symbol))) = msg; -+# else -+# define link_warning(symbol, msg) -+# endif -+ -+#else /* !ELF */ -+ -+# define link_warning(symbol, msg) \ -+ asm(".stabs \"" msg "\",30,0,0,0\n" \ -+ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); -+# endif -+#else /* !GNULD */ -+/* We will never be heard; they will all die horribly. */ -+# define link_warning(symbol, msg) -+#endif -+ -+/* A canned warning for sysdeps/stub functions. */ -+#define stub_warning(name) \ -+ link_warning (name, \ -+ "warning: " #name " is not implemented and will always fail") -+ -+#endif /* __WARNING_H__ */ -diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c -new file mode 100644 -index 000000000..61de918bc ---- /dev/null -+++ b/libgloss/libsysbase/write.c -@@ -0,0 +1,38 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+_ssize_t _write_r(struct _reent * r, int fileDesc, const void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_ssize_t _write(int fileDesc, const void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->write_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->write_r(r,handle->fileStruct,ptr,len); -+ } else -+ r->_errno=ENOSYS; -+ } -+ return ret; -+} -diff --git a/newlib/configure.host b/newlib/configure.host -index c429dde1c..26fb553a7 100644 ---- a/newlib/configure.host -+++ b/newlib/configure.host -@@ -693,6 +693,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID - syscall_dir=syscalls - default_newlib_io_long_long="yes" - ;; -+ arm*-*-eabi) -+ default_newlib_io_c99_formats="yes" -+ default_newlib_io_long_long="yes" -+ default_newlib_io_pos_args="yes" -+ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" -+ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" -+ syscall_dir=syscalls -+ ;; - arm*-*-pe) - syscall_dir=syscalls - ;; -diff --git a/newlib/libc/ctype/jp2uc.c b/newlib/libc/ctype/jp2uc.c -index 5e30f09be..1ea357f92 100644 ---- a/newlib/libc/ctype/jp2uc.c -+++ b/newlib/libc/ctype/jp2uc.c -@@ -35,7 +35,7 @@ - #ifdef _MB_CAPABLE - /* Under Cygwin, the incoming wide character is already given in UTF due - to the requirements of the underlying OS. */ --#ifndef __CYGWIN__ -+#if !defined(__CYGWIN__) && !defined(__DEVKITA64__) - - #include <_ansi.h> - #include -diff --git a/newlib/libc/ctype/local.h b/newlib/libc/ctype/local.h -index 5c293c83d..75ccf89f5 100644 ---- a/newlib/libc/ctype/local.h -+++ b/newlib/libc/ctype/local.h -@@ -32,7 +32,7 @@ - * for towupper and towlower, the result must be back-transformed - into the respective locale encoding; currently NOT IMPLEMENTED - */ --#ifdef __CYGWIN__ -+#if defined(__CYGWIN__) || defined(__DEVKITA64__) - /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ - #define _jp2uc(c) (c) - #define _jp2uc_l(c, l) (c) -diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h -index 23d572cd3..65310c084 100644 ---- a/newlib/libc/include/reent.h -+++ b/newlib/libc/include/reent.h -@@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); - extern int _open_r (struct _reent *, const char *, int, int); - extern _ssize_t _read_r (struct _reent *, int, void *, size_t); - extern int _rename_r (struct _reent *, const char *, const char *); -+extern int _rmdir_r (struct _reent *r, const char *name); - extern void *_sbrk_r (struct _reent *, ptrdiff_t); - extern int _stat_r (struct _reent *, const char *, struct stat *); - extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); -diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h -index 7748351f0..7377b2aa3 100644 ---- a/newlib/libc/include/stdio.h -+++ b/newlib/libc/include/stdio.h -@@ -233,7 +233,7 @@ int fsetpos (FILE *, const _fpos_t *); - #else - int fsetpos (FILE *, const fpos_t *); - #endif --long ftell ( FILE *); -+long ftell ( FILE *); - void rewind (FILE *); - void clearerr (FILE *); - int feof (FILE *); -diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 61a6f95d8..34aeaad3d 100644 ---- a/newlib/libc/include/sys/config.h -+++ b/newlib/libc/include/sys/config.h -@@ -4,6 +4,9 @@ - #include /* floating point macros */ - #include /* POSIX defs */ - -+/* we want the reentrancy structure to be returned by a function */ -+#define __DYNAMIC_REENT__ -+ - #ifdef __aarch64__ - #define MALLOC_ALIGNMENT 16 - #endif -diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c02c..5debd1525 100644 ---- a/newlib/libc/include/sys/dirent.h -+++ b/newlib/libc/include/sys/dirent.h -@@ -1,13 +1,58 @@ - /* includes , which is this file. On a - system which supports , this file is overridden by - dirent.h in the libc/sys/.../sys directory. On a system which does -- not support , we will get this file which uses #error to force -- an error. */ -+ not support , we will get this file -+*/ -+ -+#ifndef _dirent_h_ -+#define _dirent_h_ -+ -+#include -+#include -+#include -+ -+#define DT_UNKNOWN 0 -+#define DT_FIFO 1 -+#define DT_CHR 2 -+#define DT_DIR 4 -+#define DT_BLK 6 -+#define DT_REG 8 -+#define DT_LNK 10 -+#define DT_SOCK 12 -+#define DT_WHT 14 - - #ifdef __cplusplus - extern "C" { - #endif --#error " not supported" -+ -+ struct dirent { -+ ino_t d_ino; -+ unsigned char d_type; -+ char d_name[NAME_MAX+1]; -+ }; -+ -+ typedef struct { -+ long int position; -+ DIR_ITER* dirData; -+ struct dirent fileData; -+ } DIR; -+ -+ int closedir(DIR *dirp); -+ DIR *opendir(const char *dirname); -+ struct dirent *readdir(DIR *dirp); -+ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -+ void rewinddir(DIR *dirp); -+ void seekdir(DIR *dirp, long int loc); -+ long int telldir(DIR *dirp); -+ -+ int scandir(const char *dirp, struct dirent ***namelist, -+ int (*filter)(const struct dirent *), -+ int (*compar)(const struct dirent **, const struct dirent **)); -+ -+ int alphasort(const struct dirent **a, const struct dirent **b); -+ - #ifdef __cplusplus - } - #endif -+ -+#endif // _dirent_h_ -diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 45476ce4a..d76706321 100644 ---- a/newlib/libc/include/sys/features.h -+++ b/newlib/libc/include/sys/features.h -@@ -331,6 +331,9 @@ extern "C" { - # define __SSP_FORTIFY_LEVEL 0 - #endif - -+#define _POSIX_MONOTONIC_CLOCK 200112L -+#define _POSIX_TIMERS 1 -+ - /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ - - #ifdef __rtems__ -diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h -new file mode 100644 -index 000000000..7b366f593 ---- /dev/null -+++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,115 @@ -+//--------------------------------------------------------------------------------- -+#ifndef __iosupp_h__ -+#define __iosupp_h__ -+//--------------------------------------------------------------------------------- -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+#include -+#include -+#include -+ -+enum { -+ STD_IN, -+ STD_OUT, -+ STD_ERR, -+ STD_MAX = 35 -+}; -+ -+ -+typedef struct { -+ unsigned int device; -+ unsigned int refcount; -+ void *fileStruct; -+} __handle; -+ -+/* Directory iterator for mantaining state between dir* calls */ -+typedef struct { -+ int device; -+ void *dirStruct; -+} DIR_ITER; -+ -+typedef struct { -+ const char *name; -+ size_t structSize; -+ int (*open_r)(struct _reent *r, void *fileStruct, const char *path, int flags, int mode); -+ int (*close_r)(struct _reent *r, void *fd); -+ ssize_t (*write_r)(struct _reent *r, void *fd, const char *ptr, size_t len); -+ ssize_t (*read_r)(struct _reent *r, void *fd, char *ptr, size_t len); -+ off_t (*seek_r)(struct _reent *r, void *fd, off_t pos, int dir); -+ int (*fstat_r)(struct _reent *r, void *fd, struct stat *st); -+ int (*stat_r)(struct _reent *r, const char *file, struct stat *st); -+ int (*link_r)(struct _reent *r, const char *existing, const char *newLink); -+ int (*unlink_r)(struct _reent *r, const char *name); -+ int (*chdir_r)(struct _reent *r, const char *name); -+ int (*rename_r) (struct _reent *r, const char *oldName, const char *newName); -+ int (*mkdir_r) (struct _reent *r, const char *path, int mode); -+ -+ size_t dirStateSize; -+ -+ DIR_ITER* (*diropen_r)(struct _reent *r, DIR_ITER *dirState, const char *path); -+ int (*dirreset_r)(struct _reent *r, DIR_ITER *dirState); -+ int (*dirnext_r)(struct _reent *r, DIR_ITER *dirState, char *filename, struct stat *filestat); -+ int (*dirclose_r)(struct _reent *r, DIR_ITER *dirState); -+ int (*statvfs_r)(struct _reent *r, const char *path, struct statvfs *buf); -+ int (*ftruncate_r)(struct _reent *r, void *fd, off_t len); -+ int (*fsync_r)(struct _reent *r, void *fd); -+ -+ void *deviceData; -+ -+ int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); -+ int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); -+ int (*rmdir_r)(struct _reent *r, const char *name); -+ int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); -+ int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); -+ -+} devoptab_t; -+ -+extern const devoptab_t *devoptab_list[]; -+ -+#ifdef _BUILDING_LIBSYSBASE -+#define __SYSCALL(_name) __attribute__((weak)) __syscall_##_name -+#define __has_syscall(_name) (&__syscall_##_name) -+#else -+#define __SYSCALL(_name) __syscall_##_name -+#endif -+ -+void *__SYSCALL(sbrk_r) (struct _reent *ptr, ptrdiff_t incr); -+void __SYSCALL(exit) ( int rc ); -+int __SYSCALL(gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); -+void __SYSCALL(lock_init) (_LOCK_T *lock); -+void __SYSCALL(lock_acquire) (_LOCK_T *lock); -+int __SYSCALL(lock_try_acquire) (_LOCK_T *lock); -+void __SYSCALL(lock_release) (_LOCK_T *lock); -+void __SYSCALL(lock_close) (_LOCK_T *lock); -+void __SYSCALL(lock_init_recursive) (_LOCK_RECURSIVE_T *lock); -+void __SYSCALL(lock_acquire_recursive) (_LOCK_RECURSIVE_T *lock); -+int __SYSCALL(lock_try_acquire_recursive) (_LOCK_RECURSIVE_T *lock); -+void __SYSCALL(lock_release_recursive) (_LOCK_RECURSIVE_T *lock); -+void __SYSCALL(lock_close_recursive) (_LOCK_RECURSIVE_T *lock); -+struct _reent * __SYSCALL(getreent) (); -+int __SYSCALL(clock_gettime) (clockid_t clock_id, struct timespec *tp); -+int __SYSCALL(clock_settime) (clockid_t clock_id, const struct timespec *tp); -+int __SYSCALL(clock_getres) (clockid_t clock_id, struct timespec *res); -+int __SYSCALL(nanosleep) (const struct timespec *req, struct timespec *rem); -+ -+int AddDevice( const devoptab_t* device); -+int FindDevice(const char* name); -+int RemoveDevice(const char* name); -+void setDefaultDevice( int device ); -+const devoptab_t* GetDeviceOpTab (const char *name); -+ -+void __release_handle(int fd); -+int __alloc_handle(int device); -+__handle *__get_handle(int fd); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+//--------------------------------------------------------------------------------- -+#endif // __iosupp_h__ -+//--------------------------------------------------------------------------------- -diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h -index 9a6f115a6..142e71d35 100644 ---- a/newlib/libc/include/sys/param.h -+++ b/newlib/libc/include/sys/param.h -@@ -19,9 +19,6 @@ - #ifndef NOFILE - # define NOFILE (60) - #endif --#ifndef PATHSIZE --# define PATHSIZE (1024) --#endif - - #define MAXPATHLEN PATH_MAX - -diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index e4e36170e..5b8d06ed6 100644 ---- a/newlib/libc/include/sys/reent.h -+++ b/newlib/libc/include/sys/reent.h -@@ -421,6 +421,8 @@ struct _reent - __FILE *__sf; /* file descriptors */ - struct _misc_reent *_misc; /* strtok, multibyte states */ - char *_signal_buf; /* strsignal */ -+ -+ void *deviceData; - }; - - #ifdef _REENT_GLOBAL_STDIO_STREAMS -@@ -691,6 +693,7 @@ struct _reent - # ifndef _REENT_GLOBAL_STDIO_STREAMS - __FILE __sf[3]; /* first three file descriptors */ - # endif -+ void *deviceData; - }; - - #ifdef _REENT_GLOBAL_STDIO_STREAMS -diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index 6525272dd..d24673618 100644 ---- a/newlib/libc/include/sys/stat.h -+++ b/newlib/libc/include/sys/stat.h -@@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); - int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); - mode_t umask (mode_t __mask ); - --#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) - int lstat (const char *__restrict __path, struct stat *__restrict __buf ); -+ -+#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) - int mknod (const char *__path, mode_t __mode, dev_t __dev ); - #endif - -diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h -new file mode 100644 -index 000000000..380329d34 ---- /dev/null -+++ b/newlib/libc/include/sys/statvfs.h -@@ -0,0 +1,35 @@ -+#ifndef _SYS_STATVFS_H -+#define _SYS_STATVFS_H -+ -+ -+#define ST_RDONLY 0x0001 -+#define ST_NOSUID 0x0002 -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+ -+struct statvfs { -+ unsigned long f_bsize; -+ unsigned long f_frsize; -+ fsblkcnt_t f_blocks; -+ fsblkcnt_t f_bfree; -+ fsblkcnt_t f_bavail; -+ fsfilcnt_t f_files; -+ fsfilcnt_t f_ffree; -+ fsfilcnt_t f_favail; -+ unsigned long f_fsid; -+ unsigned long f_flag; -+ unsigned long f_namemax; -+}; -+ -+int statvfs(const char *path, struct statvfs *buf); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+ -+#endif // _SYS_STATVFS_H -\ No newline at end of file -diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h -index 5e937f103..635a7a6b8 100644 ---- a/newlib/libc/include/sys/utime.h -+++ b/newlib/libc/include/sys/utime.h -@@ -9,12 +9,19 @@ - extern "C" { - #endif - --struct utimbuf -+struct utimbuf - { - time_t actime; -- time_t modtime; -+ time_t modtime; - }; - -+/* Functions */ -+ -+int utime( -+ const char *path, -+ const struct utimbuf *times -+); -+ - #ifdef __cplusplus - }; - #endif -diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index 968642745..2ab1f9570 100644 ---- a/newlib/libc/locale/locale.c -+++ b/newlib/libc/locale/locale.c -@@ -92,7 +92,7 @@ beginning with <<"LC_">>. - - <> returns a pointer to a structure (also defined in - `<>') describing the locale-specific conventions currently --in effect. -+in effect. - - <<_localeconv_r>> and <<_setlocale_r>> are reentrant versions of - <> and <> respectively. The extra argument -@@ -166,15 +166,18 @@ No supporting OS subroutines are required. - #include "../ctype/ctype_.h" - #include "../stdlib/local.h" - -+ - #ifdef __CYGWIN__ /* Has to be kept available as exported symbol for - backward compatibility. Set it in setlocale, but - otherwise ignore it. Applications compiled after - 2010 don't use it anymore. */ -+ - int __EXPORT __mb_cur_max = 6; - #endif - - char *_PathLocale = NULL; - -+ - #ifdef _MB_CAPABLE - /* - * Category names for getenv() -@@ -194,7 +197,11 @@ static char *categories[_LC_LAST] = { - * Default locale per POSIX. Can be overridden on a per-target base. - */ - #ifndef DEFAULT_LOCALE --#define DEFAULT_LOCALE "C" -+#ifdef __DEFAULT_UTF8__ -+#define DEFAULT_LOCALE "C.UTF-8" -+#else -+#define DEFAULT_LOCALE "C" -+#endif - #endif - - #ifdef _MB_CAPABLE -@@ -207,8 +214,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; - const struct __locale_t __C_locale = - { - { "C", "C", "C", "C", "C", "C", "C", }, -+#if defined ( __DEFAULT_UTF8__ ) -+ __utf8_wctomb, -+ __utf8_mbtowc, -+#else - __ascii_wctomb, - __ascii_mbtowc, -+#endif - 0, - DEFAULT_CTYPE_PTR, - { -@@ -219,9 +231,15 @@ const struct __locale_t __C_locale = - CHAR_MAX, CHAR_MAX - }, - #ifndef __HAVE_LOCALE_INFO__ -+#ifdef __DEFAULT_UTF8__ -+ "\6", -+ "UTF-8", -+ "UTF-8", -+#else - "\1", - "ASCII", - "ASCII", -+#endif - #else /* __HAVE_LOCALE_INFO__ */ - { - { NULL, NULL }, /* LC_ALL */ -@@ -240,10 +258,11 @@ const struct __locale_t __C_locale = - }; - #endif /* _MB_CAPABLE */ - -+ - struct __locale_t __global_locale = - { - { "C", "C", DEFAULT_LOCALE, "C", "C", "C", "C", }, --#ifdef __CYGWIN__ -+#if defined ( __CYGWIN__ ) || defined ( __DEFAULT_UTF8__ ) - __utf8_wctomb, - __utf8_mbtowc, - #else -@@ -260,9 +279,15 @@ struct __locale_t __global_locale = - CHAR_MAX, CHAR_MAX - }, - #ifndef __HAVE_LOCALE_INFO__ -+#ifdef __DEFAULT_UTF8__ -+ "\6", -+ "UTF-8", -+ "UTF-8", -+#else - "\1", - "ASCII", - "ASCII", -+#endif - #else /* __HAVE_LOCALE_INFO__ */ - { - { NULL, NULL }, /* LC_ALL */ -@@ -296,7 +321,7 @@ _setlocale_r (struct _reent *p, - { - #ifndef _MB_CAPABLE - if (locale) -- { -+ { - if (strcmp (locale, "POSIX") && strcmp (locale, "C") - && strcmp (locale, "")) - return NULL; -@@ -991,6 +1016,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) - - const char * - __locale_ctype_ptr (void) -+ - { - return __get_current_locale ()->ctype_ptr; - } -diff --git a/newlib/libc/machine/arm/Makefile.am b/newlib/libc/machine/arm/Makefile.am -index 2d559464a..1e6625c05 100644 ---- a/newlib/libc/machine/arm/Makefile.am -+++ b/newlib/libc/machine/arm/Makefile.am -@@ -9,7 +9,9 @@ noinst_LIBRARIES = lib.a - lib_a_SOURCES = setjmp.S strcmp.S strcpy.c \ - aeabi_memcpy.c aeabi_memcpy-armv7a.S \ - aeabi_memmove.c aeabi_memmove-soft.S \ -- aeabi_memset.c aeabi_memset-soft.S aeabi_memclr.c -+ aeabi_memset.c aeabi_memset-soft.S aeabi_memclr.c \ -+ sync_synchronize.c -+ - lib_a_SOURCES += memchr-stub.c - lib_a_SOURCES += memchr.S - lib_a_SOURCES += memcpy-stub.c -diff --git a/newlib/libc/machine/arm/Makefile.in b/newlib/libc/machine/arm/Makefile.in -index 17a46a44d..b319b8349 100644 ---- a/newlib/libc/machine/arm/Makefile.in -+++ b/newlib/libc/machine/arm/Makefile.in -@@ -81,10 +81,10 @@ am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ - lib_a-aeabi_memmove.$(OBJEXT) \ - lib_a-aeabi_memmove-soft.$(OBJEXT) \ - lib_a-aeabi_memset.$(OBJEXT) lib_a-aeabi_memset-soft.$(OBJEXT) \ -- lib_a-aeabi_memclr.$(OBJEXT) lib_a-memchr-stub.$(OBJEXT) \ -- lib_a-memchr.$(OBJEXT) lib_a-memcpy-stub.$(OBJEXT) \ -- lib_a-memcpy.$(OBJEXT) lib_a-strlen-stub.$(OBJEXT) \ -- lib_a-strlen.$(OBJEXT) -+ lib_a-aeabi_memclr.$(OBJEXT) lib_a-sync_synchronize.$(OBJEXT) \ -+ lib_a-memchr-stub.$(OBJEXT) lib_a-memchr.$(OBJEXT) \ -+ lib_a-memcpy-stub.$(OBJEXT) lib_a-memcpy.$(OBJEXT) \ -+ lib_a-strlen-stub.$(OBJEXT) lib_a-strlen.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I.@am__isrc@ - depcomp = -@@ -230,8 +230,8 @@ noinst_LIBRARIES = lib.a - lib_a_SOURCES = setjmp.S strcmp.S strcpy.c aeabi_memcpy.c \ - aeabi_memcpy-armv7a.S aeabi_memmove.c aeabi_memmove-soft.S \ - aeabi_memset.c aeabi_memset-soft.S aeabi_memclr.c \ -- memchr-stub.c memchr.S memcpy-stub.c memcpy.S strlen-stub.c \ -- strlen.S -+ sync_synchronize.c memchr-stub.c memchr.S memcpy-stub.c \ -+ memcpy.S strlen-stub.c strlen.S - lib_a_CCASFLAGS = $(AM_CCASFLAGS) - lib_a_CFLAGS = $(AM_CFLAGS) - ACLOCAL_AMFLAGS = -I ../../.. -I ../../../.. -@@ -389,6 +389,12 @@ lib_a-aeabi_memclr.o: aeabi_memclr.c - lib_a-aeabi_memclr.obj: aeabi_memclr.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aeabi_memclr.obj `if test -f 'aeabi_memclr.c'; then $(CYGPATH_W) 'aeabi_memclr.c'; else $(CYGPATH_W) '$(srcdir)/aeabi_memclr.c'; fi` - -+lib_a-sync_synchronize.o: sync_synchronize.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sync_synchronize.o `test -f 'sync_synchronize.c' || echo '$(srcdir)/'`sync_synchronize.c -+ -+lib_a-sync_synchronize.obj: sync_synchronize.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sync_synchronize.obj `if test -f 'sync_synchronize.c'; then $(CYGPATH_W) 'sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/sync_synchronize.c'; fi` -+ - lib_a-memchr-stub.o: memchr-stub.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memchr-stub.o `test -f 'memchr-stub.c' || echo '$(srcdir)/'`memchr-stub.c - -diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c -new file mode 100644 -index 000000000..f5a85c3a8 ---- /dev/null -+++ b/newlib/libc/machine/arm/sync_synchronize.c -@@ -0,0 +1,8 @@ -+#if __ARM_ARCH < 6 -+#include -+void __attribute__((weak)) -+__sync_synchronize (void) -+{ -+ return; -+} -+#endif -diff --git a/newlib/libc/machine/arm/sys/stdio.h b/newlib/libc/machine/arm/sys/stdio.h -new file mode 100644 -index 000000000..4eb278e2f ---- /dev/null -+++ b/newlib/libc/machine/arm/sys/stdio.h -@@ -0,0 +1,27 @@ -+#ifndef _NEWLIB_STDIO_H -+#define _NEWLIB_STDIO_H -+ -+#include -+#include -+ -+/* Internal locking macros, used to protect stdio functions. In the -+ general case, expand to nothing. Use __SSTR flag in FILE _flags to -+ detect if FILE is private to sprintf/sscanf class of functions; if -+ set then do nothing as lock is not initialised. */ -+#if !defined(_flockfile) -+#ifndef __SINGLE_THREAD__ -+# define _flockfile(fp) (((fp)->_flags & __SSTR) ? 0 : __flockfile(fp)) -+#else -+# define _flockfile(fp) (_CAST_VOID 0) -+#endif -+#endif -+ -+#if !defined(_funlockfile) -+#ifndef __SINGLE_THREAD__ -+# define _funlockfile(fp) (((fp)->_flags & __SSTR) ? 0 : __funlockfile(fp)) -+#else -+# define _funlockfile(fp) (_CAST_VOID 0) -+#endif -+#endif -+ -+#endif /* _NEWLIB_STDIO_H */ -diff --git a/newlib/libc/reent/getreent.c b/newlib/libc/reent/getreent.c -index 5fa98e96b..ef8a15e1b 100644 ---- a/newlib/libc/reent/getreent.c -+++ b/newlib/libc/reent/getreent.c -@@ -1,3 +1,4 @@ -+#if 0 - /* default reentrant pointer when multithread enabled */ - - #ifdef GETREENT_PROVIDED -@@ -20,3 +21,4 @@ __getreent (void) - } - - #endif -+#endif -\ No newline at end of file -diff --git a/newlib/libc/reent/gettimeofdayr.c b/newlib/libc/reent/gettimeofdayr.c -index 9b982a993..8c0aaac8c 100644 ---- a/newlib/libc/reent/gettimeofdayr.c -+++ b/newlib/libc/reent/gettimeofdayr.c -@@ -51,7 +51,7 @@ DESCRIPTION - Check libc.a to see if its available on yours. - */ - --int -+/*int - _gettimeofday_r (struct _reent *ptr, - struct timeval *ptimeval, - void *ptimezone) -@@ -63,5 +63,5 @@ _gettimeofday_r (struct _reent *ptr, - ptr->_errno = errno; - return ret; - } -- -+*/ - #endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */ -diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index df8321461..9263e5829 100644 ---- a/newlib/libc/stdio/fread.c -+++ b/newlib/libc/stdio/fread.c -@@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, - } - - return count; -- -+ - } - - #endif -@@ -187,7 +187,6 @@ _fread_r (struct _reent * ptr, - int rc = 0; - /* save fp buffering state */ - void *old_base = fp->_bf._base; -- void * old_p = fp->_p; - int old_size = fp->_bf._size; - /* allow __refill to use user's buffer */ - fp->_bf._base = (unsigned char *) p; -@@ -197,7 +196,7 @@ _fread_r (struct _reent * ptr, - /* restore fp buffering back to original state */ - fp->_bf._base = old_base; - fp->_bf._size = old_size; -- fp->_p = old_p; -+ fp->_p = old_base; - resid -= fp->_r; - p += fp->_r; - fp->_r = 0; -@@ -225,7 +224,30 @@ _fread_r (struct _reent * ptr, - /* fp->_r = 0 ... done in __srefill */ - p += r; - resid -= r; -- if (__srefill_r (ptr, fp)) -+ -+ int rc = 0; -+ -+ if (resid>fp->_bf._size) -+ { -+ /* save fp buffering state */ -+ void *old_base = fp->_bf._base; -+ int old_size = fp->_bf._size; -+ /* allow __refill to use user's buffer */ -+ fp->_bf._base = (unsigned char *) p; -+ fp->_bf._size = resid - old_size; -+ fp->_p = (unsigned char *) p; -+ rc = __srefill_r (ptr, fp); -+ /* restore fp buffering back to original state */ -+ fp->_bf._base = old_base; -+ fp->_bf._size = old_size; -+ fp->_p = old_base; -+ resid -= fp->_r; -+ p += fp->_r; -+ //fp->_r = 0; -+ } -+ rc = __srefill_r (ptr, fp); -+ -+ if (rc) - { - /* no more input: return partial result */ - #ifdef __SCLE -diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c -index d8dfdbd82..a85b5a99b 100644 ---- a/newlib/libc/stdio/remove.c -+++ b/newlib/libc/stdio/remove.c -@@ -57,13 +57,17 @@ Supporting OS subroutine required: <>. - #include <_ansi.h> - #include - #include -+#include - - int - _remove_r (struct _reent *ptr, - const char *filename) - { -- if (_unlink_r (ptr, filename) == -1) -- return -1; -+ if (_unlink_r (ptr, filename) == -1) { -+ errno = 0; -+ if (_rmdir_r(ptr, filename) == -1) -+ return -1; -+ } - - return 0; - } -diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index c1483c0ac..319b1972b 100644 ---- a/newlib/libc/stdio/vfprintf.c -+++ b/newlib/libc/stdio/vfprintf.c -@@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, - <>, <>, <>, <>. - */ - -+#pragma GCC optimize ("Os") -+ - #if defined(LIBC_SCCS) && !defined(lint) - /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ - static char *rcsid = "$Id$"; -@@ -1431,7 +1433,7 @@ reswitch: switch (ch) { - string: - #endif - sign = '\0'; --#ifndef __OPTIMIZE_SIZE__ -+//#ifndef __OPTIMIZE_SIZE__ - /* Behavior is undefined if the user passed a - NULL string when precision is not 0. - However, if we are not optimizing for size, -@@ -1441,7 +1443,7 @@ string: - size = ((unsigned) prec > 6U) ? 6 : prec; - } - else --#endif /* __OPTIMIZE_SIZE__ */ -+//#endif /* __OPTIMIZE_SIZE__ */ - #ifdef _MB_CAPABLE - if (ch == 'S' || (flags & LONGINT)) { - mbstate_t ps; -diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index 037692531..b5e524c53 100644 ---- a/newlib/libc/stdio/vfscanf.c -+++ b/newlib/libc/stdio/vfscanf.c -@@ -74,6 +74,8 @@ These are GNU extensions. - Supporting OS subroutines required: - */ - -+#pragma GCC optimize ("Os") -+ - #include <_ansi.h> - #include - #include -diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c -index 7384b37d3..b4e1dbde5 100644 ---- a/newlib/libc/stdio/vfwprintf.c -+++ b/newlib/libc/stdio/vfwprintf.c -@@ -92,6 +92,9 @@ SEEALSO - * - * This code is large and complicated... - */ -+ -+#pragma GCC optimize ("Os") -+ - #include - - #ifdef INTEGER_ONLY -diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index e9e00dfec..c38d81e17 100644 ---- a/newlib/libc/stdio/vfwscanf.c -+++ b/newlib/libc/stdio/vfwscanf.c -@@ -74,6 +74,9 @@ PORTABILITY - C99, POSIX-1.2008 - */ - -+ -+#pragma GCC optimize ("Os") -+ - #include <_ansi.h> - #include - #include -diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c -index 920a7ea3c..ba5ee7652 100644 ---- a/newlib/libc/stdlib/mbtowc_r.c -+++ b/newlib/libc/stdlib/mbtowc_r.c -@@ -7,6 +7,7 @@ - #include - #include "local.h" - -+ - int - _mbtowc_r (struct _reent *r, - wchar_t *__restrict pwc, -diff --git a/newlib/libc/sys/arm/include/machine/_types.h b/newlib/libc/sys/arm/include/machine/_types.h -new file mode 100644 -index 000000000..40092f99f ---- /dev/null -+++ b/newlib/libc/sys/arm/include/machine/_types.h -@@ -0,0 +1,19 @@ -+#ifndef _MACHINE__TYPES_H -+#define _MACHINE__TYPES_H -+ -+#include -+ -+/* Use 64bit types */ -+typedef __int64_t _off_t; -+#define __machine_off_t_defined -+ -+typedef __int64_t _fpos_t; -+#define __machine_fpos_t_defined -+ -+typedef __uint32_t __ino_t; -+#define __machine_ino_t_defined -+ -+typedef __uint32_t __dev_t; -+#define __machine_dev_t_defined -+#endif -+ -diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h -new file mode 100644 -index 000000000..a755d6443 ---- /dev/null -+++ b/newlib/libc/sys/arm/sys/lock.h -@@ -0,0 +1,66 @@ -+#ifndef __SYS_LOCK_H__ -+#define __SYS_LOCK_H__ -+ -+#include <_ansi.h> -+#include -+ -+typedef int32_t _LOCK_T; -+ -+struct __lock_t { -+ _LOCK_T lock; -+ uint32_t thread_tag; -+ uint32_t counter; -+}; -+ -+typedef struct __lock_t _LOCK_RECURSIVE_T; -+ -+extern void __libc_lock_init(_LOCK_T *lock); -+extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_close(_LOCK_T *lock); -+extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_acquire(_LOCK_T *lock); -+extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_release(_LOCK_T *lock); -+extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); -+ -+/* Returns 0 for success and non-zero for failure */ -+extern int __libc_lock_try_acquire(_LOCK_T *lock); -+extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+ -+#define __LOCK_INIT(CLASS,NAME) \ -+CLASS _LOCK_T NAME = 0; -+ -+#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ -+CLASS _LOCK_RECURSIVE_T NAME = {0,0,0}; -+ -+#define __lock_init(NAME) \ -+ __libc_lock_init(&(NAME)) -+ -+#define __lock_init_recursive(NAME) \ -+ __libc_lock_init_recursive(&(NAME)) -+ -+#define __lock_close(NAME) \ -+ __libc_lock_close(&(NAME)) -+ -+#define __lock_close_recursive(NAME) \ -+ __libc_lock_close_recursive(&(NAME)) -+ -+#define __lock_acquire(NAME) \ -+ __libc_lock_acquire(&(NAME)) -+ -+#define __lock_acquire_recursive(NAME) \ -+ __libc_lock_acquire_recursive(&(NAME)) -+ -+#define __lock_try_acquire(NAME) \ -+ __libc_lock_try_acquire(&(NAME)) -+ -+#define __lock_try_acquire_recursive(NAME) \ -+ __libc_lock_try_acquire_recursive(&(NAME)) -+ -+#define __lock_release(NAME) \ -+ __libc_lock_release(&(NAME)) -+ -+#define __lock_release_recursive(NAME) \ -+ __libc_lock_release_recursive(&(NAME)) -+ -+#endif // __SYS_LOCK_H__ diff --git a/dkarm-eabi/patches/newlib-4.3.0.20230120.patch b/dkarm-eabi/patches/newlib-4.3.0.20230120.patch new file mode 100644 index 0000000..89a17a1 --- /dev/null +++ b/dkarm-eabi/patches/newlib-4.3.0.20230120.patch @@ -0,0 +1,12094 @@ +diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am +index 4309cd3a4..fad31dbe0 100644 +--- a/libgloss/Makefile.am ++++ b/libgloss/Makefile.am +@@ -87,6 +87,9 @@ endif + if CONFIG_LIBNOSYS + include libnosys/Makefile.inc + endif ++if CONFIG_LIBSYSBASE ++include libsysbase/Makefile.inc ++endif + if CONFIG_LM32 + include lm32/Makefile.inc + endif +diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in +index a117577ea..fcbffa306 100644 +--- a/libgloss/Makefile.in ++++ b/libgloss/Makefile.in +@@ -173,23 +173,26 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) + @CONFIG_IQ2000_TRUE@am__append_26 = iq2000/test + @CONFIG_LIBNOSYS_TRUE@am__append_27 = libnosys/nosys.specs + @CONFIG_LIBNOSYS_TRUE@am__append_28 = libnosys/libnosys.a +-@CONFIG_LM32_TRUE@am__append_29 = lm32/crt0.o lm32/sim.ld +-@CONFIG_LM32_TRUE@am__append_30 = lm32/libgloss.a +-@CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.S +-@CONFIG_NIOS2_TRUE@am__append_32 = \ ++@CONFIG_LIBSYSBASE_TRUE@am__append_29 = libsysbase/sysbase.specs ++@CONFIG_LIBSYSBASE_TRUE@am__append_30 = libsysbase/libpthread.a \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase.a ++@CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.o lm32/sim.ld ++@CONFIG_LM32_TRUE@am__append_32 = lm32/libgloss.a ++@CONFIG_LM32_TRUE@am__append_33 = lm32/crt0.S ++@CONFIG_NIOS2_TRUE@am__append_34 = \ + @CONFIG_NIOS2_TRUE@ nios2/qemu-hosted.ld + +-@CONFIG_NIOS2_TRUE@am__append_33 = nios2/libnios2.a +-@CONFIG_RISCV_TRUE@am__append_34 = \ ++@CONFIG_NIOS2_TRUE@am__append_35 = nios2/libnios2.a ++@CONFIG_RISCV_TRUE@am__append_36 = \ + @CONFIG_RISCV_TRUE@ riscv/nano.specs \ + @CONFIG_RISCV_TRUE@ riscv/sim.specs \ + @CONFIG_RISCV_TRUE@ riscv/semihost.specs \ + @CONFIG_RISCV_TRUE@ riscv/crt0.o + +-@CONFIG_RISCV_TRUE@am__append_35 = riscv/libgloss.a \ ++@CONFIG_RISCV_TRUE@am__append_37 = riscv/libgloss.a \ + @CONFIG_RISCV_TRUE@ riscv/libsemihost.a +-@CONFIG_WINCE_TRUE@am__append_36 = $(gdbdir) +-@CONFIG_WINCE_TRUE@am__append_37 = wince/stub.exe ++@CONFIG_WINCE_TRUE@am__append_38 = $(gdbdir) ++@CONFIG_WINCE_TRUE@am__append_39 = wince/stub.exe + subdir = . + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ +@@ -199,6 +202,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ + $(top_srcdir)/aarch64/acinclude.m4 \ + $(top_srcdir)/arm/acinclude.m4 $(top_srcdir)/i386/acinclude.m4 \ + $(top_srcdir)/libnosys/acinclude.m4 \ ++ $(top_srcdir)/libsysbase/acinclude.m4 \ + $(top_srcdir)/m68k/acinclude.m4 \ + $(top_srcdir)/mcore/acinclude.m4 \ + $(top_srcdir)/mips/acinclude.m4 \ +@@ -421,6 +425,64 @@ libobjs_a_LIBADD = + am_libobjs_a_OBJECTS = $(am__objects_3) $(am__objects_4) \ + $(am__objects_5) $(am__objects_6) + libobjs_a_OBJECTS = $(am_libobjs_a_OBJECTS) ++libsysbase_libpthread_a_AR = $(AR) $(ARFLAGS) ++libsysbase_libpthread_a_LIBADD = ++@CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libpthread_a_OBJECTS = \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dummy.$(OBJEXT) ++libsysbase_libpthread_a_OBJECTS = \ ++ $(am_libsysbase_libpthread_a_OBJECTS) ++libsysbase_libsysbase_a_AR = $(AR) $(ARFLAGS) ++libsysbase_libsysbase_a_LIBADD = ++@CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libsysbase_a_OBJECTS = libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-getpid.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-getreent.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-gettod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-handle_manager.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-iosupport.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-isatty.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-kill.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-link.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lseek.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pthread.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-scandir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-unlink.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-usleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-utime.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-wait.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-write.$(OBJEXT) ++libsysbase_libsysbase_a_OBJECTS = \ ++ $(am_libsysbase_libsysbase_a_OBJECTS) + lm32_libgloss_a_AR = $(AR) $(ARFLAGS) + lm32_libgloss_a_LIBADD = + @CONFIG_LM32_TRUE@am_lm32_libgloss_a_OBJECTS = lm32/isatty.$(OBJEXT) \ +@@ -572,7 +634,8 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ + $(bfin_libbfinbsp_a_SOURCES) $(bfin_libsim_a_SOURCES) \ + $(csky_libsemi_a_SOURCES) $(d30v_libsim_a_SOURCES) \ + $(iq2000_libeval_a_SOURCES) $(libnosys_libnosys_a_SOURCES) \ +- $(libobjs_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ ++ $(libobjs_a_SOURCES) $(libsysbase_libpthread_a_SOURCES) \ ++ $(libsysbase_libsysbase_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ + $(nios2_libnios2_a_SOURCES) $(riscv_libgloss_a_SOURCES) \ + $(riscv_libsemihost_a_SOURCES) bfin/sim-test.c iq2000/test.c \ + $(wince_stub_exe_SOURCES) +@@ -662,7 +725,7 @@ ETAGS = etags + CTAGS = ctags + CSCOPE = cscope + DIST_SUBDIRS = $(SUBDIRS) +-VPATH = @srcdir@ $(am__append_36) ++VPATH = @srcdir@ $(am__append_38) + AARCH64_OBJTYPE = @AARCH64_OBJTYPE@ + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ +@@ -772,6 +835,7 @@ pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -797,12 +861,13 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) + multilibtool_DATA = $(am__append_3) $(am__append_6) $(am__append_7) \ + $(am__append_8) $(am__append_13) $(am__append_15) \ + $(am__append_18) $(am__append_22) $(am__append_23) \ +- $(am__append_27) $(am__append_29) $(am__append_32) \ +- $(am__append_34) ++ $(am__append_27) $(am__append_29) $(am__append_31) \ ++ $(am__append_34) $(am__append_36) + multilibtool_LIBRARIES = $(am__append_2) $(am__append_5) \ + $(am__append_9) $(am__append_11) $(am__append_20) \ + $(am__append_21) $(am__append_24) $(am__append_28) \ +- $(am__append_30) $(am__append_33) $(am__append_35) ++ $(am__append_30) $(am__append_32) $(am__append_35) \ ++ $(am__append_37) + includetooldir = $(tooldir)/include + includetool_DATA = $(am__append_16) + includesystooldir = $(tooldir)/include/sys +@@ -813,7 +878,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include + # to install (e.g. our crt0.o objects). + noinst_LIBRARIES = libobjs.a + libobjs_a_SOURCES = $(am__append_14) $(am__append_19) $(am__append_25) \ +- $(am__append_31) ++ $(am__append_33) + FLAGS_TO_PASS = \ + "CC=$(CC)" \ + "CFLAGS=$(CFLAGS)" \ +@@ -992,6 +1057,60 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBNOSYS_TRUE@ libnosys/write.c \ + @CONFIG_LIBNOSYS_TRUE@ libnosys/_exit.c + ++@CONFIG_LIBSYSBASE_TRUE@libsysbase_libpthread_a_SOURCES = \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dummy.c ++ ++@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE ++@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_SOURCES = \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/_exit.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/abort.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/build_argv.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chmod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/clocks.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dirent.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fchmod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/flock.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fnmatch.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fsync.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/ftruncate.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/getpid.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/getreent.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/gettod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/handle_manager.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/iosupport.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/isatty.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/kill.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/link.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/lseek.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/lstat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/malloc_vars.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/mkdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pthread.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/nanosleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sbrk.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/scandir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/stat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/statvfs.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/syscall_support.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/times.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/truncate.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/unlink.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/usleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/utime.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/wait.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/write.c ++ + @CONFIG_LM32_TRUE@lm32_libgloss_a_SOURCES = \ + @CONFIG_LM32_TRUE@ lm32/isatty.c \ + @CONFIG_LM32_TRUE@ lm32/scall.S +@@ -1099,7 +1218,7 @@ all: config.h + .SUFFIXES: .S .c .dvi .o .obj .ps + am--refresh: Makefile + @: +-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ +@@ -1121,7 +1240,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; +-$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): ++$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): + + $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck +@@ -1585,6 +1704,168 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE + $(AM_V_at)-rm -f libobjs.a + $(AM_V_AR)$(libobjs_a_AR) libobjs.a $(libobjs_a_OBJECTS) $(libobjs_a_LIBADD) + $(AM_V_at)$(RANLIB) libobjs.a ++libsysbase/$(am__dirstamp): ++ @$(MKDIR_P) libsysbase ++ @: > libsysbase/$(am__dirstamp) ++libsysbase/$(DEPDIR)/$(am__dirstamp): ++ @$(MKDIR_P) libsysbase/$(DEPDIR) ++ @: > libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/dummy.$(OBJEXT): libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++ ++libsysbase/libpthread.a: $(libsysbase_libpthread_a_OBJECTS) $(libsysbase_libpthread_a_DEPENDENCIES) $(EXTRA_libsysbase_libpthread_a_DEPENDENCIES) libsysbase/$(am__dirstamp) ++ $(AM_V_at)-rm -f libsysbase/libpthread.a ++ $(AM_V_AR)$(libsysbase_libpthread_a_AR) libsysbase/libpthread.a $(libsysbase_libpthread_a_OBJECTS) $(libsysbase_libpthread_a_LIBADD) ++ $(AM_V_at)$(RANLIB) libsysbase/libpthread.a ++libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-getpid.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-getreent.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-gettod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-handle_manager.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-iosupport.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-isatty.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-kill.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-link.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-lseek.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-pthread.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-scandir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-unlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-usleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-utime.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-wait.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-write.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++ ++libsysbase/libsysbase.a: $(libsysbase_libsysbase_a_OBJECTS) $(libsysbase_libsysbase_a_DEPENDENCIES) $(EXTRA_libsysbase_libsysbase_a_DEPENDENCIES) libsysbase/$(am__dirstamp) ++ $(AM_V_at)-rm -f libsysbase/libsysbase.a ++ $(AM_V_AR)$(libsysbase_libsysbase_a_AR) libsysbase/libsysbase.a $(libsysbase_libsysbase_a_OBJECTS) $(libsysbase_libsysbase_a_LIBADD) ++ $(AM_V_at)$(RANLIB) libsysbase/libsysbase.a + lm32/isatty.$(OBJEXT): lm32/$(am__dirstamp) \ + lm32/$(DEPDIR)/$(am__dirstamp) + lm32/scall.$(OBJEXT): lm32/$(am__dirstamp) \ +@@ -1852,6 +2133,7 @@ mostlyclean-compile: + -rm -f d30v/*.$(OBJEXT) + -rm -f iq2000/*.$(OBJEXT) + -rm -f libnosys/*.$(OBJEXT) ++ -rm -f libsysbase/*.$(OBJEXT) + -rm -f lm32/*.$(OBJEXT) + -rm -f nios2/*.$(OBJEXT) + -rm -f riscv/*.$(OBJEXT) +@@ -1973,6 +2255,55 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/unlink.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/wait.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/write.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/dummy.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/crt0.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/isatty.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/scall.Po@am__quote@ +@@ -2717,6 +3048,678 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csky_libsemi_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o csky/csky_libsemi_a-getpid.obj `if test -f 'csky/getpid.c'; then $(CYGPATH_W) 'csky/getpid.c'; else $(CYGPATH_W) '$(srcdir)/csky/getpid.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-_exit.o: libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-_exit.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo -c -o libsysbase/libsysbase_libsysbase_a-_exit.o `test -f 'libsysbase/_exit.c' || echo '$(srcdir)/'`libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/_exit.c' object='libsysbase/libsysbase_libsysbase_a-_exit.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-_exit.o `test -f 'libsysbase/_exit.c' || echo '$(srcdir)/'`libsysbase/_exit.c ++ ++libsysbase/libsysbase_libsysbase_a-_exit.obj: libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-_exit.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo -c -o libsysbase/libsysbase_libsysbase_a-_exit.obj `if test -f 'libsysbase/_exit.c'; then $(CYGPATH_W) 'libsysbase/_exit.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/_exit.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/_exit.c' object='libsysbase/libsysbase_libsysbase_a-_exit.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-_exit.obj `if test -f 'libsysbase/_exit.c'; then $(CYGPATH_W) 'libsysbase/_exit.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/_exit.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-abort.o: libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-abort.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo -c -o libsysbase/libsysbase_libsysbase_a-abort.o `test -f 'libsysbase/abort.c' || echo '$(srcdir)/'`libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/abort.c' object='libsysbase/libsysbase_libsysbase_a-abort.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.o `test -f 'libsysbase/abort.c' || echo '$(srcdir)/'`libsysbase/abort.c ++ ++libsysbase/libsysbase_libsysbase_a-abort.obj: libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-abort.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/abort.c' object='libsysbase/libsysbase_libsysbase_a-abort.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-build_argv.o: libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/build_argv.c' object='libsysbase/libsysbase_libsysbase_a-build_argv.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c ++ ++libsysbase/libsysbase_libsysbase_a-build_argv.obj: libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.obj `if test -f 'libsysbase/build_argv.c'; then $(CYGPATH_W) 'libsysbase/build_argv.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/build_argv.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/build_argv.c' object='libsysbase/libsysbase_libsysbase_a-build_argv.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-build_argv.obj `if test -f 'libsysbase/build_argv.c'; then $(CYGPATH_W) 'libsysbase/build_argv.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/build_argv.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-chdir.o: libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chdir.o `test -f 'libsysbase/chdir.c' || echo '$(srcdir)/'`libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chdir.c' object='libsysbase/libsysbase_libsysbase_a-chdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chdir.o `test -f 'libsysbase/chdir.c' || echo '$(srcdir)/'`libsysbase/chdir.c ++ ++libsysbase/libsysbase_libsysbase_a-chdir.obj: libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chdir.obj `if test -f 'libsysbase/chdir.c'; then $(CYGPATH_W) 'libsysbase/chdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chdir.c' object='libsysbase/libsysbase_libsysbase_a-chdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chdir.obj `if test -f 'libsysbase/chdir.c'; then $(CYGPATH_W) 'libsysbase/chdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chdir.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-chmod.o: libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chmod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chmod.o `test -f 'libsysbase/chmod.c' || echo '$(srcdir)/'`libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chmod.c' object='libsysbase/libsysbase_libsysbase_a-chmod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chmod.o `test -f 'libsysbase/chmod.c' || echo '$(srcdir)/'`libsysbase/chmod.c ++ ++libsysbase/libsysbase_libsysbase_a-chmod.obj: libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chmod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chmod.obj `if test -f 'libsysbase/chmod.c'; then $(CYGPATH_W) 'libsysbase/chmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chmod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chmod.c' object='libsysbase/libsysbase_libsysbase_a-chmod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chmod.obj `if test -f 'libsysbase/chmod.c'; then $(CYGPATH_W) 'libsysbase/chmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chmod.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-clocks.o: libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-clocks.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo -c -o libsysbase/libsysbase_libsysbase_a-clocks.o `test -f 'libsysbase/clocks.c' || echo '$(srcdir)/'`libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/clocks.c' object='libsysbase/libsysbase_libsysbase_a-clocks.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.o `test -f 'libsysbase/clocks.c' || echo '$(srcdir)/'`libsysbase/clocks.c ++ ++libsysbase/libsysbase_libsysbase_a-clocks.obj: libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-clocks.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/clocks.c' object='libsysbase/libsysbase_libsysbase_a-clocks.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-dirent.o: libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/dirent.c' object='libsysbase/libsysbase_libsysbase_a-dirent.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c ++ ++libsysbase/libsysbase_libsysbase_a-dirent.obj: libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.obj `if test -f 'libsysbase/dirent.c'; then $(CYGPATH_W) 'libsysbase/dirent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/dirent.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/dirent.c' object='libsysbase/libsysbase_libsysbase_a-dirent.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-dirent.obj `if test -f 'libsysbase/dirent.c'; then $(CYGPATH_W) 'libsysbase/dirent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/dirent.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-environ.o: libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-environ.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo -c -o libsysbase/libsysbase_libsysbase_a-environ.o `test -f 'libsysbase/environ.c' || echo '$(srcdir)/'`libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/environ.c' object='libsysbase/libsysbase_libsysbase_a-environ.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-environ.o `test -f 'libsysbase/environ.c' || echo '$(srcdir)/'`libsysbase/environ.c ++ ++libsysbase/libsysbase_libsysbase_a-environ.obj: libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-environ.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo -c -o libsysbase/libsysbase_libsysbase_a-environ.obj `if test -f 'libsysbase/environ.c'; then $(CYGPATH_W) 'libsysbase/environ.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/environ.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/environ.c' object='libsysbase/libsysbase_libsysbase_a-environ.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-environ.obj `if test -f 'libsysbase/environ.c'; then $(CYGPATH_W) 'libsysbase/environ.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/environ.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-execve.o: libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-execve.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo -c -o libsysbase/libsysbase_libsysbase_a-execve.o `test -f 'libsysbase/execve.c' || echo '$(srcdir)/'`libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/execve.c' object='libsysbase/libsysbase_libsysbase_a-execve.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-execve.o `test -f 'libsysbase/execve.c' || echo '$(srcdir)/'`libsysbase/execve.c ++ ++libsysbase/libsysbase_libsysbase_a-execve.obj: libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-execve.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo -c -o libsysbase/libsysbase_libsysbase_a-execve.obj `if test -f 'libsysbase/execve.c'; then $(CYGPATH_W) 'libsysbase/execve.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/execve.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/execve.c' object='libsysbase/libsysbase_libsysbase_a-execve.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-execve.obj `if test -f 'libsysbase/execve.c'; then $(CYGPATH_W) 'libsysbase/execve.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/execve.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fchmod.o: libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fchmod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fchmod.o `test -f 'libsysbase/fchmod.c' || echo '$(srcdir)/'`libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fchmod.c' object='libsysbase/libsysbase_libsysbase_a-fchmod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.o `test -f 'libsysbase/fchmod.c' || echo '$(srcdir)/'`libsysbase/fchmod.c ++ ++libsysbase/libsysbase_libsysbase_a-fchmod.obj: libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fchmod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fchmod.c' object='libsysbase/libsysbase_libsysbase_a-fchmod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-flock.o: libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-flock.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo -c -o libsysbase/libsysbase_libsysbase_a-flock.o `test -f 'libsysbase/flock.c' || echo '$(srcdir)/'`libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/flock.c' object='libsysbase/libsysbase_libsysbase_a-flock.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-flock.o `test -f 'libsysbase/flock.c' || echo '$(srcdir)/'`libsysbase/flock.c ++ ++libsysbase/libsysbase_libsysbase_a-flock.obj: libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-flock.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo -c -o libsysbase/libsysbase_libsysbase_a-flock.obj `if test -f 'libsysbase/flock.c'; then $(CYGPATH_W) 'libsysbase/flock.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/flock.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/flock.c' object='libsysbase/libsysbase_libsysbase_a-flock.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-flock.obj `if test -f 'libsysbase/flock.c'; then $(CYGPATH_W) 'libsysbase/flock.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/flock.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fnmatch.o: libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fnmatch.c' object='libsysbase/libsysbase_libsysbase_a-fnmatch.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c ++ ++libsysbase/libsysbase_libsysbase_a-fnmatch.obj: libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.obj `if test -f 'libsysbase/fnmatch.c'; then $(CYGPATH_W) 'libsysbase/fnmatch.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fnmatch.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fnmatch.c' object='libsysbase/libsysbase_libsysbase_a-fnmatch.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.obj `if test -f 'libsysbase/fnmatch.c'; then $(CYGPATH_W) 'libsysbase/fnmatch.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fnmatch.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fork.o: libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fork.c' object='libsysbase/libsysbase_libsysbase_a-fork.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c ++ ++libsysbase/libsysbase_libsysbase_a-fork.obj: libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fork.c' object='libsysbase/libsysbase_libsysbase_a-fork.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fstat.o: libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fstat.c' object='libsysbase/libsysbase_libsysbase_a-fstat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c ++ ++libsysbase/libsysbase_libsysbase_a-fstat.obj: libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.obj `if test -f 'libsysbase/fstat.c'; then $(CYGPATH_W) 'libsysbase/fstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fstat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fstat.c' object='libsysbase/libsysbase_libsysbase_a-fstat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fstat.obj `if test -f 'libsysbase/fstat.c'; then $(CYGPATH_W) 'libsysbase/fstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fstat.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fsync.o: libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fsync.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fsync.o `test -f 'libsysbase/fsync.c' || echo '$(srcdir)/'`libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fsync.c' object='libsysbase/libsysbase_libsysbase_a-fsync.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fsync.o `test -f 'libsysbase/fsync.c' || echo '$(srcdir)/'`libsysbase/fsync.c ++ ++libsysbase/libsysbase_libsysbase_a-fsync.obj: libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fsync.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fsync.obj `if test -f 'libsysbase/fsync.c'; then $(CYGPATH_W) 'libsysbase/fsync.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fsync.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fsync.c' object='libsysbase/libsysbase_libsysbase_a-fsync.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fsync.obj `if test -f 'libsysbase/fsync.c'; then $(CYGPATH_W) 'libsysbase/fsync.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fsync.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-ftruncate.o: libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-ftruncate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.o `test -f 'libsysbase/ftruncate.c' || echo '$(srcdir)/'`libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/ftruncate.c' object='libsysbase/libsysbase_libsysbase_a-ftruncate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.o `test -f 'libsysbase/ftruncate.c' || echo '$(srcdir)/'`libsysbase/ftruncate.c ++ ++libsysbase/libsysbase_libsysbase_a-ftruncate.obj: libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-ftruncate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.obj `if test -f 'libsysbase/ftruncate.c'; then $(CYGPATH_W) 'libsysbase/ftruncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/ftruncate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/ftruncate.c' object='libsysbase/libsysbase_libsysbase_a-ftruncate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.obj `if test -f 'libsysbase/ftruncate.c'; then $(CYGPATH_W) 'libsysbase/ftruncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/ftruncate.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-getpid.o: libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getpid.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getpid.o `test -f 'libsysbase/getpid.c' || echo '$(srcdir)/'`libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getpid.c' object='libsysbase/libsysbase_libsysbase_a-getpid.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getpid.o `test -f 'libsysbase/getpid.c' || echo '$(srcdir)/'`libsysbase/getpid.c ++ ++libsysbase/libsysbase_libsysbase_a-getpid.obj: libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getpid.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getpid.obj `if test -f 'libsysbase/getpid.c'; then $(CYGPATH_W) 'libsysbase/getpid.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getpid.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getpid.c' object='libsysbase/libsysbase_libsysbase_a-getpid.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getpid.obj `if test -f 'libsysbase/getpid.c'; then $(CYGPATH_W) 'libsysbase/getpid.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getpid.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-getreent.o: libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getreent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getreent.o `test -f 'libsysbase/getreent.c' || echo '$(srcdir)/'`libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getreent.c' object='libsysbase/libsysbase_libsysbase_a-getreent.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getreent.o `test -f 'libsysbase/getreent.c' || echo '$(srcdir)/'`libsysbase/getreent.c ++ ++libsysbase/libsysbase_libsysbase_a-getreent.obj: libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getreent.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getreent.obj `if test -f 'libsysbase/getreent.c'; then $(CYGPATH_W) 'libsysbase/getreent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getreent.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getreent.c' object='libsysbase/libsysbase_libsysbase_a-getreent.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getreent.obj `if test -f 'libsysbase/getreent.c'; then $(CYGPATH_W) 'libsysbase/getreent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getreent.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-gettod.o: libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-gettod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-gettod.o `test -f 'libsysbase/gettod.c' || echo '$(srcdir)/'`libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/gettod.c' object='libsysbase/libsysbase_libsysbase_a-gettod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-gettod.o `test -f 'libsysbase/gettod.c' || echo '$(srcdir)/'`libsysbase/gettod.c ++ ++libsysbase/libsysbase_libsysbase_a-gettod.obj: libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-gettod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-gettod.obj `if test -f 'libsysbase/gettod.c'; then $(CYGPATH_W) 'libsysbase/gettod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/gettod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/gettod.c' object='libsysbase/libsysbase_libsysbase_a-gettod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-gettod.obj `if test -f 'libsysbase/gettod.c'; then $(CYGPATH_W) 'libsysbase/gettod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/gettod.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-handle_manager.o: libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-handle_manager.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.o `test -f 'libsysbase/handle_manager.c' || echo '$(srcdir)/'`libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/handle_manager.c' object='libsysbase/libsysbase_libsysbase_a-handle_manager.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.o `test -f 'libsysbase/handle_manager.c' || echo '$(srcdir)/'`libsysbase/handle_manager.c ++ ++libsysbase/libsysbase_libsysbase_a-handle_manager.obj: libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-handle_manager.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.obj `if test -f 'libsysbase/handle_manager.c'; then $(CYGPATH_W) 'libsysbase/handle_manager.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/handle_manager.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/handle_manager.c' object='libsysbase/libsysbase_libsysbase_a-handle_manager.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.obj `if test -f 'libsysbase/handle_manager.c'; then $(CYGPATH_W) 'libsysbase/handle_manager.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/handle_manager.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-iosupport.o: libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-iosupport.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo -c -o libsysbase/libsysbase_libsysbase_a-iosupport.o `test -f 'libsysbase/iosupport.c' || echo '$(srcdir)/'`libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/iosupport.c' object='libsysbase/libsysbase_libsysbase_a-iosupport.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-iosupport.o `test -f 'libsysbase/iosupport.c' || echo '$(srcdir)/'`libsysbase/iosupport.c ++ ++libsysbase/libsysbase_libsysbase_a-iosupport.obj: libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-iosupport.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo -c -o libsysbase/libsysbase_libsysbase_a-iosupport.obj `if test -f 'libsysbase/iosupport.c'; then $(CYGPATH_W) 'libsysbase/iosupport.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/iosupport.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/iosupport.c' object='libsysbase/libsysbase_libsysbase_a-iosupport.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-iosupport.obj `if test -f 'libsysbase/iosupport.c'; then $(CYGPATH_W) 'libsysbase/iosupport.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/iosupport.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-isatty.o: libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-isatty.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo -c -o libsysbase/libsysbase_libsysbase_a-isatty.o `test -f 'libsysbase/isatty.c' || echo '$(srcdir)/'`libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/isatty.c' object='libsysbase/libsysbase_libsysbase_a-isatty.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-isatty.o `test -f 'libsysbase/isatty.c' || echo '$(srcdir)/'`libsysbase/isatty.c ++ ++libsysbase/libsysbase_libsysbase_a-isatty.obj: libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-isatty.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo -c -o libsysbase/libsysbase_libsysbase_a-isatty.obj `if test -f 'libsysbase/isatty.c'; then $(CYGPATH_W) 'libsysbase/isatty.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/isatty.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/isatty.c' object='libsysbase/libsysbase_libsysbase_a-isatty.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-isatty.obj `if test -f 'libsysbase/isatty.c'; then $(CYGPATH_W) 'libsysbase/isatty.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/isatty.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-kill.o: libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-kill.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo -c -o libsysbase/libsysbase_libsysbase_a-kill.o `test -f 'libsysbase/kill.c' || echo '$(srcdir)/'`libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/kill.c' object='libsysbase/libsysbase_libsysbase_a-kill.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-kill.o `test -f 'libsysbase/kill.c' || echo '$(srcdir)/'`libsysbase/kill.c ++ ++libsysbase/libsysbase_libsysbase_a-kill.obj: libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-kill.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo -c -o libsysbase/libsysbase_libsysbase_a-kill.obj `if test -f 'libsysbase/kill.c'; then $(CYGPATH_W) 'libsysbase/kill.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/kill.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/kill.c' object='libsysbase/libsysbase_libsysbase_a-kill.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-kill.obj `if test -f 'libsysbase/kill.c'; then $(CYGPATH_W) 'libsysbase/kill.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/kill.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-link.o: libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-link.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo -c -o libsysbase/libsysbase_libsysbase_a-link.o `test -f 'libsysbase/link.c' || echo '$(srcdir)/'`libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/link.c' object='libsysbase/libsysbase_libsysbase_a-link.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-link.o `test -f 'libsysbase/link.c' || echo '$(srcdir)/'`libsysbase/link.c ++ ++libsysbase/libsysbase_libsysbase_a-link.obj: libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-link.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo -c -o libsysbase/libsysbase_libsysbase_a-link.obj `if test -f 'libsysbase/link.c'; then $(CYGPATH_W) 'libsysbase/link.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/link.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/link.c' object='libsysbase/libsysbase_libsysbase_a-link.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-link.obj `if test -f 'libsysbase/link.c'; then $(CYGPATH_W) 'libsysbase/link.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/link.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-lseek.o: libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lseek.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lseek.o `test -f 'libsysbase/lseek.c' || echo '$(srcdir)/'`libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lseek.c' object='libsysbase/libsysbase_libsysbase_a-lseek.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lseek.o `test -f 'libsysbase/lseek.c' || echo '$(srcdir)/'`libsysbase/lseek.c ++ ++libsysbase/libsysbase_libsysbase_a-lseek.obj: libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lseek.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lseek.obj `if test -f 'libsysbase/lseek.c'; then $(CYGPATH_W) 'libsysbase/lseek.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lseek.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lseek.c' object='libsysbase/libsysbase_libsysbase_a-lseek.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lseek.obj `if test -f 'libsysbase/lseek.c'; then $(CYGPATH_W) 'libsysbase/lseek.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lseek.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-lstat.o: libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lstat.o `test -f 'libsysbase/lstat.c' || echo '$(srcdir)/'`libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lstat.c' object='libsysbase/libsysbase_libsysbase_a-lstat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lstat.o `test -f 'libsysbase/lstat.c' || echo '$(srcdir)/'`libsysbase/lstat.c ++ ++libsysbase/libsysbase_libsysbase_a-lstat.obj: libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lstat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lstat.obj `if test -f 'libsysbase/lstat.c'; then $(CYGPATH_W) 'libsysbase/lstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lstat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lstat.c' object='libsysbase/libsysbase_libsysbase_a-lstat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lstat.obj `if test -f 'libsysbase/lstat.c'; then $(CYGPATH_W) 'libsysbase/lstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lstat.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-malloc_vars.o: libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-malloc_vars.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.o `test -f 'libsysbase/malloc_vars.c' || echo '$(srcdir)/'`libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/malloc_vars.c' object='libsysbase/libsysbase_libsysbase_a-malloc_vars.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.o `test -f 'libsysbase/malloc_vars.c' || echo '$(srcdir)/'`libsysbase/malloc_vars.c ++ ++libsysbase/libsysbase_libsysbase_a-malloc_vars.obj: libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-malloc_vars.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.obj `if test -f 'libsysbase/malloc_vars.c'; then $(CYGPATH_W) 'libsysbase/malloc_vars.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/malloc_vars.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/malloc_vars.c' object='libsysbase/libsysbase_libsysbase_a-malloc_vars.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.obj `if test -f 'libsysbase/malloc_vars.c'; then $(CYGPATH_W) 'libsysbase/malloc_vars.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/malloc_vars.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-mkdir.o: libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-mkdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-mkdir.o `test -f 'libsysbase/mkdir.c' || echo '$(srcdir)/'`libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/mkdir.c' object='libsysbase/libsysbase_libsysbase_a-mkdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.o `test -f 'libsysbase/mkdir.c' || echo '$(srcdir)/'`libsysbase/mkdir.c ++ ++libsysbase/libsysbase_libsysbase_a-mkdir.obj: libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-mkdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/mkdir.c' object='libsysbase/libsysbase_libsysbase_a-mkdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-pthread.o: libsysbase/pthread.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pthread.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pthread.o `test -f 'libsysbase/pthread.c' || echo '$(srcdir)/'`libsysbase/pthread.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pthread.c' object='libsysbase/libsysbase_libsysbase_a-pthread.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pthread.o `test -f 'libsysbase/pthread.c' || echo '$(srcdir)/'`libsysbase/pthread.c ++ ++libsysbase/libsysbase_libsysbase_a-pthread.obj: libsysbase/pthread.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pthread.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pthread.obj `if test -f 'libsysbase/pthread.c'; then $(CYGPATH_W) 'libsysbase/pthread.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pthread.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pthread.c' object='libsysbase/libsysbase_libsysbase_a-pthread.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pthread.obj `if test -f 'libsysbase/pthread.c'; then $(CYGPATH_W) 'libsysbase/pthread.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pthread.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-nanosleep.o: libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/nanosleep.c' object='libsysbase/libsysbase_libsysbase_a-nanosleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c ++ ++libsysbase/libsysbase_libsysbase_a-nanosleep.obj: libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.obj `if test -f 'libsysbase/nanosleep.c'; then $(CYGPATH_W) 'libsysbase/nanosleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/nanosleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/nanosleep.c' object='libsysbase/libsysbase_libsysbase_a-nanosleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.obj `if test -f 'libsysbase/nanosleep.c'; then $(CYGPATH_W) 'libsysbase/nanosleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/nanosleep.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-open.o: libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-open.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo -c -o libsysbase/libsysbase_libsysbase_a-open.o `test -f 'libsysbase/open.c' || echo '$(srcdir)/'`libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/open.c' object='libsysbase/libsysbase_libsysbase_a-open.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.o `test -f 'libsysbase/open.c' || echo '$(srcdir)/'`libsysbase/open.c ++ ++libsysbase/libsysbase_libsysbase_a-open.obj: libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-open.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/open.c' object='libsysbase/libsysbase_libsysbase_a-open.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-pathconf.o: libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pathconf.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pathconf.o `test -f 'libsysbase/pathconf.c' || echo '$(srcdir)/'`libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pathconf.c' object='libsysbase/libsysbase_libsysbase_a-pathconf.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pathconf.o `test -f 'libsysbase/pathconf.c' || echo '$(srcdir)/'`libsysbase/pathconf.c ++ ++libsysbase/libsysbase_libsysbase_a-pathconf.obj: libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pathconf.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pathconf.obj `if test -f 'libsysbase/pathconf.c'; then $(CYGPATH_W) 'libsysbase/pathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pathconf.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pathconf.c' object='libsysbase/libsysbase_libsysbase_a-pathconf.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pathconf.obj `if test -f 'libsysbase/pathconf.c'; then $(CYGPATH_W) 'libsysbase/pathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pathconf.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-read.o: libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/read.c' object='libsysbase/libsysbase_libsysbase_a-read.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c ++ ++libsysbase/libsysbase_libsysbase_a-read.obj: libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/read.c' object='libsysbase/libsysbase_libsysbase_a-read.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-rename.o: libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rename.c' object='libsysbase/libsysbase_libsysbase_a-rename.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c ++ ++libsysbase/libsysbase_libsysbase_a-rename.obj: libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.obj `if test -f 'libsysbase/rename.c'; then $(CYGPATH_W) 'libsysbase/rename.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rename.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rename.c' object='libsysbase/libsysbase_libsysbase_a-rename.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rename.obj `if test -f 'libsysbase/rename.c'; then $(CYGPATH_W) 'libsysbase/rename.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rename.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-rmdir.o: libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rmdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rmdir.o `test -f 'libsysbase/rmdir.c' || echo '$(srcdir)/'`libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rmdir.c' object='libsysbase/libsysbase_libsysbase_a-rmdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rmdir.o `test -f 'libsysbase/rmdir.c' || echo '$(srcdir)/'`libsysbase/rmdir.c ++ ++libsysbase/libsysbase_libsysbase_a-rmdir.obj: libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rmdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rmdir.obj `if test -f 'libsysbase/rmdir.c'; then $(CYGPATH_W) 'libsysbase/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rmdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rmdir.c' object='libsysbase/libsysbase_libsysbase_a-rmdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rmdir.obj `if test -f 'libsysbase/rmdir.c'; then $(CYGPATH_W) 'libsysbase/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rmdir.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-sbrk.o: libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sbrk.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sbrk.o `test -f 'libsysbase/sbrk.c' || echo '$(srcdir)/'`libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sbrk.c' object='libsysbase/libsysbase_libsysbase_a-sbrk.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sbrk.o `test -f 'libsysbase/sbrk.c' || echo '$(srcdir)/'`libsysbase/sbrk.c ++ ++libsysbase/libsysbase_libsysbase_a-sbrk.obj: libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sbrk.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sbrk.obj `if test -f 'libsysbase/sbrk.c'; then $(CYGPATH_W) 'libsysbase/sbrk.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sbrk.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sbrk.c' object='libsysbase/libsysbase_libsysbase_a-sbrk.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sbrk.obj `if test -f 'libsysbase/sbrk.c'; then $(CYGPATH_W) 'libsysbase/sbrk.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sbrk.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-scandir.o: libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-scandir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-scandir.o `test -f 'libsysbase/scandir.c' || echo '$(srcdir)/'`libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/scandir.c' object='libsysbase/libsysbase_libsysbase_a-scandir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-scandir.o `test -f 'libsysbase/scandir.c' || echo '$(srcdir)/'`libsysbase/scandir.c ++ ++libsysbase/libsysbase_libsysbase_a-scandir.obj: libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-scandir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-scandir.obj `if test -f 'libsysbase/scandir.c'; then $(CYGPATH_W) 'libsysbase/scandir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/scandir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/scandir.c' object='libsysbase/libsysbase_libsysbase_a-scandir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-scandir.obj `if test -f 'libsysbase/scandir.c'; then $(CYGPATH_W) 'libsysbase/scandir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/scandir.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-sleep.o: libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sleep.o `test -f 'libsysbase/sleep.c' || echo '$(srcdir)/'`libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sleep.c' object='libsysbase/libsysbase_libsysbase_a-sleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sleep.o `test -f 'libsysbase/sleep.c' || echo '$(srcdir)/'`libsysbase/sleep.c ++ ++libsysbase/libsysbase_libsysbase_a-sleep.obj: libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sleep.obj `if test -f 'libsysbase/sleep.c'; then $(CYGPATH_W) 'libsysbase/sleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sleep.c' object='libsysbase/libsysbase_libsysbase_a-sleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sleep.obj `if test -f 'libsysbase/sleep.c'; then $(CYGPATH_W) 'libsysbase/sleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sleep.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-stat.o: libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-stat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-stat.o `test -f 'libsysbase/stat.c' || echo '$(srcdir)/'`libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/stat.c' object='libsysbase/libsysbase_libsysbase_a-stat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-stat.o `test -f 'libsysbase/stat.c' || echo '$(srcdir)/'`libsysbase/stat.c ++ ++libsysbase/libsysbase_libsysbase_a-stat.obj: libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-stat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-stat.obj `if test -f 'libsysbase/stat.c'; then $(CYGPATH_W) 'libsysbase/stat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/stat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/stat.c' object='libsysbase/libsysbase_libsysbase_a-stat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-stat.obj `if test -f 'libsysbase/stat.c'; then $(CYGPATH_W) 'libsysbase/stat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/stat.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-statvfs.o: libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-statvfs.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo -c -o libsysbase/libsysbase_libsysbase_a-statvfs.o `test -f 'libsysbase/statvfs.c' || echo '$(srcdir)/'`libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/statvfs.c' object='libsysbase/libsysbase_libsysbase_a-statvfs.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.o `test -f 'libsysbase/statvfs.c' || echo '$(srcdir)/'`libsysbase/statvfs.c ++ ++libsysbase/libsysbase_libsysbase_a-statvfs.obj: libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-statvfs.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/statvfs.c' object='libsysbase/libsysbase_libsysbase_a-statvfs.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-syscall_support.o: libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/syscall_support.c' object='libsysbase/libsysbase_libsysbase_a-syscall_support.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c ++ ++libsysbase/libsysbase_libsysbase_a-syscall_support.obj: libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.obj `if test -f 'libsysbase/syscall_support.c'; then $(CYGPATH_W) 'libsysbase/syscall_support.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/syscall_support.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/syscall_support.c' object='libsysbase/libsysbase_libsysbase_a-syscall_support.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.obj `if test -f 'libsysbase/syscall_support.c'; then $(CYGPATH_W) 'libsysbase/syscall_support.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/syscall_support.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-times.o: libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-times.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo -c -o libsysbase/libsysbase_libsysbase_a-times.o `test -f 'libsysbase/times.c' || echo '$(srcdir)/'`libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/times.c' object='libsysbase/libsysbase_libsysbase_a-times.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-times.o `test -f 'libsysbase/times.c' || echo '$(srcdir)/'`libsysbase/times.c ++ ++libsysbase/libsysbase_libsysbase_a-times.obj: libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-times.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo -c -o libsysbase/libsysbase_libsysbase_a-times.obj `if test -f 'libsysbase/times.c'; then $(CYGPATH_W) 'libsysbase/times.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/times.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/times.c' object='libsysbase/libsysbase_libsysbase_a-times.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-times.obj `if test -f 'libsysbase/times.c'; then $(CYGPATH_W) 'libsysbase/times.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/times.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-truncate.o: libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-truncate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-truncate.o `test -f 'libsysbase/truncate.c' || echo '$(srcdir)/'`libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/truncate.c' object='libsysbase/libsysbase_libsysbase_a-truncate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-truncate.o `test -f 'libsysbase/truncate.c' || echo '$(srcdir)/'`libsysbase/truncate.c ++ ++libsysbase/libsysbase_libsysbase_a-truncate.obj: libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-truncate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-truncate.obj `if test -f 'libsysbase/truncate.c'; then $(CYGPATH_W) 'libsysbase/truncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/truncate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/truncate.c' object='libsysbase/libsysbase_libsysbase_a-truncate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-truncate.obj `if test -f 'libsysbase/truncate.c'; then $(CYGPATH_W) 'libsysbase/truncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/truncate.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-unlink.o: libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-unlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-unlink.o `test -f 'libsysbase/unlink.c' || echo '$(srcdir)/'`libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/unlink.c' object='libsysbase/libsysbase_libsysbase_a-unlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-unlink.o `test -f 'libsysbase/unlink.c' || echo '$(srcdir)/'`libsysbase/unlink.c ++ ++libsysbase/libsysbase_libsysbase_a-unlink.obj: libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-unlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-unlink.obj `if test -f 'libsysbase/unlink.c'; then $(CYGPATH_W) 'libsysbase/unlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/unlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/unlink.c' object='libsysbase/libsysbase_libsysbase_a-unlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-unlink.obj `if test -f 'libsysbase/unlink.c'; then $(CYGPATH_W) 'libsysbase/unlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/unlink.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-usleep.o: libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-usleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-usleep.o `test -f 'libsysbase/usleep.c' || echo '$(srcdir)/'`libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/usleep.c' object='libsysbase/libsysbase_libsysbase_a-usleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-usleep.o `test -f 'libsysbase/usleep.c' || echo '$(srcdir)/'`libsysbase/usleep.c ++ ++libsysbase/libsysbase_libsysbase_a-usleep.obj: libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-usleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-usleep.obj `if test -f 'libsysbase/usleep.c'; then $(CYGPATH_W) 'libsysbase/usleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/usleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/usleep.c' object='libsysbase/libsysbase_libsysbase_a-usleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-usleep.obj `if test -f 'libsysbase/usleep.c'; then $(CYGPATH_W) 'libsysbase/usleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/usleep.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-utime.o: libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-utime.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo -c -o libsysbase/libsysbase_libsysbase_a-utime.o `test -f 'libsysbase/utime.c' || echo '$(srcdir)/'`libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/utime.c' object='libsysbase/libsysbase_libsysbase_a-utime.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-utime.o `test -f 'libsysbase/utime.c' || echo '$(srcdir)/'`libsysbase/utime.c ++ ++libsysbase/libsysbase_libsysbase_a-utime.obj: libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-utime.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo -c -o libsysbase/libsysbase_libsysbase_a-utime.obj `if test -f 'libsysbase/utime.c'; then $(CYGPATH_W) 'libsysbase/utime.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/utime.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/utime.c' object='libsysbase/libsysbase_libsysbase_a-utime.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-utime.obj `if test -f 'libsysbase/utime.c'; then $(CYGPATH_W) 'libsysbase/utime.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/utime.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-wait.o: libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-wait.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo -c -o libsysbase/libsysbase_libsysbase_a-wait.o `test -f 'libsysbase/wait.c' || echo '$(srcdir)/'`libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/wait.c' object='libsysbase/libsysbase_libsysbase_a-wait.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-wait.o `test -f 'libsysbase/wait.c' || echo '$(srcdir)/'`libsysbase/wait.c ++ ++libsysbase/libsysbase_libsysbase_a-wait.obj: libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-wait.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo -c -o libsysbase/libsysbase_libsysbase_a-wait.obj `if test -f 'libsysbase/wait.c'; then $(CYGPATH_W) 'libsysbase/wait.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/wait.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/wait.c' object='libsysbase/libsysbase_libsysbase_a-wait.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-wait.obj `if test -f 'libsysbase/wait.c'; then $(CYGPATH_W) 'libsysbase/wait.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/wait.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-write.o: libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-write.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo -c -o libsysbase/libsysbase_libsysbase_a-write.o `test -f 'libsysbase/write.c' || echo '$(srcdir)/'`libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/write.c' object='libsysbase/libsysbase_libsysbase_a-write.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-write.o `test -f 'libsysbase/write.c' || echo '$(srcdir)/'`libsysbase/write.c ++ ++libsysbase/libsysbase_libsysbase_a-write.obj: libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-write.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo -c -o libsysbase/libsysbase_libsysbase_a-write.obj `if test -f 'libsysbase/write.c'; then $(CYGPATH_W) 'libsysbase/write.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/write.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/write.c' object='libsysbase/libsysbase_libsysbase_a-write.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-write.obj `if test -f 'libsysbase/write.c'; then $(CYGPATH_W) 'libsysbase/write.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/write.c'; fi` ++ + nios2/nios2_libnios2_a-io-close.o: nios2/io-close.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(nios2_libnios2_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nios2/nios2_libnios2_a-io-close.o -MD -MP -MF nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo -c -o nios2/nios2_libnios2_a-io-close.o `test -f 'nios2/io-close.c' || echo '$(srcdir)/'`nios2/io-close.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Po +@@ -4220,6 +5223,8 @@ distclean-generic: + -rm -f iq2000/$(am__dirstamp) + -rm -f libnosys/$(DEPDIR)/$(am__dirstamp) + -rm -f libnosys/$(am__dirstamp) ++ -rm -f libsysbase/$(DEPDIR)/$(am__dirstamp) ++ -rm -f libsysbase/$(am__dirstamp) + -rm -f lm32/$(DEPDIR)/$(am__dirstamp) + -rm -f lm32/$(am__dirstamp) + -rm -f nios2/$(DEPDIR)/$(am__dirstamp) +@@ -4239,7 +5244,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ + + distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) +- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) ++ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-local distclean-tags +@@ -4382,7 +5387,7 @@ installcheck-am: + maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache +- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) ++ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-aminfo \ + maintainer-clean-generic maintainer-clean-local +diff --git a/libgloss/configure b/libgloss/configure +index 28754b6d5..2e04092ab 100755 +--- a/libgloss/configure ++++ b/libgloss/configure +@@ -638,6 +638,8 @@ CONFIG_NIOS2_FALSE + CONFIG_NIOS2_TRUE + CONFIG_LM32_FALSE + CONFIG_LM32_TRUE ++CONFIG_LIBSYSBASE_FALSE ++CONFIG_LIBSYSBASE_TRUE + CONFIG_LIBNOSYS_FALSE + CONFIG_LIBNOSYS_TRUE + CONFIG_IQ2000_FALSE +@@ -722,6 +724,7 @@ infodir + docdir + oldincludedir + includedir ++runstatedir + localstatedir + sharedstatedir + sysconfdir +@@ -800,6 +803,7 @@ datadir='${datarootdir}' + sysconfdir='${prefix}/etc' + sharedstatedir='${prefix}/com' + localstatedir='${prefix}/var' ++runstatedir='${localstatedir}/run' + includedir='${prefix}/include' + oldincludedir='/usr/include' + docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +@@ -1052,6 +1056,15 @@ do + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + ++ -runstatedir | --runstatedir | --runstatedi | --runstated \ ++ | --runstate | --runstat | --runsta | --runst | --runs \ ++ | --run | --ru | --r) ++ ac_prev=runstatedir ;; ++ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ ++ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ ++ | --run=* | --ru=* | --r=*) ++ runstatedir=$ac_optarg ;; ++ + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ +@@ -1189,7 +1202,7 @@ fi + for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ +- libdir localedir mandir ++ libdir localedir mandir runstatedir + do + eval ac_val=\$$ac_var + # Remove trailing slashes. +@@ -1342,6 +1355,7 @@ Fine tuning of the installation directories: + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] +@@ -2745,6 +2759,8 @@ config_testsuite=true + + config_libnosys=true + ++config_libsysbase=true ++ + host_makefile_frag=${srcdir}/config/default.mh + target_makefile_frag=${srcdir}/config/default.mt + +@@ -3047,6 +3063,14 @@ else + CONFIG_LIBNOSYS_FALSE= + fi + ++ if test x$config_libsysbase = xtrue; then ++ CONFIG_LIBSYSBASE_TRUE= ++ CONFIG_LIBSYSBASE_FALSE='#' ++else ++ CONFIG_LIBSYSBASE_TRUE='#' ++ CONFIG_LIBSYSBASE_FALSE= ++fi ++ + if test x$config_lm32 = xtrue; then + CONFIG_LM32_TRUE= + CONFIG_LM32_FALSE='#' +@@ -4924,6 +4948,35 @@ case "${target}" in + esac + + ++case "${target}" in ++ *-*-cygwin*) ;; ++ a29k-amd-udi) ;; ++ aarch64*-*-*) ;; ++ arc-*-*) ;; ++ arm*-*-*) ;; ++ bfin-*-*) ;; ++ cris-*-* | crisv32-*-*) ;; ++ d10v*) ;; ++ h8300*-*-*) ;; ++ h8500-*-*) ;; ++ i345686-*-sco*) ;; ++ lm32-*-*) ;; ++ m32r-*-*) ;; ++ mn10?00-*-*) ;; ++ riscv*-*-*) ;; ++ powerpcle-*-pe) ;; ++ sh*-*-*) ;; ++ sparc-sun-sunos*) ;; ++ sparc64-*-*) ;; ++ v850*-*-*) ;; ++ w65-*-*) ;; ++ xstormy16-*-*) ;; ++ z8k-*-*) ;; ++ *) ++$as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h ++ ;; ++esac ++ + case "${target}" in + *-*-cygwin*) ;; + a29k-amd-udi) ;; +@@ -5331,6 +5384,10 @@ if test -z "${CONFIG_LIBNOSYS_TRUE}" && test -z "${CONFIG_LIBNOSYS_FALSE}"; then + as_fn_error $? "conditional \"CONFIG_LIBNOSYS\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 + fi ++if test -z "${CONFIG_LIBSYSBASE_TRUE}" && test -z "${CONFIG_LIBSYSBASE_FALSE}"; then ++ as_fn_error $? "conditional \"CONFIG_LIBSYSBASE\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi + if test -z "${CONFIG_LM32_TRUE}" && test -z "${CONFIG_LM32_FALSE}"; then + as_fn_error $? "conditional \"CONFIG_LM32\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 +diff --git a/libgloss/configure.ac b/libgloss/configure.ac +index 5fb26845c..cf07fb118 100644 +--- a/libgloss/configure.ac ++++ b/libgloss/configure.ac +@@ -43,6 +43,9 @@ config_testsuite=true + dnl indicates whether to run configure within the libnosys subdirectory + config_libnosys=true + ++dnl indicates whether to run configure within the libsysbase subdirectory ++config_libsysbase=true ++ + host_makefile_frag=${srcdir}/config/default.mh + target_makefile_frag=${srcdir}/config/default.mt + +@@ -247,7 +250,7 @@ AC_SUBST(subdirs) + dnl These subdirs have converted to non-recursive make. Hopefully someday all + dnl the ports above will too! + m4_foreach_w([SUBDIR], [ +- aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 nios2 riscv wince ++ aarch64 arc arm bfin csky d30v iq2000 libnosys libsysbase lm32 nios2 riscv wince + ], [dnl + AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue) + ]) +@@ -343,6 +346,7 @@ m4_include([aarch64/acinclude.m4]) + m4_include([arm/acinclude.m4]) + m4_include([i386/acinclude.m4]) + m4_include([libnosys/acinclude.m4]) ++m4_include([libsysbase/acinclude.m4]) + m4_include([m68k/acinclude.m4]) + m4_include([mcore/acinclude.m4]) + m4_include([mips/acinclude.m4]) +diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc +new file mode 100644 +index 000000000..7d4398d6a +--- /dev/null ++++ b/libgloss/libsysbase/Makefile.inc +@@ -0,0 +1,61 @@ ++multilibtool_DATA += %D%/sysbase.specs ++ ++multilibtool_LIBRARIES += %D%/libpthread.a ++ ++%C%_libpthread_a_SOURCES = \ ++ %D%/dummy.c ++ ++multilibtool_LIBRARIES += %D%/libsysbase.a ++ ++ ++%C%_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE ++ ++%C%_libsysbase_a_SOURCES = \ ++ %D%/_exit.c \ ++ %D%/abort.c \ ++ %D%/build_argv.c \ ++ %D%/chdir.c \ ++ %D%/chmod.c \ ++ %D%/clocks.c \ ++ %D%/dirent.c \ ++ %D%/environ.c \ ++ %D%/execve.c \ ++ %D%/fchmod.c \ ++ %D%/flock.c \ ++ %D%/fnmatch.c \ ++ %D%/fork.c \ ++ %D%/fstat.c \ ++ %D%/fsync.c \ ++ %D%/ftruncate.c \ ++ %D%/getpid.c \ ++ %D%/getreent.c \ ++ %D%/gettod.c \ ++ %D%/handle_manager.c \ ++ %D%/iosupport.c \ ++ %D%/isatty.c \ ++ %D%/kill.c \ ++ %D%/link.c \ ++ %D%/lseek.c \ ++ %D%/lstat.c \ ++ %D%/malloc_vars.c \ ++ %D%/mkdir.c \ ++ %D%/pthread.c \ ++ %D%/nanosleep.c \ ++ %D%/open.c \ ++ %D%/pathconf.c \ ++ %D%/read.c \ ++ %D%/rename.c \ ++ %D%/rmdir.c \ ++ %D%/sbrk.c \ ++ %D%/scandir.c \ ++ %D%/sleep.c \ ++ %D%/stat.c \ ++ %D%/statvfs.c \ ++ %D%/syscall_support.c \ ++ %D%/times.c \ ++ %D%/truncate.c \ ++ %D%/unlink.c \ ++ %D%/usleep.c \ ++ %D%/utime.c \ ++ %D%/wait.c \ ++ %D%/write.c +diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c +new file mode 100644 +index 000000000..a45723f84 +--- /dev/null ++++ b/libgloss/libsysbase/_exit.c +@@ -0,0 +1,16 @@ ++/* Stub version of _exit. */ ++ ++#include ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++void _exit(int rc) ++{ ++ if ( __has_syscall(exit) ) { ++ __syscall_exit(rc); ++ } ++ ++ while(1); ++} +diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c +new file mode 100644 +index 000000000..9272e22c9 +--- /dev/null ++++ b/libgloss/libsysbase/abort.c +@@ -0,0 +1,8 @@ ++#include ++#include ++ ++void abort(void) { ++ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); ++ _exit (1); ++} ++ +diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h +new file mode 100644 +index 000000000..200ea7873 +--- /dev/null ++++ b/libgloss/libsysbase/acconfig.h +@@ -0,0 +1,29 @@ ++/* Name of package. */ ++#undef PACKAGE ++ ++/* Version of package. */ ++#undef VERSION ++ ++/* Missing syscall names */ ++#undef MISSING_SYSCALL_NAMES ++ ++/* Reentrant syscalls */ ++#undef REENTRANT_SYSCALLS_PROVIDED ++ ++/* Using ELF format */ ++#undef HAVE_ELF ++ ++/* Using GNU LD */ ++#undef HAVE_GNU_LD ++ ++/* .previous directive allowed */ ++#undef HAVE_ASM_PREVIOUS_DIRECTIVE ++ ++/* .pushsection/.popsection directives allowed */ ++#undef HAVE_ASM_POPSECTION_DIRECTIVE ++ ++/* support for section attributes */ ++#undef HAVE_SECTION_ATTRIBUTES ++ ++/* symbol prefix */ ++#undef __SYMBOL_PREFIX +diff --git a/libgloss/libsysbase/acinclude.m4 b/libgloss/libsysbase/acinclude.m4 +new file mode 100644 +index 000000000..7b0d7b4d6 +--- /dev/null ++++ b/libgloss/libsysbase/acinclude.m4 +@@ -0,0 +1,27 @@ ++dnl Make sure syscall names match those being used by newlib ++case "${target}" in ++ *-*-cygwin*) ;; ++ a29k-amd-udi) ;; ++ aarch64*-*-*) ;; ++ arc-*-*) ;; ++ arm*-*-*) ;; ++ bfin-*-*) ;; ++ cris-*-* | crisv32-*-*) ;; ++ d10v*) ;; ++ h8300*-*-*) ;; ++ h8500-*-*) ;; ++ i[3456]86-*-sco*) ;; ++ lm32-*-*) ;; ++ m32r-*-*) ;; ++ mn10?00-*-*) ;; ++ riscv*-*-*) ;; ++ powerpcle-*-pe) ;; ++ sh*-*-*) ;; ++ sparc-sun-sunos*) ;; ++ sparc64-*-*) ;; ++ v850*-*-*) ;; ++ w65-*-*) ;; ++ xstormy16-*-*) ;; ++ z8k-*-*) ;; ++ *) AC_DEFINE(MISSING_SYSCALL_NAMES, 1, [Missing syscall names]) ;; ++esac +diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c +new file mode 100644 +index 000000000..0697f53d2 +--- /dev/null ++++ b/libgloss/libsysbase/build_argv.c +@@ -0,0 +1,32 @@ ++struct __argv { ++ int argvMagic; ++ char *commandLine; ++ int length; ++ int argc; ++ char **argv; ++ char **endARGV; ++}; ++ ++ ++void build_argv (struct __argv* argstruct ) { ++ ++ char *data = argstruct->commandLine; ++ int len = argstruct->length; ++ ++ char** argv = (char**)(((int)data + len + sizeof(char **)) & ~(sizeof(char **)-1)); ++ char* end = data + len - 1; ++ int argCount = 0; ++ ++ do { ++ argv[argCount++] = data; // Add next arg to argv list ++ while (*(data) && data < end) data++; // Move to next NULL delimiter ++ data++; // Move to one after the NULL delimiter ++ } while (data < end); ++ ++ *end = '\0'; // Force NULL terminator for last arg ++ argv[argCount] = 0; // Force NULL terminator for argv ++ ++ argstruct->argv = argv; ++ argstruct->argc = argCount; ++ argstruct->endARGV = &argv[argCount + 1]; ++} +diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c +new file mode 100644 +index 000000000..b94f6a8b4 +--- /dev/null ++++ b/libgloss/libsysbase/chdir.c +@@ -0,0 +1,200 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* CWD always start with "/" */ ++static char _current_working_directory [PATH_MAX] = "/"; ++static char temp_cwd [PATH_MAX]; ++ ++#define DIRECTORY_SEPARATOR_CHAR '/' ++const char DIRECTORY_SEPARATOR[] = "/"; ++const char DIRECTORY_THIS[] = "."; ++const char DIRECTORY_PARENT[] = ".."; ++ ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; ++ ++ pathLength = strnlen (path, maxLength); ++ ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } ++ ++ extraEnd = extra; ++ ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } ++ ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } ++ ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } ++ ++ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) ++ { ++ /* Don't copy anything */ ++ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) ++ { ++ /* Go up one level of in the path */ ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { ++ // Remove trailing separator ++ pathEnd[-1] = '\0'; ++ } ++ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); ++ if (pathEnd == NULL) { ++ /* Can't go up any higher, return false */ ++ r->_errno = ENOENT; ++ return -1; ++ } ++ pathLength = pathEnd - path; ++ pathEnd += 1; ++ } else { ++ pathLength += extraSize; ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ /* Copy the next part over */ ++ strncpy (pathEnd, extra, extraSize); ++ pathEnd += extraSize; ++ } ++ pathEnd[0] = '\0'; ++ extra += extraSize; ++ } while (extraSize != 0); ++ ++ if (strlen(path) > 2 ) { ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') ++ pathEnd[-1] = '\0'; ++ } ++ ++ return 0; ++} ++ ++int chdir (const char *path) { ++ struct _reent *r = _REENT; ++ ++ int dev; ++ const char *pathPosition; ++ ++ /* Make sure the path is short enough */ ++ if (strnlen (path, PATH_MAX) >= PATH_MAX) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ ++ if (strchr (path, ':') != NULL) { ++ strncpy (temp_cwd, path, PATH_MAX); ++ /* Move path past device name */ ++ path = strchr (path, ':') + 1; ++ } else { ++ strncpy (temp_cwd, _current_working_directory, PATH_MAX); ++ } ++ ++ pathPosition = strchr (temp_cwd , ':'); ++ ++ if (pathPosition == NULL) { ++ pathPosition = temp_cwd; ++ } else { ++ pathPosition++; ++ } ++ ++ /* Make sure the path starts in the root directory */ ++ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { ++ r->_errno = ENOENT; ++ return -1; ++ } ++ ++ /* Concatenate the path to the CWD */ ++ if (_concatenate_path (r, temp_cwd, path, PATH_MAX) == -1) { ++ return -1; ++ } ++ ++ /* Get device from path name */ ++ dev = FindDevice(temp_cwd); ++ ++ if (dev < 0) { ++ r->_errno = ENODEV; ++ return -1; ++ } ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ if ( devoptab_list[dev]->chdir_r == NULL) { ++ r->_errno = ENOSYS; ++ return -1; ++ } ++ ++ /* Try changing directories on the device */ ++ if (devoptab_list[dev]->chdir_r (r, temp_cwd) == -1) { ++ return -1; ++ } ++ ++ /* Since it worked, set the new CWD and default device */ ++ setDefaultDevice(dev); ++ strncpy (_current_working_directory, temp_cwd, PATH_MAX); ++ ++ return 0; ++} ++ ++char *getcwd(char *buf, size_t size) { ++ ++ struct _reent *r = _REENT; ++ ++ if (size == 0) { ++ if (buf != NULL) { ++ r->_errno = EINVAL; ++ return NULL; ++ } ++ buf = malloc(PATH_MAX); ++ size = PATH_MAX; ++ } ++ ++ if (buf == NULL) { ++ r->_errno = EINVAL; ++ return NULL; ++ } ++ ++ if ( size < (strnlen (_current_working_directory, PATH_MAX) + 1)) { ++ r->_errno = ERANGE; ++ return NULL; ++ } ++ ++ strncpy (buf, _current_working_directory, size); ++ ++ return buf; ++} +diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c +new file mode 100644 +index 000000000..3c4c60b7c +--- /dev/null ++++ b/libgloss/libsysbase/chmod.c +@@ -0,0 +1,29 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++int chmod(const char *path, mode_t mode) { ++ int ret=-1,dev; ++ struct _reent *r = _REENT; ++ ++ /* Get device from path name */ ++ dev = FindDevice(path); ++ ++ if (dev < 0) { ++ r->_errno = ENODEV; ++ } else { ++ if (devoptab_list[dev]->chmod_r == NULL) { ++ r->_errno=ENOSYS; ++ } else { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->chmod_r(r,path,mode); ++ } ++ } ++ ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c +new file mode 100644 +index 000000000..b36b5c079 +--- /dev/null ++++ b/libgloss/libsysbase/clocks.c +@@ -0,0 +1,34 @@ ++#include ++#include ++#include ++ ++int clock_gettime(clockid_t clock_id, struct timespec *tp) ++{ ++ if ( __has_syscall(clock_gettime) ) { ++ return __syscall_clock_gettime(clock_id, tp); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ ++int clock_settime(clockid_t clock_id, const struct timespec *tp) ++{ ++ if ( __has_syscall(clock_settime) ) { ++ return __syscall_clock_settime(clock_id, tp); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ ++int clock_getres (clockid_t clock_id, struct timespec *res) ++{ ++ if ( __has_syscall(clock_getres) ) { ++ return __syscall_clock_getres(clock_id, res); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ +diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in +new file mode 100644 +index 000000000..48ce950b4 +--- /dev/null ++++ b/libgloss/libsysbase/config.h.in +@@ -0,0 +1,25 @@ ++/* config.h.in. Generated automatically from configure.in by autoheader. */ ++ ++/* Missing syscall names */ ++#undef MISSING_SYSCALL_NAMES ++ ++/* Reentrant syscalls */ ++#undef REENTRANT_SYSCALLS_PROVIDED ++ ++/* Using ELF format */ ++#undef HAVE_ELF ++ ++/* Using GNU LD */ ++#undef HAVE_GNU_LD ++ ++/* .previous directive allowed */ ++#undef HAVE_ASM_PREVIOUS_DIRECTIVE ++ ++/* .pushsection/.popsection directives allowed */ ++#undef HAVE_ASM_POPSECTION_DIRECTIVE ++ ++/* support for section attributes */ ++#undef HAVE_SECTION_ATTRIBUTES ++ ++/* symbol prefix */ ++#undef __SYMBOL_PREFIX +diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure +new file mode 100644 +index 000000000..be36ded12 +--- /dev/null ++++ b/libgloss/libsysbase/configure +@@ -0,0 +1,4162 @@ ++#! /bin/sh ++# Guess values for system-dependent variables and create Makefiles. ++# Generated by GNU Autoconf 2.69. ++# ++# ++# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. ++# ++# ++# This configure script is free software; the Free Software Foundation ++# gives unlimited permission to copy, distribute and modify it. ++## -------------------- ## ++## M4sh Initialization. ## ++## -------------------- ## ++ ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++ ++ ++as_nl=' ++' ++export as_nl ++# Printing a long string crashes Solaris 7 /usr/bin/printf. ++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo ++# Prefer a ksh shell builtin over an external printf program on Solaris, ++# but without wasting forks for bash or zsh. ++if test -z "$BASH_VERSION$ZSH_VERSION" \ ++ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='print -r --' ++ as_echo_n='print -rn --' ++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='printf %s\n' ++ as_echo_n='printf %s' ++else ++ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then ++ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' ++ as_echo_n='/usr/ucb/echo -n' ++ else ++ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' ++ as_echo_n_body='eval ++ arg=$1; ++ case $arg in #( ++ *"$as_nl"*) ++ expr "X$arg" : "X\\(.*\\)$as_nl"; ++ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; ++ esac; ++ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ++ ' ++ export as_echo_n_body ++ as_echo_n='sh -c $as_echo_n_body as_echo' ++ fi ++ export as_echo_body ++ as_echo='sh -c $as_echo_body as_echo' ++fi ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ PATH_SEPARATOR=: ++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { ++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || ++ PATH_SEPARATOR=';' ++ } ++fi ++ ++ ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++IFS=" "" $as_nl" ++ ++# Find who we are. Look in the path if we contain no directory separator. ++as_myself= ++case $0 in #(( ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++ done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ exit 1 ++fi ++ ++# Unset variables that we do not need and which cause bugs (e.g. in ++# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" ++# suppresses any "Segmentation fault" message there. '((' could ++# trigger a bug in pdksh 5.2.14. ++for as_var in BASH_ENV ENV MAIL MAILPATH ++do eval test x\${$as_var+set} = xset \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# CDPATH. ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH ++ ++# Use a proper internal environment variable to ensure we don't fall ++ # into an infinite loop, continuously re-executing ourselves. ++ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then ++ _as_can_reexec=no; export _as_can_reexec; ++ # We cannot yet assume a decent shell, so we have to provide a ++# neutralization value for shells without unset; and this also ++# works around shells that cannot unset nonexistent variables. ++# Preserve -v and -x to the replacement shell. ++BASH_ENV=/dev/null ++ENV=/dev/null ++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV ++case $- in # (((( ++ *v*x* | *x*v* ) as_opts=-vx ;; ++ *v* ) as_opts=-v ;; ++ *x* ) as_opts=-x ;; ++ * ) as_opts= ;; ++esac ++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} ++# Admittedly, this is quite paranoid, since all the known shells bail ++# out after a failed `exec'. ++$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 ++as_fn_exit 255 ++ fi ++ # We don't want this to propagate to other subprocesses. ++ { _as_can_reexec=; unset _as_can_reexec;} ++if test "x$CONFIG_SHELL" = x; then ++ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '\${1+\"\$@\"}'='\"\$@\"' ++ setopt NO_GLOB_SUBST ++else ++ case \`(set -o) 2>/dev/null\` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++" ++ as_required="as_fn_return () { (exit \$1); } ++as_fn_success () { as_fn_return 0; } ++as_fn_failure () { as_fn_return 1; } ++as_fn_ret_success () { return 0; } ++as_fn_ret_failure () { return 1; } ++ ++exitcode=0 ++as_fn_success || { exitcode=1; echo as_fn_success failed.; } ++as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } ++as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } ++as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } ++if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : ++ ++else ++ exitcode=1; echo positional parameters were not saved. ++fi ++test x\$exitcode = x0 || exit 1 ++test -x / || exit 1" ++ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO ++ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO ++ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && ++ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" ++ if (eval "$as_required") 2>/dev/null; then : ++ as_have_required=yes ++else ++ as_have_required=no ++fi ++ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : ++ ++else ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_found=false ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ as_found=: ++ case $as_dir in #( ++ /*) ++ for as_base in sh bash ksh sh5; do ++ # Try only shells that exist, to save several forks. ++ as_shell=$as_dir/$as_base ++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && ++ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : ++ CONFIG_SHELL=$as_shell as_have_required=yes ++ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : ++ break 2 ++fi ++fi ++ done;; ++ esac ++ as_found=false ++done ++$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && ++ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : ++ CONFIG_SHELL=$SHELL as_have_required=yes ++fi; } ++IFS=$as_save_IFS ++ ++ ++ if test "x$CONFIG_SHELL" != x; then : ++ export CONFIG_SHELL ++ # We cannot yet assume a decent shell, so we have to provide a ++# neutralization value for shells without unset; and this also ++# works around shells that cannot unset nonexistent variables. ++# Preserve -v and -x to the replacement shell. ++BASH_ENV=/dev/null ++ENV=/dev/null ++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV ++case $- in # (((( ++ *v*x* | *x*v* ) as_opts=-vx ;; ++ *v* ) as_opts=-v ;; ++ *x* ) as_opts=-x ;; ++ * ) as_opts= ;; ++esac ++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} ++# Admittedly, this is quite paranoid, since all the known shells bail ++# out after a failed `exec'. ++$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 ++exit 255 ++fi ++ ++ if test x$as_have_required = xno; then : ++ $as_echo "$0: This script requires a shell more modern than all" ++ $as_echo "$0: the shells that I found on your system." ++ if test x${ZSH_VERSION+set} = xset ; then ++ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" ++ $as_echo "$0: be upgraded to zsh 4.3.4 or later." ++ else ++ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, ++$0: including any error possibly output before this ++$0: message. Then install a modern shell, or manually run ++$0: the script under such a shell if you do have one." ++ fi ++ exit 1 ++fi ++fi ++fi ++SHELL=${CONFIG_SHELL-/bin/sh} ++export SHELL ++# Unset more variables known to interfere with behavior of common tools. ++CLICOLOR_FORCE= GREP_OPTIONS= ++unset CLICOLOR_FORCE GREP_OPTIONS ++ ++## --------------------- ## ++## M4sh Shell Functions. ## ++## --------------------- ## ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset ++ ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status ++ ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit ++ ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ ++ ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" ++ ++ ++} # as_fn_mkdir_p ++ ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : ++ eval 'as_fn_append () ++ { ++ eval $1+=\$2 ++ }' ++else ++ as_fn_append () ++ { ++ eval $1=\$$1\$2 ++ } ++fi # as_fn_append ++ ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith ++ ++ ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ $as_echo "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error ++ ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++ ++ as_lineno_1=$LINENO as_lineno_1a=$LINENO ++ as_lineno_2=$LINENO as_lineno_2a=$LINENO ++ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && ++ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { ++ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) ++ sed -n ' ++ p ++ /[$]LINENO/= ++ ' <$as_myself | ++ sed ' ++ s/[$]LINENO.*/&-/ ++ t lineno ++ b ++ :lineno ++ N ++ :loop ++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ ++ t loop ++ s/-\n.*// ++ ' >$as_me.lineno && ++ chmod +x "$as_me.lineno" || ++ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } ++ ++ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have ++ # already done that, so ensure we don't try to do so again and fall ++ # in an infinite loop. This has already happened in practice. ++ _as_can_reexec=no; export _as_can_reexec ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensitive to this). ++ . "./$as_me.lineno" ++ # Exit status is that of the last command. ++ exit ++} ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null ++fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++ else ++ as_ln_s='cp -pR' ++ fi ++else ++ as_ln_s='cp -pR' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null ++ ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++ ++test -n "$DJDIR" || exec 7<&0 &1 ++ ++# Name of the host. ++# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, ++# so uname gets run too. ++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` ++ ++# ++# Initializations. ++# ++ac_default_prefix=/usr/local ++ac_clean_files= ++ac_config_libobj_dir=. ++LIBOBJS= ++cross_compiling=no ++subdirs= ++MFLAGS= ++MAKEFLAGS= ++ ++# Identity of this package. ++PACKAGE_NAME= ++PACKAGE_TARNAME= ++PACKAGE_VERSION= ++PACKAGE_STRING= ++PACKAGE_BUGREPORT= ++PACKAGE_URL= ++ ++ac_unique_file="abort.c" ++ac_subst_vars='LTLIBOBJS ++LIBOBJS ++host_makefile_frag_path ++CCASFLAGS ++CCAS ++RANLIB ++LD ++AR ++AS ++am__fastdepCC_FALSE ++am__fastdepCC_TRUE ++CCDEPMODE ++AMDEPBACKSLASH ++AMDEP_FALSE ++AMDEP_TRUE ++am__quote ++am__include ++DEPDIR ++am__leading_dot ++CC ++INSTALL_DATA ++INSTALL_SCRIPT ++INSTALL_PROGRAM ++target_os ++target_vendor ++target_cpu ++target ++host_os ++host_vendor ++host_cpu ++host ++build_os ++build_vendor ++build_cpu ++build ++target_alias ++host_alias ++build_alias ++LIBS ++ECHO_T ++ECHO_N ++ECHO_C ++DEFS ++mandir ++localedir ++libdir ++psdir ++pdfdir ++dvidir ++htmldir ++infodir ++docdir ++oldincludedir ++includedir ++localstatedir ++sharedstatedir ++sysconfdir ++datadir ++datarootdir ++libexecdir ++sbindir ++bindir ++program_transform_name ++prefix ++exec_prefix ++PACKAGE_URL ++PACKAGE_BUGREPORT ++PACKAGE_STRING ++PACKAGE_VERSION ++PACKAGE_TARNAME ++PACKAGE_NAME ++PATH_SEPARATOR ++SHELL' ++ac_subst_files='host_makefile_frag' ++ac_user_opts=' ++enable_option_checking ++enable_dependency_tracking ++' ++ ac_precious_vars='build_alias ++host_alias ++target_alias ++CCAS ++CCASFLAGS' ++ ++ ++# Initialize some variables set by options. ++ac_init_help= ++ac_init_version=false ++ac_unrecognized_opts= ++ac_unrecognized_sep= ++# The variables have the same names as the options, with ++# dashes changed to underlines. ++cache_file=/dev/null ++exec_prefix=NONE ++no_create= ++no_recursion= ++prefix=NONE ++program_prefix=NONE ++program_suffix=NONE ++program_transform_name=s,x,x, ++silent= ++site= ++srcdir= ++verbose= ++x_includes=NONE ++x_libraries=NONE ++ ++# Installation directory options. ++# These are left unexpanded so users can "make install exec_prefix=/foo" ++# and all the variables that are supposed to be based on exec_prefix ++# by default will actually change. ++# Use braces instead of parens because sh, perl, etc. also accept them. ++# (The list follows the same order as the GNU Coding Standards.) ++bindir='${exec_prefix}/bin' ++sbindir='${exec_prefix}/sbin' ++libexecdir='${exec_prefix}/libexec' ++datarootdir='${prefix}/share' ++datadir='${datarootdir}' ++sysconfdir='${prefix}/etc' ++sharedstatedir='${prefix}/com' ++localstatedir='${prefix}/var' ++includedir='${prefix}/include' ++oldincludedir='/usr/include' ++docdir='${datarootdir}/doc/${PACKAGE}' ++infodir='${datarootdir}/info' ++htmldir='${docdir}' ++dvidir='${docdir}' ++pdfdir='${docdir}' ++psdir='${docdir}' ++libdir='${exec_prefix}/lib' ++localedir='${datarootdir}/locale' ++mandir='${datarootdir}/man' ++ ++ac_prev= ++ac_dashdash= ++for ac_option ++do ++ # If the previous option needs an argument, assign it. ++ if test -n "$ac_prev"; then ++ eval $ac_prev=\$ac_option ++ ac_prev= ++ continue ++ fi ++ ++ case $ac_option in ++ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; ++ *=) ac_optarg= ;; ++ *) ac_optarg=yes ;; ++ esac ++ ++ # Accept the important Cygnus configure options, so we can diagnose typos. ++ ++ case $ac_dashdash$ac_option in ++ --) ++ ac_dashdash=yes ;; ++ ++ -bindir | --bindir | --bindi | --bind | --bin | --bi) ++ ac_prev=bindir ;; ++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) ++ bindir=$ac_optarg ;; ++ ++ -build | --build | --buil | --bui | --bu) ++ ac_prev=build_alias ;; ++ -build=* | --build=* | --buil=* | --bui=* | --bu=*) ++ build_alias=$ac_optarg ;; ++ ++ -cache-file | --cache-file | --cache-fil | --cache-fi \ ++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ++ ac_prev=cache_file ;; ++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ ++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) ++ cache_file=$ac_optarg ;; ++ ++ --config-cache | -C) ++ cache_file=config.cache ;; ++ ++ -datadir | --datadir | --datadi | --datad) ++ ac_prev=datadir ;; ++ -datadir=* | --datadir=* | --datadi=* | --datad=*) ++ datadir=$ac_optarg ;; ++ ++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ ++ | --dataroo | --dataro | --datar) ++ ac_prev=datarootdir ;; ++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ ++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) ++ datarootdir=$ac_optarg ;; ++ ++ -disable-* | --disable-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid feature name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"enable_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval enable_$ac_useropt=no ;; ++ ++ -docdir | --docdir | --docdi | --doc | --do) ++ ac_prev=docdir ;; ++ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) ++ docdir=$ac_optarg ;; ++ ++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ++ ac_prev=dvidir ;; ++ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) ++ dvidir=$ac_optarg ;; ++ ++ -enable-* | --enable-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid feature name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"enable_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval enable_$ac_useropt=\$ac_optarg ;; ++ ++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ ++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ ++ | --exec | --exe | --ex) ++ ac_prev=exec_prefix ;; ++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ ++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ ++ | --exec=* | --exe=* | --ex=*) ++ exec_prefix=$ac_optarg ;; ++ ++ -gas | --gas | --ga | --g) ++ # Obsolete; use --with-gas. ++ with_gas=yes ;; ++ ++ -help | --help | --hel | --he | -h) ++ ac_init_help=long ;; ++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ++ ac_init_help=recursive ;; ++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ++ ac_init_help=short ;; ++ ++ -host | --host | --hos | --ho) ++ ac_prev=host_alias ;; ++ -host=* | --host=* | --hos=* | --ho=*) ++ host_alias=$ac_optarg ;; ++ ++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ++ ac_prev=htmldir ;; ++ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ ++ | --ht=*) ++ htmldir=$ac_optarg ;; ++ ++ -includedir | --includedir | --includedi | --included | --include \ ++ | --includ | --inclu | --incl | --inc) ++ ac_prev=includedir ;; ++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ ++ | --includ=* | --inclu=* | --incl=* | --inc=*) ++ includedir=$ac_optarg ;; ++ ++ -infodir | --infodir | --infodi | --infod | --info | --inf) ++ ac_prev=infodir ;; ++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) ++ infodir=$ac_optarg ;; ++ ++ -libdir | --libdir | --libdi | --libd) ++ ac_prev=libdir ;; ++ -libdir=* | --libdir=* | --libdi=* | --libd=*) ++ libdir=$ac_optarg ;; ++ ++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ ++ | --libexe | --libex | --libe) ++ ac_prev=libexecdir ;; ++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ ++ | --libexe=* | --libex=* | --libe=*) ++ libexecdir=$ac_optarg ;; ++ ++ -localedir | --localedir | --localedi | --localed | --locale) ++ ac_prev=localedir ;; ++ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) ++ localedir=$ac_optarg ;; ++ ++ -localstatedir | --localstatedir | --localstatedi | --localstated \ ++ | --localstate | --localstat | --localsta | --localst | --locals) ++ ac_prev=localstatedir ;; ++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ ++ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) ++ localstatedir=$ac_optarg ;; ++ ++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ++ ac_prev=mandir ;; ++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) ++ mandir=$ac_optarg ;; ++ ++ -nfp | --nfp | --nf) ++ # Obsolete; use --without-fp. ++ with_fp=no ;; ++ ++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ++ | --no-cr | --no-c | -n) ++ no_create=yes ;; ++ ++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ ++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ++ no_recursion=yes ;; ++ ++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ ++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ ++ | --oldin | --oldi | --old | --ol | --o) ++ ac_prev=oldincludedir ;; ++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ ++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ ++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) ++ oldincludedir=$ac_optarg ;; ++ ++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ++ ac_prev=prefix ;; ++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ++ prefix=$ac_optarg ;; ++ ++ -program-prefix | --program-prefix | --program-prefi | --program-pref \ ++ | --program-pre | --program-pr | --program-p) ++ ac_prev=program_prefix ;; ++ -program-prefix=* | --program-prefix=* | --program-prefi=* \ ++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) ++ program_prefix=$ac_optarg ;; ++ ++ -program-suffix | --program-suffix | --program-suffi | --program-suff \ ++ | --program-suf | --program-su | --program-s) ++ ac_prev=program_suffix ;; ++ -program-suffix=* | --program-suffix=* | --program-suffi=* \ ++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) ++ program_suffix=$ac_optarg ;; ++ ++ -program-transform-name | --program-transform-name \ ++ | --program-transform-nam | --program-transform-na \ ++ | --program-transform-n | --program-transform- \ ++ | --program-transform | --program-transfor \ ++ | --program-transfo | --program-transf \ ++ | --program-trans | --program-tran \ ++ | --progr-tra | --program-tr | --program-t) ++ ac_prev=program_transform_name ;; ++ -program-transform-name=* | --program-transform-name=* \ ++ | --program-transform-nam=* | --program-transform-na=* \ ++ | --program-transform-n=* | --program-transform-=* \ ++ | --program-transform=* | --program-transfor=* \ ++ | --program-transfo=* | --program-transf=* \ ++ | --program-trans=* | --program-tran=* \ ++ | --progr-tra=* | --program-tr=* | --program-t=*) ++ program_transform_name=$ac_optarg ;; ++ ++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ++ ac_prev=pdfdir ;; ++ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) ++ pdfdir=$ac_optarg ;; ++ ++ -psdir | --psdir | --psdi | --psd | --ps) ++ ac_prev=psdir ;; ++ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) ++ psdir=$ac_optarg ;; ++ ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ silent=yes ;; ++ ++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ++ ac_prev=sbindir ;; ++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ ++ | --sbi=* | --sb=*) ++ sbindir=$ac_optarg ;; ++ ++ -sharedstatedir | --sharedstatedir | --sharedstatedi \ ++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ ++ | --sharedst | --shareds | --shared | --share | --shar \ ++ | --sha | --sh) ++ ac_prev=sharedstatedir ;; ++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ ++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ ++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ ++ | --sha=* | --sh=*) ++ sharedstatedir=$ac_optarg ;; ++ ++ -site | --site | --sit) ++ ac_prev=site ;; ++ -site=* | --site=* | --sit=*) ++ site=$ac_optarg ;; ++ ++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ++ ac_prev=srcdir ;; ++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ++ srcdir=$ac_optarg ;; ++ ++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ ++ | --syscon | --sysco | --sysc | --sys | --sy) ++ ac_prev=sysconfdir ;; ++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ ++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) ++ sysconfdir=$ac_optarg ;; ++ ++ -target | --target | --targe | --targ | --tar | --ta | --t) ++ ac_prev=target_alias ;; ++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) ++ target_alias=$ac_optarg ;; ++ ++ -v | -verbose | --verbose | --verbos | --verbo | --verb) ++ verbose=yes ;; ++ ++ -version | --version | --versio | --versi | --vers | -V) ++ ac_init_version=: ;; ++ ++ -with-* | --with-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid package name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"with_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval with_$ac_useropt=\$ac_optarg ;; ++ ++ -without-* | --without-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid package name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"with_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval with_$ac_useropt=no ;; ++ ++ --x) ++ # Obsolete; use --with-x. ++ with_x=yes ;; ++ ++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ ++ | --x-incl | --x-inc | --x-in | --x-i) ++ ac_prev=x_includes ;; ++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ ++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) ++ x_includes=$ac_optarg ;; ++ ++ -x-libraries | --x-libraries | --x-librarie | --x-librari \ ++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ++ ac_prev=x_libraries ;; ++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ ++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) ++ x_libraries=$ac_optarg ;; ++ ++ -*) as_fn_error $? "unrecognized option: \`$ac_option' ++Try \`$0 --help' for more information" ++ ;; ++ ++ *=*) ++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` ++ # Reject names that are not valid shell variable names. ++ case $ac_envvar in #( ++ '' | [0-9]* | *[!_$as_cr_alnum]* ) ++ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; ++ esac ++ eval $ac_envvar=\$ac_optarg ++ export $ac_envvar ;; ++ ++ *) ++ # FIXME: should be removed in autoconf 3.0. ++ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 ++ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ++ ;; ++ ++ esac ++done ++ ++if test -n "$ac_prev"; then ++ ac_option=--`echo $ac_prev | sed 's/_/-/g'` ++ as_fn_error $? "missing argument to $ac_option" ++fi ++ ++if test -n "$ac_unrecognized_opts"; then ++ case $enable_option_checking in ++ no) ;; ++ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; ++ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; ++ esac ++fi ++ ++# Check all directory arguments for consistency. ++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ ++ datadir sysconfdir sharedstatedir localstatedir includedir \ ++ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ ++ libdir localedir mandir ++do ++ eval ac_val=\$$ac_var ++ # Remove trailing slashes. ++ case $ac_val in ++ */ ) ++ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` ++ eval $ac_var=\$ac_val;; ++ esac ++ # Be sure to have absolute directory names. ++ case $ac_val in ++ [\\/$]* | ?:[\\/]* ) continue;; ++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; ++ esac ++ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" ++done ++ ++# There might be people who depend on the old broken behavior: `$host' ++# used to hold the argument of --host etc. ++# FIXME: To remove some day. ++build=$build_alias ++host=$host_alias ++target=$target_alias ++ ++# FIXME: To remove some day. ++if test "x$host_alias" != x; then ++ if test "x$build_alias" = x; then ++ cross_compiling=maybe ++ elif test "x$build_alias" != "x$host_alias"; then ++ cross_compiling=yes ++ fi ++fi ++ ++ac_tool_prefix= ++test -n "$host_alias" && ac_tool_prefix=$host_alias- ++ ++test "$silent" = yes && exec 6>/dev/null ++ ++ ++ac_pwd=`pwd` && test -n "$ac_pwd" && ++ac_ls_di=`ls -di .` && ++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || ++ as_fn_error $? "working directory cannot be determined" ++test "X$ac_ls_di" = "X$ac_pwd_ls_di" || ++ as_fn_error $? "pwd does not report name of working directory" ++ ++ ++# Find the source files, if location was not specified. ++if test -z "$srcdir"; then ++ ac_srcdir_defaulted=yes ++ # Try the directory containing this script, then the parent directory. ++ ac_confdir=`$as_dirname -- "$as_myself" || ++$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_myself" : 'X\(//\)[^/]' \| \ ++ X"$as_myself" : 'X\(//\)$' \| \ ++ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_myself" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ srcdir=$ac_confdir ++ if test ! -r "$srcdir/$ac_unique_file"; then ++ srcdir=.. ++ fi ++else ++ ac_srcdir_defaulted=no ++fi ++if test ! -r "$srcdir/$ac_unique_file"; then ++ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." ++ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" ++fi ++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ++ac_abs_confdir=`( ++ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" ++ pwd)` ++# When building in place, set srcdir=. ++if test "$ac_abs_confdir" = "$ac_pwd"; then ++ srcdir=. ++fi ++# Remove unnecessary trailing slashes from srcdir. ++# Double slashes in file names in object file debugging info ++# mess up M-x gdb in Emacs. ++case $srcdir in ++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; ++esac ++for ac_var in $ac_precious_vars; do ++ eval ac_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_env_${ac_var}_value=\$${ac_var} ++ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_cv_env_${ac_var}_value=\$${ac_var} ++done ++ ++# ++# Report the --help message. ++# ++if test "$ac_init_help" = "long"; then ++ # Omit some internal or obsolete options to make the list less imposing. ++ # This message is too long to be a string in the A/UX 3.1 sh. ++ cat <<_ACEOF ++\`configure' configures this package to adapt to many kinds of systems. ++ ++Usage: $0 [OPTION]... [VAR=VALUE]... ++ ++To assign environment variables (e.g., CC, CFLAGS...), specify them as ++VAR=VALUE. See below for descriptions of some of the useful variables. ++ ++Defaults for the options are specified in brackets. ++ ++Configuration: ++ -h, --help display this help and exit ++ --help=short display options specific to this package ++ --help=recursive display the short help of all the included packages ++ -V, --version display version information and exit ++ -q, --quiet, --silent do not print \`checking ...' messages ++ --cache-file=FILE cache test results in FILE [disabled] ++ -C, --config-cache alias for \`--cache-file=config.cache' ++ -n, --no-create do not create output files ++ --srcdir=DIR find the sources in DIR [configure dir or \`..'] ++ ++Installation directories: ++ --prefix=PREFIX install architecture-independent files in PREFIX ++ [$ac_default_prefix] ++ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX ++ [PREFIX] ++ ++By default, \`make install' will install all the files in ++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify ++an installation prefix other than \`$ac_default_prefix' using \`--prefix', ++for instance \`--prefix=\$HOME'. ++ ++For better control, use the options below. ++ ++Fine tuning of the installation directories: ++ --bindir=DIR user executables [EPREFIX/bin] ++ --sbindir=DIR system admin executables [EPREFIX/sbin] ++ --libexecdir=DIR program executables [EPREFIX/libexec] ++ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] ++ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] ++ --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --libdir=DIR object code libraries [EPREFIX/lib] ++ --includedir=DIR C header files [PREFIX/include] ++ --oldincludedir=DIR C header files for non-gcc [/usr/include] ++ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] ++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] ++ --infodir=DIR info documentation [DATAROOTDIR/info] ++ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] ++ --mandir=DIR man documentation [DATAROOTDIR/man] ++ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] ++ --htmldir=DIR html documentation [DOCDIR] ++ --dvidir=DIR dvi documentation [DOCDIR] ++ --pdfdir=DIR pdf documentation [DOCDIR] ++ --psdir=DIR ps documentation [DOCDIR] ++_ACEOF ++ ++ cat <<\_ACEOF ++ ++Program names: ++ --program-prefix=PREFIX prepend PREFIX to installed program names ++ --program-suffix=SUFFIX append SUFFIX to installed program names ++ --program-transform-name=PROGRAM run sed PROGRAM on installed program names ++ ++System types: ++ --build=BUILD configure for building on BUILD [guessed] ++ --host=HOST cross-compile to build programs to run on HOST [BUILD] ++ --target=TARGET configure for building compilers for TARGET [HOST] ++_ACEOF ++fi ++ ++if test -n "$ac_init_help"; then ++ ++ cat <<\_ACEOF ++ ++Optional Features: ++ --disable-option-checking ignore unrecognized --enable/--with options ++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) ++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] ++ --disable-dependency-tracking speeds up one-time build ++ --enable-dependency-tracking do not reject slow dependency extractors ++ ++Some influential environment variables: ++ CCAS assembler compiler command (defaults to CC) ++ CCASFLAGS assembler compiler flags (defaults to CFLAGS) ++ ++Use these variables to override the choices made by `configure' or to help ++it to find libraries and programs with nonstandard names/locations. ++ ++Report bugs to the package provider. ++_ACEOF ++ac_status=$? ++fi ++ ++if test "$ac_init_help" = "recursive"; then ++ # If there are subdirs, report their specific --help. ++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue ++ test -d "$ac_dir" || ++ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || ++ continue ++ ac_builddir=. ++ ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix ++ ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ cd "$ac_dir" || { ac_status=$?; continue; } ++ # Check for guested configure. ++ if test -f "$ac_srcdir/configure.gnu"; then ++ echo && ++ $SHELL "$ac_srcdir/configure.gnu" --help=recursive ++ elif test -f "$ac_srcdir/configure"; then ++ echo && ++ $SHELL "$ac_srcdir/configure" --help=recursive ++ else ++ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ fi || ac_status=$? ++ cd "$ac_pwd" || { ac_status=$?; break; } ++ done ++fi ++ ++test -n "$ac_init_help" && exit $ac_status ++if $ac_init_version; then ++ cat <<\_ACEOF ++configure ++generated by GNU Autoconf 2.69 ++ ++Copyright (C) 2012 Free Software Foundation, Inc. ++This configure script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it. ++_ACEOF ++ exit ++fi ++ ++## ------------------------ ## ++## Autoconf initialization. ## ++## ------------------------ ## ++ ++# ac_fn_c_try_compile LINENO ++# -------------------------- ++# Try to compile conftest.$ac_ext, and return whether this succeeded. ++ac_fn_c_try_compile () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ rm -f conftest.$ac_objext ++ if { { ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" ++$as_echo "$ac_try_echo"; } >&5 ++ (eval "$ac_compile") 2>conftest.err ++ ac_status=$? ++ if test -s conftest.err; then ++ grep -v '^ *+' conftest.err >conftest.er1 ++ cat conftest.er1 >&5 ++ mv -f conftest.er1 conftest.err ++ fi ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then : ++ ac_retval=0 ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_retval=1 ++fi ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ as_fn_set_status $ac_retval ++ ++} # ac_fn_c_try_compile ++cat >config.log <<_ACEOF ++This file contains any messages produced by compilers while ++running configure, to aid debugging if configure makes a mistake. ++ ++It was created by $as_me, which was ++generated by GNU Autoconf 2.69. Invocation command line was ++ ++ $ $0 $@ ++ ++_ACEOF ++exec 5>>config.log ++{ ++cat <<_ASUNAME ++## --------- ## ++## Platform. ## ++## --------- ## ++ ++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` ++uname -m = `(uname -m) 2>/dev/null || echo unknown` ++uname -r = `(uname -r) 2>/dev/null || echo unknown` ++uname -s = `(uname -s) 2>/dev/null || echo unknown` ++uname -v = `(uname -v) 2>/dev/null || echo unknown` ++ ++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` ++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` ++ ++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` ++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` ++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` ++/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` ++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` ++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` ++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` ++ ++_ASUNAME ++ ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ $as_echo "PATH: $as_dir" ++ done ++IFS=$as_save_IFS ++ ++} >&5 ++ ++cat >&5 <<_ACEOF ++ ++ ++## ----------- ## ++## Core tests. ## ++## ----------- ## ++ ++_ACEOF ++ ++ ++# Keep a trace of the command line. ++# Strip out --no-create and --no-recursion so they do not pile up. ++# Strip out --silent because we don't want to record it for future runs. ++# Also quote any args containing shell meta-characters. ++# Make two passes to allow for proper duplicate-argument suppression. ++ac_configure_args= ++ac_configure_args0= ++ac_configure_args1= ++ac_must_keep_next=false ++for ac_pass in 1 2 ++do ++ for ac_arg ++ do ++ case $ac_arg in ++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ continue ;; ++ *\'*) ++ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ case $ac_pass in ++ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; ++ 2) ++ as_fn_append ac_configure_args1 " '$ac_arg'" ++ if test $ac_must_keep_next = true; then ++ ac_must_keep_next=false # Got value, back to normal. ++ else ++ case $ac_arg in ++ *=* | --config-cache | -C | -disable-* | --disable-* \ ++ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ ++ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ ++ | -with-* | --with-* | -without-* | --without-* | --x) ++ case "$ac_configure_args0 " in ++ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; ++ esac ++ ;; ++ -* ) ac_must_keep_next=true ;; ++ esac ++ fi ++ as_fn_append ac_configure_args " '$ac_arg'" ++ ;; ++ esac ++ done ++done ++{ ac_configure_args0=; unset ac_configure_args0;} ++{ ac_configure_args1=; unset ac_configure_args1;} ++ ++# When interrupted or exit'd, cleanup temporary files, and complete ++# config.log. We remove comments because anyway the quotes in there ++# would cause problems or look ugly. ++# WARNING: Use '\'' to represent an apostrophe within the trap. ++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. ++trap 'exit_status=$? ++ # Save into config.log some information that might help in debugging. ++ { ++ echo ++ ++ $as_echo "## ---------------- ## ++## Cache variables. ## ++## ---------------- ##" ++ echo ++ # The following way of writing the cache mishandles newlines in values, ++( ++ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( ++ *) { eval $ac_var=; unset $ac_var;} ;; ++ esac ;; ++ esac ++ done ++ (set) 2>&1 | ++ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ sed -n \ ++ "s/'\''/'\''\\\\'\'''\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ++ ;; #( ++ *) ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) ++ echo ++ ++ $as_echo "## ----------------- ## ++## Output variables. ## ++## ----------------- ##" ++ echo ++ for ac_var in $ac_subst_vars ++ do ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ $as_echo "$ac_var='\''$ac_val'\''" ++ done | sort ++ echo ++ ++ if test -n "$ac_subst_files"; then ++ $as_echo "## ------------------- ## ++## File substitutions. ## ++## ------------------- ##" ++ echo ++ for ac_var in $ac_subst_files ++ do ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ $as_echo "$ac_var='\''$ac_val'\''" ++ done | sort ++ echo ++ fi ++ ++ if test -s confdefs.h; then ++ $as_echo "## ----------- ## ++## confdefs.h. ## ++## ----------- ##" ++ echo ++ cat confdefs.h ++ echo ++ fi ++ test "$ac_signal" != 0 && ++ $as_echo "$as_me: caught signal $ac_signal" ++ $as_echo "$as_me: exit $exit_status" ++ } >&5 ++ rm -f core *.core core.conftest.* && ++ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && ++ exit $exit_status ++' 0 ++for ac_signal in 1 2 13 15; do ++ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal ++done ++ac_signal=0 ++ ++# confdefs.h avoids OS command line length limits that DEFS can exceed. ++rm -f -r conftest* confdefs.h ++ ++$as_echo "/* confdefs.h */" > confdefs.h ++ ++# Predefined preprocessor variables. ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_NAME "$PACKAGE_NAME" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_TARNAME "$PACKAGE_TARNAME" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_VERSION "$PACKAGE_VERSION" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_STRING "$PACKAGE_STRING" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_URL "$PACKAGE_URL" ++_ACEOF ++ ++ ++# Let the site file select an alternate cache file if it wants to. ++# Prefer an explicitly selected file to automatically selected ones. ++ac_site_file1=NONE ++ac_site_file2=NONE ++if test -n "$CONFIG_SITE"; then ++ # We do not want a PATH search for config.site. ++ case $CONFIG_SITE in #(( ++ -*) ac_site_file1=./$CONFIG_SITE;; ++ */*) ac_site_file1=$CONFIG_SITE;; ++ *) ac_site_file1=./$CONFIG_SITE;; ++ esac ++elif test "x$prefix" != xNONE; then ++ ac_site_file1=$prefix/share/config.site ++ ac_site_file2=$prefix/etc/config.site ++else ++ ac_site_file1=$ac_default_prefix/share/config.site ++ ac_site_file2=$ac_default_prefix/etc/config.site ++fi ++for ac_site_file in "$ac_site_file1" "$ac_site_file2" ++do ++ test "x$ac_site_file" = xNONE && continue ++ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 ++$as_echo "$as_me: loading site script $ac_site_file" >&6;} ++ sed 's/^/| /' "$ac_site_file" >&5 ++ . "$ac_site_file" \ ++ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "failed to load site script $ac_site_file ++See \`config.log' for more details" "$LINENO" 5; } ++ fi ++done ++ ++if test -r "$cache_file"; then ++ # Some versions of bash will fail to source /dev/null (special files ++ # actually), so we avoid doing that. DJGPP emulates it as a regular file. ++ if test /dev/null != "$cache_file" && test -f "$cache_file"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 ++$as_echo "$as_me: loading cache $cache_file" >&6;} ++ case $cache_file in ++ [\\/]* | ?:[\\/]* ) . "$cache_file";; ++ *) . "./$cache_file";; ++ esac ++ fi ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 ++$as_echo "$as_me: creating cache $cache_file" >&6;} ++ >$cache_file ++fi ++ ++# Check that the precious variables saved in the cache have kept the same ++# value. ++ac_cache_corrupted=false ++for ac_var in $ac_precious_vars; do ++ eval ac_old_set=\$ac_cv_env_${ac_var}_set ++ eval ac_new_set=\$ac_env_${ac_var}_set ++ eval ac_old_val=\$ac_cv_env_${ac_var}_value ++ eval ac_new_val=\$ac_env_${ac_var}_value ++ case $ac_old_set,$ac_new_set in ++ set,) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,set) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 ++$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,);; ++ *) ++ if test "x$ac_old_val" != "x$ac_new_val"; then ++ # differences in whitespace do not lead to failure. ++ ac_old_val_w=`echo x $ac_old_val` ++ ac_new_val_w=`echo x $ac_new_val` ++ if test "$ac_old_val_w" != "$ac_new_val_w"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 ++$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ++ ac_cache_corrupted=: ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 ++$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} ++ eval $ac_var=\$ac_old_val ++ fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 ++$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} ++ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 ++$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} ++ fi;; ++ esac ++ # Pass precious variables to config.status. ++ if test "$ac_new_set" = set; then ++ case $ac_new_val in ++ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *) ac_arg=$ac_var=$ac_new_val ;; ++ esac ++ case " $ac_configure_args " in ++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. ++ *) as_fn_append ac_configure_args " '$ac_arg'" ;; ++ esac ++ fi ++done ++if $ac_cache_corrupted; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 ++$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} ++ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 ++fi ++## -------------------- ## ++## Main body of script. ## ++## -------------------- ## ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ++ac_config_headers="$ac_config_headers config.h" ++ ++ ++if test "${enable_shared}" = "yes" ; then ++ echo "Shared libraries not supported for cross compiling, ignored" ++fi ++ ++if test "$srcdir" = "." ; then ++ if test "${with_target_subdir}" != "." ; then ++ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." ++ else ++ libgloss_topdir="${srcdir}/${with_multisrctop}../.." ++ fi ++else ++ libgloss_topdir="${srcdir}/../.." ++fi ++ac_aux_dir= ++for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do ++ if test -f "$ac_dir/install-sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install-sh -c" ++ break ++ elif test -f "$ac_dir/install.sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install.sh -c" ++ break ++ elif test -f "$ac_dir/shtool"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/shtool install -c" ++ break ++ fi ++done ++if test -z "$ac_aux_dir"; then ++ as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5 ++fi ++ ++# These three variables are undocumented and unsupported, ++# and are intended to be withdrawn in a future Autoconf release. ++# They can cause serious problems if a builder's source tree is in a directory ++# whose full name contains unusual characters. ++ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ++ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ++ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ++ ++ ++ ++# Make sure we can run config.sub. ++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || ++ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 ++$as_echo_n "checking build system type... " >&6; } ++if ${ac_cv_build+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_build_alias=$build_alias ++test "x$ac_build_alias" = x && ++ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` ++test "x$ac_build_alias" = x && ++ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 ++$as_echo "$ac_cv_build" >&6; } ++case $ac_cv_build in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; ++esac ++build=$ac_cv_build ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_build ++shift ++build_cpu=$1 ++build_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++build_os=$* ++IFS=$ac_save_IFS ++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 ++$as_echo_n "checking host system type... " >&6; } ++if ${ac_cv_host+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test "x$host_alias" = x; then ++ ac_cv_host=$ac_cv_build ++else ++ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 ++$as_echo "$ac_cv_host" >&6; } ++case $ac_cv_host in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; ++esac ++host=$ac_cv_host ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_host ++shift ++host_cpu=$1 ++host_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++host_os=$* ++IFS=$ac_save_IFS ++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 ++$as_echo_n "checking target system type... " >&6; } ++if ${ac_cv_target+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test "x$target_alias" = x; then ++ ac_cv_target=$ac_cv_host ++else ++ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 ++$as_echo "$ac_cv_target" >&6; } ++case $ac_cv_target in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; ++esac ++target=$ac_cv_target ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_target ++shift ++target_cpu=$1 ++target_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++target_os=$* ++IFS=$ac_save_IFS ++case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac ++ ++ ++# The aliases save the names the user supplied, while $host etc. ++# will get canonicalized. ++test -n "$target_alias" && ++ test "$program_prefix$program_suffix$program_transform_name" = \ ++ NONENONEs,x,x, && ++ program_prefix=${target_alias}- ++ ++test "$program_prefix" != NONE && ++ program_transform_name="s&^&$program_prefix&;$program_transform_name" ++# Use a double $ so make ignores it. ++test "$program_suffix" != NONE && ++ program_transform_name="s&\$&$program_suffix&;$program_transform_name" ++# Double any \ or $. ++# By default was `s,x,x', remove it if useless. ++ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' ++program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` ++ ++ ++# Find a good install program. We prefer a C program (faster), ++# so one script is as good as another. But avoid the broken or ++# incompatible versions: ++# SysV /etc/install, /usr/sbin/install ++# SunOS /usr/etc/install ++# IRIX /sbin/install ++# AIX /bin/install ++# AmigaOS /C/install, which installs bootblocks on floppy discs ++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag ++# AFS /usr/afsws/bin/install, which mishandles nonexistent args ++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" ++# OS/2's system install, which has a completely different semantic ++# ./install, which can be erroneously created by make from ./install.sh. ++# Reject install programs that cannot install multiple files. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 ++$as_echo_n "checking for a BSD-compatible install... " >&6; } ++if test -z "$INSTALL"; then ++if ${ac_cv_path_install+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ # Account for people who put trailing slashes in PATH elements. ++case $as_dir/ in #(( ++ ./ | .// | /[cC]/* | \ ++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ++ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ ++ /usr/ucb/* ) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then ++ if test $ac_prog = install && ++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ elif test $ac_prog = install && ++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # program-specific install script used by HP pwplus--don't use. ++ : ++ else ++ rm -rf conftest.one conftest.two conftest.dir ++ echo one > conftest.one ++ echo two > conftest.two ++ mkdir conftest.dir ++ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && ++ test -s conftest.one && test -s conftest.two && ++ test -s conftest.dir/conftest.one && ++ test -s conftest.dir/conftest.two ++ then ++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" ++ break 3 ++ fi ++ fi ++ fi ++ done ++ done ++ ;; ++esac ++ ++ done ++IFS=$as_save_IFS ++ ++rm -rf conftest.one conftest.two conftest.dir ++ ++fi ++ if test "${ac_cv_path_install+set}" = set; then ++ INSTALL=$ac_cv_path_install ++ else ++ # As a last resort, use the slow shell script. Don't cache a ++ # value for INSTALL within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the value is a relative name. ++ INSTALL=$ac_install_sh ++ fi ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 ++$as_echo "$INSTALL" >&6; } ++ ++# Use test -z because SunOS4 sh mishandles braces in ${var-val}. ++# It thinks the first close brace ends the variable substitution. ++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' ++ ++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' ++ ++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++ ++ ++$as_echo "#define HAVE_GNU_LD 1" >>confdefs.h ++ ++case "${target}" in ++ *-*-cygwin*) ++ ;; ++ a29k-amd-udi) ++ ;; ++ arc-*-*) ++ ;; ++ arm-*-eabi) ++ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h ++ ++ ;; ++ arm*-*-*) ++ ;; ++ bfin-*-*) ++ ;; ++ cris-*-* | crisv32-*-*) ++ ;; ++ d10v*) ++ ;; ++ h8300*-*-*) ++ ;; ++ h8500-*-*) ++ ;; ++ i345686-*-sco*) ++ ;; ++ lm32-*-*) ++ ;; ++ m32r-*-*) ++ ;; ++ mn10?00-*-*) ++ ;; ++ powerpc-*-eabi) ++ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h ++ ++ ;; ++ powerpcle-*-pe) ++ ;; ++ sh*-*-*) ++ ;; ++ sparc-sun-sunos*) ++ ;; ++ sparc64-*-*) ++ ;; ++ v850*-*-*) ++ ;; ++ w65-*-*) ++ ;; ++ xstormy16-*-*) ++ ;; ++ z8k-*-*) ++ ;; ++ *) ++ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h ++ ++ ;; ++esac ++ ++case "${target}" in ++ *-*-elf) ++ $as_echo "#define HAVE_ELF 1" >>confdefs.h ++ ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 ++$as_echo_n "checking for .previous assembler directive... " >&6; } ++if ${libc_cv_asm_previous_directive+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_asm_previous_directive=no ++ cat > conftest.s <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_asm_previous_directive=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 ++$as_echo "$libc_cv_asm_previous_directive" >&6; } ++ ++ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then ++ $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h ++ ++ fi ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 ++$as_echo_n "checking for .popsection assembler directive... " >&6; } ++if ${libc_cv_asm_popsection_directive+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_asm_popsection_directive=no ++ cat > conftest.s <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_asm_popsection_directive=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5 ++$as_echo "$libc_cv_asm_popsection_directive" >&6; } ++ ++ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then ++ $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h ++ ++ fi ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for section attributes" >&5 ++$as_echo_n "checking for section attributes... " >&6; } ++if ${libc_cv_section_attributes+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_section_attributes=no ++ cat > conftest.c <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_section_attributes=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_section_attributes" >&5 ++$as_echo "$libc_cv_section_attributes" >&6; } ++ if test "x${libc_cv_section_attributes}" = "xyes"; then ++ $as_echo "#define HAVE_SECTION_ATTRIBUTES 1" >>confdefs.h ++ ++ fi ++ ;; ++esac ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 ++$as_echo_n "checking for symbol prefix... " >&6; } ++if ${libc_cv_symbol_prefix+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat > conftest.c <<\EOF ++foo () { } ++EOF ++libc_cv_symbol_prefix=none ++if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; ++then ++ libc_cv_symbol_prefix='$' ++else ++ if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; ++ then ++ libc_cv_symbol_prefix=_ ++ fi ++fi ++rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_symbol_prefix" >&5 ++$as_echo "$libc_cv_symbol_prefix" >&6; } ++if test $libc_cv_symbol_prefix != none; then ++ cat >>confdefs.h <<_ACEOF ++#define __SYMBOL_PREFIX "$libc_cv_symbol_prefix" ++_ACEOF ++ ++else ++ $as_echo "#define __SYMBOL_PREFIX \"\"" >>confdefs.h ++ ++fi ++ ++rm -rf .tst 2>/dev/null ++mkdir .tst 2>/dev/null ++if test -d .tst; then ++ am__leading_dot=. ++else ++ am__leading_dot=_ ++fi ++rmdir .tst 2>/dev/null ++ ++DEPDIR="${am__leading_dot}deps" ++ ++ac_config_commands="$ac_config_commands depfiles" ++ ++ ++am_make=${MAKE-make} ++cat > confinc << 'END' ++am__doit: ++ @echo done ++.PHONY: am__doit ++END ++# If we don't find an include directive, just comment out the code. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 ++$as_echo_n "checking for style of include used by $am_make... " >&6; } ++am__include="#" ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# We grep out `Entering directory' and `Leaving directory' ++# messages which can occur if `w' ends up in MAKEFLAGS. ++# In particular we don't look at `^make:' because GNU make might ++# be invoked under some other name (usually "gmake"), in which ++# case it prints its new name instead of `make'. ++if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then ++ am__include=include ++ am__quote= ++ _am_result=GNU ++fi ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then ++ am__include=.include ++ am__quote="\"" ++ _am_result=BSD ++ fi ++fi ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 ++$as_echo "$_am_result" >&6; } ++rm -f confinc confmf ++ ++# Check whether --enable-dependency-tracking was given. ++if test "${enable_dependency_tracking+set}" = set; then : ++ enableval=$enable_dependency_tracking; ++fi ++ ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++fi ++ ++ ++if test "x$enable_dependency_tracking" != xno; then ++ AMDEP_TRUE= ++ AMDEP_FALSE='#' ++else ++ AMDEP_TRUE='#' ++ AMDEP_FALSE= ++fi ++ ++ ++ ++# Extract the first word of "gcc", so it can be a program name with args. ++set dummy gcc; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_CC+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="gcc" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++$as_echo "$CC" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ ++depcc="$CC" am_compiler_list= ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++$as_echo_n "checking dependency style of $depcc... " >&6; } ++if ${am_cv_CC_dependencies_compiler_type+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ # We will build objects and dependencies in a subdirectory because ++ # it helps to detect inapplicable dependency modes. For instance ++ # both Tru64's cc and ICC support -MD to output dependencies as a ++ # side effect of compilation, but ICC will put the dependencies in ++ # the current directory while Tru64 will put them in the object ++ # directory. ++ mkdir sub ++ ++ am_cv_CC_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # Setup a source with many dependencies, because some compilers ++ # like to wrap large dependency lists on column 80 (with \), and ++ # we should not choose a depcomp mode which is confused by this. ++ # ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ : > sub/conftest.c ++ for i in 1 2 3 4 5 6; do ++ echo '#include "conftst'$i'.h"' >> sub/conftest.c ++ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with ++ # Solaris 8's {/usr,}/bin/sh. ++ touch sub/conftst$i.h ++ done ++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf ++ ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ ++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ ++ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ ++ >/dev/null 2>conftest.err && ++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && ++ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ # icc doesn't choke on unknown options, it will just issue warnings ++ # or remarks (even with -Werror). So we grep stderr for any message ++ # that says an option was ignored or not supported. ++ # When given -MP, icc 7.0 and 7.1 complain thusly: ++ # icc: Command line warning: ignoring option '-M'; no argument required ++ # The diagnosis changed in icc 8.0: ++ # icc: Command line remark: option '-MP' not supported ++ if (grep 'ignoring option' conftest.err || ++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else ++ am_cv_CC_dependencies_compiler_type=$depmode ++ break ++ fi ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_CC_dependencies_compiler_type=none ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type ++ ++ ++ ++if ++ test "x$enable_dependency_tracking" != xno \ ++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then ++ am__fastdepCC_TRUE= ++ am__fastdepCC_FALSE='#' ++else ++ am__fastdepCC_TRUE='#' ++ am__fastdepCC_FALSE= ++fi ++ ++ ++if test -z "$CC"; then ++ # Extract the first word of "cc", so it can be a program name with args. ++set dummy cc; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_CC+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ ac_prog_rejected=no ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ++ ac_prog_rejected=yes ++ continue ++ fi ++ ac_cv_prog_CC="cc" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++if test $ac_prog_rejected = yes; then ++ # We found a bogon in the path, so make sure we never use it. ++ set dummy $ac_cv_prog_CC ++ shift ++ if test $# != 0; then ++ # We chose a different compiler from the bogus one. ++ # However, it has the same basename, so the bogon will be chosen ++ # first if we set CC to just the basename; use the full file name. ++ shift ++ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" ++ fi ++fi ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++$as_echo "$CC" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5 ++fi ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5 ++$as_echo_n "checking whether we are using GNU C... " >&6; } ++if ${ac_cv_c_compiler_gnu+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat > conftest.c <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then ++ ac_cv_c_compiler_gnu=yes ++else ++ ac_cv_c_compiler_gnu=no ++fi ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++$as_echo "$ac_cv_c_compiler_gnu" >&6; } ++ ++if test $ac_cv_c_compiler_gnu = yes; then ++ GCC=yes ++ ac_test_CFLAGS="${CFLAGS+set}" ++ ac_save_CFLAGS="$CFLAGS" ++ CFLAGS= ++ ac_test_CFLAGS=${CFLAGS+set} ++ac_save_CFLAGS=$CFLAGS ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++$as_echo_n "checking whether $CC accepts -g... " >&6; } ++if ${ac_cv_prog_cc_g+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_save_c_werror_flag=$ac_c_werror_flag ++ ac_c_werror_flag=yes ++ ac_cv_prog_cc_g=no ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ac_cv_prog_cc_g=yes ++else ++ CFLAGS="" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ++else ++ ac_c_werror_flag=$ac_save_c_werror_flag ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ac_cv_prog_cc_g=yes ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ac_c_werror_flag=$ac_save_c_werror_flag ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++$as_echo "$ac_cv_prog_cc_g" >&6; } ++if test "$ac_test_CFLAGS" = set; then ++ CFLAGS=$ac_save_CFLAGS ++elif test $ac_cv_prog_cc_g = yes; then ++ if test "$GCC" = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-g" ++ fi ++else ++ if test "$GCC" = yes; then ++ CFLAGS="-O2" ++ else ++ CFLAGS= ++ fi ++fi ++ if test "$ac_test_CFLAGS" = set; then ++ CFLAGS="$ac_save_CFLAGS" ++ elif test $ac_cv_prog_cc_g = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-O2" ++ fi ++else ++ GCC= ++ test "${CFLAGS+set}" = set || CFLAGS="-g" ++fi ++ ++AS=${AS-as} ++ ++AR=${AR-ar} ++ ++LD=${LD-ld} ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. ++set dummy ${ac_tool_prefix}ranlib; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_RANLIB+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$RANLIB"; then ++ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++RANLIB=$ac_cv_prog_RANLIB ++if test -n "$RANLIB"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 ++$as_echo "$RANLIB" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_RANLIB"; then ++ ac_ct_RANLIB=$RANLIB ++ # Extract the first word of "ranlib", so it can be a program name with args. ++set dummy ranlib; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_RANLIB"; then ++ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_RANLIB="ranlib" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB ++if test -n "$ac_ct_RANLIB"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 ++$as_echo "$ac_ct_RANLIB" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_RANLIB" = x; then ++ RANLIB=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ RANLIB=$ac_ct_RANLIB ++ fi ++else ++ RANLIB="$ac_cv_prog_RANLIB" ++fi ++ ++# By default we simply use the C compiler to build assembly code. ++ ++test "${CCAS+set}" = set || CCAS=$CC ++test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS ++ ++ ++ ++ ++host_makefile_frag=${srcdir}/../config/default.mh ++ ++host_makefile_frag_path=$host_makefile_frag ++ ++ ++ ++ac_config_files="$ac_config_files Makefile" ++ ++cat >confcache <<\_ACEOF ++# This file is a shell script that caches the results of configure ++# tests run on this system so they can be shared between configure ++# scripts and configure runs, see configure's option --config-cache. ++# It is not useful on other systems. If it contains results you don't ++# want to keep, you may remove or edit it. ++# ++# config.status only pays attention to the cache file if you give it ++# the --recheck option to rerun configure. ++# ++# `ac_cv_env_foo' variables (set or unset) will be overridden when ++# loading this file, other *unset* `ac_cv_foo' will be assigned the ++# following values. ++ ++_ACEOF ++ ++# The following way of writing the cache mishandles newlines in values, ++# but we know of no workaround that is simple, portable, and efficient. ++# So, we kill variables containing newlines. ++# Ultrix sh set writes to stderr and can't be redirected directly, ++# and sets the high bit in the cache file unless we assign to the vars. ++( ++ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( ++ *) { eval $ac_var=; unset $ac_var;} ;; ++ esac ;; ++ esac ++ done ++ ++ (set) 2>&1 | ++ case $as_nl`(ac_space=' '; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ # `set' does not quote correctly, so add quotes: double-quote ++ # substitution turns \\\\ into \\, and sed turns \\ into \. ++ sed -n \ ++ "s/'/'\\\\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ++ ;; #( ++ *) ++ # `set' quotes correctly as required by POSIX, so do not add quotes. ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) | ++ sed ' ++ /^ac_cv_env_/b end ++ t clear ++ :clear ++ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ t end ++ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ ++ :end' >>confcache ++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else ++ if test -w "$cache_file"; then ++ if test "x$cache_file" != "x/dev/null"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++$as_echo "$as_me: updating cache $cache_file" >&6;} ++ if test ! -f "$cache_file" || test -h "$cache_file"; then ++ cat confcache >"$cache_file" ++ else ++ case $cache_file in #( ++ */* | ?:*) ++ mv -f confcache "$cache_file"$$ && ++ mv -f "$cache_file"$$ "$cache_file" ;; #( ++ *) ++ mv -f confcache "$cache_file" ;; ++ esac ++ fi ++ fi ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} ++ fi ++fi ++rm -f confcache ++ ++test "x$prefix" = xNONE && prefix=$ac_default_prefix ++# Let make expand exec_prefix. ++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' ++ ++DEFS=-DHAVE_CONFIG_H ++ ++ac_libobjs= ++ac_ltlibobjs= ++U= ++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue ++ # 1. Remove the extension, and $U if already installed. ++ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ++ ac_i=`$as_echo "$ac_i" | sed "$ac_script"` ++ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR ++ # will be set to the directory where LIBOBJS objects are built. ++ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" ++ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' ++done ++LIBOBJS=$ac_libobjs ++ ++LTLIBOBJS=$ac_ltlibobjs ++ ++ ++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then ++ as_fn_error $? "conditional \"AMDEP\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then ++ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++ ++: "${CONFIG_STATUS=./config.status}" ++ac_write_fail=0 ++ac_clean_files_save=$ac_clean_files ++ac_clean_files="$ac_clean_files $CONFIG_STATUS" ++{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 ++$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} ++as_write_fail=0 ++cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 ++#! $SHELL ++# Generated by $as_me. ++# Run this file to recreate the current configuration. ++# Compiler output produced by configure, useful for debugging ++# configure, is in config.log if it exists. ++ ++debug=false ++ac_cs_recheck=false ++ac_cs_silent=false ++ ++SHELL=\${CONFIG_SHELL-$SHELL} ++export SHELL ++_ASEOF ++cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ++## -------------------- ## ++## M4sh Initialization. ## ++## -------------------- ## ++ ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++ ++ ++as_nl=' ++' ++export as_nl ++# Printing a long string crashes Solaris 7 /usr/bin/printf. ++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo ++# Prefer a ksh shell builtin over an external printf program on Solaris, ++# but without wasting forks for bash or zsh. ++if test -z "$BASH_VERSION$ZSH_VERSION" \ ++ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='print -r --' ++ as_echo_n='print -rn --' ++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='printf %s\n' ++ as_echo_n='printf %s' ++else ++ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then ++ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' ++ as_echo_n='/usr/ucb/echo -n' ++ else ++ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' ++ as_echo_n_body='eval ++ arg=$1; ++ case $arg in #( ++ *"$as_nl"*) ++ expr "X$arg" : "X\\(.*\\)$as_nl"; ++ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; ++ esac; ++ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ++ ' ++ export as_echo_n_body ++ as_echo_n='sh -c $as_echo_n_body as_echo' ++ fi ++ export as_echo_body ++ as_echo='sh -c $as_echo_body as_echo' ++fi ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ PATH_SEPARATOR=: ++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { ++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || ++ PATH_SEPARATOR=';' ++ } ++fi ++ ++ ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++IFS=" "" $as_nl" ++ ++# Find who we are. Look in the path if we contain no directory separator. ++as_myself= ++case $0 in #(( ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++ done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ exit 1 ++fi ++ ++# Unset variables that we do not need and which cause bugs (e.g. in ++# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" ++# suppresses any "Segmentation fault" message there. '((' could ++# trigger a bug in pdksh 5.2.14. ++for as_var in BASH_ENV ENV MAIL MAILPATH ++do eval test x\${$as_var+set} = xset \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# CDPATH. ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH ++ ++ ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ $as_echo "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error ++ ++ ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status ++ ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit ++ ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : ++ eval 'as_fn_append () ++ { ++ eval $1+=\$2 ++ }' ++else ++ as_fn_append () ++ { ++ eval $1=\$$1\$2 ++ } ++fi # as_fn_append ++ ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith ++ ++ ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null ++fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++ else ++ as_ln_s='cp -pR' ++ fi ++else ++ as_ln_s='cp -pR' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null ++ ++ ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ ++ ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" ++ ++ ++} # as_fn_mkdir_p ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++ ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++ ++exec 6>&1 ++## ----------------------------------- ## ++## Main body of $CONFIG_STATUS script. ## ++## ----------------------------------- ## ++_ASEOF ++test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# Save the log message, to keep $0 and so on meaningful, and to ++# report actual input values of CONFIG_FILES etc. instead of their ++# values after options handling. ++ac_log=" ++This file was extended by $as_me, which was ++generated by GNU Autoconf 2.69. Invocation command line was ++ ++ CONFIG_FILES = $CONFIG_FILES ++ CONFIG_HEADERS = $CONFIG_HEADERS ++ CONFIG_LINKS = $CONFIG_LINKS ++ CONFIG_COMMANDS = $CONFIG_COMMANDS ++ $ $0 $@ ++ ++on `(hostname || uname -n) 2>/dev/null | sed 1q` ++" ++ ++_ACEOF ++ ++case $ac_config_files in *" ++"*) set x $ac_config_files; shift; ac_config_files=$*;; ++esac ++ ++case $ac_config_headers in *" ++"*) set x $ac_config_headers; shift; ac_config_headers=$*;; ++esac ++ ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# Files that config.status was made for. ++config_files="$ac_config_files" ++config_headers="$ac_config_headers" ++config_commands="$ac_config_commands" ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ac_cs_usage="\ ++\`$as_me' instantiates files and other configuration actions ++from templates according to the current configuration. Unless the files ++and actions are specified as TAGs, all are instantiated by default. ++ ++Usage: $0 [OPTION]... [TAG]... ++ ++ -h, --help print this help, then exit ++ -V, --version print version number and configuration settings, then exit ++ --config print configuration, then exit ++ -q, --quiet, --silent ++ do not print progress messages ++ -d, --debug don't remove temporary files ++ --recheck update $as_me by reconfiguring in the same conditions ++ --file=FILE[:TEMPLATE] ++ instantiate the configuration file FILE ++ --header=FILE[:TEMPLATE] ++ instantiate the configuration header FILE ++ ++Configuration files: ++$config_files ++ ++Configuration headers: ++$config_headers ++ ++Configuration commands: ++$config_commands ++ ++Report bugs to the package provider." ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ++ac_cs_version="\\ ++config.status ++configured by $0, generated by GNU Autoconf 2.69, ++ with options \\"\$ac_cs_config\\" ++ ++Copyright (C) 2012 Free Software Foundation, Inc. ++This config.status script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it." ++ ++ac_pwd='$ac_pwd' ++srcdir='$srcdir' ++INSTALL='$INSTALL' ++test -n "\$AWK" || AWK=awk ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# The default lists apply if the user does not specify any file. ++ac_need_defaults=: ++while test $# != 0 ++do ++ case $1 in ++ --*=?*) ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ++ ac_shift=: ++ ;; ++ --*=) ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg= ++ ac_shift=: ++ ;; ++ *) ++ ac_option=$1 ++ ac_optarg=$2 ++ ac_shift=shift ++ ;; ++ esac ++ ++ case $ac_option in ++ # Handling of the options. ++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ++ ac_cs_recheck=: ;; ++ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) ++ $as_echo "$ac_cs_version"; exit ;; ++ --config | --confi | --conf | --con | --co | --c ) ++ $as_echo "$ac_cs_config"; exit ;; ++ --debug | --debu | --deb | --de | --d | -d ) ++ debug=: ;; ++ --file | --fil | --fi | --f ) ++ $ac_shift ++ case $ac_optarg in ++ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ '') as_fn_error $? "missing file argument" ;; ++ esac ++ as_fn_append CONFIG_FILES " '$ac_optarg'" ++ ac_need_defaults=false;; ++ --header | --heade | --head | --hea ) ++ $ac_shift ++ case $ac_optarg in ++ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ as_fn_append CONFIG_HEADERS " '$ac_optarg'" ++ ac_need_defaults=false;; ++ --he | --h) ++ # Conflict between --help and --header ++ as_fn_error $? "ambiguous option: \`$1' ++Try \`$0 --help' for more information.";; ++ --help | --hel | -h ) ++ $as_echo "$ac_cs_usage"; exit ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil | --si | --s) ++ ac_cs_silent=: ;; ++ ++ # This is an error. ++ -*) as_fn_error $? "unrecognized option: \`$1' ++Try \`$0 --help' for more information." ;; ++ ++ *) as_fn_append ac_config_targets " $1" ++ ac_need_defaults=false ;; ++ ++ esac ++ shift ++done ++ ++ac_configure_extra_args= ++ ++if $ac_cs_silent; then ++ exec 6>/dev/null ++ ac_configure_extra_args="$ac_configure_extra_args --silent" ++fi ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++if \$ac_cs_recheck; then ++ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion ++ shift ++ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 ++ CONFIG_SHELL='$SHELL' ++ export CONFIG_SHELL ++ exec "\$@" ++fi ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++exec 5>>config.log ++{ ++ echo ++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ++## Running $as_me. ## ++_ASBOX ++ $as_echo "$ac_log" ++} >&5 ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# ++# INIT-COMMANDS ++# ++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" ++srcdir=${srcdir} ++target=${target} ++with_multisubdir=${with_multisubdir} ++ac_configure_args="${ac_configure_args} --enable-multilib" ++CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} ++libgloss_topdir=${libgloss_topdir} ++ ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ ++# Handling of arguments. ++for ac_config_target in $ac_config_targets ++do ++ case $ac_config_target in ++ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; ++ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; ++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ ++ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; ++ esac ++done ++ ++ ++# If the user did not use the arguments to specify the items to instantiate, ++# then the envvar interface is used. Set only those that are not. ++# We use the long form for the default assignment because of an extremely ++# bizarre bug on SunOS 4.1.3. ++if $ac_need_defaults; then ++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files ++ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers ++ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands ++fi ++ ++# Have a temporary directory for convenience. Make it in the build tree ++# simply because there is no reason against having it here, and in addition, ++# creating and moving files from /tmp can sometimes cause problems. ++# Hook for its removal unless debugging. ++# Note that there is a small window in which the directory will not be cleaned: ++# after its creation but before its name has been assigned to `$tmp'. ++$debug || ++{ ++ tmp= ac_tmp= ++ trap 'exit_status=$? ++ : "${ac_tmp:=$tmp}" ++ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ++' 0 ++ trap 'as_fn_exit 1' 1 2 13 15 ++} ++# Create a (secure) tmp directory for tmp files. ++ ++{ ++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && ++ test -d "$tmp" ++} || ++{ ++ tmp=./conf$$-$RANDOM ++ (umask 077 && mkdir "$tmp") ++} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ++ac_tmp=$tmp ++ ++# Set up the scripts for CONFIG_FILES section. ++# No need to generate them if there are no CONFIG_FILES. ++# This happens for instance with `./config.status config.h'. ++if test -n "$CONFIG_FILES"; then ++ ++if $AWK 'BEGIN { getline <"/dev/null" }' /dev/null; then ++ ac_cs_awk_getline=: ++ ac_cs_awk_pipe_init= ++ ac_cs_awk_read_file=' ++ while ((getline aline < (F[key])) > 0) ++ print(aline) ++ close(F[key])' ++ ac_cs_awk_pipe_fini= ++else ++ ac_cs_awk_getline=false ++ ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\"" ++ ac_cs_awk_read_file=' ++ print "|#_!!_#|" ++ print "cat " F[key] " &&" ++ '$ac_cs_awk_pipe_init ++ # The final `:' finishes the AND list. ++ ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }' ++fi ++ac_cr=`echo X | tr X '\015'` ++# On cygwin, bash can eat \r inside `` if the user requested igncr. ++# But we know of no other shell where ac_cr would be empty at this ++# point, so we can use a bashism as a fallback. ++if test "x$ac_cr" = x; then ++ eval ac_cr=\$\'\\r\' ++fi ++ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` ++if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ++ ac_cs_awk_cr='\\r' ++else ++ ac_cs_awk_cr=$ac_cr ++fi ++ ++echo 'BEGIN {' >"$ac_tmp/subs1.awk" && ++_ACEOF ++ ++# Create commands to substitute file output variables. ++{ ++ echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && ++ echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && ++ echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && ++ echo "_ACAWK" && ++ echo "_ACEOF" ++} >conf$$files.sh && ++. ./conf$$files.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++rm -f conf$$files.sh ++ ++{ ++ echo "cat >conf$$subs.awk <<_ACEOF" && ++ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && ++ echo "_ACEOF" ++} >conf$$subs.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ++ac_delim='%!_!# ' ++for ac_last_try in false false false false false :; do ++ . ./conf$$subs.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ ++ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` ++ if test $ac_delim_n = $ac_delim_num; then ++ break ++ elif $ac_last_try; then ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++ fi ++done ++rm -f conf$$subs.sh ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && ++_ACEOF ++sed -n ' ++h ++s/^/S["/; s/!.*/"]=/ ++p ++g ++s/^[^!]*!// ++:repl ++t repl ++s/'"$ac_delim"'$// ++t delim ++:nl ++h ++s/\(.\{148\}\)..*/\1/ ++t more1 ++s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ ++p ++n ++b repl ++:more1 ++s/["\\]/\\&/g; s/^/"/; s/$/"\\/ ++p ++g ++s/.\{148\}// ++t nl ++:delim ++h ++s/\(.\{148\}\)..*/\1/ ++t more2 ++s/["\\]/\\&/g; s/^/"/; s/$/"/ ++p ++b ++:more2 ++s/["\\]/\\&/g; s/^/"/; s/$/"\\/ ++p ++g ++s/.\{148\}// ++t delim ++' >$CONFIG_STATUS || ac_write_fail=1 ++rm -f conf$$subs.awk ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++_ACAWK ++cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && ++ for (key in S) S_is_set[key] = 1 ++ FS = "" ++ \$ac_cs_awk_pipe_init ++} ++{ ++ line = $ 0 ++ nfields = split(line, field, "@") ++ substed = 0 ++ len = length(field[1]) ++ for (i = 2; i < nfields; i++) { ++ key = field[i] ++ keylen = length(key) ++ if (S_is_set[key]) { ++ value = S[key] ++ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) ++ len += length(value) + length(field[++i]) ++ substed = 1 ++ } else ++ len += 1 + keylen ++ } ++ if (nfields == 3 && !substed) { ++ key = field[2] ++ if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) { ++ \$ac_cs_awk_read_file ++ next ++ } ++ } ++ print line ++} ++\$ac_cs_awk_pipe_fini ++_ACAWK ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then ++ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" ++else ++ cat ++fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ ++ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 ++_ACEOF ++ ++# VPATH may cause trouble with some makes, so we remove sole $(srcdir), ++# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and ++# trailing colons and then remove the whole line if VPATH becomes empty ++# (actually we leave an empty line to preserve line numbers). ++if test "x$srcdir" = x.; then ++ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ ++h ++s/// ++s/^/:/ ++s/[ ]*$/:/ ++s/:\$(srcdir):/:/g ++s/:\${srcdir}:/:/g ++s/:@srcdir@:/:/g ++s/^:*// ++s/:*$// ++x ++s/\(=[ ]*\).*/\1/ ++G ++s/\n// ++s/^[^=]*=[ ]*$// ++}' ++fi ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++fi # test -n "$CONFIG_FILES" ++ ++# Set up the scripts for CONFIG_HEADERS section. ++# No need to generate them if there are no CONFIG_HEADERS. ++# This happens for instance with `./config.status Makefile'. ++if test -n "$CONFIG_HEADERS"; then ++cat >"$ac_tmp/defines.awk" <<\_ACAWK || ++BEGIN { ++_ACEOF ++ ++# Transform confdefs.h into an awk script `defines.awk', embedded as ++# here-document in config.status, that substitutes the proper values into ++# config.h.in to produce config.h. ++ ++# Create a delimiter string that does not exist in confdefs.h, to ease ++# handling of long lines. ++ac_delim='%!_!# ' ++for ac_last_try in false false :; do ++ ac_tt=`sed -n "/$ac_delim/p" confdefs.h` ++ if test -z "$ac_tt"; then ++ break ++ elif $ac_last_try; then ++ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++ fi ++done ++ ++# For the awk script, D is an array of macro values keyed by name, ++# likewise P contains macro parameters if any. Preserve backslash ++# newline sequences. ++ ++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* ++sed -n ' ++s/.\{148\}/&'"$ac_delim"'/g ++t rset ++:rset ++s/^[ ]*#[ ]*define[ ][ ]*/ / ++t def ++d ++:def ++s/\\$// ++t bsnl ++s/["\\]/\\&/g ++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ ++D["\1"]=" \3"/p ++s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p ++d ++:bsnl ++s/["\\]/\\&/g ++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ ++D["\1"]=" \3\\\\\\n"\\/p ++t cont ++s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p ++t cont ++d ++:cont ++n ++s/.\{148\}/&'"$ac_delim"'/g ++t clear ++:clear ++s/\\$// ++t bsnlc ++s/["\\]/\\&/g; s/^/"/; s/$/"/p ++d ++:bsnlc ++s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p ++b cont ++' >$CONFIG_STATUS || ac_write_fail=1 ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ for (key in D) D_is_set[key] = 1 ++ FS = "" ++} ++/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { ++ line = \$ 0 ++ split(line, arg, " ") ++ if (arg[1] == "#") { ++ defundef = arg[2] ++ mac1 = arg[3] ++ } else { ++ defundef = substr(arg[1], 2) ++ mac1 = arg[2] ++ } ++ split(mac1, mac2, "(") #) ++ macro = mac2[1] ++ prefix = substr(line, 1, index(line, defundef) - 1) ++ if (D_is_set[macro]) { ++ # Preserve the white space surrounding the "#". ++ print prefix "define", macro P[macro] D[macro] ++ next ++ } else { ++ # Replace #undef with comments. This is necessary, for example, ++ # in the case of _POSIX_SOURCE, which is predefined and required ++ # on some systems where configure will not decide to define it. ++ if (defundef == "undef") { ++ print "/*", prefix defundef, macro, "*/" ++ next ++ } ++ } ++} ++{ print } ++_ACAWK ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 ++fi # test -n "$CONFIG_HEADERS" ++ ++ ++eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" ++shift ++for ac_tag ++do ++ case $ac_tag in ++ :[FHLC]) ac_mode=$ac_tag; continue;; ++ esac ++ case $ac_mode$ac_tag in ++ :[FHL]*:*);; ++ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; ++ :[FH]-) ac_tag=-:-;; ++ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; ++ esac ++ ac_save_IFS=$IFS ++ IFS=: ++ set x $ac_tag ++ IFS=$ac_save_IFS ++ shift ++ ac_file=$1 ++ shift ++ ++ case $ac_mode in ++ :L) ac_source=$1;; ++ :[FH]) ++ ac_file_inputs= ++ for ac_f ++ do ++ case $ac_f in ++ -) ac_f="$ac_tmp/stdin";; ++ *) # Look for the file first in the build tree, then in the source tree ++ # (if the path is not absolute). The absolute path cannot be DOS-style, ++ # because $ac_f cannot contain `:'. ++ test -f "$ac_f" || ++ case $ac_f in ++ [\\/$]*) false;; ++ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; ++ esac || ++ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; ++ esac ++ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac ++ as_fn_append ac_file_inputs " '$ac_f'" ++ done ++ ++ # Let's still pretend it is `configure' which instantiates (i.e., don't ++ # use $as_me), people would be surprised to read: ++ # /* config.h. Generated by config.status. */ ++ configure_input='Generated from '` ++ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' ++ `' by configure.' ++ if test x"$ac_file" != x-; then ++ configure_input="$ac_file. $configure_input" ++ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 ++$as_echo "$as_me: creating $ac_file" >&6;} ++ fi ++ # Neutralize special characters interpreted by sed in replacement strings. ++ case $configure_input in #( ++ *\&* | *\|* | *\\* ) ++ ac_sed_conf_input=`$as_echo "$configure_input" | ++ sed 's/[\\\\&|]/\\\\&/g'`;; #( ++ *) ac_sed_conf_input=$configure_input;; ++ esac ++ ++ case $ac_tag in ++ *:-:* | *:-) cat >"$ac_tmp/stdin" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; ++ esac ++ ;; ++ esac ++ ++ ac_dir=`$as_dirname -- "$ac_file" || ++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$ac_file" : 'X\(//\)[^/]' \| \ ++ X"$ac_file" : 'X\(//\)$' \| \ ++ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$ac_file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ as_dir="$ac_dir"; as_fn_mkdir_p ++ ac_builddir=. ++ ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix ++ ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ ++ case $ac_mode in ++ :F) ++ # ++ # CONFIG_FILE ++ # ++ ++ case $INSTALL in ++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; ++ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; ++ esac ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# If the template does not know about datarootdir, expand it. ++# FIXME: This hack should be removed a few years after 2.60. ++ac_datarootdir_hack=; ac_datarootdir_seen= ++ac_sed_dataroot=' ++/datarootdir/ { ++ p ++ q ++} ++/@datadir@/p ++/@docdir@/p ++/@infodir@/p ++/@localedir@/p ++/@mandir@/p' ++case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in ++*datarootdir*) ac_datarootdir_seen=yes;; ++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ ac_datarootdir_hack=' ++ s&@datadir@&$datadir&g ++ s&@docdir@&$docdir&g ++ s&@infodir@&$infodir&g ++ s&@localedir@&$localedir&g ++ s&@mandir@&$mandir&g ++ s&\\\${datarootdir}&$datarootdir&g' ;; ++esac ++_ACEOF ++ ++# Neutralize VPATH when `$srcdir' = `.'. ++# Shell code in configure.ac might set extrasub. ++# FIXME: do we really want to maintain this feature? ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_sed_extra="$ac_vpsub ++$extrasub ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++:t ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b ++s|@configure_input@|$ac_sed_conf_input|;t t ++s&@top_builddir@&$ac_top_builddir_sub&;t t ++s&@top_build_prefix@&$ac_top_build_prefix&;t t ++s&@srcdir@&$ac_srcdir&;t t ++s&@abs_srcdir@&$ac_abs_srcdir&;t t ++s&@top_srcdir@&$ac_top_srcdir&;t t ++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t ++s&@builddir@&$ac_builddir&;t t ++s&@abs_builddir@&$ac_abs_builddir&;t t ++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t ++s&@INSTALL@&$ac_INSTALL&;t t ++$ac_datarootdir_hack ++" ++eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | ++if $ac_cs_awk_getline; then ++ $AWK -f "$ac_tmp/subs.awk" ++else ++ $AWK -f "$ac_tmp/subs.awk" | $SHELL ++fi \ ++ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ ++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && ++ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && ++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ ++ "$ac_tmp/out"`; test -z "$ac_out"; } && ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined" >&5 ++$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined" >&2;} ++ ++ rm -f "$ac_tmp/stdin" ++ case $ac_file in ++ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; ++ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; ++ esac \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ ;; ++ :H) ++ # ++ # CONFIG_HEADER ++ # ++ if test x"$ac_file" != x-; then ++ { ++ $as_echo "/* $configure_input */" \ ++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" ++ } >"$ac_tmp/config.h" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 ++$as_echo "$as_me: $ac_file is unchanged" >&6;} ++ else ++ rm -f "$ac_file" ++ mv "$ac_tmp/config.h" "$ac_file" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ fi ++ else ++ $as_echo "/* $configure_input */" \ ++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ ++ || as_fn_error $? "could not create -" "$LINENO" 5 ++ fi ++ ;; ++ ++ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 ++$as_echo "$as_me: executing $ac_file commands" >&6;} ++ ;; ++ esac ++ ++ ++ case $ac_file$ac_mode in ++ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do ++ # Strip MF so we end up with the name of the file. ++ mf=`echo "$mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile or not. ++ # We used to match only the files named `Makefile.in', but ++ # some people rename them; so instead we look at the file content. ++ # Grep'ing the first line is not enough: some people post-process ++ # each Makefile.in and add a new line on top of each file to say so. ++ # So let's grep whole file. ++ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then ++ dirpart=`$as_dirname -- "$mf" || ++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$mf" : 'X\(//\)[^/]' \| \ ++ X"$mf" : 'X\(//\)$' \| \ ++ X"$mf" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$mf" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ else ++ continue ++ fi ++ # Extract the definition of DEPDIR, am__include, and am__quote ++ # from the Makefile without running `make'. ++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ am__include=`sed -n 's/^am__include = //p' < "$mf"` ++ test -z "am__include" && continue ++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n 's/^U = //p' < "$mf"` ++ # Find all dependency output files, they are included files with ++ # $(DEPDIR) in their names. We invoke sed twice because it is the ++ # simplest approach to changing $(DEPDIR) to its actual value in the ++ # expansion. ++ for file in `sed -n " ++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`$as_dirname -- "$file" || ++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$file" : 'X\(//\)[^/]' \| \ ++ X"$file" : 'X\(//\)$' \| \ ++ X"$file" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ as_dir=$dirpart/$fdir; as_fn_mkdir_p ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++ ;; ++ "Makefile":F) ac_file=Makefile . ${libgloss_topdir}/config-ml.in ;; ++ ++ esac ++done # for ac_tag ++ ++ ++as_fn_exit 0 ++_ACEOF ++ac_clean_files=$ac_clean_files_save ++ ++test $ac_write_fail = 0 || ++ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 ++ ++ ++# configure is writing to config.log, and then calls config.status. ++# config.status does its own redirection, appending to config.log. ++# Unfortunately, on DOS this fails, as config.log is still kept open ++# by configure, so config.status won't be able to write to it; its ++# output is simply discarded. So we exec the FD to /dev/null, ++# effectively closing config.log, so it can be properly (re)opened and ++# appended to by config.status. When coming back to configure, we ++# need to make the FD available again. ++if test "$no_create" != yes; then ++ ac_cs_success=: ++ ac_config_status_args= ++ test "$silent" = yes && ++ ac_config_status_args="$ac_config_status_args --quiet" ++ exec 5>/dev/null ++ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false ++ exec 5>>config.log ++ # Use ||, not &&, to avoid exiting from the if with $? = 1, which ++ # would make configure fail if this is the last instruction. ++ $ac_cs_success || as_fn_exit 1 ++fi ++if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 ++$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} ++fi ++ ++ ++ +diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in +new file mode 100644 +index 000000000..d15eab89d +--- /dev/null ++++ b/libgloss/libsysbase/configure.in +@@ -0,0 +1,202 @@ ++# Copyright (c) 1995, 1996 Cygnus Support ++# ++# The authors hereby grant permission to use, copy, modify, distribute, ++# and license this software and its documentation for any purpose, provided ++# that existing copyright notices are retained in all copies and that this ++# notice is included verbatim in any distributions. No written agreement, ++# license, or royalty fee is required for any of the authorized uses. ++# Modifications to this software may be copyrighted by their authors ++# and need not follow the licensing terms described here, provided that ++# the new terms are clearly indicated on the first page of each file where ++# they apply. ++# ++# Process this file with autoconf to produce a configure script. ++# ++AC_PREREQ(2.59) ++AC_INIT(abort.c) ++AC_CONFIG_HEADER(config.h) ++ ++if test "${enable_shared}" = "yes" ; then ++ echo "Shared libraries not supported for cross compiling, ignored" ++fi ++ ++if test "$srcdir" = "." ; then ++ if test "${with_target_subdir}" != "." ; then ++ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." ++ else ++ libgloss_topdir="${srcdir}/${with_multisrctop}../.." ++ fi ++else ++ libgloss_topdir="${srcdir}/../.." ++fi ++AC_CONFIG_AUX_DIR($libgloss_topdir) ++ ++AC_CANONICAL_SYSTEM ++AC_ARG_PROGRAM ++ ++AC_PROG_INSTALL ++ ++AC_DEFINE(HAVE_GNU_LD) ++dnl Make sure syscall names match those being used by newlib ++case "${target}" in ++ *-*-cygwin*) ++ ;; ++ a29k-amd-udi) ++ ;; ++ arc-*-*) ++ ;; ++ arm-*-eabi) ++ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ ;; ++ arm*-*-*) ++ ;; ++ bfin-*-*) ++ ;; ++ cris-*-* | crisv32-*-*) ++ ;; ++ d10v*) ++ ;; ++ h8300*-*-*) ++ ;; ++ h8500-*-*) ++ ;; ++ i[3456]86-*-sco*) ++ ;; ++ lm32-*-*) ++ ;; ++ m32r-*-*) ++ ;; ++ mn10?00-*-*) ++ ;; ++ powerpc-*-eabi) ++ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ ;; ++ powerpcle-*-pe) ++ ;; ++ sh*-*-*) ++ ;; ++ sparc-sun-sunos*) ++ ;; ++ sparc64-*-*) ++ ;; ++ v850*-*-*) ++ ;; ++ w65-*-*) ++ ;; ++ xstormy16-*-*) ++ ;; ++ z8k-*-*) ++ ;; ++ *) ++ AC_DEFINE(MISSING_SYSCALL_NAMES) ++ ;; ++esac ++ ++dnl Make sure we know if elf format used ++case "${target}" in ++ *-*-elf) ++ AC_DEFINE(HAVE_ELF) ++ ++ AC_CACHE_CHECK([for .previous assembler directive], ++ libc_cv_asm_previous_directive, [dnl ++ libc_cv_asm_previous_directive=no ++ cat > conftest.s <&AC_FD_CC); then ++ libc_cv_asm_previous_directive=yes ++ fi ++ rm -f conftest*]) ++ ++ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then ++ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) ++ fi ++ ++ AC_CACHE_CHECK([for .popsection assembler directive], ++ libc_cv_asm_popsection_directive, [dnl ++ libc_cv_asm_popsection_directive=no ++ cat > conftest.s <&AC_FD_CC); then ++ libc_cv_asm_popsection_directive=yes ++ fi ++ rm -f conftest*]) ++ ++ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then ++ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) ++ fi ++ ++ AC_CACHE_CHECK([for section attributes], ++ libc_cv_section_attributes, [dnl ++ libc_cv_section_attributes=no ++ cat > conftest.c <&AC_FD_CC); then ++ libc_cv_section_attributes=yes ++ fi ++ rm -f conftest*]) ++ if test "x${libc_cv_section_attributes}" = "xyes"; then ++ AC_DEFINE(HAVE_SECTION_ATTRIBUTES) ++ fi ++ ;; ++esac ++ ++AC_CACHE_CHECK([for symbol prefix], libc_cv_symbol_prefix, [dnl ++cat > conftest.c <<\EOF ++foo () { } ++EOF ++dnl ++libc_cv_symbol_prefix=none ++if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); ++then ++ libc_cv_symbol_prefix='$' ++else ++ if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]); ++ then ++ libc_cv_symbol_prefix=_ ++ fi ++fi ++rm -f conftest* ]) ++if test $libc_cv_symbol_prefix != none; then ++ AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_cv_symbol_prefix") ++else ++ AC_DEFINE(__SYMBOL_PREFIX, "") ++fi ++ ++LIB_AC_PROG_CC ++AS=${AS-as} ++AC_SUBST(AS) ++AR=${AR-ar} ++AC_SUBST(AR) ++LD=${LD-ld} ++AC_SUBST(LD) ++AC_PROG_RANLIB ++LIB_AM_PROG_AS ++ ++host_makefile_frag=${srcdir}/../config/default.mh ++ ++dnl We have to assign the same value to other variables because autoconf ++dnl doesn't provide a mechanism to substitute a replacement keyword with ++dnl arbitrary data or pathnames. ++dnl ++host_makefile_frag_path=$host_makefile_frag ++AC_SUBST(host_makefile_frag_path) ++AC_SUBST_FILE(host_makefile_frag) ++ ++AC_CONFIG_FILES(Makefile, ++ac_file=Makefile . ${libgloss_topdir}/config-ml.in, ++srcdir=${srcdir} ++target=${target} ++with_multisubdir=${with_multisubdir} ++ac_configure_args="${ac_configure_args} --enable-multilib" ++CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} ++libgloss_topdir=${libgloss_topdir} ++) ++AC_OUTPUT ++ ++ +diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c +new file mode 100644 +index 000000000..bed699102 +--- /dev/null ++++ b/libgloss/libsysbase/dirent.c +@@ -0,0 +1,255 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static DIR_ITER * __diropen (const char *path) { ++ struct _reent *r = _REENT; ++ DIR_ITER *handle = NULL; ++ DIR_ITER *dir = NULL; ++ int dev; ++ ++ dev = FindDevice(path); ++ ++ if(dev!=-1) { ++ if(devoptab_list[dev]->diropen_r) { ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ handle = (DIR_ITER *)malloc( sizeof(DIR_ITER) + devoptab_list[dev]->dirStateSize ); ++ ++ if ( NULL != handle ) { ++ handle->device = dev; ++ handle->dirStruct = ((void *)handle) + sizeof(DIR_ITER); ++ ++ dir = devoptab_list[dev]->diropen_r(r, handle, path); ++ ++ if ( dir == NULL ) { ++ free (handle); ++ handle = NULL; ++ } ++ } else { ++ r->_errno = ENOSR; ++ handle = NULL; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ ++ return handle; ++} ++ ++static int __dirreset (DIR_ITER *dirState) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; ++ ++ if (dirState != NULL) { ++ dev = dirState->device; ++ ++ if(devoptab_list[dev]->dirreset_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirreset_r(r, dirState); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; ++} ++ ++static int __dirnext (DIR_ITER *dirState, char *filename, struct stat *filestat) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; ++ ++ if (dirState != NULL) { ++ dev = dirState->device; ++ ++ if(devoptab_list[dev]->dirnext_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirnext_r(r, dirState, filename, filestat); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; ++} ++ ++static int __dirclose (DIR_ITER *dirState) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; ++ ++ if (dirState != NULL) { ++ dev = dirState->device; ++ ++ if (devoptab_list[dev]->dirclose_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirclose_r (r, dirState); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ free (dirState); ++ } ++ return ret; ++} ++ ++DIR* opendir (const char *dirname) { ++ DIR* dirp = malloc (sizeof(DIR)); ++ if (!dirp) { ++ errno = ENOMEM; ++ return NULL; ++ } ++ ++ dirp->dirData = __diropen (dirname); ++ if (!dirp->dirData) { ++ free (dirp); ++ return NULL; ++ } ++ ++ dirp->position = 0; // 0th position means no file name has been returned yet ++ dirp->fileData.d_ino = -1; ++ dirp->fileData.d_name[0] = '\0'; ++ ++ return dirp; ++} ++ ++ ++int closedir (DIR *dirp) { ++ int res; ++ ++ if (!dirp) { ++ errno = EBADF; ++ return -1; ++ } ++ ++ res = __dirclose (dirp->dirData); ++ free (dirp); ++ return res; ++} ++ ++ ++struct dirent* readdir (DIR *dirp) { ++ struct stat st; ++ char filename[NAME_MAX]; ++ int res; ++ int olderrno = errno; ++ ++ if (!dirp) { ++ errno = EBADF; ++ return NULL; ++ } ++ ++ res = __dirnext (dirp->dirData, filename, &st); ++ ++ if (res < 0) { ++ if (errno == ENOENT) { ++ // errno == ENONENT set by dirnext means it's end of directory ++ // But readdir should not touch errno in case of dir end ++ errno = olderrno; ++ } ++ return NULL; ++ } ++ ++ // We've moved forward in the directory ++ dirp->position += 1; ++ ++ if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { ++ errno = EOVERFLOW; ++ return NULL; ++ } ++ ++ strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); ++ dirp->fileData.d_ino = st.st_ino; ++ dirp->fileData.d_type = IFTODT(st.st_mode); ++ ++ return &(dirp->fileData); ++} ++ ++ ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { ++ struct stat st; ++ char filename[NAME_MAX]; ++ int res; ++ ++ if (!dirp) { ++ return EBADF; ++ } ++ ++ res = __dirnext (dirp->dirData, filename, &st); ++ ++ if (res < 0) { ++ res = errno; ++ *result = NULL; ++ if (errno == ENOENT) { ++ // errno == ENONENT set by dirnext means it's end of directory ++ // But readdir should not touch errno in case of dir end ++ res = 0; ++ } ++ return res; ++ } ++ ++ // We've moved forward in the directory ++ dirp->position += 1; ++ ++ if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { ++ errno = EOVERFLOW; ++ return EOVERFLOW; ++ } ++ ++ strncpy (entry->d_name, filename, sizeof(entry->d_name)); ++ entry->d_ino = st.st_ino; ++ ++ *result = entry; ++ return 0; ++} ++ ++ ++void rewinddir (DIR *dirp) { ++ if (!dirp) { ++ return; ++ } ++ ++ __dirreset (dirp->dirData); ++ dirp->position = 0; ++} ++ ++ ++void seekdir(DIR *dirp, long int loc) { ++ char filename[NAME_MAX]; ++ ++ if (!dirp || loc < 0) { ++ return; ++ } ++ ++ if (dirp->position > loc) { ++ // The entry we want is before the one we have, ++ // so we have to start again from the begining ++ __dirreset (dirp->dirData); ++ dirp->position = 0; ++ } ++ ++ // Keep reading entries until we reach the one we want ++ while ((dirp->position < loc) && ++ (__dirnext (dirp->dirData, filename, NULL) >= 0)) ++ { ++ dirp->position += 1; ++ } ++} ++ ++ ++long int telldir(DIR *dirp) { ++ if (!dirp) { ++ return -1; ++ } ++ ++ return dirp->position; ++} +diff --git a/libgloss/libsysbase/dummy.c b/libgloss/libsysbase/dummy.c +new file mode 100644 +index 000000000..e69de29bb +diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c +new file mode 100644 +index 000000000..1c485b26f +--- /dev/null ++++ b/libgloss/libsysbase/environ.c +@@ -0,0 +1,6 @@ ++/* ++ * Version of environ for no OS. ++ */ ++ ++char *__env[1] = { 0 }; ++char **environ = __env; +diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c +new file mode 100644 +index 000000000..0f192e582 +--- /dev/null ++++ b/libgloss/libsysbase/execve.c +@@ -0,0 +1,16 @@ ++/* ++ * Stub version of execve. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++int _execve_r( struct _reent * r, char *name, char **argv, char **env) { ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return -1; ++} ++ +diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c +new file mode 100644 +index 000000000..5c5831cdf +--- /dev/null ++++ b/libgloss/libsysbase/fchmod.c +@@ -0,0 +1,31 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++#include ++ ++int fchmod(int fd, mode_t mode) { ++ int ret = -1, dev; ++ struct _reent *r = _REENT; ++ ++ if(fd!=-1) { ++ ++ __handle *handle = __get_handle(fd); ++ ++ if ( handle != NULL) { ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fchmod_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fchmod_r(r,handle->fileStruct,mode); ++ } else ++ r->_errno=ENOSYS; ++ } ++ } ++ return ret; ++} +diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c +new file mode 100644 +index 000000000..8a66cd19f +--- /dev/null ++++ b/libgloss/libsysbase/flock.c +@@ -0,0 +1,22 @@ ++#include ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#ifndef REENTRANT_SYSCALLS_PROVIDED ++#include ++#endif ++#include ++#include ++ ++void __flockfile(FILE *fp) ++{ ++ __lock_acquire_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); ++} ++ ++void __funlockfile(FILE *fp) ++{ ++ __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); ++} ++ +diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c +new file mode 100644 +index 000000000..893b662ab +--- /dev/null ++++ b/libgloss/libsysbase/fnmatch.c +@@ -0,0 +1,201 @@ ++/* ++ * Copyright (c) 1989, 1993, 1994 ++ * The Regents of the University of California. All rights reserved. ++ * ++ * This code is derived from software contributed to Berkeley by ++ * Guido van Rossum. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. All advertising materials mentioning features or use of this software ++ * must display the following acknowledgement: ++ * This product includes software developed by the University of ++ * California, Berkeley and its contributors. ++ * 4. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * From FreeBSD fnmatch.c 1.11 ++ * $Id: fnmatch.c,v 1.3 1997/08/19 02:34:30 jdp Exp $ ++ */ ++ ++#define _GNU_SOURCE ++ ++#if defined(LIBC_SCCS) && !defined(lint) ++static char sccsid[] = "@(#)fnmatch.c 8.2 (Berkeley) 4/16/94"; ++#endif /* LIBC_SCCS and not lint */ ++ ++/* ++ * Function fnmatch() as specified in POSIX 1003.2-1992, section B.6. ++ * Compares a filename or pathname to a pattern. ++ */ ++ ++#include ++#include ++#include ++ ++#include "fnmatch.h" ++ ++#define EOS '\0' ++ ++static const char *rangematch(const char *, char, int); ++ ++int ++fnmatch(const char *pattern, const char *string, int flags) ++{ ++ const char *stringstart; ++ char c, test; ++ ++ for (stringstart = string;;) ++ switch (c = *pattern++) { ++ case EOS: ++ if ((flags & FNM_LEADING_DIR) && *string == '/') ++ return (0); ++ return (*string == EOS ? 0 : FNM_NOMATCH); ++ case '?': ++ if (*string == EOS) ++ return (FNM_NOMATCH); ++ if (*string == '/' && (flags & FNM_PATHNAME)) ++ return (FNM_NOMATCH); ++ if (*string == '.' && (flags & FNM_PERIOD) && ++ (string == stringstart || ++ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) ++ return (FNM_NOMATCH); ++ ++string; ++ break; ++ case '*': ++ c = *pattern; ++ /* Collapse multiple stars. */ ++ while (c == '*') ++ c = *++pattern; ++ ++ if (*string == '.' && (flags & FNM_PERIOD) && ++ (string == stringstart || ++ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) ++ return (FNM_NOMATCH); ++ ++ /* Optimize for pattern with * at end or before /. */ ++ if (c == EOS) ++ if (flags & FNM_PATHNAME) ++ return ((flags & FNM_LEADING_DIR) || ++ strchr(string, '/') == NULL ? ++ 0 : FNM_NOMATCH); ++ else ++ return (0); ++ else if (c == '/' && flags & FNM_PATHNAME) { ++ if ((string = strchr(string, '/')) == NULL) ++ return (FNM_NOMATCH); ++ break; ++ } ++ ++ /* General case, use recursion. */ ++ while ((test = *string) != EOS) { ++ if (!fnmatch(pattern, string, flags & ~FNM_PERIOD)) ++ return (0); ++ if (test == '/' && flags & FNM_PATHNAME) ++ break; ++ ++string; ++ } ++ return (FNM_NOMATCH); ++ case '[': ++ if (*string == EOS) ++ return (FNM_NOMATCH); ++ if (*string == '/' && flags & FNM_PATHNAME) ++ return (FNM_NOMATCH); ++ if ((pattern = ++ rangematch(pattern, *string, flags)) == NULL) ++ return (FNM_NOMATCH); ++ ++string; ++ break; ++ case '\\': ++ if (!(flags & FNM_NOESCAPE)) { ++ if ((c = *pattern++) == EOS) { ++ c = '\\'; ++ --pattern; ++ } ++ } ++ /* FALLTHROUGH */ ++ default: ++ if (c == *string) ++ ; ++ else if ((flags & FNM_CASEFOLD) && ++ (tolower((unsigned char)c) == ++ tolower((unsigned char)*string))) ++ ; ++ else if ((flags & FNM_PREFIX_DIRS) && *string == EOS && ++ ((c == '/' && string != stringstart) || ++ (string == stringstart+1 && *stringstart == '/'))) ++ return (0); ++ else ++ return (FNM_NOMATCH); ++ string++; ++ break; ++ } ++ /* NOTREACHED */ ++} ++ ++static const char * ++rangematch(const char *pattern, char test, int flags) ++{ ++ int negate, ok; ++ char c, c2; ++ ++ /* ++ * A bracket expression starting with an unquoted circumflex ++ * character produces unspecified results (IEEE 1003.2-1992, ++ * 3.13.2). This implementation treats it like '!', for ++ * consistency with the regular expression syntax. ++ * J.T. Conklin (conklin@ngai.kaleida.com) ++ */ ++ if ( (negate = (*pattern == '!' || *pattern == '^')) ) ++ ++pattern; ++ ++ if (flags & FNM_CASEFOLD) ++ test = tolower((unsigned char)test); ++ ++ for (ok = 0; (c = *pattern++) != ']';) { ++ if (c == '\\' && !(flags & FNM_NOESCAPE)) ++ c = *pattern++; ++ if (c == EOS) ++ return (NULL); ++ ++ if (flags & FNM_CASEFOLD) ++ c = tolower((unsigned char)c); ++ ++ if (*pattern == '-' ++ && (c2 = *(pattern+1)) != EOS && c2 != ']') { ++ pattern += 2; ++ if (c2 == '\\' && !(flags & FNM_NOESCAPE)) ++ c2 = *pattern++; ++ if (c2 == EOS) ++ return (NULL); ++ ++ if (flags & FNM_CASEFOLD) ++ c2 = tolower((unsigned char)c2); ++ ++ if ((unsigned char)c <= (unsigned char)test && ++ (unsigned char)test <= (unsigned char)c2) ++ ok = 1; ++ } else if (c == test) ++ ok = 1; ++ } ++ return (ok == negate ? NULL : pattern); ++} +diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c +new file mode 100644 +index 000000000..2bada9736 +--- /dev/null ++++ b/libgloss/libsysbase/fork.c +@@ -0,0 +1,15 @@ ++/* ++ * Stub version of fork. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++int _fork_r(struct _reent * r) { ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return -1; ++} +diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c +new file mode 100644 +index 000000000..32267b828 +--- /dev/null ++++ b/libgloss/libsysbase/fstat.c +@@ -0,0 +1,32 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++//--------------------------------------------------------------------------------- ++int _fstat_r(struct _reent * r, int fileDesc, struct stat *st) { ++//--------------------------------------------------------------------------------- ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = NULL; ++ ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fstat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fstat_r(r,handle->fileStruct,st); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; ++} +diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c +new file mode 100644 +index 000000000..fb06cb6d1 +--- /dev/null ++++ b/libgloss/libsysbase/fsync.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#include ++ ++int fsync(int fileDesc ) { ++ int ret = -1; ++ unsigned int dev = 0; ++ unsigned int fd = -1; ++ struct _reent *r = _REENT; ++ ++ __handle * handle; ++ ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) { ++ errno = EINVAL; ++ return ret; ++ } ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fsync_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fsync_r(r, handle->fileStruct); ++ } else ++ r->_errno=ENOSYS; ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c +new file mode 100644 +index 000000000..0cd7d0fc4 +--- /dev/null ++++ b/libgloss/libsysbase/ftruncate.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#include ++ ++int ftruncate(int fileDesc, off_t len) { ++ int ret = -1; ++ unsigned int dev = 0; ++ unsigned int fd = -1; ++ struct _reent *r = _REENT; ++ ++ __handle * handle; ++ ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) { ++ r->_errno = EINVAL; ++ return ret; ++ } ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->ftruncate_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); ++ } else ++ r->_errno=ENOSYS; ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c +new file mode 100644 +index 000000000..c834c4c94 +--- /dev/null ++++ b/libgloss/libsysbase/getpid.c +@@ -0,0 +1,12 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++int _getpid_r(struct _reent *ptr) { ++//--------------------------------------------------------------------------------- ++ ptr->_errno = ENOSYS; ++ return -1; ++} ++ +diff --git a/libgloss/libsysbase/getreent.c b/libgloss/libsysbase/getreent.c +new file mode 100644 +index 000000000..a3f1e98a9 +--- /dev/null ++++ b/libgloss/libsysbase/getreent.c +@@ -0,0 +1,20 @@ ++ ++/* default reentrant pointer when multithread enabled */ ++ ++#include <_ansi.h> ++#include ++#include ++ ++#ifdef __getreent ++#undef __getreent ++#endif ++ ++struct _reent *__getreent() { ++ if ( __has_syscall(getreent) ) { ++ return __syscall_getreent(); ++ } else { ++ return _impure_ptr; ++ } ++} ++ ++ +diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c +new file mode 100644 +index 000000000..0606a1204 +--- /dev/null ++++ b/libgloss/libsysbase/gettod.c +@@ -0,0 +1,18 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++//--------------------------------------------------------------------------------- ++int _gettimeofday_r( struct _reent *ptr, struct timeval *ptimeval, void *ptimezone) { ++//--------------------------------------------------------------------------------- ++ if ( __has_syscall(gettod_r) ) return __syscall_gettod_r(ptr, ptimeval, ptimezone); ++ ++ ptr->_errno = ENOSYS; ++ return -1; ++ ++} ++ +diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c +new file mode 100644 +index 000000000..45d5cf77c +--- /dev/null ++++ b/libgloss/libsysbase/handle_manager.c +@@ -0,0 +1,222 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#include ++ ++#define MAX_HANDLES 1024 ++ ++static __handle __stdin_handle = {0, 1, NULL}; ++static __handle __stdout_handle = {1, 1, NULL}; ++static __handle __stderr_handle = {2, 1, NULL}; ++ ++static __handle* handles[MAX_HANDLES] = { ++ &__stdin_handle, ++ &__stdout_handle, ++ &__stderr_handle ++}; ++ ++__LOCK_INIT(static, __hndl_lock); ++ ++static void __free_handle(__handle *handle) { ++ ++ if ( NULL != handle ++ && handle != &__stdin_handle ++ && handle != &__stdout_handle ++ && handle != &__stderr_handle ) { ++ ++ free(handle); ++ ++ } ++ ++} ++ ++void __release_handle(int fd) { ++ ++ if ( fd <0 || fd >= MAX_HANDLES ) return; ++ ++ __lock_acquire (__hndl_lock); ++ ++ __free_handle(handles[fd]); ++ handles[fd] = NULL; ++ ++ __lock_release (__hndl_lock); ++ ++} ++ ++int __alloc_handle(int device) { ++ ++ int i, ret = -1; ++ ++ __lock_acquire (__hndl_lock); ++ ++ for ( i = 0; i < MAX_HANDLES; i++ ) { ++ if ( handles[i] == NULL ) break; ++ } ++ ++ size_t size = sizeof(__handle) + devoptab_list[device]->structSize; ++ ++ if ( i < MAX_HANDLES ) { ++ handles[i] = malloc(size); ++ __handle *handle = handles[i]; ++ if ( NULL != handles[i] ) { ++ ++ handles[i]->refcount = 1; ++ ret = i; ++ handles[i]->device = device; ++ handles[i]->fileStruct = (void *)&handle[1]; ++ ++ } else { ++ ++ errno = ENOMEM; ++ ++ } ++ } else { ++ ++ errno = ENFILE; ++ ++ } ++ ++ __lock_release (__hndl_lock); ++ ++ return ret; ++} ++ ++__handle *__get_handle(int fd) { ++ ++ if ( fd < 0 || fd >= MAX_HANDLES ) return NULL; ++ ++ __lock_acquire (__hndl_lock); ++ __handle *handle = handles[fd]; ++ __lock_release (__hndl_lock); ++ ++ return handle; ++} ++ ++int dup(int oldfd) { ++ int i, ret =-1; ++ ++ __lock_acquire (__hndl_lock); ++ ++ if (handles[oldfd]==NULL) { ++ __lock_release (__hndl_lock); ++ errno = EBADF; ++ return -1; ++ } ++ ++ ++ for ( i = 0; i < MAX_HANDLES; i++ ) { ++ if ( handles[i] == NULL ) break; ++ } ++ ++ if (irefcount++; ++ ret = i; ++ } ++ __lock_release (__hndl_lock); ++ ++ return ret; ++ ++} ++ ++int dup2(int oldfd, int newfd) { ++ ++ if ( newfd < 0 || newfd >= MAX_HANDLES || ++ oldfd < 0 || oldfd >= MAX_HANDLES) { ++ ++ errno = EBADF; ++ ++ return -1; ++ } ++ ++ if ( newfd == oldfd ) { ++ return newfd; ++ } ++ ++ __lock_acquire (__hndl_lock); ++ ++ if ( handles[oldfd] == NULL ) { ++ __lock_release (__hndl_lock); ++ errno = EBADF; ++ ++ return -1; ++ } ++ ++ __handle *handle = handles[newfd]; ++ ++ handles[newfd] = handles[oldfd]; ++ handles[newfd]->refcount++; ++ ++ if ( handle ) { ++ ++ int ref = --handle->refcount; ++ __lock_release (__hndl_lock); ++ ++ if ( ref == 0 ) { ++ ++ if ( devoptab_list[handle->device]->close_r ) { ++ ++ _REENT->deviceData = devoptab_list[handle->device]->deviceData; ++ devoptab_list[handle->device]->close_r(_REENT,handle->fileStruct); ++ ++ } ++ ++ __free_handle(handle); ++ } ++ ++ } else { ++ ++ __lock_release (__hndl_lock); ++ ++ } ++ ++ return newfd; ++} ++ ++//--------------------------------------------------------------------------------- ++int _close_r(struct _reent *ptr, int fd) { ++//--------------------------------------------------------------------------------- ++ int ret = 0; ++ ++ if (fd < 0 || fd >= MAX_HANDLES) { ++ ++ ptr->_errno = EBADF; ++ return -1; ++ ++ } ++ ++ __lock_acquire (__hndl_lock); ++ ++ __handle *handle = handles[fd]; ++ ++ if ( !handle ) { ++ ++ __lock_release (__hndl_lock); ++ ptr->_errno = EBADF; ++ return -1; ++ ++ } ++ ++ int ref = --handle->refcount; ++ handles[fd] = NULL; ++ ++ __lock_release (__hndl_lock); ++ ++ if ( ref == 0 ) { ++ ++ if ( devoptab_list[handle->device]->close_r ) { ++ ++ ptr->deviceData = devoptab_list[handle->device]->deviceData; ++ ret = devoptab_list[handle->device]->close_r(ptr,handle->fileStruct); ++ ++ } ++ ++ __free_handle(handle); ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/handle_manager.h b/libgloss/libsysbase/handle_manager.h +new file mode 100644 +index 000000000..5e81c5d42 +--- /dev/null ++++ b/libgloss/libsysbase/handle_manager.h +@@ -0,0 +1,10 @@ ++#ifndef __HANDLE_MANAGER_H__ ++#define __HANDLE_MANAGER_H__ ++ ++#include ++ ++void __release_handle(int fd); ++int __alloc_handle(int device); ++__handle *__get_handle(int fd); ++ ++#endif +diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c +new file mode 100644 +index 000000000..948c6ef93 +--- /dev/null ++++ b/libgloss/libsysbase/iosupport.c +@@ -0,0 +1,140 @@ ++#include ++#include ++#include ++#include ++ ++static int defaultDevice = -1; ++ ++//--------------------------------------------------------------------------------- ++void setDefaultDevice( int device ) { ++//--------------------------------------------------------------------------------- ++ ++ if ( device >2 && device <= STD_MAX) ++ defaultDevice = device; ++} ++ ++//--------------------------------------------------------------------------------- ++static ssize_t null_write(struct _reent *r,void *fd,const char *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ return len; ++} ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t dotab_stdnull = { ++//--------------------------------------------------------------------------------- ++ "stdnull", // device name ++ 0, // size of file structure ++ NULL, // device open ++ NULL, // device close ++ null_write, // device write ++ NULL, // device read ++ NULL, // device seek ++ NULL, // device fstat ++ NULL, // device stat ++ NULL, // device link ++ NULL, // device unlink ++ NULL, // device chdir ++ NULL, // device rename ++ NULL, // device mkdir ++ 0, // dirStateSize ++ NULL, // device diropen_r ++ NULL, // device dirreset_r ++ NULL, // device dirnext_r ++ NULL, // device dirclose_r ++ NULL, // device statvfs_r ++ NULL, // device ftruncate_r ++ NULL, // device fsync_r ++ NULL, // deviceData ++ NULL, // chmod_r ++ NULL, // fchmod_r ++ NULL, // rmdir_r ++ NULL, // lstat_r ++ NULL, // utimes_r ++}; ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t *devoptab_list[STD_MAX] = { ++//--------------------------------------------------------------------------------- ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull ++}; ++ ++//--------------------------------------------------------------------------------- ++int FindDevice(const char* name) { ++//--------------------------------------------------------------------------------- ++ int i = 0, namelen, dev_namelen, dev = -1; ++ char *separator; ++ ++ separator = strchr(name, ':'); ++ ++ if (separator == NULL) return defaultDevice; ++ ++ dev_namelen = separator - name; ++ ++ while(iname); ++ if(dev_namelen == namelen && strncmp(devoptab_list[i]->name,name,namelen)==0 ) { ++ if ( name[namelen] == ':' || (isdigit(name[namelen]) && name[namelen+1] ==':' )) { ++ dev = i; ++ break; ++ } ++ } ++ } ++ i++; ++ } ++ ++ return dev; ++} ++ ++//--------------------------------------------------------------------------------- ++int RemoveDevice( const char* name) { ++//--------------------------------------------------------------------------------- ++ int dev = FindDevice(name); ++ ++ if ( -1 != dev ) { ++ devoptab_list[dev] = &dotab_stdnull; ++ return 0; ++ } ++ ++ return -1; ++ ++} ++ ++//--------------------------------------------------------------------------------- ++int AddDevice( const devoptab_t* device) { ++//--------------------------------------------------------------------------------- ++ ++ int devnum; ++ ++ for ( devnum = 3;devnum name, device->name) && ++ strlen(devoptab_list[devnum]->name) == strlen(device->name) ) || ++ !strcmp(devoptab_list[devnum]->name, "stdnull") ++ ) ++ break; ++ } ++ ++ if ( devnum == STD_MAX ) { ++ devnum = -1; ++ } else { ++ devoptab_list[devnum] = device; ++ } ++ return devnum; ++} ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t* GetDeviceOpTab (const char *name) { ++//--------------------------------------------------------------------------------- ++ int dev = FindDevice(name); ++ if (dev >= 0 && dev < STD_MAX) { ++ return devoptab_list[dev]; ++ } else { ++ return NULL; ++ } ++} ++ ++ +diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c +new file mode 100644 +index 000000000..2901f1474 +--- /dev/null ++++ b/libgloss/libsysbase/isatty.c +@@ -0,0 +1,10 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++int _isatty_r( struct _reent *ptr, int file) { ++//--------------------------------------------------------------------------------- ++ return 0; ++} +diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c +new file mode 100644 +index 000000000..a7f10c0c5 +--- /dev/null ++++ b/libgloss/libsysbase/kill.c +@@ -0,0 +1,15 @@ ++/* ++ * Stub version of kill. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++int _kill_r( struct _reent *ptr, int pid, int sig) { ++//--------------------------------------------------------------------------------- ++ ptr->_errno = ENOSYS; ++ return -1; ++} +diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c +new file mode 100644 +index 000000000..d7a988359 +--- /dev/null ++++ b/libgloss/libsysbase/link.c +@@ -0,0 +1,30 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++//--------------------------------------------------------------------------------- ++int _link_r(struct _reent *r, const char *existing, const char *new) { ++//--------------------------------------------------------------------------------- ++ int ret; ++ int sourceDev = FindDevice(existing); ++ int destDev = FindDevice(new); ++ ++ ret = -1; ++ ++ if ( sourceDev == destDev) { ++ if (devoptab_list[destDev]->link_r) { ++ r->deviceData = devoptab_list[destDev]->deviceData; ++ ret = devoptab_list[destDev]->link_r( r, existing, new); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = EXDEV; ++ } ++ ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c +new file mode 100644 +index 000000000..39ef385b1 +--- /dev/null ++++ b/libgloss/libsysbase/lseek.c +@@ -0,0 +1,35 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++#include ++ ++#include ++ ++//--------------------------------------------------------------------------------- ++_off_t _lseek_r(struct _reent * r, int fileDesc, _off_t pos, int dir) { ++//--------------------------------------------------------------------------------- ++ _off_t ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle; ++ ++ if(fileDesc!=-1) { ++ ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->seek_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->seek_r( r, handle->fileStruct, pos, dir); ++ } else ++ r->_errno=ENOSYS; ++ ++ } ++ return ret; ++ ++} +diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c +new file mode 100644 +index 000000000..467744e9c +--- /dev/null ++++ b/libgloss/libsysbase/lstat.c +@@ -0,0 +1,30 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++ ++//--------------------------------------------------------------------------------- ++int lstat(const char *__restrict __path, struct stat *__restrict __buf ) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++ int dev,ret=-1; ++ ++ dev = FindDevice(__path); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->lstat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->lstat_r(r,__path,__buf); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c +new file mode 100644 +index 000000000..456590956 +--- /dev/null ++++ b/libgloss/libsysbase/malloc_vars.c +@@ -0,0 +1,2 @@ ++char *fake_heap_end = (char*)0; ++char *fake_heap_start = (char*)0; +diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c +new file mode 100644 +index 000000000..b4fcbd3d7 +--- /dev/null ++++ b/libgloss/libsysbase/mkdir.c +@@ -0,0 +1,19 @@ ++#include ++#include ++#include ++ ++int mkdir (const char *path, mode_t mode) { ++ struct _reent *r = _REENT; ++ int ret; ++ int dev = FindDevice(path); ++ ret = -1; ++ ++ if (devoptab_list[dev]->mkdir_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->mkdir_r(r, path, mode); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c +new file mode 100644 +index 000000000..a233b9df6 +--- /dev/null ++++ b/libgloss/libsysbase/nanosleep.c +@@ -0,0 +1,14 @@ ++#include ++#include ++#include ++ ++int nanosleep(const struct timespec *req, struct timespec *rem) ++{ ++ if ( __has_syscall(nanosleep) ) { ++ return __syscall_nanosleep(req, rem); ++ } else { ++ *rem = *req; ++ errno = ENOSYS; ++ return -1; ++ } ++} +diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c +new file mode 100644 +index 000000000..ca17db8bf +--- /dev/null ++++ b/libgloss/libsysbase/open.c +@@ -0,0 +1,46 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++#include ++ ++//--------------------------------------------------------------------------------- ++int _open_r(struct _reent *r, const char *file, int flags, int mode) { ++//--------------------------------------------------------------------------------- ++ __handle *handle; ++ int dev, fd, ret; ++ ++ dev = FindDevice(file); ++ ++ fd = -1; ++ if(dev!=-1) { ++ if (devoptab_list[dev]->open_r) { ++ fd = __alloc_handle(dev); ++ ++ if ( -1 != fd ) { ++ handle = __get_handle(fd); ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, flags, mode); ++ ++ if ( ret == -1 ) { ++ __release_handle(fd); ++ fd = -1; ++ } ++ } else { ++ r->_errno = ENOSR; ++ } ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return fd; ++} +diff --git a/libgloss/libsysbase/pathconf.c b/libgloss/libsysbase/pathconf.c +new file mode 100644 +index 000000000..f2b9e9dbf +--- /dev/null ++++ b/libgloss/libsysbase/pathconf.c +@@ -0,0 +1,53 @@ ++#include ++#include ++#include ++#include ++ ++long pathconf(const char *path, int name) { ++ return fpathconf(-1, name); ++} ++ ++long fpathconf(int fd, int name) ++{ ++ struct _reent *r = _REENT; ++ ++ switch (name) { ++ case _PC_LINK_MAX: ++ return 1; ++ case _PC_MAX_CANON: ++ return MAX_CANON; ++ case _PC_MAX_INPUT: ++ return MAX_INPUT; ++ case _PC_NAME_MAX: ++ return NAME_MAX; ++ case _PC_PATH_MAX: ++ return PATH_MAX; ++ case _PC_PIPE_BUF: ++ return PIPE_BUF; ++ case _PC_CHOWN_RESTRICTED: ++ break; // chown is not implemented ++ case _PC_NO_TRUNC: ++ return 1; ++ case _PC_VDISABLE: ++ break; // termios is not supported ++ case _PC_SYNC_IO: ++ return 1; ++ case _PC_ASYNC_IO: ++ case _PC_PRIO_IO: ++ break; ++ case _PC_FILESIZEBITS: ++ return 64; ++ case _PC_REC_INCR_XFER_SIZE: ++ case _PC_REC_MAX_XFER_SIZE: ++ case _PC_REC_MIN_XFER_SIZE: ++ case _PC_REC_XFER_ALIGN: ++ case _PC_ALLOC_SIZE_MIN: ++ case _PC_SYMLINK_MAX: ++ break; ++ case _PC_2_SYMLINKS: ++ return 1; ++ } ++ ++ r->_errno = EINVAL; ++ return -1; ++} +diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c +new file mode 100755 +index 000000000..ff84cd355 +--- /dev/null ++++ b/libgloss/libsysbase/pthread.c +@@ -0,0 +1,1083 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static inline uint64_t ++__pthread_abstime_to_ns (const struct timespec *__abstime) ++{ ++ return __abstime ? abstimespec2nsec(CLOCK_REALTIME, __abstime) : UINT64_MAX; ++} ++ ++int ++pthread_atfork (void (*prepare)(void), void (*parent)(void), void (*child)(void)) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++//----------------------------------------------------------------------------- ++// Mutex attributes ++//----------------------------------------------------------------------------- ++ ++int ++pthread_mutexattr_init (pthread_mutexattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->type = PTHREAD_MUTEX_NORMAL; ++ return 0; ++} ++ ++int ++pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_mutexattr_getpshared (const pthread_mutexattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_mutexattr_gettype (const pthread_mutexattr_t *__attr, int *__kind) ++{ ++ if (!__attr || !__kind) ++ return EINVAL; ++ *__kind = __attr->type; ++ return 0; ++} ++ ++int ++pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->type = __kind; ++ return 0; ++} ++ ++//----------------------------------------------------------------------------- ++// Mutex ++//----------------------------------------------------------------------------- ++ ++int ++pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__attr) ++{ ++ pthread_mutexattr_t __default; ++ if (!__attr) { ++ pthread_mutexattr_init(&__default); ++ __attr = &__default; ++ } ++ if (!__mutex) ++ return EINVAL; ++ ++ __mutex->type = __attr->type; ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: ++ case PTHREAD_MUTEX_DEFAULT: ++ __mutex->normal = __LOCK_INITIALIZER; ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ __mutex->recursive = __LOCK_INITIALIZER_RECURSIVE; ++ break; ++ default: ++ return EINVAL; ++ } ++ ++ return 0; ++} ++ ++int ++pthread_mutex_destroy (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_mutex_lock (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; ++ ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ __lock_acquire(__mutex->normal); ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ __lock_acquire_recursive(__mutex->recursive); ++ break; ++ default: ++ return EINVAL; ++ } ++ ++ return 0; ++} ++ ++int ++pthread_mutex_trylock (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; ++ ++ int rc = 0; ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ rc = __lock_try_acquire(__mutex->normal); ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ rc = __lock_try_acquire_recursive(__mutex->recursive); ++ break; ++ default: ++ return EINVAL; ++ } ++ ++ if (rc) ++ return EBUSY; ++ return 0; ++} ++ ++int ++pthread_mutex_unlock (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; ++ ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ __lock_release(__mutex->normal); ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ __lock_release_recursive(__mutex->recursive); ++ break; ++ default: ++ return EINVAL; ++ } ++ ++ return 0; ++} ++ ++//----------------------------------------------------------------------------- ++// Condition variable attributes ++//----------------------------------------------------------------------------- ++ ++int ++pthread_condattr_init (pthread_condattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->clock_id = CLOCK_REALTIME; ++ return 0; ++} ++ ++int ++pthread_condattr_destroy (pthread_condattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_condattr_getclock (const pthread_condattr_t *__restrict __attr, clockid_t *__restrict __clock_id) ++{ ++ if (!__attr || !__clock_id) ++ return EINVAL; ++ *__clock_id = __attr->clock_id; ++ return 0; ++} ++ ++int ++pthread_condattr_setclock (pthread_condattr_t *__attr, clockid_t __clock_id) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->clock_id = __clock_id; ++ return 0; ++} ++ ++int ++pthread_condattr_getpshared (const pthread_condattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_condattr_setpshared (pthread_condattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} ++ ++//----------------------------------------------------------------------------- ++// Condition variable ++//----------------------------------------------------------------------------- ++ ++int ++pthread_cond_init (pthread_cond_t *__cond, const pthread_condattr_t *__attr) ++{ ++ pthread_condattr_t __default; ++ if (!__attr) { ++ pthread_condattr_init(&__default); ++ __attr = &__default; ++ } ++ if (!__cond) ++ return EINVAL; ++ ++ __cond->clock_id = __attr->clock_id; ++ __cond->cond = __COND_INITIALIZER; ++ return 0; ++} ++ ++int ++pthread_cond_destroy (pthread_cond_t *__cond) ++{ ++ if (!__cond) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_cond_signal (pthread_cond_t *__cond) ++{ ++ if (!__cond) ++ return EINVAL; ++ return __cond_signal(__cond->cond); ++} ++ ++int ++pthread_cond_broadcast (pthread_cond_t *__cond) ++{ ++ if (!__cond) ++ return EINVAL; ++ return __cond_broadcast(__cond->cond); ++} ++ ++static int ++__pthread_cond_wait_common (pthread_cond_t *__cond, pthread_mutex_t *__mutex, uint64_t timeout_ns) ++{ ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ return __cond_wait(__cond->cond, __mutex->normal, timeout_ns); ++ case PTHREAD_MUTEX_RECURSIVE: ++ return __cond_wait_recursive(__cond->cond, __mutex->recursive, timeout_ns); ++ default: ++ return EINVAL; ++ } ++} ++ ++int ++pthread_cond_wait (pthread_cond_t *__cond, pthread_mutex_t *__mutex) ++{ ++ if (!__cond || !__mutex) ++ return EINVAL; ++ return __pthread_cond_wait_common(__cond, __mutex, UINT64_MAX); ++} ++ ++int ++pthread_cond_timedwait (pthread_cond_t *__cond, pthread_mutex_t *__mutex, const struct timespec *__abstime) ++{ ++ if (!__cond || !__mutex || !__abstime) ++ return EINVAL; ++ return __pthread_cond_wait_common(__cond, __mutex, abstimespec2nsec(__cond->clock_id, __abstime)); ++} ++ ++//----------------------------------------------------------------------------- ++// Thread attributes ++//----------------------------------------------------------------------------- ++ ++int ++pthread_attr_setschedparam (pthread_attr_t *__attr, const struct sched_param *__param) ++{ ++ if (!__attr || !__param) ++ return EINVAL; ++ __attr->schedparam = *__param; ++ return 0; ++} ++ ++int ++pthread_attr_getschedparam (const pthread_attr_t *__attr, struct sched_param *__param) ++{ ++ if (!__attr || !__param) ++ return EINVAL; ++ *__param = __attr->schedparam; ++ return 0; ++} ++ ++int ++pthread_attr_init (pthread_attr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ memset(__attr, 0, sizeof(*__attr)); ++ return 0; ++} ++ ++int ++pthread_attr_destroy (pthread_attr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_attr_setstack (pthread_attr_t *attr, void *__stackaddr, size_t __stacksize) ++{ ++ if (!attr || !__stackaddr || !__stacksize) ++ return EINVAL; ++ attr->stackaddr = __stackaddr; ++ attr->stacksize = __stacksize; ++ return 0; ++} ++ ++int ++pthread_attr_getstack (const pthread_attr_t *attr, void **__stackaddr, size_t *__stacksize) ++{ ++ if (!attr || !__stackaddr || !__stacksize) ++ return EINVAL; ++ *__stackaddr = attr->stackaddr; ++ *__stacksize = attr->stacksize; ++ return 0; ++} ++ ++int ++pthread_attr_getstacksize (const pthread_attr_t *__attr, size_t *__stacksize) ++{ ++ if (!__attr || !__stacksize) ++ return EINVAL; ++ *__stacksize = __attr->stacksize; ++ return 0; ++} ++ ++int ++pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize) ++{ ++ if (!__attr || !__stacksize) ++ return EINVAL; ++ __attr->stacksize = __stacksize; ++ return 0; ++} ++ ++int ++pthread_attr_getstackaddr (const pthread_attr_t *__attr, void **__stackaddr) ++{ ++ if (!__attr || !__stackaddr) ++ return EINVAL; ++ *__stackaddr = __attr->stackaddr; ++ return 0; ++} ++ ++int ++pthread_attr_setstackaddr (pthread_attr_t *__attr, void *__stackaddr) ++{ ++ if (!__attr || !__stackaddr) ++ return EINVAL; ++ __attr->stackaddr = __stackaddr; ++ return 0; ++} ++ ++int ++pthread_attr_getdetachstate (const pthread_attr_t *__attr, int *__detachstate) ++{ ++ if (!__attr || !__detachstate) ++ return EINVAL; ++ *__detachstate = __attr->detachstate; ++ return 0; ++} ++ ++int ++pthread_attr_setdetachstate (pthread_attr_t *__attr, int __detachstate) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->detachstate = __detachstate; ++ return 0; ++} ++ ++int ++pthread_attr_getguardsize (const pthread_attr_t *__attr, size_t *__guardsize) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++int ++pthread_attr_setguardsize (pthread_attr_t *__attr, size_t __guardsize) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++//----------------------------------------------------------------------------- ++// Thread ++//----------------------------------------------------------------------------- ++ ++int ++pthread_create (pthread_t *__pthread, const pthread_attr_t *__attr, void *(*__start_routine)(void *), void *__arg) ++{ ++ pthread_attr_t __default; ++ if (!__attr) { ++ pthread_attr_init(&__default); ++ __attr = &__default; ++ } ++ if (!__pthread || !__start_routine) ++ return EINVAL; ++ if (!__has_syscall(thread_create)) ++ return ENOSYS; ++ return __syscall_thread_create(__pthread, __start_routine, __arg, __attr->stackaddr, __attr->stacksize); ++} ++ ++int ++pthread_join (pthread_t __pthread, void **__value_ptr) ++{ ++ if (!__has_syscall(thread_join)) ++ return ENOSYS; ++ void* value = __syscall_thread_join(__pthread); ++ if (__value_ptr) ++ *__value_ptr = value; ++ return 0; ++} ++ ++int ++pthread_detach (pthread_t __pthread) ++{ ++ if (!__has_syscall(thread_detach)) ++ return ENOSYS; ++ return __syscall_thread_detach(__pthread); ++} ++ ++void ++pthread_exit (void *__value_ptr) ++{ ++ if (__has_syscall(thread_exit)) ++ __syscall_thread_exit(__value_ptr); ++ for (;;); ++} ++ ++pthread_t ++pthread_self (void) ++{ ++ if (__has_syscall(thread_self)) ++ return __syscall_thread_self(); ++ return NULL; ++} ++ ++int ++pthread_equal (pthread_t __t1, pthread_t __t2) ++{ ++ return __t1 == __t2; ++} ++ ++int ++pthread_getcpuclockid (pthread_t thread, clockid_t *clock_id) ++{ ++ if (!thread || !clock_id) ++ return EINVAL; ++ *clock_id = CLOCK_REALTIME; ++ return 0; ++} ++ ++int ++pthread_setconcurrency (int new_level) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++int ++pthread_getconcurrency (void) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++//----------------------------------------------------------------------------- ++// Run-once ++//----------------------------------------------------------------------------- ++ ++__LOCK_INIT(static, __pthread_once_lock) ++__COND_INIT(static, __pthread_once_cv) ++ ++int ++pthread_once (pthread_once_t *__once_control, void (*__init_routine)(void)) ++{ ++ if (!__once_control || !__init_routine) ++ return EINVAL; ++ ++ __lock_acquire(__pthread_once_lock); ++ ++ if (__once_control->status == 0) { ++ __once_control->status = 1; ++ __lock_release(__pthread_once_lock); ++ __init_routine(); ++ __lock_acquire(__pthread_once_lock); ++ __once_control->status = 2; ++ __cond_broadcast(__pthread_once_cv); ++ } else { ++ while (__once_control->status == 1) ++ __cond_wait(__pthread_once_cv, __pthread_once_lock, UINT64_MAX); ++ } ++ ++ __lock_release(__pthread_once_lock); ++ return 0; ++} ++ ++//----------------------------------------------------------------------------- ++// Thread-specific keys (TLS) ++//----------------------------------------------------------------------------- ++ ++int ++pthread_key_create (pthread_key_t *__key, void (*__destructor)(void *)) ++{ ++ if (!__key) ++ return EINVAL; ++ if (!__has_syscall(tls_create)) ++ return ENOSYS; ++ return __syscall_tls_create(__key, __destructor); ++} ++ ++int ++pthread_setspecific (pthread_key_t __key, const void *__value) ++{ ++ if (!__has_syscall(tls_set)) ++ return ENOSYS; ++ return __syscall_tls_set(__key, __value); ++} ++ ++void * ++pthread_getspecific (pthread_key_t __key) ++{ ++ if (__has_syscall(tls_get)) ++ return __syscall_tls_get(__key); ++ return NULL; ++} ++ ++int ++pthread_key_delete (pthread_key_t __key) ++{ ++ if (!__has_syscall(tls_delete)) ++ return ENOSYS; ++ return __syscall_tls_delete(__key); ++} ++ ++//----------------------------------------------------------------------------- ++// Cancel ++//----------------------------------------------------------------------------- ++ ++int ++pthread_cancel (pthread_t __pthread) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++int ++pthread_setcancelstate (int __state, int *__oldstate) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++int ++pthread_setcanceltype (int __type, int *__oldtype) ++{ ++ return ENOSYS; // Unsupported ++} ++ ++void ++pthread_testcancel (void) ++{ ++ // Unsupported ++} ++ ++//----------------------------------------------------------------------------- ++// Cleanup ++//----------------------------------------------------------------------------- ++ ++static pthread_once_t __pthread_cleanup_once; ++static pthread_key_t __pthread_cleanup_key; ++ ++static void ++__pthread_cleanup_dtor (void *arg) ++{ ++ struct _pthread_cleanup_context *cur; ++ for (cur = (struct _pthread_cleanup_context *)arg; cur; cur = cur->_previous) ++ cur->_routine(cur->_arg); ++} ++ ++static void ++__pthread_cleanup_setup (void) ++{ ++ int err = pthread_key_create(&__pthread_cleanup_key, __pthread_cleanup_dtor); ++ if (err) ++ abort(); ++} ++ ++void ++_pthread_cleanup_push (struct _pthread_cleanup_context *_context, void (*_routine)(void *), void *_arg) ++{ ++ pthread_once(&__pthread_cleanup_once, __pthread_cleanup_setup); ++ _context->_routine = _routine; ++ _context->_arg = _arg; ++ _context->_previous = (struct _pthread_cleanup_context *)pthread_getspecific(__pthread_cleanup_key); ++ pthread_setspecific(__pthread_cleanup_key, _context); ++} ++ ++void ++_pthread_cleanup_pop (struct _pthread_cleanup_context *_context, int _execute) ++{ ++ struct _pthread_cleanup_context *cur = (struct _pthread_cleanup_context *)pthread_getspecific(__pthread_cleanup_key); ++ if (cur) { ++ if (_execute) ++ cur->_routine(cur->_arg); ++ pthread_setspecific(__pthread_cleanup_key, cur->_previous); ++ } ++} ++ ++//----------------------------------------------------------------------------- ++// Barrier ++//----------------------------------------------------------------------------- ++ ++int ++pthread_barrierattr_init (pthread_barrierattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_barrierattr_getpshared (const pthread_barrierattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_barrier_init (pthread_barrier_t *__barrier, const pthread_barrierattr_t *__attr, unsigned __count) ++{ ++ if (!__barrier || !__count) ++ return EINVAL; ++ ++ __barrier->lock = __LOCK_INITIALIZER; ++ __barrier->cond = __COND_INITIALIZER; ++ __barrier->reload = __count; ++ __barrier->counter = __count; ++ __barrier->cycle = 0; ++ return 0; ++} ++ ++int ++pthread_barrier_destroy (pthread_barrier_t *__barrier) ++{ ++ if (!__barrier) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_barrier_wait (pthread_barrier_t *__barrier) ++{ ++ if (!__barrier) ++ return EINVAL; ++ ++ __lock_acquire(__barrier->lock); ++ ++ int is_last_thread = !--__barrier->counter; ++ if (is_last_thread) { ++ __barrier->cycle ++; ++ __barrier->counter = __barrier->reload; ++ __cond_broadcast(__barrier->cond); ++ } else { ++ unsigned my_cycle = __barrier->cycle; ++ do ++ __cond_wait(__barrier->cond, __barrier->lock, UINT64_MAX); ++ while (__barrier->cycle == my_cycle); ++ } ++ ++ __lock_release(__barrier->lock); ++ return is_last_thread ? PTHREAD_BARRIER_SERIAL_THREAD : 0; ++} ++ ++//----------------------------------------------------------------------------- ++// Read/write lock ++//----------------------------------------------------------------------------- ++ ++int ++pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_rwlock_init (pthread_rwlock_t *__rwlock, const pthread_rwlockattr_t *__attr) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ *__rwlock = PTHREAD_RWLOCK_INITIALIZER; ++ return 0; ++} ++ ++int ++pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ return 0; ++} ++ ++static int ++__pthread_rwlock_rdlock_common (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) ++{ ++ int rc = 0; ++ __lock_acquire(__rwlock->lock); ++ ++ while (__rwlock->cnt_w) { ++ rc = __cond_wait(__rwlock->cond_w, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) break; ++ } ++ ++ if (!rc) ++ __rwlock->cnt_r ++; ++ ++ __lock_release(__rwlock->lock); ++ return rc; ++} ++ ++int ++pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ return __pthread_rwlock_rdlock_common(__rwlock, NULL); ++} ++ ++int ++pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ ++ __lock_acquire(__rwlock->lock); ++ ++ int failed = __rwlock->cnt_w != 0; ++ if (!failed) ++ __rwlock->cnt_r ++; ++ ++ __lock_release(__rwlock->lock); ++ return failed ? EBUSY : 0; ++} ++ ++int ++pthread_rwlock_timedrdlock (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) ++{ ++ if (!__rwlock || !__abstime) ++ return EINVAL; ++ return __pthread_rwlock_rdlock_common(__rwlock, __abstime); ++} ++ ++int ++pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ ++ __lock_acquire(__rwlock->lock); ++ ++ if (__rwlock->cnt_w != 2) { ++ if (!--__rwlock->cnt_r) ++ __cond_broadcast(__rwlock->cond_r); ++ } else { ++ __rwlock->cnt_w = 0; ++ __cond_broadcast(__rwlock->cond_w); ++ } ++ ++ __lock_release(__rwlock->lock); ++ return 0; ++} ++ ++static int ++__pthread_rwlock_wrlock_common (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) ++{ ++ int rc = 0; ++ __lock_acquire(__rwlock->lock); ++ ++ while (__rwlock->cnt_w) { ++ rc = __cond_wait(__rwlock->cond_w, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) break; ++ } ++ ++ if (!rc) { ++ __rwlock->cnt_w = 1; ++ ++ while (__rwlock->cnt_r) { ++ rc = __cond_wait(__rwlock->cond_r, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) break; ++ } ++ ++ if (rc) { ++ __rwlock->cnt_w = 0; ++ __cond_broadcast(__rwlock->cond_w); ++ } else ++ __rwlock->cnt_w = 2; ++ } ++ ++ __lock_release(__rwlock->lock); ++ return rc; ++} ++ ++int ++pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ return __pthread_rwlock_wrlock_common(__rwlock, NULL); ++} ++ ++int ++pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ ++ __lock_acquire(__rwlock->lock); ++ ++ int failed = __rwlock->cnt_w != 0 || __rwlock->cnt_r != 0; ++ if (!failed) ++ __rwlock->cnt_w = 2; ++ ++ __lock_release(__rwlock->lock); ++ return failed ? EBUSY : 0; ++} ++ ++int ++pthread_rwlock_timedwrlock (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) ++{ ++ if (!__rwlock || !__abstime) ++ return EINVAL; ++ return __pthread_rwlock_wrlock_common(__rwlock, __abstime); ++} ++ ++//----------------------------------------------------------------------------- ++// semaphore.h ++//----------------------------------------------------------------------------- ++ ++int ++sem_close(sem_t *__sem) ++{ ++ errno = ENOSYS; ++ return -1; ++} ++ ++int ++sem_destroy(sem_t *__sem) ++{ ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } ++ return 0; ++} ++ ++int ++sem_getvalue(sem_t *__sem, int *__sval) ++{ ++ if (!__sem || !__sval) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ __lock_acquire(__sem->lock); ++ *__sval = __sem->value; ++ __lock_release(__sem->lock); ++ return 0; ++} ++ ++int ++sem_init(sem_t *__sem, int __pshared, unsigned int __value) ++{ ++ if (!__sem || __value > SEM_VALUE_MAX) { ++ errno = EINVAL; ++ return -1; ++ } ++ if (__pshared) { ++ errno = ENOSYS; ++ return -1; ++ } ++ ++ __sem->lock = __LOCK_INITIALIZER; ++ __sem->cond = __COND_INITIALIZER; ++ __sem->value = __value; ++ return 0; ++} ++ ++sem_t * ++sem_open(const char *__name, int __oflag, ...) ++{ ++ errno = ENOSYS; ++ return SEM_FAILED; ++} ++ ++int ++sem_post(sem_t *__sem) ++{ ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ __lock_acquire(__sem->lock); ++ if (__sem->value++ < 0) ++ __cond_signal(__sem->cond); ++ __lock_release(__sem->lock); ++ return 0; ++} ++ ++static int ++__sem_wait_common(sem_t *__sem, const struct timespec *__abstime) ++{ ++ int rc = 0; ++ __lock_acquire(__sem->lock); ++ ++ __sem->value --; ++ if (__sem->value < 0) ++ rc = __cond_wait(__sem->cond, __sem->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) { ++ if (__sem->value < 0) ++ __sem->value ++; ++ else ++ rc = 0; ++ } ++ ++ __lock_release(__sem->lock); ++ ++ if (rc) { ++ errno = rc; ++ return -1; ++ } ++ ++ return 0; ++} ++ ++int ++sem_timedwait(sem_t *__sem, const struct timespec *__abstime) ++{ ++ if (!__sem || !__abstime) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ return __sem_wait_common(__sem, __abstime); ++} ++ ++int ++sem_trywait(sem_t *__sem) ++{ ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ __lock_acquire(__sem->lock); ++ ++ int failed = __sem->value <= 0; ++ if (!failed) ++ __sem->value --; ++ ++ __lock_release(__sem->lock); ++ ++ if (failed) { ++ errno = EAGAIN; ++ return -1; ++ } ++ ++ return 0; ++} ++ ++int ++sem_unlink(const char *__name) ++{ ++ errno = ENOSYS; ++ return -1; ++} ++ ++int ++sem_wait(sem_t *__sem) ++{ ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ return __sem_wait_common(__sem, NULL); ++} ++ ++//----------------------------------------------------------------------------- ++// sched.h ++//----------------------------------------------------------------------------- ++ ++int __attribute__((weak)) ++sched_yield (void) ++{ ++ errno = ENOSYS; ++ return -1; ++} ++ ++int __attribute__((weak)) ++sched_getcpu (void) ++{ ++ errno = ENOSYS; ++ return -1; ++} +diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c +new file mode 100644 +index 000000000..9c548d830 +--- /dev/null ++++ b/libgloss/libsysbase/read.c +@@ -0,0 +1,32 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++ ++#include ++ ++//--------------------------------------------------------------------------------- ++_ssize_t _read_r(struct _reent *r, int fileDesc, void *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = NULL; ++ ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->read_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->read_r(r,handle->fileStruct,ptr,len); ++ } else ++ r->_errno=ENOSYS; ++ } ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c +new file mode 100644 +index 000000000..433f7ef83 +--- /dev/null ++++ b/libgloss/libsysbase/rename.c +@@ -0,0 +1,29 @@ ++#include "config.h" ++#include ++#include ++#include ++ ++//--------------------------------------------------------------------------------- ++int _rename_r( struct _reent *ptr, const char *existing, const char *newName) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++ ++ int ret; ++ int sourceDev = FindDevice(existing); ++ int destDev = FindDevice(newName); ++ ++ ret = -1; ++ ++ if ( sourceDev == destDev) { ++ if (devoptab_list[destDev]->rename_r) { ++ r->deviceData = devoptab_list[destDev]->deviceData; ++ ret = devoptab_list[destDev]->rename_r( r, existing, newName); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = EXDEV; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c +new file mode 100644 +index 000000000..b8640b87d +--- /dev/null ++++ b/libgloss/libsysbase/rmdir.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++int _rmdir_r (struct _reent *ptr, const char *name) { ++ int dev,ret=-1; ++ ++ dev = FindDevice(name); ++ if(dev!=-1) { ++ if(devoptab_list[dev]->rmdir_r) { ++ ptr->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->rmdir_r(ptr,name); ++ } else { ++ ptr->_errno = ENOSYS; ++ } ++ } else { ++ ptr->_errno = ENODEV; ++ } ++ ++ return ret; ++} ++ ++#ifndef _REENT_ONLY ++ ++int ++rmdir (const char *filename) ++{ ++ return _rmdir_r (_REENT, filename); ++} ++ ++#endif +diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c +new file mode 100644 +index 000000000..badd03297 +--- /dev/null ++++ b/libgloss/libsysbase/sbrk.c +@@ -0,0 +1,54 @@ ++#include "config.h" ++#include <_ansi.h> ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++ ++extern char *fake_heap_end; ++extern char *fake_heap_start; ++ ++/* Register name faking - works in collusion with the linker. */ ++register char * stack_ptr asm ("sp"); ++ ++//--------------------------------------------------------------------------------- ++__attribute__((weak)) void * _sbrk_r (struct _reent *ptr, ptrdiff_t incr) { ++//--------------------------------------------------------------------------------- ++ extern char end asm ("__end__"); /* Defined by the linker. */ ++ static char * heap_start; ++ ++ char * prev_heap_start; ++ char * heap_end; ++ ++ if (heap_start == NULL) { ++ if (fake_heap_start == NULL) { ++ heap_start = &end; ++ } else { ++ heap_start = fake_heap_start; ++ } ++ } ++ ++ prev_heap_start = heap_start; ++ ++ if (fake_heap_end == NULL) { ++ heap_end = stack_ptr; ++ } else { ++ heap_end = fake_heap_end; ++ } ++ ++ if (heap_start + incr > heap_end) { ++ ptr->_errno = ENOMEM; ++ return (void *) -1; ++ } ++ ++ heap_start += incr; ++ return (void *) prev_heap_start; ++} +diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c +new file mode 100644 +index 000000000..7bb5ebd52 +--- /dev/null ++++ b/libgloss/libsysbase/scandir.c +@@ -0,0 +1,77 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* ++ * The DIRSIZ macro gives the minimum record length which will hold ++ * the directory entry. This requires the amount of space in struct dirent ++ * without the d_name field, plus enough space for the name with a terminating ++ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. ++ */ ++#undef DIRSIZ ++#ifdef _DIRENT_HAVE_D_NAMLEN ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + (((dp)->d_namlen+1 + 3) &~ 3)) ++#else ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + ((strlen((dp)->d_name)+1 + 3) &~ 3)) ++#endif ++ ++int ++scandir (const char *dirname, ++ struct dirent ***namelist, ++ int (*filter) __P((const struct dirent *)), ++ int (*compar) __P((const struct dirent **, const struct dirent **))) ++{ ++ errno = 0; ++ ++ DIR *d = opendir(dirname); ++ ++ if (!d) return -1; ++ ++ struct dirent *de, **names = NULL, **tmp; ++ size_t cnt = 0, len = 0; ++ ++ while (de = readdir(d)) { ++ if (filter && ! filter(de)) continue; ++ if (cnt >= len) { ++ len = 2*len+1; ++ if (len > SIZE_MAX/sizeof(*names)) break; ++ tmp = realloc(names, len * sizeof(*names)); ++ if (!tmp) break; ++ names = tmp; ++ } ++ names[cnt] = malloc(DIRSIZ(de)); ++ if (!names[cnt]) break; ++ memcpy(names[cnt++], de, DIRSIZ(de)); ++ } ++ ++ closedir(d); ++ ++ if(errno) { ++ if (names) while(cnt-- > 0) free(names[cnt]); ++ free(names); ++ return -1; ++ } ++ ++ if (compar) qsort(names, cnt, sizeof(*names), (int (*)(const void *, const void *))compar); ++ ++ *namelist = names; ++ return cnt; ++} ++ ++/* ++ * Alphabetic order comparison routine for those who want it. ++ */ ++int ++alphasort (const struct dirent **d1, ++ const struct dirent **d2) ++{ ++ return(strcmp((*d1)->d_name, (*d2)->d_name)); ++} ++ +diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c +new file mode 100644 +index 000000000..f3aa97954 +--- /dev/null ++++ b/libgloss/libsysbase/sleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ ++ ++/* Written 2000 by Werner Almesberger */ ++ ++#include ++#include ++#include ++ ++unsigned sleep(unsigned seconds) ++{ ++ struct timespec ts; ++ ++ ts.tv_sec = seconds; ++ ts.tv_nsec = 0; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} +diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c +new file mode 100644 +index 000000000..17181dc3b +--- /dev/null ++++ b/libgloss/libsysbase/stat.c +@@ -0,0 +1,29 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++ ++//--------------------------------------------------------------------------------- ++int _stat_r(struct _reent *r, const char *file, struct stat *st) { ++//--------------------------------------------------------------------------------- ++ int dev,ret=-1; ++ ++ dev = FindDevice(file); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->stat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->stat_r(r,file,st); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c +new file mode 100644 +index 000000000..84e221340 +--- /dev/null ++++ b/libgloss/libsysbase/statvfs.c +@@ -0,0 +1,24 @@ ++#include ++#include ++#include ++ ++ ++int statvfs(const char *path, struct statvfs *buf) { ++ struct _reent *r = _REENT; ++ ++ int ret; ++ int device = FindDevice(path); ++ ++ ret = -1; ++ ++ if ( device != -1 && devoptab_list[device]->statvfs_r) { ++ ++ r->deviceData = devoptab_list[device]->deviceData; ++ ret = devoptab_list[device]->statvfs_r(r, path, buf ); ++ ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/sysbase.specs b/libgloss/libsysbase/sysbase.specs +new file mode 100644 +index 000000000..d5959084e +--- /dev/null ++++ b/libgloss/libsysbase/sysbase.specs +@@ -0,0 +1,11 @@ ++%rename link_gcc_c_sequence sysbase_link_gcc_c_sequence ++ ++*sysbase_libgloss: ++-lsysbase ++ ++*sysbase_libc: ++%{!specs=nano.specs:-lc} %{specs=nano.specs:-lc_nano} ++ ++*link_gcc_c_sequence: ++%(sysbase_link_gcc_c_sequence) --start-group %G %(sysbase_libc) %(sysbase_libgloss) --end-group ++ +diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c +new file mode 100644 +index 000000000..cbabf8b9a +--- /dev/null ++++ b/libgloss/libsysbase/syscall_support.c +@@ -0,0 +1,144 @@ ++#include ++#include ++ ++static int ++timespec_subtract(struct timespec x, struct timespec y, struct timespec *__restrict result) ++{ ++ // Perform the carry for the later subtraction by updating y ++ if (x.tv_nsec < y.tv_nsec) { ++ int seconds = (y.tv_nsec - x.tv_nsec) / 1000000000 + 1; ++ y.tv_nsec -= 1000000000 * seconds; ++ y.tv_sec += seconds; ++ } ++ if (x.tv_nsec - y.tv_nsec > 1000000000) { ++ int seconds = (x.tv_nsec - y.tv_nsec) / 1000000000; ++ y.tv_nsec += 1000000000 * seconds; ++ y.tv_sec -= seconds; ++ } ++ ++ // Compute the time remaining to wait ++ result->tv_sec = x.tv_sec - y.tv_sec; ++ result->tv_nsec = x.tv_nsec - y.tv_nsec; ++ ++ // Return true if result is negative ++ return x.tv_sec < y.tv_sec; ++} ++ ++__uint64_t ++timespec2nsec(const struct timespec *__restrict ts) ++{ ++ return (__uint64_t)ts->tv_sec * 1000000000 + ts->tv_nsec; ++} ++ ++__uint64_t ++abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts) ++{ ++ struct timespec now, diff; ++ clock_gettime(clock_id, &now); ++ if (timespec_subtract(*ts, now, &diff)) ++ return 0; ++ return timespec2nsec(&diff); ++} ++ ++void __libc_lock_acquire(_LOCK_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire) ) { ++ __syscall_lock_acquire(lock); ++ } ++} ++ ++int __libc_lock_try_acquire(_LOCK_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire) ) { ++ return __syscall_lock_try_acquire(lock); ++ } else { ++ return 0; ++ } ++} ++ ++void __libc_lock_release(_LOCK_T *lock ) { ++ ++ if ( __has_syscall(lock_release) ) { ++ __syscall_lock_release(lock); ++ } ++} ++ ++void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire_recursive) ) { ++ __syscall_lock_acquire_recursive(lock); ++ } ++} ++ ++int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire_recursive) ) { ++ return __syscall_lock_try_acquire_recursive(lock); ++ } else { ++ return 0; ++ } ++} ++ ++void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { ++ ++ if ( __has_syscall(lock_release_recursive) ) { ++ __syscall_lock_release_recursive(lock); ++ } ++} ++ ++int __libc_cond_signal(_COND_T *cond) { ++ ++ if ( __has_syscall(cond_signal) ) { ++ return __syscall_cond_signal(cond); ++ } ++ ++ return ENOSYS; ++ ++} ++ ++int __libc_cond_broadcast(_COND_T *cond) { ++ ++ if ( __has_syscall(cond_broadcast) ) { ++ return __syscall_cond_broadcast(cond); ++ } ++ ++ return ENOSYS; ++ ++} ++ ++int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns) { ++ ++ if ( __has_syscall(cond_wait) ) { ++ return __syscall_cond_wait(cond, lock, timeout_ns); ++ } ++ ++ return ENOSYS; ++ ++} ++ ++int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns) { ++ ++ if ( __has_syscall(cond_wait_recursive) ) { ++ return __syscall_cond_wait_recursive(cond, lock, timeout_ns); ++ } ++ ++ return ENOSYS; ++ ++} ++ ++ ++#ifdef CUSTOM_MALLOC_LOCK ++ ++void __malloc_lock( struct _reent *ptr ) { ++ if ( __has_syscall(malloc_lock) ){ ++ __syscall_malloc_lock(ptr); ++ } ++ } ++ ++void __malloc_unlock( struct _reent *ptr ) { ++ if ( __has_syscall(malloc_unlock)) { ++ __syscall_malloc_unlock(ptr); ++ } ++} ++ ++#endif +diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c +new file mode 100644 +index 000000000..edac04a1a +--- /dev/null ++++ b/libgloss/libsysbase/times.c +@@ -0,0 +1,13 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++ ++//--------------------------------------------------------------------------------- ++clock_t _times_r(struct _reent *r, struct tms *ptms) { ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return (clock_t)-1; ++} ++ +diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c +new file mode 100644 +index 000000000..849525990 +--- /dev/null ++++ b/libgloss/libsysbase/truncate.c +@@ -0,0 +1,54 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#include ++ ++int truncate(const char *file, off_t len) ++{ ++ ++ __handle *handle; ++ int dev, fd, ret; ++ ++ struct _reent * r = _REENT; ++ ++ dev = FindDevice(file); ++ ++ if(dev!=-1 && devoptab_list[dev]->open_r && devoptab_list[dev]->close_r && ++ devoptab_list[dev]->ftruncate_r) ++ { ++ ++ fd = __alloc_handle(dev); ++ ++ if ( -1 != fd ) { ++ handle = __get_handle(fd); ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, O_WRONLY, 0); ++ ++ if ( ret < 0 ) { ++ __release_handle(fd); ++ return ret; ++ } ++ ++ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); ++ ++ if (ret >= 0) { ++ ret = devoptab_list[dev]->close_r(r, handle->fileStruct); ++ } else { ++ // Close it anyway, we don't want to leak memory ++ devoptab_list[dev]->close_r(r, handle->fileStruct); ++ } ++ } else { ++ r->_errno = ENOSR; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c +new file mode 100644 +index 000000000..0a4c087c9 +--- /dev/null ++++ b/libgloss/libsysbase/unlink.c +@@ -0,0 +1,27 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++//--------------------------------------------------------------------------------- ++int _unlink_r(struct _reent * r, const char *name ) { ++//--------------------------------------------------------------------------------- ++ int dev,ret=-1; ++ ++ dev = FindDevice(name); ++ if(dev<0) { ++ r->_errno = ENODEV; ++ } else { ++ if (devoptab_list[dev]->unlink_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->unlink_r(r,name); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } ++ ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c +new file mode 100644 +index 000000000..b54714775 +--- /dev/null ++++ b/libgloss/libsysbase/usleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ ++ ++/* Written 2000 by Werner Almesberger */ ++ ++#include ++#include ++#include ++ ++int usleep(useconds_t useconds) ++{ ++ struct timespec ts; ++ ++ ts.tv_sec = (long int)useconds / 1000000; ++ ts.tv_nsec = ((long int)useconds % 1000000) * 1000; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} +diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c +new file mode 100644 +index 000000000..462e86520 +--- /dev/null ++++ b/libgloss/libsysbase/utime.c +@@ -0,0 +1,41 @@ ++#include "config.h" ++ ++#include ++#include ++#include ++#include ++#include ++ ++int utimes(const char *filename, const struct timeval times[2]) ++{ ++ struct _reent *r = _REENT; ++ int dev,ret=-1; ++ ++ dev = FindDevice(filename); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->utimes_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->utimes_r(r,filename,times); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ return ret; ++} ++ ++ ++int utime(const char *filename, const struct utimbuf *times) ++{ ++ struct timeval t[2]; ++ if (times) { ++ t[0].tv_sec = times->actime; ++ t[0].tv_usec = 0; ++ t[1].tv_sec = times->modtime; ++ t[1].tv_usec = 0; ++ } ++ ++ return utimes(filename, t); ++} +diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c +new file mode 100644 +index 000000000..a17561576 +--- /dev/null ++++ b/libgloss/libsysbase/wait.c +@@ -0,0 +1,16 @@ ++/* ++ * Stub version of wait. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++int _wait_r(struct _reent *r, int *status) { ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return -1; ++} ++ +diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h +new file mode 100644 +index 000000000..2c2998250 +--- /dev/null ++++ b/libgloss/libsysbase/warning.h +@@ -0,0 +1,43 @@ ++#ifndef __WARNING_H__ ++#define __WARNING_H__ ++ ++#ifdef HAVE_GNU_LD ++# ifdef HAVE_ELF ++ ++/* We want the .gnu.warning.SYMBOL section to be unallocated. */ ++# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE ++# define __make_section_unallocated(section_string) \ ++ asm(".section " section_string "; .previous"); ++# elif defined (HAVE_ASM_POPSECTION_DIRECTIVE) ++# define __make_section_unallocated(section_string) \ ++ asm(".pushsection " section_string "; .popsection"); ++# else ++# define __make_section_unallocated(section_string) ++# endif ++ ++# ifdef HAVE_SECTION_ATTRIBUTES ++# define link_warning(symbol, msg) \ ++ __make_section_unallocated (".gnu.warning." #symbol) \ ++ static const char __evoke_link_warning_##symbol[] \ ++ __attribute__ ((section (".gnu.warning." #symbol))) = msg; ++# else ++# define link_warning(symbol, msg) ++# endif ++ ++#else /* !ELF */ ++ ++# define link_warning(symbol, msg) \ ++ asm(".stabs \"" msg "\",30,0,0,0\n" \ ++ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); ++# endif ++#else /* !GNULD */ ++/* We will never be heard; they will all die horribly. */ ++# define link_warning(symbol, msg) ++#endif ++ ++/* A canned warning for sysdeps/stub functions. */ ++#define stub_warning(name) \ ++ link_warning (name, \ ++ "warning: " #name " is not implemented and will always fail") ++ ++#endif /* __WARNING_H__ */ +diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c +new file mode 100644 +index 000000000..04198e854 +--- /dev/null ++++ b/libgloss/libsysbase/write.c +@@ -0,0 +1,31 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++ ++#include ++ ++//--------------------------------------------------------------------------------- ++_ssize_t _write_r(struct _reent * r, int fileDesc, const void *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = NULL; ++ ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->write_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->write_r(r,handle->fileStruct,ptr,len); ++ } else ++ r->_errno=ENOSYS; ++ } ++ return ret; ++} +diff --git a/libgloss/rs6000/Makefile.in b/libgloss/rs6000/Makefile.in +index 489903645..cf62806a3 100644 +--- a/libgloss/rs6000/Makefile.in ++++ b/libgloss/rs6000/Makefile.in +@@ -131,6 +131,9 @@ XIL_OBJS = open.o close.o lseek.o sbrk.o read.o write.o print.o + XIL_TEST = xil-test + XIL_INSTALL = install-xil + ++OGC_CRTMAIN = crtmain.o ++OGC_INSTALL = install-ogc ++ + # Host specific makefile fragment comes in here. + @host_makefile_frag@ + +@@ -145,7 +148,7 @@ all: \ + ${LINUX_CRT0} ${LINUX_BSP} \ + ${YELLOWKNIFE_CRT0} ${YELLOWKNIFE_BSP} \ + ${ADS_CRT0} ${ADS_BSP} \ +- ${MBX_CRT0} ${MBX_BSP} \ ++ ${MBX_CRT0} ${MBX_BSP} ${OGC_CRTMAIN} \ + ${XIL_CRT0} ${XIL_BSP} + + # +@@ -297,6 +300,8 @@ xil-test.srec: xil-test.x + + crt0.o: crt0.S + ++crtmain.o: crtmain.c ++ + simulator.o: simulator.S + sim-getrusage.o: sim-getrusage.S + sim-crt0.o: sim-crt0.S +@@ -354,7 +359,7 @@ distclean maintainer-clean realclean: clean + rm -f Makefile config.status *~ + + .PHONY: install info install-info clean-info +-install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${XIL_INSTALL} ++install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${OGC_INSTALL} ${XIL_INSTALL} + + install-sim: + ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} +@@ -392,6 +397,9 @@ install-xil: + set -e; for x in ${XIL_CRT0} ${XIL_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + set -e; for x in ${XIL_SCRIPTS} ${XIL_SPECS}; do ${INSTALL_DATA} $(srcdir)/$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + ++install-ogc: ++ set -e; for x in ${OGC_CRTMAIN}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done ++ + doc: + info: + install-info: +diff --git a/libgloss/rs6000/ads.ld b/libgloss/rs6000/ads.ld +index ef5038e68..32a1d5e0b 100644 +--- a/libgloss/rs6000/ads.ld ++++ b/libgloss/rs6000/ads.ld +@@ -121,6 +121,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +diff --git a/libgloss/rs6000/crtmain.c b/libgloss/rs6000/crtmain.c +new file mode 100644 +index 000000000..bd25d775d +--- /dev/null ++++ b/libgloss/rs6000/crtmain.c +@@ -0,0 +1,18 @@ ++#include ++ ++struct __argv { ++ int argvMagic; //!< argv magic number, set to 0x5f617267 ('_arg') if valid ++ char *commandLine; //!< base address of command line, set of null terminated strings ++ int length;//!< total length of command line ++ int argc; ++ char **argv; ++}; ++ ++extern struct __argv *__system_argv; ++void __init(); ++void SYS_PreMain(); ++ ++void __crtmain() { ++ SYS_PreMain(); ++ exit ( main(__system_argv->argc,__system_argv->argv) ); ++} +diff --git a/libgloss/rs6000/mbx.ld b/libgloss/rs6000/mbx.ld +index cedf4e867..99d849e90 100644 +--- a/libgloss/rs6000/mbx.ld ++++ b/libgloss/rs6000/mbx.ld +@@ -101,6 +101,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +diff --git a/libgloss/rs6000/xilinx.ld b/libgloss/rs6000/xilinx.ld +index 75b2a12b6..40a4a1e4b 100644 +--- a/libgloss/rs6000/xilinx.ld ++++ b/libgloss/rs6000/xilinx.ld +@@ -273,6 +273,7 @@ SECTIONS + _end = . ; + end = .; + __end = .; ++ __end__ = .; + .boot 0xFFFFFFFC : { *(.boot) } + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ +diff --git a/libgloss/rs6000/xilinx440.ld b/libgloss/rs6000/xilinx440.ld +index 2c7c5aba4..c1ddf8529 100644 +--- a/libgloss/rs6000/xilinx440.ld ++++ b/libgloss/rs6000/xilinx440.ld +@@ -264,6 +264,7 @@ SECTIONS + _end = . ; + end = .; + __end = .; ++ __end__ = .; + + .boot0 0xFFFFFF00 : { *(.boot0)} + +diff --git a/libgloss/rs6000/yellowknife.ld b/libgloss/rs6000/yellowknife.ld +index 36c30092d..7e54036ed 100644 +--- a/libgloss/rs6000/yellowknife.ld ++++ b/libgloss/rs6000/yellowknife.ld +@@ -113,6 +113,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +diff --git a/newlib/Makefile.in b/newlib/Makefile.in +index bc967bd70..8a72f26f7 100644 +--- a/newlib/Makefile.in ++++ b/newlib/Makefile.in +@@ -586,6 +586,7 @@ check_PROGRAMS = + @HAVE_LIBC_SYS_W65_DIR_TRUE@am__append_63 = libc/sys/w65/syscalls.c libc/sys/w65/trap.c + @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__append_64 = libc/sys/z8ksim/glue.c + @HAVE_LIBC_MACHINE_AARCH64_TRUE@am__append_65 = \ ++@HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/access.c \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memchr-stub.c \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memchr.S \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memcmp-stub.c \ +@@ -668,7 +669,7 @@ check_PROGRAMS = + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy-stub.c \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy.S \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen-stub.c \ +-@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen.S ++@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/sync_synchronize.c + + @HAVE_LIBC_MACHINE_BFIN_TRUE@am__append_69 = libc/machine/bfin/setjmp.S libc/machine/bfin/longjmp.S + @HAVE_LIBC_MACHINE_CR16_TRUE@am__append_70 = libc/machine/cr16/setjmp.S libc/machine/cr16/getenv.c +@@ -767,7 +768,9 @@ check_PROGRAMS = + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/misc.c libc/machine/nvptx/clock.c + + @HAVE_LIBC_MACHINE_OR1K_TRUE@am__append_108 = libc/machine/or1k/setjmp.S +-@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S \ ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/access.c ++ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__append_110 = \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfprintf.c \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfscanf.c \ +@@ -1811,7 +1814,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_SYS_W65_DIR_TRUE@am__objects_74 = libc/sys/w65/libc_a-syscalls.$(OBJEXT) \ + @HAVE_LIBC_SYS_W65_DIR_TRUE@ libc/sys/w65/libc_a-trap.$(OBJEXT) + @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__objects_75 = libc/sys/z8ksim/libc_a-glue.$(OBJEXT) +-@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_76 = libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ ++@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_76 = libc/machine/aarch64/libc_a-access.$(OBJEXT) \ ++@HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memchr.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memcmp-stub.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memcmp.$(OBJEXT) \ +@@ -1893,7 +1897,7 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy-stub.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen-stub.$(OBJEXT) \ +-@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen.$(OBJEXT) ++@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT) + @HAVE_LIBC_MACHINE_BFIN_TRUE@am__objects_80 = libc/machine/bfin/libc_a-setjmp.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_BFIN_TRUE@ libc/machine/bfin/libc_a-longjmp.$(OBJEXT) + @HAVE_LIBC_MACHINE_CR16_TRUE@am__objects_81 = libc/machine/cr16/libc_a-setjmp.$(OBJEXT) \ +@@ -2043,7 +2047,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-misc.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-clock.$(OBJEXT) + @HAVE_LIBC_MACHINE_OR1K_TRUE@am__objects_118 = libc/machine/or1k/libc_a-setjmp.$(OBJEXT) +-@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) \ ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/libc_a-access.$(OBJEXT) + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__objects_120 = libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vfscanf.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vec_malloc.$(OBJEXT) \ +@@ -2345,6 +2350,7 @@ am_libc_a_OBJECTS = $(am__objects_1) \ + libc/stdlib/libc_a-strtol.$(OBJEXT) \ + libc/stdlib/libc_a-strtoul.$(OBJEXT) \ + libc/stdlib/libc_a-strtoumax.$(OBJEXT) \ ++ libc/stdlib/libc_a-threads.$(OBJEXT) \ + libc/stdlib/libc_a-utoa.$(OBJEXT) \ + libc/stdlib/libc_a-wcstod.$(OBJEXT) \ + libc/stdlib/libc_a-wcstoimax.$(OBJEXT) \ +@@ -3768,6 +3774,7 @@ pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + shared_machine_dir = @shared_machine_dir@ + sharedstatedir = @sharedstatedir@ +@@ -3915,7 +3922,7 @@ libc_a_SOURCES = $(am__append_5) libc/stdlib/__adjust.c \ + libc/stdlib/sb_charsets.c libc/stdlib/strtod.c \ + libc/stdlib/strtoimax.c libc/stdlib/strtol.c \ + libc/stdlib/strtoul.c libc/stdlib/strtoumax.c \ +- libc/stdlib/utoa.c libc/stdlib/wcstod.c \ ++ libc/stdlib/threads.c libc/stdlib/utoa.c libc/stdlib/wcstod.c \ + libc/stdlib/wcstoimax.c libc/stdlib/wcstol.c \ + libc/stdlib/wcstoul.c libc/stdlib/wcstoumax.c \ + libc/stdlib/wcstombs.c libc/stdlib/wcstombs_r.c \ +@@ -5321,6 +5328,8 @@ libc/stdlib/libc_a-strtoul.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ + libc/stdlib/$(DEPDIR)/$(am__dirstamp) + libc/stdlib/libc_a-strtoumax.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ + libc/stdlib/$(DEPDIR)/$(am__dirstamp) ++libc/stdlib/libc_a-threads.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ ++ libc/stdlib/$(DEPDIR)/$(am__dirstamp) + libc/stdlib/libc_a-utoa.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ + libc/stdlib/$(DEPDIR)/$(am__dirstamp) + libc/stdlib/libc_a-wcstod.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ +@@ -7757,6 +7766,9 @@ libc/machine/aarch64/$(am__dirstamp): + libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) libc/machine/aarch64/$(DEPDIR) + @: > libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) ++libc/machine/aarch64/libc_a-access.$(OBJEXT): \ ++ libc/machine/aarch64/$(am__dirstamp) \ ++ libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) + libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT): \ + libc/machine/aarch64/$(am__dirstamp) \ + libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) +@@ -8021,7 +8033,7 @@ libc/machine/arm/libc_a-memcpy.$(OBJEXT): \ + libc/machine/arm/libc_a-strlen-stub.$(OBJEXT): \ + libc/machine/arm/$(am__dirstamp) \ + libc/machine/arm/$(DEPDIR)/$(am__dirstamp) +-libc/machine/arm/libc_a-strlen.$(OBJEXT): \ ++libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT): \ + libc/machine/arm/$(am__dirstamp) \ + libc/machine/arm/$(DEPDIR)/$(am__dirstamp) + libc/machine/bfin/$(am__dirstamp): +@@ -8696,6 +8708,9 @@ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp): + libc/machine/powerpc/libc_a-setjmp.$(OBJEXT): \ + libc/machine/powerpc/$(am__dirstamp) \ + libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) ++libc/machine/powerpc/libc_a-access.$(OBJEXT): \ ++ libc/machine/powerpc/$(am__dirstamp) \ ++ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) + libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT): \ + libc/machine/powerpc/$(am__dirstamp) \ + libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) +@@ -12256,6 +12271,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-nl_langinfo.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-timelocal.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-uselocale.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memchr.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memcmp-stub.Po@am__quote@ +@@ -12338,7 +12354,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcpy.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen-stub.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-longjmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po@am__quote@ +@@ -12487,6 +12503,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-reallocr.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-write.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/or1k/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix16.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix32.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix64.Po@am__quote@ +@@ -13113,6 +13130,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-strtoull_r.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-strtoumax.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-system.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-threads.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-utoa.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-valloc.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-vallocr.Po@am__quote@ +@@ -16730,20 +16748,6 @@ libc/machine/arm/libc_a-memcpy.obj: libc/machine/arm/memcpy.S + @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-memcpy.obj `if test -f 'libc/machine/arm/memcpy.S'; then $(CYGPATH_W) 'libc/machine/arm/memcpy.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/memcpy.S'; fi` + +-libc/machine/arm/libc_a-strlen.o: libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/arm/libc_a-strlen.o -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo -c -o libc/machine/arm/libc_a-strlen.o `test -f 'libc/machine/arm/strlen.S' || echo '$(srcdir)/'`libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='libc/machine/arm/strlen.S' object='libc/machine/arm/libc_a-strlen.o' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-strlen.o `test -f 'libc/machine/arm/strlen.S' || echo '$(srcdir)/'`libc/machine/arm/strlen.S +- +-libc/machine/arm/libc_a-strlen.obj: libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/arm/libc_a-strlen.obj -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo -c -o libc/machine/arm/libc_a-strlen.obj `if test -f 'libc/machine/arm/strlen.S'; then $(CYGPATH_W) 'libc/machine/arm/strlen.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen.S'; fi` +-@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='libc/machine/arm/strlen.S' object='libc/machine/arm/libc_a-strlen.obj' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-strlen.obj `if test -f 'libc/machine/arm/strlen.S'; then $(CYGPATH_W) 'libc/machine/arm/strlen.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen.S'; fi` +- + libc/machine/bfin/libc_a-setjmp.o: libc/machine/bfin/setjmp.S + @am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/bfin/libc_a-setjmp.o -MD -MP -MF libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo -c -o libc/machine/bfin/libc_a-setjmp.o `test -f 'libc/machine/bfin/setjmp.S' || echo '$(srcdir)/'`libc/machine/bfin/setjmp.S + @am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po +@@ -20666,6 +20670,20 @@ libc/stdlib/libc_a-strtoumax.obj: libc/stdlib/strtoumax.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-strtoumax.obj `if test -f 'libc/stdlib/strtoumax.c'; then $(CYGPATH_W) 'libc/stdlib/strtoumax.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/strtoumax.c'; fi` + ++libc/stdlib/libc_a-threads.o: libc/stdlib/threads.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-threads.o -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo -c -o libc/stdlib/libc_a-threads.o `test -f 'libc/stdlib/threads.c' || echo '$(srcdir)/'`libc/stdlib/threads.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo libc/stdlib/$(DEPDIR)/libc_a-threads.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/stdlib/threads.c' object='libc/stdlib/libc_a-threads.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-threads.o `test -f 'libc/stdlib/threads.c' || echo '$(srcdir)/'`libc/stdlib/threads.c ++ ++libc/stdlib/libc_a-threads.obj: libc/stdlib/threads.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-threads.obj -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo -c -o libc/stdlib/libc_a-threads.obj `if test -f 'libc/stdlib/threads.c'; then $(CYGPATH_W) 'libc/stdlib/threads.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/threads.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo libc/stdlib/$(DEPDIR)/libc_a-threads.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/stdlib/threads.c' object='libc/stdlib/libc_a-threads.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-threads.obj `if test -f 'libc/stdlib/threads.c'; then $(CYGPATH_W) 'libc/stdlib/threads.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/threads.c'; fi` ++ + libc/stdlib/libc_a-utoa.o: libc/stdlib/utoa.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-utoa.o -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-utoa.Tpo -c -o libc/stdlib/libc_a-utoa.o `test -f 'libc/stdlib/utoa.c' || echo '$(srcdir)/'`libc/stdlib/utoa.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-utoa.Tpo libc/stdlib/$(DEPDIR)/libc_a-utoa.Po +@@ -32216,6 +32234,20 @@ libc/sys/z8ksim/libc_a-glue.obj: libc/sys/z8ksim/glue.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/sys/z8ksim/libc_a-glue.obj `if test -f 'libc/sys/z8ksim/glue.c'; then $(CYGPATH_W) 'libc/sys/z8ksim/glue.c'; else $(CYGPATH_W) '$(srcdir)/libc/sys/z8ksim/glue.c'; fi` + ++libc/machine/aarch64/libc_a-access.o: libc/machine/aarch64/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-access.o -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/aarch64/libc_a-access.o `test -f 'libc/machine/aarch64/access.c' || echo '$(srcdir)/'`libc/machine/aarch64/access.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/aarch64/access.c' object='libc/machine/aarch64/libc_a-access.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/aarch64/libc_a-access.o `test -f 'libc/machine/aarch64/access.c' || echo '$(srcdir)/'`libc/machine/aarch64/access.c ++ ++libc/machine/aarch64/libc_a-access.obj: libc/machine/aarch64/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-access.obj -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/aarch64/libc_a-access.obj `if test -f 'libc/machine/aarch64/access.c'; then $(CYGPATH_W) 'libc/machine/aarch64/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/aarch64/access.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/aarch64/access.c' object='libc/machine/aarch64/libc_a-access.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/aarch64/libc_a-access.obj `if test -f 'libc/machine/aarch64/access.c'; then $(CYGPATH_W) 'libc/machine/aarch64/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/aarch64/access.c'; fi` ++ + libc/machine/aarch64/libc_a-memchr-stub.o: libc/machine/aarch64/memchr-stub.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-memchr-stub.o -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Tpo -c -o libc/machine/aarch64/libc_a-memchr-stub.o `test -f 'libc/machine/aarch64/memchr-stub.c' || echo '$(srcdir)/'`libc/machine/aarch64/memchr-stub.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Po +@@ -32734,6 +32766,20 @@ libc/machine/arm/libc_a-strlen-stub.obj: libc/machine/arm/strlen-stub.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-strlen-stub.obj `if test -f 'libc/machine/arm/strlen-stub.c'; then $(CYGPATH_W) 'libc/machine/arm/strlen-stub.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen-stub.c'; fi` + ++libc/machine/arm/libc_a-sync_synchronize.o: libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/arm/libc_a-sync_synchronize.o -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo -c -o libc/machine/arm/libc_a-sync_synchronize.o `test -f 'libc/machine/arm/sync_synchronize.c' || echo '$(srcdir)/'`libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/arm/sync_synchronize.c' object='libc/machine/arm/libc_a-sync_synchronize.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-sync_synchronize.o `test -f 'libc/machine/arm/sync_synchronize.c' || echo '$(srcdir)/'`libc/machine/arm/sync_synchronize.c ++ ++libc/machine/arm/libc_a-sync_synchronize.obj: libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/arm/libc_a-sync_synchronize.obj -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo -c -o libc/machine/arm/libc_a-sync_synchronize.obj `if test -f 'libc/machine/arm/sync_synchronize.c'; then $(CYGPATH_W) 'libc/machine/arm/sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/sync_synchronize.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/arm/sync_synchronize.c' object='libc/machine/arm/libc_a-sync_synchronize.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-sync_synchronize.obj `if test -f 'libc/machine/arm/sync_synchronize.c'; then $(CYGPATH_W) 'libc/machine/arm/sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/sync_synchronize.c'; fi` ++ + libc/machine/cr16/libc_a-getenv.o: libc/machine/cr16/getenv.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/cr16/libc_a-getenv.o -MD -MP -MF libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo -c -o libc/machine/cr16/libc_a-getenv.o `test -f 'libc/machine/cr16/getenv.c' || echo '$(srcdir)/'`libc/machine/cr16/getenv.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po +@@ -33252,6 +33298,20 @@ libc/machine/nvptx/libc_a-clock.obj: libc/machine/nvptx/clock.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/nvptx/libc_a-clock.obj `if test -f 'libc/machine/nvptx/clock.c'; then $(CYGPATH_W) 'libc/machine/nvptx/clock.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/nvptx/clock.c'; fi` + ++libc/machine/powerpc/libc_a-access.o: libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-access.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/powerpc/libc_a-access.o `test -f 'libc/machine/powerpc/access.c' || echo '$(srcdir)/'`libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/powerpc/access.c' object='libc/machine/powerpc/libc_a-access.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/powerpc/libc_a-access.o `test -f 'libc/machine/powerpc/access.c' || echo '$(srcdir)/'`libc/machine/powerpc/access.c ++ ++libc/machine/powerpc/libc_a-access.obj: libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-access.obj -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/powerpc/libc_a-access.obj `if test -f 'libc/machine/powerpc/access.c'; then $(CYGPATH_W) 'libc/machine/powerpc/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/powerpc/access.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/powerpc/access.c' object='libc/machine/powerpc/libc_a-access.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/powerpc/libc_a-access.obj `if test -f 'libc/machine/powerpc/access.c'; then $(CYGPATH_W) 'libc/machine/powerpc/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/powerpc/access.c'; fi` ++ + libc/machine/powerpc/libc_a-vfprintf.o: libc/machine/powerpc/vfprintf.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-vfprintf.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo -c -o libc/machine/powerpc/libc_a-vfprintf.o `test -f 'libc/machine/powerpc/vfprintf.c' || echo '$(srcdir)/'`libc/machine/powerpc/vfprintf.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Po +diff --git a/newlib/configure.host b/newlib/configure.host +index 0a1ba282a..8c5e2b211 100644 +--- a/newlib/configure.host ++++ b/newlib/configure.host +@@ -620,13 +620,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + syscall_dir=syscalls + ;; + aarch64*-*-*) ++ default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" ++ default_newlib_io_pos_args="yes" ++ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls + ;; + arc*-*-*) + syscall_dir=syscalls + default_newlib_io_long_long="yes" + ;; ++ arm*-*-eabi) ++ default_newlib_io_c99_formats="yes" ++ default_newlib_io_long_long="yes" ++ default_newlib_io_pos_args="yes" ++ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" ++ syscall_dir=syscalls ++ ;; + arm*-*-pe) + syscall_dir=syscalls + newlib_cflags="${newlib_cflags} -DHAVE_SYSCONF_PAGESIZE" +@@ -799,7 +811,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + default_newlib_io_long_long="yes" + newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" + ;; +- powerpc*-*-eabi* | \ ++ powerpc*-*-eabi*) ++ default_newlib_io_c99_formats="yes" ++ default_newlib_io_long_long="yes" ++ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" ++ syscall_dir=syscalls ++ ;; + powerpc*-*-elf* | \ + powerpc*-*-linux* | \ + powerpc*-*-rtem* | \ +diff --git a/newlib/libc/ctype/jp2uc.c b/newlib/libc/ctype/jp2uc.c +index 5e30f09be..b90a8f4f4 100644 +--- a/newlib/libc/ctype/jp2uc.c ++++ b/newlib/libc/ctype/jp2uc.c +@@ -35,7 +35,7 @@ + #ifdef _MB_CAPABLE + /* Under Cygwin, the incoming wide character is already given in UTF due + to the requirements of the underlying OS. */ +-#ifndef __CYGWIN__ ++#if !defined(__CYGWIN__) && !defined(__DEFAULT_UTF8__) + + #include <_ansi.h> + #include +diff --git a/newlib/libc/ctype/local.h b/newlib/libc/ctype/local.h +index 5c293c83d..0dbfcd7ee 100644 +--- a/newlib/libc/ctype/local.h ++++ b/newlib/libc/ctype/local.h +@@ -32,7 +32,7 @@ + * for towupper and towlower, the result must be back-transformed + into the respective locale encoding; currently NOT IMPLEMENTED + */ +-#ifdef __CYGWIN__ ++#if defined(__CYGWIN__) || defined(__DEFAULT_UTF8__) + /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ + #define _jp2uc(c) (c) + #define _jp2uc_l(c, l) (c) +diff --git a/newlib/libc/include/fnmatch.h b/newlib/libc/include/fnmatch.h +index a94e923a4..9171e98aa 100644 +--- a/newlib/libc/include/fnmatch.h ++++ b/newlib/libc/include/fnmatch.h +@@ -44,6 +44,7 @@ + #if __GNU_VISIBLE + #define FNM_LEADING_DIR 0x08 /* Ignore / after Imatch. */ + #define FNM_CASEFOLD 0x10 /* Case insensitive search. */ ++#define FNM_PREFIX_DIRS 0x20 /* Directory prefixes of pattern match too. */ + #define FNM_IGNORECASE FNM_CASEFOLD + #define FNM_FILE_NAME FNM_PATHNAME + #endif +diff --git a/newlib/libc/include/machine/_threads.h b/newlib/libc/include/machine/_threads.h +new file mode 100755 +index 000000000..a71a5d847 +--- /dev/null ++++ b/newlib/libc/include/machine/_threads.h +@@ -0,0 +1,44 @@ ++/*- ++ * Copyright (c) 2019 fincs ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ */ ++ ++#ifndef _MACHINE__THREADS_H_ ++#define _MACHINE__THREADS_H_ ++ ++#include ++#include ++ ++#define ONCE_FLAG_INIT PTHREAD_ONCE_INIT ++#define TSS_DTOR_ITERATIONS PTHREAD_DESTRUCTOR_ITERATIONS ++#define _MTX_INITIALIZER_NP PTHREAD_MUTEX_INITIALIZER ++#define _CND_INITIALIZER_NP PTHREAD_COND_INITIALIZER ++ ++typedef pthread_once_t once_flag; ++typedef pthread_key_t tss_t; ++typedef pthread_mutex_t mtx_t; ++typedef pthread_cond_t cnd_t; ++typedef pthread_t thrd_t; ++ ++#endif +diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h +index 54e30ef82..3a77345e2 100644 +--- a/newlib/libc/include/math.h ++++ b/newlib/libc/include/math.h +@@ -445,7 +445,7 @@ extern float hypotf (float, float); + simply call the double functions. On Cygwin the long double functions + are implemented independently from newlib to be able to use optimized + assembler functions despite using the Microsoft x86_64 ABI. */ +-#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) ++#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) || defined (__DEVKITA64__) + /* Reentrant ANSI C functions. */ + #ifndef __math_68881 + extern long double atanl (long double); +diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h +index 23d572cd3..65310c084 100644 +--- a/newlib/libc/include/reent.h ++++ b/newlib/libc/include/reent.h +@@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); + extern int _open_r (struct _reent *, const char *, int, int); + extern _ssize_t _read_r (struct _reent *, int, void *, size_t); + extern int _rename_r (struct _reent *, const char *, const char *); ++extern int _rmdir_r (struct _reent *r, const char *name); + extern void *_sbrk_r (struct _reent *, ptrdiff_t); + extern int _stat_r (struct _reent *, const char *, struct stat *); + extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); +diff --git a/newlib/libc/include/semaphore.h b/newlib/libc/include/semaphore.h +new file mode 100755 +index 000000000..4afb0e419 +--- /dev/null ++++ b/newlib/libc/include/semaphore.h +@@ -0,0 +1,69 @@ ++/* ++ * Copyright (c) 2010 David Xu ++ * ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice unmodified, this list of conditions, and the following ++ * disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ * $FreeBSD: head/include/semaphore.h 314424 2017-02-28 21:47:00Z vangyzen $ ++ */ ++ ++/* semaphore.h: POSIX 1003.1b semaphores */ ++ ++#ifndef _SEMAPHORE_H_ ++#define _SEMAPHORE_H_ ++ ++#include ++ ++#if defined(_POSIX_SEMAPHORES) ++ ++#include ++#include ++#include ++#include ++#include ++ ++typedef struct { ++ _LOCK_T lock; ++ _COND_T cond; ++ int value; ++} sem_t; ++ ++#define SEM_VALUE_MAX INT_MAX ++#define SEM_FAILED ((sem_t *)0) ++ ++__BEGIN_DECLS ++int sem_close(sem_t *); ++int sem_destroy(sem_t *); ++int sem_getvalue(sem_t * __restrict, int * __restrict); ++int sem_init(sem_t *, int, unsigned int); ++sem_t *sem_open(const char *, int, ...); ++int sem_post(sem_t *); ++int sem_timedwait(sem_t * __restrict, const struct timespec * __restrict); ++int sem_trywait(sem_t *); ++int sem_unlink(const char *); ++int sem_wait(sem_t *); ++__END_DECLS ++ ++#endif /* defined(_POSIX_SEMAPHORES) */ ++ ++#endif /* !_SEMAPHORE_H_ */ +diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h +index 75e9e1cbf..dc63dbe6a 100644 +--- a/newlib/libc/include/sys/_pthreadtypes.h ++++ b/newlib/libc/include/sys/_pthreadtypes.h +@@ -18,19 +18,18 @@ + #ifndef _SYS__PTHREADTYPES_H_ + #define _SYS__PTHREADTYPES_H_ + ++#include ++ + #if defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 + + #include ++#include + + /* + * 2.5 Primitive System Data Types, P1003.1c/D10, p. 19. + */ + +-#if defined(__XMK__) +-typedef unsigned int pthread_t; /* identify a thread */ +-#else +-typedef __uint32_t pthread_t; /* identify a thread */ +-#endif ++typedef struct __pthread_t *pthread_t; /* identify a thread */ + + /* P1003.1c/D10, p. 118-119 */ + #define PTHREAD_SCOPE_PROCESS 0 +@@ -46,25 +45,14 @@ typedef __uint32_t pthread_t; /* identify a thread */ + #define PTHREAD_CREATE_DETACHED 0 + #define PTHREAD_CREATE_JOINABLE 1 + +-#if defined(__XMK__) +-typedef struct pthread_attr_s { +- int contentionscope; +- struct sched_param schedparam; +- int detachstate; +- void *stackaddr; +- size_t stacksize; +-} pthread_attr_t; +- +-#define PTHREAD_STACK_MIN 200 +- +-#else /* !defined(__XMK__) */ + typedef struct { +- int is_initialized; + void *stackaddr; + int stacksize; ++#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) + int contentionscope; + int inheritsched; + int schedpolicy; ++#endif + struct sched_param schedparam; + + /* P1003.4b/D8, p. 54 adds cputime_clock_allowed attribute. */ +@@ -74,8 +62,6 @@ typedef struct { + int detachstate; + } pthread_attr_t; + +-#endif /* !defined(__XMK__) */ +- + #if defined(_POSIX_THREAD_PROCESS_SHARED) + /* NOTE: P1003.1c/D10, p. 81 defines following values for process_shared. */ + +@@ -143,18 +129,15 @@ typedef struct { + + #endif /* !defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES) */ + +-#if defined(__XMK__) +-typedef unsigned int pthread_mutex_t; /* identify a mutex */ +- + typedef struct { + int type; +-} pthread_mutexattr_t; +- +-#else /* !defined(__XMK__) */ +-typedef __uint32_t pthread_mutex_t; /* identify a mutex */ ++ union { ++ _LOCK_T normal; ++ _LOCK_RECURSIVE_T recursive; ++ }; ++} pthread_mutex_t; /* identify a mutex */ + + typedef struct { +- int is_initialized; + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow mutex to be shared amongst processes */ + #endif +@@ -163,23 +146,25 @@ typedef struct { + int protocol; + #endif + #if defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES) +- int type; ++ int type; + #endif +- int recursive; + } pthread_mutexattr_t; +-#endif /* !defined(__XMK__) */ + +-#define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t) 0xFFFFFFFF) ++#define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t){ PTHREAD_MUTEX_NORMAL, { .normal = __LOCK_INITIALIZER } }) ++#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP ((pthread_mutex_t){ PTHREAD_MUTEX_RECURSIVE, { .recursive = __LOCK_INITIALIZER_RECURSIVE } }) ++#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP + + /* Condition Variables */ + +-typedef __uint32_t pthread_cond_t; /* identify a condition variable */ ++typedef struct { ++ clockid_t clock_id; ++ _COND_T cond; ++} pthread_cond_t; /* identify a condition variable */ + +-#define _PTHREAD_COND_INITIALIZER ((pthread_cond_t) 0xFFFFFFFF) ++#define _PTHREAD_COND_INITIALIZER ((pthread_cond_t){ CLOCK_REALTIME, __COND_INITIALIZER }) + + typedef struct { +- int is_initialized; +- clock_t clock; /* specifiy clock for timeouts */ ++ clockid_t clock_id; /* specifiy clock for timeouts */ + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow this to be shared amongst processes */ + #endif +@@ -190,19 +175,23 @@ typedef struct { + typedef __uint32_t pthread_key_t; /* thread-specific data keys */ + + typedef struct { +- int is_initialized; /* is this structure initialized? */ +- int init_executed; /* has the initialization routine been run? */ ++ int status; /* 0 = init not run, 1 = init running, 2 = init finished */ + } pthread_once_t; /* dynamic package initialization */ + +-#define _PTHREAD_ONCE_INIT { 1, 0 } /* is initialized and not run */ ++#define _PTHREAD_ONCE_INIT { 0 } /* not run */ + #endif /* defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 */ + + /* POSIX Barrier Types */ + + #if defined(_POSIX_BARRIERS) +-typedef __uint32_t pthread_barrier_t; /* POSIX Barrier Object */ + typedef struct { +- int is_initialized; /* is this structure initialized? */ ++ _LOCK_T lock; ++ _COND_T cond; ++ unsigned reload; ++ unsigned counter; ++ unsigned cycle; ++} pthread_barrier_t; /* POSIX Barrier Object */ ++typedef struct { + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow this to be shared amongst processes */ + #endif +@@ -218,12 +207,17 @@ typedef __uint32_t pthread_spinlock_t; /* POSIX Spin Lock Object */ + /* POSIX Reader/Writer Lock Types */ + + #if defined(_POSIX_READER_WRITER_LOCKS) +-typedef __uint32_t pthread_rwlock_t; /* POSIX RWLock Object */ ++typedef struct { ++ _LOCK_T lock; ++ _COND_T cond_r; ++ _COND_T cond_w; ++ uint32_t cnt_r : 30; ++ uint32_t cnt_w : 2; ++} pthread_rwlock_t; /* POSIX RWLock Object */ + +-#define _PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t) 0xFFFFFFFF) ++#define _PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t){ __LOCK_INITIALIZER, __COND_INITIALIZER, __COND_INITIALIZER, 0, 0 }) + + typedef struct { +- int is_initialized; /* is this structure initialized? */ + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow this to be shared amongst processes */ + #endif +diff --git a/newlib/libc/include/sys/_timespec.h b/newlib/libc/include/sys/_timespec.h +index f810b008f..ca7e11dc7 100644 +--- a/newlib/libc/include/sys/_timespec.h ++++ b/newlib/libc/include/sys/_timespec.h +@@ -49,4 +49,10 @@ struct timespec { + long tv_nsec; /* and nanoseconds */ + }; + ++__uint64_t ++timespec2nsec(const struct timespec *__restrict ts); ++ ++__uint64_t ++abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts); ++ + #endif /* !_SYS__TIMESPEC_H_ */ +diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h +index 5dcc77a80..3c21c147f 100644 +--- a/newlib/libc/include/sys/config.h ++++ b/newlib/libc/include/sys/config.h +@@ -8,6 +8,10 @@ + #define MALLOC_ALIGNMENT 16 + #endif + ++#ifdef _ARCH_PPC ++#define __BUFSIZ__ 16384 ++#endif ++ + #ifdef __AMDGCN__ + #define __DYNAMIC_REENT__ + #endif +diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h +index 45476ce4a..05efc0ab2 100644 +--- a/newlib/libc/include/sys/features.h ++++ b/newlib/libc/include/sys/features.h +@@ -331,6 +331,17 @@ extern "C" { + # define __SSP_FORTIFY_LEVEL 0 + #endif + ++//#ifdef __DEVKITA64__ ++#define _POSIX_MONOTONIC_CLOCK 200112L ++#define _POSIX_TIMERS 1 ++#define _POSIX_THREADS 1 ++#define _POSIX_SEMAPHORES 1 ++#define _POSIX_BARRIERS 200112L ++#define _POSIX_READER_WRITER_LOCKS 200112L ++#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 ++//#endif ++ ++ + /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ + + #ifdef __rtems__ +diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h +new file mode 100644 +index 000000000..5942a8914 +--- /dev/null ++++ b/newlib/libc/include/sys/iosupport.h +@@ -0,0 +1,132 @@ ++//--------------------------------------------------------------------------------- ++#ifndef __iosupp_h__ ++#define __iosupp_h__ ++//--------------------------------------------------------------------------------- ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#include ++#include ++#include ++#include ++ ++enum { ++ STD_IN, ++ STD_OUT, ++ STD_ERR, ++ STD_MAX = 35 ++}; ++ ++ ++typedef struct { ++ unsigned int device; ++ unsigned int refcount; ++ void *fileStruct; ++} __handle; ++ ++/* Directory iterator for mantaining state between dir* calls */ ++typedef struct { ++ int device; ++ void *dirStruct; ++} DIR_ITER; ++ ++typedef struct { ++ const char *name; ++ size_t structSize; ++ int (*open_r)(struct _reent *r, void *fileStruct, const char *path, int flags, int mode); ++ int (*close_r)(struct _reent *r, void *fd); ++ ssize_t (*write_r)(struct _reent *r, void *fd, const char *ptr, size_t len); ++ ssize_t (*read_r)(struct _reent *r, void *fd, char *ptr, size_t len); ++ off_t (*seek_r)(struct _reent *r, void *fd, off_t pos, int dir); ++ int (*fstat_r)(struct _reent *r, void *fd, struct stat *st); ++ int (*stat_r)(struct _reent *r, const char *file, struct stat *st); ++ int (*link_r)(struct _reent *r, const char *existing, const char *newLink); ++ int (*unlink_r)(struct _reent *r, const char *name); ++ int (*chdir_r)(struct _reent *r, const char *name); ++ int (*rename_r) (struct _reent *r, const char *oldName, const char *newName); ++ int (*mkdir_r) (struct _reent *r, const char *path, int mode); ++ ++ size_t dirStateSize; ++ ++ DIR_ITER* (*diropen_r)(struct _reent *r, DIR_ITER *dirState, const char *path); ++ int (*dirreset_r)(struct _reent *r, DIR_ITER *dirState); ++ int (*dirnext_r)(struct _reent *r, DIR_ITER *dirState, char *filename, struct stat *filestat); ++ int (*dirclose_r)(struct _reent *r, DIR_ITER *dirState); ++ int (*statvfs_r)(struct _reent *r, const char *path, struct statvfs *buf); ++ int (*ftruncate_r)(struct _reent *r, void *fd, off_t len); ++ int (*fsync_r)(struct _reent *r, void *fd); ++ ++ void *deviceData; ++ ++ int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); ++ int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); ++ int (*rmdir_r)(struct _reent *r, const char *name); ++ int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); ++ int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); ++ ++} devoptab_t; ++ ++extern const devoptab_t *devoptab_list[]; ++ ++#ifdef _BUILDING_LIBSYSBASE ++#define __SYSCALL(_name) __attribute__((weak)) __syscall_##_name ++#define __has_syscall(_name) (&__syscall_##_name) ++#else ++#define __SYSCALL(_name) __syscall_##_name ++#endif ++ ++void __SYSCALL(exit) ( int rc ); ++int __SYSCALL(gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); ++void __SYSCALL(lock_init) (_LOCK_T *lock); ++void __SYSCALL(lock_acquire) (_LOCK_T *lock); ++int __SYSCALL(lock_try_acquire) (_LOCK_T *lock); ++void __SYSCALL(lock_release) (_LOCK_T *lock); ++void __SYSCALL(lock_close) (_LOCK_T *lock); ++void __SYSCALL(lock_init_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_acquire_recursive) (_LOCK_RECURSIVE_T *lock); ++int __SYSCALL(lock_try_acquire_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_release_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_close_recursive) (_LOCK_RECURSIVE_T *lock); ++ ++int __SYSCALL(cond_signal)(_COND_T *cond); ++int __SYSCALL(cond_broadcast)(_COND_T *cond); ++int __SYSCALL(cond_wait)(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); ++int __SYSCALL(cond_wait_recursive)(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); ++int __SYSCALL(thread_create)(struct __pthread_t **thread, void* (*func)(void*), void *arg, void *stack_addr, size_t stack_size); ++void*__SYSCALL(thread_join)(struct __pthread_t *thread); ++int __SYSCALL(thread_detach)(struct __pthread_t *thread); ++void __SYSCALL(thread_exit)(void *value); ++struct __pthread_t *__SYSCALL(thread_self)(void); ++int __SYSCALL(tls_create)(uint32_t *key, void (*destructor)(void*)); ++int __SYSCALL(tls_set)(uint32_t key, const void *value); ++void*__SYSCALL(tls_get)(uint32_t key); ++int __SYSCALL(tls_delete)(uint32_t key); ++ ++struct _reent * __SYSCALL(getreent) (); ++int __SYSCALL(clock_gettime) (clockid_t clock_id, struct timespec *tp); ++int __SYSCALL(clock_settime) (clockid_t clock_id, const struct timespec *tp); ++int __SYSCALL(clock_getres) (clockid_t clock_id, struct timespec *res); ++int __SYSCALL(nanosleep) (const struct timespec *req, struct timespec *rem); ++ ++void __SYSCALL(malloc_lock) (struct _reent *ptr); ++void __SYSCALL(malloc_unlock) (struct _reent *ptr); ++ ++int AddDevice( const devoptab_t* device); ++int FindDevice(const char* name); ++int RemoveDevice(const char* name); ++void setDefaultDevice( int device ); ++const devoptab_t* GetDeviceOpTab (const char *name); ++ ++void __release_handle(int fd); ++int __alloc_handle(int device); ++__handle *__get_handle(int fd); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++//--------------------------------------------------------------------------------- ++#endif // __iosupp_h__ ++//--------------------------------------------------------------------------------- +diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h +index 9a6f115a6..142e71d35 100644 +--- a/newlib/libc/include/sys/param.h ++++ b/newlib/libc/include/sys/param.h +@@ -19,9 +19,6 @@ + #ifndef NOFILE + # define NOFILE (60) + #endif +-#ifndef PATHSIZE +-# define PATHSIZE (1024) +-#endif + + #define MAXPATHLEN PATH_MAX + +diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h +index 6d8b005b2..8aefe6b0f 100644 +--- a/newlib/libc/include/sys/reent.h ++++ b/newlib/libc/include/sys/reent.h +@@ -419,6 +419,8 @@ struct _reent + __FILE *__sf; /* file descriptors */ + struct _misc_reent *_misc; /* strtok, multibyte states */ + char *_signal_buf; /* strsignal */ ++ ++ void *deviceData; + }; + + # define _REENT_INIT(var) \ +@@ -639,6 +641,8 @@ struct _reent + + /* signal info */ + void (**_sig_func)(int); ++ ++ void *deviceData; + }; + + #define _REENT_INIT(var) \ +diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h +index 98f5addb4..dbdfc416e 100644 +--- a/newlib/libc/include/sys/stat.h ++++ b/newlib/libc/include/sys/stat.h +@@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); + int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); + mode_t umask (mode_t __mask ); + +-#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) + int lstat (const char *__restrict __path, struct stat *__restrict __buf ); ++ ++#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) + int mknod (const char *__path, mode_t __mode, dev_t __dev ); + #endif + +diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h +new file mode 100644 +index 000000000..380329d34 +--- /dev/null ++++ b/newlib/libc/include/sys/statvfs.h +@@ -0,0 +1,35 @@ ++#ifndef _SYS_STATVFS_H ++#define _SYS_STATVFS_H ++ ++ ++#define ST_RDONLY 0x0001 ++#define ST_NOSUID 0x0002 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#include ++ ++struct statvfs { ++ unsigned long f_bsize; ++ unsigned long f_frsize; ++ fsblkcnt_t f_blocks; ++ fsblkcnt_t f_bfree; ++ fsblkcnt_t f_bavail; ++ fsfilcnt_t f_files; ++ fsfilcnt_t f_ffree; ++ fsfilcnt_t f_favail; ++ unsigned long f_fsid; ++ unsigned long f_flag; ++ unsigned long f_namemax; ++}; ++ ++int statvfs(const char *path, struct statvfs *buf); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#endif // _SYS_STATVFS_H +\ No newline at end of file +diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h +index c872d2018..b3800187f 100644 +--- a/newlib/libc/include/sys/syslimits.h ++++ b/newlib/libc/include/sys/syslimits.h +@@ -58,4 +58,6 @@ + #define LINE_MAX 2048 /* max bytes in an input line */ + #define RE_DUP_MAX 255 /* max RE's in interval notation */ + ++#define PTHREAD_DESTRUCTOR_ITERATIONS 1 /* max attempts to destroy TLS values on thread exit */ ++ + #endif +diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h +index 5e937f103..b7b4de67d 100644 +--- a/newlib/libc/include/sys/utime.h ++++ b/newlib/libc/include/sys/utime.h +@@ -15,6 +15,13 @@ struct utimbuf + time_t modtime; + }; + ++/* Functions */ ++ ++int utime( ++ const char *path, ++ const struct utimbuf *times ++); ++ + #ifdef __cplusplus + }; + #endif +diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c +index 65e2b1833..d3171515d 100644 +--- a/newlib/libc/locale/locale.c ++++ b/newlib/libc/locale/locale.c +@@ -198,7 +198,11 @@ static char *categories[_LC_LAST] = { + * Default locale per POSIX. Can be overridden on a per-target base. + */ + #ifndef DEFAULT_LOCALE +-#define DEFAULT_LOCALE "C" ++#ifdef __DEFAULT_UTF8__ ++#define DEFAULT_LOCALE "C.UTF-8" ++#else ++#define DEFAULT_LOCALE "C" ++#endif + #endif + + #ifdef _MB_CAPABLE +@@ -211,8 +215,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; + const struct __locale_t __C_locale = + { + { "C", "C", "C", "C", "C", "C", "C", }, ++#if defined ( __DEFAULT_UTF8__ ) ++ __utf8_wctomb, ++ __utf8_mbtowc, ++#else + __ascii_wctomb, + __ascii_mbtowc, ++#endif + 0, + DEFAULT_CTYPE_PTR, + { +@@ -223,9 +232,15 @@ const struct __locale_t __C_locale = + CHAR_MAX, CHAR_MAX + }, + #ifndef __HAVE_LOCALE_INFO__ ++#ifdef __DEFAULT_UTF8__ ++ "\6", ++ "UTF-8", ++ "UTF-8", ++#else + "\1", + "ASCII", + "ASCII", ++#endif + #else /* __HAVE_LOCALE_INFO__ */ + { + { NULL, NULL }, /* LC_ALL */ +@@ -244,10 +259,11 @@ const struct __locale_t __C_locale = + }; + #endif /* _MB_CAPABLE */ + ++ + struct __locale_t __global_locale = + { + { "C", "C", DEFAULT_LOCALE, "C", "C", "C", "C", }, +-#ifdef __CYGWIN__ ++#if defined ( __CYGWIN__ ) || defined ( __DEFAULT_UTF8__ ) + __utf8_wctomb, + __utf8_mbtowc, + #else +@@ -264,9 +280,15 @@ struct __locale_t __global_locale = + CHAR_MAX, CHAR_MAX + }, + #ifndef __HAVE_LOCALE_INFO__ ++#ifdef __DEFAULT_UTF8__ ++ "\6", ++ "UTF-8", ++ "UTF-8", ++#else + "\1", + "ASCII", + "ASCII", ++#endif + #else /* __HAVE_LOCALE_INFO__ */ + { + { NULL, NULL }, /* LC_ALL */ +diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h +index 3530ec664..0a62bfd72 100644 +--- a/newlib/libc/locale/setlocale.h ++++ b/newlib/libc/locale/setlocale.h +@@ -234,11 +234,11 @@ __get_locale_r (struct _reent *r) + _ELIDABLE_INLINE struct __locale_t * + __get_current_locale (void) + { +-#ifdef __HAVE_LOCALE_INFO__ ++//#ifdef __HAVE_LOCALE_INFO__ + return _REENT_LOCALE(_REENT) ?: __get_global_locale (); +-#else +- return __get_global_locale(); +-#endif ++//#else ++// return __get_global_locale(); ++//#endif + } + + /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE +diff --git a/newlib/libc/machine/aarch64/Makefile.inc b/newlib/libc/machine/aarch64/Makefile.inc +index 063a2a84a..790b07e7b 100644 +--- a/newlib/libc/machine/aarch64/Makefile.inc ++++ b/newlib/libc/machine/aarch64/Makefile.inc +@@ -1,4 +1,5 @@ + libc_a_SOURCES += \ ++ %D%/access.c \ + %D%/memchr-stub.c \ + %D%/memchr.S \ + %D%/memcmp-stub.c \ +diff --git a/newlib/libc/machine/aarch64/access.c b/newlib/libc/machine/aarch64/access.c +new file mode 100644 +index 000000000..980682ef3 +--- /dev/null ++++ b/newlib/libc/machine/aarch64/access.c +@@ -0,0 +1,33 @@ ++/* This is file ACCESS.C */ ++/* ++ * Copyright (C) 1993 DJ Delorie ++ * All rights reserved. ++ * ++ * Redistribution, modification, and use in source and binary forms is permitted ++ * provided that the above copyright notice and following paragraph are ++ * duplicated in all such forms. ++ * ++ * This file is distributed WITHOUT ANY WARRANTY; without even the implied ++ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ */ ++ ++#include ++#include ++#include ++ ++int access(const char *fn, int flags) ++{ ++ struct stat s; ++ if (stat(fn, &s)) ++ return -1; ++ if (s.st_mode & S_IFDIR) ++ return 0; ++ if (flags & W_OK) ++ { ++ if (s.st_mode & S_IWRITE) ++ return 0; ++ return -1; ++ } ++ return 0; ++} ++ +diff --git a/newlib/libc/machine/aarch64/sys/dirent.h b/newlib/libc/machine/aarch64/sys/dirent.h +new file mode 100644 +index 000000000..2aaca6080 +--- /dev/null ++++ b/newlib/libc/machine/aarch64/sys/dirent.h +@@ -0,0 +1,58 @@ ++#ifndef _dirent_h_ ++#define _dirent_h_ ++ ++#define _DIRENT_HAVE_D_TYPE ++ ++#include ++#include ++#include ++ ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; ++ ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; ++ ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); ++ ++int scandir(const char *dirp, struct dirent ***namelist, ++int (*filter)(const struct dirent *), ++int (*compar)(const struct dirent **, const struct dirent **)); ++ ++int alphasort(const struct dirent **a, const struct dirent **b); ++ ++/* Convert between stat structure types and directory types. */ ++# define IFTODT(mode) (((mode) & 0170000) >> 12) ++# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif // _dirent_h_ +diff --git a/newlib/libc/machine/aarch64/sys/lock.h b/newlib/libc/machine/aarch64/sys/lock.h +new file mode 100644 +index 000000000..d1c4aba2a +--- /dev/null ++++ b/newlib/libc/machine/aarch64/sys/lock.h +@@ -0,0 +1,116 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ ++ ++#include <_ansi.h> ++#include ++ ++typedef uint32_t _LOCK_T; ++ ++struct __lock_t { ++ _LOCK_T lock; ++ uint32_t thread_tag; ++ uint32_t counter; ++}; ++ ++typedef struct __lock_t _LOCK_RECURSIVE_T; ++ ++typedef uint32_t _COND_T; ++ ++#define __LOCK_INITIALIZER ((_LOCK_T)0) ++#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) ++#define __COND_INITIALIZER ((_COND_T)0) ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++static inline void __libc_lock_init(_LOCK_T *lock) { ++ *lock = __LOCK_INITIALIZER; ++} ++ ++static inline void __libc_lock_close(_LOCK_T *lock ) {} ++ ++static inline void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { ++ *lock = __LOCK_INITIALIZER_RECURSIVE; ++} ++ ++static inline void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) {} ++ ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns errno */ ++static inline int __libc_cond_init(_COND_T *cond) { ++ *cond = __COND_INITIALIZER; ++} ++ ++extern int __libc_cond_signal(_COND_T *cond); ++extern int __libc_cond_broadcast(_COND_T *cond); ++extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); ++extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#define __LOCK_INIT(CLASS,NAME) \ ++CLASS _LOCK_T NAME = __LOCK_INITIALIZER; ++ ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ ++CLASS _LOCK_RECURSIVE_T NAME = __LOCK_INITIALIZER_RECURSIVE; ++ ++#define __COND_INIT(CLASS,NAME) \ ++CLASS _COND_T NAME = __COND_INITIALIZER; ++ ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) ++ ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) ++ ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close_recursive(&(NAME)) ++ ++#define __lock_acquire(NAME) \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_acquire_recursive(NAME) \ ++ __libc_lock_acquire_recursive(&(NAME)) ++ ++#define __lock_try_acquire(NAME) \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_try_acquire_recursive(NAME) \ ++ __libc_lock_try_acquire_recursive(&(NAME)) ++ ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release_recursive(&(NAME)) ++ ++#define __cond_init(NAME) \ ++ __libc_cond_init(&(NAME)) ++ ++#define __cond_signal(NAME) \ ++ __libc_cond_signal(&(NAME)) ++ ++#define __cond_broadcast(NAME) \ ++ __libc_cond_broadcast(&(NAME)) ++ ++#define __cond_wait(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait(&(NAME), &(LOCK), (TIMEOUT)) ++ ++#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) ++ ++#endif // __SYS_LOCK_H__ +diff --git a/newlib/libc/machine/arm/Makefile.inc b/newlib/libc/machine/arm/Makefile.inc +index 2d6c08d71..81b4f119d 100644 +--- a/newlib/libc/machine/arm/Makefile.inc ++++ b/newlib/libc/machine/arm/Makefile.inc +@@ -8,4 +8,5 @@ libc_a_SOURCES += \ + %D%/memcpy-stub.c \ + %D%/memcpy.S \ + %D%/strlen-stub.c \ +- %D%/strlen.S ++ %D%/sync_synchronize.c ++ +diff --git a/newlib/libc/machine/arm/setjmp.S b/newlib/libc/machine/arm/setjmp.S +index c615f2428..3a3bfd05e 100644 +--- a/newlib/libc/machine/arm/setjmp.S ++++ b/newlib/libc/machine/arm/setjmp.S +@@ -2,6 +2,8 @@ + + Nick Clifton, Cygnus Solutions, 13 June 1997. */ + ++ .fpu vfpxd ++ + #include "arm-acle-compat.h" + + /* ANSI concatenation macros. */ +diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c +new file mode 100644 +index 000000000..f5a85c3a8 +--- /dev/null ++++ b/newlib/libc/machine/arm/sync_synchronize.c +@@ -0,0 +1,8 @@ ++#if __ARM_ARCH < 6 ++#include ++void __attribute__((weak)) ++__sync_synchronize (void) ++{ ++ return; ++} ++#endif +diff --git a/newlib/libc/machine/powerpc/Makefile.inc b/newlib/libc/machine/powerpc/Makefile.inc +index 55c7ebdc6..a6acfdaa6 100644 +--- a/newlib/libc/machine/powerpc/Makefile.inc ++++ b/newlib/libc/machine/powerpc/Makefile.inc +@@ -1,6 +1,7 @@ + libc_a_CPPFLAGS_%C% = -I$(srcdir)/libc/stdio -I$(srcdir)/libc/stdlib + +-libc_a_SOURCES += %D%/setjmp.S ++libc_a_SOURCES += %D%/setjmp.S \ ++ %D%/access.c + + if HAVE_POWERPC_ALTIVEC + libc_a_SOURCES += \ +diff --git a/newlib/libc/machine/powerpc/access.c b/newlib/libc/machine/powerpc/access.c +new file mode 100644 +index 000000000..980682ef3 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/access.c +@@ -0,0 +1,33 @@ ++/* This is file ACCESS.C */ ++/* ++ * Copyright (C) 1993 DJ Delorie ++ * All rights reserved. ++ * ++ * Redistribution, modification, and use in source and binary forms is permitted ++ * provided that the above copyright notice and following paragraph are ++ * duplicated in all such forms. ++ * ++ * This file is distributed WITHOUT ANY WARRANTY; without even the implied ++ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ */ ++ ++#include ++#include ++#include ++ ++int access(const char *fn, int flags) ++{ ++ struct stat s; ++ if (stat(fn, &s)) ++ return -1; ++ if (s.st_mode & S_IFDIR) ++ return 0; ++ if (flags & W_OK) ++ { ++ if (s.st_mode & S_IWRITE) ++ return 0; ++ return -1; ++ } ++ return 0; ++} ++ +diff --git a/newlib/libc/machine/powerpc/machine/_types.h b/newlib/libc/machine/powerpc/machine/_types.h +new file mode 100644 +index 000000000..a7d63da51 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/machine/_types.h +@@ -0,0 +1,19 @@ ++#ifndef _MACHINE__TYPES_H ++#define _MACHINE__TYPES_H ++ ++#include ++ ++/* Use 64bit types */ ++typedef __int64_t _off_t; ++#define __machine_off_t_defined ++ ++typedef __int64_t _fpos_t; ++#define __machine_fpos_t_defined ++ ++typedef __uint32_t __ino_t; ++#define __machine_ino_t_defined ++ ++typedef __uint32_t __dev_t; ++#define __machine_dev_t_defined ++ ++#endif // _MACHINE__TYPES_H +diff --git a/newlib/libc/machine/powerpc/sys/dirent.h b/newlib/libc/machine/powerpc/sys/dirent.h +new file mode 100644 +index 000000000..2aaca6080 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/sys/dirent.h +@@ -0,0 +1,58 @@ ++#ifndef _dirent_h_ ++#define _dirent_h_ ++ ++#define _DIRENT_HAVE_D_TYPE ++ ++#include ++#include ++#include ++ ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; ++ ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; ++ ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); ++ ++int scandir(const char *dirp, struct dirent ***namelist, ++int (*filter)(const struct dirent *), ++int (*compar)(const struct dirent **, const struct dirent **)); ++ ++int alphasort(const struct dirent **a, const struct dirent **b); ++ ++/* Convert between stat structure types and directory types. */ ++# define IFTODT(mode) (((mode) & 0170000) >> 12) ++# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif // _dirent_h_ +diff --git a/newlib/libc/machine/powerpc/sys/lock.h b/newlib/libc/machine/powerpc/sys/lock.h +new file mode 100644 +index 000000000..7f051e0c9 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/sys/lock.h +@@ -0,0 +1,58 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ ++ ++typedef int _LOCK_T; ++typedef int _LOCK_RECURSIVE_T; ++ ++#define __LOCK_INIT(CLASS,NAME) CLASS _LOCK_T NAME = 0 ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) CLASS _LOCK_RECURSIVE_T NAME = 0 ++ ++ ++extern void __libc_lock_init(_LOCK_T *lock); ++extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_close(_LOCK_T *lock); ++extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++ ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) ++ ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) ++ ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_acquire(NAME) \ ++ if(!(NAME)) __libc_lock_init(&(NAME)); \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_acquire_recursive(NAME) \ ++ if(!(NAME)) __libc_lock_init_recursive(&(NAME)); \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_try_acquire(NAME) \ ++ if(!(NAME)) __libc_lock_init(&(NAME)); \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_try_acquire_recursive(NAME) \ ++ if(!(NAME)) __libc_lock_init_recursive(&(NAME)); \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#endif /* __SYS_LOCK_H__ */ +diff --git a/newlib/libc/machine/powerpc/sys/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h +new file mode 100644 +index 000000000..04ebd1ee0 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/sys/stdio.h +@@ -0,0 +1,25 @@ ++#ifndef _NEWLIB_STDIO_H ++#define _NEWLIB_STDIO_H ++ ++/* Internal locking macros, used to protect stdio functions. In the ++ general case, expand to nothing. */ ++#if !defined(_flockfile) ++# if !defined(__SINGLE_THREAD__) ++# define _flockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __flockfile(fp); } ++ extern void __flockfile(FILE *fp); ++# else ++# define _flockfile(fp) ++# endif ++#endif /* __SINGLE_THREAD__ */ ++ ++#if !defined(_funlockfile) ++# if !defined(__SINGLE_THREAD__) ++# define _funlockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __funlockfile(fp); } ++ extern void __funlockfile(FILE *fp); ++# else ++# define _funlockfile(fp) ++# endif ++#endif /* __SINGLE_THREAD__ */ ++ ++#endif /* _NEWLIB_STDIO_H */ ++ +diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c +index df8321461..6ea00229d 100644 +--- a/newlib/libc/stdio/fread.c ++++ b/newlib/libc/stdio/fread.c +@@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, + } + + return count; +- ++ + } + + #endif +@@ -187,7 +187,6 @@ _fread_r (struct _reent * ptr, + int rc = 0; + /* save fp buffering state */ + void *old_base = fp->_bf._base; +- void * old_p = fp->_p; + int old_size = fp->_bf._size; + /* allow __refill to use user's buffer */ + fp->_bf._base = (unsigned char *) p; +@@ -197,7 +196,7 @@ _fread_r (struct _reent * ptr, + /* restore fp buffering back to original state */ + fp->_bf._base = old_base; + fp->_bf._size = old_size; +- fp->_p = old_p; ++ fp->_p = old_base; + resid -= fp->_r; + p += fp->_r; + fp->_r = 0; +@@ -218,27 +217,63 @@ _fread_r (struct _reent * ptr, + else + #endif /* !PREFER_SIZE_OVER_SPEED && !__OPTIMIZE_SIZE__ */ + { ++ ++ /* ensure buffer set up before read */ ++ if (fp->_bf._base == NULL) ++ __smakebuf_r (ptr, fp); ++ ++ + while (resid > (r = fp->_r)) +- { +- (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r); +- fp->_p += r; +- /* fp->_r = 0 ... done in __srefill */ +- p += r; +- resid -= r; +- if (__srefill_r (ptr, fp)) +- { +- /* no more input: return partial result */ ++ { ++ (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r); ++ fp->_p += r; ++ /* fp->_r = 0 ... done in __srefill */ ++ p += r; ++ resid -= r; ++ ++ if (resid>fp->_bf._size) ++ { int rc = 0; ++ /* save fp buffering state */ ++ void *old_base = fp->_bf._base; ++ int old_size = fp->_bf._size; ++ /* allow __refill to use user's buffer */ ++ fp->_bf._base = (unsigned char *) p; ++ fp->_bf._size = resid - old_size; ++ fp->_p = (unsigned char *) p; ++ rc = __srefill_r (ptr, fp); ++ /* restore fp buffering back to original state */ ++ fp->_bf._base = old_base; ++ fp->_bf._size = old_size; ++ fp->_p = old_base; ++ resid -= fp->_r; ++ p += fp->_r; ++ if (rc) ++ { + #ifdef __SCLE +- if (fp->_flags & __SCLE) +- { +- _newlib_flockfile_exit (fp); +- return crlf_r (ptr, fp, buf, total-resid, 1) / size; +- } ++ if (fp->_flags & __SCLE) ++ { ++ _newlib_flockfile_exit (fp); ++ return crlf_r (ptr, fp, buf, total-resid, 1) / size; ++ } + #endif +- _newlib_flockfile_exit (fp); +- return (total - resid) / size; +- } +- } ++ _newlib_flockfile_exit (fp); ++ return (total - resid) / size; ++ } ++ } ++ if (__srefill_r (ptr, fp)) ++ { ++ /* no more input: return partial result */ ++#ifdef __SCLE ++ if (fp->_flags & __SCLE) ++ { ++ _newlib_flockfile_exit (fp); ++ return crlf_r (ptr, fp, buf, total-resid, 1) / size; ++ } ++#endif ++ _newlib_flockfile_exit (fp); ++ return (total - resid) / size; ++ } ++ } + (void) memcpy ((void *) p, (void *) fp->_p, resid); + fp->_r -= resid; + fp->_p += resid; +diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h +index b34c7c9d8..f18dc4301 100644 +--- a/newlib/libc/stdio/local.h ++++ b/newlib/libc/stdio/local.h +@@ -56,7 +56,7 @@ + the appropriate _newlib_XXX_exit macro. */ + + #if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS) \ +- && !defined (__rtems__) ++ && !defined (__rtems__) && !defined (__DEVKITPRO__) + #define _STDIO_WITH_THREAD_CANCELLATION_SUPPORT + #endif + +diff --git a/newlib/libc/stdio/makebuf.c b/newlib/libc/stdio/makebuf.c +index b9c75bbf8..b9af455b8 100644 +--- a/newlib/libc/stdio/makebuf.c ++++ b/newlib/libc/stdio/makebuf.c +@@ -19,6 +19,7 @@ + #include <_ansi.h> + #include + #include ++#include + #include + #include + #include +@@ -50,7 +51,7 @@ __smakebuf_r (struct _reent *ptr, + return; + } + flags = __swhatbuf_r (ptr, fp, &size, &couldbetty); +- if ((p = _malloc_r (ptr, size)) == NULL) ++ if ((p = _memalign_r (ptr, 0x40, size)) == NULL) + { + if (!(fp->_flags & __SSTR)) + { +diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c +index d8dfdbd82..a85b5a99b 100644 +--- a/newlib/libc/stdio/remove.c ++++ b/newlib/libc/stdio/remove.c +@@ -57,13 +57,17 @@ Supporting OS subroutine required: <>. + #include <_ansi.h> + #include + #include ++#include + + int + _remove_r (struct _reent *ptr, + const char *filename) + { +- if (_unlink_r (ptr, filename) == -1) +- return -1; ++ if (_unlink_r (ptr, filename) == -1) { ++ errno = 0; ++ if (_rmdir_r(ptr, filename) == -1) ++ return -1; ++ } + + return 0; + } +diff --git a/newlib/libc/stdio/setvbuf.c b/newlib/libc/stdio/setvbuf.c +index e27ea086c..2a98b66d5 100644 +--- a/newlib/libc/stdio/setvbuf.c ++++ b/newlib/libc/stdio/setvbuf.c +@@ -81,6 +81,7 @@ Supporting OS subroutines required: <>, <>, <>, + #include <_ansi.h> + #include + #include ++#include + #include "local.h" + + /* +@@ -143,7 +144,7 @@ setvbuf (register FILE * fp, + /* Allocate buffer if needed. */ + if (buf == NULL) + { +- if ((buf = malloc (size)) == NULL) ++ if ((buf = memalign (0x40, size)) == NULL) + { + /* + * Unable to honor user's request. We will return +@@ -153,7 +154,7 @@ setvbuf (register FILE * fp, + if (size != iosize) + { + size = iosize; +- buf = malloc (size); ++ buf = memalign (0x40, size); + } + } + if (buf == NULL) +diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c +index 6a198e2c6..5ded3fd6e 100644 +--- a/newlib/libc/stdio/vfprintf.c ++++ b/newlib/libc/stdio/vfprintf.c +@@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, + <>, <>, <>, <>. + */ + ++#pragma GCC optimize ("Os") ++ + #if defined(LIBC_SCCS) && !defined(lint) + /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ + static char *rcsid = "$Id$"; +@@ -1431,7 +1433,7 @@ reswitch: switch (ch) { + string: + #endif + sign = '\0'; +-#ifndef __OPTIMIZE_SIZE__ ++//#ifndef __OPTIMIZE_SIZE__ + /* Behavior is undefined if the user passed a + NULL string when precision is not 0. + However, if we are not optimizing for size, +@@ -1441,7 +1443,7 @@ string: + size = ((unsigned) prec > 6U) ? 6 : prec; + } + else +-#endif /* __OPTIMIZE_SIZE__ */ ++//#endif /* __OPTIMIZE_SIZE__ */ + #ifdef _MB_CAPABLE + if (ch == 'S' || (flags & LONGINT)) { + mbstate_t ps; +diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c +index cfeea9876..ab7e9d7f1 100644 +--- a/newlib/libc/stdio/vfscanf.c ++++ b/newlib/libc/stdio/vfscanf.c +@@ -74,6 +74,8 @@ These are GNU extensions. + Supporting OS subroutines required: + */ + ++#pragma GCC optimize ("Os") ++ + #include <_ansi.h> + #include + #include +diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c +index 7807a1229..30526cb70 100644 +--- a/newlib/libc/stdio/vfwprintf.c ++++ b/newlib/libc/stdio/vfwprintf.c +@@ -92,6 +92,9 @@ SEEALSO + * + * This code is large and complicated... + */ ++ ++#pragma GCC optimize ("Os") ++ + #include + + #ifdef INTEGER_ONLY +diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c +index df966f929..106d99e94 100644 +--- a/newlib/libc/stdio/vfwscanf.c ++++ b/newlib/libc/stdio/vfwscanf.c +@@ -74,6 +74,9 @@ PORTABILITY + C99, POSIX-1.2008 + */ + ++ ++#pragma GCC optimize ("Os") ++ + #include <_ansi.h> + #include + #include +diff --git a/newlib/libc/stdlib/Makefile.inc b/newlib/libc/stdlib/Makefile.inc +index 9812add76..8410f2633 100644 +--- a/newlib/libc/stdlib/Makefile.inc ++++ b/newlib/libc/stdlib/Makefile.inc +@@ -68,6 +68,7 @@ libc_a_SOURCES += \ + %D%/strtol.c \ + %D%/strtoul.c \ + %D%/strtoumax.c \ ++ %D%/threads.c \ + %D%/utoa.c \ + %D%/wcstod.c \ + %D%/wcstoimax.c \ +diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c +index 23aa10173..ba88eb9fb 100644 +--- a/newlib/libc/stdlib/mlock.c ++++ b/newlib/libc/stdlib/mlock.c +@@ -1,4 +1,5 @@ + #ifndef MALLOC_PROVIDED ++#ifndef CUSTOM_MALLOC_LOCK + /* + FUNCTION + <<__malloc_lock>>, <<__malloc_unlock>>---lock malloc pool +@@ -55,3 +56,4 @@ __malloc_unlock (ptr) + } + + #endif ++#endif +diff --git a/newlib/libc/stdlib/threads.c b/newlib/libc/stdlib/threads.c +new file mode 100755 +index 000000000..741111ea0 +--- /dev/null ++++ b/newlib/libc/stdlib/threads.c +@@ -0,0 +1,224 @@ ++/*- ++ * Copyright (c) 2019 fincs ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#if defined(PTHREAD_MUTEX_INITIALIZER) && defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) ++#define MTX_DIRECT_INIT ++#endif ++ ++#if defined(PTHREAD_COND_INITIALIZER) ++#define CND_DIRECT_INIT ++#endif ++ ++static inline int err2thrd(int err) ++{ ++ switch (err) { ++ case 0: ++ return thrd_success; ++ case EBUSY: ++ return thrd_busy; ++ case ETIMEDOUT: ++ return thrd_timedout; ++ case ENOMEM: ++ return thrd_nomem; ++ default: ++ return thrd_error; ++ } ++} ++ ++void call_once(once_flag *flag, void (*func)(void)) ++{ ++ pthread_once(flag, func); ++} ++ ++int cnd_broadcast(cnd_t *cond) ++{ ++ int err = pthread_cond_broadcast(cond); ++ return err2thrd(err); ++} ++ ++void cnd_destroy(cnd_t *cond) ++{ ++#ifndef CND_DIRECT_INIT ++ pthread_cond_destroy(cond); ++#endif ++} ++ ++int cnd_init(cnd_t *cond) ++{ ++#ifdef CND_DIRECT_INIT ++ *cond = PTHREAD_COND_INITIALIZER; ++ return thrd_success; ++#else ++ int err = pthread_cond_init(cond, NULL); ++ return err2thrd(err); ++#endif ++} ++ ++int cnd_signal(cnd_t *cond) ++{ ++ int err = pthread_cond_signal(cond); ++ return err2thrd(err); ++} ++ ++int cnd_timedwait(cnd_t *__restrict cond, mtx_t *__restrict mtx, const struct timespec *__restrict abs_time) ++{ ++ int err = pthread_cond_timedwait(cond, mtx, abs_time); ++ return err2thrd(err); ++} ++ ++int cnd_wait(cnd_t *cond, mtx_t *mtx) ++{ ++ int err = pthread_cond_wait(cond, mtx); ++ return err2thrd(err); ++} ++ ++void mtx_destroy(mtx_t *mtx) ++{ ++#ifndef MTX_DIRECT_INIT ++ pthread_mutex_destroy(mtx); ++#endif ++} ++ ++int mtx_init(mtx_t *mtx, int type) ++{ ++ if (type & mtx_timed) ++ return thrd_error; ++#ifdef MTX_DIRECT_INIT ++ if (type & mtx_recursive) ++ *mtx = PTHREAD_RECURSIVE_MUTEX_INITIALIZER; ++ else ++ *mtx = PTHREAD_MUTEX_INITIALIZER; ++ return thrd_success; ++#else ++ pthread_mutexattr_t attr; ++ pthread_mutexattr_init(&attr); ++ if (type & mtx_plain) ++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL); ++ if (type & mtx_recursive) ++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); ++ int err = pthread_mutex_init(mtx, &attr); ++ pthread_mutexattr_destroy(&attr); ++ return err2thrd(err); ++#endif ++} ++ ++int mtx_lock(mtx_t *mtx) ++{ ++ int err = pthread_mutex_lock(mtx); ++ return err2thrd(err); ++} ++ ++int mtx_timedlock(mtx_t *__restrict mtx, const struct timespec *__restrict ts) ++{ ++ return thrd_error; ++} ++ ++int mtx_trylock(mtx_t *mtx) ++{ ++ int err = pthread_mutex_trylock(mtx); ++ return err2thrd(err); ++} ++ ++int mtx_unlock(mtx_t *mtx) ++{ ++ int err = pthread_mutex_unlock(mtx); ++ return err2thrd(err); ++} ++ ++int thrd_create(thrd_t *thr, thrd_start_t func, void *arg) ++{ ++ int err = pthread_create(thr, NULL, (void*(*)(void*))func, arg); ++ return err2thrd(err); ++} ++ ++thrd_t thrd_current(void) ++{ ++ return pthread_self(); ++} ++ ++int thrd_detach(thrd_t thr) ++{ ++ int err = pthread_detach(thr); ++ return err2thrd(err); ++} ++ ++int thrd_equal(thrd_t thr1, thrd_t thr2) ++{ ++ return pthread_equal(thr1, thr2); ++} ++ ++void thrd_exit(int res) ++{ ++ pthread_exit((void*)(uintptr_t)res); ++} ++ ++int thrd_join(thrd_t thr, int *res) ++{ ++ void *value = NULL; ++ int err = pthread_join(thr, &value); ++ if (!err && res) ++ *res = (uintptr_t)value; ++ return err2thrd(err); ++} ++ ++int thrd_sleep(const struct timespec *duration, struct timespec *remaining) ++{ ++ return nanosleep(duration, remaining); ++} ++ ++void thrd_yield(void) ++{ ++ sched_yield(); ++} ++ ++int tss_create(tss_t *key, tss_dtor_t dtor) ++{ ++ int err = pthread_key_create(key, dtor); ++ return err2thrd(err); ++} ++ ++void tss_delete(tss_t key) ++{ ++ pthread_key_delete(key); ++} ++ ++void * tss_get(tss_t key) ++{ ++ return pthread_getspecific(key); ++} ++ ++int tss_set(tss_t key, void *val) ++{ ++ int err = pthread_setspecific(key, val); ++ return err2thrd(err); ++} +diff --git a/newlib/libc/sys/arm/include/machine/_types.h b/newlib/libc/sys/arm/include/machine/_types.h +new file mode 100644 +index 000000000..40092f99f +--- /dev/null ++++ b/newlib/libc/sys/arm/include/machine/_types.h +@@ -0,0 +1,19 @@ ++#ifndef _MACHINE__TYPES_H ++#define _MACHINE__TYPES_H ++ ++#include ++ ++/* Use 64bit types */ ++typedef __int64_t _off_t; ++#define __machine_off_t_defined ++ ++typedef __int64_t _fpos_t; ++#define __machine_fpos_t_defined ++ ++typedef __uint32_t __ino_t; ++#define __machine_ino_t_defined ++ ++typedef __uint32_t __dev_t; ++#define __machine_dev_t_defined ++#endif ++ +diff --git a/newlib/libc/sys/arm/sys/dirent.h b/newlib/libc/sys/arm/sys/dirent.h +new file mode 100644 +index 000000000..2aaca6080 +--- /dev/null ++++ b/newlib/libc/sys/arm/sys/dirent.h +@@ -0,0 +1,58 @@ ++#ifndef _dirent_h_ ++#define _dirent_h_ ++ ++#define _DIRENT_HAVE_D_TYPE ++ ++#include ++#include ++#include ++ ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; ++ ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; ++ ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); ++ ++int scandir(const char *dirp, struct dirent ***namelist, ++int (*filter)(const struct dirent *), ++int (*compar)(const struct dirent **, const struct dirent **)); ++ ++int alphasort(const struct dirent **a, const struct dirent **b); ++ ++/* Convert between stat structure types and directory types. */ ++# define IFTODT(mode) (((mode) & 0170000) >> 12) ++# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif // _dirent_h_ +diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h +new file mode 100644 +index 000000000..bd74ccc42 +--- /dev/null ++++ b/newlib/libc/sys/arm/sys/lock.h +@@ -0,0 +1,118 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ ++ ++#include <_ansi.h> ++#include ++ ++typedef int32_t _LOCK_T; ++ ++struct __lock_t { ++ _LOCK_T lock; ++ uint32_t thread_tag; ++ uint32_t counter; ++}; ++ ++typedef struct __lock_t _LOCK_RECURSIVE_T; ++ ++typedef uint32_t _COND_T; ++ ++#define __LOCK_INITIALIZER ((_LOCK_T)0) ++#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) ++#define __COND_INITIALIZER ((_COND_T)0) ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++static inline void __libc_lock_init(_LOCK_T *lock) { ++ *lock = __LOCK_INITIALIZER; ++} ++ ++static inline void __libc_lock_close(_LOCK_T *lock ) {} ++ ++static inline void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { ++ *lock = __LOCK_INITIALIZER_RECURSIVE; ++} ++ ++static inline void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) {} ++ ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns errno */ ++static inline int __libc_cond_init(_COND_T *cond) { ++ *cond = __COND_INITIALIZER; ++} ++ ++extern int __libc_cond_signal(_COND_T *cond); ++extern int __libc_cond_broadcast(_COND_T *cond); ++extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); ++extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#define __LOCK_INIT(CLASS,NAME) \ ++CLASS _LOCK_T NAME = __LOCK_INITIALIZER; ++ ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ ++CLASS _LOCK_RECURSIVE_T NAME = __LOCK_INITIALIZER_RECURSIVE; ++ ++#define __COND_INIT(CLASS,NAME) \ ++CLASS _COND_T NAME = __COND_INITIALIZER; ++ ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) ++ ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) ++ ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close_recursive(&(NAME)) ++ ++#define __lock_acquire(NAME) \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_acquire_recursive(NAME) \ ++ __libc_lock_acquire_recursive(&(NAME)) ++ ++#define __lock_try_acquire(NAME) \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_try_acquire_recursive(NAME) \ ++ __libc_lock_try_acquire_recursive(&(NAME)) ++ ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release_recursive(&(NAME)) ++ ++#define __cond_init(NAME) \ ++ __libc_cond_init(&(NAME)) ++ ++#define __cond_signal(NAME) \ ++ __libc_cond_signal(&(NAME)) ++ ++#define __cond_broadcast(NAME) \ ++ __libc_cond_broadcast(&(NAME)) ++ ++#define __cond_wait(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait(&(NAME), &(LOCK), (TIMEOUT)) ++ ++#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) ++ ++ ++#endif // __SYS_LOCK_H__ diff --git a/select_toolchain.sh b/select_toolchain.sh index 4b498fb..67836b0 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -32,7 +32,7 @@ case "$VERSION" in "1" ) GCC_VER=12.2.0 BINUTILS_VER=2.40 - NEWLIB_VER=4.2.0.20211231 + NEWLIB_VER=4.3.0.20230120 basedir='dkarm-eabi' package=devkitARM target=arm-none-eabi From 923724a397f9911b7accfe080fcf042da0591b7f Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 24 Aug 2022 09:09:20 +0100 Subject: [PATCH 207/280] devkitPPC: update gcc to 12.2.0 --- .../{gcc-12.1.0.patch => gcc-12.2.0.patch} | 280 +++++++++++++----- select_toolchain.sh | 2 +- 2 files changed, 207 insertions(+), 75 deletions(-) rename dkppc/patches/{gcc-12.1.0.patch => gcc-12.2.0.patch} (75%) diff --git a/dkppc/patches/gcc-12.1.0.patch b/dkppc/patches/gcc-12.2.0.patch similarity index 75% rename from dkppc/patches/gcc-12.1.0.patch rename to dkppc/patches/gcc-12.2.0.patch index 4a6b4c7..28cd3ef 100644 --- a/dkppc/patches/gcc-12.1.0.patch +++ b/dkppc/patches/gcc-12.2.0.patch @@ -1,7 +1,8 @@ -diff -NBaur gcc-12.1.0/config/gthr.m4 gcc-12.1.0-dkppc/config/gthr.m4 ---- gcc-12.1.0/config/gthr.m4 2022-05-06 08:30:56.000000000 +0100 -+++ gcc-12.1.0-dkppc/config/gthr.m4 2022-05-06 19:17:44.784777075 +0100 -@@ -13,6 +13,7 @@ +diff --git a/config/gthr.m4 b/config/gthr.m4 +index 4b937306ad0..bfd0375bd60 100644 +--- a/config/gthr.m4 ++++ b/config/gthr.m4 +@@ -13,6 +13,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER], case $1 in aix) thread_header=config/rs6000/gthr-aix.h ;; dce) thread_header=config/pa/gthr-dce.h ;; @@ -9,10 +10,11 @@ diff -NBaur gcc-12.1.0/config/gthr.m4 gcc-12.1.0-dkppc/config/gthr.m4 gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff -NBaur gcc-12.1.0/gcc/config/i386/host-mingw32.cc gcc-12.1.0-dkppc/gcc/config/i386/host-mingw32.cc ---- gcc-12.1.0/gcc/config/i386/host-mingw32.cc 2022-05-06 08:30:56.000000000 +0100 -+++ gcc-12.1.0-dkppc/gcc/config/i386/host-mingw32.cc 2022-05-06 19:17:44.784777075 +0100 -@@ -45,7 +45,11 @@ +diff --git a/gcc/config/i386/host-mingw32.cc b/gcc/config/i386/host-mingw32.cc +index 3b0d83ffc60..6e063b6ccd0 100644 +--- a/gcc/config/i386/host-mingw32.cc ++++ b/gcc/config/i386/host-mingw32.cc +@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void); static inline void w32_error(const char*, const char*, int, const char*); /* FIXME: Is this big enough? */ @@ -24,10 +26,11 @@ diff -NBaur gcc-12.1.0/gcc/config/i386/host-mingw32.cc gcc-12.1.0-dkppc/gcc/conf /* Granularity for reserving address space. */ static size_t va_granularity = 0x10000; -diff -NBaur gcc-12.1.0/gcc/config/newlib-stdint.h gcc-12.1.0-dkppc/gcc/config/newlib-stdint.h ---- gcc-12.1.0/gcc/config/newlib-stdint.h 2022-05-06 08:30:57.000000000 +0100 -+++ gcc-12.1.0-dkppc/gcc/config/newlib-stdint.h 2022-05-06 19:17:44.784777075 +0100 -@@ -25,7 +25,7 @@ +diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h +index 098f658e74f..50c74877deb 100644 +--- a/gcc/config/newlib-stdint.h ++++ b/gcc/config/newlib-stdint.h +@@ -25,7 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see /* newlib uses 32-bit long in certain cases for all non-SPU targets. */ #ifndef STDINT_LONG32 @@ -36,10 +39,24 @@ diff -NBaur gcc-12.1.0/gcc/config/newlib-stdint.h gcc-12.1.0-dkppc/gcc/config/ne #endif #define SIG_ATOMIC_TYPE "int" -diff -NBaur gcc-12.1.0/gcc/config/rs6000/rs6000.h gcc-12.1.0-dkppc/gcc/config/rs6000/rs6000.h ---- gcc-12.1.0/gcc/config/rs6000/rs6000.h 2022-05-06 08:30:57.000000000 +0100 -+++ gcc-12.1.0-dkppc/gcc/config/rs6000/rs6000.h 2022-05-06 19:22:10.793624730 +0100 -@@ -196,6 +196,7 @@ +diff --git a/gcc/config/rs6000/eabi.h b/gcc/config/rs6000/eabi.h +index e58283fe5d4..161767b2b08 100644 +--- a/gcc/config/rs6000/eabi.h ++++ b/gcc/config/rs6000/eabi.h +@@ -36,6 +36,8 @@ + builtin_assert ("system=embedded"); \ + builtin_assert ("cpu=powerpc"); \ + builtin_assert ("machine=powerpc"); \ ++ builtin_define ("__DEVKITPPC__"); \ ++ builtin_define ("__DEVKITPRO__"); \ + TARGET_OS_SYSV_CPP_BUILTINS (); \ + } \ + while (0) +diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h +index bc48f450210..7ba76802670 100644 +--- a/gcc/config/rs6000/rs6000.h ++++ b/gcc/config/rs6000/rs6000.h +@@ -199,6 +199,7 @@ ASM_OPT_ANY /* -mcpu=native handling only makes sense with compiler running on an PowerPC chip. If changing this condition, also change the condition in driver-rs6000.cc. */ @@ -47,7 +64,7 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/rs6000.h gcc-12.1.0-dkppc/gcc/config/rs #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX) /* In driver-rs6000.cc. */ extern const char *host_detect_local_cpu (int argc, const char **argv); -@@ -207,6 +208,8 @@ +@@ -210,6 +211,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); #else #define ASM_CPU_NATIVE_SPEC "%(asm_default)" #endif @@ -56,10 +73,11 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/rs6000.h gcc-12.1.0-dkppc/gcc/config/rs #ifndef CC1_CPU_SPEC #ifdef HAVE_LOCAL_CPU_DETECT -diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.h ---- gcc-12.1.0/gcc/config/rs6000/sysv4.h 2022-05-06 08:30:57.000000000 +0100 -+++ gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.h 2022-05-06 19:17:44.784777075 +0100 -@@ -589,7 +589,11 @@ +diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h +index 7e2519de5d4..bedfaf31808 100644 +--- a/gcc/config/rs6000/sysv4.h ++++ b/gcc/config/rs6000/sysv4.h +@@ -589,7 +589,11 @@ GNU_USER_TARGET_CC1_SPEC /* Default starting address if specified. */ #define LINK_START_SPEC "\ @@ -72,7 +90,7 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6 myellowknife : %(link_start_yellowknife) ; \ mmvme : %(link_start_mvme) ; \ msim : %(link_start_sim) ; \ -@@ -620,7 +624,8 @@ +@@ -620,7 +624,8 @@ GNU_USER_TARGET_CC1_SPEC /* Any specific OS flags. */ #define LINK_OS_SPEC "\ @@ -82,7 +100,7 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6 myellowknife : %(link_os_yellowknife) ; \ mmvme : %(link_os_mvme) ; \ msim : %(link_os_sim) ; \ -@@ -635,7 +640,10 @@ +@@ -635,7 +640,10 @@ GNU_USER_TARGET_CC1_SPEC /* Override rs6000.h definition. */ #undef CPP_SPEC #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ @@ -94,7 +112,7 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6 myellowknife : %(cpp_os_yellowknife) ; \ mmvme : %(cpp_os_mvme) ; \ msim : %(cpp_os_sim) ; \ -@@ -649,7 +657,10 @@ +@@ -649,7 +657,10 @@ GNU_USER_TARGET_CC1_SPEC #undef STARTFILE_SPEC #define STARTFILE_SPEC "\ @@ -106,7 +124,7 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6 myellowknife : %(startfile_yellowknife) ; \ mmvme : %(startfile_mvme) ; \ msim : %(startfile_sim) ; \ -@@ -663,7 +674,8 @@ +@@ -663,7 +674,8 @@ GNU_USER_TARGET_CC1_SPEC #undef LIB_SPEC #define LIB_SPEC "\ @@ -116,7 +134,7 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6 myellowknife : %(lib_yellowknife) ; \ mmvme : %(lib_mvme) ; \ msim : %(lib_sim) ; \ -@@ -673,11 +685,12 @@ +@@ -673,11 +685,12 @@ GNU_USER_TARGET_CC1_SPEC mcall-openbsd: %(lib_openbsd) ; \ : %(lib_default) }" @@ -131,7 +149,7 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6 myellowknife : %(endfile_yellowknife) ; \ mmvme : %(endfile_mvme) ; \ msim : %(endfile_sim) ; \ -@@ -693,16 +706,27 @@ +@@ -693,16 +706,27 @@ GNU_USER_TARGET_CC1_SPEC /* Motorola ADS support. */ #define LIB_ADS_SPEC "--start-group -lads -lc --end-group" @@ -159,7 +177,7 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6 /* Motorola Yellowknife support. */ #define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" -@@ -850,6 +874,7 @@ +@@ -850,6 +874,7 @@ ncrtn.o%s" #undef SUBTARGET_EXTRA_SPECS #define SUBTARGET_EXTRA_SPECS \ { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ @@ -167,7 +185,7 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6 { "lib_ads", LIB_ADS_SPEC }, \ { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ { "lib_mvme", LIB_MVME_SPEC }, \ -@@ -859,6 +884,7 @@ +@@ -859,6 +884,7 @@ ncrtn.o%s" { "lib_netbsd", LIB_NETBSD_SPEC }, \ { "lib_openbsd", LIB_OPENBSD_SPEC }, \ { "lib_default", LIB_DEFAULT_SPEC }, \ @@ -175,7 +193,7 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6 { "startfile_ads", STARTFILE_ADS_SPEC }, \ { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ { "startfile_mvme", STARTFILE_MVME_SPEC }, \ -@@ -868,6 +894,7 @@ +@@ -868,6 +894,7 @@ ncrtn.o%s" { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ @@ -183,7 +201,7 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6 { "endfile_ads", ENDFILE_ADS_SPEC }, \ { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ { "endfile_mvme", ENDFILE_MVME_SPEC }, \ -@@ -879,7 +906,11 @@ +@@ -879,7 +906,11 @@ ncrtn.o%s" { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ { "link_shlib", LINK_SHLIB_SPEC }, \ { "link_start", LINK_START_SPEC }, \ @@ -195,7 +213,7 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6 { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ { "link_start_mvme", LINK_START_MVME_SPEC }, \ { "link_start_sim", LINK_START_SIM_SPEC }, \ -@@ -889,6 +920,7 @@ +@@ -889,6 +920,7 @@ ncrtn.o%s" { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ { "link_start_default", LINK_START_DEFAULT_SPEC }, \ { "link_os", LINK_OS_SPEC }, \ @@ -203,7 +221,7 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6 { "link_os_ads", LINK_OS_ADS_SPEC }, \ { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ { "link_os_mvme", LINK_OS_MVME_SPEC }, \ -@@ -900,6 +932,9 @@ +@@ -900,6 +932,9 @@ ncrtn.o%s" { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ { "link_secure_plt", LINK_SECURE_PLT_SPEC }, \ @@ -213,10 +231,11 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6 { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ -diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.opt gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.opt ---- gcc-12.1.0/gcc/config/rs6000/sysv4.opt 2022-05-06 08:30:57.000000000 +0100 -+++ gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.opt 2022-05-06 19:17:44.784777075 +0100 -@@ -124,6 +124,26 @@ +diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt +index ac75d67b19a..bdee36872f8 100644 +--- a/gcc/config/rs6000/sysv4.opt ++++ b/gcc/config/rs6000/sysv4.opt +@@ -124,6 +124,26 @@ mads Target RejectNegative Link with libads.a, libc.a and crt0.o. @@ -243,10 +262,11 @@ diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.opt gcc-12.1.0-dkppc/gcc/config/r myellowknife Target RejectNegative Link with libyk.a, libc.a and crt0.o. -diff -NBaur gcc-12.1.0/gcc/configure gcc-12.1.0-dkppc/gcc/configure ---- gcc-12.1.0/gcc/configure 2022-05-06 08:30:57.000000000 +0100 -+++ gcc-12.1.0-dkppc/gcc/configure 2022-05-06 19:17:44.788859483 +0100 -@@ -12884,7 +12884,7 @@ +diff --git a/gcc/configure b/gcc/configure +index 5ce0557719a..a1c59e87b83 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -12884,7 +12884,7 @@ case ${enable_threads} in # default target_thread_file='single' ;; @@ -255,10 +275,11 @@ diff -NBaur gcc-12.1.0/gcc/configure gcc-12.1.0-dkppc/gcc/configure single | tpf | vxworks | win32) target_thread_file=${enable_threads} ;; -diff -NBaur gcc-12.1.0/gcc/configure.ac gcc-12.1.0-dkppc/gcc/configure.ac ---- gcc-12.1.0/gcc/configure.ac 2022-05-06 08:30:57.000000000 +0100 -+++ gcc-12.1.0-dkppc/gcc/configure.ac 2022-05-06 19:17:44.788859483 +0100 -@@ -1994,7 +1994,7 @@ +diff --git a/gcc/configure.ac b/gcc/configure.ac +index 23bee7010a3..4540b6d3aee 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -1994,7 +1994,7 @@ case ${enable_threads} in # default target_thread_file='single' ;; @@ -267,9 +288,10 @@ diff -NBaur gcc-12.1.0/gcc/configure.ac gcc-12.1.0-dkppc/gcc/configure.ac single | tpf | vxworks | win32) target_thread_file=${enable_threads} ;; -diff -NBaur gcc-12.1.0/libgcc/config/rs6000/crtrestvr.S gcc-12.1.0-dkppc/libgcc/config/rs6000/crtrestvr.S ---- gcc-12.1.0/libgcc/config/rs6000/crtrestvr.S 2022-05-06 08:30:59.000000000 +0100 -+++ gcc-12.1.0-dkppc/libgcc/config/rs6000/crtrestvr.S 2022-05-06 19:17:44.792941894 +0100 +diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S +index cf224657260..38683e58cb3 100644 +--- a/libgcc/config/rs6000/crtrestvr.S ++++ b/libgcc/config/rs6000/crtrestvr.S @@ -24,7 +24,7 @@ /* On PowerPC64 Linux, these functions are provided by the linker. */ @@ -279,14 +301,15 @@ diff -NBaur gcc-12.1.0/libgcc/config/rs6000/crtrestvr.S gcc-12.1.0-dkppc/libgcc/ #undef __ALTIVEC__ #define __ALTIVEC__ 1 #include "ppc-asm.h" -@@ -86,3 +86,4 @@ +@@ -86,3 +86,4 @@ FUNC_END(_restvr_20) CFI_ENDPROC #endif +#endif -diff -NBaur gcc-12.1.0/libgcc/config/rs6000/crtsavevr.S gcc-12.1.0-dkppc/libgcc/config/rs6000/crtsavevr.S ---- gcc-12.1.0/libgcc/config/rs6000/crtsavevr.S 2022-05-06 08:30:59.000000000 +0100 -+++ gcc-12.1.0-dkppc/libgcc/config/rs6000/crtsavevr.S 2022-05-06 19:17:44.792941894 +0100 +diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S +index 65e791741f7..631be3ec5ba 100644 +--- a/libgcc/config/rs6000/crtsavevr.S ++++ b/libgcc/config/rs6000/crtsavevr.S @@ -24,7 +24,7 @@ /* On PowerPC64 Linux, these functions are provided by the linker. */ @@ -296,14 +319,16 @@ diff -NBaur gcc-12.1.0/libgcc/config/rs6000/crtsavevr.S gcc-12.1.0-dkppc/libgcc/ #undef __ALTIVEC__ #define __ALTIVEC__ 1 #include "ppc-asm.h" -@@ -86,3 +86,4 @@ +@@ -86,3 +86,4 @@ FUNC_END(_savevr_20) CFI_ENDPROC #endif +#endif -diff -NBaur gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.c gcc-12.1.0-dkppc/libgcc/config/rs6000/gthr-dkp.c ---- gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.c 1970-01-01 01:00:00.000000000 +0100 -+++ gcc-12.1.0-dkppc/libgcc/config/rs6000/gthr-dkp.c 2022-05-06 19:17:44.792941894 +0100 +diff --git a/libgcc/config/rs6000/gthr-dkp.c b/libgcc/config/rs6000/gthr-dkp.c +new file mode 100644 +index 00000000000..26180aa7f36 +--- /dev/null ++++ b/libgcc/config/rs6000/gthr-dkp.c @@ -0,0 +1,319 @@ +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ @@ -624,9 +649,11 @@ diff -NBaur gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.c gcc-12.1.0-dkppc/libgcc/c + + return __gthr_impl_cond_destroy(__cond); +} -diff -NBaur gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.h gcc-12.1.0-dkppc/libgcc/config/rs6000/gthr-dkp.h ---- gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.h 1970-01-01 01:00:00.000000000 +0100 -+++ gcc-12.1.0-dkppc/libgcc/config/rs6000/gthr-dkp.h 2022-05-06 19:17:44.792941894 +0100 +diff --git a/libgcc/config/rs6000/gthr-dkp.h b/libgcc/config/rs6000/gthr-dkp.h +new file mode 100644 +index 00000000000..72ecf82ab83 +--- /dev/null ++++ b/libgcc/config/rs6000/gthr-dkp.h @@ -0,0 +1,187 @@ +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ @@ -815,19 +842,21 @@ diff -NBaur gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.h gcc-12.1.0-dkppc/libgcc/c +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */ -diff -NBaur gcc-12.1.0/libgcc/config/rs6000/t-ppccomm gcc-12.1.0-dkppc/libgcc/config/rs6000/t-ppccomm ---- gcc-12.1.0/libgcc/config/rs6000/t-ppccomm 2022-05-06 08:30:59.000000000 +0100 -+++ gcc-12.1.0-dkppc/libgcc/config/rs6000/t-ppccomm 2022-05-06 19:17:44.792941894 +0100 +diff --git a/libgcc/config/rs6000/t-ppccomm b/libgcc/config/rs6000/t-ppccomm +index fb812d3801f..7f6669d530f 100644 +--- a/libgcc/config/rs6000/t-ppccomm ++++ b/libgcc/config/rs6000/t-ppccomm @@ -1,4 +1,5 @@ LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c \ + $(srcdir)/config/rs6000/gthr-dkp.c \ $(srcdir)/config/rs6000/tramp.S # This can't end up in shared libgcc -diff -NBaur gcc-12.1.0/libgcc/configure gcc-12.1.0-dkppc/libgcc/configure ---- gcc-12.1.0/libgcc/configure 2022-05-06 08:30:59.000000000 +0100 -+++ gcc-12.1.0-dkppc/libgcc/configure 2022-05-06 19:17:44.792941894 +0100 -@@ -5689,6 +5689,7 @@ +diff --git a/libgcc/configure b/libgcc/configure +index 1f9b2ac578b..539fd961156 100755 +--- a/libgcc/configure ++++ b/libgcc/configure +@@ -5689,6 +5689,7 @@ tm_file="${tm_file_}" case $target_thread_file in aix) thread_header=config/rs6000/gthr-aix.h ;; dce) thread_header=config/pa/gthr-dce.h ;; @@ -835,10 +864,11 @@ diff -NBaur gcc-12.1.0/libgcc/configure gcc-12.1.0-dkppc/libgcc/configure gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff -NBaur gcc-12.1.0/libgcc/crtstuff.c gcc-12.1.0-dkppc/libgcc/crtstuff.c ---- gcc-12.1.0/libgcc/crtstuff.c 2022-05-06 08:30:59.000000000 +0100 -+++ gcc-12.1.0-dkppc/libgcc/crtstuff.c 2022-05-06 19:17:44.792941894 +0100 -@@ -325,7 +325,7 @@ +diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c +index b98b86a5a88..3f62b3616d2 100644 +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -325,7 +325,7 @@ register_tm_clones (void) #ifdef OBJECT_FORMAT_ELF @@ -847,10 +877,11 @@ diff -NBaur gcc-12.1.0/libgcc/crtstuff.c gcc-12.1.0-dkppc/libgcc/crtstuff.c /* Declare the __dso_handle variable. It should have a unique value in every shared-object; in a main program its value is zero. The object should in any case be protected. This means the instance -diff -NBaur gcc-12.1.0/libstdc++-v3/configure gcc-12.1.0-dkppc/libstdc++-v3/configure ---- gcc-12.1.0/libstdc++-v3/configure 2022-05-06 08:31:00.000000000 +0100 -+++ gcc-12.1.0-dkppc/libstdc++-v3/configure 2022-05-06 19:17:44.801106712 +0100 -@@ -15765,6 +15765,7 @@ +diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure +index eac60392121..d1c85de1e34 100755 +--- a/libstdc++-v3/configure ++++ b/libstdc++-v3/configure +@@ -15765,6 +15765,7 @@ $as_echo "$target_thread_file" >&6; } case $target_thread_file in aix) thread_header=config/rs6000/gthr-aix.h ;; dce) thread_header=config/pa/gthr-dce.h ;; @@ -858,3 +889,104 @@ diff -NBaur gcc-12.1.0/libstdc++-v3/configure gcc-12.1.0-dkppc/libstdc++-v3/conf gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; +diff --git a/libstdc++-v3/include/std/fstream b/libstdc++-v3/include/std/fstream +index e62a1ade3c2..5f8ec3a1495 100644 +--- a/libstdc++-v3/include/std/fstream ++++ b/libstdc++-v3/include/std/fstream +@@ -46,7 +46,7 @@ + + // This can be overridden by the target's os_defines.h + #ifndef _GLIBCXX_BUFSIZ +-# define _GLIBCXX_BUFSIZ BUFSIZ ++# define _GLIBCXX_BUFSIZ (BUFSIZ+1) + #endif + + namespace std _GLIBCXX_VISIBILITY(default) +diff --git a/libstdc++-v3/libsupc++/eh_alloc.cc b/libstdc++-v3/libsupc++/eh_alloc.cc +index c85b9aed40b..a8f3f4a50d2 100644 +--- a/libstdc++-v3/libsupc++/eh_alloc.cc ++++ b/libstdc++-v3/libsupc++/eh_alloc.cc +@@ -85,6 +85,7 @@ namespace + { + public: + pool(); ++ ~pool(); + + _GLIBCXX_NODISCARD void *allocate (std::size_t); + void free (void *); +@@ -136,6 +137,15 @@ namespace + first_free_entry->next = NULL; + } + ++ pool::~pool() ++ { ++ if (arena) ++ { ++ ::free(arena); ++ arena = 0; ++ } ++ } ++ + void *pool::allocate (std::size_t size) + { + __gnu_cxx::__scoped_lock sentry(emergency_mutex); +diff --git a/libstdc++-v3/src/c++17/fs_ops.cc b/libstdc++-v3/src/c++17/fs_ops.cc +index 435368fa5c5..75b78c384b4 100644 +--- a/libstdc++-v3/src/c++17/fs_ops.cc ++++ b/libstdc++-v3/src/c++17/fs_ops.cc +@@ -1123,6 +1123,7 @@ fs::permissions(const path& p, perms prms, perm_options opts, + } + + int err = 0; ++#ifndef __DEVKITPPC__ + #if _GLIBCXX_USE_FCHMODAT + const int flag = (nofollow && is_symlink(st)) ? AT_SYMLINK_NOFOLLOW : 0; + if (::fchmodat(AT_FDCWD, p.c_str(), static_cast(prms), flag)) +@@ -1132,6 +1133,7 @@ fs::permissions(const path& p, perms prms, perm_options opts, + ec = std::__unsupported(); + else if (posix::chmod(p.c_str(), static_cast(prms))) + err = errno; ++#endif + #endif + + if (err) +diff --git a/libstdc++-v3/src/filesystem/ops-common.h b/libstdc++-v3/src/filesystem/ops-common.h +index 978e8724154..f773d3b9b62 100644 +--- a/libstdc++-v3/src/filesystem/ops-common.h ++++ b/libstdc++-v3/src/filesystem/ops-common.h +@@ -481,6 +481,7 @@ _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM + return false; + } + ++#ifndef __DEVKITPPC__ + #if defined _GLIBCXX_USE_FCHMOD && ! defined _GLIBCXX_FILESYSTEM_IS_WINDOWS + if (::fchmod(out.fd, from_st->st_mode)) + #elif defined _GLIBCXX_USE_FCHMODAT && ! defined _GLIBCXX_FILESYSTEM_IS_WINDOWS +@@ -492,6 +493,7 @@ _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM + ec.assign(errno, std::generic_category()); + return false; + } ++#endif + + size_t count = from_st->st_size; + #if defined _GLIBCXX_USE_SENDFILE && ! defined _GLIBCXX_FILESYSTEM_IS_WINDOWS +diff --git a/libstdc++-v3/src/filesystem/ops.cc b/libstdc++-v3/src/filesystem/ops.cc +index 896a4918ace..59a155b840e 100644 +--- a/libstdc++-v3/src/filesystem/ops.cc ++++ b/libstdc++-v3/src/filesystem/ops.cc +@@ -971,6 +971,7 @@ fs::permissions(const path& p, perms prms, error_code& ec) noexcept + } + + int err = 0; ++#ifndef __DEVKITPPC__ + #if _GLIBCXX_USE_FCHMODAT + const int flag = (nofollow && is_symlink(st)) ? AT_SYMLINK_NOFOLLOW : 0; + if (::fchmodat(AT_FDCWD, p.c_str(), static_cast(prms), flag)) +@@ -980,6 +981,7 @@ fs::permissions(const path& p, perms prms, error_code& ec) noexcept + ec = std::__unsupported(); + else if (posix::chmod(p.c_str(), static_cast(prms))) + err = errno; ++#endif + #endif + + if (err) diff --git a/select_toolchain.sh b/select_toolchain.sh index 67836b0..04c3044 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -39,7 +39,7 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - GCC_VER=12.1.0 + GCC_VER=12.2.0 BINUTILS_VER=2.37 MN_BINUTILS_VER=2.24 NEWLIB_VER=4.2.0.20211231 From 9df09872596ae030bd294297e703abc7083375d9 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 18 Mar 2023 22:39:09 +0000 Subject: [PATCH 208/280] devkitPPC: update binutils to 2.40 --- dkppc/patches/binutils-2.37.patch | 28 ---------------------------- dkppc/patches/binutils-2.40.patch | 26 ++++++++++++++++++++++++++ select_toolchain.sh | 2 +- 3 files changed, 27 insertions(+), 29 deletions(-) delete mode 100644 dkppc/patches/binutils-2.37.patch create mode 100644 dkppc/patches/binutils-2.40.patch diff --git a/dkppc/patches/binutils-2.37.patch b/dkppc/patches/binutils-2.37.patch deleted file mode 100644 index add8404..0000000 --- a/dkppc/patches/binutils-2.37.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -NBaur binutils-2.37/libiberty/rust-demangle.c binutils-2.37-new/libiberty/rust-demangle.c ---- binutils-2.37/libiberty/rust-demangle.c 2021-07-15 15:19:46.000000000 +0100 -+++ binutils-2.37-new/libiberty/rust-demangle.c 2022-01-01 22:02:21.860422023 +0000 -@@ -75,10 +75,10 @@ - int version; - - /* Recursion depth. */ -- uint recursion; -+ unsigned recursion; - /* Maximum number of times demangle_path may be called recursively. */ - #define RUST_MAX_RECURSION_COUNT 1024 --#define RUST_NO_RECURSION_LIMIT ((uint) -1) -+#define RUST_NO_RECURSION_LIMIT ((unsigned) -1) - - uint64_t bound_lifetime_depth; - }; -diff -NBaur binutils-2.37/opcodes/ppc-opc.c binutils-2.37-new/opcodes/ppc-opc.c ---- binutils-2.37/opcodes/ppc-opc.c 2021-07-08 12:37:21.000000000 +0100 -+++ binutils-2.37-new/opcodes/ppc-opc.c 2022-01-01 22:02:04.409141184 +0000 -@@ -4302,7 +4302,7 @@ - #define MFDEC2 (PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE \ - | PPC_OPCODE_TITAN) - #define BOOKE PPC_OPCODE_BOOKE --#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS -+#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS - #define PPCE300 PPC_OPCODE_E300 - #define PPCSPE PPC_OPCODE_SPE - #define PPCSPE2 PPC_OPCODE_SPE2 diff --git a/dkppc/patches/binutils-2.40.patch b/dkppc/patches/binutils-2.40.patch new file mode 100644 index 0000000..f25e5d7 --- /dev/null +++ b/dkppc/patches/binutils-2.40.patch @@ -0,0 +1,26 @@ +diff --git a/ld/emulparams/elf32ppccommon.sh b/ld/emulparams/elf32ppccommon.sh +index da892988f5d..6b8efb9bbdb 100644 +--- a/ld/emulparams/elf32ppccommon.sh ++++ b/ld/emulparams/elf32ppccommon.sh +@@ -23,7 +23,7 @@ else + unset SBSS_START_SYMBOLS + unset SBSS_END_SYMBOLS + fi +-OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end = .${CREATE_SHLIB+)};" ++OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end = .${CREATE_SHLIB+)};${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" + OTHER_RELRO_SECTIONS=" + .fixup ${RELOCATING-0} : { *(.fixup) } + .got1 ${RELOCATING-0} : { *(.got1) } +diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c +index 37f1aeb780c..f8de8aacc44 100644 +--- a/opcodes/ppc-opc.c ++++ b/opcodes/ppc-opc.c +@@ -4988,7 +4988,7 @@ const unsigned int num_powerpc_operands = ARRAY_SIZE (powerpc_operands); + #define MFDEC2 (PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE \ + | PPC_OPCODE_TITAN) + #define BOOKE PPC_OPCODE_BOOKE +-#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS ++#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS + #define PPCE300 PPC_OPCODE_E300 + #define PPCSPE PPC_OPCODE_SPE + #define PPCSPE2 PPC_OPCODE_SPE2 diff --git a/select_toolchain.sh b/select_toolchain.sh index 04c3044..dff40fa 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -40,7 +40,7 @@ case "$VERSION" in ;; "2" ) GCC_VER=12.2.0 - BINUTILS_VER=2.37 + BINUTILS_VER=2.40 MN_BINUTILS_VER=2.24 NEWLIB_VER=4.2.0.20211231 basedir='dkppc' From 7b03d726b63c715b387739617b0444c36c216a18 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 18 Mar 2023 22:42:58 +0000 Subject: [PATCH 209/280] devkitPPC: update newlib to 4.3.0 --- dkppc/patches/newlib-4.2.0.20211231.patch | 8253 ---------------- dkppc/patches/newlib-4.3.0.20230120.patch | 10228 ++++++++++++++++++++ dkppc/scripts/build-gcc.sh | 4 +- select_toolchain.sh | 2 +- 4 files changed, 10232 insertions(+), 8255 deletions(-) delete mode 100644 dkppc/patches/newlib-4.2.0.20211231.patch create mode 100644 dkppc/patches/newlib-4.3.0.20230120.patch diff --git a/dkppc/patches/newlib-4.2.0.20211231.patch b/dkppc/patches/newlib-4.2.0.20211231.patch deleted file mode 100644 index d9badcd..0000000 --- a/dkppc/patches/newlib-4.2.0.20211231.patch +++ /dev/null @@ -1,8253 +0,0 @@ -diff --git a/libgloss/configure b/libgloss/configure -index e70c57d89..ac5c745f9 100755 ---- a/libgloss/configure -+++ b/libgloss/configure -@@ -2787,6 +2787,8 @@ if test "${config_libnosys}" = "true"; then - - fi - -+subdirs="$subdirs libsysbase" -+ - DEPDIR="${am__leading_dot}deps" - - ac_config_commands="$ac_config_commands depfiles" -diff --git a/libgloss/configure.ac b/libgloss/configure.ac -index 0fbe99526..42ea1d2ed 100644 ---- a/libgloss/configure.ac -+++ b/libgloss/configure.ac -@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. - AC_PREREQ(2.69)dnl - AC_INIT([libgloss],[LIBGLOSS_VERSION]) - AC_CONFIG_SRCDIR([libnosys]) -+AC_CONFIG_SRCDIR([libsysbase]) - - if test "${enable_shared}" = "yes" ; then - echo "Shared libraries not supported for cross compiling, ignored" -@@ -33,6 +34,9 @@ config_testsuite=true - dnl indicates whether to run configure within the libnosys subdirectory - config_libnosys=true - -+dnl indicates whether to run configure within the libsysbase subdirectory -+config_libsysbase=true -+ - case "${target}" in - aarch64*-*-*) - AC_CONFIG_SUBDIRS(aarch64) -@@ -197,6 +201,10 @@ if test "${config_libnosys}" = "true"; then - AC_CONFIG_SUBDIRS([libnosys]) - fi - -+if test "${config_libsysbase}" = "true"; then -+ AC_CONFIG_SUBDIRS([libsysbase]) -+fi -+ - LIB_AC_PROG_CC - AS=${AS-as} - AC_SUBST(AS) -diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in -new file mode 100644 -index 000000000..bd69599a8 ---- /dev/null -+++ b/libgloss/libsysbase/Makefile.in -@@ -0,0 +1,148 @@ -+# Copyright (c) 1998 Cygnus Support -+# -+# The authors hereby grant permission to use, copy, modify, distribute, -+# and license this software and its documentation for any purpose, provided -+# that existing copyright notices are retained in all copies and that this -+# notice is included verbatim in any distributions. No written agreement, -+# license, or royalty fee is required for any of the authorized uses. -+# Modifications to this software may be copyrighted by their authors -+# and need not follow the licensing terms described here, provided that -+# the new terms are clearly indicated on the first page of each file where -+# they apply. -+ -+DESTDIR = -+VPATH = @srcdir@ -+srcdir = @srcdir@ -+objdir = . -+srcroot = $(srcdir)/../.. -+objroot = $(objdir)/../.. -+ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+host_alias = @host_alias@ -+target_alias = @target_alias@ -+program_transform_name = @program_transform_name@ -+ -+bindir = @bindir@ -+libdir = @libdir@ -+tooldir = $(exec_prefix)/$(target_alias) -+ -+# Multilib support variables. -+# TOP is used instead of MULTI{BUILD,SRC}TOP. -+MULTIDIRS = -+MULTISUBDIR = -+MULTIDO = true -+MULTICLEAN = true -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+ -+SHELL = /bin/sh -+ -+CC = @CC@ -+ -+#AS = @AS@ -+AS = `if [ -f ${objroot}/../gas/as.new ] ; \ -+ then echo ${objroot}/../gas/as.new ; \ -+ else echo as ; fi` -+ -+AR = @AR@ -+ -+#LD = @LD@ -+LD = `if [ -f ${objroot}/../ld/ld.new ] ; \ -+ then echo ${objroot}/../ld/ld.new ; \ -+ else echo ld ; fi` -+ -+RANLIB = @RANLIB@ -+ -+OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \ -+ then echo ${objroot}/../binutils/objdump ; \ -+ else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi` -+OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \ -+ then echo ${objroot}/../binutils/objcopy ; \ -+ else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi` -+ -+# object files needed -+OBJS = abort.o iosupport.o clocks.o close.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ -+ isatty.o kill.o link.o lseek.o lstat.o nanosleep.o open.o read.o sbrk.o sleep.o stat.o usleep.o times.o \ -+ unlink.o wait.o write.o _exit.o malloc_vars.o \ -+ chdir.o mkdir.o rename.o build_argv.o statvfs.o \ -+ flock.o handle_manager.o truncate.o ftruncate.o dirent.o fsync.o \ -+ fchmod.o chmod.o rmdir.o utime.o scandir.o syscall_support.o -+ -+# Object files specific to particular targets. -+EVALOBJS = ${OBJS} -+ -+GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \ -+ then echo -L${objroot}/../gcc ; fi` -+ -+OUTPUTS = libsysbase.a -+ -+NEWLIB_CFLAGS = `if [ -d ${objroot}/newlib ]; then echo -I${objroot}/newlib/targ-include -I${srcroot}/newlib/libc/include; fi` -+NEWLIB_LDFLAGS = `if [ -d ${objroot}/newlib ]; then echo -B${objroot}/newlib/ -L${objroot}/newlib/; fi` -+ -+INCLUDES = -I. -I$(srcdir)/.. -+# Note that when building the library, ${MULTILIB} is not the way multilib -+# options are passed; they're passed in $(CFLAGS). -+CFLAGS_FOR_TARGET = ${MULTILIB} ${INCLUDES} ${NEWLIB_CFLAGS} -+LDFLAGS_FOR_TARGET = ${MULTILIB} ${NEWLIB_LDFLAGS} -+AR_FLAGS = qc -+ -+.c.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -D_BUILDING_LIBSYSBASE -O2 $(INCLUDES) -c $(CFLAGS) $< -+ -+.C.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -D_BUILDING_LIBSYSBASE -O2 $(INCLUDES) -c $(CFLAGS) $< -+.s.o: -+ $(AS) $(ASFLAGS_FOR_TARGET) $(INCLUDES) $(ASFLAGS) -o $*.o $< -+ -+# -+# GCC knows to run the preprocessor on .S files before it assembles them. -+# -+.S.o: -+ $(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< -+ -+# -+# this is a bogus target that'll produce an assembler from the -+# C source with the right compiler options. this is so we can -+# track down code generation or debug symbol bugs. -+# -+.c.s: -+ $(CC) $(CFLAGS_FOR_TARGET) -S $(INCLUDES) $(CFLAGS) $< -+ -+all: ${OUTPUTS} -+ -+# -+# here's where we build the library for each target -+# -+ -+libsysbase.a: $(EVALOBJS) -+ ${AR} ${ARFLAGS} $@ $(EVALOBJS) -+ ${RANLIB} $@ -+ -+doc: -+ -+clean mostlyclean: -+ rm -f $(OUTPUTS) *.i *~ *.o *-test *.srec *.dis *.map *.x -+ -+distclean maintainer-clean realclean: clean -+ rm -f Makefile config.status $(OUTPUTS) -+ -+.PHONY: install info install-info clean-info -+install: -+ @for outputs in ${OUTPUTS}; do\ -+ mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ -+ $(INSTALL_PROGRAM) $${outputs} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ -+ done -+ -+info: -+install-info: -+clean-info: -+ -+Makefile: Makefile.in config.status @host_makefile_frag_path@ -+ $(SHELL) config.status -+ -+config.status: configure -+ $(SHELL) config.status --recheck -diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c -new file mode 100644 -index 000000000..6effb1105 ---- /dev/null -+++ b/libgloss/libsysbase/_exit.c -@@ -0,0 +1,17 @@ -+/* Stub version of _exit. */ -+ -+#include -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+void _exit(int rc) -+{ -+ -+ if ( __has_syscall(exit) ) { -+ __syscall_exit(rc); -+ } -+ -+ while(1); -+} -diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c -new file mode 100644 -index 000000000..9272e22c9 ---- /dev/null -+++ b/libgloss/libsysbase/abort.c -@@ -0,0 +1,8 @@ -+#include -+#include -+ -+void abort(void) { -+ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); -+ _exit (1); -+} -+ -diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h -new file mode 100644 -index 000000000..200ea7873 ---- /dev/null -+++ b/libgloss/libsysbase/acconfig.h -@@ -0,0 +1,29 @@ -+/* Name of package. */ -+#undef PACKAGE -+ -+/* Version of package. */ -+#undef VERSION -+ -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES -+ -+/* Reentrant syscalls */ -+#undef REENTRANT_SYSCALLS_PROVIDED -+ -+/* Using ELF format */ -+#undef HAVE_ELF -+ -+/* Using GNU LD */ -+#undef HAVE_GNU_LD -+ -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE -+ -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE -+ -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES -+ -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff --git a/libgloss/libsysbase/aclocal.m4 b/libgloss/libsysbase/aclocal.m4 -new file mode 100644 -index 000000000..b6cdfaeb8 ---- /dev/null -+++ b/libgloss/libsysbase/aclocal.m4 -@@ -0,0 +1,344 @@ -+# generated automatically by aclocal 1.9.5 -*- Autoconf -*- -+ -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -+# 2005 Free Software Foundation, Inc. -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+# AM_CONDITIONAL -*- Autoconf -*- -+ -+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 7 -+ -+# AM_CONDITIONAL(NAME, SHELL-CONDITION) -+# ------------------------------------- -+# Define a conditional. -+AC_DEFUN([AM_CONDITIONAL], -+[AC_PREREQ(2.52)dnl -+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], -+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -+AC_SUBST([$1_TRUE]) -+AC_SUBST([$1_FALSE]) -+if $2; then -+ $1_TRUE= -+ $1_FALSE='#' -+else -+ $1_TRUE='#' -+ $1_FALSE= -+fi -+AC_CONFIG_COMMANDS_PRE( -+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then -+ AC_MSG_ERROR([[conditional "$1" was never defined. -+Usually this means the macro was only invoked conditionally.]]) -+fi])]) -+ -+ -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 8 -+ -+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -+# written in clear, in which case automake, when reading aclocal.m4, -+# will think it sees a *use*, and therefore will trigger all it's -+# C support machinery. Also note that it means that autoscan, seeing -+# CC etc. in the Makefile, will ask for an AC_PROG_CC use... -+ -+ -+# _AM_DEPENDENCIES(NAME) -+# ---------------------- -+# See how the compiler implements dependency checking. -+# NAME is "CC", "CXX", "GCJ", or "OBJC". -+# We try a few techniques and use that to set a single cache variable. -+# -+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -+# dependency, and given that the user is not expected to run this macro, -+# just rely on AC_PROG_CC. -+AC_DEFUN([_AM_DEPENDENCIES], -+[AC_REQUIRE([AM_SET_DEPDIR])dnl -+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -+AC_REQUIRE([AM_MAKE_INCLUDE])dnl -+AC_REQUIRE([AM_DEP_TRACK])dnl -+ -+ifelse([$1], CC, [depcc="$CC" am_compiler_list=], -+ [$1], CXX, [depcc="$CXX" am_compiler_list=], -+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], -+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], -+ [depcc="$$1" am_compiler_list=]) -+ -+AC_CACHE_CHECK([dependency style of $depcc], -+ [am_cv_$1_dependencies_compiler_type], -+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub -+ -+ am_cv_$1_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` -+ fi -+ for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -+ -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_$1_dependencies_compiler_type=$depmode -+ break -+ fi -+ fi -+ done -+ -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_$1_dependencies_compiler_type=none -+fi -+]) -+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -+AM_CONDITIONAL([am__fastdep$1], [ -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -+]) -+ -+ -+# AM_SET_DEPDIR -+# ------------- -+# Choose a directory name for dependency files. -+# This macro is AC_REQUIREd in _AM_DEPENDENCIES -+AC_DEFUN([AM_SET_DEPDIR], -+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -+]) -+ -+ -+# AM_DEP_TRACK -+# ------------ -+AC_DEFUN([AM_DEP_TRACK], -+[AC_ARG_ENABLE(dependency-tracking, -+[ --disable-dependency-tracking speeds up one-time build -+ --enable-dependency-tracking do not reject slow dependency extractors]) -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi -+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -+AC_SUBST([AMDEPBACKSLASH]) -+]) -+ -+# Generate code to set up dependency tracking. -*- Autoconf -*- -+ -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+#serial 3 -+ -+# _AM_OUTPUT_DEPENDENCY_COMMANDS -+# ------------------------------ -+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -+[for mf in $CONFIG_FILES; do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # So let's grep whole file. -+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -+ dirpart=`AS_DIRNAME("$mf")` -+ else -+ continue -+ fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`AS_DIRNAME(["$file"])` -+ AS_MKDIR_P([$dirpart/$fdir]) -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done -+done -+])# _AM_OUTPUT_DEPENDENCY_COMMANDS -+ -+ -+# AM_OUTPUT_DEPENDENCY_COMMANDS -+# ----------------------------- -+# This macro should only be invoked once -- use via AC_REQUIRE. -+# -+# This code is only required when automatic dependency tracking -+# is enabled. FIXME. This creates each `.P' file that we will -+# need in order to bootstrap the dependency handling code. -+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -+[AC_CONFIG_COMMANDS([depfiles], -+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], -+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -+]) -+ -+# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 2 -+ -+# Check whether the underlying file-system supports filenames -+# with a leading dot. For instance MS-DOS doesn't. -+AC_DEFUN([AM_SET_LEADING_DOT], -+[rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+ am__leading_dot=. -+else -+ am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null -+AC_SUBST([am__leading_dot])]) -+ -+# Check to see how 'make' treats includes. -*- Autoconf -*- -+ -+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 3 -+ -+# AM_MAKE_INCLUDE() -+# ----------------- -+# Check to see how make treats includes. -+AC_DEFUN([AM_MAKE_INCLUDE], -+[am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+ @echo done -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+AC_MSG_CHECKING([for style of include used by $am_make]) -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ fi -+fi -+AC_SUBST([am__include]) -+AC_SUBST([am__quote]) -+AC_MSG_RESULT([$_am_result]) -+rm -f confinc confmf -+]) -+ -+m4_include([../acinclude.m4]) -diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c -new file mode 100644 -index 000000000..a969a0482 ---- /dev/null -+++ b/libgloss/libsysbase/build_argv.c -@@ -0,0 +1,32 @@ -+struct __argv { -+ int argvMagic; -+ char *commandLine; -+ int length; -+ int argc; -+ char **argv; -+ char **endARGV; -+}; -+ -+ -+void build_argv (struct __argv* argstruct ) { -+ -+ char *data = argstruct->commandLine; -+ int len = argstruct->length; -+ -+ char** argv = (char**)(((int)data + len + sizeof(char **)) & ~(sizeof(char **)-1)); -+ char* end = data + len - 1; -+ int argCount = 0; -+ -+ do { -+ argv[argCount++] = data; // Add next arg to argv list -+ while (*(data) && data < end) data++; // Move to next NULL delimiter -+ data++; // Move to one after the NULL delimiter -+ } while (data < end); -+ -+ *end = '\0'; // Force NULL terminator for last arg -+ argv[argCount] = 0; // Force NULL terminator for argv -+ -+ argstruct->argv = argv; -+ argstruct->argc = argCount; -+ argstruct->endARGV = &argv[argCount + 1]; -+} -diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c -new file mode 100644 -index 000000000..90d2dc5b7 ---- /dev/null -+++ b/libgloss/libsysbase/chdir.c -@@ -0,0 +1,201 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* CWD always start with "/" */ -+static char _current_working_directory [PATH_MAX] = "/"; -+static char temp_cwd [PATH_MAX]; -+ -+#define DIRECTORY_SEPARATOR_CHAR '/' -+const char DIRECTORY_SEPARATOR[] = "/"; -+const char DIRECTORY_THIS[] = "."; -+const char DIRECTORY_PARENT[] = ".."; -+ -+int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { -+ char *pathEnd; -+ int pathLength; -+ const char *extraEnd; -+ int extraSize; -+ -+ pathLength = strnlen (path, maxLength); -+ -+ /* assumes path ends in a directory separator */ -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ pathEnd = path + pathLength; -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd += 1; -+ } -+ -+ extraEnd = extra; -+ -+ /* If the extra bit starts with a slash, start at root */ -+ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; -+ pathEnd[0] = '\0'; -+ } -+ do { -+ /* Advance past any separators in extra */ -+ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ extra += 1; -+ } -+ -+ /* Grab the next directory name from extra */ -+ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); -+ if (extraEnd == NULL) { -+ extraEnd = strrchr (extra, '\0'); -+ } else { -+ extraEnd += 1; -+ } -+ -+ extraSize = (extraEnd - extra); -+ if (extraSize == 0) { -+ break; -+ } -+ -+ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) -+ { -+ /* Don't copy anything */ -+ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) -+ { -+ /* Go up one level of in the path */ -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { -+ // Remove trailing separator -+ pathEnd[-1] = '\0'; -+ } -+ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); -+ if (pathEnd == NULL) { -+ /* Can't go up any higher, return false */ -+ r->_errno = ENOENT; -+ return -1; -+ } -+ pathLength = pathEnd - path; -+ pathEnd += 1; -+ } else { -+ pathLength += extraSize; -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ /* Copy the next part over */ -+ strncpy (pathEnd, extra, extraSize); -+ pathEnd += extraSize; -+ } -+ pathEnd[0] = '\0'; -+ extra += extraSize; -+ } while (extraSize != 0); -+ -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd[1] = 0; -+ pathEnd += 1; -+ } -+ -+ return 0; -+} -+ -+int chdir (const char *path) { -+ struct _reent *r = _REENT; -+ -+ int dev; -+ const char *pathPosition; -+ -+ /* Make sure the path is short enough */ -+ if (strnlen (path, PATH_MAX) >= PATH_MAX) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ -+ if (strchr (path, ':') != NULL) { -+ strncpy (temp_cwd, path, PATH_MAX); -+ /* Move path past device name */ -+ path = strchr (path, ':') + 1; -+ } else { -+ strncpy (temp_cwd, _current_working_directory, PATH_MAX); -+ } -+ -+ pathPosition = strchr (temp_cwd , ':'); -+ -+ if (pathPosition == NULL) { -+ pathPosition = temp_cwd; -+ } else { -+ pathPosition++; -+ } -+ -+ /* Make sure the path starts in the root directory */ -+ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { -+ r->_errno = ENOENT; -+ return -1; -+ } -+ -+ /* Concatenate the path to the CWD */ -+ if (_concatenate_path (r, temp_cwd, path, PATH_MAX) == -1) { -+ return -1; -+ } -+ -+ /* Get device from path name */ -+ dev = FindDevice(temp_cwd); -+ -+ if (dev < 0) { -+ r->_errno = ENODEV; -+ return -1; -+ } -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ if ( devoptab_list[dev]->chdir_r == NULL) { -+ r->_errno = ENOSYS; -+ return -1; -+ } -+ -+ /* Try changing directories on the device */ -+ if (devoptab_list[dev]->chdir_r (r, temp_cwd) == -1) { -+ return -1; -+ } -+ -+ /* Since it worked, set the new CWD and default device */ -+ setDefaultDevice(dev); -+ strncpy (_current_working_directory, temp_cwd, PATH_MAX); -+ -+ return 0; -+} -+ -+char *getcwd(char *buf, size_t size) { -+ -+ struct _reent *r = _REENT; -+ -+ if (size == 0) { -+ if (buf != NULL) { -+ r->_errno = EINVAL; -+ return NULL; -+ } -+ buf = malloc(PATH_MAX); -+ size = PATH_MAX; -+ } -+ -+ if (buf == NULL) { -+ r->_errno = EINVAL; -+ return NULL; -+ } -+ -+ if ( size < (strnlen (_current_working_directory, PATH_MAX) + 1)) { -+ r->_errno = ERANGE; -+ return NULL; -+ } -+ -+ strncpy (buf, _current_working_directory, size); -+ -+ return buf; -+} -diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c -new file mode 100644 -index 000000000..3668b5801 ---- /dev/null -+++ b/libgloss/libsysbase/chmod.c -@@ -0,0 +1,30 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+int chmod(const char *path, mode_t mode) { -+ int ret,dev; -+ struct _reent *r = _REENT; -+ -+ /* Get device from path name */ -+ dev = FindDevice(path); -+ -+ if (dev < 0) { -+ r->_errno = ENODEV; -+ ret = -1; -+ } else { -+ if (devoptab_list[dev]->chmod_r == NULL) { -+ r->_errno=ENOSYS; -+ } else { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->chmod_r(r,path,mode); -+ } -+ } -+ -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c -new file mode 100644 -index 000000000..b36b5c079 ---- /dev/null -+++ b/libgloss/libsysbase/clocks.c -@@ -0,0 +1,34 @@ -+#include -+#include -+#include -+ -+int clock_gettime(clockid_t clock_id, struct timespec *tp) -+{ -+ if ( __has_syscall(clock_gettime) ) { -+ return __syscall_clock_gettime(clock_id, tp); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} -+ -+int clock_settime(clockid_t clock_id, const struct timespec *tp) -+{ -+ if ( __has_syscall(clock_settime) ) { -+ return __syscall_clock_settime(clock_id, tp); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} -+ -+int clock_getres (clockid_t clock_id, struct timespec *res) -+{ -+ if ( __has_syscall(clock_getres) ) { -+ return __syscall_clock_getres(clock_id, res); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} -+ -diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c -new file mode 100644 -index 000000000..88dc9195c ---- /dev/null -+++ b/libgloss/libsysbase/close.c -@@ -0,0 +1,46 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _close_r( struct _reent *ptr, int fileDesc) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _close( int fileDesc) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ if(fileDesc!=-1) { -+ -+ __handle *handle = __get_handle(fileDesc); -+ -+ if ( handle != NULL) { -+ dev = handle->device; -+ handle->refcount--; -+ if (handle->refcount == 0 ) { -+ -+ if(devoptab_list[dev]->close_r) { -+ ptr->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->close_r(ptr,handle->fileStruct); -+ } -+ else -+ ret = 0; -+ -+ __release_handle(fileDesc); -+ } else { -+ ret = 0; -+ } -+ -+ } -+ } -+ return ret; -+} -diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in -new file mode 100644 -index 000000000..48ce950b4 ---- /dev/null -+++ b/libgloss/libsysbase/config.h.in -@@ -0,0 +1,25 @@ -+/* config.h.in. Generated automatically from configure.in by autoheader. */ -+ -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES -+ -+/* Reentrant syscalls */ -+#undef REENTRANT_SYSCALLS_PROVIDED -+ -+/* Using ELF format */ -+#undef HAVE_ELF -+ -+/* Using GNU LD */ -+#undef HAVE_GNU_LD -+ -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE -+ -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE -+ -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES -+ -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure -new file mode 100644 -index 000000000..874eec1e2 ---- /dev/null -+++ b/libgloss/libsysbase/configure -@@ -0,0 +1,4158 @@ -+#! /bin/sh -+# Guess values for system-dependent variables and create Makefiles. -+# Generated by GNU Autoconf 2.69. -+# -+# -+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -+# -+# -+# This configure script is free software; the Free Software Foundation -+# gives unlimited permission to copy, distribute and modify it. -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## -+ -+# Be more Bourne compatible -+DUALCASE=1; export DUALCASE # for MKS sh -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '${1+"$@"}'='"$@"' -+ setopt NO_GLOB_SUBST -+else -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+ -+ -+as_nl=' -+' -+export as_nl -+# Printing a long string crashes Solaris 7 /usr/bin/printf. -+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='printf %s\n' -+ as_echo_n='printf %s' -+else -+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then -+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' -+ as_echo_n='/usr/ucb/echo -n' -+ else -+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' -+ as_echo_n_body='eval -+ arg=$1; -+ case $arg in #( -+ *"$as_nl"*) -+ expr "X$arg" : "X\\(.*\\)$as_nl"; -+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -+ esac; -+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" -+ ' -+ export as_echo_n_body -+ as_echo_n='sh -c $as_echo_n_body as_echo' -+ fi -+ export as_echo_body -+ as_echo='sh -c $as_echo_body as_echo' -+fi -+ -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ PATH_SEPARATOR=: -+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { -+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || -+ PATH_SEPARATOR=';' -+ } -+fi -+ -+ -+# IFS -+# We need space, tab and new line, in precisely that order. Quoting is -+# there to prevent editors from complaining about space-tab. -+# (If _AS_PATH_WALK were called with IFS unset, it would disable word -+# splitting by setting IFS to empty value.) -+IFS=" "" $as_nl" -+ -+# Find who we are. Look in the path if we contain no directory separator. -+as_myself= -+case $0 in #(( -+ *[\\/]* ) as_myself=$0 ;; -+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done -+IFS=$as_save_IFS -+ -+ ;; -+esac -+# We did not find ourselves, most probably we were run as `sh COMMAND' -+# in which case we are not to be found in the path. -+if test "x$as_myself" = x; then -+ as_myself=$0 -+fi -+if test ! -f "$as_myself"; then -+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -+ exit 1 -+fi -+ -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -+done -+PS1='$ ' -+PS2='> ' -+PS4='+ ' -+ -+# NLS nuisances. -+LC_ALL=C -+export LC_ALL -+LANGUAGE=C -+export LANGUAGE -+ -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+# Use a proper internal environment variable to ensure we don't fall -+ # into an infinite loop, continuously re-executing ourselves. -+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then -+ _as_can_reexec=no; export _as_can_reexec; -+ # We cannot yet assume a decent shell, so we have to provide a -+# neutralization value for shells without unset; and this also -+# works around shells that cannot unset nonexistent variables. -+# Preserve -v and -x to the replacement shell. -+BASH_ENV=/dev/null -+ENV=/dev/null -+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; -+esac -+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -+# Admittedly, this is quite paranoid, since all the known shells bail -+# out after a failed `exec'. -+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -+as_fn_exit 255 -+ fi -+ # We don't want this to propagate to other subprocesses. -+ { _as_can_reexec=; unset _as_can_reexec;} -+if test "x$CONFIG_SHELL" = x; then -+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '\${1+\"\$@\"}'='\"\$@\"' -+ setopt NO_GLOB_SUBST -+else -+ case \`(set -o) 2>/dev/null\` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+" -+ as_required="as_fn_return () { (exit \$1); } -+as_fn_success () { as_fn_return 0; } -+as_fn_failure () { as_fn_return 1; } -+as_fn_ret_success () { return 0; } -+as_fn_ret_failure () { return 1; } -+ -+exitcode=0 -+as_fn_success || { exitcode=1; echo as_fn_success failed.; } -+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : -+ -+else -+ exitcode=1; echo positional parameters were not saved. -+fi -+test x\$exitcode = x0 || exit 1 -+test -x / || exit 1" -+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO -+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO -+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && -+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" -+ if (eval "$as_required") 2>/dev/null; then : -+ as_have_required=yes -+else -+ as_have_required=no -+fi -+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : -+ -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+as_found=false -+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ as_found=: -+ case $as_dir in #( -+ /*) -+ for as_base in sh bash ksh sh5; do -+ # Try only shells that exist, to save several forks. -+ as_shell=$as_dir/$as_base -+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ CONFIG_SHELL=$as_shell as_have_required=yes -+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ break 2 -+fi -+fi -+ done;; -+ esac -+ as_found=false -+done -+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : -+ CONFIG_SHELL=$SHELL as_have_required=yes -+fi; } -+IFS=$as_save_IFS -+ -+ -+ if test "x$CONFIG_SHELL" != x; then : -+ export CONFIG_SHELL -+ # We cannot yet assume a decent shell, so we have to provide a -+# neutralization value for shells without unset; and this also -+# works around shells that cannot unset nonexistent variables. -+# Preserve -v and -x to the replacement shell. -+BASH_ENV=/dev/null -+ENV=/dev/null -+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; -+esac -+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -+# Admittedly, this is quite paranoid, since all the known shells bail -+# out after a failed `exec'. -+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -+exit 255 -+fi -+ -+ if test x$as_have_required = xno; then : -+ $as_echo "$0: This script requires a shell more modern than all" -+ $as_echo "$0: the shells that I found on your system." -+ if test x${ZSH_VERSION+set} = xset ; then -+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" -+ $as_echo "$0: be upgraded to zsh 4.3.4 or later." -+ else -+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -+$0: including any error possibly output before this -+$0: message. Then install a modern shell, or manually run -+$0: the script under such a shell if you do have one." -+ fi -+ exit 1 -+fi -+fi -+fi -+SHELL=${CONFIG_SHELL-/bin/sh} -+export SHELL -+# Unset more variables known to interfere with behavior of common tools. -+CLICOLOR_FORCE= GREP_OPTIONS= -+unset CLICOLOR_FORCE GREP_OPTIONS -+ -+## --------------------- ## -+## M4sh Shell Functions. ## -+## --------------------- ## -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset -+ -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status -+ -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit -+ -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ -+ -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" -+ -+ -+} # as_fn_mkdir_p -+ -+# as_fn_executable_p FILE -+# ----------------------- -+# Test if FILE is an executable regular file. -+as_fn_executable_p () -+{ -+ test -f "$1" && test -x "$1" -+} # as_fn_executable_p -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append -+ -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith -+ -+ -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error -+ -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr -+else -+ as_expr=false -+fi -+ -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename -+else -+ as_basename=false -+fi -+ -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi -+ -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+ -+ as_lineno_1=$LINENO as_lineno_1a=$LINENO -+ as_lineno_2=$LINENO as_lineno_2a=$LINENO -+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && -+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { -+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) -+ sed -n ' -+ p -+ /[$]LINENO/= -+ ' <$as_myself | -+ sed ' -+ s/[$]LINENO.*/&-/ -+ t lineno -+ b -+ :lineno -+ N -+ :loop -+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ -+ t loop -+ s/-\n.*// -+ ' >$as_me.lineno && -+ chmod +x "$as_me.lineno" || -+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } -+ -+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have -+ # already done that, so ensure we don't try to do so again and fall -+ # in an infinite loop. This has already happened in practice. -+ _as_can_reexec=no; export _as_can_reexec -+ # Don't try to exec as it changes $[0], causing all sort of problems -+ # (the dirname of $[0] is not the place where we might find the -+ # original and so on. Autoconf is especially sensitive to this). -+ . "./$as_me.lineno" -+ # Exit status is that of the last command. -+ exit -+} -+ -+ECHO_C= ECHO_N= ECHO_T= -+case `echo -n x` in #((((( -+-n*) -+ case `echo 'xy\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; -+ esac;; -+*) -+ ECHO_N='-n';; -+esac -+ -+rm -f conf$$ conf$$.exe conf$$.file -+if test -d conf$$.dir; then -+ rm -f conf$$.dir/conf$$.file -+else -+ rm -f conf$$.dir -+ mkdir conf$$.dir 2>/dev/null -+fi -+if (echo >conf$$.file) 2>/dev/null; then -+ if ln -s conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s='ln -s' -+ # ... but there are two gotchas: -+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. -+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -+ # In both cases, we have to default to `cp -pR'. -+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -+ as_ln_s='cp -pR' -+ elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+ else -+ as_ln_s='cp -pR' -+ fi -+else -+ as_ln_s='cp -pR' -+fi -+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -+rmdir conf$$.dir 2>/dev/null -+ -+if mkdir -p . 2>/dev/null; then -+ as_mkdir_p='mkdir -p "$as_dir"' -+else -+ test -d ./-p && rmdir ./-p -+ as_mkdir_p=false -+fi -+ -+as_test_x='test -x' -+as_executable_p=as_fn_executable_p -+ -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -+ -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -+ -+ -+test -n "$DJDIR" || exec 7<&0 &1 -+ -+# Name of the host. -+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -+# so uname gets run too. -+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` -+ -+# -+# Initializations. -+# -+ac_default_prefix=/usr/local -+ac_clean_files= -+ac_config_libobj_dir=. -+LIBOBJS= -+cross_compiling=no -+subdirs= -+MFLAGS= -+MAKEFLAGS= -+ -+# Identity of this package. -+PACKAGE_NAME= -+PACKAGE_TARNAME= -+PACKAGE_VERSION= -+PACKAGE_STRING= -+PACKAGE_BUGREPORT= -+PACKAGE_URL= -+ -+ac_unique_file="close.c" -+ac_subst_vars='LTLIBOBJS -+LIBOBJS -+host_makefile_frag_path -+CCASFLAGS -+CCAS -+RANLIB -+LD -+AR -+AS -+am__fastdepCC_FALSE -+am__fastdepCC_TRUE -+CCDEPMODE -+AMDEPBACKSLASH -+AMDEP_FALSE -+AMDEP_TRUE -+am__quote -+am__include -+DEPDIR -+am__leading_dot -+CC -+INSTALL_DATA -+INSTALL_SCRIPT -+INSTALL_PROGRAM -+target_os -+target_vendor -+target_cpu -+target -+host_os -+host_vendor -+host_cpu -+host -+build_os -+build_vendor -+build_cpu -+build -+target_alias -+host_alias -+build_alias -+LIBS -+ECHO_T -+ECHO_N -+ECHO_C -+DEFS -+mandir -+localedir -+libdir -+psdir -+pdfdir -+dvidir -+htmldir -+infodir -+docdir -+oldincludedir -+includedir -+localstatedir -+sharedstatedir -+sysconfdir -+datadir -+datarootdir -+libexecdir -+sbindir -+bindir -+program_transform_name -+prefix -+exec_prefix -+PACKAGE_URL -+PACKAGE_BUGREPORT -+PACKAGE_STRING -+PACKAGE_VERSION -+PACKAGE_TARNAME -+PACKAGE_NAME -+PATH_SEPARATOR -+SHELL' -+ac_subst_files='host_makefile_frag' -+ac_user_opts=' -+enable_option_checking -+enable_dependency_tracking -+' -+ ac_precious_vars='build_alias -+host_alias -+target_alias -+CCAS -+CCASFLAGS' -+ -+ -+# Initialize some variables set by options. -+ac_init_help= -+ac_init_version=false -+ac_unrecognized_opts= -+ac_unrecognized_sep= -+# The variables have the same names as the options, with -+# dashes changed to underlines. -+cache_file=/dev/null -+exec_prefix=NONE -+no_create= -+no_recursion= -+prefix=NONE -+program_prefix=NONE -+program_suffix=NONE -+program_transform_name=s,x,x, -+silent= -+site= -+srcdir= -+verbose= -+x_includes=NONE -+x_libraries=NONE -+ -+# Installation directory options. -+# These are left unexpanded so users can "make install exec_prefix=/foo" -+# and all the variables that are supposed to be based on exec_prefix -+# by default will actually change. -+# Use braces instead of parens because sh, perl, etc. also accept them. -+# (The list follows the same order as the GNU Coding Standards.) -+bindir='${exec_prefix}/bin' -+sbindir='${exec_prefix}/sbin' -+libexecdir='${exec_prefix}/libexec' -+datarootdir='${prefix}/share' -+datadir='${datarootdir}' -+sysconfdir='${prefix}/etc' -+sharedstatedir='${prefix}/com' -+localstatedir='${prefix}/var' -+includedir='${prefix}/include' -+oldincludedir='/usr/include' -+docdir='${datarootdir}/doc/${PACKAGE}' -+infodir='${datarootdir}/info' -+htmldir='${docdir}' -+dvidir='${docdir}' -+pdfdir='${docdir}' -+psdir='${docdir}' -+libdir='${exec_prefix}/lib' -+localedir='${datarootdir}/locale' -+mandir='${datarootdir}/man' -+ -+ac_prev= -+ac_dashdash= -+for ac_option -+do -+ # If the previous option needs an argument, assign it. -+ if test -n "$ac_prev"; then -+ eval $ac_prev=\$ac_option -+ ac_prev= -+ continue -+ fi -+ -+ case $ac_option in -+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; -+ *=) ac_optarg= ;; -+ *) ac_optarg=yes ;; -+ esac -+ -+ # Accept the important Cygnus configure options, so we can diagnose typos. -+ -+ case $ac_dashdash$ac_option in -+ --) -+ ac_dashdash=yes ;; -+ -+ -bindir | --bindir | --bindi | --bind | --bin | --bi) -+ ac_prev=bindir ;; -+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) -+ bindir=$ac_optarg ;; -+ -+ -build | --build | --buil | --bui | --bu) -+ ac_prev=build_alias ;; -+ -build=* | --build=* | --buil=* | --bui=* | --bu=*) -+ build_alias=$ac_optarg ;; -+ -+ -cache-file | --cache-file | --cache-fil | --cache-fi \ -+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) -+ ac_prev=cache_file ;; -+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ -+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) -+ cache_file=$ac_optarg ;; -+ -+ --config-cache | -C) -+ cache_file=config.cache ;; -+ -+ -datadir | --datadir | --datadi | --datad) -+ ac_prev=datadir ;; -+ -datadir=* | --datadir=* | --datadi=* | --datad=*) -+ datadir=$ac_optarg ;; -+ -+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ -+ | --dataroo | --dataro | --datar) -+ ac_prev=datarootdir ;; -+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ -+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) -+ datarootdir=$ac_optarg ;; -+ -+ -disable-* | --disable-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid feature name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"enable_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval enable_$ac_useropt=no ;; -+ -+ -docdir | --docdir | --docdi | --doc | --do) -+ ac_prev=docdir ;; -+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) -+ docdir=$ac_optarg ;; -+ -+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) -+ ac_prev=dvidir ;; -+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) -+ dvidir=$ac_optarg ;; -+ -+ -enable-* | --enable-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid feature name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"enable_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval enable_$ac_useropt=\$ac_optarg ;; -+ -+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ -+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ -+ | --exec | --exe | --ex) -+ ac_prev=exec_prefix ;; -+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ -+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ -+ | --exec=* | --exe=* | --ex=*) -+ exec_prefix=$ac_optarg ;; -+ -+ -gas | --gas | --ga | --g) -+ # Obsolete; use --with-gas. -+ with_gas=yes ;; -+ -+ -help | --help | --hel | --he | -h) -+ ac_init_help=long ;; -+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) -+ ac_init_help=recursive ;; -+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) -+ ac_init_help=short ;; -+ -+ -host | --host | --hos | --ho) -+ ac_prev=host_alias ;; -+ -host=* | --host=* | --hos=* | --ho=*) -+ host_alias=$ac_optarg ;; -+ -+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) -+ ac_prev=htmldir ;; -+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ -+ | --ht=*) -+ htmldir=$ac_optarg ;; -+ -+ -includedir | --includedir | --includedi | --included | --include \ -+ | --includ | --inclu | --incl | --inc) -+ ac_prev=includedir ;; -+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ -+ | --includ=* | --inclu=* | --incl=* | --inc=*) -+ includedir=$ac_optarg ;; -+ -+ -infodir | --infodir | --infodi | --infod | --info | --inf) -+ ac_prev=infodir ;; -+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) -+ infodir=$ac_optarg ;; -+ -+ -libdir | --libdir | --libdi | --libd) -+ ac_prev=libdir ;; -+ -libdir=* | --libdir=* | --libdi=* | --libd=*) -+ libdir=$ac_optarg ;; -+ -+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ -+ | --libexe | --libex | --libe) -+ ac_prev=libexecdir ;; -+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ -+ | --libexe=* | --libex=* | --libe=*) -+ libexecdir=$ac_optarg ;; -+ -+ -localedir | --localedir | --localedi | --localed | --locale) -+ ac_prev=localedir ;; -+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) -+ localedir=$ac_optarg ;; -+ -+ -localstatedir | --localstatedir | --localstatedi | --localstated \ -+ | --localstate | --localstat | --localsta | --localst | --locals) -+ ac_prev=localstatedir ;; -+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ -+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) -+ localstatedir=$ac_optarg ;; -+ -+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) -+ ac_prev=mandir ;; -+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) -+ mandir=$ac_optarg ;; -+ -+ -nfp | --nfp | --nf) -+ # Obsolete; use --without-fp. -+ with_fp=no ;; -+ -+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ -+ | --no-cr | --no-c | -n) -+ no_create=yes ;; -+ -+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ -+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) -+ no_recursion=yes ;; -+ -+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ -+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ -+ | --oldin | --oldi | --old | --ol | --o) -+ ac_prev=oldincludedir ;; -+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ -+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ -+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) -+ oldincludedir=$ac_optarg ;; -+ -+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) -+ ac_prev=prefix ;; -+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) -+ prefix=$ac_optarg ;; -+ -+ -program-prefix | --program-prefix | --program-prefi | --program-pref \ -+ | --program-pre | --program-pr | --program-p) -+ ac_prev=program_prefix ;; -+ -program-prefix=* | --program-prefix=* | --program-prefi=* \ -+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) -+ program_prefix=$ac_optarg ;; -+ -+ -program-suffix | --program-suffix | --program-suffi | --program-suff \ -+ | --program-suf | --program-su | --program-s) -+ ac_prev=program_suffix ;; -+ -program-suffix=* | --program-suffix=* | --program-suffi=* \ -+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) -+ program_suffix=$ac_optarg ;; -+ -+ -program-transform-name | --program-transform-name \ -+ | --program-transform-nam | --program-transform-na \ -+ | --program-transform-n | --program-transform- \ -+ | --program-transform | --program-transfor \ -+ | --program-transfo | --program-transf \ -+ | --program-trans | --program-tran \ -+ | --progr-tra | --program-tr | --program-t) -+ ac_prev=program_transform_name ;; -+ -program-transform-name=* | --program-transform-name=* \ -+ | --program-transform-nam=* | --program-transform-na=* \ -+ | --program-transform-n=* | --program-transform-=* \ -+ | --program-transform=* | --program-transfor=* \ -+ | --program-transfo=* | --program-transf=* \ -+ | --program-trans=* | --program-tran=* \ -+ | --progr-tra=* | --program-tr=* | --program-t=*) -+ program_transform_name=$ac_optarg ;; -+ -+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) -+ ac_prev=pdfdir ;; -+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) -+ pdfdir=$ac_optarg ;; -+ -+ -psdir | --psdir | --psdi | --psd | --ps) -+ ac_prev=psdir ;; -+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) -+ psdir=$ac_optarg ;; -+ -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ silent=yes ;; -+ -+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) -+ ac_prev=sbindir ;; -+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ -+ | --sbi=* | --sb=*) -+ sbindir=$ac_optarg ;; -+ -+ -sharedstatedir | --sharedstatedir | --sharedstatedi \ -+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ -+ | --sharedst | --shareds | --shared | --share | --shar \ -+ | --sha | --sh) -+ ac_prev=sharedstatedir ;; -+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ -+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ -+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ -+ | --sha=* | --sh=*) -+ sharedstatedir=$ac_optarg ;; -+ -+ -site | --site | --sit) -+ ac_prev=site ;; -+ -site=* | --site=* | --sit=*) -+ site=$ac_optarg ;; -+ -+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) -+ ac_prev=srcdir ;; -+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) -+ srcdir=$ac_optarg ;; -+ -+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ -+ | --syscon | --sysco | --sysc | --sys | --sy) -+ ac_prev=sysconfdir ;; -+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ -+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) -+ sysconfdir=$ac_optarg ;; -+ -+ -target | --target | --targe | --targ | --tar | --ta | --t) -+ ac_prev=target_alias ;; -+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) -+ target_alias=$ac_optarg ;; -+ -+ -v | -verbose | --verbose | --verbos | --verbo | --verb) -+ verbose=yes ;; -+ -+ -version | --version | --versio | --versi | --vers | -V) -+ ac_init_version=: ;; -+ -+ -with-* | --with-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid package name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"with_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval with_$ac_useropt=\$ac_optarg ;; -+ -+ -without-* | --without-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid package name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"with_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval with_$ac_useropt=no ;; -+ -+ --x) -+ # Obsolete; use --with-x. -+ with_x=yes ;; -+ -+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ -+ | --x-incl | --x-inc | --x-in | --x-i) -+ ac_prev=x_includes ;; -+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ -+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) -+ x_includes=$ac_optarg ;; -+ -+ -x-libraries | --x-libraries | --x-librarie | --x-librari \ -+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) -+ ac_prev=x_libraries ;; -+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ -+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) -+ x_libraries=$ac_optarg ;; -+ -+ -*) as_fn_error $? "unrecognized option: \`$ac_option' -+Try \`$0 --help' for more information" -+ ;; -+ -+ *=*) -+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` -+ # Reject names that are not valid shell variable names. -+ case $ac_envvar in #( -+ '' | [0-9]* | *[!_$as_cr_alnum]* ) -+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; -+ esac -+ eval $ac_envvar=\$ac_optarg -+ export $ac_envvar ;; -+ -+ *) -+ # FIXME: should be removed in autoconf 3.0. -+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 -+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && -+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 -+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" -+ ;; -+ -+ esac -+done -+ -+if test -n "$ac_prev"; then -+ ac_option=--`echo $ac_prev | sed 's/_/-/g'` -+ as_fn_error $? "missing argument to $ac_option" -+fi -+ -+if test -n "$ac_unrecognized_opts"; then -+ case $enable_option_checking in -+ no) ;; -+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; -+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; -+ esac -+fi -+ -+# Check all directory arguments for consistency. -+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ -+ datadir sysconfdir sharedstatedir localstatedir includedir \ -+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ -+ libdir localedir mandir -+do -+ eval ac_val=\$$ac_var -+ # Remove trailing slashes. -+ case $ac_val in -+ */ ) -+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` -+ eval $ac_var=\$ac_val;; -+ esac -+ # Be sure to have absolute directory names. -+ case $ac_val in -+ [\\/$]* | ?:[\\/]* ) continue;; -+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; -+ esac -+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -+done -+ -+# There might be people who depend on the old broken behavior: `$host' -+# used to hold the argument of --host etc. -+# FIXME: To remove some day. -+build=$build_alias -+host=$host_alias -+target=$target_alias -+ -+# FIXME: To remove some day. -+if test "x$host_alias" != x; then -+ if test "x$build_alias" = x; then -+ cross_compiling=maybe -+ elif test "x$build_alias" != "x$host_alias"; then -+ cross_compiling=yes -+ fi -+fi -+ -+ac_tool_prefix= -+test -n "$host_alias" && ac_tool_prefix=$host_alias- -+ -+test "$silent" = yes && exec 6>/dev/null -+ -+ -+ac_pwd=`pwd` && test -n "$ac_pwd" && -+ac_ls_di=`ls -di .` && -+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || -+ as_fn_error $? "working directory cannot be determined" -+test "X$ac_ls_di" = "X$ac_pwd_ls_di" || -+ as_fn_error $? "pwd does not report name of working directory" -+ -+ -+# Find the source files, if location was not specified. -+if test -z "$srcdir"; then -+ ac_srcdir_defaulted=yes -+ # Try the directory containing this script, then the parent directory. -+ ac_confdir=`$as_dirname -- "$as_myself" || -+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_myself" : 'X\(//\)[^/]' \| \ -+ X"$as_myself" : 'X\(//\)$' \| \ -+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_myself" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ srcdir=$ac_confdir -+ if test ! -r "$srcdir/$ac_unique_file"; then -+ srcdir=.. -+ fi -+else -+ ac_srcdir_defaulted=no -+fi -+if test ! -r "$srcdir/$ac_unique_file"; then -+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." -+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -+fi -+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -+ac_abs_confdir=`( -+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" -+ pwd)` -+# When building in place, set srcdir=. -+if test "$ac_abs_confdir" = "$ac_pwd"; then -+ srcdir=. -+fi -+# Remove unnecessary trailing slashes from srcdir. -+# Double slashes in file names in object file debugging info -+# mess up M-x gdb in Emacs. -+case $srcdir in -+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -+esac -+for ac_var in $ac_precious_vars; do -+ eval ac_env_${ac_var}_set=\${${ac_var}+set} -+ eval ac_env_${ac_var}_value=\$${ac_var} -+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} -+ eval ac_cv_env_${ac_var}_value=\$${ac_var} -+done -+ -+# -+# Report the --help message. -+# -+if test "$ac_init_help" = "long"; then -+ # Omit some internal or obsolete options to make the list less imposing. -+ # This message is too long to be a string in the A/UX 3.1 sh. -+ cat <<_ACEOF -+\`configure' configures this package to adapt to many kinds of systems. -+ -+Usage: $0 [OPTION]... [VAR=VALUE]... -+ -+To assign environment variables (e.g., CC, CFLAGS...), specify them as -+VAR=VALUE. See below for descriptions of some of the useful variables. -+ -+Defaults for the options are specified in brackets. -+ -+Configuration: -+ -h, --help display this help and exit -+ --help=short display options specific to this package -+ --help=recursive display the short help of all the included packages -+ -V, --version display version information and exit -+ -q, --quiet, --silent do not print \`checking ...' messages -+ --cache-file=FILE cache test results in FILE [disabled] -+ -C, --config-cache alias for \`--cache-file=config.cache' -+ -n, --no-create do not create output files -+ --srcdir=DIR find the sources in DIR [configure dir or \`..'] -+ -+Installation directories: -+ --prefix=PREFIX install architecture-independent files in PREFIX -+ [$ac_default_prefix] -+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX -+ [PREFIX] -+ -+By default, \`make install' will install all the files in -+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -+an installation prefix other than \`$ac_default_prefix' using \`--prefix', -+for instance \`--prefix=\$HOME'. -+ -+For better control, use the options below. -+ -+Fine tuning of the installation directories: -+ --bindir=DIR user executables [EPREFIX/bin] -+ --sbindir=DIR system admin executables [EPREFIX/sbin] -+ --libexecdir=DIR program executables [EPREFIX/libexec] -+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] -+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] -+ --localstatedir=DIR modifiable single-machine data [PREFIX/var] -+ --libdir=DIR object code libraries [EPREFIX/lib] -+ --includedir=DIR C header files [PREFIX/include] -+ --oldincludedir=DIR C header files for non-gcc [/usr/include] -+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] -+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] -+ --infodir=DIR info documentation [DATAROOTDIR/info] -+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] -+ --mandir=DIR man documentation [DATAROOTDIR/man] -+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] -+ --htmldir=DIR html documentation [DOCDIR] -+ --dvidir=DIR dvi documentation [DOCDIR] -+ --pdfdir=DIR pdf documentation [DOCDIR] -+ --psdir=DIR ps documentation [DOCDIR] -+_ACEOF -+ -+ cat <<\_ACEOF -+ -+Program names: -+ --program-prefix=PREFIX prepend PREFIX to installed program names -+ --program-suffix=SUFFIX append SUFFIX to installed program names -+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names -+ -+System types: -+ --build=BUILD configure for building on BUILD [guessed] -+ --host=HOST cross-compile to build programs to run on HOST [BUILD] -+ --target=TARGET configure for building compilers for TARGET [HOST] -+_ACEOF -+fi -+ -+if test -n "$ac_init_help"; then -+ -+ cat <<\_ACEOF -+ -+Optional Features: -+ --disable-option-checking ignore unrecognized --enable/--with options -+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) -+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] -+ --disable-dependency-tracking speeds up one-time build -+ --enable-dependency-tracking do not reject slow dependency extractors -+ -+Some influential environment variables: -+ CCAS assembler compiler command (defaults to CC) -+ CCASFLAGS assembler compiler flags (defaults to CFLAGS) -+ -+Use these variables to override the choices made by `configure' or to help -+it to find libraries and programs with nonstandard names/locations. -+ -+Report bugs to the package provider. -+_ACEOF -+ac_status=$? -+fi -+ -+if test "$ac_init_help" = "recursive"; then -+ # If there are subdirs, report their specific --help. -+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue -+ test -d "$ac_dir" || -+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || -+ continue -+ ac_builddir=. -+ -+case "$ac_dir" in -+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -+*) -+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` -+ # A ".." for each directory in $ac_dir_suffix. -+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` -+ case $ac_top_builddir_sub in -+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; -+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; -+ esac ;; -+esac -+ac_abs_top_builddir=$ac_pwd -+ac_abs_builddir=$ac_pwd$ac_dir_suffix -+# for backward compatibility: -+ac_top_builddir=$ac_top_build_prefix -+ -+case $srcdir in -+ .) # We are building in place. -+ ac_srcdir=. -+ ac_top_srcdir=$ac_top_builddir_sub -+ ac_abs_top_srcdir=$ac_pwd ;; -+ [\\/]* | ?:[\\/]* ) # Absolute name. -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir -+ ac_abs_top_srcdir=$srcdir ;; -+ *) # Relative name. -+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_top_build_prefix$srcdir -+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -+esac -+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -+ -+ cd "$ac_dir" || { ac_status=$?; continue; } -+ # Check for guested configure. -+ if test -f "$ac_srcdir/configure.gnu"; then -+ echo && -+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive -+ elif test -f "$ac_srcdir/configure"; then -+ echo && -+ $SHELL "$ac_srcdir/configure" --help=recursive -+ else -+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 -+ fi || ac_status=$? -+ cd "$ac_pwd" || { ac_status=$?; break; } -+ done -+fi -+ -+test -n "$ac_init_help" && exit $ac_status -+if $ac_init_version; then -+ cat <<\_ACEOF -+configure -+generated by GNU Autoconf 2.69 -+ -+Copyright (C) 2012 Free Software Foundation, Inc. -+This configure script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it. -+_ACEOF -+ exit -+fi -+ -+## ------------------------ ## -+## Autoconf initialization. ## -+## ------------------------ ## -+ -+# ac_fn_c_try_compile LINENO -+# -------------------------- -+# Try to compile conftest.$ac_ext, and return whether this succeeded. -+ac_fn_c_try_compile () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ rm -f conftest.$ac_objext -+ if { { ac_try="$ac_compile" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_compile") 2>conftest.err -+ ac_status=$? -+ if test -s conftest.err; then -+ grep -v '^ *+' conftest.err >conftest.er1 -+ cat conftest.er1 >&5 -+ mv -f conftest.er1 conftest.err -+ fi -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then : -+ ac_retval=0 -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_retval=1 -+fi -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -+ as_fn_set_status $ac_retval -+ -+} # ac_fn_c_try_compile -+cat >config.log <<_ACEOF -+This file contains any messages produced by compilers while -+running configure, to aid debugging if configure makes a mistake. -+ -+It was created by $as_me, which was -+generated by GNU Autoconf 2.69. Invocation command line was -+ -+ $ $0 $@ -+ -+_ACEOF -+exec 5>>config.log -+{ -+cat <<_ASUNAME -+## --------- ## -+## Platform. ## -+## --------- ## -+ -+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -+uname -m = `(uname -m) 2>/dev/null || echo unknown` -+uname -r = `(uname -r) 2>/dev/null || echo unknown` -+uname -s = `(uname -s) 2>/dev/null || echo unknown` -+uname -v = `(uname -v) 2>/dev/null || echo unknown` -+ -+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` -+ -+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` -+ -+_ASUNAME -+ -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ $as_echo "PATH: $as_dir" -+ done -+IFS=$as_save_IFS -+ -+} >&5 -+ -+cat >&5 <<_ACEOF -+ -+ -+## ----------- ## -+## Core tests. ## -+## ----------- ## -+ -+_ACEOF -+ -+ -+# Keep a trace of the command line. -+# Strip out --no-create and --no-recursion so they do not pile up. -+# Strip out --silent because we don't want to record it for future runs. -+# Also quote any args containing shell meta-characters. -+# Make two passes to allow for proper duplicate-argument suppression. -+ac_configure_args= -+ac_configure_args0= -+ac_configure_args1= -+ac_must_keep_next=false -+for ac_pass in 1 2 -+do -+ for ac_arg -+ do -+ case $ac_arg in -+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ continue ;; -+ *\'*) -+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ esac -+ case $ac_pass in -+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; -+ 2) -+ as_fn_append ac_configure_args1 " '$ac_arg'" -+ if test $ac_must_keep_next = true; then -+ ac_must_keep_next=false # Got value, back to normal. -+ else -+ case $ac_arg in -+ *=* | --config-cache | -C | -disable-* | --disable-* \ -+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ -+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ -+ | -with-* | --with-* | -without-* | --without-* | --x) -+ case "$ac_configure_args0 " in -+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; -+ esac -+ ;; -+ -* ) ac_must_keep_next=true ;; -+ esac -+ fi -+ as_fn_append ac_configure_args " '$ac_arg'" -+ ;; -+ esac -+ done -+done -+{ ac_configure_args0=; unset ac_configure_args0;} -+{ ac_configure_args1=; unset ac_configure_args1;} -+ -+# When interrupted or exit'd, cleanup temporary files, and complete -+# config.log. We remove comments because anyway the quotes in there -+# would cause problems or look ugly. -+# WARNING: Use '\'' to represent an apostrophe within the trap. -+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -+trap 'exit_status=$? -+ # Save into config.log some information that might help in debugging. -+ { -+ echo -+ -+ $as_echo "## ---------------- ## -+## Cache variables. ## -+## ---------------- ##" -+ echo -+ # The following way of writing the cache mishandles newlines in values, -+( -+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do -+ eval ac_val=\$$ac_var -+ case $ac_val in #( -+ *${as_nl}*) -+ case $ac_var in #( -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; -+ esac -+ case $ac_var in #( -+ _ | IFS | as_nl) ;; #( -+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -+ *) { eval $ac_var=; unset $ac_var;} ;; -+ esac ;; -+ esac -+ done -+ (set) 2>&1 | -+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( -+ *${as_nl}ac_space=\ *) -+ sed -n \ -+ "s/'\''/'\''\\\\'\'''\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" -+ ;; #( -+ *) -+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" -+ ;; -+ esac | -+ sort -+) -+ echo -+ -+ $as_echo "## ----------------- ## -+## Output variables. ## -+## ----------------- ##" -+ echo -+ for ac_var in $ac_subst_vars -+ do -+ eval ac_val=\$$ac_var -+ case $ac_val in -+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; -+ esac -+ $as_echo "$ac_var='\''$ac_val'\''" -+ done | sort -+ echo -+ -+ if test -n "$ac_subst_files"; then -+ $as_echo "## ------------------- ## -+## File substitutions. ## -+## ------------------- ##" -+ echo -+ for ac_var in $ac_subst_files -+ do -+ eval ac_val=\$$ac_var -+ case $ac_val in -+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; -+ esac -+ $as_echo "$ac_var='\''$ac_val'\''" -+ done | sort -+ echo -+ fi -+ -+ if test -s confdefs.h; then -+ $as_echo "## ----------- ## -+## confdefs.h. ## -+## ----------- ##" -+ echo -+ cat confdefs.h -+ echo -+ fi -+ test "$ac_signal" != 0 && -+ $as_echo "$as_me: caught signal $ac_signal" -+ $as_echo "$as_me: exit $exit_status" -+ } >&5 -+ rm -f core *.core core.conftest.* && -+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && -+ exit $exit_status -+' 0 -+for ac_signal in 1 2 13 15; do -+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -+done -+ac_signal=0 -+ -+# confdefs.h avoids OS command line length limits that DEFS can exceed. -+rm -f -r conftest* confdefs.h -+ -+$as_echo "/* confdefs.h */" > confdefs.h -+ -+# Predefined preprocessor variables. -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_NAME "$PACKAGE_NAME" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_VERSION "$PACKAGE_VERSION" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_STRING "$PACKAGE_STRING" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_URL "$PACKAGE_URL" -+_ACEOF -+ -+ -+# Let the site file select an alternate cache file if it wants to. -+# Prefer an explicitly selected file to automatically selected ones. -+ac_site_file1=NONE -+ac_site_file2=NONE -+if test -n "$CONFIG_SITE"; then -+ # We do not want a PATH search for config.site. -+ case $CONFIG_SITE in #(( -+ -*) ac_site_file1=./$CONFIG_SITE;; -+ */*) ac_site_file1=$CONFIG_SITE;; -+ *) ac_site_file1=./$CONFIG_SITE;; -+ esac -+elif test "x$prefix" != xNONE; then -+ ac_site_file1=$prefix/share/config.site -+ ac_site_file2=$prefix/etc/config.site -+else -+ ac_site_file1=$ac_default_prefix/share/config.site -+ ac_site_file2=$ac_default_prefix/etc/config.site -+fi -+for ac_site_file in "$ac_site_file1" "$ac_site_file2" -+do -+ test "x$ac_site_file" = xNONE && continue -+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -+$as_echo "$as_me: loading site script $ac_site_file" >&6;} -+ sed 's/^/| /' "$ac_site_file" >&5 -+ . "$ac_site_file" \ -+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error $? "failed to load site script $ac_site_file -+See \`config.log' for more details" "$LINENO" 5; } -+ fi -+done -+ -+if test -r "$cache_file"; then -+ # Some versions of bash will fail to source /dev/null (special files -+ # actually), so we avoid doing that. DJGPP emulates it as a regular file. -+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -+$as_echo "$as_me: loading cache $cache_file" >&6;} -+ case $cache_file in -+ [\\/]* | ?:[\\/]* ) . "$cache_file";; -+ *) . "./$cache_file";; -+ esac -+ fi -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -+$as_echo "$as_me: creating cache $cache_file" >&6;} -+ >$cache_file -+fi -+ -+# Check that the precious variables saved in the cache have kept the same -+# value. -+ac_cache_corrupted=false -+for ac_var in $ac_precious_vars; do -+ eval ac_old_set=\$ac_cv_env_${ac_var}_set -+ eval ac_new_set=\$ac_env_${ac_var}_set -+ eval ac_old_val=\$ac_cv_env_${ac_var}_value -+ eval ac_new_val=\$ac_env_${ac_var}_value -+ case $ac_old_set,$ac_new_set in -+ set,) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,set) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,);; -+ *) -+ if test "x$ac_old_val" != "x$ac_new_val"; then -+ # differences in whitespace do not lead to failure. -+ ac_old_val_w=`echo x $ac_old_val` -+ ac_new_val_w=`echo x $ac_new_val` -+ if test "$ac_old_val_w" != "$ac_new_val_w"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} -+ ac_cache_corrupted=: -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} -+ eval $ac_var=\$ac_old_val -+ fi -+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} -+ fi;; -+ esac -+ # Pass precious variables to config.status. -+ if test "$ac_new_set" = set; then -+ case $ac_new_val in -+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; -+ *) ac_arg=$ac_var=$ac_new_val ;; -+ esac -+ case " $ac_configure_args " in -+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. -+ *) as_fn_append ac_configure_args " '$ac_arg'" ;; -+ esac -+ fi -+done -+if $ac_cache_corrupted; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} -+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -+fi -+## -------------------- ## -+## Main body of script. ## -+## -------------------- ## -+ -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+ -+ac_config_headers="$ac_config_headers config.h" -+ -+ -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" -+fi -+ -+if test "$srcdir" = "." ; then -+ if test "${with_target_subdir}" != "." ; then -+ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." -+ else -+ libgloss_topdir="${srcdir}/${with_multisrctop}../.." -+ fi -+else -+ libgloss_topdir="${srcdir}/../.." -+fi -+ac_aux_dir= -+for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do -+ if test -f "$ac_dir/install-sh"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install-sh -c" -+ break -+ elif test -f "$ac_dir/install.sh"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install.sh -c" -+ break -+ elif test -f "$ac_dir/shtool"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/shtool install -c" -+ break -+ fi -+done -+if test -z "$ac_aux_dir"; then -+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5 -+fi -+ -+# These three variables are undocumented and unsupported, -+# and are intended to be withdrawn in a future Autoconf release. -+# They can cause serious problems if a builder's source tree is in a directory -+# whose full name contains unusual characters. -+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -+ -+ -+ -+# Make sure we can run config.sub. -+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || -+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -+$as_echo_n "checking build system type... " >&6; } -+if ${ac_cv_build+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_build_alias=$build_alias -+test "x$ac_build_alias" = x && -+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -+test "x$ac_build_alias" = x && -+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -+$as_echo "$ac_cv_build" >&6; } -+case $ac_cv_build in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -+esac -+build=$ac_cv_build -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_build -+shift -+build_cpu=$1 -+build_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+build_os=$* -+IFS=$ac_save_IFS -+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -+$as_echo_n "checking host system type... " >&6; } -+if ${ac_cv_host+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test "x$host_alias" = x; then -+ ac_cv_host=$ac_cv_build -+else -+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -+$as_echo "$ac_cv_host" >&6; } -+case $ac_cv_host in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -+esac -+host=$ac_cv_host -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_host -+shift -+host_cpu=$1 -+host_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+host_os=$* -+IFS=$ac_save_IFS -+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 -+$as_echo_n "checking target system type... " >&6; } -+if ${ac_cv_target+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test "x$target_alias" = x; then -+ ac_cv_target=$ac_cv_host -+else -+ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 -+$as_echo "$ac_cv_target" >&6; } -+case $ac_cv_target in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; -+esac -+target=$ac_cv_target -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_target -+shift -+target_cpu=$1 -+target_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+target_os=$* -+IFS=$ac_save_IFS -+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac -+ -+ -+# The aliases save the names the user supplied, while $host etc. -+# will get canonicalized. -+test -n "$target_alias" && -+ test "$program_prefix$program_suffix$program_transform_name" = \ -+ NONENONEs,x,x, && -+ program_prefix=${target_alias}- -+ -+test "$program_prefix" != NONE && -+ program_transform_name="s&^&$program_prefix&;$program_transform_name" -+# Use a double $ so make ignores it. -+test "$program_suffix" != NONE && -+ program_transform_name="s&\$&$program_suffix&;$program_transform_name" -+# Double any \ or $. -+# By default was `s,x,x', remove it if useless. -+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` -+ -+ -+# Find a good install program. We prefer a C program (faster), -+# so one script is as good as another. But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AmigaOS /C/install, which installs bootblocks on floppy discs -+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# OS/2's system install, which has a completely different semantic -+# ./install, which can be erroneously created by make from ./install.sh. -+# Reject install programs that cannot install multiple files. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -+$as_echo_n "checking for a BSD-compatible install... " >&6; } -+if test -z "$INSTALL"; then -+if ${ac_cv_path_install+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ # Account for people who put trailing slashes in PATH elements. -+case $as_dir/ in #(( -+ ./ | .// | /[cC]/* | \ -+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ -+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ -+ /usr/ucb/* ) ;; -+ *) -+ # OSF1 and SCO ODT 3.0 have their own names for install. -+ # Don't use installbsd from OSF since it installs stuff as root -+ # by default. -+ for ac_prog in ginstall scoinst install; do -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -+ if test $ac_prog = install && -+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ : -+ elif test $ac_prog = install && -+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # program-specific install script used by HP pwplus--don't use. -+ : -+ else -+ rm -rf conftest.one conftest.two conftest.dir -+ echo one > conftest.one -+ echo two > conftest.two -+ mkdir conftest.dir -+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && -+ test -s conftest.one && test -s conftest.two && -+ test -s conftest.dir/conftest.one && -+ test -s conftest.dir/conftest.two -+ then -+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -+ break 3 -+ fi -+ fi -+ fi -+ done -+ done -+ ;; -+esac -+ -+ done -+IFS=$as_save_IFS -+ -+rm -rf conftest.one conftest.two conftest.dir -+ -+fi -+ if test "${ac_cv_path_install+set}" = set; then -+ INSTALL=$ac_cv_path_install -+ else -+ # As a last resort, use the slow shell script. Don't cache a -+ # value for INSTALL within a source directory, because that will -+ # break other packages using the cache if that directory is -+ # removed, or if the value is a relative name. -+ INSTALL=$ac_install_sh -+ fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -+$as_echo "$INSTALL" >&6; } -+ -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -+ -+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' -+ -+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -+ -+ -+$as_echo "#define HAVE_GNU_LD 1" >>confdefs.h -+ -+case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ arc-*-*) -+ ;; -+ arm*-*-*) -+ ;; -+ bfin-*-*) -+ ;; -+ cris-*-* | crisv32-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i345686-*-sco*) -+ ;; -+ lm32-*-*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpc-*-eabi) -+ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h -+ -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ v850*-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h -+ -+ ;; -+esac -+ -+case "${target}" in -+ *-*-elf) -+ $as_echo "#define HAVE_ELF 1" >>confdefs.h -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 -+$as_echo_n "checking for .previous assembler directive... " >&6; } -+if ${libc_cv_asm_previous_directive+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_asm_previous_directive=no -+ cat > conftest.s <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_asm_previous_directive=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 -+$as_echo "$libc_cv_asm_previous_directive" >&6; } -+ -+ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then -+ $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h -+ -+ fi -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 -+$as_echo_n "checking for .popsection assembler directive... " >&6; } -+if ${libc_cv_asm_popsection_directive+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_asm_popsection_directive=no -+ cat > conftest.s <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_asm_popsection_directive=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5 -+$as_echo "$libc_cv_asm_popsection_directive" >&6; } -+ -+ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then -+ $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h -+ -+ fi -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for section attributes" >&5 -+$as_echo_n "checking for section attributes... " >&6; } -+if ${libc_cv_section_attributes+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_section_attributes=no -+ cat > conftest.c <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_section_attributes=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_section_attributes" >&5 -+$as_echo "$libc_cv_section_attributes" >&6; } -+ if test "x${libc_cv_section_attributes}" = "xyes"; then -+ $as_echo "#define HAVE_SECTION_ATTRIBUTES 1" >>confdefs.h -+ -+ fi -+ ;; -+esac -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 -+$as_echo_n "checking for symbol prefix... " >&6; } -+if ${libc_cv_symbol_prefix+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat > conftest.c <<\EOF -+foo () { } -+EOF -+libc_cv_symbol_prefix=none -+if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; -+then -+ libc_cv_symbol_prefix='$' -+else -+ if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; -+ then -+ libc_cv_symbol_prefix=_ -+ fi -+fi -+rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_symbol_prefix" >&5 -+$as_echo "$libc_cv_symbol_prefix" >&6; } -+if test $libc_cv_symbol_prefix != none; then -+ cat >>confdefs.h <<_ACEOF -+#define __SYMBOL_PREFIX "$libc_cv_symbol_prefix" -+_ACEOF -+ -+else -+ $as_echo "#define __SYMBOL_PREFIX \"\"" >>confdefs.h -+ -+fi -+ -+rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+ am__leading_dot=. -+else -+ am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null -+ -+DEPDIR="${am__leading_dot}deps" -+ -+ac_config_commands="$ac_config_commands depfiles" -+ -+ -+am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+ @echo done -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -+$as_echo_n "checking for style of include used by $am_make... " >&6; } -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ fi -+fi -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -+$as_echo "$_am_result" >&6; } -+rm -f confinc confmf -+ -+# Check whether --enable-dependency-tracking was given. -+if test "${enable_dependency_tracking+set}" = set; then : -+ enableval=$enable_dependency_tracking; -+fi -+ -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi -+ -+ -+if test "x$enable_dependency_tracking" != xno; then -+ AMDEP_TRUE= -+ AMDEP_FALSE='#' -+else -+ AMDEP_TRUE='#' -+ AMDEP_FALSE= -+fi -+ -+ -+ -+# Extract the first word of "gcc", so it can be a program name with args. -+set dummy gcc; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CC+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_CC="gcc" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ -+depcc="$CC" am_compiler_list= -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -+$as_echo_n "checking dependency style of $depcc... " >&6; } -+if ${am_cv_CC_dependencies_compiler_type+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub -+ -+ am_cv_CC_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` -+ fi -+ for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -+ -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_CC_dependencies_compiler_type=$depmode -+ break -+ fi -+ fi -+ done -+ -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_CC_dependencies_compiler_type=none -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type -+ -+ -+ -+if -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then -+ am__fastdepCC_TRUE= -+ am__fastdepCC_FALSE='#' -+else -+ am__fastdepCC_TRUE='#' -+ am__fastdepCC_FALSE= -+fi -+ -+ -+if test -z "$CC"; then -+ # Extract the first word of "cc", so it can be a program name with args. -+set dummy cc; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CC+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ ac_prog_rejected=no -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then -+ ac_prog_rejected=yes -+ continue -+ fi -+ ac_cv_prog_CC="cc" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+if test $ac_prog_rejected = yes; then -+ # We found a bogon in the path, so make sure we never use it. -+ set dummy $ac_cv_prog_CC -+ shift -+ if test $# != 0; then -+ # We chose a different compiler from the bogus one. -+ # However, it has the same basename, so the bogon will be chosen -+ # first if we set CC to just the basename; use the full file name. -+ shift -+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" -+ fi -+fi -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5 -+fi -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5 -+$as_echo_n "checking whether we are using GNU C... " >&6; } -+if ${ac_cv_c_compiler_gnu+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat > conftest.c <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then -+ ac_cv_c_compiler_gnu=yes -+else -+ ac_cv_c_compiler_gnu=no -+fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -+$as_echo "$ac_cv_c_compiler_gnu" >&6; } -+ -+if test $ac_cv_c_compiler_gnu = yes; then -+ GCC=yes -+ ac_test_CFLAGS="${CFLAGS+set}" -+ ac_save_CFLAGS="$CFLAGS" -+ CFLAGS= -+ ac_test_CFLAGS=${CFLAGS+set} -+ac_save_CFLAGS=$CFLAGS -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -+$as_echo_n "checking whether $CC accepts -g... " >&6; } -+if ${ac_cv_prog_cc_g+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_save_c_werror_flag=$ac_c_werror_flag -+ ac_c_werror_flag=yes -+ ac_cv_prog_cc_g=no -+ CFLAGS="-g" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_prog_cc_g=yes -+else -+ CFLAGS="" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ -+else -+ ac_c_werror_flag=$ac_save_c_werror_flag -+ CFLAGS="-g" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_prog_cc_g=yes -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_c_werror_flag=$ac_save_c_werror_flag -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -+$as_echo "$ac_cv_prog_cc_g" >&6; } -+if test "$ac_test_CFLAGS" = set; then -+ CFLAGS=$ac_save_CFLAGS -+elif test $ac_cv_prog_cc_g = yes; then -+ if test "$GCC" = yes; then -+ CFLAGS="-g -O2" -+ else -+ CFLAGS="-g" -+ fi -+else -+ if test "$GCC" = yes; then -+ CFLAGS="-O2" -+ else -+ CFLAGS= -+ fi -+fi -+ if test "$ac_test_CFLAGS" = set; then -+ CFLAGS="$ac_save_CFLAGS" -+ elif test $ac_cv_prog_cc_g = yes; then -+ CFLAGS="-g -O2" -+ else -+ CFLAGS="-O2" -+ fi -+else -+ GCC= -+ test "${CFLAGS+set}" = set || CFLAGS="-g" -+fi -+ -+AS=${AS-as} -+ -+AR=${AR-ar} -+ -+LD=${LD-ld} -+ -+if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -+set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_RANLIB+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$RANLIB"; then -+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+RANLIB=$ac_cv_prog_RANLIB -+if test -n "$RANLIB"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -+$as_echo "$RANLIB" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+fi -+if test -z "$ac_cv_prog_RANLIB"; then -+ ac_ct_RANLIB=$RANLIB -+ # Extract the first word of "ranlib", so it can be a program name with args. -+set dummy ranlib; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$ac_ct_RANLIB"; then -+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_ac_ct_RANLIB="ranlib" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -+if test -n "$ac_ct_RANLIB"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -+$as_echo "$ac_ct_RANLIB" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ if test "x$ac_ct_RANLIB" = x; then -+ RANLIB=":" -+ else -+ case $cross_compiling:$ac_tool_warned in -+yes:) -+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -+ac_tool_warned=yes ;; -+esac -+ RANLIB=$ac_ct_RANLIB -+ fi -+else -+ RANLIB="$ac_cv_prog_RANLIB" -+fi -+ -+# By default we simply use the C compiler to build assembly code. -+ -+test "${CCAS+set}" = set || CCAS=$CC -+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS -+ -+ -+ -+ -+host_makefile_frag=${srcdir}/../config/default.mh -+ -+host_makefile_frag_path=$host_makefile_frag -+ -+ -+ -+ac_config_files="$ac_config_files Makefile" -+ -+cat >confcache <<\_ACEOF -+# This file is a shell script that caches the results of configure -+# tests run on this system so they can be shared between configure -+# scripts and configure runs, see configure's option --config-cache. -+# It is not useful on other systems. If it contains results you don't -+# want to keep, you may remove or edit it. -+# -+# config.status only pays attention to the cache file if you give it -+# the --recheck option to rerun configure. -+# -+# `ac_cv_env_foo' variables (set or unset) will be overridden when -+# loading this file, other *unset* `ac_cv_foo' will be assigned the -+# following values. -+ -+_ACEOF -+ -+# The following way of writing the cache mishandles newlines in values, -+# but we know of no workaround that is simple, portable, and efficient. -+# So, we kill variables containing newlines. -+# Ultrix sh set writes to stderr and can't be redirected directly, -+# and sets the high bit in the cache file unless we assign to the vars. -+( -+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do -+ eval ac_val=\$$ac_var -+ case $ac_val in #( -+ *${as_nl}*) -+ case $ac_var in #( -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; -+ esac -+ case $ac_var in #( -+ _ | IFS | as_nl) ;; #( -+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -+ *) { eval $ac_var=; unset $ac_var;} ;; -+ esac ;; -+ esac -+ done -+ -+ (set) 2>&1 | -+ case $as_nl`(ac_space=' '; set) 2>&1` in #( -+ *${as_nl}ac_space=\ *) -+ # `set' does not quote correctly, so add quotes: double-quote -+ # substitution turns \\\\ into \\, and sed turns \\ into \. -+ sed -n \ -+ "s/'/'\\\\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" -+ ;; #( -+ *) -+ # `set' quotes correctly as required by POSIX, so do not add quotes. -+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" -+ ;; -+ esac | -+ sort -+) | -+ sed ' -+ /^ac_cv_env_/b end -+ t clear -+ :clear -+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ -+ t end -+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ -+ :end' >>confcache -+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else -+ if test -w "$cache_file"; then -+ if test "x$cache_file" != "x/dev/null"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -+$as_echo "$as_me: updating cache $cache_file" >&6;} -+ if test ! -f "$cache_file" || test -h "$cache_file"; then -+ cat confcache >"$cache_file" -+ else -+ case $cache_file in #( -+ */* | ?:*) -+ mv -f confcache "$cache_file"$$ && -+ mv -f "$cache_file"$$ "$cache_file" ;; #( -+ *) -+ mv -f confcache "$cache_file" ;; -+ esac -+ fi -+ fi -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} -+ fi -+fi -+rm -f confcache -+ -+test "x$prefix" = xNONE && prefix=$ac_default_prefix -+# Let make expand exec_prefix. -+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -+ -+DEFS=-DHAVE_CONFIG_H -+ -+ac_libobjs= -+ac_ltlibobjs= -+U= -+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue -+ # 1. Remove the extension, and $U if already installed. -+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' -+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"` -+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR -+ # will be set to the directory where LIBOBJS objects are built. -+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" -+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -+done -+LIBOBJS=$ac_libobjs -+ -+LTLIBOBJS=$ac_ltlibobjs -+ -+ -+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then -+ as_fn_error $? "conditional \"AMDEP\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then -+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+ -+: "${CONFIG_STATUS=./config.status}" -+ac_write_fail=0 -+ac_clean_files_save=$ac_clean_files -+ac_clean_files="$ac_clean_files $CONFIG_STATUS" -+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -+as_write_fail=0 -+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -+#! $SHELL -+# Generated by $as_me. -+# Run this file to recreate the current configuration. -+# Compiler output produced by configure, useful for debugging -+# configure, is in config.log if it exists. -+ -+debug=false -+ac_cs_recheck=false -+ac_cs_silent=false -+ -+SHELL=\${CONFIG_SHELL-$SHELL} -+export SHELL -+_ASEOF -+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## -+ -+# Be more Bourne compatible -+DUALCASE=1; export DUALCASE # for MKS sh -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '${1+"$@"}'='"$@"' -+ setopt NO_GLOB_SUBST -+else -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+ -+ -+as_nl=' -+' -+export as_nl -+# Printing a long string crashes Solaris 7 /usr/bin/printf. -+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='printf %s\n' -+ as_echo_n='printf %s' -+else -+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then -+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' -+ as_echo_n='/usr/ucb/echo -n' -+ else -+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' -+ as_echo_n_body='eval -+ arg=$1; -+ case $arg in #( -+ *"$as_nl"*) -+ expr "X$arg" : "X\\(.*\\)$as_nl"; -+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -+ esac; -+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" -+ ' -+ export as_echo_n_body -+ as_echo_n='sh -c $as_echo_n_body as_echo' -+ fi -+ export as_echo_body -+ as_echo='sh -c $as_echo_body as_echo' -+fi -+ -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ PATH_SEPARATOR=: -+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { -+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || -+ PATH_SEPARATOR=';' -+ } -+fi -+ -+ -+# IFS -+# We need space, tab and new line, in precisely that order. Quoting is -+# there to prevent editors from complaining about space-tab. -+# (If _AS_PATH_WALK were called with IFS unset, it would disable word -+# splitting by setting IFS to empty value.) -+IFS=" "" $as_nl" -+ -+# Find who we are. Look in the path if we contain no directory separator. -+as_myself= -+case $0 in #(( -+ *[\\/]* ) as_myself=$0 ;; -+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done -+IFS=$as_save_IFS -+ -+ ;; -+esac -+# We did not find ourselves, most probably we were run as `sh COMMAND' -+# in which case we are not to be found in the path. -+if test "x$as_myself" = x; then -+ as_myself=$0 -+fi -+if test ! -f "$as_myself"; then -+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -+ exit 1 -+fi -+ -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -+done -+PS1='$ ' -+PS2='> ' -+PS4='+ ' -+ -+# NLS nuisances. -+LC_ALL=C -+export LC_ALL -+LANGUAGE=C -+export LANGUAGE -+ -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+ -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error -+ -+ -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status -+ -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit -+ -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append -+ -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith -+ -+ -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr -+else -+ as_expr=false -+fi -+ -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename -+else -+ as_basename=false -+fi -+ -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi -+ -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+ECHO_C= ECHO_N= ECHO_T= -+case `echo -n x` in #((((( -+-n*) -+ case `echo 'xy\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; -+ esac;; -+*) -+ ECHO_N='-n';; -+esac -+ -+rm -f conf$$ conf$$.exe conf$$.file -+if test -d conf$$.dir; then -+ rm -f conf$$.dir/conf$$.file -+else -+ rm -f conf$$.dir -+ mkdir conf$$.dir 2>/dev/null -+fi -+if (echo >conf$$.file) 2>/dev/null; then -+ if ln -s conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s='ln -s' -+ # ... but there are two gotchas: -+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. -+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -+ # In both cases, we have to default to `cp -pR'. -+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -+ as_ln_s='cp -pR' -+ elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+ else -+ as_ln_s='cp -pR' -+ fi -+else -+ as_ln_s='cp -pR' -+fi -+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -+rmdir conf$$.dir 2>/dev/null -+ -+ -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ -+ -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" -+ -+ -+} # as_fn_mkdir_p -+if mkdir -p . 2>/dev/null; then -+ as_mkdir_p='mkdir -p "$as_dir"' -+else -+ test -d ./-p && rmdir ./-p -+ as_mkdir_p=false -+fi -+ -+ -+# as_fn_executable_p FILE -+# ----------------------- -+# Test if FILE is an executable regular file. -+as_fn_executable_p () -+{ -+ test -f "$1" && test -x "$1" -+} # as_fn_executable_p -+as_test_x='test -x' -+as_executable_p=as_fn_executable_p -+ -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -+ -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -+ -+ -+exec 6>&1 -+## ----------------------------------- ## -+## Main body of $CONFIG_STATUS script. ## -+## ----------------------------------- ## -+_ASEOF -+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# Save the log message, to keep $0 and so on meaningful, and to -+# report actual input values of CONFIG_FILES etc. instead of their -+# values after options handling. -+ac_log=" -+This file was extended by $as_me, which was -+generated by GNU Autoconf 2.69. Invocation command line was -+ -+ CONFIG_FILES = $CONFIG_FILES -+ CONFIG_HEADERS = $CONFIG_HEADERS -+ CONFIG_LINKS = $CONFIG_LINKS -+ CONFIG_COMMANDS = $CONFIG_COMMANDS -+ $ $0 $@ -+ -+on `(hostname || uname -n) 2>/dev/null | sed 1q` -+" -+ -+_ACEOF -+ -+case $ac_config_files in *" -+"*) set x $ac_config_files; shift; ac_config_files=$*;; -+esac -+ -+case $ac_config_headers in *" -+"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -+esac -+ -+ -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+# Files that config.status was made for. -+config_files="$ac_config_files" -+config_headers="$ac_config_headers" -+config_commands="$ac_config_commands" -+ -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ac_cs_usage="\ -+\`$as_me' instantiates files and other configuration actions -+from templates according to the current configuration. Unless the files -+and actions are specified as TAGs, all are instantiated by default. -+ -+Usage: $0 [OPTION]... [TAG]... -+ -+ -h, --help print this help, then exit -+ -V, --version print version number and configuration settings, then exit -+ --config print configuration, then exit -+ -q, --quiet, --silent -+ do not print progress messages -+ -d, --debug don't remove temporary files -+ --recheck update $as_me by reconfiguring in the same conditions -+ --file=FILE[:TEMPLATE] -+ instantiate the configuration file FILE -+ --header=FILE[:TEMPLATE] -+ instantiate the configuration header FILE -+ -+Configuration files: -+$config_files -+ -+Configuration headers: -+$config_headers -+ -+Configuration commands: -+$config_commands -+ -+Report bugs to the package provider." -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -+ac_cs_version="\\ -+config.status -+configured by $0, generated by GNU Autoconf 2.69, -+ with options \\"\$ac_cs_config\\" -+ -+Copyright (C) 2012 Free Software Foundation, Inc. -+This config.status script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it." -+ -+ac_pwd='$ac_pwd' -+srcdir='$srcdir' -+INSTALL='$INSTALL' -+test -n "\$AWK" || AWK=awk -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# The default lists apply if the user does not specify any file. -+ac_need_defaults=: -+while test $# != 0 -+do -+ case $1 in -+ --*=?*) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` -+ ac_shift=: -+ ;; -+ --*=) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg= -+ ac_shift=: -+ ;; -+ *) -+ ac_option=$1 -+ ac_optarg=$2 -+ ac_shift=shift -+ ;; -+ esac -+ -+ case $ac_option in -+ # Handling of the options. -+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) -+ ac_cs_recheck=: ;; -+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) -+ $as_echo "$ac_cs_version"; exit ;; -+ --config | --confi | --conf | --con | --co | --c ) -+ $as_echo "$ac_cs_config"; exit ;; -+ --debug | --debu | --deb | --de | --d | -d ) -+ debug=: ;; -+ --file | --fil | --fi | --f ) -+ $ac_shift -+ case $ac_optarg in -+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ '') as_fn_error $? "missing file argument" ;; -+ esac -+ as_fn_append CONFIG_FILES " '$ac_optarg'" -+ ac_need_defaults=false;; -+ --header | --heade | --head | --hea ) -+ $ac_shift -+ case $ac_optarg in -+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ esac -+ as_fn_append CONFIG_HEADERS " '$ac_optarg'" -+ ac_need_defaults=false;; -+ --he | --h) -+ # Conflict between --help and --header -+ as_fn_error $? "ambiguous option: \`$1' -+Try \`$0 --help' for more information.";; -+ --help | --hel | -h ) -+ $as_echo "$ac_cs_usage"; exit ;; -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil | --si | --s) -+ ac_cs_silent=: ;; -+ -+ # This is an error. -+ -*) as_fn_error $? "unrecognized option: \`$1' -+Try \`$0 --help' for more information." ;; -+ -+ *) as_fn_append ac_config_targets " $1" -+ ac_need_defaults=false ;; -+ -+ esac -+ shift -+done -+ -+ac_configure_extra_args= -+ -+if $ac_cs_silent; then -+ exec 6>/dev/null -+ ac_configure_extra_args="$ac_configure_extra_args --silent" -+fi -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+if \$ac_cs_recheck; then -+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -+ shift -+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 -+ CONFIG_SHELL='$SHELL' -+ export CONFIG_SHELL -+ exec "\$@" -+fi -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+exec 5>>config.log -+{ -+ echo -+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -+## Running $as_me. ## -+_ASBOX -+ $as_echo "$ac_log" -+} >&5 -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+# -+# INIT-COMMANDS -+# -+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" -+srcdir=${srcdir} -+target=${target} -+with_multisubdir=${with_multisubdir} -+ac_configure_args="${ac_configure_args} --enable-multilib" -+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+libgloss_topdir=${libgloss_topdir} -+ -+ -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ -+# Handling of arguments. -+for ac_config_target in $ac_config_targets -+do -+ case $ac_config_target in -+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; -+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; -+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; -+ -+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; -+ esac -+done -+ -+ -+# If the user did not use the arguments to specify the items to instantiate, -+# then the envvar interface is used. Set only those that are not. -+# We use the long form for the default assignment because of an extremely -+# bizarre bug on SunOS 4.1.3. -+if $ac_need_defaults; then -+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers -+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -+fi -+ -+# Have a temporary directory for convenience. Make it in the build tree -+# simply because there is no reason against having it here, and in addition, -+# creating and moving files from /tmp can sometimes cause problems. -+# Hook for its removal unless debugging. -+# Note that there is a small window in which the directory will not be cleaned: -+# after its creation but before its name has been assigned to `$tmp'. -+$debug || -+{ -+ tmp= ac_tmp= -+ trap 'exit_status=$? -+ : "${ac_tmp:=$tmp}" -+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -+' 0 -+ trap 'as_fn_exit 1' 1 2 13 15 -+} -+# Create a (secure) tmp directory for tmp files. -+ -+{ -+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && -+ test -d "$tmp" -+} || -+{ -+ tmp=./conf$$-$RANDOM -+ (umask 077 && mkdir "$tmp") -+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -+ac_tmp=$tmp -+ -+# Set up the scripts for CONFIG_FILES section. -+# No need to generate them if there are no CONFIG_FILES. -+# This happens for instance with `./config.status config.h'. -+if test -n "$CONFIG_FILES"; then -+ -+if $AWK 'BEGIN { getline <"/dev/null" }' /dev/null; then -+ ac_cs_awk_getline=: -+ ac_cs_awk_pipe_init= -+ ac_cs_awk_read_file=' -+ while ((getline aline < (F[key])) > 0) -+ print(aline) -+ close(F[key])' -+ ac_cs_awk_pipe_fini= -+else -+ ac_cs_awk_getline=false -+ ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\"" -+ ac_cs_awk_read_file=' -+ print "|#_!!_#|" -+ print "cat " F[key] " &&" -+ '$ac_cs_awk_pipe_init -+ # The final `:' finishes the AND list. -+ ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }' -+fi -+ac_cr=`echo X | tr X '\015'` -+# On cygwin, bash can eat \r inside `` if the user requested igncr. -+# But we know of no other shell where ac_cr would be empty at this -+# point, so we can use a bashism as a fallback. -+if test "x$ac_cr" = x; then -+ eval ac_cr=\$\'\\r\' -+fi -+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then -+ ac_cs_awk_cr='\\r' -+else -+ ac_cs_awk_cr=$ac_cr -+fi -+ -+echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -+_ACEOF -+ -+# Create commands to substitute file output variables. -+{ -+ echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && -+ echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && -+ echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && -+ echo "_ACAWK" && -+ echo "_ACEOF" -+} >conf$$files.sh && -+. ./conf$$files.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+rm -f conf$$files.sh -+ -+{ -+ echo "cat >conf$$subs.awk <<_ACEOF" && -+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && -+ echo "_ACEOF" -+} >conf$$subs.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -+ac_delim='%!_!# ' -+for ac_last_try in false false false false false :; do -+ . ./conf$$subs.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ -+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` -+ if test $ac_delim_n = $ac_delim_num; then -+ break -+ elif $ac_last_try; then -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ else -+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " -+ fi -+done -+rm -f conf$$subs.sh -+ -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -+_ACEOF -+sed -n ' -+h -+s/^/S["/; s/!.*/"]=/ -+p -+g -+s/^[^!]*!// -+:repl -+t repl -+s/'"$ac_delim"'$// -+t delim -+:nl -+h -+s/\(.\{148\}\)..*/\1/ -+t more1 -+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -+p -+n -+b repl -+:more1 -+s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -+p -+g -+s/.\{148\}// -+t nl -+:delim -+h -+s/\(.\{148\}\)..*/\1/ -+t more2 -+s/["\\]/\\&/g; s/^/"/; s/$/"/ -+p -+b -+:more2 -+s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -+p -+g -+s/.\{148\}// -+t delim -+' >$CONFIG_STATUS || ac_write_fail=1 -+rm -f conf$$subs.awk -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+_ACAWK -+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && -+ for (key in S) S_is_set[key] = 1 -+ FS = "" -+ \$ac_cs_awk_pipe_init -+} -+{ -+ line = $ 0 -+ nfields = split(line, field, "@") -+ substed = 0 -+ len = length(field[1]) -+ for (i = 2; i < nfields; i++) { -+ key = field[i] -+ keylen = length(key) -+ if (S_is_set[key]) { -+ value = S[key] -+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) -+ len += length(value) + length(field[++i]) -+ substed = 1 -+ } else -+ len += 1 + keylen -+ } -+ if (nfields == 3 && !substed) { -+ key = field[2] -+ if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) { -+ \$ac_cs_awk_read_file -+ next -+ } -+ } -+ print line -+} -+\$ac_cs_awk_pipe_fini -+_ACAWK -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then -+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -+else -+ cat -+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ -+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -+_ACEOF -+ -+# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -+# trailing colons and then remove the whole line if VPATH becomes empty -+# (actually we leave an empty line to preserve line numbers). -+if test "x$srcdir" = x.; then -+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -+h -+s/// -+s/^/:/ -+s/[ ]*$/:/ -+s/:\$(srcdir):/:/g -+s/:\${srcdir}:/:/g -+s/:@srcdir@:/:/g -+s/^:*// -+s/:*$// -+x -+s/\(=[ ]*\).*/\1/ -+G -+s/\n// -+s/^[^=]*=[ ]*$// -+}' -+fi -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+fi # test -n "$CONFIG_FILES" -+ -+# Set up the scripts for CONFIG_HEADERS section. -+# No need to generate them if there are no CONFIG_HEADERS. -+# This happens for instance with `./config.status Makefile'. -+if test -n "$CONFIG_HEADERS"; then -+cat >"$ac_tmp/defines.awk" <<\_ACAWK || -+BEGIN { -+_ACEOF -+ -+# Transform confdefs.h into an awk script `defines.awk', embedded as -+# here-document in config.status, that substitutes the proper values into -+# config.h.in to produce config.h. -+ -+# Create a delimiter string that does not exist in confdefs.h, to ease -+# handling of long lines. -+ac_delim='%!_!# ' -+for ac_last_try in false false :; do -+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h` -+ if test -z "$ac_tt"; then -+ break -+ elif $ac_last_try; then -+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 -+ else -+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " -+ fi -+done -+ -+# For the awk script, D is an array of macro values keyed by name, -+# likewise P contains macro parameters if any. Preserve backslash -+# newline sequences. -+ -+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -+sed -n ' -+s/.\{148\}/&'"$ac_delim"'/g -+t rset -+:rset -+s/^[ ]*#[ ]*define[ ][ ]*/ / -+t def -+d -+:def -+s/\\$// -+t bsnl -+s/["\\]/\\&/g -+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -+D["\1"]=" \3"/p -+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -+d -+:bsnl -+s/["\\]/\\&/g -+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -+D["\1"]=" \3\\\\\\n"\\/p -+t cont -+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -+t cont -+d -+:cont -+n -+s/.\{148\}/&'"$ac_delim"'/g -+t clear -+:clear -+s/\\$// -+t bsnlc -+s/["\\]/\\&/g; s/^/"/; s/$/"/p -+d -+:bsnlc -+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -+b cont -+' >$CONFIG_STATUS || ac_write_fail=1 -+ -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ for (key in D) D_is_set[key] = 1 -+ FS = "" -+} -+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { -+ line = \$ 0 -+ split(line, arg, " ") -+ if (arg[1] == "#") { -+ defundef = arg[2] -+ mac1 = arg[3] -+ } else { -+ defundef = substr(arg[1], 2) -+ mac1 = arg[2] -+ } -+ split(mac1, mac2, "(") #) -+ macro = mac2[1] -+ prefix = substr(line, 1, index(line, defundef) - 1) -+ if (D_is_set[macro]) { -+ # Preserve the white space surrounding the "#". -+ print prefix "define", macro P[macro] D[macro] -+ next -+ } else { -+ # Replace #undef with comments. This is necessary, for example, -+ # in the case of _POSIX_SOURCE, which is predefined and required -+ # on some systems where configure will not decide to define it. -+ if (defundef == "undef") { -+ print "/*", prefix defundef, macro, "*/" -+ next -+ } -+ } -+} -+{ print } -+_ACAWK -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -+fi # test -n "$CONFIG_HEADERS" -+ -+ -+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -+shift -+for ac_tag -+do -+ case $ac_tag in -+ :[FHLC]) ac_mode=$ac_tag; continue;; -+ esac -+ case $ac_mode$ac_tag in -+ :[FHL]*:*);; -+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; -+ :[FH]-) ac_tag=-:-;; -+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; -+ esac -+ ac_save_IFS=$IFS -+ IFS=: -+ set x $ac_tag -+ IFS=$ac_save_IFS -+ shift -+ ac_file=$1 -+ shift -+ -+ case $ac_mode in -+ :L) ac_source=$1;; -+ :[FH]) -+ ac_file_inputs= -+ for ac_f -+ do -+ case $ac_f in -+ -) ac_f="$ac_tmp/stdin";; -+ *) # Look for the file first in the build tree, then in the source tree -+ # (if the path is not absolute). The absolute path cannot be DOS-style, -+ # because $ac_f cannot contain `:'. -+ test -f "$ac_f" || -+ case $ac_f in -+ [\\/$]*) false;; -+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; -+ esac || -+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; -+ esac -+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac -+ as_fn_append ac_file_inputs " '$ac_f'" -+ done -+ -+ # Let's still pretend it is `configure' which instantiates (i.e., don't -+ # use $as_me), people would be surprised to read: -+ # /* config.h. Generated by config.status. */ -+ configure_input='Generated from '` -+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' -+ `' by configure.' -+ if test x"$ac_file" != x-; then -+ configure_input="$ac_file. $configure_input" -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -+$as_echo "$as_me: creating $ac_file" >&6;} -+ fi -+ # Neutralize special characters interpreted by sed in replacement strings. -+ case $configure_input in #( -+ *\&* | *\|* | *\\* ) -+ ac_sed_conf_input=`$as_echo "$configure_input" | -+ sed 's/[\\\\&|]/\\\\&/g'`;; #( -+ *) ac_sed_conf_input=$configure_input;; -+ esac -+ -+ case $ac_tag in -+ *:-:* | *:-) cat >"$ac_tmp/stdin" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; -+ esac -+ ;; -+ esac -+ -+ ac_dir=`$as_dirname -- "$ac_file" || -+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$ac_file" : 'X\(//\)[^/]' \| \ -+ X"$ac_file" : 'X\(//\)$' \| \ -+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$ac_file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ as_dir="$ac_dir"; as_fn_mkdir_p -+ ac_builddir=. -+ -+case "$ac_dir" in -+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -+*) -+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` -+ # A ".." for each directory in $ac_dir_suffix. -+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` -+ case $ac_top_builddir_sub in -+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; -+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; -+ esac ;; -+esac -+ac_abs_top_builddir=$ac_pwd -+ac_abs_builddir=$ac_pwd$ac_dir_suffix -+# for backward compatibility: -+ac_top_builddir=$ac_top_build_prefix -+ -+case $srcdir in -+ .) # We are building in place. -+ ac_srcdir=. -+ ac_top_srcdir=$ac_top_builddir_sub -+ ac_abs_top_srcdir=$ac_pwd ;; -+ [\\/]* | ?:[\\/]* ) # Absolute name. -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir -+ ac_abs_top_srcdir=$srcdir ;; -+ *) # Relative name. -+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_top_build_prefix$srcdir -+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -+esac -+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -+ -+ -+ case $ac_mode in -+ :F) -+ # -+ # CONFIG_FILE -+ # -+ -+ case $INSTALL in -+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; -+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; -+ esac -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# If the template does not know about datarootdir, expand it. -+# FIXME: This hack should be removed a few years after 2.60. -+ac_datarootdir_hack=; ac_datarootdir_seen= -+ac_sed_dataroot=' -+/datarootdir/ { -+ p -+ q -+} -+/@datadir@/p -+/@docdir@/p -+/@infodir@/p -+/@localedir@/p -+/@mandir@/p' -+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -+*datarootdir*) ac_datarootdir_seen=yes;; -+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ ac_datarootdir_hack=' -+ s&@datadir@&$datadir&g -+ s&@docdir@&$docdir&g -+ s&@infodir@&$infodir&g -+ s&@localedir@&$localedir&g -+ s&@mandir@&$mandir&g -+ s&\\\${datarootdir}&$datarootdir&g' ;; -+esac -+_ACEOF -+ -+# Neutralize VPATH when `$srcdir' = `.'. -+# Shell code in configure.ac might set extrasub. -+# FIXME: do we really want to maintain this feature? -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_sed_extra="$ac_vpsub -+$extrasub -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+:t -+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -+s|@configure_input@|$ac_sed_conf_input|;t t -+s&@top_builddir@&$ac_top_builddir_sub&;t t -+s&@top_build_prefix@&$ac_top_build_prefix&;t t -+s&@srcdir@&$ac_srcdir&;t t -+s&@abs_srcdir@&$ac_abs_srcdir&;t t -+s&@top_srcdir@&$ac_top_srcdir&;t t -+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -+s&@builddir@&$ac_builddir&;t t -+s&@abs_builddir@&$ac_abs_builddir&;t t -+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -+s&@INSTALL@&$ac_INSTALL&;t t -+$ac_datarootdir_hack -+" -+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | -+if $ac_cs_awk_getline; then -+ $AWK -f "$ac_tmp/subs.awk" -+else -+ $AWK -f "$ac_tmp/subs.awk" | $SHELL -+fi \ -+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ -+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && -+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && -+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ -+ "$ac_tmp/out"`; test -z "$ac_out"; } && -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&5 -+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&2;} -+ -+ rm -f "$ac_tmp/stdin" -+ case $ac_file in -+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; -+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; -+ esac \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ ;; -+ :H) -+ # -+ # CONFIG_HEADER -+ # -+ if test x"$ac_file" != x-; then -+ { -+ $as_echo "/* $configure_input */" \ -+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" -+ } >"$ac_tmp/config.h" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -+$as_echo "$as_me: $ac_file is unchanged" >&6;} -+ else -+ rm -f "$ac_file" -+ mv "$ac_tmp/config.h" "$ac_file" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ fi -+ else -+ $as_echo "/* $configure_input */" \ -+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ -+ || as_fn_error $? "could not create -" "$LINENO" 5 -+ fi -+ ;; -+ -+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -+$as_echo "$as_me: executing $ac_file commands" >&6;} -+ ;; -+ esac -+ -+ -+ case $ac_file$ac_mode in -+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # So let's grep whole file. -+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -+ dirpart=`$as_dirname -- "$mf" || -+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$mf" : 'X\(//\)[^/]' \| \ -+ X"$mf" : 'X\(//\)$' \| \ -+ X"$mf" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$mf" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ else -+ continue -+ fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`$as_dirname -- "$file" || -+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$file" : 'X\(//\)[^/]' \| \ -+ X"$file" : 'X\(//\)$' \| \ -+ X"$file" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ as_dir=$dirpart/$fdir; as_fn_mkdir_p -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done -+done -+ ;; -+ "Makefile":F) ac_file=Makefile . ${libgloss_topdir}/config-ml.in ;; -+ -+ esac -+done # for ac_tag -+ -+ -+as_fn_exit 0 -+_ACEOF -+ac_clean_files=$ac_clean_files_save -+ -+test $ac_write_fail = 0 || -+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 -+ -+ -+# configure is writing to config.log, and then calls config.status. -+# config.status does its own redirection, appending to config.log. -+# Unfortunately, on DOS this fails, as config.log is still kept open -+# by configure, so config.status won't be able to write to it; its -+# output is simply discarded. So we exec the FD to /dev/null, -+# effectively closing config.log, so it can be properly (re)opened and -+# appended to by config.status. When coming back to configure, we -+# need to make the FD available again. -+if test "$no_create" != yes; then -+ ac_cs_success=: -+ ac_config_status_args= -+ test "$silent" = yes && -+ ac_config_status_args="$ac_config_status_args --quiet" -+ exec 5>/dev/null -+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false -+ exec 5>>config.log -+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which -+ # would make configure fail if this is the last instruction. -+ $ac_cs_success || as_fn_exit 1 -+fi -+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -+fi -+ -+ -+ -diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in -new file mode 100644 -index 000000000..f3b838072 ---- /dev/null -+++ b/libgloss/libsysbase/configure.in -@@ -0,0 +1,199 @@ -+# Copyright (c) 1995, 1996 Cygnus Support -+# -+# The authors hereby grant permission to use, copy, modify, distribute, -+# and license this software and its documentation for any purpose, provided -+# that existing copyright notices are retained in all copies and that this -+# notice is included verbatim in any distributions. No written agreement, -+# license, or royalty fee is required for any of the authorized uses. -+# Modifications to this software may be copyrighted by their authors -+# and need not follow the licensing terms described here, provided that -+# the new terms are clearly indicated on the first page of each file where -+# they apply. -+# -+# Process this file with autoconf to produce a configure script. -+# -+AC_PREREQ(2.59) -+AC_INIT(close.c) -+AC_CONFIG_HEADER(config.h) -+ -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" -+fi -+ -+if test "$srcdir" = "." ; then -+ if test "${with_target_subdir}" != "." ; then -+ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." -+ else -+ libgloss_topdir="${srcdir}/${with_multisrctop}../.." -+ fi -+else -+ libgloss_topdir="${srcdir}/../.." -+fi -+AC_CONFIG_AUX_DIR($libgloss_topdir) -+ -+AC_CANONICAL_SYSTEM -+AC_ARG_PROGRAM -+ -+AC_PROG_INSTALL -+ -+AC_DEFINE(HAVE_GNU_LD) -+dnl Make sure syscall names match those being used by newlib -+case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ arc-*-*) -+ ;; -+ arm*-*-*) -+ ;; -+ bfin-*-*) -+ ;; -+ cris-*-* | crisv32-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i[3456]86-*-sco*) -+ ;; -+ lm32-*-*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpc-*-eabi) -+ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ v850*-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ AC_DEFINE(MISSING_SYSCALL_NAMES) -+ ;; -+esac -+ -+dnl Make sure we know if elf format used -+case "${target}" in -+ *-*-elf) -+ AC_DEFINE(HAVE_ELF) -+ -+ AC_CACHE_CHECK([for .previous assembler directive], -+ libc_cv_asm_previous_directive, [dnl -+ libc_cv_asm_previous_directive=no -+ cat > conftest.s <&AC_FD_CC); then -+ libc_cv_asm_previous_directive=yes -+ fi -+ rm -f conftest*]) -+ -+ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then -+ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) -+ fi -+ -+ AC_CACHE_CHECK([for .popsection assembler directive], -+ libc_cv_asm_popsection_directive, [dnl -+ libc_cv_asm_popsection_directive=no -+ cat > conftest.s <&AC_FD_CC); then -+ libc_cv_asm_popsection_directive=yes -+ fi -+ rm -f conftest*]) -+ -+ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then -+ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) -+ fi -+ -+ AC_CACHE_CHECK([for section attributes], -+ libc_cv_section_attributes, [dnl -+ libc_cv_section_attributes=no -+ cat > conftest.c <&AC_FD_CC); then -+ libc_cv_section_attributes=yes -+ fi -+ rm -f conftest*]) -+ if test "x${libc_cv_section_attributes}" = "xyes"; then -+ AC_DEFINE(HAVE_SECTION_ATTRIBUTES) -+ fi -+ ;; -+esac -+ -+AC_CACHE_CHECK([for symbol prefix], libc_cv_symbol_prefix, [dnl -+cat > conftest.c <<\EOF -+foo () { } -+EOF -+dnl -+libc_cv_symbol_prefix=none -+if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); -+then -+ libc_cv_symbol_prefix='$' -+else -+ if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]); -+ then -+ libc_cv_symbol_prefix=_ -+ fi -+fi -+rm -f conftest* ]) -+if test $libc_cv_symbol_prefix != none; then -+ AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_cv_symbol_prefix") -+else -+ AC_DEFINE(__SYMBOL_PREFIX, "") -+fi -+ -+LIB_AC_PROG_CC -+AS=${AS-as} -+AC_SUBST(AS) -+AR=${AR-ar} -+AC_SUBST(AR) -+LD=${LD-ld} -+AC_SUBST(LD) -+AC_PROG_RANLIB -+LIB_AM_PROG_AS -+ -+host_makefile_frag=${srcdir}/../config/default.mh -+ -+dnl We have to assign the same value to other variables because autoconf -+dnl doesn't provide a mechanism to substitute a replacement keyword with -+dnl arbitrary data or pathnames. -+dnl -+host_makefile_frag_path=$host_makefile_frag -+AC_SUBST(host_makefile_frag_path) -+AC_SUBST_FILE(host_makefile_frag) -+ -+AC_CONFIG_FILES(Makefile, -+ac_file=Makefile . ${libgloss_topdir}/config-ml.in, -+srcdir=${srcdir} -+target=${target} -+with_multisubdir=${with_multisubdir} -+ac_configure_args="${ac_configure_args} --enable-multilib" -+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+libgloss_topdir=${libgloss_topdir} -+) -+AC_OUTPUT -+ -+ -diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c -new file mode 100644 -index 000000000..0ad29029c ---- /dev/null -+++ b/libgloss/libsysbase/dirent.c -@@ -0,0 +1,255 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+static DIR_ITER * __diropen (const char *path) { -+ struct _reent *r = _REENT; -+ DIR_ITER *handle = NULL; -+ DIR_ITER *dir = NULL; -+ int dev; -+ -+ dev = FindDevice(path); -+ -+ if(dev!=-1) { -+ if(devoptab_list[dev]->diropen_r) { -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ handle = (DIR_ITER *)malloc( sizeof(DIR_ITER) + devoptab_list[dev]->dirStateSize ); -+ -+ if ( NULL != handle ) { -+ handle->device = dev; -+ handle->dirStruct = ((void *)handle) + sizeof(DIR_ITER); -+ -+ dir = devoptab_list[dev]->diropen_r(r, handle, path); -+ -+ if ( dir == NULL ) { -+ free (handle); -+ handle = NULL; -+ } -+ } else { -+ r->_errno = ENOSR; -+ handle = NULL; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = ENODEV; -+ } -+ -+ return handle; -+} -+ -+static int __dirreset (DIR_ITER *dirState) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; -+ -+ if (dirState != NULL) { -+ dev = dirState->device; -+ -+ if(devoptab_list[dev]->dirreset_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirreset_r(r, dirState); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} -+ -+static int __dirnext (DIR_ITER *dirState, char *filename, struct stat *filestat) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; -+ -+ if (dirState != NULL) { -+ dev = dirState->device; -+ -+ if(devoptab_list[dev]->dirnext_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirnext_r(r, dirState, filename, filestat); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} -+ -+static int __dirclose (DIR_ITER *dirState) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; -+ -+ if (dirState != NULL) { -+ dev = dirState->device; -+ -+ if (devoptab_list[dev]->dirclose_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirclose_r (r, dirState); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ free (dirState); -+ } -+ return ret; -+} -+ -+DIR* opendir (const char *dirname) { -+ DIR* dirp = malloc (sizeof(DIR)); -+ if (!dirp) { -+ errno = ENOMEM; -+ return NULL; -+ } -+ -+ dirp->dirData = __diropen (dirname); -+ if (!dirp->dirData) { -+ free (dirp); -+ return NULL; -+ } -+ -+ dirp->position = 0; // 0th position means no file name has been returned yet -+ dirp->fileData.d_ino = -1; -+ dirp->fileData.d_name[0] = '\0'; -+ -+ return dirp; -+} -+ -+ -+int closedir (DIR *dirp) { -+ int res; -+ -+ if (!dirp) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ res = __dirclose (dirp->dirData); -+ free (dirp); -+ return res; -+} -+ -+ -+struct dirent* readdir (DIR *dirp) { -+ struct stat st; -+ char filename[NAME_MAX]; -+ int res; -+ int olderrno = errno; -+ -+ if (!dirp) { -+ errno = EBADF; -+ return NULL; -+ } -+ -+ res = __dirnext (dirp->dirData, filename, &st); -+ -+ if (res < 0) { -+ if (errno == ENOENT) { -+ // errno == ENONENT set by dirnext means it's end of directory -+ // But readdir should not touch errno in case of dir end -+ errno = olderrno; -+ } -+ return NULL; -+ } -+ -+ // We've moved forward in the directory -+ dirp->position += 1; -+ -+ if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { -+ errno = EOVERFLOW; -+ return NULL; -+ } -+ -+ strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); -+ dirp->fileData.d_ino = st.st_ino; -+ dirp->fileData.d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; -+ -+ return &(dirp->fileData); -+} -+ -+ -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { -+ struct stat st; -+ char filename[NAME_MAX]; -+ int res; -+ -+ if (!dirp) { -+ return EBADF; -+ } -+ -+ res = __dirnext (dirp->dirData, filename, &st); -+ -+ if (res < 0) { -+ res = errno; -+ *result = NULL; -+ if (errno == ENOENT) { -+ // errno == ENONENT set by dirnext means it's end of directory -+ // But readdir should not touch errno in case of dir end -+ res = 0; -+ } -+ return res; -+ } -+ -+ // We've moved forward in the directory -+ dirp->position += 1; -+ -+ if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { -+ errno = EOVERFLOW; -+ return EOVERFLOW; -+ } -+ -+ strncpy (entry->d_name, filename, sizeof(entry->d_name)); -+ entry->d_ino = st.st_ino; -+ -+ *result = entry; -+ return 0; -+} -+ -+ -+void rewinddir (DIR *dirp) { -+ if (!dirp) { -+ return; -+ } -+ -+ __dirreset (dirp->dirData); -+ dirp->position = 0; -+} -+ -+ -+void seekdir(DIR *dirp, long int loc) { -+ char filename[NAME_MAX]; -+ -+ if (!dirp || loc < 0) { -+ return; -+ } -+ -+ if (dirp->position > loc) { -+ // The entry we want is before the one we have, -+ // so we have to start again from the begining -+ __dirreset (dirp->dirData); -+ dirp->position = 0; -+ } -+ -+ // Keep reading entries until we reach the one we want -+ while ((dirp->position < loc) && -+ (__dirnext (dirp->dirData, filename, NULL) >= 0)) -+ { -+ dirp->position += 1; -+ } -+} -+ -+ -+long int telldir(DIR *dirp) { -+ if (!dirp) { -+ return -1; -+ } -+ -+ return dirp->position; -+} -diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c -new file mode 100644 -index 000000000..1c485b26f ---- /dev/null -+++ b/libgloss/libsysbase/environ.c -@@ -0,0 +1,6 @@ -+/* -+ * Version of environ for no OS. -+ */ -+ -+char *__env[1] = { 0 }; -+char **environ = __env; -diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c -new file mode 100644 -index 000000000..59fecdd44 ---- /dev/null -+++ b/libgloss/libsysbase/execve.c -@@ -0,0 +1,23 @@ -+/* -+ * Stub version of execve. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _execve_r( struct _reent * r, char *name, char **argv, char **env) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _execve( char *name, char **argv, char **env) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ r->_errno = ENOSYS; -+ return -1; -+} -+ -diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c -new file mode 100644 -index 000000000..5c5831cdf ---- /dev/null -+++ b/libgloss/libsysbase/fchmod.c -@@ -0,0 +1,31 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#include -+ -+int fchmod(int fd, mode_t mode) { -+ int ret = -1, dev; -+ struct _reent *r = _REENT; -+ -+ if(fd!=-1) { -+ -+ __handle *handle = __get_handle(fd); -+ -+ if ( handle != NULL) { -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->fchmod_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fchmod_r(r,handle->fileStruct,mode); -+ } else -+ r->_errno=ENOSYS; -+ } -+ } -+ return ret; -+} -diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c -new file mode 100644 -index 000000000..c6b8c92ad ---- /dev/null -+++ b/libgloss/libsysbase/flock.c -@@ -0,0 +1,21 @@ -+#include -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#ifndef REENTRANT_SYSCALLS_PROVIDED -+#include -+#endif -+#include -+#include -+ -+void __flockfile(FILE *fp) -+{ -+ __lock_acquire_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); -+} -+ -+void __funlockfile(FILE *fp) -+{ -+ __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); -+} -diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c -new file mode 100644 -index 000000000..a0ce1abf4 ---- /dev/null -+++ b/libgloss/libsysbase/fork.c -@@ -0,0 +1,21 @@ -+/* -+ * Stub version of fork. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _fork_r( struct _reent * r) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _fork, (void) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ r->_errno = ENOSYS; -+ return -1; -+} -diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c -new file mode 100644 -index 000000000..788a303dc ---- /dev/null -+++ b/libgloss/libsysbase/fstat.c -@@ -0,0 +1,39 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _fstat_r( struct _reent * r, int fileDesc, struct stat *st) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _fstat(int fileDesc, struct stat *st) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->fstat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fstat_r(r,handle->fileStruct,st); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} -diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c -new file mode 100644 -index 000000000..eaabef98e ---- /dev/null -+++ b/libgloss/libsysbase/fsync.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+int fsync( int fileDesc ) { -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ struct _reent *r = _REENT; -+ -+ __handle * handle; -+ -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) { -+ errno = EINVAL; -+ return ret; -+ } -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->fsync_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fsync_r(r, handle->fileStruct); -+ } else -+ r->_errno=ENOSYS; -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c -new file mode 100644 -index 000000000..3f1d92044 ---- /dev/null -+++ b/libgloss/libsysbase/ftruncate.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+int ftruncate( int fileDesc, off_t len) { -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ struct _reent *r = _REENT; -+ -+ __handle * handle; -+ -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) { -+ r->_errno = EINVAL; -+ return ret; -+ } -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->ftruncate_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); -+ } else -+ r->_errno=ENOSYS; -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c -new file mode 100644 -index 000000000..ec3b84037 ---- /dev/null -+++ b/libgloss/libsysbase/getpid.c -@@ -0,0 +1,19 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _getpid_r( struct _reent *ptr) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _getpid(void) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ ptr->_errno = ENOSYS; -+ return -1; -+} -+ -diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c -new file mode 100644 -index 000000000..ee8947f51 ---- /dev/null -+++ b/libgloss/libsysbase/gettod.c -@@ -0,0 +1,26 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _gettimeofday_r( struct _reent *ptr, struct timeval *ptimeval, void *ptimezone) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _gettimeofday(struct timeval *ptimeval, void *ptimezone) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ -+ if ( __has_syscall(gettod_r) ) return __syscall_gettod_r(ptr, ptimeval, ptimezone); -+ -+ ptr->_errno = ENOSYS; -+ return -1; -+ -+} -+ -diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c -new file mode 100644 -index 000000000..f3fcc88f7 ---- /dev/null -+++ b/libgloss/libsysbase/handle_manager.c -@@ -0,0 +1,173 @@ -+#include -+#include -+#include -+ -+#include -+ -+#define MAX_HANDLES 1024 -+ -+static __handle __stdin_handle = {0, 1, NULL}; -+static __handle __stdout_handle = {1, 1, NULL}; -+static __handle __stderr_handle = {2, 1, NULL}; -+ -+static __handle* handles[MAX_HANDLES] = { -+ &__stdin_handle, -+ &__stdout_handle, -+ &__stderr_handle -+}; -+ -+__LOCK_INIT(static, __hndl_lock); -+ -+void __free_handle(__handle *handle) { -+ -+ if ( NULL != handle -+ && handle != &__stdin_handle -+ && handle != &__stdout_handle -+ && handle != &__stderr_handle ) { -+ -+ free(handle); -+ -+ } -+ -+} -+ -+void __release_handle(int fd) { -+ -+ if ( fd <0 || fd >= MAX_HANDLES ) return; -+ -+ __lock_acquire (__hndl_lock); -+ -+ __free_handle(handles[fd]); -+ handles[fd] = NULL; -+ -+ __lock_release (__hndl_lock); -+ -+} -+ -+int __alloc_handle(int device) { -+ -+ int i, ret = -1; -+ -+ __lock_acquire (__hndl_lock); -+ -+ for ( i = 0; i < MAX_HANDLES; i++ ) { -+ if ( handles[i] == NULL ) break; -+ } -+ -+ size_t size = sizeof(__handle) + devoptab_list[device]->structSize; -+ -+ if ( i < MAX_HANDLES ) { -+ handles[i] = malloc(size); -+ __handle *handle = handles[i]; -+ if ( NULL != handles[i] ) { -+ -+ handles[i]->refcount = 1; -+ ret = i; -+ handles[i]->device = device; -+ handles[i]->fileStruct = (void *)&handle[1]; -+ -+ } else { -+ -+ errno = ENOMEM; -+ -+ } -+ } else { -+ -+ errno = ENFILE; -+ -+ } -+ -+ __lock_release (__hndl_lock); -+ -+ return ret; -+} -+ -+__handle *__get_handle(int fd) { -+ -+ if ( fd < 0 || fd >= MAX_HANDLES ) return NULL; -+ -+ return handles[fd]; -+ -+} -+ -+int dup(int oldfd) { -+ int i, ret =-1; -+ -+ __lock_acquire (__hndl_lock); -+ -+ if (handles[oldfd]==NULL) { -+ __lock_release (__hndl_lock); -+ errno = EBADF; -+ return -1; -+ } -+ -+ -+ for ( i = 0; i < MAX_HANDLES; i++ ) { -+ if ( handles[i] == NULL ) break; -+ } -+ -+ if (irefcount++; -+ ret = i; -+ } -+ __lock_release (__hndl_lock); -+ -+ return ret; -+ -+} -+ -+int dup2(int oldfd, int newfd) { -+ -+ -+ __lock_acquire (__hndl_lock); -+ -+ if ( newfd < 0 || newfd >= MAX_HANDLES || -+ -+ oldfd < 0 || oldfd >= MAX_HANDLES || -+ handles[oldfd] == NULL ) { -+ -+ __lock_release (__hndl_lock); -+ errno = EBADF; -+ -+ return -1; -+ } -+ -+ if ( newfd == oldfd ) { -+ __lock_release (__hndl_lock); -+ return newfd; -+ } -+ -+ -+ __handle *handle = handles[newfd]; -+ -+ if ( NULL != handle ) { -+ -+ handle->refcount--; -+ -+ } -+ -+ handles[newfd] = handles[oldfd]; -+ handles[newfd]->refcount++; -+ -+ __lock_release (__hndl_lock); -+ -+ if ( NULL != handle ) { -+ -+ if (handle->refcount == 0 ) { -+ -+ if( devoptab_list[handle->device]->close_r != NULL) { -+ -+ devoptab_list[handle->device]->close_r(_REENT,handle->fileStruct); -+ -+ } else { -+ -+ __free_handle(handle); -+ -+ } -+ } -+ } -+ -+ return newfd; -+ -+} -diff --git a/libgloss/libsysbase/handle_manager.h b/libgloss/libsysbase/handle_manager.h -new file mode 100644 -index 000000000..625cb22d9 ---- /dev/null -+++ b/libgloss/libsysbase/handle_manager.h -@@ -0,0 +1,10 @@ -+#ifndef __HANDLE_MANAGER_H__ -+#define __HANDLE_MANAGER_H__ -+ -+#include -+ -+void __release_handle(int fd); -+int __alloc_handle(int size); -+__handle *__get_handle(int fd); -+ -+#endif -diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c -new file mode 100644 -index 000000000..948c6ef93 ---- /dev/null -+++ b/libgloss/libsysbase/iosupport.c -@@ -0,0 +1,140 @@ -+#include -+#include -+#include -+#include -+ -+static int defaultDevice = -1; -+ -+//--------------------------------------------------------------------------------- -+void setDefaultDevice( int device ) { -+//--------------------------------------------------------------------------------- -+ -+ if ( device >2 && device <= STD_MAX) -+ defaultDevice = device; -+} -+ -+//--------------------------------------------------------------------------------- -+static ssize_t null_write(struct _reent *r,void *fd,const char *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ return len; -+} -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t dotab_stdnull = { -+//--------------------------------------------------------------------------------- -+ "stdnull", // device name -+ 0, // size of file structure -+ NULL, // device open -+ NULL, // device close -+ null_write, // device write -+ NULL, // device read -+ NULL, // device seek -+ NULL, // device fstat -+ NULL, // device stat -+ NULL, // device link -+ NULL, // device unlink -+ NULL, // device chdir -+ NULL, // device rename -+ NULL, // device mkdir -+ 0, // dirStateSize -+ NULL, // device diropen_r -+ NULL, // device dirreset_r -+ NULL, // device dirnext_r -+ NULL, // device dirclose_r -+ NULL, // device statvfs_r -+ NULL, // device ftruncate_r -+ NULL, // device fsync_r -+ NULL, // deviceData -+ NULL, // chmod_r -+ NULL, // fchmod_r -+ NULL, // rmdir_r -+ NULL, // lstat_r -+ NULL, // utimes_r -+}; -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t *devoptab_list[STD_MAX] = { -+//--------------------------------------------------------------------------------- -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull -+}; -+ -+//--------------------------------------------------------------------------------- -+int FindDevice(const char* name) { -+//--------------------------------------------------------------------------------- -+ int i = 0, namelen, dev_namelen, dev = -1; -+ char *separator; -+ -+ separator = strchr(name, ':'); -+ -+ if (separator == NULL) return defaultDevice; -+ -+ dev_namelen = separator - name; -+ -+ while(iname); -+ if(dev_namelen == namelen && strncmp(devoptab_list[i]->name,name,namelen)==0 ) { -+ if ( name[namelen] == ':' || (isdigit(name[namelen]) && name[namelen+1] ==':' )) { -+ dev = i; -+ break; -+ } -+ } -+ } -+ i++; -+ } -+ -+ return dev; -+} -+ -+//--------------------------------------------------------------------------------- -+int RemoveDevice( const char* name) { -+//--------------------------------------------------------------------------------- -+ int dev = FindDevice(name); -+ -+ if ( -1 != dev ) { -+ devoptab_list[dev] = &dotab_stdnull; -+ return 0; -+ } -+ -+ return -1; -+ -+} -+ -+//--------------------------------------------------------------------------------- -+int AddDevice( const devoptab_t* device) { -+//--------------------------------------------------------------------------------- -+ -+ int devnum; -+ -+ for ( devnum = 3;devnum name, device->name) && -+ strlen(devoptab_list[devnum]->name) == strlen(device->name) ) || -+ !strcmp(devoptab_list[devnum]->name, "stdnull") -+ ) -+ break; -+ } -+ -+ if ( devnum == STD_MAX ) { -+ devnum = -1; -+ } else { -+ devoptab_list[devnum] = device; -+ } -+ return devnum; -+} -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t* GetDeviceOpTab (const char *name) { -+//--------------------------------------------------------------------------------- -+ int dev = FindDevice(name); -+ if (dev >= 0 && dev < STD_MAX) { -+ return devoptab_list[dev]; -+ } else { -+ return NULL; -+ } -+} -+ -+ -diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c -new file mode 100644 -index 000000000..280a4579a ---- /dev/null -+++ b/libgloss/libsysbase/isatty.c -@@ -0,0 +1,17 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _isatty_r( struct _reent *ptr, int file) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _isatty(int file) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ return 0; -+} -diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c -new file mode 100644 -index 000000000..d13a32155 ---- /dev/null -+++ b/libgloss/libsysbase/kill.c -@@ -0,0 +1,18 @@ -+/* -+ * Stub version of kill. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _kill_r( struct _reent *ptr, int pid, int sig) { -+#else -+int _kill(int pid, int sig) { -+ struct _reent *ptr = _REENT; -+#endif -+ ptr->_errno = ENOSYS; -+ return -1; -+} -diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c -new file mode 100644 -index 000000000..eeeab1a7b ---- /dev/null -+++ b/libgloss/libsysbase/link.c -@@ -0,0 +1,33 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _link_r( struct _reent *r, const char *existing, const char *new) { -+#else -+int _link( const char *existing, const char *new) { -+ struct _reent *r = _REENT; -+#endif -+ int ret; -+ int sourceDev = FindDevice(existing); -+ int destDev = FindDevice(new); -+ -+ ret = -1; -+ -+ if ( sourceDev == destDev) { -+ if (devoptab_list[destDev]->link_r) { -+ r->deviceData = devoptab_list[destDev]->deviceData; -+ ret = devoptab_list[destDev]->link_r( r, existing, new); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = EXDEV; -+ } -+ -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c -new file mode 100644 -index 000000000..eb232c86b ---- /dev/null -+++ b/libgloss/libsysbase/lseek.c -@@ -0,0 +1,45 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#include -+ -+#include -+ -+//--------------------------------------------------------------------------------- -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+_off_t _lseek_r(struct _reent * r, int fileDesc, _off_t pos, int dir) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_off_t _lseek(int fileDesc, _off_t pos, int dir) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+//--------------------------------------------------------------------------------- -+#endif -+//--------------------------------------------------------------------------------- -+ _off_t ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle; -+ -+ if(fileDesc!=-1) { -+ -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->seek_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->seek_r( r, handle->fileStruct, pos, dir); -+ } else -+ r->_errno=ENOSYS; -+ -+ } -+ return ret; -+ -+} -diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c -new file mode 100644 -index 000000000..fc393430b ---- /dev/null -+++ b/libgloss/libsysbase/lstat.c -@@ -0,0 +1,31 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+ -+//--------------------------------------------------------------------------------- -+int lstat (const char *__restrict __path, struct stat *__restrict __buf ) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+ int dev,ret; -+ -+ dev = FindDevice(__path); -+ -+ if(dev!=-1) { -+ if (devoptab_list[dev]->lstat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->lstat_r(r,__path,__buf); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ ret = -1; -+ r->_errno = ENODEV; -+ } -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c -new file mode 100644 -index 000000000..456590956 ---- /dev/null -+++ b/libgloss/libsysbase/malloc_vars.c -@@ -0,0 +1,2 @@ -+char *fake_heap_end = (char*)0; -+char *fake_heap_start = (char*)0; -diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c -new file mode 100644 -index 000000000..b4fcbd3d7 ---- /dev/null -+++ b/libgloss/libsysbase/mkdir.c -@@ -0,0 +1,19 @@ -+#include -+#include -+#include -+ -+int mkdir (const char *path, mode_t mode) { -+ struct _reent *r = _REENT; -+ int ret; -+ int dev = FindDevice(path); -+ ret = -1; -+ -+ if (devoptab_list[dev]->mkdir_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->mkdir_r(r, path, mode); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c -new file mode 100644 -index 000000000..a233b9df6 ---- /dev/null -+++ b/libgloss/libsysbase/nanosleep.c -@@ -0,0 +1,14 @@ -+#include -+#include -+#include -+ -+int nanosleep(const struct timespec *req, struct timespec *rem) -+{ -+ if ( __has_syscall(nanosleep) ) { -+ return __syscall_nanosleep(req, rem); -+ } else { -+ *rem = *req; -+ errno = ENOSYS; -+ return -1; -+ } -+} -diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c -new file mode 100644 -index 000000000..877f907e1 ---- /dev/null -+++ b/libgloss/libsysbase/open.c -@@ -0,0 +1,53 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _open_r( struct _reent * r, const char *file, int flags, int mode) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _open( const char *file, int flags, int mode) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ __handle *handle; -+ int dev, fd, ret; -+ -+ dev = FindDevice(file); -+ -+ fd = -1; -+ if(dev!=-1) { -+ if (devoptab_list[dev]->open_r) { -+ fd = __alloc_handle(dev); -+ -+ if ( -1 != fd ) { -+ handle = __get_handle(fd); -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, flags, mode); -+ -+ if ( ret == -1 ) { -+ __release_handle(fd); -+ fd = -1; -+ } -+ } else { -+ r->_errno = ENOSR; -+ } -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return fd; -+} -diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c -new file mode 100644 -index 000000000..ac80d5698 ---- /dev/null -+++ b/libgloss/libsysbase/read.c -@@ -0,0 +1,39 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+_ssize_t _read_r( struct _reent * r, int fileDesc, void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_ssize_t _read(int fileDesc, char *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->read_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->read_r(r,handle->fileStruct,ptr,len); -+ } else -+ r->_errno=ENOSYS; -+ } -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c -new file mode 100644 -index 000000000..1d7b7e8e7 ---- /dev/null -+++ b/libgloss/libsysbase/rename.c -@@ -0,0 +1,32 @@ -+#include "config.h" -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _rename_r( struct _reent *ptr, const char *existing, const char *newName) { -+#else -+int rename( const char *existing, const char *newName) { -+ struct _reent *ptr = _REENT; -+#endif -+ struct _reent *r = _REENT; -+ -+ int ret; -+ int sourceDev = FindDevice(existing); -+ int destDev = FindDevice(newName); -+ -+ ret = -1; -+ -+ if ( sourceDev == destDev) { -+ if (devoptab_list[destDev]->rename_r) { -+ r->deviceData = devoptab_list[destDev]->deviceData; -+ ret = devoptab_list[destDev]->rename_r( r, existing, newName); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = EXDEV; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c -new file mode 100644 -index 000000000..b8640b87d ---- /dev/null -+++ b/libgloss/libsysbase/rmdir.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+int _rmdir_r (struct _reent *ptr, const char *name) { -+ int dev,ret=-1; -+ -+ dev = FindDevice(name); -+ if(dev!=-1) { -+ if(devoptab_list[dev]->rmdir_r) { -+ ptr->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->rmdir_r(ptr,name); -+ } else { -+ ptr->_errno = ENOSYS; -+ } -+ } else { -+ ptr->_errno = ENODEV; -+ } -+ -+ return ret; -+} -+ -+#ifndef _REENT_ONLY -+ -+int -+rmdir (const char *filename) -+{ -+ return _rmdir_r (_REENT, filename); -+} -+ -+#endif -diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c -new file mode 100644 -index 000000000..83d922d85 ---- /dev/null -+++ b/libgloss/libsysbase/sbrk.c -@@ -0,0 +1,26 @@ -+#include "config.h" -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+void * _sbrk_r (struct _reent *ptr, ptrdiff_t incr) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+caddr_t _sbrk (int incr) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ -+ -+ if ( __has_syscall(sbrk_r) ) { -+ return __syscall_sbrk_r(ptr, incr); -+ } else { -+ -+ ptr->_errno = ENOMEM; -+ return (caddr_t) -1; -+ -+ } -+ -+} -\ No newline at end of file -diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c -new file mode 100644 -index 000000000..bc18c1781 ---- /dev/null -+++ b/libgloss/libsysbase/scandir.c -@@ -0,0 +1,75 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* -+ * The DIRSIZ macro gives the minimum record length which will hold -+ * the directory entry. This requires the amount of space in struct dirent -+ * without the d_name field, plus enough space for the name with a terminating -+ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. -+ */ -+#undef DIRSIZ -+#ifdef _DIRENT_HAVE_D_NAMLEN -+#define DIRSIZ(dp) \ -+ (offsetof (struct dirent, d_name) + (((dp)->d_namlen+1 + 3) &~ 3)) -+#else -+#define DIRSIZ(dp) \ -+ (offsetof (struct dirent, d_name) + ((strlen((dp)->d_name)+1 + 3) &~ 3)) -+#endif -+ -+int -+scandir (const char *dirname, -+ struct dirent ***namelist, -+ int (*filter) __P((const struct dirent *)), -+ int (*compar) __P((const struct dirent **, const struct dirent **))) -+{ -+ DIR *d = opendir(dirname); -+ -+ if (!d) return -1; -+ -+ struct dirent *de, **names = NULL, **tmp; -+ size_t cnt = 0, len = 0; -+ -+ while (de = readdir(d)) { -+ if (filter && ! filter(de)) continue; -+ if (cnt >= len) { -+ len = 2*len+1; -+ if (len > SIZE_MAX/sizeof(*names)) break; -+ tmp = realloc(names, len * sizeof(*names)); -+ if (!tmp) break; -+ names = tmp; -+ } -+ names[cnt] = malloc(DIRSIZ(de)); -+ if (!names[cnt]) break; -+ memcpy(names[cnt++], de, DIRSIZ(de)); -+ } -+ -+ closedir(d); -+ -+ if(errno) { -+ if (names) while(cnt-- > 0) free(names[cnt]); -+ free(names); -+ return -1; -+ } -+ -+ if (compar) qsort(names, cnt, sizeof(*names), (int (*)(const void *, const void *))compar); -+ -+ *namelist = names; -+ return cnt; -+} -+ -+/* -+ * Alphabetic order comparison routine for those who want it. -+ */ -+int -+alphasort (const struct dirent **d1, -+ const struct dirent **d2) -+{ -+ return(strcmp((*d1)->d_name, (*d2)->d_name)); -+} -+ -diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c -new file mode 100644 -index 000000000..f3aa97954 ---- /dev/null -+++ b/libgloss/libsysbase/sleep.c -@@ -0,0 +1,18 @@ -+/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ -+ -+/* Written 2000 by Werner Almesberger */ -+ -+#include -+#include -+#include -+ -+unsigned sleep(unsigned seconds) -+{ -+ struct timespec ts; -+ -+ ts.tv_sec = seconds; -+ ts.tv_nsec = 0; -+ if (!nanosleep(&ts,&ts)) return 0; -+ if (errno == EINTR) return ts.tv_sec; -+ return -1; -+} -diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c -new file mode 100644 -index 000000000..4c2e5414e ---- /dev/null -+++ b/libgloss/libsysbase/stat.c -@@ -0,0 +1,37 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _stat_r(struct _reent * r, const char *file, struct stat *st) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _stat( const char *file, struct stat *st) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int dev,ret; -+ -+ dev = FindDevice(file); -+ -+ if(dev!=-1) { -+ if (devoptab_list[dev]->stat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->stat_r(r,file,st); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ ret = -1; -+ r->_errno = ENODEV; -+ } -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c -new file mode 100644 -index 000000000..84e221340 ---- /dev/null -+++ b/libgloss/libsysbase/statvfs.c -@@ -0,0 +1,24 @@ -+#include -+#include -+#include -+ -+ -+int statvfs(const char *path, struct statvfs *buf) { -+ struct _reent *r = _REENT; -+ -+ int ret; -+ int device = FindDevice(path); -+ -+ ret = -1; -+ -+ if ( device != -1 && devoptab_list[device]->statvfs_r) { -+ -+ r->deviceData = devoptab_list[device]->deviceData; -+ ret = devoptab_list[device]->statvfs_r(r, path, buf ); -+ -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c -new file mode 100644 -index 000000000..39e75fd0b ---- /dev/null -+++ b/libgloss/libsysbase/syscall_support.c -@@ -0,0 +1,49 @@ -+#include -+ -+int __libc_lock_init(int *lock,int recursive) { -+ -+ if ( __has_syscall(lock_init) ) { -+ return __syscall_lock_init(lock, recursive); -+ } -+ -+ return 0; -+} -+ -+int __libc_lock_close( int *lock ) { -+ -+ if ( __has_syscall(lock_close)) { -+ return __syscall_lock_close(lock); -+ } -+ -+ return 0; -+} -+ -+int __libc_lock_release( int *lock ) { -+ -+ if ( __has_syscall(lock_release)) { -+ return __syscall_lock_release(lock); -+ } -+ -+ return 0; -+} -+ -+int __libc_lock_acquire( int *lock ) { -+ -+ if ( __has_syscall(lock_acquire)) { -+ return __syscall_lock_acquire(lock); -+ } -+ -+ return 0; -+} -+ -+void __malloc_lock( struct _reent *ptr ) { -+ if ( __has_syscall(malloc_lock) ){ -+ __syscall_malloc_lock(ptr); -+ } -+} -+ -+void __malloc_unlock( struct _reent *ptr ) { -+ if ( __has_syscall(malloc_unlock)) { -+ __syscall_malloc_unlock(ptr); -+ } -+} -diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c -new file mode 100644 -index 000000000..79484e7f4 ---- /dev/null -+++ b/libgloss/libsysbase/times.c -@@ -0,0 +1,17 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+clock_t _times_r(struct _reent *r, struct tms *ptms) { -+#else -+clock_t _times(struct tms *buf) { -+ -+ struct _reent *r = _REENT; -+#endif -+ r->_errno = ENOSYS; -+ return (clock_t)-1; -+} -+ -diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c -new file mode 100644 -index 000000000..7935c8200 ---- /dev/null -+++ b/libgloss/libsysbase/truncate.c -@@ -0,0 +1,55 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+int truncate( const char *file, off_t len) { -+ -+ __handle *handle; -+ int dev, fd, ret; -+ -+ struct _reent * r = _REENT; -+ -+ dev = FindDevice(file); -+ -+ if(dev!=-1 && devoptab_list[dev]->open_r && devoptab_list[dev]->close_r && -+ devoptab_list[dev]->ftruncate_r) -+ { -+ -+ fd = __alloc_handle(sizeof(__handle) + devoptab_list[dev]->structSize ); -+ -+ if ( -1 != fd ) { -+ handle = __get_handle(fd); -+ handle->device = dev; -+ handle->fileStruct = ((void *)handle) + sizeof(__handle); -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, O_WRONLY, 0); -+ -+ if ( ret < 0 ) { -+ __release_handle(fd); -+ return ret; -+ } -+ -+ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); -+ -+ if (ret >= 0) { -+ ret = devoptab_list[dev]->close_r(r, handle->fileStruct); -+ } else { -+ // Close it anyway, we don't want to leak memory -+ devoptab_list[dev]->close_r(r, handle->fileStruct); -+ } -+ } else { -+ r->_errno = ENOSR; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c -new file mode 100644 -index 000000000..55932bc25 ---- /dev/null -+++ b/libgloss/libsysbase/unlink.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _unlink_r( struct _reent * r, const char *name ) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _unlink(const char *name) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int dev,ret=-1; -+ -+ dev = FindDevice(name); -+ if(dev<0) { -+ r->_errno = ENODEV; -+ } else { -+ if (devoptab_list[dev]->unlink_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->unlink_r(r,name); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } -+ -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c -new file mode 100644 -index 000000000..b54714775 ---- /dev/null -+++ b/libgloss/libsysbase/usleep.c -@@ -0,0 +1,18 @@ -+/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ -+ -+/* Written 2000 by Werner Almesberger */ -+ -+#include -+#include -+#include -+ -+int usleep(useconds_t useconds) -+{ -+ struct timespec ts; -+ -+ ts.tv_sec = (long int)useconds / 1000000; -+ ts.tv_nsec = ((long int)useconds % 1000000) * 1000; -+ if (!nanosleep(&ts,&ts)) return 0; -+ if (errno == EINTR) return ts.tv_sec; -+ return -1; -+} -diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c -new file mode 100644 -index 000000000..f72bf9fc6 ---- /dev/null -+++ b/libgloss/libsysbase/utime.c -@@ -0,0 +1,45 @@ -+#include "config.h" -+ -+#include -+#include -+#include -+#include -+#include -+ -+int utimes(const char *filename, const struct timeval times[2]) -+{ -+ struct _reent *r = _REENT; -+ int dev,ret; -+ -+ dev = FindDevice(filename); -+ -+ if(dev!=-1) { -+ if (devoptab_list[dev]->utimes_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->utimes_r(r,filename,times); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ ret = -1; -+ r->_errno = ENODEV; -+ } -+ return ret; -+ -+ -+ -+} -+ -+ -+int utime(const char *filename, const struct utimbuf *times) -+{ -+ struct timeval t[2]; -+ if (times) { -+ t[0].tv_sec = times->actime; -+ t[0].tv_usec = 0; -+ t[1].tv_sec = times->modtime; -+ t[1].tv_usec = 0; -+ } -+ -+ return utimes(filename, t); -+} -diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c -new file mode 100644 -index 000000000..b65f9039c ---- /dev/null -+++ b/libgloss/libsysbase/wait.c -@@ -0,0 +1,23 @@ -+/* -+ * Stub version of wait. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+//--------------------------------------------------------------------------------- -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _wait_r( struct _reent *r, int *status) { -+#else -+//--------------------------------------------------------------------------------- -+int _wait( int *status) { -+ struct _reent *r = _REENT; -+#endif -+//--------------------------------------------------------------------------------- -+ r->_errno = ENOSYS; -+ return -1; -+} -+ -diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h -new file mode 100644 -index 000000000..2c2998250 ---- /dev/null -+++ b/libgloss/libsysbase/warning.h -@@ -0,0 +1,43 @@ -+#ifndef __WARNING_H__ -+#define __WARNING_H__ -+ -+#ifdef HAVE_GNU_LD -+# ifdef HAVE_ELF -+ -+/* We want the .gnu.warning.SYMBOL section to be unallocated. */ -+# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE -+# define __make_section_unallocated(section_string) \ -+ asm(".section " section_string "; .previous"); -+# elif defined (HAVE_ASM_POPSECTION_DIRECTIVE) -+# define __make_section_unallocated(section_string) \ -+ asm(".pushsection " section_string "; .popsection"); -+# else -+# define __make_section_unallocated(section_string) -+# endif -+ -+# ifdef HAVE_SECTION_ATTRIBUTES -+# define link_warning(symbol, msg) \ -+ __make_section_unallocated (".gnu.warning." #symbol) \ -+ static const char __evoke_link_warning_##symbol[] \ -+ __attribute__ ((section (".gnu.warning." #symbol))) = msg; -+# else -+# define link_warning(symbol, msg) -+# endif -+ -+#else /* !ELF */ -+ -+# define link_warning(symbol, msg) \ -+ asm(".stabs \"" msg "\",30,0,0,0\n" \ -+ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); -+# endif -+#else /* !GNULD */ -+/* We will never be heard; they will all die horribly. */ -+# define link_warning(symbol, msg) -+#endif -+ -+/* A canned warning for sysdeps/stub functions. */ -+#define stub_warning(name) \ -+ link_warning (name, \ -+ "warning: " #name " is not implemented and will always fail") -+ -+#endif /* __WARNING_H__ */ -diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c -new file mode 100644 -index 000000000..0e6aa41ab ---- /dev/null -+++ b/libgloss/libsysbase/write.c -@@ -0,0 +1,38 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+_ssize_t _write_r( struct _reent * r, int fileDesc, const void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+_ssize_t _write( int fileDesc, const char *ptr, int len) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->write_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->write_r(r,handle->fileStruct,ptr,len); -+ } else -+ r->_errno=ENOSYS; -+ } -+ return ret; -+} -diff --git a/libgloss/rs6000/Makefile.in b/libgloss/rs6000/Makefile.in -index 51714e59b..db8294105 100644 ---- a/libgloss/rs6000/Makefile.in -+++ b/libgloss/rs6000/Makefile.in -@@ -129,6 +129,9 @@ XIL_OBJS = open.o close.o lseek.o sbrk.o read.o write.o print.o - XIL_TEST = xil-test - XIL_INSTALL = install-xil - -+OGC_CRTMAIN = crtmain.o -+OGC_INSTALL = install-ogc -+ - # Host specific makefile fragment comes in here. - @host_makefile_frag@ - -@@ -143,7 +146,7 @@ all: \ - ${LINUX_CRT0} ${LINUX_BSP} \ - ${YELLOWKNIFE_CRT0} ${YELLOWKNIFE_BSP} \ - ${ADS_CRT0} ${ADS_BSP} \ -- ${MBX_CRT0} ${MBX_BSP} \ -+ ${MBX_CRT0} ${MBX_BSP} ${OGC_CRTMAIN} \ - ${XIL_CRT0} ${XIL_BSP} - - # -@@ -295,6 +298,8 @@ xil-test.srec: xil-test.x - - crt0.o: crt0.S - -+crtmain.o: crtmain.c -+ - simulator.o: simulator.S - sim-getrusage.o: sim-getrusage.S - sim-crt0.o: sim-crt0.S -@@ -352,7 +357,7 @@ distclean maintainer-clean realclean: clean - rm -f Makefile config.status *~ - - .PHONY: install info install-info clean-info --install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${XIL_INSTALL} -+install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${OGC_INSTALL} ${XIL_INSTALL} - - install-sim: - set -e; for x in ${SIM_CRT0} ${SIM_BSP} ${SIM_SCRIPTS}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done -@@ -382,6 +387,9 @@ install-xil: - set -e; for x in ${XIL_CRT0} ${XIL_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib/$$x; done - set -e; for x in ${XIL_SCRIPTS} ${XIL_SPECS}; do ${INSTALL_DATA} $(srcdir)/$$x $(DESTDIR)${tooldir}/lib/$$x; done - -+install-ogc: -+ set -e; for x in ${OGC_CRTMAIN}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done -+ - doc: - info: - install-info: -diff --git a/libgloss/rs6000/crtmain.c b/libgloss/rs6000/crtmain.c -new file mode 100644 -index 000000000..bd25d775d ---- /dev/null -+++ b/libgloss/rs6000/crtmain.c -@@ -0,0 +1,18 @@ -+#include -+ -+struct __argv { -+ int argvMagic; //!< argv magic number, set to 0x5f617267 ('_arg') if valid -+ char *commandLine; //!< base address of command line, set of null terminated strings -+ int length;//!< total length of command line -+ int argc; -+ char **argv; -+}; -+ -+extern struct __argv *__system_argv; -+void __init(); -+void SYS_PreMain(); -+ -+void __crtmain() { -+ SYS_PreMain(); -+ exit ( main(__system_argv->argc,__system_argv->argv) ); -+} -diff --git a/newlib/configure.host b/newlib/configure.host -index c429dde1c..350dbc8f0 100644 ---- a/newlib/configure.host -+++ b/newlib/configure.host -@@ -863,7 +863,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID - default_newlib_io_long_long="yes" - newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" - ;; -- powerpc*-*-eabi* | \ -+ powerpc*-*-eabi*) -+ default_newlib_io_c99_formats="yes" -+ default_newlib_io_long_long="yes" -+ newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" -+ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" -+ syscall_dir=syscalls -+ ;; - powerpc*-*-elf* | \ - powerpc*-*-linux* | \ - powerpc*-*-rtem* | \ -diff --git a/newlib/libc/ctype/jp2uc.c b/newlib/libc/ctype/jp2uc.c -index 5e30f09be..1ea357f92 100644 ---- a/newlib/libc/ctype/jp2uc.c -+++ b/newlib/libc/ctype/jp2uc.c -@@ -35,7 +35,7 @@ - #ifdef _MB_CAPABLE - /* Under Cygwin, the incoming wide character is already given in UTF due - to the requirements of the underlying OS. */ --#ifndef __CYGWIN__ -+#if !defined(__CYGWIN__) && !defined(__DEVKITA64__) - - #include <_ansi.h> - #include -diff --git a/newlib/libc/ctype/local.h b/newlib/libc/ctype/local.h -index 5c293c83d..75ccf89f5 100644 ---- a/newlib/libc/ctype/local.h -+++ b/newlib/libc/ctype/local.h -@@ -32,7 +32,7 @@ - * for towupper and towlower, the result must be back-transformed - into the respective locale encoding; currently NOT IMPLEMENTED - */ --#ifdef __CYGWIN__ -+#if defined(__CYGWIN__) || defined(__DEVKITA64__) - /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ - #define _jp2uc(c) (c) - #define _jp2uc_l(c, l) (c) -diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h -index 23d572cd3..65310c084 100644 ---- a/newlib/libc/include/reent.h -+++ b/newlib/libc/include/reent.h -@@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); - extern int _open_r (struct _reent *, const char *, int, int); - extern _ssize_t _read_r (struct _reent *, int, void *, size_t); - extern int _rename_r (struct _reent *, const char *, const char *); -+extern int _rmdir_r (struct _reent *r, const char *name); - extern void *_sbrk_r (struct _reent *, ptrdiff_t); - extern int _stat_r (struct _reent *, const char *, struct stat *); - extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); -diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c02c..adb8e1083 100644 ---- a/newlib/libc/include/sys/dirent.h -+++ b/newlib/libc/include/sys/dirent.h -@@ -4,10 +4,57 @@ - not support , we will get this file which uses #error to force - an error. */ - -+#ifndef _dirent_h_ -+#define _dirent_h_ -+ -+#include -+#include -+#include -+ -+#define _DIRENT_HAVE_D_TYPE -+ -+#define DT_UNKNOWN 0 -+#define DT_FIFO 1 -+#define DT_CHR 2 -+#define DT_DIR 4 -+#define DT_BLK 6 -+#define DT_REG 8 -+#define DT_LNK 10 -+#define DT_SOCK 12 -+#define DT_WHT 14 -+ - #ifdef __cplusplus - extern "C" { - #endif --#error " not supported" -+ -+ struct dirent { -+ ino_t d_ino; -+ unsigned char d_type; -+ char d_name[NAME_MAX+1]; -+ }; -+ -+ typedef struct { -+ long int position; -+ DIR_ITER* dirData; -+ struct dirent fileData; -+ } DIR; -+ -+ int closedir(DIR *dirp); -+ DIR *opendir(const char *dirname); -+ struct dirent *readdir(DIR *dirp); -+ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -+ void rewinddir(DIR *dirp); -+ void seekdir(DIR *dirp, long int loc); -+ long int telldir(DIR *dirp); -+ -+ int scandir(const char *dirp, struct dirent ***namelist, -+ int (*filter)(const struct dirent *), -+ int (*compar)(const struct dirent **, const struct dirent **)); -+ -+ int alphasort(const struct dirent **a, const struct dirent **b); -+ - #ifdef __cplusplus - } - #endif -+ -+#endif // _dirent_h_ -diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 45476ce4a..d76706321 100644 ---- a/newlib/libc/include/sys/features.h -+++ b/newlib/libc/include/sys/features.h -@@ -331,6 +331,9 @@ extern "C" { - # define __SSP_FORTIFY_LEVEL 0 - #endif - -+#define _POSIX_MONOTONIC_CLOCK 200112L -+#define _POSIX_TIMERS 1 -+ - /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ - - #ifdef __rtems__ -diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h -new file mode 100644 -index 000000000..9bec9e473 ---- /dev/null -+++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,117 @@ -+//--------------------------------------------------------------------------------- -+#ifndef __iosupp_h__ -+#define __iosupp_h__ -+//--------------------------------------------------------------------------------- -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+#include -+#include -+#include -+ -+enum { -+ STD_IN, -+ STD_OUT, -+ STD_ERR, -+ STD_MAX = 16 -+}; -+ -+ -+typedef struct { -+ unsigned int device; -+ unsigned int refcount; -+ void *fileStruct; -+} __handle; -+ -+/* Directory iterator for mantaining state between dir* calls */ -+typedef struct { -+ int device; -+ void *dirStruct; -+} DIR_ITER; -+ -+ -+typedef struct { -+ const char *name; -+ size_t structSize; -+ int (*open_r)(struct _reent *r, void *fileStruct, const char *path, int flags, int mode); -+ int (*close_r)(struct _reent *r, void *fd); -+ ssize_t (*write_r)(struct _reent *r, void *fd, const char *ptr, size_t len); -+ ssize_t (*read_r)(struct _reent *r, void *fd, char *ptr, size_t len); -+ off_t (*seek_r)(struct _reent *r, void *fd, off_t pos, int dir); -+ int (*fstat_r)(struct _reent *r, void *fd, struct stat *st); -+ int (*stat_r)(struct _reent *r, const char *file, struct stat *st); -+ int (*link_r)(struct _reent *r, const char *existing, const char *newLink); -+ int (*unlink_r)(struct _reent *r, const char *name); -+ int (*chdir_r)(struct _reent *r, const char *name); -+ int (*rename_r) (struct _reent *r, const char *oldName, const char *newName); -+ int (*mkdir_r) (struct _reent *r, const char *path, int mode); -+ -+ size_t dirStateSize; -+ -+ DIR_ITER* (*diropen_r)(struct _reent *r, DIR_ITER *dirState, const char *path); -+ int (*dirreset_r)(struct _reent *r, DIR_ITER *dirState); -+ int (*dirnext_r)(struct _reent *r, DIR_ITER *dirState, char *filename, struct stat *filestat); -+ int (*dirclose_r)(struct _reent *r, DIR_ITER *dirState); -+ int (*statvfs_r)(struct _reent *r, const char *path, struct statvfs *buf); -+ int (*ftruncate_r)(struct _reent *r, void *fd, off_t len); -+ int (*fsync_r)(struct _reent *r, void *fd); -+ -+ void *deviceData; -+ -+ int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); -+ int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); -+ int (*rmdir_r)(struct _reent *r, const char *name); -+ int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); -+ int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); -+ -+} devoptab_t; -+ -+extern const devoptab_t *devoptab_list[]; -+ -+#ifdef _BUILDING_LIBSYSBASE -+#define __SYSCALL(_name) __attribute__((weak)) __syscall_##_name -+#define __has_syscall(_name) (&__syscall_##_name) -+#else -+#define __SYSCALL(_name) __syscall_##_name -+#endif -+ -+void *__SYSCALL(sbrk_r) (struct _reent *ptr, ptrdiff_t incr); -+int __SYSCALL(lock_init) (int *lock,int recursive); -+ -+int __SYSCALL(lock_close) (int *lock); -+int __SYSCALL(lock_release) (int *lock); -+int __SYSCALL(lock_acquire) (int *lock); -+void __SYSCALL(malloc_lock) (struct _reent *ptr); -+void __SYSCALL(malloc_unlock) (struct _reent *ptr); -+ -+void __SYSCALL(exit)(int rc); -+ -+int __SYSCALL(gettod_r)(struct _reent *ptr, struct timeval *tp, struct timezone *tz); -+int __SYSCALL(clock_gettime)(clockid_t clock_id, struct timespec *tp); -+int __SYSCALL(clock_settime)(clockid_t clock_id, const struct timespec *tp); -+int __SYSCALL(clock_getres)(clockid_t clock_id, struct timespec *res); -+int __SYSCALL(nanosleep)(const struct timespec *req, struct timespec *rem); -+ -+#undef __SYSCALL -+ -+int AddDevice( const devoptab_t* device); -+int FindDevice(const char* name); -+int RemoveDevice(const char* name); -+void setDefaultDevice( int device ); -+const devoptab_t* GetDeviceOpTab (const char *name); -+ -+void __release_handle(int fd); -+int __alloc_handle(int device); -+__handle *__get_handle(int fd); -+ -+ -+#ifdef __cplusplus -+} -+#endif -+ -+//--------------------------------------------------------------------------------- -+#endif // __iosupp_h__ -+//--------------------------------------------------------------------------------- -diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index e4e36170e..5b8d06ed6 100644 ---- a/newlib/libc/include/sys/reent.h -+++ b/newlib/libc/include/sys/reent.h -@@ -421,6 +421,8 @@ struct _reent - __FILE *__sf; /* file descriptors */ - struct _misc_reent *_misc; /* strtok, multibyte states */ - char *_signal_buf; /* strsignal */ -+ -+ void *deviceData; - }; - - #ifdef _REENT_GLOBAL_STDIO_STREAMS -@@ -691,6 +693,7 @@ struct _reent - # ifndef _REENT_GLOBAL_STDIO_STREAMS - __FILE __sf[3]; /* first three file descriptors */ - # endif -+ void *deviceData; - }; - - #ifdef _REENT_GLOBAL_STDIO_STREAMS -diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index 6525272dd..d24673618 100644 ---- a/newlib/libc/include/sys/stat.h -+++ b/newlib/libc/include/sys/stat.h -@@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); - int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); - mode_t umask (mode_t __mask ); - --#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) - int lstat (const char *__restrict __path, struct stat *__restrict __buf ); -+ -+#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) - int mknod (const char *__path, mode_t __mode, dev_t __dev ); - #endif - -diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h -new file mode 100644 -index 000000000..380329d34 ---- /dev/null -+++ b/newlib/libc/include/sys/statvfs.h -@@ -0,0 +1,35 @@ -+#ifndef _SYS_STATVFS_H -+#define _SYS_STATVFS_H -+ -+ -+#define ST_RDONLY 0x0001 -+#define ST_NOSUID 0x0002 -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+ -+struct statvfs { -+ unsigned long f_bsize; -+ unsigned long f_frsize; -+ fsblkcnt_t f_blocks; -+ fsblkcnt_t f_bfree; -+ fsblkcnt_t f_bavail; -+ fsfilcnt_t f_files; -+ fsfilcnt_t f_ffree; -+ fsfilcnt_t f_favail; -+ unsigned long f_fsid; -+ unsigned long f_flag; -+ unsigned long f_namemax; -+}; -+ -+int statvfs(const char *path, struct statvfs *buf); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+ -+#endif // _SYS_STATVFS_H -\ No newline at end of file -diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h -index c872d2018..9ccdbc51a 100644 ---- a/newlib/libc/include/sys/syslimits.h -+++ b/newlib/libc/include/sys/syslimits.h -@@ -40,12 +40,12 @@ - #define LINK_MAX 32767 /* max file link count */ - #define MAX_CANON 255 /* max bytes in term canon input line */ - #define MAX_INPUT 255 /* max bytes in terminal input */ --#define NAME_MAX 255 /* max bytes in a file name */ -+#define NAME_MAX 767 /* max bytes in a file name */ - #define NGROUPS_MAX 16 /* max supplemental group id's */ - #ifndef OPEN_MAX - #define OPEN_MAX 64 /* max open files per process */ - #endif --#define PATH_MAX 1024 /* max bytes in pathname */ -+#define PATH_MAX 4096 /* max bytes in pathname */ - #define PIPE_BUF 512 /* max bytes for atomic pipe writes */ - #define IOV_MAX 1024 /* max elements in i/o vector */ - -diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h -index 5e937f103..635a7a6b8 100644 ---- a/newlib/libc/include/sys/utime.h -+++ b/newlib/libc/include/sys/utime.h -@@ -9,12 +9,19 @@ - extern "C" { - #endif - --struct utimbuf -+struct utimbuf - { - time_t actime; -- time_t modtime; -+ time_t modtime; - }; - -+/* Functions */ -+ -+int utime( -+ const char *path, -+ const struct utimbuf *times -+); -+ - #ifdef __cplusplus - }; - #endif -diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index 968642745..82f68c809 100644 ---- a/newlib/libc/locale/locale.c -+++ b/newlib/libc/locale/locale.c -@@ -166,15 +166,18 @@ No supporting OS subroutines are required. - #include "../ctype/ctype_.h" - #include "../stdlib/local.h" - -+ - #ifdef __CYGWIN__ /* Has to be kept available as exported symbol for - backward compatibility. Set it in setlocale, but - otherwise ignore it. Applications compiled after - 2010 don't use it anymore. */ -+ - int __EXPORT __mb_cur_max = 6; - #endif - - char *_PathLocale = NULL; - -+ - #ifdef _MB_CAPABLE - /* - * Category names for getenv() -@@ -194,7 +197,11 @@ static char *categories[_LC_LAST] = { - * Default locale per POSIX. Can be overridden on a per-target base. - */ - #ifndef DEFAULT_LOCALE --#define DEFAULT_LOCALE "C" -+#ifdef __DEFAULT_UTF8__ -+#define DEFAULT_LOCALE "C.UTF8" -+#else -+#define DEFAULT_LOCALE "C" -+#endif - #endif - - #ifdef _MB_CAPABLE -@@ -207,8 +214,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; - const struct __locale_t __C_locale = - { - { "C", "C", "C", "C", "C", "C", "C", }, -+#if defined ( __DEFAULT_UTF8__ ) -+ __utf8_wctomb, -+ __utf8_mbtowc, -+#else - __ascii_wctomb, - __ascii_mbtowc, -+#endif - 0, - DEFAULT_CTYPE_PTR, - { -@@ -219,9 +231,15 @@ const struct __locale_t __C_locale = - CHAR_MAX, CHAR_MAX - }, - #ifndef __HAVE_LOCALE_INFO__ -+#ifdef __DEFAULT_UTF8__ -+ "\6", -+ "UTF-8", -+ "UTF-8", -+#else - "\1", - "ASCII", - "ASCII", -+#endif - #else /* __HAVE_LOCALE_INFO__ */ - { - { NULL, NULL }, /* LC_ALL */ -@@ -240,10 +258,11 @@ const struct __locale_t __C_locale = - }; - #endif /* _MB_CAPABLE */ - -+ - struct __locale_t __global_locale = - { - { "C", "C", DEFAULT_LOCALE, "C", "C", "C", "C", }, --#ifdef __CYGWIN__ -+#if defined ( __CYGWIN__ ) || defined ( __DEFAULT_UTF8__ ) - __utf8_wctomb, - __utf8_mbtowc, - #else -@@ -260,9 +279,15 @@ struct __locale_t __global_locale = - CHAR_MAX, CHAR_MAX - }, - #ifndef __HAVE_LOCALE_INFO__ -+#ifdef __DEFAULT_UTF8__ -+ "\6", -+ "UTF-8", -+ "UTF-8", -+#else - "\1", - "ASCII", - "ASCII", -+#endif - #else /* __HAVE_LOCALE_INFO__ */ - { - { NULL, NULL }, /* LC_ALL */ -@@ -991,6 +1016,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) - - const char * - __locale_ctype_ptr (void) -+ - { - return __get_current_locale ()->ctype_ptr; - } -diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h -index a0c80843a..efabdcfc4 100644 ---- a/newlib/libc/locale/setlocale.h -+++ b/newlib/libc/locale/setlocale.h -@@ -217,11 +217,7 @@ __get_global_locale () - _ELIDABLE_INLINE struct __locale_t * - __get_locale_r (struct _reent *r) - { --#ifdef __HAVE_LOCALE_INFO__ - return r->_locale; --#else -- return __get_global_locale(); --#endif - } - - /* In POSIX terms the current locale is the locale used by all functions -@@ -231,11 +227,7 @@ __get_locale_r (struct _reent *r) - _ELIDABLE_INLINE struct __locale_t * - __get_current_locale (void) - { --#ifdef __HAVE_LOCALE_INFO__ - return _REENT->_locale ?: __get_global_locale (); --#else -- return __get_global_locale(); --#endif - } - - /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE -diff --git a/newlib/libc/machine/powerpc/Makefile.am b/newlib/libc/machine/powerpc/Makefile.am -index 577b7f9b3..ce3bb7b53 100644 ---- a/newlib/libc/machine/powerpc/Makefile.am -+++ b/newlib/libc/machine/powerpc/Makefile.am -@@ -8,7 +8,7 @@ noinst_LIBRARIES = lib.a - - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib - --lib_a_SOURCES = setjmp.S -+lib_a_SOURCES = setjmp.S access.c - lib_a_CCASFLAGS=$(AM_CCASFLAGS) - lib_a_CFLAGS=$(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -diff --git a/newlib/libc/machine/powerpc/Makefile.in b/newlib/libc/machine/powerpc/Makefile.in -index 46acda680..892a82288 100644 ---- a/newlib/libc/machine/powerpc/Makefile.in -+++ b/newlib/libc/machine/powerpc/Makefile.in -@@ -74,7 +74,7 @@ AM_V_at = $(am__v_at_@AM_V@) - am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) - am__v_at_0 = @ - lib_a_AR = $(AR) $(ARFLAGS) --am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) -+am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-access.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I.@am__isrc@ - depcomp = -@@ -218,7 +218,7 @@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) - AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib --lib_a_SOURCES = setjmp.S -+lib_a_SOURCES = setjmp.S access.c - lib_a_CCASFLAGS = $(AM_CCASFLAGS) - lib_a_CFLAGS = $(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -@@ -302,6 +302,12 @@ lib_a-setjmp.obj: setjmp.S - .c.obj: - $(AM_V_CC)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -+lib_a-access.o: access.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.o `test -f 'access.c' || echo '$(srcdir)/'`access.c -+ -+lib_a-access.obj: access.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-access.obj `if test -f 'access.c'; then $(CYGPATH_W) 'access.c'; else $(CYGPATH_W) '$(srcdir)/access.c'; fi` -+ - lib_a-vfprintf.o: vfprintf.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-vfprintf.o `test -f 'vfprintf.c' || echo '$(srcdir)/'`vfprintf.c - -diff --git a/newlib/libc/machine/powerpc/access.c b/newlib/libc/machine/powerpc/access.c -new file mode 100644 -index 000000000..980682ef3 ---- /dev/null -+++ b/newlib/libc/machine/powerpc/access.c -@@ -0,0 +1,33 @@ -+/* This is file ACCESS.C */ -+/* -+ * Copyright (C) 1993 DJ Delorie -+ * All rights reserved. -+ * -+ * Redistribution, modification, and use in source and binary forms is permitted -+ * provided that the above copyright notice and following paragraph are -+ * duplicated in all such forms. -+ * -+ * This file is distributed WITHOUT ANY WARRANTY; without even the implied -+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -+ */ -+ -+#include -+#include -+#include -+ -+int access(const char *fn, int flags) -+{ -+ struct stat s; -+ if (stat(fn, &s)) -+ return -1; -+ if (s.st_mode & S_IFDIR) -+ return 0; -+ if (flags & W_OK) -+ { -+ if (s.st_mode & S_IWRITE) -+ return 0; -+ return -1; -+ } -+ return 0; -+} -+ -diff --git a/newlib/libc/machine/powerpc/machine/_types.h b/newlib/libc/machine/powerpc/machine/_types.h -new file mode 100644 -index 000000000..a7d63da51 ---- /dev/null -+++ b/newlib/libc/machine/powerpc/machine/_types.h -@@ -0,0 +1,19 @@ -+#ifndef _MACHINE__TYPES_H -+#define _MACHINE__TYPES_H -+ -+#include -+ -+/* Use 64bit types */ -+typedef __int64_t _off_t; -+#define __machine_off_t_defined -+ -+typedef __int64_t _fpos_t; -+#define __machine_fpos_t_defined -+ -+typedef __uint32_t __ino_t; -+#define __machine_ino_t_defined -+ -+typedef __uint32_t __dev_t; -+#define __machine_dev_t_defined -+ -+#endif // _MACHINE__TYPES_H -diff --git a/newlib/libc/machine/powerpc/sys/lock.h b/newlib/libc/machine/powerpc/sys/lock.h -new file mode 100644 -index 000000000..d83fda504 ---- /dev/null -+++ b/newlib/libc/machine/powerpc/sys/lock.h -@@ -0,0 +1,51 @@ -+#ifndef __SYS_LOCK_H__ -+#define __SYS_LOCK_H__ -+ -+typedef int _LOCK_T; -+typedef int _LOCK_RECURSIVE_T; -+ -+#define __LOCK_INIT(CLASS,NAME) CLASS _LOCK_T NAME = 0 -+#define __LOCK_INIT_RECURSIVE(CLASS,NAME) CLASS _LOCK_RECURSIVE_T NAME = 0 -+ -+#define __lock_init(NAME) \ -+ __libc_lock_init(&(NAME),0) -+ -+#define __lock_init_recursive(NAME) \ -+ __libc_lock_init(&(NAME),1) -+ -+#define __lock_close(NAME) \ -+ __libc_lock_close(&(NAME)) -+ -+#define __lock_close_recursive(NAME) \ -+ __libc_lock_close(&(NAME)) -+ -+#define __lock_acquire(NAME) \ -+ if(!(NAME)) __libc_lock_init(&(NAME),0); \ -+ __libc_lock_acquire(&(NAME)) -+ -+#define __lock_acquire_recursive(NAME) \ -+ if(!(NAME)) __libc_lock_init(&(NAME),1); \ -+ __libc_lock_acquire(&(NAME)) -+ -+#define __lock_try_acquire(NAME) \ -+ if(!(NAME)) __libc_lock_init(&(NAME),0); \ -+ __libc_lock_try_acquire(&(NAME)) -+ -+#define __lock_try_acquire_recursive(NAME) \ -+ if(!(NAME)) __libc_lock_init(&(NAME),1); \ -+ __libc_lock_try_acquire(&(NAME)) -+ -+#define __lock_release(NAME) \ -+ __libc_lock_release(&(NAME)) -+ -+#define __lock_release_recursive(NAME) \ -+ __libc_lock_release(&(NAME)) -+ -+ -+extern int __libc_lock_init(int*,int); -+extern int __libc_lock_close(int*); -+extern int __libc_lock_acquire(int*); -+extern int __libc_lock_try_acquire(int*); -+extern int __libc_lock_release(int*); -+ -+#endif /* __SYS_LOCK_H__ */ -diff --git a/newlib/libc/machine/powerpc/sys/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h -new file mode 100644 -index 000000000..04ebd1ee0 ---- /dev/null -+++ b/newlib/libc/machine/powerpc/sys/stdio.h -@@ -0,0 +1,25 @@ -+#ifndef _NEWLIB_STDIO_H -+#define _NEWLIB_STDIO_H -+ -+/* Internal locking macros, used to protect stdio functions. In the -+ general case, expand to nothing. */ -+#if !defined(_flockfile) -+# if !defined(__SINGLE_THREAD__) -+# define _flockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __flockfile(fp); } -+ extern void __flockfile(FILE *fp); -+# else -+# define _flockfile(fp) -+# endif -+#endif /* __SINGLE_THREAD__ */ -+ -+#if !defined(_funlockfile) -+# if !defined(__SINGLE_THREAD__) -+# define _funlockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __funlockfile(fp); } -+ extern void __funlockfile(FILE *fp); -+# else -+# define _funlockfile(fp) -+# endif -+#endif /* __SINGLE_THREAD__ */ -+ -+#endif /* _NEWLIB_STDIO_H */ -+ -diff --git a/newlib/libc/misc/init.c b/newlib/libc/misc/init.c -index 95f1a7422..c797d2e64 100644 ---- a/newlib/libc/misc/init.c -+++ b/newlib/libc/misc/init.c -@@ -44,4 +44,8 @@ __libc_init_array (void) - for (i = 0; i < count; i++) - __init_array_start[i] (); - } -+#else -+ -+#error why am I not defined -+ - #endif -diff --git a/newlib/libc/stdio/Makefile.in b/newlib/libc/stdio/Makefile.in -index 6d18a4443..01402f4de 100644 ---- a/newlib/libc/stdio/Makefile.in -+++ b/newlib/libc/stdio/Makefile.in -@@ -527,6 +527,7 @@ GENERAL_SOURCES = \ - rename.c \ - rewind.c \ - rget.c \ -+ rmdir.c \ - scanf.c \ - sccl.c \ - setbuf.c \ -@@ -1196,6 +1197,12 @@ lib_a-rget.o: rget.c - lib_a-rget.obj: rget.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rget.obj `if test -f 'rget.c'; then $(CYGPATH_W) 'rget.c'; else $(CYGPATH_W) '$(srcdir)/rget.c'; fi` - -+lib_a-rmdir.o: rmdir.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rmdir.o `test -f 'rmdir.c' || echo '$(srcdir)/'`rmdir.c -+ -+lib_a-rmdir.obj: rmdir.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rmdir.obj `if test -f 'rmdir.c'; then $(CYGPATH_W) 'rmdir.c'; else $(CYGPATH_W) '$(srcdir)/rmdir.c'; fi` -+ - lib_a-scanf.o: scanf.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-scanf.o `test -f 'scanf.c' || echo '$(srcdir)/'`scanf.c - -diff --git a/newlib/libc/stdio/fopen.c b/newlib/libc/stdio/fopen.c -index 1ac551fed..d293b7b0e 100644 ---- a/newlib/libc/stdio/fopen.c -+++ b/newlib/libc/stdio/fopen.c -@@ -139,6 +139,9 @@ _fopen_r (struct _reent *ptr, - - _newlib_flockfile_start (fp); - -+ flags &= ~(__SLBF | __SNBF | __SMBF); -+ flags |= __SNBF; -+ - fp->_file = f; - fp->_flags = flags; - fp->_cookie = (void *) fp; -diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index df8321461..eee4181cd 100644 ---- a/newlib/libc/stdio/fread.c -+++ b/newlib/libc/stdio/fread.c -@@ -187,7 +187,6 @@ _fread_r (struct _reent * ptr, - int rc = 0; - /* save fp buffering state */ - void *old_base = fp->_bf._base; -- void * old_p = fp->_p; - int old_size = fp->_bf._size; - /* allow __refill to use user's buffer */ - fp->_bf._base = (unsigned char *) p; -@@ -197,7 +196,7 @@ _fread_r (struct _reent * ptr, - /* restore fp buffering back to original state */ - fp->_bf._base = old_base; - fp->_bf._size = old_size; -- fp->_p = old_p; -+ fp->_p = old_base; - resid -= fp->_r; - p += fp->_r; - fp->_r = 0; -@@ -225,7 +224,29 @@ _fread_r (struct _reent * ptr, - /* fp->_r = 0 ... done in __srefill */ - p += r; - resid -= r; -- if (__srefill_r (ptr, fp)) -+ int rc = 0; -+ -+ if (resid>fp->_bf._size) -+ { -+ /* save fp buffering state */ -+ void *old_base = fp->_bf._base; -+ int old_size = fp->_bf._size; -+ /* allow __refill to use user's buffer */ -+ fp->_bf._base = (unsigned char *) p; -+ fp->_bf._size = resid - old_size; -+ fp->_p = (unsigned char *) p; -+ rc = __srefill_r (ptr, fp); -+ /* restore fp buffering back to original state */ -+ fp->_bf._base = old_base; -+ fp->_bf._size = old_size; -+ fp->_p = old_base; -+ resid -= fp->_r; -+ p += fp->_r; -+ //fp->_r = 0; -+ } -+ rc = __srefill_r (ptr, fp); -+ -+ if (rc) - { - /* no more input: return partial result */ - #ifdef __SCLE -diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c -index d8dfdbd82..a85b5a99b 100644 ---- a/newlib/libc/stdio/remove.c -+++ b/newlib/libc/stdio/remove.c -@@ -57,13 +57,17 @@ Supporting OS subroutine required: <>. - #include <_ansi.h> - #include - #include -+#include - - int - _remove_r (struct _reent *ptr, - const char *filename) - { -- if (_unlink_r (ptr, filename) == -1) -- return -1; -+ if (_unlink_r (ptr, filename) == -1) { -+ errno = 0; -+ if (_rmdir_r(ptr, filename) == -1) -+ return -1; -+ } - - return 0; - } -diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c -index 920a7ea3c..ba5ee7652 100644 ---- a/newlib/libc/stdlib/mbtowc_r.c -+++ b/newlib/libc/stdlib/mbtowc_r.c -@@ -7,6 +7,7 @@ - #include - #include "local.h" - -+ - int - _mbtowc_r (struct _reent *r, - wchar_t *__restrict pwc, -diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c -index 23aa10173..6016aa3ee 100644 ---- a/newlib/libc/stdlib/mlock.c -+++ b/newlib/libc/stdlib/mlock.c -@@ -28,7 +28,7 @@ the sequence of calls may go <<__malloc_lock>>, <<__malloc_lock>>, - routines must be careful to avoid causing a thread to wait for a lock - that it already holds. - */ -- -+#if 0 - #include - #include - -@@ -53,5 +53,5 @@ __malloc_unlock (ptr) - __lock_release_recursive (__malloc_recursive_mutex); - #endif - } -- -+#endif - #endif diff --git a/dkppc/patches/newlib-4.3.0.20230120.patch b/dkppc/patches/newlib-4.3.0.20230120.patch new file mode 100644 index 0000000..d5dfd02 --- /dev/null +++ b/dkppc/patches/newlib-4.3.0.20230120.patch @@ -0,0 +1,10228 @@ +diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am +index 4309cd3a4..fad31dbe0 100644 +--- a/libgloss/Makefile.am ++++ b/libgloss/Makefile.am +@@ -87,6 +87,9 @@ endif + if CONFIG_LIBNOSYS + include libnosys/Makefile.inc + endif ++if CONFIG_LIBSYSBASE ++include libsysbase/Makefile.inc ++endif + if CONFIG_LM32 + include lm32/Makefile.inc + endif +diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in +index a117577ea..2a1a2ff6f 100644 +--- a/libgloss/Makefile.in ++++ b/libgloss/Makefile.in +@@ -173,23 +173,25 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) + @CONFIG_IQ2000_TRUE@am__append_26 = iq2000/test + @CONFIG_LIBNOSYS_TRUE@am__append_27 = libnosys/nosys.specs + @CONFIG_LIBNOSYS_TRUE@am__append_28 = libnosys/libnosys.a +-@CONFIG_LM32_TRUE@am__append_29 = lm32/crt0.o lm32/sim.ld +-@CONFIG_LM32_TRUE@am__append_30 = lm32/libgloss.a +-@CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.S +-@CONFIG_NIOS2_TRUE@am__append_32 = \ ++@CONFIG_LIBSYSBASE_TRUE@am__append_29 = libsysbase/sysbase.specs ++@CONFIG_LIBSYSBASE_TRUE@am__append_30 = libsysbase/libsysbase.a ++@CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.o lm32/sim.ld ++@CONFIG_LM32_TRUE@am__append_32 = lm32/libgloss.a ++@CONFIG_LM32_TRUE@am__append_33 = lm32/crt0.S ++@CONFIG_NIOS2_TRUE@am__append_34 = \ + @CONFIG_NIOS2_TRUE@ nios2/qemu-hosted.ld + +-@CONFIG_NIOS2_TRUE@am__append_33 = nios2/libnios2.a +-@CONFIG_RISCV_TRUE@am__append_34 = \ ++@CONFIG_NIOS2_TRUE@am__append_35 = nios2/libnios2.a ++@CONFIG_RISCV_TRUE@am__append_36 = \ + @CONFIG_RISCV_TRUE@ riscv/nano.specs \ + @CONFIG_RISCV_TRUE@ riscv/sim.specs \ + @CONFIG_RISCV_TRUE@ riscv/semihost.specs \ + @CONFIG_RISCV_TRUE@ riscv/crt0.o + +-@CONFIG_RISCV_TRUE@am__append_35 = riscv/libgloss.a \ ++@CONFIG_RISCV_TRUE@am__append_37 = riscv/libgloss.a \ + @CONFIG_RISCV_TRUE@ riscv/libsemihost.a +-@CONFIG_WINCE_TRUE@am__append_36 = $(gdbdir) +-@CONFIG_WINCE_TRUE@am__append_37 = wince/stub.exe ++@CONFIG_WINCE_TRUE@am__append_38 = $(gdbdir) ++@CONFIG_WINCE_TRUE@am__append_39 = wince/stub.exe + subdir = . + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ +@@ -199,6 +201,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ + $(top_srcdir)/aarch64/acinclude.m4 \ + $(top_srcdir)/arm/acinclude.m4 $(top_srcdir)/i386/acinclude.m4 \ + $(top_srcdir)/libnosys/acinclude.m4 \ ++ $(top_srcdir)/libsysbase/acinclude.m4 \ + $(top_srcdir)/m68k/acinclude.m4 \ + $(top_srcdir)/mcore/acinclude.m4 \ + $(top_srcdir)/mips/acinclude.m4 \ +@@ -421,6 +424,62 @@ libobjs_a_LIBADD = + am_libobjs_a_OBJECTS = $(am__objects_3) $(am__objects_4) \ + $(am__objects_5) $(am__objects_6) + libobjs_a_OBJECTS = $(am_libobjs_a_OBJECTS) ++libsysbase_libsysbase_a_AR = $(AR) $(ARFLAGS) ++libsysbase_libsysbase_a_LIBADD = ++@CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libsysbase_a_OBJECTS = libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-concatenate.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fpathconf.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-getpid.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-getreent.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-gettod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-handle_manager.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-iosupport.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-isatty.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-kill.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-link.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lseek.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-readlink.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-scandir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-symlink.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-unlink.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-usleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-utime.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-wait.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-write.$(OBJEXT) ++libsysbase_libsysbase_a_OBJECTS = \ ++ $(am_libsysbase_libsysbase_a_OBJECTS) + lm32_libgloss_a_AR = $(AR) $(ARFLAGS) + lm32_libgloss_a_LIBADD = + @CONFIG_LM32_TRUE@am_lm32_libgloss_a_OBJECTS = lm32/isatty.$(OBJEXT) \ +@@ -572,10 +631,10 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ + $(bfin_libbfinbsp_a_SOURCES) $(bfin_libsim_a_SOURCES) \ + $(csky_libsemi_a_SOURCES) $(d30v_libsim_a_SOURCES) \ + $(iq2000_libeval_a_SOURCES) $(libnosys_libnosys_a_SOURCES) \ +- $(libobjs_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ +- $(nios2_libnios2_a_SOURCES) $(riscv_libgloss_a_SOURCES) \ +- $(riscv_libsemihost_a_SOURCES) bfin/sim-test.c iq2000/test.c \ +- $(wince_stub_exe_SOURCES) ++ $(libobjs_a_SOURCES) $(libsysbase_libsysbase_a_SOURCES) \ ++ $(lm32_libgloss_a_SOURCES) $(nios2_libnios2_a_SOURCES) \ ++ $(riscv_libgloss_a_SOURCES) $(riscv_libsemihost_a_SOURCES) \ ++ bfin/sim-test.c iq2000/test.c $(wince_stub_exe_SOURCES) + AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) + am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) + am__v_DVIPS_0 = @echo " DVIPS " $@; +@@ -662,7 +721,7 @@ ETAGS = etags + CTAGS = ctags + CSCOPE = cscope + DIST_SUBDIRS = $(SUBDIRS) +-VPATH = @srcdir@ $(am__append_36) ++VPATH = @srcdir@ $(am__append_38) + AARCH64_OBJTYPE = @AARCH64_OBJTYPE@ + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ +@@ -772,6 +831,7 @@ pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -797,12 +857,13 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) + multilibtool_DATA = $(am__append_3) $(am__append_6) $(am__append_7) \ + $(am__append_8) $(am__append_13) $(am__append_15) \ + $(am__append_18) $(am__append_22) $(am__append_23) \ +- $(am__append_27) $(am__append_29) $(am__append_32) \ +- $(am__append_34) ++ $(am__append_27) $(am__append_29) $(am__append_31) \ ++ $(am__append_34) $(am__append_36) + multilibtool_LIBRARIES = $(am__append_2) $(am__append_5) \ + $(am__append_9) $(am__append_11) $(am__append_20) \ + $(am__append_21) $(am__append_24) $(am__append_28) \ +- $(am__append_30) $(am__append_33) $(am__append_35) ++ $(am__append_30) $(am__append_32) $(am__append_35) \ ++ $(am__append_37) + includetooldir = $(tooldir)/include + includetool_DATA = $(am__append_16) + includesystooldir = $(tooldir)/include/sys +@@ -813,7 +874,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include + # to install (e.g. our crt0.o objects). + noinst_LIBRARIES = libobjs.a + libobjs_a_SOURCES = $(am__append_14) $(am__append_19) $(am__append_25) \ +- $(am__append_31) ++ $(am__append_33) + FLAGS_TO_PASS = \ + "CC=$(CC)" \ + "CFLAGS=$(CFLAGS)" \ +@@ -992,6 +1053,61 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBNOSYS_TRUE@ libnosys/write.c \ + @CONFIG_LIBNOSYS_TRUE@ libnosys/_exit.c + ++@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE ++@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_SOURCES = \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/_exit.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/abort.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/build_argv.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chmod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/clocks.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/concatenate.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dirent.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fchmod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/flock.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fnmatch.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fpathconf.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fsync.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/ftruncate.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/getpid.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/getreent.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/gettod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/handle_manager.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/iosupport.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/isatty.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/kill.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/link.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/lseek.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/lstat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/malloc_vars.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/mkdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/nanosleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/readlink.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/realpath.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sbrk.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/scandir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/stat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/statvfs.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/symlink.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/syscall_support.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/times.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/truncate.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/unlink.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/usleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/utime.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/wait.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/write.c ++ + @CONFIG_LM32_TRUE@lm32_libgloss_a_SOURCES = \ + @CONFIG_LM32_TRUE@ lm32/isatty.c \ + @CONFIG_LM32_TRUE@ lm32/scall.S +@@ -1099,7 +1215,7 @@ all: config.h + .SUFFIXES: .S .c .dvi .o .obj .ps + am--refresh: Makefile + @: +-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ +@@ -1121,7 +1237,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; +-$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): ++$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): + + $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck +@@ -1585,6 +1701,173 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE + $(AM_V_at)-rm -f libobjs.a + $(AM_V_AR)$(libobjs_a_AR) libobjs.a $(libobjs_a_OBJECTS) $(libobjs_a_LIBADD) + $(AM_V_at)$(RANLIB) libobjs.a ++libsysbase/$(am__dirstamp): ++ @$(MKDIR_P) libsysbase ++ @: > libsysbase/$(am__dirstamp) ++libsysbase/$(DEPDIR)/$(am__dirstamp): ++ @$(MKDIR_P) libsysbase/$(DEPDIR) ++ @: > libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-concatenate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fpathconf.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-getpid.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-getreent.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-gettod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-handle_manager.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-iosupport.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-isatty.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-kill.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-link.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-lseek.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-readlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-scandir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-symlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-unlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-usleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-utime.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-wait.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-write.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++ ++libsysbase/libsysbase.a: $(libsysbase_libsysbase_a_OBJECTS) $(libsysbase_libsysbase_a_DEPENDENCIES) $(EXTRA_libsysbase_libsysbase_a_DEPENDENCIES) libsysbase/$(am__dirstamp) ++ $(AM_V_at)-rm -f libsysbase/libsysbase.a ++ $(AM_V_AR)$(libsysbase_libsysbase_a_AR) libsysbase/libsysbase.a $(libsysbase_libsysbase_a_OBJECTS) $(libsysbase_libsysbase_a_LIBADD) ++ $(AM_V_at)$(RANLIB) libsysbase/libsysbase.a + lm32/isatty.$(OBJEXT): lm32/$(am__dirstamp) \ + lm32/$(DEPDIR)/$(am__dirstamp) + lm32/scall.$(OBJEXT): lm32/$(am__dirstamp) \ +@@ -1852,6 +2135,7 @@ mostlyclean-compile: + -rm -f d30v/*.$(OBJEXT) + -rm -f iq2000/*.$(OBJEXT) + -rm -f libnosys/*.$(OBJEXT) ++ -rm -f libsysbase/*.$(OBJEXT) + -rm -f lm32/*.$(OBJEXT) + -rm -f nios2/*.$(OBJEXT) + -rm -f riscv/*.$(OBJEXT) +@@ -1973,6 +2257,58 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/unlink.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/wait.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/write.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/crt0.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/isatty.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/scall.Po@am__quote@ +@@ -2717,6 +3053,734 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csky_libsemi_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o csky/csky_libsemi_a-getpid.obj `if test -f 'csky/getpid.c'; then $(CYGPATH_W) 'csky/getpid.c'; else $(CYGPATH_W) '$(srcdir)/csky/getpid.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-_exit.o: libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-_exit.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo -c -o libsysbase/libsysbase_libsysbase_a-_exit.o `test -f 'libsysbase/_exit.c' || echo '$(srcdir)/'`libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/_exit.c' object='libsysbase/libsysbase_libsysbase_a-_exit.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-_exit.o `test -f 'libsysbase/_exit.c' || echo '$(srcdir)/'`libsysbase/_exit.c ++ ++libsysbase/libsysbase_libsysbase_a-_exit.obj: libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-_exit.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo -c -o libsysbase/libsysbase_libsysbase_a-_exit.obj `if test -f 'libsysbase/_exit.c'; then $(CYGPATH_W) 'libsysbase/_exit.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/_exit.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/_exit.c' object='libsysbase/libsysbase_libsysbase_a-_exit.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-_exit.obj `if test -f 'libsysbase/_exit.c'; then $(CYGPATH_W) 'libsysbase/_exit.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/_exit.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-abort.o: libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-abort.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo -c -o libsysbase/libsysbase_libsysbase_a-abort.o `test -f 'libsysbase/abort.c' || echo '$(srcdir)/'`libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/abort.c' object='libsysbase/libsysbase_libsysbase_a-abort.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.o `test -f 'libsysbase/abort.c' || echo '$(srcdir)/'`libsysbase/abort.c ++ ++libsysbase/libsysbase_libsysbase_a-abort.obj: libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-abort.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/abort.c' object='libsysbase/libsysbase_libsysbase_a-abort.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-build_argv.o: libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/build_argv.c' object='libsysbase/libsysbase_libsysbase_a-build_argv.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c ++ ++libsysbase/libsysbase_libsysbase_a-build_argv.obj: libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.obj `if test -f 'libsysbase/build_argv.c'; then $(CYGPATH_W) 'libsysbase/build_argv.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/build_argv.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/build_argv.c' object='libsysbase/libsysbase_libsysbase_a-build_argv.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-build_argv.obj `if test -f 'libsysbase/build_argv.c'; then $(CYGPATH_W) 'libsysbase/build_argv.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/build_argv.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-chdir.o: libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chdir.o `test -f 'libsysbase/chdir.c' || echo '$(srcdir)/'`libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chdir.c' object='libsysbase/libsysbase_libsysbase_a-chdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chdir.o `test -f 'libsysbase/chdir.c' || echo '$(srcdir)/'`libsysbase/chdir.c ++ ++libsysbase/libsysbase_libsysbase_a-chdir.obj: libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chdir.obj `if test -f 'libsysbase/chdir.c'; then $(CYGPATH_W) 'libsysbase/chdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chdir.c' object='libsysbase/libsysbase_libsysbase_a-chdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chdir.obj `if test -f 'libsysbase/chdir.c'; then $(CYGPATH_W) 'libsysbase/chdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chdir.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-chmod.o: libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chmod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chmod.o `test -f 'libsysbase/chmod.c' || echo '$(srcdir)/'`libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chmod.c' object='libsysbase/libsysbase_libsysbase_a-chmod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chmod.o `test -f 'libsysbase/chmod.c' || echo '$(srcdir)/'`libsysbase/chmod.c ++ ++libsysbase/libsysbase_libsysbase_a-chmod.obj: libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chmod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chmod.obj `if test -f 'libsysbase/chmod.c'; then $(CYGPATH_W) 'libsysbase/chmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chmod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chmod.c' object='libsysbase/libsysbase_libsysbase_a-chmod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chmod.obj `if test -f 'libsysbase/chmod.c'; then $(CYGPATH_W) 'libsysbase/chmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chmod.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-clocks.o: libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-clocks.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo -c -o libsysbase/libsysbase_libsysbase_a-clocks.o `test -f 'libsysbase/clocks.c' || echo '$(srcdir)/'`libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/clocks.c' object='libsysbase/libsysbase_libsysbase_a-clocks.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.o `test -f 'libsysbase/clocks.c' || echo '$(srcdir)/'`libsysbase/clocks.c ++ ++libsysbase/libsysbase_libsysbase_a-clocks.obj: libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-clocks.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/clocks.c' object='libsysbase/libsysbase_libsysbase_a-clocks.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-concatenate.o: libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-concatenate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-concatenate.o `test -f 'libsysbase/concatenate.c' || echo '$(srcdir)/'`libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/concatenate.c' object='libsysbase/libsysbase_libsysbase_a-concatenate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-concatenate.o `test -f 'libsysbase/concatenate.c' || echo '$(srcdir)/'`libsysbase/concatenate.c ++ ++libsysbase/libsysbase_libsysbase_a-concatenate.obj: libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-concatenate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-concatenate.obj `if test -f 'libsysbase/concatenate.c'; then $(CYGPATH_W) 'libsysbase/concatenate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/concatenate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/concatenate.c' object='libsysbase/libsysbase_libsysbase_a-concatenate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-concatenate.obj `if test -f 'libsysbase/concatenate.c'; then $(CYGPATH_W) 'libsysbase/concatenate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/concatenate.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-dirent.o: libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/dirent.c' object='libsysbase/libsysbase_libsysbase_a-dirent.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c ++ ++libsysbase/libsysbase_libsysbase_a-dirent.obj: libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.obj `if test -f 'libsysbase/dirent.c'; then $(CYGPATH_W) 'libsysbase/dirent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/dirent.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/dirent.c' object='libsysbase/libsysbase_libsysbase_a-dirent.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-dirent.obj `if test -f 'libsysbase/dirent.c'; then $(CYGPATH_W) 'libsysbase/dirent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/dirent.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-environ.o: libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-environ.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo -c -o libsysbase/libsysbase_libsysbase_a-environ.o `test -f 'libsysbase/environ.c' || echo '$(srcdir)/'`libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/environ.c' object='libsysbase/libsysbase_libsysbase_a-environ.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-environ.o `test -f 'libsysbase/environ.c' || echo '$(srcdir)/'`libsysbase/environ.c ++ ++libsysbase/libsysbase_libsysbase_a-environ.obj: libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-environ.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo -c -o libsysbase/libsysbase_libsysbase_a-environ.obj `if test -f 'libsysbase/environ.c'; then $(CYGPATH_W) 'libsysbase/environ.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/environ.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/environ.c' object='libsysbase/libsysbase_libsysbase_a-environ.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-environ.obj `if test -f 'libsysbase/environ.c'; then $(CYGPATH_W) 'libsysbase/environ.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/environ.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-execve.o: libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-execve.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo -c -o libsysbase/libsysbase_libsysbase_a-execve.o `test -f 'libsysbase/execve.c' || echo '$(srcdir)/'`libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/execve.c' object='libsysbase/libsysbase_libsysbase_a-execve.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-execve.o `test -f 'libsysbase/execve.c' || echo '$(srcdir)/'`libsysbase/execve.c ++ ++libsysbase/libsysbase_libsysbase_a-execve.obj: libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-execve.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo -c -o libsysbase/libsysbase_libsysbase_a-execve.obj `if test -f 'libsysbase/execve.c'; then $(CYGPATH_W) 'libsysbase/execve.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/execve.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/execve.c' object='libsysbase/libsysbase_libsysbase_a-execve.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-execve.obj `if test -f 'libsysbase/execve.c'; then $(CYGPATH_W) 'libsysbase/execve.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/execve.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fchmod.o: libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fchmod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fchmod.o `test -f 'libsysbase/fchmod.c' || echo '$(srcdir)/'`libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fchmod.c' object='libsysbase/libsysbase_libsysbase_a-fchmod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.o `test -f 'libsysbase/fchmod.c' || echo '$(srcdir)/'`libsysbase/fchmod.c ++ ++libsysbase/libsysbase_libsysbase_a-fchmod.obj: libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fchmod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fchmod.c' object='libsysbase/libsysbase_libsysbase_a-fchmod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-flock.o: libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-flock.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo -c -o libsysbase/libsysbase_libsysbase_a-flock.o `test -f 'libsysbase/flock.c' || echo '$(srcdir)/'`libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/flock.c' object='libsysbase/libsysbase_libsysbase_a-flock.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-flock.o `test -f 'libsysbase/flock.c' || echo '$(srcdir)/'`libsysbase/flock.c ++ ++libsysbase/libsysbase_libsysbase_a-flock.obj: libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-flock.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo -c -o libsysbase/libsysbase_libsysbase_a-flock.obj `if test -f 'libsysbase/flock.c'; then $(CYGPATH_W) 'libsysbase/flock.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/flock.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/flock.c' object='libsysbase/libsysbase_libsysbase_a-flock.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-flock.obj `if test -f 'libsysbase/flock.c'; then $(CYGPATH_W) 'libsysbase/flock.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/flock.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fnmatch.o: libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fnmatch.c' object='libsysbase/libsysbase_libsysbase_a-fnmatch.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c ++ ++libsysbase/libsysbase_libsysbase_a-fnmatch.obj: libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.obj `if test -f 'libsysbase/fnmatch.c'; then $(CYGPATH_W) 'libsysbase/fnmatch.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fnmatch.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fnmatch.c' object='libsysbase/libsysbase_libsysbase_a-fnmatch.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.obj `if test -f 'libsysbase/fnmatch.c'; then $(CYGPATH_W) 'libsysbase/fnmatch.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fnmatch.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fork.o: libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fork.c' object='libsysbase/libsysbase_libsysbase_a-fork.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c ++ ++libsysbase/libsysbase_libsysbase_a-fork.obj: libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fork.c' object='libsysbase/libsysbase_libsysbase_a-fork.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fpathconf.o: libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fpathconf.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.o `test -f 'libsysbase/fpathconf.c' || echo '$(srcdir)/'`libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fpathconf.c' object='libsysbase/libsysbase_libsysbase_a-fpathconf.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.o `test -f 'libsysbase/fpathconf.c' || echo '$(srcdir)/'`libsysbase/fpathconf.c ++ ++libsysbase/libsysbase_libsysbase_a-fpathconf.obj: libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fpathconf.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.obj `if test -f 'libsysbase/fpathconf.c'; then $(CYGPATH_W) 'libsysbase/fpathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fpathconf.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fpathconf.c' object='libsysbase/libsysbase_libsysbase_a-fpathconf.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.obj `if test -f 'libsysbase/fpathconf.c'; then $(CYGPATH_W) 'libsysbase/fpathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fpathconf.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fstat.o: libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fstat.c' object='libsysbase/libsysbase_libsysbase_a-fstat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c ++ ++libsysbase/libsysbase_libsysbase_a-fstat.obj: libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.obj `if test -f 'libsysbase/fstat.c'; then $(CYGPATH_W) 'libsysbase/fstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fstat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fstat.c' object='libsysbase/libsysbase_libsysbase_a-fstat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fstat.obj `if test -f 'libsysbase/fstat.c'; then $(CYGPATH_W) 'libsysbase/fstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fstat.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-fsync.o: libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fsync.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fsync.o `test -f 'libsysbase/fsync.c' || echo '$(srcdir)/'`libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fsync.c' object='libsysbase/libsysbase_libsysbase_a-fsync.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fsync.o `test -f 'libsysbase/fsync.c' || echo '$(srcdir)/'`libsysbase/fsync.c ++ ++libsysbase/libsysbase_libsysbase_a-fsync.obj: libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fsync.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fsync.obj `if test -f 'libsysbase/fsync.c'; then $(CYGPATH_W) 'libsysbase/fsync.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fsync.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fsync.c' object='libsysbase/libsysbase_libsysbase_a-fsync.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fsync.obj `if test -f 'libsysbase/fsync.c'; then $(CYGPATH_W) 'libsysbase/fsync.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fsync.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-ftruncate.o: libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-ftruncate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.o `test -f 'libsysbase/ftruncate.c' || echo '$(srcdir)/'`libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/ftruncate.c' object='libsysbase/libsysbase_libsysbase_a-ftruncate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.o `test -f 'libsysbase/ftruncate.c' || echo '$(srcdir)/'`libsysbase/ftruncate.c ++ ++libsysbase/libsysbase_libsysbase_a-ftruncate.obj: libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-ftruncate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.obj `if test -f 'libsysbase/ftruncate.c'; then $(CYGPATH_W) 'libsysbase/ftruncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/ftruncate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/ftruncate.c' object='libsysbase/libsysbase_libsysbase_a-ftruncate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.obj `if test -f 'libsysbase/ftruncate.c'; then $(CYGPATH_W) 'libsysbase/ftruncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/ftruncate.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-getpid.o: libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getpid.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getpid.o `test -f 'libsysbase/getpid.c' || echo '$(srcdir)/'`libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getpid.c' object='libsysbase/libsysbase_libsysbase_a-getpid.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getpid.o `test -f 'libsysbase/getpid.c' || echo '$(srcdir)/'`libsysbase/getpid.c ++ ++libsysbase/libsysbase_libsysbase_a-getpid.obj: libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getpid.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getpid.obj `if test -f 'libsysbase/getpid.c'; then $(CYGPATH_W) 'libsysbase/getpid.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getpid.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getpid.c' object='libsysbase/libsysbase_libsysbase_a-getpid.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getpid.obj `if test -f 'libsysbase/getpid.c'; then $(CYGPATH_W) 'libsysbase/getpid.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getpid.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-getreent.o: libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getreent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getreent.o `test -f 'libsysbase/getreent.c' || echo '$(srcdir)/'`libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getreent.c' object='libsysbase/libsysbase_libsysbase_a-getreent.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getreent.o `test -f 'libsysbase/getreent.c' || echo '$(srcdir)/'`libsysbase/getreent.c ++ ++libsysbase/libsysbase_libsysbase_a-getreent.obj: libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getreent.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getreent.obj `if test -f 'libsysbase/getreent.c'; then $(CYGPATH_W) 'libsysbase/getreent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getreent.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getreent.c' object='libsysbase/libsysbase_libsysbase_a-getreent.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getreent.obj `if test -f 'libsysbase/getreent.c'; then $(CYGPATH_W) 'libsysbase/getreent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getreent.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-gettod.o: libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-gettod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-gettod.o `test -f 'libsysbase/gettod.c' || echo '$(srcdir)/'`libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/gettod.c' object='libsysbase/libsysbase_libsysbase_a-gettod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-gettod.o `test -f 'libsysbase/gettod.c' || echo '$(srcdir)/'`libsysbase/gettod.c ++ ++libsysbase/libsysbase_libsysbase_a-gettod.obj: libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-gettod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-gettod.obj `if test -f 'libsysbase/gettod.c'; then $(CYGPATH_W) 'libsysbase/gettod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/gettod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/gettod.c' object='libsysbase/libsysbase_libsysbase_a-gettod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-gettod.obj `if test -f 'libsysbase/gettod.c'; then $(CYGPATH_W) 'libsysbase/gettod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/gettod.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-handle_manager.o: libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-handle_manager.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.o `test -f 'libsysbase/handle_manager.c' || echo '$(srcdir)/'`libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/handle_manager.c' object='libsysbase/libsysbase_libsysbase_a-handle_manager.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.o `test -f 'libsysbase/handle_manager.c' || echo '$(srcdir)/'`libsysbase/handle_manager.c ++ ++libsysbase/libsysbase_libsysbase_a-handle_manager.obj: libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-handle_manager.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.obj `if test -f 'libsysbase/handle_manager.c'; then $(CYGPATH_W) 'libsysbase/handle_manager.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/handle_manager.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/handle_manager.c' object='libsysbase/libsysbase_libsysbase_a-handle_manager.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.obj `if test -f 'libsysbase/handle_manager.c'; then $(CYGPATH_W) 'libsysbase/handle_manager.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/handle_manager.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-iosupport.o: libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-iosupport.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo -c -o libsysbase/libsysbase_libsysbase_a-iosupport.o `test -f 'libsysbase/iosupport.c' || echo '$(srcdir)/'`libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/iosupport.c' object='libsysbase/libsysbase_libsysbase_a-iosupport.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-iosupport.o `test -f 'libsysbase/iosupport.c' || echo '$(srcdir)/'`libsysbase/iosupport.c ++ ++libsysbase/libsysbase_libsysbase_a-iosupport.obj: libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-iosupport.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo -c -o libsysbase/libsysbase_libsysbase_a-iosupport.obj `if test -f 'libsysbase/iosupport.c'; then $(CYGPATH_W) 'libsysbase/iosupport.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/iosupport.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/iosupport.c' object='libsysbase/libsysbase_libsysbase_a-iosupport.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-iosupport.obj `if test -f 'libsysbase/iosupport.c'; then $(CYGPATH_W) 'libsysbase/iosupport.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/iosupport.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-isatty.o: libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-isatty.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo -c -o libsysbase/libsysbase_libsysbase_a-isatty.o `test -f 'libsysbase/isatty.c' || echo '$(srcdir)/'`libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/isatty.c' object='libsysbase/libsysbase_libsysbase_a-isatty.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-isatty.o `test -f 'libsysbase/isatty.c' || echo '$(srcdir)/'`libsysbase/isatty.c ++ ++libsysbase/libsysbase_libsysbase_a-isatty.obj: libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-isatty.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo -c -o libsysbase/libsysbase_libsysbase_a-isatty.obj `if test -f 'libsysbase/isatty.c'; then $(CYGPATH_W) 'libsysbase/isatty.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/isatty.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/isatty.c' object='libsysbase/libsysbase_libsysbase_a-isatty.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-isatty.obj `if test -f 'libsysbase/isatty.c'; then $(CYGPATH_W) 'libsysbase/isatty.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/isatty.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-kill.o: libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-kill.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo -c -o libsysbase/libsysbase_libsysbase_a-kill.o `test -f 'libsysbase/kill.c' || echo '$(srcdir)/'`libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/kill.c' object='libsysbase/libsysbase_libsysbase_a-kill.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-kill.o `test -f 'libsysbase/kill.c' || echo '$(srcdir)/'`libsysbase/kill.c ++ ++libsysbase/libsysbase_libsysbase_a-kill.obj: libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-kill.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo -c -o libsysbase/libsysbase_libsysbase_a-kill.obj `if test -f 'libsysbase/kill.c'; then $(CYGPATH_W) 'libsysbase/kill.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/kill.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/kill.c' object='libsysbase/libsysbase_libsysbase_a-kill.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-kill.obj `if test -f 'libsysbase/kill.c'; then $(CYGPATH_W) 'libsysbase/kill.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/kill.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-link.o: libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-link.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo -c -o libsysbase/libsysbase_libsysbase_a-link.o `test -f 'libsysbase/link.c' || echo '$(srcdir)/'`libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/link.c' object='libsysbase/libsysbase_libsysbase_a-link.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-link.o `test -f 'libsysbase/link.c' || echo '$(srcdir)/'`libsysbase/link.c ++ ++libsysbase/libsysbase_libsysbase_a-link.obj: libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-link.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo -c -o libsysbase/libsysbase_libsysbase_a-link.obj `if test -f 'libsysbase/link.c'; then $(CYGPATH_W) 'libsysbase/link.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/link.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/link.c' object='libsysbase/libsysbase_libsysbase_a-link.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-link.obj `if test -f 'libsysbase/link.c'; then $(CYGPATH_W) 'libsysbase/link.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/link.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-lseek.o: libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lseek.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lseek.o `test -f 'libsysbase/lseek.c' || echo '$(srcdir)/'`libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lseek.c' object='libsysbase/libsysbase_libsysbase_a-lseek.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lseek.o `test -f 'libsysbase/lseek.c' || echo '$(srcdir)/'`libsysbase/lseek.c ++ ++libsysbase/libsysbase_libsysbase_a-lseek.obj: libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lseek.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lseek.obj `if test -f 'libsysbase/lseek.c'; then $(CYGPATH_W) 'libsysbase/lseek.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lseek.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lseek.c' object='libsysbase/libsysbase_libsysbase_a-lseek.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lseek.obj `if test -f 'libsysbase/lseek.c'; then $(CYGPATH_W) 'libsysbase/lseek.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lseek.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-lstat.o: libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lstat.o `test -f 'libsysbase/lstat.c' || echo '$(srcdir)/'`libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lstat.c' object='libsysbase/libsysbase_libsysbase_a-lstat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lstat.o `test -f 'libsysbase/lstat.c' || echo '$(srcdir)/'`libsysbase/lstat.c ++ ++libsysbase/libsysbase_libsysbase_a-lstat.obj: libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lstat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lstat.obj `if test -f 'libsysbase/lstat.c'; then $(CYGPATH_W) 'libsysbase/lstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lstat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lstat.c' object='libsysbase/libsysbase_libsysbase_a-lstat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lstat.obj `if test -f 'libsysbase/lstat.c'; then $(CYGPATH_W) 'libsysbase/lstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lstat.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-malloc_vars.o: libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-malloc_vars.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.o `test -f 'libsysbase/malloc_vars.c' || echo '$(srcdir)/'`libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/malloc_vars.c' object='libsysbase/libsysbase_libsysbase_a-malloc_vars.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.o `test -f 'libsysbase/malloc_vars.c' || echo '$(srcdir)/'`libsysbase/malloc_vars.c ++ ++libsysbase/libsysbase_libsysbase_a-malloc_vars.obj: libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-malloc_vars.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.obj `if test -f 'libsysbase/malloc_vars.c'; then $(CYGPATH_W) 'libsysbase/malloc_vars.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/malloc_vars.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/malloc_vars.c' object='libsysbase/libsysbase_libsysbase_a-malloc_vars.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.obj `if test -f 'libsysbase/malloc_vars.c'; then $(CYGPATH_W) 'libsysbase/malloc_vars.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/malloc_vars.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-mkdir.o: libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-mkdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-mkdir.o `test -f 'libsysbase/mkdir.c' || echo '$(srcdir)/'`libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/mkdir.c' object='libsysbase/libsysbase_libsysbase_a-mkdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.o `test -f 'libsysbase/mkdir.c' || echo '$(srcdir)/'`libsysbase/mkdir.c ++ ++libsysbase/libsysbase_libsysbase_a-mkdir.obj: libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-mkdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/mkdir.c' object='libsysbase/libsysbase_libsysbase_a-mkdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-nanosleep.o: libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/nanosleep.c' object='libsysbase/libsysbase_libsysbase_a-nanosleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c ++ ++libsysbase/libsysbase_libsysbase_a-nanosleep.obj: libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.obj `if test -f 'libsysbase/nanosleep.c'; then $(CYGPATH_W) 'libsysbase/nanosleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/nanosleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/nanosleep.c' object='libsysbase/libsysbase_libsysbase_a-nanosleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.obj `if test -f 'libsysbase/nanosleep.c'; then $(CYGPATH_W) 'libsysbase/nanosleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/nanosleep.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-open.o: libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-open.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo -c -o libsysbase/libsysbase_libsysbase_a-open.o `test -f 'libsysbase/open.c' || echo '$(srcdir)/'`libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/open.c' object='libsysbase/libsysbase_libsysbase_a-open.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.o `test -f 'libsysbase/open.c' || echo '$(srcdir)/'`libsysbase/open.c ++ ++libsysbase/libsysbase_libsysbase_a-open.obj: libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-open.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/open.c' object='libsysbase/libsysbase_libsysbase_a-open.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-pathconf.o: libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pathconf.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pathconf.o `test -f 'libsysbase/pathconf.c' || echo '$(srcdir)/'`libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pathconf.c' object='libsysbase/libsysbase_libsysbase_a-pathconf.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pathconf.o `test -f 'libsysbase/pathconf.c' || echo '$(srcdir)/'`libsysbase/pathconf.c ++ ++libsysbase/libsysbase_libsysbase_a-pathconf.obj: libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pathconf.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pathconf.obj `if test -f 'libsysbase/pathconf.c'; then $(CYGPATH_W) 'libsysbase/pathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pathconf.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pathconf.c' object='libsysbase/libsysbase_libsysbase_a-pathconf.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pathconf.obj `if test -f 'libsysbase/pathconf.c'; then $(CYGPATH_W) 'libsysbase/pathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pathconf.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-read.o: libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/read.c' object='libsysbase/libsysbase_libsysbase_a-read.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c ++ ++libsysbase/libsysbase_libsysbase_a-read.obj: libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/read.c' object='libsysbase/libsysbase_libsysbase_a-read.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-readlink.o: libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-readlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-readlink.o `test -f 'libsysbase/readlink.c' || echo '$(srcdir)/'`libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/readlink.c' object='libsysbase/libsysbase_libsysbase_a-readlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-readlink.o `test -f 'libsysbase/readlink.c' || echo '$(srcdir)/'`libsysbase/readlink.c ++ ++libsysbase/libsysbase_libsysbase_a-readlink.obj: libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-readlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-readlink.obj `if test -f 'libsysbase/readlink.c'; then $(CYGPATH_W) 'libsysbase/readlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/readlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/readlink.c' object='libsysbase/libsysbase_libsysbase_a-readlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-readlink.obj `if test -f 'libsysbase/readlink.c'; then $(CYGPATH_W) 'libsysbase/readlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/readlink.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-realpath.o: libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/realpath.c' object='libsysbase/libsysbase_libsysbase_a-realpath.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c ++ ++libsysbase/libsysbase_libsysbase_a-realpath.obj: libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.obj `if test -f 'libsysbase/realpath.c'; then $(CYGPATH_W) 'libsysbase/realpath.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/realpath.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/realpath.c' object='libsysbase/libsysbase_libsysbase_a-realpath.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-realpath.obj `if test -f 'libsysbase/realpath.c'; then $(CYGPATH_W) 'libsysbase/realpath.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/realpath.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-rename.o: libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rename.c' object='libsysbase/libsysbase_libsysbase_a-rename.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c ++ ++libsysbase/libsysbase_libsysbase_a-rename.obj: libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.obj `if test -f 'libsysbase/rename.c'; then $(CYGPATH_W) 'libsysbase/rename.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rename.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rename.c' object='libsysbase/libsysbase_libsysbase_a-rename.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rename.obj `if test -f 'libsysbase/rename.c'; then $(CYGPATH_W) 'libsysbase/rename.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rename.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-rmdir.o: libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rmdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rmdir.o `test -f 'libsysbase/rmdir.c' || echo '$(srcdir)/'`libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rmdir.c' object='libsysbase/libsysbase_libsysbase_a-rmdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rmdir.o `test -f 'libsysbase/rmdir.c' || echo '$(srcdir)/'`libsysbase/rmdir.c ++ ++libsysbase/libsysbase_libsysbase_a-rmdir.obj: libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rmdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rmdir.obj `if test -f 'libsysbase/rmdir.c'; then $(CYGPATH_W) 'libsysbase/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rmdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rmdir.c' object='libsysbase/libsysbase_libsysbase_a-rmdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rmdir.obj `if test -f 'libsysbase/rmdir.c'; then $(CYGPATH_W) 'libsysbase/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rmdir.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-sbrk.o: libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sbrk.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sbrk.o `test -f 'libsysbase/sbrk.c' || echo '$(srcdir)/'`libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sbrk.c' object='libsysbase/libsysbase_libsysbase_a-sbrk.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sbrk.o `test -f 'libsysbase/sbrk.c' || echo '$(srcdir)/'`libsysbase/sbrk.c ++ ++libsysbase/libsysbase_libsysbase_a-sbrk.obj: libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sbrk.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sbrk.obj `if test -f 'libsysbase/sbrk.c'; then $(CYGPATH_W) 'libsysbase/sbrk.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sbrk.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sbrk.c' object='libsysbase/libsysbase_libsysbase_a-sbrk.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sbrk.obj `if test -f 'libsysbase/sbrk.c'; then $(CYGPATH_W) 'libsysbase/sbrk.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sbrk.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-scandir.o: libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-scandir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-scandir.o `test -f 'libsysbase/scandir.c' || echo '$(srcdir)/'`libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/scandir.c' object='libsysbase/libsysbase_libsysbase_a-scandir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-scandir.o `test -f 'libsysbase/scandir.c' || echo '$(srcdir)/'`libsysbase/scandir.c ++ ++libsysbase/libsysbase_libsysbase_a-scandir.obj: libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-scandir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-scandir.obj `if test -f 'libsysbase/scandir.c'; then $(CYGPATH_W) 'libsysbase/scandir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/scandir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/scandir.c' object='libsysbase/libsysbase_libsysbase_a-scandir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-scandir.obj `if test -f 'libsysbase/scandir.c'; then $(CYGPATH_W) 'libsysbase/scandir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/scandir.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-sleep.o: libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sleep.o `test -f 'libsysbase/sleep.c' || echo '$(srcdir)/'`libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sleep.c' object='libsysbase/libsysbase_libsysbase_a-sleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sleep.o `test -f 'libsysbase/sleep.c' || echo '$(srcdir)/'`libsysbase/sleep.c ++ ++libsysbase/libsysbase_libsysbase_a-sleep.obj: libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sleep.obj `if test -f 'libsysbase/sleep.c'; then $(CYGPATH_W) 'libsysbase/sleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sleep.c' object='libsysbase/libsysbase_libsysbase_a-sleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sleep.obj `if test -f 'libsysbase/sleep.c'; then $(CYGPATH_W) 'libsysbase/sleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sleep.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-stat.o: libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-stat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-stat.o `test -f 'libsysbase/stat.c' || echo '$(srcdir)/'`libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/stat.c' object='libsysbase/libsysbase_libsysbase_a-stat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-stat.o `test -f 'libsysbase/stat.c' || echo '$(srcdir)/'`libsysbase/stat.c ++ ++libsysbase/libsysbase_libsysbase_a-stat.obj: libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-stat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-stat.obj `if test -f 'libsysbase/stat.c'; then $(CYGPATH_W) 'libsysbase/stat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/stat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/stat.c' object='libsysbase/libsysbase_libsysbase_a-stat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-stat.obj `if test -f 'libsysbase/stat.c'; then $(CYGPATH_W) 'libsysbase/stat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/stat.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-statvfs.o: libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-statvfs.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo -c -o libsysbase/libsysbase_libsysbase_a-statvfs.o `test -f 'libsysbase/statvfs.c' || echo '$(srcdir)/'`libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/statvfs.c' object='libsysbase/libsysbase_libsysbase_a-statvfs.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.o `test -f 'libsysbase/statvfs.c' || echo '$(srcdir)/'`libsysbase/statvfs.c ++ ++libsysbase/libsysbase_libsysbase_a-statvfs.obj: libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-statvfs.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/statvfs.c' object='libsysbase/libsysbase_libsysbase_a-statvfs.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-symlink.o: libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-symlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-symlink.o `test -f 'libsysbase/symlink.c' || echo '$(srcdir)/'`libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/symlink.c' object='libsysbase/libsysbase_libsysbase_a-symlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-symlink.o `test -f 'libsysbase/symlink.c' || echo '$(srcdir)/'`libsysbase/symlink.c ++ ++libsysbase/libsysbase_libsysbase_a-symlink.obj: libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-symlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-symlink.obj `if test -f 'libsysbase/symlink.c'; then $(CYGPATH_W) 'libsysbase/symlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/symlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/symlink.c' object='libsysbase/libsysbase_libsysbase_a-symlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-symlink.obj `if test -f 'libsysbase/symlink.c'; then $(CYGPATH_W) 'libsysbase/symlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/symlink.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-syscall_support.o: libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/syscall_support.c' object='libsysbase/libsysbase_libsysbase_a-syscall_support.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c ++ ++libsysbase/libsysbase_libsysbase_a-syscall_support.obj: libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.obj `if test -f 'libsysbase/syscall_support.c'; then $(CYGPATH_W) 'libsysbase/syscall_support.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/syscall_support.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/syscall_support.c' object='libsysbase/libsysbase_libsysbase_a-syscall_support.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.obj `if test -f 'libsysbase/syscall_support.c'; then $(CYGPATH_W) 'libsysbase/syscall_support.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/syscall_support.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-times.o: libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-times.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo -c -o libsysbase/libsysbase_libsysbase_a-times.o `test -f 'libsysbase/times.c' || echo '$(srcdir)/'`libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/times.c' object='libsysbase/libsysbase_libsysbase_a-times.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-times.o `test -f 'libsysbase/times.c' || echo '$(srcdir)/'`libsysbase/times.c ++ ++libsysbase/libsysbase_libsysbase_a-times.obj: libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-times.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo -c -o libsysbase/libsysbase_libsysbase_a-times.obj `if test -f 'libsysbase/times.c'; then $(CYGPATH_W) 'libsysbase/times.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/times.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/times.c' object='libsysbase/libsysbase_libsysbase_a-times.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-times.obj `if test -f 'libsysbase/times.c'; then $(CYGPATH_W) 'libsysbase/times.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/times.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-truncate.o: libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-truncate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-truncate.o `test -f 'libsysbase/truncate.c' || echo '$(srcdir)/'`libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/truncate.c' object='libsysbase/libsysbase_libsysbase_a-truncate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-truncate.o `test -f 'libsysbase/truncate.c' || echo '$(srcdir)/'`libsysbase/truncate.c ++ ++libsysbase/libsysbase_libsysbase_a-truncate.obj: libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-truncate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-truncate.obj `if test -f 'libsysbase/truncate.c'; then $(CYGPATH_W) 'libsysbase/truncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/truncate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/truncate.c' object='libsysbase/libsysbase_libsysbase_a-truncate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-truncate.obj `if test -f 'libsysbase/truncate.c'; then $(CYGPATH_W) 'libsysbase/truncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/truncate.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-unlink.o: libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-unlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-unlink.o `test -f 'libsysbase/unlink.c' || echo '$(srcdir)/'`libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/unlink.c' object='libsysbase/libsysbase_libsysbase_a-unlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-unlink.o `test -f 'libsysbase/unlink.c' || echo '$(srcdir)/'`libsysbase/unlink.c ++ ++libsysbase/libsysbase_libsysbase_a-unlink.obj: libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-unlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-unlink.obj `if test -f 'libsysbase/unlink.c'; then $(CYGPATH_W) 'libsysbase/unlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/unlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/unlink.c' object='libsysbase/libsysbase_libsysbase_a-unlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-unlink.obj `if test -f 'libsysbase/unlink.c'; then $(CYGPATH_W) 'libsysbase/unlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/unlink.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-usleep.o: libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-usleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-usleep.o `test -f 'libsysbase/usleep.c' || echo '$(srcdir)/'`libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/usleep.c' object='libsysbase/libsysbase_libsysbase_a-usleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-usleep.o `test -f 'libsysbase/usleep.c' || echo '$(srcdir)/'`libsysbase/usleep.c ++ ++libsysbase/libsysbase_libsysbase_a-usleep.obj: libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-usleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-usleep.obj `if test -f 'libsysbase/usleep.c'; then $(CYGPATH_W) 'libsysbase/usleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/usleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/usleep.c' object='libsysbase/libsysbase_libsysbase_a-usleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-usleep.obj `if test -f 'libsysbase/usleep.c'; then $(CYGPATH_W) 'libsysbase/usleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/usleep.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-utime.o: libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-utime.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo -c -o libsysbase/libsysbase_libsysbase_a-utime.o `test -f 'libsysbase/utime.c' || echo '$(srcdir)/'`libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/utime.c' object='libsysbase/libsysbase_libsysbase_a-utime.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-utime.o `test -f 'libsysbase/utime.c' || echo '$(srcdir)/'`libsysbase/utime.c ++ ++libsysbase/libsysbase_libsysbase_a-utime.obj: libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-utime.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo -c -o libsysbase/libsysbase_libsysbase_a-utime.obj `if test -f 'libsysbase/utime.c'; then $(CYGPATH_W) 'libsysbase/utime.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/utime.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/utime.c' object='libsysbase/libsysbase_libsysbase_a-utime.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-utime.obj `if test -f 'libsysbase/utime.c'; then $(CYGPATH_W) 'libsysbase/utime.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/utime.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-wait.o: libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-wait.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo -c -o libsysbase/libsysbase_libsysbase_a-wait.o `test -f 'libsysbase/wait.c' || echo '$(srcdir)/'`libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/wait.c' object='libsysbase/libsysbase_libsysbase_a-wait.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-wait.o `test -f 'libsysbase/wait.c' || echo '$(srcdir)/'`libsysbase/wait.c ++ ++libsysbase/libsysbase_libsysbase_a-wait.obj: libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-wait.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo -c -o libsysbase/libsysbase_libsysbase_a-wait.obj `if test -f 'libsysbase/wait.c'; then $(CYGPATH_W) 'libsysbase/wait.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/wait.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/wait.c' object='libsysbase/libsysbase_libsysbase_a-wait.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-wait.obj `if test -f 'libsysbase/wait.c'; then $(CYGPATH_W) 'libsysbase/wait.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/wait.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-write.o: libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-write.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo -c -o libsysbase/libsysbase_libsysbase_a-write.o `test -f 'libsysbase/write.c' || echo '$(srcdir)/'`libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/write.c' object='libsysbase/libsysbase_libsysbase_a-write.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-write.o `test -f 'libsysbase/write.c' || echo '$(srcdir)/'`libsysbase/write.c ++ ++libsysbase/libsysbase_libsysbase_a-write.obj: libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-write.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo -c -o libsysbase/libsysbase_libsysbase_a-write.obj `if test -f 'libsysbase/write.c'; then $(CYGPATH_W) 'libsysbase/write.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/write.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/write.c' object='libsysbase/libsysbase_libsysbase_a-write.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-write.obj `if test -f 'libsysbase/write.c'; then $(CYGPATH_W) 'libsysbase/write.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/write.c'; fi` ++ + nios2/nios2_libnios2_a-io-close.o: nios2/io-close.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(nios2_libnios2_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nios2/nios2_libnios2_a-io-close.o -MD -MP -MF nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo -c -o nios2/nios2_libnios2_a-io-close.o `test -f 'nios2/io-close.c' || echo '$(srcdir)/'`nios2/io-close.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Po +@@ -4220,6 +5284,8 @@ distclean-generic: + -rm -f iq2000/$(am__dirstamp) + -rm -f libnosys/$(DEPDIR)/$(am__dirstamp) + -rm -f libnosys/$(am__dirstamp) ++ -rm -f libsysbase/$(DEPDIR)/$(am__dirstamp) ++ -rm -f libsysbase/$(am__dirstamp) + -rm -f lm32/$(DEPDIR)/$(am__dirstamp) + -rm -f lm32/$(am__dirstamp) + -rm -f nios2/$(DEPDIR)/$(am__dirstamp) +@@ -4239,7 +5305,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ + + distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) +- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) ++ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-local distclean-tags +@@ -4382,7 +5448,7 @@ installcheck-am: + maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache +- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) ++ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-aminfo \ + maintainer-clean-generic maintainer-clean-local +diff --git a/libgloss/configure b/libgloss/configure +index 28754b6d5..2e04092ab 100755 +--- a/libgloss/configure ++++ b/libgloss/configure +@@ -638,6 +638,8 @@ CONFIG_NIOS2_FALSE + CONFIG_NIOS2_TRUE + CONFIG_LM32_FALSE + CONFIG_LM32_TRUE ++CONFIG_LIBSYSBASE_FALSE ++CONFIG_LIBSYSBASE_TRUE + CONFIG_LIBNOSYS_FALSE + CONFIG_LIBNOSYS_TRUE + CONFIG_IQ2000_FALSE +@@ -722,6 +724,7 @@ infodir + docdir + oldincludedir + includedir ++runstatedir + localstatedir + sharedstatedir + sysconfdir +@@ -800,6 +803,7 @@ datadir='${datarootdir}' + sysconfdir='${prefix}/etc' + sharedstatedir='${prefix}/com' + localstatedir='${prefix}/var' ++runstatedir='${localstatedir}/run' + includedir='${prefix}/include' + oldincludedir='/usr/include' + docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +@@ -1052,6 +1056,15 @@ do + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + ++ -runstatedir | --runstatedir | --runstatedi | --runstated \ ++ | --runstate | --runstat | --runsta | --runst | --runs \ ++ | --run | --ru | --r) ++ ac_prev=runstatedir ;; ++ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ ++ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ ++ | --run=* | --ru=* | --r=*) ++ runstatedir=$ac_optarg ;; ++ + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ +@@ -1189,7 +1202,7 @@ fi + for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ +- libdir localedir mandir ++ libdir localedir mandir runstatedir + do + eval ac_val=\$$ac_var + # Remove trailing slashes. +@@ -1342,6 +1355,7 @@ Fine tuning of the installation directories: + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] +@@ -2745,6 +2759,8 @@ config_testsuite=true + + config_libnosys=true + ++config_libsysbase=true ++ + host_makefile_frag=${srcdir}/config/default.mh + target_makefile_frag=${srcdir}/config/default.mt + +@@ -3047,6 +3063,14 @@ else + CONFIG_LIBNOSYS_FALSE= + fi + ++ if test x$config_libsysbase = xtrue; then ++ CONFIG_LIBSYSBASE_TRUE= ++ CONFIG_LIBSYSBASE_FALSE='#' ++else ++ CONFIG_LIBSYSBASE_TRUE='#' ++ CONFIG_LIBSYSBASE_FALSE= ++fi ++ + if test x$config_lm32 = xtrue; then + CONFIG_LM32_TRUE= + CONFIG_LM32_FALSE='#' +@@ -4924,6 +4948,35 @@ case "${target}" in + esac + + ++case "${target}" in ++ *-*-cygwin*) ;; ++ a29k-amd-udi) ;; ++ aarch64*-*-*) ;; ++ arc-*-*) ;; ++ arm*-*-*) ;; ++ bfin-*-*) ;; ++ cris-*-* | crisv32-*-*) ;; ++ d10v*) ;; ++ h8300*-*-*) ;; ++ h8500-*-*) ;; ++ i345686-*-sco*) ;; ++ lm32-*-*) ;; ++ m32r-*-*) ;; ++ mn10?00-*-*) ;; ++ riscv*-*-*) ;; ++ powerpcle-*-pe) ;; ++ sh*-*-*) ;; ++ sparc-sun-sunos*) ;; ++ sparc64-*-*) ;; ++ v850*-*-*) ;; ++ w65-*-*) ;; ++ xstormy16-*-*) ;; ++ z8k-*-*) ;; ++ *) ++$as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h ++ ;; ++esac ++ + case "${target}" in + *-*-cygwin*) ;; + a29k-amd-udi) ;; +@@ -5331,6 +5384,10 @@ if test -z "${CONFIG_LIBNOSYS_TRUE}" && test -z "${CONFIG_LIBNOSYS_FALSE}"; then + as_fn_error $? "conditional \"CONFIG_LIBNOSYS\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 + fi ++if test -z "${CONFIG_LIBSYSBASE_TRUE}" && test -z "${CONFIG_LIBSYSBASE_FALSE}"; then ++ as_fn_error $? "conditional \"CONFIG_LIBSYSBASE\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi + if test -z "${CONFIG_LM32_TRUE}" && test -z "${CONFIG_LM32_FALSE}"; then + as_fn_error $? "conditional \"CONFIG_LM32\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 +diff --git a/libgloss/configure.ac b/libgloss/configure.ac +index 5fb26845c..cf07fb118 100644 +--- a/libgloss/configure.ac ++++ b/libgloss/configure.ac +@@ -43,6 +43,9 @@ config_testsuite=true + dnl indicates whether to run configure within the libnosys subdirectory + config_libnosys=true + ++dnl indicates whether to run configure within the libsysbase subdirectory ++config_libsysbase=true ++ + host_makefile_frag=${srcdir}/config/default.mh + target_makefile_frag=${srcdir}/config/default.mt + +@@ -247,7 +250,7 @@ AC_SUBST(subdirs) + dnl These subdirs have converted to non-recursive make. Hopefully someday all + dnl the ports above will too! + m4_foreach_w([SUBDIR], [ +- aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 nios2 riscv wince ++ aarch64 arc arm bfin csky d30v iq2000 libnosys libsysbase lm32 nios2 riscv wince + ], [dnl + AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue) + ]) +@@ -343,6 +346,7 @@ m4_include([aarch64/acinclude.m4]) + m4_include([arm/acinclude.m4]) + m4_include([i386/acinclude.m4]) + m4_include([libnosys/acinclude.m4]) ++m4_include([libsysbase/acinclude.m4]) + m4_include([m68k/acinclude.m4]) + m4_include([mcore/acinclude.m4]) + m4_include([mips/acinclude.m4]) +diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc +new file mode 100644 +index 000000000..2030c24d2 +--- /dev/null ++++ b/libgloss/libsysbase/Makefile.inc +@@ -0,0 +1,58 @@ ++multilibtool_DATA += %D%/sysbase.specs ++multilibtool_LIBRARIES += %D%/libsysbase.a ++ ++%C%_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE ++ ++%C%_libsysbase_a_SOURCES = \ ++ %D%/_exit.c \ ++ %D%/abort.c \ ++ %D%/build_argv.c \ ++ %D%/chdir.c \ ++ %D%/chmod.c \ ++ %D%/clocks.c \ ++ %D%/concatenate.c \ ++ %D%/dirent.c \ ++ %D%/environ.c \ ++ %D%/execve.c \ ++ %D%/fchmod.c \ ++ %D%/flock.c \ ++ %D%/fnmatch.c \ ++ %D%/fork.c \ ++ %D%/fpathconf.c \ ++ %D%/fstat.c \ ++ %D%/fsync.c \ ++ %D%/ftruncate.c \ ++ %D%/getpid.c \ ++ %D%/getreent.c \ ++ %D%/gettod.c \ ++ %D%/handle_manager.c \ ++ %D%/iosupport.c \ ++ %D%/isatty.c \ ++ %D%/kill.c \ ++ %D%/link.c \ ++ %D%/lseek.c \ ++ %D%/lstat.c \ ++ %D%/malloc_vars.c \ ++ %D%/mkdir.c \ ++ %D%/nanosleep.c \ ++ %D%/open.c \ ++ %D%/pathconf.c \ ++ %D%/read.c \ ++ %D%/readlink.c \ ++ %D%/realpath.c \ ++ %D%/rename.c \ ++ %D%/rmdir.c \ ++ %D%/sbrk.c \ ++ %D%/scandir.c \ ++ %D%/sleep.c \ ++ %D%/stat.c \ ++ %D%/statvfs.c \ ++ %D%/symlink.c \ ++ %D%/syscall_support.c \ ++ %D%/times.c \ ++ %D%/truncate.c \ ++ %D%/unlink.c \ ++ %D%/usleep.c \ ++ %D%/utime.c \ ++ %D%/wait.c \ ++ %D%/write.c +diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c +new file mode 100644 +index 000000000..a45723f84 +--- /dev/null ++++ b/libgloss/libsysbase/_exit.c +@@ -0,0 +1,16 @@ ++/* Stub version of _exit. */ ++ ++#include ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++void _exit(int rc) ++{ ++ if ( __has_syscall(exit) ) { ++ __syscall_exit(rc); ++ } ++ ++ while(1); ++} +diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c +new file mode 100644 +index 000000000..9272e22c9 +--- /dev/null ++++ b/libgloss/libsysbase/abort.c +@@ -0,0 +1,8 @@ ++#include ++#include ++ ++void abort(void) { ++ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); ++ _exit (1); ++} ++ +diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h +new file mode 100644 +index 000000000..200ea7873 +--- /dev/null ++++ b/libgloss/libsysbase/acconfig.h +@@ -0,0 +1,29 @@ ++/* Name of package. */ ++#undef PACKAGE ++ ++/* Version of package. */ ++#undef VERSION ++ ++/* Missing syscall names */ ++#undef MISSING_SYSCALL_NAMES ++ ++/* Reentrant syscalls */ ++#undef REENTRANT_SYSCALLS_PROVIDED ++ ++/* Using ELF format */ ++#undef HAVE_ELF ++ ++/* Using GNU LD */ ++#undef HAVE_GNU_LD ++ ++/* .previous directive allowed */ ++#undef HAVE_ASM_PREVIOUS_DIRECTIVE ++ ++/* .pushsection/.popsection directives allowed */ ++#undef HAVE_ASM_POPSECTION_DIRECTIVE ++ ++/* support for section attributes */ ++#undef HAVE_SECTION_ATTRIBUTES ++ ++/* symbol prefix */ ++#undef __SYMBOL_PREFIX +diff --git a/libgloss/libsysbase/acinclude.m4 b/libgloss/libsysbase/acinclude.m4 +new file mode 100644 +index 000000000..7b0d7b4d6 +--- /dev/null ++++ b/libgloss/libsysbase/acinclude.m4 +@@ -0,0 +1,27 @@ ++dnl Make sure syscall names match those being used by newlib ++case "${target}" in ++ *-*-cygwin*) ;; ++ a29k-amd-udi) ;; ++ aarch64*-*-*) ;; ++ arc-*-*) ;; ++ arm*-*-*) ;; ++ bfin-*-*) ;; ++ cris-*-* | crisv32-*-*) ;; ++ d10v*) ;; ++ h8300*-*-*) ;; ++ h8500-*-*) ;; ++ i[3456]86-*-sco*) ;; ++ lm32-*-*) ;; ++ m32r-*-*) ;; ++ mn10?00-*-*) ;; ++ riscv*-*-*) ;; ++ powerpcle-*-pe) ;; ++ sh*-*-*) ;; ++ sparc-sun-sunos*) ;; ++ sparc64-*-*) ;; ++ v850*-*-*) ;; ++ w65-*-*) ;; ++ xstormy16-*-*) ;; ++ z8k-*-*) ;; ++ *) AC_DEFINE(MISSING_SYSCALL_NAMES, 1, [Missing syscall names]) ;; ++esac +diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c +new file mode 100644 +index 000000000..0697f53d2 +--- /dev/null ++++ b/libgloss/libsysbase/build_argv.c +@@ -0,0 +1,32 @@ ++struct __argv { ++ int argvMagic; ++ char *commandLine; ++ int length; ++ int argc; ++ char **argv; ++ char **endARGV; ++}; ++ ++ ++void build_argv (struct __argv* argstruct ) { ++ ++ char *data = argstruct->commandLine; ++ int len = argstruct->length; ++ ++ char** argv = (char**)(((int)data + len + sizeof(char **)) & ~(sizeof(char **)-1)); ++ char* end = data + len - 1; ++ int argCount = 0; ++ ++ do { ++ argv[argCount++] = data; // Add next arg to argv list ++ while (*(data) && data < end) data++; // Move to next NULL delimiter ++ data++; // Move to one after the NULL delimiter ++ } while (data < end); ++ ++ *end = '\0'; // Force NULL terminator for last arg ++ argv[argCount] = 0; // Force NULL terminator for argv ++ ++ argstruct->argv = argv; ++ argstruct->argc = argCount; ++ argstruct->endARGV = &argv[argCount + 1]; ++} +diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c +new file mode 100644 +index 000000000..922124b65 +--- /dev/null ++++ b/libgloss/libsysbase/chdir.c +@@ -0,0 +1,105 @@ ++#include ++#include ++#include ++#include ++#include ++ ++#include "concatenate.h" ++ ++/* CWD always start with "/" */ ++static char _current_working_directory [PATH_MAX] = "/"; ++static char temp_cwd [PATH_MAX]; ++ ++int chdir (const char *path) { ++ struct _reent *r = _REENT; ++ ++ int dev; ++ const char *pathPosition; ++ ++ /* Make sure the path is short enough */ ++ if (strnlen (path, PATH_MAX) >= PATH_MAX) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ ++ if (strchr (path, ':') != NULL) { ++ strncpy (temp_cwd, path, PATH_MAX); ++ /* Move path past device name */ ++ path = strchr (path, ':') + 1; ++ } else { ++ strncpy (temp_cwd, _current_working_directory, PATH_MAX); ++ } ++ ++ pathPosition = strchr (temp_cwd , ':'); ++ ++ if (pathPosition == NULL) { ++ pathPosition = temp_cwd; ++ } else { ++ pathPosition++; ++ } ++ ++ /* Make sure the path starts in the root directory */ ++ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { ++ r->_errno = ENOENT; ++ return -1; ++ } ++ ++ /* Concatenate the path to the CWD */ ++ if (_concatenate_path (r, temp_cwd, path, PATH_MAX) == -1) { ++ return -1; ++ } ++ ++ /* Get device from path name */ ++ dev = FindDevice(temp_cwd); ++ ++ if (dev < 0) { ++ r->_errno = ENODEV; ++ return -1; ++ } ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ if ( devoptab_list[dev]->chdir_r == NULL) { ++ r->_errno = ENOSYS; ++ return -1; ++ } ++ ++ /* Try changing directories on the device */ ++ if (devoptab_list[dev]->chdir_r (r, temp_cwd) == -1) { ++ return -1; ++ } ++ ++ /* Since it worked, set the new CWD and default device */ ++ setDefaultDevice(dev); ++ strncpy (_current_working_directory, temp_cwd, PATH_MAX); ++ ++ return 0; ++} ++ ++char *getcwd(char *buf, size_t size) { ++ ++ struct _reent *r = _REENT; ++ ++ if (size == 0) { ++ if (buf != NULL) { ++ r->_errno = EINVAL; ++ return NULL; ++ } ++ buf = malloc(PATH_MAX); ++ size = PATH_MAX; ++ } ++ ++ if (buf == NULL) { ++ r->_errno = EINVAL; ++ return NULL; ++ } ++ ++ if ( size < (strnlen (_current_working_directory, PATH_MAX) + 1)) { ++ r->_errno = ERANGE; ++ return NULL; ++ } ++ ++ strncpy (buf, _current_working_directory, size); ++ ++ return buf; ++} +diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c +new file mode 100644 +index 000000000..3c4c60b7c +--- /dev/null ++++ b/libgloss/libsysbase/chmod.c +@@ -0,0 +1,29 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++int chmod(const char *path, mode_t mode) { ++ int ret=-1,dev; ++ struct _reent *r = _REENT; ++ ++ /* Get device from path name */ ++ dev = FindDevice(path); ++ ++ if (dev < 0) { ++ r->_errno = ENODEV; ++ } else { ++ if (devoptab_list[dev]->chmod_r == NULL) { ++ r->_errno=ENOSYS; ++ } else { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->chmod_r(r,path,mode); ++ } ++ } ++ ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c +new file mode 100644 +index 000000000..b36b5c079 +--- /dev/null ++++ b/libgloss/libsysbase/clocks.c +@@ -0,0 +1,34 @@ ++#include ++#include ++#include ++ ++int clock_gettime(clockid_t clock_id, struct timespec *tp) ++{ ++ if ( __has_syscall(clock_gettime) ) { ++ return __syscall_clock_gettime(clock_id, tp); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ ++int clock_settime(clockid_t clock_id, const struct timespec *tp) ++{ ++ if ( __has_syscall(clock_settime) ) { ++ return __syscall_clock_settime(clock_id, tp); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ ++int clock_getres (clockid_t clock_id, struct timespec *res) ++{ ++ if ( __has_syscall(clock_getres) ) { ++ return __syscall_clock_getres(clock_id, res); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ +diff --git a/libgloss/libsysbase/concatenate.c b/libgloss/libsysbase/concatenate.c +new file mode 100644 +index 000000000..e1da5a403 +--- /dev/null ++++ b/libgloss/libsysbase/concatenate.c +@@ -0,0 +1,91 @@ ++#include "concatenate.h" ++ ++ ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; ++ ++ pathLength = strnlen (path, maxLength); ++ ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathLength != 0 && pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } ++ ++ extraEnd = extra; ++ ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } ++ ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } ++ ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } ++ ++ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) ++ { ++ /* Don't copy anything */ ++ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) ++ { ++ /* Go up one level of in the path */ ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { ++ // Remove trailing separator ++ pathEnd[-1] = '\0'; ++ } ++ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); ++ if (pathEnd == NULL) { ++ /* Can't go up any higher, return false */ ++ r->_errno = ENOENT; ++ return -1; ++ } ++ pathLength = pathEnd - path; ++ pathEnd += 1; ++ } else { ++ pathLength += extraSize; ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ /* Copy the next part over */ ++ strncpy (pathEnd, extra, extraSize); ++ pathEnd += extraSize; ++ } ++ pathEnd[0] = '\0'; ++ extra += extraSize; ++ } while (extraSize != 0); ++ ++ if (strlen(path) > 2 ) { ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') ++ pathEnd[-1] = '\0'; ++ } ++ ++ return 0; ++} +\ No newline at end of file +diff --git a/libgloss/libsysbase/concatenate.h b/libgloss/libsysbase/concatenate.h +new file mode 100644 +index 000000000..e3b9e7d99 +--- /dev/null ++++ b/libgloss/libsysbase/concatenate.h +@@ -0,0 +1,10 @@ ++#include ++#include ++#include ++ ++#define DIRECTORY_SEPARATOR_CHAR '/' ++#define DIRECTORY_SEPARATOR "/" ++#define DIRECTORY_THIS "." ++#define DIRECTORY_PARENT ".." ++ ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength); +diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in +new file mode 100644 +index 000000000..48ce950b4 +--- /dev/null ++++ b/libgloss/libsysbase/config.h.in +@@ -0,0 +1,25 @@ ++/* config.h.in. Generated automatically from configure.in by autoheader. */ ++ ++/* Missing syscall names */ ++#undef MISSING_SYSCALL_NAMES ++ ++/* Reentrant syscalls */ ++#undef REENTRANT_SYSCALLS_PROVIDED ++ ++/* Using ELF format */ ++#undef HAVE_ELF ++ ++/* Using GNU LD */ ++#undef HAVE_GNU_LD ++ ++/* .previous directive allowed */ ++#undef HAVE_ASM_PREVIOUS_DIRECTIVE ++ ++/* .pushsection/.popsection directives allowed */ ++#undef HAVE_ASM_POPSECTION_DIRECTIVE ++ ++/* support for section attributes */ ++#undef HAVE_SECTION_ATTRIBUTES ++ ++/* symbol prefix */ ++#undef __SYMBOL_PREFIX +diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure +new file mode 100644 +index 000000000..be36ded12 +--- /dev/null ++++ b/libgloss/libsysbase/configure +@@ -0,0 +1,4162 @@ ++#! /bin/sh ++# Guess values for system-dependent variables and create Makefiles. ++# Generated by GNU Autoconf 2.69. ++# ++# ++# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. ++# ++# ++# This configure script is free software; the Free Software Foundation ++# gives unlimited permission to copy, distribute and modify it. ++## -------------------- ## ++## M4sh Initialization. ## ++## -------------------- ## ++ ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++ ++ ++as_nl=' ++' ++export as_nl ++# Printing a long string crashes Solaris 7 /usr/bin/printf. ++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo ++# Prefer a ksh shell builtin over an external printf program on Solaris, ++# but without wasting forks for bash or zsh. ++if test -z "$BASH_VERSION$ZSH_VERSION" \ ++ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='print -r --' ++ as_echo_n='print -rn --' ++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='printf %s\n' ++ as_echo_n='printf %s' ++else ++ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then ++ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' ++ as_echo_n='/usr/ucb/echo -n' ++ else ++ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' ++ as_echo_n_body='eval ++ arg=$1; ++ case $arg in #( ++ *"$as_nl"*) ++ expr "X$arg" : "X\\(.*\\)$as_nl"; ++ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; ++ esac; ++ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ++ ' ++ export as_echo_n_body ++ as_echo_n='sh -c $as_echo_n_body as_echo' ++ fi ++ export as_echo_body ++ as_echo='sh -c $as_echo_body as_echo' ++fi ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ PATH_SEPARATOR=: ++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { ++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || ++ PATH_SEPARATOR=';' ++ } ++fi ++ ++ ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++IFS=" "" $as_nl" ++ ++# Find who we are. Look in the path if we contain no directory separator. ++as_myself= ++case $0 in #(( ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++ done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ exit 1 ++fi ++ ++# Unset variables that we do not need and which cause bugs (e.g. in ++# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" ++# suppresses any "Segmentation fault" message there. '((' could ++# trigger a bug in pdksh 5.2.14. ++for as_var in BASH_ENV ENV MAIL MAILPATH ++do eval test x\${$as_var+set} = xset \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# CDPATH. ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH ++ ++# Use a proper internal environment variable to ensure we don't fall ++ # into an infinite loop, continuously re-executing ourselves. ++ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then ++ _as_can_reexec=no; export _as_can_reexec; ++ # We cannot yet assume a decent shell, so we have to provide a ++# neutralization value for shells without unset; and this also ++# works around shells that cannot unset nonexistent variables. ++# Preserve -v and -x to the replacement shell. ++BASH_ENV=/dev/null ++ENV=/dev/null ++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV ++case $- in # (((( ++ *v*x* | *x*v* ) as_opts=-vx ;; ++ *v* ) as_opts=-v ;; ++ *x* ) as_opts=-x ;; ++ * ) as_opts= ;; ++esac ++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} ++# Admittedly, this is quite paranoid, since all the known shells bail ++# out after a failed `exec'. ++$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 ++as_fn_exit 255 ++ fi ++ # We don't want this to propagate to other subprocesses. ++ { _as_can_reexec=; unset _as_can_reexec;} ++if test "x$CONFIG_SHELL" = x; then ++ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '\${1+\"\$@\"}'='\"\$@\"' ++ setopt NO_GLOB_SUBST ++else ++ case \`(set -o) 2>/dev/null\` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++" ++ as_required="as_fn_return () { (exit \$1); } ++as_fn_success () { as_fn_return 0; } ++as_fn_failure () { as_fn_return 1; } ++as_fn_ret_success () { return 0; } ++as_fn_ret_failure () { return 1; } ++ ++exitcode=0 ++as_fn_success || { exitcode=1; echo as_fn_success failed.; } ++as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } ++as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } ++as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } ++if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : ++ ++else ++ exitcode=1; echo positional parameters were not saved. ++fi ++test x\$exitcode = x0 || exit 1 ++test -x / || exit 1" ++ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO ++ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO ++ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && ++ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" ++ if (eval "$as_required") 2>/dev/null; then : ++ as_have_required=yes ++else ++ as_have_required=no ++fi ++ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : ++ ++else ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_found=false ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ as_found=: ++ case $as_dir in #( ++ /*) ++ for as_base in sh bash ksh sh5; do ++ # Try only shells that exist, to save several forks. ++ as_shell=$as_dir/$as_base ++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && ++ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : ++ CONFIG_SHELL=$as_shell as_have_required=yes ++ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : ++ break 2 ++fi ++fi ++ done;; ++ esac ++ as_found=false ++done ++$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && ++ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : ++ CONFIG_SHELL=$SHELL as_have_required=yes ++fi; } ++IFS=$as_save_IFS ++ ++ ++ if test "x$CONFIG_SHELL" != x; then : ++ export CONFIG_SHELL ++ # We cannot yet assume a decent shell, so we have to provide a ++# neutralization value for shells without unset; and this also ++# works around shells that cannot unset nonexistent variables. ++# Preserve -v and -x to the replacement shell. ++BASH_ENV=/dev/null ++ENV=/dev/null ++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV ++case $- in # (((( ++ *v*x* | *x*v* ) as_opts=-vx ;; ++ *v* ) as_opts=-v ;; ++ *x* ) as_opts=-x ;; ++ * ) as_opts= ;; ++esac ++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} ++# Admittedly, this is quite paranoid, since all the known shells bail ++# out after a failed `exec'. ++$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 ++exit 255 ++fi ++ ++ if test x$as_have_required = xno; then : ++ $as_echo "$0: This script requires a shell more modern than all" ++ $as_echo "$0: the shells that I found on your system." ++ if test x${ZSH_VERSION+set} = xset ; then ++ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" ++ $as_echo "$0: be upgraded to zsh 4.3.4 or later." ++ else ++ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, ++$0: including any error possibly output before this ++$0: message. Then install a modern shell, or manually run ++$0: the script under such a shell if you do have one." ++ fi ++ exit 1 ++fi ++fi ++fi ++SHELL=${CONFIG_SHELL-/bin/sh} ++export SHELL ++# Unset more variables known to interfere with behavior of common tools. ++CLICOLOR_FORCE= GREP_OPTIONS= ++unset CLICOLOR_FORCE GREP_OPTIONS ++ ++## --------------------- ## ++## M4sh Shell Functions. ## ++## --------------------- ## ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset ++ ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status ++ ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit ++ ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ ++ ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" ++ ++ ++} # as_fn_mkdir_p ++ ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : ++ eval 'as_fn_append () ++ { ++ eval $1+=\$2 ++ }' ++else ++ as_fn_append () ++ { ++ eval $1=\$$1\$2 ++ } ++fi # as_fn_append ++ ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith ++ ++ ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ $as_echo "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error ++ ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++ ++ as_lineno_1=$LINENO as_lineno_1a=$LINENO ++ as_lineno_2=$LINENO as_lineno_2a=$LINENO ++ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && ++ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { ++ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) ++ sed -n ' ++ p ++ /[$]LINENO/= ++ ' <$as_myself | ++ sed ' ++ s/[$]LINENO.*/&-/ ++ t lineno ++ b ++ :lineno ++ N ++ :loop ++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ ++ t loop ++ s/-\n.*// ++ ' >$as_me.lineno && ++ chmod +x "$as_me.lineno" || ++ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } ++ ++ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have ++ # already done that, so ensure we don't try to do so again and fall ++ # in an infinite loop. This has already happened in practice. ++ _as_can_reexec=no; export _as_can_reexec ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensitive to this). ++ . "./$as_me.lineno" ++ # Exit status is that of the last command. ++ exit ++} ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null ++fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++ else ++ as_ln_s='cp -pR' ++ fi ++else ++ as_ln_s='cp -pR' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null ++ ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++ ++test -n "$DJDIR" || exec 7<&0 &1 ++ ++# Name of the host. ++# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, ++# so uname gets run too. ++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` ++ ++# ++# Initializations. ++# ++ac_default_prefix=/usr/local ++ac_clean_files= ++ac_config_libobj_dir=. ++LIBOBJS= ++cross_compiling=no ++subdirs= ++MFLAGS= ++MAKEFLAGS= ++ ++# Identity of this package. ++PACKAGE_NAME= ++PACKAGE_TARNAME= ++PACKAGE_VERSION= ++PACKAGE_STRING= ++PACKAGE_BUGREPORT= ++PACKAGE_URL= ++ ++ac_unique_file="abort.c" ++ac_subst_vars='LTLIBOBJS ++LIBOBJS ++host_makefile_frag_path ++CCASFLAGS ++CCAS ++RANLIB ++LD ++AR ++AS ++am__fastdepCC_FALSE ++am__fastdepCC_TRUE ++CCDEPMODE ++AMDEPBACKSLASH ++AMDEP_FALSE ++AMDEP_TRUE ++am__quote ++am__include ++DEPDIR ++am__leading_dot ++CC ++INSTALL_DATA ++INSTALL_SCRIPT ++INSTALL_PROGRAM ++target_os ++target_vendor ++target_cpu ++target ++host_os ++host_vendor ++host_cpu ++host ++build_os ++build_vendor ++build_cpu ++build ++target_alias ++host_alias ++build_alias ++LIBS ++ECHO_T ++ECHO_N ++ECHO_C ++DEFS ++mandir ++localedir ++libdir ++psdir ++pdfdir ++dvidir ++htmldir ++infodir ++docdir ++oldincludedir ++includedir ++localstatedir ++sharedstatedir ++sysconfdir ++datadir ++datarootdir ++libexecdir ++sbindir ++bindir ++program_transform_name ++prefix ++exec_prefix ++PACKAGE_URL ++PACKAGE_BUGREPORT ++PACKAGE_STRING ++PACKAGE_VERSION ++PACKAGE_TARNAME ++PACKAGE_NAME ++PATH_SEPARATOR ++SHELL' ++ac_subst_files='host_makefile_frag' ++ac_user_opts=' ++enable_option_checking ++enable_dependency_tracking ++' ++ ac_precious_vars='build_alias ++host_alias ++target_alias ++CCAS ++CCASFLAGS' ++ ++ ++# Initialize some variables set by options. ++ac_init_help= ++ac_init_version=false ++ac_unrecognized_opts= ++ac_unrecognized_sep= ++# The variables have the same names as the options, with ++# dashes changed to underlines. ++cache_file=/dev/null ++exec_prefix=NONE ++no_create= ++no_recursion= ++prefix=NONE ++program_prefix=NONE ++program_suffix=NONE ++program_transform_name=s,x,x, ++silent= ++site= ++srcdir= ++verbose= ++x_includes=NONE ++x_libraries=NONE ++ ++# Installation directory options. ++# These are left unexpanded so users can "make install exec_prefix=/foo" ++# and all the variables that are supposed to be based on exec_prefix ++# by default will actually change. ++# Use braces instead of parens because sh, perl, etc. also accept them. ++# (The list follows the same order as the GNU Coding Standards.) ++bindir='${exec_prefix}/bin' ++sbindir='${exec_prefix}/sbin' ++libexecdir='${exec_prefix}/libexec' ++datarootdir='${prefix}/share' ++datadir='${datarootdir}' ++sysconfdir='${prefix}/etc' ++sharedstatedir='${prefix}/com' ++localstatedir='${prefix}/var' ++includedir='${prefix}/include' ++oldincludedir='/usr/include' ++docdir='${datarootdir}/doc/${PACKAGE}' ++infodir='${datarootdir}/info' ++htmldir='${docdir}' ++dvidir='${docdir}' ++pdfdir='${docdir}' ++psdir='${docdir}' ++libdir='${exec_prefix}/lib' ++localedir='${datarootdir}/locale' ++mandir='${datarootdir}/man' ++ ++ac_prev= ++ac_dashdash= ++for ac_option ++do ++ # If the previous option needs an argument, assign it. ++ if test -n "$ac_prev"; then ++ eval $ac_prev=\$ac_option ++ ac_prev= ++ continue ++ fi ++ ++ case $ac_option in ++ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; ++ *=) ac_optarg= ;; ++ *) ac_optarg=yes ;; ++ esac ++ ++ # Accept the important Cygnus configure options, so we can diagnose typos. ++ ++ case $ac_dashdash$ac_option in ++ --) ++ ac_dashdash=yes ;; ++ ++ -bindir | --bindir | --bindi | --bind | --bin | --bi) ++ ac_prev=bindir ;; ++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) ++ bindir=$ac_optarg ;; ++ ++ -build | --build | --buil | --bui | --bu) ++ ac_prev=build_alias ;; ++ -build=* | --build=* | --buil=* | --bui=* | --bu=*) ++ build_alias=$ac_optarg ;; ++ ++ -cache-file | --cache-file | --cache-fil | --cache-fi \ ++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ++ ac_prev=cache_file ;; ++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ ++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) ++ cache_file=$ac_optarg ;; ++ ++ --config-cache | -C) ++ cache_file=config.cache ;; ++ ++ -datadir | --datadir | --datadi | --datad) ++ ac_prev=datadir ;; ++ -datadir=* | --datadir=* | --datadi=* | --datad=*) ++ datadir=$ac_optarg ;; ++ ++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ ++ | --dataroo | --dataro | --datar) ++ ac_prev=datarootdir ;; ++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ ++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) ++ datarootdir=$ac_optarg ;; ++ ++ -disable-* | --disable-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid feature name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"enable_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval enable_$ac_useropt=no ;; ++ ++ -docdir | --docdir | --docdi | --doc | --do) ++ ac_prev=docdir ;; ++ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) ++ docdir=$ac_optarg ;; ++ ++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ++ ac_prev=dvidir ;; ++ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) ++ dvidir=$ac_optarg ;; ++ ++ -enable-* | --enable-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid feature name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"enable_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval enable_$ac_useropt=\$ac_optarg ;; ++ ++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ ++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ ++ | --exec | --exe | --ex) ++ ac_prev=exec_prefix ;; ++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ ++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ ++ | --exec=* | --exe=* | --ex=*) ++ exec_prefix=$ac_optarg ;; ++ ++ -gas | --gas | --ga | --g) ++ # Obsolete; use --with-gas. ++ with_gas=yes ;; ++ ++ -help | --help | --hel | --he | -h) ++ ac_init_help=long ;; ++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ++ ac_init_help=recursive ;; ++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ++ ac_init_help=short ;; ++ ++ -host | --host | --hos | --ho) ++ ac_prev=host_alias ;; ++ -host=* | --host=* | --hos=* | --ho=*) ++ host_alias=$ac_optarg ;; ++ ++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ++ ac_prev=htmldir ;; ++ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ ++ | --ht=*) ++ htmldir=$ac_optarg ;; ++ ++ -includedir | --includedir | --includedi | --included | --include \ ++ | --includ | --inclu | --incl | --inc) ++ ac_prev=includedir ;; ++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ ++ | --includ=* | --inclu=* | --incl=* | --inc=*) ++ includedir=$ac_optarg ;; ++ ++ -infodir | --infodir | --infodi | --infod | --info | --inf) ++ ac_prev=infodir ;; ++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) ++ infodir=$ac_optarg ;; ++ ++ -libdir | --libdir | --libdi | --libd) ++ ac_prev=libdir ;; ++ -libdir=* | --libdir=* | --libdi=* | --libd=*) ++ libdir=$ac_optarg ;; ++ ++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ ++ | --libexe | --libex | --libe) ++ ac_prev=libexecdir ;; ++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ ++ | --libexe=* | --libex=* | --libe=*) ++ libexecdir=$ac_optarg ;; ++ ++ -localedir | --localedir | --localedi | --localed | --locale) ++ ac_prev=localedir ;; ++ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) ++ localedir=$ac_optarg ;; ++ ++ -localstatedir | --localstatedir | --localstatedi | --localstated \ ++ | --localstate | --localstat | --localsta | --localst | --locals) ++ ac_prev=localstatedir ;; ++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ ++ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) ++ localstatedir=$ac_optarg ;; ++ ++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ++ ac_prev=mandir ;; ++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) ++ mandir=$ac_optarg ;; ++ ++ -nfp | --nfp | --nf) ++ # Obsolete; use --without-fp. ++ with_fp=no ;; ++ ++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ++ | --no-cr | --no-c | -n) ++ no_create=yes ;; ++ ++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ ++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ++ no_recursion=yes ;; ++ ++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ ++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ ++ | --oldin | --oldi | --old | --ol | --o) ++ ac_prev=oldincludedir ;; ++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ ++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ ++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) ++ oldincludedir=$ac_optarg ;; ++ ++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ++ ac_prev=prefix ;; ++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ++ prefix=$ac_optarg ;; ++ ++ -program-prefix | --program-prefix | --program-prefi | --program-pref \ ++ | --program-pre | --program-pr | --program-p) ++ ac_prev=program_prefix ;; ++ -program-prefix=* | --program-prefix=* | --program-prefi=* \ ++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) ++ program_prefix=$ac_optarg ;; ++ ++ -program-suffix | --program-suffix | --program-suffi | --program-suff \ ++ | --program-suf | --program-su | --program-s) ++ ac_prev=program_suffix ;; ++ -program-suffix=* | --program-suffix=* | --program-suffi=* \ ++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) ++ program_suffix=$ac_optarg ;; ++ ++ -program-transform-name | --program-transform-name \ ++ | --program-transform-nam | --program-transform-na \ ++ | --program-transform-n | --program-transform- \ ++ | --program-transform | --program-transfor \ ++ | --program-transfo | --program-transf \ ++ | --program-trans | --program-tran \ ++ | --progr-tra | --program-tr | --program-t) ++ ac_prev=program_transform_name ;; ++ -program-transform-name=* | --program-transform-name=* \ ++ | --program-transform-nam=* | --program-transform-na=* \ ++ | --program-transform-n=* | --program-transform-=* \ ++ | --program-transform=* | --program-transfor=* \ ++ | --program-transfo=* | --program-transf=* \ ++ | --program-trans=* | --program-tran=* \ ++ | --progr-tra=* | --program-tr=* | --program-t=*) ++ program_transform_name=$ac_optarg ;; ++ ++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ++ ac_prev=pdfdir ;; ++ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) ++ pdfdir=$ac_optarg ;; ++ ++ -psdir | --psdir | --psdi | --psd | --ps) ++ ac_prev=psdir ;; ++ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) ++ psdir=$ac_optarg ;; ++ ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ silent=yes ;; ++ ++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ++ ac_prev=sbindir ;; ++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ ++ | --sbi=* | --sb=*) ++ sbindir=$ac_optarg ;; ++ ++ -sharedstatedir | --sharedstatedir | --sharedstatedi \ ++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ ++ | --sharedst | --shareds | --shared | --share | --shar \ ++ | --sha | --sh) ++ ac_prev=sharedstatedir ;; ++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ ++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ ++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ ++ | --sha=* | --sh=*) ++ sharedstatedir=$ac_optarg ;; ++ ++ -site | --site | --sit) ++ ac_prev=site ;; ++ -site=* | --site=* | --sit=*) ++ site=$ac_optarg ;; ++ ++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ++ ac_prev=srcdir ;; ++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ++ srcdir=$ac_optarg ;; ++ ++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ ++ | --syscon | --sysco | --sysc | --sys | --sy) ++ ac_prev=sysconfdir ;; ++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ ++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) ++ sysconfdir=$ac_optarg ;; ++ ++ -target | --target | --targe | --targ | --tar | --ta | --t) ++ ac_prev=target_alias ;; ++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) ++ target_alias=$ac_optarg ;; ++ ++ -v | -verbose | --verbose | --verbos | --verbo | --verb) ++ verbose=yes ;; ++ ++ -version | --version | --versio | --versi | --vers | -V) ++ ac_init_version=: ;; ++ ++ -with-* | --with-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid package name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"with_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval with_$ac_useropt=\$ac_optarg ;; ++ ++ -without-* | --without-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid package name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"with_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval with_$ac_useropt=no ;; ++ ++ --x) ++ # Obsolete; use --with-x. ++ with_x=yes ;; ++ ++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ ++ | --x-incl | --x-inc | --x-in | --x-i) ++ ac_prev=x_includes ;; ++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ ++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) ++ x_includes=$ac_optarg ;; ++ ++ -x-libraries | --x-libraries | --x-librarie | --x-librari \ ++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ++ ac_prev=x_libraries ;; ++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ ++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) ++ x_libraries=$ac_optarg ;; ++ ++ -*) as_fn_error $? "unrecognized option: \`$ac_option' ++Try \`$0 --help' for more information" ++ ;; ++ ++ *=*) ++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` ++ # Reject names that are not valid shell variable names. ++ case $ac_envvar in #( ++ '' | [0-9]* | *[!_$as_cr_alnum]* ) ++ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; ++ esac ++ eval $ac_envvar=\$ac_optarg ++ export $ac_envvar ;; ++ ++ *) ++ # FIXME: should be removed in autoconf 3.0. ++ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 ++ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ++ ;; ++ ++ esac ++done ++ ++if test -n "$ac_prev"; then ++ ac_option=--`echo $ac_prev | sed 's/_/-/g'` ++ as_fn_error $? "missing argument to $ac_option" ++fi ++ ++if test -n "$ac_unrecognized_opts"; then ++ case $enable_option_checking in ++ no) ;; ++ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; ++ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; ++ esac ++fi ++ ++# Check all directory arguments for consistency. ++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ ++ datadir sysconfdir sharedstatedir localstatedir includedir \ ++ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ ++ libdir localedir mandir ++do ++ eval ac_val=\$$ac_var ++ # Remove trailing slashes. ++ case $ac_val in ++ */ ) ++ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` ++ eval $ac_var=\$ac_val;; ++ esac ++ # Be sure to have absolute directory names. ++ case $ac_val in ++ [\\/$]* | ?:[\\/]* ) continue;; ++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; ++ esac ++ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" ++done ++ ++# There might be people who depend on the old broken behavior: `$host' ++# used to hold the argument of --host etc. ++# FIXME: To remove some day. ++build=$build_alias ++host=$host_alias ++target=$target_alias ++ ++# FIXME: To remove some day. ++if test "x$host_alias" != x; then ++ if test "x$build_alias" = x; then ++ cross_compiling=maybe ++ elif test "x$build_alias" != "x$host_alias"; then ++ cross_compiling=yes ++ fi ++fi ++ ++ac_tool_prefix= ++test -n "$host_alias" && ac_tool_prefix=$host_alias- ++ ++test "$silent" = yes && exec 6>/dev/null ++ ++ ++ac_pwd=`pwd` && test -n "$ac_pwd" && ++ac_ls_di=`ls -di .` && ++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || ++ as_fn_error $? "working directory cannot be determined" ++test "X$ac_ls_di" = "X$ac_pwd_ls_di" || ++ as_fn_error $? "pwd does not report name of working directory" ++ ++ ++# Find the source files, if location was not specified. ++if test -z "$srcdir"; then ++ ac_srcdir_defaulted=yes ++ # Try the directory containing this script, then the parent directory. ++ ac_confdir=`$as_dirname -- "$as_myself" || ++$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_myself" : 'X\(//\)[^/]' \| \ ++ X"$as_myself" : 'X\(//\)$' \| \ ++ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_myself" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ srcdir=$ac_confdir ++ if test ! -r "$srcdir/$ac_unique_file"; then ++ srcdir=.. ++ fi ++else ++ ac_srcdir_defaulted=no ++fi ++if test ! -r "$srcdir/$ac_unique_file"; then ++ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." ++ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" ++fi ++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ++ac_abs_confdir=`( ++ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" ++ pwd)` ++# When building in place, set srcdir=. ++if test "$ac_abs_confdir" = "$ac_pwd"; then ++ srcdir=. ++fi ++# Remove unnecessary trailing slashes from srcdir. ++# Double slashes in file names in object file debugging info ++# mess up M-x gdb in Emacs. ++case $srcdir in ++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; ++esac ++for ac_var in $ac_precious_vars; do ++ eval ac_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_env_${ac_var}_value=\$${ac_var} ++ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_cv_env_${ac_var}_value=\$${ac_var} ++done ++ ++# ++# Report the --help message. ++# ++if test "$ac_init_help" = "long"; then ++ # Omit some internal or obsolete options to make the list less imposing. ++ # This message is too long to be a string in the A/UX 3.1 sh. ++ cat <<_ACEOF ++\`configure' configures this package to adapt to many kinds of systems. ++ ++Usage: $0 [OPTION]... [VAR=VALUE]... ++ ++To assign environment variables (e.g., CC, CFLAGS...), specify them as ++VAR=VALUE. See below for descriptions of some of the useful variables. ++ ++Defaults for the options are specified in brackets. ++ ++Configuration: ++ -h, --help display this help and exit ++ --help=short display options specific to this package ++ --help=recursive display the short help of all the included packages ++ -V, --version display version information and exit ++ -q, --quiet, --silent do not print \`checking ...' messages ++ --cache-file=FILE cache test results in FILE [disabled] ++ -C, --config-cache alias for \`--cache-file=config.cache' ++ -n, --no-create do not create output files ++ --srcdir=DIR find the sources in DIR [configure dir or \`..'] ++ ++Installation directories: ++ --prefix=PREFIX install architecture-independent files in PREFIX ++ [$ac_default_prefix] ++ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX ++ [PREFIX] ++ ++By default, \`make install' will install all the files in ++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify ++an installation prefix other than \`$ac_default_prefix' using \`--prefix', ++for instance \`--prefix=\$HOME'. ++ ++For better control, use the options below. ++ ++Fine tuning of the installation directories: ++ --bindir=DIR user executables [EPREFIX/bin] ++ --sbindir=DIR system admin executables [EPREFIX/sbin] ++ --libexecdir=DIR program executables [EPREFIX/libexec] ++ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] ++ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] ++ --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --libdir=DIR object code libraries [EPREFIX/lib] ++ --includedir=DIR C header files [PREFIX/include] ++ --oldincludedir=DIR C header files for non-gcc [/usr/include] ++ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] ++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] ++ --infodir=DIR info documentation [DATAROOTDIR/info] ++ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] ++ --mandir=DIR man documentation [DATAROOTDIR/man] ++ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] ++ --htmldir=DIR html documentation [DOCDIR] ++ --dvidir=DIR dvi documentation [DOCDIR] ++ --pdfdir=DIR pdf documentation [DOCDIR] ++ --psdir=DIR ps documentation [DOCDIR] ++_ACEOF ++ ++ cat <<\_ACEOF ++ ++Program names: ++ --program-prefix=PREFIX prepend PREFIX to installed program names ++ --program-suffix=SUFFIX append SUFFIX to installed program names ++ --program-transform-name=PROGRAM run sed PROGRAM on installed program names ++ ++System types: ++ --build=BUILD configure for building on BUILD [guessed] ++ --host=HOST cross-compile to build programs to run on HOST [BUILD] ++ --target=TARGET configure for building compilers for TARGET [HOST] ++_ACEOF ++fi ++ ++if test -n "$ac_init_help"; then ++ ++ cat <<\_ACEOF ++ ++Optional Features: ++ --disable-option-checking ignore unrecognized --enable/--with options ++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) ++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] ++ --disable-dependency-tracking speeds up one-time build ++ --enable-dependency-tracking do not reject slow dependency extractors ++ ++Some influential environment variables: ++ CCAS assembler compiler command (defaults to CC) ++ CCASFLAGS assembler compiler flags (defaults to CFLAGS) ++ ++Use these variables to override the choices made by `configure' or to help ++it to find libraries and programs with nonstandard names/locations. ++ ++Report bugs to the package provider. ++_ACEOF ++ac_status=$? ++fi ++ ++if test "$ac_init_help" = "recursive"; then ++ # If there are subdirs, report their specific --help. ++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue ++ test -d "$ac_dir" || ++ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || ++ continue ++ ac_builddir=. ++ ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix ++ ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ cd "$ac_dir" || { ac_status=$?; continue; } ++ # Check for guested configure. ++ if test -f "$ac_srcdir/configure.gnu"; then ++ echo && ++ $SHELL "$ac_srcdir/configure.gnu" --help=recursive ++ elif test -f "$ac_srcdir/configure"; then ++ echo && ++ $SHELL "$ac_srcdir/configure" --help=recursive ++ else ++ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ fi || ac_status=$? ++ cd "$ac_pwd" || { ac_status=$?; break; } ++ done ++fi ++ ++test -n "$ac_init_help" && exit $ac_status ++if $ac_init_version; then ++ cat <<\_ACEOF ++configure ++generated by GNU Autoconf 2.69 ++ ++Copyright (C) 2012 Free Software Foundation, Inc. ++This configure script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it. ++_ACEOF ++ exit ++fi ++ ++## ------------------------ ## ++## Autoconf initialization. ## ++## ------------------------ ## ++ ++# ac_fn_c_try_compile LINENO ++# -------------------------- ++# Try to compile conftest.$ac_ext, and return whether this succeeded. ++ac_fn_c_try_compile () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ rm -f conftest.$ac_objext ++ if { { ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" ++$as_echo "$ac_try_echo"; } >&5 ++ (eval "$ac_compile") 2>conftest.err ++ ac_status=$? ++ if test -s conftest.err; then ++ grep -v '^ *+' conftest.err >conftest.er1 ++ cat conftest.er1 >&5 ++ mv -f conftest.er1 conftest.err ++ fi ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then : ++ ac_retval=0 ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_retval=1 ++fi ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ as_fn_set_status $ac_retval ++ ++} # ac_fn_c_try_compile ++cat >config.log <<_ACEOF ++This file contains any messages produced by compilers while ++running configure, to aid debugging if configure makes a mistake. ++ ++It was created by $as_me, which was ++generated by GNU Autoconf 2.69. Invocation command line was ++ ++ $ $0 $@ ++ ++_ACEOF ++exec 5>>config.log ++{ ++cat <<_ASUNAME ++## --------- ## ++## Platform. ## ++## --------- ## ++ ++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` ++uname -m = `(uname -m) 2>/dev/null || echo unknown` ++uname -r = `(uname -r) 2>/dev/null || echo unknown` ++uname -s = `(uname -s) 2>/dev/null || echo unknown` ++uname -v = `(uname -v) 2>/dev/null || echo unknown` ++ ++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` ++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` ++ ++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` ++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` ++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` ++/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` ++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` ++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` ++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` ++ ++_ASUNAME ++ ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ $as_echo "PATH: $as_dir" ++ done ++IFS=$as_save_IFS ++ ++} >&5 ++ ++cat >&5 <<_ACEOF ++ ++ ++## ----------- ## ++## Core tests. ## ++## ----------- ## ++ ++_ACEOF ++ ++ ++# Keep a trace of the command line. ++# Strip out --no-create and --no-recursion so they do not pile up. ++# Strip out --silent because we don't want to record it for future runs. ++# Also quote any args containing shell meta-characters. ++# Make two passes to allow for proper duplicate-argument suppression. ++ac_configure_args= ++ac_configure_args0= ++ac_configure_args1= ++ac_must_keep_next=false ++for ac_pass in 1 2 ++do ++ for ac_arg ++ do ++ case $ac_arg in ++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ continue ;; ++ *\'*) ++ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ case $ac_pass in ++ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; ++ 2) ++ as_fn_append ac_configure_args1 " '$ac_arg'" ++ if test $ac_must_keep_next = true; then ++ ac_must_keep_next=false # Got value, back to normal. ++ else ++ case $ac_arg in ++ *=* | --config-cache | -C | -disable-* | --disable-* \ ++ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ ++ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ ++ | -with-* | --with-* | -without-* | --without-* | --x) ++ case "$ac_configure_args0 " in ++ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; ++ esac ++ ;; ++ -* ) ac_must_keep_next=true ;; ++ esac ++ fi ++ as_fn_append ac_configure_args " '$ac_arg'" ++ ;; ++ esac ++ done ++done ++{ ac_configure_args0=; unset ac_configure_args0;} ++{ ac_configure_args1=; unset ac_configure_args1;} ++ ++# When interrupted or exit'd, cleanup temporary files, and complete ++# config.log. We remove comments because anyway the quotes in there ++# would cause problems or look ugly. ++# WARNING: Use '\'' to represent an apostrophe within the trap. ++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. ++trap 'exit_status=$? ++ # Save into config.log some information that might help in debugging. ++ { ++ echo ++ ++ $as_echo "## ---------------- ## ++## Cache variables. ## ++## ---------------- ##" ++ echo ++ # The following way of writing the cache mishandles newlines in values, ++( ++ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( ++ *) { eval $ac_var=; unset $ac_var;} ;; ++ esac ;; ++ esac ++ done ++ (set) 2>&1 | ++ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ sed -n \ ++ "s/'\''/'\''\\\\'\'''\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ++ ;; #( ++ *) ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) ++ echo ++ ++ $as_echo "## ----------------- ## ++## Output variables. ## ++## ----------------- ##" ++ echo ++ for ac_var in $ac_subst_vars ++ do ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ $as_echo "$ac_var='\''$ac_val'\''" ++ done | sort ++ echo ++ ++ if test -n "$ac_subst_files"; then ++ $as_echo "## ------------------- ## ++## File substitutions. ## ++## ------------------- ##" ++ echo ++ for ac_var in $ac_subst_files ++ do ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ $as_echo "$ac_var='\''$ac_val'\''" ++ done | sort ++ echo ++ fi ++ ++ if test -s confdefs.h; then ++ $as_echo "## ----------- ## ++## confdefs.h. ## ++## ----------- ##" ++ echo ++ cat confdefs.h ++ echo ++ fi ++ test "$ac_signal" != 0 && ++ $as_echo "$as_me: caught signal $ac_signal" ++ $as_echo "$as_me: exit $exit_status" ++ } >&5 ++ rm -f core *.core core.conftest.* && ++ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && ++ exit $exit_status ++' 0 ++for ac_signal in 1 2 13 15; do ++ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal ++done ++ac_signal=0 ++ ++# confdefs.h avoids OS command line length limits that DEFS can exceed. ++rm -f -r conftest* confdefs.h ++ ++$as_echo "/* confdefs.h */" > confdefs.h ++ ++# Predefined preprocessor variables. ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_NAME "$PACKAGE_NAME" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_TARNAME "$PACKAGE_TARNAME" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_VERSION "$PACKAGE_VERSION" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_STRING "$PACKAGE_STRING" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" ++_ACEOF ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_URL "$PACKAGE_URL" ++_ACEOF ++ ++ ++# Let the site file select an alternate cache file if it wants to. ++# Prefer an explicitly selected file to automatically selected ones. ++ac_site_file1=NONE ++ac_site_file2=NONE ++if test -n "$CONFIG_SITE"; then ++ # We do not want a PATH search for config.site. ++ case $CONFIG_SITE in #(( ++ -*) ac_site_file1=./$CONFIG_SITE;; ++ */*) ac_site_file1=$CONFIG_SITE;; ++ *) ac_site_file1=./$CONFIG_SITE;; ++ esac ++elif test "x$prefix" != xNONE; then ++ ac_site_file1=$prefix/share/config.site ++ ac_site_file2=$prefix/etc/config.site ++else ++ ac_site_file1=$ac_default_prefix/share/config.site ++ ac_site_file2=$ac_default_prefix/etc/config.site ++fi ++for ac_site_file in "$ac_site_file1" "$ac_site_file2" ++do ++ test "x$ac_site_file" = xNONE && continue ++ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 ++$as_echo "$as_me: loading site script $ac_site_file" >&6;} ++ sed 's/^/| /' "$ac_site_file" >&5 ++ . "$ac_site_file" \ ++ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "failed to load site script $ac_site_file ++See \`config.log' for more details" "$LINENO" 5; } ++ fi ++done ++ ++if test -r "$cache_file"; then ++ # Some versions of bash will fail to source /dev/null (special files ++ # actually), so we avoid doing that. DJGPP emulates it as a regular file. ++ if test /dev/null != "$cache_file" && test -f "$cache_file"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 ++$as_echo "$as_me: loading cache $cache_file" >&6;} ++ case $cache_file in ++ [\\/]* | ?:[\\/]* ) . "$cache_file";; ++ *) . "./$cache_file";; ++ esac ++ fi ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 ++$as_echo "$as_me: creating cache $cache_file" >&6;} ++ >$cache_file ++fi ++ ++# Check that the precious variables saved in the cache have kept the same ++# value. ++ac_cache_corrupted=false ++for ac_var in $ac_precious_vars; do ++ eval ac_old_set=\$ac_cv_env_${ac_var}_set ++ eval ac_new_set=\$ac_env_${ac_var}_set ++ eval ac_old_val=\$ac_cv_env_${ac_var}_value ++ eval ac_new_val=\$ac_env_${ac_var}_value ++ case $ac_old_set,$ac_new_set in ++ set,) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,set) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 ++$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,);; ++ *) ++ if test "x$ac_old_val" != "x$ac_new_val"; then ++ # differences in whitespace do not lead to failure. ++ ac_old_val_w=`echo x $ac_old_val` ++ ac_new_val_w=`echo x $ac_new_val` ++ if test "$ac_old_val_w" != "$ac_new_val_w"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 ++$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ++ ac_cache_corrupted=: ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 ++$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} ++ eval $ac_var=\$ac_old_val ++ fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 ++$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} ++ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 ++$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} ++ fi;; ++ esac ++ # Pass precious variables to config.status. ++ if test "$ac_new_set" = set; then ++ case $ac_new_val in ++ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *) ac_arg=$ac_var=$ac_new_val ;; ++ esac ++ case " $ac_configure_args " in ++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. ++ *) as_fn_append ac_configure_args " '$ac_arg'" ;; ++ esac ++ fi ++done ++if $ac_cache_corrupted; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 ++$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} ++ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 ++fi ++## -------------------- ## ++## Main body of script. ## ++## -------------------- ## ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ++ac_config_headers="$ac_config_headers config.h" ++ ++ ++if test "${enable_shared}" = "yes" ; then ++ echo "Shared libraries not supported for cross compiling, ignored" ++fi ++ ++if test "$srcdir" = "." ; then ++ if test "${with_target_subdir}" != "." ; then ++ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." ++ else ++ libgloss_topdir="${srcdir}/${with_multisrctop}../.." ++ fi ++else ++ libgloss_topdir="${srcdir}/../.." ++fi ++ac_aux_dir= ++for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do ++ if test -f "$ac_dir/install-sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install-sh -c" ++ break ++ elif test -f "$ac_dir/install.sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install.sh -c" ++ break ++ elif test -f "$ac_dir/shtool"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/shtool install -c" ++ break ++ fi ++done ++if test -z "$ac_aux_dir"; then ++ as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5 ++fi ++ ++# These three variables are undocumented and unsupported, ++# and are intended to be withdrawn in a future Autoconf release. ++# They can cause serious problems if a builder's source tree is in a directory ++# whose full name contains unusual characters. ++ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ++ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ++ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ++ ++ ++ ++# Make sure we can run config.sub. ++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || ++ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 ++$as_echo_n "checking build system type... " >&6; } ++if ${ac_cv_build+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_build_alias=$build_alias ++test "x$ac_build_alias" = x && ++ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` ++test "x$ac_build_alias" = x && ++ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 ++$as_echo "$ac_cv_build" >&6; } ++case $ac_cv_build in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; ++esac ++build=$ac_cv_build ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_build ++shift ++build_cpu=$1 ++build_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++build_os=$* ++IFS=$ac_save_IFS ++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 ++$as_echo_n "checking host system type... " >&6; } ++if ${ac_cv_host+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test "x$host_alias" = x; then ++ ac_cv_host=$ac_cv_build ++else ++ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 ++$as_echo "$ac_cv_host" >&6; } ++case $ac_cv_host in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; ++esac ++host=$ac_cv_host ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_host ++shift ++host_cpu=$1 ++host_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++host_os=$* ++IFS=$ac_save_IFS ++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 ++$as_echo_n "checking target system type... " >&6; } ++if ${ac_cv_target+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test "x$target_alias" = x; then ++ ac_cv_target=$ac_cv_host ++else ++ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 ++$as_echo "$ac_cv_target" >&6; } ++case $ac_cv_target in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; ++esac ++target=$ac_cv_target ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_target ++shift ++target_cpu=$1 ++target_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++target_os=$* ++IFS=$ac_save_IFS ++case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac ++ ++ ++# The aliases save the names the user supplied, while $host etc. ++# will get canonicalized. ++test -n "$target_alias" && ++ test "$program_prefix$program_suffix$program_transform_name" = \ ++ NONENONEs,x,x, && ++ program_prefix=${target_alias}- ++ ++test "$program_prefix" != NONE && ++ program_transform_name="s&^&$program_prefix&;$program_transform_name" ++# Use a double $ so make ignores it. ++test "$program_suffix" != NONE && ++ program_transform_name="s&\$&$program_suffix&;$program_transform_name" ++# Double any \ or $. ++# By default was `s,x,x', remove it if useless. ++ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' ++program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` ++ ++ ++# Find a good install program. We prefer a C program (faster), ++# so one script is as good as another. But avoid the broken or ++# incompatible versions: ++# SysV /etc/install, /usr/sbin/install ++# SunOS /usr/etc/install ++# IRIX /sbin/install ++# AIX /bin/install ++# AmigaOS /C/install, which installs bootblocks on floppy discs ++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag ++# AFS /usr/afsws/bin/install, which mishandles nonexistent args ++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" ++# OS/2's system install, which has a completely different semantic ++# ./install, which can be erroneously created by make from ./install.sh. ++# Reject install programs that cannot install multiple files. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 ++$as_echo_n "checking for a BSD-compatible install... " >&6; } ++if test -z "$INSTALL"; then ++if ${ac_cv_path_install+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ # Account for people who put trailing slashes in PATH elements. ++case $as_dir/ in #(( ++ ./ | .// | /[cC]/* | \ ++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ++ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ ++ /usr/ucb/* ) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then ++ if test $ac_prog = install && ++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ elif test $ac_prog = install && ++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # program-specific install script used by HP pwplus--don't use. ++ : ++ else ++ rm -rf conftest.one conftest.two conftest.dir ++ echo one > conftest.one ++ echo two > conftest.two ++ mkdir conftest.dir ++ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && ++ test -s conftest.one && test -s conftest.two && ++ test -s conftest.dir/conftest.one && ++ test -s conftest.dir/conftest.two ++ then ++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" ++ break 3 ++ fi ++ fi ++ fi ++ done ++ done ++ ;; ++esac ++ ++ done ++IFS=$as_save_IFS ++ ++rm -rf conftest.one conftest.two conftest.dir ++ ++fi ++ if test "${ac_cv_path_install+set}" = set; then ++ INSTALL=$ac_cv_path_install ++ else ++ # As a last resort, use the slow shell script. Don't cache a ++ # value for INSTALL within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the value is a relative name. ++ INSTALL=$ac_install_sh ++ fi ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 ++$as_echo "$INSTALL" >&6; } ++ ++# Use test -z because SunOS4 sh mishandles braces in ${var-val}. ++# It thinks the first close brace ends the variable substitution. ++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' ++ ++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' ++ ++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++ ++ ++$as_echo "#define HAVE_GNU_LD 1" >>confdefs.h ++ ++case "${target}" in ++ *-*-cygwin*) ++ ;; ++ a29k-amd-udi) ++ ;; ++ arc-*-*) ++ ;; ++ arm-*-eabi) ++ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h ++ ++ ;; ++ arm*-*-*) ++ ;; ++ bfin-*-*) ++ ;; ++ cris-*-* | crisv32-*-*) ++ ;; ++ d10v*) ++ ;; ++ h8300*-*-*) ++ ;; ++ h8500-*-*) ++ ;; ++ i345686-*-sco*) ++ ;; ++ lm32-*-*) ++ ;; ++ m32r-*-*) ++ ;; ++ mn10?00-*-*) ++ ;; ++ powerpc-*-eabi) ++ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h ++ ++ ;; ++ powerpcle-*-pe) ++ ;; ++ sh*-*-*) ++ ;; ++ sparc-sun-sunos*) ++ ;; ++ sparc64-*-*) ++ ;; ++ v850*-*-*) ++ ;; ++ w65-*-*) ++ ;; ++ xstormy16-*-*) ++ ;; ++ z8k-*-*) ++ ;; ++ *) ++ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h ++ ++ ;; ++esac ++ ++case "${target}" in ++ *-*-elf) ++ $as_echo "#define HAVE_ELF 1" >>confdefs.h ++ ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 ++$as_echo_n "checking for .previous assembler directive... " >&6; } ++if ${libc_cv_asm_previous_directive+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_asm_previous_directive=no ++ cat > conftest.s <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_asm_previous_directive=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 ++$as_echo "$libc_cv_asm_previous_directive" >&6; } ++ ++ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then ++ $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h ++ ++ fi ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 ++$as_echo_n "checking for .popsection assembler directive... " >&6; } ++if ${libc_cv_asm_popsection_directive+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_asm_popsection_directive=no ++ cat > conftest.s <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_asm_popsection_directive=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5 ++$as_echo "$libc_cv_asm_popsection_directive" >&6; } ++ ++ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then ++ $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h ++ ++ fi ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for section attributes" >&5 ++$as_echo_n "checking for section attributes... " >&6; } ++if ${libc_cv_section_attributes+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_section_attributes=no ++ cat > conftest.c <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_section_attributes=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_section_attributes" >&5 ++$as_echo "$libc_cv_section_attributes" >&6; } ++ if test "x${libc_cv_section_attributes}" = "xyes"; then ++ $as_echo "#define HAVE_SECTION_ATTRIBUTES 1" >>confdefs.h ++ ++ fi ++ ;; ++esac ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 ++$as_echo_n "checking for symbol prefix... " >&6; } ++if ${libc_cv_symbol_prefix+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat > conftest.c <<\EOF ++foo () { } ++EOF ++libc_cv_symbol_prefix=none ++if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; ++then ++ libc_cv_symbol_prefix='$' ++else ++ if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; ++ then ++ libc_cv_symbol_prefix=_ ++ fi ++fi ++rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_symbol_prefix" >&5 ++$as_echo "$libc_cv_symbol_prefix" >&6; } ++if test $libc_cv_symbol_prefix != none; then ++ cat >>confdefs.h <<_ACEOF ++#define __SYMBOL_PREFIX "$libc_cv_symbol_prefix" ++_ACEOF ++ ++else ++ $as_echo "#define __SYMBOL_PREFIX \"\"" >>confdefs.h ++ ++fi ++ ++rm -rf .tst 2>/dev/null ++mkdir .tst 2>/dev/null ++if test -d .tst; then ++ am__leading_dot=. ++else ++ am__leading_dot=_ ++fi ++rmdir .tst 2>/dev/null ++ ++DEPDIR="${am__leading_dot}deps" ++ ++ac_config_commands="$ac_config_commands depfiles" ++ ++ ++am_make=${MAKE-make} ++cat > confinc << 'END' ++am__doit: ++ @echo done ++.PHONY: am__doit ++END ++# If we don't find an include directive, just comment out the code. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 ++$as_echo_n "checking for style of include used by $am_make... " >&6; } ++am__include="#" ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# We grep out `Entering directory' and `Leaving directory' ++# messages which can occur if `w' ends up in MAKEFLAGS. ++# In particular we don't look at `^make:' because GNU make might ++# be invoked under some other name (usually "gmake"), in which ++# case it prints its new name instead of `make'. ++if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then ++ am__include=include ++ am__quote= ++ _am_result=GNU ++fi ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then ++ am__include=.include ++ am__quote="\"" ++ _am_result=BSD ++ fi ++fi ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 ++$as_echo "$_am_result" >&6; } ++rm -f confinc confmf ++ ++# Check whether --enable-dependency-tracking was given. ++if test "${enable_dependency_tracking+set}" = set; then : ++ enableval=$enable_dependency_tracking; ++fi ++ ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++fi ++ ++ ++if test "x$enable_dependency_tracking" != xno; then ++ AMDEP_TRUE= ++ AMDEP_FALSE='#' ++else ++ AMDEP_TRUE='#' ++ AMDEP_FALSE= ++fi ++ ++ ++ ++# Extract the first word of "gcc", so it can be a program name with args. ++set dummy gcc; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_CC+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="gcc" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++$as_echo "$CC" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ ++depcc="$CC" am_compiler_list= ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++$as_echo_n "checking dependency style of $depcc... " >&6; } ++if ${am_cv_CC_dependencies_compiler_type+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ # We will build objects and dependencies in a subdirectory because ++ # it helps to detect inapplicable dependency modes. For instance ++ # both Tru64's cc and ICC support -MD to output dependencies as a ++ # side effect of compilation, but ICC will put the dependencies in ++ # the current directory while Tru64 will put them in the object ++ # directory. ++ mkdir sub ++ ++ am_cv_CC_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # Setup a source with many dependencies, because some compilers ++ # like to wrap large dependency lists on column 80 (with \), and ++ # we should not choose a depcomp mode which is confused by this. ++ # ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ : > sub/conftest.c ++ for i in 1 2 3 4 5 6; do ++ echo '#include "conftst'$i'.h"' >> sub/conftest.c ++ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with ++ # Solaris 8's {/usr,}/bin/sh. ++ touch sub/conftst$i.h ++ done ++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf ++ ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ ++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ ++ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ ++ >/dev/null 2>conftest.err && ++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && ++ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ # icc doesn't choke on unknown options, it will just issue warnings ++ # or remarks (even with -Werror). So we grep stderr for any message ++ # that says an option was ignored or not supported. ++ # When given -MP, icc 7.0 and 7.1 complain thusly: ++ # icc: Command line warning: ignoring option '-M'; no argument required ++ # The diagnosis changed in icc 8.0: ++ # icc: Command line remark: option '-MP' not supported ++ if (grep 'ignoring option' conftest.err || ++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else ++ am_cv_CC_dependencies_compiler_type=$depmode ++ break ++ fi ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_CC_dependencies_compiler_type=none ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type ++ ++ ++ ++if ++ test "x$enable_dependency_tracking" != xno \ ++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then ++ am__fastdepCC_TRUE= ++ am__fastdepCC_FALSE='#' ++else ++ am__fastdepCC_TRUE='#' ++ am__fastdepCC_FALSE= ++fi ++ ++ ++if test -z "$CC"; then ++ # Extract the first word of "cc", so it can be a program name with args. ++set dummy cc; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_CC+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ ac_prog_rejected=no ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ++ ac_prog_rejected=yes ++ continue ++ fi ++ ac_cv_prog_CC="cc" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++if test $ac_prog_rejected = yes; then ++ # We found a bogon in the path, so make sure we never use it. ++ set dummy $ac_cv_prog_CC ++ shift ++ if test $# != 0; then ++ # We chose a different compiler from the bogus one. ++ # However, it has the same basename, so the bogon will be chosen ++ # first if we set CC to just the basename; use the full file name. ++ shift ++ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" ++ fi ++fi ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++$as_echo "$CC" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5 ++fi ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5 ++$as_echo_n "checking whether we are using GNU C... " >&6; } ++if ${ac_cv_c_compiler_gnu+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat > conftest.c <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then ++ ac_cv_c_compiler_gnu=yes ++else ++ ac_cv_c_compiler_gnu=no ++fi ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++$as_echo "$ac_cv_c_compiler_gnu" >&6; } ++ ++if test $ac_cv_c_compiler_gnu = yes; then ++ GCC=yes ++ ac_test_CFLAGS="${CFLAGS+set}" ++ ac_save_CFLAGS="$CFLAGS" ++ CFLAGS= ++ ac_test_CFLAGS=${CFLAGS+set} ++ac_save_CFLAGS=$CFLAGS ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++$as_echo_n "checking whether $CC accepts -g... " >&6; } ++if ${ac_cv_prog_cc_g+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_save_c_werror_flag=$ac_c_werror_flag ++ ac_c_werror_flag=yes ++ ac_cv_prog_cc_g=no ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ac_cv_prog_cc_g=yes ++else ++ CFLAGS="" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ++else ++ ac_c_werror_flag=$ac_save_c_werror_flag ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ac_cv_prog_cc_g=yes ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ac_c_werror_flag=$ac_save_c_werror_flag ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++$as_echo "$ac_cv_prog_cc_g" >&6; } ++if test "$ac_test_CFLAGS" = set; then ++ CFLAGS=$ac_save_CFLAGS ++elif test $ac_cv_prog_cc_g = yes; then ++ if test "$GCC" = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-g" ++ fi ++else ++ if test "$GCC" = yes; then ++ CFLAGS="-O2" ++ else ++ CFLAGS= ++ fi ++fi ++ if test "$ac_test_CFLAGS" = set; then ++ CFLAGS="$ac_save_CFLAGS" ++ elif test $ac_cv_prog_cc_g = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-O2" ++ fi ++else ++ GCC= ++ test "${CFLAGS+set}" = set || CFLAGS="-g" ++fi ++ ++AS=${AS-as} ++ ++AR=${AR-ar} ++ ++LD=${LD-ld} ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. ++set dummy ${ac_tool_prefix}ranlib; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_RANLIB+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$RANLIB"; then ++ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++RANLIB=$ac_cv_prog_RANLIB ++if test -n "$RANLIB"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 ++$as_echo "$RANLIB" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_RANLIB"; then ++ ac_ct_RANLIB=$RANLIB ++ # Extract the first word of "ranlib", so it can be a program name with args. ++set dummy ranlib; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_RANLIB"; then ++ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_RANLIB="ranlib" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB ++if test -n "$ac_ct_RANLIB"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 ++$as_echo "$ac_ct_RANLIB" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_RANLIB" = x; then ++ RANLIB=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ RANLIB=$ac_ct_RANLIB ++ fi ++else ++ RANLIB="$ac_cv_prog_RANLIB" ++fi ++ ++# By default we simply use the C compiler to build assembly code. ++ ++test "${CCAS+set}" = set || CCAS=$CC ++test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS ++ ++ ++ ++ ++host_makefile_frag=${srcdir}/../config/default.mh ++ ++host_makefile_frag_path=$host_makefile_frag ++ ++ ++ ++ac_config_files="$ac_config_files Makefile" ++ ++cat >confcache <<\_ACEOF ++# This file is a shell script that caches the results of configure ++# tests run on this system so they can be shared between configure ++# scripts and configure runs, see configure's option --config-cache. ++# It is not useful on other systems. If it contains results you don't ++# want to keep, you may remove or edit it. ++# ++# config.status only pays attention to the cache file if you give it ++# the --recheck option to rerun configure. ++# ++# `ac_cv_env_foo' variables (set or unset) will be overridden when ++# loading this file, other *unset* `ac_cv_foo' will be assigned the ++# following values. ++ ++_ACEOF ++ ++# The following way of writing the cache mishandles newlines in values, ++# but we know of no workaround that is simple, portable, and efficient. ++# So, we kill variables containing newlines. ++# Ultrix sh set writes to stderr and can't be redirected directly, ++# and sets the high bit in the cache file unless we assign to the vars. ++( ++ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( ++ *) { eval $ac_var=; unset $ac_var;} ;; ++ esac ;; ++ esac ++ done ++ ++ (set) 2>&1 | ++ case $as_nl`(ac_space=' '; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ # `set' does not quote correctly, so add quotes: double-quote ++ # substitution turns \\\\ into \\, and sed turns \\ into \. ++ sed -n \ ++ "s/'/'\\\\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ++ ;; #( ++ *) ++ # `set' quotes correctly as required by POSIX, so do not add quotes. ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) | ++ sed ' ++ /^ac_cv_env_/b end ++ t clear ++ :clear ++ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ t end ++ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ ++ :end' >>confcache ++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else ++ if test -w "$cache_file"; then ++ if test "x$cache_file" != "x/dev/null"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++$as_echo "$as_me: updating cache $cache_file" >&6;} ++ if test ! -f "$cache_file" || test -h "$cache_file"; then ++ cat confcache >"$cache_file" ++ else ++ case $cache_file in #( ++ */* | ?:*) ++ mv -f confcache "$cache_file"$$ && ++ mv -f "$cache_file"$$ "$cache_file" ;; #( ++ *) ++ mv -f confcache "$cache_file" ;; ++ esac ++ fi ++ fi ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} ++ fi ++fi ++rm -f confcache ++ ++test "x$prefix" = xNONE && prefix=$ac_default_prefix ++# Let make expand exec_prefix. ++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' ++ ++DEFS=-DHAVE_CONFIG_H ++ ++ac_libobjs= ++ac_ltlibobjs= ++U= ++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue ++ # 1. Remove the extension, and $U if already installed. ++ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ++ ac_i=`$as_echo "$ac_i" | sed "$ac_script"` ++ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR ++ # will be set to the directory where LIBOBJS objects are built. ++ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" ++ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' ++done ++LIBOBJS=$ac_libobjs ++ ++LTLIBOBJS=$ac_ltlibobjs ++ ++ ++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then ++ as_fn_error $? "conditional \"AMDEP\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then ++ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++ ++: "${CONFIG_STATUS=./config.status}" ++ac_write_fail=0 ++ac_clean_files_save=$ac_clean_files ++ac_clean_files="$ac_clean_files $CONFIG_STATUS" ++{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 ++$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} ++as_write_fail=0 ++cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 ++#! $SHELL ++# Generated by $as_me. ++# Run this file to recreate the current configuration. ++# Compiler output produced by configure, useful for debugging ++# configure, is in config.log if it exists. ++ ++debug=false ++ac_cs_recheck=false ++ac_cs_silent=false ++ ++SHELL=\${CONFIG_SHELL-$SHELL} ++export SHELL ++_ASEOF ++cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ++## -------------------- ## ++## M4sh Initialization. ## ++## -------------------- ## ++ ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++ ++ ++as_nl=' ++' ++export as_nl ++# Printing a long string crashes Solaris 7 /usr/bin/printf. ++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo ++# Prefer a ksh shell builtin over an external printf program on Solaris, ++# but without wasting forks for bash or zsh. ++if test -z "$BASH_VERSION$ZSH_VERSION" \ ++ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='print -r --' ++ as_echo_n='print -rn --' ++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='printf %s\n' ++ as_echo_n='printf %s' ++else ++ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then ++ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' ++ as_echo_n='/usr/ucb/echo -n' ++ else ++ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' ++ as_echo_n_body='eval ++ arg=$1; ++ case $arg in #( ++ *"$as_nl"*) ++ expr "X$arg" : "X\\(.*\\)$as_nl"; ++ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; ++ esac; ++ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ++ ' ++ export as_echo_n_body ++ as_echo_n='sh -c $as_echo_n_body as_echo' ++ fi ++ export as_echo_body ++ as_echo='sh -c $as_echo_body as_echo' ++fi ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ PATH_SEPARATOR=: ++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { ++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || ++ PATH_SEPARATOR=';' ++ } ++fi ++ ++ ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++IFS=" "" $as_nl" ++ ++# Find who we are. Look in the path if we contain no directory separator. ++as_myself= ++case $0 in #(( ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++ done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ exit 1 ++fi ++ ++# Unset variables that we do not need and which cause bugs (e.g. in ++# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" ++# suppresses any "Segmentation fault" message there. '((' could ++# trigger a bug in pdksh 5.2.14. ++for as_var in BASH_ENV ENV MAIL MAILPATH ++do eval test x\${$as_var+set} = xset \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# CDPATH. ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH ++ ++ ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ $as_echo "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error ++ ++ ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status ++ ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit ++ ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : ++ eval 'as_fn_append () ++ { ++ eval $1+=\$2 ++ }' ++else ++ as_fn_append () ++ { ++ eval $1=\$$1\$2 ++ } ++fi # as_fn_append ++ ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith ++ ++ ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null ++fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++ else ++ as_ln_s='cp -pR' ++ fi ++else ++ as_ln_s='cp -pR' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null ++ ++ ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ ++ ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" ++ ++ ++} # as_fn_mkdir_p ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++ ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++ ++exec 6>&1 ++## ----------------------------------- ## ++## Main body of $CONFIG_STATUS script. ## ++## ----------------------------------- ## ++_ASEOF ++test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# Save the log message, to keep $0 and so on meaningful, and to ++# report actual input values of CONFIG_FILES etc. instead of their ++# values after options handling. ++ac_log=" ++This file was extended by $as_me, which was ++generated by GNU Autoconf 2.69. Invocation command line was ++ ++ CONFIG_FILES = $CONFIG_FILES ++ CONFIG_HEADERS = $CONFIG_HEADERS ++ CONFIG_LINKS = $CONFIG_LINKS ++ CONFIG_COMMANDS = $CONFIG_COMMANDS ++ $ $0 $@ ++ ++on `(hostname || uname -n) 2>/dev/null | sed 1q` ++" ++ ++_ACEOF ++ ++case $ac_config_files in *" ++"*) set x $ac_config_files; shift; ac_config_files=$*;; ++esac ++ ++case $ac_config_headers in *" ++"*) set x $ac_config_headers; shift; ac_config_headers=$*;; ++esac ++ ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# Files that config.status was made for. ++config_files="$ac_config_files" ++config_headers="$ac_config_headers" ++config_commands="$ac_config_commands" ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ac_cs_usage="\ ++\`$as_me' instantiates files and other configuration actions ++from templates according to the current configuration. Unless the files ++and actions are specified as TAGs, all are instantiated by default. ++ ++Usage: $0 [OPTION]... [TAG]... ++ ++ -h, --help print this help, then exit ++ -V, --version print version number and configuration settings, then exit ++ --config print configuration, then exit ++ -q, --quiet, --silent ++ do not print progress messages ++ -d, --debug don't remove temporary files ++ --recheck update $as_me by reconfiguring in the same conditions ++ --file=FILE[:TEMPLATE] ++ instantiate the configuration file FILE ++ --header=FILE[:TEMPLATE] ++ instantiate the configuration header FILE ++ ++Configuration files: ++$config_files ++ ++Configuration headers: ++$config_headers ++ ++Configuration commands: ++$config_commands ++ ++Report bugs to the package provider." ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ++ac_cs_version="\\ ++config.status ++configured by $0, generated by GNU Autoconf 2.69, ++ with options \\"\$ac_cs_config\\" ++ ++Copyright (C) 2012 Free Software Foundation, Inc. ++This config.status script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it." ++ ++ac_pwd='$ac_pwd' ++srcdir='$srcdir' ++INSTALL='$INSTALL' ++test -n "\$AWK" || AWK=awk ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# The default lists apply if the user does not specify any file. ++ac_need_defaults=: ++while test $# != 0 ++do ++ case $1 in ++ --*=?*) ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ++ ac_shift=: ++ ;; ++ --*=) ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg= ++ ac_shift=: ++ ;; ++ *) ++ ac_option=$1 ++ ac_optarg=$2 ++ ac_shift=shift ++ ;; ++ esac ++ ++ case $ac_option in ++ # Handling of the options. ++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ++ ac_cs_recheck=: ;; ++ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) ++ $as_echo "$ac_cs_version"; exit ;; ++ --config | --confi | --conf | --con | --co | --c ) ++ $as_echo "$ac_cs_config"; exit ;; ++ --debug | --debu | --deb | --de | --d | -d ) ++ debug=: ;; ++ --file | --fil | --fi | --f ) ++ $ac_shift ++ case $ac_optarg in ++ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ '') as_fn_error $? "missing file argument" ;; ++ esac ++ as_fn_append CONFIG_FILES " '$ac_optarg'" ++ ac_need_defaults=false;; ++ --header | --heade | --head | --hea ) ++ $ac_shift ++ case $ac_optarg in ++ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ as_fn_append CONFIG_HEADERS " '$ac_optarg'" ++ ac_need_defaults=false;; ++ --he | --h) ++ # Conflict between --help and --header ++ as_fn_error $? "ambiguous option: \`$1' ++Try \`$0 --help' for more information.";; ++ --help | --hel | -h ) ++ $as_echo "$ac_cs_usage"; exit ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil | --si | --s) ++ ac_cs_silent=: ;; ++ ++ # This is an error. ++ -*) as_fn_error $? "unrecognized option: \`$1' ++Try \`$0 --help' for more information." ;; ++ ++ *) as_fn_append ac_config_targets " $1" ++ ac_need_defaults=false ;; ++ ++ esac ++ shift ++done ++ ++ac_configure_extra_args= ++ ++if $ac_cs_silent; then ++ exec 6>/dev/null ++ ac_configure_extra_args="$ac_configure_extra_args --silent" ++fi ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++if \$ac_cs_recheck; then ++ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion ++ shift ++ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 ++ CONFIG_SHELL='$SHELL' ++ export CONFIG_SHELL ++ exec "\$@" ++fi ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++exec 5>>config.log ++{ ++ echo ++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ++## Running $as_me. ## ++_ASBOX ++ $as_echo "$ac_log" ++} >&5 ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# ++# INIT-COMMANDS ++# ++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" ++srcdir=${srcdir} ++target=${target} ++with_multisubdir=${with_multisubdir} ++ac_configure_args="${ac_configure_args} --enable-multilib" ++CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} ++libgloss_topdir=${libgloss_topdir} ++ ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ ++# Handling of arguments. ++for ac_config_target in $ac_config_targets ++do ++ case $ac_config_target in ++ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; ++ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; ++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ ++ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; ++ esac ++done ++ ++ ++# If the user did not use the arguments to specify the items to instantiate, ++# then the envvar interface is used. Set only those that are not. ++# We use the long form for the default assignment because of an extremely ++# bizarre bug on SunOS 4.1.3. ++if $ac_need_defaults; then ++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files ++ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers ++ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands ++fi ++ ++# Have a temporary directory for convenience. Make it in the build tree ++# simply because there is no reason against having it here, and in addition, ++# creating and moving files from /tmp can sometimes cause problems. ++# Hook for its removal unless debugging. ++# Note that there is a small window in which the directory will not be cleaned: ++# after its creation but before its name has been assigned to `$tmp'. ++$debug || ++{ ++ tmp= ac_tmp= ++ trap 'exit_status=$? ++ : "${ac_tmp:=$tmp}" ++ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ++' 0 ++ trap 'as_fn_exit 1' 1 2 13 15 ++} ++# Create a (secure) tmp directory for tmp files. ++ ++{ ++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && ++ test -d "$tmp" ++} || ++{ ++ tmp=./conf$$-$RANDOM ++ (umask 077 && mkdir "$tmp") ++} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ++ac_tmp=$tmp ++ ++# Set up the scripts for CONFIG_FILES section. ++# No need to generate them if there are no CONFIG_FILES. ++# This happens for instance with `./config.status config.h'. ++if test -n "$CONFIG_FILES"; then ++ ++if $AWK 'BEGIN { getline <"/dev/null" }' /dev/null; then ++ ac_cs_awk_getline=: ++ ac_cs_awk_pipe_init= ++ ac_cs_awk_read_file=' ++ while ((getline aline < (F[key])) > 0) ++ print(aline) ++ close(F[key])' ++ ac_cs_awk_pipe_fini= ++else ++ ac_cs_awk_getline=false ++ ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\"" ++ ac_cs_awk_read_file=' ++ print "|#_!!_#|" ++ print "cat " F[key] " &&" ++ '$ac_cs_awk_pipe_init ++ # The final `:' finishes the AND list. ++ ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }' ++fi ++ac_cr=`echo X | tr X '\015'` ++# On cygwin, bash can eat \r inside `` if the user requested igncr. ++# But we know of no other shell where ac_cr would be empty at this ++# point, so we can use a bashism as a fallback. ++if test "x$ac_cr" = x; then ++ eval ac_cr=\$\'\\r\' ++fi ++ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` ++if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ++ ac_cs_awk_cr='\\r' ++else ++ ac_cs_awk_cr=$ac_cr ++fi ++ ++echo 'BEGIN {' >"$ac_tmp/subs1.awk" && ++_ACEOF ++ ++# Create commands to substitute file output variables. ++{ ++ echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && ++ echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && ++ echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && ++ echo "_ACAWK" && ++ echo "_ACEOF" ++} >conf$$files.sh && ++. ./conf$$files.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++rm -f conf$$files.sh ++ ++{ ++ echo "cat >conf$$subs.awk <<_ACEOF" && ++ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && ++ echo "_ACEOF" ++} >conf$$subs.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ++ac_delim='%!_!# ' ++for ac_last_try in false false false false false :; do ++ . ./conf$$subs.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ ++ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` ++ if test $ac_delim_n = $ac_delim_num; then ++ break ++ elif $ac_last_try; then ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++ fi ++done ++rm -f conf$$subs.sh ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && ++_ACEOF ++sed -n ' ++h ++s/^/S["/; s/!.*/"]=/ ++p ++g ++s/^[^!]*!// ++:repl ++t repl ++s/'"$ac_delim"'$// ++t delim ++:nl ++h ++s/\(.\{148\}\)..*/\1/ ++t more1 ++s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ ++p ++n ++b repl ++:more1 ++s/["\\]/\\&/g; s/^/"/; s/$/"\\/ ++p ++g ++s/.\{148\}// ++t nl ++:delim ++h ++s/\(.\{148\}\)..*/\1/ ++t more2 ++s/["\\]/\\&/g; s/^/"/; s/$/"/ ++p ++b ++:more2 ++s/["\\]/\\&/g; s/^/"/; s/$/"\\/ ++p ++g ++s/.\{148\}// ++t delim ++' >$CONFIG_STATUS || ac_write_fail=1 ++rm -f conf$$subs.awk ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++_ACAWK ++cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && ++ for (key in S) S_is_set[key] = 1 ++ FS = "" ++ \$ac_cs_awk_pipe_init ++} ++{ ++ line = $ 0 ++ nfields = split(line, field, "@") ++ substed = 0 ++ len = length(field[1]) ++ for (i = 2; i < nfields; i++) { ++ key = field[i] ++ keylen = length(key) ++ if (S_is_set[key]) { ++ value = S[key] ++ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) ++ len += length(value) + length(field[++i]) ++ substed = 1 ++ } else ++ len += 1 + keylen ++ } ++ if (nfields == 3 && !substed) { ++ key = field[2] ++ if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) { ++ \$ac_cs_awk_read_file ++ next ++ } ++ } ++ print line ++} ++\$ac_cs_awk_pipe_fini ++_ACAWK ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then ++ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" ++else ++ cat ++fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ ++ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 ++_ACEOF ++ ++# VPATH may cause trouble with some makes, so we remove sole $(srcdir), ++# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and ++# trailing colons and then remove the whole line if VPATH becomes empty ++# (actually we leave an empty line to preserve line numbers). ++if test "x$srcdir" = x.; then ++ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ ++h ++s/// ++s/^/:/ ++s/[ ]*$/:/ ++s/:\$(srcdir):/:/g ++s/:\${srcdir}:/:/g ++s/:@srcdir@:/:/g ++s/^:*// ++s/:*$// ++x ++s/\(=[ ]*\).*/\1/ ++G ++s/\n// ++s/^[^=]*=[ ]*$// ++}' ++fi ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++fi # test -n "$CONFIG_FILES" ++ ++# Set up the scripts for CONFIG_HEADERS section. ++# No need to generate them if there are no CONFIG_HEADERS. ++# This happens for instance with `./config.status Makefile'. ++if test -n "$CONFIG_HEADERS"; then ++cat >"$ac_tmp/defines.awk" <<\_ACAWK || ++BEGIN { ++_ACEOF ++ ++# Transform confdefs.h into an awk script `defines.awk', embedded as ++# here-document in config.status, that substitutes the proper values into ++# config.h.in to produce config.h. ++ ++# Create a delimiter string that does not exist in confdefs.h, to ease ++# handling of long lines. ++ac_delim='%!_!# ' ++for ac_last_try in false false :; do ++ ac_tt=`sed -n "/$ac_delim/p" confdefs.h` ++ if test -z "$ac_tt"; then ++ break ++ elif $ac_last_try; then ++ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++ fi ++done ++ ++# For the awk script, D is an array of macro values keyed by name, ++# likewise P contains macro parameters if any. Preserve backslash ++# newline sequences. ++ ++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* ++sed -n ' ++s/.\{148\}/&'"$ac_delim"'/g ++t rset ++:rset ++s/^[ ]*#[ ]*define[ ][ ]*/ / ++t def ++d ++:def ++s/\\$// ++t bsnl ++s/["\\]/\\&/g ++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ ++D["\1"]=" \3"/p ++s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p ++d ++:bsnl ++s/["\\]/\\&/g ++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ ++D["\1"]=" \3\\\\\\n"\\/p ++t cont ++s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p ++t cont ++d ++:cont ++n ++s/.\{148\}/&'"$ac_delim"'/g ++t clear ++:clear ++s/\\$// ++t bsnlc ++s/["\\]/\\&/g; s/^/"/; s/$/"/p ++d ++:bsnlc ++s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p ++b cont ++' >$CONFIG_STATUS || ac_write_fail=1 ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ for (key in D) D_is_set[key] = 1 ++ FS = "" ++} ++/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { ++ line = \$ 0 ++ split(line, arg, " ") ++ if (arg[1] == "#") { ++ defundef = arg[2] ++ mac1 = arg[3] ++ } else { ++ defundef = substr(arg[1], 2) ++ mac1 = arg[2] ++ } ++ split(mac1, mac2, "(") #) ++ macro = mac2[1] ++ prefix = substr(line, 1, index(line, defundef) - 1) ++ if (D_is_set[macro]) { ++ # Preserve the white space surrounding the "#". ++ print prefix "define", macro P[macro] D[macro] ++ next ++ } else { ++ # Replace #undef with comments. This is necessary, for example, ++ # in the case of _POSIX_SOURCE, which is predefined and required ++ # on some systems where configure will not decide to define it. ++ if (defundef == "undef") { ++ print "/*", prefix defundef, macro, "*/" ++ next ++ } ++ } ++} ++{ print } ++_ACAWK ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 ++fi # test -n "$CONFIG_HEADERS" ++ ++ ++eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" ++shift ++for ac_tag ++do ++ case $ac_tag in ++ :[FHLC]) ac_mode=$ac_tag; continue;; ++ esac ++ case $ac_mode$ac_tag in ++ :[FHL]*:*);; ++ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; ++ :[FH]-) ac_tag=-:-;; ++ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; ++ esac ++ ac_save_IFS=$IFS ++ IFS=: ++ set x $ac_tag ++ IFS=$ac_save_IFS ++ shift ++ ac_file=$1 ++ shift ++ ++ case $ac_mode in ++ :L) ac_source=$1;; ++ :[FH]) ++ ac_file_inputs= ++ for ac_f ++ do ++ case $ac_f in ++ -) ac_f="$ac_tmp/stdin";; ++ *) # Look for the file first in the build tree, then in the source tree ++ # (if the path is not absolute). The absolute path cannot be DOS-style, ++ # because $ac_f cannot contain `:'. ++ test -f "$ac_f" || ++ case $ac_f in ++ [\\/$]*) false;; ++ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; ++ esac || ++ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; ++ esac ++ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac ++ as_fn_append ac_file_inputs " '$ac_f'" ++ done ++ ++ # Let's still pretend it is `configure' which instantiates (i.e., don't ++ # use $as_me), people would be surprised to read: ++ # /* config.h. Generated by config.status. */ ++ configure_input='Generated from '` ++ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' ++ `' by configure.' ++ if test x"$ac_file" != x-; then ++ configure_input="$ac_file. $configure_input" ++ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 ++$as_echo "$as_me: creating $ac_file" >&6;} ++ fi ++ # Neutralize special characters interpreted by sed in replacement strings. ++ case $configure_input in #( ++ *\&* | *\|* | *\\* ) ++ ac_sed_conf_input=`$as_echo "$configure_input" | ++ sed 's/[\\\\&|]/\\\\&/g'`;; #( ++ *) ac_sed_conf_input=$configure_input;; ++ esac ++ ++ case $ac_tag in ++ *:-:* | *:-) cat >"$ac_tmp/stdin" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; ++ esac ++ ;; ++ esac ++ ++ ac_dir=`$as_dirname -- "$ac_file" || ++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$ac_file" : 'X\(//\)[^/]' \| \ ++ X"$ac_file" : 'X\(//\)$' \| \ ++ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$ac_file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ as_dir="$ac_dir"; as_fn_mkdir_p ++ ac_builddir=. ++ ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix ++ ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ ++ case $ac_mode in ++ :F) ++ # ++ # CONFIG_FILE ++ # ++ ++ case $INSTALL in ++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; ++ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; ++ esac ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# If the template does not know about datarootdir, expand it. ++# FIXME: This hack should be removed a few years after 2.60. ++ac_datarootdir_hack=; ac_datarootdir_seen= ++ac_sed_dataroot=' ++/datarootdir/ { ++ p ++ q ++} ++/@datadir@/p ++/@docdir@/p ++/@infodir@/p ++/@localedir@/p ++/@mandir@/p' ++case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in ++*datarootdir*) ac_datarootdir_seen=yes;; ++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ ac_datarootdir_hack=' ++ s&@datadir@&$datadir&g ++ s&@docdir@&$docdir&g ++ s&@infodir@&$infodir&g ++ s&@localedir@&$localedir&g ++ s&@mandir@&$mandir&g ++ s&\\\${datarootdir}&$datarootdir&g' ;; ++esac ++_ACEOF ++ ++# Neutralize VPATH when `$srcdir' = `.'. ++# Shell code in configure.ac might set extrasub. ++# FIXME: do we really want to maintain this feature? ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_sed_extra="$ac_vpsub ++$extrasub ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++:t ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b ++s|@configure_input@|$ac_sed_conf_input|;t t ++s&@top_builddir@&$ac_top_builddir_sub&;t t ++s&@top_build_prefix@&$ac_top_build_prefix&;t t ++s&@srcdir@&$ac_srcdir&;t t ++s&@abs_srcdir@&$ac_abs_srcdir&;t t ++s&@top_srcdir@&$ac_top_srcdir&;t t ++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t ++s&@builddir@&$ac_builddir&;t t ++s&@abs_builddir@&$ac_abs_builddir&;t t ++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t ++s&@INSTALL@&$ac_INSTALL&;t t ++$ac_datarootdir_hack ++" ++eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | ++if $ac_cs_awk_getline; then ++ $AWK -f "$ac_tmp/subs.awk" ++else ++ $AWK -f "$ac_tmp/subs.awk" | $SHELL ++fi \ ++ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ ++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && ++ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && ++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ ++ "$ac_tmp/out"`; test -z "$ac_out"; } && ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined" >&5 ++$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined" >&2;} ++ ++ rm -f "$ac_tmp/stdin" ++ case $ac_file in ++ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; ++ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; ++ esac \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ ;; ++ :H) ++ # ++ # CONFIG_HEADER ++ # ++ if test x"$ac_file" != x-; then ++ { ++ $as_echo "/* $configure_input */" \ ++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" ++ } >"$ac_tmp/config.h" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 ++$as_echo "$as_me: $ac_file is unchanged" >&6;} ++ else ++ rm -f "$ac_file" ++ mv "$ac_tmp/config.h" "$ac_file" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ fi ++ else ++ $as_echo "/* $configure_input */" \ ++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ ++ || as_fn_error $? "could not create -" "$LINENO" 5 ++ fi ++ ;; ++ ++ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 ++$as_echo "$as_me: executing $ac_file commands" >&6;} ++ ;; ++ esac ++ ++ ++ case $ac_file$ac_mode in ++ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do ++ # Strip MF so we end up with the name of the file. ++ mf=`echo "$mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile or not. ++ # We used to match only the files named `Makefile.in', but ++ # some people rename them; so instead we look at the file content. ++ # Grep'ing the first line is not enough: some people post-process ++ # each Makefile.in and add a new line on top of each file to say so. ++ # So let's grep whole file. ++ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then ++ dirpart=`$as_dirname -- "$mf" || ++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$mf" : 'X\(//\)[^/]' \| \ ++ X"$mf" : 'X\(//\)$' \| \ ++ X"$mf" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$mf" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ else ++ continue ++ fi ++ # Extract the definition of DEPDIR, am__include, and am__quote ++ # from the Makefile without running `make'. ++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ am__include=`sed -n 's/^am__include = //p' < "$mf"` ++ test -z "am__include" && continue ++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n 's/^U = //p' < "$mf"` ++ # Find all dependency output files, they are included files with ++ # $(DEPDIR) in their names. We invoke sed twice because it is the ++ # simplest approach to changing $(DEPDIR) to its actual value in the ++ # expansion. ++ for file in `sed -n " ++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`$as_dirname -- "$file" || ++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$file" : 'X\(//\)[^/]' \| \ ++ X"$file" : 'X\(//\)$' \| \ ++ X"$file" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ as_dir=$dirpart/$fdir; as_fn_mkdir_p ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++ ;; ++ "Makefile":F) ac_file=Makefile . ${libgloss_topdir}/config-ml.in ;; ++ ++ esac ++done # for ac_tag ++ ++ ++as_fn_exit 0 ++_ACEOF ++ac_clean_files=$ac_clean_files_save ++ ++test $ac_write_fail = 0 || ++ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 ++ ++ ++# configure is writing to config.log, and then calls config.status. ++# config.status does its own redirection, appending to config.log. ++# Unfortunately, on DOS this fails, as config.log is still kept open ++# by configure, so config.status won't be able to write to it; its ++# output is simply discarded. So we exec the FD to /dev/null, ++# effectively closing config.log, so it can be properly (re)opened and ++# appended to by config.status. When coming back to configure, we ++# need to make the FD available again. ++if test "$no_create" != yes; then ++ ac_cs_success=: ++ ac_config_status_args= ++ test "$silent" = yes && ++ ac_config_status_args="$ac_config_status_args --quiet" ++ exec 5>/dev/null ++ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false ++ exec 5>>config.log ++ # Use ||, not &&, to avoid exiting from the if with $? = 1, which ++ # would make configure fail if this is the last instruction. ++ $ac_cs_success || as_fn_exit 1 ++fi ++if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 ++$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} ++fi ++ ++ ++ +diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in +new file mode 100644 +index 000000000..d15eab89d +--- /dev/null ++++ b/libgloss/libsysbase/configure.in +@@ -0,0 +1,202 @@ ++# Copyright (c) 1995, 1996 Cygnus Support ++# ++# The authors hereby grant permission to use, copy, modify, distribute, ++# and license this software and its documentation for any purpose, provided ++# that existing copyright notices are retained in all copies and that this ++# notice is included verbatim in any distributions. No written agreement, ++# license, or royalty fee is required for any of the authorized uses. ++# Modifications to this software may be copyrighted by their authors ++# and need not follow the licensing terms described here, provided that ++# the new terms are clearly indicated on the first page of each file where ++# they apply. ++# ++# Process this file with autoconf to produce a configure script. ++# ++AC_PREREQ(2.59) ++AC_INIT(abort.c) ++AC_CONFIG_HEADER(config.h) ++ ++if test "${enable_shared}" = "yes" ; then ++ echo "Shared libraries not supported for cross compiling, ignored" ++fi ++ ++if test "$srcdir" = "." ; then ++ if test "${with_target_subdir}" != "." ; then ++ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." ++ else ++ libgloss_topdir="${srcdir}/${with_multisrctop}../.." ++ fi ++else ++ libgloss_topdir="${srcdir}/../.." ++fi ++AC_CONFIG_AUX_DIR($libgloss_topdir) ++ ++AC_CANONICAL_SYSTEM ++AC_ARG_PROGRAM ++ ++AC_PROG_INSTALL ++ ++AC_DEFINE(HAVE_GNU_LD) ++dnl Make sure syscall names match those being used by newlib ++case "${target}" in ++ *-*-cygwin*) ++ ;; ++ a29k-amd-udi) ++ ;; ++ arc-*-*) ++ ;; ++ arm-*-eabi) ++ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ ;; ++ arm*-*-*) ++ ;; ++ bfin-*-*) ++ ;; ++ cris-*-* | crisv32-*-*) ++ ;; ++ d10v*) ++ ;; ++ h8300*-*-*) ++ ;; ++ h8500-*-*) ++ ;; ++ i[3456]86-*-sco*) ++ ;; ++ lm32-*-*) ++ ;; ++ m32r-*-*) ++ ;; ++ mn10?00-*-*) ++ ;; ++ powerpc-*-eabi) ++ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ ;; ++ powerpcle-*-pe) ++ ;; ++ sh*-*-*) ++ ;; ++ sparc-sun-sunos*) ++ ;; ++ sparc64-*-*) ++ ;; ++ v850*-*-*) ++ ;; ++ w65-*-*) ++ ;; ++ xstormy16-*-*) ++ ;; ++ z8k-*-*) ++ ;; ++ *) ++ AC_DEFINE(MISSING_SYSCALL_NAMES) ++ ;; ++esac ++ ++dnl Make sure we know if elf format used ++case "${target}" in ++ *-*-elf) ++ AC_DEFINE(HAVE_ELF) ++ ++ AC_CACHE_CHECK([for .previous assembler directive], ++ libc_cv_asm_previous_directive, [dnl ++ libc_cv_asm_previous_directive=no ++ cat > conftest.s <&AC_FD_CC); then ++ libc_cv_asm_previous_directive=yes ++ fi ++ rm -f conftest*]) ++ ++ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then ++ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) ++ fi ++ ++ AC_CACHE_CHECK([for .popsection assembler directive], ++ libc_cv_asm_popsection_directive, [dnl ++ libc_cv_asm_popsection_directive=no ++ cat > conftest.s <&AC_FD_CC); then ++ libc_cv_asm_popsection_directive=yes ++ fi ++ rm -f conftest*]) ++ ++ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then ++ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) ++ fi ++ ++ AC_CACHE_CHECK([for section attributes], ++ libc_cv_section_attributes, [dnl ++ libc_cv_section_attributes=no ++ cat > conftest.c <&AC_FD_CC); then ++ libc_cv_section_attributes=yes ++ fi ++ rm -f conftest*]) ++ if test "x${libc_cv_section_attributes}" = "xyes"; then ++ AC_DEFINE(HAVE_SECTION_ATTRIBUTES) ++ fi ++ ;; ++esac ++ ++AC_CACHE_CHECK([for symbol prefix], libc_cv_symbol_prefix, [dnl ++cat > conftest.c <<\EOF ++foo () { } ++EOF ++dnl ++libc_cv_symbol_prefix=none ++if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); ++then ++ libc_cv_symbol_prefix='$' ++else ++ if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]); ++ then ++ libc_cv_symbol_prefix=_ ++ fi ++fi ++rm -f conftest* ]) ++if test $libc_cv_symbol_prefix != none; then ++ AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_cv_symbol_prefix") ++else ++ AC_DEFINE(__SYMBOL_PREFIX, "") ++fi ++ ++LIB_AC_PROG_CC ++AS=${AS-as} ++AC_SUBST(AS) ++AR=${AR-ar} ++AC_SUBST(AR) ++LD=${LD-ld} ++AC_SUBST(LD) ++AC_PROG_RANLIB ++LIB_AM_PROG_AS ++ ++host_makefile_frag=${srcdir}/../config/default.mh ++ ++dnl We have to assign the same value to other variables because autoconf ++dnl doesn't provide a mechanism to substitute a replacement keyword with ++dnl arbitrary data or pathnames. ++dnl ++host_makefile_frag_path=$host_makefile_frag ++AC_SUBST(host_makefile_frag_path) ++AC_SUBST_FILE(host_makefile_frag) ++ ++AC_CONFIG_FILES(Makefile, ++ac_file=Makefile . ${libgloss_topdir}/config-ml.in, ++srcdir=${srcdir} ++target=${target} ++with_multisubdir=${with_multisubdir} ++ac_configure_args="${ac_configure_args} --enable-multilib" ++CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} ++libgloss_topdir=${libgloss_topdir} ++) ++AC_OUTPUT ++ ++ +diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c +new file mode 100644 +index 000000000..bed699102 +--- /dev/null ++++ b/libgloss/libsysbase/dirent.c +@@ -0,0 +1,255 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static DIR_ITER * __diropen (const char *path) { ++ struct _reent *r = _REENT; ++ DIR_ITER *handle = NULL; ++ DIR_ITER *dir = NULL; ++ int dev; ++ ++ dev = FindDevice(path); ++ ++ if(dev!=-1) { ++ if(devoptab_list[dev]->diropen_r) { ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ handle = (DIR_ITER *)malloc( sizeof(DIR_ITER) + devoptab_list[dev]->dirStateSize ); ++ ++ if ( NULL != handle ) { ++ handle->device = dev; ++ handle->dirStruct = ((void *)handle) + sizeof(DIR_ITER); ++ ++ dir = devoptab_list[dev]->diropen_r(r, handle, path); ++ ++ if ( dir == NULL ) { ++ free (handle); ++ handle = NULL; ++ } ++ } else { ++ r->_errno = ENOSR; ++ handle = NULL; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ ++ return handle; ++} ++ ++static int __dirreset (DIR_ITER *dirState) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; ++ ++ if (dirState != NULL) { ++ dev = dirState->device; ++ ++ if(devoptab_list[dev]->dirreset_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirreset_r(r, dirState); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; ++} ++ ++static int __dirnext (DIR_ITER *dirState, char *filename, struct stat *filestat) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; ++ ++ if (dirState != NULL) { ++ dev = dirState->device; ++ ++ if(devoptab_list[dev]->dirnext_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirnext_r(r, dirState, filename, filestat); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; ++} ++ ++static int __dirclose (DIR_ITER *dirState) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; ++ ++ if (dirState != NULL) { ++ dev = dirState->device; ++ ++ if (devoptab_list[dev]->dirclose_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirclose_r (r, dirState); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ free (dirState); ++ } ++ return ret; ++} ++ ++DIR* opendir (const char *dirname) { ++ DIR* dirp = malloc (sizeof(DIR)); ++ if (!dirp) { ++ errno = ENOMEM; ++ return NULL; ++ } ++ ++ dirp->dirData = __diropen (dirname); ++ if (!dirp->dirData) { ++ free (dirp); ++ return NULL; ++ } ++ ++ dirp->position = 0; // 0th position means no file name has been returned yet ++ dirp->fileData.d_ino = -1; ++ dirp->fileData.d_name[0] = '\0'; ++ ++ return dirp; ++} ++ ++ ++int closedir (DIR *dirp) { ++ int res; ++ ++ if (!dirp) { ++ errno = EBADF; ++ return -1; ++ } ++ ++ res = __dirclose (dirp->dirData); ++ free (dirp); ++ return res; ++} ++ ++ ++struct dirent* readdir (DIR *dirp) { ++ struct stat st; ++ char filename[NAME_MAX]; ++ int res; ++ int olderrno = errno; ++ ++ if (!dirp) { ++ errno = EBADF; ++ return NULL; ++ } ++ ++ res = __dirnext (dirp->dirData, filename, &st); ++ ++ if (res < 0) { ++ if (errno == ENOENT) { ++ // errno == ENONENT set by dirnext means it's end of directory ++ // But readdir should not touch errno in case of dir end ++ errno = olderrno; ++ } ++ return NULL; ++ } ++ ++ // We've moved forward in the directory ++ dirp->position += 1; ++ ++ if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { ++ errno = EOVERFLOW; ++ return NULL; ++ } ++ ++ strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); ++ dirp->fileData.d_ino = st.st_ino; ++ dirp->fileData.d_type = IFTODT(st.st_mode); ++ ++ return &(dirp->fileData); ++} ++ ++ ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { ++ struct stat st; ++ char filename[NAME_MAX]; ++ int res; ++ ++ if (!dirp) { ++ return EBADF; ++ } ++ ++ res = __dirnext (dirp->dirData, filename, &st); ++ ++ if (res < 0) { ++ res = errno; ++ *result = NULL; ++ if (errno == ENOENT) { ++ // errno == ENONENT set by dirnext means it's end of directory ++ // But readdir should not touch errno in case of dir end ++ res = 0; ++ } ++ return res; ++ } ++ ++ // We've moved forward in the directory ++ dirp->position += 1; ++ ++ if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { ++ errno = EOVERFLOW; ++ return EOVERFLOW; ++ } ++ ++ strncpy (entry->d_name, filename, sizeof(entry->d_name)); ++ entry->d_ino = st.st_ino; ++ ++ *result = entry; ++ return 0; ++} ++ ++ ++void rewinddir (DIR *dirp) { ++ if (!dirp) { ++ return; ++ } ++ ++ __dirreset (dirp->dirData); ++ dirp->position = 0; ++} ++ ++ ++void seekdir(DIR *dirp, long int loc) { ++ char filename[NAME_MAX]; ++ ++ if (!dirp || loc < 0) { ++ return; ++ } ++ ++ if (dirp->position > loc) { ++ // The entry we want is before the one we have, ++ // so we have to start again from the begining ++ __dirreset (dirp->dirData); ++ dirp->position = 0; ++ } ++ ++ // Keep reading entries until we reach the one we want ++ while ((dirp->position < loc) && ++ (__dirnext (dirp->dirData, filename, NULL) >= 0)) ++ { ++ dirp->position += 1; ++ } ++} ++ ++ ++long int telldir(DIR *dirp) { ++ if (!dirp) { ++ return -1; ++ } ++ ++ return dirp->position; ++} +diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c +new file mode 100644 +index 000000000..1c485b26f +--- /dev/null ++++ b/libgloss/libsysbase/environ.c +@@ -0,0 +1,6 @@ ++/* ++ * Version of environ for no OS. ++ */ ++ ++char *__env[1] = { 0 }; ++char **environ = __env; +diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c +new file mode 100644 +index 000000000..0f192e582 +--- /dev/null ++++ b/libgloss/libsysbase/execve.c +@@ -0,0 +1,16 @@ ++/* ++ * Stub version of execve. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++int _execve_r( struct _reent * r, char *name, char **argv, char **env) { ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return -1; ++} ++ +diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c +new file mode 100644 +index 000000000..5c5831cdf +--- /dev/null ++++ b/libgloss/libsysbase/fchmod.c +@@ -0,0 +1,31 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++#include ++ ++int fchmod(int fd, mode_t mode) { ++ int ret = -1, dev; ++ struct _reent *r = _REENT; ++ ++ if(fd!=-1) { ++ ++ __handle *handle = __get_handle(fd); ++ ++ if ( handle != NULL) { ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fchmod_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fchmod_r(r,handle->fileStruct,mode); ++ } else ++ r->_errno=ENOSYS; ++ } ++ } ++ return ret; ++} +diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c +new file mode 100644 +index 000000000..8a66cd19f +--- /dev/null ++++ b/libgloss/libsysbase/flock.c +@@ -0,0 +1,22 @@ ++#include ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#ifndef REENTRANT_SYSCALLS_PROVIDED ++#include ++#endif ++#include ++#include ++ ++void __flockfile(FILE *fp) ++{ ++ __lock_acquire_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); ++} ++ ++void __funlockfile(FILE *fp) ++{ ++ __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); ++} ++ +diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c +new file mode 100644 +index 000000000..893b662ab +--- /dev/null ++++ b/libgloss/libsysbase/fnmatch.c +@@ -0,0 +1,201 @@ ++/* ++ * Copyright (c) 1989, 1993, 1994 ++ * The Regents of the University of California. All rights reserved. ++ * ++ * This code is derived from software contributed to Berkeley by ++ * Guido van Rossum. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. All advertising materials mentioning features or use of this software ++ * must display the following acknowledgement: ++ * This product includes software developed by the University of ++ * California, Berkeley and its contributors. ++ * 4. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * From FreeBSD fnmatch.c 1.11 ++ * $Id: fnmatch.c,v 1.3 1997/08/19 02:34:30 jdp Exp $ ++ */ ++ ++#define _GNU_SOURCE ++ ++#if defined(LIBC_SCCS) && !defined(lint) ++static char sccsid[] = "@(#)fnmatch.c 8.2 (Berkeley) 4/16/94"; ++#endif /* LIBC_SCCS and not lint */ ++ ++/* ++ * Function fnmatch() as specified in POSIX 1003.2-1992, section B.6. ++ * Compares a filename or pathname to a pattern. ++ */ ++ ++#include ++#include ++#include ++ ++#include "fnmatch.h" ++ ++#define EOS '\0' ++ ++static const char *rangematch(const char *, char, int); ++ ++int ++fnmatch(const char *pattern, const char *string, int flags) ++{ ++ const char *stringstart; ++ char c, test; ++ ++ for (stringstart = string;;) ++ switch (c = *pattern++) { ++ case EOS: ++ if ((flags & FNM_LEADING_DIR) && *string == '/') ++ return (0); ++ return (*string == EOS ? 0 : FNM_NOMATCH); ++ case '?': ++ if (*string == EOS) ++ return (FNM_NOMATCH); ++ if (*string == '/' && (flags & FNM_PATHNAME)) ++ return (FNM_NOMATCH); ++ if (*string == '.' && (flags & FNM_PERIOD) && ++ (string == stringstart || ++ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) ++ return (FNM_NOMATCH); ++ ++string; ++ break; ++ case '*': ++ c = *pattern; ++ /* Collapse multiple stars. */ ++ while (c == '*') ++ c = *++pattern; ++ ++ if (*string == '.' && (flags & FNM_PERIOD) && ++ (string == stringstart || ++ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) ++ return (FNM_NOMATCH); ++ ++ /* Optimize for pattern with * at end or before /. */ ++ if (c == EOS) ++ if (flags & FNM_PATHNAME) ++ return ((flags & FNM_LEADING_DIR) || ++ strchr(string, '/') == NULL ? ++ 0 : FNM_NOMATCH); ++ else ++ return (0); ++ else if (c == '/' && flags & FNM_PATHNAME) { ++ if ((string = strchr(string, '/')) == NULL) ++ return (FNM_NOMATCH); ++ break; ++ } ++ ++ /* General case, use recursion. */ ++ while ((test = *string) != EOS) { ++ if (!fnmatch(pattern, string, flags & ~FNM_PERIOD)) ++ return (0); ++ if (test == '/' && flags & FNM_PATHNAME) ++ break; ++ ++string; ++ } ++ return (FNM_NOMATCH); ++ case '[': ++ if (*string == EOS) ++ return (FNM_NOMATCH); ++ if (*string == '/' && flags & FNM_PATHNAME) ++ return (FNM_NOMATCH); ++ if ((pattern = ++ rangematch(pattern, *string, flags)) == NULL) ++ return (FNM_NOMATCH); ++ ++string; ++ break; ++ case '\\': ++ if (!(flags & FNM_NOESCAPE)) { ++ if ((c = *pattern++) == EOS) { ++ c = '\\'; ++ --pattern; ++ } ++ } ++ /* FALLTHROUGH */ ++ default: ++ if (c == *string) ++ ; ++ else if ((flags & FNM_CASEFOLD) && ++ (tolower((unsigned char)c) == ++ tolower((unsigned char)*string))) ++ ; ++ else if ((flags & FNM_PREFIX_DIRS) && *string == EOS && ++ ((c == '/' && string != stringstart) || ++ (string == stringstart+1 && *stringstart == '/'))) ++ return (0); ++ else ++ return (FNM_NOMATCH); ++ string++; ++ break; ++ } ++ /* NOTREACHED */ ++} ++ ++static const char * ++rangematch(const char *pattern, char test, int flags) ++{ ++ int negate, ok; ++ char c, c2; ++ ++ /* ++ * A bracket expression starting with an unquoted circumflex ++ * character produces unspecified results (IEEE 1003.2-1992, ++ * 3.13.2). This implementation treats it like '!', for ++ * consistency with the regular expression syntax. ++ * J.T. Conklin (conklin@ngai.kaleida.com) ++ */ ++ if ( (negate = (*pattern == '!' || *pattern == '^')) ) ++ ++pattern; ++ ++ if (flags & FNM_CASEFOLD) ++ test = tolower((unsigned char)test); ++ ++ for (ok = 0; (c = *pattern++) != ']';) { ++ if (c == '\\' && !(flags & FNM_NOESCAPE)) ++ c = *pattern++; ++ if (c == EOS) ++ return (NULL); ++ ++ if (flags & FNM_CASEFOLD) ++ c = tolower((unsigned char)c); ++ ++ if (*pattern == '-' ++ && (c2 = *(pattern+1)) != EOS && c2 != ']') { ++ pattern += 2; ++ if (c2 == '\\' && !(flags & FNM_NOESCAPE)) ++ c2 = *pattern++; ++ if (c2 == EOS) ++ return (NULL); ++ ++ if (flags & FNM_CASEFOLD) ++ c2 = tolower((unsigned char)c2); ++ ++ if ((unsigned char)c <= (unsigned char)test && ++ (unsigned char)test <= (unsigned char)c2) ++ ok = 1; ++ } else if (c == test) ++ ok = 1; ++ } ++ return (ok == negate ? NULL : pattern); ++} +diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c +new file mode 100644 +index 000000000..2bada9736 +--- /dev/null ++++ b/libgloss/libsysbase/fork.c +@@ -0,0 +1,15 @@ ++/* ++ * Stub version of fork. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++int _fork_r(struct _reent * r) { ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return -1; ++} +diff --git a/libgloss/libsysbase/fpathconf.c b/libgloss/libsysbase/fpathconf.c +new file mode 100644 +index 000000000..6911163ae +--- /dev/null ++++ b/libgloss/libsysbase/fpathconf.c +@@ -0,0 +1,30 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++long fpathconf(int fd, int name) ++{ ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = __get_handle(fd); ++ struct _reent *r = _REENT; ++ ++ if ( NULL == handle ) { ++ errno = EINVAL; ++ return ret; ++ } ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fpathconf_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fpathconf_r(r, fd, name); ++ } else ++ r->_errno=ENOSYS; ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c +new file mode 100644 +index 000000000..32267b828 +--- /dev/null ++++ b/libgloss/libsysbase/fstat.c +@@ -0,0 +1,32 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++//--------------------------------------------------------------------------------- ++int _fstat_r(struct _reent * r, int fileDesc, struct stat *st) { ++//--------------------------------------------------------------------------------- ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = NULL; ++ ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fstat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fstat_r(r,handle->fileStruct,st); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; ++} +diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c +new file mode 100644 +index 000000000..fb06cb6d1 +--- /dev/null ++++ b/libgloss/libsysbase/fsync.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#include ++ ++int fsync(int fileDesc ) { ++ int ret = -1; ++ unsigned int dev = 0; ++ unsigned int fd = -1; ++ struct _reent *r = _REENT; ++ ++ __handle * handle; ++ ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) { ++ errno = EINVAL; ++ return ret; ++ } ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fsync_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fsync_r(r, handle->fileStruct); ++ } else ++ r->_errno=ENOSYS; ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c +new file mode 100644 +index 000000000..0cd7d0fc4 +--- /dev/null ++++ b/libgloss/libsysbase/ftruncate.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#include ++ ++int ftruncate(int fileDesc, off_t len) { ++ int ret = -1; ++ unsigned int dev = 0; ++ unsigned int fd = -1; ++ struct _reent *r = _REENT; ++ ++ __handle * handle; ++ ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) { ++ r->_errno = EINVAL; ++ return ret; ++ } ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->ftruncate_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); ++ } else ++ r->_errno=ENOSYS; ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c +new file mode 100644 +index 000000000..c834c4c94 +--- /dev/null ++++ b/libgloss/libsysbase/getpid.c +@@ -0,0 +1,12 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++int _getpid_r(struct _reent *ptr) { ++//--------------------------------------------------------------------------------- ++ ptr->_errno = ENOSYS; ++ return -1; ++} ++ +diff --git a/libgloss/libsysbase/getreent.c b/libgloss/libsysbase/getreent.c +new file mode 100644 +index 000000000..a3f1e98a9 +--- /dev/null ++++ b/libgloss/libsysbase/getreent.c +@@ -0,0 +1,20 @@ ++ ++/* default reentrant pointer when multithread enabled */ ++ ++#include <_ansi.h> ++#include ++#include ++ ++#ifdef __getreent ++#undef __getreent ++#endif ++ ++struct _reent *__getreent() { ++ if ( __has_syscall(getreent) ) { ++ return __syscall_getreent(); ++ } else { ++ return _impure_ptr; ++ } ++} ++ ++ +diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c +new file mode 100644 +index 000000000..0606a1204 +--- /dev/null ++++ b/libgloss/libsysbase/gettod.c +@@ -0,0 +1,18 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++//--------------------------------------------------------------------------------- ++int _gettimeofday_r( struct _reent *ptr, struct timeval *ptimeval, void *ptimezone) { ++//--------------------------------------------------------------------------------- ++ if ( __has_syscall(gettod_r) ) return __syscall_gettod_r(ptr, ptimeval, ptimezone); ++ ++ ptr->_errno = ENOSYS; ++ return -1; ++ ++} ++ +diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c +new file mode 100644 +index 000000000..45d5cf77c +--- /dev/null ++++ b/libgloss/libsysbase/handle_manager.c +@@ -0,0 +1,222 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#include ++ ++#define MAX_HANDLES 1024 ++ ++static __handle __stdin_handle = {0, 1, NULL}; ++static __handle __stdout_handle = {1, 1, NULL}; ++static __handle __stderr_handle = {2, 1, NULL}; ++ ++static __handle* handles[MAX_HANDLES] = { ++ &__stdin_handle, ++ &__stdout_handle, ++ &__stderr_handle ++}; ++ ++__LOCK_INIT(static, __hndl_lock); ++ ++static void __free_handle(__handle *handle) { ++ ++ if ( NULL != handle ++ && handle != &__stdin_handle ++ && handle != &__stdout_handle ++ && handle != &__stderr_handle ) { ++ ++ free(handle); ++ ++ } ++ ++} ++ ++void __release_handle(int fd) { ++ ++ if ( fd <0 || fd >= MAX_HANDLES ) return; ++ ++ __lock_acquire (__hndl_lock); ++ ++ __free_handle(handles[fd]); ++ handles[fd] = NULL; ++ ++ __lock_release (__hndl_lock); ++ ++} ++ ++int __alloc_handle(int device) { ++ ++ int i, ret = -1; ++ ++ __lock_acquire (__hndl_lock); ++ ++ for ( i = 0; i < MAX_HANDLES; i++ ) { ++ if ( handles[i] == NULL ) break; ++ } ++ ++ size_t size = sizeof(__handle) + devoptab_list[device]->structSize; ++ ++ if ( i < MAX_HANDLES ) { ++ handles[i] = malloc(size); ++ __handle *handle = handles[i]; ++ if ( NULL != handles[i] ) { ++ ++ handles[i]->refcount = 1; ++ ret = i; ++ handles[i]->device = device; ++ handles[i]->fileStruct = (void *)&handle[1]; ++ ++ } else { ++ ++ errno = ENOMEM; ++ ++ } ++ } else { ++ ++ errno = ENFILE; ++ ++ } ++ ++ __lock_release (__hndl_lock); ++ ++ return ret; ++} ++ ++__handle *__get_handle(int fd) { ++ ++ if ( fd < 0 || fd >= MAX_HANDLES ) return NULL; ++ ++ __lock_acquire (__hndl_lock); ++ __handle *handle = handles[fd]; ++ __lock_release (__hndl_lock); ++ ++ return handle; ++} ++ ++int dup(int oldfd) { ++ int i, ret =-1; ++ ++ __lock_acquire (__hndl_lock); ++ ++ if (handles[oldfd]==NULL) { ++ __lock_release (__hndl_lock); ++ errno = EBADF; ++ return -1; ++ } ++ ++ ++ for ( i = 0; i < MAX_HANDLES; i++ ) { ++ if ( handles[i] == NULL ) break; ++ } ++ ++ if (irefcount++; ++ ret = i; ++ } ++ __lock_release (__hndl_lock); ++ ++ return ret; ++ ++} ++ ++int dup2(int oldfd, int newfd) { ++ ++ if ( newfd < 0 || newfd >= MAX_HANDLES || ++ oldfd < 0 || oldfd >= MAX_HANDLES) { ++ ++ errno = EBADF; ++ ++ return -1; ++ } ++ ++ if ( newfd == oldfd ) { ++ return newfd; ++ } ++ ++ __lock_acquire (__hndl_lock); ++ ++ if ( handles[oldfd] == NULL ) { ++ __lock_release (__hndl_lock); ++ errno = EBADF; ++ ++ return -1; ++ } ++ ++ __handle *handle = handles[newfd]; ++ ++ handles[newfd] = handles[oldfd]; ++ handles[newfd]->refcount++; ++ ++ if ( handle ) { ++ ++ int ref = --handle->refcount; ++ __lock_release (__hndl_lock); ++ ++ if ( ref == 0 ) { ++ ++ if ( devoptab_list[handle->device]->close_r ) { ++ ++ _REENT->deviceData = devoptab_list[handle->device]->deviceData; ++ devoptab_list[handle->device]->close_r(_REENT,handle->fileStruct); ++ ++ } ++ ++ __free_handle(handle); ++ } ++ ++ } else { ++ ++ __lock_release (__hndl_lock); ++ ++ } ++ ++ return newfd; ++} ++ ++//--------------------------------------------------------------------------------- ++int _close_r(struct _reent *ptr, int fd) { ++//--------------------------------------------------------------------------------- ++ int ret = 0; ++ ++ if (fd < 0 || fd >= MAX_HANDLES) { ++ ++ ptr->_errno = EBADF; ++ return -1; ++ ++ } ++ ++ __lock_acquire (__hndl_lock); ++ ++ __handle *handle = handles[fd]; ++ ++ if ( !handle ) { ++ ++ __lock_release (__hndl_lock); ++ ptr->_errno = EBADF; ++ return -1; ++ ++ } ++ ++ int ref = --handle->refcount; ++ handles[fd] = NULL; ++ ++ __lock_release (__hndl_lock); ++ ++ if ( ref == 0 ) { ++ ++ if ( devoptab_list[handle->device]->close_r ) { ++ ++ ptr->deviceData = devoptab_list[handle->device]->deviceData; ++ ret = devoptab_list[handle->device]->close_r(ptr,handle->fileStruct); ++ ++ } ++ ++ __free_handle(handle); ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/handle_manager.h b/libgloss/libsysbase/handle_manager.h +new file mode 100644 +index 000000000..5e81c5d42 +--- /dev/null ++++ b/libgloss/libsysbase/handle_manager.h +@@ -0,0 +1,10 @@ ++#ifndef __HANDLE_MANAGER_H__ ++#define __HANDLE_MANAGER_H__ ++ ++#include ++ ++void __release_handle(int fd); ++int __alloc_handle(int device); ++__handle *__get_handle(int fd); ++ ++#endif +diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c +new file mode 100644 +index 000000000..71224902f +--- /dev/null ++++ b/libgloss/libsysbase/iosupport.c +@@ -0,0 +1,138 @@ ++#include ++#include ++#include ++#include ++ ++static int defaultDevice = -1; ++ ++//--------------------------------------------------------------------------------- ++void setDefaultDevice( int device ) { ++//--------------------------------------------------------------------------------- ++ ++ if ( device >2 && device <= STD_MAX) ++ defaultDevice = device; ++} ++ ++//--------------------------------------------------------------------------------- ++static ssize_t null_write(struct _reent *r,void *fd,const char *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ return len; ++} ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t dotab_stdnull = { ++//--------------------------------------------------------------------------------- ++ "stdnull", // device name ++ 0, // size of file structure ++ NULL, // device open ++ NULL, // device close ++ null_write, // device write ++ NULL, // device read ++ NULL, // device seek ++ NULL, // device fstat ++ NULL, // device stat ++ NULL, // device link ++ NULL, // device unlink ++ NULL, // device chdir ++ NULL, // device rename ++ NULL, // device mkdir ++ 0, // dirStateSize ++ NULL, // device diropen_r ++ NULL, // device dirreset_r ++ NULL, // device dirnext_r ++ NULL, // device dirclose_r ++ NULL, // device statvfs_r ++ NULL, // device ftruncate_r ++ NULL, // device fsync_r ++ NULL, // deviceData ++ NULL, // chmod_r ++ NULL, // fchmod_r ++ NULL, // rmdir_r ++ NULL, // lstat_r ++ NULL, // utimes_r ++}; ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t *devoptab_list[STD_MAX] = { ++//--------------------------------------------------------------------------------- ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull ++}; ++ ++//--------------------------------------------------------------------------------- ++int FindDevice(const char* name) { ++//--------------------------------------------------------------------------------- ++ int i = 0, namelen, dev_namelen, dev = -1; ++ char *separator; ++ ++ separator = strchr(name, ':'); ++ ++ if (separator == NULL) return defaultDevice; ++ ++ dev_namelen = separator - name; ++ ++ while(iname); ++ if(dev_namelen == namelen && strncmp(devoptab_list[i]->name,name,namelen)==0 ) { ++ if ( name[namelen] == ':' || (isdigit(name[namelen]) && name[namelen+1] ==':' )) { ++ dev = i; ++ break; ++ } ++ } ++ } ++ i++; ++ } ++ ++ return dev; ++} ++ ++//--------------------------------------------------------------------------------- ++int RemoveDevice( const char* name) { ++//--------------------------------------------------------------------------------- ++ int dev = FindDevice(name); ++ ++ if ( -1 != dev ) { ++ devoptab_list[dev] = &dotab_stdnull; ++ return 0; ++ } ++ ++ return -1; ++ ++} ++ ++//--------------------------------------------------------------------------------- ++int AddDevice( const devoptab_t* device) { ++//--------------------------------------------------------------------------------- ++ ++ int devnum; ++ ++ for ( devnum = 3;devnum name, device->name) && ++ strlen(devoptab_list[devnum]->name) == strlen(device->name) ) || ++ !strcmp(devoptab_list[devnum]->name, "stdnull") ++ ) ++ break; ++ } ++ ++ if ( devnum == STD_MAX ) { ++ devnum = -1; ++ } else { ++ devoptab_list[devnum] = device; ++ } ++ return devnum; ++} ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t* GetDeviceOpTab (const char *name) { ++//--------------------------------------------------------------------------------- ++ int dev = FindDevice(name); ++ if (dev >= 0 && dev < STD_MAX) { ++ return devoptab_list[dev]; ++ } else { ++ return NULL; ++ } ++} +diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c +new file mode 100644 +index 000000000..2901f1474 +--- /dev/null ++++ b/libgloss/libsysbase/isatty.c +@@ -0,0 +1,10 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++int _isatty_r( struct _reent *ptr, int file) { ++//--------------------------------------------------------------------------------- ++ return 0; ++} +diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c +new file mode 100644 +index 000000000..a7f10c0c5 +--- /dev/null ++++ b/libgloss/libsysbase/kill.c +@@ -0,0 +1,15 @@ ++/* ++ * Stub version of kill. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++int _kill_r( struct _reent *ptr, int pid, int sig) { ++//--------------------------------------------------------------------------------- ++ ptr->_errno = ENOSYS; ++ return -1; ++} +diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c +new file mode 100644 +index 000000000..d7a988359 +--- /dev/null ++++ b/libgloss/libsysbase/link.c +@@ -0,0 +1,30 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++//--------------------------------------------------------------------------------- ++int _link_r(struct _reent *r, const char *existing, const char *new) { ++//--------------------------------------------------------------------------------- ++ int ret; ++ int sourceDev = FindDevice(existing); ++ int destDev = FindDevice(new); ++ ++ ret = -1; ++ ++ if ( sourceDev == destDev) { ++ if (devoptab_list[destDev]->link_r) { ++ r->deviceData = devoptab_list[destDev]->deviceData; ++ ret = devoptab_list[destDev]->link_r( r, existing, new); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = EXDEV; ++ } ++ ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c +new file mode 100644 +index 000000000..39ef385b1 +--- /dev/null ++++ b/libgloss/libsysbase/lseek.c +@@ -0,0 +1,35 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++#include ++ ++#include ++ ++//--------------------------------------------------------------------------------- ++_off_t _lseek_r(struct _reent * r, int fileDesc, _off_t pos, int dir) { ++//--------------------------------------------------------------------------------- ++ _off_t ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle; ++ ++ if(fileDesc!=-1) { ++ ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->seek_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->seek_r( r, handle->fileStruct, pos, dir); ++ } else ++ r->_errno=ENOSYS; ++ ++ } ++ return ret; ++ ++} +diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c +new file mode 100644 +index 000000000..467744e9c +--- /dev/null ++++ b/libgloss/libsysbase/lstat.c +@@ -0,0 +1,30 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++ ++//--------------------------------------------------------------------------------- ++int lstat(const char *__restrict __path, struct stat *__restrict __buf ) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++ int dev,ret=-1; ++ ++ dev = FindDevice(__path); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->lstat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->lstat_r(r,__path,__buf); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c +new file mode 100644 +index 000000000..456590956 +--- /dev/null ++++ b/libgloss/libsysbase/malloc_vars.c +@@ -0,0 +1,2 @@ ++char *fake_heap_end = (char*)0; ++char *fake_heap_start = (char*)0; +diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c +new file mode 100644 +index 000000000..b4fcbd3d7 +--- /dev/null ++++ b/libgloss/libsysbase/mkdir.c +@@ -0,0 +1,19 @@ ++#include ++#include ++#include ++ ++int mkdir (const char *path, mode_t mode) { ++ struct _reent *r = _REENT; ++ int ret; ++ int dev = FindDevice(path); ++ ret = -1; ++ ++ if (devoptab_list[dev]->mkdir_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->mkdir_r(r, path, mode); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c +new file mode 100644 +index 000000000..a233b9df6 +--- /dev/null ++++ b/libgloss/libsysbase/nanosleep.c +@@ -0,0 +1,14 @@ ++#include ++#include ++#include ++ ++int nanosleep(const struct timespec *req, struct timespec *rem) ++{ ++ if ( __has_syscall(nanosleep) ) { ++ return __syscall_nanosleep(req, rem); ++ } else { ++ *rem = *req; ++ errno = ENOSYS; ++ return -1; ++ } ++} +diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c +new file mode 100644 +index 000000000..ca17db8bf +--- /dev/null ++++ b/libgloss/libsysbase/open.c +@@ -0,0 +1,46 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++#include ++ ++//--------------------------------------------------------------------------------- ++int _open_r(struct _reent *r, const char *file, int flags, int mode) { ++//--------------------------------------------------------------------------------- ++ __handle *handle; ++ int dev, fd, ret; ++ ++ dev = FindDevice(file); ++ ++ fd = -1; ++ if(dev!=-1) { ++ if (devoptab_list[dev]->open_r) { ++ fd = __alloc_handle(dev); ++ ++ if ( -1 != fd ) { ++ handle = __get_handle(fd); ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, flags, mode); ++ ++ if ( ret == -1 ) { ++ __release_handle(fd); ++ fd = -1; ++ } ++ } else { ++ r->_errno = ENOSR; ++ } ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return fd; ++} +diff --git a/libgloss/libsysbase/pathconf.c b/libgloss/libsysbase/pathconf.c +new file mode 100644 +index 000000000..a696c9ab9 +--- /dev/null ++++ b/libgloss/libsysbase/pathconf.c +@@ -0,0 +1,21 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++long pathconf(const char *path, int name) ++{ ++ int ret = -1; ++ unsigned int dev = FindDevice(path); ++ struct _reent *r = _REENT; ++ ++ if(dev != -1 && devoptab_list[dev]->pathconf_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->pathconf_r(r, path, name); ++ } else ++ r->_errno=ENOSYS; ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c +new file mode 100644 +index 000000000..9c548d830 +--- /dev/null ++++ b/libgloss/libsysbase/read.c +@@ -0,0 +1,32 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++ ++#include ++ ++//--------------------------------------------------------------------------------- ++_ssize_t _read_r(struct _reent *r, int fileDesc, void *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = NULL; ++ ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->read_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->read_r(r,handle->fileStruct,ptr,len); ++ } else ++ r->_errno=ENOSYS; ++ } ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/readlink.c b/libgloss/libsysbase/readlink.c +new file mode 100644 +index 000000000..98ce358e4 +--- /dev/null ++++ b/libgloss/libsysbase/readlink.c +@@ -0,0 +1,24 @@ ++#include ++#include ++#include ++#include ++ ++ssize_t readlink_r(struct _reent *r, const char *path, char *buf, size_t bufsiz) { ++ int ret=-1; ++ int device = FindDevice(path); ++ ++ if ( device != -1 && devoptab_list[device]->readlink_r) { ++ ++ r->deviceData = devoptab_list[device]->deviceData; ++ ret = devoptab_list[device]->readlink_r(r, path, buf, bufsiz); ++ ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} ++ ++ssize_t readlink(const char *path, char *buf, size_t bufsiz) { ++ return(readlink_r(_REENT, path, buf, bufsiz)); ++} +diff --git a/libgloss/libsysbase/realpath.c b/libgloss/libsysbase/realpath.c +new file mode 100644 +index 000000000..f2cf3a831 +--- /dev/null ++++ b/libgloss/libsysbase/realpath.c +@@ -0,0 +1,188 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "concatenate.h" ++ ++/* Based on chdir.c */ ++static inline int _resolve_links(struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; ++ ++ int resolvedLinks = 0; ++ ++ pathLength = strnlen (path, maxLength); ++ ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } ++ ++ extraEnd = extra; ++ ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } ++ ++ ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } ++ ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } ++ ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } ++ ++ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) ++ { ++ /* Don't copy anything */ ++ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) ++ { ++ /* Go up one level of in the path */ ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { ++ // Remove trailing separator ++ pathEnd[-1] = '\0'; ++ } ++ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); ++ if (pathEnd == NULL) { ++ /* Can't go up any higher, return false */ ++ r->_errno = ENOENT; ++ return -1; ++ } ++ pathLength = pathEnd - path; ++ pathEnd += 1; ++ } else { ++ pathLength += extraSize; ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ /* Copy the next part over */ ++ strncpy (pathEnd, extra, extraSize); ++ pathEnd += extraSize; ++ } ++ pathEnd[0] = '\0'; ++ extra += extraSize; ++ ++ ++ struct stat st; ++ if (lstat(path,&st) < 0) return -1; ++ if (S_ISLNK(st.st_mode)) { ++ do { ++ if(resolvedLinks > 8 && extraSize > 0) { ++ r->_errno = ELOOP; ++ return -1; ++ } ++ ++ char buf[PATH_MAX]; ++ memset(buf,0,PATH_MAX); ++ ++ if (readlink(path,buf,sizeof(buf)) == -1) return -1; ++ ++ pathEnd = strrchr(path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ if (pathEnd == NULL) pathEnd = path; ++ pathEnd[0] = '\0'; ++ ++ if (_concatenate_path(r, path, buf, PATH_MAX) == -1) { ++ return -1; ++ } ++ ++ resolvedLinks++; ++ pathEnd = strchr(path,0); ++ ++ if (lstat(path,&st) < 0) return -1; ++ ++ } while(S_ISLNK(st.st_mode)); ++ } ++ } while (extraSize != 0); ++ ++ ++ return 0; ++} ++ ++char *realpath(const char *__restrict path, char *__restrict resolved) ++{ ++ struct _reent *r = _REENT; ++ ++ char stack[PATH_MAX] = {0}; ++ const char *pathPosition = NULL; ++ int len = 0; ++ ++ if (!path) { ++ errno = ENOENT; ++ return NULL; ++ } ++ ++ len = strnlen(path, PATH_MAX); ++ if (!len) { ++ r->_errno = ENOENT; ++ return NULL; ++ } ++ if (len >= PATH_MAX) { ++ r->_errno = ENAMETOOLONG; ++ return NULL; ++ } ++ ++ if (strchr (path, ':') != NULL) { ++ strncpy(stack, path, PATH_MAX-1); ++ /* Move path past device name */ ++ path = strchr(path, ':') + 1; ++ } else { ++ getcwd(stack, PATH_MAX); ++ } ++ ++ pathPosition = strchr(stack, ':'); ++ ++ if (pathPosition == NULL) { ++ pathPosition = stack; ++ } else { ++ pathPosition++; ++ } ++ ++ /* Make sure the path starts in the root directory */ ++ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { ++ r->_errno = ENOENT; ++ return NULL; ++ } ++ ++ if (_resolve_links(r, stack, path, PATH_MAX) == -1) { ++ return NULL; ++ } ++ ++ if (resolved) { ++ strncpy(resolved, stack, PATH_MAX); ++ return resolved; ++ } ++ ++ return strndup(stack, sizeof(stack)); ++} ++ +diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c +new file mode 100644 +index 000000000..433f7ef83 +--- /dev/null ++++ b/libgloss/libsysbase/rename.c +@@ -0,0 +1,29 @@ ++#include "config.h" ++#include ++#include ++#include ++ ++//--------------------------------------------------------------------------------- ++int _rename_r( struct _reent *ptr, const char *existing, const char *newName) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++ ++ int ret; ++ int sourceDev = FindDevice(existing); ++ int destDev = FindDevice(newName); ++ ++ ret = -1; ++ ++ if ( sourceDev == destDev) { ++ if (devoptab_list[destDev]->rename_r) { ++ r->deviceData = devoptab_list[destDev]->deviceData; ++ ret = devoptab_list[destDev]->rename_r( r, existing, newName); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = EXDEV; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c +new file mode 100644 +index 000000000..b8640b87d +--- /dev/null ++++ b/libgloss/libsysbase/rmdir.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++int _rmdir_r (struct _reent *ptr, const char *name) { ++ int dev,ret=-1; ++ ++ dev = FindDevice(name); ++ if(dev!=-1) { ++ if(devoptab_list[dev]->rmdir_r) { ++ ptr->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->rmdir_r(ptr,name); ++ } else { ++ ptr->_errno = ENOSYS; ++ } ++ } else { ++ ptr->_errno = ENODEV; ++ } ++ ++ return ret; ++} ++ ++#ifndef _REENT_ONLY ++ ++int ++rmdir (const char *filename) ++{ ++ return _rmdir_r (_REENT, filename); ++} ++ ++#endif +diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c +new file mode 100644 +index 000000000..badd03297 +--- /dev/null ++++ b/libgloss/libsysbase/sbrk.c +@@ -0,0 +1,54 @@ ++#include "config.h" ++#include <_ansi.h> ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++ ++extern char *fake_heap_end; ++extern char *fake_heap_start; ++ ++/* Register name faking - works in collusion with the linker. */ ++register char * stack_ptr asm ("sp"); ++ ++//--------------------------------------------------------------------------------- ++__attribute__((weak)) void * _sbrk_r (struct _reent *ptr, ptrdiff_t incr) { ++//--------------------------------------------------------------------------------- ++ extern char end asm ("__end__"); /* Defined by the linker. */ ++ static char * heap_start; ++ ++ char * prev_heap_start; ++ char * heap_end; ++ ++ if (heap_start == NULL) { ++ if (fake_heap_start == NULL) { ++ heap_start = &end; ++ } else { ++ heap_start = fake_heap_start; ++ } ++ } ++ ++ prev_heap_start = heap_start; ++ ++ if (fake_heap_end == NULL) { ++ heap_end = stack_ptr; ++ } else { ++ heap_end = fake_heap_end; ++ } ++ ++ if (heap_start + incr > heap_end) { ++ ptr->_errno = ENOMEM; ++ return (void *) -1; ++ } ++ ++ heap_start += incr; ++ return (void *) prev_heap_start; ++} +diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c +new file mode 100644 +index 000000000..7bb5ebd52 +--- /dev/null ++++ b/libgloss/libsysbase/scandir.c +@@ -0,0 +1,77 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* ++ * The DIRSIZ macro gives the minimum record length which will hold ++ * the directory entry. This requires the amount of space in struct dirent ++ * without the d_name field, plus enough space for the name with a terminating ++ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. ++ */ ++#undef DIRSIZ ++#ifdef _DIRENT_HAVE_D_NAMLEN ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + (((dp)->d_namlen+1 + 3) &~ 3)) ++#else ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + ((strlen((dp)->d_name)+1 + 3) &~ 3)) ++#endif ++ ++int ++scandir (const char *dirname, ++ struct dirent ***namelist, ++ int (*filter) __P((const struct dirent *)), ++ int (*compar) __P((const struct dirent **, const struct dirent **))) ++{ ++ errno = 0; ++ ++ DIR *d = opendir(dirname); ++ ++ if (!d) return -1; ++ ++ struct dirent *de, **names = NULL, **tmp; ++ size_t cnt = 0, len = 0; ++ ++ while (de = readdir(d)) { ++ if (filter && ! filter(de)) continue; ++ if (cnt >= len) { ++ len = 2*len+1; ++ if (len > SIZE_MAX/sizeof(*names)) break; ++ tmp = realloc(names, len * sizeof(*names)); ++ if (!tmp) break; ++ names = tmp; ++ } ++ names[cnt] = malloc(DIRSIZ(de)); ++ if (!names[cnt]) break; ++ memcpy(names[cnt++], de, DIRSIZ(de)); ++ } ++ ++ closedir(d); ++ ++ if(errno) { ++ if (names) while(cnt-- > 0) free(names[cnt]); ++ free(names); ++ return -1; ++ } ++ ++ if (compar) qsort(names, cnt, sizeof(*names), (int (*)(const void *, const void *))compar); ++ ++ *namelist = names; ++ return cnt; ++} ++ ++/* ++ * Alphabetic order comparison routine for those who want it. ++ */ ++int ++alphasort (const struct dirent **d1, ++ const struct dirent **d2) ++{ ++ return(strcmp((*d1)->d_name, (*d2)->d_name)); ++} ++ +diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c +new file mode 100644 +index 000000000..f3aa97954 +--- /dev/null ++++ b/libgloss/libsysbase/sleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ ++ ++/* Written 2000 by Werner Almesberger */ ++ ++#include ++#include ++#include ++ ++unsigned sleep(unsigned seconds) ++{ ++ struct timespec ts; ++ ++ ts.tv_sec = seconds; ++ ts.tv_nsec = 0; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} +diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c +new file mode 100644 +index 000000000..17181dc3b +--- /dev/null ++++ b/libgloss/libsysbase/stat.c +@@ -0,0 +1,29 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++ ++//--------------------------------------------------------------------------------- ++int _stat_r(struct _reent *r, const char *file, struct stat *st) { ++//--------------------------------------------------------------------------------- ++ int dev,ret=-1; ++ ++ dev = FindDevice(file); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->stat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->stat_r(r,file,st); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c +new file mode 100644 +index 000000000..84e221340 +--- /dev/null ++++ b/libgloss/libsysbase/statvfs.c +@@ -0,0 +1,24 @@ ++#include ++#include ++#include ++ ++ ++int statvfs(const char *path, struct statvfs *buf) { ++ struct _reent *r = _REENT; ++ ++ int ret; ++ int device = FindDevice(path); ++ ++ ret = -1; ++ ++ if ( device != -1 && devoptab_list[device]->statvfs_r) { ++ ++ r->deviceData = devoptab_list[device]->deviceData; ++ ret = devoptab_list[device]->statvfs_r(r, path, buf ); ++ ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/symlink.c b/libgloss/libsysbase/symlink.c +new file mode 100644 +index 000000000..b3c34ea51 +--- /dev/null ++++ b/libgloss/libsysbase/symlink.c +@@ -0,0 +1,29 @@ ++#include ++#include ++#include ++#include ++ ++int symlink_r(struct _reent *r, const char *target, const char *linkpath) { ++ int ret=-1; ++ int targetDevice = FindDevice(target); ++ int linkDevice = FindDevice(linkpath); ++ ++ if (targetDevice != linkDevice) { ++ return -1; ++ } ++ ++ if ( targetDevice != -1 && devoptab_list[targetDevice]->symlink_r) { ++ ++ r->deviceData = devoptab_list[targetDevice]->deviceData; ++ ret = devoptab_list[targetDevice]->symlink_r(r, target, linkpath ); ++ ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} ++ ++int symlink(const char *target, const char *linkpath) { ++ return (symlink_r(_REENT, target, linkpath)); ++} +diff --git a/libgloss/libsysbase/sysbase.specs b/libgloss/libsysbase/sysbase.specs +new file mode 100644 +index 000000000..d5959084e +--- /dev/null ++++ b/libgloss/libsysbase/sysbase.specs +@@ -0,0 +1,11 @@ ++%rename link_gcc_c_sequence sysbase_link_gcc_c_sequence ++ ++*sysbase_libgloss: ++-lsysbase ++ ++*sysbase_libc: ++%{!specs=nano.specs:-lc} %{specs=nano.specs:-lc_nano} ++ ++*link_gcc_c_sequence: ++%(sysbase_link_gcc_c_sequence) --start-group %G %(sysbase_libc) %(sysbase_libgloss) --end-group ++ +diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c +new file mode 100644 +index 000000000..99f2a7822 +--- /dev/null ++++ b/libgloss/libsysbase/syscall_support.c +@@ -0,0 +1,93 @@ ++#include ++#include ++ ++void __libc_lock_init(_LOCK_T *lock) { ++ ++ if ( __has_syscall(lock_init) ) { ++ __syscall_lock_init(lock); ++ } ++} ++ ++void __libc_lock_acquire(_LOCK_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire) ) { ++ __syscall_lock_acquire(lock); ++ } ++} ++ ++int __libc_lock_try_acquire(_LOCK_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire) ) { ++ return __syscall_lock_try_acquire(lock); ++ } else { ++ return 0; ++ } ++} ++ ++void __libc_lock_release(_LOCK_T *lock ) { ++ ++ if ( __has_syscall(lock_release) ) { ++ __syscall_lock_release(lock); ++ } ++} ++ ++void __libc_lock_close(_LOCK_T *lock ) { ++ ++ if ( __has_syscall(lock_close) ) { ++ __syscall_lock_close(lock); ++ } ++} ++ ++void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { ++ ++ if ( __has_syscall(lock_init_recursive) ) { ++ __syscall_lock_init_recursive(lock); ++ } ++ ++} ++ ++void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire_recursive) ) { ++ __syscall_lock_acquire_recursive(lock); ++ } ++} ++ ++int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { ++ ++ if ( __has_syscall(lock_acquire_recursive) ) { ++ return __syscall_lock_try_acquire_recursive(lock); ++ } else { ++ return 0; ++ } ++} ++ ++void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { ++ ++ if ( __has_syscall(lock_release_recursive) ) { ++ __syscall_lock_release_recursive(lock); ++ } ++} ++ ++void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { ++ ++ if ( __has_syscall(lock_close_recursive) ) { ++ __syscall_lock_close_recursive(lock); ++ } ++} ++ ++#ifdef CUSTOM_MALLOC_LOCK ++ ++void __malloc_lock( struct _reent *ptr ) { ++ if ( __has_syscall(malloc_lock) ){ ++ __syscall_malloc_lock(ptr); ++ } ++ } ++ ++void __malloc_unlock( struct _reent *ptr ) { ++ if ( __has_syscall(malloc_unlock)) { ++ __syscall_malloc_unlock(ptr); ++ } ++} ++ ++#endif +diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c +new file mode 100644 +index 000000000..edac04a1a +--- /dev/null ++++ b/libgloss/libsysbase/times.c +@@ -0,0 +1,13 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++ ++//--------------------------------------------------------------------------------- ++clock_t _times_r(struct _reent *r, struct tms *ptms) { ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return (clock_t)-1; ++} ++ +diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c +new file mode 100644 +index 000000000..849525990 +--- /dev/null ++++ b/libgloss/libsysbase/truncate.c +@@ -0,0 +1,54 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++#include ++ ++int truncate(const char *file, off_t len) ++{ ++ ++ __handle *handle; ++ int dev, fd, ret; ++ ++ struct _reent * r = _REENT; ++ ++ dev = FindDevice(file); ++ ++ if(dev!=-1 && devoptab_list[dev]->open_r && devoptab_list[dev]->close_r && ++ devoptab_list[dev]->ftruncate_r) ++ { ++ ++ fd = __alloc_handle(dev); ++ ++ if ( -1 != fd ) { ++ handle = __get_handle(fd); ++ ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ++ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, O_WRONLY, 0); ++ ++ if ( ret < 0 ) { ++ __release_handle(fd); ++ return ret; ++ } ++ ++ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); ++ ++ if (ret >= 0) { ++ ret = devoptab_list[dev]->close_r(r, handle->fileStruct); ++ } else { ++ // Close it anyway, we don't want to leak memory ++ devoptab_list[dev]->close_r(r, handle->fileStruct); ++ } ++ } else { ++ r->_errno = ENOSR; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c +new file mode 100644 +index 000000000..0a4c087c9 +--- /dev/null ++++ b/libgloss/libsysbase/unlink.c +@@ -0,0 +1,27 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ ++//--------------------------------------------------------------------------------- ++int _unlink_r(struct _reent * r, const char *name ) { ++//--------------------------------------------------------------------------------- ++ int dev,ret=-1; ++ ++ dev = FindDevice(name); ++ if(dev<0) { ++ r->_errno = ENODEV; ++ } else { ++ if (devoptab_list[dev]->unlink_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->unlink_r(r,name); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } ++ ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c +new file mode 100644 +index 000000000..b54714775 +--- /dev/null ++++ b/libgloss/libsysbase/usleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ ++ ++/* Written 2000 by Werner Almesberger */ ++ ++#include ++#include ++#include ++ ++int usleep(useconds_t useconds) ++{ ++ struct timespec ts; ++ ++ ts.tv_sec = (long int)useconds / 1000000; ++ ts.tv_nsec = ((long int)useconds % 1000000) * 1000; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} +diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c +new file mode 100644 +index 000000000..462e86520 +--- /dev/null ++++ b/libgloss/libsysbase/utime.c +@@ -0,0 +1,41 @@ ++#include "config.h" ++ ++#include ++#include ++#include ++#include ++#include ++ ++int utimes(const char *filename, const struct timeval times[2]) ++{ ++ struct _reent *r = _REENT; ++ int dev,ret=-1; ++ ++ dev = FindDevice(filename); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->utimes_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->utimes_r(r,filename,times); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ return ret; ++} ++ ++ ++int utime(const char *filename, const struct utimbuf *times) ++{ ++ struct timeval t[2]; ++ if (times) { ++ t[0].tv_sec = times->actime; ++ t[0].tv_usec = 0; ++ t[1].tv_sec = times->modtime; ++ t[1].tv_usec = 0; ++ } ++ ++ return utimes(filename, t); ++} +diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c +new file mode 100644 +index 000000000..a17561576 +--- /dev/null ++++ b/libgloss/libsysbase/wait.c +@@ -0,0 +1,16 @@ ++/* ++ * Stub version of wait. ++ */ ++ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++int _wait_r(struct _reent *r, int *status) { ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return -1; ++} ++ +diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h +new file mode 100644 +index 000000000..2c2998250 +--- /dev/null ++++ b/libgloss/libsysbase/warning.h +@@ -0,0 +1,43 @@ ++#ifndef __WARNING_H__ ++#define __WARNING_H__ ++ ++#ifdef HAVE_GNU_LD ++# ifdef HAVE_ELF ++ ++/* We want the .gnu.warning.SYMBOL section to be unallocated. */ ++# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE ++# define __make_section_unallocated(section_string) \ ++ asm(".section " section_string "; .previous"); ++# elif defined (HAVE_ASM_POPSECTION_DIRECTIVE) ++# define __make_section_unallocated(section_string) \ ++ asm(".pushsection " section_string "; .popsection"); ++# else ++# define __make_section_unallocated(section_string) ++# endif ++ ++# ifdef HAVE_SECTION_ATTRIBUTES ++# define link_warning(symbol, msg) \ ++ __make_section_unallocated (".gnu.warning." #symbol) \ ++ static const char __evoke_link_warning_##symbol[] \ ++ __attribute__ ((section (".gnu.warning." #symbol))) = msg; ++# else ++# define link_warning(symbol, msg) ++# endif ++ ++#else /* !ELF */ ++ ++# define link_warning(symbol, msg) \ ++ asm(".stabs \"" msg "\",30,0,0,0\n" \ ++ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); ++# endif ++#else /* !GNULD */ ++/* We will never be heard; they will all die horribly. */ ++# define link_warning(symbol, msg) ++#endif ++ ++/* A canned warning for sysdeps/stub functions. */ ++#define stub_warning(name) \ ++ link_warning (name, \ ++ "warning: " #name " is not implemented and will always fail") ++ ++#endif /* __WARNING_H__ */ +diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c +new file mode 100644 +index 000000000..04198e854 +--- /dev/null ++++ b/libgloss/libsysbase/write.c +@@ -0,0 +1,31 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++ ++#include ++ ++//--------------------------------------------------------------------------------- ++_ssize_t _write_r(struct _reent * r, int fileDesc, const void *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = NULL; ++ ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->write_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->write_r(r,handle->fileStruct,ptr,len); ++ } else ++ r->_errno=ENOSYS; ++ } ++ return ret; ++} +diff --git a/libgloss/rs6000/Makefile.in b/libgloss/rs6000/Makefile.in +index 489903645..cf62806a3 100644 +--- a/libgloss/rs6000/Makefile.in ++++ b/libgloss/rs6000/Makefile.in +@@ -131,6 +131,9 @@ XIL_OBJS = open.o close.o lseek.o sbrk.o read.o write.o print.o + XIL_TEST = xil-test + XIL_INSTALL = install-xil + ++OGC_CRTMAIN = crtmain.o ++OGC_INSTALL = install-ogc ++ + # Host specific makefile fragment comes in here. + @host_makefile_frag@ + +@@ -145,7 +148,7 @@ all: \ + ${LINUX_CRT0} ${LINUX_BSP} \ + ${YELLOWKNIFE_CRT0} ${YELLOWKNIFE_BSP} \ + ${ADS_CRT0} ${ADS_BSP} \ +- ${MBX_CRT0} ${MBX_BSP} \ ++ ${MBX_CRT0} ${MBX_BSP} ${OGC_CRTMAIN} \ + ${XIL_CRT0} ${XIL_BSP} + + # +@@ -297,6 +300,8 @@ xil-test.srec: xil-test.x + + crt0.o: crt0.S + ++crtmain.o: crtmain.c ++ + simulator.o: simulator.S + sim-getrusage.o: sim-getrusage.S + sim-crt0.o: sim-crt0.S +@@ -354,7 +359,7 @@ distclean maintainer-clean realclean: clean + rm -f Makefile config.status *~ + + .PHONY: install info install-info clean-info +-install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${XIL_INSTALL} ++install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${OGC_INSTALL} ${XIL_INSTALL} + + install-sim: + ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} +@@ -392,6 +397,9 @@ install-xil: + set -e; for x in ${XIL_CRT0} ${XIL_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + set -e; for x in ${XIL_SCRIPTS} ${XIL_SPECS}; do ${INSTALL_DATA} $(srcdir)/$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + ++install-ogc: ++ set -e; for x in ${OGC_CRTMAIN}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done ++ + doc: + info: + install-info: +diff --git a/libgloss/rs6000/ads.ld b/libgloss/rs6000/ads.ld +index ef5038e68..32a1d5e0b 100644 +--- a/libgloss/rs6000/ads.ld ++++ b/libgloss/rs6000/ads.ld +@@ -121,6 +121,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +diff --git a/libgloss/rs6000/crtmain.c b/libgloss/rs6000/crtmain.c +new file mode 100644 +index 000000000..bd25d775d +--- /dev/null ++++ b/libgloss/rs6000/crtmain.c +@@ -0,0 +1,18 @@ ++#include ++ ++struct __argv { ++ int argvMagic; //!< argv magic number, set to 0x5f617267 ('_arg') if valid ++ char *commandLine; //!< base address of command line, set of null terminated strings ++ int length;//!< total length of command line ++ int argc; ++ char **argv; ++}; ++ ++extern struct __argv *__system_argv; ++void __init(); ++void SYS_PreMain(); ++ ++void __crtmain() { ++ SYS_PreMain(); ++ exit ( main(__system_argv->argc,__system_argv->argv) ); ++} +diff --git a/libgloss/rs6000/mbx.ld b/libgloss/rs6000/mbx.ld +index cedf4e867..99d849e90 100644 +--- a/libgloss/rs6000/mbx.ld ++++ b/libgloss/rs6000/mbx.ld +@@ -101,6 +101,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +diff --git a/libgloss/rs6000/xilinx.ld b/libgloss/rs6000/xilinx.ld +index 75b2a12b6..40a4a1e4b 100644 +--- a/libgloss/rs6000/xilinx.ld ++++ b/libgloss/rs6000/xilinx.ld +@@ -273,6 +273,7 @@ SECTIONS + _end = . ; + end = .; + __end = .; ++ __end__ = .; + .boot 0xFFFFFFFC : { *(.boot) } + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ +diff --git a/libgloss/rs6000/xilinx440.ld b/libgloss/rs6000/xilinx440.ld +index 2c7c5aba4..c1ddf8529 100644 +--- a/libgloss/rs6000/xilinx440.ld ++++ b/libgloss/rs6000/xilinx440.ld +@@ -264,6 +264,7 @@ SECTIONS + _end = . ; + end = .; + __end = .; ++ __end__ = .; + + .boot0 0xFFFFFF00 : { *(.boot0)} + +diff --git a/libgloss/rs6000/yellowknife.ld b/libgloss/rs6000/yellowknife.ld +index 36c30092d..7e54036ed 100644 +--- a/libgloss/rs6000/yellowknife.ld ++++ b/libgloss/rs6000/yellowknife.ld +@@ -113,6 +113,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +diff --git a/newlib/Makefile.in b/newlib/Makefile.in +index bc967bd70..b0d8d64f0 100644 +--- a/newlib/Makefile.in ++++ b/newlib/Makefile.in +@@ -668,7 +668,7 @@ check_PROGRAMS = + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy-stub.c \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy.S \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen-stub.c \ +-@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen.S ++@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/sync_synchronize.c + + @HAVE_LIBC_MACHINE_BFIN_TRUE@am__append_69 = libc/machine/bfin/setjmp.S libc/machine/bfin/longjmp.S + @HAVE_LIBC_MACHINE_CR16_TRUE@am__append_70 = libc/machine/cr16/setjmp.S libc/machine/cr16/getenv.c +@@ -767,7 +767,9 @@ check_PROGRAMS = + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/misc.c libc/machine/nvptx/clock.c + + @HAVE_LIBC_MACHINE_OR1K_TRUE@am__append_108 = libc/machine/or1k/setjmp.S +-@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S \ ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/access.c ++ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__append_110 = \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfprintf.c \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfscanf.c \ +@@ -1893,7 +1895,7 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy-stub.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen-stub.$(OBJEXT) \ +-@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen.$(OBJEXT) ++@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT) + @HAVE_LIBC_MACHINE_BFIN_TRUE@am__objects_80 = libc/machine/bfin/libc_a-setjmp.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_BFIN_TRUE@ libc/machine/bfin/libc_a-longjmp.$(OBJEXT) + @HAVE_LIBC_MACHINE_CR16_TRUE@am__objects_81 = libc/machine/cr16/libc_a-setjmp.$(OBJEXT) \ +@@ -2043,7 +2045,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-misc.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-clock.$(OBJEXT) + @HAVE_LIBC_MACHINE_OR1K_TRUE@am__objects_118 = libc/machine/or1k/libc_a-setjmp.$(OBJEXT) +-@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) \ ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/libc_a-access.$(OBJEXT) + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__objects_120 = libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vfscanf.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vec_malloc.$(OBJEXT) \ +@@ -3768,6 +3771,7 @@ pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + shared_machine_dir = @shared_machine_dir@ + sharedstatedir = @sharedstatedir@ +@@ -8021,7 +8025,7 @@ libc/machine/arm/libc_a-memcpy.$(OBJEXT): \ + libc/machine/arm/libc_a-strlen-stub.$(OBJEXT): \ + libc/machine/arm/$(am__dirstamp) \ + libc/machine/arm/$(DEPDIR)/$(am__dirstamp) +-libc/machine/arm/libc_a-strlen.$(OBJEXT): \ ++libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT): \ + libc/machine/arm/$(am__dirstamp) \ + libc/machine/arm/$(DEPDIR)/$(am__dirstamp) + libc/machine/bfin/$(am__dirstamp): +@@ -8696,6 +8700,9 @@ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp): + libc/machine/powerpc/libc_a-setjmp.$(OBJEXT): \ + libc/machine/powerpc/$(am__dirstamp) \ + libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) ++libc/machine/powerpc/libc_a-access.$(OBJEXT): \ ++ libc/machine/powerpc/$(am__dirstamp) \ ++ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) + libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT): \ + libc/machine/powerpc/$(am__dirstamp) \ + libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) +@@ -12338,7 +12345,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcpy.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen-stub.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-longjmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po@am__quote@ +@@ -12487,6 +12494,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-reallocr.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-write.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/or1k/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix16.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix32.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix64.Po@am__quote@ +@@ -16730,20 +16738,6 @@ libc/machine/arm/libc_a-memcpy.obj: libc/machine/arm/memcpy.S + @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-memcpy.obj `if test -f 'libc/machine/arm/memcpy.S'; then $(CYGPATH_W) 'libc/machine/arm/memcpy.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/memcpy.S'; fi` + +-libc/machine/arm/libc_a-strlen.o: libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/arm/libc_a-strlen.o -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo -c -o libc/machine/arm/libc_a-strlen.o `test -f 'libc/machine/arm/strlen.S' || echo '$(srcdir)/'`libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='libc/machine/arm/strlen.S' object='libc/machine/arm/libc_a-strlen.o' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-strlen.o `test -f 'libc/machine/arm/strlen.S' || echo '$(srcdir)/'`libc/machine/arm/strlen.S +- +-libc/machine/arm/libc_a-strlen.obj: libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/arm/libc_a-strlen.obj -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo -c -o libc/machine/arm/libc_a-strlen.obj `if test -f 'libc/machine/arm/strlen.S'; then $(CYGPATH_W) 'libc/machine/arm/strlen.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen.S'; fi` +-@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='libc/machine/arm/strlen.S' object='libc/machine/arm/libc_a-strlen.obj' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-strlen.obj `if test -f 'libc/machine/arm/strlen.S'; then $(CYGPATH_W) 'libc/machine/arm/strlen.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen.S'; fi` +- + libc/machine/bfin/libc_a-setjmp.o: libc/machine/bfin/setjmp.S + @am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/bfin/libc_a-setjmp.o -MD -MP -MF libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo -c -o libc/machine/bfin/libc_a-setjmp.o `test -f 'libc/machine/bfin/setjmp.S' || echo '$(srcdir)/'`libc/machine/bfin/setjmp.S + @am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po +@@ -32734,6 +32728,20 @@ libc/machine/arm/libc_a-strlen-stub.obj: libc/machine/arm/strlen-stub.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-strlen-stub.obj `if test -f 'libc/machine/arm/strlen-stub.c'; then $(CYGPATH_W) 'libc/machine/arm/strlen-stub.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen-stub.c'; fi` + ++libc/machine/arm/libc_a-sync_synchronize.o: libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/arm/libc_a-sync_synchronize.o -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo -c -o libc/machine/arm/libc_a-sync_synchronize.o `test -f 'libc/machine/arm/sync_synchronize.c' || echo '$(srcdir)/'`libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/arm/sync_synchronize.c' object='libc/machine/arm/libc_a-sync_synchronize.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-sync_synchronize.o `test -f 'libc/machine/arm/sync_synchronize.c' || echo '$(srcdir)/'`libc/machine/arm/sync_synchronize.c ++ ++libc/machine/arm/libc_a-sync_synchronize.obj: libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/arm/libc_a-sync_synchronize.obj -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo -c -o libc/machine/arm/libc_a-sync_synchronize.obj `if test -f 'libc/machine/arm/sync_synchronize.c'; then $(CYGPATH_W) 'libc/machine/arm/sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/sync_synchronize.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/arm/sync_synchronize.c' object='libc/machine/arm/libc_a-sync_synchronize.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-sync_synchronize.obj `if test -f 'libc/machine/arm/sync_synchronize.c'; then $(CYGPATH_W) 'libc/machine/arm/sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/sync_synchronize.c'; fi` ++ + libc/machine/cr16/libc_a-getenv.o: libc/machine/cr16/getenv.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/cr16/libc_a-getenv.o -MD -MP -MF libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo -c -o libc/machine/cr16/libc_a-getenv.o `test -f 'libc/machine/cr16/getenv.c' || echo '$(srcdir)/'`libc/machine/cr16/getenv.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po +@@ -33252,6 +33260,20 @@ libc/machine/nvptx/libc_a-clock.obj: libc/machine/nvptx/clock.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/nvptx/libc_a-clock.obj `if test -f 'libc/machine/nvptx/clock.c'; then $(CYGPATH_W) 'libc/machine/nvptx/clock.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/nvptx/clock.c'; fi` + ++libc/machine/powerpc/libc_a-access.o: libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-access.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/powerpc/libc_a-access.o `test -f 'libc/machine/powerpc/access.c' || echo '$(srcdir)/'`libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/powerpc/access.c' object='libc/machine/powerpc/libc_a-access.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/powerpc/libc_a-access.o `test -f 'libc/machine/powerpc/access.c' || echo '$(srcdir)/'`libc/machine/powerpc/access.c ++ ++libc/machine/powerpc/libc_a-access.obj: libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-access.obj -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/powerpc/libc_a-access.obj `if test -f 'libc/machine/powerpc/access.c'; then $(CYGPATH_W) 'libc/machine/powerpc/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/powerpc/access.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/powerpc/access.c' object='libc/machine/powerpc/libc_a-access.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/powerpc/libc_a-access.obj `if test -f 'libc/machine/powerpc/access.c'; then $(CYGPATH_W) 'libc/machine/powerpc/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/powerpc/access.c'; fi` ++ + libc/machine/powerpc/libc_a-vfprintf.o: libc/machine/powerpc/vfprintf.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-vfprintf.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo -c -o libc/machine/powerpc/libc_a-vfprintf.o `test -f 'libc/machine/powerpc/vfprintf.c' || echo '$(srcdir)/'`libc/machine/powerpc/vfprintf.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Po +diff --git a/newlib/configure.host b/newlib/configure.host +index 0a1ba282a..749f1ec7d 100644 +--- a/newlib/configure.host ++++ b/newlib/configure.host +@@ -627,6 +627,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + syscall_dir=syscalls + default_newlib_io_long_long="yes" + ;; ++ arm*-*-eabi) ++ default_newlib_io_c99_formats="yes" ++ default_newlib_io_long_long="yes" ++ default_newlib_io_pos_args="yes" ++ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" ++ syscall_dir=syscalls ++ ;; + arm*-*-pe) + syscall_dir=syscalls + newlib_cflags="${newlib_cflags} -DHAVE_SYSCONF_PAGESIZE" +@@ -799,7 +807,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + default_newlib_io_long_long="yes" + newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" + ;; +- powerpc*-*-eabi* | \ ++ powerpc*-*-eabi*) ++ default_newlib_io_c99_formats="yes" ++ default_newlib_io_long_long="yes" ++ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" ++ syscall_dir=syscalls ++ ;; + powerpc*-*-elf* | \ + powerpc*-*-linux* | \ + powerpc*-*-rtem* | \ +diff --git a/newlib/libc/ctype/jp2uc.c b/newlib/libc/ctype/jp2uc.c +index 5e30f09be..b90a8f4f4 100644 +--- a/newlib/libc/ctype/jp2uc.c ++++ b/newlib/libc/ctype/jp2uc.c +@@ -35,7 +35,7 @@ + #ifdef _MB_CAPABLE + /* Under Cygwin, the incoming wide character is already given in UTF due + to the requirements of the underlying OS. */ +-#ifndef __CYGWIN__ ++#if !defined(__CYGWIN__) && !defined(__DEFAULT_UTF8__) + + #include <_ansi.h> + #include +diff --git a/newlib/libc/ctype/local.h b/newlib/libc/ctype/local.h +index 5c293c83d..0dbfcd7ee 100644 +--- a/newlib/libc/ctype/local.h ++++ b/newlib/libc/ctype/local.h +@@ -32,7 +32,7 @@ + * for towupper and towlower, the result must be back-transformed + into the respective locale encoding; currently NOT IMPLEMENTED + */ +-#ifdef __CYGWIN__ ++#if defined(__CYGWIN__) || defined(__DEFAULT_UTF8__) + /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ + #define _jp2uc(c) (c) + #define _jp2uc_l(c, l) (c) +diff --git a/newlib/libc/include/fnmatch.h b/newlib/libc/include/fnmatch.h +index a94e923a4..9171e98aa 100644 +--- a/newlib/libc/include/fnmatch.h ++++ b/newlib/libc/include/fnmatch.h +@@ -44,6 +44,7 @@ + #if __GNU_VISIBLE + #define FNM_LEADING_DIR 0x08 /* Ignore / after Imatch. */ + #define FNM_CASEFOLD 0x10 /* Case insensitive search. */ ++#define FNM_PREFIX_DIRS 0x20 /* Directory prefixes of pattern match too. */ + #define FNM_IGNORECASE FNM_CASEFOLD + #define FNM_FILE_NAME FNM_PATHNAME + #endif +diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h +index 23d572cd3..65310c084 100644 +--- a/newlib/libc/include/reent.h ++++ b/newlib/libc/include/reent.h +@@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); + extern int _open_r (struct _reent *, const char *, int, int); + extern _ssize_t _read_r (struct _reent *, int, void *, size_t); + extern int _rename_r (struct _reent *, const char *, const char *); ++extern int _rmdir_r (struct _reent *r, const char *name); + extern void *_sbrk_r (struct _reent *, ptrdiff_t); + extern int _stat_r (struct _reent *, const char *, struct stat *); + extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); +diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h +index 5dcc77a80..3a33705c0 100644 +--- a/newlib/libc/include/sys/config.h ++++ b/newlib/libc/include/sys/config.h +@@ -8,6 +8,11 @@ + #define MALLOC_ALIGNMENT 16 + #endif + ++#ifdef _ARCH_PPC ++#define __BUFSIZ__ 32768 ++#define MALLOC_ALIGNMENT 64 ++#endif ++ + #ifdef __AMDGCN__ + #define __DYNAMIC_REENT__ + #endif +diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h +index 45476ce4a..d76706321 100644 +--- a/newlib/libc/include/sys/features.h ++++ b/newlib/libc/include/sys/features.h +@@ -331,6 +331,9 @@ extern "C" { + # define __SSP_FORTIFY_LEVEL 0 + #endif + ++#define _POSIX_MONOTONIC_CLOCK 200112L ++#define _POSIX_TIMERS 1 ++ + /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ + + #ifdef __rtems__ +diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h +new file mode 100644 +index 000000000..fb0646bc6 +--- /dev/null ++++ b/newlib/libc/include/sys/iosupport.h +@@ -0,0 +1,125 @@ ++//--------------------------------------------------------------------------------- ++#ifndef __iosupp_h__ ++#define __iosupp_h__ ++//--------------------------------------------------------------------------------- ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#include ++#include ++#include ++#include ++#include ++ ++enum { ++ STD_IN, ++ STD_OUT, ++ STD_ERR, ++ STD_MAX = 35 ++}; ++ ++ ++typedef struct { ++ unsigned int device; ++ unsigned int refcount; ++ void *fileStruct; ++} __handle; ++ ++/* Directory iterator for mantaining state between dir* calls */ ++typedef struct { ++ int device; ++ void *dirStruct; ++} DIR_ITER; ++ ++typedef struct { ++ const char *name; ++ size_t structSize; ++ int (*open_r)(struct _reent *r, void *fileStruct, const char *path, int flags, int mode); ++ int (*close_r)(struct _reent *r, void *fd); ++ ssize_t (*write_r)(struct _reent *r, void *fd, const char *ptr, size_t len); ++ ssize_t (*read_r)(struct _reent *r, void *fd, char *ptr, size_t len); ++ off_t (*seek_r)(struct _reent *r, void *fd, off_t pos, int dir); ++ int (*fstat_r)(struct _reent *r, void *fd, struct stat *st); ++ int (*stat_r)(struct _reent *r, const char *file, struct stat *st); ++ int (*link_r)(struct _reent *r, const char *existing, const char *newLink); ++ int (*unlink_r)(struct _reent *r, const char *name); ++ int (*chdir_r)(struct _reent *r, const char *name); ++ int (*rename_r) (struct _reent *r, const char *oldName, const char *newName); ++ int (*mkdir_r) (struct _reent *r, const char *path, int mode); ++ ++ size_t dirStateSize; ++ ++ DIR_ITER* (*diropen_r)(struct _reent *r, DIR_ITER *dirState, const char *path); ++ int (*dirreset_r)(struct _reent *r, DIR_ITER *dirState); ++ int (*dirnext_r)(struct _reent *r, DIR_ITER *dirState, char *filename, struct stat *filestat); ++ int (*dirclose_r)(struct _reent *r, DIR_ITER *dirState); ++ int (*statvfs_r)(struct _reent *r, const char *path, struct statvfs *buf); ++ int (*ftruncate_r)(struct _reent *r, void *fd, off_t len); ++ int (*fsync_r)(struct _reent *r, void *fd); ++ ++ void *deviceData; ++ ++ int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); ++ int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); ++ int (*rmdir_r)(struct _reent *r, const char *name); ++ int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); ++ int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); ++ ++ long (*fpathconf_r)(struct _reent *r, int fd, int name); ++ long (*pathconf_r)(struct _reent *r, const char *path, int name); ++ ++ int (*symlink_r)(struct _reent *r, const char *target, const char *linkpath); ++ ssize_t (*readlink_r)(struct _reent *r, const char *path, char *buf, size_t bufsiz); ++ ++} devoptab_t; ++ ++extern const devoptab_t *devoptab_list[]; ++ ++#ifdef _BUILDING_LIBSYSBASE ++#define __SYSCALL(_name) __attribute__((weak)) __syscall_##_name ++#define __has_syscall(_name) (&__syscall_##_name) ++#else ++#define __SYSCALL(_name) __syscall_##_name ++#endif ++ ++void __SYSCALL(exit) ( int rc ); ++int __SYSCALL(gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); ++void __SYSCALL(lock_init) (_LOCK_T *lock); ++void __SYSCALL(lock_acquire) (_LOCK_T *lock); ++int __SYSCALL(lock_try_acquire) (_LOCK_T *lock); ++void __SYSCALL(lock_release) (_LOCK_T *lock); ++void __SYSCALL(lock_close) (_LOCK_T *lock); ++void __SYSCALL(lock_init_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_acquire_recursive) (_LOCK_RECURSIVE_T *lock); ++int __SYSCALL(lock_try_acquire_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_release_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_close_recursive) (_LOCK_RECURSIVE_T *lock); ++struct _reent * __SYSCALL(getreent) (); ++int __SYSCALL(clock_gettime) (clockid_t clock_id, struct timespec *tp); ++int __SYSCALL(clock_settime) (clockid_t clock_id, const struct timespec *tp); ++int __SYSCALL(clock_getres) (clockid_t clock_id, struct timespec *res); ++int __SYSCALL(nanosleep) (const struct timespec *req, struct timespec *rem); ++ ++void __SYSCALL(malloc_lock) (struct _reent *ptr); ++void __SYSCALL(malloc_unlock) (struct _reent *ptr); ++ ++int AddDevice( const devoptab_t* device); ++int FindDevice(const char* name); ++int RemoveDevice(const char* name); ++void setDefaultDevice( int device ); ++ ++const devoptab_t* GetDeviceOpTab (const char *name); ++ ++void __release_handle(int fd); ++int __alloc_handle(int device); ++__handle *__get_handle(int fd); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++//--------------------------------------------------------------------------------- ++#endif // __iosupp_h__ ++//--------------------------------------------------------------------------------- +diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h +index 9a6f115a6..142e71d35 100644 +--- a/newlib/libc/include/sys/param.h ++++ b/newlib/libc/include/sys/param.h +@@ -19,9 +19,6 @@ + #ifndef NOFILE + # define NOFILE (60) + #endif +-#ifndef PATHSIZE +-# define PATHSIZE (1024) +-#endif + + #define MAXPATHLEN PATH_MAX + +diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h +index 6d8b005b2..8aefe6b0f 100644 +--- a/newlib/libc/include/sys/reent.h ++++ b/newlib/libc/include/sys/reent.h +@@ -419,6 +419,8 @@ struct _reent + __FILE *__sf; /* file descriptors */ + struct _misc_reent *_misc; /* strtok, multibyte states */ + char *_signal_buf; /* strsignal */ ++ ++ void *deviceData; + }; + + # define _REENT_INIT(var) \ +@@ -639,6 +641,8 @@ struct _reent + + /* signal info */ + void (**_sig_func)(int); ++ ++ void *deviceData; + }; + + #define _REENT_INIT(var) \ +diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h +index 98f5addb4..dbdfc416e 100644 +--- a/newlib/libc/include/sys/stat.h ++++ b/newlib/libc/include/sys/stat.h +@@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); + int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); + mode_t umask (mode_t __mask ); + +-#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) + int lstat (const char *__restrict __path, struct stat *__restrict __buf ); ++ ++#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) + int mknod (const char *__path, mode_t __mode, dev_t __dev ); + #endif + +diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h +new file mode 100644 +index 000000000..380329d34 +--- /dev/null ++++ b/newlib/libc/include/sys/statvfs.h +@@ -0,0 +1,35 @@ ++#ifndef _SYS_STATVFS_H ++#define _SYS_STATVFS_H ++ ++ ++#define ST_RDONLY 0x0001 ++#define ST_NOSUID 0x0002 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#include ++ ++struct statvfs { ++ unsigned long f_bsize; ++ unsigned long f_frsize; ++ fsblkcnt_t f_blocks; ++ fsblkcnt_t f_bfree; ++ fsblkcnt_t f_bavail; ++ fsfilcnt_t f_files; ++ fsfilcnt_t f_ffree; ++ fsfilcnt_t f_favail; ++ unsigned long f_fsid; ++ unsigned long f_flag; ++ unsigned long f_namemax; ++}; ++ ++int statvfs(const char *path, struct statvfs *buf); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#endif // _SYS_STATVFS_H +\ No newline at end of file +diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h +index 5e937f103..b7b4de67d 100644 +--- a/newlib/libc/include/sys/utime.h ++++ b/newlib/libc/include/sys/utime.h +@@ -15,6 +15,13 @@ struct utimbuf + time_t modtime; + }; + ++/* Functions */ ++ ++int utime( ++ const char *path, ++ const struct utimbuf *times ++); ++ + #ifdef __cplusplus + }; + #endif +diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c +index 65e2b1833..d3171515d 100644 +--- a/newlib/libc/locale/locale.c ++++ b/newlib/libc/locale/locale.c +@@ -198,7 +198,11 @@ static char *categories[_LC_LAST] = { + * Default locale per POSIX. Can be overridden on a per-target base. + */ + #ifndef DEFAULT_LOCALE +-#define DEFAULT_LOCALE "C" ++#ifdef __DEFAULT_UTF8__ ++#define DEFAULT_LOCALE "C.UTF-8" ++#else ++#define DEFAULT_LOCALE "C" ++#endif + #endif + + #ifdef _MB_CAPABLE +@@ -211,8 +215,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; + const struct __locale_t __C_locale = + { + { "C", "C", "C", "C", "C", "C", "C", }, ++#if defined ( __DEFAULT_UTF8__ ) ++ __utf8_wctomb, ++ __utf8_mbtowc, ++#else + __ascii_wctomb, + __ascii_mbtowc, ++#endif + 0, + DEFAULT_CTYPE_PTR, + { +@@ -223,9 +232,15 @@ const struct __locale_t __C_locale = + CHAR_MAX, CHAR_MAX + }, + #ifndef __HAVE_LOCALE_INFO__ ++#ifdef __DEFAULT_UTF8__ ++ "\6", ++ "UTF-8", ++ "UTF-8", ++#else + "\1", + "ASCII", + "ASCII", ++#endif + #else /* __HAVE_LOCALE_INFO__ */ + { + { NULL, NULL }, /* LC_ALL */ +@@ -244,10 +259,11 @@ const struct __locale_t __C_locale = + }; + #endif /* _MB_CAPABLE */ + ++ + struct __locale_t __global_locale = + { + { "C", "C", DEFAULT_LOCALE, "C", "C", "C", "C", }, +-#ifdef __CYGWIN__ ++#if defined ( __CYGWIN__ ) || defined ( __DEFAULT_UTF8__ ) + __utf8_wctomb, + __utf8_mbtowc, + #else +@@ -264,9 +280,15 @@ struct __locale_t __global_locale = + CHAR_MAX, CHAR_MAX + }, + #ifndef __HAVE_LOCALE_INFO__ ++#ifdef __DEFAULT_UTF8__ ++ "\6", ++ "UTF-8", ++ "UTF-8", ++#else + "\1", + "ASCII", + "ASCII", ++#endif + #else /* __HAVE_LOCALE_INFO__ */ + { + { NULL, NULL }, /* LC_ALL */ +diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h +index 3530ec664..0a62bfd72 100644 +--- a/newlib/libc/locale/setlocale.h ++++ b/newlib/libc/locale/setlocale.h +@@ -234,11 +234,11 @@ __get_locale_r (struct _reent *r) + _ELIDABLE_INLINE struct __locale_t * + __get_current_locale (void) + { +-#ifdef __HAVE_LOCALE_INFO__ ++//#ifdef __HAVE_LOCALE_INFO__ + return _REENT_LOCALE(_REENT) ?: __get_global_locale (); +-#else +- return __get_global_locale(); +-#endif ++//#else ++// return __get_global_locale(); ++//#endif + } + + /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE +diff --git a/newlib/libc/machine/arm/Makefile.inc b/newlib/libc/machine/arm/Makefile.inc +index 2d6c08d71..81b4f119d 100644 +--- a/newlib/libc/machine/arm/Makefile.inc ++++ b/newlib/libc/machine/arm/Makefile.inc +@@ -8,4 +8,5 @@ libc_a_SOURCES += \ + %D%/memcpy-stub.c \ + %D%/memcpy.S \ + %D%/strlen-stub.c \ +- %D%/strlen.S ++ %D%/sync_synchronize.c ++ +diff --git a/newlib/libc/machine/arm/setjmp.S b/newlib/libc/machine/arm/setjmp.S +index c615f2428..3a3bfd05e 100644 +--- a/newlib/libc/machine/arm/setjmp.S ++++ b/newlib/libc/machine/arm/setjmp.S +@@ -2,6 +2,8 @@ + + Nick Clifton, Cygnus Solutions, 13 June 1997. */ + ++ .fpu vfpxd ++ + #include "arm-acle-compat.h" + + /* ANSI concatenation macros. */ +diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c +new file mode 100644 +index 000000000..f5a85c3a8 +--- /dev/null ++++ b/newlib/libc/machine/arm/sync_synchronize.c +@@ -0,0 +1,8 @@ ++#if __ARM_ARCH < 6 ++#include ++void __attribute__((weak)) ++__sync_synchronize (void) ++{ ++ return; ++} ++#endif +diff --git a/newlib/libc/machine/powerpc/Makefile.inc b/newlib/libc/machine/powerpc/Makefile.inc +index 55c7ebdc6..a6acfdaa6 100644 +--- a/newlib/libc/machine/powerpc/Makefile.inc ++++ b/newlib/libc/machine/powerpc/Makefile.inc +@@ -1,6 +1,7 @@ + libc_a_CPPFLAGS_%C% = -I$(srcdir)/libc/stdio -I$(srcdir)/libc/stdlib + +-libc_a_SOURCES += %D%/setjmp.S ++libc_a_SOURCES += %D%/setjmp.S \ ++ %D%/access.c + + if HAVE_POWERPC_ALTIVEC + libc_a_SOURCES += \ +diff --git a/newlib/libc/machine/powerpc/access.c b/newlib/libc/machine/powerpc/access.c +new file mode 100644 +index 000000000..980682ef3 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/access.c +@@ -0,0 +1,33 @@ ++/* This is file ACCESS.C */ ++/* ++ * Copyright (C) 1993 DJ Delorie ++ * All rights reserved. ++ * ++ * Redistribution, modification, and use in source and binary forms is permitted ++ * provided that the above copyright notice and following paragraph are ++ * duplicated in all such forms. ++ * ++ * This file is distributed WITHOUT ANY WARRANTY; without even the implied ++ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ */ ++ ++#include ++#include ++#include ++ ++int access(const char *fn, int flags) ++{ ++ struct stat s; ++ if (stat(fn, &s)) ++ return -1; ++ if (s.st_mode & S_IFDIR) ++ return 0; ++ if (flags & W_OK) ++ { ++ if (s.st_mode & S_IWRITE) ++ return 0; ++ return -1; ++ } ++ return 0; ++} ++ +diff --git a/newlib/libc/machine/powerpc/machine/_types.h b/newlib/libc/machine/powerpc/machine/_types.h +new file mode 100644 +index 000000000..a7d63da51 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/machine/_types.h +@@ -0,0 +1,19 @@ ++#ifndef _MACHINE__TYPES_H ++#define _MACHINE__TYPES_H ++ ++#include ++ ++/* Use 64bit types */ ++typedef __int64_t _off_t; ++#define __machine_off_t_defined ++ ++typedef __int64_t _fpos_t; ++#define __machine_fpos_t_defined ++ ++typedef __uint32_t __ino_t; ++#define __machine_ino_t_defined ++ ++typedef __uint32_t __dev_t; ++#define __machine_dev_t_defined ++ ++#endif // _MACHINE__TYPES_H +diff --git a/newlib/libc/machine/powerpc/sys/dirent.h b/newlib/libc/machine/powerpc/sys/dirent.h +new file mode 100644 +index 000000000..2aaca6080 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/sys/dirent.h +@@ -0,0 +1,58 @@ ++#ifndef _dirent_h_ ++#define _dirent_h_ ++ ++#define _DIRENT_HAVE_D_TYPE ++ ++#include ++#include ++#include ++ ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; ++ ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; ++ ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); ++ ++int scandir(const char *dirp, struct dirent ***namelist, ++int (*filter)(const struct dirent *), ++int (*compar)(const struct dirent **, const struct dirent **)); ++ ++int alphasort(const struct dirent **a, const struct dirent **b); ++ ++/* Convert between stat structure types and directory types. */ ++# define IFTODT(mode) (((mode) & 0170000) >> 12) ++# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif // _dirent_h_ +diff --git a/newlib/libc/machine/powerpc/sys/lock.h b/newlib/libc/machine/powerpc/sys/lock.h +new file mode 100644 +index 000000000..7f051e0c9 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/sys/lock.h +@@ -0,0 +1,58 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ ++ ++typedef int _LOCK_T; ++typedef int _LOCK_RECURSIVE_T; ++ ++#define __LOCK_INIT(CLASS,NAME) CLASS _LOCK_T NAME = 0 ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) CLASS _LOCK_RECURSIVE_T NAME = 0 ++ ++ ++extern void __libc_lock_init(_LOCK_T *lock); ++extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_close(_LOCK_T *lock); ++extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++ ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) ++ ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) ++ ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_acquire(NAME) \ ++ if(!(NAME)) __libc_lock_init(&(NAME)); \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_acquire_recursive(NAME) \ ++ if(!(NAME)) __libc_lock_init_recursive(&(NAME)); \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_try_acquire(NAME) \ ++ if(!(NAME)) __libc_lock_init(&(NAME)); \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_try_acquire_recursive(NAME) \ ++ if(!(NAME)) __libc_lock_init_recursive(&(NAME)); \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#endif /* __SYS_LOCK_H__ */ +diff --git a/newlib/libc/machine/powerpc/sys/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h +new file mode 100644 +index 000000000..04ebd1ee0 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/sys/stdio.h +@@ -0,0 +1,25 @@ ++#ifndef _NEWLIB_STDIO_H ++#define _NEWLIB_STDIO_H ++ ++/* Internal locking macros, used to protect stdio functions. In the ++ general case, expand to nothing. */ ++#if !defined(_flockfile) ++# if !defined(__SINGLE_THREAD__) ++# define _flockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __flockfile(fp); } ++ extern void __flockfile(FILE *fp); ++# else ++# define _flockfile(fp) ++# endif ++#endif /* __SINGLE_THREAD__ */ ++ ++#if !defined(_funlockfile) ++# if !defined(__SINGLE_THREAD__) ++# define _funlockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __funlockfile(fp); } ++ extern void __funlockfile(FILE *fp); ++# else ++# define _funlockfile(fp) ++# endif ++#endif /* __SINGLE_THREAD__ */ ++ ++#endif /* _NEWLIB_STDIO_H */ ++ +diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c +index df8321461..6ea00229d 100644 +--- a/newlib/libc/stdio/fread.c ++++ b/newlib/libc/stdio/fread.c +@@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, + } + + return count; +- ++ + } + + #endif +@@ -187,7 +187,6 @@ _fread_r (struct _reent * ptr, + int rc = 0; + /* save fp buffering state */ + void *old_base = fp->_bf._base; +- void * old_p = fp->_p; + int old_size = fp->_bf._size; + /* allow __refill to use user's buffer */ + fp->_bf._base = (unsigned char *) p; +@@ -197,7 +196,7 @@ _fread_r (struct _reent * ptr, + /* restore fp buffering back to original state */ + fp->_bf._base = old_base; + fp->_bf._size = old_size; +- fp->_p = old_p; ++ fp->_p = old_base; + resid -= fp->_r; + p += fp->_r; + fp->_r = 0; +@@ -218,27 +217,63 @@ _fread_r (struct _reent * ptr, + else + #endif /* !PREFER_SIZE_OVER_SPEED && !__OPTIMIZE_SIZE__ */ + { ++ ++ /* ensure buffer set up before read */ ++ if (fp->_bf._base == NULL) ++ __smakebuf_r (ptr, fp); ++ ++ + while (resid > (r = fp->_r)) +- { +- (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r); +- fp->_p += r; +- /* fp->_r = 0 ... done in __srefill */ +- p += r; +- resid -= r; +- if (__srefill_r (ptr, fp)) +- { +- /* no more input: return partial result */ ++ { ++ (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r); ++ fp->_p += r; ++ /* fp->_r = 0 ... done in __srefill */ ++ p += r; ++ resid -= r; ++ ++ if (resid>fp->_bf._size) ++ { int rc = 0; ++ /* save fp buffering state */ ++ void *old_base = fp->_bf._base; ++ int old_size = fp->_bf._size; ++ /* allow __refill to use user's buffer */ ++ fp->_bf._base = (unsigned char *) p; ++ fp->_bf._size = resid - old_size; ++ fp->_p = (unsigned char *) p; ++ rc = __srefill_r (ptr, fp); ++ /* restore fp buffering back to original state */ ++ fp->_bf._base = old_base; ++ fp->_bf._size = old_size; ++ fp->_p = old_base; ++ resid -= fp->_r; ++ p += fp->_r; ++ if (rc) ++ { + #ifdef __SCLE +- if (fp->_flags & __SCLE) +- { +- _newlib_flockfile_exit (fp); +- return crlf_r (ptr, fp, buf, total-resid, 1) / size; +- } ++ if (fp->_flags & __SCLE) ++ { ++ _newlib_flockfile_exit (fp); ++ return crlf_r (ptr, fp, buf, total-resid, 1) / size; ++ } + #endif +- _newlib_flockfile_exit (fp); +- return (total - resid) / size; +- } +- } ++ _newlib_flockfile_exit (fp); ++ return (total - resid) / size; ++ } ++ } ++ if (__srefill_r (ptr, fp)) ++ { ++ /* no more input: return partial result */ ++#ifdef __SCLE ++ if (fp->_flags & __SCLE) ++ { ++ _newlib_flockfile_exit (fp); ++ return crlf_r (ptr, fp, buf, total-resid, 1) / size; ++ } ++#endif ++ _newlib_flockfile_exit (fp); ++ return (total - resid) / size; ++ } ++ } + (void) memcpy ((void *) p, (void *) fp->_p, resid); + fp->_r -= resid; + fp->_p += resid; +diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c +index d8dfdbd82..a85b5a99b 100644 +--- a/newlib/libc/stdio/remove.c ++++ b/newlib/libc/stdio/remove.c +@@ -57,13 +57,17 @@ Supporting OS subroutine required: <>. + #include <_ansi.h> + #include + #include ++#include + + int + _remove_r (struct _reent *ptr, + const char *filename) + { +- if (_unlink_r (ptr, filename) == -1) +- return -1; ++ if (_unlink_r (ptr, filename) == -1) { ++ errno = 0; ++ if (_rmdir_r(ptr, filename) == -1) ++ return -1; ++ } + + return 0; + } +diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c +index 6a198e2c6..5ded3fd6e 100644 +--- a/newlib/libc/stdio/vfprintf.c ++++ b/newlib/libc/stdio/vfprintf.c +@@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, + <>, <>, <>, <>. + */ + ++#pragma GCC optimize ("Os") ++ + #if defined(LIBC_SCCS) && !defined(lint) + /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ + static char *rcsid = "$Id$"; +@@ -1431,7 +1433,7 @@ reswitch: switch (ch) { + string: + #endif + sign = '\0'; +-#ifndef __OPTIMIZE_SIZE__ ++//#ifndef __OPTIMIZE_SIZE__ + /* Behavior is undefined if the user passed a + NULL string when precision is not 0. + However, if we are not optimizing for size, +@@ -1441,7 +1443,7 @@ string: + size = ((unsigned) prec > 6U) ? 6 : prec; + } + else +-#endif /* __OPTIMIZE_SIZE__ */ ++//#endif /* __OPTIMIZE_SIZE__ */ + #ifdef _MB_CAPABLE + if (ch == 'S' || (flags & LONGINT)) { + mbstate_t ps; +diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c +index cfeea9876..ab7e9d7f1 100644 +--- a/newlib/libc/stdio/vfscanf.c ++++ b/newlib/libc/stdio/vfscanf.c +@@ -74,6 +74,8 @@ These are GNU extensions. + Supporting OS subroutines required: + */ + ++#pragma GCC optimize ("Os") ++ + #include <_ansi.h> + #include + #include +diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c +index 7807a1229..30526cb70 100644 +--- a/newlib/libc/stdio/vfwprintf.c ++++ b/newlib/libc/stdio/vfwprintf.c +@@ -92,6 +92,9 @@ SEEALSO + * + * This code is large and complicated... + */ ++ ++#pragma GCC optimize ("Os") ++ + #include + + #ifdef INTEGER_ONLY +diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c +index df966f929..106d99e94 100644 +--- a/newlib/libc/stdio/vfwscanf.c ++++ b/newlib/libc/stdio/vfwscanf.c +@@ -74,6 +74,9 @@ PORTABILITY + C99, POSIX-1.2008 + */ + ++ ++#pragma GCC optimize ("Os") ++ + #include <_ansi.h> + #include + #include +diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c +index 23aa10173..ba88eb9fb 100644 +--- a/newlib/libc/stdlib/mlock.c ++++ b/newlib/libc/stdlib/mlock.c +@@ -1,4 +1,5 @@ + #ifndef MALLOC_PROVIDED ++#ifndef CUSTOM_MALLOC_LOCK + /* + FUNCTION + <<__malloc_lock>>, <<__malloc_unlock>>---lock malloc pool +@@ -55,3 +56,4 @@ __malloc_unlock (ptr) + } + + #endif ++#endif +diff --git a/newlib/libc/sys/arm/include/machine/_types.h b/newlib/libc/sys/arm/include/machine/_types.h +new file mode 100644 +index 000000000..40092f99f +--- /dev/null ++++ b/newlib/libc/sys/arm/include/machine/_types.h +@@ -0,0 +1,19 @@ ++#ifndef _MACHINE__TYPES_H ++#define _MACHINE__TYPES_H ++ ++#include ++ ++/* Use 64bit types */ ++typedef __int64_t _off_t; ++#define __machine_off_t_defined ++ ++typedef __int64_t _fpos_t; ++#define __machine_fpos_t_defined ++ ++typedef __uint32_t __ino_t; ++#define __machine_ino_t_defined ++ ++typedef __uint32_t __dev_t; ++#define __machine_dev_t_defined ++#endif ++ +diff --git a/newlib/libc/sys/arm/sys/dirent.h b/newlib/libc/sys/arm/sys/dirent.h +new file mode 100644 +index 000000000..2aaca6080 +--- /dev/null ++++ b/newlib/libc/sys/arm/sys/dirent.h +@@ -0,0 +1,58 @@ ++#ifndef _dirent_h_ ++#define _dirent_h_ ++ ++#define _DIRENT_HAVE_D_TYPE ++ ++#include ++#include ++#include ++ ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; ++ ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; ++ ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); ++ ++int scandir(const char *dirp, struct dirent ***namelist, ++int (*filter)(const struct dirent *), ++int (*compar)(const struct dirent **, const struct dirent **)); ++ ++int alphasort(const struct dirent **a, const struct dirent **b); ++ ++/* Convert between stat structure types and directory types. */ ++# define IFTODT(mode) (((mode) & 0170000) >> 12) ++# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif // _dirent_h_ +diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h +new file mode 100644 +index 000000000..a755d6443 +--- /dev/null ++++ b/newlib/libc/sys/arm/sys/lock.h +@@ -0,0 +1,66 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ ++ ++#include <_ansi.h> ++#include ++ ++typedef int32_t _LOCK_T; ++ ++struct __lock_t { ++ _LOCK_T lock; ++ uint32_t thread_tag; ++ uint32_t counter; ++}; ++ ++typedef struct __lock_t _LOCK_RECURSIVE_T; ++ ++extern void __libc_lock_init(_LOCK_T *lock); ++extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_close(_LOCK_T *lock); ++extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++ ++#define __LOCK_INIT(CLASS,NAME) \ ++CLASS _LOCK_T NAME = 0; ++ ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ ++CLASS _LOCK_RECURSIVE_T NAME = {0,0,0}; ++ ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) ++ ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) ++ ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close_recursive(&(NAME)) ++ ++#define __lock_acquire(NAME) \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_acquire_recursive(NAME) \ ++ __libc_lock_acquire_recursive(&(NAME)) ++ ++#define __lock_try_acquire(NAME) \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_try_acquire_recursive(NAME) \ ++ __libc_lock_try_acquire_recursive(&(NAME)) ++ ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release_recursive(&(NAME)) ++ ++#endif // __SYS_LOCK_H__ diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 60e1447..3bd9eee 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -76,6 +76,8 @@ cd $BUILDDIR mkdir -p $target/gcc cd $target/gcc +export gcc_cv_libc_provides_ssp=yes + if [ ! -f configured-gcc ] then CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ @@ -136,7 +138,7 @@ unset CXX if [ ! -f configured-newlib ] then - CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ + CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections -DCUSTOM_MALLOC_LOCK" \ ../../newlib-$NEWLIB_VER/configure \ --target=$target \ --prefix=$prefix \ diff --git a/select_toolchain.sh b/select_toolchain.sh index dff40fa..0383718 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -42,7 +42,7 @@ case "$VERSION" in GCC_VER=12.2.0 BINUTILS_VER=2.40 MN_BINUTILS_VER=2.24 - NEWLIB_VER=4.2.0.20211231 + NEWLIB_VER=4.3.0.20230120 basedir='dkppc' package=devkitPPC target=powerpc-eabi From 6a2cfec336b6a95c67314e80f80ab86980a2dc70 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 19 Apr 2023 08:59:50 +0100 Subject: [PATCH 210/280] devkitPPC: disable gcc libssp --- dkppc/scripts/build-gcc.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 3bd9eee..7827f56 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -95,6 +95,7 @@ then --enable-libstdcxx-filesystem-ts \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ + --disable-libssp \ --enable-cxx-flags='-ffunction-sections -fdata-sections' \ --target=$target \ --with-newlib \ From 94cabdf12af8a2d908748b32fb1c5a6ebb4bf35f Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 19 Apr 2023 09:15:33 +0100 Subject: [PATCH 211/280] devkitPPC: update version --- dkppc/scripts/build-gcc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 7827f56..85a156a 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -101,7 +101,7 @@ then --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 41" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 42.1" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ From a048d2e89c340a758b300327cbd3c9921fac3311 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 20 Apr 2023 07:40:43 +0100 Subject: [PATCH 212/280] devkitPPC: newlib fixes --- dkppc/patches/newlib-4.3.0.20230120.patch | 28 ++++++++++++++--------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/dkppc/patches/newlib-4.3.0.20230120.patch b/dkppc/patches/newlib-4.3.0.20230120.patch index d5dfd02..9cf7ded 100644 --- a/dkppc/patches/newlib-4.3.0.20230120.patch +++ b/dkppc/patches/newlib-4.3.0.20230120.patch @@ -6342,10 +6342,10 @@ index 000000000..d15eab89d + diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c new file mode 100644 -index 000000000..bed699102 +index 000000000..482d2f814 --- /dev/null +++ b/libgloss/libsysbase/dirent.c -@@ -0,0 +1,255 @@ +@@ -0,0 +1,257 @@ +#include +#include +#include @@ -6465,6 +6465,7 @@ index 000000000..bed699102 + + dirp->position = 0; // 0th position means no file name has been returned yet + dirp->fileData.d_ino = -1; ++ dirp->fileData.d_type = DT_UNKNOWN; + dirp->fileData.d_name[0] = '\0'; + + return dirp; @@ -6487,7 +6488,7 @@ index 000000000..bed699102 + +struct dirent* readdir (DIR *dirp) { + struct stat st; -+ char filename[NAME_MAX]; ++ char filename[NAME_MAX+1]; + int res; + int olderrno = errno; + @@ -6510,7 +6511,7 @@ index 000000000..bed699102 + // We've moved forward in the directory + dirp->position += 1; + -+ if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { ++ if (strnlen(filename, sizeof(filename)) >= sizeof(dirp->fileData.d_name)) { + errno = EOVERFLOW; + return NULL; + } @@ -6525,7 +6526,7 @@ index 000000000..bed699102 + +int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { + struct stat st; -+ char filename[NAME_MAX]; ++ char filename[NAME_MAX+1]; + int res; + + if (!dirp) { @@ -6548,13 +6549,14 @@ index 000000000..bed699102 + // We've moved forward in the directory + dirp->position += 1; + -+ if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { ++ if (strnlen(filename, sizeof(filename)) >= sizeof(entry->d_name)) { + errno = EOVERFLOW; + return EOVERFLOW; + } + + strncpy (entry->d_name, filename, sizeof(entry->d_name)); + entry->d_ino = st.st_ino; ++ entry->d_type = IFTODT(st.st_mode); + + *result = entry; + return 0; @@ -6572,7 +6574,7 @@ index 000000000..bed699102 + + +void seekdir(DIR *dirp, long int loc) { -+ char filename[NAME_MAX]; ++ char filename[NAME_MAX+1]; + + if (!dirp || loc < 0) { + return; @@ -6930,7 +6932,7 @@ index 000000000..2bada9736 +} diff --git a/libgloss/libsysbase/fpathconf.c b/libgloss/libsysbase/fpathconf.c new file mode 100644 -index 000000000..6911163ae +index 000000000..453f64870 --- /dev/null +++ b/libgloss/libsysbase/fpathconf.c @@ -0,0 +1,30 @@ @@ -6958,7 +6960,7 @@ index 000000000..6911163ae + + if(devoptab_list[dev]->fpathconf_r) { + r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fpathconf_r(r, fd, name); ++ ret = devoptab_list[dev]->fpathconf_r(r, handle->fileStruct, name); + } else + r->_errno=ENOSYS; + @@ -8678,10 +8680,10 @@ index 000000000..b54714775 +} diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c new file mode 100644 -index 000000000..462e86520 +index 000000000..14b459eef --- /dev/null +++ b/libgloss/libsysbase/utime.c -@@ -0,0 +1,41 @@ +@@ -0,0 +1,45 @@ +#include "config.h" + +#include @@ -8719,6 +8721,10 @@ index 000000000..462e86520 + t[0].tv_usec = 0; + t[1].tv_sec = times->modtime; + t[1].tv_usec = 0; ++ } else if (gettimeofday(&t[0], NULL) != -1) { ++ t[1] = t[0]; ++ } else { ++ return -1; + } + + return utimes(filename, t); From 3429d8162f81226fc7c2a77e1569d1dc81e9ed3a Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 20 Apr 2023 07:42:20 +0100 Subject: [PATCH 213/280] bump devkitPPC version --- dkppc/scripts/build-gcc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 85a156a..c805da4 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -101,7 +101,7 @@ then --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 42.1" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 42.2" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ From 8f6a2cf4708faf0a9e81159cbcc3124c83ce2bcb Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 29 Apr 2023 10:45:59 +0100 Subject: [PATCH 214/280] update devkitarm rules/crtls versions --- build-devkit.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 32d6ca2..0ce19a5 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -27,8 +27,8 @@ echo -DKARM_RULES_VER=1.2.1 -DKARM_CRTLS_VER=1.1.1 +DKARM_RULES_VER=1.3.0 +DKARM_CRTLS_VER=1.2.1 DKPPC_RULES_VER=1.1.0 From db4e394ab8cacbe7d43876f0d544569ceeeaa71d Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 29 Apr 2023 11:39:06 +0100 Subject: [PATCH 215/280] update devkitppc-rules version --- build-devkit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 0ce19a5..f8721d2 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -30,7 +30,7 @@ echo DKARM_RULES_VER=1.3.0 DKARM_CRTLS_VER=1.2.1 -DKPPC_RULES_VER=1.1.0 +DKPPC_RULES_VER=1.1.2 DKA64_RULES_VER=1.0.1 From e3dca6f33faf4c41209fc68b353f1994a20e7fa8 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 29 Apr 2023 00:10:06 +0100 Subject: [PATCH 216/280] devkitPPC: move to gcc 13.1.0 --- build-devkit.sh | 2 +- dkppc/patches/gcc-13.1.0.patch | 976 +++++++++++++++++++++++++++++++++ dkppc/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 979 insertions(+), 3 deletions(-) create mode 100644 dkppc/patches/gcc-13.1.0.patch diff --git a/build-devkit.sh b/build-devkit.sh index f8721d2..d044608 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash #--------------------------------------------------------------------------------- # devkitARM release 60 -# devkitPPC release 41 +# devkitPPC release 43 # devkitA64 release 21 #--------------------------------------------------------------------------------- diff --git a/dkppc/patches/gcc-13.1.0.patch b/dkppc/patches/gcc-13.1.0.patch new file mode 100644 index 0000000..d2c9207 --- /dev/null +++ b/dkppc/patches/gcc-13.1.0.patch @@ -0,0 +1,976 @@ +diff --git a/config/gthr.m4 b/config/gthr.m4 +index 11996247f15..f21b315ce8a 100644 +--- a/config/gthr.m4 ++++ b/config/gthr.m4 +@@ -13,6 +13,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER], + case $1 in + aix) thread_header=config/rs6000/gthr-aix.h ;; + dce) thread_header=config/pa/gthr-dce.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + gcn) thread_header=config/gcn/gthr-gcn.h ;; + lynx) thread_header=config/gthr-lynx.h ;; + mipssde) thread_header=config/mips/gthr-mipssde.h ;; +diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h +index 98bc77b46b8..4f1690d4f4d 100644 +--- a/gcc/config/newlib-stdint.h ++++ b/gcc/config/newlib-stdint.h +@@ -25,7 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + /* newlib uses 32-bit long in certain cases for all non-SPU + targets. */ + #ifndef STDINT_LONG32 +-#define STDINT_LONG32 (LONG_TYPE_SIZE == 32) ++#define STDINT_LONG32 0 + #endif + + #define SIG_ATOMIC_TYPE "int" +diff --git a/gcc/config/rs6000/eabi.h b/gcc/config/rs6000/eabi.h +index 5bfc377e0de..342ed1932b9 100644 +--- a/gcc/config/rs6000/eabi.h ++++ b/gcc/config/rs6000/eabi.h +@@ -36,6 +36,8 @@ + builtin_assert ("system=embedded"); \ + builtin_assert ("cpu=powerpc"); \ + builtin_assert ("machine=powerpc"); \ ++ builtin_define ("__DEVKITPPC__"); \ ++ builtin_define ("__DEVKITPRO__"); \ + TARGET_OS_SYSV_CPP_BUILTINS (); \ + } \ + while (0) +diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h +index 3503614efbd..b0a1b8e4ad7 100644 +--- a/gcc/config/rs6000/rs6000.h ++++ b/gcc/config/rs6000/rs6000.h +@@ -199,6 +199,7 @@ ASM_OPT_ANY + /* -mcpu=native handling only makes sense with compiler running on + an PowerPC chip. If changing this condition, also change + the condition in driver-rs6000.cc. */ ++#if 0 + #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX) + /* In driver-rs6000.cc. */ + extern const char *host_detect_local_cpu (int argc, const char **argv); +@@ -210,6 +211,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); + #else + #define ASM_CPU_NATIVE_SPEC "%(asm_default)" + #endif ++#endif ++#define ASM_CPU_NATIVE_SPEC "%(asm_default)" + + #ifndef CC1_CPU_SPEC + #ifdef HAVE_LOCAL_CPU_DETECT +diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h +index ae932fc22f0..527b48878b8 100644 +--- a/gcc/config/rs6000/sysv4.h ++++ b/gcc/config/rs6000/sysv4.h +@@ -581,7 +581,11 @@ GNU_USER_TARGET_CC1_SPEC + + /* Default starting address if specified. */ + #define LINK_START_SPEC "\ +-%{mads : %(link_start_ads) ; \ ++%{mgcn|mogc : %(link_start_ogc) ; \ ++ mvgc : %(link_start_vgc) ; \ ++ mgcbios : %(link_start_gcb) ; \ ++ mrvl : %(link_start_rvl) ; \ ++ mads : %(link_start_ads) ; \ + myellowknife : %(link_start_yellowknife) ; \ + mmvme : %(link_start_mvme) ; \ + msim : %(link_start_sim) ; \ +@@ -612,7 +616,8 @@ GNU_USER_TARGET_CC1_SPEC + + /* Any specific OS flags. */ + #define LINK_OS_SPEC "\ +-%{mads : %(link_os_ads) ; \ ++%{mgcn|mogc|mvgc|mgcbios|mrvl : %(link_os_ogc) ; \ ++ mads : %(link_os_ads) ; \ + myellowknife : %(link_os_yellowknife) ; \ + mmvme : %(link_os_mvme) ; \ + msim : %(link_os_sim) ; \ +@@ -627,7 +632,10 @@ GNU_USER_TARGET_CC1_SPEC + /* Override rs6000.h definition. */ + #undef CPP_SPEC + #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ +-%{mads : %(cpp_os_ads) ; \ ++%{mgcn : %(cpp_os_gcn) ; \ ++ mogc|mvgc|mgcbios : %(cpp_os_ogc) ; \ ++ mrvl : %(cpp_os_rvl) ; \ ++ mads : %(cpp_os_ads) ; \ + myellowknife : %(cpp_os_yellowknife) ; \ + mmvme : %(cpp_os_mvme) ; \ + msim : %(cpp_os_sim) ; \ +@@ -641,7 +649,10 @@ GNU_USER_TARGET_CC1_SPEC + + #undef STARTFILE_SPEC + #define STARTFILE_SPEC "\ +-%{mads : %(startfile_ads) ; \ ++%{mgcn : %(startfile_gcn) ; \ ++ mogc|mvgc|mgcbios : %(startfile_ogc) ; \ ++ mrvl : %(startfile_ogc) ; \ ++ mads : %(startfile_ads) ; \ + myellowknife : %(startfile_yellowknife) ; \ + mmvme : %(startfile_mvme) ; \ + msim : %(startfile_sim) ; \ +@@ -655,7 +666,8 @@ GNU_USER_TARGET_CC1_SPEC + + #undef LIB_SPEC + #define LIB_SPEC "\ +-%{mads : %(lib_ads) ; \ ++%{mgcn|mogc|mvgc|mgcbios|mrvl : %(lib_ogc) ; \ ++ mads : %(lib_ads) ; \ + myellowknife : %(lib_yellowknife) ; \ + mmvme : %(lib_mvme) ; \ + msim : %(lib_sim) ; \ +@@ -665,11 +677,12 @@ GNU_USER_TARGET_CC1_SPEC + mcall-openbsd: %(lib_openbsd) ; \ + : %(lib_default) }" + +-#define LIB_DEFAULT_SPEC "-lc" ++#define LIB_DEFAULT_SPEC "--start-group -lsysbase -lc --end-group" + + #undef ENDFILE_SPEC + #define ENDFILE_SPEC "\ +-%{mads : %(endfile_ads) ; \ ++%{mgcn|mogc|mvgc|mgcbios|mrvl : %(endfile_ogc) ; \ ++ mads : %(endfile_ads) ; \ + myellowknife : %(endfile_yellowknife) ; \ + mmvme : %(endfile_mvme) ; \ + msim : %(endfile_sim) ; \ +@@ -685,16 +698,27 @@ GNU_USER_TARGET_CC1_SPEC + + /* Motorola ADS support. */ + #define LIB_ADS_SPEC "--start-group -lads -lc --end-group" ++#define LIB_OGC_SPEC "--start-group -lsysbase -lc --end-group" + + #define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s" ++#define STARTFILE_OGC_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s" + + #define ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s" ++#define ENDFILE_OGC_SPEC "crtend.o%s ecrtn.o%s" + + #define LINK_START_ADS_SPEC "-T ads.ld%s" ++#define LINK_START_OGC_SPEC "-T ogc.ld%s" ++#define LINK_START_RVL_SPEC "-T rvl.ld%s" ++#define LINK_START_VGC_SPEC "-T vgcogc.ld%s" ++#define LINK_START_GCB_SPEC "-T gcbogc.ld%s" + + #define LINK_OS_ADS_SPEC "" ++#define LINK_OS_OGC_SPEC "--gc-sections" + + #define CPP_OS_ADS_SPEC "" ++#define CPP_OS_GCN_SPEC "-D__gamecube__ -ffunction-sections -fdata-sections" ++#define CPP_OS_OGC_SPEC "-D__gamecube__ -DHW_DOL -ffunction-sections -fdata-sections" ++#define CPP_OS_RVL_SPEC "-D__wii__ -DHW_RVL -ffunction-sections -fdata-sections" + + /* Motorola Yellowknife support. */ + #define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" +@@ -842,6 +866,7 @@ ncrtn.o%s" + #undef SUBTARGET_EXTRA_SPECS + #define SUBTARGET_EXTRA_SPECS \ + { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ ++ { "lib_ogc", LIB_OGC_SPEC }, \ + { "lib_ads", LIB_ADS_SPEC }, \ + { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ + { "lib_mvme", LIB_MVME_SPEC }, \ +@@ -851,6 +876,7 @@ ncrtn.o%s" + { "lib_netbsd", LIB_NETBSD_SPEC }, \ + { "lib_openbsd", LIB_OPENBSD_SPEC }, \ + { "lib_default", LIB_DEFAULT_SPEC }, \ ++ { "startfile_ogc", STARTFILE_OGC_SPEC }, \ + { "startfile_ads", STARTFILE_ADS_SPEC }, \ + { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ + { "startfile_mvme", STARTFILE_MVME_SPEC }, \ +@@ -860,6 +886,7 @@ ncrtn.o%s" + { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ + { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ + { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ ++ { "endfile_ogc", ENDFILE_OGC_SPEC }, \ + { "endfile_ads", ENDFILE_ADS_SPEC }, \ + { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ + { "endfile_mvme", ENDFILE_MVME_SPEC }, \ +@@ -871,7 +898,11 @@ ncrtn.o%s" + { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ + { "link_shlib", LINK_SHLIB_SPEC }, \ + { "link_start", LINK_START_SPEC }, \ ++ { "link_start_vgc", LINK_START_VGC_SPEC }, \ ++ { "link_start_gcb", LINK_START_GCB_SPEC }, \ ++ { "link_start_rvl", LINK_START_RVL_SPEC }, \ + { "link_start_ads", LINK_START_ADS_SPEC }, \ ++ { "link_start_ogc", LINK_START_OGC_SPEC }, \ + { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ + { "link_start_mvme", LINK_START_MVME_SPEC }, \ + { "link_start_sim", LINK_START_SIM_SPEC }, \ +@@ -881,6 +912,7 @@ ncrtn.o%s" + { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ + { "link_start_default", LINK_START_DEFAULT_SPEC }, \ + { "link_os", LINK_OS_SPEC }, \ ++ { "link_os_ogc", LINK_OS_OGC_SPEC }, \ + { "link_os_ads", LINK_OS_ADS_SPEC }, \ + { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ + { "link_os_mvme", LINK_OS_MVME_SPEC }, \ +@@ -892,6 +924,9 @@ ncrtn.o%s" + { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ + { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ + { "link_secure_plt", LINK_SECURE_PLT_SPEC }, \ ++ { "cpp_os_gcn", CPP_OS_GCN_SPEC }, \ ++ { "cpp_os_ogc", CPP_OS_OGC_SPEC }, \ ++ { "cpp_os_rvl", CPP_OS_RVL_SPEC }, \ + { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ + { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ + { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ +diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt +index 691e0d3d2e8..2eb60bc56b6 100644 +--- a/gcc/config/rs6000/sysv4.opt ++++ b/gcc/config/rs6000/sysv4.opt +@@ -124,6 +124,26 @@ mads + Target RejectNegative + Link with libads.a, libc.a and crt0.o. + ++mgcn ++Target RejectNegative ++Link with libsysbase.a and libc.a, use ogc linker script ++ ++mogc ++Target RejectNegative ++Link with libsysbase.a and libc.a, use ogc linker script ++ ++mgcbios ++Target RejectNegative ++Link with libsysbase.a and libc.a, use gcbogc linker script ++ ++mvgc ++Target RejectNegative ++Link with libsysbase.a and libc.a, use gcbogc linker script ++ ++mrvl ++Target RejectNegative ++Link with libsysbase.a and libc.a, use rvl linker script ++ + myellowknife + Target RejectNegative + Link with libyk.a, libc.a and crt0.o. +diff --git a/gcc/configure b/gcc/configure +index c7b26d1927d..d1e32ef9ec5 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -13011,7 +13011,7 @@ case ${enable_threads} in + # default + target_thread_file='single' + ;; +- aix | dce | lynx | mipssde | posix | rtems | \ ++ aix | dce | dkp | lynx | mipssde | posix | rtems | \ + single | tpf | vxworks | win32 | mcf) + target_thread_file=${enable_threads} + ;; +diff --git a/gcc/configure.ac b/gcc/configure.ac +index 09082e8ccae..f5700df9455 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -2020,7 +2020,7 @@ case ${enable_threads} in + # default + target_thread_file='single' + ;; +- aix | dce | lynx | mipssde | posix | rtems | \ ++ aix | dce | dkp | lynx | mipssde | posix | rtems | \ + single | tpf | vxworks | win32 | mcf) + target_thread_file=${enable_threads} + ;; +diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S +index cf7f71ae123..7e0892a845f 100644 +--- a/libgcc/config/rs6000/crtrestvr.S ++++ b/libgcc/config/rs6000/crtrestvr.S +@@ -24,7 +24,7 @@ + + /* On PowerPC64 Linux, these functions are provided by the linker. */ + #ifndef __powerpc64__ +- ++#if 0 + #undef __ALTIVEC__ + #define __ALTIVEC__ 1 + #include "ppc-asm.h" +@@ -86,3 +86,4 @@ FUNC_END(_restvr_20) + CFI_ENDPROC + + #endif ++#endif +diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S +index 19de2128714..d116593062d 100644 +--- a/libgcc/config/rs6000/crtsavevr.S ++++ b/libgcc/config/rs6000/crtsavevr.S +@@ -24,7 +24,7 @@ + + /* On PowerPC64 Linux, these functions are provided by the linker. */ + #ifndef __powerpc64__ +- ++#if 0 + #undef __ALTIVEC__ + #define __ALTIVEC__ 1 + #include "ppc-asm.h" +@@ -86,3 +86,4 @@ FUNC_END(_savevr_20) + CFI_ENDPROC + + #endif ++#endif +diff --git a/libgcc/config/rs6000/gthr-dkp.c b/libgcc/config/rs6000/gthr-dkp.c +new file mode 100644 +index 00000000000..26180aa7f36 +--- /dev/null ++++ b/libgcc/config/rs6000/gthr-dkp.c +@@ -0,0 +1,319 @@ ++/* Threads compatibility routines for libgcc2 and libobjc. */ ++/* Compile this one with gcc. */ ++/* Copyright (C) 1997-2016 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. ++ ++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 ++. */ ++ ++#define _BUILDING_LIBGCC ++#include "gthr-dkp.h" ++#include ++ ++ ++int ++__gthread_active_p (void) ++{ ++ if (!__has_gthr_impl(active)) { ++ return 0; ++ } ++ ++ return __gthr_impl_active(); ++} ++ ++int ++__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), ++ void *__args) ++{ ++ if (!__has_gthr_impl(create)) { ++ return -1; ++ } ++ ++ return __gthr_impl_create(__threadid, __func, __args); ++} ++ ++int ++__gthread_join (__gthread_t __threadid, void **__value_ptr) ++{ ++ if (!__has_gthr_impl(join)) { ++ return -1; ++ } ++ ++ return __gthr_impl_join(__threadid, __value_ptr); ++} ++ ++int ++__gthread_detach (__gthread_t __threadid) ++{ ++ if (!__has_gthr_impl(detach)) { ++ return -1; ++ } ++ ++ return __gthr_impl_detach(__threadid); ++} ++ ++int ++__gthread_equal (__gthread_t __t1, __gthread_t __t2) ++{ ++ if (!__has_gthr_impl(equal)) { ++ return -1; ++ } ++ ++ return __gthr_impl_equal(__t1, __t2); ++} ++ ++__gthread_t ++__gthread_self (void) ++{ ++ if (!__has_gthr_impl(self)) { ++ __gthread_t result = { 0 }; ++ return result; ++ } ++ ++ return __gthr_impl_self(); ++} ++ ++int ++__gthread_yield (void) ++{ ++ if (!__has_gthr_impl(yield)) { ++ return -1; ++ } ++ ++ return __gthr_impl_yield(); ++} ++ ++int ++__gthread_once (__gthread_once_t *__once, void (*__func) (void)) ++{ ++ if (!__has_gthr_impl(once)) { ++ return -1; ++ } ++ ++ return __gthr_impl_once(__once, __func); ++} ++ ++int ++__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) ++{ ++ if (!__has_gthr_impl(key_create)) { ++ return -1; ++ } ++ ++ return __gthr_impl_key_create(__key, __dtor); ++} ++ ++int ++__gthread_key_delete (__gthread_key_t __key) ++{ ++ if (!__has_gthr_impl(key_delete)) { ++ return -1; ++ } ++ ++ return __gthr_impl_key_delete(__key); ++} ++ ++void * ++__gthread_getspecific (__gthread_key_t __key) ++{ ++ if (!__has_gthr_impl(getspecific)) { ++ return NULL; ++ } ++ ++ return __gthr_impl_getspecific(__key); ++} ++ ++int ++__gthread_setspecific (__gthread_key_t __key, const void *__ptr) ++{ ++ if (!__has_gthr_impl(setspecific)) { ++ return -1; ++ } ++ ++ return __gthr_impl_setspecific(__key, __ptr); ++} ++ ++void ++__gthread_mutex_init_function (__gthread_mutex_t *__mutex) ++{ ++ if (__has_gthr_impl(mutex_init_function)) { ++ __gthr_impl_mutex_init_function(__mutex); ++ } ++} ++ ++int ++__gthread_mutex_destroy (__gthread_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(mutex_destroy)) { ++ return -1; ++ } ++ ++ return __gthr_impl_mutex_destroy(__mutex); ++} ++ ++int ++__gthread_mutex_lock (__gthread_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(mutex_lock)) { ++ return -1; ++ } ++ ++ return __gthr_impl_mutex_lock(__mutex); ++} ++ ++int ++__gthread_mutex_trylock (__gthread_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(mutex_trylock)) { ++ return -1; ++ } ++ ++ return __gthr_impl_mutex_trylock(__mutex); ++} ++ ++int ++__gthread_mutex_unlock (__gthread_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(mutex_unlock)) { ++ return -1; ++ } ++ ++ return __gthr_impl_mutex_unlock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(recursive_mutex_init_function)) { ++ return -1; ++ } ++ ++ return __gthr_impl_recursive_mutex_init_function(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(recursive_mutex_lock)) { ++ return -1; ++ } ++ ++ return __gthr_impl_recursive_mutex_lock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(recursive_mutex_trylock)) { ++ return -1; ++ } ++ ++ return __gthr_impl_recursive_mutex_trylock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(recursive_mutex_unlock)) { ++ return -1; ++ } ++ ++ return __gthr_impl_recursive_mutex_unlock(__mutex); ++} ++ ++int ++__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(recursive_mutex_destroy)) { ++ return -1; ++ } ++ ++ return __gthr_impl_recursive_mutex_destroy(__mutex); ++} ++ ++void ++__gthread_cond_init_function (__gthread_cond_t *__cond) ++{ ++ if (__has_gthr_impl(cond_init_function)) { ++ __gthr_impl_cond_init_function(__cond); ++ } ++} ++ ++int ++__gthread_cond_broadcast (__gthread_cond_t *__cond) ++{ ++ if (!__has_gthr_impl(cond_broadcast)) { ++ return -1; ++ } ++ ++ return __gthr_impl_cond_broadcast(__cond); ++} ++ ++int ++__gthread_cond_signal (__gthread_cond_t *__cond) ++{ ++ if (!__has_gthr_impl(cond_signal)) { ++ return -1; ++ } ++ ++ return __gthr_impl_cond_signal(__cond); ++} ++ ++int ++__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(cond_wait)) { ++ return -1; ++ } ++ ++ return __gthr_impl_cond_wait(__cond, __mutex); ++} ++ ++int ++__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, ++ const __gthread_time_t *__abs_timeout) ++{ ++ if (!__has_gthr_impl(cond_timedwait)) { ++ return -1; ++ } ++ ++ return __gthr_impl_cond_timedwait(__cond, __mutex, __abs_timeout); ++} ++ ++int ++__gthread_cond_wait_recursive (__gthread_cond_t *__cond, ++ __gthread_recursive_mutex_t *__mutex) ++{ ++ if (!__has_gthr_impl(cond_wait_recursive)) { ++ return -1; ++ } ++ ++ return __gthr_impl_cond_wait_recursive(__cond, __mutex); ++} ++ ++int ++__gthread_cond_destroy (__gthread_cond_t* __cond) ++{ ++ if (!__has_gthr_impl(cond_destroy)) { ++ return -1; ++ } ++ ++ return __gthr_impl_cond_destroy(__cond); ++} +diff --git a/libgcc/config/rs6000/gthr-dkp.h b/libgcc/config/rs6000/gthr-dkp.h +new file mode 100644 +index 00000000000..72ecf82ab83 +--- /dev/null ++++ b/libgcc/config/rs6000/gthr-dkp.h +@@ -0,0 +1,187 @@ ++/* Threads compatibility routines for libgcc2 and libobjc. */ ++/* Compile this one with gcc. */ ++/* Copyright (C) 1997-2016 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. ++ ++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 ++. */ ++ ++#ifndef _GLIBCXX_GCC_GTHR_DKP_H ++#define _GLIBCXX_GCC_GTHR_DKP_H ++ ++#define __GTHREADS 1 ++#define __GTHREADS_CXX0X 1 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++typedef void * __gthread_t; ++typedef struct { int padding[7]; } __gthread_cond_t; ++typedef struct { int padding; } __gthread_key_t; ++typedef struct { int padding[11]; } __gthread_mutex_t; ++typedef struct { int padding; } __gthread_once_t; ++typedef struct { int padding[11]; } __gthread_recursive_mutex_t; ++typedef struct timespec __gthread_time_t; ++ ++#define __GTHREAD_HAS_COND 1 ++#define _GTHREAD_USE_MUTEX_TIMEDLOCK 0 ++ ++#define __GTHREAD_ONCE_INIT { 0 } ++#define __GTHREAD_TIME_INIT { 0, 0 } ++ ++#define __GTHREAD_COND_INIT_FUNCTION __gthread_cond_init_function ++#define __GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function ++#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function ++ ++#ifdef _BUILDING_LIBGCC ++#define __GTHR_IMPL(_name) __attribute__((weak)) __gthr_impl_##_name ++#define __has_gthr_impl(_name) (&__gthr_impl_##_name) ++#else ++#define __GTHR_IMPL(_name) __gthr_impl_##_name ++#endif ++ ++int __GTHR_IMPL(active) (void); ++int __GTHR_IMPL(create) (__gthread_t *__threadid, void *(*__func) (void*), void *__args); ++int __GTHR_IMPL(join) (__gthread_t __threadid, void **__value_ptr); ++int __GTHR_IMPL(detach) (__gthread_t __threadid); ++int __GTHR_IMPL(equal) (__gthread_t __t1, __gthread_t __t2); ++__gthread_t __GTHR_IMPL(self) (void); ++int __GTHR_IMPL(yield) (void); ++int __GTHR_IMPL(once) (__gthread_once_t *__once, void (*__func) (void)); ++int __GTHR_IMPL(key_create) (__gthread_key_t *__key, void (*__dtor) (void *)); ++int __GTHR_IMPL(key_delete) (__gthread_key_t __key); ++void * __GTHR_IMPL(getspecific) (__gthread_key_t __key); ++int __GTHR_IMPL(setspecific) (__gthread_key_t __key, const void *__ptr); ++void __GTHR_IMPL(mutex_init_function) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(mutex_destroy) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(mutex_lock) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(mutex_trylock) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(mutex_unlock) (__gthread_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_init_function) (__gthread_recursive_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_lock) (__gthread_recursive_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_trylock) (__gthread_recursive_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_unlock) (__gthread_recursive_mutex_t *__mutex); ++int __GTHR_IMPL(recursive_mutex_destroy) (__gthread_recursive_mutex_t *__mutex); ++void __GTHR_IMPL(cond_init_function) (__gthread_cond_t *__cond); ++int __GTHR_IMPL(cond_broadcast) (__gthread_cond_t *__cond); ++int __GTHR_IMPL(cond_signal) (__gthread_cond_t *__cond); ++int __GTHR_IMPL(cond_wait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); ++int __GTHR_IMPL(cond_timedwait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, ++ const __gthread_time_t *__abs_timeout); ++int __GTHR_IMPL(cond_wait_recursive) (__gthread_cond_t *__cond, ++ __gthread_recursive_mutex_t *__mutex); ++int __GTHR_IMPL(cond_destroy) (__gthread_cond_t* __cond); ++ ++int ++__gthread_active_p (void); ++ ++int ++__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), ++ void *__args); ++ ++int ++__gthread_join (__gthread_t __threadid, void **__value_ptr); ++ ++int ++__gthread_detach (__gthread_t __threadid); ++ ++int ++__gthread_equal (__gthread_t __t1, __gthread_t __t2); ++ ++__gthread_t ++__gthread_self (void); ++ ++int ++__gthread_yield (void); ++ ++int ++__gthread_once (__gthread_once_t *__once, void (*__func) (void)); ++ ++int ++__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)); ++ ++int ++__gthread_key_delete (__gthread_key_t __key); ++ ++void * ++__gthread_getspecific (__gthread_key_t __key); ++ ++int ++__gthread_setspecific (__gthread_key_t __key, const void *__ptr); ++ ++void ++__gthread_mutex_init_function (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_destroy (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_lock (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_trylock (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_mutex_unlock (__gthread_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex); ++ ++void ++__gthread_cond_init_function (__gthread_cond_t *__cond); ++ ++int ++__gthread_cond_broadcast (__gthread_cond_t *__cond); ++ ++int ++__gthread_cond_signal (__gthread_cond_t *__cond); ++ ++int ++__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); ++ ++int ++__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, ++ const __gthread_time_t *__abs_timeout); ++ ++int ++__gthread_cond_wait_recursive (__gthread_cond_t *__cond, ++ __gthread_recursive_mutex_t *__mutex); ++ ++int ++__gthread_cond_destroy (__gthread_cond_t* __cond); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */ +diff --git a/libgcc/config/rs6000/t-ppccomm b/libgcc/config/rs6000/t-ppccomm +index fb812d3801f..7f6669d530f 100644 +--- a/libgcc/config/rs6000/t-ppccomm ++++ b/libgcc/config/rs6000/t-ppccomm +@@ -1,4 +1,5 @@ + LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c \ ++ $(srcdir)/config/rs6000/gthr-dkp.c \ + $(srcdir)/config/rs6000/tramp.S + + # This can't end up in shared libgcc +diff --git a/libgcc/configure b/libgcc/configure +index be5d45f1755..5c5aa253655 100755 +--- a/libgcc/configure ++++ b/libgcc/configure +@@ -5690,6 +5690,7 @@ tm_file="${tm_file_}" + case $target_thread_file in + aix) thread_header=config/rs6000/gthr-aix.h ;; + dce) thread_header=config/pa/gthr-dce.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + gcn) thread_header=config/gcn/gthr-gcn.h ;; + lynx) thread_header=config/gthr-lynx.h ;; + mipssde) thread_header=config/mips/gthr-mipssde.h ;; +diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c +index 93ff5b81dc5..20c0fe89a28 100644 +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -326,7 +326,7 @@ register_tm_clones (void) + + #ifdef OBJECT_FORMAT_ELF + +-#if DEFAULT_USE_CXA_ATEXIT ++#if 1 /* DEFAULT_USE_CXA_ATEXIT */ + /* Declare the __dso_handle variable. It should have a unique value + in every shared-object; in a main program its value is zero. The + object should in any case be protected. This means the instance +diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure +index 68ee94c9e28..1e17f789b89 100755 +--- a/libstdc++-v3/configure ++++ b/libstdc++-v3/configure +@@ -15800,6 +15800,7 @@ $as_echo "$target_thread_file" >&6; } + case $target_thread_file in + aix) thread_header=config/rs6000/gthr-aix.h ;; + dce) thread_header=config/pa/gthr-dce.h ;; ++ dkp) thread_header=config/rs6000/gthr-dkp.h ;; + gcn) thread_header=config/gcn/gthr-gcn.h ;; + lynx) thread_header=config/gthr-lynx.h ;; + mipssde) thread_header=config/mips/gthr-mipssde.h ;; +diff --git a/libstdc++-v3/include/std/fstream b/libstdc++-v3/include/std/fstream +index 3dff4e5e74e..7835a727321 100644 +--- a/libstdc++-v3/include/std/fstream ++++ b/libstdc++-v3/include/std/fstream +@@ -48,7 +48,7 @@ + + // This can be overridden by the target's os_defines.h + #ifndef _GLIBCXX_BUFSIZ +-# define _GLIBCXX_BUFSIZ BUFSIZ ++# define _GLIBCXX_BUFSIZ (BUFSIZ+1) + #endif + + namespace std _GLIBCXX_VISIBILITY(default) +diff --git a/libstdc++-v3/libsupc++/eh_alloc.cc b/libstdc++-v3/libsupc++/eh_alloc.cc +index 8380052c9f3..100de070f20 100644 +--- a/libstdc++-v3/libsupc++/eh_alloc.cc ++++ b/libstdc++-v3/libsupc++/eh_alloc.cc +@@ -143,6 +143,7 @@ namespace + { + public: + pool() noexcept; ++ ~pool(); + + _GLIBCXX_NODISCARD void *allocate (std::size_t) noexcept; + void free (void *) noexcept; +@@ -248,6 +249,15 @@ namespace + first_free_entry->next = NULL; + } + ++ pool::~pool() ++ { ++ if (arena) ++ { ++ ::free(arena); ++ arena = 0; ++ } ++ } ++ + void *pool::allocate (std::size_t size) noexcept + { + __scoped_lock sentry(emergency_mutex); +diff --git a/libstdc++-v3/src/c++17/fs_ops.cc b/libstdc++-v3/src/c++17/fs_ops.cc +index c94d260632f..74c7a06a90d 100644 +--- a/libstdc++-v3/src/c++17/fs_ops.cc ++++ b/libstdc++-v3/src/c++17/fs_ops.cc +@@ -1124,6 +1124,7 @@ fs::permissions(const path& p, perms prms, perm_options opts, + } + + int err = 0; ++#ifndef __DEVKITPPC__ + #if _GLIBCXX_USE_FCHMODAT + const int flag = (nofollow && is_symlink(st)) ? AT_SYMLINK_NOFOLLOW : 0; + if (::fchmodat(AT_FDCWD, p.c_str(), static_cast(prms), flag)) +@@ -1133,6 +1134,7 @@ fs::permissions(const path& p, perms prms, perm_options opts, + ec = std::__unsupported(); + else if (posix::chmod(p.c_str(), static_cast(prms))) + err = errno; ++#endif + #endif + + if (err) +diff --git a/libstdc++-v3/src/filesystem/ops-common.h b/libstdc++-v3/src/filesystem/ops-common.h +index c95511b5c95..f9be4529bb2 100644 +--- a/libstdc++-v3/src/filesystem/ops-common.h ++++ b/libstdc++-v3/src/filesystem/ops-common.h +@@ -486,6 +486,7 @@ _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM + return false; + } + ++#ifndef __DEVKITPPC__ + #if defined _GLIBCXX_USE_FCHMOD && ! defined _GLIBCXX_FILESYSTEM_IS_WINDOWS + if (::fchmod(out.fd, from_st->st_mode)) + #elif defined _GLIBCXX_USE_FCHMODAT && ! defined _GLIBCXX_FILESYSTEM_IS_WINDOWS +@@ -497,6 +498,7 @@ _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM + ec.assign(errno, std::generic_category()); + return false; + } ++#endif + + size_t count = from_st->st_size; + #if defined _GLIBCXX_USE_SENDFILE && ! defined _GLIBCXX_FILESYSTEM_IS_WINDOWS +diff --git a/libstdc++-v3/src/filesystem/ops.cc b/libstdc++-v3/src/filesystem/ops.cc +index d33c13d7f15..7c343cdc30e 100644 +--- a/libstdc++-v3/src/filesystem/ops.cc ++++ b/libstdc++-v3/src/filesystem/ops.cc +@@ -972,6 +972,7 @@ fs::permissions(const path& p, perms prms, error_code& ec) noexcept + } + + int err = 0; ++#ifndef __DEVKITPPC__ + #if _GLIBCXX_USE_FCHMODAT + const int flag = (nofollow && is_symlink(st)) ? AT_SYMLINK_NOFOLLOW : 0; + if (::fchmodat(AT_FDCWD, p.c_str(), static_cast(prms), flag)) +@@ -981,6 +982,7 @@ fs::permissions(const path& p, perms prms, error_code& ec) noexcept + ec = std::__unsupported(); + else if (posix::chmod(p.c_str(), static_cast(prms))) + err = errno; ++#endif + #endif + + if (err) diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index c805da4..6aad4de 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -101,7 +101,7 @@ then --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 42.2" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 43" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index 0383718..fb5fa52 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -39,7 +39,7 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - GCC_VER=12.2.0 + GCC_VER=13.1.0 BINUTILS_VER=2.40 MN_BINUTILS_VER=2.24 NEWLIB_VER=4.3.0.20230120 From 62b6ba148407b3f9b1d24b75d4bd12d74774d92c Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 29 Apr 2023 00:16:51 +0100 Subject: [PATCH 217/280] devkitPPC: enable dynamic reent --- dkppc/patches/newlib-4.3.0.20230120.patch | 33 ++++++++++++++--------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/dkppc/patches/newlib-4.3.0.20230120.patch b/dkppc/patches/newlib-4.3.0.20230120.patch index 9cf7ded..9bd07ac 100644 --- a/dkppc/patches/newlib-4.3.0.20230120.patch +++ b/dkppc/patches/newlib-4.3.0.20230120.patch @@ -9123,7 +9123,7 @@ index bc967bd70..b0d8d64f0 100644 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-vfprintf.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo -c -o libc/machine/powerpc/libc_a-vfprintf.o `test -f 'libc/machine/powerpc/vfprintf.c' || echo '$(srcdir)/'`libc/machine/powerpc/vfprintf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Po diff --git a/newlib/configure.host b/newlib/configure.host -index 0a1ba282a..749f1ec7d 100644 +index 0a1ba282a..25722d004 100644 --- a/newlib/configure.host +++ b/newlib/configure.host @@ -627,6 +627,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID @@ -9146,10 +9146,10 @@ index 0a1ba282a..749f1ec7d 100644 newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" ;; - powerpc*-*-eabi* | \ -+ powerpc*-*-eabi*) ++ powerpc*-*-eabi*) + default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" -+ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" + newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls + ;; @@ -9207,21 +9207,30 @@ index 23d572cd3..65310c084 100644 extern int _stat_r (struct _reent *, const char *, struct stat *); extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 5dcc77a80..3a33705c0 100644 +index 5dcc77a80..6930a751d 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h -@@ -8,6 +8,11 @@ - #define MALLOC_ALIGNMENT 16 - #endif +@@ -4,8 +4,19 @@ + #include /* floating point macros */ + #include /* POSIX defs */ -+#ifdef _ARCH_PPC -+#define __BUFSIZ__ 32768 -+#define MALLOC_ALIGNMENT 64 +-#ifdef __aarch64__ ++#ifdef __DEVKITARM__ ++#define __DYNAMIC_REENT__ +#endif + - #ifdef __AMDGCN__ - #define __DYNAMIC_REENT__ ++#ifdef __DEVKITA64__ + #define MALLOC_ALIGNMENT 16 ++#define __DYNAMIC_REENT__ ++#endif ++ ++#ifdef __DEVKITPPC__ ++#define __BUFSIZ__ 32768 ++#define MALLOC_ALIGNMENT 64 ++#define __DYNAMIC_REENT__ #endif + + #ifdef __AMDGCN__ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h index 45476ce4a..d76706321 100644 --- a/newlib/libc/include/sys/features.h From d158002ce30e0402dce94e3271fcef95ccfb6596 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 26 Apr 2023 22:00:29 +0100 Subject: [PATCH 218/280] devkitARM: test 13.1.0 RC2 --- build-devkit.sh | 2 +- .../patches/gcc-13.1.0-RC2-20230419.patch | 340 ++++++++++++++++++ dkarm-eabi/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 343 insertions(+), 3 deletions(-) create mode 100644 dkarm-eabi/patches/gcc-13.1.0-RC2-20230419.patch diff --git a/build-devkit.sh b/build-devkit.sh index d044608..5869dbb 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash #--------------------------------------------------------------------------------- -# devkitARM release 60 +# devkitARM release 61 # devkitPPC release 43 # devkitA64 release 21 #--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/patches/gcc-13.1.0-RC2-20230419.patch b/dkarm-eabi/patches/gcc-13.1.0-RC2-20230419.patch new file mode 100644 index 0000000..18e2630 --- /dev/null +++ b/dkarm-eabi/patches/gcc-13.1.0-RC2-20230419.patch @@ -0,0 +1,340 @@ +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/arm/arm-cpus.in gcc-13.1.0-RC2-20230419/gcc/config/arm/arm-cpus.in +--- gcc-13.1.0-RC2-20230419.orig/gcc/config/arm/arm-cpus.in 2023-04-19 13:53:45.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config/arm/arm-cpus.in 2023-04-26 21:53:20.092320569 +0100 +@@ -416,7 +416,7 @@ + tune for mpcore + tune flags CO_PROC + base 6K +- isa ARMv6k ++ isa ARMv6k VFPv2 FP_DBL + option fp add VFPv2 FP_DBL + optalias vfpv2 fp + option nofp remove ALL_FP +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/arm/t-arm-elf gcc-13.1.0-RC2-20230419/gcc/config/arm/t-arm-elf +--- gcc-13.1.0-RC2-20230419.orig/gcc/config/arm/t-arm-elf 2023-04-19 13:53:45.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config/arm/t-arm-elf 2023-04-26 21:53:20.092320569 +0100 +@@ -16,120 +16,22 @@ + # along with GCC; see the file COPYING3. If not see + # . + +-# Build a very basic set of libraries that should cater for most cases. +- +-# Single-precision floating-point is NOT supported; we don't build a +-# suitable library for that. Use the rm-profile config in that case. +- +-# PART 1 - Useful groups of options +- +-dp_fpus := vfp vfpv2 vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16 \ +- neon neon-vfpv3 neon-fp16 vfpv4 neon-vfpv4 vfpv4-d16 \ +- fpv5-d16 fp-armv8 neon-fp-armv8 crypto-neon-fp-armv8 \ +- vfp3 +- +-sp_fpus := vfpv3xd vfpv3xd-fp16 fpv4-sp-d16 fpv5-sp-d16 +- +-v7a_fps := vfpv3 vfpv3-fp16 vfpv4 simd neon-fp16 neon-vfpv4 +-v7ve_fps := vfpv3-d16 vfpv3 vfpv3-d16-fp16 vfpv3-fp16 vfpv4 neon \ +- neon-fp16 simd +- +-# Not all these permutations exist for all architecture variants, but +-# it seems to work ok. +-v8_fps := simd fp16 crypto fp16+crypto dotprod fp16fml +- +-v9_fps := simd fp16 crypto fp16+crypto dotprod fp16fml +- +-# We don't do anything special with these. Pre-v4t probably doesn't work. +-all_early_nofp := armv4 armv4t armv5t +- +-all_early_arch := armv5tej armv6 armv6j armv6k armv6z armv6kz \ +- armv6zk armv6t2 iwmmxt iwmmxt2 +- +-all_v7_a_r := armv7-a armv7ve armv7-r +- +-all_v8_archs := armv8-a armv8-a+crc armv8.1-a armv8.2-a armv8.3-a armv8.4-a \ +- armv8.5-a armv8.6-a +- +-all_v9_archs := armv9-a +- +-# No floating point variants, require thumb1 softfp +-all_nofp_t := armv6-m armv6s-m armv8-m.base +- +-all_nofp_t2 := armv7-m +- +-all_sp_only := armv7e-m armv8-m.main +- +-MULTILIB_OPTIONS = +-MULTILIB_DIRNAMES = ++MULTILIB_OPTIONS = mthumb mbig-endian march=armv6k march=armv6s-m mfloat-abi=hard mfloat-abi=soft ++MULTILIB_DIRNAMES = thumb be armv6k v6-m fpu nofp + MULTILIB_EXCEPTIONS = + MULTILIB_MATCHES = +-MULTILIB_REUSE = +- +-# PART 2 - multilib build rules +- +-MULTILIB_OPTIONS += marm/mthumb +-MULTILIB_DIRNAMES += arm thumb +- +-MULTILIB_OPTIONS += mfpu=auto +-MULTILIB_DIRNAMES += autofp +- +-MULTILIB_OPTIONS += march=armv5te+fp/march=armv7+fp +-MULTILIB_DIRNAMES += v5te v7 +- +-MULTILIB_OPTIONS += mfloat-abi=hard +-MULTILIB_DIRNAMES += fpu +- +-# Build a total of 4 library variants (base options plus the following): +-MULTILIB_REQUIRED += mthumb +-MULTILIB_REQUIRED += marm/mfpu=auto/march=armv5te+fp/mfloat-abi=hard +-MULTILIB_REQUIRED += mthumb/mfpu=auto/march=armv7+fp/mfloat-abi=hard +- +-# PART 3 - Match rules +- +-# Map all supported FPUs onto mfpu=auto +-MULTILIB_MATCHES += $(foreach FPU, $(dp_fpus), \ +- mfpu?auto=mfpu?$(FPU)) +- +-MULTILIB_MATCHES += march?armv5te+fp=march?armv5te +- +-MULTILIB_MATCHES += $(foreach ARCH, $(all_early_arch), \ +- march?armv5te+fp=march?$(ARCH) \ +- march?armv5te+fp=march?$(ARCH)+fp) +- +-MULTILIB_MATCHES += march?armv7+fp=march?armv7 +- +-MULTILIB_MATCHES += $(foreach FPARCH, $(v7a_fps), \ +- march?armv7+fp=march?armv7-a+$(FPARCH)) +- +-MULTILIB_MATCHES += $(foreach FPARCH, $(v7ve_fps), \ +- march?armv7+fp=march?armv7ve+$(FPARCH)) +- +-MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \ +- march?armv7+fp=march?$(ARCH) \ +- march?armv7+fp=march?$(ARCH)+fp) + +-MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \ +- march?armv7+fp=march?$(ARCH) \ +- $(foreach FPARCH, $(v8_fps), \ +- march?armv7+fp=march?$(ARCH)+$(FPARCH))) ++MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard mthumb/march=armv6s-m/mfloat-abi=soft + +-MULTILIB_MATCHES += $(foreach ARCH, $(all_v9_archs), \ +- march?armv7+fp=march?$(ARCH) \ +- $(foreach FPARCH, $(v9_fps), \ +- march?armv7+fp=march?$(ARCH)+$(FPARCH))) + +-MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \ +- march?armv7+fp=march?$(ARCH)+fp.dp) ++MULTILIB_MATCHES += march?armv6k=mtune?mpcore ++MULTILIB_MATCHES += march?armv6k=mcpu?mpcore + +-# PART 4 - Reuse rules ++MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m0 ++MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m0 ++MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m0plus ++MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m0plus ++MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m1 ++MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m1 + +-MULTILIB_REUSE += mthumb=mthumb/mfpu.auto +-MULTILIB_REUSE += mthumb=mthumb/mfpu.auto/march.armv5te+fp +-MULTILIB_REUSE += mthumb=mthumb/march.armv5te+fp +-MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=marm/march.armv5te+fp/mfloat-abi.hard +-MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=march.armv5te+fp/mfloat-abi.hard +-MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=mfpu.auto/march.armv5te+fp/mfloat-abi.hard +-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard +-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard +-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard ++MULTILIB_REUSE = mthumb/march.armv6s-m/mfloat-abi.soft=mthumb/march.armv6s-m +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/arm/unknown-elf.h gcc-13.1.0-RC2-20230419/gcc/config/arm/unknown-elf.h +--- gcc-13.1.0-RC2-20230419.orig/gcc/config/arm/unknown-elf.h 2023-04-19 13:53:45.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config/arm/unknown-elf.h 2023-04-26 21:53:20.092320569 +0100 +@@ -29,7 +29,7 @@ + #endif + + /* Now we define the strings used to build the spec file. */ +-#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" ++#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s" + + #undef STARTFILE_SPEC + #define STARTFILE_SPEC \ +@@ -93,4 +93,5 @@ + udivmoddi4, which will depend on the exception unwind routines, + which will depend on abort, which is defined in libc. */ + #undef LINK_GCC_C_SEQUENCE_SPEC +-#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %{!nolibc:%L} --end-group" ++#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" ++ +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.h gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.h +--- gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.h 1970-01-01 01:00:00.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.h 2023-04-26 21:53:20.092320569 +0100 +@@ -0,0 +1,27 @@ ++/* Definitions for devkitPro toolchains. ++ Copyright (C) 2016-2018 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. ++ 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 ++ . */ ++ ++#undef TARGET_OS_CPP_BUILTINS ++#define TARGET_OS_CPP_BUILTINS() \ ++ do { \ ++ builtin_define ("__DEVKITPRO__"); \ ++ builtin_define ("__DEVKITARM__"); \ ++ } while (0) ++ ++ +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.opt gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.opt +--- gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.opt 1970-01-01 01:00:00.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.opt 2023-04-26 21:53:20.092320569 +0100 +@@ -0,0 +1,29 @@ ++; Options for devkitPro toolchains. ++ ++; Copyright (C) 2011-2018 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 the GCC internals manual (options.texi) for a description of ++; this file's format. ++ ++; Please try to keep this file in ASCII collating order. ++ ++pthread ++Driver ++ ++; This comment is to ensure we retain the blank line above. +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config.gcc gcc-13.1.0-RC2-20230419/gcc/config.gcc +--- gcc-13.1.0-RC2-20230419.orig/gcc/config.gcc 2023-04-19 13:53:45.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config.gcc 2023-04-26 21:53:20.092320569 +0100 +@@ -1412,6 +1412,11 @@ + tm_file="$tm_file newlib-stdint.h" + tmake_file="${tmake_file} arm/t-bpabi" + use_gcc_stdint=wrap ++ tm_file="${tm_file} devkitpro.h" ++ extra_options="${extra_options} devkitpro.opt" ++ case ${enable_threads} in ++ "" | yes | posix) thread_file='posix' ;; ++ esac + ;; + arm*-*-fuchsia*) + tm_file="${tm_file} fuchsia.h arm/fuchsia-elf.h glibc-stdint.h" +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/gcc.cc gcc-13.1.0-RC2-20230419/gcc/gcc.cc +--- gcc-13.1.0-RC2-20230419.orig/gcc/gcc.cc 2023-04-19 13:53:46.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/gcc.cc 2023-04-26 21:53:20.092320569 +0100 +@@ -868,6 +868,11 @@ + #endif + #endif + ++#ifndef LIBGLOSS_SPEC ++# define LIBGLOSS_SPEC "-lsysbase" ++#endif ++ ++ + /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ + #ifndef STARTFILE_SPEC + #define STARTFILE_SPEC \ +@@ -1191,6 +1196,7 @@ + static const char *lib_spec = LIB_SPEC; + static const char *link_gomp_spec = ""; + static const char *libgcc_spec = LIBGCC_SPEC; ++static const char *libgloss_spec = LIBGLOSS_SPEC; + static const char *endfile_spec = ENDFILE_SPEC; + static const char *startfile_spec = STARTFILE_SPEC; + static const char *linker_name_spec = LINKER_NAME; +@@ -1701,6 +1707,7 @@ + INIT_STATIC_SPEC ("lib", &lib_spec), + INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), + INIT_STATIC_SPEC ("libgcc", &libgcc_spec), ++ INIT_STATIC_SPEC ("libgloss", &libgloss_spec), + INIT_STATIC_SPEC ("startfile", &startfile_spec), + INIT_STATIC_SPEC ("cross_compile", &cross_compile), + INIT_STATIC_SPEC ("version", &compiler_version), +diff -NBaur gcc-13.1.0-RC2-20230419.orig/libgcc/config/arm/t-bpabi gcc-13.1.0-RC2-20230419/libgcc/config/arm/t-bpabi +--- gcc-13.1.0-RC2-20230419.orig/libgcc/config/arm/t-bpabi 2023-04-19 13:53:49.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/libgcc/config/arm/t-bpabi 2023-04-26 21:53:20.092320569 +0100 +@@ -17,4 +17,4 @@ + # On ARM, specifying -fnon-call-exceptions will needlessly pull in + # the unwinder in simple programs which use 64-bit division. Omitting + # the option is safe. +-LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions ++LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions +diff -NBaur gcc-13.1.0-RC2-20230419.orig/libgcc/crtstuff.c gcc-13.1.0-RC2-20230419/libgcc/crtstuff.c +--- gcc-13.1.0-RC2-20230419.orig/libgcc/crtstuff.c 2023-04-19 13:53:49.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/libgcc/crtstuff.c 2023-04-26 21:53:20.092320569 +0100 +@@ -326,7 +326,7 @@ + + #ifdef OBJECT_FORMAT_ELF + +-#if DEFAULT_USE_CXA_ATEXIT ++#if 1 /* DEFAULT_USE_CXA_ATEXIT */ + /* Declare the __dso_handle variable. It should have a unique value + in every shared-object; in a main program its value is zero. The + object should in any case be protected. This means the instance +diff -NBaur gcc-13.1.0-RC2-20230419.orig/libgcc/gthr.h gcc-13.1.0-RC2-20230419/libgcc/gthr.h +--- gcc-13.1.0-RC2-20230419.orig/libgcc/gthr.h 2023-04-19 13:53:49.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/libgcc/gthr.h 2023-04-26 21:53:20.092320569 +0100 +@@ -136,7 +136,7 @@ + /* The pe-coff weak support isn't fully compatible to ELF's weak. + For static libraries it might would work, but as we need to deal + with shared versions too, we disable it for mingw-targets. */ +-#ifdef __MINGW32__ ++#ifdef __MINGW32__ || defined(__DEVKITARM__) + #undef GTHREAD_USE_WEAK + #define GTHREAD_USE_WEAK 0 + #endif +diff -NBaur gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.am gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.am +--- gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.am 2023-04-19 13:53:50.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.am 2023-04-26 21:53:20.092320569 +0100 +@@ -1417,6 +1417,7 @@ + -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ + -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ + -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ ++ -e 's/_GLIBCXX___DEVKITARM_GLIBCXX___/__DEVKITARM__/g' \ + -e 's,^#include "\(.*\)",#include ,g' \ + < $< > $@ + +diff -NBaur gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.in gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.in +--- gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.in 2023-04-19 13:53:50.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.in 2023-04-26 21:53:20.092320569 +0100 +@@ -336,6 +336,7 @@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ + python_mod_dir = @python_mod_dir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -1891,6 +1892,7 @@ + -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ + -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ + -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ ++ -e 's/_GLIBCXX___DEVKITARM_GLIBCXX___/__DEVKITARM__/g' \ + -e 's,^#include "\(.*\)",#include ,g' \ + < $< > $@ + diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index a9fc6a0..b948f01 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -66,7 +66,7 @@ then --with-system-zlib \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 60" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 61" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index fb5fa52..117a3b2 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,7 +30,7 @@ done case "$VERSION" in "1" ) - GCC_VER=12.2.0 + GCC_VER=13.1.0-RC2-20230419 BINUTILS_VER=2.40 NEWLIB_VER=4.3.0.20230120 basedir='dkarm-eabi' From 4defc0f22b557eecbeed2f788efec11207a9fd6d Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 29 Apr 2023 09:49:02 +0100 Subject: [PATCH 219/280] devkitARM: update gcc to 13.1.0 --- dkarm-eabi/patches/gcc-13.1.0.patch | 354 ++++++++++++++++++++++++++++ select_toolchain.sh | 2 +- 2 files changed, 355 insertions(+), 1 deletion(-) create mode 100644 dkarm-eabi/patches/gcc-13.1.0.patch diff --git a/dkarm-eabi/patches/gcc-13.1.0.patch b/dkarm-eabi/patches/gcc-13.1.0.patch new file mode 100644 index 0000000..5c64e29 --- /dev/null +++ b/dkarm-eabi/patches/gcc-13.1.0.patch @@ -0,0 +1,354 @@ +diff --git a/gcc/config.gcc b/gcc/config.gcc +index 6fd1594480a..92b82426f50 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -1412,6 +1412,11 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems* | arm*-*-fuchsia*) + tm_file="$tm_file newlib-stdint.h" + tmake_file="${tmake_file} arm/t-bpabi" + use_gcc_stdint=wrap ++ tm_file="${tm_file} devkitpro.h" ++ extra_options="${extra_options} devkitpro.opt" ++ case ${enable_threads} in ++ "" | yes | posix) thread_file='posix' ;; ++ esac + ;; + arm*-*-fuchsia*) + tm_file="${tm_file} fuchsia.h arm/fuchsia-elf.h glibc-stdint.h" +diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in +index f1fa3fa174c..2bb894b5b2d 100644 +--- a/gcc/config/arm/arm-cpus.in ++++ b/gcc/config/arm/arm-cpus.in +@@ -416,7 +416,7 @@ begin arch armv6k + tune for mpcore + tune flags CO_PROC + base 6K +- isa ARMv6k ++ isa ARMv6k VFPv2 FP_DBL + option fp add VFPv2 FP_DBL + optalias vfpv2 fp + option nofp remove ALL_FP +diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf +index f7fc1460d1c..055f9d62385 100644 +--- a/gcc/config/arm/t-arm-elf ++++ b/gcc/config/arm/t-arm-elf +@@ -16,120 +16,22 @@ + # along with GCC; see the file COPYING3. If not see + # . + +-# Build a very basic set of libraries that should cater for most cases. +- +-# Single-precision floating-point is NOT supported; we don't build a +-# suitable library for that. Use the rm-profile config in that case. +- +-# PART 1 - Useful groups of options +- +-dp_fpus := vfp vfpv2 vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16 \ +- neon neon-vfpv3 neon-fp16 vfpv4 neon-vfpv4 vfpv4-d16 \ +- fpv5-d16 fp-armv8 neon-fp-armv8 crypto-neon-fp-armv8 \ +- vfp3 +- +-sp_fpus := vfpv3xd vfpv3xd-fp16 fpv4-sp-d16 fpv5-sp-d16 +- +-v7a_fps := vfpv3 vfpv3-fp16 vfpv4 simd neon-fp16 neon-vfpv4 +-v7ve_fps := vfpv3-d16 vfpv3 vfpv3-d16-fp16 vfpv3-fp16 vfpv4 neon \ +- neon-fp16 simd +- +-# Not all these permutations exist for all architecture variants, but +-# it seems to work ok. +-v8_fps := simd fp16 crypto fp16+crypto dotprod fp16fml +- +-v9_fps := simd fp16 crypto fp16+crypto dotprod fp16fml +- +-# We don't do anything special with these. Pre-v4t probably doesn't work. +-all_early_nofp := armv4 armv4t armv5t +- +-all_early_arch := armv5tej armv6 armv6j armv6k armv6z armv6kz \ +- armv6zk armv6t2 iwmmxt iwmmxt2 +- +-all_v7_a_r := armv7-a armv7ve armv7-r +- +-all_v8_archs := armv8-a armv8-a+crc armv8.1-a armv8.2-a armv8.3-a armv8.4-a \ +- armv8.5-a armv8.6-a +- +-all_v9_archs := armv9-a +- +-# No floating point variants, require thumb1 softfp +-all_nofp_t := armv6-m armv6s-m armv8-m.base +- +-all_nofp_t2 := armv7-m +- +-all_sp_only := armv7e-m armv8-m.main +- +-MULTILIB_OPTIONS = +-MULTILIB_DIRNAMES = ++MULTILIB_OPTIONS = mthumb mbig-endian march=armv6k march=armv6s-m mfloat-abi=hard mfloat-abi=soft ++MULTILIB_DIRNAMES = thumb be armv6k v6-m fpu nofp + MULTILIB_EXCEPTIONS = + MULTILIB_MATCHES = +-MULTILIB_REUSE = +- +-# PART 2 - multilib build rules +- +-MULTILIB_OPTIONS += marm/mthumb +-MULTILIB_DIRNAMES += arm thumb +- +-MULTILIB_OPTIONS += mfpu=auto +-MULTILIB_DIRNAMES += autofp +- +-MULTILIB_OPTIONS += march=armv5te+fp/march=armv7+fp +-MULTILIB_DIRNAMES += v5te v7 +- +-MULTILIB_OPTIONS += mfloat-abi=hard +-MULTILIB_DIRNAMES += fpu +- +-# Build a total of 4 library variants (base options plus the following): +-MULTILIB_REQUIRED += mthumb +-MULTILIB_REQUIRED += marm/mfpu=auto/march=armv5te+fp/mfloat-abi=hard +-MULTILIB_REQUIRED += mthumb/mfpu=auto/march=armv7+fp/mfloat-abi=hard +- +-# PART 3 - Match rules +- +-# Map all supported FPUs onto mfpu=auto +-MULTILIB_MATCHES += $(foreach FPU, $(dp_fpus), \ +- mfpu?auto=mfpu?$(FPU)) +- +-MULTILIB_MATCHES += march?armv5te+fp=march?armv5te +- +-MULTILIB_MATCHES += $(foreach ARCH, $(all_early_arch), \ +- march?armv5te+fp=march?$(ARCH) \ +- march?armv5te+fp=march?$(ARCH)+fp) +- +-MULTILIB_MATCHES += march?armv7+fp=march?armv7 +- +-MULTILIB_MATCHES += $(foreach FPARCH, $(v7a_fps), \ +- march?armv7+fp=march?armv7-a+$(FPARCH)) +- +-MULTILIB_MATCHES += $(foreach FPARCH, $(v7ve_fps), \ +- march?armv7+fp=march?armv7ve+$(FPARCH)) +- +-MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \ +- march?armv7+fp=march?$(ARCH) \ +- march?armv7+fp=march?$(ARCH)+fp) + +-MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \ +- march?armv7+fp=march?$(ARCH) \ +- $(foreach FPARCH, $(v8_fps), \ +- march?armv7+fp=march?$(ARCH)+$(FPARCH))) ++MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard mthumb/march=armv6s-m/mfloat-abi=soft + +-MULTILIB_MATCHES += $(foreach ARCH, $(all_v9_archs), \ +- march?armv7+fp=march?$(ARCH) \ +- $(foreach FPARCH, $(v9_fps), \ +- march?armv7+fp=march?$(ARCH)+$(FPARCH))) + +-MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \ +- march?armv7+fp=march?$(ARCH)+fp.dp) ++MULTILIB_MATCHES += march?armv6k=mtune?mpcore ++MULTILIB_MATCHES += march?armv6k=mcpu?mpcore + +-# PART 4 - Reuse rules ++MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m0 ++MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m0 ++MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m0plus ++MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m0plus ++MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m1 ++MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m1 + +-MULTILIB_REUSE += mthumb=mthumb/mfpu.auto +-MULTILIB_REUSE += mthumb=mthumb/mfpu.auto/march.armv5te+fp +-MULTILIB_REUSE += mthumb=mthumb/march.armv5te+fp +-MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=marm/march.armv5te+fp/mfloat-abi.hard +-MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=march.armv5te+fp/mfloat-abi.hard +-MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=mfpu.auto/march.armv5te+fp/mfloat-abi.hard +-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard +-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard +-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard ++MULTILIB_REUSE = mthumb/march.armv6s-m/mfloat-abi.soft=mthumb/march.armv6s-m +diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h +index 397ac3f68b9..b9a388f19be 100644 +--- a/gcc/config/arm/unknown-elf.h ++++ b/gcc/config/arm/unknown-elf.h +@@ -29,7 +29,7 @@ + #endif + + /* Now we define the strings used to build the spec file. */ +-#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" ++#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s" + + #undef STARTFILE_SPEC + #define STARTFILE_SPEC \ +@@ -93,4 +93,5 @@ + udivmoddi4, which will depend on the exception unwind routines, + which will depend on abort, which is defined in libc. */ + #undef LINK_GCC_C_SEQUENCE_SPEC +-#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %{!nolibc:%L} --end-group" ++#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" ++ +diff --git a/gcc/config/devkitpro.h b/gcc/config/devkitpro.h +new file mode 100644 +index 00000000000..180a9ea8553 +--- /dev/null ++++ b/gcc/config/devkitpro.h +@@ -0,0 +1,27 @@ ++/* Definitions for devkitPro toolchains. ++ Copyright (C) 2016-2018 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. ++ 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 ++ . */ ++ ++#undef TARGET_OS_CPP_BUILTINS ++#define TARGET_OS_CPP_BUILTINS() \ ++ do { \ ++ builtin_define ("__DEVKITPRO__"); \ ++ builtin_define ("__DEVKITARM__"); \ ++ } while (0) ++ ++ +diff --git a/gcc/config/devkitpro.opt b/gcc/config/devkitpro.opt +new file mode 100644 +index 00000000000..9acbbf9d27c +--- /dev/null ++++ b/gcc/config/devkitpro.opt +@@ -0,0 +1,29 @@ ++; Options for devkitPro toolchains. ++ ++; Copyright (C) 2011-2018 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 the GCC internals manual (options.texi) for a description of ++; this file's format. ++ ++; Please try to keep this file in ASCII collating order. ++ ++pthread ++Driver ++ ++; This comment is to ensure we retain the blank line above. +diff --git a/gcc/gcc.cc b/gcc/gcc.cc +index 16bb07f2cdc..22a181a3a1c 100644 +--- a/gcc/gcc.cc ++++ b/gcc/gcc.cc +@@ -868,6 +868,11 @@ proper position among the other output files. */ + #endif + #endif + ++#ifndef LIBGLOSS_SPEC ++# define LIBGLOSS_SPEC "-lsysbase" ++#endif ++ ++ + /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ + #ifndef STARTFILE_SPEC + #define STARTFILE_SPEC \ +@@ -1191,6 +1196,7 @@ static const char *link_spec = LINK_SPEC; + static const char *lib_spec = LIB_SPEC; + static const char *link_gomp_spec = ""; + static const char *libgcc_spec = LIBGCC_SPEC; ++static const char *libgloss_spec = LIBGLOSS_SPEC; + static const char *endfile_spec = ENDFILE_SPEC; + static const char *startfile_spec = STARTFILE_SPEC; + static const char *linker_name_spec = LINKER_NAME; +@@ -1701,6 +1707,7 @@ static struct spec_list static_specs[] = + INIT_STATIC_SPEC ("lib", &lib_spec), + INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), + INIT_STATIC_SPEC ("libgcc", &libgcc_spec), ++ INIT_STATIC_SPEC ("libgloss", &libgloss_spec), + INIT_STATIC_SPEC ("startfile", &startfile_spec), + INIT_STATIC_SPEC ("cross_compile", &cross_compile), + INIT_STATIC_SPEC ("version", &compiler_version), +diff --git a/libgcc/config/arm/t-bpabi b/libgcc/config/arm/t-bpabi +index dddddc7c444..c2502597953 100644 +--- a/libgcc/config/arm/t-bpabi ++++ b/libgcc/config/arm/t-bpabi +@@ -17,4 +17,4 @@ SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver + # On ARM, specifying -fnon-call-exceptions will needlessly pull in + # the unwinder in simple programs which use 64-bit division. Omitting + # the option is safe. +-LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions ++LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions +diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c +index 93ff5b81dc5..20c0fe89a28 100644 +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -326,7 +326,7 @@ register_tm_clones (void) + + #ifdef OBJECT_FORMAT_ELF + +-#if DEFAULT_USE_CXA_ATEXIT ++#if 1 /* DEFAULT_USE_CXA_ATEXIT */ + /* Declare the __dso_handle variable. It should have a unique value + in every shared-object; in a main program its value is zero. The + object should in any case be protected. This means the instance +diff --git a/libgcc/gthr.h b/libgcc/gthr.h +index 1989c0c86ed..dc3220cdf3c 100644 +--- a/libgcc/gthr.h ++++ b/libgcc/gthr.h +@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + /* The pe-coff weak support isn't fully compatible to ELF's weak. + For static libraries it might would work, but as we need to deal + with shared versions too, we disable it for mingw-targets. */ +-#ifdef __MINGW32__ ++#ifdef __MINGW32__ || defined(__DEVKITARM__) + #undef GTHREAD_USE_WEAK + #define GTHREAD_USE_WEAK 0 + #endif +diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am +index a880e8ee227..2050e2e4ccf 100644 +--- a/libstdc++-v3/include/Makefile.am ++++ b/libstdc++-v3/include/Makefile.am +@@ -1417,6 +1417,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} + -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ + -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ + -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ ++ -e 's/_GLIBCXX___DEVKITARM_GLIBCXX___/__DEVKITARM__/g' \ + -e 's,^#include "\(.*\)",#include ,g' \ + < $< > $@ + +diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in +index 0ff875b280b..7d270fc3a83 100644 +--- a/libstdc++-v3/include/Makefile.in ++++ b/libstdc++-v3/include/Makefile.in +@@ -336,6 +336,7 @@ prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ + python_mod_dir = @python_mod_dir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -1891,6 +1892,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} + -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ + -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ + -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ ++ -e 's/_GLIBCXX___DEVKITARM_GLIBCXX___/__DEVKITARM__/g' \ + -e 's,^#include "\(.*\)",#include ,g' \ + < $< > $@ + diff --git a/select_toolchain.sh b/select_toolchain.sh index 117a3b2..00649e2 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,7 +30,7 @@ done case "$VERSION" in "1" ) - GCC_VER=13.1.0-RC2-20230419 + GCC_VER=13.1.0 BINUTILS_VER=2.40 NEWLIB_VER=4.3.0.20230120 basedir='dkarm-eabi' From c8273a108285fc533df7a3e36b71116517a359d3 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 29 Apr 2023 09:52:20 +0100 Subject: [PATCH 220/280] devkitARM: newlib add symlink support --- .../patches/newlib-4.3.0.20230120.patch | 819 +++++++++++++----- 1 file changed, 584 insertions(+), 235 deletions(-) diff --git a/dkarm-eabi/patches/newlib-4.3.0.20230120.patch b/dkarm-eabi/patches/newlib-4.3.0.20230120.patch index 89a17a1..dd06ef2 100644 --- a/dkarm-eabi/patches/newlib-4.3.0.20230120.patch +++ b/dkarm-eabi/patches/newlib-4.3.0.20230120.patch @@ -13,7 +13,7 @@ index 4309cd3a4..fad31dbe0 100644 include lm32/Makefile.inc endif diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in -index a117577ea..fcbffa306 100644 +index a117577ea..44731970d 100644 --- a/libgloss/Makefile.in +++ b/libgloss/Makefile.in @@ -173,23 +173,26 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) @@ -60,7 +60,7 @@ index a117577ea..fcbffa306 100644 $(top_srcdir)/m68k/acinclude.m4 \ $(top_srcdir)/mcore/acinclude.m4 \ $(top_srcdir)/mips/acinclude.m4 \ -@@ -421,6 +425,64 @@ libobjs_a_LIBADD = +@@ -421,6 +425,69 @@ libobjs_a_LIBADD = am_libobjs_a_OBJECTS = $(am__objects_3) $(am__objects_4) \ $(am__objects_5) $(am__objects_6) libobjs_a_OBJECTS = $(am_libobjs_a_OBJECTS) @@ -78,6 +78,7 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-concatenate.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ @@ -85,6 +86,7 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fpathconf.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT) \ @@ -105,6 +107,8 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-readlink.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT) \ @@ -112,6 +116,7 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-symlink.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT) \ @@ -125,7 +130,7 @@ index a117577ea..fcbffa306 100644 lm32_libgloss_a_AR = $(AR) $(ARFLAGS) lm32_libgloss_a_LIBADD = @CONFIG_LM32_TRUE@am_lm32_libgloss_a_OBJECTS = lm32/isatty.$(OBJEXT) \ -@@ -572,7 +634,8 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ +@@ -572,7 +639,8 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ $(bfin_libbfinbsp_a_SOURCES) $(bfin_libsim_a_SOURCES) \ $(csky_libsemi_a_SOURCES) $(d30v_libsim_a_SOURCES) \ $(iq2000_libeval_a_SOURCES) $(libnosys_libnosys_a_SOURCES) \ @@ -135,7 +140,7 @@ index a117577ea..fcbffa306 100644 $(nios2_libnios2_a_SOURCES) $(riscv_libgloss_a_SOURCES) \ $(riscv_libsemihost_a_SOURCES) bfin/sim-test.c iq2000/test.c \ $(wince_stub_exe_SOURCES) -@@ -662,7 +725,7 @@ ETAGS = etags +@@ -662,7 +730,7 @@ ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) @@ -144,7 +149,7 @@ index a117577ea..fcbffa306 100644 AARCH64_OBJTYPE = @AARCH64_OBJTYPE@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ -@@ -772,6 +835,7 @@ pdfdir = @pdfdir@ +@@ -772,6 +840,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ @@ -152,7 +157,7 @@ index a117577ea..fcbffa306 100644 sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -@@ -797,12 +861,13 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) +@@ -797,12 +866,13 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) multilibtool_DATA = $(am__append_3) $(am__append_6) $(am__append_7) \ $(am__append_8) $(am__append_13) $(am__append_15) \ $(am__append_18) $(am__append_22) $(am__append_23) \ @@ -169,7 +174,7 @@ index a117577ea..fcbffa306 100644 includetooldir = $(tooldir)/include includetool_DATA = $(am__append_16) includesystooldir = $(tooldir)/include/sys -@@ -813,7 +878,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include +@@ -813,7 +883,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include # to install (e.g. our crt0.o objects). noinst_LIBRARIES = libobjs.a libobjs_a_SOURCES = $(am__append_14) $(am__append_19) $(am__append_25) \ @@ -178,7 +183,7 @@ index a117577ea..fcbffa306 100644 FLAGS_TO_PASS = \ "CC=$(CC)" \ "CFLAGS=$(CFLAGS)" \ -@@ -992,6 +1057,60 @@ TEXINFO_TEX = ../texinfo/texinfo.tex +@@ -992,6 +1062,65 @@ TEXINFO_TEX = ../texinfo/texinfo.tex @CONFIG_LIBNOSYS_TRUE@ libnosys/write.c \ @CONFIG_LIBNOSYS_TRUE@ libnosys/_exit.c @@ -193,6 +198,7 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chdir.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chmod.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/clocks.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/concatenate.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dirent.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ @@ -200,6 +206,7 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/flock.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fnmatch.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fpathconf.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fsync.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/ftruncate.c \ @@ -220,6 +227,8 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/readlink.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/realpath.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sbrk.c \ @@ -227,6 +236,7 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sleep.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/stat.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/statvfs.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/symlink.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/syscall_support.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/times.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/truncate.c \ @@ -239,7 +249,7 @@ index a117577ea..fcbffa306 100644 @CONFIG_LM32_TRUE@lm32_libgloss_a_SOURCES = \ @CONFIG_LM32_TRUE@ lm32/isatty.c \ @CONFIG_LM32_TRUE@ lm32/scall.S -@@ -1099,7 +1218,7 @@ all: config.h +@@ -1099,7 +1228,7 @@ all: config.h .SUFFIXES: .S .c .dvi .o .obj .ps am--refresh: Makefile @: @@ -248,7 +258,7 @@ index a117577ea..fcbffa306 100644 @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ -@@ -1121,7 +1240,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +@@ -1121,7 +1250,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; @@ -257,7 +267,7 @@ index a117577ea..fcbffa306 100644 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -@@ -1585,6 +1704,168 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE +@@ -1585,6 +1714,183 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE $(AM_V_at)-rm -f libobjs.a $(AM_V_AR)$(libobjs_a_AR) libobjs.a $(libobjs_a_OBJECTS) $(libobjs_a_LIBADD) $(AM_V_at)$(RANLIB) libobjs.a @@ -292,6 +302,9 @@ index a117577ea..fcbffa306 100644 +libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-concatenate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) +libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) @@ -313,6 +326,9 @@ index a117577ea..fcbffa306 100644 +libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fpathconf.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) +libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) @@ -373,6 +389,12 @@ index a117577ea..fcbffa306 100644 +libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-readlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) +libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) @@ -394,6 +416,9 @@ index a117577ea..fcbffa306 100644 +libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-symlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) +libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) @@ -426,7 +451,7 @@ index a117577ea..fcbffa306 100644 lm32/isatty.$(OBJEXT): lm32/$(am__dirstamp) \ lm32/$(DEPDIR)/$(am__dirstamp) lm32/scall.$(OBJEXT): lm32/$(am__dirstamp) \ -@@ -1852,6 +2133,7 @@ mostlyclean-compile: +@@ -1852,6 +2158,7 @@ mostlyclean-compile: -rm -f d30v/*.$(OBJEXT) -rm -f iq2000/*.$(OBJEXT) -rm -f libnosys/*.$(OBJEXT) @@ -434,7 +459,7 @@ index a117577ea..fcbffa306 100644 -rm -f lm32/*.$(OBJEXT) -rm -f nios2/*.$(OBJEXT) -rm -f riscv/*.$(OBJEXT) -@@ -1973,6 +2255,55 @@ distclean-compile: +@@ -1973,6 +2280,60 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/unlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/wait.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/write.Po@am__quote@ @@ -445,6 +470,7 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ @@ -452,6 +478,7 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po@am__quote@ @@ -472,6 +499,8 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po@am__quote@ @@ -479,6 +508,7 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po@am__quote@ @@ -490,7 +520,7 @@ index a117577ea..fcbffa306 100644 @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/crt0.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/isatty.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/scall.Po@am__quote@ -@@ -2717,6 +3048,678 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c +@@ -2717,6 +3078,748 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csky_libsemi_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o csky/csky_libsemi_a-getpid.obj `if test -f 'csky/getpid.c'; then $(CYGPATH_W) 'csky/getpid.c'; else $(CYGPATH_W) '$(srcdir)/csky/getpid.c'; fi` @@ -578,6 +608,20 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-concatenate.o: libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-concatenate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-concatenate.o `test -f 'libsysbase/concatenate.c' || echo '$(srcdir)/'`libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/concatenate.c' object='libsysbase/libsysbase_libsysbase_a-concatenate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-concatenate.o `test -f 'libsysbase/concatenate.c' || echo '$(srcdir)/'`libsysbase/concatenate.c ++ ++libsysbase/libsysbase_libsysbase_a-concatenate.obj: libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-concatenate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-concatenate.obj `if test -f 'libsysbase/concatenate.c'; then $(CYGPATH_W) 'libsysbase/concatenate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/concatenate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/concatenate.c' object='libsysbase/libsysbase_libsysbase_a-concatenate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-concatenate.obj `if test -f 'libsysbase/concatenate.c'; then $(CYGPATH_W) 'libsysbase/concatenate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/concatenate.c'; fi` ++ +libsysbase/libsysbase_libsysbase_a-dirent.o: libsysbase/dirent.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po @@ -676,6 +720,20 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-fpathconf.o: libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fpathconf.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.o `test -f 'libsysbase/fpathconf.c' || echo '$(srcdir)/'`libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fpathconf.c' object='libsysbase/libsysbase_libsysbase_a-fpathconf.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.o `test -f 'libsysbase/fpathconf.c' || echo '$(srcdir)/'`libsysbase/fpathconf.c ++ ++libsysbase/libsysbase_libsysbase_a-fpathconf.obj: libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fpathconf.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.obj `if test -f 'libsysbase/fpathconf.c'; then $(CYGPATH_W) 'libsysbase/fpathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fpathconf.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fpathconf.c' object='libsysbase/libsysbase_libsysbase_a-fpathconf.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.obj `if test -f 'libsysbase/fpathconf.c'; then $(CYGPATH_W) 'libsysbase/fpathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fpathconf.c'; fi` ++ +libsysbase/libsysbase_libsysbase_a-fstat.o: libsysbase/fstat.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po @@ -956,6 +1014,34 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-readlink.o: libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-readlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-readlink.o `test -f 'libsysbase/readlink.c' || echo '$(srcdir)/'`libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/readlink.c' object='libsysbase/libsysbase_libsysbase_a-readlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-readlink.o `test -f 'libsysbase/readlink.c' || echo '$(srcdir)/'`libsysbase/readlink.c ++ ++libsysbase/libsysbase_libsysbase_a-readlink.obj: libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-readlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-readlink.obj `if test -f 'libsysbase/readlink.c'; then $(CYGPATH_W) 'libsysbase/readlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/readlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/readlink.c' object='libsysbase/libsysbase_libsysbase_a-readlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-readlink.obj `if test -f 'libsysbase/readlink.c'; then $(CYGPATH_W) 'libsysbase/readlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/readlink.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-realpath.o: libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/realpath.c' object='libsysbase/libsysbase_libsysbase_a-realpath.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c ++ ++libsysbase/libsysbase_libsysbase_a-realpath.obj: libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.obj `if test -f 'libsysbase/realpath.c'; then $(CYGPATH_W) 'libsysbase/realpath.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/realpath.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/realpath.c' object='libsysbase/libsysbase_libsysbase_a-realpath.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-realpath.obj `if test -f 'libsysbase/realpath.c'; then $(CYGPATH_W) 'libsysbase/realpath.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/realpath.c'; fi` ++ +libsysbase/libsysbase_libsysbase_a-rename.o: libsysbase/rename.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po @@ -1054,6 +1140,20 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-symlink.o: libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-symlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-symlink.o `test -f 'libsysbase/symlink.c' || echo '$(srcdir)/'`libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/symlink.c' object='libsysbase/libsysbase_libsysbase_a-symlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-symlink.o `test -f 'libsysbase/symlink.c' || echo '$(srcdir)/'`libsysbase/symlink.c ++ ++libsysbase/libsysbase_libsysbase_a-symlink.obj: libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-symlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-symlink.obj `if test -f 'libsysbase/symlink.c'; then $(CYGPATH_W) 'libsysbase/symlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/symlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/symlink.c' object='libsysbase/libsysbase_libsysbase_a-symlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-symlink.obj `if test -f 'libsysbase/symlink.c'; then $(CYGPATH_W) 'libsysbase/symlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/symlink.c'; fi` ++ +libsysbase/libsysbase_libsysbase_a-syscall_support.o: libsysbase/syscall_support.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po @@ -1169,7 +1269,7 @@ index a117577ea..fcbffa306 100644 nios2/nios2_libnios2_a-io-close.o: nios2/io-close.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(nios2_libnios2_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nios2/nios2_libnios2_a-io-close.o -MD -MP -MF nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo -c -o nios2/nios2_libnios2_a-io-close.o `test -f 'nios2/io-close.c' || echo '$(srcdir)/'`nios2/io-close.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Po -@@ -4220,6 +5223,8 @@ distclean-generic: +@@ -4220,6 +5323,8 @@ distclean-generic: -rm -f iq2000/$(am__dirstamp) -rm -f libnosys/$(DEPDIR)/$(am__dirstamp) -rm -f libnosys/$(am__dirstamp) @@ -1178,7 +1278,7 @@ index a117577ea..fcbffa306 100644 -rm -f lm32/$(DEPDIR)/$(am__dirstamp) -rm -f lm32/$(am__dirstamp) -rm -f nios2/$(DEPDIR)/$(am__dirstamp) -@@ -4239,7 +5244,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ +@@ -4239,7 +5344,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) @@ -1187,7 +1287,7 @@ index a117577ea..fcbffa306 100644 -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-local distclean-tags -@@ -4382,7 +5387,7 @@ installcheck-am: +@@ -4382,7 +5487,7 @@ installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache @@ -1362,10 +1462,10 @@ index 5fb26845c..cf07fb118 100644 m4_include([mips/acinclude.m4]) diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc new file mode 100644 -index 000000000..7d4398d6a +index 000000000..123a1dedf --- /dev/null +++ b/libgloss/libsysbase/Makefile.inc -@@ -0,0 +1,61 @@ +@@ -0,0 +1,66 @@ +multilibtool_DATA += %D%/sysbase.specs + +multilibtool_LIBRARIES += %D%/libpthread.a @@ -1385,6 +1485,7 @@ index 000000000..7d4398d6a + %D%/chdir.c \ + %D%/chmod.c \ + %D%/clocks.c \ ++ %D%/concatenate.c \ + %D%/dirent.c \ + %D%/environ.c \ + %D%/execve.c \ @@ -1392,6 +1493,7 @@ index 000000000..7d4398d6a + %D%/flock.c \ + %D%/fnmatch.c \ + %D%/fork.c \ ++ %D%/fpathconf.c \ + %D%/fstat.c \ + %D%/fsync.c \ + %D%/ftruncate.c \ @@ -1412,6 +1514,8 @@ index 000000000..7d4398d6a + %D%/open.c \ + %D%/pathconf.c \ + %D%/read.c \ ++ %D%/readlink.c \ ++ %D%/realpath.c \ + %D%/rename.c \ + %D%/rmdir.c \ + %D%/sbrk.c \ @@ -1419,6 +1523,7 @@ index 000000000..7d4398d6a + %D%/sleep.c \ + %D%/stat.c \ + %D%/statvfs.c \ ++ %D%/symlink.c \ + %D%/syscall_support.c \ + %D%/times.c \ + %D%/truncate.c \ @@ -1571,117 +1676,22 @@ index 000000000..0697f53d2 +} diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c new file mode 100644 -index 000000000..b94f6a8b4 +index 000000000..922124b65 --- /dev/null +++ b/libgloss/libsysbase/chdir.c -@@ -0,0 +1,200 @@ +@@ -0,0 +1,105 @@ +#include +#include -+#include -+#include -+#include +#include +#include +#include + ++#include "concatenate.h" ++ +/* CWD always start with "/" */ +static char _current_working_directory [PATH_MAX] = "/"; +static char temp_cwd [PATH_MAX]; + -+#define DIRECTORY_SEPARATOR_CHAR '/' -+const char DIRECTORY_SEPARATOR[] = "/"; -+const char DIRECTORY_THIS[] = "."; -+const char DIRECTORY_PARENT[] = ".."; -+ -+int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { -+ char *pathEnd; -+ int pathLength; -+ const char *extraEnd; -+ int extraSize; -+ -+ pathLength = strnlen (path, maxLength); -+ -+ /* assumes path ends in a directory separator */ -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ pathEnd = path + pathLength; -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd += 1; -+ } -+ -+ extraEnd = extra; -+ -+ /* If the extra bit starts with a slash, start at root */ -+ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; -+ pathEnd[0] = '\0'; -+ } -+ do { -+ /* Advance past any separators in extra */ -+ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ extra += 1; -+ } -+ -+ /* Grab the next directory name from extra */ -+ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); -+ if (extraEnd == NULL) { -+ extraEnd = strrchr (extra, '\0'); -+ } else { -+ extraEnd += 1; -+ } -+ -+ extraSize = (extraEnd - extra); -+ if (extraSize == 0) { -+ break; -+ } -+ -+ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) -+ { -+ /* Don't copy anything */ -+ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) -+ { -+ /* Go up one level of in the path */ -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { -+ // Remove trailing separator -+ pathEnd[-1] = '\0'; -+ } -+ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); -+ if (pathEnd == NULL) { -+ /* Can't go up any higher, return false */ -+ r->_errno = ENOENT; -+ return -1; -+ } -+ pathLength = pathEnd - path; -+ pathEnd += 1; -+ } else { -+ pathLength += extraSize; -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ /* Copy the next part over */ -+ strncpy (pathEnd, extra, extraSize); -+ pathEnd += extraSize; -+ } -+ pathEnd[0] = '\0'; -+ extra += extraSize; -+ } while (extraSize != 0); -+ -+ if (strlen(path) > 2 ) { -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') -+ pathEnd[-1] = '\0'; -+ } -+ -+ return 0; -+} -+ +int chdir (const char *path) { + struct _reent *r = _REENT; + @@ -1850,6 +1860,120 @@ index 000000000..b36b5c079 + } +} + +diff --git a/libgloss/libsysbase/concatenate.c b/libgloss/libsysbase/concatenate.c +new file mode 100644 +index 000000000..e1da5a403 +--- /dev/null ++++ b/libgloss/libsysbase/concatenate.c +@@ -0,0 +1,91 @@ ++#include "concatenate.h" ++ ++ ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; ++ ++ pathLength = strnlen (path, maxLength); ++ ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathLength != 0 && pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } ++ ++ extraEnd = extra; ++ ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } ++ ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } ++ ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } ++ ++ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) ++ { ++ /* Don't copy anything */ ++ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) ++ { ++ /* Go up one level of in the path */ ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { ++ // Remove trailing separator ++ pathEnd[-1] = '\0'; ++ } ++ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); ++ if (pathEnd == NULL) { ++ /* Can't go up any higher, return false */ ++ r->_errno = ENOENT; ++ return -1; ++ } ++ pathLength = pathEnd - path; ++ pathEnd += 1; ++ } else { ++ pathLength += extraSize; ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ /* Copy the next part over */ ++ strncpy (pathEnd, extra, extraSize); ++ pathEnd += extraSize; ++ } ++ pathEnd[0] = '\0'; ++ extra += extraSize; ++ } while (extraSize != 0); ++ ++ if (strlen(path) > 2 ) { ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') ++ pathEnd[-1] = '\0'; ++ } ++ ++ return 0; ++} +\ No newline at end of file +diff --git a/libgloss/libsysbase/concatenate.h b/libgloss/libsysbase/concatenate.h +new file mode 100644 +index 000000000..e3b9e7d99 +--- /dev/null ++++ b/libgloss/libsysbase/concatenate.h +@@ -0,0 +1,10 @@ ++#include ++#include ++#include ++ ++#define DIRECTORY_SEPARATOR_CHAR '/' ++#define DIRECTORY_SEPARATOR "/" ++#define DIRECTORY_THIS "." ++#define DIRECTORY_PARENT ".." ++ ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength); diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in new file mode 100644 index 000000000..48ce950b4 @@ -6259,10 +6383,10 @@ index 000000000..d15eab89d + diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c new file mode 100644 -index 000000000..bed699102 +index 000000000..482d2f814 --- /dev/null +++ b/libgloss/libsysbase/dirent.c -@@ -0,0 +1,255 @@ +@@ -0,0 +1,257 @@ +#include +#include +#include @@ -6382,6 +6506,7 @@ index 000000000..bed699102 + + dirp->position = 0; // 0th position means no file name has been returned yet + dirp->fileData.d_ino = -1; ++ dirp->fileData.d_type = DT_UNKNOWN; + dirp->fileData.d_name[0] = '\0'; + + return dirp; @@ -6404,7 +6529,7 @@ index 000000000..bed699102 + +struct dirent* readdir (DIR *dirp) { + struct stat st; -+ char filename[NAME_MAX]; ++ char filename[NAME_MAX+1]; + int res; + int olderrno = errno; + @@ -6427,7 +6552,7 @@ index 000000000..bed699102 + // We've moved forward in the directory + dirp->position += 1; + -+ if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { ++ if (strnlen(filename, sizeof(filename)) >= sizeof(dirp->fileData.d_name)) { + errno = EOVERFLOW; + return NULL; + } @@ -6442,7 +6567,7 @@ index 000000000..bed699102 + +int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { + struct stat st; -+ char filename[NAME_MAX]; ++ char filename[NAME_MAX+1]; + int res; + + if (!dirp) { @@ -6465,13 +6590,14 @@ index 000000000..bed699102 + // We've moved forward in the directory + dirp->position += 1; + -+ if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { ++ if (strnlen(filename, sizeof(filename)) >= sizeof(entry->d_name)) { + errno = EOVERFLOW; + return EOVERFLOW; + } + + strncpy (entry->d_name, filename, sizeof(entry->d_name)); + entry->d_ino = st.st_ino; ++ entry->d_type = IFTODT(st.st_mode); + + *result = entry; + return 0; @@ -6489,7 +6615,7 @@ index 000000000..bed699102 + + +void seekdir(DIR *dirp, long int loc) { -+ char filename[NAME_MAX]; ++ char filename[NAME_MAX+1]; + + if (!dirp || loc < 0) { + return; @@ -6848,6 +6974,42 @@ index 000000000..2bada9736 + r->_errno = ENOSYS; + return -1; +} +diff --git a/libgloss/libsysbase/fpathconf.c b/libgloss/libsysbase/fpathconf.c +new file mode 100644 +index 000000000..453f64870 +--- /dev/null ++++ b/libgloss/libsysbase/fpathconf.c +@@ -0,0 +1,30 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++long fpathconf(int fd, int name) ++{ ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = __get_handle(fd); ++ struct _reent *r = _REENT; ++ ++ if ( NULL == handle ) { ++ errno = EINVAL; ++ return ret; ++ } ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fpathconf_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fpathconf_r(r, handle->fileStruct, name); ++ } else ++ r->_errno=ENOSYS; ++ ++ return ret; ++} diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c new file mode 100644 index 000000000..32267b828 @@ -7280,10 +7442,10 @@ index 000000000..5e81c5d42 +#endif diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c new file mode 100644 -index 000000000..948c6ef93 +index 000000000..71224902f --- /dev/null +++ b/libgloss/libsysbase/iosupport.c -@@ -0,0 +1,140 @@ +@@ -0,0 +1,138 @@ +#include +#include +#include @@ -7422,8 +7584,6 @@ index 000000000..948c6ef93 + return NULL; + } +} -+ -+ diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c new file mode 100644 index 000000000..2901f1474 @@ -7681,62 +7841,30 @@ index 000000000..ca17db8bf +} diff --git a/libgloss/libsysbase/pathconf.c b/libgloss/libsysbase/pathconf.c new file mode 100644 -index 000000000..f2b9e9dbf +index 000000000..a696c9ab9 --- /dev/null +++ b/libgloss/libsysbase/pathconf.c -@@ -0,0 +1,53 @@ +@@ -0,0 +1,21 @@ +#include +#include +#include +#include ++#include ++#include + -+long pathconf(const char *path, int name) { -+ return fpathconf(-1, name); -+} -+ -+long fpathconf(int fd, int name) ++long pathconf(const char *path, int name) +{ ++ int ret = -1; ++ unsigned int dev = FindDevice(path); + struct _reent *r = _REENT; + -+ switch (name) { -+ case _PC_LINK_MAX: -+ return 1; -+ case _PC_MAX_CANON: -+ return MAX_CANON; -+ case _PC_MAX_INPUT: -+ return MAX_INPUT; -+ case _PC_NAME_MAX: -+ return NAME_MAX; -+ case _PC_PATH_MAX: -+ return PATH_MAX; -+ case _PC_PIPE_BUF: -+ return PIPE_BUF; -+ case _PC_CHOWN_RESTRICTED: -+ break; // chown is not implemented -+ case _PC_NO_TRUNC: -+ return 1; -+ case _PC_VDISABLE: -+ break; // termios is not supported -+ case _PC_SYNC_IO: -+ return 1; -+ case _PC_ASYNC_IO: -+ case _PC_PRIO_IO: -+ break; -+ case _PC_FILESIZEBITS: -+ return 64; -+ case _PC_REC_INCR_XFER_SIZE: -+ case _PC_REC_MAX_XFER_SIZE: -+ case _PC_REC_MIN_XFER_SIZE: -+ case _PC_REC_XFER_ALIGN: -+ case _PC_ALLOC_SIZE_MIN: -+ case _PC_SYMLINK_MAX: -+ break; -+ case _PC_2_SYMLINKS: -+ return 1; -+ } ++ if(dev != -1 && devoptab_list[dev]->pathconf_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->pathconf_r(r, path, name); ++ } else ++ r->_errno=ENOSYS; + -+ r->_errno = EINVAL; -+ return -1; ++ return ret; +} diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c new file mode 100755 @@ -8865,6 +8993,230 @@ index 000000000..9c548d830 + return ret; +} + +diff --git a/libgloss/libsysbase/readlink.c b/libgloss/libsysbase/readlink.c +new file mode 100644 +index 000000000..98ce358e4 +--- /dev/null ++++ b/libgloss/libsysbase/readlink.c +@@ -0,0 +1,24 @@ ++#include ++#include ++#include ++#include ++ ++ssize_t readlink_r(struct _reent *r, const char *path, char *buf, size_t bufsiz) { ++ int ret=-1; ++ int device = FindDevice(path); ++ ++ if ( device != -1 && devoptab_list[device]->readlink_r) { ++ ++ r->deviceData = devoptab_list[device]->deviceData; ++ ret = devoptab_list[device]->readlink_r(r, path, buf, bufsiz); ++ ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} ++ ++ssize_t readlink(const char *path, char *buf, size_t bufsiz) { ++ return(readlink_r(_REENT, path, buf, bufsiz)); ++} +diff --git a/libgloss/libsysbase/realpath.c b/libgloss/libsysbase/realpath.c +new file mode 100644 +index 000000000..f2cf3a831 +--- /dev/null ++++ b/libgloss/libsysbase/realpath.c +@@ -0,0 +1,188 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "concatenate.h" ++ ++/* Based on chdir.c */ ++static inline int _resolve_links(struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; ++ ++ int resolvedLinks = 0; ++ ++ pathLength = strnlen (path, maxLength); ++ ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } ++ ++ extraEnd = extra; ++ ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } ++ ++ ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } ++ ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } ++ ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } ++ ++ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) ++ { ++ /* Don't copy anything */ ++ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) ++ { ++ /* Go up one level of in the path */ ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { ++ // Remove trailing separator ++ pathEnd[-1] = '\0'; ++ } ++ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); ++ if (pathEnd == NULL) { ++ /* Can't go up any higher, return false */ ++ r->_errno = ENOENT; ++ return -1; ++ } ++ pathLength = pathEnd - path; ++ pathEnd += 1; ++ } else { ++ pathLength += extraSize; ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ /* Copy the next part over */ ++ strncpy (pathEnd, extra, extraSize); ++ pathEnd += extraSize; ++ } ++ pathEnd[0] = '\0'; ++ extra += extraSize; ++ ++ ++ struct stat st; ++ if (lstat(path,&st) < 0) return -1; ++ if (S_ISLNK(st.st_mode)) { ++ do { ++ if(resolvedLinks > 8 && extraSize > 0) { ++ r->_errno = ELOOP; ++ return -1; ++ } ++ ++ char buf[PATH_MAX]; ++ memset(buf,0,PATH_MAX); ++ ++ if (readlink(path,buf,sizeof(buf)) == -1) return -1; ++ ++ pathEnd = strrchr(path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ if (pathEnd == NULL) pathEnd = path; ++ pathEnd[0] = '\0'; ++ ++ if (_concatenate_path(r, path, buf, PATH_MAX) == -1) { ++ return -1; ++ } ++ ++ resolvedLinks++; ++ pathEnd = strchr(path,0); ++ ++ if (lstat(path,&st) < 0) return -1; ++ ++ } while(S_ISLNK(st.st_mode)); ++ } ++ } while (extraSize != 0); ++ ++ ++ return 0; ++} ++ ++char *realpath(const char *__restrict path, char *__restrict resolved) ++{ ++ struct _reent *r = _REENT; ++ ++ char stack[PATH_MAX] = {0}; ++ const char *pathPosition = NULL; ++ int len = 0; ++ ++ if (!path) { ++ errno = ENOENT; ++ return NULL; ++ } ++ ++ len = strnlen(path, PATH_MAX); ++ if (!len) { ++ r->_errno = ENOENT; ++ return NULL; ++ } ++ if (len >= PATH_MAX) { ++ r->_errno = ENAMETOOLONG; ++ return NULL; ++ } ++ ++ if (strchr (path, ':') != NULL) { ++ strncpy(stack, path, PATH_MAX-1); ++ /* Move path past device name */ ++ path = strchr(path, ':') + 1; ++ } else { ++ getcwd(stack, PATH_MAX); ++ } ++ ++ pathPosition = strchr(stack, ':'); ++ ++ if (pathPosition == NULL) { ++ pathPosition = stack; ++ } else { ++ pathPosition++; ++ } ++ ++ /* Make sure the path starts in the root directory */ ++ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { ++ r->_errno = ENOENT; ++ return NULL; ++ } ++ ++ if (_resolve_links(r, stack, path, PATH_MAX) == -1) { ++ return NULL; ++ } ++ ++ if (resolved) { ++ strncpy(resolved, stack, PATH_MAX); ++ return resolved; ++ } ++ ++ return strndup(stack, sizeof(stack)); ++} ++ diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c new file mode 100644 index 000000000..433f7ef83 @@ -9172,6 +9524,41 @@ index 000000000..84e221340 + + return ret; +} +diff --git a/libgloss/libsysbase/symlink.c b/libgloss/libsysbase/symlink.c +new file mode 100644 +index 000000000..b3c34ea51 +--- /dev/null ++++ b/libgloss/libsysbase/symlink.c +@@ -0,0 +1,29 @@ ++#include ++#include ++#include ++#include ++ ++int symlink_r(struct _reent *r, const char *target, const char *linkpath) { ++ int ret=-1; ++ int targetDevice = FindDevice(target); ++ int linkDevice = FindDevice(linkpath); ++ ++ if (targetDevice != linkDevice) { ++ return -1; ++ } ++ ++ if ( targetDevice != -1 && devoptab_list[targetDevice]->symlink_r) { ++ ++ r->deviceData = devoptab_list[targetDevice]->deviceData; ++ ret = devoptab_list[targetDevice]->symlink_r(r, target, linkpath ); ++ ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} ++ ++int symlink(const char *target, const char *linkpath) { ++ return (symlink_r(_REENT, target, linkpath)); ++} diff --git a/libgloss/libsysbase/sysbase.specs b/libgloss/libsysbase/sysbase.specs new file mode 100644 index 000000000..d5959084e @@ -9477,10 +9864,10 @@ index 000000000..b54714775 +} diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c new file mode 100644 -index 000000000..462e86520 +index 000000000..14b459eef --- /dev/null +++ b/libgloss/libsysbase/utime.c -@@ -0,0 +1,41 @@ +@@ -0,0 +1,45 @@ +#include "config.h" + +#include @@ -9518,6 +9905,10 @@ index 000000000..462e86520 + t[0].tv_usec = 0; + t[1].tv_sec = times->modtime; + t[1].tv_usec = 0; ++ } else if (gettimeofday(&t[0], NULL) != -1) { ++ t[1] = t[0]; ++ } else { ++ return -1; + } + + return utimes(filename, t); @@ -10028,7 +10419,7 @@ index bc967bd70..8a72f26f7 100644 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-vfprintf.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo -c -o libc/machine/powerpc/libc_a-vfprintf.o `test -f 'libc/machine/powerpc/vfprintf.c' || echo '$(srcdir)/'`libc/machine/powerpc/vfprintf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Po diff --git a/newlib/configure.host b/newlib/configure.host -index 0a1ba282a..8c5e2b211 100644 +index 0a1ba282a..dfb96af4b 100644 --- a/newlib/configure.host +++ b/newlib/configure.host @@ -620,13 +620,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID @@ -10062,10 +10453,10 @@ index 0a1ba282a..8c5e2b211 100644 newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" ;; - powerpc*-*-eabi* | \ -+ powerpc*-*-eabi*) ++ powerpc*-*-eabi*) + default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" -+ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" + newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls + ;; @@ -10449,15 +10840,16 @@ index f810b008f..ca7e11dc7 100644 + #endif /* !_SYS__TIMESPEC_H_ */ diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 5dcc77a80..3c21c147f 100644 +index 5dcc77a80..3a33705c0 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h -@@ -8,6 +8,10 @@ +@@ -8,6 +8,11 @@ #define MALLOC_ALIGNMENT 16 #endif +#ifdef _ARCH_PPC -+#define __BUFSIZ__ 16384 ++#define __BUFSIZ__ 32768 ++#define MALLOC_ALIGNMENT 64 +#endif + #ifdef __AMDGCN__ @@ -10487,10 +10879,10 @@ index 45476ce4a..05efc0ab2 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..5942a8914 +index 000000000..8318fda68 --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,132 @@ +@@ -0,0 +1,140 @@ +//--------------------------------------------------------------------------------- +#ifndef __iosupp_h__ +#define __iosupp_h__ @@ -10504,6 +10896,7 @@ index 000000000..5942a8914 +#include +#include +#include ++#include + +enum { + STD_IN, @@ -10559,6 +10952,12 @@ index 000000000..5942a8914 + int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); + int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); + ++ long (*fpathconf_r)(struct _reent *r, int fd, int name); ++ long (*pathconf_r)(struct _reent *r, const char *path, int name); ++ ++ int (*symlink_r)(struct _reent *r, const char *target, const char *linkpath); ++ ssize_t (*readlink_r)(struct _reent *r, const char *path, char *buf, size_t bufsiz); ++ +} devoptab_t; + +extern const devoptab_t *devoptab_list[]; @@ -10610,6 +11009,7 @@ index 000000000..5942a8914 +int FindDevice(const char* name); +int RemoveDevice(const char* name); +void setDefaultDevice( int device ); ++ +const devoptab_t* GetDeviceOpTab (const char *name); + +void __release_handle(int fd); @@ -11475,27 +11875,6 @@ index b34c7c9d8..f18dc4301 100644 #define _STDIO_WITH_THREAD_CANCELLATION_SUPPORT #endif -diff --git a/newlib/libc/stdio/makebuf.c b/newlib/libc/stdio/makebuf.c -index b9c75bbf8..b9af455b8 100644 ---- a/newlib/libc/stdio/makebuf.c -+++ b/newlib/libc/stdio/makebuf.c -@@ -19,6 +19,7 @@ - #include <_ansi.h> - #include - #include -+#include - #include - #include - #include -@@ -50,7 +51,7 @@ __smakebuf_r (struct _reent *ptr, - return; - } - flags = __swhatbuf_r (ptr, fp, &size, &couldbetty); -- if ((p = _malloc_r (ptr, size)) == NULL) -+ if ((p = _memalign_r (ptr, 0x40, size)) == NULL) - { - if (!(fp->_flags & __SSTR)) - { diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c index d8dfdbd82..a85b5a99b 100644 --- a/newlib/libc/stdio/remove.c @@ -11520,36 +11899,6 @@ index d8dfdbd82..a85b5a99b 100644 return 0; } -diff --git a/newlib/libc/stdio/setvbuf.c b/newlib/libc/stdio/setvbuf.c -index e27ea086c..2a98b66d5 100644 ---- a/newlib/libc/stdio/setvbuf.c -+++ b/newlib/libc/stdio/setvbuf.c -@@ -81,6 +81,7 @@ Supporting OS subroutines required: <>, <>, <>, - #include <_ansi.h> - #include - #include -+#include - #include "local.h" - - /* -@@ -143,7 +144,7 @@ setvbuf (register FILE * fp, - /* Allocate buffer if needed. */ - if (buf == NULL) - { -- if ((buf = malloc (size)) == NULL) -+ if ((buf = memalign (0x40, size)) == NULL) - { - /* - * Unable to honor user's request. We will return -@@ -153,7 +154,7 @@ setvbuf (register FILE * fp, - if (size != iosize) - { - size = iosize; -- buf = malloc (size); -+ buf = memalign (0x40, size); - } - } - if (buf == NULL) diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c index 6a198e2c6..5ded3fd6e 100644 --- a/newlib/libc/stdio/vfprintf.c From 80a329157aa18d1313c315b10cdf79c360be5837 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 29 Apr 2023 15:20:46 +0100 Subject: [PATCH 221/280] prevent hard dependency on findfp --- .../patches/newlib-4.3.0.20230120.patch | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/dkarm-eabi/patches/newlib-4.3.0.20230120.patch b/dkarm-eabi/patches/newlib-4.3.0.20230120.patch index dd06ef2..b3b303e 100644 --- a/dkarm-eabi/patches/newlib-4.3.0.20230120.patch +++ b/dkarm-eabi/patches/newlib-4.3.0.20230120.patch @@ -11983,6 +11983,27 @@ index 9812add76..8410f2633 100644 %D%/utoa.c \ %D%/wcstod.c \ %D%/wcstoimax.c \ +diff --git a/newlib/libc/stdlib/exit.c b/newlib/libc/stdlib/exit.c +index 9b7bd518b..f0e33bbc1 100644 +--- a/newlib/libc/stdlib/exit.c ++++ b/newlib/libc/stdlib/exit.c +@@ -45,6 +45,16 @@ Supporting OS subroutines required: <<_exit>>. + #include + #include "atexit.h" + ++// exit calls this handler; avoid a hard dependency on findfp by providing a weak global ++void (*__stdio_exit_handler)(void) __attribute__((weak)); ++ ++// exit calls this function; avoid a hard dependency on atexit by providing a simple weak implementation ++__attribute__((weak)) void __call_exitprocs(int rc, void* dso) ++{ ++ extern void __libc_fini_array(void); ++ __libc_fini_array(); ++} ++ + /* + * Exit, flushing stdio buffers if necessary. + */ diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c index 23aa10173..ba88eb9fb 100644 --- a/newlib/libc/stdlib/mlock.c From 4319248cf83f64231717936b3e01b6bd1f5d082a Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 1 May 2023 16:24:23 +0100 Subject: [PATCH 222/280] devkitARM: fix dynamic reent --- .../patches/newlib-4.3.0.20230120.patch | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/dkarm-eabi/patches/newlib-4.3.0.20230120.patch b/dkarm-eabi/patches/newlib-4.3.0.20230120.patch index b3b303e..727b64b 100644 --- a/dkarm-eabi/patches/newlib-4.3.0.20230120.patch +++ b/dkarm-eabi/patches/newlib-4.3.0.20230120.patch @@ -10419,7 +10419,7 @@ index bc967bd70..8a72f26f7 100644 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-vfprintf.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo -c -o libc/machine/powerpc/libc_a-vfprintf.o `test -f 'libc/machine/powerpc/vfprintf.c' || echo '$(srcdir)/'`libc/machine/powerpc/vfprintf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Po diff --git a/newlib/configure.host b/newlib/configure.host -index 0a1ba282a..dfb96af4b 100644 +index 0a1ba282a..66ccbec57 100644 --- a/newlib/configure.host +++ b/newlib/configure.host @@ -620,13 +620,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID @@ -10456,7 +10456,7 @@ index 0a1ba282a..dfb96af4b 100644 + powerpc*-*-eabi*) + default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" -+ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" + newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls + ;; @@ -10840,21 +10840,30 @@ index f810b008f..ca7e11dc7 100644 + #endif /* !_SYS__TIMESPEC_H_ */ diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 5dcc77a80..3a33705c0 100644 +index 5dcc77a80..6930a751d 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h -@@ -8,6 +8,11 @@ - #define MALLOC_ALIGNMENT 16 - #endif +@@ -4,8 +4,19 @@ + #include /* floating point macros */ + #include /* POSIX defs */ -+#ifdef _ARCH_PPC -+#define __BUFSIZ__ 32768 -+#define MALLOC_ALIGNMENT 64 +-#ifdef __aarch64__ ++#ifdef __DEVKITARM__ ++#define __DYNAMIC_REENT__ +#endif + - #ifdef __AMDGCN__ - #define __DYNAMIC_REENT__ ++#ifdef __DEVKITA64__ + #define MALLOC_ALIGNMENT 16 ++#define __DYNAMIC_REENT__ ++#endif ++ ++#ifdef __DEVKITPPC__ ++#define __BUFSIZ__ 32768 ++#define MALLOC_ALIGNMENT 64 ++#define __DYNAMIC_REENT__ #endif + + #ifdef __AMDGCN__ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h index 45476ce4a..05efc0ab2 100644 --- a/newlib/libc/include/sys/features.h From dec683a0ed2b15ee51079420081c889baf18c6a7 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 27 Apr 2023 06:39:58 +0100 Subject: [PATCH 223/280] devkitA64: gcc 13.1.0 RC test --- build-devkit.sh | 2 +- dka64/patches/gcc-13.1.0-RC2-20230419.patch | 322 ++++++++++++++++++++ dka64/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 325 insertions(+), 3 deletions(-) create mode 100644 dka64/patches/gcc-13.1.0-RC2-20230419.patch diff --git a/build-devkit.sh b/build-devkit.sh index 5869dbb..ca7de3b 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,7 +2,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 61 # devkitPPC release 43 -# devkitA64 release 21 +# devkitA64 release 22 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/patches/gcc-13.1.0-RC2-20230419.patch b/dka64/patches/gcc-13.1.0-RC2-20230419.patch new file mode 100644 index 0000000..84fda18 --- /dev/null +++ b/dka64/patches/gcc-13.1.0-RC2-20230419.patch @@ -0,0 +1,322 @@ +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.cc gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.cc +--- gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.cc 2023-04-19 13:53:45.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.cc 2023-04-26 23:50:10.772394548 +0100 +@@ -19555,8 +19555,24 @@ + || !register_operand (target, Pmode)) + target = gen_reg_rtx (Pmode); + +- /* Can return in any reg. */ +- emit_insn (gen_aarch64_load_tp_hard (target)); ++ if (TARGET_HARD_TP) ++ { ++ /* Can return in any reg. */ ++ emit_insn (gen_aarch64_load_tp_hard (target)); ++ } ++ else ++ { ++ /* Always returned in r0. Immediately copy the result into a pseudo, ++ otherwise other uses of r0 (e.g. setting up function arguments) may ++ clobber the value. */ ++ ++ rtx tmp; ++ ++ emit_insn (gen_aarch64_load_tp_soft ()); ++ ++ tmp = gen_rtx_REG (DImode, R0_REGNUM); ++ emit_move_insn (target, tmp); ++ } + return target; + } + +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64-elf-raw.h gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64-elf-raw.h +--- gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64-elf-raw.h 2023-04-19 13:53:45.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64-elf-raw.h 2023-04-26 23:50:10.768394486 +0100 +@@ -22,6 +22,7 @@ + #ifndef GCC_AARCH64_ELF_RAW_H + #define GCC_AARCH64_ELF_RAW_H + ++#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" + #define STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" + #define ENDFILE_SPEC \ + " crtend%O%s crtn%O%s " \ +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.h gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.h +--- gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.h 2023-04-19 13:53:45.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.h 2023-04-26 23:52:03.318171734 +0100 +@@ -1154,6 +1154,10 @@ + /* Check TLS Descriptors mechanism is selected. */ + #define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS) + ++/* Check selected thread pointer access sequence to use. */ ++#define TARGET_HARD_TP (target_thread_pointer == TP_HARD) ++#define TARGET_SOFT_TP (target_thread_pointer == TP_SOFT) ++ + extern enum aarch64_code_model aarch64_cmodel; + + /* When using the tiny addressing model conditional and unconditional branches +@@ -1185,7 +1189,7 @@ + + /* Extra specs when building a native AArch64-hosted compiler. + Option rewriting rules based on host system. */ +-#if defined(__aarch64__) ++#if 0 // defined(__aarch64__) + extern const char *host_detect_local_cpu (int argc, const char **argv); + #define HAVE_LOCAL_CPU_DETECT + # define EXTRA_SPEC_FUNCTIONS \ +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.md gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.md +--- gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.md 2023-04-19 13:53:45.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.md 2023-04-26 23:50:10.776394611 +0100 +@@ -7068,11 +7068,22 @@ + (define_insn "aarch64_load_tp_hard" + [(set (match_operand:DI 0 "register_operand" "=r") + (unspec:DI [(const_int 0)] UNSPEC_TLS))] +- "" +- "mrs\\t%0, tpidr_el0" ++ "TARGET_HARD_TP" ++ "mrs\\t%0, tpidr_el0\\t// aarch64_load_tp_hard" + [(set_attr "type" "mrs")] + ) + ++(define_insn "aarch64_load_tp_soft" ++ [(set (reg:DI 0) (unspec:DI [(const_int 0)] UNSPEC_TLS)) ++ (clobber (reg:DI IP0_REGNUM)) ++ (clobber (reg:DI IP1_REGNUM)) ++ (clobber (reg:DI LR_REGNUM)) ++ (clobber (reg:CC CC_REGNUM))] ++ "TARGET_SOFT_TP" ++ "bl\\t__aarch64_read_tp\\t// aarch64_load_tp_soft" ++ [(set_attr "type" "branch")] ++) ++ + ;; The TLS ABI specifically requires that the compiler does not schedule + ;; instructions in the TLS stubs, in order to enable linker relaxation. + ;; Therefore we treat the stubs as an atomic sequence. +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.opt gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.opt +--- gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.opt 2023-04-19 13:53:45.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.opt 2023-04-26 23:50:10.776394611 +0100 +@@ -128,6 +128,21 @@ + EnumValue + Enum(aarch64_tls_size) String(48) Value(48) + ++mtp= ++Target RejectNegative Joined Enum(aarch64_tp_type) Var(target_thread_pointer) Init(TP_HARD) ++Specify how to access the thread pointer. ++ ++Enum ++Name(aarch64_tp_type) Type(enum aarch64_tp_type) ++Valid arguments to -mtp=: ++ ++EnumValue ++Enum(aarch64_tp_type) String(hard) Value(TP_HARD) ++ ++EnumValue ++Enum(aarch64_tp_type) String(soft) Value(TP_SOFT) ++ ++ + march= + Target RejectNegative Negative(march=) ToLower Joined Var(aarch64_arch_string) + Use features of architecture ARCH. +@@ -266,7 +281,7 @@ + long aarch64_stack_protector_guard_offset = 0 + + moutline-atomics +-Target Var(aarch64_flag_outline_atomics) Init(2) Save ++Target Var(aarch64_flag_outline_atomics) Save + Generate local calls to out-of-line atomic operations. + + -param=aarch64-sve-compare-costs= +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64-opts.h gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64-opts.h +--- gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64-opts.h 2023-04-19 13:53:45.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64-opts.h 2023-04-26 23:50:10.768394486 +0100 +@@ -52,6 +52,12 @@ + TLS_DESCRIPTORS + }; + ++/* Which thread pointer access sequence to use. */ ++enum aarch64_tp_type { ++ TP_HARD, ++ TP_SOFT ++}; ++ + /* The code model defines the address generation strategy. + Most have a PIC and non-PIC variant. */ + enum aarch64_code_model { +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/t-aarch64 gcc-13.1.0-RC2-20230419/gcc/config/aarch64/t-aarch64 +--- gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/t-aarch64 2023-04-19 13:53:45.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config/aarch64/t-aarch64 2023-04-26 23:50:10.776394611 +0100 +@@ -177,8 +177,10 @@ + $(srcdir)/config/aarch64/aarch64-cc-fusion.cc + + comma=, +-MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG)))) +-MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG)) ++MULTILIB_OPTIONS = mcmodel=large fPIC ++MULTILIB_DIRNAMES = large pic ++MULTILIB_REQUIRED = mcmodel=large fPIC ++MULTILIB_MATCHES = fPIC=fpic fPIC=fpie fPIC=fPIE + + insn-conditions.md: s-check-sve-md + s-check-sve-md: $(srcdir)/config/aarch64/check-sve-md.awk \ +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.h gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.h +--- gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.h 1970-01-01 01:00:00.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.h 2023-04-26 23:50:10.776394611 +0100 +@@ -0,0 +1,32 @@ ++/* Definitions for devkitPro toolchains. ++ Copyright (C) 2016-2018 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. ++ ++ 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 ++ . */ ++ ++#undef TARGET_OS_CPP_BUILTINS ++#define TARGET_OS_CPP_BUILTINS() \ ++ do { \ ++ builtin_define ("__DEVKITA64__"); \ ++ builtin_define ("__DEVKITPRO__"); \ ++ } while (0) ++ ++ +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.opt gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.opt +--- gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.opt 1970-01-01 01:00:00.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.opt 2023-04-26 23:50:10.776394611 +0100 +@@ -0,0 +1,29 @@ ++; Options for devkitPro toolchains. ++ ++; Copyright (C) 2011-2018 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 the GCC internals manual (options.texi) for a description of ++; this file's format. ++ ++; Please try to keep this file in ASCII collating order. ++ ++pthread ++Driver ++ ++; This comment is to ensure we retain the blank line above. +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config.gcc gcc-13.1.0-RC2-20230419/gcc/config.gcc +--- gcc-13.1.0-RC2-20230419.orig/gcc/config.gcc 2023-04-19 13:53:45.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/config.gcc 2023-04-26 23:50:10.768394486 +0100 +@@ -1132,7 +1132,14 @@ + tmake_file="${tmake_file} aarch64/t-aarch64" + case $target in + aarch64-*-elf*) ++ default_use_cxa_atexit=yes + use_gcc_stdint=wrap ++ tm_file="${tm_file} devkitpro.h" ++ tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" ++ extra_options="${extra_options} devkitpro.opt" ++ case ${enable_threads} in ++ "" | yes | posix) thread_file='posix' ;; ++ esac + ;; + aarch64-*-fuchsia*) + tm_file="${tm_file} fuchsia.h" +diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/gcc.cc gcc-13.1.0-RC2-20230419/gcc/gcc.cc +--- gcc-13.1.0-RC2-20230419.orig/gcc/gcc.cc 2023-04-19 13:53:46.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/gcc/gcc.cc 2023-04-26 23:50:10.776394611 +0100 +@@ -868,6 +868,11 @@ + #endif + #endif + ++#ifndef LIBGLOSS_SPEC ++# define LIBGLOSS_SPEC "-lsysbase" ++#endif ++ ++ + /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ + #ifndef STARTFILE_SPEC + #define STARTFILE_SPEC \ +@@ -1191,6 +1196,7 @@ + static const char *lib_spec = LIB_SPEC; + static const char *link_gomp_spec = ""; + static const char *libgcc_spec = LIBGCC_SPEC; ++static const char *libgloss_spec = LIBGLOSS_SPEC; + static const char *endfile_spec = ENDFILE_SPEC; + static const char *startfile_spec = STARTFILE_SPEC; + static const char *linker_name_spec = LINKER_NAME; +@@ -1701,6 +1707,7 @@ + INIT_STATIC_SPEC ("lib", &lib_spec), + INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), + INIT_STATIC_SPEC ("libgcc", &libgcc_spec), ++ INIT_STATIC_SPEC ("libgloss", &libgloss_spec), + INIT_STATIC_SPEC ("startfile", &startfile_spec), + INIT_STATIC_SPEC ("cross_compile", &cross_compile), + INIT_STATIC_SPEC ("version", &compiler_version), +diff -NBaur gcc-13.1.0-RC2-20230419.orig/libgcc/crtstuff.c gcc-13.1.0-RC2-20230419/libgcc/crtstuff.c +--- gcc-13.1.0-RC2-20230419.orig/libgcc/crtstuff.c 2023-04-19 13:53:49.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/libgcc/crtstuff.c 2023-04-26 23:50:10.776394611 +0100 +@@ -326,7 +326,7 @@ + + #ifdef OBJECT_FORMAT_ELF + +-#if DEFAULT_USE_CXA_ATEXIT ++#if 1 /* DEFAULT_USE_CXA_ATEXIT */ + /* Declare the __dso_handle variable. It should have a unique value + in every shared-object; in a main program its value is zero. The + object should in any case be protected. This means the instance +diff -NBaur gcc-13.1.0-RC2-20230419.orig/libgcc/gthr.h gcc-13.1.0-RC2-20230419/libgcc/gthr.h +--- gcc-13.1.0-RC2-20230419.orig/libgcc/gthr.h 2023-04-19 13:53:49.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/libgcc/gthr.h 2023-04-26 23:50:10.776394611 +0100 +@@ -136,7 +136,7 @@ + /* The pe-coff weak support isn't fully compatible to ELF's weak. + For static libraries it might would work, but as we need to deal + with shared versions too, we disable it for mingw-targets. */ +-#ifdef __MINGW32__ ++#if defined(__MINGW32__) || defined(__DEVKITA64__) + #undef GTHREAD_USE_WEAK + #define GTHREAD_USE_WEAK 0 + #endif +diff -NBaur gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.am gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.am +--- gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.am 2023-04-19 13:53:50.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.am 2023-04-26 23:50:10.776394611 +0100 +@@ -1417,6 +1417,7 @@ + -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ + -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ + -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ ++ -e 's/_GLIBCXX___DEVKITA64_GLIBCXX___/__DEVKITA64__/g' \ + -e 's,^#include "\(.*\)",#include ,g' \ + < $< > $@ + +diff -NBaur gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.in gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.in +--- gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.in 2023-04-19 13:53:50.000000000 +0100 ++++ gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.in 2023-04-26 23:50:10.776394611 +0100 +@@ -1891,6 +1891,7 @@ + -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ + -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ + -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ ++ -e 's/_GLIBCXX___DEVKITA64_GLIBCXX___/__DEVKITA64__/g' \ + -e 's,^#include "\(.*\)",#include ,g' \ + < $< > $@ + diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 251e0dd..d86d938 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -62,7 +62,7 @@ then --enable-lto \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 21" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 22" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index 00649e2..bd85639 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -49,7 +49,7 @@ case "$VERSION" in toolchain=DEVKITPPC ;; "3" ) - GCC_VER=12.2.0 + GCC_VER=13.1.0-RC2-20230419 BINUTILS_VER=2.32 NEWLIB_VER=4.3.0.20230120 basedir='dka64' From 06e7ade19ce26d490ff698b13fb458aa8e35dcae Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 1 May 2023 17:17:51 +0100 Subject: [PATCH 224/280] devkitA64: add symlink support --- dka64/patches/newlib-4.3.0.20230120.patch | 859 ++++++++++++++++------ 1 file changed, 619 insertions(+), 240 deletions(-) diff --git a/dka64/patches/newlib-4.3.0.20230120.patch b/dka64/patches/newlib-4.3.0.20230120.patch index 89a17a1..727b64b 100644 --- a/dka64/patches/newlib-4.3.0.20230120.patch +++ b/dka64/patches/newlib-4.3.0.20230120.patch @@ -13,7 +13,7 @@ index 4309cd3a4..fad31dbe0 100644 include lm32/Makefile.inc endif diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in -index a117577ea..fcbffa306 100644 +index a117577ea..44731970d 100644 --- a/libgloss/Makefile.in +++ b/libgloss/Makefile.in @@ -173,23 +173,26 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) @@ -60,7 +60,7 @@ index a117577ea..fcbffa306 100644 $(top_srcdir)/m68k/acinclude.m4 \ $(top_srcdir)/mcore/acinclude.m4 \ $(top_srcdir)/mips/acinclude.m4 \ -@@ -421,6 +425,64 @@ libobjs_a_LIBADD = +@@ -421,6 +425,69 @@ libobjs_a_LIBADD = am_libobjs_a_OBJECTS = $(am__objects_3) $(am__objects_4) \ $(am__objects_5) $(am__objects_6) libobjs_a_OBJECTS = $(am_libobjs_a_OBJECTS) @@ -78,6 +78,7 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-concatenate.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ @@ -85,6 +86,7 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fpathconf.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT) \ @@ -105,6 +107,8 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-readlink.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT) \ @@ -112,6 +116,7 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-symlink.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT) \ @@ -125,7 +130,7 @@ index a117577ea..fcbffa306 100644 lm32_libgloss_a_AR = $(AR) $(ARFLAGS) lm32_libgloss_a_LIBADD = @CONFIG_LM32_TRUE@am_lm32_libgloss_a_OBJECTS = lm32/isatty.$(OBJEXT) \ -@@ -572,7 +634,8 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ +@@ -572,7 +639,8 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ $(bfin_libbfinbsp_a_SOURCES) $(bfin_libsim_a_SOURCES) \ $(csky_libsemi_a_SOURCES) $(d30v_libsim_a_SOURCES) \ $(iq2000_libeval_a_SOURCES) $(libnosys_libnosys_a_SOURCES) \ @@ -135,7 +140,7 @@ index a117577ea..fcbffa306 100644 $(nios2_libnios2_a_SOURCES) $(riscv_libgloss_a_SOURCES) \ $(riscv_libsemihost_a_SOURCES) bfin/sim-test.c iq2000/test.c \ $(wince_stub_exe_SOURCES) -@@ -662,7 +725,7 @@ ETAGS = etags +@@ -662,7 +730,7 @@ ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) @@ -144,7 +149,7 @@ index a117577ea..fcbffa306 100644 AARCH64_OBJTYPE = @AARCH64_OBJTYPE@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ -@@ -772,6 +835,7 @@ pdfdir = @pdfdir@ +@@ -772,6 +840,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ @@ -152,7 +157,7 @@ index a117577ea..fcbffa306 100644 sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -@@ -797,12 +861,13 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) +@@ -797,12 +866,13 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) multilibtool_DATA = $(am__append_3) $(am__append_6) $(am__append_7) \ $(am__append_8) $(am__append_13) $(am__append_15) \ $(am__append_18) $(am__append_22) $(am__append_23) \ @@ -169,7 +174,7 @@ index a117577ea..fcbffa306 100644 includetooldir = $(tooldir)/include includetool_DATA = $(am__append_16) includesystooldir = $(tooldir)/include/sys -@@ -813,7 +878,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include +@@ -813,7 +883,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include # to install (e.g. our crt0.o objects). noinst_LIBRARIES = libobjs.a libobjs_a_SOURCES = $(am__append_14) $(am__append_19) $(am__append_25) \ @@ -178,7 +183,7 @@ index a117577ea..fcbffa306 100644 FLAGS_TO_PASS = \ "CC=$(CC)" \ "CFLAGS=$(CFLAGS)" \ -@@ -992,6 +1057,60 @@ TEXINFO_TEX = ../texinfo/texinfo.tex +@@ -992,6 +1062,65 @@ TEXINFO_TEX = ../texinfo/texinfo.tex @CONFIG_LIBNOSYS_TRUE@ libnosys/write.c \ @CONFIG_LIBNOSYS_TRUE@ libnosys/_exit.c @@ -193,6 +198,7 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chdir.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chmod.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/clocks.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/concatenate.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dirent.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ @@ -200,6 +206,7 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/flock.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fnmatch.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fpathconf.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fsync.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/ftruncate.c \ @@ -220,6 +227,8 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/readlink.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/realpath.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sbrk.c \ @@ -227,6 +236,7 @@ index a117577ea..fcbffa306 100644 +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sleep.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/stat.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/statvfs.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/symlink.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/syscall_support.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/times.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/truncate.c \ @@ -239,7 +249,7 @@ index a117577ea..fcbffa306 100644 @CONFIG_LM32_TRUE@lm32_libgloss_a_SOURCES = \ @CONFIG_LM32_TRUE@ lm32/isatty.c \ @CONFIG_LM32_TRUE@ lm32/scall.S -@@ -1099,7 +1218,7 @@ all: config.h +@@ -1099,7 +1228,7 @@ all: config.h .SUFFIXES: .S .c .dvi .o .obj .ps am--refresh: Makefile @: @@ -248,7 +258,7 @@ index a117577ea..fcbffa306 100644 @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ -@@ -1121,7 +1240,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +@@ -1121,7 +1250,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; @@ -257,7 +267,7 @@ index a117577ea..fcbffa306 100644 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -@@ -1585,6 +1704,168 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE +@@ -1585,6 +1714,183 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE $(AM_V_at)-rm -f libobjs.a $(AM_V_AR)$(libobjs_a_AR) libobjs.a $(libobjs_a_OBJECTS) $(libobjs_a_LIBADD) $(AM_V_at)$(RANLIB) libobjs.a @@ -292,6 +302,9 @@ index a117577ea..fcbffa306 100644 +libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-concatenate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) +libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) @@ -313,6 +326,9 @@ index a117577ea..fcbffa306 100644 +libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fpathconf.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) +libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) @@ -373,6 +389,12 @@ index a117577ea..fcbffa306 100644 +libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-readlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) +libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) @@ -394,6 +416,9 @@ index a117577ea..fcbffa306 100644 +libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-symlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) +libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) @@ -426,7 +451,7 @@ index a117577ea..fcbffa306 100644 lm32/isatty.$(OBJEXT): lm32/$(am__dirstamp) \ lm32/$(DEPDIR)/$(am__dirstamp) lm32/scall.$(OBJEXT): lm32/$(am__dirstamp) \ -@@ -1852,6 +2133,7 @@ mostlyclean-compile: +@@ -1852,6 +2158,7 @@ mostlyclean-compile: -rm -f d30v/*.$(OBJEXT) -rm -f iq2000/*.$(OBJEXT) -rm -f libnosys/*.$(OBJEXT) @@ -434,7 +459,7 @@ index a117577ea..fcbffa306 100644 -rm -f lm32/*.$(OBJEXT) -rm -f nios2/*.$(OBJEXT) -rm -f riscv/*.$(OBJEXT) -@@ -1973,6 +2255,55 @@ distclean-compile: +@@ -1973,6 +2280,60 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/unlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/wait.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/write.Po@am__quote@ @@ -445,6 +470,7 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ @@ -452,6 +478,7 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po@am__quote@ @@ -472,6 +499,8 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po@am__quote@ @@ -479,6 +508,7 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po@am__quote@ @@ -490,7 +520,7 @@ index a117577ea..fcbffa306 100644 @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/crt0.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/isatty.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/scall.Po@am__quote@ -@@ -2717,6 +3048,678 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c +@@ -2717,6 +3078,748 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csky_libsemi_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o csky/csky_libsemi_a-getpid.obj `if test -f 'csky/getpid.c'; then $(CYGPATH_W) 'csky/getpid.c'; else $(CYGPATH_W) '$(srcdir)/csky/getpid.c'; fi` @@ -578,6 +608,20 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-concatenate.o: libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-concatenate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-concatenate.o `test -f 'libsysbase/concatenate.c' || echo '$(srcdir)/'`libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/concatenate.c' object='libsysbase/libsysbase_libsysbase_a-concatenate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-concatenate.o `test -f 'libsysbase/concatenate.c' || echo '$(srcdir)/'`libsysbase/concatenate.c ++ ++libsysbase/libsysbase_libsysbase_a-concatenate.obj: libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-concatenate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-concatenate.obj `if test -f 'libsysbase/concatenate.c'; then $(CYGPATH_W) 'libsysbase/concatenate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/concatenate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/concatenate.c' object='libsysbase/libsysbase_libsysbase_a-concatenate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-concatenate.obj `if test -f 'libsysbase/concatenate.c'; then $(CYGPATH_W) 'libsysbase/concatenate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/concatenate.c'; fi` ++ +libsysbase/libsysbase_libsysbase_a-dirent.o: libsysbase/dirent.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po @@ -676,6 +720,20 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-fpathconf.o: libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fpathconf.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.o `test -f 'libsysbase/fpathconf.c' || echo '$(srcdir)/'`libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fpathconf.c' object='libsysbase/libsysbase_libsysbase_a-fpathconf.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.o `test -f 'libsysbase/fpathconf.c' || echo '$(srcdir)/'`libsysbase/fpathconf.c ++ ++libsysbase/libsysbase_libsysbase_a-fpathconf.obj: libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fpathconf.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.obj `if test -f 'libsysbase/fpathconf.c'; then $(CYGPATH_W) 'libsysbase/fpathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fpathconf.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fpathconf.c' object='libsysbase/libsysbase_libsysbase_a-fpathconf.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.obj `if test -f 'libsysbase/fpathconf.c'; then $(CYGPATH_W) 'libsysbase/fpathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fpathconf.c'; fi` ++ +libsysbase/libsysbase_libsysbase_a-fstat.o: libsysbase/fstat.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po @@ -956,6 +1014,34 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-readlink.o: libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-readlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-readlink.o `test -f 'libsysbase/readlink.c' || echo '$(srcdir)/'`libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/readlink.c' object='libsysbase/libsysbase_libsysbase_a-readlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-readlink.o `test -f 'libsysbase/readlink.c' || echo '$(srcdir)/'`libsysbase/readlink.c ++ ++libsysbase/libsysbase_libsysbase_a-readlink.obj: libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-readlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-readlink.obj `if test -f 'libsysbase/readlink.c'; then $(CYGPATH_W) 'libsysbase/readlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/readlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/readlink.c' object='libsysbase/libsysbase_libsysbase_a-readlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-readlink.obj `if test -f 'libsysbase/readlink.c'; then $(CYGPATH_W) 'libsysbase/readlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/readlink.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-realpath.o: libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/realpath.c' object='libsysbase/libsysbase_libsysbase_a-realpath.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c ++ ++libsysbase/libsysbase_libsysbase_a-realpath.obj: libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.obj `if test -f 'libsysbase/realpath.c'; then $(CYGPATH_W) 'libsysbase/realpath.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/realpath.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/realpath.c' object='libsysbase/libsysbase_libsysbase_a-realpath.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-realpath.obj `if test -f 'libsysbase/realpath.c'; then $(CYGPATH_W) 'libsysbase/realpath.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/realpath.c'; fi` ++ +libsysbase/libsysbase_libsysbase_a-rename.o: libsysbase/rename.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po @@ -1054,6 +1140,20 @@ index a117577ea..fcbffa306 100644 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-symlink.o: libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-symlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-symlink.o `test -f 'libsysbase/symlink.c' || echo '$(srcdir)/'`libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/symlink.c' object='libsysbase/libsysbase_libsysbase_a-symlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-symlink.o `test -f 'libsysbase/symlink.c' || echo '$(srcdir)/'`libsysbase/symlink.c ++ ++libsysbase/libsysbase_libsysbase_a-symlink.obj: libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-symlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-symlink.obj `if test -f 'libsysbase/symlink.c'; then $(CYGPATH_W) 'libsysbase/symlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/symlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/symlink.c' object='libsysbase/libsysbase_libsysbase_a-symlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-symlink.obj `if test -f 'libsysbase/symlink.c'; then $(CYGPATH_W) 'libsysbase/symlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/symlink.c'; fi` ++ +libsysbase/libsysbase_libsysbase_a-syscall_support.o: libsysbase/syscall_support.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po @@ -1169,7 +1269,7 @@ index a117577ea..fcbffa306 100644 nios2/nios2_libnios2_a-io-close.o: nios2/io-close.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(nios2_libnios2_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nios2/nios2_libnios2_a-io-close.o -MD -MP -MF nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo -c -o nios2/nios2_libnios2_a-io-close.o `test -f 'nios2/io-close.c' || echo '$(srcdir)/'`nios2/io-close.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Po -@@ -4220,6 +5223,8 @@ distclean-generic: +@@ -4220,6 +5323,8 @@ distclean-generic: -rm -f iq2000/$(am__dirstamp) -rm -f libnosys/$(DEPDIR)/$(am__dirstamp) -rm -f libnosys/$(am__dirstamp) @@ -1178,7 +1278,7 @@ index a117577ea..fcbffa306 100644 -rm -f lm32/$(DEPDIR)/$(am__dirstamp) -rm -f lm32/$(am__dirstamp) -rm -f nios2/$(DEPDIR)/$(am__dirstamp) -@@ -4239,7 +5244,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ +@@ -4239,7 +5344,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) @@ -1187,7 +1287,7 @@ index a117577ea..fcbffa306 100644 -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-local distclean-tags -@@ -4382,7 +5387,7 @@ installcheck-am: +@@ -4382,7 +5487,7 @@ installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache @@ -1362,10 +1462,10 @@ index 5fb26845c..cf07fb118 100644 m4_include([mips/acinclude.m4]) diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc new file mode 100644 -index 000000000..7d4398d6a +index 000000000..123a1dedf --- /dev/null +++ b/libgloss/libsysbase/Makefile.inc -@@ -0,0 +1,61 @@ +@@ -0,0 +1,66 @@ +multilibtool_DATA += %D%/sysbase.specs + +multilibtool_LIBRARIES += %D%/libpthread.a @@ -1385,6 +1485,7 @@ index 000000000..7d4398d6a + %D%/chdir.c \ + %D%/chmod.c \ + %D%/clocks.c \ ++ %D%/concatenate.c \ + %D%/dirent.c \ + %D%/environ.c \ + %D%/execve.c \ @@ -1392,6 +1493,7 @@ index 000000000..7d4398d6a + %D%/flock.c \ + %D%/fnmatch.c \ + %D%/fork.c \ ++ %D%/fpathconf.c \ + %D%/fstat.c \ + %D%/fsync.c \ + %D%/ftruncate.c \ @@ -1412,6 +1514,8 @@ index 000000000..7d4398d6a + %D%/open.c \ + %D%/pathconf.c \ + %D%/read.c \ ++ %D%/readlink.c \ ++ %D%/realpath.c \ + %D%/rename.c \ + %D%/rmdir.c \ + %D%/sbrk.c \ @@ -1419,6 +1523,7 @@ index 000000000..7d4398d6a + %D%/sleep.c \ + %D%/stat.c \ + %D%/statvfs.c \ ++ %D%/symlink.c \ + %D%/syscall_support.c \ + %D%/times.c \ + %D%/truncate.c \ @@ -1571,117 +1676,22 @@ index 000000000..0697f53d2 +} diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c new file mode 100644 -index 000000000..b94f6a8b4 +index 000000000..922124b65 --- /dev/null +++ b/libgloss/libsysbase/chdir.c -@@ -0,0 +1,200 @@ +@@ -0,0 +1,105 @@ +#include +#include -+#include -+#include -+#include +#include +#include +#include + ++#include "concatenate.h" ++ +/* CWD always start with "/" */ +static char _current_working_directory [PATH_MAX] = "/"; +static char temp_cwd [PATH_MAX]; + -+#define DIRECTORY_SEPARATOR_CHAR '/' -+const char DIRECTORY_SEPARATOR[] = "/"; -+const char DIRECTORY_THIS[] = "."; -+const char DIRECTORY_PARENT[] = ".."; -+ -+int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { -+ char *pathEnd; -+ int pathLength; -+ const char *extraEnd; -+ int extraSize; -+ -+ pathLength = strnlen (path, maxLength); -+ -+ /* assumes path ends in a directory separator */ -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ pathEnd = path + pathLength; -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd += 1; -+ } -+ -+ extraEnd = extra; -+ -+ /* If the extra bit starts with a slash, start at root */ -+ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; -+ pathEnd[0] = '\0'; -+ } -+ do { -+ /* Advance past any separators in extra */ -+ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ extra += 1; -+ } -+ -+ /* Grab the next directory name from extra */ -+ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); -+ if (extraEnd == NULL) { -+ extraEnd = strrchr (extra, '\0'); -+ } else { -+ extraEnd += 1; -+ } -+ -+ extraSize = (extraEnd - extra); -+ if (extraSize == 0) { -+ break; -+ } -+ -+ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) -+ { -+ /* Don't copy anything */ -+ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) -+ { -+ /* Go up one level of in the path */ -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { -+ // Remove trailing separator -+ pathEnd[-1] = '\0'; -+ } -+ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); -+ if (pathEnd == NULL) { -+ /* Can't go up any higher, return false */ -+ r->_errno = ENOENT; -+ return -1; -+ } -+ pathLength = pathEnd - path; -+ pathEnd += 1; -+ } else { -+ pathLength += extraSize; -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ /* Copy the next part over */ -+ strncpy (pathEnd, extra, extraSize); -+ pathEnd += extraSize; -+ } -+ pathEnd[0] = '\0'; -+ extra += extraSize; -+ } while (extraSize != 0); -+ -+ if (strlen(path) > 2 ) { -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') -+ pathEnd[-1] = '\0'; -+ } -+ -+ return 0; -+} -+ +int chdir (const char *path) { + struct _reent *r = _REENT; + @@ -1850,6 +1860,120 @@ index 000000000..b36b5c079 + } +} + +diff --git a/libgloss/libsysbase/concatenate.c b/libgloss/libsysbase/concatenate.c +new file mode 100644 +index 000000000..e1da5a403 +--- /dev/null ++++ b/libgloss/libsysbase/concatenate.c +@@ -0,0 +1,91 @@ ++#include "concatenate.h" ++ ++ ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; ++ ++ pathLength = strnlen (path, maxLength); ++ ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathLength != 0 && pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } ++ ++ extraEnd = extra; ++ ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } ++ ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } ++ ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } ++ ++ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) ++ { ++ /* Don't copy anything */ ++ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) ++ { ++ /* Go up one level of in the path */ ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { ++ // Remove trailing separator ++ pathEnd[-1] = '\0'; ++ } ++ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); ++ if (pathEnd == NULL) { ++ /* Can't go up any higher, return false */ ++ r->_errno = ENOENT; ++ return -1; ++ } ++ pathLength = pathEnd - path; ++ pathEnd += 1; ++ } else { ++ pathLength += extraSize; ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ /* Copy the next part over */ ++ strncpy (pathEnd, extra, extraSize); ++ pathEnd += extraSize; ++ } ++ pathEnd[0] = '\0'; ++ extra += extraSize; ++ } while (extraSize != 0); ++ ++ if (strlen(path) > 2 ) { ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') ++ pathEnd[-1] = '\0'; ++ } ++ ++ return 0; ++} +\ No newline at end of file +diff --git a/libgloss/libsysbase/concatenate.h b/libgloss/libsysbase/concatenate.h +new file mode 100644 +index 000000000..e3b9e7d99 +--- /dev/null ++++ b/libgloss/libsysbase/concatenate.h +@@ -0,0 +1,10 @@ ++#include ++#include ++#include ++ ++#define DIRECTORY_SEPARATOR_CHAR '/' ++#define DIRECTORY_SEPARATOR "/" ++#define DIRECTORY_THIS "." ++#define DIRECTORY_PARENT ".." ++ ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength); diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in new file mode 100644 index 000000000..48ce950b4 @@ -6259,10 +6383,10 @@ index 000000000..d15eab89d + diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c new file mode 100644 -index 000000000..bed699102 +index 000000000..482d2f814 --- /dev/null +++ b/libgloss/libsysbase/dirent.c -@@ -0,0 +1,255 @@ +@@ -0,0 +1,257 @@ +#include +#include +#include @@ -6382,6 +6506,7 @@ index 000000000..bed699102 + + dirp->position = 0; // 0th position means no file name has been returned yet + dirp->fileData.d_ino = -1; ++ dirp->fileData.d_type = DT_UNKNOWN; + dirp->fileData.d_name[0] = '\0'; + + return dirp; @@ -6404,7 +6529,7 @@ index 000000000..bed699102 + +struct dirent* readdir (DIR *dirp) { + struct stat st; -+ char filename[NAME_MAX]; ++ char filename[NAME_MAX+1]; + int res; + int olderrno = errno; + @@ -6427,7 +6552,7 @@ index 000000000..bed699102 + // We've moved forward in the directory + dirp->position += 1; + -+ if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { ++ if (strnlen(filename, sizeof(filename)) >= sizeof(dirp->fileData.d_name)) { + errno = EOVERFLOW; + return NULL; + } @@ -6442,7 +6567,7 @@ index 000000000..bed699102 + +int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { + struct stat st; -+ char filename[NAME_MAX]; ++ char filename[NAME_MAX+1]; + int res; + + if (!dirp) { @@ -6465,13 +6590,14 @@ index 000000000..bed699102 + // We've moved forward in the directory + dirp->position += 1; + -+ if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { ++ if (strnlen(filename, sizeof(filename)) >= sizeof(entry->d_name)) { + errno = EOVERFLOW; + return EOVERFLOW; + } + + strncpy (entry->d_name, filename, sizeof(entry->d_name)); + entry->d_ino = st.st_ino; ++ entry->d_type = IFTODT(st.st_mode); + + *result = entry; + return 0; @@ -6489,7 +6615,7 @@ index 000000000..bed699102 + + +void seekdir(DIR *dirp, long int loc) { -+ char filename[NAME_MAX]; ++ char filename[NAME_MAX+1]; + + if (!dirp || loc < 0) { + return; @@ -6848,6 +6974,42 @@ index 000000000..2bada9736 + r->_errno = ENOSYS; + return -1; +} +diff --git a/libgloss/libsysbase/fpathconf.c b/libgloss/libsysbase/fpathconf.c +new file mode 100644 +index 000000000..453f64870 +--- /dev/null ++++ b/libgloss/libsysbase/fpathconf.c +@@ -0,0 +1,30 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++long fpathconf(int fd, int name) ++{ ++ int ret = -1; ++ unsigned int dev = 0; ++ ++ __handle * handle = __get_handle(fd); ++ struct _reent *r = _REENT; ++ ++ if ( NULL == handle ) { ++ errno = EINVAL; ++ return ret; ++ } ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fpathconf_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fpathconf_r(r, handle->fileStruct, name); ++ } else ++ r->_errno=ENOSYS; ++ ++ return ret; ++} diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c new file mode 100644 index 000000000..32267b828 @@ -7280,10 +7442,10 @@ index 000000000..5e81c5d42 +#endif diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c new file mode 100644 -index 000000000..948c6ef93 +index 000000000..71224902f --- /dev/null +++ b/libgloss/libsysbase/iosupport.c -@@ -0,0 +1,140 @@ +@@ -0,0 +1,138 @@ +#include +#include +#include @@ -7422,8 +7584,6 @@ index 000000000..948c6ef93 + return NULL; + } +} -+ -+ diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c new file mode 100644 index 000000000..2901f1474 @@ -7681,62 +7841,30 @@ index 000000000..ca17db8bf +} diff --git a/libgloss/libsysbase/pathconf.c b/libgloss/libsysbase/pathconf.c new file mode 100644 -index 000000000..f2b9e9dbf +index 000000000..a696c9ab9 --- /dev/null +++ b/libgloss/libsysbase/pathconf.c -@@ -0,0 +1,53 @@ +@@ -0,0 +1,21 @@ +#include +#include +#include +#include ++#include ++#include + -+long pathconf(const char *path, int name) { -+ return fpathconf(-1, name); -+} -+ -+long fpathconf(int fd, int name) ++long pathconf(const char *path, int name) +{ ++ int ret = -1; ++ unsigned int dev = FindDevice(path); + struct _reent *r = _REENT; + -+ switch (name) { -+ case _PC_LINK_MAX: -+ return 1; -+ case _PC_MAX_CANON: -+ return MAX_CANON; -+ case _PC_MAX_INPUT: -+ return MAX_INPUT; -+ case _PC_NAME_MAX: -+ return NAME_MAX; -+ case _PC_PATH_MAX: -+ return PATH_MAX; -+ case _PC_PIPE_BUF: -+ return PIPE_BUF; -+ case _PC_CHOWN_RESTRICTED: -+ break; // chown is not implemented -+ case _PC_NO_TRUNC: -+ return 1; -+ case _PC_VDISABLE: -+ break; // termios is not supported -+ case _PC_SYNC_IO: -+ return 1; -+ case _PC_ASYNC_IO: -+ case _PC_PRIO_IO: -+ break; -+ case _PC_FILESIZEBITS: -+ return 64; -+ case _PC_REC_INCR_XFER_SIZE: -+ case _PC_REC_MAX_XFER_SIZE: -+ case _PC_REC_MIN_XFER_SIZE: -+ case _PC_REC_XFER_ALIGN: -+ case _PC_ALLOC_SIZE_MIN: -+ case _PC_SYMLINK_MAX: -+ break; -+ case _PC_2_SYMLINKS: -+ return 1; -+ } ++ if(dev != -1 && devoptab_list[dev]->pathconf_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->pathconf_r(r, path, name); ++ } else ++ r->_errno=ENOSYS; + -+ r->_errno = EINVAL; -+ return -1; ++ return ret; +} diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c new file mode 100755 @@ -8865,6 +8993,230 @@ index 000000000..9c548d830 + return ret; +} + +diff --git a/libgloss/libsysbase/readlink.c b/libgloss/libsysbase/readlink.c +new file mode 100644 +index 000000000..98ce358e4 +--- /dev/null ++++ b/libgloss/libsysbase/readlink.c +@@ -0,0 +1,24 @@ ++#include ++#include ++#include ++#include ++ ++ssize_t readlink_r(struct _reent *r, const char *path, char *buf, size_t bufsiz) { ++ int ret=-1; ++ int device = FindDevice(path); ++ ++ if ( device != -1 && devoptab_list[device]->readlink_r) { ++ ++ r->deviceData = devoptab_list[device]->deviceData; ++ ret = devoptab_list[device]->readlink_r(r, path, buf, bufsiz); ++ ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} ++ ++ssize_t readlink(const char *path, char *buf, size_t bufsiz) { ++ return(readlink_r(_REENT, path, buf, bufsiz)); ++} +diff --git a/libgloss/libsysbase/realpath.c b/libgloss/libsysbase/realpath.c +new file mode 100644 +index 000000000..f2cf3a831 +--- /dev/null ++++ b/libgloss/libsysbase/realpath.c +@@ -0,0 +1,188 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "concatenate.h" ++ ++/* Based on chdir.c */ ++static inline int _resolve_links(struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; ++ ++ int resolvedLinks = 0; ++ ++ pathLength = strnlen (path, maxLength); ++ ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } ++ ++ extraEnd = extra; ++ ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } ++ ++ ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } ++ ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } ++ ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } ++ ++ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) ++ { ++ /* Don't copy anything */ ++ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) ++ { ++ /* Go up one level of in the path */ ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { ++ // Remove trailing separator ++ pathEnd[-1] = '\0'; ++ } ++ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); ++ if (pathEnd == NULL) { ++ /* Can't go up any higher, return false */ ++ r->_errno = ENOENT; ++ return -1; ++ } ++ pathLength = pathEnd - path; ++ pathEnd += 1; ++ } else { ++ pathLength += extraSize; ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ /* Copy the next part over */ ++ strncpy (pathEnd, extra, extraSize); ++ pathEnd += extraSize; ++ } ++ pathEnd[0] = '\0'; ++ extra += extraSize; ++ ++ ++ struct stat st; ++ if (lstat(path,&st) < 0) return -1; ++ if (S_ISLNK(st.st_mode)) { ++ do { ++ if(resolvedLinks > 8 && extraSize > 0) { ++ r->_errno = ELOOP; ++ return -1; ++ } ++ ++ char buf[PATH_MAX]; ++ memset(buf,0,PATH_MAX); ++ ++ if (readlink(path,buf,sizeof(buf)) == -1) return -1; ++ ++ pathEnd = strrchr(path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ if (pathEnd == NULL) pathEnd = path; ++ pathEnd[0] = '\0'; ++ ++ if (_concatenate_path(r, path, buf, PATH_MAX) == -1) { ++ return -1; ++ } ++ ++ resolvedLinks++; ++ pathEnd = strchr(path,0); ++ ++ if (lstat(path,&st) < 0) return -1; ++ ++ } while(S_ISLNK(st.st_mode)); ++ } ++ } while (extraSize != 0); ++ ++ ++ return 0; ++} ++ ++char *realpath(const char *__restrict path, char *__restrict resolved) ++{ ++ struct _reent *r = _REENT; ++ ++ char stack[PATH_MAX] = {0}; ++ const char *pathPosition = NULL; ++ int len = 0; ++ ++ if (!path) { ++ errno = ENOENT; ++ return NULL; ++ } ++ ++ len = strnlen(path, PATH_MAX); ++ if (!len) { ++ r->_errno = ENOENT; ++ return NULL; ++ } ++ if (len >= PATH_MAX) { ++ r->_errno = ENAMETOOLONG; ++ return NULL; ++ } ++ ++ if (strchr (path, ':') != NULL) { ++ strncpy(stack, path, PATH_MAX-1); ++ /* Move path past device name */ ++ path = strchr(path, ':') + 1; ++ } else { ++ getcwd(stack, PATH_MAX); ++ } ++ ++ pathPosition = strchr(stack, ':'); ++ ++ if (pathPosition == NULL) { ++ pathPosition = stack; ++ } else { ++ pathPosition++; ++ } ++ ++ /* Make sure the path starts in the root directory */ ++ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { ++ r->_errno = ENOENT; ++ return NULL; ++ } ++ ++ if (_resolve_links(r, stack, path, PATH_MAX) == -1) { ++ return NULL; ++ } ++ ++ if (resolved) { ++ strncpy(resolved, stack, PATH_MAX); ++ return resolved; ++ } ++ ++ return strndup(stack, sizeof(stack)); ++} ++ diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c new file mode 100644 index 000000000..433f7ef83 @@ -9172,6 +9524,41 @@ index 000000000..84e221340 + + return ret; +} +diff --git a/libgloss/libsysbase/symlink.c b/libgloss/libsysbase/symlink.c +new file mode 100644 +index 000000000..b3c34ea51 +--- /dev/null ++++ b/libgloss/libsysbase/symlink.c +@@ -0,0 +1,29 @@ ++#include ++#include ++#include ++#include ++ ++int symlink_r(struct _reent *r, const char *target, const char *linkpath) { ++ int ret=-1; ++ int targetDevice = FindDevice(target); ++ int linkDevice = FindDevice(linkpath); ++ ++ if (targetDevice != linkDevice) { ++ return -1; ++ } ++ ++ if ( targetDevice != -1 && devoptab_list[targetDevice]->symlink_r) { ++ ++ r->deviceData = devoptab_list[targetDevice]->deviceData; ++ ret = devoptab_list[targetDevice]->symlink_r(r, target, linkpath ); ++ ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} ++ ++int symlink(const char *target, const char *linkpath) { ++ return (symlink_r(_REENT, target, linkpath)); ++} diff --git a/libgloss/libsysbase/sysbase.specs b/libgloss/libsysbase/sysbase.specs new file mode 100644 index 000000000..d5959084e @@ -9477,10 +9864,10 @@ index 000000000..b54714775 +} diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c new file mode 100644 -index 000000000..462e86520 +index 000000000..14b459eef --- /dev/null +++ b/libgloss/libsysbase/utime.c -@@ -0,0 +1,41 @@ +@@ -0,0 +1,45 @@ +#include "config.h" + +#include @@ -9518,6 +9905,10 @@ index 000000000..462e86520 + t[0].tv_usec = 0; + t[1].tv_sec = times->modtime; + t[1].tv_usec = 0; ++ } else if (gettimeofday(&t[0], NULL) != -1) { ++ t[1] = t[0]; ++ } else { ++ return -1; + } + + return utimes(filename, t); @@ -10028,7 +10419,7 @@ index bc967bd70..8a72f26f7 100644 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-vfprintf.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo -c -o libc/machine/powerpc/libc_a-vfprintf.o `test -f 'libc/machine/powerpc/vfprintf.c' || echo '$(srcdir)/'`libc/machine/powerpc/vfprintf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Po diff --git a/newlib/configure.host b/newlib/configure.host -index 0a1ba282a..8c5e2b211 100644 +index 0a1ba282a..66ccbec57 100644 --- a/newlib/configure.host +++ b/newlib/configure.host @@ -620,13 +620,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID @@ -10062,10 +10453,10 @@ index 0a1ba282a..8c5e2b211 100644 newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" ;; - powerpc*-*-eabi* | \ -+ powerpc*-*-eabi*) ++ powerpc*-*-eabi*) + default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" -+ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" + newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls + ;; @@ -10449,20 +10840,30 @@ index f810b008f..ca7e11dc7 100644 + #endif /* !_SYS__TIMESPEC_H_ */ diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 5dcc77a80..3c21c147f 100644 +index 5dcc77a80..6930a751d 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h -@@ -8,6 +8,10 @@ - #define MALLOC_ALIGNMENT 16 - #endif +@@ -4,8 +4,19 @@ + #include /* floating point macros */ + #include /* POSIX defs */ -+#ifdef _ARCH_PPC -+#define __BUFSIZ__ 16384 +-#ifdef __aarch64__ ++#ifdef __DEVKITARM__ ++#define __DYNAMIC_REENT__ +#endif + - #ifdef __AMDGCN__ - #define __DYNAMIC_REENT__ ++#ifdef __DEVKITA64__ + #define MALLOC_ALIGNMENT 16 ++#define __DYNAMIC_REENT__ ++#endif ++ ++#ifdef __DEVKITPPC__ ++#define __BUFSIZ__ 32768 ++#define MALLOC_ALIGNMENT 64 ++#define __DYNAMIC_REENT__ #endif + + #ifdef __AMDGCN__ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h index 45476ce4a..05efc0ab2 100644 --- a/newlib/libc/include/sys/features.h @@ -10487,10 +10888,10 @@ index 45476ce4a..05efc0ab2 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..5942a8914 +index 000000000..8318fda68 --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,132 @@ +@@ -0,0 +1,140 @@ +//--------------------------------------------------------------------------------- +#ifndef __iosupp_h__ +#define __iosupp_h__ @@ -10504,6 +10905,7 @@ index 000000000..5942a8914 +#include +#include +#include ++#include + +enum { + STD_IN, @@ -10559,6 +10961,12 @@ index 000000000..5942a8914 + int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); + int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); + ++ long (*fpathconf_r)(struct _reent *r, int fd, int name); ++ long (*pathconf_r)(struct _reent *r, const char *path, int name); ++ ++ int (*symlink_r)(struct _reent *r, const char *target, const char *linkpath); ++ ssize_t (*readlink_r)(struct _reent *r, const char *path, char *buf, size_t bufsiz); ++ +} devoptab_t; + +extern const devoptab_t *devoptab_list[]; @@ -10610,6 +11018,7 @@ index 000000000..5942a8914 +int FindDevice(const char* name); +int RemoveDevice(const char* name); +void setDefaultDevice( int device ); ++ +const devoptab_t* GetDeviceOpTab (const char *name); + +void __release_handle(int fd); @@ -11475,27 +11884,6 @@ index b34c7c9d8..f18dc4301 100644 #define _STDIO_WITH_THREAD_CANCELLATION_SUPPORT #endif -diff --git a/newlib/libc/stdio/makebuf.c b/newlib/libc/stdio/makebuf.c -index b9c75bbf8..b9af455b8 100644 ---- a/newlib/libc/stdio/makebuf.c -+++ b/newlib/libc/stdio/makebuf.c -@@ -19,6 +19,7 @@ - #include <_ansi.h> - #include - #include -+#include - #include - #include - #include -@@ -50,7 +51,7 @@ __smakebuf_r (struct _reent *ptr, - return; - } - flags = __swhatbuf_r (ptr, fp, &size, &couldbetty); -- if ((p = _malloc_r (ptr, size)) == NULL) -+ if ((p = _memalign_r (ptr, 0x40, size)) == NULL) - { - if (!(fp->_flags & __SSTR)) - { diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c index d8dfdbd82..a85b5a99b 100644 --- a/newlib/libc/stdio/remove.c @@ -11520,36 +11908,6 @@ index d8dfdbd82..a85b5a99b 100644 return 0; } -diff --git a/newlib/libc/stdio/setvbuf.c b/newlib/libc/stdio/setvbuf.c -index e27ea086c..2a98b66d5 100644 ---- a/newlib/libc/stdio/setvbuf.c -+++ b/newlib/libc/stdio/setvbuf.c -@@ -81,6 +81,7 @@ Supporting OS subroutines required: <>, <>, <>, - #include <_ansi.h> - #include - #include -+#include - #include "local.h" - - /* -@@ -143,7 +144,7 @@ setvbuf (register FILE * fp, - /* Allocate buffer if needed. */ - if (buf == NULL) - { -- if ((buf = malloc (size)) == NULL) -+ if ((buf = memalign (0x40, size)) == NULL) - { - /* - * Unable to honor user's request. We will return -@@ -153,7 +154,7 @@ setvbuf (register FILE * fp, - if (size != iosize) - { - size = iosize; -- buf = malloc (size); -+ buf = memalign (0x40, size); - } - } - if (buf == NULL) diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c index 6a198e2c6..5ded3fd6e 100644 --- a/newlib/libc/stdio/vfprintf.c @@ -11634,6 +11992,27 @@ index 9812add76..8410f2633 100644 %D%/utoa.c \ %D%/wcstod.c \ %D%/wcstoimax.c \ +diff --git a/newlib/libc/stdlib/exit.c b/newlib/libc/stdlib/exit.c +index 9b7bd518b..f0e33bbc1 100644 +--- a/newlib/libc/stdlib/exit.c ++++ b/newlib/libc/stdlib/exit.c +@@ -45,6 +45,16 @@ Supporting OS subroutines required: <<_exit>>. + #include + #include "atexit.h" + ++// exit calls this handler; avoid a hard dependency on findfp by providing a weak global ++void (*__stdio_exit_handler)(void) __attribute__((weak)); ++ ++// exit calls this function; avoid a hard dependency on atexit by providing a simple weak implementation ++__attribute__((weak)) void __call_exitprocs(int rc, void* dso) ++{ ++ extern void __libc_fini_array(void); ++ __libc_fini_array(); ++} ++ + /* + * Exit, flushing stdio buffers if necessary. + */ diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c index 23aa10173..ba88eb9fb 100644 --- a/newlib/libc/stdlib/mlock.c From cc0e589e56c745d5d08ee3d3297f82a511600aa2 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 1 May 2023 22:58:56 +0100 Subject: [PATCH 225/280] devkitA64: update gcc to 13.1.0 --- dka64/patches/gcc-13.1.0-RC2-20230419.patch | 322 ------------------ .../{gcc-12.2.0.patch => gcc-13.1.0.patch} | 114 ++++--- select_toolchain.sh | 2 +- 3 files changed, 69 insertions(+), 369 deletions(-) delete mode 100644 dka64/patches/gcc-13.1.0-RC2-20230419.patch rename dka64/patches/{gcc-12.2.0.patch => gcc-13.1.0.patch} (79%) diff --git a/dka64/patches/gcc-13.1.0-RC2-20230419.patch b/dka64/patches/gcc-13.1.0-RC2-20230419.patch deleted file mode 100644 index 84fda18..0000000 --- a/dka64/patches/gcc-13.1.0-RC2-20230419.patch +++ /dev/null @@ -1,322 +0,0 @@ -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.cc gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.cc ---- gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.cc 2023-04-19 13:53:45.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.cc 2023-04-26 23:50:10.772394548 +0100 -@@ -19555,8 +19555,24 @@ - || !register_operand (target, Pmode)) - target = gen_reg_rtx (Pmode); - -- /* Can return in any reg. */ -- emit_insn (gen_aarch64_load_tp_hard (target)); -+ if (TARGET_HARD_TP) -+ { -+ /* Can return in any reg. */ -+ emit_insn (gen_aarch64_load_tp_hard (target)); -+ } -+ else -+ { -+ /* Always returned in r0. Immediately copy the result into a pseudo, -+ otherwise other uses of r0 (e.g. setting up function arguments) may -+ clobber the value. */ -+ -+ rtx tmp; -+ -+ emit_insn (gen_aarch64_load_tp_soft ()); -+ -+ tmp = gen_rtx_REG (DImode, R0_REGNUM); -+ emit_move_insn (target, tmp); -+ } - return target; - } - -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64-elf-raw.h gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64-elf-raw.h ---- gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64-elf-raw.h 2023-04-19 13:53:45.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64-elf-raw.h 2023-04-26 23:50:10.768394486 +0100 -@@ -22,6 +22,7 @@ - #ifndef GCC_AARCH64_ELF_RAW_H - #define GCC_AARCH64_ELF_RAW_H - -+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" - #define STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" - #define ENDFILE_SPEC \ - " crtend%O%s crtn%O%s " \ -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.h gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.h ---- gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.h 2023-04-19 13:53:45.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.h 2023-04-26 23:52:03.318171734 +0100 -@@ -1154,6 +1154,10 @@ - /* Check TLS Descriptors mechanism is selected. */ - #define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS) - -+/* Check selected thread pointer access sequence to use. */ -+#define TARGET_HARD_TP (target_thread_pointer == TP_HARD) -+#define TARGET_SOFT_TP (target_thread_pointer == TP_SOFT) -+ - extern enum aarch64_code_model aarch64_cmodel; - - /* When using the tiny addressing model conditional and unconditional branches -@@ -1185,7 +1189,7 @@ - - /* Extra specs when building a native AArch64-hosted compiler. - Option rewriting rules based on host system. */ --#if defined(__aarch64__) -+#if 0 // defined(__aarch64__) - extern const char *host_detect_local_cpu (int argc, const char **argv); - #define HAVE_LOCAL_CPU_DETECT - # define EXTRA_SPEC_FUNCTIONS \ -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.md gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.md ---- gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.md 2023-04-19 13:53:45.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.md 2023-04-26 23:50:10.776394611 +0100 -@@ -7068,11 +7068,22 @@ - (define_insn "aarch64_load_tp_hard" - [(set (match_operand:DI 0 "register_operand" "=r") - (unspec:DI [(const_int 0)] UNSPEC_TLS))] -- "" -- "mrs\\t%0, tpidr_el0" -+ "TARGET_HARD_TP" -+ "mrs\\t%0, tpidr_el0\\t// aarch64_load_tp_hard" - [(set_attr "type" "mrs")] - ) - -+(define_insn "aarch64_load_tp_soft" -+ [(set (reg:DI 0) (unspec:DI [(const_int 0)] UNSPEC_TLS)) -+ (clobber (reg:DI IP0_REGNUM)) -+ (clobber (reg:DI IP1_REGNUM)) -+ (clobber (reg:DI LR_REGNUM)) -+ (clobber (reg:CC CC_REGNUM))] -+ "TARGET_SOFT_TP" -+ "bl\\t__aarch64_read_tp\\t// aarch64_load_tp_soft" -+ [(set_attr "type" "branch")] -+) -+ - ;; The TLS ABI specifically requires that the compiler does not schedule - ;; instructions in the TLS stubs, in order to enable linker relaxation. - ;; Therefore we treat the stubs as an atomic sequence. -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.opt gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.opt ---- gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64.opt 2023-04-19 13:53:45.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64.opt 2023-04-26 23:50:10.776394611 +0100 -@@ -128,6 +128,21 @@ - EnumValue - Enum(aarch64_tls_size) String(48) Value(48) - -+mtp= -+Target RejectNegative Joined Enum(aarch64_tp_type) Var(target_thread_pointer) Init(TP_HARD) -+Specify how to access the thread pointer. -+ -+Enum -+Name(aarch64_tp_type) Type(enum aarch64_tp_type) -+Valid arguments to -mtp=: -+ -+EnumValue -+Enum(aarch64_tp_type) String(hard) Value(TP_HARD) -+ -+EnumValue -+Enum(aarch64_tp_type) String(soft) Value(TP_SOFT) -+ -+ - march= - Target RejectNegative Negative(march=) ToLower Joined Var(aarch64_arch_string) - Use features of architecture ARCH. -@@ -266,7 +281,7 @@ - long aarch64_stack_protector_guard_offset = 0 - - moutline-atomics --Target Var(aarch64_flag_outline_atomics) Init(2) Save -+Target Var(aarch64_flag_outline_atomics) Save - Generate local calls to out-of-line atomic operations. - - -param=aarch64-sve-compare-costs= -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64-opts.h gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64-opts.h ---- gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/aarch64-opts.h 2023-04-19 13:53:45.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config/aarch64/aarch64-opts.h 2023-04-26 23:50:10.768394486 +0100 -@@ -52,6 +52,12 @@ - TLS_DESCRIPTORS - }; - -+/* Which thread pointer access sequence to use. */ -+enum aarch64_tp_type { -+ TP_HARD, -+ TP_SOFT -+}; -+ - /* The code model defines the address generation strategy. - Most have a PIC and non-PIC variant. */ - enum aarch64_code_model { -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/t-aarch64 gcc-13.1.0-RC2-20230419/gcc/config/aarch64/t-aarch64 ---- gcc-13.1.0-RC2-20230419.orig/gcc/config/aarch64/t-aarch64 2023-04-19 13:53:45.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config/aarch64/t-aarch64 2023-04-26 23:50:10.776394611 +0100 -@@ -177,8 +177,10 @@ - $(srcdir)/config/aarch64/aarch64-cc-fusion.cc - - comma=, --MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG)))) --MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG)) -+MULTILIB_OPTIONS = mcmodel=large fPIC -+MULTILIB_DIRNAMES = large pic -+MULTILIB_REQUIRED = mcmodel=large fPIC -+MULTILIB_MATCHES = fPIC=fpic fPIC=fpie fPIC=fPIE - - insn-conditions.md: s-check-sve-md - s-check-sve-md: $(srcdir)/config/aarch64/check-sve-md.awk \ -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.h gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.h ---- gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.h 1970-01-01 01:00:00.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.h 2023-04-26 23:50:10.776394611 +0100 -@@ -0,0 +1,32 @@ -+/* Definitions for devkitPro toolchains. -+ Copyright (C) 2016-2018 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. -+ -+ 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 -+ . */ -+ -+#undef TARGET_OS_CPP_BUILTINS -+#define TARGET_OS_CPP_BUILTINS() \ -+ do { \ -+ builtin_define ("__DEVKITA64__"); \ -+ builtin_define ("__DEVKITPRO__"); \ -+ } while (0) -+ -+ -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.opt gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.opt ---- gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.opt 1970-01-01 01:00:00.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.opt 2023-04-26 23:50:10.776394611 +0100 -@@ -0,0 +1,29 @@ -+; Options for devkitPro toolchains. -+ -+; Copyright (C) 2011-2018 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 the GCC internals manual (options.texi) for a description of -+; this file's format. -+ -+; Please try to keep this file in ASCII collating order. -+ -+pthread -+Driver -+ -+; This comment is to ensure we retain the blank line above. -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config.gcc gcc-13.1.0-RC2-20230419/gcc/config.gcc ---- gcc-13.1.0-RC2-20230419.orig/gcc/config.gcc 2023-04-19 13:53:45.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config.gcc 2023-04-26 23:50:10.768394486 +0100 -@@ -1132,7 +1132,14 @@ - tmake_file="${tmake_file} aarch64/t-aarch64" - case $target in - aarch64-*-elf*) -+ default_use_cxa_atexit=yes - use_gcc_stdint=wrap -+ tm_file="${tm_file} devkitpro.h" -+ tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" -+ extra_options="${extra_options} devkitpro.opt" -+ case ${enable_threads} in -+ "" | yes | posix) thread_file='posix' ;; -+ esac - ;; - aarch64-*-fuchsia*) - tm_file="${tm_file} fuchsia.h" -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/gcc.cc gcc-13.1.0-RC2-20230419/gcc/gcc.cc ---- gcc-13.1.0-RC2-20230419.orig/gcc/gcc.cc 2023-04-19 13:53:46.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/gcc.cc 2023-04-26 23:50:10.776394611 +0100 -@@ -868,6 +868,11 @@ - #endif - #endif - -+#ifndef LIBGLOSS_SPEC -+# define LIBGLOSS_SPEC "-lsysbase" -+#endif -+ -+ - /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ - #ifndef STARTFILE_SPEC - #define STARTFILE_SPEC \ -@@ -1191,6 +1196,7 @@ - static const char *lib_spec = LIB_SPEC; - static const char *link_gomp_spec = ""; - static const char *libgcc_spec = LIBGCC_SPEC; -+static const char *libgloss_spec = LIBGLOSS_SPEC; - static const char *endfile_spec = ENDFILE_SPEC; - static const char *startfile_spec = STARTFILE_SPEC; - static const char *linker_name_spec = LINKER_NAME; -@@ -1701,6 +1707,7 @@ - INIT_STATIC_SPEC ("lib", &lib_spec), - INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), - INIT_STATIC_SPEC ("libgcc", &libgcc_spec), -+ INIT_STATIC_SPEC ("libgloss", &libgloss_spec), - INIT_STATIC_SPEC ("startfile", &startfile_spec), - INIT_STATIC_SPEC ("cross_compile", &cross_compile), - INIT_STATIC_SPEC ("version", &compiler_version), -diff -NBaur gcc-13.1.0-RC2-20230419.orig/libgcc/crtstuff.c gcc-13.1.0-RC2-20230419/libgcc/crtstuff.c ---- gcc-13.1.0-RC2-20230419.orig/libgcc/crtstuff.c 2023-04-19 13:53:49.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/libgcc/crtstuff.c 2023-04-26 23:50:10.776394611 +0100 -@@ -326,7 +326,7 @@ - - #ifdef OBJECT_FORMAT_ELF - --#if DEFAULT_USE_CXA_ATEXIT -+#if 1 /* DEFAULT_USE_CXA_ATEXIT */ - /* Declare the __dso_handle variable. It should have a unique value - in every shared-object; in a main program its value is zero. The - object should in any case be protected. This means the instance -diff -NBaur gcc-13.1.0-RC2-20230419.orig/libgcc/gthr.h gcc-13.1.0-RC2-20230419/libgcc/gthr.h ---- gcc-13.1.0-RC2-20230419.orig/libgcc/gthr.h 2023-04-19 13:53:49.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/libgcc/gthr.h 2023-04-26 23:50:10.776394611 +0100 -@@ -136,7 +136,7 @@ - /* The pe-coff weak support isn't fully compatible to ELF's weak. - For static libraries it might would work, but as we need to deal - with shared versions too, we disable it for mingw-targets. */ --#ifdef __MINGW32__ -+#if defined(__MINGW32__) || defined(__DEVKITA64__) - #undef GTHREAD_USE_WEAK - #define GTHREAD_USE_WEAK 0 - #endif -diff -NBaur gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.am gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.am ---- gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.am 2023-04-19 13:53:50.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.am 2023-04-26 23:50:10.776394611 +0100 -@@ -1417,6 +1417,7 @@ - -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ - -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ - -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ -+ -e 's/_GLIBCXX___DEVKITA64_GLIBCXX___/__DEVKITA64__/g' \ - -e 's,^#include "\(.*\)",#include ,g' \ - < $< > $@ - -diff -NBaur gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.in gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.in ---- gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.in 2023-04-19 13:53:50.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.in 2023-04-26 23:50:10.776394611 +0100 -@@ -1891,6 +1891,7 @@ - -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ - -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ - -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ -+ -e 's/_GLIBCXX___DEVKITA64_GLIBCXX___/__DEVKITA64__/g' \ - -e 's,^#include "\(.*\)",#include ,g' \ - < $< > $@ - diff --git a/dka64/patches/gcc-12.2.0.patch b/dka64/patches/gcc-13.1.0.patch similarity index 79% rename from dka64/patches/gcc-12.2.0.patch rename to dka64/patches/gcc-13.1.0.patch index 5a218a1..bb5d5e3 100644 --- a/dka64/patches/gcc-12.2.0.patch +++ b/dka64/patches/gcc-13.1.0.patch @@ -1,8 +1,8 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc -index c5064dd3766..decfa78fb7b 100644 +index 6fd1594480a..31deea1c63b 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc -@@ -1093,7 +1093,14 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) +@@ -1132,7 +1132,14 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) tmake_file="${tmake_file} aarch64/t-aarch64" case $target in aarch64-*-elf*) @@ -17,8 +17,21 @@ index c5064dd3766..decfa78fb7b 100644 ;; aarch64-*-fuchsia*) tm_file="${tm_file} fuchsia.h" +diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc +index cc6b7c01fd1..44d53659a2f 100644 +--- a/gcc/config/aarch64/aarch64-builtins.cc ++++ b/gcc/config/aarch64/aarch64-builtins.cc +@@ -1547,7 +1547,7 @@ aarch64_scalar_builtin_type_p (aarch64_simd_type t) + + /* Enable AARCH64_FL_* flags EXTRA_FLAGS on top of the base Advanced SIMD + set. */ +-aarch64_simd_switcher::aarch64_simd_switcher (unsigned int extra_flags) ++aarch64_simd_switcher::aarch64_simd_switcher (uint64_t extra_flags) + : m_old_asm_isa_flags (aarch64_asm_isa_flags), + m_old_general_regs_only (TARGET_GENERAL_REGS_ONLY) + { diff --git a/gcc/config/aarch64/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h -index d4d820a9d54..ed5dd440846 100644 +index ec45f23fa41..a208eabd806 100644 --- a/gcc/config/aarch64/aarch64-elf-raw.h +++ b/gcc/config/aarch64/aarch64-elf-raw.h @@ -22,6 +22,7 @@ @@ -30,10 +43,10 @@ index d4d820a9d54..ed5dd440846 100644 #define ENDFILE_SPEC \ " crtend%O%s crtn%O%s " \ diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h -index 93572fe8330..9327c52a819 100644 +index a9f3e2715ca..0c7304e1d81 100644 --- a/gcc/config/aarch64/aarch64-opts.h +++ b/gcc/config/aarch64/aarch64-opts.h -@@ -48,6 +48,12 @@ enum aarch64_tls_type { +@@ -52,6 +52,12 @@ enum aarch64_tls_type { TLS_DESCRIPTORS }; @@ -46,11 +59,29 @@ index 93572fe8330..9327c52a819 100644 /* The code model defines the address generation strategy. Most have a PIC and non-PIC variant. */ enum aarch64_code_model { +diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h +index 63339fa47df..02b4d3cbb8f 100644 +--- a/gcc/config/aarch64/aarch64-protos.h ++++ b/gcc/config/aarch64/aarch64-protos.h +@@ -733,11 +733,11 @@ const unsigned int AARCH64_BUILTIN_CLASS = (1 << AARCH64_BUILTIN_SHIFT) - 1; + class aarch64_simd_switcher + { + public: +- aarch64_simd_switcher (unsigned int extra_flags = 0); ++ aarch64_simd_switcher (uint64_t extra_flags = 0); + ~aarch64_simd_switcher (); + + private: +- unsigned long m_old_asm_isa_flags; ++ uint64_t m_old_asm_isa_flags; + bool m_old_general_regs_only; + }; + diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc -index 5c9e7791a12..718db155d57 100644 +index 0f04ab9fba0..c524a2f76ba 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc -@@ -19413,8 +19413,24 @@ aarch64_load_tp (rtx target) +@@ -19555,8 +19555,24 @@ aarch64_load_tp (rtx target) || !register_operand (target, Pmode)) target = gen_reg_rtx (Pmode); @@ -78,10 +109,10 @@ index 5c9e7791a12..718db155d57 100644 } diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h -index 359b6e8561f..f5b596fc312 100644 +index 155cace6afe..93ff5264a2e 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h -@@ -1245,6 +1245,10 @@ typedef struct +@@ -1154,6 +1154,10 @@ typedef struct /* Check TLS Descriptors mechanism is selected. */ #define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS) @@ -92,20 +123,11 @@ index 359b6e8561f..f5b596fc312 100644 extern enum aarch64_code_model aarch64_cmodel; /* When using the tiny addressing model conditional and unconditional branches -@@ -1290,7 +1294,7 @@ extern const char *aarch64_rewrite_mcpu (int argc, const char **argv); - #define MCPU_TO_MARCH_SPEC_FUNCTIONS \ - { "rewrite_mcpu", aarch64_rewrite_mcpu }, - --#if defined(__aarch64__) -+#if 0 // defined(__aarch64__) - extern const char *host_detect_local_cpu (int argc, const char **argv); - #define HAVE_LOCAL_CPU_DETECT - # define EXTRA_SPEC_FUNCTIONS \ diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md -index 34b8059b45b..4debacf3cb9 100644 +index 022eef80bc1..2024af16a17 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md -@@ -6906,11 +6906,22 @@ +@@ -7068,11 +7068,22 @@ (define_insn "aarch64_load_tp_hard" [(set (match_operand:DI 0 "register_operand" "=r") (unspec:DI [(const_int 0)] UNSPEC_TLS))] @@ -131,10 +153,10 @@ index 34b8059b45b..4debacf3cb9 100644 ;; instructions in the TLS stubs, in order to enable linker relaxation. ;; Therefore we treat the stubs as an atomic sequence. diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt -index 92220b26ee2..68abc1764f6 100644 +index 1d7967db9c0..17870f18b8b 100644 --- a/gcc/config/aarch64/aarch64.opt +++ b/gcc/config/aarch64/aarch64.opt -@@ -122,6 +122,21 @@ Enum(aarch64_tls_size) String(32) Value(32) +@@ -128,6 +128,21 @@ Enum(aarch64_tls_size) String(32) Value(32) EnumValue Enum(aarch64_tls_size) String(48) Value(48) @@ -156,7 +178,7 @@ index 92220b26ee2..68abc1764f6 100644 march= Target RejectNegative Negative(march=) ToLower Joined Var(aarch64_arch_string) Use features of architecture ARCH. -@@ -260,7 +275,7 @@ TargetVariable +@@ -266,7 +281,7 @@ TargetVariable long aarch64_stack_protector_guard_offset = 0 moutline-atomics @@ -166,7 +188,7 @@ index 92220b26ee2..68abc1764f6 100644 -param=aarch64-sve-compare-costs= diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64 -index ba74abc0a43..5202ec05d0b 100644 +index a9a244ab6d6..a29f2772d63 100644 --- a/gcc/config/aarch64/t-aarch64 +++ b/gcc/config/aarch64/t-aarch64 @@ -177,8 +177,10 @@ aarch64-cc-fusion.o: $(srcdir)/config/aarch64/aarch64-cc-fusion.cc \ @@ -256,26 +278,26 @@ index 00000000000..9acbbf9d27c + +; This comment is to ensure we retain the blank line above. diff --git a/gcc/config/i386/host-mingw32.cc b/gcc/config/i386/host-mingw32.cc -index 3b0d83ffc60..6e063b6ccd0 100644 +index acff6138d63..8dc91b75f93 100644 --- a/gcc/config/i386/host-mingw32.cc +++ b/gcc/config/i386/host-mingw32.cc -@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void); - static inline void w32_error(const char*, const char*, int, const char*); - - /* FIXME: Is this big enough? */ +@@ -93,7 +93,10 @@ mingw32_gt_pch_get_address (size_t size, int) + for NT system dlls is in 0x70000000 to 0x78000000 range. + If we allocate at bottom we need to reserve the address as early + as possible and at the same point in each invocation. */ +- ++ +#if __MINGW64__ -+static const size_t pch_VA_max_size = UINT64_C(64 * 1024 * 1024 * 1024); -+#else - static const size_t pch_VA_max_size = 128 * 1024 * 1024; ++ size = UINT64_C(64 * 1024 * 1024 * 1024); +#endif - - /* Granularity for reserving address space. */ - static size_t va_granularity = 0x10000; + res = VirtualAlloc (NULL, size, + MEM_RESERVE | MEM_TOP_DOWN, + PAGE_NOACCESS); diff --git a/gcc/gcc.cc b/gcc/gcc.cc -index bb07cc244e3..eff31f5093d 100644 +index 16bb07f2cdc..22a181a3a1c 100644 --- a/gcc/gcc.cc +++ b/gcc/gcc.cc -@@ -860,6 +860,11 @@ proper position among the other output files. */ +@@ -868,6 +868,11 @@ proper position among the other output files. */ #endif #endif @@ -287,7 +309,7 @@ index bb07cc244e3..eff31f5093d 100644 /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ #ifndef STARTFILE_SPEC #define STARTFILE_SPEC \ -@@ -1204,6 +1209,7 @@ static const char *link_spec = LINK_SPEC; +@@ -1191,6 +1196,7 @@ static const char *link_spec = LINK_SPEC; static const char *lib_spec = LIB_SPEC; static const char *link_gomp_spec = ""; static const char *libgcc_spec = LIBGCC_SPEC; @@ -295,7 +317,7 @@ index bb07cc244e3..eff31f5093d 100644 static const char *endfile_spec = ENDFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC; static const char *linker_name_spec = LINKER_NAME; -@@ -1709,6 +1715,7 @@ static struct spec_list static_specs[] = +@@ -1701,6 +1707,7 @@ static struct spec_list static_specs[] = INIT_STATIC_SPEC ("lib", &lib_spec), INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec), @@ -304,10 +326,10 @@ index bb07cc244e3..eff31f5093d 100644 INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("version", &compiler_version), diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index b98b86a5a88..3f62b3616d2 100644 +index 93ff5b81dc5..20c0fe89a28 100644 --- a/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c -@@ -325,7 +325,7 @@ register_tm_clones (void) +@@ -326,7 +326,7 @@ register_tm_clones (void) #ifdef OBJECT_FORMAT_ELF @@ -317,7 +339,7 @@ index b98b86a5a88..3f62b3616d2 100644 in every shared-object; in a main program its value is zero. The object should in any case be protected. This means the instance diff --git a/libgcc/gthr.h b/libgcc/gthr.h -index 7943c94f6d1..6d23362f7f0 100644 +index 1989c0c86ed..f1c49b2d4b1 100644 --- a/libgcc/gthr.h +++ b/libgcc/gthr.h @@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -330,10 +352,10 @@ index 7943c94f6d1..6d23362f7f0 100644 #define GTHREAD_USE_WEAK 0 #endif diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am -index 7708f4cf6c5..d3f484a5623 100644 +index a880e8ee227..c58249f986c 100644 --- a/libstdc++-v3/include/Makefile.am +++ b/libstdc++-v3/include/Makefile.am -@@ -1366,6 +1366,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} +@@ -1417,6 +1417,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ @@ -342,10 +364,10 @@ index 7708f4cf6c5..d3f484a5623 100644 < $< > $@ diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in -index 7023c2de23e..d150a616d13 100644 +index 0ff875b280b..37820c57a0a 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in -@@ -1857,6 +1857,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} +@@ -1891,6 +1891,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ diff --git a/select_toolchain.sh b/select_toolchain.sh index bd85639..9d23e33 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -49,7 +49,7 @@ case "$VERSION" in toolchain=DEVKITPPC ;; "3" ) - GCC_VER=13.1.0-RC2-20230419 + GCC_VER=13.1.0 BINUTILS_VER=2.32 NEWLIB_VER=4.3.0.20230120 basedir='dka64' From 3b8a45ed5b52a74f7100f1afa8189b952c280abf Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 17 Jun 2023 12:13:58 +0100 Subject: [PATCH 226/280] devkitA64: fix newlib patch --- dka64/patches/newlib-4.3.0.20230120.patch | 24460 +++++++++++--------- dka64/scripts/build-gcc.sh | 2 +- 2 files changed, 13809 insertions(+), 10653 deletions(-) diff --git a/dka64/patches/newlib-4.3.0.20230120.patch b/dka64/patches/newlib-4.3.0.20230120.patch index 727b64b..ecc680a 100644 --- a/dka64/patches/newlib-4.3.0.20230120.patch +++ b/dka64/patches/newlib-4.3.0.20230120.patch @@ -1,3 +1,121 @@ +From 4a4d4178e73eb2d1f5354c1c8598520db771d8f4 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Wed, 8 Mar 2023 16:16:21 +0000 +Subject: [PATCH 01/83] add libsysbase + +--- + libgloss/Makefile.am | 3 + + libgloss/configure.ac | 6 +- + libgloss/libsysbase/Makefile.inc | 50 + + libgloss/libsysbase/_exit.c | 16 + + libgloss/libsysbase/abort.c | 8 + + libgloss/libsysbase/acconfig.h | 29 + + libgloss/libsysbase/acinclude.m4 | 27 + + libgloss/libsysbase/build_argv.c | 32 + + libgloss/libsysbase/chdir.c | 201 ++ + libgloss/libsysbase/chmod.c | 29 + + libgloss/libsysbase/clocks.c | 34 + + libgloss/libsysbase/config.h.in | 25 + + libgloss/libsysbase/configure | 4162 +++++++++++++++++++++++++ + libgloss/libsysbase/configure.in | 202 ++ + libgloss/libsysbase/dirent.c | 255 ++ + libgloss/libsysbase/environ.c | 6 + + libgloss/libsysbase/execve.c | 16 + + libgloss/libsysbase/fchmod.c | 31 + + libgloss/libsysbase/fork.c | 15 + + libgloss/libsysbase/fstat.c | 32 + + libgloss/libsysbase/fsync.c | 34 + + libgloss/libsysbase/ftruncate.c | 34 + + libgloss/libsysbase/getpid.c | 12 + + libgloss/libsysbase/getreent.c | 20 + + libgloss/libsysbase/gettod.c | 18 + + libgloss/libsysbase/handle_manager.c | 222 ++ + libgloss/libsysbase/handle_manager.h | 10 + + libgloss/libsysbase/iosupport.c | 140 + + libgloss/libsysbase/isatty.c | 10 + + libgloss/libsysbase/kill.c | 15 + + libgloss/libsysbase/link.c | 30 + + libgloss/libsysbase/lseek.c | 35 + + libgloss/libsysbase/lstat.c | 30 + + libgloss/libsysbase/malloc_vars.c | 2 + + libgloss/libsysbase/mkdir.c | 19 + + libgloss/libsysbase/nanosleep.c | 14 + + libgloss/libsysbase/open.c | 46 + + libgloss/libsysbase/read.c | 32 + + libgloss/libsysbase/rename.c | 29 + + libgloss/libsysbase/rmdir.c | 34 + + libgloss/libsysbase/sbrk.c | 53 + + libgloss/libsysbase/scandir.c | 75 + + libgloss/libsysbase/sleep.c | 18 + + libgloss/libsysbase/stat.c | 29 + + libgloss/libsysbase/statvfs.c | 24 + + libgloss/libsysbase/sysbase.specs | 11 + + libgloss/libsysbase/syscall_support.c | 76 + + libgloss/libsysbase/times.c | 13 + + libgloss/libsysbase/truncate.c | 54 + + libgloss/libsysbase/unlink.c | 27 + + libgloss/libsysbase/usleep.c | 18 + + libgloss/libsysbase/utime.c | 41 + + libgloss/libsysbase/wait.c | 16 + + libgloss/libsysbase/warning.h | 43 + + libgloss/libsysbase/write.c | 31 + + newlib/libc/include/sys/iosupport.h | 115 + + 56 files changed, 6608 insertions(+), 1 deletion(-) + create mode 100644 libgloss/libsysbase/Makefile.inc + create mode 100644 libgloss/libsysbase/_exit.c + create mode 100644 libgloss/libsysbase/abort.c + create mode 100644 libgloss/libsysbase/acconfig.h + create mode 100644 libgloss/libsysbase/acinclude.m4 + create mode 100644 libgloss/libsysbase/build_argv.c + create mode 100644 libgloss/libsysbase/chdir.c + create mode 100644 libgloss/libsysbase/chmod.c + create mode 100644 libgloss/libsysbase/clocks.c + create mode 100644 libgloss/libsysbase/config.h.in + create mode 100644 libgloss/libsysbase/configure + create mode 100644 libgloss/libsysbase/configure.in + create mode 100644 libgloss/libsysbase/dirent.c + create mode 100644 libgloss/libsysbase/environ.c + create mode 100644 libgloss/libsysbase/execve.c + create mode 100644 libgloss/libsysbase/fchmod.c + create mode 100644 libgloss/libsysbase/fork.c + create mode 100644 libgloss/libsysbase/fstat.c + create mode 100644 libgloss/libsysbase/fsync.c + create mode 100644 libgloss/libsysbase/ftruncate.c + create mode 100644 libgloss/libsysbase/getpid.c + create mode 100644 libgloss/libsysbase/getreent.c + create mode 100644 libgloss/libsysbase/gettod.c + create mode 100644 libgloss/libsysbase/handle_manager.c + create mode 100644 libgloss/libsysbase/handle_manager.h + create mode 100644 libgloss/libsysbase/iosupport.c + create mode 100644 libgloss/libsysbase/isatty.c + create mode 100644 libgloss/libsysbase/kill.c + create mode 100644 libgloss/libsysbase/link.c + create mode 100644 libgloss/libsysbase/lseek.c + create mode 100644 libgloss/libsysbase/lstat.c + create mode 100644 libgloss/libsysbase/malloc_vars.c + create mode 100644 libgloss/libsysbase/mkdir.c + create mode 100644 libgloss/libsysbase/nanosleep.c + create mode 100644 libgloss/libsysbase/open.c + create mode 100644 libgloss/libsysbase/read.c + create mode 100644 libgloss/libsysbase/rename.c + create mode 100644 libgloss/libsysbase/rmdir.c + create mode 100644 libgloss/libsysbase/sbrk.c + create mode 100644 libgloss/libsysbase/scandir.c + create mode 100644 libgloss/libsysbase/sleep.c + create mode 100644 libgloss/libsysbase/stat.c + create mode 100644 libgloss/libsysbase/statvfs.c + create mode 100644 libgloss/libsysbase/sysbase.specs + create mode 100644 libgloss/libsysbase/syscall_support.c + create mode 100644 libgloss/libsysbase/times.c + create mode 100644 libgloss/libsysbase/truncate.c + create mode 100644 libgloss/libsysbase/unlink.c + create mode 100644 libgloss/libsysbase/usleep.c + create mode 100644 libgloss/libsysbase/utime.c + create mode 100644 libgloss/libsysbase/wait.c + create mode 100644 libgloss/libsysbase/warning.h + create mode 100644 libgloss/libsysbase/write.c + create mode 100644 newlib/libc/include/sys/iosupport.h + diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am index 4309cd3a4..fad31dbe0 100644 --- a/libgloss/Makefile.am @@ -12,3535 +130,3304 @@ index 4309cd3a4..fad31dbe0 100644 if CONFIG_LM32 include lm32/Makefile.inc endif -diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in -index a117577ea..44731970d 100644 ---- a/libgloss/Makefile.in -+++ b/libgloss/Makefile.in -@@ -173,23 +173,26 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) - @CONFIG_IQ2000_TRUE@am__append_26 = iq2000/test - @CONFIG_LIBNOSYS_TRUE@am__append_27 = libnosys/nosys.specs - @CONFIG_LIBNOSYS_TRUE@am__append_28 = libnosys/libnosys.a --@CONFIG_LM32_TRUE@am__append_29 = lm32/crt0.o lm32/sim.ld --@CONFIG_LM32_TRUE@am__append_30 = lm32/libgloss.a --@CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.S --@CONFIG_NIOS2_TRUE@am__append_32 = \ -+@CONFIG_LIBSYSBASE_TRUE@am__append_29 = libsysbase/sysbase.specs -+@CONFIG_LIBSYSBASE_TRUE@am__append_30 = libsysbase/libpthread.a \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase.a -+@CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.o lm32/sim.ld -+@CONFIG_LM32_TRUE@am__append_32 = lm32/libgloss.a -+@CONFIG_LM32_TRUE@am__append_33 = lm32/crt0.S -+@CONFIG_NIOS2_TRUE@am__append_34 = \ - @CONFIG_NIOS2_TRUE@ nios2/qemu-hosted.ld - --@CONFIG_NIOS2_TRUE@am__append_33 = nios2/libnios2.a --@CONFIG_RISCV_TRUE@am__append_34 = \ -+@CONFIG_NIOS2_TRUE@am__append_35 = nios2/libnios2.a -+@CONFIG_RISCV_TRUE@am__append_36 = \ - @CONFIG_RISCV_TRUE@ riscv/nano.specs \ - @CONFIG_RISCV_TRUE@ riscv/sim.specs \ - @CONFIG_RISCV_TRUE@ riscv/semihost.specs \ - @CONFIG_RISCV_TRUE@ riscv/crt0.o +diff --git a/libgloss/configure.ac b/libgloss/configure.ac +index 5fb26845c..cf07fb118 100644 +--- a/libgloss/configure.ac ++++ b/libgloss/configure.ac +@@ -43,6 +43,9 @@ config_testsuite=true + dnl indicates whether to run configure within the libnosys subdirectory + config_libnosys=true --@CONFIG_RISCV_TRUE@am__append_35 = riscv/libgloss.a \ -+@CONFIG_RISCV_TRUE@am__append_37 = riscv/libgloss.a \ - @CONFIG_RISCV_TRUE@ riscv/libsemihost.a --@CONFIG_WINCE_TRUE@am__append_36 = $(gdbdir) --@CONFIG_WINCE_TRUE@am__append_37 = wince/stub.exe -+@CONFIG_WINCE_TRUE@am__append_38 = $(gdbdir) -+@CONFIG_WINCE_TRUE@am__append_39 = wince/stub.exe - subdir = . - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ -@@ -199,6 +202,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ - $(top_srcdir)/aarch64/acinclude.m4 \ - $(top_srcdir)/arm/acinclude.m4 $(top_srcdir)/i386/acinclude.m4 \ - $(top_srcdir)/libnosys/acinclude.m4 \ -+ $(top_srcdir)/libsysbase/acinclude.m4 \ - $(top_srcdir)/m68k/acinclude.m4 \ - $(top_srcdir)/mcore/acinclude.m4 \ - $(top_srcdir)/mips/acinclude.m4 \ -@@ -421,6 +425,69 @@ libobjs_a_LIBADD = - am_libobjs_a_OBJECTS = $(am__objects_3) $(am__objects_4) \ - $(am__objects_5) $(am__objects_6) - libobjs_a_OBJECTS = $(am_libobjs_a_OBJECTS) -+libsysbase_libpthread_a_AR = $(AR) $(ARFLAGS) -+libsysbase_libpthread_a_LIBADD = -+@CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libpthread_a_OBJECTS = \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dummy.$(OBJEXT) -+libsysbase_libpthread_a_OBJECTS = \ -+ $(am_libsysbase_libpthread_a_OBJECTS) -+libsysbase_libsysbase_a_AR = $(AR) $(ARFLAGS) -+libsysbase_libsysbase_a_LIBADD = -+@CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libsysbase_a_OBJECTS = libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-concatenate.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fpathconf.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-getpid.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-getreent.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-gettod.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-handle_manager.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-iosupport.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-isatty.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-kill.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-link.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lseek.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pthread.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-readlink.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-scandir.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-symlink.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-unlink.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-usleep.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-utime.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-wait.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-write.$(OBJEXT) -+libsysbase_libsysbase_a_OBJECTS = \ -+ $(am_libsysbase_libsysbase_a_OBJECTS) - lm32_libgloss_a_AR = $(AR) $(ARFLAGS) - lm32_libgloss_a_LIBADD = - @CONFIG_LM32_TRUE@am_lm32_libgloss_a_OBJECTS = lm32/isatty.$(OBJEXT) \ -@@ -572,7 +639,8 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ - $(bfin_libbfinbsp_a_SOURCES) $(bfin_libsim_a_SOURCES) \ - $(csky_libsemi_a_SOURCES) $(d30v_libsim_a_SOURCES) \ - $(iq2000_libeval_a_SOURCES) $(libnosys_libnosys_a_SOURCES) \ -- $(libobjs_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ -+ $(libobjs_a_SOURCES) $(libsysbase_libpthread_a_SOURCES) \ -+ $(libsysbase_libsysbase_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ - $(nios2_libnios2_a_SOURCES) $(riscv_libgloss_a_SOURCES) \ - $(riscv_libsemihost_a_SOURCES) bfin/sim-test.c iq2000/test.c \ - $(wince_stub_exe_SOURCES) -@@ -662,7 +730,7 @@ ETAGS = etags - CTAGS = ctags - CSCOPE = cscope - DIST_SUBDIRS = $(SUBDIRS) --VPATH = @srcdir@ $(am__append_36) -+VPATH = @srcdir@ $(am__append_38) - AARCH64_OBJTYPE = @AARCH64_OBJTYPE@ - ACLOCAL = @ACLOCAL@ - AMTAR = @AMTAR@ -@@ -772,6 +840,7 @@ pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ - psdir = @psdir@ -+runstatedir = @runstatedir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ - srcdir = @srcdir@ -@@ -797,12 +866,13 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) - multilibtool_DATA = $(am__append_3) $(am__append_6) $(am__append_7) \ - $(am__append_8) $(am__append_13) $(am__append_15) \ - $(am__append_18) $(am__append_22) $(am__append_23) \ -- $(am__append_27) $(am__append_29) $(am__append_32) \ -- $(am__append_34) -+ $(am__append_27) $(am__append_29) $(am__append_31) \ -+ $(am__append_34) $(am__append_36) - multilibtool_LIBRARIES = $(am__append_2) $(am__append_5) \ - $(am__append_9) $(am__append_11) $(am__append_20) \ - $(am__append_21) $(am__append_24) $(am__append_28) \ -- $(am__append_30) $(am__append_33) $(am__append_35) -+ $(am__append_30) $(am__append_32) $(am__append_35) \ -+ $(am__append_37) - includetooldir = $(tooldir)/include - includetool_DATA = $(am__append_16) - includesystooldir = $(tooldir)/include/sys -@@ -813,7 +883,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include - # to install (e.g. our crt0.o objects). - noinst_LIBRARIES = libobjs.a - libobjs_a_SOURCES = $(am__append_14) $(am__append_19) $(am__append_25) \ -- $(am__append_31) -+ $(am__append_33) - FLAGS_TO_PASS = \ - "CC=$(CC)" \ - "CFLAGS=$(CFLAGS)" \ -@@ -992,6 +1062,65 @@ TEXINFO_TEX = ../texinfo/texinfo.tex - @CONFIG_LIBNOSYS_TRUE@ libnosys/write.c \ - @CONFIG_LIBNOSYS_TRUE@ libnosys/_exit.c ++dnl indicates whether to run configure within the libsysbase subdirectory ++config_libsysbase=true ++ + host_makefile_frag=${srcdir}/config/default.mh + target_makefile_frag=${srcdir}/config/default.mt -+@CONFIG_LIBSYSBASE_TRUE@libsysbase_libpthread_a_SOURCES = \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dummy.c +@@ -247,7 +250,7 @@ AC_SUBST(subdirs) + dnl These subdirs have converted to non-recursive make. Hopefully someday all + dnl the ports above will too! + m4_foreach_w([SUBDIR], [ +- aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 nios2 riscv wince ++ aarch64 arc arm bfin csky d30v iq2000 libnosys libsysbase lm32 nios2 riscv wince + ], [dnl + AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue) + ]) +@@ -343,6 +346,7 @@ m4_include([aarch64/acinclude.m4]) + m4_include([arm/acinclude.m4]) + m4_include([i386/acinclude.m4]) + m4_include([libnosys/acinclude.m4]) ++m4_include([libsysbase/acinclude.m4]) + m4_include([m68k/acinclude.m4]) + m4_include([mcore/acinclude.m4]) + m4_include([mips/acinclude.m4]) +diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc +new file mode 100644 +index 000000000..df4a97dc8 +--- /dev/null ++++ b/libgloss/libsysbase/Makefile.inc +@@ -0,0 +1,50 @@ ++multilibtool_DATA += %D%/sysbase.specs ++multilibtool_LIBRARIES += %D%/libsysbase.a + -+@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE -+@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_SOURCES = \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/_exit.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/abort.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/build_argv.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chdir.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chmod.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/clocks.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/concatenate.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dirent.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fchmod.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/flock.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fnmatch.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fpathconf.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fsync.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/ftruncate.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/getpid.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/getreent.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/gettod.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/handle_manager.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/iosupport.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/isatty.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/kill.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/link.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/lseek.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/lstat.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/malloc_vars.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/mkdir.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pthread.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/nanosleep.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/readlink.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/realpath.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sbrk.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/scandir.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sleep.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/stat.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/statvfs.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/symlink.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/syscall_support.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/times.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/truncate.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/unlink.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/usleep.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/utime.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/wait.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/write.c ++%C%_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE + - @CONFIG_LM32_TRUE@lm32_libgloss_a_SOURCES = \ - @CONFIG_LM32_TRUE@ lm32/isatty.c \ - @CONFIG_LM32_TRUE@ lm32/scall.S -@@ -1099,7 +1228,7 @@ all: config.h - .SUFFIXES: .S .c .dvi .o .obj .ps - am--refresh: Makefile - @: --$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ -@@ -1121,7 +1250,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; --$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): -+$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): - - $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck -@@ -1585,6 +1714,183 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE - $(AM_V_at)-rm -f libobjs.a - $(AM_V_AR)$(libobjs_a_AR) libobjs.a $(libobjs_a_OBJECTS) $(libobjs_a_LIBADD) - $(AM_V_at)$(RANLIB) libobjs.a -+libsysbase/$(am__dirstamp): -+ @$(MKDIR_P) libsysbase -+ @: > libsysbase/$(am__dirstamp) -+libsysbase/$(DEPDIR)/$(am__dirstamp): -+ @$(MKDIR_P) libsysbase/$(DEPDIR) -+ @: > libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/dummy.$(OBJEXT): libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) ++%C%_libsysbase_a_SOURCES = \ ++ %D%/_exit.c \ ++ %D%/abort.c \ ++ %D%/build_argv.c \ ++ %D%/chdir.c \ ++ %D%/chmod.c \ ++ %D%/clocks.c \ ++ %D%/dirent.c \ ++ %D%/environ.c \ ++ %D%/execve.c \ ++ %D%/fchmod.c \ ++ %D%/fork.c \ ++ %D%/fstat.c \ ++ %D%/fsync.c \ ++ %D%/ftruncate.c \ ++ %D%/getpid.c \ ++ %D%/getreent.c \ ++ %D%/gettod.c \ ++ %D%/handle_manager.c \ ++ %D%/iosupport.c \ ++ %D%/isatty.c \ ++ %D%/kill.c \ ++ %D%/link.c \ ++ %D%/lseek.c \ ++ %D%/lstat.c \ ++ %D%/malloc_vars.c \ ++ %D%/mkdir.c \ ++ %D%/nanosleep.c \ ++ %D%/open.c \ ++ %D%/read.c \ ++ %D%/rename.c \ ++ %D%/rmdir.c \ ++ %D%/sbrk.c \ ++ %D%/scandir.c \ ++ %D%/sleep.c \ ++ %D%/stat.c \ ++ %D%/statvfs.c \ ++ %D%/syscall_support.c \ ++ %D%/times.c \ ++ %D%/truncate.c \ ++ %D%/unlink.c \ ++ %D%/usleep.c \ ++ %D%/utime.c \ ++ %D%/wait.c \ ++ %D%/write.c +diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c +new file mode 100644 +index 000000000..a45723f84 +--- /dev/null ++++ b/libgloss/libsysbase/_exit.c +@@ -0,0 +1,16 @@ ++/* Stub version of _exit. */ + -+libsysbase/libpthread.a: $(libsysbase_libpthread_a_OBJECTS) $(libsysbase_libpthread_a_DEPENDENCIES) $(EXTRA_libsysbase_libpthread_a_DEPENDENCIES) libsysbase/$(am__dirstamp) -+ $(AM_V_at)-rm -f libsysbase/libpthread.a -+ $(AM_V_AR)$(libsysbase_libpthread_a_AR) libsysbase/libpthread.a $(libsysbase_libpthread_a_OBJECTS) $(libsysbase_libpthread_a_LIBADD) -+ $(AM_V_at)$(RANLIB) libsysbase/libpthread.a -+libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-concatenate.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-fpathconf.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-getpid.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-getreent.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-gettod.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-handle_manager.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-iosupport.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-isatty.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-kill.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-link.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-lseek.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-pthread.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-readlink.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-scandir.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-symlink.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-unlink.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-usleep.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-utime.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-wait.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-write.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) ++#include ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include + -+libsysbase/libsysbase.a: $(libsysbase_libsysbase_a_OBJECTS) $(libsysbase_libsysbase_a_DEPENDENCIES) $(EXTRA_libsysbase_libsysbase_a_DEPENDENCIES) libsysbase/$(am__dirstamp) -+ $(AM_V_at)-rm -f libsysbase/libsysbase.a -+ $(AM_V_AR)$(libsysbase_libsysbase_a_AR) libsysbase/libsysbase.a $(libsysbase_libsysbase_a_OBJECTS) $(libsysbase_libsysbase_a_LIBADD) -+ $(AM_V_at)$(RANLIB) libsysbase/libsysbase.a - lm32/isatty.$(OBJEXT): lm32/$(am__dirstamp) \ - lm32/$(DEPDIR)/$(am__dirstamp) - lm32/scall.$(OBJEXT): lm32/$(am__dirstamp) \ -@@ -1852,6 +2158,7 @@ mostlyclean-compile: - -rm -f d30v/*.$(OBJEXT) - -rm -f iq2000/*.$(OBJEXT) - -rm -f libnosys/*.$(OBJEXT) -+ -rm -f libsysbase/*.$(OBJEXT) - -rm -f lm32/*.$(OBJEXT) - -rm -f nios2/*.$(OBJEXT) - -rm -f riscv/*.$(OBJEXT) -@@ -1973,6 +2280,60 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/unlink.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/wait.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/write.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/dummy.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/crt0.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/isatty.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/scall.Po@am__quote@ -@@ -2717,6 +3078,748 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csky_libsemi_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o csky/csky_libsemi_a-getpid.obj `if test -f 'csky/getpid.c'; then $(CYGPATH_W) 'csky/getpid.c'; else $(CYGPATH_W) '$(srcdir)/csky/getpid.c'; fi` - -+libsysbase/libsysbase_libsysbase_a-_exit.o: libsysbase/_exit.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-_exit.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo -c -o libsysbase/libsysbase_libsysbase_a-_exit.o `test -f 'libsysbase/_exit.c' || echo '$(srcdir)/'`libsysbase/_exit.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/_exit.c' object='libsysbase/libsysbase_libsysbase_a-_exit.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-_exit.o `test -f 'libsysbase/_exit.c' || echo '$(srcdir)/'`libsysbase/_exit.c ++void _exit(int rc) ++{ ++ if ( __has_syscall(exit) ) { ++ __syscall_exit(rc); ++ } + -+libsysbase/libsysbase_libsysbase_a-_exit.obj: libsysbase/_exit.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-_exit.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo -c -o libsysbase/libsysbase_libsysbase_a-_exit.obj `if test -f 'libsysbase/_exit.c'; then $(CYGPATH_W) 'libsysbase/_exit.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/_exit.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/_exit.c' object='libsysbase/libsysbase_libsysbase_a-_exit.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-_exit.obj `if test -f 'libsysbase/_exit.c'; then $(CYGPATH_W) 'libsysbase/_exit.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/_exit.c'; fi` ++ while(1); ++} +diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c +new file mode 100644 +index 000000000..9272e22c9 +--- /dev/null ++++ b/libgloss/libsysbase/abort.c +@@ -0,0 +1,8 @@ ++#include ++#include + -+libsysbase/libsysbase_libsysbase_a-abort.o: libsysbase/abort.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-abort.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo -c -o libsysbase/libsysbase_libsysbase_a-abort.o `test -f 'libsysbase/abort.c' || echo '$(srcdir)/'`libsysbase/abort.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/abort.c' object='libsysbase/libsysbase_libsysbase_a-abort.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.o `test -f 'libsysbase/abort.c' || echo '$(srcdir)/'`libsysbase/abort.c ++void abort(void) { ++ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); ++ _exit (1); ++} + -+libsysbase/libsysbase_libsysbase_a-abort.obj: libsysbase/abort.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-abort.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/abort.c' object='libsysbase/libsysbase_libsysbase_a-abort.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` +diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h +new file mode 100644 +index 000000000..200ea7873 +--- /dev/null ++++ b/libgloss/libsysbase/acconfig.h +@@ -0,0 +1,29 @@ ++/* Name of package. */ ++#undef PACKAGE + -+libsysbase/libsysbase_libsysbase_a-build_argv.o: libsysbase/build_argv.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/build_argv.c' object='libsysbase/libsysbase_libsysbase_a-build_argv.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c ++/* Version of package. */ ++#undef VERSION + -+libsysbase/libsysbase_libsysbase_a-build_argv.obj: libsysbase/build_argv.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.obj `if test -f 'libsysbase/build_argv.c'; then $(CYGPATH_W) 'libsysbase/build_argv.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/build_argv.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/build_argv.c' object='libsysbase/libsysbase_libsysbase_a-build_argv.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-build_argv.obj `if test -f 'libsysbase/build_argv.c'; then $(CYGPATH_W) 'libsysbase/build_argv.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/build_argv.c'; fi` ++/* Missing syscall names */ ++#undef MISSING_SYSCALL_NAMES + -+libsysbase/libsysbase_libsysbase_a-chdir.o: libsysbase/chdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chdir.o `test -f 'libsysbase/chdir.c' || echo '$(srcdir)/'`libsysbase/chdir.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chdir.c' object='libsysbase/libsysbase_libsysbase_a-chdir.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chdir.o `test -f 'libsysbase/chdir.c' || echo '$(srcdir)/'`libsysbase/chdir.c ++/* Reentrant syscalls */ ++#undef REENTRANT_SYSCALLS_PROVIDED + -+libsysbase/libsysbase_libsysbase_a-chdir.obj: libsysbase/chdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chdir.obj `if test -f 'libsysbase/chdir.c'; then $(CYGPATH_W) 'libsysbase/chdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chdir.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chdir.c' object='libsysbase/libsysbase_libsysbase_a-chdir.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chdir.obj `if test -f 'libsysbase/chdir.c'; then $(CYGPATH_W) 'libsysbase/chdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chdir.c'; fi` ++/* Using ELF format */ ++#undef HAVE_ELF + -+libsysbase/libsysbase_libsysbase_a-chmod.o: libsysbase/chmod.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chmod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chmod.o `test -f 'libsysbase/chmod.c' || echo '$(srcdir)/'`libsysbase/chmod.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chmod.c' object='libsysbase/libsysbase_libsysbase_a-chmod.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chmod.o `test -f 'libsysbase/chmod.c' || echo '$(srcdir)/'`libsysbase/chmod.c ++/* Using GNU LD */ ++#undef HAVE_GNU_LD + -+libsysbase/libsysbase_libsysbase_a-chmod.obj: libsysbase/chmod.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chmod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chmod.obj `if test -f 'libsysbase/chmod.c'; then $(CYGPATH_W) 'libsysbase/chmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chmod.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chmod.c' object='libsysbase/libsysbase_libsysbase_a-chmod.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chmod.obj `if test -f 'libsysbase/chmod.c'; then $(CYGPATH_W) 'libsysbase/chmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chmod.c'; fi` ++/* .previous directive allowed */ ++#undef HAVE_ASM_PREVIOUS_DIRECTIVE + -+libsysbase/libsysbase_libsysbase_a-clocks.o: libsysbase/clocks.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-clocks.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo -c -o libsysbase/libsysbase_libsysbase_a-clocks.o `test -f 'libsysbase/clocks.c' || echo '$(srcdir)/'`libsysbase/clocks.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/clocks.c' object='libsysbase/libsysbase_libsysbase_a-clocks.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.o `test -f 'libsysbase/clocks.c' || echo '$(srcdir)/'`libsysbase/clocks.c ++/* .pushsection/.popsection directives allowed */ ++#undef HAVE_ASM_POPSECTION_DIRECTIVE + -+libsysbase/libsysbase_libsysbase_a-clocks.obj: libsysbase/clocks.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-clocks.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/clocks.c' object='libsysbase/libsysbase_libsysbase_a-clocks.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` ++/* support for section attributes */ ++#undef HAVE_SECTION_ATTRIBUTES + -+libsysbase/libsysbase_libsysbase_a-concatenate.o: libsysbase/concatenate.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-concatenate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-concatenate.o `test -f 'libsysbase/concatenate.c' || echo '$(srcdir)/'`libsysbase/concatenate.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/concatenate.c' object='libsysbase/libsysbase_libsysbase_a-concatenate.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-concatenate.o `test -f 'libsysbase/concatenate.c' || echo '$(srcdir)/'`libsysbase/concatenate.c ++/* symbol prefix */ ++#undef __SYMBOL_PREFIX +diff --git a/libgloss/libsysbase/acinclude.m4 b/libgloss/libsysbase/acinclude.m4 +new file mode 100644 +index 000000000..7b0d7b4d6 +--- /dev/null ++++ b/libgloss/libsysbase/acinclude.m4 +@@ -0,0 +1,27 @@ ++dnl Make sure syscall names match those being used by newlib ++case "${target}" in ++ *-*-cygwin*) ;; ++ a29k-amd-udi) ;; ++ aarch64*-*-*) ;; ++ arc-*-*) ;; ++ arm*-*-*) ;; ++ bfin-*-*) ;; ++ cris-*-* | crisv32-*-*) ;; ++ d10v*) ;; ++ h8300*-*-*) ;; ++ h8500-*-*) ;; ++ i[3456]86-*-sco*) ;; ++ lm32-*-*) ;; ++ m32r-*-*) ;; ++ mn10?00-*-*) ;; ++ riscv*-*-*) ;; ++ powerpcle-*-pe) ;; ++ sh*-*-*) ;; ++ sparc-sun-sunos*) ;; ++ sparc64-*-*) ;; ++ v850*-*-*) ;; ++ w65-*-*) ;; ++ xstormy16-*-*) ;; ++ z8k-*-*) ;; ++ *) AC_DEFINE(MISSING_SYSCALL_NAMES, 1, [Missing syscall names]) ;; ++esac +diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c +new file mode 100644 +index 000000000..0697f53d2 +--- /dev/null ++++ b/libgloss/libsysbase/build_argv.c +@@ -0,0 +1,32 @@ ++struct __argv { ++ int argvMagic; ++ char *commandLine; ++ int length; ++ int argc; ++ char **argv; ++ char **endARGV; ++}; + -+libsysbase/libsysbase_libsysbase_a-concatenate.obj: libsysbase/concatenate.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-concatenate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-concatenate.obj `if test -f 'libsysbase/concatenate.c'; then $(CYGPATH_W) 'libsysbase/concatenate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/concatenate.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/concatenate.c' object='libsysbase/libsysbase_libsysbase_a-concatenate.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-concatenate.obj `if test -f 'libsysbase/concatenate.c'; then $(CYGPATH_W) 'libsysbase/concatenate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/concatenate.c'; fi` + -+libsysbase/libsysbase_libsysbase_a-dirent.o: libsysbase/dirent.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/dirent.c' object='libsysbase/libsysbase_libsysbase_a-dirent.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c ++void build_argv (struct __argv* argstruct ) { + -+libsysbase/libsysbase_libsysbase_a-dirent.obj: libsysbase/dirent.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.obj `if test -f 'libsysbase/dirent.c'; then $(CYGPATH_W) 'libsysbase/dirent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/dirent.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/dirent.c' object='libsysbase/libsysbase_libsysbase_a-dirent.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-dirent.obj `if test -f 'libsysbase/dirent.c'; then $(CYGPATH_W) 'libsysbase/dirent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/dirent.c'; fi` ++ char *data = argstruct->commandLine; ++ int len = argstruct->length; + -+libsysbase/libsysbase_libsysbase_a-environ.o: libsysbase/environ.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-environ.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo -c -o libsysbase/libsysbase_libsysbase_a-environ.o `test -f 'libsysbase/environ.c' || echo '$(srcdir)/'`libsysbase/environ.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/environ.c' object='libsysbase/libsysbase_libsysbase_a-environ.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-environ.o `test -f 'libsysbase/environ.c' || echo '$(srcdir)/'`libsysbase/environ.c ++ char** argv = (char**)(((int)data + len + sizeof(char **)) & ~(sizeof(char **)-1)); ++ char* end = data + len - 1; ++ int argCount = 0; + -+libsysbase/libsysbase_libsysbase_a-environ.obj: libsysbase/environ.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-environ.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo -c -o libsysbase/libsysbase_libsysbase_a-environ.obj `if test -f 'libsysbase/environ.c'; then $(CYGPATH_W) 'libsysbase/environ.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/environ.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/environ.c' object='libsysbase/libsysbase_libsysbase_a-environ.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-environ.obj `if test -f 'libsysbase/environ.c'; then $(CYGPATH_W) 'libsysbase/environ.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/environ.c'; fi` ++ do { ++ argv[argCount++] = data; // Add next arg to argv list ++ while (*(data) && data < end) data++; // Move to next NULL delimiter ++ data++; // Move to one after the NULL delimiter ++ } while (data < end); + -+libsysbase/libsysbase_libsysbase_a-execve.o: libsysbase/execve.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-execve.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo -c -o libsysbase/libsysbase_libsysbase_a-execve.o `test -f 'libsysbase/execve.c' || echo '$(srcdir)/'`libsysbase/execve.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/execve.c' object='libsysbase/libsysbase_libsysbase_a-execve.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-execve.o `test -f 'libsysbase/execve.c' || echo '$(srcdir)/'`libsysbase/execve.c ++ *end = '\0'; // Force NULL terminator for last arg ++ argv[argCount] = 0; // Force NULL terminator for argv + -+libsysbase/libsysbase_libsysbase_a-execve.obj: libsysbase/execve.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-execve.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo -c -o libsysbase/libsysbase_libsysbase_a-execve.obj `if test -f 'libsysbase/execve.c'; then $(CYGPATH_W) 'libsysbase/execve.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/execve.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/execve.c' object='libsysbase/libsysbase_libsysbase_a-execve.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-execve.obj `if test -f 'libsysbase/execve.c'; then $(CYGPATH_W) 'libsysbase/execve.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/execve.c'; fi` ++ argstruct->argv = argv; ++ argstruct->argc = argCount; ++ argstruct->endARGV = &argv[argCount + 1]; ++} +diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c +new file mode 100644 +index 000000000..90d2dc5b7 +--- /dev/null ++++ b/libgloss/libsysbase/chdir.c +@@ -0,0 +1,201 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + -+libsysbase/libsysbase_libsysbase_a-fchmod.o: libsysbase/fchmod.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fchmod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fchmod.o `test -f 'libsysbase/fchmod.c' || echo '$(srcdir)/'`libsysbase/fchmod.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fchmod.c' object='libsysbase/libsysbase_libsysbase_a-fchmod.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.o `test -f 'libsysbase/fchmod.c' || echo '$(srcdir)/'`libsysbase/fchmod.c ++/* CWD always start with "/" */ ++static char _current_working_directory [PATH_MAX] = "/"; ++static char temp_cwd [PATH_MAX]; + -+libsysbase/libsysbase_libsysbase_a-fchmod.obj: libsysbase/fchmod.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fchmod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fchmod.c' object='libsysbase/libsysbase_libsysbase_a-fchmod.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` ++#define DIRECTORY_SEPARATOR_CHAR '/' ++const char DIRECTORY_SEPARATOR[] = "/"; ++const char DIRECTORY_THIS[] = "."; ++const char DIRECTORY_PARENT[] = ".."; + -+libsysbase/libsysbase_libsysbase_a-flock.o: libsysbase/flock.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-flock.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo -c -o libsysbase/libsysbase_libsysbase_a-flock.o `test -f 'libsysbase/flock.c' || echo '$(srcdir)/'`libsysbase/flock.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/flock.c' object='libsysbase/libsysbase_libsysbase_a-flock.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-flock.o `test -f 'libsysbase/flock.c' || echo '$(srcdir)/'`libsysbase/flock.c ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; + -+libsysbase/libsysbase_libsysbase_a-flock.obj: libsysbase/flock.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-flock.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo -c -o libsysbase/libsysbase_libsysbase_a-flock.obj `if test -f 'libsysbase/flock.c'; then $(CYGPATH_W) 'libsysbase/flock.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/flock.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/flock.c' object='libsysbase/libsysbase_libsysbase_a-flock.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-flock.obj `if test -f 'libsysbase/flock.c'; then $(CYGPATH_W) 'libsysbase/flock.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/flock.c'; fi` ++ pathLength = strnlen (path, maxLength); + -+libsysbase/libsysbase_libsysbase_a-fnmatch.o: libsysbase/fnmatch.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fnmatch.c' object='libsysbase/libsysbase_libsysbase_a-fnmatch.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } + -+libsysbase/libsysbase_libsysbase_a-fnmatch.obj: libsysbase/fnmatch.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.obj `if test -f 'libsysbase/fnmatch.c'; then $(CYGPATH_W) 'libsysbase/fnmatch.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fnmatch.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fnmatch.c' object='libsysbase/libsysbase_libsysbase_a-fnmatch.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.obj `if test -f 'libsysbase/fnmatch.c'; then $(CYGPATH_W) 'libsysbase/fnmatch.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fnmatch.c'; fi` ++ extraEnd = extra; + -+libsysbase/libsysbase_libsysbase_a-fork.o: libsysbase/fork.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fork.c' object='libsysbase/libsysbase_libsysbase_a-fork.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } + -+libsysbase/libsysbase_libsysbase_a-fork.obj: libsysbase/fork.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fork.c' object='libsysbase/libsysbase_libsysbase_a-fork.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } + -+libsysbase/libsysbase_libsysbase_a-fpathconf.o: libsysbase/fpathconf.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fpathconf.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.o `test -f 'libsysbase/fpathconf.c' || echo '$(srcdir)/'`libsysbase/fpathconf.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fpathconf.c' object='libsysbase/libsysbase_libsysbase_a-fpathconf.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.o `test -f 'libsysbase/fpathconf.c' || echo '$(srcdir)/'`libsysbase/fpathconf.c ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } + -+libsysbase/libsysbase_libsysbase_a-fpathconf.obj: libsysbase/fpathconf.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fpathconf.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.obj `if test -f 'libsysbase/fpathconf.c'; then $(CYGPATH_W) 'libsysbase/fpathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fpathconf.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fpathconf.c' object='libsysbase/libsysbase_libsysbase_a-fpathconf.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.obj `if test -f 'libsysbase/fpathconf.c'; then $(CYGPATH_W) 'libsysbase/fpathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fpathconf.c'; fi` ++ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) ++ { ++ /* Don't copy anything */ ++ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) ++ { ++ /* Go up one level of in the path */ ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { ++ // Remove trailing separator ++ pathEnd[-1] = '\0'; ++ } ++ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); ++ if (pathEnd == NULL) { ++ /* Can't go up any higher, return false */ ++ r->_errno = ENOENT; ++ return -1; ++ } ++ pathLength = pathEnd - path; ++ pathEnd += 1; ++ } else { ++ pathLength += extraSize; ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ /* Copy the next part over */ ++ strncpy (pathEnd, extra, extraSize); ++ pathEnd += extraSize; ++ } ++ pathEnd[0] = '\0'; ++ extra += extraSize; ++ } while (extraSize != 0); + -+libsysbase/libsysbase_libsysbase_a-fstat.o: libsysbase/fstat.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fstat.c' object='libsysbase/libsysbase_libsysbase_a-fstat.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c ++ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd[1] = 0; ++ pathEnd += 1; ++ } + -+libsysbase/libsysbase_libsysbase_a-fstat.obj: libsysbase/fstat.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.obj `if test -f 'libsysbase/fstat.c'; then $(CYGPATH_W) 'libsysbase/fstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fstat.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fstat.c' object='libsysbase/libsysbase_libsysbase_a-fstat.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fstat.obj `if test -f 'libsysbase/fstat.c'; then $(CYGPATH_W) 'libsysbase/fstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fstat.c'; fi` ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-fsync.o: libsysbase/fsync.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fsync.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fsync.o `test -f 'libsysbase/fsync.c' || echo '$(srcdir)/'`libsysbase/fsync.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fsync.c' object='libsysbase/libsysbase_libsysbase_a-fsync.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fsync.o `test -f 'libsysbase/fsync.c' || echo '$(srcdir)/'`libsysbase/fsync.c ++int chdir (const char *path) { ++ struct _reent *r = _REENT; + -+libsysbase/libsysbase_libsysbase_a-fsync.obj: libsysbase/fsync.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fsync.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fsync.obj `if test -f 'libsysbase/fsync.c'; then $(CYGPATH_W) 'libsysbase/fsync.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fsync.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fsync.c' object='libsysbase/libsysbase_libsysbase_a-fsync.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fsync.obj `if test -f 'libsysbase/fsync.c'; then $(CYGPATH_W) 'libsysbase/fsync.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fsync.c'; fi` ++ int dev; ++ const char *pathPosition; + -+libsysbase/libsysbase_libsysbase_a-ftruncate.o: libsysbase/ftruncate.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-ftruncate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.o `test -f 'libsysbase/ftruncate.c' || echo '$(srcdir)/'`libsysbase/ftruncate.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/ftruncate.c' object='libsysbase/libsysbase_libsysbase_a-ftruncate.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.o `test -f 'libsysbase/ftruncate.c' || echo '$(srcdir)/'`libsysbase/ftruncate.c ++ /* Make sure the path is short enough */ ++ if (strnlen (path, PATH_MAX) >= PATH_MAX) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } + -+libsysbase/libsysbase_libsysbase_a-ftruncate.obj: libsysbase/ftruncate.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-ftruncate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.obj `if test -f 'libsysbase/ftruncate.c'; then $(CYGPATH_W) 'libsysbase/ftruncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/ftruncate.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/ftruncate.c' object='libsysbase/libsysbase_libsysbase_a-ftruncate.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.obj `if test -f 'libsysbase/ftruncate.c'; then $(CYGPATH_W) 'libsysbase/ftruncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/ftruncate.c'; fi` ++ if (strchr (path, ':') != NULL) { ++ strncpy (temp_cwd, path, PATH_MAX); ++ /* Move path past device name */ ++ path = strchr (path, ':') + 1; ++ } else { ++ strncpy (temp_cwd, _current_working_directory, PATH_MAX); ++ } + -+libsysbase/libsysbase_libsysbase_a-getpid.o: libsysbase/getpid.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getpid.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getpid.o `test -f 'libsysbase/getpid.c' || echo '$(srcdir)/'`libsysbase/getpid.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getpid.c' object='libsysbase/libsysbase_libsysbase_a-getpid.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getpid.o `test -f 'libsysbase/getpid.c' || echo '$(srcdir)/'`libsysbase/getpid.c ++ pathPosition = strchr (temp_cwd , ':'); + -+libsysbase/libsysbase_libsysbase_a-getpid.obj: libsysbase/getpid.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getpid.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getpid.obj `if test -f 'libsysbase/getpid.c'; then $(CYGPATH_W) 'libsysbase/getpid.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getpid.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getpid.c' object='libsysbase/libsysbase_libsysbase_a-getpid.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getpid.obj `if test -f 'libsysbase/getpid.c'; then $(CYGPATH_W) 'libsysbase/getpid.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getpid.c'; fi` ++ if (pathPosition == NULL) { ++ pathPosition = temp_cwd; ++ } else { ++ pathPosition++; ++ } + -+libsysbase/libsysbase_libsysbase_a-getreent.o: libsysbase/getreent.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getreent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getreent.o `test -f 'libsysbase/getreent.c' || echo '$(srcdir)/'`libsysbase/getreent.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getreent.c' object='libsysbase/libsysbase_libsysbase_a-getreent.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getreent.o `test -f 'libsysbase/getreent.c' || echo '$(srcdir)/'`libsysbase/getreent.c ++ /* Make sure the path starts in the root directory */ ++ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { ++ r->_errno = ENOENT; ++ return -1; ++ } + -+libsysbase/libsysbase_libsysbase_a-getreent.obj: libsysbase/getreent.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getreent.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getreent.obj `if test -f 'libsysbase/getreent.c'; then $(CYGPATH_W) 'libsysbase/getreent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getreent.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getreent.c' object='libsysbase/libsysbase_libsysbase_a-getreent.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getreent.obj `if test -f 'libsysbase/getreent.c'; then $(CYGPATH_W) 'libsysbase/getreent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getreent.c'; fi` ++ /* Concatenate the path to the CWD */ ++ if (_concatenate_path (r, temp_cwd, path, PATH_MAX) == -1) { ++ return -1; ++ } + -+libsysbase/libsysbase_libsysbase_a-gettod.o: libsysbase/gettod.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-gettod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-gettod.o `test -f 'libsysbase/gettod.c' || echo '$(srcdir)/'`libsysbase/gettod.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/gettod.c' object='libsysbase/libsysbase_libsysbase_a-gettod.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-gettod.o `test -f 'libsysbase/gettod.c' || echo '$(srcdir)/'`libsysbase/gettod.c ++ /* Get device from path name */ ++ dev = FindDevice(temp_cwd); + -+libsysbase/libsysbase_libsysbase_a-gettod.obj: libsysbase/gettod.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-gettod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-gettod.obj `if test -f 'libsysbase/gettod.c'; then $(CYGPATH_W) 'libsysbase/gettod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/gettod.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/gettod.c' object='libsysbase/libsysbase_libsysbase_a-gettod.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-gettod.obj `if test -f 'libsysbase/gettod.c'; then $(CYGPATH_W) 'libsysbase/gettod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/gettod.c'; fi` ++ if (dev < 0) { ++ r->_errno = ENODEV; ++ return -1; ++ } + -+libsysbase/libsysbase_libsysbase_a-handle_manager.o: libsysbase/handle_manager.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-handle_manager.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.o `test -f 'libsysbase/handle_manager.c' || echo '$(srcdir)/'`libsysbase/handle_manager.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/handle_manager.c' object='libsysbase/libsysbase_libsysbase_a-handle_manager.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.o `test -f 'libsysbase/handle_manager.c' || echo '$(srcdir)/'`libsysbase/handle_manager.c ++ r->deviceData = devoptab_list[dev]->deviceData; + -+libsysbase/libsysbase_libsysbase_a-handle_manager.obj: libsysbase/handle_manager.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-handle_manager.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.obj `if test -f 'libsysbase/handle_manager.c'; then $(CYGPATH_W) 'libsysbase/handle_manager.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/handle_manager.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/handle_manager.c' object='libsysbase/libsysbase_libsysbase_a-handle_manager.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.obj `if test -f 'libsysbase/handle_manager.c'; then $(CYGPATH_W) 'libsysbase/handle_manager.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/handle_manager.c'; fi` ++ if ( devoptab_list[dev]->chdir_r == NULL) { ++ r->_errno = ENOSYS; ++ return -1; ++ } + -+libsysbase/libsysbase_libsysbase_a-iosupport.o: libsysbase/iosupport.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-iosupport.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo -c -o libsysbase/libsysbase_libsysbase_a-iosupport.o `test -f 'libsysbase/iosupport.c' || echo '$(srcdir)/'`libsysbase/iosupport.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/iosupport.c' object='libsysbase/libsysbase_libsysbase_a-iosupport.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-iosupport.o `test -f 'libsysbase/iosupport.c' || echo '$(srcdir)/'`libsysbase/iosupport.c ++ /* Try changing directories on the device */ ++ if (devoptab_list[dev]->chdir_r (r, temp_cwd) == -1) { ++ return -1; ++ } + -+libsysbase/libsysbase_libsysbase_a-iosupport.obj: libsysbase/iosupport.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-iosupport.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo -c -o libsysbase/libsysbase_libsysbase_a-iosupport.obj `if test -f 'libsysbase/iosupport.c'; then $(CYGPATH_W) 'libsysbase/iosupport.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/iosupport.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/iosupport.c' object='libsysbase/libsysbase_libsysbase_a-iosupport.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-iosupport.obj `if test -f 'libsysbase/iosupport.c'; then $(CYGPATH_W) 'libsysbase/iosupport.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/iosupport.c'; fi` ++ /* Since it worked, set the new CWD and default device */ ++ setDefaultDevice(dev); ++ strncpy (_current_working_directory, temp_cwd, PATH_MAX); + -+libsysbase/libsysbase_libsysbase_a-isatty.o: libsysbase/isatty.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-isatty.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo -c -o libsysbase/libsysbase_libsysbase_a-isatty.o `test -f 'libsysbase/isatty.c' || echo '$(srcdir)/'`libsysbase/isatty.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/isatty.c' object='libsysbase/libsysbase_libsysbase_a-isatty.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-isatty.o `test -f 'libsysbase/isatty.c' || echo '$(srcdir)/'`libsysbase/isatty.c ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-isatty.obj: libsysbase/isatty.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-isatty.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo -c -o libsysbase/libsysbase_libsysbase_a-isatty.obj `if test -f 'libsysbase/isatty.c'; then $(CYGPATH_W) 'libsysbase/isatty.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/isatty.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/isatty.c' object='libsysbase/libsysbase_libsysbase_a-isatty.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-isatty.obj `if test -f 'libsysbase/isatty.c'; then $(CYGPATH_W) 'libsysbase/isatty.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/isatty.c'; fi` ++char *getcwd(char *buf, size_t size) { + -+libsysbase/libsysbase_libsysbase_a-kill.o: libsysbase/kill.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-kill.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo -c -o libsysbase/libsysbase_libsysbase_a-kill.o `test -f 'libsysbase/kill.c' || echo '$(srcdir)/'`libsysbase/kill.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/kill.c' object='libsysbase/libsysbase_libsysbase_a-kill.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-kill.o `test -f 'libsysbase/kill.c' || echo '$(srcdir)/'`libsysbase/kill.c ++ struct _reent *r = _REENT; + -+libsysbase/libsysbase_libsysbase_a-kill.obj: libsysbase/kill.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-kill.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo -c -o libsysbase/libsysbase_libsysbase_a-kill.obj `if test -f 'libsysbase/kill.c'; then $(CYGPATH_W) 'libsysbase/kill.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/kill.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/kill.c' object='libsysbase/libsysbase_libsysbase_a-kill.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-kill.obj `if test -f 'libsysbase/kill.c'; then $(CYGPATH_W) 'libsysbase/kill.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/kill.c'; fi` ++ if (size == 0) { ++ if (buf != NULL) { ++ r->_errno = EINVAL; ++ return NULL; ++ } ++ buf = malloc(PATH_MAX); ++ size = PATH_MAX; ++ } + -+libsysbase/libsysbase_libsysbase_a-link.o: libsysbase/link.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-link.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo -c -o libsysbase/libsysbase_libsysbase_a-link.o `test -f 'libsysbase/link.c' || echo '$(srcdir)/'`libsysbase/link.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/link.c' object='libsysbase/libsysbase_libsysbase_a-link.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-link.o `test -f 'libsysbase/link.c' || echo '$(srcdir)/'`libsysbase/link.c ++ if (buf == NULL) { ++ r->_errno = EINVAL; ++ return NULL; ++ } + -+libsysbase/libsysbase_libsysbase_a-link.obj: libsysbase/link.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-link.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo -c -o libsysbase/libsysbase_libsysbase_a-link.obj `if test -f 'libsysbase/link.c'; then $(CYGPATH_W) 'libsysbase/link.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/link.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/link.c' object='libsysbase/libsysbase_libsysbase_a-link.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-link.obj `if test -f 'libsysbase/link.c'; then $(CYGPATH_W) 'libsysbase/link.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/link.c'; fi` ++ if ( size < (strnlen (_current_working_directory, PATH_MAX) + 1)) { ++ r->_errno = ERANGE; ++ return NULL; ++ } + -+libsysbase/libsysbase_libsysbase_a-lseek.o: libsysbase/lseek.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lseek.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lseek.o `test -f 'libsysbase/lseek.c' || echo '$(srcdir)/'`libsysbase/lseek.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lseek.c' object='libsysbase/libsysbase_libsysbase_a-lseek.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lseek.o `test -f 'libsysbase/lseek.c' || echo '$(srcdir)/'`libsysbase/lseek.c ++ strncpy (buf, _current_working_directory, size); + -+libsysbase/libsysbase_libsysbase_a-lseek.obj: libsysbase/lseek.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lseek.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lseek.obj `if test -f 'libsysbase/lseek.c'; then $(CYGPATH_W) 'libsysbase/lseek.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lseek.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lseek.c' object='libsysbase/libsysbase_libsysbase_a-lseek.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lseek.obj `if test -f 'libsysbase/lseek.c'; then $(CYGPATH_W) 'libsysbase/lseek.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lseek.c'; fi` ++ return buf; ++} +diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c +new file mode 100644 +index 000000000..3c4c60b7c +--- /dev/null ++++ b/libgloss/libsysbase/chmod.c +@@ -0,0 +1,29 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include + -+libsysbase/libsysbase_libsysbase_a-lstat.o: libsysbase/lstat.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lstat.o `test -f 'libsysbase/lstat.c' || echo '$(srcdir)/'`libsysbase/lstat.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lstat.c' object='libsysbase/libsysbase_libsysbase_a-lstat.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lstat.o `test -f 'libsysbase/lstat.c' || echo '$(srcdir)/'`libsysbase/lstat.c ++int chmod(const char *path, mode_t mode) { ++ int ret=-1,dev; ++ struct _reent *r = _REENT; + -+libsysbase/libsysbase_libsysbase_a-lstat.obj: libsysbase/lstat.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lstat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lstat.obj `if test -f 'libsysbase/lstat.c'; then $(CYGPATH_W) 'libsysbase/lstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lstat.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lstat.c' object='libsysbase/libsysbase_libsysbase_a-lstat.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lstat.obj `if test -f 'libsysbase/lstat.c'; then $(CYGPATH_W) 'libsysbase/lstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lstat.c'; fi` ++ /* Get device from path name */ ++ dev = FindDevice(path); + -+libsysbase/libsysbase_libsysbase_a-malloc_vars.o: libsysbase/malloc_vars.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-malloc_vars.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.o `test -f 'libsysbase/malloc_vars.c' || echo '$(srcdir)/'`libsysbase/malloc_vars.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/malloc_vars.c' object='libsysbase/libsysbase_libsysbase_a-malloc_vars.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.o `test -f 'libsysbase/malloc_vars.c' || echo '$(srcdir)/'`libsysbase/malloc_vars.c ++ if (dev < 0) { ++ r->_errno = ENODEV; ++ } else { ++ if (devoptab_list[dev]->chmod_r == NULL) { ++ r->_errno=ENOSYS; ++ } else { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->chmod_r(r,path,mode); ++ } ++ } + -+libsysbase/libsysbase_libsysbase_a-malloc_vars.obj: libsysbase/malloc_vars.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-malloc_vars.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.obj `if test -f 'libsysbase/malloc_vars.c'; then $(CYGPATH_W) 'libsysbase/malloc_vars.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/malloc_vars.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/malloc_vars.c' object='libsysbase/libsysbase_libsysbase_a-malloc_vars.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.obj `if test -f 'libsysbase/malloc_vars.c'; then $(CYGPATH_W) 'libsysbase/malloc_vars.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/malloc_vars.c'; fi` ++ return ret; ++} + -+libsysbase/libsysbase_libsysbase_a-mkdir.o: libsysbase/mkdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-mkdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-mkdir.o `test -f 'libsysbase/mkdir.c' || echo '$(srcdir)/'`libsysbase/mkdir.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/mkdir.c' object='libsysbase/libsysbase_libsysbase_a-mkdir.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.o `test -f 'libsysbase/mkdir.c' || echo '$(srcdir)/'`libsysbase/mkdir.c +diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c +new file mode 100644 +index 000000000..b36b5c079 +--- /dev/null ++++ b/libgloss/libsysbase/clocks.c +@@ -0,0 +1,34 @@ ++#include ++#include ++#include + -+libsysbase/libsysbase_libsysbase_a-mkdir.obj: libsysbase/mkdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-mkdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/mkdir.c' object='libsysbase/libsysbase_libsysbase_a-mkdir.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` ++int clock_gettime(clockid_t clock_id, struct timespec *tp) ++{ ++ if ( __has_syscall(clock_gettime) ) { ++ return __syscall_clock_gettime(clock_id, tp); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} + -+libsysbase/libsysbase_libsysbase_a-pthread.o: libsysbase/pthread.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pthread.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pthread.o `test -f 'libsysbase/pthread.c' || echo '$(srcdir)/'`libsysbase/pthread.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pthread.c' object='libsysbase/libsysbase_libsysbase_a-pthread.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pthread.o `test -f 'libsysbase/pthread.c' || echo '$(srcdir)/'`libsysbase/pthread.c ++int clock_settime(clockid_t clock_id, const struct timespec *tp) ++{ ++ if ( __has_syscall(clock_settime) ) { ++ return __syscall_clock_settime(clock_id, tp); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} + -+libsysbase/libsysbase_libsysbase_a-pthread.obj: libsysbase/pthread.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pthread.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pthread.obj `if test -f 'libsysbase/pthread.c'; then $(CYGPATH_W) 'libsysbase/pthread.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pthread.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pthread.c' object='libsysbase/libsysbase_libsysbase_a-pthread.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pthread.obj `if test -f 'libsysbase/pthread.c'; then $(CYGPATH_W) 'libsysbase/pthread.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pthread.c'; fi` ++int clock_getres (clockid_t clock_id, struct timespec *res) ++{ ++ if ( __has_syscall(clock_getres) ) { ++ return __syscall_clock_getres(clock_id, res); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} + -+libsysbase/libsysbase_libsysbase_a-nanosleep.o: libsysbase/nanosleep.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/nanosleep.c' object='libsysbase/libsysbase_libsysbase_a-nanosleep.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c +diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in +new file mode 100644 +index 000000000..48ce950b4 +--- /dev/null ++++ b/libgloss/libsysbase/config.h.in +@@ -0,0 +1,25 @@ ++/* config.h.in. Generated automatically from configure.in by autoheader. */ + -+libsysbase/libsysbase_libsysbase_a-nanosleep.obj: libsysbase/nanosleep.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.obj `if test -f 'libsysbase/nanosleep.c'; then $(CYGPATH_W) 'libsysbase/nanosleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/nanosleep.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/nanosleep.c' object='libsysbase/libsysbase_libsysbase_a-nanosleep.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.obj `if test -f 'libsysbase/nanosleep.c'; then $(CYGPATH_W) 'libsysbase/nanosleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/nanosleep.c'; fi` ++/* Missing syscall names */ ++#undef MISSING_SYSCALL_NAMES + -+libsysbase/libsysbase_libsysbase_a-open.o: libsysbase/open.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-open.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo -c -o libsysbase/libsysbase_libsysbase_a-open.o `test -f 'libsysbase/open.c' || echo '$(srcdir)/'`libsysbase/open.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/open.c' object='libsysbase/libsysbase_libsysbase_a-open.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.o `test -f 'libsysbase/open.c' || echo '$(srcdir)/'`libsysbase/open.c ++/* Reentrant syscalls */ ++#undef REENTRANT_SYSCALLS_PROVIDED + -+libsysbase/libsysbase_libsysbase_a-open.obj: libsysbase/open.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-open.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/open.c' object='libsysbase/libsysbase_libsysbase_a-open.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` ++/* Using ELF format */ ++#undef HAVE_ELF + -+libsysbase/libsysbase_libsysbase_a-pathconf.o: libsysbase/pathconf.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pathconf.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pathconf.o `test -f 'libsysbase/pathconf.c' || echo '$(srcdir)/'`libsysbase/pathconf.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pathconf.c' object='libsysbase/libsysbase_libsysbase_a-pathconf.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pathconf.o `test -f 'libsysbase/pathconf.c' || echo '$(srcdir)/'`libsysbase/pathconf.c ++/* Using GNU LD */ ++#undef HAVE_GNU_LD + -+libsysbase/libsysbase_libsysbase_a-pathconf.obj: libsysbase/pathconf.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pathconf.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pathconf.obj `if test -f 'libsysbase/pathconf.c'; then $(CYGPATH_W) 'libsysbase/pathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pathconf.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pathconf.c' object='libsysbase/libsysbase_libsysbase_a-pathconf.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pathconf.obj `if test -f 'libsysbase/pathconf.c'; then $(CYGPATH_W) 'libsysbase/pathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pathconf.c'; fi` ++/* .previous directive allowed */ ++#undef HAVE_ASM_PREVIOUS_DIRECTIVE + -+libsysbase/libsysbase_libsysbase_a-read.o: libsysbase/read.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/read.c' object='libsysbase/libsysbase_libsysbase_a-read.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c ++/* .pushsection/.popsection directives allowed */ ++#undef HAVE_ASM_POPSECTION_DIRECTIVE + -+libsysbase/libsysbase_libsysbase_a-read.obj: libsysbase/read.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/read.c' object='libsysbase/libsysbase_libsysbase_a-read.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` ++/* support for section attributes */ ++#undef HAVE_SECTION_ATTRIBUTES + -+libsysbase/libsysbase_libsysbase_a-readlink.o: libsysbase/readlink.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-readlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-readlink.o `test -f 'libsysbase/readlink.c' || echo '$(srcdir)/'`libsysbase/readlink.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/readlink.c' object='libsysbase/libsysbase_libsysbase_a-readlink.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-readlink.o `test -f 'libsysbase/readlink.c' || echo '$(srcdir)/'`libsysbase/readlink.c ++/* symbol prefix */ ++#undef __SYMBOL_PREFIX +diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure +new file mode 100644 +index 000000000..be36ded12 +--- /dev/null ++++ b/libgloss/libsysbase/configure +@@ -0,0 +1,4162 @@ ++#! /bin/sh ++# Guess values for system-dependent variables and create Makefiles. ++# Generated by GNU Autoconf 2.69. ++# ++# ++# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. ++# ++# ++# This configure script is free software; the Free Software Foundation ++# gives unlimited permission to copy, distribute and modify it. ++## -------------------- ## ++## M4sh Initialization. ## ++## -------------------- ## + -+libsysbase/libsysbase_libsysbase_a-readlink.obj: libsysbase/readlink.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-readlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-readlink.obj `if test -f 'libsysbase/readlink.c'; then $(CYGPATH_W) 'libsysbase/readlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/readlink.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/readlink.c' object='libsysbase/libsysbase_libsysbase_a-readlink.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-readlink.obj `if test -f 'libsysbase/readlink.c'; then $(CYGPATH_W) 'libsysbase/readlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/readlink.c'; fi` ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi + -+libsysbase/libsysbase_libsysbase_a-realpath.o: libsysbase/realpath.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/realpath.c' object='libsysbase/libsysbase_libsysbase_a-realpath.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c + -+libsysbase/libsysbase_libsysbase_a-realpath.obj: libsysbase/realpath.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.obj `if test -f 'libsysbase/realpath.c'; then $(CYGPATH_W) 'libsysbase/realpath.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/realpath.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/realpath.c' object='libsysbase/libsysbase_libsysbase_a-realpath.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-realpath.obj `if test -f 'libsysbase/realpath.c'; then $(CYGPATH_W) 'libsysbase/realpath.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/realpath.c'; fi` ++as_nl=' ++' ++export as_nl ++# Printing a long string crashes Solaris 7 /usr/bin/printf. ++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo ++# Prefer a ksh shell builtin over an external printf program on Solaris, ++# but without wasting forks for bash or zsh. ++if test -z "$BASH_VERSION$ZSH_VERSION" \ ++ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='print -r --' ++ as_echo_n='print -rn --' ++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='printf %s\n' ++ as_echo_n='printf %s' ++else ++ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then ++ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' ++ as_echo_n='/usr/ucb/echo -n' ++ else ++ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' ++ as_echo_n_body='eval ++ arg=$1; ++ case $arg in #( ++ *"$as_nl"*) ++ expr "X$arg" : "X\\(.*\\)$as_nl"; ++ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; ++ esac; ++ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ++ ' ++ export as_echo_n_body ++ as_echo_n='sh -c $as_echo_n_body as_echo' ++ fi ++ export as_echo_body ++ as_echo='sh -c $as_echo_body as_echo' ++fi + -+libsysbase/libsysbase_libsysbase_a-rename.o: libsysbase/rename.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rename.c' object='libsysbase/libsysbase_libsysbase_a-rename.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ PATH_SEPARATOR=: ++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { ++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || ++ PATH_SEPARATOR=';' ++ } ++fi + -+libsysbase/libsysbase_libsysbase_a-rename.obj: libsysbase/rename.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.obj `if test -f 'libsysbase/rename.c'; then $(CYGPATH_W) 'libsysbase/rename.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rename.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rename.c' object='libsysbase/libsysbase_libsysbase_a-rename.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rename.obj `if test -f 'libsysbase/rename.c'; then $(CYGPATH_W) 'libsysbase/rename.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rename.c'; fi` + -+libsysbase/libsysbase_libsysbase_a-rmdir.o: libsysbase/rmdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rmdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rmdir.o `test -f 'libsysbase/rmdir.c' || echo '$(srcdir)/'`libsysbase/rmdir.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rmdir.c' object='libsysbase/libsysbase_libsysbase_a-rmdir.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rmdir.o `test -f 'libsysbase/rmdir.c' || echo '$(srcdir)/'`libsysbase/rmdir.c ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++IFS=" "" $as_nl" + -+libsysbase/libsysbase_libsysbase_a-rmdir.obj: libsysbase/rmdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rmdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rmdir.obj `if test -f 'libsysbase/rmdir.c'; then $(CYGPATH_W) 'libsysbase/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rmdir.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rmdir.c' object='libsysbase/libsysbase_libsysbase_a-rmdir.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rmdir.obj `if test -f 'libsysbase/rmdir.c'; then $(CYGPATH_W) 'libsysbase/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rmdir.c'; fi` ++# Find who we are. Look in the path if we contain no directory separator. ++as_myself= ++case $0 in #(( ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++ done ++IFS=$as_save_IFS + -+libsysbase/libsysbase_libsysbase_a-sbrk.o: libsysbase/sbrk.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sbrk.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sbrk.o `test -f 'libsysbase/sbrk.c' || echo '$(srcdir)/'`libsysbase/sbrk.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sbrk.c' object='libsysbase/libsysbase_libsysbase_a-sbrk.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sbrk.o `test -f 'libsysbase/sbrk.c' || echo '$(srcdir)/'`libsysbase/sbrk.c ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ exit 1 ++fi + -+libsysbase/libsysbase_libsysbase_a-sbrk.obj: libsysbase/sbrk.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sbrk.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sbrk.obj `if test -f 'libsysbase/sbrk.c'; then $(CYGPATH_W) 'libsysbase/sbrk.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sbrk.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sbrk.c' object='libsysbase/libsysbase_libsysbase_a-sbrk.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sbrk.obj `if test -f 'libsysbase/sbrk.c'; then $(CYGPATH_W) 'libsysbase/sbrk.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sbrk.c'; fi` ++# Unset variables that we do not need and which cause bugs (e.g. in ++# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" ++# suppresses any "Segmentation fault" message there. '((' could ++# trigger a bug in pdksh 5.2.14. ++for as_var in BASH_ENV ENV MAIL MAILPATH ++do eval test x\${$as_var+set} = xset \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++PS1='$ ' ++PS2='> ' ++PS4='+ ' + -+libsysbase/libsysbase_libsysbase_a-scandir.o: libsysbase/scandir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-scandir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-scandir.o `test -f 'libsysbase/scandir.c' || echo '$(srcdir)/'`libsysbase/scandir.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/scandir.c' object='libsysbase/libsysbase_libsysbase_a-scandir.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-scandir.o `test -f 'libsysbase/scandir.c' || echo '$(srcdir)/'`libsysbase/scandir.c ++# NLS nuisances. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE + -+libsysbase/libsysbase_libsysbase_a-scandir.obj: libsysbase/scandir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-scandir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-scandir.obj `if test -f 'libsysbase/scandir.c'; then $(CYGPATH_W) 'libsysbase/scandir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/scandir.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/scandir.c' object='libsysbase/libsysbase_libsysbase_a-scandir.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-scandir.obj `if test -f 'libsysbase/scandir.c'; then $(CYGPATH_W) 'libsysbase/scandir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/scandir.c'; fi` ++# CDPATH. ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + -+libsysbase/libsysbase_libsysbase_a-sleep.o: libsysbase/sleep.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sleep.o `test -f 'libsysbase/sleep.c' || echo '$(srcdir)/'`libsysbase/sleep.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sleep.c' object='libsysbase/libsysbase_libsysbase_a-sleep.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sleep.o `test -f 'libsysbase/sleep.c' || echo '$(srcdir)/'`libsysbase/sleep.c ++# Use a proper internal environment variable to ensure we don't fall ++ # into an infinite loop, continuously re-executing ourselves. ++ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then ++ _as_can_reexec=no; export _as_can_reexec; ++ # We cannot yet assume a decent shell, so we have to provide a ++# neutralization value for shells without unset; and this also ++# works around shells that cannot unset nonexistent variables. ++# Preserve -v and -x to the replacement shell. ++BASH_ENV=/dev/null ++ENV=/dev/null ++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV ++case $- in # (((( ++ *v*x* | *x*v* ) as_opts=-vx ;; ++ *v* ) as_opts=-v ;; ++ *x* ) as_opts=-x ;; ++ * ) as_opts= ;; ++esac ++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} ++# Admittedly, this is quite paranoid, since all the known shells bail ++# out after a failed `exec'. ++$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 ++as_fn_exit 255 ++ fi ++ # We don't want this to propagate to other subprocesses. ++ { _as_can_reexec=; unset _as_can_reexec;} ++if test "x$CONFIG_SHELL" = x; then ++ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '\${1+\"\$@\"}'='\"\$@\"' ++ setopt NO_GLOB_SUBST ++else ++ case \`(set -o) 2>/dev/null\` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++" ++ as_required="as_fn_return () { (exit \$1); } ++as_fn_success () { as_fn_return 0; } ++as_fn_failure () { as_fn_return 1; } ++as_fn_ret_success () { return 0; } ++as_fn_ret_failure () { return 1; } + -+libsysbase/libsysbase_libsysbase_a-sleep.obj: libsysbase/sleep.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sleep.obj `if test -f 'libsysbase/sleep.c'; then $(CYGPATH_W) 'libsysbase/sleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sleep.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sleep.c' object='libsysbase/libsysbase_libsysbase_a-sleep.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sleep.obj `if test -f 'libsysbase/sleep.c'; then $(CYGPATH_W) 'libsysbase/sleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sleep.c'; fi` ++exitcode=0 ++as_fn_success || { exitcode=1; echo as_fn_success failed.; } ++as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } ++as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } ++as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } ++if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + -+libsysbase/libsysbase_libsysbase_a-stat.o: libsysbase/stat.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-stat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-stat.o `test -f 'libsysbase/stat.c' || echo '$(srcdir)/'`libsysbase/stat.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/stat.c' object='libsysbase/libsysbase_libsysbase_a-stat.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-stat.o `test -f 'libsysbase/stat.c' || echo '$(srcdir)/'`libsysbase/stat.c ++else ++ exitcode=1; echo positional parameters were not saved. ++fi ++test x\$exitcode = x0 || exit 1 ++test -x / || exit 1" ++ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO ++ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO ++ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && ++ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" ++ if (eval "$as_required") 2>/dev/null; then : ++ as_have_required=yes ++else ++ as_have_required=no ++fi ++ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + -+libsysbase/libsysbase_libsysbase_a-stat.obj: libsysbase/stat.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-stat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-stat.obj `if test -f 'libsysbase/stat.c'; then $(CYGPATH_W) 'libsysbase/stat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/stat.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/stat.c' object='libsysbase/libsysbase_libsysbase_a-stat.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-stat.obj `if test -f 'libsysbase/stat.c'; then $(CYGPATH_W) 'libsysbase/stat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/stat.c'; fi` ++else ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_found=false ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ as_found=: ++ case $as_dir in #( ++ /*) ++ for as_base in sh bash ksh sh5; do ++ # Try only shells that exist, to save several forks. ++ as_shell=$as_dir/$as_base ++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && ++ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : ++ CONFIG_SHELL=$as_shell as_have_required=yes ++ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : ++ break 2 ++fi ++fi ++ done;; ++ esac ++ as_found=false ++done ++$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && ++ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : ++ CONFIG_SHELL=$SHELL as_have_required=yes ++fi; } ++IFS=$as_save_IFS + -+libsysbase/libsysbase_libsysbase_a-statvfs.o: libsysbase/statvfs.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-statvfs.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo -c -o libsysbase/libsysbase_libsysbase_a-statvfs.o `test -f 'libsysbase/statvfs.c' || echo '$(srcdir)/'`libsysbase/statvfs.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/statvfs.c' object='libsysbase/libsysbase_libsysbase_a-statvfs.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.o `test -f 'libsysbase/statvfs.c' || echo '$(srcdir)/'`libsysbase/statvfs.c + -+libsysbase/libsysbase_libsysbase_a-statvfs.obj: libsysbase/statvfs.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-statvfs.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/statvfs.c' object='libsysbase/libsysbase_libsysbase_a-statvfs.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` ++ if test "x$CONFIG_SHELL" != x; then : ++ export CONFIG_SHELL ++ # We cannot yet assume a decent shell, so we have to provide a ++# neutralization value for shells without unset; and this also ++# works around shells that cannot unset nonexistent variables. ++# Preserve -v and -x to the replacement shell. ++BASH_ENV=/dev/null ++ENV=/dev/null ++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV ++case $- in # (((( ++ *v*x* | *x*v* ) as_opts=-vx ;; ++ *v* ) as_opts=-v ;; ++ *x* ) as_opts=-x ;; ++ * ) as_opts= ;; ++esac ++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} ++# Admittedly, this is quite paranoid, since all the known shells bail ++# out after a failed `exec'. ++$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 ++exit 255 ++fi + -+libsysbase/libsysbase_libsysbase_a-symlink.o: libsysbase/symlink.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-symlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-symlink.o `test -f 'libsysbase/symlink.c' || echo '$(srcdir)/'`libsysbase/symlink.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/symlink.c' object='libsysbase/libsysbase_libsysbase_a-symlink.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-symlink.o `test -f 'libsysbase/symlink.c' || echo '$(srcdir)/'`libsysbase/symlink.c ++ if test x$as_have_required = xno; then : ++ $as_echo "$0: This script requires a shell more modern than all" ++ $as_echo "$0: the shells that I found on your system." ++ if test x${ZSH_VERSION+set} = xset ; then ++ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" ++ $as_echo "$0: be upgraded to zsh 4.3.4 or later." ++ else ++ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, ++$0: including any error possibly output before this ++$0: message. Then install a modern shell, or manually run ++$0: the script under such a shell if you do have one." ++ fi ++ exit 1 ++fi ++fi ++fi ++SHELL=${CONFIG_SHELL-/bin/sh} ++export SHELL ++# Unset more variables known to interfere with behavior of common tools. ++CLICOLOR_FORCE= GREP_OPTIONS= ++unset CLICOLOR_FORCE GREP_OPTIONS + -+libsysbase/libsysbase_libsysbase_a-symlink.obj: libsysbase/symlink.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-symlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-symlink.obj `if test -f 'libsysbase/symlink.c'; then $(CYGPATH_W) 'libsysbase/symlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/symlink.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/symlink.c' object='libsysbase/libsysbase_libsysbase_a-symlink.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-symlink.obj `if test -f 'libsysbase/symlink.c'; then $(CYGPATH_W) 'libsysbase/symlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/symlink.c'; fi` ++## --------------------- ## ++## M4sh Shell Functions. ## ++## --------------------- ## ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset + -+libsysbase/libsysbase_libsysbase_a-syscall_support.o: libsysbase/syscall_support.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/syscall_support.c' object='libsysbase/libsysbase_libsysbase_a-syscall_support.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status + -+libsysbase/libsysbase_libsysbase_a-syscall_support.obj: libsysbase/syscall_support.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.obj `if test -f 'libsysbase/syscall_support.c'; then $(CYGPATH_W) 'libsysbase/syscall_support.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/syscall_support.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/syscall_support.c' object='libsysbase/libsysbase_libsysbase_a-syscall_support.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.obj `if test -f 'libsysbase/syscall_support.c'; then $(CYGPATH_W) 'libsysbase/syscall_support.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/syscall_support.c'; fi` ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit + -+libsysbase/libsysbase_libsysbase_a-times.o: libsysbase/times.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-times.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo -c -o libsysbase/libsysbase_libsysbase_a-times.o `test -f 'libsysbase/times.c' || echo '$(srcdir)/'`libsysbase/times.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/times.c' object='libsysbase/libsysbase_libsysbase_a-times.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-times.o `test -f 'libsysbase/times.c' || echo '$(srcdir)/'`libsysbase/times.c ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ + -+libsysbase/libsysbase_libsysbase_a-times.obj: libsysbase/times.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-times.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo -c -o libsysbase/libsysbase_libsysbase_a-times.obj `if test -f 'libsysbase/times.c'; then $(CYGPATH_W) 'libsysbase/times.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/times.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/times.c' object='libsysbase/libsysbase_libsysbase_a-times.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-times.obj `if test -f 'libsysbase/times.c'; then $(CYGPATH_W) 'libsysbase/times.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/times.c'; fi` ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + -+libsysbase/libsysbase_libsysbase_a-truncate.o: libsysbase/truncate.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-truncate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-truncate.o `test -f 'libsysbase/truncate.c' || echo '$(srcdir)/'`libsysbase/truncate.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/truncate.c' object='libsysbase/libsysbase_libsysbase_a-truncate.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-truncate.o `test -f 'libsysbase/truncate.c' || echo '$(srcdir)/'`libsysbase/truncate.c + -+libsysbase/libsysbase_libsysbase_a-truncate.obj: libsysbase/truncate.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-truncate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-truncate.obj `if test -f 'libsysbase/truncate.c'; then $(CYGPATH_W) 'libsysbase/truncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/truncate.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/truncate.c' object='libsysbase/libsysbase_libsysbase_a-truncate.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-truncate.obj `if test -f 'libsysbase/truncate.c'; then $(CYGPATH_W) 'libsysbase/truncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/truncate.c'; fi` ++} # as_fn_mkdir_p + -+libsysbase/libsysbase_libsysbase_a-unlink.o: libsysbase/unlink.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-unlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-unlink.o `test -f 'libsysbase/unlink.c' || echo '$(srcdir)/'`libsysbase/unlink.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/unlink.c' object='libsysbase/libsysbase_libsysbase_a-unlink.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-unlink.o `test -f 'libsysbase/unlink.c' || echo '$(srcdir)/'`libsysbase/unlink.c ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : ++ eval 'as_fn_append () ++ { ++ eval $1+=\$2 ++ }' ++else ++ as_fn_append () ++ { ++ eval $1=\$$1\$2 ++ } ++fi # as_fn_append + -+libsysbase/libsysbase_libsysbase_a-unlink.obj: libsysbase/unlink.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-unlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-unlink.obj `if test -f 'libsysbase/unlink.c'; then $(CYGPATH_W) 'libsysbase/unlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/unlink.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/unlink.c' object='libsysbase/libsysbase_libsysbase_a-unlink.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-unlink.obj `if test -f 'libsysbase/unlink.c'; then $(CYGPATH_W) 'libsysbase/unlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/unlink.c'; fi` ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith + -+libsysbase/libsysbase_libsysbase_a-usleep.o: libsysbase/usleep.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-usleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-usleep.o `test -f 'libsysbase/usleep.c' || echo '$(srcdir)/'`libsysbase/usleep.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/usleep.c' object='libsysbase/libsysbase_libsysbase_a-usleep.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-usleep.o `test -f 'libsysbase/usleep.c' || echo '$(srcdir)/'`libsysbase/usleep.c + -+libsysbase/libsysbase_libsysbase_a-usleep.obj: libsysbase/usleep.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-usleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-usleep.obj `if test -f 'libsysbase/usleep.c'; then $(CYGPATH_W) 'libsysbase/usleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/usleep.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/usleep.c' object='libsysbase/libsysbase_libsysbase_a-usleep.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-usleep.obj `if test -f 'libsysbase/usleep.c'; then $(CYGPATH_W) 'libsysbase/usleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/usleep.c'; fi` ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ $as_echo "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error + -+libsysbase/libsysbase_libsysbase_a-utime.o: libsysbase/utime.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-utime.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo -c -o libsysbase/libsysbase_libsysbase_a-utime.o `test -f 'libsysbase/utime.c' || echo '$(srcdir)/'`libsysbase/utime.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/utime.c' object='libsysbase/libsysbase_libsysbase_a-utime.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-utime.o `test -f 'libsysbase/utime.c' || echo '$(srcdir)/'`libsysbase/utime.c ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi + -+libsysbase/libsysbase_libsysbase_a-utime.obj: libsysbase/utime.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-utime.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo -c -o libsysbase/libsysbase_libsysbase_a-utime.obj `if test -f 'libsysbase/utime.c'; then $(CYGPATH_W) 'libsysbase/utime.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/utime.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/utime.c' object='libsysbase/libsysbase_libsysbase_a-utime.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-utime.obj `if test -f 'libsysbase/utime.c'; then $(CYGPATH_W) 'libsysbase/utime.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/utime.c'; fi` ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi + -+libsysbase/libsysbase_libsysbase_a-wait.o: libsysbase/wait.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-wait.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo -c -o libsysbase/libsysbase_libsysbase_a-wait.o `test -f 'libsysbase/wait.c' || echo '$(srcdir)/'`libsysbase/wait.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/wait.c' object='libsysbase/libsysbase_libsysbase_a-wait.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-wait.o `test -f 'libsysbase/wait.c' || echo '$(srcdir)/'`libsysbase/wait.c ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi + -+libsysbase/libsysbase_libsysbase_a-wait.obj: libsysbase/wait.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-wait.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo -c -o libsysbase/libsysbase_libsysbase_a-wait.obj `if test -f 'libsysbase/wait.c'; then $(CYGPATH_W) 'libsysbase/wait.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/wait.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/wait.c' object='libsysbase/libsysbase_libsysbase_a-wait.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-wait.obj `if test -f 'libsysbase/wait.c'; then $(CYGPATH_W) 'libsysbase/wait.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/wait.c'; fi` ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` + -+libsysbase/libsysbase_libsysbase_a-write.o: libsysbase/write.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-write.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo -c -o libsysbase/libsysbase_libsysbase_a-write.o `test -f 'libsysbase/write.c' || echo '$(srcdir)/'`libsysbase/write.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/write.c' object='libsysbase/libsysbase_libsysbase_a-write.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-write.o `test -f 'libsysbase/write.c' || echo '$(srcdir)/'`libsysbase/write.c ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits + -+libsysbase/libsysbase_libsysbase_a-write.obj: libsysbase/write.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-write.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo -c -o libsysbase/libsysbase_libsysbase_a-write.obj `if test -f 'libsysbase/write.c'; then $(CYGPATH_W) 'libsysbase/write.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/write.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/write.c' object='libsysbase/libsysbase_libsysbase_a-write.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-write.obj `if test -f 'libsysbase/write.c'; then $(CYGPATH_W) 'libsysbase/write.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/write.c'; fi` + - nios2/nios2_libnios2_a-io-close.o: nios2/io-close.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(nios2_libnios2_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nios2/nios2_libnios2_a-io-close.o -MD -MP -MF nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo -c -o nios2/nios2_libnios2_a-io-close.o `test -f 'nios2/io-close.c' || echo '$(srcdir)/'`nios2/io-close.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Po -@@ -4220,6 +5323,8 @@ distclean-generic: - -rm -f iq2000/$(am__dirstamp) - -rm -f libnosys/$(DEPDIR)/$(am__dirstamp) - -rm -f libnosys/$(am__dirstamp) -+ -rm -f libsysbase/$(DEPDIR)/$(am__dirstamp) -+ -rm -f libsysbase/$(am__dirstamp) - -rm -f lm32/$(DEPDIR)/$(am__dirstamp) - -rm -f lm32/$(am__dirstamp) - -rm -f nios2/$(DEPDIR)/$(am__dirstamp) -@@ -4239,7 +5344,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ - - distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) -- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) -+ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) - -rm -f Makefile - distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-local distclean-tags -@@ -4382,7 +5487,7 @@ installcheck-am: - maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache -- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) -+ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) - -rm -f Makefile - maintainer-clean-am: distclean-am maintainer-clean-aminfo \ - maintainer-clean-generic maintainer-clean-local -diff --git a/libgloss/configure b/libgloss/configure -index 28754b6d5..2e04092ab 100755 ---- a/libgloss/configure -+++ b/libgloss/configure -@@ -638,6 +638,8 @@ CONFIG_NIOS2_FALSE - CONFIG_NIOS2_TRUE - CONFIG_LM32_FALSE - CONFIG_LM32_TRUE -+CONFIG_LIBSYSBASE_FALSE -+CONFIG_LIBSYSBASE_TRUE - CONFIG_LIBNOSYS_FALSE - CONFIG_LIBNOSYS_TRUE - CONFIG_IQ2000_FALSE -@@ -722,6 +724,7 @@ infodir - docdir - oldincludedir - includedir -+runstatedir - localstatedir - sharedstatedir - sysconfdir -@@ -800,6 +803,7 @@ datadir='${datarootdir}' - sysconfdir='${prefix}/etc' - sharedstatedir='${prefix}/com' - localstatedir='${prefix}/var' -+runstatedir='${localstatedir}/run' - includedir='${prefix}/include' - oldincludedir='/usr/include' - docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -@@ -1052,6 +1056,15 @@ do - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - -+ -runstatedir | --runstatedir | --runstatedi | --runstated \ -+ | --runstate | --runstat | --runsta | --runst | --runs \ -+ | --run | --ru | --r) -+ ac_prev=runstatedir ;; -+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ -+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ -+ | --run=* | --ru=* | --r=*) -+ runstatedir=$ac_optarg ;; ++ as_lineno_1=$LINENO as_lineno_1a=$LINENO ++ as_lineno_2=$LINENO as_lineno_2a=$LINENO ++ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && ++ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { ++ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) ++ sed -n ' ++ p ++ /[$]LINENO/= ++ ' <$as_myself | ++ sed ' ++ s/[$]LINENO.*/&-/ ++ t lineno ++ b ++ :lineno ++ N ++ :loop ++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ ++ t loop ++ s/-\n.*// ++ ' >$as_me.lineno && ++ chmod +x "$as_me.lineno" || ++ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ -@@ -1189,7 +1202,7 @@ fi - for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ -- libdir localedir mandir -+ libdir localedir mandir runstatedir - do - eval ac_val=\$$ac_var - # Remove trailing slashes. -@@ -1342,6 +1355,7 @@ Fine tuning of the installation directories: - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] -+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] -@@ -2745,6 +2759,8 @@ config_testsuite=true - - config_libnosys=true - -+config_libsysbase=true ++ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have ++ # already done that, so ensure we don't try to do so again and fall ++ # in an infinite loop. This has already happened in practice. ++ _as_can_reexec=no; export _as_can_reexec ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensitive to this). ++ . "./$as_me.lineno" ++ # Exit status is that of the last command. ++ exit ++} + - host_makefile_frag=${srcdir}/config/default.mh - target_makefile_frag=${srcdir}/config/default.mt - -@@ -3047,6 +3063,14 @@ else - CONFIG_LIBNOSYS_FALSE= - fi - -+ if test x$config_libsysbase = xtrue; then -+ CONFIG_LIBSYSBASE_TRUE= -+ CONFIG_LIBSYSBASE_FALSE='#' ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file +else -+ CONFIG_LIBSYSBASE_TRUE='#' -+ CONFIG_LIBSYSBASE_FALSE= ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null +fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++ else ++ as_ln_s='cp -pR' ++ fi ++else ++ as_ln_s='cp -pR' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null + - if test x$config_lm32 = xtrue; then - CONFIG_LM32_TRUE= - CONFIG_LM32_FALSE='#' -@@ -4924,6 +4948,35 @@ case "${target}" in - esac - - -+case "${target}" in -+ *-*-cygwin*) ;; -+ a29k-amd-udi) ;; -+ aarch64*-*-*) ;; -+ arc-*-*) ;; -+ arm*-*-*) ;; -+ bfin-*-*) ;; -+ cris-*-* | crisv32-*-*) ;; -+ d10v*) ;; -+ h8300*-*-*) ;; -+ h8500-*-*) ;; -+ i345686-*-sco*) ;; -+ lm32-*-*) ;; -+ m32r-*-*) ;; -+ mn10?00-*-*) ;; -+ riscv*-*-*) ;; -+ powerpcle-*-pe) ;; -+ sh*-*-*) ;; -+ sparc-sun-sunos*) ;; -+ sparc64-*-*) ;; -+ v850*-*-*) ;; -+ w65-*-*) ;; -+ xstormy16-*-*) ;; -+ z8k-*-*) ;; -+ *) -+$as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h -+ ;; -+esac -+ - case "${target}" in - *-*-cygwin*) ;; - a29k-amd-udi) ;; -@@ -5331,6 +5384,10 @@ if test -z "${CONFIG_LIBNOSYS_TRUE}" && test -z "${CONFIG_LIBNOSYS_FALSE}"; then - as_fn_error $? "conditional \"CONFIG_LIBNOSYS\" was never defined. - Usually this means the macro was only invoked conditionally." "$LINENO" 5 - fi -+if test -z "${CONFIG_LIBSYSBASE_TRUE}" && test -z "${CONFIG_LIBSYSBASE_FALSE}"; then -+ as_fn_error $? "conditional \"CONFIG_LIBSYSBASE\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false +fi - if test -z "${CONFIG_LM32_TRUE}" && test -z "${CONFIG_LM32_FALSE}"; then - as_fn_error $? "conditional \"CONFIG_LM32\" was never defined. - Usually this means the macro was only invoked conditionally." "$LINENO" 5 -diff --git a/libgloss/configure.ac b/libgloss/configure.ac -index 5fb26845c..cf07fb118 100644 ---- a/libgloss/configure.ac -+++ b/libgloss/configure.ac -@@ -43,6 +43,9 @@ config_testsuite=true - dnl indicates whether to run configure within the libnosys subdirectory - config_libnosys=true - -+dnl indicates whether to run configure within the libsysbase subdirectory -+config_libsysbase=true + - host_makefile_frag=${srcdir}/config/default.mh - target_makefile_frag=${srcdir}/config/default.mt - -@@ -247,7 +250,7 @@ AC_SUBST(subdirs) - dnl These subdirs have converted to non-recursive make. Hopefully someday all - dnl the ports above will too! - m4_foreach_w([SUBDIR], [ -- aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 nios2 riscv wince -+ aarch64 arc arm bfin csky d30v iq2000 libnosys libsysbase lm32 nios2 riscv wince - ], [dnl - AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue) - ]) -@@ -343,6 +346,7 @@ m4_include([aarch64/acinclude.m4]) - m4_include([arm/acinclude.m4]) - m4_include([i386/acinclude.m4]) - m4_include([libnosys/acinclude.m4]) -+m4_include([libsysbase/acinclude.m4]) - m4_include([m68k/acinclude.m4]) - m4_include([mcore/acinclude.m4]) - m4_include([mips/acinclude.m4]) -diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc -new file mode 100644 -index 000000000..123a1dedf ---- /dev/null -+++ b/libgloss/libsysbase/Makefile.inc -@@ -0,0 +1,66 @@ -+multilibtool_DATA += %D%/sysbase.specs ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p + -+multilibtool_LIBRARIES += %D%/libpthread.a ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + -+%C%_libpthread_a_SOURCES = \ -+ %D%/dummy.c ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + -+multilibtool_LIBRARIES += %D%/libsysbase.a + ++test -n "$DJDIR" || exec 7<&0 &1 + -+%C%_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE ++# Name of the host. ++# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, ++# so uname gets run too. ++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + -+%C%_libsysbase_a_SOURCES = \ -+ %D%/_exit.c \ -+ %D%/abort.c \ -+ %D%/build_argv.c \ -+ %D%/chdir.c \ -+ %D%/chmod.c \ -+ %D%/clocks.c \ -+ %D%/concatenate.c \ -+ %D%/dirent.c \ -+ %D%/environ.c \ -+ %D%/execve.c \ -+ %D%/fchmod.c \ -+ %D%/flock.c \ -+ %D%/fnmatch.c \ -+ %D%/fork.c \ -+ %D%/fpathconf.c \ -+ %D%/fstat.c \ -+ %D%/fsync.c \ -+ %D%/ftruncate.c \ -+ %D%/getpid.c \ -+ %D%/getreent.c \ -+ %D%/gettod.c \ -+ %D%/handle_manager.c \ -+ %D%/iosupport.c \ -+ %D%/isatty.c \ -+ %D%/kill.c \ -+ %D%/link.c \ -+ %D%/lseek.c \ -+ %D%/lstat.c \ -+ %D%/malloc_vars.c \ -+ %D%/mkdir.c \ -+ %D%/pthread.c \ -+ %D%/nanosleep.c \ -+ %D%/open.c \ -+ %D%/pathconf.c \ -+ %D%/read.c \ -+ %D%/readlink.c \ -+ %D%/realpath.c \ -+ %D%/rename.c \ -+ %D%/rmdir.c \ -+ %D%/sbrk.c \ -+ %D%/scandir.c \ -+ %D%/sleep.c \ -+ %D%/stat.c \ -+ %D%/statvfs.c \ -+ %D%/symlink.c \ -+ %D%/syscall_support.c \ -+ %D%/times.c \ -+ %D%/truncate.c \ -+ %D%/unlink.c \ -+ %D%/usleep.c \ -+ %D%/utime.c \ -+ %D%/wait.c \ -+ %D%/write.c -diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c -new file mode 100644 -index 000000000..a45723f84 ---- /dev/null -+++ b/libgloss/libsysbase/_exit.c -@@ -0,0 +1,16 @@ -+/* Stub version of _exit. */ ++# ++# Initializations. ++# ++ac_default_prefix=/usr/local ++ac_clean_files= ++ac_config_libobj_dir=. ++LIBOBJS= ++cross_compiling=no ++subdirs= ++MFLAGS= ++MAKEFLAGS= + -+#include -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include ++# Identity of this package. ++PACKAGE_NAME= ++PACKAGE_TARNAME= ++PACKAGE_VERSION= ++PACKAGE_STRING= ++PACKAGE_BUGREPORT= ++PACKAGE_URL= + -+void _exit(int rc) -+{ -+ if ( __has_syscall(exit) ) { -+ __syscall_exit(rc); -+ } ++ac_unique_file="abort.c" ++ac_subst_vars='LTLIBOBJS ++LIBOBJS ++host_makefile_frag_path ++CCASFLAGS ++CCAS ++RANLIB ++LD ++AR ++AS ++am__fastdepCC_FALSE ++am__fastdepCC_TRUE ++CCDEPMODE ++AMDEPBACKSLASH ++AMDEP_FALSE ++AMDEP_TRUE ++am__quote ++am__include ++DEPDIR ++am__leading_dot ++CC ++INSTALL_DATA ++INSTALL_SCRIPT ++INSTALL_PROGRAM ++target_os ++target_vendor ++target_cpu ++target ++host_os ++host_vendor ++host_cpu ++host ++build_os ++build_vendor ++build_cpu ++build ++target_alias ++host_alias ++build_alias ++LIBS ++ECHO_T ++ECHO_N ++ECHO_C ++DEFS ++mandir ++localedir ++libdir ++psdir ++pdfdir ++dvidir ++htmldir ++infodir ++docdir ++oldincludedir ++includedir ++localstatedir ++sharedstatedir ++sysconfdir ++datadir ++datarootdir ++libexecdir ++sbindir ++bindir ++program_transform_name ++prefix ++exec_prefix ++PACKAGE_URL ++PACKAGE_BUGREPORT ++PACKAGE_STRING ++PACKAGE_VERSION ++PACKAGE_TARNAME ++PACKAGE_NAME ++PATH_SEPARATOR ++SHELL' ++ac_subst_files='host_makefile_frag' ++ac_user_opts=' ++enable_option_checking ++enable_dependency_tracking ++' ++ ac_precious_vars='build_alias ++host_alias ++target_alias ++CCAS ++CCASFLAGS' + -+ while(1); -+} -diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c -new file mode 100644 -index 000000000..9272e22c9 ---- /dev/null -+++ b/libgloss/libsysbase/abort.c -@@ -0,0 +1,8 @@ -+#include -+#include + -+void abort(void) { -+ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); -+ _exit (1); -+} ++# Initialize some variables set by options. ++ac_init_help= ++ac_init_version=false ++ac_unrecognized_opts= ++ac_unrecognized_sep= ++# The variables have the same names as the options, with ++# dashes changed to underlines. ++cache_file=/dev/null ++exec_prefix=NONE ++no_create= ++no_recursion= ++prefix=NONE ++program_prefix=NONE ++program_suffix=NONE ++program_transform_name=s,x,x, ++silent= ++site= ++srcdir= ++verbose= ++x_includes=NONE ++x_libraries=NONE + -diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h -new file mode 100644 -index 000000000..200ea7873 ---- /dev/null -+++ b/libgloss/libsysbase/acconfig.h -@@ -0,0 +1,29 @@ -+/* Name of package. */ -+#undef PACKAGE ++# Installation directory options. ++# These are left unexpanded so users can "make install exec_prefix=/foo" ++# and all the variables that are supposed to be based on exec_prefix ++# by default will actually change. ++# Use braces instead of parens because sh, perl, etc. also accept them. ++# (The list follows the same order as the GNU Coding Standards.) ++bindir='${exec_prefix}/bin' ++sbindir='${exec_prefix}/sbin' ++libexecdir='${exec_prefix}/libexec' ++datarootdir='${prefix}/share' ++datadir='${datarootdir}' ++sysconfdir='${prefix}/etc' ++sharedstatedir='${prefix}/com' ++localstatedir='${prefix}/var' ++includedir='${prefix}/include' ++oldincludedir='/usr/include' ++docdir='${datarootdir}/doc/${PACKAGE}' ++infodir='${datarootdir}/info' ++htmldir='${docdir}' ++dvidir='${docdir}' ++pdfdir='${docdir}' ++psdir='${docdir}' ++libdir='${exec_prefix}/lib' ++localedir='${datarootdir}/locale' ++mandir='${datarootdir}/man' + -+/* Version of package. */ -+#undef VERSION ++ac_prev= ++ac_dashdash= ++for ac_option ++do ++ # If the previous option needs an argument, assign it. ++ if test -n "$ac_prev"; then ++ eval $ac_prev=\$ac_option ++ ac_prev= ++ continue ++ fi + -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES ++ case $ac_option in ++ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; ++ *=) ac_optarg= ;; ++ *) ac_optarg=yes ;; ++ esac + -+/* Reentrant syscalls */ -+#undef REENTRANT_SYSCALLS_PROVIDED ++ # Accept the important Cygnus configure options, so we can diagnose typos. + -+/* Using ELF format */ -+#undef HAVE_ELF ++ case $ac_dashdash$ac_option in ++ --) ++ ac_dashdash=yes ;; + -+/* Using GNU LD */ -+#undef HAVE_GNU_LD ++ -bindir | --bindir | --bindi | --bind | --bin | --bi) ++ ac_prev=bindir ;; ++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) ++ bindir=$ac_optarg ;; + -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE ++ -build | --build | --buil | --bui | --bu) ++ ac_prev=build_alias ;; ++ -build=* | --build=* | --buil=* | --bui=* | --bu=*) ++ build_alias=$ac_optarg ;; + -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE ++ -cache-file | --cache-file | --cache-fil | --cache-fi \ ++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ++ ac_prev=cache_file ;; ++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ ++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) ++ cache_file=$ac_optarg ;; + -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES ++ --config-cache | -C) ++ cache_file=config.cache ;; + -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff --git a/libgloss/libsysbase/acinclude.m4 b/libgloss/libsysbase/acinclude.m4 -new file mode 100644 -index 000000000..7b0d7b4d6 ---- /dev/null -+++ b/libgloss/libsysbase/acinclude.m4 -@@ -0,0 +1,27 @@ -+dnl Make sure syscall names match those being used by newlib -+case "${target}" in -+ *-*-cygwin*) ;; -+ a29k-amd-udi) ;; -+ aarch64*-*-*) ;; -+ arc-*-*) ;; -+ arm*-*-*) ;; -+ bfin-*-*) ;; -+ cris-*-* | crisv32-*-*) ;; -+ d10v*) ;; -+ h8300*-*-*) ;; -+ h8500-*-*) ;; -+ i[3456]86-*-sco*) ;; -+ lm32-*-*) ;; -+ m32r-*-*) ;; -+ mn10?00-*-*) ;; -+ riscv*-*-*) ;; -+ powerpcle-*-pe) ;; -+ sh*-*-*) ;; -+ sparc-sun-sunos*) ;; -+ sparc64-*-*) ;; -+ v850*-*-*) ;; -+ w65-*-*) ;; -+ xstormy16-*-*) ;; -+ z8k-*-*) ;; -+ *) AC_DEFINE(MISSING_SYSCALL_NAMES, 1, [Missing syscall names]) ;; -+esac -diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c -new file mode 100644 -index 000000000..0697f53d2 ---- /dev/null -+++ b/libgloss/libsysbase/build_argv.c -@@ -0,0 +1,32 @@ -+struct __argv { -+ int argvMagic; -+ char *commandLine; -+ int length; -+ int argc; -+ char **argv; -+ char **endARGV; -+}; ++ -datadir | --datadir | --datadi | --datad) ++ ac_prev=datadir ;; ++ -datadir=* | --datadir=* | --datadi=* | --datad=*) ++ datadir=$ac_optarg ;; + ++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ ++ | --dataroo | --dataro | --datar) ++ ac_prev=datarootdir ;; ++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ ++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) ++ datarootdir=$ac_optarg ;; + -+void build_argv (struct __argv* argstruct ) { ++ -disable-* | --disable-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid feature name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"enable_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval enable_$ac_useropt=no ;; + -+ char *data = argstruct->commandLine; -+ int len = argstruct->length; ++ -docdir | --docdir | --docdi | --doc | --do) ++ ac_prev=docdir ;; ++ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) ++ docdir=$ac_optarg ;; + -+ char** argv = (char**)(((int)data + len + sizeof(char **)) & ~(sizeof(char **)-1)); -+ char* end = data + len - 1; -+ int argCount = 0; ++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ++ ac_prev=dvidir ;; ++ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) ++ dvidir=$ac_optarg ;; + -+ do { -+ argv[argCount++] = data; // Add next arg to argv list -+ while (*(data) && data < end) data++; // Move to next NULL delimiter -+ data++; // Move to one after the NULL delimiter -+ } while (data < end); ++ -enable-* | --enable-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid feature name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"enable_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval enable_$ac_useropt=\$ac_optarg ;; + -+ *end = '\0'; // Force NULL terminator for last arg -+ argv[argCount] = 0; // Force NULL terminator for argv ++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ ++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ ++ | --exec | --exe | --ex) ++ ac_prev=exec_prefix ;; ++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ ++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ ++ | --exec=* | --exe=* | --ex=*) ++ exec_prefix=$ac_optarg ;; + -+ argstruct->argv = argv; -+ argstruct->argc = argCount; -+ argstruct->endARGV = &argv[argCount + 1]; -+} -diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c -new file mode 100644 -index 000000000..922124b65 ---- /dev/null -+++ b/libgloss/libsysbase/chdir.c -@@ -0,0 +1,105 @@ -+#include -+#include -+#include -+#include -+#include ++ -gas | --gas | --ga | --g) ++ # Obsolete; use --with-gas. ++ with_gas=yes ;; + -+#include "concatenate.h" ++ -help | --help | --hel | --he | -h) ++ ac_init_help=long ;; ++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ++ ac_init_help=recursive ;; ++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ++ ac_init_help=short ;; + -+/* CWD always start with "/" */ -+static char _current_working_directory [PATH_MAX] = "/"; -+static char temp_cwd [PATH_MAX]; ++ -host | --host | --hos | --ho) ++ ac_prev=host_alias ;; ++ -host=* | --host=* | --hos=* | --ho=*) ++ host_alias=$ac_optarg ;; + -+int chdir (const char *path) { -+ struct _reent *r = _REENT; ++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ++ ac_prev=htmldir ;; ++ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ ++ | --ht=*) ++ htmldir=$ac_optarg ;; + -+ int dev; -+ const char *pathPosition; ++ -includedir | --includedir | --includedi | --included | --include \ ++ | --includ | --inclu | --incl | --inc) ++ ac_prev=includedir ;; ++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ ++ | --includ=* | --inclu=* | --incl=* | --inc=*) ++ includedir=$ac_optarg ;; + -+ /* Make sure the path is short enough */ -+ if (strnlen (path, PATH_MAX) >= PATH_MAX) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } ++ -infodir | --infodir | --infodi | --infod | --info | --inf) ++ ac_prev=infodir ;; ++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) ++ infodir=$ac_optarg ;; + -+ if (strchr (path, ':') != NULL) { -+ strncpy (temp_cwd, path, PATH_MAX); -+ /* Move path past device name */ -+ path = strchr (path, ':') + 1; -+ } else { -+ strncpy (temp_cwd, _current_working_directory, PATH_MAX); -+ } ++ -libdir | --libdir | --libdi | --libd) ++ ac_prev=libdir ;; ++ -libdir=* | --libdir=* | --libdi=* | --libd=*) ++ libdir=$ac_optarg ;; + -+ pathPosition = strchr (temp_cwd , ':'); ++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ ++ | --libexe | --libex | --libe) ++ ac_prev=libexecdir ;; ++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ ++ | --libexe=* | --libex=* | --libe=*) ++ libexecdir=$ac_optarg ;; + -+ if (pathPosition == NULL) { -+ pathPosition = temp_cwd; -+ } else { -+ pathPosition++; -+ } ++ -localedir | --localedir | --localedi | --localed | --locale) ++ ac_prev=localedir ;; ++ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) ++ localedir=$ac_optarg ;; + -+ /* Make sure the path starts in the root directory */ -+ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { -+ r->_errno = ENOENT; -+ return -1; -+ } ++ -localstatedir | --localstatedir | --localstatedi | --localstated \ ++ | --localstate | --localstat | --localsta | --localst | --locals) ++ ac_prev=localstatedir ;; ++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ ++ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) ++ localstatedir=$ac_optarg ;; + -+ /* Concatenate the path to the CWD */ -+ if (_concatenate_path (r, temp_cwd, path, PATH_MAX) == -1) { -+ return -1; -+ } ++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ++ ac_prev=mandir ;; ++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) ++ mandir=$ac_optarg ;; + -+ /* Get device from path name */ -+ dev = FindDevice(temp_cwd); ++ -nfp | --nfp | --nf) ++ # Obsolete; use --without-fp. ++ with_fp=no ;; + -+ if (dev < 0) { -+ r->_errno = ENODEV; -+ return -1; -+ } ++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ++ | --no-cr | --no-c | -n) ++ no_create=yes ;; + -+ r->deviceData = devoptab_list[dev]->deviceData; ++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ ++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ++ no_recursion=yes ;; + -+ if ( devoptab_list[dev]->chdir_r == NULL) { -+ r->_errno = ENOSYS; -+ return -1; -+ } ++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ ++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ ++ | --oldin | --oldi | --old | --ol | --o) ++ ac_prev=oldincludedir ;; ++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ ++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ ++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) ++ oldincludedir=$ac_optarg ;; + -+ /* Try changing directories on the device */ -+ if (devoptab_list[dev]->chdir_r (r, temp_cwd) == -1) { -+ return -1; -+ } ++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ++ ac_prev=prefix ;; ++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ++ prefix=$ac_optarg ;; + -+ /* Since it worked, set the new CWD and default device */ -+ setDefaultDevice(dev); -+ strncpy (_current_working_directory, temp_cwd, PATH_MAX); ++ -program-prefix | --program-prefix | --program-prefi | --program-pref \ ++ | --program-pre | --program-pr | --program-p) ++ ac_prev=program_prefix ;; ++ -program-prefix=* | --program-prefix=* | --program-prefi=* \ ++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) ++ program_prefix=$ac_optarg ;; + -+ return 0; -+} ++ -program-suffix | --program-suffix | --program-suffi | --program-suff \ ++ | --program-suf | --program-su | --program-s) ++ ac_prev=program_suffix ;; ++ -program-suffix=* | --program-suffix=* | --program-suffi=* \ ++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) ++ program_suffix=$ac_optarg ;; + -+char *getcwd(char *buf, size_t size) { ++ -program-transform-name | --program-transform-name \ ++ | --program-transform-nam | --program-transform-na \ ++ | --program-transform-n | --program-transform- \ ++ | --program-transform | --program-transfor \ ++ | --program-transfo | --program-transf \ ++ | --program-trans | --program-tran \ ++ | --progr-tra | --program-tr | --program-t) ++ ac_prev=program_transform_name ;; ++ -program-transform-name=* | --program-transform-name=* \ ++ | --program-transform-nam=* | --program-transform-na=* \ ++ | --program-transform-n=* | --program-transform-=* \ ++ | --program-transform=* | --program-transfor=* \ ++ | --program-transfo=* | --program-transf=* \ ++ | --program-trans=* | --program-tran=* \ ++ | --progr-tra=* | --program-tr=* | --program-t=*) ++ program_transform_name=$ac_optarg ;; + -+ struct _reent *r = _REENT; ++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ++ ac_prev=pdfdir ;; ++ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) ++ pdfdir=$ac_optarg ;; + -+ if (size == 0) { -+ if (buf != NULL) { -+ r->_errno = EINVAL; -+ return NULL; -+ } -+ buf = malloc(PATH_MAX); -+ size = PATH_MAX; -+ } ++ -psdir | --psdir | --psdi | --psd | --ps) ++ ac_prev=psdir ;; ++ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) ++ psdir=$ac_optarg ;; + -+ if (buf == NULL) { -+ r->_errno = EINVAL; -+ return NULL; -+ } ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ silent=yes ;; + -+ if ( size < (strnlen (_current_working_directory, PATH_MAX) + 1)) { -+ r->_errno = ERANGE; -+ return NULL; -+ } ++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ++ ac_prev=sbindir ;; ++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ ++ | --sbi=* | --sb=*) ++ sbindir=$ac_optarg ;; + -+ strncpy (buf, _current_working_directory, size); ++ -sharedstatedir | --sharedstatedir | --sharedstatedi \ ++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ ++ | --sharedst | --shareds | --shared | --share | --shar \ ++ | --sha | --sh) ++ ac_prev=sharedstatedir ;; ++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ ++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ ++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ ++ | --sha=* | --sh=*) ++ sharedstatedir=$ac_optarg ;; + -+ return buf; -+} -diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c -new file mode 100644 -index 000000000..3c4c60b7c ---- /dev/null -+++ b/libgloss/libsysbase/chmod.c -@@ -0,0 +1,29 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include ++ -site | --site | --sit) ++ ac_prev=site ;; ++ -site=* | --site=* | --sit=*) ++ site=$ac_optarg ;; + -+int chmod(const char *path, mode_t mode) { -+ int ret=-1,dev; -+ struct _reent *r = _REENT; ++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ++ ac_prev=srcdir ;; ++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ++ srcdir=$ac_optarg ;; + -+ /* Get device from path name */ -+ dev = FindDevice(path); ++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ ++ | --syscon | --sysco | --sysc | --sys | --sy) ++ ac_prev=sysconfdir ;; ++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ ++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) ++ sysconfdir=$ac_optarg ;; + -+ if (dev < 0) { -+ r->_errno = ENODEV; -+ } else { -+ if (devoptab_list[dev]->chmod_r == NULL) { -+ r->_errno=ENOSYS; -+ } else { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->chmod_r(r,path,mode); -+ } -+ } ++ -target | --target | --targe | --targ | --tar | --ta | --t) ++ ac_prev=target_alias ;; ++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) ++ target_alias=$ac_optarg ;; + -+ return ret; -+} ++ -v | -verbose | --verbose | --verbos | --verbo | --verb) ++ verbose=yes ;; + -diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c -new file mode 100644 -index 000000000..b36b5c079 ---- /dev/null -+++ b/libgloss/libsysbase/clocks.c -@@ -0,0 +1,34 @@ -+#include -+#include -+#include ++ -version | --version | --versio | --versi | --vers | -V) ++ ac_init_version=: ;; + -+int clock_gettime(clockid_t clock_id, struct timespec *tp) -+{ -+ if ( __has_syscall(clock_gettime) ) { -+ return __syscall_clock_gettime(clock_id, tp); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} ++ -with-* | --with-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid package name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"with_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval with_$ac_useropt=\$ac_optarg ;; + -+int clock_settime(clockid_t clock_id, const struct timespec *tp) -+{ -+ if ( __has_syscall(clock_settime) ) { -+ return __syscall_clock_settime(clock_id, tp); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} ++ -without-* | --without-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid package name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"with_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval with_$ac_useropt=no ;; + -+int clock_getres (clockid_t clock_id, struct timespec *res) -+{ -+ if ( __has_syscall(clock_getres) ) { -+ return __syscall_clock_getres(clock_id, res); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} ++ --x) ++ # Obsolete; use --with-x. ++ with_x=yes ;; + -diff --git a/libgloss/libsysbase/concatenate.c b/libgloss/libsysbase/concatenate.c -new file mode 100644 -index 000000000..e1da5a403 ---- /dev/null -+++ b/libgloss/libsysbase/concatenate.c -@@ -0,0 +1,91 @@ -+#include "concatenate.h" ++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ ++ | --x-incl | --x-inc | --x-in | --x-i) ++ ac_prev=x_includes ;; ++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ ++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) ++ x_includes=$ac_optarg ;; + ++ -x-libraries | --x-libraries | --x-librarie | --x-librari \ ++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ++ ac_prev=x_libraries ;; ++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ ++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) ++ x_libraries=$ac_optarg ;; + -+int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { -+ char *pathEnd; -+ int pathLength; -+ const char *extraEnd; -+ int extraSize; ++ -*) as_fn_error $? "unrecognized option: \`$ac_option' ++Try \`$0 --help' for more information" ++ ;; + -+ pathLength = strnlen (path, maxLength); ++ *=*) ++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` ++ # Reject names that are not valid shell variable names. ++ case $ac_envvar in #( ++ '' | [0-9]* | *[!_$as_cr_alnum]* ) ++ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; ++ esac ++ eval $ac_envvar=\$ac_optarg ++ export $ac_envvar ;; + -+ /* assumes path ends in a directory separator */ -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ pathEnd = path + pathLength; -+ if (pathLength != 0 && pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd += 1; -+ } ++ *) ++ # FIXME: should be removed in autoconf 3.0. ++ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 ++ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ++ ;; + -+ extraEnd = extra; ++ esac ++done + -+ /* If the extra bit starts with a slash, start at root */ -+ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; -+ pathEnd[0] = '\0'; -+ } -+ do { -+ /* Advance past any separators in extra */ -+ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ extra += 1; -+ } ++if test -n "$ac_prev"; then ++ ac_option=--`echo $ac_prev | sed 's/_/-/g'` ++ as_fn_error $? "missing argument to $ac_option" ++fi + -+ /* Grab the next directory name from extra */ -+ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); -+ if (extraEnd == NULL) { -+ extraEnd = strrchr (extra, '\0'); -+ } else { -+ extraEnd += 1; -+ } ++if test -n "$ac_unrecognized_opts"; then ++ case $enable_option_checking in ++ no) ;; ++ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; ++ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; ++ esac ++fi + -+ extraSize = (extraEnd - extra); -+ if (extraSize == 0) { -+ break; -+ } ++# Check all directory arguments for consistency. ++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ ++ datadir sysconfdir sharedstatedir localstatedir includedir \ ++ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ ++ libdir localedir mandir ++do ++ eval ac_val=\$$ac_var ++ # Remove trailing slashes. ++ case $ac_val in ++ */ ) ++ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` ++ eval $ac_var=\$ac_val;; ++ esac ++ # Be sure to have absolute directory names. ++ case $ac_val in ++ [\\/$]* | ?:[\\/]* ) continue;; ++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; ++ esac ++ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" ++done + -+ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) -+ { -+ /* Don't copy anything */ -+ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) -+ { -+ /* Go up one level of in the path */ -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { -+ // Remove trailing separator -+ pathEnd[-1] = '\0'; -+ } -+ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); -+ if (pathEnd == NULL) { -+ /* Can't go up any higher, return false */ -+ r->_errno = ENOENT; -+ return -1; -+ } -+ pathLength = pathEnd - path; -+ pathEnd += 1; -+ } else { -+ pathLength += extraSize; -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ /* Copy the next part over */ -+ strncpy (pathEnd, extra, extraSize); -+ pathEnd += extraSize; -+ } -+ pathEnd[0] = '\0'; -+ extra += extraSize; -+ } while (extraSize != 0); ++# There might be people who depend on the old broken behavior: `$host' ++# used to hold the argument of --host etc. ++# FIXME: To remove some day. ++build=$build_alias ++host=$host_alias ++target=$target_alias + -+ if (strlen(path) > 2 ) { -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') -+ pathEnd[-1] = '\0'; -+ } ++# FIXME: To remove some day. ++if test "x$host_alias" != x; then ++ if test "x$build_alias" = x; then ++ cross_compiling=maybe ++ elif test "x$build_alias" != "x$host_alias"; then ++ cross_compiling=yes ++ fi ++fi + -+ return 0; -+} -\ No newline at end of file -diff --git a/libgloss/libsysbase/concatenate.h b/libgloss/libsysbase/concatenate.h -new file mode 100644 -index 000000000..e3b9e7d99 ---- /dev/null -+++ b/libgloss/libsysbase/concatenate.h -@@ -0,0 +1,10 @@ -+#include -+#include -+#include ++ac_tool_prefix= ++test -n "$host_alias" && ac_tool_prefix=$host_alias- + -+#define DIRECTORY_SEPARATOR_CHAR '/' -+#define DIRECTORY_SEPARATOR "/" -+#define DIRECTORY_THIS "." -+#define DIRECTORY_PARENT ".." ++test "$silent" = yes && exec 6>/dev/null + -+int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength); -diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in -new file mode 100644 -index 000000000..48ce950b4 ---- /dev/null -+++ b/libgloss/libsysbase/config.h.in -@@ -0,0 +1,25 @@ -+/* config.h.in. Generated automatically from configure.in by autoheader. */ + -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES ++ac_pwd=`pwd` && test -n "$ac_pwd" && ++ac_ls_di=`ls -di .` && ++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || ++ as_fn_error $? "working directory cannot be determined" ++test "X$ac_ls_di" = "X$ac_pwd_ls_di" || ++ as_fn_error $? "pwd does not report name of working directory" + -+/* Reentrant syscalls */ -+#undef REENTRANT_SYSCALLS_PROVIDED + -+/* Using ELF format */ -+#undef HAVE_ELF ++# Find the source files, if location was not specified. ++if test -z "$srcdir"; then ++ ac_srcdir_defaulted=yes ++ # Try the directory containing this script, then the parent directory. ++ ac_confdir=`$as_dirname -- "$as_myself" || ++$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_myself" : 'X\(//\)[^/]' \| \ ++ X"$as_myself" : 'X\(//\)$' \| \ ++ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_myself" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ srcdir=$ac_confdir ++ if test ! -r "$srcdir/$ac_unique_file"; then ++ srcdir=.. ++ fi ++else ++ ac_srcdir_defaulted=no ++fi ++if test ! -r "$srcdir/$ac_unique_file"; then ++ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." ++ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" ++fi ++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ++ac_abs_confdir=`( ++ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" ++ pwd)` ++# When building in place, set srcdir=. ++if test "$ac_abs_confdir" = "$ac_pwd"; then ++ srcdir=. ++fi ++# Remove unnecessary trailing slashes from srcdir. ++# Double slashes in file names in object file debugging info ++# mess up M-x gdb in Emacs. ++case $srcdir in ++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; ++esac ++for ac_var in $ac_precious_vars; do ++ eval ac_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_env_${ac_var}_value=\$${ac_var} ++ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_cv_env_${ac_var}_value=\$${ac_var} ++done + -+/* Using GNU LD */ -+#undef HAVE_GNU_LD ++# ++# Report the --help message. ++# ++if test "$ac_init_help" = "long"; then ++ # Omit some internal or obsolete options to make the list less imposing. ++ # This message is too long to be a string in the A/UX 3.1 sh. ++ cat <<_ACEOF ++\`configure' configures this package to adapt to many kinds of systems. + -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE ++Usage: $0 [OPTION]... [VAR=VALUE]... + -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE ++To assign environment variables (e.g., CC, CFLAGS...), specify them as ++VAR=VALUE. See below for descriptions of some of the useful variables. + -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES ++Defaults for the options are specified in brackets. + -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure -new file mode 100644 -index 000000000..be36ded12 ---- /dev/null -+++ b/libgloss/libsysbase/configure -@@ -0,0 +1,4162 @@ -+#! /bin/sh -+# Guess values for system-dependent variables and create Makefiles. -+# Generated by GNU Autoconf 2.69. -+# -+# -+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -+# -+# -+# This configure script is free software; the Free Software Foundation -+# gives unlimited permission to copy, distribute and modify it. -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## -+ -+# Be more Bourne compatible -+DUALCASE=1; export DUALCASE # for MKS sh -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '${1+"$@"}'='"$@"' -+ setopt NO_GLOB_SUBST -+else -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi ++Configuration: ++ -h, --help display this help and exit ++ --help=short display options specific to this package ++ --help=recursive display the short help of all the included packages ++ -V, --version display version information and exit ++ -q, --quiet, --silent do not print \`checking ...' messages ++ --cache-file=FILE cache test results in FILE [disabled] ++ -C, --config-cache alias for \`--cache-file=config.cache' ++ -n, --no-create do not create output files ++ --srcdir=DIR find the sources in DIR [configure dir or \`..'] + ++Installation directories: ++ --prefix=PREFIX install architecture-independent files in PREFIX ++ [$ac_default_prefix] ++ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX ++ [PREFIX] + -+as_nl=' -+' -+export as_nl -+# Printing a long string crashes Solaris 7 /usr/bin/printf. -+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='printf %s\n' -+ as_echo_n='printf %s' -+else -+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then -+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' -+ as_echo_n='/usr/ucb/echo -n' -+ else -+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' -+ as_echo_n_body='eval -+ arg=$1; -+ case $arg in #( -+ *"$as_nl"*) -+ expr "X$arg" : "X\\(.*\\)$as_nl"; -+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -+ esac; -+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" -+ ' -+ export as_echo_n_body -+ as_echo_n='sh -c $as_echo_n_body as_echo' -+ fi -+ export as_echo_body -+ as_echo='sh -c $as_echo_body as_echo' -+fi ++By default, \`make install' will install all the files in ++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify ++an installation prefix other than \`$ac_default_prefix' using \`--prefix', ++for instance \`--prefix=\$HOME'. + -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ PATH_SEPARATOR=: -+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { -+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || -+ PATH_SEPARATOR=';' -+ } -+fi ++For better control, use the options below. + ++Fine tuning of the installation directories: ++ --bindir=DIR user executables [EPREFIX/bin] ++ --sbindir=DIR system admin executables [EPREFIX/sbin] ++ --libexecdir=DIR program executables [EPREFIX/libexec] ++ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] ++ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] ++ --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --libdir=DIR object code libraries [EPREFIX/lib] ++ --includedir=DIR C header files [PREFIX/include] ++ --oldincludedir=DIR C header files for non-gcc [/usr/include] ++ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] ++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] ++ --infodir=DIR info documentation [DATAROOTDIR/info] ++ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] ++ --mandir=DIR man documentation [DATAROOTDIR/man] ++ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] ++ --htmldir=DIR html documentation [DOCDIR] ++ --dvidir=DIR dvi documentation [DOCDIR] ++ --pdfdir=DIR pdf documentation [DOCDIR] ++ --psdir=DIR ps documentation [DOCDIR] ++_ACEOF + -+# IFS -+# We need space, tab and new line, in precisely that order. Quoting is -+# there to prevent editors from complaining about space-tab. -+# (If _AS_PATH_WALK were called with IFS unset, it would disable word -+# splitting by setting IFS to empty value.) -+IFS=" "" $as_nl" ++ cat <<\_ACEOF + -+# Find who we are. Look in the path if we contain no directory separator. -+as_myself= -+case $0 in #(( -+ *[\\/]* ) as_myself=$0 ;; -+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done -+IFS=$as_save_IFS ++Program names: ++ --program-prefix=PREFIX prepend PREFIX to installed program names ++ --program-suffix=SUFFIX append SUFFIX to installed program names ++ --program-transform-name=PROGRAM run sed PROGRAM on installed program names + -+ ;; -+esac -+# We did not find ourselves, most probably we were run as `sh COMMAND' -+# in which case we are not to be found in the path. -+if test "x$as_myself" = x; then -+ as_myself=$0 -+fi -+if test ! -f "$as_myself"; then -+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -+ exit 1 ++System types: ++ --build=BUILD configure for building on BUILD [guessed] ++ --host=HOST cross-compile to build programs to run on HOST [BUILD] ++ --target=TARGET configure for building compilers for TARGET [HOST] ++_ACEOF +fi + -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -+done -+PS1='$ ' -+PS2='> ' -+PS4='+ ' ++if test -n "$ac_init_help"; then + -+# NLS nuisances. -+LC_ALL=C -+export LC_ALL -+LANGUAGE=C -+export LANGUAGE ++ cat <<\_ACEOF + -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH ++Optional Features: ++ --disable-option-checking ignore unrecognized --enable/--with options ++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) ++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] ++ --disable-dependency-tracking speeds up one-time build ++ --enable-dependency-tracking do not reject slow dependency extractors + -+# Use a proper internal environment variable to ensure we don't fall -+ # into an infinite loop, continuously re-executing ourselves. -+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then -+ _as_can_reexec=no; export _as_can_reexec; -+ # We cannot yet assume a decent shell, so we have to provide a -+# neutralization value for shells without unset; and this also -+# works around shells that cannot unset nonexistent variables. -+# Preserve -v and -x to the replacement shell. -+BASH_ENV=/dev/null -+ENV=/dev/null -+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; -+esac -+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -+# Admittedly, this is quite paranoid, since all the known shells bail -+# out after a failed `exec'. -+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -+as_fn_exit 255 -+ fi -+ # We don't want this to propagate to other subprocesses. -+ { _as_can_reexec=; unset _as_can_reexec;} -+if test "x$CONFIG_SHELL" = x; then -+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '\${1+\"\$@\"}'='\"\$@\"' -+ setopt NO_GLOB_SUBST -+else -+ case \`(set -o) 2>/dev/null\` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+" -+ as_required="as_fn_return () { (exit \$1); } -+as_fn_success () { as_fn_return 0; } -+as_fn_failure () { as_fn_return 1; } -+as_fn_ret_success () { return 0; } -+as_fn_ret_failure () { return 1; } ++Some influential environment variables: ++ CCAS assembler compiler command (defaults to CC) ++ CCASFLAGS assembler compiler flags (defaults to CFLAGS) + -+exitcode=0 -+as_fn_success || { exitcode=1; echo as_fn_success failed.; } -+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : ++Use these variables to override the choices made by `configure' or to help ++it to find libraries and programs with nonstandard names/locations. + -+else -+ exitcode=1; echo positional parameters were not saved. ++Report bugs to the package provider. ++_ACEOF ++ac_status=$? +fi -+test x\$exitcode = x0 || exit 1 -+test -x / || exit 1" -+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO -+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO -+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && -+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" -+ if (eval "$as_required") 2>/dev/null; then : -+ as_have_required=yes -+else -+ as_have_required=no -+fi -+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+as_found=false -+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ as_found=: -+ case $as_dir in #( -+ /*) -+ for as_base in sh bash ksh sh5; do -+ # Try only shells that exist, to save several forks. -+ as_shell=$as_dir/$as_base -+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ CONFIG_SHELL=$as_shell as_have_required=yes -+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ break 2 -+fi -+fi -+ done;; -+ esac -+ as_found=false -+done -+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : -+ CONFIG_SHELL=$SHELL as_have_required=yes -+fi; } -+IFS=$as_save_IFS ++if test "$ac_init_help" = "recursive"; then ++ # If there are subdirs, report their specific --help. ++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue ++ test -d "$ac_dir" || ++ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || ++ continue ++ ac_builddir=. + ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix + -+ if test "x$CONFIG_SHELL" != x; then : -+ export CONFIG_SHELL -+ # We cannot yet assume a decent shell, so we have to provide a -+# neutralization value for shells without unset; and this also -+# works around shells that cannot unset nonexistent variables. -+# Preserve -v and -x to the replacement shell. -+BASH_ENV=/dev/null -+ENV=/dev/null -+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac -+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -+# Admittedly, this is quite paranoid, since all the known shells bail -+# out after a failed `exec'. -+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -+exit 255 -+fi ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + -+ if test x$as_have_required = xno; then : -+ $as_echo "$0: This script requires a shell more modern than all" -+ $as_echo "$0: the shells that I found on your system." -+ if test x${ZSH_VERSION+set} = xset ; then -+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" -+ $as_echo "$0: be upgraded to zsh 4.3.4 or later." -+ else -+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -+$0: including any error possibly output before this -+$0: message. Then install a modern shell, or manually run -+$0: the script under such a shell if you do have one." -+ fi -+ exit 1 -+fi -+fi ++ cd "$ac_dir" || { ac_status=$?; continue; } ++ # Check for guested configure. ++ if test -f "$ac_srcdir/configure.gnu"; then ++ echo && ++ $SHELL "$ac_srcdir/configure.gnu" --help=recursive ++ elif test -f "$ac_srcdir/configure"; then ++ echo && ++ $SHELL "$ac_srcdir/configure" --help=recursive ++ else ++ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ fi || ac_status=$? ++ cd "$ac_pwd" || { ac_status=$?; break; } ++ done +fi -+SHELL=${CONFIG_SHELL-/bin/sh} -+export SHELL -+# Unset more variables known to interfere with behavior of common tools. -+CLICOLOR_FORCE= GREP_OPTIONS= -+unset CLICOLOR_FORCE GREP_OPTIONS + -+## --------------------- ## -+## M4sh Shell Functions. ## -+## --------------------- ## -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset ++test -n "$ac_init_help" && exit $ac_status ++if $ac_init_version; then ++ cat <<\_ACEOF ++configure ++generated by GNU Autoconf 2.69 + -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status ++Copyright (C) 2012 Free Software Foundation, Inc. ++This configure script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it. ++_ACEOF ++ exit ++fi + -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit ++## ------------------------ ## ++## Autoconf initialization. ## ++## ------------------------ ## + -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () ++# ac_fn_c_try_compile LINENO ++# -------------------------- ++# Try to compile conftest.$ac_ext, and return whether this succeeded. ++ac_fn_c_try_compile () +{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ rm -f conftest.$ac_objext ++ if { { ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" ++$as_echo "$ac_try_echo"; } >&5 ++ (eval "$ac_compile") 2>conftest.err ++ ac_status=$? ++ if test -s conftest.err; then ++ grep -v '^ *+' conftest.err >conftest.er1 ++ cat conftest.er1 >&5 ++ mv -f conftest.er1 conftest.err ++ fi ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then : ++ ac_retval=0 ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" ++ ac_retval=1 ++fi ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ as_fn_set_status $ac_retval ++ ++} # ac_fn_c_try_compile ++cat >config.log <<_ACEOF ++This file contains any messages produced by compilers while ++running configure, to aid debugging if configure makes a mistake. + ++It was created by $as_me, which was ++generated by GNU Autoconf 2.69. Invocation command line was + -+} # as_fn_mkdir_p ++ $ $0 $@ + -+# as_fn_executable_p FILE -+# ----------------------- -+# Test if FILE is an executable regular file. -+as_fn_executable_p () ++_ACEOF ++exec 5>>config.log +{ -+ test -f "$1" && test -x "$1" -+} # as_fn_executable_p -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append -+ -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith ++cat <<_ASUNAME ++## --------- ## ++## Platform. ## ++## --------- ## + ++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` ++uname -m = `(uname -m) 2>/dev/null || echo unknown` ++uname -r = `(uname -r) 2>/dev/null || echo unknown` ++uname -s = `(uname -s) 2>/dev/null || echo unknown` ++uname -v = `(uname -v) 2>/dev/null || echo unknown` + -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error ++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` ++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr -+else -+ as_expr=false -+fi ++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` ++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` ++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` ++/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` ++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` ++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` ++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename -+else -+ as_basename=false -+fi ++_ASUNAME + -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ $as_echo "PATH: $as_dir" ++ done ++IFS=$as_save_IFS + -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` ++} >&5 + -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits ++cat >&5 <<_ACEOF + + -+ as_lineno_1=$LINENO as_lineno_1a=$LINENO -+ as_lineno_2=$LINENO as_lineno_2a=$LINENO -+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && -+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { -+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) -+ sed -n ' -+ p -+ /[$]LINENO/= -+ ' <$as_myself | -+ sed ' -+ s/[$]LINENO.*/&-/ -+ t lineno -+ b -+ :lineno -+ N -+ :loop -+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ -+ t loop -+ s/-\n.*// -+ ' >$as_me.lineno && -+ chmod +x "$as_me.lineno" || -+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } ++## ----------- ## ++## Core tests. ## ++## ----------- ## + -+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have -+ # already done that, so ensure we don't try to do so again and fall -+ # in an infinite loop. This has already happened in practice. -+ _as_can_reexec=no; export _as_can_reexec -+ # Don't try to exec as it changes $[0], causing all sort of problems -+ # (the dirname of $[0] is not the place where we might find the -+ # original and so on. Autoconf is especially sensitive to this). -+ . "./$as_me.lineno" -+ # Exit status is that of the last command. -+ exit -+} ++_ACEOF + -+ECHO_C= ECHO_N= ECHO_T= -+case `echo -n x` in #((((( -+-n*) -+ case `echo 'xy\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; -+ esac;; -+*) -+ ECHO_N='-n';; -+esac + -+rm -f conf$$ conf$$.exe conf$$.file -+if test -d conf$$.dir; then -+ rm -f conf$$.dir/conf$$.file -+else -+ rm -f conf$$.dir -+ mkdir conf$$.dir 2>/dev/null -+fi -+if (echo >conf$$.file) 2>/dev/null; then -+ if ln -s conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s='ln -s' -+ # ... but there are two gotchas: -+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. -+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -+ # In both cases, we have to default to `cp -pR'. -+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -+ as_ln_s='cp -pR' -+ elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+ else -+ as_ln_s='cp -pR' -+ fi -+else -+ as_ln_s='cp -pR' -+fi -+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -+rmdir conf$$.dir 2>/dev/null ++# Keep a trace of the command line. ++# Strip out --no-create and --no-recursion so they do not pile up. ++# Strip out --silent because we don't want to record it for future runs. ++# Also quote any args containing shell meta-characters. ++# Make two passes to allow for proper duplicate-argument suppression. ++ac_configure_args= ++ac_configure_args0= ++ac_configure_args1= ++ac_must_keep_next=false ++for ac_pass in 1 2 ++do ++ for ac_arg ++ do ++ case $ac_arg in ++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ continue ;; ++ *\'*) ++ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ case $ac_pass in ++ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; ++ 2) ++ as_fn_append ac_configure_args1 " '$ac_arg'" ++ if test $ac_must_keep_next = true; then ++ ac_must_keep_next=false # Got value, back to normal. ++ else ++ case $ac_arg in ++ *=* | --config-cache | -C | -disable-* | --disable-* \ ++ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ ++ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ ++ | -with-* | --with-* | -without-* | --without-* | --x) ++ case "$ac_configure_args0 " in ++ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; ++ esac ++ ;; ++ -* ) ac_must_keep_next=true ;; ++ esac ++ fi ++ as_fn_append ac_configure_args " '$ac_arg'" ++ ;; ++ esac ++ done ++done ++{ ac_configure_args0=; unset ac_configure_args0;} ++{ ac_configure_args1=; unset ac_configure_args1;} + -+if mkdir -p . 2>/dev/null; then -+ as_mkdir_p='mkdir -p "$as_dir"' -+else -+ test -d ./-p && rmdir ./-p -+ as_mkdir_p=false -+fi ++# When interrupted or exit'd, cleanup temporary files, and complete ++# config.log. We remove comments because anyway the quotes in there ++# would cause problems or look ugly. ++# WARNING: Use '\'' to represent an apostrophe within the trap. ++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. ++trap 'exit_status=$? ++ # Save into config.log some information that might help in debugging. ++ { ++ echo + -+as_test_x='test -x' -+as_executable_p=as_fn_executable_p ++ $as_echo "## ---------------- ## ++## Cache variables. ## ++## ---------------- ##" ++ echo ++ # The following way of writing the cache mishandles newlines in values, ++( ++ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( ++ *) { eval $ac_var=; unset $ac_var;} ;; ++ esac ;; ++ esac ++ done ++ (set) 2>&1 | ++ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ sed -n \ ++ "s/'\''/'\''\\\\'\'''\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ++ ;; #( ++ *) ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) ++ echo + -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ $as_echo "## ----------------- ## ++## Output variables. ## ++## ----------------- ##" ++ echo ++ for ac_var in $ac_subst_vars ++ do ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ $as_echo "$ac_var='\''$ac_val'\''" ++ done | sort ++ echo + -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ if test -n "$ac_subst_files"; then ++ $as_echo "## ------------------- ## ++## File substitutions. ## ++## ------------------- ##" ++ echo ++ for ac_var in $ac_subst_files ++ do ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ $as_echo "$ac_var='\''$ac_val'\''" ++ done | sort ++ echo ++ fi + ++ if test -s confdefs.h; then ++ $as_echo "## ----------- ## ++## confdefs.h. ## ++## ----------- ##" ++ echo ++ cat confdefs.h ++ echo ++ fi ++ test "$ac_signal" != 0 && ++ $as_echo "$as_me: caught signal $ac_signal" ++ $as_echo "$as_me: exit $exit_status" ++ } >&5 ++ rm -f core *.core core.conftest.* && ++ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && ++ exit $exit_status ++' 0 ++for ac_signal in 1 2 13 15; do ++ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal ++done ++ac_signal=0 + -+test -n "$DJDIR" || exec 7<&0 &1 ++# confdefs.h avoids OS command line length limits that DEFS can exceed. ++rm -f -r conftest* confdefs.h + -+# Name of the host. -+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -+# so uname gets run too. -+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` ++$as_echo "/* confdefs.h */" > confdefs.h + -+# -+# Initializations. -+# -+ac_default_prefix=/usr/local -+ac_clean_files= -+ac_config_libobj_dir=. -+LIBOBJS= -+cross_compiling=no -+subdirs= -+MFLAGS= -+MAKEFLAGS= ++# Predefined preprocessor variables. + -+# Identity of this package. -+PACKAGE_NAME= -+PACKAGE_TARNAME= -+PACKAGE_VERSION= -+PACKAGE_STRING= -+PACKAGE_BUGREPORT= -+PACKAGE_URL= ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_NAME "$PACKAGE_NAME" ++_ACEOF + -+ac_unique_file="abort.c" -+ac_subst_vars='LTLIBOBJS -+LIBOBJS -+host_makefile_frag_path -+CCASFLAGS -+CCAS -+RANLIB -+LD -+AR -+AS -+am__fastdepCC_FALSE -+am__fastdepCC_TRUE -+CCDEPMODE -+AMDEPBACKSLASH -+AMDEP_FALSE -+AMDEP_TRUE -+am__quote -+am__include -+DEPDIR -+am__leading_dot -+CC -+INSTALL_DATA -+INSTALL_SCRIPT -+INSTALL_PROGRAM -+target_os -+target_vendor -+target_cpu -+target -+host_os -+host_vendor -+host_cpu -+host -+build_os -+build_vendor -+build_cpu -+build -+target_alias -+host_alias -+build_alias -+LIBS -+ECHO_T -+ECHO_N -+ECHO_C -+DEFS -+mandir -+localedir -+libdir -+psdir -+pdfdir -+dvidir -+htmldir -+infodir -+docdir -+oldincludedir -+includedir -+localstatedir -+sharedstatedir -+sysconfdir -+datadir -+datarootdir -+libexecdir -+sbindir -+bindir -+program_transform_name -+prefix -+exec_prefix -+PACKAGE_URL -+PACKAGE_BUGREPORT -+PACKAGE_STRING -+PACKAGE_VERSION -+PACKAGE_TARNAME -+PACKAGE_NAME -+PATH_SEPARATOR -+SHELL' -+ac_subst_files='host_makefile_frag' -+ac_user_opts=' -+enable_option_checking -+enable_dependency_tracking -+' -+ ac_precious_vars='build_alias -+host_alias -+target_alias -+CCAS -+CCASFLAGS' ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_TARNAME "$PACKAGE_TARNAME" ++_ACEOF + ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_VERSION "$PACKAGE_VERSION" ++_ACEOF + -+# Initialize some variables set by options. -+ac_init_help= -+ac_init_version=false -+ac_unrecognized_opts= -+ac_unrecognized_sep= -+# The variables have the same names as the options, with -+# dashes changed to underlines. -+cache_file=/dev/null -+exec_prefix=NONE -+no_create= -+no_recursion= -+prefix=NONE -+program_prefix=NONE -+program_suffix=NONE -+program_transform_name=s,x,x, -+silent= -+site= -+srcdir= -+verbose= -+x_includes=NONE -+x_libraries=NONE ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_STRING "$PACKAGE_STRING" ++_ACEOF + -+# Installation directory options. -+# These are left unexpanded so users can "make install exec_prefix=/foo" -+# and all the variables that are supposed to be based on exec_prefix -+# by default will actually change. -+# Use braces instead of parens because sh, perl, etc. also accept them. -+# (The list follows the same order as the GNU Coding Standards.) -+bindir='${exec_prefix}/bin' -+sbindir='${exec_prefix}/sbin' -+libexecdir='${exec_prefix}/libexec' -+datarootdir='${prefix}/share' -+datadir='${datarootdir}' -+sysconfdir='${prefix}/etc' -+sharedstatedir='${prefix}/com' -+localstatedir='${prefix}/var' -+includedir='${prefix}/include' -+oldincludedir='/usr/include' -+docdir='${datarootdir}/doc/${PACKAGE}' -+infodir='${datarootdir}/info' -+htmldir='${docdir}' -+dvidir='${docdir}' -+pdfdir='${docdir}' -+psdir='${docdir}' -+libdir='${exec_prefix}/lib' -+localedir='${datarootdir}/locale' -+mandir='${datarootdir}/man' ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" ++_ACEOF + -+ac_prev= -+ac_dashdash= -+for ac_option ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_URL "$PACKAGE_URL" ++_ACEOF ++ ++ ++# Let the site file select an alternate cache file if it wants to. ++# Prefer an explicitly selected file to automatically selected ones. ++ac_site_file1=NONE ++ac_site_file2=NONE ++if test -n "$CONFIG_SITE"; then ++ # We do not want a PATH search for config.site. ++ case $CONFIG_SITE in #(( ++ -*) ac_site_file1=./$CONFIG_SITE;; ++ */*) ac_site_file1=$CONFIG_SITE;; ++ *) ac_site_file1=./$CONFIG_SITE;; ++ esac ++elif test "x$prefix" != xNONE; then ++ ac_site_file1=$prefix/share/config.site ++ ac_site_file2=$prefix/etc/config.site ++else ++ ac_site_file1=$ac_default_prefix/share/config.site ++ ac_site_file2=$ac_default_prefix/etc/config.site ++fi ++for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do -+ # If the previous option needs an argument, assign it. -+ if test -n "$ac_prev"; then -+ eval $ac_prev=\$ac_option -+ ac_prev= -+ continue ++ test "x$ac_site_file" = xNONE && continue ++ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 ++$as_echo "$as_me: loading site script $ac_site_file" >&6;} ++ sed 's/^/| /' "$ac_site_file" >&5 ++ . "$ac_site_file" \ ++ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "failed to load site script $ac_site_file ++See \`config.log' for more details" "$LINENO" 5; } + fi ++done + -+ case $ac_option in -+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; -+ *=) ac_optarg= ;; -+ *) ac_optarg=yes ;; -+ esac ++if test -r "$cache_file"; then ++ # Some versions of bash will fail to source /dev/null (special files ++ # actually), so we avoid doing that. DJGPP emulates it as a regular file. ++ if test /dev/null != "$cache_file" && test -f "$cache_file"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 ++$as_echo "$as_me: loading cache $cache_file" >&6;} ++ case $cache_file in ++ [\\/]* | ?:[\\/]* ) . "$cache_file";; ++ *) . "./$cache_file";; ++ esac ++ fi ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 ++$as_echo "$as_me: creating cache $cache_file" >&6;} ++ >$cache_file ++fi + -+ # Accept the important Cygnus configure options, so we can diagnose typos. ++# Check that the precious variables saved in the cache have kept the same ++# value. ++ac_cache_corrupted=false ++for ac_var in $ac_precious_vars; do ++ eval ac_old_set=\$ac_cv_env_${ac_var}_set ++ eval ac_new_set=\$ac_env_${ac_var}_set ++ eval ac_old_val=\$ac_cv_env_${ac_var}_value ++ eval ac_new_val=\$ac_env_${ac_var}_value ++ case $ac_old_set,$ac_new_set in ++ set,) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,set) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 ++$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,);; ++ *) ++ if test "x$ac_old_val" != "x$ac_new_val"; then ++ # differences in whitespace do not lead to failure. ++ ac_old_val_w=`echo x $ac_old_val` ++ ac_new_val_w=`echo x $ac_new_val` ++ if test "$ac_old_val_w" != "$ac_new_val_w"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 ++$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ++ ac_cache_corrupted=: ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 ++$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} ++ eval $ac_var=\$ac_old_val ++ fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 ++$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} ++ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 ++$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} ++ fi;; ++ esac ++ # Pass precious variables to config.status. ++ if test "$ac_new_set" = set; then ++ case $ac_new_val in ++ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *) ac_arg=$ac_var=$ac_new_val ;; ++ esac ++ case " $ac_configure_args " in ++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. ++ *) as_fn_append ac_configure_args " '$ac_arg'" ;; ++ esac ++ fi ++done ++if $ac_cache_corrupted; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 ++$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} ++ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 ++fi ++## -------------------- ## ++## Main body of script. ## ++## -------------------- ## + -+ case $ac_dashdash$ac_option in -+ --) -+ ac_dashdash=yes ;; ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu + -+ -bindir | --bindir | --bindi | --bind | --bin | --bi) -+ ac_prev=bindir ;; -+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) -+ bindir=$ac_optarg ;; + -+ -build | --build | --buil | --bui | --bu) -+ ac_prev=build_alias ;; -+ -build=* | --build=* | --buil=* | --bui=* | --bu=*) -+ build_alias=$ac_optarg ;; ++ac_config_headers="$ac_config_headers config.h" + -+ -cache-file | --cache-file | --cache-fil | --cache-fi \ -+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) -+ ac_prev=cache_file ;; -+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ -+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) -+ cache_file=$ac_optarg ;; + -+ --config-cache | -C) -+ cache_file=config.cache ;; ++if test "${enable_shared}" = "yes" ; then ++ echo "Shared libraries not supported for cross compiling, ignored" ++fi + -+ -datadir | --datadir | --datadi | --datad) -+ ac_prev=datadir ;; -+ -datadir=* | --datadir=* | --datadi=* | --datad=*) -+ datadir=$ac_optarg ;; ++if test "$srcdir" = "." ; then ++ if test "${with_target_subdir}" != "." ; then ++ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." ++ else ++ libgloss_topdir="${srcdir}/${with_multisrctop}../.." ++ fi ++else ++ libgloss_topdir="${srcdir}/../.." ++fi ++ac_aux_dir= ++for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do ++ if test -f "$ac_dir/install-sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install-sh -c" ++ break ++ elif test -f "$ac_dir/install.sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install.sh -c" ++ break ++ elif test -f "$ac_dir/shtool"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/shtool install -c" ++ break ++ fi ++done ++if test -z "$ac_aux_dir"; then ++ as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5 ++fi + -+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ -+ | --dataroo | --dataro | --datar) -+ ac_prev=datarootdir ;; -+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ -+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) -+ datarootdir=$ac_optarg ;; ++# These three variables are undocumented and unsupported, ++# and are intended to be withdrawn in a future Autoconf release. ++# They can cause serious problems if a builder's source tree is in a directory ++# whose full name contains unusual characters. ++ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ++ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ++ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + -+ -disable-* | --disable-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid feature name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"enable_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval enable_$ac_useropt=no ;; + -+ -docdir | --docdir | --docdi | --doc | --do) -+ ac_prev=docdir ;; -+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) -+ docdir=$ac_optarg ;; + -+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) -+ ac_prev=dvidir ;; -+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) -+ dvidir=$ac_optarg ;; ++# Make sure we can run config.sub. ++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || ++ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + -+ -enable-* | --enable-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid feature name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"enable_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval enable_$ac_useropt=\$ac_optarg ;; ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 ++$as_echo_n "checking build system type... " >&6; } ++if ${ac_cv_build+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_build_alias=$build_alias ++test "x$ac_build_alias" = x && ++ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` ++test "x$ac_build_alias" = x && ++ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + -+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ -+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ -+ | --exec | --exe | --ex) -+ ac_prev=exec_prefix ;; -+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ -+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ -+ | --exec=* | --exe=* | --ex=*) -+ exec_prefix=$ac_optarg ;; ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 ++$as_echo "$ac_cv_build" >&6; } ++case $ac_cv_build in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; ++esac ++build=$ac_cv_build ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_build ++shift ++build_cpu=$1 ++build_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++build_os=$* ++IFS=$ac_save_IFS ++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + -+ -gas | --gas | --ga | --g) -+ # Obsolete; use --with-gas. -+ with_gas=yes ;; + -+ -help | --help | --hel | --he | -h) -+ ac_init_help=long ;; -+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) -+ ac_init_help=recursive ;; -+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) -+ ac_init_help=short ;; ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 ++$as_echo_n "checking host system type... " >&6; } ++if ${ac_cv_host+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test "x$host_alias" = x; then ++ ac_cv_host=$ac_cv_build ++else ++ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 ++fi + -+ -host | --host | --hos | --ho) -+ ac_prev=host_alias ;; -+ -host=* | --host=* | --hos=* | --ho=*) -+ host_alias=$ac_optarg ;; ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 ++$as_echo "$ac_cv_host" >&6; } ++case $ac_cv_host in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; ++esac ++host=$ac_cv_host ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_host ++shift ++host_cpu=$1 ++host_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++host_os=$* ++IFS=$ac_save_IFS ++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + -+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) -+ ac_prev=htmldir ;; -+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ -+ | --ht=*) -+ htmldir=$ac_optarg ;; + -+ -includedir | --includedir | --includedi | --included | --include \ -+ | --includ | --inclu | --incl | --inc) -+ ac_prev=includedir ;; -+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ -+ | --includ=* | --inclu=* | --incl=* | --inc=*) -+ includedir=$ac_optarg ;; ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 ++$as_echo_n "checking target system type... " >&6; } ++if ${ac_cv_target+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test "x$target_alias" = x; then ++ ac_cv_target=$ac_cv_host ++else ++ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 ++fi + -+ -infodir | --infodir | --infodi | --infod | --info | --inf) -+ ac_prev=infodir ;; -+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) -+ infodir=$ac_optarg ;; ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 ++$as_echo "$ac_cv_target" >&6; } ++case $ac_cv_target in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; ++esac ++target=$ac_cv_target ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_target ++shift ++target_cpu=$1 ++target_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++target_os=$* ++IFS=$ac_save_IFS ++case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + -+ -libdir | --libdir | --libdi | --libd) -+ ac_prev=libdir ;; -+ -libdir=* | --libdir=* | --libdi=* | --libd=*) -+ libdir=$ac_optarg ;; + -+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ -+ | --libexe | --libex | --libe) -+ ac_prev=libexecdir ;; -+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ -+ | --libexe=* | --libex=* | --libe=*) -+ libexecdir=$ac_optarg ;; ++# The aliases save the names the user supplied, while $host etc. ++# will get canonicalized. ++test -n "$target_alias" && ++ test "$program_prefix$program_suffix$program_transform_name" = \ ++ NONENONEs,x,x, && ++ program_prefix=${target_alias}- + -+ -localedir | --localedir | --localedi | --localed | --locale) -+ ac_prev=localedir ;; -+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) -+ localedir=$ac_optarg ;; ++test "$program_prefix" != NONE && ++ program_transform_name="s&^&$program_prefix&;$program_transform_name" ++# Use a double $ so make ignores it. ++test "$program_suffix" != NONE && ++ program_transform_name="s&\$&$program_suffix&;$program_transform_name" ++# Double any \ or $. ++# By default was `s,x,x', remove it if useless. ++ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' ++program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + -+ -localstatedir | --localstatedir | --localstatedi | --localstated \ -+ | --localstate | --localstat | --localsta | --localst | --locals) -+ ac_prev=localstatedir ;; -+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ -+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) -+ localstatedir=$ac_optarg ;; + -+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) -+ ac_prev=mandir ;; -+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) -+ mandir=$ac_optarg ;; ++# Find a good install program. We prefer a C program (faster), ++# so one script is as good as another. But avoid the broken or ++# incompatible versions: ++# SysV /etc/install, /usr/sbin/install ++# SunOS /usr/etc/install ++# IRIX /sbin/install ++# AIX /bin/install ++# AmigaOS /C/install, which installs bootblocks on floppy discs ++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag ++# AFS /usr/afsws/bin/install, which mishandles nonexistent args ++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" ++# OS/2's system install, which has a completely different semantic ++# ./install, which can be erroneously created by make from ./install.sh. ++# Reject install programs that cannot install multiple files. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 ++$as_echo_n "checking for a BSD-compatible install... " >&6; } ++if test -z "$INSTALL"; then ++if ${ac_cv_path_install+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ # Account for people who put trailing slashes in PATH elements. ++case $as_dir/ in #(( ++ ./ | .// | /[cC]/* | \ ++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ++ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ ++ /usr/ucb/* ) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then ++ if test $ac_prog = install && ++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ elif test $ac_prog = install && ++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # program-specific install script used by HP pwplus--don't use. ++ : ++ else ++ rm -rf conftest.one conftest.two conftest.dir ++ echo one > conftest.one ++ echo two > conftest.two ++ mkdir conftest.dir ++ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && ++ test -s conftest.one && test -s conftest.two && ++ test -s conftest.dir/conftest.one && ++ test -s conftest.dir/conftest.two ++ then ++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" ++ break 3 ++ fi ++ fi ++ fi ++ done ++ done ++ ;; ++esac + -+ -nfp | --nfp | --nf) -+ # Obsolete; use --without-fp. -+ with_fp=no ;; ++ done ++IFS=$as_save_IFS + -+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ -+ | --no-cr | --no-c | -n) -+ no_create=yes ;; ++rm -rf conftest.one conftest.two conftest.dir + -+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ -+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) -+ no_recursion=yes ;; ++fi ++ if test "${ac_cv_path_install+set}" = set; then ++ INSTALL=$ac_cv_path_install ++ else ++ # As a last resort, use the slow shell script. Don't cache a ++ # value for INSTALL within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the value is a relative name. ++ INSTALL=$ac_install_sh ++ fi ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 ++$as_echo "$INSTALL" >&6; } + -+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ -+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ -+ | --oldin | --oldi | --old | --ol | --o) -+ ac_prev=oldincludedir ;; -+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ -+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ -+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) -+ oldincludedir=$ac_optarg ;; ++# Use test -z because SunOS4 sh mishandles braces in ${var-val}. ++# It thinks the first close brace ends the variable substitution. ++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + -+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) -+ ac_prev=prefix ;; -+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) -+ prefix=$ac_optarg ;; -+ -+ -program-prefix | --program-prefix | --program-prefi | --program-pref \ -+ | --program-pre | --program-pr | --program-p) -+ ac_prev=program_prefix ;; -+ -program-prefix=* | --program-prefix=* | --program-prefi=* \ -+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) -+ program_prefix=$ac_optarg ;; ++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + -+ -program-suffix | --program-suffix | --program-suffi | --program-suff \ -+ | --program-suf | --program-su | --program-s) -+ ac_prev=program_suffix ;; -+ -program-suffix=* | --program-suffix=* | --program-suffi=* \ -+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) -+ program_suffix=$ac_optarg ;; ++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + -+ -program-transform-name | --program-transform-name \ -+ | --program-transform-nam | --program-transform-na \ -+ | --program-transform-n | --program-transform- \ -+ | --program-transform | --program-transfor \ -+ | --program-transfo | --program-transf \ -+ | --program-trans | --program-tran \ -+ | --progr-tra | --program-tr | --program-t) -+ ac_prev=program_transform_name ;; -+ -program-transform-name=* | --program-transform-name=* \ -+ | --program-transform-nam=* | --program-transform-na=* \ -+ | --program-transform-n=* | --program-transform-=* \ -+ | --program-transform=* | --program-transfor=* \ -+ | --program-transfo=* | --program-transf=* \ -+ | --program-trans=* | --program-tran=* \ -+ | --progr-tra=* | --program-tr=* | --program-t=*) -+ program_transform_name=$ac_optarg ;; + -+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) -+ ac_prev=pdfdir ;; -+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) -+ pdfdir=$ac_optarg ;; ++$as_echo "#define HAVE_GNU_LD 1" >>confdefs.h + -+ -psdir | --psdir | --psdi | --psd | --ps) -+ ac_prev=psdir ;; -+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) -+ psdir=$ac_optarg ;; ++case "${target}" in ++ *-*-cygwin*) ++ ;; ++ a29k-amd-udi) ++ ;; ++ arc-*-*) ++ ;; ++ arm-*-eabi) ++ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h + -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ silent=yes ;; ++ ;; ++ arm*-*-*) ++ ;; ++ bfin-*-*) ++ ;; ++ cris-*-* | crisv32-*-*) ++ ;; ++ d10v*) ++ ;; ++ h8300*-*-*) ++ ;; ++ h8500-*-*) ++ ;; ++ i345686-*-sco*) ++ ;; ++ lm32-*-*) ++ ;; ++ m32r-*-*) ++ ;; ++ mn10?00-*-*) ++ ;; ++ powerpc-*-eabi) ++ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h + -+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) -+ ac_prev=sbindir ;; -+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ -+ | --sbi=* | --sb=*) -+ sbindir=$ac_optarg ;; ++ ;; ++ powerpcle-*-pe) ++ ;; ++ sh*-*-*) ++ ;; ++ sparc-sun-sunos*) ++ ;; ++ sparc64-*-*) ++ ;; ++ v850*-*-*) ++ ;; ++ w65-*-*) ++ ;; ++ xstormy16-*-*) ++ ;; ++ z8k-*-*) ++ ;; ++ *) ++ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h + -+ -sharedstatedir | --sharedstatedir | --sharedstatedi \ -+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ -+ | --sharedst | --shareds | --shared | --share | --shar \ -+ | --sha | --sh) -+ ac_prev=sharedstatedir ;; -+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ -+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ -+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ -+ | --sha=* | --sh=*) -+ sharedstatedir=$ac_optarg ;; ++ ;; ++esac + -+ -site | --site | --sit) -+ ac_prev=site ;; -+ -site=* | --site=* | --sit=*) -+ site=$ac_optarg ;; ++case "${target}" in ++ *-*-elf) ++ $as_echo "#define HAVE_ELF 1" >>confdefs.h + -+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) -+ ac_prev=srcdir ;; -+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) -+ srcdir=$ac_optarg ;; + -+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ -+ | --syscon | --sysco | --sysc | --sys | --sy) -+ ac_prev=sysconfdir ;; -+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ -+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) -+ sysconfdir=$ac_optarg ;; ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 ++$as_echo_n "checking for .previous assembler directive... " >&6; } ++if ${libc_cv_asm_previous_directive+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_asm_previous_directive=no ++ cat > conftest.s <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_asm_previous_directive=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 ++$as_echo "$libc_cv_asm_previous_directive" >&6; } + -+ -target | --target | --targe | --targ | --tar | --ta | --t) -+ ac_prev=target_alias ;; -+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) -+ target_alias=$ac_optarg ;; ++ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then ++ $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h + -+ -v | -verbose | --verbose | --verbos | --verbo | --verb) -+ verbose=yes ;; ++ fi + -+ -version | --version | --versio | --versi | --vers | -V) -+ ac_init_version=: ;; ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 ++$as_echo_n "checking for .popsection assembler directive... " >&6; } ++if ${libc_cv_asm_popsection_directive+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_asm_popsection_directive=no ++ cat > conftest.s <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_asm_popsection_directive=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5 ++$as_echo "$libc_cv_asm_popsection_directive" >&6; } + -+ -with-* | --with-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid package name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"with_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval with_$ac_useropt=\$ac_optarg ;; ++ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then ++ $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h + -+ -without-* | --without-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid package name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"with_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval with_$ac_useropt=no ;; ++ fi + -+ --x) -+ # Obsolete; use --with-x. -+ with_x=yes ;; ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for section attributes" >&5 ++$as_echo_n "checking for section attributes... " >&6; } ++if ${libc_cv_section_attributes+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_section_attributes=no ++ cat > conftest.c <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ libc_cv_section_attributes=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_section_attributes" >&5 ++$as_echo "$libc_cv_section_attributes" >&6; } ++ if test "x${libc_cv_section_attributes}" = "xyes"; then ++ $as_echo "#define HAVE_SECTION_ATTRIBUTES 1" >>confdefs.h + -+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ -+ | --x-incl | --x-inc | --x-in | --x-i) -+ ac_prev=x_includes ;; -+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ -+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) -+ x_includes=$ac_optarg ;; ++ fi ++ ;; ++esac + -+ -x-libraries | --x-libraries | --x-librarie | --x-librari \ -+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) -+ ac_prev=x_libraries ;; -+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ -+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) -+ x_libraries=$ac_optarg ;; ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 ++$as_echo_n "checking for symbol prefix... " >&6; } ++if ${libc_cv_symbol_prefix+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat > conftest.c <<\EOF ++foo () { } ++EOF ++libc_cv_symbol_prefix=none ++if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; ++then ++ libc_cv_symbol_prefix='$' ++else ++ if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; ++ then ++ libc_cv_symbol_prefix=_ ++ fi ++fi ++rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_symbol_prefix" >&5 ++$as_echo "$libc_cv_symbol_prefix" >&6; } ++if test $libc_cv_symbol_prefix != none; then ++ cat >>confdefs.h <<_ACEOF ++#define __SYMBOL_PREFIX "$libc_cv_symbol_prefix" ++_ACEOF + -+ -*) as_fn_error $? "unrecognized option: \`$ac_option' -+Try \`$0 --help' for more information" -+ ;; ++else ++ $as_echo "#define __SYMBOL_PREFIX \"\"" >>confdefs.h + -+ *=*) -+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` -+ # Reject names that are not valid shell variable names. -+ case $ac_envvar in #( -+ '' | [0-9]* | *[!_$as_cr_alnum]* ) -+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; -+ esac -+ eval $ac_envvar=\$ac_optarg -+ export $ac_envvar ;; ++fi + -+ *) -+ # FIXME: should be removed in autoconf 3.0. -+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 -+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && -+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 -+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" -+ ;; ++rm -rf .tst 2>/dev/null ++mkdir .tst 2>/dev/null ++if test -d .tst; then ++ am__leading_dot=. ++else ++ am__leading_dot=_ ++fi ++rmdir .tst 2>/dev/null + -+ esac -+done ++DEPDIR="${am__leading_dot}deps" + -+if test -n "$ac_prev"; then -+ ac_option=--`echo $ac_prev | sed 's/_/-/g'` -+ as_fn_error $? "missing argument to $ac_option" -+fi ++ac_config_commands="$ac_config_commands depfiles" + -+if test -n "$ac_unrecognized_opts"; then -+ case $enable_option_checking in -+ no) ;; -+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; -+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; -+ esac ++ ++am_make=${MAKE-make} ++cat > confinc << 'END' ++am__doit: ++ @echo done ++.PHONY: am__doit ++END ++# If we don't find an include directive, just comment out the code. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 ++$as_echo_n "checking for style of include used by $am_make... " >&6; } ++am__include="#" ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# We grep out `Entering directory' and `Leaving directory' ++# messages which can occur if `w' ends up in MAKEFLAGS. ++# In particular we don't look at `^make:' because GNU make might ++# be invoked under some other name (usually "gmake"), in which ++# case it prints its new name instead of `make'. ++if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then ++ am__include=include ++ am__quote= ++ _am_result=GNU ++fi ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then ++ am__include=.include ++ am__quote="\"" ++ _am_result=BSD ++ fi +fi + -+# Check all directory arguments for consistency. -+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ -+ datadir sysconfdir sharedstatedir localstatedir includedir \ -+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ -+ libdir localedir mandir -+do -+ eval ac_val=\$$ac_var -+ # Remove trailing slashes. -+ case $ac_val in -+ */ ) -+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` -+ eval $ac_var=\$ac_val;; -+ esac -+ # Be sure to have absolute directory names. -+ case $ac_val in -+ [\\/$]* | ?:[\\/]* ) continue;; -+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; -+ esac -+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -+done + -+# There might be people who depend on the old broken behavior: `$host' -+# used to hold the argument of --host etc. -+# FIXME: To remove some day. -+build=$build_alias -+host=$host_alias -+target=$target_alias ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 ++$as_echo "$_am_result" >&6; } ++rm -f confinc confmf + -+# FIXME: To remove some day. -+if test "x$host_alias" != x; then -+ if test "x$build_alias" = x; then -+ cross_compiling=maybe -+ elif test "x$build_alias" != "x$host_alias"; then -+ cross_compiling=yes -+ fi ++# Check whether --enable-dependency-tracking was given. ++if test "${enable_dependency_tracking+set}" = set; then : ++ enableval=$enable_dependency_tracking; +fi + -+ac_tool_prefix= -+test -n "$host_alias" && ac_tool_prefix=$host_alias- ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++fi + -+test "$silent" = yes && exec 6>/dev/null + ++if test "x$enable_dependency_tracking" != xno; then ++ AMDEP_TRUE= ++ AMDEP_FALSE='#' ++else ++ AMDEP_TRUE='#' ++ AMDEP_FALSE= ++fi + -+ac_pwd=`pwd` && test -n "$ac_pwd" && -+ac_ls_di=`ls -di .` && -+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || -+ as_fn_error $? "working directory cannot be determined" -+test "X$ac_ls_di" = "X$ac_pwd_ls_di" || -+ as_fn_error $? "pwd does not report name of working directory" + + -+# Find the source files, if location was not specified. -+if test -z "$srcdir"; then -+ ac_srcdir_defaulted=yes -+ # Try the directory containing this script, then the parent directory. -+ ac_confdir=`$as_dirname -- "$as_myself" || -+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_myself" : 'X\(//\)[^/]' \| \ -+ X"$as_myself" : 'X\(//\)$' \| \ -+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_myself" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ srcdir=$ac_confdir -+ if test ! -r "$srcdir/$ac_unique_file"; then -+ srcdir=.. -+ fi ++# Extract the first word of "gcc", so it can be a program name with args. ++set dummy gcc; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_CC+:} false; then : ++ $as_echo_n "(cached) " >&6 +else -+ ac_srcdir_defaulted=no ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="gcc" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ +fi -+if test ! -r "$srcdir/$ac_unique_file"; then -+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." -+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi -+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -+ac_abs_confdir=`( -+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" -+ pwd)` -+# When building in place, set srcdir=. -+if test "$ac_abs_confdir" = "$ac_pwd"; then -+ srcdir=. ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++$as_echo "$CC" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } +fi -+# Remove unnecessary trailing slashes from srcdir. -+# Double slashes in file names in object file debugging info -+# mess up M-x gdb in Emacs. -+case $srcdir in -+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -+esac -+for ac_var in $ac_precious_vars; do -+ eval ac_env_${ac_var}_set=\${${ac_var}+set} -+ eval ac_env_${ac_var}_value=\$${ac_var} -+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} -+ eval ac_cv_env_${ac_var}_value=\$${ac_var} -+done -+ -+# -+# Report the --help message. -+# -+if test "$ac_init_help" = "long"; then -+ # Omit some internal or obsolete options to make the list less imposing. -+ # This message is too long to be a string in the A/UX 3.1 sh. -+ cat <<_ACEOF -+\`configure' configures this package to adapt to many kinds of systems. + -+Usage: $0 [OPTION]... [VAR=VALUE]... + -+To assign environment variables (e.g., CC, CFLAGS...), specify them as -+VAR=VALUE. See below for descriptions of some of the useful variables. + -+Defaults for the options are specified in brackets. ++depcc="$CC" am_compiler_list= + -+Configuration: -+ -h, --help display this help and exit -+ --help=short display options specific to this package -+ --help=recursive display the short help of all the included packages -+ -V, --version display version information and exit -+ -q, --quiet, --silent do not print \`checking ...' messages -+ --cache-file=FILE cache test results in FILE [disabled] -+ -C, --config-cache alias for \`--cache-file=config.cache' -+ -n, --no-create do not create output files -+ --srcdir=DIR find the sources in DIR [configure dir or \`..'] ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++$as_echo_n "checking dependency style of $depcc... " >&6; } ++if ${am_cv_CC_dependencies_compiler_type+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ # We will build objects and dependencies in a subdirectory because ++ # it helps to detect inapplicable dependency modes. For instance ++ # both Tru64's cc and ICC support -MD to output dependencies as a ++ # side effect of compilation, but ICC will put the dependencies in ++ # the current directory while Tru64 will put them in the object ++ # directory. ++ mkdir sub + -+Installation directories: -+ --prefix=PREFIX install architecture-independent files in PREFIX -+ [$ac_default_prefix] -+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX -+ [PREFIX] ++ am_cv_CC_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # Setup a source with many dependencies, because some compilers ++ # like to wrap large dependency lists on column 80 (with \), and ++ # we should not choose a depcomp mode which is confused by this. ++ # ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ : > sub/conftest.c ++ for i in 1 2 3 4 5 6; do ++ echo '#include "conftst'$i'.h"' >> sub/conftest.c ++ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with ++ # Solaris 8's {/usr,}/bin/sh. ++ touch sub/conftst$i.h ++ done ++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + -+By default, \`make install' will install all the files in -+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -+an installation prefix other than \`$ac_default_prefix' using \`--prefix', -+for instance \`--prefix=\$HOME'. ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ ++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ ++ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ ++ >/dev/null 2>conftest.err && ++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && ++ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ # icc doesn't choke on unknown options, it will just issue warnings ++ # or remarks (even with -Werror). So we grep stderr for any message ++ # that says an option was ignored or not supported. ++ # When given -MP, icc 7.0 and 7.1 complain thusly: ++ # icc: Command line warning: ignoring option '-M'; no argument required ++ # The diagnosis changed in icc 8.0: ++ # icc: Command line remark: option '-MP' not supported ++ if (grep 'ignoring option' conftest.err || ++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else ++ am_cv_CC_dependencies_compiler_type=$depmode ++ break ++ fi ++ fi ++ done + -+For better control, use the options below. ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_CC_dependencies_compiler_type=none ++fi + -+Fine tuning of the installation directories: -+ --bindir=DIR user executables [EPREFIX/bin] -+ --sbindir=DIR system admin executables [EPREFIX/sbin] -+ --libexecdir=DIR program executables [EPREFIX/libexec] -+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] -+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] -+ --localstatedir=DIR modifiable single-machine data [PREFIX/var] -+ --libdir=DIR object code libraries [EPREFIX/lib] -+ --includedir=DIR C header files [PREFIX/include] -+ --oldincludedir=DIR C header files for non-gcc [/usr/include] -+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] -+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] -+ --infodir=DIR info documentation [DATAROOTDIR/info] -+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] -+ --mandir=DIR man documentation [DATAROOTDIR/man] -+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] -+ --htmldir=DIR html documentation [DOCDIR] -+ --dvidir=DIR dvi documentation [DOCDIR] -+ --pdfdir=DIR pdf documentation [DOCDIR] -+ --psdir=DIR ps documentation [DOCDIR] -+_ACEOF ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + -+ cat <<\_ACEOF + -+Program names: -+ --program-prefix=PREFIX prepend PREFIX to installed program names -+ --program-suffix=SUFFIX append SUFFIX to installed program names -+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names + -+System types: -+ --build=BUILD configure for building on BUILD [guessed] -+ --host=HOST cross-compile to build programs to run on HOST [BUILD] -+ --target=TARGET configure for building compilers for TARGET [HOST] -+_ACEOF ++if ++ test "x$enable_dependency_tracking" != xno \ ++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then ++ am__fastdepCC_TRUE= ++ am__fastdepCC_FALSE='#' ++else ++ am__fastdepCC_TRUE='#' ++ am__fastdepCC_FALSE= +fi + -+if test -n "$ac_init_help"; then -+ -+ cat <<\_ACEOF + -+Optional Features: -+ --disable-option-checking ignore unrecognized --enable/--with options -+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) -+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] -+ --disable-dependency-tracking speeds up one-time build -+ --enable-dependency-tracking do not reject slow dependency extractors ++if test -z "$CC"; then ++ # Extract the first word of "cc", so it can be a program name with args. ++set dummy cc; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_CC+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ ac_prog_rejected=no ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ++ ac_prog_rejected=yes ++ continue ++ fi ++ ac_cv_prog_CC="cc" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS + -+Some influential environment variables: -+ CCAS assembler compiler command (defaults to CC) -+ CCASFLAGS assembler compiler flags (defaults to CFLAGS) ++if test $ac_prog_rejected = yes; then ++ # We found a bogon in the path, so make sure we never use it. ++ set dummy $ac_cv_prog_CC ++ shift ++ if test $# != 0; then ++ # We chose a different compiler from the bogus one. ++ # However, it has the same basename, so the bogon will be chosen ++ # first if we set CC to just the basename; use the full file name. ++ shift ++ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" ++ fi ++fi ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++$as_echo "$CC" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi + -+Use these variables to override the choices made by `configure' or to help -+it to find libraries and programs with nonstandard names/locations. + -+Report bugs to the package provider. -+_ACEOF -+ac_status=$? ++ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5 +fi + -+if test "$ac_init_help" = "recursive"; then -+ # If there are subdirs, report their specific --help. -+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue -+ test -d "$ac_dir" || -+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || -+ continue -+ ac_builddir=. -+ -+case "$ac_dir" in -+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -+*) -+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` -+ # A ".." for each directory in $ac_dir_suffix. -+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` -+ case $ac_top_builddir_sub in -+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; -+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; -+ esac ;; -+esac -+ac_abs_top_builddir=$ac_pwd -+ac_abs_builddir=$ac_pwd$ac_dir_suffix -+# for backward compatibility: -+ac_top_builddir=$ac_top_build_prefix -+ -+case $srcdir in -+ .) # We are building in place. -+ ac_srcdir=. -+ ac_top_srcdir=$ac_top_builddir_sub -+ ac_abs_top_srcdir=$ac_pwd ;; -+ [\\/]* | ?:[\\/]* ) # Absolute name. -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir -+ ac_abs_top_srcdir=$srcdir ;; -+ *) # Relative name. -+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_top_build_prefix$srcdir -+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -+esac -+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -+ -+ cd "$ac_dir" || { ac_status=$?; continue; } -+ # Check for guested configure. -+ if test -f "$ac_srcdir/configure.gnu"; then -+ echo && -+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive -+ elif test -f "$ac_srcdir/configure"; then -+ echo && -+ $SHELL "$ac_srcdir/configure" --help=recursive -+ else -+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 -+ fi || ac_status=$? -+ cd "$ac_pwd" || { ac_status=$?; break; } -+ done ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5 ++$as_echo_n "checking whether we are using GNU C... " >&6; } ++if ${ac_cv_c_compiler_gnu+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat > conftest.c <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then ++ ac_cv_c_compiler_gnu=yes ++else ++ ac_cv_c_compiler_gnu=no +fi -+ -+test -n "$ac_init_help" && exit $ac_status -+if $ac_init_version; then -+ cat <<\_ACEOF -+configure -+generated by GNU Autoconf 2.69 -+ -+Copyright (C) 2012 Free Software Foundation, Inc. -+This configure script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it. -+_ACEOF -+ exit +fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++$as_echo "$ac_cv_c_compiler_gnu" >&6; } + -+## ------------------------ ## -+## Autoconf initialization. ## -+## ------------------------ ## ++if test $ac_cv_c_compiler_gnu = yes; then ++ GCC=yes ++ ac_test_CFLAGS="${CFLAGS+set}" ++ ac_save_CFLAGS="$CFLAGS" ++ CFLAGS= ++ ac_test_CFLAGS=${CFLAGS+set} ++ac_save_CFLAGS=$CFLAGS ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++$as_echo_n "checking whether $CC accepts -g... " >&6; } ++if ${ac_cv_prog_cc_g+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_save_c_werror_flag=$ac_c_werror_flag ++ ac_c_werror_flag=yes ++ ac_cv_prog_cc_g=no ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ + -+# ac_fn_c_try_compile LINENO -+# -------------------------- -+# Try to compile conftest.$ac_ext, and return whether this succeeded. -+ac_fn_c_try_compile () ++int ++main () +{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ rm -f conftest.$ac_objext -+ if { { ac_try="$ac_compile" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_compile") 2>conftest.err -+ ac_status=$? -+ if test -s conftest.err; then -+ grep -v '^ *+' conftest.err >conftest.er1 -+ cat conftest.er1 >&5 -+ mv -f conftest.er1 conftest.err -+ fi -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then : -+ ac_retval=0 -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 + -+ ac_retval=1 -+fi -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -+ as_fn_set_status $ac_retval ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ac_cv_prog_cc_g=yes ++else ++ CFLAGS="" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ + -+} # ac_fn_c_try_compile -+cat >config.log <<_ACEOF -+This file contains any messages produced by compilers while -+running configure, to aid debugging if configure makes a mistake. ++int ++main () ++{ + -+It was created by $as_me, which was -+generated by GNU Autoconf 2.69. Invocation command line was ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : + -+ $ $0 $@ ++else ++ ac_c_werror_flag=$ac_save_c_werror_flag ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ + -+_ACEOF -+exec 5>>config.log ++int ++main () +{ -+cat <<_ASUNAME -+## --------- ## -+## Platform. ## -+## --------- ## + -+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -+uname -m = `(uname -m) 2>/dev/null || echo unknown` -+uname -r = `(uname -r) 2>/dev/null || echo unknown` -+uname -s = `(uname -s) 2>/dev/null || echo unknown` -+uname -v = `(uname -v) 2>/dev/null || echo unknown` ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ac_cv_prog_cc_g=yes ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ac_c_werror_flag=$ac_save_c_werror_flag ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++$as_echo "$ac_cv_prog_cc_g" >&6; } ++if test "$ac_test_CFLAGS" = set; then ++ CFLAGS=$ac_save_CFLAGS ++elif test $ac_cv_prog_cc_g = yes; then ++ if test "$GCC" = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-g" ++ fi ++else ++ if test "$GCC" = yes; then ++ CFLAGS="-O2" ++ else ++ CFLAGS= ++ fi ++fi ++ if test "$ac_test_CFLAGS" = set; then ++ CFLAGS="$ac_save_CFLAGS" ++ elif test $ac_cv_prog_cc_g = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-O2" ++ fi ++else ++ GCC= ++ test "${CFLAGS+set}" = set || CFLAGS="-g" ++fi + -+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` ++AS=${AS-as} + -+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` ++AR=${AR-ar} + -+_ASUNAME ++LD=${LD-ld} + ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. ++set dummy ${ac_tool_prefix}ranlib; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_RANLIB+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$RANLIB"; then ++ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. ++else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. -+ $as_echo "PATH: $as_dir" ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done + done +IFS=$as_save_IFS + -+} >&5 -+ -+cat >&5 <<_ACEOF ++fi ++fi ++RANLIB=$ac_cv_prog_RANLIB ++if test -n "$RANLIB"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 ++$as_echo "$RANLIB" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi + + -+## ----------- ## -+## Core tests. ## -+## ----------- ## ++fi ++if test -z "$ac_cv_prog_RANLIB"; then ++ ac_ct_RANLIB=$RANLIB ++ # Extract the first word of "ranlib", so it can be a program name with args. ++set dummy ranlib; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_RANLIB"; then ++ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_RANLIB="ranlib" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS + -+_ACEOF ++fi ++fi ++ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB ++if test -n "$ac_ct_RANLIB"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 ++$as_echo "$ac_ct_RANLIB" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi + ++ if test "x$ac_ct_RANLIB" = x; then ++ RANLIB=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ RANLIB=$ac_ct_RANLIB ++ fi ++else ++ RANLIB="$ac_cv_prog_RANLIB" ++fi + -+# Keep a trace of the command line. -+# Strip out --no-create and --no-recursion so they do not pile up. -+# Strip out --silent because we don't want to record it for future runs. -+# Also quote any args containing shell meta-characters. -+# Make two passes to allow for proper duplicate-argument suppression. -+ac_configure_args= -+ac_configure_args0= -+ac_configure_args1= -+ac_must_keep_next=false -+for ac_pass in 1 2 -+do -+ for ac_arg -+ do -+ case $ac_arg in -+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ continue ;; -+ *\'*) -+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ esac -+ case $ac_pass in -+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; -+ 2) -+ as_fn_append ac_configure_args1 " '$ac_arg'" -+ if test $ac_must_keep_next = true; then -+ ac_must_keep_next=false # Got value, back to normal. -+ else -+ case $ac_arg in -+ *=* | --config-cache | -C | -disable-* | --disable-* \ -+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ -+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ -+ | -with-* | --with-* | -without-* | --without-* | --x) -+ case "$ac_configure_args0 " in -+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; -+ esac -+ ;; -+ -* ) ac_must_keep_next=true ;; -+ esac -+ fi -+ as_fn_append ac_configure_args " '$ac_arg'" -+ ;; -+ esac -+ done -+done -+{ ac_configure_args0=; unset ac_configure_args0;} -+{ ac_configure_args1=; unset ac_configure_args1;} ++# By default we simply use the C compiler to build assembly code. + -+# When interrupted or exit'd, cleanup temporary files, and complete -+# config.log. We remove comments because anyway the quotes in there -+# would cause problems or look ugly. -+# WARNING: Use '\'' to represent an apostrophe within the trap. -+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -+trap 'exit_status=$? -+ # Save into config.log some information that might help in debugging. -+ { -+ echo ++test "${CCAS+set}" = set || CCAS=$CC ++test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS + -+ $as_echo "## ---------------- ## -+## Cache variables. ## -+## ---------------- ##" -+ echo -+ # The following way of writing the cache mishandles newlines in values, ++ ++ ++ ++host_makefile_frag=${srcdir}/../config/default.mh ++ ++host_makefile_frag_path=$host_makefile_frag ++ ++ ++ ++ac_config_files="$ac_config_files Makefile" ++ ++cat >confcache <<\_ACEOF ++# This file is a shell script that caches the results of configure ++# tests run on this system so they can be shared between configure ++# scripts and configure runs, see configure's option --config-cache. ++# It is not useful on other systems. If it contains results you don't ++# want to keep, you may remove or edit it. ++# ++# config.status only pays attention to the cache file if you give it ++# the --recheck option to rerun configure. ++# ++# `ac_cv_env_foo' variables (set or unset) will be overridden when ++# loading this file, other *unset* `ac_cv_foo' will be assigned the ++# following values. ++ ++_ACEOF ++ ++# The following way of writing the cache mishandles newlines in values, ++# but we know of no workaround that is simple, portable, and efficient. ++# So, we kill variables containing newlines. ++# Ultrix sh set writes to stderr and can't be redirected directly, ++# and sets the high bit in the cache file unless we assign to the vars. +( -+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do ++ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) @@ -3555,1642 +3442,1340 @@ index 000000000..be36ded12 + esac ;; + esac + done ++ + (set) 2>&1 | -+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( ++ case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) ++ # `set' does not quote correctly, so add quotes: double-quote ++ # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ -+ "s/'\''/'\''\\\\'\'''\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ++ "s/'/'\\\\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) ++ # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort -+) -+ echo -+ -+ $as_echo "## ----------------- ## -+## Output variables. ## -+## ----------------- ##" -+ echo -+ for ac_var in $ac_subst_vars -+ do -+ eval ac_val=\$$ac_var -+ case $ac_val in -+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; -+ esac -+ $as_echo "$ac_var='\''$ac_val'\''" -+ done | sort -+ echo -+ -+ if test -n "$ac_subst_files"; then -+ $as_echo "## ------------------- ## -+## File substitutions. ## -+## ------------------- ##" -+ echo -+ for ac_var in $ac_subst_files -+ do -+ eval ac_val=\$$ac_var -+ case $ac_val in -+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++) | ++ sed ' ++ /^ac_cv_env_/b end ++ t clear ++ :clear ++ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ t end ++ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ ++ :end' >>confcache ++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else ++ if test -w "$cache_file"; then ++ if test "x$cache_file" != "x/dev/null"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++$as_echo "$as_me: updating cache $cache_file" >&6;} ++ if test ! -f "$cache_file" || test -h "$cache_file"; then ++ cat confcache >"$cache_file" ++ else ++ case $cache_file in #( ++ */* | ?:*) ++ mv -f confcache "$cache_file"$$ && ++ mv -f "$cache_file"$$ "$cache_file" ;; #( ++ *) ++ mv -f confcache "$cache_file" ;; + esac -+ $as_echo "$ac_var='\''$ac_val'\''" -+ done | sort -+ echo -+ fi -+ -+ if test -s confdefs.h; then -+ $as_echo "## ----------- ## -+## confdefs.h. ## -+## ----------- ##" -+ echo -+ cat confdefs.h -+ echo ++ fi + fi -+ test "$ac_signal" != 0 && -+ $as_echo "$as_me: caught signal $ac_signal" -+ $as_echo "$as_me: exit $exit_status" -+ } >&5 -+ rm -f core *.core core.conftest.* && -+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && -+ exit $exit_status -+' 0 -+for ac_signal in 1 2 13 15; do -+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -+done -+ac_signal=0 -+ -+# confdefs.h avoids OS command line length limits that DEFS can exceed. -+rm -f -r conftest* confdefs.h -+ -+$as_echo "/* confdefs.h */" > confdefs.h ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} ++ fi ++fi ++rm -f confcache + -+# Predefined preprocessor variables. ++test "x$prefix" = xNONE && prefix=$ac_default_prefix ++# Let make expand exec_prefix. ++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_NAME "$PACKAGE_NAME" -+_ACEOF ++DEFS=-DHAVE_CONFIG_H + -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -+_ACEOF ++ac_libobjs= ++ac_ltlibobjs= ++U= ++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue ++ # 1. Remove the extension, and $U if already installed. ++ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ++ ac_i=`$as_echo "$ac_i" | sed "$ac_script"` ++ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR ++ # will be set to the directory where LIBOBJS objects are built. ++ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" ++ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' ++done ++LIBOBJS=$ac_libobjs + -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_VERSION "$PACKAGE_VERSION" -+_ACEOF ++LTLIBOBJS=$ac_ltlibobjs + -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_STRING "$PACKAGE_STRING" -+_ACEOF + -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -+_ACEOF ++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then ++ as_fn_error $? "conditional \"AMDEP\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then ++ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi + -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_URL "$PACKAGE_URL" -+_ACEOF ++: "${CONFIG_STATUS=./config.status}" ++ac_write_fail=0 ++ac_clean_files_save=$ac_clean_files ++ac_clean_files="$ac_clean_files $CONFIG_STATUS" ++{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 ++$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} ++as_write_fail=0 ++cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 ++#! $SHELL ++# Generated by $as_me. ++# Run this file to recreate the current configuration. ++# Compiler output produced by configure, useful for debugging ++# configure, is in config.log if it exists. + ++debug=false ++ac_cs_recheck=false ++ac_cs_silent=false + -+# Let the site file select an alternate cache file if it wants to. -+# Prefer an explicitly selected file to automatically selected ones. -+ac_site_file1=NONE -+ac_site_file2=NONE -+if test -n "$CONFIG_SITE"; then -+ # We do not want a PATH search for config.site. -+ case $CONFIG_SITE in #(( -+ -*) ac_site_file1=./$CONFIG_SITE;; -+ */*) ac_site_file1=$CONFIG_SITE;; -+ *) ac_site_file1=./$CONFIG_SITE;; -+ esac -+elif test "x$prefix" != xNONE; then -+ ac_site_file1=$prefix/share/config.site -+ ac_site_file2=$prefix/etc/config.site -+else -+ ac_site_file1=$ac_default_prefix/share/config.site -+ ac_site_file2=$ac_default_prefix/etc/config.site -+fi -+for ac_site_file in "$ac_site_file1" "$ac_site_file2" -+do -+ test "x$ac_site_file" = xNONE && continue -+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -+$as_echo "$as_me: loading site script $ac_site_file" >&6;} -+ sed 's/^/| /' "$ac_site_file" >&5 -+ . "$ac_site_file" \ -+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error $? "failed to load site script $ac_site_file -+See \`config.log' for more details" "$LINENO" 5; } -+ fi -+done ++SHELL=\${CONFIG_SHELL-$SHELL} ++export SHELL ++_ASEOF ++cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ++## -------------------- ## ++## M4sh Initialization. ## ++## -------------------- ## + -+if test -r "$cache_file"; then -+ # Some versions of bash will fail to source /dev/null (special files -+ # actually), so we avoid doing that. DJGPP emulates it as a regular file. -+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -+$as_echo "$as_me: loading cache $cache_file" >&6;} -+ case $cache_file in -+ [\\/]* | ?:[\\/]* ) . "$cache_file";; -+ *) . "./$cache_file";; -+ esac -+ fi ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST +else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -+$as_echo "$as_me: creating cache $cache_file" >&6;} -+ >$cache_file ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac +fi + -+# Check that the precious variables saved in the cache have kept the same -+# value. -+ac_cache_corrupted=false -+for ac_var in $ac_precious_vars; do -+ eval ac_old_set=\$ac_cv_env_${ac_var}_set -+ eval ac_new_set=\$ac_env_${ac_var}_set -+ eval ac_old_val=\$ac_cv_env_${ac_var}_value -+ eval ac_new_val=\$ac_env_${ac_var}_value -+ case $ac_old_set,$ac_new_set in -+ set,) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,set) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,);; -+ *) -+ if test "x$ac_old_val" != "x$ac_new_val"; then -+ # differences in whitespace do not lead to failure. -+ ac_old_val_w=`echo x $ac_old_val` -+ ac_new_val_w=`echo x $ac_new_val` -+ if test "$ac_old_val_w" != "$ac_new_val_w"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} -+ ac_cache_corrupted=: -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} -+ eval $ac_var=\$ac_old_val -+ fi -+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} -+ fi;; -+ esac -+ # Pass precious variables to config.status. -+ if test "$ac_new_set" = set; then -+ case $ac_new_val in -+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; -+ *) ac_arg=$ac_var=$ac_new_val ;; -+ esac -+ case " $ac_configure_args " in -+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. -+ *) as_fn_append ac_configure_args " '$ac_arg'" ;; -+ esac ++ ++as_nl=' ++' ++export as_nl ++# Printing a long string crashes Solaris 7 /usr/bin/printf. ++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo ++# Prefer a ksh shell builtin over an external printf program on Solaris, ++# but without wasting forks for bash or zsh. ++if test -z "$BASH_VERSION$ZSH_VERSION" \ ++ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='print -r --' ++ as_echo_n='print -rn --' ++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='printf %s\n' ++ as_echo_n='printf %s' ++else ++ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then ++ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' ++ as_echo_n='/usr/ucb/echo -n' ++ else ++ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' ++ as_echo_n_body='eval ++ arg=$1; ++ case $arg in #( ++ *"$as_nl"*) ++ expr "X$arg" : "X\\(.*\\)$as_nl"; ++ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; ++ esac; ++ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ++ ' ++ export as_echo_n_body ++ as_echo_n='sh -c $as_echo_n_body as_echo' + fi -+done -+if $ac_cache_corrupted; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} -+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 ++ export as_echo_body ++ as_echo='sh -c $as_echo_body as_echo' +fi -+## -------------------- ## -+## Main body of script. ## -+## -------------------- ## + -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ PATH_SEPARATOR=: ++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { ++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || ++ PATH_SEPARATOR=';' ++ } ++fi + + -+ac_config_headers="$ac_config_headers config.h" ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++IFS=" "" $as_nl" + ++# Find who we are. Look in the path if we contain no directory separator. ++as_myself= ++case $0 in #(( ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++ done ++IFS=$as_save_IFS + -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 +fi -+ -+if test "$srcdir" = "." ; then -+ if test "${with_target_subdir}" != "." ; then -+ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." -+ else -+ libgloss_topdir="${srcdir}/${with_multisrctop}../.." -+ fi -+else -+ libgloss_topdir="${srcdir}/../.." ++if test ! -f "$as_myself"; then ++ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ exit 1 +fi -+ac_aux_dir= -+for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do -+ if test -f "$ac_dir/install-sh"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install-sh -c" -+ break -+ elif test -f "$ac_dir/install.sh"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install.sh -c" -+ break -+ elif test -f "$ac_dir/shtool"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/shtool install -c" -+ break -+ fi ++ ++# Unset variables that we do not need and which cause bugs (e.g. in ++# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" ++# suppresses any "Segmentation fault" message there. '((' could ++# trigger a bug in pdksh 5.2.14. ++for as_var in BASH_ENV ENV MAIL MAILPATH ++do eval test x\${$as_var+set} = xset \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done -+if test -z "$ac_aux_dir"; then -+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5 -+fi ++PS1='$ ' ++PS2='> ' ++PS4='+ ' + -+# These three variables are undocumented and unsupported, -+# and are intended to be withdrawn in a future Autoconf release. -+# They can cause serious problems if a builder's source tree is in a directory -+# whose full name contains unusual characters. -+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ++# NLS nuisances. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE + ++# CDPATH. ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + -+# Make sure we can run config.sub. -+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || -+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ $as_echo "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error + -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -+$as_echo_n "checking build system type... " >&6; } -+if ${ac_cv_build+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_build_alias=$build_alias -+test "x$ac_build_alias" = x && -+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -+test "x$ac_build_alias" = x && -+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -+$as_echo "$ac_cv_build" >&6; } -+case $ac_cv_build in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -+esac -+build=$ac_cv_build -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_build -+shift -+build_cpu=$1 -+build_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+build_os=$* -+IFS=$ac_save_IFS -+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status + ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit + -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -+$as_echo_n "checking host system type... " >&6; } -+if ${ac_cv_host+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test "x$host_alias" = x; then -+ ac_cv_host=$ac_cv_build ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : ++ eval 'as_fn_append () ++ { ++ eval $1+=\$2 ++ }' +else -+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -+fi ++ as_fn_append () ++ { ++ eval $1=\$$1\$2 ++ } ++fi # as_fn_append + -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -+$as_echo "$ac_cv_host" >&6; } -+case $ac_cv_host in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -+esac -+host=$ac_cv_host -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_host -+shift -+host_cpu=$1 -+host_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+host_os=$* -+IFS=$ac_save_IFS -+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith + + -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 -+$as_echo_n "checking target system type... " >&6; } -+if ${ac_cv_target+:} false; then : -+ $as_echo_n "(cached) " >&6 ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr +else -+ if test "x$target_alias" = x; then -+ ac_cv_target=$ac_cv_host ++ as_expr=false ++fi ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename +else -+ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 ++ as_basename=false +fi + ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false +fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 -+$as_echo "$ac_cv_target" >&6; } -+case $ac_cv_target in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; -+esac -+target=$ac_cv_target -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_target -+shift -+target_cpu=$1 -+target_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+target_os=$* -+IFS=$ac_save_IFS -+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` + -+# The aliases save the names the user supplied, while $host etc. -+# will get canonicalized. -+test -n "$target_alias" && -+ test "$program_prefix$program_suffix$program_transform_name" = \ -+ NONENONEs,x,x, && -+ program_prefix=${target_alias}- ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits + -+test "$program_prefix" != NONE && -+ program_transform_name="s&^&$program_prefix&;$program_transform_name" -+# Use a double $ so make ignores it. -+test "$program_suffix" != NONE && -+ program_transform_name="s&\$&$program_suffix&;$program_transform_name" -+# Double any \ or $. -+# By default was `s,x,x', remove it if useless. -+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` -+ -+ -+# Find a good install program. We prefer a C program (faster), -+# so one script is as good as another. But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AmigaOS /C/install, which installs bootblocks on floppy discs -+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# OS/2's system install, which has a completely different semantic -+# ./install, which can be erroneously created by make from ./install.sh. -+# Reject install programs that cannot install multiple files. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -+$as_echo_n "checking for a BSD-compatible install... " >&6; } -+if test -z "$INSTALL"; then -+if ${ac_cv_path_install+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ # Account for people who put trailing slashes in PATH elements. -+case $as_dir/ in #(( -+ ./ | .// | /[cC]/* | \ -+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ -+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ -+ /usr/ucb/* ) ;; -+ *) -+ # OSF1 and SCO ODT 3.0 have their own names for install. -+ # Don't use installbsd from OSF since it installs stuff as root -+ # by default. -+ for ac_prog in ginstall scoinst install; do -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -+ if test $ac_prog = install && -+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ : -+ elif test $ac_prog = install && -+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # program-specific install script used by HP pwplus--don't use. -+ : -+ else -+ rm -rf conftest.one conftest.two conftest.dir -+ echo one > conftest.one -+ echo two > conftest.two -+ mkdir conftest.dir -+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && -+ test -s conftest.one && test -s conftest.two && -+ test -s conftest.dir/conftest.one && -+ test -s conftest.dir/conftest.two -+ then -+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -+ break 3 -+ fi -+ fi -+ fi -+ done -+ done -+ ;; ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; +esac + -+ done -+IFS=$as_save_IFS -+ -+rm -rf conftest.one conftest.two conftest.dir -+ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null +fi -+ if test "${ac_cv_path_install+set}" = set; then -+ INSTALL=$ac_cv_path_install ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln + else -+ # As a last resort, use the slow shell script. Don't cache a -+ # value for INSTALL within a source directory, because that will -+ # break other packages using the cache if that directory is -+ # removed, or if the value is a relative name. -+ INSTALL=$ac_install_sh ++ as_ln_s='cp -pR' + fi ++else ++ as_ln_s='cp -pR' +fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -+$as_echo "$INSTALL" >&6; } ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null + -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + -+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ + -+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + -+$as_echo "#define HAVE_GNU_LD 1" >>confdefs.h ++} # as_fn_mkdir_p ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi + -+case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ arc-*-*) -+ ;; -+ arm-*-eabi) -+ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h + -+ ;; -+ arm*-*-*) -+ ;; -+ bfin-*-*) -+ ;; -+ cris-*-* | crisv32-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i345686-*-sco*) -+ ;; -+ lm32-*-*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpc-*-eabi) -+ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p + -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ v850*-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + -+ ;; -+esac ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + -+case "${target}" in -+ *-*-elf) -+ $as_echo "#define HAVE_ELF 1" >>confdefs.h + ++exec 6>&1 ++## ----------------------------------- ## ++## Main body of $CONFIG_STATUS script. ## ++## ----------------------------------- ## ++_ASEOF ++test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 -+$as_echo_n "checking for .previous assembler directive... " >&6; } -+if ${libc_cv_asm_previous_directive+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_asm_previous_directive=no -+ cat > conftest.s <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_asm_previous_directive=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 -+$as_echo "$libc_cv_asm_previous_directive" >&6; } ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# Save the log message, to keep $0 and so on meaningful, and to ++# report actual input values of CONFIG_FILES etc. instead of their ++# values after options handling. ++ac_log=" ++This file was extended by $as_me, which was ++generated by GNU Autoconf 2.69. Invocation command line was + -+ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then -+ $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h ++ CONFIG_FILES = $CONFIG_FILES ++ CONFIG_HEADERS = $CONFIG_HEADERS ++ CONFIG_LINKS = $CONFIG_LINKS ++ CONFIG_COMMANDS = $CONFIG_COMMANDS ++ $ $0 $@ + -+ fi ++on `(hostname || uname -n) 2>/dev/null | sed 1q` ++" + -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 -+$as_echo_n "checking for .popsection assembler directive... " >&6; } -+if ${libc_cv_asm_popsection_directive+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_asm_popsection_directive=no -+ cat > conftest.s <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_asm_popsection_directive=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5 -+$as_echo "$libc_cv_asm_popsection_directive" >&6; } ++_ACEOF + -+ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then -+ $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h ++case $ac_config_files in *" ++"*) set x $ac_config_files; shift; ac_config_files=$*;; ++esac + -+ fi ++case $ac_config_headers in *" ++"*) set x $ac_config_headers; shift; ac_config_headers=$*;; ++esac + -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for section attributes" >&5 -+$as_echo_n "checking for section attributes... " >&6; } -+if ${libc_cv_section_attributes+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_section_attributes=no -+ cat > conftest.c <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_section_attributes=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_section_attributes" >&5 -+$as_echo "$libc_cv_section_attributes" >&6; } -+ if test "x${libc_cv_section_attributes}" = "xyes"; then -+ $as_echo "#define HAVE_SECTION_ATTRIBUTES 1" >>confdefs.h + -+ fi -+ ;; -+esac ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# Files that config.status was made for. ++config_files="$ac_config_files" ++config_headers="$ac_config_headers" ++config_commands="$ac_config_commands" + -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 -+$as_echo_n "checking for symbol prefix... " >&6; } -+if ${libc_cv_symbol_prefix+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat > conftest.c <<\EOF -+foo () { } -+EOF -+libc_cv_symbol_prefix=none -+if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; -+then -+ libc_cv_symbol_prefix='$' -+else -+ if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; -+ then -+ libc_cv_symbol_prefix=_ -+ fi -+fi -+rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_symbol_prefix" >&5 -+$as_echo "$libc_cv_symbol_prefix" >&6; } -+if test $libc_cv_symbol_prefix != none; then -+ cat >>confdefs.h <<_ACEOF -+#define __SYMBOL_PREFIX "$libc_cv_symbol_prefix" +_ACEOF + -+else -+ $as_echo "#define __SYMBOL_PREFIX \"\"" >>confdefs.h -+ -+fi ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ac_cs_usage="\ ++\`$as_me' instantiates files and other configuration actions ++from templates according to the current configuration. Unless the files ++and actions are specified as TAGs, all are instantiated by default. + -+rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+ am__leading_dot=. -+else -+ am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null ++Usage: $0 [OPTION]... [TAG]... + -+DEPDIR="${am__leading_dot}deps" ++ -h, --help print this help, then exit ++ -V, --version print version number and configuration settings, then exit ++ --config print configuration, then exit ++ -q, --quiet, --silent ++ do not print progress messages ++ -d, --debug don't remove temporary files ++ --recheck update $as_me by reconfiguring in the same conditions ++ --file=FILE[:TEMPLATE] ++ instantiate the configuration file FILE ++ --header=FILE[:TEMPLATE] ++ instantiate the configuration header FILE + -+ac_config_commands="$ac_config_commands depfiles" ++Configuration files: ++$config_files + ++Configuration headers: ++$config_headers + -+am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+ @echo done -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -+$as_echo_n "checking for style of include used by $am_make... " >&6; } -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ fi -+fi ++Configuration commands: ++$config_commands + ++Report bugs to the package provider." + -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -+$as_echo "$_am_result" >&6; } -+rm -f confinc confmf ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ++ac_cs_version="\\ ++config.status ++configured by $0, generated by GNU Autoconf 2.69, ++ with options \\"\$ac_cs_config\\" + -+# Check whether --enable-dependency-tracking was given. -+if test "${enable_dependency_tracking+set}" = set; then : -+ enableval=$enable_dependency_tracking; -+fi ++Copyright (C) 2012 Free Software Foundation, Inc. ++This config.status script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it." + -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi ++ac_pwd='$ac_pwd' ++srcdir='$srcdir' ++INSTALL='$INSTALL' ++test -n "\$AWK" || AWK=awk ++_ACEOF + ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# The default lists apply if the user does not specify any file. ++ac_need_defaults=: ++while test $# != 0 ++do ++ case $1 in ++ --*=?*) ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ++ ac_shift=: ++ ;; ++ --*=) ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg= ++ ac_shift=: ++ ;; ++ *) ++ ac_option=$1 ++ ac_optarg=$2 ++ ac_shift=shift ++ ;; ++ esac + -+if test "x$enable_dependency_tracking" != xno; then -+ AMDEP_TRUE= -+ AMDEP_FALSE='#' -+else -+ AMDEP_TRUE='#' -+ AMDEP_FALSE= -+fi ++ case $ac_option in ++ # Handling of the options. ++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ++ ac_cs_recheck=: ;; ++ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) ++ $as_echo "$ac_cs_version"; exit ;; ++ --config | --confi | --conf | --con | --co | --c ) ++ $as_echo "$ac_cs_config"; exit ;; ++ --debug | --debu | --deb | --de | --d | -d ) ++ debug=: ;; ++ --file | --fil | --fi | --f ) ++ $ac_shift ++ case $ac_optarg in ++ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ '') as_fn_error $? "missing file argument" ;; ++ esac ++ as_fn_append CONFIG_FILES " '$ac_optarg'" ++ ac_need_defaults=false;; ++ --header | --heade | --head | --hea ) ++ $ac_shift ++ case $ac_optarg in ++ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ as_fn_append CONFIG_HEADERS " '$ac_optarg'" ++ ac_need_defaults=false;; ++ --he | --h) ++ # Conflict between --help and --header ++ as_fn_error $? "ambiguous option: \`$1' ++Try \`$0 --help' for more information.";; ++ --help | --hel | -h ) ++ $as_echo "$ac_cs_usage"; exit ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil | --si | --s) ++ ac_cs_silent=: ;; + ++ # This is an error. ++ -*) as_fn_error $? "unrecognized option: \`$1' ++Try \`$0 --help' for more information." ;; + ++ *) as_fn_append ac_config_targets " $1" ++ ac_need_defaults=false ;; + -+# Extract the first word of "gcc", so it can be a program name with args. -+set dummy gcc; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CC+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_CC="gcc" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi ++ esac ++ shift +done -+ done -+IFS=$as_save_IFS + -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi ++ac_configure_extra_args= + ++if $ac_cs_silent; then ++ exec 6>/dev/null ++ ac_configure_extra_args="$ac_configure_extra_args --silent" ++fi + ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++if \$ac_cs_recheck; then ++ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion ++ shift ++ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 ++ CONFIG_SHELL='$SHELL' ++ export CONFIG_SHELL ++ exec "\$@" ++fi + -+depcc="$CC" am_compiler_list= ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++exec 5>>config.log ++{ ++ echo ++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ++## Running $as_me. ## ++_ASBOX ++ $as_echo "$ac_log" ++} >&5 + -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -+$as_echo_n "checking dependency style of $depcc... " >&6; } -+if ${am_cv_CC_dependencies_compiler_type+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# ++# INIT-COMMANDS ++# ++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" ++srcdir=${srcdir} ++target=${target} ++with_multisubdir=${with_multisubdir} ++ac_configure_args="${ac_configure_args} --enable-multilib" ++CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} ++libgloss_topdir=${libgloss_topdir} + -+ am_cv_CC_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` -+ fi -+ for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_CC_dependencies_compiler_type=$depmode -+ break -+ fi -+ fi -+ done ++_ACEOF + -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_CC_dependencies_compiler_type=none -+fi ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type ++# Handling of arguments. ++for ac_config_target in $ac_config_targets ++do ++ case $ac_config_target in ++ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; ++ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; ++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + ++ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; ++ esac ++done + + -+if -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then -+ am__fastdepCC_TRUE= -+ am__fastdepCC_FALSE='#' -+else -+ am__fastdepCC_TRUE='#' -+ am__fastdepCC_FALSE= ++# If the user did not use the arguments to specify the items to instantiate, ++# then the envvar interface is used. Set only those that are not. ++# We use the long form for the default assignment because of an extremely ++# bizarre bug on SunOS 4.1.3. ++if $ac_need_defaults; then ++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files ++ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers ++ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + ++# Have a temporary directory for convenience. Make it in the build tree ++# simply because there is no reason against having it here, and in addition, ++# creating and moving files from /tmp can sometimes cause problems. ++# Hook for its removal unless debugging. ++# Note that there is a small window in which the directory will not be cleaned: ++# after its creation but before its name has been assigned to `$tmp'. ++$debug || ++{ ++ tmp= ac_tmp= ++ trap 'exit_status=$? ++ : "${ac_tmp:=$tmp}" ++ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ++' 0 ++ trap 'as_fn_exit 1' 1 2 13 15 ++} ++# Create a (secure) tmp directory for tmp files. + -+if test -z "$CC"; then -+ # Extract the first word of "cc", so it can be a program name with args. -+set dummy cc; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CC+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ ac_prog_rejected=no -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then -+ ac_prog_rejected=yes -+ continue -+ fi -+ ac_cv_prog_CC="cc" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+if test $ac_prog_rejected = yes; then -+ # We found a bogon in the path, so make sure we never use it. -+ set dummy $ac_cv_prog_CC -+ shift -+ if test $# != 0; then -+ # We chose a different compiler from the bogus one. -+ # However, it has the same basename, so the bogon will be chosen -+ # first if we set CC to just the basename; use the full file name. -+ shift -+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" -+ fi -+fi -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ ++{ ++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && ++ test -d "$tmp" ++} || ++{ ++ tmp=./conf$$-$RANDOM ++ (umask 077 && mkdir "$tmp") ++} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ++ac_tmp=$tmp + -+ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5 -+fi ++# Set up the scripts for CONFIG_FILES section. ++# No need to generate them if there are no CONFIG_FILES. ++# This happens for instance with `./config.status config.h'. ++if test -n "$CONFIG_FILES"; then + -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5 -+$as_echo_n "checking whether we are using GNU C... " >&6; } -+if ${ac_cv_c_compiler_gnu+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat > conftest.c <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then -+ ac_cv_c_compiler_gnu=yes ++if $AWK 'BEGIN { getline <"/dev/null" }' /dev/null; then ++ ac_cs_awk_getline=: ++ ac_cs_awk_pipe_init= ++ ac_cs_awk_read_file=' ++ while ((getline aline < (F[key])) > 0) ++ print(aline) ++ close(F[key])' ++ ac_cs_awk_pipe_fini= +else -+ ac_cv_c_compiler_gnu=no ++ ac_cs_awk_getline=false ++ ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\"" ++ ac_cs_awk_read_file=' ++ print "|#_!!_#|" ++ print "cat " F[key] " &&" ++ '$ac_cs_awk_pipe_init ++ # The final `:' finishes the AND list. ++ ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }' +fi ++ac_cr=`echo X | tr X '\015'` ++# On cygwin, bash can eat \r inside `` if the user requested igncr. ++# But we know of no other shell where ac_cr would be empty at this ++# point, so we can use a bashism as a fallback. ++if test "x$ac_cr" = x; then ++ eval ac_cr=\$\'\\r\' +fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -+$as_echo "$ac_cv_c_compiler_gnu" >&6; } -+ -+if test $ac_cv_c_compiler_gnu = yes; then -+ GCC=yes -+ ac_test_CFLAGS="${CFLAGS+set}" -+ ac_save_CFLAGS="$CFLAGS" -+ CFLAGS= -+ ac_test_CFLAGS=${CFLAGS+set} -+ac_save_CFLAGS=$CFLAGS -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -+$as_echo_n "checking whether $CC accepts -g... " >&6; } -+if ${ac_cv_prog_cc_g+:} false; then : -+ $as_echo_n "(cached) " >&6 ++ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` ++if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ++ ac_cs_awk_cr='\\r' +else -+ ac_save_c_werror_flag=$ac_c_werror_flag -+ ac_c_werror_flag=yes -+ ac_cv_prog_cc_g=no -+ CFLAGS="-g" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ ++ ac_cs_awk_cr=$ac_cr ++fi + -+ ; -+ return 0; -+} ++echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_prog_cc_g=yes -+else -+ CFLAGS="" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ + -+int -+main () ++# Create commands to substitute file output variables. +{ ++ echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && ++ echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && ++ echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && ++ echo "_ACAWK" && ++ echo "_ACEOF" ++} >conf$$files.sh && ++. ./conf$$files.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++rm -f conf$$files.sh + -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ -+else -+ ac_c_werror_flag=$ac_save_c_werror_flag -+ CFLAGS="-g" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () +{ ++ echo "cat >conf$$subs.awk <<_ACEOF" && ++ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && ++ echo "_ACEOF" ++} >conf$$subs.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ++ac_delim='%!_!# ' ++for ac_last_try in false false false false false :; do ++ . ./conf$$subs.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_prog_cc_g=yes -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_c_werror_flag=$ac_save_c_werror_flag -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -+$as_echo "$ac_cv_prog_cc_g" >&6; } -+if test "$ac_test_CFLAGS" = set; then -+ CFLAGS=$ac_save_CFLAGS -+elif test $ac_cv_prog_cc_g = yes; then -+ if test "$GCC" = yes; then -+ CFLAGS="-g -O2" -+ else -+ CFLAGS="-g" -+ fi -+else -+ if test "$GCC" = yes; then -+ CFLAGS="-O2" -+ else -+ CFLAGS= -+ fi -+fi -+ if test "$ac_test_CFLAGS" = set; then -+ CFLAGS="$ac_save_CFLAGS" -+ elif test $ac_cv_prog_cc_g = yes; then -+ CFLAGS="-g -O2" ++ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` ++ if test $ac_delim_n = $ac_delim_num; then ++ break ++ elif $ac_last_try; then ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else -+ CFLAGS="-O2" -+ fi -+else -+ GCC= -+ test "${CFLAGS+set}" = set || CFLAGS="-g" -+fi -+ -+AS=${AS-as} -+ -+AR=${AR-ar} -+ -+LD=${LD-ld} -+ -+if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -+set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_RANLIB+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$RANLIB"; then -+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done -+ done -+IFS=$as_save_IFS ++rm -f conf$$subs.sh + -+fi -+fi -+RANLIB=$ac_cv_prog_RANLIB -+if test -n "$RANLIB"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -+$as_echo "$RANLIB" >&6; } ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && ++_ACEOF ++sed -n ' ++h ++s/^/S["/; s/!.*/"]=/ ++p ++g ++s/^[^!]*!// ++:repl ++t repl ++s/'"$ac_delim"'$// ++t delim ++:nl ++h ++s/\(.\{148\}\)..*/\1/ ++t more1 ++s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ ++p ++n ++b repl ++:more1 ++s/["\\]/\\&/g; s/^/"/; s/$/"\\/ ++p ++g ++s/.\{148\}// ++t nl ++:delim ++h ++s/\(.\{148\}\)..*/\1/ ++t more2 ++s/["\\]/\\&/g; s/^/"/; s/$/"/ ++p ++b ++:more2 ++s/["\\]/\\&/g; s/^/"/; s/$/"\\/ ++p ++g ++s/.\{148\}// ++t delim ++' >$CONFIG_STATUS || ac_write_fail=1 ++rm -f conf$$subs.awk ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++_ACAWK ++cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && ++ for (key in S) S_is_set[key] = 1 ++ FS = "" ++ \$ac_cs_awk_pipe_init ++} ++{ ++ line = $ 0 ++ nfields = split(line, field, "@") ++ substed = 0 ++ len = length(field[1]) ++ for (i = 2; i < nfields; i++) { ++ key = field[i] ++ keylen = length(key) ++ if (S_is_set[key]) { ++ value = S[key] ++ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) ++ len += length(value) + length(field[++i]) ++ substed = 1 ++ } else ++ len += 1 + keylen ++ } ++ if (nfields == 3 && !substed) { ++ key = field[2] ++ if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) { ++ \$ac_cs_awk_read_file ++ next ++ } ++ } ++ print line ++} ++\$ac_cs_awk_pipe_fini ++_ACAWK ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then ++ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } ++ cat ++fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ ++ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 ++_ACEOF ++ ++# VPATH may cause trouble with some makes, so we remove sole $(srcdir), ++# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and ++# trailing colons and then remove the whole line if VPATH becomes empty ++# (actually we leave an empty line to preserve line numbers). ++if test "x$srcdir" = x.; then ++ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ ++h ++s/// ++s/^/:/ ++s/[ ]*$/:/ ++s/:\$(srcdir):/:/g ++s/:\${srcdir}:/:/g ++s/:@srcdir@:/:/g ++s/^:*// ++s/:*$// ++x ++s/\(=[ ]*\).*/\1/ ++G ++s/\n// ++s/^[^=]*=[ ]*$// ++}' +fi + ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++fi # test -n "$CONFIG_FILES" + -+fi -+if test -z "$ac_cv_prog_RANLIB"; then -+ ac_ct_RANLIB=$RANLIB -+ # Extract the first word of "ranlib", so it can be a program name with args. -+set dummy ranlib; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$ac_ct_RANLIB"; then -+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_ac_ct_RANLIB="ranlib" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS ++# Set up the scripts for CONFIG_HEADERS section. ++# No need to generate them if there are no CONFIG_HEADERS. ++# This happens for instance with `./config.status Makefile'. ++if test -n "$CONFIG_HEADERS"; then ++cat >"$ac_tmp/defines.awk" <<\_ACAWK || ++BEGIN { ++_ACEOF + -+fi -+fi -+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -+if test -n "$ac_ct_RANLIB"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -+$as_echo "$ac_ct_RANLIB" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi ++# Transform confdefs.h into an awk script `defines.awk', embedded as ++# here-document in config.status, that substitutes the proper values into ++# config.h.in to produce config.h. + -+ if test "x$ac_ct_RANLIB" = x; then -+ RANLIB=":" ++# Create a delimiter string that does not exist in confdefs.h, to ease ++# handling of long lines. ++ac_delim='%!_!# ' ++for ac_last_try in false false :; do ++ ac_tt=`sed -n "/$ac_delim/p" confdefs.h` ++ if test -z "$ac_tt"; then ++ break ++ elif $ac_last_try; then ++ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else -+ case $cross_compiling:$ac_tool_warned in -+yes:) -+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -+ac_tool_warned=yes ;; -+esac -+ RANLIB=$ac_ct_RANLIB ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi -+else -+ RANLIB="$ac_cv_prog_RANLIB" -+fi -+ -+# By default we simply use the C compiler to build assembly code. -+ -+test "${CCAS+set}" = set || CCAS=$CC -+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS -+ -+ -+ -+ -+host_makefile_frag=${srcdir}/../config/default.mh -+ -+host_makefile_frag_path=$host_makefile_frag -+ ++done + ++# For the awk script, D is an array of macro values keyed by name, ++# likewise P contains macro parameters if any. Preserve backslash ++# newline sequences. + -+ac_config_files="$ac_config_files Makefile" -+ -+cat >confcache <<\_ACEOF -+# This file is a shell script that caches the results of configure -+# tests run on this system so they can be shared between configure -+# scripts and configure runs, see configure's option --config-cache. -+# It is not useful on other systems. If it contains results you don't -+# want to keep, you may remove or edit it. -+# -+# config.status only pays attention to the cache file if you give it -+# the --recheck option to rerun configure. -+# -+# `ac_cv_env_foo' variables (set or unset) will be overridden when -+# loading this file, other *unset* `ac_cv_foo' will be assigned the -+# following values. ++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* ++sed -n ' ++s/.\{148\}/&'"$ac_delim"'/g ++t rset ++:rset ++s/^[ ]*#[ ]*define[ ][ ]*/ / ++t def ++d ++:def ++s/\\$// ++t bsnl ++s/["\\]/\\&/g ++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ ++D["\1"]=" \3"/p ++s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p ++d ++:bsnl ++s/["\\]/\\&/g ++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ ++D["\1"]=" \3\\\\\\n"\\/p ++t cont ++s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p ++t cont ++d ++:cont ++n ++s/.\{148\}/&'"$ac_delim"'/g ++t clear ++:clear ++s/\\$// ++t bsnlc ++s/["\\]/\\&/g; s/^/"/; s/$/"/p ++d ++:bsnlc ++s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p ++b cont ++' >$CONFIG_STATUS || ac_write_fail=1 + ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ for (key in D) D_is_set[key] = 1 ++ FS = "" ++} ++/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { ++ line = \$ 0 ++ split(line, arg, " ") ++ if (arg[1] == "#") { ++ defundef = arg[2] ++ mac1 = arg[3] ++ } else { ++ defundef = substr(arg[1], 2) ++ mac1 = arg[2] ++ } ++ split(mac1, mac2, "(") #) ++ macro = mac2[1] ++ prefix = substr(line, 1, index(line, defundef) - 1) ++ if (D_is_set[macro]) { ++ # Preserve the white space surrounding the "#". ++ print prefix "define", macro P[macro] D[macro] ++ next ++ } else { ++ # Replace #undef with comments. This is necessary, for example, ++ # in the case of _POSIX_SOURCE, which is predefined and required ++ # on some systems where configure will not decide to define it. ++ if (defundef == "undef") { ++ print "/*", prefix defundef, macro, "*/" ++ next ++ } ++ } ++} ++{ print } ++_ACAWK +_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 ++fi # test -n "$CONFIG_HEADERS" + -+# The following way of writing the cache mishandles newlines in values, -+# but we know of no workaround that is simple, portable, and efficient. -+# So, we kill variables containing newlines. -+# Ultrix sh set writes to stderr and can't be redirected directly, -+# and sets the high bit in the cache file unless we assign to the vars. -+( -+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do -+ eval ac_val=\$$ac_var -+ case $ac_val in #( -+ *${as_nl}*) -+ case $ac_var in #( -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ ++eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" ++shift ++for ac_tag ++do ++ case $ac_tag in ++ :[FHLC]) ac_mode=$ac_tag; continue;; ++ esac ++ case $ac_mode$ac_tag in ++ :[FHL]*:*);; ++ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; ++ :[FH]-) ac_tag=-:-;; ++ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; ++ esac ++ ac_save_IFS=$IFS ++ IFS=: ++ set x $ac_tag ++ IFS=$ac_save_IFS ++ shift ++ ac_file=$1 ++ shift ++ ++ case $ac_mode in ++ :L) ac_source=$1;; ++ :[FH]) ++ ac_file_inputs= ++ for ac_f ++ do ++ case $ac_f in ++ -) ac_f="$ac_tmp/stdin";; ++ *) # Look for the file first in the build tree, then in the source tree ++ # (if the path is not absolute). The absolute path cannot be DOS-style, ++ # because $ac_f cannot contain `:'. ++ test -f "$ac_f" || ++ case $ac_f in ++ [\\/$]*) false;; ++ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; ++ esac || ++ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac -+ case $ac_var in #( -+ _ | IFS | as_nl) ;; #( -+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -+ *) { eval $ac_var=; unset $ac_var;} ;; -+ esac ;; -+ esac -+ done ++ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac ++ as_fn_append ac_file_inputs " '$ac_f'" ++ done + -+ (set) 2>&1 | -+ case $as_nl`(ac_space=' '; set) 2>&1` in #( -+ *${as_nl}ac_space=\ *) -+ # `set' does not quote correctly, so add quotes: double-quote -+ # substitution turns \\\\ into \\, and sed turns \\ into \. -+ sed -n \ -+ "s/'/'\\\\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" -+ ;; #( -+ *) -+ # `set' quotes correctly as required by POSIX, so do not add quotes. -+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" -+ ;; -+ esac | -+ sort -+) | -+ sed ' -+ /^ac_cv_env_/b end -+ t clear -+ :clear -+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ -+ t end -+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ -+ :end' >>confcache -+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else -+ if test -w "$cache_file"; then -+ if test "x$cache_file" != "x/dev/null"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -+$as_echo "$as_me: updating cache $cache_file" >&6;} -+ if test ! -f "$cache_file" || test -h "$cache_file"; then -+ cat confcache >"$cache_file" -+ else -+ case $cache_file in #( -+ */* | ?:*) -+ mv -f confcache "$cache_file"$$ && -+ mv -f "$cache_file"$$ "$cache_file" ;; #( -+ *) -+ mv -f confcache "$cache_file" ;; -+ esac -+ fi ++ # Let's still pretend it is `configure' which instantiates (i.e., don't ++ # use $as_me), people would be surprised to read: ++ # /* config.h. Generated by config.status. */ ++ configure_input='Generated from '` ++ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' ++ `' by configure.' ++ if test x"$ac_file" != x-; then ++ configure_input="$ac_file. $configure_input" ++ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 ++$as_echo "$as_me: creating $ac_file" >&6;} + fi -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} -+ fi -+fi -+rm -f confcache -+ -+test "x$prefix" = xNONE && prefix=$ac_default_prefix -+# Let make expand exec_prefix. -+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' ++ # Neutralize special characters interpreted by sed in replacement strings. ++ case $configure_input in #( ++ *\&* | *\|* | *\\* ) ++ ac_sed_conf_input=`$as_echo "$configure_input" | ++ sed 's/[\\\\&|]/\\\\&/g'`;; #( ++ *) ac_sed_conf_input=$configure_input;; ++ esac + -+DEFS=-DHAVE_CONFIG_H ++ case $ac_tag in ++ *:-:* | *:-) cat >"$ac_tmp/stdin" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; ++ esac ++ ;; ++ esac + -+ac_libobjs= -+ac_ltlibobjs= -+U= -+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue -+ # 1. Remove the extension, and $U if already installed. -+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' -+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"` -+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR -+ # will be set to the directory where LIBOBJS objects are built. -+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" -+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -+done -+LIBOBJS=$ac_libobjs ++ ac_dir=`$as_dirname -- "$ac_file" || ++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$ac_file" : 'X\(//\)[^/]' \| \ ++ X"$ac_file" : 'X\(//\)$' \| \ ++ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$ac_file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ as_dir="$ac_dir"; as_fn_mkdir_p ++ ac_builddir=. + -+LTLIBOBJS=$ac_ltlibobjs ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix + ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + -+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then -+ as_fn_error $? "conditional \"AMDEP\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then -+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi + -+: "${CONFIG_STATUS=./config.status}" -+ac_write_fail=0 -+ac_clean_files_save=$ac_clean_files -+ac_clean_files="$ac_clean_files $CONFIG_STATUS" -+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -+as_write_fail=0 -+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -+#! $SHELL -+# Generated by $as_me. -+# Run this file to recreate the current configuration. -+# Compiler output produced by configure, useful for debugging -+# configure, is in config.log if it exists. ++ case $ac_mode in ++ :F) ++ # ++ # CONFIG_FILE ++ # + -+debug=false -+ac_cs_recheck=false -+ac_cs_silent=false ++ case $INSTALL in ++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; ++ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; ++ esac ++_ACEOF + -+SHELL=\${CONFIG_SHELL-$SHELL} -+export SHELL -+_ASEOF -+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# If the template does not know about datarootdir, expand it. ++# FIXME: This hack should be removed a few years after 2.60. ++ac_datarootdir_hack=; ac_datarootdir_seen= ++ac_sed_dataroot=' ++/datarootdir/ { ++ p ++ q ++} ++/@datadir@/p ++/@docdir@/p ++/@infodir@/p ++/@localedir@/p ++/@mandir@/p' ++case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in ++*datarootdir*) ac_datarootdir_seen=yes;; ++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ ac_datarootdir_hack=' ++ s&@datadir@&$datadir&g ++ s&@docdir@&$docdir&g ++ s&@infodir@&$infodir&g ++ s&@localedir@&$localedir&g ++ s&@mandir@&$mandir&g ++ s&\\\${datarootdir}&$datarootdir&g' ;; ++esac ++_ACEOF + -+# Be more Bourne compatible -+DUALCASE=1; export DUALCASE # for MKS sh -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '${1+"$@"}'='"$@"' -+ setopt NO_GLOB_SUBST ++# Neutralize VPATH when `$srcdir' = `.'. ++# Shell code in configure.ac might set extrasub. ++# FIXME: do we really want to maintain this feature? ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_sed_extra="$ac_vpsub ++$extrasub ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++:t ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b ++s|@configure_input@|$ac_sed_conf_input|;t t ++s&@top_builddir@&$ac_top_builddir_sub&;t t ++s&@top_build_prefix@&$ac_top_build_prefix&;t t ++s&@srcdir@&$ac_srcdir&;t t ++s&@abs_srcdir@&$ac_abs_srcdir&;t t ++s&@top_srcdir@&$ac_top_srcdir&;t t ++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t ++s&@builddir@&$ac_builddir&;t t ++s&@abs_builddir@&$ac_abs_builddir&;t t ++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t ++s&@INSTALL@&$ac_INSTALL&;t t ++$ac_datarootdir_hack ++" ++eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | ++if $ac_cs_awk_getline; then ++ $AWK -f "$ac_tmp/subs.awk" +else -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi ++ $AWK -f "$ac_tmp/subs.awk" | $SHELL ++fi \ ++ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && ++ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && ++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ ++ "$ac_tmp/out"`; test -z "$ac_out"; } && ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined" >&5 ++$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined" >&2;} + -+as_nl=' -+' -+export as_nl -+# Printing a long string crashes Solaris 7 /usr/bin/printf. -+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='printf %s\n' -+ as_echo_n='printf %s' -+else -+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then -+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' -+ as_echo_n='/usr/ucb/echo -n' ++ rm -f "$ac_tmp/stdin" ++ case $ac_file in ++ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; ++ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; ++ esac \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ ;; ++ :H) ++ # ++ # CONFIG_HEADER ++ # ++ if test x"$ac_file" != x-; then ++ { ++ $as_echo "/* $configure_input */" \ ++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" ++ } >"$ac_tmp/config.h" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 ++$as_echo "$as_me: $ac_file is unchanged" >&6;} ++ else ++ rm -f "$ac_file" ++ mv "$ac_tmp/config.h" "$ac_file" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ fi + else -+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' -+ as_echo_n_body='eval -+ arg=$1; -+ case $arg in #( -+ *"$as_nl"*) -+ expr "X$arg" : "X\\(.*\\)$as_nl"; -+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -+ esac; -+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" -+ ' -+ export as_echo_n_body -+ as_echo_n='sh -c $as_echo_n_body as_echo' ++ $as_echo "/* $configure_input */" \ ++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ ++ || as_fn_error $? "could not create -" "$LINENO" 5 + fi -+ export as_echo_body -+ as_echo='sh -c $as_echo_body as_echo' -+fi -+ -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ PATH_SEPARATOR=: -+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { -+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || -+ PATH_SEPARATOR=';' -+ } -+fi -+ -+ -+# IFS -+# We need space, tab and new line, in precisely that order. Quoting is -+# there to prevent editors from complaining about space-tab. -+# (If _AS_PATH_WALK were called with IFS unset, it would disable word -+# splitting by setting IFS to empty value.) -+IFS=" "" $as_nl" -+ -+# Find who we are. Look in the path if we contain no directory separator. -+as_myself= -+case $0 in #(( -+ *[\\/]* ) as_myself=$0 ;; -+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done -+IFS=$as_save_IFS -+ -+ ;; -+esac -+# We did not find ourselves, most probably we were run as `sh COMMAND' -+# in which case we are not to be found in the path. -+if test "x$as_myself" = x; then -+ as_myself=$0 -+fi -+if test ! -f "$as_myself"; then -+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -+ exit 1 -+fi -+ -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -+done -+PS1='$ ' -+PS2='> ' -+PS4='+ ' -+ -+# NLS nuisances. -+LC_ALL=C -+export LC_ALL -+LANGUAGE=C -+export LANGUAGE ++ ;; + -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH ++ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 ++$as_echo "$as_me: executing $ac_file commands" >&6;} ++ ;; ++ esac + + -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error -+ -+ -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status -+ -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit -+ -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append -+ -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith -+ -+ -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr -+else -+ as_expr=false -+fi -+ -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename -+else -+ as_basename=false -+fi -+ -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi -+ -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ case $ac_file$ac_mode in ++ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do ++ # Strip MF so we end up with the name of the file. ++ mf=`echo "$mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile or not. ++ # We used to match only the files named `Makefile.in', but ++ # some people rename them; so instead we look at the file content. ++ # Grep'ing the first line is not enough: some people post-process ++ # each Makefile.in and add a new line on top of each file to say so. ++ # So let's grep whole file. ++ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then ++ dirpart=`$as_dirname -- "$mf" || ++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$mf" : 'X\(//\)[^/]' \| \ ++ X"$mf" : 'X\(//\)$' \| \ ++ X"$mf" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$mf" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } -+ /^X\/\(\/\/\)$/{ ++ /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } -+ /^X\/\(\/\).*/{ ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` -+ -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+ECHO_C= ECHO_N= ECHO_T= -+case `echo -n x` in #((((( -+-n*) -+ case `echo 'xy\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; -+ esac;; -+*) -+ ECHO_N='-n';; -+esac -+ -+rm -f conf$$ conf$$.exe conf$$.file -+if test -d conf$$.dir; then -+ rm -f conf$$.dir/conf$$.file -+else -+ rm -f conf$$.dir -+ mkdir conf$$.dir 2>/dev/null -+fi -+if (echo >conf$$.file) 2>/dev/null; then -+ if ln -s conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s='ln -s' -+ # ... but there are two gotchas: -+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. -+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -+ # In both cases, we have to default to `cp -pR'. -+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -+ as_ln_s='cp -pR' -+ elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln + else -+ as_ln_s='cp -pR' ++ continue + fi -+else -+ as_ln_s='cp -pR' -+fi -+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -+rmdir conf$$.dir 2>/dev/null -+ -+ -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ -+ -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | ++ # Extract the definition of DEPDIR, am__include, and am__quote ++ # from the Makefile without running `make'. ++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ am__include=`sed -n 's/^am__include = //p' < "$mf"` ++ test -z "am__include" && continue ++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n 's/^U = //p' < "$mf"` ++ # Find all dependency output files, they are included files with ++ # $(DEPDIR) in their names. We invoke sed twice because it is the ++ # simplest approach to changing $(DEPDIR) to its actual value in the ++ # expansion. ++ for file in `sed -n " ++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`$as_dirname -- "$file" || ++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$file" : 'X\(//\)[^/]' \| \ ++ X"$file" : 'X\(//\)$' \| \ ++ X"$file" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q @@ -5208,1759 +4793,1214 @@ index 000000000..be36ded12 + q + } + s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" -+ -+ -+} # as_fn_mkdir_p -+if mkdir -p . 2>/dev/null; then -+ as_mkdir_p='mkdir -p "$as_dir"' -+else -+ test -d ./-p && rmdir ./-p -+ as_mkdir_p=false -+fi ++ as_dir=$dirpart/$fdir; as_fn_mkdir_p ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++ ;; ++ "Makefile":F) ac_file=Makefile . ${libgloss_topdir}/config-ml.in ;; + ++ esac ++done # for ac_tag + -+# as_fn_executable_p FILE -+# ----------------------- -+# Test if FILE is an executable regular file. -+as_fn_executable_p () -+{ -+ test -f "$1" && test -x "$1" -+} # as_fn_executable_p -+as_test_x='test -x' -+as_executable_p=as_fn_executable_p + -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++as_fn_exit 0 ++_ACEOF ++ac_clean_files=$ac_clean_files_save + -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++test $ac_write_fail = 0 || ++ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + -+exec 6>&1 -+## ----------------------------------- ## -+## Main body of $CONFIG_STATUS script. ## -+## ----------------------------------- ## -+_ASEOF -+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 ++# configure is writing to config.log, and then calls config.status. ++# config.status does its own redirection, appending to config.log. ++# Unfortunately, on DOS this fails, as config.log is still kept open ++# by configure, so config.status won't be able to write to it; its ++# output is simply discarded. So we exec the FD to /dev/null, ++# effectively closing config.log, so it can be properly (re)opened and ++# appended to by config.status. When coming back to configure, we ++# need to make the FD available again. ++if test "$no_create" != yes; then ++ ac_cs_success=: ++ ac_config_status_args= ++ test "$silent" = yes && ++ ac_config_status_args="$ac_config_status_args --quiet" ++ exec 5>/dev/null ++ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false ++ exec 5>>config.log ++ # Use ||, not &&, to avoid exiting from the if with $? = 1, which ++ # would make configure fail if this is the last instruction. ++ $ac_cs_success || as_fn_exit 1 ++fi ++if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 ++$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} ++fi + -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# Save the log message, to keep $0 and so on meaningful, and to -+# report actual input values of CONFIG_FILES etc. instead of their -+# values after options handling. -+ac_log=" -+This file was extended by $as_me, which was -+generated by GNU Autoconf 2.69. Invocation command line was + -+ CONFIG_FILES = $CONFIG_FILES -+ CONFIG_HEADERS = $CONFIG_HEADERS -+ CONFIG_LINKS = $CONFIG_LINKS -+ CONFIG_COMMANDS = $CONFIG_COMMANDS -+ $ $0 $@ + -+on `(hostname || uname -n) 2>/dev/null | sed 1q` -+" +diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in +new file mode 100644 +index 000000000..d15eab89d +--- /dev/null ++++ b/libgloss/libsysbase/configure.in +@@ -0,0 +1,202 @@ ++# Copyright (c) 1995, 1996 Cygnus Support ++# ++# The authors hereby grant permission to use, copy, modify, distribute, ++# and license this software and its documentation for any purpose, provided ++# that existing copyright notices are retained in all copies and that this ++# notice is included verbatim in any distributions. No written agreement, ++# license, or royalty fee is required for any of the authorized uses. ++# Modifications to this software may be copyrighted by their authors ++# and need not follow the licensing terms described here, provided that ++# the new terms are clearly indicated on the first page of each file where ++# they apply. ++# ++# Process this file with autoconf to produce a configure script. ++# ++AC_PREREQ(2.59) ++AC_INIT(abort.c) ++AC_CONFIG_HEADER(config.h) + -+_ACEOF ++if test "${enable_shared}" = "yes" ; then ++ echo "Shared libraries not supported for cross compiling, ignored" ++fi + -+case $ac_config_files in *" -+"*) set x $ac_config_files; shift; ac_config_files=$*;; -+esac ++if test "$srcdir" = "." ; then ++ if test "${with_target_subdir}" != "." ; then ++ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." ++ else ++ libgloss_topdir="${srcdir}/${with_multisrctop}../.." ++ fi ++else ++ libgloss_topdir="${srcdir}/../.." ++fi ++AC_CONFIG_AUX_DIR($libgloss_topdir) + -+case $ac_config_headers in *" -+"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -+esac ++AC_CANONICAL_SYSTEM ++AC_ARG_PROGRAM + ++AC_PROG_INSTALL + -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+# Files that config.status was made for. -+config_files="$ac_config_files" -+config_headers="$ac_config_headers" -+config_commands="$ac_config_commands" ++AC_DEFINE(HAVE_GNU_LD) ++dnl Make sure syscall names match those being used by newlib ++case "${target}" in ++ *-*-cygwin*) ++ ;; ++ a29k-amd-udi) ++ ;; ++ arc-*-*) ++ ;; ++ arm-*-eabi) ++ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ ;; ++ arm*-*-*) ++ ;; ++ bfin-*-*) ++ ;; ++ cris-*-* | crisv32-*-*) ++ ;; ++ d10v*) ++ ;; ++ h8300*-*-*) ++ ;; ++ h8500-*-*) ++ ;; ++ i[3456]86-*-sco*) ++ ;; ++ lm32-*-*) ++ ;; ++ m32r-*-*) ++ ;; ++ mn10?00-*-*) ++ ;; ++ powerpc-*-eabi) ++ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ ;; ++ powerpcle-*-pe) ++ ;; ++ sh*-*-*) ++ ;; ++ sparc-sun-sunos*) ++ ;; ++ sparc64-*-*) ++ ;; ++ v850*-*-*) ++ ;; ++ w65-*-*) ++ ;; ++ xstormy16-*-*) ++ ;; ++ z8k-*-*) ++ ;; ++ *) ++ AC_DEFINE(MISSING_SYSCALL_NAMES) ++ ;; ++esac + -+_ACEOF ++dnl Make sure we know if elf format used ++case "${target}" in ++ *-*-elf) ++ AC_DEFINE(HAVE_ELF) + -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ac_cs_usage="\ -+\`$as_me' instantiates files and other configuration actions -+from templates according to the current configuration. Unless the files -+and actions are specified as TAGs, all are instantiated by default. ++ AC_CACHE_CHECK([for .previous assembler directive], ++ libc_cv_asm_previous_directive, [dnl ++ libc_cv_asm_previous_directive=no ++ cat > conftest.s <&AC_FD_CC); then ++ libc_cv_asm_previous_directive=yes ++ fi ++ rm -f conftest*]) + -+Usage: $0 [OPTION]... [TAG]... ++ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then ++ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) ++ fi + -+ -h, --help print this help, then exit -+ -V, --version print version number and configuration settings, then exit -+ --config print configuration, then exit -+ -q, --quiet, --silent -+ do not print progress messages -+ -d, --debug don't remove temporary files -+ --recheck update $as_me by reconfiguring in the same conditions -+ --file=FILE[:TEMPLATE] -+ instantiate the configuration file FILE -+ --header=FILE[:TEMPLATE] -+ instantiate the configuration header FILE ++ AC_CACHE_CHECK([for .popsection assembler directive], ++ libc_cv_asm_popsection_directive, [dnl ++ libc_cv_asm_popsection_directive=no ++ cat > conftest.s <&AC_FD_CC); then ++ libc_cv_asm_popsection_directive=yes ++ fi ++ rm -f conftest*]) + -+Configuration files: -+$config_files ++ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then ++ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) ++ fi + -+Configuration headers: -+$config_headers ++ AC_CACHE_CHECK([for section attributes], ++ libc_cv_section_attributes, [dnl ++ libc_cv_section_attributes=no ++ cat > conftest.c <&AC_FD_CC); then ++ libc_cv_section_attributes=yes ++ fi ++ rm -f conftest*]) ++ if test "x${libc_cv_section_attributes}" = "xyes"; then ++ AC_DEFINE(HAVE_SECTION_ATTRIBUTES) ++ fi ++ ;; ++esac + -+Configuration commands: -+$config_commands ++AC_CACHE_CHECK([for symbol prefix], libc_cv_symbol_prefix, [dnl ++cat > conftest.c <<\EOF ++foo () { } ++EOF ++dnl ++libc_cv_symbol_prefix=none ++if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); ++then ++ libc_cv_symbol_prefix='$' ++else ++ if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]); ++ then ++ libc_cv_symbol_prefix=_ ++ fi ++fi ++rm -f conftest* ]) ++if test $libc_cv_symbol_prefix != none; then ++ AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_cv_symbol_prefix") ++else ++ AC_DEFINE(__SYMBOL_PREFIX, "") ++fi + -+Report bugs to the package provider." ++LIB_AC_PROG_CC ++AS=${AS-as} ++AC_SUBST(AS) ++AR=${AR-ar} ++AC_SUBST(AR) ++LD=${LD-ld} ++AC_SUBST(LD) ++AC_PROG_RANLIB ++LIB_AM_PROG_AS + -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -+ac_cs_version="\\ -+config.status -+configured by $0, generated by GNU Autoconf 2.69, -+ with options \\"\$ac_cs_config\\" -+ -+Copyright (C) 2012 Free Software Foundation, Inc. -+This config.status script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it." ++host_makefile_frag=${srcdir}/../config/default.mh + -+ac_pwd='$ac_pwd' -+srcdir='$srcdir' -+INSTALL='$INSTALL' -+test -n "\$AWK" || AWK=awk -+_ACEOF ++dnl We have to assign the same value to other variables because autoconf ++dnl doesn't provide a mechanism to substitute a replacement keyword with ++dnl arbitrary data or pathnames. ++dnl ++host_makefile_frag_path=$host_makefile_frag ++AC_SUBST(host_makefile_frag_path) ++AC_SUBST_FILE(host_makefile_frag) + -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# The default lists apply if the user does not specify any file. -+ac_need_defaults=: -+while test $# != 0 -+do -+ case $1 in -+ --*=?*) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` -+ ac_shift=: -+ ;; -+ --*=) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg= -+ ac_shift=: -+ ;; -+ *) -+ ac_option=$1 -+ ac_optarg=$2 -+ ac_shift=shift -+ ;; -+ esac ++AC_CONFIG_FILES(Makefile, ++ac_file=Makefile . ${libgloss_topdir}/config-ml.in, ++srcdir=${srcdir} ++target=${target} ++with_multisubdir=${with_multisubdir} ++ac_configure_args="${ac_configure_args} --enable-multilib" ++CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} ++libgloss_topdir=${libgloss_topdir} ++) ++AC_OUTPUT + -+ case $ac_option in -+ # Handling of the options. -+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) -+ ac_cs_recheck=: ;; -+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) -+ $as_echo "$ac_cs_version"; exit ;; -+ --config | --confi | --conf | --con | --co | --c ) -+ $as_echo "$ac_cs_config"; exit ;; -+ --debug | --debu | --deb | --de | --d | -d ) -+ debug=: ;; -+ --file | --fil | --fi | --f ) -+ $ac_shift -+ case $ac_optarg in -+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ '') as_fn_error $? "missing file argument" ;; -+ esac -+ as_fn_append CONFIG_FILES " '$ac_optarg'" -+ ac_need_defaults=false;; -+ --header | --heade | --head | --hea ) -+ $ac_shift -+ case $ac_optarg in -+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ esac -+ as_fn_append CONFIG_HEADERS " '$ac_optarg'" -+ ac_need_defaults=false;; -+ --he | --h) -+ # Conflict between --help and --header -+ as_fn_error $? "ambiguous option: \`$1' -+Try \`$0 --help' for more information.";; -+ --help | --hel | -h ) -+ $as_echo "$ac_cs_usage"; exit ;; -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil | --si | --s) -+ ac_cs_silent=: ;; + -+ # This is an error. -+ -*) as_fn_error $? "unrecognized option: \`$1' -+Try \`$0 --help' for more information." ;; +diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c +new file mode 100644 +index 000000000..0ad29029c +--- /dev/null ++++ b/libgloss/libsysbase/dirent.c +@@ -0,0 +1,255 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + -+ *) as_fn_append ac_config_targets " $1" -+ ac_need_defaults=false ;; ++static DIR_ITER * __diropen (const char *path) { ++ struct _reent *r = _REENT; ++ DIR_ITER *handle = NULL; ++ DIR_ITER *dir = NULL; ++ int dev; + -+ esac -+ shift -+done ++ dev = FindDevice(path); + -+ac_configure_extra_args= ++ if(dev!=-1) { ++ if(devoptab_list[dev]->diropen_r) { + -+if $ac_cs_silent; then -+ exec 6>/dev/null -+ ac_configure_extra_args="$ac_configure_extra_args --silent" -+fi ++ r->deviceData = devoptab_list[dev]->deviceData; + -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+if \$ac_cs_recheck; then -+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -+ shift -+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 -+ CONFIG_SHELL='$SHELL' -+ export CONFIG_SHELL -+ exec "\$@" -+fi ++ handle = (DIR_ITER *)malloc( sizeof(DIR_ITER) + devoptab_list[dev]->dirStateSize ); + -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+exec 5>>config.log -+{ -+ echo -+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -+## Running $as_me. ## -+_ASBOX -+ $as_echo "$ac_log" -+} >&5 ++ if ( NULL != handle ) { ++ handle->device = dev; ++ handle->dirStruct = ((void *)handle) + sizeof(DIR_ITER); + -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+# -+# INIT-COMMANDS -+# -+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" -+srcdir=${srcdir} -+target=${target} -+with_multisubdir=${with_multisubdir} -+ac_configure_args="${ac_configure_args} --enable-multilib" -+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+libgloss_topdir=${libgloss_topdir} ++ dir = devoptab_list[dev]->diropen_r(r, handle, path); + ++ if ( dir == NULL ) { ++ free (handle); ++ handle = NULL; ++ } ++ } else { ++ r->_errno = ENOSR; ++ handle = NULL; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } + -+_ACEOF ++ return handle; ++} + -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++static int __dirreset (DIR_ITER *dirState) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; + -+# Handling of arguments. -+for ac_config_target in $ac_config_targets -+do -+ case $ac_config_target in -+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; -+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; -+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ if (dirState != NULL) { ++ dev = dirState->device; + -+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; -+ esac -+done ++ if(devoptab_list[dev]->dirreset_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirreset_r(r, dirState); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; ++} + ++static int __dirnext (DIR_ITER *dirState, char *filename, struct stat *filestat) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; + -+# If the user did not use the arguments to specify the items to instantiate, -+# then the envvar interface is used. Set only those that are not. -+# We use the long form for the default assignment because of an extremely -+# bizarre bug on SunOS 4.1.3. -+if $ac_need_defaults; then -+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers -+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -+fi ++ if (dirState != NULL) { ++ dev = dirState->device; + -+# Have a temporary directory for convenience. Make it in the build tree -+# simply because there is no reason against having it here, and in addition, -+# creating and moving files from /tmp can sometimes cause problems. -+# Hook for its removal unless debugging. -+# Note that there is a small window in which the directory will not be cleaned: -+# after its creation but before its name has been assigned to `$tmp'. -+$debug || -+{ -+ tmp= ac_tmp= -+ trap 'exit_status=$? -+ : "${ac_tmp:=$tmp}" -+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -+' 0 -+ trap 'as_fn_exit 1' 1 2 13 15 ++ if(devoptab_list[dev]->dirnext_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirnext_r(r, dirState, filename, filestat); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; +} -+# Create a (secure) tmp directory for tmp files. + -+{ -+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && -+ test -d "$tmp" -+} || -+{ -+ tmp=./conf$$-$RANDOM -+ (umask 077 && mkdir "$tmp") -+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -+ac_tmp=$tmp ++static int __dirclose (DIR_ITER *dirState) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; + -+# Set up the scripts for CONFIG_FILES section. -+# No need to generate them if there are no CONFIG_FILES. -+# This happens for instance with `./config.status config.h'. -+if test -n "$CONFIG_FILES"; then ++ if (dirState != NULL) { ++ dev = dirState->device; + -+if $AWK 'BEGIN { getline <"/dev/null" }' /dev/null; then -+ ac_cs_awk_getline=: -+ ac_cs_awk_pipe_init= -+ ac_cs_awk_read_file=' -+ while ((getline aline < (F[key])) > 0) -+ print(aline) -+ close(F[key])' -+ ac_cs_awk_pipe_fini= -+else -+ ac_cs_awk_getline=false -+ ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\"" -+ ac_cs_awk_read_file=' -+ print "|#_!!_#|" -+ print "cat " F[key] " &&" -+ '$ac_cs_awk_pipe_init -+ # The final `:' finishes the AND list. -+ ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }' -+fi -+ac_cr=`echo X | tr X '\015'` -+# On cygwin, bash can eat \r inside `` if the user requested igncr. -+# But we know of no other shell where ac_cr would be empty at this -+# point, so we can use a bashism as a fallback. -+if test "x$ac_cr" = x; then -+ eval ac_cr=\$\'\\r\' -+fi -+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then -+ ac_cs_awk_cr='\\r' -+else -+ ac_cs_awk_cr=$ac_cr -+fi ++ if (devoptab_list[dev]->dirclose_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirclose_r (r, dirState); ++ } else { ++ r->_errno = ENOSYS; ++ } + -+echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -+_ACEOF ++ free (dirState); ++ } ++ return ret; ++} + -+# Create commands to substitute file output variables. -+{ -+ echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && -+ echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && -+ echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && -+ echo "_ACAWK" && -+ echo "_ACEOF" -+} >conf$$files.sh && -+. ./conf$$files.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+rm -f conf$$files.sh ++DIR* opendir (const char *dirname) { ++ DIR* dirp = malloc (sizeof(DIR)); ++ if (!dirp) { ++ errno = ENOMEM; ++ return NULL; ++ } + -+{ -+ echo "cat >conf$$subs.awk <<_ACEOF" && -+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && -+ echo "_ACEOF" -+} >conf$$subs.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -+ac_delim='%!_!# ' -+for ac_last_try in false false false false false :; do -+ . ./conf$$subs.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ dirp->dirData = __diropen (dirname); ++ if (!dirp->dirData) { ++ free (dirp); ++ return NULL; ++ } + -+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` -+ if test $ac_delim_n = $ac_delim_num; then -+ break -+ elif $ac_last_try; then -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ else -+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " -+ fi -+done -+rm -f conf$$subs.sh ++ dirp->position = 0; // 0th position means no file name has been returned yet ++ dirp->fileData.d_ino = -1; ++ dirp->fileData.d_name[0] = '\0'; + -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -+_ACEOF -+sed -n ' -+h -+s/^/S["/; s/!.*/"]=/ -+p -+g -+s/^[^!]*!// -+:repl -+t repl -+s/'"$ac_delim"'$// -+t delim -+:nl -+h -+s/\(.\{148\}\)..*/\1/ -+t more1 -+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -+p -+n -+b repl -+:more1 -+s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -+p -+g -+s/.\{148\}// -+t nl -+:delim -+h -+s/\(.\{148\}\)..*/\1/ -+t more2 -+s/["\\]/\\&/g; s/^/"/; s/$/"/ -+p -+b -+:more2 -+s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -+p -+g -+s/.\{148\}// -+t delim -+' >$CONFIG_STATUS || ac_write_fail=1 -+rm -f conf$$subs.awk -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+_ACAWK -+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && -+ for (key in S) S_is_set[key] = 1 -+ FS = "" -+ \$ac_cs_awk_pipe_init -+} -+{ -+ line = $ 0 -+ nfields = split(line, field, "@") -+ substed = 0 -+ len = length(field[1]) -+ for (i = 2; i < nfields; i++) { -+ key = field[i] -+ keylen = length(key) -+ if (S_is_set[key]) { -+ value = S[key] -+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) -+ len += length(value) + length(field[++i]) -+ substed = 1 -+ } else -+ len += 1 + keylen -+ } -+ if (nfields == 3 && !substed) { -+ key = field[2] -+ if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) { -+ \$ac_cs_awk_read_file -+ next -+ } -+ } -+ print line ++ return dirp; +} -+\$ac_cs_awk_pipe_fini -+_ACAWK -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then -+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -+else -+ cat -+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ -+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -+_ACEOF + -+# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -+# trailing colons and then remove the whole line if VPATH becomes empty -+# (actually we leave an empty line to preserve line numbers). -+if test "x$srcdir" = x.; then -+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -+h -+s/// -+s/^/:/ -+s/[ ]*$/:/ -+s/:\$(srcdir):/:/g -+s/:\${srcdir}:/:/g -+s/:@srcdir@:/:/g -+s/^:*// -+s/:*$// -+x -+s/\(=[ ]*\).*/\1/ -+G -+s/\n// -+s/^[^=]*=[ ]*$// -+}' -+fi + -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+fi # test -n "$CONFIG_FILES" ++int closedir (DIR *dirp) { ++ int res; + -+# Set up the scripts for CONFIG_HEADERS section. -+# No need to generate them if there are no CONFIG_HEADERS. -+# This happens for instance with `./config.status Makefile'. -+if test -n "$CONFIG_HEADERS"; then -+cat >"$ac_tmp/defines.awk" <<\_ACAWK || -+BEGIN { -+_ACEOF ++ if (!dirp) { ++ errno = EBADF; ++ return -1; ++ } + -+# Transform confdefs.h into an awk script `defines.awk', embedded as -+# here-document in config.status, that substitutes the proper values into -+# config.h.in to produce config.h. ++ res = __dirclose (dirp->dirData); ++ free (dirp); ++ return res; ++} + -+# Create a delimiter string that does not exist in confdefs.h, to ease -+# handling of long lines. -+ac_delim='%!_!# ' -+for ac_last_try in false false :; do -+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h` -+ if test -z "$ac_tt"; then -+ break -+ elif $ac_last_try; then -+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 -+ else -+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " -+ fi -+done + -+# For the awk script, D is an array of macro values keyed by name, -+# likewise P contains macro parameters if any. Preserve backslash -+# newline sequences. ++struct dirent* readdir (DIR *dirp) { ++ struct stat st; ++ char filename[NAME_MAX]; ++ int res; ++ int olderrno = errno; + -+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -+sed -n ' -+s/.\{148\}/&'"$ac_delim"'/g -+t rset -+:rset -+s/^[ ]*#[ ]*define[ ][ ]*/ / -+t def -+d -+:def -+s/\\$// -+t bsnl -+s/["\\]/\\&/g -+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -+D["\1"]=" \3"/p -+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -+d -+:bsnl -+s/["\\]/\\&/g -+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -+D["\1"]=" \3\\\\\\n"\\/p -+t cont -+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -+t cont -+d -+:cont -+n -+s/.\{148\}/&'"$ac_delim"'/g -+t clear -+:clear -+s/\\$// -+t bsnlc -+s/["\\]/\\&/g; s/^/"/; s/$/"/p -+d -+:bsnlc -+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -+b cont -+' >$CONFIG_STATUS || ac_write_fail=1 ++ if (!dirp) { ++ errno = EBADF; ++ return NULL; ++ } + -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ for (key in D) D_is_set[key] = 1 -+ FS = "" -+} -+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { -+ line = \$ 0 -+ split(line, arg, " ") -+ if (arg[1] == "#") { -+ defundef = arg[2] -+ mac1 = arg[3] -+ } else { -+ defundef = substr(arg[1], 2) -+ mac1 = arg[2] -+ } -+ split(mac1, mac2, "(") #) -+ macro = mac2[1] -+ prefix = substr(line, 1, index(line, defundef) - 1) -+ if (D_is_set[macro]) { -+ # Preserve the white space surrounding the "#". -+ print prefix "define", macro P[macro] D[macro] -+ next -+ } else { -+ # Replace #undef with comments. This is necessary, for example, -+ # in the case of _POSIX_SOURCE, which is predefined and required -+ # on some systems where configure will not decide to define it. -+ if (defundef == "undef") { -+ print "/*", prefix defundef, macro, "*/" -+ next -+ } -+ } -+} -+{ print } -+_ACAWK -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -+fi # test -n "$CONFIG_HEADERS" ++ res = __dirnext (dirp->dirData, filename, &st); + ++ if (res < 0) { ++ if (errno == ENOENT) { ++ // errno == ENONENT set by dirnext means it's end of directory ++ // But readdir should not touch errno in case of dir end ++ errno = olderrno; ++ } ++ return NULL; ++ } + -+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -+shift -+for ac_tag -+do -+ case $ac_tag in -+ :[FHLC]) ac_mode=$ac_tag; continue;; -+ esac -+ case $ac_mode$ac_tag in -+ :[FHL]*:*);; -+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; -+ :[FH]-) ac_tag=-:-;; -+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; -+ esac -+ ac_save_IFS=$IFS -+ IFS=: -+ set x $ac_tag -+ IFS=$ac_save_IFS -+ shift -+ ac_file=$1 -+ shift ++ // We've moved forward in the directory ++ dirp->position += 1; + -+ case $ac_mode in -+ :L) ac_source=$1;; -+ :[FH]) -+ ac_file_inputs= -+ for ac_f -+ do -+ case $ac_f in -+ -) ac_f="$ac_tmp/stdin";; -+ *) # Look for the file first in the build tree, then in the source tree -+ # (if the path is not absolute). The absolute path cannot be DOS-style, -+ # because $ac_f cannot contain `:'. -+ test -f "$ac_f" || -+ case $ac_f in -+ [\\/$]*) false;; -+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; -+ esac || -+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; -+ esac -+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac -+ as_fn_append ac_file_inputs " '$ac_f'" -+ done ++ if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { ++ errno = EOVERFLOW; ++ return NULL; ++ } + -+ # Let's still pretend it is `configure' which instantiates (i.e., don't -+ # use $as_me), people would be surprised to read: -+ # /* config.h. Generated by config.status. */ -+ configure_input='Generated from '` -+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' -+ `' by configure.' -+ if test x"$ac_file" != x-; then -+ configure_input="$ac_file. $configure_input" -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -+$as_echo "$as_me: creating $ac_file" >&6;} -+ fi -+ # Neutralize special characters interpreted by sed in replacement strings. -+ case $configure_input in #( -+ *\&* | *\|* | *\\* ) -+ ac_sed_conf_input=`$as_echo "$configure_input" | -+ sed 's/[\\\\&|]/\\\\&/g'`;; #( -+ *) ac_sed_conf_input=$configure_input;; -+ esac ++ strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); ++ dirp->fileData.d_ino = st.st_ino; ++ dirp->fileData.d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; + -+ case $ac_tag in -+ *:-:* | *:-) cat >"$ac_tmp/stdin" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; -+ esac -+ ;; -+ esac ++ return &(dirp->fileData); ++} + -+ ac_dir=`$as_dirname -- "$ac_file" || -+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$ac_file" : 'X\(//\)[^/]' \| \ -+ X"$ac_file" : 'X\(//\)$' \| \ -+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$ac_file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ as_dir="$ac_dir"; as_fn_mkdir_p -+ ac_builddir=. + -+case "$ac_dir" in -+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -+*) -+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` -+ # A ".." for each directory in $ac_dir_suffix. -+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` -+ case $ac_top_builddir_sub in -+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; -+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; -+ esac ;; -+esac -+ac_abs_top_builddir=$ac_pwd -+ac_abs_builddir=$ac_pwd$ac_dir_suffix -+# for backward compatibility: -+ac_top_builddir=$ac_top_build_prefix ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { ++ struct stat st; ++ char filename[NAME_MAX]; ++ int res; + -+case $srcdir in -+ .) # We are building in place. -+ ac_srcdir=. -+ ac_top_srcdir=$ac_top_builddir_sub -+ ac_abs_top_srcdir=$ac_pwd ;; -+ [\\/]* | ?:[\\/]* ) # Absolute name. -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir -+ ac_abs_top_srcdir=$srcdir ;; -+ *) # Relative name. -+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_top_build_prefix$srcdir -+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -+esac -+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ if (!dirp) { ++ return EBADF; ++ } + ++ res = __dirnext (dirp->dirData, filename, &st); + -+ case $ac_mode in -+ :F) -+ # -+ # CONFIG_FILE -+ # ++ if (res < 0) { ++ res = errno; ++ *result = NULL; ++ if (errno == ENOENT) { ++ // errno == ENONENT set by dirnext means it's end of directory ++ // But readdir should not touch errno in case of dir end ++ res = 0; ++ } ++ return res; ++ } + -+ case $INSTALL in -+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; -+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; -+ esac -+_ACEOF ++ // We've moved forward in the directory ++ dirp->position += 1; + -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# If the template does not know about datarootdir, expand it. -+# FIXME: This hack should be removed a few years after 2.60. -+ac_datarootdir_hack=; ac_datarootdir_seen= -+ac_sed_dataroot=' -+/datarootdir/ { -+ p -+ q ++ if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { ++ errno = EOVERFLOW; ++ return EOVERFLOW; ++ } ++ ++ strncpy (entry->d_name, filename, sizeof(entry->d_name)); ++ entry->d_ino = st.st_ino; ++ ++ *result = entry; ++ return 0; +} -+/@datadir@/p -+/@docdir@/p -+/@infodir@/p -+/@localedir@/p -+/@mandir@/p' -+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -+*datarootdir*) ac_datarootdir_seen=yes;; -+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ ac_datarootdir_hack=' -+ s&@datadir@&$datadir&g -+ s&@docdir@&$docdir&g -+ s&@infodir@&$infodir&g -+ s&@localedir@&$localedir&g -+ s&@mandir@&$mandir&g -+ s&\\\${datarootdir}&$datarootdir&g' ;; -+esac -+_ACEOF -+ -+# Neutralize VPATH when `$srcdir' = `.'. -+# Shell code in configure.ac might set extrasub. -+# FIXME: do we really want to maintain this feature? -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_sed_extra="$ac_vpsub -+$extrasub -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+:t -+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -+s|@configure_input@|$ac_sed_conf_input|;t t -+s&@top_builddir@&$ac_top_builddir_sub&;t t -+s&@top_build_prefix@&$ac_top_build_prefix&;t t -+s&@srcdir@&$ac_srcdir&;t t -+s&@abs_srcdir@&$ac_abs_srcdir&;t t -+s&@top_srcdir@&$ac_top_srcdir&;t t -+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -+s&@builddir@&$ac_builddir&;t t -+s&@abs_builddir@&$ac_abs_builddir&;t t -+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -+s&@INSTALL@&$ac_INSTALL&;t t -+$ac_datarootdir_hack -+" -+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | -+if $ac_cs_awk_getline; then -+ $AWK -f "$ac_tmp/subs.awk" -+else -+ $AWK -f "$ac_tmp/subs.awk" | $SHELL -+fi \ -+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ -+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && -+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && -+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ -+ "$ac_tmp/out"`; test -z "$ac_out"; } && -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&5 -+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&2;} -+ -+ rm -f "$ac_tmp/stdin" -+ case $ac_file in -+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; -+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; -+ esac \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ ;; -+ :H) -+ # -+ # CONFIG_HEADER -+ # -+ if test x"$ac_file" != x-; then -+ { -+ $as_echo "/* $configure_input */" \ -+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" -+ } >"$ac_tmp/config.h" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -+$as_echo "$as_me: $ac_file is unchanged" >&6;} -+ else -+ rm -f "$ac_file" -+ mv "$ac_tmp/config.h" "$ac_file" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ fi -+ else -+ $as_echo "/* $configure_input */" \ -+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ -+ || as_fn_error $? "could not create -" "$LINENO" 5 -+ fi -+ ;; + -+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -+$as_echo "$as_me: executing $ac_file commands" >&6;} -+ ;; -+ esac + ++void rewinddir (DIR *dirp) { ++ if (!dirp) { ++ return; ++ } + -+ case $ac_file$ac_mode in -+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # So let's grep whole file. -+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -+ dirpart=`$as_dirname -- "$mf" || -+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$mf" : 'X\(//\)[^/]' \| \ -+ X"$mf" : 'X\(//\)$' \| \ -+ X"$mf" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$mf" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ else -+ continue -+ fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`$as_dirname -- "$file" || -+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$file" : 'X\(//\)[^/]' \| \ -+ X"$file" : 'X\(//\)$' \| \ -+ X"$file" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ as_dir=$dirpart/$fdir; as_fn_mkdir_p -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done -+done -+ ;; -+ "Makefile":F) ac_file=Makefile . ${libgloss_topdir}/config-ml.in ;; ++ __dirreset (dirp->dirData); ++ dirp->position = 0; ++} + -+ esac -+done # for ac_tag + ++void seekdir(DIR *dirp, long int loc) { ++ char filename[NAME_MAX]; + -+as_fn_exit 0 -+_ACEOF -+ac_clean_files=$ac_clean_files_save ++ if (!dirp || loc < 0) { ++ return; ++ } + -+test $ac_write_fail = 0 || -+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 ++ if (dirp->position > loc) { ++ // The entry we want is before the one we have, ++ // so we have to start again from the begining ++ __dirreset (dirp->dirData); ++ dirp->position = 0; ++ } + ++ // Keep reading entries until we reach the one we want ++ while ((dirp->position < loc) && ++ (__dirnext (dirp->dirData, filename, NULL) >= 0)) ++ { ++ dirp->position += 1; ++ } ++} + -+# configure is writing to config.log, and then calls config.status. -+# config.status does its own redirection, appending to config.log. -+# Unfortunately, on DOS this fails, as config.log is still kept open -+# by configure, so config.status won't be able to write to it; its -+# output is simply discarded. So we exec the FD to /dev/null, -+# effectively closing config.log, so it can be properly (re)opened and -+# appended to by config.status. When coming back to configure, we -+# need to make the FD available again. -+if test "$no_create" != yes; then -+ ac_cs_success=: -+ ac_config_status_args= -+ test "$silent" = yes && -+ ac_config_status_args="$ac_config_status_args --quiet" -+ exec 5>/dev/null -+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false -+ exec 5>>config.log -+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which -+ # would make configure fail if this is the last instruction. -+ $ac_cs_success || as_fn_exit 1 -+fi -+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -+fi + ++long int telldir(DIR *dirp) { ++ if (!dirp) { ++ return -1; ++ } + ++ return dirp->position; ++} +diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c +new file mode 100644 +index 000000000..1c485b26f +--- /dev/null ++++ b/libgloss/libsysbase/environ.c +@@ -0,0 +1,6 @@ ++/* ++ * Version of environ for no OS. ++ */ + -diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in ++char *__env[1] = { 0 }; ++char **environ = __env; +diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c new file mode 100644 -index 000000000..d15eab89d +index 000000000..0f192e582 --- /dev/null -+++ b/libgloss/libsysbase/configure.in -@@ -0,0 +1,202 @@ -+# Copyright (c) 1995, 1996 Cygnus Support -+# -+# The authors hereby grant permission to use, copy, modify, distribute, -+# and license this software and its documentation for any purpose, provided -+# that existing copyright notices are retained in all copies and that this -+# notice is included verbatim in any distributions. No written agreement, -+# license, or royalty fee is required for any of the authorized uses. -+# Modifications to this software may be copyrighted by their authors -+# and need not follow the licensing terms described here, provided that -+# the new terms are clearly indicated on the first page of each file where -+# they apply. -+# -+# Process this file with autoconf to produce a configure script. -+# -+AC_PREREQ(2.59) -+AC_INIT(abort.c) -+AC_CONFIG_HEADER(config.h) ++++ b/libgloss/libsysbase/execve.c +@@ -0,0 +1,16 @@ ++/* ++ * Stub version of execve. ++ */ + -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" -+fi ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include + -+if test "$srcdir" = "." ; then -+ if test "${with_target_subdir}" != "." ; then -+ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." -+ else -+ libgloss_topdir="${srcdir}/${with_multisrctop}../.." -+ fi -+else -+ libgloss_topdir="${srcdir}/../.." -+fi -+AC_CONFIG_AUX_DIR($libgloss_topdir) ++//--------------------------------------------------------------------------------- ++int _execve_r( struct _reent * r, char *name, char **argv, char **env) { ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return -1; ++} + -+AC_CANONICAL_SYSTEM -+AC_ARG_PROGRAM +diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c +new file mode 100644 +index 000000000..5c5831cdf +--- /dev/null ++++ b/libgloss/libsysbase/fchmod.c +@@ -0,0 +1,31 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include + -+AC_PROG_INSTALL ++#include + -+AC_DEFINE(HAVE_GNU_LD) -+dnl Make sure syscall names match those being used by newlib -+case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ arc-*-*) -+ ;; -+ arm-*-eabi) -+ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) -+ ;; -+ arm*-*-*) -+ ;; -+ bfin-*-*) -+ ;; -+ cris-*-* | crisv32-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i[3456]86-*-sco*) -+ ;; -+ lm32-*-*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpc-*-eabi) -+ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ v850*-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ AC_DEFINE(MISSING_SYSCALL_NAMES) -+ ;; -+esac ++int fchmod(int fd, mode_t mode) { ++ int ret = -1, dev; ++ struct _reent *r = _REENT; + -+dnl Make sure we know if elf format used -+case "${target}" in -+ *-*-elf) -+ AC_DEFINE(HAVE_ELF) ++ if(fd!=-1) { + -+ AC_CACHE_CHECK([for .previous assembler directive], -+ libc_cv_asm_previous_directive, [dnl -+ libc_cv_asm_previous_directive=no -+ cat > conftest.s <&AC_FD_CC); then -+ libc_cv_asm_previous_directive=yes -+ fi -+ rm -f conftest*]) ++ __handle *handle = __get_handle(fd); + -+ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then -+ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) -+ fi ++ if ( handle != NULL) { + -+ AC_CACHE_CHECK([for .popsection assembler directive], -+ libc_cv_asm_popsection_directive, [dnl -+ libc_cv_asm_popsection_directive=no -+ cat > conftest.s <&AC_FD_CC); then -+ libc_cv_asm_popsection_directive=yes -+ fi -+ rm -f conftest*]) ++ dev = handle->device; + -+ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then -+ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) -+ fi ++ if(devoptab_list[dev]->fchmod_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fchmod_r(r,handle->fileStruct,mode); ++ } else ++ r->_errno=ENOSYS; ++ } ++ } ++ return ret; ++} +diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c +new file mode 100644 +index 000000000..2bada9736 +--- /dev/null ++++ b/libgloss/libsysbase/fork.c +@@ -0,0 +1,15 @@ ++/* ++ * Stub version of fork. ++ */ + -+ AC_CACHE_CHECK([for section attributes], -+ libc_cv_section_attributes, [dnl -+ libc_cv_section_attributes=no -+ cat > conftest.c <&AC_FD_CC); then -+ libc_cv_section_attributes=yes -+ fi -+ rm -f conftest*]) -+ if test "x${libc_cv_section_attributes}" = "xyes"; then -+ AC_DEFINE(HAVE_SECTION_ATTRIBUTES) -+ fi -+ ;; -+esac ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include + -+AC_CACHE_CHECK([for symbol prefix], libc_cv_symbol_prefix, [dnl -+cat > conftest.c <<\EOF -+foo () { } -+EOF -+dnl -+libc_cv_symbol_prefix=none -+if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); -+then -+ libc_cv_symbol_prefix='$' -+else -+ if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]); -+ then -+ libc_cv_symbol_prefix=_ -+ fi -+fi -+rm -f conftest* ]) -+if test $libc_cv_symbol_prefix != none; then -+ AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_cv_symbol_prefix") -+else -+ AC_DEFINE(__SYMBOL_PREFIX, "") -+fi ++//--------------------------------------------------------------------------------- ++int _fork_r(struct _reent * r) { ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return -1; ++} +diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c +new file mode 100644 +index 000000000..32267b828 +--- /dev/null ++++ b/libgloss/libsysbase/fstat.c +@@ -0,0 +1,32 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include + -+LIB_AC_PROG_CC -+AS=${AS-as} -+AC_SUBST(AS) -+AR=${AR-ar} -+AC_SUBST(AR) -+LD=${LD-ld} -+AC_SUBST(LD) -+AC_PROG_RANLIB -+LIB_AM_PROG_AS ++//--------------------------------------------------------------------------------- ++int _fstat_r(struct _reent * r, int fileDesc, struct stat *st) { ++//--------------------------------------------------------------------------------- ++ int ret = -1; ++ unsigned int dev = 0; + -+host_makefile_frag=${srcdir}/../config/default.mh ++ __handle * handle = NULL; + -+dnl We have to assign the same value to other variables because autoconf -+dnl doesn't provide a mechanism to substitute a replacement keyword with -+dnl arbitrary data or pathnames. -+dnl -+host_makefile_frag_path=$host_makefile_frag -+AC_SUBST(host_makefile_frag_path) -+AC_SUBST_FILE(host_makefile_frag) ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); + -+AC_CONFIG_FILES(Makefile, -+ac_file=Makefile . ${libgloss_topdir}/config-ml.in, -+srcdir=${srcdir} -+target=${target} -+with_multisubdir=${with_multisubdir} -+ac_configure_args="${ac_configure_args} --enable-multilib" -+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+libgloss_topdir=${libgloss_topdir} -+) -+AC_OUTPUT ++ if ( NULL == handle ) return ret; + ++ dev = handle->device; + -diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c ++ if(devoptab_list[dev]->fstat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fstat_r(r,handle->fileStruct,st); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } ++ return ret; ++} +diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c new file mode 100644 -index 000000000..482d2f814 +index 000000000..fb06cb6d1 --- /dev/null -+++ b/libgloss/libsysbase/dirent.c -@@ -0,0 +1,257 @@ -+#include ++++ b/libgloss/libsysbase/fsync.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include +#include -+#include -+#include -+#include -+#include -+#include ++#include ++ +#include + -+static DIR_ITER * __diropen (const char *path) { ++int fsync(int fileDesc ) { ++ int ret = -1; ++ unsigned int dev = 0; ++ unsigned int fd = -1; + struct _reent *r = _REENT; -+ DIR_ITER *handle = NULL; -+ DIR_ITER *dir = NULL; -+ int dev; -+ -+ dev = FindDevice(path); -+ -+ if(dev!=-1) { -+ if(devoptab_list[dev]->diropen_r) { + -+ r->deviceData = devoptab_list[dev]->deviceData; ++ __handle * handle; + -+ handle = (DIR_ITER *)malloc( sizeof(DIR_ITER) + devoptab_list[dev]->dirStateSize ); ++ handle = __get_handle(fileDesc); + -+ if ( NULL != handle ) { -+ handle->device = dev; -+ handle->dirStruct = ((void *)handle) + sizeof(DIR_ITER); ++ if ( NULL == handle ) { ++ errno = EINVAL; ++ return ret; ++ } + -+ dir = devoptab_list[dev]->diropen_r(r, handle, path); ++ dev = handle->device; + -+ if ( dir == NULL ) { -+ free (handle); -+ handle = NULL; -+ } -+ } else { -+ r->_errno = ENOSR; -+ handle = NULL; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = ENODEV; -+ } ++ if(devoptab_list[dev]->fsync_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fsync_r(r, handle->fileStruct); ++ } else ++ r->_errno=ENOSYS; + -+ return handle; ++ return ret; +} +diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c +new file mode 100644 +index 000000000..0cd7d0fc4 +--- /dev/null ++++ b/libgloss/libsysbase/ftruncate.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include + -+static int __dirreset (DIR_ITER *dirState) { -+ struct _reent *r = _REENT; ++#include ++ ++int ftruncate(int fileDesc, off_t len) { + int ret = -1; -+ int dev = 0; ++ unsigned int dev = 0; ++ unsigned int fd = -1; ++ struct _reent *r = _REENT; + -+ if (dirState != NULL) { -+ dev = dirState->device; ++ __handle * handle; + -+ if(devoptab_list[dev]->dirreset_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirreset_r(r, dirState); -+ } else { -+ r->_errno = ENOSYS; -+ } ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) { ++ r->_errno = EINVAL; ++ return ret; + } -+ return ret; -+} + -+static int __dirnext (DIR_ITER *dirState, char *filename, struct stat *filestat) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; ++ dev = handle->device; + -+ if (dirState != NULL) { -+ dev = dirState->device; ++ if(devoptab_list[dev]->ftruncate_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); ++ } else ++ r->_errno=ENOSYS; + -+ if(devoptab_list[dev]->dirnext_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirnext_r(r, dirState, filename, filestat); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } + return ret; +} +diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c +new file mode 100644 +index 000000000..c834c4c94 +--- /dev/null ++++ b/libgloss/libsysbase/getpid.c +@@ -0,0 +1,12 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include + -+static int __dirclose (DIR_ITER *dirState) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; ++//--------------------------------------------------------------------------------- ++int _getpid_r(struct _reent *ptr) { ++//--------------------------------------------------------------------------------- ++ ptr->_errno = ENOSYS; ++ return -1; ++} + -+ if (dirState != NULL) { -+ dev = dirState->device; +diff --git a/libgloss/libsysbase/getreent.c b/libgloss/libsysbase/getreent.c +new file mode 100644 +index 000000000..a3f1e98a9 +--- /dev/null ++++ b/libgloss/libsysbase/getreent.c +@@ -0,0 +1,20 @@ + -+ if (devoptab_list[dev]->dirclose_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirclose_r (r, dirState); -+ } else { -+ r->_errno = ENOSYS; -+ } ++/* default reentrant pointer when multithread enabled */ + -+ free (dirState); -+ } -+ return ret; -+} ++#include <_ansi.h> ++#include ++#include + -+DIR* opendir (const char *dirname) { -+ DIR* dirp = malloc (sizeof(DIR)); -+ if (!dirp) { -+ errno = ENOMEM; -+ return NULL; -+ } ++#ifdef __getreent ++#undef __getreent ++#endif + -+ dirp->dirData = __diropen (dirname); -+ if (!dirp->dirData) { -+ free (dirp); -+ return NULL; ++struct _reent *__getreent() { ++ if ( __has_syscall(getreent) ) { ++ return __syscall_getreent(); ++ } else { ++ return _impure_ptr; + } -+ -+ dirp->position = 0; // 0th position means no file name has been returned yet -+ dirp->fileData.d_ino = -1; -+ dirp->fileData.d_type = DT_UNKNOWN; -+ dirp->fileData.d_name[0] = '\0'; -+ -+ return dirp; +} + + -+int closedir (DIR *dirp) { -+ int res; +diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c +new file mode 100644 +index 000000000..0606a1204 +--- /dev/null ++++ b/libgloss/libsysbase/gettod.c +@@ -0,0 +1,18 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include + -+ if (!dirp) { -+ errno = EBADF; -+ return -1; -+ } ++//--------------------------------------------------------------------------------- ++int _gettimeofday_r( struct _reent *ptr, struct timeval *ptimeval, void *ptimezone) { ++//--------------------------------------------------------------------------------- ++ if ( __has_syscall(gettod_r) ) return __syscall_gettod_r(ptr, ptimeval, ptimezone); ++ ++ ptr->_errno = ENOSYS; ++ return -1; + -+ res = __dirclose (dirp->dirData); -+ free (dirp); -+ return res; +} + +diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c +new file mode 100644 +index 000000000..45d5cf77c +--- /dev/null ++++ b/libgloss/libsysbase/handle_manager.c +@@ -0,0 +1,222 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include + -+struct dirent* readdir (DIR *dirp) { -+ struct stat st; -+ char filename[NAME_MAX+1]; -+ int res; -+ int olderrno = errno; ++#include + -+ if (!dirp) { -+ errno = EBADF; -+ return NULL; -+ } ++#define MAX_HANDLES 1024 + -+ res = __dirnext (dirp->dirData, filename, &st); ++static __handle __stdin_handle = {0, 1, NULL}; ++static __handle __stdout_handle = {1, 1, NULL}; ++static __handle __stderr_handle = {2, 1, NULL}; + -+ if (res < 0) { -+ if (errno == ENOENT) { -+ // errno == ENONENT set by dirnext means it's end of directory -+ // But readdir should not touch errno in case of dir end -+ errno = olderrno; -+ } -+ return NULL; -+ } ++static __handle* handles[MAX_HANDLES] = { ++ &__stdin_handle, ++ &__stdout_handle, ++ &__stderr_handle ++}; + -+ // We've moved forward in the directory -+ dirp->position += 1; ++__LOCK_INIT(static, __hndl_lock); ++ ++static void __free_handle(__handle *handle) { ++ ++ if ( NULL != handle ++ && handle != &__stdin_handle ++ && handle != &__stdout_handle ++ && handle != &__stderr_handle ) { ++ ++ free(handle); + -+ if (strnlen(filename, sizeof(filename)) >= sizeof(dirp->fileData.d_name)) { -+ errno = EOVERFLOW; -+ return NULL; + } + -+ strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); -+ dirp->fileData.d_ino = st.st_ino; -+ dirp->fileData.d_type = IFTODT(st.st_mode); ++} ++ ++void __release_handle(int fd) { ++ ++ if ( fd <0 || fd >= MAX_HANDLES ) return; ++ ++ __lock_acquire (__hndl_lock); ++ ++ __free_handle(handles[fd]); ++ handles[fd] = NULL; ++ ++ __lock_release (__hndl_lock); + -+ return &(dirp->fileData); +} + ++int __alloc_handle(int device) { + -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { -+ struct stat st; -+ char filename[NAME_MAX+1]; -+ int res; ++ int i, ret = -1; + -+ if (!dirp) { -+ return EBADF; ++ __lock_acquire (__hndl_lock); ++ ++ for ( i = 0; i < MAX_HANDLES; i++ ) { ++ if ( handles[i] == NULL ) break; + } + -+ res = __dirnext (dirp->dirData, filename, &st); ++ size_t size = sizeof(__handle) + devoptab_list[device]->structSize; ++ ++ if ( i < MAX_HANDLES ) { ++ handles[i] = malloc(size); ++ __handle *handle = handles[i]; ++ if ( NULL != handles[i] ) { ++ ++ handles[i]->refcount = 1; ++ ret = i; ++ handles[i]->device = device; ++ handles[i]->fileStruct = (void *)&handle[1]; ++ ++ } else { ++ ++ errno = ENOMEM; + -+ if (res < 0) { -+ res = errno; -+ *result = NULL; -+ if (errno == ENOENT) { -+ // errno == ENONENT set by dirnext means it's end of directory -+ // But readdir should not touch errno in case of dir end -+ res = 0; + } -+ return res; -+ } ++ } else { + -+ // We've moved forward in the directory -+ dirp->position += 1; ++ errno = ENFILE; + -+ if (strnlen(filename, sizeof(filename)) >= sizeof(entry->d_name)) { -+ errno = EOVERFLOW; -+ return EOVERFLOW; + } + -+ strncpy (entry->d_name, filename, sizeof(entry->d_name)); -+ entry->d_ino = st.st_ino; -+ entry->d_type = IFTODT(st.st_mode); ++ __lock_release (__hndl_lock); + -+ *result = entry; -+ return 0; ++ return ret; +} + ++__handle *__get_handle(int fd) { + -+void rewinddir (DIR *dirp) { -+ if (!dirp) { -+ return; -+ } ++ if ( fd < 0 || fd >= MAX_HANDLES ) return NULL; + -+ __dirreset (dirp->dirData); -+ dirp->position = 0; ++ __lock_acquire (__hndl_lock); ++ __handle *handle = handles[fd]; ++ __lock_release (__hndl_lock); ++ ++ return handle; +} + ++int dup(int oldfd) { ++ int i, ret =-1; + -+void seekdir(DIR *dirp, long int loc) { -+ char filename[NAME_MAX+1]; ++ __lock_acquire (__hndl_lock); + -+ if (!dirp || loc < 0) { -+ return; ++ if (handles[oldfd]==NULL) { ++ __lock_release (__hndl_lock); ++ errno = EBADF; ++ return -1; + } + -+ if (dirp->position > loc) { -+ // The entry we want is before the one we have, -+ // so we have to start again from the begining -+ __dirreset (dirp->dirData); -+ dirp->position = 0; ++ ++ for ( i = 0; i < MAX_HANDLES; i++ ) { ++ if ( handles[i] == NULL ) break; + } + -+ // Keep reading entries until we reach the one we want -+ while ((dirp->position < loc) && -+ (__dirnext (dirp->dirData, filename, NULL) >= 0)) -+ { -+ dirp->position += 1; ++ if (irefcount++; ++ ret = i; + } ++ __lock_release (__hndl_lock); ++ ++ return ret; ++ +} + ++int dup2(int oldfd, int newfd) { ++ ++ if ( newfd < 0 || newfd >= MAX_HANDLES || ++ oldfd < 0 || oldfd >= MAX_HANDLES) { ++ ++ errno = EBADF; + -+long int telldir(DIR *dirp) { -+ if (!dirp) { + return -1; + } + -+ return dirp->position; -+} -diff --git a/libgloss/libsysbase/dummy.c b/libgloss/libsysbase/dummy.c -new file mode 100644 -index 000000000..e69de29bb -diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c -new file mode 100644 -index 000000000..1c485b26f ---- /dev/null -+++ b/libgloss/libsysbase/environ.c -@@ -0,0 +1,6 @@ -+/* -+ * Version of environ for no OS. -+ */ ++ if ( newfd == oldfd ) { ++ return newfd; ++ } + -+char *__env[1] = { 0 }; -+char **environ = __env; -diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c -new file mode 100644 -index 000000000..0f192e582 ---- /dev/null -+++ b/libgloss/libsysbase/execve.c -@@ -0,0 +1,16 @@ -+/* -+ * Stub version of execve. -+ */ ++ __lock_acquire (__hndl_lock); + -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include ++ if ( handles[oldfd] == NULL ) { ++ __lock_release (__hndl_lock); ++ errno = EBADF; + -+//--------------------------------------------------------------------------------- -+int _execve_r( struct _reent * r, char *name, char **argv, char **env) { -+//--------------------------------------------------------------------------------- -+ r->_errno = ENOSYS; -+ return -1; -+} ++ return -1; ++ } + -diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c -new file mode 100644 -index 000000000..5c5831cdf ---- /dev/null -+++ b/libgloss/libsysbase/fchmod.c -@@ -0,0 +1,31 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include ++ __handle *handle = handles[newfd]; + -+#include ++ handles[newfd] = handles[oldfd]; ++ handles[newfd]->refcount++; + -+int fchmod(int fd, mode_t mode) { -+ int ret = -1, dev; -+ struct _reent *r = _REENT; ++ if ( handle ) { + -+ if(fd!=-1) { ++ int ref = --handle->refcount; ++ __lock_release (__hndl_lock); + -+ __handle *handle = __get_handle(fd); ++ if ( ref == 0 ) { + -+ if ( handle != NULL) { ++ if ( devoptab_list[handle->device]->close_r ) { + -+ dev = handle->device; ++ _REENT->deviceData = devoptab_list[handle->device]->deviceData; ++ devoptab_list[handle->device]->close_r(_REENT,handle->fileStruct); + -+ if(devoptab_list[dev]->fchmod_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fchmod_r(r,handle->fileStruct,mode); -+ } else -+ r->_errno=ENOSYS; ++ } ++ ++ __free_handle(handle); + } ++ ++ } else { ++ ++ __lock_release (__hndl_lock); ++ + } -+ return ret; ++ ++ return newfd; +} -diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c -new file mode 100644 -index 000000000..8a66cd19f ---- /dev/null -+++ b/libgloss/libsysbase/flock.c -@@ -0,0 +1,22 @@ -+#include -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#ifndef REENTRANT_SYSCALLS_PROVIDED -+#include -+#endif -+#include -+#include + -+void __flockfile(FILE *fp) -+{ -+ __lock_acquire_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); -+} ++//--------------------------------------------------------------------------------- ++int _close_r(struct _reent *ptr, int fd) { ++//--------------------------------------------------------------------------------- ++ int ret = 0; + -+void __funlockfile(FILE *fp) -+{ -+ __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); -+} ++ if (fd < 0 || fd >= MAX_HANDLES) { + -diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c -new file mode 100644 -index 000000000..893b662ab ---- /dev/null -+++ b/libgloss/libsysbase/fnmatch.c -@@ -0,0 +1,201 @@ -+/* -+ * Copyright (c) 1989, 1993, 1994 -+ * The Regents of the University of California. All rights reserved. -+ * -+ * This code is derived from software contributed to Berkeley by -+ * Guido van Rossum. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. All advertising materials mentioning features or use of this software -+ * must display the following acknowledgement: -+ * This product includes software developed by the University of -+ * California, Berkeley and its contributors. -+ * 4. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ * -+ * From FreeBSD fnmatch.c 1.11 -+ * $Id: fnmatch.c,v 1.3 1997/08/19 02:34:30 jdp Exp $ -+ */ ++ ptr->_errno = EBADF; ++ return -1; + -+#define _GNU_SOURCE ++ } + -+#if defined(LIBC_SCCS) && !defined(lint) -+static char sccsid[] = "@(#)fnmatch.c 8.2 (Berkeley) 4/16/94"; -+#endif /* LIBC_SCCS and not lint */ ++ __lock_acquire (__hndl_lock); + -+/* -+ * Function fnmatch() as specified in POSIX 1003.2-1992, section B.6. -+ * Compares a filename or pathname to a pattern. -+ */ ++ __handle *handle = handles[fd]; + -+#include -+#include -+#include ++ if ( !handle ) { + -+#include "fnmatch.h" ++ __lock_release (__hndl_lock); ++ ptr->_errno = EBADF; ++ return -1; + -+#define EOS '\0' ++ } + -+static const char *rangematch(const char *, char, int); ++ int ref = --handle->refcount; ++ handles[fd] = NULL; + -+int -+fnmatch(const char *pattern, const char *string, int flags) -+{ -+ const char *stringstart; -+ char c, test; ++ __lock_release (__hndl_lock); + -+ for (stringstart = string;;) -+ switch (c = *pattern++) { -+ case EOS: -+ if ((flags & FNM_LEADING_DIR) && *string == '/') -+ return (0); -+ return (*string == EOS ? 0 : FNM_NOMATCH); -+ case '?': -+ if (*string == EOS) -+ return (FNM_NOMATCH); -+ if (*string == '/' && (flags & FNM_PATHNAME)) -+ return (FNM_NOMATCH); -+ if (*string == '.' && (flags & FNM_PERIOD) && -+ (string == stringstart || -+ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) -+ return (FNM_NOMATCH); -+ ++string; -+ break; -+ case '*': -+ c = *pattern; -+ /* Collapse multiple stars. */ -+ while (c == '*') -+ c = *++pattern; ++ if ( ref == 0 ) { + -+ if (*string == '.' && (flags & FNM_PERIOD) && -+ (string == stringstart || -+ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) -+ return (FNM_NOMATCH); ++ if ( devoptab_list[handle->device]->close_r ) { + -+ /* Optimize for pattern with * at end or before /. */ -+ if (c == EOS) -+ if (flags & FNM_PATHNAME) -+ return ((flags & FNM_LEADING_DIR) || -+ strchr(string, '/') == NULL ? -+ 0 : FNM_NOMATCH); -+ else -+ return (0); -+ else if (c == '/' && flags & FNM_PATHNAME) { -+ if ((string = strchr(string, '/')) == NULL) -+ return (FNM_NOMATCH); -+ break; -+ } ++ ptr->deviceData = devoptab_list[handle->device]->deviceData; ++ ret = devoptab_list[handle->device]->close_r(ptr,handle->fileStruct); + -+ /* General case, use recursion. */ -+ while ((test = *string) != EOS) { -+ if (!fnmatch(pattern, string, flags & ~FNM_PERIOD)) -+ return (0); -+ if (test == '/' && flags & FNM_PATHNAME) -+ break; -+ ++string; -+ } -+ return (FNM_NOMATCH); -+ case '[': -+ if (*string == EOS) -+ return (FNM_NOMATCH); -+ if (*string == '/' && flags & FNM_PATHNAME) -+ return (FNM_NOMATCH); -+ if ((pattern = -+ rangematch(pattern, *string, flags)) == NULL) -+ return (FNM_NOMATCH); -+ ++string; -+ break; -+ case '\\': -+ if (!(flags & FNM_NOESCAPE)) { -+ if ((c = *pattern++) == EOS) { -+ c = '\\'; -+ --pattern; -+ } -+ } -+ /* FALLTHROUGH */ -+ default: -+ if (c == *string) -+ ; -+ else if ((flags & FNM_CASEFOLD) && -+ (tolower((unsigned char)c) == -+ tolower((unsigned char)*string))) -+ ; -+ else if ((flags & FNM_PREFIX_DIRS) && *string == EOS && -+ ((c == '/' && string != stringstart) || -+ (string == stringstart+1 && *stringstart == '/'))) -+ return (0); -+ else -+ return (FNM_NOMATCH); -+ string++; -+ break; + } -+ /* NOTREACHED */ -+} + -+static const char * -+rangematch(const char *pattern, char test, int flags) -+{ -+ int negate, ok; -+ char c, c2; ++ __free_handle(handle); ++ } + -+ /* -+ * A bracket expression starting with an unquoted circumflex -+ * character produces unspecified results (IEEE 1003.2-1992, -+ * 3.13.2). This implementation treats it like '!', for -+ * consistency with the regular expression syntax. -+ * J.T. Conklin (conklin@ngai.kaleida.com) -+ */ -+ if ( (negate = (*pattern == '!' || *pattern == '^')) ) -+ ++pattern; ++ return ret; ++} +diff --git a/libgloss/libsysbase/handle_manager.h b/libgloss/libsysbase/handle_manager.h +new file mode 100644 +index 000000000..5e81c5d42 +--- /dev/null ++++ b/libgloss/libsysbase/handle_manager.h +@@ -0,0 +1,10 @@ ++#ifndef __HANDLE_MANAGER_H__ ++#define __HANDLE_MANAGER_H__ + -+ if (flags & FNM_CASEFOLD) -+ test = tolower((unsigned char)test); ++#include + -+ for (ok = 0; (c = *pattern++) != ']';) { -+ if (c == '\\' && !(flags & FNM_NOESCAPE)) -+ c = *pattern++; -+ if (c == EOS) -+ return (NULL); ++void __release_handle(int fd); ++int __alloc_handle(int device); ++__handle *__get_handle(int fd); + -+ if (flags & FNM_CASEFOLD) -+ c = tolower((unsigned char)c); ++#endif +diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c +new file mode 100644 +index 000000000..948c6ef93 +--- /dev/null ++++ b/libgloss/libsysbase/iosupport.c +@@ -0,0 +1,140 @@ ++#include ++#include ++#include ++#include + -+ if (*pattern == '-' -+ && (c2 = *(pattern+1)) != EOS && c2 != ']') { -+ pattern += 2; -+ if (c2 == '\\' && !(flags & FNM_NOESCAPE)) -+ c2 = *pattern++; -+ if (c2 == EOS) -+ return (NULL); ++static int defaultDevice = -1; + -+ if (flags & FNM_CASEFOLD) -+ c2 = tolower((unsigned char)c2); ++//--------------------------------------------------------------------------------- ++void setDefaultDevice( int device ) { ++//--------------------------------------------------------------------------------- + -+ if ((unsigned char)c <= (unsigned char)test && -+ (unsigned char)test <= (unsigned char)c2) -+ ok = 1; -+ } else if (c == test) -+ ok = 1; -+ } -+ return (ok == negate ? NULL : pattern); ++ if ( device >2 && device <= STD_MAX) ++ defaultDevice = device; +} -diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c ++ ++//--------------------------------------------------------------------------------- ++static ssize_t null_write(struct _reent *r,void *fd,const char *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ return len; ++} ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t dotab_stdnull = { ++//--------------------------------------------------------------------------------- ++ "stdnull", // device name ++ 0, // size of file structure ++ NULL, // device open ++ NULL, // device close ++ null_write, // device write ++ NULL, // device read ++ NULL, // device seek ++ NULL, // device fstat ++ NULL, // device stat ++ NULL, // device link ++ NULL, // device unlink ++ NULL, // device chdir ++ NULL, // device rename ++ NULL, // device mkdir ++ 0, // dirStateSize ++ NULL, // device diropen_r ++ NULL, // device dirreset_r ++ NULL, // device dirnext_r ++ NULL, // device dirclose_r ++ NULL, // device statvfs_r ++ NULL, // device ftruncate_r ++ NULL, // device fsync_r ++ NULL, // deviceData ++ NULL, // chmod_r ++ NULL, // fchmod_r ++ NULL, // rmdir_r ++ NULL, // lstat_r ++ NULL, // utimes_r ++}; ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t *devoptab_list[STD_MAX] = { ++//--------------------------------------------------------------------------------- ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull ++}; ++ ++//--------------------------------------------------------------------------------- ++int FindDevice(const char* name) { ++//--------------------------------------------------------------------------------- ++ int i = 0, namelen, dev_namelen, dev = -1; ++ char *separator; ++ ++ separator = strchr(name, ':'); ++ ++ if (separator == NULL) return defaultDevice; ++ ++ dev_namelen = separator - name; ++ ++ while(iname); ++ if(dev_namelen == namelen && strncmp(devoptab_list[i]->name,name,namelen)==0 ) { ++ if ( name[namelen] == ':' || (isdigit(name[namelen]) && name[namelen+1] ==':' )) { ++ dev = i; ++ break; ++ } ++ } ++ } ++ i++; ++ } ++ ++ return dev; ++} ++ ++//--------------------------------------------------------------------------------- ++int RemoveDevice( const char* name) { ++//--------------------------------------------------------------------------------- ++ int dev = FindDevice(name); ++ ++ if ( -1 != dev ) { ++ devoptab_list[dev] = &dotab_stdnull; ++ return 0; ++ } ++ ++ return -1; ++ ++} ++ ++//--------------------------------------------------------------------------------- ++int AddDevice( const devoptab_t* device) { ++//--------------------------------------------------------------------------------- ++ ++ int devnum; ++ ++ for ( devnum = 3;devnum name, device->name) && ++ strlen(devoptab_list[devnum]->name) == strlen(device->name) ) || ++ !strcmp(devoptab_list[devnum]->name, "stdnull") ++ ) ++ break; ++ } ++ ++ if ( devnum == STD_MAX ) { ++ devnum = -1; ++ } else { ++ devoptab_list[devnum] = device; ++ } ++ return devnum; ++} ++ ++//--------------------------------------------------------------------------------- ++const devoptab_t* GetDeviceOpTab (const char *name) { ++//--------------------------------------------------------------------------------- ++ int dev = FindDevice(name); ++ if (dev >= 0 && dev < STD_MAX) { ++ return devoptab_list[dev]; ++ } else { ++ return NULL; ++ } ++} ++ ++ +diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c new file mode 100644 -index 000000000..2bada9736 +index 000000000..2901f1474 --- /dev/null -+++ b/libgloss/libsysbase/fork.c ++++ b/libgloss/libsysbase/isatty.c +@@ -0,0 +1,10 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++int _isatty_r( struct _reent *ptr, int file) { ++//--------------------------------------------------------------------------------- ++ return 0; ++} +diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c +new file mode 100644 +index 000000000..a7f10c0c5 +--- /dev/null ++++ b/libgloss/libsysbase/kill.c @@ -0,0 +1,15 @@ +/* -+ * Stub version of fork. ++ * Stub version of kill. + */ + +#include "config.h" @@ -6969,645 +6009,861 @@ index 000000000..2bada9736 +#include + +//--------------------------------------------------------------------------------- -+int _fork_r(struct _reent * r) { ++int _kill_r( struct _reent *ptr, int pid, int sig) { +//--------------------------------------------------------------------------------- -+ r->_errno = ENOSYS; -+ return -1; ++ ptr->_errno = ENOSYS; ++ return -1; +} -diff --git a/libgloss/libsysbase/fpathconf.c b/libgloss/libsysbase/fpathconf.c +diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c new file mode 100644 -index 000000000..453f64870 +index 000000000..d7a988359 --- /dev/null -+++ b/libgloss/libsysbase/fpathconf.c ++++ b/libgloss/libsysbase/link.c @@ -0,0 +1,30 @@ -+#include -+#include -+#include -+#include ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> +#include ++#include +#include + -+long fpathconf(int fd, int name) -+{ -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle = __get_handle(fd); -+ struct _reent *r = _REENT; -+ -+ if ( NULL == handle ) { -+ errno = EINVAL; -+ return ret; -+ } ++//--------------------------------------------------------------------------------- ++int _link_r(struct _reent *r, const char *existing, const char *new) { ++//--------------------------------------------------------------------------------- ++ int ret; ++ int sourceDev = FindDevice(existing); ++ int destDev = FindDevice(new); + -+ dev = handle->device; ++ ret = -1; + -+ if(devoptab_list[dev]->fpathconf_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fpathconf_r(r, handle->fileStruct, name); -+ } else -+ r->_errno=ENOSYS; ++ if ( sourceDev == destDev) { ++ if (devoptab_list[destDev]->link_r) { ++ r->deviceData = devoptab_list[destDev]->deviceData; ++ ret = devoptab_list[destDev]->link_r( r, existing, new); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = EXDEV; ++ } + -+ return ret; ++ return ret; +} -diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c ++ +diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c new file mode 100644 -index 000000000..32267b828 +index 000000000..39ef385b1 --- /dev/null -+++ b/libgloss/libsysbase/fstat.c -@@ -0,0 +1,32 @@ ++++ b/libgloss/libsysbase/lseek.c +@@ -0,0 +1,35 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> -+#include -+#include +#include ++ ++#include ++ +#include + +//--------------------------------------------------------------------------------- -+int _fstat_r(struct _reent * r, int fileDesc, struct stat *st) { ++_off_t _lseek_r(struct _reent * r, int fileDesc, _off_t pos, int dir) { +//--------------------------------------------------------------------------------- -+ int ret = -1; ++ _off_t ret = -1; + unsigned int dev = 0; + -+ __handle * handle = NULL; ++ __handle * handle; + + if(fileDesc!=-1) { ++ + handle = __get_handle(fileDesc); + + if ( NULL == handle ) return ret; + + dev = handle->device; + -+ if(devoptab_list[dev]->fstat_r) { ++ if(devoptab_list[dev]->seek_r) { + r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fstat_r(r,handle->fileStruct,st); -+ } else { -+ r->_errno = ENOSYS; -+ } ++ ret = devoptab_list[dev]->seek_r( r, handle->fileStruct, pos, dir); ++ } else ++ r->_errno=ENOSYS; ++ + } + return ret; ++ +} -diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c +diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c new file mode 100644 -index 000000000..fb06cb6d1 +index 000000000..467744e9c --- /dev/null -+++ b/libgloss/libsysbase/fsync.c -@@ -0,0 +1,34 @@ ++++ b/libgloss/libsysbase/lstat.c +@@ -0,0 +1,30 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> -+#include ++#include ++#include ++#include +#include -+#include + -+#include + -+int fsync(int fileDesc ) { -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; ++//--------------------------------------------------------------------------------- ++int lstat(const char *__restrict __path, struct stat *__restrict __buf ) { ++//--------------------------------------------------------------------------------- + struct _reent *r = _REENT; ++ int dev,ret=-1; + -+ __handle * handle; -+ -+ handle = __get_handle(fileDesc); ++ dev = FindDevice(__path); + -+ if ( NULL == handle ) { -+ errno = EINVAL; -+ return ret; ++ if(dev!=-1) { ++ if (devoptab_list[dev]->lstat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->lstat_r(r,__path,__buf); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; + } ++ return ret; ++} + -+ dev = handle->device; +diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c +new file mode 100644 +index 000000000..456590956 +--- /dev/null ++++ b/libgloss/libsysbase/malloc_vars.c +@@ -0,0 +1,2 @@ ++char *fake_heap_end = (char*)0; ++char *fake_heap_start = (char*)0; +diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c +new file mode 100644 +index 000000000..b4fcbd3d7 +--- /dev/null ++++ b/libgloss/libsysbase/mkdir.c +@@ -0,0 +1,19 @@ ++#include ++#include ++#include + -+ if(devoptab_list[dev]->fsync_r) { ++int mkdir (const char *path, mode_t mode) { ++ struct _reent *r = _REENT; ++ int ret; ++ int dev = FindDevice(path); ++ ret = -1; ++ ++ if (devoptab_list[dev]->mkdir_r) { + r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fsync_r(r, handle->fileStruct); -+ } else -+ r->_errno=ENOSYS; ++ ret = devoptab_list[dev]->mkdir_r(r, path, mode); ++ } else { ++ r->_errno = ENOSYS; ++ } + + return ret; +} -diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c +diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c new file mode 100644 -index 000000000..0cd7d0fc4 +index 000000000..a233b9df6 --- /dev/null -+++ b/libgloss/libsysbase/ftruncate.c -@@ -0,0 +1,34 @@ ++++ b/libgloss/libsysbase/nanosleep.c +@@ -0,0 +1,14 @@ ++#include ++#include ++#include ++ ++int nanosleep(const struct timespec *req, struct timespec *rem) ++{ ++ if ( __has_syscall(nanosleep) ) { ++ return __syscall_nanosleep(req, rem); ++ } else { ++ *rem = *req; ++ errno = ENOSYS; ++ return -1; ++ } ++} +diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c +new file mode 100644 +index 000000000..ca17db8bf +--- /dev/null ++++ b/libgloss/libsysbase/open.c +@@ -0,0 +1,46 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> ++#include +#include ++#include +#include -+#include + +#include + -+int ftruncate(int fileDesc, off_t len) { -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ struct _reent *r = _REENT; ++//--------------------------------------------------------------------------------- ++int _open_r(struct _reent *r, const char *file, int flags, int mode) { ++//--------------------------------------------------------------------------------- ++ __handle *handle; ++ int dev, fd, ret; + -+ __handle * handle; ++ dev = FindDevice(file); + -+ handle = __get_handle(fileDesc); ++ fd = -1; ++ if(dev!=-1) { ++ if (devoptab_list[dev]->open_r) { ++ fd = __alloc_handle(dev); + -+ if ( NULL == handle ) { -+ r->_errno = EINVAL; -+ return ret; -+ } ++ if ( -1 != fd ) { ++ handle = __get_handle(fd); + -+ dev = handle->device; ++ r->deviceData = devoptab_list[dev]->deviceData; + -+ if(devoptab_list[dev]->ftruncate_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); -+ } else -+ r->_errno=ENOSYS; ++ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, flags, mode); + -+ return ret; ++ if ( ret == -1 ) { ++ __release_handle(fd); ++ fd = -1; ++ } ++ } else { ++ r->_errno = ENOSR; ++ } ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return fd; +} -diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c +diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c new file mode 100644 -index 000000000..c834c4c94 +index 000000000..9c548d830 --- /dev/null -+++ b/libgloss/libsysbase/getpid.c -@@ -0,0 +1,12 @@ ++++ b/libgloss/libsysbase/read.c +@@ -0,0 +1,32 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> ++#include +#include + ++#include ++ +//--------------------------------------------------------------------------------- -+int _getpid_r(struct _reent *ptr) { ++_ssize_t _read_r(struct _reent *r, int fileDesc, void *ptr, size_t len) { +//--------------------------------------------------------------------------------- -+ ptr->_errno = ENOSYS; -+ return -1; -+} ++ int ret = -1; ++ unsigned int dev = 0; + -diff --git a/libgloss/libsysbase/getreent.c b/libgloss/libsysbase/getreent.c -new file mode 100644 -index 000000000..a3f1e98a9 ---- /dev/null -+++ b/libgloss/libsysbase/getreent.c -@@ -0,0 +1,20 @@ ++ __handle * handle = NULL; + -+/* default reentrant pointer when multithread enabled */ ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); + -+#include <_ansi.h> -+#include -+#include ++ if ( NULL == handle ) return ret; + -+#ifdef __getreent -+#undef __getreent -+#endif ++ dev = handle->device; + -+struct _reent *__getreent() { -+ if ( __has_syscall(getreent) ) { -+ return __syscall_getreent(); -+ } else { -+ return _impure_ptr; ++ if(devoptab_list[dev]->read_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->read_r(r,handle->fileStruct,ptr,len); ++ } else ++ r->_errno=ENOSYS; + } ++ return ret; +} + -+ -diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c +diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c new file mode 100644 -index 000000000..0606a1204 +index 000000000..433f7ef83 --- /dev/null -+++ b/libgloss/libsysbase/gettod.c -@@ -0,0 +1,18 @@ ++++ b/libgloss/libsysbase/rename.c +@@ -0,0 +1,29 @@ +#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include ++#include +#include +#include + +//--------------------------------------------------------------------------------- -+int _gettimeofday_r( struct _reent *ptr, struct timeval *ptimeval, void *ptimezone) { ++int _rename_r( struct _reent *ptr, const char *existing, const char *newName) { +//--------------------------------------------------------------------------------- -+ if ( __has_syscall(gettod_r) ) return __syscall_gettod_r(ptr, ptimeval, ptimezone); ++ struct _reent *r = _REENT; + -+ ptr->_errno = ENOSYS; -+ return -1; ++ int ret; ++ int sourceDev = FindDevice(existing); ++ int destDev = FindDevice(newName); + -+} ++ ret = -1; + -diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c ++ if ( sourceDev == destDev) { ++ if (devoptab_list[destDev]->rename_r) { ++ r->deviceData = devoptab_list[destDev]->deviceData; ++ ret = devoptab_list[destDev]->rename_r( r, existing, newName); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = EXDEV; ++ } ++ ++ return ret; ++} +diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c new file mode 100644 -index 000000000..45d5cf77c +index 000000000..b8640b87d --- /dev/null -+++ b/libgloss/libsysbase/handle_manager.c -@@ -0,0 +1,222 @@ ++++ b/libgloss/libsysbase/rmdir.c +@@ -0,0 +1,34 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> -+#include -+#include ++#include +#include -+ +#include + -+#define MAX_HANDLES 1024 ++int _rmdir_r (struct _reent *ptr, const char *name) { ++ int dev,ret=-1; + -+static __handle __stdin_handle = {0, 1, NULL}; -+static __handle __stdout_handle = {1, 1, NULL}; -+static __handle __stderr_handle = {2, 1, NULL}; ++ dev = FindDevice(name); ++ if(dev!=-1) { ++ if(devoptab_list[dev]->rmdir_r) { ++ ptr->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->rmdir_r(ptr,name); ++ } else { ++ ptr->_errno = ENOSYS; ++ } ++ } else { ++ ptr->_errno = ENODEV; ++ } + -+static __handle* handles[MAX_HANDLES] = { -+ &__stdin_handle, -+ &__stdout_handle, -+ &__stderr_handle -+}; ++ return ret; ++} + -+__LOCK_INIT(static, __hndl_lock); -+ -+static void __free_handle(__handle *handle) { -+ -+ if ( NULL != handle -+ && handle != &__stdin_handle -+ && handle != &__stdout_handle -+ && handle != &__stderr_handle ) { -+ -+ free(handle); -+ -+ } ++#ifndef _REENT_ONLY + ++int ++rmdir (const char *filename) ++{ ++ return _rmdir_r (_REENT, filename); +} + -+void __release_handle(int fd) { ++#endif +diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c +new file mode 100644 +index 000000000..87b11dfb4 +--- /dev/null ++++ b/libgloss/libsysbase/sbrk.c +@@ -0,0 +1,53 @@ ++#include "config.h" ++#include <_ansi.h> ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + -+ if ( fd <0 || fd >= MAX_HANDLES ) return; + -+ __lock_acquire (__hndl_lock); ++extern char *fake_heap_end; ++extern char *fake_heap_start; + -+ __free_handle(handles[fd]); -+ handles[fd] = NULL; ++/* Register name faking - works in collusion with the linker. */ ++register char * stack_ptr asm ("sp"); + -+ __lock_release (__hndl_lock); ++//--------------------------------------------------------------------------------- ++void *_sbrk_r (struct _reent *ptr, ptrdiff_t incr) { ++//--------------------------------------------------------------------------------- ++ extern char end asm ("__end__"); /* Defined by the linker. */ ++ static char * heap_start; + -+} ++ char * prev_heap_start; ++ char * heap_end; + -+int __alloc_handle(int device) { ++ if (heap_start == NULL) { ++ if (fake_heap_start == NULL) { ++ heap_start = &end; ++ } else { ++ heap_start = fake_heap_start; ++ } ++ } + -+ int i, ret = -1; ++ prev_heap_start = heap_start; + -+ __lock_acquire (__hndl_lock); ++ if (fake_heap_end == NULL) { ++ heap_end = stack_ptr; ++ } else { ++ heap_end = fake_heap_end; ++ } + -+ for ( i = 0; i < MAX_HANDLES; i++ ) { -+ if ( handles[i] == NULL ) break; ++ if (heap_start + incr > heap_end) { ++ ptr->_errno = ENOMEM; ++ return (caddr_t) -1; + } + -+ size_t size = sizeof(__handle) + devoptab_list[device]->structSize; ++ heap_start += incr; ++ return (caddr_t) prev_heap_start; ++} +diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c +new file mode 100644 +index 000000000..bc18c1781 +--- /dev/null ++++ b/libgloss/libsysbase/scandir.c +@@ -0,0 +1,75 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + -+ if ( i < MAX_HANDLES ) { -+ handles[i] = malloc(size); -+ __handle *handle = handles[i]; -+ if ( NULL != handles[i] ) { ++/* ++ * The DIRSIZ macro gives the minimum record length which will hold ++ * the directory entry. This requires the amount of space in struct dirent ++ * without the d_name field, plus enough space for the name with a terminating ++ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. ++ */ ++#undef DIRSIZ ++#ifdef _DIRENT_HAVE_D_NAMLEN ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + (((dp)->d_namlen+1 + 3) &~ 3)) ++#else ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + ((strlen((dp)->d_name)+1 + 3) &~ 3)) ++#endif + -+ handles[i]->refcount = 1; -+ ret = i; -+ handles[i]->device = device; -+ handles[i]->fileStruct = (void *)&handle[1]; ++int ++scandir (const char *dirname, ++ struct dirent ***namelist, ++ int (*filter) __P((const struct dirent *)), ++ int (*compar) __P((const struct dirent **, const struct dirent **))) ++{ ++ DIR *d = opendir(dirname); + -+ } else { ++ if (!d) return -1; + -+ errno = ENOMEM; ++ struct dirent *de, **names = NULL, **tmp; ++ size_t cnt = 0, len = 0; + ++ while (de = readdir(d)) { ++ if (filter && ! filter(de)) continue; ++ if (cnt >= len) { ++ len = 2*len+1; ++ if (len > SIZE_MAX/sizeof(*names)) break; ++ tmp = realloc(names, len * sizeof(*names)); ++ if (!tmp) break; ++ names = tmp; + } -+ } else { ++ names[cnt] = malloc(DIRSIZ(de)); ++ if (!names[cnt]) break; ++ memcpy(names[cnt++], de, DIRSIZ(de)); ++ } + -+ errno = ENFILE; ++ closedir(d); + ++ if(errno) { ++ if (names) while(cnt-- > 0) free(names[cnt]); ++ free(names); ++ return -1; + } + -+ __lock_release (__hndl_lock); ++ if (compar) qsort(names, cnt, sizeof(*names), (int (*)(const void *, const void *))compar); + -+ return ret; ++ *namelist = names; ++ return cnt; +} + -+__handle *__get_handle(int fd) { ++/* ++ * Alphabetic order comparison routine for those who want it. ++ */ ++int ++alphasort (const struct dirent **d1, ++ const struct dirent **d2) ++{ ++ return(strcmp((*d1)->d_name, (*d2)->d_name)); ++} + -+ if ( fd < 0 || fd >= MAX_HANDLES ) return NULL; +diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c +new file mode 100644 +index 000000000..f3aa97954 +--- /dev/null ++++ b/libgloss/libsysbase/sleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ + -+ __lock_acquire (__hndl_lock); -+ __handle *handle = handles[fd]; -+ __lock_release (__hndl_lock); ++/* Written 2000 by Werner Almesberger */ + -+ return handle; -+} ++#include ++#include ++#include + -+int dup(int oldfd) { -+ int i, ret =-1; ++unsigned sleep(unsigned seconds) ++{ ++ struct timespec ts; + -+ __lock_acquire (__hndl_lock); ++ ts.tv_sec = seconds; ++ ts.tv_nsec = 0; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} +diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c +new file mode 100644 +index 000000000..17181dc3b +--- /dev/null ++++ b/libgloss/libsysbase/stat.c +@@ -0,0 +1,29 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include + -+ if (handles[oldfd]==NULL) { -+ __lock_release (__hndl_lock); -+ errno = EBADF; -+ return -1; -+ } + ++//--------------------------------------------------------------------------------- ++int _stat_r(struct _reent *r, const char *file, struct stat *st) { ++//--------------------------------------------------------------------------------- ++ int dev,ret=-1; + -+ for ( i = 0; i < MAX_HANDLES; i++ ) { -+ if ( handles[i] == NULL ) break; -+ } ++ dev = FindDevice(file); + -+ if (irefcount++; -+ ret = i; ++ if(dev!=-1) { ++ if (devoptab_list[dev]->stat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->stat_r(r,file,st); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; + } -+ __lock_release (__hndl_lock); -+ + return ret; -+ +} + -+int dup2(int oldfd, int newfd) { +diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c +new file mode 100644 +index 000000000..84e221340 +--- /dev/null ++++ b/libgloss/libsysbase/statvfs.c +@@ -0,0 +1,24 @@ ++#include ++#include ++#include + -+ if ( newfd < 0 || newfd >= MAX_HANDLES || -+ oldfd < 0 || oldfd >= MAX_HANDLES) { + -+ errno = EBADF; ++int statvfs(const char *path, struct statvfs *buf) { ++ struct _reent *r = _REENT; + -+ return -1; -+ } ++ int ret; ++ int device = FindDevice(path); + -+ if ( newfd == oldfd ) { -+ return newfd; -+ } ++ ret = -1; + -+ __lock_acquire (__hndl_lock); ++ if ( device != -1 && devoptab_list[device]->statvfs_r) { + -+ if ( handles[oldfd] == NULL ) { -+ __lock_release (__hndl_lock); -+ errno = EBADF; ++ r->deviceData = devoptab_list[device]->deviceData; ++ ret = devoptab_list[device]->statvfs_r(r, path, buf ); + -+ return -1; ++ } else { ++ r->_errno = ENOSYS; + } + -+ __handle *handle = handles[newfd]; -+ -+ handles[newfd] = handles[oldfd]; -+ handles[newfd]->refcount++; ++ return ret; ++} +diff --git a/libgloss/libsysbase/sysbase.specs b/libgloss/libsysbase/sysbase.specs +new file mode 100644 +index 000000000..d5959084e +--- /dev/null ++++ b/libgloss/libsysbase/sysbase.specs +@@ -0,0 +1,11 @@ ++%rename link_gcc_c_sequence sysbase_link_gcc_c_sequence + -+ if ( handle ) { ++*sysbase_libgloss: ++-lsysbase + -+ int ref = --handle->refcount; -+ __lock_release (__hndl_lock); ++*sysbase_libc: ++%{!specs=nano.specs:-lc} %{specs=nano.specs:-lc_nano} + -+ if ( ref == 0 ) { ++*link_gcc_c_sequence: ++%(sysbase_link_gcc_c_sequence) --start-group %G %(sysbase_libc) %(sysbase_libgloss) --end-group + -+ if ( devoptab_list[handle->device]->close_r ) { +diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c +new file mode 100644 +index 000000000..69145f27c +--- /dev/null ++++ b/libgloss/libsysbase/syscall_support.c +@@ -0,0 +1,76 @@ ++#include + -+ _REENT->deviceData = devoptab_list[handle->device]->deviceData; -+ devoptab_list[handle->device]->close_r(_REENT,handle->fileStruct); ++void __libc_lock_init(_LOCK_T *lock) { + -+ } ++ if ( __has_syscall(lock_init) ) { ++ __syscall_lock_init(lock); ++ } ++} + -+ __free_handle(handle); -+ } ++void __libc_lock_acquire(_LOCK_T *lock ) { + -+ } else { ++ if ( __has_syscall(lock_acquire) ) { ++ __syscall_lock_acquire(lock); ++ } ++} + -+ __lock_release (__hndl_lock); ++int __libc_lock_try_acquire(_LOCK_T *lock ) { + ++ if ( __has_syscall(lock_acquire) ) { ++ return __syscall_lock_try_acquire(lock); ++ } else { ++ return 0; + } -+ -+ return newfd; +} + -+//--------------------------------------------------------------------------------- -+int _close_r(struct _reent *ptr, int fd) { -+//--------------------------------------------------------------------------------- -+ int ret = 0; ++void __libc_lock_release(_LOCK_T *lock ) { + -+ if (fd < 0 || fd >= MAX_HANDLES) { ++ if ( __has_syscall(lock_release) ) { ++ __syscall_lock_release(lock); ++ } ++} + -+ ptr->_errno = EBADF; -+ return -1; ++void __libc_lock_close(_LOCK_T *lock ) { + ++ if ( __has_syscall(lock_close) ) { ++ __syscall_lock_close(lock); + } ++} + -+ __lock_acquire (__hndl_lock); ++void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { + -+ __handle *handle = handles[fd]; ++ if ( __has_syscall(lock_init_recursive) ) { ++ __syscall_lock_init_recursive(lock); ++ } + -+ if ( !handle ) { ++} + -+ __lock_release (__hndl_lock); -+ ptr->_errno = EBADF; -+ return -1; ++void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { + ++ if ( __has_syscall(lock_acquire_recursive) ) { ++ __syscall_lock_acquire_recursive(lock); + } ++} + -+ int ref = --handle->refcount; -+ handles[fd] = NULL; -+ -+ __lock_release (__hndl_lock); ++int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { + -+ if ( ref == 0 ) { ++ if ( __has_syscall(lock_acquire_recursive) ) { ++ return __syscall_lock_try_acquire_recursive(lock); ++ } else { ++ return 0; ++ } ++} + -+ if ( devoptab_list[handle->device]->close_r ) { ++void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { + -+ ptr->deviceData = devoptab_list[handle->device]->deviceData; -+ ret = devoptab_list[handle->device]->close_r(ptr,handle->fileStruct); ++ if ( __has_syscall(lock_release_recursive) ) { ++ __syscall_lock_release_recursive(lock); ++ } ++} + -+ } ++void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { + -+ __free_handle(handle); ++ if ( __has_syscall(lock_close_recursive) ) { ++ __syscall_lock_close_recursive(lock); + } -+ -+ return ret; +} -diff --git a/libgloss/libsysbase/handle_manager.h b/libgloss/libsysbase/handle_manager.h +diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c new file mode 100644 -index 000000000..5e81c5d42 +index 000000000..edac04a1a --- /dev/null -+++ b/libgloss/libsysbase/handle_manager.h -@@ -0,0 +1,10 @@ -+#ifndef __HANDLE_MANAGER_H__ -+#define __HANDLE_MANAGER_H__ -+ -+#include ++++ b/libgloss/libsysbase/times.c +@@ -0,0 +1,13 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include + -+void __release_handle(int fd); -+int __alloc_handle(int device); -+__handle *__get_handle(int fd); ++//--------------------------------------------------------------------------------- ++clock_t _times_r(struct _reent *r, struct tms *ptms) { ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return (clock_t)-1; ++} + -+#endif -diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c +diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c new file mode 100644 -index 000000000..71224902f +index 000000000..849525990 --- /dev/null -+++ b/libgloss/libsysbase/iosupport.c -@@ -0,0 +1,138 @@ -+#include -+#include -+#include ++++ b/libgloss/libsysbase/truncate.c +@@ -0,0 +1,54 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++ +#include + -+static int defaultDevice = -1; ++int truncate(const char *file, off_t len) ++{ + -+//--------------------------------------------------------------------------------- -+void setDefaultDevice( int device ) { -+//--------------------------------------------------------------------------------- ++ __handle *handle; ++ int dev, fd, ret; + -+ if ( device >2 && device <= STD_MAX) -+ defaultDevice = device; -+} ++ struct _reent * r = _REENT; + -+//--------------------------------------------------------------------------------- -+static ssize_t null_write(struct _reent *r,void *fd,const char *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ return len; -+} ++ dev = FindDevice(file); + -+//--------------------------------------------------------------------------------- -+const devoptab_t dotab_stdnull = { -+//--------------------------------------------------------------------------------- -+ "stdnull", // device name -+ 0, // size of file structure -+ NULL, // device open -+ NULL, // device close -+ null_write, // device write -+ NULL, // device read -+ NULL, // device seek -+ NULL, // device fstat -+ NULL, // device stat -+ NULL, // device link -+ NULL, // device unlink -+ NULL, // device chdir -+ NULL, // device rename -+ NULL, // device mkdir -+ 0, // dirStateSize -+ NULL, // device diropen_r -+ NULL, // device dirreset_r -+ NULL, // device dirnext_r -+ NULL, // device dirclose_r -+ NULL, // device statvfs_r -+ NULL, // device ftruncate_r -+ NULL, // device fsync_r -+ NULL, // deviceData -+ NULL, // chmod_r -+ NULL, // fchmod_r -+ NULL, // rmdir_r -+ NULL, // lstat_r -+ NULL, // utimes_r -+}; ++ if(dev!=-1 && devoptab_list[dev]->open_r && devoptab_list[dev]->close_r && ++ devoptab_list[dev]->ftruncate_r) ++ { + -+//--------------------------------------------------------------------------------- -+const devoptab_t *devoptab_list[STD_MAX] = { -+//--------------------------------------------------------------------------------- -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull -+}; ++ fd = __alloc_handle(dev); + -+//--------------------------------------------------------------------------------- -+int FindDevice(const char* name) { -+//--------------------------------------------------------------------------------- -+ int i = 0, namelen, dev_namelen, dev = -1; -+ char *separator; ++ if ( -1 != fd ) { ++ handle = __get_handle(fd); + -+ separator = strchr(name, ':'); ++ r->deviceData = devoptab_list[dev]->deviceData; + -+ if (separator == NULL) return defaultDevice; ++ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, O_WRONLY, 0); + -+ dev_namelen = separator - name; ++ if ( ret < 0 ) { ++ __release_handle(fd); ++ return ret; ++ } + -+ while(iname); -+ if(dev_namelen == namelen && strncmp(devoptab_list[i]->name,name,namelen)==0 ) { -+ if ( name[namelen] == ':' || (isdigit(name[namelen]) && name[namelen+1] ==':' )) { -+ dev = i; -+ break; -+ } ++ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); ++ ++ if (ret >= 0) { ++ ret = devoptab_list[dev]->close_r(r, handle->fileStruct); ++ } else { ++ // Close it anyway, we don't want to leak memory ++ devoptab_list[dev]->close_r(r, handle->fileStruct); + } ++ } else { ++ r->_errno = ENOSR; + } -+ i++; ++ } else { ++ r->_errno = ENOSYS; + } + -+ return dev; ++ return ret; +} +diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c +new file mode 100644 +index 000000000..0a4c087c9 +--- /dev/null ++++ b/libgloss/libsysbase/unlink.c +@@ -0,0 +1,27 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include + +//--------------------------------------------------------------------------------- -+int RemoveDevice( const char* name) { ++int _unlink_r(struct _reent * r, const char *name ) { +//--------------------------------------------------------------------------------- -+ int dev = FindDevice(name); ++ int dev,ret=-1; + -+ if ( -1 != dev ) { -+ devoptab_list[dev] = &dotab_stdnull; -+ return 0; ++ dev = FindDevice(name); ++ if(dev<0) { ++ r->_errno = ENODEV; ++ } else { ++ if (devoptab_list[dev]->unlink_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->unlink_r(r,name); ++ } else { ++ r->_errno=ENOSYS; ++ } + } + -+ return -1; -+ ++ return ret; +} + -+//--------------------------------------------------------------------------------- -+int AddDevice( const devoptab_t* device) { -+//--------------------------------------------------------------------------------- -+ -+ int devnum; +diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c +new file mode 100644 +index 000000000..b54714775 +--- /dev/null ++++ b/libgloss/libsysbase/usleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ + -+ for ( devnum = 3;devnum name, device->name) && -+ strlen(devoptab_list[devnum]->name) == strlen(device->name) ) || -+ !strcmp(devoptab_list[devnum]->name, "stdnull") -+ ) -+ break; -+ } ++#include ++#include ++#include + -+ if ( devnum == STD_MAX ) { -+ devnum = -1; -+ } else { -+ devoptab_list[devnum] = device; -+ } -+ return devnum; -+} ++int usleep(useconds_t useconds) ++{ ++ struct timespec ts; + -+//--------------------------------------------------------------------------------- -+const devoptab_t* GetDeviceOpTab (const char *name) { -+//--------------------------------------------------------------------------------- -+ int dev = FindDevice(name); -+ if (dev >= 0 && dev < STD_MAX) { -+ return devoptab_list[dev]; -+ } else { -+ return NULL; -+ } ++ ts.tv_sec = (long int)useconds / 1000000; ++ ts.tv_nsec = ((long int)useconds % 1000000) * 1000; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; +} -diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c +diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c new file mode 100644 -index 000000000..2901f1474 +index 000000000..462e86520 --- /dev/null -+++ b/libgloss/libsysbase/isatty.c -@@ -0,0 +1,10 @@ ++++ b/libgloss/libsysbase/utime.c +@@ -0,0 +1,41 @@ +#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> ++ +#include ++#include ++#include ++#include ++#include + -+//--------------------------------------------------------------------------------- -+int _isatty_r( struct _reent *ptr, int file) { -+//--------------------------------------------------------------------------------- -+ return 0; ++int utimes(const char *filename, const struct timeval times[2]) ++{ ++ struct _reent *r = _REENT; ++ int dev,ret=-1; ++ ++ dev = FindDevice(filename); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->utimes_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->utimes_r(r,filename,times); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ return ret; +} -diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c ++ ++ ++int utime(const char *filename, const struct utimbuf *times) ++{ ++ struct timeval t[2]; ++ if (times) { ++ t[0].tv_sec = times->actime; ++ t[0].tv_usec = 0; ++ t[1].tv_sec = times->modtime; ++ t[1].tv_usec = 0; ++ } ++ ++ return utimes(filename, t); ++} +diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c new file mode 100644 -index 000000000..a7f10c0c5 +index 000000000..a17561576 --- /dev/null -+++ b/libgloss/libsysbase/kill.c -@@ -0,0 +1,15 @@ ++++ b/libgloss/libsysbase/wait.c +@@ -0,0 +1,16 @@ +/* -+ * Stub version of kill. ++ * Stub version of wait. + */ + +#include "config.h" @@ -7616,3234 +6872,5550 @@ index 000000000..a7f10c0c5 +#include + +//--------------------------------------------------------------------------------- -+int _kill_r( struct _reent *ptr, int pid, int sig) { ++int _wait_r(struct _reent *r, int *status) { +//--------------------------------------------------------------------------------- -+ ptr->_errno = ENOSYS; -+ return -1; ++ r->_errno = ENOSYS; ++ return -1; +} -diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c ++ +diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h new file mode 100644 -index 000000000..d7a988359 +index 000000000..2c2998250 --- /dev/null -+++ b/libgloss/libsysbase/link.c -@@ -0,0 +1,30 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include ++++ b/libgloss/libsysbase/warning.h +@@ -0,0 +1,43 @@ ++#ifndef __WARNING_H__ ++#define __WARNING_H__ + -+//--------------------------------------------------------------------------------- -+int _link_r(struct _reent *r, const char *existing, const char *new) { -+//--------------------------------------------------------------------------------- -+ int ret; -+ int sourceDev = FindDevice(existing); -+ int destDev = FindDevice(new); ++#ifdef HAVE_GNU_LD ++# ifdef HAVE_ELF + -+ ret = -1; ++/* We want the .gnu.warning.SYMBOL section to be unallocated. */ ++# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE ++# define __make_section_unallocated(section_string) \ ++ asm(".section " section_string "; .previous"); ++# elif defined (HAVE_ASM_POPSECTION_DIRECTIVE) ++# define __make_section_unallocated(section_string) \ ++ asm(".pushsection " section_string "; .popsection"); ++# else ++# define __make_section_unallocated(section_string) ++# endif + -+ if ( sourceDev == destDev) { -+ if (devoptab_list[destDev]->link_r) { -+ r->deviceData = devoptab_list[destDev]->deviceData; -+ ret = devoptab_list[destDev]->link_r( r, existing, new); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = EXDEV; -+ } ++# ifdef HAVE_SECTION_ATTRIBUTES ++# define link_warning(symbol, msg) \ ++ __make_section_unallocated (".gnu.warning." #symbol) \ ++ static const char __evoke_link_warning_##symbol[] \ ++ __attribute__ ((section (".gnu.warning." #symbol))) = msg; ++# else ++# define link_warning(symbol, msg) ++# endif + -+ return ret; -+} ++#else /* !ELF */ + -diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c ++# define link_warning(symbol, msg) \ ++ asm(".stabs \"" msg "\",30,0,0,0\n" \ ++ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); ++# endif ++#else /* !GNULD */ ++/* We will never be heard; they will all die horribly. */ ++# define link_warning(symbol, msg) ++#endif ++ ++/* A canned warning for sysdeps/stub functions. */ ++#define stub_warning(name) \ ++ link_warning (name, \ ++ "warning: " #name " is not implemented and will always fail") ++ ++#endif /* __WARNING_H__ */ +diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c new file mode 100644 -index 000000000..39ef385b1 +index 000000000..04198e854 --- /dev/null -+++ b/libgloss/libsysbase/lseek.c -@@ -0,0 +1,35 @@ ++++ b/libgloss/libsysbase/write.c +@@ -0,0 +1,31 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> ++#include +#include + +#include + -+#include -+ +//--------------------------------------------------------------------------------- -+_off_t _lseek_r(struct _reent * r, int fileDesc, _off_t pos, int dir) { ++_ssize_t _write_r(struct _reent * r, int fileDesc, const void *ptr, size_t len) { +//--------------------------------------------------------------------------------- -+ _off_t ret = -1; ++ int ret = -1; + unsigned int dev = 0; + -+ __handle * handle; ++ __handle * handle = NULL; + + if(fileDesc!=-1) { -+ + handle = __get_handle(fileDesc); + + if ( NULL == handle ) return ret; + + dev = handle->device; + -+ if(devoptab_list[dev]->seek_r) { ++ if(devoptab_list[dev]->write_r) { + r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->seek_r( r, handle->fileStruct, pos, dir); ++ ret = devoptab_list[dev]->write_r(r,handle->fileStruct,ptr,len); + } else + r->_errno=ENOSYS; -+ + } + return ret; -+ +} -diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c +diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..467744e9c +index 000000000..7b366f593 --- /dev/null -+++ b/libgloss/libsysbase/lstat.c -@@ -0,0 +1,30 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+ ++++ b/newlib/libc/include/sys/iosupport.h +@@ -0,0 +1,115 @@ +//--------------------------------------------------------------------------------- -+int lstat(const char *__restrict __path, struct stat *__restrict __buf ) { ++#ifndef __iosupp_h__ ++#define __iosupp_h__ +//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+ int dev,ret=-1; + -+ dev = FindDevice(__path); ++#ifdef __cplusplus ++extern "C" { ++#endif + -+ if(dev!=-1) { -+ if (devoptab_list[dev]->lstat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->lstat_r(r,__path,__buf); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ r->_errno = ENODEV; -+ } -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c -new file mode 100644 -index 000000000..456590956 ---- /dev/null -+++ b/libgloss/libsysbase/malloc_vars.c -@@ -0,0 +1,2 @@ -+char *fake_heap_end = (char*)0; -+char *fake_heap_start = (char*)0; -diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c -new file mode 100644 -index 000000000..b4fcbd3d7 ---- /dev/null -+++ b/libgloss/libsysbase/mkdir.c -@@ -0,0 +1,19 @@ +#include -+#include -+#include -+ -+int mkdir (const char *path, mode_t mode) { -+ struct _reent *r = _REENT; -+ int ret; -+ int dev = FindDevice(path); -+ ret = -1; -+ -+ if (devoptab_list[dev]->mkdir_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->mkdir_r(r, path, mode); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return ret; -+} -diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c -new file mode 100644 -index 000000000..a233b9df6 ---- /dev/null -+++ b/libgloss/libsysbase/nanosleep.c -@@ -0,0 +1,14 @@ -+#include -+#include -+#include -+ -+int nanosleep(const struct timespec *req, struct timespec *rem) -+{ -+ if ( __has_syscall(nanosleep) ) { -+ return __syscall_nanosleep(req, rem); -+ } else { -+ *rem = *req; -+ errno = ENOSYS; -+ return -1; -+ } -+} -diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c -new file mode 100644 -index 000000000..ca17db8bf ---- /dev/null -+++ b/libgloss/libsysbase/open.c -@@ -0,0 +1,46 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+#include -+ -+//--------------------------------------------------------------------------------- -+int _open_r(struct _reent *r, const char *file, int flags, int mode) { -+//--------------------------------------------------------------------------------- -+ __handle *handle; -+ int dev, fd, ret; ++#include ++#include ++#include + -+ dev = FindDevice(file); ++enum { ++ STD_IN, ++ STD_OUT, ++ STD_ERR, ++ STD_MAX = 35 ++}; + -+ fd = -1; -+ if(dev!=-1) { -+ if (devoptab_list[dev]->open_r) { -+ fd = __alloc_handle(dev); + -+ if ( -1 != fd ) { -+ handle = __get_handle(fd); ++typedef struct { ++ unsigned int device; ++ unsigned int refcount; ++ void *fileStruct; ++} __handle; + -+ r->deviceData = devoptab_list[dev]->deviceData; ++/* Directory iterator for mantaining state between dir* calls */ ++typedef struct { ++ int device; ++ void *dirStruct; ++} DIR_ITER; + -+ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, flags, mode); ++typedef struct { ++ const char *name; ++ size_t structSize; ++ int (*open_r)(struct _reent *r, void *fileStruct, const char *path, int flags, int mode); ++ int (*close_r)(struct _reent *r, void *fd); ++ ssize_t (*write_r)(struct _reent *r, void *fd, const char *ptr, size_t len); ++ ssize_t (*read_r)(struct _reent *r, void *fd, char *ptr, size_t len); ++ off_t (*seek_r)(struct _reent *r, void *fd, off_t pos, int dir); ++ int (*fstat_r)(struct _reent *r, void *fd, struct stat *st); ++ int (*stat_r)(struct _reent *r, const char *file, struct stat *st); ++ int (*link_r)(struct _reent *r, const char *existing, const char *newLink); ++ int (*unlink_r)(struct _reent *r, const char *name); ++ int (*chdir_r)(struct _reent *r, const char *name); ++ int (*rename_r) (struct _reent *r, const char *oldName, const char *newName); ++ int (*mkdir_r) (struct _reent *r, const char *path, int mode); + -+ if ( ret == -1 ) { -+ __release_handle(fd); -+ fd = -1; -+ } -+ } else { -+ r->_errno = ENOSR; -+ } -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } ++ size_t dirStateSize; + -+ return fd; -+} -diff --git a/libgloss/libsysbase/pathconf.c b/libgloss/libsysbase/pathconf.c -new file mode 100644 -index 000000000..a696c9ab9 ---- /dev/null -+++ b/libgloss/libsysbase/pathconf.c -@@ -0,0 +1,21 @@ -+#include -+#include -+#include -+#include -+#include -+#include ++ DIR_ITER* (*diropen_r)(struct _reent *r, DIR_ITER *dirState, const char *path); ++ int (*dirreset_r)(struct _reent *r, DIR_ITER *dirState); ++ int (*dirnext_r)(struct _reent *r, DIR_ITER *dirState, char *filename, struct stat *filestat); ++ int (*dirclose_r)(struct _reent *r, DIR_ITER *dirState); ++ int (*statvfs_r)(struct _reent *r, const char *path, struct statvfs *buf); ++ int (*ftruncate_r)(struct _reent *r, void *fd, off_t len); ++ int (*fsync_r)(struct _reent *r, void *fd); + -+long pathconf(const char *path, int name) -+{ -+ int ret = -1; -+ unsigned int dev = FindDevice(path); -+ struct _reent *r = _REENT; ++ void *deviceData; + -+ if(dev != -1 && devoptab_list[dev]->pathconf_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->pathconf_r(r, path, name); -+ } else -+ r->_errno=ENOSYS; ++ int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); ++ int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); ++ int (*rmdir_r)(struct _reent *r, const char *name); ++ int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); ++ int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); + -+ return ret; -+} -diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c -new file mode 100755 -index 000000000..ff84cd355 ---- /dev/null -+++ b/libgloss/libsysbase/pthread.c -@@ -0,0 +1,1083 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include ++} devoptab_t; + -+static inline uint64_t -+__pthread_abstime_to_ns (const struct timespec *__abstime) -+{ -+ return __abstime ? abstimespec2nsec(CLOCK_REALTIME, __abstime) : UINT64_MAX; -+} ++extern const devoptab_t *devoptab_list[]; + -+int -+pthread_atfork (void (*prepare)(void), void (*parent)(void), void (*child)(void)) -+{ -+ return ENOSYS; // Unsupported -+} ++#ifdef _BUILDING_LIBSYSBASE ++#define __SYSCALL(_name) __attribute__((weak)) __syscall_##_name ++#define __has_syscall(_name) (&__syscall_##_name) ++#else ++#define __SYSCALL(_name) __syscall_##_name ++#endif + -+//----------------------------------------------------------------------------- -+// Mutex attributes -+//----------------------------------------------------------------------------- ++void *__SYSCALL(sbrk_r) (struct _reent *ptr, ptrdiff_t incr); ++void __SYSCALL(exit) ( int rc ); ++int __SYSCALL(gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); ++void __SYSCALL(lock_init) (_LOCK_T *lock); ++void __SYSCALL(lock_acquire) (_LOCK_T *lock); ++int __SYSCALL(lock_try_acquire) (_LOCK_T *lock); ++void __SYSCALL(lock_release) (_LOCK_T *lock); ++void __SYSCALL(lock_close) (_LOCK_T *lock); ++void __SYSCALL(lock_init_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_acquire_recursive) (_LOCK_RECURSIVE_T *lock); ++int __SYSCALL(lock_try_acquire_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_release_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_close_recursive) (_LOCK_RECURSIVE_T *lock); ++struct _reent * __SYSCALL(getreent) (); ++int __SYSCALL(clock_gettime) (clockid_t clock_id, struct timespec *tp); ++int __SYSCALL(clock_settime) (clockid_t clock_id, const struct timespec *tp); ++int __SYSCALL(clock_getres) (clockid_t clock_id, struct timespec *res); ++int __SYSCALL(nanosleep) (const struct timespec *req, struct timespec *rem); + -+int -+pthread_mutexattr_init (pthread_mutexattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ __attr->type = PTHREAD_MUTEX_NORMAL; -+ return 0; -+} ++int AddDevice( const devoptab_t* device); ++int FindDevice(const char* name); ++int RemoveDevice(const char* name); ++void setDefaultDevice( int device ); ++const devoptab_t* GetDeviceOpTab (const char *name); + -+int -+pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ return 0; -+} ++void __release_handle(int fd); ++int __alloc_handle(int device); ++__handle *__get_handle(int fd); + -+int -+pthread_mutexattr_getpshared (const pthread_mutexattr_t *__attr, int *__pshared) -+{ -+ return ENOSYS; ++#ifdef __cplusplus +} ++#endif + -+int -+pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, int __pshared) -+{ -+ return ENOSYS; -+} -+ -+int -+pthread_mutexattr_gettype (const pthread_mutexattr_t *__attr, int *__kind) -+{ -+ if (!__attr || !__kind) -+ return EINVAL; -+ *__kind = __attr->type; -+ return 0; -+} -+ -+int -+pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) -+{ -+ if (!__attr) -+ return EINVAL; -+ __attr->type = __kind; -+ return 0; -+} -+ -+//----------------------------------------------------------------------------- -+// Mutex -+//----------------------------------------------------------------------------- -+ -+int -+pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__attr) -+{ -+ pthread_mutexattr_t __default; -+ if (!__attr) { -+ pthread_mutexattr_init(&__default); -+ __attr = &__default; -+ } -+ if (!__mutex) -+ return EINVAL; -+ -+ __mutex->type = __attr->type; -+ switch (__mutex->type) { -+ case PTHREAD_MUTEX_NORMAL: -+ case PTHREAD_MUTEX_ERRORCHECK: -+ case PTHREAD_MUTEX_DEFAULT: -+ __mutex->normal = __LOCK_INITIALIZER; -+ break; -+ case PTHREAD_MUTEX_RECURSIVE: -+ __mutex->recursive = __LOCK_INITIALIZER_RECURSIVE; -+ break; -+ default: -+ return EINVAL; -+ } -+ -+ return 0; -+} -+ -+int -+pthread_mutex_destroy (pthread_mutex_t *__mutex) -+{ -+ if (!__mutex) -+ return EINVAL; -+ return 0; -+} -+ -+int -+pthread_mutex_lock (pthread_mutex_t *__mutex) -+{ -+ if (!__mutex) -+ return EINVAL; -+ -+ switch (__mutex->type) { -+ case PTHREAD_MUTEX_NORMAL: -+ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check -+ case PTHREAD_MUTEX_DEFAULT: -+ __lock_acquire(__mutex->normal); -+ break; -+ case PTHREAD_MUTEX_RECURSIVE: -+ __lock_acquire_recursive(__mutex->recursive); -+ break; -+ default: -+ return EINVAL; -+ } -+ -+ return 0; -+} -+ -+int -+pthread_mutex_trylock (pthread_mutex_t *__mutex) -+{ -+ if (!__mutex) -+ return EINVAL; -+ -+ int rc = 0; -+ switch (__mutex->type) { -+ case PTHREAD_MUTEX_NORMAL: -+ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check -+ case PTHREAD_MUTEX_DEFAULT: -+ rc = __lock_try_acquire(__mutex->normal); -+ break; -+ case PTHREAD_MUTEX_RECURSIVE: -+ rc = __lock_try_acquire_recursive(__mutex->recursive); -+ break; -+ default: -+ return EINVAL; -+ } -+ -+ if (rc) -+ return EBUSY; -+ return 0; -+} -+ -+int -+pthread_mutex_unlock (pthread_mutex_t *__mutex) -+{ -+ if (!__mutex) -+ return EINVAL; -+ -+ switch (__mutex->type) { -+ case PTHREAD_MUTEX_NORMAL: -+ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check -+ case PTHREAD_MUTEX_DEFAULT: -+ __lock_release(__mutex->normal); -+ break; -+ case PTHREAD_MUTEX_RECURSIVE: -+ __lock_release_recursive(__mutex->recursive); -+ break; -+ default: -+ return EINVAL; -+ } -+ -+ return 0; -+} -+ -+//----------------------------------------------------------------------------- -+// Condition variable attributes -+//----------------------------------------------------------------------------- -+ -+int -+pthread_condattr_init (pthread_condattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ __attr->clock_id = CLOCK_REALTIME; -+ return 0; -+} -+ -+int -+pthread_condattr_destroy (pthread_condattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ return 0; -+} -+ -+int -+pthread_condattr_getclock (const pthread_condattr_t *__restrict __attr, clockid_t *__restrict __clock_id) -+{ -+ if (!__attr || !__clock_id) -+ return EINVAL; -+ *__clock_id = __attr->clock_id; -+ return 0; -+} -+ -+int -+pthread_condattr_setclock (pthread_condattr_t *__attr, clockid_t __clock_id) -+{ -+ if (!__attr) -+ return EINVAL; -+ __attr->clock_id = __clock_id; -+ return 0; -+} -+ -+int -+pthread_condattr_getpshared (const pthread_condattr_t *__attr, int *__pshared) -+{ -+ return ENOSYS; -+} -+ -+int -+pthread_condattr_setpshared (pthread_condattr_t *__attr, int __pshared) -+{ -+ return ENOSYS; -+} -+ -+//----------------------------------------------------------------------------- -+// Condition variable -+//----------------------------------------------------------------------------- -+ -+int -+pthread_cond_init (pthread_cond_t *__cond, const pthread_condattr_t *__attr) -+{ -+ pthread_condattr_t __default; -+ if (!__attr) { -+ pthread_condattr_init(&__default); -+ __attr = &__default; -+ } -+ if (!__cond) -+ return EINVAL; -+ -+ __cond->clock_id = __attr->clock_id; -+ __cond->cond = __COND_INITIALIZER; -+ return 0; -+} -+ -+int -+pthread_cond_destroy (pthread_cond_t *__cond) -+{ -+ if (!__cond) -+ return EINVAL; -+ return 0; -+} -+ -+int -+pthread_cond_signal (pthread_cond_t *__cond) -+{ -+ if (!__cond) -+ return EINVAL; -+ return __cond_signal(__cond->cond); -+} -+ -+int -+pthread_cond_broadcast (pthread_cond_t *__cond) -+{ -+ if (!__cond) -+ return EINVAL; -+ return __cond_broadcast(__cond->cond); -+} -+ -+static int -+__pthread_cond_wait_common (pthread_cond_t *__cond, pthread_mutex_t *__mutex, uint64_t timeout_ns) -+{ -+ switch (__mutex->type) { -+ case PTHREAD_MUTEX_NORMAL: -+ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check -+ case PTHREAD_MUTEX_DEFAULT: -+ return __cond_wait(__cond->cond, __mutex->normal, timeout_ns); -+ case PTHREAD_MUTEX_RECURSIVE: -+ return __cond_wait_recursive(__cond->cond, __mutex->recursive, timeout_ns); -+ default: -+ return EINVAL; -+ } -+} -+ -+int -+pthread_cond_wait (pthread_cond_t *__cond, pthread_mutex_t *__mutex) -+{ -+ if (!__cond || !__mutex) -+ return EINVAL; -+ return __pthread_cond_wait_common(__cond, __mutex, UINT64_MAX); -+} -+ -+int -+pthread_cond_timedwait (pthread_cond_t *__cond, pthread_mutex_t *__mutex, const struct timespec *__abstime) -+{ -+ if (!__cond || !__mutex || !__abstime) -+ return EINVAL; -+ return __pthread_cond_wait_common(__cond, __mutex, abstimespec2nsec(__cond->clock_id, __abstime)); -+} -+ -+//----------------------------------------------------------------------------- -+// Thread attributes -+//----------------------------------------------------------------------------- -+ -+int -+pthread_attr_setschedparam (pthread_attr_t *__attr, const struct sched_param *__param) -+{ -+ if (!__attr || !__param) -+ return EINVAL; -+ __attr->schedparam = *__param; -+ return 0; -+} -+ -+int -+pthread_attr_getschedparam (const pthread_attr_t *__attr, struct sched_param *__param) -+{ -+ if (!__attr || !__param) -+ return EINVAL; -+ *__param = __attr->schedparam; -+ return 0; -+} -+ -+int -+pthread_attr_init (pthread_attr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ memset(__attr, 0, sizeof(*__attr)); -+ return 0; -+} -+ -+int -+pthread_attr_destroy (pthread_attr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ return 0; -+} -+ -+int -+pthread_attr_setstack (pthread_attr_t *attr, void *__stackaddr, size_t __stacksize) -+{ -+ if (!attr || !__stackaddr || !__stacksize) -+ return EINVAL; -+ attr->stackaddr = __stackaddr; -+ attr->stacksize = __stacksize; -+ return 0; -+} -+ -+int -+pthread_attr_getstack (const pthread_attr_t *attr, void **__stackaddr, size_t *__stacksize) -+{ -+ if (!attr || !__stackaddr || !__stacksize) -+ return EINVAL; -+ *__stackaddr = attr->stackaddr; -+ *__stacksize = attr->stacksize; -+ return 0; -+} -+ -+int -+pthread_attr_getstacksize (const pthread_attr_t *__attr, size_t *__stacksize) -+{ -+ if (!__attr || !__stacksize) -+ return EINVAL; -+ *__stacksize = __attr->stacksize; -+ return 0; -+} -+ -+int -+pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize) -+{ -+ if (!__attr || !__stacksize) -+ return EINVAL; -+ __attr->stacksize = __stacksize; -+ return 0; -+} -+ -+int -+pthread_attr_getstackaddr (const pthread_attr_t *__attr, void **__stackaddr) -+{ -+ if (!__attr || !__stackaddr) -+ return EINVAL; -+ *__stackaddr = __attr->stackaddr; -+ return 0; -+} -+ -+int -+pthread_attr_setstackaddr (pthread_attr_t *__attr, void *__stackaddr) -+{ -+ if (!__attr || !__stackaddr) -+ return EINVAL; -+ __attr->stackaddr = __stackaddr; -+ return 0; -+} -+ -+int -+pthread_attr_getdetachstate (const pthread_attr_t *__attr, int *__detachstate) -+{ -+ if (!__attr || !__detachstate) -+ return EINVAL; -+ *__detachstate = __attr->detachstate; -+ return 0; -+} -+ -+int -+pthread_attr_setdetachstate (pthread_attr_t *__attr, int __detachstate) -+{ -+ if (!__attr) -+ return EINVAL; -+ __attr->detachstate = __detachstate; -+ return 0; -+} -+ -+int -+pthread_attr_getguardsize (const pthread_attr_t *__attr, size_t *__guardsize) -+{ -+ return ENOSYS; // Unsupported -+} -+ -+int -+pthread_attr_setguardsize (pthread_attr_t *__attr, size_t __guardsize) -+{ -+ return ENOSYS; // Unsupported -+} -+ -+//----------------------------------------------------------------------------- -+// Thread -+//----------------------------------------------------------------------------- -+ -+int -+pthread_create (pthread_t *__pthread, const pthread_attr_t *__attr, void *(*__start_routine)(void *), void *__arg) -+{ -+ pthread_attr_t __default; -+ if (!__attr) { -+ pthread_attr_init(&__default); -+ __attr = &__default; -+ } -+ if (!__pthread || !__start_routine) -+ return EINVAL; -+ if (!__has_syscall(thread_create)) -+ return ENOSYS; -+ return __syscall_thread_create(__pthread, __start_routine, __arg, __attr->stackaddr, __attr->stacksize); -+} -+ -+int -+pthread_join (pthread_t __pthread, void **__value_ptr) -+{ -+ if (!__has_syscall(thread_join)) -+ return ENOSYS; -+ void* value = __syscall_thread_join(__pthread); -+ if (__value_ptr) -+ *__value_ptr = value; -+ return 0; -+} -+ -+int -+pthread_detach (pthread_t __pthread) -+{ -+ if (!__has_syscall(thread_detach)) -+ return ENOSYS; -+ return __syscall_thread_detach(__pthread); -+} -+ -+void -+pthread_exit (void *__value_ptr) -+{ -+ if (__has_syscall(thread_exit)) -+ __syscall_thread_exit(__value_ptr); -+ for (;;); -+} -+ -+pthread_t -+pthread_self (void) -+{ -+ if (__has_syscall(thread_self)) -+ return __syscall_thread_self(); -+ return NULL; -+} -+ -+int -+pthread_equal (pthread_t __t1, pthread_t __t2) -+{ -+ return __t1 == __t2; -+} -+ -+int -+pthread_getcpuclockid (pthread_t thread, clockid_t *clock_id) -+{ -+ if (!thread || !clock_id) -+ return EINVAL; -+ *clock_id = CLOCK_REALTIME; -+ return 0; -+} -+ -+int -+pthread_setconcurrency (int new_level) -+{ -+ return ENOSYS; // Unsupported -+} -+ -+int -+pthread_getconcurrency (void) -+{ -+ return ENOSYS; // Unsupported -+} -+ -+//----------------------------------------------------------------------------- -+// Run-once -+//----------------------------------------------------------------------------- -+ -+__LOCK_INIT(static, __pthread_once_lock) -+__COND_INIT(static, __pthread_once_cv) -+ -+int -+pthread_once (pthread_once_t *__once_control, void (*__init_routine)(void)) -+{ -+ if (!__once_control || !__init_routine) -+ return EINVAL; -+ -+ __lock_acquire(__pthread_once_lock); ++//--------------------------------------------------------------------------------- ++#endif // __iosupp_h__ ++//--------------------------------------------------------------------------------- +-- +2.20.1 + + +From dd5d694feb30953f5da03ef4ac53c6156c93edf8 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Wed, 8 Mar 2023 16:24:45 +0000 +Subject: [PATCH 02/83] libgloss/Makefile.in, libgloss/configure: regenerate + +--- + libgloss/Makefile.in | 950 ++++++++++++++++++++++++++++++++++++++++++- + libgloss/configure | 59 ++- + 2 files changed, 986 insertions(+), 23 deletions(-) + +diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in +index a117577ea..91d73e2da 100644 +--- a/libgloss/Makefile.in ++++ b/libgloss/Makefile.in +@@ -173,23 +173,25 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) + @CONFIG_IQ2000_TRUE@am__append_26 = iq2000/test + @CONFIG_LIBNOSYS_TRUE@am__append_27 = libnosys/nosys.specs + @CONFIG_LIBNOSYS_TRUE@am__append_28 = libnosys/libnosys.a +-@CONFIG_LM32_TRUE@am__append_29 = lm32/crt0.o lm32/sim.ld +-@CONFIG_LM32_TRUE@am__append_30 = lm32/libgloss.a +-@CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.S +-@CONFIG_NIOS2_TRUE@am__append_32 = \ ++@CONFIG_LIBSYSBASE_TRUE@am__append_29 = libsysbase/sysbase.specs ++@CONFIG_LIBSYSBASE_TRUE@am__append_30 = libsysbase/libsysbase.a ++@CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.o lm32/sim.ld ++@CONFIG_LM32_TRUE@am__append_32 = lm32/libgloss.a ++@CONFIG_LM32_TRUE@am__append_33 = lm32/crt0.S ++@CONFIG_NIOS2_TRUE@am__append_34 = \ + @CONFIG_NIOS2_TRUE@ nios2/qemu-hosted.ld + +-@CONFIG_NIOS2_TRUE@am__append_33 = nios2/libnios2.a +-@CONFIG_RISCV_TRUE@am__append_34 = \ ++@CONFIG_NIOS2_TRUE@am__append_35 = nios2/libnios2.a ++@CONFIG_RISCV_TRUE@am__append_36 = \ + @CONFIG_RISCV_TRUE@ riscv/nano.specs \ + @CONFIG_RISCV_TRUE@ riscv/sim.specs \ + @CONFIG_RISCV_TRUE@ riscv/semihost.specs \ + @CONFIG_RISCV_TRUE@ riscv/crt0.o + +-@CONFIG_RISCV_TRUE@am__append_35 = riscv/libgloss.a \ ++@CONFIG_RISCV_TRUE@am__append_37 = riscv/libgloss.a \ + @CONFIG_RISCV_TRUE@ riscv/libsemihost.a +-@CONFIG_WINCE_TRUE@am__append_36 = $(gdbdir) +-@CONFIG_WINCE_TRUE@am__append_37 = wince/stub.exe ++@CONFIG_WINCE_TRUE@am__append_38 = $(gdbdir) ++@CONFIG_WINCE_TRUE@am__append_39 = wince/stub.exe + subdir = . + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ +@@ -199,6 +201,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ + $(top_srcdir)/aarch64/acinclude.m4 \ + $(top_srcdir)/arm/acinclude.m4 $(top_srcdir)/i386/acinclude.m4 \ + $(top_srcdir)/libnosys/acinclude.m4 \ ++ $(top_srcdir)/libsysbase/acinclude.m4 \ + $(top_srcdir)/m68k/acinclude.m4 \ + $(top_srcdir)/mcore/acinclude.m4 \ + $(top_srcdir)/mips/acinclude.m4 \ +@@ -421,6 +424,54 @@ libobjs_a_LIBADD = + am_libobjs_a_OBJECTS = $(am__objects_3) $(am__objects_4) \ + $(am__objects_5) $(am__objects_6) + libobjs_a_OBJECTS = $(am_libobjs_a_OBJECTS) ++libsysbase_libsysbase_a_AR = $(AR) $(ARFLAGS) ++libsysbase_libsysbase_a_LIBADD = ++@CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libsysbase_a_OBJECTS = libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-getpid.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-getreent.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-gettod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-handle_manager.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-iosupport.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-isatty.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-kill.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-link.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lseek.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-scandir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-unlink.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-usleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-utime.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-wait.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-write.$(OBJEXT) ++libsysbase_libsysbase_a_OBJECTS = \ ++ $(am_libsysbase_libsysbase_a_OBJECTS) + lm32_libgloss_a_AR = $(AR) $(ARFLAGS) + lm32_libgloss_a_LIBADD = + @CONFIG_LM32_TRUE@am_lm32_libgloss_a_OBJECTS = lm32/isatty.$(OBJEXT) \ +@@ -572,10 +623,10 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ + $(bfin_libbfinbsp_a_SOURCES) $(bfin_libsim_a_SOURCES) \ + $(csky_libsemi_a_SOURCES) $(d30v_libsim_a_SOURCES) \ + $(iq2000_libeval_a_SOURCES) $(libnosys_libnosys_a_SOURCES) \ +- $(libobjs_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ +- $(nios2_libnios2_a_SOURCES) $(riscv_libgloss_a_SOURCES) \ +- $(riscv_libsemihost_a_SOURCES) bfin/sim-test.c iq2000/test.c \ +- $(wince_stub_exe_SOURCES) ++ $(libobjs_a_SOURCES) $(libsysbase_libsysbase_a_SOURCES) \ ++ $(lm32_libgloss_a_SOURCES) $(nios2_libnios2_a_SOURCES) \ ++ $(riscv_libgloss_a_SOURCES) $(riscv_libsemihost_a_SOURCES) \ ++ bfin/sim-test.c iq2000/test.c $(wince_stub_exe_SOURCES) + AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) + am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) + am__v_DVIPS_0 = @echo " DVIPS " $@; +@@ -662,7 +713,7 @@ ETAGS = etags + CTAGS = ctags + CSCOPE = cscope + DIST_SUBDIRS = $(SUBDIRS) +-VPATH = @srcdir@ $(am__append_36) ++VPATH = @srcdir@ $(am__append_38) + AARCH64_OBJTYPE = @AARCH64_OBJTYPE@ + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ +@@ -772,6 +823,7 @@ pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -797,12 +849,13 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) + multilibtool_DATA = $(am__append_3) $(am__append_6) $(am__append_7) \ + $(am__append_8) $(am__append_13) $(am__append_15) \ + $(am__append_18) $(am__append_22) $(am__append_23) \ +- $(am__append_27) $(am__append_29) $(am__append_32) \ +- $(am__append_34) ++ $(am__append_27) $(am__append_29) $(am__append_31) \ ++ $(am__append_34) $(am__append_36) + multilibtool_LIBRARIES = $(am__append_2) $(am__append_5) \ + $(am__append_9) $(am__append_11) $(am__append_20) \ + $(am__append_21) $(am__append_24) $(am__append_28) \ +- $(am__append_30) $(am__append_33) $(am__append_35) ++ $(am__append_30) $(am__append_32) $(am__append_35) \ ++ $(am__append_37) + includetooldir = $(tooldir)/include + includetool_DATA = $(am__append_16) + includesystooldir = $(tooldir)/include/sys +@@ -813,7 +866,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include + # to install (e.g. our crt0.o objects). + noinst_LIBRARIES = libobjs.a + libobjs_a_SOURCES = $(am__append_14) $(am__append_19) $(am__append_25) \ +- $(am__append_31) ++ $(am__append_33) + FLAGS_TO_PASS = \ + "CC=$(CC)" \ + "CFLAGS=$(CFLAGS)" \ +@@ -992,6 +1045,53 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBNOSYS_TRUE@ libnosys/write.c \ + @CONFIG_LIBNOSYS_TRUE@ libnosys/_exit.c + ++@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE ++@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_SOURCES = \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/_exit.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/abort.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/build_argv.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chmod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/clocks.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dirent.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fchmod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fsync.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/ftruncate.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/getpid.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/getreent.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/gettod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/handle_manager.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/iosupport.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/isatty.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/kill.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/link.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/lseek.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/lstat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/malloc_vars.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/mkdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/nanosleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sbrk.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/scandir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/stat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/statvfs.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/syscall_support.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/times.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/truncate.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/unlink.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/usleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/utime.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/wait.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/write.c + -+ if (__once_control->status == 0) { -+ __once_control->status = 1; -+ __lock_release(__pthread_once_lock); -+ __init_routine(); -+ __lock_acquire(__pthread_once_lock); -+ __once_control->status = 2; -+ __cond_broadcast(__pthread_once_cv); -+ } else { -+ while (__once_control->status == 1) -+ __cond_wait(__pthread_once_cv, __pthread_once_lock, UINT64_MAX); -+ } + @CONFIG_LM32_TRUE@lm32_libgloss_a_SOURCES = \ + @CONFIG_LM32_TRUE@ lm32/isatty.c \ + @CONFIG_LM32_TRUE@ lm32/scall.S +@@ -1099,7 +1199,7 @@ all: config.h + .SUFFIXES: .S .c .dvi .o .obj .ps + am--refresh: Makefile + @: +-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ +@@ -1121,7 +1221,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; +-$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): ++$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): + + $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck +@@ -1585,6 +1685,149 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE + $(AM_V_at)-rm -f libobjs.a + $(AM_V_AR)$(libobjs_a_AR) libobjs.a $(libobjs_a_OBJECTS) $(libobjs_a_LIBADD) + $(AM_V_at)$(RANLIB) libobjs.a ++libsysbase/$(am__dirstamp): ++ @$(MKDIR_P) libsysbase ++ @: > libsysbase/$(am__dirstamp) ++libsysbase/$(DEPDIR)/$(am__dirstamp): ++ @$(MKDIR_P) libsysbase/$(DEPDIR) ++ @: > libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-getpid.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-getreent.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-gettod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-handle_manager.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-iosupport.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-isatty.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-kill.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-link.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-lseek.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-scandir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-unlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-usleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-utime.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-wait.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-write.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) + -+ __lock_release(__pthread_once_lock); -+ return 0; -+} ++libsysbase/libsysbase.a: $(libsysbase_libsysbase_a_OBJECTS) $(libsysbase_libsysbase_a_DEPENDENCIES) $(EXTRA_libsysbase_libsysbase_a_DEPENDENCIES) libsysbase/$(am__dirstamp) ++ $(AM_V_at)-rm -f libsysbase/libsysbase.a ++ $(AM_V_AR)$(libsysbase_libsysbase_a_AR) libsysbase/libsysbase.a $(libsysbase_libsysbase_a_OBJECTS) $(libsysbase_libsysbase_a_LIBADD) ++ $(AM_V_at)$(RANLIB) libsysbase/libsysbase.a + lm32/isatty.$(OBJEXT): lm32/$(am__dirstamp) \ + lm32/$(DEPDIR)/$(am__dirstamp) + lm32/scall.$(OBJEXT): lm32/$(am__dirstamp) \ +@@ -1852,6 +2095,7 @@ mostlyclean-compile: + -rm -f d30v/*.$(OBJEXT) + -rm -f iq2000/*.$(OBJEXT) + -rm -f libnosys/*.$(OBJEXT) ++ -rm -f libsysbase/*.$(OBJEXT) + -rm -f lm32/*.$(OBJEXT) + -rm -f nios2/*.$(OBJEXT) + -rm -f riscv/*.$(OBJEXT) +@@ -1973,6 +2217,50 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/unlink.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/wait.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/write.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/crt0.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/isatty.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/scall.Po@am__quote@ +@@ -2717,6 +3005,622 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csky_libsemi_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o csky/csky_libsemi_a-getpid.obj `if test -f 'csky/getpid.c'; then $(CYGPATH_W) 'csky/getpid.c'; else $(CYGPATH_W) '$(srcdir)/csky/getpid.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-_exit.o: libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-_exit.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo -c -o libsysbase/libsysbase_libsysbase_a-_exit.o `test -f 'libsysbase/_exit.c' || echo '$(srcdir)/'`libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/_exit.c' object='libsysbase/libsysbase_libsysbase_a-_exit.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-_exit.o `test -f 'libsysbase/_exit.c' || echo '$(srcdir)/'`libsysbase/_exit.c + -+//----------------------------------------------------------------------------- -+// Thread-specific keys (TLS) -+//----------------------------------------------------------------------------- ++libsysbase/libsysbase_libsysbase_a-_exit.obj: libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-_exit.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo -c -o libsysbase/libsysbase_libsysbase_a-_exit.obj `if test -f 'libsysbase/_exit.c'; then $(CYGPATH_W) 'libsysbase/_exit.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/_exit.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/_exit.c' object='libsysbase/libsysbase_libsysbase_a-_exit.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-_exit.obj `if test -f 'libsysbase/_exit.c'; then $(CYGPATH_W) 'libsysbase/_exit.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/_exit.c'; fi` + -+int -+pthread_key_create (pthread_key_t *__key, void (*__destructor)(void *)) -+{ -+ if (!__key) -+ return EINVAL; -+ if (!__has_syscall(tls_create)) -+ return ENOSYS; -+ return __syscall_tls_create(__key, __destructor); -+} ++libsysbase/libsysbase_libsysbase_a-abort.o: libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-abort.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo -c -o libsysbase/libsysbase_libsysbase_a-abort.o `test -f 'libsysbase/abort.c' || echo '$(srcdir)/'`libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/abort.c' object='libsysbase/libsysbase_libsysbase_a-abort.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.o `test -f 'libsysbase/abort.c' || echo '$(srcdir)/'`libsysbase/abort.c + -+int -+pthread_setspecific (pthread_key_t __key, const void *__value) -+{ -+ if (!__has_syscall(tls_set)) -+ return ENOSYS; -+ return __syscall_tls_set(__key, __value); -+} ++libsysbase/libsysbase_libsysbase_a-abort.obj: libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-abort.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/abort.c' object='libsysbase/libsysbase_libsysbase_a-abort.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` + -+void * -+pthread_getspecific (pthread_key_t __key) -+{ -+ if (__has_syscall(tls_get)) -+ return __syscall_tls_get(__key); -+ return NULL; -+} ++libsysbase/libsysbase_libsysbase_a-build_argv.o: libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/build_argv.c' object='libsysbase/libsysbase_libsysbase_a-build_argv.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c + -+int -+pthread_key_delete (pthread_key_t __key) -+{ -+ if (!__has_syscall(tls_delete)) -+ return ENOSYS; -+ return __syscall_tls_delete(__key); -+} ++libsysbase/libsysbase_libsysbase_a-build_argv.obj: libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.obj `if test -f 'libsysbase/build_argv.c'; then $(CYGPATH_W) 'libsysbase/build_argv.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/build_argv.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/build_argv.c' object='libsysbase/libsysbase_libsysbase_a-build_argv.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-build_argv.obj `if test -f 'libsysbase/build_argv.c'; then $(CYGPATH_W) 'libsysbase/build_argv.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/build_argv.c'; fi` + -+//----------------------------------------------------------------------------- -+// Cancel -+//----------------------------------------------------------------------------- ++libsysbase/libsysbase_libsysbase_a-chdir.o: libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chdir.o `test -f 'libsysbase/chdir.c' || echo '$(srcdir)/'`libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chdir.c' object='libsysbase/libsysbase_libsysbase_a-chdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chdir.o `test -f 'libsysbase/chdir.c' || echo '$(srcdir)/'`libsysbase/chdir.c + -+int -+pthread_cancel (pthread_t __pthread) -+{ -+ return ENOSYS; // Unsupported -+} ++libsysbase/libsysbase_libsysbase_a-chdir.obj: libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chdir.obj `if test -f 'libsysbase/chdir.c'; then $(CYGPATH_W) 'libsysbase/chdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chdir.c' object='libsysbase/libsysbase_libsysbase_a-chdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chdir.obj `if test -f 'libsysbase/chdir.c'; then $(CYGPATH_W) 'libsysbase/chdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chdir.c'; fi` + -+int -+pthread_setcancelstate (int __state, int *__oldstate) -+{ -+ return ENOSYS; // Unsupported -+} ++libsysbase/libsysbase_libsysbase_a-chmod.o: libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chmod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chmod.o `test -f 'libsysbase/chmod.c' || echo '$(srcdir)/'`libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chmod.c' object='libsysbase/libsysbase_libsysbase_a-chmod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chmod.o `test -f 'libsysbase/chmod.c' || echo '$(srcdir)/'`libsysbase/chmod.c + -+int -+pthread_setcanceltype (int __type, int *__oldtype) -+{ -+ return ENOSYS; // Unsupported -+} ++libsysbase/libsysbase_libsysbase_a-chmod.obj: libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chmod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chmod.obj `if test -f 'libsysbase/chmod.c'; then $(CYGPATH_W) 'libsysbase/chmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chmod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chmod.c' object='libsysbase/libsysbase_libsysbase_a-chmod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chmod.obj `if test -f 'libsysbase/chmod.c'; then $(CYGPATH_W) 'libsysbase/chmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chmod.c'; fi` + -+void -+pthread_testcancel (void) -+{ -+ // Unsupported -+} ++libsysbase/libsysbase_libsysbase_a-clocks.o: libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-clocks.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo -c -o libsysbase/libsysbase_libsysbase_a-clocks.o `test -f 'libsysbase/clocks.c' || echo '$(srcdir)/'`libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/clocks.c' object='libsysbase/libsysbase_libsysbase_a-clocks.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.o `test -f 'libsysbase/clocks.c' || echo '$(srcdir)/'`libsysbase/clocks.c + -+//----------------------------------------------------------------------------- -+// Cleanup -+//----------------------------------------------------------------------------- ++libsysbase/libsysbase_libsysbase_a-clocks.obj: libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-clocks.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/clocks.c' object='libsysbase/libsysbase_libsysbase_a-clocks.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` + -+static pthread_once_t __pthread_cleanup_once; -+static pthread_key_t __pthread_cleanup_key; ++libsysbase/libsysbase_libsysbase_a-dirent.o: libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/dirent.c' object='libsysbase/libsysbase_libsysbase_a-dirent.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c + -+static void -+__pthread_cleanup_dtor (void *arg) -+{ -+ struct _pthread_cleanup_context *cur; -+ for (cur = (struct _pthread_cleanup_context *)arg; cur; cur = cur->_previous) -+ cur->_routine(cur->_arg); -+} ++libsysbase/libsysbase_libsysbase_a-dirent.obj: libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.obj `if test -f 'libsysbase/dirent.c'; then $(CYGPATH_W) 'libsysbase/dirent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/dirent.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/dirent.c' object='libsysbase/libsysbase_libsysbase_a-dirent.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-dirent.obj `if test -f 'libsysbase/dirent.c'; then $(CYGPATH_W) 'libsysbase/dirent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/dirent.c'; fi` + -+static void -+__pthread_cleanup_setup (void) -+{ -+ int err = pthread_key_create(&__pthread_cleanup_key, __pthread_cleanup_dtor); -+ if (err) -+ abort(); -+} ++libsysbase/libsysbase_libsysbase_a-environ.o: libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-environ.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo -c -o libsysbase/libsysbase_libsysbase_a-environ.o `test -f 'libsysbase/environ.c' || echo '$(srcdir)/'`libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/environ.c' object='libsysbase/libsysbase_libsysbase_a-environ.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-environ.o `test -f 'libsysbase/environ.c' || echo '$(srcdir)/'`libsysbase/environ.c + -+void -+_pthread_cleanup_push (struct _pthread_cleanup_context *_context, void (*_routine)(void *), void *_arg) -+{ -+ pthread_once(&__pthread_cleanup_once, __pthread_cleanup_setup); -+ _context->_routine = _routine; -+ _context->_arg = _arg; -+ _context->_previous = (struct _pthread_cleanup_context *)pthread_getspecific(__pthread_cleanup_key); -+ pthread_setspecific(__pthread_cleanup_key, _context); -+} ++libsysbase/libsysbase_libsysbase_a-environ.obj: libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-environ.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo -c -o libsysbase/libsysbase_libsysbase_a-environ.obj `if test -f 'libsysbase/environ.c'; then $(CYGPATH_W) 'libsysbase/environ.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/environ.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/environ.c' object='libsysbase/libsysbase_libsysbase_a-environ.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-environ.obj `if test -f 'libsysbase/environ.c'; then $(CYGPATH_W) 'libsysbase/environ.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/environ.c'; fi` + -+void -+_pthread_cleanup_pop (struct _pthread_cleanup_context *_context, int _execute) -+{ -+ struct _pthread_cleanup_context *cur = (struct _pthread_cleanup_context *)pthread_getspecific(__pthread_cleanup_key); -+ if (cur) { -+ if (_execute) -+ cur->_routine(cur->_arg); -+ pthread_setspecific(__pthread_cleanup_key, cur->_previous); -+ } -+} ++libsysbase/libsysbase_libsysbase_a-execve.o: libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-execve.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo -c -o libsysbase/libsysbase_libsysbase_a-execve.o `test -f 'libsysbase/execve.c' || echo '$(srcdir)/'`libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/execve.c' object='libsysbase/libsysbase_libsysbase_a-execve.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-execve.o `test -f 'libsysbase/execve.c' || echo '$(srcdir)/'`libsysbase/execve.c + -+//----------------------------------------------------------------------------- -+// Barrier -+//----------------------------------------------------------------------------- ++libsysbase/libsysbase_libsysbase_a-execve.obj: libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-execve.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo -c -o libsysbase/libsysbase_libsysbase_a-execve.obj `if test -f 'libsysbase/execve.c'; then $(CYGPATH_W) 'libsysbase/execve.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/execve.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/execve.c' object='libsysbase/libsysbase_libsysbase_a-execve.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-execve.obj `if test -f 'libsysbase/execve.c'; then $(CYGPATH_W) 'libsysbase/execve.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/execve.c'; fi` + -+int -+pthread_barrierattr_init (pthread_barrierattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-fchmod.o: libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fchmod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fchmod.o `test -f 'libsysbase/fchmod.c' || echo '$(srcdir)/'`libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fchmod.c' object='libsysbase/libsysbase_libsysbase_a-fchmod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.o `test -f 'libsysbase/fchmod.c' || echo '$(srcdir)/'`libsysbase/fchmod.c + -+int -+pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-fchmod.obj: libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fchmod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fchmod.c' object='libsysbase/libsysbase_libsysbase_a-fchmod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` + -+int -+pthread_barrierattr_getpshared (const pthread_barrierattr_t *__attr, int *__pshared) -+{ -+ return ENOSYS; -+} ++libsysbase/libsysbase_libsysbase_a-fork.o: libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fork.c' object='libsysbase/libsysbase_libsysbase_a-fork.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c + -+int -+pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, int __pshared) -+{ -+ return ENOSYS; -+} ++libsysbase/libsysbase_libsysbase_a-fork.obj: libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fork.c' object='libsysbase/libsysbase_libsysbase_a-fork.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` + -+int -+pthread_barrier_init (pthread_barrier_t *__barrier, const pthread_barrierattr_t *__attr, unsigned __count) -+{ -+ if (!__barrier || !__count) -+ return EINVAL; ++libsysbase/libsysbase_libsysbase_a-fstat.o: libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fstat.c' object='libsysbase/libsysbase_libsysbase_a-fstat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c + -+ __barrier->lock = __LOCK_INITIALIZER; -+ __barrier->cond = __COND_INITIALIZER; -+ __barrier->reload = __count; -+ __barrier->counter = __count; -+ __barrier->cycle = 0; -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-fstat.obj: libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.obj `if test -f 'libsysbase/fstat.c'; then $(CYGPATH_W) 'libsysbase/fstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fstat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fstat.c' object='libsysbase/libsysbase_libsysbase_a-fstat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fstat.obj `if test -f 'libsysbase/fstat.c'; then $(CYGPATH_W) 'libsysbase/fstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fstat.c'; fi` + -+int -+pthread_barrier_destroy (pthread_barrier_t *__barrier) -+{ -+ if (!__barrier) -+ return EINVAL; -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-fsync.o: libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fsync.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fsync.o `test -f 'libsysbase/fsync.c' || echo '$(srcdir)/'`libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fsync.c' object='libsysbase/libsysbase_libsysbase_a-fsync.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fsync.o `test -f 'libsysbase/fsync.c' || echo '$(srcdir)/'`libsysbase/fsync.c + -+int -+pthread_barrier_wait (pthread_barrier_t *__barrier) -+{ -+ if (!__barrier) -+ return EINVAL; ++libsysbase/libsysbase_libsysbase_a-fsync.obj: libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fsync.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fsync.obj `if test -f 'libsysbase/fsync.c'; then $(CYGPATH_W) 'libsysbase/fsync.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fsync.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fsync.c' object='libsysbase/libsysbase_libsysbase_a-fsync.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fsync.obj `if test -f 'libsysbase/fsync.c'; then $(CYGPATH_W) 'libsysbase/fsync.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fsync.c'; fi` + -+ __lock_acquire(__barrier->lock); ++libsysbase/libsysbase_libsysbase_a-ftruncate.o: libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-ftruncate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.o `test -f 'libsysbase/ftruncate.c' || echo '$(srcdir)/'`libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/ftruncate.c' object='libsysbase/libsysbase_libsysbase_a-ftruncate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.o `test -f 'libsysbase/ftruncate.c' || echo '$(srcdir)/'`libsysbase/ftruncate.c + -+ int is_last_thread = !--__barrier->counter; -+ if (is_last_thread) { -+ __barrier->cycle ++; -+ __barrier->counter = __barrier->reload; -+ __cond_broadcast(__barrier->cond); -+ } else { -+ unsigned my_cycle = __barrier->cycle; -+ do -+ __cond_wait(__barrier->cond, __barrier->lock, UINT64_MAX); -+ while (__barrier->cycle == my_cycle); -+ } ++libsysbase/libsysbase_libsysbase_a-ftruncate.obj: libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-ftruncate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.obj `if test -f 'libsysbase/ftruncate.c'; then $(CYGPATH_W) 'libsysbase/ftruncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/ftruncate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/ftruncate.c' object='libsysbase/libsysbase_libsysbase_a-ftruncate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.obj `if test -f 'libsysbase/ftruncate.c'; then $(CYGPATH_W) 'libsysbase/ftruncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/ftruncate.c'; fi` + -+ __lock_release(__barrier->lock); -+ return is_last_thread ? PTHREAD_BARRIER_SERIAL_THREAD : 0; -+} ++libsysbase/libsysbase_libsysbase_a-getpid.o: libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getpid.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getpid.o `test -f 'libsysbase/getpid.c' || echo '$(srcdir)/'`libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getpid.c' object='libsysbase/libsysbase_libsysbase_a-getpid.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getpid.o `test -f 'libsysbase/getpid.c' || echo '$(srcdir)/'`libsysbase/getpid.c + -+//----------------------------------------------------------------------------- -+// Read/write lock -+//----------------------------------------------------------------------------- ++libsysbase/libsysbase_libsysbase_a-getpid.obj: libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getpid.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getpid.obj `if test -f 'libsysbase/getpid.c'; then $(CYGPATH_W) 'libsysbase/getpid.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getpid.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getpid.c' object='libsysbase/libsysbase_libsysbase_a-getpid.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getpid.obj `if test -f 'libsysbase/getpid.c'; then $(CYGPATH_W) 'libsysbase/getpid.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getpid.c'; fi` + -+int -+pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-getreent.o: libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getreent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getreent.o `test -f 'libsysbase/getreent.c' || echo '$(srcdir)/'`libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getreent.c' object='libsysbase/libsysbase_libsysbase_a-getreent.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getreent.o `test -f 'libsysbase/getreent.c' || echo '$(srcdir)/'`libsysbase/getreent.c + -+int -+pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-getreent.obj: libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getreent.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getreent.obj `if test -f 'libsysbase/getreent.c'; then $(CYGPATH_W) 'libsysbase/getreent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getreent.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getreent.c' object='libsysbase/libsysbase_libsysbase_a-getreent.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getreent.obj `if test -f 'libsysbase/getreent.c'; then $(CYGPATH_W) 'libsysbase/getreent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getreent.c'; fi` + -+int -+pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *__attr, int *__pshared) -+{ -+ return ENOSYS; -+} ++libsysbase/libsysbase_libsysbase_a-gettod.o: libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-gettod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-gettod.o `test -f 'libsysbase/gettod.c' || echo '$(srcdir)/'`libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/gettod.c' object='libsysbase/libsysbase_libsysbase_a-gettod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-gettod.o `test -f 'libsysbase/gettod.c' || echo '$(srcdir)/'`libsysbase/gettod.c + -+int -+pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, int __pshared) -+{ -+ return ENOSYS; -+} ++libsysbase/libsysbase_libsysbase_a-gettod.obj: libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-gettod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-gettod.obj `if test -f 'libsysbase/gettod.c'; then $(CYGPATH_W) 'libsysbase/gettod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/gettod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/gettod.c' object='libsysbase/libsysbase_libsysbase_a-gettod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-gettod.obj `if test -f 'libsysbase/gettod.c'; then $(CYGPATH_W) 'libsysbase/gettod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/gettod.c'; fi` + -+int -+pthread_rwlock_init (pthread_rwlock_t *__rwlock, const pthread_rwlockattr_t *__attr) -+{ -+ if (!__rwlock) -+ return EINVAL; -+ *__rwlock = PTHREAD_RWLOCK_INITIALIZER; -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-handle_manager.o: libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-handle_manager.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.o `test -f 'libsysbase/handle_manager.c' || echo '$(srcdir)/'`libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/handle_manager.c' object='libsysbase/libsysbase_libsysbase_a-handle_manager.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.o `test -f 'libsysbase/handle_manager.c' || echo '$(srcdir)/'`libsysbase/handle_manager.c + -+int -+pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) -+{ -+ if (!__rwlock) -+ return EINVAL; -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-handle_manager.obj: libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-handle_manager.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.obj `if test -f 'libsysbase/handle_manager.c'; then $(CYGPATH_W) 'libsysbase/handle_manager.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/handle_manager.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/handle_manager.c' object='libsysbase/libsysbase_libsysbase_a-handle_manager.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.obj `if test -f 'libsysbase/handle_manager.c'; then $(CYGPATH_W) 'libsysbase/handle_manager.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/handle_manager.c'; fi` + -+static int -+__pthread_rwlock_rdlock_common (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) -+{ -+ int rc = 0; -+ __lock_acquire(__rwlock->lock); ++libsysbase/libsysbase_libsysbase_a-iosupport.o: libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-iosupport.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo -c -o libsysbase/libsysbase_libsysbase_a-iosupport.o `test -f 'libsysbase/iosupport.c' || echo '$(srcdir)/'`libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/iosupport.c' object='libsysbase/libsysbase_libsysbase_a-iosupport.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-iosupport.o `test -f 'libsysbase/iosupport.c' || echo '$(srcdir)/'`libsysbase/iosupport.c + -+ while (__rwlock->cnt_w) { -+ rc = __cond_wait(__rwlock->cond_w, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); -+ if (rc) break; -+ } ++libsysbase/libsysbase_libsysbase_a-iosupport.obj: libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-iosupport.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo -c -o libsysbase/libsysbase_libsysbase_a-iosupport.obj `if test -f 'libsysbase/iosupport.c'; then $(CYGPATH_W) 'libsysbase/iosupport.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/iosupport.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/iosupport.c' object='libsysbase/libsysbase_libsysbase_a-iosupport.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-iosupport.obj `if test -f 'libsysbase/iosupport.c'; then $(CYGPATH_W) 'libsysbase/iosupport.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/iosupport.c'; fi` + -+ if (!rc) -+ __rwlock->cnt_r ++; ++libsysbase/libsysbase_libsysbase_a-isatty.o: libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-isatty.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo -c -o libsysbase/libsysbase_libsysbase_a-isatty.o `test -f 'libsysbase/isatty.c' || echo '$(srcdir)/'`libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/isatty.c' object='libsysbase/libsysbase_libsysbase_a-isatty.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-isatty.o `test -f 'libsysbase/isatty.c' || echo '$(srcdir)/'`libsysbase/isatty.c + -+ __lock_release(__rwlock->lock); -+ return rc; -+} ++libsysbase/libsysbase_libsysbase_a-isatty.obj: libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-isatty.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo -c -o libsysbase/libsysbase_libsysbase_a-isatty.obj `if test -f 'libsysbase/isatty.c'; then $(CYGPATH_W) 'libsysbase/isatty.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/isatty.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/isatty.c' object='libsysbase/libsysbase_libsysbase_a-isatty.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-isatty.obj `if test -f 'libsysbase/isatty.c'; then $(CYGPATH_W) 'libsysbase/isatty.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/isatty.c'; fi` + -+int -+pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) -+{ -+ if (!__rwlock) -+ return EINVAL; -+ return __pthread_rwlock_rdlock_common(__rwlock, NULL); -+} ++libsysbase/libsysbase_libsysbase_a-kill.o: libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-kill.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo -c -o libsysbase/libsysbase_libsysbase_a-kill.o `test -f 'libsysbase/kill.c' || echo '$(srcdir)/'`libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/kill.c' object='libsysbase/libsysbase_libsysbase_a-kill.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-kill.o `test -f 'libsysbase/kill.c' || echo '$(srcdir)/'`libsysbase/kill.c + -+int -+pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) -+{ -+ if (!__rwlock) -+ return EINVAL; ++libsysbase/libsysbase_libsysbase_a-kill.obj: libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-kill.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo -c -o libsysbase/libsysbase_libsysbase_a-kill.obj `if test -f 'libsysbase/kill.c'; then $(CYGPATH_W) 'libsysbase/kill.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/kill.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/kill.c' object='libsysbase/libsysbase_libsysbase_a-kill.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-kill.obj `if test -f 'libsysbase/kill.c'; then $(CYGPATH_W) 'libsysbase/kill.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/kill.c'; fi` + -+ __lock_acquire(__rwlock->lock); ++libsysbase/libsysbase_libsysbase_a-link.o: libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-link.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo -c -o libsysbase/libsysbase_libsysbase_a-link.o `test -f 'libsysbase/link.c' || echo '$(srcdir)/'`libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/link.c' object='libsysbase/libsysbase_libsysbase_a-link.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-link.o `test -f 'libsysbase/link.c' || echo '$(srcdir)/'`libsysbase/link.c + -+ int failed = __rwlock->cnt_w != 0; -+ if (!failed) -+ __rwlock->cnt_r ++; ++libsysbase/libsysbase_libsysbase_a-link.obj: libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-link.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo -c -o libsysbase/libsysbase_libsysbase_a-link.obj `if test -f 'libsysbase/link.c'; then $(CYGPATH_W) 'libsysbase/link.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/link.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/link.c' object='libsysbase/libsysbase_libsysbase_a-link.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-link.obj `if test -f 'libsysbase/link.c'; then $(CYGPATH_W) 'libsysbase/link.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/link.c'; fi` + -+ __lock_release(__rwlock->lock); -+ return failed ? EBUSY : 0; -+} ++libsysbase/libsysbase_libsysbase_a-lseek.o: libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lseek.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lseek.o `test -f 'libsysbase/lseek.c' || echo '$(srcdir)/'`libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lseek.c' object='libsysbase/libsysbase_libsysbase_a-lseek.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lseek.o `test -f 'libsysbase/lseek.c' || echo '$(srcdir)/'`libsysbase/lseek.c + -+int -+pthread_rwlock_timedrdlock (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) -+{ -+ if (!__rwlock || !__abstime) -+ return EINVAL; -+ return __pthread_rwlock_rdlock_common(__rwlock, __abstime); -+} ++libsysbase/libsysbase_libsysbase_a-lseek.obj: libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lseek.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lseek.obj `if test -f 'libsysbase/lseek.c'; then $(CYGPATH_W) 'libsysbase/lseek.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lseek.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lseek.c' object='libsysbase/libsysbase_libsysbase_a-lseek.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lseek.obj `if test -f 'libsysbase/lseek.c'; then $(CYGPATH_W) 'libsysbase/lseek.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lseek.c'; fi` + -+int -+pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) -+{ -+ if (!__rwlock) -+ return EINVAL; ++libsysbase/libsysbase_libsysbase_a-lstat.o: libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lstat.o `test -f 'libsysbase/lstat.c' || echo '$(srcdir)/'`libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lstat.c' object='libsysbase/libsysbase_libsysbase_a-lstat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lstat.o `test -f 'libsysbase/lstat.c' || echo '$(srcdir)/'`libsysbase/lstat.c + -+ __lock_acquire(__rwlock->lock); ++libsysbase/libsysbase_libsysbase_a-lstat.obj: libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lstat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lstat.obj `if test -f 'libsysbase/lstat.c'; then $(CYGPATH_W) 'libsysbase/lstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lstat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lstat.c' object='libsysbase/libsysbase_libsysbase_a-lstat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lstat.obj `if test -f 'libsysbase/lstat.c'; then $(CYGPATH_W) 'libsysbase/lstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lstat.c'; fi` + -+ if (__rwlock->cnt_w != 2) { -+ if (!--__rwlock->cnt_r) -+ __cond_broadcast(__rwlock->cond_r); -+ } else { -+ __rwlock->cnt_w = 0; -+ __cond_broadcast(__rwlock->cond_w); -+ } ++libsysbase/libsysbase_libsysbase_a-malloc_vars.o: libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-malloc_vars.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.o `test -f 'libsysbase/malloc_vars.c' || echo '$(srcdir)/'`libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/malloc_vars.c' object='libsysbase/libsysbase_libsysbase_a-malloc_vars.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.o `test -f 'libsysbase/malloc_vars.c' || echo '$(srcdir)/'`libsysbase/malloc_vars.c + -+ __lock_release(__rwlock->lock); -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-malloc_vars.obj: libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-malloc_vars.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.obj `if test -f 'libsysbase/malloc_vars.c'; then $(CYGPATH_W) 'libsysbase/malloc_vars.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/malloc_vars.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/malloc_vars.c' object='libsysbase/libsysbase_libsysbase_a-malloc_vars.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.obj `if test -f 'libsysbase/malloc_vars.c'; then $(CYGPATH_W) 'libsysbase/malloc_vars.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/malloc_vars.c'; fi` + -+static int -+__pthread_rwlock_wrlock_common (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) -+{ -+ int rc = 0; -+ __lock_acquire(__rwlock->lock); ++libsysbase/libsysbase_libsysbase_a-mkdir.o: libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-mkdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-mkdir.o `test -f 'libsysbase/mkdir.c' || echo '$(srcdir)/'`libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/mkdir.c' object='libsysbase/libsysbase_libsysbase_a-mkdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.o `test -f 'libsysbase/mkdir.c' || echo '$(srcdir)/'`libsysbase/mkdir.c + -+ while (__rwlock->cnt_w) { -+ rc = __cond_wait(__rwlock->cond_w, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); -+ if (rc) break; -+ } ++libsysbase/libsysbase_libsysbase_a-mkdir.obj: libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-mkdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/mkdir.c' object='libsysbase/libsysbase_libsysbase_a-mkdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` + -+ if (!rc) { -+ __rwlock->cnt_w = 1; ++libsysbase/libsysbase_libsysbase_a-nanosleep.o: libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/nanosleep.c' object='libsysbase/libsysbase_libsysbase_a-nanosleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c + -+ while (__rwlock->cnt_r) { -+ rc = __cond_wait(__rwlock->cond_r, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); -+ if (rc) break; -+ } ++libsysbase/libsysbase_libsysbase_a-nanosleep.obj: libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.obj `if test -f 'libsysbase/nanosleep.c'; then $(CYGPATH_W) 'libsysbase/nanosleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/nanosleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/nanosleep.c' object='libsysbase/libsysbase_libsysbase_a-nanosleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.obj `if test -f 'libsysbase/nanosleep.c'; then $(CYGPATH_W) 'libsysbase/nanosleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/nanosleep.c'; fi` + -+ if (rc) { -+ __rwlock->cnt_w = 0; -+ __cond_broadcast(__rwlock->cond_w); -+ } else -+ __rwlock->cnt_w = 2; -+ } ++libsysbase/libsysbase_libsysbase_a-open.o: libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-open.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo -c -o libsysbase/libsysbase_libsysbase_a-open.o `test -f 'libsysbase/open.c' || echo '$(srcdir)/'`libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/open.c' object='libsysbase/libsysbase_libsysbase_a-open.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.o `test -f 'libsysbase/open.c' || echo '$(srcdir)/'`libsysbase/open.c + -+ __lock_release(__rwlock->lock); -+ return rc; -+} ++libsysbase/libsysbase_libsysbase_a-open.obj: libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-open.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/open.c' object='libsysbase/libsysbase_libsysbase_a-open.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` + -+int -+pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) -+{ -+ if (!__rwlock) -+ return EINVAL; -+ return __pthread_rwlock_wrlock_common(__rwlock, NULL); -+} ++libsysbase/libsysbase_libsysbase_a-read.o: libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/read.c' object='libsysbase/libsysbase_libsysbase_a-read.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c + -+int -+pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) -+{ -+ if (!__rwlock) -+ return EINVAL; ++libsysbase/libsysbase_libsysbase_a-read.obj: libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/read.c' object='libsysbase/libsysbase_libsysbase_a-read.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` + -+ __lock_acquire(__rwlock->lock); ++libsysbase/libsysbase_libsysbase_a-rename.o: libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rename.c' object='libsysbase/libsysbase_libsysbase_a-rename.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c + -+ int failed = __rwlock->cnt_w != 0 || __rwlock->cnt_r != 0; -+ if (!failed) -+ __rwlock->cnt_w = 2; ++libsysbase/libsysbase_libsysbase_a-rename.obj: libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.obj `if test -f 'libsysbase/rename.c'; then $(CYGPATH_W) 'libsysbase/rename.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rename.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rename.c' object='libsysbase/libsysbase_libsysbase_a-rename.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rename.obj `if test -f 'libsysbase/rename.c'; then $(CYGPATH_W) 'libsysbase/rename.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rename.c'; fi` + -+ __lock_release(__rwlock->lock); -+ return failed ? EBUSY : 0; -+} ++libsysbase/libsysbase_libsysbase_a-rmdir.o: libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rmdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rmdir.o `test -f 'libsysbase/rmdir.c' || echo '$(srcdir)/'`libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rmdir.c' object='libsysbase/libsysbase_libsysbase_a-rmdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rmdir.o `test -f 'libsysbase/rmdir.c' || echo '$(srcdir)/'`libsysbase/rmdir.c + -+int -+pthread_rwlock_timedwrlock (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) -+{ -+ if (!__rwlock || !__abstime) -+ return EINVAL; -+ return __pthread_rwlock_wrlock_common(__rwlock, __abstime); -+} ++libsysbase/libsysbase_libsysbase_a-rmdir.obj: libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rmdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rmdir.obj `if test -f 'libsysbase/rmdir.c'; then $(CYGPATH_W) 'libsysbase/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rmdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rmdir.c' object='libsysbase/libsysbase_libsysbase_a-rmdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rmdir.obj `if test -f 'libsysbase/rmdir.c'; then $(CYGPATH_W) 'libsysbase/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rmdir.c'; fi` + -+//----------------------------------------------------------------------------- -+// semaphore.h -+//----------------------------------------------------------------------------- ++libsysbase/libsysbase_libsysbase_a-sbrk.o: libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sbrk.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sbrk.o `test -f 'libsysbase/sbrk.c' || echo '$(srcdir)/'`libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sbrk.c' object='libsysbase/libsysbase_libsysbase_a-sbrk.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sbrk.o `test -f 'libsysbase/sbrk.c' || echo '$(srcdir)/'`libsysbase/sbrk.c + -+int -+sem_close(sem_t *__sem) -+{ -+ errno = ENOSYS; -+ return -1; -+} ++libsysbase/libsysbase_libsysbase_a-sbrk.obj: libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sbrk.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sbrk.obj `if test -f 'libsysbase/sbrk.c'; then $(CYGPATH_W) 'libsysbase/sbrk.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sbrk.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sbrk.c' object='libsysbase/libsysbase_libsysbase_a-sbrk.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sbrk.obj `if test -f 'libsysbase/sbrk.c'; then $(CYGPATH_W) 'libsysbase/sbrk.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sbrk.c'; fi` + -+int -+sem_destroy(sem_t *__sem) -+{ -+ if (!__sem) { -+ errno = EINVAL; -+ return -1; -+ } -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-scandir.o: libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-scandir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-scandir.o `test -f 'libsysbase/scandir.c' || echo '$(srcdir)/'`libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/scandir.c' object='libsysbase/libsysbase_libsysbase_a-scandir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-scandir.o `test -f 'libsysbase/scandir.c' || echo '$(srcdir)/'`libsysbase/scandir.c + -+int -+sem_getvalue(sem_t *__sem, int *__sval) -+{ -+ if (!__sem || !__sval) { -+ errno = EINVAL; -+ return -1; -+ } ++libsysbase/libsysbase_libsysbase_a-scandir.obj: libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-scandir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-scandir.obj `if test -f 'libsysbase/scandir.c'; then $(CYGPATH_W) 'libsysbase/scandir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/scandir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/scandir.c' object='libsysbase/libsysbase_libsysbase_a-scandir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-scandir.obj `if test -f 'libsysbase/scandir.c'; then $(CYGPATH_W) 'libsysbase/scandir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/scandir.c'; fi` + -+ __lock_acquire(__sem->lock); -+ *__sval = __sem->value; -+ __lock_release(__sem->lock); -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-sleep.o: libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sleep.o `test -f 'libsysbase/sleep.c' || echo '$(srcdir)/'`libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sleep.c' object='libsysbase/libsysbase_libsysbase_a-sleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sleep.o `test -f 'libsysbase/sleep.c' || echo '$(srcdir)/'`libsysbase/sleep.c + -+int -+sem_init(sem_t *__sem, int __pshared, unsigned int __value) -+{ -+ if (!__sem || __value > SEM_VALUE_MAX) { -+ errno = EINVAL; -+ return -1; -+ } -+ if (__pshared) { -+ errno = ENOSYS; -+ return -1; -+ } ++libsysbase/libsysbase_libsysbase_a-sleep.obj: libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sleep.obj `if test -f 'libsysbase/sleep.c'; then $(CYGPATH_W) 'libsysbase/sleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sleep.c' object='libsysbase/libsysbase_libsysbase_a-sleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sleep.obj `if test -f 'libsysbase/sleep.c'; then $(CYGPATH_W) 'libsysbase/sleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sleep.c'; fi` + -+ __sem->lock = __LOCK_INITIALIZER; -+ __sem->cond = __COND_INITIALIZER; -+ __sem->value = __value; -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-stat.o: libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-stat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-stat.o `test -f 'libsysbase/stat.c' || echo '$(srcdir)/'`libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/stat.c' object='libsysbase/libsysbase_libsysbase_a-stat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-stat.o `test -f 'libsysbase/stat.c' || echo '$(srcdir)/'`libsysbase/stat.c + -+sem_t * -+sem_open(const char *__name, int __oflag, ...) -+{ -+ errno = ENOSYS; -+ return SEM_FAILED; -+} ++libsysbase/libsysbase_libsysbase_a-stat.obj: libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-stat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-stat.obj `if test -f 'libsysbase/stat.c'; then $(CYGPATH_W) 'libsysbase/stat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/stat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/stat.c' object='libsysbase/libsysbase_libsysbase_a-stat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-stat.obj `if test -f 'libsysbase/stat.c'; then $(CYGPATH_W) 'libsysbase/stat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/stat.c'; fi` + -+int -+sem_post(sem_t *__sem) -+{ -+ if (!__sem) { -+ errno = EINVAL; -+ return -1; -+ } ++libsysbase/libsysbase_libsysbase_a-statvfs.o: libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-statvfs.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo -c -o libsysbase/libsysbase_libsysbase_a-statvfs.o `test -f 'libsysbase/statvfs.c' || echo '$(srcdir)/'`libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/statvfs.c' object='libsysbase/libsysbase_libsysbase_a-statvfs.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.o `test -f 'libsysbase/statvfs.c' || echo '$(srcdir)/'`libsysbase/statvfs.c + -+ __lock_acquire(__sem->lock); -+ if (__sem->value++ < 0) -+ __cond_signal(__sem->cond); -+ __lock_release(__sem->lock); -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-statvfs.obj: libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-statvfs.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/statvfs.c' object='libsysbase/libsysbase_libsysbase_a-statvfs.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` + -+static int -+__sem_wait_common(sem_t *__sem, const struct timespec *__abstime) -+{ -+ int rc = 0; -+ __lock_acquire(__sem->lock); ++libsysbase/libsysbase_libsysbase_a-syscall_support.o: libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/syscall_support.c' object='libsysbase/libsysbase_libsysbase_a-syscall_support.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c + -+ __sem->value --; -+ if (__sem->value < 0) -+ rc = __cond_wait(__sem->cond, __sem->lock, __pthread_abstime_to_ns(__abstime)); -+ if (rc) { -+ if (__sem->value < 0) -+ __sem->value ++; -+ else -+ rc = 0; -+ } ++libsysbase/libsysbase_libsysbase_a-syscall_support.obj: libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.obj `if test -f 'libsysbase/syscall_support.c'; then $(CYGPATH_W) 'libsysbase/syscall_support.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/syscall_support.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/syscall_support.c' object='libsysbase/libsysbase_libsysbase_a-syscall_support.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.obj `if test -f 'libsysbase/syscall_support.c'; then $(CYGPATH_W) 'libsysbase/syscall_support.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/syscall_support.c'; fi` + -+ __lock_release(__sem->lock); ++libsysbase/libsysbase_libsysbase_a-times.o: libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-times.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo -c -o libsysbase/libsysbase_libsysbase_a-times.o `test -f 'libsysbase/times.c' || echo '$(srcdir)/'`libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/times.c' object='libsysbase/libsysbase_libsysbase_a-times.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-times.o `test -f 'libsysbase/times.c' || echo '$(srcdir)/'`libsysbase/times.c + -+ if (rc) { -+ errno = rc; -+ return -1; -+ } ++libsysbase/libsysbase_libsysbase_a-times.obj: libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-times.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo -c -o libsysbase/libsysbase_libsysbase_a-times.obj `if test -f 'libsysbase/times.c'; then $(CYGPATH_W) 'libsysbase/times.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/times.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/times.c' object='libsysbase/libsysbase_libsysbase_a-times.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-times.obj `if test -f 'libsysbase/times.c'; then $(CYGPATH_W) 'libsysbase/times.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/times.c'; fi` + -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-truncate.o: libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-truncate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-truncate.o `test -f 'libsysbase/truncate.c' || echo '$(srcdir)/'`libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/truncate.c' object='libsysbase/libsysbase_libsysbase_a-truncate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-truncate.o `test -f 'libsysbase/truncate.c' || echo '$(srcdir)/'`libsysbase/truncate.c + -+int -+sem_timedwait(sem_t *__sem, const struct timespec *__abstime) -+{ -+ if (!__sem || !__abstime) { -+ errno = EINVAL; -+ return -1; -+ } ++libsysbase/libsysbase_libsysbase_a-truncate.obj: libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-truncate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-truncate.obj `if test -f 'libsysbase/truncate.c'; then $(CYGPATH_W) 'libsysbase/truncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/truncate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/truncate.c' object='libsysbase/libsysbase_libsysbase_a-truncate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-truncate.obj `if test -f 'libsysbase/truncate.c'; then $(CYGPATH_W) 'libsysbase/truncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/truncate.c'; fi` + -+ return __sem_wait_common(__sem, __abstime); -+} ++libsysbase/libsysbase_libsysbase_a-unlink.o: libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-unlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-unlink.o `test -f 'libsysbase/unlink.c' || echo '$(srcdir)/'`libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/unlink.c' object='libsysbase/libsysbase_libsysbase_a-unlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-unlink.o `test -f 'libsysbase/unlink.c' || echo '$(srcdir)/'`libsysbase/unlink.c + -+int -+sem_trywait(sem_t *__sem) -+{ -+ if (!__sem) { -+ errno = EINVAL; -+ return -1; -+ } ++libsysbase/libsysbase_libsysbase_a-unlink.obj: libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-unlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-unlink.obj `if test -f 'libsysbase/unlink.c'; then $(CYGPATH_W) 'libsysbase/unlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/unlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/unlink.c' object='libsysbase/libsysbase_libsysbase_a-unlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-unlink.obj `if test -f 'libsysbase/unlink.c'; then $(CYGPATH_W) 'libsysbase/unlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/unlink.c'; fi` + -+ __lock_acquire(__sem->lock); ++libsysbase/libsysbase_libsysbase_a-usleep.o: libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-usleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-usleep.o `test -f 'libsysbase/usleep.c' || echo '$(srcdir)/'`libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/usleep.c' object='libsysbase/libsysbase_libsysbase_a-usleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-usleep.o `test -f 'libsysbase/usleep.c' || echo '$(srcdir)/'`libsysbase/usleep.c + -+ int failed = __sem->value <= 0; -+ if (!failed) -+ __sem->value --; ++libsysbase/libsysbase_libsysbase_a-usleep.obj: libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-usleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-usleep.obj `if test -f 'libsysbase/usleep.c'; then $(CYGPATH_W) 'libsysbase/usleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/usleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/usleep.c' object='libsysbase/libsysbase_libsysbase_a-usleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-usleep.obj `if test -f 'libsysbase/usleep.c'; then $(CYGPATH_W) 'libsysbase/usleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/usleep.c'; fi` + -+ __lock_release(__sem->lock); ++libsysbase/libsysbase_libsysbase_a-utime.o: libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-utime.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo -c -o libsysbase/libsysbase_libsysbase_a-utime.o `test -f 'libsysbase/utime.c' || echo '$(srcdir)/'`libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/utime.c' object='libsysbase/libsysbase_libsysbase_a-utime.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-utime.o `test -f 'libsysbase/utime.c' || echo '$(srcdir)/'`libsysbase/utime.c + -+ if (failed) { -+ errno = EAGAIN; -+ return -1; -+ } ++libsysbase/libsysbase_libsysbase_a-utime.obj: libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-utime.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo -c -o libsysbase/libsysbase_libsysbase_a-utime.obj `if test -f 'libsysbase/utime.c'; then $(CYGPATH_W) 'libsysbase/utime.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/utime.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/utime.c' object='libsysbase/libsysbase_libsysbase_a-utime.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-utime.obj `if test -f 'libsysbase/utime.c'; then $(CYGPATH_W) 'libsysbase/utime.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/utime.c'; fi` + -+ return 0; -+} ++libsysbase/libsysbase_libsysbase_a-wait.o: libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-wait.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo -c -o libsysbase/libsysbase_libsysbase_a-wait.o `test -f 'libsysbase/wait.c' || echo '$(srcdir)/'`libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/wait.c' object='libsysbase/libsysbase_libsysbase_a-wait.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-wait.o `test -f 'libsysbase/wait.c' || echo '$(srcdir)/'`libsysbase/wait.c + -+int -+sem_unlink(const char *__name) -+{ -+ errno = ENOSYS; -+ return -1; -+} ++libsysbase/libsysbase_libsysbase_a-wait.obj: libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-wait.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo -c -o libsysbase/libsysbase_libsysbase_a-wait.obj `if test -f 'libsysbase/wait.c'; then $(CYGPATH_W) 'libsysbase/wait.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/wait.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/wait.c' object='libsysbase/libsysbase_libsysbase_a-wait.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-wait.obj `if test -f 'libsysbase/wait.c'; then $(CYGPATH_W) 'libsysbase/wait.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/wait.c'; fi` + -+int -+sem_wait(sem_t *__sem) -+{ -+ if (!__sem) { -+ errno = EINVAL; -+ return -1; -+ } ++libsysbase/libsysbase_libsysbase_a-write.o: libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-write.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo -c -o libsysbase/libsysbase_libsysbase_a-write.o `test -f 'libsysbase/write.c' || echo '$(srcdir)/'`libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/write.c' object='libsysbase/libsysbase_libsysbase_a-write.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-write.o `test -f 'libsysbase/write.c' || echo '$(srcdir)/'`libsysbase/write.c + -+ return __sem_wait_common(__sem, NULL); -+} ++libsysbase/libsysbase_libsysbase_a-write.obj: libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-write.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo -c -o libsysbase/libsysbase_libsysbase_a-write.obj `if test -f 'libsysbase/write.c'; then $(CYGPATH_W) 'libsysbase/write.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/write.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/write.c' object='libsysbase/libsysbase_libsysbase_a-write.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-write.obj `if test -f 'libsysbase/write.c'; then $(CYGPATH_W) 'libsysbase/write.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/write.c'; fi` + -+//----------------------------------------------------------------------------- -+// sched.h -+//----------------------------------------------------------------------------- + nios2/nios2_libnios2_a-io-close.o: nios2/io-close.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(nios2_libnios2_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nios2/nios2_libnios2_a-io-close.o -MD -MP -MF nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo -c -o nios2/nios2_libnios2_a-io-close.o `test -f 'nios2/io-close.c' || echo '$(srcdir)/'`nios2/io-close.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Po +@@ -4220,6 +5124,8 @@ distclean-generic: + -rm -f iq2000/$(am__dirstamp) + -rm -f libnosys/$(DEPDIR)/$(am__dirstamp) + -rm -f libnosys/$(am__dirstamp) ++ -rm -f libsysbase/$(DEPDIR)/$(am__dirstamp) ++ -rm -f libsysbase/$(am__dirstamp) + -rm -f lm32/$(DEPDIR)/$(am__dirstamp) + -rm -f lm32/$(am__dirstamp) + -rm -f nios2/$(DEPDIR)/$(am__dirstamp) +@@ -4239,7 +5145,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ + + distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) +- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) ++ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-local distclean-tags +@@ -4382,7 +5288,7 @@ installcheck-am: + maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache +- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) ++ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-aminfo \ + maintainer-clean-generic maintainer-clean-local +diff --git a/libgloss/configure b/libgloss/configure +index 28754b6d5..2e04092ab 100755 +--- a/libgloss/configure ++++ b/libgloss/configure +@@ -638,6 +638,8 @@ CONFIG_NIOS2_FALSE + CONFIG_NIOS2_TRUE + CONFIG_LM32_FALSE + CONFIG_LM32_TRUE ++CONFIG_LIBSYSBASE_FALSE ++CONFIG_LIBSYSBASE_TRUE + CONFIG_LIBNOSYS_FALSE + CONFIG_LIBNOSYS_TRUE + CONFIG_IQ2000_FALSE +@@ -722,6 +724,7 @@ infodir + docdir + oldincludedir + includedir ++runstatedir + localstatedir + sharedstatedir + sysconfdir +@@ -800,6 +803,7 @@ datadir='${datarootdir}' + sysconfdir='${prefix}/etc' + sharedstatedir='${prefix}/com' + localstatedir='${prefix}/var' ++runstatedir='${localstatedir}/run' + includedir='${prefix}/include' + oldincludedir='/usr/include' + docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +@@ -1052,6 +1056,15 @@ do + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + ++ -runstatedir | --runstatedir | --runstatedi | --runstated \ ++ | --runstate | --runstat | --runsta | --runst | --runs \ ++ | --run | --ru | --r) ++ ac_prev=runstatedir ;; ++ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ ++ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ ++ | --run=* | --ru=* | --r=*) ++ runstatedir=$ac_optarg ;; + -+int __attribute__((weak)) -+sched_yield (void) -+{ -+ errno = ENOSYS; -+ return -1; -+} + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ +@@ -1189,7 +1202,7 @@ fi + for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ +- libdir localedir mandir ++ libdir localedir mandir runstatedir + do + eval ac_val=\$$ac_var + # Remove trailing slashes. +@@ -1342,6 +1355,7 @@ Fine tuning of the installation directories: + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] +@@ -2745,6 +2759,8 @@ config_testsuite=true + + config_libnosys=true + ++config_libsysbase=true + -+int __attribute__((weak)) -+sched_getcpu (void) -+{ -+ errno = ENOSYS; -+ return -1; -+} -diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c -new file mode 100644 -index 000000000..9c548d830 ---- /dev/null -+++ b/libgloss/libsysbase/read.c -@@ -0,0 +1,32 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include + host_makefile_frag=${srcdir}/config/default.mh + target_makefile_frag=${srcdir}/config/default.mt + +@@ -3047,6 +3063,14 @@ else + CONFIG_LIBNOSYS_FALSE= + fi + ++ if test x$config_libsysbase = xtrue; then ++ CONFIG_LIBSYSBASE_TRUE= ++ CONFIG_LIBSYSBASE_FALSE='#' ++else ++ CONFIG_LIBSYSBASE_TRUE='#' ++ CONFIG_LIBSYSBASE_FALSE= ++fi + -+#include + if test x$config_lm32 = xtrue; then + CONFIG_LM32_TRUE= + CONFIG_LM32_FALSE='#' +@@ -4924,6 +4948,35 @@ case "${target}" in + esac + + ++case "${target}" in ++ *-*-cygwin*) ;; ++ a29k-amd-udi) ;; ++ aarch64*-*-*) ;; ++ arc-*-*) ;; ++ arm*-*-*) ;; ++ bfin-*-*) ;; ++ cris-*-* | crisv32-*-*) ;; ++ d10v*) ;; ++ h8300*-*-*) ;; ++ h8500-*-*) ;; ++ i345686-*-sco*) ;; ++ lm32-*-*) ;; ++ m32r-*-*) ;; ++ mn10?00-*-*) ;; ++ riscv*-*-*) ;; ++ powerpcle-*-pe) ;; ++ sh*-*-*) ;; ++ sparc-sun-sunos*) ;; ++ sparc64-*-*) ;; ++ v850*-*-*) ;; ++ w65-*-*) ;; ++ xstormy16-*-*) ;; ++ z8k-*-*) ;; ++ *) ++$as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h ++ ;; ++esac ++ + case "${target}" in + *-*-cygwin*) ;; + a29k-amd-udi) ;; +@@ -5331,6 +5384,10 @@ if test -z "${CONFIG_LIBNOSYS_TRUE}" && test -z "${CONFIG_LIBNOSYS_FALSE}"; then + as_fn_error $? "conditional \"CONFIG_LIBNOSYS\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 + fi ++if test -z "${CONFIG_LIBSYSBASE_TRUE}" && test -z "${CONFIG_LIBSYSBASE_FALSE}"; then ++ as_fn_error $? "conditional \"CONFIG_LIBSYSBASE\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi + if test -z "${CONFIG_LM32_TRUE}" && test -z "${CONFIG_LM32_FALSE}"; then + as_fn_error $? "conditional \"CONFIG_LM32\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 +-- +2.20.1 + + +From de7c740f9859b3f3361bc6ebb2e2ad26e7896df8 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 9 Mar 2023 17:42:26 +0000 +Subject: [PATCH 03/83] size optimise files that bloat + +--- + newlib/libc/stdio/vfprintf.c | 6 ++++-- + newlib/libc/stdio/vfscanf.c | 2 ++ + newlib/libc/stdio/vfwprintf.c | 3 +++ + newlib/libc/stdio/vfwscanf.c | 3 +++ + 4 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c +index 6a198e2c6..5ded3fd6e 100644 +--- a/newlib/libc/stdio/vfprintf.c ++++ b/newlib/libc/stdio/vfprintf.c +@@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, + <>, <>, <>, <>. + */ + ++#pragma GCC optimize ("Os") + -+//--------------------------------------------------------------------------------- -+_ssize_t _read_r(struct _reent *r, int fileDesc, void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ int ret = -1; -+ unsigned int dev = 0; + #if defined(LIBC_SCCS) && !defined(lint) + /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ + static char *rcsid = "$Id$"; +@@ -1431,7 +1433,7 @@ reswitch: switch (ch) { + string: + #endif + sign = '\0'; +-#ifndef __OPTIMIZE_SIZE__ ++//#ifndef __OPTIMIZE_SIZE__ + /* Behavior is undefined if the user passed a + NULL string when precision is not 0. + However, if we are not optimizing for size, +@@ -1441,7 +1443,7 @@ string: + size = ((unsigned) prec > 6U) ? 6 : prec; + } + else +-#endif /* __OPTIMIZE_SIZE__ */ ++//#endif /* __OPTIMIZE_SIZE__ */ + #ifdef _MB_CAPABLE + if (ch == 'S' || (flags & LONGINT)) { + mbstate_t ps; +diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c +index cfeea9876..ab7e9d7f1 100644 +--- a/newlib/libc/stdio/vfscanf.c ++++ b/newlib/libc/stdio/vfscanf.c +@@ -74,6 +74,8 @@ These are GNU extensions. + Supporting OS subroutines required: + */ + ++#pragma GCC optimize ("Os") + -+ __handle * handle = NULL; + #include <_ansi.h> + #include + #include +diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c +index 7807a1229..30526cb70 100644 +--- a/newlib/libc/stdio/vfwprintf.c ++++ b/newlib/libc/stdio/vfwprintf.c +@@ -92,6 +92,9 @@ SEEALSO + * + * This code is large and complicated... + */ + -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); ++#pragma GCC optimize ("Os") + -+ if ( NULL == handle ) return ret; + #include + + #ifdef INTEGER_ONLY +diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c +index df966f929..106d99e94 100644 +--- a/newlib/libc/stdio/vfwscanf.c ++++ b/newlib/libc/stdio/vfwscanf.c +@@ -74,6 +74,9 @@ PORTABILITY + C99, POSIX-1.2008 + */ + + -+ dev = handle->device; ++#pragma GCC optimize ("Os") + -+ if(devoptab_list[dev]->read_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->read_r(r,handle->fileStruct,ptr,len); -+ } else -+ r->_errno=ENOSYS; -+ } -+ return ret; -+} + #include <_ansi.h> + #include + #include +-- +2.20.1 + + +From a7f200b079a7d2dfef8230cb1eda162f531309aa Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 9 Mar 2023 18:39:44 +0000 +Subject: [PATCH 04/83] add sync_synchronise + +--- + newlib/libc/machine/arm/Makefile.inc | 3 ++- + newlib/libc/machine/arm/sync_synchronize.c | 8 ++++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + create mode 100644 newlib/libc/machine/arm/sync_synchronize.c + +diff --git a/newlib/libc/machine/arm/Makefile.inc b/newlib/libc/machine/arm/Makefile.inc +index 2d6c08d71..81b4f119d 100644 +--- a/newlib/libc/machine/arm/Makefile.inc ++++ b/newlib/libc/machine/arm/Makefile.inc +@@ -8,4 +8,5 @@ libc_a_SOURCES += \ + %D%/memcpy-stub.c \ + %D%/memcpy.S \ + %D%/strlen-stub.c \ +- %D%/strlen.S ++ %D%/sync_synchronize.c + -diff --git a/libgloss/libsysbase/readlink.c b/libgloss/libsysbase/readlink.c +diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c new file mode 100644 -index 000000000..98ce358e4 +index 000000000..f5a85c3a8 --- /dev/null -+++ b/libgloss/libsysbase/readlink.c -@@ -0,0 +1,24 @@ -+#include -+#include -+#include -+#include -+ -+ssize_t readlink_r(struct _reent *r, const char *path, char *buf, size_t bufsiz) { -+ int ret=-1; -+ int device = FindDevice(path); -+ -+ if ( device != -1 && devoptab_list[device]->readlink_r) { -+ -+ r->deviceData = devoptab_list[device]->deviceData; -+ ret = devoptab_list[device]->readlink_r(r, path, buf, bufsiz); -+ -+ } else { -+ r->_errno = ENOSYS; -+ } -+ -+ return ret; ++++ b/newlib/libc/machine/arm/sync_synchronize.c +@@ -0,0 +1,8 @@ ++#if __ARM_ARCH < 6 ++#include ++void __attribute__((weak)) ++__sync_synchronize (void) ++{ ++ return; +} ++#endif +-- +2.20.1 + + +From e6d9dc131875d0c72811db7fe5d1132419679f58 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 9 Mar 2023 18:40:48 +0000 +Subject: [PATCH 05/83] expose lstat + +--- + newlib/libc/include/sys/stat.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h +index 98f5addb4..dbdfc416e 100644 +--- a/newlib/libc/include/sys/stat.h ++++ b/newlib/libc/include/sys/stat.h +@@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); + int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); + mode_t umask (mode_t __mask ); + +-#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) + int lstat (const char *__restrict __path, struct stat *__restrict __buf ); + -+ssize_t readlink(const char *path, char *buf, size_t bufsiz) { -+ return(readlink_r(_REENT, path, buf, bufsiz)); -+} -diff --git a/libgloss/libsysbase/realpath.c b/libgloss/libsysbase/realpath.c -new file mode 100644 -index 000000000..f2cf3a831 ---- /dev/null -+++ b/libgloss/libsysbase/realpath.c -@@ -0,0 +1,188 @@ -+#include -+#include -+#include -+#include ++#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) + int mknod (const char *__path, mode_t __mode, dev_t __dev ); + #endif + +-- +2.20.1 + + +From 7928adcb0cbe77c2b2ef03758b478aed22ed3a41 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 9 Mar 2023 18:47:14 +0000 +Subject: [PATCH 06/83] expose _rmdir_r + +--- + newlib/libc/include/reent.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h +index 23d572cd3..65310c084 100644 +--- a/newlib/libc/include/reent.h ++++ b/newlib/libc/include/reent.h +@@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); + extern int _open_r (struct _reent *, const char *, int, int); + extern _ssize_t _read_r (struct _reent *, int, void *, size_t); + extern int _rename_r (struct _reent *, const char *, const char *); ++extern int _rmdir_r (struct _reent *r, const char *name); + extern void *_sbrk_r (struct _reent *, ptrdiff_t); + extern int _stat_r (struct _reent *, const char *, struct stat *); + extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); +-- +2.20.1 + + +From 5c8251d576aabd0ebfe6fe5e96e2d11e401829d4 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 9 Mar 2023 18:49:54 +0000 +Subject: [PATCH 07/83] remove also deletes directories + +--- + newlib/libc/stdio/remove.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c +index d8dfdbd82..a85b5a99b 100644 +--- a/newlib/libc/stdio/remove.c ++++ b/newlib/libc/stdio/remove.c +@@ -57,13 +57,17 @@ Supporting OS subroutine required: <>. + #include <_ansi.h> + #include + #include +#include -+#include -+#include -+ -+#include "concatenate.h" + + int + _remove_r (struct _reent *ptr, + const char *filename) + { +- if (_unlink_r (ptr, filename) == -1) +- return -1; ++ if (_unlink_r (ptr, filename) == -1) { ++ errno = 0; ++ if (_rmdir_r(ptr, filename) == -1) ++ return -1; ++ } + + return 0; + } +-- +2.20.1 + + +From 40f2cc97bb6ab9fd8a62ee7c9bdd18377340702a Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 9 Mar 2023 23:30:10 +0000 +Subject: [PATCH 08/83] add deviceData + +--- + newlib/libc/include/sys/reent.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h +index 6d8b005b2..8aefe6b0f 100644 +--- a/newlib/libc/include/sys/reent.h ++++ b/newlib/libc/include/sys/reent.h +@@ -419,6 +419,8 @@ struct _reent + __FILE *__sf; /* file descriptors */ + struct _misc_reent *_misc; /* strtok, multibyte states */ + char *_signal_buf; /* strsignal */ + -+/* Based on chdir.c */ -+static inline int _resolve_links(struct _reent *r, char *path, const char *extra, int maxLength) { -+ char *pathEnd; -+ int pathLength; -+ const char *extraEnd; -+ int extraSize; ++ void *deviceData; + }; + + # define _REENT_INIT(var) \ +@@ -639,6 +641,8 @@ struct _reent + + /* signal info */ + void (**_sig_func)(int); + -+ int resolvedLinks = 0; ++ void *deviceData; + }; + + #define _REENT_INIT(var) \ +-- +2.20.1 + + +From 6a2250a2b0c77015210dd7e2190dea244bb0d944 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 9 Mar 2023 23:34:55 +0000 +Subject: [PATCH 09/83] add locking macros + +--- + newlib/libc/sys/arm/sys/lock.h | 66 ++++++++++++++++++++++++++++++++++ + 1 file changed, 66 insertions(+) + create mode 100644 newlib/libc/sys/arm/sys/lock.h + +diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h +new file mode 100644 +index 000000000..a755d6443 +--- /dev/null ++++ b/newlib/libc/sys/arm/sys/lock.h +@@ -0,0 +1,66 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ + -+ pathLength = strnlen (path, maxLength); ++#include <_ansi.h> ++#include + -+ /* assumes path ends in a directory separator */ -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ pathEnd = path + pathLength; -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd += 1; -+ } ++typedef int32_t _LOCK_T; + -+ extraEnd = extra; ++struct __lock_t { ++ _LOCK_T lock; ++ uint32_t thread_tag; ++ uint32_t counter; ++}; + -+ /* If the extra bit starts with a slash, start at root */ -+ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; -+ pathEnd[0] = '\0'; -+ } ++typedef struct __lock_t _LOCK_RECURSIVE_T; + ++extern void __libc_lock_init(_LOCK_T *lock); ++extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_close(_LOCK_T *lock); ++extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); + -+ do { -+ /* Advance past any separators in extra */ -+ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ extra += 1; -+ } ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); + -+ /* Grab the next directory name from extra */ -+ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); -+ if (extraEnd == NULL) { -+ extraEnd = strrchr (extra, '\0'); -+ } else { -+ extraEnd += 1; -+ } ++#define __LOCK_INIT(CLASS,NAME) \ ++CLASS _LOCK_T NAME = 0; + -+ extraSize = (extraEnd - extra); -+ if (extraSize == 0) { -+ break; -+ } ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ ++CLASS _LOCK_RECURSIVE_T NAME = {0,0,0}; + -+ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) -+ { -+ /* Don't copy anything */ -+ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) -+ { -+ /* Go up one level of in the path */ -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { -+ // Remove trailing separator -+ pathEnd[-1] = '\0'; -+ } -+ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); -+ if (pathEnd == NULL) { -+ /* Can't go up any higher, return false */ -+ r->_errno = ENOENT; -+ return -1; -+ } -+ pathLength = pathEnd - path; -+ pathEnd += 1; -+ } else { -+ pathLength += extraSize; -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ /* Copy the next part over */ -+ strncpy (pathEnd, extra, extraSize); -+ pathEnd += extraSize; -+ } -+ pathEnd[0] = '\0'; -+ extra += extraSize; ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) + ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) + -+ struct stat st; -+ if (lstat(path,&st) < 0) return -1; -+ if (S_ISLNK(st.st_mode)) { -+ do { -+ if(resolvedLinks > 8 && extraSize > 0) { -+ r->_errno = ELOOP; -+ return -1; -+ } ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) + -+ char buf[PATH_MAX]; -+ memset(buf,0,PATH_MAX); ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close_recursive(&(NAME)) + -+ if (readlink(path,buf,sizeof(buf)) == -1) return -1; ++#define __lock_acquire(NAME) \ ++ __libc_lock_acquire(&(NAME)) + -+ pathEnd = strrchr(path, DIRECTORY_SEPARATOR_CHAR) + 1; -+ if (pathEnd == NULL) pathEnd = path; -+ pathEnd[0] = '\0'; ++#define __lock_acquire_recursive(NAME) \ ++ __libc_lock_acquire_recursive(&(NAME)) + -+ if (_concatenate_path(r, path, buf, PATH_MAX) == -1) { -+ return -1; -+ } ++#define __lock_try_acquire(NAME) \ ++ __libc_lock_try_acquire(&(NAME)) + -+ resolvedLinks++; -+ pathEnd = strchr(path,0); ++#define __lock_try_acquire_recursive(NAME) \ ++ __libc_lock_try_acquire_recursive(&(NAME)) + -+ if (lstat(path,&st) < 0) return -1; ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) + -+ } while(S_ISLNK(st.st_mode)); -+ } -+ } while (extraSize != 0); ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release_recursive(&(NAME)) ++ ++#endif // __SYS_LOCK_H__ +-- +2.20.1 + + +From 4f7ac00c6376278f94fdca664957c6faaa7c90a1 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 9 Mar 2023 23:35:54 +0000 +Subject: [PATCH 10/83] devkitARM defines + +--- + newlib/configure.host | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/newlib/configure.host b/newlib/configure.host +index 0a1ba282a..d251ae629 100644 +--- a/newlib/configure.host ++++ b/newlib/configure.host +@@ -627,6 +627,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + syscall_dir=syscalls + default_newlib_io_long_long="yes" + ;; ++ arm*-*-eabi) ++ default_newlib_io_c99_formats="yes" ++ default_newlib_io_long_long="yes" ++ default_newlib_io_pos_args="yes" ++ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" ++ syscall_dir=syscalls ++ ;; + arm*-*-pe) + syscall_dir=syscalls + newlib_cflags="${newlib_cflags} -DHAVE_SYSCONF_PAGESIZE" +-- +2.20.1 + + +From c113c776455884038aad3e8a7fe19e31fd9421b3 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 9 Mar 2023 23:39:10 +0000 +Subject: [PATCH 11/83] 64bit file offsets + +--- + newlib/libc/sys/arm/include/machine/_types.h | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + create mode 100644 newlib/libc/sys/arm/include/machine/_types.h + +diff --git a/newlib/libc/sys/arm/include/machine/_types.h b/newlib/libc/sys/arm/include/machine/_types.h +new file mode 100644 +index 000000000..40092f99f +--- /dev/null ++++ b/newlib/libc/sys/arm/include/machine/_types.h +@@ -0,0 +1,19 @@ ++#ifndef _MACHINE__TYPES_H ++#define _MACHINE__TYPES_H + ++#include + -+ return 0; -+} ++/* Use 64bit types */ ++typedef __int64_t _off_t; ++#define __machine_off_t_defined + -+char *realpath(const char *__restrict path, char *__restrict resolved) -+{ -+ struct _reent *r = _REENT; ++typedef __int64_t _fpos_t; ++#define __machine_fpos_t_defined + -+ char stack[PATH_MAX] = {0}; -+ const char *pathPosition = NULL; -+ int len = 0; ++typedef __uint32_t __ino_t; ++#define __machine_ino_t_defined + -+ if (!path) { -+ errno = ENOENT; -+ return NULL; -+ } ++typedef __uint32_t __dev_t; ++#define __machine_dev_t_defined ++#endif + -+ len = strnlen(path, PATH_MAX); -+ if (!len) { -+ r->_errno = ENOENT; -+ return NULL; -+ } -+ if (len >= PATH_MAX) { -+ r->_errno = ENAMETOOLONG; -+ return NULL; -+ } +-- +2.20.1 + + +From 58add3c7399be6bd91c9c96e53395c83933a1331 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 9 Mar 2023 23:39:56 +0000 +Subject: [PATCH 12/83] add statvfs + +--- + newlib/libc/include/sys/statvfs.h | 35 +++++++++++++++++++++++++++++++ + 1 file changed, 35 insertions(+) + create mode 100644 newlib/libc/include/sys/statvfs.h + +diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h +new file mode 100644 +index 000000000..380329d34 +--- /dev/null ++++ b/newlib/libc/include/sys/statvfs.h +@@ -0,0 +1,35 @@ ++#ifndef _SYS_STATVFS_H ++#define _SYS_STATVFS_H + -+ if (strchr (path, ':') != NULL) { -+ strncpy(stack, path, PATH_MAX-1); -+ /* Move path past device name */ -+ path = strchr(path, ':') + 1; -+ } else { -+ getcwd(stack, PATH_MAX); -+ } + -+ pathPosition = strchr(stack, ':'); ++#define ST_RDONLY 0x0001 ++#define ST_NOSUID 0x0002 + -+ if (pathPosition == NULL) { -+ pathPosition = stack; -+ } else { -+ pathPosition++; -+ } ++#ifdef __cplusplus ++extern "C" { ++#endif + -+ /* Make sure the path starts in the root directory */ -+ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { -+ r->_errno = ENOENT; -+ return NULL; -+ } ++#include + -+ if (_resolve_links(r, stack, path, PATH_MAX) == -1) { -+ return NULL; -+ } ++struct statvfs { ++ unsigned long f_bsize; ++ unsigned long f_frsize; ++ fsblkcnt_t f_blocks; ++ fsblkcnt_t f_bfree; ++ fsblkcnt_t f_bavail; ++ fsfilcnt_t f_files; ++ fsfilcnt_t f_ffree; ++ fsfilcnt_t f_favail; ++ unsigned long f_fsid; ++ unsigned long f_flag; ++ unsigned long f_namemax; ++}; + -+ if (resolved) { -+ strncpy(resolved, stack, PATH_MAX); -+ return resolved; -+ } ++int statvfs(const char *path, struct statvfs *buf); + -+ return strndup(stack, sizeof(stack)); ++#ifdef __cplusplus +} ++#endif + -diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c ++ ++#endif // _SYS_STATVFS_H +\ No newline at end of file +-- +2.20.1 + + +From 395243c4f8ed77ebb9e180490b2c13d7854df83b Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 9 Mar 2023 23:47:17 +0000 +Subject: [PATCH 13/83] support dirent.h + +--- + newlib/libc/sys/arm/sys/dirent.h | 52 ++++++++++++++++++++++++++++++++ + 1 file changed, 52 insertions(+) + create mode 100644 newlib/libc/sys/arm/sys/dirent.h + +diff --git a/newlib/libc/sys/arm/sys/dirent.h b/newlib/libc/sys/arm/sys/dirent.h new file mode 100644 -index 000000000..433f7ef83 +index 000000000..a0785353d --- /dev/null -+++ b/libgloss/libsysbase/rename.c -@@ -0,0 +1,29 @@ -+#include "config.h" -+#include ++++ b/newlib/libc/sys/arm/sys/dirent.h +@@ -0,0 +1,52 @@ ++#ifndef _dirent_h_ ++#define _dirent_h_ ++ +#include -+#include ++#include ++#include + -+//--------------------------------------------------------------------------------- -+int _rename_r( struct _reent *ptr, const char *existing, const char *newName) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 + -+ int ret; -+ int sourceDev = FindDevice(existing); -+ int destDev = FindDevice(newName); ++#ifdef __cplusplus ++extern "C" { ++#endif + -+ ret = -1; ++ struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++ }; + -+ if ( sourceDev == destDev) { -+ if (devoptab_list[destDev]->rename_r) { -+ r->deviceData = devoptab_list[destDev]->deviceData; -+ ret = devoptab_list[destDev]->rename_r( r, existing, newName); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = EXDEV; -+ } ++ typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++ } DIR; + -+ return ret; -+} -diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c -new file mode 100644 -index 000000000..b8640b87d ---- /dev/null -+++ b/libgloss/libsysbase/rmdir.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include ++ int closedir(DIR *dirp); ++ DIR *opendir(const char *dirname); ++ struct dirent *readdir(DIR *dirp); ++ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++ void rewinddir(DIR *dirp); ++ void seekdir(DIR *dirp, long int loc); ++ long int telldir(DIR *dirp); + -+int _rmdir_r (struct _reent *ptr, const char *name) { -+ int dev,ret=-1; ++ int scandir(const char *dirp, struct dirent ***namelist, ++ int (*filter)(const struct dirent *), ++ int (*compar)(const struct dirent **, const struct dirent **)); + -+ dev = FindDevice(name); -+ if(dev!=-1) { -+ if(devoptab_list[dev]->rmdir_r) { -+ ptr->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->rmdir_r(ptr,name); -+ } else { -+ ptr->_errno = ENOSYS; -+ } -+ } else { -+ ptr->_errno = ENODEV; -+ } ++ int alphasort(const struct dirent **a, const struct dirent **b); + -+ return ret; ++#ifdef __cplusplus +} ++#endif + -+#ifndef _REENT_ONLY ++#endif // _dirent_h_ +-- +2.20.1 + + +From 6b6cd0bf25e7b2eaf7d0aaae81a152455948f4e0 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 9 Mar 2023 23:49:12 +0000 +Subject: [PATCH 14/83] add utime + +--- + newlib/libc/include/sys/utime.h | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h +index 5e937f103..b7b4de67d 100644 +--- a/newlib/libc/include/sys/utime.h ++++ b/newlib/libc/include/sys/utime.h +@@ -15,6 +15,13 @@ struct utimbuf + time_t modtime; + }; + ++/* Functions */ + -+int -+rmdir (const char *filename) -+{ -+ return _rmdir_r (_REENT, filename); -+} ++int utime( ++ const char *path, ++ const struct utimbuf *times ++); + + #ifdef __cplusplus + }; + #endif +-- +2.20.1 + + +From f5265fbd73b1345968e9a25363893671b0ca0b1b Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 9 Mar 2023 23:56:08 +0000 +Subject: [PATCH 15/83] default to utf8 + +--- + newlib/libc/ctype/jp2uc.c | 2 +- + newlib/libc/locale/locale.c | 26 ++++++++++++++++++++++++-- + 2 files changed, 25 insertions(+), 3 deletions(-) + +diff --git a/newlib/libc/ctype/jp2uc.c b/newlib/libc/ctype/jp2uc.c +index 5e30f09be..b90a8f4f4 100644 +--- a/newlib/libc/ctype/jp2uc.c ++++ b/newlib/libc/ctype/jp2uc.c +@@ -35,7 +35,7 @@ + #ifdef _MB_CAPABLE + /* Under Cygwin, the incoming wide character is already given in UTF due + to the requirements of the underlying OS. */ +-#ifndef __CYGWIN__ ++#if !defined(__CYGWIN__) && !defined(__DEFAULT_UTF8__) + + #include <_ansi.h> + #include +diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c +index 65e2b1833..d3171515d 100644 +--- a/newlib/libc/locale/locale.c ++++ b/newlib/libc/locale/locale.c +@@ -198,7 +198,11 @@ static char *categories[_LC_LAST] = { + * Default locale per POSIX. Can be overridden on a per-target base. + */ + #ifndef DEFAULT_LOCALE +-#define DEFAULT_LOCALE "C" ++#ifdef __DEFAULT_UTF8__ ++#define DEFAULT_LOCALE "C.UTF-8" ++#else ++#define DEFAULT_LOCALE "C" +#endif -diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c -new file mode 100644 -index 000000000..badd03297 ---- /dev/null -+++ b/libgloss/libsysbase/sbrk.c -@@ -0,0 +1,54 @@ -+#include "config.h" -+#include <_ansi.h> -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ + #endif + + #ifdef _MB_CAPABLE +@@ -211,8 +215,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; + const struct __locale_t __C_locale = + { + { "C", "C", "C", "C", "C", "C", "C", }, ++#if defined ( __DEFAULT_UTF8__ ) ++ __utf8_wctomb, ++ __utf8_mbtowc, ++#else + __ascii_wctomb, + __ascii_mbtowc, ++#endif + 0, + DEFAULT_CTYPE_PTR, + { +@@ -223,9 +232,15 @@ const struct __locale_t __C_locale = + CHAR_MAX, CHAR_MAX + }, + #ifndef __HAVE_LOCALE_INFO__ ++#ifdef __DEFAULT_UTF8__ ++ "\6", ++ "UTF-8", ++ "UTF-8", ++#else + "\1", + "ASCII", + "ASCII", ++#endif + #else /* __HAVE_LOCALE_INFO__ */ + { + { NULL, NULL }, /* LC_ALL */ +@@ -244,10 +259,11 @@ const struct __locale_t __C_locale = + }; + #endif /* _MB_CAPABLE */ + + -+extern char *fake_heap_end; -+extern char *fake_heap_start; + struct __locale_t __global_locale = + { + { "C", "C", DEFAULT_LOCALE, "C", "C", "C", "C", }, +-#ifdef __CYGWIN__ ++#if defined ( __CYGWIN__ ) || defined ( __DEFAULT_UTF8__ ) + __utf8_wctomb, + __utf8_mbtowc, + #else +@@ -264,9 +280,15 @@ struct __locale_t __global_locale = + CHAR_MAX, CHAR_MAX + }, + #ifndef __HAVE_LOCALE_INFO__ ++#ifdef __DEFAULT_UTF8__ ++ "\6", ++ "UTF-8", ++ "UTF-8", ++#else + "\1", + "ASCII", + "ASCII", ++#endif + #else /* __HAVE_LOCALE_INFO__ */ + { + { NULL, NULL }, /* LC_ALL */ +-- +2.20.1 + + +From fd5c2d2eb2d89f37afc688a9740683a820327dac Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 10 Mar 2023 11:40:02 +0000 +Subject: [PATCH 16/83] remove shift-jis bloat + +--- + newlib/libc/ctype/local.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/newlib/libc/ctype/local.h b/newlib/libc/ctype/local.h +index 5c293c83d..0dbfcd7ee 100644 +--- a/newlib/libc/ctype/local.h ++++ b/newlib/libc/ctype/local.h +@@ -32,7 +32,7 @@ + * for towupper and towlower, the result must be back-transformed + into the respective locale encoding; currently NOT IMPLEMENTED + */ +-#ifdef __CYGWIN__ ++#if defined(__CYGWIN__) || defined(__DEFAULT_UTF8__) + /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ + #define _jp2uc(c) (c) + #define _jp2uc_l(c, l) (c) +-- +2.20.1 + + +From 64712ba2a99ee572e1c04b12cf3ebeaa88f7342b Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 10 Mar 2023 11:41:03 +0000 +Subject: [PATCH 17/83] newlib/Makefile.in: regenerate + +--- + newlib/Makefile.in | 37 +++++++++++++++++++------------------ + 1 file changed, 19 insertions(+), 18 deletions(-) + +diff --git a/newlib/Makefile.in b/newlib/Makefile.in +index bc967bd70..c724bc380 100644 +--- a/newlib/Makefile.in ++++ b/newlib/Makefile.in +@@ -668,7 +668,7 @@ check_PROGRAMS = + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy-stub.c \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy.S \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen-stub.c \ +-@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen.S ++@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/sync_synchronize.c + + @HAVE_LIBC_MACHINE_BFIN_TRUE@am__append_69 = libc/machine/bfin/setjmp.S libc/machine/bfin/longjmp.S + @HAVE_LIBC_MACHINE_CR16_TRUE@am__append_70 = libc/machine/cr16/setjmp.S libc/machine/cr16/getenv.c +@@ -1893,7 +1893,7 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy-stub.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen-stub.$(OBJEXT) \ +-@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen.$(OBJEXT) ++@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT) + @HAVE_LIBC_MACHINE_BFIN_TRUE@am__objects_80 = libc/machine/bfin/libc_a-setjmp.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_BFIN_TRUE@ libc/machine/bfin/libc_a-longjmp.$(OBJEXT) + @HAVE_LIBC_MACHINE_CR16_TRUE@am__objects_81 = libc/machine/cr16/libc_a-setjmp.$(OBJEXT) \ +@@ -3768,6 +3768,7 @@ pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + shared_machine_dir = @shared_machine_dir@ + sharedstatedir = @sharedstatedir@ +@@ -8021,7 +8022,7 @@ libc/machine/arm/libc_a-memcpy.$(OBJEXT): \ + libc/machine/arm/libc_a-strlen-stub.$(OBJEXT): \ + libc/machine/arm/$(am__dirstamp) \ + libc/machine/arm/$(DEPDIR)/$(am__dirstamp) +-libc/machine/arm/libc_a-strlen.$(OBJEXT): \ ++libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT): \ + libc/machine/arm/$(am__dirstamp) \ + libc/machine/arm/$(DEPDIR)/$(am__dirstamp) + libc/machine/bfin/$(am__dirstamp): +@@ -12338,7 +12339,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcpy.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen-stub.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-longjmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po@am__quote@ +@@ -16730,20 +16731,6 @@ libc/machine/arm/libc_a-memcpy.obj: libc/machine/arm/memcpy.S + @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-memcpy.obj `if test -f 'libc/machine/arm/memcpy.S'; then $(CYGPATH_W) 'libc/machine/arm/memcpy.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/memcpy.S'; fi` + +-libc/machine/arm/libc_a-strlen.o: libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/arm/libc_a-strlen.o -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo -c -o libc/machine/arm/libc_a-strlen.o `test -f 'libc/machine/arm/strlen.S' || echo '$(srcdir)/'`libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='libc/machine/arm/strlen.S' object='libc/machine/arm/libc_a-strlen.o' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-strlen.o `test -f 'libc/machine/arm/strlen.S' || echo '$(srcdir)/'`libc/machine/arm/strlen.S +- +-libc/machine/arm/libc_a-strlen.obj: libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/arm/libc_a-strlen.obj -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo -c -o libc/machine/arm/libc_a-strlen.obj `if test -f 'libc/machine/arm/strlen.S'; then $(CYGPATH_W) 'libc/machine/arm/strlen.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen.S'; fi` +-@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='libc/machine/arm/strlen.S' object='libc/machine/arm/libc_a-strlen.obj' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-strlen.obj `if test -f 'libc/machine/arm/strlen.S'; then $(CYGPATH_W) 'libc/machine/arm/strlen.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen.S'; fi` +- + libc/machine/bfin/libc_a-setjmp.o: libc/machine/bfin/setjmp.S + @am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/bfin/libc_a-setjmp.o -MD -MP -MF libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo -c -o libc/machine/bfin/libc_a-setjmp.o `test -f 'libc/machine/bfin/setjmp.S' || echo '$(srcdir)/'`libc/machine/bfin/setjmp.S + @am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po +@@ -32734,6 +32721,20 @@ libc/machine/arm/libc_a-strlen-stub.obj: libc/machine/arm/strlen-stub.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-strlen-stub.obj `if test -f 'libc/machine/arm/strlen-stub.c'; then $(CYGPATH_W) 'libc/machine/arm/strlen-stub.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen-stub.c'; fi` + ++libc/machine/arm/libc_a-sync_synchronize.o: libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/arm/libc_a-sync_synchronize.o -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo -c -o libc/machine/arm/libc_a-sync_synchronize.o `test -f 'libc/machine/arm/sync_synchronize.c' || echo '$(srcdir)/'`libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/arm/sync_synchronize.c' object='libc/machine/arm/libc_a-sync_synchronize.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-sync_synchronize.o `test -f 'libc/machine/arm/sync_synchronize.c' || echo '$(srcdir)/'`libc/machine/arm/sync_synchronize.c + -+/* Register name faking - works in collusion with the linker. */ -+register char * stack_ptr asm ("sp"); ++libc/machine/arm/libc_a-sync_synchronize.obj: libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/arm/libc_a-sync_synchronize.obj -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo -c -o libc/machine/arm/libc_a-sync_synchronize.obj `if test -f 'libc/machine/arm/sync_synchronize.c'; then $(CYGPATH_W) 'libc/machine/arm/sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/sync_synchronize.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/arm/sync_synchronize.c' object='libc/machine/arm/libc_a-sync_synchronize.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-sync_synchronize.obj `if test -f 'libc/machine/arm/sync_synchronize.c'; then $(CYGPATH_W) 'libc/machine/arm/sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/sync_synchronize.c'; fi` + -+//--------------------------------------------------------------------------------- -+__attribute__((weak)) void * _sbrk_r (struct _reent *ptr, ptrdiff_t incr) { -+//--------------------------------------------------------------------------------- -+ extern char end asm ("__end__"); /* Defined by the linker. */ -+ static char * heap_start; + libc/machine/cr16/libc_a-getenv.o: libc/machine/cr16/getenv.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/cr16/libc_a-getenv.o -MD -MP -MF libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo -c -o libc/machine/cr16/libc_a-getenv.o `test -f 'libc/machine/cr16/getenv.c' || echo '$(srcdir)/'`libc/machine/cr16/getenv.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po +-- +2.20.1 + + +From 7c925ef6fb604421ff45fc62d1547708f346bf50 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 10 Mar 2023 11:42:38 +0000 +Subject: [PATCH 18/83] enable clock features + +--- + newlib/libc/include/sys/features.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h +index 45476ce4a..d76706321 100644 +--- a/newlib/libc/include/sys/features.h ++++ b/newlib/libc/include/sys/features.h +@@ -331,6 +331,9 @@ extern "C" { + # define __SSP_FORTIFY_LEVEL 0 + #endif + ++#define _POSIX_MONOTONIC_CLOCK 200112L ++#define _POSIX_TIMERS 1 + -+ char * prev_heap_start; -+ char * heap_end; + /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ + + #ifdef __rtems__ +-- +2.20.1 + + +From 243cf1989041c6e020c2662b0d729b0253dd96dd Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 10 Mar 2023 11:43:09 +0000 +Subject: [PATCH 19/83] enable fpu + +--- + newlib/libc/machine/arm/setjmp.S | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/newlib/libc/machine/arm/setjmp.S b/newlib/libc/machine/arm/setjmp.S +index c615f2428..3a3bfd05e 100644 +--- a/newlib/libc/machine/arm/setjmp.S ++++ b/newlib/libc/machine/arm/setjmp.S +@@ -2,6 +2,8 @@ + + Nick Clifton, Cygnus Solutions, 13 June 1997. */ + ++ .fpu vfpxd + -+ if (heap_start == NULL) { -+ if (fake_heap_start == NULL) { -+ heap_start = &end; -+ } else { -+ heap_start = fake_heap_start; -+ } -+ } + #include "arm-acle-compat.h" + + /* ANSI concatenation macros. */ +-- +2.20.1 + + +From 8eb401bc833d4db30fcb96a9458b007cb9501e69 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 10 Mar 2023 11:47:26 +0000 +Subject: [PATCH 20/83] PATHSIZE obsolete? + +--- + newlib/libc/include/sys/param.h | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h +index 9a6f115a6..142e71d35 100644 +--- a/newlib/libc/include/sys/param.h ++++ b/newlib/libc/include/sys/param.h +@@ -19,9 +19,6 @@ + #ifndef NOFILE + # define NOFILE (60) + #endif +-#ifndef PATHSIZE +-# define PATHSIZE (1024) +-#endif + + #define MAXPATHLEN PATH_MAX + +-- +2.20.1 + + +From d83f4c895bdd17753f0be8a85d1581ec73bd0edb Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 10 Mar 2023 11:48:03 +0000 +Subject: [PATCH 21/83] allow fread to bypass buffer for large reads + +--- + newlib/libc/stdio/fread.c | 77 ++++++++++++++++++++++++++++----------- + 1 file changed, 56 insertions(+), 21 deletions(-) + +diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c +index df8321461..6ea00229d 100644 +--- a/newlib/libc/stdio/fread.c ++++ b/newlib/libc/stdio/fread.c +@@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, + } + + return count; +- + -+ prev_heap_start = heap_start; + } + + #endif +@@ -187,7 +187,6 @@ _fread_r (struct _reent * ptr, + int rc = 0; + /* save fp buffering state */ + void *old_base = fp->_bf._base; +- void * old_p = fp->_p; + int old_size = fp->_bf._size; + /* allow __refill to use user's buffer */ + fp->_bf._base = (unsigned char *) p; +@@ -197,7 +196,7 @@ _fread_r (struct _reent * ptr, + /* restore fp buffering back to original state */ + fp->_bf._base = old_base; + fp->_bf._size = old_size; +- fp->_p = old_p; ++ fp->_p = old_base; + resid -= fp->_r; + p += fp->_r; + fp->_r = 0; +@@ -218,27 +217,63 @@ _fread_r (struct _reent * ptr, + else + #endif /* !PREFER_SIZE_OVER_SPEED && !__OPTIMIZE_SIZE__ */ + { + -+ if (fake_heap_end == NULL) { -+ heap_end = stack_ptr; -+ } else { -+ heap_end = fake_heap_end; -+ } ++ /* ensure buffer set up before read */ ++ if (fp->_bf._base == NULL) ++ __smakebuf_r (ptr, fp); + -+ if (heap_start + incr > heap_end) { -+ ptr->_errno = ENOMEM; -+ return (void *) -1; -+ } + -+ heap_start += incr; -+ return (void *) prev_heap_start; -+} -diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c -new file mode 100644 -index 000000000..7bb5ebd52 ---- /dev/null -+++ b/libgloss/libsysbase/scandir.c -@@ -0,0 +1,77 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include + while (resid > (r = fp->_r)) +- { +- (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r); +- fp->_p += r; +- /* fp->_r = 0 ... done in __srefill */ +- p += r; +- resid -= r; +- if (__srefill_r (ptr, fp)) +- { +- /* no more input: return partial result */ ++ { ++ (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r); ++ fp->_p += r; ++ /* fp->_r = 0 ... done in __srefill */ ++ p += r; ++ resid -= r; + -+/* -+ * The DIRSIZ macro gives the minimum record length which will hold -+ * the directory entry. This requires the amount of space in struct dirent -+ * without the d_name field, plus enough space for the name with a terminating -+ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. -+ */ -+#undef DIRSIZ -+#ifdef _DIRENT_HAVE_D_NAMLEN -+#define DIRSIZ(dp) \ -+ (offsetof (struct dirent, d_name) + (((dp)->d_namlen+1 + 3) &~ 3)) -+#else -+#define DIRSIZ(dp) \ -+ (offsetof (struct dirent, d_name) + ((strlen((dp)->d_name)+1 + 3) &~ 3)) ++ if (resid>fp->_bf._size) ++ { int rc = 0; ++ /* save fp buffering state */ ++ void *old_base = fp->_bf._base; ++ int old_size = fp->_bf._size; ++ /* allow __refill to use user's buffer */ ++ fp->_bf._base = (unsigned char *) p; ++ fp->_bf._size = resid - old_size; ++ fp->_p = (unsigned char *) p; ++ rc = __srefill_r (ptr, fp); ++ /* restore fp buffering back to original state */ ++ fp->_bf._base = old_base; ++ fp->_bf._size = old_size; ++ fp->_p = old_base; ++ resid -= fp->_r; ++ p += fp->_r; ++ if (rc) ++ { + #ifdef __SCLE +- if (fp->_flags & __SCLE) +- { +- _newlib_flockfile_exit (fp); +- return crlf_r (ptr, fp, buf, total-resid, 1) / size; +- } ++ if (fp->_flags & __SCLE) ++ { ++ _newlib_flockfile_exit (fp); ++ return crlf_r (ptr, fp, buf, total-resid, 1) / size; ++ } + #endif +- _newlib_flockfile_exit (fp); +- return (total - resid) / size; +- } +- } ++ _newlib_flockfile_exit (fp); ++ return (total - resid) / size; ++ } ++ } ++ if (__srefill_r (ptr, fp)) ++ { ++ /* no more input: return partial result */ ++#ifdef __SCLE ++ if (fp->_flags & __SCLE) ++ { ++ _newlib_flockfile_exit (fp); ++ return crlf_r (ptr, fp, buf, total-resid, 1) / size; ++ } +#endif -+ -+int -+scandir (const char *dirname, -+ struct dirent ***namelist, -+ int (*filter) __P((const struct dirent *)), -+ int (*compar) __P((const struct dirent **, const struct dirent **))) -+{ -+ errno = 0; -+ -+ DIR *d = opendir(dirname); -+ -+ if (!d) return -1; -+ -+ struct dirent *de, **names = NULL, **tmp; -+ size_t cnt = 0, len = 0; -+ -+ while (de = readdir(d)) { -+ if (filter && ! filter(de)) continue; -+ if (cnt >= len) { -+ len = 2*len+1; -+ if (len > SIZE_MAX/sizeof(*names)) break; -+ tmp = realloc(names, len * sizeof(*names)); -+ if (!tmp) break; -+ names = tmp; -+ } -+ names[cnt] = malloc(DIRSIZ(de)); -+ if (!names[cnt]) break; -+ memcpy(names[cnt++], de, DIRSIZ(de)); -+ } -+ -+ closedir(d); -+ -+ if(errno) { -+ if (names) while(cnt-- > 0) free(names[cnt]); -+ free(names); -+ return -1; -+ } -+ -+ if (compar) qsort(names, cnt, sizeof(*names), (int (*)(const void *, const void *))compar); -+ -+ *namelist = names; -+ return cnt; -+} -+ -+/* -+ * Alphabetic order comparison routine for those who want it. -+ */ -+int -+alphasort (const struct dirent **d1, -+ const struct dirent **d2) -+{ -+ return(strcmp((*d1)->d_name, (*d2)->d_name)); -+} -+ -diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c ++ _newlib_flockfile_exit (fp); ++ return (total - resid) / size; ++ } ++ } + (void) memcpy ((void *) p, (void *) fp->_p, resid); + fp->_r -= resid; + fp->_p += resid; +-- +2.20.1 + + +From 749b8cb88132210a642fb7c869d2fa58d2851037 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 16 Mar 2023 14:03:24 +0000 +Subject: [PATCH 22/83] allow sbrk override + +--- + libgloss/libsysbase/sbrk.c | 7 ++++--- + libgloss/libsysbase/syscall_support.c | 1 + + newlib/libc/include/sys/iosupport.h | 1 - + 3 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c +index 87b11dfb4..badd03297 100644 +--- a/libgloss/libsysbase/sbrk.c ++++ b/libgloss/libsysbase/sbrk.c +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + + + extern char *fake_heap_end; +@@ -19,7 +20,7 @@ extern char *fake_heap_start; + register char * stack_ptr asm ("sp"); + + //--------------------------------------------------------------------------------- +-void *_sbrk_r (struct _reent *ptr, ptrdiff_t incr) { ++__attribute__((weak)) void * _sbrk_r (struct _reent *ptr, ptrdiff_t incr) { + //--------------------------------------------------------------------------------- + extern char end asm ("__end__"); /* Defined by the linker. */ + static char * heap_start; +@@ -45,9 +46,9 @@ void *_sbrk_r (struct _reent *ptr, ptrdiff_t incr) { + + if (heap_start + incr > heap_end) { + ptr->_errno = ENOMEM; +- return (caddr_t) -1; ++ return (void *) -1; + } + + heap_start += incr; +- return (caddr_t) prev_heap_start; ++ return (void *) prev_heap_start; + } +diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c +index 69145f27c..f54018ce9 100644 +--- a/libgloss/libsysbase/syscall_support.c ++++ b/libgloss/libsysbase/syscall_support.c +@@ -1,4 +1,5 @@ + #include ++#include + + void __libc_lock_init(_LOCK_T *lock) { + +diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h +index 7b366f593..f30fb7ead 100644 +--- a/newlib/libc/include/sys/iosupport.h ++++ b/newlib/libc/include/sys/iosupport.h +@@ -77,7 +77,6 @@ extern const devoptab_t *devoptab_list[]; + #define __SYSCALL(_name) __syscall_##_name + #endif + +-void *__SYSCALL(sbrk_r) (struct _reent *ptr, ptrdiff_t incr); + void __SYSCALL(exit) ( int rc ); + int __SYSCALL(gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); + void __SYSCALL(lock_init) (_LOCK_T *lock); +-- +2.20.1 + + +From 4362363b7a6eed0bceb7a5f4351bf3686a529ffd Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 16 Mar 2023 14:00:48 +0000 +Subject: [PATCH 23/83] add access for powerpc + +--- + newlib/libc/machine/powerpc/Makefile.inc | 3 ++- + newlib/libc/machine/powerpc/access.c | 33 ++++++++++++++++++++++++ + 2 files changed, 35 insertions(+), 1 deletion(-) + create mode 100644 newlib/libc/machine/powerpc/access.c + +diff --git a/newlib/libc/machine/powerpc/Makefile.inc b/newlib/libc/machine/powerpc/Makefile.inc +index 55c7ebdc6..a6acfdaa6 100644 +--- a/newlib/libc/machine/powerpc/Makefile.inc ++++ b/newlib/libc/machine/powerpc/Makefile.inc +@@ -1,6 +1,7 @@ + libc_a_CPPFLAGS_%C% = -I$(srcdir)/libc/stdio -I$(srcdir)/libc/stdlib + +-libc_a_SOURCES += %D%/setjmp.S ++libc_a_SOURCES += %D%/setjmp.S \ ++ %D%/access.c + + if HAVE_POWERPC_ALTIVEC + libc_a_SOURCES += \ +diff --git a/newlib/libc/machine/powerpc/access.c b/newlib/libc/machine/powerpc/access.c new file mode 100644 -index 000000000..f3aa97954 +index 000000000..980682ef3 --- /dev/null -+++ b/libgloss/libsysbase/sleep.c -@@ -0,0 +1,18 @@ -+/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ -+ -+/* Written 2000 by Werner Almesberger */ ++++ b/newlib/libc/machine/powerpc/access.c +@@ -0,0 +1,33 @@ ++/* This is file ACCESS.C */ ++/* ++ * Copyright (C) 1993 DJ Delorie ++ * All rights reserved. ++ * ++ * Redistribution, modification, and use in source and binary forms is permitted ++ * provided that the above copyright notice and following paragraph are ++ * duplicated in all such forms. ++ * ++ * This file is distributed WITHOUT ANY WARRANTY; without even the implied ++ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ */ + -+#include -+#include ++#include ++#include +#include + -+unsigned sleep(unsigned seconds) ++int access(const char *fn, int flags) +{ -+ struct timespec ts; -+ -+ ts.tv_sec = seconds; -+ ts.tv_nsec = 0; -+ if (!nanosleep(&ts,&ts)) return 0; -+ if (errno == EINTR) return ts.tv_sec; ++ struct stat s; ++ if (stat(fn, &s)) ++ return -1; ++ if (s.st_mode & S_IFDIR) ++ return 0; ++ if (flags & W_OK) ++ { ++ if (s.st_mode & S_IWRITE) ++ return 0; + return -1; ++ } ++ return 0; +} -diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c -new file mode 100644 -index 000000000..17181dc3b ---- /dev/null -+++ b/libgloss/libsysbase/stat.c -@@ -0,0 +1,29 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+ -+//--------------------------------------------------------------------------------- -+int _stat_r(struct _reent *r, const char *file, struct stat *st) { -+//--------------------------------------------------------------------------------- -+ int dev,ret=-1; ++ +-- +2.20.1 + + +From 6d4ec3c5b2d223420a815a488453e592080f726c Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 16 Mar 2023 16:40:31 +0000 +Subject: [PATCH 24/83] newlib/Makefile.in: regenerate + +--- + newlib/Makefile.in | 25 +++++++++++++++++++++++-- + 1 file changed, 23 insertions(+), 2 deletions(-) + +diff --git a/newlib/Makefile.in b/newlib/Makefile.in +index c724bc380..b0d8d64f0 100644 +--- a/newlib/Makefile.in ++++ b/newlib/Makefile.in +@@ -767,7 +767,9 @@ check_PROGRAMS = + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/misc.c libc/machine/nvptx/clock.c + + @HAVE_LIBC_MACHINE_OR1K_TRUE@am__append_108 = libc/machine/or1k/setjmp.S +-@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S \ ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/access.c + -+ dev = FindDevice(file); + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__append_110 = \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfprintf.c \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfscanf.c \ +@@ -2043,7 +2045,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-misc.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-clock.$(OBJEXT) + @HAVE_LIBC_MACHINE_OR1K_TRUE@am__objects_118 = libc/machine/or1k/libc_a-setjmp.$(OBJEXT) +-@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) \ ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/libc_a-access.$(OBJEXT) + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__objects_120 = libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vfscanf.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vec_malloc.$(OBJEXT) \ +@@ -8697,6 +8700,9 @@ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp): + libc/machine/powerpc/libc_a-setjmp.$(OBJEXT): \ + libc/machine/powerpc/$(am__dirstamp) \ + libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) ++libc/machine/powerpc/libc_a-access.$(OBJEXT): \ ++ libc/machine/powerpc/$(am__dirstamp) \ ++ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) + libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT): \ + libc/machine/powerpc/$(am__dirstamp) \ + libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) +@@ -12488,6 +12494,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-reallocr.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-write.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/or1k/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix16.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix32.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix64.Po@am__quote@ +@@ -33253,6 +33260,20 @@ libc/machine/nvptx/libc_a-clock.obj: libc/machine/nvptx/clock.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/nvptx/libc_a-clock.obj `if test -f 'libc/machine/nvptx/clock.c'; then $(CYGPATH_W) 'libc/machine/nvptx/clock.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/nvptx/clock.c'; fi` + ++libc/machine/powerpc/libc_a-access.o: libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-access.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/powerpc/libc_a-access.o `test -f 'libc/machine/powerpc/access.c' || echo '$(srcdir)/'`libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/powerpc/access.c' object='libc/machine/powerpc/libc_a-access.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/powerpc/libc_a-access.o `test -f 'libc/machine/powerpc/access.c' || echo '$(srcdir)/'`libc/machine/powerpc/access.c + -+ if(dev!=-1) { -+ if (devoptab_list[dev]->stat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->stat_r(r,file,st); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ r->_errno = ENODEV; -+ } -+ return ret; -+} ++libc/machine/powerpc/libc_a-access.obj: libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-access.obj -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/powerpc/libc_a-access.obj `if test -f 'libc/machine/powerpc/access.c'; then $(CYGPATH_W) 'libc/machine/powerpc/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/powerpc/access.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/powerpc/access.c' object='libc/machine/powerpc/libc_a-access.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/powerpc/libc_a-access.obj `if test -f 'libc/machine/powerpc/access.c'; then $(CYGPATH_W) 'libc/machine/powerpc/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/powerpc/access.c'; fi` + -diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c + libc/machine/powerpc/libc_a-vfprintf.o: libc/machine/powerpc/vfprintf.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-vfprintf.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo -c -o libc/machine/powerpc/libc_a-vfprintf.o `test -f 'libc/machine/powerpc/vfprintf.c' || echo '$(srcdir)/'`libc/machine/powerpc/vfprintf.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Po +-- +2.20.1 + + +From db8f5b061fe182851796d22a021f94363ee335ed Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 16 Mar 2023 20:51:44 +0000 +Subject: [PATCH 25/83] devkitPPC: add locks + +--- + newlib/libc/machine/powerpc/sys/lock.h | 58 ++++++++++++++++++++++++++ + 1 file changed, 58 insertions(+) + create mode 100644 newlib/libc/machine/powerpc/sys/lock.h + +diff --git a/newlib/libc/machine/powerpc/sys/lock.h b/newlib/libc/machine/powerpc/sys/lock.h new file mode 100644 -index 000000000..84e221340 +index 000000000..7f051e0c9 --- /dev/null -+++ b/libgloss/libsysbase/statvfs.c -@@ -0,0 +1,24 @@ -+#include -+#include -+#include ++++ b/newlib/libc/machine/powerpc/sys/lock.h +@@ -0,0 +1,58 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ + ++typedef int _LOCK_T; ++typedef int _LOCK_RECURSIVE_T; + -+int statvfs(const char *path, struct statvfs *buf) { -+ struct _reent *r = _REENT; ++#define __LOCK_INIT(CLASS,NAME) CLASS _LOCK_T NAME = 0 ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) CLASS _LOCK_RECURSIVE_T NAME = 0 + -+ int ret; -+ int device = FindDevice(path); + -+ ret = -1; ++extern void __libc_lock_init(_LOCK_T *lock); ++extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_close(_LOCK_T *lock); ++extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); + -+ if ( device != -1 && devoptab_list[device]->statvfs_r) { ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); + -+ r->deviceData = devoptab_list[device]->deviceData; -+ ret = devoptab_list[device]->statvfs_r(r, path, buf ); ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) + -+ } else { -+ r->_errno = ENOSYS; -+ } ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) + -+ return ret; -+} -diff --git a/libgloss/libsysbase/symlink.c b/libgloss/libsysbase/symlink.c -new file mode 100644 -index 000000000..b3c34ea51 ---- /dev/null -+++ b/libgloss/libsysbase/symlink.c -@@ -0,0 +1,29 @@ -+#include -+#include -+#include -+#include ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) + -+int symlink_r(struct _reent *r, const char *target, const char *linkpath) { -+ int ret=-1; -+ int targetDevice = FindDevice(target); -+ int linkDevice = FindDevice(linkpath); ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close(&(NAME)) + -+ if (targetDevice != linkDevice) { -+ return -1; -+ } ++#define __lock_acquire(NAME) \ ++ if(!(NAME)) __libc_lock_init(&(NAME)); \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_acquire_recursive(NAME) \ ++ if(!(NAME)) __libc_lock_init_recursive(&(NAME)); \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_try_acquire(NAME) \ ++ if(!(NAME)) __libc_lock_init(&(NAME)); \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_try_acquire_recursive(NAME) \ ++ if(!(NAME)) __libc_lock_init_recursive(&(NAME)); \ ++ __libc_lock_try_acquire(&(NAME)) + -+ if ( targetDevice != -1 && devoptab_list[targetDevice]->symlink_r) { ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) + -+ r->deviceData = devoptab_list[targetDevice]->deviceData; -+ ret = devoptab_list[targetDevice]->symlink_r(r, target, linkpath ); ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release(&(NAME)) + -+ } else { -+ r->_errno = ENOSYS; -+ } ++#endif /* __SYS_LOCK_H__ */ +-- +2.20.1 + + +From d74686101f250aa419c792ca2699271dee4f02f0 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 16 Mar 2023 20:52:26 +0000 +Subject: [PATCH 26/83] devkitPPC defines + +--- + newlib/configure.host | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/newlib/configure.host b/newlib/configure.host +index d251ae629..1646e2c9c 100644 +--- a/newlib/configure.host ++++ b/newlib/configure.host +@@ -807,7 +807,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + default_newlib_io_long_long="yes" + newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" + ;; +- powerpc*-*-eabi* | \ ++ powerpc*-*-eabi*) ++ default_newlib_io_c99_formats="yes" ++ default_newlib_io_long_long="yes" ++ newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" ++ syscall_dir=syscalls ++ ;; + powerpc*-*-elf* | \ + powerpc*-*-linux* | \ + powerpc*-*-rtem* | \ +-- +2.20.1 + + +From 7be6e90210924339291f6cc631dda7beeaf81f8d Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 16 Mar 2023 21:00:18 +0000 +Subject: [PATCH 27/83] allow custom malloc lock/unlock + +--- + libgloss/libsysbase/syscall_support.c | 16 ++++++++++++++++ + newlib/libc/include/sys/iosupport.h | 3 +++ + newlib/libc/stdlib/mlock.c | 2 ++ + 3 files changed, 21 insertions(+) + +diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c +index f54018ce9..99f2a7822 100644 +--- a/libgloss/libsysbase/syscall_support.c ++++ b/libgloss/libsysbase/syscall_support.c +@@ -75,3 +75,19 @@ void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { + __syscall_lock_close_recursive(lock); + } + } + -+ return ret; -+} ++#ifdef CUSTOM_MALLOC_LOCK + -+int symlink(const char *target, const char *linkpath) { -+ return (symlink_r(_REENT, target, linkpath)); -+} -diff --git a/libgloss/libsysbase/sysbase.specs b/libgloss/libsysbase/sysbase.specs -new file mode 100644 -index 000000000..d5959084e ---- /dev/null -+++ b/libgloss/libsysbase/sysbase.specs -@@ -0,0 +1,11 @@ -+%rename link_gcc_c_sequence sysbase_link_gcc_c_sequence ++void __malloc_lock( struct _reent *ptr ) { ++ if ( __has_syscall(malloc_lock) ){ ++ __syscall_malloc_lock(ptr); ++ } ++ } + -+*sysbase_libgloss: -+-lsysbase ++void __malloc_unlock( struct _reent *ptr ) { ++ if ( __has_syscall(malloc_unlock)) { ++ __syscall_malloc_unlock(ptr); ++ } ++} + -+*sysbase_libc: -+%{!specs=nano.specs:-lc} %{specs=nano.specs:-lc_nano} ++#endif +diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h +index f30fb7ead..6bd075993 100644 +--- a/newlib/libc/include/sys/iosupport.h ++++ b/newlib/libc/include/sys/iosupport.h +@@ -95,6 +95,9 @@ int __SYSCALL(clock_settime) (clockid_t clock_id, const struct timespec *tp); + int __SYSCALL(clock_getres) (clockid_t clock_id, struct timespec *res); + int __SYSCALL(nanosleep) (const struct timespec *req, struct timespec *rem); + ++void __SYSCALL(malloc_lock) (struct _reent *ptr); ++void __SYSCALL(malloc_unlock) (struct _reent *ptr); + -+*link_gcc_c_sequence: -+%(sysbase_link_gcc_c_sequence) --start-group %G %(sysbase_libc) %(sysbase_libgloss) --end-group + int AddDevice( const devoptab_t* device); + int FindDevice(const char* name); + int RemoveDevice(const char* name); +diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c +index 23aa10173..ba88eb9fb 100644 +--- a/newlib/libc/stdlib/mlock.c ++++ b/newlib/libc/stdlib/mlock.c +@@ -1,4 +1,5 @@ + #ifndef MALLOC_PROVIDED ++#ifndef CUSTOM_MALLOC_LOCK + /* + FUNCTION + <<__malloc_lock>>, <<__malloc_unlock>>---lock malloc pool +@@ -55,3 +56,4 @@ __malloc_unlock (ptr) + } + + #endif ++#endif +-- +2.20.1 + + +From 61f3a5d667de9ffe045263a24b8c6af6f8eb21e9 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 17 Mar 2023 14:44:28 +0000 +Subject: [PATCH 28/83] devkitPPC uses custom malloc lock/unlock + +--- + newlib/configure.host | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/newlib/configure.host b/newlib/configure.host +index 1646e2c9c..749f1ec7d 100644 +--- a/newlib/configure.host ++++ b/newlib/configure.host +@@ -810,7 +810,7 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + powerpc*-*-eabi*) + default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" +- newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" + newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls + ;; +-- +2.20.1 + + +From 26cf751c749fa951b6a73afbd817d94cf840c241 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 17 Mar 2023 14:45:11 +0000 +Subject: [PATCH 29/83] arm dirent has d_type + +--- + newlib/libc/sys/arm/sys/dirent.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/newlib/libc/sys/arm/sys/dirent.h b/newlib/libc/sys/arm/sys/dirent.h +index a0785353d..718537c3e 100644 +--- a/newlib/libc/sys/arm/sys/dirent.h ++++ b/newlib/libc/sys/arm/sys/dirent.h +@@ -1,6 +1,8 @@ + #ifndef _dirent_h_ + #define _dirent_h_ + ++#define _DIRENT_HAVE_D_TYPE + -diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c + #include + #include + #include +-- +2.20.1 + + +From 5e5e65d9ca1c42359c280e13e6e747e9dc5034c4 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 17 Mar 2023 14:45:47 +0000 +Subject: [PATCH 30/83] devkitPPC dirent.h + +--- + newlib/libc/machine/powerpc/sys/dirent.h | 54 ++++++++++++++++++++++++ + 1 file changed, 54 insertions(+) + create mode 100644 newlib/libc/machine/powerpc/sys/dirent.h + +diff --git a/newlib/libc/machine/powerpc/sys/dirent.h b/newlib/libc/machine/powerpc/sys/dirent.h new file mode 100644 -index 000000000..cbabf8b9a +index 000000000..718537c3e --- /dev/null -+++ b/libgloss/libsysbase/syscall_support.c -@@ -0,0 +1,144 @@ -+#include -+#include ++++ b/newlib/libc/machine/powerpc/sys/dirent.h +@@ -0,0 +1,54 @@ ++#ifndef _dirent_h_ ++#define _dirent_h_ + -+static int -+timespec_subtract(struct timespec x, struct timespec y, struct timespec *__restrict result) -+{ -+ // Perform the carry for the later subtraction by updating y -+ if (x.tv_nsec < y.tv_nsec) { -+ int seconds = (y.tv_nsec - x.tv_nsec) / 1000000000 + 1; -+ y.tv_nsec -= 1000000000 * seconds; -+ y.tv_sec += seconds; -+ } -+ if (x.tv_nsec - y.tv_nsec > 1000000000) { -+ int seconds = (x.tv_nsec - y.tv_nsec) / 1000000000; -+ y.tv_nsec += 1000000000 * seconds; -+ y.tv_sec -= seconds; -+ } ++#define _DIRENT_HAVE_D_TYPE + -+ // Compute the time remaining to wait -+ result->tv_sec = x.tv_sec - y.tv_sec; -+ result->tv_nsec = x.tv_nsec - y.tv_nsec; ++#include ++#include ++#include + -+ // Return true if result is negative -+ return x.tv_sec < y.tv_sec; -+} ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 + -+__uint64_t -+timespec2nsec(const struct timespec *__restrict ts) -+{ -+ return (__uint64_t)ts->tv_sec * 1000000000 + ts->tv_nsec; -+} ++#ifdef __cplusplus ++extern "C" { ++#endif + -+__uint64_t -+abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts) -+{ -+ struct timespec now, diff; -+ clock_gettime(clock_id, &now); -+ if (timespec_subtract(*ts, now, &diff)) -+ return 0; -+ return timespec2nsec(&diff); -+} ++ struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++ }; + -+void __libc_lock_acquire(_LOCK_T *lock ) { ++ typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++ } DIR; + -+ if ( __has_syscall(lock_acquire) ) { -+ __syscall_lock_acquire(lock); -+ } -+} ++ int closedir(DIR *dirp); ++ DIR *opendir(const char *dirname); ++ struct dirent *readdir(DIR *dirp); ++ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++ void rewinddir(DIR *dirp); ++ void seekdir(DIR *dirp, long int loc); ++ long int telldir(DIR *dirp); + -+int __libc_lock_try_acquire(_LOCK_T *lock ) { ++ int scandir(const char *dirp, struct dirent ***namelist, ++ int (*filter)(const struct dirent *), ++ int (*compar)(const struct dirent **, const struct dirent **)); + -+ if ( __has_syscall(lock_acquire) ) { -+ return __syscall_lock_try_acquire(lock); -+ } else { -+ return 0; -+ } ++ int alphasort(const struct dirent **a, const struct dirent **b); ++ ++#ifdef __cplusplus +} ++#endif + -+void __libc_lock_release(_LOCK_T *lock ) { ++#endif // _dirent_h_ +-- +2.20.1 + + +From ebec604421a667c398fb1150eb389f5e355a7487 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 17 Mar 2023 15:08:44 +0000 +Subject: [PATCH 31/83] devkitPPC: use 64bit types + +--- + newlib/libc/machine/powerpc/machine/_types.h | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + create mode 100644 newlib/libc/machine/powerpc/machine/_types.h + +diff --git a/newlib/libc/machine/powerpc/machine/_types.h b/newlib/libc/machine/powerpc/machine/_types.h +new file mode 100644 +index 000000000..a7d63da51 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/machine/_types.h +@@ -0,0 +1,19 @@ ++#ifndef _MACHINE__TYPES_H ++#define _MACHINE__TYPES_H + -+ if ( __has_syscall(lock_release) ) { -+ __syscall_lock_release(lock); -+ } -+} ++#include + -+void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { ++/* Use 64bit types */ ++typedef __int64_t _off_t; ++#define __machine_off_t_defined + -+ if ( __has_syscall(lock_acquire_recursive) ) { -+ __syscall_lock_acquire_recursive(lock); -+ } -+} ++typedef __int64_t _fpos_t; ++#define __machine_fpos_t_defined + -+int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { ++typedef __uint32_t __ino_t; ++#define __machine_ino_t_defined + -+ if ( __has_syscall(lock_acquire_recursive) ) { -+ return __syscall_lock_try_acquire_recursive(lock); -+ } else { -+ return 0; -+ } -+} ++typedef __uint32_t __dev_t; ++#define __machine_dev_t_defined + -+void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { ++#endif // _MACHINE__TYPES_H +-- +2.20.1 + + +From 16bba2ed245c415339bae21c27d0f3095db02c4d Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 17 Mar 2023 17:02:23 +0000 +Subject: [PATCH 32/83] add crtmain for devkitPPC + +--- + libgloss/rs6000/Makefile.in | 12 ++++++++++-- + libgloss/rs6000/crtmain.c | 18 ++++++++++++++++++ + 2 files changed, 28 insertions(+), 2 deletions(-) + create mode 100644 libgloss/rs6000/crtmain.c + +diff --git a/libgloss/rs6000/Makefile.in b/libgloss/rs6000/Makefile.in +index 489903645..cf62806a3 100644 +--- a/libgloss/rs6000/Makefile.in ++++ b/libgloss/rs6000/Makefile.in +@@ -131,6 +131,9 @@ XIL_OBJS = open.o close.o lseek.o sbrk.o read.o write.o print.o + XIL_TEST = xil-test + XIL_INSTALL = install-xil + ++OGC_CRTMAIN = crtmain.o ++OGC_INSTALL = install-ogc + -+ if ( __has_syscall(lock_release_recursive) ) { -+ __syscall_lock_release_recursive(lock); -+ } -+} + # Host specific makefile fragment comes in here. + @host_makefile_frag@ + +@@ -145,7 +148,7 @@ all: \ + ${LINUX_CRT0} ${LINUX_BSP} \ + ${YELLOWKNIFE_CRT0} ${YELLOWKNIFE_BSP} \ + ${ADS_CRT0} ${ADS_BSP} \ +- ${MBX_CRT0} ${MBX_BSP} \ ++ ${MBX_CRT0} ${MBX_BSP} ${OGC_CRTMAIN} \ + ${XIL_CRT0} ${XIL_BSP} + + # +@@ -297,6 +300,8 @@ xil-test.srec: xil-test.x + + crt0.o: crt0.S + ++crtmain.o: crtmain.c + -+int __libc_cond_signal(_COND_T *cond) { + simulator.o: simulator.S + sim-getrusage.o: sim-getrusage.S + sim-crt0.o: sim-crt0.S +@@ -354,7 +359,7 @@ distclean maintainer-clean realclean: clean + rm -f Makefile config.status *~ + + .PHONY: install info install-info clean-info +-install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${XIL_INSTALL} ++install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${OGC_INSTALL} ${XIL_INSTALL} + + install-sim: + ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} +@@ -392,6 +397,9 @@ install-xil: + set -e; for x in ${XIL_CRT0} ${XIL_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + set -e; for x in ${XIL_SCRIPTS} ${XIL_SPECS}; do ${INSTALL_DATA} $(srcdir)/$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + ++install-ogc: ++ set -e; for x in ${OGC_CRTMAIN}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done ++ + doc: + info: + install-info: +diff --git a/libgloss/rs6000/crtmain.c b/libgloss/rs6000/crtmain.c +new file mode 100644 +index 000000000..bd25d775d +--- /dev/null ++++ b/libgloss/rs6000/crtmain.c +@@ -0,0 +1,18 @@ ++#include + -+ if ( __has_syscall(cond_signal) ) { -+ return __syscall_cond_signal(cond); -+ } ++struct __argv { ++ int argvMagic; //!< argv magic number, set to 0x5f617267 ('_arg') if valid ++ char *commandLine; //!< base address of command line, set of null terminated strings ++ int length;//!< total length of command line ++ int argc; ++ char **argv; ++}; + -+ return ENOSYS; ++extern struct __argv *__system_argv; ++void __init(); ++void SYS_PreMain(); + ++void __crtmain() { ++ SYS_PreMain(); ++ exit ( main(__system_argv->argc,__system_argv->argv) ); +} +-- +2.20.1 + + +From 9303352d01f3f8b3601675a93f7a63c900a871ad Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Tue, 21 Mar 2023 16:33:17 +0000 +Subject: [PATCH 33/83] directly convert stat mode to dirtype + +--- + libgloss/libsysbase/dirent.c | 2 +- + newlib/libc/machine/powerpc/sys/dirent.h | 54 +++++++++++++----------- + 2 files changed, 30 insertions(+), 26 deletions(-) + +diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c +index 0ad29029c..bed699102 100644 +--- a/libgloss/libsysbase/dirent.c ++++ b/libgloss/libsysbase/dirent.c +@@ -169,7 +169,7 @@ struct dirent* readdir (DIR *dirp) { + + strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); + dirp->fileData.d_ino = st.st_ino; +- dirp->fileData.d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; ++ dirp->fileData.d_type = IFTODT(st.st_mode); + + return &(dirp->fileData); + } +diff --git a/newlib/libc/machine/powerpc/sys/dirent.h b/newlib/libc/machine/powerpc/sys/dirent.h +index 718537c3e..2aaca6080 100644 +--- a/newlib/libc/machine/powerpc/sys/dirent.h ++++ b/newlib/libc/machine/powerpc/sys/dirent.h +@@ -21,31 +21,35 @@ + extern "C" { + #endif + +- struct dirent { +- ino_t d_ino; +- unsigned char d_type; +- char d_name[NAME_MAX+1]; +- }; +- +- typedef struct { +- long int position; +- DIR_ITER* dirData; +- struct dirent fileData; +- } DIR; +- +- int closedir(DIR *dirp); +- DIR *opendir(const char *dirname); +- struct dirent *readdir(DIR *dirp); +- int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); +- void rewinddir(DIR *dirp); +- void seekdir(DIR *dirp, long int loc); +- long int telldir(DIR *dirp); +- +- int scandir(const char *dirp, struct dirent ***namelist, +- int (*filter)(const struct dirent *), +- int (*compar)(const struct dirent **, const struct dirent **)); +- +- int alphasort(const struct dirent **a, const struct dirent **b); ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; + -+int __libc_cond_broadcast(_COND_T *cond) { -+ -+ if ( __has_syscall(cond_broadcast) ) { -+ return __syscall_cond_broadcast(cond); -+ } ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; + -+ return ENOSYS; ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); + -+} ++int scandir(const char *dirp, struct dirent ***namelist, ++int (*filter)(const struct dirent *), ++int (*compar)(const struct dirent **, const struct dirent **)); + -+int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns) { ++int alphasort(const struct dirent **a, const struct dirent **b); + -+ if ( __has_syscall(cond_wait) ) { -+ return __syscall_cond_wait(cond, lock, timeout_ns); -+ } ++/* Convert between stat structure types and directory types. */ ++# define IFTODT(mode) (((mode) & 0170000) >> 12) ++# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) + + #ifdef __cplusplus + } +-- +2.20.1 + + +From 46e36b688826fae4b8d6f309a42a61bba766aa64 Mon Sep 17 00:00:00 2001 +From: Omega +Date: Sat, 2 Feb 2019 12:37:12 -0700 +Subject: [PATCH 34/83] Add fnmatch to libsysbase. (#12) + +--- + libgloss/libsysbase/Makefile.inc | 1 + + libgloss/libsysbase/fnmatch.c | 201 +++++++++++++++++++++++++++++++ + newlib/libc/include/fnmatch.h | 1 + + 3 files changed, 203 insertions(+) + create mode 100644 libgloss/libsysbase/fnmatch.c + +diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc +index df4a97dc8..5041d85b0 100644 +--- a/libgloss/libsysbase/Makefile.inc ++++ b/libgloss/libsysbase/Makefile.inc +@@ -14,6 +14,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a + %D%/environ.c \ + %D%/execve.c \ + %D%/fchmod.c \ ++ %D%/fnmatch.c \ + %D%/fork.c \ + %D%/fstat.c \ + %D%/fsync.c \ +diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c +new file mode 100644 +index 000000000..893b662ab +--- /dev/null ++++ b/libgloss/libsysbase/fnmatch.c +@@ -0,0 +1,201 @@ ++/* ++ * Copyright (c) 1989, 1993, 1994 ++ * The Regents of the University of California. All rights reserved. ++ * ++ * This code is derived from software contributed to Berkeley by ++ * Guido van Rossum. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. All advertising materials mentioning features or use of this software ++ * must display the following acknowledgement: ++ * This product includes software developed by the University of ++ * California, Berkeley and its contributors. ++ * 4. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * From FreeBSD fnmatch.c 1.11 ++ * $Id: fnmatch.c,v 1.3 1997/08/19 02:34:30 jdp Exp $ ++ */ + -+ return ENOSYS; ++#define _GNU_SOURCE + -+} ++#if defined(LIBC_SCCS) && !defined(lint) ++static char sccsid[] = "@(#)fnmatch.c 8.2 (Berkeley) 4/16/94"; ++#endif /* LIBC_SCCS and not lint */ + -+int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns) { ++/* ++ * Function fnmatch() as specified in POSIX 1003.2-1992, section B.6. ++ * Compares a filename or pathname to a pattern. ++ */ + -+ if ( __has_syscall(cond_wait_recursive) ) { -+ return __syscall_cond_wait_recursive(cond, lock, timeout_ns); -+ } ++#include ++#include ++#include + -+ return ENOSYS; ++#include "fnmatch.h" + -+} ++#define EOS '\0' + ++static const char *rangematch(const char *, char, int); + -+#ifdef CUSTOM_MALLOC_LOCK ++int ++fnmatch(const char *pattern, const char *string, int flags) ++{ ++ const char *stringstart; ++ char c, test; + -+void __malloc_lock( struct _reent *ptr ) { -+ if ( __has_syscall(malloc_lock) ){ -+ __syscall_malloc_lock(ptr); -+ } -+ } ++ for (stringstart = string;;) ++ switch (c = *pattern++) { ++ case EOS: ++ if ((flags & FNM_LEADING_DIR) && *string == '/') ++ return (0); ++ return (*string == EOS ? 0 : FNM_NOMATCH); ++ case '?': ++ if (*string == EOS) ++ return (FNM_NOMATCH); ++ if (*string == '/' && (flags & FNM_PATHNAME)) ++ return (FNM_NOMATCH); ++ if (*string == '.' && (flags & FNM_PERIOD) && ++ (string == stringstart || ++ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) ++ return (FNM_NOMATCH); ++ ++string; ++ break; ++ case '*': ++ c = *pattern; ++ /* Collapse multiple stars. */ ++ while (c == '*') ++ c = *++pattern; + -+void __malloc_unlock( struct _reent *ptr ) { -+ if ( __has_syscall(malloc_unlock)) { -+ __syscall_malloc_unlock(ptr); -+ } -+} ++ if (*string == '.' && (flags & FNM_PERIOD) && ++ (string == stringstart || ++ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) ++ return (FNM_NOMATCH); + -+#endif -diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c -new file mode 100644 -index 000000000..edac04a1a ---- /dev/null -+++ b/libgloss/libsysbase/times.c -@@ -0,0 +1,13 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include ++ /* Optimize for pattern with * at end or before /. */ ++ if (c == EOS) ++ if (flags & FNM_PATHNAME) ++ return ((flags & FNM_LEADING_DIR) || ++ strchr(string, '/') == NULL ? ++ 0 : FNM_NOMATCH); ++ else ++ return (0); ++ else if (c == '/' && flags & FNM_PATHNAME) { ++ if ((string = strchr(string, '/')) == NULL) ++ return (FNM_NOMATCH); ++ break; ++ } + -+//--------------------------------------------------------------------------------- -+clock_t _times_r(struct _reent *r, struct tms *ptms) { -+//--------------------------------------------------------------------------------- -+ r->_errno = ENOSYS; -+ return (clock_t)-1; ++ /* General case, use recursion. */ ++ while ((test = *string) != EOS) { ++ if (!fnmatch(pattern, string, flags & ~FNM_PERIOD)) ++ return (0); ++ if (test == '/' && flags & FNM_PATHNAME) ++ break; ++ ++string; ++ } ++ return (FNM_NOMATCH); ++ case '[': ++ if (*string == EOS) ++ return (FNM_NOMATCH); ++ if (*string == '/' && flags & FNM_PATHNAME) ++ return (FNM_NOMATCH); ++ if ((pattern = ++ rangematch(pattern, *string, flags)) == NULL) ++ return (FNM_NOMATCH); ++ ++string; ++ break; ++ case '\\': ++ if (!(flags & FNM_NOESCAPE)) { ++ if ((c = *pattern++) == EOS) { ++ c = '\\'; ++ --pattern; ++ } ++ } ++ /* FALLTHROUGH */ ++ default: ++ if (c == *string) ++ ; ++ else if ((flags & FNM_CASEFOLD) && ++ (tolower((unsigned char)c) == ++ tolower((unsigned char)*string))) ++ ; ++ else if ((flags & FNM_PREFIX_DIRS) && *string == EOS && ++ ((c == '/' && string != stringstart) || ++ (string == stringstart+1 && *stringstart == '/'))) ++ return (0); ++ else ++ return (FNM_NOMATCH); ++ string++; ++ break; ++ } ++ /* NOTREACHED */ +} + -diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c -new file mode 100644 -index 000000000..849525990 ---- /dev/null -+++ b/libgloss/libsysbase/truncate.c -@@ -0,0 +1,54 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+int truncate(const char *file, off_t len) ++static const char * ++rangematch(const char *pattern, char test, int flags) +{ ++ int negate, ok; ++ char c, c2; + -+ __handle *handle; -+ int dev, fd, ret; -+ -+ struct _reent * r = _REENT; -+ -+ dev = FindDevice(file); ++ /* ++ * A bracket expression starting with an unquoted circumflex ++ * character produces unspecified results (IEEE 1003.2-1992, ++ * 3.13.2). This implementation treats it like '!', for ++ * consistency with the regular expression syntax. ++ * J.T. Conklin (conklin@ngai.kaleida.com) ++ */ ++ if ( (negate = (*pattern == '!' || *pattern == '^')) ) ++ ++pattern; + -+ if(dev!=-1 && devoptab_list[dev]->open_r && devoptab_list[dev]->close_r && -+ devoptab_list[dev]->ftruncate_r) -+ { ++ if (flags & FNM_CASEFOLD) ++ test = tolower((unsigned char)test); + -+ fd = __alloc_handle(dev); ++ for (ok = 0; (c = *pattern++) != ']';) { ++ if (c == '\\' && !(flags & FNM_NOESCAPE)) ++ c = *pattern++; ++ if (c == EOS) ++ return (NULL); + -+ if ( -1 != fd ) { -+ handle = __get_handle(fd); ++ if (flags & FNM_CASEFOLD) ++ c = tolower((unsigned char)c); + -+ r->deviceData = devoptab_list[dev]->deviceData; ++ if (*pattern == '-' ++ && (c2 = *(pattern+1)) != EOS && c2 != ']') { ++ pattern += 2; ++ if (c2 == '\\' && !(flags & FNM_NOESCAPE)) ++ c2 = *pattern++; ++ if (c2 == EOS) ++ return (NULL); + -+ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, O_WRONLY, 0); ++ if (flags & FNM_CASEFOLD) ++ c2 = tolower((unsigned char)c2); + -+ if ( ret < 0 ) { -+ __release_handle(fd); -+ return ret; -+ } ++ if ((unsigned char)c <= (unsigned char)test && ++ (unsigned char)test <= (unsigned char)c2) ++ ok = 1; ++ } else if (c == test) ++ ok = 1; ++ } ++ return (ok == negate ? NULL : pattern); ++} +diff --git a/newlib/libc/include/fnmatch.h b/newlib/libc/include/fnmatch.h +index a94e923a4..9171e98aa 100644 +--- a/newlib/libc/include/fnmatch.h ++++ b/newlib/libc/include/fnmatch.h +@@ -44,6 +44,7 @@ + #if __GNU_VISIBLE + #define FNM_LEADING_DIR 0x08 /* Ignore / after Imatch. */ + #define FNM_CASEFOLD 0x10 /* Case insensitive search. */ ++#define FNM_PREFIX_DIRS 0x20 /* Directory prefixes of pattern match too. */ + #define FNM_IGNORECASE FNM_CASEFOLD + #define FNM_FILE_NAME FNM_PATHNAME + #endif +-- +2.20.1 + + +From 4f63828259d85d7f039e3b2dbefe501c690d5226 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Tue, 21 Mar 2023 16:41:05 +0000 +Subject: [PATCH 35/83] libgloss/Makefile.in: regenerate + +--- + libgloss/Makefile.in | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in +index 91d73e2da..127bcc21b 100644 +--- a/libgloss/Makefile.in ++++ b/libgloss/Makefile.in +@@ -436,6 +436,7 @@ libsysbase_libsysbase_a_LIBADD = + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT) \ +@@ -1057,6 +1058,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fchmod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fnmatch.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fsync.c \ +@@ -1721,6 +1723,9 @@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT): \ + libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) + libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) +@@ -2227,6 +2232,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po@am__quote@ +@@ -3145,6 +3151,20 @@ libsysbase/libsysbase_libsysbase_a-fchmod.obj: libsysbase/fchmod.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-fnmatch.o: libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fnmatch.c' object='libsysbase/libsysbase_libsysbase_a-fnmatch.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c + -+ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); ++libsysbase/libsysbase_libsysbase_a-fnmatch.obj: libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.obj `if test -f 'libsysbase/fnmatch.c'; then $(CYGPATH_W) 'libsysbase/fnmatch.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fnmatch.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fnmatch.c' object='libsysbase/libsysbase_libsysbase_a-fnmatch.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.obj `if test -f 'libsysbase/fnmatch.c'; then $(CYGPATH_W) 'libsysbase/fnmatch.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fnmatch.c'; fi` + -+ if (ret >= 0) { -+ ret = devoptab_list[dev]->close_r(r, handle->fileStruct); -+ } else { -+ // Close it anyway, we don't want to leak memory -+ devoptab_list[dev]->close_r(r, handle->fileStruct); -+ } -+ } else { -+ r->_errno = ENOSR; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } + libsysbase/libsysbase_libsysbase_a-fork.o: libsysbase/fork.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po +-- +2.20.1 + + +From 311dacc748226d3755549d7a17eafa4c5096cba8 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Tue, 21 Mar 2023 20:00:12 +0000 +Subject: [PATCH 36/83] devkitPPC: use __end__ for heap start + +--- + libgloss/rs6000/ads.ld | 1 + + libgloss/rs6000/mbx.ld | 1 + + libgloss/rs6000/xilinx.ld | 1 + + libgloss/rs6000/xilinx440.ld | 1 + + libgloss/rs6000/yellowknife.ld | 1 + + 5 files changed, 5 insertions(+) + +diff --git a/libgloss/rs6000/ads.ld b/libgloss/rs6000/ads.ld +index ef5038e68..32a1d5e0b 100644 +--- a/libgloss/rs6000/ads.ld ++++ b/libgloss/rs6000/ads.ld +@@ -121,6 +121,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +diff --git a/libgloss/rs6000/mbx.ld b/libgloss/rs6000/mbx.ld +index cedf4e867..99d849e90 100644 +--- a/libgloss/rs6000/mbx.ld ++++ b/libgloss/rs6000/mbx.ld +@@ -101,6 +101,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +diff --git a/libgloss/rs6000/xilinx.ld b/libgloss/rs6000/xilinx.ld +index 75b2a12b6..40a4a1e4b 100644 +--- a/libgloss/rs6000/xilinx.ld ++++ b/libgloss/rs6000/xilinx.ld +@@ -273,6 +273,7 @@ SECTIONS + _end = . ; + end = .; + __end = .; ++ __end__ = .; + .boot 0xFFFFFFFC : { *(.boot) } + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ +diff --git a/libgloss/rs6000/xilinx440.ld b/libgloss/rs6000/xilinx440.ld +index 2c7c5aba4..c1ddf8529 100644 +--- a/libgloss/rs6000/xilinx440.ld ++++ b/libgloss/rs6000/xilinx440.ld +@@ -264,6 +264,7 @@ SECTIONS + _end = . ; + end = .; + __end = .; ++ __end__ = .; + + .boot0 0xFFFFFF00 : { *(.boot0)} + +diff --git a/libgloss/rs6000/yellowknife.ld b/libgloss/rs6000/yellowknife.ld +index 36c30092d..7e54036ed 100644 +--- a/libgloss/rs6000/yellowknife.ld ++++ b/libgloss/rs6000/yellowknife.ld +@@ -113,6 +113,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +-- +2.20.1 + + +From b3f2d709e2ba9c923d4a61a94c193b20b5ec6d58 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Wed, 4 Dec 2019 00:02:13 +0000 +Subject: [PATCH 37/83] scandir: set errno to 0 at start + +--- + libgloss/libsysbase/scandir.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c +index bc18c1781..7bb5ebd52 100644 +--- a/libgloss/libsysbase/scandir.c ++++ b/libgloss/libsysbase/scandir.c +@@ -28,6 +28,8 @@ scandir (const char *dirname, + int (*filter) __P((const struct dirent *)), + int (*compar) __P((const struct dirent **, const struct dirent **))) + { ++ errno = 0; + -+ return ret; -+} -diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c + DIR *d = opendir(dirname); + + if (!d) return -1; +-- +2.20.1 + + +From 16c14a9f12b68f319caf926475bfc59df4ec0188 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 24 Mar 2023 22:35:19 +0000 +Subject: [PATCH 38/83] fix uselocale + +--- + newlib/libc/locale/setlocale.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h +index 3530ec664..0a62bfd72 100644 +--- a/newlib/libc/locale/setlocale.h ++++ b/newlib/libc/locale/setlocale.h +@@ -234,11 +234,11 @@ __get_locale_r (struct _reent *r) + _ELIDABLE_INLINE struct __locale_t * + __get_current_locale (void) + { +-#ifdef __HAVE_LOCALE_INFO__ ++//#ifdef __HAVE_LOCALE_INFO__ + return _REENT_LOCALE(_REENT) ?: __get_global_locale (); +-#else +- return __get_global_locale(); +-#endif ++//#else ++// return __get_global_locale(); ++//#endif + } + + /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE +-- +2.20.1 + + +From 806a4d34c5408d393dbd2b6b9cae22184c57d3a8 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Sun, 8 Jul 2018 23:15:11 +0100 +Subject: [PATCH 39/83] remove spurious trailing / from cwd + +--- + libgloss/libsysbase/chdir.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c +index 90d2dc5b7..b94f6a8b4 100644 +--- a/libgloss/libsysbase/chdir.c ++++ b/libgloss/libsysbase/chdir.c +@@ -97,11 +97,10 @@ int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxL + extra += extraSize; + } while (extraSize != 0); + +- if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { +- pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; +- pathEnd[1] = 0; +- pathEnd += 1; +- } ++ if (strlen(path) > 2 ) { ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') ++ pathEnd[-1] = '\0'; ++ } + + return 0; + } +-- +2.20.1 + + +From d3408998b285f23077d88bd77895a480937e1750 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 30 Mar 2023 12:47:27 +0100 +Subject: [PATCH 40/83] devkitPPC: use custom flockfile/funlockfile + +--- + libgloss/libsysbase/Makefile.inc | 1 + + libgloss/libsysbase/flock.c | 22 ++++++++++++++++++++++ + newlib/libc/machine/powerpc/stdio.h | 25 +++++++++++++++++++++++++ + 3 files changed, 48 insertions(+) + create mode 100644 libgloss/libsysbase/flock.c + create mode 100644 newlib/libc/machine/powerpc/stdio.h + +diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc +index 5041d85b0..c7403e578 100644 +--- a/libgloss/libsysbase/Makefile.inc ++++ b/libgloss/libsysbase/Makefile.inc +@@ -14,6 +14,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a + %D%/environ.c \ + %D%/execve.c \ + %D%/fchmod.c \ ++ %D%/flock.c \ + %D%/fnmatch.c \ + %D%/fork.c \ + %D%/fstat.c \ +diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c new file mode 100644 -index 000000000..0a4c087c9 +index 000000000..8a66cd19f --- /dev/null -+++ b/libgloss/libsysbase/unlink.c -@@ -0,0 +1,27 @@ -+#include "config.h" ++++ b/libgloss/libsysbase/flock.c +@@ -0,0 +1,22 @@ ++#include +#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+//--------------------------------------------------------------------------------- -+int _unlink_r(struct _reent * r, const char *name ) { -+//--------------------------------------------------------------------------------- -+ int dev,ret=-1; -+ -+ dev = FindDevice(name); -+ if(dev<0) { -+ r->_errno = ENODEV; -+ } else { -+ if (devoptab_list[dev]->unlink_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->unlink_r(r,name); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } ++#include <_syslist.h> ++#include ++#include ++#include ++#ifndef REENTRANT_SYSCALLS_PROVIDED ++#include ++#endif ++#include ++#include + -+ return ret; ++void __flockfile(FILE *fp) ++{ ++ __lock_acquire_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); +} + -diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c ++void __funlockfile(FILE *fp) ++{ ++ __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); ++} ++ +diff --git a/newlib/libc/machine/powerpc/stdio.h b/newlib/libc/machine/powerpc/stdio.h new file mode 100644 -index 000000000..b54714775 +index 000000000..04ebd1ee0 --- /dev/null -+++ b/libgloss/libsysbase/usleep.c -@@ -0,0 +1,18 @@ -+/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ ++++ b/newlib/libc/machine/powerpc/stdio.h +@@ -0,0 +1,25 @@ ++#ifndef _NEWLIB_STDIO_H ++#define _NEWLIB_STDIO_H + -+/* Written 2000 by Werner Almesberger */ ++/* Internal locking macros, used to protect stdio functions. In the ++ general case, expand to nothing. */ ++#if !defined(_flockfile) ++# if !defined(__SINGLE_THREAD__) ++# define _flockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __flockfile(fp); } ++ extern void __flockfile(FILE *fp); ++# else ++# define _flockfile(fp) ++# endif ++#endif /* __SINGLE_THREAD__ */ + -+#include -+#include -+#include ++#if !defined(_funlockfile) ++# if !defined(__SINGLE_THREAD__) ++# define _funlockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __funlockfile(fp); } ++ extern void __funlockfile(FILE *fp); ++# else ++# define _funlockfile(fp) ++# endif ++#endif /* __SINGLE_THREAD__ */ + -+int usleep(useconds_t useconds) -+{ -+ struct timespec ts; ++#endif /* _NEWLIB_STDIO_H */ + -+ ts.tv_sec = (long int)useconds / 1000000; -+ ts.tv_nsec = ((long int)useconds % 1000000) * 1000; -+ if (!nanosleep(&ts,&ts)) return 0; -+ if (errno == EINTR) return ts.tv_sec; -+ return -1; -+} -diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c -new file mode 100644 -index 000000000..14b459eef ---- /dev/null -+++ b/libgloss/libsysbase/utime.c -@@ -0,0 +1,45 @@ -+#include "config.h" +-- +2.20.1 + + +From cd4edd0bd2020bc77380ece21d0599af9f6ab6fc Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 30 Mar 2023 12:48:06 +0100 +Subject: [PATCH 41/83] libgloss/Makefile.in: regenerate + +--- + libgloss/Makefile.in | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in +index 127bcc21b..ce0261153 100644 +--- a/libgloss/Makefile.in ++++ b/libgloss/Makefile.in +@@ -436,6 +436,7 @@ libsysbase_libsysbase_a_LIBADD = + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ +@@ -1058,6 +1059,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fchmod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/flock.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fnmatch.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ +@@ -1723,6 +1725,9 @@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT): \ + libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) + libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) +@@ -2232,6 +2237,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ +@@ -3151,6 +3157,20 @@ libsysbase/libsysbase_libsysbase_a-fchmod.obj: libsysbase/fchmod.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-flock.o: libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-flock.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo -c -o libsysbase/libsysbase_libsysbase_a-flock.o `test -f 'libsysbase/flock.c' || echo '$(srcdir)/'`libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/flock.c' object='libsysbase/libsysbase_libsysbase_a-flock.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-flock.o `test -f 'libsysbase/flock.c' || echo '$(srcdir)/'`libsysbase/flock.c + -+#include -+#include -+#include -+#include -+#include ++libsysbase/libsysbase_libsysbase_a-flock.obj: libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-flock.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo -c -o libsysbase/libsysbase_libsysbase_a-flock.obj `if test -f 'libsysbase/flock.c'; then $(CYGPATH_W) 'libsysbase/flock.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/flock.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/flock.c' object='libsysbase/libsysbase_libsysbase_a-flock.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-flock.obj `if test -f 'libsysbase/flock.c'; then $(CYGPATH_W) 'libsysbase/flock.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/flock.c'; fi` + -+int utimes(const char *filename, const struct timeval times[2]) -+{ -+ struct _reent *r = _REENT; -+ int dev,ret=-1; + libsysbase/libsysbase_libsysbase_a-fnmatch.o: libsysbase/fnmatch.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po +-- +2.20.1 + + +From c8f0c42ee5d4e051e5074d45b2ce460f888989c1 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 30 Mar 2023 13:07:16 +0100 +Subject: [PATCH 42/83] devkitPPC: fix stdio.h + +--- + newlib/libc/machine/powerpc/{ => sys}/stdio.h | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) + rename newlib/libc/machine/powerpc/{ => sys}/stdio.h (100%) + +diff --git a/newlib/libc/machine/powerpc/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h +similarity index 100% +rename from newlib/libc/machine/powerpc/stdio.h +rename to newlib/libc/machine/powerpc/sys/stdio.h +-- +2.20.1 + + +From f6eb6a93ea1ed4332e0f515af96321f690b73a11 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 30 Mar 2023 18:27:51 +0100 +Subject: [PATCH 43/83] devkitARM: directly convert stat mode to dirtype + +--- + newlib/libc/sys/arm/sys/dirent.h | 54 +++++++++++++++++--------------- + 1 file changed, 29 insertions(+), 25 deletions(-) + +diff --git a/newlib/libc/sys/arm/sys/dirent.h b/newlib/libc/sys/arm/sys/dirent.h +index 718537c3e..2aaca6080 100644 +--- a/newlib/libc/sys/arm/sys/dirent.h ++++ b/newlib/libc/sys/arm/sys/dirent.h +@@ -21,31 +21,35 @@ + extern "C" { + #endif + +- struct dirent { +- ino_t d_ino; +- unsigned char d_type; +- char d_name[NAME_MAX+1]; +- }; +- +- typedef struct { +- long int position; +- DIR_ITER* dirData; +- struct dirent fileData; +- } DIR; +- +- int closedir(DIR *dirp); +- DIR *opendir(const char *dirname); +- struct dirent *readdir(DIR *dirp); +- int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); +- void rewinddir(DIR *dirp); +- void seekdir(DIR *dirp, long int loc); +- long int telldir(DIR *dirp); +- +- int scandir(const char *dirp, struct dirent ***namelist, +- int (*filter)(const struct dirent *), +- int (*compar)(const struct dirent **, const struct dirent **)); +- +- int alphasort(const struct dirent **a, const struct dirent **b); ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; + -+ dev = FindDevice(filename); ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; + -+ if(dev!=-1) { -+ if (devoptab_list[dev]->utimes_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->utimes_r(r,filename,times); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ r->_errno = ENODEV; -+ } -+ return ret; -+} ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); + ++int scandir(const char *dirp, struct dirent ***namelist, ++int (*filter)(const struct dirent *), ++int (*compar)(const struct dirent **, const struct dirent **)); + -+int utime(const char *filename, const struct utimbuf *times) -+{ -+ struct timeval t[2]; -+ if (times) { -+ t[0].tv_sec = times->actime; -+ t[0].tv_usec = 0; -+ t[1].tv_sec = times->modtime; -+ t[1].tv_usec = 0; -+ } else if (gettimeofday(&t[0], NULL) != -1) { -+ t[1] = t[0]; -+ } else { -+ return -1; -+ } ++int alphasort(const struct dirent **a, const struct dirent **b); + -+ return utimes(filename, t); -+} -diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c ++/* Convert between stat structure types and directory types. */ ++# define IFTODT(mode) (((mode) & 0170000) >> 12) ++# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) + + #ifdef __cplusplus + } +-- +2.20.1 + + +From e06d2706834e5981755fa01d88a2fb11d736517a Mon Sep 17 00:00:00 2001 +From: oreo639 +Date: Mon, 20 Mar 2023 14:40:01 -0700 +Subject: [PATCH 44/83] Add pathconf to sysbase + +--- + libgloss/libsysbase/Makefile.inc | 1 + + libgloss/libsysbase/pathconf.c | 53 ++++++++++++++++++++++++++++++++ + 2 files changed, 54 insertions(+) + create mode 100644 libgloss/libsysbase/pathconf.c + +diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc +index c7403e578..483574fdf 100644 +--- a/libgloss/libsysbase/Makefile.inc ++++ b/libgloss/libsysbase/Makefile.inc +@@ -34,6 +34,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a + %D%/mkdir.c \ + %D%/nanosleep.c \ + %D%/open.c \ ++ %D%/pathconf.c \ + %D%/read.c \ + %D%/rename.c \ + %D%/rmdir.c \ +diff --git a/libgloss/libsysbase/pathconf.c b/libgloss/libsysbase/pathconf.c new file mode 100644 -index 000000000..a17561576 +index 000000000..f2b9e9dbf --- /dev/null -+++ b/libgloss/libsysbase/wait.c -@@ -0,0 +1,16 @@ -+/* -+ * Stub version of wait. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> ++++ b/libgloss/libsysbase/pathconf.c +@@ -0,0 +1,53 @@ +#include ++#include ++#include ++#include + -+//--------------------------------------------------------------------------------- -+int _wait_r(struct _reent *r, int *status) { -+//--------------------------------------------------------------------------------- -+ r->_errno = ENOSYS; -+ return -1; ++long pathconf(const char *path, int name) { ++ return fpathconf(-1, name); +} + -diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h -new file mode 100644 -index 000000000..2c2998250 ---- /dev/null -+++ b/libgloss/libsysbase/warning.h -@@ -0,0 +1,43 @@ -+#ifndef __WARNING_H__ -+#define __WARNING_H__ -+ -+#ifdef HAVE_GNU_LD -+# ifdef HAVE_ELF ++long fpathconf(int fd, int name) ++{ ++ struct _reent *r = _REENT; + -+/* We want the .gnu.warning.SYMBOL section to be unallocated. */ -+# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE -+# define __make_section_unallocated(section_string) \ -+ asm(".section " section_string "; .previous"); -+# elif defined (HAVE_ASM_POPSECTION_DIRECTIVE) -+# define __make_section_unallocated(section_string) \ -+ asm(".pushsection " section_string "; .popsection"); -+# else -+# define __make_section_unallocated(section_string) -+# endif ++ switch (name) { ++ case _PC_LINK_MAX: ++ return 1; ++ case _PC_MAX_CANON: ++ return MAX_CANON; ++ case _PC_MAX_INPUT: ++ return MAX_INPUT; ++ case _PC_NAME_MAX: ++ return NAME_MAX; ++ case _PC_PATH_MAX: ++ return PATH_MAX; ++ case _PC_PIPE_BUF: ++ return PIPE_BUF; ++ case _PC_CHOWN_RESTRICTED: ++ break; // chown is not implemented ++ case _PC_NO_TRUNC: ++ return 1; ++ case _PC_VDISABLE: ++ break; // termios is not supported ++ case _PC_SYNC_IO: ++ return 1; ++ case _PC_ASYNC_IO: ++ case _PC_PRIO_IO: ++ break; ++ case _PC_FILESIZEBITS: ++ return 64; ++ case _PC_REC_INCR_XFER_SIZE: ++ case _PC_REC_MAX_XFER_SIZE: ++ case _PC_REC_MIN_XFER_SIZE: ++ case _PC_REC_XFER_ALIGN: ++ case _PC_ALLOC_SIZE_MIN: ++ case _PC_SYMLINK_MAX: ++ break; ++ case _PC_2_SYMLINKS: ++ return 1; ++ } + -+# ifdef HAVE_SECTION_ATTRIBUTES -+# define link_warning(symbol, msg) \ -+ __make_section_unallocated (".gnu.warning." #symbol) \ -+ static const char __evoke_link_warning_##symbol[] \ -+ __attribute__ ((section (".gnu.warning." #symbol))) = msg; -+# else -+# define link_warning(symbol, msg) -+# endif ++ r->_errno = EINVAL; ++ return -1; ++} +-- +2.20.1 + + +From 0eade703b44d4d215f52ff1e908df0303e7ebda1 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 30 Mar 2023 20:27:15 +0100 +Subject: [PATCH 45/83] libgloss/Makefile.in: regenerate + +--- + libgloss/Makefile.in | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in +index ce0261153..c512686c6 100644 +--- a/libgloss/Makefile.in ++++ b/libgloss/Makefile.in +@@ -456,6 +456,7 @@ libsysbase_libsysbase_a_LIBADD = + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ +@@ -1079,6 +1080,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/mkdir.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/nanosleep.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ +@@ -1785,6 +1787,9 @@ libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT): \ + libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) + libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) +@@ -2257,6 +2262,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ +@@ -3437,6 +3443,20 @@ libsysbase/libsysbase_libsysbase_a-open.obj: libsysbase/open.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-pathconf.o: libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pathconf.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pathconf.o `test -f 'libsysbase/pathconf.c' || echo '$(srcdir)/'`libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pathconf.c' object='libsysbase/libsysbase_libsysbase_a-pathconf.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pathconf.o `test -f 'libsysbase/pathconf.c' || echo '$(srcdir)/'`libsysbase/pathconf.c + -+#else /* !ELF */ ++libsysbase/libsysbase_libsysbase_a-pathconf.obj: libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pathconf.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pathconf.obj `if test -f 'libsysbase/pathconf.c'; then $(CYGPATH_W) 'libsysbase/pathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pathconf.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pathconf.c' object='libsysbase/libsysbase_libsysbase_a-pathconf.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pathconf.obj `if test -f 'libsysbase/pathconf.c'; then $(CYGPATH_W) 'libsysbase/pathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pathconf.c'; fi` + -+# define link_warning(symbol, msg) \ -+ asm(".stabs \"" msg "\",30,0,0,0\n" \ -+ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); -+# endif -+#else /* !GNULD */ -+/* We will never be heard; they will all die horribly. */ -+# define link_warning(symbol, msg) + libsysbase/libsysbase_libsysbase_a-read.o: libsysbase/read.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po +-- +2.20.1 + + +From c33a6dfd7071bb8775a7fcf9ac39493976d488a1 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 7 Apr 2023 13:56:19 +0100 +Subject: [PATCH 46/83] devkitPPC: increase BUFSIZ, align mallocs to 64 + +--- + newlib/libc/include/sys/config.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h +index 5dcc77a80..3a33705c0 100644 +--- a/newlib/libc/include/sys/config.h ++++ b/newlib/libc/include/sys/config.h +@@ -8,6 +8,11 @@ + #define MALLOC_ALIGNMENT 16 + #endif + ++#ifdef _ARCH_PPC ++#define __BUFSIZ__ 32768 ++#define MALLOC_ALIGNMENT 64 +#endif + -+/* A canned warning for sysdeps/stub functions. */ -+#define stub_warning(name) \ -+ link_warning (name, \ -+ "warning: " #name " is not implemented and will always fail") -+ -+#endif /* __WARNING_H__ */ -diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c + #ifdef __AMDGCN__ + #define __DYNAMIC_REENT__ + #endif +-- +2.20.1 + + +From 3f804488c3f0f0569cec409e9910b0157f2fb2b9 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Sat, 8 Apr 2023 17:30:00 +0100 +Subject: [PATCH 47/83] move pathconf to devoptab, add fpathconf & realpath + +--- + libgloss/libsysbase/Makefile.inc | 2 ++ + libgloss/libsysbase/fpathconf.c | 30 ++++++++++++++++ + libgloss/libsysbase/pathconf.c | 54 ++++++----------------------- + libgloss/libsysbase/realpath.c | 23 ++++++++++++ + newlib/libc/include/sys/iosupport.h | 5 +++ + 5 files changed, 71 insertions(+), 43 deletions(-) + create mode 100644 libgloss/libsysbase/fpathconf.c + create mode 100644 libgloss/libsysbase/realpath.c + +diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc +index 483574fdf..e39e89071 100644 +--- a/libgloss/libsysbase/Makefile.inc ++++ b/libgloss/libsysbase/Makefile.inc +@@ -17,6 +17,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a + %D%/flock.c \ + %D%/fnmatch.c \ + %D%/fork.c \ ++ %D%/fpathconf.c \ + %D%/fstat.c \ + %D%/fsync.c \ + %D%/ftruncate.c \ +@@ -36,6 +37,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a + %D%/open.c \ + %D%/pathconf.c \ + %D%/read.c \ ++ %D%/realpath.c \ + %D%/rename.c \ + %D%/rmdir.c \ + %D%/sbrk.c \ +diff --git a/libgloss/libsysbase/fpathconf.c b/libgloss/libsysbase/fpathconf.c new file mode 100644 -index 000000000..04198e854 +index 000000000..6911163ae --- /dev/null -+++ b/libgloss/libsysbase/write.c -@@ -0,0 +1,31 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include ++++ b/libgloss/libsysbase/fpathconf.c +@@ -0,0 +1,30 @@ +#include -+ ++#include ++#include ++#include ++#include +#include + -+//--------------------------------------------------------------------------------- -+_ssize_t _write_r(struct _reent * r, int fileDesc, const void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ int ret = -1; -+ unsigned int dev = 0; ++long fpathconf(int fd, int name) ++{ ++ int ret = -1; ++ unsigned int dev = 0; + -+ __handle * handle = NULL; ++ __handle * handle = __get_handle(fd); ++ struct _reent *r = _REENT; + -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); ++ if ( NULL == handle ) { ++ errno = EINVAL; ++ return ret; ++ } + -+ if ( NULL == handle ) return ret; ++ dev = handle->device; + -+ dev = handle->device; ++ if(devoptab_list[dev]->fpathconf_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fpathconf_r(r, fd, name); ++ } else ++ r->_errno=ENOSYS; + -+ if(devoptab_list[dev]->write_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->write_r(r,handle->fileStruct,ptr,len); -+ } else -+ r->_errno=ENOSYS; -+ } -+ return ret; ++ return ret; +} -diff --git a/libgloss/rs6000/Makefile.in b/libgloss/rs6000/Makefile.in -index 489903645..cf62806a3 100644 ---- a/libgloss/rs6000/Makefile.in -+++ b/libgloss/rs6000/Makefile.in -@@ -131,6 +131,9 @@ XIL_OBJS = open.o close.o lseek.o sbrk.o read.o write.o print.o - XIL_TEST = xil-test - XIL_INSTALL = install-xil - -+OGC_CRTMAIN = crtmain.o -+OGC_INSTALL = install-ogc -+ - # Host specific makefile fragment comes in here. - @host_makefile_frag@ - -@@ -145,7 +148,7 @@ all: \ - ${LINUX_CRT0} ${LINUX_BSP} \ - ${YELLOWKNIFE_CRT0} ${YELLOWKNIFE_BSP} \ - ${ADS_CRT0} ${ADS_BSP} \ -- ${MBX_CRT0} ${MBX_BSP} \ -+ ${MBX_CRT0} ${MBX_BSP} ${OGC_CRTMAIN} \ - ${XIL_CRT0} ${XIL_BSP} - - # -@@ -297,6 +300,8 @@ xil-test.srec: xil-test.x - - crt0.o: crt0.S - -+crtmain.o: crtmain.c -+ - simulator.o: simulator.S - sim-getrusage.o: sim-getrusage.S - sim-crt0.o: sim-crt0.S -@@ -354,7 +359,7 @@ distclean maintainer-clean realclean: clean - rm -f Makefile config.status *~ +diff --git a/libgloss/libsysbase/pathconf.c b/libgloss/libsysbase/pathconf.c +index f2b9e9dbf..a696c9ab9 100644 +--- a/libgloss/libsysbase/pathconf.c ++++ b/libgloss/libsysbase/pathconf.c +@@ -2,52 +2,20 @@ + #include + #include + #include ++#include ++#include - .PHONY: install info install-info clean-info --install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${XIL_INSTALL} -+install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${OGC_INSTALL} ${XIL_INSTALL} +-long pathconf(const char *path, int name) { +- return fpathconf(-1, name); +-} +- +-long fpathconf(int fd, int name) ++long pathconf(const char *path, int name) + { ++ int ret = -1; ++ unsigned int dev = FindDevice(path); + struct _reent *r = _REENT; - install-sim: - ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} -@@ -392,6 +397,9 @@ install-xil: - set -e; for x in ${XIL_CRT0} ${XIL_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done - set -e; for x in ${XIL_SCRIPTS} ${XIL_SPECS}; do ${INSTALL_DATA} $(srcdir)/$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done +- switch (name) { +- case _PC_LINK_MAX: +- return 1; +- case _PC_MAX_CANON: +- return MAX_CANON; +- case _PC_MAX_INPUT: +- return MAX_INPUT; +- case _PC_NAME_MAX: +- return NAME_MAX; +- case _PC_PATH_MAX: +- return PATH_MAX; +- case _PC_PIPE_BUF: +- return PIPE_BUF; +- case _PC_CHOWN_RESTRICTED: +- break; // chown is not implemented +- case _PC_NO_TRUNC: +- return 1; +- case _PC_VDISABLE: +- break; // termios is not supported +- case _PC_SYNC_IO: +- return 1; +- case _PC_ASYNC_IO: +- case _PC_PRIO_IO: +- break; +- case _PC_FILESIZEBITS: +- return 64; +- case _PC_REC_INCR_XFER_SIZE: +- case _PC_REC_MAX_XFER_SIZE: +- case _PC_REC_MIN_XFER_SIZE: +- case _PC_REC_XFER_ALIGN: +- case _PC_ALLOC_SIZE_MIN: +- case _PC_SYMLINK_MAX: +- break; +- case _PC_2_SYMLINKS: +- return 1; +- } ++ if(dev != -1 && devoptab_list[dev]->pathconf_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->pathconf_r(r, path, name); ++ } else ++ r->_errno=ENOSYS; -+install-ogc: -+ set -e; for x in ${OGC_CRTMAIN}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done -+ - doc: - info: - install-info: -diff --git a/libgloss/rs6000/ads.ld b/libgloss/rs6000/ads.ld -index ef5038e68..32a1d5e0b 100644 ---- a/libgloss/rs6000/ads.ld -+++ b/libgloss/rs6000/ads.ld -@@ -121,6 +121,7 @@ SECTIONS - } - _end = . ; - PROVIDE (end = .); -+ PROVIDE (__end__ = .); - /* These are needed for ELF backends which have not yet been - converted to the new style linker. */ - .stab 0 : { *(.stab) } -diff --git a/libgloss/rs6000/crtmain.c b/libgloss/rs6000/crtmain.c +- r->_errno = EINVAL; +- return -1; ++ return ret; + } +diff --git a/libgloss/libsysbase/realpath.c b/libgloss/libsysbase/realpath.c new file mode 100644 -index 000000000..bd25d775d +index 000000000..948ccea2b --- /dev/null -+++ b/libgloss/rs6000/crtmain.c -@@ -0,0 +1,18 @@ ++++ b/libgloss/libsysbase/realpath.c +@@ -0,0 +1,23 @@ ++#include ++#include +#include ++#include ++#include ++#include + -+struct __argv { -+ int argvMagic; //!< argv magic number, set to 0x5f617267 ('_arg') if valid -+ char *commandLine; //!< base address of command line, set of null terminated strings -+ int length;//!< total length of command line -+ int argc; -+ char **argv; -+}; ++char *realpath(const char *path, char *resolved_path) ++{ ++ int ret = -1; ++ unsigned int dev = FindDevice(path); + -+extern struct __argv *__system_argv; -+void __init(); -+void SYS_PreMain(); ++ struct _reent *r = _REENT; + -+void __crtmain() { -+ SYS_PreMain(); -+ exit ( main(__system_argv->argc,__system_argv->argv) ); ++ if(dev != -1 && devoptab_list[dev]->pathconf_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->pathconf_r(r, path, resolved_path); ++ } else ++ r->_errno=ENOSYS; ++ ++ return ret; +} -diff --git a/libgloss/rs6000/mbx.ld b/libgloss/rs6000/mbx.ld -index cedf4e867..99d849e90 100644 ---- a/libgloss/rs6000/mbx.ld -+++ b/libgloss/rs6000/mbx.ld -@@ -101,6 +101,7 @@ SECTIONS - } - _end = . ; - PROVIDE (end = .); -+ PROVIDE (__end__ = .); - /* These are needed for ELF backends which have not yet been - converted to the new style linker. */ - .stab 0 : { *(.stab) } -diff --git a/libgloss/rs6000/xilinx.ld b/libgloss/rs6000/xilinx.ld -index 75b2a12b6..40a4a1e4b 100644 ---- a/libgloss/rs6000/xilinx.ld -+++ b/libgloss/rs6000/xilinx.ld -@@ -273,6 +273,7 @@ SECTIONS - _end = . ; - end = .; - __end = .; -+ __end__ = .; - .boot 0xFFFFFFFC : { *(.boot) } - /* These are needed for ELF backends which have not yet been - converted to the new style linker. */ -diff --git a/libgloss/rs6000/xilinx440.ld b/libgloss/rs6000/xilinx440.ld -index 2c7c5aba4..c1ddf8529 100644 ---- a/libgloss/rs6000/xilinx440.ld -+++ b/libgloss/rs6000/xilinx440.ld -@@ -264,6 +264,7 @@ SECTIONS - _end = . ; - end = .; - __end = .; -+ __end__ = .; ++ +diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h +index 6bd075993..d08f9cd5c 100644 +--- a/newlib/libc/include/sys/iosupport.h ++++ b/newlib/libc/include/sys/iosupport.h +@@ -66,6 +66,11 @@ typedef struct { + int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); + int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); + ++ long (*fpathconf_r)(struct _reent *r, int fd, int name); ++ long (*pathconf_r)(struct _reent *r, const char *path, int name); ++ ++ char *(*realpath_r)(struct _reent *r, const char *path, char *resolved_path); ++ + } devoptab_t; + + extern const devoptab_t *devoptab_list[]; +-- +2.20.1 + + +From 4cad0486e92f7a44bf78768cc45a268ede75766f Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Sat, 8 Apr 2023 17:40:47 +0100 +Subject: [PATCH 48/83] libgloss/Makefile.in: regenerate + +--- + libgloss/Makefile.in | 40 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) + +diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in +index c512686c6..888d22b62 100644 +--- a/libgloss/Makefile.in ++++ b/libgloss/Makefile.in +@@ -439,6 +439,7 @@ libsysbase_libsysbase_a_LIBADD = + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fpathconf.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT) \ +@@ -458,6 +459,7 @@ libsysbase_libsysbase_a_LIBADD = + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT) \ +@@ -1063,6 +1065,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/flock.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fnmatch.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fpathconf.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fsync.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/ftruncate.c \ +@@ -1082,6 +1085,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/realpath.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/sbrk.c \ +@@ -1736,6 +1740,9 @@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT): \ + libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fpathconf.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) + libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) +@@ -1793,6 +1800,9 @@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT): \ + libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) + libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) +@@ -2245,6 +2255,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po@am__quote@ +@@ -2264,6 +2275,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po@am__quote@ +@@ -3205,6 +3217,20 @@ libsysbase/libsysbase_libsysbase_a-fork.obj: libsysbase/fork.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-fpathconf.o: libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fpathconf.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.o `test -f 'libsysbase/fpathconf.c' || echo '$(srcdir)/'`libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fpathconf.c' object='libsysbase/libsysbase_libsysbase_a-fpathconf.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.o `test -f 'libsysbase/fpathconf.c' || echo '$(srcdir)/'`libsysbase/fpathconf.c ++ ++libsysbase/libsysbase_libsysbase_a-fpathconf.obj: libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fpathconf.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.obj `if test -f 'libsysbase/fpathconf.c'; then $(CYGPATH_W) 'libsysbase/fpathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fpathconf.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fpathconf.c' object='libsysbase/libsysbase_libsysbase_a-fpathconf.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.obj `if test -f 'libsysbase/fpathconf.c'; then $(CYGPATH_W) 'libsysbase/fpathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fpathconf.c'; fi` ++ + libsysbase/libsysbase_libsysbase_a-fstat.o: libsysbase/fstat.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po +@@ -3471,6 +3497,20 @@ libsysbase/libsysbase_libsysbase_a-read.obj: libsysbase/read.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-realpath.o: libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/realpath.c' object='libsysbase/libsysbase_libsysbase_a-realpath.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c ++ ++libsysbase/libsysbase_libsysbase_a-realpath.obj: libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.obj `if test -f 'libsysbase/realpath.c'; then $(CYGPATH_W) 'libsysbase/realpath.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/realpath.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/realpath.c' object='libsysbase/libsysbase_libsysbase_a-realpath.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-realpath.obj `if test -f 'libsysbase/realpath.c'; then $(CYGPATH_W) 'libsysbase/realpath.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/realpath.c'; fi` ++ + libsysbase/libsysbase_libsysbase_a-rename.o: libsysbase/rename.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po +-- +2.20.1 + + +From 64dca5e3b53cc4ed69e24f81db719c9fce069aa5 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Sat, 8 Apr 2023 18:30:07 +0100 +Subject: [PATCH 49/83] Implement realpath in sysbase + +--- + libgloss/libsysbase/Makefile.inc | 1 + + libgloss/libsysbase/realpath.c | 158 ++++++++++++++++++++++++++++--- + 2 files changed, 144 insertions(+), 15 deletions(-) + +diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc +index e39e89071..ef83564cf 100644 +--- a/libgloss/libsysbase/Makefile.inc ++++ b/libgloss/libsysbase/Makefile.inc +@@ -37,6 +37,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a + %D%/open.c \ + %D%/pathconf.c \ + %D%/read.c \ ++ %D%/readlink.c \ + %D%/realpath.c \ + %D%/rename.c \ + %D%/rmdir.c \ +diff --git a/libgloss/libsysbase/realpath.c b/libgloss/libsysbase/realpath.c +index 948ccea2b..9b80f3423 100644 +--- a/libgloss/libsysbase/realpath.c ++++ b/libgloss/libsysbase/realpath.c +@@ -1,23 +1,151 @@ +-#include +-#include ++#include + #include ++#include + #include +-#include +-#include ++#include - .boot0 0xFFFFFF00 : { *(.boot0)} +-char *realpath(const char *path, char *resolved_path) +-{ +- int ret = -1; +- unsigned int dev = FindDevice(path); ++#define DIRECTORY_SEPARATOR_CHAR '/' ++static const char DIRECTORY_THIS[] = "."; ++static const char DIRECTORY_PARENT[] = ".."; -diff --git a/libgloss/rs6000/yellowknife.ld b/libgloss/rs6000/yellowknife.ld -index 36c30092d..7e54036ed 100644 ---- a/libgloss/rs6000/yellowknife.ld -+++ b/libgloss/rs6000/yellowknife.ld -@@ -113,6 +113,7 @@ SECTIONS - } - _end = . ; - PROVIDE (end = .); -+ PROVIDE (__end__ = .); - /* These are needed for ELF backends which have not yet been - converted to the new style linker. */ - .stab 0 : { *(.stab) } -diff --git a/newlib/Makefile.in b/newlib/Makefile.in -index bc967bd70..8a72f26f7 100644 ---- a/newlib/Makefile.in -+++ b/newlib/Makefile.in -@@ -586,6 +586,7 @@ check_PROGRAMS = - @HAVE_LIBC_SYS_W65_DIR_TRUE@am__append_63 = libc/sys/w65/syscalls.c libc/sys/w65/trap.c - @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__append_64 = libc/sys/z8ksim/glue.c - @HAVE_LIBC_MACHINE_AARCH64_TRUE@am__append_65 = \ -+@HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/access.c \ - @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memchr-stub.c \ - @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memchr.S \ - @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memcmp-stub.c \ -@@ -668,7 +669,7 @@ check_PROGRAMS = - @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy-stub.c \ - @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy.S \ - @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen-stub.c \ --@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen.S -+@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/sync_synchronize.c +- struct _reent *r = _REENT; ++/* Based on chdir.c */ ++static inline int _resolve_path(struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; ++ ++ pathLength = strnlen (path, maxLength); ++ ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } - @HAVE_LIBC_MACHINE_BFIN_TRUE@am__append_69 = libc/machine/bfin/setjmp.S libc/machine/bfin/longjmp.S - @HAVE_LIBC_MACHINE_CR16_TRUE@am__append_70 = libc/machine/cr16/setjmp.S libc/machine/cr16/getenv.c -@@ -767,7 +768,9 @@ check_PROGRAMS = - @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/misc.c libc/machine/nvptx/clock.c +- if(dev != -1 && devoptab_list[dev]->pathconf_r) { +- r->deviceData = devoptab_list[dev]->deviceData; +- ret = devoptab_list[dev]->pathconf_r(r, path, resolved_path); +- } else +- r->_errno=ENOSYS; ++ extraEnd = extra; - @HAVE_LIBC_MACHINE_OR1K_TRUE@am__append_108 = libc/machine/or1k/setjmp.S --@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S -+@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S \ -+@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/access.c +- return ret; ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } + - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__append_110 = \ - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfprintf.c \ - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfscanf.c \ -@@ -1811,7 +1814,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ - @HAVE_LIBC_SYS_W65_DIR_TRUE@am__objects_74 = libc/sys/w65/libc_a-syscalls.$(OBJEXT) \ - @HAVE_LIBC_SYS_W65_DIR_TRUE@ libc/sys/w65/libc_a-trap.$(OBJEXT) - @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__objects_75 = libc/sys/z8ksim/libc_a-glue.$(OBJEXT) --@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_76 = libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ -+@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_76 = libc/machine/aarch64/libc_a-access.$(OBJEXT) \ -+@HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memchr.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memcmp-stub.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memcmp.$(OBJEXT) \ -@@ -1893,7 +1897,7 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy-stub.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen-stub.$(OBJEXT) \ --@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen.$(OBJEXT) -+@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT) - @HAVE_LIBC_MACHINE_BFIN_TRUE@am__objects_80 = libc/machine/bfin/libc_a-setjmp.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_BFIN_TRUE@ libc/machine/bfin/libc_a-longjmp.$(OBJEXT) - @HAVE_LIBC_MACHINE_CR16_TRUE@am__objects_81 = libc/machine/cr16/libc_a-setjmp.$(OBJEXT) \ -@@ -2043,7 +2047,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-misc.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-clock.$(OBJEXT) - @HAVE_LIBC_MACHINE_OR1K_TRUE@am__objects_118 = libc/machine/or1k/libc_a-setjmp.$(OBJEXT) --@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) -+@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) \ -+@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/libc_a-access.$(OBJEXT) - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__objects_120 = libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vfscanf.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vec_malloc.$(OBJEXT) \ -@@ -2345,6 +2350,7 @@ am_libc_a_OBJECTS = $(am__objects_1) \ - libc/stdlib/libc_a-strtol.$(OBJEXT) \ - libc/stdlib/libc_a-strtoul.$(OBJEXT) \ - libc/stdlib/libc_a-strtoumax.$(OBJEXT) \ -+ libc/stdlib/libc_a-threads.$(OBJEXT) \ - libc/stdlib/libc_a-utoa.$(OBJEXT) \ - libc/stdlib/libc_a-wcstod.$(OBJEXT) \ - libc/stdlib/libc_a-wcstoimax.$(OBJEXT) \ -@@ -3768,6 +3774,7 @@ pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ - psdir = @psdir@ -+runstatedir = @runstatedir@ - sbindir = @sbindir@ - shared_machine_dir = @shared_machine_dir@ - sharedstatedir = @sharedstatedir@ -@@ -3915,7 +3922,7 @@ libc_a_SOURCES = $(am__append_5) libc/stdlib/__adjust.c \ - libc/stdlib/sb_charsets.c libc/stdlib/strtod.c \ - libc/stdlib/strtoimax.c libc/stdlib/strtol.c \ - libc/stdlib/strtoul.c libc/stdlib/strtoumax.c \ -- libc/stdlib/utoa.c libc/stdlib/wcstod.c \ -+ libc/stdlib/threads.c libc/stdlib/utoa.c libc/stdlib/wcstod.c \ - libc/stdlib/wcstoimax.c libc/stdlib/wcstol.c \ - libc/stdlib/wcstoul.c libc/stdlib/wcstoumax.c \ - libc/stdlib/wcstombs.c libc/stdlib/wcstombs_r.c \ -@@ -5321,6 +5328,8 @@ libc/stdlib/libc_a-strtoul.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ - libc/stdlib/$(DEPDIR)/$(am__dirstamp) - libc/stdlib/libc_a-strtoumax.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ - libc/stdlib/$(DEPDIR)/$(am__dirstamp) -+libc/stdlib/libc_a-threads.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ -+ libc/stdlib/$(DEPDIR)/$(am__dirstamp) - libc/stdlib/libc_a-utoa.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ - libc/stdlib/$(DEPDIR)/$(am__dirstamp) - libc/stdlib/libc_a-wcstod.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ -@@ -7757,6 +7766,9 @@ libc/machine/aarch64/$(am__dirstamp): - libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) libc/machine/aarch64/$(DEPDIR) - @: > libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) -+libc/machine/aarch64/libc_a-access.$(OBJEXT): \ -+ libc/machine/aarch64/$(am__dirstamp) \ -+ libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) - libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT): \ - libc/machine/aarch64/$(am__dirstamp) \ - libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) -@@ -8021,7 +8033,7 @@ libc/machine/arm/libc_a-memcpy.$(OBJEXT): \ - libc/machine/arm/libc_a-strlen-stub.$(OBJEXT): \ - libc/machine/arm/$(am__dirstamp) \ - libc/machine/arm/$(DEPDIR)/$(am__dirstamp) --libc/machine/arm/libc_a-strlen.$(OBJEXT): \ -+libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT): \ - libc/machine/arm/$(am__dirstamp) \ - libc/machine/arm/$(DEPDIR)/$(am__dirstamp) - libc/machine/bfin/$(am__dirstamp): -@@ -8696,6 +8708,9 @@ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp): - libc/machine/powerpc/libc_a-setjmp.$(OBJEXT): \ - libc/machine/powerpc/$(am__dirstamp) \ - libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) -+libc/machine/powerpc/libc_a-access.$(OBJEXT): \ -+ libc/machine/powerpc/$(am__dirstamp) \ -+ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) - libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT): \ - libc/machine/powerpc/$(am__dirstamp) \ - libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) -@@ -12256,6 +12271,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-nl_langinfo.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-timelocal.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-uselocale.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memchr.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memcmp-stub.Po@am__quote@ -@@ -12338,7 +12354,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcmp.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcpy.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen-stub.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-longjmp.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po@am__quote@ -@@ -12487,6 +12503,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-reallocr.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-write.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/or1k/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix16.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix32.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix64.Po@am__quote@ -@@ -13113,6 +13130,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-strtoull_r.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-strtoumax.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-system.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-threads.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-utoa.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-valloc.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-vallocr.Po@am__quote@ -@@ -16730,20 +16748,6 @@ libc/machine/arm/libc_a-memcpy.obj: libc/machine/arm/memcpy.S - @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-memcpy.obj `if test -f 'libc/machine/arm/memcpy.S'; then $(CYGPATH_W) 'libc/machine/arm/memcpy.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/memcpy.S'; fi` - --libc/machine/arm/libc_a-strlen.o: libc/machine/arm/strlen.S --@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/arm/libc_a-strlen.o -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo -c -o libc/machine/arm/libc_a-strlen.o `test -f 'libc/machine/arm/strlen.S' || echo '$(srcdir)/'`libc/machine/arm/strlen.S --@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po --@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='libc/machine/arm/strlen.S' object='libc/machine/arm/libc_a-strlen.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-strlen.o `test -f 'libc/machine/arm/strlen.S' || echo '$(srcdir)/'`libc/machine/arm/strlen.S -- --libc/machine/arm/libc_a-strlen.obj: libc/machine/arm/strlen.S --@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/arm/libc_a-strlen.obj -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo -c -o libc/machine/arm/libc_a-strlen.obj `if test -f 'libc/machine/arm/strlen.S'; then $(CYGPATH_W) 'libc/machine/arm/strlen.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen.S'; fi` --@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po --@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='libc/machine/arm/strlen.S' object='libc/machine/arm/libc_a-strlen.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-strlen.obj `if test -f 'libc/machine/arm/strlen.S'; then $(CYGPATH_W) 'libc/machine/arm/strlen.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen.S'; fi` -- - libc/machine/bfin/libc_a-setjmp.o: libc/machine/bfin/setjmp.S - @am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/bfin/libc_a-setjmp.o -MD -MP -MF libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo -c -o libc/machine/bfin/libc_a-setjmp.o `test -f 'libc/machine/bfin/setjmp.S' || echo '$(srcdir)/'`libc/machine/bfin/setjmp.S - @am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po -@@ -20666,6 +20670,20 @@ libc/stdlib/libc_a-strtoumax.obj: libc/stdlib/strtoumax.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-strtoumax.obj `if test -f 'libc/stdlib/strtoumax.c'; then $(CYGPATH_W) 'libc/stdlib/strtoumax.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/strtoumax.c'; fi` ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } ++ ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } ++ ++ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) ++ { ++ /* Don't copy anything */ ++ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) ++ { ++ /* Go up one level of in the path */ ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { ++ // Remove trailing separator ++ pathEnd[-1] = '\0'; ++ } ++ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); ++ if (pathEnd == NULL) { ++ /* Can't go up any higher, return false */ ++ r->_errno = ENOENT; ++ return -1; ++ } ++ pathLength = pathEnd - path; ++ pathEnd += 1; ++ } else { ++ pathLength += extraSize; ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ /* Copy the next part over */ ++ strncpy (pathEnd, extra, extraSize); ++ pathEnd += extraSize; ++ } ++ pathEnd[0] = '\0'; ++ extra += extraSize; ++ } while (extraSize != 0); ++ ++ return 0; + } -+libc/stdlib/libc_a-threads.o: libc/stdlib/threads.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-threads.o -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo -c -o libc/stdlib/libc_a-threads.o `test -f 'libc/stdlib/threads.c' || echo '$(srcdir)/'`libc/stdlib/threads.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo libc/stdlib/$(DEPDIR)/libc_a-threads.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/stdlib/threads.c' object='libc/stdlib/libc_a-threads.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-threads.o `test -f 'libc/stdlib/threads.c' || echo '$(srcdir)/'`libc/stdlib/threads.c ++char *realpath(const char *__restrict path, char *__restrict resolved) ++{ ++ struct _reent *r = _REENT; + -+libc/stdlib/libc_a-threads.obj: libc/stdlib/threads.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-threads.obj -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo -c -o libc/stdlib/libc_a-threads.obj `if test -f 'libc/stdlib/threads.c'; then $(CYGPATH_W) 'libc/stdlib/threads.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/threads.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo libc/stdlib/$(DEPDIR)/libc_a-threads.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/stdlib/threads.c' object='libc/stdlib/libc_a-threads.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-threads.obj `if test -f 'libc/stdlib/threads.c'; then $(CYGPATH_W) 'libc/stdlib/threads.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/threads.c'; fi` ++ char stack[PATH_MAX] = {0}; ++ const char *pathPosition = NULL; ++ int len = 0; + - libc/stdlib/libc_a-utoa.o: libc/stdlib/utoa.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-utoa.o -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-utoa.Tpo -c -o libc/stdlib/libc_a-utoa.o `test -f 'libc/stdlib/utoa.c' || echo '$(srcdir)/'`libc/stdlib/utoa.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-utoa.Tpo libc/stdlib/$(DEPDIR)/libc_a-utoa.Po -@@ -32216,6 +32234,20 @@ libc/sys/z8ksim/libc_a-glue.obj: libc/sys/z8ksim/glue.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/sys/z8ksim/libc_a-glue.obj `if test -f 'libc/sys/z8ksim/glue.c'; then $(CYGPATH_W) 'libc/sys/z8ksim/glue.c'; else $(CYGPATH_W) '$(srcdir)/libc/sys/z8ksim/glue.c'; fi` - -+libc/machine/aarch64/libc_a-access.o: libc/machine/aarch64/access.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-access.o -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/aarch64/libc_a-access.o `test -f 'libc/machine/aarch64/access.c' || echo '$(srcdir)/'`libc/machine/aarch64/access.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/aarch64/access.c' object='libc/machine/aarch64/libc_a-access.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/aarch64/libc_a-access.o `test -f 'libc/machine/aarch64/access.c' || echo '$(srcdir)/'`libc/machine/aarch64/access.c ++ if (!path) { ++ errno = ENOENT; ++ return NULL; ++ } + -+libc/machine/aarch64/libc_a-access.obj: libc/machine/aarch64/access.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-access.obj -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/aarch64/libc_a-access.obj `if test -f 'libc/machine/aarch64/access.c'; then $(CYGPATH_W) 'libc/machine/aarch64/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/aarch64/access.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/aarch64/access.c' object='libc/machine/aarch64/libc_a-access.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/aarch64/libc_a-access.obj `if test -f 'libc/machine/aarch64/access.c'; then $(CYGPATH_W) 'libc/machine/aarch64/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/aarch64/access.c'; fi` ++ len = strnlen(path, PATH_MAX); ++ if (!len) { ++ r->_errno = ENOENT; ++ return NULL; ++ } ++ if (len >= PATH_MAX) { ++ r->_errno = ENAMETOOLONG; ++ return NULL; ++ } + - libc/machine/aarch64/libc_a-memchr-stub.o: libc/machine/aarch64/memchr-stub.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-memchr-stub.o -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Tpo -c -o libc/machine/aarch64/libc_a-memchr-stub.o `test -f 'libc/machine/aarch64/memchr-stub.c' || echo '$(srcdir)/'`libc/machine/aarch64/memchr-stub.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Po -@@ -32734,6 +32766,20 @@ libc/machine/arm/libc_a-strlen-stub.obj: libc/machine/arm/strlen-stub.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-strlen-stub.obj `if test -f 'libc/machine/arm/strlen-stub.c'; then $(CYGPATH_W) 'libc/machine/arm/strlen-stub.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen-stub.c'; fi` - -+libc/machine/arm/libc_a-sync_synchronize.o: libc/machine/arm/sync_synchronize.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/arm/libc_a-sync_synchronize.o -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo -c -o libc/machine/arm/libc_a-sync_synchronize.o `test -f 'libc/machine/arm/sync_synchronize.c' || echo '$(srcdir)/'`libc/machine/arm/sync_synchronize.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/arm/sync_synchronize.c' object='libc/machine/arm/libc_a-sync_synchronize.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-sync_synchronize.o `test -f 'libc/machine/arm/sync_synchronize.c' || echo '$(srcdir)/'`libc/machine/arm/sync_synchronize.c ++ if (strchr (path, ':') != NULL) { ++ strncpy(stack, path, PATH_MAX-1); ++ /* Move path past device name */ ++ path = strchr(path, ':') + 1; ++ } else { ++ getcwd(stack, PATH_MAX); ++ } + -+libc/machine/arm/libc_a-sync_synchronize.obj: libc/machine/arm/sync_synchronize.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/arm/libc_a-sync_synchronize.obj -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo -c -o libc/machine/arm/libc_a-sync_synchronize.obj `if test -f 'libc/machine/arm/sync_synchronize.c'; then $(CYGPATH_W) 'libc/machine/arm/sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/sync_synchronize.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/arm/sync_synchronize.c' object='libc/machine/arm/libc_a-sync_synchronize.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-sync_synchronize.obj `if test -f 'libc/machine/arm/sync_synchronize.c'; then $(CYGPATH_W) 'libc/machine/arm/sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/sync_synchronize.c'; fi` ++ pathPosition = strchr(stack, ':'); + - libc/machine/cr16/libc_a-getenv.o: libc/machine/cr16/getenv.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/cr16/libc_a-getenv.o -MD -MP -MF libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo -c -o libc/machine/cr16/libc_a-getenv.o `test -f 'libc/machine/cr16/getenv.c' || echo '$(srcdir)/'`libc/machine/cr16/getenv.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po -@@ -33252,6 +33298,20 @@ libc/machine/nvptx/libc_a-clock.obj: libc/machine/nvptx/clock.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/nvptx/libc_a-clock.obj `if test -f 'libc/machine/nvptx/clock.c'; then $(CYGPATH_W) 'libc/machine/nvptx/clock.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/nvptx/clock.c'; fi` ++ if (pathPosition == NULL) { ++ pathPosition = stack; ++ } else { ++ pathPosition++; ++ } ++ ++ /* Make sure the path starts in the root directory */ ++ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { ++ r->_errno = ENOENT; ++ return NULL; ++ } ++ ++ if (_resolve_path(r, stack, path, PATH_MAX) == -1) { ++ return NULL; ++ } ++ ++ if (resolved) { ++ strncpy(resolved, stack, PATH_MAX); ++ return resolved; ++ } ++ ++ return strndup(stack, sizeof(stack)); ++} +-- +2.20.1 + + +From d7c3365954119e367f4582a1c5962d266455b503 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Sat, 8 Apr 2023 20:20:35 +0100 +Subject: [PATCH 50/83] add readlink & symlink to devoptab. + +--- + libgloss/libsysbase/Makefile.inc | 1 + + libgloss/libsysbase/readlink.c | 24 ++++++++++++++++++++++++ + libgloss/libsysbase/realpath.c | 3 ++- + libgloss/libsysbase/symlink.c | 29 +++++++++++++++++++++++++++++ + newlib/libc/include/sys/iosupport.h | 6 +++++- + 5 files changed, 61 insertions(+), 2 deletions(-) + create mode 100644 libgloss/libsysbase/readlink.c + create mode 100644 libgloss/libsysbase/symlink.c + +diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc +index ef83564cf..a4fb24459 100644 +--- a/libgloss/libsysbase/Makefile.inc ++++ b/libgloss/libsysbase/Makefile.inc +@@ -46,6 +46,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a + %D%/sleep.c \ + %D%/stat.c \ + %D%/statvfs.c \ ++ %D%/symlink.c \ + %D%/syscall_support.c \ + %D%/times.c \ + %D%/truncate.c \ +diff --git a/libgloss/libsysbase/readlink.c b/libgloss/libsysbase/readlink.c +new file mode 100644 +index 000000000..98ce358e4 +--- /dev/null ++++ b/libgloss/libsysbase/readlink.c +@@ -0,0 +1,24 @@ ++#include ++#include ++#include ++#include ++ ++ssize_t readlink_r(struct _reent *r, const char *path, char *buf, size_t bufsiz) { ++ int ret=-1; ++ int device = FindDevice(path); ++ ++ if ( device != -1 && devoptab_list[device]->readlink_r) { ++ ++ r->deviceData = devoptab_list[device]->deviceData; ++ ret = devoptab_list[device]->readlink_r(r, path, buf, bufsiz); ++ ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} ++ ++ssize_t readlink(const char *path, char *buf, size_t bufsiz) { ++ return(readlink_r(_REENT, path, buf, bufsiz)); ++} +diff --git a/libgloss/libsysbase/realpath.c b/libgloss/libsysbase/realpath.c +index 9b80f3423..74a788cd8 100644 +--- a/libgloss/libsysbase/realpath.c ++++ b/libgloss/libsysbase/realpath.c +@@ -109,7 +109,7 @@ char *realpath(const char *__restrict path, char *__restrict resolved) + len = strnlen(path, PATH_MAX); + if (!len) { + r->_errno = ENOENT; +- return NULL; ++ return NULL; + } + if (len >= PATH_MAX) { + r->_errno = ENAMETOOLONG; +@@ -149,3 +149,4 @@ char *realpath(const char *__restrict path, char *__restrict resolved) -+libc/machine/powerpc/libc_a-access.o: libc/machine/powerpc/access.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-access.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/powerpc/libc_a-access.o `test -f 'libc/machine/powerpc/access.c' || echo '$(srcdir)/'`libc/machine/powerpc/access.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/powerpc/access.c' object='libc/machine/powerpc/libc_a-access.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/powerpc/libc_a-access.o `test -f 'libc/machine/powerpc/access.c' || echo '$(srcdir)/'`libc/machine/powerpc/access.c + return strndup(stack, sizeof(stack)); + } + -+libc/machine/powerpc/libc_a-access.obj: libc/machine/powerpc/access.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-access.obj -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/powerpc/libc_a-access.obj `if test -f 'libc/machine/powerpc/access.c'; then $(CYGPATH_W) 'libc/machine/powerpc/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/powerpc/access.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/powerpc/access.c' object='libc/machine/powerpc/libc_a-access.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/powerpc/libc_a-access.obj `if test -f 'libc/machine/powerpc/access.c'; then $(CYGPATH_W) 'libc/machine/powerpc/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/powerpc/access.c'; fi` +diff --git a/libgloss/libsysbase/symlink.c b/libgloss/libsysbase/symlink.c +new file mode 100644 +index 000000000..b3c34ea51 +--- /dev/null ++++ b/libgloss/libsysbase/symlink.c +@@ -0,0 +1,29 @@ ++#include ++#include ++#include ++#include + - libc/machine/powerpc/libc_a-vfprintf.o: libc/machine/powerpc/vfprintf.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-vfprintf.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo -c -o libc/machine/powerpc/libc_a-vfprintf.o `test -f 'libc/machine/powerpc/vfprintf.c' || echo '$(srcdir)/'`libc/machine/powerpc/vfprintf.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Po -diff --git a/newlib/configure.host b/newlib/configure.host -index 0a1ba282a..66ccbec57 100644 ---- a/newlib/configure.host -+++ b/newlib/configure.host -@@ -620,13 +620,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID - syscall_dir=syscalls - ;; - aarch64*-*-*) -+ default_newlib_io_c99_formats="yes" - default_newlib_io_long_long="yes" -+ default_newlib_io_pos_args="yes" -+ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" -+ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" - syscall_dir=syscalls - ;; - arc*-*-*) - syscall_dir=syscalls - default_newlib_io_long_long="yes" - ;; -+ arm*-*-eabi) -+ default_newlib_io_c99_formats="yes" -+ default_newlib_io_long_long="yes" -+ default_newlib_io_pos_args="yes" -+ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" -+ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" -+ syscall_dir=syscalls -+ ;; - arm*-*-pe) - syscall_dir=syscalls - newlib_cflags="${newlib_cflags} -DHAVE_SYSCONF_PAGESIZE" -@@ -799,7 +811,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID - default_newlib_io_long_long="yes" - newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" - ;; -- powerpc*-*-eabi* | \ -+ powerpc*-*-eabi*) -+ default_newlib_io_c99_formats="yes" -+ default_newlib_io_long_long="yes" -+ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" -+ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" -+ syscall_dir=syscalls -+ ;; - powerpc*-*-elf* | \ - powerpc*-*-linux* | \ - powerpc*-*-rtem* | \ -diff --git a/newlib/libc/ctype/jp2uc.c b/newlib/libc/ctype/jp2uc.c -index 5e30f09be..b90a8f4f4 100644 ---- a/newlib/libc/ctype/jp2uc.c -+++ b/newlib/libc/ctype/jp2uc.c -@@ -35,7 +35,7 @@ - #ifdef _MB_CAPABLE - /* Under Cygwin, the incoming wide character is already given in UTF due - to the requirements of the underlying OS. */ --#ifndef __CYGWIN__ -+#if !defined(__CYGWIN__) && !defined(__DEFAULT_UTF8__) ++int symlink_r(struct _reent *r, const char *target, const char *linkpath) { ++ int ret=-1; ++ int targetDevice = FindDevice(target); ++ int linkDevice = FindDevice(linkpath); ++ ++ if (targetDevice != linkDevice) { ++ return -1; ++ } ++ ++ if ( targetDevice != -1 && devoptab_list[targetDevice]->symlink_r) { ++ ++ r->deviceData = devoptab_list[targetDevice]->deviceData; ++ ret = devoptab_list[targetDevice]->symlink_r(r, target, linkpath ); ++ ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; ++} ++ ++int symlink(const char *target, const char *linkpath) { ++ return (symlink_r(_REENT, target, linkpath)); ++} +diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h +index d08f9cd5c..2478af590 100644 +--- a/newlib/libc/include/sys/iosupport.h ++++ b/newlib/libc/include/sys/iosupport.h +@@ -11,6 +11,7 @@ extern "C" { + #include + #include + #include ++#include + + enum { + STD_IN, +@@ -66,10 +67,13 @@ typedef struct { + int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); + int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); - #include <_ansi.h> - #include -diff --git a/newlib/libc/ctype/local.h b/newlib/libc/ctype/local.h -index 5c293c83d..0dbfcd7ee 100644 ---- a/newlib/libc/ctype/local.h -+++ b/newlib/libc/ctype/local.h -@@ -32,7 +32,7 @@ - * for towupper and towlower, the result must be back-transformed - into the respective locale encoding; currently NOT IMPLEMENTED - */ --#ifdef __CYGWIN__ -+#if defined(__CYGWIN__) || defined(__DEFAULT_UTF8__) - /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ - #define _jp2uc(c) (c) - #define _jp2uc_l(c, l) (c) -diff --git a/newlib/libc/include/fnmatch.h b/newlib/libc/include/fnmatch.h -index a94e923a4..9171e98aa 100644 ---- a/newlib/libc/include/fnmatch.h -+++ b/newlib/libc/include/fnmatch.h -@@ -44,6 +44,7 @@ - #if __GNU_VISIBLE - #define FNM_LEADING_DIR 0x08 /* Ignore / after Imatch. */ - #define FNM_CASEFOLD 0x10 /* Case insensitive search. */ -+#define FNM_PREFIX_DIRS 0x20 /* Directory prefixes of pattern match too. */ - #define FNM_IGNORECASE FNM_CASEFOLD - #define FNM_FILE_NAME FNM_PATHNAME - #endif -diff --git a/newlib/libc/include/machine/_threads.h b/newlib/libc/include/machine/_threads.h -new file mode 100755 -index 000000000..a71a5d847 ++ bool hasSymLinks; ++ + long (*fpathconf_r)(struct _reent *r, int fd, int name); + long (*pathconf_r)(struct _reent *r, const char *path, int name); + +- char *(*realpath_r)(struct _reent *r, const char *path, char *resolved_path); ++ int (*symlink_r)(struct _reent *r, const char *target, const char *linkpath); ++ ssize_t (*readlink_r)(struct _reent *r, const char *path, char *buf, size_t bufsiz); + + } devoptab_t; + +-- +2.20.1 + + +From 79edeabe8a79fc926767fabfcadce0cf3c5eace7 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Tue, 11 Apr 2023 22:01:24 +0100 +Subject: [PATCH 51/83] refactor realpath + +--- + libgloss/libsysbase/Makefile.inc | 1 + + libgloss/libsysbase/chdir.c | 99 +---------------------------- + libgloss/libsysbase/concatenate.c | 91 ++++++++++++++++++++++++++ + libgloss/libsysbase/concatenate.h | 10 +++ + libgloss/libsysbase/iosupport.c | 2 - + libgloss/libsysbase/realpath.c | 48 ++++++++++++-- + newlib/libc/include/sys/iosupport.h | 3 +- + 7 files changed, 147 insertions(+), 107 deletions(-) + create mode 100644 libgloss/libsysbase/concatenate.c + create mode 100644 libgloss/libsysbase/concatenate.h + +diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc +index a4fb24459..2030c24d2 100644 +--- a/libgloss/libsysbase/Makefile.inc ++++ b/libgloss/libsysbase/Makefile.inc +@@ -10,6 +10,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a + %D%/chdir.c \ + %D%/chmod.c \ + %D%/clocks.c \ ++ %D%/concatenate.c \ + %D%/dirent.c \ + %D%/environ.c \ + %D%/execve.c \ +diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c +index b94f6a8b4..922124b65 100644 +--- a/libgloss/libsysbase/chdir.c ++++ b/libgloss/libsysbase/chdir.c +@@ -1,110 +1,15 @@ + #include + #include +-#include +-#include +-#include + #include + #include + #include + ++#include "concatenate.h" ++ + /* CWD always start with "/" */ + static char _current_working_directory [PATH_MAX] = "/"; + static char temp_cwd [PATH_MAX]; + +-#define DIRECTORY_SEPARATOR_CHAR '/' +-const char DIRECTORY_SEPARATOR[] = "/"; +-const char DIRECTORY_THIS[] = "."; +-const char DIRECTORY_PARENT[] = ".."; +- +-int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { +- char *pathEnd; +- int pathLength; +- const char *extraEnd; +- int extraSize; +- +- pathLength = strnlen (path, maxLength); +- +- /* assumes path ends in a directory separator */ +- if (pathLength >= maxLength) { +- r->_errno = ENAMETOOLONG; +- return -1; +- } +- pathEnd = path + pathLength; +- if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { +- pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; +- pathEnd += 1; +- } +- +- extraEnd = extra; +- +- /* If the extra bit starts with a slash, start at root */ +- if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { +- pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; +- pathEnd[0] = '\0'; +- } +- do { +- /* Advance past any separators in extra */ +- while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { +- extra += 1; +- } +- +- /* Grab the next directory name from extra */ +- extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); +- if (extraEnd == NULL) { +- extraEnd = strrchr (extra, '\0'); +- } else { +- extraEnd += 1; +- } +- +- extraSize = (extraEnd - extra); +- if (extraSize == 0) { +- break; +- } +- +- if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) +- && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) +- ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) +- { +- /* Don't copy anything */ +- } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) +- && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) +- ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) +- { +- /* Go up one level of in the path */ +- if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { +- // Remove trailing separator +- pathEnd[-1] = '\0'; +- } +- pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); +- if (pathEnd == NULL) { +- /* Can't go up any higher, return false */ +- r->_errno = ENOENT; +- return -1; +- } +- pathLength = pathEnd - path; +- pathEnd += 1; +- } else { +- pathLength += extraSize; +- if (pathLength >= maxLength) { +- r->_errno = ENAMETOOLONG; +- return -1; +- } +- /* Copy the next part over */ +- strncpy (pathEnd, extra, extraSize); +- pathEnd += extraSize; +- } +- pathEnd[0] = '\0'; +- extra += extraSize; +- } while (extraSize != 0); +- +- if (strlen(path) > 2 ) { +- if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') +- pathEnd[-1] = '\0'; +- } +- +- return 0; +-} +- + int chdir (const char *path) { + struct _reent *r = _REENT; + +diff --git a/libgloss/libsysbase/concatenate.c b/libgloss/libsysbase/concatenate.c +new file mode 100644 +index 000000000..e1da5a403 --- /dev/null -+++ b/newlib/libc/include/machine/_threads.h -@@ -0,0 +1,44 @@ -+/*- -+ * Copyright (c) 2019 fincs -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ ++++ b/libgloss/libsysbase/concatenate.c +@@ -0,0 +1,91 @@ ++#include "concatenate.h" + -+#ifndef _MACHINE__THREADS_H_ -+#define _MACHINE__THREADS_H_ + -+#include -+#include ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; + -+#define ONCE_FLAG_INIT PTHREAD_ONCE_INIT -+#define TSS_DTOR_ITERATIONS PTHREAD_DESTRUCTOR_ITERATIONS -+#define _MTX_INITIALIZER_NP PTHREAD_MUTEX_INITIALIZER -+#define _CND_INITIALIZER_NP PTHREAD_COND_INITIALIZER ++ pathLength = strnlen (path, maxLength); + -+typedef pthread_once_t once_flag; -+typedef pthread_key_t tss_t; -+typedef pthread_mutex_t mtx_t; -+typedef pthread_cond_t cnd_t; -+typedef pthread_t thrd_t; ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathLength != 0 && pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } + -+#endif -diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h -index 54e30ef82..3a77345e2 100644 ---- a/newlib/libc/include/math.h -+++ b/newlib/libc/include/math.h -@@ -445,7 +445,7 @@ extern float hypotf (float, float); - simply call the double functions. On Cygwin the long double functions - are implemented independently from newlib to be able to use optimized - assembler functions despite using the Microsoft x86_64 ABI. */ --#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) -+#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) || defined (__DEVKITA64__) - /* Reentrant ANSI C functions. */ - #ifndef __math_68881 - extern long double atanl (long double); -diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h -index 23d572cd3..65310c084 100644 ---- a/newlib/libc/include/reent.h -+++ b/newlib/libc/include/reent.h -@@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); - extern int _open_r (struct _reent *, const char *, int, int); - extern _ssize_t _read_r (struct _reent *, int, void *, size_t); - extern int _rename_r (struct _reent *, const char *, const char *); -+extern int _rmdir_r (struct _reent *r, const char *name); - extern void *_sbrk_r (struct _reent *, ptrdiff_t); - extern int _stat_r (struct _reent *, const char *, struct stat *); - extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); -diff --git a/newlib/libc/include/semaphore.h b/newlib/libc/include/semaphore.h -new file mode 100755 -index 000000000..4afb0e419 ---- /dev/null -+++ b/newlib/libc/include/semaphore.h -@@ -0,0 +1,69 @@ -+/* -+ * Copyright (c) 2010 David Xu -+ * -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice unmodified, this list of conditions, and the following -+ * disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ * -+ * $FreeBSD: head/include/semaphore.h 314424 2017-02-28 21:47:00Z vangyzen $ -+ */ ++ extraEnd = extra; ++ ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } ++ ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } ++ ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } ++ ++ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) ++ { ++ /* Don't copy anything */ ++ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) ++ { ++ /* Go up one level of in the path */ ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { ++ // Remove trailing separator ++ pathEnd[-1] = '\0'; ++ } ++ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); ++ if (pathEnd == NULL) { ++ /* Can't go up any higher, return false */ ++ r->_errno = ENOENT; ++ return -1; ++ } ++ pathLength = pathEnd - path; ++ pathEnd += 1; ++ } else { ++ pathLength += extraSize; ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ /* Copy the next part over */ ++ strncpy (pathEnd, extra, extraSize); ++ pathEnd += extraSize; ++ } ++ pathEnd[0] = '\0'; ++ extra += extraSize; ++ } while (extraSize != 0); ++ ++ if (strlen(path) > 2 ) { ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') ++ pathEnd[-1] = '\0'; ++ } ++ ++ return 0; ++} +\ No newline at end of file +diff --git a/libgloss/libsysbase/concatenate.h b/libgloss/libsysbase/concatenate.h +new file mode 100644 +index 000000000..e3b9e7d99 +--- /dev/null ++++ b/libgloss/libsysbase/concatenate.h +@@ -0,0 +1,10 @@ ++#include ++#include ++#include + -+/* semaphore.h: POSIX 1003.1b semaphores */ ++#define DIRECTORY_SEPARATOR_CHAR '/' ++#define DIRECTORY_SEPARATOR "/" ++#define DIRECTORY_THIS "." ++#define DIRECTORY_PARENT ".." + -+#ifndef _SEMAPHORE_H_ -+#define _SEMAPHORE_H_ ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength); +diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c +index 948c6ef93..71224902f 100644 +--- a/libgloss/libsysbase/iosupport.c ++++ b/libgloss/libsysbase/iosupport.c +@@ -136,5 +136,3 @@ const devoptab_t* GetDeviceOpTab (const char *name) { + return NULL; + } + } +- +- +diff --git a/libgloss/libsysbase/realpath.c b/libgloss/libsysbase/realpath.c +index 74a788cd8..f2cf3a831 100644 +--- a/libgloss/libsysbase/realpath.c ++++ b/libgloss/libsysbase/realpath.c +@@ -3,18 +3,20 @@ + #include + #include + #include ++#include ++#include + +-#define DIRECTORY_SEPARATOR_CHAR '/' +-static const char DIRECTORY_THIS[] = "."; +-static const char DIRECTORY_PARENT[] = ".."; ++#include "concatenate.h" + + /* Based on chdir.c */ +-static inline int _resolve_path(struct _reent *r, char *path, const char *extra, int maxLength) { ++static inline int _resolve_links(struct _reent *r, char *path, const char *extra, int maxLength) { + char *pathEnd; + int pathLength; + const char *extraEnd; + int extraSize; + ++ int resolvedLinks = 0; + -+#include + pathLength = strnlen (path, maxLength); + + /* assumes path ends in a directory separator */ +@@ -35,6 +37,8 @@ static inline int _resolve_path(struct _reent *r, char *path, const char *extra, + pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; + pathEnd[0] = '\0'; + } + -+#if defined(_POSIX_SEMAPHORES) + -+#include -+#include -+#include -+#include -+#include + do { + /* Advance past any separators in extra */ + while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { +@@ -88,8 +92,40 @@ static inline int _resolve_path(struct _reent *r, char *path, const char *extra, + } + pathEnd[0] = '\0'; + extra += extraSize; + -+typedef struct { -+ _LOCK_T lock; -+ _COND_T cond; -+ int value; -+} sem_t; + -+#define SEM_VALUE_MAX INT_MAX -+#define SEM_FAILED ((sem_t *)0) ++ struct stat st; ++ if (lstat(path,&st) < 0) return -1; ++ if (S_ISLNK(st.st_mode)) { ++ do { ++ if(resolvedLinks > 8 && extraSize > 0) { ++ r->_errno = ELOOP; ++ return -1; ++ } + -+__BEGIN_DECLS -+int sem_close(sem_t *); -+int sem_destroy(sem_t *); -+int sem_getvalue(sem_t * __restrict, int * __restrict); -+int sem_init(sem_t *, int, unsigned int); -+sem_t *sem_open(const char *, int, ...); -+int sem_post(sem_t *); -+int sem_timedwait(sem_t * __restrict, const struct timespec * __restrict); -+int sem_trywait(sem_t *); -+int sem_unlink(const char *); -+int sem_wait(sem_t *); -+__END_DECLS ++ char buf[PATH_MAX]; ++ memset(buf,0,PATH_MAX); + -+#endif /* defined(_POSIX_SEMAPHORES) */ ++ if (readlink(path,buf,sizeof(buf)) == -1) return -1; + -+#endif /* !_SEMAPHORE_H_ */ -diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h -index 75e9e1cbf..dc63dbe6a 100644 ---- a/newlib/libc/include/sys/_pthreadtypes.h -+++ b/newlib/libc/include/sys/_pthreadtypes.h -@@ -18,19 +18,18 @@ - #ifndef _SYS__PTHREADTYPES_H_ - #define _SYS__PTHREADTYPES_H_ - -+#include ++ pathEnd = strrchr(path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ if (pathEnd == NULL) pathEnd = path; ++ pathEnd[0] = '\0'; + - #if defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 ++ if (_concatenate_path(r, path, buf, PATH_MAX) == -1) { ++ return -1; ++ } ++ ++ resolvedLinks++; ++ pathEnd = strchr(path,0); ++ ++ if (lstat(path,&st) < 0) return -1; ++ ++ } while(S_ISLNK(st.st_mode)); ++ } + } while (extraSize != 0); - #include -+#include ++ + return 0; + } - /* - * 2.5 Primitive System Data Types, P1003.1c/D10, p. 19. - */ +@@ -138,8 +174,8 @@ char *realpath(const char *__restrict path, char *__restrict resolved) + return NULL; + } --#if defined(__XMK__) --typedef unsigned int pthread_t; /* identify a thread */ --#else --typedef __uint32_t pthread_t; /* identify a thread */ --#endif -+typedef struct __pthread_t *pthread_t; /* identify a thread */ +- if (_resolve_path(r, stack, path, PATH_MAX) == -1) { +- return NULL; ++ if (_resolve_links(r, stack, path, PATH_MAX) == -1) { ++ return NULL; + } - /* P1003.1c/D10, p. 118-119 */ - #define PTHREAD_SCOPE_PROCESS 0 -@@ -46,25 +45,14 @@ typedef __uint32_t pthread_t; /* identify a thread */ - #define PTHREAD_CREATE_DETACHED 0 - #define PTHREAD_CREATE_JOINABLE 1 + if (resolved) { +diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h +index 2478af590..fb0646bc6 100644 +--- a/newlib/libc/include/sys/iosupport.h ++++ b/newlib/libc/include/sys/iosupport.h +@@ -67,8 +67,6 @@ typedef struct { + int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); + int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); --#if defined(__XMK__) --typedef struct pthread_attr_s { -- int contentionscope; -- struct sched_param schedparam; -- int detachstate; -- void *stackaddr; -- size_t stacksize; --} pthread_attr_t; +- bool hasSymLinks; - --#define PTHREAD_STACK_MIN 200 -- --#else /* !defined(__XMK__) */ - typedef struct { -- int is_initialized; - void *stackaddr; - int stacksize; -+#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) - int contentionscope; - int inheritsched; - int schedpolicy; -+#endif - struct sched_param schedparam; + long (*fpathconf_r)(struct _reent *r, int fd, int name); + long (*pathconf_r)(struct _reent *r, const char *path, int name); - /* P1003.4b/D8, p. 54 adds cputime_clock_allowed attribute. */ -@@ -74,8 +62,6 @@ typedef struct { - int detachstate; - } pthread_attr_t; +@@ -111,6 +109,7 @@ int AddDevice( const devoptab_t* device); + int FindDevice(const char* name); + int RemoveDevice(const char* name); + void setDefaultDevice( int device ); ++ + const devoptab_t* GetDeviceOpTab (const char *name); --#endif /* !defined(__XMK__) */ -- - #if defined(_POSIX_THREAD_PROCESS_SHARED) - /* NOTE: P1003.1c/D10, p. 81 defines following values for process_shared. */ + void __release_handle(int fd); +-- +2.20.1 + + +From 8f10833e1d4dd243e3d9ec129ff2c953e3a0189e Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Sat, 8 Apr 2023 20:21:05 +0100 +Subject: [PATCH 52/83] libgloss/Makefile.in: regenerate + +--- + libgloss/Makefile.in | 60 ++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 60 insertions(+) + +diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in +index 888d22b62..2a1a2ff6f 100644 +--- a/libgloss/Makefile.in ++++ b/libgloss/Makefile.in +@@ -432,6 +432,7 @@ libsysbase_libsysbase_a_LIBADD = + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-concatenate.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ +@@ -459,6 +460,7 @@ libsysbase_libsysbase_a_LIBADD = + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-readlink.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ +@@ -467,6 +469,7 @@ libsysbase_libsysbase_a_LIBADD = + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-symlink.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT) \ +@@ -1058,6 +1061,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/chdir.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/chmod.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/clocks.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/concatenate.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/dirent.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ +@@ -1085,6 +1089,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/readlink.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/realpath.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ +@@ -1093,6 +1098,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/sleep.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/stat.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/statvfs.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/symlink.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/syscall_support.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/times.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/truncate.c \ +@@ -1719,6 +1725,9 @@ libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT): \ + libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-concatenate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) + libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) +@@ -1800,6 +1809,9 @@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT): \ + libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-readlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) + libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) +@@ -1824,6 +1836,9 @@ libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT): \ + libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-symlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) + libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) +@@ -2248,6 +2263,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ +@@ -2275,6 +2291,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ +@@ -2283,6 +2300,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po@am__quote@ +@@ -3119,6 +3137,20 @@ libsysbase/libsysbase_libsysbase_a-clocks.obj: libsysbase/clocks.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` -@@ -143,18 +129,15 @@ typedef struct { ++libsysbase/libsysbase_libsysbase_a-concatenate.o: libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-concatenate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-concatenate.o `test -f 'libsysbase/concatenate.c' || echo '$(srcdir)/'`libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/concatenate.c' object='libsysbase/libsysbase_libsysbase_a-concatenate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-concatenate.o `test -f 'libsysbase/concatenate.c' || echo '$(srcdir)/'`libsysbase/concatenate.c ++ ++libsysbase/libsysbase_libsysbase_a-concatenate.obj: libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-concatenate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-concatenate.obj `if test -f 'libsysbase/concatenate.c'; then $(CYGPATH_W) 'libsysbase/concatenate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/concatenate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/concatenate.c' object='libsysbase/libsysbase_libsysbase_a-concatenate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-concatenate.obj `if test -f 'libsysbase/concatenate.c'; then $(CYGPATH_W) 'libsysbase/concatenate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/concatenate.c'; fi` ++ + libsysbase/libsysbase_libsysbase_a-dirent.o: libsysbase/dirent.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po +@@ -3497,6 +3529,20 @@ libsysbase/libsysbase_libsysbase_a-read.obj: libsysbase/read.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` - #endif /* !defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES) */ ++libsysbase/libsysbase_libsysbase_a-readlink.o: libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-readlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-readlink.o `test -f 'libsysbase/readlink.c' || echo '$(srcdir)/'`libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/readlink.c' object='libsysbase/libsysbase_libsysbase_a-readlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-readlink.o `test -f 'libsysbase/readlink.c' || echo '$(srcdir)/'`libsysbase/readlink.c ++ ++libsysbase/libsysbase_libsysbase_a-readlink.obj: libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-readlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-readlink.obj `if test -f 'libsysbase/readlink.c'; then $(CYGPATH_W) 'libsysbase/readlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/readlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/readlink.c' object='libsysbase/libsysbase_libsysbase_a-readlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-readlink.obj `if test -f 'libsysbase/readlink.c'; then $(CYGPATH_W) 'libsysbase/readlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/readlink.c'; fi` ++ + libsysbase/libsysbase_libsysbase_a-realpath.o: libsysbase/realpath.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po +@@ -3609,6 +3655,20 @@ libsysbase/libsysbase_libsysbase_a-statvfs.obj: libsysbase/statvfs.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` --#if defined(__XMK__) --typedef unsigned int pthread_mutex_t; /* identify a mutex */ -- - typedef struct { - int type; --} pthread_mutexattr_t; -- --#else /* !defined(__XMK__) */ --typedef __uint32_t pthread_mutex_t; /* identify a mutex */ -+ union { -+ _LOCK_T normal; -+ _LOCK_RECURSIVE_T recursive; -+ }; -+} pthread_mutex_t; /* identify a mutex */ ++libsysbase/libsysbase_libsysbase_a-symlink.o: libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-symlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-symlink.o `test -f 'libsysbase/symlink.c' || echo '$(srcdir)/'`libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/symlink.c' object='libsysbase/libsysbase_libsysbase_a-symlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-symlink.o `test -f 'libsysbase/symlink.c' || echo '$(srcdir)/'`libsysbase/symlink.c ++ ++libsysbase/libsysbase_libsysbase_a-symlink.obj: libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-symlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-symlink.obj `if test -f 'libsysbase/symlink.c'; then $(CYGPATH_W) 'libsysbase/symlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/symlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/symlink.c' object='libsysbase/libsysbase_libsysbase_a-symlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-symlink.obj `if test -f 'libsysbase/symlink.c'; then $(CYGPATH_W) 'libsysbase/symlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/symlink.c'; fi` ++ + libsysbase/libsysbase_libsysbase_a-syscall_support.o: libsysbase/syscall_support.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po +-- +2.20.1 + + +From 1d1512cb39045019f522b8528648db579da13ab8 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Wed, 19 Apr 2023 20:18:45 +0100 +Subject: [PATCH 53/83] pass filestruct to devoptab fpathconf_r + +--- + libgloss/libsysbase/fpathconf.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libgloss/libsysbase/fpathconf.c b/libgloss/libsysbase/fpathconf.c +index 6911163ae..453f64870 100644 +--- a/libgloss/libsysbase/fpathconf.c ++++ b/libgloss/libsysbase/fpathconf.c +@@ -22,7 +22,7 @@ long fpathconf(int fd, int name) - typedef struct { -- int is_initialized; - #if defined(_POSIX_THREAD_PROCESS_SHARED) - int process_shared; /* allow mutex to be shared amongst processes */ - #endif -@@ -163,23 +146,25 @@ typedef struct { - int protocol; - #endif - #if defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES) -- int type; -+ int type; - #endif -- int recursive; - } pthread_mutexattr_t; --#endif /* !defined(__XMK__) */ + if(devoptab_list[dev]->fpathconf_r) { + r->deviceData = devoptab_list[dev]->deviceData; +- ret = devoptab_list[dev]->fpathconf_r(r, fd, name); ++ ret = devoptab_list[dev]->fpathconf_r(r, handle->fileStruct, name); + } else + r->_errno=ENOSYS; + +-- +2.20.1 + + +From 2c1d9ce1d06fe219f641e53dd8194ac58d94ec08 Mon Sep 17 00:00:00 2001 +From: Extrems +Date: Tue, 18 Apr 2023 21:32:35 -0400 +Subject: [PATCH 54/83] utime: Use gettimeofday for NULL times + +--- + libgloss/libsysbase/utime.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c +index 462e86520..14b459eef 100644 +--- a/libgloss/libsysbase/utime.c ++++ b/libgloss/libsysbase/utime.c +@@ -35,6 +35,10 @@ int utime(const char *filename, const struct utimbuf *times) + t[0].tv_usec = 0; + t[1].tv_sec = times->modtime; + t[1].tv_usec = 0; ++ } else if (gettimeofday(&t[0], NULL) != -1) { ++ t[1] = t[0]; ++ } else { ++ return -1; + } --#define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t) 0xFFFFFFFF) -+#define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t){ PTHREAD_MUTEX_NORMAL, { .normal = __LOCK_INITIALIZER } }) -+#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP ((pthread_mutex_t){ PTHREAD_MUTEX_RECURSIVE, { .recursive = __LOCK_INITIALIZER_RECURSIVE } }) -+#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP + return utimes(filename, t); +-- +2.20.1 + + +From 2c28071790486de1a418ba32bb321c4ed1ba6f69 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 20 Apr 2023 07:33:44 +0100 +Subject: [PATCH 55/83] allow space for NUL in readdir + +--- + libgloss/libsysbase/dirent.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c +index bed699102..8df41f85e 100644 +--- a/libgloss/libsysbase/dirent.c ++++ b/libgloss/libsysbase/dirent.c +@@ -139,7 +139,7 @@ int closedir (DIR *dirp) { - /* Condition Variables */ + struct dirent* readdir (DIR *dirp) { + struct stat st; +- char filename[NAME_MAX]; ++ char filename[NAME_MAX+1]; + int res; + int olderrno = errno; --typedef __uint32_t pthread_cond_t; /* identify a condition variable */ -+typedef struct { -+ clockid_t clock_id; -+ _COND_T cond; -+} pthread_cond_t; /* identify a condition variable */ +@@ -162,7 +162,7 @@ struct dirent* readdir (DIR *dirp) { + // We've moved forward in the directory + dirp->position += 1; --#define _PTHREAD_COND_INITIALIZER ((pthread_cond_t) 0xFFFFFFFF) -+#define _PTHREAD_COND_INITIALIZER ((pthread_cond_t){ CLOCK_REALTIME, __COND_INITIALIZER }) +- if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { ++ if (strnlen(filename, sizeof(filename)) >= sizeof(dirp->fileData.d_name)) { + errno = EOVERFLOW; + return NULL; + } +@@ -177,7 +177,7 @@ struct dirent* readdir (DIR *dirp) { - typedef struct { -- int is_initialized; -- clock_t clock; /* specifiy clock for timeouts */ -+ clockid_t clock_id; /* specifiy clock for timeouts */ - #if defined(_POSIX_THREAD_PROCESS_SHARED) - int process_shared; /* allow this to be shared amongst processes */ - #endif -@@ -190,19 +175,23 @@ typedef struct { - typedef __uint32_t pthread_key_t; /* thread-specific data keys */ + int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { + struct stat st; +- char filename[NAME_MAX]; ++ char filename[NAME_MAX+1]; + int res; - typedef struct { -- int is_initialized; /* is this structure initialized? */ -- int init_executed; /* has the initialization routine been run? */ -+ int status; /* 0 = init not run, 1 = init running, 2 = init finished */ - } pthread_once_t; /* dynamic package initialization */ + if (!dirp) { +@@ -200,7 +200,7 @@ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { + // We've moved forward in the directory + dirp->position += 1; --#define _PTHREAD_ONCE_INIT { 1, 0 } /* is initialized and not run */ -+#define _PTHREAD_ONCE_INIT { 0 } /* not run */ - #endif /* defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 */ +- if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { ++ if (strnlen(filename, sizeof(filename)) >= sizeof(entry->d_name)) { + errno = EOVERFLOW; + return EOVERFLOW; + } +@@ -224,7 +224,7 @@ void rewinddir (DIR *dirp) { - /* POSIX Barrier Types */ - #if defined(_POSIX_BARRIERS) --typedef __uint32_t pthread_barrier_t; /* POSIX Barrier Object */ - typedef struct { -- int is_initialized; /* is this structure initialized? */ -+ _LOCK_T lock; -+ _COND_T cond; -+ unsigned reload; -+ unsigned counter; -+ unsigned cycle; -+} pthread_barrier_t; /* POSIX Barrier Object */ -+typedef struct { - #if defined(_POSIX_THREAD_PROCESS_SHARED) - int process_shared; /* allow this to be shared amongst processes */ - #endif -@@ -218,12 +207,17 @@ typedef __uint32_t pthread_spinlock_t; /* POSIX Spin Lock Object */ - /* POSIX Reader/Writer Lock Types */ + void seekdir(DIR *dirp, long int loc) { +- char filename[NAME_MAX]; ++ char filename[NAME_MAX+1]; - #if defined(_POSIX_READER_WRITER_LOCKS) --typedef __uint32_t pthread_rwlock_t; /* POSIX RWLock Object */ -+typedef struct { -+ _LOCK_T lock; -+ _COND_T cond_r; -+ _COND_T cond_w; -+ uint32_t cnt_r : 30; -+ uint32_t cnt_w : 2; -+} pthread_rwlock_t; /* POSIX RWLock Object */ + if (!dirp || loc < 0) { + return; +-- +2.20.1 + + +From 5ee3f0b2a7810b65c66d09a0a156a4d35124abef Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Thu, 20 Apr 2023 07:34:41 +0100 +Subject: [PATCH 56/83] use st_mode directly to set d_type + +--- + libgloss/libsysbase/dirent.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c +index 8df41f85e..482d2f814 100644 +--- a/libgloss/libsysbase/dirent.c ++++ b/libgloss/libsysbase/dirent.c +@@ -117,6 +117,7 @@ DIR* opendir (const char *dirname) { --#define _PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t) 0xFFFFFFFF) -+#define _PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t){ __LOCK_INITIALIZER, __COND_INITIALIZER, __COND_INITIALIZER, 0, 0 }) + dirp->position = 0; // 0th position means no file name has been returned yet + dirp->fileData.d_ino = -1; ++ dirp->fileData.d_type = DT_UNKNOWN; + dirp->fileData.d_name[0] = '\0'; - typedef struct { -- int is_initialized; /* is this structure initialized? */ - #if defined(_POSIX_THREAD_PROCESS_SHARED) - int process_shared; /* allow this to be shared amongst processes */ - #endif -diff --git a/newlib/libc/include/sys/_timespec.h b/newlib/libc/include/sys/_timespec.h -index f810b008f..ca7e11dc7 100644 ---- a/newlib/libc/include/sys/_timespec.h -+++ b/newlib/libc/include/sys/_timespec.h -@@ -49,4 +49,10 @@ struct timespec { - long tv_nsec; /* and nanoseconds */ - }; + return dirp; +@@ -207,6 +208,7 @@ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { -+__uint64_t -+timespec2nsec(const struct timespec *__restrict ts); -+ -+__uint64_t -+abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts); -+ - #endif /* !_SYS__TIMESPEC_H_ */ + strncpy (entry->d_name, filename, sizeof(entry->d_name)); + entry->d_ino = st.st_ino; ++ entry->d_type = IFTODT(st.st_mode); + + *result = entry; + return 0; +-- +2.20.1 + + +From 1e1786c3732c261689dbefea1a05319ac289f42c Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Sat, 29 Apr 2023 00:15:29 +0100 +Subject: [PATCH 57/83] devkitPPC: dynamic reent + +--- + newlib/configure.host | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/newlib/configure.host b/newlib/configure.host +index 749f1ec7d..25722d004 100644 +--- a/newlib/configure.host ++++ b/newlib/configure.host +@@ -807,10 +807,10 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + default_newlib_io_long_long="yes" + newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" + ;; +- powerpc*-*-eabi*) ++ powerpc*-*-eabi*) + default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" +- newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" + newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls + ;; +-- +2.20.1 + + +From 48f2b4d3f94139ccfb1194848b8659d54e7ecc60 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Mon, 1 May 2023 00:29:16 +0100 +Subject: [PATCH 58/83] enable __DYNAMIC_REENT__ for all toolchains + +--- + newlib/libc/include/sys/config.h | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 5dcc77a80..6930a751d 100644 +index 3a33705c0..6930a751d 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h -@@ -4,8 +4,19 @@ +@@ -4,13 +4,19 @@ #include /* floating point macros */ #include /* POSIX defs */ @@ -10855,1024 +12427,1854 @@ index 5dcc77a80..6930a751d 100644 +#ifdef __DEVKITA64__ #define MALLOC_ALIGNMENT 16 +#define __DYNAMIC_REENT__ + #endif + +-#ifdef _ARCH_PPC ++#ifdef __DEVKITPPC__ + #define __BUFSIZ__ 32768 + #define MALLOC_ALIGNMENT 64 ++#define __DYNAMIC_REENT__ + #endif + + #ifdef __AMDGCN__ +-- +2.20.1 + + +From fcc0cfc7de60e1543f4256d9914d35a3ee9c1398 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Wed, 22 Mar 2023 12:25:26 +0000 +Subject: [PATCH 59/83] add devkitA64 lock.h + +--- + newlib/libc/machine/aarch64/sys/lock.h | 105 +++++++++++++++++++++++++ + 1 file changed, 105 insertions(+) + create mode 100644 newlib/libc/machine/aarch64/sys/lock.h + +diff --git a/newlib/libc/machine/aarch64/sys/lock.h b/newlib/libc/machine/aarch64/sys/lock.h +new file mode 100644 +index 000000000..2c3e64f1b +--- /dev/null ++++ b/newlib/libc/machine/aarch64/sys/lock.h +@@ -0,0 +1,105 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ ++ ++#include <_ansi.h> ++#include ++ ++typedef uint32_t _LOCK_T; ++ ++struct __lock_t { ++ _LOCK_T lock; ++ uint32_t thread_tag; ++ uint32_t counter; ++}; ++ ++typedef struct __lock_t _LOCK_RECURSIVE_T; ++ ++typedef uint32_t _COND_T; ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++extern void __libc_lock_init(_LOCK_T *lock); ++extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_close(_LOCK_T *lock); ++extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns errno */ ++extern int __libc_cond_init(_COND_T *cond); ++extern int __libc_cond_signal(_COND_T *cond); ++extern int __libc_cond_broadcast(_COND_T *cond); ++extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); ++extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); ++ ++#ifdef __cplusplus ++} +#endif + -+#ifdef __DEVKITPPC__ -+#define __BUFSIZ__ 32768 -+#define MALLOC_ALIGNMENT 64 -+#define __DYNAMIC_REENT__ - #endif - - #ifdef __AMDGCN__ -diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 45476ce4a..05efc0ab2 100644 ---- a/newlib/libc/include/sys/features.h -+++ b/newlib/libc/include/sys/features.h -@@ -331,6 +331,17 @@ extern "C" { - # define __SSP_FORTIFY_LEVEL 0 - #endif - -+//#ifdef __DEVKITA64__ -+#define _POSIX_MONOTONIC_CLOCK 200112L -+#define _POSIX_TIMERS 1 -+#define _POSIX_THREADS 1 -+#define _POSIX_SEMAPHORES 1 -+#define _POSIX_BARRIERS 200112L -+#define _POSIX_READER_WRITER_LOCKS 200112L -+#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 -+//#endif ++#define __LOCK_INITIALIZER ((_LOCK_T)0) ++#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) ++#define __COND_INITIALIZER ((_COND_T)0) ++ ++#define __LOCK_INIT(CLASS,NAME) \ ++CLASS _LOCK_T NAME = __LOCK_INITIALIZER; ++ ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ ++CLASS _LOCK_RECURSIVE_T NAME = __LOCK_INITIALIZER_RECURSIVE; ++ ++#define __COND_INIT(CLASS,NAME) \ ++CLASS _COND_T NAME = __COND_INITIALIZER; ++ ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) ++ ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) ++ ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close_recursive(&(NAME)) ++ ++#define __lock_acquire(NAME) \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_acquire_recursive(NAME) \ ++ __libc_lock_acquire_recursive(&(NAME)) ++ ++#define __lock_try_acquire(NAME) \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_try_acquire_recursive(NAME) \ ++ __libc_lock_try_acquire_recursive(&(NAME)) ++ ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release_recursive(&(NAME)) ++ ++#define __cond_init(NAME) \ ++ __libc_cond_init(&(NAME)) ++ ++#define __cond_signal(NAME) \ ++ __libc_cond_signal(&(NAME)) ++ ++#define __cond_broadcast(NAME) \ ++ __libc_cond_broadcast(&(NAME)) ++ ++#define __cond_wait(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait(&(NAME), &(LOCK), (TIMEOUT)) ++ ++#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) ++ ++#endif // __SYS_LOCK_H__ +-- +2.20.1 + + +From 55d724996247633c5b148e7ba8d8f4e0b3604d32 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Wed, 22 Mar 2023 12:26:17 +0000 +Subject: [PATCH 60/83] add cond syscalls + +--- + libgloss/libsysbase/syscall_support.c | 47 +++++++++++++++++++++++++++ + 1 file changed, 47 insertions(+) + +diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c +index 99f2a7822..a76af50ff 100644 +--- a/libgloss/libsysbase/syscall_support.c ++++ b/libgloss/libsysbase/syscall_support.c +@@ -76,6 +76,53 @@ void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { + } + } + ++int __libc_cond_init(_COND_T *cond) { ++ ++ *cond = __COND_INITIALIZER; ++ ++} ++ ++int __libc_cond_signal(_COND_T *cond) { ++ ++ if ( __has_syscall(cond_signal) ) { ++ return __syscall_cond_signal(cond); ++ } ++ ++ return ENOSYS; ++ ++} ++ ++int __libc_cond_broadcast(_COND_T *cond) { ++ ++ if ( __has_syscall(cond_broadcast) ) { ++ return __syscall_cond_broadcast(cond); ++ } ++ ++ return ENOSYS; ++ ++} ++ ++int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns) { ++ ++ if ( __has_syscall(cond_wait) ) { ++ return __syscall_cond_wait(cond, lock, timeout_ns); ++ } ++ ++ return ENOSYS; ++ ++} ++ ++int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns) { ++ ++ if ( __has_syscall(cond_wait_recursive) ) { ++ return __syscall_cond_wait_recursive(cond, lock, timeout_ns); ++ } ++ ++ return ENOSYS; ++ ++} + + - /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ + #ifdef CUSTOM_MALLOC_LOCK - #ifdef __rtems__ -diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h + void __malloc_lock( struct _reent *ptr ) { +-- +2.20.1 + + +From 62e1eb45d4bce40aee0bd5620402c4fbc0ab1307 Mon Sep 17 00:00:00 2001 +From: fincs +Date: Fri, 8 Mar 2019 19:18:39 +0100 +Subject: [PATCH 61/83] Expose math.h long double function prototypes (needed + by libstdc++) + +--- + newlib/libc/include/math.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h +index 54e30ef82..3a77345e2 100644 +--- a/newlib/libc/include/math.h ++++ b/newlib/libc/include/math.h +@@ -445,7 +445,7 @@ extern float hypotf (float, float); + simply call the double functions. On Cygwin the long double functions + are implemented independently from newlib to be able to use optimized + assembler functions despite using the Microsoft x86_64 ABI. */ +-#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) ++#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) || defined (__DEVKITA64__) + /* Reentrant ANSI C functions. */ + #ifndef __math_68881 + extern long double atanl (long double); +-- +2.20.1 + + +From b64664c24609b1e93093da2e13727d4b24bd80cd Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 24 Mar 2023 17:26:50 +0000 +Subject: [PATCH 62/83] add devkitA64 defines + +--- + newlib/configure.host | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/newlib/configure.host b/newlib/configure.host +index 25722d004..66ccbec57 100644 +--- a/newlib/configure.host ++++ b/newlib/configure.host +@@ -620,7 +620,11 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + syscall_dir=syscalls + ;; + aarch64*-*-*) ++ default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" ++ default_newlib_io_pos_args="yes" ++ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls + ;; + arc*-*-*) +-- +2.20.1 + + +From 18b8adf7f652f9ccc4af37ef2c4a72e9b5496106 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 24 Mar 2023 17:49:26 +0000 +Subject: [PATCH 63/83] add devkitA64 dirent.h + +--- + newlib/libc/machine/aarch64/sys/dirent.h | 58 ++++++++++++++++++++++++ + 1 file changed, 58 insertions(+) + create mode 100644 newlib/libc/machine/aarch64/sys/dirent.h + +diff --git a/newlib/libc/machine/aarch64/sys/dirent.h b/newlib/libc/machine/aarch64/sys/dirent.h new file mode 100644 -index 000000000..8318fda68 +index 000000000..2aaca6080 --- /dev/null -+++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,140 @@ -+//--------------------------------------------------------------------------------- -+#ifndef __iosupp_h__ -+#define __iosupp_h__ -+//--------------------------------------------------------------------------------- ++++ b/newlib/libc/machine/aarch64/sys/dirent.h +@@ -0,0 +1,58 @@ ++#ifndef _dirent_h_ ++#define _dirent_h_ ++ ++#define _DIRENT_HAVE_D_TYPE ++ ++#include ++#include ++#include ++ ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 + +#ifdef __cplusplus +extern "C" { +#endif + -+#include -+#include -+#include ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; ++ ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; ++ ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); ++ ++int scandir(const char *dirp, struct dirent ***namelist, ++int (*filter)(const struct dirent *), ++int (*compar)(const struct dirent **, const struct dirent **)); ++ ++int alphasort(const struct dirent **a, const struct dirent **b); ++ ++/* Convert between stat structure types and directory types. */ ++# define IFTODT(mode) (((mode) & 0170000) >> 12) ++# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif // _dirent_h_ +-- +2.20.1 + + +From bb95d756f3d17c90ab2dc388c8fa9d536ea6b353 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 24 Mar 2023 17:31:16 +0000 +Subject: [PATCH 64/83] Add basic pthread support to libsysbase + +--- + libgloss/libsysbase/Makefile.inc | 1 + + libgloss/libsysbase/pthread.c | 614 ++++++++++++++++++++++++ + libgloss/libsysbase/syscall_support.c | 39 ++ + newlib/libc/include/sys/_pthreadtypes.h | 60 +-- + newlib/libc/include/sys/_timespec.h | 6 + + newlib/libc/include/sys/features.h | 4 + + newlib/libc/include/sys/iosupport.h | 15 + + 7 files changed, 700 insertions(+), 39 deletions(-) + create mode 100755 libgloss/libsysbase/pthread.c + +diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc +index 2030c24d2..8ad8925ea 100644 +--- a/libgloss/libsysbase/Makefile.inc ++++ b/libgloss/libsysbase/Makefile.inc +@@ -34,6 +34,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a + %D%/lstat.c \ + %D%/malloc_vars.c \ + %D%/mkdir.c \ ++ %D%/pthread.c \ + %D%/nanosleep.c \ + %D%/open.c \ + %D%/pathconf.c \ +diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c +new file mode 100755 +index 000000000..bab01be34 +--- /dev/null ++++ b/libgloss/libsysbase/pthread.c +@@ -0,0 +1,614 @@ ++#include ++#include ++#include ++#include +#include -+#include ++#include + -+enum { -+ STD_IN, -+ STD_OUT, -+ STD_ERR, -+ STD_MAX = 35 -+}; ++int ++pthread_atfork (void (*prepare)(void), void (*parent)(void), void (*child)(void)) ++{ ++ return ENOSYS; // Unsupported ++} + ++//----------------------------------------------------------------------------- ++// Mutex attributes ++//----------------------------------------------------------------------------- + -+typedef struct { -+ unsigned int device; -+ unsigned int refcount; -+ void *fileStruct; -+} __handle; ++int ++pthread_mutexattr_init (pthread_mutexattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->type = PTHREAD_MUTEX_NORMAL; ++ return 0; ++} + -+/* Directory iterator for mantaining state between dir* calls */ -+typedef struct { -+ int device; -+ void *dirStruct; -+} DIR_ITER; ++int ++pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} + -+typedef struct { -+ const char *name; -+ size_t structSize; -+ int (*open_r)(struct _reent *r, void *fileStruct, const char *path, int flags, int mode); -+ int (*close_r)(struct _reent *r, void *fd); -+ ssize_t (*write_r)(struct _reent *r, void *fd, const char *ptr, size_t len); -+ ssize_t (*read_r)(struct _reent *r, void *fd, char *ptr, size_t len); -+ off_t (*seek_r)(struct _reent *r, void *fd, off_t pos, int dir); -+ int (*fstat_r)(struct _reent *r, void *fd, struct stat *st); -+ int (*stat_r)(struct _reent *r, const char *file, struct stat *st); -+ int (*link_r)(struct _reent *r, const char *existing, const char *newLink); -+ int (*unlink_r)(struct _reent *r, const char *name); -+ int (*chdir_r)(struct _reent *r, const char *name); -+ int (*rename_r) (struct _reent *r, const char *oldName, const char *newName); -+ int (*mkdir_r) (struct _reent *r, const char *path, int mode); ++int ++pthread_mutexattr_getpshared (const pthread_mutexattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} + -+ size_t dirStateSize; ++int ++pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} + -+ DIR_ITER* (*diropen_r)(struct _reent *r, DIR_ITER *dirState, const char *path); -+ int (*dirreset_r)(struct _reent *r, DIR_ITER *dirState); -+ int (*dirnext_r)(struct _reent *r, DIR_ITER *dirState, char *filename, struct stat *filestat); -+ int (*dirclose_r)(struct _reent *r, DIR_ITER *dirState); -+ int (*statvfs_r)(struct _reent *r, const char *path, struct statvfs *buf); -+ int (*ftruncate_r)(struct _reent *r, void *fd, off_t len); -+ int (*fsync_r)(struct _reent *r, void *fd); ++int ++pthread_mutexattr_gettype (const pthread_mutexattr_t *__attr, int *__kind) ++{ ++ if (!__attr || !__kind) ++ return EINVAL; ++ *__kind = __attr->type; ++ return 0; ++} + -+ void *deviceData; ++int ++pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->type = __kind; ++ return 0; ++} ++ ++//----------------------------------------------------------------------------- ++// Mutex ++//----------------------------------------------------------------------------- ++ ++int ++pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__attr) ++{ ++ pthread_mutexattr_t __default; ++ if (!__attr) { ++ pthread_mutexattr_init(&__default); ++ __attr = &__default; ++ } ++ if (!__mutex) ++ return EINVAL; ++ ++ __mutex->type = __attr->type; ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: ++ case PTHREAD_MUTEX_DEFAULT: ++ __lock_init(__mutex->normal); ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ __lock_init_recursive(__mutex->recursive); ++ break; ++ default: ++ return EINVAL; ++ } ++ ++ return 0; ++} ++ ++int ++pthread_mutex_destroy (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; ++ return 0; ++} + -+ int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); -+ int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); -+ int (*rmdir_r)(struct _reent *r, const char *name); -+ int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); -+ int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); ++int ++pthread_mutex_lock (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; + -+ long (*fpathconf_r)(struct _reent *r, int fd, int name); -+ long (*pathconf_r)(struct _reent *r, const char *path, int name); ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ __lock_acquire(__mutex->normal); ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ __lock_acquire_recursive(__mutex->recursive); ++ break; ++ default: ++ return EINVAL; ++ } + -+ int (*symlink_r)(struct _reent *r, const char *target, const char *linkpath); -+ ssize_t (*readlink_r)(struct _reent *r, const char *path, char *buf, size_t bufsiz); ++ return 0; ++} + -+} devoptab_t; ++int ++pthread_mutex_trylock (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; + -+extern const devoptab_t *devoptab_list[]; ++ int rc = 0; ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ rc = __lock_try_acquire(__mutex->normal); ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ rc = __lock_try_acquire_recursive(__mutex->recursive); ++ break; ++ default: ++ return EINVAL; ++ } + -+#ifdef _BUILDING_LIBSYSBASE -+#define __SYSCALL(_name) __attribute__((weak)) __syscall_##_name -+#define __has_syscall(_name) (&__syscall_##_name) -+#else -+#define __SYSCALL(_name) __syscall_##_name -+#endif ++ if (rc) ++ return EBUSY; ++ return 0; ++} + -+void __SYSCALL(exit) ( int rc ); -+int __SYSCALL(gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); -+void __SYSCALL(lock_init) (_LOCK_T *lock); -+void __SYSCALL(lock_acquire) (_LOCK_T *lock); -+int __SYSCALL(lock_try_acquire) (_LOCK_T *lock); -+void __SYSCALL(lock_release) (_LOCK_T *lock); -+void __SYSCALL(lock_close) (_LOCK_T *lock); -+void __SYSCALL(lock_init_recursive) (_LOCK_RECURSIVE_T *lock); -+void __SYSCALL(lock_acquire_recursive) (_LOCK_RECURSIVE_T *lock); -+int __SYSCALL(lock_try_acquire_recursive) (_LOCK_RECURSIVE_T *lock); -+void __SYSCALL(lock_release_recursive) (_LOCK_RECURSIVE_T *lock); -+void __SYSCALL(lock_close_recursive) (_LOCK_RECURSIVE_T *lock); ++int ++pthread_mutex_unlock (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; + -+int __SYSCALL(cond_signal)(_COND_T *cond); -+int __SYSCALL(cond_broadcast)(_COND_T *cond); -+int __SYSCALL(cond_wait)(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); -+int __SYSCALL(cond_wait_recursive)(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); -+int __SYSCALL(thread_create)(struct __pthread_t **thread, void* (*func)(void*), void *arg, void *stack_addr, size_t stack_size); -+void*__SYSCALL(thread_join)(struct __pthread_t *thread); -+int __SYSCALL(thread_detach)(struct __pthread_t *thread); -+void __SYSCALL(thread_exit)(void *value); -+struct __pthread_t *__SYSCALL(thread_self)(void); -+int __SYSCALL(tls_create)(uint32_t *key, void (*destructor)(void*)); -+int __SYSCALL(tls_set)(uint32_t key, const void *value); -+void*__SYSCALL(tls_get)(uint32_t key); -+int __SYSCALL(tls_delete)(uint32_t key); ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ __lock_release(__mutex->normal); ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ __lock_release_recursive(__mutex->recursive); ++ break; ++ default: ++ return EINVAL; ++ } + -+struct _reent * __SYSCALL(getreent) (); -+int __SYSCALL(clock_gettime) (clockid_t clock_id, struct timespec *tp); -+int __SYSCALL(clock_settime) (clockid_t clock_id, const struct timespec *tp); -+int __SYSCALL(clock_getres) (clockid_t clock_id, struct timespec *res); -+int __SYSCALL(nanosleep) (const struct timespec *req, struct timespec *rem); ++ return 0; ++} + -+void __SYSCALL(malloc_lock) (struct _reent *ptr); -+void __SYSCALL(malloc_unlock) (struct _reent *ptr); ++//----------------------------------------------------------------------------- ++// Condition variable attributes ++//----------------------------------------------------------------------------- + -+int AddDevice( const devoptab_t* device); -+int FindDevice(const char* name); -+int RemoveDevice(const char* name); -+void setDefaultDevice( int device ); ++int ++pthread_condattr_init (pthread_condattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->clock_id = CLOCK_REALTIME; ++ return 0; ++} + -+const devoptab_t* GetDeviceOpTab (const char *name); ++int ++pthread_condattr_destroy (pthread_condattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} + -+void __release_handle(int fd); -+int __alloc_handle(int device); -+__handle *__get_handle(int fd); ++int ++pthread_condattr_getclock (const pthread_condattr_t *__restrict __attr, clockid_t *__restrict __clock_id) ++{ ++ if (!__attr || !__clock_id) ++ return EINVAL; ++ *__clock_id = __attr->clock_id; ++ return 0; ++} + -+#ifdef __cplusplus ++int ++pthread_condattr_setclock (pthread_condattr_t *__attr, clockid_t __clock_id) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->clock_id = __clock_id; ++ return 0; +} -+#endif + -+//--------------------------------------------------------------------------------- -+#endif // __iosupp_h__ -+//--------------------------------------------------------------------------------- -diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h -index 9a6f115a6..142e71d35 100644 ---- a/newlib/libc/include/sys/param.h -+++ b/newlib/libc/include/sys/param.h -@@ -19,9 +19,6 @@ - #ifndef NOFILE - # define NOFILE (60) - #endif --#ifndef PATHSIZE --# define PATHSIZE (1024) --#endif - - #define MAXPATHLEN PATH_MAX - -diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 6d8b005b2..8aefe6b0f 100644 ---- a/newlib/libc/include/sys/reent.h -+++ b/newlib/libc/include/sys/reent.h -@@ -419,6 +419,8 @@ struct _reent - __FILE *__sf; /* file descriptors */ - struct _misc_reent *_misc; /* strtok, multibyte states */ - char *_signal_buf; /* strsignal */ ++int ++pthread_condattr_getpshared (const pthread_condattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} + -+ void *deviceData; - }; - - # define _REENT_INIT(var) \ -@@ -639,6 +641,8 @@ struct _reent - - /* signal info */ - void (**_sig_func)(int); ++int ++pthread_condattr_setpshared (pthread_condattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} + -+ void *deviceData; - }; - - #define _REENT_INIT(var) \ -diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index 98f5addb4..dbdfc416e 100644 ---- a/newlib/libc/include/sys/stat.h -+++ b/newlib/libc/include/sys/stat.h -@@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); - int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); - mode_t umask (mode_t __mask ); - --#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) - int lstat (const char *__restrict __path, struct stat *__restrict __buf ); ++//----------------------------------------------------------------------------- ++// Condition variable ++//----------------------------------------------------------------------------- + -+#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) - int mknod (const char *__path, mode_t __mode, dev_t __dev ); - #endif - -diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h -new file mode 100644 -index 000000000..380329d34 ---- /dev/null -+++ b/newlib/libc/include/sys/statvfs.h -@@ -0,0 +1,35 @@ -+#ifndef _SYS_STATVFS_H -+#define _SYS_STATVFS_H ++int ++pthread_cond_init (pthread_cond_t *__cond, const pthread_condattr_t *__attr) ++{ ++ pthread_condattr_t __default; ++ if (!__attr) { ++ pthread_condattr_init(&__default); ++ __attr = &__default; ++ } ++ if (!__cond) ++ return EINVAL; + ++ __cond->clock_id = __attr->clock_id; ++ return __cond_init(__cond->cond); ++} + -+#define ST_RDONLY 0x0001 -+#define ST_NOSUID 0x0002 ++int ++pthread_cond_destroy (pthread_cond_t *__cond) ++{ ++ if (!__cond) ++ return EINVAL; ++ return 0; ++} + -+#ifdef __cplusplus -+extern "C" { -+#endif ++int ++pthread_cond_signal (pthread_cond_t *__cond) ++{ ++ if (!__cond) ++ return EINVAL; ++ return __cond_signal(__cond->cond); ++} + -+#include ++int ++pthread_cond_broadcast (pthread_cond_t *__cond) ++{ ++ if (!__cond) ++ return EINVAL; ++ return __cond_broadcast(__cond->cond); ++} + -+struct statvfs { -+ unsigned long f_bsize; -+ unsigned long f_frsize; -+ fsblkcnt_t f_blocks; -+ fsblkcnt_t f_bfree; -+ fsblkcnt_t f_bavail; -+ fsfilcnt_t f_files; -+ fsfilcnt_t f_ffree; -+ fsfilcnt_t f_favail; -+ unsigned long f_fsid; -+ unsigned long f_flag; -+ unsigned long f_namemax; -+}; ++static int ++__pthread_cond_wait_common (pthread_cond_t *__cond, pthread_mutex_t *__mutex, uint64_t timeout_ns) ++{ ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ return __cond_wait(__cond->cond, __mutex->normal, timeout_ns); ++ case PTHREAD_MUTEX_RECURSIVE: ++ return __cond_wait_recursive(__cond->cond, __mutex->recursive, timeout_ns); ++ default: ++ return EINVAL; ++ } ++} + -+int statvfs(const char *path, struct statvfs *buf); ++int ++pthread_cond_wait (pthread_cond_t *__cond, pthread_mutex_t *__mutex) ++{ ++ if (!__cond || !__mutex) ++ return EINVAL; ++ return __pthread_cond_wait_common(__cond, __mutex, UINT64_MAX); ++} + -+#ifdef __cplusplus ++int ++pthread_cond_timedwait (pthread_cond_t *__cond, pthread_mutex_t *__mutex, const struct timespec *__abstime) ++{ ++ if (!__cond || !__mutex || !__abstime) ++ return EINVAL; ++ return __pthread_cond_wait_common(__cond, __mutex, abstimespec2nsec(__cond->clock_id, __abstime)); +} -+#endif + ++//----------------------------------------------------------------------------- ++// Thread attributes ++//----------------------------------------------------------------------------- + -+#endif // _SYS_STATVFS_H -\ No newline at end of file -diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h -index c872d2018..b3800187f 100644 ---- a/newlib/libc/include/sys/syslimits.h -+++ b/newlib/libc/include/sys/syslimits.h -@@ -58,4 +58,6 @@ - #define LINE_MAX 2048 /* max bytes in an input line */ - #define RE_DUP_MAX 255 /* max RE's in interval notation */ - -+#define PTHREAD_DESTRUCTOR_ITERATIONS 1 /* max attempts to destroy TLS values on thread exit */ ++int ++pthread_attr_setschedparam (pthread_attr_t *__attr, const struct sched_param *__param) ++{ ++ if (!__attr || !__param) ++ return EINVAL; ++ __attr->schedparam = *__param; ++ return 0; ++} + - #endif -diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h -index 5e937f103..b7b4de67d 100644 ---- a/newlib/libc/include/sys/utime.h -+++ b/newlib/libc/include/sys/utime.h -@@ -15,6 +15,13 @@ struct utimbuf - time_t modtime; - }; - -+/* Functions */ ++int ++pthread_attr_getschedparam (const pthread_attr_t *__attr, struct sched_param *__param) ++{ ++ if (!__attr || !__param) ++ return EINVAL; ++ *__param = __attr->schedparam; ++ return 0; ++} + -+int utime( -+ const char *path, -+ const struct utimbuf *times -+); ++int ++pthread_attr_init (pthread_attr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ memset(__attr, 0, sizeof(*__attr)); ++ return 0; ++} + - #ifdef __cplusplus - }; - #endif -diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index 65e2b1833..d3171515d 100644 ---- a/newlib/libc/locale/locale.c -+++ b/newlib/libc/locale/locale.c -@@ -198,7 +198,11 @@ static char *categories[_LC_LAST] = { - * Default locale per POSIX. Can be overridden on a per-target base. - */ - #ifndef DEFAULT_LOCALE --#define DEFAULT_LOCALE "C" -+#ifdef __DEFAULT_UTF8__ -+#define DEFAULT_LOCALE "C.UTF-8" -+#else -+#define DEFAULT_LOCALE "C" -+#endif - #endif - - #ifdef _MB_CAPABLE -@@ -211,8 +215,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; - const struct __locale_t __C_locale = - { - { "C", "C", "C", "C", "C", "C", "C", }, -+#if defined ( __DEFAULT_UTF8__ ) -+ __utf8_wctomb, -+ __utf8_mbtowc, -+#else - __ascii_wctomb, - __ascii_mbtowc, -+#endif - 0, - DEFAULT_CTYPE_PTR, - { -@@ -223,9 +232,15 @@ const struct __locale_t __C_locale = - CHAR_MAX, CHAR_MAX - }, - #ifndef __HAVE_LOCALE_INFO__ -+#ifdef __DEFAULT_UTF8__ -+ "\6", -+ "UTF-8", -+ "UTF-8", -+#else - "\1", - "ASCII", - "ASCII", -+#endif - #else /* __HAVE_LOCALE_INFO__ */ - { - { NULL, NULL }, /* LC_ALL */ -@@ -244,10 +259,11 @@ const struct __locale_t __C_locale = - }; - #endif /* _MB_CAPABLE */ - ++int ++pthread_attr_destroy (pthread_attr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} + - struct __locale_t __global_locale = - { - { "C", "C", DEFAULT_LOCALE, "C", "C", "C", "C", }, --#ifdef __CYGWIN__ -+#if defined ( __CYGWIN__ ) || defined ( __DEFAULT_UTF8__ ) - __utf8_wctomb, - __utf8_mbtowc, - #else -@@ -264,9 +280,15 @@ struct __locale_t __global_locale = - CHAR_MAX, CHAR_MAX - }, - #ifndef __HAVE_LOCALE_INFO__ -+#ifdef __DEFAULT_UTF8__ -+ "\6", -+ "UTF-8", -+ "UTF-8", -+#else - "\1", - "ASCII", - "ASCII", -+#endif - #else /* __HAVE_LOCALE_INFO__ */ - { - { NULL, NULL }, /* LC_ALL */ -diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h -index 3530ec664..0a62bfd72 100644 ---- a/newlib/libc/locale/setlocale.h -+++ b/newlib/libc/locale/setlocale.h -@@ -234,11 +234,11 @@ __get_locale_r (struct _reent *r) - _ELIDABLE_INLINE struct __locale_t * - __get_current_locale (void) - { --#ifdef __HAVE_LOCALE_INFO__ -+//#ifdef __HAVE_LOCALE_INFO__ - return _REENT_LOCALE(_REENT) ?: __get_global_locale (); --#else -- return __get_global_locale(); --#endif -+//#else -+// return __get_global_locale(); -+//#endif - } - - /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE -diff --git a/newlib/libc/machine/aarch64/Makefile.inc b/newlib/libc/machine/aarch64/Makefile.inc -index 063a2a84a..790b07e7b 100644 ---- a/newlib/libc/machine/aarch64/Makefile.inc -+++ b/newlib/libc/machine/aarch64/Makefile.inc -@@ -1,4 +1,5 @@ - libc_a_SOURCES += \ -+ %D%/access.c \ - %D%/memchr-stub.c \ - %D%/memchr.S \ - %D%/memcmp-stub.c \ -diff --git a/newlib/libc/machine/aarch64/access.c b/newlib/libc/machine/aarch64/access.c -new file mode 100644 -index 000000000..980682ef3 ---- /dev/null -+++ b/newlib/libc/machine/aarch64/access.c -@@ -0,0 +1,33 @@ -+/* This is file ACCESS.C */ -+/* -+ * Copyright (C) 1993 DJ Delorie -+ * All rights reserved. -+ * -+ * Redistribution, modification, and use in source and binary forms is permitted -+ * provided that the above copyright notice and following paragraph are -+ * duplicated in all such forms. -+ * -+ * This file is distributed WITHOUT ANY WARRANTY; without even the implied -+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -+ */ ++int ++pthread_attr_setstack (pthread_attr_t *attr, void *__stackaddr, size_t __stacksize) ++{ ++ if (!attr || !__stackaddr || !__stacksize) ++ return EINVAL; ++ attr->stackaddr = __stackaddr; ++ attr->stacksize = __stacksize; ++ return 0; ++} ++ ++int ++pthread_attr_getstack (const pthread_attr_t *attr, void **__stackaddr, size_t *__stacksize) ++{ ++ if (!attr || !__stackaddr || !__stacksize) ++ return EINVAL; ++ *__stackaddr = attr->stackaddr; ++ *__stacksize = attr->stacksize; ++ return 0; ++} + -+#include -+#include -+#include ++int ++pthread_attr_getstacksize (const pthread_attr_t *__attr, size_t *__stacksize) ++{ ++ if (!__attr || !__stacksize) ++ return EINVAL; ++ *__stacksize = __attr->stacksize; ++ return 0; ++} + -+int access(const char *fn, int flags) ++int ++pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize) +{ -+ struct stat s; -+ if (stat(fn, &s)) -+ return -1; -+ if (s.st_mode & S_IFDIR) -+ return 0; -+ if (flags & W_OK) -+ { -+ if (s.st_mode & S_IWRITE) -+ return 0; -+ return -1; -+ } -+ return 0; ++ if (!__attr || !__stacksize) ++ return EINVAL; ++ __attr->stacksize = __stacksize; ++ return 0; +} -+ -diff --git a/newlib/libc/machine/aarch64/sys/dirent.h b/newlib/libc/machine/aarch64/sys/dirent.h -new file mode 100644 -index 000000000..2aaca6080 ---- /dev/null -+++ b/newlib/libc/machine/aarch64/sys/dirent.h -@@ -0,0 +1,58 @@ -+#ifndef _dirent_h_ -+#define _dirent_h_ + -+#define _DIRENT_HAVE_D_TYPE ++int ++pthread_attr_getstackaddr (const pthread_attr_t *__attr, void **__stackaddr) ++{ ++ if (!__attr || !__stackaddr) ++ return EINVAL; ++ *__stackaddr = __attr->stackaddr; ++ return 0; ++} + -+#include -+#include -+#include ++int ++pthread_attr_setstackaddr (pthread_attr_t *__attr, void *__stackaddr) ++{ ++ if (!__attr || !__stackaddr) ++ return EINVAL; ++ __attr->stackaddr = __stackaddr; ++ return 0; ++} + -+#define DT_UNKNOWN 0 -+#define DT_FIFO 1 -+#define DT_CHR 2 -+#define DT_DIR 4 -+#define DT_BLK 6 -+#define DT_REG 8 -+#define DT_LNK 10 -+#define DT_SOCK 12 -+#define DT_WHT 14 ++int ++pthread_attr_getdetachstate (const pthread_attr_t *__attr, int *__detachstate) ++{ ++ if (!__attr || !__detachstate) ++ return EINVAL; ++ *__detachstate = __attr->detachstate; ++ return 0; ++} + -+#ifdef __cplusplus -+extern "C" { -+#endif ++int ++pthread_attr_setdetachstate (pthread_attr_t *__attr, int __detachstate) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->detachstate = __detachstate; ++ return 0; ++} + -+struct dirent { -+ ino_t d_ino; -+ unsigned char d_type; -+ char d_name[NAME_MAX+1]; -+}; ++int ++pthread_attr_getguardsize (const pthread_attr_t *__attr, size_t *__guardsize) ++{ ++ return ENOSYS; // Unsupported ++} + -+typedef struct { -+ long int position; -+ DIR_ITER* dirData; -+ struct dirent fileData; -+} DIR; ++int ++pthread_attr_setguardsize (pthread_attr_t *__attr, size_t __guardsize) ++{ ++ return ENOSYS; // Unsupported ++} + -+int closedir(DIR *dirp); -+DIR *opendir(const char *dirname); -+struct dirent *readdir(DIR *dirp); -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -+void rewinddir(DIR *dirp); -+void seekdir(DIR *dirp, long int loc); -+long int telldir(DIR *dirp); ++//----------------------------------------------------------------------------- ++// Thread ++//----------------------------------------------------------------------------- + -+int scandir(const char *dirp, struct dirent ***namelist, -+int (*filter)(const struct dirent *), -+int (*compar)(const struct dirent **, const struct dirent **)); ++int ++pthread_create (pthread_t *__pthread, const pthread_attr_t *__attr, void *(*__start_routine)(void *), void *__arg) ++{ ++ pthread_attr_t __default; ++ if (!__attr) { ++ pthread_attr_init(&__default); ++ __attr = &__default; ++ } ++ if (!__pthread || !__start_routine) ++ return EINVAL; ++ if (!__has_syscall(thread_create)) ++ return ENOSYS; ++ return __syscall_thread_create(__pthread, __start_routine, __arg, __attr->stackaddr, __attr->stacksize); ++} + -+int alphasort(const struct dirent **a, const struct dirent **b); ++int ++pthread_join (pthread_t __pthread, void **__value_ptr) ++{ ++ if (!__has_syscall(thread_join)) ++ return ENOSYS; ++ void* value = __syscall_thread_join(__pthread); ++ if (__value_ptr) ++ *__value_ptr = value; ++ return 0; ++} + -+/* Convert between stat structure types and directory types. */ -+# define IFTODT(mode) (((mode) & 0170000) >> 12) -+# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) ++int ++pthread_detach (pthread_t __pthread) ++{ ++ if (!__has_syscall(thread_detach)) ++ return ENOSYS; ++ return __syscall_thread_detach(__pthread); ++} + -+#ifdef __cplusplus ++void ++pthread_exit (void *__value_ptr) ++{ ++ if (__has_syscall(thread_exit)) ++ __syscall_thread_exit(__value_ptr); ++ for (;;); +} -+#endif + -+#endif // _dirent_h_ -diff --git a/newlib/libc/machine/aarch64/sys/lock.h b/newlib/libc/machine/aarch64/sys/lock.h -new file mode 100644 -index 000000000..d1c4aba2a ---- /dev/null -+++ b/newlib/libc/machine/aarch64/sys/lock.h -@@ -0,0 +1,116 @@ -+#ifndef __SYS_LOCK_H__ -+#define __SYS_LOCK_H__ ++pthread_t ++pthread_self (void) ++{ ++ if (__has_syscall(thread_self)) ++ return __syscall_thread_self(); ++ return NULL; ++} + -+#include <_ansi.h> -+#include ++int ++pthread_equal (pthread_t __t1, pthread_t __t2) ++{ ++ return __t1 == __t2; ++} + -+typedef uint32_t _LOCK_T; ++int ++pthread_getcpuclockid (pthread_t thread, clockid_t *clock_id) ++{ ++ if (!thread || !clock_id) ++ return EINVAL; ++ *clock_id = CLOCK_REALTIME; ++ return 0; ++} + -+struct __lock_t { -+ _LOCK_T lock; -+ uint32_t thread_tag; -+ uint32_t counter; -+}; ++int ++pthread_setconcurrency (int new_level) ++{ ++ return ENOSYS; // Unsupported ++} + -+typedef struct __lock_t _LOCK_RECURSIVE_T; ++int ++pthread_getconcurrency (void) ++{ ++ return ENOSYS; // Unsupported ++} + -+typedef uint32_t _COND_T; ++//----------------------------------------------------------------------------- ++// Run-once ++//----------------------------------------------------------------------------- + -+#define __LOCK_INITIALIZER ((_LOCK_T)0) -+#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) -+#define __COND_INITIALIZER ((_COND_T)0) ++__LOCK_INIT(static, __pthread_once_lock) ++__COND_INIT(static, __pthread_once_cv) + -+#ifdef __cplusplus -+extern "C" { -+#endif ++int ++pthread_once (pthread_once_t *__once_control, void (*__init_routine)(void)) ++{ ++ if (!__once_control || !__init_routine) ++ return EINVAL; + -+static inline void __libc_lock_init(_LOCK_T *lock) { -+ *lock = __LOCK_INITIALIZER; -+} ++ __lock_acquire(__pthread_once_lock); + -+static inline void __libc_lock_close(_LOCK_T *lock ) {} ++ if (__once_control->status == 0) { ++ __once_control->status = 1; ++ __lock_release(__pthread_once_lock); ++ __init_routine(); ++ __lock_acquire(__pthread_once_lock); ++ __once_control->status = 2; ++ __cond_broadcast(__pthread_once_cv); ++ } else { ++ while (__once_control->status == 1) ++ __cond_wait(__pthread_once_cv, __pthread_once_lock, UINT64_MAX); ++ } + -+static inline void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { -+ *lock = __LOCK_INITIALIZER_RECURSIVE; ++ __lock_release(__pthread_once_lock); ++ return 0; +} + -+static inline void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) {} -+ -+extern void __libc_lock_acquire(_LOCK_T *lock); -+extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_release(_LOCK_T *lock); -+extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++//----------------------------------------------------------------------------- ++// Thread-specific keys (TLS) ++//----------------------------------------------------------------------------- + -+/* Returns 0 for success and non-zero for failure */ -+extern int __libc_lock_try_acquire(_LOCK_T *lock); -+extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++int ++pthread_key_create (pthread_key_t *__key, void (*__destructor)(void *)) ++{ ++ if (!__has_syscall(tls_create)) ++ return ENOSYS; ++ return __syscall_tls_create(__key, __destructor); ++} + -+/* Returns errno */ -+static inline int __libc_cond_init(_COND_T *cond) { -+ *cond = __COND_INITIALIZER; ++int ++pthread_setspecific (pthread_key_t __key, const void *__value) ++{ ++ if (!__has_syscall(tls_set)) ++ return ENOSYS; ++ return __syscall_tls_set(__key, __value); +} + -+extern int __libc_cond_signal(_COND_T *cond); -+extern int __libc_cond_broadcast(_COND_T *cond); -+extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); -+extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); ++void * ++pthread_getspecific (pthread_key_t __key) ++{ ++ if (__has_syscall(tls_get)) ++ return __syscall_tls_get(__key); ++ return NULL; ++} + -+#ifdef __cplusplus ++int ++pthread_key_delete (pthread_key_t __key) ++{ ++ if (!__has_syscall(tls_delete)) ++ return ENOSYS; ++ return __syscall_tls_delete(__key); +} -+#endif + -+#define __LOCK_INIT(CLASS,NAME) \ -+CLASS _LOCK_T NAME = __LOCK_INITIALIZER; ++//----------------------------------------------------------------------------- ++// Cancel ++//----------------------------------------------------------------------------- + -+#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ -+CLASS _LOCK_RECURSIVE_T NAME = __LOCK_INITIALIZER_RECURSIVE; ++int ++pthread_cancel (pthread_t __pthread) ++{ ++ return ENOSYS; // Unsupported ++} + -+#define __COND_INIT(CLASS,NAME) \ -+CLASS _COND_T NAME = __COND_INITIALIZER; ++int ++pthread_setcancelstate (int __state, int *__oldstate) ++{ ++ return ENOSYS; // Unsupported ++} + -+#define __lock_init(NAME) \ -+ __libc_lock_init(&(NAME)) ++int ++pthread_setcanceltype (int __type, int *__oldtype) ++{ ++ return ENOSYS; // Unsupported ++} + -+#define __lock_init_recursive(NAME) \ -+ __libc_lock_init_recursive(&(NAME)) ++void ++pthread_testcancel (void) ++{ ++ // Unsupported ++} + -+#define __lock_close(NAME) \ -+ __libc_lock_close(&(NAME)) ++//----------------------------------------------------------------------------- ++// Cleanup ++//----------------------------------------------------------------------------- + -+#define __lock_close_recursive(NAME) \ -+ __libc_lock_close_recursive(&(NAME)) ++void ++_pthread_cleanup_push (struct _pthread_cleanup_context *_context, void (*_routine)(void *), void *_arg) ++{ ++ // Unsupported ++} + -+#define __lock_acquire(NAME) \ -+ __libc_lock_acquire(&(NAME)) ++void ++_pthread_cleanup_pop (struct _pthread_cleanup_context *_context, int _execute) ++{ ++ // Unsupported ++} +diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c +index a76af50ff..5f4f54cac 100644 +--- a/libgloss/libsysbase/syscall_support.c ++++ b/libgloss/libsysbase/syscall_support.c +@@ -1,6 +1,45 @@ + #include + #include + ++static int ++timespec_subtract(struct timespec x, struct timespec y, struct timespec *__restrict result) ++{ ++ // Perform the carry for the later subtraction by updating y ++ if (x.tv_nsec < y.tv_nsec) { ++ int seconds = (y.tv_nsec - x.tv_nsec) / 1000000000 + 1; ++ y.tv_nsec -= 1000000000 * seconds; ++ y.tv_sec += seconds; ++ } ++ if (x.tv_nsec - y.tv_nsec > 1000000000) { ++ int seconds = (x.tv_nsec - y.tv_nsec) / 1000000000; ++ y.tv_nsec += 1000000000 * seconds; ++ y.tv_sec -= seconds; ++ } + -+#define __lock_acquire_recursive(NAME) \ -+ __libc_lock_acquire_recursive(&(NAME)) ++ // Compute the time remaining to wait ++ result->tv_sec = x.tv_sec - y.tv_sec; ++ result->tv_nsec = x.tv_nsec - y.tv_nsec; + -+#define __lock_try_acquire(NAME) \ -+ __libc_lock_try_acquire(&(NAME)) ++ // Return true if result is negative ++ return x.tv_sec < y.tv_sec; ++} + -+#define __lock_try_acquire_recursive(NAME) \ -+ __libc_lock_try_acquire_recursive(&(NAME)) ++__uint64_t ++timespec2nsec(const struct timespec *__restrict ts) ++{ ++ return (__uint64_t)ts->tv_sec * 1000000000 + ts->tv_nsec; ++} + -+#define __lock_release(NAME) \ -+ __libc_lock_release(&(NAME)) ++__uint64_t ++abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts) ++{ ++ struct timespec now, diff; ++ clock_gettime(clock_id, &now); ++ if (timespec_subtract(*ts, now, &diff)) ++ return 0; ++ return timespec2nsec(&diff); ++} + -+#define __lock_release_recursive(NAME) \ -+ __libc_lock_release_recursive(&(NAME)) + void __libc_lock_init(_LOCK_T *lock) { + + if ( __has_syscall(lock_init) ) { +diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h +index 75e9e1cbf..ceb2601db 100644 +--- a/newlib/libc/include/sys/_pthreadtypes.h ++++ b/newlib/libc/include/sys/_pthreadtypes.h +@@ -18,19 +18,18 @@ + #ifndef _SYS__PTHREADTYPES_H_ + #define _SYS__PTHREADTYPES_H_ + ++#include + -+#define __cond_init(NAME) \ -+ __libc_cond_init(&(NAME)) + #if defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 + + #include ++#include + + /* + * 2.5 Primitive System Data Types, P1003.1c/D10, p. 19. + */ + +-#if defined(__XMK__) +-typedef unsigned int pthread_t; /* identify a thread */ +-#else +-typedef __uint32_t pthread_t; /* identify a thread */ +-#endif ++typedef struct __pthread_t *pthread_t; /* identify a thread */ + + /* P1003.1c/D10, p. 118-119 */ + #define PTHREAD_SCOPE_PROCESS 0 +@@ -46,25 +45,14 @@ typedef __uint32_t pthread_t; /* identify a thread */ + #define PTHREAD_CREATE_DETACHED 0 + #define PTHREAD_CREATE_JOINABLE 1 + +-#if defined(__XMK__) +-typedef struct pthread_attr_s { +- int contentionscope; +- struct sched_param schedparam; +- int detachstate; +- void *stackaddr; +- size_t stacksize; +-} pthread_attr_t; +- +-#define PTHREAD_STACK_MIN 200 +- +-#else /* !defined(__XMK__) */ + typedef struct { +- int is_initialized; + void *stackaddr; + int stacksize; ++#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) + int contentionscope; + int inheritsched; + int schedpolicy; ++#endif + struct sched_param schedparam; + + /* P1003.4b/D8, p. 54 adds cputime_clock_allowed attribute. */ +@@ -74,8 +62,6 @@ typedef struct { + int detachstate; + } pthread_attr_t; + +-#endif /* !defined(__XMK__) */ +- + #if defined(_POSIX_THREAD_PROCESS_SHARED) + /* NOTE: P1003.1c/D10, p. 81 defines following values for process_shared. */ + +@@ -143,18 +129,15 @@ typedef struct { + + #endif /* !defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES) */ + +-#if defined(__XMK__) +-typedef unsigned int pthread_mutex_t; /* identify a mutex */ +- + typedef struct { + int type; +-} pthread_mutexattr_t; +- +-#else /* !defined(__XMK__) */ +-typedef __uint32_t pthread_mutex_t; /* identify a mutex */ ++ union { ++ _LOCK_T normal; ++ _LOCK_RECURSIVE_T recursive; ++ }; ++} pthread_mutex_t; /* identify a mutex */ + + typedef struct { +- int is_initialized; + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow mutex to be shared amongst processes */ + #endif +@@ -163,23 +146,23 @@ typedef struct { + int protocol; + #endif + #if defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES) +- int type; ++ int type; + #endif +- int recursive; + } pthread_mutexattr_t; +-#endif /* !defined(__XMK__) */ + +-#define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t) 0xFFFFFFFF) ++#define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t){ PTHREAD_MUTEX_NORMAL, { .normal = __LOCK_INITIALIZER } }) + + /* Condition Variables */ + +-typedef __uint32_t pthread_cond_t; /* identify a condition variable */ ++typedef struct { ++ clockid_t clock_id; ++ _COND_T cond; ++} pthread_cond_t; /* identify a condition variable */ + +-#define _PTHREAD_COND_INITIALIZER ((pthread_cond_t) 0xFFFFFFFF) ++#define _PTHREAD_COND_INITIALIZER ((pthread_cond_t){ CLOCK_REALTIME, __COND_INITIALIZER }) + + typedef struct { +- int is_initialized; +- clock_t clock; /* specifiy clock for timeouts */ ++ clockid_t clock_id; /* specifiy clock for timeouts */ + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow this to be shared amongst processes */ + #endif +@@ -190,11 +173,10 @@ typedef struct { + typedef __uint32_t pthread_key_t; /* thread-specific data keys */ + + typedef struct { +- int is_initialized; /* is this structure initialized? */ +- int init_executed; /* has the initialization routine been run? */ ++ int status; /* 0 = init not run, 1 = init running, 2 = init finished */ + } pthread_once_t; /* dynamic package initialization */ + +-#define _PTHREAD_ONCE_INIT { 1, 0 } /* is initialized and not run */ ++#define _PTHREAD_ONCE_INIT { 0 } /* not run */ + #endif /* defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 */ + + /* POSIX Barrier Types */ +diff --git a/newlib/libc/include/sys/_timespec.h b/newlib/libc/include/sys/_timespec.h +index f810b008f..ca7e11dc7 100644 +--- a/newlib/libc/include/sys/_timespec.h ++++ b/newlib/libc/include/sys/_timespec.h +@@ -49,4 +49,10 @@ struct timespec { + long tv_nsec; /* and nanoseconds */ + }; + ++__uint64_t ++timespec2nsec(const struct timespec *__restrict ts); + -+#define __cond_signal(NAME) \ -+ __libc_cond_signal(&(NAME)) ++__uint64_t ++abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts); + -+#define __cond_broadcast(NAME) \ -+ __libc_cond_broadcast(&(NAME)) + #endif /* !_SYS__TIMESPEC_H_ */ +diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h +index d76706321..f7ce9fe67 100644 +--- a/newlib/libc/include/sys/features.h ++++ b/newlib/libc/include/sys/features.h +@@ -331,8 +331,12 @@ extern "C" { + # define __SSP_FORTIFY_LEVEL 0 + #endif + ++#ifdef __DEVKITA64__ + #define _POSIX_MONOTONIC_CLOCK 200112L + #define _POSIX_TIMERS 1 ++#define _POSIX_THREADS 1 ++#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 ++#endif + + /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ + +diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h +index fb0646bc6..8318fda68 100644 +--- a/newlib/libc/include/sys/iosupport.h ++++ b/newlib/libc/include/sys/iosupport.h +@@ -96,6 +96,21 @@ void __SYSCALL(lock_acquire_recursive) (_LOCK_RECURSIVE_T *lock); + int __SYSCALL(lock_try_acquire_recursive) (_LOCK_RECURSIVE_T *lock); + void __SYSCALL(lock_release_recursive) (_LOCK_RECURSIVE_T *lock); + void __SYSCALL(lock_close_recursive) (_LOCK_RECURSIVE_T *lock); + -+#define __cond_wait(NAME, LOCK, TIMEOUT) \ -+ __libc_cond_wait(&(NAME), &(LOCK), (TIMEOUT)) ++int __SYSCALL(cond_signal)(_COND_T *cond); ++int __SYSCALL(cond_broadcast)(_COND_T *cond); ++int __SYSCALL(cond_wait)(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); ++int __SYSCALL(cond_wait_recursive)(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); ++int __SYSCALL(thread_create)(struct __pthread_t **thread, void* (*func)(void*), void *arg, void *stack_addr, size_t stack_size); ++void*__SYSCALL(thread_join)(struct __pthread_t *thread); ++int __SYSCALL(thread_detach)(struct __pthread_t *thread); ++void __SYSCALL(thread_exit)(void *value); ++struct __pthread_t *__SYSCALL(thread_self)(void); ++int __SYSCALL(tls_create)(uint32_t *key, void (*destructor)(void*)); ++int __SYSCALL(tls_set)(uint32_t key, const void *value); ++void*__SYSCALL(tls_get)(uint32_t key); ++int __SYSCALL(tls_delete)(uint32_t key); + -+#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ -+ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) + struct _reent * __SYSCALL(getreent) (); + int __SYSCALL(clock_gettime) (clockid_t clock_id, struct timespec *tp); + int __SYSCALL(clock_settime) (clockid_t clock_id, const struct timespec *tp); +-- +2.20.1 + + +From 92ab05cc7f64feb19ff501e66b2c8178a7a8425c Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 24 Mar 2023 17:51:22 +0000 +Subject: [PATCH 65/83] libgloss/Machine.in: regenerate + +--- + libgloss/Makefile.in | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in +index 2a1a2ff6f..c3dfe488c 100644 +--- a/libgloss/Makefile.in ++++ b/libgloss/Makefile.in +@@ -456,6 +456,7 @@ libsysbase_libsysbase_a_LIBADD = + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pthread.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ +@@ -1085,6 +1086,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/lstat.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/malloc_vars.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/mkdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pthread.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/nanosleep.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ +@@ -1797,6 +1799,9 @@ libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT): \ + libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-pthread.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) + libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) +@@ -2290,6 +2295,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po@am__quote@ +@@ -3473,6 +3479,20 @@ libsysbase/libsysbase_libsysbase_a-mkdir.obj: libsysbase/mkdir.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-pthread.o: libsysbase/pthread.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pthread.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pthread.o `test -f 'libsysbase/pthread.c' || echo '$(srcdir)/'`libsysbase/pthread.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pthread.c' object='libsysbase/libsysbase_libsysbase_a-pthread.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pthread.o `test -f 'libsysbase/pthread.c' || echo '$(srcdir)/'`libsysbase/pthread.c + -+#endif // __SYS_LOCK_H__ -diff --git a/newlib/libc/machine/arm/Makefile.inc b/newlib/libc/machine/arm/Makefile.inc -index 2d6c08d71..81b4f119d 100644 ---- a/newlib/libc/machine/arm/Makefile.inc -+++ b/newlib/libc/machine/arm/Makefile.inc -@@ -8,4 +8,5 @@ libc_a_SOURCES += \ - %D%/memcpy-stub.c \ - %D%/memcpy.S \ - %D%/strlen-stub.c \ -- %D%/strlen.S -+ %D%/sync_synchronize.c ++libsysbase/libsysbase_libsysbase_a-pthread.obj: libsysbase/pthread.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pthread.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pthread.obj `if test -f 'libsysbase/pthread.c'; then $(CYGPATH_W) 'libsysbase/pthread.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pthread.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pthread.c' object='libsysbase/libsysbase_libsysbase_a-pthread.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pthread.obj `if test -f 'libsysbase/pthread.c'; then $(CYGPATH_W) 'libsysbase/pthread.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pthread.c'; fi` + -diff --git a/newlib/libc/machine/arm/setjmp.S b/newlib/libc/machine/arm/setjmp.S -index c615f2428..3a3bfd05e 100644 ---- a/newlib/libc/machine/arm/setjmp.S -+++ b/newlib/libc/machine/arm/setjmp.S -@@ -2,6 +2,8 @@ + libsysbase/libsysbase_libsysbase_a-nanosleep.o: libsysbase/nanosleep.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po +-- +2.20.1 + + +From 0c1d26692512f50b139cf7c83230fc368f077e1d Mon Sep 17 00:00:00 2001 +From: fincs +Date: Fri, 8 Mar 2019 21:17:45 +0100 +Subject: [PATCH 66/83] pthread_key_create: protect against NULL output key + +--- + libgloss/libsysbase/pthread.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c +index bab01be34..3c5ace602 100755 +--- a/libgloss/libsysbase/pthread.c ++++ b/libgloss/libsysbase/pthread.c +@@ -540,6 +540,8 @@ pthread_once (pthread_once_t *__once_control, void (*__init_routine)(void)) + int + pthread_key_create (pthread_key_t *__key, void (*__destructor)(void *)) + { ++ if (!__key) ++ return EINVAL; + if (!__has_syscall(tls_create)) + return ENOSYS; + return __syscall_tls_create(__key, __destructor); +-- +2.20.1 + + +From ee31206b8dc6d4c12483557c8ae3b1492efb3d3c Mon Sep 17 00:00:00 2001 +From: fincs +Date: Sat, 9 Mar 2019 21:00:58 +0100 +Subject: [PATCH 67/83] Add PTHREAD_RECURSIVE_MUTEX_INITIALIZER(_NP) + +--- + newlib/libc/include/sys/_pthreadtypes.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h +index ceb2601db..a3642c951 100644 +--- a/newlib/libc/include/sys/_pthreadtypes.h ++++ b/newlib/libc/include/sys/_pthreadtypes.h +@@ -151,6 +151,8 @@ typedef struct { + } pthread_mutexattr_t; - Nick Clifton, Cygnus Solutions, 13 June 1997. */ + #define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t){ PTHREAD_MUTEX_NORMAL, { .normal = __LOCK_INITIALIZER } }) ++#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP ((pthread_mutex_t){ PTHREAD_MUTEX_RECURSIVE, { .recursive = __LOCK_INITIALIZER_RECURSIVE } }) ++#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP -+ .fpu vfpxd -+ - #include "arm-acle-compat.h" + /* Condition Variables */ - /* ANSI concatenation macros. */ -diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c -new file mode 100644 -index 000000000..f5a85c3a8 ---- /dev/null -+++ b/newlib/libc/machine/arm/sync_synchronize.c -@@ -0,0 +1,8 @@ -+#if __ARM_ARCH < 6 -+#include -+void __attribute__((weak)) -+__sync_synchronize (void) +-- +2.20.1 + + +From 3f50eb471ec43f49dfd6203be1f7edee223e264b Mon Sep 17 00:00:00 2001 +From: fincs +Date: Sat, 9 Mar 2019 21:02:26 +0100 +Subject: [PATCH 68/83] pthread shims: implement pthread cleanup & sched + yield/getcpu + +--- + libgloss/libsysbase/pthread.c | 50 +++++++++++++++++++++++++++++++++-- + 1 file changed, 48 insertions(+), 2 deletions(-) + +diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c +index 3c5ace602..e4240af87 100755 +--- a/libgloss/libsysbase/pthread.c ++++ b/libgloss/libsysbase/pthread.c +@@ -603,14 +603,60 @@ pthread_testcancel (void) + // Cleanup + //----------------------------------------------------------------------------- + ++static pthread_once_t __pthread_cleanup_once; ++static pthread_key_t __pthread_cleanup_key; ++ ++static void ++__pthread_cleanup_dtor (void *arg) +{ -+ return; ++ struct _pthread_cleanup_context *cur; ++ for (cur = (struct _pthread_cleanup_context *)arg; cur; cur = cur->_previous) ++ cur->_routine(cur->_arg); +} -+#endif -diff --git a/newlib/libc/machine/powerpc/Makefile.inc b/newlib/libc/machine/powerpc/Makefile.inc -index 55c7ebdc6..a6acfdaa6 100644 ---- a/newlib/libc/machine/powerpc/Makefile.inc -+++ b/newlib/libc/machine/powerpc/Makefile.inc -@@ -1,6 +1,7 @@ - libc_a_CPPFLAGS_%C% = -I$(srcdir)/libc/stdio -I$(srcdir)/libc/stdlib - --libc_a_SOURCES += %D%/setjmp.S -+libc_a_SOURCES += %D%/setjmp.S \ -+ %D%/access.c ++ ++static void ++__pthread_cleanup_setup (void) ++{ ++ int err = pthread_key_create(&__pthread_cleanup_key, __pthread_cleanup_dtor); ++ if (err) ++ abort(); ++} ++ + void + _pthread_cleanup_push (struct _pthread_cleanup_context *_context, void (*_routine)(void *), void *_arg) + { +- // Unsupported ++ pthread_once(&__pthread_cleanup_once, __pthread_cleanup_setup); ++ _context->_routine = _routine; ++ _context->_arg = _arg; ++ _context->_previous = (struct _pthread_cleanup_context *)pthread_getspecific(__pthread_cleanup_key); ++ pthread_setspecific(__pthread_cleanup_key, _context); + } - if HAVE_POWERPC_ALTIVEC - libc_a_SOURCES += \ -diff --git a/newlib/libc/machine/powerpc/access.c b/newlib/libc/machine/powerpc/access.c -new file mode 100644 -index 000000000..980682ef3 ---- /dev/null -+++ b/newlib/libc/machine/powerpc/access.c -@@ -0,0 +1,33 @@ -+/* This is file ACCESS.C */ -+/* -+ * Copyright (C) 1993 DJ Delorie -+ * All rights reserved. -+ * -+ * Redistribution, modification, and use in source and binary forms is permitted -+ * provided that the above copyright notice and following paragraph are -+ * duplicated in all such forms. -+ * -+ * This file is distributed WITHOUT ANY WARRANTY; without even the implied -+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -+ */ + void + _pthread_cleanup_pop (struct _pthread_cleanup_context *_context, int _execute) + { +- // Unsupported ++ struct _pthread_cleanup_context *cur = (struct _pthread_cleanup_context *)pthread_getspecific(__pthread_cleanup_key); ++ if (cur) { ++ if (_execute) ++ cur->_routine(cur->_arg); ++ pthread_setspecific(__pthread_cleanup_key, cur->_previous); ++ } ++} + -+#include -+#include -+#include ++//----------------------------------------------------------------------------- ++// sched.h ++//----------------------------------------------------------------------------- + -+int access(const char *fn, int flags) ++int __attribute__((weak)) ++sched_yield (void) +{ -+ struct stat s; -+ if (stat(fn, &s)) -+ return -1; -+ if (s.st_mode & S_IFDIR) -+ return 0; -+ if (flags & W_OK) -+ { -+ if (s.st_mode & S_IWRITE) -+ return 0; -+ return -1; -+ } -+ return 0; ++ errno = ENOSYS; ++ return -1; +} -+ -diff --git a/newlib/libc/machine/powerpc/machine/_types.h b/newlib/libc/machine/powerpc/machine/_types.h -new file mode 100644 -index 000000000..a7d63da51 ++ ++int __attribute__((weak)) ++sched_getcpu (void) ++{ ++ errno = ENOSYS; ++ return -1; + } +-- +2.20.1 + + +From 2f9942210418280c9009e3befb13c1c7f04c8e80 Mon Sep 17 00:00:00 2001 +From: fincs +Date: Sun, 10 Mar 2019 18:28:06 +0100 +Subject: [PATCH 69/83] Add C11 threads implementation based on pthreads + +--- + newlib/libc/include/machine/_threads.h | 44 +++++ + newlib/libc/include/sys/syslimits.h | 2 + + newlib/libc/stdlib/Makefile.inc | 1 + + newlib/libc/stdlib/threads.c | 224 +++++++++++++++++++++++++ + 4 files changed, 271 insertions(+) + create mode 100755 newlib/libc/include/machine/_threads.h + create mode 100755 newlib/libc/stdlib/threads.c + +diff --git a/newlib/libc/include/machine/_threads.h b/newlib/libc/include/machine/_threads.h +new file mode 100755 +index 000000000..a71a5d847 --- /dev/null -+++ b/newlib/libc/machine/powerpc/machine/_types.h -@@ -0,0 +1,19 @@ -+#ifndef _MACHINE__TYPES_H -+#define _MACHINE__TYPES_H ++++ b/newlib/libc/include/machine/_threads.h +@@ -0,0 +1,44 @@ ++/*- ++ * Copyright (c) 2019 fincs ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ */ + -+#include ++#ifndef _MACHINE__THREADS_H_ ++#define _MACHINE__THREADS_H_ + -+/* Use 64bit types */ -+typedef __int64_t _off_t; -+#define __machine_off_t_defined ++#include ++#include + -+typedef __int64_t _fpos_t; -+#define __machine_fpos_t_defined ++#define ONCE_FLAG_INIT PTHREAD_ONCE_INIT ++#define TSS_DTOR_ITERATIONS PTHREAD_DESTRUCTOR_ITERATIONS ++#define _MTX_INITIALIZER_NP PTHREAD_MUTEX_INITIALIZER ++#define _CND_INITIALIZER_NP PTHREAD_COND_INITIALIZER + -+typedef __uint32_t __ino_t; -+#define __machine_ino_t_defined ++typedef pthread_once_t once_flag; ++typedef pthread_key_t tss_t; ++typedef pthread_mutex_t mtx_t; ++typedef pthread_cond_t cnd_t; ++typedef pthread_t thrd_t; + -+typedef __uint32_t __dev_t; -+#define __machine_dev_t_defined ++#endif +diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h +index c872d2018..b3800187f 100644 +--- a/newlib/libc/include/sys/syslimits.h ++++ b/newlib/libc/include/sys/syslimits.h +@@ -58,4 +58,6 @@ + #define LINE_MAX 2048 /* max bytes in an input line */ + #define RE_DUP_MAX 255 /* max RE's in interval notation */ + ++#define PTHREAD_DESTRUCTOR_ITERATIONS 1 /* max attempts to destroy TLS values on thread exit */ + -+#endif // _MACHINE__TYPES_H -diff --git a/newlib/libc/machine/powerpc/sys/dirent.h b/newlib/libc/machine/powerpc/sys/dirent.h -new file mode 100644 -index 000000000..2aaca6080 + #endif +diff --git a/newlib/libc/stdlib/Makefile.inc b/newlib/libc/stdlib/Makefile.inc +index 9812add76..8410f2633 100644 +--- a/newlib/libc/stdlib/Makefile.inc ++++ b/newlib/libc/stdlib/Makefile.inc +@@ -68,6 +68,7 @@ libc_a_SOURCES += \ + %D%/strtol.c \ + %D%/strtoul.c \ + %D%/strtoumax.c \ ++ %D%/threads.c \ + %D%/utoa.c \ + %D%/wcstod.c \ + %D%/wcstoimax.c \ +diff --git a/newlib/libc/stdlib/threads.c b/newlib/libc/stdlib/threads.c +new file mode 100755 +index 000000000..741111ea0 --- /dev/null -+++ b/newlib/libc/machine/powerpc/sys/dirent.h -@@ -0,0 +1,58 @@ -+#ifndef _dirent_h_ -+#define _dirent_h_ -+ -+#define _DIRENT_HAVE_D_TYPE -+ -+#include -+#include -+#include ++++ b/newlib/libc/stdlib/threads.c +@@ -0,0 +1,224 @@ ++/*- ++ * Copyright (c) 2019 fincs ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ */ + -+#define DT_UNKNOWN 0 -+#define DT_FIFO 1 -+#define DT_CHR 2 -+#define DT_DIR 4 -+#define DT_BLK 6 -+#define DT_REG 8 -+#define DT_LNK 10 -+#define DT_SOCK 12 -+#define DT_WHT 14 ++#include ++#include ++#include ++#include ++#include ++#include + -+#ifdef __cplusplus -+extern "C" { ++#if defined(PTHREAD_MUTEX_INITIALIZER) && defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) ++#define MTX_DIRECT_INIT +#endif + -+struct dirent { -+ ino_t d_ino; -+ unsigned char d_type; -+ char d_name[NAME_MAX+1]; -+}; -+ -+typedef struct { -+ long int position; -+ DIR_ITER* dirData; -+ struct dirent fileData; -+} DIR; -+ -+int closedir(DIR *dirp); -+DIR *opendir(const char *dirname); -+struct dirent *readdir(DIR *dirp); -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -+void rewinddir(DIR *dirp); -+void seekdir(DIR *dirp, long int loc); -+long int telldir(DIR *dirp); -+ -+int scandir(const char *dirp, struct dirent ***namelist, -+int (*filter)(const struct dirent *), -+int (*compar)(const struct dirent **, const struct dirent **)); -+ -+int alphasort(const struct dirent **a, const struct dirent **b); -+ -+/* Convert between stat structure types and directory types. */ -+# define IFTODT(mode) (((mode) & 0170000) >> 12) -+# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) -+ -+#ifdef __cplusplus -+} ++#if defined(PTHREAD_COND_INITIALIZER) ++#define CND_DIRECT_INIT +#endif + -+#endif // _dirent_h_ -diff --git a/newlib/libc/machine/powerpc/sys/lock.h b/newlib/libc/machine/powerpc/sys/lock.h -new file mode 100644 -index 000000000..7f051e0c9 ---- /dev/null -+++ b/newlib/libc/machine/powerpc/sys/lock.h -@@ -0,0 +1,58 @@ -+#ifndef __SYS_LOCK_H__ -+#define __SYS_LOCK_H__ ++static inline int err2thrd(int err) ++{ ++ switch (err) { ++ case 0: ++ return thrd_success; ++ case EBUSY: ++ return thrd_busy; ++ case ETIMEDOUT: ++ return thrd_timedout; ++ case ENOMEM: ++ return thrd_nomem; ++ default: ++ return thrd_error; ++ } ++} + -+typedef int _LOCK_T; -+typedef int _LOCK_RECURSIVE_T; ++void call_once(once_flag *flag, void (*func)(void)) ++{ ++ pthread_once(flag, func); ++} + -+#define __LOCK_INIT(CLASS,NAME) CLASS _LOCK_T NAME = 0 -+#define __LOCK_INIT_RECURSIVE(CLASS,NAME) CLASS _LOCK_RECURSIVE_T NAME = 0 ++int cnd_broadcast(cnd_t *cond) ++{ ++ int err = pthread_cond_broadcast(cond); ++ return err2thrd(err); ++} + ++void cnd_destroy(cnd_t *cond) ++{ ++#ifndef CND_DIRECT_INIT ++ pthread_cond_destroy(cond); ++#endif ++} + -+extern void __libc_lock_init(_LOCK_T *lock); -+extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_close(_LOCK_T *lock); -+extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_acquire(_LOCK_T *lock); -+extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_release(_LOCK_T *lock); -+extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++int cnd_init(cnd_t *cond) ++{ ++#ifdef CND_DIRECT_INIT ++ *cond = PTHREAD_COND_INITIALIZER; ++ return thrd_success; ++#else ++ int err = pthread_cond_init(cond, NULL); ++ return err2thrd(err); ++#endif ++} + -+/* Returns 0 for success and non-zero for failure */ -+extern int __libc_lock_try_acquire(_LOCK_T *lock); -+extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++int cnd_signal(cnd_t *cond) ++{ ++ int err = pthread_cond_signal(cond); ++ return err2thrd(err); ++} + -+#define __lock_init(NAME) \ -+ __libc_lock_init(&(NAME)) ++int cnd_timedwait(cnd_t *__restrict cond, mtx_t *__restrict mtx, const struct timespec *__restrict abs_time) ++{ ++ int err = pthread_cond_timedwait(cond, mtx, abs_time); ++ return err2thrd(err); ++} + -+#define __lock_init_recursive(NAME) \ -+ __libc_lock_init_recursive(&(NAME)) ++int cnd_wait(cnd_t *cond, mtx_t *mtx) ++{ ++ int err = pthread_cond_wait(cond, mtx); ++ return err2thrd(err); ++} + -+#define __lock_close(NAME) \ -+ __libc_lock_close(&(NAME)) ++void mtx_destroy(mtx_t *mtx) ++{ ++#ifndef MTX_DIRECT_INIT ++ pthread_mutex_destroy(mtx); ++#endif ++} + -+#define __lock_close_recursive(NAME) \ -+ __libc_lock_close(&(NAME)) ++int mtx_init(mtx_t *mtx, int type) ++{ ++ if (type & mtx_timed) ++ return thrd_error; ++#ifdef MTX_DIRECT_INIT ++ if (type & mtx_recursive) ++ *mtx = PTHREAD_RECURSIVE_MUTEX_INITIALIZER; ++ else ++ *mtx = PTHREAD_MUTEX_INITIALIZER; ++ return thrd_success; ++#else ++ pthread_mutexattr_t attr; ++ pthread_mutexattr_init(&attr); ++ if (type & mtx_plain) ++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL); ++ if (type & mtx_recursive) ++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); ++ int err = pthread_mutex_init(mtx, &attr); ++ pthread_mutexattr_destroy(&attr); ++ return err2thrd(err); ++#endif ++} + -+#define __lock_acquire(NAME) \ -+ if(!(NAME)) __libc_lock_init(&(NAME)); \ -+ __libc_lock_acquire(&(NAME)) ++int mtx_lock(mtx_t *mtx) ++{ ++ int err = pthread_mutex_lock(mtx); ++ return err2thrd(err); ++} + -+#define __lock_acquire_recursive(NAME) \ -+ if(!(NAME)) __libc_lock_init_recursive(&(NAME)); \ -+ __libc_lock_acquire(&(NAME)) ++int mtx_timedlock(mtx_t *__restrict mtx, const struct timespec *__restrict ts) ++{ ++ return thrd_error; ++} + -+#define __lock_try_acquire(NAME) \ -+ if(!(NAME)) __libc_lock_init(&(NAME)); \ -+ __libc_lock_try_acquire(&(NAME)) ++int mtx_trylock(mtx_t *mtx) ++{ ++ int err = pthread_mutex_trylock(mtx); ++ return err2thrd(err); ++} + -+#define __lock_try_acquire_recursive(NAME) \ -+ if(!(NAME)) __libc_lock_init_recursive(&(NAME)); \ -+ __libc_lock_try_acquire(&(NAME)) ++int mtx_unlock(mtx_t *mtx) ++{ ++ int err = pthread_mutex_unlock(mtx); ++ return err2thrd(err); ++} + -+#define __lock_release(NAME) \ -+ __libc_lock_release(&(NAME)) ++int thrd_create(thrd_t *thr, thrd_start_t func, void *arg) ++{ ++ int err = pthread_create(thr, NULL, (void*(*)(void*))func, arg); ++ return err2thrd(err); ++} + -+#define __lock_release_recursive(NAME) \ -+ __libc_lock_release(&(NAME)) ++thrd_t thrd_current(void) ++{ ++ return pthread_self(); ++} + -+#endif /* __SYS_LOCK_H__ */ -diff --git a/newlib/libc/machine/powerpc/sys/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h -new file mode 100644 -index 000000000..04ebd1ee0 ---- /dev/null -+++ b/newlib/libc/machine/powerpc/sys/stdio.h -@@ -0,0 +1,25 @@ -+#ifndef _NEWLIB_STDIO_H -+#define _NEWLIB_STDIO_H ++int thrd_detach(thrd_t thr) ++{ ++ int err = pthread_detach(thr); ++ return err2thrd(err); ++} + -+/* Internal locking macros, used to protect stdio functions. In the -+ general case, expand to nothing. */ -+#if !defined(_flockfile) -+# if !defined(__SINGLE_THREAD__) -+# define _flockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __flockfile(fp); } -+ extern void __flockfile(FILE *fp); -+# else -+# define _flockfile(fp) -+# endif -+#endif /* __SINGLE_THREAD__ */ ++int thrd_equal(thrd_t thr1, thrd_t thr2) ++{ ++ return pthread_equal(thr1, thr2); ++} + -+#if !defined(_funlockfile) -+# if !defined(__SINGLE_THREAD__) -+# define _funlockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __funlockfile(fp); } -+ extern void __funlockfile(FILE *fp); -+# else -+# define _funlockfile(fp) -+# endif -+#endif /* __SINGLE_THREAD__ */ ++void thrd_exit(int res) ++{ ++ pthread_exit((void*)(uintptr_t)res); ++} + -+#endif /* _NEWLIB_STDIO_H */ ++int thrd_join(thrd_t thr, int *res) ++{ ++ void *value = NULL; ++ int err = pthread_join(thr, &value); ++ if (!err && res) ++ *res = (uintptr_t)value; ++ return err2thrd(err); ++} + -diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index df8321461..6ea00229d 100644 ---- a/newlib/libc/stdio/fread.c -+++ b/newlib/libc/stdio/fread.c -@@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, - } - - return count; -- ++int thrd_sleep(const struct timespec *duration, struct timespec *remaining) ++{ ++ return nanosleep(duration, remaining); ++} + - } - - #endif -@@ -187,7 +187,6 @@ _fread_r (struct _reent * ptr, - int rc = 0; - /* save fp buffering state */ - void *old_base = fp->_bf._base; -- void * old_p = fp->_p; - int old_size = fp->_bf._size; - /* allow __refill to use user's buffer */ - fp->_bf._base = (unsigned char *) p; -@@ -197,7 +196,7 @@ _fread_r (struct _reent * ptr, - /* restore fp buffering back to original state */ - fp->_bf._base = old_base; - fp->_bf._size = old_size; -- fp->_p = old_p; -+ fp->_p = old_base; - resid -= fp->_r; - p += fp->_r; - fp->_r = 0; -@@ -218,27 +217,63 @@ _fread_r (struct _reent * ptr, - else - #endif /* !PREFER_SIZE_OVER_SPEED && !__OPTIMIZE_SIZE__ */ - { ++void thrd_yield(void) ++{ ++ sched_yield(); ++} + -+ /* ensure buffer set up before read */ -+ if (fp->_bf._base == NULL) -+ __smakebuf_r (ptr, fp); ++int tss_create(tss_t *key, tss_dtor_t dtor) ++{ ++ int err = pthread_key_create(key, dtor); ++ return err2thrd(err); ++} + ++void tss_delete(tss_t key) ++{ ++ pthread_key_delete(key); ++} + - while (resid > (r = fp->_r)) -- { -- (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r); -- fp->_p += r; -- /* fp->_r = 0 ... done in __srefill */ -- p += r; -- resid -= r; -- if (__srefill_r (ptr, fp)) -- { -- /* no more input: return partial result */ -+ { -+ (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r); -+ fp->_p += r; -+ /* fp->_r = 0 ... done in __srefill */ -+ p += r; -+ resid -= r; ++void * tss_get(tss_t key) ++{ ++ return pthread_getspecific(key); ++} + -+ if (resid>fp->_bf._size) -+ { int rc = 0; -+ /* save fp buffering state */ -+ void *old_base = fp->_bf._base; -+ int old_size = fp->_bf._size; -+ /* allow __refill to use user's buffer */ -+ fp->_bf._base = (unsigned char *) p; -+ fp->_bf._size = resid - old_size; -+ fp->_p = (unsigned char *) p; -+ rc = __srefill_r (ptr, fp); -+ /* restore fp buffering back to original state */ -+ fp->_bf._base = old_base; -+ fp->_bf._size = old_size; -+ fp->_p = old_base; -+ resid -= fp->_r; -+ p += fp->_r; -+ if (rc) -+ { - #ifdef __SCLE -- if (fp->_flags & __SCLE) -- { -- _newlib_flockfile_exit (fp); -- return crlf_r (ptr, fp, buf, total-resid, 1) / size; -- } -+ if (fp->_flags & __SCLE) -+ { -+ _newlib_flockfile_exit (fp); -+ return crlf_r (ptr, fp, buf, total-resid, 1) / size; -+ } - #endif -- _newlib_flockfile_exit (fp); -- return (total - resid) / size; -- } -- } -+ _newlib_flockfile_exit (fp); -+ return (total - resid) / size; -+ } -+ } -+ if (__srefill_r (ptr, fp)) -+ { -+ /* no more input: return partial result */ -+#ifdef __SCLE -+ if (fp->_flags & __SCLE) -+ { -+ _newlib_flockfile_exit (fp); -+ return crlf_r (ptr, fp, buf, total-resid, 1) / size; -+ } -+#endif -+ _newlib_flockfile_exit (fp); -+ return (total - resid) / size; -+ } -+ } - (void) memcpy ((void *) p, (void *) fp->_p, resid); - fp->_r -= resid; - fp->_p += resid; ++int tss_set(tss_t key, void *val) ++{ ++ int err = pthread_setspecific(key, val); ++ return err2thrd(err); ++} +-- +2.20.1 + + +From bb7e3f5a81f98f8f91c21f3a9c9e02c1a6759e8d Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 24 Mar 2023 21:07:18 +0000 +Subject: [PATCH 70/83] newlib/Makefile.in: regenerate + +--- + newlib/Makefile.in | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/newlib/Makefile.in b/newlib/Makefile.in +index b0d8d64f0..3ce198224 100644 +--- a/newlib/Makefile.in ++++ b/newlib/Makefile.in +@@ -2348,6 +2348,7 @@ am_libc_a_OBJECTS = $(am__objects_1) \ + libc/stdlib/libc_a-strtol.$(OBJEXT) \ + libc/stdlib/libc_a-strtoul.$(OBJEXT) \ + libc/stdlib/libc_a-strtoumax.$(OBJEXT) \ ++ libc/stdlib/libc_a-threads.$(OBJEXT) \ + libc/stdlib/libc_a-utoa.$(OBJEXT) \ + libc/stdlib/libc_a-wcstod.$(OBJEXT) \ + libc/stdlib/libc_a-wcstoimax.$(OBJEXT) \ +@@ -3919,7 +3920,7 @@ libc_a_SOURCES = $(am__append_5) libc/stdlib/__adjust.c \ + libc/stdlib/sb_charsets.c libc/stdlib/strtod.c \ + libc/stdlib/strtoimax.c libc/stdlib/strtol.c \ + libc/stdlib/strtoul.c libc/stdlib/strtoumax.c \ +- libc/stdlib/utoa.c libc/stdlib/wcstod.c \ ++ libc/stdlib/threads.c libc/stdlib/utoa.c libc/stdlib/wcstod.c \ + libc/stdlib/wcstoimax.c libc/stdlib/wcstol.c \ + libc/stdlib/wcstoul.c libc/stdlib/wcstoumax.c \ + libc/stdlib/wcstombs.c libc/stdlib/wcstombs_r.c \ +@@ -5325,6 +5326,8 @@ libc/stdlib/libc_a-strtoul.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ + libc/stdlib/$(DEPDIR)/$(am__dirstamp) + libc/stdlib/libc_a-strtoumax.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ + libc/stdlib/$(DEPDIR)/$(am__dirstamp) ++libc/stdlib/libc_a-threads.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ ++ libc/stdlib/$(DEPDIR)/$(am__dirstamp) + libc/stdlib/libc_a-utoa.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ + libc/stdlib/$(DEPDIR)/$(am__dirstamp) + libc/stdlib/libc_a-wcstod.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ +@@ -13121,6 +13124,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-strtoull_r.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-strtoumax.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-system.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-threads.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-utoa.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-valloc.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-vallocr.Po@am__quote@ +@@ -20660,6 +20664,20 @@ libc/stdlib/libc_a-strtoumax.obj: libc/stdlib/strtoumax.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-strtoumax.obj `if test -f 'libc/stdlib/strtoumax.c'; then $(CYGPATH_W) 'libc/stdlib/strtoumax.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/strtoumax.c'; fi` + ++libc/stdlib/libc_a-threads.o: libc/stdlib/threads.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-threads.o -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo -c -o libc/stdlib/libc_a-threads.o `test -f 'libc/stdlib/threads.c' || echo '$(srcdir)/'`libc/stdlib/threads.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo libc/stdlib/$(DEPDIR)/libc_a-threads.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/stdlib/threads.c' object='libc/stdlib/libc_a-threads.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-threads.o `test -f 'libc/stdlib/threads.c' || echo '$(srcdir)/'`libc/stdlib/threads.c ++ ++libc/stdlib/libc_a-threads.obj: libc/stdlib/threads.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-threads.obj -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo -c -o libc/stdlib/libc_a-threads.obj `if test -f 'libc/stdlib/threads.c'; then $(CYGPATH_W) 'libc/stdlib/threads.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/threads.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo libc/stdlib/$(DEPDIR)/libc_a-threads.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/stdlib/threads.c' object='libc/stdlib/libc_a-threads.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-threads.obj `if test -f 'libc/stdlib/threads.c'; then $(CYGPATH_W) 'libc/stdlib/threads.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/threads.c'; fi` ++ + libc/stdlib/libc_a-utoa.o: libc/stdlib/utoa.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-utoa.o -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-utoa.Tpo -c -o libc/stdlib/libc_a-utoa.o `test -f 'libc/stdlib/utoa.c' || echo '$(srcdir)/'`libc/stdlib/utoa.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-utoa.Tpo libc/stdlib/$(DEPDIR)/libc_a-utoa.Po +-- +2.20.1 + + +From 5b29a93ed400bb0d9fedb237c1e6e3ee2e8b72b8 Mon Sep 17 00:00:00 2001 +From: fincs +Date: Tue, 26 Mar 2019 14:30:17 +0100 +Subject: [PATCH 71/83] Disable _STDIO_WITH_THREAD_CANCELLATION_SUPPORT + +--- + newlib/libc/stdio/local.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h -index b34c7c9d8..f18dc4301 100644 +index b34c7c9d8..9e4cc6725 100644 --- a/newlib/libc/stdio/local.h +++ b/newlib/libc/stdio/local.h @@ -56,7 +56,7 @@ @@ -11880,505 +14282,1166 @@ index b34c7c9d8..f18dc4301 100644 #if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS) \ - && !defined (__rtems__) -+ && !defined (__rtems__) && !defined (__DEVKITPRO__) ++ && !defined (__rtems__) && !defined (__DEVKITA64__) #define _STDIO_WITH_THREAD_CANCELLATION_SUPPORT #endif -diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c -index d8dfdbd82..a85b5a99b 100644 ---- a/newlib/libc/stdio/remove.c -+++ b/newlib/libc/stdio/remove.c -@@ -57,13 +57,17 @@ Supporting OS subroutine required: <>. - #include <_ansi.h> - #include - #include -+#include +-- +2.20.1 + + +From 43e29b85089f56daf70d05c6375c4c98e69f29c0 Mon Sep 17 00:00:00 2001 +From: fincs +Date: Tue, 26 Mar 2019 20:27:49 +0100 +Subject: [PATCH 72/83] Implement pthread barrier, rwlock & posix semaphore + +--- + libgloss/libsysbase/pthread.c | 427 +++++++++++++++++++++++- + newlib/libc/include/semaphore.h | 69 ++++ + newlib/libc/include/sys/_pthreadtypes.h | 20 +- + newlib/libc/include/sys/features.h | 4 + + 4 files changed, 512 insertions(+), 8 deletions(-) + create mode 100755 newlib/libc/include/semaphore.h + +diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c +index e4240af87..ff84cd355 100755 +--- a/libgloss/libsysbase/pthread.c ++++ b/libgloss/libsysbase/pthread.c +@@ -1,10 +1,17 @@ + #include ++#include + #include + #include + #include + #include + #include ++static inline uint64_t ++__pthread_abstime_to_ns (const struct timespec *__abstime) ++{ ++ return __abstime ? abstimespec2nsec(CLOCK_REALTIME, __abstime) : UINT64_MAX; ++} ++ int - _remove_r (struct _reent *ptr, - const char *filename) + pthread_atfork (void (*prepare)(void), void (*parent)(void), void (*child)(void)) { -- if (_unlink_r (ptr, filename) == -1) -- return -1; -+ if (_unlink_r (ptr, filename) == -1) { -+ errno = 0; -+ if (_rmdir_r(ptr, filename) == -1) -+ return -1; -+ } +@@ -82,10 +89,10 @@ pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__attr) + case PTHREAD_MUTEX_NORMAL: + case PTHREAD_MUTEX_ERRORCHECK: + case PTHREAD_MUTEX_DEFAULT: +- __lock_init(__mutex->normal); ++ __mutex->normal = __LOCK_INITIALIZER; + break; + case PTHREAD_MUTEX_RECURSIVE: +- __lock_init_recursive(__mutex->recursive); ++ __mutex->recursive = __LOCK_INITIALIZER_RECURSIVE; + break; + default: + return EINVAL; +@@ -238,7 +245,8 @@ pthread_cond_init (pthread_cond_t *__cond, const pthread_condattr_t *__attr) + return EINVAL; - return 0; + __cond->clock_id = __attr->clock_id; +- return __cond_init(__cond->cond); ++ __cond->cond = __COND_INITIALIZER; ++ return 0; } -diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index 6a198e2c6..5ded3fd6e 100644 ---- a/newlib/libc/stdio/vfprintf.c -+++ b/newlib/libc/stdio/vfprintf.c -@@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, - <>, <>, <>, <>. - */ -+#pragma GCC optimize ("Os") -+ - #if defined(LIBC_SCCS) && !defined(lint) - /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ - static char *rcsid = "$Id$"; -@@ -1431,7 +1433,7 @@ reswitch: switch (ch) { - string: - #endif - sign = '\0'; --#ifndef __OPTIMIZE_SIZE__ -+//#ifndef __OPTIMIZE_SIZE__ - /* Behavior is undefined if the user passed a - NULL string when precision is not 0. - However, if we are not optimizing for size, -@@ -1441,7 +1443,7 @@ string: - size = ((unsigned) prec > 6U) ? 6 : prec; - } - else --#endif /* __OPTIMIZE_SIZE__ */ -+//#endif /* __OPTIMIZE_SIZE__ */ - #ifdef _MB_CAPABLE - if (ch == 'S' || (flags & LONGINT)) { - mbstate_t ps; -diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index cfeea9876..ab7e9d7f1 100644 ---- a/newlib/libc/stdio/vfscanf.c -+++ b/newlib/libc/stdio/vfscanf.c -@@ -74,6 +74,8 @@ These are GNU extensions. - Supporting OS subroutines required: - */ + int +@@ -643,6 +651,419 @@ _pthread_cleanup_pop (struct _pthread_cleanup_context *_context, int _execute) + } + } -+#pragma GCC optimize ("Os") ++//----------------------------------------------------------------------------- ++// Barrier ++//----------------------------------------------------------------------------- + - #include <_ansi.h> - #include - #include -diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c -index 7807a1229..30526cb70 100644 ---- a/newlib/libc/stdio/vfwprintf.c -+++ b/newlib/libc/stdio/vfwprintf.c -@@ -92,6 +92,9 @@ SEEALSO - * - * This code is large and complicated... - */ ++int ++pthread_barrierattr_init (pthread_barrierattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} + -+#pragma GCC optimize ("Os") ++int ++pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} + - #include - - #ifdef INTEGER_ONLY -diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index df966f929..106d99e94 100644 ---- a/newlib/libc/stdio/vfwscanf.c -+++ b/newlib/libc/stdio/vfwscanf.c -@@ -74,6 +74,9 @@ PORTABILITY - C99, POSIX-1.2008 - */ - ++int ++pthread_barrierattr_getpshared (const pthread_barrierattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} + -+#pragma GCC optimize ("Os") ++int ++pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} + - #include <_ansi.h> - #include - #include -diff --git a/newlib/libc/stdlib/Makefile.inc b/newlib/libc/stdlib/Makefile.inc -index 9812add76..8410f2633 100644 ---- a/newlib/libc/stdlib/Makefile.inc -+++ b/newlib/libc/stdlib/Makefile.inc -@@ -68,6 +68,7 @@ libc_a_SOURCES += \ - %D%/strtol.c \ - %D%/strtoul.c \ - %D%/strtoumax.c \ -+ %D%/threads.c \ - %D%/utoa.c \ - %D%/wcstod.c \ - %D%/wcstoimax.c \ -diff --git a/newlib/libc/stdlib/exit.c b/newlib/libc/stdlib/exit.c -index 9b7bd518b..f0e33bbc1 100644 ---- a/newlib/libc/stdlib/exit.c -+++ b/newlib/libc/stdlib/exit.c -@@ -45,6 +45,16 @@ Supporting OS subroutines required: <<_exit>>. - #include - #include "atexit.h" - -+// exit calls this handler; avoid a hard dependency on findfp by providing a weak global -+void (*__stdio_exit_handler)(void) __attribute__((weak)); ++int ++pthread_barrier_init (pthread_barrier_t *__barrier, const pthread_barrierattr_t *__attr, unsigned __count) ++{ ++ if (!__barrier || !__count) ++ return EINVAL; ++ ++ __barrier->lock = __LOCK_INITIALIZER; ++ __barrier->cond = __COND_INITIALIZER; ++ __barrier->reload = __count; ++ __barrier->counter = __count; ++ __barrier->cycle = 0; ++ return 0; ++} ++ ++int ++pthread_barrier_destroy (pthread_barrier_t *__barrier) ++{ ++ if (!__barrier) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_barrier_wait (pthread_barrier_t *__barrier) ++{ ++ if (!__barrier) ++ return EINVAL; ++ ++ __lock_acquire(__barrier->lock); ++ ++ int is_last_thread = !--__barrier->counter; ++ if (is_last_thread) { ++ __barrier->cycle ++; ++ __barrier->counter = __barrier->reload; ++ __cond_broadcast(__barrier->cond); ++ } else { ++ unsigned my_cycle = __barrier->cycle; ++ do ++ __cond_wait(__barrier->cond, __barrier->lock, UINT64_MAX); ++ while (__barrier->cycle == my_cycle); ++ } ++ ++ __lock_release(__barrier->lock); ++ return is_last_thread ? PTHREAD_BARRIER_SERIAL_THREAD : 0; ++} ++ ++//----------------------------------------------------------------------------- ++// Read/write lock ++//----------------------------------------------------------------------------- ++ ++int ++pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} ++ ++int ++pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} ++ ++int ++pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} + -+// exit calls this function; avoid a hard dependency on atexit by providing a simple weak implementation -+__attribute__((weak)) void __call_exitprocs(int rc, void* dso) ++int ++pthread_rwlock_init (pthread_rwlock_t *__rwlock, const pthread_rwlockattr_t *__attr) +{ -+ extern void __libc_fini_array(void); -+ __libc_fini_array(); ++ if (!__rwlock) ++ return EINVAL; ++ *__rwlock = PTHREAD_RWLOCK_INITIALIZER; ++ return 0; +} + - /* - * Exit, flushing stdio buffers if necessary. - */ -diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c -index 23aa10173..ba88eb9fb 100644 ---- a/newlib/libc/stdlib/mlock.c -+++ b/newlib/libc/stdlib/mlock.c -@@ -1,4 +1,5 @@ - #ifndef MALLOC_PROVIDED -+#ifndef CUSTOM_MALLOC_LOCK - /* - FUNCTION - <<__malloc_lock>>, <<__malloc_unlock>>---lock malloc pool -@@ -55,3 +56,4 @@ __malloc_unlock (ptr) - } - - #endif -+#endif -diff --git a/newlib/libc/stdlib/threads.c b/newlib/libc/stdlib/threads.c -new file mode 100755 -index 000000000..741111ea0 ---- /dev/null -+++ b/newlib/libc/stdlib/threads.c -@@ -0,0 +1,224 @@ -+/*- -+ * Copyright (c) 2019 fincs -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ ++int ++pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ return 0; ++} + -+#include -+#include -+#include -+#include -+#include -+#include ++static int ++__pthread_rwlock_rdlock_common (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) ++{ ++ int rc = 0; ++ __lock_acquire(__rwlock->lock); + -+#if defined(PTHREAD_MUTEX_INITIALIZER) && defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) -+#define MTX_DIRECT_INIT -+#endif ++ while (__rwlock->cnt_w) { ++ rc = __cond_wait(__rwlock->cond_w, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) break; ++ } + -+#if defined(PTHREAD_COND_INITIALIZER) -+#define CND_DIRECT_INIT -+#endif ++ if (!rc) ++ __rwlock->cnt_r ++; + -+static inline int err2thrd(int err) -+{ -+ switch (err) { -+ case 0: -+ return thrd_success; -+ case EBUSY: -+ return thrd_busy; -+ case ETIMEDOUT: -+ return thrd_timedout; -+ case ENOMEM: -+ return thrd_nomem; -+ default: -+ return thrd_error; -+ } ++ __lock_release(__rwlock->lock); ++ return rc; +} + -+void call_once(once_flag *flag, void (*func)(void)) ++int ++pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) +{ -+ pthread_once(flag, func); ++ if (!__rwlock) ++ return EINVAL; ++ return __pthread_rwlock_rdlock_common(__rwlock, NULL); +} + -+int cnd_broadcast(cnd_t *cond) ++int ++pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) +{ -+ int err = pthread_cond_broadcast(cond); -+ return err2thrd(err); -+} ++ if (!__rwlock) ++ return EINVAL; + -+void cnd_destroy(cnd_t *cond) -+{ -+#ifndef CND_DIRECT_INIT -+ pthread_cond_destroy(cond); -+#endif ++ __lock_acquire(__rwlock->lock); ++ ++ int failed = __rwlock->cnt_w != 0; ++ if (!failed) ++ __rwlock->cnt_r ++; ++ ++ __lock_release(__rwlock->lock); ++ return failed ? EBUSY : 0; +} + -+int cnd_init(cnd_t *cond) ++int ++pthread_rwlock_timedrdlock (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) +{ -+#ifdef CND_DIRECT_INIT -+ *cond = PTHREAD_COND_INITIALIZER; -+ return thrd_success; -+#else -+ int err = pthread_cond_init(cond, NULL); -+ return err2thrd(err); -+#endif ++ if (!__rwlock || !__abstime) ++ return EINVAL; ++ return __pthread_rwlock_rdlock_common(__rwlock, __abstime); +} + -+int cnd_signal(cnd_t *cond) ++int ++pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) +{ -+ int err = pthread_cond_signal(cond); -+ return err2thrd(err); ++ if (!__rwlock) ++ return EINVAL; ++ ++ __lock_acquire(__rwlock->lock); ++ ++ if (__rwlock->cnt_w != 2) { ++ if (!--__rwlock->cnt_r) ++ __cond_broadcast(__rwlock->cond_r); ++ } else { ++ __rwlock->cnt_w = 0; ++ __cond_broadcast(__rwlock->cond_w); ++ } ++ ++ __lock_release(__rwlock->lock); ++ return 0; +} + -+int cnd_timedwait(cnd_t *__restrict cond, mtx_t *__restrict mtx, const struct timespec *__restrict abs_time) ++static int ++__pthread_rwlock_wrlock_common (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) +{ -+ int err = pthread_cond_timedwait(cond, mtx, abs_time); -+ return err2thrd(err); ++ int rc = 0; ++ __lock_acquire(__rwlock->lock); ++ ++ while (__rwlock->cnt_w) { ++ rc = __cond_wait(__rwlock->cond_w, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) break; ++ } ++ ++ if (!rc) { ++ __rwlock->cnt_w = 1; ++ ++ while (__rwlock->cnt_r) { ++ rc = __cond_wait(__rwlock->cond_r, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) break; ++ } ++ ++ if (rc) { ++ __rwlock->cnt_w = 0; ++ __cond_broadcast(__rwlock->cond_w); ++ } else ++ __rwlock->cnt_w = 2; ++ } ++ ++ __lock_release(__rwlock->lock); ++ return rc; +} + -+int cnd_wait(cnd_t *cond, mtx_t *mtx) ++int ++pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) +{ -+ int err = pthread_cond_wait(cond, mtx); -+ return err2thrd(err); ++ if (!__rwlock) ++ return EINVAL; ++ return __pthread_rwlock_wrlock_common(__rwlock, NULL); +} + -+void mtx_destroy(mtx_t *mtx) ++int ++pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) +{ -+#ifndef MTX_DIRECT_INIT -+ pthread_mutex_destroy(mtx); -+#endif ++ if (!__rwlock) ++ return EINVAL; ++ ++ __lock_acquire(__rwlock->lock); ++ ++ int failed = __rwlock->cnt_w != 0 || __rwlock->cnt_r != 0; ++ if (!failed) ++ __rwlock->cnt_w = 2; ++ ++ __lock_release(__rwlock->lock); ++ return failed ? EBUSY : 0; +} + -+int mtx_init(mtx_t *mtx, int type) ++int ++pthread_rwlock_timedwrlock (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) +{ -+ if (type & mtx_timed) -+ return thrd_error; -+#ifdef MTX_DIRECT_INIT -+ if (type & mtx_recursive) -+ *mtx = PTHREAD_RECURSIVE_MUTEX_INITIALIZER; -+ else -+ *mtx = PTHREAD_MUTEX_INITIALIZER; -+ return thrd_success; -+#else -+ pthread_mutexattr_t attr; -+ pthread_mutexattr_init(&attr); -+ if (type & mtx_plain) -+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL); -+ if (type & mtx_recursive) -+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); -+ int err = pthread_mutex_init(mtx, &attr); -+ pthread_mutexattr_destroy(&attr); -+ return err2thrd(err); -+#endif ++ if (!__rwlock || !__abstime) ++ return EINVAL; ++ return __pthread_rwlock_wrlock_common(__rwlock, __abstime); +} + -+int mtx_lock(mtx_t *mtx) ++//----------------------------------------------------------------------------- ++// semaphore.h ++//----------------------------------------------------------------------------- ++ ++int ++sem_close(sem_t *__sem) +{ -+ int err = pthread_mutex_lock(mtx); -+ return err2thrd(err); ++ errno = ENOSYS; ++ return -1; +} + -+int mtx_timedlock(mtx_t *__restrict mtx, const struct timespec *__restrict ts) ++int ++sem_destroy(sem_t *__sem) +{ -+ return thrd_error; ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } ++ return 0; +} + -+int mtx_trylock(mtx_t *mtx) ++int ++sem_getvalue(sem_t *__sem, int *__sval) +{ -+ int err = pthread_mutex_trylock(mtx); -+ return err2thrd(err); ++ if (!__sem || !__sval) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ __lock_acquire(__sem->lock); ++ *__sval = __sem->value; ++ __lock_release(__sem->lock); ++ return 0; +} + -+int mtx_unlock(mtx_t *mtx) ++int ++sem_init(sem_t *__sem, int __pshared, unsigned int __value) +{ -+ int err = pthread_mutex_unlock(mtx); -+ return err2thrd(err); ++ if (!__sem || __value > SEM_VALUE_MAX) { ++ errno = EINVAL; ++ return -1; ++ } ++ if (__pshared) { ++ errno = ENOSYS; ++ return -1; ++ } ++ ++ __sem->lock = __LOCK_INITIALIZER; ++ __sem->cond = __COND_INITIALIZER; ++ __sem->value = __value; ++ return 0; +} + -+int thrd_create(thrd_t *thr, thrd_start_t func, void *arg) ++sem_t * ++sem_open(const char *__name, int __oflag, ...) +{ -+ int err = pthread_create(thr, NULL, (void*(*)(void*))func, arg); -+ return err2thrd(err); ++ errno = ENOSYS; ++ return SEM_FAILED; +} + -+thrd_t thrd_current(void) ++int ++sem_post(sem_t *__sem) +{ -+ return pthread_self(); ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ __lock_acquire(__sem->lock); ++ if (__sem->value++ < 0) ++ __cond_signal(__sem->cond); ++ __lock_release(__sem->lock); ++ return 0; +} + -+int thrd_detach(thrd_t thr) ++static int ++__sem_wait_common(sem_t *__sem, const struct timespec *__abstime) +{ -+ int err = pthread_detach(thr); -+ return err2thrd(err); ++ int rc = 0; ++ __lock_acquire(__sem->lock); ++ ++ __sem->value --; ++ if (__sem->value < 0) ++ rc = __cond_wait(__sem->cond, __sem->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) { ++ if (__sem->value < 0) ++ __sem->value ++; ++ else ++ rc = 0; ++ } ++ ++ __lock_release(__sem->lock); ++ ++ if (rc) { ++ errno = rc; ++ return -1; ++ } ++ ++ return 0; +} + -+int thrd_equal(thrd_t thr1, thrd_t thr2) ++int ++sem_timedwait(sem_t *__sem, const struct timespec *__abstime) +{ -+ return pthread_equal(thr1, thr2); ++ if (!__sem || !__abstime) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ return __sem_wait_common(__sem, __abstime); +} + -+void thrd_exit(int res) ++int ++sem_trywait(sem_t *__sem) +{ -+ pthread_exit((void*)(uintptr_t)res); ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ __lock_acquire(__sem->lock); ++ ++ int failed = __sem->value <= 0; ++ if (!failed) ++ __sem->value --; ++ ++ __lock_release(__sem->lock); ++ ++ if (failed) { ++ errno = EAGAIN; ++ return -1; ++ } ++ ++ return 0; +} + -+int thrd_join(thrd_t thr, int *res) ++int ++sem_unlink(const char *__name) +{ -+ void *value = NULL; -+ int err = pthread_join(thr, &value); -+ if (!err && res) -+ *res = (uintptr_t)value; -+ return err2thrd(err); ++ errno = ENOSYS; ++ return -1; +} + -+int thrd_sleep(const struct timespec *duration, struct timespec *remaining) ++int ++sem_wait(sem_t *__sem) +{ -+ return nanosleep(duration, remaining); ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ return __sem_wait_common(__sem, NULL); +} + -+void thrd_yield(void) -+{ -+ sched_yield(); -+} + //----------------------------------------------------------------------------- + // sched.h + //----------------------------------------------------------------------------- +diff --git a/newlib/libc/include/semaphore.h b/newlib/libc/include/semaphore.h +new file mode 100755 +index 000000000..4afb0e419 +--- /dev/null ++++ b/newlib/libc/include/semaphore.h +@@ -0,0 +1,69 @@ ++/* ++ * Copyright (c) 2010 David Xu ++ * ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice unmodified, this list of conditions, and the following ++ * disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ * $FreeBSD: head/include/semaphore.h 314424 2017-02-28 21:47:00Z vangyzen $ ++ */ ++ ++/* semaphore.h: POSIX 1003.1b semaphores */ ++ ++#ifndef _SEMAPHORE_H_ ++#define _SEMAPHORE_H_ ++ ++#include ++ ++#if defined(_POSIX_SEMAPHORES) ++ ++#include ++#include ++#include ++#include ++#include ++ ++typedef struct { ++ _LOCK_T lock; ++ _COND_T cond; ++ int value; ++} sem_t; ++ ++#define SEM_VALUE_MAX INT_MAX ++#define SEM_FAILED ((sem_t *)0) ++ ++__BEGIN_DECLS ++int sem_close(sem_t *); ++int sem_destroy(sem_t *); ++int sem_getvalue(sem_t * __restrict, int * __restrict); ++int sem_init(sem_t *, int, unsigned int); ++sem_t *sem_open(const char *, int, ...); ++int sem_post(sem_t *); ++int sem_timedwait(sem_t * __restrict, const struct timespec * __restrict); ++int sem_trywait(sem_t *); ++int sem_unlink(const char *); ++int sem_wait(sem_t *); ++__END_DECLS ++ ++#endif /* defined(_POSIX_SEMAPHORES) */ ++ ++#endif /* !_SEMAPHORE_H_ */ +diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h +index a3642c951..dc63dbe6a 100644 +--- a/newlib/libc/include/sys/_pthreadtypes.h ++++ b/newlib/libc/include/sys/_pthreadtypes.h +@@ -184,9 +184,14 @@ typedef struct { + /* POSIX Barrier Types */ + + #if defined(_POSIX_BARRIERS) +-typedef __uint32_t pthread_barrier_t; /* POSIX Barrier Object */ + typedef struct { +- int is_initialized; /* is this structure initialized? */ ++ _LOCK_T lock; ++ _COND_T cond; ++ unsigned reload; ++ unsigned counter; ++ unsigned cycle; ++} pthread_barrier_t; /* POSIX Barrier Object */ ++typedef struct { + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow this to be shared amongst processes */ + #endif +@@ -202,12 +207,17 @@ typedef __uint32_t pthread_spinlock_t; /* POSIX Spin Lock Object */ + /* POSIX Reader/Writer Lock Types */ + + #if defined(_POSIX_READER_WRITER_LOCKS) +-typedef __uint32_t pthread_rwlock_t; /* POSIX RWLock Object */ ++typedef struct { ++ _LOCK_T lock; ++ _COND_T cond_r; ++ _COND_T cond_w; ++ uint32_t cnt_r : 30; ++ uint32_t cnt_w : 2; ++} pthread_rwlock_t; /* POSIX RWLock Object */ + +-#define _PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t) 0xFFFFFFFF) ++#define _PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t){ __LOCK_INITIALIZER, __COND_INITIALIZER, __COND_INITIALIZER, 0, 0 }) + + typedef struct { +- int is_initialized; /* is this structure initialized? */ + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow this to be shared amongst processes */ + #endif +diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h +index f7ce9fe67..69ac51932 100644 +--- a/newlib/libc/include/sys/features.h ++++ b/newlib/libc/include/sys/features.h +@@ -335,9 +335,13 @@ extern "C" { + #define _POSIX_MONOTONIC_CLOCK 200112L + #define _POSIX_TIMERS 1 + #define _POSIX_THREADS 1 ++#define _POSIX_SEMAPHORES 1 ++#define _POSIX_BARRIERS 200112L ++#define _POSIX_READER_WRITER_LOCKS 200112L + #define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 + #endif + ++ + /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ + + #ifdef __rtems__ +-- +2.20.1 + + +From c4b7f1f938838349492b8bd40cce96a14adc0729 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 24 Mar 2023 22:16:46 +0000 +Subject: [PATCH 73/83] add dummy libpthread + +--- + libgloss/libsysbase/Makefile.inc | 7 +++++++ + libgloss/libsysbase/dummy.c | 0 + 2 files changed, 7 insertions(+) + create mode 100644 libgloss/libsysbase/dummy.c + +diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc +index 8ad8925ea..123a1dedf 100644 +--- a/libgloss/libsysbase/Makefile.inc ++++ b/libgloss/libsysbase/Makefile.inc +@@ -1,6 +1,13 @@ + multilibtool_DATA += %D%/sysbase.specs + -+int tss_create(tss_t *key, tss_dtor_t dtor) -+{ -+ int err = pthread_key_create(key, dtor); -+ return err2thrd(err); -+} ++multilibtool_LIBRARIES += %D%/libpthread.a + -+void tss_delete(tss_t key) -+{ -+ pthread_key_delete(key); -+} ++%C%_libpthread_a_SOURCES = \ ++ %D%/dummy.c + -+void * tss_get(tss_t key) -+{ -+ return pthread_getspecific(key); -+} + multilibtool_LIBRARIES += %D%/libsysbase.a + + -+int tss_set(tss_t key, void *val) -+{ -+ int err = pthread_setspecific(key, val); -+ return err2thrd(err); -+} -diff --git a/newlib/libc/sys/arm/include/machine/_types.h b/newlib/libc/sys/arm/include/machine/_types.h + %C%_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE + + %C%_libsysbase_a_SOURCES = \ +diff --git a/libgloss/libsysbase/dummy.c b/libgloss/libsysbase/dummy.c new file mode 100644 -index 000000000..40092f99f ---- /dev/null -+++ b/newlib/libc/sys/arm/include/machine/_types.h -@@ -0,0 +1,19 @@ -+#ifndef _MACHINE__TYPES_H -+#define _MACHINE__TYPES_H -+ -+#include -+ -+/* Use 64bit types */ -+typedef __int64_t _off_t; -+#define __machine_off_t_defined -+ -+typedef __int64_t _fpos_t; -+#define __machine_fpos_t_defined +index 000000000..e69de29bb +-- +2.20.1 + + +From 1931643958716ff9904895602af6ef4d81820baf Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 24 Mar 2023 22:18:22 +0000 +Subject: [PATCH 74/83] libgloss/Makefile.in: regenerate + +--- + libgloss/Makefile.in | 29 ++++++++++++++++++++++++----- + 1 file changed, 24 insertions(+), 5 deletions(-) + +diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in +index c3dfe488c..44731970d 100644 +--- a/libgloss/Makefile.in ++++ b/libgloss/Makefile.in +@@ -174,7 +174,8 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) + @CONFIG_LIBNOSYS_TRUE@am__append_27 = libnosys/nosys.specs + @CONFIG_LIBNOSYS_TRUE@am__append_28 = libnosys/libnosys.a + @CONFIG_LIBSYSBASE_TRUE@am__append_29 = libsysbase/sysbase.specs +-@CONFIG_LIBSYSBASE_TRUE@am__append_30 = libsysbase/libsysbase.a ++@CONFIG_LIBSYSBASE_TRUE@am__append_30 = libsysbase/libpthread.a \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase.a + @CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.o lm32/sim.ld + @CONFIG_LM32_TRUE@am__append_32 = lm32/libgloss.a + @CONFIG_LM32_TRUE@am__append_33 = lm32/crt0.S +@@ -424,6 +425,12 @@ libobjs_a_LIBADD = + am_libobjs_a_OBJECTS = $(am__objects_3) $(am__objects_4) \ + $(am__objects_5) $(am__objects_6) + libobjs_a_OBJECTS = $(am_libobjs_a_OBJECTS) ++libsysbase_libpthread_a_AR = $(AR) $(ARFLAGS) ++libsysbase_libpthread_a_LIBADD = ++@CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libpthread_a_OBJECTS = \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dummy.$(OBJEXT) ++libsysbase_libpthread_a_OBJECTS = \ ++ $(am_libsysbase_libpthread_a_OBJECTS) + libsysbase_libsysbase_a_AR = $(AR) $(ARFLAGS) + libsysbase_libsysbase_a_LIBADD = + @CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libsysbase_a_OBJECTS = libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT) \ +@@ -632,10 +639,11 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ + $(bfin_libbfinbsp_a_SOURCES) $(bfin_libsim_a_SOURCES) \ + $(csky_libsemi_a_SOURCES) $(d30v_libsim_a_SOURCES) \ + $(iq2000_libeval_a_SOURCES) $(libnosys_libnosys_a_SOURCES) \ +- $(libobjs_a_SOURCES) $(libsysbase_libsysbase_a_SOURCES) \ +- $(lm32_libgloss_a_SOURCES) $(nios2_libnios2_a_SOURCES) \ +- $(riscv_libgloss_a_SOURCES) $(riscv_libsemihost_a_SOURCES) \ +- bfin/sim-test.c iq2000/test.c $(wince_stub_exe_SOURCES) ++ $(libobjs_a_SOURCES) $(libsysbase_libpthread_a_SOURCES) \ ++ $(libsysbase_libsysbase_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ ++ $(nios2_libnios2_a_SOURCES) $(riscv_libgloss_a_SOURCES) \ ++ $(riscv_libsemihost_a_SOURCES) bfin/sim-test.c iq2000/test.c \ ++ $(wince_stub_exe_SOURCES) + AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) + am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) + am__v_DVIPS_0 = @echo " DVIPS " $@; +@@ -1054,6 +1062,9 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBNOSYS_TRUE@ libnosys/write.c \ + @CONFIG_LIBNOSYS_TRUE@ libnosys/_exit.c + ++@CONFIG_LIBSYSBASE_TRUE@libsysbase_libpthread_a_SOURCES = \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dummy.c + -+typedef __uint32_t __ino_t; -+#define __machine_ino_t_defined + @CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE + @CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_SOURCES = \ + @CONFIG_LIBSYSBASE_TRUE@ libsysbase/_exit.c \ +@@ -1709,6 +1720,13 @@ libsysbase/$(am__dirstamp): + libsysbase/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) libsysbase/$(DEPDIR) + @: > libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/dummy.$(OBJEXT): libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) + -+typedef __uint32_t __dev_t; -+#define __machine_dev_t_defined -+#endif ++libsysbase/libpthread.a: $(libsysbase_libpthread_a_OBJECTS) $(libsysbase_libpthread_a_DEPENDENCIES) $(EXTRA_libsysbase_libpthread_a_DEPENDENCIES) libsysbase/$(am__dirstamp) ++ $(AM_V_at)-rm -f libsysbase/libpthread.a ++ $(AM_V_AR)$(libsysbase_libpthread_a_AR) libsysbase/libpthread.a $(libsysbase_libpthread_a_OBJECTS) $(libsysbase_libpthread_a_LIBADD) ++ $(AM_V_at)$(RANLIB) libsysbase/libpthread.a + libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) +@@ -2262,6 +2280,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/unlink.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/wait.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/write.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/dummy.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po@am__quote@ +-- +2.20.1 + + +From 561315e6febf2d6443e951b61866dd06fc8280bc Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 24 Mar 2023 23:09:46 +0000 +Subject: [PATCH 75/83] devkitA64 init/close functions + +--- + libgloss/libsysbase/syscall_support.c | 15 +++------------ + 1 file changed, 3 insertions(+), 12 deletions(-) + +diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c +index 5f4f54cac..c73ad2b71 100644 +--- a/libgloss/libsysbase/syscall_support.c ++++ b/libgloss/libsysbase/syscall_support.c +@@ -42,9 +42,8 @@ abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts) + + void __libc_lock_init(_LOCK_T *lock) { + +- if ( __has_syscall(lock_init) ) { +- __syscall_lock_init(lock); +- } ++ *lock = __LOCK_INITIALIZER; + -diff --git a/newlib/libc/sys/arm/sys/dirent.h b/newlib/libc/sys/arm/sys/dirent.h + } + + void __libc_lock_acquire(_LOCK_T *lock ) { +@@ -72,16 +71,11 @@ void __libc_lock_release(_LOCK_T *lock ) { + + void __libc_lock_close(_LOCK_T *lock ) { + +- if ( __has_syscall(lock_close) ) { +- __syscall_lock_close(lock); +- } + } + + void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { + +- if ( __has_syscall(lock_init_recursive) ) { +- __syscall_lock_init_recursive(lock); +- } ++ *lock = __LOCK_INITIALIZER_RECURSIVE; + + } + +@@ -110,9 +104,6 @@ void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { + + void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { + +- if ( __has_syscall(lock_close_recursive) ) { +- __syscall_lock_close_recursive(lock); +- } + } + + int __libc_cond_init(_COND_T *cond) { +-- +2.20.1 + + +From 0321d0fc075123edd7ee93b0d7769902e0486c24 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Sat, 25 Mar 2023 00:10:22 +0000 +Subject: [PATCH 76/83] add access for devkitA64 + +--- + newlib/libc/machine/aarch64/Makefile.inc | 1 + + newlib/libc/machine/aarch64/access.c | 33 ++++++++++++++++++++++++ + 2 files changed, 34 insertions(+) + create mode 100644 newlib/libc/machine/aarch64/access.c + +diff --git a/newlib/libc/machine/aarch64/Makefile.inc b/newlib/libc/machine/aarch64/Makefile.inc +index 063a2a84a..790b07e7b 100644 +--- a/newlib/libc/machine/aarch64/Makefile.inc ++++ b/newlib/libc/machine/aarch64/Makefile.inc +@@ -1,4 +1,5 @@ + libc_a_SOURCES += \ ++ %D%/access.c \ + %D%/memchr-stub.c \ + %D%/memchr.S \ + %D%/memcmp-stub.c \ +diff --git a/newlib/libc/machine/aarch64/access.c b/newlib/libc/machine/aarch64/access.c new file mode 100644 -index 000000000..2aaca6080 +index 000000000..980682ef3 --- /dev/null -+++ b/newlib/libc/sys/arm/sys/dirent.h -@@ -0,0 +1,58 @@ -+#ifndef _dirent_h_ -+#define _dirent_h_ ++++ b/newlib/libc/machine/aarch64/access.c +@@ -0,0 +1,33 @@ ++/* This is file ACCESS.C */ ++/* ++ * Copyright (C) 1993 DJ Delorie ++ * All rights reserved. ++ * ++ * Redistribution, modification, and use in source and binary forms is permitted ++ * provided that the above copyright notice and following paragraph are ++ * duplicated in all such forms. ++ * ++ * This file is distributed WITHOUT ANY WARRANTY; without even the implied ++ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ */ + -+#define _DIRENT_HAVE_D_TYPE ++#include ++#include ++#include + -+#include -+#include -+#include ++int access(const char *fn, int flags) ++{ ++ struct stat s; ++ if (stat(fn, &s)) ++ return -1; ++ if (s.st_mode & S_IFDIR) ++ return 0; ++ if (flags & W_OK) ++ { ++ if (s.st_mode & S_IWRITE) ++ return 0; ++ return -1; ++ } ++ return 0; ++} ++ +-- +2.20.1 + + +From cdf458992e309ed280c52184d1773a68de74cbdd Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Sat, 25 Mar 2023 00:16:48 +0000 +Subject: [PATCH 77/83] newlib/Makefile.in: regenerate + +--- + newlib/Makefile.in | 22 +++++++++++++++++++++- + 1 file changed, 21 insertions(+), 1 deletion(-) + +diff --git a/newlib/Makefile.in b/newlib/Makefile.in +index 3ce198224..8a72f26f7 100644 +--- a/newlib/Makefile.in ++++ b/newlib/Makefile.in +@@ -586,6 +586,7 @@ check_PROGRAMS = + @HAVE_LIBC_SYS_W65_DIR_TRUE@am__append_63 = libc/sys/w65/syscalls.c libc/sys/w65/trap.c + @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__append_64 = libc/sys/z8ksim/glue.c + @HAVE_LIBC_MACHINE_AARCH64_TRUE@am__append_65 = \ ++@HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/access.c \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memchr-stub.c \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memchr.S \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memcmp-stub.c \ +@@ -1813,7 +1814,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_SYS_W65_DIR_TRUE@am__objects_74 = libc/sys/w65/libc_a-syscalls.$(OBJEXT) \ + @HAVE_LIBC_SYS_W65_DIR_TRUE@ libc/sys/w65/libc_a-trap.$(OBJEXT) + @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__objects_75 = libc/sys/z8ksim/libc_a-glue.$(OBJEXT) +-@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_76 = libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ ++@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_76 = libc/machine/aarch64/libc_a-access.$(OBJEXT) \ ++@HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memchr.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memcmp-stub.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memcmp.$(OBJEXT) \ +@@ -7764,6 +7766,9 @@ libc/machine/aarch64/$(am__dirstamp): + libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) libc/machine/aarch64/$(DEPDIR) + @: > libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) ++libc/machine/aarch64/libc_a-access.$(OBJEXT): \ ++ libc/machine/aarch64/$(am__dirstamp) \ ++ libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) + libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT): \ + libc/machine/aarch64/$(am__dirstamp) \ + libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) +@@ -12266,6 +12271,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-nl_langinfo.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-timelocal.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-uselocale.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memchr.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memcmp-stub.Po@am__quote@ +@@ -32228,6 +32234,20 @@ libc/sys/z8ksim/libc_a-glue.obj: libc/sys/z8ksim/glue.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/sys/z8ksim/libc_a-glue.obj `if test -f 'libc/sys/z8ksim/glue.c'; then $(CYGPATH_W) 'libc/sys/z8ksim/glue.c'; else $(CYGPATH_W) '$(srcdir)/libc/sys/z8ksim/glue.c'; fi` + ++libc/machine/aarch64/libc_a-access.o: libc/machine/aarch64/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-access.o -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/aarch64/libc_a-access.o `test -f 'libc/machine/aarch64/access.c' || echo '$(srcdir)/'`libc/machine/aarch64/access.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/aarch64/access.c' object='libc/machine/aarch64/libc_a-access.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/aarch64/libc_a-access.o `test -f 'libc/machine/aarch64/access.c' || echo '$(srcdir)/'`libc/machine/aarch64/access.c + -+#define DT_UNKNOWN 0 -+#define DT_FIFO 1 -+#define DT_CHR 2 -+#define DT_DIR 4 -+#define DT_BLK 6 -+#define DT_REG 8 -+#define DT_LNK 10 -+#define DT_SOCK 12 -+#define DT_WHT 14 ++libc/machine/aarch64/libc_a-access.obj: libc/machine/aarch64/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-access.obj -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/aarch64/libc_a-access.obj `if test -f 'libc/machine/aarch64/access.c'; then $(CYGPATH_W) 'libc/machine/aarch64/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/aarch64/access.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/aarch64/access.c' object='libc/machine/aarch64/libc_a-access.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/aarch64/libc_a-access.obj `if test -f 'libc/machine/aarch64/access.c'; then $(CYGPATH_W) 'libc/machine/aarch64/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/aarch64/access.c'; fi` ++ + libc/machine/aarch64/libc_a-memchr-stub.o: libc/machine/aarch64/memchr-stub.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-memchr-stub.o -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Tpo -c -o libc/machine/aarch64/libc_a-memchr-stub.o `test -f 'libc/machine/aarch64/memchr-stub.c' || echo '$(srcdir)/'`libc/machine/aarch64/memchr-stub.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Po +-- +2.20.1 + + +From 4d4c179cea4f0dd8f9968c9f7fb92b0d8f29469a Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Fri, 31 Mar 2023 16:27:11 +0100 +Subject: [PATCH 78/83] devkitARM: enable pthread support + +--- + newlib/libc/include/sys/features.h | 4 +-- + newlib/libc/sys/arm/sys/lock.h | 45 ++++++++++++++++++++++++++++-- + 2 files changed, 45 insertions(+), 4 deletions(-) + +diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h +index 69ac51932..05efc0ab2 100644 +--- a/newlib/libc/include/sys/features.h ++++ b/newlib/libc/include/sys/features.h +@@ -331,7 +331,7 @@ extern "C" { + # define __SSP_FORTIFY_LEVEL 0 + #endif + +-#ifdef __DEVKITA64__ ++//#ifdef __DEVKITA64__ + #define _POSIX_MONOTONIC_CLOCK 200112L + #define _POSIX_TIMERS 1 + #define _POSIX_THREADS 1 +@@ -339,7 +339,7 @@ extern "C" { + #define _POSIX_BARRIERS 200112L + #define _POSIX_READER_WRITER_LOCKS 200112L + #define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 +-#endif ++//#endif + + + /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ +diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h +index a755d6443..1466ae5e3 100644 +--- a/newlib/libc/sys/arm/sys/lock.h ++++ b/newlib/libc/sys/arm/sys/lock.h +@@ -14,6 +14,12 @@ struct __lock_t { + + typedef struct __lock_t _LOCK_RECURSIVE_T; + ++typedef uint32_t _COND_T; + +#ifdef __cplusplus +extern "C" { +#endif + -+struct dirent { -+ ino_t d_ino; -+ unsigned char d_type; -+ char d_name[NAME_MAX+1]; -+}; -+ -+typedef struct { -+ long int position; -+ DIR_ITER* dirData; -+ struct dirent fileData; -+} DIR; -+ -+int closedir(DIR *dirp); -+DIR *opendir(const char *dirname); -+struct dirent *readdir(DIR *dirp); -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -+void rewinddir(DIR *dirp); -+void seekdir(DIR *dirp, long int loc); -+long int telldir(DIR *dirp); -+ -+int scandir(const char *dirp, struct dirent ***namelist, -+int (*filter)(const struct dirent *), -+int (*compar)(const struct dirent **, const struct dirent **)); -+ -+int alphasort(const struct dirent **a, const struct dirent **b); -+ -+/* Convert between stat structure types and directory types. */ -+# define IFTODT(mode) (((mode) & 0170000) >> 12) -+# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) + extern void __libc_lock_init(_LOCK_T *lock); + extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); + extern void __libc_lock_close(_LOCK_T *lock); +@@ -27,11 +33,30 @@ extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); + extern int __libc_lock_try_acquire(_LOCK_T *lock); + extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); + ++/* Returns errno */ ++extern int __libc_cond_init(_COND_T *cond); ++extern int __libc_cond_signal(_COND_T *cond); ++extern int __libc_cond_broadcast(_COND_T *cond); ++extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); ++extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); + +#ifdef __cplusplus +} +#endif + -+#endif // _dirent_h_ -diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h -new file mode 100644 -index 000000000..bd74ccc42 ---- /dev/null -+++ b/newlib/libc/sys/arm/sys/lock.h -@@ -0,0 +1,118 @@ -+#ifndef __SYS_LOCK_H__ -+#define __SYS_LOCK_H__ ++#define __LOCK_INITIALIZER ((_LOCK_T)0) ++#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) ++#define __COND_INITIALIZER ((_COND_T)0) + -+#include <_ansi.h> -+#include + -+typedef int32_t _LOCK_T; + #define __LOCK_INIT(CLASS,NAME) \ +-CLASS _LOCK_T NAME = 0; ++CLASS _LOCK_T NAME = __LOCK_INITIALIZER; + + #define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ +-CLASS _LOCK_RECURSIVE_T NAME = {0,0,0}; ++CLASS _LOCK_RECURSIVE_T NAME = __LOCK_INITIALIZER_RECURSIVE; + -+struct __lock_t { -+ _LOCK_T lock; -+ uint32_t thread_tag; -+ uint32_t counter; -+}; ++#define __COND_INIT(CLASS,NAME) \ ++CLASS _COND_T NAME = __COND_INITIALIZER; + + #define __lock_init(NAME) \ + __libc_lock_init(&(NAME)) +@@ -63,4 +88,20 @@ CLASS _LOCK_RECURSIVE_T NAME = {0,0,0}; + #define __lock_release_recursive(NAME) \ + __libc_lock_release_recursive(&(NAME)) + ++#define __cond_init(NAME) \ ++ __libc_cond_init(&(NAME)) + -+typedef struct __lock_t _LOCK_RECURSIVE_T; ++#define __cond_signal(NAME) \ ++ __libc_cond_signal(&(NAME)) ++ ++#define __cond_broadcast(NAME) \ ++ __libc_cond_broadcast(&(NAME)) ++ ++#define __cond_wait(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait(&(NAME), &(LOCK), (TIMEOUT)) ++ ++#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) + -+typedef uint32_t _COND_T; + + #endif // __SYS_LOCK_H__ +-- +2.20.1 + + +From 69efd14afb5494736bdc6c026d82a78ecca865ca Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Sat, 1 Apr 2023 13:54:34 +0100 +Subject: [PATCH 79/83] Disable _STDIO_WITH_THREAD_CANCELLATION_SUPPORT for all + devkitPro toolchains + +--- + newlib/libc/stdio/local.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h +index 9e4cc6725..f18dc4301 100644 +--- a/newlib/libc/stdio/local.h ++++ b/newlib/libc/stdio/local.h +@@ -56,7 +56,7 @@ + the appropriate _newlib_XXX_exit macro. */ + + #if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS) \ +- && !defined (__rtems__) && !defined (__DEVKITA64__) ++ && !defined (__rtems__) && !defined (__DEVKITPRO__) + #define _STDIO_WITH_THREAD_CANCELLATION_SUPPORT + #endif + +-- +2.20.1 + + +From 68781b6d72c7dead3d65009cb18ccdfe86bc76db Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Sat, 1 Apr 2023 18:29:27 +0100 +Subject: [PATCH 80/83] inline initialisers + +--- + libgloss/libsysbase/syscall_support.c | 26 ----------------------- + newlib/libc/machine/aarch64/sys/lock.h | 29 ++++++++++++++++++-------- + newlib/libc/sys/arm/sys/lock.h | 29 ++++++++++++++++++-------- + 3 files changed, 40 insertions(+), 44 deletions(-) + +diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c +index c73ad2b71..cbabf8b9a 100644 +--- a/libgloss/libsysbase/syscall_support.c ++++ b/libgloss/libsysbase/syscall_support.c +@@ -40,12 +40,6 @@ abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts) + return timespec2nsec(&diff); + } + +-void __libc_lock_init(_LOCK_T *lock) { +- +- *lock = __LOCK_INITIALIZER; +- +-} +- + void __libc_lock_acquire(_LOCK_T *lock ) { + + if ( __has_syscall(lock_acquire) ) { +@@ -69,16 +63,6 @@ void __libc_lock_release(_LOCK_T *lock ) { + } + } + +-void __libc_lock_close(_LOCK_T *lock ) { +- +-} +- +-void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { +- +- *lock = __LOCK_INITIALIZER_RECURSIVE; +- +-} +- + void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { + + if ( __has_syscall(lock_acquire_recursive) ) { +@@ -102,16 +86,6 @@ void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { + } + } + +-void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { +- +-} +- +-int __libc_cond_init(_COND_T *cond) { +- +- *cond = __COND_INITIALIZER; +- +-} +- + int __libc_cond_signal(_COND_T *cond) { + + if ( __has_syscall(cond_signal) ) { +diff --git a/newlib/libc/machine/aarch64/sys/lock.h b/newlib/libc/machine/aarch64/sys/lock.h +index 2c3e64f1b..d1c4aba2a 100644 +--- a/newlib/libc/machine/aarch64/sys/lock.h ++++ b/newlib/libc/machine/aarch64/sys/lock.h +@@ -16,14 +16,26 @@ typedef struct __lock_t _LOCK_RECURSIVE_T; + + typedef uint32_t _COND_T; + +#define __LOCK_INITIALIZER ((_LOCK_T)0) +#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) +#define __COND_INITIALIZER ((_COND_T)0) + -+#ifdef __cplusplus -+extern "C" { -+#endif -+ + #ifdef __cplusplus + extern "C" { + #endif + +-extern void __libc_lock_init(_LOCK_T *lock); +-extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); +-extern void __libc_lock_close(_LOCK_T *lock); +-extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); +static inline void __libc_lock_init(_LOCK_T *lock) { + *lock = __LOCK_INITIALIZER; +} @@ -12391,83 +15454,176 @@ index 000000000..bd74ccc42 + +static inline void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) {} + -+extern void __libc_lock_acquire(_LOCK_T *lock); -+extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_release(_LOCK_T *lock); -+extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); -+ -+/* Returns 0 for success and non-zero for failure */ -+extern int __libc_lock_try_acquire(_LOCK_T *lock); -+extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+ -+/* Returns errno */ + extern void __libc_lock_acquire(_LOCK_T *lock); + extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); + extern void __libc_lock_release(_LOCK_T *lock); +@@ -34,7 +46,10 @@ extern int __libc_lock_try_acquire(_LOCK_T *lock); + extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); + + /* Returns errno */ +-extern int __libc_cond_init(_COND_T *cond); +static inline int __libc_cond_init(_COND_T *cond) { + *cond = __COND_INITIALIZER; +} + -+extern int __libc_cond_signal(_COND_T *cond); -+extern int __libc_cond_broadcast(_COND_T *cond); -+extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); -+extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); + extern int __libc_cond_signal(_COND_T *cond); + extern int __libc_cond_broadcast(_COND_T *cond); + extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); +@@ -44,10 +59,6 @@ extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, ui + } + #endif + +-#define __LOCK_INITIALIZER ((_LOCK_T)0) +-#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) +-#define __COND_INITIALIZER ((_COND_T)0) +- + #define __LOCK_INIT(CLASS,NAME) \ + CLASS _LOCK_T NAME = __LOCK_INITIALIZER; + +diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h +index 1466ae5e3..bd74ccc42 100644 +--- a/newlib/libc/sys/arm/sys/lock.h ++++ b/newlib/libc/sys/arm/sys/lock.h +@@ -16,14 +16,26 @@ typedef struct __lock_t _LOCK_RECURSIVE_T; + + typedef uint32_t _COND_T; + ++#define __LOCK_INITIALIZER ((_LOCK_T)0) ++#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) ++#define __COND_INITIALIZER ((_COND_T)0) + -+#ifdef __cplusplus + #ifdef __cplusplus + extern "C" { + #endif + +-extern void __libc_lock_init(_LOCK_T *lock); +-extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); +-extern void __libc_lock_close(_LOCK_T *lock); +-extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); ++static inline void __libc_lock_init(_LOCK_T *lock) { ++ *lock = __LOCK_INITIALIZER; +} -+#endif -+ -+ -+#define __LOCK_INIT(CLASS,NAME) \ -+CLASS _LOCK_T NAME = __LOCK_INITIALIZER; -+ -+#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ -+CLASS _LOCK_RECURSIVE_T NAME = __LOCK_INITIALIZER_RECURSIVE; -+ -+#define __COND_INIT(CLASS,NAME) \ -+CLASS _COND_T NAME = __COND_INITIALIZER; -+ -+#define __lock_init(NAME) \ -+ __libc_lock_init(&(NAME)) -+ -+#define __lock_init_recursive(NAME) \ -+ __libc_lock_init_recursive(&(NAME)) -+ -+#define __lock_close(NAME) \ -+ __libc_lock_close(&(NAME)) -+ -+#define __lock_close_recursive(NAME) \ -+ __libc_lock_close_recursive(&(NAME)) -+ -+#define __lock_acquire(NAME) \ -+ __libc_lock_acquire(&(NAME)) -+ -+#define __lock_acquire_recursive(NAME) \ -+ __libc_lock_acquire_recursive(&(NAME)) -+ -+#define __lock_try_acquire(NAME) \ -+ __libc_lock_try_acquire(&(NAME)) -+ -+#define __lock_try_acquire_recursive(NAME) \ -+ __libc_lock_try_acquire_recursive(&(NAME)) -+ -+#define __lock_release(NAME) \ -+ __libc_lock_release(&(NAME)) -+ -+#define __lock_release_recursive(NAME) \ -+ __libc_lock_release_recursive(&(NAME)) + -+#define __cond_init(NAME) \ -+ __libc_cond_init(&(NAME)) ++static inline void __libc_lock_close(_LOCK_T *lock ) {} + -+#define __cond_signal(NAME) \ -+ __libc_cond_signal(&(NAME)) ++static inline void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { ++ *lock = __LOCK_INITIALIZER_RECURSIVE; ++} + -+#define __cond_broadcast(NAME) \ -+ __libc_cond_broadcast(&(NAME)) ++static inline void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) {} + -+#define __cond_wait(NAME, LOCK, TIMEOUT) \ -+ __libc_cond_wait(&(NAME), &(LOCK), (TIMEOUT)) + extern void __libc_lock_acquire(_LOCK_T *lock); + extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); + extern void __libc_lock_release(_LOCK_T *lock); +@@ -34,7 +46,10 @@ extern int __libc_lock_try_acquire(_LOCK_T *lock); + extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); + + /* Returns errno */ +-extern int __libc_cond_init(_COND_T *cond); ++static inline int __libc_cond_init(_COND_T *cond) { ++ *cond = __COND_INITIALIZER; ++} + -+#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ -+ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) + extern int __libc_cond_signal(_COND_T *cond); + extern int __libc_cond_broadcast(_COND_T *cond); + extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); +@@ -44,10 +59,6 @@ extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, ui + } + #endif + +-#define __LOCK_INITIALIZER ((_LOCK_T)0) +-#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) +-#define __COND_INITIALIZER ((_COND_T)0) +- + + #define __LOCK_INIT(CLASS,NAME) \ + CLASS _LOCK_T NAME = __LOCK_INITIALIZER; +-- +2.20.1 + + +From c561f356fc324a25951b3c3b1f75edc3811459c4 Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Sat, 29 Apr 2023 15:19:11 +0100 +Subject: [PATCH 81/83] prevent hard dependency on findfp + +--- + newlib/libc/stdlib/exit.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/newlib/libc/stdlib/exit.c b/newlib/libc/stdlib/exit.c +index 9b7bd518b..f0e33bbc1 100644 +--- a/newlib/libc/stdlib/exit.c ++++ b/newlib/libc/stdlib/exit.c +@@ -45,6 +45,16 @@ Supporting OS subroutines required: <<_exit>>. + #include + #include "atexit.h" + ++// exit calls this handler; avoid a hard dependency on findfp by providing a weak global ++void (*__stdio_exit_handler)(void) __attribute__((weak)); + ++// exit calls this function; avoid a hard dependency on atexit by providing a simple weak implementation ++__attribute__((weak)) void __call_exitprocs(int rc, void* dso) ++{ ++ extern void __libc_fini_array(void); ++ __libc_fini_array(); ++} + -+#endif // __SYS_LOCK_H__ + /* + * Exit, flushing stdio buffers if necessary. + */ +-- +2.20.1 + + +From 81fe84d83cf46261affd47ecf40e8d3dedf66aee Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Sat, 17 Jun 2023 12:00:13 +0100 +Subject: [PATCH 82/83] devkitA64 needs GETREENT_PROVIDED + +--- + newlib/configure.host | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/newlib/configure.host b/newlib/configure.host +index 66ccbec57..3a8be32ff 100644 +--- a/newlib/configure.host ++++ b/newlib/configure.host +@@ -623,7 +623,7 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" + default_newlib_io_pos_args="yes" +- newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" + newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls + ;; +-- +2.20.1 + + +From e1721a71d746d29a2a0f716decd4151b9383c79d Mon Sep 17 00:00:00 2001 +From: Dave Murphy +Date: Sat, 17 Jun 2023 12:08:41 +0100 +Subject: [PATCH 83/83] fix fpathconf_r prototype + +--- + newlib/libc/include/sys/iosupport.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h +index 8318fda68..335014a4b 100644 +--- a/newlib/libc/include/sys/iosupport.h ++++ b/newlib/libc/include/sys/iosupport.h +@@ -67,7 +67,7 @@ typedef struct { + int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); + int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); + +- long (*fpathconf_r)(struct _reent *r, int fd, int name); ++ long (*fpathconf_r)(struct _reent *r, void *fd, int name); + long (*pathconf_r)(struct _reent *r, const char *path, int name); + + int (*symlink_r)(struct _reent *r, const char *target, const char *linkpath); +-- +2.20.1 + diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index d86d938..1a68a86 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -62,7 +62,7 @@ then --enable-lto \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 22" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 22.1" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ From 9332465b06645a5ab1d4d5516a52a134c0c32bd0 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 4 Aug 2023 15:49:21 +0100 Subject: [PATCH 227/280] devkitARM: remove old patches --- dkarm-eabi/patches/gcc-12.2.0.patch | 370 ------------------ .../patches/gcc-13.1.0-RC2-20230419.patch | 340 ---------------- 2 files changed, 710 deletions(-) delete mode 100644 dkarm-eabi/patches/gcc-12.2.0.patch delete mode 100644 dkarm-eabi/patches/gcc-13.1.0-RC2-20230419.patch diff --git a/dkarm-eabi/patches/gcc-12.2.0.patch b/dkarm-eabi/patches/gcc-12.2.0.patch deleted file mode 100644 index 26a5996..0000000 --- a/dkarm-eabi/patches/gcc-12.2.0.patch +++ /dev/null @@ -1,370 +0,0 @@ -diff --git a/gcc/config.gcc b/gcc/config.gcc -index c5064dd3766..b244608f001 100644 ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -1366,6 +1366,11 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems* | arm*-*-fuchsia*) - tm_file="$tm_file newlib-stdint.h" - tmake_file="${tmake_file} arm/t-bpabi" - use_gcc_stdint=wrap -+ tm_file="${tm_file} devkitpro.h" -+ extra_options="${extra_options} devkitpro.opt" -+ case ${enable_threads} in -+ "" | yes | posix) thread_file='posix' ;; -+ esac - ;; - arm*-*-fuchsia*) - tm_file="${tm_file} fuchsia.h arm/fuchsia-elf.h glibc-stdint.h" -diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in -index 0d3082b569f..15be7fc47b3 100644 ---- a/gcc/config/arm/arm-cpus.in -+++ b/gcc/config/arm/arm-cpus.in -@@ -412,7 +412,7 @@ begin arch armv6k - tune for mpcore - tune flags CO_PROC - base 6K -- isa ARMv6k -+ isa ARMv6k VFPv2 FP_DBL - option fp add VFPv2 FP_DBL - optalias vfpv2 fp - option nofp remove ALL_FP -diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf -index 1459afea921..72e1d20861d 100644 ---- a/gcc/config/arm/t-arm-elf -+++ b/gcc/config/arm/t-arm-elf -@@ -16,120 +16,22 @@ - # along with GCC; see the file COPYING3. If not see - # . - --# Build a very basic set of libraries that should cater for most cases. -- --# Single-precision floating-point is NOT supported; we don't build a --# suitable library for that. Use the rm-profile config in that case. -- --# PART 1 - Useful groups of options -- --dp_fpus := vfp vfpv2 vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16 \ -- neon neon-vfpv3 neon-fp16 vfpv4 neon-vfpv4 vfpv4-d16 \ -- fpv5-d16 fp-armv8 neon-fp-armv8 crypto-neon-fp-armv8 \ -- vfp3 -- --sp_fpus := vfpv3xd vfpv3xd-fp16 fpv4-sp-d16 fpv5-sp-d16 -- --v7a_fps := vfpv3 vfpv3-fp16 vfpv4 simd neon-fp16 neon-vfpv4 --v7ve_fps := vfpv3-d16 vfpv3 vfpv3-d16-fp16 vfpv3-fp16 vfpv4 neon \ -- neon-fp16 simd -- --# Not all these permutations exist for all architecture variants, but --# it seems to work ok. --v8_fps := simd fp16 crypto fp16+crypto dotprod fp16fml -- --v9_fps := simd fp16 crypto fp16+crypto dotprod fp16fml -- --# We don't do anything special with these. Pre-v4t probably doesn't work. --all_early_nofp := armv4 armv4t armv5t -- --all_early_arch := armv5tej armv6 armv6j armv6k armv6z armv6kz \ -- armv6zk armv6t2 iwmmxt iwmmxt2 -- --all_v7_a_r := armv7-a armv7ve armv7-r -- --all_v8_archs := armv8-a armv8-a+crc armv8.1-a armv8.2-a armv8.3-a armv8.4-a \ -- armv8.5-a armv8.6-a -- --all_v9_archs := armv9-a -- --# No floating point variants, require thumb1 softfp --all_nofp_t := armv6-m armv6s-m armv8-m.base -- --all_nofp_t2 := armv7-m -- --all_sp_only := armv7e-m armv8-m.main -- --MULTILIB_OPTIONS = --MULTILIB_DIRNAMES = -+MULTILIB_OPTIONS = mthumb mbig-endian march=armv6k march=armv6s-m mfloat-abi=hard mfloat-abi=soft -+MULTILIB_DIRNAMES = thumb be armv6k v6-m fpu nofp - MULTILIB_EXCEPTIONS = - MULTILIB_MATCHES = --MULTILIB_REUSE = -- --# PART 2 - multilib build rules -- --MULTILIB_OPTIONS += marm/mthumb --MULTILIB_DIRNAMES += arm thumb -- --MULTILIB_OPTIONS += mfpu=auto --MULTILIB_DIRNAMES += autofp -- --MULTILIB_OPTIONS += march=armv5te+fp/march=armv7+fp --MULTILIB_DIRNAMES += v5te v7 -- --MULTILIB_OPTIONS += mfloat-abi=hard --MULTILIB_DIRNAMES += fpu -- --# Build a total of 4 library variants (base options plus the following): --MULTILIB_REQUIRED += mthumb --MULTILIB_REQUIRED += marm/mfpu=auto/march=armv5te+fp/mfloat-abi=hard --MULTILIB_REQUIRED += mthumb/mfpu=auto/march=armv7+fp/mfloat-abi=hard -- --# PART 3 - Match rules -- --# Map all supported FPUs onto mfpu=auto --MULTILIB_MATCHES += $(foreach FPU, $(dp_fpus), \ -- mfpu?auto=mfpu?$(FPU)) -- --MULTILIB_MATCHES += march?armv5te+fp=march?armv5te -- --MULTILIB_MATCHES += $(foreach ARCH, $(all_early_arch), \ -- march?armv5te+fp=march?$(ARCH) \ -- march?armv5te+fp=march?$(ARCH)+fp) -- --MULTILIB_MATCHES += march?armv7+fp=march?armv7 -- --MULTILIB_MATCHES += $(foreach FPARCH, $(v7a_fps), \ -- march?armv7+fp=march?armv7-a+$(FPARCH)) -- --MULTILIB_MATCHES += $(foreach FPARCH, $(v7ve_fps), \ -- march?armv7+fp=march?armv7ve+$(FPARCH)) -- --MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \ -- march?armv7+fp=march?$(ARCH) \ -- march?armv7+fp=march?$(ARCH)+fp) - --MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \ -- march?armv7+fp=march?$(ARCH) \ -- $(foreach FPARCH, $(v8_fps), \ -- march?armv7+fp=march?$(ARCH)+$(FPARCH))) -+MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard mthumb/march=armv6s-m/mfloat-abi=soft - --MULTILIB_MATCHES += $(foreach ARCH, $(all_v9_archs), \ -- march?armv7+fp=march?$(ARCH) \ -- $(foreach FPARCH, $(v9_fps), \ -- march?armv7+fp=march?$(ARCH)+$(FPARCH))) - --MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \ -- march?armv7+fp=march?$(ARCH)+fp.dp) -+MULTILIB_MATCHES += march?armv6k=mtune?mpcore -+MULTILIB_MATCHES += march?armv6k=mcpu?mpcore - --# PART 4 - Reuse rules -+MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m0 -+MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m0 -+MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m0plus -+MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m0plus -+MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m1 -+MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m1 - --MULTILIB_REUSE += mthumb=mthumb/mfpu.auto --MULTILIB_REUSE += mthumb=mthumb/mfpu.auto/march.armv5te+fp --MULTILIB_REUSE += mthumb=mthumb/march.armv5te+fp --MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=marm/march.armv5te+fp/mfloat-abi.hard --MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=march.armv5te+fp/mfloat-abi.hard --MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=mfpu.auto/march.armv5te+fp/mfloat-abi.hard --MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard --MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard --MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard -+MULTILIB_REUSE = mthumb/march.armv6s-m/mfloat-abi.soft=mthumb/march.armv6s-m -diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h -index bfb294beaa3..7e2e1c7bbbe 100644 ---- a/gcc/config/arm/unknown-elf.h -+++ b/gcc/config/arm/unknown-elf.h -@@ -29,7 +29,7 @@ - #endif - - /* Now we define the strings used to build the spec file. */ --#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" -+#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s" - - #undef STARTFILE_SPEC - #define STARTFILE_SPEC \ -@@ -93,4 +93,5 @@ - udivmoddi4, which will depend on the exception unwind routines, - which will depend on abort, which is defined in libc. */ - #undef LINK_GCC_C_SEQUENCE_SPEC --#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %{!nolibc:%L} --end-group" -+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" -+ -diff --git a/gcc/config/devkitpro.h b/gcc/config/devkitpro.h -new file mode 100644 -index 00000000000..180a9ea8553 ---- /dev/null -+++ b/gcc/config/devkitpro.h -@@ -0,0 +1,27 @@ -+/* Definitions for devkitPro toolchains. -+ Copyright (C) 2016-2018 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. -+ 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 -+ . */ -+ -+#undef TARGET_OS_CPP_BUILTINS -+#define TARGET_OS_CPP_BUILTINS() \ -+ do { \ -+ builtin_define ("__DEVKITPRO__"); \ -+ builtin_define ("__DEVKITARM__"); \ -+ } while (0) -+ -+ -diff --git a/gcc/config/devkitpro.opt b/gcc/config/devkitpro.opt -new file mode 100644 -index 00000000000..9acbbf9d27c ---- /dev/null -+++ b/gcc/config/devkitpro.opt -@@ -0,0 +1,29 @@ -+; Options for devkitPro toolchains. -+ -+; Copyright (C) 2011-2018 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 the GCC internals manual (options.texi) for a description of -+; this file's format. -+ -+; Please try to keep this file in ASCII collating order. -+ -+pthread -+Driver -+ -+; This comment is to ensure we retain the blank line above. -diff --git a/gcc/config/i386/host-mingw32.cc b/gcc/config/i386/host-mingw32.cc -index 3b0d83ffc60..6e063b6ccd0 100644 ---- a/gcc/config/i386/host-mingw32.cc -+++ b/gcc/config/i386/host-mingw32.cc -@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void); - static inline void w32_error(const char*, const char*, int, const char*); - - /* FIXME: Is this big enough? */ -+#if __MINGW64__ -+static const size_t pch_VA_max_size = UINT64_C(64 * 1024 * 1024 * 1024); -+#else - static const size_t pch_VA_max_size = 128 * 1024 * 1024; -+#endif - - /* Granularity for reserving address space. */ - static size_t va_granularity = 0x10000; -diff --git a/gcc/gcc.cc b/gcc/gcc.cc -index bb07cc244e3..eff31f5093d 100644 ---- a/gcc/gcc.cc -+++ b/gcc/gcc.cc -@@ -860,6 +860,11 @@ proper position among the other output files. */ - #endif - #endif - -+#ifndef LIBGLOSS_SPEC -+# define LIBGLOSS_SPEC "-lsysbase" -+#endif -+ -+ - /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ - #ifndef STARTFILE_SPEC - #define STARTFILE_SPEC \ -@@ -1204,6 +1209,7 @@ static const char *link_spec = LINK_SPEC; - static const char *lib_spec = LIB_SPEC; - static const char *link_gomp_spec = ""; - static const char *libgcc_spec = LIBGCC_SPEC; -+static const char *libgloss_spec = LIBGLOSS_SPEC; - static const char *endfile_spec = ENDFILE_SPEC; - static const char *startfile_spec = STARTFILE_SPEC; - static const char *linker_name_spec = LINKER_NAME; -@@ -1709,6 +1715,7 @@ static struct spec_list static_specs[] = - INIT_STATIC_SPEC ("lib", &lib_spec), - INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), - INIT_STATIC_SPEC ("libgcc", &libgcc_spec), -+ INIT_STATIC_SPEC ("libgloss", &libgloss_spec), - INIT_STATIC_SPEC ("startfile", &startfile_spec), - INIT_STATIC_SPEC ("cross_compile", &cross_compile), - INIT_STATIC_SPEC ("version", &compiler_version), -diff --git a/libgcc/config/arm/t-bpabi b/libgcc/config/arm/t-bpabi -index dddddc7c444..c2502597953 100644 ---- a/libgcc/config/arm/t-bpabi -+++ b/libgcc/config/arm/t-bpabi -@@ -17,4 +17,4 @@ SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver - # On ARM, specifying -fnon-call-exceptions will needlessly pull in - # the unwinder in simple programs which use 64-bit division. Omitting - # the option is safe. --LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions -+LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index b98b86a5a88..3f62b3616d2 100644 ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -325,7 +325,7 @@ register_tm_clones (void) - - #ifdef OBJECT_FORMAT_ELF - --#if DEFAULT_USE_CXA_ATEXIT -+#if 1 /* DEFAULT_USE_CXA_ATEXIT */ - /* Declare the __dso_handle variable. It should have a unique value - in every shared-object; in a main program its value is zero. The - object should in any case be protected. This means the instance -diff --git a/libgcc/gthr.h b/libgcc/gthr.h -index 7943c94f6d1..1edc5360f6a 100644 ---- a/libgcc/gthr.h -+++ b/libgcc/gthr.h -@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - /* The pe-coff weak support isn't fully compatible to ELF's weak. - For static libraries it might would work, but as we need to deal - with shared versions too, we disable it for mingw-targets. */ --#ifdef __MINGW32__ -+#ifdef __MINGW32__ || defined(__DEVKITARM__) - #undef GTHREAD_USE_WEAK - #define GTHREAD_USE_WEAK 0 - #endif -diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am -index 7708f4cf6c5..01743392303 100644 ---- a/libstdc++-v3/include/Makefile.am -+++ b/libstdc++-v3/include/Makefile.am -@@ -1366,6 +1366,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} - -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ - -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ - -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ -+ -e 's/_GLIBCXX___DEVKITARM_GLIBCXX___/__DEVKITARM__/g' \ - -e 's,^#include "\(.*\)",#include ,g' \ - < $< > $@ - -diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in -index 7023c2de23e..33bec80c2ce 100644 ---- a/libstdc++-v3/include/Makefile.in -+++ b/libstdc++-v3/include/Makefile.in -@@ -336,6 +336,7 @@ prefix = @prefix@ - program_transform_name = @program_transform_name@ - psdir = @psdir@ - python_mod_dir = @python_mod_dir@ -+runstatedir = @runstatedir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ - srcdir = @srcdir@ -@@ -1857,6 +1858,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} - -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ - -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ - -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ -+ -e 's/_GLIBCXX___DEVKITARM_GLIBCXX___/__DEVKITARM__/g' \ - -e 's,^#include "\(.*\)",#include ,g' \ - < $< > $@ - diff --git a/dkarm-eabi/patches/gcc-13.1.0-RC2-20230419.patch b/dkarm-eabi/patches/gcc-13.1.0-RC2-20230419.patch deleted file mode 100644 index 18e2630..0000000 --- a/dkarm-eabi/patches/gcc-13.1.0-RC2-20230419.patch +++ /dev/null @@ -1,340 +0,0 @@ -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/arm/arm-cpus.in gcc-13.1.0-RC2-20230419/gcc/config/arm/arm-cpus.in ---- gcc-13.1.0-RC2-20230419.orig/gcc/config/arm/arm-cpus.in 2023-04-19 13:53:45.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config/arm/arm-cpus.in 2023-04-26 21:53:20.092320569 +0100 -@@ -416,7 +416,7 @@ - tune for mpcore - tune flags CO_PROC - base 6K -- isa ARMv6k -+ isa ARMv6k VFPv2 FP_DBL - option fp add VFPv2 FP_DBL - optalias vfpv2 fp - option nofp remove ALL_FP -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/arm/t-arm-elf gcc-13.1.0-RC2-20230419/gcc/config/arm/t-arm-elf ---- gcc-13.1.0-RC2-20230419.orig/gcc/config/arm/t-arm-elf 2023-04-19 13:53:45.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config/arm/t-arm-elf 2023-04-26 21:53:20.092320569 +0100 -@@ -16,120 +16,22 @@ - # along with GCC; see the file COPYING3. If not see - # . - --# Build a very basic set of libraries that should cater for most cases. -- --# Single-precision floating-point is NOT supported; we don't build a --# suitable library for that. Use the rm-profile config in that case. -- --# PART 1 - Useful groups of options -- --dp_fpus := vfp vfpv2 vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16 \ -- neon neon-vfpv3 neon-fp16 vfpv4 neon-vfpv4 vfpv4-d16 \ -- fpv5-d16 fp-armv8 neon-fp-armv8 crypto-neon-fp-armv8 \ -- vfp3 -- --sp_fpus := vfpv3xd vfpv3xd-fp16 fpv4-sp-d16 fpv5-sp-d16 -- --v7a_fps := vfpv3 vfpv3-fp16 vfpv4 simd neon-fp16 neon-vfpv4 --v7ve_fps := vfpv3-d16 vfpv3 vfpv3-d16-fp16 vfpv3-fp16 vfpv4 neon \ -- neon-fp16 simd -- --# Not all these permutations exist for all architecture variants, but --# it seems to work ok. --v8_fps := simd fp16 crypto fp16+crypto dotprod fp16fml -- --v9_fps := simd fp16 crypto fp16+crypto dotprod fp16fml -- --# We don't do anything special with these. Pre-v4t probably doesn't work. --all_early_nofp := armv4 armv4t armv5t -- --all_early_arch := armv5tej armv6 armv6j armv6k armv6z armv6kz \ -- armv6zk armv6t2 iwmmxt iwmmxt2 -- --all_v7_a_r := armv7-a armv7ve armv7-r -- --all_v8_archs := armv8-a armv8-a+crc armv8.1-a armv8.2-a armv8.3-a armv8.4-a \ -- armv8.5-a armv8.6-a -- --all_v9_archs := armv9-a -- --# No floating point variants, require thumb1 softfp --all_nofp_t := armv6-m armv6s-m armv8-m.base -- --all_nofp_t2 := armv7-m -- --all_sp_only := armv7e-m armv8-m.main -- --MULTILIB_OPTIONS = --MULTILIB_DIRNAMES = -+MULTILIB_OPTIONS = mthumb mbig-endian march=armv6k march=armv6s-m mfloat-abi=hard mfloat-abi=soft -+MULTILIB_DIRNAMES = thumb be armv6k v6-m fpu nofp - MULTILIB_EXCEPTIONS = - MULTILIB_MATCHES = --MULTILIB_REUSE = -- --# PART 2 - multilib build rules -- --MULTILIB_OPTIONS += marm/mthumb --MULTILIB_DIRNAMES += arm thumb -- --MULTILIB_OPTIONS += mfpu=auto --MULTILIB_DIRNAMES += autofp -- --MULTILIB_OPTIONS += march=armv5te+fp/march=armv7+fp --MULTILIB_DIRNAMES += v5te v7 -- --MULTILIB_OPTIONS += mfloat-abi=hard --MULTILIB_DIRNAMES += fpu -- --# Build a total of 4 library variants (base options plus the following): --MULTILIB_REQUIRED += mthumb --MULTILIB_REQUIRED += marm/mfpu=auto/march=armv5te+fp/mfloat-abi=hard --MULTILIB_REQUIRED += mthumb/mfpu=auto/march=armv7+fp/mfloat-abi=hard -- --# PART 3 - Match rules -- --# Map all supported FPUs onto mfpu=auto --MULTILIB_MATCHES += $(foreach FPU, $(dp_fpus), \ -- mfpu?auto=mfpu?$(FPU)) -- --MULTILIB_MATCHES += march?armv5te+fp=march?armv5te -- --MULTILIB_MATCHES += $(foreach ARCH, $(all_early_arch), \ -- march?armv5te+fp=march?$(ARCH) \ -- march?armv5te+fp=march?$(ARCH)+fp) -- --MULTILIB_MATCHES += march?armv7+fp=march?armv7 -- --MULTILIB_MATCHES += $(foreach FPARCH, $(v7a_fps), \ -- march?armv7+fp=march?armv7-a+$(FPARCH)) -- --MULTILIB_MATCHES += $(foreach FPARCH, $(v7ve_fps), \ -- march?armv7+fp=march?armv7ve+$(FPARCH)) -- --MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \ -- march?armv7+fp=march?$(ARCH) \ -- march?armv7+fp=march?$(ARCH)+fp) - --MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \ -- march?armv7+fp=march?$(ARCH) \ -- $(foreach FPARCH, $(v8_fps), \ -- march?armv7+fp=march?$(ARCH)+$(FPARCH))) -+MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard mthumb/march=armv6s-m/mfloat-abi=soft - --MULTILIB_MATCHES += $(foreach ARCH, $(all_v9_archs), \ -- march?armv7+fp=march?$(ARCH) \ -- $(foreach FPARCH, $(v9_fps), \ -- march?armv7+fp=march?$(ARCH)+$(FPARCH))) - --MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \ -- march?armv7+fp=march?$(ARCH)+fp.dp) -+MULTILIB_MATCHES += march?armv6k=mtune?mpcore -+MULTILIB_MATCHES += march?armv6k=mcpu?mpcore - --# PART 4 - Reuse rules -+MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m0 -+MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m0 -+MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m0plus -+MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m0plus -+MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m1 -+MULTILIB_MATCHES += march?armv6s-m=mtune?cortex-m1 - --MULTILIB_REUSE += mthumb=mthumb/mfpu.auto --MULTILIB_REUSE += mthumb=mthumb/mfpu.auto/march.armv5te+fp --MULTILIB_REUSE += mthumb=mthumb/march.armv5te+fp --MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=marm/march.armv5te+fp/mfloat-abi.hard --MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=march.armv5te+fp/mfloat-abi.hard --MULTILIB_REUSE += marm/mfpu.auto/march.armv5te+fp/mfloat-abi.hard=mfpu.auto/march.armv5te+fp/mfloat-abi.hard --MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard --MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard --MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard -+MULTILIB_REUSE = mthumb/march.armv6s-m/mfloat-abi.soft=mthumb/march.armv6s-m -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/arm/unknown-elf.h gcc-13.1.0-RC2-20230419/gcc/config/arm/unknown-elf.h ---- gcc-13.1.0-RC2-20230419.orig/gcc/config/arm/unknown-elf.h 2023-04-19 13:53:45.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config/arm/unknown-elf.h 2023-04-26 21:53:20.092320569 +0100 -@@ -29,7 +29,7 @@ - #endif - - /* Now we define the strings used to build the spec file. */ --#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" -+#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s" - - #undef STARTFILE_SPEC - #define STARTFILE_SPEC \ -@@ -93,4 +93,5 @@ - udivmoddi4, which will depend on the exception unwind routines, - which will depend on abort, which is defined in libc. */ - #undef LINK_GCC_C_SEQUENCE_SPEC --#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %{!nolibc:%L} --end-group" -+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" -+ -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.h gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.h ---- gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.h 1970-01-01 01:00:00.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.h 2023-04-26 21:53:20.092320569 +0100 -@@ -0,0 +1,27 @@ -+/* Definitions for devkitPro toolchains. -+ Copyright (C) 2016-2018 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. -+ 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 -+ . */ -+ -+#undef TARGET_OS_CPP_BUILTINS -+#define TARGET_OS_CPP_BUILTINS() \ -+ do { \ -+ builtin_define ("__DEVKITPRO__"); \ -+ builtin_define ("__DEVKITARM__"); \ -+ } while (0) -+ -+ -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.opt gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.opt ---- gcc-13.1.0-RC2-20230419.orig/gcc/config/devkitpro.opt 1970-01-01 01:00:00.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config/devkitpro.opt 2023-04-26 21:53:20.092320569 +0100 -@@ -0,0 +1,29 @@ -+; Options for devkitPro toolchains. -+ -+; Copyright (C) 2011-2018 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 the GCC internals manual (options.texi) for a description of -+; this file's format. -+ -+; Please try to keep this file in ASCII collating order. -+ -+pthread -+Driver -+ -+; This comment is to ensure we retain the blank line above. -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/config.gcc gcc-13.1.0-RC2-20230419/gcc/config.gcc ---- gcc-13.1.0-RC2-20230419.orig/gcc/config.gcc 2023-04-19 13:53:45.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/config.gcc 2023-04-26 21:53:20.092320569 +0100 -@@ -1412,6 +1412,11 @@ - tm_file="$tm_file newlib-stdint.h" - tmake_file="${tmake_file} arm/t-bpabi" - use_gcc_stdint=wrap -+ tm_file="${tm_file} devkitpro.h" -+ extra_options="${extra_options} devkitpro.opt" -+ case ${enable_threads} in -+ "" | yes | posix) thread_file='posix' ;; -+ esac - ;; - arm*-*-fuchsia*) - tm_file="${tm_file} fuchsia.h arm/fuchsia-elf.h glibc-stdint.h" -diff -NBaur gcc-13.1.0-RC2-20230419.orig/gcc/gcc.cc gcc-13.1.0-RC2-20230419/gcc/gcc.cc ---- gcc-13.1.0-RC2-20230419.orig/gcc/gcc.cc 2023-04-19 13:53:46.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/gcc/gcc.cc 2023-04-26 21:53:20.092320569 +0100 -@@ -868,6 +868,11 @@ - #endif - #endif - -+#ifndef LIBGLOSS_SPEC -+# define LIBGLOSS_SPEC "-lsysbase" -+#endif -+ -+ - /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ - #ifndef STARTFILE_SPEC - #define STARTFILE_SPEC \ -@@ -1191,6 +1196,7 @@ - static const char *lib_spec = LIB_SPEC; - static const char *link_gomp_spec = ""; - static const char *libgcc_spec = LIBGCC_SPEC; -+static const char *libgloss_spec = LIBGLOSS_SPEC; - static const char *endfile_spec = ENDFILE_SPEC; - static const char *startfile_spec = STARTFILE_SPEC; - static const char *linker_name_spec = LINKER_NAME; -@@ -1701,6 +1707,7 @@ - INIT_STATIC_SPEC ("lib", &lib_spec), - INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), - INIT_STATIC_SPEC ("libgcc", &libgcc_spec), -+ INIT_STATIC_SPEC ("libgloss", &libgloss_spec), - INIT_STATIC_SPEC ("startfile", &startfile_spec), - INIT_STATIC_SPEC ("cross_compile", &cross_compile), - INIT_STATIC_SPEC ("version", &compiler_version), -diff -NBaur gcc-13.1.0-RC2-20230419.orig/libgcc/config/arm/t-bpabi gcc-13.1.0-RC2-20230419/libgcc/config/arm/t-bpabi ---- gcc-13.1.0-RC2-20230419.orig/libgcc/config/arm/t-bpabi 2023-04-19 13:53:49.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/libgcc/config/arm/t-bpabi 2023-04-26 21:53:20.092320569 +0100 -@@ -17,4 +17,4 @@ - # On ARM, specifying -fnon-call-exceptions will needlessly pull in - # the unwinder in simple programs which use 64-bit division. Omitting - # the option is safe. --LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions -+LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -diff -NBaur gcc-13.1.0-RC2-20230419.orig/libgcc/crtstuff.c gcc-13.1.0-RC2-20230419/libgcc/crtstuff.c ---- gcc-13.1.0-RC2-20230419.orig/libgcc/crtstuff.c 2023-04-19 13:53:49.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/libgcc/crtstuff.c 2023-04-26 21:53:20.092320569 +0100 -@@ -326,7 +326,7 @@ - - #ifdef OBJECT_FORMAT_ELF - --#if DEFAULT_USE_CXA_ATEXIT -+#if 1 /* DEFAULT_USE_CXA_ATEXIT */ - /* Declare the __dso_handle variable. It should have a unique value - in every shared-object; in a main program its value is zero. The - object should in any case be protected. This means the instance -diff -NBaur gcc-13.1.0-RC2-20230419.orig/libgcc/gthr.h gcc-13.1.0-RC2-20230419/libgcc/gthr.h ---- gcc-13.1.0-RC2-20230419.orig/libgcc/gthr.h 2023-04-19 13:53:49.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/libgcc/gthr.h 2023-04-26 21:53:20.092320569 +0100 -@@ -136,7 +136,7 @@ - /* The pe-coff weak support isn't fully compatible to ELF's weak. - For static libraries it might would work, but as we need to deal - with shared versions too, we disable it for mingw-targets. */ --#ifdef __MINGW32__ -+#ifdef __MINGW32__ || defined(__DEVKITARM__) - #undef GTHREAD_USE_WEAK - #define GTHREAD_USE_WEAK 0 - #endif -diff -NBaur gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.am gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.am ---- gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.am 2023-04-19 13:53:50.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.am 2023-04-26 21:53:20.092320569 +0100 -@@ -1417,6 +1417,7 @@ - -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ - -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ - -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ -+ -e 's/_GLIBCXX___DEVKITARM_GLIBCXX___/__DEVKITARM__/g' \ - -e 's,^#include "\(.*\)",#include ,g' \ - < $< > $@ - -diff -NBaur gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.in gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.in ---- gcc-13.1.0-RC2-20230419.orig/libstdc++-v3/include/Makefile.in 2023-04-19 13:53:50.000000000 +0100 -+++ gcc-13.1.0-RC2-20230419/libstdc++-v3/include/Makefile.in 2023-04-26 21:53:20.092320569 +0100 -@@ -336,6 +336,7 @@ - program_transform_name = @program_transform_name@ - psdir = @psdir@ - python_mod_dir = @python_mod_dir@ -+runstatedir = @runstatedir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ - srcdir = @srcdir@ -@@ -1891,6 +1892,7 @@ - -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ - -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ - -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ -+ -e 's/_GLIBCXX___DEVKITARM_GLIBCXX___/__DEVKITARM__/g' \ - -e 's,^#include "\(.*\)",#include ,g' \ - < $< > $@ - From 7d1a2ac929d0d4a591bff75ba1085a35de9d9417 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 4 Aug 2023 15:50:20 +0100 Subject: [PATCH 228/280] devkitARM: use gcc 13.2.0 --- dkarm-eabi/patches/{gcc-13.1.0.patch => gcc-13.2.0.patch} | 0 select_toolchain.sh | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename dkarm-eabi/patches/{gcc-13.1.0.patch => gcc-13.2.0.patch} (100%) diff --git a/dkarm-eabi/patches/gcc-13.1.0.patch b/dkarm-eabi/patches/gcc-13.2.0.patch similarity index 100% rename from dkarm-eabi/patches/gcc-13.1.0.patch rename to dkarm-eabi/patches/gcc-13.2.0.patch diff --git a/select_toolchain.sh b/select_toolchain.sh index 9d23e33..8e14282 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,7 +30,7 @@ done case "$VERSION" in "1" ) - GCC_VER=13.1.0 + GCC_VER=13.2.0 BINUTILS_VER=2.40 NEWLIB_VER=4.3.0.20230120 basedir='dkarm-eabi' From d0a05636ab925aa89c8878774fd7128714a114ae Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 4 Aug 2023 15:51:08 +0100 Subject: [PATCH 229/280] devkitARM: use binutils 2.41 --- select_toolchain.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/select_toolchain.sh b/select_toolchain.sh index 8e14282..0a69df1 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -31,7 +31,7 @@ done case "$VERSION" in "1" ) GCC_VER=13.2.0 - BINUTILS_VER=2.40 + BINUTILS_VER=2.41 NEWLIB_VER=4.3.0.20230120 basedir='dkarm-eabi' package=devkitARM From 67729ec64c260bbbd352b784f18e71da33688ca7 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 4 Aug 2023 15:52:30 +0100 Subject: [PATCH 230/280] devkitARM: release 62 --- dkarm-eabi/scripts/build-gcc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index b948f01..526d577 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -66,7 +66,7 @@ then --with-system-zlib \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 61" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 62" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ From 12a06c469f861dd1b8b0f628800e1728d36ca42b Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 7 Aug 2023 15:11:31 +0100 Subject: [PATCH 231/280] devkitPPC: update gcc to 13.2.0 --- dkppc/patches/{gcc-13.1.0.patch => gcc-13.2.0.patch} | 0 dkppc/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename dkppc/patches/{gcc-13.1.0.patch => gcc-13.2.0.patch} (100%) diff --git a/dkppc/patches/gcc-13.1.0.patch b/dkppc/patches/gcc-13.2.0.patch similarity index 100% rename from dkppc/patches/gcc-13.1.0.patch rename to dkppc/patches/gcc-13.2.0.patch diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 6aad4de..204942e 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -101,7 +101,7 @@ then --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 43" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 44" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index 0a69df1..f358623 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -39,8 +39,8 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - GCC_VER=13.1.0 BINUTILS_VER=2.40 + GCC_VER=13.2.0 MN_BINUTILS_VER=2.24 NEWLIB_VER=4.3.0.20230120 basedir='dkppc' From 5926a76d6436e1a3c9623053a21bc341f8774ca6 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 7 Aug 2023 15:13:35 +0100 Subject: [PATCH 232/280] devkitPPC: update binutils to 2.41 --- dkppc/patches/{binutils-2.40.patch => binutils-2.41.patch} | 0 select_toolchain.sh | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename dkppc/patches/{binutils-2.40.patch => binutils-2.41.patch} (100%) diff --git a/dkppc/patches/binutils-2.40.patch b/dkppc/patches/binutils-2.41.patch similarity index 100% rename from dkppc/patches/binutils-2.40.patch rename to dkppc/patches/binutils-2.41.patch diff --git a/select_toolchain.sh b/select_toolchain.sh index f358623..df1ca99 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -39,8 +39,8 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - BINUTILS_VER=2.40 GCC_VER=13.2.0 + BINUTILS_VER=2.41 MN_BINUTILS_VER=2.24 NEWLIB_VER=4.3.0.20230120 basedir='dkppc' From f06196c43cca687108c6f73fe0b48ed01a606d85 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 7 Aug 2023 15:14:29 +0100 Subject: [PATCH 233/280] devkitPPC: remove stale patch file --- dkppc/patches/gcc-12.2.0.patch | 992 --------------------------------- 1 file changed, 992 deletions(-) delete mode 100644 dkppc/patches/gcc-12.2.0.patch diff --git a/dkppc/patches/gcc-12.2.0.patch b/dkppc/patches/gcc-12.2.0.patch deleted file mode 100644 index 28cd3ef..0000000 --- a/dkppc/patches/gcc-12.2.0.patch +++ /dev/null @@ -1,992 +0,0 @@ -diff --git a/config/gthr.m4 b/config/gthr.m4 -index 4b937306ad0..bfd0375bd60 100644 ---- a/config/gthr.m4 -+++ b/config/gthr.m4 -@@ -13,6 +13,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER], - case $1 in - aix) thread_header=config/rs6000/gthr-aix.h ;; - dce) thread_header=config/pa/gthr-dce.h ;; -+ dkp) thread_header=config/rs6000/gthr-dkp.h ;; - gcn) thread_header=config/gcn/gthr-gcn.h ;; - lynx) thread_header=config/gthr-lynx.h ;; - mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/gcc/config/i386/host-mingw32.cc b/gcc/config/i386/host-mingw32.cc -index 3b0d83ffc60..6e063b6ccd0 100644 ---- a/gcc/config/i386/host-mingw32.cc -+++ b/gcc/config/i386/host-mingw32.cc -@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void); - static inline void w32_error(const char*, const char*, int, const char*); - - /* FIXME: Is this big enough? */ -+#if __MINGW64__ -+static const size_t pch_VA_max_size = UINT64_C(64 * 1024 * 1024 * 1024); -+#else - static const size_t pch_VA_max_size = 128 * 1024 * 1024; -+#endif - - /* Granularity for reserving address space. */ - static size_t va_granularity = 0x10000; -diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h -index 098f658e74f..50c74877deb 100644 ---- a/gcc/config/newlib-stdint.h -+++ b/gcc/config/newlib-stdint.h -@@ -25,7 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - /* newlib uses 32-bit long in certain cases for all non-SPU - targets. */ - #ifndef STDINT_LONG32 --#define STDINT_LONG32 (LONG_TYPE_SIZE == 32) -+#define STDINT_LONG32 0 - #endif - - #define SIG_ATOMIC_TYPE "int" -diff --git a/gcc/config/rs6000/eabi.h b/gcc/config/rs6000/eabi.h -index e58283fe5d4..161767b2b08 100644 ---- a/gcc/config/rs6000/eabi.h -+++ b/gcc/config/rs6000/eabi.h -@@ -36,6 +36,8 @@ - builtin_assert ("system=embedded"); \ - builtin_assert ("cpu=powerpc"); \ - builtin_assert ("machine=powerpc"); \ -+ builtin_define ("__DEVKITPPC__"); \ -+ builtin_define ("__DEVKITPRO__"); \ - TARGET_OS_SYSV_CPP_BUILTINS (); \ - } \ - while (0) -diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h -index bc48f450210..7ba76802670 100644 ---- a/gcc/config/rs6000/rs6000.h -+++ b/gcc/config/rs6000/rs6000.h -@@ -199,6 +199,7 @@ ASM_OPT_ANY - /* -mcpu=native handling only makes sense with compiler running on - an PowerPC chip. If changing this condition, also change - the condition in driver-rs6000.cc. */ -+#if 0 - #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX) - /* In driver-rs6000.cc. */ - extern const char *host_detect_local_cpu (int argc, const char **argv); -@@ -210,6 +211,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); - #else - #define ASM_CPU_NATIVE_SPEC "%(asm_default)" - #endif -+#endif -+#define ASM_CPU_NATIVE_SPEC "%(asm_default)" - - #ifndef CC1_CPU_SPEC - #ifdef HAVE_LOCAL_CPU_DETECT -diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h -index 7e2519de5d4..bedfaf31808 100644 ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -589,7 +589,11 @@ GNU_USER_TARGET_CC1_SPEC - - /* Default starting address if specified. */ - #define LINK_START_SPEC "\ --%{mads : %(link_start_ads) ; \ -+%{mgcn|mogc : %(link_start_ogc) ; \ -+ mvgc : %(link_start_vgc) ; \ -+ mgcbios : %(link_start_gcb) ; \ -+ mrvl : %(link_start_rvl) ; \ -+ mads : %(link_start_ads) ; \ - myellowknife : %(link_start_yellowknife) ; \ - mmvme : %(link_start_mvme) ; \ - msim : %(link_start_sim) ; \ -@@ -620,7 +624,8 @@ GNU_USER_TARGET_CC1_SPEC - - /* Any specific OS flags. */ - #define LINK_OS_SPEC "\ --%{mads : %(link_os_ads) ; \ -+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(link_os_ogc) ; \ -+ mads : %(link_os_ads) ; \ - myellowknife : %(link_os_yellowknife) ; \ - mmvme : %(link_os_mvme) ; \ - msim : %(link_os_sim) ; \ -@@ -635,7 +640,10 @@ GNU_USER_TARGET_CC1_SPEC - /* Override rs6000.h definition. */ - #undef CPP_SPEC - #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ --%{mads : %(cpp_os_ads) ; \ -+%{mgcn : %(cpp_os_gcn) ; \ -+ mogc|mvgc|mgcbios : %(cpp_os_ogc) ; \ -+ mrvl : %(cpp_os_rvl) ; \ -+ mads : %(cpp_os_ads) ; \ - myellowknife : %(cpp_os_yellowknife) ; \ - mmvme : %(cpp_os_mvme) ; \ - msim : %(cpp_os_sim) ; \ -@@ -649,7 +657,10 @@ GNU_USER_TARGET_CC1_SPEC - - #undef STARTFILE_SPEC - #define STARTFILE_SPEC "\ --%{mads : %(startfile_ads) ; \ -+%{mgcn : %(startfile_gcn) ; \ -+ mogc|mvgc|mgcbios : %(startfile_ogc) ; \ -+ mrvl : %(startfile_ogc) ; \ -+ mads : %(startfile_ads) ; \ - myellowknife : %(startfile_yellowknife) ; \ - mmvme : %(startfile_mvme) ; \ - msim : %(startfile_sim) ; \ -@@ -663,7 +674,8 @@ GNU_USER_TARGET_CC1_SPEC - - #undef LIB_SPEC - #define LIB_SPEC "\ --%{mads : %(lib_ads) ; \ -+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(lib_ogc) ; \ -+ mads : %(lib_ads) ; \ - myellowknife : %(lib_yellowknife) ; \ - mmvme : %(lib_mvme) ; \ - msim : %(lib_sim) ; \ -@@ -673,11 +685,12 @@ GNU_USER_TARGET_CC1_SPEC - mcall-openbsd: %(lib_openbsd) ; \ - : %(lib_default) }" - --#define LIB_DEFAULT_SPEC "-lc" -+#define LIB_DEFAULT_SPEC "--start-group -lsysbase -lc --end-group" - - #undef ENDFILE_SPEC - #define ENDFILE_SPEC "\ --%{mads : %(endfile_ads) ; \ -+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(endfile_ogc) ; \ -+ mads : %(endfile_ads) ; \ - myellowknife : %(endfile_yellowknife) ; \ - mmvme : %(endfile_mvme) ; \ - msim : %(endfile_sim) ; \ -@@ -693,16 +706,27 @@ GNU_USER_TARGET_CC1_SPEC - - /* Motorola ADS support. */ - #define LIB_ADS_SPEC "--start-group -lads -lc --end-group" -+#define LIB_OGC_SPEC "--start-group -lsysbase -lc --end-group" - - #define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s" -+#define STARTFILE_OGC_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s" - - #define ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s" -+#define ENDFILE_OGC_SPEC "crtend.o%s ecrtn.o%s" - - #define LINK_START_ADS_SPEC "-T ads.ld%s" -+#define LINK_START_OGC_SPEC "-T ogc.ld%s" -+#define LINK_START_RVL_SPEC "-T rvl.ld%s" -+#define LINK_START_VGC_SPEC "-T vgcogc.ld%s" -+#define LINK_START_GCB_SPEC "-T gcbogc.ld%s" - - #define LINK_OS_ADS_SPEC "" -+#define LINK_OS_OGC_SPEC "--gc-sections" - - #define CPP_OS_ADS_SPEC "" -+#define CPP_OS_GCN_SPEC "-D__gamecube__ -ffunction-sections -fdata-sections" -+#define CPP_OS_OGC_SPEC "-D__gamecube__ -DHW_DOL -ffunction-sections -fdata-sections" -+#define CPP_OS_RVL_SPEC "-D__wii__ -DHW_RVL -ffunction-sections -fdata-sections" - - /* Motorola Yellowknife support. */ - #define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" -@@ -850,6 +874,7 @@ ncrtn.o%s" - #undef SUBTARGET_EXTRA_SPECS - #define SUBTARGET_EXTRA_SPECS \ - { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ -+ { "lib_ogc", LIB_OGC_SPEC }, \ - { "lib_ads", LIB_ADS_SPEC }, \ - { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ - { "lib_mvme", LIB_MVME_SPEC }, \ -@@ -859,6 +884,7 @@ ncrtn.o%s" - { "lib_netbsd", LIB_NETBSD_SPEC }, \ - { "lib_openbsd", LIB_OPENBSD_SPEC }, \ - { "lib_default", LIB_DEFAULT_SPEC }, \ -+ { "startfile_ogc", STARTFILE_OGC_SPEC }, \ - { "startfile_ads", STARTFILE_ADS_SPEC }, \ - { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ - { "startfile_mvme", STARTFILE_MVME_SPEC }, \ -@@ -868,6 +894,7 @@ ncrtn.o%s" - { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ - { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ - { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ -+ { "endfile_ogc", ENDFILE_OGC_SPEC }, \ - { "endfile_ads", ENDFILE_ADS_SPEC }, \ - { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ - { "endfile_mvme", ENDFILE_MVME_SPEC }, \ -@@ -879,7 +906,11 @@ ncrtn.o%s" - { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ - { "link_shlib", LINK_SHLIB_SPEC }, \ - { "link_start", LINK_START_SPEC }, \ -+ { "link_start_vgc", LINK_START_VGC_SPEC }, \ -+ { "link_start_gcb", LINK_START_GCB_SPEC }, \ -+ { "link_start_rvl", LINK_START_RVL_SPEC }, \ - { "link_start_ads", LINK_START_ADS_SPEC }, \ -+ { "link_start_ogc", LINK_START_OGC_SPEC }, \ - { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ - { "link_start_mvme", LINK_START_MVME_SPEC }, \ - { "link_start_sim", LINK_START_SIM_SPEC }, \ -@@ -889,6 +920,7 @@ ncrtn.o%s" - { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ - { "link_start_default", LINK_START_DEFAULT_SPEC }, \ - { "link_os", LINK_OS_SPEC }, \ -+ { "link_os_ogc", LINK_OS_OGC_SPEC }, \ - { "link_os_ads", LINK_OS_ADS_SPEC }, \ - { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ - { "link_os_mvme", LINK_OS_MVME_SPEC }, \ -@@ -900,6 +932,9 @@ ncrtn.o%s" - { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ - { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ - { "link_secure_plt", LINK_SECURE_PLT_SPEC }, \ -+ { "cpp_os_gcn", CPP_OS_GCN_SPEC }, \ -+ { "cpp_os_ogc", CPP_OS_OGC_SPEC }, \ -+ { "cpp_os_rvl", CPP_OS_RVL_SPEC }, \ - { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ - { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ - { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ -diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt -index ac75d67b19a..bdee36872f8 100644 ---- a/gcc/config/rs6000/sysv4.opt -+++ b/gcc/config/rs6000/sysv4.opt -@@ -124,6 +124,26 @@ mads - Target RejectNegative - Link with libads.a, libc.a and crt0.o. - -+mgcn -+Target RejectNegative -+Link with libsysbase.a and libc.a, use ogc linker script -+ -+mogc -+Target RejectNegative -+Link with libsysbase.a and libc.a, use ogc linker script -+ -+mgcbios -+Target RejectNegative -+Link with libsysbase.a and libc.a, use gcbogc linker script -+ -+mvgc -+Target RejectNegative -+Link with libsysbase.a and libc.a, use gcbogc linker script -+ -+mrvl -+Target RejectNegative -+Link with libsysbase.a and libc.a, use rvl linker script -+ - myellowknife - Target RejectNegative - Link with libyk.a, libc.a and crt0.o. -diff --git a/gcc/configure b/gcc/configure -index 5ce0557719a..a1c59e87b83 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -12884,7 +12884,7 @@ case ${enable_threads} in - # default - target_thread_file='single' - ;; -- aix | dce | lynx | mipssde | posix | rtems | \ -+ aix | dce | dkp | lynx | mipssde | posix | rtems | \ - single | tpf | vxworks | win32) - target_thread_file=${enable_threads} - ;; -diff --git a/gcc/configure.ac b/gcc/configure.ac -index 23bee7010a3..4540b6d3aee 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -1994,7 +1994,7 @@ case ${enable_threads} in - # default - target_thread_file='single' - ;; -- aix | dce | lynx | mipssde | posix | rtems | \ -+ aix | dce | dkp | lynx | mipssde | posix | rtems | \ - single | tpf | vxworks | win32) - target_thread_file=${enable_threads} - ;; -diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S -index cf224657260..38683e58cb3 100644 ---- a/libgcc/config/rs6000/crtrestvr.S -+++ b/libgcc/config/rs6000/crtrestvr.S -@@ -24,7 +24,7 @@ - - /* On PowerPC64 Linux, these functions are provided by the linker. */ - #ifndef __powerpc64__ -- -+#if 0 - #undef __ALTIVEC__ - #define __ALTIVEC__ 1 - #include "ppc-asm.h" -@@ -86,3 +86,4 @@ FUNC_END(_restvr_20) - CFI_ENDPROC - - #endif -+#endif -diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S -index 65e791741f7..631be3ec5ba 100644 ---- a/libgcc/config/rs6000/crtsavevr.S -+++ b/libgcc/config/rs6000/crtsavevr.S -@@ -24,7 +24,7 @@ - - /* On PowerPC64 Linux, these functions are provided by the linker. */ - #ifndef __powerpc64__ -- -+#if 0 - #undef __ALTIVEC__ - #define __ALTIVEC__ 1 - #include "ppc-asm.h" -@@ -86,3 +86,4 @@ FUNC_END(_savevr_20) - CFI_ENDPROC - - #endif -+#endif -diff --git a/libgcc/config/rs6000/gthr-dkp.c b/libgcc/config/rs6000/gthr-dkp.c -new file mode 100644 -index 00000000000..26180aa7f36 ---- /dev/null -+++ b/libgcc/config/rs6000/gthr-dkp.c -@@ -0,0 +1,319 @@ -+/* Threads compatibility routines for libgcc2 and libobjc. */ -+/* Compile this one with gcc. */ -+/* Copyright (C) 1997-2016 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. -+ -+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 -+. */ -+ -+#define _BUILDING_LIBGCC -+#include "gthr-dkp.h" -+#include -+ -+ -+int -+__gthread_active_p (void) -+{ -+ if (!__has_gthr_impl(active)) { -+ return 0; -+ } -+ -+ return __gthr_impl_active(); -+} -+ -+int -+__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), -+ void *__args) -+{ -+ if (!__has_gthr_impl(create)) { -+ return -1; -+ } -+ -+ return __gthr_impl_create(__threadid, __func, __args); -+} -+ -+int -+__gthread_join (__gthread_t __threadid, void **__value_ptr) -+{ -+ if (!__has_gthr_impl(join)) { -+ return -1; -+ } -+ -+ return __gthr_impl_join(__threadid, __value_ptr); -+} -+ -+int -+__gthread_detach (__gthread_t __threadid) -+{ -+ if (!__has_gthr_impl(detach)) { -+ return -1; -+ } -+ -+ return __gthr_impl_detach(__threadid); -+} -+ -+int -+__gthread_equal (__gthread_t __t1, __gthread_t __t2) -+{ -+ if (!__has_gthr_impl(equal)) { -+ return -1; -+ } -+ -+ return __gthr_impl_equal(__t1, __t2); -+} -+ -+__gthread_t -+__gthread_self (void) -+{ -+ if (!__has_gthr_impl(self)) { -+ __gthread_t result = { 0 }; -+ return result; -+ } -+ -+ return __gthr_impl_self(); -+} -+ -+int -+__gthread_yield (void) -+{ -+ if (!__has_gthr_impl(yield)) { -+ return -1; -+ } -+ -+ return __gthr_impl_yield(); -+} -+ -+int -+__gthread_once (__gthread_once_t *__once, void (*__func) (void)) -+{ -+ if (!__has_gthr_impl(once)) { -+ return -1; -+ } -+ -+ return __gthr_impl_once(__once, __func); -+} -+ -+int -+__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) -+{ -+ if (!__has_gthr_impl(key_create)) { -+ return -1; -+ } -+ -+ return __gthr_impl_key_create(__key, __dtor); -+} -+ -+int -+__gthread_key_delete (__gthread_key_t __key) -+{ -+ if (!__has_gthr_impl(key_delete)) { -+ return -1; -+ } -+ -+ return __gthr_impl_key_delete(__key); -+} -+ -+void * -+__gthread_getspecific (__gthread_key_t __key) -+{ -+ if (!__has_gthr_impl(getspecific)) { -+ return NULL; -+ } -+ -+ return __gthr_impl_getspecific(__key); -+} -+ -+int -+__gthread_setspecific (__gthread_key_t __key, const void *__ptr) -+{ -+ if (!__has_gthr_impl(setspecific)) { -+ return -1; -+ } -+ -+ return __gthr_impl_setspecific(__key, __ptr); -+} -+ -+void -+__gthread_mutex_init_function (__gthread_mutex_t *__mutex) -+{ -+ if (__has_gthr_impl(mutex_init_function)) { -+ __gthr_impl_mutex_init_function(__mutex); -+ } -+} -+ -+int -+__gthread_mutex_destroy (__gthread_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(mutex_destroy)) { -+ return -1; -+ } -+ -+ return __gthr_impl_mutex_destroy(__mutex); -+} -+ -+int -+__gthread_mutex_lock (__gthread_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(mutex_lock)) { -+ return -1; -+ } -+ -+ return __gthr_impl_mutex_lock(__mutex); -+} -+ -+int -+__gthread_mutex_trylock (__gthread_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(mutex_trylock)) { -+ return -1; -+ } -+ -+ return __gthr_impl_mutex_trylock(__mutex); -+} -+ -+int -+__gthread_mutex_unlock (__gthread_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(mutex_unlock)) { -+ return -1; -+ } -+ -+ return __gthr_impl_mutex_unlock(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_init_function)) { -+ return -1; -+ } -+ -+ return __gthr_impl_recursive_mutex_init_function(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_lock)) { -+ return -1; -+ } -+ -+ return __gthr_impl_recursive_mutex_lock(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_trylock)) { -+ return -1; -+ } -+ -+ return __gthr_impl_recursive_mutex_trylock(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_unlock)) { -+ return -1; -+ } -+ -+ return __gthr_impl_recursive_mutex_unlock(__mutex); -+} -+ -+int -+__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_destroy)) { -+ return -1; -+ } -+ -+ return __gthr_impl_recursive_mutex_destroy(__mutex); -+} -+ -+void -+__gthread_cond_init_function (__gthread_cond_t *__cond) -+{ -+ if (__has_gthr_impl(cond_init_function)) { -+ __gthr_impl_cond_init_function(__cond); -+ } -+} -+ -+int -+__gthread_cond_broadcast (__gthread_cond_t *__cond) -+{ -+ if (!__has_gthr_impl(cond_broadcast)) { -+ return -1; -+ } -+ -+ return __gthr_impl_cond_broadcast(__cond); -+} -+ -+int -+__gthread_cond_signal (__gthread_cond_t *__cond) -+{ -+ if (!__has_gthr_impl(cond_signal)) { -+ return -1; -+ } -+ -+ return __gthr_impl_cond_signal(__cond); -+} -+ -+int -+__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(cond_wait)) { -+ return -1; -+ } -+ -+ return __gthr_impl_cond_wait(__cond, __mutex); -+} -+ -+int -+__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, -+ const __gthread_time_t *__abs_timeout) -+{ -+ if (!__has_gthr_impl(cond_timedwait)) { -+ return -1; -+ } -+ -+ return __gthr_impl_cond_timedwait(__cond, __mutex, __abs_timeout); -+} -+ -+int -+__gthread_cond_wait_recursive (__gthread_cond_t *__cond, -+ __gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(cond_wait_recursive)) { -+ return -1; -+ } -+ -+ return __gthr_impl_cond_wait_recursive(__cond, __mutex); -+} -+ -+int -+__gthread_cond_destroy (__gthread_cond_t* __cond) -+{ -+ if (!__has_gthr_impl(cond_destroy)) { -+ return -1; -+ } -+ -+ return __gthr_impl_cond_destroy(__cond); -+} -diff --git a/libgcc/config/rs6000/gthr-dkp.h b/libgcc/config/rs6000/gthr-dkp.h -new file mode 100644 -index 00000000000..72ecf82ab83 ---- /dev/null -+++ b/libgcc/config/rs6000/gthr-dkp.h -@@ -0,0 +1,187 @@ -+/* Threads compatibility routines for libgcc2 and libobjc. */ -+/* Compile this one with gcc. */ -+/* Copyright (C) 1997-2016 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. -+ -+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 -+. */ -+ -+#ifndef _GLIBCXX_GCC_GTHR_DKP_H -+#define _GLIBCXX_GCC_GTHR_DKP_H -+ -+#define __GTHREADS 1 -+#define __GTHREADS_CXX0X 1 -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+typedef void * __gthread_t; -+typedef struct { int padding[7]; } __gthread_cond_t; -+typedef struct { int padding; } __gthread_key_t; -+typedef struct { int padding[11]; } __gthread_mutex_t; -+typedef struct { int padding; } __gthread_once_t; -+typedef struct { int padding[11]; } __gthread_recursive_mutex_t; -+typedef struct timespec __gthread_time_t; -+ -+#define __GTHREAD_HAS_COND 1 -+#define _GTHREAD_USE_MUTEX_TIMEDLOCK 0 -+ -+#define __GTHREAD_ONCE_INIT { 0 } -+#define __GTHREAD_TIME_INIT { 0, 0 } -+ -+#define __GTHREAD_COND_INIT_FUNCTION __gthread_cond_init_function -+#define __GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function -+#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function -+ -+#ifdef _BUILDING_LIBGCC -+#define __GTHR_IMPL(_name) __attribute__((weak)) __gthr_impl_##_name -+#define __has_gthr_impl(_name) (&__gthr_impl_##_name) -+#else -+#define __GTHR_IMPL(_name) __gthr_impl_##_name -+#endif -+ -+int __GTHR_IMPL(active) (void); -+int __GTHR_IMPL(create) (__gthread_t *__threadid, void *(*__func) (void*), void *__args); -+int __GTHR_IMPL(join) (__gthread_t __threadid, void **__value_ptr); -+int __GTHR_IMPL(detach) (__gthread_t __threadid); -+int __GTHR_IMPL(equal) (__gthread_t __t1, __gthread_t __t2); -+__gthread_t __GTHR_IMPL(self) (void); -+int __GTHR_IMPL(yield) (void); -+int __GTHR_IMPL(once) (__gthread_once_t *__once, void (*__func) (void)); -+int __GTHR_IMPL(key_create) (__gthread_key_t *__key, void (*__dtor) (void *)); -+int __GTHR_IMPL(key_delete) (__gthread_key_t __key); -+void * __GTHR_IMPL(getspecific) (__gthread_key_t __key); -+int __GTHR_IMPL(setspecific) (__gthread_key_t __key, const void *__ptr); -+void __GTHR_IMPL(mutex_init_function) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(mutex_destroy) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(mutex_lock) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(mutex_trylock) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(mutex_unlock) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_init_function) (__gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_lock) (__gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_trylock) (__gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_unlock) (__gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_destroy) (__gthread_recursive_mutex_t *__mutex); -+void __GTHR_IMPL(cond_init_function) (__gthread_cond_t *__cond); -+int __GTHR_IMPL(cond_broadcast) (__gthread_cond_t *__cond); -+int __GTHR_IMPL(cond_signal) (__gthread_cond_t *__cond); -+int __GTHR_IMPL(cond_wait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); -+int __GTHR_IMPL(cond_timedwait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, -+ const __gthread_time_t *__abs_timeout); -+int __GTHR_IMPL(cond_wait_recursive) (__gthread_cond_t *__cond, -+ __gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(cond_destroy) (__gthread_cond_t* __cond); -+ -+int -+__gthread_active_p (void); -+ -+int -+__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), -+ void *__args); -+ -+int -+__gthread_join (__gthread_t __threadid, void **__value_ptr); -+ -+int -+__gthread_detach (__gthread_t __threadid); -+ -+int -+__gthread_equal (__gthread_t __t1, __gthread_t __t2); -+ -+__gthread_t -+__gthread_self (void); -+ -+int -+__gthread_yield (void); -+ -+int -+__gthread_once (__gthread_once_t *__once, void (*__func) (void)); -+ -+int -+__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)); -+ -+int -+__gthread_key_delete (__gthread_key_t __key); -+ -+void * -+__gthread_getspecific (__gthread_key_t __key); -+ -+int -+__gthread_setspecific (__gthread_key_t __key, const void *__ptr); -+ -+void -+__gthread_mutex_init_function (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_mutex_destroy (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_mutex_lock (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_mutex_trylock (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_mutex_unlock (__gthread_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex); -+ -+void -+__gthread_cond_init_function (__gthread_cond_t *__cond); -+ -+int -+__gthread_cond_broadcast (__gthread_cond_t *__cond); -+ -+int -+__gthread_cond_signal (__gthread_cond_t *__cond); -+ -+int -+__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); -+ -+int -+__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, -+ const __gthread_time_t *__abs_timeout); -+ -+int -+__gthread_cond_wait_recursive (__gthread_cond_t *__cond, -+ __gthread_recursive_mutex_t *__mutex); -+ -+int -+__gthread_cond_destroy (__gthread_cond_t* __cond); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */ -diff --git a/libgcc/config/rs6000/t-ppccomm b/libgcc/config/rs6000/t-ppccomm -index fb812d3801f..7f6669d530f 100644 ---- a/libgcc/config/rs6000/t-ppccomm -+++ b/libgcc/config/rs6000/t-ppccomm -@@ -1,4 +1,5 @@ - LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c \ -+ $(srcdir)/config/rs6000/gthr-dkp.c \ - $(srcdir)/config/rs6000/tramp.S - - # This can't end up in shared libgcc -diff --git a/libgcc/configure b/libgcc/configure -index 1f9b2ac578b..539fd961156 100755 ---- a/libgcc/configure -+++ b/libgcc/configure -@@ -5689,6 +5689,7 @@ tm_file="${tm_file_}" - case $target_thread_file in - aix) thread_header=config/rs6000/gthr-aix.h ;; - dce) thread_header=config/pa/gthr-dce.h ;; -+ dkp) thread_header=config/rs6000/gthr-dkp.h ;; - gcn) thread_header=config/gcn/gthr-gcn.h ;; - lynx) thread_header=config/gthr-lynx.h ;; - mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index b98b86a5a88..3f62b3616d2 100644 ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -325,7 +325,7 @@ register_tm_clones (void) - - #ifdef OBJECT_FORMAT_ELF - --#if DEFAULT_USE_CXA_ATEXIT -+#if 1 /* DEFAULT_USE_CXA_ATEXIT */ - /* Declare the __dso_handle variable. It should have a unique value - in every shared-object; in a main program its value is zero. The - object should in any case be protected. This means the instance -diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index eac60392121..d1c85de1e34 100755 ---- a/libstdc++-v3/configure -+++ b/libstdc++-v3/configure -@@ -15765,6 +15765,7 @@ $as_echo "$target_thread_file" >&6; } - case $target_thread_file in - aix) thread_header=config/rs6000/gthr-aix.h ;; - dce) thread_header=config/pa/gthr-dce.h ;; -+ dkp) thread_header=config/rs6000/gthr-dkp.h ;; - gcn) thread_header=config/gcn/gthr-gcn.h ;; - lynx) thread_header=config/gthr-lynx.h ;; - mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/libstdc++-v3/include/std/fstream b/libstdc++-v3/include/std/fstream -index e62a1ade3c2..5f8ec3a1495 100644 ---- a/libstdc++-v3/include/std/fstream -+++ b/libstdc++-v3/include/std/fstream -@@ -46,7 +46,7 @@ - - // This can be overridden by the target's os_defines.h - #ifndef _GLIBCXX_BUFSIZ --# define _GLIBCXX_BUFSIZ BUFSIZ -+# define _GLIBCXX_BUFSIZ (BUFSIZ+1) - #endif - - namespace std _GLIBCXX_VISIBILITY(default) -diff --git a/libstdc++-v3/libsupc++/eh_alloc.cc b/libstdc++-v3/libsupc++/eh_alloc.cc -index c85b9aed40b..a8f3f4a50d2 100644 ---- a/libstdc++-v3/libsupc++/eh_alloc.cc -+++ b/libstdc++-v3/libsupc++/eh_alloc.cc -@@ -85,6 +85,7 @@ namespace - { - public: - pool(); -+ ~pool(); - - _GLIBCXX_NODISCARD void *allocate (std::size_t); - void free (void *); -@@ -136,6 +137,15 @@ namespace - first_free_entry->next = NULL; - } - -+ pool::~pool() -+ { -+ if (arena) -+ { -+ ::free(arena); -+ arena = 0; -+ } -+ } -+ - void *pool::allocate (std::size_t size) - { - __gnu_cxx::__scoped_lock sentry(emergency_mutex); -diff --git a/libstdc++-v3/src/c++17/fs_ops.cc b/libstdc++-v3/src/c++17/fs_ops.cc -index 435368fa5c5..75b78c384b4 100644 ---- a/libstdc++-v3/src/c++17/fs_ops.cc -+++ b/libstdc++-v3/src/c++17/fs_ops.cc -@@ -1123,6 +1123,7 @@ fs::permissions(const path& p, perms prms, perm_options opts, - } - - int err = 0; -+#ifndef __DEVKITPPC__ - #if _GLIBCXX_USE_FCHMODAT - const int flag = (nofollow && is_symlink(st)) ? AT_SYMLINK_NOFOLLOW : 0; - if (::fchmodat(AT_FDCWD, p.c_str(), static_cast(prms), flag)) -@@ -1132,6 +1133,7 @@ fs::permissions(const path& p, perms prms, perm_options opts, - ec = std::__unsupported(); - else if (posix::chmod(p.c_str(), static_cast(prms))) - err = errno; -+#endif - #endif - - if (err) -diff --git a/libstdc++-v3/src/filesystem/ops-common.h b/libstdc++-v3/src/filesystem/ops-common.h -index 978e8724154..f773d3b9b62 100644 ---- a/libstdc++-v3/src/filesystem/ops-common.h -+++ b/libstdc++-v3/src/filesystem/ops-common.h -@@ -481,6 +481,7 @@ _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM - return false; - } - -+#ifndef __DEVKITPPC__ - #if defined _GLIBCXX_USE_FCHMOD && ! defined _GLIBCXX_FILESYSTEM_IS_WINDOWS - if (::fchmod(out.fd, from_st->st_mode)) - #elif defined _GLIBCXX_USE_FCHMODAT && ! defined _GLIBCXX_FILESYSTEM_IS_WINDOWS -@@ -492,6 +493,7 @@ _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM - ec.assign(errno, std::generic_category()); - return false; - } -+#endif - - size_t count = from_st->st_size; - #if defined _GLIBCXX_USE_SENDFILE && ! defined _GLIBCXX_FILESYSTEM_IS_WINDOWS -diff --git a/libstdc++-v3/src/filesystem/ops.cc b/libstdc++-v3/src/filesystem/ops.cc -index 896a4918ace..59a155b840e 100644 ---- a/libstdc++-v3/src/filesystem/ops.cc -+++ b/libstdc++-v3/src/filesystem/ops.cc -@@ -971,6 +971,7 @@ fs::permissions(const path& p, perms prms, error_code& ec) noexcept - } - - int err = 0; -+#ifndef __DEVKITPPC__ - #if _GLIBCXX_USE_FCHMODAT - const int flag = (nofollow && is_symlink(st)) ? AT_SYMLINK_NOFOLLOW : 0; - if (::fchmodat(AT_FDCWD, p.c_str(), static_cast(prms), flag)) -@@ -980,6 +981,7 @@ fs::permissions(const path& p, perms prms, error_code& ec) noexcept - ec = std::__unsupported(); - else if (posix::chmod(p.c_str(), static_cast(prms))) - err = errno; -+#endif - #endif - - if (err) From 5daf9f7bd1b7ecfcd4af0e0c46224c49e89974db Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 26 Aug 2023 16:08:08 +0100 Subject: [PATCH 234/280] devkitA64: update to gcc 13.2 --- build-devkit.sh | 4 +- .../{gcc-13.1.0.patch => gcc-13.2.0.patch} | 41 +++---------------- dka64/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 9 insertions(+), 40 deletions(-) rename dka64/patches/{gcc-13.1.0.patch => gcc-13.2.0.patch} (89%) diff --git a/build-devkit.sh b/build-devkit.sh index ca7de3b..d56e2d6 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash #--------------------------------------------------------------------------------- -# devkitARM release 61 +# devkitARM release 62 # devkitPPC release 43 -# devkitA64 release 22 +# devkitA64 release 23 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/patches/gcc-13.1.0.patch b/dka64/patches/gcc-13.2.0.patch similarity index 89% rename from dka64/patches/gcc-13.1.0.patch rename to dka64/patches/gcc-13.2.0.patch index bb5d5e3..4a571d1 100644 --- a/dka64/patches/gcc-13.1.0.patch +++ b/dka64/patches/gcc-13.2.0.patch @@ -1,5 +1,5 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc -index 6fd1594480a..31deea1c63b 100644 +index 648b3dc2110..ed605b28956 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1132,7 +1132,14 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) @@ -17,19 +17,6 @@ index 6fd1594480a..31deea1c63b 100644 ;; aarch64-*-fuchsia*) tm_file="${tm_file} fuchsia.h" -diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc -index cc6b7c01fd1..44d53659a2f 100644 ---- a/gcc/config/aarch64/aarch64-builtins.cc -+++ b/gcc/config/aarch64/aarch64-builtins.cc -@@ -1547,7 +1547,7 @@ aarch64_scalar_builtin_type_p (aarch64_simd_type t) - - /* Enable AARCH64_FL_* flags EXTRA_FLAGS on top of the base Advanced SIMD - set. */ --aarch64_simd_switcher::aarch64_simd_switcher (unsigned int extra_flags) -+aarch64_simd_switcher::aarch64_simd_switcher (uint64_t extra_flags) - : m_old_asm_isa_flags (aarch64_asm_isa_flags), - m_old_general_regs_only (TARGET_GENERAL_REGS_ONLY) - { diff --git a/gcc/config/aarch64/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h index ec45f23fa41..a208eabd806 100644 --- a/gcc/config/aarch64/aarch64-elf-raw.h @@ -59,29 +46,11 @@ index a9f3e2715ca..0c7304e1d81 100644 /* The code model defines the address generation strategy. Most have a PIC and non-PIC variant. */ enum aarch64_code_model { -diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h -index 63339fa47df..02b4d3cbb8f 100644 ---- a/gcc/config/aarch64/aarch64-protos.h -+++ b/gcc/config/aarch64/aarch64-protos.h -@@ -733,11 +733,11 @@ const unsigned int AARCH64_BUILTIN_CLASS = (1 << AARCH64_BUILTIN_SHIFT) - 1; - class aarch64_simd_switcher - { - public: -- aarch64_simd_switcher (unsigned int extra_flags = 0); -+ aarch64_simd_switcher (uint64_t extra_flags = 0); - ~aarch64_simd_switcher (); - - private: -- unsigned long m_old_asm_isa_flags; -+ uint64_t m_old_asm_isa_flags; - bool m_old_general_regs_only; - }; - diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc -index 0f04ab9fba0..c524a2f76ba 100644 +index f5db5379543..f582e5a7543 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc -@@ -19555,8 +19555,24 @@ aarch64_load_tp (rtx target) +@@ -19550,8 +19550,24 @@ aarch64_load_tp (rtx target) || !register_operand (target, Pmode)) target = gen_reg_rtx (Pmode); @@ -109,7 +78,7 @@ index 0f04ab9fba0..c524a2f76ba 100644 } diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h -index 155cace6afe..93ff5264a2e 100644 +index 73b09e20508..ad62b5080cc 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h @@ -1154,6 +1154,10 @@ typedef struct @@ -124,7 +93,7 @@ index 155cace6afe..93ff5264a2e 100644 /* When using the tiny addressing model conditional and unconditional branches diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md -index 022eef80bc1..2024af16a17 100644 +index 36d0bb3f718..cfa2f7efc7f 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -7068,11 +7068,22 @@ diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 1a68a86..3c37f12 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -62,7 +62,7 @@ then --enable-lto \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 22.1" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 23" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index df1ca99..45d626b 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -49,7 +49,7 @@ case "$VERSION" in toolchain=DEVKITPPC ;; "3" ) - GCC_VER=13.1.0 + GCC_VER=13.2.0 BINUTILS_VER=2.32 NEWLIB_VER=4.3.0.20230120 basedir='dka64' From d051cd518b03e43a405ae8cc67093b8712fbba5e Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 12 Sep 2023 18:26:40 +0100 Subject: [PATCH 235/280] update rules & crtls versions --- build-devkit.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index d56e2d6..9364cf9 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -27,12 +27,12 @@ echo -DKARM_RULES_VER=1.3.0 -DKARM_CRTLS_VER=1.2.1 +DKARM_RULES_VER=1.5.0 +DKARM_CRTLS_VER=1.2.2 -DKPPC_RULES_VER=1.1.2 +DKPPC_RULES_VER=1.2.1 -DKA64_RULES_VER=1.0.1 +DKA64_RULES_VER=1.1.1 OSXMIN=${OSXMIN:-10.9} From 032100b82e6d5cf052a9956bcf1e5de8d9334497 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 12 Sep 2023 18:27:03 +0100 Subject: [PATCH 236/280] devkitPPC: call destructors --- dkppc/patches/newlib-4.3.0.20230120.patch | 39 +++++++++++++++++++++++ dkppc/scripts/build-gcc.sh | 1 + 2 files changed, 40 insertions(+) diff --git a/dkppc/patches/newlib-4.3.0.20230120.patch b/dkppc/patches/newlib-4.3.0.20230120.patch index 9bd07ac..bc7a191 100644 --- a/dkppc/patches/newlib-4.3.0.20230120.patch +++ b/dkppc/patches/newlib-4.3.0.20230120.patch @@ -10065,6 +10065,45 @@ index df966f929..106d99e94 100644 #include <_ansi.h> #include #include +diff --git a/newlib/libc/stdlib/__call_atexit.c b/newlib/libc/stdlib/__call_atexit.c +index 710440389..985e720bf 100644 +--- a/newlib/libc/stdlib/__call_atexit.c ++++ b/newlib/libc/stdlib/__call_atexit.c +@@ -21,6 +21,7 @@ struct _atexit *__atexit = _NULL; + + #ifdef _WANT_REGISTER_FINI + ++#if 0 + /* If "__libc_fini" is defined, finalizers (either + "__libc_fini_array", or "_fini", as appropriate) will be run after + all user-specified atexit handlers. For example, you can define +@@ -36,6 +37,7 @@ struct _atexit *__atexit = _NULL; + used with multiple BSPs, some of which register finalizers from + startup code, while others defer to the C library. */ + extern char __libc_fini __attribute__((weak)); ++#endif + + /* Register the application finalization function with atexit. These + finalizers should run last. Therefore, we want to call atexit as +@@ -46,6 +48,7 @@ register_fini(void) __attribute__((constructor (0))); + static void + register_fini(void) + { ++#if 0 + if (&__libc_fini) { + #ifdef _HAVE_INITFINI_ARRAY + extern void __libc_fini_array (void); +@@ -55,6 +58,10 @@ register_fini(void) + atexit (_fini); + #endif + } ++#else ++ extern void __fini (void); ++ atexit (__fini); ++#endif + } + + #endif /* _WANT_REGISTER_FINI */ diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c index 23aa10173..ba88eb9fb 100644 --- a/newlib/libc/stdlib/mlock.c diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 204942e..a1334cb 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -144,6 +144,7 @@ then --target=$target \ --prefix=$prefix \ --enable-newlib-mb \ + --enable-newlib-register-fini \ || { echo "Error configuring newlib"; exit 1; } touch configured-newlib fi From eb428eb450478673f40bfd89b4d776e7447fcc85 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Tue, 12 Sep 2023 18:40:13 +0100 Subject: [PATCH 237/280] devkitPPC: bump version --- build-devkit.sh | 2 +- dkppc/scripts/build-gcc.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 9364cf9..8c86719 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash #--------------------------------------------------------------------------------- # devkitARM release 62 -# devkitPPC release 43 +# devkitPPC release 44.2 # devkitA64 release 23 #--------------------------------------------------------------------------------- diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index a1334cb..06a92ef 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -101,7 +101,7 @@ then --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 44" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 44.2" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ From c5f34ab49b0146a23596cf0c1353e7fb44fa6745 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 17 Sep 2023 16:15:50 +0100 Subject: [PATCH 238/280] devkitA64: update binutils to 2.41 --- build-devkit.sh | 2 +- ...inutils-2.32.patch => binutils-2.41.patch} | 377 +++++++----------- dka64/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 143 insertions(+), 240 deletions(-) rename dka64/patches/{binutils-2.32.patch => binutils-2.41.patch} (59%) diff --git a/build-devkit.sh b/build-devkit.sh index 8c86719..0309797 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,7 +2,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 62 # devkitPPC release 44.2 -# devkitA64 release 23 +# devkitA64 release 24 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/patches/binutils-2.32.patch b/dka64/patches/binutils-2.41.patch similarity index 59% rename from dka64/patches/binutils-2.32.patch rename to dka64/patches/binutils-2.41.patch index 5bebc43..be00dd2 100644 --- a/dka64/patches/binutils-2.32.patch +++ b/dka64/patches/binutils-2.41.patch @@ -1,15 +1,15 @@ diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h -index 5741c60264..fb5d9d069c 100644 +index ec856764519..436098cbcc2 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h -@@ -1789,6 +1789,14 @@ struct output_elf_obj_tdata +@@ -1966,6 +1966,14 @@ struct output_elf_obj_tdata asection *sec; - } build_id; + } package_metadata; + /* Data for .nx-module-name. */ + struct + { -+ bfd_boolean (*after_write_object_contents) (bfd *); ++ bool (*after_write_object_contents) (bfd *); + const char *name; + asection *sec; + } nx_module_name; @@ -18,29 +18,29 @@ index 5741c60264..fb5d9d069c 100644 bfd_size_type program_header_size; diff --git a/bfd/elf.c b/bfd/elf.c -index eb3e1828e9..bc6bb48804 100644 +index d38e0afff2e..372e6615931 100644 --- a/bfd/elf.c +++ b/bfd/elf.c -@@ -6514,6 +6514,14 @@ _bfd_elf_write_object_contents (bfd *abfd) +@@ -7321,6 +7321,14 @@ _bfd_elf_write_object_contents (bfd *abfd) if (!bed->s->write_shdrs_and_ehdr (abfd)) - return FALSE; + return false; + /* Write out the NX module name. */ + if (t->o->nx_module_name.after_write_object_contents != NULL) + { + failed = !(*t->o->nx_module_name.after_write_object_contents) (abfd); + if (failed) -+ return FALSE; ++ return false; + } + /* This is last since write_shdrs_and_ehdr can touch i_shdrp[0]. */ - if (t->o->build_id.after_write_object_contents != NULL) - return (*t->o->build_id.after_write_object_contents) (abfd); + if (t->o->build_id.after_write_object_contents != NULL + && !(*t->o->build_id.after_write_object_contents) (abfd)) diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c -index faa27611d4..888af6bcd8 100644 +index 4592bd6da27..dc27042cfe2 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c -@@ -2341,6 +2341,12 @@ enum elf_aarch64_stub_type +@@ -2441,6 +2441,12 @@ enum elf_aarch64_stub_type aarch64_stub_erratum_843419_veneer, }; @@ -53,7 +53,7 @@ index faa27611d4..888af6bcd8 100644 struct elf_aarch64_stub_hash_entry { /* Base hash table entry structure. */ -@@ -6436,11 +6442,13 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, +@@ -6916,11 +6922,13 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, Elf_Internal_Sym *sym; asection *sec; struct elf_link_hash_entry *h; @@ -62,12 +62,12 @@ index faa27611d4..888af6bcd8 100644 bfd_reloc_status_type r; arelent bfd_reloc; char sym_type; - bfd_boolean unresolved_reloc = FALSE; -+ bfd_boolean resolved_to_zero = FALSE; + bool unresolved_reloc = false; ++ bool resolved_to_zero = false; char *error_message = NULL; r_symndx = ELFNN_R_SYM (rel->r_info); -@@ -6576,6 +6584,10 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, +@@ -7060,6 +7068,10 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, h, &unresolved_reloc, save_addend, &addend, sym); @@ -78,7 +78,7 @@ index faa27611d4..888af6bcd8 100644 switch (elfNN_aarch64_bfd_reloc_from_type (input_bfd, r_type)) { case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC: -@@ -6599,7 +6611,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, +@@ -7083,7 +7095,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, need_relocs = (!bfd_link_executable (info) || indx != 0) && (h == NULL @@ -87,7 +87,7 @@ index faa27611d4..888af6bcd8 100644 || h->root.type != bfd_link_hash_undefweak); BFD_ASSERT (globals->root.srelgot != NULL); -@@ -6694,7 +6706,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, +@@ -7178,7 +7190,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, need_relocs = (!bfd_link_executable (info) || indx != 0) && (h == NULL @@ -96,7 +96,7 @@ index faa27611d4..888af6bcd8 100644 || h->root.type != bfd_link_hash_undefweak); BFD_ASSERT (globals->root.srelgot != NULL); -@@ -6743,7 +6755,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, +@@ -7227,7 +7239,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, bfd_vma off = symbol_tlsdesc_got_offset (input_bfd, h, r_symndx); need_relocs = (h == NULL @@ -105,17 +105,14 @@ index faa27611d4..888af6bcd8 100644 || h->root.type != bfd_link_hash_undefweak); BFD_ASSERT (globals->root.srelgot != NULL); -@@ -7086,6 +7098,26 @@ need_copy_relocation_p (struct elf_aarch64_link_hash_entry *eh) - return FALSE; +@@ -7553,6 +7565,23 @@ need_copy_relocation_p (struct elf_aarch64_link_hash_entry *eh) + return false; } +/* Remove undefined weak symbol from the dynamic symbol table if it + is resolved to 0. */ + -+extern bfd_boolean -+elfNN_aarch64_elf_fixup_symbol (struct bfd_link_info *, struct elf_link_hash_entry *); -+ -+bfd_boolean ++static bool +elfNN_aarch64_elf_fixup_symbol (struct bfd_link_info *info, + struct elf_link_hash_entry *h) +{ @@ -126,21 +123,21 @@ index faa27611d4..888af6bcd8 100644 + _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr, + h->dynstr_index); + } -+ return TRUE; ++ return true; +} + /* Adjust a symbol defined by a dynamic object and referenced by a regular object. The current definition is in some section of the dynamic object, but we're not including those sections. We have to -@@ -8286,6 +8318,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) +@@ -8771,6 +8800,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) struct elf_aarch64_link_hash_table *htab; struct elf_aarch64_link_hash_entry *eh; struct elf_dyn_relocs *p; -+ bfd_boolean resolved_to_zero; ++ bool resolved_to_zero; /* An example of a bfd_link_hash_indirect symbol is versioned symbol. For example: __gxx_personality_v0(bfd_link_hash_indirect) -@@ -8305,6 +8338,10 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) +@@ -8790,6 +8820,10 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) info = (struct bfd_link_info *) inf; htab = elf_aarch64_hash_table (info); @@ -151,7 +148,7 @@ index faa27611d4..888af6bcd8 100644 /* Since STT_GNU_IFUNC symbol must go through PLT, we handle it here if it is defined and referenced in a non-shared object. */ if (h->type == STT_GNU_IFUNC -@@ -8314,7 +8351,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) +@@ -8799,7 +8833,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) { /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ @@ -160,9 +157,9 @@ index faa27611d4..888af6bcd8 100644 && h->root.type == bfd_link_hash_undefweak) { if (!bfd_elf_link_record_dynamic_symbol (info, h)) -@@ -8348,6 +8385,11 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) +@@ -8833,6 +8867,11 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) of relaxing into these from the large model PLT entries. */ - s->size += PLT_SMALL_ENTRY_SIZE; + s->size += htab->plt_entry_size; + /* There should be no PLT relocations against resolved undefined + weak symbols in the executable. */ @@ -172,15 +169,15 @@ index faa27611d4..888af6bcd8 100644 /* We also need to make an entry in the .got.plt section, which will be placed in the .got section by the linker script. */ htab->root.sgotplt->size += GOT_ENTRY_SIZE; -@@ -8370,6 +8412,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) +@@ -8861,6 +8900,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + htab->variant_pcs = 1; - htab->root.srelplt->reloc_count++; } + } else { h->plt.offset = (bfd_vma) - 1; -@@ -8382,9 +8425,6 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) +@@ -8873,9 +8913,6 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) h->needs_plt = 0; } @@ -189,8 +186,8 @@ index faa27611d4..888af6bcd8 100644 - if (h->got.refcount > 0) { - bfd_boolean dyn; -@@ -8396,7 +8436,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + bool dyn; +@@ -8887,7 +8924,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ @@ -199,7 +196,7 @@ index faa27611d4..888af6bcd8 100644 && h->root.type == bfd_link_hash_undefweak) { if (!bfd_elf_link_record_dynamic_symbol (info, h)) -@@ -8410,7 +8450,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) +@@ -8901,7 +8938,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) { h->got.offset = htab->root.sgot->size; htab->root.sgot->size += GOT_ENTRY_SIZE; @@ -208,7 +205,7 @@ index faa27611d4..888af6bcd8 100644 || h->root.type != bfd_link_hash_undefweak) && (bfd_link_pic (info) || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h)) -@@ -8446,7 +8486,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) +@@ -8937,7 +8974,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) } indx = h && h->dynindx != -1 ? h->dynindx : 0; @@ -217,16 +214,16 @@ index faa27611d4..888af6bcd8 100644 || h->root.type != bfd_link_hash_undefweak) && (!bfd_link_executable (info) || indx != 0 -@@ -8512,7 +8552,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) +@@ -9019,7 +9056,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) visibility. */ - if (eh->dyn_relocs != NULL && h->root.type == bfd_link_hash_undefweak) + if (h->dyn_relocs != NULL && h->root.type == bfd_link_hash_undefweak) { - if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT + if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT || resolved_to_zero || UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) - eh->dyn_relocs = NULL; + h->dyn_relocs = NULL; -@@ -8532,7 +8572,9 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) +@@ -9039,7 +9076,9 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) symbols which turn out to need copy relocs or are not dynamic. */ @@ -237,20 +234,20 @@ index faa27611d4..888af6bcd8 100644 && ((h->def_dynamic && !h->def_regular) || (htab->root.dynamic_sections_created -@@ -8543,6 +8585,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) +@@ -9050,6 +9089,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 && !h->forced_local + && !resolved_to_zero && h->root.type == bfd_link_hash_undefweak && !bfd_elf_link_record_dynamic_symbol (info, h)) - return FALSE; -@@ -9163,8 +9206,17 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd, + return false; +@@ -9607,8 +9647,17 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd, Elf_Internal_Sym *sym) { struct elf_aarch64_link_hash_table *htab; + struct elf_aarch64_link_hash_entry *eh; -+ bfd_boolean local_undefweak; ++ bool local_undefweak; htab = elf_aarch64_hash_table (info); + eh = (struct elf_aarch64_link_hash_entry *) h; @@ -263,8 +260,8 @@ index faa27611d4..888af6bcd8 100644 if (h->plt.offset != (bfd_vma) - 1) { asection *plt, *gotplt, *relplt; -@@ -9199,7 +9251,7 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd, - return FALSE; +@@ -9643,7 +9692,7 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd, + return false; elfNN_aarch64_create_small_pltn_entry (h, htab, output_bfd, info); - if (!h->def_regular) @@ -272,12 +269,8 @@ index faa27611d4..888af6bcd8 100644 { /* Mark the symbol as undefined, rather than as defined in the .plt section. */ -@@ -9218,10 +9270,11 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd, - } - - if (h->got.offset != (bfd_vma) - 1 -- && elf_aarch64_hash_entry (h)->got_type == GOT_NORMAL -+ && elf_aarch64_hash_entry (h)->got_type == GOT_NORMAL +@@ -9665,7 +9714,8 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd, + && elf_aarch64_hash_entry (h)->got_type == GOT_NORMAL /* Undefined weak symbol in static PIE resolves to 0 without any dynamic relocations. */ - && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) @@ -286,7 +279,7 @@ index faa27611d4..888af6bcd8 100644 { Elf_Internal_Rela rela; bfd_byte *loc; -@@ -9715,6 +9768,9 @@ const struct elf_size_info elfNN_aarch64_size_info = +@@ -10312,6 +10362,9 @@ const struct elf_size_info elfNN_aarch64_size_info = #define elf_backend_init_index_section \ _bfd_elf_init_2_index_sections @@ -296,90 +289,31 @@ index faa27611d4..888af6bcd8 100644 #define elf_backend_finish_dynamic_sections \ elfNN_aarch64_finish_dynamic_sections -diff --git a/ld/Makefile.am b/ld/Makefile.am -index c2c798b4fe..a0073d27fe 100644 ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -1509,19 +1509,23 @@ ens32knbsd.c: $(srcdir)/emulparams/ns32knbsd.sh \ - $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} - - eaarch64elf.c: $(srcdir)/emulparams/aarch64elf.sh \ -- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ -+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elf32.c: $(srcdir)/emulparams/aarch64elf32.sh \ -- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ -+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64elf.sh \ -- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ -+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \ -- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ -+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em ldemul-list.h \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64cloudabi.c: $(srcdir)/emulparams/aarch64cloudabi.sh \ -diff --git a/ld/Makefile.in b/ld/Makefile.in -index fc687fc516..7d85865d92 100644 ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -3114,18 +3114,22 @@ ens32knbsd.c: $(srcdir)/emulparams/ns32knbsd.sh \ - - eaarch64elf.c: $(srcdir)/emulparams/aarch64elf.sh \ - $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elf32.c: $(srcdir)/emulparams/aarch64elf32.sh \ - $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64elf.sh \ - $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \ - $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ -+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - - eaarch64cloudabi.c: $(srcdir)/emulparams/aarch64cloudabi.sh \ diff --git a/ld/emulparams/aarch64elf.sh b/ld/emulparams/aarch64elf.sh -index 4a59342722..2aa1ec7712 100644 +index 8f68e517b45..260a590e69e 100644 --- a/ld/emulparams/aarch64elf.sh +++ b/ld/emulparams/aarch64elf.sh @@ -1,3 +1,5 @@ -+. ${srcdir}/emulparams/dynamic_undefined_weak.sh ++source_sh ${srcdir}/emulparams/dynamic_undefined_weak.sh + ARCH=aarch64 MACHINE= NOP=0x1f2003d5 diff --git a/ld/emulparams/aarch64elf32.sh b/ld/emulparams/aarch64elf32.sh -index 38bcd4bbb0..da0f411feb 100644 +index 5a08d9e29f1..e4c9abf85a1 100644 --- a/ld/emulparams/aarch64elf32.sh +++ b/ld/emulparams/aarch64elf32.sh @@ -1,3 +1,5 @@ -+. ${srcdir}/emulparams/dynamic_undefined_weak.sh ++source_sh ${srcdir}/emulparams/dynamic_undefined_weak.sh + ARCH="aarch64:ilp32" MACHINE= NOP=0x1f2003d5 diff --git a/ld/emultempl/aarch64elf.em b/ld/emultempl/aarch64elf.em -index 45e40b510c..916ef2086a 100644 +index d47bdbf9937..b6f76d5c8d7 100644 --- a/ld/emultempl/aarch64elf.em +++ b/ld/emultempl/aarch64elf.em -@@ -380,7 +380,7 @@ PARSE_AND_LIST_LONGOPTS=' +@@ -378,7 +378,7 @@ PARSE_AND_LIST_LONGOPTS=' { "no-apply-dynamic-relocs", no_argument, NULL, OPTION_NO_APPLY_DYNAMIC_RELOCS}, ' @@ -388,25 +322,63 @@ index 45e40b510c..916ef2086a 100644 fprintf (file, _(" --no-enum-size-warning Don'\''t warn about objects with incompatible\n" " enum sizes\n")); fprintf (file, _(" --no-wchar-size-warning Don'\''t warn about objects with incompatible\n" -diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em -index f4f7ad6b4e..8428a54697 100644 ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -192,6 +192,9 @@ static char *depaudit; /* colon (typically) separated list of libs */ - /* Style of .note.gnu.build-id section. */ - static const char *emit_note_gnu_build_id; +diff --git a/ld/emultempl/elf.em b/ld/emultempl/elf.em +index 3f67f8b09d9..eb8e8e1596e 100644 +--- a/ld/emultempl/elf.em ++++ b/ld/emultempl/elf.em +@@ -572,6 +572,7 @@ enum elf_options + OPTION_EXCLUDE_LIBS, + OPTION_HASH_STYLE, + OPTION_BUILD_ID, ++ OPTION_NX_MODULE_NAME, + OPTION_PACKAGE_METADATA, + OPTION_AUDIT, + OPTION_COMPRESS_DEBUG +@@ -603,6 +604,7 @@ EOF + fi + fragment <o->nx_module_name.name; + asec = t->o->nx_module_name.sec; + if (bfd_is_abs_section (asec->output_section)) + { + einfo (_("%P: warning: .nx-module-name section discarded," + " --build-id ignored\n")); -+ return TRUE; ++ return true; + } + i_shdr = &elf_section_data (asec->output_section)->this_hdr; + @@ -450,21 +422,21 @@ index f4f7ad6b4e..8428a54697 100644 + +/* Make .nx-module-name section, and set up elf_tdata->nx_module_name. */ + -+static bfd_boolean ++static bool +setup_nx_module_name (bfd *ibfd, bfd *obfd) +{ + asection *s; + bfd_size_type size; + flagword flags; + -+ if (emit_nx_module_name[0] == '\0') ++ if (ldelf_emit_nx_module_name[0] == '\0') + { + /* Extract the basename of the output bfd and use it as the module name. */ + char *dot_pos; -+ free ((char *) emit_nx_module_name); -+ emit_nx_module_name = (char *) lbasename (bfd_get_filename (obfd)); -+ emit_nx_module_name = xstrdup (emit_nx_module_name); -+ dot_pos = strrchr (emit_nx_module_name, '.'); ++ free ((char *) ldelf_emit_nx_module_name); ++ ldelf_emit_nx_module_name = (char *) lbasename (bfd_get_filename (obfd)); ++ ldelf_emit_nx_module_name = xstrdup (ldelf_emit_nx_module_name); ++ dot_pos = strrchr (ldelf_emit_nx_module_name, '.'); + if (dot_pos != NULL) + { + /* Remove extension. */ @@ -472,34 +444,35 @@ index f4f7ad6b4e..8428a54697 100644 + } + } + -+ size = 8 + strlen(emit_nx_module_name) + 1; /* extra null terminator for AMS */ ++ size = 8 + strlen(ldelf_emit_nx_module_name) + 1; /* extra null terminator for AMS */ + flags = (SEC_ALLOC | SEC_LOAD | SEC_IN_MEMORY + | SEC_LINKER_CREATED | SEC_READONLY | SEC_DATA); + s = bfd_make_section_with_flags (ibfd, ".nx-module-name", flags); -+ if (s != NULL && bfd_set_section_alignment (ibfd, s, 4)) ++ if (s != NULL && bfd_set_section_alignment (s, 4)) + { + struct elf_obj_tdata *t = elf_tdata (link_info.output_bfd); + t->o->nx_module_name.after_write_object_contents = &write_nx_module_name; -+ t->o->nx_module_name.name = emit_nx_module_name; ++ t->o->nx_module_name.name = ldelf_emit_nx_module_name; + t->o->nx_module_name.sec = s; + elf_section_type (s) = SHT_PROGBITS; + s->size = size; -+ return TRUE; ++ return true; + } + + einfo (_("%P: warning: cannot create .nx-module-name section," + " --nx-module-name ignored\n")); -+ return FALSE; ++ return false; +} + - /* This is called after all the input files have been opened. */ - - static void -@@ -1267,6 +1356,24 @@ gld${EMULATION_NAME}_after_open (void) ++/* This is called before calling plugin 'all symbols read' hook. */ + void + ldelf_before_plugin_all_symbols_read (int use_libpath, int native, + int is_linux, int is_freebsd, +@@ -1286,6 +1374,24 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd, } } -+ if (emit_nx_module_name != NULL) ++ if (ldelf_emit_nx_module_name != NULL) + { + /* Find an ELF input. */ + for (abfd = link_info.input_bfds; @@ -512,93 +485,23 @@ index f4f7ad6b4e..8428a54697 100644 + /* If there are no ELF input files do not try to create a .nx-module-name section. */ + if (abfd == NULL || !setup_nx_module_name (abfd, link_info.output_bfd)) + { -+ free ((char *) emit_nx_module_name); -+ emit_nx_module_name = NULL; ++ free ((char *) ldelf_emit_nx_module_name); ++ ldelf_emit_nx_module_name = NULL; + } + } + get_elf_backend_data (link_info.output_bfd)->setup_gnu_properties (&link_info); - if (bfd_link_relocatable (&link_info)) -@@ -2720,6 +2827,7 @@ enum elf_options - OPTION_EXCLUDE_LIBS, - OPTION_HASH_STYLE, - OPTION_BUILD_ID, -+ OPTION_NX_MODULE_NAME, - OPTION_AUDIT, - OPTION_COMPRESS_DEBUG - }; -@@ -2750,6 +2858,7 @@ EOF - fi - fragment < Date: Wed, 17 Jan 2024 18:49:53 +0000 Subject: [PATCH 239/280] install to fixed prefix --- build-devkit.sh | 24 +++++++++++------------- config.sh.sample | 6 ------ 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 0309797..bd099ee 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -72,20 +72,18 @@ fi . ./select_toolchain.sh #--------------------------------------------------------------------------------- -# Get preferred installation directory and set paths to the sources +# Legacy versions of these scripts allowed the selection of a prefix which is +# no longer supported. Since adopting pacman and providing precompiled binaries +# of "portlibs" everything we distribute is intended to work within opt/devkitpro +# +# Rather than attempting to repackage our work for exotic linux distributions it +# would be much better for everyone concerned if efforts were made to provide +# pacman and whatever support is necessary to allow the binaries we distribute to +# work as expected. +# +# See https://github.com/devkitPro/pacman and https://devkitpro.org/wiki/devkitPro_pacman #--------------------------------------------------------------------------------- - -if [ ! -z "$BUILD_DKPRO_INSTALLDIR" ] ; then - INSTALLDIR="$BUILD_DKPRO_INSTALLDIR" -else - echo - echo "Please enter the directory where you would like '$package' to be installed:" - echo "for mingw/msys you must use :/ or you will have include path problems" - echo "this is the top level directory for devkitpro, i.e. e:/devkitPro" - - read -e INSTALLDIR - echo -fi +INSTALLDIR=/opt/devkitpro [ ! -z "$INSTALLDIR" ] && mkdir -p $INSTALLDIR && touch $INSTALLDIR/nonexistantfile && rm $INSTALLDIR/nonexistantfile || exit 1; diff --git a/config.sh.sample b/config.sh.sample index 94a12c4..671f8e6 100755 --- a/config.sh.sample +++ b/config.sh.sample @@ -13,12 +13,6 @@ #--------------------------------------------------------------------------------- BUILD_DKPRO_PACKAGE=0 -#--------------------------------------------------------------------------------- -# Toolchain installation directory, comment if not specified -#--------------------------------------------------------------------------------- -#BUILD_DKPRO_INSTALLDIR=/opt/devkitpro -#BUILD_DKPRO_INSTALLDIR=c:/devkitPro - #--------------------------------------------------------------------------------- # Path to previously downloaded source packages, comment if not specified #--------------------------------------------------------------------------------- From 7318227e11e64ce8f60408ac3ac286ddc93d1bdf Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 7 Jan 2024 13:15:45 +0000 Subject: [PATCH 240/280] devkitPPC: upgrade newlib to 4.4.0 --- build-devkit.sh | 2 +- ...0120.patch => newlib-4.4.0.20231231.patch} | 304 +++++++++++------- dkppc/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 196 insertions(+), 114 deletions(-) rename dkppc/patches/{newlib-4.3.0.20230120.patch => newlib-4.4.0.20231231.patch} (97%) diff --git a/build-devkit.sh b/build-devkit.sh index bd099ee..55e3e53 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash #--------------------------------------------------------------------------------- # devkitARM release 62 -# devkitPPC release 44.2 +# devkitPPC release 45 # devkitA64 release 24 #--------------------------------------------------------------------------------- diff --git a/dkppc/patches/newlib-4.3.0.20230120.patch b/dkppc/patches/newlib-4.4.0.20231231.patch similarity index 97% rename from dkppc/patches/newlib-4.3.0.20230120.patch rename to dkppc/patches/newlib-4.4.0.20231231.patch index bc7a191..ff05c69 100644 --- a/dkppc/patches/newlib-4.3.0.20230120.patch +++ b/dkppc/patches/newlib-4.4.0.20231231.patch @@ -1,5 +1,5 @@ diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am -index 4309cd3a4..fad31dbe0 100644 +index 0d4460b58..0eab54b65 100644 --- a/libgloss/Makefile.am +++ b/libgloss/Makefile.am @@ -87,6 +87,9 @@ endif @@ -13,10 +13,10 @@ index 4309cd3a4..fad31dbe0 100644 include lm32/Makefile.inc endif diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in -index a117577ea..2a1a2ff6f 100644 +index fd845cf5f..7d314a0bb 100644 --- a/libgloss/Makefile.in +++ b/libgloss/Makefile.in -@@ -173,23 +173,25 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) +@@ -173,25 +173,27 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) @CONFIG_IQ2000_TRUE@am__append_26 = iq2000/test @CONFIG_LIBNOSYS_TRUE@am__append_27 = libnosys/nosys.specs @CONFIG_LIBNOSYS_TRUE@am__append_28 = libnosys/libnosys.a @@ -41,17 +41,61 @@ index a117577ea..2a1a2ff6f 100644 @CONFIG_RISCV_TRUE@ riscv/semihost.specs \ @CONFIG_RISCV_TRUE@ riscv/crt0.o --@CONFIG_RISCV_TRUE@am__append_35 = riscv/libgloss.a \ -+@CONFIG_RISCV_TRUE@am__append_37 = riscv/libgloss.a \ +-@CONFIG_RISCV_TRUE@am__append_35 = riscv/libgloss.a riscv/libsim.a \ ++@CONFIG_RISCV_TRUE@am__append_37 = riscv/libgloss.a riscv/libsim.a \ @CONFIG_RISCV_TRUE@ riscv/libsemihost.a -@CONFIG_WINCE_TRUE@am__append_36 = $(gdbdir) -@CONFIG_WINCE_TRUE@am__append_37 = wince/stub.exe +-@CONFIG_XTENSA_TRUE@am__append_38 = -D_LIBGLOSS -I$(srcdir)/xtensa/include +-@CONFIG_XTENSA_TRUE@am__append_39 = \ +@CONFIG_WINCE_TRUE@am__append_38 = $(gdbdir) +@CONFIG_WINCE_TRUE@am__append_39 = wince/stub.exe ++@CONFIG_XTENSA_TRUE@am__append_40 = -D_LIBGLOSS -I$(srcdir)/xtensa/include ++@CONFIG_XTENSA_TRUE@am__append_41 = \ + @CONFIG_XTENSA_TRUE@ xtensa/default.specs \ + @CONFIG_XTENSA_TRUE@ xtensa/nano.specs \ + @CONFIG_XTENSA_TRUE@ xtensa/sim.elf.specs \ +@@ -200,27 +202,27 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) + @CONFIG_XTENSA_TRUE@ xtensa/sys.openocd.specs \ + @CONFIG_XTENSA_TRUE@ xtensa/crt0.o + +-@CONFIG_XTENSA_TRUE@am__append_40 = \ ++@CONFIG_XTENSA_TRUE@am__append_42 = \ + @CONFIG_XTENSA_TRUE@ xtensa/crt0.S \ + @CONFIG_XTENSA_TRUE@ xtensa/crt1-sim.S \ + @CONFIG_XTENSA_TRUE@ xtensa/crt1-boards.S + +-@CONFIG_XTENSA_TRUE@am__append_41 = xtensa/libgloss.a +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_42 = \ ++@CONFIG_XTENSA_TRUE@am__append_43 = xtensa/libgloss.a ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_44 = \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/app.elf.ld \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/crt1-sim.o \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/crt1-boards.o + +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_43 = xtensa/libsys_qemu.a \ ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_45 = xtensa/libsys_qemu.a \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/libsys_openocd.a +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_44 = xtensa/boards/esp32/memory.elf.ld +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_45 = xtensa/boards/esp32/board.c +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_46 = -I$(srcdir)/xtensa/boards/esp32/include +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_47 = -I$(srcdir)/xtensa/boards/esp32/include +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_48 = xtensa/boards/esp32s3/memory.elf.ld +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_49 = xtensa/boards/esp32s3/board.c +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_50 = -I$(srcdir)/xtensa/boards/esp32s3/include +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_51 = -I$(srcdir)/xtensa/boards/esp32s3/include ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_46 = xtensa/boards/esp32/memory.elf.ld ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_47 = xtensa/boards/esp32/board.c ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_48 = -I$(srcdir)/xtensa/boards/esp32/include ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_49 = -I$(srcdir)/xtensa/boards/esp32/include ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_50 = xtensa/boards/esp32s3/memory.elf.ld ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_51 = xtensa/boards/esp32s3/board.c ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_52 = -I$(srcdir)/xtensa/boards/esp32s3/include ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_53 = -I$(srcdir)/xtensa/boards/esp32s3/include subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ -@@ -199,6 +201,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ +@@ -230,6 +232,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ $(top_srcdir)/aarch64/acinclude.m4 \ $(top_srcdir)/arm/acinclude.m4 $(top_srcdir)/i386/acinclude.m4 \ $(top_srcdir)/libnosys/acinclude.m4 \ @@ -59,9 +103,9 @@ index a117577ea..2a1a2ff6f 100644 $(top_srcdir)/m68k/acinclude.m4 \ $(top_srcdir)/mcore/acinclude.m4 \ $(top_srcdir)/mips/acinclude.m4 \ -@@ -421,6 +424,62 @@ libobjs_a_LIBADD = +@@ -459,6 +462,62 @@ libobjs_a_LIBADD = am_libobjs_a_OBJECTS = $(am__objects_3) $(am__objects_4) \ - $(am__objects_5) $(am__objects_6) + $(am__objects_5) $(am__objects_6) $(am__objects_7) libobjs_a_OBJECTS = $(am_libobjs_a_OBJECTS) +libsysbase_libsysbase_a_AR = $(AR) $(ARFLAGS) +libsysbase_libsysbase_a_LIBADD = @@ -122,22 +166,22 @@ index a117577ea..2a1a2ff6f 100644 lm32_libgloss_a_AR = $(AR) $(ARFLAGS) lm32_libgloss_a_LIBADD = @CONFIG_LM32_TRUE@am_lm32_libgloss_a_OBJECTS = lm32/isatty.$(OBJEXT) \ -@@ -572,10 +631,10 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ +@@ -668,10 +727,10 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ $(bfin_libbfinbsp_a_SOURCES) $(bfin_libsim_a_SOURCES) \ $(csky_libsemi_a_SOURCES) $(d30v_libsim_a_SOURCES) \ $(iq2000_libeval_a_SOURCES) $(libnosys_libnosys_a_SOURCES) \ - $(libobjs_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ - $(nios2_libnios2_a_SOURCES) $(riscv_libgloss_a_SOURCES) \ -- $(riscv_libsemihost_a_SOURCES) bfin/sim-test.c iq2000/test.c \ -- $(wince_stub_exe_SOURCES) +- $(riscv_libsemihost_a_SOURCES) $(riscv_libsim_a_SOURCES) \ +- $(xtensa_libgloss_a_SOURCES) \ + $(libobjs_a_SOURCES) $(libsysbase_libsysbase_a_SOURCES) \ + $(lm32_libgloss_a_SOURCES) $(nios2_libnios2_a_SOURCES) \ + $(riscv_libgloss_a_SOURCES) $(riscv_libsemihost_a_SOURCES) \ -+ bfin/sim-test.c iq2000/test.c $(wince_stub_exe_SOURCES) - AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) - am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) - am__v_DVIPS_0 = @echo " DVIPS " $@; -@@ -662,7 +721,7 @@ ETAGS = etags ++ $(riscv_libsim_a_SOURCES) $(xtensa_libgloss_a_SOURCES) \ + $(xtensa_libsys_openocd_a_SOURCES) \ + $(xtensa_libsys_qemu_a_SOURCES) bfin/sim-test.c iq2000/test.c \ + $(wince_stub_exe_SOURCES) +@@ -761,7 +820,7 @@ ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) @@ -146,7 +190,16 @@ index a117577ea..2a1a2ff6f 100644 AARCH64_OBJTYPE = @AARCH64_OBJTYPE@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ -@@ -772,6 +831,7 @@ pdfdir = @pdfdir@ +@@ -779,7 +838,7 @@ CCASFLAGS = @CCASFLAGS@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ + CPP = @CPP@ +-CPPFLAGS = @CPPFLAGS@ $(am__append_38) ++CPPFLAGS = @CPPFLAGS@ $(am__append_40) + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +@@ -874,6 +933,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ @@ -154,34 +207,37 @@ index a117577ea..2a1a2ff6f 100644 sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -@@ -797,12 +857,13 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) +@@ -899,14 +959,14 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) multilibtool_DATA = $(am__append_3) $(am__append_6) $(am__append_7) \ $(am__append_8) $(am__append_13) $(am__append_15) \ $(am__append_18) $(am__append_22) $(am__append_23) \ - $(am__append_27) $(am__append_29) $(am__append_32) \ -- $(am__append_34) +- $(am__append_34) $(am__append_39) $(am__append_42) \ +- $(am__append_44) $(am__append_48) + $(am__append_27) $(am__append_29) $(am__append_31) \ -+ $(am__append_34) $(am__append_36) ++ $(am__append_34) $(am__append_36) $(am__append_41) \ ++ $(am__append_44) $(am__append_46) $(am__append_50) multilibtool_LIBRARIES = $(am__append_2) $(am__append_5) \ $(am__append_9) $(am__append_11) $(am__append_20) \ $(am__append_21) $(am__append_24) $(am__append_28) \ -- $(am__append_30) $(am__append_33) $(am__append_35) +- $(am__append_30) $(am__append_33) $(am__append_35) \ +- $(am__append_41) $(am__append_43) + $(am__append_30) $(am__append_32) $(am__append_35) \ -+ $(am__append_37) ++ $(am__append_37) $(am__append_43) $(am__append_45) includetooldir = $(tooldir)/include includetool_DATA = $(am__append_16) includesystooldir = $(tooldir)/include/sys -@@ -813,7 +874,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include +@@ -917,7 +977,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include # to install (e.g. our crt0.o objects). noinst_LIBRARIES = libobjs.a libobjs_a_SOURCES = $(am__append_14) $(am__append_19) $(am__append_25) \ -- $(am__append_31) -+ $(am__append_33) +- $(am__append_31) $(am__append_40) ++ $(am__append_33) $(am__append_42) FLAGS_TO_PASS = \ "CC=$(CC)" \ "CFLAGS=$(CFLAGS)" \ -@@ -992,6 +1053,61 @@ TEXINFO_TEX = ../texinfo/texinfo.tex - @CONFIG_LIBNOSYS_TRUE@ libnosys/write.c \ +@@ -1098,6 +1158,61 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBNOSYS_TRUE@ libnosys/getentropy.c \ @CONFIG_LIBNOSYS_TRUE@ libnosys/_exit.c +@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE @@ -242,25 +298,51 @@ index a117577ea..2a1a2ff6f 100644 @CONFIG_LM32_TRUE@lm32_libgloss_a_SOURCES = \ @CONFIG_LM32_TRUE@ lm32/isatty.c \ @CONFIG_LM32_TRUE@ lm32/scall.S -@@ -1099,7 +1215,7 @@ all: config.h +@@ -1203,19 +1318,19 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libgloss_a_SOURCES = xtensa/sleep.S \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/syscalls.c \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/window-vectors.S \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_45) \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_49) ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_47) \ ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_51) + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libsys_qemu_a_CPPFLAGS = -DQEMU_SEMIHOSTING \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_46) \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_50) ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_48) \ ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_52) + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libsys_qemu_a_SOURCES = \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/sim-vectors.S \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/sim-call.S \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/syscalls.c + + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libsys_openocd_a_CPPFLAGS = -DOPENOCD_SEMIHOSTING \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_47) \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_51) ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_49) \ ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_53) + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libsys_openocd_a_SOURCES = \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/syscalls.c + +@@ -1228,7 +1343,7 @@ all: config.h .SUFFIXES: .S .c .dvi .o .obj .ps am--refresh: Makefile @: --$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) +-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(srcdir)/xtensa/Makefile.inc $(am__configure_deps) ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(srcdir)/xtensa/Makefile.inc $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ -@@ -1121,7 +1237,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +@@ -1250,7 +1365,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; --$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): -+$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): +-$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(srcdir)/xtensa/Makefile.inc $(am__empty): ++$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(srcdir)/xtensa/Makefile.inc $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -@@ -1585,6 +1701,173 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE +@@ -1730,6 +1845,173 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE $(AM_V_at)-rm -f libobjs.a $(AM_V_AR)$(libobjs_a_AR) libobjs.a $(libobjs_a_OBJECTS) $(libobjs_a_LIBADD) $(AM_V_at)$(RANLIB) libobjs.a @@ -434,7 +516,7 @@ index a117577ea..2a1a2ff6f 100644 lm32/isatty.$(OBJEXT): lm32/$(am__dirstamp) \ lm32/$(DEPDIR)/$(am__dirstamp) lm32/scall.$(OBJEXT): lm32/$(am__dirstamp) \ -@@ -1852,6 +2135,7 @@ mostlyclean-compile: +@@ -2113,6 +2395,7 @@ mostlyclean-compile: -rm -f d30v/*.$(OBJEXT) -rm -f iq2000/*.$(OBJEXT) -rm -f libnosys/*.$(OBJEXT) @@ -442,7 +524,7 @@ index a117577ea..2a1a2ff6f 100644 -rm -f lm32/*.$(OBJEXT) -rm -f nios2/*.$(OBJEXT) -rm -f riscv/*.$(OBJEXT) -@@ -1973,6 +2257,58 @@ distclean-compile: +@@ -2238,6 +2521,58 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/unlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/wait.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/write.Po@am__quote@ @@ -501,7 +583,7 @@ index a117577ea..2a1a2ff6f 100644 @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/crt0.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/isatty.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/scall.Po@am__quote@ -@@ -2717,6 +3053,734 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c +@@ -3082,6 +3417,734 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csky_libsemi_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o csky/csky_libsemi_a-getpid.obj `if test -f 'csky/getpid.c'; then $(CYGPATH_W) 'csky/getpid.c'; else $(CYGPATH_W) '$(srcdir)/csky/getpid.c'; fi` @@ -1236,7 +1318,7 @@ index a117577ea..2a1a2ff6f 100644 nios2/nios2_libnios2_a-io-close.o: nios2/io-close.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(nios2_libnios2_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nios2/nios2_libnios2_a-io-close.o -MD -MP -MF nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo -c -o nios2/nios2_libnios2_a-io-close.o `test -f 'nios2/io-close.c' || echo '$(srcdir)/'`nios2/io-close.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Po -@@ -4220,6 +5284,8 @@ distclean-generic: +@@ -5103,6 +6166,8 @@ distclean-generic: -rm -f iq2000/$(am__dirstamp) -rm -f libnosys/$(DEPDIR)/$(am__dirstamp) -rm -f libnosys/$(am__dirstamp) @@ -1245,29 +1327,29 @@ index a117577ea..2a1a2ff6f 100644 -rm -f lm32/$(DEPDIR)/$(am__dirstamp) -rm -f lm32/$(am__dirstamp) -rm -f nios2/$(DEPDIR)/$(am__dirstamp) -@@ -4239,7 +5305,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ +@@ -5129,7 +6194,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) -+ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) +- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) xtensa/$(DEPDIR) xtensa/boards/esp32/$(DEPDIR) xtensa/boards/esp32s3/$(DEPDIR) ++ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) xtensa/$(DEPDIR) xtensa/boards/esp32/$(DEPDIR) xtensa/boards/esp32s3/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-local distclean-tags -@@ -4382,7 +5448,7 @@ installcheck-am: +@@ -5272,7 +6337,7 @@ installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) -+ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) +- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) xtensa/$(DEPDIR) xtensa/boards/esp32/$(DEPDIR) xtensa/boards/esp32s3/$(DEPDIR) ++ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) xtensa/$(DEPDIR) xtensa/boards/esp32/$(DEPDIR) xtensa/boards/esp32s3/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-aminfo \ maintainer-clean-generic maintainer-clean-local diff --git a/libgloss/configure b/libgloss/configure -index 28754b6d5..2e04092ab 100755 +index 5f6bc5841..b5e41eb03 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -638,6 +638,8 @@ CONFIG_NIOS2_FALSE +@@ -649,6 +649,8 @@ CONFIG_NIOS2_FALSE CONFIG_NIOS2_TRUE CONFIG_LM32_FALSE CONFIG_LM32_TRUE @@ -1276,7 +1358,7 @@ index 28754b6d5..2e04092ab 100755 CONFIG_LIBNOSYS_FALSE CONFIG_LIBNOSYS_TRUE CONFIG_IQ2000_FALSE -@@ -722,6 +724,7 @@ infodir +@@ -733,6 +735,7 @@ infodir docdir oldincludedir includedir @@ -1284,7 +1366,7 @@ index 28754b6d5..2e04092ab 100755 localstatedir sharedstatedir sysconfdir -@@ -800,6 +803,7 @@ datadir='${datarootdir}' +@@ -811,6 +814,7 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' @@ -1292,7 +1374,7 @@ index 28754b6d5..2e04092ab 100755 includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -@@ -1052,6 +1056,15 @@ do +@@ -1063,6 +1067,15 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; @@ -1308,7 +1390,7 @@ index 28754b6d5..2e04092ab 100755 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ -@@ -1189,7 +1202,7 @@ fi +@@ -1200,7 +1213,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ @@ -1317,7 +1399,7 @@ index 28754b6d5..2e04092ab 100755 do eval ac_val=\$$ac_var # Remove trailing slashes. -@@ -1342,6 +1355,7 @@ Fine tuning of the installation directories: +@@ -1353,6 +1366,7 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] @@ -1325,7 +1407,7 @@ index 28754b6d5..2e04092ab 100755 --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] -@@ -2745,6 +2759,8 @@ config_testsuite=true +@@ -2756,6 +2770,8 @@ config_testsuite=true config_libnosys=true @@ -1334,7 +1416,7 @@ index 28754b6d5..2e04092ab 100755 host_makefile_frag=${srcdir}/config/default.mh target_makefile_frag=${srcdir}/config/default.mt -@@ -3047,6 +3063,14 @@ else +@@ -3061,6 +3077,14 @@ else CONFIG_LIBNOSYS_FALSE= fi @@ -1349,10 +1431,10 @@ index 28754b6d5..2e04092ab 100755 if test x$config_lm32 = xtrue; then CONFIG_LM32_TRUE= CONFIG_LM32_FALSE='#' -@@ -4924,6 +4948,35 @@ case "${target}" in +@@ -4976,6 +5000,35 @@ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h + ;; esac - +case "${target}" in + *-*-cygwin*) ;; + a29k-amd-udi) ;; @@ -1382,10 +1464,10 @@ index 28754b6d5..2e04092ab 100755 + ;; +esac + + M68K_TARGET=m68k case "${target}" in - *-*-cygwin*) ;; - a29k-amd-udi) ;; -@@ -5331,6 +5384,10 @@ if test -z "${CONFIG_LIBNOSYS_TRUE}" && test -z "${CONFIG_LIBNOSYS_FALSE}"; then + fido-*-* | m68*-*-*) +@@ -5398,6 +5451,10 @@ if test -z "${CONFIG_LIBNOSYS_TRUE}" && test -z "${CONFIG_LIBNOSYS_FALSE}"; then as_fn_error $? "conditional \"CONFIG_LIBNOSYS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi @@ -1397,7 +1479,7 @@ index 28754b6d5..2e04092ab 100755 as_fn_error $? "conditional \"CONFIG_LM32\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff --git a/libgloss/configure.ac b/libgloss/configure.ac -index 5fb26845c..cf07fb118 100644 +index 268d86c51..1b918a61e 100644 --- a/libgloss/configure.ac +++ b/libgloss/configure.ac @@ -43,6 +43,9 @@ config_testsuite=true @@ -1410,16 +1492,16 @@ index 5fb26845c..cf07fb118 100644 host_makefile_frag=${srcdir}/config/default.mh target_makefile_frag=${srcdir}/config/default.mt -@@ -247,7 +250,7 @@ AC_SUBST(subdirs) +@@ -250,7 +253,7 @@ AC_SUBST(subdirs) dnl These subdirs have converted to non-recursive make. Hopefully someday all dnl the ports above will too! m4_foreach_w([SUBDIR], [ -- aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 nios2 riscv wince -+ aarch64 arc arm bfin csky d30v iq2000 libnosys libsysbase lm32 nios2 riscv wince +- aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 nios2 riscv wince xtensa ++ aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 libsysbase nios2 riscv wince xtensa ], [dnl AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue) ]) -@@ -343,6 +346,7 @@ m4_include([aarch64/acinclude.m4]) +@@ -346,6 +349,7 @@ m4_include([aarch64/acinclude.m4]) m4_include([arm/acinclude.m4]) m4_include([i386/acinclude.m4]) m4_include([libnosys/acinclude.m4]) @@ -8973,49 +9055,49 @@ index 36c30092d..7e54036ed 100644 converted to the new style linker. */ .stab 0 : { *(.stab) } diff --git a/newlib/Makefile.in b/newlib/Makefile.in -index bc967bd70..b0d8d64f0 100644 +index 9a32646ab..fb28f3611 100644 --- a/newlib/Makefile.in +++ b/newlib/Makefile.in -@@ -668,7 +668,7 @@ check_PROGRAMS = +@@ -679,7 +679,7 @@ check_PROGRAMS = @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy-stub.c \ @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy.S \ @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen-stub.c \ -@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen.S +@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/sync_synchronize.c - @HAVE_LIBC_MACHINE_BFIN_TRUE@am__append_69 = libc/machine/bfin/setjmp.S libc/machine/bfin/longjmp.S - @HAVE_LIBC_MACHINE_CR16_TRUE@am__append_70 = libc/machine/cr16/setjmp.S libc/machine/cr16/getenv.c -@@ -767,7 +767,9 @@ check_PROGRAMS = + @HAVE_LIBC_MACHINE_BFIN_TRUE@am__append_70 = libc/machine/bfin/setjmp.S libc/machine/bfin/longjmp.S + @HAVE_LIBC_MACHINE_CR16_TRUE@am__append_71 = libc/machine/cr16/setjmp.S libc/machine/cr16/getenv.c +@@ -778,7 +778,9 @@ check_PROGRAMS = @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/misc.c libc/machine/nvptx/clock.c - @HAVE_LIBC_MACHINE_OR1K_TRUE@am__append_108 = libc/machine/or1k/setjmp.S --@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S -+@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S \ + @HAVE_LIBC_MACHINE_OR1K_TRUE@am__append_109 = libc/machine/or1k/setjmp.S +-@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_110 = libc/machine/powerpc/setjmp.S ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_110 = libc/machine/powerpc/setjmp.S \ +@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/access.c + - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__append_110 = \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__append_111 = \ @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfprintf.c \ @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfscanf.c \ -@@ -1893,7 +1895,7 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ +@@ -1943,7 +1945,7 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy-stub.$(OBJEXT) \ @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy.$(OBJEXT) \ @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen-stub.$(OBJEXT) \ -@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen.$(OBJEXT) +@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT) - @HAVE_LIBC_MACHINE_BFIN_TRUE@am__objects_80 = libc/machine/bfin/libc_a-setjmp.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_BFIN_TRUE@am__objects_81 = libc/machine/bfin/libc_a-setjmp.$(OBJEXT) \ @HAVE_LIBC_MACHINE_BFIN_TRUE@ libc/machine/bfin/libc_a-longjmp.$(OBJEXT) - @HAVE_LIBC_MACHINE_CR16_TRUE@am__objects_81 = libc/machine/cr16/libc_a-setjmp.$(OBJEXT) \ -@@ -2043,7 +2045,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_CR16_TRUE@am__objects_82 = libc/machine/cr16/libc_a-setjmp.$(OBJEXT) \ +@@ -2093,7 +2095,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-misc.$(OBJEXT) \ @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-clock.$(OBJEXT) - @HAVE_LIBC_MACHINE_OR1K_TRUE@am__objects_118 = libc/machine/or1k/libc_a-setjmp.$(OBJEXT) --@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) -+@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_OR1K_TRUE@am__objects_119 = libc/machine/or1k/libc_a-setjmp.$(OBJEXT) +-@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_120 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_120 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) \ +@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/libc_a-access.$(OBJEXT) - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__objects_120 = libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__objects_121 = libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT) \ @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vfscanf.$(OBJEXT) \ @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vec_malloc.$(OBJEXT) \ -@@ -3768,6 +3771,7 @@ pdfdir = @pdfdir@ +@@ -3937,6 +3940,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ @@ -9023,7 +9105,7 @@ index bc967bd70..b0d8d64f0 100644 sbindir = @sbindir@ shared_machine_dir = @shared_machine_dir@ sharedstatedir = @sharedstatedir@ -@@ -8021,7 +8025,7 @@ libc/machine/arm/libc_a-memcpy.$(OBJEXT): \ +@@ -8326,7 +8330,7 @@ libc/machine/arm/libc_a-memcpy.$(OBJEXT): \ libc/machine/arm/libc_a-strlen-stub.$(OBJEXT): \ libc/machine/arm/$(am__dirstamp) \ libc/machine/arm/$(DEPDIR)/$(am__dirstamp) @@ -9032,7 +9114,7 @@ index bc967bd70..b0d8d64f0 100644 libc/machine/arm/$(am__dirstamp) \ libc/machine/arm/$(DEPDIR)/$(am__dirstamp) libc/machine/bfin/$(am__dirstamp): -@@ -8696,6 +8700,9 @@ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp): +@@ -9001,6 +9005,9 @@ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp): libc/machine/powerpc/libc_a-setjmp.$(OBJEXT): \ libc/machine/powerpc/$(am__dirstamp) \ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) @@ -9042,7 +9124,7 @@ index bc967bd70..b0d8d64f0 100644 libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT): \ libc/machine/powerpc/$(am__dirstamp) \ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) -@@ -12338,7 +12345,7 @@ distclean-compile: +@@ -12867,7 +12874,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcpy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen-stub.Po@am__quote@ @@ -9051,7 +9133,7 @@ index bc967bd70..b0d8d64f0 100644 @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-longjmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po@am__quote@ -@@ -12487,6 +12494,7 @@ distclean-compile: +@@ -13016,6 +13023,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-reallocr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-write.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/or1k/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ @@ -9059,7 +9141,7 @@ index bc967bd70..b0d8d64f0 100644 @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix16.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix32.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix64.Po@am__quote@ -@@ -16730,20 +16738,6 @@ libc/machine/arm/libc_a-memcpy.obj: libc/machine/arm/memcpy.S +@@ -17357,20 +17365,6 @@ libc/machine/arm/libc_a-memcpy.obj: libc/machine/arm/memcpy.S @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-memcpy.obj `if test -f 'libc/machine/arm/memcpy.S'; then $(CYGPATH_W) 'libc/machine/arm/memcpy.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/memcpy.S'; fi` @@ -9080,7 +9162,7 @@ index bc967bd70..b0d8d64f0 100644 libc/machine/bfin/libc_a-setjmp.o: libc/machine/bfin/setjmp.S @am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/bfin/libc_a-setjmp.o -MD -MP -MF libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo -c -o libc/machine/bfin/libc_a-setjmp.o `test -f 'libc/machine/bfin/setjmp.S' || echo '$(srcdir)/'`libc/machine/bfin/setjmp.S @am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po -@@ -32734,6 +32728,20 @@ libc/machine/arm/libc_a-strlen-stub.obj: libc/machine/arm/strlen-stub.c +@@ -33655,6 +33649,20 @@ libc/machine/arm/libc_a-strlen-stub.obj: libc/machine/arm/strlen-stub.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-strlen-stub.obj `if test -f 'libc/machine/arm/strlen-stub.c'; then $(CYGPATH_W) 'libc/machine/arm/strlen-stub.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen-stub.c'; fi` @@ -9101,7 +9183,7 @@ index bc967bd70..b0d8d64f0 100644 libc/machine/cr16/libc_a-getenv.o: libc/machine/cr16/getenv.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/cr16/libc_a-getenv.o -MD -MP -MF libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo -c -o libc/machine/cr16/libc_a-getenv.o `test -f 'libc/machine/cr16/getenv.c' || echo '$(srcdir)/'`libc/machine/cr16/getenv.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po -@@ -33252,6 +33260,20 @@ libc/machine/nvptx/libc_a-clock.obj: libc/machine/nvptx/clock.c +@@ -34173,6 +34181,20 @@ libc/machine/nvptx/libc_a-clock.obj: libc/machine/nvptx/clock.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/nvptx/libc_a-clock.obj `if test -f 'libc/machine/nvptx/clock.c'; then $(CYGPATH_W) 'libc/machine/nvptx/clock.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/nvptx/clock.c'; fi` @@ -9123,10 +9205,10 @@ index bc967bd70..b0d8d64f0 100644 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-vfprintf.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo -c -o libc/machine/powerpc/libc_a-vfprintf.o `test -f 'libc/machine/powerpc/vfprintf.c' || echo '$(srcdir)/'`libc/machine/powerpc/vfprintf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Po diff --git a/newlib/configure.host b/newlib/configure.host -index 0a1ba282a..25722d004 100644 +index 386183466..728170741 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -627,6 +627,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -637,6 +637,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID syscall_dir=syscalls default_newlib_io_long_long="yes" ;; @@ -9141,7 +9223,7 @@ index 0a1ba282a..25722d004 100644 arm*-*-pe) syscall_dir=syscalls newlib_cflags="${newlib_cflags} -DHAVE_SYSCONF_PAGESIZE" -@@ -799,7 +807,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -809,7 +817,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID default_newlib_io_long_long="yes" newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" ;; @@ -9195,10 +9277,10 @@ index a94e923a4..9171e98aa 100644 #define FNM_FILE_NAME FNM_PATHNAME #endif diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h -index 23d572cd3..65310c084 100644 +index b1dd2a7c4..16e29c037 100644 --- a/newlib/libc/include/reent.h +++ b/newlib/libc/include/reent.h -@@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); +@@ -151,6 +151,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); extern int _open_r (struct _reent *, const char *, int, int); extern _ssize_t _read_r (struct _reent *, int, void *, size_t); extern int _rename_r (struct _reent *, const char *, const char *); @@ -9232,10 +9314,10 @@ index 5dcc77a80..6930a751d 100644 #ifdef __AMDGCN__ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 45476ce4a..d76706321 100644 +index a7d4bc52d..6b06ce5a5 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h -@@ -331,6 +331,9 @@ extern "C" { +@@ -344,6 +344,9 @@ extern "C" { # define __SSP_FORTIFY_LEVEL 0 #endif @@ -9391,10 +9473,10 @@ index 9a6f115a6..142e71d35 100644 #define MAXPATHLEN PATH_MAX diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 6d8b005b2..8aefe6b0f 100644 +index a02e7c2bd..61de73f88 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h -@@ -419,6 +419,8 @@ struct _reent +@@ -420,6 +420,8 @@ struct _reent __FILE *__sf; /* file descriptors */ struct _misc_reent *_misc; /* strtok, multibyte states */ char *_signal_buf; /* strsignal */ @@ -9403,7 +9485,7 @@ index 6d8b005b2..8aefe6b0f 100644 }; # define _REENT_INIT(var) \ -@@ -639,6 +641,8 @@ struct _reent +@@ -648,6 +650,8 @@ struct _reent /* signal info */ void (**_sig_func)(int); @@ -9488,7 +9570,7 @@ index 5e937f103..b7b4de67d 100644 }; #endif diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index 65e2b1833..d3171515d 100644 +index b16ec1511..655e01366 100644 --- a/newlib/libc/locale/locale.c +++ b/newlib/libc/locale/locale.c @@ -198,7 +198,11 @@ static char *categories[_LC_LAST] = { @@ -9564,7 +9646,7 @@ index 65e2b1833..d3171515d 100644 { { NULL, NULL }, /* LC_ALL */ diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h -index 3530ec664..0a62bfd72 100644 +index 7abf92f7e..511a616bc 100644 --- a/newlib/libc/locale/setlocale.h +++ b/newlib/libc/locale/setlocale.h @@ -234,11 +234,11 @@ __get_locale_r (struct _reent *r) @@ -9595,7 +9677,7 @@ index 2d6c08d71..81b4f119d 100644 + %D%/sync_synchronize.c + diff --git a/newlib/libc/machine/arm/setjmp.S b/newlib/libc/machine/arm/setjmp.S -index c615f2428..3a3bfd05e 100644 +index 5e5952296..9281cdb54 100644 --- a/newlib/libc/machine/arm/setjmp.S +++ b/newlib/libc/machine/arm/setjmp.S @@ -2,6 +2,8 @@ @@ -9858,7 +9940,7 @@ index 000000000..04ebd1ee0 +#endif /* _NEWLIB_STDIO_H */ + diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index df8321461..6ea00229d 100644 +index 8664dc3e5..dbaba0264 100644 --- a/newlib/libc/stdio/fread.c +++ b/newlib/libc/stdio/fread.c @@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, @@ -9870,7 +9952,7 @@ index df8321461..6ea00229d 100644 } #endif -@@ -187,7 +187,6 @@ _fread_r (struct _reent * ptr, +@@ -191,7 +191,6 @@ _fread_r (struct _reent * ptr, int rc = 0; /* save fp buffering state */ void *old_base = fp->_bf._base; @@ -9878,7 +9960,7 @@ index df8321461..6ea00229d 100644 int old_size = fp->_bf._size; /* allow __refill to use user's buffer */ fp->_bf._base = (unsigned char *) p; -@@ -197,7 +196,7 @@ _fread_r (struct _reent * ptr, +@@ -201,7 +200,7 @@ _fread_r (struct _reent * ptr, /* restore fp buffering back to original state */ fp->_bf._base = old_base; fp->_bf._size = old_size; @@ -9887,7 +9969,7 @@ index df8321461..6ea00229d 100644 resid -= fp->_r; p += fp->_r; fp->_r = 0; -@@ -218,27 +217,63 @@ _fread_r (struct _reent * ptr, +@@ -222,27 +221,63 @@ _fread_r (struct _reent * ptr, else #endif /* !PREFER_SIZE_OVER_SPEED && !__OPTIMIZE_SIZE__ */ { @@ -9994,7 +10076,7 @@ index d8dfdbd82..a85b5a99b 100644 return 0; } diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index 6a198e2c6..5ded3fd6e 100644 +index feb1fab56..7a59eb21f 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c @@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, @@ -10006,7 +10088,7 @@ index 6a198e2c6..5ded3fd6e 100644 #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ static char *rcsid = "$Id$"; -@@ -1431,7 +1433,7 @@ reswitch: switch (ch) { +@@ -1188,7 +1190,7 @@ reswitch: switch (ch) { string: #endif sign = '\0'; @@ -10015,7 +10097,7 @@ index 6a198e2c6..5ded3fd6e 100644 /* Behavior is undefined if the user passed a NULL string when precision is not 0. However, if we are not optimizing for size, -@@ -1441,7 +1443,7 @@ string: +@@ -1198,7 +1200,7 @@ string: size = ((unsigned) prec > 6U) ? 6 : prec; } else @@ -10025,7 +10107,7 @@ index 6a198e2c6..5ded3fd6e 100644 if (ch == 'S' || (flags & LONGINT)) { mbstate_t ps; diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index cfeea9876..ab7e9d7f1 100644 +index 71e2c3e22..bd2d635ed 100644 --- a/newlib/libc/stdio/vfscanf.c +++ b/newlib/libc/stdio/vfscanf.c @@ -74,6 +74,8 @@ These are GNU extensions. @@ -10038,7 +10120,7 @@ index cfeea9876..ab7e9d7f1 100644 #include #include diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c -index 7807a1229..30526cb70 100644 +index 5a5c36829..3eaca0ce6 100644 --- a/newlib/libc/stdio/vfwprintf.c +++ b/newlib/libc/stdio/vfwprintf.c @@ -92,6 +92,9 @@ SEEALSO @@ -10052,7 +10134,7 @@ index 7807a1229..30526cb70 100644 #ifdef INTEGER_ONLY diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index df966f929..106d99e94 100644 +index d2f91dde2..de80cc0c0 100644 --- a/newlib/libc/stdio/vfwscanf.c +++ b/newlib/libc/stdio/vfwscanf.c @@ -74,6 +74,9 @@ PORTABILITY diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index 06a92ef..b5a8607 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -101,7 +101,7 @@ then --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 44.2" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 45" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index 9d2a3a3..b5e1da0 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -42,7 +42,7 @@ case "$VERSION" in GCC_VER=13.2.0 BINUTILS_VER=2.41 MN_BINUTILS_VER=2.24 - NEWLIB_VER=4.3.0.20230120 + NEWLIB_VER=4.4.0.20231231 basedir='dkppc' package=devkitPPC target=powerpc-eabi From dfb3d82a96192028216a989df15b2789bda45048 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 7 Jan 2024 15:08:15 +0000 Subject: [PATCH 241/280] devkitARM: update newlib to 4.4.0 --- build-devkit.sh | 2 +- ...0120.patch => newlib-4.4.0.20231231.patch} | 391 ++++++++++++------ dkarm-eabi/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 259 insertions(+), 138 deletions(-) rename dkarm-eabi/patches/{newlib-4.3.0.20230120.patch => newlib-4.4.0.20231231.patch} (97%) diff --git a/build-devkit.sh b/build-devkit.sh index 55e3e53..f8a4313 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash #--------------------------------------------------------------------------------- -# devkitARM release 62 +# devkitARM release 63 # devkitPPC release 45 # devkitA64 release 24 #--------------------------------------------------------------------------------- diff --git a/dkarm-eabi/patches/newlib-4.3.0.20230120.patch b/dkarm-eabi/patches/newlib-4.4.0.20231231.patch similarity index 97% rename from dkarm-eabi/patches/newlib-4.3.0.20230120.patch rename to dkarm-eabi/patches/newlib-4.4.0.20231231.patch index 727b64b..c9a5988 100644 --- a/dkarm-eabi/patches/newlib-4.3.0.20230120.patch +++ b/dkarm-eabi/patches/newlib-4.4.0.20231231.patch @@ -1,5 +1,5 @@ diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am -index 4309cd3a4..fad31dbe0 100644 +index 0d4460b58..0eab54b65 100644 --- a/libgloss/Makefile.am +++ b/libgloss/Makefile.am @@ -87,6 +87,9 @@ endif @@ -13,10 +13,10 @@ index 4309cd3a4..fad31dbe0 100644 include lm32/Makefile.inc endif diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in -index a117577ea..44731970d 100644 +index fd845cf5f..5f80b89ab 100644 --- a/libgloss/Makefile.in +++ b/libgloss/Makefile.in -@@ -173,23 +173,26 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) +@@ -173,25 +173,28 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) @CONFIG_IQ2000_TRUE@am__append_26 = iq2000/test @CONFIG_LIBNOSYS_TRUE@am__append_27 = libnosys/nosys.specs @CONFIG_LIBNOSYS_TRUE@am__append_28 = libnosys/libnosys.a @@ -42,17 +42,61 @@ index a117577ea..44731970d 100644 @CONFIG_RISCV_TRUE@ riscv/semihost.specs \ @CONFIG_RISCV_TRUE@ riscv/crt0.o --@CONFIG_RISCV_TRUE@am__append_35 = riscv/libgloss.a \ -+@CONFIG_RISCV_TRUE@am__append_37 = riscv/libgloss.a \ +-@CONFIG_RISCV_TRUE@am__append_35 = riscv/libgloss.a riscv/libsim.a \ ++@CONFIG_RISCV_TRUE@am__append_37 = riscv/libgloss.a riscv/libsim.a \ @CONFIG_RISCV_TRUE@ riscv/libsemihost.a -@CONFIG_WINCE_TRUE@am__append_36 = $(gdbdir) -@CONFIG_WINCE_TRUE@am__append_37 = wince/stub.exe +-@CONFIG_XTENSA_TRUE@am__append_38 = -D_LIBGLOSS -I$(srcdir)/xtensa/include +-@CONFIG_XTENSA_TRUE@am__append_39 = \ +@CONFIG_WINCE_TRUE@am__append_38 = $(gdbdir) +@CONFIG_WINCE_TRUE@am__append_39 = wince/stub.exe ++@CONFIG_XTENSA_TRUE@am__append_40 = -D_LIBGLOSS -I$(srcdir)/xtensa/include ++@CONFIG_XTENSA_TRUE@am__append_41 = \ + @CONFIG_XTENSA_TRUE@ xtensa/default.specs \ + @CONFIG_XTENSA_TRUE@ xtensa/nano.specs \ + @CONFIG_XTENSA_TRUE@ xtensa/sim.elf.specs \ +@@ -200,27 +203,27 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) + @CONFIG_XTENSA_TRUE@ xtensa/sys.openocd.specs \ + @CONFIG_XTENSA_TRUE@ xtensa/crt0.o + +-@CONFIG_XTENSA_TRUE@am__append_40 = \ ++@CONFIG_XTENSA_TRUE@am__append_42 = \ + @CONFIG_XTENSA_TRUE@ xtensa/crt0.S \ + @CONFIG_XTENSA_TRUE@ xtensa/crt1-sim.S \ + @CONFIG_XTENSA_TRUE@ xtensa/crt1-boards.S + +-@CONFIG_XTENSA_TRUE@am__append_41 = xtensa/libgloss.a +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_42 = \ ++@CONFIG_XTENSA_TRUE@am__append_43 = xtensa/libgloss.a ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_44 = \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/app.elf.ld \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/crt1-sim.o \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/crt1-boards.o + +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_43 = xtensa/libsys_qemu.a \ ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_45 = xtensa/libsys_qemu.a \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/libsys_openocd.a +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_44 = xtensa/boards/esp32/memory.elf.ld +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_45 = xtensa/boards/esp32/board.c +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_46 = -I$(srcdir)/xtensa/boards/esp32/include +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_47 = -I$(srcdir)/xtensa/boards/esp32/include +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_48 = xtensa/boards/esp32s3/memory.elf.ld +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_49 = xtensa/boards/esp32s3/board.c +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_50 = -I$(srcdir)/xtensa/boards/esp32s3/include +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_51 = -I$(srcdir)/xtensa/boards/esp32s3/include ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_46 = xtensa/boards/esp32/memory.elf.ld ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_47 = xtensa/boards/esp32/board.c ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_48 = -I$(srcdir)/xtensa/boards/esp32/include ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_49 = -I$(srcdir)/xtensa/boards/esp32/include ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_50 = xtensa/boards/esp32s3/memory.elf.ld ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_51 = xtensa/boards/esp32s3/board.c ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_52 = -I$(srcdir)/xtensa/boards/esp32s3/include ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_53 = -I$(srcdir)/xtensa/boards/esp32s3/include subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ -@@ -199,6 +202,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ +@@ -230,6 +233,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ $(top_srcdir)/aarch64/acinclude.m4 \ $(top_srcdir)/arm/acinclude.m4 $(top_srcdir)/i386/acinclude.m4 \ $(top_srcdir)/libnosys/acinclude.m4 \ @@ -60,9 +104,9 @@ index a117577ea..44731970d 100644 $(top_srcdir)/m68k/acinclude.m4 \ $(top_srcdir)/mcore/acinclude.m4 \ $(top_srcdir)/mips/acinclude.m4 \ -@@ -421,6 +425,69 @@ libobjs_a_LIBADD = +@@ -459,6 +463,69 @@ libobjs_a_LIBADD = am_libobjs_a_OBJECTS = $(am__objects_3) $(am__objects_4) \ - $(am__objects_5) $(am__objects_6) + $(am__objects_5) $(am__objects_6) $(am__objects_7) libobjs_a_OBJECTS = $(am_libobjs_a_OBJECTS) +libsysbase_libpthread_a_AR = $(AR) $(ARFLAGS) +libsysbase_libpthread_a_LIBADD = @@ -130,7 +174,7 @@ index a117577ea..44731970d 100644 lm32_libgloss_a_AR = $(AR) $(ARFLAGS) lm32_libgloss_a_LIBADD = @CONFIG_LM32_TRUE@am_lm32_libgloss_a_OBJECTS = lm32/isatty.$(OBJEXT) \ -@@ -572,7 +639,8 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ +@@ -668,7 +735,8 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ $(bfin_libbfinbsp_a_SOURCES) $(bfin_libsim_a_SOURCES) \ $(csky_libsemi_a_SOURCES) $(d30v_libsim_a_SOURCES) \ $(iq2000_libeval_a_SOURCES) $(libnosys_libnosys_a_SOURCES) \ @@ -138,9 +182,9 @@ index a117577ea..44731970d 100644 + $(libobjs_a_SOURCES) $(libsysbase_libpthread_a_SOURCES) \ + $(libsysbase_libsysbase_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ $(nios2_libnios2_a_SOURCES) $(riscv_libgloss_a_SOURCES) \ - $(riscv_libsemihost_a_SOURCES) bfin/sim-test.c iq2000/test.c \ - $(wince_stub_exe_SOURCES) -@@ -662,7 +730,7 @@ ETAGS = etags + $(riscv_libsemihost_a_SOURCES) $(riscv_libsim_a_SOURCES) \ + $(xtensa_libgloss_a_SOURCES) \ +@@ -761,7 +829,7 @@ ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) @@ -149,7 +193,16 @@ index a117577ea..44731970d 100644 AARCH64_OBJTYPE = @AARCH64_OBJTYPE@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ -@@ -772,6 +840,7 @@ pdfdir = @pdfdir@ +@@ -779,7 +847,7 @@ CCASFLAGS = @CCASFLAGS@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ + CPP = @CPP@ +-CPPFLAGS = @CPPFLAGS@ $(am__append_38) ++CPPFLAGS = @CPPFLAGS@ $(am__append_40) + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +@@ -874,6 +942,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ @@ -157,34 +210,37 @@ index a117577ea..44731970d 100644 sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -@@ -797,12 +866,13 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) +@@ -899,14 +968,14 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) multilibtool_DATA = $(am__append_3) $(am__append_6) $(am__append_7) \ $(am__append_8) $(am__append_13) $(am__append_15) \ $(am__append_18) $(am__append_22) $(am__append_23) \ - $(am__append_27) $(am__append_29) $(am__append_32) \ -- $(am__append_34) +- $(am__append_34) $(am__append_39) $(am__append_42) \ +- $(am__append_44) $(am__append_48) + $(am__append_27) $(am__append_29) $(am__append_31) \ -+ $(am__append_34) $(am__append_36) ++ $(am__append_34) $(am__append_36) $(am__append_41) \ ++ $(am__append_44) $(am__append_46) $(am__append_50) multilibtool_LIBRARIES = $(am__append_2) $(am__append_5) \ $(am__append_9) $(am__append_11) $(am__append_20) \ $(am__append_21) $(am__append_24) $(am__append_28) \ -- $(am__append_30) $(am__append_33) $(am__append_35) +- $(am__append_30) $(am__append_33) $(am__append_35) \ +- $(am__append_41) $(am__append_43) + $(am__append_30) $(am__append_32) $(am__append_35) \ -+ $(am__append_37) ++ $(am__append_37) $(am__append_43) $(am__append_45) includetooldir = $(tooldir)/include includetool_DATA = $(am__append_16) includesystooldir = $(tooldir)/include/sys -@@ -813,7 +883,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include +@@ -917,7 +986,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include # to install (e.g. our crt0.o objects). noinst_LIBRARIES = libobjs.a libobjs_a_SOURCES = $(am__append_14) $(am__append_19) $(am__append_25) \ -- $(am__append_31) -+ $(am__append_33) +- $(am__append_31) $(am__append_40) ++ $(am__append_33) $(am__append_42) FLAGS_TO_PASS = \ "CC=$(CC)" \ "CFLAGS=$(CFLAGS)" \ -@@ -992,6 +1062,65 @@ TEXINFO_TEX = ../texinfo/texinfo.tex - @CONFIG_LIBNOSYS_TRUE@ libnosys/write.c \ +@@ -1098,6 +1167,65 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBNOSYS_TRUE@ libnosys/getentropy.c \ @CONFIG_LIBNOSYS_TRUE@ libnosys/_exit.c +@CONFIG_LIBSYSBASE_TRUE@libsysbase_libpthread_a_SOURCES = \ @@ -249,25 +305,51 @@ index a117577ea..44731970d 100644 @CONFIG_LM32_TRUE@lm32_libgloss_a_SOURCES = \ @CONFIG_LM32_TRUE@ lm32/isatty.c \ @CONFIG_LM32_TRUE@ lm32/scall.S -@@ -1099,7 +1228,7 @@ all: config.h +@@ -1203,19 +1331,19 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libgloss_a_SOURCES = xtensa/sleep.S \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/syscalls.c \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/window-vectors.S \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_45) \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_49) ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_47) \ ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_51) + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libsys_qemu_a_CPPFLAGS = -DQEMU_SEMIHOSTING \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_46) \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_50) ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_48) \ ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_52) + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libsys_qemu_a_SOURCES = \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/sim-vectors.S \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/sim-call.S \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/syscalls.c + + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libsys_openocd_a_CPPFLAGS = -DOPENOCD_SEMIHOSTING \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_47) \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_51) ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_49) \ ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_53) + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libsys_openocd_a_SOURCES = \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/syscalls.c + +@@ -1228,7 +1356,7 @@ all: config.h .SUFFIXES: .S .c .dvi .o .obj .ps am--refresh: Makefile @: --$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) +-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(srcdir)/xtensa/Makefile.inc $(am__configure_deps) ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(srcdir)/xtensa/Makefile.inc $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ -@@ -1121,7 +1250,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +@@ -1250,7 +1378,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; --$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): -+$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): +-$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(srcdir)/xtensa/Makefile.inc $(am__empty): ++$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(srcdir)/xtensa/Makefile.inc $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -@@ -1585,6 +1714,183 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE +@@ -1730,6 +1858,183 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE $(AM_V_at)-rm -f libobjs.a $(AM_V_AR)$(libobjs_a_AR) libobjs.a $(libobjs_a_OBJECTS) $(libobjs_a_LIBADD) $(AM_V_at)$(RANLIB) libobjs.a @@ -451,7 +533,7 @@ index a117577ea..44731970d 100644 lm32/isatty.$(OBJEXT): lm32/$(am__dirstamp) \ lm32/$(DEPDIR)/$(am__dirstamp) lm32/scall.$(OBJEXT): lm32/$(am__dirstamp) \ -@@ -1852,6 +2158,7 @@ mostlyclean-compile: +@@ -2113,6 +2418,7 @@ mostlyclean-compile: -rm -f d30v/*.$(OBJEXT) -rm -f iq2000/*.$(OBJEXT) -rm -f libnosys/*.$(OBJEXT) @@ -459,7 +541,7 @@ index a117577ea..44731970d 100644 -rm -f lm32/*.$(OBJEXT) -rm -f nios2/*.$(OBJEXT) -rm -f riscv/*.$(OBJEXT) -@@ -1973,6 +2280,60 @@ distclean-compile: +@@ -2238,6 +2544,60 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/unlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/wait.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/write.Po@am__quote@ @@ -520,7 +602,7 @@ index a117577ea..44731970d 100644 @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/crt0.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/isatty.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/scall.Po@am__quote@ -@@ -2717,6 +3078,748 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c +@@ -3082,6 +3442,748 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csky_libsemi_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o csky/csky_libsemi_a-getpid.obj `if test -f 'csky/getpid.c'; then $(CYGPATH_W) 'csky/getpid.c'; else $(CYGPATH_W) '$(srcdir)/csky/getpid.c'; fi` @@ -1269,7 +1351,7 @@ index a117577ea..44731970d 100644 nios2/nios2_libnios2_a-io-close.o: nios2/io-close.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(nios2_libnios2_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nios2/nios2_libnios2_a-io-close.o -MD -MP -MF nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo -c -o nios2/nios2_libnios2_a-io-close.o `test -f 'nios2/io-close.c' || echo '$(srcdir)/'`nios2/io-close.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Po -@@ -4220,6 +5323,8 @@ distclean-generic: +@@ -5103,6 +6205,8 @@ distclean-generic: -rm -f iq2000/$(am__dirstamp) -rm -f libnosys/$(DEPDIR)/$(am__dirstamp) -rm -f libnosys/$(am__dirstamp) @@ -1278,29 +1360,29 @@ index a117577ea..44731970d 100644 -rm -f lm32/$(DEPDIR)/$(am__dirstamp) -rm -f lm32/$(am__dirstamp) -rm -f nios2/$(DEPDIR)/$(am__dirstamp) -@@ -4239,7 +5344,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ +@@ -5129,7 +6233,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) -+ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) +- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) xtensa/$(DEPDIR) xtensa/boards/esp32/$(DEPDIR) xtensa/boards/esp32s3/$(DEPDIR) ++ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) xtensa/$(DEPDIR) xtensa/boards/esp32/$(DEPDIR) xtensa/boards/esp32s3/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-local distclean-tags -@@ -4382,7 +5487,7 @@ installcheck-am: +@@ -5272,7 +6376,7 @@ installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) -+ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) +- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) xtensa/$(DEPDIR) xtensa/boards/esp32/$(DEPDIR) xtensa/boards/esp32s3/$(DEPDIR) ++ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) xtensa/$(DEPDIR) xtensa/boards/esp32/$(DEPDIR) xtensa/boards/esp32s3/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-aminfo \ maintainer-clean-generic maintainer-clean-local diff --git a/libgloss/configure b/libgloss/configure -index 28754b6d5..2e04092ab 100755 +index 5f6bc5841..b5e41eb03 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -638,6 +638,8 @@ CONFIG_NIOS2_FALSE +@@ -649,6 +649,8 @@ CONFIG_NIOS2_FALSE CONFIG_NIOS2_TRUE CONFIG_LM32_FALSE CONFIG_LM32_TRUE @@ -1309,7 +1391,7 @@ index 28754b6d5..2e04092ab 100755 CONFIG_LIBNOSYS_FALSE CONFIG_LIBNOSYS_TRUE CONFIG_IQ2000_FALSE -@@ -722,6 +724,7 @@ infodir +@@ -733,6 +735,7 @@ infodir docdir oldincludedir includedir @@ -1317,7 +1399,7 @@ index 28754b6d5..2e04092ab 100755 localstatedir sharedstatedir sysconfdir -@@ -800,6 +803,7 @@ datadir='${datarootdir}' +@@ -811,6 +814,7 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' @@ -1325,7 +1407,7 @@ index 28754b6d5..2e04092ab 100755 includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -@@ -1052,6 +1056,15 @@ do +@@ -1063,6 +1067,15 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; @@ -1341,7 +1423,7 @@ index 28754b6d5..2e04092ab 100755 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ -@@ -1189,7 +1202,7 @@ fi +@@ -1200,7 +1213,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ @@ -1350,7 +1432,7 @@ index 28754b6d5..2e04092ab 100755 do eval ac_val=\$$ac_var # Remove trailing slashes. -@@ -1342,6 +1355,7 @@ Fine tuning of the installation directories: +@@ -1353,6 +1366,7 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] @@ -1358,7 +1440,7 @@ index 28754b6d5..2e04092ab 100755 --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] -@@ -2745,6 +2759,8 @@ config_testsuite=true +@@ -2756,6 +2770,8 @@ config_testsuite=true config_libnosys=true @@ -1367,7 +1449,7 @@ index 28754b6d5..2e04092ab 100755 host_makefile_frag=${srcdir}/config/default.mh target_makefile_frag=${srcdir}/config/default.mt -@@ -3047,6 +3063,14 @@ else +@@ -3061,6 +3077,14 @@ else CONFIG_LIBNOSYS_FALSE= fi @@ -1382,10 +1464,10 @@ index 28754b6d5..2e04092ab 100755 if test x$config_lm32 = xtrue; then CONFIG_LM32_TRUE= CONFIG_LM32_FALSE='#' -@@ -4924,6 +4948,35 @@ case "${target}" in +@@ -4976,6 +5000,35 @@ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h + ;; esac - +case "${target}" in + *-*-cygwin*) ;; + a29k-amd-udi) ;; @@ -1415,10 +1497,10 @@ index 28754b6d5..2e04092ab 100755 + ;; +esac + + M68K_TARGET=m68k case "${target}" in - *-*-cygwin*) ;; - a29k-amd-udi) ;; -@@ -5331,6 +5384,10 @@ if test -z "${CONFIG_LIBNOSYS_TRUE}" && test -z "${CONFIG_LIBNOSYS_FALSE}"; then + fido-*-* | m68*-*-*) +@@ -5398,6 +5451,10 @@ if test -z "${CONFIG_LIBNOSYS_TRUE}" && test -z "${CONFIG_LIBNOSYS_FALSE}"; then as_fn_error $? "conditional \"CONFIG_LIBNOSYS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi @@ -1430,7 +1512,7 @@ index 28754b6d5..2e04092ab 100755 as_fn_error $? "conditional \"CONFIG_LM32\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff --git a/libgloss/configure.ac b/libgloss/configure.ac -index 5fb26845c..cf07fb118 100644 +index 268d86c51..1b918a61e 100644 --- a/libgloss/configure.ac +++ b/libgloss/configure.ac @@ -43,6 +43,9 @@ config_testsuite=true @@ -1443,16 +1525,16 @@ index 5fb26845c..cf07fb118 100644 host_makefile_frag=${srcdir}/config/default.mh target_makefile_frag=${srcdir}/config/default.mt -@@ -247,7 +250,7 @@ AC_SUBST(subdirs) +@@ -250,7 +253,7 @@ AC_SUBST(subdirs) dnl These subdirs have converted to non-recursive make. Hopefully someday all dnl the ports above will too! m4_foreach_w([SUBDIR], [ -- aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 nios2 riscv wince -+ aarch64 arc arm bfin csky d30v iq2000 libnosys libsysbase lm32 nios2 riscv wince +- aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 nios2 riscv wince xtensa ++ aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 libsysbase nios2 riscv wince xtensa ], [dnl AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue) ]) -@@ -343,6 +346,7 @@ m4_include([aarch64/acinclude.m4]) +@@ -346,6 +349,7 @@ m4_include([aarch64/acinclude.m4]) m4_include([arm/acinclude.m4]) m4_include([i386/acinclude.m4]) m4_include([libnosys/acinclude.m4]) @@ -10157,67 +10239,67 @@ index 36c30092d..7e54036ed 100644 converted to the new style linker. */ .stab 0 : { *(.stab) } diff --git a/newlib/Makefile.in b/newlib/Makefile.in -index bc967bd70..8a72f26f7 100644 +index 9a32646ab..e5df29f36 100644 --- a/newlib/Makefile.in +++ b/newlib/Makefile.in -@@ -586,6 +586,7 @@ check_PROGRAMS = - @HAVE_LIBC_SYS_W65_DIR_TRUE@am__append_63 = libc/sys/w65/syscalls.c libc/sys/w65/trap.c - @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__append_64 = libc/sys/z8ksim/glue.c - @HAVE_LIBC_MACHINE_AARCH64_TRUE@am__append_65 = \ +@@ -596,6 +596,7 @@ check_PROGRAMS = + @HAVE_LIBC_SYS_XTENSA_DIR_TRUE@am__append_64 = libc/sys/xtensa/creat.c libc/sys/xtensa/isatty.c libc/sys/xtensa/clibrary_init.c + @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__append_65 = libc/sys/z8ksim/glue.c + @HAVE_LIBC_MACHINE_AARCH64_TRUE@am__append_66 = \ +@HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/access.c \ @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memchr-stub.c \ @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memchr.S \ @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memcmp-stub.c \ -@@ -668,7 +669,7 @@ check_PROGRAMS = +@@ -679,7 +680,7 @@ check_PROGRAMS = @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy-stub.c \ @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy.S \ @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen-stub.c \ -@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen.S +@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/sync_synchronize.c - @HAVE_LIBC_MACHINE_BFIN_TRUE@am__append_69 = libc/machine/bfin/setjmp.S libc/machine/bfin/longjmp.S - @HAVE_LIBC_MACHINE_CR16_TRUE@am__append_70 = libc/machine/cr16/setjmp.S libc/machine/cr16/getenv.c -@@ -767,7 +768,9 @@ check_PROGRAMS = + @HAVE_LIBC_MACHINE_BFIN_TRUE@am__append_70 = libc/machine/bfin/setjmp.S libc/machine/bfin/longjmp.S + @HAVE_LIBC_MACHINE_CR16_TRUE@am__append_71 = libc/machine/cr16/setjmp.S libc/machine/cr16/getenv.c +@@ -778,7 +779,9 @@ check_PROGRAMS = @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/misc.c libc/machine/nvptx/clock.c - @HAVE_LIBC_MACHINE_OR1K_TRUE@am__append_108 = libc/machine/or1k/setjmp.S --@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S -+@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S \ + @HAVE_LIBC_MACHINE_OR1K_TRUE@am__append_109 = libc/machine/or1k/setjmp.S +-@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_110 = libc/machine/powerpc/setjmp.S ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_110 = libc/machine/powerpc/setjmp.S \ +@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/access.c + - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__append_110 = \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__append_111 = \ @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfprintf.c \ @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfscanf.c \ -@@ -1811,7 +1814,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ - @HAVE_LIBC_SYS_W65_DIR_TRUE@am__objects_74 = libc/sys/w65/libc_a-syscalls.$(OBJEXT) \ - @HAVE_LIBC_SYS_W65_DIR_TRUE@ libc/sys/w65/libc_a-trap.$(OBJEXT) - @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__objects_75 = libc/sys/z8ksim/libc_a-glue.$(OBJEXT) --@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_76 = libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ -+@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_76 = libc/machine/aarch64/libc_a-access.$(OBJEXT) \ +@@ -1860,7 +1863,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_SYS_XTENSA_DIR_TRUE@ libc/sys/xtensa/libc_a-isatty.$(OBJEXT) \ + @HAVE_LIBC_SYS_XTENSA_DIR_TRUE@ libc/sys/xtensa/libc_a-clibrary_init.$(OBJEXT) + @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__objects_76 = libc/sys/z8ksim/libc_a-glue.$(OBJEXT) +-@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_77 = libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ ++@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_77 = libc/machine/aarch64/libc_a-access.$(OBJEXT) \ +@HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memchr.$(OBJEXT) \ @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memcmp-stub.$(OBJEXT) \ @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memcmp.$(OBJEXT) \ -@@ -1893,7 +1897,7 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ +@@ -1943,7 +1947,7 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy-stub.$(OBJEXT) \ @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy.$(OBJEXT) \ @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen-stub.$(OBJEXT) \ -@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen.$(OBJEXT) +@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT) - @HAVE_LIBC_MACHINE_BFIN_TRUE@am__objects_80 = libc/machine/bfin/libc_a-setjmp.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_BFIN_TRUE@am__objects_81 = libc/machine/bfin/libc_a-setjmp.$(OBJEXT) \ @HAVE_LIBC_MACHINE_BFIN_TRUE@ libc/machine/bfin/libc_a-longjmp.$(OBJEXT) - @HAVE_LIBC_MACHINE_CR16_TRUE@am__objects_81 = libc/machine/cr16/libc_a-setjmp.$(OBJEXT) \ -@@ -2043,7 +2047,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_CR16_TRUE@am__objects_82 = libc/machine/cr16/libc_a-setjmp.$(OBJEXT) \ +@@ -2093,7 +2097,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-misc.$(OBJEXT) \ @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-clock.$(OBJEXT) - @HAVE_LIBC_MACHINE_OR1K_TRUE@am__objects_118 = libc/machine/or1k/libc_a-setjmp.$(OBJEXT) --@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) -+@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_OR1K_TRUE@am__objects_119 = libc/machine/or1k/libc_a-setjmp.$(OBJEXT) +-@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_120 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_120 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) \ +@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/libc_a-access.$(OBJEXT) - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__objects_120 = libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__objects_121 = libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT) \ @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vfscanf.$(OBJEXT) \ @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vec_malloc.$(OBJEXT) \ -@@ -2345,6 +2350,7 @@ am_libc_a_OBJECTS = $(am__objects_1) \ +@@ -2402,6 +2407,7 @@ am_libc_a_OBJECTS = $(am__objects_1) \ libc/stdlib/libc_a-strtol.$(OBJEXT) \ libc/stdlib/libc_a-strtoul.$(OBJEXT) \ libc/stdlib/libc_a-strtoumax.$(OBJEXT) \ @@ -10225,7 +10307,7 @@ index bc967bd70..8a72f26f7 100644 libc/stdlib/libc_a-utoa.$(OBJEXT) \ libc/stdlib/libc_a-wcstod.$(OBJEXT) \ libc/stdlib/libc_a-wcstoimax.$(OBJEXT) \ -@@ -3768,6 +3774,7 @@ pdfdir = @pdfdir@ +@@ -3937,6 +3943,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ @@ -10233,7 +10315,7 @@ index bc967bd70..8a72f26f7 100644 sbindir = @sbindir@ shared_machine_dir = @shared_machine_dir@ sharedstatedir = @sharedstatedir@ -@@ -3915,7 +3922,7 @@ libc_a_SOURCES = $(am__append_5) libc/stdlib/__adjust.c \ +@@ -4087,7 +4094,7 @@ libc_a_SOURCES = $(am__append_5) libc/stdlib/__adjust.c \ libc/stdlib/sb_charsets.c libc/stdlib/strtod.c \ libc/stdlib/strtoimax.c libc/stdlib/strtol.c \ libc/stdlib/strtoul.c libc/stdlib/strtoumax.c \ @@ -10242,7 +10324,7 @@ index bc967bd70..8a72f26f7 100644 libc/stdlib/wcstoimax.c libc/stdlib/wcstol.c \ libc/stdlib/wcstoul.c libc/stdlib/wcstoumax.c \ libc/stdlib/wcstombs.c libc/stdlib/wcstombs_r.c \ -@@ -5321,6 +5328,8 @@ libc/stdlib/libc_a-strtoul.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ +@@ -5587,6 +5594,8 @@ libc/stdlib/libc_a-strtoul.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ libc/stdlib/$(DEPDIR)/$(am__dirstamp) libc/stdlib/libc_a-strtoumax.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ libc/stdlib/$(DEPDIR)/$(am__dirstamp) @@ -10251,7 +10333,7 @@ index bc967bd70..8a72f26f7 100644 libc/stdlib/libc_a-utoa.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ libc/stdlib/$(DEPDIR)/$(am__dirstamp) libc/stdlib/libc_a-wcstod.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ -@@ -7757,6 +7766,9 @@ libc/machine/aarch64/$(am__dirstamp): +@@ -8059,6 +8068,9 @@ libc/machine/aarch64/$(am__dirstamp): libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) libc/machine/aarch64/$(DEPDIR) @: > libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) @@ -10261,7 +10343,7 @@ index bc967bd70..8a72f26f7 100644 libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT): \ libc/machine/aarch64/$(am__dirstamp) \ libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) -@@ -8021,7 +8033,7 @@ libc/machine/arm/libc_a-memcpy.$(OBJEXT): \ +@@ -8326,7 +8338,7 @@ libc/machine/arm/libc_a-memcpy.$(OBJEXT): \ libc/machine/arm/libc_a-strlen-stub.$(OBJEXT): \ libc/machine/arm/$(am__dirstamp) \ libc/machine/arm/$(DEPDIR)/$(am__dirstamp) @@ -10270,7 +10352,7 @@ index bc967bd70..8a72f26f7 100644 libc/machine/arm/$(am__dirstamp) \ libc/machine/arm/$(DEPDIR)/$(am__dirstamp) libc/machine/bfin/$(am__dirstamp): -@@ -8696,6 +8708,9 @@ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp): +@@ -9001,6 +9013,9 @@ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp): libc/machine/powerpc/libc_a-setjmp.$(OBJEXT): \ libc/machine/powerpc/$(am__dirstamp) \ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) @@ -10280,7 +10362,7 @@ index bc967bd70..8a72f26f7 100644 libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT): \ libc/machine/powerpc/$(am__dirstamp) \ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) -@@ -12256,6 +12271,7 @@ distclean-compile: +@@ -12784,6 +12799,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-nl_langinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-timelocal.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-uselocale.Po@am__quote@ @@ -10288,7 +10370,7 @@ index bc967bd70..8a72f26f7 100644 @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memchr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memcmp-stub.Po@am__quote@ -@@ -12338,7 +12354,7 @@ distclean-compile: +@@ -12867,7 +12883,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcpy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen-stub.Po@am__quote@ @@ -10297,7 +10379,7 @@ index bc967bd70..8a72f26f7 100644 @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-longjmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po@am__quote@ -@@ -12487,6 +12503,7 @@ distclean-compile: +@@ -13016,6 +13032,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-reallocr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-write.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/or1k/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ @@ -10305,7 +10387,7 @@ index bc967bd70..8a72f26f7 100644 @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix16.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix32.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix64.Po@am__quote@ -@@ -13113,6 +13130,7 @@ distclean-compile: +@@ -13658,6 +13675,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-strtoull_r.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-strtoumax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-system.Po@am__quote@ @@ -10313,7 +10395,7 @@ index bc967bd70..8a72f26f7 100644 @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-utoa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-valloc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-vallocr.Po@am__quote@ -@@ -16730,20 +16748,6 @@ libc/machine/arm/libc_a-memcpy.obj: libc/machine/arm/memcpy.S +@@ -17357,20 +17375,6 @@ libc/machine/arm/libc_a-memcpy.obj: libc/machine/arm/memcpy.S @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-memcpy.obj `if test -f 'libc/machine/arm/memcpy.S'; then $(CYGPATH_W) 'libc/machine/arm/memcpy.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/memcpy.S'; fi` @@ -10334,7 +10416,7 @@ index bc967bd70..8a72f26f7 100644 libc/machine/bfin/libc_a-setjmp.o: libc/machine/bfin/setjmp.S @am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/bfin/libc_a-setjmp.o -MD -MP -MF libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo -c -o libc/machine/bfin/libc_a-setjmp.o `test -f 'libc/machine/bfin/setjmp.S' || echo '$(srcdir)/'`libc/machine/bfin/setjmp.S @am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po -@@ -20666,6 +20670,20 @@ libc/stdlib/libc_a-strtoumax.obj: libc/stdlib/strtoumax.c +@@ -21391,6 +21395,20 @@ libc/stdlib/libc_a-strtoumax.obj: libc/stdlib/strtoumax.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-strtoumax.obj `if test -f 'libc/stdlib/strtoumax.c'; then $(CYGPATH_W) 'libc/stdlib/strtoumax.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/strtoumax.c'; fi` @@ -10355,7 +10437,7 @@ index bc967bd70..8a72f26f7 100644 libc/stdlib/libc_a-utoa.o: libc/stdlib/utoa.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-utoa.o -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-utoa.Tpo -c -o libc/stdlib/libc_a-utoa.o `test -f 'libc/stdlib/utoa.c' || echo '$(srcdir)/'`libc/stdlib/utoa.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-utoa.Tpo libc/stdlib/$(DEPDIR)/libc_a-utoa.Po -@@ -32216,6 +32234,20 @@ libc/sys/z8ksim/libc_a-glue.obj: libc/sys/z8ksim/glue.c +@@ -33123,6 +33141,20 @@ libc/sys/z8ksim/libc_a-glue.obj: libc/sys/z8ksim/glue.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/sys/z8ksim/libc_a-glue.obj `if test -f 'libc/sys/z8ksim/glue.c'; then $(CYGPATH_W) 'libc/sys/z8ksim/glue.c'; else $(CYGPATH_W) '$(srcdir)/libc/sys/z8ksim/glue.c'; fi` @@ -10376,7 +10458,7 @@ index bc967bd70..8a72f26f7 100644 libc/machine/aarch64/libc_a-memchr-stub.o: libc/machine/aarch64/memchr-stub.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-memchr-stub.o -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Tpo -c -o libc/machine/aarch64/libc_a-memchr-stub.o `test -f 'libc/machine/aarch64/memchr-stub.c' || echo '$(srcdir)/'`libc/machine/aarch64/memchr-stub.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Po -@@ -32734,6 +32766,20 @@ libc/machine/arm/libc_a-strlen-stub.obj: libc/machine/arm/strlen-stub.c +@@ -33655,6 +33687,20 @@ libc/machine/arm/libc_a-strlen-stub.obj: libc/machine/arm/strlen-stub.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-strlen-stub.obj `if test -f 'libc/machine/arm/strlen-stub.c'; then $(CYGPATH_W) 'libc/machine/arm/strlen-stub.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen-stub.c'; fi` @@ -10397,7 +10479,7 @@ index bc967bd70..8a72f26f7 100644 libc/machine/cr16/libc_a-getenv.o: libc/machine/cr16/getenv.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/cr16/libc_a-getenv.o -MD -MP -MF libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo -c -o libc/machine/cr16/libc_a-getenv.o `test -f 'libc/machine/cr16/getenv.c' || echo '$(srcdir)/'`libc/machine/cr16/getenv.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po -@@ -33252,6 +33298,20 @@ libc/machine/nvptx/libc_a-clock.obj: libc/machine/nvptx/clock.c +@@ -34173,6 +34219,20 @@ libc/machine/nvptx/libc_a-clock.obj: libc/machine/nvptx/clock.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/nvptx/libc_a-clock.obj `if test -f 'libc/machine/nvptx/clock.c'; then $(CYGPATH_W) 'libc/machine/nvptx/clock.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/nvptx/clock.c'; fi` @@ -10419,17 +10501,17 @@ index bc967bd70..8a72f26f7 100644 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-vfprintf.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo -c -o libc/machine/powerpc/libc_a-vfprintf.o `test -f 'libc/machine/powerpc/vfprintf.c' || echo '$(srcdir)/'`libc/machine/powerpc/vfprintf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Po diff --git a/newlib/configure.host b/newlib/configure.host -index 0a1ba282a..66ccbec57 100644 +index 386183466..cc5e33ad7 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -620,13 +620,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -630,13 +630,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID syscall_dir=syscalls ;; aarch64*-*-*) + default_newlib_io_c99_formats="yes" default_newlib_io_long_long="yes" + default_newlib_io_pos_args="yes" -+ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" + newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" syscall_dir=syscalls ;; @@ -10448,7 +10530,7 @@ index 0a1ba282a..66ccbec57 100644 arm*-*-pe) syscall_dir=syscalls newlib_cflags="${newlib_cflags} -DHAVE_SYSCONF_PAGESIZE" -@@ -799,7 +811,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -809,7 +821,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID default_newlib_io_long_long="yes" newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" ;; @@ -10552,23 +10634,23 @@ index 000000000..a71a5d847 + +#endif diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h -index 54e30ef82..3a77345e2 100644 +index 5e92d2662..b12e73d90 100644 --- a/newlib/libc/include/math.h +++ b/newlib/libc/include/math.h @@ -445,7 +445,7 @@ extern float hypotf (float, float); simply call the double functions. On Cygwin the long double functions are implemented independently from newlib to be able to use optimized assembler functions despite using the Microsoft x86_64 ABI. */ --#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) -+#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) || defined (__DEVKITA64__) +-#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) || \ ++#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) || defined (__DEVKITA64__) || \ + defined(__aarch64__) || defined(__i386__) || defined(__x86_64__) || \ + defined(__riscv) /* Reentrant ANSI C functions. */ - #ifndef __math_68881 - extern long double atanl (long double); diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h -index 23d572cd3..65310c084 100644 +index b1dd2a7c4..16e29c037 100644 --- a/newlib/libc/include/reent.h +++ b/newlib/libc/include/reent.h -@@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); +@@ -151,6 +151,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); extern int _open_r (struct _reent *, const char *, int, int); extern _ssize_t _read_r (struct _reent *, int, void *, size_t); extern int _rename_r (struct _reent *, const char *, const char *); @@ -10865,10 +10947,10 @@ index 5dcc77a80..6930a751d 100644 #ifdef __AMDGCN__ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 45476ce4a..05efc0ab2 100644 +index a7d4bc52d..a04f13544 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h -@@ -331,6 +331,17 @@ extern "C" { +@@ -344,6 +344,17 @@ extern "C" { # define __SSP_FORTIFY_LEVEL 0 #endif @@ -10888,7 +10970,7 @@ index 45476ce4a..05efc0ab2 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..8318fda68 +index 000000000..335014a4b --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h @@ -0,0 +1,140 @@ @@ -10961,7 +11043,7 @@ index 000000000..8318fda68 + int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); + int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); + -+ long (*fpathconf_r)(struct _reent *r, int fd, int name); ++ long (*fpathconf_r)(struct _reent *r, void *fd, int name); + long (*pathconf_r)(struct _reent *r, const char *path, int name); + + int (*symlink_r)(struct _reent *r, const char *target, const char *linkpath); @@ -11047,10 +11129,10 @@ index 9a6f115a6..142e71d35 100644 #define MAXPATHLEN PATH_MAX diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 6d8b005b2..8aefe6b0f 100644 +index a02e7c2bd..61de73f88 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h -@@ -419,6 +419,8 @@ struct _reent +@@ -420,6 +420,8 @@ struct _reent __FILE *__sf; /* file descriptors */ struct _misc_reent *_misc; /* strtok, multibyte states */ char *_signal_buf; /* strsignal */ @@ -11059,7 +11141,7 @@ index 6d8b005b2..8aefe6b0f 100644 }; # define _REENT_INIT(var) \ -@@ -639,6 +641,8 @@ struct _reent +@@ -648,6 +650,8 @@ struct _reent /* signal info */ void (**_sig_func)(int); @@ -11155,7 +11237,7 @@ index 5e937f103..b7b4de67d 100644 }; #endif diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index 65e2b1833..d3171515d 100644 +index b16ec1511..655e01366 100644 --- a/newlib/libc/locale/locale.c +++ b/newlib/libc/locale/locale.c @@ -198,7 +198,11 @@ static char *categories[_LC_LAST] = { @@ -11231,7 +11313,7 @@ index 65e2b1833..d3171515d 100644 { { NULL, NULL }, /* LC_ALL */ diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h -index 3530ec664..0a62bfd72 100644 +index 7abf92f7e..511a616bc 100644 --- a/newlib/libc/locale/setlocale.h +++ b/newlib/libc/locale/setlocale.h @@ -234,11 +234,11 @@ __get_locale_r (struct _reent *r) @@ -11251,7 +11333,7 @@ index 3530ec664..0a62bfd72 100644 /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE diff --git a/newlib/libc/machine/aarch64/Makefile.inc b/newlib/libc/machine/aarch64/Makefile.inc -index 063a2a84a..790b07e7b 100644 +index 1068d88ce..3175fe439 100644 --- a/newlib/libc/machine/aarch64/Makefile.inc +++ b/newlib/libc/machine/aarch64/Makefile.inc @@ -1,4 +1,5 @@ @@ -11497,7 +11579,7 @@ index 2d6c08d71..81b4f119d 100644 + %D%/sync_synchronize.c + diff --git a/newlib/libc/machine/arm/setjmp.S b/newlib/libc/machine/arm/setjmp.S -index c615f2428..3a3bfd05e 100644 +index 5e5952296..9281cdb54 100644 --- a/newlib/libc/machine/arm/setjmp.S +++ b/newlib/libc/machine/arm/setjmp.S @@ -2,6 +2,8 @@ @@ -11760,7 +11842,7 @@ index 000000000..04ebd1ee0 +#endif /* _NEWLIB_STDIO_H */ + diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index df8321461..6ea00229d 100644 +index 8664dc3e5..dbaba0264 100644 --- a/newlib/libc/stdio/fread.c +++ b/newlib/libc/stdio/fread.c @@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, @@ -11772,7 +11854,7 @@ index df8321461..6ea00229d 100644 } #endif -@@ -187,7 +187,6 @@ _fread_r (struct _reent * ptr, +@@ -191,7 +191,6 @@ _fread_r (struct _reent * ptr, int rc = 0; /* save fp buffering state */ void *old_base = fp->_bf._base; @@ -11780,7 +11862,7 @@ index df8321461..6ea00229d 100644 int old_size = fp->_bf._size; /* allow __refill to use user's buffer */ fp->_bf._base = (unsigned char *) p; -@@ -197,7 +196,7 @@ _fread_r (struct _reent * ptr, +@@ -201,7 +200,7 @@ _fread_r (struct _reent * ptr, /* restore fp buffering back to original state */ fp->_bf._base = old_base; fp->_bf._size = old_size; @@ -11789,7 +11871,7 @@ index df8321461..6ea00229d 100644 resid -= fp->_r; p += fp->_r; fp->_r = 0; -@@ -218,27 +217,63 @@ _fread_r (struct _reent * ptr, +@@ -222,27 +221,63 @@ _fread_r (struct _reent * ptr, else #endif /* !PREFER_SIZE_OVER_SPEED && !__OPTIMIZE_SIZE__ */ { @@ -11872,7 +11954,7 @@ index df8321461..6ea00229d 100644 fp->_r -= resid; fp->_p += resid; diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h -index b34c7c9d8..f18dc4301 100644 +index 63c0618f1..dd3801900 100644 --- a/newlib/libc/stdio/local.h +++ b/newlib/libc/stdio/local.h @@ -56,7 +56,7 @@ @@ -11909,7 +11991,7 @@ index d8dfdbd82..a85b5a99b 100644 return 0; } diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index 6a198e2c6..5ded3fd6e 100644 +index feb1fab56..7a59eb21f 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c @@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, @@ -11921,7 +12003,7 @@ index 6a198e2c6..5ded3fd6e 100644 #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ static char *rcsid = "$Id$"; -@@ -1431,7 +1433,7 @@ reswitch: switch (ch) { +@@ -1188,7 +1190,7 @@ reswitch: switch (ch) { string: #endif sign = '\0'; @@ -11930,7 +12012,7 @@ index 6a198e2c6..5ded3fd6e 100644 /* Behavior is undefined if the user passed a NULL string when precision is not 0. However, if we are not optimizing for size, -@@ -1441,7 +1443,7 @@ string: +@@ -1198,7 +1200,7 @@ string: size = ((unsigned) prec > 6U) ? 6 : prec; } else @@ -11940,7 +12022,7 @@ index 6a198e2c6..5ded3fd6e 100644 if (ch == 'S' || (flags & LONGINT)) { mbstate_t ps; diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index cfeea9876..ab7e9d7f1 100644 +index 71e2c3e22..bd2d635ed 100644 --- a/newlib/libc/stdio/vfscanf.c +++ b/newlib/libc/stdio/vfscanf.c @@ -74,6 +74,8 @@ These are GNU extensions. @@ -11953,7 +12035,7 @@ index cfeea9876..ab7e9d7f1 100644 #include #include diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c -index 7807a1229..30526cb70 100644 +index 5a5c36829..3eaca0ce6 100644 --- a/newlib/libc/stdio/vfwprintf.c +++ b/newlib/libc/stdio/vfwprintf.c @@ -92,6 +92,9 @@ SEEALSO @@ -11967,7 +12049,7 @@ index 7807a1229..30526cb70 100644 #ifdef INTEGER_ONLY diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index df966f929..106d99e94 100644 +index d2f91dde2..de80cc0c0 100644 --- a/newlib/libc/stdio/vfwscanf.c +++ b/newlib/libc/stdio/vfwscanf.c @@ -74,6 +74,9 @@ PORTABILITY @@ -11992,6 +12074,45 @@ index 9812add76..8410f2633 100644 %D%/utoa.c \ %D%/wcstod.c \ %D%/wcstoimax.c \ +diff --git a/newlib/libc/stdlib/__call_atexit.c b/newlib/libc/stdlib/__call_atexit.c +index 710440389..985e720bf 100644 +--- a/newlib/libc/stdlib/__call_atexit.c ++++ b/newlib/libc/stdlib/__call_atexit.c +@@ -21,6 +21,7 @@ struct _atexit *__atexit = _NULL; + + #ifdef _WANT_REGISTER_FINI + ++#if 0 + /* If "__libc_fini" is defined, finalizers (either + "__libc_fini_array", or "_fini", as appropriate) will be run after + all user-specified atexit handlers. For example, you can define +@@ -36,6 +37,7 @@ struct _atexit *__atexit = _NULL; + used with multiple BSPs, some of which register finalizers from + startup code, while others defer to the C library. */ + extern char __libc_fini __attribute__((weak)); ++#endif + + /* Register the application finalization function with atexit. These + finalizers should run last. Therefore, we want to call atexit as +@@ -46,6 +48,7 @@ register_fini(void) __attribute__((constructor (0))); + static void + register_fini(void) + { ++#if 0 + if (&__libc_fini) { + #ifdef _HAVE_INITFINI_ARRAY + extern void __libc_fini_array (void); +@@ -55,6 +58,10 @@ register_fini(void) + atexit (_fini); + #endif + } ++#else ++ extern void __fini (void); ++ atexit (__fini); ++#endif + } + + #endif /* _WANT_REGISTER_FINI */ diff --git a/newlib/libc/stdlib/exit.c b/newlib/libc/stdlib/exit.c index 9b7bd518b..f0e33bbc1 100644 --- a/newlib/libc/stdlib/exit.c diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 526d577..af1724d 100755 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -66,7 +66,7 @@ then --with-system-zlib \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 62" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 63" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index b5e1da0..c3877f3 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -32,7 +32,7 @@ case "$VERSION" in "1" ) GCC_VER=13.2.0 BINUTILS_VER=2.41 - NEWLIB_VER=4.3.0.20230120 + NEWLIB_VER=4.4.0.20231231 basedir='dkarm-eabi' package=devkitARM target=arm-none-eabi From de681b1691b31f0e0753de204c06ada2afacfb0f Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 1 Feb 2024 15:59:29 +0000 Subject: [PATCH 242/280] devkitA64: update binutils to 2.42 --- build-devkit.sh | 2 +- dka64/patches/binutils-2.42.patch | 507 ++++++++++++++++++++++++++++++ dka64/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 510 insertions(+), 3 deletions(-) create mode 100644 dka64/patches/binutils-2.42.patch diff --git a/build-devkit.sh b/build-devkit.sh index f8a4313..5e9f6f3 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,7 +2,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 63 # devkitPPC release 45 -# devkitA64 release 24 +# devkitA64 release 25 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/patches/binutils-2.42.patch b/dka64/patches/binutils-2.42.patch new file mode 100644 index 0000000..39334d0 --- /dev/null +++ b/dka64/patches/binutils-2.42.patch @@ -0,0 +1,507 @@ +diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h +index 3ed22fa6c52..16cec309746 100644 +--- a/bfd/elf-bfd.h ++++ b/bfd/elf-bfd.h +@@ -1984,6 +1984,14 @@ struct output_elf_obj_tdata + asection *sec; + } package_metadata; + ++ /* Data for .nx-module-name. */ ++ struct ++ { ++ bool (*after_write_object_contents) (bfd *); ++ const char *name; ++ asection *sec; ++ } nx_module_name; ++ + /* Records the result of `get_program_header_size'. */ + bfd_size_type program_header_size; + +diff --git a/bfd/elf.c b/bfd/elf.c +index 88c75ae3ce0..c4b5cda59a7 100644 +--- a/bfd/elf.c ++++ b/bfd/elf.c +@@ -7359,6 +7359,14 @@ _bfd_elf_write_object_contents (bfd *abfd) + if (!bed->s->write_shdrs_and_ehdr (abfd)) + return false; + ++ /* Write out the NX module name. */ ++ if (t->o->nx_module_name.after_write_object_contents != NULL) ++ { ++ failed = !(*t->o->nx_module_name.after_write_object_contents) (abfd); ++ if (failed) ++ return false; ++ } ++ + /* This is last since write_shdrs_and_ehdr can touch i_shdrp[0]. */ + if (t->o->build_id.after_write_object_contents != NULL + && !(*t->o->build_id.after_write_object_contents) (abfd)) +diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c +index 109517db4aa..36ea8726544 100644 +--- a/bfd/elfnn-aarch64.c ++++ b/bfd/elfnn-aarch64.c +@@ -2441,6 +2441,12 @@ enum elf_aarch64_stub_type + aarch64_stub_erratum_843419_veneer, + }; + ++/* Is an undefined weak symbol resolved to 0 ? */ ++#define UNDEFINED_WEAK_RESOLVED_TO_ZERO(INFO, EH) \ ++ ((EH)->root.root.type == bfd_link_hash_undefweak \ ++ && bfd_link_executable (INFO) \ ++ && !(INFO)->dynamic_undefined_weak) ++ + struct elf_aarch64_stub_hash_entry + { + /* Base hash table entry structure. */ +@@ -6947,11 +6953,13 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, + Elf_Internal_Sym *sym; + asection *sec; + struct elf_link_hash_entry *h; ++ struct elf_aarch64_link_hash_entry *eh; + bfd_vma relocation; + bfd_reloc_status_type r; + arelent bfd_reloc; + char sym_type; + bool unresolved_reloc = false; ++ bool resolved_to_zero = false; + char *error_message = NULL; + + r_symndx = ELFNN_R_SYM (rel->r_info); +@@ -7091,6 +7099,10 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, + h, &unresolved_reloc, + save_addend, &addend, sym); + ++ eh = (struct elf_aarch64_link_hash_entry *) h; ++ resolved_to_zero = (eh != NULL ++ && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh)); ++ + switch (elfNN_aarch64_bfd_reloc_from_type (input_bfd, r_type)) + { + case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC: +@@ -7114,7 +7126,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, + need_relocs = + (!bfd_link_executable (info) || indx != 0) && + (h == NULL +- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak); + + BFD_ASSERT (globals->root.srelgot != NULL); +@@ -7209,7 +7221,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, + need_relocs = + (!bfd_link_executable (info) || indx != 0) && + (h == NULL +- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak); + + BFD_ASSERT (globals->root.srelgot != NULL); +@@ -7258,7 +7270,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd, + bfd_vma off = symbol_tlsdesc_got_offset (input_bfd, h, r_symndx); + + need_relocs = (h == NULL +- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak); + + BFD_ASSERT (globals->root.srelgot != NULL); +@@ -7584,6 +7596,23 @@ need_copy_relocation_p (struct elf_aarch64_link_hash_entry *eh) + return false; + } + ++/* Remove undefined weak symbol from the dynamic symbol table if it ++ is resolved to 0. */ ++ ++static bool ++elfNN_aarch64_elf_fixup_symbol (struct bfd_link_info *info, ++ struct elf_link_hash_entry *h) ++{ ++ if (h->dynindx != -1 ++ && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, elf_aarch64_hash_entry (h))) ++ { ++ h->dynindx = -1; ++ _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr, ++ h->dynstr_index); ++ } ++ return true; ++} ++ + /* Adjust a symbol defined by a dynamic object and referenced by a + regular object. The current definition is in some section of the + dynamic object, but we're not including those sections. We have to +@@ -8802,6 +8831,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + struct elf_aarch64_link_hash_table *htab; + struct elf_aarch64_link_hash_entry *eh; + struct elf_dyn_relocs *p; ++ bool resolved_to_zero; + + /* An example of a bfd_link_hash_indirect symbol is versioned + symbol. For example: __gxx_personality_v0(bfd_link_hash_indirect) +@@ -8821,6 +8851,10 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + info = (struct bfd_link_info *) inf; + htab = elf_aarch64_hash_table (info); + ++ eh = (struct elf_aarch64_link_hash_entry *) h; ++ eh->tlsdesc_got_jump_table_offset = (bfd_vma) - 1; ++ resolved_to_zero = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh); ++ + /* Since STT_GNU_IFUNC symbol must go through PLT, we handle it + here if it is defined and referenced in a non-shared object. */ + if (h->type == STT_GNU_IFUNC +@@ -8830,7 +8864,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + { + /* Make sure this symbol is output as a dynamic symbol. + Undefined weak syms won't yet be marked as dynamic. */ +- if (h->dynindx == -1 && !h->forced_local ++ if (h->dynindx == -1 && !h->forced_local && !resolved_to_zero + && h->root.type == bfd_link_hash_undefweak) + { + if (!bfd_elf_link_record_dynamic_symbol (info, h)) +@@ -8864,6 +8898,11 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + of relaxing into these from the large model PLT entries. */ + s->size += htab->plt_entry_size; + ++ /* There should be no PLT relocations against resolved undefined ++ weak symbols in the executable. */ ++ if (!resolved_to_zero) ++ { ++ + /* We also need to make an entry in the .got.plt section, which + will be placed in the .got section by the linker script. */ + htab->root.sgotplt->size += GOT_ENTRY_SIZE; +@@ -8892,6 +8931,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + htab->variant_pcs = 1; + + } ++ } + else + { + h->plt.offset = (bfd_vma) - 1; +@@ -8904,9 +8944,6 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + h->needs_plt = 0; + } + +- eh = (struct elf_aarch64_link_hash_entry *) h; +- eh->tlsdesc_got_jump_table_offset = (bfd_vma) - 1; +- + if (h->got.refcount > 0) + { + bool dyn; +@@ -8918,7 +8955,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + + /* Make sure this symbol is output as a dynamic symbol. + Undefined weak syms won't yet be marked as dynamic. */ +- if (dyn && h->dynindx == -1 && !h->forced_local ++ if (dyn && h->dynindx == -1 && !h->forced_local && !resolved_to_zero + && h->root.type == bfd_link_hash_undefweak) + { + if (!bfd_elf_link_record_dynamic_symbol (info, h)) +@@ -8932,7 +8969,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + { + h->got.offset = htab->root.sgot->size; + htab->root.sgot->size += GOT_ENTRY_SIZE; +- if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ if (((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak) + && (bfd_link_pic (info) + || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h)) +@@ -8968,7 +9005,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + } + + indx = h && h->dynindx != -1 ? h->dynindx : 0; +- if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ if (((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !resolved_to_zero) + || h->root.type != bfd_link_hash_undefweak) + && (!bfd_link_executable (info) + || indx != 0 +@@ -9050,7 +9087,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + visibility. */ + if (h->dyn_relocs != NULL && h->root.type == bfd_link_hash_undefweak) + { +- if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT ++ if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT || resolved_to_zero + || UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) + h->dyn_relocs = NULL; + +@@ -9070,7 +9107,9 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + symbols which turn out to need copy relocs or are not + dynamic. */ + +- if (!h->non_got_ref ++ if (!(h->non_got_ref ++ || (h->root.type == bfd_link_hash_undefweak ++ && !resolved_to_zero)) + && ((h->def_dynamic + && !h->def_regular) + || (htab->root.dynamic_sections_created +@@ -9081,6 +9120,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + Undefined weak syms won't yet be marked as dynamic. */ + if (h->dynindx == -1 + && !h->forced_local ++ && !resolved_to_zero + && h->root.type == bfd_link_hash_undefweak + && !bfd_elf_link_record_dynamic_symbol (info, h)) + return false; +@@ -9638,8 +9678,17 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd, + Elf_Internal_Sym *sym) + { + struct elf_aarch64_link_hash_table *htab; ++ struct elf_aarch64_link_hash_entry *eh; ++ bool local_undefweak; + htab = elf_aarch64_hash_table (info); + ++ eh = (struct elf_aarch64_link_hash_entry *) h; ++ ++ /* We keep PLT/GOT entries without dynamic PLT/GOT relocations for ++ resolved undefined weak symbols in executable so that their ++ references have value 0 at run-time. */ ++ local_undefweak = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh); ++ + if (h->plt.offset != (bfd_vma) - 1) + { + asection *plt, *gotplt, *relplt; +@@ -9674,7 +9723,7 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd, + return false; + + elfNN_aarch64_create_small_pltn_entry (h, htab, output_bfd, info); +- if (!h->def_regular) ++ if (!local_undefweak && !h->def_regular) + { + /* Mark the symbol as undefined, rather than as defined in + the .plt section. */ +@@ -9696,7 +9745,8 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd, + && elf_aarch64_hash_entry (h)->got_type == GOT_NORMAL + /* Undefined weak symbol in static PIE resolves to 0 without + any dynamic relocations. */ +- && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) ++ && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h) ++ && !local_undefweak) + { + Elf_Internal_Rela rela; + bfd_byte *loc; +@@ -10343,6 +10393,9 @@ const struct elf_size_info elfNN_aarch64_size_info = + #define elf_backend_init_index_section \ + _bfd_elf_init_2_index_sections + ++#define elf_backend_fixup_symbol \ ++ elfNN_aarch64_elf_fixup_symbol ++ + #define elf_backend_finish_dynamic_sections \ + elfNN_aarch64_finish_dynamic_sections + +diff --git a/ld/emulparams/aarch64elf.sh b/ld/emulparams/aarch64elf.sh +index 8f68e517b45..260a590e69e 100644 +--- a/ld/emulparams/aarch64elf.sh ++++ b/ld/emulparams/aarch64elf.sh +@@ -1,3 +1,5 @@ ++source_sh ${srcdir}/emulparams/dynamic_undefined_weak.sh ++ + ARCH=aarch64 + MACHINE= + NOP=0x1f2003d5 +diff --git a/ld/emulparams/aarch64elf32.sh b/ld/emulparams/aarch64elf32.sh +index 5a08d9e29f1..e4c9abf85a1 100644 +--- a/ld/emulparams/aarch64elf32.sh ++++ b/ld/emulparams/aarch64elf32.sh +@@ -1,3 +1,5 @@ ++source_sh ${srcdir}/emulparams/dynamic_undefined_weak.sh ++ + ARCH="aarch64:ilp32" + MACHINE= + NOP=0x1f2003d5 +diff --git a/ld/emultempl/aarch64elf.em b/ld/emultempl/aarch64elf.em +index b647909ae63..3e2d7a171b9 100644 +--- a/ld/emultempl/aarch64elf.em ++++ b/ld/emultempl/aarch64elf.em +@@ -378,7 +378,7 @@ PARSE_AND_LIST_LONGOPTS=' + { "no-apply-dynamic-relocs", no_argument, NULL, OPTION_NO_APPLY_DYNAMIC_RELOCS}, + ' + +-PARSE_AND_LIST_OPTIONS=' ++PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}' + fprintf (file, _(" --no-enum-size-warning Don'\''t warn about objects with incompatible\n" + " enum sizes\n")); + fprintf (file, _(" --no-wchar-size-warning Don'\''t warn about objects with incompatible\n" +diff --git a/ld/emultempl/elf.em b/ld/emultempl/elf.em +index 71cec19fdc6..3fd0585dee6 100644 +--- a/ld/emultempl/elf.em ++++ b/ld/emultempl/elf.em +@@ -574,6 +574,7 @@ enum elf_options + OPTION_EXCLUDE_LIBS, + OPTION_HASH_STYLE, + OPTION_BUILD_ID, ++ OPTION_NX_MODULE_NAME, + OPTION_PACKAGE_METADATA, + OPTION_AUDIT, + OPTION_COMPRESS_DEBUG +@@ -605,6 +606,7 @@ EOF + fi + fragment <o->nx_module_name.name; ++ asec = t->o->nx_module_name.sec; ++ if (bfd_is_abs_section (asec->output_section)) ++ { ++ einfo (_("%P: warning: .nx-module-name section discarded," ++ " --build-id ignored\n")); ++ return true; ++ } ++ i_shdr = &elf_section_data (asec->output_section)->this_hdr; ++ ++ if (i_shdr->contents == NULL) ++ { ++ if (asec->contents == NULL) ++ asec->contents = (unsigned char *) xmalloc (asec->size); ++ contents = asec->contents; ++ } ++ else ++ contents = i_shdr->contents + asec->output_offset; ++ ++ size = asec->size; ++ bfd_h_put_32 (abfd, 0, &contents[0]); ++ bfd_h_put_32 (abfd, size - 9, &contents[4]); ++ memcpy (&contents[8], name, size - 9); ++ contents[size - 1] = 0; /* ensure null termination for AMS */ ++ ++ position = i_shdr->sh_offset + asec->output_offset; ++ ++ return (bfd_seek (abfd, position, SEEK_SET) == 0 ++ && bfd_write (contents, size, abfd) == size); ++} ++ ++/* Make .nx-module-name section, and set up elf_tdata->nx_module_name. */ ++ ++static bool ++setup_nx_module_name (bfd *ibfd, bfd *obfd) ++{ ++ asection *s; ++ bfd_size_type size; ++ flagword flags; ++ ++ if (ldelf_emit_nx_module_name[0] == '\0') ++ { ++ /* Extract the basename of the output bfd and use it as the module name. */ ++ char *dot_pos; ++ free ((char *) ldelf_emit_nx_module_name); ++ ldelf_emit_nx_module_name = (char *) lbasename (bfd_get_filename (obfd)); ++ ldelf_emit_nx_module_name = xstrdup (ldelf_emit_nx_module_name); ++ dot_pos = strrchr (ldelf_emit_nx_module_name, '.'); ++ if (dot_pos != NULL) ++ { ++ /* Remove extension. */ ++ *dot_pos = 0; ++ } ++ } ++ ++ size = 8 + strlen(ldelf_emit_nx_module_name) + 1; /* extra null terminator for AMS */ ++ flags = (SEC_ALLOC | SEC_LOAD | SEC_IN_MEMORY ++ | SEC_LINKER_CREATED | SEC_READONLY | SEC_DATA); ++ s = bfd_make_section_with_flags (ibfd, ".nx-module-name", flags); ++ if (s != NULL && bfd_set_section_alignment (s, 4)) ++ { ++ struct elf_obj_tdata *t = elf_tdata (link_info.output_bfd); ++ t->o->nx_module_name.after_write_object_contents = &write_nx_module_name; ++ t->o->nx_module_name.name = ldelf_emit_nx_module_name; ++ t->o->nx_module_name.sec = s; ++ elf_section_type (s) = SHT_PROGBITS; ++ s->size = size; ++ return true; ++ } ++ ++ einfo (_("%P: warning: cannot create .nx-module-name section," ++ " --nx-module-name ignored\n")); ++ return false; ++} ++ ++/* This is called before calling plugin 'all symbols read' hook. */ + void + ldelf_before_plugin_all_symbols_read (int use_libpath, int native, + int is_linux, int is_freebsd, +@@ -1289,6 +1377,24 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd, + } + } + ++ if (ldelf_emit_nx_module_name != NULL) ++ { ++ /* Find an ELF input. */ ++ for (abfd = link_info.input_bfds; ++ abfd != (bfd *) NULL; abfd = abfd->link.next) ++ if (bfd_get_flavour (abfd) == bfd_target_elf_flavour ++ && bfd_count_sections (abfd) != 0 ++ && !((lang_input_statement_type *) abfd->usrdata)->flags.just_syms) ++ break; ++ ++ /* If there are no ELF input files do not try to create a .nx-module-name section. */ ++ if (abfd == NULL || !setup_nx_module_name (abfd, link_info.output_bfd)) ++ { ++ free ((char *) ldelf_emit_nx_module_name); ++ ldelf_emit_nx_module_name = NULL; ++ } ++ } ++ + get_elf_backend_data (link_info.output_bfd)->setup_gnu_properties (&link_info); + + /* Do not allow executable files to be used as inputs to the link. */ +diff --git a/ld/ldelf.h b/ld/ldelf.h +index 239194772c4..68516dbf45e 100644 +--- a/ld/ldelf.h ++++ b/ld/ldelf.h +@@ -20,6 +20,7 @@ + + extern const char *ldelf_emit_note_gnu_build_id; + extern const char *ldelf_emit_note_fdo_package_metadata; ++extern const char *ldelf_emit_nx_module_name; + + extern void ldelf_after_parse (void); + extern bool ldelf_load_symbols (lang_input_statement_type *); diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 0efdb1f..3bace2c 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -62,7 +62,7 @@ then --enable-lto \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 24" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 25" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index c3877f3..b8abcae 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -50,7 +50,7 @@ case "$VERSION" in ;; "3" ) GCC_VER=13.2.0 - BINUTILS_VER=2.41 + BINUTILS_VER=2.42 NEWLIB_VER=4.3.0.20230120 basedir='dka64' package=devkitA64 From 9d8f579c1c61cd4fc17cc43eacb8de153ea233f3 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 1 Feb 2024 16:03:01 +0000 Subject: [PATCH 243/280] devkitA64: update newlib to 4.4.0 --- ...0120.patch => newlib-4.4.0.20231231.patch} | 24795 +++++++--------- select_toolchain.sh | 2 +- 2 files changed, 10881 insertions(+), 13916 deletions(-) rename dka64/patches/{newlib-4.3.0.20230120.patch => newlib-4.4.0.20231231.patch} (79%) diff --git a/dka64/patches/newlib-4.3.0.20230120.patch b/dka64/patches/newlib-4.4.0.20231231.patch similarity index 79% rename from dka64/patches/newlib-4.3.0.20230120.patch rename to dka64/patches/newlib-4.4.0.20231231.patch index ecc680a..c9a5988 100644 --- a/dka64/patches/newlib-4.3.0.20230120.patch +++ b/dka64/patches/newlib-4.4.0.20231231.patch @@ -1,123 +1,5 @@ -From 4a4d4178e73eb2d1f5354c1c8598520db771d8f4 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Wed, 8 Mar 2023 16:16:21 +0000 -Subject: [PATCH 01/83] add libsysbase - ---- - libgloss/Makefile.am | 3 + - libgloss/configure.ac | 6 +- - libgloss/libsysbase/Makefile.inc | 50 + - libgloss/libsysbase/_exit.c | 16 + - libgloss/libsysbase/abort.c | 8 + - libgloss/libsysbase/acconfig.h | 29 + - libgloss/libsysbase/acinclude.m4 | 27 + - libgloss/libsysbase/build_argv.c | 32 + - libgloss/libsysbase/chdir.c | 201 ++ - libgloss/libsysbase/chmod.c | 29 + - libgloss/libsysbase/clocks.c | 34 + - libgloss/libsysbase/config.h.in | 25 + - libgloss/libsysbase/configure | 4162 +++++++++++++++++++++++++ - libgloss/libsysbase/configure.in | 202 ++ - libgloss/libsysbase/dirent.c | 255 ++ - libgloss/libsysbase/environ.c | 6 + - libgloss/libsysbase/execve.c | 16 + - libgloss/libsysbase/fchmod.c | 31 + - libgloss/libsysbase/fork.c | 15 + - libgloss/libsysbase/fstat.c | 32 + - libgloss/libsysbase/fsync.c | 34 + - libgloss/libsysbase/ftruncate.c | 34 + - libgloss/libsysbase/getpid.c | 12 + - libgloss/libsysbase/getreent.c | 20 + - libgloss/libsysbase/gettod.c | 18 + - libgloss/libsysbase/handle_manager.c | 222 ++ - libgloss/libsysbase/handle_manager.h | 10 + - libgloss/libsysbase/iosupport.c | 140 + - libgloss/libsysbase/isatty.c | 10 + - libgloss/libsysbase/kill.c | 15 + - libgloss/libsysbase/link.c | 30 + - libgloss/libsysbase/lseek.c | 35 + - libgloss/libsysbase/lstat.c | 30 + - libgloss/libsysbase/malloc_vars.c | 2 + - libgloss/libsysbase/mkdir.c | 19 + - libgloss/libsysbase/nanosleep.c | 14 + - libgloss/libsysbase/open.c | 46 + - libgloss/libsysbase/read.c | 32 + - libgloss/libsysbase/rename.c | 29 + - libgloss/libsysbase/rmdir.c | 34 + - libgloss/libsysbase/sbrk.c | 53 + - libgloss/libsysbase/scandir.c | 75 + - libgloss/libsysbase/sleep.c | 18 + - libgloss/libsysbase/stat.c | 29 + - libgloss/libsysbase/statvfs.c | 24 + - libgloss/libsysbase/sysbase.specs | 11 + - libgloss/libsysbase/syscall_support.c | 76 + - libgloss/libsysbase/times.c | 13 + - libgloss/libsysbase/truncate.c | 54 + - libgloss/libsysbase/unlink.c | 27 + - libgloss/libsysbase/usleep.c | 18 + - libgloss/libsysbase/utime.c | 41 + - libgloss/libsysbase/wait.c | 16 + - libgloss/libsysbase/warning.h | 43 + - libgloss/libsysbase/write.c | 31 + - newlib/libc/include/sys/iosupport.h | 115 + - 56 files changed, 6608 insertions(+), 1 deletion(-) - create mode 100644 libgloss/libsysbase/Makefile.inc - create mode 100644 libgloss/libsysbase/_exit.c - create mode 100644 libgloss/libsysbase/abort.c - create mode 100644 libgloss/libsysbase/acconfig.h - create mode 100644 libgloss/libsysbase/acinclude.m4 - create mode 100644 libgloss/libsysbase/build_argv.c - create mode 100644 libgloss/libsysbase/chdir.c - create mode 100644 libgloss/libsysbase/chmod.c - create mode 100644 libgloss/libsysbase/clocks.c - create mode 100644 libgloss/libsysbase/config.h.in - create mode 100644 libgloss/libsysbase/configure - create mode 100644 libgloss/libsysbase/configure.in - create mode 100644 libgloss/libsysbase/dirent.c - create mode 100644 libgloss/libsysbase/environ.c - create mode 100644 libgloss/libsysbase/execve.c - create mode 100644 libgloss/libsysbase/fchmod.c - create mode 100644 libgloss/libsysbase/fork.c - create mode 100644 libgloss/libsysbase/fstat.c - create mode 100644 libgloss/libsysbase/fsync.c - create mode 100644 libgloss/libsysbase/ftruncate.c - create mode 100644 libgloss/libsysbase/getpid.c - create mode 100644 libgloss/libsysbase/getreent.c - create mode 100644 libgloss/libsysbase/gettod.c - create mode 100644 libgloss/libsysbase/handle_manager.c - create mode 100644 libgloss/libsysbase/handle_manager.h - create mode 100644 libgloss/libsysbase/iosupport.c - create mode 100644 libgloss/libsysbase/isatty.c - create mode 100644 libgloss/libsysbase/kill.c - create mode 100644 libgloss/libsysbase/link.c - create mode 100644 libgloss/libsysbase/lseek.c - create mode 100644 libgloss/libsysbase/lstat.c - create mode 100644 libgloss/libsysbase/malloc_vars.c - create mode 100644 libgloss/libsysbase/mkdir.c - create mode 100644 libgloss/libsysbase/nanosleep.c - create mode 100644 libgloss/libsysbase/open.c - create mode 100644 libgloss/libsysbase/read.c - create mode 100644 libgloss/libsysbase/rename.c - create mode 100644 libgloss/libsysbase/rmdir.c - create mode 100644 libgloss/libsysbase/sbrk.c - create mode 100644 libgloss/libsysbase/scandir.c - create mode 100644 libgloss/libsysbase/sleep.c - create mode 100644 libgloss/libsysbase/stat.c - create mode 100644 libgloss/libsysbase/statvfs.c - create mode 100644 libgloss/libsysbase/sysbase.specs - create mode 100644 libgloss/libsysbase/syscall_support.c - create mode 100644 libgloss/libsysbase/times.c - create mode 100644 libgloss/libsysbase/truncate.c - create mode 100644 libgloss/libsysbase/unlink.c - create mode 100644 libgloss/libsysbase/usleep.c - create mode 100644 libgloss/libsysbase/utime.c - create mode 100644 libgloss/libsysbase/wait.c - create mode 100644 libgloss/libsysbase/warning.h - create mode 100644 libgloss/libsysbase/write.c - create mode 100644 newlib/libc/include/sys/iosupport.h - diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am -index 4309cd3a4..fad31dbe0 100644 +index 0d4460b58..0eab54b65 100644 --- a/libgloss/Makefile.am +++ b/libgloss/Makefile.am @@ -87,6 +87,9 @@ endif @@ -130,4762 +12,4111 @@ index 4309cd3a4..fad31dbe0 100644 if CONFIG_LM32 include lm32/Makefile.inc endif -diff --git a/libgloss/configure.ac b/libgloss/configure.ac -index 5fb26845c..cf07fb118 100644 ---- a/libgloss/configure.ac -+++ b/libgloss/configure.ac -@@ -43,6 +43,9 @@ config_testsuite=true - dnl indicates whether to run configure within the libnosys subdirectory - config_libnosys=true +diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in +index fd845cf5f..5f80b89ab 100644 +--- a/libgloss/Makefile.in ++++ b/libgloss/Makefile.in +@@ -173,25 +173,28 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) + @CONFIG_IQ2000_TRUE@am__append_26 = iq2000/test + @CONFIG_LIBNOSYS_TRUE@am__append_27 = libnosys/nosys.specs + @CONFIG_LIBNOSYS_TRUE@am__append_28 = libnosys/libnosys.a +-@CONFIG_LM32_TRUE@am__append_29 = lm32/crt0.o lm32/sim.ld +-@CONFIG_LM32_TRUE@am__append_30 = lm32/libgloss.a +-@CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.S +-@CONFIG_NIOS2_TRUE@am__append_32 = \ ++@CONFIG_LIBSYSBASE_TRUE@am__append_29 = libsysbase/sysbase.specs ++@CONFIG_LIBSYSBASE_TRUE@am__append_30 = libsysbase/libpthread.a \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase.a ++@CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.o lm32/sim.ld ++@CONFIG_LM32_TRUE@am__append_32 = lm32/libgloss.a ++@CONFIG_LM32_TRUE@am__append_33 = lm32/crt0.S ++@CONFIG_NIOS2_TRUE@am__append_34 = \ + @CONFIG_NIOS2_TRUE@ nios2/qemu-hosted.ld -+dnl indicates whether to run configure within the libsysbase subdirectory -+config_libsysbase=true -+ - host_makefile_frag=${srcdir}/config/default.mh - target_makefile_frag=${srcdir}/config/default.mt +-@CONFIG_NIOS2_TRUE@am__append_33 = nios2/libnios2.a +-@CONFIG_RISCV_TRUE@am__append_34 = \ ++@CONFIG_NIOS2_TRUE@am__append_35 = nios2/libnios2.a ++@CONFIG_RISCV_TRUE@am__append_36 = \ + @CONFIG_RISCV_TRUE@ riscv/nano.specs \ + @CONFIG_RISCV_TRUE@ riscv/sim.specs \ + @CONFIG_RISCV_TRUE@ riscv/semihost.specs \ + @CONFIG_RISCV_TRUE@ riscv/crt0.o -@@ -247,7 +250,7 @@ AC_SUBST(subdirs) - dnl These subdirs have converted to non-recursive make. Hopefully someday all - dnl the ports above will too! - m4_foreach_w([SUBDIR], [ -- aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 nios2 riscv wince -+ aarch64 arc arm bfin csky d30v iq2000 libnosys libsysbase lm32 nios2 riscv wince - ], [dnl - AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue) - ]) -@@ -343,6 +346,7 @@ m4_include([aarch64/acinclude.m4]) - m4_include([arm/acinclude.m4]) - m4_include([i386/acinclude.m4]) - m4_include([libnosys/acinclude.m4]) -+m4_include([libsysbase/acinclude.m4]) - m4_include([m68k/acinclude.m4]) - m4_include([mcore/acinclude.m4]) - m4_include([mips/acinclude.m4]) -diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc -new file mode 100644 -index 000000000..df4a97dc8 ---- /dev/null -+++ b/libgloss/libsysbase/Makefile.inc -@@ -0,0 +1,50 @@ -+multilibtool_DATA += %D%/sysbase.specs -+multilibtool_LIBRARIES += %D%/libsysbase.a +-@CONFIG_RISCV_TRUE@am__append_35 = riscv/libgloss.a riscv/libsim.a \ ++@CONFIG_RISCV_TRUE@am__append_37 = riscv/libgloss.a riscv/libsim.a \ + @CONFIG_RISCV_TRUE@ riscv/libsemihost.a +-@CONFIG_WINCE_TRUE@am__append_36 = $(gdbdir) +-@CONFIG_WINCE_TRUE@am__append_37 = wince/stub.exe +-@CONFIG_XTENSA_TRUE@am__append_38 = -D_LIBGLOSS -I$(srcdir)/xtensa/include +-@CONFIG_XTENSA_TRUE@am__append_39 = \ ++@CONFIG_WINCE_TRUE@am__append_38 = $(gdbdir) ++@CONFIG_WINCE_TRUE@am__append_39 = wince/stub.exe ++@CONFIG_XTENSA_TRUE@am__append_40 = -D_LIBGLOSS -I$(srcdir)/xtensa/include ++@CONFIG_XTENSA_TRUE@am__append_41 = \ + @CONFIG_XTENSA_TRUE@ xtensa/default.specs \ + @CONFIG_XTENSA_TRUE@ xtensa/nano.specs \ + @CONFIG_XTENSA_TRUE@ xtensa/sim.elf.specs \ +@@ -200,27 +203,27 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) + @CONFIG_XTENSA_TRUE@ xtensa/sys.openocd.specs \ + @CONFIG_XTENSA_TRUE@ xtensa/crt0.o + +-@CONFIG_XTENSA_TRUE@am__append_40 = \ ++@CONFIG_XTENSA_TRUE@am__append_42 = \ + @CONFIG_XTENSA_TRUE@ xtensa/crt0.S \ + @CONFIG_XTENSA_TRUE@ xtensa/crt1-sim.S \ + @CONFIG_XTENSA_TRUE@ xtensa/crt1-boards.S + +-@CONFIG_XTENSA_TRUE@am__append_41 = xtensa/libgloss.a +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_42 = \ ++@CONFIG_XTENSA_TRUE@am__append_43 = xtensa/libgloss.a ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_44 = \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/app.elf.ld \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/crt1-sim.o \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/crt1-boards.o + +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_43 = xtensa/libsys_qemu.a \ ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_45 = xtensa/libsys_qemu.a \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/libsys_openocd.a +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_44 = xtensa/boards/esp32/memory.elf.ld +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_45 = xtensa/boards/esp32/board.c +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_46 = -I$(srcdir)/xtensa/boards/esp32/include +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_47 = -I$(srcdir)/xtensa/boards/esp32/include +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_48 = xtensa/boards/esp32s3/memory.elf.ld +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_49 = xtensa/boards/esp32s3/board.c +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_50 = -I$(srcdir)/xtensa/boards/esp32s3/include +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_51 = -I$(srcdir)/xtensa/boards/esp32s3/include ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_46 = xtensa/boards/esp32/memory.elf.ld ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_47 = xtensa/boards/esp32/board.c ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_48 = -I$(srcdir)/xtensa/boards/esp32/include ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_49 = -I$(srcdir)/xtensa/boards/esp32/include ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_50 = xtensa/boards/esp32s3/memory.elf.ld ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_51 = xtensa/boards/esp32s3/board.c ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_52 = -I$(srcdir)/xtensa/boards/esp32s3/include ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP32S3_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@am__append_53 = -I$(srcdir)/xtensa/boards/esp32s3/include + subdir = . + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ +@@ -230,6 +233,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ + $(top_srcdir)/aarch64/acinclude.m4 \ + $(top_srcdir)/arm/acinclude.m4 $(top_srcdir)/i386/acinclude.m4 \ + $(top_srcdir)/libnosys/acinclude.m4 \ ++ $(top_srcdir)/libsysbase/acinclude.m4 \ + $(top_srcdir)/m68k/acinclude.m4 \ + $(top_srcdir)/mcore/acinclude.m4 \ + $(top_srcdir)/mips/acinclude.m4 \ +@@ -459,6 +463,69 @@ libobjs_a_LIBADD = + am_libobjs_a_OBJECTS = $(am__objects_3) $(am__objects_4) \ + $(am__objects_5) $(am__objects_6) $(am__objects_7) + libobjs_a_OBJECTS = $(am_libobjs_a_OBJECTS) ++libsysbase_libpthread_a_AR = $(AR) $(ARFLAGS) ++libsysbase_libpthread_a_LIBADD = ++@CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libpthread_a_OBJECTS = \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dummy.$(OBJEXT) ++libsysbase_libpthread_a_OBJECTS = \ ++ $(am_libsysbase_libpthread_a_OBJECTS) ++libsysbase_libsysbase_a_AR = $(AR) $(ARFLAGS) ++libsysbase_libsysbase_a_LIBADD = ++@CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libsysbase_a_OBJECTS = libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-concatenate.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fpathconf.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-getpid.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-getreent.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-gettod.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-handle_manager.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-iosupport.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-isatty.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-kill.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-link.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lseek.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pthread.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-readlink.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-scandir.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-symlink.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-unlink.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-usleep.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-utime.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-wait.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-write.$(OBJEXT) ++libsysbase_libsysbase_a_OBJECTS = \ ++ $(am_libsysbase_libsysbase_a_OBJECTS) + lm32_libgloss_a_AR = $(AR) $(ARFLAGS) + lm32_libgloss_a_LIBADD = + @CONFIG_LM32_TRUE@am_lm32_libgloss_a_OBJECTS = lm32/isatty.$(OBJEXT) \ +@@ -668,7 +735,8 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ + $(bfin_libbfinbsp_a_SOURCES) $(bfin_libsim_a_SOURCES) \ + $(csky_libsemi_a_SOURCES) $(d30v_libsim_a_SOURCES) \ + $(iq2000_libeval_a_SOURCES) $(libnosys_libnosys_a_SOURCES) \ +- $(libobjs_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ ++ $(libobjs_a_SOURCES) $(libsysbase_libpthread_a_SOURCES) \ ++ $(libsysbase_libsysbase_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ + $(nios2_libnios2_a_SOURCES) $(riscv_libgloss_a_SOURCES) \ + $(riscv_libsemihost_a_SOURCES) $(riscv_libsim_a_SOURCES) \ + $(xtensa_libgloss_a_SOURCES) \ +@@ -761,7 +829,7 @@ ETAGS = etags + CTAGS = ctags + CSCOPE = cscope + DIST_SUBDIRS = $(SUBDIRS) +-VPATH = @srcdir@ $(am__append_36) ++VPATH = @srcdir@ $(am__append_38) + AARCH64_OBJTYPE = @AARCH64_OBJTYPE@ + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ +@@ -779,7 +847,7 @@ CCASFLAGS = @CCASFLAGS@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ + CPP = @CPP@ +-CPPFLAGS = @CPPFLAGS@ $(am__append_38) ++CPPFLAGS = @CPPFLAGS@ $(am__append_40) + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +@@ -874,6 +942,7 @@ pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -899,14 +968,14 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) + multilibtool_DATA = $(am__append_3) $(am__append_6) $(am__append_7) \ + $(am__append_8) $(am__append_13) $(am__append_15) \ + $(am__append_18) $(am__append_22) $(am__append_23) \ +- $(am__append_27) $(am__append_29) $(am__append_32) \ +- $(am__append_34) $(am__append_39) $(am__append_42) \ +- $(am__append_44) $(am__append_48) ++ $(am__append_27) $(am__append_29) $(am__append_31) \ ++ $(am__append_34) $(am__append_36) $(am__append_41) \ ++ $(am__append_44) $(am__append_46) $(am__append_50) + multilibtool_LIBRARIES = $(am__append_2) $(am__append_5) \ + $(am__append_9) $(am__append_11) $(am__append_20) \ + $(am__append_21) $(am__append_24) $(am__append_28) \ +- $(am__append_30) $(am__append_33) $(am__append_35) \ +- $(am__append_41) $(am__append_43) ++ $(am__append_30) $(am__append_32) $(am__append_35) \ ++ $(am__append_37) $(am__append_43) $(am__append_45) + includetooldir = $(tooldir)/include + includetool_DATA = $(am__append_16) + includesystooldir = $(tooldir)/include/sys +@@ -917,7 +986,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include + # to install (e.g. our crt0.o objects). + noinst_LIBRARIES = libobjs.a + libobjs_a_SOURCES = $(am__append_14) $(am__append_19) $(am__append_25) \ +- $(am__append_31) $(am__append_40) ++ $(am__append_33) $(am__append_42) + FLAGS_TO_PASS = \ + "CC=$(CC)" \ + "CFLAGS=$(CFLAGS)" \ +@@ -1098,6 +1167,65 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_LIBNOSYS_TRUE@ libnosys/getentropy.c \ + @CONFIG_LIBNOSYS_TRUE@ libnosys/_exit.c + ++@CONFIG_LIBSYSBASE_TRUE@libsysbase_libpthread_a_SOURCES = \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dummy.c + -+%C%_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE ++@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE ++@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_SOURCES = \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/_exit.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/abort.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/build_argv.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chmod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/clocks.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/concatenate.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dirent.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fchmod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/flock.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fnmatch.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fpathconf.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fsync.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/ftruncate.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/getpid.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/getreent.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/gettod.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/handle_manager.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/iosupport.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/isatty.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/kill.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/link.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/lseek.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/lstat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/malloc_vars.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/mkdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pthread.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/nanosleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/readlink.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/realpath.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sbrk.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/scandir.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/stat.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/statvfs.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/symlink.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/syscall_support.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/times.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/truncate.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/unlink.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/usleep.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/utime.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/wait.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/write.c + -+%C%_libsysbase_a_SOURCES = \ -+ %D%/_exit.c \ -+ %D%/abort.c \ -+ %D%/build_argv.c \ -+ %D%/chdir.c \ -+ %D%/chmod.c \ -+ %D%/clocks.c \ -+ %D%/dirent.c \ -+ %D%/environ.c \ -+ %D%/execve.c \ -+ %D%/fchmod.c \ -+ %D%/fork.c \ -+ %D%/fstat.c \ -+ %D%/fsync.c \ -+ %D%/ftruncate.c \ -+ %D%/getpid.c \ -+ %D%/getreent.c \ -+ %D%/gettod.c \ -+ %D%/handle_manager.c \ -+ %D%/iosupport.c \ -+ %D%/isatty.c \ -+ %D%/kill.c \ -+ %D%/link.c \ -+ %D%/lseek.c \ -+ %D%/lstat.c \ -+ %D%/malloc_vars.c \ -+ %D%/mkdir.c \ -+ %D%/nanosleep.c \ -+ %D%/open.c \ -+ %D%/read.c \ -+ %D%/rename.c \ -+ %D%/rmdir.c \ -+ %D%/sbrk.c \ -+ %D%/scandir.c \ -+ %D%/sleep.c \ -+ %D%/stat.c \ -+ %D%/statvfs.c \ -+ %D%/syscall_support.c \ -+ %D%/times.c \ -+ %D%/truncate.c \ -+ %D%/unlink.c \ -+ %D%/usleep.c \ -+ %D%/utime.c \ -+ %D%/wait.c \ -+ %D%/write.c -diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c -new file mode 100644 -index 000000000..a45723f84 ---- /dev/null -+++ b/libgloss/libsysbase/_exit.c -@@ -0,0 +1,16 @@ -+/* Stub version of _exit. */ -+ -+#include -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+void _exit(int rc) -+{ -+ if ( __has_syscall(exit) ) { -+ __syscall_exit(rc); -+ } -+ -+ while(1); -+} -diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c -new file mode 100644 -index 000000000..9272e22c9 ---- /dev/null -+++ b/libgloss/libsysbase/abort.c -@@ -0,0 +1,8 @@ -+#include -+#include -+ -+void abort(void) { -+ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); -+ _exit (1); -+} -+ -diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h -new file mode 100644 -index 000000000..200ea7873 ---- /dev/null -+++ b/libgloss/libsysbase/acconfig.h -@@ -0,0 +1,29 @@ -+/* Name of package. */ -+#undef PACKAGE -+ -+/* Version of package. */ -+#undef VERSION -+ -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES -+ -+/* Reentrant syscalls */ -+#undef REENTRANT_SYSCALLS_PROVIDED -+ -+/* Using ELF format */ -+#undef HAVE_ELF -+ -+/* Using GNU LD */ -+#undef HAVE_GNU_LD -+ -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE -+ -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE -+ -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES -+ -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff --git a/libgloss/libsysbase/acinclude.m4 b/libgloss/libsysbase/acinclude.m4 -new file mode 100644 -index 000000000..7b0d7b4d6 ---- /dev/null -+++ b/libgloss/libsysbase/acinclude.m4 -@@ -0,0 +1,27 @@ -+dnl Make sure syscall names match those being used by newlib -+case "${target}" in -+ *-*-cygwin*) ;; -+ a29k-amd-udi) ;; -+ aarch64*-*-*) ;; -+ arc-*-*) ;; -+ arm*-*-*) ;; -+ bfin-*-*) ;; -+ cris-*-* | crisv32-*-*) ;; -+ d10v*) ;; -+ h8300*-*-*) ;; -+ h8500-*-*) ;; -+ i[3456]86-*-sco*) ;; -+ lm32-*-*) ;; -+ m32r-*-*) ;; -+ mn10?00-*-*) ;; -+ riscv*-*-*) ;; -+ powerpcle-*-pe) ;; -+ sh*-*-*) ;; -+ sparc-sun-sunos*) ;; -+ sparc64-*-*) ;; -+ v850*-*-*) ;; -+ w65-*-*) ;; -+ xstormy16-*-*) ;; -+ z8k-*-*) ;; -+ *) AC_DEFINE(MISSING_SYSCALL_NAMES, 1, [Missing syscall names]) ;; -+esac -diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c -new file mode 100644 -index 000000000..0697f53d2 ---- /dev/null -+++ b/libgloss/libsysbase/build_argv.c -@@ -0,0 +1,32 @@ -+struct __argv { -+ int argvMagic; -+ char *commandLine; -+ int length; -+ int argc; -+ char **argv; -+ char **endARGV; -+}; -+ -+ -+void build_argv (struct __argv* argstruct ) { -+ -+ char *data = argstruct->commandLine; -+ int len = argstruct->length; -+ -+ char** argv = (char**)(((int)data + len + sizeof(char **)) & ~(sizeof(char **)-1)); -+ char* end = data + len - 1; -+ int argCount = 0; -+ -+ do { -+ argv[argCount++] = data; // Add next arg to argv list -+ while (*(data) && data < end) data++; // Move to next NULL delimiter -+ data++; // Move to one after the NULL delimiter -+ } while (data < end); -+ -+ *end = '\0'; // Force NULL terminator for last arg -+ argv[argCount] = 0; // Force NULL terminator for argv -+ -+ argstruct->argv = argv; -+ argstruct->argc = argCount; -+ argstruct->endARGV = &argv[argCount + 1]; -+} -diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c -new file mode 100644 -index 000000000..90d2dc5b7 ---- /dev/null -+++ b/libgloss/libsysbase/chdir.c -@@ -0,0 +1,201 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* CWD always start with "/" */ -+static char _current_working_directory [PATH_MAX] = "/"; -+static char temp_cwd [PATH_MAX]; -+ -+#define DIRECTORY_SEPARATOR_CHAR '/' -+const char DIRECTORY_SEPARATOR[] = "/"; -+const char DIRECTORY_THIS[] = "."; -+const char DIRECTORY_PARENT[] = ".."; -+ -+int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { -+ char *pathEnd; -+ int pathLength; -+ const char *extraEnd; -+ int extraSize; -+ -+ pathLength = strnlen (path, maxLength); -+ -+ /* assumes path ends in a directory separator */ -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ pathEnd = path + pathLength; -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd += 1; -+ } -+ -+ extraEnd = extra; -+ -+ /* If the extra bit starts with a slash, start at root */ -+ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; -+ pathEnd[0] = '\0'; -+ } -+ do { -+ /* Advance past any separators in extra */ -+ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ extra += 1; -+ } -+ -+ /* Grab the next directory name from extra */ -+ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); -+ if (extraEnd == NULL) { -+ extraEnd = strrchr (extra, '\0'); -+ } else { -+ extraEnd += 1; -+ } -+ -+ extraSize = (extraEnd - extra); -+ if (extraSize == 0) { -+ break; -+ } -+ -+ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) -+ { -+ /* Don't copy anything */ -+ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) -+ { -+ /* Go up one level of in the path */ -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { -+ // Remove trailing separator -+ pathEnd[-1] = '\0'; -+ } -+ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); -+ if (pathEnd == NULL) { -+ /* Can't go up any higher, return false */ -+ r->_errno = ENOENT; -+ return -1; -+ } -+ pathLength = pathEnd - path; -+ pathEnd += 1; -+ } else { -+ pathLength += extraSize; -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ /* Copy the next part over */ -+ strncpy (pathEnd, extra, extraSize); -+ pathEnd += extraSize; -+ } -+ pathEnd[0] = '\0'; -+ extra += extraSize; -+ } while (extraSize != 0); -+ -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd[1] = 0; -+ pathEnd += 1; -+ } -+ -+ return 0; -+} -+ -+int chdir (const char *path) { -+ struct _reent *r = _REENT; -+ -+ int dev; -+ const char *pathPosition; -+ -+ /* Make sure the path is short enough */ -+ if (strnlen (path, PATH_MAX) >= PATH_MAX) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ -+ if (strchr (path, ':') != NULL) { -+ strncpy (temp_cwd, path, PATH_MAX); -+ /* Move path past device name */ -+ path = strchr (path, ':') + 1; -+ } else { -+ strncpy (temp_cwd, _current_working_directory, PATH_MAX); -+ } -+ -+ pathPosition = strchr (temp_cwd , ':'); -+ -+ if (pathPosition == NULL) { -+ pathPosition = temp_cwd; -+ } else { -+ pathPosition++; -+ } -+ -+ /* Make sure the path starts in the root directory */ -+ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { -+ r->_errno = ENOENT; -+ return -1; -+ } -+ -+ /* Concatenate the path to the CWD */ -+ if (_concatenate_path (r, temp_cwd, path, PATH_MAX) == -1) { -+ return -1; -+ } -+ -+ /* Get device from path name */ -+ dev = FindDevice(temp_cwd); -+ -+ if (dev < 0) { -+ r->_errno = ENODEV; -+ return -1; -+ } -+ -+ r->deviceData = devoptab_list[dev]->deviceData; -+ -+ if ( devoptab_list[dev]->chdir_r == NULL) { -+ r->_errno = ENOSYS; -+ return -1; -+ } -+ -+ /* Try changing directories on the device */ -+ if (devoptab_list[dev]->chdir_r (r, temp_cwd) == -1) { -+ return -1; -+ } -+ -+ /* Since it worked, set the new CWD and default device */ -+ setDefaultDevice(dev); -+ strncpy (_current_working_directory, temp_cwd, PATH_MAX); -+ -+ return 0; -+} -+ -+char *getcwd(char *buf, size_t size) { -+ -+ struct _reent *r = _REENT; -+ -+ if (size == 0) { -+ if (buf != NULL) { -+ r->_errno = EINVAL; -+ return NULL; -+ } -+ buf = malloc(PATH_MAX); -+ size = PATH_MAX; -+ } -+ -+ if (buf == NULL) { -+ r->_errno = EINVAL; -+ return NULL; -+ } -+ -+ if ( size < (strnlen (_current_working_directory, PATH_MAX) + 1)) { -+ r->_errno = ERANGE; -+ return NULL; -+ } -+ -+ strncpy (buf, _current_working_directory, size); -+ -+ return buf; -+} -diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c -new file mode 100644 -index 000000000..3c4c60b7c ---- /dev/null -+++ b/libgloss/libsysbase/chmod.c -@@ -0,0 +1,29 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+int chmod(const char *path, mode_t mode) { -+ int ret=-1,dev; -+ struct _reent *r = _REENT; -+ -+ /* Get device from path name */ -+ dev = FindDevice(path); -+ -+ if (dev < 0) { -+ r->_errno = ENODEV; -+ } else { -+ if (devoptab_list[dev]->chmod_r == NULL) { -+ r->_errno=ENOSYS; -+ } else { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->chmod_r(r,path,mode); -+ } -+ } -+ -+ return ret; -+} -+ -diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c -new file mode 100644 -index 000000000..b36b5c079 ---- /dev/null -+++ b/libgloss/libsysbase/clocks.c -@@ -0,0 +1,34 @@ -+#include -+#include -+#include -+ -+int clock_gettime(clockid_t clock_id, struct timespec *tp) -+{ -+ if ( __has_syscall(clock_gettime) ) { -+ return __syscall_clock_gettime(clock_id, tp); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} -+ -+int clock_settime(clockid_t clock_id, const struct timespec *tp) -+{ -+ if ( __has_syscall(clock_settime) ) { -+ return __syscall_clock_settime(clock_id, tp); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} -+ -+int clock_getres (clockid_t clock_id, struct timespec *res) -+{ -+ if ( __has_syscall(clock_getres) ) { -+ return __syscall_clock_getres(clock_id, res); -+ } else { -+ errno = ENOSYS; -+ return -1; -+ } -+} -+ -diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in -new file mode 100644 -index 000000000..48ce950b4 ---- /dev/null -+++ b/libgloss/libsysbase/config.h.in -@@ -0,0 +1,25 @@ -+/* config.h.in. Generated automatically from configure.in by autoheader. */ -+ -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES -+ -+/* Reentrant syscalls */ -+#undef REENTRANT_SYSCALLS_PROVIDED -+ -+/* Using ELF format */ -+#undef HAVE_ELF -+ -+/* Using GNU LD */ -+#undef HAVE_GNU_LD -+ -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE -+ -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE -+ -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES -+ -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure -new file mode 100644 -index 000000000..be36ded12 ---- /dev/null -+++ b/libgloss/libsysbase/configure -@@ -0,0 +1,4162 @@ -+#! /bin/sh -+# Guess values for system-dependent variables and create Makefiles. -+# Generated by GNU Autoconf 2.69. -+# -+# -+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -+# -+# -+# This configure script is free software; the Free Software Foundation -+# gives unlimited permission to copy, distribute and modify it. -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## -+ -+# Be more Bourne compatible -+DUALCASE=1; export DUALCASE # for MKS sh -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '${1+"$@"}'='"$@"' -+ setopt NO_GLOB_SUBST -+else -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+ -+ -+as_nl=' -+' -+export as_nl -+# Printing a long string crashes Solaris 7 /usr/bin/printf. -+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='printf %s\n' -+ as_echo_n='printf %s' -+else -+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then -+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' -+ as_echo_n='/usr/ucb/echo -n' -+ else -+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' -+ as_echo_n_body='eval -+ arg=$1; -+ case $arg in #( -+ *"$as_nl"*) -+ expr "X$arg" : "X\\(.*\\)$as_nl"; -+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -+ esac; -+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" -+ ' -+ export as_echo_n_body -+ as_echo_n='sh -c $as_echo_n_body as_echo' -+ fi -+ export as_echo_body -+ as_echo='sh -c $as_echo_body as_echo' -+fi -+ -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ PATH_SEPARATOR=: -+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { -+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || -+ PATH_SEPARATOR=';' -+ } -+fi -+ -+ -+# IFS -+# We need space, tab and new line, in precisely that order. Quoting is -+# there to prevent editors from complaining about space-tab. -+# (If _AS_PATH_WALK were called with IFS unset, it would disable word -+# splitting by setting IFS to empty value.) -+IFS=" "" $as_nl" -+ -+# Find who we are. Look in the path if we contain no directory separator. -+as_myself= -+case $0 in #(( -+ *[\\/]* ) as_myself=$0 ;; -+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done -+IFS=$as_save_IFS -+ -+ ;; -+esac -+# We did not find ourselves, most probably we were run as `sh COMMAND' -+# in which case we are not to be found in the path. -+if test "x$as_myself" = x; then -+ as_myself=$0 -+fi -+if test ! -f "$as_myself"; then -+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -+ exit 1 -+fi -+ -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -+done -+PS1='$ ' -+PS2='> ' -+PS4='+ ' -+ -+# NLS nuisances. -+LC_ALL=C -+export LC_ALL -+LANGUAGE=C -+export LANGUAGE -+ -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+# Use a proper internal environment variable to ensure we don't fall -+ # into an infinite loop, continuously re-executing ourselves. -+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then -+ _as_can_reexec=no; export _as_can_reexec; -+ # We cannot yet assume a decent shell, so we have to provide a -+# neutralization value for shells without unset; and this also -+# works around shells that cannot unset nonexistent variables. -+# Preserve -v and -x to the replacement shell. -+BASH_ENV=/dev/null -+ENV=/dev/null -+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; -+esac -+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -+# Admittedly, this is quite paranoid, since all the known shells bail -+# out after a failed `exec'. -+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -+as_fn_exit 255 -+ fi -+ # We don't want this to propagate to other subprocesses. -+ { _as_can_reexec=; unset _as_can_reexec;} -+if test "x$CONFIG_SHELL" = x; then -+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '\${1+\"\$@\"}'='\"\$@\"' -+ setopt NO_GLOB_SUBST -+else -+ case \`(set -o) 2>/dev/null\` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+" -+ as_required="as_fn_return () { (exit \$1); } -+as_fn_success () { as_fn_return 0; } -+as_fn_failure () { as_fn_return 1; } -+as_fn_ret_success () { return 0; } -+as_fn_ret_failure () { return 1; } -+ -+exitcode=0 -+as_fn_success || { exitcode=1; echo as_fn_success failed.; } -+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : -+ -+else -+ exitcode=1; echo positional parameters were not saved. -+fi -+test x\$exitcode = x0 || exit 1 -+test -x / || exit 1" -+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO -+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO -+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && -+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" -+ if (eval "$as_required") 2>/dev/null; then : -+ as_have_required=yes -+else -+ as_have_required=no -+fi -+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : -+ -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+as_found=false -+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ as_found=: -+ case $as_dir in #( -+ /*) -+ for as_base in sh bash ksh sh5; do -+ # Try only shells that exist, to save several forks. -+ as_shell=$as_dir/$as_base -+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ CONFIG_SHELL=$as_shell as_have_required=yes -+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ break 2 -+fi -+fi -+ done;; -+ esac -+ as_found=false -+done -+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : -+ CONFIG_SHELL=$SHELL as_have_required=yes -+fi; } -+IFS=$as_save_IFS -+ -+ -+ if test "x$CONFIG_SHELL" != x; then : -+ export CONFIG_SHELL -+ # We cannot yet assume a decent shell, so we have to provide a -+# neutralization value for shells without unset; and this also -+# works around shells that cannot unset nonexistent variables. -+# Preserve -v and -x to the replacement shell. -+BASH_ENV=/dev/null -+ENV=/dev/null -+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; -+esac -+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -+# Admittedly, this is quite paranoid, since all the known shells bail -+# out after a failed `exec'. -+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -+exit 255 -+fi -+ -+ if test x$as_have_required = xno; then : -+ $as_echo "$0: This script requires a shell more modern than all" -+ $as_echo "$0: the shells that I found on your system." -+ if test x${ZSH_VERSION+set} = xset ; then -+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" -+ $as_echo "$0: be upgraded to zsh 4.3.4 or later." -+ else -+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -+$0: including any error possibly output before this -+$0: message. Then install a modern shell, or manually run -+$0: the script under such a shell if you do have one." -+ fi -+ exit 1 -+fi -+fi -+fi -+SHELL=${CONFIG_SHELL-/bin/sh} -+export SHELL -+# Unset more variables known to interfere with behavior of common tools. -+CLICOLOR_FORCE= GREP_OPTIONS= -+unset CLICOLOR_FORCE GREP_OPTIONS -+ -+## --------------------- ## -+## M4sh Shell Functions. ## -+## --------------------- ## -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset -+ -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status -+ -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit -+ -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ -+ -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" -+ -+ -+} # as_fn_mkdir_p -+ -+# as_fn_executable_p FILE -+# ----------------------- -+# Test if FILE is an executable regular file. -+as_fn_executable_p () -+{ -+ test -f "$1" && test -x "$1" -+} # as_fn_executable_p -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append -+ -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith -+ -+ -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error -+ -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr -+else -+ as_expr=false -+fi -+ -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename -+else -+ as_basename=false -+fi -+ -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi -+ -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+ -+ as_lineno_1=$LINENO as_lineno_1a=$LINENO -+ as_lineno_2=$LINENO as_lineno_2a=$LINENO -+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && -+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { -+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) -+ sed -n ' -+ p -+ /[$]LINENO/= -+ ' <$as_myself | -+ sed ' -+ s/[$]LINENO.*/&-/ -+ t lineno -+ b -+ :lineno -+ N -+ :loop -+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ -+ t loop -+ s/-\n.*// -+ ' >$as_me.lineno && -+ chmod +x "$as_me.lineno" || -+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } -+ -+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have -+ # already done that, so ensure we don't try to do so again and fall -+ # in an infinite loop. This has already happened in practice. -+ _as_can_reexec=no; export _as_can_reexec -+ # Don't try to exec as it changes $[0], causing all sort of problems -+ # (the dirname of $[0] is not the place where we might find the -+ # original and so on. Autoconf is especially sensitive to this). -+ . "./$as_me.lineno" -+ # Exit status is that of the last command. -+ exit -+} -+ -+ECHO_C= ECHO_N= ECHO_T= -+case `echo -n x` in #((((( -+-n*) -+ case `echo 'xy\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; -+ esac;; -+*) -+ ECHO_N='-n';; -+esac -+ -+rm -f conf$$ conf$$.exe conf$$.file -+if test -d conf$$.dir; then -+ rm -f conf$$.dir/conf$$.file -+else -+ rm -f conf$$.dir -+ mkdir conf$$.dir 2>/dev/null -+fi -+if (echo >conf$$.file) 2>/dev/null; then -+ if ln -s conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s='ln -s' -+ # ... but there are two gotchas: -+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. -+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -+ # In both cases, we have to default to `cp -pR'. -+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -+ as_ln_s='cp -pR' -+ elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+ else -+ as_ln_s='cp -pR' -+ fi -+else -+ as_ln_s='cp -pR' -+fi -+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -+rmdir conf$$.dir 2>/dev/null -+ -+if mkdir -p . 2>/dev/null; then -+ as_mkdir_p='mkdir -p "$as_dir"' -+else -+ test -d ./-p && rmdir ./-p -+ as_mkdir_p=false -+fi -+ -+as_test_x='test -x' -+as_executable_p=as_fn_executable_p -+ -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -+ -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -+ -+ -+test -n "$DJDIR" || exec 7<&0 &1 -+ -+# Name of the host. -+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -+# so uname gets run too. -+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` -+ -+# -+# Initializations. -+# -+ac_default_prefix=/usr/local -+ac_clean_files= -+ac_config_libobj_dir=. -+LIBOBJS= -+cross_compiling=no -+subdirs= -+MFLAGS= -+MAKEFLAGS= -+ -+# Identity of this package. -+PACKAGE_NAME= -+PACKAGE_TARNAME= -+PACKAGE_VERSION= -+PACKAGE_STRING= -+PACKAGE_BUGREPORT= -+PACKAGE_URL= -+ -+ac_unique_file="abort.c" -+ac_subst_vars='LTLIBOBJS -+LIBOBJS -+host_makefile_frag_path -+CCASFLAGS -+CCAS -+RANLIB -+LD -+AR -+AS -+am__fastdepCC_FALSE -+am__fastdepCC_TRUE -+CCDEPMODE -+AMDEPBACKSLASH -+AMDEP_FALSE -+AMDEP_TRUE -+am__quote -+am__include -+DEPDIR -+am__leading_dot -+CC -+INSTALL_DATA -+INSTALL_SCRIPT -+INSTALL_PROGRAM -+target_os -+target_vendor -+target_cpu -+target -+host_os -+host_vendor -+host_cpu -+host -+build_os -+build_vendor -+build_cpu -+build -+target_alias -+host_alias -+build_alias -+LIBS -+ECHO_T -+ECHO_N -+ECHO_C -+DEFS -+mandir -+localedir -+libdir -+psdir -+pdfdir -+dvidir -+htmldir -+infodir -+docdir -+oldincludedir -+includedir -+localstatedir -+sharedstatedir -+sysconfdir -+datadir -+datarootdir -+libexecdir -+sbindir -+bindir -+program_transform_name -+prefix -+exec_prefix -+PACKAGE_URL -+PACKAGE_BUGREPORT -+PACKAGE_STRING -+PACKAGE_VERSION -+PACKAGE_TARNAME -+PACKAGE_NAME -+PATH_SEPARATOR -+SHELL' -+ac_subst_files='host_makefile_frag' -+ac_user_opts=' -+enable_option_checking -+enable_dependency_tracking -+' -+ ac_precious_vars='build_alias -+host_alias -+target_alias -+CCAS -+CCASFLAGS' -+ -+ -+# Initialize some variables set by options. -+ac_init_help= -+ac_init_version=false -+ac_unrecognized_opts= -+ac_unrecognized_sep= -+# The variables have the same names as the options, with -+# dashes changed to underlines. -+cache_file=/dev/null -+exec_prefix=NONE -+no_create= -+no_recursion= -+prefix=NONE -+program_prefix=NONE -+program_suffix=NONE -+program_transform_name=s,x,x, -+silent= -+site= -+srcdir= -+verbose= -+x_includes=NONE -+x_libraries=NONE -+ -+# Installation directory options. -+# These are left unexpanded so users can "make install exec_prefix=/foo" -+# and all the variables that are supposed to be based on exec_prefix -+# by default will actually change. -+# Use braces instead of parens because sh, perl, etc. also accept them. -+# (The list follows the same order as the GNU Coding Standards.) -+bindir='${exec_prefix}/bin' -+sbindir='${exec_prefix}/sbin' -+libexecdir='${exec_prefix}/libexec' -+datarootdir='${prefix}/share' -+datadir='${datarootdir}' -+sysconfdir='${prefix}/etc' -+sharedstatedir='${prefix}/com' -+localstatedir='${prefix}/var' -+includedir='${prefix}/include' -+oldincludedir='/usr/include' -+docdir='${datarootdir}/doc/${PACKAGE}' -+infodir='${datarootdir}/info' -+htmldir='${docdir}' -+dvidir='${docdir}' -+pdfdir='${docdir}' -+psdir='${docdir}' -+libdir='${exec_prefix}/lib' -+localedir='${datarootdir}/locale' -+mandir='${datarootdir}/man' -+ -+ac_prev= -+ac_dashdash= -+for ac_option -+do -+ # If the previous option needs an argument, assign it. -+ if test -n "$ac_prev"; then -+ eval $ac_prev=\$ac_option -+ ac_prev= -+ continue -+ fi -+ -+ case $ac_option in -+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; -+ *=) ac_optarg= ;; -+ *) ac_optarg=yes ;; -+ esac -+ -+ # Accept the important Cygnus configure options, so we can diagnose typos. -+ -+ case $ac_dashdash$ac_option in -+ --) -+ ac_dashdash=yes ;; -+ -+ -bindir | --bindir | --bindi | --bind | --bin | --bi) -+ ac_prev=bindir ;; -+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) -+ bindir=$ac_optarg ;; -+ -+ -build | --build | --buil | --bui | --bu) -+ ac_prev=build_alias ;; -+ -build=* | --build=* | --buil=* | --bui=* | --bu=*) -+ build_alias=$ac_optarg ;; -+ -+ -cache-file | --cache-file | --cache-fil | --cache-fi \ -+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) -+ ac_prev=cache_file ;; -+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ -+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) -+ cache_file=$ac_optarg ;; -+ -+ --config-cache | -C) -+ cache_file=config.cache ;; -+ -+ -datadir | --datadir | --datadi | --datad) -+ ac_prev=datadir ;; -+ -datadir=* | --datadir=* | --datadi=* | --datad=*) -+ datadir=$ac_optarg ;; -+ -+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ -+ | --dataroo | --dataro | --datar) -+ ac_prev=datarootdir ;; -+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ -+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) -+ datarootdir=$ac_optarg ;; -+ -+ -disable-* | --disable-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid feature name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"enable_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval enable_$ac_useropt=no ;; -+ -+ -docdir | --docdir | --docdi | --doc | --do) -+ ac_prev=docdir ;; -+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) -+ docdir=$ac_optarg ;; -+ -+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) -+ ac_prev=dvidir ;; -+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) -+ dvidir=$ac_optarg ;; -+ -+ -enable-* | --enable-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid feature name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"enable_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval enable_$ac_useropt=\$ac_optarg ;; -+ -+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ -+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ -+ | --exec | --exe | --ex) -+ ac_prev=exec_prefix ;; -+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ -+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ -+ | --exec=* | --exe=* | --ex=*) -+ exec_prefix=$ac_optarg ;; -+ -+ -gas | --gas | --ga | --g) -+ # Obsolete; use --with-gas. -+ with_gas=yes ;; -+ -+ -help | --help | --hel | --he | -h) -+ ac_init_help=long ;; -+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) -+ ac_init_help=recursive ;; -+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) -+ ac_init_help=short ;; -+ -+ -host | --host | --hos | --ho) -+ ac_prev=host_alias ;; -+ -host=* | --host=* | --hos=* | --ho=*) -+ host_alias=$ac_optarg ;; -+ -+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) -+ ac_prev=htmldir ;; -+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ -+ | --ht=*) -+ htmldir=$ac_optarg ;; -+ -+ -includedir | --includedir | --includedi | --included | --include \ -+ | --includ | --inclu | --incl | --inc) -+ ac_prev=includedir ;; -+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ -+ | --includ=* | --inclu=* | --incl=* | --inc=*) -+ includedir=$ac_optarg ;; -+ -+ -infodir | --infodir | --infodi | --infod | --info | --inf) -+ ac_prev=infodir ;; -+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) -+ infodir=$ac_optarg ;; -+ -+ -libdir | --libdir | --libdi | --libd) -+ ac_prev=libdir ;; -+ -libdir=* | --libdir=* | --libdi=* | --libd=*) -+ libdir=$ac_optarg ;; -+ -+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ -+ | --libexe | --libex | --libe) -+ ac_prev=libexecdir ;; -+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ -+ | --libexe=* | --libex=* | --libe=*) -+ libexecdir=$ac_optarg ;; -+ -+ -localedir | --localedir | --localedi | --localed | --locale) -+ ac_prev=localedir ;; -+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) -+ localedir=$ac_optarg ;; -+ -+ -localstatedir | --localstatedir | --localstatedi | --localstated \ -+ | --localstate | --localstat | --localsta | --localst | --locals) -+ ac_prev=localstatedir ;; -+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ -+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) -+ localstatedir=$ac_optarg ;; -+ -+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) -+ ac_prev=mandir ;; -+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) -+ mandir=$ac_optarg ;; -+ -+ -nfp | --nfp | --nf) -+ # Obsolete; use --without-fp. -+ with_fp=no ;; -+ -+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ -+ | --no-cr | --no-c | -n) -+ no_create=yes ;; -+ -+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ -+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) -+ no_recursion=yes ;; -+ -+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ -+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ -+ | --oldin | --oldi | --old | --ol | --o) -+ ac_prev=oldincludedir ;; -+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ -+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ -+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) -+ oldincludedir=$ac_optarg ;; -+ -+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) -+ ac_prev=prefix ;; -+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) -+ prefix=$ac_optarg ;; + @CONFIG_LM32_TRUE@lm32_libgloss_a_SOURCES = \ + @CONFIG_LM32_TRUE@ lm32/isatty.c \ + @CONFIG_LM32_TRUE@ lm32/scall.S +@@ -1203,19 +1331,19 @@ TEXINFO_TEX = ../texinfo/texinfo.tex + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libgloss_a_SOURCES = xtensa/sleep.S \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/syscalls.c \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/window-vectors.S \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_45) \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_49) ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_47) \ ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_51) + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libsys_qemu_a_CPPFLAGS = -DQEMU_SEMIHOSTING \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_46) \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_50) ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_48) \ ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_52) + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libsys_qemu_a_SOURCES = \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/sim-vectors.S \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/sim-call.S \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/syscalls.c + + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libsys_openocd_a_CPPFLAGS = -DOPENOCD_SEMIHOSTING \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_47) \ +-@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_51) ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_49) \ ++@CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ $(am__append_53) + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libsys_openocd_a_SOURCES = \ + @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/syscalls.c + +@@ -1228,7 +1356,7 @@ all: config.h + .SUFFIXES: .S .c .dvi .o .obj .ps + am--refresh: Makefile + @: +-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(srcdir)/xtensa/Makefile.inc $(am__configure_deps) ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(srcdir)/xtensa/Makefile.inc $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ +@@ -1250,7 +1378,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; +-$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(srcdir)/xtensa/Makefile.inc $(am__empty): ++$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(srcdir)/xtensa/Makefile.inc $(am__empty): + + $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck +@@ -1730,6 +1858,183 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE + $(AM_V_at)-rm -f libobjs.a + $(AM_V_AR)$(libobjs_a_AR) libobjs.a $(libobjs_a_OBJECTS) $(libobjs_a_LIBADD) + $(AM_V_at)$(RANLIB) libobjs.a ++libsysbase/$(am__dirstamp): ++ @$(MKDIR_P) libsysbase ++ @: > libsysbase/$(am__dirstamp) ++libsysbase/$(DEPDIR)/$(am__dirstamp): ++ @$(MKDIR_P) libsysbase/$(DEPDIR) ++ @: > libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/dummy.$(OBJEXT): libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) + -+ -program-prefix | --program-prefix | --program-prefi | --program-pref \ -+ | --program-pre | --program-pr | --program-p) -+ ac_prev=program_prefix ;; -+ -program-prefix=* | --program-prefix=* | --program-prefi=* \ -+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) -+ program_prefix=$ac_optarg ;; ++libsysbase/libpthread.a: $(libsysbase_libpthread_a_OBJECTS) $(libsysbase_libpthread_a_DEPENDENCIES) $(EXTRA_libsysbase_libpthread_a_DEPENDENCIES) libsysbase/$(am__dirstamp) ++ $(AM_V_at)-rm -f libsysbase/libpthread.a ++ $(AM_V_AR)$(libsysbase_libpthread_a_AR) libsysbase/libpthread.a $(libsysbase_libpthread_a_OBJECTS) $(libsysbase_libpthread_a_LIBADD) ++ $(AM_V_at)$(RANLIB) libsysbase/libpthread.a ++libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-concatenate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fpathconf.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-getpid.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-getreent.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-gettod.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-handle_manager.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-iosupport.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-isatty.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-kill.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-link.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-lseek.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-pthread.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-readlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-scandir.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-symlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-unlink.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-usleep.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-utime.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-wait.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-write.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) + -+ -program-suffix | --program-suffix | --program-suffi | --program-suff \ -+ | --program-suf | --program-su | --program-s) -+ ac_prev=program_suffix ;; -+ -program-suffix=* | --program-suffix=* | --program-suffi=* \ -+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) -+ program_suffix=$ac_optarg ;; ++libsysbase/libsysbase.a: $(libsysbase_libsysbase_a_OBJECTS) $(libsysbase_libsysbase_a_DEPENDENCIES) $(EXTRA_libsysbase_libsysbase_a_DEPENDENCIES) libsysbase/$(am__dirstamp) ++ $(AM_V_at)-rm -f libsysbase/libsysbase.a ++ $(AM_V_AR)$(libsysbase_libsysbase_a_AR) libsysbase/libsysbase.a $(libsysbase_libsysbase_a_OBJECTS) $(libsysbase_libsysbase_a_LIBADD) ++ $(AM_V_at)$(RANLIB) libsysbase/libsysbase.a + lm32/isatty.$(OBJEXT): lm32/$(am__dirstamp) \ + lm32/$(DEPDIR)/$(am__dirstamp) + lm32/scall.$(OBJEXT): lm32/$(am__dirstamp) \ +@@ -2113,6 +2418,7 @@ mostlyclean-compile: + -rm -f d30v/*.$(OBJEXT) + -rm -f iq2000/*.$(OBJEXT) + -rm -f libnosys/*.$(OBJEXT) ++ -rm -f libsysbase/*.$(OBJEXT) + -rm -f lm32/*.$(OBJEXT) + -rm -f nios2/*.$(OBJEXT) + -rm -f riscv/*.$(OBJEXT) +@@ -2238,6 +2544,60 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/unlink.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/wait.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/write.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/dummy.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/crt0.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/isatty.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/scall.Po@am__quote@ +@@ -3082,6 +3442,748 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csky_libsemi_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o csky/csky_libsemi_a-getpid.obj `if test -f 'csky/getpid.c'; then $(CYGPATH_W) 'csky/getpid.c'; else $(CYGPATH_W) '$(srcdir)/csky/getpid.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-_exit.o: libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-_exit.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo -c -o libsysbase/libsysbase_libsysbase_a-_exit.o `test -f 'libsysbase/_exit.c' || echo '$(srcdir)/'`libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/_exit.c' object='libsysbase/libsysbase_libsysbase_a-_exit.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-_exit.o `test -f 'libsysbase/_exit.c' || echo '$(srcdir)/'`libsysbase/_exit.c + -+ -program-transform-name | --program-transform-name \ -+ | --program-transform-nam | --program-transform-na \ -+ | --program-transform-n | --program-transform- \ -+ | --program-transform | --program-transfor \ -+ | --program-transfo | --program-transf \ -+ | --program-trans | --program-tran \ -+ | --progr-tra | --program-tr | --program-t) -+ ac_prev=program_transform_name ;; -+ -program-transform-name=* | --program-transform-name=* \ -+ | --program-transform-nam=* | --program-transform-na=* \ -+ | --program-transform-n=* | --program-transform-=* \ -+ | --program-transform=* | --program-transfor=* \ -+ | --program-transfo=* | --program-transf=* \ -+ | --program-trans=* | --program-tran=* \ -+ | --progr-tra=* | --program-tr=* | --program-t=*) -+ program_transform_name=$ac_optarg ;; ++libsysbase/libsysbase_libsysbase_a-_exit.obj: libsysbase/_exit.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-_exit.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo -c -o libsysbase/libsysbase_libsysbase_a-_exit.obj `if test -f 'libsysbase/_exit.c'; then $(CYGPATH_W) 'libsysbase/_exit.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/_exit.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/_exit.c' object='libsysbase/libsysbase_libsysbase_a-_exit.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-_exit.obj `if test -f 'libsysbase/_exit.c'; then $(CYGPATH_W) 'libsysbase/_exit.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/_exit.c'; fi` + -+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) -+ ac_prev=pdfdir ;; -+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) -+ pdfdir=$ac_optarg ;; ++libsysbase/libsysbase_libsysbase_a-abort.o: libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-abort.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo -c -o libsysbase/libsysbase_libsysbase_a-abort.o `test -f 'libsysbase/abort.c' || echo '$(srcdir)/'`libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/abort.c' object='libsysbase/libsysbase_libsysbase_a-abort.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.o `test -f 'libsysbase/abort.c' || echo '$(srcdir)/'`libsysbase/abort.c + -+ -psdir | --psdir | --psdi | --psd | --ps) -+ ac_prev=psdir ;; -+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) -+ psdir=$ac_optarg ;; ++libsysbase/libsysbase_libsysbase_a-abort.obj: libsysbase/abort.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-abort.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/abort.c' object='libsysbase/libsysbase_libsysbase_a-abort.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` + -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ silent=yes ;; ++libsysbase/libsysbase_libsysbase_a-build_argv.o: libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/build_argv.c' object='libsysbase/libsysbase_libsysbase_a-build_argv.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c + -+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) -+ ac_prev=sbindir ;; -+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ -+ | --sbi=* | --sb=*) -+ sbindir=$ac_optarg ;; ++libsysbase/libsysbase_libsysbase_a-build_argv.obj: libsysbase/build_argv.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.obj `if test -f 'libsysbase/build_argv.c'; then $(CYGPATH_W) 'libsysbase/build_argv.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/build_argv.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/build_argv.c' object='libsysbase/libsysbase_libsysbase_a-build_argv.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-build_argv.obj `if test -f 'libsysbase/build_argv.c'; then $(CYGPATH_W) 'libsysbase/build_argv.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/build_argv.c'; fi` + -+ -sharedstatedir | --sharedstatedir | --sharedstatedi \ -+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ -+ | --sharedst | --shareds | --shared | --share | --shar \ -+ | --sha | --sh) -+ ac_prev=sharedstatedir ;; -+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ -+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ -+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ -+ | --sha=* | --sh=*) -+ sharedstatedir=$ac_optarg ;; ++libsysbase/libsysbase_libsysbase_a-chdir.o: libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chdir.o `test -f 'libsysbase/chdir.c' || echo '$(srcdir)/'`libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chdir.c' object='libsysbase/libsysbase_libsysbase_a-chdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chdir.o `test -f 'libsysbase/chdir.c' || echo '$(srcdir)/'`libsysbase/chdir.c + -+ -site | --site | --sit) -+ ac_prev=site ;; -+ -site=* | --site=* | --sit=*) -+ site=$ac_optarg ;; ++libsysbase/libsysbase_libsysbase_a-chdir.obj: libsysbase/chdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chdir.obj `if test -f 'libsysbase/chdir.c'; then $(CYGPATH_W) 'libsysbase/chdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chdir.c' object='libsysbase/libsysbase_libsysbase_a-chdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chdir.obj `if test -f 'libsysbase/chdir.c'; then $(CYGPATH_W) 'libsysbase/chdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chdir.c'; fi` + -+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) -+ ac_prev=srcdir ;; -+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) -+ srcdir=$ac_optarg ;; ++libsysbase/libsysbase_libsysbase_a-chmod.o: libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chmod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chmod.o `test -f 'libsysbase/chmod.c' || echo '$(srcdir)/'`libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chmod.c' object='libsysbase/libsysbase_libsysbase_a-chmod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chmod.o `test -f 'libsysbase/chmod.c' || echo '$(srcdir)/'`libsysbase/chmod.c + -+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ -+ | --syscon | --sysco | --sysc | --sys | --sy) -+ ac_prev=sysconfdir ;; -+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ -+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) -+ sysconfdir=$ac_optarg ;; ++libsysbase/libsysbase_libsysbase_a-chmod.obj: libsysbase/chmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chmod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chmod.obj `if test -f 'libsysbase/chmod.c'; then $(CYGPATH_W) 'libsysbase/chmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chmod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chmod.c' object='libsysbase/libsysbase_libsysbase_a-chmod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chmod.obj `if test -f 'libsysbase/chmod.c'; then $(CYGPATH_W) 'libsysbase/chmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chmod.c'; fi` + -+ -target | --target | --targe | --targ | --tar | --ta | --t) -+ ac_prev=target_alias ;; -+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) -+ target_alias=$ac_optarg ;; ++libsysbase/libsysbase_libsysbase_a-clocks.o: libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-clocks.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo -c -o libsysbase/libsysbase_libsysbase_a-clocks.o `test -f 'libsysbase/clocks.c' || echo '$(srcdir)/'`libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/clocks.c' object='libsysbase/libsysbase_libsysbase_a-clocks.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.o `test -f 'libsysbase/clocks.c' || echo '$(srcdir)/'`libsysbase/clocks.c + -+ -v | -verbose | --verbose | --verbos | --verbo | --verb) -+ verbose=yes ;; ++libsysbase/libsysbase_libsysbase_a-clocks.obj: libsysbase/clocks.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-clocks.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/clocks.c' object='libsysbase/libsysbase_libsysbase_a-clocks.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` + -+ -version | --version | --versio | --versi | --vers | -V) -+ ac_init_version=: ;; ++libsysbase/libsysbase_libsysbase_a-concatenate.o: libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-concatenate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-concatenate.o `test -f 'libsysbase/concatenate.c' || echo '$(srcdir)/'`libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/concatenate.c' object='libsysbase/libsysbase_libsysbase_a-concatenate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-concatenate.o `test -f 'libsysbase/concatenate.c' || echo '$(srcdir)/'`libsysbase/concatenate.c + -+ -with-* | --with-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid package name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"with_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval with_$ac_useropt=\$ac_optarg ;; ++libsysbase/libsysbase_libsysbase_a-concatenate.obj: libsysbase/concatenate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-concatenate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-concatenate.obj `if test -f 'libsysbase/concatenate.c'; then $(CYGPATH_W) 'libsysbase/concatenate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/concatenate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/concatenate.c' object='libsysbase/libsysbase_libsysbase_a-concatenate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-concatenate.obj `if test -f 'libsysbase/concatenate.c'; then $(CYGPATH_W) 'libsysbase/concatenate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/concatenate.c'; fi` + -+ -without-* | --without-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid package name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"with_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval with_$ac_useropt=no ;; ++libsysbase/libsysbase_libsysbase_a-dirent.o: libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/dirent.c' object='libsysbase/libsysbase_libsysbase_a-dirent.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c + -+ --x) -+ # Obsolete; use --with-x. -+ with_x=yes ;; ++libsysbase/libsysbase_libsysbase_a-dirent.obj: libsysbase/dirent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.obj `if test -f 'libsysbase/dirent.c'; then $(CYGPATH_W) 'libsysbase/dirent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/dirent.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/dirent.c' object='libsysbase/libsysbase_libsysbase_a-dirent.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-dirent.obj `if test -f 'libsysbase/dirent.c'; then $(CYGPATH_W) 'libsysbase/dirent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/dirent.c'; fi` + -+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ -+ | --x-incl | --x-inc | --x-in | --x-i) -+ ac_prev=x_includes ;; -+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ -+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) -+ x_includes=$ac_optarg ;; ++libsysbase/libsysbase_libsysbase_a-environ.o: libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-environ.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo -c -o libsysbase/libsysbase_libsysbase_a-environ.o `test -f 'libsysbase/environ.c' || echo '$(srcdir)/'`libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/environ.c' object='libsysbase/libsysbase_libsysbase_a-environ.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-environ.o `test -f 'libsysbase/environ.c' || echo '$(srcdir)/'`libsysbase/environ.c + -+ -x-libraries | --x-libraries | --x-librarie | --x-librari \ -+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) -+ ac_prev=x_libraries ;; -+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ -+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) -+ x_libraries=$ac_optarg ;; ++libsysbase/libsysbase_libsysbase_a-environ.obj: libsysbase/environ.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-environ.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo -c -o libsysbase/libsysbase_libsysbase_a-environ.obj `if test -f 'libsysbase/environ.c'; then $(CYGPATH_W) 'libsysbase/environ.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/environ.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/environ.c' object='libsysbase/libsysbase_libsysbase_a-environ.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-environ.obj `if test -f 'libsysbase/environ.c'; then $(CYGPATH_W) 'libsysbase/environ.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/environ.c'; fi` + -+ -*) as_fn_error $? "unrecognized option: \`$ac_option' -+Try \`$0 --help' for more information" -+ ;; ++libsysbase/libsysbase_libsysbase_a-execve.o: libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-execve.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo -c -o libsysbase/libsysbase_libsysbase_a-execve.o `test -f 'libsysbase/execve.c' || echo '$(srcdir)/'`libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/execve.c' object='libsysbase/libsysbase_libsysbase_a-execve.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-execve.o `test -f 'libsysbase/execve.c' || echo '$(srcdir)/'`libsysbase/execve.c + -+ *=*) -+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` -+ # Reject names that are not valid shell variable names. -+ case $ac_envvar in #( -+ '' | [0-9]* | *[!_$as_cr_alnum]* ) -+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; -+ esac -+ eval $ac_envvar=\$ac_optarg -+ export $ac_envvar ;; ++libsysbase/libsysbase_libsysbase_a-execve.obj: libsysbase/execve.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-execve.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo -c -o libsysbase/libsysbase_libsysbase_a-execve.obj `if test -f 'libsysbase/execve.c'; then $(CYGPATH_W) 'libsysbase/execve.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/execve.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/execve.c' object='libsysbase/libsysbase_libsysbase_a-execve.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-execve.obj `if test -f 'libsysbase/execve.c'; then $(CYGPATH_W) 'libsysbase/execve.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/execve.c'; fi` + -+ *) -+ # FIXME: should be removed in autoconf 3.0. -+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 -+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && -+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 -+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" -+ ;; ++libsysbase/libsysbase_libsysbase_a-fchmod.o: libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fchmod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fchmod.o `test -f 'libsysbase/fchmod.c' || echo '$(srcdir)/'`libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fchmod.c' object='libsysbase/libsysbase_libsysbase_a-fchmod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.o `test -f 'libsysbase/fchmod.c' || echo '$(srcdir)/'`libsysbase/fchmod.c + -+ esac -+done ++libsysbase/libsysbase_libsysbase_a-fchmod.obj: libsysbase/fchmod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fchmod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fchmod.c' object='libsysbase/libsysbase_libsysbase_a-fchmod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` + -+if test -n "$ac_prev"; then -+ ac_option=--`echo $ac_prev | sed 's/_/-/g'` -+ as_fn_error $? "missing argument to $ac_option" -+fi ++libsysbase/libsysbase_libsysbase_a-flock.o: libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-flock.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo -c -o libsysbase/libsysbase_libsysbase_a-flock.o `test -f 'libsysbase/flock.c' || echo '$(srcdir)/'`libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/flock.c' object='libsysbase/libsysbase_libsysbase_a-flock.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-flock.o `test -f 'libsysbase/flock.c' || echo '$(srcdir)/'`libsysbase/flock.c + -+if test -n "$ac_unrecognized_opts"; then -+ case $enable_option_checking in -+ no) ;; -+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; -+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; -+ esac -+fi ++libsysbase/libsysbase_libsysbase_a-flock.obj: libsysbase/flock.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-flock.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo -c -o libsysbase/libsysbase_libsysbase_a-flock.obj `if test -f 'libsysbase/flock.c'; then $(CYGPATH_W) 'libsysbase/flock.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/flock.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/flock.c' object='libsysbase/libsysbase_libsysbase_a-flock.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-flock.obj `if test -f 'libsysbase/flock.c'; then $(CYGPATH_W) 'libsysbase/flock.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/flock.c'; fi` + -+# Check all directory arguments for consistency. -+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ -+ datadir sysconfdir sharedstatedir localstatedir includedir \ -+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ -+ libdir localedir mandir -+do -+ eval ac_val=\$$ac_var -+ # Remove trailing slashes. -+ case $ac_val in -+ */ ) -+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` -+ eval $ac_var=\$ac_val;; -+ esac -+ # Be sure to have absolute directory names. -+ case $ac_val in -+ [\\/$]* | ?:[\\/]* ) continue;; -+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; -+ esac -+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -+done ++libsysbase/libsysbase_libsysbase_a-fnmatch.o: libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fnmatch.c' object='libsysbase/libsysbase_libsysbase_a-fnmatch.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c + -+# There might be people who depend on the old broken behavior: `$host' -+# used to hold the argument of --host etc. -+# FIXME: To remove some day. -+build=$build_alias -+host=$host_alias -+target=$target_alias ++libsysbase/libsysbase_libsysbase_a-fnmatch.obj: libsysbase/fnmatch.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.obj `if test -f 'libsysbase/fnmatch.c'; then $(CYGPATH_W) 'libsysbase/fnmatch.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fnmatch.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fnmatch.c' object='libsysbase/libsysbase_libsysbase_a-fnmatch.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.obj `if test -f 'libsysbase/fnmatch.c'; then $(CYGPATH_W) 'libsysbase/fnmatch.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fnmatch.c'; fi` + -+# FIXME: To remove some day. -+if test "x$host_alias" != x; then -+ if test "x$build_alias" = x; then -+ cross_compiling=maybe -+ elif test "x$build_alias" != "x$host_alias"; then -+ cross_compiling=yes -+ fi -+fi ++libsysbase/libsysbase_libsysbase_a-fork.o: libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fork.c' object='libsysbase/libsysbase_libsysbase_a-fork.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c + -+ac_tool_prefix= -+test -n "$host_alias" && ac_tool_prefix=$host_alias- ++libsysbase/libsysbase_libsysbase_a-fork.obj: libsysbase/fork.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fork.c' object='libsysbase/libsysbase_libsysbase_a-fork.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` + -+test "$silent" = yes && exec 6>/dev/null ++libsysbase/libsysbase_libsysbase_a-fpathconf.o: libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fpathconf.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.o `test -f 'libsysbase/fpathconf.c' || echo '$(srcdir)/'`libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fpathconf.c' object='libsysbase/libsysbase_libsysbase_a-fpathconf.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.o `test -f 'libsysbase/fpathconf.c' || echo '$(srcdir)/'`libsysbase/fpathconf.c + ++libsysbase/libsysbase_libsysbase_a-fpathconf.obj: libsysbase/fpathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fpathconf.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.obj `if test -f 'libsysbase/fpathconf.c'; then $(CYGPATH_W) 'libsysbase/fpathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fpathconf.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fpathconf.c' object='libsysbase/libsysbase_libsysbase_a-fpathconf.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.obj `if test -f 'libsysbase/fpathconf.c'; then $(CYGPATH_W) 'libsysbase/fpathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fpathconf.c'; fi` + -+ac_pwd=`pwd` && test -n "$ac_pwd" && -+ac_ls_di=`ls -di .` && -+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || -+ as_fn_error $? "working directory cannot be determined" -+test "X$ac_ls_di" = "X$ac_pwd_ls_di" || -+ as_fn_error $? "pwd does not report name of working directory" ++libsysbase/libsysbase_libsysbase_a-fstat.o: libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fstat.c' object='libsysbase/libsysbase_libsysbase_a-fstat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c + ++libsysbase/libsysbase_libsysbase_a-fstat.obj: libsysbase/fstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.obj `if test -f 'libsysbase/fstat.c'; then $(CYGPATH_W) 'libsysbase/fstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fstat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fstat.c' object='libsysbase/libsysbase_libsysbase_a-fstat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fstat.obj `if test -f 'libsysbase/fstat.c'; then $(CYGPATH_W) 'libsysbase/fstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fstat.c'; fi` + -+# Find the source files, if location was not specified. -+if test -z "$srcdir"; then -+ ac_srcdir_defaulted=yes -+ # Try the directory containing this script, then the parent directory. -+ ac_confdir=`$as_dirname -- "$as_myself" || -+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_myself" : 'X\(//\)[^/]' \| \ -+ X"$as_myself" : 'X\(//\)$' \| \ -+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_myself" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ srcdir=$ac_confdir -+ if test ! -r "$srcdir/$ac_unique_file"; then -+ srcdir=.. -+ fi -+else -+ ac_srcdir_defaulted=no -+fi -+if test ! -r "$srcdir/$ac_unique_file"; then -+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." -+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -+fi -+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -+ac_abs_confdir=`( -+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" -+ pwd)` -+# When building in place, set srcdir=. -+if test "$ac_abs_confdir" = "$ac_pwd"; then -+ srcdir=. -+fi -+# Remove unnecessary trailing slashes from srcdir. -+# Double slashes in file names in object file debugging info -+# mess up M-x gdb in Emacs. -+case $srcdir in -+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -+esac -+for ac_var in $ac_precious_vars; do -+ eval ac_env_${ac_var}_set=\${${ac_var}+set} -+ eval ac_env_${ac_var}_value=\$${ac_var} -+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} -+ eval ac_cv_env_${ac_var}_value=\$${ac_var} -+done ++libsysbase/libsysbase_libsysbase_a-fsync.o: libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fsync.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fsync.o `test -f 'libsysbase/fsync.c' || echo '$(srcdir)/'`libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fsync.c' object='libsysbase/libsysbase_libsysbase_a-fsync.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fsync.o `test -f 'libsysbase/fsync.c' || echo '$(srcdir)/'`libsysbase/fsync.c + -+# -+# Report the --help message. -+# -+if test "$ac_init_help" = "long"; then -+ # Omit some internal or obsolete options to make the list less imposing. -+ # This message is too long to be a string in the A/UX 3.1 sh. -+ cat <<_ACEOF -+\`configure' configures this package to adapt to many kinds of systems. ++libsysbase/libsysbase_libsysbase_a-fsync.obj: libsysbase/fsync.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fsync.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fsync.obj `if test -f 'libsysbase/fsync.c'; then $(CYGPATH_W) 'libsysbase/fsync.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fsync.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fsync.c' object='libsysbase/libsysbase_libsysbase_a-fsync.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fsync.obj `if test -f 'libsysbase/fsync.c'; then $(CYGPATH_W) 'libsysbase/fsync.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fsync.c'; fi` + -+Usage: $0 [OPTION]... [VAR=VALUE]... ++libsysbase/libsysbase_libsysbase_a-ftruncate.o: libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-ftruncate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.o `test -f 'libsysbase/ftruncate.c' || echo '$(srcdir)/'`libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/ftruncate.c' object='libsysbase/libsysbase_libsysbase_a-ftruncate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.o `test -f 'libsysbase/ftruncate.c' || echo '$(srcdir)/'`libsysbase/ftruncate.c + -+To assign environment variables (e.g., CC, CFLAGS...), specify them as -+VAR=VALUE. See below for descriptions of some of the useful variables. ++libsysbase/libsysbase_libsysbase_a-ftruncate.obj: libsysbase/ftruncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-ftruncate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.obj `if test -f 'libsysbase/ftruncate.c'; then $(CYGPATH_W) 'libsysbase/ftruncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/ftruncate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/ftruncate.c' object='libsysbase/libsysbase_libsysbase_a-ftruncate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.obj `if test -f 'libsysbase/ftruncate.c'; then $(CYGPATH_W) 'libsysbase/ftruncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/ftruncate.c'; fi` + -+Defaults for the options are specified in brackets. ++libsysbase/libsysbase_libsysbase_a-getpid.o: libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getpid.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getpid.o `test -f 'libsysbase/getpid.c' || echo '$(srcdir)/'`libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getpid.c' object='libsysbase/libsysbase_libsysbase_a-getpid.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getpid.o `test -f 'libsysbase/getpid.c' || echo '$(srcdir)/'`libsysbase/getpid.c + -+Configuration: -+ -h, --help display this help and exit -+ --help=short display options specific to this package -+ --help=recursive display the short help of all the included packages -+ -V, --version display version information and exit -+ -q, --quiet, --silent do not print \`checking ...' messages -+ --cache-file=FILE cache test results in FILE [disabled] -+ -C, --config-cache alias for \`--cache-file=config.cache' -+ -n, --no-create do not create output files -+ --srcdir=DIR find the sources in DIR [configure dir or \`..'] ++libsysbase/libsysbase_libsysbase_a-getpid.obj: libsysbase/getpid.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getpid.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getpid.obj `if test -f 'libsysbase/getpid.c'; then $(CYGPATH_W) 'libsysbase/getpid.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getpid.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getpid.c' object='libsysbase/libsysbase_libsysbase_a-getpid.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getpid.obj `if test -f 'libsysbase/getpid.c'; then $(CYGPATH_W) 'libsysbase/getpid.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getpid.c'; fi` + -+Installation directories: -+ --prefix=PREFIX install architecture-independent files in PREFIX -+ [$ac_default_prefix] -+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX -+ [PREFIX] ++libsysbase/libsysbase_libsysbase_a-getreent.o: libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getreent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getreent.o `test -f 'libsysbase/getreent.c' || echo '$(srcdir)/'`libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getreent.c' object='libsysbase/libsysbase_libsysbase_a-getreent.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getreent.o `test -f 'libsysbase/getreent.c' || echo '$(srcdir)/'`libsysbase/getreent.c + -+By default, \`make install' will install all the files in -+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -+an installation prefix other than \`$ac_default_prefix' using \`--prefix', -+for instance \`--prefix=\$HOME'. ++libsysbase/libsysbase_libsysbase_a-getreent.obj: libsysbase/getreent.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getreent.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getreent.obj `if test -f 'libsysbase/getreent.c'; then $(CYGPATH_W) 'libsysbase/getreent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getreent.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getreent.c' object='libsysbase/libsysbase_libsysbase_a-getreent.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getreent.obj `if test -f 'libsysbase/getreent.c'; then $(CYGPATH_W) 'libsysbase/getreent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getreent.c'; fi` + -+For better control, use the options below. ++libsysbase/libsysbase_libsysbase_a-gettod.o: libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-gettod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-gettod.o `test -f 'libsysbase/gettod.c' || echo '$(srcdir)/'`libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/gettod.c' object='libsysbase/libsysbase_libsysbase_a-gettod.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-gettod.o `test -f 'libsysbase/gettod.c' || echo '$(srcdir)/'`libsysbase/gettod.c + -+Fine tuning of the installation directories: -+ --bindir=DIR user executables [EPREFIX/bin] -+ --sbindir=DIR system admin executables [EPREFIX/sbin] -+ --libexecdir=DIR program executables [EPREFIX/libexec] -+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] -+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] -+ --localstatedir=DIR modifiable single-machine data [PREFIX/var] -+ --libdir=DIR object code libraries [EPREFIX/lib] -+ --includedir=DIR C header files [PREFIX/include] -+ --oldincludedir=DIR C header files for non-gcc [/usr/include] -+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] -+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] -+ --infodir=DIR info documentation [DATAROOTDIR/info] -+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] -+ --mandir=DIR man documentation [DATAROOTDIR/man] -+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] -+ --htmldir=DIR html documentation [DOCDIR] -+ --dvidir=DIR dvi documentation [DOCDIR] -+ --pdfdir=DIR pdf documentation [DOCDIR] -+ --psdir=DIR ps documentation [DOCDIR] -+_ACEOF ++libsysbase/libsysbase_libsysbase_a-gettod.obj: libsysbase/gettod.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-gettod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-gettod.obj `if test -f 'libsysbase/gettod.c'; then $(CYGPATH_W) 'libsysbase/gettod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/gettod.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/gettod.c' object='libsysbase/libsysbase_libsysbase_a-gettod.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-gettod.obj `if test -f 'libsysbase/gettod.c'; then $(CYGPATH_W) 'libsysbase/gettod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/gettod.c'; fi` + -+ cat <<\_ACEOF ++libsysbase/libsysbase_libsysbase_a-handle_manager.o: libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-handle_manager.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.o `test -f 'libsysbase/handle_manager.c' || echo '$(srcdir)/'`libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/handle_manager.c' object='libsysbase/libsysbase_libsysbase_a-handle_manager.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.o `test -f 'libsysbase/handle_manager.c' || echo '$(srcdir)/'`libsysbase/handle_manager.c + -+Program names: -+ --program-prefix=PREFIX prepend PREFIX to installed program names -+ --program-suffix=SUFFIX append SUFFIX to installed program names -+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names ++libsysbase/libsysbase_libsysbase_a-handle_manager.obj: libsysbase/handle_manager.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-handle_manager.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.obj `if test -f 'libsysbase/handle_manager.c'; then $(CYGPATH_W) 'libsysbase/handle_manager.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/handle_manager.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/handle_manager.c' object='libsysbase/libsysbase_libsysbase_a-handle_manager.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.obj `if test -f 'libsysbase/handle_manager.c'; then $(CYGPATH_W) 'libsysbase/handle_manager.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/handle_manager.c'; fi` + -+System types: -+ --build=BUILD configure for building on BUILD [guessed] -+ --host=HOST cross-compile to build programs to run on HOST [BUILD] -+ --target=TARGET configure for building compilers for TARGET [HOST] -+_ACEOF -+fi ++libsysbase/libsysbase_libsysbase_a-iosupport.o: libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-iosupport.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo -c -o libsysbase/libsysbase_libsysbase_a-iosupport.o `test -f 'libsysbase/iosupport.c' || echo '$(srcdir)/'`libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/iosupport.c' object='libsysbase/libsysbase_libsysbase_a-iosupport.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-iosupport.o `test -f 'libsysbase/iosupport.c' || echo '$(srcdir)/'`libsysbase/iosupport.c + -+if test -n "$ac_init_help"; then ++libsysbase/libsysbase_libsysbase_a-iosupport.obj: libsysbase/iosupport.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-iosupport.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo -c -o libsysbase/libsysbase_libsysbase_a-iosupport.obj `if test -f 'libsysbase/iosupport.c'; then $(CYGPATH_W) 'libsysbase/iosupport.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/iosupport.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/iosupport.c' object='libsysbase/libsysbase_libsysbase_a-iosupport.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-iosupport.obj `if test -f 'libsysbase/iosupport.c'; then $(CYGPATH_W) 'libsysbase/iosupport.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/iosupport.c'; fi` + -+ cat <<\_ACEOF ++libsysbase/libsysbase_libsysbase_a-isatty.o: libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-isatty.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo -c -o libsysbase/libsysbase_libsysbase_a-isatty.o `test -f 'libsysbase/isatty.c' || echo '$(srcdir)/'`libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/isatty.c' object='libsysbase/libsysbase_libsysbase_a-isatty.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-isatty.o `test -f 'libsysbase/isatty.c' || echo '$(srcdir)/'`libsysbase/isatty.c + -+Optional Features: -+ --disable-option-checking ignore unrecognized --enable/--with options -+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) -+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] -+ --disable-dependency-tracking speeds up one-time build -+ --enable-dependency-tracking do not reject slow dependency extractors ++libsysbase/libsysbase_libsysbase_a-isatty.obj: libsysbase/isatty.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-isatty.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo -c -o libsysbase/libsysbase_libsysbase_a-isatty.obj `if test -f 'libsysbase/isatty.c'; then $(CYGPATH_W) 'libsysbase/isatty.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/isatty.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/isatty.c' object='libsysbase/libsysbase_libsysbase_a-isatty.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-isatty.obj `if test -f 'libsysbase/isatty.c'; then $(CYGPATH_W) 'libsysbase/isatty.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/isatty.c'; fi` + -+Some influential environment variables: -+ CCAS assembler compiler command (defaults to CC) -+ CCASFLAGS assembler compiler flags (defaults to CFLAGS) ++libsysbase/libsysbase_libsysbase_a-kill.o: libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-kill.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo -c -o libsysbase/libsysbase_libsysbase_a-kill.o `test -f 'libsysbase/kill.c' || echo '$(srcdir)/'`libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/kill.c' object='libsysbase/libsysbase_libsysbase_a-kill.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-kill.o `test -f 'libsysbase/kill.c' || echo '$(srcdir)/'`libsysbase/kill.c + -+Use these variables to override the choices made by `configure' or to help -+it to find libraries and programs with nonstandard names/locations. ++libsysbase/libsysbase_libsysbase_a-kill.obj: libsysbase/kill.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-kill.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo -c -o libsysbase/libsysbase_libsysbase_a-kill.obj `if test -f 'libsysbase/kill.c'; then $(CYGPATH_W) 'libsysbase/kill.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/kill.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/kill.c' object='libsysbase/libsysbase_libsysbase_a-kill.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-kill.obj `if test -f 'libsysbase/kill.c'; then $(CYGPATH_W) 'libsysbase/kill.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/kill.c'; fi` + -+Report bugs to the package provider. -+_ACEOF -+ac_status=$? -+fi ++libsysbase/libsysbase_libsysbase_a-link.o: libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-link.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo -c -o libsysbase/libsysbase_libsysbase_a-link.o `test -f 'libsysbase/link.c' || echo '$(srcdir)/'`libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/link.c' object='libsysbase/libsysbase_libsysbase_a-link.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-link.o `test -f 'libsysbase/link.c' || echo '$(srcdir)/'`libsysbase/link.c + -+if test "$ac_init_help" = "recursive"; then -+ # If there are subdirs, report their specific --help. -+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue -+ test -d "$ac_dir" || -+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || -+ continue -+ ac_builddir=. ++libsysbase/libsysbase_libsysbase_a-link.obj: libsysbase/link.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-link.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo -c -o libsysbase/libsysbase_libsysbase_a-link.obj `if test -f 'libsysbase/link.c'; then $(CYGPATH_W) 'libsysbase/link.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/link.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/link.c' object='libsysbase/libsysbase_libsysbase_a-link.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-link.obj `if test -f 'libsysbase/link.c'; then $(CYGPATH_W) 'libsysbase/link.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/link.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-lseek.o: libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lseek.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lseek.o `test -f 'libsysbase/lseek.c' || echo '$(srcdir)/'`libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lseek.c' object='libsysbase/libsysbase_libsysbase_a-lseek.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lseek.o `test -f 'libsysbase/lseek.c' || echo '$(srcdir)/'`libsysbase/lseek.c ++ ++libsysbase/libsysbase_libsysbase_a-lseek.obj: libsysbase/lseek.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lseek.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lseek.obj `if test -f 'libsysbase/lseek.c'; then $(CYGPATH_W) 'libsysbase/lseek.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lseek.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lseek.c' object='libsysbase/libsysbase_libsysbase_a-lseek.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lseek.obj `if test -f 'libsysbase/lseek.c'; then $(CYGPATH_W) 'libsysbase/lseek.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lseek.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-lstat.o: libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lstat.o `test -f 'libsysbase/lstat.c' || echo '$(srcdir)/'`libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lstat.c' object='libsysbase/libsysbase_libsysbase_a-lstat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lstat.o `test -f 'libsysbase/lstat.c' || echo '$(srcdir)/'`libsysbase/lstat.c ++ ++libsysbase/libsysbase_libsysbase_a-lstat.obj: libsysbase/lstat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lstat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lstat.obj `if test -f 'libsysbase/lstat.c'; then $(CYGPATH_W) 'libsysbase/lstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lstat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lstat.c' object='libsysbase/libsysbase_libsysbase_a-lstat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lstat.obj `if test -f 'libsysbase/lstat.c'; then $(CYGPATH_W) 'libsysbase/lstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lstat.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-malloc_vars.o: libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-malloc_vars.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.o `test -f 'libsysbase/malloc_vars.c' || echo '$(srcdir)/'`libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/malloc_vars.c' object='libsysbase/libsysbase_libsysbase_a-malloc_vars.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.o `test -f 'libsysbase/malloc_vars.c' || echo '$(srcdir)/'`libsysbase/malloc_vars.c ++ ++libsysbase/libsysbase_libsysbase_a-malloc_vars.obj: libsysbase/malloc_vars.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-malloc_vars.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.obj `if test -f 'libsysbase/malloc_vars.c'; then $(CYGPATH_W) 'libsysbase/malloc_vars.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/malloc_vars.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/malloc_vars.c' object='libsysbase/libsysbase_libsysbase_a-malloc_vars.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.obj `if test -f 'libsysbase/malloc_vars.c'; then $(CYGPATH_W) 'libsysbase/malloc_vars.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/malloc_vars.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-mkdir.o: libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-mkdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-mkdir.o `test -f 'libsysbase/mkdir.c' || echo '$(srcdir)/'`libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/mkdir.c' object='libsysbase/libsysbase_libsysbase_a-mkdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.o `test -f 'libsysbase/mkdir.c' || echo '$(srcdir)/'`libsysbase/mkdir.c + -+case "$ac_dir" in -+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -+*) -+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` -+ # A ".." for each directory in $ac_dir_suffix. -+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` -+ case $ac_top_builddir_sub in -+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; -+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; -+ esac ;; -+esac -+ac_abs_top_builddir=$ac_pwd -+ac_abs_builddir=$ac_pwd$ac_dir_suffix -+# for backward compatibility: -+ac_top_builddir=$ac_top_build_prefix ++libsysbase/libsysbase_libsysbase_a-mkdir.obj: libsysbase/mkdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-mkdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/mkdir.c' object='libsysbase/libsysbase_libsysbase_a-mkdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` + -+case $srcdir in -+ .) # We are building in place. -+ ac_srcdir=. -+ ac_top_srcdir=$ac_top_builddir_sub -+ ac_abs_top_srcdir=$ac_pwd ;; -+ [\\/]* | ?:[\\/]* ) # Absolute name. -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir -+ ac_abs_top_srcdir=$srcdir ;; -+ *) # Relative name. -+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_top_build_prefix$srcdir -+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -+esac -+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++libsysbase/libsysbase_libsysbase_a-pthread.o: libsysbase/pthread.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pthread.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pthread.o `test -f 'libsysbase/pthread.c' || echo '$(srcdir)/'`libsysbase/pthread.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pthread.c' object='libsysbase/libsysbase_libsysbase_a-pthread.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pthread.o `test -f 'libsysbase/pthread.c' || echo '$(srcdir)/'`libsysbase/pthread.c + -+ cd "$ac_dir" || { ac_status=$?; continue; } -+ # Check for guested configure. -+ if test -f "$ac_srcdir/configure.gnu"; then -+ echo && -+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive -+ elif test -f "$ac_srcdir/configure"; then -+ echo && -+ $SHELL "$ac_srcdir/configure" --help=recursive -+ else -+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 -+ fi || ac_status=$? -+ cd "$ac_pwd" || { ac_status=$?; break; } -+ done -+fi ++libsysbase/libsysbase_libsysbase_a-pthread.obj: libsysbase/pthread.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pthread.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pthread.obj `if test -f 'libsysbase/pthread.c'; then $(CYGPATH_W) 'libsysbase/pthread.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pthread.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pthread.c' object='libsysbase/libsysbase_libsysbase_a-pthread.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pthread.obj `if test -f 'libsysbase/pthread.c'; then $(CYGPATH_W) 'libsysbase/pthread.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pthread.c'; fi` + -+test -n "$ac_init_help" && exit $ac_status -+if $ac_init_version; then -+ cat <<\_ACEOF -+configure -+generated by GNU Autoconf 2.69 ++libsysbase/libsysbase_libsysbase_a-nanosleep.o: libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/nanosleep.c' object='libsysbase/libsysbase_libsysbase_a-nanosleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c + -+Copyright (C) 2012 Free Software Foundation, Inc. -+This configure script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it. -+_ACEOF -+ exit -+fi ++libsysbase/libsysbase_libsysbase_a-nanosleep.obj: libsysbase/nanosleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.obj `if test -f 'libsysbase/nanosleep.c'; then $(CYGPATH_W) 'libsysbase/nanosleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/nanosleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/nanosleep.c' object='libsysbase/libsysbase_libsysbase_a-nanosleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.obj `if test -f 'libsysbase/nanosleep.c'; then $(CYGPATH_W) 'libsysbase/nanosleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/nanosleep.c'; fi` + -+## ------------------------ ## -+## Autoconf initialization. ## -+## ------------------------ ## ++libsysbase/libsysbase_libsysbase_a-open.o: libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-open.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo -c -o libsysbase/libsysbase_libsysbase_a-open.o `test -f 'libsysbase/open.c' || echo '$(srcdir)/'`libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/open.c' object='libsysbase/libsysbase_libsysbase_a-open.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.o `test -f 'libsysbase/open.c' || echo '$(srcdir)/'`libsysbase/open.c + -+# ac_fn_c_try_compile LINENO -+# -------------------------- -+# Try to compile conftest.$ac_ext, and return whether this succeeded. -+ac_fn_c_try_compile () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ rm -f conftest.$ac_objext -+ if { { ac_try="$ac_compile" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_compile") 2>conftest.err -+ ac_status=$? -+ if test -s conftest.err; then -+ grep -v '^ *+' conftest.err >conftest.er1 -+ cat conftest.er1 >&5 -+ mv -f conftest.er1 conftest.err -+ fi -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then : -+ ac_retval=0 -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 ++libsysbase/libsysbase_libsysbase_a-open.obj: libsysbase/open.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-open.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/open.c' object='libsysbase/libsysbase_libsysbase_a-open.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` + -+ ac_retval=1 -+fi -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -+ as_fn_set_status $ac_retval ++libsysbase/libsysbase_libsysbase_a-pathconf.o: libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pathconf.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pathconf.o `test -f 'libsysbase/pathconf.c' || echo '$(srcdir)/'`libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pathconf.c' object='libsysbase/libsysbase_libsysbase_a-pathconf.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pathconf.o `test -f 'libsysbase/pathconf.c' || echo '$(srcdir)/'`libsysbase/pathconf.c + -+} # ac_fn_c_try_compile -+cat >config.log <<_ACEOF -+This file contains any messages produced by compilers while -+running configure, to aid debugging if configure makes a mistake. ++libsysbase/libsysbase_libsysbase_a-pathconf.obj: libsysbase/pathconf.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pathconf.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pathconf.obj `if test -f 'libsysbase/pathconf.c'; then $(CYGPATH_W) 'libsysbase/pathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pathconf.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pathconf.c' object='libsysbase/libsysbase_libsysbase_a-pathconf.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pathconf.obj `if test -f 'libsysbase/pathconf.c'; then $(CYGPATH_W) 'libsysbase/pathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pathconf.c'; fi` + -+It was created by $as_me, which was -+generated by GNU Autoconf 2.69. Invocation command line was ++libsysbase/libsysbase_libsysbase_a-read.o: libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/read.c' object='libsysbase/libsysbase_libsysbase_a-read.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c + -+ $ $0 $@ ++libsysbase/libsysbase_libsysbase_a-read.obj: libsysbase/read.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/read.c' object='libsysbase/libsysbase_libsysbase_a-read.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` + -+_ACEOF -+exec 5>>config.log -+{ -+cat <<_ASUNAME -+## --------- ## -+## Platform. ## -+## --------- ## ++libsysbase/libsysbase_libsysbase_a-readlink.o: libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-readlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-readlink.o `test -f 'libsysbase/readlink.c' || echo '$(srcdir)/'`libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/readlink.c' object='libsysbase/libsysbase_libsysbase_a-readlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-readlink.o `test -f 'libsysbase/readlink.c' || echo '$(srcdir)/'`libsysbase/readlink.c + -+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -+uname -m = `(uname -m) 2>/dev/null || echo unknown` -+uname -r = `(uname -r) 2>/dev/null || echo unknown` -+uname -s = `(uname -s) 2>/dev/null || echo unknown` -+uname -v = `(uname -v) 2>/dev/null || echo unknown` ++libsysbase/libsysbase_libsysbase_a-readlink.obj: libsysbase/readlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-readlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-readlink.obj `if test -f 'libsysbase/readlink.c'; then $(CYGPATH_W) 'libsysbase/readlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/readlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/readlink.c' object='libsysbase/libsysbase_libsysbase_a-readlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-readlink.obj `if test -f 'libsysbase/readlink.c'; then $(CYGPATH_W) 'libsysbase/readlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/readlink.c'; fi` + -+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` ++libsysbase/libsysbase_libsysbase_a-realpath.o: libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/realpath.c' object='libsysbase/libsysbase_libsysbase_a-realpath.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c + -+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` ++libsysbase/libsysbase_libsysbase_a-realpath.obj: libsysbase/realpath.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.obj `if test -f 'libsysbase/realpath.c'; then $(CYGPATH_W) 'libsysbase/realpath.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/realpath.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/realpath.c' object='libsysbase/libsysbase_libsysbase_a-realpath.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-realpath.obj `if test -f 'libsysbase/realpath.c'; then $(CYGPATH_W) 'libsysbase/realpath.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/realpath.c'; fi` + -+_ASUNAME ++libsysbase/libsysbase_libsysbase_a-rename.o: libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rename.c' object='libsysbase/libsysbase_libsysbase_a-rename.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c + -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ $as_echo "PATH: $as_dir" -+ done -+IFS=$as_save_IFS ++libsysbase/libsysbase_libsysbase_a-rename.obj: libsysbase/rename.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.obj `if test -f 'libsysbase/rename.c'; then $(CYGPATH_W) 'libsysbase/rename.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rename.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rename.c' object='libsysbase/libsysbase_libsysbase_a-rename.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rename.obj `if test -f 'libsysbase/rename.c'; then $(CYGPATH_W) 'libsysbase/rename.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rename.c'; fi` + -+} >&5 ++libsysbase/libsysbase_libsysbase_a-rmdir.o: libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rmdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rmdir.o `test -f 'libsysbase/rmdir.c' || echo '$(srcdir)/'`libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rmdir.c' object='libsysbase/libsysbase_libsysbase_a-rmdir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rmdir.o `test -f 'libsysbase/rmdir.c' || echo '$(srcdir)/'`libsysbase/rmdir.c + -+cat >&5 <<_ACEOF ++libsysbase/libsysbase_libsysbase_a-rmdir.obj: libsysbase/rmdir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rmdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rmdir.obj `if test -f 'libsysbase/rmdir.c'; then $(CYGPATH_W) 'libsysbase/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rmdir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rmdir.c' object='libsysbase/libsysbase_libsysbase_a-rmdir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rmdir.obj `if test -f 'libsysbase/rmdir.c'; then $(CYGPATH_W) 'libsysbase/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rmdir.c'; fi` ++ ++libsysbase/libsysbase_libsysbase_a-sbrk.o: libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sbrk.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sbrk.o `test -f 'libsysbase/sbrk.c' || echo '$(srcdir)/'`libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sbrk.c' object='libsysbase/libsysbase_libsysbase_a-sbrk.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sbrk.o `test -f 'libsysbase/sbrk.c' || echo '$(srcdir)/'`libsysbase/sbrk.c + ++libsysbase/libsysbase_libsysbase_a-sbrk.obj: libsysbase/sbrk.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sbrk.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sbrk.obj `if test -f 'libsysbase/sbrk.c'; then $(CYGPATH_W) 'libsysbase/sbrk.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sbrk.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sbrk.c' object='libsysbase/libsysbase_libsysbase_a-sbrk.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sbrk.obj `if test -f 'libsysbase/sbrk.c'; then $(CYGPATH_W) 'libsysbase/sbrk.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sbrk.c'; fi` + -+## ----------- ## -+## Core tests. ## -+## ----------- ## ++libsysbase/libsysbase_libsysbase_a-scandir.o: libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-scandir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-scandir.o `test -f 'libsysbase/scandir.c' || echo '$(srcdir)/'`libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/scandir.c' object='libsysbase/libsysbase_libsysbase_a-scandir.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-scandir.o `test -f 'libsysbase/scandir.c' || echo '$(srcdir)/'`libsysbase/scandir.c + -+_ACEOF ++libsysbase/libsysbase_libsysbase_a-scandir.obj: libsysbase/scandir.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-scandir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-scandir.obj `if test -f 'libsysbase/scandir.c'; then $(CYGPATH_W) 'libsysbase/scandir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/scandir.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/scandir.c' object='libsysbase/libsysbase_libsysbase_a-scandir.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-scandir.obj `if test -f 'libsysbase/scandir.c'; then $(CYGPATH_W) 'libsysbase/scandir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/scandir.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-sleep.o: libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sleep.o `test -f 'libsysbase/sleep.c' || echo '$(srcdir)/'`libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sleep.c' object='libsysbase/libsysbase_libsysbase_a-sleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sleep.o `test -f 'libsysbase/sleep.c' || echo '$(srcdir)/'`libsysbase/sleep.c + -+# Keep a trace of the command line. -+# Strip out --no-create and --no-recursion so they do not pile up. -+# Strip out --silent because we don't want to record it for future runs. -+# Also quote any args containing shell meta-characters. -+# Make two passes to allow for proper duplicate-argument suppression. -+ac_configure_args= -+ac_configure_args0= -+ac_configure_args1= -+ac_must_keep_next=false -+for ac_pass in 1 2 -+do -+ for ac_arg -+ do -+ case $ac_arg in -+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ continue ;; -+ *\'*) -+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ esac -+ case $ac_pass in -+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; -+ 2) -+ as_fn_append ac_configure_args1 " '$ac_arg'" -+ if test $ac_must_keep_next = true; then -+ ac_must_keep_next=false # Got value, back to normal. -+ else -+ case $ac_arg in -+ *=* | --config-cache | -C | -disable-* | --disable-* \ -+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ -+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ -+ | -with-* | --with-* | -without-* | --without-* | --x) -+ case "$ac_configure_args0 " in -+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; -+ esac -+ ;; -+ -* ) ac_must_keep_next=true ;; -+ esac -+ fi -+ as_fn_append ac_configure_args " '$ac_arg'" -+ ;; -+ esac -+ done -+done -+{ ac_configure_args0=; unset ac_configure_args0;} -+{ ac_configure_args1=; unset ac_configure_args1;} ++libsysbase/libsysbase_libsysbase_a-sleep.obj: libsysbase/sleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sleep.obj `if test -f 'libsysbase/sleep.c'; then $(CYGPATH_W) 'libsysbase/sleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sleep.c' object='libsysbase/libsysbase_libsysbase_a-sleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sleep.obj `if test -f 'libsysbase/sleep.c'; then $(CYGPATH_W) 'libsysbase/sleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sleep.c'; fi` + -+# When interrupted or exit'd, cleanup temporary files, and complete -+# config.log. We remove comments because anyway the quotes in there -+# would cause problems or look ugly. -+# WARNING: Use '\'' to represent an apostrophe within the trap. -+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -+trap 'exit_status=$? -+ # Save into config.log some information that might help in debugging. -+ { -+ echo ++libsysbase/libsysbase_libsysbase_a-stat.o: libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-stat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-stat.o `test -f 'libsysbase/stat.c' || echo '$(srcdir)/'`libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/stat.c' object='libsysbase/libsysbase_libsysbase_a-stat.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-stat.o `test -f 'libsysbase/stat.c' || echo '$(srcdir)/'`libsysbase/stat.c + -+ $as_echo "## ---------------- ## -+## Cache variables. ## -+## ---------------- ##" -+ echo -+ # The following way of writing the cache mishandles newlines in values, -+( -+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do -+ eval ac_val=\$$ac_var -+ case $ac_val in #( -+ *${as_nl}*) -+ case $ac_var in #( -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; -+ esac -+ case $ac_var in #( -+ _ | IFS | as_nl) ;; #( -+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -+ *) { eval $ac_var=; unset $ac_var;} ;; -+ esac ;; -+ esac -+ done -+ (set) 2>&1 | -+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( -+ *${as_nl}ac_space=\ *) -+ sed -n \ -+ "s/'\''/'\''\\\\'\'''\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" -+ ;; #( -+ *) -+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" -+ ;; -+ esac | -+ sort -+) -+ echo ++libsysbase/libsysbase_libsysbase_a-stat.obj: libsysbase/stat.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-stat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-stat.obj `if test -f 'libsysbase/stat.c'; then $(CYGPATH_W) 'libsysbase/stat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/stat.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/stat.c' object='libsysbase/libsysbase_libsysbase_a-stat.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-stat.obj `if test -f 'libsysbase/stat.c'; then $(CYGPATH_W) 'libsysbase/stat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/stat.c'; fi` + -+ $as_echo "## ----------------- ## -+## Output variables. ## -+## ----------------- ##" -+ echo -+ for ac_var in $ac_subst_vars -+ do -+ eval ac_val=\$$ac_var -+ case $ac_val in -+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; -+ esac -+ $as_echo "$ac_var='\''$ac_val'\''" -+ done | sort -+ echo ++libsysbase/libsysbase_libsysbase_a-statvfs.o: libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-statvfs.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo -c -o libsysbase/libsysbase_libsysbase_a-statvfs.o `test -f 'libsysbase/statvfs.c' || echo '$(srcdir)/'`libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/statvfs.c' object='libsysbase/libsysbase_libsysbase_a-statvfs.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.o `test -f 'libsysbase/statvfs.c' || echo '$(srcdir)/'`libsysbase/statvfs.c + -+ if test -n "$ac_subst_files"; then -+ $as_echo "## ------------------- ## -+## File substitutions. ## -+## ------------------- ##" -+ echo -+ for ac_var in $ac_subst_files -+ do -+ eval ac_val=\$$ac_var -+ case $ac_val in -+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; -+ esac -+ $as_echo "$ac_var='\''$ac_val'\''" -+ done | sort -+ echo -+ fi ++libsysbase/libsysbase_libsysbase_a-statvfs.obj: libsysbase/statvfs.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-statvfs.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/statvfs.c' object='libsysbase/libsysbase_libsysbase_a-statvfs.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` + -+ if test -s confdefs.h; then -+ $as_echo "## ----------- ## -+## confdefs.h. ## -+## ----------- ##" -+ echo -+ cat confdefs.h -+ echo -+ fi -+ test "$ac_signal" != 0 && -+ $as_echo "$as_me: caught signal $ac_signal" -+ $as_echo "$as_me: exit $exit_status" -+ } >&5 -+ rm -f core *.core core.conftest.* && -+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && -+ exit $exit_status -+' 0 -+for ac_signal in 1 2 13 15; do -+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -+done -+ac_signal=0 ++libsysbase/libsysbase_libsysbase_a-symlink.o: libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-symlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-symlink.o `test -f 'libsysbase/symlink.c' || echo '$(srcdir)/'`libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/symlink.c' object='libsysbase/libsysbase_libsysbase_a-symlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-symlink.o `test -f 'libsysbase/symlink.c' || echo '$(srcdir)/'`libsysbase/symlink.c + -+# confdefs.h avoids OS command line length limits that DEFS can exceed. -+rm -f -r conftest* confdefs.h ++libsysbase/libsysbase_libsysbase_a-symlink.obj: libsysbase/symlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-symlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-symlink.obj `if test -f 'libsysbase/symlink.c'; then $(CYGPATH_W) 'libsysbase/symlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/symlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/symlink.c' object='libsysbase/libsysbase_libsysbase_a-symlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-symlink.obj `if test -f 'libsysbase/symlink.c'; then $(CYGPATH_W) 'libsysbase/symlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/symlink.c'; fi` + -+$as_echo "/* confdefs.h */" > confdefs.h ++libsysbase/libsysbase_libsysbase_a-syscall_support.o: libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/syscall_support.c' object='libsysbase/libsysbase_libsysbase_a-syscall_support.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c + -+# Predefined preprocessor variables. ++libsysbase/libsysbase_libsysbase_a-syscall_support.obj: libsysbase/syscall_support.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.obj `if test -f 'libsysbase/syscall_support.c'; then $(CYGPATH_W) 'libsysbase/syscall_support.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/syscall_support.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/syscall_support.c' object='libsysbase/libsysbase_libsysbase_a-syscall_support.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.obj `if test -f 'libsysbase/syscall_support.c'; then $(CYGPATH_W) 'libsysbase/syscall_support.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/syscall_support.c'; fi` + -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_NAME "$PACKAGE_NAME" -+_ACEOF ++libsysbase/libsysbase_libsysbase_a-times.o: libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-times.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo -c -o libsysbase/libsysbase_libsysbase_a-times.o `test -f 'libsysbase/times.c' || echo '$(srcdir)/'`libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/times.c' object='libsysbase/libsysbase_libsysbase_a-times.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-times.o `test -f 'libsysbase/times.c' || echo '$(srcdir)/'`libsysbase/times.c + -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -+_ACEOF ++libsysbase/libsysbase_libsysbase_a-times.obj: libsysbase/times.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-times.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo -c -o libsysbase/libsysbase_libsysbase_a-times.obj `if test -f 'libsysbase/times.c'; then $(CYGPATH_W) 'libsysbase/times.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/times.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/times.c' object='libsysbase/libsysbase_libsysbase_a-times.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-times.obj `if test -f 'libsysbase/times.c'; then $(CYGPATH_W) 'libsysbase/times.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/times.c'; fi` + -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_VERSION "$PACKAGE_VERSION" -+_ACEOF ++libsysbase/libsysbase_libsysbase_a-truncate.o: libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-truncate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-truncate.o `test -f 'libsysbase/truncate.c' || echo '$(srcdir)/'`libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/truncate.c' object='libsysbase/libsysbase_libsysbase_a-truncate.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-truncate.o `test -f 'libsysbase/truncate.c' || echo '$(srcdir)/'`libsysbase/truncate.c + -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_STRING "$PACKAGE_STRING" -+_ACEOF ++libsysbase/libsysbase_libsysbase_a-truncate.obj: libsysbase/truncate.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-truncate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-truncate.obj `if test -f 'libsysbase/truncate.c'; then $(CYGPATH_W) 'libsysbase/truncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/truncate.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/truncate.c' object='libsysbase/libsysbase_libsysbase_a-truncate.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-truncate.obj `if test -f 'libsysbase/truncate.c'; then $(CYGPATH_W) 'libsysbase/truncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/truncate.c'; fi` + -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -+_ACEOF ++libsysbase/libsysbase_libsysbase_a-unlink.o: libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-unlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-unlink.o `test -f 'libsysbase/unlink.c' || echo '$(srcdir)/'`libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/unlink.c' object='libsysbase/libsysbase_libsysbase_a-unlink.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-unlink.o `test -f 'libsysbase/unlink.c' || echo '$(srcdir)/'`libsysbase/unlink.c + -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_URL "$PACKAGE_URL" -+_ACEOF ++libsysbase/libsysbase_libsysbase_a-unlink.obj: libsysbase/unlink.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-unlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-unlink.obj `if test -f 'libsysbase/unlink.c'; then $(CYGPATH_W) 'libsysbase/unlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/unlink.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/unlink.c' object='libsysbase/libsysbase_libsysbase_a-unlink.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-unlink.obj `if test -f 'libsysbase/unlink.c'; then $(CYGPATH_W) 'libsysbase/unlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/unlink.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-usleep.o: libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-usleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-usleep.o `test -f 'libsysbase/usleep.c' || echo '$(srcdir)/'`libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/usleep.c' object='libsysbase/libsysbase_libsysbase_a-usleep.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-usleep.o `test -f 'libsysbase/usleep.c' || echo '$(srcdir)/'`libsysbase/usleep.c + -+# Let the site file select an alternate cache file if it wants to. -+# Prefer an explicitly selected file to automatically selected ones. -+ac_site_file1=NONE -+ac_site_file2=NONE -+if test -n "$CONFIG_SITE"; then -+ # We do not want a PATH search for config.site. -+ case $CONFIG_SITE in #(( -+ -*) ac_site_file1=./$CONFIG_SITE;; -+ */*) ac_site_file1=$CONFIG_SITE;; -+ *) ac_site_file1=./$CONFIG_SITE;; -+ esac -+elif test "x$prefix" != xNONE; then -+ ac_site_file1=$prefix/share/config.site -+ ac_site_file2=$prefix/etc/config.site -+else -+ ac_site_file1=$ac_default_prefix/share/config.site -+ ac_site_file2=$ac_default_prefix/etc/config.site -+fi -+for ac_site_file in "$ac_site_file1" "$ac_site_file2" -+do -+ test "x$ac_site_file" = xNONE && continue -+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -+$as_echo "$as_me: loading site script $ac_site_file" >&6;} -+ sed 's/^/| /' "$ac_site_file" >&5 -+ . "$ac_site_file" \ -+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error $? "failed to load site script $ac_site_file -+See \`config.log' for more details" "$LINENO" 5; } -+ fi -+done ++libsysbase/libsysbase_libsysbase_a-usleep.obj: libsysbase/usleep.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-usleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-usleep.obj `if test -f 'libsysbase/usleep.c'; then $(CYGPATH_W) 'libsysbase/usleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/usleep.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/usleep.c' object='libsysbase/libsysbase_libsysbase_a-usleep.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-usleep.obj `if test -f 'libsysbase/usleep.c'; then $(CYGPATH_W) 'libsysbase/usleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/usleep.c'; fi` + -+if test -r "$cache_file"; then -+ # Some versions of bash will fail to source /dev/null (special files -+ # actually), so we avoid doing that. DJGPP emulates it as a regular file. -+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -+$as_echo "$as_me: loading cache $cache_file" >&6;} -+ case $cache_file in -+ [\\/]* | ?:[\\/]* ) . "$cache_file";; -+ *) . "./$cache_file";; -+ esac -+ fi -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -+$as_echo "$as_me: creating cache $cache_file" >&6;} -+ >$cache_file -+fi ++libsysbase/libsysbase_libsysbase_a-utime.o: libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-utime.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo -c -o libsysbase/libsysbase_libsysbase_a-utime.o `test -f 'libsysbase/utime.c' || echo '$(srcdir)/'`libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/utime.c' object='libsysbase/libsysbase_libsysbase_a-utime.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-utime.o `test -f 'libsysbase/utime.c' || echo '$(srcdir)/'`libsysbase/utime.c + -+# Check that the precious variables saved in the cache have kept the same -+# value. -+ac_cache_corrupted=false -+for ac_var in $ac_precious_vars; do -+ eval ac_old_set=\$ac_cv_env_${ac_var}_set -+ eval ac_new_set=\$ac_env_${ac_var}_set -+ eval ac_old_val=\$ac_cv_env_${ac_var}_value -+ eval ac_new_val=\$ac_env_${ac_var}_value -+ case $ac_old_set,$ac_new_set in -+ set,) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,set) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,);; -+ *) -+ if test "x$ac_old_val" != "x$ac_new_val"; then -+ # differences in whitespace do not lead to failure. -+ ac_old_val_w=`echo x $ac_old_val` -+ ac_new_val_w=`echo x $ac_new_val` -+ if test "$ac_old_val_w" != "$ac_new_val_w"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} -+ ac_cache_corrupted=: -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} -+ eval $ac_var=\$ac_old_val -+ fi -+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} -+ fi;; -+ esac -+ # Pass precious variables to config.status. -+ if test "$ac_new_set" = set; then -+ case $ac_new_val in -+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; -+ *) ac_arg=$ac_var=$ac_new_val ;; -+ esac -+ case " $ac_configure_args " in -+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. -+ *) as_fn_append ac_configure_args " '$ac_arg'" ;; -+ esac -+ fi -+done -+if $ac_cache_corrupted; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} -+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -+fi -+## -------------------- ## -+## Main body of script. ## -+## -------------------- ## ++libsysbase/libsysbase_libsysbase_a-utime.obj: libsysbase/utime.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-utime.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo -c -o libsysbase/libsysbase_libsysbase_a-utime.obj `if test -f 'libsysbase/utime.c'; then $(CYGPATH_W) 'libsysbase/utime.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/utime.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/utime.c' object='libsysbase/libsysbase_libsysbase_a-utime.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-utime.obj `if test -f 'libsysbase/utime.c'; then $(CYGPATH_W) 'libsysbase/utime.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/utime.c'; fi` + -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu ++libsysbase/libsysbase_libsysbase_a-wait.o: libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-wait.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo -c -o libsysbase/libsysbase_libsysbase_a-wait.o `test -f 'libsysbase/wait.c' || echo '$(srcdir)/'`libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/wait.c' object='libsysbase/libsysbase_libsysbase_a-wait.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-wait.o `test -f 'libsysbase/wait.c' || echo '$(srcdir)/'`libsysbase/wait.c + ++libsysbase/libsysbase_libsysbase_a-wait.obj: libsysbase/wait.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-wait.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo -c -o libsysbase/libsysbase_libsysbase_a-wait.obj `if test -f 'libsysbase/wait.c'; then $(CYGPATH_W) 'libsysbase/wait.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/wait.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/wait.c' object='libsysbase/libsysbase_libsysbase_a-wait.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-wait.obj `if test -f 'libsysbase/wait.c'; then $(CYGPATH_W) 'libsysbase/wait.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/wait.c'; fi` + -+ac_config_headers="$ac_config_headers config.h" ++libsysbase/libsysbase_libsysbase_a-write.o: libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-write.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo -c -o libsysbase/libsysbase_libsysbase_a-write.o `test -f 'libsysbase/write.c' || echo '$(srcdir)/'`libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/write.c' object='libsysbase/libsysbase_libsysbase_a-write.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-write.o `test -f 'libsysbase/write.c' || echo '$(srcdir)/'`libsysbase/write.c + ++libsysbase/libsysbase_libsysbase_a-write.obj: libsysbase/write.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-write.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo -c -o libsysbase/libsysbase_libsysbase_a-write.obj `if test -f 'libsysbase/write.c'; then $(CYGPATH_W) 'libsysbase/write.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/write.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/write.c' object='libsysbase/libsysbase_libsysbase_a-write.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-write.obj `if test -f 'libsysbase/write.c'; then $(CYGPATH_W) 'libsysbase/write.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/write.c'; fi` + -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" -+fi + nios2/nios2_libnios2_a-io-close.o: nios2/io-close.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(nios2_libnios2_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nios2/nios2_libnios2_a-io-close.o -MD -MP -MF nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo -c -o nios2/nios2_libnios2_a-io-close.o `test -f 'nios2/io-close.c' || echo '$(srcdir)/'`nios2/io-close.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Po +@@ -5103,6 +6205,8 @@ distclean-generic: + -rm -f iq2000/$(am__dirstamp) + -rm -f libnosys/$(DEPDIR)/$(am__dirstamp) + -rm -f libnosys/$(am__dirstamp) ++ -rm -f libsysbase/$(DEPDIR)/$(am__dirstamp) ++ -rm -f libsysbase/$(am__dirstamp) + -rm -f lm32/$(DEPDIR)/$(am__dirstamp) + -rm -f lm32/$(am__dirstamp) + -rm -f nios2/$(DEPDIR)/$(am__dirstamp) +@@ -5129,7 +6233,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ + + distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) +- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) xtensa/$(DEPDIR) xtensa/boards/esp32/$(DEPDIR) xtensa/boards/esp32s3/$(DEPDIR) ++ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) xtensa/$(DEPDIR) xtensa/boards/esp32/$(DEPDIR) xtensa/boards/esp32s3/$(DEPDIR) + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-local distclean-tags +@@ -5272,7 +6376,7 @@ installcheck-am: + maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache +- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) xtensa/$(DEPDIR) xtensa/boards/esp32/$(DEPDIR) xtensa/boards/esp32s3/$(DEPDIR) ++ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) xtensa/$(DEPDIR) xtensa/boards/esp32/$(DEPDIR) xtensa/boards/esp32s3/$(DEPDIR) + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-aminfo \ + maintainer-clean-generic maintainer-clean-local +diff --git a/libgloss/configure b/libgloss/configure +index 5f6bc5841..b5e41eb03 100755 +--- a/libgloss/configure ++++ b/libgloss/configure +@@ -649,6 +649,8 @@ CONFIG_NIOS2_FALSE + CONFIG_NIOS2_TRUE + CONFIG_LM32_FALSE + CONFIG_LM32_TRUE ++CONFIG_LIBSYSBASE_FALSE ++CONFIG_LIBSYSBASE_TRUE + CONFIG_LIBNOSYS_FALSE + CONFIG_LIBNOSYS_TRUE + CONFIG_IQ2000_FALSE +@@ -733,6 +735,7 @@ infodir + docdir + oldincludedir + includedir ++runstatedir + localstatedir + sharedstatedir + sysconfdir +@@ -811,6 +814,7 @@ datadir='${datarootdir}' + sysconfdir='${prefix}/etc' + sharedstatedir='${prefix}/com' + localstatedir='${prefix}/var' ++runstatedir='${localstatedir}/run' + includedir='${prefix}/include' + oldincludedir='/usr/include' + docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +@@ -1063,6 +1067,15 @@ do + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + ++ -runstatedir | --runstatedir | --runstatedi | --runstated \ ++ | --runstate | --runstat | --runsta | --runst | --runs \ ++ | --run | --ru | --r) ++ ac_prev=runstatedir ;; ++ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ ++ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ ++ | --run=* | --ru=* | --r=*) ++ runstatedir=$ac_optarg ;; ++ + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ +@@ -1200,7 +1213,7 @@ fi + for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ +- libdir localedir mandir ++ libdir localedir mandir runstatedir + do + eval ac_val=\$$ac_var + # Remove trailing slashes. +@@ -1353,6 +1366,7 @@ Fine tuning of the installation directories: + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] +@@ -2756,6 +2770,8 @@ config_testsuite=true + + config_libnosys=true + ++config_libsysbase=true + -+if test "$srcdir" = "." ; then -+ if test "${with_target_subdir}" != "." ; then -+ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." -+ else -+ libgloss_topdir="${srcdir}/${with_multisrctop}../.." -+ fi + host_makefile_frag=${srcdir}/config/default.mh + target_makefile_frag=${srcdir}/config/default.mt + +@@ -3061,6 +3077,14 @@ else + CONFIG_LIBNOSYS_FALSE= + fi + ++ if test x$config_libsysbase = xtrue; then ++ CONFIG_LIBSYSBASE_TRUE= ++ CONFIG_LIBSYSBASE_FALSE='#' +else -+ libgloss_topdir="${srcdir}/../.." -+fi -+ac_aux_dir= -+for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do -+ if test -f "$ac_dir/install-sh"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install-sh -c" -+ break -+ elif test -f "$ac_dir/install.sh"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install.sh -c" -+ break -+ elif test -f "$ac_dir/shtool"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/shtool install -c" -+ break -+ fi -+done -+if test -z "$ac_aux_dir"; then -+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5 ++ CONFIG_LIBSYSBASE_TRUE='#' ++ CONFIG_LIBSYSBASE_FALSE= +fi + -+# These three variables are undocumented and unsupported, -+# and are intended to be withdrawn in a future Autoconf release. -+# They can cause serious problems if a builder's source tree is in a directory -+# whose full name contains unusual characters. -+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -+ -+ -+ -+# Make sure we can run config.sub. -+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || -+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -+$as_echo_n "checking build system type... " >&6; } -+if ${ac_cv_build+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_build_alias=$build_alias -+test "x$ac_build_alias" = x && -+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -+test "x$ac_build_alias" = x && -+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + if test x$config_lm32 = xtrue; then + CONFIG_LM32_TRUE= + CONFIG_LM32_FALSE='#' +@@ -4976,6 +5000,35 @@ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h + ;; + esac + ++case "${target}" in ++ *-*-cygwin*) ;; ++ a29k-amd-udi) ;; ++ aarch64*-*-*) ;; ++ arc-*-*) ;; ++ arm*-*-*) ;; ++ bfin-*-*) ;; ++ cris-*-* | crisv32-*-*) ;; ++ d10v*) ;; ++ h8300*-*-*) ;; ++ h8500-*-*) ;; ++ i345686-*-sco*) ;; ++ lm32-*-*) ;; ++ m32r-*-*) ;; ++ mn10?00-*-*) ;; ++ riscv*-*-*) ;; ++ powerpcle-*-pe) ;; ++ sh*-*-*) ;; ++ sparc-sun-sunos*) ;; ++ sparc64-*-*) ;; ++ v850*-*-*) ;; ++ w65-*-*) ;; ++ xstormy16-*-*) ;; ++ z8k-*-*) ;; ++ *) ++$as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h ++ ;; ++esac + + M68K_TARGET=m68k + case "${target}" in + fido-*-* | m68*-*-*) +@@ -5398,6 +5451,10 @@ if test -z "${CONFIG_LIBNOSYS_TRUE}" && test -z "${CONFIG_LIBNOSYS_FALSE}"; then + as_fn_error $? "conditional \"CONFIG_LIBNOSYS\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 + fi ++if test -z "${CONFIG_LIBSYSBASE_TRUE}" && test -z "${CONFIG_LIBSYSBASE_FALSE}"; then ++ as_fn_error $? "conditional \"CONFIG_LIBSYSBASE\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -+$as_echo "$ac_cv_build" >&6; } -+case $ac_cv_build in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -+esac -+build=$ac_cv_build -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_build -+shift -+build_cpu=$1 -+build_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+build_os=$* -+IFS=$ac_save_IFS -+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + if test -z "${CONFIG_LM32_TRUE}" && test -z "${CONFIG_LM32_FALSE}"; then + as_fn_error $? "conditional \"CONFIG_LM32\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 +diff --git a/libgloss/configure.ac b/libgloss/configure.ac +index 268d86c51..1b918a61e 100644 +--- a/libgloss/configure.ac ++++ b/libgloss/configure.ac +@@ -43,6 +43,9 @@ config_testsuite=true + dnl indicates whether to run configure within the libnosys subdirectory + config_libnosys=true + ++dnl indicates whether to run configure within the libsysbase subdirectory ++config_libsysbase=true + + host_makefile_frag=${srcdir}/config/default.mh + target_makefile_frag=${srcdir}/config/default.mt + +@@ -250,7 +253,7 @@ AC_SUBST(subdirs) + dnl These subdirs have converted to non-recursive make. Hopefully someday all + dnl the ports above will too! + m4_foreach_w([SUBDIR], [ +- aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 nios2 riscv wince xtensa ++ aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 libsysbase nios2 riscv wince xtensa + ], [dnl + AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue) + ]) +@@ -346,6 +349,7 @@ m4_include([aarch64/acinclude.m4]) + m4_include([arm/acinclude.m4]) + m4_include([i386/acinclude.m4]) + m4_include([libnosys/acinclude.m4]) ++m4_include([libsysbase/acinclude.m4]) + m4_include([m68k/acinclude.m4]) + m4_include([mcore/acinclude.m4]) + m4_include([mips/acinclude.m4]) +diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc +new file mode 100644 +index 000000000..123a1dedf +--- /dev/null ++++ b/libgloss/libsysbase/Makefile.inc +@@ -0,0 +1,66 @@ ++multilibtool_DATA += %D%/sysbase.specs + -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -+$as_echo_n "checking host system type... " >&6; } -+if ${ac_cv_host+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test "x$host_alias" = x; then -+ ac_cv_host=$ac_cv_build -+else -+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -+fi ++multilibtool_LIBRARIES += %D%/libpthread.a + -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -+$as_echo "$ac_cv_host" >&6; } -+case $ac_cv_host in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -+esac -+host=$ac_cv_host -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_host -+shift -+host_cpu=$1 -+host_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+host_os=$* -+IFS=$ac_save_IFS -+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac ++%C%_libpthread_a_SOURCES = \ ++ %D%/dummy.c + ++multilibtool_LIBRARIES += %D%/libsysbase.a + -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 -+$as_echo_n "checking target system type... " >&6; } -+if ${ac_cv_target+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test "x$target_alias" = x; then -+ ac_cv_target=$ac_cv_host -+else -+ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 -+fi + -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 -+$as_echo "$ac_cv_target" >&6; } -+case $ac_cv_target in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; -+esac -+target=$ac_cv_target -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_target -+shift -+target_cpu=$1 -+target_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+target_os=$* -+IFS=$ac_save_IFS -+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac ++%C%_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE ++ ++%C%_libsysbase_a_SOURCES = \ ++ %D%/_exit.c \ ++ %D%/abort.c \ ++ %D%/build_argv.c \ ++ %D%/chdir.c \ ++ %D%/chmod.c \ ++ %D%/clocks.c \ ++ %D%/concatenate.c \ ++ %D%/dirent.c \ ++ %D%/environ.c \ ++ %D%/execve.c \ ++ %D%/fchmod.c \ ++ %D%/flock.c \ ++ %D%/fnmatch.c \ ++ %D%/fork.c \ ++ %D%/fpathconf.c \ ++ %D%/fstat.c \ ++ %D%/fsync.c \ ++ %D%/ftruncate.c \ ++ %D%/getpid.c \ ++ %D%/getreent.c \ ++ %D%/gettod.c \ ++ %D%/handle_manager.c \ ++ %D%/iosupport.c \ ++ %D%/isatty.c \ ++ %D%/kill.c \ ++ %D%/link.c \ ++ %D%/lseek.c \ ++ %D%/lstat.c \ ++ %D%/malloc_vars.c \ ++ %D%/mkdir.c \ ++ %D%/pthread.c \ ++ %D%/nanosleep.c \ ++ %D%/open.c \ ++ %D%/pathconf.c \ ++ %D%/read.c \ ++ %D%/readlink.c \ ++ %D%/realpath.c \ ++ %D%/rename.c \ ++ %D%/rmdir.c \ ++ %D%/sbrk.c \ ++ %D%/scandir.c \ ++ %D%/sleep.c \ ++ %D%/stat.c \ ++ %D%/statvfs.c \ ++ %D%/symlink.c \ ++ %D%/syscall_support.c \ ++ %D%/times.c \ ++ %D%/truncate.c \ ++ %D%/unlink.c \ ++ %D%/usleep.c \ ++ %D%/utime.c \ ++ %D%/wait.c \ ++ %D%/write.c +diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c +new file mode 100644 +index 000000000..a45723f84 +--- /dev/null ++++ b/libgloss/libsysbase/_exit.c +@@ -0,0 +1,16 @@ ++/* Stub version of _exit. */ + ++#include ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include + -+# The aliases save the names the user supplied, while $host etc. -+# will get canonicalized. -+test -n "$target_alias" && -+ test "$program_prefix$program_suffix$program_transform_name" = \ -+ NONENONEs,x,x, && -+ program_prefix=${target_alias}- ++void _exit(int rc) ++{ ++ if ( __has_syscall(exit) ) { ++ __syscall_exit(rc); ++ } + -+test "$program_prefix" != NONE && -+ program_transform_name="s&^&$program_prefix&;$program_transform_name" -+# Use a double $ so make ignores it. -+test "$program_suffix" != NONE && -+ program_transform_name="s&\$&$program_suffix&;$program_transform_name" -+# Double any \ or $. -+# By default was `s,x,x', remove it if useless. -+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` ++ while(1); ++} +diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c +new file mode 100644 +index 000000000..9272e22c9 +--- /dev/null ++++ b/libgloss/libsysbase/abort.c +@@ -0,0 +1,8 @@ ++#include ++#include + ++void abort(void) { ++ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); ++ _exit (1); ++} + -+# Find a good install program. We prefer a C program (faster), -+# so one script is as good as another. But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AmigaOS /C/install, which installs bootblocks on floppy discs -+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# OS/2's system install, which has a completely different semantic -+# ./install, which can be erroneously created by make from ./install.sh. -+# Reject install programs that cannot install multiple files. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -+$as_echo_n "checking for a BSD-compatible install... " >&6; } -+if test -z "$INSTALL"; then -+if ${ac_cv_path_install+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ # Account for people who put trailing slashes in PATH elements. -+case $as_dir/ in #(( -+ ./ | .// | /[cC]/* | \ -+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ -+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ -+ /usr/ucb/* ) ;; -+ *) -+ # OSF1 and SCO ODT 3.0 have their own names for install. -+ # Don't use installbsd from OSF since it installs stuff as root -+ # by default. -+ for ac_prog in ginstall scoinst install; do -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -+ if test $ac_prog = install && -+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ : -+ elif test $ac_prog = install && -+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # program-specific install script used by HP pwplus--don't use. -+ : -+ else -+ rm -rf conftest.one conftest.two conftest.dir -+ echo one > conftest.one -+ echo two > conftest.two -+ mkdir conftest.dir -+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && -+ test -s conftest.one && test -s conftest.two && -+ test -s conftest.dir/conftest.one && -+ test -s conftest.dir/conftest.two -+ then -+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -+ break 3 -+ fi -+ fi -+ fi -+ done -+ done -+ ;; -+esac +diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h +new file mode 100644 +index 000000000..200ea7873 +--- /dev/null ++++ b/libgloss/libsysbase/acconfig.h +@@ -0,0 +1,29 @@ ++/* Name of package. */ ++#undef PACKAGE + -+ done -+IFS=$as_save_IFS ++/* Version of package. */ ++#undef VERSION + -+rm -rf conftest.one conftest.two conftest.dir ++/* Missing syscall names */ ++#undef MISSING_SYSCALL_NAMES + -+fi -+ if test "${ac_cv_path_install+set}" = set; then -+ INSTALL=$ac_cv_path_install -+ else -+ # As a last resort, use the slow shell script. Don't cache a -+ # value for INSTALL within a source directory, because that will -+ # break other packages using the cache if that directory is -+ # removed, or if the value is a relative name. -+ INSTALL=$ac_install_sh -+ fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -+$as_echo "$INSTALL" >&6; } ++/* Reentrant syscalls */ ++#undef REENTRANT_SYSCALLS_PROVIDED + -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' ++/* Using ELF format */ ++#undef HAVE_ELF + -+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' ++/* Using GNU LD */ ++#undef HAVE_GNU_LD + -+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++/* .previous directive allowed */ ++#undef HAVE_ASM_PREVIOUS_DIRECTIVE + ++/* .pushsection/.popsection directives allowed */ ++#undef HAVE_ASM_POPSECTION_DIRECTIVE + -+$as_echo "#define HAVE_GNU_LD 1" >>confdefs.h ++/* support for section attributes */ ++#undef HAVE_SECTION_ATTRIBUTES + ++/* symbol prefix */ ++#undef __SYMBOL_PREFIX +diff --git a/libgloss/libsysbase/acinclude.m4 b/libgloss/libsysbase/acinclude.m4 +new file mode 100644 +index 000000000..7b0d7b4d6 +--- /dev/null ++++ b/libgloss/libsysbase/acinclude.m4 +@@ -0,0 +1,27 @@ ++dnl Make sure syscall names match those being used by newlib +case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ arc-*-*) -+ ;; -+ arm-*-eabi) -+ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h -+ -+ ;; -+ arm*-*-*) -+ ;; -+ bfin-*-*) -+ ;; -+ cris-*-* | crisv32-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i345686-*-sco*) -+ ;; -+ lm32-*-*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpc-*-eabi) -+ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h -+ -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ v850*-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h -+ -+ ;; ++ *-*-cygwin*) ;; ++ a29k-amd-udi) ;; ++ aarch64*-*-*) ;; ++ arc-*-*) ;; ++ arm*-*-*) ;; ++ bfin-*-*) ;; ++ cris-*-* | crisv32-*-*) ;; ++ d10v*) ;; ++ h8300*-*-*) ;; ++ h8500-*-*) ;; ++ i[3456]86-*-sco*) ;; ++ lm32-*-*) ;; ++ m32r-*-*) ;; ++ mn10?00-*-*) ;; ++ riscv*-*-*) ;; ++ powerpcle-*-pe) ;; ++ sh*-*-*) ;; ++ sparc-sun-sunos*) ;; ++ sparc64-*-*) ;; ++ v850*-*-*) ;; ++ w65-*-*) ;; ++ xstormy16-*-*) ;; ++ z8k-*-*) ;; ++ *) AC_DEFINE(MISSING_SYSCALL_NAMES, 1, [Missing syscall names]) ;; +esac -+ -+case "${target}" in -+ *-*-elf) -+ $as_echo "#define HAVE_ELF 1" >>confdefs.h +diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c +new file mode 100644 +index 000000000..0697f53d2 +--- /dev/null ++++ b/libgloss/libsysbase/build_argv.c +@@ -0,0 +1,32 @@ ++struct __argv { ++ int argvMagic; ++ char *commandLine; ++ int length; ++ int argc; ++ char **argv; ++ char **endARGV; ++}; + + -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 -+$as_echo_n "checking for .previous assembler directive... " >&6; } -+if ${libc_cv_asm_previous_directive+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_asm_previous_directive=no -+ cat > conftest.s <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_asm_previous_directive=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 -+$as_echo "$libc_cv_asm_previous_directive" >&6; } ++void build_argv (struct __argv* argstruct ) { + -+ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then -+ $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h ++ char *data = argstruct->commandLine; ++ int len = argstruct->length; + -+ fi ++ char** argv = (char**)(((int)data + len + sizeof(char **)) & ~(sizeof(char **)-1)); ++ char* end = data + len - 1; ++ int argCount = 0; + -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 -+$as_echo_n "checking for .popsection assembler directive... " >&6; } -+if ${libc_cv_asm_popsection_directive+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_asm_popsection_directive=no -+ cat > conftest.s <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_asm_popsection_directive=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5 -+$as_echo "$libc_cv_asm_popsection_directive" >&6; } ++ do { ++ argv[argCount++] = data; // Add next arg to argv list ++ while (*(data) && data < end) data++; // Move to next NULL delimiter ++ data++; // Move to one after the NULL delimiter ++ } while (data < end); + -+ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then -+ $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h ++ *end = '\0'; // Force NULL terminator for last arg ++ argv[argCount] = 0; // Force NULL terminator for argv + -+ fi ++ argstruct->argv = argv; ++ argstruct->argc = argCount; ++ argstruct->endARGV = &argv[argCount + 1]; ++} +diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c +new file mode 100644 +index 000000000..922124b65 +--- /dev/null ++++ b/libgloss/libsysbase/chdir.c +@@ -0,0 +1,105 @@ ++#include ++#include ++#include ++#include ++#include + -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for section attributes" >&5 -+$as_echo_n "checking for section attributes... " >&6; } -+if ${libc_cv_section_attributes+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ libc_cv_section_attributes=no -+ cat > conftest.c <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ libc_cv_section_attributes=yes -+ fi -+ rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_section_attributes" >&5 -+$as_echo "$libc_cv_section_attributes" >&6; } -+ if test "x${libc_cv_section_attributes}" = "xyes"; then -+ $as_echo "#define HAVE_SECTION_ATTRIBUTES 1" >>confdefs.h ++#include "concatenate.h" + -+ fi -+ ;; -+esac ++/* CWD always start with "/" */ ++static char _current_working_directory [PATH_MAX] = "/"; ++static char temp_cwd [PATH_MAX]; + -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 -+$as_echo_n "checking for symbol prefix... " >&6; } -+if ${libc_cv_symbol_prefix+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat > conftest.c <<\EOF -+foo () { } -+EOF -+libc_cv_symbol_prefix=none -+if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; -+then -+ libc_cv_symbol_prefix='$' -+else -+ if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; -+ then -+ libc_cv_symbol_prefix=_ -+ fi -+fi -+rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_symbol_prefix" >&5 -+$as_echo "$libc_cv_symbol_prefix" >&6; } -+if test $libc_cv_symbol_prefix != none; then -+ cat >>confdefs.h <<_ACEOF -+#define __SYMBOL_PREFIX "$libc_cv_symbol_prefix" -+_ACEOF ++int chdir (const char *path) { ++ struct _reent *r = _REENT; + -+else -+ $as_echo "#define __SYMBOL_PREFIX \"\"" >>confdefs.h ++ int dev; ++ const char *pathPosition; + -+fi ++ /* Make sure the path is short enough */ ++ if (strnlen (path, PATH_MAX) >= PATH_MAX) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } + -+rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+ am__leading_dot=. -+else -+ am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null ++ if (strchr (path, ':') != NULL) { ++ strncpy (temp_cwd, path, PATH_MAX); ++ /* Move path past device name */ ++ path = strchr (path, ':') + 1; ++ } else { ++ strncpy (temp_cwd, _current_working_directory, PATH_MAX); ++ } + -+DEPDIR="${am__leading_dot}deps" ++ pathPosition = strchr (temp_cwd , ':'); + -+ac_config_commands="$ac_config_commands depfiles" ++ if (pathPosition == NULL) { ++ pathPosition = temp_cwd; ++ } else { ++ pathPosition++; ++ } + ++ /* Make sure the path starts in the root directory */ ++ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { ++ r->_errno = ENOENT; ++ return -1; ++ } + -+am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+ @echo done -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -+$as_echo_n "checking for style of include used by $am_make... " >&6; } -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ fi -+fi ++ /* Concatenate the path to the CWD */ ++ if (_concatenate_path (r, temp_cwd, path, PATH_MAX) == -1) { ++ return -1; ++ } + ++ /* Get device from path name */ ++ dev = FindDevice(temp_cwd); + -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -+$as_echo "$_am_result" >&6; } -+rm -f confinc confmf ++ if (dev < 0) { ++ r->_errno = ENODEV; ++ return -1; ++ } + -+# Check whether --enable-dependency-tracking was given. -+if test "${enable_dependency_tracking+set}" = set; then : -+ enableval=$enable_dependency_tracking; -+fi ++ r->deviceData = devoptab_list[dev]->deviceData; + -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi ++ if ( devoptab_list[dev]->chdir_r == NULL) { ++ r->_errno = ENOSYS; ++ return -1; ++ } + ++ /* Try changing directories on the device */ ++ if (devoptab_list[dev]->chdir_r (r, temp_cwd) == -1) { ++ return -1; ++ } + -+if test "x$enable_dependency_tracking" != xno; then -+ AMDEP_TRUE= -+ AMDEP_FALSE='#' -+else -+ AMDEP_TRUE='#' -+ AMDEP_FALSE= -+fi ++ /* Since it worked, set the new CWD and default device */ ++ setDefaultDevice(dev); ++ strncpy (_current_working_directory, temp_cwd, PATH_MAX); + ++ return 0; ++} + ++char *getcwd(char *buf, size_t size) { + -+# Extract the first word of "gcc", so it can be a program name with args. -+set dummy gcc; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CC+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_CC="gcc" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS ++ struct _reent *r = _REENT; + -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi ++ if (size == 0) { ++ if (buf != NULL) { ++ r->_errno = EINVAL; ++ return NULL; ++ } ++ buf = malloc(PATH_MAX); ++ size = PATH_MAX; ++ } + ++ if (buf == NULL) { ++ r->_errno = EINVAL; ++ return NULL; ++ } + ++ if ( size < (strnlen (_current_working_directory, PATH_MAX) + 1)) { ++ r->_errno = ERANGE; ++ return NULL; ++ } + -+depcc="$CC" am_compiler_list= ++ strncpy (buf, _current_working_directory, size); + -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -+$as_echo_n "checking dependency style of $depcc... " >&6; } -+if ${am_cv_CC_dependencies_compiler_type+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub ++ return buf; ++} +diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c +new file mode 100644 +index 000000000..3c4c60b7c +--- /dev/null ++++ b/libgloss/libsysbase/chmod.c +@@ -0,0 +1,29 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include + -+ am_cv_CC_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` -+ fi -+ for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf ++int chmod(const char *path, mode_t mode) { ++ int ret=-1,dev; ++ struct _reent *r = _REENT; + -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_CC_dependencies_compiler_type=$depmode -+ break -+ fi -+ fi -+ done ++ /* Get device from path name */ ++ dev = FindDevice(path); ++ ++ if (dev < 0) { ++ r->_errno = ENODEV; ++ } else { ++ if (devoptab_list[dev]->chmod_r == NULL) { ++ r->_errno=ENOSYS; ++ } else { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->chmod_r(r,path,mode); ++ } ++ } ++ ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c +new file mode 100644 +index 000000000..b36b5c079 +--- /dev/null ++++ b/libgloss/libsysbase/clocks.c +@@ -0,0 +1,34 @@ ++#include ++#include ++#include ++ ++int clock_gettime(clockid_t clock_id, struct timespec *tp) ++{ ++ if ( __has_syscall(clock_gettime) ) { ++ return __syscall_clock_gettime(clock_id, tp); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ ++int clock_settime(clockid_t clock_id, const struct timespec *tp) ++{ ++ if ( __has_syscall(clock_settime) ) { ++ return __syscall_clock_settime(clock_id, tp); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ ++int clock_getres (clockid_t clock_id, struct timespec *res) ++{ ++ if ( __has_syscall(clock_getres) ) { ++ return __syscall_clock_getres(clock_id, res); ++ } else { ++ errno = ENOSYS; ++ return -1; ++ } ++} ++ +diff --git a/libgloss/libsysbase/concatenate.c b/libgloss/libsysbase/concatenate.c +new file mode 100644 +index 000000000..e1da5a403 +--- /dev/null ++++ b/libgloss/libsysbase/concatenate.c +@@ -0,0 +1,91 @@ ++#include "concatenate.h" ++ ++ ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; + -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_CC_dependencies_compiler_type=none -+fi ++ pathLength = strnlen (path, maxLength); + -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathLength != 0 && pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } + ++ extraEnd = extra; + ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } + -+if -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then -+ am__fastdepCC_TRUE= -+ am__fastdepCC_FALSE='#' -+else -+ am__fastdepCC_TRUE='#' -+ am__fastdepCC_FALSE= -+fi ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } + ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } + -+if test -z "$CC"; then -+ # Extract the first word of "cc", so it can be a program name with args. -+set dummy cc; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CC+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ ac_prog_rejected=no -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then -+ ac_prog_rejected=yes -+ continue -+ fi -+ ac_cv_prog_CC="cc" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS ++ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) ++ { ++ /* Don't copy anything */ ++ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) ++ { ++ /* Go up one level of in the path */ ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { ++ // Remove trailing separator ++ pathEnd[-1] = '\0'; ++ } ++ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); ++ if (pathEnd == NULL) { ++ /* Can't go up any higher, return false */ ++ r->_errno = ENOENT; ++ return -1; ++ } ++ pathLength = pathEnd - path; ++ pathEnd += 1; ++ } else { ++ pathLength += extraSize; ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ /* Copy the next part over */ ++ strncpy (pathEnd, extra, extraSize); ++ pathEnd += extraSize; ++ } ++ pathEnd[0] = '\0'; ++ extra += extraSize; ++ } while (extraSize != 0); + -+if test $ac_prog_rejected = yes; then -+ # We found a bogon in the path, so make sure we never use it. -+ set dummy $ac_cv_prog_CC -+ shift -+ if test $# != 0; then -+ # We chose a different compiler from the bogus one. -+ # However, it has the same basename, so the bogon will be chosen -+ # first if we set CC to just the basename; use the full file name. -+ shift -+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" -+ fi -+fi -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi ++ if (strlen(path) > 2 ) { ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') ++ pathEnd[-1] = '\0'; ++ } + ++ return 0; ++} +\ No newline at end of file +diff --git a/libgloss/libsysbase/concatenate.h b/libgloss/libsysbase/concatenate.h +new file mode 100644 +index 000000000..e3b9e7d99 +--- /dev/null ++++ b/libgloss/libsysbase/concatenate.h +@@ -0,0 +1,10 @@ ++#include ++#include ++#include + -+ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5 -+fi ++#define DIRECTORY_SEPARATOR_CHAR '/' ++#define DIRECTORY_SEPARATOR "/" ++#define DIRECTORY_THIS "." ++#define DIRECTORY_PARENT ".." + -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5 -+$as_echo_n "checking whether we are using GNU C... " >&6; } -+if ${ac_cv_c_compiler_gnu+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat > conftest.c <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then -+ ac_cv_c_compiler_gnu=yes -+else -+ ac_cv_c_compiler_gnu=no -+fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -+$as_echo "$ac_cv_c_compiler_gnu" >&6; } ++int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength); +diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in +new file mode 100644 +index 000000000..48ce950b4 +--- /dev/null ++++ b/libgloss/libsysbase/config.h.in +@@ -0,0 +1,25 @@ ++/* config.h.in. Generated automatically from configure.in by autoheader. */ + -+if test $ac_cv_c_compiler_gnu = yes; then -+ GCC=yes -+ ac_test_CFLAGS="${CFLAGS+set}" -+ ac_save_CFLAGS="$CFLAGS" -+ CFLAGS= -+ ac_test_CFLAGS=${CFLAGS+set} -+ac_save_CFLAGS=$CFLAGS -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -+$as_echo_n "checking whether $CC accepts -g... " >&6; } -+if ${ac_cv_prog_cc_g+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_save_c_werror_flag=$ac_c_werror_flag -+ ac_c_werror_flag=yes -+ ac_cv_prog_cc_g=no -+ CFLAGS="-g" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ ++/* Missing syscall names */ ++#undef MISSING_SYSCALL_NAMES + -+int -+main () -+{ ++/* Reentrant syscalls */ ++#undef REENTRANT_SYSCALLS_PROVIDED + -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_prog_cc_g=yes -+else -+ CFLAGS="" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ ++/* Using ELF format */ ++#undef HAVE_ELF + -+int -+main () -+{ ++/* Using GNU LD */ ++#undef HAVE_GNU_LD + -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : ++/* .previous directive allowed */ ++#undef HAVE_ASM_PREVIOUS_DIRECTIVE ++ ++/* .pushsection/.popsection directives allowed */ ++#undef HAVE_ASM_POPSECTION_DIRECTIVE ++ ++/* support for section attributes */ ++#undef HAVE_SECTION_ATTRIBUTES ++ ++/* symbol prefix */ ++#undef __SYMBOL_PREFIX +diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure +new file mode 100644 +index 000000000..be36ded12 +--- /dev/null ++++ b/libgloss/libsysbase/configure +@@ -0,0 +1,4162 @@ ++#! /bin/sh ++# Guess values for system-dependent variables and create Makefiles. ++# Generated by GNU Autoconf 2.69. ++# ++# ++# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. ++# ++# ++# This configure script is free software; the Free Software Foundation ++# gives unlimited permission to copy, distribute and modify it. ++## -------------------- ## ++## M4sh Initialization. ## ++## -------------------- ## + ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST +else -+ ac_c_werror_flag=$ac_save_c_werror_flag -+ CFLAGS="-g" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi + -+int -+main () -+{ + -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_prog_cc_g=yes -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_c_werror_flag=$ac_save_c_werror_flag -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -+$as_echo "$ac_cv_prog_cc_g" >&6; } -+if test "$ac_test_CFLAGS" = set; then -+ CFLAGS=$ac_save_CFLAGS -+elif test $ac_cv_prog_cc_g = yes; then -+ if test "$GCC" = yes; then -+ CFLAGS="-g -O2" -+ else -+ CFLAGS="-g" -+ fi ++as_nl=' ++' ++export as_nl ++# Printing a long string crashes Solaris 7 /usr/bin/printf. ++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo ++# Prefer a ksh shell builtin over an external printf program on Solaris, ++# but without wasting forks for bash or zsh. ++if test -z "$BASH_VERSION$ZSH_VERSION" \ ++ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='print -r --' ++ as_echo_n='print -rn --' ++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='printf %s\n' ++ as_echo_n='printf %s' +else -+ if test "$GCC" = yes; then -+ CFLAGS="-O2" -+ else -+ CFLAGS= -+ fi -+fi -+ if test "$ac_test_CFLAGS" = set; then -+ CFLAGS="$ac_save_CFLAGS" -+ elif test $ac_cv_prog_cc_g = yes; then -+ CFLAGS="-g -O2" ++ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then ++ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' ++ as_echo_n='/usr/ucb/echo -n' + else -+ CFLAGS="-O2" ++ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' ++ as_echo_n_body='eval ++ arg=$1; ++ case $arg in #( ++ *"$as_nl"*) ++ expr "X$arg" : "X\\(.*\\)$as_nl"; ++ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; ++ esac; ++ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ++ ' ++ export as_echo_n_body ++ as_echo_n='sh -c $as_echo_n_body as_echo' + fi -+else -+ GCC= -+ test "${CFLAGS+set}" = set || CFLAGS="-g" ++ export as_echo_body ++ as_echo='sh -c $as_echo_body as_echo' +fi + -+AS=${AS-as} ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ PATH_SEPARATOR=: ++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { ++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || ++ PATH_SEPARATOR=';' ++ } ++fi + -+AR=${AR-ar} + -+LD=${LD-ld} ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++IFS=" "" $as_nl" + -+if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -+set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_RANLIB+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$RANLIB"; then -+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++# Find who we are. Look in the path if we contain no directory separator. ++as_myself= ++case $0 in #(( ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 +fi ++if test ! -f "$as_myself"; then ++ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ exit 1 +fi -+RANLIB=$ac_cv_prog_RANLIB -+if test -n "$RANLIB"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -+$as_echo "$RANLIB" >&6; } ++ ++# Unset variables that we do not need and which cause bugs (e.g. in ++# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" ++# suppresses any "Segmentation fault" message there. '((' could ++# trigger a bug in pdksh 5.2.14. ++for as_var in BASH_ENV ENV MAIL MAILPATH ++do eval test x\${$as_var+set} = xset \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# CDPATH. ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH ++ ++# Use a proper internal environment variable to ensure we don't fall ++ # into an infinite loop, continuously re-executing ourselves. ++ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then ++ _as_can_reexec=no; export _as_can_reexec; ++ # We cannot yet assume a decent shell, so we have to provide a ++# neutralization value for shells without unset; and this also ++# works around shells that cannot unset nonexistent variables. ++# Preserve -v and -x to the replacement shell. ++BASH_ENV=/dev/null ++ENV=/dev/null ++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV ++case $- in # (((( ++ *v*x* | *x*v* ) as_opts=-vx ;; ++ *v* ) as_opts=-v ;; ++ *x* ) as_opts=-x ;; ++ * ) as_opts= ;; ++esac ++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} ++# Admittedly, this is quite paranoid, since all the known shells bail ++# out after a failed `exec'. ++$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 ++as_fn_exit 255 ++ fi ++ # We don't want this to propagate to other subprocesses. ++ { _as_can_reexec=; unset _as_can_reexec;} ++if test "x$CONFIG_SHELL" = x; then ++ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '\${1+\"\$@\"}'='\"\$@\"' ++ setopt NO_GLOB_SUBST +else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } ++ case \`(set -o) 2>/dev/null\` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++" ++ as_required="as_fn_return () { (exit \$1); } ++as_fn_success () { as_fn_return 0; } ++as_fn_failure () { as_fn_return 1; } ++as_fn_ret_success () { return 0; } ++as_fn_ret_failure () { return 1; } ++ ++exitcode=0 ++as_fn_success || { exitcode=1; echo as_fn_success failed.; } ++as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } ++as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } ++as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } ++if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : ++ ++else ++ exitcode=1; echo positional parameters were not saved. ++fi ++test x\$exitcode = x0 || exit 1 ++test -x / || exit 1" ++ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO ++ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO ++ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && ++ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" ++ if (eval "$as_required") 2>/dev/null; then : ++ as_have_required=yes ++else ++ as_have_required=no +fi ++ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + -+ -+fi -+if test -z "$ac_cv_prog_RANLIB"; then -+ ac_ct_RANLIB=$RANLIB -+ # Extract the first word of "ranlib", so it can be a program name with args. -+set dummy ranlib; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : -+ $as_echo_n "(cached) " >&6 +else -+ if test -n "$ac_ct_RANLIB"; then -+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_found=false ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_ac_ct_RANLIB="ranlib" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi ++ as_found=: ++ case $as_dir in #( ++ /*) ++ for as_base in sh bash ksh sh5; do ++ # Try only shells that exist, to save several forks. ++ as_shell=$as_dir/$as_base ++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && ++ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : ++ CONFIG_SHELL=$as_shell as_have_required=yes ++ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : ++ break 2 ++fi ++fi ++ done;; ++ esac ++ as_found=false +done -+ done ++$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && ++ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : ++ CONFIG_SHELL=$SHELL as_have_required=yes ++fi; } +IFS=$as_save_IFS + -+fi -+fi -+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -+if test -n "$ac_ct_RANLIB"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -+$as_echo "$ac_ct_RANLIB" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } ++ ++ if test "x$CONFIG_SHELL" != x; then : ++ export CONFIG_SHELL ++ # We cannot yet assume a decent shell, so we have to provide a ++# neutralization value for shells without unset; and this also ++# works around shells that cannot unset nonexistent variables. ++# Preserve -v and -x to the replacement shell. ++BASH_ENV=/dev/null ++ENV=/dev/null ++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV ++case $- in # (((( ++ *v*x* | *x*v* ) as_opts=-vx ;; ++ *v* ) as_opts=-v ;; ++ *x* ) as_opts=-x ;; ++ * ) as_opts= ;; ++esac ++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} ++# Admittedly, this is quite paranoid, since all the known shells bail ++# out after a failed `exec'. ++$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 ++exit 255 +fi + -+ if test "x$ac_ct_RANLIB" = x; then -+ RANLIB=":" ++ if test x$as_have_required = xno; then : ++ $as_echo "$0: This script requires a shell more modern than all" ++ $as_echo "$0: the shells that I found on your system." ++ if test x${ZSH_VERSION+set} = xset ; then ++ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" ++ $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else -+ case $cross_compiling:$ac_tool_warned in -+yes:) -+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -+ac_tool_warned=yes ;; -+esac -+ RANLIB=$ac_ct_RANLIB ++ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, ++$0: including any error possibly output before this ++$0: message. Then install a modern shell, or manually run ++$0: the script under such a shell if you do have one." + fi -+else -+ RANLIB="$ac_cv_prog_RANLIB" ++ exit 1 +fi ++fi ++fi ++SHELL=${CONFIG_SHELL-/bin/sh} ++export SHELL ++# Unset more variables known to interfere with behavior of common tools. ++CLICOLOR_FORCE= GREP_OPTIONS= ++unset CLICOLOR_FORCE GREP_OPTIONS + -+# By default we simply use the C compiler to build assembly code. -+ -+test "${CCAS+set}" = set || CCAS=$CC -+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS -+ -+ -+ -+ -+host_makefile_frag=${srcdir}/../config/default.mh -+ -+host_makefile_frag_path=$host_makefile_frag -+ -+ ++## --------------------- ## ++## M4sh Shell Functions. ## ++## --------------------- ## ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset + -+ac_config_files="$ac_config_files Makefile" ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status + -+cat >confcache <<\_ACEOF -+# This file is a shell script that caches the results of configure -+# tests run on this system so they can be shared between configure -+# scripts and configure runs, see configure's option --config-cache. -+# It is not useful on other systems. If it contains results you don't -+# want to keep, you may remove or edit it. -+# -+# config.status only pays attention to the cache file if you give it -+# the --recheck option to rerun configure. -+# -+# `ac_cv_env_foo' variables (set or unset) will be overridden when -+# loading this file, other *unset* `ac_cv_foo' will be assigned the -+# following values. ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit + -+_ACEOF ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ + -+# The following way of writing the cache mishandles newlines in values, -+# but we know of no workaround that is simple, portable, and efficient. -+# So, we kill variables containing newlines. -+# Ultrix sh set writes to stderr and can't be redirected directly, -+# and sets the high bit in the cache file unless we assign to the vars. -+( -+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do -+ eval ac_val=\$$ac_var -+ case $ac_val in #( -+ *${as_nl}*) -+ case $ac_var in #( -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; + esac -+ case $ac_var in #( -+ _ | IFS | as_nl) ;; #( -+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -+ *) { eval $ac_var=; unset $ac_var;} ;; -+ esac ;; -+ esac -+ done -+ -+ (set) 2>&1 | -+ case $as_nl`(ac_space=' '; set) 2>&1` in #( -+ *${as_nl}ac_space=\ *) -+ # `set' does not quote correctly, so add quotes: double-quote -+ # substitution turns \\\\ into \\, and sed turns \\ into \. -+ sed -n \ -+ "s/'/'\\\\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" -+ ;; #( -+ *) -+ # `set' quotes correctly as required by POSIX, so do not add quotes. -+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" -+ ;; -+ esac | -+ sort -+) | -+ sed ' -+ /^ac_cv_env_/b end -+ t clear -+ :clear -+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ -+ t end -+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ -+ :end' >>confcache -+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else -+ if test -w "$cache_file"; then -+ if test "x$cache_file" != "x/dev/null"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -+$as_echo "$as_me: updating cache $cache_file" >&6;} -+ if test ! -f "$cache_file" || test -h "$cache_file"; then -+ cat confcache >"$cache_file" -+ else -+ case $cache_file in #( -+ */* | ?:*) -+ mv -f confcache "$cache_file"$$ && -+ mv -f "$cache_file"$$ "$cache_file" ;; #( -+ *) -+ mv -f confcache "$cache_file" ;; -+ esac -+ fi -+ fi -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} -+ fi -+fi -+rm -f confcache ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + -+test "x$prefix" = xNONE && prefix=$ac_default_prefix -+# Let make expand exec_prefix. -+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + -+DEFS=-DHAVE_CONFIG_H ++} # as_fn_mkdir_p + -+ac_libobjs= -+ac_ltlibobjs= -+U= -+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue -+ # 1. Remove the extension, and $U if already installed. -+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' -+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"` -+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR -+ # will be set to the directory where LIBOBJS objects are built. -+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" -+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -+done -+LIBOBJS=$ac_libobjs ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : ++ eval 'as_fn_append () ++ { ++ eval $1+=\$2 ++ }' ++else ++ as_fn_append () ++ { ++ eval $1=\$$1\$2 ++ } ++fi # as_fn_append + -+LTLIBOBJS=$ac_ltlibobjs ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith + + -+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then -+ as_fn_error $? "conditional \"AMDEP\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ $as_echo "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error ++ ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false +fi -+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then -+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false +fi + -+: "${CONFIG_STATUS=./config.status}" -+ac_write_fail=0 -+ac_clean_files_save=$ac_clean_files -+ac_clean_files="$ac_clean_files $CONFIG_STATUS" -+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -+as_write_fail=0 -+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -+#! $SHELL -+# Generated by $as_me. -+# Run this file to recreate the current configuration. -+# Compiler output produced by configure, useful for debugging -+# configure, is in config.log if it exists. ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi + -+debug=false -+ac_cs_recheck=false -+ac_cs_silent=false ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` + -+SHELL=\${CONFIG_SHELL-$SHELL} -+export SHELL -+_ASEOF -+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits + -+# Be more Bourne compatible -+DUALCASE=1; export DUALCASE # for MKS sh -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '${1+"$@"}'='"$@"' -+ setopt NO_GLOB_SUBST -+else -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi + ++ as_lineno_1=$LINENO as_lineno_1a=$LINENO ++ as_lineno_2=$LINENO as_lineno_2a=$LINENO ++ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && ++ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { ++ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) ++ sed -n ' ++ p ++ /[$]LINENO/= ++ ' <$as_myself | ++ sed ' ++ s/[$]LINENO.*/&-/ ++ t lineno ++ b ++ :lineno ++ N ++ :loop ++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ ++ t loop ++ s/-\n.*// ++ ' >$as_me.lineno && ++ chmod +x "$as_me.lineno" || ++ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } ++ ++ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have ++ # already done that, so ensure we don't try to do so again and fall ++ # in an infinite loop. This has already happened in practice. ++ _as_can_reexec=no; export _as_can_reexec ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensitive to this). ++ . "./$as_me.lineno" ++ # Exit status is that of the last command. ++ exit ++} + -+as_nl=' -+' -+export as_nl -+# Printing a long string crashes Solaris 7 /usr/bin/printf. -+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='printf %s\n' -+ as_echo_n='printf %s' ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file +else -+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then -+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' -+ as_echo_n='/usr/ucb/echo -n' ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null ++fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln + else -+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' -+ as_echo_n_body='eval -+ arg=$1; -+ case $arg in #( -+ *"$as_nl"*) -+ expr "X$arg" : "X\\(.*\\)$as_nl"; -+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -+ esac; -+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" -+ ' -+ export as_echo_n_body -+ as_echo_n='sh -c $as_echo_n_body as_echo' ++ as_ln_s='cp -pR' + fi -+ export as_echo_body -+ as_echo='sh -c $as_echo_body as_echo' ++else ++ as_ln_s='cp -pR' +fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null + -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ PATH_SEPARATOR=: -+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { -+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || -+ PATH_SEPARATOR=';' -+ } ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false +fi + ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p + -+# IFS -+# We need space, tab and new line, in precisely that order. Quoting is -+# there to prevent editors from complaining about space-tab. -+# (If _AS_PATH_WALK were called with IFS unset, it would disable word -+# splitting by setting IFS to empty value.) -+IFS=" "" $as_nl" ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + -+# Find who we are. Look in the path if we contain no directory separator. -+as_myself= -+case $0 in #(( -+ *[\\/]* ) as_myself=$0 ;; -+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done -+IFS=$as_save_IFS ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + -+ ;; -+esac -+# We did not find ourselves, most probably we were run as `sh COMMAND' -+# in which case we are not to be found in the path. -+if test "x$as_myself" = x; then -+ as_myself=$0 -+fi -+if test ! -f "$as_myself"; then -+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -+ exit 1 -+fi + -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -+done -+PS1='$ ' -+PS2='> ' -+PS4='+ ' ++test -n "$DJDIR" || exec 7<&0 &1 ++ ++# Name of the host. ++# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, ++# so uname gets run too. ++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` ++ ++# ++# Initializations. ++# ++ac_default_prefix=/usr/local ++ac_clean_files= ++ac_config_libobj_dir=. ++LIBOBJS= ++cross_compiling=no ++subdirs= ++MFLAGS= ++MAKEFLAGS= ++ ++# Identity of this package. ++PACKAGE_NAME= ++PACKAGE_TARNAME= ++PACKAGE_VERSION= ++PACKAGE_STRING= ++PACKAGE_BUGREPORT= ++PACKAGE_URL= ++ ++ac_unique_file="abort.c" ++ac_subst_vars='LTLIBOBJS ++LIBOBJS ++host_makefile_frag_path ++CCASFLAGS ++CCAS ++RANLIB ++LD ++AR ++AS ++am__fastdepCC_FALSE ++am__fastdepCC_TRUE ++CCDEPMODE ++AMDEPBACKSLASH ++AMDEP_FALSE ++AMDEP_TRUE ++am__quote ++am__include ++DEPDIR ++am__leading_dot ++CC ++INSTALL_DATA ++INSTALL_SCRIPT ++INSTALL_PROGRAM ++target_os ++target_vendor ++target_cpu ++target ++host_os ++host_vendor ++host_cpu ++host ++build_os ++build_vendor ++build_cpu ++build ++target_alias ++host_alias ++build_alias ++LIBS ++ECHO_T ++ECHO_N ++ECHO_C ++DEFS ++mandir ++localedir ++libdir ++psdir ++pdfdir ++dvidir ++htmldir ++infodir ++docdir ++oldincludedir ++includedir ++localstatedir ++sharedstatedir ++sysconfdir ++datadir ++datarootdir ++libexecdir ++sbindir ++bindir ++program_transform_name ++prefix ++exec_prefix ++PACKAGE_URL ++PACKAGE_BUGREPORT ++PACKAGE_STRING ++PACKAGE_VERSION ++PACKAGE_TARNAME ++PACKAGE_NAME ++PATH_SEPARATOR ++SHELL' ++ac_subst_files='host_makefile_frag' ++ac_user_opts=' ++enable_option_checking ++enable_dependency_tracking ++' ++ ac_precious_vars='build_alias ++host_alias ++target_alias ++CCAS ++CCASFLAGS' ++ ++ ++# Initialize some variables set by options. ++ac_init_help= ++ac_init_version=false ++ac_unrecognized_opts= ++ac_unrecognized_sep= ++# The variables have the same names as the options, with ++# dashes changed to underlines. ++cache_file=/dev/null ++exec_prefix=NONE ++no_create= ++no_recursion= ++prefix=NONE ++program_prefix=NONE ++program_suffix=NONE ++program_transform_name=s,x,x, ++silent= ++site= ++srcdir= ++verbose= ++x_includes=NONE ++x_libraries=NONE ++ ++# Installation directory options. ++# These are left unexpanded so users can "make install exec_prefix=/foo" ++# and all the variables that are supposed to be based on exec_prefix ++# by default will actually change. ++# Use braces instead of parens because sh, perl, etc. also accept them. ++# (The list follows the same order as the GNU Coding Standards.) ++bindir='${exec_prefix}/bin' ++sbindir='${exec_prefix}/sbin' ++libexecdir='${exec_prefix}/libexec' ++datarootdir='${prefix}/share' ++datadir='${datarootdir}' ++sysconfdir='${prefix}/etc' ++sharedstatedir='${prefix}/com' ++localstatedir='${prefix}/var' ++includedir='${prefix}/include' ++oldincludedir='/usr/include' ++docdir='${datarootdir}/doc/${PACKAGE}' ++infodir='${datarootdir}/info' ++htmldir='${docdir}' ++dvidir='${docdir}' ++pdfdir='${docdir}' ++psdir='${docdir}' ++libdir='${exec_prefix}/lib' ++localedir='${datarootdir}/locale' ++mandir='${datarootdir}/man' ++ ++ac_prev= ++ac_dashdash= ++for ac_option ++do ++ # If the previous option needs an argument, assign it. ++ if test -n "$ac_prev"; then ++ eval $ac_prev=\$ac_option ++ ac_prev= ++ continue ++ fi ++ ++ case $ac_option in ++ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; ++ *=) ac_optarg= ;; ++ *) ac_optarg=yes ;; ++ esac + -+# NLS nuisances. -+LC_ALL=C -+export LC_ALL -+LANGUAGE=C -+export LANGUAGE ++ # Accept the important Cygnus configure options, so we can diagnose typos. + -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH ++ case $ac_dashdash$ac_option in ++ --) ++ ac_dashdash=yes ;; + ++ -bindir | --bindir | --bindi | --bind | --bin | --bi) ++ ac_prev=bindir ;; ++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) ++ bindir=$ac_optarg ;; + -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error ++ -build | --build | --buil | --bui | --bu) ++ ac_prev=build_alias ;; ++ -build=* | --build=* | --buil=* | --bui=* | --bu=*) ++ build_alias=$ac_optarg ;; + ++ -cache-file | --cache-file | --cache-fil | --cache-fi \ ++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ++ ac_prev=cache_file ;; ++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ ++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) ++ cache_file=$ac_optarg ;; + -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status ++ --config-cache | -C) ++ cache_file=config.cache ;; + -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit ++ -datadir | --datadir | --datadi | --datad) ++ ac_prev=datadir ;; ++ -datadir=* | --datadir=* | --datadi=* | --datad=*) ++ datadir=$ac_optarg ;; + -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append ++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ ++ | --dataroo | --dataro | --datar) ++ ac_prev=datarootdir ;; ++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ ++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) ++ datarootdir=$ac_optarg ;; + -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith ++ -disable-* | --disable-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid feature name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"enable_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval enable_$ac_useropt=no ;; ++ ++ -docdir | --docdir | --docdi | --doc | --do) ++ ac_prev=docdir ;; ++ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) ++ docdir=$ac_optarg ;; + ++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ++ ac_prev=dvidir ;; ++ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) ++ dvidir=$ac_optarg ;; + -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr -+else -+ as_expr=false -+fi ++ -enable-* | --enable-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid feature name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"enable_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval enable_$ac_useropt=\$ac_optarg ;; + -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename -+else -+ as_basename=false -+fi ++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ ++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ ++ | --exec | --exe | --ex) ++ ac_prev=exec_prefix ;; ++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ ++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ ++ | --exec=* | --exe=* | --ex=*) ++ exec_prefix=$ac_optarg ;; + -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi ++ -gas | --gas | --ga | --g) ++ # Obsolete; use --with-gas. ++ with_gas=yes ;; + -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` ++ -help | --help | --hel | --he | -h) ++ ac_init_help=long ;; ++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ++ ac_init_help=recursive ;; ++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ++ ac_init_help=short ;; + -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits ++ -host | --host | --hos | --ho) ++ ac_prev=host_alias ;; ++ -host=* | --host=* | --hos=* | --ho=*) ++ host_alias=$ac_optarg ;; + -+ECHO_C= ECHO_N= ECHO_T= -+case `echo -n x` in #((((( -+-n*) -+ case `echo 'xy\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; -+ esac;; -+*) -+ ECHO_N='-n';; -+esac ++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ++ ac_prev=htmldir ;; ++ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ ++ | --ht=*) ++ htmldir=$ac_optarg ;; + -+rm -f conf$$ conf$$.exe conf$$.file -+if test -d conf$$.dir; then -+ rm -f conf$$.dir/conf$$.file -+else -+ rm -f conf$$.dir -+ mkdir conf$$.dir 2>/dev/null -+fi -+if (echo >conf$$.file) 2>/dev/null; then -+ if ln -s conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s='ln -s' -+ # ... but there are two gotchas: -+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. -+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -+ # In both cases, we have to default to `cp -pR'. -+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -+ as_ln_s='cp -pR' -+ elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+ else -+ as_ln_s='cp -pR' -+ fi -+else -+ as_ln_s='cp -pR' -+fi -+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -+rmdir conf$$.dir 2>/dev/null ++ -includedir | --includedir | --includedi | --included | --include \ ++ | --includ | --inclu | --incl | --inc) ++ ac_prev=includedir ;; ++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ ++ | --includ=* | --inclu=* | --incl=* | --inc=*) ++ includedir=$ac_optarg ;; + ++ -infodir | --infodir | --infodi | --infod | --info | --inf) ++ ac_prev=infodir ;; ++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) ++ infodir=$ac_optarg ;; + -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ ++ -libdir | --libdir | --libdi | --libd) ++ ac_prev=libdir ;; ++ -libdir=* | --libdir=* | --libdi=* | --libd=*) ++ libdir=$ac_optarg ;; + -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" ++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ ++ | --libexe | --libex | --libe) ++ ac_prev=libexecdir ;; ++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ ++ | --libexe=* | --libex=* | --libe=*) ++ libexecdir=$ac_optarg ;; + ++ -localedir | --localedir | --localedi | --localed | --locale) ++ ac_prev=localedir ;; ++ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) ++ localedir=$ac_optarg ;; + -+} # as_fn_mkdir_p -+if mkdir -p . 2>/dev/null; then -+ as_mkdir_p='mkdir -p "$as_dir"' -+else -+ test -d ./-p && rmdir ./-p -+ as_mkdir_p=false -+fi ++ -localstatedir | --localstatedir | --localstatedi | --localstated \ ++ | --localstate | --localstat | --localsta | --localst | --locals) ++ ac_prev=localstatedir ;; ++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ ++ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) ++ localstatedir=$ac_optarg ;; + ++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ++ ac_prev=mandir ;; ++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) ++ mandir=$ac_optarg ;; + -+# as_fn_executable_p FILE -+# ----------------------- -+# Test if FILE is an executable regular file. -+as_fn_executable_p () -+{ -+ test -f "$1" && test -x "$1" -+} # as_fn_executable_p -+as_test_x='test -x' -+as_executable_p=as_fn_executable_p ++ -nfp | --nfp | --nf) ++ # Obsolete; use --without-fp. ++ with_fp=no ;; + -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ++ | --no-cr | --no-c | -n) ++ no_create=yes ;; + -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ ++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ++ no_recursion=yes ;; + ++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ ++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ ++ | --oldin | --oldi | --old | --ol | --o) ++ ac_prev=oldincludedir ;; ++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ ++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ ++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) ++ oldincludedir=$ac_optarg ;; + -+exec 6>&1 -+## ----------------------------------- ## -+## Main body of $CONFIG_STATUS script. ## -+## ----------------------------------- ## -+_ASEOF -+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 ++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ++ ac_prev=prefix ;; ++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ++ prefix=$ac_optarg ;; + -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# Save the log message, to keep $0 and so on meaningful, and to -+# report actual input values of CONFIG_FILES etc. instead of their -+# values after options handling. -+ac_log=" -+This file was extended by $as_me, which was -+generated by GNU Autoconf 2.69. Invocation command line was ++ -program-prefix | --program-prefix | --program-prefi | --program-pref \ ++ | --program-pre | --program-pr | --program-p) ++ ac_prev=program_prefix ;; ++ -program-prefix=* | --program-prefix=* | --program-prefi=* \ ++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) ++ program_prefix=$ac_optarg ;; + -+ CONFIG_FILES = $CONFIG_FILES -+ CONFIG_HEADERS = $CONFIG_HEADERS -+ CONFIG_LINKS = $CONFIG_LINKS -+ CONFIG_COMMANDS = $CONFIG_COMMANDS -+ $ $0 $@ ++ -program-suffix | --program-suffix | --program-suffi | --program-suff \ ++ | --program-suf | --program-su | --program-s) ++ ac_prev=program_suffix ;; ++ -program-suffix=* | --program-suffix=* | --program-suffi=* \ ++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) ++ program_suffix=$ac_optarg ;; + -+on `(hostname || uname -n) 2>/dev/null | sed 1q` -+" ++ -program-transform-name | --program-transform-name \ ++ | --program-transform-nam | --program-transform-na \ ++ | --program-transform-n | --program-transform- \ ++ | --program-transform | --program-transfor \ ++ | --program-transfo | --program-transf \ ++ | --program-trans | --program-tran \ ++ | --progr-tra | --program-tr | --program-t) ++ ac_prev=program_transform_name ;; ++ -program-transform-name=* | --program-transform-name=* \ ++ | --program-transform-nam=* | --program-transform-na=* \ ++ | --program-transform-n=* | --program-transform-=* \ ++ | --program-transform=* | --program-transfor=* \ ++ | --program-transfo=* | --program-transf=* \ ++ | --program-trans=* | --program-tran=* \ ++ | --progr-tra=* | --program-tr=* | --program-t=*) ++ program_transform_name=$ac_optarg ;; + -+_ACEOF ++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ++ ac_prev=pdfdir ;; ++ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) ++ pdfdir=$ac_optarg ;; + -+case $ac_config_files in *" -+"*) set x $ac_config_files; shift; ac_config_files=$*;; -+esac ++ -psdir | --psdir | --psdi | --psd | --ps) ++ ac_prev=psdir ;; ++ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) ++ psdir=$ac_optarg ;; + -+case $ac_config_headers in *" -+"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -+esac ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ silent=yes ;; + ++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ++ ac_prev=sbindir ;; ++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ ++ | --sbi=* | --sb=*) ++ sbindir=$ac_optarg ;; + -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+# Files that config.status was made for. -+config_files="$ac_config_files" -+config_headers="$ac_config_headers" -+config_commands="$ac_config_commands" ++ -sharedstatedir | --sharedstatedir | --sharedstatedi \ ++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ ++ | --sharedst | --shareds | --shared | --share | --shar \ ++ | --sha | --sh) ++ ac_prev=sharedstatedir ;; ++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ ++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ ++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ ++ | --sha=* | --sh=*) ++ sharedstatedir=$ac_optarg ;; + -+_ACEOF ++ -site | --site | --sit) ++ ac_prev=site ;; ++ -site=* | --site=* | --sit=*) ++ site=$ac_optarg ;; + -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ac_cs_usage="\ -+\`$as_me' instantiates files and other configuration actions -+from templates according to the current configuration. Unless the files -+and actions are specified as TAGs, all are instantiated by default. ++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ++ ac_prev=srcdir ;; ++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ++ srcdir=$ac_optarg ;; + -+Usage: $0 [OPTION]... [TAG]... ++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ ++ | --syscon | --sysco | --sysc | --sys | --sy) ++ ac_prev=sysconfdir ;; ++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ ++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) ++ sysconfdir=$ac_optarg ;; + -+ -h, --help print this help, then exit -+ -V, --version print version number and configuration settings, then exit -+ --config print configuration, then exit -+ -q, --quiet, --silent -+ do not print progress messages -+ -d, --debug don't remove temporary files -+ --recheck update $as_me by reconfiguring in the same conditions -+ --file=FILE[:TEMPLATE] -+ instantiate the configuration file FILE -+ --header=FILE[:TEMPLATE] -+ instantiate the configuration header FILE ++ -target | --target | --targe | --targ | --tar | --ta | --t) ++ ac_prev=target_alias ;; ++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) ++ target_alias=$ac_optarg ;; + -+Configuration files: -+$config_files ++ -v | -verbose | --verbose | --verbos | --verbo | --verb) ++ verbose=yes ;; + -+Configuration headers: -+$config_headers ++ -version | --version | --versio | --versi | --vers | -V) ++ ac_init_version=: ;; + -+Configuration commands: -+$config_commands ++ -with-* | --with-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid package name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"with_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval with_$ac_useropt=\$ac_optarg ;; + -+Report bugs to the package provider." ++ -without-* | --without-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid package name: $ac_useropt" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"with_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval with_$ac_useropt=no ;; + -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -+ac_cs_version="\\ -+config.status -+configured by $0, generated by GNU Autoconf 2.69, -+ with options \\"\$ac_cs_config\\" ++ --x) ++ # Obsolete; use --with-x. ++ with_x=yes ;; + -+Copyright (C) 2012 Free Software Foundation, Inc. -+This config.status script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it." ++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ ++ | --x-incl | --x-inc | --x-in | --x-i) ++ ac_prev=x_includes ;; ++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ ++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) ++ x_includes=$ac_optarg ;; + -+ac_pwd='$ac_pwd' -+srcdir='$srcdir' -+INSTALL='$INSTALL' -+test -n "\$AWK" || AWK=awk -+_ACEOF ++ -x-libraries | --x-libraries | --x-librarie | --x-librari \ ++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ++ ac_prev=x_libraries ;; ++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ ++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) ++ x_libraries=$ac_optarg ;; + -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# The default lists apply if the user does not specify any file. -+ac_need_defaults=: -+while test $# != 0 -+do -+ case $1 in -+ --*=?*) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` -+ ac_shift=: -+ ;; -+ --*=) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg= -+ ac_shift=: -+ ;; -+ *) -+ ac_option=$1 -+ ac_optarg=$2 -+ ac_shift=shift ++ -*) as_fn_error $? "unrecognized option: \`$ac_option' ++Try \`$0 --help' for more information" + ;; -+ esac + -+ case $ac_option in -+ # Handling of the options. -+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) -+ ac_cs_recheck=: ;; -+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) -+ $as_echo "$ac_cs_version"; exit ;; -+ --config | --confi | --conf | --con | --co | --c ) -+ $as_echo "$ac_cs_config"; exit ;; -+ --debug | --debu | --deb | --de | --d | -d ) -+ debug=: ;; -+ --file | --fil | --fi | --f ) -+ $ac_shift -+ case $ac_optarg in -+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ '') as_fn_error $? "missing file argument" ;; -+ esac -+ as_fn_append CONFIG_FILES " '$ac_optarg'" -+ ac_need_defaults=false;; -+ --header | --heade | --head | --hea ) -+ $ac_shift -+ case $ac_optarg in -+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *=*) ++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` ++ # Reject names that are not valid shell variable names. ++ case $ac_envvar in #( ++ '' | [0-9]* | *[!_$as_cr_alnum]* ) ++ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac -+ as_fn_append CONFIG_HEADERS " '$ac_optarg'" -+ ac_need_defaults=false;; -+ --he | --h) -+ # Conflict between --help and --header -+ as_fn_error $? "ambiguous option: \`$1' -+Try \`$0 --help' for more information.";; -+ --help | --hel | -h ) -+ $as_echo "$ac_cs_usage"; exit ;; -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil | --si | --s) -+ ac_cs_silent=: ;; -+ -+ # This is an error. -+ -*) as_fn_error $? "unrecognized option: \`$1' -+Try \`$0 --help' for more information." ;; ++ eval $ac_envvar=\$ac_optarg ++ export $ac_envvar ;; + -+ *) as_fn_append ac_config_targets " $1" -+ ac_need_defaults=false ;; ++ *) ++ # FIXME: should be removed in autoconf 3.0. ++ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 ++ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ++ ;; + + esac -+ shift +done + -+ac_configure_extra_args= -+ -+if $ac_cs_silent; then -+ exec 6>/dev/null -+ ac_configure_extra_args="$ac_configure_extra_args --silent" ++if test -n "$ac_prev"; then ++ ac_option=--`echo $ac_prev | sed 's/_/-/g'` ++ as_fn_error $? "missing argument to $ac_option" +fi + -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+if \$ac_cs_recheck; then -+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -+ shift -+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 -+ CONFIG_SHELL='$SHELL' -+ export CONFIG_SHELL -+ exec "\$@" ++if test -n "$ac_unrecognized_opts"; then ++ case $enable_option_checking in ++ no) ;; ++ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; ++ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; ++ esac +fi + -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+exec 5>>config.log -+{ -+ echo -+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -+## Running $as_me. ## -+_ASBOX -+ $as_echo "$ac_log" -+} >&5 -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+# -+# INIT-COMMANDS -+# -+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" -+srcdir=${srcdir} -+target=${target} -+with_multisubdir=${with_multisubdir} -+ac_configure_args="${ac_configure_args} --enable-multilib" -+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+libgloss_topdir=${libgloss_topdir} -+ -+ -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ -+# Handling of arguments. -+for ac_config_target in $ac_config_targets ++# Check all directory arguments for consistency. ++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ ++ datadir sysconfdir sharedstatedir localstatedir includedir \ ++ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ ++ libdir localedir mandir +do -+ case $ac_config_target in -+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; -+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; -+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; -+ -+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; ++ eval ac_val=\$$ac_var ++ # Remove trailing slashes. ++ case $ac_val in ++ */ ) ++ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` ++ eval $ac_var=\$ac_val;; ++ esac ++ # Be sure to have absolute directory names. ++ case $ac_val in ++ [\\/$]* | ?:[\\/]* ) continue;; ++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac ++ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + ++# There might be people who depend on the old broken behavior: `$host' ++# used to hold the argument of --host etc. ++# FIXME: To remove some day. ++build=$build_alias ++host=$host_alias ++target=$target_alias + -+# If the user did not use the arguments to specify the items to instantiate, -+# then the envvar interface is used. Set only those that are not. -+# We use the long form for the default assignment because of an extremely -+# bizarre bug on SunOS 4.1.3. -+if $ac_need_defaults; then -+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers -+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands ++# FIXME: To remove some day. ++if test "x$host_alias" != x; then ++ if test "x$build_alias" = x; then ++ cross_compiling=maybe ++ elif test "x$build_alias" != "x$host_alias"; then ++ cross_compiling=yes ++ fi +fi + -+# Have a temporary directory for convenience. Make it in the build tree -+# simply because there is no reason against having it here, and in addition, -+# creating and moving files from /tmp can sometimes cause problems. -+# Hook for its removal unless debugging. -+# Note that there is a small window in which the directory will not be cleaned: -+# after its creation but before its name has been assigned to `$tmp'. -+$debug || -+{ -+ tmp= ac_tmp= -+ trap 'exit_status=$? -+ : "${ac_tmp:=$tmp}" -+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -+' 0 -+ trap 'as_fn_exit 1' 1 2 13 15 -+} -+# Create a (secure) tmp directory for tmp files. -+ -+{ -+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && -+ test -d "$tmp" -+} || -+{ -+ tmp=./conf$$-$RANDOM -+ (umask 077 && mkdir "$tmp") -+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -+ac_tmp=$tmp ++ac_tool_prefix= ++test -n "$host_alias" && ac_tool_prefix=$host_alias- + -+# Set up the scripts for CONFIG_FILES section. -+# No need to generate them if there are no CONFIG_FILES. -+# This happens for instance with `./config.status config.h'. -+if test -n "$CONFIG_FILES"; then ++test "$silent" = yes && exec 6>/dev/null + -+if $AWK 'BEGIN { getline <"/dev/null" }' /dev/null; then -+ ac_cs_awk_getline=: -+ ac_cs_awk_pipe_init= -+ ac_cs_awk_read_file=' -+ while ((getline aline < (F[key])) > 0) -+ print(aline) -+ close(F[key])' -+ ac_cs_awk_pipe_fini= ++ ++ac_pwd=`pwd` && test -n "$ac_pwd" && ++ac_ls_di=`ls -di .` && ++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || ++ as_fn_error $? "working directory cannot be determined" ++test "X$ac_ls_di" = "X$ac_pwd_ls_di" || ++ as_fn_error $? "pwd does not report name of working directory" ++ ++ ++# Find the source files, if location was not specified. ++if test -z "$srcdir"; then ++ ac_srcdir_defaulted=yes ++ # Try the directory containing this script, then the parent directory. ++ ac_confdir=`$as_dirname -- "$as_myself" || ++$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_myself" : 'X\(//\)[^/]' \| \ ++ X"$as_myself" : 'X\(//\)$' \| \ ++ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_myself" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ srcdir=$ac_confdir ++ if test ! -r "$srcdir/$ac_unique_file"; then ++ srcdir=.. ++ fi +else -+ ac_cs_awk_getline=false -+ ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\"" -+ ac_cs_awk_read_file=' -+ print "|#_!!_#|" -+ print "cat " F[key] " &&" -+ '$ac_cs_awk_pipe_init -+ # The final `:' finishes the AND list. -+ ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }' ++ ac_srcdir_defaulted=no +fi -+ac_cr=`echo X | tr X '\015'` -+# On cygwin, bash can eat \r inside `` if the user requested igncr. -+# But we know of no other shell where ac_cr would be empty at this -+# point, so we can use a bashism as a fallback. -+if test "x$ac_cr" = x; then -+ eval ac_cr=\$\'\\r\' ++if test ! -r "$srcdir/$ac_unique_file"; then ++ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." ++ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi -+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then -+ ac_cs_awk_cr='\\r' -+else -+ ac_cs_awk_cr=$ac_cr ++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ++ac_abs_confdir=`( ++ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" ++ pwd)` ++# When building in place, set srcdir=. ++if test "$ac_abs_confdir" = "$ac_pwd"; then ++ srcdir=. +fi ++# Remove unnecessary trailing slashes from srcdir. ++# Double slashes in file names in object file debugging info ++# mess up M-x gdb in Emacs. ++case $srcdir in ++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; ++esac ++for ac_var in $ac_precious_vars; do ++ eval ac_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_env_${ac_var}_value=\$${ac_var} ++ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_cv_env_${ac_var}_value=\$${ac_var} ++done + -+echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -+_ACEOF ++# ++# Report the --help message. ++# ++if test "$ac_init_help" = "long"; then ++ # Omit some internal or obsolete options to make the list less imposing. ++ # This message is too long to be a string in the A/UX 3.1 sh. ++ cat <<_ACEOF ++\`configure' configures this package to adapt to many kinds of systems. + -+# Create commands to substitute file output variables. -+{ -+ echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && -+ echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && -+ echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && -+ echo "_ACAWK" && -+ echo "_ACEOF" -+} >conf$$files.sh && -+. ./conf$$files.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+rm -f conf$$files.sh ++Usage: $0 [OPTION]... [VAR=VALUE]... + -+{ -+ echo "cat >conf$$subs.awk <<_ACEOF" && -+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && -+ echo "_ACEOF" -+} >conf$$subs.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -+ac_delim='%!_!# ' -+for ac_last_try in false false false false false :; do -+ . ./conf$$subs.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++To assign environment variables (e.g., CC, CFLAGS...), specify them as ++VAR=VALUE. See below for descriptions of some of the useful variables. + -+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` -+ if test $ac_delim_n = $ac_delim_num; then -+ break -+ elif $ac_last_try; then -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ else -+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " -+ fi -+done -+rm -f conf$$subs.sh ++Defaults for the options are specified in brackets. + -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -+_ACEOF -+sed -n ' -+h -+s/^/S["/; s/!.*/"]=/ -+p -+g -+s/^[^!]*!// -+:repl -+t repl -+s/'"$ac_delim"'$// -+t delim -+:nl -+h -+s/\(.\{148\}\)..*/\1/ -+t more1 -+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -+p -+n -+b repl -+:more1 -+s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -+p -+g -+s/.\{148\}// -+t nl -+:delim -+h -+s/\(.\{148\}\)..*/\1/ -+t more2 -+s/["\\]/\\&/g; s/^/"/; s/$/"/ -+p -+b -+:more2 -+s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -+p -+g -+s/.\{148\}// -+t delim -+' >$CONFIG_STATUS || ac_write_fail=1 -+rm -f conf$$subs.awk -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+_ACAWK -+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && -+ for (key in S) S_is_set[key] = 1 -+ FS = "" -+ \$ac_cs_awk_pipe_init -+} -+{ -+ line = $ 0 -+ nfields = split(line, field, "@") -+ substed = 0 -+ len = length(field[1]) -+ for (i = 2; i < nfields; i++) { -+ key = field[i] -+ keylen = length(key) -+ if (S_is_set[key]) { -+ value = S[key] -+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) -+ len += length(value) + length(field[++i]) -+ substed = 1 -+ } else -+ len += 1 + keylen -+ } -+ if (nfields == 3 && !substed) { -+ key = field[2] -+ if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) { -+ \$ac_cs_awk_read_file -+ next -+ } -+ } -+ print line -+} -+\$ac_cs_awk_pipe_fini -+_ACAWK ++Configuration: ++ -h, --help display this help and exit ++ --help=short display options specific to this package ++ --help=recursive display the short help of all the included packages ++ -V, --version display version information and exit ++ -q, --quiet, --silent do not print \`checking ...' messages ++ --cache-file=FILE cache test results in FILE [disabled] ++ -C, --config-cache alias for \`--cache-file=config.cache' ++ -n, --no-create do not create output files ++ --srcdir=DIR find the sources in DIR [configure dir or \`..'] ++ ++Installation directories: ++ --prefix=PREFIX install architecture-independent files in PREFIX ++ [$ac_default_prefix] ++ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX ++ [PREFIX] ++ ++By default, \`make install' will install all the files in ++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify ++an installation prefix other than \`$ac_default_prefix' using \`--prefix', ++for instance \`--prefix=\$HOME'. ++ ++For better control, use the options below. ++ ++Fine tuning of the installation directories: ++ --bindir=DIR user executables [EPREFIX/bin] ++ --sbindir=DIR system admin executables [EPREFIX/sbin] ++ --libexecdir=DIR program executables [EPREFIX/libexec] ++ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] ++ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] ++ --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --libdir=DIR object code libraries [EPREFIX/lib] ++ --includedir=DIR C header files [PREFIX/include] ++ --oldincludedir=DIR C header files for non-gcc [/usr/include] ++ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] ++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] ++ --infodir=DIR info documentation [DATAROOTDIR/info] ++ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] ++ --mandir=DIR man documentation [DATAROOTDIR/man] ++ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] ++ --htmldir=DIR html documentation [DOCDIR] ++ --dvidir=DIR dvi documentation [DOCDIR] ++ --pdfdir=DIR pdf documentation [DOCDIR] ++ --psdir=DIR ps documentation [DOCDIR] +_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then -+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -+else -+ cat -+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ -+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 ++ ++ cat <<\_ACEOF ++ ++Program names: ++ --program-prefix=PREFIX prepend PREFIX to installed program names ++ --program-suffix=SUFFIX append SUFFIX to installed program names ++ --program-transform-name=PROGRAM run sed PROGRAM on installed program names ++ ++System types: ++ --build=BUILD configure for building on BUILD [guessed] ++ --host=HOST cross-compile to build programs to run on HOST [BUILD] ++ --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF ++fi + -+# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -+# trailing colons and then remove the whole line if VPATH becomes empty -+# (actually we leave an empty line to preserve line numbers). -+if test "x$srcdir" = x.; then -+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -+h -+s/// -+s/^/:/ -+s/[ ]*$/:/ -+s/:\$(srcdir):/:/g -+s/:\${srcdir}:/:/g -+s/:@srcdir@:/:/g -+s/^:*// -+s/:*$// -+x -+s/\(=[ ]*\).*/\1/ -+G -+s/\n// -+s/^[^=]*=[ ]*$// -+}' ++if test -n "$ac_init_help"; then ++ ++ cat <<\_ACEOF ++ ++Optional Features: ++ --disable-option-checking ignore unrecognized --enable/--with options ++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) ++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] ++ --disable-dependency-tracking speeds up one-time build ++ --enable-dependency-tracking do not reject slow dependency extractors ++ ++Some influential environment variables: ++ CCAS assembler compiler command (defaults to CC) ++ CCASFLAGS assembler compiler flags (defaults to CFLAGS) ++ ++Use these variables to override the choices made by `configure' or to help ++it to find libraries and programs with nonstandard names/locations. ++ ++Report bugs to the package provider. ++_ACEOF ++ac_status=$? +fi + -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+fi # test -n "$CONFIG_FILES" ++if test "$ac_init_help" = "recursive"; then ++ # If there are subdirs, report their specific --help. ++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue ++ test -d "$ac_dir" || ++ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || ++ continue ++ ac_builddir=. + -+# Set up the scripts for CONFIG_HEADERS section. -+# No need to generate them if there are no CONFIG_HEADERS. -+# This happens for instance with `./config.status Makefile'. -+if test -n "$CONFIG_HEADERS"; then -+cat >"$ac_tmp/defines.awk" <<\_ACAWK || -+BEGIN { ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix ++ ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ cd "$ac_dir" || { ac_status=$?; continue; } ++ # Check for guested configure. ++ if test -f "$ac_srcdir/configure.gnu"; then ++ echo && ++ $SHELL "$ac_srcdir/configure.gnu" --help=recursive ++ elif test -f "$ac_srcdir/configure"; then ++ echo && ++ $SHELL "$ac_srcdir/configure" --help=recursive ++ else ++ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ fi || ac_status=$? ++ cd "$ac_pwd" || { ac_status=$?; break; } ++ done ++fi ++ ++test -n "$ac_init_help" && exit $ac_status ++if $ac_init_version; then ++ cat <<\_ACEOF ++configure ++generated by GNU Autoconf 2.69 ++ ++Copyright (C) 2012 Free Software Foundation, Inc. ++This configure script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it. +_ACEOF ++ exit ++fi + -+# Transform confdefs.h into an awk script `defines.awk', embedded as -+# here-document in config.status, that substitutes the proper values into -+# config.h.in to produce config.h. ++## ------------------------ ## ++## Autoconf initialization. ## ++## ------------------------ ## + -+# Create a delimiter string that does not exist in confdefs.h, to ease -+# handling of long lines. -+ac_delim='%!_!# ' -+for ac_last_try in false false :; do -+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h` -+ if test -z "$ac_tt"; then -+ break -+ elif $ac_last_try; then -+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 -+ else -+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++# ac_fn_c_try_compile LINENO ++# -------------------------- ++# Try to compile conftest.$ac_ext, and return whether this succeeded. ++ac_fn_c_try_compile () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ rm -f conftest.$ac_objext ++ if { { ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" ++$as_echo "$ac_try_echo"; } >&5 ++ (eval "$ac_compile") 2>conftest.err ++ ac_status=$? ++ if test -s conftest.err; then ++ grep -v '^ *+' conftest.err >conftest.er1 ++ cat conftest.er1 >&5 ++ mv -f conftest.er1 conftest.err + fi -+done ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then : ++ ac_retval=0 ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + -+# For the awk script, D is an array of macro values keyed by name, -+# likewise P contains macro parameters if any. Preserve backslash -+# newline sequences. ++ ac_retval=1 ++fi ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ as_fn_set_status $ac_retval + -+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -+sed -n ' -+s/.\{148\}/&'"$ac_delim"'/g -+t rset -+:rset -+s/^[ ]*#[ ]*define[ ][ ]*/ / -+t def -+d -+:def -+s/\\$// -+t bsnl -+s/["\\]/\\&/g -+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -+D["\1"]=" \3"/p -+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -+d -+:bsnl -+s/["\\]/\\&/g -+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -+D["\1"]=" \3\\\\\\n"\\/p -+t cont -+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -+t cont -+d -+:cont -+n -+s/.\{148\}/&'"$ac_delim"'/g -+t clear -+:clear -+s/\\$// -+t bsnlc -+s/["\\]/\\&/g; s/^/"/; s/$/"/p -+d -+:bsnlc -+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -+b cont -+' >$CONFIG_STATUS || ac_write_fail=1 ++} # ac_fn_c_try_compile ++cat >config.log <<_ACEOF ++This file contains any messages produced by compilers while ++running configure, to aid debugging if configure makes a mistake. ++ ++It was created by $as_me, which was ++generated by GNU Autoconf 2.69. Invocation command line was ++ ++ $ $0 $@ ++ ++_ACEOF ++exec 5>>config.log ++{ ++cat <<_ASUNAME ++## --------- ## ++## Platform. ## ++## --------- ## ++ ++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` ++uname -m = `(uname -m) 2>/dev/null || echo unknown` ++uname -r = `(uname -r) 2>/dev/null || echo unknown` ++uname -s = `(uname -s) 2>/dev/null || echo unknown` ++uname -v = `(uname -v) 2>/dev/null || echo unknown` ++ ++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` ++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` ++ ++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` ++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` ++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` ++/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` ++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` ++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` ++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` ++ ++_ASUNAME ++ ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ $as_echo "PATH: $as_dir" ++ done ++IFS=$as_save_IFS ++ ++} >&5 ++ ++cat >&5 <<_ACEOF ++ ++ ++## ----------- ## ++## Core tests. ## ++## ----------- ## + -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ for (key in D) D_is_set[key] = 1 -+ FS = "" -+} -+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { -+ line = \$ 0 -+ split(line, arg, " ") -+ if (arg[1] == "#") { -+ defundef = arg[2] -+ mac1 = arg[3] -+ } else { -+ defundef = substr(arg[1], 2) -+ mac1 = arg[2] -+ } -+ split(mac1, mac2, "(") #) -+ macro = mac2[1] -+ prefix = substr(line, 1, index(line, defundef) - 1) -+ if (D_is_set[macro]) { -+ # Preserve the white space surrounding the "#". -+ print prefix "define", macro P[macro] D[macro] -+ next -+ } else { -+ # Replace #undef with comments. This is necessary, for example, -+ # in the case of _POSIX_SOURCE, which is predefined and required -+ # on some systems where configure will not decide to define it. -+ if (defundef == "undef") { -+ print "/*", prefix defundef, macro, "*/" -+ next -+ } -+ } -+} -+{ print } -+_ACAWK +_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -+fi # test -n "$CONFIG_HEADERS" + + -+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -+shift -+for ac_tag ++# Keep a trace of the command line. ++# Strip out --no-create and --no-recursion so they do not pile up. ++# Strip out --silent because we don't want to record it for future runs. ++# Also quote any args containing shell meta-characters. ++# Make two passes to allow for proper duplicate-argument suppression. ++ac_configure_args= ++ac_configure_args0= ++ac_configure_args1= ++ac_must_keep_next=false ++for ac_pass in 1 2 +do -+ case $ac_tag in -+ :[FHLC]) ac_mode=$ac_tag; continue;; -+ esac -+ case $ac_mode$ac_tag in -+ :[FHL]*:*);; -+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; -+ :[FH]-) ac_tag=-:-;; -+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; -+ esac -+ ac_save_IFS=$IFS -+ IFS=: -+ set x $ac_tag -+ IFS=$ac_save_IFS -+ shift -+ ac_file=$1 -+ shift ++ for ac_arg ++ do ++ case $ac_arg in ++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ continue ;; ++ *\'*) ++ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ case $ac_pass in ++ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; ++ 2) ++ as_fn_append ac_configure_args1 " '$ac_arg'" ++ if test $ac_must_keep_next = true; then ++ ac_must_keep_next=false # Got value, back to normal. ++ else ++ case $ac_arg in ++ *=* | --config-cache | -C | -disable-* | --disable-* \ ++ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ ++ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ ++ | -with-* | --with-* | -without-* | --without-* | --x) ++ case "$ac_configure_args0 " in ++ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; ++ esac ++ ;; ++ -* ) ac_must_keep_next=true ;; ++ esac ++ fi ++ as_fn_append ac_configure_args " '$ac_arg'" ++ ;; ++ esac ++ done ++done ++{ ac_configure_args0=; unset ac_configure_args0;} ++{ ac_configure_args1=; unset ac_configure_args1;} + -+ case $ac_mode in -+ :L) ac_source=$1;; -+ :[FH]) -+ ac_file_inputs= -+ for ac_f ++# When interrupted or exit'd, cleanup temporary files, and complete ++# config.log. We remove comments because anyway the quotes in there ++# would cause problems or look ugly. ++# WARNING: Use '\'' to represent an apostrophe within the trap. ++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. ++trap 'exit_status=$? ++ # Save into config.log some information that might help in debugging. ++ { ++ echo ++ ++ $as_echo "## ---------------- ## ++## Cache variables. ## ++## ---------------- ##" ++ echo ++ # The following way of writing the cache mishandles newlines in values, ++( ++ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( ++ *) { eval $ac_var=; unset $ac_var;} ;; ++ esac ;; ++ esac ++ done ++ (set) 2>&1 | ++ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ sed -n \ ++ "s/'\''/'\''\\\\'\'''\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ++ ;; #( ++ *) ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) ++ echo ++ ++ $as_echo "## ----------------- ## ++## Output variables. ## ++## ----------------- ##" ++ echo ++ for ac_var in $ac_subst_vars + do -+ case $ac_f in -+ -) ac_f="$ac_tmp/stdin";; -+ *) # Look for the file first in the build tree, then in the source tree -+ # (if the path is not absolute). The absolute path cannot be DOS-style, -+ # because $ac_f cannot contain `:'. -+ test -f "$ac_f" || -+ case $ac_f in -+ [\\/$]*) false;; -+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; -+ esac || -+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac -+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac -+ as_fn_append ac_file_inputs " '$ac_f'" -+ done ++ $as_echo "$ac_var='\''$ac_val'\''" ++ done | sort ++ echo + -+ # Let's still pretend it is `configure' which instantiates (i.e., don't -+ # use $as_me), people would be surprised to read: -+ # /* config.h. Generated by config.status. */ -+ configure_input='Generated from '` -+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' -+ `' by configure.' -+ if test x"$ac_file" != x-; then -+ configure_input="$ac_file. $configure_input" -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -+$as_echo "$as_me: creating $ac_file" >&6;} ++ if test -n "$ac_subst_files"; then ++ $as_echo "## ------------------- ## ++## File substitutions. ## ++## ------------------- ##" ++ echo ++ for ac_var in $ac_subst_files ++ do ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ $as_echo "$ac_var='\''$ac_val'\''" ++ done | sort ++ echo + fi -+ # Neutralize special characters interpreted by sed in replacement strings. -+ case $configure_input in #( -+ *\&* | *\|* | *\\* ) -+ ac_sed_conf_input=`$as_echo "$configure_input" | -+ sed 's/[\\\\&|]/\\\\&/g'`;; #( -+ *) ac_sed_conf_input=$configure_input;; -+ esac + -+ case $ac_tag in -+ *:-:* | *:-) cat >"$ac_tmp/stdin" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; -+ esac -+ ;; -+ esac ++ if test -s confdefs.h; then ++ $as_echo "## ----------- ## ++## confdefs.h. ## ++## ----------- ##" ++ echo ++ cat confdefs.h ++ echo ++ fi ++ test "$ac_signal" != 0 && ++ $as_echo "$as_me: caught signal $ac_signal" ++ $as_echo "$as_me: exit $exit_status" ++ } >&5 ++ rm -f core *.core core.conftest.* && ++ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && ++ exit $exit_status ++' 0 ++for ac_signal in 1 2 13 15; do ++ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal ++done ++ac_signal=0 + -+ ac_dir=`$as_dirname -- "$ac_file" || -+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$ac_file" : 'X\(//\)[^/]' \| \ -+ X"$ac_file" : 'X\(//\)$' \| \ -+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$ac_file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ as_dir="$ac_dir"; as_fn_mkdir_p -+ ac_builddir=. ++# confdefs.h avoids OS command line length limits that DEFS can exceed. ++rm -f -r conftest* confdefs.h + -+case "$ac_dir" in -+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -+*) -+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` -+ # A ".." for each directory in $ac_dir_suffix. -+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` -+ case $ac_top_builddir_sub in -+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; -+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; -+ esac ;; -+esac -+ac_abs_top_builddir=$ac_pwd -+ac_abs_builddir=$ac_pwd$ac_dir_suffix -+# for backward compatibility: -+ac_top_builddir=$ac_top_build_prefix ++$as_echo "/* confdefs.h */" > confdefs.h + -+case $srcdir in -+ .) # We are building in place. -+ ac_srcdir=. -+ ac_top_srcdir=$ac_top_builddir_sub -+ ac_abs_top_srcdir=$ac_pwd ;; -+ [\\/]* | ?:[\\/]* ) # Absolute name. -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir -+ ac_abs_top_srcdir=$srcdir ;; -+ *) # Relative name. -+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_top_build_prefix$srcdir -+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -+esac -+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++# Predefined preprocessor variables. + ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_NAME "$PACKAGE_NAME" ++_ACEOF + -+ case $ac_mode in -+ :F) -+ # -+ # CONFIG_FILE -+ # ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_TARNAME "$PACKAGE_TARNAME" ++_ACEOF + -+ case $INSTALL in -+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; -+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; -+ esac ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# If the template does not know about datarootdir, expand it. -+# FIXME: This hack should be removed a few years after 2.60. -+ac_datarootdir_hack=; ac_datarootdir_seen= -+ac_sed_dataroot=' -+/datarootdir/ { -+ p -+ q -+} -+/@datadir@/p -+/@docdir@/p -+/@infodir@/p -+/@localedir@/p -+/@mandir@/p' -+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -+*datarootdir*) ac_datarootdir_seen=yes;; -+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ ac_datarootdir_hack=' -+ s&@datadir@&$datadir&g -+ s&@docdir@&$docdir&g -+ s&@infodir@&$infodir&g -+ s&@localedir@&$localedir&g -+ s&@mandir@&$mandir&g -+ s&\\\${datarootdir}&$datarootdir&g' ;; -+esac ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + -+# Neutralize VPATH when `$srcdir' = `.'. -+# Shell code in configure.ac might set extrasub. -+# FIXME: do we really want to maintain this feature? -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_sed_extra="$ac_vpsub -+$extrasub ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+:t -+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -+s|@configure_input@|$ac_sed_conf_input|;t t -+s&@top_builddir@&$ac_top_builddir_sub&;t t -+s&@top_build_prefix@&$ac_top_build_prefix&;t t -+s&@srcdir@&$ac_srcdir&;t t -+s&@abs_srcdir@&$ac_abs_srcdir&;t t -+s&@top_srcdir@&$ac_top_srcdir&;t t -+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -+s&@builddir@&$ac_builddir&;t t -+s&@abs_builddir@&$ac_abs_builddir&;t t -+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -+s&@INSTALL@&$ac_INSTALL&;t t -+$ac_datarootdir_hack -+" -+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | -+if $ac_cs_awk_getline; then -+ $AWK -f "$ac_tmp/subs.awk" ++ ++ ++# Let the site file select an alternate cache file if it wants to. ++# Prefer an explicitly selected file to automatically selected ones. ++ac_site_file1=NONE ++ac_site_file2=NONE ++if test -n "$CONFIG_SITE"; then ++ # We do not want a PATH search for config.site. ++ case $CONFIG_SITE in #(( ++ -*) ac_site_file1=./$CONFIG_SITE;; ++ */*) ac_site_file1=$CONFIG_SITE;; ++ *) ac_site_file1=./$CONFIG_SITE;; ++ esac ++elif test "x$prefix" != xNONE; then ++ ac_site_file1=$prefix/share/config.site ++ ac_site_file2=$prefix/etc/config.site +else -+ $AWK -f "$ac_tmp/subs.awk" | $SHELL -+fi \ -+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ ac_site_file1=$ac_default_prefix/share/config.site ++ ac_site_file2=$ac_default_prefix/etc/config.site ++fi ++for ac_site_file in "$ac_site_file1" "$ac_site_file2" ++do ++ test "x$ac_site_file" = xNONE && continue ++ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 ++$as_echo "$as_me: loading site script $ac_site_file" >&6;} ++ sed 's/^/| /' "$ac_site_file" >&5 ++ . "$ac_site_file" \ ++ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "failed to load site script $ac_site_file ++See \`config.log' for more details" "$LINENO" 5; } ++ fi ++done ++ ++if test -r "$cache_file"; then ++ # Some versions of bash will fail to source /dev/null (special files ++ # actually), so we avoid doing that. DJGPP emulates it as a regular file. ++ if test /dev/null != "$cache_file" && test -f "$cache_file"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 ++$as_echo "$as_me: loading cache $cache_file" >&6;} ++ case $cache_file in ++ [\\/]* | ?:[\\/]* ) . "$cache_file";; ++ *) . "./$cache_file";; ++ esac ++ fi ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 ++$as_echo "$as_me: creating cache $cache_file" >&6;} ++ >$cache_file ++fi ++ ++# Check that the precious variables saved in the cache have kept the same ++# value. ++ac_cache_corrupted=false ++for ac_var in $ac_precious_vars; do ++ eval ac_old_set=\$ac_cv_env_${ac_var}_set ++ eval ac_new_set=\$ac_env_${ac_var}_set ++ eval ac_old_val=\$ac_cv_env_${ac_var}_value ++ eval ac_new_val=\$ac_env_${ac_var}_value ++ case $ac_old_set,$ac_new_set in ++ set,) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,set) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 ++$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,);; ++ *) ++ if test "x$ac_old_val" != "x$ac_new_val"; then ++ # differences in whitespace do not lead to failure. ++ ac_old_val_w=`echo x $ac_old_val` ++ ac_new_val_w=`echo x $ac_new_val` ++ if test "$ac_old_val_w" != "$ac_new_val_w"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 ++$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ++ ac_cache_corrupted=: ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 ++$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} ++ eval $ac_var=\$ac_old_val ++ fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 ++$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} ++ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 ++$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} ++ fi;; ++ esac ++ # Pass precious variables to config.status. ++ if test "$ac_new_set" = set; then ++ case $ac_new_val in ++ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *) ac_arg=$ac_var=$ac_new_val ;; ++ esac ++ case " $ac_configure_args " in ++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. ++ *) as_fn_append ac_configure_args " '$ac_arg'" ;; ++ esac ++ fi ++done ++if $ac_cache_corrupted; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 ++$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} ++ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 ++fi ++## -------------------- ## ++## Main body of script. ## ++## -------------------- ## + -+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && -+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && -+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ -+ "$ac_tmp/out"`; test -z "$ac_out"; } && -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&5 -+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&2;} ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu + -+ rm -f "$ac_tmp/stdin" -+ case $ac_file in -+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; -+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; -+ esac \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ ;; -+ :H) -+ # -+ # CONFIG_HEADER -+ # -+ if test x"$ac_file" != x-; then -+ { -+ $as_echo "/* $configure_input */" \ -+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" -+ } >"$ac_tmp/config.h" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -+$as_echo "$as_me: $ac_file is unchanged" >&6;} -+ else -+ rm -f "$ac_file" -+ mv "$ac_tmp/config.h" "$ac_file" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ fi -+ else -+ $as_echo "/* $configure_input */" \ -+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ -+ || as_fn_error $? "could not create -" "$LINENO" 5 -+ fi -+ ;; + -+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -+$as_echo "$as_me: executing $ac_file commands" >&6;} -+ ;; -+ esac ++ac_config_headers="$ac_config_headers config.h" + + -+ case $ac_file$ac_mode in -+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # So let's grep whole file. -+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -+ dirpart=`$as_dirname -- "$mf" || -+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$mf" : 'X\(//\)[^/]' \| \ -+ X"$mf" : 'X\(//\)$' \| \ -+ X"$mf" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$mf" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` ++if test "${enable_shared}" = "yes" ; then ++ echo "Shared libraries not supported for cross compiling, ignored" ++fi ++ ++if test "$srcdir" = "." ; then ++ if test "${with_target_subdir}" != "." ; then ++ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." + else -+ continue ++ libgloss_topdir="${srcdir}/${with_multisrctop}../.." ++ fi ++else ++ libgloss_topdir="${srcdir}/../.." ++fi ++ac_aux_dir= ++for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do ++ if test -f "$ac_dir/install-sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install-sh -c" ++ break ++ elif test -f "$ac_dir/install.sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install.sh -c" ++ break ++ elif test -f "$ac_dir/shtool"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/shtool install -c" ++ break + fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`$as_dirname -- "$file" || -+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$file" : 'X\(//\)[^/]' \| \ -+ X"$file" : 'X\(//\)$' \| \ -+ X"$file" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ as_dir=$dirpart/$fdir; as_fn_mkdir_p -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done +done -+ ;; -+ "Makefile":F) ac_file=Makefile . ${libgloss_topdir}/config-ml.in ;; ++if test -z "$ac_aux_dir"; then ++ as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5 ++fi + -+ esac -+done # for ac_tag ++# These three variables are undocumented and unsupported, ++# and are intended to be withdrawn in a future Autoconf release. ++# They can cause serious problems if a builder's source tree is in a directory ++# whose full name contains unusual characters. ++ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ++ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ++ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ++ ++ ++ ++# Make sure we can run config.sub. ++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || ++ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 ++$as_echo_n "checking build system type... " >&6; } ++if ${ac_cv_build+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_build_alias=$build_alias ++test "x$ac_build_alias" = x && ++ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` ++test "x$ac_build_alias" = x && ++ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 ++$as_echo "$ac_cv_build" >&6; } ++case $ac_cv_build in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; ++esac ++build=$ac_cv_build ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_build ++shift ++build_cpu=$1 ++build_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++build_os=$* ++IFS=$ac_save_IFS ++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 ++$as_echo_n "checking host system type... " >&6; } ++if ${ac_cv_host+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test "x$host_alias" = x; then ++ ac_cv_host=$ac_cv_build ++else ++ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 ++$as_echo "$ac_cv_host" >&6; } ++case $ac_cv_host in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; ++esac ++host=$ac_cv_host ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_host ++shift ++host_cpu=$1 ++host_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++host_os=$* ++IFS=$ac_save_IFS ++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 ++$as_echo_n "checking target system type... " >&6; } ++if ${ac_cv_target+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test "x$target_alias" = x; then ++ ac_cv_target=$ac_cv_host ++else ++ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 ++fi + ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 ++$as_echo "$ac_cv_target" >&6; } ++case $ac_cv_target in ++*-*-*) ;; ++*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; ++esac ++target=$ac_cv_target ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_target ++shift ++target_cpu=$1 ++target_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++target_os=$* ++IFS=$ac_save_IFS ++case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + -+as_fn_exit 0 -+_ACEOF -+ac_clean_files=$ac_clean_files_save + -+test $ac_write_fail = 0 || -+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 ++# The aliases save the names the user supplied, while $host etc. ++# will get canonicalized. ++test -n "$target_alias" && ++ test "$program_prefix$program_suffix$program_transform_name" = \ ++ NONENONEs,x,x, && ++ program_prefix=${target_alias}- + ++test "$program_prefix" != NONE && ++ program_transform_name="s&^&$program_prefix&;$program_transform_name" ++# Use a double $ so make ignores it. ++test "$program_suffix" != NONE && ++ program_transform_name="s&\$&$program_suffix&;$program_transform_name" ++# Double any \ or $. ++# By default was `s,x,x', remove it if useless. ++ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' ++program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + -+# configure is writing to config.log, and then calls config.status. -+# config.status does its own redirection, appending to config.log. -+# Unfortunately, on DOS this fails, as config.log is still kept open -+# by configure, so config.status won't be able to write to it; its -+# output is simply discarded. So we exec the FD to /dev/null, -+# effectively closing config.log, so it can be properly (re)opened and -+# appended to by config.status. When coming back to configure, we -+# need to make the FD available again. -+if test "$no_create" != yes; then -+ ac_cs_success=: -+ ac_config_status_args= -+ test "$silent" = yes && -+ ac_config_status_args="$ac_config_status_args --quiet" -+ exec 5>/dev/null -+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false -+ exec 5>>config.log -+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which -+ # would make configure fail if this is the last instruction. -+ $ac_cs_success || as_fn_exit 1 -+fi -+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -+fi + ++# Find a good install program. We prefer a C program (faster), ++# so one script is as good as another. But avoid the broken or ++# incompatible versions: ++# SysV /etc/install, /usr/sbin/install ++# SunOS /usr/etc/install ++# IRIX /sbin/install ++# AIX /bin/install ++# AmigaOS /C/install, which installs bootblocks on floppy discs ++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag ++# AFS /usr/afsws/bin/install, which mishandles nonexistent args ++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" ++# OS/2's system install, which has a completely different semantic ++# ./install, which can be erroneously created by make from ./install.sh. ++# Reject install programs that cannot install multiple files. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 ++$as_echo_n "checking for a BSD-compatible install... " >&6; } ++if test -z "$INSTALL"; then ++if ${ac_cv_path_install+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ # Account for people who put trailing slashes in PATH elements. ++case $as_dir/ in #(( ++ ./ | .// | /[cC]/* | \ ++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ++ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ ++ /usr/ucb/* ) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then ++ if test $ac_prog = install && ++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ elif test $ac_prog = install && ++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # program-specific install script used by HP pwplus--don't use. ++ : ++ else ++ rm -rf conftest.one conftest.two conftest.dir ++ echo one > conftest.one ++ echo two > conftest.two ++ mkdir conftest.dir ++ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && ++ test -s conftest.one && test -s conftest.two && ++ test -s conftest.dir/conftest.one && ++ test -s conftest.dir/conftest.two ++ then ++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" ++ break 3 ++ fi ++ fi ++ fi ++ done ++ done ++ ;; ++esac + ++ done ++IFS=$as_save_IFS + -diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in -new file mode 100644 -index 000000000..d15eab89d ---- /dev/null -+++ b/libgloss/libsysbase/configure.in -@@ -0,0 +1,202 @@ -+# Copyright (c) 1995, 1996 Cygnus Support -+# -+# The authors hereby grant permission to use, copy, modify, distribute, -+# and license this software and its documentation for any purpose, provided -+# that existing copyright notices are retained in all copies and that this -+# notice is included verbatim in any distributions. No written agreement, -+# license, or royalty fee is required for any of the authorized uses. -+# Modifications to this software may be copyrighted by their authors -+# and need not follow the licensing terms described here, provided that -+# the new terms are clearly indicated on the first page of each file where -+# they apply. -+# -+# Process this file with autoconf to produce a configure script. -+# -+AC_PREREQ(2.59) -+AC_INIT(abort.c) -+AC_CONFIG_HEADER(config.h) ++rm -rf conftest.one conftest.two conftest.dir + -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" +fi -+ -+if test "$srcdir" = "." ; then -+ if test "${with_target_subdir}" != "." ; then -+ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." ++ if test "${ac_cv_path_install+set}" = set; then ++ INSTALL=$ac_cv_path_install + else -+ libgloss_topdir="${srcdir}/${with_multisrctop}../.." ++ # As a last resort, use the slow shell script. Don't cache a ++ # value for INSTALL within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the value is a relative name. ++ INSTALL=$ac_install_sh + fi -+else -+ libgloss_topdir="${srcdir}/../.." +fi -+AC_CONFIG_AUX_DIR($libgloss_topdir) ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 ++$as_echo "$INSTALL" >&6; } + -+AC_CANONICAL_SYSTEM -+AC_ARG_PROGRAM ++# Use test -z because SunOS4 sh mishandles braces in ${var-val}. ++# It thinks the first close brace ends the variable substitution. ++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + -+AC_PROG_INSTALL ++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' ++ ++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++ ++ ++$as_echo "#define HAVE_GNU_LD 1" >>confdefs.h + -+AC_DEFINE(HAVE_GNU_LD) -+dnl Make sure syscall names match those being used by newlib +case "${target}" in + *-*-cygwin*) + ;; @@ -4894,7 +4125,8 @@ index 000000000..d15eab89d + arc-*-*) + ;; + arm-*-eabi) -+ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h ++ + ;; + arm*-*-*) + ;; @@ -4908,7 +4140,7 @@ index 000000000..d15eab89d + ;; + h8500-*-*) + ;; -+ i[3456]86-*-sco*) ++ i345686-*-sco*) + ;; + lm32-*-*) + ;; @@ -4917,7 +4149,8 @@ index 000000000..d15eab89d + mn10?00-*-*) + ;; + powerpc-*-eabi) -+ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ $as_echo "#define REENTRANT_SYSCALLS_PROVIDED 1" >>confdefs.h ++ + ;; + powerpcle-*-pe) + ;; @@ -4936,9345 +4169,7792 @@ index 000000000..d15eab89d + z8k-*-*) + ;; + *) -+ AC_DEFINE(MISSING_SYSCALL_NAMES) ++ $as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h ++ + ;; +esac + -+dnl Make sure we know if elf format used +case "${target}" in + *-*-elf) -+ AC_DEFINE(HAVE_ELF) ++ $as_echo "#define HAVE_ELF 1" >>confdefs.h + -+ AC_CACHE_CHECK([for .previous assembler directive], -+ libc_cv_asm_previous_directive, [dnl -+ libc_cv_asm_previous_directive=no ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 ++$as_echo_n "checking for .previous assembler directive... " >&6; } ++if ${libc_cv_asm_previous_directive+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_asm_previous_directive=no + cat > conftest.s <&AC_FD_CC); then ++ if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then + libc_cv_asm_previous_directive=yes + fi -+ rm -f conftest*]) ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 ++$as_echo "$libc_cv_asm_previous_directive" >&6; } + + if test "x${libc_cv_asm_previous_directive}" = "xyes"; then -+ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) ++ $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h ++ + fi + -+ AC_CACHE_CHECK([for .popsection assembler directive], -+ libc_cv_asm_popsection_directive, [dnl -+ libc_cv_asm_popsection_directive=no ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 ++$as_echo_n "checking for .popsection assembler directive... " >&6; } ++if ${libc_cv_asm_popsection_directive+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_asm_popsection_directive=no + cat > conftest.s <&AC_FD_CC); then ++ if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then + libc_cv_asm_popsection_directive=yes + fi -+ rm -f conftest*]) ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5 ++$as_echo "$libc_cv_asm_popsection_directive" >&6; } + + if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then -+ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) ++ $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h ++ + fi + -+ AC_CACHE_CHECK([for section attributes], -+ libc_cv_section_attributes, [dnl -+ libc_cv_section_attributes=no ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for section attributes" >&5 ++$as_echo_n "checking for section attributes... " >&6; } ++if ${libc_cv_section_attributes+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ libc_cv_section_attributes=no + cat > conftest.c <&AC_FD_CC); then ++ if { ac_try='${CC-cc} -c $CFLAGS conftest.c 1>&5' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then + libc_cv_section_attributes=yes + fi -+ rm -f conftest*]) ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_section_attributes" >&5 ++$as_echo "$libc_cv_section_attributes" >&6; } + if test "x${libc_cv_section_attributes}" = "xyes"; then -+ AC_DEFINE(HAVE_SECTION_ATTRIBUTES) ++ $as_echo "#define HAVE_SECTION_ATTRIBUTES 1" >>confdefs.h ++ + fi + ;; +esac + -+AC_CACHE_CHECK([for symbol prefix], libc_cv_symbol_prefix, [dnl -+cat > conftest.c <<\EOF ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 ++$as_echo_n "checking for symbol prefix... " >&6; } ++if ${libc_cv_symbol_prefix+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat > conftest.c <<\EOF +foo () { } +EOF -+dnl +libc_cv_symbol_prefix=none -+if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); ++if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; +then + libc_cv_symbol_prefix='$' +else -+ if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]); ++ if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; + then + libc_cv_symbol_prefix=_ + fi +fi -+rm -f conftest* ]) -+if test $libc_cv_symbol_prefix != none; then -+ AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_cv_symbol_prefix") -+else -+ AC_DEFINE(__SYMBOL_PREFIX, "") ++rm -f conftest* +fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_symbol_prefix" >&5 ++$as_echo "$libc_cv_symbol_prefix" >&6; } ++if test $libc_cv_symbol_prefix != none; then ++ cat >>confdefs.h <<_ACEOF ++#define __SYMBOL_PREFIX "$libc_cv_symbol_prefix" ++_ACEOF + -+LIB_AC_PROG_CC -+AS=${AS-as} -+AC_SUBST(AS) -+AR=${AR-ar} -+AC_SUBST(AR) -+LD=${LD-ld} -+AC_SUBST(LD) -+AC_PROG_RANLIB -+LIB_AM_PROG_AS -+ -+host_makefile_frag=${srcdir}/../config/default.mh -+ -+dnl We have to assign the same value to other variables because autoconf -+dnl doesn't provide a mechanism to substitute a replacement keyword with -+dnl arbitrary data or pathnames. -+dnl -+host_makefile_frag_path=$host_makefile_frag -+AC_SUBST(host_makefile_frag_path) -+AC_SUBST_FILE(host_makefile_frag) -+ -+AC_CONFIG_FILES(Makefile, -+ac_file=Makefile . ${libgloss_topdir}/config-ml.in, -+srcdir=${srcdir} -+target=${target} -+with_multisubdir=${with_multisubdir} -+ac_configure_args="${ac_configure_args} --enable-multilib" -+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+libgloss_topdir=${libgloss_topdir} -+) -+AC_OUTPUT -+ -+ -diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c -new file mode 100644 -index 000000000..0ad29029c ---- /dev/null -+++ b/libgloss/libsysbase/dirent.c -@@ -0,0 +1,255 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include ++else ++ $as_echo "#define __SYMBOL_PREFIX \"\"" >>confdefs.h + -+static DIR_ITER * __diropen (const char *path) { -+ struct _reent *r = _REENT; -+ DIR_ITER *handle = NULL; -+ DIR_ITER *dir = NULL; -+ int dev; ++fi + -+ dev = FindDevice(path); ++rm -rf .tst 2>/dev/null ++mkdir .tst 2>/dev/null ++if test -d .tst; then ++ am__leading_dot=. ++else ++ am__leading_dot=_ ++fi ++rmdir .tst 2>/dev/null + -+ if(dev!=-1) { -+ if(devoptab_list[dev]->diropen_r) { ++DEPDIR="${am__leading_dot}deps" + -+ r->deviceData = devoptab_list[dev]->deviceData; ++ac_config_commands="$ac_config_commands depfiles" + -+ handle = (DIR_ITER *)malloc( sizeof(DIR_ITER) + devoptab_list[dev]->dirStateSize ); + -+ if ( NULL != handle ) { -+ handle->device = dev; -+ handle->dirStruct = ((void *)handle) + sizeof(DIR_ITER); ++am_make=${MAKE-make} ++cat > confinc << 'END' ++am__doit: ++ @echo done ++.PHONY: am__doit ++END ++# If we don't find an include directive, just comment out the code. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 ++$as_echo_n "checking for style of include used by $am_make... " >&6; } ++am__include="#" ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# We grep out `Entering directory' and `Leaving directory' ++# messages which can occur if `w' ends up in MAKEFLAGS. ++# In particular we don't look at `^make:' because GNU make might ++# be invoked under some other name (usually "gmake"), in which ++# case it prints its new name instead of `make'. ++if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then ++ am__include=include ++ am__quote= ++ _am_result=GNU ++fi ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then ++ am__include=.include ++ am__quote="\"" ++ _am_result=BSD ++ fi ++fi + -+ dir = devoptab_list[dev]->diropen_r(r, handle, path); + -+ if ( dir == NULL ) { -+ free (handle); -+ handle = NULL; -+ } -+ } else { -+ r->_errno = ENOSR; -+ handle = NULL; -+ } -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = ENODEV; -+ } ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 ++$as_echo "$_am_result" >&6; } ++rm -f confinc confmf + -+ return handle; -+} ++# Check whether --enable-dependency-tracking was given. ++if test "${enable_dependency_tracking+set}" = set; then : ++ enableval=$enable_dependency_tracking; ++fi + -+static int __dirreset (DIR_ITER *dirState) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++fi + -+ if (dirState != NULL) { -+ dev = dirState->device; + -+ if(devoptab_list[dev]->dirreset_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirreset_r(r, dirState); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} ++if test "x$enable_dependency_tracking" != xno; then ++ AMDEP_TRUE= ++ AMDEP_FALSE='#' ++else ++ AMDEP_TRUE='#' ++ AMDEP_FALSE= ++fi + -+static int __dirnext (DIR_ITER *dirState, char *filename, struct stat *filestat) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; + -+ if (dirState != NULL) { -+ dev = dirState->device; + -+ if(devoptab_list[dev]->dirnext_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirnext_r(r, dirState, filename, filestat); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} ++# Extract the first word of "gcc", so it can be a program name with args. ++set dummy gcc; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_CC+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="gcc" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS + -+static int __dirclose (DIR_ITER *dirState) { -+ struct _reent *r = _REENT; -+ int ret = -1; -+ int dev = 0; ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++$as_echo "$CC" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi + -+ if (dirState != NULL) { -+ dev = dirState->device; + -+ if (devoptab_list[dev]->dirclose_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->dirclose_r (r, dirState); -+ } else { -+ r->_errno = ENOSYS; -+ } + -+ free (dirState); -+ } -+ return ret; -+} ++depcc="$CC" am_compiler_list= + -+DIR* opendir (const char *dirname) { -+ DIR* dirp = malloc (sizeof(DIR)); -+ if (!dirp) { -+ errno = ENOMEM; -+ return NULL; -+ } ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++$as_echo_n "checking dependency style of $depcc... " >&6; } ++if ${am_cv_CC_dependencies_compiler_type+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ # We will build objects and dependencies in a subdirectory because ++ # it helps to detect inapplicable dependency modes. For instance ++ # both Tru64's cc and ICC support -MD to output dependencies as a ++ # side effect of compilation, but ICC will put the dependencies in ++ # the current directory while Tru64 will put them in the object ++ # directory. ++ mkdir sub + -+ dirp->dirData = __diropen (dirname); -+ if (!dirp->dirData) { -+ free (dirp); -+ return NULL; -+ } ++ am_cv_CC_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # Setup a source with many dependencies, because some compilers ++ # like to wrap large dependency lists on column 80 (with \), and ++ # we should not choose a depcomp mode which is confused by this. ++ # ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ : > sub/conftest.c ++ for i in 1 2 3 4 5 6; do ++ echo '#include "conftst'$i'.h"' >> sub/conftest.c ++ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with ++ # Solaris 8's {/usr,}/bin/sh. ++ touch sub/conftst$i.h ++ done ++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + -+ dirp->position = 0; // 0th position means no file name has been returned yet -+ dirp->fileData.d_ino = -1; -+ dirp->fileData.d_name[0] = '\0'; ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ ++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ ++ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ ++ >/dev/null 2>conftest.err && ++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && ++ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ # icc doesn't choke on unknown options, it will just issue warnings ++ # or remarks (even with -Werror). So we grep stderr for any message ++ # that says an option was ignored or not supported. ++ # When given -MP, icc 7.0 and 7.1 complain thusly: ++ # icc: Command line warning: ignoring option '-M'; no argument required ++ # The diagnosis changed in icc 8.0: ++ # icc: Command line remark: option '-MP' not supported ++ if (grep 'ignoring option' conftest.err || ++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else ++ am_cv_CC_dependencies_compiler_type=$depmode ++ break ++ fi ++ fi ++ done + -+ return dirp; -+} ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_CC_dependencies_compiler_type=none ++fi + ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + -+int closedir (DIR *dirp) { -+ int res; + -+ if (!dirp) { -+ errno = EBADF; -+ return -1; -+ } + -+ res = __dirclose (dirp->dirData); -+ free (dirp); -+ return res; -+} ++if ++ test "x$enable_dependency_tracking" != xno \ ++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then ++ am__fastdepCC_TRUE= ++ am__fastdepCC_FALSE='#' ++else ++ am__fastdepCC_TRUE='#' ++ am__fastdepCC_FALSE= ++fi + + -+struct dirent* readdir (DIR *dirp) { -+ struct stat st; -+ char filename[NAME_MAX]; -+ int res; -+ int olderrno = errno; ++if test -z "$CC"; then ++ # Extract the first word of "cc", so it can be a program name with args. ++set dummy cc; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_CC+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ ac_prog_rejected=no ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ++ ac_prog_rejected=yes ++ continue ++ fi ++ ac_cv_prog_CC="cc" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS + -+ if (!dirp) { -+ errno = EBADF; -+ return NULL; -+ } ++if test $ac_prog_rejected = yes; then ++ # We found a bogon in the path, so make sure we never use it. ++ set dummy $ac_cv_prog_CC ++ shift ++ if test $# != 0; then ++ # We chose a different compiler from the bogus one. ++ # However, it has the same basename, so the bogon will be chosen ++ # first if we set CC to just the basename; use the full file name. ++ shift ++ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" ++ fi ++fi ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++$as_echo "$CC" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi + -+ res = __dirnext (dirp->dirData, filename, &st); + -+ if (res < 0) { -+ if (errno == ENOENT) { -+ // errno == ENONENT set by dirnext means it's end of directory -+ // But readdir should not touch errno in case of dir end -+ errno = olderrno; -+ } -+ return NULL; -+ } ++ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5 ++fi + -+ // We've moved forward in the directory -+ dirp->position += 1; ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5 ++$as_echo_n "checking whether we are using GNU C... " >&6; } ++if ${ac_cv_c_compiler_gnu+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat > conftest.c <&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then ++ ac_cv_c_compiler_gnu=yes ++else ++ ac_cv_c_compiler_gnu=no ++fi ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++$as_echo "$ac_cv_c_compiler_gnu" >&6; } + -+ if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { -+ errno = EOVERFLOW; -+ return NULL; -+ } ++if test $ac_cv_c_compiler_gnu = yes; then ++ GCC=yes ++ ac_test_CFLAGS="${CFLAGS+set}" ++ ac_save_CFLAGS="$CFLAGS" ++ CFLAGS= ++ ac_test_CFLAGS=${CFLAGS+set} ++ac_save_CFLAGS=$CFLAGS ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++$as_echo_n "checking whether $CC accepts -g... " >&6; } ++if ${ac_cv_prog_cc_g+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_save_c_werror_flag=$ac_c_werror_flag ++ ac_c_werror_flag=yes ++ ac_cv_prog_cc_g=no ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ + -+ strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); -+ dirp->fileData.d_ino = st.st_ino; -+ dirp->fileData.d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; ++int ++main () ++{ + -+ return &(dirp->fileData); ++ ; ++ return 0; +} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ac_cv_prog_cc_g=yes ++else ++ CFLAGS="" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ + ++int ++main () ++{ + -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { -+ struct stat st; -+ char filename[NAME_MAX]; -+ int res; -+ -+ if (!dirp) { -+ return EBADF; -+ } ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : + -+ res = __dirnext (dirp->dirData, filename, &st); ++else ++ ac_c_werror_flag=$ac_save_c_werror_flag ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ + -+ if (res < 0) { -+ res = errno; -+ *result = NULL; -+ if (errno == ENOENT) { -+ // errno == ENONENT set by dirnext means it's end of directory -+ // But readdir should not touch errno in case of dir end -+ res = 0; -+ } -+ return res; -+ } ++int ++main () ++{ + -+ // We've moved forward in the directory -+ dirp->position += 1; ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ac_cv_prog_cc_g=yes ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ac_c_werror_flag=$ac_save_c_werror_flag ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++$as_echo "$ac_cv_prog_cc_g" >&6; } ++if test "$ac_test_CFLAGS" = set; then ++ CFLAGS=$ac_save_CFLAGS ++elif test $ac_cv_prog_cc_g = yes; then ++ if test "$GCC" = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-g" ++ fi ++else ++ if test "$GCC" = yes; then ++ CFLAGS="-O2" ++ else ++ CFLAGS= ++ fi ++fi ++ if test "$ac_test_CFLAGS" = set; then ++ CFLAGS="$ac_save_CFLAGS" ++ elif test $ac_cv_prog_cc_g = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-O2" ++ fi ++else ++ GCC= ++ test "${CFLAGS+set}" = set || CFLAGS="-g" ++fi + -+ if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { -+ errno = EOVERFLOW; -+ return EOVERFLOW; -+ } ++AS=${AS-as} + -+ strncpy (entry->d_name, filename, sizeof(entry->d_name)); -+ entry->d_ino = st.st_ino; ++AR=${AR-ar} + -+ *result = entry; -+ return 0; -+} ++LD=${LD-ld} + ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. ++set dummy ${ac_tool_prefix}ranlib; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_RANLIB+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$RANLIB"; then ++ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS + -+void rewinddir (DIR *dirp) { -+ if (!dirp) { -+ return; -+ } ++fi ++fi ++RANLIB=$ac_cv_prog_RANLIB ++if test -n "$RANLIB"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 ++$as_echo "$RANLIB" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi + -+ __dirreset (dirp->dirData); -+ dirp->position = 0; -+} + ++fi ++if test -z "$ac_cv_prog_RANLIB"; then ++ ac_ct_RANLIB=$RANLIB ++ # Extract the first word of "ranlib", so it can be a program name with args. ++set dummy ranlib; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_RANLIB"; then ++ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_RANLIB="ranlib" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS + -+void seekdir(DIR *dirp, long int loc) { -+ char filename[NAME_MAX]; ++fi ++fi ++ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB ++if test -n "$ac_ct_RANLIB"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 ++$as_echo "$ac_ct_RANLIB" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi + -+ if (!dirp || loc < 0) { -+ return; -+ } ++ if test "x$ac_ct_RANLIB" = x; then ++ RANLIB=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ RANLIB=$ac_ct_RANLIB ++ fi ++else ++ RANLIB="$ac_cv_prog_RANLIB" ++fi + -+ if (dirp->position > loc) { -+ // The entry we want is before the one we have, -+ // so we have to start again from the begining -+ __dirreset (dirp->dirData); -+ dirp->position = 0; -+ } ++# By default we simply use the C compiler to build assembly code. + -+ // Keep reading entries until we reach the one we want -+ while ((dirp->position < loc) && -+ (__dirnext (dirp->dirData, filename, NULL) >= 0)) -+ { -+ dirp->position += 1; -+ } -+} ++test "${CCAS+set}" = set || CCAS=$CC ++test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS + + -+long int telldir(DIR *dirp) { -+ if (!dirp) { -+ return -1; -+ } + -+ return dirp->position; -+} -diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c -new file mode 100644 -index 000000000..1c485b26f ---- /dev/null -+++ b/libgloss/libsysbase/environ.c -@@ -0,0 +1,6 @@ -+/* -+ * Version of environ for no OS. -+ */ + -+char *__env[1] = { 0 }; -+char **environ = __env; -diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c -new file mode 100644 -index 000000000..0f192e582 ---- /dev/null -+++ b/libgloss/libsysbase/execve.c -@@ -0,0 +1,16 @@ -+/* -+ * Stub version of execve. -+ */ ++host_makefile_frag=${srcdir}/../config/default.mh + -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include ++host_makefile_frag_path=$host_makefile_frag + -+//--------------------------------------------------------------------------------- -+int _execve_r( struct _reent * r, char *name, char **argv, char **env) { -+//--------------------------------------------------------------------------------- -+ r->_errno = ENOSYS; -+ return -1; -+} + -diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c -new file mode 100644 -index 000000000..5c5831cdf ---- /dev/null -+++ b/libgloss/libsysbase/fchmod.c -@@ -0,0 +1,31 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include + -+#include ++ac_config_files="$ac_config_files Makefile" + -+int fchmod(int fd, mode_t mode) { -+ int ret = -1, dev; -+ struct _reent *r = _REENT; ++cat >confcache <<\_ACEOF ++# This file is a shell script that caches the results of configure ++# tests run on this system so they can be shared between configure ++# scripts and configure runs, see configure's option --config-cache. ++# It is not useful on other systems. If it contains results you don't ++# want to keep, you may remove or edit it. ++# ++# config.status only pays attention to the cache file if you give it ++# the --recheck option to rerun configure. ++# ++# `ac_cv_env_foo' variables (set or unset) will be overridden when ++# loading this file, other *unset* `ac_cv_foo' will be assigned the ++# following values. + -+ if(fd!=-1) { ++_ACEOF + -+ __handle *handle = __get_handle(fd); ++# The following way of writing the cache mishandles newlines in values, ++# but we know of no workaround that is simple, portable, and efficient. ++# So, we kill variables containing newlines. ++# Ultrix sh set writes to stderr and can't be redirected directly, ++# and sets the high bit in the cache file unless we assign to the vars. ++( ++ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( ++ *) { eval $ac_var=; unset $ac_var;} ;; ++ esac ;; ++ esac ++ done + -+ if ( handle != NULL) { ++ (set) 2>&1 | ++ case $as_nl`(ac_space=' '; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ # `set' does not quote correctly, so add quotes: double-quote ++ # substitution turns \\\\ into \\, and sed turns \\ into \. ++ sed -n \ ++ "s/'/'\\\\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ++ ;; #( ++ *) ++ # `set' quotes correctly as required by POSIX, so do not add quotes. ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) | ++ sed ' ++ /^ac_cv_env_/b end ++ t clear ++ :clear ++ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ t end ++ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ ++ :end' >>confcache ++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else ++ if test -w "$cache_file"; then ++ if test "x$cache_file" != "x/dev/null"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++$as_echo "$as_me: updating cache $cache_file" >&6;} ++ if test ! -f "$cache_file" || test -h "$cache_file"; then ++ cat confcache >"$cache_file" ++ else ++ case $cache_file in #( ++ */* | ?:*) ++ mv -f confcache "$cache_file"$$ && ++ mv -f "$cache_file"$$ "$cache_file" ;; #( ++ *) ++ mv -f confcache "$cache_file" ;; ++ esac ++ fi ++ fi ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} ++ fi ++fi ++rm -f confcache + -+ dev = handle->device; ++test "x$prefix" = xNONE && prefix=$ac_default_prefix ++# Let make expand exec_prefix. ++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + -+ if(devoptab_list[dev]->fchmod_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fchmod_r(r,handle->fileStruct,mode); -+ } else -+ r->_errno=ENOSYS; -+ } -+ } -+ return ret; -+} -diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c -new file mode 100644 -index 000000000..2bada9736 ---- /dev/null -+++ b/libgloss/libsysbase/fork.c -@@ -0,0 +1,15 @@ -+/* -+ * Stub version of fork. -+ */ ++DEFS=-DHAVE_CONFIG_H + -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include ++ac_libobjs= ++ac_ltlibobjs= ++U= ++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue ++ # 1. Remove the extension, and $U if already installed. ++ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ++ ac_i=`$as_echo "$ac_i" | sed "$ac_script"` ++ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR ++ # will be set to the directory where LIBOBJS objects are built. ++ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" ++ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' ++done ++LIBOBJS=$ac_libobjs + -+//--------------------------------------------------------------------------------- -+int _fork_r(struct _reent * r) { -+//--------------------------------------------------------------------------------- -+ r->_errno = ENOSYS; -+ return -1; -+} -diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c -new file mode 100644 -index 000000000..32267b828 ---- /dev/null -+++ b/libgloss/libsysbase/fstat.c -@@ -0,0 +1,32 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include ++LTLIBOBJS=$ac_ltlibobjs + -+//--------------------------------------------------------------------------------- -+int _fstat_r(struct _reent * r, int fileDesc, struct stat *st) { -+//--------------------------------------------------------------------------------- -+ int ret = -1; -+ unsigned int dev = 0; + -+ __handle * handle = NULL; ++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then ++ as_fn_error $? "conditional \"AMDEP\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then ++ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi + -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); ++: "${CONFIG_STATUS=./config.status}" ++ac_write_fail=0 ++ac_clean_files_save=$ac_clean_files ++ac_clean_files="$ac_clean_files $CONFIG_STATUS" ++{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 ++$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} ++as_write_fail=0 ++cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 ++#! $SHELL ++# Generated by $as_me. ++# Run this file to recreate the current configuration. ++# Compiler output produced by configure, useful for debugging ++# configure, is in config.log if it exists. + -+ if ( NULL == handle ) return ret; ++debug=false ++ac_cs_recheck=false ++ac_cs_silent=false + -+ dev = handle->device; ++SHELL=\${CONFIG_SHELL-$SHELL} ++export SHELL ++_ASEOF ++cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ++## -------------------- ## ++## M4sh Initialization. ## ++## -------------------- ## + -+ if(devoptab_list[dev]->fstat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fstat_r(r,handle->fileStruct,st); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} -diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c -new file mode 100644 -index 000000000..fb06cb6d1 ---- /dev/null -+++ b/libgloss/libsysbase/fsync.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++ ++ ++as_nl=' ++' ++export as_nl ++# Printing a long string crashes Solaris 7 /usr/bin/printf. ++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo ++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo ++# Prefer a ksh shell builtin over an external printf program on Solaris, ++# but without wasting forks for bash or zsh. ++if test -z "$BASH_VERSION$ZSH_VERSION" \ ++ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='print -r --' ++ as_echo_n='print -rn --' ++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then ++ as_echo='printf %s\n' ++ as_echo_n='printf %s' ++else ++ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then ++ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' ++ as_echo_n='/usr/ucb/echo -n' ++ else ++ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' ++ as_echo_n_body='eval ++ arg=$1; ++ case $arg in #( ++ *"$as_nl"*) ++ expr "X$arg" : "X\\(.*\\)$as_nl"; ++ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; ++ esac; ++ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ++ ' ++ export as_echo_n_body ++ as_echo_n='sh -c $as_echo_n_body as_echo' ++ fi ++ export as_echo_body ++ as_echo='sh -c $as_echo_body as_echo' ++fi + -+#include ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ PATH_SEPARATOR=: ++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { ++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || ++ PATH_SEPARATOR=';' ++ } ++fi + -+int fsync(int fileDesc ) { -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ struct _reent *r = _REENT; + -+ __handle * handle; ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++IFS=" "" $as_nl" + -+ handle = __get_handle(fileDesc); ++# Find who we are. Look in the path if we contain no directory separator. ++as_myself= ++case $0 in #(( ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++ done ++IFS=$as_save_IFS + -+ if ( NULL == handle ) { -+ errno = EINVAL; -+ return ret; -+ } ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ exit 1 ++fi + -+ dev = handle->device; ++# Unset variables that we do not need and which cause bugs (e.g. in ++# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" ++# suppresses any "Segmentation fault" message there. '((' could ++# trigger a bug in pdksh 5.2.14. ++for as_var in BASH_ENV ENV MAIL MAILPATH ++do eval test x\${$as_var+set} = xset \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++PS1='$ ' ++PS2='> ' ++PS4='+ ' + -+ if(devoptab_list[dev]->fsync_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fsync_r(r, handle->fileStruct); -+ } else -+ r->_errno=ENOSYS; ++# NLS nuisances. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE + -+ return ret; -+} -diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c -new file mode 100644 -index 000000000..0cd7d0fc4 ---- /dev/null -+++ b/libgloss/libsysbase/ftruncate.c -@@ -0,0 +1,34 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include ++# CDPATH. ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + -+#include + -+int ftruncate(int fileDesc, off_t len) { -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ struct _reent *r = _REENT; ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ $as_echo "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error + -+ __handle * handle; + -+ handle = __get_handle(fileDesc); ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status + -+ if ( NULL == handle ) { -+ r->_errno = EINVAL; -+ return ret; -+ } ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit + -+ dev = handle->device; ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : ++ eval 'as_fn_append () ++ { ++ eval $1+=\$2 ++ }' ++else ++ as_fn_append () ++ { ++ eval $1=\$$1\$2 ++ } ++fi # as_fn_append + -+ if(devoptab_list[dev]->ftruncate_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); -+ } else -+ r->_errno=ENOSYS; ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith + -+ return ret; -+} -diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c -new file mode 100644 -index 000000000..c834c4c94 ---- /dev/null -+++ b/libgloss/libsysbase/getpid.c -@@ -0,0 +1,12 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include + -+//--------------------------------------------------------------------------------- -+int _getpid_r(struct _reent *ptr) { -+//--------------------------------------------------------------------------------- -+ ptr->_errno = ENOSYS; -+ return -1; -+} ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi + -diff --git a/libgloss/libsysbase/getreent.c b/libgloss/libsysbase/getreent.c -new file mode 100644 -index 000000000..a3f1e98a9 ---- /dev/null -+++ b/libgloss/libsysbase/getreent.c -@@ -0,0 +1,20 @@ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi + -+/* default reentrant pointer when multithread enabled */ ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi + -+#include <_ansi.h> -+#include -+#include ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` + -+#ifdef __getreent -+#undef __getreent -+#endif ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits + -+struct _reent *__getreent() { -+ if ( __has_syscall(getreent) ) { -+ return __syscall_getreent(); -+ } else { -+ return _impure_ptr; -+ } -+} ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac + ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null ++fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++ else ++ as_ln_s='cp -pR' ++ fi ++else ++ as_ln_s='cp -pR' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null + -diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c -new file mode 100644 -index 000000000..0606a1204 ---- /dev/null -+++ b/libgloss/libsysbase/gettod.c -@@ -0,0 +1,18 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include + -+//--------------------------------------------------------------------------------- -+int _gettimeofday_r( struct _reent *ptr, struct timeval *ptimeval, void *ptimezone) { -+//--------------------------------------------------------------------------------- -+ if ( __has_syscall(gettod_r) ) return __syscall_gettod_r(ptr, ptimeval, ptimezone); ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ + -+ ptr->_errno = ENOSYS; -+ return -1; ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + -+} + -diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c -new file mode 100644 -index 000000000..45d5cf77c ---- /dev/null -+++ b/libgloss/libsysbase/handle_manager.c -@@ -0,0 +1,222 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include ++} # as_fn_mkdir_p ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi + -+#include + -+#define MAX_HANDLES 1024 ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p + -+static __handle __stdin_handle = {0, 1, NULL}; -+static __handle __stdout_handle = {1, 1, NULL}; -+static __handle __stderr_handle = {2, 1, NULL}; ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + -+static __handle* handles[MAX_HANDLES] = { -+ &__stdin_handle, -+ &__stdout_handle, -+ &__stderr_handle -+}; ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + -+__LOCK_INIT(static, __hndl_lock); + -+static void __free_handle(__handle *handle) { ++exec 6>&1 ++## ----------------------------------- ## ++## Main body of $CONFIG_STATUS script. ## ++## ----------------------------------- ## ++_ASEOF ++test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + -+ if ( NULL != handle -+ && handle != &__stdin_handle -+ && handle != &__stdout_handle -+ && handle != &__stderr_handle ) { ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# Save the log message, to keep $0 and so on meaningful, and to ++# report actual input values of CONFIG_FILES etc. instead of their ++# values after options handling. ++ac_log=" ++This file was extended by $as_me, which was ++generated by GNU Autoconf 2.69. Invocation command line was + -+ free(handle); ++ CONFIG_FILES = $CONFIG_FILES ++ CONFIG_HEADERS = $CONFIG_HEADERS ++ CONFIG_LINKS = $CONFIG_LINKS ++ CONFIG_COMMANDS = $CONFIG_COMMANDS ++ $ $0 $@ + -+ } ++on `(hostname || uname -n) 2>/dev/null | sed 1q` ++" + -+} ++_ACEOF + -+void __release_handle(int fd) { ++case $ac_config_files in *" ++"*) set x $ac_config_files; shift; ac_config_files=$*;; ++esac + -+ if ( fd <0 || fd >= MAX_HANDLES ) return; ++case $ac_config_headers in *" ++"*) set x $ac_config_headers; shift; ac_config_headers=$*;; ++esac + -+ __lock_acquire (__hndl_lock); + -+ __free_handle(handles[fd]); -+ handles[fd] = NULL; ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# Files that config.status was made for. ++config_files="$ac_config_files" ++config_headers="$ac_config_headers" ++config_commands="$ac_config_commands" + -+ __lock_release (__hndl_lock); ++_ACEOF + -+} ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ac_cs_usage="\ ++\`$as_me' instantiates files and other configuration actions ++from templates according to the current configuration. Unless the files ++and actions are specified as TAGs, all are instantiated by default. + -+int __alloc_handle(int device) { ++Usage: $0 [OPTION]... [TAG]... + -+ int i, ret = -1; ++ -h, --help print this help, then exit ++ -V, --version print version number and configuration settings, then exit ++ --config print configuration, then exit ++ -q, --quiet, --silent ++ do not print progress messages ++ -d, --debug don't remove temporary files ++ --recheck update $as_me by reconfiguring in the same conditions ++ --file=FILE[:TEMPLATE] ++ instantiate the configuration file FILE ++ --header=FILE[:TEMPLATE] ++ instantiate the configuration header FILE + -+ __lock_acquire (__hndl_lock); ++Configuration files: ++$config_files + -+ for ( i = 0; i < MAX_HANDLES; i++ ) { -+ if ( handles[i] == NULL ) break; -+ } ++Configuration headers: ++$config_headers + -+ size_t size = sizeof(__handle) + devoptab_list[device]->structSize; ++Configuration commands: ++$config_commands + -+ if ( i < MAX_HANDLES ) { -+ handles[i] = malloc(size); -+ __handle *handle = handles[i]; -+ if ( NULL != handles[i] ) { ++Report bugs to the package provider." + -+ handles[i]->refcount = 1; -+ ret = i; -+ handles[i]->device = device; -+ handles[i]->fileStruct = (void *)&handle[1]; ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ++ac_cs_version="\\ ++config.status ++configured by $0, generated by GNU Autoconf 2.69, ++ with options \\"\$ac_cs_config\\" + -+ } else { ++Copyright (C) 2012 Free Software Foundation, Inc. ++This config.status script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it." + -+ errno = ENOMEM; ++ac_pwd='$ac_pwd' ++srcdir='$srcdir' ++INSTALL='$INSTALL' ++test -n "\$AWK" || AWK=awk ++_ACEOF + -+ } -+ } else { ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# The default lists apply if the user does not specify any file. ++ac_need_defaults=: ++while test $# != 0 ++do ++ case $1 in ++ --*=?*) ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ++ ac_shift=: ++ ;; ++ --*=) ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg= ++ ac_shift=: ++ ;; ++ *) ++ ac_option=$1 ++ ac_optarg=$2 ++ ac_shift=shift ++ ;; ++ esac + -+ errno = ENFILE; ++ case $ac_option in ++ # Handling of the options. ++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ++ ac_cs_recheck=: ;; ++ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) ++ $as_echo "$ac_cs_version"; exit ;; ++ --config | --confi | --conf | --con | --co | --c ) ++ $as_echo "$ac_cs_config"; exit ;; ++ --debug | --debu | --deb | --de | --d | -d ) ++ debug=: ;; ++ --file | --fil | --fi | --f ) ++ $ac_shift ++ case $ac_optarg in ++ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ '') as_fn_error $? "missing file argument" ;; ++ esac ++ as_fn_append CONFIG_FILES " '$ac_optarg'" ++ ac_need_defaults=false;; ++ --header | --heade | --head | --hea ) ++ $ac_shift ++ case $ac_optarg in ++ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ as_fn_append CONFIG_HEADERS " '$ac_optarg'" ++ ac_need_defaults=false;; ++ --he | --h) ++ # Conflict between --help and --header ++ as_fn_error $? "ambiguous option: \`$1' ++Try \`$0 --help' for more information.";; ++ --help | --hel | -h ) ++ $as_echo "$ac_cs_usage"; exit ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil | --si | --s) ++ ac_cs_silent=: ;; + -+ } ++ # This is an error. ++ -*) as_fn_error $? "unrecognized option: \`$1' ++Try \`$0 --help' for more information." ;; + -+ __lock_release (__hndl_lock); ++ *) as_fn_append ac_config_targets " $1" ++ ac_need_defaults=false ;; + -+ return ret; -+} ++ esac ++ shift ++done + -+__handle *__get_handle(int fd) { ++ac_configure_extra_args= + -+ if ( fd < 0 || fd >= MAX_HANDLES ) return NULL; ++if $ac_cs_silent; then ++ exec 6>/dev/null ++ ac_configure_extra_args="$ac_configure_extra_args --silent" ++fi + -+ __lock_acquire (__hndl_lock); -+ __handle *handle = handles[fd]; -+ __lock_release (__hndl_lock); ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++if \$ac_cs_recheck; then ++ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion ++ shift ++ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 ++ CONFIG_SHELL='$SHELL' ++ export CONFIG_SHELL ++ exec "\$@" ++fi + -+ return handle; -+} ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++exec 5>>config.log ++{ ++ echo ++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ++## Running $as_me. ## ++_ASBOX ++ $as_echo "$ac_log" ++} >&5 + -+int dup(int oldfd) { -+ int i, ret =-1; ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# ++# INIT-COMMANDS ++# ++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" ++srcdir=${srcdir} ++target=${target} ++with_multisubdir=${with_multisubdir} ++ac_configure_args="${ac_configure_args} --enable-multilib" ++CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} ++libgloss_topdir=${libgloss_topdir} + -+ __lock_acquire (__hndl_lock); + -+ if (handles[oldfd]==NULL) { -+ __lock_release (__hndl_lock); -+ errno = EBADF; -+ return -1; -+ } ++_ACEOF + ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + -+ for ( i = 0; i < MAX_HANDLES; i++ ) { -+ if ( handles[i] == NULL ) break; -+ } ++# Handling of arguments. ++for ac_config_target in $ac_config_targets ++do ++ case $ac_config_target in ++ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; ++ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; ++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + -+ if (irefcount++; -+ ret = i; -+ } -+ __lock_release (__hndl_lock); ++ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; ++ esac ++done + -+ return ret; + ++# If the user did not use the arguments to specify the items to instantiate, ++# then the envvar interface is used. Set only those that are not. ++# We use the long form for the default assignment because of an extremely ++# bizarre bug on SunOS 4.1.3. ++if $ac_need_defaults; then ++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files ++ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers ++ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands ++fi ++ ++# Have a temporary directory for convenience. Make it in the build tree ++# simply because there is no reason against having it here, and in addition, ++# creating and moving files from /tmp can sometimes cause problems. ++# Hook for its removal unless debugging. ++# Note that there is a small window in which the directory will not be cleaned: ++# after its creation but before its name has been assigned to `$tmp'. ++$debug || ++{ ++ tmp= ac_tmp= ++ trap 'exit_status=$? ++ : "${ac_tmp:=$tmp}" ++ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ++' 0 ++ trap 'as_fn_exit 1' 1 2 13 15 +} ++# Create a (secure) tmp directory for tmp files. + -+int dup2(int oldfd, int newfd) { ++{ ++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && ++ test -d "$tmp" ++} || ++{ ++ tmp=./conf$$-$RANDOM ++ (umask 077 && mkdir "$tmp") ++} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ++ac_tmp=$tmp + -+ if ( newfd < 0 || newfd >= MAX_HANDLES || -+ oldfd < 0 || oldfd >= MAX_HANDLES) { ++# Set up the scripts for CONFIG_FILES section. ++# No need to generate them if there are no CONFIG_FILES. ++# This happens for instance with `./config.status config.h'. ++if test -n "$CONFIG_FILES"; then + -+ errno = EBADF; ++if $AWK 'BEGIN { getline <"/dev/null" }' /dev/null; then ++ ac_cs_awk_getline=: ++ ac_cs_awk_pipe_init= ++ ac_cs_awk_read_file=' ++ while ((getline aline < (F[key])) > 0) ++ print(aline) ++ close(F[key])' ++ ac_cs_awk_pipe_fini= ++else ++ ac_cs_awk_getline=false ++ ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\"" ++ ac_cs_awk_read_file=' ++ print "|#_!!_#|" ++ print "cat " F[key] " &&" ++ '$ac_cs_awk_pipe_init ++ # The final `:' finishes the AND list. ++ ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }' ++fi ++ac_cr=`echo X | tr X '\015'` ++# On cygwin, bash can eat \r inside `` if the user requested igncr. ++# But we know of no other shell where ac_cr would be empty at this ++# point, so we can use a bashism as a fallback. ++if test "x$ac_cr" = x; then ++ eval ac_cr=\$\'\\r\' ++fi ++ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` ++if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ++ ac_cs_awk_cr='\\r' ++else ++ ac_cs_awk_cr=$ac_cr ++fi + -+ return -1; -+ } ++echo 'BEGIN {' >"$ac_tmp/subs1.awk" && ++_ACEOF ++ ++# Create commands to substitute file output variables. ++{ ++ echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && ++ echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && ++ echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && ++ echo "_ACAWK" && ++ echo "_ACEOF" ++} >conf$$files.sh && ++. ./conf$$files.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++rm -f conf$$files.sh + -+ if ( newfd == oldfd ) { -+ return newfd; -+ } ++{ ++ echo "cat >conf$$subs.awk <<_ACEOF" && ++ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && ++ echo "_ACEOF" ++} >conf$$subs.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ++ac_delim='%!_!# ' ++for ac_last_try in false false false false false :; do ++ . ./conf$$subs.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + -+ __lock_acquire (__hndl_lock); ++ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` ++ if test $ac_delim_n = $ac_delim_num; then ++ break ++ elif $ac_last_try; then ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++ fi ++done ++rm -f conf$$subs.sh + -+ if ( handles[oldfd] == NULL ) { -+ __lock_release (__hndl_lock); -+ errno = EBADF; ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && ++_ACEOF ++sed -n ' ++h ++s/^/S["/; s/!.*/"]=/ ++p ++g ++s/^[^!]*!// ++:repl ++t repl ++s/'"$ac_delim"'$// ++t delim ++:nl ++h ++s/\(.\{148\}\)..*/\1/ ++t more1 ++s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ ++p ++n ++b repl ++:more1 ++s/["\\]/\\&/g; s/^/"/; s/$/"\\/ ++p ++g ++s/.\{148\}// ++t nl ++:delim ++h ++s/\(.\{148\}\)..*/\1/ ++t more2 ++s/["\\]/\\&/g; s/^/"/; s/$/"/ ++p ++b ++:more2 ++s/["\\]/\\&/g; s/^/"/; s/$/"\\/ ++p ++g ++s/.\{148\}// ++t delim ++' >$CONFIG_STATUS || ac_write_fail=1 ++rm -f conf$$subs.awk ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++_ACAWK ++cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && ++ for (key in S) S_is_set[key] = 1 ++ FS = "" ++ \$ac_cs_awk_pipe_init ++} ++{ ++ line = $ 0 ++ nfields = split(line, field, "@") ++ substed = 0 ++ len = length(field[1]) ++ for (i = 2; i < nfields; i++) { ++ key = field[i] ++ keylen = length(key) ++ if (S_is_set[key]) { ++ value = S[key] ++ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) ++ len += length(value) + length(field[++i]) ++ substed = 1 ++ } else ++ len += 1 + keylen ++ } ++ if (nfields == 3 && !substed) { ++ key = field[2] ++ if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) { ++ \$ac_cs_awk_read_file ++ next ++ } ++ } ++ print line ++} ++\$ac_cs_awk_pipe_fini ++_ACAWK ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then ++ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" ++else ++ cat ++fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ ++ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 ++_ACEOF + -+ return -1; -+ } ++# VPATH may cause trouble with some makes, so we remove sole $(srcdir), ++# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and ++# trailing colons and then remove the whole line if VPATH becomes empty ++# (actually we leave an empty line to preserve line numbers). ++if test "x$srcdir" = x.; then ++ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ ++h ++s/// ++s/^/:/ ++s/[ ]*$/:/ ++s/:\$(srcdir):/:/g ++s/:\${srcdir}:/:/g ++s/:@srcdir@:/:/g ++s/^:*// ++s/:*$// ++x ++s/\(=[ ]*\).*/\1/ ++G ++s/\n// ++s/^[^=]*=[ ]*$// ++}' ++fi + -+ __handle *handle = handles[newfd]; ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++fi # test -n "$CONFIG_FILES" + -+ handles[newfd] = handles[oldfd]; -+ handles[newfd]->refcount++; ++# Set up the scripts for CONFIG_HEADERS section. ++# No need to generate them if there are no CONFIG_HEADERS. ++# This happens for instance with `./config.status Makefile'. ++if test -n "$CONFIG_HEADERS"; then ++cat >"$ac_tmp/defines.awk" <<\_ACAWK || ++BEGIN { ++_ACEOF + -+ if ( handle ) { ++# Transform confdefs.h into an awk script `defines.awk', embedded as ++# here-document in config.status, that substitutes the proper values into ++# config.h.in to produce config.h. + -+ int ref = --handle->refcount; -+ __lock_release (__hndl_lock); ++# Create a delimiter string that does not exist in confdefs.h, to ease ++# handling of long lines. ++ac_delim='%!_!# ' ++for ac_last_try in false false :; do ++ ac_tt=`sed -n "/$ac_delim/p" confdefs.h` ++ if test -z "$ac_tt"; then ++ break ++ elif $ac_last_try; then ++ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++ fi ++done + -+ if ( ref == 0 ) { ++# For the awk script, D is an array of macro values keyed by name, ++# likewise P contains macro parameters if any. Preserve backslash ++# newline sequences. + -+ if ( devoptab_list[handle->device]->close_r ) { ++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* ++sed -n ' ++s/.\{148\}/&'"$ac_delim"'/g ++t rset ++:rset ++s/^[ ]*#[ ]*define[ ][ ]*/ / ++t def ++d ++:def ++s/\\$// ++t bsnl ++s/["\\]/\\&/g ++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ ++D["\1"]=" \3"/p ++s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p ++d ++:bsnl ++s/["\\]/\\&/g ++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ ++D["\1"]=" \3\\\\\\n"\\/p ++t cont ++s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p ++t cont ++d ++:cont ++n ++s/.\{148\}/&'"$ac_delim"'/g ++t clear ++:clear ++s/\\$// ++t bsnlc ++s/["\\]/\\&/g; s/^/"/; s/$/"/p ++d ++:bsnlc ++s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p ++b cont ++' >$CONFIG_STATUS || ac_write_fail=1 + -+ _REENT->deviceData = devoptab_list[handle->device]->deviceData; -+ devoptab_list[handle->device]->close_r(_REENT,handle->fileStruct); ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ for (key in D) D_is_set[key] = 1 ++ FS = "" ++} ++/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { ++ line = \$ 0 ++ split(line, arg, " ") ++ if (arg[1] == "#") { ++ defundef = arg[2] ++ mac1 = arg[3] ++ } else { ++ defundef = substr(arg[1], 2) ++ mac1 = arg[2] ++ } ++ split(mac1, mac2, "(") #) ++ macro = mac2[1] ++ prefix = substr(line, 1, index(line, defundef) - 1) ++ if (D_is_set[macro]) { ++ # Preserve the white space surrounding the "#". ++ print prefix "define", macro P[macro] D[macro] ++ next ++ } else { ++ # Replace #undef with comments. This is necessary, for example, ++ # in the case of _POSIX_SOURCE, which is predefined and required ++ # on some systems where configure will not decide to define it. ++ if (defundef == "undef") { ++ print "/*", prefix defundef, macro, "*/" ++ next ++ } ++ } ++} ++{ print } ++_ACAWK ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 ++fi # test -n "$CONFIG_HEADERS" + -+ } + -+ __free_handle(handle); -+ } ++eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" ++shift ++for ac_tag ++do ++ case $ac_tag in ++ :[FHLC]) ac_mode=$ac_tag; continue;; ++ esac ++ case $ac_mode$ac_tag in ++ :[FHL]*:*);; ++ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; ++ :[FH]-) ac_tag=-:-;; ++ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; ++ esac ++ ac_save_IFS=$IFS ++ IFS=: ++ set x $ac_tag ++ IFS=$ac_save_IFS ++ shift ++ ac_file=$1 ++ shift + -+ } else { ++ case $ac_mode in ++ :L) ac_source=$1;; ++ :[FH]) ++ ac_file_inputs= ++ for ac_f ++ do ++ case $ac_f in ++ -) ac_f="$ac_tmp/stdin";; ++ *) # Look for the file first in the build tree, then in the source tree ++ # (if the path is not absolute). The absolute path cannot be DOS-style, ++ # because $ac_f cannot contain `:'. ++ test -f "$ac_f" || ++ case $ac_f in ++ [\\/$]*) false;; ++ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; ++ esac || ++ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; ++ esac ++ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac ++ as_fn_append ac_file_inputs " '$ac_f'" ++ done + -+ __lock_release (__hndl_lock); ++ # Let's still pretend it is `configure' which instantiates (i.e., don't ++ # use $as_me), people would be surprised to read: ++ # /* config.h. Generated by config.status. */ ++ configure_input='Generated from '` ++ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' ++ `' by configure.' ++ if test x"$ac_file" != x-; then ++ configure_input="$ac_file. $configure_input" ++ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 ++$as_echo "$as_me: creating $ac_file" >&6;} ++ fi ++ # Neutralize special characters interpreted by sed in replacement strings. ++ case $configure_input in #( ++ *\&* | *\|* | *\\* ) ++ ac_sed_conf_input=`$as_echo "$configure_input" | ++ sed 's/[\\\\&|]/\\\\&/g'`;; #( ++ *) ac_sed_conf_input=$configure_input;; ++ esac + -+ } ++ case $ac_tag in ++ *:-:* | *:-) cat >"$ac_tmp/stdin" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; ++ esac ++ ;; ++ esac + -+ return newfd; -+} ++ ac_dir=`$as_dirname -- "$ac_file" || ++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$ac_file" : 'X\(//\)[^/]' \| \ ++ X"$ac_file" : 'X\(//\)$' \| \ ++ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$ac_file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ as_dir="$ac_dir"; as_fn_mkdir_p ++ ac_builddir=. + -+//--------------------------------------------------------------------------------- -+int _close_r(struct _reent *ptr, int fd) { -+//--------------------------------------------------------------------------------- -+ int ret = 0; ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix + -+ if (fd < 0 || fd >= MAX_HANDLES) { ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + -+ ptr->_errno = EBADF; -+ return -1; + -+ } ++ case $ac_mode in ++ :F) ++ # ++ # CONFIG_FILE ++ # + -+ __lock_acquire (__hndl_lock); ++ case $INSTALL in ++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; ++ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; ++ esac ++_ACEOF + -+ __handle *handle = handles[fd]; ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++# If the template does not know about datarootdir, expand it. ++# FIXME: This hack should be removed a few years after 2.60. ++ac_datarootdir_hack=; ac_datarootdir_seen= ++ac_sed_dataroot=' ++/datarootdir/ { ++ p ++ q ++} ++/@datadir@/p ++/@docdir@/p ++/@infodir@/p ++/@localedir@/p ++/@mandir@/p' ++case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in ++*datarootdir*) ac_datarootdir_seen=yes;; ++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ ac_datarootdir_hack=' ++ s&@datadir@&$datadir&g ++ s&@docdir@&$docdir&g ++ s&@infodir@&$infodir&g ++ s&@localedir@&$localedir&g ++ s&@mandir@&$mandir&g ++ s&\\\${datarootdir}&$datarootdir&g' ;; ++esac ++_ACEOF + -+ if ( !handle ) { ++# Neutralize VPATH when `$srcdir' = `.'. ++# Shell code in configure.ac might set extrasub. ++# FIXME: do we really want to maintain this feature? ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_sed_extra="$ac_vpsub ++$extrasub ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ++:t ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b ++s|@configure_input@|$ac_sed_conf_input|;t t ++s&@top_builddir@&$ac_top_builddir_sub&;t t ++s&@top_build_prefix@&$ac_top_build_prefix&;t t ++s&@srcdir@&$ac_srcdir&;t t ++s&@abs_srcdir@&$ac_abs_srcdir&;t t ++s&@top_srcdir@&$ac_top_srcdir&;t t ++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t ++s&@builddir@&$ac_builddir&;t t ++s&@abs_builddir@&$ac_abs_builddir&;t t ++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t ++s&@INSTALL@&$ac_INSTALL&;t t ++$ac_datarootdir_hack ++" ++eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | ++if $ac_cs_awk_getline; then ++ $AWK -f "$ac_tmp/subs.awk" ++else ++ $AWK -f "$ac_tmp/subs.awk" | $SHELL ++fi \ ++ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + -+ __lock_release (__hndl_lock); -+ ptr->_errno = EBADF; -+ return -1; ++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && ++ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && ++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ ++ "$ac_tmp/out"`; test -z "$ac_out"; } && ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined" >&5 ++$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined" >&2;} + -+ } ++ rm -f "$ac_tmp/stdin" ++ case $ac_file in ++ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; ++ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; ++ esac \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ ;; ++ :H) ++ # ++ # CONFIG_HEADER ++ # ++ if test x"$ac_file" != x-; then ++ { ++ $as_echo "/* $configure_input */" \ ++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" ++ } >"$ac_tmp/config.h" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 ++$as_echo "$as_me: $ac_file is unchanged" >&6;} ++ else ++ rm -f "$ac_file" ++ mv "$ac_tmp/config.h" "$ac_file" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ fi ++ else ++ $as_echo "/* $configure_input */" \ ++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ ++ || as_fn_error $? "could not create -" "$LINENO" 5 ++ fi ++ ;; ++ ++ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 ++$as_echo "$as_me: executing $ac_file commands" >&6;} ++ ;; ++ esac + -+ int ref = --handle->refcount; -+ handles[fd] = NULL; + -+ __lock_release (__hndl_lock); ++ case $ac_file$ac_mode in ++ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do ++ # Strip MF so we end up with the name of the file. ++ mf=`echo "$mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile or not. ++ # We used to match only the files named `Makefile.in', but ++ # some people rename them; so instead we look at the file content. ++ # Grep'ing the first line is not enough: some people post-process ++ # each Makefile.in and add a new line on top of each file to say so. ++ # So let's grep whole file. ++ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then ++ dirpart=`$as_dirname -- "$mf" || ++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$mf" : 'X\(//\)[^/]' \| \ ++ X"$mf" : 'X\(//\)$' \| \ ++ X"$mf" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$mf" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ else ++ continue ++ fi ++ # Extract the definition of DEPDIR, am__include, and am__quote ++ # from the Makefile without running `make'. ++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ am__include=`sed -n 's/^am__include = //p' < "$mf"` ++ test -z "am__include" && continue ++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n 's/^U = //p' < "$mf"` ++ # Find all dependency output files, they are included files with ++ # $(DEPDIR) in their names. We invoke sed twice because it is the ++ # simplest approach to changing $(DEPDIR) to its actual value in the ++ # expansion. ++ for file in `sed -n " ++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`$as_dirname -- "$file" || ++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$file" : 'X\(//\)[^/]' \| \ ++ X"$file" : 'X\(//\)$' \| \ ++ X"$file" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ as_dir=$dirpart/$fdir; as_fn_mkdir_p ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++ ;; ++ "Makefile":F) ac_file=Makefile . ${libgloss_topdir}/config-ml.in ;; + -+ if ( ref == 0 ) { ++ esac ++done # for ac_tag + -+ if ( devoptab_list[handle->device]->close_r ) { + -+ ptr->deviceData = devoptab_list[handle->device]->deviceData; -+ ret = devoptab_list[handle->device]->close_r(ptr,handle->fileStruct); ++as_fn_exit 0 ++_ACEOF ++ac_clean_files=$ac_clean_files_save + -+ } ++test $ac_write_fail = 0 || ++ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + -+ __free_handle(handle); -+ } + -+ return ret; -+} -diff --git a/libgloss/libsysbase/handle_manager.h b/libgloss/libsysbase/handle_manager.h -new file mode 100644 -index 000000000..5e81c5d42 ---- /dev/null -+++ b/libgloss/libsysbase/handle_manager.h -@@ -0,0 +1,10 @@ -+#ifndef __HANDLE_MANAGER_H__ -+#define __HANDLE_MANAGER_H__ ++# configure is writing to config.log, and then calls config.status. ++# config.status does its own redirection, appending to config.log. ++# Unfortunately, on DOS this fails, as config.log is still kept open ++# by configure, so config.status won't be able to write to it; its ++# output is simply discarded. So we exec the FD to /dev/null, ++# effectively closing config.log, so it can be properly (re)opened and ++# appended to by config.status. When coming back to configure, we ++# need to make the FD available again. ++if test "$no_create" != yes; then ++ ac_cs_success=: ++ ac_config_status_args= ++ test "$silent" = yes && ++ ac_config_status_args="$ac_config_status_args --quiet" ++ exec 5>/dev/null ++ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false ++ exec 5>>config.log ++ # Use ||, not &&, to avoid exiting from the if with $? = 1, which ++ # would make configure fail if this is the last instruction. ++ $ac_cs_success || as_fn_exit 1 ++fi ++if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 ++$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} ++fi + -+#include + -+void __release_handle(int fd); -+int __alloc_handle(int device); -+__handle *__get_handle(int fd); + -+#endif -diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c +diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in new file mode 100644 -index 000000000..948c6ef93 +index 000000000..d15eab89d --- /dev/null -+++ b/libgloss/libsysbase/iosupport.c -@@ -0,0 +1,140 @@ -+#include -+#include -+#include -+#include ++++ b/libgloss/libsysbase/configure.in +@@ -0,0 +1,202 @@ ++# Copyright (c) 1995, 1996 Cygnus Support ++# ++# The authors hereby grant permission to use, copy, modify, distribute, ++# and license this software and its documentation for any purpose, provided ++# that existing copyright notices are retained in all copies and that this ++# notice is included verbatim in any distributions. No written agreement, ++# license, or royalty fee is required for any of the authorized uses. ++# Modifications to this software may be copyrighted by their authors ++# and need not follow the licensing terms described here, provided that ++# the new terms are clearly indicated on the first page of each file where ++# they apply. ++# ++# Process this file with autoconf to produce a configure script. ++# ++AC_PREREQ(2.59) ++AC_INIT(abort.c) ++AC_CONFIG_HEADER(config.h) + -+static int defaultDevice = -1; ++if test "${enable_shared}" = "yes" ; then ++ echo "Shared libraries not supported for cross compiling, ignored" ++fi + -+//--------------------------------------------------------------------------------- -+void setDefaultDevice( int device ) { -+//--------------------------------------------------------------------------------- ++if test "$srcdir" = "." ; then ++ if test "${with_target_subdir}" != "." ; then ++ libgloss_topdir="${srcdir}/${with_multisrctop}../../.." ++ else ++ libgloss_topdir="${srcdir}/${with_multisrctop}../.." ++ fi ++else ++ libgloss_topdir="${srcdir}/../.." ++fi ++AC_CONFIG_AUX_DIR($libgloss_topdir) + -+ if ( device >2 && device <= STD_MAX) -+ defaultDevice = device; -+} ++AC_CANONICAL_SYSTEM ++AC_ARG_PROGRAM + -+//--------------------------------------------------------------------------------- -+static ssize_t null_write(struct _reent *r,void *fd,const char *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ return len; -+} ++AC_PROG_INSTALL + -+//--------------------------------------------------------------------------------- -+const devoptab_t dotab_stdnull = { -+//--------------------------------------------------------------------------------- -+ "stdnull", // device name -+ 0, // size of file structure -+ NULL, // device open -+ NULL, // device close -+ null_write, // device write -+ NULL, // device read -+ NULL, // device seek -+ NULL, // device fstat -+ NULL, // device stat -+ NULL, // device link -+ NULL, // device unlink -+ NULL, // device chdir -+ NULL, // device rename -+ NULL, // device mkdir -+ 0, // dirStateSize -+ NULL, // device diropen_r -+ NULL, // device dirreset_r -+ NULL, // device dirnext_r -+ NULL, // device dirclose_r -+ NULL, // device statvfs_r -+ NULL, // device ftruncate_r -+ NULL, // device fsync_r -+ NULL, // deviceData -+ NULL, // chmod_r -+ NULL, // fchmod_r -+ NULL, // rmdir_r -+ NULL, // lstat_r -+ NULL, // utimes_r -+}; ++AC_DEFINE(HAVE_GNU_LD) ++dnl Make sure syscall names match those being used by newlib ++case "${target}" in ++ *-*-cygwin*) ++ ;; ++ a29k-amd-udi) ++ ;; ++ arc-*-*) ++ ;; ++ arm-*-eabi) ++ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ ;; ++ arm*-*-*) ++ ;; ++ bfin-*-*) ++ ;; ++ cris-*-* | crisv32-*-*) ++ ;; ++ d10v*) ++ ;; ++ h8300*-*-*) ++ ;; ++ h8500-*-*) ++ ;; ++ i[3456]86-*-sco*) ++ ;; ++ lm32-*-*) ++ ;; ++ m32r-*-*) ++ ;; ++ mn10?00-*-*) ++ ;; ++ powerpc-*-eabi) ++ AC_DEFINE(REENTRANT_SYSCALLS_PROVIDED) ++ ;; ++ powerpcle-*-pe) ++ ;; ++ sh*-*-*) ++ ;; ++ sparc-sun-sunos*) ++ ;; ++ sparc64-*-*) ++ ;; ++ v850*-*-*) ++ ;; ++ w65-*-*) ++ ;; ++ xstormy16-*-*) ++ ;; ++ z8k-*-*) ++ ;; ++ *) ++ AC_DEFINE(MISSING_SYSCALL_NAMES) ++ ;; ++esac + -+//--------------------------------------------------------------------------------- -+const devoptab_t *devoptab_list[STD_MAX] = { -+//--------------------------------------------------------------------------------- -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull -+}; ++dnl Make sure we know if elf format used ++case "${target}" in ++ *-*-elf) ++ AC_DEFINE(HAVE_ELF) + -+//--------------------------------------------------------------------------------- -+int FindDevice(const char* name) { -+//--------------------------------------------------------------------------------- -+ int i = 0, namelen, dev_namelen, dev = -1; -+ char *separator; ++ AC_CACHE_CHECK([for .previous assembler directive], ++ libc_cv_asm_previous_directive, [dnl ++ libc_cv_asm_previous_directive=no ++ cat > conftest.s <&AC_FD_CC); then ++ libc_cv_asm_previous_directive=yes ++ fi ++ rm -f conftest*]) + -+ separator = strchr(name, ':'); ++ if test "x${libc_cv_asm_previous_directive}" = "xyes"; then ++ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) ++ fi + -+ if (separator == NULL) return defaultDevice; ++ AC_CACHE_CHECK([for .popsection assembler directive], ++ libc_cv_asm_popsection_directive, [dnl ++ libc_cv_asm_popsection_directive=no ++ cat > conftest.s <&AC_FD_CC); then ++ libc_cv_asm_popsection_directive=yes ++ fi ++ rm -f conftest*]) + -+ dev_namelen = separator - name; ++ if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then ++ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) ++ fi + -+ while(iname); -+ if(dev_namelen == namelen && strncmp(devoptab_list[i]->name,name,namelen)==0 ) { -+ if ( name[namelen] == ':' || (isdigit(name[namelen]) && name[namelen+1] ==':' )) { -+ dev = i; -+ break; -+ } -+ } -+ } -+ i++; -+ } ++ AC_CACHE_CHECK([for section attributes], ++ libc_cv_section_attributes, [dnl ++ libc_cv_section_attributes=no ++ cat > conftest.c <&AC_FD_CC); then ++ libc_cv_section_attributes=yes ++ fi ++ rm -f conftest*]) ++ if test "x${libc_cv_section_attributes}" = "xyes"; then ++ AC_DEFINE(HAVE_SECTION_ATTRIBUTES) ++ fi ++ ;; ++esac + -+ return dev; -+} ++AC_CACHE_CHECK([for symbol prefix], libc_cv_symbol_prefix, [dnl ++cat > conftest.c <<\EOF ++foo () { } ++EOF ++dnl ++libc_cv_symbol_prefix=none ++if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); ++then ++ libc_cv_symbol_prefix='$' ++else ++ if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]); ++ then ++ libc_cv_symbol_prefix=_ ++ fi ++fi ++rm -f conftest* ]) ++if test $libc_cv_symbol_prefix != none; then ++ AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_cv_symbol_prefix") ++else ++ AC_DEFINE(__SYMBOL_PREFIX, "") ++fi + -+//--------------------------------------------------------------------------------- -+int RemoveDevice( const char* name) { -+//--------------------------------------------------------------------------------- -+ int dev = FindDevice(name); ++LIB_AC_PROG_CC ++AS=${AS-as} ++AC_SUBST(AS) ++AR=${AR-ar} ++AC_SUBST(AR) ++LD=${LD-ld} ++AC_SUBST(LD) ++AC_PROG_RANLIB ++LIB_AM_PROG_AS + -+ if ( -1 != dev ) { -+ devoptab_list[dev] = &dotab_stdnull; -+ return 0; -+ } ++host_makefile_frag=${srcdir}/../config/default.mh + -+ return -1; ++dnl We have to assign the same value to other variables because autoconf ++dnl doesn't provide a mechanism to substitute a replacement keyword with ++dnl arbitrary data or pathnames. ++dnl ++host_makefile_frag_path=$host_makefile_frag ++AC_SUBST(host_makefile_frag_path) ++AC_SUBST_FILE(host_makefile_frag) + -+} ++AC_CONFIG_FILES(Makefile, ++ac_file=Makefile . ${libgloss_topdir}/config-ml.in, ++srcdir=${srcdir} ++target=${target} ++with_multisubdir=${with_multisubdir} ++ac_configure_args="${ac_configure_args} --enable-multilib" ++CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} ++libgloss_topdir=${libgloss_topdir} ++) ++AC_OUTPUT + -+//--------------------------------------------------------------------------------- -+int AddDevice( const devoptab_t* device) { -+//--------------------------------------------------------------------------------- + -+ int devnum; +diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c +new file mode 100644 +index 000000000..482d2f814 +--- /dev/null ++++ b/libgloss/libsysbase/dirent.c +@@ -0,0 +1,257 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + -+ for ( devnum = 3;devnum name, device->name) && -+ strlen(devoptab_list[devnum]->name) == strlen(device->name) ) || -+ !strcmp(devoptab_list[devnum]->name, "stdnull") -+ ) -+ break; -+ } ++ dev = FindDevice(path); + -+ if ( devnum == STD_MAX ) { -+ devnum = -1; -+ } else { -+ devoptab_list[devnum] = device; -+ } -+ return devnum; -+} ++ if(dev!=-1) { ++ if(devoptab_list[dev]->diropen_r) { + -+//--------------------------------------------------------------------------------- -+const devoptab_t* GetDeviceOpTab (const char *name) { -+//--------------------------------------------------------------------------------- -+ int dev = FindDevice(name); -+ if (dev >= 0 && dev < STD_MAX) { -+ return devoptab_list[dev]; -+ } else { -+ return NULL; -+ } -+} ++ r->deviceData = devoptab_list[dev]->deviceData; + ++ handle = (DIR_ITER *)malloc( sizeof(DIR_ITER) + devoptab_list[dev]->dirStateSize ); + -diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c -new file mode 100644 -index 000000000..2901f1474 ---- /dev/null -+++ b/libgloss/libsysbase/isatty.c -@@ -0,0 +1,10 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include ++ if ( NULL != handle ) { ++ handle->device = dev; ++ handle->dirStruct = ((void *)handle) + sizeof(DIR_ITER); + -+//--------------------------------------------------------------------------------- -+int _isatty_r( struct _reent *ptr, int file) { -+//--------------------------------------------------------------------------------- -+ return 0; -+} -diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c -new file mode 100644 -index 000000000..a7f10c0c5 ---- /dev/null -+++ b/libgloss/libsysbase/kill.c -@@ -0,0 +1,15 @@ -+/* -+ * Stub version of kill. -+ */ ++ dir = devoptab_list[dev]->diropen_r(r, handle, path); + -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include ++ if ( dir == NULL ) { ++ free (handle); ++ handle = NULL; ++ } ++ } else { ++ r->_errno = ENOSR; ++ handle = NULL; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } + -+//--------------------------------------------------------------------------------- -+int _kill_r( struct _reent *ptr, int pid, int sig) { -+//--------------------------------------------------------------------------------- -+ ptr->_errno = ENOSYS; -+ return -1; ++ return handle; +} -diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c -new file mode 100644 -index 000000000..d7a988359 ---- /dev/null -+++ b/libgloss/libsysbase/link.c -@@ -0,0 +1,30 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include + -+//--------------------------------------------------------------------------------- -+int _link_r(struct _reent *r, const char *existing, const char *new) { -+//--------------------------------------------------------------------------------- -+ int ret; -+ int sourceDev = FindDevice(existing); -+ int destDev = FindDevice(new); ++static int __dirreset (DIR_ITER *dirState) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; + -+ ret = -1; ++ if (dirState != NULL) { ++ dev = dirState->device; + -+ if ( sourceDev == destDev) { -+ if (devoptab_list[destDev]->link_r) { -+ r->deviceData = devoptab_list[destDev]->deviceData; -+ ret = devoptab_list[destDev]->link_r( r, existing, new); ++ if(devoptab_list[dev]->dirreset_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirreset_r(r, dirState); + } else { + r->_errno = ENOSYS; + } -+ } else { -+ r->_errno = EXDEV; + } ++ return ret; ++} ++ ++static int __dirnext (DIR_ITER *dirState, char *filename, struct stat *filestat) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; + ++ if (dirState != NULL) { ++ dev = dirState->device; ++ ++ if(devoptab_list[dev]->dirnext_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirnext_r(r, dirState, filename, filestat); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } + return ret; +} + -diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c -new file mode 100644 -index 000000000..39ef385b1 ---- /dev/null -+++ b/libgloss/libsysbase/lseek.c -@@ -0,0 +1,35 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include ++static int __dirclose (DIR_ITER *dirState) { ++ struct _reent *r = _REENT; ++ int ret = -1; ++ int dev = 0; + -+#include ++ if (dirState != NULL) { ++ dev = dirState->device; + -+#include ++ if (devoptab_list[dev]->dirclose_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->dirclose_r (r, dirState); ++ } else { ++ r->_errno = ENOSYS; ++ } + -+//--------------------------------------------------------------------------------- -+_off_t _lseek_r(struct _reent * r, int fileDesc, _off_t pos, int dir) { -+//--------------------------------------------------------------------------------- -+ _off_t ret = -1; -+ unsigned int dev = 0; ++ free (dirState); ++ } ++ return ret; ++} + -+ __handle * handle; ++DIR* opendir (const char *dirname) { ++ DIR* dirp = malloc (sizeof(DIR)); ++ if (!dirp) { ++ errno = ENOMEM; ++ return NULL; ++ } + -+ if(fileDesc!=-1) { ++ dirp->dirData = __diropen (dirname); ++ if (!dirp->dirData) { ++ free (dirp); ++ return NULL; ++ } + -+ handle = __get_handle(fileDesc); ++ dirp->position = 0; // 0th position means no file name has been returned yet ++ dirp->fileData.d_ino = -1; ++ dirp->fileData.d_type = DT_UNKNOWN; ++ dirp->fileData.d_name[0] = '\0'; + -+ if ( NULL == handle ) return ret; ++ return dirp; ++} + -+ dev = handle->device; + -+ if(devoptab_list[dev]->seek_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->seek_r( r, handle->fileStruct, pos, dir); -+ } else -+ r->_errno=ENOSYS; ++int closedir (DIR *dirp) { ++ int res; + ++ if (!dirp) { ++ errno = EBADF; ++ return -1; + } -+ return ret; + ++ res = __dirclose (dirp->dirData); ++ free (dirp); ++ return res; +} -diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c -new file mode 100644 -index 000000000..467744e9c ---- /dev/null -+++ b/libgloss/libsysbase/lstat.c -@@ -0,0 +1,30 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include + + -+//--------------------------------------------------------------------------------- -+int lstat(const char *__restrict __path, struct stat *__restrict __buf ) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+ int dev,ret=-1; ++struct dirent* readdir (DIR *dirp) { ++ struct stat st; ++ char filename[NAME_MAX+1]; ++ int res; ++ int olderrno = errno; + -+ dev = FindDevice(__path); ++ if (!dirp) { ++ errno = EBADF; ++ return NULL; ++ } + -+ if(dev!=-1) { -+ if (devoptab_list[dev]->lstat_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->lstat_r(r,__path,__buf); -+ } else { -+ r->_errno=ENOSYS; ++ res = __dirnext (dirp->dirData, filename, &st); ++ ++ if (res < 0) { ++ if (errno == ENOENT) { ++ // errno == ENONENT set by dirnext means it's end of directory ++ // But readdir should not touch errno in case of dir end ++ errno = olderrno; + } -+ } else { -+ r->_errno = ENODEV; ++ return NULL; + } -+ return ret; ++ ++ // We've moved forward in the directory ++ dirp->position += 1; ++ ++ if (strnlen(filename, sizeof(filename)) >= sizeof(dirp->fileData.d_name)) { ++ errno = EOVERFLOW; ++ return NULL; ++ } ++ ++ strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); ++ dirp->fileData.d_ino = st.st_ino; ++ dirp->fileData.d_type = IFTODT(st.st_mode); ++ ++ return &(dirp->fileData); +} + -diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c -new file mode 100644 -index 000000000..456590956 ---- /dev/null -+++ b/libgloss/libsysbase/malloc_vars.c -@@ -0,0 +1,2 @@ -+char *fake_heap_end = (char*)0; -+char *fake_heap_start = (char*)0; -diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c -new file mode 100644 -index 000000000..b4fcbd3d7 ---- /dev/null -+++ b/libgloss/libsysbase/mkdir.c -@@ -0,0 +1,19 @@ -+#include -+#include -+#include + -+int mkdir (const char *path, mode_t mode) { -+ struct _reent *r = _REENT; -+ int ret; -+ int dev = FindDevice(path); -+ ret = -1; ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { ++ struct stat st; ++ char filename[NAME_MAX+1]; ++ int res; + -+ if (devoptab_list[dev]->mkdir_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->mkdir_r(r, path, mode); -+ } else { -+ r->_errno = ENOSYS; ++ if (!dirp) { ++ return EBADF; + } + -+ return ret; -+} -diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c -new file mode 100644 -index 000000000..a233b9df6 ---- /dev/null -+++ b/libgloss/libsysbase/nanosleep.c -@@ -0,0 +1,14 @@ -+#include -+#include -+#include ++ res = __dirnext (dirp->dirData, filename, &st); ++ ++ if (res < 0) { ++ res = errno; ++ *result = NULL; ++ if (errno == ENOENT) { ++ // errno == ENONENT set by dirnext means it's end of directory ++ // But readdir should not touch errno in case of dir end ++ res = 0; ++ } ++ return res; ++ } ++ ++ // We've moved forward in the directory ++ dirp->position += 1; ++ ++ if (strnlen(filename, sizeof(filename)) >= sizeof(entry->d_name)) { ++ errno = EOVERFLOW; ++ return EOVERFLOW; ++ } ++ ++ strncpy (entry->d_name, filename, sizeof(entry->d_name)); ++ entry->d_ino = st.st_ino; ++ entry->d_type = IFTODT(st.st_mode); + -+int nanosleep(const struct timespec *req, struct timespec *rem) -+{ -+ if ( __has_syscall(nanosleep) ) { -+ return __syscall_nanosleep(req, rem); -+ } else { -+ *rem = *req; -+ errno = ENOSYS; -+ return -1; -+ } ++ *result = entry; ++ return 0; +} -diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c -new file mode 100644 -index 000000000..ca17db8bf ---- /dev/null -+++ b/libgloss/libsysbase/open.c -@@ -0,0 +1,46 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include + -+#include + -+//--------------------------------------------------------------------------------- -+int _open_r(struct _reent *r, const char *file, int flags, int mode) { -+//--------------------------------------------------------------------------------- -+ __handle *handle; -+ int dev, fd, ret; ++void rewinddir (DIR *dirp) { ++ if (!dirp) { ++ return; ++ } + -+ dev = FindDevice(file); ++ __dirreset (dirp->dirData); ++ dirp->position = 0; ++} + -+ fd = -1; -+ if(dev!=-1) { -+ if (devoptab_list[dev]->open_r) { -+ fd = __alloc_handle(dev); + -+ if ( -1 != fd ) { -+ handle = __get_handle(fd); ++void seekdir(DIR *dirp, long int loc) { ++ char filename[NAME_MAX+1]; + -+ r->deviceData = devoptab_list[dev]->deviceData; ++ if (!dirp || loc < 0) { ++ return; ++ } + -+ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, flags, mode); ++ if (dirp->position > loc) { ++ // The entry we want is before the one we have, ++ // so we have to start again from the begining ++ __dirreset (dirp->dirData); ++ dirp->position = 0; ++ } + -+ if ( ret == -1 ) { -+ __release_handle(fd); -+ fd = -1; -+ } -+ } else { -+ r->_errno = ENOSR; -+ } -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ r->_errno = ENOSYS; ++ // Keep reading entries until we reach the one we want ++ while ((dirp->position < loc) && ++ (__dirnext (dirp->dirData, filename, NULL) >= 0)) ++ { ++ dirp->position += 1; + } ++} + -+ return fd; ++ ++long int telldir(DIR *dirp) { ++ if (!dirp) { ++ return -1; ++ } ++ ++ return dirp->position; +} -diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c +diff --git a/libgloss/libsysbase/dummy.c b/libgloss/libsysbase/dummy.c new file mode 100644 -index 000000000..9c548d830 +index 000000000..e69de29bb +diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c +new file mode 100644 +index 000000000..1c485b26f --- /dev/null -+++ b/libgloss/libsysbase/read.c -@@ -0,0 +1,32 @@ ++++ b/libgloss/libsysbase/environ.c +@@ -0,0 +1,6 @@ ++/* ++ * Version of environ for no OS. ++ */ ++ ++char *__env[1] = { 0 }; ++char **environ = __env; +diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c +new file mode 100644 +index 000000000..0f192e582 +--- /dev/null ++++ b/libgloss/libsysbase/execve.c +@@ -0,0 +1,16 @@ ++/* ++ * Stub version of execve. ++ */ ++ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> -+#include +#include + -+#include -+ +//--------------------------------------------------------------------------------- -+_ssize_t _read_r(struct _reent *r, int fileDesc, void *ptr, size_t len) { ++int _execve_r( struct _reent * r, char *name, char **argv, char **env) { +//--------------------------------------------------------------------------------- -+ int ret = -1; -+ unsigned int dev = 0; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); -+ -+ if ( NULL == handle ) return ret; -+ -+ dev = handle->device; -+ -+ if(devoptab_list[dev]->read_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->read_r(r,handle->fileStruct,ptr,len); -+ } else -+ r->_errno=ENOSYS; -+ } -+ return ret; ++ r->_errno = ENOSYS; ++ return -1; +} + -diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c +diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c new file mode 100644 -index 000000000..433f7ef83 +index 000000000..5c5831cdf --- /dev/null -+++ b/libgloss/libsysbase/rename.c -@@ -0,0 +1,29 @@ ++++ b/libgloss/libsysbase/fchmod.c +@@ -0,0 +1,31 @@ +#include "config.h" -+#include ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include +#include +#include + -+//--------------------------------------------------------------------------------- -+int _rename_r( struct _reent *ptr, const char *existing, const char *newName) { -+//--------------------------------------------------------------------------------- ++#include ++ ++int fchmod(int fd, mode_t mode) { ++ int ret = -1, dev; + struct _reent *r = _REENT; + -+ int ret; -+ int sourceDev = FindDevice(existing); -+ int destDev = FindDevice(newName); ++ if(fd!=-1) { + -+ ret = -1; ++ __handle *handle = __get_handle(fd); + -+ if ( sourceDev == destDev) { -+ if (devoptab_list[destDev]->rename_r) { -+ r->deviceData = devoptab_list[destDev]->deviceData; -+ ret = devoptab_list[destDev]->rename_r( r, existing, newName); -+ } else { -+ r->_errno = ENOSYS; ++ if ( handle != NULL) { ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fchmod_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fchmod_r(r,handle->fileStruct,mode); ++ } else ++ r->_errno=ENOSYS; + } -+ } else { -+ r->_errno = EXDEV; + } -+ + return ret; +} -diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c +diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c new file mode 100644 -index 000000000..b8640b87d +index 000000000..8a66cd19f --- /dev/null -+++ b/libgloss/libsysbase/rmdir.c -@@ -0,0 +1,34 @@ -+#include "config.h" ++++ b/libgloss/libsysbase/flock.c +@@ -0,0 +1,22 @@ ++#include +#include <_ansi.h> +#include <_syslist.h> ++#include ++#include ++#include ++#ifndef REENTRANT_SYSCALLS_PROVIDED +#include ++#endif +#include -+#include ++#include + -+int _rmdir_r (struct _reent *ptr, const char *name) { -+ int dev,ret=-1; ++void __flockfile(FILE *fp) ++{ ++ __lock_acquire_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); ++} + -+ dev = FindDevice(name); -+ if(dev!=-1) { -+ if(devoptab_list[dev]->rmdir_r) { -+ ptr->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->rmdir_r(ptr,name); -+ } else { -+ ptr->_errno = ENOSYS; -+ } -+ } else { -+ ptr->_errno = ENODEV; -+ } ++void __funlockfile(FILE *fp) ++{ ++ __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); ++} ++ +diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c +new file mode 100644 +index 000000000..893b662ab +--- /dev/null ++++ b/libgloss/libsysbase/fnmatch.c +@@ -0,0 +1,201 @@ ++/* ++ * Copyright (c) 1989, 1993, 1994 ++ * The Regents of the University of California. All rights reserved. ++ * ++ * This code is derived from software contributed to Berkeley by ++ * Guido van Rossum. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. All advertising materials mentioning features or use of this software ++ * must display the following acknowledgement: ++ * This product includes software developed by the University of ++ * California, Berkeley and its contributors. ++ * 4. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * From FreeBSD fnmatch.c 1.11 ++ * $Id: fnmatch.c,v 1.3 1997/08/19 02:34:30 jdp Exp $ ++ */ + -+ return ret; -+} ++#define _GNU_SOURCE + -+#ifndef _REENT_ONLY ++#if defined(LIBC_SCCS) && !defined(lint) ++static char sccsid[] = "@(#)fnmatch.c 8.2 (Berkeley) 4/16/94"; ++#endif /* LIBC_SCCS and not lint */ + -+int -+rmdir (const char *filename) -+{ -+ return _rmdir_r (_REENT, filename); -+} ++/* ++ * Function fnmatch() as specified in POSIX 1003.2-1992, section B.6. ++ * Compares a filename or pathname to a pattern. ++ */ + -+#endif -diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c -new file mode 100644 -index 000000000..87b11dfb4 ---- /dev/null -+++ b/libgloss/libsysbase/sbrk.c -@@ -0,0 +1,53 @@ -+#include "config.h" -+#include <_ansi.h> -+#include -+#include -+#include ++#include ++#include +#include -+#include -+#include -+#include -+#include -+#include -+#include -+ + -+extern char *fake_heap_end; -+extern char *fake_heap_start; -+ -+/* Register name faking - works in collusion with the linker. */ -+register char * stack_ptr asm ("sp"); ++#include "fnmatch.h" + -+//--------------------------------------------------------------------------------- -+void *_sbrk_r (struct _reent *ptr, ptrdiff_t incr) { -+//--------------------------------------------------------------------------------- -+ extern char end asm ("__end__"); /* Defined by the linker. */ -+ static char * heap_start; ++#define EOS '\0' + -+ char * prev_heap_start; -+ char * heap_end; ++static const char *rangematch(const char *, char, int); + -+ if (heap_start == NULL) { -+ if (fake_heap_start == NULL) { -+ heap_start = &end; -+ } else { -+ heap_start = fake_heap_start; -+ } -+ } ++int ++fnmatch(const char *pattern, const char *string, int flags) ++{ ++ const char *stringstart; ++ char c, test; + -+ prev_heap_start = heap_start; ++ for (stringstart = string;;) ++ switch (c = *pattern++) { ++ case EOS: ++ if ((flags & FNM_LEADING_DIR) && *string == '/') ++ return (0); ++ return (*string == EOS ? 0 : FNM_NOMATCH); ++ case '?': ++ if (*string == EOS) ++ return (FNM_NOMATCH); ++ if (*string == '/' && (flags & FNM_PATHNAME)) ++ return (FNM_NOMATCH); ++ if (*string == '.' && (flags & FNM_PERIOD) && ++ (string == stringstart || ++ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) ++ return (FNM_NOMATCH); ++ ++string; ++ break; ++ case '*': ++ c = *pattern; ++ /* Collapse multiple stars. */ ++ while (c == '*') ++ c = *++pattern; + -+ if (fake_heap_end == NULL) { -+ heap_end = stack_ptr; -+ } else { -+ heap_end = fake_heap_end; -+ } ++ if (*string == '.' && (flags & FNM_PERIOD) && ++ (string == stringstart || ++ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) ++ return (FNM_NOMATCH); + -+ if (heap_start + incr > heap_end) { -+ ptr->_errno = ENOMEM; -+ return (caddr_t) -1; -+ } ++ /* Optimize for pattern with * at end or before /. */ ++ if (c == EOS) ++ if (flags & FNM_PATHNAME) ++ return ((flags & FNM_LEADING_DIR) || ++ strchr(string, '/') == NULL ? ++ 0 : FNM_NOMATCH); ++ else ++ return (0); ++ else if (c == '/' && flags & FNM_PATHNAME) { ++ if ((string = strchr(string, '/')) == NULL) ++ return (FNM_NOMATCH); ++ break; ++ } + -+ heap_start += incr; -+ return (caddr_t) prev_heap_start; ++ /* General case, use recursion. */ ++ while ((test = *string) != EOS) { ++ if (!fnmatch(pattern, string, flags & ~FNM_PERIOD)) ++ return (0); ++ if (test == '/' && flags & FNM_PATHNAME) ++ break; ++ ++string; ++ } ++ return (FNM_NOMATCH); ++ case '[': ++ if (*string == EOS) ++ return (FNM_NOMATCH); ++ if (*string == '/' && flags & FNM_PATHNAME) ++ return (FNM_NOMATCH); ++ if ((pattern = ++ rangematch(pattern, *string, flags)) == NULL) ++ return (FNM_NOMATCH); ++ ++string; ++ break; ++ case '\\': ++ if (!(flags & FNM_NOESCAPE)) { ++ if ((c = *pattern++) == EOS) { ++ c = '\\'; ++ --pattern; ++ } ++ } ++ /* FALLTHROUGH */ ++ default: ++ if (c == *string) ++ ; ++ else if ((flags & FNM_CASEFOLD) && ++ (tolower((unsigned char)c) == ++ tolower((unsigned char)*string))) ++ ; ++ else if ((flags & FNM_PREFIX_DIRS) && *string == EOS && ++ ((c == '/' && string != stringstart) || ++ (string == stringstart+1 && *stringstart == '/'))) ++ return (0); ++ else ++ return (FNM_NOMATCH); ++ string++; ++ break; ++ } ++ /* NOTREACHED */ +} -diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c -new file mode 100644 -index 000000000..bc18c1781 ---- /dev/null -+++ b/libgloss/libsysbase/scandir.c -@@ -0,0 +1,75 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* -+ * The DIRSIZ macro gives the minimum record length which will hold -+ * the directory entry. This requires the amount of space in struct dirent -+ * without the d_name field, plus enough space for the name with a terminating -+ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. -+ */ -+#undef DIRSIZ -+#ifdef _DIRENT_HAVE_D_NAMLEN -+#define DIRSIZ(dp) \ -+ (offsetof (struct dirent, d_name) + (((dp)->d_namlen+1 + 3) &~ 3)) -+#else -+#define DIRSIZ(dp) \ -+ (offsetof (struct dirent, d_name) + ((strlen((dp)->d_name)+1 + 3) &~ 3)) -+#endif + -+int -+scandir (const char *dirname, -+ struct dirent ***namelist, -+ int (*filter) __P((const struct dirent *)), -+ int (*compar) __P((const struct dirent **, const struct dirent **))) ++static const char * ++rangematch(const char *pattern, char test, int flags) +{ -+ DIR *d = opendir(dirname); ++ int negate, ok; ++ char c, c2; + -+ if (!d) return -1; ++ /* ++ * A bracket expression starting with an unquoted circumflex ++ * character produces unspecified results (IEEE 1003.2-1992, ++ * 3.13.2). This implementation treats it like '!', for ++ * consistency with the regular expression syntax. ++ * J.T. Conklin (conklin@ngai.kaleida.com) ++ */ ++ if ( (negate = (*pattern == '!' || *pattern == '^')) ) ++ ++pattern; + -+ struct dirent *de, **names = NULL, **tmp; -+ size_t cnt = 0, len = 0; ++ if (flags & FNM_CASEFOLD) ++ test = tolower((unsigned char)test); + -+ while (de = readdir(d)) { -+ if (filter && ! filter(de)) continue; -+ if (cnt >= len) { -+ len = 2*len+1; -+ if (len > SIZE_MAX/sizeof(*names)) break; -+ tmp = realloc(names, len * sizeof(*names)); -+ if (!tmp) break; -+ names = tmp; -+ } -+ names[cnt] = malloc(DIRSIZ(de)); -+ if (!names[cnt]) break; -+ memcpy(names[cnt++], de, DIRSIZ(de)); -+ } ++ for (ok = 0; (c = *pattern++) != ']';) { ++ if (c == '\\' && !(flags & FNM_NOESCAPE)) ++ c = *pattern++; ++ if (c == EOS) ++ return (NULL); + -+ closedir(d); ++ if (flags & FNM_CASEFOLD) ++ c = tolower((unsigned char)c); + -+ if(errno) { -+ if (names) while(cnt-- > 0) free(names[cnt]); -+ free(names); -+ return -1; -+ } ++ if (*pattern == '-' ++ && (c2 = *(pattern+1)) != EOS && c2 != ']') { ++ pattern += 2; ++ if (c2 == '\\' && !(flags & FNM_NOESCAPE)) ++ c2 = *pattern++; ++ if (c2 == EOS) ++ return (NULL); + -+ if (compar) qsort(names, cnt, sizeof(*names), (int (*)(const void *, const void *))compar); ++ if (flags & FNM_CASEFOLD) ++ c2 = tolower((unsigned char)c2); + -+ *namelist = names; -+ return cnt; ++ if ((unsigned char)c <= (unsigned char)test && ++ (unsigned char)test <= (unsigned char)c2) ++ ok = 1; ++ } else if (c == test) ++ ok = 1; ++ } ++ return (ok == negate ? NULL : pattern); +} -+ +diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c +new file mode 100644 +index 000000000..2bada9736 +--- /dev/null ++++ b/libgloss/libsysbase/fork.c +@@ -0,0 +1,15 @@ +/* -+ * Alphabetic order comparison routine for those who want it. ++ * Stub version of fork. + */ -+int -+alphasort (const struct dirent **d1, -+ const struct dirent **d2) -+{ -+ return(strcmp((*d1)->d_name, (*d2)->d_name)); -+} + -diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++ ++//--------------------------------------------------------------------------------- ++int _fork_r(struct _reent * r) { ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return -1; ++} +diff --git a/libgloss/libsysbase/fpathconf.c b/libgloss/libsysbase/fpathconf.c new file mode 100644 -index 000000000..f3aa97954 +index 000000000..453f64870 --- /dev/null -+++ b/libgloss/libsysbase/sleep.c -@@ -0,0 +1,18 @@ -+/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ -+ -+/* Written 2000 by Werner Almesberger */ -+ ++++ b/libgloss/libsysbase/fpathconf.c +@@ -0,0 +1,30 @@ +#include -+#include ++#include +#include ++#include ++#include ++#include + -+unsigned sleep(unsigned seconds) ++long fpathconf(int fd, int name) +{ -+ struct timespec ts; ++ int ret = -1; ++ unsigned int dev = 0; + -+ ts.tv_sec = seconds; -+ ts.tv_nsec = 0; -+ if (!nanosleep(&ts,&ts)) return 0; -+ if (errno == EINTR) return ts.tv_sec; -+ return -1; ++ __handle * handle = __get_handle(fd); ++ struct _reent *r = _REENT; ++ ++ if ( NULL == handle ) { ++ errno = EINVAL; ++ return ret; ++ } ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fpathconf_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fpathconf_r(r, handle->fileStruct, name); ++ } else ++ r->_errno=ENOSYS; ++ ++ return ret; +} -diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c +diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c new file mode 100644 -index 000000000..17181dc3b +index 000000000..32267b828 --- /dev/null -+++ b/libgloss/libsysbase/stat.c -@@ -0,0 +1,29 @@ ++++ b/libgloss/libsysbase/fstat.c +@@ -0,0 +1,32 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> +#include +#include -+#include +#include -+ ++#include + +//--------------------------------------------------------------------------------- -+int _stat_r(struct _reent *r, const char *file, struct stat *st) { ++int _fstat_r(struct _reent * r, int fileDesc, struct stat *st) { +//--------------------------------------------------------------------------------- -+ int dev,ret=-1; ++ int ret = -1; ++ unsigned int dev = 0; + -+ dev = FindDevice(file); ++ __handle * handle = NULL; + -+ if(dev!=-1) { -+ if (devoptab_list[dev]->stat_r) { ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); ++ ++ if ( NULL == handle ) return ret; ++ ++ dev = handle->device; ++ ++ if(devoptab_list[dev]->fstat_r) { + r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->stat_r(r,file,st); ++ ret = devoptab_list[dev]->fstat_r(r,handle->fileStruct,st); + } else { -+ r->_errno=ENOSYS; ++ r->_errno = ENOSYS; + } -+ } else { -+ r->_errno = ENODEV; + } + return ret; +} -+ -diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c +diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c new file mode 100644 -index 000000000..84e221340 +index 000000000..fb06cb6d1 --- /dev/null -+++ b/libgloss/libsysbase/statvfs.c -@@ -0,0 +1,24 @@ -+#include -+#include ++++ b/libgloss/libsysbase/fsync.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include +#include ++#include + ++#include + -+int statvfs(const char *path, struct statvfs *buf) { ++int fsync(int fileDesc ) { ++ int ret = -1; ++ unsigned int dev = 0; ++ unsigned int fd = -1; + struct _reent *r = _REENT; + -+ int ret; -+ int device = FindDevice(path); ++ __handle * handle; + -+ ret = -1; ++ handle = __get_handle(fileDesc); + -+ if ( device != -1 && devoptab_list[device]->statvfs_r) { ++ if ( NULL == handle ) { ++ errno = EINVAL; ++ return ret; ++ } + -+ r->deviceData = devoptab_list[device]->deviceData; -+ ret = devoptab_list[device]->statvfs_r(r, path, buf ); ++ dev = handle->device; + -+ } else { -+ r->_errno = ENOSYS; -+ } ++ if(devoptab_list[dev]->fsync_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->fsync_r(r, handle->fileStruct); ++ } else ++ r->_errno=ENOSYS; + + return ret; +} -diff --git a/libgloss/libsysbase/sysbase.specs b/libgloss/libsysbase/sysbase.specs +diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c new file mode 100644 -index 000000000..d5959084e +index 000000000..0cd7d0fc4 --- /dev/null -+++ b/libgloss/libsysbase/sysbase.specs -@@ -0,0 +1,11 @@ -+%rename link_gcc_c_sequence sysbase_link_gcc_c_sequence -+ -+*sysbase_libgloss: -+-lsysbase -+ -+*sysbase_libc: -+%{!specs=nano.specs:-lc} %{specs=nano.specs:-lc_nano} -+ -+*link_gcc_c_sequence: -+%(sysbase_link_gcc_c_sequence) --start-group %G %(sysbase_libc) %(sysbase_libgloss) --end-group ++++ b/libgloss/libsysbase/ftruncate.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include + -diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c -new file mode 100644 -index 000000000..69145f27c ---- /dev/null -+++ b/libgloss/libsysbase/syscall_support.c -@@ -0,0 +1,76 @@ +#include + -+void __libc_lock_init(_LOCK_T *lock) { -+ -+ if ( __has_syscall(lock_init) ) { -+ __syscall_lock_init(lock); -+ } -+} -+ -+void __libc_lock_acquire(_LOCK_T *lock ) { ++int ftruncate(int fileDesc, off_t len) { ++ int ret = -1; ++ unsigned int dev = 0; ++ unsigned int fd = -1; ++ struct _reent *r = _REENT; + -+ if ( __has_syscall(lock_acquire) ) { -+ __syscall_lock_acquire(lock); -+ } -+} ++ __handle * handle; + -+int __libc_lock_try_acquire(_LOCK_T *lock ) { ++ handle = __get_handle(fileDesc); + -+ if ( __has_syscall(lock_acquire) ) { -+ return __syscall_lock_try_acquire(lock); -+ } else { -+ return 0; ++ if ( NULL == handle ) { ++ r->_errno = EINVAL; ++ return ret; + } -+} -+ -+void __libc_lock_release(_LOCK_T *lock ) { + -+ if ( __has_syscall(lock_release) ) { -+ __syscall_lock_release(lock); -+ } -+} ++ dev = handle->device; + -+void __libc_lock_close(_LOCK_T *lock ) { ++ if(devoptab_list[dev]->ftruncate_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); ++ } else ++ r->_errno=ENOSYS; + -+ if ( __has_syscall(lock_close) ) { -+ __syscall_lock_close(lock); -+ } ++ return ret; +} +diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c +new file mode 100644 +index 000000000..c834c4c94 +--- /dev/null ++++ b/libgloss/libsysbase/getpid.c +@@ -0,0 +1,12 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include + -+void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { -+ -+ if ( __has_syscall(lock_init_recursive) ) { -+ __syscall_lock_init_recursive(lock); -+ } -+ ++//--------------------------------------------------------------------------------- ++int _getpid_r(struct _reent *ptr) { ++//--------------------------------------------------------------------------------- ++ ptr->_errno = ENOSYS; ++ return -1; +} + -+void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { -+ -+ if ( __has_syscall(lock_acquire_recursive) ) { -+ __syscall_lock_acquire_recursive(lock); -+ } -+} +diff --git a/libgloss/libsysbase/getreent.c b/libgloss/libsysbase/getreent.c +new file mode 100644 +index 000000000..a3f1e98a9 +--- /dev/null ++++ b/libgloss/libsysbase/getreent.c +@@ -0,0 +1,20 @@ + -+int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { ++/* default reentrant pointer when multithread enabled */ + -+ if ( __has_syscall(lock_acquire_recursive) ) { -+ return __syscall_lock_try_acquire_recursive(lock); -+ } else { -+ return 0; -+ } -+} ++#include <_ansi.h> ++#include ++#include + -+void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { ++#ifdef __getreent ++#undef __getreent ++#endif + -+ if ( __has_syscall(lock_release_recursive) ) { -+ __syscall_lock_release_recursive(lock); ++struct _reent *__getreent() { ++ if ( __has_syscall(getreent) ) { ++ return __syscall_getreent(); ++ } else { ++ return _impure_ptr; + } +} + -+void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { + -+ if ( __has_syscall(lock_close_recursive) ) { -+ __syscall_lock_close_recursive(lock); -+ } -+} -diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c +diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c new file mode 100644 -index 000000000..edac04a1a +index 000000000..0606a1204 --- /dev/null -+++ b/libgloss/libsysbase/times.c -@@ -0,0 +1,13 @@ ++++ b/libgloss/libsysbase/gettod.c +@@ -0,0 +1,18 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> ++#include +#include ++#include +#include + +//--------------------------------------------------------------------------------- -+clock_t _times_r(struct _reent *r, struct tms *ptms) { ++int _gettimeofday_r( struct _reent *ptr, struct timeval *ptimeval, void *ptimezone) { +//--------------------------------------------------------------------------------- -+ r->_errno = ENOSYS; -+ return (clock_t)-1; ++ if ( __has_syscall(gettod_r) ) return __syscall_gettod_r(ptr, ptimeval, ptimezone); ++ ++ ptr->_errno = ENOSYS; ++ return -1; ++ +} + -diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c +diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c new file mode 100644 -index 000000000..849525990 +index 000000000..45d5cf77c --- /dev/null -+++ b/libgloss/libsysbase/truncate.c -@@ -0,0 +1,54 @@ ++++ b/libgloss/libsysbase/handle_manager.c +@@ -0,0 +1,222 @@ +#include "config.h" +#include <_ansi.h> +#include <_syslist.h> ++#include +#include +#include -+#include + +#include + -+int truncate(const char *file, off_t len) -+{ ++#define MAX_HANDLES 1024 + -+ __handle *handle; -+ int dev, fd, ret; ++static __handle __stdin_handle = {0, 1, NULL}; ++static __handle __stdout_handle = {1, 1, NULL}; ++static __handle __stderr_handle = {2, 1, NULL}; + -+ struct _reent * r = _REENT; ++static __handle* handles[MAX_HANDLES] = { ++ &__stdin_handle, ++ &__stdout_handle, ++ &__stderr_handle ++}; + -+ dev = FindDevice(file); ++__LOCK_INIT(static, __hndl_lock); + -+ if(dev!=-1 && devoptab_list[dev]->open_r && devoptab_list[dev]->close_r && -+ devoptab_list[dev]->ftruncate_r) -+ { ++static void __free_handle(__handle *handle) { + -+ fd = __alloc_handle(dev); ++ if ( NULL != handle ++ && handle != &__stdin_handle ++ && handle != &__stdout_handle ++ && handle != &__stderr_handle ) { + -+ if ( -1 != fd ) { -+ handle = __get_handle(fd); ++ free(handle); + -+ r->deviceData = devoptab_list[dev]->deviceData; ++ } + -+ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, O_WRONLY, 0); ++} + -+ if ( ret < 0 ) { -+ __release_handle(fd); -+ return ret; -+ } ++void __release_handle(int fd) { + -+ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); ++ if ( fd <0 || fd >= MAX_HANDLES ) return; ++ ++ __lock_acquire (__hndl_lock); ++ ++ __free_handle(handles[fd]); ++ handles[fd] = NULL; ++ ++ __lock_release (__hndl_lock); ++ ++} ++ ++int __alloc_handle(int device) { ++ ++ int i, ret = -1; ++ ++ __lock_acquire (__hndl_lock); ++ ++ for ( i = 0; i < MAX_HANDLES; i++ ) { ++ if ( handles[i] == NULL ) break; ++ } ++ ++ size_t size = sizeof(__handle) + devoptab_list[device]->structSize; ++ ++ if ( i < MAX_HANDLES ) { ++ handles[i] = malloc(size); ++ __handle *handle = handles[i]; ++ if ( NULL != handles[i] ) { ++ ++ handles[i]->refcount = 1; ++ ret = i; ++ handles[i]->device = device; ++ handles[i]->fileStruct = (void *)&handle[1]; + -+ if (ret >= 0) { -+ ret = devoptab_list[dev]->close_r(r, handle->fileStruct); -+ } else { -+ // Close it anyway, we don't want to leak memory -+ devoptab_list[dev]->close_r(r, handle->fileStruct); -+ } + } else { -+ r->_errno = ENOSR; ++ ++ errno = ENOMEM; ++ + } + } else { -+ r->_errno = ENOSYS; ++ ++ errno = ENFILE; ++ + } + ++ __lock_release (__hndl_lock); ++ + return ret; +} -diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c -new file mode 100644 -index 000000000..0a4c087c9 ---- /dev/null -+++ b/libgloss/libsysbase/unlink.c -@@ -0,0 +1,27 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include + -+//--------------------------------------------------------------------------------- -+int _unlink_r(struct _reent * r, const char *name ) { -+//--------------------------------------------------------------------------------- -+ int dev,ret=-1; ++__handle *__get_handle(int fd) { + -+ dev = FindDevice(name); -+ if(dev<0) { -+ r->_errno = ENODEV; -+ } else { -+ if (devoptab_list[dev]->unlink_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->unlink_r(r,name); -+ } else { -+ r->_errno=ENOSYS; -+ } ++ if ( fd < 0 || fd >= MAX_HANDLES ) return NULL; ++ ++ __lock_acquire (__hndl_lock); ++ __handle *handle = handles[fd]; ++ __lock_release (__hndl_lock); ++ ++ return handle; ++} ++ ++int dup(int oldfd) { ++ int i, ret =-1; ++ ++ __lock_acquire (__hndl_lock); ++ ++ if (handles[oldfd]==NULL) { ++ __lock_release (__hndl_lock); ++ errno = EBADF; ++ return -1; ++ } ++ ++ ++ for ( i = 0; i < MAX_HANDLES; i++ ) { ++ if ( handles[i] == NULL ) break; ++ } ++ ++ if (irefcount++; ++ ret = i; + } ++ __lock_release (__hndl_lock); + + return ret; ++ +} + -diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c -new file mode 100644 -index 000000000..b54714775 ---- /dev/null -+++ b/libgloss/libsysbase/usleep.c -@@ -0,0 +1,18 @@ -+/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ ++int dup2(int oldfd, int newfd) { + -+/* Written 2000 by Werner Almesberger */ ++ if ( newfd < 0 || newfd >= MAX_HANDLES || ++ oldfd < 0 || oldfd >= MAX_HANDLES) { + -+#include -+#include -+#include ++ errno = EBADF; + -+int usleep(useconds_t useconds) -+{ -+ struct timespec ts; ++ return -1; ++ } + -+ ts.tv_sec = (long int)useconds / 1000000; -+ ts.tv_nsec = ((long int)useconds % 1000000) * 1000; -+ if (!nanosleep(&ts,&ts)) return 0; -+ if (errno == EINTR) return ts.tv_sec; -+ return -1; -+} -diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c -new file mode 100644 -index 000000000..462e86520 ---- /dev/null -+++ b/libgloss/libsysbase/utime.c -@@ -0,0 +1,41 @@ -+#include "config.h" ++ if ( newfd == oldfd ) { ++ return newfd; ++ } + -+#include -+#include -+#include -+#include -+#include ++ __lock_acquire (__hndl_lock); + -+int utimes(const char *filename, const struct timeval times[2]) -+{ -+ struct _reent *r = _REENT; -+ int dev,ret=-1; ++ if ( handles[oldfd] == NULL ) { ++ __lock_release (__hndl_lock); ++ errno = EBADF; ++ ++ return -1; ++ } ++ ++ __handle *handle = handles[newfd]; ++ ++ handles[newfd] = handles[oldfd]; ++ handles[newfd]->refcount++; ++ ++ if ( handle ) { ++ ++ int ref = --handle->refcount; ++ __lock_release (__hndl_lock); ++ ++ if ( ref == 0 ) { ++ ++ if ( devoptab_list[handle->device]->close_r ) { ++ ++ _REENT->deviceData = devoptab_list[handle->device]->deviceData; ++ devoptab_list[handle->device]->close_r(_REENT,handle->fileStruct); ++ ++ } + -+ dev = FindDevice(filename); ++ __free_handle(handle); ++ } + -+ if(dev!=-1) { -+ if (devoptab_list[dev]->utimes_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->utimes_r(r,filename,times); -+ } else { -+ r->_errno=ENOSYS; -+ } -+ } else { -+ r->_errno = ENODEV; -+ } -+ return ret; -+} ++ } else { + ++ __lock_release (__hndl_lock); + -+int utime(const char *filename, const struct utimbuf *times) -+{ -+ struct timeval t[2]; -+ if (times) { -+ t[0].tv_sec = times->actime; -+ t[0].tv_usec = 0; -+ t[1].tv_sec = times->modtime; -+ t[1].tv_usec = 0; -+ } ++ } + -+ return utimes(filename, t); ++ return newfd; +} -diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c -new file mode 100644 -index 000000000..a17561576 ---- /dev/null -+++ b/libgloss/libsysbase/wait.c -@@ -0,0 +1,16 @@ -+/* -+ * Stub version of wait. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include + +//--------------------------------------------------------------------------------- -+int _wait_r(struct _reent *r, int *status) { ++int _close_r(struct _reent *ptr, int fd) { +//--------------------------------------------------------------------------------- -+ r->_errno = ENOSYS; -+ return -1; -+} ++ int ret = 0; + -diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h -new file mode 100644 -index 000000000..2c2998250 ---- /dev/null -+++ b/libgloss/libsysbase/warning.h -@@ -0,0 +1,43 @@ -+#ifndef __WARNING_H__ -+#define __WARNING_H__ ++ if (fd < 0 || fd >= MAX_HANDLES) { + -+#ifdef HAVE_GNU_LD -+# ifdef HAVE_ELF ++ ptr->_errno = EBADF; ++ return -1; + -+/* We want the .gnu.warning.SYMBOL section to be unallocated. */ -+# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE -+# define __make_section_unallocated(section_string) \ -+ asm(".section " section_string "; .previous"); -+# elif defined (HAVE_ASM_POPSECTION_DIRECTIVE) -+# define __make_section_unallocated(section_string) \ -+ asm(".pushsection " section_string "; .popsection"); -+# else -+# define __make_section_unallocated(section_string) -+# endif ++ } + -+# ifdef HAVE_SECTION_ATTRIBUTES -+# define link_warning(symbol, msg) \ -+ __make_section_unallocated (".gnu.warning." #symbol) \ -+ static const char __evoke_link_warning_##symbol[] \ -+ __attribute__ ((section (".gnu.warning." #symbol))) = msg; -+# else -+# define link_warning(symbol, msg) -+# endif ++ __lock_acquire (__hndl_lock); + -+#else /* !ELF */ ++ __handle *handle = handles[fd]; + -+# define link_warning(symbol, msg) \ -+ asm(".stabs \"" msg "\",30,0,0,0\n" \ -+ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); -+# endif -+#else /* !GNULD */ -+/* We will never be heard; they will all die horribly. */ -+# define link_warning(symbol, msg) -+#endif ++ if ( !handle ) { + -+/* A canned warning for sysdeps/stub functions. */ -+#define stub_warning(name) \ -+ link_warning (name, \ -+ "warning: " #name " is not implemented and will always fail") ++ __lock_release (__hndl_lock); ++ ptr->_errno = EBADF; ++ return -1; + -+#endif /* __WARNING_H__ */ -diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c -new file mode 100644 -index 000000000..04198e854 ---- /dev/null -+++ b/libgloss/libsysbase/write.c -@@ -0,0 +1,31 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include ++ } + -+#include ++ int ref = --handle->refcount; ++ handles[fd] = NULL; + -+//--------------------------------------------------------------------------------- -+_ssize_t _write_r(struct _reent * r, int fileDesc, const void *ptr, size_t len) { -+//--------------------------------------------------------------------------------- -+ int ret = -1; -+ unsigned int dev = 0; ++ __lock_release (__hndl_lock); + -+ __handle * handle = NULL; ++ if ( ref == 0 ) { + -+ if(fileDesc!=-1) { -+ handle = __get_handle(fileDesc); ++ if ( devoptab_list[handle->device]->close_r ) { + -+ if ( NULL == handle ) return ret; ++ ptr->deviceData = devoptab_list[handle->device]->deviceData; ++ ret = devoptab_list[handle->device]->close_r(ptr,handle->fileStruct); + -+ dev = handle->device; ++ } + -+ if(devoptab_list[dev]->write_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->write_r(r,handle->fileStruct,ptr,len); -+ } else -+ r->_errno=ENOSYS; ++ __free_handle(handle); + } ++ + return ret; +} -diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h +diff --git a/libgloss/libsysbase/handle_manager.h b/libgloss/libsysbase/handle_manager.h new file mode 100644 -index 000000000..7b366f593 +index 000000000..5e81c5d42 --- /dev/null -+++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,115 @@ -+//--------------------------------------------------------------------------------- -+#ifndef __iosupp_h__ -+#define __iosupp_h__ -+//--------------------------------------------------------------------------------- -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+#include -+#include -+#include -+ -+enum { -+ STD_IN, -+ STD_OUT, -+ STD_ERR, -+ STD_MAX = 35 -+}; ++++ b/libgloss/libsysbase/handle_manager.h +@@ -0,0 +1,10 @@ ++#ifndef __HANDLE_MANAGER_H__ ++#define __HANDLE_MANAGER_H__ + ++#include + -+typedef struct { -+ unsigned int device; -+ unsigned int refcount; -+ void *fileStruct; -+} __handle; ++void __release_handle(int fd); ++int __alloc_handle(int device); ++__handle *__get_handle(int fd); + -+/* Directory iterator for mantaining state between dir* calls */ -+typedef struct { -+ int device; -+ void *dirStruct; -+} DIR_ITER; ++#endif +diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c +new file mode 100644 +index 000000000..71224902f +--- /dev/null ++++ b/libgloss/libsysbase/iosupport.c +@@ -0,0 +1,138 @@ ++#include ++#include ++#include ++#include + -+typedef struct { -+ const char *name; -+ size_t structSize; -+ int (*open_r)(struct _reent *r, void *fileStruct, const char *path, int flags, int mode); -+ int (*close_r)(struct _reent *r, void *fd); -+ ssize_t (*write_r)(struct _reent *r, void *fd, const char *ptr, size_t len); -+ ssize_t (*read_r)(struct _reent *r, void *fd, char *ptr, size_t len); -+ off_t (*seek_r)(struct _reent *r, void *fd, off_t pos, int dir); -+ int (*fstat_r)(struct _reent *r, void *fd, struct stat *st); -+ int (*stat_r)(struct _reent *r, const char *file, struct stat *st); -+ int (*link_r)(struct _reent *r, const char *existing, const char *newLink); -+ int (*unlink_r)(struct _reent *r, const char *name); -+ int (*chdir_r)(struct _reent *r, const char *name); -+ int (*rename_r) (struct _reent *r, const char *oldName, const char *newName); -+ int (*mkdir_r) (struct _reent *r, const char *path, int mode); ++static int defaultDevice = -1; + -+ size_t dirStateSize; ++//--------------------------------------------------------------------------------- ++void setDefaultDevice( int device ) { ++//--------------------------------------------------------------------------------- + -+ DIR_ITER* (*diropen_r)(struct _reent *r, DIR_ITER *dirState, const char *path); -+ int (*dirreset_r)(struct _reent *r, DIR_ITER *dirState); -+ int (*dirnext_r)(struct _reent *r, DIR_ITER *dirState, char *filename, struct stat *filestat); -+ int (*dirclose_r)(struct _reent *r, DIR_ITER *dirState); -+ int (*statvfs_r)(struct _reent *r, const char *path, struct statvfs *buf); -+ int (*ftruncate_r)(struct _reent *r, void *fd, off_t len); -+ int (*fsync_r)(struct _reent *r, void *fd); ++ if ( device >2 && device <= STD_MAX) ++ defaultDevice = device; ++} + -+ void *deviceData; ++//--------------------------------------------------------------------------------- ++static ssize_t null_write(struct _reent *r,void *fd,const char *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ return len; ++} + -+ int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); -+ int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); -+ int (*rmdir_r)(struct _reent *r, const char *name); -+ int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); -+ int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); ++//--------------------------------------------------------------------------------- ++const devoptab_t dotab_stdnull = { ++//--------------------------------------------------------------------------------- ++ "stdnull", // device name ++ 0, // size of file structure ++ NULL, // device open ++ NULL, // device close ++ null_write, // device write ++ NULL, // device read ++ NULL, // device seek ++ NULL, // device fstat ++ NULL, // device stat ++ NULL, // device link ++ NULL, // device unlink ++ NULL, // device chdir ++ NULL, // device rename ++ NULL, // device mkdir ++ 0, // dirStateSize ++ NULL, // device diropen_r ++ NULL, // device dirreset_r ++ NULL, // device dirnext_r ++ NULL, // device dirclose_r ++ NULL, // device statvfs_r ++ NULL, // device ftruncate_r ++ NULL, // device fsync_r ++ NULL, // deviceData ++ NULL, // chmod_r ++ NULL, // fchmod_r ++ NULL, // rmdir_r ++ NULL, // lstat_r ++ NULL, // utimes_r ++}; + -+} devoptab_t; ++//--------------------------------------------------------------------------------- ++const devoptab_t *devoptab_list[STD_MAX] = { ++//--------------------------------------------------------------------------------- ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, ++ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull ++}; + -+extern const devoptab_t *devoptab_list[]; ++//--------------------------------------------------------------------------------- ++int FindDevice(const char* name) { ++//--------------------------------------------------------------------------------- ++ int i = 0, namelen, dev_namelen, dev = -1; ++ char *separator; + -+#ifdef _BUILDING_LIBSYSBASE -+#define __SYSCALL(_name) __attribute__((weak)) __syscall_##_name -+#define __has_syscall(_name) (&__syscall_##_name) -+#else -+#define __SYSCALL(_name) __syscall_##_name -+#endif ++ separator = strchr(name, ':'); + -+void *__SYSCALL(sbrk_r) (struct _reent *ptr, ptrdiff_t incr); -+void __SYSCALL(exit) ( int rc ); -+int __SYSCALL(gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); -+void __SYSCALL(lock_init) (_LOCK_T *lock); -+void __SYSCALL(lock_acquire) (_LOCK_T *lock); -+int __SYSCALL(lock_try_acquire) (_LOCK_T *lock); -+void __SYSCALL(lock_release) (_LOCK_T *lock); -+void __SYSCALL(lock_close) (_LOCK_T *lock); -+void __SYSCALL(lock_init_recursive) (_LOCK_RECURSIVE_T *lock); -+void __SYSCALL(lock_acquire_recursive) (_LOCK_RECURSIVE_T *lock); -+int __SYSCALL(lock_try_acquire_recursive) (_LOCK_RECURSIVE_T *lock); -+void __SYSCALL(lock_release_recursive) (_LOCK_RECURSIVE_T *lock); -+void __SYSCALL(lock_close_recursive) (_LOCK_RECURSIVE_T *lock); -+struct _reent * __SYSCALL(getreent) (); -+int __SYSCALL(clock_gettime) (clockid_t clock_id, struct timespec *tp); -+int __SYSCALL(clock_settime) (clockid_t clock_id, const struct timespec *tp); -+int __SYSCALL(clock_getres) (clockid_t clock_id, struct timespec *res); -+int __SYSCALL(nanosleep) (const struct timespec *req, struct timespec *rem); ++ if (separator == NULL) return defaultDevice; + -+int AddDevice( const devoptab_t* device); -+int FindDevice(const char* name); -+int RemoveDevice(const char* name); -+void setDefaultDevice( int device ); -+const devoptab_t* GetDeviceOpTab (const char *name); ++ dev_namelen = separator - name; + -+void __release_handle(int fd); -+int __alloc_handle(int device); -+__handle *__get_handle(int fd); ++ while(iname); ++ if(dev_namelen == namelen && strncmp(devoptab_list[i]->name,name,namelen)==0 ) { ++ if ( name[namelen] == ':' || (isdigit(name[namelen]) && name[namelen+1] ==':' )) { ++ dev = i; ++ break; ++ } ++ } ++ } ++ i++; ++ } + -+#ifdef __cplusplus ++ return dev; +} -+#endif + +//--------------------------------------------------------------------------------- -+#endif // __iosupp_h__ ++int RemoveDevice( const char* name) { +//--------------------------------------------------------------------------------- --- -2.20.1 - - -From dd5d694feb30953f5da03ef4ac53c6156c93edf8 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Wed, 8 Mar 2023 16:24:45 +0000 -Subject: [PATCH 02/83] libgloss/Makefile.in, libgloss/configure: regenerate - ---- - libgloss/Makefile.in | 950 ++++++++++++++++++++++++++++++++++++++++++- - libgloss/configure | 59 ++- - 2 files changed, 986 insertions(+), 23 deletions(-) - -diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in -index a117577ea..91d73e2da 100644 ---- a/libgloss/Makefile.in -+++ b/libgloss/Makefile.in -@@ -173,23 +173,25 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) - @CONFIG_IQ2000_TRUE@am__append_26 = iq2000/test - @CONFIG_LIBNOSYS_TRUE@am__append_27 = libnosys/nosys.specs - @CONFIG_LIBNOSYS_TRUE@am__append_28 = libnosys/libnosys.a --@CONFIG_LM32_TRUE@am__append_29 = lm32/crt0.o lm32/sim.ld --@CONFIG_LM32_TRUE@am__append_30 = lm32/libgloss.a --@CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.S --@CONFIG_NIOS2_TRUE@am__append_32 = \ -+@CONFIG_LIBSYSBASE_TRUE@am__append_29 = libsysbase/sysbase.specs -+@CONFIG_LIBSYSBASE_TRUE@am__append_30 = libsysbase/libsysbase.a -+@CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.o lm32/sim.ld -+@CONFIG_LM32_TRUE@am__append_32 = lm32/libgloss.a -+@CONFIG_LM32_TRUE@am__append_33 = lm32/crt0.S -+@CONFIG_NIOS2_TRUE@am__append_34 = \ - @CONFIG_NIOS2_TRUE@ nios2/qemu-hosted.ld - --@CONFIG_NIOS2_TRUE@am__append_33 = nios2/libnios2.a --@CONFIG_RISCV_TRUE@am__append_34 = \ -+@CONFIG_NIOS2_TRUE@am__append_35 = nios2/libnios2.a -+@CONFIG_RISCV_TRUE@am__append_36 = \ - @CONFIG_RISCV_TRUE@ riscv/nano.specs \ - @CONFIG_RISCV_TRUE@ riscv/sim.specs \ - @CONFIG_RISCV_TRUE@ riscv/semihost.specs \ - @CONFIG_RISCV_TRUE@ riscv/crt0.o - --@CONFIG_RISCV_TRUE@am__append_35 = riscv/libgloss.a \ -+@CONFIG_RISCV_TRUE@am__append_37 = riscv/libgloss.a \ - @CONFIG_RISCV_TRUE@ riscv/libsemihost.a --@CONFIG_WINCE_TRUE@am__append_36 = $(gdbdir) --@CONFIG_WINCE_TRUE@am__append_37 = wince/stub.exe -+@CONFIG_WINCE_TRUE@am__append_38 = $(gdbdir) -+@CONFIG_WINCE_TRUE@am__append_39 = wince/stub.exe - subdir = . - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ -@@ -199,6 +201,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ - $(top_srcdir)/aarch64/acinclude.m4 \ - $(top_srcdir)/arm/acinclude.m4 $(top_srcdir)/i386/acinclude.m4 \ - $(top_srcdir)/libnosys/acinclude.m4 \ -+ $(top_srcdir)/libsysbase/acinclude.m4 \ - $(top_srcdir)/m68k/acinclude.m4 \ - $(top_srcdir)/mcore/acinclude.m4 \ - $(top_srcdir)/mips/acinclude.m4 \ -@@ -421,6 +424,54 @@ libobjs_a_LIBADD = - am_libobjs_a_OBJECTS = $(am__objects_3) $(am__objects_4) \ - $(am__objects_5) $(am__objects_6) - libobjs_a_OBJECTS = $(am_libobjs_a_OBJECTS) -+libsysbase_libsysbase_a_AR = $(AR) $(ARFLAGS) -+libsysbase_libsysbase_a_LIBADD = -+@CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libsysbase_a_OBJECTS = libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-getpid.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-getreent.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-gettod.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-handle_manager.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-iosupport.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-isatty.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-kill.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-link.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lseek.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-scandir.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-unlink.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-usleep.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-utime.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-wait.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-write.$(OBJEXT) -+libsysbase_libsysbase_a_OBJECTS = \ -+ $(am_libsysbase_libsysbase_a_OBJECTS) - lm32_libgloss_a_AR = $(AR) $(ARFLAGS) - lm32_libgloss_a_LIBADD = - @CONFIG_LM32_TRUE@am_lm32_libgloss_a_OBJECTS = lm32/isatty.$(OBJEXT) \ -@@ -572,10 +623,10 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ - $(bfin_libbfinbsp_a_SOURCES) $(bfin_libsim_a_SOURCES) \ - $(csky_libsemi_a_SOURCES) $(d30v_libsim_a_SOURCES) \ - $(iq2000_libeval_a_SOURCES) $(libnosys_libnosys_a_SOURCES) \ -- $(libobjs_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ -- $(nios2_libnios2_a_SOURCES) $(riscv_libgloss_a_SOURCES) \ -- $(riscv_libsemihost_a_SOURCES) bfin/sim-test.c iq2000/test.c \ -- $(wince_stub_exe_SOURCES) -+ $(libobjs_a_SOURCES) $(libsysbase_libsysbase_a_SOURCES) \ -+ $(lm32_libgloss_a_SOURCES) $(nios2_libnios2_a_SOURCES) \ -+ $(riscv_libgloss_a_SOURCES) $(riscv_libsemihost_a_SOURCES) \ -+ bfin/sim-test.c iq2000/test.c $(wince_stub_exe_SOURCES) - AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) - am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) - am__v_DVIPS_0 = @echo " DVIPS " $@; -@@ -662,7 +713,7 @@ ETAGS = etags - CTAGS = ctags - CSCOPE = cscope - DIST_SUBDIRS = $(SUBDIRS) --VPATH = @srcdir@ $(am__append_36) -+VPATH = @srcdir@ $(am__append_38) - AARCH64_OBJTYPE = @AARCH64_OBJTYPE@ - ACLOCAL = @ACLOCAL@ - AMTAR = @AMTAR@ -@@ -772,6 +823,7 @@ pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ - psdir = @psdir@ -+runstatedir = @runstatedir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ - srcdir = @srcdir@ -@@ -797,12 +849,13 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) - multilibtool_DATA = $(am__append_3) $(am__append_6) $(am__append_7) \ - $(am__append_8) $(am__append_13) $(am__append_15) \ - $(am__append_18) $(am__append_22) $(am__append_23) \ -- $(am__append_27) $(am__append_29) $(am__append_32) \ -- $(am__append_34) -+ $(am__append_27) $(am__append_29) $(am__append_31) \ -+ $(am__append_34) $(am__append_36) - multilibtool_LIBRARIES = $(am__append_2) $(am__append_5) \ - $(am__append_9) $(am__append_11) $(am__append_20) \ - $(am__append_21) $(am__append_24) $(am__append_28) \ -- $(am__append_30) $(am__append_33) $(am__append_35) -+ $(am__append_30) $(am__append_32) $(am__append_35) \ -+ $(am__append_37) - includetooldir = $(tooldir)/include - includetool_DATA = $(am__append_16) - includesystooldir = $(tooldir)/include/sys -@@ -813,7 +866,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include - # to install (e.g. our crt0.o objects). - noinst_LIBRARIES = libobjs.a - libobjs_a_SOURCES = $(am__append_14) $(am__append_19) $(am__append_25) \ -- $(am__append_31) -+ $(am__append_33) - FLAGS_TO_PASS = \ - "CC=$(CC)" \ - "CFLAGS=$(CFLAGS)" \ -@@ -992,6 +1045,53 @@ TEXINFO_TEX = ../texinfo/texinfo.tex - @CONFIG_LIBNOSYS_TRUE@ libnosys/write.c \ - @CONFIG_LIBNOSYS_TRUE@ libnosys/_exit.c - -+@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE -+@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_SOURCES = \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/_exit.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/abort.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/build_argv.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chdir.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chmod.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/clocks.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dirent.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fchmod.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fsync.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/ftruncate.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/getpid.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/getreent.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/gettod.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/handle_manager.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/iosupport.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/isatty.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/kill.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/link.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/lseek.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/lstat.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/malloc_vars.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/mkdir.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/nanosleep.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sbrk.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/scandir.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/sleep.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/stat.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/statvfs.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/syscall_support.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/times.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/truncate.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/unlink.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/usleep.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/utime.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/wait.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/write.c ++ int dev = FindDevice(name); ++ ++ if ( -1 != dev ) { ++ devoptab_list[dev] = &dotab_stdnull; ++ return 0; ++ } + - @CONFIG_LM32_TRUE@lm32_libgloss_a_SOURCES = \ - @CONFIG_LM32_TRUE@ lm32/isatty.c \ - @CONFIG_LM32_TRUE@ lm32/scall.S -@@ -1099,7 +1199,7 @@ all: config.h - .SUFFIXES: .S .c .dvi .o .obj .ps - am--refresh: Makefile - @: --$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ -@@ -1121,7 +1221,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; --$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): -+$(top_srcdir)/../multilib.am $(srcdir)/doc/Makefile.inc $(srcdir)/aarch64/Makefile.inc $(srcdir)/aarch64/cpu-init/Makefile.inc $(srcdir)/arc/Makefile.inc $(srcdir)/arm/Makefile.inc $(srcdir)/arm/cpu-init/Makefile.inc $(srcdir)/bfin/Makefile.inc $(srcdir)/csky/Makefile.inc $(srcdir)/d30v/Makefile.inc $(srcdir)/iq2000/Makefile.inc $(srcdir)/libnosys/Makefile.inc $(srcdir)/libsysbase/Makefile.inc $(srcdir)/lm32/Makefile.inc $(srcdir)/nios2/Makefile.inc $(srcdir)/riscv/Makefile.inc $(srcdir)/wince/Makefile.inc $(am__empty): - - $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck -@@ -1585,6 +1685,149 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE - $(AM_V_at)-rm -f libobjs.a - $(AM_V_AR)$(libobjs_a_AR) libobjs.a $(libobjs_a_OBJECTS) $(libobjs_a_LIBADD) - $(AM_V_at)$(RANLIB) libobjs.a -+libsysbase/$(am__dirstamp): -+ @$(MKDIR_P) libsysbase -+ @: > libsysbase/$(am__dirstamp) -+libsysbase/$(DEPDIR)/$(am__dirstamp): -+ @$(MKDIR_P) libsysbase/$(DEPDIR) -+ @: > libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-getpid.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-getreent.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-gettod.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-handle_manager.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-iosupport.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-isatty.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-kill.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-link.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-lseek.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-scandir.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-unlink.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-usleep.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-utime.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-wait.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-write.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) ++ return -1; + -+libsysbase/libsysbase.a: $(libsysbase_libsysbase_a_OBJECTS) $(libsysbase_libsysbase_a_DEPENDENCIES) $(EXTRA_libsysbase_libsysbase_a_DEPENDENCIES) libsysbase/$(am__dirstamp) -+ $(AM_V_at)-rm -f libsysbase/libsysbase.a -+ $(AM_V_AR)$(libsysbase_libsysbase_a_AR) libsysbase/libsysbase.a $(libsysbase_libsysbase_a_OBJECTS) $(libsysbase_libsysbase_a_LIBADD) -+ $(AM_V_at)$(RANLIB) libsysbase/libsysbase.a - lm32/isatty.$(OBJEXT): lm32/$(am__dirstamp) \ - lm32/$(DEPDIR)/$(am__dirstamp) - lm32/scall.$(OBJEXT): lm32/$(am__dirstamp) \ -@@ -1852,6 +2095,7 @@ mostlyclean-compile: - -rm -f d30v/*.$(OBJEXT) - -rm -f iq2000/*.$(OBJEXT) - -rm -f libnosys/*.$(OBJEXT) -+ -rm -f libsysbase/*.$(OBJEXT) - -rm -f lm32/*.$(OBJEXT) - -rm -f nios2/*.$(OBJEXT) - -rm -f riscv/*.$(OBJEXT) -@@ -1973,6 +2217,50 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/unlink.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/wait.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/write.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/crt0.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/isatty.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/scall.Po@am__quote@ -@@ -2717,6 +3005,622 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csky_libsemi_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o csky/csky_libsemi_a-getpid.obj `if test -f 'csky/getpid.c'; then $(CYGPATH_W) 'csky/getpid.c'; else $(CYGPATH_W) '$(srcdir)/csky/getpid.c'; fi` - -+libsysbase/libsysbase_libsysbase_a-_exit.o: libsysbase/_exit.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-_exit.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo -c -o libsysbase/libsysbase_libsysbase_a-_exit.o `test -f 'libsysbase/_exit.c' || echo '$(srcdir)/'`libsysbase/_exit.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/_exit.c' object='libsysbase/libsysbase_libsysbase_a-_exit.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-_exit.o `test -f 'libsysbase/_exit.c' || echo '$(srcdir)/'`libsysbase/_exit.c ++} ++ ++//--------------------------------------------------------------------------------- ++int AddDevice( const devoptab_t* device) { ++//--------------------------------------------------------------------------------- ++ ++ int devnum; ++ ++ for ( devnum = 3;devnum name, device->name) && ++ strlen(devoptab_list[devnum]->name) == strlen(device->name) ) || ++ !strcmp(devoptab_list[devnum]->name, "stdnull") ++ ) ++ break; ++ } ++ ++ if ( devnum == STD_MAX ) { ++ devnum = -1; ++ } else { ++ devoptab_list[devnum] = device; ++ } ++ return devnum; ++} + -+libsysbase/libsysbase_libsysbase_a-_exit.obj: libsysbase/_exit.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-_exit.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo -c -o libsysbase/libsysbase_libsysbase_a-_exit.obj `if test -f 'libsysbase/_exit.c'; then $(CYGPATH_W) 'libsysbase/_exit.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/_exit.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/_exit.c' object='libsysbase/libsysbase_libsysbase_a-_exit.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-_exit.obj `if test -f 'libsysbase/_exit.c'; then $(CYGPATH_W) 'libsysbase/_exit.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/_exit.c'; fi` ++//--------------------------------------------------------------------------------- ++const devoptab_t* GetDeviceOpTab (const char *name) { ++//--------------------------------------------------------------------------------- ++ int dev = FindDevice(name); ++ if (dev >= 0 && dev < STD_MAX) { ++ return devoptab_list[dev]; ++ } else { ++ return NULL; ++ } ++} +diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c +new file mode 100644 +index 000000000..2901f1474 +--- /dev/null ++++ b/libgloss/libsysbase/isatty.c +@@ -0,0 +1,10 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include + -+libsysbase/libsysbase_libsysbase_a-abort.o: libsysbase/abort.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-abort.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo -c -o libsysbase/libsysbase_libsysbase_a-abort.o `test -f 'libsysbase/abort.c' || echo '$(srcdir)/'`libsysbase/abort.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/abort.c' object='libsysbase/libsysbase_libsysbase_a-abort.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.o `test -f 'libsysbase/abort.c' || echo '$(srcdir)/'`libsysbase/abort.c ++//--------------------------------------------------------------------------------- ++int _isatty_r( struct _reent *ptr, int file) { ++//--------------------------------------------------------------------------------- ++ return 0; ++} +diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c +new file mode 100644 +index 000000000..a7f10c0c5 +--- /dev/null ++++ b/libgloss/libsysbase/kill.c +@@ -0,0 +1,15 @@ ++/* ++ * Stub version of kill. ++ */ + -+libsysbase/libsysbase_libsysbase_a-abort.obj: libsysbase/abort.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-abort.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/abort.c' object='libsysbase/libsysbase_libsysbase_a-abort.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include + -+libsysbase/libsysbase_libsysbase_a-build_argv.o: libsysbase/build_argv.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/build_argv.c' object='libsysbase/libsysbase_libsysbase_a-build_argv.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c ++//--------------------------------------------------------------------------------- ++int _kill_r( struct _reent *ptr, int pid, int sig) { ++//--------------------------------------------------------------------------------- ++ ptr->_errno = ENOSYS; ++ return -1; ++} +diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c +new file mode 100644 +index 000000000..d7a988359 +--- /dev/null ++++ b/libgloss/libsysbase/link.c +@@ -0,0 +1,30 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include + -+libsysbase/libsysbase_libsysbase_a-build_argv.obj: libsysbase/build_argv.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.obj `if test -f 'libsysbase/build_argv.c'; then $(CYGPATH_W) 'libsysbase/build_argv.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/build_argv.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/build_argv.c' object='libsysbase/libsysbase_libsysbase_a-build_argv.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-build_argv.obj `if test -f 'libsysbase/build_argv.c'; then $(CYGPATH_W) 'libsysbase/build_argv.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/build_argv.c'; fi` ++//--------------------------------------------------------------------------------- ++int _link_r(struct _reent *r, const char *existing, const char *new) { ++//--------------------------------------------------------------------------------- ++ int ret; ++ int sourceDev = FindDevice(existing); ++ int destDev = FindDevice(new); + -+libsysbase/libsysbase_libsysbase_a-chdir.o: libsysbase/chdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chdir.o `test -f 'libsysbase/chdir.c' || echo '$(srcdir)/'`libsysbase/chdir.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chdir.c' object='libsysbase/libsysbase_libsysbase_a-chdir.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chdir.o `test -f 'libsysbase/chdir.c' || echo '$(srcdir)/'`libsysbase/chdir.c ++ ret = -1; + -+libsysbase/libsysbase_libsysbase_a-chdir.obj: libsysbase/chdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chdir.obj `if test -f 'libsysbase/chdir.c'; then $(CYGPATH_W) 'libsysbase/chdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chdir.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chdir.c' object='libsysbase/libsysbase_libsysbase_a-chdir.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chdir.obj `if test -f 'libsysbase/chdir.c'; then $(CYGPATH_W) 'libsysbase/chdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chdir.c'; fi` ++ if ( sourceDev == destDev) { ++ if (devoptab_list[destDev]->link_r) { ++ r->deviceData = devoptab_list[destDev]->deviceData; ++ ret = devoptab_list[destDev]->link_r( r, existing, new); ++ } else { ++ r->_errno = ENOSYS; ++ } ++ } else { ++ r->_errno = EXDEV; ++ } + -+libsysbase/libsysbase_libsysbase_a-chmod.o: libsysbase/chmod.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chmod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chmod.o `test -f 'libsysbase/chmod.c' || echo '$(srcdir)/'`libsysbase/chmod.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chmod.c' object='libsysbase/libsysbase_libsysbase_a-chmod.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chmod.o `test -f 'libsysbase/chmod.c' || echo '$(srcdir)/'`libsysbase/chmod.c ++ return ret; ++} + -+libsysbase/libsysbase_libsysbase_a-chmod.obj: libsysbase/chmod.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-chmod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-chmod.obj `if test -f 'libsysbase/chmod.c'; then $(CYGPATH_W) 'libsysbase/chmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chmod.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/chmod.c' object='libsysbase/libsysbase_libsysbase_a-chmod.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-chmod.obj `if test -f 'libsysbase/chmod.c'; then $(CYGPATH_W) 'libsysbase/chmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/chmod.c'; fi` +diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c +new file mode 100644 +index 000000000..39ef385b1 +--- /dev/null ++++ b/libgloss/libsysbase/lseek.c +@@ -0,0 +1,35 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include + -+libsysbase/libsysbase_libsysbase_a-clocks.o: libsysbase/clocks.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-clocks.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo -c -o libsysbase/libsysbase_libsysbase_a-clocks.o `test -f 'libsysbase/clocks.c' || echo '$(srcdir)/'`libsysbase/clocks.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/clocks.c' object='libsysbase/libsysbase_libsysbase_a-clocks.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.o `test -f 'libsysbase/clocks.c' || echo '$(srcdir)/'`libsysbase/clocks.c ++#include + -+libsysbase/libsysbase_libsysbase_a-clocks.obj: libsysbase/clocks.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-clocks.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/clocks.c' object='libsysbase/libsysbase_libsysbase_a-clocks.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` ++#include + -+libsysbase/libsysbase_libsysbase_a-dirent.o: libsysbase/dirent.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/dirent.c' object='libsysbase/libsysbase_libsysbase_a-dirent.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c ++//--------------------------------------------------------------------------------- ++_off_t _lseek_r(struct _reent * r, int fileDesc, _off_t pos, int dir) { ++//--------------------------------------------------------------------------------- ++ _off_t ret = -1; ++ unsigned int dev = 0; + -+libsysbase/libsysbase_libsysbase_a-dirent.obj: libsysbase/dirent.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.obj `if test -f 'libsysbase/dirent.c'; then $(CYGPATH_W) 'libsysbase/dirent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/dirent.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/dirent.c' object='libsysbase/libsysbase_libsysbase_a-dirent.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-dirent.obj `if test -f 'libsysbase/dirent.c'; then $(CYGPATH_W) 'libsysbase/dirent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/dirent.c'; fi` ++ __handle * handle; + -+libsysbase/libsysbase_libsysbase_a-environ.o: libsysbase/environ.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-environ.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo -c -o libsysbase/libsysbase_libsysbase_a-environ.o `test -f 'libsysbase/environ.c' || echo '$(srcdir)/'`libsysbase/environ.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/environ.c' object='libsysbase/libsysbase_libsysbase_a-environ.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-environ.o `test -f 'libsysbase/environ.c' || echo '$(srcdir)/'`libsysbase/environ.c ++ if(fileDesc!=-1) { + -+libsysbase/libsysbase_libsysbase_a-environ.obj: libsysbase/environ.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-environ.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo -c -o libsysbase/libsysbase_libsysbase_a-environ.obj `if test -f 'libsysbase/environ.c'; then $(CYGPATH_W) 'libsysbase/environ.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/environ.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/environ.c' object='libsysbase/libsysbase_libsysbase_a-environ.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-environ.obj `if test -f 'libsysbase/environ.c'; then $(CYGPATH_W) 'libsysbase/environ.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/environ.c'; fi` ++ handle = __get_handle(fileDesc); + -+libsysbase/libsysbase_libsysbase_a-execve.o: libsysbase/execve.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-execve.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo -c -o libsysbase/libsysbase_libsysbase_a-execve.o `test -f 'libsysbase/execve.c' || echo '$(srcdir)/'`libsysbase/execve.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/execve.c' object='libsysbase/libsysbase_libsysbase_a-execve.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-execve.o `test -f 'libsysbase/execve.c' || echo '$(srcdir)/'`libsysbase/execve.c ++ if ( NULL == handle ) return ret; + -+libsysbase/libsysbase_libsysbase_a-execve.obj: libsysbase/execve.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-execve.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo -c -o libsysbase/libsysbase_libsysbase_a-execve.obj `if test -f 'libsysbase/execve.c'; then $(CYGPATH_W) 'libsysbase/execve.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/execve.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/execve.c' object='libsysbase/libsysbase_libsysbase_a-execve.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-execve.obj `if test -f 'libsysbase/execve.c'; then $(CYGPATH_W) 'libsysbase/execve.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/execve.c'; fi` ++ dev = handle->device; + -+libsysbase/libsysbase_libsysbase_a-fchmod.o: libsysbase/fchmod.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fchmod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fchmod.o `test -f 'libsysbase/fchmod.c' || echo '$(srcdir)/'`libsysbase/fchmod.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fchmod.c' object='libsysbase/libsysbase_libsysbase_a-fchmod.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.o `test -f 'libsysbase/fchmod.c' || echo '$(srcdir)/'`libsysbase/fchmod.c ++ if(devoptab_list[dev]->seek_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->seek_r( r, handle->fileStruct, pos, dir); ++ } else ++ r->_errno=ENOSYS; ++ ++ } ++ return ret; ++ ++} +diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c +new file mode 100644 +index 000000000..467744e9c +--- /dev/null ++++ b/libgloss/libsysbase/lstat.c +@@ -0,0 +1,30 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include ++ ++ ++//--------------------------------------------------------------------------------- ++int lstat(const char *__restrict __path, struct stat *__restrict __buf ) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++ int dev,ret=-1; ++ ++ dev = FindDevice(__path); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->lstat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->lstat_r(r,__path,__buf); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ return ret; ++} ++ +diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c +new file mode 100644 +index 000000000..456590956 +--- /dev/null ++++ b/libgloss/libsysbase/malloc_vars.c +@@ -0,0 +1,2 @@ ++char *fake_heap_end = (char*)0; ++char *fake_heap_start = (char*)0; +diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c +new file mode 100644 +index 000000000..b4fcbd3d7 +--- /dev/null ++++ b/libgloss/libsysbase/mkdir.c +@@ -0,0 +1,19 @@ ++#include ++#include ++#include + -+libsysbase/libsysbase_libsysbase_a-fchmod.obj: libsysbase/fchmod.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fchmod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fchmod.c' object='libsysbase/libsysbase_libsysbase_a-fchmod.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` ++int mkdir (const char *path, mode_t mode) { ++ struct _reent *r = _REENT; ++ int ret; ++ int dev = FindDevice(path); ++ ret = -1; + -+libsysbase/libsysbase_libsysbase_a-fork.o: libsysbase/fork.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fork.c' object='libsysbase/libsysbase_libsysbase_a-fork.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c ++ if (devoptab_list[dev]->mkdir_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->mkdir_r(r, path, mode); ++ } else { ++ r->_errno = ENOSYS; ++ } + -+libsysbase/libsysbase_libsysbase_a-fork.obj: libsysbase/fork.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fork.c' object='libsysbase/libsysbase_libsysbase_a-fork.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` ++ return ret; ++} +diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c +new file mode 100644 +index 000000000..a233b9df6 +--- /dev/null ++++ b/libgloss/libsysbase/nanosleep.c +@@ -0,0 +1,14 @@ ++#include ++#include ++#include + -+libsysbase/libsysbase_libsysbase_a-fstat.o: libsysbase/fstat.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fstat.c' object='libsysbase/libsysbase_libsysbase_a-fstat.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c ++int nanosleep(const struct timespec *req, struct timespec *rem) ++{ ++ if ( __has_syscall(nanosleep) ) { ++ return __syscall_nanosleep(req, rem); ++ } else { ++ *rem = *req; ++ errno = ENOSYS; ++ return -1; ++ } ++} +diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c +new file mode 100644 +index 000000000..ca17db8bf +--- /dev/null ++++ b/libgloss/libsysbase/open.c +@@ -0,0 +1,46 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include ++#include + -+libsysbase/libsysbase_libsysbase_a-fstat.obj: libsysbase/fstat.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.obj `if test -f 'libsysbase/fstat.c'; then $(CYGPATH_W) 'libsysbase/fstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fstat.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fstat.c' object='libsysbase/libsysbase_libsysbase_a-fstat.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fstat.obj `if test -f 'libsysbase/fstat.c'; then $(CYGPATH_W) 'libsysbase/fstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fstat.c'; fi` ++#include + -+libsysbase/libsysbase_libsysbase_a-fsync.o: libsysbase/fsync.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fsync.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fsync.o `test -f 'libsysbase/fsync.c' || echo '$(srcdir)/'`libsysbase/fsync.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fsync.c' object='libsysbase/libsysbase_libsysbase_a-fsync.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fsync.o `test -f 'libsysbase/fsync.c' || echo '$(srcdir)/'`libsysbase/fsync.c ++//--------------------------------------------------------------------------------- ++int _open_r(struct _reent *r, const char *file, int flags, int mode) { ++//--------------------------------------------------------------------------------- ++ __handle *handle; ++ int dev, fd, ret; + -+libsysbase/libsysbase_libsysbase_a-fsync.obj: libsysbase/fsync.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fsync.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fsync.obj `if test -f 'libsysbase/fsync.c'; then $(CYGPATH_W) 'libsysbase/fsync.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fsync.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fsync.c' object='libsysbase/libsysbase_libsysbase_a-fsync.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fsync.obj `if test -f 'libsysbase/fsync.c'; then $(CYGPATH_W) 'libsysbase/fsync.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fsync.c'; fi` ++ dev = FindDevice(file); + -+libsysbase/libsysbase_libsysbase_a-ftruncate.o: libsysbase/ftruncate.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-ftruncate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.o `test -f 'libsysbase/ftruncate.c' || echo '$(srcdir)/'`libsysbase/ftruncate.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/ftruncate.c' object='libsysbase/libsysbase_libsysbase_a-ftruncate.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.o `test -f 'libsysbase/ftruncate.c' || echo '$(srcdir)/'`libsysbase/ftruncate.c ++ fd = -1; ++ if(dev!=-1) { ++ if (devoptab_list[dev]->open_r) { ++ fd = __alloc_handle(dev); + -+libsysbase/libsysbase_libsysbase_a-ftruncate.obj: libsysbase/ftruncate.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-ftruncate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.obj `if test -f 'libsysbase/ftruncate.c'; then $(CYGPATH_W) 'libsysbase/ftruncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/ftruncate.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/ftruncate.c' object='libsysbase/libsysbase_libsysbase_a-ftruncate.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-ftruncate.obj `if test -f 'libsysbase/ftruncate.c'; then $(CYGPATH_W) 'libsysbase/ftruncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/ftruncate.c'; fi` ++ if ( -1 != fd ) { ++ handle = __get_handle(fd); + -+libsysbase/libsysbase_libsysbase_a-getpid.o: libsysbase/getpid.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getpid.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getpid.o `test -f 'libsysbase/getpid.c' || echo '$(srcdir)/'`libsysbase/getpid.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getpid.c' object='libsysbase/libsysbase_libsysbase_a-getpid.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getpid.o `test -f 'libsysbase/getpid.c' || echo '$(srcdir)/'`libsysbase/getpid.c ++ r->deviceData = devoptab_list[dev]->deviceData; + -+libsysbase/libsysbase_libsysbase_a-getpid.obj: libsysbase/getpid.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getpid.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getpid.obj `if test -f 'libsysbase/getpid.c'; then $(CYGPATH_W) 'libsysbase/getpid.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getpid.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getpid.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getpid.c' object='libsysbase/libsysbase_libsysbase_a-getpid.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getpid.obj `if test -f 'libsysbase/getpid.c'; then $(CYGPATH_W) 'libsysbase/getpid.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getpid.c'; fi` ++ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, flags, mode); + -+libsysbase/libsysbase_libsysbase_a-getreent.o: libsysbase/getreent.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getreent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getreent.o `test -f 'libsysbase/getreent.c' || echo '$(srcdir)/'`libsysbase/getreent.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getreent.c' object='libsysbase/libsysbase_libsysbase_a-getreent.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getreent.o `test -f 'libsysbase/getreent.c' || echo '$(srcdir)/'`libsysbase/getreent.c ++ if ( ret == -1 ) { ++ __release_handle(fd); ++ fd = -1; ++ } ++ } else { ++ r->_errno = ENOSR; ++ } ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENOSYS; ++ } + -+libsysbase/libsysbase_libsysbase_a-getreent.obj: libsysbase/getreent.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-getreent.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-getreent.obj `if test -f 'libsysbase/getreent.c'; then $(CYGPATH_W) 'libsysbase/getreent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getreent.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-getreent.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/getreent.c' object='libsysbase/libsysbase_libsysbase_a-getreent.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-getreent.obj `if test -f 'libsysbase/getreent.c'; then $(CYGPATH_W) 'libsysbase/getreent.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/getreent.c'; fi` ++ return fd; ++} +diff --git a/libgloss/libsysbase/pathconf.c b/libgloss/libsysbase/pathconf.c +new file mode 100644 +index 000000000..a696c9ab9 +--- /dev/null ++++ b/libgloss/libsysbase/pathconf.c +@@ -0,0 +1,21 @@ ++#include ++#include ++#include ++#include ++#include ++#include + -+libsysbase/libsysbase_libsysbase_a-gettod.o: libsysbase/gettod.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-gettod.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-gettod.o `test -f 'libsysbase/gettod.c' || echo '$(srcdir)/'`libsysbase/gettod.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/gettod.c' object='libsysbase/libsysbase_libsysbase_a-gettod.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-gettod.o `test -f 'libsysbase/gettod.c' || echo '$(srcdir)/'`libsysbase/gettod.c ++long pathconf(const char *path, int name) ++{ ++ int ret = -1; ++ unsigned int dev = FindDevice(path); ++ struct _reent *r = _REENT; + -+libsysbase/libsysbase_libsysbase_a-gettod.obj: libsysbase/gettod.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-gettod.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo -c -o libsysbase/libsysbase_libsysbase_a-gettod.obj `if test -f 'libsysbase/gettod.c'; then $(CYGPATH_W) 'libsysbase/gettod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/gettod.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-gettod.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/gettod.c' object='libsysbase/libsysbase_libsysbase_a-gettod.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-gettod.obj `if test -f 'libsysbase/gettod.c'; then $(CYGPATH_W) 'libsysbase/gettod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/gettod.c'; fi` ++ if(dev != -1 && devoptab_list[dev]->pathconf_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->pathconf_r(r, path, name); ++ } else ++ r->_errno=ENOSYS; + -+libsysbase/libsysbase_libsysbase_a-handle_manager.o: libsysbase/handle_manager.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-handle_manager.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.o `test -f 'libsysbase/handle_manager.c' || echo '$(srcdir)/'`libsysbase/handle_manager.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/handle_manager.c' object='libsysbase/libsysbase_libsysbase_a-handle_manager.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.o `test -f 'libsysbase/handle_manager.c' || echo '$(srcdir)/'`libsysbase/handle_manager.c ++ return ret; ++} +diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c +new file mode 100755 +index 000000000..ff84cd355 +--- /dev/null ++++ b/libgloss/libsysbase/pthread.c +@@ -0,0 +1,1083 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include + -+libsysbase/libsysbase_libsysbase_a-handle_manager.obj: libsysbase/handle_manager.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-handle_manager.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.obj `if test -f 'libsysbase/handle_manager.c'; then $(CYGPATH_W) 'libsysbase/handle_manager.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/handle_manager.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-handle_manager.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/handle_manager.c' object='libsysbase/libsysbase_libsysbase_a-handle_manager.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-handle_manager.obj `if test -f 'libsysbase/handle_manager.c'; then $(CYGPATH_W) 'libsysbase/handle_manager.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/handle_manager.c'; fi` ++static inline uint64_t ++__pthread_abstime_to_ns (const struct timespec *__abstime) ++{ ++ return __abstime ? abstimespec2nsec(CLOCK_REALTIME, __abstime) : UINT64_MAX; ++} + -+libsysbase/libsysbase_libsysbase_a-iosupport.o: libsysbase/iosupport.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-iosupport.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo -c -o libsysbase/libsysbase_libsysbase_a-iosupport.o `test -f 'libsysbase/iosupport.c' || echo '$(srcdir)/'`libsysbase/iosupport.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/iosupport.c' object='libsysbase/libsysbase_libsysbase_a-iosupport.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-iosupport.o `test -f 'libsysbase/iosupport.c' || echo '$(srcdir)/'`libsysbase/iosupport.c ++int ++pthread_atfork (void (*prepare)(void), void (*parent)(void), void (*child)(void)) ++{ ++ return ENOSYS; // Unsupported ++} + -+libsysbase/libsysbase_libsysbase_a-iosupport.obj: libsysbase/iosupport.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-iosupport.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo -c -o libsysbase/libsysbase_libsysbase_a-iosupport.obj `if test -f 'libsysbase/iosupport.c'; then $(CYGPATH_W) 'libsysbase/iosupport.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/iosupport.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-iosupport.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/iosupport.c' object='libsysbase/libsysbase_libsysbase_a-iosupport.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-iosupport.obj `if test -f 'libsysbase/iosupport.c'; then $(CYGPATH_W) 'libsysbase/iosupport.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/iosupport.c'; fi` ++//----------------------------------------------------------------------------- ++// Mutex attributes ++//----------------------------------------------------------------------------- + -+libsysbase/libsysbase_libsysbase_a-isatty.o: libsysbase/isatty.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-isatty.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo -c -o libsysbase/libsysbase_libsysbase_a-isatty.o `test -f 'libsysbase/isatty.c' || echo '$(srcdir)/'`libsysbase/isatty.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/isatty.c' object='libsysbase/libsysbase_libsysbase_a-isatty.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-isatty.o `test -f 'libsysbase/isatty.c' || echo '$(srcdir)/'`libsysbase/isatty.c ++int ++pthread_mutexattr_init (pthread_mutexattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->type = PTHREAD_MUTEX_NORMAL; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-isatty.obj: libsysbase/isatty.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-isatty.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo -c -o libsysbase/libsysbase_libsysbase_a-isatty.obj `if test -f 'libsysbase/isatty.c'; then $(CYGPATH_W) 'libsysbase/isatty.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/isatty.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-isatty.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/isatty.c' object='libsysbase/libsysbase_libsysbase_a-isatty.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-isatty.obj `if test -f 'libsysbase/isatty.c'; then $(CYGPATH_W) 'libsysbase/isatty.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/isatty.c'; fi` ++int ++pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-kill.o: libsysbase/kill.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-kill.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo -c -o libsysbase/libsysbase_libsysbase_a-kill.o `test -f 'libsysbase/kill.c' || echo '$(srcdir)/'`libsysbase/kill.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/kill.c' object='libsysbase/libsysbase_libsysbase_a-kill.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-kill.o `test -f 'libsysbase/kill.c' || echo '$(srcdir)/'`libsysbase/kill.c ++int ++pthread_mutexattr_getpshared (const pthread_mutexattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} + -+libsysbase/libsysbase_libsysbase_a-kill.obj: libsysbase/kill.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-kill.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo -c -o libsysbase/libsysbase_libsysbase_a-kill.obj `if test -f 'libsysbase/kill.c'; then $(CYGPATH_W) 'libsysbase/kill.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/kill.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-kill.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/kill.c' object='libsysbase/libsysbase_libsysbase_a-kill.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-kill.obj `if test -f 'libsysbase/kill.c'; then $(CYGPATH_W) 'libsysbase/kill.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/kill.c'; fi` ++int ++pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} + -+libsysbase/libsysbase_libsysbase_a-link.o: libsysbase/link.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-link.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo -c -o libsysbase/libsysbase_libsysbase_a-link.o `test -f 'libsysbase/link.c' || echo '$(srcdir)/'`libsysbase/link.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/link.c' object='libsysbase/libsysbase_libsysbase_a-link.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-link.o `test -f 'libsysbase/link.c' || echo '$(srcdir)/'`libsysbase/link.c ++int ++pthread_mutexattr_gettype (const pthread_mutexattr_t *__attr, int *__kind) ++{ ++ if (!__attr || !__kind) ++ return EINVAL; ++ *__kind = __attr->type; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-link.obj: libsysbase/link.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-link.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo -c -o libsysbase/libsysbase_libsysbase_a-link.obj `if test -f 'libsysbase/link.c'; then $(CYGPATH_W) 'libsysbase/link.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/link.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-link.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/link.c' object='libsysbase/libsysbase_libsysbase_a-link.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-link.obj `if test -f 'libsysbase/link.c'; then $(CYGPATH_W) 'libsysbase/link.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/link.c'; fi` ++int ++pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->type = __kind; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-lseek.o: libsysbase/lseek.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lseek.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lseek.o `test -f 'libsysbase/lseek.c' || echo '$(srcdir)/'`libsysbase/lseek.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lseek.c' object='libsysbase/libsysbase_libsysbase_a-lseek.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lseek.o `test -f 'libsysbase/lseek.c' || echo '$(srcdir)/'`libsysbase/lseek.c ++//----------------------------------------------------------------------------- ++// Mutex ++//----------------------------------------------------------------------------- + -+libsysbase/libsysbase_libsysbase_a-lseek.obj: libsysbase/lseek.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lseek.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lseek.obj `if test -f 'libsysbase/lseek.c'; then $(CYGPATH_W) 'libsysbase/lseek.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lseek.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lseek.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lseek.c' object='libsysbase/libsysbase_libsysbase_a-lseek.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lseek.obj `if test -f 'libsysbase/lseek.c'; then $(CYGPATH_W) 'libsysbase/lseek.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lseek.c'; fi` ++int ++pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__attr) ++{ ++ pthread_mutexattr_t __default; ++ if (!__attr) { ++ pthread_mutexattr_init(&__default); ++ __attr = &__default; ++ } ++ if (!__mutex) ++ return EINVAL; + -+libsysbase/libsysbase_libsysbase_a-lstat.o: libsysbase/lstat.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lstat.o `test -f 'libsysbase/lstat.c' || echo '$(srcdir)/'`libsysbase/lstat.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lstat.c' object='libsysbase/libsysbase_libsysbase_a-lstat.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lstat.o `test -f 'libsysbase/lstat.c' || echo '$(srcdir)/'`libsysbase/lstat.c ++ __mutex->type = __attr->type; ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: ++ case PTHREAD_MUTEX_DEFAULT: ++ __mutex->normal = __LOCK_INITIALIZER; ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ __mutex->recursive = __LOCK_INITIALIZER_RECURSIVE; ++ break; ++ default: ++ return EINVAL; ++ } + -+libsysbase/libsysbase_libsysbase_a-lstat.obj: libsysbase/lstat.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-lstat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-lstat.obj `if test -f 'libsysbase/lstat.c'; then $(CYGPATH_W) 'libsysbase/lstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lstat.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-lstat.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/lstat.c' object='libsysbase/libsysbase_libsysbase_a-lstat.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-lstat.obj `if test -f 'libsysbase/lstat.c'; then $(CYGPATH_W) 'libsysbase/lstat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/lstat.c'; fi` ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-malloc_vars.o: libsysbase/malloc_vars.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-malloc_vars.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.o `test -f 'libsysbase/malloc_vars.c' || echo '$(srcdir)/'`libsysbase/malloc_vars.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/malloc_vars.c' object='libsysbase/libsysbase_libsysbase_a-malloc_vars.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.o `test -f 'libsysbase/malloc_vars.c' || echo '$(srcdir)/'`libsysbase/malloc_vars.c ++int ++pthread_mutex_destroy (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-malloc_vars.obj: libsysbase/malloc_vars.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-malloc_vars.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.obj `if test -f 'libsysbase/malloc_vars.c'; then $(CYGPATH_W) 'libsysbase/malloc_vars.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/malloc_vars.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-malloc_vars.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/malloc_vars.c' object='libsysbase/libsysbase_libsysbase_a-malloc_vars.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-malloc_vars.obj `if test -f 'libsysbase/malloc_vars.c'; then $(CYGPATH_W) 'libsysbase/malloc_vars.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/malloc_vars.c'; fi` ++int ++pthread_mutex_lock (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; + -+libsysbase/libsysbase_libsysbase_a-mkdir.o: libsysbase/mkdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-mkdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-mkdir.o `test -f 'libsysbase/mkdir.c' || echo '$(srcdir)/'`libsysbase/mkdir.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/mkdir.c' object='libsysbase/libsysbase_libsysbase_a-mkdir.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.o `test -f 'libsysbase/mkdir.c' || echo '$(srcdir)/'`libsysbase/mkdir.c ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ __lock_acquire(__mutex->normal); ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ __lock_acquire_recursive(__mutex->recursive); ++ break; ++ default: ++ return EINVAL; ++ } + -+libsysbase/libsysbase_libsysbase_a-mkdir.obj: libsysbase/mkdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-mkdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/mkdir.c' object='libsysbase/libsysbase_libsysbase_a-mkdir.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-nanosleep.o: libsysbase/nanosleep.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/nanosleep.c' object='libsysbase/libsysbase_libsysbase_a-nanosleep.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c ++int ++pthread_mutex_trylock (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; + -+libsysbase/libsysbase_libsysbase_a-nanosleep.obj: libsysbase/nanosleep.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.obj `if test -f 'libsysbase/nanosleep.c'; then $(CYGPATH_W) 'libsysbase/nanosleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/nanosleep.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/nanosleep.c' object='libsysbase/libsysbase_libsysbase_a-nanosleep.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.obj `if test -f 'libsysbase/nanosleep.c'; then $(CYGPATH_W) 'libsysbase/nanosleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/nanosleep.c'; fi` ++ int rc = 0; ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ rc = __lock_try_acquire(__mutex->normal); ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ rc = __lock_try_acquire_recursive(__mutex->recursive); ++ break; ++ default: ++ return EINVAL; ++ } + -+libsysbase/libsysbase_libsysbase_a-open.o: libsysbase/open.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-open.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo -c -o libsysbase/libsysbase_libsysbase_a-open.o `test -f 'libsysbase/open.c' || echo '$(srcdir)/'`libsysbase/open.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/open.c' object='libsysbase/libsysbase_libsysbase_a-open.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.o `test -f 'libsysbase/open.c' || echo '$(srcdir)/'`libsysbase/open.c ++ if (rc) ++ return EBUSY; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-open.obj: libsysbase/open.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-open.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/open.c' object='libsysbase/libsysbase_libsysbase_a-open.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` ++int ++pthread_mutex_unlock (pthread_mutex_t *__mutex) ++{ ++ if (!__mutex) ++ return EINVAL; + -+libsysbase/libsysbase_libsysbase_a-read.o: libsysbase/read.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/read.c' object='libsysbase/libsysbase_libsysbase_a-read.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ __lock_release(__mutex->normal); ++ break; ++ case PTHREAD_MUTEX_RECURSIVE: ++ __lock_release_recursive(__mutex->recursive); ++ break; ++ default: ++ return EINVAL; ++ } + -+libsysbase/libsysbase_libsysbase_a-read.obj: libsysbase/read.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/read.c' object='libsysbase/libsysbase_libsysbase_a-read.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-rename.o: libsysbase/rename.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rename.c' object='libsysbase/libsysbase_libsysbase_a-rename.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c ++//----------------------------------------------------------------------------- ++// Condition variable attributes ++//----------------------------------------------------------------------------- + -+libsysbase/libsysbase_libsysbase_a-rename.obj: libsysbase/rename.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.obj `if test -f 'libsysbase/rename.c'; then $(CYGPATH_W) 'libsysbase/rename.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rename.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rename.c' object='libsysbase/libsysbase_libsysbase_a-rename.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rename.obj `if test -f 'libsysbase/rename.c'; then $(CYGPATH_W) 'libsysbase/rename.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rename.c'; fi` ++int ++pthread_condattr_init (pthread_condattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->clock_id = CLOCK_REALTIME; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-rmdir.o: libsysbase/rmdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rmdir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rmdir.o `test -f 'libsysbase/rmdir.c' || echo '$(srcdir)/'`libsysbase/rmdir.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rmdir.c' object='libsysbase/libsysbase_libsysbase_a-rmdir.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rmdir.o `test -f 'libsysbase/rmdir.c' || echo '$(srcdir)/'`libsysbase/rmdir.c ++int ++pthread_condattr_destroy (pthread_condattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-rmdir.obj: libsysbase/rmdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rmdir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rmdir.obj `if test -f 'libsysbase/rmdir.c'; then $(CYGPATH_W) 'libsysbase/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rmdir.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/rmdir.c' object='libsysbase/libsysbase_libsysbase_a-rmdir.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-rmdir.obj `if test -f 'libsysbase/rmdir.c'; then $(CYGPATH_W) 'libsysbase/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/rmdir.c'; fi` ++int ++pthread_condattr_getclock (const pthread_condattr_t *__restrict __attr, clockid_t *__restrict __clock_id) ++{ ++ if (!__attr || !__clock_id) ++ return EINVAL; ++ *__clock_id = __attr->clock_id; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-sbrk.o: libsysbase/sbrk.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sbrk.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sbrk.o `test -f 'libsysbase/sbrk.c' || echo '$(srcdir)/'`libsysbase/sbrk.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sbrk.c' object='libsysbase/libsysbase_libsysbase_a-sbrk.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sbrk.o `test -f 'libsysbase/sbrk.c' || echo '$(srcdir)/'`libsysbase/sbrk.c ++int ++pthread_condattr_setclock (pthread_condattr_t *__attr, clockid_t __clock_id) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->clock_id = __clock_id; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-sbrk.obj: libsysbase/sbrk.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sbrk.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sbrk.obj `if test -f 'libsysbase/sbrk.c'; then $(CYGPATH_W) 'libsysbase/sbrk.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sbrk.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sbrk.c' object='libsysbase/libsysbase_libsysbase_a-sbrk.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sbrk.obj `if test -f 'libsysbase/sbrk.c'; then $(CYGPATH_W) 'libsysbase/sbrk.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sbrk.c'; fi` ++int ++pthread_condattr_getpshared (const pthread_condattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} + -+libsysbase/libsysbase_libsysbase_a-scandir.o: libsysbase/scandir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-scandir.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-scandir.o `test -f 'libsysbase/scandir.c' || echo '$(srcdir)/'`libsysbase/scandir.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/scandir.c' object='libsysbase/libsysbase_libsysbase_a-scandir.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-scandir.o `test -f 'libsysbase/scandir.c' || echo '$(srcdir)/'`libsysbase/scandir.c ++int ++pthread_condattr_setpshared (pthread_condattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} + -+libsysbase/libsysbase_libsysbase_a-scandir.obj: libsysbase/scandir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-scandir.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo -c -o libsysbase/libsysbase_libsysbase_a-scandir.obj `if test -f 'libsysbase/scandir.c'; then $(CYGPATH_W) 'libsysbase/scandir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/scandir.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-scandir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/scandir.c' object='libsysbase/libsysbase_libsysbase_a-scandir.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-scandir.obj `if test -f 'libsysbase/scandir.c'; then $(CYGPATH_W) 'libsysbase/scandir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/scandir.c'; fi` ++//----------------------------------------------------------------------------- ++// Condition variable ++//----------------------------------------------------------------------------- + -+libsysbase/libsysbase_libsysbase_a-sleep.o: libsysbase/sleep.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sleep.o `test -f 'libsysbase/sleep.c' || echo '$(srcdir)/'`libsysbase/sleep.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sleep.c' object='libsysbase/libsysbase_libsysbase_a-sleep.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sleep.o `test -f 'libsysbase/sleep.c' || echo '$(srcdir)/'`libsysbase/sleep.c ++int ++pthread_cond_init (pthread_cond_t *__cond, const pthread_condattr_t *__attr) ++{ ++ pthread_condattr_t __default; ++ if (!__attr) { ++ pthread_condattr_init(&__default); ++ __attr = &__default; ++ } ++ if (!__cond) ++ return EINVAL; + -+libsysbase/libsysbase_libsysbase_a-sleep.obj: libsysbase/sleep.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-sleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-sleep.obj `if test -f 'libsysbase/sleep.c'; then $(CYGPATH_W) 'libsysbase/sleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sleep.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/sleep.c' object='libsysbase/libsysbase_libsysbase_a-sleep.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-sleep.obj `if test -f 'libsysbase/sleep.c'; then $(CYGPATH_W) 'libsysbase/sleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/sleep.c'; fi` ++ __cond->clock_id = __attr->clock_id; ++ __cond->cond = __COND_INITIALIZER; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-stat.o: libsysbase/stat.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-stat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-stat.o `test -f 'libsysbase/stat.c' || echo '$(srcdir)/'`libsysbase/stat.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/stat.c' object='libsysbase/libsysbase_libsysbase_a-stat.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-stat.o `test -f 'libsysbase/stat.c' || echo '$(srcdir)/'`libsysbase/stat.c ++int ++pthread_cond_destroy (pthread_cond_t *__cond) ++{ ++ if (!__cond) ++ return EINVAL; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-stat.obj: libsysbase/stat.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-stat.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-stat.obj `if test -f 'libsysbase/stat.c'; then $(CYGPATH_W) 'libsysbase/stat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/stat.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/stat.c' object='libsysbase/libsysbase_libsysbase_a-stat.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-stat.obj `if test -f 'libsysbase/stat.c'; then $(CYGPATH_W) 'libsysbase/stat.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/stat.c'; fi` ++int ++pthread_cond_signal (pthread_cond_t *__cond) ++{ ++ if (!__cond) ++ return EINVAL; ++ return __cond_signal(__cond->cond); ++} + -+libsysbase/libsysbase_libsysbase_a-statvfs.o: libsysbase/statvfs.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-statvfs.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo -c -o libsysbase/libsysbase_libsysbase_a-statvfs.o `test -f 'libsysbase/statvfs.c' || echo '$(srcdir)/'`libsysbase/statvfs.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/statvfs.c' object='libsysbase/libsysbase_libsysbase_a-statvfs.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.o `test -f 'libsysbase/statvfs.c' || echo '$(srcdir)/'`libsysbase/statvfs.c ++int ++pthread_cond_broadcast (pthread_cond_t *__cond) ++{ ++ if (!__cond) ++ return EINVAL; ++ return __cond_broadcast(__cond->cond); ++} + -+libsysbase/libsysbase_libsysbase_a-statvfs.obj: libsysbase/statvfs.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-statvfs.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/statvfs.c' object='libsysbase/libsysbase_libsysbase_a-statvfs.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` ++static int ++__pthread_cond_wait_common (pthread_cond_t *__cond, pthread_mutex_t *__mutex, uint64_t timeout_ns) ++{ ++ switch (__mutex->type) { ++ case PTHREAD_MUTEX_NORMAL: ++ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check ++ case PTHREAD_MUTEX_DEFAULT: ++ return __cond_wait(__cond->cond, __mutex->normal, timeout_ns); ++ case PTHREAD_MUTEX_RECURSIVE: ++ return __cond_wait_recursive(__cond->cond, __mutex->recursive, timeout_ns); ++ default: ++ return EINVAL; ++ } ++} + -+libsysbase/libsysbase_libsysbase_a-syscall_support.o: libsysbase/syscall_support.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/syscall_support.c' object='libsysbase/libsysbase_libsysbase_a-syscall_support.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c ++int ++pthread_cond_wait (pthread_cond_t *__cond, pthread_mutex_t *__mutex) ++{ ++ if (!__cond || !__mutex) ++ return EINVAL; ++ return __pthread_cond_wait_common(__cond, __mutex, UINT64_MAX); ++} + -+libsysbase/libsysbase_libsysbase_a-syscall_support.obj: libsysbase/syscall_support.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.obj `if test -f 'libsysbase/syscall_support.c'; then $(CYGPATH_W) 'libsysbase/syscall_support.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/syscall_support.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/syscall_support.c' object='libsysbase/libsysbase_libsysbase_a-syscall_support.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.obj `if test -f 'libsysbase/syscall_support.c'; then $(CYGPATH_W) 'libsysbase/syscall_support.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/syscall_support.c'; fi` ++int ++pthread_cond_timedwait (pthread_cond_t *__cond, pthread_mutex_t *__mutex, const struct timespec *__abstime) ++{ ++ if (!__cond || !__mutex || !__abstime) ++ return EINVAL; ++ return __pthread_cond_wait_common(__cond, __mutex, abstimespec2nsec(__cond->clock_id, __abstime)); ++} + -+libsysbase/libsysbase_libsysbase_a-times.o: libsysbase/times.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-times.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo -c -o libsysbase/libsysbase_libsysbase_a-times.o `test -f 'libsysbase/times.c' || echo '$(srcdir)/'`libsysbase/times.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/times.c' object='libsysbase/libsysbase_libsysbase_a-times.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-times.o `test -f 'libsysbase/times.c' || echo '$(srcdir)/'`libsysbase/times.c ++//----------------------------------------------------------------------------- ++// Thread attributes ++//----------------------------------------------------------------------------- + -+libsysbase/libsysbase_libsysbase_a-times.obj: libsysbase/times.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-times.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo -c -o libsysbase/libsysbase_libsysbase_a-times.obj `if test -f 'libsysbase/times.c'; then $(CYGPATH_W) 'libsysbase/times.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/times.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/times.c' object='libsysbase/libsysbase_libsysbase_a-times.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-times.obj `if test -f 'libsysbase/times.c'; then $(CYGPATH_W) 'libsysbase/times.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/times.c'; fi` ++int ++pthread_attr_setschedparam (pthread_attr_t *__attr, const struct sched_param *__param) ++{ ++ if (!__attr || !__param) ++ return EINVAL; ++ __attr->schedparam = *__param; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-truncate.o: libsysbase/truncate.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-truncate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-truncate.o `test -f 'libsysbase/truncate.c' || echo '$(srcdir)/'`libsysbase/truncate.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/truncate.c' object='libsysbase/libsysbase_libsysbase_a-truncate.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-truncate.o `test -f 'libsysbase/truncate.c' || echo '$(srcdir)/'`libsysbase/truncate.c ++int ++pthread_attr_getschedparam (const pthread_attr_t *__attr, struct sched_param *__param) ++{ ++ if (!__attr || !__param) ++ return EINVAL; ++ *__param = __attr->schedparam; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-truncate.obj: libsysbase/truncate.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-truncate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-truncate.obj `if test -f 'libsysbase/truncate.c'; then $(CYGPATH_W) 'libsysbase/truncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/truncate.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/truncate.c' object='libsysbase/libsysbase_libsysbase_a-truncate.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-truncate.obj `if test -f 'libsysbase/truncate.c'; then $(CYGPATH_W) 'libsysbase/truncate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/truncate.c'; fi` ++int ++pthread_attr_init (pthread_attr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ memset(__attr, 0, sizeof(*__attr)); ++ return 0; ++} ++ ++int ++pthread_attr_destroy (pthread_attr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-unlink.o: libsysbase/unlink.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-unlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-unlink.o `test -f 'libsysbase/unlink.c' || echo '$(srcdir)/'`libsysbase/unlink.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/unlink.c' object='libsysbase/libsysbase_libsysbase_a-unlink.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-unlink.o `test -f 'libsysbase/unlink.c' || echo '$(srcdir)/'`libsysbase/unlink.c ++int ++pthread_attr_setstack (pthread_attr_t *attr, void *__stackaddr, size_t __stacksize) ++{ ++ if (!attr || !__stackaddr || !__stacksize) ++ return EINVAL; ++ attr->stackaddr = __stackaddr; ++ attr->stacksize = __stacksize; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-unlink.obj: libsysbase/unlink.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-unlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-unlink.obj `if test -f 'libsysbase/unlink.c'; then $(CYGPATH_W) 'libsysbase/unlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/unlink.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-unlink.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/unlink.c' object='libsysbase/libsysbase_libsysbase_a-unlink.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-unlink.obj `if test -f 'libsysbase/unlink.c'; then $(CYGPATH_W) 'libsysbase/unlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/unlink.c'; fi` ++int ++pthread_attr_getstack (const pthread_attr_t *attr, void **__stackaddr, size_t *__stacksize) ++{ ++ if (!attr || !__stackaddr || !__stacksize) ++ return EINVAL; ++ *__stackaddr = attr->stackaddr; ++ *__stacksize = attr->stacksize; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-usleep.o: libsysbase/usleep.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-usleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-usleep.o `test -f 'libsysbase/usleep.c' || echo '$(srcdir)/'`libsysbase/usleep.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/usleep.c' object='libsysbase/libsysbase_libsysbase_a-usleep.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-usleep.o `test -f 'libsysbase/usleep.c' || echo '$(srcdir)/'`libsysbase/usleep.c ++int ++pthread_attr_getstacksize (const pthread_attr_t *__attr, size_t *__stacksize) ++{ ++ if (!__attr || !__stacksize) ++ return EINVAL; ++ *__stacksize = __attr->stacksize; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-usleep.obj: libsysbase/usleep.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-usleep.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-usleep.obj `if test -f 'libsysbase/usleep.c'; then $(CYGPATH_W) 'libsysbase/usleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/usleep.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-usleep.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/usleep.c' object='libsysbase/libsysbase_libsysbase_a-usleep.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-usleep.obj `if test -f 'libsysbase/usleep.c'; then $(CYGPATH_W) 'libsysbase/usleep.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/usleep.c'; fi` ++int ++pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize) ++{ ++ if (!__attr || !__stacksize) ++ return EINVAL; ++ __attr->stacksize = __stacksize; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-utime.o: libsysbase/utime.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-utime.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo -c -o libsysbase/libsysbase_libsysbase_a-utime.o `test -f 'libsysbase/utime.c' || echo '$(srcdir)/'`libsysbase/utime.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/utime.c' object='libsysbase/libsysbase_libsysbase_a-utime.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-utime.o `test -f 'libsysbase/utime.c' || echo '$(srcdir)/'`libsysbase/utime.c ++int ++pthread_attr_getstackaddr (const pthread_attr_t *__attr, void **__stackaddr) ++{ ++ if (!__attr || !__stackaddr) ++ return EINVAL; ++ *__stackaddr = __attr->stackaddr; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-utime.obj: libsysbase/utime.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-utime.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo -c -o libsysbase/libsysbase_libsysbase_a-utime.obj `if test -f 'libsysbase/utime.c'; then $(CYGPATH_W) 'libsysbase/utime.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/utime.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-utime.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/utime.c' object='libsysbase/libsysbase_libsysbase_a-utime.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-utime.obj `if test -f 'libsysbase/utime.c'; then $(CYGPATH_W) 'libsysbase/utime.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/utime.c'; fi` ++int ++pthread_attr_setstackaddr (pthread_attr_t *__attr, void *__stackaddr) ++{ ++ if (!__attr || !__stackaddr) ++ return EINVAL; ++ __attr->stackaddr = __stackaddr; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-wait.o: libsysbase/wait.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-wait.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo -c -o libsysbase/libsysbase_libsysbase_a-wait.o `test -f 'libsysbase/wait.c' || echo '$(srcdir)/'`libsysbase/wait.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/wait.c' object='libsysbase/libsysbase_libsysbase_a-wait.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-wait.o `test -f 'libsysbase/wait.c' || echo '$(srcdir)/'`libsysbase/wait.c ++int ++pthread_attr_getdetachstate (const pthread_attr_t *__attr, int *__detachstate) ++{ ++ if (!__attr || !__detachstate) ++ return EINVAL; ++ *__detachstate = __attr->detachstate; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-wait.obj: libsysbase/wait.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-wait.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo -c -o libsysbase/libsysbase_libsysbase_a-wait.obj `if test -f 'libsysbase/wait.c'; then $(CYGPATH_W) 'libsysbase/wait.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/wait.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-wait.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/wait.c' object='libsysbase/libsysbase_libsysbase_a-wait.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-wait.obj `if test -f 'libsysbase/wait.c'; then $(CYGPATH_W) 'libsysbase/wait.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/wait.c'; fi` ++int ++pthread_attr_setdetachstate (pthread_attr_t *__attr, int __detachstate) ++{ ++ if (!__attr) ++ return EINVAL; ++ __attr->detachstate = __detachstate; ++ return 0; ++} + -+libsysbase/libsysbase_libsysbase_a-write.o: libsysbase/write.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-write.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo -c -o libsysbase/libsysbase_libsysbase_a-write.o `test -f 'libsysbase/write.c' || echo '$(srcdir)/'`libsysbase/write.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/write.c' object='libsysbase/libsysbase_libsysbase_a-write.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-write.o `test -f 'libsysbase/write.c' || echo '$(srcdir)/'`libsysbase/write.c ++int ++pthread_attr_getguardsize (const pthread_attr_t *__attr, size_t *__guardsize) ++{ ++ return ENOSYS; // Unsupported ++} + -+libsysbase/libsysbase_libsysbase_a-write.obj: libsysbase/write.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-write.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo -c -o libsysbase/libsysbase_libsysbase_a-write.obj `if test -f 'libsysbase/write.c'; then $(CYGPATH_W) 'libsysbase/write.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/write.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-write.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/write.c' object='libsysbase/libsysbase_libsysbase_a-write.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-write.obj `if test -f 'libsysbase/write.c'; then $(CYGPATH_W) 'libsysbase/write.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/write.c'; fi` ++int ++pthread_attr_setguardsize (pthread_attr_t *__attr, size_t __guardsize) ++{ ++ return ENOSYS; // Unsupported ++} + - nios2/nios2_libnios2_a-io-close.o: nios2/io-close.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(nios2_libnios2_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nios2/nios2_libnios2_a-io-close.o -MD -MP -MF nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo -c -o nios2/nios2_libnios2_a-io-close.o `test -f 'nios2/io-close.c' || echo '$(srcdir)/'`nios2/io-close.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Po -@@ -4220,6 +5124,8 @@ distclean-generic: - -rm -f iq2000/$(am__dirstamp) - -rm -f libnosys/$(DEPDIR)/$(am__dirstamp) - -rm -f libnosys/$(am__dirstamp) -+ -rm -f libsysbase/$(DEPDIR)/$(am__dirstamp) -+ -rm -f libsysbase/$(am__dirstamp) - -rm -f lm32/$(DEPDIR)/$(am__dirstamp) - -rm -f lm32/$(am__dirstamp) - -rm -f nios2/$(DEPDIR)/$(am__dirstamp) -@@ -4239,7 +5145,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ - - distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) -- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) -+ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) - -rm -f Makefile - distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-local distclean-tags -@@ -4382,7 +5288,7 @@ installcheck-am: - maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache -- -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) -+ -rm -rf ./$(DEPDIR) aarch64/$(DEPDIR) arc/$(DEPDIR) arm/$(DEPDIR) bfin/$(DEPDIR) csky/$(DEPDIR) d30v/$(DEPDIR) iq2000/$(DEPDIR) libnosys/$(DEPDIR) libsysbase/$(DEPDIR) lm32/$(DEPDIR) nios2/$(DEPDIR) riscv/$(DEPDIR) - -rm -f Makefile - maintainer-clean-am: distclean-am maintainer-clean-aminfo \ - maintainer-clean-generic maintainer-clean-local -diff --git a/libgloss/configure b/libgloss/configure -index 28754b6d5..2e04092ab 100755 ---- a/libgloss/configure -+++ b/libgloss/configure -@@ -638,6 +638,8 @@ CONFIG_NIOS2_FALSE - CONFIG_NIOS2_TRUE - CONFIG_LM32_FALSE - CONFIG_LM32_TRUE -+CONFIG_LIBSYSBASE_FALSE -+CONFIG_LIBSYSBASE_TRUE - CONFIG_LIBNOSYS_FALSE - CONFIG_LIBNOSYS_TRUE - CONFIG_IQ2000_FALSE -@@ -722,6 +724,7 @@ infodir - docdir - oldincludedir - includedir -+runstatedir - localstatedir - sharedstatedir - sysconfdir -@@ -800,6 +803,7 @@ datadir='${datarootdir}' - sysconfdir='${prefix}/etc' - sharedstatedir='${prefix}/com' - localstatedir='${prefix}/var' -+runstatedir='${localstatedir}/run' - includedir='${prefix}/include' - oldincludedir='/usr/include' - docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -@@ -1052,6 +1056,15 @@ do - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - -+ -runstatedir | --runstatedir | --runstatedi | --runstated \ -+ | --runstate | --runstat | --runsta | --runst | --runs \ -+ | --run | --ru | --r) -+ ac_prev=runstatedir ;; -+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ -+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ -+ | --run=* | --ru=* | --r=*) -+ runstatedir=$ac_optarg ;; ++//----------------------------------------------------------------------------- ++// Thread ++//----------------------------------------------------------------------------- + - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ -@@ -1189,7 +1202,7 @@ fi - for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ -- libdir localedir mandir -+ libdir localedir mandir runstatedir - do - eval ac_val=\$$ac_var - # Remove trailing slashes. -@@ -1342,6 +1355,7 @@ Fine tuning of the installation directories: - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] -+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] -@@ -2745,6 +2759,8 @@ config_testsuite=true - - config_libnosys=true - -+config_libsysbase=true ++int ++pthread_create (pthread_t *__pthread, const pthread_attr_t *__attr, void *(*__start_routine)(void *), void *__arg) ++{ ++ pthread_attr_t __default; ++ if (!__attr) { ++ pthread_attr_init(&__default); ++ __attr = &__default; ++ } ++ if (!__pthread || !__start_routine) ++ return EINVAL; ++ if (!__has_syscall(thread_create)) ++ return ENOSYS; ++ return __syscall_thread_create(__pthread, __start_routine, __arg, __attr->stackaddr, __attr->stacksize); ++} + - host_makefile_frag=${srcdir}/config/default.mh - target_makefile_frag=${srcdir}/config/default.mt - -@@ -3047,6 +3063,14 @@ else - CONFIG_LIBNOSYS_FALSE= - fi - -+ if test x$config_libsysbase = xtrue; then -+ CONFIG_LIBSYSBASE_TRUE= -+ CONFIG_LIBSYSBASE_FALSE='#' -+else -+ CONFIG_LIBSYSBASE_TRUE='#' -+ CONFIG_LIBSYSBASE_FALSE= -+fi ++int ++pthread_join (pthread_t __pthread, void **__value_ptr) ++{ ++ if (!__has_syscall(thread_join)) ++ return ENOSYS; ++ void* value = __syscall_thread_join(__pthread); ++ if (__value_ptr) ++ *__value_ptr = value; ++ return 0; ++} + - if test x$config_lm32 = xtrue; then - CONFIG_LM32_TRUE= - CONFIG_LM32_FALSE='#' -@@ -4924,6 +4948,35 @@ case "${target}" in - esac - - -+case "${target}" in -+ *-*-cygwin*) ;; -+ a29k-amd-udi) ;; -+ aarch64*-*-*) ;; -+ arc-*-*) ;; -+ arm*-*-*) ;; -+ bfin-*-*) ;; -+ cris-*-* | crisv32-*-*) ;; -+ d10v*) ;; -+ h8300*-*-*) ;; -+ h8500-*-*) ;; -+ i345686-*-sco*) ;; -+ lm32-*-*) ;; -+ m32r-*-*) ;; -+ mn10?00-*-*) ;; -+ riscv*-*-*) ;; -+ powerpcle-*-pe) ;; -+ sh*-*-*) ;; -+ sparc-sun-sunos*) ;; -+ sparc64-*-*) ;; -+ v850*-*-*) ;; -+ w65-*-*) ;; -+ xstormy16-*-*) ;; -+ z8k-*-*) ;; -+ *) -+$as_echo "#define MISSING_SYSCALL_NAMES 1" >>confdefs.h -+ ;; -+esac ++int ++pthread_detach (pthread_t __pthread) ++{ ++ if (!__has_syscall(thread_detach)) ++ return ENOSYS; ++ return __syscall_thread_detach(__pthread); ++} + - case "${target}" in - *-*-cygwin*) ;; - a29k-amd-udi) ;; -@@ -5331,6 +5384,10 @@ if test -z "${CONFIG_LIBNOSYS_TRUE}" && test -z "${CONFIG_LIBNOSYS_FALSE}"; then - as_fn_error $? "conditional \"CONFIG_LIBNOSYS\" was never defined. - Usually this means the macro was only invoked conditionally." "$LINENO" 5 - fi -+if test -z "${CONFIG_LIBSYSBASE_TRUE}" && test -z "${CONFIG_LIBSYSBASE_FALSE}"; then -+ as_fn_error $? "conditional \"CONFIG_LIBSYSBASE\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi - if test -z "${CONFIG_LM32_TRUE}" && test -z "${CONFIG_LM32_FALSE}"; then - as_fn_error $? "conditional \"CONFIG_LM32\" was never defined. - Usually this means the macro was only invoked conditionally." "$LINENO" 5 --- -2.20.1 - - -From de7c740f9859b3f3361bc6ebb2e2ad26e7896df8 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 9 Mar 2023 17:42:26 +0000 -Subject: [PATCH 03/83] size optimise files that bloat - ---- - newlib/libc/stdio/vfprintf.c | 6 ++++-- - newlib/libc/stdio/vfscanf.c | 2 ++ - newlib/libc/stdio/vfwprintf.c | 3 +++ - newlib/libc/stdio/vfwscanf.c | 3 +++ - 4 files changed, 12 insertions(+), 2 deletions(-) - -diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index 6a198e2c6..5ded3fd6e 100644 ---- a/newlib/libc/stdio/vfprintf.c -+++ b/newlib/libc/stdio/vfprintf.c -@@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, - <>, <>, <>, <>. - */ - -+#pragma GCC optimize ("Os") ++void ++pthread_exit (void *__value_ptr) ++{ ++ if (__has_syscall(thread_exit)) ++ __syscall_thread_exit(__value_ptr); ++ for (;;); ++} + - #if defined(LIBC_SCCS) && !defined(lint) - /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ - static char *rcsid = "$Id$"; -@@ -1431,7 +1433,7 @@ reswitch: switch (ch) { - string: - #endif - sign = '\0'; --#ifndef __OPTIMIZE_SIZE__ -+//#ifndef __OPTIMIZE_SIZE__ - /* Behavior is undefined if the user passed a - NULL string when precision is not 0. - However, if we are not optimizing for size, -@@ -1441,7 +1443,7 @@ string: - size = ((unsigned) prec > 6U) ? 6 : prec; - } - else --#endif /* __OPTIMIZE_SIZE__ */ -+//#endif /* __OPTIMIZE_SIZE__ */ - #ifdef _MB_CAPABLE - if (ch == 'S' || (flags & LONGINT)) { - mbstate_t ps; -diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index cfeea9876..ab7e9d7f1 100644 ---- a/newlib/libc/stdio/vfscanf.c -+++ b/newlib/libc/stdio/vfscanf.c -@@ -74,6 +74,8 @@ These are GNU extensions. - Supporting OS subroutines required: - */ - -+#pragma GCC optimize ("Os") ++pthread_t ++pthread_self (void) ++{ ++ if (__has_syscall(thread_self)) ++ return __syscall_thread_self(); ++ return NULL; ++} + - #include <_ansi.h> - #include - #include -diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c -index 7807a1229..30526cb70 100644 ---- a/newlib/libc/stdio/vfwprintf.c -+++ b/newlib/libc/stdio/vfwprintf.c -@@ -92,6 +92,9 @@ SEEALSO - * - * This code is large and complicated... - */ ++int ++pthread_equal (pthread_t __t1, pthread_t __t2) ++{ ++ return __t1 == __t2; ++} + -+#pragma GCC optimize ("Os") ++int ++pthread_getcpuclockid (pthread_t thread, clockid_t *clock_id) ++{ ++ if (!thread || !clock_id) ++ return EINVAL; ++ *clock_id = CLOCK_REALTIME; ++ return 0; ++} + - #include - - #ifdef INTEGER_ONLY -diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index df966f929..106d99e94 100644 ---- a/newlib/libc/stdio/vfwscanf.c -+++ b/newlib/libc/stdio/vfwscanf.c -@@ -74,6 +74,9 @@ PORTABILITY - C99, POSIX-1.2008 - */ - ++int ++pthread_setconcurrency (int new_level) ++{ ++ return ENOSYS; // Unsupported ++} + -+#pragma GCC optimize ("Os") ++int ++pthread_getconcurrency (void) ++{ ++ return ENOSYS; // Unsupported ++} + - #include <_ansi.h> - #include - #include --- -2.20.1 - - -From a7f200b079a7d2dfef8230cb1eda162f531309aa Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 9 Mar 2023 18:39:44 +0000 -Subject: [PATCH 04/83] add sync_synchronise - ---- - newlib/libc/machine/arm/Makefile.inc | 3 ++- - newlib/libc/machine/arm/sync_synchronize.c | 8 ++++++++ - 2 files changed, 10 insertions(+), 1 deletion(-) - create mode 100644 newlib/libc/machine/arm/sync_synchronize.c - -diff --git a/newlib/libc/machine/arm/Makefile.inc b/newlib/libc/machine/arm/Makefile.inc -index 2d6c08d71..81b4f119d 100644 ---- a/newlib/libc/machine/arm/Makefile.inc -+++ b/newlib/libc/machine/arm/Makefile.inc -@@ -8,4 +8,5 @@ libc_a_SOURCES += \ - %D%/memcpy-stub.c \ - %D%/memcpy.S \ - %D%/strlen-stub.c \ -- %D%/strlen.S -+ %D%/sync_synchronize.c ++//----------------------------------------------------------------------------- ++// Run-once ++//----------------------------------------------------------------------------- + -diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c -new file mode 100644 -index 000000000..f5a85c3a8 ---- /dev/null -+++ b/newlib/libc/machine/arm/sync_synchronize.c -@@ -0,0 +1,8 @@ -+#if __ARM_ARCH < 6 -+#include -+void __attribute__((weak)) -+__sync_synchronize (void) ++__LOCK_INIT(static, __pthread_once_lock) ++__COND_INIT(static, __pthread_once_cv) ++ ++int ++pthread_once (pthread_once_t *__once_control, void (*__init_routine)(void)) +{ -+ return; ++ if (!__once_control || !__init_routine) ++ return EINVAL; ++ ++ __lock_acquire(__pthread_once_lock); ++ ++ if (__once_control->status == 0) { ++ __once_control->status = 1; ++ __lock_release(__pthread_once_lock); ++ __init_routine(); ++ __lock_acquire(__pthread_once_lock); ++ __once_control->status = 2; ++ __cond_broadcast(__pthread_once_cv); ++ } else { ++ while (__once_control->status == 1) ++ __cond_wait(__pthread_once_cv, __pthread_once_lock, UINT64_MAX); ++ } ++ ++ __lock_release(__pthread_once_lock); ++ return 0; +} -+#endif --- -2.20.1 - - -From e6d9dc131875d0c72811db7fe5d1132419679f58 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 9 Mar 2023 18:40:48 +0000 -Subject: [PATCH 05/83] expose lstat - ---- - newlib/libc/include/sys/stat.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index 98f5addb4..dbdfc416e 100644 ---- a/newlib/libc/include/sys/stat.h -+++ b/newlib/libc/include/sys/stat.h -@@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); - int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); - mode_t umask (mode_t __mask ); - --#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) - int lstat (const char *__restrict __path, struct stat *__restrict __buf ); + -+#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) - int mknod (const char *__path, mode_t __mode, dev_t __dev ); - #endif - --- -2.20.1 - - -From 7928adcb0cbe77c2b2ef03758b478aed22ed3a41 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 9 Mar 2023 18:47:14 +0000 -Subject: [PATCH 06/83] expose _rmdir_r - ---- - newlib/libc/include/reent.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h -index 23d572cd3..65310c084 100644 ---- a/newlib/libc/include/reent.h -+++ b/newlib/libc/include/reent.h -@@ -150,6 +150,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); - extern int _open_r (struct _reent *, const char *, int, int); - extern _ssize_t _read_r (struct _reent *, int, void *, size_t); - extern int _rename_r (struct _reent *, const char *, const char *); -+extern int _rmdir_r (struct _reent *r, const char *name); - extern void *_sbrk_r (struct _reent *, ptrdiff_t); - extern int _stat_r (struct _reent *, const char *, struct stat *); - extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); --- -2.20.1 - - -From 5c8251d576aabd0ebfe6fe5e96e2d11e401829d4 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 9 Mar 2023 18:49:54 +0000 -Subject: [PATCH 07/83] remove also deletes directories - ---- - newlib/libc/stdio/remove.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c -index d8dfdbd82..a85b5a99b 100644 ---- a/newlib/libc/stdio/remove.c -+++ b/newlib/libc/stdio/remove.c -@@ -57,13 +57,17 @@ Supporting OS subroutine required: <>. - #include <_ansi.h> - #include - #include -+#include - - int - _remove_r (struct _reent *ptr, - const char *filename) - { -- if (_unlink_r (ptr, filename) == -1) -- return -1; -+ if (_unlink_r (ptr, filename) == -1) { -+ errno = 0; -+ if (_rmdir_r(ptr, filename) == -1) -+ return -1; -+ } - - return 0; - } --- -2.20.1 - - -From 40f2cc97bb6ab9fd8a62ee7c9bdd18377340702a Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 9 Mar 2023 23:30:10 +0000 -Subject: [PATCH 08/83] add deviceData - ---- - newlib/libc/include/sys/reent.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 6d8b005b2..8aefe6b0f 100644 ---- a/newlib/libc/include/sys/reent.h -+++ b/newlib/libc/include/sys/reent.h -@@ -419,6 +419,8 @@ struct _reent - __FILE *__sf; /* file descriptors */ - struct _misc_reent *_misc; /* strtok, multibyte states */ - char *_signal_buf; /* strsignal */ ++//----------------------------------------------------------------------------- ++// Thread-specific keys (TLS) ++//----------------------------------------------------------------------------- + -+ void *deviceData; - }; - - # define _REENT_INIT(var) \ -@@ -639,6 +641,8 @@ struct _reent - - /* signal info */ - void (**_sig_func)(int); ++int ++pthread_key_create (pthread_key_t *__key, void (*__destructor)(void *)) ++{ ++ if (!__key) ++ return EINVAL; ++ if (!__has_syscall(tls_create)) ++ return ENOSYS; ++ return __syscall_tls_create(__key, __destructor); ++} + -+ void *deviceData; - }; - - #define _REENT_INIT(var) \ --- -2.20.1 - - -From 6a2250a2b0c77015210dd7e2190dea244bb0d944 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 9 Mar 2023 23:34:55 +0000 -Subject: [PATCH 09/83] add locking macros - ---- - newlib/libc/sys/arm/sys/lock.h | 66 ++++++++++++++++++++++++++++++++++ - 1 file changed, 66 insertions(+) - create mode 100644 newlib/libc/sys/arm/sys/lock.h - -diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h -new file mode 100644 -index 000000000..a755d6443 ---- /dev/null -+++ b/newlib/libc/sys/arm/sys/lock.h -@@ -0,0 +1,66 @@ -+#ifndef __SYS_LOCK_H__ -+#define __SYS_LOCK_H__ ++int ++pthread_setspecific (pthread_key_t __key, const void *__value) ++{ ++ if (!__has_syscall(tls_set)) ++ return ENOSYS; ++ return __syscall_tls_set(__key, __value); ++} + -+#include <_ansi.h> -+#include ++void * ++pthread_getspecific (pthread_key_t __key) ++{ ++ if (__has_syscall(tls_get)) ++ return __syscall_tls_get(__key); ++ return NULL; ++} + -+typedef int32_t _LOCK_T; ++int ++pthread_key_delete (pthread_key_t __key) ++{ ++ if (!__has_syscall(tls_delete)) ++ return ENOSYS; ++ return __syscall_tls_delete(__key); ++} + -+struct __lock_t { -+ _LOCK_T lock; -+ uint32_t thread_tag; -+ uint32_t counter; -+}; ++//----------------------------------------------------------------------------- ++// Cancel ++//----------------------------------------------------------------------------- + -+typedef struct __lock_t _LOCK_RECURSIVE_T; ++int ++pthread_cancel (pthread_t __pthread) ++{ ++ return ENOSYS; // Unsupported ++} + -+extern void __libc_lock_init(_LOCK_T *lock); -+extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_close(_LOCK_T *lock); -+extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_acquire(_LOCK_T *lock); -+extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_release(_LOCK_T *lock); -+extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++int ++pthread_setcancelstate (int __state, int *__oldstate) ++{ ++ return ENOSYS; // Unsupported ++} + -+/* Returns 0 for success and non-zero for failure */ -+extern int __libc_lock_try_acquire(_LOCK_T *lock); -+extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++int ++pthread_setcanceltype (int __type, int *__oldtype) ++{ ++ return ENOSYS; // Unsupported ++} + -+#define __LOCK_INIT(CLASS,NAME) \ -+CLASS _LOCK_T NAME = 0; ++void ++pthread_testcancel (void) ++{ ++ // Unsupported ++} + -+#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ -+CLASS _LOCK_RECURSIVE_T NAME = {0,0,0}; ++//----------------------------------------------------------------------------- ++// Cleanup ++//----------------------------------------------------------------------------- + -+#define __lock_init(NAME) \ -+ __libc_lock_init(&(NAME)) ++static pthread_once_t __pthread_cleanup_once; ++static pthread_key_t __pthread_cleanup_key; + -+#define __lock_init_recursive(NAME) \ -+ __libc_lock_init_recursive(&(NAME)) ++static void ++__pthread_cleanup_dtor (void *arg) ++{ ++ struct _pthread_cleanup_context *cur; ++ for (cur = (struct _pthread_cleanup_context *)arg; cur; cur = cur->_previous) ++ cur->_routine(cur->_arg); ++} + -+#define __lock_close(NAME) \ -+ __libc_lock_close(&(NAME)) ++static void ++__pthread_cleanup_setup (void) ++{ ++ int err = pthread_key_create(&__pthread_cleanup_key, __pthread_cleanup_dtor); ++ if (err) ++ abort(); ++} + -+#define __lock_close_recursive(NAME) \ -+ __libc_lock_close_recursive(&(NAME)) ++void ++_pthread_cleanup_push (struct _pthread_cleanup_context *_context, void (*_routine)(void *), void *_arg) ++{ ++ pthread_once(&__pthread_cleanup_once, __pthread_cleanup_setup); ++ _context->_routine = _routine; ++ _context->_arg = _arg; ++ _context->_previous = (struct _pthread_cleanup_context *)pthread_getspecific(__pthread_cleanup_key); ++ pthread_setspecific(__pthread_cleanup_key, _context); ++} + -+#define __lock_acquire(NAME) \ -+ __libc_lock_acquire(&(NAME)) ++void ++_pthread_cleanup_pop (struct _pthread_cleanup_context *_context, int _execute) ++{ ++ struct _pthread_cleanup_context *cur = (struct _pthread_cleanup_context *)pthread_getspecific(__pthread_cleanup_key); ++ if (cur) { ++ if (_execute) ++ cur->_routine(cur->_arg); ++ pthread_setspecific(__pthread_cleanup_key, cur->_previous); ++ } ++} + -+#define __lock_acquire_recursive(NAME) \ -+ __libc_lock_acquire_recursive(&(NAME)) ++//----------------------------------------------------------------------------- ++// Barrier ++//----------------------------------------------------------------------------- + -+#define __lock_try_acquire(NAME) \ -+ __libc_lock_try_acquire(&(NAME)) ++int ++pthread_barrierattr_init (pthread_barrierattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} + -+#define __lock_try_acquire_recursive(NAME) \ -+ __libc_lock_try_acquire_recursive(&(NAME)) ++int ++pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} + -+#define __lock_release(NAME) \ -+ __libc_lock_release(&(NAME)) ++int ++pthread_barrierattr_getpshared (const pthread_barrierattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} + -+#define __lock_release_recursive(NAME) \ -+ __libc_lock_release_recursive(&(NAME)) ++int ++pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} + -+#endif // __SYS_LOCK_H__ --- -2.20.1 - - -From 4f7ac00c6376278f94fdca664957c6faaa7c90a1 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 9 Mar 2023 23:35:54 +0000 -Subject: [PATCH 10/83] devkitARM defines - ---- - newlib/configure.host | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/newlib/configure.host b/newlib/configure.host -index 0a1ba282a..d251ae629 100644 ---- a/newlib/configure.host -+++ b/newlib/configure.host -@@ -627,6 +627,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID - syscall_dir=syscalls - default_newlib_io_long_long="yes" - ;; -+ arm*-*-eabi) -+ default_newlib_io_c99_formats="yes" -+ default_newlib_io_long_long="yes" -+ default_newlib_io_pos_args="yes" -+ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" -+ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" -+ syscall_dir=syscalls -+ ;; - arm*-*-pe) - syscall_dir=syscalls - newlib_cflags="${newlib_cflags} -DHAVE_SYSCONF_PAGESIZE" --- -2.20.1 - - -From c113c776455884038aad3e8a7fe19e31fd9421b3 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 9 Mar 2023 23:39:10 +0000 -Subject: [PATCH 11/83] 64bit file offsets - ---- - newlib/libc/sys/arm/include/machine/_types.h | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - create mode 100644 newlib/libc/sys/arm/include/machine/_types.h - -diff --git a/newlib/libc/sys/arm/include/machine/_types.h b/newlib/libc/sys/arm/include/machine/_types.h -new file mode 100644 -index 000000000..40092f99f ---- /dev/null -+++ b/newlib/libc/sys/arm/include/machine/_types.h -@@ -0,0 +1,19 @@ -+#ifndef _MACHINE__TYPES_H -+#define _MACHINE__TYPES_H ++int ++pthread_barrier_init (pthread_barrier_t *__barrier, const pthread_barrierattr_t *__attr, unsigned __count) ++{ ++ if (!__barrier || !__count) ++ return EINVAL; + -+#include ++ __barrier->lock = __LOCK_INITIALIZER; ++ __barrier->cond = __COND_INITIALIZER; ++ __barrier->reload = __count; ++ __barrier->counter = __count; ++ __barrier->cycle = 0; ++ return 0; ++} + -+/* Use 64bit types */ -+typedef __int64_t _off_t; -+#define __machine_off_t_defined ++int ++pthread_barrier_destroy (pthread_barrier_t *__barrier) ++{ ++ if (!__barrier) ++ return EINVAL; ++ return 0; ++} + -+typedef __int64_t _fpos_t; -+#define __machine_fpos_t_defined ++int ++pthread_barrier_wait (pthread_barrier_t *__barrier) ++{ ++ if (!__barrier) ++ return EINVAL; ++ ++ __lock_acquire(__barrier->lock); ++ ++ int is_last_thread = !--__barrier->counter; ++ if (is_last_thread) { ++ __barrier->cycle ++; ++ __barrier->counter = __barrier->reload; ++ __cond_broadcast(__barrier->cond); ++ } else { ++ unsigned my_cycle = __barrier->cycle; ++ do ++ __cond_wait(__barrier->cond, __barrier->lock, UINT64_MAX); ++ while (__barrier->cycle == my_cycle); ++ } ++ ++ __lock_release(__barrier->lock); ++ return is_last_thread ? PTHREAD_BARRIER_SERIAL_THREAD : 0; ++} ++ ++//----------------------------------------------------------------------------- ++// Read/write lock ++//----------------------------------------------------------------------------- + -+typedef __uint32_t __ino_t; -+#define __machine_ino_t_defined ++int ++pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} + -+typedef __uint32_t __dev_t; -+#define __machine_dev_t_defined -+#endif ++int ++pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) ++{ ++ if (!__attr) ++ return EINVAL; ++ return 0; ++} + --- -2.20.1 - - -From 58add3c7399be6bd91c9c96e53395c83933a1331 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 9 Mar 2023 23:39:56 +0000 -Subject: [PATCH 12/83] add statvfs - ---- - newlib/libc/include/sys/statvfs.h | 35 +++++++++++++++++++++++++++++++ - 1 file changed, 35 insertions(+) - create mode 100644 newlib/libc/include/sys/statvfs.h - -diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h -new file mode 100644 -index 000000000..380329d34 ---- /dev/null -+++ b/newlib/libc/include/sys/statvfs.h -@@ -0,0 +1,35 @@ -+#ifndef _SYS_STATVFS_H -+#define _SYS_STATVFS_H ++int ++pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *__attr, int *__pshared) ++{ ++ return ENOSYS; ++} + ++int ++pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, int __pshared) ++{ ++ return ENOSYS; ++} + -+#define ST_RDONLY 0x0001 -+#define ST_NOSUID 0x0002 ++int ++pthread_rwlock_init (pthread_rwlock_t *__rwlock, const pthread_rwlockattr_t *__attr) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ *__rwlock = PTHREAD_RWLOCK_INITIALIZER; ++ return 0; ++} + -+#ifdef __cplusplus -+extern "C" { -+#endif ++int ++pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ return 0; ++} + -+#include ++static int ++__pthread_rwlock_rdlock_common (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) ++{ ++ int rc = 0; ++ __lock_acquire(__rwlock->lock); + -+struct statvfs { -+ unsigned long f_bsize; -+ unsigned long f_frsize; -+ fsblkcnt_t f_blocks; -+ fsblkcnt_t f_bfree; -+ fsblkcnt_t f_bavail; -+ fsfilcnt_t f_files; -+ fsfilcnt_t f_ffree; -+ fsfilcnt_t f_favail; -+ unsigned long f_fsid; -+ unsigned long f_flag; -+ unsigned long f_namemax; -+}; ++ while (__rwlock->cnt_w) { ++ rc = __cond_wait(__rwlock->cond_w, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) break; ++ } + -+int statvfs(const char *path, struct statvfs *buf); ++ if (!rc) ++ __rwlock->cnt_r ++; + -+#ifdef __cplusplus ++ __lock_release(__rwlock->lock); ++ return rc; +} -+#endif -+ + -+#endif // _SYS_STATVFS_H -\ No newline at end of file --- -2.20.1 - - -From 395243c4f8ed77ebb9e180490b2c13d7854df83b Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 9 Mar 2023 23:47:17 +0000 -Subject: [PATCH 13/83] support dirent.h - ---- - newlib/libc/sys/arm/sys/dirent.h | 52 ++++++++++++++++++++++++++++++++ - 1 file changed, 52 insertions(+) - create mode 100644 newlib/libc/sys/arm/sys/dirent.h - -diff --git a/newlib/libc/sys/arm/sys/dirent.h b/newlib/libc/sys/arm/sys/dirent.h -new file mode 100644 -index 000000000..a0785353d ---- /dev/null -+++ b/newlib/libc/sys/arm/sys/dirent.h -@@ -0,0 +1,52 @@ -+#ifndef _dirent_h_ -+#define _dirent_h_ ++int ++pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ return __pthread_rwlock_rdlock_common(__rwlock, NULL); ++} + -+#include -+#include -+#include ++int ++pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; + -+#define DT_UNKNOWN 0 -+#define DT_FIFO 1 -+#define DT_CHR 2 -+#define DT_DIR 4 -+#define DT_BLK 6 -+#define DT_REG 8 -+#define DT_LNK 10 -+#define DT_SOCK 12 -+#define DT_WHT 14 ++ __lock_acquire(__rwlock->lock); + -+#ifdef __cplusplus -+extern "C" { -+#endif ++ int failed = __rwlock->cnt_w != 0; ++ if (!failed) ++ __rwlock->cnt_r ++; + -+ struct dirent { -+ ino_t d_ino; -+ unsigned char d_type; -+ char d_name[NAME_MAX+1]; -+ }; ++ __lock_release(__rwlock->lock); ++ return failed ? EBUSY : 0; ++} + -+ typedef struct { -+ long int position; -+ DIR_ITER* dirData; -+ struct dirent fileData; -+ } DIR; ++int ++pthread_rwlock_timedrdlock (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) ++{ ++ if (!__rwlock || !__abstime) ++ return EINVAL; ++ return __pthread_rwlock_rdlock_common(__rwlock, __abstime); ++} + -+ int closedir(DIR *dirp); -+ DIR *opendir(const char *dirname); -+ struct dirent *readdir(DIR *dirp); -+ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -+ void rewinddir(DIR *dirp); -+ void seekdir(DIR *dirp, long int loc); -+ long int telldir(DIR *dirp); ++int ++pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; + -+ int scandir(const char *dirp, struct dirent ***namelist, -+ int (*filter)(const struct dirent *), -+ int (*compar)(const struct dirent **, const struct dirent **)); ++ __lock_acquire(__rwlock->lock); + -+ int alphasort(const struct dirent **a, const struct dirent **b); ++ if (__rwlock->cnt_w != 2) { ++ if (!--__rwlock->cnt_r) ++ __cond_broadcast(__rwlock->cond_r); ++ } else { ++ __rwlock->cnt_w = 0; ++ __cond_broadcast(__rwlock->cond_w); ++ } + -+#ifdef __cplusplus ++ __lock_release(__rwlock->lock); ++ return 0; +} -+#endif + -+#endif // _dirent_h_ --- -2.20.1 - - -From 6b6cd0bf25e7b2eaf7d0aaae81a152455948f4e0 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 9 Mar 2023 23:49:12 +0000 -Subject: [PATCH 14/83] add utime - ---- - newlib/libc/include/sys/utime.h | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h -index 5e937f103..b7b4de67d 100644 ---- a/newlib/libc/include/sys/utime.h -+++ b/newlib/libc/include/sys/utime.h -@@ -15,6 +15,13 @@ struct utimbuf - time_t modtime; - }; - -+/* Functions */ ++static int ++__pthread_rwlock_wrlock_common (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) ++{ ++ int rc = 0; ++ __lock_acquire(__rwlock->lock); + -+int utime( -+ const char *path, -+ const struct utimbuf *times -+); ++ while (__rwlock->cnt_w) { ++ rc = __cond_wait(__rwlock->cond_w, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) break; ++ } + - #ifdef __cplusplus - }; - #endif --- -2.20.1 - - -From f5265fbd73b1345968e9a25363893671b0ca0b1b Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 9 Mar 2023 23:56:08 +0000 -Subject: [PATCH 15/83] default to utf8 - ---- - newlib/libc/ctype/jp2uc.c | 2 +- - newlib/libc/locale/locale.c | 26 ++++++++++++++++++++++++-- - 2 files changed, 25 insertions(+), 3 deletions(-) - -diff --git a/newlib/libc/ctype/jp2uc.c b/newlib/libc/ctype/jp2uc.c -index 5e30f09be..b90a8f4f4 100644 ---- a/newlib/libc/ctype/jp2uc.c -+++ b/newlib/libc/ctype/jp2uc.c -@@ -35,7 +35,7 @@ - #ifdef _MB_CAPABLE - /* Under Cygwin, the incoming wide character is already given in UTF due - to the requirements of the underlying OS. */ --#ifndef __CYGWIN__ -+#if !defined(__CYGWIN__) && !defined(__DEFAULT_UTF8__) - - #include <_ansi.h> - #include -diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index 65e2b1833..d3171515d 100644 ---- a/newlib/libc/locale/locale.c -+++ b/newlib/libc/locale/locale.c -@@ -198,7 +198,11 @@ static char *categories[_LC_LAST] = { - * Default locale per POSIX. Can be overridden on a per-target base. - */ - #ifndef DEFAULT_LOCALE --#define DEFAULT_LOCALE "C" -+#ifdef __DEFAULT_UTF8__ -+#define DEFAULT_LOCALE "C.UTF-8" -+#else -+#define DEFAULT_LOCALE "C" -+#endif - #endif - - #ifdef _MB_CAPABLE -@@ -211,8 +215,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; - const struct __locale_t __C_locale = - { - { "C", "C", "C", "C", "C", "C", "C", }, -+#if defined ( __DEFAULT_UTF8__ ) -+ __utf8_wctomb, -+ __utf8_mbtowc, -+#else - __ascii_wctomb, - __ascii_mbtowc, -+#endif - 0, - DEFAULT_CTYPE_PTR, - { -@@ -223,9 +232,15 @@ const struct __locale_t __C_locale = - CHAR_MAX, CHAR_MAX - }, - #ifndef __HAVE_LOCALE_INFO__ -+#ifdef __DEFAULT_UTF8__ -+ "\6", -+ "UTF-8", -+ "UTF-8", -+#else - "\1", - "ASCII", - "ASCII", -+#endif - #else /* __HAVE_LOCALE_INFO__ */ - { - { NULL, NULL }, /* LC_ALL */ -@@ -244,10 +259,11 @@ const struct __locale_t __C_locale = - }; - #endif /* _MB_CAPABLE */ - ++ if (!rc) { ++ __rwlock->cnt_w = 1; ++ ++ while (__rwlock->cnt_r) { ++ rc = __cond_wait(__rwlock->cond_r, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) break; ++ } ++ ++ if (rc) { ++ __rwlock->cnt_w = 0; ++ __cond_broadcast(__rwlock->cond_w); ++ } else ++ __rwlock->cnt_w = 2; ++ } + - struct __locale_t __global_locale = - { - { "C", "C", DEFAULT_LOCALE, "C", "C", "C", "C", }, --#ifdef __CYGWIN__ -+#if defined ( __CYGWIN__ ) || defined ( __DEFAULT_UTF8__ ) - __utf8_wctomb, - __utf8_mbtowc, - #else -@@ -264,9 +280,15 @@ struct __locale_t __global_locale = - CHAR_MAX, CHAR_MAX - }, - #ifndef __HAVE_LOCALE_INFO__ -+#ifdef __DEFAULT_UTF8__ -+ "\6", -+ "UTF-8", -+ "UTF-8", -+#else - "\1", - "ASCII", - "ASCII", -+#endif - #else /* __HAVE_LOCALE_INFO__ */ - { - { NULL, NULL }, /* LC_ALL */ --- -2.20.1 - - -From fd5c2d2eb2d89f37afc688a9740683a820327dac Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 10 Mar 2023 11:40:02 +0000 -Subject: [PATCH 16/83] remove shift-jis bloat - ---- - newlib/libc/ctype/local.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/newlib/libc/ctype/local.h b/newlib/libc/ctype/local.h -index 5c293c83d..0dbfcd7ee 100644 ---- a/newlib/libc/ctype/local.h -+++ b/newlib/libc/ctype/local.h -@@ -32,7 +32,7 @@ - * for towupper and towlower, the result must be back-transformed - into the respective locale encoding; currently NOT IMPLEMENTED - */ --#ifdef __CYGWIN__ -+#if defined(__CYGWIN__) || defined(__DEFAULT_UTF8__) - /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ - #define _jp2uc(c) (c) - #define _jp2uc_l(c, l) (c) --- -2.20.1 - - -From 64712ba2a99ee572e1c04b12cf3ebeaa88f7342b Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 10 Mar 2023 11:41:03 +0000 -Subject: [PATCH 17/83] newlib/Makefile.in: regenerate - ---- - newlib/Makefile.in | 37 +++++++++++++++++++------------------ - 1 file changed, 19 insertions(+), 18 deletions(-) - -diff --git a/newlib/Makefile.in b/newlib/Makefile.in -index bc967bd70..c724bc380 100644 ---- a/newlib/Makefile.in -+++ b/newlib/Makefile.in -@@ -668,7 +668,7 @@ check_PROGRAMS = - @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy-stub.c \ - @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy.S \ - @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen-stub.c \ --@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen.S -+@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/sync_synchronize.c - - @HAVE_LIBC_MACHINE_BFIN_TRUE@am__append_69 = libc/machine/bfin/setjmp.S libc/machine/bfin/longjmp.S - @HAVE_LIBC_MACHINE_CR16_TRUE@am__append_70 = libc/machine/cr16/setjmp.S libc/machine/cr16/getenv.c -@@ -1893,7 +1893,7 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy-stub.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen-stub.$(OBJEXT) \ --@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen.$(OBJEXT) -+@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT) - @HAVE_LIBC_MACHINE_BFIN_TRUE@am__objects_80 = libc/machine/bfin/libc_a-setjmp.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_BFIN_TRUE@ libc/machine/bfin/libc_a-longjmp.$(OBJEXT) - @HAVE_LIBC_MACHINE_CR16_TRUE@am__objects_81 = libc/machine/cr16/libc_a-setjmp.$(OBJEXT) \ -@@ -3768,6 +3768,7 @@ pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ - psdir = @psdir@ -+runstatedir = @runstatedir@ - sbindir = @sbindir@ - shared_machine_dir = @shared_machine_dir@ - sharedstatedir = @sharedstatedir@ -@@ -8021,7 +8022,7 @@ libc/machine/arm/libc_a-memcpy.$(OBJEXT): \ - libc/machine/arm/libc_a-strlen-stub.$(OBJEXT): \ - libc/machine/arm/$(am__dirstamp) \ - libc/machine/arm/$(DEPDIR)/$(am__dirstamp) --libc/machine/arm/libc_a-strlen.$(OBJEXT): \ -+libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT): \ - libc/machine/arm/$(am__dirstamp) \ - libc/machine/arm/$(DEPDIR)/$(am__dirstamp) - libc/machine/bfin/$(am__dirstamp): -@@ -12338,7 +12339,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcmp.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcpy.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen-stub.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-longjmp.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po@am__quote@ -@@ -16730,20 +16731,6 @@ libc/machine/arm/libc_a-memcpy.obj: libc/machine/arm/memcpy.S - @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-memcpy.obj `if test -f 'libc/machine/arm/memcpy.S'; then $(CYGPATH_W) 'libc/machine/arm/memcpy.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/memcpy.S'; fi` - --libc/machine/arm/libc_a-strlen.o: libc/machine/arm/strlen.S --@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/arm/libc_a-strlen.o -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo -c -o libc/machine/arm/libc_a-strlen.o `test -f 'libc/machine/arm/strlen.S' || echo '$(srcdir)/'`libc/machine/arm/strlen.S --@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po --@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='libc/machine/arm/strlen.S' object='libc/machine/arm/libc_a-strlen.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-strlen.o `test -f 'libc/machine/arm/strlen.S' || echo '$(srcdir)/'`libc/machine/arm/strlen.S -- --libc/machine/arm/libc_a-strlen.obj: libc/machine/arm/strlen.S --@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/arm/libc_a-strlen.obj -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo -c -o libc/machine/arm/libc_a-strlen.obj `if test -f 'libc/machine/arm/strlen.S'; then $(CYGPATH_W) 'libc/machine/arm/strlen.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen.S'; fi` --@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po --@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='libc/machine/arm/strlen.S' object='libc/machine/arm/libc_a-strlen.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-strlen.obj `if test -f 'libc/machine/arm/strlen.S'; then $(CYGPATH_W) 'libc/machine/arm/strlen.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen.S'; fi` -- - libc/machine/bfin/libc_a-setjmp.o: libc/machine/bfin/setjmp.S - @am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/bfin/libc_a-setjmp.o -MD -MP -MF libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo -c -o libc/machine/bfin/libc_a-setjmp.o `test -f 'libc/machine/bfin/setjmp.S' || echo '$(srcdir)/'`libc/machine/bfin/setjmp.S - @am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po -@@ -32734,6 +32721,20 @@ libc/machine/arm/libc_a-strlen-stub.obj: libc/machine/arm/strlen-stub.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-strlen-stub.obj `if test -f 'libc/machine/arm/strlen-stub.c'; then $(CYGPATH_W) 'libc/machine/arm/strlen-stub.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen-stub.c'; fi` - -+libc/machine/arm/libc_a-sync_synchronize.o: libc/machine/arm/sync_synchronize.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/arm/libc_a-sync_synchronize.o -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo -c -o libc/machine/arm/libc_a-sync_synchronize.o `test -f 'libc/machine/arm/sync_synchronize.c' || echo '$(srcdir)/'`libc/machine/arm/sync_synchronize.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/arm/sync_synchronize.c' object='libc/machine/arm/libc_a-sync_synchronize.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-sync_synchronize.o `test -f 'libc/machine/arm/sync_synchronize.c' || echo '$(srcdir)/'`libc/machine/arm/sync_synchronize.c ++ __lock_release(__rwlock->lock); ++ return rc; ++} + -+libc/machine/arm/libc_a-sync_synchronize.obj: libc/machine/arm/sync_synchronize.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/arm/libc_a-sync_synchronize.obj -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo -c -o libc/machine/arm/libc_a-sync_synchronize.obj `if test -f 'libc/machine/arm/sync_synchronize.c'; then $(CYGPATH_W) 'libc/machine/arm/sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/sync_synchronize.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/arm/sync_synchronize.c' object='libc/machine/arm/libc_a-sync_synchronize.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-sync_synchronize.obj `if test -f 'libc/machine/arm/sync_synchronize.c'; then $(CYGPATH_W) 'libc/machine/arm/sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/sync_synchronize.c'; fi` ++int ++pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; ++ return __pthread_rwlock_wrlock_common(__rwlock, NULL); ++} + - libc/machine/cr16/libc_a-getenv.o: libc/machine/cr16/getenv.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/cr16/libc_a-getenv.o -MD -MP -MF libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo -c -o libc/machine/cr16/libc_a-getenv.o `test -f 'libc/machine/cr16/getenv.c' || echo '$(srcdir)/'`libc/machine/cr16/getenv.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po --- -2.20.1 - - -From 7c925ef6fb604421ff45fc62d1547708f346bf50 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 10 Mar 2023 11:42:38 +0000 -Subject: [PATCH 18/83] enable clock features - ---- - newlib/libc/include/sys/features.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 45476ce4a..d76706321 100644 ---- a/newlib/libc/include/sys/features.h -+++ b/newlib/libc/include/sys/features.h -@@ -331,6 +331,9 @@ extern "C" { - # define __SSP_FORTIFY_LEVEL 0 - #endif - -+#define _POSIX_MONOTONIC_CLOCK 200112L -+#define _POSIX_TIMERS 1 ++int ++pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) ++{ ++ if (!__rwlock) ++ return EINVAL; + - /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ - - #ifdef __rtems__ --- -2.20.1 - - -From 243cf1989041c6e020c2662b0d729b0253dd96dd Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 10 Mar 2023 11:43:09 +0000 -Subject: [PATCH 19/83] enable fpu - ---- - newlib/libc/machine/arm/setjmp.S | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/newlib/libc/machine/arm/setjmp.S b/newlib/libc/machine/arm/setjmp.S -index c615f2428..3a3bfd05e 100644 ---- a/newlib/libc/machine/arm/setjmp.S -+++ b/newlib/libc/machine/arm/setjmp.S -@@ -2,6 +2,8 @@ - - Nick Clifton, Cygnus Solutions, 13 June 1997. */ - -+ .fpu vfpxd ++ __lock_acquire(__rwlock->lock); + - #include "arm-acle-compat.h" - - /* ANSI concatenation macros. */ --- -2.20.1 - - -From 8eb401bc833d4db30fcb96a9458b007cb9501e69 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 10 Mar 2023 11:47:26 +0000 -Subject: [PATCH 20/83] PATHSIZE obsolete? - ---- - newlib/libc/include/sys/param.h | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h -index 9a6f115a6..142e71d35 100644 ---- a/newlib/libc/include/sys/param.h -+++ b/newlib/libc/include/sys/param.h -@@ -19,9 +19,6 @@ - #ifndef NOFILE - # define NOFILE (60) - #endif --#ifndef PATHSIZE --# define PATHSIZE (1024) --#endif - - #define MAXPATHLEN PATH_MAX - --- -2.20.1 - - -From d83f4c895bdd17753f0be8a85d1581ec73bd0edb Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 10 Mar 2023 11:48:03 +0000 -Subject: [PATCH 21/83] allow fread to bypass buffer for large reads - ---- - newlib/libc/stdio/fread.c | 77 ++++++++++++++++++++++++++++----------- - 1 file changed, 56 insertions(+), 21 deletions(-) - -diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index df8321461..6ea00229d 100644 ---- a/newlib/libc/stdio/fread.c -+++ b/newlib/libc/stdio/fread.c -@@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, - } - - return count; -- ++ int failed = __rwlock->cnt_w != 0 || __rwlock->cnt_r != 0; ++ if (!failed) ++ __rwlock->cnt_w = 2; + - } - - #endif -@@ -187,7 +187,6 @@ _fread_r (struct _reent * ptr, - int rc = 0; - /* save fp buffering state */ - void *old_base = fp->_bf._base; -- void * old_p = fp->_p; - int old_size = fp->_bf._size; - /* allow __refill to use user's buffer */ - fp->_bf._base = (unsigned char *) p; -@@ -197,7 +196,7 @@ _fread_r (struct _reent * ptr, - /* restore fp buffering back to original state */ - fp->_bf._base = old_base; - fp->_bf._size = old_size; -- fp->_p = old_p; -+ fp->_p = old_base; - resid -= fp->_r; - p += fp->_r; - fp->_r = 0; -@@ -218,27 +217,63 @@ _fread_r (struct _reent * ptr, - else - #endif /* !PREFER_SIZE_OVER_SPEED && !__OPTIMIZE_SIZE__ */ - { ++ __lock_release(__rwlock->lock); ++ return failed ? EBUSY : 0; ++} + -+ /* ensure buffer set up before read */ -+ if (fp->_bf._base == NULL) -+ __smakebuf_r (ptr, fp); ++int ++pthread_rwlock_timedwrlock (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) ++{ ++ if (!__rwlock || !__abstime) ++ return EINVAL; ++ return __pthread_rwlock_wrlock_common(__rwlock, __abstime); ++} ++ ++//----------------------------------------------------------------------------- ++// semaphore.h ++//----------------------------------------------------------------------------- ++ ++int ++sem_close(sem_t *__sem) ++{ ++ errno = ENOSYS; ++ return -1; ++} ++ ++int ++sem_destroy(sem_t *__sem) ++{ ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } ++ return 0; ++} ++ ++int ++sem_getvalue(sem_t *__sem, int *__sval) ++{ ++ if (!__sem || !__sval) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ __lock_acquire(__sem->lock); ++ *__sval = __sem->value; ++ __lock_release(__sem->lock); ++ return 0; ++} ++ ++int ++sem_init(sem_t *__sem, int __pshared, unsigned int __value) ++{ ++ if (!__sem || __value > SEM_VALUE_MAX) { ++ errno = EINVAL; ++ return -1; ++ } ++ if (__pshared) { ++ errno = ENOSYS; ++ return -1; ++ } + ++ __sem->lock = __LOCK_INITIALIZER; ++ __sem->cond = __COND_INITIALIZER; ++ __sem->value = __value; ++ return 0; ++} + - while (resid > (r = fp->_r)) -- { -- (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r); -- fp->_p += r; -- /* fp->_r = 0 ... done in __srefill */ -- p += r; -- resid -= r; -- if (__srefill_r (ptr, fp)) -- { -- /* no more input: return partial result */ -+ { -+ (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r); -+ fp->_p += r; -+ /* fp->_r = 0 ... done in __srefill */ -+ p += r; -+ resid -= r; ++sem_t * ++sem_open(const char *__name, int __oflag, ...) ++{ ++ errno = ENOSYS; ++ return SEM_FAILED; ++} + -+ if (resid>fp->_bf._size) -+ { int rc = 0; -+ /* save fp buffering state */ -+ void *old_base = fp->_bf._base; -+ int old_size = fp->_bf._size; -+ /* allow __refill to use user's buffer */ -+ fp->_bf._base = (unsigned char *) p; -+ fp->_bf._size = resid - old_size; -+ fp->_p = (unsigned char *) p; -+ rc = __srefill_r (ptr, fp); -+ /* restore fp buffering back to original state */ -+ fp->_bf._base = old_base; -+ fp->_bf._size = old_size; -+ fp->_p = old_base; -+ resid -= fp->_r; -+ p += fp->_r; -+ if (rc) -+ { - #ifdef __SCLE -- if (fp->_flags & __SCLE) -- { -- _newlib_flockfile_exit (fp); -- return crlf_r (ptr, fp, buf, total-resid, 1) / size; -- } -+ if (fp->_flags & __SCLE) -+ { -+ _newlib_flockfile_exit (fp); -+ return crlf_r (ptr, fp, buf, total-resid, 1) / size; -+ } - #endif -- _newlib_flockfile_exit (fp); -- return (total - resid) / size; -- } -- } -+ _newlib_flockfile_exit (fp); -+ return (total - resid) / size; -+ } -+ } -+ if (__srefill_r (ptr, fp)) -+ { -+ /* no more input: return partial result */ -+#ifdef __SCLE -+ if (fp->_flags & __SCLE) -+ { -+ _newlib_flockfile_exit (fp); -+ return crlf_r (ptr, fp, buf, total-resid, 1) / size; -+ } -+#endif -+ _newlib_flockfile_exit (fp); -+ return (total - resid) / size; -+ } -+ } - (void) memcpy ((void *) p, (void *) fp->_p, resid); - fp->_r -= resid; - fp->_p += resid; --- -2.20.1 - - -From 749b8cb88132210a642fb7c869d2fa58d2851037 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 16 Mar 2023 14:03:24 +0000 -Subject: [PATCH 22/83] allow sbrk override - ---- - libgloss/libsysbase/sbrk.c | 7 ++++--- - libgloss/libsysbase/syscall_support.c | 1 + - newlib/libc/include/sys/iosupport.h | 1 - - 3 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c -index 87b11dfb4..badd03297 100644 ---- a/libgloss/libsysbase/sbrk.c -+++ b/libgloss/libsysbase/sbrk.c -@@ -10,6 +10,7 @@ - #include - #include - #include -+#include - - - extern char *fake_heap_end; -@@ -19,7 +20,7 @@ extern char *fake_heap_start; - register char * stack_ptr asm ("sp"); - - //--------------------------------------------------------------------------------- --void *_sbrk_r (struct _reent *ptr, ptrdiff_t incr) { -+__attribute__((weak)) void * _sbrk_r (struct _reent *ptr, ptrdiff_t incr) { - //--------------------------------------------------------------------------------- - extern char end asm ("__end__"); /* Defined by the linker. */ - static char * heap_start; -@@ -45,9 +46,9 @@ void *_sbrk_r (struct _reent *ptr, ptrdiff_t incr) { - - if (heap_start + incr > heap_end) { - ptr->_errno = ENOMEM; -- return (caddr_t) -1; -+ return (void *) -1; - } - - heap_start += incr; -- return (caddr_t) prev_heap_start; -+ return (void *) prev_heap_start; - } -diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c -index 69145f27c..f54018ce9 100644 ---- a/libgloss/libsysbase/syscall_support.c -+++ b/libgloss/libsysbase/syscall_support.c -@@ -1,4 +1,5 @@ - #include -+#include - - void __libc_lock_init(_LOCK_T *lock) { - -diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h -index 7b366f593..f30fb7ead 100644 ---- a/newlib/libc/include/sys/iosupport.h -+++ b/newlib/libc/include/sys/iosupport.h -@@ -77,7 +77,6 @@ extern const devoptab_t *devoptab_list[]; - #define __SYSCALL(_name) __syscall_##_name - #endif - --void *__SYSCALL(sbrk_r) (struct _reent *ptr, ptrdiff_t incr); - void __SYSCALL(exit) ( int rc ); - int __SYSCALL(gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); - void __SYSCALL(lock_init) (_LOCK_T *lock); --- -2.20.1 - - -From 4362363b7a6eed0bceb7a5f4351bf3686a529ffd Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 16 Mar 2023 14:00:48 +0000 -Subject: [PATCH 23/83] add access for powerpc - ---- - newlib/libc/machine/powerpc/Makefile.inc | 3 ++- - newlib/libc/machine/powerpc/access.c | 33 ++++++++++++++++++++++++ - 2 files changed, 35 insertions(+), 1 deletion(-) - create mode 100644 newlib/libc/machine/powerpc/access.c - -diff --git a/newlib/libc/machine/powerpc/Makefile.inc b/newlib/libc/machine/powerpc/Makefile.inc -index 55c7ebdc6..a6acfdaa6 100644 ---- a/newlib/libc/machine/powerpc/Makefile.inc -+++ b/newlib/libc/machine/powerpc/Makefile.inc -@@ -1,6 +1,7 @@ - libc_a_CPPFLAGS_%C% = -I$(srcdir)/libc/stdio -I$(srcdir)/libc/stdlib - --libc_a_SOURCES += %D%/setjmp.S -+libc_a_SOURCES += %D%/setjmp.S \ -+ %D%/access.c - - if HAVE_POWERPC_ALTIVEC - libc_a_SOURCES += \ -diff --git a/newlib/libc/machine/powerpc/access.c b/newlib/libc/machine/powerpc/access.c -new file mode 100644 -index 000000000..980682ef3 ---- /dev/null -+++ b/newlib/libc/machine/powerpc/access.c -@@ -0,0 +1,33 @@ -+/* This is file ACCESS.C */ -+/* -+ * Copyright (C) 1993 DJ Delorie -+ * All rights reserved. -+ * -+ * Redistribution, modification, and use in source and binary forms is permitted -+ * provided that the above copyright notice and following paragraph are -+ * duplicated in all such forms. -+ * -+ * This file is distributed WITHOUT ANY WARRANTY; without even the implied -+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -+ */ ++int ++sem_post(sem_t *__sem) ++{ ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } + -+#include -+#include -+#include ++ __lock_acquire(__sem->lock); ++ if (__sem->value++ < 0) ++ __cond_signal(__sem->cond); ++ __lock_release(__sem->lock); ++ return 0; ++} + -+int access(const char *fn, int flags) ++static int ++__sem_wait_common(sem_t *__sem, const struct timespec *__abstime) +{ -+ struct stat s; -+ if (stat(fn, &s)) -+ return -1; -+ if (s.st_mode & S_IFDIR) -+ return 0; -+ if (flags & W_OK) -+ { -+ if (s.st_mode & S_IWRITE) -+ return 0; -+ return -1; -+ } -+ return 0; -+} -+ --- -2.20.1 - - -From 6d4ec3c5b2d223420a815a488453e592080f726c Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 16 Mar 2023 16:40:31 +0000 -Subject: [PATCH 24/83] newlib/Makefile.in: regenerate - ---- - newlib/Makefile.in | 25 +++++++++++++++++++++++-- - 1 file changed, 23 insertions(+), 2 deletions(-) - -diff --git a/newlib/Makefile.in b/newlib/Makefile.in -index c724bc380..b0d8d64f0 100644 ---- a/newlib/Makefile.in -+++ b/newlib/Makefile.in -@@ -767,7 +767,9 @@ check_PROGRAMS = - @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/misc.c libc/machine/nvptx/clock.c - - @HAVE_LIBC_MACHINE_OR1K_TRUE@am__append_108 = libc/machine/or1k/setjmp.S --@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S -+@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_109 = libc/machine/powerpc/setjmp.S \ -+@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/access.c ++ int rc = 0; ++ __lock_acquire(__sem->lock); + - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__append_110 = \ - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfprintf.c \ - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfscanf.c \ -@@ -2043,7 +2045,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-misc.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-clock.$(OBJEXT) - @HAVE_LIBC_MACHINE_OR1K_TRUE@am__objects_118 = libc/machine/or1k/libc_a-setjmp.$(OBJEXT) --@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) -+@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_119 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) \ -+@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/libc_a-access.$(OBJEXT) - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__objects_120 = libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vfscanf.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vec_malloc.$(OBJEXT) \ -@@ -8697,6 +8700,9 @@ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp): - libc/machine/powerpc/libc_a-setjmp.$(OBJEXT): \ - libc/machine/powerpc/$(am__dirstamp) \ - libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) -+libc/machine/powerpc/libc_a-access.$(OBJEXT): \ -+ libc/machine/powerpc/$(am__dirstamp) \ -+ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) - libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT): \ - libc/machine/powerpc/$(am__dirstamp) \ - libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) -@@ -12488,6 +12494,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-reallocr.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-write.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/or1k/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix16.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix32.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix64.Po@am__quote@ -@@ -33253,6 +33260,20 @@ libc/machine/nvptx/libc_a-clock.obj: libc/machine/nvptx/clock.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/nvptx/libc_a-clock.obj `if test -f 'libc/machine/nvptx/clock.c'; then $(CYGPATH_W) 'libc/machine/nvptx/clock.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/nvptx/clock.c'; fi` - -+libc/machine/powerpc/libc_a-access.o: libc/machine/powerpc/access.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-access.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/powerpc/libc_a-access.o `test -f 'libc/machine/powerpc/access.c' || echo '$(srcdir)/'`libc/machine/powerpc/access.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/powerpc/access.c' object='libc/machine/powerpc/libc_a-access.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/powerpc/libc_a-access.o `test -f 'libc/machine/powerpc/access.c' || echo '$(srcdir)/'`libc/machine/powerpc/access.c ++ __sem->value --; ++ if (__sem->value < 0) ++ rc = __cond_wait(__sem->cond, __sem->lock, __pthread_abstime_to_ns(__abstime)); ++ if (rc) { ++ if (__sem->value < 0) ++ __sem->value ++; ++ else ++ rc = 0; ++ } + -+libc/machine/powerpc/libc_a-access.obj: libc/machine/powerpc/access.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-access.obj -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/powerpc/libc_a-access.obj `if test -f 'libc/machine/powerpc/access.c'; then $(CYGPATH_W) 'libc/machine/powerpc/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/powerpc/access.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/powerpc/access.c' object='libc/machine/powerpc/libc_a-access.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/powerpc/libc_a-access.obj `if test -f 'libc/machine/powerpc/access.c'; then $(CYGPATH_W) 'libc/machine/powerpc/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/powerpc/access.c'; fi` ++ __lock_release(__sem->lock); + - libc/machine/powerpc/libc_a-vfprintf.o: libc/machine/powerpc/vfprintf.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-vfprintf.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo -c -o libc/machine/powerpc/libc_a-vfprintf.o `test -f 'libc/machine/powerpc/vfprintf.c' || echo '$(srcdir)/'`libc/machine/powerpc/vfprintf.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Po --- -2.20.1 - - -From db8f5b061fe182851796d22a021f94363ee335ed Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 16 Mar 2023 20:51:44 +0000 -Subject: [PATCH 25/83] devkitPPC: add locks - ---- - newlib/libc/machine/powerpc/sys/lock.h | 58 ++++++++++++++++++++++++++ - 1 file changed, 58 insertions(+) - create mode 100644 newlib/libc/machine/powerpc/sys/lock.h - -diff --git a/newlib/libc/machine/powerpc/sys/lock.h b/newlib/libc/machine/powerpc/sys/lock.h -new file mode 100644 -index 000000000..7f051e0c9 ---- /dev/null -+++ b/newlib/libc/machine/powerpc/sys/lock.h -@@ -0,0 +1,58 @@ -+#ifndef __SYS_LOCK_H__ -+#define __SYS_LOCK_H__ ++ if (rc) { ++ errno = rc; ++ return -1; ++ } ++ ++ return 0; ++} ++ ++int ++sem_timedwait(sem_t *__sem, const struct timespec *__abstime) ++{ ++ if (!__sem || !__abstime) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ return __sem_wait_common(__sem, __abstime); ++} + -+typedef int _LOCK_T; -+typedef int _LOCK_RECURSIVE_T; ++int ++sem_trywait(sem_t *__sem) ++{ ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } + -+#define __LOCK_INIT(CLASS,NAME) CLASS _LOCK_T NAME = 0 -+#define __LOCK_INIT_RECURSIVE(CLASS,NAME) CLASS _LOCK_RECURSIVE_T NAME = 0 ++ __lock_acquire(__sem->lock); + ++ int failed = __sem->value <= 0; ++ if (!failed) ++ __sem->value --; + -+extern void __libc_lock_init(_LOCK_T *lock); -+extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_close(_LOCK_T *lock); -+extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_acquire(_LOCK_T *lock); -+extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_release(_LOCK_T *lock); -+extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++ __lock_release(__sem->lock); + -+/* Returns 0 for success and non-zero for failure */ -+extern int __libc_lock_try_acquire(_LOCK_T *lock); -+extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++ if (failed) { ++ errno = EAGAIN; ++ return -1; ++ } + -+#define __lock_init(NAME) \ -+ __libc_lock_init(&(NAME)) ++ return 0; ++} + -+#define __lock_init_recursive(NAME) \ -+ __libc_lock_init_recursive(&(NAME)) ++int ++sem_unlink(const char *__name) ++{ ++ errno = ENOSYS; ++ return -1; ++} + -+#define __lock_close(NAME) \ -+ __libc_lock_close(&(NAME)) ++int ++sem_wait(sem_t *__sem) ++{ ++ if (!__sem) { ++ errno = EINVAL; ++ return -1; ++ } + -+#define __lock_close_recursive(NAME) \ -+ __libc_lock_close(&(NAME)) ++ return __sem_wait_common(__sem, NULL); ++} + -+#define __lock_acquire(NAME) \ -+ if(!(NAME)) __libc_lock_init(&(NAME)); \ -+ __libc_lock_acquire(&(NAME)) ++//----------------------------------------------------------------------------- ++// sched.h ++//----------------------------------------------------------------------------- + -+#define __lock_acquire_recursive(NAME) \ -+ if(!(NAME)) __libc_lock_init_recursive(&(NAME)); \ -+ __libc_lock_acquire(&(NAME)) ++int __attribute__((weak)) ++sched_yield (void) ++{ ++ errno = ENOSYS; ++ return -1; ++} + -+#define __lock_try_acquire(NAME) \ -+ if(!(NAME)) __libc_lock_init(&(NAME)); \ -+ __libc_lock_try_acquire(&(NAME)) ++int __attribute__((weak)) ++sched_getcpu (void) ++{ ++ errno = ENOSYS; ++ return -1; ++} +diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c +new file mode 100644 +index 000000000..9c548d830 +--- /dev/null ++++ b/libgloss/libsysbase/read.c +@@ -0,0 +1,32 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include + -+#define __lock_try_acquire_recursive(NAME) \ -+ if(!(NAME)) __libc_lock_init_recursive(&(NAME)); \ -+ __libc_lock_try_acquire(&(NAME)) ++#include + -+#define __lock_release(NAME) \ -+ __libc_lock_release(&(NAME)) ++//--------------------------------------------------------------------------------- ++_ssize_t _read_r(struct _reent *r, int fileDesc, void *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ int ret = -1; ++ unsigned int dev = 0; + -+#define __lock_release_recursive(NAME) \ -+ __libc_lock_release(&(NAME)) ++ __handle * handle = NULL; + -+#endif /* __SYS_LOCK_H__ */ --- -2.20.1 - - -From d74686101f250aa419c792ca2699271dee4f02f0 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 16 Mar 2023 20:52:26 +0000 -Subject: [PATCH 26/83] devkitPPC defines - ---- - newlib/configure.host | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/newlib/configure.host b/newlib/configure.host -index d251ae629..1646e2c9c 100644 ---- a/newlib/configure.host -+++ b/newlib/configure.host -@@ -807,7 +807,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID - default_newlib_io_long_long="yes" - newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" - ;; -- powerpc*-*-eabi* | \ -+ powerpc*-*-eabi*) -+ default_newlib_io_c99_formats="yes" -+ default_newlib_io_long_long="yes" -+ newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" -+ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" -+ syscall_dir=syscalls -+ ;; - powerpc*-*-elf* | \ - powerpc*-*-linux* | \ - powerpc*-*-rtem* | \ --- -2.20.1 - - -From 7be6e90210924339291f6cc631dda7beeaf81f8d Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 16 Mar 2023 21:00:18 +0000 -Subject: [PATCH 27/83] allow custom malloc lock/unlock - ---- - libgloss/libsysbase/syscall_support.c | 16 ++++++++++++++++ - newlib/libc/include/sys/iosupport.h | 3 +++ - newlib/libc/stdlib/mlock.c | 2 ++ - 3 files changed, 21 insertions(+) - -diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c -index f54018ce9..99f2a7822 100644 ---- a/libgloss/libsysbase/syscall_support.c -+++ b/libgloss/libsysbase/syscall_support.c -@@ -75,3 +75,19 @@ void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { - __syscall_lock_close_recursive(lock); - } - } ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); + -+#ifdef CUSTOM_MALLOC_LOCK ++ if ( NULL == handle ) return ret; + -+void __malloc_lock( struct _reent *ptr ) { -+ if ( __has_syscall(malloc_lock) ){ -+ __syscall_malloc_lock(ptr); -+ } -+ } ++ dev = handle->device; + -+void __malloc_unlock( struct _reent *ptr ) { -+ if ( __has_syscall(malloc_unlock)) { -+ __syscall_malloc_unlock(ptr); ++ if(devoptab_list[dev]->read_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->read_r(r,handle->fileStruct,ptr,len); ++ } else ++ r->_errno=ENOSYS; + } ++ return ret; +} + -+#endif -diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h -index f30fb7ead..6bd075993 100644 ---- a/newlib/libc/include/sys/iosupport.h -+++ b/newlib/libc/include/sys/iosupport.h -@@ -95,6 +95,9 @@ int __SYSCALL(clock_settime) (clockid_t clock_id, const struct timespec *tp); - int __SYSCALL(clock_getres) (clockid_t clock_id, struct timespec *res); - int __SYSCALL(nanosleep) (const struct timespec *req, struct timespec *rem); - -+void __SYSCALL(malloc_lock) (struct _reent *ptr); -+void __SYSCALL(malloc_unlock) (struct _reent *ptr); -+ - int AddDevice( const devoptab_t* device); - int FindDevice(const char* name); - int RemoveDevice(const char* name); -diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c -index 23aa10173..ba88eb9fb 100644 ---- a/newlib/libc/stdlib/mlock.c -+++ b/newlib/libc/stdlib/mlock.c -@@ -1,4 +1,5 @@ - #ifndef MALLOC_PROVIDED -+#ifndef CUSTOM_MALLOC_LOCK - /* - FUNCTION - <<__malloc_lock>>, <<__malloc_unlock>>---lock malloc pool -@@ -55,3 +56,4 @@ __malloc_unlock (ptr) - } - - #endif -+#endif --- -2.20.1 - - -From 61f3a5d667de9ffe045263a24b8c6af6f8eb21e9 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 17 Mar 2023 14:44:28 +0000 -Subject: [PATCH 28/83] devkitPPC uses custom malloc lock/unlock - ---- - newlib/configure.host | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/newlib/configure.host b/newlib/configure.host -index 1646e2c9c..749f1ec7d 100644 ---- a/newlib/configure.host -+++ b/newlib/configure.host -@@ -810,7 +810,7 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID - powerpc*-*-eabi*) - default_newlib_io_c99_formats="yes" - default_newlib_io_long_long="yes" -- newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" -+ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" - newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" - syscall_dir=syscalls - ;; --- -2.20.1 - - -From 26cf751c749fa951b6a73afbd817d94cf840c241 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 17 Mar 2023 14:45:11 +0000 -Subject: [PATCH 29/83] arm dirent has d_type - ---- - newlib/libc/sys/arm/sys/dirent.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/newlib/libc/sys/arm/sys/dirent.h b/newlib/libc/sys/arm/sys/dirent.h -index a0785353d..718537c3e 100644 ---- a/newlib/libc/sys/arm/sys/dirent.h -+++ b/newlib/libc/sys/arm/sys/dirent.h -@@ -1,6 +1,8 @@ - #ifndef _dirent_h_ - #define _dirent_h_ - -+#define _DIRENT_HAVE_D_TYPE -+ - #include - #include - #include --- -2.20.1 - - -From 5e5e65d9ca1c42359c280e13e6e747e9dc5034c4 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 17 Mar 2023 14:45:47 +0000 -Subject: [PATCH 30/83] devkitPPC dirent.h - ---- - newlib/libc/machine/powerpc/sys/dirent.h | 54 ++++++++++++++++++++++++ - 1 file changed, 54 insertions(+) - create mode 100644 newlib/libc/machine/powerpc/sys/dirent.h - -diff --git a/newlib/libc/machine/powerpc/sys/dirent.h b/newlib/libc/machine/powerpc/sys/dirent.h +diff --git a/libgloss/libsysbase/readlink.c b/libgloss/libsysbase/readlink.c new file mode 100644 -index 000000000..718537c3e +index 000000000..98ce358e4 --- /dev/null -+++ b/newlib/libc/machine/powerpc/sys/dirent.h -@@ -0,0 +1,54 @@ -+#ifndef _dirent_h_ -+#define _dirent_h_ ++++ b/libgloss/libsysbase/readlink.c +@@ -0,0 +1,24 @@ ++#include ++#include ++#include ++#include + -+#define _DIRENT_HAVE_D_TYPE ++ssize_t readlink_r(struct _reent *r, const char *path, char *buf, size_t bufsiz) { ++ int ret=-1; ++ int device = FindDevice(path); + -+#include -+#include -+#include ++ if ( device != -1 && devoptab_list[device]->readlink_r) { + -+#define DT_UNKNOWN 0 -+#define DT_FIFO 1 -+#define DT_CHR 2 -+#define DT_DIR 4 -+#define DT_BLK 6 -+#define DT_REG 8 -+#define DT_LNK 10 -+#define DT_SOCK 12 -+#define DT_WHT 14 ++ r->deviceData = devoptab_list[device]->deviceData; ++ ret = devoptab_list[device]->readlink_r(r, path, buf, bufsiz); + -+#ifdef __cplusplus -+extern "C" { -+#endif ++ } else { ++ r->_errno = ENOSYS; ++ } + -+ struct dirent { -+ ino_t d_ino; -+ unsigned char d_type; -+ char d_name[NAME_MAX+1]; -+ }; ++ return ret; ++} + -+ typedef struct { -+ long int position; -+ DIR_ITER* dirData; -+ struct dirent fileData; -+ } DIR; ++ssize_t readlink(const char *path, char *buf, size_t bufsiz) { ++ return(readlink_r(_REENT, path, buf, bufsiz)); ++} +diff --git a/libgloss/libsysbase/realpath.c b/libgloss/libsysbase/realpath.c +new file mode 100644 +index 000000000..f2cf3a831 +--- /dev/null ++++ b/libgloss/libsysbase/realpath.c +@@ -0,0 +1,188 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include + -+ int closedir(DIR *dirp); -+ DIR *opendir(const char *dirname); -+ struct dirent *readdir(DIR *dirp); -+ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -+ void rewinddir(DIR *dirp); -+ void seekdir(DIR *dirp, long int loc); -+ long int telldir(DIR *dirp); ++#include "concatenate.h" + -+ int scandir(const char *dirp, struct dirent ***namelist, -+ int (*filter)(const struct dirent *), -+ int (*compar)(const struct dirent **, const struct dirent **)); ++/* Based on chdir.c */ ++static inline int _resolve_links(struct _reent *r, char *path, const char *extra, int maxLength) { ++ char *pathEnd; ++ int pathLength; ++ const char *extraEnd; ++ int extraSize; + -+ int alphasort(const struct dirent **a, const struct dirent **b); ++ int resolvedLinks = 0; + -+#ifdef __cplusplus -+} -+#endif ++ pathLength = strnlen (path, maxLength); + -+#endif // _dirent_h_ --- -2.20.1 - - -From ebec604421a667c398fb1150eb389f5e355a7487 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 17 Mar 2023 15:08:44 +0000 -Subject: [PATCH 31/83] devkitPPC: use 64bit types - ---- - newlib/libc/machine/powerpc/machine/_types.h | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - create mode 100644 newlib/libc/machine/powerpc/machine/_types.h - -diff --git a/newlib/libc/machine/powerpc/machine/_types.h b/newlib/libc/machine/powerpc/machine/_types.h -new file mode 100644 -index 000000000..a7d63da51 ---- /dev/null -+++ b/newlib/libc/machine/powerpc/machine/_types.h -@@ -0,0 +1,19 @@ -+#ifndef _MACHINE__TYPES_H -+#define _MACHINE__TYPES_H ++ /* assumes path ends in a directory separator */ ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ pathEnd = path + pathLength; ++ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; ++ pathEnd += 1; ++ } + -+#include ++ extraEnd = extra; + -+/* Use 64bit types */ -+typedef __int64_t _off_t; -+#define __machine_off_t_defined ++ /* If the extra bit starts with a slash, start at root */ ++ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ pathEnd[0] = '\0'; ++ } + -+typedef __int64_t _fpos_t; -+#define __machine_fpos_t_defined + -+typedef __uint32_t __ino_t; -+#define __machine_ino_t_defined ++ do { ++ /* Advance past any separators in extra */ ++ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { ++ extra += 1; ++ } + -+typedef __uint32_t __dev_t; -+#define __machine_dev_t_defined ++ /* Grab the next directory name from extra */ ++ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); ++ if (extraEnd == NULL) { ++ extraEnd = strrchr (extra, '\0'); ++ } else { ++ extraEnd += 1; ++ } + -+#endif // _MACHINE__TYPES_H --- -2.20.1 - - -From 16bba2ed245c415339bae21c27d0f3095db02c4d Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 17 Mar 2023 17:02:23 +0000 -Subject: [PATCH 32/83] add crtmain for devkitPPC - ---- - libgloss/rs6000/Makefile.in | 12 ++++++++++-- - libgloss/rs6000/crtmain.c | 18 ++++++++++++++++++ - 2 files changed, 28 insertions(+), 2 deletions(-) - create mode 100644 libgloss/rs6000/crtmain.c - -diff --git a/libgloss/rs6000/Makefile.in b/libgloss/rs6000/Makefile.in -index 489903645..cf62806a3 100644 ---- a/libgloss/rs6000/Makefile.in -+++ b/libgloss/rs6000/Makefile.in -@@ -131,6 +131,9 @@ XIL_OBJS = open.o close.o lseek.o sbrk.o read.o write.o print.o - XIL_TEST = xil-test - XIL_INSTALL = install-xil - -+OGC_CRTMAIN = crtmain.o -+OGC_INSTALL = install-ogc ++ extraSize = (extraEnd - extra); ++ if (extraSize == 0) { ++ break; ++ } + - # Host specific makefile fragment comes in here. - @host_makefile_frag@ - -@@ -145,7 +148,7 @@ all: \ - ${LINUX_CRT0} ${LINUX_BSP} \ - ${YELLOWKNIFE_CRT0} ${YELLOWKNIFE_BSP} \ - ${ADS_CRT0} ${ADS_BSP} \ -- ${MBX_CRT0} ${MBX_BSP} \ -+ ${MBX_CRT0} ${MBX_BSP} ${OGC_CRTMAIN} \ - ${XIL_CRT0} ${XIL_BSP} - - # -@@ -297,6 +300,8 @@ xil-test.srec: xil-test.x - - crt0.o: crt0.S - -+crtmain.o: crtmain.c ++ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) ++ { ++ /* Don't copy anything */ ++ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) ++ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) ++ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) ++ { ++ /* Go up one level of in the path */ ++ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { ++ // Remove trailing separator ++ pathEnd[-1] = '\0'; ++ } ++ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); ++ if (pathEnd == NULL) { ++ /* Can't go up any higher, return false */ ++ r->_errno = ENOENT; ++ return -1; ++ } ++ pathLength = pathEnd - path; ++ pathEnd += 1; ++ } else { ++ pathLength += extraSize; ++ if (pathLength >= maxLength) { ++ r->_errno = ENAMETOOLONG; ++ return -1; ++ } ++ /* Copy the next part over */ ++ strncpy (pathEnd, extra, extraSize); ++ pathEnd += extraSize; ++ } ++ pathEnd[0] = '\0'; ++ extra += extraSize; + - simulator.o: simulator.S - sim-getrusage.o: sim-getrusage.S - sim-crt0.o: sim-crt0.S -@@ -354,7 +359,7 @@ distclean maintainer-clean realclean: clean - rm -f Makefile config.status *~ - - .PHONY: install info install-info clean-info --install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${XIL_INSTALL} -+install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${OGC_INSTALL} ${XIL_INSTALL} - - install-sim: - ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} -@@ -392,6 +397,9 @@ install-xil: - set -e; for x in ${XIL_CRT0} ${XIL_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done - set -e; for x in ${XIL_SCRIPTS} ${XIL_SPECS}; do ${INSTALL_DATA} $(srcdir)/$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done - -+install-ogc: -+ set -e; for x in ${OGC_CRTMAIN}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + - doc: - info: - install-info: -diff --git a/libgloss/rs6000/crtmain.c b/libgloss/rs6000/crtmain.c -new file mode 100644 -index 000000000..bd25d775d ---- /dev/null -+++ b/libgloss/rs6000/crtmain.c -@@ -0,0 +1,18 @@ -+#include ++ struct stat st; ++ if (lstat(path,&st) < 0) return -1; ++ if (S_ISLNK(st.st_mode)) { ++ do { ++ if(resolvedLinks > 8 && extraSize > 0) { ++ r->_errno = ELOOP; ++ return -1; ++ } + -+struct __argv { -+ int argvMagic; //!< argv magic number, set to 0x5f617267 ('_arg') if valid -+ char *commandLine; //!< base address of command line, set of null terminated strings -+ int length;//!< total length of command line -+ int argc; -+ char **argv; -+}; ++ char buf[PATH_MAX]; ++ memset(buf,0,PATH_MAX); + -+extern struct __argv *__system_argv; -+void __init(); -+void SYS_PreMain(); ++ if (readlink(path,buf,sizeof(buf)) == -1) return -1; + -+void __crtmain() { -+ SYS_PreMain(); -+ exit ( main(__system_argv->argc,__system_argv->argv) ); -+} --- -2.20.1 - - -From 9303352d01f3f8b3601675a93f7a63c900a871ad Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Tue, 21 Mar 2023 16:33:17 +0000 -Subject: [PATCH 33/83] directly convert stat mode to dirtype - ---- - libgloss/libsysbase/dirent.c | 2 +- - newlib/libc/machine/powerpc/sys/dirent.h | 54 +++++++++++++----------- - 2 files changed, 30 insertions(+), 26 deletions(-) - -diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c -index 0ad29029c..bed699102 100644 ---- a/libgloss/libsysbase/dirent.c -+++ b/libgloss/libsysbase/dirent.c -@@ -169,7 +169,7 @@ struct dirent* readdir (DIR *dirp) { - - strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); - dirp->fileData.d_ino = st.st_ino; -- dirp->fileData.d_type = S_ISDIR(st.st_mode)?DT_DIR:DT_REG; -+ dirp->fileData.d_type = IFTODT(st.st_mode); - - return &(dirp->fileData); - } -diff --git a/newlib/libc/machine/powerpc/sys/dirent.h b/newlib/libc/machine/powerpc/sys/dirent.h -index 718537c3e..2aaca6080 100644 ---- a/newlib/libc/machine/powerpc/sys/dirent.h -+++ b/newlib/libc/machine/powerpc/sys/dirent.h -@@ -21,31 +21,35 @@ - extern "C" { - #endif - -- struct dirent { -- ino_t d_ino; -- unsigned char d_type; -- char d_name[NAME_MAX+1]; -- }; -- -- typedef struct { -- long int position; -- DIR_ITER* dirData; -- struct dirent fileData; -- } DIR; -- -- int closedir(DIR *dirp); -- DIR *opendir(const char *dirname); -- struct dirent *readdir(DIR *dirp); -- int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -- void rewinddir(DIR *dirp); -- void seekdir(DIR *dirp, long int loc); -- long int telldir(DIR *dirp); -- -- int scandir(const char *dirp, struct dirent ***namelist, -- int (*filter)(const struct dirent *), -- int (*compar)(const struct dirent **, const struct dirent **)); -- -- int alphasort(const struct dirent **a, const struct dirent **b); -+struct dirent { -+ ino_t d_ino; -+ unsigned char d_type; -+ char d_name[NAME_MAX+1]; -+}; ++ pathEnd = strrchr(path, DIRECTORY_SEPARATOR_CHAR) + 1; ++ if (pathEnd == NULL) pathEnd = path; ++ pathEnd[0] = '\0'; + -+typedef struct { -+ long int position; -+ DIR_ITER* dirData; -+ struct dirent fileData; -+} DIR; ++ if (_concatenate_path(r, path, buf, PATH_MAX) == -1) { ++ return -1; ++ } + -+int closedir(DIR *dirp); -+DIR *opendir(const char *dirname); -+struct dirent *readdir(DIR *dirp); -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -+void rewinddir(DIR *dirp); -+void seekdir(DIR *dirp, long int loc); -+long int telldir(DIR *dirp); ++ resolvedLinks++; ++ pathEnd = strchr(path,0); + -+int scandir(const char *dirp, struct dirent ***namelist, -+int (*filter)(const struct dirent *), -+int (*compar)(const struct dirent **, const struct dirent **)); ++ if (lstat(path,&st) < 0) return -1; + -+int alphasort(const struct dirent **a, const struct dirent **b); ++ } while(S_ISLNK(st.st_mode)); ++ } ++ } while (extraSize != 0); + -+/* Convert between stat structure types and directory types. */ -+# define IFTODT(mode) (((mode) & 0170000) >> 12) -+# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) - - #ifdef __cplusplus - } --- -2.20.1 - - -From 46e36b688826fae4b8d6f309a42a61bba766aa64 Mon Sep 17 00:00:00 2001 -From: Omega -Date: Sat, 2 Feb 2019 12:37:12 -0700 -Subject: [PATCH 34/83] Add fnmatch to libsysbase. (#12) - ---- - libgloss/libsysbase/Makefile.inc | 1 + - libgloss/libsysbase/fnmatch.c | 201 +++++++++++++++++++++++++++++++ - newlib/libc/include/fnmatch.h | 1 + - 3 files changed, 203 insertions(+) - create mode 100644 libgloss/libsysbase/fnmatch.c - -diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc -index df4a97dc8..5041d85b0 100644 ---- a/libgloss/libsysbase/Makefile.inc -+++ b/libgloss/libsysbase/Makefile.inc -@@ -14,6 +14,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a - %D%/environ.c \ - %D%/execve.c \ - %D%/fchmod.c \ -+ %D%/fnmatch.c \ - %D%/fork.c \ - %D%/fstat.c \ - %D%/fsync.c \ -diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c -new file mode 100644 -index 000000000..893b662ab ---- /dev/null -+++ b/libgloss/libsysbase/fnmatch.c -@@ -0,0 +1,201 @@ -+/* -+ * Copyright (c) 1989, 1993, 1994 -+ * The Regents of the University of California. All rights reserved. -+ * -+ * This code is derived from software contributed to Berkeley by -+ * Guido van Rossum. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. All advertising materials mentioning features or use of this software -+ * must display the following acknowledgement: -+ * This product includes software developed by the University of -+ * California, Berkeley and its contributors. -+ * 4. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ * -+ * From FreeBSD fnmatch.c 1.11 -+ * $Id: fnmatch.c,v 1.3 1997/08/19 02:34:30 jdp Exp $ -+ */ + -+#define _GNU_SOURCE ++ return 0; ++} ++ ++char *realpath(const char *__restrict path, char *__restrict resolved) ++{ ++ struct _reent *r = _REENT; ++ ++ char stack[PATH_MAX] = {0}; ++ const char *pathPosition = NULL; ++ int len = 0; + -+#if defined(LIBC_SCCS) && !defined(lint) -+static char sccsid[] = "@(#)fnmatch.c 8.2 (Berkeley) 4/16/94"; -+#endif /* LIBC_SCCS and not lint */ ++ if (!path) { ++ errno = ENOENT; ++ return NULL; ++ } + -+/* -+ * Function fnmatch() as specified in POSIX 1003.2-1992, section B.6. -+ * Compares a filename or pathname to a pattern. -+ */ ++ len = strnlen(path, PATH_MAX); ++ if (!len) { ++ r->_errno = ENOENT; ++ return NULL; ++ } ++ if (len >= PATH_MAX) { ++ r->_errno = ENAMETOOLONG; ++ return NULL; ++ } + -+#include -+#include -+#include ++ if (strchr (path, ':') != NULL) { ++ strncpy(stack, path, PATH_MAX-1); ++ /* Move path past device name */ ++ path = strchr(path, ':') + 1; ++ } else { ++ getcwd(stack, PATH_MAX); ++ } + -+#include "fnmatch.h" ++ pathPosition = strchr(stack, ':'); + -+#define EOS '\0' ++ if (pathPosition == NULL) { ++ pathPosition = stack; ++ } else { ++ pathPosition++; ++ } + -+static const char *rangematch(const char *, char, int); ++ /* Make sure the path starts in the root directory */ ++ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { ++ r->_errno = ENOENT; ++ return NULL; ++ } + -+int -+fnmatch(const char *pattern, const char *string, int flags) -+{ -+ const char *stringstart; -+ char c, test; ++ if (_resolve_links(r, stack, path, PATH_MAX) == -1) { ++ return NULL; ++ } + -+ for (stringstart = string;;) -+ switch (c = *pattern++) { -+ case EOS: -+ if ((flags & FNM_LEADING_DIR) && *string == '/') -+ return (0); -+ return (*string == EOS ? 0 : FNM_NOMATCH); -+ case '?': -+ if (*string == EOS) -+ return (FNM_NOMATCH); -+ if (*string == '/' && (flags & FNM_PATHNAME)) -+ return (FNM_NOMATCH); -+ if (*string == '.' && (flags & FNM_PERIOD) && -+ (string == stringstart || -+ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) -+ return (FNM_NOMATCH); -+ ++string; -+ break; -+ case '*': -+ c = *pattern; -+ /* Collapse multiple stars. */ -+ while (c == '*') -+ c = *++pattern; ++ if (resolved) { ++ strncpy(resolved, stack, PATH_MAX); ++ return resolved; ++ } + -+ if (*string == '.' && (flags & FNM_PERIOD) && -+ (string == stringstart || -+ ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) -+ return (FNM_NOMATCH); ++ return strndup(stack, sizeof(stack)); ++} + -+ /* Optimize for pattern with * at end or before /. */ -+ if (c == EOS) -+ if (flags & FNM_PATHNAME) -+ return ((flags & FNM_LEADING_DIR) || -+ strchr(string, '/') == NULL ? -+ 0 : FNM_NOMATCH); -+ else -+ return (0); -+ else if (c == '/' && flags & FNM_PATHNAME) { -+ if ((string = strchr(string, '/')) == NULL) -+ return (FNM_NOMATCH); -+ break; -+ } +diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c +new file mode 100644 +index 000000000..433f7ef83 +--- /dev/null ++++ b/libgloss/libsysbase/rename.c +@@ -0,0 +1,29 @@ ++#include "config.h" ++#include ++#include ++#include + -+ /* General case, use recursion. */ -+ while ((test = *string) != EOS) { -+ if (!fnmatch(pattern, string, flags & ~FNM_PERIOD)) -+ return (0); -+ if (test == '/' && flags & FNM_PATHNAME) -+ break; -+ ++string; -+ } -+ return (FNM_NOMATCH); -+ case '[': -+ if (*string == EOS) -+ return (FNM_NOMATCH); -+ if (*string == '/' && flags & FNM_PATHNAME) -+ return (FNM_NOMATCH); -+ if ((pattern = -+ rangematch(pattern, *string, flags)) == NULL) -+ return (FNM_NOMATCH); -+ ++string; -+ break; -+ case '\\': -+ if (!(flags & FNM_NOESCAPE)) { -+ if ((c = *pattern++) == EOS) { -+ c = '\\'; -+ --pattern; -+ } -+ } -+ /* FALLTHROUGH */ -+ default: -+ if (c == *string) -+ ; -+ else if ((flags & FNM_CASEFOLD) && -+ (tolower((unsigned char)c) == -+ tolower((unsigned char)*string))) -+ ; -+ else if ((flags & FNM_PREFIX_DIRS) && *string == EOS && -+ ((c == '/' && string != stringstart) || -+ (string == stringstart+1 && *stringstart == '/'))) -+ return (0); -+ else -+ return (FNM_NOMATCH); -+ string++; -+ break; ++//--------------------------------------------------------------------------------- ++int _rename_r( struct _reent *ptr, const char *existing, const char *newName) { ++//--------------------------------------------------------------------------------- ++ struct _reent *r = _REENT; ++ ++ int ret; ++ int sourceDev = FindDevice(existing); ++ int destDev = FindDevice(newName); ++ ++ ret = -1; ++ ++ if ( sourceDev == destDev) { ++ if (devoptab_list[destDev]->rename_r) { ++ r->deviceData = devoptab_list[destDev]->deviceData; ++ ret = devoptab_list[destDev]->rename_r( r, existing, newName); ++ } else { ++ r->_errno = ENOSYS; + } -+ /* NOTREACHED */ ++ } else { ++ r->_errno = EXDEV; ++ } ++ ++ return ret; +} +diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c +new file mode 100644 +index 000000000..b8640b87d +--- /dev/null ++++ b/libgloss/libsysbase/rmdir.c +@@ -0,0 +1,34 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include + -+static const char * -+rangematch(const char *pattern, char test, int flags) ++int _rmdir_r (struct _reent *ptr, const char *name) { ++ int dev,ret=-1; ++ ++ dev = FindDevice(name); ++ if(dev!=-1) { ++ if(devoptab_list[dev]->rmdir_r) { ++ ptr->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->rmdir_r(ptr,name); ++ } else { ++ ptr->_errno = ENOSYS; ++ } ++ } else { ++ ptr->_errno = ENODEV; ++ } ++ ++ return ret; ++} ++ ++#ifndef _REENT_ONLY ++ ++int ++rmdir (const char *filename) +{ -+ int negate, ok; -+ char c, c2; ++ return _rmdir_r (_REENT, filename); ++} + -+ /* -+ * A bracket expression starting with an unquoted circumflex -+ * character produces unspecified results (IEEE 1003.2-1992, -+ * 3.13.2). This implementation treats it like '!', for -+ * consistency with the regular expression syntax. -+ * J.T. Conklin (conklin@ngai.kaleida.com) -+ */ -+ if ( (negate = (*pattern == '!' || *pattern == '^')) ) -+ ++pattern; ++#endif +diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c +new file mode 100644 +index 000000000..badd03297 +--- /dev/null ++++ b/libgloss/libsysbase/sbrk.c +@@ -0,0 +1,54 @@ ++#include "config.h" ++#include <_ansi.h> ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + -+ if (flags & FNM_CASEFOLD) -+ test = tolower((unsigned char)test); + -+ for (ok = 0; (c = *pattern++) != ']';) { -+ if (c == '\\' && !(flags & FNM_NOESCAPE)) -+ c = *pattern++; -+ if (c == EOS) -+ return (NULL); ++extern char *fake_heap_end; ++extern char *fake_heap_start; + -+ if (flags & FNM_CASEFOLD) -+ c = tolower((unsigned char)c); ++/* Register name faking - works in collusion with the linker. */ ++register char * stack_ptr asm ("sp"); + -+ if (*pattern == '-' -+ && (c2 = *(pattern+1)) != EOS && c2 != ']') { -+ pattern += 2; -+ if (c2 == '\\' && !(flags & FNM_NOESCAPE)) -+ c2 = *pattern++; -+ if (c2 == EOS) -+ return (NULL); ++//--------------------------------------------------------------------------------- ++__attribute__((weak)) void * _sbrk_r (struct _reent *ptr, ptrdiff_t incr) { ++//--------------------------------------------------------------------------------- ++ extern char end asm ("__end__"); /* Defined by the linker. */ ++ static char * heap_start; + -+ if (flags & FNM_CASEFOLD) -+ c2 = tolower((unsigned char)c2); ++ char * prev_heap_start; ++ char * heap_end; + -+ if ((unsigned char)c <= (unsigned char)test && -+ (unsigned char)test <= (unsigned char)c2) -+ ok = 1; -+ } else if (c == test) -+ ok = 1; ++ if (heap_start == NULL) { ++ if (fake_heap_start == NULL) { ++ heap_start = &end; ++ } else { ++ heap_start = fake_heap_start; ++ } + } -+ return (ok == negate ? NULL : pattern); -+} -diff --git a/newlib/libc/include/fnmatch.h b/newlib/libc/include/fnmatch.h -index a94e923a4..9171e98aa 100644 ---- a/newlib/libc/include/fnmatch.h -+++ b/newlib/libc/include/fnmatch.h -@@ -44,6 +44,7 @@ - #if __GNU_VISIBLE - #define FNM_LEADING_DIR 0x08 /* Ignore / after Imatch. */ - #define FNM_CASEFOLD 0x10 /* Case insensitive search. */ -+#define FNM_PREFIX_DIRS 0x20 /* Directory prefixes of pattern match too. */ - #define FNM_IGNORECASE FNM_CASEFOLD - #define FNM_FILE_NAME FNM_PATHNAME - #endif --- -2.20.1 - - -From 4f63828259d85d7f039e3b2dbefe501c690d5226 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Tue, 21 Mar 2023 16:41:05 +0000 -Subject: [PATCH 35/83] libgloss/Makefile.in: regenerate - ---- - libgloss/Makefile.in | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in -index 91d73e2da..127bcc21b 100644 ---- a/libgloss/Makefile.in -+++ b/libgloss/Makefile.in -@@ -436,6 +436,7 @@ libsysbase_libsysbase_a_LIBADD = - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT) \ -@@ -1057,6 +1058,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fchmod.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fnmatch.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fsync.c \ -@@ -1721,6 +1723,9 @@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT): \ - libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) - libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -@@ -2227,6 +2232,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po@am__quote@ -@@ -3145,6 +3151,20 @@ libsysbase/libsysbase_libsysbase_a-fchmod.obj: libsysbase/fchmod.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` - -+libsysbase/libsysbase_libsysbase_a-fnmatch.o: libsysbase/fnmatch.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fnmatch.c' object='libsysbase/libsysbase_libsysbase_a-fnmatch.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c + -+libsysbase/libsysbase_libsysbase_a-fnmatch.obj: libsysbase/fnmatch.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.obj `if test -f 'libsysbase/fnmatch.c'; then $(CYGPATH_W) 'libsysbase/fnmatch.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fnmatch.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fnmatch.c' object='libsysbase/libsysbase_libsysbase_a-fnmatch.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.obj `if test -f 'libsysbase/fnmatch.c'; then $(CYGPATH_W) 'libsysbase/fnmatch.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fnmatch.c'; fi` ++ prev_heap_start = heap_start; + - libsysbase/libsysbase_libsysbase_a-fork.o: libsysbase/fork.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fork.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fork.o `test -f 'libsysbase/fork.c' || echo '$(srcdir)/'`libsysbase/fork.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po --- -2.20.1 - - -From 311dacc748226d3755549d7a17eafa4c5096cba8 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Tue, 21 Mar 2023 20:00:12 +0000 -Subject: [PATCH 36/83] devkitPPC: use __end__ for heap start - ---- - libgloss/rs6000/ads.ld | 1 + - libgloss/rs6000/mbx.ld | 1 + - libgloss/rs6000/xilinx.ld | 1 + - libgloss/rs6000/xilinx440.ld | 1 + - libgloss/rs6000/yellowknife.ld | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/libgloss/rs6000/ads.ld b/libgloss/rs6000/ads.ld -index ef5038e68..32a1d5e0b 100644 ---- a/libgloss/rs6000/ads.ld -+++ b/libgloss/rs6000/ads.ld -@@ -121,6 +121,7 @@ SECTIONS - } - _end = . ; - PROVIDE (end = .); -+ PROVIDE (__end__ = .); - /* These are needed for ELF backends which have not yet been - converted to the new style linker. */ - .stab 0 : { *(.stab) } -diff --git a/libgloss/rs6000/mbx.ld b/libgloss/rs6000/mbx.ld -index cedf4e867..99d849e90 100644 ---- a/libgloss/rs6000/mbx.ld -+++ b/libgloss/rs6000/mbx.ld -@@ -101,6 +101,7 @@ SECTIONS - } - _end = . ; - PROVIDE (end = .); -+ PROVIDE (__end__ = .); - /* These are needed for ELF backends which have not yet been - converted to the new style linker. */ - .stab 0 : { *(.stab) } -diff --git a/libgloss/rs6000/xilinx.ld b/libgloss/rs6000/xilinx.ld -index 75b2a12b6..40a4a1e4b 100644 ---- a/libgloss/rs6000/xilinx.ld -+++ b/libgloss/rs6000/xilinx.ld -@@ -273,6 +273,7 @@ SECTIONS - _end = . ; - end = .; - __end = .; -+ __end__ = .; - .boot 0xFFFFFFFC : { *(.boot) } - /* These are needed for ELF backends which have not yet been - converted to the new style linker. */ -diff --git a/libgloss/rs6000/xilinx440.ld b/libgloss/rs6000/xilinx440.ld -index 2c7c5aba4..c1ddf8529 100644 ---- a/libgloss/rs6000/xilinx440.ld -+++ b/libgloss/rs6000/xilinx440.ld -@@ -264,6 +264,7 @@ SECTIONS - _end = . ; - end = .; - __end = .; -+ __end__ = .; - - .boot0 0xFFFFFF00 : { *(.boot0)} - -diff --git a/libgloss/rs6000/yellowknife.ld b/libgloss/rs6000/yellowknife.ld -index 36c30092d..7e54036ed 100644 ---- a/libgloss/rs6000/yellowknife.ld -+++ b/libgloss/rs6000/yellowknife.ld -@@ -113,6 +113,7 @@ SECTIONS - } - _end = . ; - PROVIDE (end = .); -+ PROVIDE (__end__ = .); - /* These are needed for ELF backends which have not yet been - converted to the new style linker. */ - .stab 0 : { *(.stab) } --- -2.20.1 - - -From b3f2d709e2ba9c923d4a61a94c193b20b5ec6d58 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Wed, 4 Dec 2019 00:02:13 +0000 -Subject: [PATCH 37/83] scandir: set errno to 0 at start - ---- - libgloss/libsysbase/scandir.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c -index bc18c1781..7bb5ebd52 100644 ---- a/libgloss/libsysbase/scandir.c -+++ b/libgloss/libsysbase/scandir.c -@@ -28,6 +28,8 @@ scandir (const char *dirname, - int (*filter) __P((const struct dirent *)), - int (*compar) __P((const struct dirent **, const struct dirent **))) - { -+ errno = 0; ++ if (fake_heap_end == NULL) { ++ heap_end = stack_ptr; ++ } else { ++ heap_end = fake_heap_end; ++ } + - DIR *d = opendir(dirname); - - if (!d) return -1; --- -2.20.1 - - -From 16c14a9f12b68f319caf926475bfc59df4ec0188 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 24 Mar 2023 22:35:19 +0000 -Subject: [PATCH 38/83] fix uselocale - ---- - newlib/libc/locale/setlocale.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h -index 3530ec664..0a62bfd72 100644 ---- a/newlib/libc/locale/setlocale.h -+++ b/newlib/libc/locale/setlocale.h -@@ -234,11 +234,11 @@ __get_locale_r (struct _reent *r) - _ELIDABLE_INLINE struct __locale_t * - __get_current_locale (void) - { --#ifdef __HAVE_LOCALE_INFO__ -+//#ifdef __HAVE_LOCALE_INFO__ - return _REENT_LOCALE(_REENT) ?: __get_global_locale (); --#else -- return __get_global_locale(); --#endif -+//#else -+// return __get_global_locale(); -+//#endif - } - - /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE --- -2.20.1 - - -From 806a4d34c5408d393dbd2b6b9cae22184c57d3a8 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Sun, 8 Jul 2018 23:15:11 +0100 -Subject: [PATCH 39/83] remove spurious trailing / from cwd - ---- - libgloss/libsysbase/chdir.c | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c -index 90d2dc5b7..b94f6a8b4 100644 ---- a/libgloss/libsysbase/chdir.c -+++ b/libgloss/libsysbase/chdir.c -@@ -97,11 +97,10 @@ int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxL - extra += extraSize; - } while (extraSize != 0); - -- if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -- pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -- pathEnd[1] = 0; -- pathEnd += 1; -- } -+ if (strlen(path) > 2 ) { -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') -+ pathEnd[-1] = '\0'; -+ } - - return 0; - } --- -2.20.1 - - -From d3408998b285f23077d88bd77895a480937e1750 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 30 Mar 2023 12:47:27 +0100 -Subject: [PATCH 40/83] devkitPPC: use custom flockfile/funlockfile - ---- - libgloss/libsysbase/Makefile.inc | 1 + - libgloss/libsysbase/flock.c | 22 ++++++++++++++++++++++ - newlib/libc/machine/powerpc/stdio.h | 25 +++++++++++++++++++++++++ - 3 files changed, 48 insertions(+) - create mode 100644 libgloss/libsysbase/flock.c - create mode 100644 newlib/libc/machine/powerpc/stdio.h - -diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc -index 5041d85b0..c7403e578 100644 ---- a/libgloss/libsysbase/Makefile.inc -+++ b/libgloss/libsysbase/Makefile.inc -@@ -14,6 +14,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a - %D%/environ.c \ - %D%/execve.c \ - %D%/fchmod.c \ -+ %D%/flock.c \ - %D%/fnmatch.c \ - %D%/fork.c \ - %D%/fstat.c \ -diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c ++ if (heap_start + incr > heap_end) { ++ ptr->_errno = ENOMEM; ++ return (void *) -1; ++ } ++ ++ heap_start += incr; ++ return (void *) prev_heap_start; ++} +diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c new file mode 100644 -index 000000000..8a66cd19f +index 000000000..7bb5ebd52 --- /dev/null -+++ b/libgloss/libsysbase/flock.c -@@ -0,0 +1,22 @@ -+#include -+#include <_ansi.h> -+#include <_syslist.h> -+#include ++++ b/libgloss/libsysbase/scandir.c +@@ -0,0 +1,77 @@ ++#include ++#include ++#include ++#include ++#include +#include +#include -+#ifndef REENTRANT_SYSCALLS_PROVIDED -+#include -+#endif +#include -+#include + -+void __flockfile(FILE *fp) -+{ -+ __lock_acquire_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); -+} ++/* ++ * The DIRSIZ macro gives the minimum record length which will hold ++ * the directory entry. This requires the amount of space in struct dirent ++ * without the d_name field, plus enough space for the name with a terminating ++ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. ++ */ ++#undef DIRSIZ ++#ifdef _DIRENT_HAVE_D_NAMLEN ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + (((dp)->d_namlen+1 + 3) &~ 3)) ++#else ++#define DIRSIZ(dp) \ ++ (offsetof (struct dirent, d_name) + ((strlen((dp)->d_name)+1 + 3) &~ 3)) ++#endif + -+void __funlockfile(FILE *fp) ++int ++scandir (const char *dirname, ++ struct dirent ***namelist, ++ int (*filter) __P((const struct dirent *)), ++ int (*compar) __P((const struct dirent **, const struct dirent **))) +{ -+ __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); -+} ++ errno = 0; + -diff --git a/newlib/libc/machine/powerpc/stdio.h b/newlib/libc/machine/powerpc/stdio.h -new file mode 100644 -index 000000000..04ebd1ee0 ---- /dev/null -+++ b/newlib/libc/machine/powerpc/stdio.h -@@ -0,0 +1,25 @@ -+#ifndef _NEWLIB_STDIO_H -+#define _NEWLIB_STDIO_H ++ DIR *d = opendir(dirname); + -+/* Internal locking macros, used to protect stdio functions. In the -+ general case, expand to nothing. */ -+#if !defined(_flockfile) -+# if !defined(__SINGLE_THREAD__) -+# define _flockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __flockfile(fp); } -+ extern void __flockfile(FILE *fp); -+# else -+# define _flockfile(fp) -+# endif -+#endif /* __SINGLE_THREAD__ */ ++ if (!d) return -1; ++ ++ struct dirent *de, **names = NULL, **tmp; ++ size_t cnt = 0, len = 0; ++ ++ while (de = readdir(d)) { ++ if (filter && ! filter(de)) continue; ++ if (cnt >= len) { ++ len = 2*len+1; ++ if (len > SIZE_MAX/sizeof(*names)) break; ++ tmp = realloc(names, len * sizeof(*names)); ++ if (!tmp) break; ++ names = tmp; ++ } ++ names[cnt] = malloc(DIRSIZ(de)); ++ if (!names[cnt]) break; ++ memcpy(names[cnt++], de, DIRSIZ(de)); ++ } + -+#if !defined(_funlockfile) -+# if !defined(__SINGLE_THREAD__) -+# define _funlockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __funlockfile(fp); } -+ extern void __funlockfile(FILE *fp); -+# else -+# define _funlockfile(fp) -+# endif -+#endif /* __SINGLE_THREAD__ */ ++ closedir(d); + -+#endif /* _NEWLIB_STDIO_H */ ++ if(errno) { ++ if (names) while(cnt-- > 0) free(names[cnt]); ++ free(names); ++ return -1; ++ } + --- -2.20.1 - - -From cd4edd0bd2020bc77380ece21d0599af9f6ab6fc Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 30 Mar 2023 12:48:06 +0100 -Subject: [PATCH 41/83] libgloss/Makefile.in: regenerate - ---- - libgloss/Makefile.in | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in -index 127bcc21b..ce0261153 100644 ---- a/libgloss/Makefile.in -+++ b/libgloss/Makefile.in -@@ -436,6 +436,7 @@ libsysbase_libsysbase_a_LIBADD = - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ -@@ -1058,6 +1059,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fchmod.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/flock.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fnmatch.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ -@@ -1723,6 +1725,9 @@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT): \ - libsysbase/libsysbase_libsysbase_a-fchmod.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) - libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -@@ -2232,6 +2237,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fchmod.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ -@@ -3151,6 +3157,20 @@ libsysbase/libsysbase_libsysbase_a-fchmod.obj: libsysbase/fchmod.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fchmod.obj `if test -f 'libsysbase/fchmod.c'; then $(CYGPATH_W) 'libsysbase/fchmod.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fchmod.c'; fi` - -+libsysbase/libsysbase_libsysbase_a-flock.o: libsysbase/flock.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-flock.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo -c -o libsysbase/libsysbase_libsysbase_a-flock.o `test -f 'libsysbase/flock.c' || echo '$(srcdir)/'`libsysbase/flock.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/flock.c' object='libsysbase/libsysbase_libsysbase_a-flock.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-flock.o `test -f 'libsysbase/flock.c' || echo '$(srcdir)/'`libsysbase/flock.c ++ if (compar) qsort(names, cnt, sizeof(*names), (int (*)(const void *, const void *))compar); + -+libsysbase/libsysbase_libsysbase_a-flock.obj: libsysbase/flock.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-flock.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo -c -o libsysbase/libsysbase_libsysbase_a-flock.obj `if test -f 'libsysbase/flock.c'; then $(CYGPATH_W) 'libsysbase/flock.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/flock.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/flock.c' object='libsysbase/libsysbase_libsysbase_a-flock.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-flock.obj `if test -f 'libsysbase/flock.c'; then $(CYGPATH_W) 'libsysbase/flock.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/flock.c'; fi` ++ *namelist = names; ++ return cnt; ++} + - libsysbase/libsysbase_libsysbase_a-fnmatch.o: libsysbase/fnmatch.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fnmatch.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fnmatch.o `test -f 'libsysbase/fnmatch.c' || echo '$(srcdir)/'`libsysbase/fnmatch.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po --- -2.20.1 - - -From c8f0c42ee5d4e051e5074d45b2ce460f888989c1 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 30 Mar 2023 13:07:16 +0100 -Subject: [PATCH 42/83] devkitPPC: fix stdio.h - ---- - newlib/libc/machine/powerpc/{ => sys}/stdio.h | 0 - 1 file changed, 0 insertions(+), 0 deletions(-) - rename newlib/libc/machine/powerpc/{ => sys}/stdio.h (100%) - -diff --git a/newlib/libc/machine/powerpc/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h -similarity index 100% -rename from newlib/libc/machine/powerpc/stdio.h -rename to newlib/libc/machine/powerpc/sys/stdio.h --- -2.20.1 - - -From f6eb6a93ea1ed4332e0f515af96321f690b73a11 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 30 Mar 2023 18:27:51 +0100 -Subject: [PATCH 43/83] devkitARM: directly convert stat mode to dirtype - ---- - newlib/libc/sys/arm/sys/dirent.h | 54 +++++++++++++++++--------------- - 1 file changed, 29 insertions(+), 25 deletions(-) - -diff --git a/newlib/libc/sys/arm/sys/dirent.h b/newlib/libc/sys/arm/sys/dirent.h -index 718537c3e..2aaca6080 100644 ---- a/newlib/libc/sys/arm/sys/dirent.h -+++ b/newlib/libc/sys/arm/sys/dirent.h -@@ -21,31 +21,35 @@ - extern "C" { - #endif - -- struct dirent { -- ino_t d_ino; -- unsigned char d_type; -- char d_name[NAME_MAX+1]; -- }; -- -- typedef struct { -- long int position; -- DIR_ITER* dirData; -- struct dirent fileData; -- } DIR; -- -- int closedir(DIR *dirp); -- DIR *opendir(const char *dirname); -- struct dirent *readdir(DIR *dirp); -- int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -- void rewinddir(DIR *dirp); -- void seekdir(DIR *dirp, long int loc); -- long int telldir(DIR *dirp); -- -- int scandir(const char *dirp, struct dirent ***namelist, -- int (*filter)(const struct dirent *), -- int (*compar)(const struct dirent **, const struct dirent **)); -- -- int alphasort(const struct dirent **a, const struct dirent **b); -+struct dirent { -+ ino_t d_ino; -+ unsigned char d_type; -+ char d_name[NAME_MAX+1]; -+}; ++/* ++ * Alphabetic order comparison routine for those who want it. ++ */ ++int ++alphasort (const struct dirent **d1, ++ const struct dirent **d2) ++{ ++ return(strcmp((*d1)->d_name, (*d2)->d_name)); ++} + -+typedef struct { -+ long int position; -+ DIR_ITER* dirData; -+ struct dirent fileData; -+} DIR; +diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c +new file mode 100644 +index 000000000..f3aa97954 +--- /dev/null ++++ b/libgloss/libsysbase/sleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ + -+int closedir(DIR *dirp); -+DIR *opendir(const char *dirname); -+struct dirent *readdir(DIR *dirp); -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -+void rewinddir(DIR *dirp); -+void seekdir(DIR *dirp, long int loc); -+long int telldir(DIR *dirp); ++/* Written 2000 by Werner Almesberger */ + -+int scandir(const char *dirp, struct dirent ***namelist, -+int (*filter)(const struct dirent *), -+int (*compar)(const struct dirent **, const struct dirent **)); ++#include ++#include ++#include + -+int alphasort(const struct dirent **a, const struct dirent **b); ++unsigned sleep(unsigned seconds) ++{ ++ struct timespec ts; + -+/* Convert between stat structure types and directory types. */ -+# define IFTODT(mode) (((mode) & 0170000) >> 12) -+# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) - - #ifdef __cplusplus - } --- -2.20.1 - - -From e06d2706834e5981755fa01d88a2fb11d736517a Mon Sep 17 00:00:00 2001 -From: oreo639 -Date: Mon, 20 Mar 2023 14:40:01 -0700 -Subject: [PATCH 44/83] Add pathconf to sysbase - ---- - libgloss/libsysbase/Makefile.inc | 1 + - libgloss/libsysbase/pathconf.c | 53 ++++++++++++++++++++++++++++++++ - 2 files changed, 54 insertions(+) - create mode 100644 libgloss/libsysbase/pathconf.c - -diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc -index c7403e578..483574fdf 100644 ---- a/libgloss/libsysbase/Makefile.inc -+++ b/libgloss/libsysbase/Makefile.inc -@@ -34,6 +34,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a - %D%/mkdir.c \ - %D%/nanosleep.c \ - %D%/open.c \ -+ %D%/pathconf.c \ - %D%/read.c \ - %D%/rename.c \ - %D%/rmdir.c \ -diff --git a/libgloss/libsysbase/pathconf.c b/libgloss/libsysbase/pathconf.c ++ ts.tv_sec = seconds; ++ ts.tv_nsec = 0; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} +diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c new file mode 100644 -index 000000000..f2b9e9dbf +index 000000000..17181dc3b --- /dev/null -+++ b/libgloss/libsysbase/pathconf.c -@@ -0,0 +1,53 @@ ++++ b/libgloss/libsysbase/stat.c +@@ -0,0 +1,29 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include +#include -+#include -+#include -+#include + -+long pathconf(const char *path, int name) { -+ return fpathconf(-1, name); -+} + -+long fpathconf(int fd, int name) -+{ -+ struct _reent *r = _REENT; ++//--------------------------------------------------------------------------------- ++int _stat_r(struct _reent *r, const char *file, struct stat *st) { ++//--------------------------------------------------------------------------------- ++ int dev,ret=-1; + -+ switch (name) { -+ case _PC_LINK_MAX: -+ return 1; -+ case _PC_MAX_CANON: -+ return MAX_CANON; -+ case _PC_MAX_INPUT: -+ return MAX_INPUT; -+ case _PC_NAME_MAX: -+ return NAME_MAX; -+ case _PC_PATH_MAX: -+ return PATH_MAX; -+ case _PC_PIPE_BUF: -+ return PIPE_BUF; -+ case _PC_CHOWN_RESTRICTED: -+ break; // chown is not implemented -+ case _PC_NO_TRUNC: -+ return 1; -+ case _PC_VDISABLE: -+ break; // termios is not supported -+ case _PC_SYNC_IO: -+ return 1; -+ case _PC_ASYNC_IO: -+ case _PC_PRIO_IO: -+ break; -+ case _PC_FILESIZEBITS: -+ return 64; -+ case _PC_REC_INCR_XFER_SIZE: -+ case _PC_REC_MAX_XFER_SIZE: -+ case _PC_REC_MIN_XFER_SIZE: -+ case _PC_REC_XFER_ALIGN: -+ case _PC_ALLOC_SIZE_MIN: -+ case _PC_SYMLINK_MAX: -+ break; -+ case _PC_2_SYMLINKS: -+ return 1; -+ } ++ dev = FindDevice(file); + -+ r->_errno = EINVAL; -+ return -1; ++ if(dev!=-1) { ++ if (devoptab_list[dev]->stat_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->stat_r(r,file,st); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ return ret; +} --- -2.20.1 - - -From 0eade703b44d4d215f52ff1e908df0303e7ebda1 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 30 Mar 2023 20:27:15 +0100 -Subject: [PATCH 45/83] libgloss/Makefile.in: regenerate - ---- - libgloss/Makefile.in | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in -index ce0261153..c512686c6 100644 ---- a/libgloss/Makefile.in -+++ b/libgloss/Makefile.in -@@ -456,6 +456,7 @@ libsysbase_libsysbase_a_LIBADD = - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ -@@ -1079,6 +1080,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/mkdir.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/nanosleep.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ -@@ -1785,6 +1787,9 @@ libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT): \ - libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) - libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -@@ -2257,6 +2262,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-mkdir.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ -@@ -3437,6 +3443,20 @@ libsysbase/libsysbase_libsysbase_a-open.obj: libsysbase/open.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-open.obj `if test -f 'libsysbase/open.c'; then $(CYGPATH_W) 'libsysbase/open.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/open.c'; fi` - -+libsysbase/libsysbase_libsysbase_a-pathconf.o: libsysbase/pathconf.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pathconf.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pathconf.o `test -f 'libsysbase/pathconf.c' || echo '$(srcdir)/'`libsysbase/pathconf.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pathconf.c' object='libsysbase/libsysbase_libsysbase_a-pathconf.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pathconf.o `test -f 'libsysbase/pathconf.c' || echo '$(srcdir)/'`libsysbase/pathconf.c -+ -+libsysbase/libsysbase_libsysbase_a-pathconf.obj: libsysbase/pathconf.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pathconf.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pathconf.obj `if test -f 'libsysbase/pathconf.c'; then $(CYGPATH_W) 'libsysbase/pathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pathconf.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pathconf.c' object='libsysbase/libsysbase_libsysbase_a-pathconf.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pathconf.obj `if test -f 'libsysbase/pathconf.c'; then $(CYGPATH_W) 'libsysbase/pathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pathconf.c'; fi` + - libsysbase/libsysbase_libsysbase_a-read.o: libsysbase/read.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-read.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo -c -o libsysbase/libsysbase_libsysbase_a-read.o `test -f 'libsysbase/read.c' || echo '$(srcdir)/'`libsysbase/read.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po --- -2.20.1 - - -From c33a6dfd7071bb8775a7fcf9ac39493976d488a1 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 7 Apr 2023 13:56:19 +0100 -Subject: [PATCH 46/83] devkitPPC: increase BUFSIZ, align mallocs to 64 - ---- - newlib/libc/include/sys/config.h | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 5dcc77a80..3a33705c0 100644 ---- a/newlib/libc/include/sys/config.h -+++ b/newlib/libc/include/sys/config.h -@@ -8,6 +8,11 @@ - #define MALLOC_ALIGNMENT 16 - #endif - -+#ifdef _ARCH_PPC -+#define __BUFSIZ__ 32768 -+#define MALLOC_ALIGNMENT 64 -+#endif -+ - #ifdef __AMDGCN__ - #define __DYNAMIC_REENT__ - #endif --- -2.20.1 - - -From 3f804488c3f0f0569cec409e9910b0157f2fb2b9 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Sat, 8 Apr 2023 17:30:00 +0100 -Subject: [PATCH 47/83] move pathconf to devoptab, add fpathconf & realpath - ---- - libgloss/libsysbase/Makefile.inc | 2 ++ - libgloss/libsysbase/fpathconf.c | 30 ++++++++++++++++ - libgloss/libsysbase/pathconf.c | 54 ++++++----------------------- - libgloss/libsysbase/realpath.c | 23 ++++++++++++ - newlib/libc/include/sys/iosupport.h | 5 +++ - 5 files changed, 71 insertions(+), 43 deletions(-) - create mode 100644 libgloss/libsysbase/fpathconf.c - create mode 100644 libgloss/libsysbase/realpath.c - -diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc -index 483574fdf..e39e89071 100644 ---- a/libgloss/libsysbase/Makefile.inc -+++ b/libgloss/libsysbase/Makefile.inc -@@ -17,6 +17,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a - %D%/flock.c \ - %D%/fnmatch.c \ - %D%/fork.c \ -+ %D%/fpathconf.c \ - %D%/fstat.c \ - %D%/fsync.c \ - %D%/ftruncate.c \ -@@ -36,6 +37,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a - %D%/open.c \ - %D%/pathconf.c \ - %D%/read.c \ -+ %D%/realpath.c \ - %D%/rename.c \ - %D%/rmdir.c \ - %D%/sbrk.c \ -diff --git a/libgloss/libsysbase/fpathconf.c b/libgloss/libsysbase/fpathconf.c +diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c new file mode 100644 -index 000000000..6911163ae +index 000000000..84e221340 --- /dev/null -+++ b/libgloss/libsysbase/fpathconf.c -@@ -0,0 +1,30 @@ -+#include -+#include -+#include -+#include ++++ b/libgloss/libsysbase/statvfs.c +@@ -0,0 +1,24 @@ +#include +#include ++#include + -+long fpathconf(int fd, int name) -+{ -+ int ret = -1; -+ unsigned int dev = 0; + -+ __handle * handle = __get_handle(fd); -+ struct _reent *r = _REENT; ++int statvfs(const char *path, struct statvfs *buf) { ++ struct _reent *r = _REENT; + -+ if ( NULL == handle ) { -+ errno = EINVAL; -+ return ret; -+ } ++ int ret; ++ int device = FindDevice(path); + -+ dev = handle->device; ++ ret = -1; + -+ if(devoptab_list[dev]->fpathconf_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->fpathconf_r(r, fd, name); -+ } else -+ r->_errno=ENOSYS; ++ if ( device != -1 && devoptab_list[device]->statvfs_r) { + -+ return ret; ++ r->deviceData = devoptab_list[device]->deviceData; ++ ret = devoptab_list[device]->statvfs_r(r, path, buf ); ++ ++ } else { ++ r->_errno = ENOSYS; ++ } ++ ++ return ret; +} -diff --git a/libgloss/libsysbase/pathconf.c b/libgloss/libsysbase/pathconf.c -index f2b9e9dbf..a696c9ab9 100644 ---- a/libgloss/libsysbase/pathconf.c -+++ b/libgloss/libsysbase/pathconf.c -@@ -2,52 +2,20 @@ - #include - #include - #include -+#include -+#include - --long pathconf(const char *path, int name) { -- return fpathconf(-1, name); --} -- --long fpathconf(int fd, int name) -+long pathconf(const char *path, int name) - { -+ int ret = -1; -+ unsigned int dev = FindDevice(path); - struct _reent *r = _REENT; - -- switch (name) { -- case _PC_LINK_MAX: -- return 1; -- case _PC_MAX_CANON: -- return MAX_CANON; -- case _PC_MAX_INPUT: -- return MAX_INPUT; -- case _PC_NAME_MAX: -- return NAME_MAX; -- case _PC_PATH_MAX: -- return PATH_MAX; -- case _PC_PIPE_BUF: -- return PIPE_BUF; -- case _PC_CHOWN_RESTRICTED: -- break; // chown is not implemented -- case _PC_NO_TRUNC: -- return 1; -- case _PC_VDISABLE: -- break; // termios is not supported -- case _PC_SYNC_IO: -- return 1; -- case _PC_ASYNC_IO: -- case _PC_PRIO_IO: -- break; -- case _PC_FILESIZEBITS: -- return 64; -- case _PC_REC_INCR_XFER_SIZE: -- case _PC_REC_MAX_XFER_SIZE: -- case _PC_REC_MIN_XFER_SIZE: -- case _PC_REC_XFER_ALIGN: -- case _PC_ALLOC_SIZE_MIN: -- case _PC_SYMLINK_MAX: -- break; -- case _PC_2_SYMLINKS: -- return 1; -- } -+ if(dev != -1 && devoptab_list[dev]->pathconf_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->pathconf_r(r, path, name); -+ } else -+ r->_errno=ENOSYS; - -- r->_errno = EINVAL; -- return -1; -+ return ret; - } -diff --git a/libgloss/libsysbase/realpath.c b/libgloss/libsysbase/realpath.c +diff --git a/libgloss/libsysbase/symlink.c b/libgloss/libsysbase/symlink.c new file mode 100644 -index 000000000..948ccea2b +index 000000000..b3c34ea51 --- /dev/null -+++ b/libgloss/libsysbase/realpath.c -@@ -0,0 +1,23 @@ -+#include -+#include ++++ b/libgloss/libsysbase/symlink.c +@@ -0,0 +1,29 @@ +#include -+#include +#include ++#include +#include + -+char *realpath(const char *path, char *resolved_path) -+{ -+ int ret = -1; -+ unsigned int dev = FindDevice(path); ++int symlink_r(struct _reent *r, const char *target, const char *linkpath) { ++ int ret=-1; ++ int targetDevice = FindDevice(target); ++ int linkDevice = FindDevice(linkpath); + -+ struct _reent *r = _REENT; ++ if (targetDevice != linkDevice) { ++ return -1; ++ } + -+ if(dev != -1 && devoptab_list[dev]->pathconf_r) { -+ r->deviceData = devoptab_list[dev]->deviceData; -+ ret = devoptab_list[dev]->pathconf_r(r, path, resolved_path); -+ } else -+ r->_errno=ENOSYS; ++ if ( targetDevice != -1 && devoptab_list[targetDevice]->symlink_r) { + -+ return ret; -+} ++ r->deviceData = devoptab_list[targetDevice]->deviceData; ++ ret = devoptab_list[targetDevice]->symlink_r(r, target, linkpath ); + -diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h -index 6bd075993..d08f9cd5c 100644 ---- a/newlib/libc/include/sys/iosupport.h -+++ b/newlib/libc/include/sys/iosupport.h -@@ -66,6 +66,11 @@ typedef struct { - int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); - int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); - -+ long (*fpathconf_r)(struct _reent *r, int fd, int name); -+ long (*pathconf_r)(struct _reent *r, const char *path, int name); ++ } else { ++ r->_errno = ENOSYS; ++ } + -+ char *(*realpath_r)(struct _reent *r, const char *path, char *resolved_path); ++ return ret; ++} + - } devoptab_t; - - extern const devoptab_t *devoptab_list[]; --- -2.20.1 - - -From 4cad0486e92f7a44bf78768cc45a268ede75766f Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Sat, 8 Apr 2023 17:40:47 +0100 -Subject: [PATCH 48/83] libgloss/Makefile.in: regenerate - ---- - libgloss/Makefile.in | 40 ++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 40 insertions(+) - -diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in -index c512686c6..888d22b62 100644 ---- a/libgloss/Makefile.in -+++ b/libgloss/Makefile.in -@@ -439,6 +439,7 @@ libsysbase_libsysbase_a_LIBADD = - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-flock.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fpathconf.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-fsync.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-ftruncate.$(OBJEXT) \ -@@ -458,6 +459,7 @@ libsysbase_libsysbase_a_LIBADD = - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sbrk.$(OBJEXT) \ -@@ -1063,6 +1065,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/flock.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fnmatch.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fork.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/fpathconf.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fstat.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/fsync.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/ftruncate.c \ -@@ -1082,6 +1085,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/realpath.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/sbrk.c \ -@@ -1736,6 +1740,9 @@ libsysbase/libsysbase_libsysbase_a-fnmatch.$(OBJEXT): \ - libsysbase/libsysbase_libsysbase_a-fork.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-fpathconf.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) - libsysbase/libsysbase_libsysbase_a-fstat.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -@@ -1793,6 +1800,9 @@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT): \ - libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) - libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -@@ -2245,6 +2255,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-flock.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fnmatch.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fork.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fsync.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-ftruncate.Po@am__quote@ -@@ -2264,6 +2275,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sbrk.Po@am__quote@ -@@ -3205,6 +3217,20 @@ libsysbase/libsysbase_libsysbase_a-fork.obj: libsysbase/fork.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fork.obj `if test -f 'libsysbase/fork.c'; then $(CYGPATH_W) 'libsysbase/fork.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fork.c'; fi` - -+libsysbase/libsysbase_libsysbase_a-fpathconf.o: libsysbase/fpathconf.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fpathconf.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.o `test -f 'libsysbase/fpathconf.c' || echo '$(srcdir)/'`libsysbase/fpathconf.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fpathconf.c' object='libsysbase/libsysbase_libsysbase_a-fpathconf.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.o `test -f 'libsysbase/fpathconf.c' || echo '$(srcdir)/'`libsysbase/fpathconf.c ++int symlink(const char *target, const char *linkpath) { ++ return (symlink_r(_REENT, target, linkpath)); ++} +diff --git a/libgloss/libsysbase/sysbase.specs b/libgloss/libsysbase/sysbase.specs +new file mode 100644 +index 000000000..d5959084e +--- /dev/null ++++ b/libgloss/libsysbase/sysbase.specs +@@ -0,0 +1,11 @@ ++%rename link_gcc_c_sequence sysbase_link_gcc_c_sequence + -+libsysbase/libsysbase_libsysbase_a-fpathconf.obj: libsysbase/fpathconf.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fpathconf.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.obj `if test -f 'libsysbase/fpathconf.c'; then $(CYGPATH_W) 'libsysbase/fpathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fpathconf.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fpathconf.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/fpathconf.c' object='libsysbase/libsysbase_libsysbase_a-fpathconf.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-fpathconf.obj `if test -f 'libsysbase/fpathconf.c'; then $(CYGPATH_W) 'libsysbase/fpathconf.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/fpathconf.c'; fi` ++*sysbase_libgloss: ++-lsysbase + - libsysbase/libsysbase_libsysbase_a-fstat.o: libsysbase/fstat.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-fstat.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo -c -o libsysbase/libsysbase_libsysbase_a-fstat.o `test -f 'libsysbase/fstat.c' || echo '$(srcdir)/'`libsysbase/fstat.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-fstat.Po -@@ -3471,6 +3497,20 @@ libsysbase/libsysbase_libsysbase_a-read.obj: libsysbase/read.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` - -+libsysbase/libsysbase_libsysbase_a-realpath.o: libsysbase/realpath.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/realpath.c' object='libsysbase/libsysbase_libsysbase_a-realpath.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c ++*sysbase_libc: ++%{!specs=nano.specs:-lc} %{specs=nano.specs:-lc_nano} + -+libsysbase/libsysbase_libsysbase_a-realpath.obj: libsysbase/realpath.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.obj `if test -f 'libsysbase/realpath.c'; then $(CYGPATH_W) 'libsysbase/realpath.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/realpath.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/realpath.c' object='libsysbase/libsysbase_libsysbase_a-realpath.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-realpath.obj `if test -f 'libsysbase/realpath.c'; then $(CYGPATH_W) 'libsysbase/realpath.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/realpath.c'; fi` ++*link_gcc_c_sequence: ++%(sysbase_link_gcc_c_sequence) --start-group %G %(sysbase_libc) %(sysbase_libgloss) --end-group + - libsysbase/libsysbase_libsysbase_a-rename.o: libsysbase/rename.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-rename.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo -c -o libsysbase/libsysbase_libsysbase_a-rename.o `test -f 'libsysbase/rename.c' || echo '$(srcdir)/'`libsysbase/rename.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po --- -2.20.1 - - -From 64dca5e3b53cc4ed69e24f81db719c9fce069aa5 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Sat, 8 Apr 2023 18:30:07 +0100 -Subject: [PATCH 49/83] Implement realpath in sysbase - ---- - libgloss/libsysbase/Makefile.inc | 1 + - libgloss/libsysbase/realpath.c | 158 ++++++++++++++++++++++++++++--- - 2 files changed, 144 insertions(+), 15 deletions(-) - -diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc -index e39e89071..ef83564cf 100644 ---- a/libgloss/libsysbase/Makefile.inc -+++ b/libgloss/libsysbase/Makefile.inc -@@ -37,6 +37,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a - %D%/open.c \ - %D%/pathconf.c \ - %D%/read.c \ -+ %D%/readlink.c \ - %D%/realpath.c \ - %D%/rename.c \ - %D%/rmdir.c \ -diff --git a/libgloss/libsysbase/realpath.c b/libgloss/libsysbase/realpath.c -index 948ccea2b..9b80f3423 100644 ---- a/libgloss/libsysbase/realpath.c -+++ b/libgloss/libsysbase/realpath.c -@@ -1,23 +1,151 @@ --#include --#include -+#include - #include -+#include - #include --#include --#include +diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c +new file mode 100644 +index 000000000..cbabf8b9a +--- /dev/null ++++ b/libgloss/libsysbase/syscall_support.c +@@ -0,0 +1,144 @@ ++#include +#include - --char *realpath(const char *path, char *resolved_path) --{ -- int ret = -1; -- unsigned int dev = FindDevice(path); -+#define DIRECTORY_SEPARATOR_CHAR '/' -+static const char DIRECTORY_THIS[] = "."; -+static const char DIRECTORY_PARENT[] = ".."; - -- struct _reent *r = _REENT; -+/* Based on chdir.c */ -+static inline int _resolve_path(struct _reent *r, char *path, const char *extra, int maxLength) { -+ char *pathEnd; -+ int pathLength; -+ const char *extraEnd; -+ int extraSize; -+ -+ pathLength = strnlen (path, maxLength); + -+ /* assumes path ends in a directory separator */ -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ pathEnd = path + pathLength; -+ if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd += 1; ++static int ++timespec_subtract(struct timespec x, struct timespec y, struct timespec *__restrict result) ++{ ++ // Perform the carry for the later subtraction by updating y ++ if (x.tv_nsec < y.tv_nsec) { ++ int seconds = (y.tv_nsec - x.tv_nsec) / 1000000000 + 1; ++ y.tv_nsec -= 1000000000 * seconds; ++ y.tv_sec += seconds; + } - -- if(dev != -1 && devoptab_list[dev]->pathconf_r) { -- r->deviceData = devoptab_list[dev]->deviceData; -- ret = devoptab_list[dev]->pathconf_r(r, path, resolved_path); -- } else -- r->_errno=ENOSYS; -+ extraEnd = extra; - -- return ret; -+ /* If the extra bit starts with a slash, start at root */ -+ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; -+ pathEnd[0] = '\0'; ++ if (x.tv_nsec - y.tv_nsec > 1000000000) { ++ int seconds = (x.tv_nsec - y.tv_nsec) / 1000000000; ++ y.tv_nsec += 1000000000 * seconds; ++ y.tv_sec -= seconds; + } -+ do { -+ /* Advance past any separators in extra */ -+ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ extra += 1; -+ } -+ -+ /* Grab the next directory name from extra */ -+ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); -+ if (extraEnd == NULL) { -+ extraEnd = strrchr (extra, '\0'); -+ } else { -+ extraEnd += 1; -+ } + -+ extraSize = (extraEnd - extra); -+ if (extraSize == 0) { -+ break; -+ } ++ // Compute the time remaining to wait ++ result->tv_sec = x.tv_sec - y.tv_sec; ++ result->tv_nsec = x.tv_nsec - y.tv_nsec; + -+ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) -+ { -+ /* Don't copy anything */ -+ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) -+ { -+ /* Go up one level of in the path */ -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { -+ // Remove trailing separator -+ pathEnd[-1] = '\0'; -+ } -+ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); -+ if (pathEnd == NULL) { -+ /* Can't go up any higher, return false */ -+ r->_errno = ENOENT; -+ return -1; -+ } -+ pathLength = pathEnd - path; -+ pathEnd += 1; -+ } else { -+ pathLength += extraSize; -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ /* Copy the next part over */ -+ strncpy (pathEnd, extra, extraSize); -+ pathEnd += extraSize; -+ } -+ pathEnd[0] = '\0'; -+ extra += extraSize; -+ } while (extraSize != 0); ++ // Return true if result is negative ++ return x.tv_sec < y.tv_sec; ++} + -+ return 0; - } - -+char *realpath(const char *__restrict path, char *__restrict resolved) ++__uint64_t ++timespec2nsec(const struct timespec *__restrict ts) +{ -+ struct _reent *r = _REENT; -+ -+ char stack[PATH_MAX] = {0}; -+ const char *pathPosition = NULL; -+ int len = 0; -+ -+ if (!path) { -+ errno = ENOENT; -+ return NULL; -+ } -+ -+ len = strnlen(path, PATH_MAX); -+ if (!len) { -+ r->_errno = ENOENT; -+ return NULL; -+ } -+ if (len >= PATH_MAX) { -+ r->_errno = ENAMETOOLONG; -+ return NULL; -+ } ++ return (__uint64_t)ts->tv_sec * 1000000000 + ts->tv_nsec; ++} + -+ if (strchr (path, ':') != NULL) { -+ strncpy(stack, path, PATH_MAX-1); -+ /* Move path past device name */ -+ path = strchr(path, ':') + 1; -+ } else { -+ getcwd(stack, PATH_MAX); -+ } ++__uint64_t ++abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts) ++{ ++ struct timespec now, diff; ++ clock_gettime(clock_id, &now); ++ if (timespec_subtract(*ts, now, &diff)) ++ return 0; ++ return timespec2nsec(&diff); ++} + -+ pathPosition = strchr(stack, ':'); ++void __libc_lock_acquire(_LOCK_T *lock ) { + -+ if (pathPosition == NULL) { -+ pathPosition = stack; -+ } else { -+ pathPosition++; ++ if ( __has_syscall(lock_acquire) ) { ++ __syscall_lock_acquire(lock); + } ++} + -+ /* Make sure the path starts in the root directory */ -+ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) { -+ r->_errno = ENOENT; -+ return NULL; -+ } ++int __libc_lock_try_acquire(_LOCK_T *lock ) { + -+ if (_resolve_path(r, stack, path, PATH_MAX) == -1) { -+ return NULL; ++ if ( __has_syscall(lock_acquire) ) { ++ return __syscall_lock_try_acquire(lock); ++ } else { ++ return 0; + } ++} + -+ if (resolved) { -+ strncpy(resolved, stack, PATH_MAX); -+ return resolved; -+ } ++void __libc_lock_release(_LOCK_T *lock ) { + -+ return strndup(stack, sizeof(stack)); ++ if ( __has_syscall(lock_release) ) { ++ __syscall_lock_release(lock); ++ } +} --- -2.20.1 - - -From d7c3365954119e367f4582a1c5962d266455b503 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Sat, 8 Apr 2023 20:20:35 +0100 -Subject: [PATCH 50/83] add readlink & symlink to devoptab. - ---- - libgloss/libsysbase/Makefile.inc | 1 + - libgloss/libsysbase/readlink.c | 24 ++++++++++++++++++++++++ - libgloss/libsysbase/realpath.c | 3 ++- - libgloss/libsysbase/symlink.c | 29 +++++++++++++++++++++++++++++ - newlib/libc/include/sys/iosupport.h | 6 +++++- - 5 files changed, 61 insertions(+), 2 deletions(-) - create mode 100644 libgloss/libsysbase/readlink.c - create mode 100644 libgloss/libsysbase/symlink.c - -diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc -index ef83564cf..a4fb24459 100644 ---- a/libgloss/libsysbase/Makefile.inc -+++ b/libgloss/libsysbase/Makefile.inc -@@ -46,6 +46,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a - %D%/sleep.c \ - %D%/stat.c \ - %D%/statvfs.c \ -+ %D%/symlink.c \ - %D%/syscall_support.c \ - %D%/times.c \ - %D%/truncate.c \ -diff --git a/libgloss/libsysbase/readlink.c b/libgloss/libsysbase/readlink.c -new file mode 100644 -index 000000000..98ce358e4 ---- /dev/null -+++ b/libgloss/libsysbase/readlink.c -@@ -0,0 +1,24 @@ -+#include -+#include -+#include -+#include -+ -+ssize_t readlink_r(struct _reent *r, const char *path, char *buf, size_t bufsiz) { -+ int ret=-1; -+ int device = FindDevice(path); + -+ if ( device != -1 && devoptab_list[device]->readlink_r) { ++void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { + -+ r->deviceData = devoptab_list[device]->deviceData; -+ ret = devoptab_list[device]->readlink_r(r, path, buf, bufsiz); ++ if ( __has_syscall(lock_acquire_recursive) ) { ++ __syscall_lock_acquire_recursive(lock); ++ } ++} + -+ } else { -+ r->_errno = ENOSYS; -+ } ++int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { + -+ return ret; ++ if ( __has_syscall(lock_acquire_recursive) ) { ++ return __syscall_lock_try_acquire_recursive(lock); ++ } else { ++ return 0; ++ } +} + -+ssize_t readlink(const char *path, char *buf, size_t bufsiz) { -+ return(readlink_r(_REENT, path, buf, bufsiz)); -+} -diff --git a/libgloss/libsysbase/realpath.c b/libgloss/libsysbase/realpath.c -index 9b80f3423..74a788cd8 100644 ---- a/libgloss/libsysbase/realpath.c -+++ b/libgloss/libsysbase/realpath.c -@@ -109,7 +109,7 @@ char *realpath(const char *__restrict path, char *__restrict resolved) - len = strnlen(path, PATH_MAX); - if (!len) { - r->_errno = ENOENT; -- return NULL; -+ return NULL; - } - if (len >= PATH_MAX) { - r->_errno = ENAMETOOLONG; -@@ -149,3 +149,4 @@ char *realpath(const char *__restrict path, char *__restrict resolved) - - return strndup(stack, sizeof(stack)); - } ++void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { + -diff --git a/libgloss/libsysbase/symlink.c b/libgloss/libsysbase/symlink.c -new file mode 100644 -index 000000000..b3c34ea51 ---- /dev/null -+++ b/libgloss/libsysbase/symlink.c -@@ -0,0 +1,29 @@ -+#include -+#include -+#include -+#include ++ if ( __has_syscall(lock_release_recursive) ) { ++ __syscall_lock_release_recursive(lock); ++ } ++} + -+int symlink_r(struct _reent *r, const char *target, const char *linkpath) { -+ int ret=-1; -+ int targetDevice = FindDevice(target); -+ int linkDevice = FindDevice(linkpath); ++int __libc_cond_signal(_COND_T *cond) { + -+ if (targetDevice != linkDevice) { -+ return -1; ++ if ( __has_syscall(cond_signal) ) { ++ return __syscall_cond_signal(cond); + } + -+ if ( targetDevice != -1 && devoptab_list[targetDevice]->symlink_r) { ++ return ENOSYS; + -+ r->deviceData = devoptab_list[targetDevice]->deviceData; -+ ret = devoptab_list[targetDevice]->symlink_r(r, target, linkpath ); ++} + -+ } else { -+ r->_errno = ENOSYS; ++int __libc_cond_broadcast(_COND_T *cond) { ++ ++ if ( __has_syscall(cond_broadcast) ) { ++ return __syscall_cond_broadcast(cond); + } + -+ return ret; -+} ++ return ENOSYS; + -+int symlink(const char *target, const char *linkpath) { -+ return (symlink_r(_REENT, target, linkpath)); +} -diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h -index d08f9cd5c..2478af590 100644 ---- a/newlib/libc/include/sys/iosupport.h -+++ b/newlib/libc/include/sys/iosupport.h -@@ -11,6 +11,7 @@ extern "C" { - #include - #include - #include -+#include - - enum { - STD_IN, -@@ -66,10 +67,13 @@ typedef struct { - int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); - int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); - -+ bool hasSymLinks; + - long (*fpathconf_r)(struct _reent *r, int fd, int name); - long (*pathconf_r)(struct _reent *r, const char *path, int name); - -- char *(*realpath_r)(struct _reent *r, const char *path, char *resolved_path); -+ int (*symlink_r)(struct _reent *r, const char *target, const char *linkpath); -+ ssize_t (*readlink_r)(struct _reent *r, const char *path, char *buf, size_t bufsiz); - - } devoptab_t; - --- -2.20.1 - - -From 79edeabe8a79fc926767fabfcadce0cf3c5eace7 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Tue, 11 Apr 2023 22:01:24 +0100 -Subject: [PATCH 51/83] refactor realpath - ---- - libgloss/libsysbase/Makefile.inc | 1 + - libgloss/libsysbase/chdir.c | 99 +---------------------------- - libgloss/libsysbase/concatenate.c | 91 ++++++++++++++++++++++++++ - libgloss/libsysbase/concatenate.h | 10 +++ - libgloss/libsysbase/iosupport.c | 2 - - libgloss/libsysbase/realpath.c | 48 ++++++++++++-- - newlib/libc/include/sys/iosupport.h | 3 +- - 7 files changed, 147 insertions(+), 107 deletions(-) - create mode 100644 libgloss/libsysbase/concatenate.c - create mode 100644 libgloss/libsysbase/concatenate.h - -diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc -index a4fb24459..2030c24d2 100644 ---- a/libgloss/libsysbase/Makefile.inc -+++ b/libgloss/libsysbase/Makefile.inc -@@ -10,6 +10,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a - %D%/chdir.c \ - %D%/chmod.c \ - %D%/clocks.c \ -+ %D%/concatenate.c \ - %D%/dirent.c \ - %D%/environ.c \ - %D%/execve.c \ -diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c -index b94f6a8b4..922124b65 100644 ---- a/libgloss/libsysbase/chdir.c -+++ b/libgloss/libsysbase/chdir.c -@@ -1,110 +1,15 @@ - #include - #include --#include --#include --#include - #include - #include - #include - -+#include "concatenate.h" ++int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns) { + - /* CWD always start with "/" */ - static char _current_working_directory [PATH_MAX] = "/"; - static char temp_cwd [PATH_MAX]; - --#define DIRECTORY_SEPARATOR_CHAR '/' --const char DIRECTORY_SEPARATOR[] = "/"; --const char DIRECTORY_THIS[] = "."; --const char DIRECTORY_PARENT[] = ".."; -- --int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { -- char *pathEnd; -- int pathLength; -- const char *extraEnd; -- int extraSize; -- -- pathLength = strnlen (path, maxLength); -- -- /* assumes path ends in a directory separator */ -- if (pathLength >= maxLength) { -- r->_errno = ENAMETOOLONG; -- return -1; -- } -- pathEnd = path + pathLength; -- if (pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -- pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -- pathEnd += 1; -- } -- -- extraEnd = extra; -- -- /* If the extra bit starts with a slash, start at root */ -- if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -- pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; -- pathEnd[0] = '\0'; -- } -- do { -- /* Advance past any separators in extra */ -- while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -- extra += 1; -- } -- -- /* Grab the next directory name from extra */ -- extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); -- if (extraEnd == NULL) { -- extraEnd = strrchr (extra, '\0'); -- } else { -- extraEnd += 1; -- } -- -- extraSize = (extraEnd - extra); -- if (extraSize == 0) { -- break; -- } -- -- if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) -- && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) -- ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) -- { -- /* Don't copy anything */ -- } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) -- && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) -- ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) -- { -- /* Go up one level of in the path */ -- if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { -- // Remove trailing separator -- pathEnd[-1] = '\0'; -- } -- pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); -- if (pathEnd == NULL) { -- /* Can't go up any higher, return false */ -- r->_errno = ENOENT; -- return -1; -- } -- pathLength = pathEnd - path; -- pathEnd += 1; -- } else { -- pathLength += extraSize; -- if (pathLength >= maxLength) { -- r->_errno = ENAMETOOLONG; -- return -1; -- } -- /* Copy the next part over */ -- strncpy (pathEnd, extra, extraSize); -- pathEnd += extraSize; -- } -- pathEnd[0] = '\0'; -- extra += extraSize; -- } while (extraSize != 0); -- -- if (strlen(path) > 2 ) { -- if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') -- pathEnd[-1] = '\0'; -- } -- -- return 0; --} -- - int chdir (const char *path) { - struct _reent *r = _REENT; - -diff --git a/libgloss/libsysbase/concatenate.c b/libgloss/libsysbase/concatenate.c -new file mode 100644 -index 000000000..e1da5a403 ---- /dev/null -+++ b/libgloss/libsysbase/concatenate.c -@@ -0,0 +1,91 @@ -+#include "concatenate.h" ++ if ( __has_syscall(cond_wait) ) { ++ return __syscall_cond_wait(cond, lock, timeout_ns); ++ } + ++ return ENOSYS; + -+int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength) { -+ char *pathEnd; -+ int pathLength; -+ const char *extraEnd; -+ int extraSize; ++} + -+ pathLength = strnlen (path, maxLength); ++int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns) { + -+ /* assumes path ends in a directory separator */ -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ pathEnd = path + pathLength; -+ if (pathLength != 0 && pathEnd[-1] != DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd[0] = DIRECTORY_SEPARATOR_CHAR; -+ pathEnd += 1; ++ if ( __has_syscall(cond_wait_recursive) ) { ++ return __syscall_cond_wait_recursive(cond, lock, timeout_ns); + } + -+ extraEnd = extra; ++ return ENOSYS; + -+ /* If the extra bit starts with a slash, start at root */ -+ if (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; -+ pathEnd[0] = '\0'; -+ } -+ do { -+ /* Advance past any separators in extra */ -+ while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -+ extra += 1; -+ } ++} + -+ /* Grab the next directory name from extra */ -+ extraEnd = strchr (extra, DIRECTORY_SEPARATOR_CHAR); -+ if (extraEnd == NULL) { -+ extraEnd = strrchr (extra, '\0'); -+ } else { -+ extraEnd += 1; -+ } + -+ extraSize = (extraEnd - extra); -+ if (extraSize == 0) { -+ break; -+ } ++#ifdef CUSTOM_MALLOC_LOCK + -+ if ((strncmp (extra, DIRECTORY_THIS, sizeof(DIRECTORY_THIS) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_THIS)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_THIS)-1] == '\0'))) -+ { -+ /* Don't copy anything */ -+ } else if ((strncmp (extra, DIRECTORY_PARENT, sizeof(DIRECTORY_PARENT) - 1) == 0) -+ && ((extra[sizeof(DIRECTORY_PARENT)-1] == DIRECTORY_SEPARATOR_CHAR) -+ ||(extra[sizeof(DIRECTORY_PARENT)-1] == '\0'))) -+ { -+ /* Go up one level of in the path */ -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR) { -+ // Remove trailing separator -+ pathEnd[-1] = '\0'; -+ } -+ pathEnd = strrchr (path, DIRECTORY_SEPARATOR_CHAR); -+ if (pathEnd == NULL) { -+ /* Can't go up any higher, return false */ -+ r->_errno = ENOENT; -+ return -1; -+ } -+ pathLength = pathEnd - path; -+ pathEnd += 1; -+ } else { -+ pathLength += extraSize; -+ if (pathLength >= maxLength) { -+ r->_errno = ENAMETOOLONG; -+ return -1; -+ } -+ /* Copy the next part over */ -+ strncpy (pathEnd, extra, extraSize); -+ pathEnd += extraSize; -+ } -+ pathEnd[0] = '\0'; -+ extra += extraSize; -+ } while (extraSize != 0); ++void __malloc_lock( struct _reent *ptr ) { ++ if ( __has_syscall(malloc_lock) ){ ++ __syscall_malloc_lock(ptr); ++ } ++ } + -+ if (strlen(path) > 2 ) { -+ if (pathEnd[-1] == DIRECTORY_SEPARATOR_CHAR && pathEnd[-2] != ':') -+ pathEnd[-1] = '\0'; -+ } ++void __malloc_unlock( struct _reent *ptr ) { ++ if ( __has_syscall(malloc_unlock)) { ++ __syscall_malloc_unlock(ptr); ++ } ++} ++ ++#endif +diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c +new file mode 100644 +index 000000000..edac04a1a +--- /dev/null ++++ b/libgloss/libsysbase/times.c +@@ -0,0 +1,13 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include + -+ return 0; ++//--------------------------------------------------------------------------------- ++clock_t _times_r(struct _reent *r, struct tms *ptms) { ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return (clock_t)-1; +} -\ No newline at end of file -diff --git a/libgloss/libsysbase/concatenate.h b/libgloss/libsysbase/concatenate.h ++ +diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c new file mode 100644 -index 000000000..e3b9e7d99 +index 000000000..849525990 --- /dev/null -+++ b/libgloss/libsysbase/concatenate.h -@@ -0,0 +1,10 @@ -+#include -+#include ++++ b/libgloss/libsysbase/truncate.c +@@ -0,0 +1,54 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include +#include ++#include + -+#define DIRECTORY_SEPARATOR_CHAR '/' -+#define DIRECTORY_SEPARATOR "/" -+#define DIRECTORY_THIS "." -+#define DIRECTORY_PARENT ".." -+ -+int _concatenate_path (struct _reent *r, char *path, const char *extra, int maxLength); -diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c -index 948c6ef93..71224902f 100644 ---- a/libgloss/libsysbase/iosupport.c -+++ b/libgloss/libsysbase/iosupport.c -@@ -136,5 +136,3 @@ const devoptab_t* GetDeviceOpTab (const char *name) { - return NULL; - } - } -- -- -diff --git a/libgloss/libsysbase/realpath.c b/libgloss/libsysbase/realpath.c -index 74a788cd8..f2cf3a831 100644 ---- a/libgloss/libsysbase/realpath.c -+++ b/libgloss/libsysbase/realpath.c -@@ -3,18 +3,20 @@ - #include - #include - #include -+#include +#include - --#define DIRECTORY_SEPARATOR_CHAR '/' --static const char DIRECTORY_THIS[] = "."; --static const char DIRECTORY_PARENT[] = ".."; -+#include "concatenate.h" - - /* Based on chdir.c */ --static inline int _resolve_path(struct _reent *r, char *path, const char *extra, int maxLength) { -+static inline int _resolve_links(struct _reent *r, char *path, const char *extra, int maxLength) { - char *pathEnd; - int pathLength; - const char *extraEnd; - int extraSize; - -+ int resolvedLinks = 0; + - pathLength = strnlen (path, maxLength); - - /* assumes path ends in a directory separator */ -@@ -35,6 +37,8 @@ static inline int _resolve_path(struct _reent *r, char *path, const char *extra, - pathEnd = strchr (path, DIRECTORY_SEPARATOR_CHAR) + 1; - pathEnd[0] = '\0'; - } ++int truncate(const char *file, off_t len) ++{ + ++ __handle *handle; ++ int dev, fd, ret; + - do { - /* Advance past any separators in extra */ - while (extra[0] == DIRECTORY_SEPARATOR_CHAR) { -@@ -88,8 +92,40 @@ static inline int _resolve_path(struct _reent *r, char *path, const char *extra, - } - pathEnd[0] = '\0'; - extra += extraSize; ++ struct _reent * r = _REENT; + ++ dev = FindDevice(file); + -+ struct stat st; -+ if (lstat(path,&st) < 0) return -1; -+ if (S_ISLNK(st.st_mode)) { -+ do { -+ if(resolvedLinks > 8 && extraSize > 0) { -+ r->_errno = ELOOP; -+ return -1; -+ } ++ if(dev!=-1 && devoptab_list[dev]->open_r && devoptab_list[dev]->close_r && ++ devoptab_list[dev]->ftruncate_r) ++ { + -+ char buf[PATH_MAX]; -+ memset(buf,0,PATH_MAX); ++ fd = __alloc_handle(dev); + -+ if (readlink(path,buf,sizeof(buf)) == -1) return -1; ++ if ( -1 != fd ) { ++ handle = __get_handle(fd); + -+ pathEnd = strrchr(path, DIRECTORY_SEPARATOR_CHAR) + 1; -+ if (pathEnd == NULL) pathEnd = path; -+ pathEnd[0] = '\0'; ++ r->deviceData = devoptab_list[dev]->deviceData; + -+ if (_concatenate_path(r, path, buf, PATH_MAX) == -1) { -+ return -1; -+ } ++ ret = devoptab_list[dev]->open_r(r, handle->fileStruct, file, O_WRONLY, 0); + -+ resolvedLinks++; -+ pathEnd = strchr(path,0); ++ if ( ret < 0 ) { ++ __release_handle(fd); ++ return ret; ++ } + -+ if (lstat(path,&st) < 0) return -1; ++ ret = devoptab_list[dev]->ftruncate_r(r, handle->fileStruct, len); + -+ } while(S_ISLNK(st.st_mode)); ++ if (ret >= 0) { ++ ret = devoptab_list[dev]->close_r(r, handle->fileStruct); ++ } else { ++ // Close it anyway, we don't want to leak memory ++ devoptab_list[dev]->close_r(r, handle->fileStruct); ++ } ++ } else { ++ r->_errno = ENOSR; + } - } while (extraSize != 0); - ++ } else { ++ r->_errno = ENOSYS; ++ } + - return 0; - } - -@@ -138,8 +174,8 @@ char *realpath(const char *__restrict path, char *__restrict resolved) - return NULL; - } - -- if (_resolve_path(r, stack, path, PATH_MAX) == -1) { -- return NULL; -+ if (_resolve_links(r, stack, path, PATH_MAX) == -1) { -+ return NULL; - } - - if (resolved) { -diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h -index 2478af590..fb0646bc6 100644 ---- a/newlib/libc/include/sys/iosupport.h -+++ b/newlib/libc/include/sys/iosupport.h -@@ -67,8 +67,6 @@ typedef struct { - int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); - int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); - -- bool hasSymLinks; -- - long (*fpathconf_r)(struct _reent *r, int fd, int name); - long (*pathconf_r)(struct _reent *r, const char *path, int name); - -@@ -111,6 +109,7 @@ int AddDevice( const devoptab_t* device); - int FindDevice(const char* name); - int RemoveDevice(const char* name); - void setDefaultDevice( int device ); ++ return ret; ++} +diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c +new file mode 100644 +index 000000000..0a4c087c9 +--- /dev/null ++++ b/libgloss/libsysbase/unlink.c +@@ -0,0 +1,27 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include ++#include + - const devoptab_t* GetDeviceOpTab (const char *name); - - void __release_handle(int fd); --- -2.20.1 - - -From 8f10833e1d4dd243e3d9ec129ff2c953e3a0189e Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Sat, 8 Apr 2023 20:21:05 +0100 -Subject: [PATCH 52/83] libgloss/Makefile.in: regenerate - ---- - libgloss/Makefile.in | 60 ++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 60 insertions(+) - -diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in -index 888d22b62..2a1a2ff6f 100644 ---- a/libgloss/Makefile.in -+++ b/libgloss/Makefile.in -@@ -432,6 +432,7 @@ libsysbase_libsysbase_a_LIBADD = - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-concatenate.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-environ.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-execve.$(OBJEXT) \ -@@ -459,6 +460,7 @@ libsysbase_libsysbase_a_LIBADD = - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-readlink.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rename.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-rmdir.$(OBJEXT) \ -@@ -467,6 +469,7 @@ libsysbase_libsysbase_a_LIBADD = - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-sleep.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-symlink.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-times.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-truncate.$(OBJEXT) \ -@@ -1058,6 +1061,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/chdir.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/chmod.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/clocks.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/concatenate.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/dirent.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/environ.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/execve.c \ -@@ -1085,6 +1089,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/read.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/readlink.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/realpath.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/rename.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/rmdir.c \ -@@ -1093,6 +1098,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/sleep.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/stat.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/statvfs.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/symlink.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/syscall_support.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/times.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/truncate.c \ -@@ -1719,6 +1725,9 @@ libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT): \ - libsysbase/libsysbase_libsysbase_a-clocks.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-concatenate.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) - libsysbase/libsysbase_libsysbase_a-dirent.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -@@ -1800,6 +1809,9 @@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT): \ - libsysbase/libsysbase_libsysbase_a-read.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-readlink.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) - libsysbase/libsysbase_libsysbase_a-realpath.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -@@ -1824,6 +1836,9 @@ libsysbase/libsysbase_libsysbase_a-stat.$(OBJEXT): \ - libsysbase/libsysbase_libsysbase_a-statvfs.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-symlink.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) - libsysbase/libsysbase_libsysbase_a-syscall_support.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -@@ -2248,6 +2263,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-clocks.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-environ.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-execve.Po@am__quote@ -@@ -2275,6 +2291,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rename.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-rmdir.Po@am__quote@ -@@ -2283,6 +2300,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-sleep.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-stat.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-statvfs.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-times.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-truncate.Po@am__quote@ -@@ -3119,6 +3137,20 @@ libsysbase/libsysbase_libsysbase_a-clocks.obj: libsysbase/clocks.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-clocks.obj `if test -f 'libsysbase/clocks.c'; then $(CYGPATH_W) 'libsysbase/clocks.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/clocks.c'; fi` - -+libsysbase/libsysbase_libsysbase_a-concatenate.o: libsysbase/concatenate.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-concatenate.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-concatenate.o `test -f 'libsysbase/concatenate.c' || echo '$(srcdir)/'`libsysbase/concatenate.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/concatenate.c' object='libsysbase/libsysbase_libsysbase_a-concatenate.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-concatenate.o `test -f 'libsysbase/concatenate.c' || echo '$(srcdir)/'`libsysbase/concatenate.c ++//--------------------------------------------------------------------------------- ++int _unlink_r(struct _reent * r, const char *name ) { ++//--------------------------------------------------------------------------------- ++ int dev,ret=-1; + -+libsysbase/libsysbase_libsysbase_a-concatenate.obj: libsysbase/concatenate.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-concatenate.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo -c -o libsysbase/libsysbase_libsysbase_a-concatenate.obj `if test -f 'libsysbase/concatenate.c'; then $(CYGPATH_W) 'libsysbase/concatenate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/concatenate.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-concatenate.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/concatenate.c' object='libsysbase/libsysbase_libsysbase_a-concatenate.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-concatenate.obj `if test -f 'libsysbase/concatenate.c'; then $(CYGPATH_W) 'libsysbase/concatenate.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/concatenate.c'; fi` ++ dev = FindDevice(name); ++ if(dev<0) { ++ r->_errno = ENODEV; ++ } else { ++ if (devoptab_list[dev]->unlink_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->unlink_r(r,name); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } + - libsysbase/libsysbase_libsysbase_a-dirent.o: libsysbase/dirent.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-dirent.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo -c -o libsysbase/libsysbase_libsysbase_a-dirent.o `test -f 'libsysbase/dirent.c' || echo '$(srcdir)/'`libsysbase/dirent.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-dirent.Po -@@ -3497,6 +3529,20 @@ libsysbase/libsysbase_libsysbase_a-read.obj: libsysbase/read.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-read.obj `if test -f 'libsysbase/read.c'; then $(CYGPATH_W) 'libsysbase/read.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/read.c'; fi` - -+libsysbase/libsysbase_libsysbase_a-readlink.o: libsysbase/readlink.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-readlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-readlink.o `test -f 'libsysbase/readlink.c' || echo '$(srcdir)/'`libsysbase/readlink.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/readlink.c' object='libsysbase/libsysbase_libsysbase_a-readlink.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-readlink.o `test -f 'libsysbase/readlink.c' || echo '$(srcdir)/'`libsysbase/readlink.c ++ return ret; ++} + -+libsysbase/libsysbase_libsysbase_a-readlink.obj: libsysbase/readlink.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-readlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-readlink.obj `if test -f 'libsysbase/readlink.c'; then $(CYGPATH_W) 'libsysbase/readlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/readlink.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/readlink.c' object='libsysbase/libsysbase_libsysbase_a-readlink.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-readlink.obj `if test -f 'libsysbase/readlink.c'; then $(CYGPATH_W) 'libsysbase/readlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/readlink.c'; fi` +diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c +new file mode 100644 +index 000000000..b54714775 +--- /dev/null ++++ b/libgloss/libsysbase/usleep.c +@@ -0,0 +1,18 @@ ++/* Copied from libc/posix/sleep.c, removed the check for HAVE_NANOSLEEP */ + - libsysbase/libsysbase_libsysbase_a-realpath.o: libsysbase/realpath.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-realpath.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo -c -o libsysbase/libsysbase_libsysbase_a-realpath.o `test -f 'libsysbase/realpath.c' || echo '$(srcdir)/'`libsysbase/realpath.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po -@@ -3609,6 +3655,20 @@ libsysbase/libsysbase_libsysbase_a-statvfs.obj: libsysbase/statvfs.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-statvfs.obj `if test -f 'libsysbase/statvfs.c'; then $(CYGPATH_W) 'libsysbase/statvfs.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/statvfs.c'; fi` - -+libsysbase/libsysbase_libsysbase_a-symlink.o: libsysbase/symlink.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-symlink.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-symlink.o `test -f 'libsysbase/symlink.c' || echo '$(srcdir)/'`libsysbase/symlink.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/symlink.c' object='libsysbase/libsysbase_libsysbase_a-symlink.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-symlink.o `test -f 'libsysbase/symlink.c' || echo '$(srcdir)/'`libsysbase/symlink.c ++/* Written 2000 by Werner Almesberger */ ++ ++#include ++#include ++#include ++ ++int usleep(useconds_t useconds) ++{ ++ struct timespec ts; ++ ++ ts.tv_sec = (long int)useconds / 1000000; ++ ts.tv_nsec = ((long int)useconds % 1000000) * 1000; ++ if (!nanosleep(&ts,&ts)) return 0; ++ if (errno == EINTR) return ts.tv_sec; ++ return -1; ++} +diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c +new file mode 100644 +index 000000000..14b459eef +--- /dev/null ++++ b/libgloss/libsysbase/utime.c +@@ -0,0 +1,45 @@ ++#include "config.h" ++ ++#include ++#include ++#include ++#include ++#include ++ ++int utimes(const char *filename, const struct timeval times[2]) ++{ ++ struct _reent *r = _REENT; ++ int dev,ret=-1; ++ ++ dev = FindDevice(filename); ++ ++ if(dev!=-1) { ++ if (devoptab_list[dev]->utimes_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->utimes_r(r,filename,times); ++ } else { ++ r->_errno=ENOSYS; ++ } ++ } else { ++ r->_errno = ENODEV; ++ } ++ return ret; ++} + -+libsysbase/libsysbase_libsysbase_a-symlink.obj: libsysbase/symlink.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-symlink.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo -c -o libsysbase/libsysbase_libsysbase_a-symlink.obj `if test -f 'libsysbase/symlink.c'; then $(CYGPATH_W) 'libsysbase/symlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/symlink.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-symlink.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/symlink.c' object='libsysbase/libsysbase_libsysbase_a-symlink.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-symlink.obj `if test -f 'libsysbase/symlink.c'; then $(CYGPATH_W) 'libsysbase/symlink.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/symlink.c'; fi` + - libsysbase/libsysbase_libsysbase_a-syscall_support.o: libsysbase/syscall_support.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-syscall_support.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo -c -o libsysbase/libsysbase_libsysbase_a-syscall_support.o `test -f 'libsysbase/syscall_support.c' || echo '$(srcdir)/'`libsysbase/syscall_support.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-syscall_support.Po --- -2.20.1 - - -From 1d1512cb39045019f522b8528648db579da13ab8 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Wed, 19 Apr 2023 20:18:45 +0100 -Subject: [PATCH 53/83] pass filestruct to devoptab fpathconf_r - ---- - libgloss/libsysbase/fpathconf.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libgloss/libsysbase/fpathconf.c b/libgloss/libsysbase/fpathconf.c -index 6911163ae..453f64870 100644 ---- a/libgloss/libsysbase/fpathconf.c -+++ b/libgloss/libsysbase/fpathconf.c -@@ -22,7 +22,7 @@ long fpathconf(int fd, int name) - - if(devoptab_list[dev]->fpathconf_r) { - r->deviceData = devoptab_list[dev]->deviceData; -- ret = devoptab_list[dev]->fpathconf_r(r, fd, name); -+ ret = devoptab_list[dev]->fpathconf_r(r, handle->fileStruct, name); - } else - r->_errno=ENOSYS; - --- -2.20.1 - - -From 2c1d9ce1d06fe219f641e53dd8194ac58d94ec08 Mon Sep 17 00:00:00 2001 -From: Extrems -Date: Tue, 18 Apr 2023 21:32:35 -0400 -Subject: [PATCH 54/83] utime: Use gettimeofday for NULL times - ---- - libgloss/libsysbase/utime.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c -index 462e86520..14b459eef 100644 ---- a/libgloss/libsysbase/utime.c -+++ b/libgloss/libsysbase/utime.c -@@ -35,6 +35,10 @@ int utime(const char *filename, const struct utimbuf *times) - t[0].tv_usec = 0; - t[1].tv_sec = times->modtime; - t[1].tv_usec = 0; ++int utime(const char *filename, const struct utimbuf *times) ++{ ++ struct timeval t[2]; ++ if (times) { ++ t[0].tv_sec = times->actime; ++ t[0].tv_usec = 0; ++ t[1].tv_sec = times->modtime; ++ t[1].tv_usec = 0; + } else if (gettimeofday(&t[0], NULL) != -1) { + t[1] = t[0]; + } else { + return -1; - } - - return utimes(filename, t); --- -2.20.1 - - -From 2c28071790486de1a418ba32bb321c4ed1ba6f69 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 20 Apr 2023 07:33:44 +0100 -Subject: [PATCH 55/83] allow space for NUL in readdir - ---- - libgloss/libsysbase/dirent.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c -index bed699102..8df41f85e 100644 ---- a/libgloss/libsysbase/dirent.c -+++ b/libgloss/libsysbase/dirent.c -@@ -139,7 +139,7 @@ int closedir (DIR *dirp) { - - struct dirent* readdir (DIR *dirp) { - struct stat st; -- char filename[NAME_MAX]; -+ char filename[NAME_MAX+1]; - int res; - int olderrno = errno; - -@@ -162,7 +162,7 @@ struct dirent* readdir (DIR *dirp) { - // We've moved forward in the directory - dirp->position += 1; - -- if (strnlen(filename, NAME_MAX) >= sizeof(dirp->fileData.d_name)) { -+ if (strnlen(filename, sizeof(filename)) >= sizeof(dirp->fileData.d_name)) { - errno = EOVERFLOW; - return NULL; - } -@@ -177,7 +177,7 @@ struct dirent* readdir (DIR *dirp) { - - int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { - struct stat st; -- char filename[NAME_MAX]; -+ char filename[NAME_MAX+1]; - int res; - - if (!dirp) { -@@ -200,7 +200,7 @@ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { - // We've moved forward in the directory - dirp->position += 1; - -- if (strnlen(filename, NAME_MAX) >= sizeof(entry->d_name)) { -+ if (strnlen(filename, sizeof(filename)) >= sizeof(entry->d_name)) { - errno = EOVERFLOW; - return EOVERFLOW; - } -@@ -224,7 +224,7 @@ void rewinddir (DIR *dirp) { - - - void seekdir(DIR *dirp, long int loc) { -- char filename[NAME_MAX]; -+ char filename[NAME_MAX+1]; - - if (!dirp || loc < 0) { - return; --- -2.20.1 - - -From 5ee3f0b2a7810b65c66d09a0a156a4d35124abef Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Thu, 20 Apr 2023 07:34:41 +0100 -Subject: [PATCH 56/83] use st_mode directly to set d_type - ---- - libgloss/libsysbase/dirent.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c -index 8df41f85e..482d2f814 100644 ---- a/libgloss/libsysbase/dirent.c -+++ b/libgloss/libsysbase/dirent.c -@@ -117,6 +117,7 @@ DIR* opendir (const char *dirname) { - - dirp->position = 0; // 0th position means no file name has been returned yet - dirp->fileData.d_ino = -1; -+ dirp->fileData.d_type = DT_UNKNOWN; - dirp->fileData.d_name[0] = '\0'; - - return dirp; -@@ -207,6 +208,7 @@ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { - - strncpy (entry->d_name, filename, sizeof(entry->d_name)); - entry->d_ino = st.st_ino; -+ entry->d_type = IFTODT(st.st_mode); - - *result = entry; - return 0; --- -2.20.1 - - -From 1e1786c3732c261689dbefea1a05319ac289f42c Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Sat, 29 Apr 2023 00:15:29 +0100 -Subject: [PATCH 57/83] devkitPPC: dynamic reent - ---- - newlib/configure.host | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/newlib/configure.host b/newlib/configure.host -index 749f1ec7d..25722d004 100644 ---- a/newlib/configure.host -+++ b/newlib/configure.host -@@ -807,10 +807,10 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID - default_newlib_io_long_long="yes" - newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" - ;; -- powerpc*-*-eabi*) -+ powerpc*-*-eabi*) - default_newlib_io_c99_formats="yes" - default_newlib_io_long_long="yes" -- newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" -+ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" - newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" - syscall_dir=syscalls - ;; --- -2.20.1 - - -From 48f2b4d3f94139ccfb1194848b8659d54e7ecc60 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Mon, 1 May 2023 00:29:16 +0100 -Subject: [PATCH 58/83] enable __DYNAMIC_REENT__ for all toolchains - ---- - newlib/libc/include/sys/config.h | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 3a33705c0..6930a751d 100644 ---- a/newlib/libc/include/sys/config.h -+++ b/newlib/libc/include/sys/config.h -@@ -4,13 +4,19 @@ - #include /* floating point macros */ - #include /* POSIX defs */ - --#ifdef __aarch64__ -+#ifdef __DEVKITARM__ -+#define __DYNAMIC_REENT__ -+#endif ++ } + -+#ifdef __DEVKITA64__ - #define MALLOC_ALIGNMENT 16 -+#define __DYNAMIC_REENT__ - #endif - --#ifdef _ARCH_PPC -+#ifdef __DEVKITPPC__ - #define __BUFSIZ__ 32768 - #define MALLOC_ALIGNMENT 64 -+#define __DYNAMIC_REENT__ - #endif - - #ifdef __AMDGCN__ --- -2.20.1 - - -From fcc0cfc7de60e1543f4256d9914d35a3ee9c1398 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Wed, 22 Mar 2023 12:25:26 +0000 -Subject: [PATCH 59/83] add devkitA64 lock.h - ---- - newlib/libc/machine/aarch64/sys/lock.h | 105 +++++++++++++++++++++++++ - 1 file changed, 105 insertions(+) - create mode 100644 newlib/libc/machine/aarch64/sys/lock.h - -diff --git a/newlib/libc/machine/aarch64/sys/lock.h b/newlib/libc/machine/aarch64/sys/lock.h ++ return utimes(filename, t); ++} +diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c new file mode 100644 -index 000000000..2c3e64f1b +index 000000000..a17561576 --- /dev/null -+++ b/newlib/libc/machine/aarch64/sys/lock.h -@@ -0,0 +1,105 @@ -+#ifndef __SYS_LOCK_H__ -+#define __SYS_LOCK_H__ ++++ b/libgloss/libsysbase/wait.c +@@ -0,0 +1,16 @@ ++/* ++ * Stub version of wait. ++ */ + ++#include "config.h" +#include <_ansi.h> -+#include -+ -+typedef uint32_t _LOCK_T; -+ -+struct __lock_t { -+ _LOCK_T lock; -+ uint32_t thread_tag; -+ uint32_t counter; -+}; ++#include <_syslist.h> ++#include + -+typedef struct __lock_t _LOCK_RECURSIVE_T; ++//--------------------------------------------------------------------------------- ++int _wait_r(struct _reent *r, int *status) { ++//--------------------------------------------------------------------------------- ++ r->_errno = ENOSYS; ++ return -1; ++} + -+typedef uint32_t _COND_T; +diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h +new file mode 100644 +index 000000000..2c2998250 +--- /dev/null ++++ b/libgloss/libsysbase/warning.h +@@ -0,0 +1,43 @@ ++#ifndef __WARNING_H__ ++#define __WARNING_H__ + -+#ifdef __cplusplus -+extern "C" { -+#endif ++#ifdef HAVE_GNU_LD ++# ifdef HAVE_ELF + -+extern void __libc_lock_init(_LOCK_T *lock); -+extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_close(_LOCK_T *lock); -+extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_acquire(_LOCK_T *lock); -+extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); -+extern void __libc_lock_release(_LOCK_T *lock); -+extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++/* We want the .gnu.warning.SYMBOL section to be unallocated. */ ++# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE ++# define __make_section_unallocated(section_string) \ ++ asm(".section " section_string "; .previous"); ++# elif defined (HAVE_ASM_POPSECTION_DIRECTIVE) ++# define __make_section_unallocated(section_string) \ ++ asm(".pushsection " section_string "; .popsection"); ++# else ++# define __make_section_unallocated(section_string) ++# endif + -+/* Returns 0 for success and non-zero for failure */ -+extern int __libc_lock_try_acquire(_LOCK_T *lock); -+extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++# ifdef HAVE_SECTION_ATTRIBUTES ++# define link_warning(symbol, msg) \ ++ __make_section_unallocated (".gnu.warning." #symbol) \ ++ static const char __evoke_link_warning_##symbol[] \ ++ __attribute__ ((section (".gnu.warning." #symbol))) = msg; ++# else ++# define link_warning(symbol, msg) ++# endif + -+/* Returns errno */ -+extern int __libc_cond_init(_COND_T *cond); -+extern int __libc_cond_signal(_COND_T *cond); -+extern int __libc_cond_broadcast(_COND_T *cond); -+extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); -+extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); ++#else /* !ELF */ + -+#ifdef __cplusplus -+} ++# define link_warning(symbol, msg) \ ++ asm(".stabs \"" msg "\",30,0,0,0\n" \ ++ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); ++# endif ++#else /* !GNULD */ ++/* We will never be heard; they will all die horribly. */ ++# define link_warning(symbol, msg) +#endif + -+#define __LOCK_INITIALIZER ((_LOCK_T)0) -+#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) -+#define __COND_INITIALIZER ((_COND_T)0) ++/* A canned warning for sysdeps/stub functions. */ ++#define stub_warning(name) \ ++ link_warning (name, \ ++ "warning: " #name " is not implemented and will always fail") + -+#define __LOCK_INIT(CLASS,NAME) \ -+CLASS _LOCK_T NAME = __LOCK_INITIALIZER; ++#endif /* __WARNING_H__ */ +diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c +new file mode 100644 +index 000000000..04198e854 +--- /dev/null ++++ b/libgloss/libsysbase/write.c +@@ -0,0 +1,31 @@ ++#include "config.h" ++#include <_ansi.h> ++#include <_syslist.h> ++#include ++#include + -+#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ -+CLASS _LOCK_RECURSIVE_T NAME = __LOCK_INITIALIZER_RECURSIVE; ++#include + -+#define __COND_INIT(CLASS,NAME) \ -+CLASS _COND_T NAME = __COND_INITIALIZER; ++//--------------------------------------------------------------------------------- ++_ssize_t _write_r(struct _reent * r, int fileDesc, const void *ptr, size_t len) { ++//--------------------------------------------------------------------------------- ++ int ret = -1; ++ unsigned int dev = 0; + -+#define __lock_init(NAME) \ -+ __libc_lock_init(&(NAME)) ++ __handle * handle = NULL; + -+#define __lock_init_recursive(NAME) \ -+ __libc_lock_init_recursive(&(NAME)) ++ if(fileDesc!=-1) { ++ handle = __get_handle(fileDesc); + -+#define __lock_close(NAME) \ -+ __libc_lock_close(&(NAME)) ++ if ( NULL == handle ) return ret; + -+#define __lock_close_recursive(NAME) \ -+ __libc_lock_close_recursive(&(NAME)) ++ dev = handle->device; + -+#define __lock_acquire(NAME) \ -+ __libc_lock_acquire(&(NAME)) ++ if(devoptab_list[dev]->write_r) { ++ r->deviceData = devoptab_list[dev]->deviceData; ++ ret = devoptab_list[dev]->write_r(r,handle->fileStruct,ptr,len); ++ } else ++ r->_errno=ENOSYS; ++ } ++ return ret; ++} +diff --git a/libgloss/rs6000/Makefile.in b/libgloss/rs6000/Makefile.in +index 489903645..cf62806a3 100644 +--- a/libgloss/rs6000/Makefile.in ++++ b/libgloss/rs6000/Makefile.in +@@ -131,6 +131,9 @@ XIL_OBJS = open.o close.o lseek.o sbrk.o read.o write.o print.o + XIL_TEST = xil-test + XIL_INSTALL = install-xil + ++OGC_CRTMAIN = crtmain.o ++OGC_INSTALL = install-ogc + -+#define __lock_acquire_recursive(NAME) \ -+ __libc_lock_acquire_recursive(&(NAME)) + # Host specific makefile fragment comes in here. + @host_makefile_frag@ + +@@ -145,7 +148,7 @@ all: \ + ${LINUX_CRT0} ${LINUX_BSP} \ + ${YELLOWKNIFE_CRT0} ${YELLOWKNIFE_BSP} \ + ${ADS_CRT0} ${ADS_BSP} \ +- ${MBX_CRT0} ${MBX_BSP} \ ++ ${MBX_CRT0} ${MBX_BSP} ${OGC_CRTMAIN} \ + ${XIL_CRT0} ${XIL_BSP} + + # +@@ -297,6 +300,8 @@ xil-test.srec: xil-test.x + + crt0.o: crt0.S + ++crtmain.o: crtmain.c + -+#define __lock_try_acquire(NAME) \ -+ __libc_lock_try_acquire(&(NAME)) + simulator.o: simulator.S + sim-getrusage.o: sim-getrusage.S + sim-crt0.o: sim-crt0.S +@@ -354,7 +359,7 @@ distclean maintainer-clean realclean: clean + rm -f Makefile config.status *~ + + .PHONY: install info install-info clean-info +-install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${XIL_INSTALL} ++install: ${SIM_INSTALL} ${MVME_INSTALL} ${SOLARIS_INSTALL} ${LINUX_INSTALL} ${YELLOWKNIFE_INSTALL} ${ADS_INSTALL} ${MBX_INSTALL} ${OGC_INSTALL} ${XIL_INSTALL} + + install-sim: + ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} +@@ -392,6 +397,9 @@ install-xil: + set -e; for x in ${XIL_CRT0} ${XIL_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + set -e; for x in ${XIL_SCRIPTS} ${XIL_SPECS}; do ${INSTALL_DATA} $(srcdir)/$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + ++install-ogc: ++ set -e; for x in ${OGC_CRTMAIN}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + -+#define __lock_try_acquire_recursive(NAME) \ -+ __libc_lock_try_acquire_recursive(&(NAME)) + doc: + info: + install-info: +diff --git a/libgloss/rs6000/ads.ld b/libgloss/rs6000/ads.ld +index ef5038e68..32a1d5e0b 100644 +--- a/libgloss/rs6000/ads.ld ++++ b/libgloss/rs6000/ads.ld +@@ -121,6 +121,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +diff --git a/libgloss/rs6000/crtmain.c b/libgloss/rs6000/crtmain.c +new file mode 100644 +index 000000000..bd25d775d +--- /dev/null ++++ b/libgloss/rs6000/crtmain.c +@@ -0,0 +1,18 @@ ++#include + -+#define __lock_release(NAME) \ -+ __libc_lock_release(&(NAME)) ++struct __argv { ++ int argvMagic; //!< argv magic number, set to 0x5f617267 ('_arg') if valid ++ char *commandLine; //!< base address of command line, set of null terminated strings ++ int length;//!< total length of command line ++ int argc; ++ char **argv; ++}; + -+#define __lock_release_recursive(NAME) \ -+ __libc_lock_release_recursive(&(NAME)) ++extern struct __argv *__system_argv; ++void __init(); ++void SYS_PreMain(); + -+#define __cond_init(NAME) \ -+ __libc_cond_init(&(NAME)) ++void __crtmain() { ++ SYS_PreMain(); ++ exit ( main(__system_argv->argc,__system_argv->argv) ); ++} +diff --git a/libgloss/rs6000/mbx.ld b/libgloss/rs6000/mbx.ld +index cedf4e867..99d849e90 100644 +--- a/libgloss/rs6000/mbx.ld ++++ b/libgloss/rs6000/mbx.ld +@@ -101,6 +101,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +diff --git a/libgloss/rs6000/xilinx.ld b/libgloss/rs6000/xilinx.ld +index 75b2a12b6..40a4a1e4b 100644 +--- a/libgloss/rs6000/xilinx.ld ++++ b/libgloss/rs6000/xilinx.ld +@@ -273,6 +273,7 @@ SECTIONS + _end = . ; + end = .; + __end = .; ++ __end__ = .; + .boot 0xFFFFFFFC : { *(.boot) } + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ +diff --git a/libgloss/rs6000/xilinx440.ld b/libgloss/rs6000/xilinx440.ld +index 2c7c5aba4..c1ddf8529 100644 +--- a/libgloss/rs6000/xilinx440.ld ++++ b/libgloss/rs6000/xilinx440.ld +@@ -264,6 +264,7 @@ SECTIONS + _end = . ; + end = .; + __end = .; ++ __end__ = .; + + .boot0 0xFFFFFF00 : { *(.boot0)} + +diff --git a/libgloss/rs6000/yellowknife.ld b/libgloss/rs6000/yellowknife.ld +index 36c30092d..7e54036ed 100644 +--- a/libgloss/rs6000/yellowknife.ld ++++ b/libgloss/rs6000/yellowknife.ld +@@ -113,6 +113,7 @@ SECTIONS + } + _end = . ; + PROVIDE (end = .); ++ PROVIDE (__end__ = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } +diff --git a/newlib/Makefile.in b/newlib/Makefile.in +index 9a32646ab..e5df29f36 100644 +--- a/newlib/Makefile.in ++++ b/newlib/Makefile.in +@@ -596,6 +596,7 @@ check_PROGRAMS = + @HAVE_LIBC_SYS_XTENSA_DIR_TRUE@am__append_64 = libc/sys/xtensa/creat.c libc/sys/xtensa/isatty.c libc/sys/xtensa/clibrary_init.c + @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__append_65 = libc/sys/z8ksim/glue.c + @HAVE_LIBC_MACHINE_AARCH64_TRUE@am__append_66 = \ ++@HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/access.c \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memchr-stub.c \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memchr.S \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memcmp-stub.c \ +@@ -679,7 +680,7 @@ check_PROGRAMS = + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy-stub.c \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/memcpy.S \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen-stub.c \ +-@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/strlen.S ++@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/sync_synchronize.c + + @HAVE_LIBC_MACHINE_BFIN_TRUE@am__append_70 = libc/machine/bfin/setjmp.S libc/machine/bfin/longjmp.S + @HAVE_LIBC_MACHINE_CR16_TRUE@am__append_71 = libc/machine/cr16/setjmp.S libc/machine/cr16/getenv.c +@@ -778,7 +779,9 @@ check_PROGRAMS = + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/misc.c libc/machine/nvptx/clock.c + + @HAVE_LIBC_MACHINE_OR1K_TRUE@am__append_109 = libc/machine/or1k/setjmp.S +-@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_110 = libc/machine/powerpc/setjmp.S ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__append_110 = libc/machine/powerpc/setjmp.S \ ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/access.c + -+#define __cond_signal(NAME) \ -+ __libc_cond_signal(&(NAME)) + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__append_111 = \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfprintf.c \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/vfscanf.c \ +@@ -1860,7 +1863,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_SYS_XTENSA_DIR_TRUE@ libc/sys/xtensa/libc_a-isatty.$(OBJEXT) \ + @HAVE_LIBC_SYS_XTENSA_DIR_TRUE@ libc/sys/xtensa/libc_a-clibrary_init.$(OBJEXT) + @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__objects_76 = libc/sys/z8ksim/libc_a-glue.$(OBJEXT) +-@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_77 = libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ ++@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_77 = libc/machine/aarch64/libc_a-access.$(OBJEXT) \ ++@HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memchr.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memcmp-stub.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memcmp.$(OBJEXT) \ +@@ -1943,7 +1947,7 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy-stub.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-memcpy.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen-stub.$(OBJEXT) \ +-@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-strlen.$(OBJEXT) ++@HAVE_LIBC_MACHINE_ARM_TRUE@ libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT) + @HAVE_LIBC_MACHINE_BFIN_TRUE@am__objects_81 = libc/machine/bfin/libc_a-setjmp.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_BFIN_TRUE@ libc/machine/bfin/libc_a-longjmp.$(OBJEXT) + @HAVE_LIBC_MACHINE_CR16_TRUE@am__objects_82 = libc/machine/cr16/libc_a-setjmp.$(OBJEXT) \ +@@ -2093,7 +2097,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-misc.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_NVPTX_TRUE@ libc/machine/nvptx/libc_a-clock.$(OBJEXT) + @HAVE_LIBC_MACHINE_OR1K_TRUE@am__objects_119 = libc/machine/or1k/libc_a-setjmp.$(OBJEXT) +-@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_120 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@am__objects_120 = libc/machine/powerpc/libc_a-setjmp.$(OBJEXT) \ ++@HAVE_LIBC_MACHINE_POWERPC_TRUE@ libc/machine/powerpc/libc_a-access.$(OBJEXT) + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@am__objects_121 = libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vfscanf.$(OBJEXT) \ + @HAVE_LIBC_MACHINE_POWERPC_TRUE@@HAVE_POWERPC_ALTIVEC_TRUE@ libc/machine/powerpc/libc_a-vec_malloc.$(OBJEXT) \ +@@ -2402,6 +2407,7 @@ am_libc_a_OBJECTS = $(am__objects_1) \ + libc/stdlib/libc_a-strtol.$(OBJEXT) \ + libc/stdlib/libc_a-strtoul.$(OBJEXT) \ + libc/stdlib/libc_a-strtoumax.$(OBJEXT) \ ++ libc/stdlib/libc_a-threads.$(OBJEXT) \ + libc/stdlib/libc_a-utoa.$(OBJEXT) \ + libc/stdlib/libc_a-wcstod.$(OBJEXT) \ + libc/stdlib/libc_a-wcstoimax.$(OBJEXT) \ +@@ -3937,6 +3943,7 @@ pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + shared_machine_dir = @shared_machine_dir@ + sharedstatedir = @sharedstatedir@ +@@ -4087,7 +4094,7 @@ libc_a_SOURCES = $(am__append_5) libc/stdlib/__adjust.c \ + libc/stdlib/sb_charsets.c libc/stdlib/strtod.c \ + libc/stdlib/strtoimax.c libc/stdlib/strtol.c \ + libc/stdlib/strtoul.c libc/stdlib/strtoumax.c \ +- libc/stdlib/utoa.c libc/stdlib/wcstod.c \ ++ libc/stdlib/threads.c libc/stdlib/utoa.c libc/stdlib/wcstod.c \ + libc/stdlib/wcstoimax.c libc/stdlib/wcstol.c \ + libc/stdlib/wcstoul.c libc/stdlib/wcstoumax.c \ + libc/stdlib/wcstombs.c libc/stdlib/wcstombs_r.c \ +@@ -5587,6 +5594,8 @@ libc/stdlib/libc_a-strtoul.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ + libc/stdlib/$(DEPDIR)/$(am__dirstamp) + libc/stdlib/libc_a-strtoumax.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ + libc/stdlib/$(DEPDIR)/$(am__dirstamp) ++libc/stdlib/libc_a-threads.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ ++ libc/stdlib/$(DEPDIR)/$(am__dirstamp) + libc/stdlib/libc_a-utoa.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ + libc/stdlib/$(DEPDIR)/$(am__dirstamp) + libc/stdlib/libc_a-wcstod.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ +@@ -8059,6 +8068,9 @@ libc/machine/aarch64/$(am__dirstamp): + libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) libc/machine/aarch64/$(DEPDIR) + @: > libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) ++libc/machine/aarch64/libc_a-access.$(OBJEXT): \ ++ libc/machine/aarch64/$(am__dirstamp) \ ++ libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) + libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT): \ + libc/machine/aarch64/$(am__dirstamp) \ + libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) +@@ -8326,7 +8338,7 @@ libc/machine/arm/libc_a-memcpy.$(OBJEXT): \ + libc/machine/arm/libc_a-strlen-stub.$(OBJEXT): \ + libc/machine/arm/$(am__dirstamp) \ + libc/machine/arm/$(DEPDIR)/$(am__dirstamp) +-libc/machine/arm/libc_a-strlen.$(OBJEXT): \ ++libc/machine/arm/libc_a-sync_synchronize.$(OBJEXT): \ + libc/machine/arm/$(am__dirstamp) \ + libc/machine/arm/$(DEPDIR)/$(am__dirstamp) + libc/machine/bfin/$(am__dirstamp): +@@ -9001,6 +9013,9 @@ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp): + libc/machine/powerpc/libc_a-setjmp.$(OBJEXT): \ + libc/machine/powerpc/$(am__dirstamp) \ + libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) ++libc/machine/powerpc/libc_a-access.$(OBJEXT): \ ++ libc/machine/powerpc/$(am__dirstamp) \ ++ libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) + libc/machine/powerpc/libc_a-vfprintf.$(OBJEXT): \ + libc/machine/powerpc/$(am__dirstamp) \ + libc/machine/powerpc/$(DEPDIR)/$(am__dirstamp) +@@ -12784,6 +12799,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-nl_langinfo.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-timelocal.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-uselocale.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memchr.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memcmp-stub.Po@am__quote@ +@@ -12867,7 +12883,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strcpy.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen-stub.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-longjmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po@am__quote@ +@@ -13016,6 +13032,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-reallocr.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/nvptx/$(DEPDIR)/libc_a-write.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/or1k/$(DEPDIR)/libc_a-setjmp.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix16.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix32.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/powerpc/$(DEPDIR)/libc_a-atosfix64.Po@am__quote@ +@@ -13658,6 +13675,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-strtoull_r.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-strtoumax.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-system.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-threads.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-utoa.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-valloc.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-vallocr.Po@am__quote@ +@@ -17357,20 +17375,6 @@ libc/machine/arm/libc_a-memcpy.obj: libc/machine/arm/memcpy.S + @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-memcpy.obj `if test -f 'libc/machine/arm/memcpy.S'; then $(CYGPATH_W) 'libc/machine/arm/memcpy.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/memcpy.S'; fi` + +-libc/machine/arm/libc_a-strlen.o: libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/arm/libc_a-strlen.o -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo -c -o libc/machine/arm/libc_a-strlen.o `test -f 'libc/machine/arm/strlen.S' || echo '$(srcdir)/'`libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='libc/machine/arm/strlen.S' object='libc/machine/arm/libc_a-strlen.o' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-strlen.o `test -f 'libc/machine/arm/strlen.S' || echo '$(srcdir)/'`libc/machine/arm/strlen.S +- +-libc/machine/arm/libc_a-strlen.obj: libc/machine/arm/strlen.S +-@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/arm/libc_a-strlen.obj -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo -c -o libc/machine/arm/libc_a-strlen.obj `if test -f 'libc/machine/arm/strlen.S'; then $(CYGPATH_W) 'libc/machine/arm/strlen.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen.S'; fi` +-@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-strlen.Tpo libc/machine/arm/$(DEPDIR)/libc_a-strlen.Po +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='libc/machine/arm/strlen.S' object='libc/machine/arm/libc_a-strlen.obj' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -c -o libc/machine/arm/libc_a-strlen.obj `if test -f 'libc/machine/arm/strlen.S'; then $(CYGPATH_W) 'libc/machine/arm/strlen.S'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen.S'; fi` +- + libc/machine/bfin/libc_a-setjmp.o: libc/machine/bfin/setjmp.S + @am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CCASFLAGS) $(CCASFLAGS) -MT libc/machine/bfin/libc_a-setjmp.o -MD -MP -MF libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo -c -o libc/machine/bfin/libc_a-setjmp.o `test -f 'libc/machine/bfin/setjmp.S' || echo '$(srcdir)/'`libc/machine/bfin/setjmp.S + @am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Tpo libc/machine/bfin/$(DEPDIR)/libc_a-setjmp.Po +@@ -21391,6 +21395,20 @@ libc/stdlib/libc_a-strtoumax.obj: libc/stdlib/strtoumax.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-strtoumax.obj `if test -f 'libc/stdlib/strtoumax.c'; then $(CYGPATH_W) 'libc/stdlib/strtoumax.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/strtoumax.c'; fi` + ++libc/stdlib/libc_a-threads.o: libc/stdlib/threads.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-threads.o -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo -c -o libc/stdlib/libc_a-threads.o `test -f 'libc/stdlib/threads.c' || echo '$(srcdir)/'`libc/stdlib/threads.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo libc/stdlib/$(DEPDIR)/libc_a-threads.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/stdlib/threads.c' object='libc/stdlib/libc_a-threads.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-threads.o `test -f 'libc/stdlib/threads.c' || echo '$(srcdir)/'`libc/stdlib/threads.c + -+#define __cond_broadcast(NAME) \ -+ __libc_cond_broadcast(&(NAME)) ++libc/stdlib/libc_a-threads.obj: libc/stdlib/threads.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-threads.obj -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo -c -o libc/stdlib/libc_a-threads.obj `if test -f 'libc/stdlib/threads.c'; then $(CYGPATH_W) 'libc/stdlib/threads.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/threads.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo libc/stdlib/$(DEPDIR)/libc_a-threads.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/stdlib/threads.c' object='libc/stdlib/libc_a-threads.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-threads.obj `if test -f 'libc/stdlib/threads.c'; then $(CYGPATH_W) 'libc/stdlib/threads.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/threads.c'; fi` + -+#define __cond_wait(NAME, LOCK, TIMEOUT) \ -+ __libc_cond_wait(&(NAME), &(LOCK), (TIMEOUT)) + libc/stdlib/libc_a-utoa.o: libc/stdlib/utoa.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-utoa.o -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-utoa.Tpo -c -o libc/stdlib/libc_a-utoa.o `test -f 'libc/stdlib/utoa.c' || echo '$(srcdir)/'`libc/stdlib/utoa.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-utoa.Tpo libc/stdlib/$(DEPDIR)/libc_a-utoa.Po +@@ -33123,6 +33141,20 @@ libc/sys/z8ksim/libc_a-glue.obj: libc/sys/z8ksim/glue.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/sys/z8ksim/libc_a-glue.obj `if test -f 'libc/sys/z8ksim/glue.c'; then $(CYGPATH_W) 'libc/sys/z8ksim/glue.c'; else $(CYGPATH_W) '$(srcdir)/libc/sys/z8ksim/glue.c'; fi` + ++libc/machine/aarch64/libc_a-access.o: libc/machine/aarch64/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-access.o -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/aarch64/libc_a-access.o `test -f 'libc/machine/aarch64/access.c' || echo '$(srcdir)/'`libc/machine/aarch64/access.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/aarch64/access.c' object='libc/machine/aarch64/libc_a-access.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/aarch64/libc_a-access.o `test -f 'libc/machine/aarch64/access.c' || echo '$(srcdir)/'`libc/machine/aarch64/access.c + -+#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ -+ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) ++libc/machine/aarch64/libc_a-access.obj: libc/machine/aarch64/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-access.obj -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/aarch64/libc_a-access.obj `if test -f 'libc/machine/aarch64/access.c'; then $(CYGPATH_W) 'libc/machine/aarch64/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/aarch64/access.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/aarch64/access.c' object='libc/machine/aarch64/libc_a-access.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/aarch64/libc_a-access.obj `if test -f 'libc/machine/aarch64/access.c'; then $(CYGPATH_W) 'libc/machine/aarch64/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/aarch64/access.c'; fi` + -+#endif // __SYS_LOCK_H__ --- -2.20.1 - - -From 55d724996247633c5b148e7ba8d8f4e0b3604d32 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Wed, 22 Mar 2023 12:26:17 +0000 -Subject: [PATCH 60/83] add cond syscalls - ---- - libgloss/libsysbase/syscall_support.c | 47 +++++++++++++++++++++++++++ - 1 file changed, 47 insertions(+) - -diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c -index 99f2a7822..a76af50ff 100644 ---- a/libgloss/libsysbase/syscall_support.c -+++ b/libgloss/libsysbase/syscall_support.c -@@ -76,6 +76,53 @@ void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { - } - } + libc/machine/aarch64/libc_a-memchr-stub.o: libc/machine/aarch64/memchr-stub.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-memchr-stub.o -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Tpo -c -o libc/machine/aarch64/libc_a-memchr-stub.o `test -f 'libc/machine/aarch64/memchr-stub.c' || echo '$(srcdir)/'`libc/machine/aarch64/memchr-stub.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Po +@@ -33655,6 +33687,20 @@ libc/machine/arm/libc_a-strlen-stub.obj: libc/machine/arm/strlen-stub.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-strlen-stub.obj `if test -f 'libc/machine/arm/strlen-stub.c'; then $(CYGPATH_W) 'libc/machine/arm/strlen-stub.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/strlen-stub.c'; fi` -+int __libc_cond_init(_COND_T *cond) { -+ -+ *cond = __COND_INITIALIZER; ++libc/machine/arm/libc_a-sync_synchronize.o: libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/arm/libc_a-sync_synchronize.o -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo -c -o libc/machine/arm/libc_a-sync_synchronize.o `test -f 'libc/machine/arm/sync_synchronize.c' || echo '$(srcdir)/'`libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/arm/sync_synchronize.c' object='libc/machine/arm/libc_a-sync_synchronize.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-sync_synchronize.o `test -f 'libc/machine/arm/sync_synchronize.c' || echo '$(srcdir)/'`libc/machine/arm/sync_synchronize.c + -+} ++libc/machine/arm/libc_a-sync_synchronize.obj: libc/machine/arm/sync_synchronize.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/arm/libc_a-sync_synchronize.obj -MD -MP -MF libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo -c -o libc/machine/arm/libc_a-sync_synchronize.obj `if test -f 'libc/machine/arm/sync_synchronize.c'; then $(CYGPATH_W) 'libc/machine/arm/sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/sync_synchronize.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Tpo libc/machine/arm/$(DEPDIR)/libc_a-sync_synchronize.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/arm/sync_synchronize.c' object='libc/machine/arm/libc_a-sync_synchronize.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/arm/libc_a-sync_synchronize.obj `if test -f 'libc/machine/arm/sync_synchronize.c'; then $(CYGPATH_W) 'libc/machine/arm/sync_synchronize.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/arm/sync_synchronize.c'; fi` + -+int __libc_cond_signal(_COND_T *cond) { + libc/machine/cr16/libc_a-getenv.o: libc/machine/cr16/getenv.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/cr16/libc_a-getenv.o -MD -MP -MF libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo -c -o libc/machine/cr16/libc_a-getenv.o `test -f 'libc/machine/cr16/getenv.c' || echo '$(srcdir)/'`libc/machine/cr16/getenv.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Tpo libc/machine/cr16/$(DEPDIR)/libc_a-getenv.Po +@@ -34173,6 +34219,20 @@ libc/machine/nvptx/libc_a-clock.obj: libc/machine/nvptx/clock.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/nvptx/libc_a-clock.obj `if test -f 'libc/machine/nvptx/clock.c'; then $(CYGPATH_W) 'libc/machine/nvptx/clock.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/nvptx/clock.c'; fi` + ++libc/machine/powerpc/libc_a-access.o: libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-access.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/powerpc/libc_a-access.o `test -f 'libc/machine/powerpc/access.c' || echo '$(srcdir)/'`libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/powerpc/access.c' object='libc/machine/powerpc/libc_a-access.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/powerpc/libc_a-access.o `test -f 'libc/machine/powerpc/access.c' || echo '$(srcdir)/'`libc/machine/powerpc/access.c + -+ if ( __has_syscall(cond_signal) ) { -+ return __syscall_cond_signal(cond); -+ } ++libc/machine/powerpc/libc_a-access.obj: libc/machine/powerpc/access.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-access.obj -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/powerpc/libc_a-access.obj `if test -f 'libc/machine/powerpc/access.c'; then $(CYGPATH_W) 'libc/machine/powerpc/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/powerpc/access.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-access.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-access.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/powerpc/access.c' object='libc/machine/powerpc/libc_a-access.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/powerpc/libc_a-access.obj `if test -f 'libc/machine/powerpc/access.c'; then $(CYGPATH_W) 'libc/machine/powerpc/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/powerpc/access.c'; fi` + -+ return ENOSYS; + libc/machine/powerpc/libc_a-vfprintf.o: libc/machine/powerpc/vfprintf.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-vfprintf.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo -c -o libc/machine/powerpc/libc_a-vfprintf.o `test -f 'libc/machine/powerpc/vfprintf.c' || echo '$(srcdir)/'`libc/machine/powerpc/vfprintf.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Po +diff --git a/newlib/configure.host b/newlib/configure.host +index 386183466..cc5e33ad7 100644 +--- a/newlib/configure.host ++++ b/newlib/configure.host +@@ -630,13 +630,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + syscall_dir=syscalls + ;; + aarch64*-*-*) ++ default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" ++ default_newlib_io_pos_args="yes" ++ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls + ;; + arc*-*-*) + syscall_dir=syscalls + default_newlib_io_long_long="yes" + ;; ++ arm*-*-eabi) ++ default_newlib_io_c99_formats="yes" ++ default_newlib_io_long_long="yes" ++ default_newlib_io_pos_args="yes" ++ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" ++ syscall_dir=syscalls ++ ;; + arm*-*-pe) + syscall_dir=syscalls + newlib_cflags="${newlib_cflags} -DHAVE_SYSCONF_PAGESIZE" +@@ -809,7 +821,13 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID + default_newlib_io_long_long="yes" + newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" + ;; +- powerpc*-*-eabi* | \ ++ powerpc*-*-eabi*) ++ default_newlib_io_c99_formats="yes" ++ default_newlib_io_long_long="yes" ++ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" ++ syscall_dir=syscalls ++ ;; + powerpc*-*-elf* | \ + powerpc*-*-linux* | \ + powerpc*-*-rtem* | \ +diff --git a/newlib/libc/ctype/jp2uc.c b/newlib/libc/ctype/jp2uc.c +index 5e30f09be..b90a8f4f4 100644 +--- a/newlib/libc/ctype/jp2uc.c ++++ b/newlib/libc/ctype/jp2uc.c +@@ -35,7 +35,7 @@ + #ifdef _MB_CAPABLE + /* Under Cygwin, the incoming wide character is already given in UTF due + to the requirements of the underlying OS. */ +-#ifndef __CYGWIN__ ++#if !defined(__CYGWIN__) && !defined(__DEFAULT_UTF8__) + + #include <_ansi.h> + #include +diff --git a/newlib/libc/ctype/local.h b/newlib/libc/ctype/local.h +index 5c293c83d..0dbfcd7ee 100644 +--- a/newlib/libc/ctype/local.h ++++ b/newlib/libc/ctype/local.h +@@ -32,7 +32,7 @@ + * for towupper and towlower, the result must be back-transformed + into the respective locale encoding; currently NOT IMPLEMENTED + */ +-#ifdef __CYGWIN__ ++#if defined(__CYGWIN__) || defined(__DEFAULT_UTF8__) + /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ + #define _jp2uc(c) (c) + #define _jp2uc_l(c, l) (c) +diff --git a/newlib/libc/include/fnmatch.h b/newlib/libc/include/fnmatch.h +index a94e923a4..9171e98aa 100644 +--- a/newlib/libc/include/fnmatch.h ++++ b/newlib/libc/include/fnmatch.h +@@ -44,6 +44,7 @@ + #if __GNU_VISIBLE + #define FNM_LEADING_DIR 0x08 /* Ignore / after Imatch. */ + #define FNM_CASEFOLD 0x10 /* Case insensitive search. */ ++#define FNM_PREFIX_DIRS 0x20 /* Directory prefixes of pattern match too. */ + #define FNM_IGNORECASE FNM_CASEFOLD + #define FNM_FILE_NAME FNM_PATHNAME + #endif +diff --git a/newlib/libc/include/machine/_threads.h b/newlib/libc/include/machine/_threads.h +new file mode 100755 +index 000000000..a71a5d847 +--- /dev/null ++++ b/newlib/libc/include/machine/_threads.h +@@ -0,0 +1,44 @@ ++/*- ++ * Copyright (c) 2019 fincs ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ */ + -+} ++#ifndef _MACHINE__THREADS_H_ ++#define _MACHINE__THREADS_H_ + -+int __libc_cond_broadcast(_COND_T *cond) { ++#include ++#include + -+ if ( __has_syscall(cond_broadcast) ) { -+ return __syscall_cond_broadcast(cond); -+ } ++#define ONCE_FLAG_INIT PTHREAD_ONCE_INIT ++#define TSS_DTOR_ITERATIONS PTHREAD_DESTRUCTOR_ITERATIONS ++#define _MTX_INITIALIZER_NP PTHREAD_MUTEX_INITIALIZER ++#define _CND_INITIALIZER_NP PTHREAD_COND_INITIALIZER + -+ return ENOSYS; ++typedef pthread_once_t once_flag; ++typedef pthread_key_t tss_t; ++typedef pthread_mutex_t mtx_t; ++typedef pthread_cond_t cnd_t; ++typedef pthread_t thrd_t; + -+} ++#endif +diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h +index 5e92d2662..b12e73d90 100644 +--- a/newlib/libc/include/math.h ++++ b/newlib/libc/include/math.h +@@ -445,7 +445,7 @@ extern float hypotf (float, float); + simply call the double functions. On Cygwin the long double functions + are implemented independently from newlib to be able to use optimized + assembler functions despite using the Microsoft x86_64 ABI. */ +-#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) || \ ++#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) || defined (__DEVKITA64__) || \ + defined(__aarch64__) || defined(__i386__) || defined(__x86_64__) || \ + defined(__riscv) + /* Reentrant ANSI C functions. */ +diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h +index b1dd2a7c4..16e29c037 100644 +--- a/newlib/libc/include/reent.h ++++ b/newlib/libc/include/reent.h +@@ -151,6 +151,7 @@ extern int _mkdir_r (struct _reent *, const char *, int); + extern int _open_r (struct _reent *, const char *, int, int); + extern _ssize_t _read_r (struct _reent *, int, void *, size_t); + extern int _rename_r (struct _reent *, const char *, const char *); ++extern int _rmdir_r (struct _reent *r, const char *name); + extern void *_sbrk_r (struct _reent *, ptrdiff_t); + extern int _stat_r (struct _reent *, const char *, struct stat *); + extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); +diff --git a/newlib/libc/include/semaphore.h b/newlib/libc/include/semaphore.h +new file mode 100755 +index 000000000..4afb0e419 +--- /dev/null ++++ b/newlib/libc/include/semaphore.h +@@ -0,0 +1,69 @@ ++/* ++ * Copyright (c) 2010 David Xu ++ * ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice unmodified, this list of conditions, and the following ++ * disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ * $FreeBSD: head/include/semaphore.h 314424 2017-02-28 21:47:00Z vangyzen $ ++ */ + -+int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns) { ++/* semaphore.h: POSIX 1003.1b semaphores */ + -+ if ( __has_syscall(cond_wait) ) { -+ return __syscall_cond_wait(cond, lock, timeout_ns); -+ } ++#ifndef _SEMAPHORE_H_ ++#define _SEMAPHORE_H_ + -+ return ENOSYS; ++#include + -+} ++#if defined(_POSIX_SEMAPHORES) + -+int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns) { ++#include ++#include ++#include ++#include ++#include + -+ if ( __has_syscall(cond_wait_recursive) ) { -+ return __syscall_cond_wait_recursive(cond, lock, timeout_ns); -+ } ++typedef struct { ++ _LOCK_T lock; ++ _COND_T cond; ++ int value; ++} sem_t; + -+ return ENOSYS; ++#define SEM_VALUE_MAX INT_MAX ++#define SEM_FAILED ((sem_t *)0) + -+} ++__BEGIN_DECLS ++int sem_close(sem_t *); ++int sem_destroy(sem_t *); ++int sem_getvalue(sem_t * __restrict, int * __restrict); ++int sem_init(sem_t *, int, unsigned int); ++sem_t *sem_open(const char *, int, ...); ++int sem_post(sem_t *); ++int sem_timedwait(sem_t * __restrict, const struct timespec * __restrict); ++int sem_trywait(sem_t *); ++int sem_unlink(const char *); ++int sem_wait(sem_t *); ++__END_DECLS + ++#endif /* defined(_POSIX_SEMAPHORES) */ + - #ifdef CUSTOM_MALLOC_LOCK ++#endif /* !_SEMAPHORE_H_ */ +diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h +index 75e9e1cbf..dc63dbe6a 100644 +--- a/newlib/libc/include/sys/_pthreadtypes.h ++++ b/newlib/libc/include/sys/_pthreadtypes.h +@@ -18,19 +18,18 @@ + #ifndef _SYS__PTHREADTYPES_H_ + #define _SYS__PTHREADTYPES_H_ - void __malloc_lock( struct _reent *ptr ) { --- -2.20.1 - - -From 62e1eb45d4bce40aee0bd5620402c4fbc0ab1307 Mon Sep 17 00:00:00 2001 -From: fincs -Date: Fri, 8 Mar 2019 19:18:39 +0100 -Subject: [PATCH 61/83] Expose math.h long double function prototypes (needed - by libstdc++) - ---- - newlib/libc/include/math.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h -index 54e30ef82..3a77345e2 100644 ---- a/newlib/libc/include/math.h -+++ b/newlib/libc/include/math.h -@@ -445,7 +445,7 @@ extern float hypotf (float, float); - simply call the double functions. On Cygwin the long double functions - are implemented independently from newlib to be able to use optimized - assembler functions despite using the Microsoft x86_64 ABI. */ --#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) -+#if defined (_LDBL_EQ_DBL) || defined (__CYGWIN__) || defined (__DEVKITA64__) - /* Reentrant ANSI C functions. */ - #ifndef __math_68881 - extern long double atanl (long double); --- -2.20.1 - - -From b64664c24609b1e93093da2e13727d4b24bd80cd Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 24 Mar 2023 17:26:50 +0000 -Subject: [PATCH 62/83] add devkitA64 defines - ---- - newlib/configure.host | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/newlib/configure.host b/newlib/configure.host -index 25722d004..66ccbec57 100644 ---- a/newlib/configure.host -+++ b/newlib/configure.host -@@ -620,7 +620,11 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID - syscall_dir=syscalls - ;; - aarch64*-*-*) -+ default_newlib_io_c99_formats="yes" - default_newlib_io_long_long="yes" -+ default_newlib_io_pos_args="yes" -+ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" -+ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" - syscall_dir=syscalls - ;; - arc*-*-*) --- -2.20.1 - - -From 18b8adf7f652f9ccc4af37ef2c4a72e9b5496106 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 24 Mar 2023 17:49:26 +0000 -Subject: [PATCH 63/83] add devkitA64 dirent.h - ---- - newlib/libc/machine/aarch64/sys/dirent.h | 58 ++++++++++++++++++++++++ - 1 file changed, 58 insertions(+) - create mode 100644 newlib/libc/machine/aarch64/sys/dirent.h - -diff --git a/newlib/libc/machine/aarch64/sys/dirent.h b/newlib/libc/machine/aarch64/sys/dirent.h -new file mode 100644 -index 000000000..2aaca6080 ---- /dev/null -+++ b/newlib/libc/machine/aarch64/sys/dirent.h -@@ -0,0 +1,58 @@ -+#ifndef _dirent_h_ -+#define _dirent_h_ -+ -+#define _DIRENT_HAVE_D_TYPE ++#include + -+#include -+#include -+#include + #if defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 + + #include ++#include + + /* + * 2.5 Primitive System Data Types, P1003.1c/D10, p. 19. + */ + +-#if defined(__XMK__) +-typedef unsigned int pthread_t; /* identify a thread */ +-#else +-typedef __uint32_t pthread_t; /* identify a thread */ +-#endif ++typedef struct __pthread_t *pthread_t; /* identify a thread */ + + /* P1003.1c/D10, p. 118-119 */ + #define PTHREAD_SCOPE_PROCESS 0 +@@ -46,25 +45,14 @@ typedef __uint32_t pthread_t; /* identify a thread */ + #define PTHREAD_CREATE_DETACHED 0 + #define PTHREAD_CREATE_JOINABLE 1 + +-#if defined(__XMK__) +-typedef struct pthread_attr_s { +- int contentionscope; +- struct sched_param schedparam; +- int detachstate; +- void *stackaddr; +- size_t stacksize; +-} pthread_attr_t; +- +-#define PTHREAD_STACK_MIN 200 +- +-#else /* !defined(__XMK__) */ + typedef struct { +- int is_initialized; + void *stackaddr; + int stacksize; ++#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) + int contentionscope; + int inheritsched; + int schedpolicy; ++#endif + struct sched_param schedparam; + + /* P1003.4b/D8, p. 54 adds cputime_clock_allowed attribute. */ +@@ -74,8 +62,6 @@ typedef struct { + int detachstate; + } pthread_attr_t; + +-#endif /* !defined(__XMK__) */ +- + #if defined(_POSIX_THREAD_PROCESS_SHARED) + /* NOTE: P1003.1c/D10, p. 81 defines following values for process_shared. */ + +@@ -143,18 +129,15 @@ typedef struct { + + #endif /* !defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES) */ + +-#if defined(__XMK__) +-typedef unsigned int pthread_mutex_t; /* identify a mutex */ +- + typedef struct { + int type; +-} pthread_mutexattr_t; +- +-#else /* !defined(__XMK__) */ +-typedef __uint32_t pthread_mutex_t; /* identify a mutex */ ++ union { ++ _LOCK_T normal; ++ _LOCK_RECURSIVE_T recursive; ++ }; ++} pthread_mutex_t; /* identify a mutex */ + + typedef struct { +- int is_initialized; + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow mutex to be shared amongst processes */ + #endif +@@ -163,23 +146,25 @@ typedef struct { + int protocol; + #endif + #if defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES) +- int type; ++ int type; + #endif +- int recursive; + } pthread_mutexattr_t; +-#endif /* !defined(__XMK__) */ + +-#define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t) 0xFFFFFFFF) ++#define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t){ PTHREAD_MUTEX_NORMAL, { .normal = __LOCK_INITIALIZER } }) ++#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP ((pthread_mutex_t){ PTHREAD_MUTEX_RECURSIVE, { .recursive = __LOCK_INITIALIZER_RECURSIVE } }) ++#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP + + /* Condition Variables */ + +-typedef __uint32_t pthread_cond_t; /* identify a condition variable */ ++typedef struct { ++ clockid_t clock_id; ++ _COND_T cond; ++} pthread_cond_t; /* identify a condition variable */ + +-#define _PTHREAD_COND_INITIALIZER ((pthread_cond_t) 0xFFFFFFFF) ++#define _PTHREAD_COND_INITIALIZER ((pthread_cond_t){ CLOCK_REALTIME, __COND_INITIALIZER }) + + typedef struct { +- int is_initialized; +- clock_t clock; /* specifiy clock for timeouts */ ++ clockid_t clock_id; /* specifiy clock for timeouts */ + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow this to be shared amongst processes */ + #endif +@@ -190,19 +175,23 @@ typedef struct { + typedef __uint32_t pthread_key_t; /* thread-specific data keys */ + + typedef struct { +- int is_initialized; /* is this structure initialized? */ +- int init_executed; /* has the initialization routine been run? */ ++ int status; /* 0 = init not run, 1 = init running, 2 = init finished */ + } pthread_once_t; /* dynamic package initialization */ + +-#define _PTHREAD_ONCE_INIT { 1, 0 } /* is initialized and not run */ ++#define _PTHREAD_ONCE_INIT { 0 } /* not run */ + #endif /* defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 */ + + /* POSIX Barrier Types */ + + #if defined(_POSIX_BARRIERS) +-typedef __uint32_t pthread_barrier_t; /* POSIX Barrier Object */ + typedef struct { +- int is_initialized; /* is this structure initialized? */ ++ _LOCK_T lock; ++ _COND_T cond; ++ unsigned reload; ++ unsigned counter; ++ unsigned cycle; ++} pthread_barrier_t; /* POSIX Barrier Object */ ++typedef struct { + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow this to be shared amongst processes */ + #endif +@@ -218,12 +207,17 @@ typedef __uint32_t pthread_spinlock_t; /* POSIX Spin Lock Object */ + /* POSIX Reader/Writer Lock Types */ + + #if defined(_POSIX_READER_WRITER_LOCKS) +-typedef __uint32_t pthread_rwlock_t; /* POSIX RWLock Object */ ++typedef struct { ++ _LOCK_T lock; ++ _COND_T cond_r; ++ _COND_T cond_w; ++ uint32_t cnt_r : 30; ++ uint32_t cnt_w : 2; ++} pthread_rwlock_t; /* POSIX RWLock Object */ + +-#define _PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t) 0xFFFFFFFF) ++#define _PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t){ __LOCK_INITIALIZER, __COND_INITIALIZER, __COND_INITIALIZER, 0, 0 }) + + typedef struct { +- int is_initialized; /* is this structure initialized? */ + #if defined(_POSIX_THREAD_PROCESS_SHARED) + int process_shared; /* allow this to be shared amongst processes */ + #endif +diff --git a/newlib/libc/include/sys/_timespec.h b/newlib/libc/include/sys/_timespec.h +index f810b008f..ca7e11dc7 100644 +--- a/newlib/libc/include/sys/_timespec.h ++++ b/newlib/libc/include/sys/_timespec.h +@@ -49,4 +49,10 @@ struct timespec { + long tv_nsec; /* and nanoseconds */ + }; + ++__uint64_t ++timespec2nsec(const struct timespec *__restrict ts); + -+#define DT_UNKNOWN 0 -+#define DT_FIFO 1 -+#define DT_CHR 2 -+#define DT_DIR 4 -+#define DT_BLK 6 -+#define DT_REG 8 -+#define DT_LNK 10 -+#define DT_SOCK 12 -+#define DT_WHT 14 ++__uint64_t ++abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts); + -+#ifdef __cplusplus -+extern "C" { + #endif /* !_SYS__TIMESPEC_H_ */ +diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h +index 5dcc77a80..6930a751d 100644 +--- a/newlib/libc/include/sys/config.h ++++ b/newlib/libc/include/sys/config.h +@@ -4,8 +4,19 @@ + #include /* floating point macros */ + #include /* POSIX defs */ + +-#ifdef __aarch64__ ++#ifdef __DEVKITARM__ ++#define __DYNAMIC_REENT__ +#endif + -+struct dirent { -+ ino_t d_ino; -+ unsigned char d_type; -+ char d_name[NAME_MAX+1]; -+}; -+ -+typedef struct { -+ long int position; -+ DIR_ITER* dirData; -+ struct dirent fileData; -+} DIR; -+ -+int closedir(DIR *dirp); -+DIR *opendir(const char *dirname); -+struct dirent *readdir(DIR *dirp); -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -+void rewinddir(DIR *dirp); -+void seekdir(DIR *dirp, long int loc); -+long int telldir(DIR *dirp); ++#ifdef __DEVKITA64__ + #define MALLOC_ALIGNMENT 16 ++#define __DYNAMIC_REENT__ ++#endif + -+int scandir(const char *dirp, struct dirent ***namelist, -+int (*filter)(const struct dirent *), -+int (*compar)(const struct dirent **, const struct dirent **)); ++#ifdef __DEVKITPPC__ ++#define __BUFSIZ__ 32768 ++#define MALLOC_ALIGNMENT 64 ++#define __DYNAMIC_REENT__ + #endif + + #ifdef __AMDGCN__ +diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h +index a7d4bc52d..a04f13544 100644 +--- a/newlib/libc/include/sys/features.h ++++ b/newlib/libc/include/sys/features.h +@@ -344,6 +344,17 @@ extern "C" { + # define __SSP_FORTIFY_LEVEL 0 + #endif + ++//#ifdef __DEVKITA64__ ++#define _POSIX_MONOTONIC_CLOCK 200112L ++#define _POSIX_TIMERS 1 ++#define _POSIX_THREADS 1 ++#define _POSIX_SEMAPHORES 1 ++#define _POSIX_BARRIERS 200112L ++#define _POSIX_READER_WRITER_LOCKS 200112L ++#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 ++//#endif + -+int alphasort(const struct dirent **a, const struct dirent **b); + -+/* Convert between stat structure types and directory types. */ -+# define IFTODT(mode) (((mode) & 0170000) >> 12) -+# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) + /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ + + #ifdef __rtems__ +diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h +new file mode 100644 +index 000000000..335014a4b +--- /dev/null ++++ b/newlib/libc/include/sys/iosupport.h +@@ -0,0 +1,140 @@ ++//--------------------------------------------------------------------------------- ++#ifndef __iosupp_h__ ++#define __iosupp_h__ ++//--------------------------------------------------------------------------------- + +#ifdef __cplusplus -+} ++extern "C" { +#endif + -+#endif // _dirent_h_ --- -2.20.1 - - -From bb95d756f3d17c90ab2dc388c8fa9d536ea6b353 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 24 Mar 2023 17:31:16 +0000 -Subject: [PATCH 64/83] Add basic pthread support to libsysbase - ---- - libgloss/libsysbase/Makefile.inc | 1 + - libgloss/libsysbase/pthread.c | 614 ++++++++++++++++++++++++ - libgloss/libsysbase/syscall_support.c | 39 ++ - newlib/libc/include/sys/_pthreadtypes.h | 60 +-- - newlib/libc/include/sys/_timespec.h | 6 + - newlib/libc/include/sys/features.h | 4 + - newlib/libc/include/sys/iosupport.h | 15 + - 7 files changed, 700 insertions(+), 39 deletions(-) - create mode 100755 libgloss/libsysbase/pthread.c - -diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc -index 2030c24d2..8ad8925ea 100644 ---- a/libgloss/libsysbase/Makefile.inc -+++ b/libgloss/libsysbase/Makefile.inc -@@ -34,6 +34,7 @@ multilibtool_LIBRARIES += %D%/libsysbase.a - %D%/lstat.c \ - %D%/malloc_vars.c \ - %D%/mkdir.c \ -+ %D%/pthread.c \ - %D%/nanosleep.c \ - %D%/open.c \ - %D%/pathconf.c \ -diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c -new file mode 100755 -index 000000000..bab01be34 ---- /dev/null -+++ b/libgloss/libsysbase/pthread.c -@@ -0,0 +1,614 @@ -+#include -+#include -+#include -+#include ++#include ++#include ++#include +#include -+#include -+ -+int -+pthread_atfork (void (*prepare)(void), void (*parent)(void), void (*child)(void)) -+{ -+ return ENOSYS; // Unsupported -+} -+ -+//----------------------------------------------------------------------------- -+// Mutex attributes -+//----------------------------------------------------------------------------- -+ -+int -+pthread_mutexattr_init (pthread_mutexattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ __attr->type = PTHREAD_MUTEX_NORMAL; -+ return 0; -+} -+ -+int -+pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ return 0; -+} -+ -+int -+pthread_mutexattr_getpshared (const pthread_mutexattr_t *__attr, int *__pshared) -+{ -+ return ENOSYS; -+} -+ -+int -+pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, int __pshared) -+{ -+ return ENOSYS; -+} -+ -+int -+pthread_mutexattr_gettype (const pthread_mutexattr_t *__attr, int *__kind) -+{ -+ if (!__attr || !__kind) -+ return EINVAL; -+ *__kind = __attr->type; -+ return 0; -+} -+ -+int -+pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) -+{ -+ if (!__attr) -+ return EINVAL; -+ __attr->type = __kind; -+ return 0; -+} -+ -+//----------------------------------------------------------------------------- -+// Mutex -+//----------------------------------------------------------------------------- -+ -+int -+pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__attr) -+{ -+ pthread_mutexattr_t __default; -+ if (!__attr) { -+ pthread_mutexattr_init(&__default); -+ __attr = &__default; -+ } -+ if (!__mutex) -+ return EINVAL; ++#include + -+ __mutex->type = __attr->type; -+ switch (__mutex->type) { -+ case PTHREAD_MUTEX_NORMAL: -+ case PTHREAD_MUTEX_ERRORCHECK: -+ case PTHREAD_MUTEX_DEFAULT: -+ __lock_init(__mutex->normal); -+ break; -+ case PTHREAD_MUTEX_RECURSIVE: -+ __lock_init_recursive(__mutex->recursive); -+ break; -+ default: -+ return EINVAL; -+ } ++enum { ++ STD_IN, ++ STD_OUT, ++ STD_ERR, ++ STD_MAX = 35 ++}; + -+ return 0; -+} + -+int -+pthread_mutex_destroy (pthread_mutex_t *__mutex) -+{ -+ if (!__mutex) -+ return EINVAL; -+ return 0; -+} ++typedef struct { ++ unsigned int device; ++ unsigned int refcount; ++ void *fileStruct; ++} __handle; + -+int -+pthread_mutex_lock (pthread_mutex_t *__mutex) -+{ -+ if (!__mutex) -+ return EINVAL; ++/* Directory iterator for mantaining state between dir* calls */ ++typedef struct { ++ int device; ++ void *dirStruct; ++} DIR_ITER; + -+ switch (__mutex->type) { -+ case PTHREAD_MUTEX_NORMAL: -+ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check -+ case PTHREAD_MUTEX_DEFAULT: -+ __lock_acquire(__mutex->normal); -+ break; -+ case PTHREAD_MUTEX_RECURSIVE: -+ __lock_acquire_recursive(__mutex->recursive); -+ break; -+ default: -+ return EINVAL; -+ } ++typedef struct { ++ const char *name; ++ size_t structSize; ++ int (*open_r)(struct _reent *r, void *fileStruct, const char *path, int flags, int mode); ++ int (*close_r)(struct _reent *r, void *fd); ++ ssize_t (*write_r)(struct _reent *r, void *fd, const char *ptr, size_t len); ++ ssize_t (*read_r)(struct _reent *r, void *fd, char *ptr, size_t len); ++ off_t (*seek_r)(struct _reent *r, void *fd, off_t pos, int dir); ++ int (*fstat_r)(struct _reent *r, void *fd, struct stat *st); ++ int (*stat_r)(struct _reent *r, const char *file, struct stat *st); ++ int (*link_r)(struct _reent *r, const char *existing, const char *newLink); ++ int (*unlink_r)(struct _reent *r, const char *name); ++ int (*chdir_r)(struct _reent *r, const char *name); ++ int (*rename_r) (struct _reent *r, const char *oldName, const char *newName); ++ int (*mkdir_r) (struct _reent *r, const char *path, int mode); + -+ return 0; -+} ++ size_t dirStateSize; + -+int -+pthread_mutex_trylock (pthread_mutex_t *__mutex) -+{ -+ if (!__mutex) -+ return EINVAL; ++ DIR_ITER* (*diropen_r)(struct _reent *r, DIR_ITER *dirState, const char *path); ++ int (*dirreset_r)(struct _reent *r, DIR_ITER *dirState); ++ int (*dirnext_r)(struct _reent *r, DIR_ITER *dirState, char *filename, struct stat *filestat); ++ int (*dirclose_r)(struct _reent *r, DIR_ITER *dirState); ++ int (*statvfs_r)(struct _reent *r, const char *path, struct statvfs *buf); ++ int (*ftruncate_r)(struct _reent *r, void *fd, off_t len); ++ int (*fsync_r)(struct _reent *r, void *fd); + -+ int rc = 0; -+ switch (__mutex->type) { -+ case PTHREAD_MUTEX_NORMAL: -+ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check -+ case PTHREAD_MUTEX_DEFAULT: -+ rc = __lock_try_acquire(__mutex->normal); -+ break; -+ case PTHREAD_MUTEX_RECURSIVE: -+ rc = __lock_try_acquire_recursive(__mutex->recursive); -+ break; -+ default: -+ return EINVAL; -+ } ++ void *deviceData; + -+ if (rc) -+ return EBUSY; -+ return 0; -+} ++ int (*chmod_r)(struct _reent *r, const char *path, mode_t mode); ++ int (*fchmod_r)(struct _reent *r, void *fd, mode_t mode); ++ int (*rmdir_r)(struct _reent *r, const char *name); ++ int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); ++ int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); + -+int -+pthread_mutex_unlock (pthread_mutex_t *__mutex) -+{ -+ if (!__mutex) -+ return EINVAL; ++ long (*fpathconf_r)(struct _reent *r, void *fd, int name); ++ long (*pathconf_r)(struct _reent *r, const char *path, int name); + -+ switch (__mutex->type) { -+ case PTHREAD_MUTEX_NORMAL: -+ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check -+ case PTHREAD_MUTEX_DEFAULT: -+ __lock_release(__mutex->normal); -+ break; -+ case PTHREAD_MUTEX_RECURSIVE: -+ __lock_release_recursive(__mutex->recursive); -+ break; -+ default: -+ return EINVAL; -+ } ++ int (*symlink_r)(struct _reent *r, const char *target, const char *linkpath); ++ ssize_t (*readlink_r)(struct _reent *r, const char *path, char *buf, size_t bufsiz); + -+ return 0; -+} ++} devoptab_t; + -+//----------------------------------------------------------------------------- -+// Condition variable attributes -+//----------------------------------------------------------------------------- ++extern const devoptab_t *devoptab_list[]; + -+int -+pthread_condattr_init (pthread_condattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ __attr->clock_id = CLOCK_REALTIME; -+ return 0; -+} ++#ifdef _BUILDING_LIBSYSBASE ++#define __SYSCALL(_name) __attribute__((weak)) __syscall_##_name ++#define __has_syscall(_name) (&__syscall_##_name) ++#else ++#define __SYSCALL(_name) __syscall_##_name ++#endif + -+int -+pthread_condattr_destroy (pthread_condattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ return 0; -+} ++void __SYSCALL(exit) ( int rc ); ++int __SYSCALL(gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); ++void __SYSCALL(lock_init) (_LOCK_T *lock); ++void __SYSCALL(lock_acquire) (_LOCK_T *lock); ++int __SYSCALL(lock_try_acquire) (_LOCK_T *lock); ++void __SYSCALL(lock_release) (_LOCK_T *lock); ++void __SYSCALL(lock_close) (_LOCK_T *lock); ++void __SYSCALL(lock_init_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_acquire_recursive) (_LOCK_RECURSIVE_T *lock); ++int __SYSCALL(lock_try_acquire_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_release_recursive) (_LOCK_RECURSIVE_T *lock); ++void __SYSCALL(lock_close_recursive) (_LOCK_RECURSIVE_T *lock); + -+int -+pthread_condattr_getclock (const pthread_condattr_t *__restrict __attr, clockid_t *__restrict __clock_id) -+{ -+ if (!__attr || !__clock_id) -+ return EINVAL; -+ *__clock_id = __attr->clock_id; -+ return 0; -+} ++int __SYSCALL(cond_signal)(_COND_T *cond); ++int __SYSCALL(cond_broadcast)(_COND_T *cond); ++int __SYSCALL(cond_wait)(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); ++int __SYSCALL(cond_wait_recursive)(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); ++int __SYSCALL(thread_create)(struct __pthread_t **thread, void* (*func)(void*), void *arg, void *stack_addr, size_t stack_size); ++void*__SYSCALL(thread_join)(struct __pthread_t *thread); ++int __SYSCALL(thread_detach)(struct __pthread_t *thread); ++void __SYSCALL(thread_exit)(void *value); ++struct __pthread_t *__SYSCALL(thread_self)(void); ++int __SYSCALL(tls_create)(uint32_t *key, void (*destructor)(void*)); ++int __SYSCALL(tls_set)(uint32_t key, const void *value); ++void*__SYSCALL(tls_get)(uint32_t key); ++int __SYSCALL(tls_delete)(uint32_t key); + -+int -+pthread_condattr_setclock (pthread_condattr_t *__attr, clockid_t __clock_id) -+{ -+ if (!__attr) -+ return EINVAL; -+ __attr->clock_id = __clock_id; -+ return 0; -+} ++struct _reent * __SYSCALL(getreent) (); ++int __SYSCALL(clock_gettime) (clockid_t clock_id, struct timespec *tp); ++int __SYSCALL(clock_settime) (clockid_t clock_id, const struct timespec *tp); ++int __SYSCALL(clock_getres) (clockid_t clock_id, struct timespec *res); ++int __SYSCALL(nanosleep) (const struct timespec *req, struct timespec *rem); + -+int -+pthread_condattr_getpshared (const pthread_condattr_t *__attr, int *__pshared) -+{ -+ return ENOSYS; -+} ++void __SYSCALL(malloc_lock) (struct _reent *ptr); ++void __SYSCALL(malloc_unlock) (struct _reent *ptr); + -+int -+pthread_condattr_setpshared (pthread_condattr_t *__attr, int __pshared) -+{ -+ return ENOSYS; -+} ++int AddDevice( const devoptab_t* device); ++int FindDevice(const char* name); ++int RemoveDevice(const char* name); ++void setDefaultDevice( int device ); + -+//----------------------------------------------------------------------------- -+// Condition variable -+//----------------------------------------------------------------------------- ++const devoptab_t* GetDeviceOpTab (const char *name); + -+int -+pthread_cond_init (pthread_cond_t *__cond, const pthread_condattr_t *__attr) -+{ -+ pthread_condattr_t __default; -+ if (!__attr) { -+ pthread_condattr_init(&__default); -+ __attr = &__default; -+ } -+ if (!__cond) -+ return EINVAL; ++void __release_handle(int fd); ++int __alloc_handle(int device); ++__handle *__get_handle(int fd); + -+ __cond->clock_id = __attr->clock_id; -+ return __cond_init(__cond->cond); ++#ifdef __cplusplus +} ++#endif + -+int -+pthread_cond_destroy (pthread_cond_t *__cond) -+{ -+ if (!__cond) -+ return EINVAL; -+ return 0; -+} ++//--------------------------------------------------------------------------------- ++#endif // __iosupp_h__ ++//--------------------------------------------------------------------------------- +diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h +index 9a6f115a6..142e71d35 100644 +--- a/newlib/libc/include/sys/param.h ++++ b/newlib/libc/include/sys/param.h +@@ -19,9 +19,6 @@ + #ifndef NOFILE + # define NOFILE (60) + #endif +-#ifndef PATHSIZE +-# define PATHSIZE (1024) +-#endif + + #define MAXPATHLEN PATH_MAX + +diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h +index a02e7c2bd..61de73f88 100644 +--- a/newlib/libc/include/sys/reent.h ++++ b/newlib/libc/include/sys/reent.h +@@ -420,6 +420,8 @@ struct _reent + __FILE *__sf; /* file descriptors */ + struct _misc_reent *_misc; /* strtok, multibyte states */ + char *_signal_buf; /* strsignal */ + -+int -+pthread_cond_signal (pthread_cond_t *__cond) -+{ -+ if (!__cond) -+ return EINVAL; -+ return __cond_signal(__cond->cond); -+} ++ void *deviceData; + }; + + # define _REENT_INIT(var) \ +@@ -648,6 +650,8 @@ struct _reent + + /* signal info */ + void (**_sig_func)(int); + -+int -+pthread_cond_broadcast (pthread_cond_t *__cond) -+{ -+ if (!__cond) -+ return EINVAL; -+ return __cond_broadcast(__cond->cond); -+} ++ void *deviceData; + }; + + #define _REENT_INIT(var) \ +diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h +index 98f5addb4..dbdfc416e 100644 +--- a/newlib/libc/include/sys/stat.h ++++ b/newlib/libc/include/sys/stat.h +@@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); + int stat (const char *__restrict __path, struct stat *__restrict __sbuf ); + mode_t umask (mode_t __mask ); + +-#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) + int lstat (const char *__restrict __path, struct stat *__restrict __buf ); + -+static int -+__pthread_cond_wait_common (pthread_cond_t *__cond, pthread_mutex_t *__mutex, uint64_t timeout_ns) -+{ -+ switch (__mutex->type) { -+ case PTHREAD_MUTEX_NORMAL: -+ case PTHREAD_MUTEX_ERRORCHECK: // todo: error check -+ case PTHREAD_MUTEX_DEFAULT: -+ return __cond_wait(__cond->cond, __mutex->normal, timeout_ns); -+ case PTHREAD_MUTEX_RECURSIVE: -+ return __cond_wait_recursive(__cond->cond, __mutex->recursive, timeout_ns); -+ default: -+ return EINVAL; -+ } -+} ++#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) + int mknod (const char *__path, mode_t __mode, dev_t __dev ); + #endif + +diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h +new file mode 100644 +index 000000000..380329d34 +--- /dev/null ++++ b/newlib/libc/include/sys/statvfs.h +@@ -0,0 +1,35 @@ ++#ifndef _SYS_STATVFS_H ++#define _SYS_STATVFS_H + -+int -+pthread_cond_wait (pthread_cond_t *__cond, pthread_mutex_t *__mutex) -+{ -+ if (!__cond || !__mutex) -+ return EINVAL; -+ return __pthread_cond_wait_common(__cond, __mutex, UINT64_MAX); -+} + -+int -+pthread_cond_timedwait (pthread_cond_t *__cond, pthread_mutex_t *__mutex, const struct timespec *__abstime) -+{ -+ if (!__cond || !__mutex || !__abstime) -+ return EINVAL; -+ return __pthread_cond_wait_common(__cond, __mutex, abstimespec2nsec(__cond->clock_id, __abstime)); -+} ++#define ST_RDONLY 0x0001 ++#define ST_NOSUID 0x0002 + -+//----------------------------------------------------------------------------- -+// Thread attributes -+//----------------------------------------------------------------------------- ++#ifdef __cplusplus ++extern "C" { ++#endif + -+int -+pthread_attr_setschedparam (pthread_attr_t *__attr, const struct sched_param *__param) -+{ -+ if (!__attr || !__param) -+ return EINVAL; -+ __attr->schedparam = *__param; -+ return 0; -+} ++#include + -+int -+pthread_attr_getschedparam (const pthread_attr_t *__attr, struct sched_param *__param) -+{ -+ if (!__attr || !__param) -+ return EINVAL; -+ *__param = __attr->schedparam; -+ return 0; -+} ++struct statvfs { ++ unsigned long f_bsize; ++ unsigned long f_frsize; ++ fsblkcnt_t f_blocks; ++ fsblkcnt_t f_bfree; ++ fsblkcnt_t f_bavail; ++ fsfilcnt_t f_files; ++ fsfilcnt_t f_ffree; ++ fsfilcnt_t f_favail; ++ unsigned long f_fsid; ++ unsigned long f_flag; ++ unsigned long f_namemax; ++}; + -+int -+pthread_attr_init (pthread_attr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ memset(__attr, 0, sizeof(*__attr)); -+ return 0; -+} ++int statvfs(const char *path, struct statvfs *buf); + -+int -+pthread_attr_destroy (pthread_attr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ return 0; ++#ifdef __cplusplus +} ++#endif + -+int -+pthread_attr_setstack (pthread_attr_t *attr, void *__stackaddr, size_t __stacksize) -+{ -+ if (!attr || !__stackaddr || !__stacksize) -+ return EINVAL; -+ attr->stackaddr = __stackaddr; -+ attr->stacksize = __stacksize; -+ return 0; -+} + -+int -+pthread_attr_getstack (const pthread_attr_t *attr, void **__stackaddr, size_t *__stacksize) -+{ -+ if (!attr || !__stackaddr || !__stacksize) -+ return EINVAL; -+ *__stackaddr = attr->stackaddr; -+ *__stacksize = attr->stacksize; -+ return 0; -+} ++#endif // _SYS_STATVFS_H +\ No newline at end of file +diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h +index c872d2018..b3800187f 100644 +--- a/newlib/libc/include/sys/syslimits.h ++++ b/newlib/libc/include/sys/syslimits.h +@@ -58,4 +58,6 @@ + #define LINE_MAX 2048 /* max bytes in an input line */ + #define RE_DUP_MAX 255 /* max RE's in interval notation */ + ++#define PTHREAD_DESTRUCTOR_ITERATIONS 1 /* max attempts to destroy TLS values on thread exit */ + -+int -+pthread_attr_getstacksize (const pthread_attr_t *__attr, size_t *__stacksize) -+{ -+ if (!__attr || !__stacksize) -+ return EINVAL; -+ *__stacksize = __attr->stacksize; -+ return 0; -+} + #endif +diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h +index 5e937f103..b7b4de67d 100644 +--- a/newlib/libc/include/sys/utime.h ++++ b/newlib/libc/include/sys/utime.h +@@ -15,6 +15,13 @@ struct utimbuf + time_t modtime; + }; + ++/* Functions */ + -+int -+pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize) -+{ -+ if (!__attr || !__stacksize) -+ return EINVAL; -+ __attr->stacksize = __stacksize; -+ return 0; -+} ++int utime( ++ const char *path, ++ const struct utimbuf *times ++); + -+int -+pthread_attr_getstackaddr (const pthread_attr_t *__attr, void **__stackaddr) -+{ -+ if (!__attr || !__stackaddr) -+ return EINVAL; -+ *__stackaddr = __attr->stackaddr; -+ return 0; -+} + #ifdef __cplusplus + }; + #endif +diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c +index b16ec1511..655e01366 100644 +--- a/newlib/libc/locale/locale.c ++++ b/newlib/libc/locale/locale.c +@@ -198,7 +198,11 @@ static char *categories[_LC_LAST] = { + * Default locale per POSIX. Can be overridden on a per-target base. + */ + #ifndef DEFAULT_LOCALE +-#define DEFAULT_LOCALE "C" ++#ifdef __DEFAULT_UTF8__ ++#define DEFAULT_LOCALE "C.UTF-8" ++#else ++#define DEFAULT_LOCALE "C" ++#endif + #endif + + #ifdef _MB_CAPABLE +@@ -211,8 +215,13 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE; + const struct __locale_t __C_locale = + { + { "C", "C", "C", "C", "C", "C", "C", }, ++#if defined ( __DEFAULT_UTF8__ ) ++ __utf8_wctomb, ++ __utf8_mbtowc, ++#else + __ascii_wctomb, + __ascii_mbtowc, ++#endif + 0, + DEFAULT_CTYPE_PTR, + { +@@ -223,9 +232,15 @@ const struct __locale_t __C_locale = + CHAR_MAX, CHAR_MAX + }, + #ifndef __HAVE_LOCALE_INFO__ ++#ifdef __DEFAULT_UTF8__ ++ "\6", ++ "UTF-8", ++ "UTF-8", ++#else + "\1", + "ASCII", + "ASCII", ++#endif + #else /* __HAVE_LOCALE_INFO__ */ + { + { NULL, NULL }, /* LC_ALL */ +@@ -244,10 +259,11 @@ const struct __locale_t __C_locale = + }; + #endif /* _MB_CAPABLE */ + ++ + struct __locale_t __global_locale = + { + { "C", "C", DEFAULT_LOCALE, "C", "C", "C", "C", }, +-#ifdef __CYGWIN__ ++#if defined ( __CYGWIN__ ) || defined ( __DEFAULT_UTF8__ ) + __utf8_wctomb, + __utf8_mbtowc, + #else +@@ -264,9 +280,15 @@ struct __locale_t __global_locale = + CHAR_MAX, CHAR_MAX + }, + #ifndef __HAVE_LOCALE_INFO__ ++#ifdef __DEFAULT_UTF8__ ++ "\6", ++ "UTF-8", ++ "UTF-8", ++#else + "\1", + "ASCII", + "ASCII", ++#endif + #else /* __HAVE_LOCALE_INFO__ */ + { + { NULL, NULL }, /* LC_ALL */ +diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h +index 7abf92f7e..511a616bc 100644 +--- a/newlib/libc/locale/setlocale.h ++++ b/newlib/libc/locale/setlocale.h +@@ -234,11 +234,11 @@ __get_locale_r (struct _reent *r) + _ELIDABLE_INLINE struct __locale_t * + __get_current_locale (void) + { +-#ifdef __HAVE_LOCALE_INFO__ ++//#ifdef __HAVE_LOCALE_INFO__ + return _REENT_LOCALE(_REENT) ?: __get_global_locale (); +-#else +- return __get_global_locale(); +-#endif ++//#else ++// return __get_global_locale(); ++//#endif + } + + /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE +diff --git a/newlib/libc/machine/aarch64/Makefile.inc b/newlib/libc/machine/aarch64/Makefile.inc +index 1068d88ce..3175fe439 100644 +--- a/newlib/libc/machine/aarch64/Makefile.inc ++++ b/newlib/libc/machine/aarch64/Makefile.inc +@@ -1,4 +1,5 @@ + libc_a_SOURCES += \ ++ %D%/access.c \ + %D%/memchr-stub.c \ + %D%/memchr.S \ + %D%/memcmp-stub.c \ +diff --git a/newlib/libc/machine/aarch64/access.c b/newlib/libc/machine/aarch64/access.c +new file mode 100644 +index 000000000..980682ef3 +--- /dev/null ++++ b/newlib/libc/machine/aarch64/access.c +@@ -0,0 +1,33 @@ ++/* This is file ACCESS.C */ ++/* ++ * Copyright (C) 1993 DJ Delorie ++ * All rights reserved. ++ * ++ * Redistribution, modification, and use in source and binary forms is permitted ++ * provided that the above copyright notice and following paragraph are ++ * duplicated in all such forms. ++ * ++ * This file is distributed WITHOUT ANY WARRANTY; without even the implied ++ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ */ + -+int -+pthread_attr_setstackaddr (pthread_attr_t *__attr, void *__stackaddr) -+{ -+ if (!__attr || !__stackaddr) -+ return EINVAL; -+ __attr->stackaddr = __stackaddr; -+ return 0; -+} ++#include ++#include ++#include + -+int -+pthread_attr_getdetachstate (const pthread_attr_t *__attr, int *__detachstate) ++int access(const char *fn, int flags) +{ -+ if (!__attr || !__detachstate) -+ return EINVAL; -+ *__detachstate = __attr->detachstate; -+ return 0; ++ struct stat s; ++ if (stat(fn, &s)) ++ return -1; ++ if (s.st_mode & S_IFDIR) ++ return 0; ++ if (flags & W_OK) ++ { ++ if (s.st_mode & S_IWRITE) ++ return 0; ++ return -1; ++ } ++ return 0; +} ++ +diff --git a/newlib/libc/machine/aarch64/sys/dirent.h b/newlib/libc/machine/aarch64/sys/dirent.h +new file mode 100644 +index 000000000..2aaca6080 +--- /dev/null ++++ b/newlib/libc/machine/aarch64/sys/dirent.h +@@ -0,0 +1,58 @@ ++#ifndef _dirent_h_ ++#define _dirent_h_ + -+int -+pthread_attr_setdetachstate (pthread_attr_t *__attr, int __detachstate) -+{ -+ if (!__attr) -+ return EINVAL; -+ __attr->detachstate = __detachstate; -+ return 0; -+} ++#define _DIRENT_HAVE_D_TYPE + -+int -+pthread_attr_getguardsize (const pthread_attr_t *__attr, size_t *__guardsize) -+{ -+ return ENOSYS; // Unsupported -+} ++#include ++#include ++#include + -+int -+pthread_attr_setguardsize (pthread_attr_t *__attr, size_t __guardsize) -+{ -+ return ENOSYS; // Unsupported -+} ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 + -+//----------------------------------------------------------------------------- -+// Thread -+//----------------------------------------------------------------------------- ++#ifdef __cplusplus ++extern "C" { ++#endif + -+int -+pthread_create (pthread_t *__pthread, const pthread_attr_t *__attr, void *(*__start_routine)(void *), void *__arg) -+{ -+ pthread_attr_t __default; -+ if (!__attr) { -+ pthread_attr_init(&__default); -+ __attr = &__default; -+ } -+ if (!__pthread || !__start_routine) -+ return EINVAL; -+ if (!__has_syscall(thread_create)) -+ return ENOSYS; -+ return __syscall_thread_create(__pthread, __start_routine, __arg, __attr->stackaddr, __attr->stacksize); -+} ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; + -+int -+pthread_join (pthread_t __pthread, void **__value_ptr) -+{ -+ if (!__has_syscall(thread_join)) -+ return ENOSYS; -+ void* value = __syscall_thread_join(__pthread); -+ if (__value_ptr) -+ *__value_ptr = value; -+ return 0; -+} ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; + -+int -+pthread_detach (pthread_t __pthread) -+{ -+ if (!__has_syscall(thread_detach)) -+ return ENOSYS; -+ return __syscall_thread_detach(__pthread); -+} ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); + -+void -+pthread_exit (void *__value_ptr) -+{ -+ if (__has_syscall(thread_exit)) -+ __syscall_thread_exit(__value_ptr); -+ for (;;); -+} ++int scandir(const char *dirp, struct dirent ***namelist, ++int (*filter)(const struct dirent *), ++int (*compar)(const struct dirent **, const struct dirent **)); + -+pthread_t -+pthread_self (void) -+{ -+ if (__has_syscall(thread_self)) -+ return __syscall_thread_self(); -+ return NULL; -+} ++int alphasort(const struct dirent **a, const struct dirent **b); + -+int -+pthread_equal (pthread_t __t1, pthread_t __t2) -+{ -+ return __t1 == __t2; -+} ++/* Convert between stat structure types and directory types. */ ++# define IFTODT(mode) (((mode) & 0170000) >> 12) ++# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) + -+int -+pthread_getcpuclockid (pthread_t thread, clockid_t *clock_id) -+{ -+ if (!thread || !clock_id) -+ return EINVAL; -+ *clock_id = CLOCK_REALTIME; -+ return 0; ++#ifdef __cplusplus +} ++#endif + -+int -+pthread_setconcurrency (int new_level) -+{ -+ return ENOSYS; // Unsupported -+} ++#endif // _dirent_h_ +diff --git a/newlib/libc/machine/aarch64/sys/lock.h b/newlib/libc/machine/aarch64/sys/lock.h +new file mode 100644 +index 000000000..d1c4aba2a +--- /dev/null ++++ b/newlib/libc/machine/aarch64/sys/lock.h +@@ -0,0 +1,116 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ + -+int -+pthread_getconcurrency (void) -+{ -+ return ENOSYS; // Unsupported -+} ++#include <_ansi.h> ++#include + -+//----------------------------------------------------------------------------- -+// Run-once -+//----------------------------------------------------------------------------- ++typedef uint32_t _LOCK_T; + -+__LOCK_INIT(static, __pthread_once_lock) -+__COND_INIT(static, __pthread_once_cv) ++struct __lock_t { ++ _LOCK_T lock; ++ uint32_t thread_tag; ++ uint32_t counter; ++}; + -+int -+pthread_once (pthread_once_t *__once_control, void (*__init_routine)(void)) -+{ -+ if (!__once_control || !__init_routine) -+ return EINVAL; ++typedef struct __lock_t _LOCK_RECURSIVE_T; + -+ __lock_acquire(__pthread_once_lock); ++typedef uint32_t _COND_T; + -+ if (__once_control->status == 0) { -+ __once_control->status = 1; -+ __lock_release(__pthread_once_lock); -+ __init_routine(); -+ __lock_acquire(__pthread_once_lock); -+ __once_control->status = 2; -+ __cond_broadcast(__pthread_once_cv); -+ } else { -+ while (__once_control->status == 1) -+ __cond_wait(__pthread_once_cv, __pthread_once_lock, UINT64_MAX); -+ } ++#define __LOCK_INITIALIZER ((_LOCK_T)0) ++#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) ++#define __COND_INITIALIZER ((_COND_T)0) + -+ __lock_release(__pthread_once_lock); -+ return 0; ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++static inline void __libc_lock_init(_LOCK_T *lock) { ++ *lock = __LOCK_INITIALIZER; +} + -+//----------------------------------------------------------------------------- -+// Thread-specific keys (TLS) -+//----------------------------------------------------------------------------- ++static inline void __libc_lock_close(_LOCK_T *lock ) {} + -+int -+pthread_key_create (pthread_key_t *__key, void (*__destructor)(void *)) -+{ -+ if (!__has_syscall(tls_create)) -+ return ENOSYS; -+ return __syscall_tls_create(__key, __destructor); ++static inline void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { ++ *lock = __LOCK_INITIALIZER_RECURSIVE; +} + -+int -+pthread_setspecific (pthread_key_t __key, const void *__value) -+{ -+ if (!__has_syscall(tls_set)) -+ return ENOSYS; -+ return __syscall_tls_set(__key, __value); -+} ++static inline void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) {} + -+void * -+pthread_getspecific (pthread_key_t __key) -+{ -+ if (__has_syscall(tls_get)) -+ return __syscall_tls_get(__key); -+ return NULL; -+} ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); + -+int -+pthread_key_delete (pthread_key_t __key) -+{ -+ if (!__has_syscall(tls_delete)) -+ return ENOSYS; -+ return __syscall_tls_delete(__key); ++/* Returns errno */ ++static inline int __libc_cond_init(_COND_T *cond) { ++ *cond = __COND_INITIALIZER; +} + -+//----------------------------------------------------------------------------- -+// Cancel -+//----------------------------------------------------------------------------- ++extern int __libc_cond_signal(_COND_T *cond); ++extern int __libc_cond_broadcast(_COND_T *cond); ++extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); ++extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); + -+int -+pthread_cancel (pthread_t __pthread) -+{ -+ return ENOSYS; // Unsupported ++#ifdef __cplusplus +} ++#endif + -+int -+pthread_setcancelstate (int __state, int *__oldstate) -+{ -+ return ENOSYS; // Unsupported -+} ++#define __LOCK_INIT(CLASS,NAME) \ ++CLASS _LOCK_T NAME = __LOCK_INITIALIZER; + -+int -+pthread_setcanceltype (int __type, int *__oldtype) -+{ -+ return ENOSYS; // Unsupported -+} ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ ++CLASS _LOCK_RECURSIVE_T NAME = __LOCK_INITIALIZER_RECURSIVE; + -+void -+pthread_testcancel (void) -+{ -+ // Unsupported -+} ++#define __COND_INIT(CLASS,NAME) \ ++CLASS _COND_T NAME = __COND_INITIALIZER; + -+//----------------------------------------------------------------------------- -+// Cleanup -+//----------------------------------------------------------------------------- ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) + -+void -+_pthread_cleanup_push (struct _pthread_cleanup_context *_context, void (*_routine)(void *), void *_arg) -+{ -+ // Unsupported -+} ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) + -+void -+_pthread_cleanup_pop (struct _pthread_cleanup_context *_context, int _execute) -+{ -+ // Unsupported -+} -diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c -index a76af50ff..5f4f54cac 100644 ---- a/libgloss/libsysbase/syscall_support.c -+++ b/libgloss/libsysbase/syscall_support.c -@@ -1,6 +1,45 @@ - #include - #include - -+static int -+timespec_subtract(struct timespec x, struct timespec y, struct timespec *__restrict result) -+{ -+ // Perform the carry for the later subtraction by updating y -+ if (x.tv_nsec < y.tv_nsec) { -+ int seconds = (y.tv_nsec - x.tv_nsec) / 1000000000 + 1; -+ y.tv_nsec -= 1000000000 * seconds; -+ y.tv_sec += seconds; -+ } -+ if (x.tv_nsec - y.tv_nsec > 1000000000) { -+ int seconds = (x.tv_nsec - y.tv_nsec) / 1000000000; -+ y.tv_nsec += 1000000000 * seconds; -+ y.tv_sec -= seconds; -+ } ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) + -+ // Compute the time remaining to wait -+ result->tv_sec = x.tv_sec - y.tv_sec; -+ result->tv_nsec = x.tv_nsec - y.tv_nsec; ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close_recursive(&(NAME)) + -+ // Return true if result is negative -+ return x.tv_sec < y.tv_sec; -+} ++#define __lock_acquire(NAME) \ ++ __libc_lock_acquire(&(NAME)) + -+__uint64_t -+timespec2nsec(const struct timespec *__restrict ts) -+{ -+ return (__uint64_t)ts->tv_sec * 1000000000 + ts->tv_nsec; -+} ++#define __lock_acquire_recursive(NAME) \ ++ __libc_lock_acquire_recursive(&(NAME)) + -+__uint64_t -+abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts) -+{ -+ struct timespec now, diff; -+ clock_gettime(clock_id, &now); -+ if (timespec_subtract(*ts, now, &diff)) -+ return 0; -+ return timespec2nsec(&diff); -+} ++#define __lock_try_acquire(NAME) \ ++ __libc_lock_try_acquire(&(NAME)) + - void __libc_lock_init(_LOCK_T *lock) { - - if ( __has_syscall(lock_init) ) { -diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h -index 75e9e1cbf..ceb2601db 100644 ---- a/newlib/libc/include/sys/_pthreadtypes.h -+++ b/newlib/libc/include/sys/_pthreadtypes.h -@@ -18,19 +18,18 @@ - #ifndef _SYS__PTHREADTYPES_H_ - #define _SYS__PTHREADTYPES_H_ - -+#include ++#define __lock_try_acquire_recursive(NAME) \ ++ __libc_lock_try_acquire_recursive(&(NAME)) + - #if defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 - - #include -+#include - - /* - * 2.5 Primitive System Data Types, P1003.1c/D10, p. 19. - */ - --#if defined(__XMK__) --typedef unsigned int pthread_t; /* identify a thread */ --#else --typedef __uint32_t pthread_t; /* identify a thread */ --#endif -+typedef struct __pthread_t *pthread_t; /* identify a thread */ - - /* P1003.1c/D10, p. 118-119 */ - #define PTHREAD_SCOPE_PROCESS 0 -@@ -46,25 +45,14 @@ typedef __uint32_t pthread_t; /* identify a thread */ - #define PTHREAD_CREATE_DETACHED 0 - #define PTHREAD_CREATE_JOINABLE 1 - --#if defined(__XMK__) --typedef struct pthread_attr_s { -- int contentionscope; -- struct sched_param schedparam; -- int detachstate; -- void *stackaddr; -- size_t stacksize; --} pthread_attr_t; -- --#define PTHREAD_STACK_MIN 200 -- --#else /* !defined(__XMK__) */ - typedef struct { -- int is_initialized; - void *stackaddr; - int stacksize; -+#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) - int contentionscope; - int inheritsched; - int schedpolicy; -+#endif - struct sched_param schedparam; - - /* P1003.4b/D8, p. 54 adds cputime_clock_allowed attribute. */ -@@ -74,8 +62,6 @@ typedef struct { - int detachstate; - } pthread_attr_t; - --#endif /* !defined(__XMK__) */ -- - #if defined(_POSIX_THREAD_PROCESS_SHARED) - /* NOTE: P1003.1c/D10, p. 81 defines following values for process_shared. */ - -@@ -143,18 +129,15 @@ typedef struct { - - #endif /* !defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES) */ - --#if defined(__XMK__) --typedef unsigned int pthread_mutex_t; /* identify a mutex */ -- - typedef struct { - int type; --} pthread_mutexattr_t; -- --#else /* !defined(__XMK__) */ --typedef __uint32_t pthread_mutex_t; /* identify a mutex */ -+ union { -+ _LOCK_T normal; -+ _LOCK_RECURSIVE_T recursive; -+ }; -+} pthread_mutex_t; /* identify a mutex */ - - typedef struct { -- int is_initialized; - #if defined(_POSIX_THREAD_PROCESS_SHARED) - int process_shared; /* allow mutex to be shared amongst processes */ - #endif -@@ -163,23 +146,23 @@ typedef struct { - int protocol; - #endif - #if defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES) -- int type; -+ int type; - #endif -- int recursive; - } pthread_mutexattr_t; --#endif /* !defined(__XMK__) */ - --#define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t) 0xFFFFFFFF) -+#define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t){ PTHREAD_MUTEX_NORMAL, { .normal = __LOCK_INITIALIZER } }) - - /* Condition Variables */ - --typedef __uint32_t pthread_cond_t; /* identify a condition variable */ -+typedef struct { -+ clockid_t clock_id; -+ _COND_T cond; -+} pthread_cond_t; /* identify a condition variable */ - --#define _PTHREAD_COND_INITIALIZER ((pthread_cond_t) 0xFFFFFFFF) -+#define _PTHREAD_COND_INITIALIZER ((pthread_cond_t){ CLOCK_REALTIME, __COND_INITIALIZER }) - - typedef struct { -- int is_initialized; -- clock_t clock; /* specifiy clock for timeouts */ -+ clockid_t clock_id; /* specifiy clock for timeouts */ - #if defined(_POSIX_THREAD_PROCESS_SHARED) - int process_shared; /* allow this to be shared amongst processes */ - #endif -@@ -190,11 +173,10 @@ typedef struct { - typedef __uint32_t pthread_key_t; /* thread-specific data keys */ - - typedef struct { -- int is_initialized; /* is this structure initialized? */ -- int init_executed; /* has the initialization routine been run? */ -+ int status; /* 0 = init not run, 1 = init running, 2 = init finished */ - } pthread_once_t; /* dynamic package initialization */ - --#define _PTHREAD_ONCE_INIT { 1, 0 } /* is initialized and not run */ -+#define _PTHREAD_ONCE_INIT { 0 } /* not run */ - #endif /* defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 */ - - /* POSIX Barrier Types */ -diff --git a/newlib/libc/include/sys/_timespec.h b/newlib/libc/include/sys/_timespec.h -index f810b008f..ca7e11dc7 100644 ---- a/newlib/libc/include/sys/_timespec.h -+++ b/newlib/libc/include/sys/_timespec.h -@@ -49,4 +49,10 @@ struct timespec { - long tv_nsec; /* and nanoseconds */ - }; - -+__uint64_t -+timespec2nsec(const struct timespec *__restrict ts); ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) + -+__uint64_t -+abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts); ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release_recursive(&(NAME)) + - #endif /* !_SYS__TIMESPEC_H_ */ -diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index d76706321..f7ce9fe67 100644 ---- a/newlib/libc/include/sys/features.h -+++ b/newlib/libc/include/sys/features.h -@@ -331,8 +331,12 @@ extern "C" { - # define __SSP_FORTIFY_LEVEL 0 - #endif - -+#ifdef __DEVKITA64__ - #define _POSIX_MONOTONIC_CLOCK 200112L - #define _POSIX_TIMERS 1 -+#define _POSIX_THREADS 1 -+#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 -+#endif - - /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ - -diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h -index fb0646bc6..8318fda68 100644 ---- a/newlib/libc/include/sys/iosupport.h -+++ b/newlib/libc/include/sys/iosupport.h -@@ -96,6 +96,21 @@ void __SYSCALL(lock_acquire_recursive) (_LOCK_RECURSIVE_T *lock); - int __SYSCALL(lock_try_acquire_recursive) (_LOCK_RECURSIVE_T *lock); - void __SYSCALL(lock_release_recursive) (_LOCK_RECURSIVE_T *lock); - void __SYSCALL(lock_close_recursive) (_LOCK_RECURSIVE_T *lock); ++#define __cond_init(NAME) \ ++ __libc_cond_init(&(NAME)) + -+int __SYSCALL(cond_signal)(_COND_T *cond); -+int __SYSCALL(cond_broadcast)(_COND_T *cond); -+int __SYSCALL(cond_wait)(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); -+int __SYSCALL(cond_wait_recursive)(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); -+int __SYSCALL(thread_create)(struct __pthread_t **thread, void* (*func)(void*), void *arg, void *stack_addr, size_t stack_size); -+void*__SYSCALL(thread_join)(struct __pthread_t *thread); -+int __SYSCALL(thread_detach)(struct __pthread_t *thread); -+void __SYSCALL(thread_exit)(void *value); -+struct __pthread_t *__SYSCALL(thread_self)(void); -+int __SYSCALL(tls_create)(uint32_t *key, void (*destructor)(void*)); -+int __SYSCALL(tls_set)(uint32_t key, const void *value); -+void*__SYSCALL(tls_get)(uint32_t key); -+int __SYSCALL(tls_delete)(uint32_t key); ++#define __cond_signal(NAME) \ ++ __libc_cond_signal(&(NAME)) + - struct _reent * __SYSCALL(getreent) (); - int __SYSCALL(clock_gettime) (clockid_t clock_id, struct timespec *tp); - int __SYSCALL(clock_settime) (clockid_t clock_id, const struct timespec *tp); --- -2.20.1 - - -From 92ab05cc7f64feb19ff501e66b2c8178a7a8425c Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 24 Mar 2023 17:51:22 +0000 -Subject: [PATCH 65/83] libgloss/Machine.in: regenerate - ---- - libgloss/Makefile.in | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in -index 2a1a2ff6f..c3dfe488c 100644 ---- a/libgloss/Makefile.in -+++ b/libgloss/Makefile.in -@@ -456,6 +456,7 @@ libsysbase_libsysbase_a_LIBADD = - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-lstat.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT) \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pthread.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-open.$(OBJEXT) \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-pathconf.$(OBJEXT) \ -@@ -1085,6 +1086,7 @@ TEXINFO_TEX = ../texinfo/texinfo.tex - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/lstat.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/malloc_vars.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/mkdir.c \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/pthread.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/nanosleep.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/open.c \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/pathconf.c \ -@@ -1797,6 +1799,9 @@ libsysbase/libsysbase_libsysbase_a-malloc_vars.$(OBJEXT): \ - libsysbase/libsysbase_libsysbase_a-mkdir.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/libsysbase_libsysbase_a-pthread.$(OBJEXT): \ -+ libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) - libsysbase/libsysbase_libsysbase_a-nanosleep.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -@@ -2290,6 +2295,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-open.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pathconf.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-read.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-readlink.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-realpath.Po@am__quote@ -@@ -3473,6 +3479,20 @@ libsysbase/libsysbase_libsysbase_a-mkdir.obj: libsysbase/mkdir.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-mkdir.obj `if test -f 'libsysbase/mkdir.c'; then $(CYGPATH_W) 'libsysbase/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/mkdir.c'; fi` - -+libsysbase/libsysbase_libsysbase_a-pthread.o: libsysbase/pthread.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pthread.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pthread.o `test -f 'libsysbase/pthread.c' || echo '$(srcdir)/'`libsysbase/pthread.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pthread.c' object='libsysbase/libsysbase_libsysbase_a-pthread.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pthread.o `test -f 'libsysbase/pthread.c' || echo '$(srcdir)/'`libsysbase/pthread.c ++#define __cond_broadcast(NAME) \ ++ __libc_cond_broadcast(&(NAME)) + -+libsysbase/libsysbase_libsysbase_a-pthread.obj: libsysbase/pthread.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-pthread.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo -c -o libsysbase/libsysbase_libsysbase_a-pthread.obj `if test -f 'libsysbase/pthread.c'; then $(CYGPATH_W) 'libsysbase/pthread.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pthread.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-pthread.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/pthread.c' object='libsysbase/libsysbase_libsysbase_a-pthread.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-pthread.obj `if test -f 'libsysbase/pthread.c'; then $(CYGPATH_W) 'libsysbase/pthread.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/pthread.c'; fi` ++#define __cond_wait(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait(&(NAME), &(LOCK), (TIMEOUT)) + - libsysbase/libsysbase_libsysbase_a-nanosleep.o: libsysbase/nanosleep.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-nanosleep.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo -c -o libsysbase/libsysbase_libsysbase_a-nanosleep.o `test -f 'libsysbase/nanosleep.c' || echo '$(srcdir)/'`libsysbase/nanosleep.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-nanosleep.Po --- -2.20.1 - - -From 0c1d26692512f50b139cf7c83230fc368f077e1d Mon Sep 17 00:00:00 2001 -From: fincs -Date: Fri, 8 Mar 2019 21:17:45 +0100 -Subject: [PATCH 66/83] pthread_key_create: protect against NULL output key - ---- - libgloss/libsysbase/pthread.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c -index bab01be34..3c5ace602 100755 ---- a/libgloss/libsysbase/pthread.c -+++ b/libgloss/libsysbase/pthread.c -@@ -540,6 +540,8 @@ pthread_once (pthread_once_t *__once_control, void (*__init_routine)(void)) - int - pthread_key_create (pthread_key_t *__key, void (*__destructor)(void *)) - { -+ if (!__key) -+ return EINVAL; - if (!__has_syscall(tls_create)) - return ENOSYS; - return __syscall_tls_create(__key, __destructor); --- -2.20.1 - - -From ee31206b8dc6d4c12483557c8ae3b1492efb3d3c Mon Sep 17 00:00:00 2001 -From: fincs -Date: Sat, 9 Mar 2019 21:00:58 +0100 -Subject: [PATCH 67/83] Add PTHREAD_RECURSIVE_MUTEX_INITIALIZER(_NP) - ---- - newlib/libc/include/sys/_pthreadtypes.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h -index ceb2601db..a3642c951 100644 ---- a/newlib/libc/include/sys/_pthreadtypes.h -+++ b/newlib/libc/include/sys/_pthreadtypes.h -@@ -151,6 +151,8 @@ typedef struct { - } pthread_mutexattr_t; - - #define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t){ PTHREAD_MUTEX_NORMAL, { .normal = __LOCK_INITIALIZER } }) -+#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP ((pthread_mutex_t){ PTHREAD_MUTEX_RECURSIVE, { .recursive = __LOCK_INITIALIZER_RECURSIVE } }) -+#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP - - /* Condition Variables */ ++#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) ++ ++#endif // __SYS_LOCK_H__ +diff --git a/newlib/libc/machine/arm/Makefile.inc b/newlib/libc/machine/arm/Makefile.inc +index 2d6c08d71..81b4f119d 100644 +--- a/newlib/libc/machine/arm/Makefile.inc ++++ b/newlib/libc/machine/arm/Makefile.inc +@@ -8,4 +8,5 @@ libc_a_SOURCES += \ + %D%/memcpy-stub.c \ + %D%/memcpy.S \ + %D%/strlen-stub.c \ +- %D%/strlen.S ++ %D%/sync_synchronize.c ++ +diff --git a/newlib/libc/machine/arm/setjmp.S b/newlib/libc/machine/arm/setjmp.S +index 5e5952296..9281cdb54 100644 +--- a/newlib/libc/machine/arm/setjmp.S ++++ b/newlib/libc/machine/arm/setjmp.S +@@ -2,6 +2,8 @@ --- -2.20.1 - - -From 3f50eb471ec43f49dfd6203be1f7edee223e264b Mon Sep 17 00:00:00 2001 -From: fincs -Date: Sat, 9 Mar 2019 21:02:26 +0100 -Subject: [PATCH 68/83] pthread shims: implement pthread cleanup & sched - yield/getcpu - ---- - libgloss/libsysbase/pthread.c | 50 +++++++++++++++++++++++++++++++++-- - 1 file changed, 48 insertions(+), 2 deletions(-) - -diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c -index 3c5ace602..e4240af87 100755 ---- a/libgloss/libsysbase/pthread.c -+++ b/libgloss/libsysbase/pthread.c -@@ -603,14 +603,60 @@ pthread_testcancel (void) - // Cleanup - //----------------------------------------------------------------------------- + Nick Clifton, Cygnus Solutions, 13 June 1997. */ -+static pthread_once_t __pthread_cleanup_once; -+static pthread_key_t __pthread_cleanup_key; ++ .fpu vfpxd + -+static void -+__pthread_cleanup_dtor (void *arg) + #include "arm-acle-compat.h" + + /* ANSI concatenation macros. */ +diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c +new file mode 100644 +index 000000000..f5a85c3a8 +--- /dev/null ++++ b/newlib/libc/machine/arm/sync_synchronize.c +@@ -0,0 +1,8 @@ ++#if __ARM_ARCH < 6 ++#include ++void __attribute__((weak)) ++__sync_synchronize (void) +{ -+ struct _pthread_cleanup_context *cur; -+ for (cur = (struct _pthread_cleanup_context *)arg; cur; cur = cur->_previous) -+ cur->_routine(cur->_arg); ++ return; +} ++#endif +diff --git a/newlib/libc/machine/powerpc/Makefile.inc b/newlib/libc/machine/powerpc/Makefile.inc +index 55c7ebdc6..a6acfdaa6 100644 +--- a/newlib/libc/machine/powerpc/Makefile.inc ++++ b/newlib/libc/machine/powerpc/Makefile.inc +@@ -1,6 +1,7 @@ + libc_a_CPPFLAGS_%C% = -I$(srcdir)/libc/stdio -I$(srcdir)/libc/stdlib + +-libc_a_SOURCES += %D%/setjmp.S ++libc_a_SOURCES += %D%/setjmp.S \ ++ %D%/access.c + + if HAVE_POWERPC_ALTIVEC + libc_a_SOURCES += \ +diff --git a/newlib/libc/machine/powerpc/access.c b/newlib/libc/machine/powerpc/access.c +new file mode 100644 +index 000000000..980682ef3 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/access.c +@@ -0,0 +1,33 @@ ++/* This is file ACCESS.C */ ++/* ++ * Copyright (C) 1993 DJ Delorie ++ * All rights reserved. ++ * ++ * Redistribution, modification, and use in source and binary forms is permitted ++ * provided that the above copyright notice and following paragraph are ++ * duplicated in all such forms. ++ * ++ * This file is distributed WITHOUT ANY WARRANTY; without even the implied ++ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ */ + -+static void -+__pthread_cleanup_setup (void) ++#include ++#include ++#include ++ ++int access(const char *fn, int flags) +{ -+ int err = pthread_key_create(&__pthread_cleanup_key, __pthread_cleanup_dtor); -+ if (err) -+ abort(); ++ struct stat s; ++ if (stat(fn, &s)) ++ return -1; ++ if (s.st_mode & S_IFDIR) ++ return 0; ++ if (flags & W_OK) ++ { ++ if (s.st_mode & S_IWRITE) ++ return 0; ++ return -1; ++ } ++ return 0; +} ++ +diff --git a/newlib/libc/machine/powerpc/machine/_types.h b/newlib/libc/machine/powerpc/machine/_types.h +new file mode 100644 +index 000000000..a7d63da51 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/machine/_types.h +@@ -0,0 +1,19 @@ ++#ifndef _MACHINE__TYPES_H ++#define _MACHINE__TYPES_H + - void - _pthread_cleanup_push (struct _pthread_cleanup_context *_context, void (*_routine)(void *), void *_arg) - { -- // Unsupported -+ pthread_once(&__pthread_cleanup_once, __pthread_cleanup_setup); -+ _context->_routine = _routine; -+ _context->_arg = _arg; -+ _context->_previous = (struct _pthread_cleanup_context *)pthread_getspecific(__pthread_cleanup_key); -+ pthread_setspecific(__pthread_cleanup_key, _context); - } - - void - _pthread_cleanup_pop (struct _pthread_cleanup_context *_context, int _execute) - { -- // Unsupported -+ struct _pthread_cleanup_context *cur = (struct _pthread_cleanup_context *)pthread_getspecific(__pthread_cleanup_key); -+ if (cur) { -+ if (_execute) -+ cur->_routine(cur->_arg); -+ pthread_setspecific(__pthread_cleanup_key, cur->_previous); -+ } -+} ++#include + -+//----------------------------------------------------------------------------- -+// sched.h -+//----------------------------------------------------------------------------- ++/* Use 64bit types */ ++typedef __int64_t _off_t; ++#define __machine_off_t_defined + -+int __attribute__((weak)) -+sched_yield (void) -+{ -+ errno = ENOSYS; -+ return -1; -+} ++typedef __int64_t _fpos_t; ++#define __machine_fpos_t_defined + -+int __attribute__((weak)) -+sched_getcpu (void) -+{ -+ errno = ENOSYS; -+ return -1; - } --- -2.20.1 - - -From 2f9942210418280c9009e3befb13c1c7f04c8e80 Mon Sep 17 00:00:00 2001 -From: fincs -Date: Sun, 10 Mar 2019 18:28:06 +0100 -Subject: [PATCH 69/83] Add C11 threads implementation based on pthreads - ---- - newlib/libc/include/machine/_threads.h | 44 +++++ - newlib/libc/include/sys/syslimits.h | 2 + - newlib/libc/stdlib/Makefile.inc | 1 + - newlib/libc/stdlib/threads.c | 224 +++++++++++++++++++++++++ - 4 files changed, 271 insertions(+) - create mode 100755 newlib/libc/include/machine/_threads.h - create mode 100755 newlib/libc/stdlib/threads.c - -diff --git a/newlib/libc/include/machine/_threads.h b/newlib/libc/include/machine/_threads.h -new file mode 100755 -index 000000000..a71a5d847 ---- /dev/null -+++ b/newlib/libc/include/machine/_threads.h -@@ -0,0 +1,44 @@ -+/*- -+ * Copyright (c) 2019 fincs -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ ++typedef __uint32_t __ino_t; ++#define __machine_ino_t_defined + -+#ifndef _MACHINE__THREADS_H_ -+#define _MACHINE__THREADS_H_ ++typedef __uint32_t __dev_t; ++#define __machine_dev_t_defined + -+#include -+#include ++#endif // _MACHINE__TYPES_H +diff --git a/newlib/libc/machine/powerpc/sys/dirent.h b/newlib/libc/machine/powerpc/sys/dirent.h +new file mode 100644 +index 000000000..2aaca6080 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/sys/dirent.h +@@ -0,0 +1,58 @@ ++#ifndef _dirent_h_ ++#define _dirent_h_ + -+#define ONCE_FLAG_INIT PTHREAD_ONCE_INIT -+#define TSS_DTOR_ITERATIONS PTHREAD_DESTRUCTOR_ITERATIONS -+#define _MTX_INITIALIZER_NP PTHREAD_MUTEX_INITIALIZER -+#define _CND_INITIALIZER_NP PTHREAD_COND_INITIALIZER ++#define _DIRENT_HAVE_D_TYPE + -+typedef pthread_once_t once_flag; -+typedef pthread_key_t tss_t; -+typedef pthread_mutex_t mtx_t; -+typedef pthread_cond_t cnd_t; -+typedef pthread_t thrd_t; ++#include ++#include ++#include ++ ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 + ++#ifdef __cplusplus ++extern "C" { +#endif -diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h -index c872d2018..b3800187f 100644 ---- a/newlib/libc/include/sys/syslimits.h -+++ b/newlib/libc/include/sys/syslimits.h -@@ -58,4 +58,6 @@ - #define LINE_MAX 2048 /* max bytes in an input line */ - #define RE_DUP_MAX 255 /* max RE's in interval notation */ - -+#define PTHREAD_DESTRUCTOR_ITERATIONS 1 /* max attempts to destroy TLS values on thread exit */ + - #endif -diff --git a/newlib/libc/stdlib/Makefile.inc b/newlib/libc/stdlib/Makefile.inc -index 9812add76..8410f2633 100644 ---- a/newlib/libc/stdlib/Makefile.inc -+++ b/newlib/libc/stdlib/Makefile.inc -@@ -68,6 +68,7 @@ libc_a_SOURCES += \ - %D%/strtol.c \ - %D%/strtoul.c \ - %D%/strtoumax.c \ -+ %D%/threads.c \ - %D%/utoa.c \ - %D%/wcstod.c \ - %D%/wcstoimax.c \ -diff --git a/newlib/libc/stdlib/threads.c b/newlib/libc/stdlib/threads.c -new file mode 100755 -index 000000000..741111ea0 ---- /dev/null -+++ b/newlib/libc/stdlib/threads.c -@@ -0,0 +1,224 @@ -+/*- -+ * Copyright (c) 2019 fincs -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; + -+#include -+#include -+#include -+#include -+#include -+#include ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; + -+#if defined(PTHREAD_MUTEX_INITIALIZER) && defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) -+#define MTX_DIRECT_INIT -+#endif ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); + -+#if defined(PTHREAD_COND_INITIALIZER) -+#define CND_DIRECT_INIT -+#endif ++int scandir(const char *dirp, struct dirent ***namelist, ++int (*filter)(const struct dirent *), ++int (*compar)(const struct dirent **, const struct dirent **)); + -+static inline int err2thrd(int err) -+{ -+ switch (err) { -+ case 0: -+ return thrd_success; -+ case EBUSY: -+ return thrd_busy; -+ case ETIMEDOUT: -+ return thrd_timedout; -+ case ENOMEM: -+ return thrd_nomem; -+ default: -+ return thrd_error; -+ } -+} ++int alphasort(const struct dirent **a, const struct dirent **b); + -+void call_once(once_flag *flag, void (*func)(void)) -+{ -+ pthread_once(flag, func); -+} ++/* Convert between stat structure types and directory types. */ ++# define IFTODT(mode) (((mode) & 0170000) >> 12) ++# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) + -+int cnd_broadcast(cnd_t *cond) -+{ -+ int err = pthread_cond_broadcast(cond); -+ return err2thrd(err); ++#ifdef __cplusplus +} -+ -+void cnd_destroy(cnd_t *cond) -+{ -+#ifndef CND_DIRECT_INIT -+ pthread_cond_destroy(cond); +#endif -+} + -+int cnd_init(cnd_t *cond) -+{ -+#ifdef CND_DIRECT_INIT -+ *cond = PTHREAD_COND_INITIALIZER; -+ return thrd_success; -+#else -+ int err = pthread_cond_init(cond, NULL); -+ return err2thrd(err); -+#endif -+} ++#endif // _dirent_h_ +diff --git a/newlib/libc/machine/powerpc/sys/lock.h b/newlib/libc/machine/powerpc/sys/lock.h +new file mode 100644 +index 000000000..7f051e0c9 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/sys/lock.h +@@ -0,0 +1,58 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ + -+int cnd_signal(cnd_t *cond) -+{ -+ int err = pthread_cond_signal(cond); -+ return err2thrd(err); -+} ++typedef int _LOCK_T; ++typedef int _LOCK_RECURSIVE_T; + -+int cnd_timedwait(cnd_t *__restrict cond, mtx_t *__restrict mtx, const struct timespec *__restrict abs_time) -+{ -+ int err = pthread_cond_timedwait(cond, mtx, abs_time); -+ return err2thrd(err); -+} ++#define __LOCK_INIT(CLASS,NAME) CLASS _LOCK_T NAME = 0 ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) CLASS _LOCK_RECURSIVE_T NAME = 0 + -+int cnd_wait(cnd_t *cond, mtx_t *mtx) -+{ -+ int err = pthread_cond_wait(cond, mtx); -+ return err2thrd(err); -+} + -+void mtx_destroy(mtx_t *mtx) -+{ -+#ifndef MTX_DIRECT_INIT -+ pthread_mutex_destroy(mtx); -+#endif -+} ++extern void __libc_lock_init(_LOCK_T *lock); ++extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_close(_LOCK_T *lock); ++extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); + -+int mtx_init(mtx_t *mtx, int type) -+{ -+ if (type & mtx_timed) -+ return thrd_error; -+#ifdef MTX_DIRECT_INIT -+ if (type & mtx_recursive) -+ *mtx = PTHREAD_RECURSIVE_MUTEX_INITIALIZER; -+ else -+ *mtx = PTHREAD_MUTEX_INITIALIZER; -+ return thrd_success; -+#else -+ pthread_mutexattr_t attr; -+ pthread_mutexattr_init(&attr); -+ if (type & mtx_plain) -+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL); -+ if (type & mtx_recursive) -+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); -+ int err = pthread_mutex_init(mtx, &attr); -+ pthread_mutexattr_destroy(&attr); -+ return err2thrd(err); -+#endif -+} ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); + -+int mtx_lock(mtx_t *mtx) -+{ -+ int err = pthread_mutex_lock(mtx); -+ return err2thrd(err); -+} ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) + -+int mtx_timedlock(mtx_t *__restrict mtx, const struct timespec *__restrict ts) -+{ -+ return thrd_error; -+} ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) + -+int mtx_trylock(mtx_t *mtx) -+{ -+ int err = pthread_mutex_trylock(mtx); -+ return err2thrd(err); -+} ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) + -+int mtx_unlock(mtx_t *mtx) -+{ -+ int err = pthread_mutex_unlock(mtx); -+ return err2thrd(err); -+} ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close(&(NAME)) + -+int thrd_create(thrd_t *thr, thrd_start_t func, void *arg) -+{ -+ int err = pthread_create(thr, NULL, (void*(*)(void*))func, arg); -+ return err2thrd(err); -+} ++#define __lock_acquire(NAME) \ ++ if(!(NAME)) __libc_lock_init(&(NAME)); \ ++ __libc_lock_acquire(&(NAME)) + -+thrd_t thrd_current(void) -+{ -+ return pthread_self(); -+} ++#define __lock_acquire_recursive(NAME) \ ++ if(!(NAME)) __libc_lock_init_recursive(&(NAME)); \ ++ __libc_lock_acquire(&(NAME)) + -+int thrd_detach(thrd_t thr) -+{ -+ int err = pthread_detach(thr); -+ return err2thrd(err); -+} ++#define __lock_try_acquire(NAME) \ ++ if(!(NAME)) __libc_lock_init(&(NAME)); \ ++ __libc_lock_try_acquire(&(NAME)) + -+int thrd_equal(thrd_t thr1, thrd_t thr2) -+{ -+ return pthread_equal(thr1, thr2); -+} ++#define __lock_try_acquire_recursive(NAME) \ ++ if(!(NAME)) __libc_lock_init_recursive(&(NAME)); \ ++ __libc_lock_try_acquire(&(NAME)) + -+void thrd_exit(int res) -+{ -+ pthread_exit((void*)(uintptr_t)res); -+} ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) + -+int thrd_join(thrd_t thr, int *res) -+{ -+ void *value = NULL; -+ int err = pthread_join(thr, &value); -+ if (!err && res) -+ *res = (uintptr_t)value; -+ return err2thrd(err); -+} ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release(&(NAME)) + -+int thrd_sleep(const struct timespec *duration, struct timespec *remaining) -+{ -+ return nanosleep(duration, remaining); -+} ++#endif /* __SYS_LOCK_H__ */ +diff --git a/newlib/libc/machine/powerpc/sys/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h +new file mode 100644 +index 000000000..04ebd1ee0 +--- /dev/null ++++ b/newlib/libc/machine/powerpc/sys/stdio.h +@@ -0,0 +1,25 @@ ++#ifndef _NEWLIB_STDIO_H ++#define _NEWLIB_STDIO_H + -+void thrd_yield(void) -+{ -+ sched_yield(); -+} ++/* Internal locking macros, used to protect stdio functions. In the ++ general case, expand to nothing. */ ++#if !defined(_flockfile) ++# if !defined(__SINGLE_THREAD__) ++# define _flockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __flockfile(fp); } ++ extern void __flockfile(FILE *fp); ++# else ++# define _flockfile(fp) ++# endif ++#endif /* __SINGLE_THREAD__ */ + -+int tss_create(tss_t *key, tss_dtor_t dtor) -+{ -+ int err = pthread_key_create(key, dtor); -+ return err2thrd(err); -+} ++#if !defined(_funlockfile) ++# if !defined(__SINGLE_THREAD__) ++# define _funlockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __funlockfile(fp); } ++ extern void __funlockfile(FILE *fp); ++# else ++# define _funlockfile(fp) ++# endif ++#endif /* __SINGLE_THREAD__ */ + -+void tss_delete(tss_t key) -+{ -+ pthread_key_delete(key); -+} ++#endif /* _NEWLIB_STDIO_H */ + -+void * tss_get(tss_t key) -+{ -+ return pthread_getspecific(key); -+} +diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c +index 8664dc3e5..dbaba0264 100644 +--- a/newlib/libc/stdio/fread.c ++++ b/newlib/libc/stdio/fread.c +@@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, + } + + return count; +- + -+int tss_set(tss_t key, void *val) -+{ -+ int err = pthread_setspecific(key, val); -+ return err2thrd(err); -+} --- -2.20.1 - - -From bb7e3f5a81f98f8f91c21f3a9c9e02c1a6759e8d Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 24 Mar 2023 21:07:18 +0000 -Subject: [PATCH 70/83] newlib/Makefile.in: regenerate - ---- - newlib/Makefile.in | 20 +++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) - -diff --git a/newlib/Makefile.in b/newlib/Makefile.in -index b0d8d64f0..3ce198224 100644 ---- a/newlib/Makefile.in -+++ b/newlib/Makefile.in -@@ -2348,6 +2348,7 @@ am_libc_a_OBJECTS = $(am__objects_1) \ - libc/stdlib/libc_a-strtol.$(OBJEXT) \ - libc/stdlib/libc_a-strtoul.$(OBJEXT) \ - libc/stdlib/libc_a-strtoumax.$(OBJEXT) \ -+ libc/stdlib/libc_a-threads.$(OBJEXT) \ - libc/stdlib/libc_a-utoa.$(OBJEXT) \ - libc/stdlib/libc_a-wcstod.$(OBJEXT) \ - libc/stdlib/libc_a-wcstoimax.$(OBJEXT) \ -@@ -3919,7 +3920,7 @@ libc_a_SOURCES = $(am__append_5) libc/stdlib/__adjust.c \ - libc/stdlib/sb_charsets.c libc/stdlib/strtod.c \ - libc/stdlib/strtoimax.c libc/stdlib/strtol.c \ - libc/stdlib/strtoul.c libc/stdlib/strtoumax.c \ -- libc/stdlib/utoa.c libc/stdlib/wcstod.c \ -+ libc/stdlib/threads.c libc/stdlib/utoa.c libc/stdlib/wcstod.c \ - libc/stdlib/wcstoimax.c libc/stdlib/wcstol.c \ - libc/stdlib/wcstoul.c libc/stdlib/wcstoumax.c \ - libc/stdlib/wcstombs.c libc/stdlib/wcstombs_r.c \ -@@ -5325,6 +5326,8 @@ libc/stdlib/libc_a-strtoul.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ - libc/stdlib/$(DEPDIR)/$(am__dirstamp) - libc/stdlib/libc_a-strtoumax.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ - libc/stdlib/$(DEPDIR)/$(am__dirstamp) -+libc/stdlib/libc_a-threads.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ -+ libc/stdlib/$(DEPDIR)/$(am__dirstamp) - libc/stdlib/libc_a-utoa.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ - libc/stdlib/$(DEPDIR)/$(am__dirstamp) - libc/stdlib/libc_a-wcstod.$(OBJEXT): libc/stdlib/$(am__dirstamp) \ -@@ -13121,6 +13124,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-strtoull_r.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-strtoumax.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-system.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-threads.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-utoa.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-valloc.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/stdlib/$(DEPDIR)/libc_a-vallocr.Po@am__quote@ -@@ -20660,6 +20664,20 @@ libc/stdlib/libc_a-strtoumax.obj: libc/stdlib/strtoumax.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-strtoumax.obj `if test -f 'libc/stdlib/strtoumax.c'; then $(CYGPATH_W) 'libc/stdlib/strtoumax.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/strtoumax.c'; fi` + } -+libc/stdlib/libc_a-threads.o: libc/stdlib/threads.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-threads.o -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo -c -o libc/stdlib/libc_a-threads.o `test -f 'libc/stdlib/threads.c' || echo '$(srcdir)/'`libc/stdlib/threads.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo libc/stdlib/$(DEPDIR)/libc_a-threads.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/stdlib/threads.c' object='libc/stdlib/libc_a-threads.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-threads.o `test -f 'libc/stdlib/threads.c' || echo '$(srcdir)/'`libc/stdlib/threads.c + #endif +@@ -191,7 +191,6 @@ _fread_r (struct _reent * ptr, + int rc = 0; + /* save fp buffering state */ + void *old_base = fp->_bf._base; +- void * old_p = fp->_p; + int old_size = fp->_bf._size; + /* allow __refill to use user's buffer */ + fp->_bf._base = (unsigned char *) p; +@@ -201,7 +200,7 @@ _fread_r (struct _reent * ptr, + /* restore fp buffering back to original state */ + fp->_bf._base = old_base; + fp->_bf._size = old_size; +- fp->_p = old_p; ++ fp->_p = old_base; + resid -= fp->_r; + p += fp->_r; + fp->_r = 0; +@@ -222,27 +221,63 @@ _fread_r (struct _reent * ptr, + else + #endif /* !PREFER_SIZE_OVER_SPEED && !__OPTIMIZE_SIZE__ */ + { + -+libc/stdlib/libc_a-threads.obj: libc/stdlib/threads.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-threads.obj -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo -c -o libc/stdlib/libc_a-threads.obj `if test -f 'libc/stdlib/threads.c'; then $(CYGPATH_W) 'libc/stdlib/threads.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/threads.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-threads.Tpo libc/stdlib/$(DEPDIR)/libc_a-threads.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/stdlib/threads.c' object='libc/stdlib/libc_a-threads.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/stdlib/libc_a-threads.obj `if test -f 'libc/stdlib/threads.c'; then $(CYGPATH_W) 'libc/stdlib/threads.c'; else $(CYGPATH_W) '$(srcdir)/libc/stdlib/threads.c'; fi` ++ /* ensure buffer set up before read */ ++ if (fp->_bf._base == NULL) ++ __smakebuf_r (ptr, fp); + - libc/stdlib/libc_a-utoa.o: libc/stdlib/utoa.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/stdlib/libc_a-utoa.o -MD -MP -MF libc/stdlib/$(DEPDIR)/libc_a-utoa.Tpo -c -o libc/stdlib/libc_a-utoa.o `test -f 'libc/stdlib/utoa.c' || echo '$(srcdir)/'`libc/stdlib/utoa.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/stdlib/$(DEPDIR)/libc_a-utoa.Tpo libc/stdlib/$(DEPDIR)/libc_a-utoa.Po --- -2.20.1 - - -From 5b29a93ed400bb0d9fedb237c1e6e3ee2e8b72b8 Mon Sep 17 00:00:00 2001 -From: fincs -Date: Tue, 26 Mar 2019 14:30:17 +0100 -Subject: [PATCH 71/83] Disable _STDIO_WITH_THREAD_CANCELLATION_SUPPORT - ---- - newlib/libc/stdio/local.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ++ + while (resid > (r = fp->_r)) +- { +- (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r); +- fp->_p += r; +- /* fp->_r = 0 ... done in __srefill */ +- p += r; +- resid -= r; +- if (__srefill_r (ptr, fp)) +- { +- /* no more input: return partial result */ ++ { ++ (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r); ++ fp->_p += r; ++ /* fp->_r = 0 ... done in __srefill */ ++ p += r; ++ resid -= r; ++ ++ if (resid>fp->_bf._size) ++ { int rc = 0; ++ /* save fp buffering state */ ++ void *old_base = fp->_bf._base; ++ int old_size = fp->_bf._size; ++ /* allow __refill to use user's buffer */ ++ fp->_bf._base = (unsigned char *) p; ++ fp->_bf._size = resid - old_size; ++ fp->_p = (unsigned char *) p; ++ rc = __srefill_r (ptr, fp); ++ /* restore fp buffering back to original state */ ++ fp->_bf._base = old_base; ++ fp->_bf._size = old_size; ++ fp->_p = old_base; ++ resid -= fp->_r; ++ p += fp->_r; ++ if (rc) ++ { + #ifdef __SCLE +- if (fp->_flags & __SCLE) +- { +- _newlib_flockfile_exit (fp); +- return crlf_r (ptr, fp, buf, total-resid, 1) / size; +- } ++ if (fp->_flags & __SCLE) ++ { ++ _newlib_flockfile_exit (fp); ++ return crlf_r (ptr, fp, buf, total-resid, 1) / size; ++ } + #endif +- _newlib_flockfile_exit (fp); +- return (total - resid) / size; +- } +- } ++ _newlib_flockfile_exit (fp); ++ return (total - resid) / size; ++ } ++ } ++ if (__srefill_r (ptr, fp)) ++ { ++ /* no more input: return partial result */ ++#ifdef __SCLE ++ if (fp->_flags & __SCLE) ++ { ++ _newlib_flockfile_exit (fp); ++ return crlf_r (ptr, fp, buf, total-resid, 1) / size; ++ } ++#endif ++ _newlib_flockfile_exit (fp); ++ return (total - resid) / size; ++ } ++ } + (void) memcpy ((void *) p, (void *) fp->_p, resid); + fp->_r -= resid; + fp->_p += resid; diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h -index b34c7c9d8..9e4cc6725 100644 +index 63c0618f1..dd3801900 100644 --- a/newlib/libc/stdio/local.h +++ b/newlib/libc/stdio/local.h @@ -56,7 +56,7 @@ @@ -14282,1166 +11962,544 @@ index b34c7c9d8..9e4cc6725 100644 #if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS) \ - && !defined (__rtems__) -+ && !defined (__rtems__) && !defined (__DEVKITA64__) ++ && !defined (__rtems__) && !defined (__DEVKITPRO__) #define _STDIO_WITH_THREAD_CANCELLATION_SUPPORT #endif --- -2.20.1 - - -From 43e29b85089f56daf70d05c6375c4c98e69f29c0 Mon Sep 17 00:00:00 2001 -From: fincs -Date: Tue, 26 Mar 2019 20:27:49 +0100 -Subject: [PATCH 72/83] Implement pthread barrier, rwlock & posix semaphore - ---- - libgloss/libsysbase/pthread.c | 427 +++++++++++++++++++++++- - newlib/libc/include/semaphore.h | 69 ++++ - newlib/libc/include/sys/_pthreadtypes.h | 20 +- - newlib/libc/include/sys/features.h | 4 + - 4 files changed, 512 insertions(+), 8 deletions(-) - create mode 100755 newlib/libc/include/semaphore.h - -diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c -index e4240af87..ff84cd355 100755 ---- a/libgloss/libsysbase/pthread.c -+++ b/libgloss/libsysbase/pthread.c -@@ -1,10 +1,17 @@ - #include -+#include - #include - #include - #include - #include - #include +diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c +index d8dfdbd82..a85b5a99b 100644 +--- a/newlib/libc/stdio/remove.c ++++ b/newlib/libc/stdio/remove.c +@@ -57,13 +57,17 @@ Supporting OS subroutine required: <>. + #include <_ansi.h> + #include + #include ++#include -+static inline uint64_t -+__pthread_abstime_to_ns (const struct timespec *__abstime) -+{ -+ return __abstime ? abstimespec2nsec(CLOCK_REALTIME, __abstime) : UINT64_MAX; -+} -+ int - pthread_atfork (void (*prepare)(void), void (*parent)(void), void (*child)(void)) + _remove_r (struct _reent *ptr, + const char *filename) { -@@ -82,10 +89,10 @@ pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__attr) - case PTHREAD_MUTEX_NORMAL: - case PTHREAD_MUTEX_ERRORCHECK: - case PTHREAD_MUTEX_DEFAULT: -- __lock_init(__mutex->normal); -+ __mutex->normal = __LOCK_INITIALIZER; - break; - case PTHREAD_MUTEX_RECURSIVE: -- __lock_init_recursive(__mutex->recursive); -+ __mutex->recursive = __LOCK_INITIALIZER_RECURSIVE; - break; - default: - return EINVAL; -@@ -238,7 +245,8 @@ pthread_cond_init (pthread_cond_t *__cond, const pthread_condattr_t *__attr) - return EINVAL; - - __cond->clock_id = __attr->clock_id; -- return __cond_init(__cond->cond); -+ __cond->cond = __COND_INITIALIZER; -+ return 0; - } +- if (_unlink_r (ptr, filename) == -1) +- return -1; ++ if (_unlink_r (ptr, filename) == -1) { ++ errno = 0; ++ if (_rmdir_r(ptr, filename) == -1) ++ return -1; ++ } - int -@@ -643,6 +651,419 @@ _pthread_cleanup_pop (struct _pthread_cleanup_context *_context, int _execute) - } + return 0; } +diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c +index feb1fab56..7a59eb21f 100644 +--- a/newlib/libc/stdio/vfprintf.c ++++ b/newlib/libc/stdio/vfprintf.c +@@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, + <>, <>, <>, <>. + */ -+//----------------------------------------------------------------------------- -+// Barrier -+//----------------------------------------------------------------------------- -+ -+int -+pthread_barrierattr_init (pthread_barrierattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ return 0; -+} -+ -+int -+pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ return 0; -+} -+ -+int -+pthread_barrierattr_getpshared (const pthread_barrierattr_t *__attr, int *__pshared) -+{ -+ return ENOSYS; -+} -+ -+int -+pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, int __pshared) -+{ -+ return ENOSYS; -+} -+ -+int -+pthread_barrier_init (pthread_barrier_t *__barrier, const pthread_barrierattr_t *__attr, unsigned __count) -+{ -+ if (!__barrier || !__count) -+ return EINVAL; -+ -+ __barrier->lock = __LOCK_INITIALIZER; -+ __barrier->cond = __COND_INITIALIZER; -+ __barrier->reload = __count; -+ __barrier->counter = __count; -+ __barrier->cycle = 0; -+ return 0; -+} -+ -+int -+pthread_barrier_destroy (pthread_barrier_t *__barrier) -+{ -+ if (!__barrier) -+ return EINVAL; -+ return 0; -+} -+ -+int -+pthread_barrier_wait (pthread_barrier_t *__barrier) -+{ -+ if (!__barrier) -+ return EINVAL; -+ -+ __lock_acquire(__barrier->lock); -+ -+ int is_last_thread = !--__barrier->counter; -+ if (is_last_thread) { -+ __barrier->cycle ++; -+ __barrier->counter = __barrier->reload; -+ __cond_broadcast(__barrier->cond); -+ } else { -+ unsigned my_cycle = __barrier->cycle; -+ do -+ __cond_wait(__barrier->cond, __barrier->lock, UINT64_MAX); -+ while (__barrier->cycle == my_cycle); -+ } -+ -+ __lock_release(__barrier->lock); -+ return is_last_thread ? PTHREAD_BARRIER_SERIAL_THREAD : 0; -+} -+ -+//----------------------------------------------------------------------------- -+// Read/write lock -+//----------------------------------------------------------------------------- -+ -+int -+pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ return 0; -+} -+ -+int -+pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) -+{ -+ if (!__attr) -+ return EINVAL; -+ return 0; -+} -+ -+int -+pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *__attr, int *__pshared) -+{ -+ return ENOSYS; -+} -+ -+int -+pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, int __pshared) -+{ -+ return ENOSYS; -+} -+ -+int -+pthread_rwlock_init (pthread_rwlock_t *__rwlock, const pthread_rwlockattr_t *__attr) -+{ -+ if (!__rwlock) -+ return EINVAL; -+ *__rwlock = PTHREAD_RWLOCK_INITIALIZER; -+ return 0; -+} -+ -+int -+pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) -+{ -+ if (!__rwlock) -+ return EINVAL; -+ return 0; -+} -+ -+static int -+__pthread_rwlock_rdlock_common (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) -+{ -+ int rc = 0; -+ __lock_acquire(__rwlock->lock); -+ -+ while (__rwlock->cnt_w) { -+ rc = __cond_wait(__rwlock->cond_w, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); -+ if (rc) break; -+ } -+ -+ if (!rc) -+ __rwlock->cnt_r ++; -+ -+ __lock_release(__rwlock->lock); -+ return rc; -+} -+ -+int -+pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) -+{ -+ if (!__rwlock) -+ return EINVAL; -+ return __pthread_rwlock_rdlock_common(__rwlock, NULL); -+} -+ -+int -+pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) -+{ -+ if (!__rwlock) -+ return EINVAL; -+ -+ __lock_acquire(__rwlock->lock); -+ -+ int failed = __rwlock->cnt_w != 0; -+ if (!failed) -+ __rwlock->cnt_r ++; -+ -+ __lock_release(__rwlock->lock); -+ return failed ? EBUSY : 0; -+} -+ -+int -+pthread_rwlock_timedrdlock (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) -+{ -+ if (!__rwlock || !__abstime) -+ return EINVAL; -+ return __pthread_rwlock_rdlock_common(__rwlock, __abstime); -+} -+ -+int -+pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) -+{ -+ if (!__rwlock) -+ return EINVAL; -+ -+ __lock_acquire(__rwlock->lock); -+ -+ if (__rwlock->cnt_w != 2) { -+ if (!--__rwlock->cnt_r) -+ __cond_broadcast(__rwlock->cond_r); -+ } else { -+ __rwlock->cnt_w = 0; -+ __cond_broadcast(__rwlock->cond_w); -+ } -+ -+ __lock_release(__rwlock->lock); -+ return 0; -+} ++#pragma GCC optimize ("Os") + -+static int -+__pthread_rwlock_wrlock_common (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) -+{ -+ int rc = 0; -+ __lock_acquire(__rwlock->lock); + #if defined(LIBC_SCCS) && !defined(lint) + /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ + static char *rcsid = "$Id$"; +@@ -1188,7 +1190,7 @@ reswitch: switch (ch) { + string: + #endif + sign = '\0'; +-#ifndef __OPTIMIZE_SIZE__ ++//#ifndef __OPTIMIZE_SIZE__ + /* Behavior is undefined if the user passed a + NULL string when precision is not 0. + However, if we are not optimizing for size, +@@ -1198,7 +1200,7 @@ string: + size = ((unsigned) prec > 6U) ? 6 : prec; + } + else +-#endif /* __OPTIMIZE_SIZE__ */ ++//#endif /* __OPTIMIZE_SIZE__ */ + #ifdef _MB_CAPABLE + if (ch == 'S' || (flags & LONGINT)) { + mbstate_t ps; +diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c +index 71e2c3e22..bd2d635ed 100644 +--- a/newlib/libc/stdio/vfscanf.c ++++ b/newlib/libc/stdio/vfscanf.c +@@ -74,6 +74,8 @@ These are GNU extensions. + Supporting OS subroutines required: + */ + ++#pragma GCC optimize ("Os") + -+ while (__rwlock->cnt_w) { -+ rc = __cond_wait(__rwlock->cond_w, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); -+ if (rc) break; -+ } + #include <_ansi.h> + #include + #include +diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c +index 5a5c36829..3eaca0ce6 100644 +--- a/newlib/libc/stdio/vfwprintf.c ++++ b/newlib/libc/stdio/vfwprintf.c +@@ -92,6 +92,9 @@ SEEALSO + * + * This code is large and complicated... + */ + -+ if (!rc) { -+ __rwlock->cnt_w = 1; ++#pragma GCC optimize ("Os") + -+ while (__rwlock->cnt_r) { -+ rc = __cond_wait(__rwlock->cond_r, __rwlock->lock, __pthread_abstime_to_ns(__abstime)); -+ if (rc) break; -+ } + #include + + #ifdef INTEGER_ONLY +diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c +index d2f91dde2..de80cc0c0 100644 +--- a/newlib/libc/stdio/vfwscanf.c ++++ b/newlib/libc/stdio/vfwscanf.c +@@ -74,6 +74,9 @@ PORTABILITY + C99, POSIX-1.2008 + */ + + -+ if (rc) { -+ __rwlock->cnt_w = 0; -+ __cond_broadcast(__rwlock->cond_w); -+ } else -+ __rwlock->cnt_w = 2; -+ } ++#pragma GCC optimize ("Os") + -+ __lock_release(__rwlock->lock); -+ return rc; -+} + #include <_ansi.h> + #include + #include +diff --git a/newlib/libc/stdlib/Makefile.inc b/newlib/libc/stdlib/Makefile.inc +index 9812add76..8410f2633 100644 +--- a/newlib/libc/stdlib/Makefile.inc ++++ b/newlib/libc/stdlib/Makefile.inc +@@ -68,6 +68,7 @@ libc_a_SOURCES += \ + %D%/strtol.c \ + %D%/strtoul.c \ + %D%/strtoumax.c \ ++ %D%/threads.c \ + %D%/utoa.c \ + %D%/wcstod.c \ + %D%/wcstoimax.c \ +diff --git a/newlib/libc/stdlib/__call_atexit.c b/newlib/libc/stdlib/__call_atexit.c +index 710440389..985e720bf 100644 +--- a/newlib/libc/stdlib/__call_atexit.c ++++ b/newlib/libc/stdlib/__call_atexit.c +@@ -21,6 +21,7 @@ struct _atexit *__atexit = _NULL; + + #ifdef _WANT_REGISTER_FINI + ++#if 0 + /* If "__libc_fini" is defined, finalizers (either + "__libc_fini_array", or "_fini", as appropriate) will be run after + all user-specified atexit handlers. For example, you can define +@@ -36,6 +37,7 @@ struct _atexit *__atexit = _NULL; + used with multiple BSPs, some of which register finalizers from + startup code, while others defer to the C library. */ + extern char __libc_fini __attribute__((weak)); ++#endif + + /* Register the application finalization function with atexit. These + finalizers should run last. Therefore, we want to call atexit as +@@ -46,6 +48,7 @@ register_fini(void) __attribute__((constructor (0))); + static void + register_fini(void) + { ++#if 0 + if (&__libc_fini) { + #ifdef _HAVE_INITFINI_ARRAY + extern void __libc_fini_array (void); +@@ -55,6 +58,10 @@ register_fini(void) + atexit (_fini); + #endif + } ++#else ++ extern void __fini (void); ++ atexit (__fini); ++#endif + } + + #endif /* _WANT_REGISTER_FINI */ +diff --git a/newlib/libc/stdlib/exit.c b/newlib/libc/stdlib/exit.c +index 9b7bd518b..f0e33bbc1 100644 +--- a/newlib/libc/stdlib/exit.c ++++ b/newlib/libc/stdlib/exit.c +@@ -45,6 +45,16 @@ Supporting OS subroutines required: <<_exit>>. + #include + #include "atexit.h" + ++// exit calls this handler; avoid a hard dependency on findfp by providing a weak global ++void (*__stdio_exit_handler)(void) __attribute__((weak)); + -+int -+pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) ++// exit calls this function; avoid a hard dependency on atexit by providing a simple weak implementation ++__attribute__((weak)) void __call_exitprocs(int rc, void* dso) +{ -+ if (!__rwlock) -+ return EINVAL; -+ return __pthread_rwlock_wrlock_common(__rwlock, NULL); ++ extern void __libc_fini_array(void); ++ __libc_fini_array(); +} + -+int -+pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) -+{ -+ if (!__rwlock) -+ return EINVAL; + /* + * Exit, flushing stdio buffers if necessary. + */ +diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c +index 23aa10173..ba88eb9fb 100644 +--- a/newlib/libc/stdlib/mlock.c ++++ b/newlib/libc/stdlib/mlock.c +@@ -1,4 +1,5 @@ + #ifndef MALLOC_PROVIDED ++#ifndef CUSTOM_MALLOC_LOCK + /* + FUNCTION + <<__malloc_lock>>, <<__malloc_unlock>>---lock malloc pool +@@ -55,3 +56,4 @@ __malloc_unlock (ptr) + } + + #endif ++#endif +diff --git a/newlib/libc/stdlib/threads.c b/newlib/libc/stdlib/threads.c +new file mode 100755 +index 000000000..741111ea0 +--- /dev/null ++++ b/newlib/libc/stdlib/threads.c +@@ -0,0 +1,224 @@ ++/*- ++ * Copyright (c) 2019 fincs ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ */ + -+ __lock_acquire(__rwlock->lock); ++#include ++#include ++#include ++#include ++#include ++#include + -+ int failed = __rwlock->cnt_w != 0 || __rwlock->cnt_r != 0; -+ if (!failed) -+ __rwlock->cnt_w = 2; ++#if defined(PTHREAD_MUTEX_INITIALIZER) && defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) ++#define MTX_DIRECT_INIT ++#endif + -+ __lock_release(__rwlock->lock); -+ return failed ? EBUSY : 0; -+} ++#if defined(PTHREAD_COND_INITIALIZER) ++#define CND_DIRECT_INIT ++#endif + -+int -+pthread_rwlock_timedwrlock (pthread_rwlock_t *__rwlock, const struct timespec *__abstime) ++static inline int err2thrd(int err) +{ -+ if (!__rwlock || !__abstime) -+ return EINVAL; -+ return __pthread_rwlock_wrlock_common(__rwlock, __abstime); ++ switch (err) { ++ case 0: ++ return thrd_success; ++ case EBUSY: ++ return thrd_busy; ++ case ETIMEDOUT: ++ return thrd_timedout; ++ case ENOMEM: ++ return thrd_nomem; ++ default: ++ return thrd_error; ++ } +} + -+//----------------------------------------------------------------------------- -+// semaphore.h -+//----------------------------------------------------------------------------- -+ -+int -+sem_close(sem_t *__sem) ++void call_once(once_flag *flag, void (*func)(void)) +{ -+ errno = ENOSYS; -+ return -1; ++ pthread_once(flag, func); +} + -+int -+sem_destroy(sem_t *__sem) ++int cnd_broadcast(cnd_t *cond) +{ -+ if (!__sem) { -+ errno = EINVAL; -+ return -1; -+ } -+ return 0; ++ int err = pthread_cond_broadcast(cond); ++ return err2thrd(err); +} + -+int -+sem_getvalue(sem_t *__sem, int *__sval) ++void cnd_destroy(cnd_t *cond) +{ -+ if (!__sem || !__sval) { -+ errno = EINVAL; -+ return -1; -+ } -+ -+ __lock_acquire(__sem->lock); -+ *__sval = __sem->value; -+ __lock_release(__sem->lock); -+ return 0; ++#ifndef CND_DIRECT_INIT ++ pthread_cond_destroy(cond); ++#endif +} + -+int -+sem_init(sem_t *__sem, int __pshared, unsigned int __value) ++int cnd_init(cnd_t *cond) +{ -+ if (!__sem || __value > SEM_VALUE_MAX) { -+ errno = EINVAL; -+ return -1; -+ } -+ if (__pshared) { -+ errno = ENOSYS; -+ return -1; -+ } ++#ifdef CND_DIRECT_INIT ++ *cond = PTHREAD_COND_INITIALIZER; ++ return thrd_success; ++#else ++ int err = pthread_cond_init(cond, NULL); ++ return err2thrd(err); ++#endif ++} + -+ __sem->lock = __LOCK_INITIALIZER; -+ __sem->cond = __COND_INITIALIZER; -+ __sem->value = __value; -+ return 0; ++int cnd_signal(cnd_t *cond) ++{ ++ int err = pthread_cond_signal(cond); ++ return err2thrd(err); +} + -+sem_t * -+sem_open(const char *__name, int __oflag, ...) ++int cnd_timedwait(cnd_t *__restrict cond, mtx_t *__restrict mtx, const struct timespec *__restrict abs_time) +{ -+ errno = ENOSYS; -+ return SEM_FAILED; ++ int err = pthread_cond_timedwait(cond, mtx, abs_time); ++ return err2thrd(err); +} + -+int -+sem_post(sem_t *__sem) ++int cnd_wait(cnd_t *cond, mtx_t *mtx) +{ -+ if (!__sem) { -+ errno = EINVAL; -+ return -1; -+ } -+ -+ __lock_acquire(__sem->lock); -+ if (__sem->value++ < 0) -+ __cond_signal(__sem->cond); -+ __lock_release(__sem->lock); -+ return 0; ++ int err = pthread_cond_wait(cond, mtx); ++ return err2thrd(err); +} + -+static int -+__sem_wait_common(sem_t *__sem, const struct timespec *__abstime) ++void mtx_destroy(mtx_t *mtx) +{ -+ int rc = 0; -+ __lock_acquire(__sem->lock); -+ -+ __sem->value --; -+ if (__sem->value < 0) -+ rc = __cond_wait(__sem->cond, __sem->lock, __pthread_abstime_to_ns(__abstime)); -+ if (rc) { -+ if (__sem->value < 0) -+ __sem->value ++; -+ else -+ rc = 0; -+ } -+ -+ __lock_release(__sem->lock); -+ -+ if (rc) { -+ errno = rc; -+ return -1; -+ } -+ -+ return 0; ++#ifndef MTX_DIRECT_INIT ++ pthread_mutex_destroy(mtx); ++#endif +} + -+int -+sem_timedwait(sem_t *__sem, const struct timespec *__abstime) ++int mtx_init(mtx_t *mtx, int type) +{ -+ if (!__sem || !__abstime) { -+ errno = EINVAL; -+ return -1; -+ } -+ -+ return __sem_wait_common(__sem, __abstime); ++ if (type & mtx_timed) ++ return thrd_error; ++#ifdef MTX_DIRECT_INIT ++ if (type & mtx_recursive) ++ *mtx = PTHREAD_RECURSIVE_MUTEX_INITIALIZER; ++ else ++ *mtx = PTHREAD_MUTEX_INITIALIZER; ++ return thrd_success; ++#else ++ pthread_mutexattr_t attr; ++ pthread_mutexattr_init(&attr); ++ if (type & mtx_plain) ++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL); ++ if (type & mtx_recursive) ++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); ++ int err = pthread_mutex_init(mtx, &attr); ++ pthread_mutexattr_destroy(&attr); ++ return err2thrd(err); ++#endif +} + -+int -+sem_trywait(sem_t *__sem) ++int mtx_lock(mtx_t *mtx) +{ -+ if (!__sem) { -+ errno = EINVAL; -+ return -1; -+ } -+ -+ __lock_acquire(__sem->lock); -+ -+ int failed = __sem->value <= 0; -+ if (!failed) -+ __sem->value --; -+ -+ __lock_release(__sem->lock); -+ -+ if (failed) { -+ errno = EAGAIN; -+ return -1; -+ } -+ -+ return 0; ++ int err = pthread_mutex_lock(mtx); ++ return err2thrd(err); +} + -+int -+sem_unlink(const char *__name) ++int mtx_timedlock(mtx_t *__restrict mtx, const struct timespec *__restrict ts) +{ -+ errno = ENOSYS; -+ return -1; ++ return thrd_error; +} + -+int -+sem_wait(sem_t *__sem) ++int mtx_trylock(mtx_t *mtx) +{ -+ if (!__sem) { -+ errno = EINVAL; -+ return -1; -+ } -+ -+ return __sem_wait_common(__sem, NULL); ++ int err = pthread_mutex_trylock(mtx); ++ return err2thrd(err); +} + - //----------------------------------------------------------------------------- - // sched.h - //----------------------------------------------------------------------------- -diff --git a/newlib/libc/include/semaphore.h b/newlib/libc/include/semaphore.h -new file mode 100755 -index 000000000..4afb0e419 ---- /dev/null -+++ b/newlib/libc/include/semaphore.h -@@ -0,0 +1,69 @@ -+/* -+ * Copyright (c) 2010 David Xu -+ * -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice unmodified, this list of conditions, and the following -+ * disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ * -+ * $FreeBSD: head/include/semaphore.h 314424 2017-02-28 21:47:00Z vangyzen $ -+ */ -+ -+/* semaphore.h: POSIX 1003.1b semaphores */ -+ -+#ifndef _SEMAPHORE_H_ -+#define _SEMAPHORE_H_ -+ -+#include -+ -+#if defined(_POSIX_SEMAPHORES) -+ -+#include -+#include -+#include -+#include -+#include -+ -+typedef struct { -+ _LOCK_T lock; -+ _COND_T cond; -+ int value; -+} sem_t; -+ -+#define SEM_VALUE_MAX INT_MAX -+#define SEM_FAILED ((sem_t *)0) ++int mtx_unlock(mtx_t *mtx) ++{ ++ int err = pthread_mutex_unlock(mtx); ++ return err2thrd(err); ++} + -+__BEGIN_DECLS -+int sem_close(sem_t *); -+int sem_destroy(sem_t *); -+int sem_getvalue(sem_t * __restrict, int * __restrict); -+int sem_init(sem_t *, int, unsigned int); -+sem_t *sem_open(const char *, int, ...); -+int sem_post(sem_t *); -+int sem_timedwait(sem_t * __restrict, const struct timespec * __restrict); -+int sem_trywait(sem_t *); -+int sem_unlink(const char *); -+int sem_wait(sem_t *); -+__END_DECLS ++int thrd_create(thrd_t *thr, thrd_start_t func, void *arg) ++{ ++ int err = pthread_create(thr, NULL, (void*(*)(void*))func, arg); ++ return err2thrd(err); ++} + -+#endif /* defined(_POSIX_SEMAPHORES) */ ++thrd_t thrd_current(void) ++{ ++ return pthread_self(); ++} + -+#endif /* !_SEMAPHORE_H_ */ -diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h -index a3642c951..dc63dbe6a 100644 ---- a/newlib/libc/include/sys/_pthreadtypes.h -+++ b/newlib/libc/include/sys/_pthreadtypes.h -@@ -184,9 +184,14 @@ typedef struct { - /* POSIX Barrier Types */ - - #if defined(_POSIX_BARRIERS) --typedef __uint32_t pthread_barrier_t; /* POSIX Barrier Object */ - typedef struct { -- int is_initialized; /* is this structure initialized? */ -+ _LOCK_T lock; -+ _COND_T cond; -+ unsigned reload; -+ unsigned counter; -+ unsigned cycle; -+} pthread_barrier_t; /* POSIX Barrier Object */ -+typedef struct { - #if defined(_POSIX_THREAD_PROCESS_SHARED) - int process_shared; /* allow this to be shared amongst processes */ - #endif -@@ -202,12 +207,17 @@ typedef __uint32_t pthread_spinlock_t; /* POSIX Spin Lock Object */ - /* POSIX Reader/Writer Lock Types */ - - #if defined(_POSIX_READER_WRITER_LOCKS) --typedef __uint32_t pthread_rwlock_t; /* POSIX RWLock Object */ -+typedef struct { -+ _LOCK_T lock; -+ _COND_T cond_r; -+ _COND_T cond_w; -+ uint32_t cnt_r : 30; -+ uint32_t cnt_w : 2; -+} pthread_rwlock_t; /* POSIX RWLock Object */ - --#define _PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t) 0xFFFFFFFF) -+#define _PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t){ __LOCK_INITIALIZER, __COND_INITIALIZER, __COND_INITIALIZER, 0, 0 }) - - typedef struct { -- int is_initialized; /* is this structure initialized? */ - #if defined(_POSIX_THREAD_PROCESS_SHARED) - int process_shared; /* allow this to be shared amongst processes */ - #endif -diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index f7ce9fe67..69ac51932 100644 ---- a/newlib/libc/include/sys/features.h -+++ b/newlib/libc/include/sys/features.h -@@ -335,9 +335,13 @@ extern "C" { - #define _POSIX_MONOTONIC_CLOCK 200112L - #define _POSIX_TIMERS 1 - #define _POSIX_THREADS 1 -+#define _POSIX_SEMAPHORES 1 -+#define _POSIX_BARRIERS 200112L -+#define _POSIX_READER_WRITER_LOCKS 200112L - #define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 - #endif - ++int thrd_detach(thrd_t thr) ++{ ++ int err = pthread_detach(thr); ++ return err2thrd(err); ++} + - /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ - - #ifdef __rtems__ --- -2.20.1 - - -From c4b7f1f938838349492b8bd40cce96a14adc0729 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 24 Mar 2023 22:16:46 +0000 -Subject: [PATCH 73/83] add dummy libpthread - ---- - libgloss/libsysbase/Makefile.inc | 7 +++++++ - libgloss/libsysbase/dummy.c | 0 - 2 files changed, 7 insertions(+) - create mode 100644 libgloss/libsysbase/dummy.c - -diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc -index 8ad8925ea..123a1dedf 100644 ---- a/libgloss/libsysbase/Makefile.inc -+++ b/libgloss/libsysbase/Makefile.inc -@@ -1,6 +1,13 @@ - multilibtool_DATA += %D%/sysbase.specs ++int thrd_equal(thrd_t thr1, thrd_t thr2) ++{ ++ return pthread_equal(thr1, thr2); ++} + -+multilibtool_LIBRARIES += %D%/libpthread.a ++void thrd_exit(int res) ++{ ++ pthread_exit((void*)(uintptr_t)res); ++} + -+%C%_libpthread_a_SOURCES = \ -+ %D%/dummy.c ++int thrd_join(thrd_t thr, int *res) ++{ ++ void *value = NULL; ++ int err = pthread_join(thr, &value); ++ if (!err && res) ++ *res = (uintptr_t)value; ++ return err2thrd(err); ++} + - multilibtool_LIBRARIES += %D%/libsysbase.a - ++int thrd_sleep(const struct timespec *duration, struct timespec *remaining) ++{ ++ return nanosleep(duration, remaining); ++} + - %C%_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE - - %C%_libsysbase_a_SOURCES = \ -diff --git a/libgloss/libsysbase/dummy.c b/libgloss/libsysbase/dummy.c -new file mode 100644 -index 000000000..e69de29bb --- -2.20.1 - - -From 1931643958716ff9904895602af6ef4d81820baf Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 24 Mar 2023 22:18:22 +0000 -Subject: [PATCH 74/83] libgloss/Makefile.in: regenerate - ---- - libgloss/Makefile.in | 29 ++++++++++++++++++++++++----- - 1 file changed, 24 insertions(+), 5 deletions(-) - -diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in -index c3dfe488c..44731970d 100644 ---- a/libgloss/Makefile.in -+++ b/libgloss/Makefile.in -@@ -174,7 +174,8 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) - @CONFIG_LIBNOSYS_TRUE@am__append_27 = libnosys/nosys.specs - @CONFIG_LIBNOSYS_TRUE@am__append_28 = libnosys/libnosys.a - @CONFIG_LIBSYSBASE_TRUE@am__append_29 = libsysbase/sysbase.specs --@CONFIG_LIBSYSBASE_TRUE@am__append_30 = libsysbase/libsysbase.a -+@CONFIG_LIBSYSBASE_TRUE@am__append_30 = libsysbase/libpthread.a \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase.a - @CONFIG_LM32_TRUE@am__append_31 = lm32/crt0.o lm32/sim.ld - @CONFIG_LM32_TRUE@am__append_32 = lm32/libgloss.a - @CONFIG_LM32_TRUE@am__append_33 = lm32/crt0.S -@@ -424,6 +425,12 @@ libobjs_a_LIBADD = - am_libobjs_a_OBJECTS = $(am__objects_3) $(am__objects_4) \ - $(am__objects_5) $(am__objects_6) - libobjs_a_OBJECTS = $(am_libobjs_a_OBJECTS) -+libsysbase_libpthread_a_AR = $(AR) $(ARFLAGS) -+libsysbase_libpthread_a_LIBADD = -+@CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libpthread_a_OBJECTS = \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dummy.$(OBJEXT) -+libsysbase_libpthread_a_OBJECTS = \ -+ $(am_libsysbase_libpthread_a_OBJECTS) - libsysbase_libsysbase_a_AR = $(AR) $(ARFLAGS) - libsysbase_libsysbase_a_LIBADD = - @CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libsysbase_a_OBJECTS = libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT) \ -@@ -632,10 +639,11 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ - $(bfin_libbfinbsp_a_SOURCES) $(bfin_libsim_a_SOURCES) \ - $(csky_libsemi_a_SOURCES) $(d30v_libsim_a_SOURCES) \ - $(iq2000_libeval_a_SOURCES) $(libnosys_libnosys_a_SOURCES) \ -- $(libobjs_a_SOURCES) $(libsysbase_libsysbase_a_SOURCES) \ -- $(lm32_libgloss_a_SOURCES) $(nios2_libnios2_a_SOURCES) \ -- $(riscv_libgloss_a_SOURCES) $(riscv_libsemihost_a_SOURCES) \ -- bfin/sim-test.c iq2000/test.c $(wince_stub_exe_SOURCES) -+ $(libobjs_a_SOURCES) $(libsysbase_libpthread_a_SOURCES) \ -+ $(libsysbase_libsysbase_a_SOURCES) $(lm32_libgloss_a_SOURCES) \ -+ $(nios2_libnios2_a_SOURCES) $(riscv_libgloss_a_SOURCES) \ -+ $(riscv_libsemihost_a_SOURCES) bfin/sim-test.c iq2000/test.c \ -+ $(wince_stub_exe_SOURCES) - AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) - am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) - am__v_DVIPS_0 = @echo " DVIPS " $@; -@@ -1054,6 +1062,9 @@ TEXINFO_TEX = ../texinfo/texinfo.tex - @CONFIG_LIBNOSYS_TRUE@ libnosys/write.c \ - @CONFIG_LIBNOSYS_TRUE@ libnosys/_exit.c - -+@CONFIG_LIBSYSBASE_TRUE@libsysbase_libpthread_a_SOURCES = \ -+@CONFIG_LIBSYSBASE_TRUE@ libsysbase/dummy.c ++void thrd_yield(void) ++{ ++ sched_yield(); ++} + - @CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_CPPFLAGS = $(AM_CPPFLAGS) -D_BUILDING_LIBSYSBASE - @CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_SOURCES = \ - @CONFIG_LIBSYSBASE_TRUE@ libsysbase/_exit.c \ -@@ -1709,6 +1720,13 @@ libsysbase/$(am__dirstamp): - libsysbase/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) libsysbase/$(DEPDIR) - @: > libsysbase/$(DEPDIR)/$(am__dirstamp) -+libsysbase/dummy.$(OBJEXT): libsysbase/$(am__dirstamp) \ -+ libsysbase/$(DEPDIR)/$(am__dirstamp) ++int tss_create(tss_t *key, tss_dtor_t dtor) ++{ ++ int err = pthread_key_create(key, dtor); ++ return err2thrd(err); ++} + -+libsysbase/libpthread.a: $(libsysbase_libpthread_a_OBJECTS) $(libsysbase_libpthread_a_DEPENDENCIES) $(EXTRA_libsysbase_libpthread_a_DEPENDENCIES) libsysbase/$(am__dirstamp) -+ $(AM_V_at)-rm -f libsysbase/libpthread.a -+ $(AM_V_AR)$(libsysbase_libpthread_a_AR) libsysbase/libpthread.a $(libsysbase_libpthread_a_OBJECTS) $(libsysbase_libpthread_a_LIBADD) -+ $(AM_V_at)$(RANLIB) libsysbase/libpthread.a - libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT): \ - libsysbase/$(am__dirstamp) \ - libsysbase/$(DEPDIR)/$(am__dirstamp) -@@ -2262,6 +2280,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/unlink.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/wait.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/write.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/dummy.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po@am__quote@ --- -2.20.1 - - -From 561315e6febf2d6443e951b61866dd06fc8280bc Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 24 Mar 2023 23:09:46 +0000 -Subject: [PATCH 75/83] devkitA64 init/close functions - ---- - libgloss/libsysbase/syscall_support.c | 15 +++------------ - 1 file changed, 3 insertions(+), 12 deletions(-) - -diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c -index 5f4f54cac..c73ad2b71 100644 ---- a/libgloss/libsysbase/syscall_support.c -+++ b/libgloss/libsysbase/syscall_support.c -@@ -42,9 +42,8 @@ abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts) - - void __libc_lock_init(_LOCK_T *lock) { - -- if ( __has_syscall(lock_init) ) { -- __syscall_lock_init(lock); -- } -+ *lock = __LOCK_INITIALIZER; ++void tss_delete(tss_t key) ++{ ++ pthread_key_delete(key); ++} + - } - - void __libc_lock_acquire(_LOCK_T *lock ) { -@@ -72,16 +71,11 @@ void __libc_lock_release(_LOCK_T *lock ) { - - void __libc_lock_close(_LOCK_T *lock ) { - -- if ( __has_syscall(lock_close) ) { -- __syscall_lock_close(lock); -- } - } - - void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { - -- if ( __has_syscall(lock_init_recursive) ) { -- __syscall_lock_init_recursive(lock); -- } -+ *lock = __LOCK_INITIALIZER_RECURSIVE; - - } - -@@ -110,9 +104,6 @@ void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { - - void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { - -- if ( __has_syscall(lock_close_recursive) ) { -- __syscall_lock_close_recursive(lock); -- } - } - - int __libc_cond_init(_COND_T *cond) { --- -2.20.1 - - -From 0321d0fc075123edd7ee93b0d7769902e0486c24 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Sat, 25 Mar 2023 00:10:22 +0000 -Subject: [PATCH 76/83] add access for devkitA64 - ---- - newlib/libc/machine/aarch64/Makefile.inc | 1 + - newlib/libc/machine/aarch64/access.c | 33 ++++++++++++++++++++++++ - 2 files changed, 34 insertions(+) - create mode 100644 newlib/libc/machine/aarch64/access.c - -diff --git a/newlib/libc/machine/aarch64/Makefile.inc b/newlib/libc/machine/aarch64/Makefile.inc -index 063a2a84a..790b07e7b 100644 ---- a/newlib/libc/machine/aarch64/Makefile.inc -+++ b/newlib/libc/machine/aarch64/Makefile.inc -@@ -1,4 +1,5 @@ - libc_a_SOURCES += \ -+ %D%/access.c \ - %D%/memchr-stub.c \ - %D%/memchr.S \ - %D%/memcmp-stub.c \ -diff --git a/newlib/libc/machine/aarch64/access.c b/newlib/libc/machine/aarch64/access.c ++void * tss_get(tss_t key) ++{ ++ return pthread_getspecific(key); ++} ++ ++int tss_set(tss_t key, void *val) ++{ ++ int err = pthread_setspecific(key, val); ++ return err2thrd(err); ++} +diff --git a/newlib/libc/sys/arm/include/machine/_types.h b/newlib/libc/sys/arm/include/machine/_types.h new file mode 100644 -index 000000000..980682ef3 +index 000000000..40092f99f --- /dev/null -+++ b/newlib/libc/machine/aarch64/access.c -@@ -0,0 +1,33 @@ -+/* This is file ACCESS.C */ -+/* -+ * Copyright (C) 1993 DJ Delorie -+ * All rights reserved. -+ * -+ * Redistribution, modification, and use in source and binary forms is permitted -+ * provided that the above copyright notice and following paragraph are -+ * duplicated in all such forms. -+ * -+ * This file is distributed WITHOUT ANY WARRANTY; without even the implied -+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -+ */ ++++ b/newlib/libc/sys/arm/include/machine/_types.h +@@ -0,0 +1,19 @@ ++#ifndef _MACHINE__TYPES_H ++#define _MACHINE__TYPES_H + -+#include -+#include -+#include ++#include + -+int access(const char *fn, int flags) -+{ -+ struct stat s; -+ if (stat(fn, &s)) -+ return -1; -+ if (s.st_mode & S_IFDIR) -+ return 0; -+ if (flags & W_OK) -+ { -+ if (s.st_mode & S_IWRITE) -+ return 0; -+ return -1; -+ } -+ return 0; -+} -+ --- -2.20.1 - - -From cdf458992e309ed280c52184d1773a68de74cbdd Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Sat, 25 Mar 2023 00:16:48 +0000 -Subject: [PATCH 77/83] newlib/Makefile.in: regenerate - ---- - newlib/Makefile.in | 22 +++++++++++++++++++++- - 1 file changed, 21 insertions(+), 1 deletion(-) - -diff --git a/newlib/Makefile.in b/newlib/Makefile.in -index 3ce198224..8a72f26f7 100644 ---- a/newlib/Makefile.in -+++ b/newlib/Makefile.in -@@ -586,6 +586,7 @@ check_PROGRAMS = - @HAVE_LIBC_SYS_W65_DIR_TRUE@am__append_63 = libc/sys/w65/syscalls.c libc/sys/w65/trap.c - @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__append_64 = libc/sys/z8ksim/glue.c - @HAVE_LIBC_MACHINE_AARCH64_TRUE@am__append_65 = \ -+@HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/access.c \ - @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memchr-stub.c \ - @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memchr.S \ - @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/memcmp-stub.c \ -@@ -1813,7 +1814,8 @@ am__objects_51 = libc/ssp/libc_a-chk_fail.$(OBJEXT) \ - @HAVE_LIBC_SYS_W65_DIR_TRUE@am__objects_74 = libc/sys/w65/libc_a-syscalls.$(OBJEXT) \ - @HAVE_LIBC_SYS_W65_DIR_TRUE@ libc/sys/w65/libc_a-trap.$(OBJEXT) - @HAVE_LIBC_SYS_Z8KSIM_DIR_TRUE@am__objects_75 = libc/sys/z8ksim/libc_a-glue.$(OBJEXT) --@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_76 = libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ -+@HAVE_LIBC_MACHINE_AARCH64_TRUE@am__objects_76 = libc/machine/aarch64/libc_a-access.$(OBJEXT) \ -+@HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memchr.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memcmp-stub.$(OBJEXT) \ - @HAVE_LIBC_MACHINE_AARCH64_TRUE@ libc/machine/aarch64/libc_a-memcmp.$(OBJEXT) \ -@@ -7764,6 +7766,9 @@ libc/machine/aarch64/$(am__dirstamp): - libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) libc/machine/aarch64/$(DEPDIR) - @: > libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) -+libc/machine/aarch64/libc_a-access.$(OBJEXT): \ -+ libc/machine/aarch64/$(am__dirstamp) \ -+ libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) - libc/machine/aarch64/libc_a-memchr-stub.$(OBJEXT): \ - libc/machine/aarch64/$(am__dirstamp) \ - libc/machine/aarch64/$(DEPDIR)/$(am__dirstamp) -@@ -12266,6 +12271,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-nl_langinfo.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-timelocal.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/locale/$(DEPDIR)/libc_a-uselocale.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memchr.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@libc/machine/aarch64/$(DEPDIR)/libc_a-memcmp-stub.Po@am__quote@ -@@ -32228,6 +32234,20 @@ libc/sys/z8ksim/libc_a-glue.obj: libc/sys/z8ksim/glue.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/sys/z8ksim/libc_a-glue.obj `if test -f 'libc/sys/z8ksim/glue.c'; then $(CYGPATH_W) 'libc/sys/z8ksim/glue.c'; else $(CYGPATH_W) '$(srcdir)/libc/sys/z8ksim/glue.c'; fi` - -+libc/machine/aarch64/libc_a-access.o: libc/machine/aarch64/access.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-access.o -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/aarch64/libc_a-access.o `test -f 'libc/machine/aarch64/access.c' || echo '$(srcdir)/'`libc/machine/aarch64/access.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/aarch64/access.c' object='libc/machine/aarch64/libc_a-access.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/aarch64/libc_a-access.o `test -f 'libc/machine/aarch64/access.c' || echo '$(srcdir)/'`libc/machine/aarch64/access.c ++/* Use 64bit types */ ++typedef __int64_t _off_t; ++#define __machine_off_t_defined + -+libc/machine/aarch64/libc_a-access.obj: libc/machine/aarch64/access.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-access.obj -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo -c -o libc/machine/aarch64/libc_a-access.obj `if test -f 'libc/machine/aarch64/access.c'; then $(CYGPATH_W) 'libc/machine/aarch64/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/aarch64/access.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-access.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-access.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libc/machine/aarch64/access.c' object='libc/machine/aarch64/libc_a-access.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -c -o libc/machine/aarch64/libc_a-access.obj `if test -f 'libc/machine/aarch64/access.c'; then $(CYGPATH_W) 'libc/machine/aarch64/access.c'; else $(CYGPATH_W) '$(srcdir)/libc/machine/aarch64/access.c'; fi` ++typedef __int64_t _fpos_t; ++#define __machine_fpos_t_defined + - libc/machine/aarch64/libc_a-memchr-stub.o: libc/machine/aarch64/memchr-stub.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/aarch64/libc_a-memchr-stub.o -MD -MP -MF libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Tpo -c -o libc/machine/aarch64/libc_a-memchr-stub.o `test -f 'libc/machine/aarch64/memchr-stub.c' || echo '$(srcdir)/'`libc/machine/aarch64/memchr-stub.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Tpo libc/machine/aarch64/$(DEPDIR)/libc_a-memchr-stub.Po --- -2.20.1 - - -From 4d4c179cea4f0dd8f9968c9f7fb92b0d8f29469a Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Fri, 31 Mar 2023 16:27:11 +0100 -Subject: [PATCH 78/83] devkitARM: enable pthread support - ---- - newlib/libc/include/sys/features.h | 4 +-- - newlib/libc/sys/arm/sys/lock.h | 45 ++++++++++++++++++++++++++++-- - 2 files changed, 45 insertions(+), 4 deletions(-) - -diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 69ac51932..05efc0ab2 100644 ---- a/newlib/libc/include/sys/features.h -+++ b/newlib/libc/include/sys/features.h -@@ -331,7 +331,7 @@ extern "C" { - # define __SSP_FORTIFY_LEVEL 0 - #endif - --#ifdef __DEVKITA64__ -+//#ifdef __DEVKITA64__ - #define _POSIX_MONOTONIC_CLOCK 200112L - #define _POSIX_TIMERS 1 - #define _POSIX_THREADS 1 -@@ -339,7 +339,7 @@ extern "C" { - #define _POSIX_BARRIERS 200112L - #define _POSIX_READER_WRITER_LOCKS 200112L - #define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 --#endif -+//#endif - - - /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ -diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h -index a755d6443..1466ae5e3 100644 ---- a/newlib/libc/sys/arm/sys/lock.h -+++ b/newlib/libc/sys/arm/sys/lock.h -@@ -14,6 +14,12 @@ struct __lock_t { - - typedef struct __lock_t _LOCK_RECURSIVE_T; - -+typedef uint32_t _COND_T; ++typedef __uint32_t __ino_t; ++#define __machine_ino_t_defined ++ ++typedef __uint32_t __dev_t; ++#define __machine_dev_t_defined ++#endif ++ +diff --git a/newlib/libc/sys/arm/sys/dirent.h b/newlib/libc/sys/arm/sys/dirent.h +new file mode 100644 +index 000000000..2aaca6080 +--- /dev/null ++++ b/newlib/libc/sys/arm/sys/dirent.h +@@ -0,0 +1,58 @@ ++#ifndef _dirent_h_ ++#define _dirent_h_ ++ ++#define _DIRENT_HAVE_D_TYPE ++ ++#include ++#include ++#include ++ ++#define DT_UNKNOWN 0 ++#define DT_FIFO 1 ++#define DT_CHR 2 ++#define DT_DIR 4 ++#define DT_BLK 6 ++#define DT_REG 8 ++#define DT_LNK 10 ++#define DT_SOCK 12 ++#define DT_WHT 14 + +#ifdef __cplusplus +extern "C" { +#endif + - extern void __libc_lock_init(_LOCK_T *lock); - extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); - extern void __libc_lock_close(_LOCK_T *lock); -@@ -27,11 +33,30 @@ extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); - extern int __libc_lock_try_acquire(_LOCK_T *lock); - extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); - -+/* Returns errno */ -+extern int __libc_cond_init(_COND_T *cond); -+extern int __libc_cond_signal(_COND_T *cond); -+extern int __libc_cond_broadcast(_COND_T *cond); -+extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); -+extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); ++struct dirent { ++ ino_t d_ino; ++ unsigned char d_type; ++ char d_name[NAME_MAX+1]; ++}; + -+#ifdef __cplusplus -+} -+#endif ++typedef struct { ++ long int position; ++ DIR_ITER* dirData; ++ struct dirent fileData; ++} DIR; + -+#define __LOCK_INITIALIZER ((_LOCK_T)0) -+#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) -+#define __COND_INITIALIZER ((_COND_T)0) ++int closedir(DIR *dirp); ++DIR *opendir(const char *dirname); ++struct dirent *readdir(DIR *dirp); ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); ++void rewinddir(DIR *dirp); ++void seekdir(DIR *dirp, long int loc); ++long int telldir(DIR *dirp); + ++int scandir(const char *dirp, struct dirent ***namelist, ++int (*filter)(const struct dirent *), ++int (*compar)(const struct dirent **, const struct dirent **)); + - #define __LOCK_INIT(CLASS,NAME) \ --CLASS _LOCK_T NAME = 0; -+CLASS _LOCK_T NAME = __LOCK_INITIALIZER; - - #define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ --CLASS _LOCK_RECURSIVE_T NAME = {0,0,0}; -+CLASS _LOCK_RECURSIVE_T NAME = __LOCK_INITIALIZER_RECURSIVE; ++int alphasort(const struct dirent **a, const struct dirent **b); + -+#define __COND_INIT(CLASS,NAME) \ -+CLASS _COND_T NAME = __COND_INITIALIZER; - - #define __lock_init(NAME) \ - __libc_lock_init(&(NAME)) -@@ -63,4 +88,20 @@ CLASS _LOCK_RECURSIVE_T NAME = {0,0,0}; - #define __lock_release_recursive(NAME) \ - __libc_lock_release_recursive(&(NAME)) - -+#define __cond_init(NAME) \ -+ __libc_cond_init(&(NAME)) ++/* Convert between stat structure types and directory types. */ ++# define IFTODT(mode) (((mode) & 0170000) >> 12) ++# define DTTOIF(dirtype) (((dirtype) << 12)& 0170000) + -+#define __cond_signal(NAME) \ -+ __libc_cond_signal(&(NAME)) ++#ifdef __cplusplus ++} ++#endif + -+#define __cond_broadcast(NAME) \ -+ __libc_cond_broadcast(&(NAME)) ++#endif // _dirent_h_ +diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h +new file mode 100644 +index 000000000..bd74ccc42 +--- /dev/null ++++ b/newlib/libc/sys/arm/sys/lock.h +@@ -0,0 +1,118 @@ ++#ifndef __SYS_LOCK_H__ ++#define __SYS_LOCK_H__ + -+#define __cond_wait(NAME, LOCK, TIMEOUT) \ -+ __libc_cond_wait(&(NAME), &(LOCK), (TIMEOUT)) ++#include <_ansi.h> ++#include + -+#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ -+ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) ++typedef int32_t _LOCK_T; + ++struct __lock_t { ++ _LOCK_T lock; ++ uint32_t thread_tag; ++ uint32_t counter; ++}; ++ ++typedef struct __lock_t _LOCK_RECURSIVE_T; ++ ++typedef uint32_t _COND_T; + - #endif // __SYS_LOCK_H__ --- -2.20.1 - - -From 69efd14afb5494736bdc6c026d82a78ecca865ca Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Sat, 1 Apr 2023 13:54:34 +0100 -Subject: [PATCH 79/83] Disable _STDIO_WITH_THREAD_CANCELLATION_SUPPORT for all - devkitPro toolchains - ---- - newlib/libc/stdio/local.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h -index 9e4cc6725..f18dc4301 100644 ---- a/newlib/libc/stdio/local.h -+++ b/newlib/libc/stdio/local.h -@@ -56,7 +56,7 @@ - the appropriate _newlib_XXX_exit macro. */ - - #if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS) \ -- && !defined (__rtems__) && !defined (__DEVKITA64__) -+ && !defined (__rtems__) && !defined (__DEVKITPRO__) - #define _STDIO_WITH_THREAD_CANCELLATION_SUPPORT - #endif - --- -2.20.1 - - -From 68781b6d72c7dead3d65009cb18ccdfe86bc76db Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Sat, 1 Apr 2023 18:29:27 +0100 -Subject: [PATCH 80/83] inline initialisers - ---- - libgloss/libsysbase/syscall_support.c | 26 ----------------------- - newlib/libc/machine/aarch64/sys/lock.h | 29 ++++++++++++++++++-------- - newlib/libc/sys/arm/sys/lock.h | 29 ++++++++++++++++++-------- - 3 files changed, 40 insertions(+), 44 deletions(-) - -diff --git a/libgloss/libsysbase/syscall_support.c b/libgloss/libsysbase/syscall_support.c -index c73ad2b71..cbabf8b9a 100644 ---- a/libgloss/libsysbase/syscall_support.c -+++ b/libgloss/libsysbase/syscall_support.c -@@ -40,12 +40,6 @@ abstimespec2nsec(__clockid_t clock_id, const struct timespec *__restrict ts) - return timespec2nsec(&diff); - } - --void __libc_lock_init(_LOCK_T *lock) { -- -- *lock = __LOCK_INITIALIZER; -- --} -- - void __libc_lock_acquire(_LOCK_T *lock ) { - - if ( __has_syscall(lock_acquire) ) { -@@ -69,16 +63,6 @@ void __libc_lock_release(_LOCK_T *lock ) { - } - } - --void __libc_lock_close(_LOCK_T *lock ) { -- --} -- --void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { -- -- *lock = __LOCK_INITIALIZER_RECURSIVE; -- --} -- - void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock ) { - - if ( __has_syscall(lock_acquire_recursive) ) { -@@ -102,16 +86,6 @@ void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock ) { - } - } - --void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) { -- --} -- --int __libc_cond_init(_COND_T *cond) { -- -- *cond = __COND_INITIALIZER; -- --} -- - int __libc_cond_signal(_COND_T *cond) { - - if ( __has_syscall(cond_signal) ) { -diff --git a/newlib/libc/machine/aarch64/sys/lock.h b/newlib/libc/machine/aarch64/sys/lock.h -index 2c3e64f1b..d1c4aba2a 100644 ---- a/newlib/libc/machine/aarch64/sys/lock.h -+++ b/newlib/libc/machine/aarch64/sys/lock.h -@@ -16,14 +16,26 @@ typedef struct __lock_t _LOCK_RECURSIVE_T; - - typedef uint32_t _COND_T; - +#define __LOCK_INITIALIZER ((_LOCK_T)0) +#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) +#define __COND_INITIALIZER ((_COND_T)0) + - #ifdef __cplusplus - extern "C" { - #endif - --extern void __libc_lock_init(_LOCK_T *lock); --extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); --extern void __libc_lock_close(_LOCK_T *lock); --extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); ++#ifdef __cplusplus ++extern "C" { ++#endif ++ +static inline void __libc_lock_init(_LOCK_T *lock) { + *lock = __LOCK_INITIALIZER; +} @@ -15454,176 +12512,83 @@ index 2c3e64f1b..d1c4aba2a 100644 + +static inline void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) {} + - extern void __libc_lock_acquire(_LOCK_T *lock); - extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); - extern void __libc_lock_release(_LOCK_T *lock); -@@ -34,7 +46,10 @@ extern int __libc_lock_try_acquire(_LOCK_T *lock); - extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); - - /* Returns errno */ --extern int __libc_cond_init(_COND_T *cond); ++extern void __libc_lock_acquire(_LOCK_T *lock); ++extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++extern void __libc_lock_release(_LOCK_T *lock); ++extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns 0 for success and non-zero for failure */ ++extern int __libc_lock_try_acquire(_LOCK_T *lock); ++extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); ++ ++/* Returns errno */ +static inline int __libc_cond_init(_COND_T *cond) { + *cond = __COND_INITIALIZER; +} + - extern int __libc_cond_signal(_COND_T *cond); - extern int __libc_cond_broadcast(_COND_T *cond); - extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); -@@ -44,10 +59,6 @@ extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, ui - } - #endif - --#define __LOCK_INITIALIZER ((_LOCK_T)0) --#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) --#define __COND_INITIALIZER ((_COND_T)0) -- - #define __LOCK_INIT(CLASS,NAME) \ - CLASS _LOCK_T NAME = __LOCK_INITIALIZER; - -diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h -index 1466ae5e3..bd74ccc42 100644 ---- a/newlib/libc/sys/arm/sys/lock.h -+++ b/newlib/libc/sys/arm/sys/lock.h -@@ -16,14 +16,26 @@ typedef struct __lock_t _LOCK_RECURSIVE_T; - - typedef uint32_t _COND_T; - -+#define __LOCK_INITIALIZER ((_LOCK_T)0) -+#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) -+#define __COND_INITIALIZER ((_COND_T)0) ++extern int __libc_cond_signal(_COND_T *cond); ++extern int __libc_cond_broadcast(_COND_T *cond); ++extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); ++extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns); + - #ifdef __cplusplus - extern "C" { - #endif - --extern void __libc_lock_init(_LOCK_T *lock); --extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock); --extern void __libc_lock_close(_LOCK_T *lock); --extern void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock); -+static inline void __libc_lock_init(_LOCK_T *lock) { -+ *lock = __LOCK_INITIALIZER; ++#ifdef __cplusplus +} ++#endif + -+static inline void __libc_lock_close(_LOCK_T *lock ) {} + -+static inline void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { -+ *lock = __LOCK_INITIALIZER_RECURSIVE; -+} ++#define __LOCK_INIT(CLASS,NAME) \ ++CLASS _LOCK_T NAME = __LOCK_INITIALIZER; + -+static inline void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) {} ++#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \ ++CLASS _LOCK_RECURSIVE_T NAME = __LOCK_INITIALIZER_RECURSIVE; + - extern void __libc_lock_acquire(_LOCK_T *lock); - extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); - extern void __libc_lock_release(_LOCK_T *lock); -@@ -34,7 +46,10 @@ extern int __libc_lock_try_acquire(_LOCK_T *lock); - extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); - - /* Returns errno */ --extern int __libc_cond_init(_COND_T *cond); -+static inline int __libc_cond_init(_COND_T *cond) { -+ *cond = __COND_INITIALIZER; -+} ++#define __COND_INIT(CLASS,NAME) \ ++CLASS _COND_T NAME = __COND_INITIALIZER; + - extern int __libc_cond_signal(_COND_T *cond); - extern int __libc_cond_broadcast(_COND_T *cond); - extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns); -@@ -44,10 +59,6 @@ extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, ui - } - #endif - --#define __LOCK_INITIALIZER ((_LOCK_T)0) --#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0}) --#define __COND_INITIALIZER ((_COND_T)0) -- - - #define __LOCK_INIT(CLASS,NAME) \ - CLASS _LOCK_T NAME = __LOCK_INITIALIZER; --- -2.20.1 - - -From c561f356fc324a25951b3c3b1f75edc3811459c4 Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Sat, 29 Apr 2023 15:19:11 +0100 -Subject: [PATCH 81/83] prevent hard dependency on findfp - ---- - newlib/libc/stdlib/exit.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/newlib/libc/stdlib/exit.c b/newlib/libc/stdlib/exit.c -index 9b7bd518b..f0e33bbc1 100644 ---- a/newlib/libc/stdlib/exit.c -+++ b/newlib/libc/stdlib/exit.c -@@ -45,6 +45,16 @@ Supporting OS subroutines required: <<_exit>>. - #include - #include "atexit.h" - -+// exit calls this handler; avoid a hard dependency on findfp by providing a weak global -+void (*__stdio_exit_handler)(void) __attribute__((weak)); ++#define __lock_init(NAME) \ ++ __libc_lock_init(&(NAME)) + -+// exit calls this function; avoid a hard dependency on atexit by providing a simple weak implementation -+__attribute__((weak)) void __call_exitprocs(int rc, void* dso) -+{ -+ extern void __libc_fini_array(void); -+ __libc_fini_array(); -+} ++#define __lock_init_recursive(NAME) \ ++ __libc_lock_init_recursive(&(NAME)) + - /* - * Exit, flushing stdio buffers if necessary. - */ --- -2.20.1 - - -From 81fe84d83cf46261affd47ecf40e8d3dedf66aee Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Sat, 17 Jun 2023 12:00:13 +0100 -Subject: [PATCH 82/83] devkitA64 needs GETREENT_PROVIDED - ---- - newlib/configure.host | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/newlib/configure.host b/newlib/configure.host -index 66ccbec57..3a8be32ff 100644 ---- a/newlib/configure.host -+++ b/newlib/configure.host -@@ -623,7 +623,7 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID - default_newlib_io_c99_formats="yes" - default_newlib_io_long_long="yes" - default_newlib_io_pos_args="yes" -- newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" -+ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" - newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" - syscall_dir=syscalls - ;; --- -2.20.1 - - -From e1721a71d746d29a2a0f716decd4151b9383c79d Mon Sep 17 00:00:00 2001 -From: Dave Murphy -Date: Sat, 17 Jun 2023 12:08:41 +0100 -Subject: [PATCH 83/83] fix fpathconf_r prototype - ---- - newlib/libc/include/sys/iosupport.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h -index 8318fda68..335014a4b 100644 ---- a/newlib/libc/include/sys/iosupport.h -+++ b/newlib/libc/include/sys/iosupport.h -@@ -67,7 +67,7 @@ typedef struct { - int (*lstat_r)(struct _reent *r, const char *file, struct stat *st); - int (*utimes_r)(struct _reent *r, const char *filename, const struct timeval times[2]); - -- long (*fpathconf_r)(struct _reent *r, int fd, int name); -+ long (*fpathconf_r)(struct _reent *r, void *fd, int name); - long (*pathconf_r)(struct _reent *r, const char *path, int name); - - int (*symlink_r)(struct _reent *r, const char *target, const char *linkpath); --- -2.20.1 - ++#define __lock_close(NAME) \ ++ __libc_lock_close(&(NAME)) ++ ++#define __lock_close_recursive(NAME) \ ++ __libc_lock_close_recursive(&(NAME)) ++ ++#define __lock_acquire(NAME) \ ++ __libc_lock_acquire(&(NAME)) ++ ++#define __lock_acquire_recursive(NAME) \ ++ __libc_lock_acquire_recursive(&(NAME)) ++ ++#define __lock_try_acquire(NAME) \ ++ __libc_lock_try_acquire(&(NAME)) ++ ++#define __lock_try_acquire_recursive(NAME) \ ++ __libc_lock_try_acquire_recursive(&(NAME)) ++ ++#define __lock_release(NAME) \ ++ __libc_lock_release(&(NAME)) ++ ++#define __lock_release_recursive(NAME) \ ++ __libc_lock_release_recursive(&(NAME)) ++ ++#define __cond_init(NAME) \ ++ __libc_cond_init(&(NAME)) ++ ++#define __cond_signal(NAME) \ ++ __libc_cond_signal(&(NAME)) ++ ++#define __cond_broadcast(NAME) \ ++ __libc_cond_broadcast(&(NAME)) ++ ++#define __cond_wait(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait(&(NAME), &(LOCK), (TIMEOUT)) ++ ++#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \ ++ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT)) ++ ++ ++#endif // __SYS_LOCK_H__ diff --git a/select_toolchain.sh b/select_toolchain.sh index b8abcae..19ea635 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -51,7 +51,7 @@ case "$VERSION" in "3" ) GCC_VER=13.2.0 BINUTILS_VER=2.42 - NEWLIB_VER=4.3.0.20230120 + NEWLIB_VER=4.4.0.20231231 basedir='dka64' package=devkitA64 target=aarch64-none-elf From 1ac48f54371736ccc3308f100efd37a1184bff37 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 15 Feb 2024 19:15:47 +0000 Subject: [PATCH 244/280] devkitA64: add sys/mkdev.h header --- build-devkit.sh | 2 +- dka64/patches/newlib-4.4.0.20231231.patch | 17 +++++++++++++++++ dka64/scripts/build-gcc.sh | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/build-devkit.sh b/build-devkit.sh index 5e9f6f3..ea0699c 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -2,7 +2,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 63 # devkitPPC release 45 -# devkitA64 release 25 +# devkitA64 release 25.1 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/patches/newlib-4.4.0.20231231.patch b/dka64/patches/newlib-4.4.0.20231231.patch index c9a5988..143ddd4 100644 --- a/dka64/patches/newlib-4.4.0.20231231.patch +++ b/dka64/patches/newlib-4.4.0.20231231.patch @@ -11114,6 +11114,23 @@ index 000000000..335014a4b +//--------------------------------------------------------------------------------- +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- +diff --git a/newlib/libc/include/sys/mkdev.h b/newlib/libc/include/sys/mkdev.h +new file mode 100644 +index 000000000..a6f860158 +--- /dev/null ++++ b/newlib/libc/include/sys/mkdev.h +@@ -0,0 +1,11 @@ ++#ifndef __SYS_MKDEV_H__ ++#define __SYS_MKDEV_H__ ++ ++#define MINORBITS 20 ++#define MINORMASK ((1U << MINORBITS) - 1) ++ ++#define major(dev) ((unsigned int) ((dev) >> MINORBITS)) ++#define minor(dev) ((unsigned int) ((dev) & MINORMASK)) ++#define mkdev(ma,mi) (((ma) << MINORBITS) | (mi)) ++ ++#endif diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h index 9a6f115a6..142e71d35 100644 --- a/newlib/libc/include/sys/param.h diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 3bace2c..7481001 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -62,7 +62,7 @@ then --enable-lto \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 25" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 25.1" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ From 3f5312c34ae4299ee4ff8a633dc32a69a70b1b28 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 26 Feb 2024 01:31:39 +0000 Subject: [PATCH 245/280] devkitPPC: update binutils to 2.42 --- build-devkit.sh | 2 +- dkppc/patches/{binutils-2.41.patch => binutils-2.42.patch} | 0 dkppc/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename dkppc/patches/{binutils-2.41.patch => binutils-2.42.patch} (100%) diff --git a/build-devkit.sh b/build-devkit.sh index ea0699c..d3172d2 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash #--------------------------------------------------------------------------------- # devkitARM release 63 -# devkitPPC release 45 +# devkitPPC release 45.1 # devkitA64 release 25.1 #--------------------------------------------------------------------------------- diff --git a/dkppc/patches/binutils-2.41.patch b/dkppc/patches/binutils-2.42.patch similarity index 100% rename from dkppc/patches/binutils-2.41.patch rename to dkppc/patches/binutils-2.42.patch diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index b5a8607..d89fc55 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -101,7 +101,7 @@ then --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 45" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 45.1" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index 19ea635..46d8a12 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -40,7 +40,7 @@ case "$VERSION" in ;; "2" ) GCC_VER=13.2.0 - BINUTILS_VER=2.41 + BINUTILS_VER=2.42 MN_BINUTILS_VER=2.24 NEWLIB_VER=4.4.0.20231231 basedir='dkppc' From dbd33d231250ac0d4b5e0b91790d562940a8cddd Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 30 Mar 2024 20:53:11 +0000 Subject: [PATCH 246/280] devkitPPC: add stat to dirent --- dkppc/patches/newlib-4.4.0.20231231.patch | 24 +++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/dkppc/patches/newlib-4.4.0.20231231.patch b/dkppc/patches/newlib-4.4.0.20231231.patch index ff05c69..504ebc0 100644 --- a/dkppc/patches/newlib-4.4.0.20231231.patch +++ b/dkppc/patches/newlib-4.4.0.20231231.patch @@ -9458,6 +9458,23 @@ index 000000000..fb0646bc6 +//--------------------------------------------------------------------------------- +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- +diff --git a/newlib/libc/include/sys/mkdev.h b/newlib/libc/include/sys/mkdev.h +new file mode 100644 +index 000000000..a6f860158 +--- /dev/null ++++ b/newlib/libc/include/sys/mkdev.h +@@ -0,0 +1,11 @@ ++#ifndef __SYS_MKDEV_H__ ++#define __SYS_MKDEV_H__ ++ ++#define MINORBITS 20 ++#define MINORMASK ((1U << MINORBITS) - 1) ++ ++#define major(dev) ((unsigned int) ((dev) >> MINORBITS)) ++#define minor(dev) ((unsigned int) ((dev) & MINORMASK)) ++#define mkdev(ma,mi) (((ma) << MINORBITS) | (mi)) ++ ++#endif diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h index 9a6f115a6..142e71d35 100644 --- a/newlib/libc/include/sys/param.h @@ -9782,17 +9799,19 @@ index 000000000..a7d63da51 +#endif // _MACHINE__TYPES_H diff --git a/newlib/libc/machine/powerpc/sys/dirent.h b/newlib/libc/machine/powerpc/sys/dirent.h new file mode 100644 -index 000000000..2aaca6080 +index 000000000..b3780c263 --- /dev/null +++ b/newlib/libc/machine/powerpc/sys/dirent.h -@@ -0,0 +1,58 @@ +@@ -0,0 +1,61 @@ +#ifndef _dirent_h_ +#define _dirent_h_ + +#define _DIRENT_HAVE_D_TYPE ++#define _DIRENT_HAVE_D_STAT + +#include +#include ++#include +#include + +#define DT_UNKNOWN 0 @@ -9811,6 +9830,7 @@ index 000000000..2aaca6080 + +struct dirent { + ino_t d_ino; ++ struct stat d_stat; + unsigned char d_type; + char d_name[NAME_MAX+1]; +}; From b4e8b963f3e68a2c76400e8b3831ef5a7085f01f Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 6 Apr 2024 16:25:51 +0100 Subject: [PATCH 247/280] devkitPPC: expand dirent --- dkppc/patches/newlib-4.4.0.20231231.patch | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/dkppc/patches/newlib-4.4.0.20231231.patch b/dkppc/patches/newlib-4.4.0.20231231.patch index 504ebc0..285301f 100644 --- a/dkppc/patches/newlib-4.4.0.20231231.patch +++ b/dkppc/patches/newlib-4.4.0.20231231.patch @@ -6424,10 +6424,10 @@ index 000000000..d15eab89d + diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c new file mode 100644 -index 000000000..482d2f814 +index 000000000..3c4fd8693 --- /dev/null +++ b/libgloss/libsysbase/dirent.c -@@ -0,0 +1,257 @@ +@@ -0,0 +1,263 @@ +#include +#include +#include @@ -6569,7 +6569,13 @@ index 000000000..482d2f814 + + +struct dirent* readdir (DIR *dirp) { -+ struct stat st; ++ ++#ifdef _DIRENT_HAVE_D_STAT ++ struct stat *st = &dirp->fileData.d_stat; ++#else ++ struct stat tmpstat; ++ struct stat *st = &tmpstat; ++#endif + char filename[NAME_MAX+1]; + int res; + int olderrno = errno; @@ -6579,7 +6585,7 @@ index 000000000..482d2f814 + return NULL; + } + -+ res = __dirnext (dirp->dirData, filename, &st); ++ res = __dirnext (dirp->dirData, filename, st); + + if (res < 0) { + if (errno == ENOENT) { @@ -6599,8 +6605,8 @@ index 000000000..482d2f814 + } + + strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); -+ dirp->fileData.d_ino = st.st_ino; -+ dirp->fileData.d_type = IFTODT(st.st_mode); ++ dirp->fileData.d_ino = st->st_ino; ++ dirp->fileData.d_type = IFTODT(st->st_mode); + + return &(dirp->fileData); +} @@ -9205,7 +9211,7 @@ index 9a32646ab..fb28f3611 100644 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libc_a_CPPFLAGS) $(CPPFLAGS) $(libc_a_CFLAGS) $(CFLAGS) -MT libc/machine/powerpc/libc_a-vfprintf.o -MD -MP -MF libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo -c -o libc/machine/powerpc/libc_a-vfprintf.o `test -f 'libc/machine/powerpc/vfprintf.c' || echo '$(srcdir)/'`libc/machine/powerpc/vfprintf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Tpo libc/machine/powerpc/$(DEPDIR)/libc_a-vfprintf.Po diff --git a/newlib/configure.host b/newlib/configure.host -index 386183466..728170741 100644 +index 386183466..45993129a 100644 --- a/newlib/configure.host +++ b/newlib/configure.host @@ -637,6 +637,14 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID @@ -9231,7 +9237,7 @@ index 386183466..728170741 100644 + powerpc*-*-eabi*) + default_newlib_io_c99_formats="yes" + default_newlib_io_long_long="yes" -+ newlib_cflags="${newlib_cflags} -DCUSTOM_MALLOC_LOCK -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" ++ newlib_cflags="${newlib_cflags} -DHAVE_ASSERT_FUNC -DABORT_PROVIDED -DCUSTOM_MALLOC_LOCK -D__DYNAMIC_REENT__ -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__" + newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections" + syscall_dir=syscalls + ;; From 4ef6c0321adaa7ada1848105fc2a21f36067e745 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 12 Apr 2024 18:20:07 +0100 Subject: [PATCH 248/280] devkitPPC: syscall abort & assert_func --- dkppc/patches/newlib-4.4.0.20231231.patch | 175 +++++++++++++--------- 1 file changed, 103 insertions(+), 72 deletions(-) diff --git a/dkppc/patches/newlib-4.4.0.20231231.patch b/dkppc/patches/newlib-4.4.0.20231231.patch index 285301f..333c689 100644 --- a/dkppc/patches/newlib-4.4.0.20231231.patch +++ b/dkppc/patches/newlib-4.4.0.20231231.patch @@ -13,7 +13,7 @@ index 0d4460b58..0eab54b65 100644 include lm32/Makefile.inc endif diff --git a/libgloss/Makefile.in b/libgloss/Makefile.in -index fd845cf5f..7d314a0bb 100644 +index fd845cf5f..fc13db331 100644 --- a/libgloss/Makefile.in +++ b/libgloss/Makefile.in @@ -173,25 +173,27 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) @@ -103,7 +103,7 @@ index fd845cf5f..7d314a0bb 100644 $(top_srcdir)/m68k/acinclude.m4 \ $(top_srcdir)/mcore/acinclude.m4 \ $(top_srcdir)/mips/acinclude.m4 \ -@@ -459,6 +462,62 @@ libobjs_a_LIBADD = +@@ -459,6 +462,63 @@ libobjs_a_LIBADD = am_libobjs_a_OBJECTS = $(am__objects_3) $(am__objects_4) \ $(am__objects_5) $(am__objects_6) $(am__objects_7) libobjs_a_OBJECTS = $(am_libobjs_a_OBJECTS) @@ -111,6 +111,7 @@ index fd845cf5f..7d314a0bb 100644 +libsysbase_libsysbase_a_LIBADD = +@CONFIG_LIBSYSBASE_TRUE@am_libsysbase_libsysbase_a_OBJECTS = libsysbase/libsysbase_libsysbase_a-_exit.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT) \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-assert.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chdir.$(OBJEXT) \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/libsysbase_libsysbase_a-chmod.$(OBJEXT) \ @@ -166,7 +167,7 @@ index fd845cf5f..7d314a0bb 100644 lm32_libgloss_a_AR = $(AR) $(ARFLAGS) lm32_libgloss_a_LIBADD = @CONFIG_LM32_TRUE@am_lm32_libgloss_a_OBJECTS = lm32/isatty.$(OBJEXT) \ -@@ -668,10 +727,10 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ +@@ -668,10 +728,10 @@ SOURCES = $(aarch64_librdimon_a_SOURCES) $(arc_libnsim_a_SOURCES) \ $(bfin_libbfinbsp_a_SOURCES) $(bfin_libsim_a_SOURCES) \ $(csky_libsemi_a_SOURCES) $(d30v_libsim_a_SOURCES) \ $(iq2000_libeval_a_SOURCES) $(libnosys_libnosys_a_SOURCES) \ @@ -181,7 +182,7 @@ index fd845cf5f..7d314a0bb 100644 $(xtensa_libsys_openocd_a_SOURCES) \ $(xtensa_libsys_qemu_a_SOURCES) bfin/sim-test.c iq2000/test.c \ $(wince_stub_exe_SOURCES) -@@ -761,7 +820,7 @@ ETAGS = etags +@@ -761,7 +821,7 @@ ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) @@ -190,7 +191,7 @@ index fd845cf5f..7d314a0bb 100644 AARCH64_OBJTYPE = @AARCH64_OBJTYPE@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ -@@ -779,7 +838,7 @@ CCASFLAGS = @CCASFLAGS@ +@@ -779,7 +839,7 @@ CCASFLAGS = @CCASFLAGS@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ @@ -199,7 +200,7 @@ index fd845cf5f..7d314a0bb 100644 CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -@@ -874,6 +933,7 @@ pdfdir = @pdfdir@ +@@ -874,6 +934,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ @@ -207,7 +208,7 @@ index fd845cf5f..7d314a0bb 100644 sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ -@@ -899,14 +959,14 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) +@@ -899,14 +960,14 @@ multilibtooldir = $(tooldir)/lib$(MULTISUBDIR) multilibtool_DATA = $(am__append_3) $(am__append_6) $(am__append_7) \ $(am__append_8) $(am__append_13) $(am__append_15) \ $(am__append_18) $(am__append_22) $(am__append_23) \ @@ -227,7 +228,7 @@ index fd845cf5f..7d314a0bb 100644 includetooldir = $(tooldir)/include includetool_DATA = $(am__append_16) includesystooldir = $(tooldir)/include/sys -@@ -917,7 +977,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include +@@ -917,7 +978,7 @@ AM_CPPFLAGS = -idirafter $(srcroot)/include # to install (e.g. our crt0.o objects). noinst_LIBRARIES = libobjs.a libobjs_a_SOURCES = $(am__append_14) $(am__append_19) $(am__append_25) \ @@ -236,7 +237,7 @@ index fd845cf5f..7d314a0bb 100644 FLAGS_TO_PASS = \ "CC=$(CC)" \ "CFLAGS=$(CFLAGS)" \ -@@ -1098,6 +1158,61 @@ TEXINFO_TEX = ../texinfo/texinfo.tex +@@ -1098,6 +1159,62 @@ TEXINFO_TEX = ../texinfo/texinfo.tex @CONFIG_LIBNOSYS_TRUE@ libnosys/getentropy.c \ @CONFIG_LIBNOSYS_TRUE@ libnosys/_exit.c @@ -244,6 +245,7 @@ index fd845cf5f..7d314a0bb 100644 +@CONFIG_LIBSYSBASE_TRUE@libsysbase_libsysbase_a_SOURCES = \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/_exit.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/abort.c \ ++@CONFIG_LIBSYSBASE_TRUE@ libsysbase/assert.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/build_argv.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chdir.c \ +@CONFIG_LIBSYSBASE_TRUE@ libsysbase/chmod.c \ @@ -298,7 +300,7 @@ index fd845cf5f..7d314a0bb 100644 @CONFIG_LM32_TRUE@lm32_libgloss_a_SOURCES = \ @CONFIG_LM32_TRUE@ lm32/isatty.c \ @CONFIG_LM32_TRUE@ lm32/scall.S -@@ -1203,19 +1318,19 @@ TEXINFO_TEX = ../texinfo/texinfo.tex +@@ -1203,19 +1320,19 @@ TEXINFO_TEX = ../texinfo/texinfo.tex @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libgloss_a_SOURCES = xtensa/sleep.S \ @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/syscalls.c \ @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/window-vectors.S \ @@ -324,7 +326,7 @@ index fd845cf5f..7d314a0bb 100644 @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@xtensa_libsys_openocd_a_SOURCES = \ @CONFIG_XTENSA_TRUE@@HAVE_XTENSA_BOARD_ESP_TRUE@ xtensa/syscalls.c -@@ -1228,7 +1343,7 @@ all: config.h +@@ -1228,7 +1345,7 @@ all: config.h .SUFFIXES: .S .c .dvi .o .obj .ps am--refresh: Makefile @: @@ -333,7 +335,7 @@ index fd845cf5f..7d314a0bb 100644 @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ -@@ -1250,7 +1365,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +@@ -1250,7 +1367,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; @@ -342,7 +344,7 @@ index fd845cf5f..7d314a0bb 100644 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -@@ -1730,6 +1845,173 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE +@@ -1730,6 +1847,176 @@ libobjs.a: $(libobjs_a_OBJECTS) $(libobjs_a_DEPENDENCIES) $(EXTRA_libobjs_a_DEPE $(AM_V_at)-rm -f libobjs.a $(AM_V_AR)$(libobjs_a_AR) libobjs.a $(libobjs_a_OBJECTS) $(libobjs_a_LIBADD) $(AM_V_at)$(RANLIB) libobjs.a @@ -358,6 +360,9 @@ index fd845cf5f..7d314a0bb 100644 +libsysbase/libsysbase_libsysbase_a-abort.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) ++libsysbase/libsysbase_libsysbase_a-assert.$(OBJEXT): \ ++ libsysbase/$(am__dirstamp) \ ++ libsysbase/$(DEPDIR)/$(am__dirstamp) +libsysbase/libsysbase_libsysbase_a-build_argv.$(OBJEXT): \ + libsysbase/$(am__dirstamp) \ + libsysbase/$(DEPDIR)/$(am__dirstamp) @@ -516,7 +521,7 @@ index fd845cf5f..7d314a0bb 100644 lm32/isatty.$(OBJEXT): lm32/$(am__dirstamp) \ lm32/$(DEPDIR)/$(am__dirstamp) lm32/scall.$(OBJEXT): lm32/$(am__dirstamp) \ -@@ -2113,6 +2395,7 @@ mostlyclean-compile: +@@ -2113,6 +2400,7 @@ mostlyclean-compile: -rm -f d30v/*.$(OBJEXT) -rm -f iq2000/*.$(OBJEXT) -rm -f libnosys/*.$(OBJEXT) @@ -524,12 +529,13 @@ index fd845cf5f..7d314a0bb 100644 -rm -f lm32/*.$(OBJEXT) -rm -f nios2/*.$(OBJEXT) -rm -f riscv/*.$(OBJEXT) -@@ -2238,6 +2521,58 @@ distclean-compile: +@@ -2238,6 +2526,59 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/unlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/wait.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libnosys/$(DEPDIR)/write.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-_exit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-abort.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-assert.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chdir.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-chmod.Po@am__quote@ @@ -583,7 +589,7 @@ index fd845cf5f..7d314a0bb 100644 @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/crt0.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/isatty.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lm32/$(DEPDIR)/scall.Po@am__quote@ -@@ -3082,6 +3417,734 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c +@@ -3082,6 +3423,748 @@ csky/csky_libsemi_a-getpid.obj: csky/getpid.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csky_libsemi_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o csky/csky_libsemi_a-getpid.obj `if test -f 'csky/getpid.c'; then $(CYGPATH_W) 'csky/getpid.c'; else $(CYGPATH_W) '$(srcdir)/csky/getpid.c'; fi` @@ -615,6 +621,20 @@ index fd845cf5f..7d314a0bb 100644 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-abort.obj `if test -f 'libsysbase/abort.c'; then $(CYGPATH_W) 'libsysbase/abort.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/abort.c'; fi` + ++libsysbase/libsysbase_libsysbase_a-assert.o: libsysbase/assert.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-assert.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-assert.Tpo -c -o libsysbase/libsysbase_libsysbase_a-assert.o `test -f 'libsysbase/assert.c' || echo '$(srcdir)/'`libsysbase/assert.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-assert.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-assert.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/assert.c' object='libsysbase/libsysbase_libsysbase_a-assert.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-assert.o `test -f 'libsysbase/assert.c' || echo '$(srcdir)/'`libsysbase/assert.c ++ ++libsysbase/libsysbase_libsysbase_a-assert.obj: libsysbase/assert.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-assert.obj -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-assert.Tpo -c -o libsysbase/libsysbase_libsysbase_a-assert.obj `if test -f 'libsysbase/assert.c'; then $(CYGPATH_W) 'libsysbase/assert.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/assert.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-assert.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-assert.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libsysbase/assert.c' object='libsysbase/libsysbase_libsysbase_a-assert.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsysbase/libsysbase_libsysbase_a-assert.obj `if test -f 'libsysbase/assert.c'; then $(CYGPATH_W) 'libsysbase/assert.c'; else $(CYGPATH_W) '$(srcdir)/libsysbase/assert.c'; fi` ++ +libsysbase/libsysbase_libsysbase_a-build_argv.o: libsysbase/build_argv.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsysbase_libsysbase_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsysbase/libsysbase_libsysbase_a-build_argv.o -MD -MP -MF libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo -c -o libsysbase/libsysbase_libsysbase_a-build_argv.o `test -f 'libsysbase/build_argv.c' || echo '$(srcdir)/'`libsysbase/build_argv.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Tpo libsysbase/$(DEPDIR)/libsysbase_libsysbase_a-build_argv.Po @@ -1318,7 +1338,7 @@ index fd845cf5f..7d314a0bb 100644 nios2/nios2_libnios2_a-io-close.o: nios2/io-close.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(nios2_libnios2_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nios2/nios2_libnios2_a-io-close.o -MD -MP -MF nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo -c -o nios2/nios2_libnios2_a-io-close.o `test -f 'nios2/io-close.c' || echo '$(srcdir)/'`nios2/io-close.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Tpo nios2/$(DEPDIR)/nios2_libnios2_a-io-close.Po -@@ -5103,6 +6166,8 @@ distclean-generic: +@@ -5103,6 +6186,8 @@ distclean-generic: -rm -f iq2000/$(am__dirstamp) -rm -f libnosys/$(DEPDIR)/$(am__dirstamp) -rm -f libnosys/$(am__dirstamp) @@ -1327,7 +1347,7 @@ index fd845cf5f..7d314a0bb 100644 -rm -f lm32/$(DEPDIR)/$(am__dirstamp) -rm -f lm32/$(am__dirstamp) -rm -f nios2/$(DEPDIR)/$(am__dirstamp) -@@ -5129,7 +6194,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ +@@ -5129,7 +6214,7 @@ clean-am: clean-aminfo clean-binPROGRAMS clean-checkPROGRAMS \ distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) @@ -1336,7 +1356,7 @@ index fd845cf5f..7d314a0bb 100644 -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-local distclean-tags -@@ -5272,7 +6337,7 @@ installcheck-am: +@@ -5272,7 +6357,7 @@ installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache @@ -1511,10 +1531,10 @@ index 268d86c51..1b918a61e 100644 m4_include([mips/acinclude.m4]) diff --git a/libgloss/libsysbase/Makefile.inc b/libgloss/libsysbase/Makefile.inc new file mode 100644 -index 000000000..2030c24d2 +index 000000000..22477e8df --- /dev/null +++ b/libgloss/libsysbase/Makefile.inc -@@ -0,0 +1,58 @@ +@@ -0,0 +1,59 @@ +multilibtool_DATA += %D%/sysbase.specs +multilibtool_LIBRARIES += %D%/libsysbase.a + @@ -1523,6 +1543,7 @@ index 000000000..2030c24d2 +%C%_libsysbase_a_SOURCES = \ + %D%/_exit.c \ + %D%/abort.c \ ++ %D%/assert.c \ + %D%/build_argv.c \ + %D%/chdir.c \ + %D%/chmod.c \ @@ -1597,16 +1618,23 @@ index 000000000..a45723f84 +} diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c new file mode 100644 -index 000000000..9272e22c9 +index 000000000..9074c8fa2 --- /dev/null +++ b/libgloss/libsysbase/abort.c -@@ -0,0 +1,8 @@ +@@ -0,0 +1,15 @@ +#include +#include ++#include + +void abort(void) { -+ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); -+ _exit (1); ++ do { ++ ++ if ( __has_syscall(abort) ) { ++ __syscall_abort(); ++ } else { ++ _exit (1); ++ } ++ } while(1); +} + diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h @@ -1677,6 +1705,29 @@ index 000000000..7b0d7b4d6 + z8k-*-*) ;; + *) AC_DEFINE(MISSING_SYSCALL_NAMES, 1, [Missing syscall names]) ;; +esac +diff --git a/libgloss/libsysbase/assert.c b/libgloss/libsysbase/assert.c +new file mode 100644 +index 000000000..faa74b866 +--- /dev/null ++++ b/libgloss/libsysbase/assert.c +@@ -0,0 +1,17 @@ ++#include ++#include ++#include ++#include ++ ++void ++__assert_func (const char *file, ++ int line, ++ const char *func, ++ const char *failedexpr) ++{ ++ if ( __has_syscall(assert_func) ) { ++ __syscall_assert_func(file, line, func, failedexpr); ++ } ++ abort(); ++ /* NOTREACHED */ ++} diff --git a/libgloss/libsysbase/build_argv.c b/libgloss/libsysbase/build_argv.c new file mode 100644 index 000000000..0697f53d2 @@ -6424,10 +6475,10 @@ index 000000000..d15eab89d + diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c new file mode 100644 -index 000000000..3c4fd8693 +index 000000000..315cb02c2 --- /dev/null +++ b/libgloss/libsysbase/dirent.c -@@ -0,0 +1,263 @@ +@@ -0,0 +1,241 @@ +#include +#include +#include @@ -6567,9 +6618,7 @@ index 000000000..3c4fd8693 + return res; +} + -+ -+struct dirent* readdir (DIR *dirp) { -+ ++int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { +#ifdef _DIRENT_HAVE_D_STAT + struct stat *st = &dirp->fileData.d_stat; +#else @@ -6578,50 +6627,16 @@ index 000000000..3c4fd8693 +#endif + char filename[NAME_MAX+1]; + int res; -+ int olderrno = errno; + + if (!dirp) { -+ errno = EBADF; -+ return NULL; -+ } -+ -+ res = __dirnext (dirp->dirData, filename, st); -+ -+ if (res < 0) { -+ if (errno == ENOENT) { -+ // errno == ENONENT set by dirnext means it's end of directory -+ // But readdir should not touch errno in case of dir end -+ errno = olderrno; -+ } -+ return NULL; -+ } -+ -+ // We've moved forward in the directory -+ dirp->position += 1; -+ -+ if (strnlen(filename, sizeof(filename)) >= sizeof(dirp->fileData.d_name)) { -+ errno = EOVERFLOW; -+ return NULL; ++ return EBADF; + } + -+ strncpy (dirp->fileData.d_name, filename, sizeof(dirp->fileData.d_name)); -+ dirp->fileData.d_ino = st->st_ino; -+ dirp->fileData.d_type = IFTODT(st->st_mode); -+ -+ return &(dirp->fileData); -+} -+ -+ -+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) { -+ struct stat st; -+ char filename[NAME_MAX+1]; -+ int res; -+ -+ if (!dirp) { -+ return EBADF; ++ if (!result) { ++ return EFAULT; + } + -+ res = __dirnext (dirp->dirData, filename, &st); ++ res = __dirnext (dirp->dirData, filename, st); + + if (res < 0) { + res = errno; @@ -6643,13 +6658,27 @@ index 000000000..3c4fd8693 + } + + strncpy (entry->d_name, filename, sizeof(entry->d_name)); -+ entry->d_ino = st.st_ino; -+ entry->d_type = IFTODT(st.st_mode); ++ entry->d_ino = st->st_ino; ++ entry->d_type = IFTODT(st->st_mode); + + *result = entry; + return 0; +} + ++struct dirent* readdir (DIR *dirp) { ++ ++ struct dirent *result; ++ struct dirent *entry = &dirp->fileData; ++ ++ int res = readdir_r(dirp, entry, &result); ++ ++ if (res !=0) { ++ errno = res; ++ return NULL; ++ } ++ ++ return entry; ++} + +void rewinddir (DIR *dirp) { + if (!dirp) { @@ -9335,10 +9364,10 @@ index a7d4bc52d..6b06ce5a5 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 000000000..fb0646bc6 +index 000000000..287fadaaa --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h -@@ -0,0 +1,125 @@ +@@ -0,0 +1,127 @@ +//--------------------------------------------------------------------------------- +#ifndef __iosupp_h__ +#define __iosupp_h__ @@ -9425,6 +9454,8 @@ index 000000000..fb0646bc6 +#define __SYSCALL(_name) __syscall_##_name +#endif + ++void __SYSCALL(abort) (void); ++void __SYSCALL(assert_func) (const char *file, int line, const char *func, const char *failedexpr); +void __SYSCALL(exit) ( int rc ); +int __SYSCALL(gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz); +void __SYSCALL(lock_init) (_LOCK_T *lock); From 80f5db66de0d8e9adf254cc4464e9b419ebd3dbb Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 14 Apr 2024 17:48:41 +0100 Subject: [PATCH 249/280] devkitPPC: fix readdir --- dkppc/patches/newlib-4.4.0.20231231.patch | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/dkppc/patches/newlib-4.4.0.20231231.patch b/dkppc/patches/newlib-4.4.0.20231231.patch index 333c689..c4d9609 100644 --- a/dkppc/patches/newlib-4.4.0.20231231.patch +++ b/dkppc/patches/newlib-4.4.0.20231231.patch @@ -6475,10 +6475,10 @@ index 000000000..d15eab89d + diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c new file mode 100644 -index 000000000..315cb02c2 +index 000000000..a8dc84739 --- /dev/null +++ b/libgloss/libsysbase/dirent.c -@@ -0,0 +1,241 @@ +@@ -0,0 +1,240 @@ +#include +#include +#include @@ -6667,10 +6667,9 @@ index 000000000..315cb02c2 + +struct dirent* readdir (DIR *dirp) { + -+ struct dirent *result; + struct dirent *entry = &dirp->fileData; + -+ int res = readdir_r(dirp, entry, &result); ++ int res = readdir_r(dirp, entry, &entry); + + if (res !=0) { + errno = res; From ff5a6b07d3eac2c3ad6511f23474dee9d6ac76bc Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 20 Apr 2024 15:22:01 +0100 Subject: [PATCH 250/280] devkitPPC: fixup file buffer alignment --- dkppc/patches/newlib-4.4.0.20231231.patch | 34 +++++++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/dkppc/patches/newlib-4.4.0.20231231.patch b/dkppc/patches/newlib-4.4.0.20231231.patch index c4d9609..6e6fb25 100644 --- a/dkppc/patches/newlib-4.4.0.20231231.patch +++ b/dkppc/patches/newlib-4.4.0.20231231.patch @@ -9323,10 +9323,10 @@ index b1dd2a7c4..16e29c037 100644 extern int _stat_r (struct _reent *, const char *, struct stat *); extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index 5dcc77a80..6930a751d 100644 +index 5dcc77a80..c53fce983 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h -@@ -4,8 +4,19 @@ +@@ -4,8 +4,18 @@ #include /* floating point macros */ #include /* POSIX defs */ @@ -9342,7 +9342,6 @@ index 5dcc77a80..6930a751d 100644 + +#ifdef __DEVKITPPC__ +#define __BUFSIZ__ 32768 -+#define MALLOC_ALIGNMENT 64 +#define __DYNAMIC_REENT__ #endif @@ -10107,6 +10106,19 @@ index 8664dc3e5..dbaba0264 100644 (void) memcpy ((void *) p, (void *) fp->_p, resid); fp->_r -= resid; fp->_p += resid; +diff --git a/newlib/libc/stdio/makebuf.c b/newlib/libc/stdio/makebuf.c +index b9c75bbf8..315cd7c1a 100644 +--- a/newlib/libc/stdio/makebuf.c ++++ b/newlib/libc/stdio/makebuf.c +@@ -50,7 +50,7 @@ __smakebuf_r (struct _reent *ptr, + return; + } + flags = __swhatbuf_r (ptr, fp, &size, &couldbetty); +- if ((p = _malloc_r (ptr, size)) == NULL) ++ if ((p = _memalign_r (ptr, 64, size)) == NULL) + { + if (!(fp->_flags & __SSTR)) + { diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c index d8dfdbd82..a85b5a99b 100644 --- a/newlib/libc/stdio/remove.c @@ -10242,6 +10254,22 @@ index 710440389..985e720bf 100644 } #endif /* _WANT_REGISTER_FINI */ +diff --git a/newlib/libc/stdlib/malloc.c b/newlib/libc/stdlib/malloc.c +index f5ac29208..3f21ea154 100644 +--- a/newlib/libc/stdlib/malloc.c ++++ b/newlib/libc/stdlib/malloc.c +@@ -161,7 +161,10 @@ Supporting OS subroutines required: <>. */ + void * + malloc (size_t nbytes) /* get a block */ + { +- return _malloc_r (_REENT, nbytes); ++ if (nbytes < 64) ++ return _malloc_r (_REENT, nbytes); ++ else ++ return _memalign_r (_REENT, 64, nbytes); + } + + void diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c index 23aa10173..ba88eb9fb 100644 --- a/newlib/libc/stdlib/mlock.c From ee693ddac0b4dd7dffe6edc316640f2f95c99eb1 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 22 Apr 2024 09:37:31 +0100 Subject: [PATCH 251/280] devkitPPC: fix regex.h for C++ --- dkppc/patches/newlib-4.4.0.20231231.patch | 25 +++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/dkppc/patches/newlib-4.4.0.20231231.patch b/dkppc/patches/newlib-4.4.0.20231231.patch index 6e6fb25..4f244be 100644 --- a/dkppc/patches/newlib-4.4.0.20231231.patch +++ b/dkppc/patches/newlib-4.4.0.20231231.patch @@ -9322,6 +9322,19 @@ index b1dd2a7c4..16e29c037 100644 extern void *_sbrk_r (struct _reent *, ptrdiff_t); extern int _stat_r (struct _reent *, const char *, struct stat *); extern _CLOCK_T_ _times_r (struct _reent *, struct tms *); +diff --git a/newlib/libc/include/regex.h b/newlib/libc/include/regex.h +index fa3e26879..4da1a374e 100644 +--- a/newlib/libc/include/regex.h ++++ b/newlib/libc/include/regex.h +@@ -96,7 +96,7 @@ __BEGIN_DECLS + int regcomp(regex_t *__restrict, const char *__restrict, int); + size_t regerror(int, const regex_t *__restrict, char *__restrict, size_t); + int regexec(const regex_t *__restrict, const char *__restrict, +- size_t, regmatch_t [__restrict], int); ++ size_t, regmatch_t [__restrict_arr], int); + void regfree(regex_t *); + __END_DECLS + diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h index 5dcc77a80..c53fce983 100644 --- a/newlib/libc/include/sys/config.h @@ -10107,10 +10120,18 @@ index 8664dc3e5..dbaba0264 100644 fp->_r -= resid; fp->_p += resid; diff --git a/newlib/libc/stdio/makebuf.c b/newlib/libc/stdio/makebuf.c -index b9c75bbf8..315cd7c1a 100644 +index b9c75bbf8..d748d5dc8 100644 --- a/newlib/libc/stdio/makebuf.c +++ b/newlib/libc/stdio/makebuf.c -@@ -50,7 +50,7 @@ __smakebuf_r (struct _reent *ptr, +@@ -19,6 +19,7 @@ + #include <_ansi.h> + #include + #include ++#include + #include + #include + #include +@@ -50,7 +51,7 @@ __smakebuf_r (struct _reent *ptr, return; } flags = __swhatbuf_r (ptr, fp, &size, &couldbetty); From c62e968c1eff366ed0c3812b59a4c4aa544bf87f Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 28 Apr 2024 12:42:29 +0100 Subject: [PATCH 252/280] devkitPPC: newlib tweaks --- dkppc/patches/gcc-13.2.0.patch | 455495 ++++++++++++++++++- dkppc/patches/newlib-4.4.0.20231231.patch | 9 +- 2 files changed, 454776 insertions(+), 728 deletions(-) diff --git a/dkppc/patches/gcc-13.2.0.patch b/dkppc/patches/gcc-13.2.0.patch index d2c9207..9b2ce7e 100644 --- a/dkppc/patches/gcc-13.2.0.patch +++ b/dkppc/patches/gcc-13.2.0.patch @@ -1,3 +1,39 @@ +diff --git a/ChangeLog b/ChangeLog +index 064c6a535aa..bc9ab5bcdad 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,7 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- + 2023-04-26 Release Manager + + * GCC 13.1.0 released. +diff --git a/c++tools/ChangeLog b/c++tools/ChangeLog +index 8756f9df551..a79fd7dc9aa 100644 +--- a/c++tools/ChangeLog ++++ b/c++tools/ChangeLog +@@ -1,7 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- + 2023-04-26 Release Manager + + * GCC 13.1.0 released. +diff --git a/config/ChangeLog b/config/ChangeLog +index da0518aac49..f36ef0761ba 100644 +--- a/config/ChangeLog ++++ b/config/ChangeLog +@@ -1,7 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- + 2023-04-26 Release Manager + + * GCC 13.1.0 released. diff --git a/config/gthr.m4 b/config/gthr.m4 index 11996247f15..f21b315ce8a 100644 --- a/config/gthr.m4 @@ -10,869 +46,451888 @@ index 11996247f15..f21b315ce8a 100644 gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h -index 98bc77b46b8..4f1690d4f4d 100644 ---- a/gcc/config/newlib-stdint.h -+++ b/gcc/config/newlib-stdint.h -@@ -25,7 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - /* newlib uses 32-bit long in certain cases for all non-SPU - targets. */ - #ifndef STDINT_LONG32 --#define STDINT_LONG32 (LONG_TYPE_SIZE == 32) -+#define STDINT_LONG32 0 - #endif +diff --git a/contrib/ChangeLog b/contrib/ChangeLog +index 394f0aacbc7..e9362593c88 100644 +--- a/contrib/ChangeLog ++++ b/contrib/ChangeLog +@@ -1,14 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- +-2023-04-26 Jakub Jelinek +- +- Backported from master: +- 2023-04-26 Jakub Jelinek +- +- * gennews (files): Add files for GCC 13. +- + 2023-04-26 Release Manager - #define SIG_ATOMIC_TYPE "int" -diff --git a/gcc/config/rs6000/eabi.h b/gcc/config/rs6000/eabi.h -index 5bfc377e0de..342ed1932b9 100644 ---- a/gcc/config/rs6000/eabi.h -+++ b/gcc/config/rs6000/eabi.h -@@ -36,6 +36,8 @@ - builtin_assert ("system=embedded"); \ - builtin_assert ("cpu=powerpc"); \ - builtin_assert ("machine=powerpc"); \ -+ builtin_define ("__DEVKITPPC__"); \ -+ builtin_define ("__DEVKITPRO__"); \ - TARGET_OS_SYSV_CPP_BUILTINS (); \ - } \ - while (0) -diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h -index 3503614efbd..b0a1b8e4ad7 100644 ---- a/gcc/config/rs6000/rs6000.h -+++ b/gcc/config/rs6000/rs6000.h -@@ -199,6 +199,7 @@ ASM_OPT_ANY - /* -mcpu=native handling only makes sense with compiler running on - an PowerPC chip. If changing this condition, also change - the condition in driver-rs6000.cc. */ -+#if 0 - #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX) - /* In driver-rs6000.cc. */ - extern const char *host_detect_local_cpu (int argc, const char **argv); -@@ -210,6 +211,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); - #else - #define ASM_CPU_NATIVE_SPEC "%(asm_default)" - #endif -+#endif -+#define ASM_CPU_NATIVE_SPEC "%(asm_default)" + * GCC 13.1.0 released. +diff --git a/contrib/header-tools/ChangeLog b/contrib/header-tools/ChangeLog +index 72e6e741a66..510e1f2603f 100644 +--- a/contrib/header-tools/ChangeLog ++++ b/contrib/header-tools/ChangeLog +@@ -1,7 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- + 2023-04-26 Release Manager - #ifndef CC1_CPU_SPEC - #ifdef HAVE_LOCAL_CPU_DETECT -diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h -index ae932fc22f0..527b48878b8 100644 ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -581,7 +581,11 @@ GNU_USER_TARGET_CC1_SPEC + * GCC 13.1.0 released. +diff --git a/contrib/reghunt/ChangeLog b/contrib/reghunt/ChangeLog +index e92a6dd60c7..dd9dc7688c9 100644 +--- a/contrib/reghunt/ChangeLog ++++ b/contrib/reghunt/ChangeLog +@@ -1,7 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- + 2023-04-26 Release Manager - /* Default starting address if specified. */ - #define LINK_START_SPEC "\ --%{mads : %(link_start_ads) ; \ -+%{mgcn|mogc : %(link_start_ogc) ; \ -+ mvgc : %(link_start_vgc) ; \ -+ mgcbios : %(link_start_gcb) ; \ -+ mrvl : %(link_start_rvl) ; \ -+ mads : %(link_start_ads) ; \ - myellowknife : %(link_start_yellowknife) ; \ - mmvme : %(link_start_mvme) ; \ - msim : %(link_start_sim) ; \ -@@ -612,7 +616,8 @@ GNU_USER_TARGET_CC1_SPEC + * GCC 13.1.0 released. +diff --git a/contrib/regression/ChangeLog b/contrib/regression/ChangeLog +index 959d7993305..4e3fec5e49e 100644 +--- a/contrib/regression/ChangeLog ++++ b/contrib/regression/ChangeLog +@@ -1,7 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- + 2023-04-26 Release Manager - /* Any specific OS flags. */ - #define LINK_OS_SPEC "\ --%{mads : %(link_os_ads) ; \ -+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(link_os_ogc) ; \ -+ mads : %(link_os_ads) ; \ - myellowknife : %(link_os_yellowknife) ; \ - mmvme : %(link_os_mvme) ; \ - msim : %(link_os_sim) ; \ -@@ -627,7 +632,10 @@ GNU_USER_TARGET_CC1_SPEC - /* Override rs6000.h definition. */ - #undef CPP_SPEC - #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ --%{mads : %(cpp_os_ads) ; \ -+%{mgcn : %(cpp_os_gcn) ; \ -+ mogc|mvgc|mgcbios : %(cpp_os_ogc) ; \ -+ mrvl : %(cpp_os_rvl) ; \ -+ mads : %(cpp_os_ads) ; \ - myellowknife : %(cpp_os_yellowknife) ; \ - mmvme : %(cpp_os_mvme) ; \ - msim : %(cpp_os_sim) ; \ -@@ -641,7 +649,10 @@ GNU_USER_TARGET_CC1_SPEC + * GCC 13.1.0 released. +diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog +index a7ecee364c4..40b85da6cf2 100644 +--- a/fixincludes/ChangeLog ++++ b/fixincludes/ChangeLog +@@ -1,7 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- + 2023-04-26 Release Manager - #undef STARTFILE_SPEC - #define STARTFILE_SPEC "\ --%{mads : %(startfile_ads) ; \ -+%{mgcn : %(startfile_gcn) ; \ -+ mogc|mvgc|mgcbios : %(startfile_ogc) ; \ -+ mrvl : %(startfile_ogc) ; \ -+ mads : %(startfile_ads) ; \ - myellowknife : %(startfile_yellowknife) ; \ - mmvme : %(startfile_mvme) ; \ - msim : %(startfile_sim) ; \ -@@ -655,7 +666,8 @@ GNU_USER_TARGET_CC1_SPEC + * GCC 13.1.0 released. +diff --git a/gcc/BASE-VER b/gcc/BASE-VER +index 67aee23940e..e6ba351366d 100644 +--- a/gcc/BASE-VER ++++ b/gcc/BASE-VER +@@ -1 +1 @@ +-13.2.0 ++13.1.0 +diff --git a/gcc/ChangeLog b/gcc/ChangeLog +index bbaaa6af287..be07b08a516 100644 +--- a/gcc/ChangeLog ++++ b/gcc/ChangeLog +@@ -1,1168 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- +-2023-07-20 Andrew Carlotti +- +- * config/aarch64/aarch64.h (TARGET_MEMTAG): Remove armv8.5 +- dependency. +- * config/aarch64/arm_acle.h: Remove unnecessary armv8.x +- dependencies from target pragmas. +- * config/aarch64/arm_fp16.h (target): Likewise. +- * config/aarch64/arm_neon.h (target): Likewise. +- +-2023-07-20 Richard Biener +- +- Revert: +- 2022-08-09 Roger Sayle +- +- * config/i386/i386-features.cc (scalar_chain::convert_compare): +- Create new pseudos only when/if needed. Add support for TEST, +- i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST. +- When broadcasting V2DImode and V4SImode use new pseudo register. +- (timode_scalar_chain::convert_op): Do nothing if operand is +- already V1TImode. Avoid generating useless SUBREG conversions, +- i.e. (SUBREG:V1TImode (REG:V1TImode) 0). Handle CONST_WIDE_INT +- in addition to CONST_INT by using CONST_SCALAR_INT_P. +- (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both +- CONST_WIDE_INT and CONST_INT. Recognize new *testti_doubleword +- pattern as an STV candidate. +- (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P +- operands in binary logic operations. +- * config/i386/i386.cc (ix86_rtx_costs) : Add costs +- for UNSPEC_PTEST; a PTEST that performs an AND has the same cost +- as regular PTEST, i.e. cost->sse_op. +- * config/i386/i386.md (*testti_doubleword): New pre-reload +- define_insn_and_split that recognizes comparison of TI mode AND +- against zero. +- * config/i386/sse.md (*ptest_and): New pre-reload +- define_insn_and_split that recognizes UNSPEC_PTEST of identical +- AND operands. +- +-2023-07-20 Haochen Jiang +- +- * doc/invoke.texi: Remove AVX512VP2INTERSECT in +- Granite Rapids{, D} from documentation. +- +-2023-07-19 Jakub Jelinek +- +- Backported from master: +- 2023-07-19 Jakub Jelinek +- +- PR tree-optimization/110731 +- * wide-int.cc (wi::divmod_internal): Always unpack dividend and +- divisor as UNSIGNED regardless of sgn. +- +-2023-07-19 Iain Sandoe +- +- Backported from master: +- 2023-07-13 Iain Sandoe +- +- PR target/110624 +- * config/darwin.h (DARWIN_PLATFORM_ID): New. +- (LINK_COMMAND_A): Use DARWIN_PLATFORM_ID to pass OS, OS version +- and SDK data to the static linker. +- +-2023-07-19 Iain Sandoe +- +- Backported from master: +- 2023-07-03 Iain Sandoe +- +- * config/darwin.h: Avoid duplicate multiply_defined specs on +- earlier Darwin versions with shared libgcc. +- +-2023-07-18 Ju-Zhe Zhong +- +- * config/riscv/riscv-vsetvl.cc (gen_vsetvl_pat): Add vl parameter. +- (change_vsetvl_insn): Ditto. +- (change_insn): Add validate change as well as assert. +- (pass_vsetvl::backward_demand_fusion): Allow forward. +- +-2023-07-17 Richard Biener +- +- PR tree-optimization/110669 +- * tree-scalar-evolution.cc (analyze_and_compute_bitop_with_inv_effect): +- Check we matched a header PHI. +- +-2023-07-14 Uros Bizjak +- +- Backported from master: +- 2023-07-14 Uros Bizjak +- +- PR target/110206 +- * fwprop.cc (contains_paradoxical_subreg_p): Move to ... +- * rtlanal.cc (contains_paradoxical_subreg_p): ... here. +- * rtlanal.h (contains_paradoxical_subreg_p): Add prototype. +- * cprop.cc (try_replace_reg): Do not set REG_EQUAL note +- when the original source contains a paradoxical subreg. +- +-2023-07-14 Oleg Endo +- +- PR target/101469 +- * config/sh/sh.md (peephole2): Handle case where eliminated reg +- is also used by the address of the following memory operand. +- +-2023-07-13 Uros Bizjak +- +- Backported from master: +- 2023-07-13 Uros Bizjak +- +- PR target/106966 +- * config/alpha/alpha.cc (alpha_emit_set_long_const): +- Always use DImode when constructing long const. +- +-2023-07-12 Mo, Zewei +- +- * common/config/i386/cpuinfo.h +- (get_intel_cpu): Handle Granite Rapids D. +- * common/config/i386/i386-common.cc: +- (processor_alias_table): Add graniterapids-d. +- * common/config/i386/i386-cpuinfo.h +- (enum processor_subtypes): Add INTEL_COREI7_GRANITERAPIDS_D. +- * config.gcc: Add -march=graniterapids-d. +- * config/i386/driver-i386.cc (host_detect_local_cpu): +- Handle graniterapids-d. +- * config/i386/i386.h: (PTA_GRANITERAPIDS_D): New. +- * doc/extend.texi: Add graniterapids-d. +- * doc/invoke.texi: Ditto. +- +-2023-07-10 Xi Ruoyao +- +- Backported from master: +- 2023-07-10 Xi Ruoyao +- +- PR tree-optimization/110557 +- * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): +- Ensure the output sign-extended if necessary. +- +-2023-07-08 Jonathan Wakely +- +- PR c++/110595 +- * doc/invoke.texi (Warning Options): Fix typo. +- +-2023-07-07 Richard Biener +- +- Backported from master: +- 2023-07-06 Richard Biener +- +- PR tree-optimization/110556 +- * tree-ssa-tail-merge.cc (gimple_equal_p): Check +- assign code and all operands of non-stores. +- +-2023-07-07 Richard Biener +- +- Backported from master: +- 2023-07-06 Richard Biener +- +- PR tree-optimization/110515 +- * tree-ssa-pre.cc (compute_avail): Make code dealing +- with hoisting loads with different alias-sets more +- robust. +- +-2023-07-07 Richard Biener +- +- Backported from master: +- 2023-06-26 Richard Biener +- +- PR tree-optimization/110392 +- * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded): +- Do early exits on true/false predicate only after normalization. +- +-2023-07-07 Richard Biener +- +- Backported from master: +- 2023-06-26 Richard Biener +- +- PR tree-optimization/110381 +- * tree-vect-slp.cc (vect_optimize_slp_pass::start_choosing_layouts): +- Materialize permutes before fold-left reductions. +- +-2023-07-07 Li Xu +- +- PR target/110560 +- * config/riscv/riscv-vsetvl.cc (local_eliminate_vsetvl_insn): Fix bug. +- +-2023-07-05 Michael Meissner +- +- Backported from master: +- 2023-06-23 Michael Meissner +- Aaron Sawdey +- +- PR target/105325 +- * config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): Fix problems that +- allowed prefixed lwa to be generated. +- * config/rs6000/fusion.md: Regenerate. +- * config/rs6000/predicates.md (ds_form_mem_operand): Delete. +- * config/rs6000/rs6000.md (prefixed attribute): Add support for load +- plus compare immediate fused insns. +- (maybe_prefixed): Likewise. +- +-2023-07-05 Segher Boessenkool +- +- Backported from master: +- 2023-06-06 Segher Boessenkool +- +- * config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): New, rewritten and +- split out from... +- (gen_ld_cmpi_p10): ... this. +- +-2023-07-05 Richard Biener +- +- Backported from master: +- 2023-07-04 Richard Biener +- +- PR tree-optimization/110228 +- * tree-ssa-ifcombine.cc (pass_tree_ifcombine::execute): +- Mark SSA may-undefs. +- (bb_no_side_effects_p): Check stmt uses for undefs. +- +-2023-07-04 Lili Cui +- +- * config/i386/i386.h: Add PTA_ENQCMD and PTA_UINTR to PTA_SIERRAFOREST. +- * doc/invoke.texi: Update new isa to march=sierraforest and grandridge. +- +-2023-07-03 Eric Botcazou +- +- * gimple-fold.cc (fold_array_ctor_reference): Fix head comment. +- (fold_nonarray_ctor_reference): Likewise. Specifically deal +- with integral bit-fields. +- (fold_ctor_reference): Make sure that the constructor uses the +- native storage order. +- +-2023-07-03 Iain Sandoe +- +- Backported from master: +- 2023-07-02 Iain Sandoe +- +- PR target/108743 +- * config/darwin.opt: Add fconstant-cfstrings alias to +- mconstant-cfstrings. +- * doc/invoke.texi: Amend invocation descriptions to reflect +- that the fconstant-cfstrings is a target-option alias and to +- add the missing mconstant-cfstrings option description to the +- Darwin section. +- +-2023-06-29 liuhongt +- +- PR rtl-optimization/110237 +- * config/i386/sse.md (_store_mask): Refine with +- UNSPEC_MASKMOV. +- (maskstore_store_mask): New define_insn, it's renamed +- from original _store_mask. +- +-2023-06-29 liuhongt +- +- PR target/110309 +- * config/i386/sse.md (maskload): +- Refine pattern with UNSPEC_MASKLOAD. +- (maskload): Ditto. +- (*_load_mask): Extend mode iterator to +- VI12HFBF_AVX512VL. +- (*_load): Ditto. +- +-2023-06-28 Hongyu Wang +- +- Backported from master: +- 2023-06-26 Hongyu Wang +- +- * config/i386/i386-options.cc (ix86_valid_target_attribute_tree): +- Override tune_string with arch_string if tune_string is not +- explicitly specified. +- +-2023-06-28 Thomas Schwinge +- +- Backported from master: +- 2023-06-02 Thomas Schwinge +- +- PR testsuite/66005 +- * doc/install.texi: Document (optional) Perl usage for parallel +- testing of libgomp. +- +-2023-06-28 liuhongt +- +- * config/i386/i386-features.cc (pass_insert_vzeroupper:gate): +- Move flag_expensive_optimizations && !optimize_size to .. +- * config/i386/i386-options.cc (ix86_option_override_internal): +- .. this, it makes -mvzeroupper independent of optimization +- level, but still keeps the behavior of architecture +- tuning(emit_vzeroupper) unchanged. +- +-2023-06-28 liuhongt +- +- * config/i386/i386.cc (ix86_invalid_conversion): New function. +- (TARGET_INVALID_CONVERSION): Define as +- ix86_invalid_conversion. +- +-2023-06-27 Andrew Pinski +- +- Backported from master: +- 2023-06-27 Andrew Pinski +- +- PR middle-end/110420 +- PR middle-end/103979 +- PR middle-end/98619 +- * gimplify.cc (gimplify_asm_expr): Mark asm with labels as volatile. +- +-2023-06-27 Martin Jambor +- +- Backported from master: +- 2023-06-27 Martin Jambor +- +- PR ipa/110276 +- * ipa-sra.cc (struct caller_issues): New field there_is_one. +- (check_for_caller_issues): Set it. +- (check_all_callers_for_issues): Check it. +- +-2023-06-27 Juzhe-Zhong +- +- Backported from master: +- 2023-06-16 Juzhe-Zhong +- +- PR target/110264 +- * config/riscv/riscv-vsetvl.cc (insert_vsetvl): Fix bug. +- +-2023-06-27 Andrew Pinski +- +- Backported from master: +- 2023-06-27 Andrew Pinski +- +- * doc/extend.texi (__builtin_alloca_with_align_and_max): Fix +- defbuiltin usage. +- +-2023-06-23 Richard Biener +- +- Backported from master: +- 2023-06-19 Richard Biener +- +- PR tree-optimization/110298 +- * tree-ssa-loop-ivcanon.cc (tree_unroll_loops_completely): +- Clear number of iterations info before cleaning up the CFG. +- +-2023-06-23 Richard Biener +- +- Backported from master: +- 2023-06-20 Richard Biener +- +- PR debug/110295 +- * dwarf2out.cc (process_scope_var): Continue processing +- the decl after setting a parent in case the existing DIE +- was in limbo. +- +-2023-06-23 Richard Biener +- +- Backported from master: +- 2023-06-06 Richard Biener +- +- PR middle-end/110055 +- * gimplify.cc (gimplify_target_expr): Do not emit +- CLOBBERs for variables which have static storage duration +- after gimplifying their initializers. +- +-2023-06-23 Richard Biener +- +- Backported from master: +- 2023-05-31 Richard Biener +- +- PR ipa/109983 +- PR tree-optimization/109143 +- * tree-ssa-structalias.cc (struct topo_info): Remove. +- (init_topo_info): Likewise. +- (free_topo_info): Likewise. +- (compute_topo_order): Simplify API, put the component +- with ESCAPED last so it's processed first. +- (topo_visit): Adjust. +- (solve_graph): Likewise. +- +-2023-06-20 Alex Coplan +- +- Backported from master: +- 2023-06-07 Alex Coplan +- +- PR target/110132 +- * config/aarch64/aarch64-builtins.cc (aarch64_general_simulate_builtin): +- New. Use it ... +- (aarch64_init_ls64_builtins): ... here. Switch to declaring public ACLE +- names for builtins. +- (aarch64_general_init_builtins): Ensure we invoke the arm_acle.h +- setup if in_lto_p, just like we do for SVE. +- * config/aarch64/arm_acle.h: (__arm_ld64b): Delete. +- (__arm_st64b): Delete. +- (__arm_st64bv): Delete. +- (__arm_st64bv0): Delete. +- +-2023-06-20 Alex Coplan +- +- Backported from master: +- 2023-06-07 Alex Coplan +- +- PR target/110100 +- * config/aarch64/aarch64-builtins.cc (aarch64_expand_builtin_ls64): +- Use input operand for the destination address. +- * config/aarch64/aarch64.md (st64b): Fix constraint on address +- operand. +- +-2023-06-20 Alex Coplan +- +- Backported from master: +- 2023-06-07 Alex Coplan +- +- PR target/110100 +- * config/aarch64/aarch64-builtins.cc (aarch64_init_ls64_builtins_types): +- Replace eight consecutive spaces with tabs. +- (aarch64_init_ls64_builtins): Likewise. +- (aarch64_expand_builtin_ls64): Likewise. +- * config/aarch64/aarch64.md (ld64b): Likewise. +- (st64b): Likewise. +- (st64bv): Likewise +- (st64bv0): Likewise. +- +-2023-06-20 Kewen Lin +- +- Backported from master: +- 2023-06-12 Kewen Lin +- +- PR target/109932 +- * config/rs6000/rs6000-builtins.def (__builtin_pack_vector_int128, +- __builtin_unpack_vector_int128): Move from stanza power7 to vsx. +- +-2023-06-20 Kewen Lin +- +- Backported from master: +- 2023-06-12 Kewen Lin +- +- PR target/110011 +- * config/rs6000/rs6000.cc (output_toc): Use the mode of the 128-bit +- floating constant itself for real_to_target call. +- +-2023-06-16 Vladimir N. Makarov +- +- * ira-costs.cc: (find_costs_and_classes): Constrain classes of pic +- offset table pseudo to a general reg subset. +- +-2023-06-15 Lulu Cheng +- +- Backported from master: +- 2023-06-15 Lulu Cheng +- Andrew Pinski +- +- PR target/110136 +- * config/loongarch/loongarch.md: Modify the register constraints for template +- "jumptable" and "indirect_jump" from "r" to "e". +- +-2023-06-14 Jakub Jelinek +- +- Backported from master: +- 2023-06-13 Jakub Jelinek +- +- * config/i386/i386.cc (standard_sse_constant_opcode): Remove +- superfluous spaces around \t for vpcmpeqd. +- +-2023-06-14 liuhongt +- +- PR target/110227 +- * config/i386/sse.md (mov_internal>): Use x instead of v +- for alternative 2 since there's no evex version for vpcmpeqd +- ymm, ymm, ymm. +- +-2023-06-13 Richard Biener +- +- Backported from master: +- 2023-06-13 Richard Biener +- +- * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): For +- .MASK_LOAD and friends set the size of the access to unknown. +- +-2023-06-13 Richard Biener +- +- Backported from master: +- 2023-06-12 Richard Biener +- +- * tree-ssa-alias.cc (call_may_clobber_ref_p_1): For +- .MASK_STORE and friend set the size of the access to +- unknown. +- +-2023-06-13 Alexandre Oliva +- +- Backported from master: +- 2023-06-13 Alexandre Oliva +- +- * range-op-float.cc (frange_nextafter): Drop inline. +- (frelop_early_resolve): Add static. +- (frange_float): Likewise. +- +-2023-06-12 Richard Biener +- +- Backported from master: +- 2023-06-12 Richard Biener +- +- PR middle-end/110200 +- * genmatch.cc (expr::gen_transform): Put braces around +- the if arm for the (convert ...) short-cut. +- +-2023-06-10 Georg-Johann Lay +- +- PR target/109650 +- PR target/92729 +- Backport from 2023-05-10 master r14-1688. +- * config/avr/avr-passes.def (avr_pass_ifelse): Insert new pass. +- * config/avr/avr.cc (avr_pass_ifelse): New RTL pass. +- (avr_pass_data_ifelse): New pass_data for it. +- (make_avr_pass_ifelse, avr_redundant_compare, avr_cbranch_cost) +- (avr_canonicalize_comparison, avr_out_plus_set_ZN) +- (avr_out_cmp_ext): New functions. +- (compare_condtition): Make sure REG_CC dies in the branch insn. +- (avr_rtx_costs_1): Add computation of cbranch costs. +- (avr_adjust_insn_length) [ADJUST_LEN_ADD_SET_ZN, ADJUST_LEN_CMP_ZEXT]: +- [ADJUST_LEN_CMP_SEXT]Handle them. +- (TARGET_CANONICALIZE_COMPARISON): New define. +- (avr_simplify_comparison_p, compare_diff_p, avr_compare_pattern) +- (avr_reorg_remove_redundant_compare, avr_reorg): Remove functions. +- (TARGET_MACHINE_DEPENDENT_REORG): Remove define. +- * config/avr/avr-protos.h (avr_simplify_comparison_p): Remove proto. +- (make_avr_pass_ifelse, avr_out_plus_set_ZN, cc_reg_rtx) +- (avr_out_cmp_zext): New Protos +- * config/avr/avr.md (branch, difficult_branch): Don't split insns. +- (*cbranchhi.zero-extend.0", *cbranchhi.zero-extend.1") +- (*swapped_tst, *add.for.eqne.): New insns. +- (*cbranch4): Rename to cbranch4_insn. +- (define_peephole): Add dead_or_set_regno_p(insn,REG_CC) as needed. +- (define_deephole2): Add peep2_regno_dead_p(*,REG_CC) as needed. +- Add new RTL peepholes for decrement-and-branch and *swapped_tst. +- Rework signtest-and-branch peepholes for *sbrx_branch. +- (adjust_len) [add_set_ZN, cmp_zext]: New. +- (QIPSI): New mode iterator. +- (ALLs1, ALLs2, ALLs4, ALLs234): New mode iterators. +- (gelt): New code iterator. +- (gelt_eqne): New code attribute. +- (rvbranch, *rvbranch, difficult_rvbranch, *difficult_rvbranch) +- (branch_unspec, *negated_tst, *reversed_tst) +- (*cmpqi_sign_extend): Remove insns. +- (define_c_enum "unspec") [UNSPEC_IDENTITY]: Remove. +- * config/avr/avr-dimode.md (cbranch4): Canonicalize comparisons. +- * config/avr/predicates.md (scratch_or_d_register_operand): New. +- * config/avr/constraints.md (Yxx): New constraint. +- +-2023-06-09 Andrew Pinski +- +- Backported from master: +- 2023-06-09 Andrew Pinski +- +- PR tree-optimization/110165 +- PR tree-optimization/110166 +- * match.pd (zero_one_valued_p): Don't accept +- signed 1-bit integers. +- +-2023-06-09 Richard Biener +- +- Backported from master: +- 2023-06-09 Richard Biener +- +- * match.pd (two conversions in a row): Use element_precision +- to DTRT for VECTOR_TYPE. +- +-2023-06-09 Iain Sandoe +- +- Backported from master: +- 2023-06-02 Iain Sandoe +- +- PR target/110044 +- * config/rs6000/rs6000.cc (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-09 liuhongt +- +- PR target/110108 +- * config/i386/i386.cc (ix86_gimple_fold_builtin): Explicitly +- view_convert_expr mask to signed type when folding pblendvb +- builtins. +- +-2023-06-08 Kyrylo Tkachov +- +- Backported from master: +- 2023-05-24 Kyrylo Tkachov +- +- PR target/109939 +- * config/arm/arm-builtins.cc (SAT_BINOP_UNSIGNED_IMM_QUALIFIERS): Use +- qualifier_none for the return operand. +- +-2023-06-07 Jeevitha Palanisamy +- +- Backported from master: +- 2023-06-06 Jeevitha Palanisamy +- +- PR target/106907 +- * config/rs6000/rs6000.cc (vec_const_128bit_to_bytes): Remove +- duplicate expression. +- +-2023-06-07 Alex Coplan +- +- Backported from master: +- 2023-05-25 Alex Coplan +- +- PR target/109800 +- * config/arm/arm.md (movdf): Generate temporary pseudo in DImode +- instead of DFmode. +- * config/arm/vfp.md (no_literal_pool_df_immediate): Rather than punning an +- lvalue DFmode pseudo into DImode, use a DImode pseudo and pun it into +- DFmode as an rvalue. +- +-2023-06-06 Andrew Pinski +- +- Backported from master: +- 2023-06-05 Andrew Pinski +- +- PR bootstrap/110085 +- * Makefile.in (clean): Remove the removing of +- MULTILIB_DIR/MULTILIB_OPTIONS directories. +- +-2023-06-02 Georg-Johann Lay +- +- PR target/110088 +- * config/avr/avr.md: Add an RTL peephole to optimize operations on +- non-LD_REGS after a move from LD_REGS. +- (piaop): New code iterator. +- +-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-30 Andreas Schwab +- +- PR target/110036 +- * config/riscv/riscv.cc (riscv_asan_shadow_offset): Update to +- match libsanitizer. +- +-2023-05-29 Juzhe-Zhong +- +- Backported from master: +- 2023-04-21 Juzhe-Zhong +- +- PR target/109547 +- * config/riscv/riscv-vsetvl.cc (local_eliminate_vsetvl_insn): New function. +- (vector_insn_info::skip_avl_compatible_p): Ditto. +- (vector_insn_info::merge): Remove default value. +- (pass_vsetvl::compute_local_backward_infos): Ditto. +- (pass_vsetvl::cleanup_insns): Add local vsetvl elimination. +- * config/riscv/riscv-vsetvl.h: Ditto. +- +-2023-05-29 Kito Cheng +- +- Backported from master: +- 2023-05-16 Kito Cheng +- +- * common/config/riscv/riscv-common.cc (riscv_compute_multilib): +- Fix wrong select_kind... +- +-2023-05-29 Kito Cheng +- +- Backported from master: +- 2023-05-12 Kito Cheng +- +- * common/config/riscv/riscv-common.cc (riscv_select_multilib_by_abi): +- Drop unused parameter. +- (riscv_select_multilib): Ditto. +- (riscv_compute_multilib): Update call site of +- riscv_select_multilib_by_abi and riscv_select_multilib_by_abi. +- +-2023-05-29 Kito Cheng +- +- Backported from master: +- 2023-05-08 Kito Cheng +- +- * common/config/riscv/riscv-common.cc (riscv_select_multilib_by_abi): New. +- (riscv_select_multilib): New. +- (riscv_compute_multilib): Extract logic to riscv_select_multilib and +- also handle select_by_abi. +- * config/riscv/elf.h (RISCV_USE_CUSTOMISED_MULTI_LIB): Change it +- to select_by_abi_arch_cmodel from 1. +- * config/riscv/linux.h (RISCV_USE_CUSTOMISED_MULTI_LIB): Define. +- * config/riscv/riscv-opts.h (enum riscv_multilib_select_kind): New. +- +-2023-05-29 Juzhe-Zhong +- +- Backported from master: +- 2023-05-29 Juzhe-Zhong +- +- * config/riscv/vector.md: Fix vimuladd instruction bug. +- +-2023-05-25 Georg-Johann Lay +- +- PR target/104327 +- * config/avr/avr.cc (avr_can_inline_p): New static function. +- (TARGET_CAN_INLINE_P): Define to that function. +- +-2023-05-25 Georg-Johann Lay +- +- PR target/82931 +- * config/avr/avr.md (*movbitqi.0): Rename to *movbit.0-6. +- Handle any bit position and use mode QISI. +- * config/avr/avr.cc (avr_rtx_costs_1) [IOR]: Return a cost +- of 2 insns for bit-transfer of respective style. +- +-2023-05-23 Georg-Johann Lay +- +- * config/avr/avr.cc (avr_insn_cost): New static function. +- (TARGET_INSN_COST): Define to that function. +- +-2023-05-23 Eric Botcazou +- +- * fold-const.cc (native_encode_initializer) : Apply the +- specific treatment for bit-fields only if they have an integral type +- and filter out non-integral bit-fields that do not start and end on +- a byte boundary. +- +-2023-05-22 Jakub Jelinek +- +- Backported from master: +- 2023-05-21 Jakub Jelinek +- +- PR tree-optimization/109505 +- * match.pd ((x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2), +- Combine successive equal operations with constants, +- (A +- CST1) +- CST2 -> A + CST3, (CST1 - A) +- CST2 -> CST3 - A, +- CST1 - (CST2 - A) -> CST3 + A): Use ! on ops with 2 CONSTANT_CLASS_P +- operands. +- +-2023-05-22 Kewen Lin +- +- Backported from master: +- 2023-05-17 Kewen Lin +- +- * tree-vect-loop.cc (vect_analyze_loop_1): Don't retry analysis with +- suggested unroll factor once the previous analysis fails. +- +-2023-05-20 Triffid Hunter +- +- PR target/105753 +- Backport from 2023-05-20 https://gcc.gnu.org/r14-1016 +- * config/avr/avr.md (divmodpsi, udivmodpsi, divmodsi, udivmodsi): +- Remove superfluous "parallel" in insn pattern. +- ([u]divmod4): Tidy code. Use gcc_unreachable() instead of +- printing error text to assembly. +- +-2023-05-19 Andreas Schwab +- +- * config/riscv/linux.h (LIB_SPEC): Don't redefine. +- +-2023-05-18 Stam Markianos-Wright +- +- * config/arm/arm_mve.h: (__ARM_mve_typeid): Add more pointer types. +- (__ARM_mve_coerce1): Remove. +- (__ARM_mve_coerce2): Remove. +- (__ARM_mve_coerce3): Remove. +- (__ARM_mve_coerce_i_scalar): New. +- (__ARM_mve_coerce_s8_ptr): New. +- (__ARM_mve_coerce_u8_ptr): New. +- (__ARM_mve_coerce_s16_ptr): New. +- (__ARM_mve_coerce_u16_ptr): New. +- (__ARM_mve_coerce_s32_ptr): New. +- (__ARM_mve_coerce_u32_ptr): New. +- (__ARM_mve_coerce_s64_ptr): New. +- (__ARM_mve_coerce_u64_ptr): New. +- (__ARM_mve_coerce_f_scalar): New. +- (__ARM_mve_coerce_f16_ptr): New. +- (__ARM_mve_coerce_f32_ptr): New. +- (__arm_vst4q): Change _coerce_ overloads. +- (__arm_vbicq): Change _coerce_ overloads. +- (__arm_vmulq): Change _coerce_ overloads. +- (__arm_vcmpeqq): Change _coerce_ overloads. +- (__arm_vcmpneq): Change _coerce_ overloads. +- (__arm_vmaxnmavq): Change _coerce_ overloads. +- (__arm_vmaxnmvq): Change _coerce_ overloads. +- (__arm_vminnmavq): Change _coerce_ overloads. +- (__arm_vsubq): Change _coerce_ overloads. +- (__arm_vminnmvq): Change _coerce_ overloads. +- (__arm_vrshlq): Change _coerce_ overloads. +- (__arm_vqsubq): Change _coerce_ overloads. +- (__arm_vqdmulltq): Change _coerce_ overloads. +- (__arm_vqdmullbq): Change _coerce_ overloads. +- (__arm_vqdmulhq): Change _coerce_ overloads. +- (__arm_vqaddq): Change _coerce_ overloads. +- (__arm_vhaddq): Change _coerce_ overloads. +- (__arm_vhsubq): Change _coerce_ overloads. +- (__arm_vqdmlashq): Change _coerce_ overloads. +- (__arm_vqrdmlahq): Change _coerce_ overloads. +- (__arm_vmlasq): Change _coerce_ overloads. +- (__arm_vqdmlahq): Change _coerce_ overloads. +- (__arm_vmaxnmavq_p): Change _coerce_ overloads. +- (__arm_vmaxnmvq_p): Change _coerce_ overloads. +- (__arm_vminnmavq_p): Change _coerce_ overloads. +- (__arm_vminnmvq_p): Change _coerce_ overloads. +- (__arm_vfmasq_m): Change _coerce_ overloads. +- (__arm_vld1q): Change _coerce_ overloads. +- (__arm_vld1q_z): Change _coerce_ overloads. +- (__arm_vld2q): Change _coerce_ overloads. +- (__arm_vld4q): Change _coerce_ overloads. +- (__arm_vldrhq_gather_offset): Change _coerce_ overloads. +- (__arm_vldrhq_gather_offset_z): Change _coerce_ overloads. +- (__arm_vldrhq_gather_shifted_offset): Change _coerce_ overloads. +- (__arm_vldrhq_gather_shifted_offset_z): Change _coerce_ overloads. +- (__arm_vldrwq_gather_offset): Change _coerce_ overloads. +- (__arm_vldrwq_gather_offset_z): Change _coerce_ overloads. +- (__arm_vldrwq_gather_shifted_offset): Change _coerce_ overloads. +- (__arm_vldrwq_gather_shifted_offset_z): Change _coerce_ overloads. +- (__arm_vst1q_p): Change _coerce_ overloads. +- (__arm_vst2q): Change _coerce_ overloads. +- (__arm_vst1q): Change _coerce_ overloads. +- (__arm_vstrhq): Change _coerce_ overloads. +- (__arm_vstrhq_p): Change _coerce_ overloads. +- (__arm_vstrhq_scatter_offset_p): Change _coerce_ overloads. +- (__arm_vstrhq_scatter_offset): Change _coerce_ overloads. +- (__arm_vstrhq_scatter_shifted_offset_p): Change _coerce_ overloads. +- (__arm_vstrhq_scatter_shifted_offset): Change _coerce_ overloads. +- (__arm_vstrwq_p): Change _coerce_ overloads. +- (__arm_vstrwq): Change _coerce_ overloads. +- (__arm_vstrwq_scatter_offset): Change _coerce_ overloads. +- (__arm_vstrwq_scatter_offset_p): Change _coerce_ overloads. +- (__arm_vstrwq_scatter_shifted_offset): Change _coerce_ overloads. +- (__arm_vstrwq_scatter_shifted_offset_p): Change _coerce_ overloads. +- (__arm_vsetq_lane): Change _coerce_ overloads. +- (__arm_vcmpneq_m): Change _coerce_ overloads. +- (__arm_vldrbq_gather_offset): Change _coerce_ overloads. +- (__arm_vdwdupq_x_u8): Change _coerce_ overloads. +- (__arm_vdwdupq_x_u16): Change _coerce_ overloads. +- (__arm_vdwdupq_x_u32): Change _coerce_ overloads. +- (__arm_viwdupq_x_u8): Change _coerce_ overloads. +- (__arm_viwdupq_x_u16): Change _coerce_ overloads. +- (__arm_viwdupq_x_u32): Change _coerce_ overloads. +- (__arm_vidupq_x_u8): Change _coerce_ overloads. +- (__arm_vddupq_x_u8): Change _coerce_ overloads. +- (__arm_vidupq_x_u16): Change _coerce_ overloads. +- (__arm_vddupq_x_u16): Change _coerce_ overloads. +- (__arm_vidupq_x_u32): Change _coerce_ overloads. +- (__arm_vddupq_x_u32): Change _coerce_ overloads. +- (__arm_vhaddq_x): Change _coerce_ overloads. +- (__arm_vhsubq_x): Change _coerce_ overloads. +- (__arm_vldrdq_gather_offset): Change _coerce_ overloads. +- (__arm_vldrdq_gather_offset_z): Change _coerce_ overloads. +- (__arm_vldrdq_gather_shifted_offset): Change _coerce_ overloads. +- (__arm_vldrdq_gather_shifted_offset_z): Change _coerce_ overloads. +- (__arm_vldrbq_gather_offset_z): Change _coerce_ overloads. +- (__arm_vqrdmlahq_m): Change _coerce_ overloads. +- (__arm_vqrdmlashq_m): Change _coerce_ overloads. +- (__arm_vqdmlashq_m): Change _coerce_ overloads. +- (__arm_vmlaldavaxq_p): Change _coerce_ overloads. +- (__arm_vmlasq_m): Change _coerce_ overloads. +- (__arm_vqdmulhq_m): Change _coerce_ overloads. +- (__arm_vqdmulltq_m): Change _coerce_ overloads. +- (__arm_vidupq_u16): Change _coerce_ overloads. +- (__arm_vidupq_u32): Change _coerce_ overloads. +- (__arm_vidupq_u8): Change _coerce_ overloads. +- (__arm_vddupq_u16): Change _coerce_ overloads. +- (__arm_vddupq_u32): Change _coerce_ overloads. +- (__arm_vddupq_u8): Change _coerce_ overloads. +- (__arm_viwdupq_m): Change _coerce_ overloads. +- (__arm_viwdupq_u16): Change _coerce_ overloads. +- (__arm_viwdupq_u32): Change _coerce_ overloads. +- (__arm_viwdupq_u8): Change _coerce_ overloads. +- (__arm_vdwdupq_m): Change _coerce_ overloads. +- (__arm_vdwdupq_u16): Change _coerce_ overloads. +- (__arm_vdwdupq_u32): Change _coerce_ overloads. +- (__arm_vdwdupq_u8): Change _coerce_ overloads. +- (__arm_vaddlvaq): Change _coerce_ overloads. +- (__arm_vaddlvaq_p): Change _coerce_ overloads. +- (__arm_vaddvaq): Change _coerce_ overloads. +- (__arm_vaddvaq_p): Change _coerce_ overloads. +- (__arm_vcmphiq_m): Change _coerce_ overloads. +- (__arm_vmladavaq_p): Change _coerce_ overloads. +- (__arm_vmladavaxq): Change _coerce_ overloads. +- (__arm_vmlaldavaxq): Change _coerce_ overloads. +- (__arm_vstrbq): Change _coerce_ overloads. +- (__arm_vstrbq_p): Change _coerce_ overloads. +- (__arm_vrmlaldavhaq_p): Change _coerce_ overloads. +- (__arm_vstrbq_scatter_offset): Change _coerce_ overloads. +- (__arm_vstrbq_scatter_offset_p): Change _coerce_ overloads. +- (__arm_vstrdq_scatter_offset_p): Change _coerce_ overloads. +- (__arm_vstrdq_scatter_offset): Change _coerce_ overloads. +- (__arm_vstrdq_scatter_shifted_offset_p): Change _coerce_ overloads. +- (__arm_vstrdq_scatter_shifted_offset): Change _coerce_ overloads. +- +-2023-05-18 Stam Markianos-Wright +- +- * config/arm/arm_mve.h (__arm_vbicq): Change coerce on +- scalar constant. +- (__arm_vmvnq_m): Likewise. +- +-2023-05-18 Stam Markianos-Wright +- +- * config/arm/arm_mve.h (__arm_vorrq): Add _n variant. +- +-2023-05-18 Stam Markianos-Wright +- +- * config/arm/arm_mve.h (__arm_vadcq_s32): Fix arithmetic. +- (__arm_vadcq_u32): Likewise. +- (__arm_vadcq_m_s32): Likewise. +- (__arm_vadcq_m_u32): Likewise. +- (__arm_vsbcq_s32): Likewise. +- (__arm_vsbcq_u32): Likewise. +- (__arm_vsbcq_m_s32): Likewise. +- (__arm_vsbcq_m_u32): Likewise. +- * config/arm/mve.md (get_fpscr_nzcvqc): Make unspec_volatile. +- +-2023-05-18 Andrea Corallo +- +- * config/arm/mve.md (mve_vrndq_m_f, mve_vrev64q_f) +- (mve_vrev32q_fv8hf, mve_vcvttq_f32_f16v4sf) +- (mve_vcvtbq_f32_f16v4sf, mve_vcvtq_to_f_) +- (mve_vrev64q_, mve_vcvtq_from_f_) +- (mve_vmovltq_, mve_vmovlbq_) +- (mve_vcvtpq_, mve_vcvtnq_) +- (mve_vcvtmq_, mve_vcvtaq_) +- (mve_vmvnq_n_, mve_vrev16q_v16qi) +- (mve_vctpq, mve_vbrsrq_n_f) +- (mve_vbrsrq_n_, mve_vandq_f, mve_vbicq_f) +- (mve_vbicq_n_, mve_vctpq_m) +- (mve_vcvtbq_f16_f32v8hf, mve_vcvttq_f16_f32v8hf) +- (mve_veorq_f, mve_vmlaldavxq_s, mve_vmlsldavq_s) +- (mve_vmlsldavxq_s, mve_vornq_f, mve_vorrq_f) +- (mve_vrmlaldavhxq_sv4si, mve_vbicq_m_n_) +- (mve_vcvtq_m_to_f_, mve_vshlcq_) +- (mve_vmvnq_m_, mve_vpselq_) +- (mve_vcvtbq_m_f16_f32v8hf, mve_vcvtbq_m_f32_f16v4sf) +- (mve_vcvttq_m_f16_f32v8hf, mve_vcvttq_m_f32_f16v4sf) +- (mve_vmlaldavq_p_, mve_vmlsldavaq_s) +- (mve_vmlsldavaxq_s, mve_vmlsldavq_p_s) +- (mve_vmlsldavxq_p_s, mve_vmvnq_m_n_) +- (mve_vorrq_m_n_, mve_vpselq_f) +- (mve_vrev32q_m_fv8hf, mve_vrev32q_m_) +- (mve_vrev64q_m_f, mve_vrmlaldavhaxq_sv4si) +- (mve_vrmlaldavhxq_p_sv4si, mve_vrmlsldavhaxq_sv4si) +- (mve_vrmlsldavhq_p_sv4si, mve_vrmlsldavhxq_p_sv4si) +- (mve_vrev16q_m_v16qi, mve_vrmlaldavhq_p_v4si) +- (mve_vrmlsldavhaq_sv4si, mve_vandq_m_) +- (mve_vbicq_m_, mve_veorq_m_) +- (mve_vornq_m_, mve_vorrq_m_) +- (mve_vandq_m_f, mve_vbicq_m_f, mve_veorq_m_f) +- (mve_vornq_m_f, mve_vorrq_m_f) +- (mve_vstrdq_scatter_shifted_offset_p_v2di_insn) +- (mve_vstrdq_scatter_shifted_offset_v2di_insn) +- (mve_vstrdq_scatter_base_wb_p_v2di) : Fix spacing and +- capitalization in the emitted asm. +- +-2023-05-18 Andrea Corallo +- +- * config/arm/constraints.md (mve_vldrd_immediate): Move it to +- predicates.md. +- (Ri): Move constraint definition from predicates.md. +- (Rl): Define new constraint. +- * config/arm/mve.md (mve_vstrwq_scatter_base_wb_p_v4si): Add +- missing constraint. +- (mve_vstrwq_scatter_base_wb_p_fv4sf): Add missing Up constraint +- for op 1, use mve_vstrw_immediate predicate and Rl constraint for +- op 2. Fix asm output spacing. +- (mve_vstrdq_scatter_base_wb_p_v2di): Add missing constraint. +- * config/arm/predicates.md (Ri) Move constraint to constraints.md +- (mve_vldrd_immediate): Move it from +- constraints.md. +- (mve_vstrw_immediate): New predicate. +- +-2023-05-17 Jakub Jelinek +- +- Backported from master: +- 2023-05-17 Jakub Jelinek +- +- PR c++/109884 +- * config/i386/i386-builtin-types.def (FLOAT128): Use +- float128t_type_node rather than float128_type_node. +- +-2023-05-16 Patrick O'Neill +- +- PR target/104338 +- * config/riscv/riscv-protos.h: Add helper function stubs. +- * config/riscv/riscv.cc: Add helper functions for subword masking. +- * config/riscv/riscv.opt: Add command-line flags +- -minline-atomics and -mno-inline-atomics. +- * config/riscv/sync.md: Add masking logic and inline asm for +- fetch_and_op, fetch_and_nand, CAS, and exchange ops. +- * doc/invoke.texi: Add blurb regarding new command-line flags +- -minline-atomics and -mno-inline-atomics. +- +-2023-05-16 Tobias Burnus +- +- Backported from master: +- 2023-05-12 Tobias Burnus +- +- PR libstdc++/109816 +- * lto-cgraph.cc (output_symtab): Guard lto_output_toplevel_asms by +- '!lto_stream_offload_p'. +- +-2023-05-11 Richard Sandiford +- +- PR target/109661 +- * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Remove +- assertion. +- (aarch64_layout_arg): Likewise. +- +-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.cc (bit_value_binop): Call wi::ext on the results +- of wi::lrotate or wi::rrotate. +- +-2023-05-09 Kewen Lin +- +- Backported from master: +- 2023-04-26 Kewen Lin +- +- PR target/108758 +- * config/rs6000/rs6000-builtins.def +- (__builtin_vsx_scalar_cmp_exp_qp_eq, __builtin_vsx_scalar_cmp_exp_qp_gt +- __builtin_vsx_scalar_cmp_exp_qp_lt, +- __builtin_vsx_scalar_cmp_exp_qp_unordered): Move from stanza ieee128-hw +- to power9-vector. +- +-2023-05-09 Kewen Lin +- +- Backported from master: +- 2023-04-26 Kewen Lin +- +- PR target/109069 +- * config/rs6000/altivec.md (sldoi_to_mov): Replace predicate +- easy_vector_constant with const_vector_each_byte_same, add +- handlings in preparation for !easy_vector_constant, and update +- VECTOR_UNIT_ALTIVEC_OR_VSX_P with VECTOR_MEM_ALTIVEC_OR_VSX_P. +- * config/rs6000/predicates.md (const_vector_each_byte_same): New +- predicate. +- +-2023-05-08 Tobias Burnus +- +- Backported from master: +- 2023-05-05 Tobias Burnus +- Thomas Schwinge +- +- PR libgomp/108098 +- * config/nvptx/mkoffload.cc (process): Emit dummy procedure +- alongside reverse-offload function table to prevent NULL values +- of the function addresses. +- +-2023-05-07 Andrew Pinski +- +- Backported from master: +- 2023-05-07 Andrew Pinski +- +- PR target/109762 +- * config/aarch64/aarch64-builtins.cc (aarch64_simd_switcher::aarch64_simd_switcher): +- Change argument type to aarch64_feature_flags. +- * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Change +- constructor argument type to aarch64_feature_flags. +- Change m_old_asm_isa_flags to be aarch64_feature_flags. +- +-2023-05-04 Jakub Jelinek +- +- Backported from master: +- 2023-05-04 Jakub Jelinek +- +- PR debug/109676 +- * config/i386/i386-features.cc (timode_scalar_chain::convert_insn): +- If src is REG, change its mode to V1TImode and call fix_debug_reg_uses +- for it only if it still has TImode. Don't decide whether to call +- fix_debug_reg_uses based on whether SRC is ever set or not. +- +-2023-05-04 Kito Cheng +- +- Backported from master: +- 2023-05-03 Kito Cheng +- +- * doc/md.texi (RISC-V): Add vr, vm, vd constarint. +- +-2023-05-04 Ju-Zhe Zhong +- +- Backported from master: +- 2023-04-20 Ju-Zhe Zhong +- kito-cheng +- +- PR target/109535 +- * config/riscv/riscv-vsetvl.cc (count_regno_occurrences): New function. +- (pass_vsetvl::cleanup_insns): Fix bug. +- +-2023-05-02 Marek Polacek +- +- PR c++/109642 +- PR c++/109640 +- PR c++/109671 +- * doc/invoke.texi: Document that -Wdangling-reference is +- enabled by -Wextra. +- +-2023-04-28 Andrew Stubbs +- +- Backported from master: +- 2023-04-27 Andrew Stubbs +- +- * config/gcn/gcn-valu.md (cmul3): Use gcn_gen_undef. +- (cml4): Likewise. +- (vec_addsub3): Likewise. +- (cadd3): Likewise. +- (vec_fmaddsub4): Likewise. +- (vec_fmsubadd4): Likewise, and use sub for the odd lanes. +- +-2023-04-26 Andrew Stubbs +- +- Backported from master: +- 2023-04-20 Andrew Stubbs +- +- * config/gcn/gcn-valu.md (vnsi, VnSI): Add scalar modes. +- (ldexp3): Delete. +- (ldexp3): Change "B" to "A". +- +-2023-04-26 Andrew Stubbs +- +- Backported from master: +- 2023-04-18 Andrew Stubbs +- +- * config/gcn/gcn-valu.md (SV_SFDF): New iterator. +- (SV_FP): New iterator. +- (scalar_mode, SCALAR_MODE): Add identity mappings for scalar modes. +- (recip2): Unify the two patterns using SV_FP. +- (div_scale): New insn. +- (div_fmas): New insn. +- (div_fixup): New insn. +- (div3): Unify the two expanders and rewrite using hardfp. +- * config/gcn/gcn.cc (gcn_md_reorg): Support "vccwait" attribute. +- * config/gcn/gcn.md (unspec): Add UNSPEC_DIV_SCALE, UNSPEC_DIV_FMAS, +- and UNSPEC_DIV_FIXUP. +- (vccwait): New attribute. +- +-2023-04-26 Richard Biener +- +- Backported from master: +- 2023-04-25 Richard Biener +- +- PR tree-optimization/109609 +- * attr-fnspec.h (arg_max_access_size_given_by_arg_p): +- Clarify semantics. +- * tree-ssa-alias.cc (check_fnspec): Correctly interpret +- the size given by arg_max_access_size_given_by_arg_p as +- maximum, not exact, size. +- +-2023-04-26 Richard Biener +- +- Backported from master: +- 2023-04-25 Richard Biener +- +- PR rtl-optimization/109585 +- * tree-ssa-alias.cc (aliasing_component_refs_p): Fix typo. +- +-2023-04-26 Richard Biener +- +- Backported from master: +- 2023-04-21 Richard Biener +- +- PR tree-optimization/109573 +- * tree-vect-loop.cc (vectorizable_live_operation): Allow +- unhandled SSA copy as well. Demote assert to checking only. +- + 2023-04-26 Release Manager - #undef LIB_SPEC - #define LIB_SPEC "\ --%{mads : %(lib_ads) ; \ -+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(lib_ogc) ; \ -+ mads : %(lib_ads) ; \ - myellowknife : %(lib_yellowknife) ; \ - mmvme : %(lib_mvme) ; \ - msim : %(lib_sim) ; \ -@@ -665,11 +677,12 @@ GNU_USER_TARGET_CC1_SPEC - mcall-openbsd: %(lib_openbsd) ; \ - : %(lib_default) }" + * GCC 13.1.0 released. +diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP +index 0c421bbb341..927b96ecaa8 100644 +--- a/gcc/DATESTAMP ++++ b/gcc/DATESTAMP +@@ -1 +1 @@ +-20230727 ++20230426 +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +index 775aaa1b3c4..ad9a5d94cd0 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -3585,6 +3585,13 @@ clean: mostlyclean lang.clean + -rm -f doc/*.pdf + # Delete the include directories. + -rm -rf include include-fixed ++# Delete files used by the "multilib" facility (including libgcc subdirs). ++ -rm -f multilib.h tmpmultilib* ++ -if [ "x$(MULTILIB_DIRNAMES)" != x ] ; then \ ++ rm -rf $(MULTILIB_DIRNAMES); \ ++ else if [ "x$(MULTILIB_OPTIONS)" != x ] ; then \ ++ rm -rf `echo $(MULTILIB_OPTIONS) | sed -e 's/\// /g'`; \ ++ fi ; fi --#define LIB_DEFAULT_SPEC "-lc" -+#define LIB_DEFAULT_SPEC "--start-group -lsysbase -lc --end-group" + # Delete all files that users would normally create + # while building and installing GCC. +diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog +index 05c9c4810c8..0b99c429024 100644 +--- a/gcc/ada/ChangeLog ++++ b/gcc/ada/ChangeLog +@@ -1,40 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- +-2023-07-11 Eric Botcazou +- +- * adaint.c [_WIN32]: Undefine 'abort' macro. +- +-2023-07-07 Viljar Indus +- +- * exp_aggr.adb (Expand_N_Aggregate): Ensure that container +- aggregate expressions do not get expanded as records but instead +- as container aggregates. +- +-2023-07-07 Eric Botcazou +- +- * exp_aggr.adb (Convert_To_Assignments): Tweak comment. +- (Expand_Array_Aggregate): Do not delay the expansion if the parent +- node is a container aggregate. +- +-2023-07-07 Marc Poulhiès +- +- * exp_aggr.adb (Convert_To_Assignments): Do not mark node for +- delayed expansion if parent type has the Aggregate aspect. +- * sem_util.adb (Is_Container_Aggregate): Move... +- * sem_util.ads (Is_Container_Aggregate): ... here and make it +- public. +- +-2023-06-15 Eric Botcazou +- +- * sinfo.ads (Iterator_Filter): Document field. +- * sem_ch5.adb (Analyze_Iterator_Specification): Move comment around. +- (Analyze_Loop_Parameter_Specification): Only preanalyze the iterator +- filter, if any. +- * exp_ch5.adb (Expand_N_Loop_Statement): Analyze the new list built +- when an iterator filter is present. +- + 2023-04-26 Release Manager - #undef ENDFILE_SPEC - #define ENDFILE_SPEC "\ --%{mads : %(endfile_ads) ; \ -+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(endfile_ogc) ; \ -+ mads : %(endfile_ads) ; \ - myellowknife : %(endfile_yellowknife) ; \ - mmvme : %(endfile_mvme) ; \ - msim : %(endfile_sim) ; \ -@@ -685,16 +698,27 @@ GNU_USER_TARGET_CC1_SPEC + * GCC 13.1.0 released. +diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c +index 2a193efc002..8522094164e 100644 +--- a/gcc/ada/adaint.c ++++ b/gcc/ada/adaint.c +@@ -227,9 +227,6 @@ UINT __gnat_current_ccs_encoding; - /* Motorola ADS support. */ - #define LIB_ADS_SPEC "--start-group -lads -lc --end-group" -+#define LIB_OGC_SPEC "--start-group -lsysbase -lc --end-group" + #elif defined (_WIN32) - #define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s" -+#define STARTFILE_OGC_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s" +-/* Cannot redefine abort here. */ +-#undef abort +- + #define WIN32_LEAN_AND_MEAN + #include + #include +diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb +index fc1803c666e..f1cbbfc3155 100644 +--- a/gcc/ada/exp_aggr.adb ++++ b/gcc/ada/exp_aggr.adb +@@ -5016,13 +5016,10 @@ package body Exp_Aggr is + -- done top down from above. - #define ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s" -+#define ENDFILE_OGC_SPEC "crtend.o%s ecrtn.o%s" + if +- -- Internal aggregates (transformed when expanding the parent), +- -- excluding container aggregates as these are transformed into +- -- subprogram calls later. ++ -- Internal aggregate (transformed when expanding the parent) - #define LINK_START_ADS_SPEC "-T ads.ld%s" -+#define LINK_START_OGC_SPEC "-T ogc.ld%s" -+#define LINK_START_RVL_SPEC "-T rvl.ld%s" -+#define LINK_START_VGC_SPEC "-T vgcogc.ld%s" -+#define LINK_START_GCB_SPEC "-T gcbogc.ld%s" +- (Parent_Kind in +- N_Component_Association | N_Aggregate | N_Extension_Aggregate +- and then not Is_Container_Aggregate (Parent_Node)) ++ Parent_Kind in ++ N_Aggregate | N_Extension_Aggregate | N_Component_Association - #define LINK_OS_ADS_SPEC "" -+#define LINK_OS_OGC_SPEC "--gc-sections" + -- Allocator (see Convert_Aggr_In_Allocator) - #define CPP_OS_ADS_SPEC "" -+#define CPP_OS_GCN_SPEC "-D__gamecube__ -ffunction-sections -fdata-sections" -+#define CPP_OS_OGC_SPEC "-D__gamecube__ -DHW_DOL -ffunction-sections -fdata-sections" -+#define CPP_OS_RVL_SPEC "-D__wii__ -DHW_RVL -ffunction-sections -fdata-sections" +@@ -6889,8 +6886,7 @@ package body Exp_Aggr is + -- STEP 3 - /* Motorola Yellowknife support. */ - #define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" -@@ -842,6 +866,7 @@ ncrtn.o%s" - #undef SUBTARGET_EXTRA_SPECS - #define SUBTARGET_EXTRA_SPECS \ - { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ -+ { "lib_ogc", LIB_OGC_SPEC }, \ - { "lib_ads", LIB_ADS_SPEC }, \ - { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ - { "lib_mvme", LIB_MVME_SPEC }, \ -@@ -851,6 +876,7 @@ ncrtn.o%s" - { "lib_netbsd", LIB_NETBSD_SPEC }, \ - { "lib_openbsd", LIB_OPENBSD_SPEC }, \ - { "lib_default", LIB_DEFAULT_SPEC }, \ -+ { "startfile_ogc", STARTFILE_OGC_SPEC }, \ - { "startfile_ads", STARTFILE_ADS_SPEC }, \ - { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ - { "startfile_mvme", STARTFILE_MVME_SPEC }, \ -@@ -860,6 +886,7 @@ ncrtn.o%s" - { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ - { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ - { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ -+ { "endfile_ogc", ENDFILE_OGC_SPEC }, \ - { "endfile_ads", ENDFILE_ADS_SPEC }, \ - { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ - { "endfile_mvme", ENDFILE_MVME_SPEC }, \ -@@ -871,7 +898,11 @@ ncrtn.o%s" - { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ - { "link_shlib", LINK_SHLIB_SPEC }, \ - { "link_start", LINK_START_SPEC }, \ -+ { "link_start_vgc", LINK_START_VGC_SPEC }, \ -+ { "link_start_gcb", LINK_START_GCB_SPEC }, \ -+ { "link_start_rvl", LINK_START_RVL_SPEC }, \ - { "link_start_ads", LINK_START_ADS_SPEC }, \ -+ { "link_start_ogc", LINK_START_OGC_SPEC }, \ - { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ - { "link_start_mvme", LINK_START_MVME_SPEC }, \ - { "link_start_sim", LINK_START_SIM_SPEC }, \ -@@ -881,6 +912,7 @@ ncrtn.o%s" - { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ - { "link_start_default", LINK_START_DEFAULT_SPEC }, \ - { "link_os", LINK_OS_SPEC }, \ -+ { "link_os_ogc", LINK_OS_OGC_SPEC }, \ - { "link_os_ads", LINK_OS_ADS_SPEC }, \ - { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ - { "link_os_mvme", LINK_OS_MVME_SPEC }, \ -@@ -892,6 +924,9 @@ ncrtn.o%s" - { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ - { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ - { "link_secure_plt", LINK_SECURE_PLT_SPEC }, \ -+ { "cpp_os_gcn", CPP_OS_GCN_SPEC }, \ -+ { "cpp_os_ogc", CPP_OS_OGC_SPEC }, \ -+ { "cpp_os_rvl", CPP_OS_RVL_SPEC }, \ - { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ - { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ - { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ -diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt -index 691e0d3d2e8..2eb60bc56b6 100644 ---- a/gcc/config/rs6000/sysv4.opt -+++ b/gcc/config/rs6000/sysv4.opt -@@ -124,6 +124,26 @@ mads - Target RejectNegative - Link with libads.a, libc.a and crt0.o. + -- Delay expansion for nested aggregates: it will be taken care of when +- -- the parent aggregate is expanded, excluding container aggregates as +- -- these are transformed into subprogram calls later. ++ -- the parent aggregate is expanded. -+mgcn -+Target RejectNegative -+Link with libsysbase.a and libc.a, use ogc linker script -+ -+mogc -+Target RejectNegative -+Link with libsysbase.a and libc.a, use ogc linker script -+ -+mgcbios -+Target RejectNegative -+Link with libsysbase.a and libc.a, use gcbogc linker script -+ -+mvgc -+Target RejectNegative -+Link with libsysbase.a and libc.a, use gcbogc linker script + Parent_Node := Parent (N); + Parent_Kind := Nkind (Parent_Node); +@@ -6900,10 +6896,9 @@ package body Exp_Aggr is + Parent_Kind := Nkind (Parent_Node); + end if; + +- if ((Parent_Kind = N_Component_Association +- or else Parent_Kind = N_Aggregate +- or else Parent_Kind = N_Extension_Aggregate) +- and then not Is_Container_Aggregate (Parent_Node)) ++ if Parent_Kind = N_Aggregate ++ or else Parent_Kind = N_Extension_Aggregate ++ or else Parent_Kind = N_Component_Association + or else (Parent_Kind = N_Object_Declaration + and then (Needs_Finalization (Typ) + or else Is_Special_Return_Object +@@ -7236,7 +7231,6 @@ package body Exp_Aggr is + + if Is_Record_Type (T) + and then not Is_Private_Type (T) +- and then not Is_Homogeneous_Aggregate (N) + then + Expand_Record_Aggregate (N); + +diff --git a/gcc/ada/exp_ch5.adb b/gcc/ada/exp_ch5.adb +index d605f75d147..265e1a74b93 100644 +--- a/gcc/ada/exp_ch5.adb ++++ b/gcc/ada/exp_ch5.adb +@@ -5610,7 +5610,6 @@ package body Exp_Ch5 is + New_List (Make_If_Statement (Loc, + Condition => Iterator_Filter (LPS), + Then_Statements => Stats))); +- Analyze_List (Statements (N)); + end if; + + -- Deal with loop over predicates +diff --git a/gcc/ada/sem_ch5.adb b/gcc/ada/sem_ch5.adb +index 6b8f9e43183..ab5a2083a00 100644 +--- a/gcc/ada/sem_ch5.adb ++++ b/gcc/ada/sem_ch5.adb +@@ -2853,10 +2853,10 @@ package body Sem_Ch5 is + end if; + end if; + +- -- Preanalyze the filter. Expansion will take place when enclosing +- -- loop is expanded. +- + if Present (Iterator_Filter (N)) then ++ -- Preanalyze the filter. Expansion will take place when enclosing ++ -- loop is expanded. + -+mrvl -+Target RejectNegative -+Link with libsysbase.a and libc.a, use rvl linker script + Preanalyze_And_Resolve (Iterator_Filter (N), Standard_Boolean); + end if; + end Analyze_Iterator_Specification; +@@ -3570,11 +3570,8 @@ package body Sem_Ch5 is + end; + end if; + +- -- Preanalyze the filter. Expansion will take place when enclosing +- -- loop is expanded. +- + if Present (Iterator_Filter (N)) then +- Preanalyze_And_Resolve (Iterator_Filter (N), Standard_Boolean); ++ Analyze_And_Resolve (Iterator_Filter (N), Standard_Boolean); + end if; + + -- A loop parameter cannot be effectively volatile (SPARK RM 7.1.3(4)). +diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb +index ebc4b53f996..f2856353671 100644 +--- a/gcc/ada/sem_util.adb ++++ b/gcc/ada/sem_util.adb +@@ -132,6 +132,9 @@ package body Sem_Util is + -- Determine whether arbitrary entity Id denotes an atomic object as per + -- RM C.6(7). + ++ function Is_Container_Aggregate (Exp : Node_Id) return Boolean; ++ -- Is the given expression a container aggregate? + - myellowknife - Target RejectNegative - Link with libyk.a, libc.a and crt0.o. -diff --git a/gcc/configure b/gcc/configure -index c7b26d1927d..d1e32ef9ec5 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -13011,7 +13011,7 @@ case ${enable_threads} in - # default - target_thread_file='single' - ;; -- aix | dce | lynx | mipssde | posix | rtems | \ -+ aix | dce | dkp | lynx | mipssde | posix | rtems | \ - single | tpf | vxworks | win32 | mcf) - target_thread_file=${enable_threads} - ;; -diff --git a/gcc/configure.ac b/gcc/configure.ac -index 09082e8ccae..f5700df9455 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -2020,7 +2020,7 @@ case ${enable_threads} in - # default - target_thread_file='single' - ;; -- aix | dce | lynx | mipssde | posix | rtems | \ -+ aix | dce | dkp | lynx | mipssde | posix | rtems | \ - single | tpf | vxworks | win32 | mcf) - target_thread_file=${enable_threads} - ;; -diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S -index cf7f71ae123..7e0892a845f 100644 ---- a/libgcc/config/rs6000/crtrestvr.S -+++ b/libgcc/config/rs6000/crtrestvr.S -@@ -24,7 +24,7 @@ + generic + with function Is_Effectively_Volatile_Entity + (Id : Entity_Id) return Boolean; +diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads +index 6fdf317b6ca..f98e05615fd 100644 +--- a/gcc/ada/sem_util.ads ++++ b/gcc/ada/sem_util.ads +@@ -1474,9 +1474,6 @@ package Sem_Util is + -- Return True if the loop has no side effect and can therefore be + -- marked for removal. Return False if N is not a N_Loop_Statement. - /* On PowerPC64 Linux, these functions are provided by the linker. */ - #ifndef __powerpc64__ +- function Is_Container_Aggregate (Exp : Node_Id) return Boolean; +- -- Is the given expression a container aggregate? - -+#if 0 - #undef __ALTIVEC__ - #define __ALTIVEC__ 1 - #include "ppc-asm.h" -@@ -86,3 +86,4 @@ FUNC_END(_restvr_20) - CFI_ENDPROC + function Is_Newly_Constructed + (Exp : Node_Id; Context_Requires_NC : Boolean) return Boolean; + -- Indicates whether a given expression is "newly constructed" (RM 4.4). +diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads +index 79fef3e0046..c25db08bc96 100644 +--- a/gcc/ada/sinfo.ads ++++ b/gcc/ada/sinfo.ads +@@ -1899,11 +1899,6 @@ package Sinfo is + -- Present in variable reference markers. Set when the original variable + -- reference constitutes a write of the variable. - #endif -+#endif -diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S -index 19de2128714..d116593062d 100644 ---- a/libgcc/config/rs6000/crtsavevr.S -+++ b/libgcc/config/rs6000/crtsavevr.S -@@ -24,7 +24,7 @@ +- -- Iterator_Filter +- -- Present in N_Loop_Parameter_Specification and N_Iterator_Specification +- -- nodes for Ada 2022. It is used to store the condition present in the +- -- eponymous Ada 2022 construct. +- + -- Itype + -- Used in N_Itype_Reference node to reference an itype for which it is + -- important to ensure that it is defined. See description of this node +diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog +index bfe2ffe7201..fd764fe753c 100644 +--- a/gcc/analyzer/ChangeLog ++++ b/gcc/analyzer/ChangeLog +@@ -1,7 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- + 2023-04-26 Release Manager - /* On PowerPC64 Linux, these functions are provided by the linker. */ - #ifndef __powerpc64__ + * GCC 13.1.0 released. +diff --git a/gcc/attr-fnspec.h b/gcc/attr-fnspec.h +index 99d5f896e8b..acf1c5f6be7 100644 +--- a/gcc/attr-fnspec.h ++++ b/gcc/attr-fnspec.h +@@ -54,7 +54,7 @@ + ' ' nothing is known + 't' the size of value written/read corresponds to the size of + of the pointed-to type of the argument type +- '1'...'9' specifies the size of value written/read is bound by the ++ '1'...'9' specifies the size of value written/read is given by the + specified argument + */ + +@@ -169,7 +169,7 @@ public: + && str[idx] != 'x' && str[idx] != 'X'; + } + +- /* Return true if load of memory pointed to by argument I is bound ++ /* Return true if load of memory pointed to by argument I is specified + by another argument. In this case set ARG. */ + bool + arg_max_access_size_given_by_arg_p (unsigned int i, unsigned int *arg) +diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog +index 8c4ec45d7f6..364bb5af62d 100644 +--- a/gcc/c-family/ChangeLog ++++ b/gcc/c-family/ChangeLog +@@ -1,22 +1,3 @@ +-2023-07-27 Release Manager - -+#if 0 - #undef __ALTIVEC__ - #define __ALTIVEC__ 1 - #include "ppc-asm.h" -@@ -86,3 +86,4 @@ FUNC_END(_savevr_20) - CFI_ENDPROC +- * GCC 13.2.0 released. +- +-2023-05-19 Patrick Palka +- +- Backported from master: +- 2023-05-15 Patrick Palka +- +- * c-cppbuiltin.cc (c_cpp_builtins): Predefine __cpp_auto_cast +- for C++23. +- +-2023-05-02 Marek Polacek +- +- PR c++/109642 +- PR c++/109640 +- PR c++/109671 +- * c.opt (Wdangling-reference): Move from -Wall to -Wextra. +- + 2023-04-26 Release Manager - #endif -+#endif -diff --git a/libgcc/config/rs6000/gthr-dkp.c b/libgcc/config/rs6000/gthr-dkp.c -new file mode 100644 -index 00000000000..26180aa7f36 ---- /dev/null -+++ b/libgcc/config/rs6000/gthr-dkp.c -@@ -0,0 +1,319 @@ -+/* Threads compatibility routines for libgcc2 and libobjc. */ -+/* Compile this one with gcc. */ -+/* Copyright (C) 1997-2016 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. -+ -+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. + * GCC 13.1.0 released. +diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc +index 5d64625fcd7..98f5aef2af9 100644 +--- a/gcc/c-family/c-cppbuiltin.cc ++++ b/gcc/c-family/c-cppbuiltin.cc +@@ -1074,7 +1074,6 @@ c_cpp_builtins (cpp_reader *pfile) + /* Set feature test macros for C++23. */ + cpp_define (pfile, "__cpp_size_t_suffix=202011L"); + cpp_define (pfile, "__cpp_if_consteval=202106L"); +- cpp_define (pfile, "__cpp_auto_cast=202110L"); + cpp_define (pfile, "__cpp_constexpr=202211L"); + cpp_define (pfile, "__cpp_multidimensional_subscript=202211L"); + cpp_define (pfile, "__cpp_named_character_escapes=202207L"); +diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt +index a75038930ae..3333cddeece 100644 +--- a/gcc/c-family/c.opt ++++ b/gcc/c-family/c.opt +@@ -560,7 +560,7 @@ C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_dangling_pointer) Warn + Warn for uses of pointers to auto variables whose lifetime has ended. + + Wdangling-reference +-C++ ObjC++ Var(warn_dangling_reference) Warning LangEnabledBy(C++ ObjC++, Wextra) ++C++ ObjC++ Var(warn_dangling_reference) Warning LangEnabledBy(C++ ObjC++, Wall) + Warn when a reference is bound to a temporary whose lifetime has ended. + + Wdate-time +diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog +index ff1acdfad0e..7e98008a65d 100644 +--- a/gcc/c/ChangeLog ++++ b/gcc/c/ChangeLog +@@ -1,36 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- +-2023-04-27 Jakub Jelinek +- +- Backported from master: +- 2023-04-27 Jakub Jelinek +- +- PR c/109409 +- * c-parser.cc (c_parser_initializer): Move diagnostics about +- initialization of variable sized object with non-empty initializer +- after c_parser_expr_no_commas call and ret.set_error (); after it. +- +-2023-04-27 Jakub Jelinek +- +- Backported from master: +- 2023-04-27 Jakub Jelinek +- +- PR c/107682 +- PR c/109412 +- * c-typeck.cc (pop_init_level): If constructor_type is FUNCTION_TYPE, +- reject empty initializer as invalid. +- +-2023-04-26 Jakub Jelinek +- +- Backported from master: +- 2023-04-20 Jakub Jelinek +- +- PR c/107041 +- * c-decl.cc (diagnose_mismatched_decls): Avoid -Wenum-int-mismatch +- warning on acc_on_device declaration. +- + 2023-04-26 Release Manager + + * GCC 13.1.0 released. +diff --git a/gcc/c/c-decl.cc b/gcc/c/c-decl.cc +index 1b53f2d0785..e537d33f398 100644 +--- a/gcc/c/c-decl.cc ++++ b/gcc/c/c-decl.cc +@@ -2219,14 +2219,7 @@ diagnose_mismatched_decls (tree newdecl, tree olddecl, + } + /* Warn about enum/integer type mismatches. They are compatible types + (C2X 6.7.2.2/5), but may pose portability problems. */ +- else if (enum_and_int_p +- && TREE_CODE (newdecl) != TYPE_DECL +- /* Don't warn about about acc_on_device built-in redeclaration, +- the built-in is declared with int rather than enum because +- the enum isn't intrinsic. */ +- && !(TREE_CODE (olddecl) == FUNCTION_DECL +- && fndecl_built_in_p (olddecl, BUILT_IN_ACC_ON_DEVICE) +- && !C_DECL_DECLARED_BUILTIN (olddecl))) ++ else if (enum_and_int_p && TREE_CODE (newdecl) != TYPE_DECL) + warned = warning_at (DECL_SOURCE_LOCATION (newdecl), + OPT_Wenum_int_mismatch, + "conflicting types for %q+D due to enum/integer " +diff --git a/gcc/c/c-parser.cc b/gcc/c/c-parser.cc +index 3627a3fbdc7..21bc3167ce2 100644 +--- a/gcc/c/c-parser.cc ++++ b/gcc/c/c-parser.cc +@@ -5677,14 +5677,11 @@ c_parser_initializer (c_parser *parser, tree decl) + { + struct c_expr ret; + location_t loc = c_parser_peek_token (parser)->location; +- ret = c_parser_expr_no_commas (parser, NULL); + if (decl != error_mark_node && C_DECL_VARIABLE_SIZE (decl)) +- { +- error_at (loc, +- "variable-sized object may not be initialized except " +- "with an empty initializer"); +- ret.set_error (); +- } ++ error_at (loc, ++ "variable-sized object may not be initialized except " ++ "with an empty initializer"); ++ ret = c_parser_expr_no_commas (parser, NULL); + /* This is handled mostly by gimplify.cc, but we have to deal with + not warning about int x = x; as it is a GCC extension to turn off + this warning but only if warn_init_self is zero. */ +diff --git a/gcc/c/c-typeck.cc b/gcc/c/c-typeck.cc +index a17879698ec..7079d4ee145 100644 +--- a/gcc/c/c-typeck.cc ++++ b/gcc/c/c-typeck.cc +@@ -9374,11 +9374,6 @@ pop_init_level (location_t loc, int implicit, + { + if (constructor_erroneous || constructor_type == error_mark_node) + ret.value = error_mark_node; +- else if (TREE_CODE (constructor_type) == FUNCTION_TYPE) +- { +- error_init (loc, "invalid initializer"); +- ret.value = error_mark_node; +- } + else if (TREE_CODE (constructor_type) == POINTER_TYPE) + /* Ensure this is a null pointer constant in the case of a + 'constexpr' object initialized with {}. */ +diff --git a/gcc/common/config/i386/cpuinfo.h b/gcc/common/config/i386/cpuinfo.h +index dc5886e5e64..61559ed9de2 100644 +--- a/gcc/common/config/i386/cpuinfo.h ++++ b/gcc/common/config/i386/cpuinfo.h +@@ -566,6 +566,7 @@ get_intel_cpu (struct __processor_model *cpu_model, + cpu_model->__cpu_type = INTEL_SIERRAFOREST; + break; + case 0xad: ++ case 0xae: + /* Granite Rapids. */ + cpu = "graniterapids"; + CHECK___builtin_cpu_is ("corei7"); +@@ -573,14 +574,6 @@ get_intel_cpu (struct __processor_model *cpu_model, + cpu_model->__cpu_type = INTEL_COREI7; + cpu_model->__cpu_subtype = INTEL_COREI7_GRANITERAPIDS; + break; +- case 0xae: +- /* Granite Rapids D. */ +- cpu = "graniterapids-d"; +- CHECK___builtin_cpu_is ("corei7"); +- CHECK___builtin_cpu_is ("graniterapids-d"); +- cpu_model->__cpu_type = INTEL_COREI7; +- cpu_model->__cpu_subtype = INTEL_COREI7_GRANITERAPIDS_D; +- break; + case 0xb6: + /* Grand Ridge. */ + cpu = "grandridge"; +diff --git a/gcc/common/config/i386/i386-common.cc b/gcc/common/config/i386/i386-common.cc +index c72644cb7db..d90c558311b 100644 +--- a/gcc/common/config/i386/i386-common.cc ++++ b/gcc/common/config/i386/i386-common.cc +@@ -2089,8 +2089,6 @@ const pta processor_alias_table[] = + M_CPU_SUBTYPE (INTEL_COREI7_ALDERLAKE), P_PROC_AVX2}, + {"graniterapids", PROCESSOR_GRANITERAPIDS, CPU_HASWELL, PTA_GRANITERAPIDS, + M_CPU_SUBTYPE (INTEL_COREI7_GRANITERAPIDS), P_PROC_AVX512F}, +- {"graniterapids-d", PROCESSOR_GRANITERAPIDS, CPU_HASWELL, PTA_GRANITERAPIDS_D, +- M_CPU_SUBTYPE (INTEL_COREI7_GRANITERAPIDS_D), P_PROC_AVX512F}, + {"bonnell", PROCESSOR_BONNELL, CPU_ATOM, PTA_BONNELL, + M_CPU_TYPE (INTEL_BONNELL), P_PROC_SSSE3}, + {"atom", PROCESSOR_BONNELL, CPU_ATOM, PTA_BONNELL, +diff --git a/gcc/common/config/i386/i386-cpuinfo.h b/gcc/common/config/i386/i386-cpuinfo.h +index 254dfec70e5..2dafbb25a49 100644 +--- a/gcc/common/config/i386/i386-cpuinfo.h ++++ b/gcc/common/config/i386/i386-cpuinfo.h +@@ -98,7 +98,6 @@ enum processor_subtypes + ZHAOXIN_FAM7H_LUJIAZUI, + AMDFAM19H_ZNVER4, + INTEL_COREI7_GRANITERAPIDS, +- INTEL_COREI7_GRANITERAPIDS_D, + CPU_SUBTYPE_MAX + }; + +diff --git a/gcc/common/config/riscv/riscv-common.cc b/gcc/common/config/riscv/riscv-common.cc +index e19c0985ca0..2fc0f8bffc1 100644 +--- a/gcc/common/config/riscv/riscv-common.cc ++++ b/gcc/common/config/riscv/riscv-common.cc +@@ -1441,6 +1441,9 @@ riscv_multi_lib_check (int argc ATTRIBUTE_UNUSED, + return ""; + } + ++/* We only override this in bare-metal toolchain. */ ++#ifdef RISCV_USE_CUSTOMISED_MULTI_LIB + -+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 -+. */ + /* Find last switch with the prefix, options are take last one in general, + return NULL if not found, and return the option value if found, it could + return empty string if the option has no value. */ +@@ -1594,65 +1597,6 @@ riscv_check_conds ( + return match_score + ok_count * 100; + } + +-static const char * +-riscv_select_multilib_by_abi ( +- const std::string &riscv_current_abi_str, +- const std::vector &multilib_infos) +-{ +- for (size_t i = 0; i < multilib_infos.size (); ++i) +- if (riscv_current_abi_str == multilib_infos[i].abi_str) +- return xstrdup (multilib_infos[i].path.c_str ()); +- +- return NULL; +-} +- +-static const char * +-riscv_select_multilib ( +- const std::string &riscv_current_abi_str, +- const riscv_subset_list *subset_list, const struct switchstr *switches, +- int n_switches, const std::vector &multilib_infos) +-{ +- int match_score = 0; +- int max_match_score = 0; +- int best_match_multi_lib = -1; +- /* Try to decision which set we should used. */ +- /* We have 3 level decision tree here, ABI, check input arch/ABI must +- be superset of multi-lib arch, and other rest option checking. */ +- for (size_t i = 0; i < multilib_infos.size (); ++i) +- { +- /* Check ABI is same first. */ +- if (riscv_current_abi_str != multilib_infos[i].abi_str) +- continue; +- +- /* Found a potential compatible multi-lib setting! +- Calculate the match score. */ +- match_score = subset_list->match_score (multilib_infos[i].subset_list); +- +- /* Checking other cond in the multi-lib setting. */ +- match_score = riscv_check_conds (switches, n_switches, match_score, +- multilib_infos[i].conds); +- +- /* Record highest match score multi-lib setting. */ +- if (match_score > max_match_score) +- { +- best_match_multi_lib = i; +- max_match_score = match_score; +- } +- } +- +- if (best_match_multi_lib == -1) +- { +- riscv_no_matched_multi_lib = true; +- return NULL; +- } +- else +- return xstrdup (multilib_infos[best_match_multi_lib].path.c_str ()); +-} +- +-#ifndef RISCV_USE_CUSTOMISED_MULTI_LIB +-#define RISCV_USE_CUSTOMISED_MULTI_LIB select_by_builtin +-#endif +- + /* Implement TARGET_COMPUTE_MULTILIB. */ + static const char * + riscv_compute_multilib ( +@@ -1665,11 +1609,6 @@ riscv_compute_multilib ( + const char *multilib_exclusions ATTRIBUTE_UNUSED, + const char *multilib_reuse ATTRIBUTE_UNUSED) + { +- enum riscv_multilib_select_kind select_kind = RISCV_USE_CUSTOMISED_MULTI_LIB; +- +- if (select_kind == select_by_builtin) +- return multilib_dir; +- + const char *p; + const char *this_path; + size_t this_path_len; +@@ -1733,13 +1672,7 @@ riscv_compute_multilib ( + } + + this_path_len = p - this_path; +- const char *multi_os_dir_pos +- = (const char *) memchr (this_path, ':', this_path_len); +- if (multi_os_dir_pos) +- multilib_info.path +- = std::string (this_path, multi_os_dir_pos - this_path); +- else +- multilib_info.path = std::string (this_path, this_path_len); ++ multilib_info.path = std::string (this_path, this_path_len); + + option_conds.clear (); + /* Pasrse option check list into vector. +@@ -1774,23 +1707,48 @@ riscv_compute_multilib ( + p++; + } + +- switch (select_kind) ++ int match_score = 0; ++ int max_match_score = 0; ++ int best_match_multi_lib = -1; ++ /* Try to decision which set we should used. */ ++ /* We have 3 level decision tree here, ABI, check input arch/ABI must ++ be superset of multi-lib arch, and other rest option checking. */ ++ for (size_t i = 0; i < multilib_infos.size (); ++i) + { +- case select_by_abi: +- return riscv_select_multilib_by_abi (riscv_current_abi_str, +- multilib_infos); +- case select_by_abi_arch_cmodel: +- return riscv_select_multilib (riscv_current_abi_str, subset_list, +- switches, n_switches, multilib_infos); +- case select_by_builtin: +- gcc_unreachable (); +- default: +- gcc_unreachable (); ++ /* Check ABI is same first. */ ++ if (riscv_current_abi_str != multilib_infos[i].abi_str) ++ continue; + -+#define _BUILDING_LIBGCC -+#include "gthr-dkp.h" -+#include ++ /* Found a potential compatible multi-lib setting! ++ Calculate the match score. */ ++ match_score = subset_list->match_score (multilib_infos[i].subset_list); + ++ /* Checking other cond in the multi-lib setting. */ ++ match_score = riscv_check_conds (switches, ++ n_switches, ++ match_score, ++ multilib_infos[i].conds); + -+int -+__gthread_active_p (void) -+{ -+ if (!__has_gthr_impl(active)) { -+ return 0; -+ } ++ /* Record highest match score multi-lib setting. */ ++ if (match_score > max_match_score) ++ { ++ best_match_multi_lib = i; ++ max_match_score = match_score; ++ } ++ } + -+ return __gthr_impl_active(); -+} ++ if (best_match_multi_lib == -1) ++ { ++ riscv_no_matched_multi_lib = true; ++ return multilib_dir; + } ++ else ++ return xstrdup (multilib_infos[best_match_multi_lib].path.c_str ()); + } + + #undef TARGET_COMPUTE_MULTILIB + #define TARGET_COMPUTE_MULTILIB riscv_compute_multilib ++#endif + + vec + riscv_get_valid_option_values (int option_code, +diff --git a/gcc/config.gcc b/gcc/config.gcc +index 648b3dc2110..6fd1594480a 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -682,7 +682,7 @@ silvermont knl knm skylake-avx512 cannonlake icelake-client icelake-server \ + skylake goldmont goldmont-plus tremont cascadelake tigerlake cooperlake \ + sapphirerapids alderlake rocketlake eden-x2 nano nano-1000 nano-2000 nano-3000 \ + nano-x2 eden-x4 nano-x4 lujiazui x86-64 x86-64-v2 x86-64-v3 x86-64-v4 \ +-sierraforest graniterapids graniterapids-d grandridge native" ++sierraforest graniterapids grandridge native" + + # Additional x86 processors supported by --with-cpu=. Each processor + # MUST be separated by exactly one space. +diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc +index dd9f1150165..cc6b7c01fd1 100644 +--- a/gcc/config/aarch64/aarch64-builtins.cc ++++ b/gcc/config/aarch64/aarch64-builtins.cc +@@ -933,16 +933,6 @@ aarch64_general_add_builtin (const char *name, tree type, unsigned int code, + NULL, attrs); + } + +-static tree +-aarch64_general_simulate_builtin (const char *name, tree fntype, +- unsigned int code, +- tree attrs = NULL_TREE) +-{ +- code = (code << AARCH64_BUILTIN_SHIFT) | AARCH64_BUILTIN_GENERAL; +- return simulate_builtin_function_decl (input_location, name, fntype, +- code, NULL, attrs); +-} +- + static const char * + aarch64_mangle_builtin_scalar_type (const_tree type) + { +@@ -1557,7 +1547,7 @@ aarch64_scalar_builtin_type_p (aarch64_simd_type t) + + /* Enable AARCH64_FL_* flags EXTRA_FLAGS on top of the base Advanced SIMD + set. */ +-aarch64_simd_switcher::aarch64_simd_switcher (aarch64_feature_flags extra_flags) ++aarch64_simd_switcher::aarch64_simd_switcher (unsigned int extra_flags) + : m_old_asm_isa_flags (aarch64_asm_isa_flags), + m_old_general_regs_only (TARGET_GENERAL_REGS_ONLY) + { +@@ -1849,11 +1839,11 @@ aarch64_init_ls64_builtins_types (void) + gcc_assert (TYPE_ALIGN (array_type) == 64); + + tree field = build_decl (input_location, FIELD_DECL, +- get_identifier ("val"), array_type); ++ get_identifier ("val"), array_type); + + ls64_arm_data_t = lang_hooks.types.simulate_record_decl (input_location, +- tuple_type_name, +- make_array_slice (&field, 1)); ++ tuple_type_name, ++ make_array_slice (&field, 1)); + + gcc_assert (TYPE_MODE (ls64_arm_data_t) == V8DImode); + gcc_assert (TYPE_MODE_RAW (ls64_arm_data_t) == TYPE_MODE (ls64_arm_data_t)); +@@ -1866,24 +1856,23 @@ aarch64_init_ls64_builtins (void) + aarch64_init_ls64_builtins_types (); + + ls64_builtins_data data[4] = { +- {"__arm_ld64b", AARCH64_LS64_BUILTIN_LD64B, ++ {"__builtin_aarch64_ld64b", AARCH64_LS64_BUILTIN_LD64B, + build_function_type_list (ls64_arm_data_t, +- const_ptr_type_node, NULL_TREE)}, +- {"__arm_st64b", AARCH64_LS64_BUILTIN_ST64B, ++ const_ptr_type_node, NULL_TREE)}, ++ {"__builtin_aarch64_st64b", AARCH64_LS64_BUILTIN_ST64B, + build_function_type_list (void_type_node, ptr_type_node, +- ls64_arm_data_t, NULL_TREE)}, +- {"__arm_st64bv", AARCH64_LS64_BUILTIN_ST64BV, ++ ls64_arm_data_t, NULL_TREE)}, ++ {"__builtin_aarch64_st64bv", AARCH64_LS64_BUILTIN_ST64BV, + build_function_type_list (uint64_type_node, ptr_type_node, +- ls64_arm_data_t, NULL_TREE)}, +- {"__arm_st64bv0", AARCH64_LS64_BUILTIN_ST64BV0, ++ ls64_arm_data_t, NULL_TREE)}, ++ {"__builtin_aarch64_st64bv0", AARCH64_LS64_BUILTIN_ST64BV0, + build_function_type_list (uint64_type_node, ptr_type_node, +- ls64_arm_data_t, NULL_TREE)}, ++ ls64_arm_data_t, NULL_TREE)}, + }; + + for (size_t i = 0; i < ARRAY_SIZE (data); ++i) + aarch64_builtin_decls[data[i].code] +- = aarch64_general_simulate_builtin (data[i].name, data[i].type, +- data[i].code); ++ = aarch64_general_add_builtin (data[i].name, data[i].type, data[i].code); + } + + static void +@@ -2016,9 +2005,6 @@ aarch64_general_init_builtins (void) + + if (TARGET_MEMTAG) + aarch64_init_memtag_builtins (); +- +- if (in_lto_p) +- handle_arm_acle_h (); + } + + /* Implement TARGET_BUILTIN_DECL for the AARCH64_BUILTIN_GENERAL group. */ +@@ -2500,40 +2486,40 @@ aarch64_expand_builtin_ls64 (int fcode, tree exp, rtx target) + { + case AARCH64_LS64_BUILTIN_LD64B: + { +- rtx op0 = expand_normal (CALL_EXPR_ARG (exp, 0)); +- create_output_operand (&ops[0], target, V8DImode); +- create_input_operand (&ops[1], op0, DImode); +- expand_insn (CODE_FOR_ld64b, 2, ops); +- return ops[0].value; ++ rtx op0 = expand_normal (CALL_EXPR_ARG (exp, 0)); ++ create_output_operand (&ops[0], target, V8DImode); ++ create_input_operand (&ops[1], op0, DImode); ++ expand_insn (CODE_FOR_ld64b, 2, ops); ++ return ops[0].value; + } + case AARCH64_LS64_BUILTIN_ST64B: + { +- rtx op0 = expand_normal (CALL_EXPR_ARG (exp, 0)); +- rtx op1 = expand_normal (CALL_EXPR_ARG (exp, 1)); +- create_input_operand (&ops[0], op0, DImode); +- create_input_operand (&ops[1], op1, V8DImode); +- expand_insn (CODE_FOR_st64b, 2, ops); +- return const0_rtx; ++ rtx op0 = expand_normal (CALL_EXPR_ARG (exp, 0)); ++ rtx op1 = expand_normal (CALL_EXPR_ARG (exp, 1)); ++ create_output_operand (&ops[0], op0, DImode); ++ create_input_operand (&ops[1], op1, V8DImode); ++ expand_insn (CODE_FOR_st64b, 2, ops); ++ return const0_rtx; + } + case AARCH64_LS64_BUILTIN_ST64BV: + { +- rtx op0 = expand_normal (CALL_EXPR_ARG (exp, 0)); +- rtx op1 = expand_normal (CALL_EXPR_ARG (exp, 1)); +- create_output_operand (&ops[0], target, DImode); +- create_input_operand (&ops[1], op0, DImode); +- create_input_operand (&ops[2], op1, V8DImode); +- expand_insn (CODE_FOR_st64bv, 3, ops); +- return ops[0].value; ++ rtx op0 = expand_normal (CALL_EXPR_ARG (exp, 0)); ++ rtx op1 = expand_normal (CALL_EXPR_ARG (exp, 1)); ++ create_output_operand (&ops[0], target, DImode); ++ create_input_operand (&ops[1], op0, DImode); ++ create_input_operand (&ops[2], op1, V8DImode); ++ expand_insn (CODE_FOR_st64bv, 3, ops); ++ return ops[0].value; + } + case AARCH64_LS64_BUILTIN_ST64BV0: + { +- rtx op0 = expand_normal (CALL_EXPR_ARG (exp, 0)); +- rtx op1 = expand_normal (CALL_EXPR_ARG (exp, 1)); +- create_output_operand (&ops[0], target, DImode); +- create_input_operand (&ops[1], op0, DImode); +- create_input_operand (&ops[2], op1, V8DImode); +- expand_insn (CODE_FOR_st64bv0, 3, ops); +- return ops[0].value; ++ rtx op0 = expand_normal (CALL_EXPR_ARG (exp, 0)); ++ rtx op1 = expand_normal (CALL_EXPR_ARG (exp, 1)); ++ create_output_operand (&ops[0], target, DImode); ++ create_input_operand (&ops[1], op0, DImode); ++ create_input_operand (&ops[2], op1, V8DImode); ++ expand_insn (CODE_FOR_st64bv0, 3, ops); ++ return ops[0].value; + } + } + +diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h +index e727e207367..63339fa47df 100644 +--- a/gcc/config/aarch64/aarch64-protos.h ++++ b/gcc/config/aarch64/aarch64-protos.h +@@ -733,11 +733,11 @@ const unsigned int AARCH64_BUILTIN_CLASS = (1 << AARCH64_BUILTIN_SHIFT) - 1; + class aarch64_simd_switcher + { + public: +- aarch64_simd_switcher (aarch64_feature_flags extra_flags = 0); ++ aarch64_simd_switcher (unsigned int extra_flags = 0); + ~aarch64_simd_switcher (); + + private: +- aarch64_feature_flags m_old_asm_isa_flags; ++ unsigned long m_old_asm_isa_flags; + bool m_old_general_regs_only; + }; + +diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc +index f5db5379543..0f04ab9fba0 100644 +--- a/gcc/config/aarch64/aarch64.cc ++++ b/gcc/config/aarch64/aarch64.cc +@@ -7495,6 +7495,7 @@ aarch64_function_arg_alignment (machine_mode mode, const_tree type, + gcc_assert (known_eq (POINTER_SIZE, GET_MODE_BITSIZE (mode))); + return POINTER_SIZE; + } ++ gcc_assert (!TYPE_USER_ALIGN (type)); + return TYPE_ALIGN (type); + } + +@@ -7713,6 +7714,10 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg) + = aarch64_function_arg_alignment (mode, type, &abi_break, + &abi_break_packed); + ++ gcc_assert ((allocate_nvrn || alignment <= 16 * BITS_PER_UNIT) ++ && (!alignment || abi_break < alignment) ++ && (!abi_break_packed || alignment < abi_break_packed)); + -+int -+__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), -+ void *__args) -+{ -+ if (!__has_gthr_impl(create)) { -+ return -1; -+ } + /* allocate_ncrn may be false-positive, but allocate_nvrn is quite reliable. + The following code thus handles passing by SIMD/FP registers first. */ + +diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h +index 73b09e20508..155cace6afe 100644 +--- a/gcc/config/aarch64/aarch64.h ++++ b/gcc/config/aarch64/aarch64.h +@@ -292,7 +292,7 @@ enum class aarch64_feature : unsigned char { + #define TARGET_RNG (AARCH64_ISA_RNG) + + /* Memory Tagging instructions optional to Armv8.5 enabled through +memtag. */ +-#define TARGET_MEMTAG (AARCH64_ISA_MEMTAG) ++#define TARGET_MEMTAG (AARCH64_ISA_V8_5A && AARCH64_ISA_MEMTAG) + + /* I8MM instructions are enabled through +i8mm. */ + #define TARGET_I8MM (AARCH64_ISA_I8MM) +diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md +index 36d0bb3f718..022eef80bc1 100644 +--- a/gcc/config/aarch64/aarch64.md ++++ b/gcc/config/aarch64/aarch64.md +@@ -7824,9 +7824,9 @@ + ;; Load/Store 64-bit (LS64) instructions. + (define_insn "ld64b" + [(set (match_operand:V8DI 0 "register_operand" "=r") +- (unspec_volatile:V8DI +- [(mem:V8DI (match_operand:DI 1 "register_operand" "r"))] +- UNSPEC_LD64B) ++ (unspec_volatile:V8DI ++ [(mem:V8DI (match_operand:DI 1 "register_operand" "r"))] ++ UNSPEC_LD64B) + )] + "TARGET_LS64" + "ld64b\\t%0, [%1]" +@@ -7834,9 +7834,9 @@ + ) + + (define_insn "st64b" +- [(set (mem:V8DI (match_operand:DI 0 "register_operand" "r")) +- (unspec_volatile:V8DI [(match_operand:V8DI 1 "register_operand" "r")] +- UNSPEC_ST64B) ++ [(set (mem:V8DI (match_operand:DI 0 "register_operand" "=r")) ++ (unspec_volatile:V8DI [(match_operand:V8DI 1 "register_operand" "r")] ++ UNSPEC_ST64B) + )] + "TARGET_LS64" + "st64b\\t%1, [%0]" +@@ -7845,10 +7845,10 @@ + + (define_insn "st64bv" + [(set (match_operand:DI 0 "register_operand" "=r") +- (unspec_volatile:DI [(const_int 0)] UNSPEC_ST64BV_RET)) ++ (unspec_volatile:DI [(const_int 0)] UNSPEC_ST64BV_RET)) + (set (mem:V8DI (match_operand:DI 1 "register_operand" "r")) +- (unspec_volatile:V8DI [(match_operand:V8DI 2 "register_operand" "r")] +- UNSPEC_ST64BV) ++ (unspec_volatile:V8DI [(match_operand:V8DI 2 "register_operand" "r")] ++ UNSPEC_ST64BV) + )] + "TARGET_LS64" + "st64bv\\t%0, %2, [%1]" +@@ -7857,10 +7857,10 @@ + + (define_insn "st64bv0" + [(set (match_operand:DI 0 "register_operand" "=r") +- (unspec_volatile:DI [(const_int 0)] UNSPEC_ST64BV0_RET)) ++ (unspec_volatile:DI [(const_int 0)] UNSPEC_ST64BV0_RET)) + (set (mem:V8DI (match_operand:DI 1 "register_operand" "r")) +- (unspec_volatile:V8DI [(match_operand:V8DI 2 "register_operand" "r")] +- UNSPEC_ST64BV0) ++ (unspec_volatile:V8DI [(match_operand:V8DI 2 "register_operand" "r")] ++ UNSPEC_ST64BV0) + )] + "TARGET_LS64" + "st64bv0\\t%0, %2, [%1]" +diff --git a/gcc/config/aarch64/arm_acle.h b/gcc/config/aarch64/arm_acle.h +index 7599a32301d..e0ac591d2c8 100644 +--- a/gcc/config/aarch64/arm_acle.h ++++ b/gcc/config/aarch64/arm_acle.h +@@ -270,7 +270,40 @@ __ttest (void) + #endif + + #ifdef __ARM_FEATURE_LS64 ++#pragma GCC push_options ++#pragma GCC target ("+nothing+ls64") + -+ return __gthr_impl_create(__threadid, __func, __args); -+} + typedef __arm_data512_t data512_t; + -+int -+__gthread_join (__gthread_t __threadid, void **__value_ptr) ++__extension__ extern __inline data512_t ++__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) ++__arm_ld64b (const void *__addr) +{ -+ if (!__has_gthr_impl(join)) { -+ return -1; -+ } -+ -+ return __gthr_impl_join(__threadid, __value_ptr); ++ return __builtin_aarch64_ld64b (__addr); +} + -+int -+__gthread_detach (__gthread_t __threadid) ++__extension__ extern __inline void ++__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) ++__arm_st64b (void *__addr, data512_t __value) +{ -+ if (!__has_gthr_impl(detach)) { -+ return -1; -+ } -+ -+ return __gthr_impl_detach(__threadid); ++ __builtin_aarch64_st64b (__addr, __value); +} + -+int -+__gthread_equal (__gthread_t __t1, __gthread_t __t2) ++__extension__ extern __inline uint64_t ++__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) ++__arm_st64bv (void *__addr, data512_t __value) +{ -+ if (!__has_gthr_impl(equal)) { -+ return -1; -+ } -+ -+ return __gthr_impl_equal(__t1, __t2); ++ return __builtin_aarch64_st64bv (__addr, __value); +} + -+__gthread_t -+__gthread_self (void) ++__extension__ extern __inline uint64_t ++__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) ++__arm_st64bv0 (void *__addr, data512_t __value) +{ -+ if (!__has_gthr_impl(self)) { -+ __gthread_t result = { 0 }; -+ return result; -+ } -+ -+ return __gthr_impl_self(); ++ return __builtin_aarch64_st64bv0 (__addr, __value); +} + -+int -+__gthread_yield (void) -+{ -+ if (!__has_gthr_impl(yield)) { -+ return -1; -+ } ++#pragma GCC pop_options + #endif + + #pragma GCC push_options +@@ -292,7 +325,7 @@ __rndrrs (uint64_t *__res) + #pragma GCC pop_options + + #pragma GCC push_options +-#pragma GCC target ("+nothing+memtag") ++#pragma GCC target ("arch=armv8.5-a+memtag") + + #define __arm_mte_create_random_tag(__ptr, __u64_mask) \ + __builtin_aarch64_memtag_irg(__ptr, __u64_mask) +diff --git a/gcc/config/aarch64/arm_fp16.h b/gcc/config/aarch64/arm_fp16.h +index 76e98c8444b..a8fa4dbbdfe 100644 +--- a/gcc/config/aarch64/arm_fp16.h ++++ b/gcc/config/aarch64/arm_fp16.h +@@ -30,7 +30,7 @@ + #include + + #pragma GCC push_options +-#pragma GCC target ("+nothing+fp16") ++#pragma GCC target ("arch=armv8.2-a+fp16") + + typedef __fp16 float16_t; + +diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h +index 5aca2a0f877..eeec9f162e2 100644 +--- a/gcc/config/aarch64/arm_neon.h ++++ b/gcc/config/aarch64/arm_neon.h +@@ -25590,7 +25590,7 @@ __INTERLEAVE_LIST (zip) + #include "arm_fp16.h" + + #pragma GCC push_options +-#pragma GCC target ("+nothing+simd+fp16") ++#pragma GCC target ("arch=armv8.2-a+fp16") + + /* ARMv8.2-A FP16 one operand vector intrinsics. */ + +@@ -26753,7 +26753,7 @@ vminnmvq_f16 (float16x8_t __a) + /* AdvSIMD Dot Product intrinsics. */ + + #pragma GCC push_options +-#pragma GCC target ("+nothing+dotprod") ++#pragma GCC target ("arch=armv8.2-a+dotprod") + + __extension__ extern __inline uint32x2_t + __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +@@ -26844,7 +26844,7 @@ vdotq_laneq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b, const int __index) + #pragma GCC pop_options + + #pragma GCC push_options +-#pragma GCC target ("+nothing+sm4") ++#pragma GCC target ("arch=armv8.2-a+sm4") + + __extension__ extern __inline uint32x4_t + __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +@@ -26911,7 +26911,7 @@ vsm4ekeyq_u32 (uint32x4_t __a, uint32x4_t __b) + #pragma GCC pop_options + + #pragma GCC push_options +-#pragma GCC target ("+nothing+sha3") ++#pragma GCC target ("arch=armv8.2-a+sha3") + + __extension__ extern __inline uint64x2_t + __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +@@ -27547,7 +27547,7 @@ vcmlaq_rot270_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b, + #pragma GCC pop_options + + #pragma GCC push_options +-#pragma GCC target ("+nothing+fp16fml") ++#pragma GCC target ("arch=armv8.2-a+fp16fml") + + __extension__ extern __inline float32x2_t + __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +@@ -27856,7 +27856,7 @@ vrnd64xq_f64 (float64x2_t __a) + #include "arm_bf16.h" + + #pragma GCC push_options +-#pragma GCC target ("+nothing+bf16") ++#pragma GCC target ("arch=armv8.2-a+bf16") + + __extension__ extern __inline bfloat16x4_t + __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +@@ -28535,7 +28535,7 @@ vst4q_lane_bf16 (bfloat16_t *__ptr, bfloat16x8x4_t __val, const int __lane) + /* AdvSIMD 8-bit Integer Matrix Multiply (I8MM) intrinsics. */ + + #pragma GCC push_options +-#pragma GCC target ("+nothing+i8mm") ++#pragma GCC target ("arch=armv8.2-a+i8mm") + + __extension__ extern __inline int32x2_t + __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +diff --git a/gcc/config/alpha/alpha.cc b/gcc/config/alpha/alpha.cc +index bb41aeb6d54..1d826085198 100644 +--- a/gcc/config/alpha/alpha.cc ++++ b/gcc/config/alpha/alpha.cc +@@ -2070,8 +2070,6 @@ static rtx + alpha_emit_set_long_const (rtx target, HOST_WIDE_INT c1) + { + HOST_WIDE_INT d1, d2, d3, d4; +- machine_mode mode = GET_MODE (target); +- rtx orig_target = target; + + /* Decompose the entire word */ + +@@ -2084,9 +2082,6 @@ alpha_emit_set_long_const (rtx target, HOST_WIDE_INT c1) + d4 = ((c1 & 0xffffffff) ^ 0x80000000) - 0x80000000; + gcc_assert (c1 == d4); + +- if (mode != DImode) +- target = gen_lowpart (DImode, target); +- + /* Construct the high word */ + if (d4) + { +@@ -2106,7 +2101,7 @@ alpha_emit_set_long_const (rtx target, HOST_WIDE_INT c1) + if (d1) + emit_move_insn (target, gen_rtx_PLUS (DImode, target, GEN_INT (d1))); + +- return orig_target; ++ return target; + } + + /* Given an integral CONST_INT or CONST_VECTOR, return the low 64 bits. */ +diff --git a/gcc/config/arm/arm-builtins.cc b/gcc/config/arm/arm-builtins.cc +index 6bc56286c88..9f5c568cbc3 100644 +--- a/gcc/config/arm/arm-builtins.cc ++++ b/gcc/config/arm/arm-builtins.cc +@@ -97,7 +97,7 @@ arm_binop_imm_qualifiers[SIMD_MAX_BUILTIN_ARGS] + /* T (T, unsigned immediate). */ + static enum arm_type_qualifiers + arm_sat_binop_imm_qualifiers[SIMD_MAX_BUILTIN_ARGS] +- = { qualifier_none, qualifier_none, qualifier_unsigned_immediate }; ++ = { qualifier_unsigned, qualifier_none, qualifier_unsigned_immediate }; + #define SAT_BINOP_UNSIGNED_IMM_QUALIFIERS \ + (arm_sat_binop_imm_qualifiers) + +diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md +index 40c4d848238..cbfc4543531 100644 +--- a/gcc/config/arm/arm.md ++++ b/gcc/config/arm/arm.md +@@ -7555,7 +7555,7 @@ + && !arm_const_double_rtx (operands[1]) + && !(TARGET_VFP_DOUBLE && vfp3_const_double_rtx (operands[1]))) + { +- rtx clobreg = gen_reg_rtx (DImode); ++ rtx clobreg = gen_reg_rtx (DFmode); + emit_insn (gen_no_literal_pool_df_immediate (operands[0], operands[1], + clobreg)); + DONE; +diff --git a/gcc/config/arm/arm_mve.h b/gcc/config/arm/arm_mve.h +index 71ea3ee275e..1262d668121 100644 +--- a/gcc/config/arm/arm_mve.h ++++ b/gcc/config/arm/arm_mve.h +@@ -16055,7 +16055,7 @@ __extension__ extern __inline int32x4_t + __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) + __arm_vadcq_s32 (int32x4_t __a, int32x4_t __b, unsigned * __carry) + { +- __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | ((*__carry & 0x1u) << 29)); ++ __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | (*__carry << 29)); + int32x4_t __res = __builtin_mve_vadcq_sv4si (__a, __b); + *__carry = (__builtin_arm_get_fpscr_nzcvqc () >> 29) & 0x1u; + return __res; +@@ -16065,7 +16065,7 @@ __extension__ extern __inline uint32x4_t + __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) + __arm_vadcq_u32 (uint32x4_t __a, uint32x4_t __b, unsigned * __carry) + { +- __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | ((*__carry & 0x1u) << 29)); ++ __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | (*__carry << 29)); + uint32x4_t __res = __builtin_mve_vadcq_uv4si (__a, __b); + *__carry = (__builtin_arm_get_fpscr_nzcvqc () >> 29) & 0x1u; + return __res; +@@ -16075,7 +16075,7 @@ __extension__ extern __inline int32x4_t + __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) + __arm_vadcq_m_s32 (int32x4_t __inactive, int32x4_t __a, int32x4_t __b, unsigned * __carry, mve_pred16_t __p) + { +- __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | ((*__carry & 0x1u) << 29)); ++ __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | (*__carry << 29)); + int32x4_t __res = __builtin_mve_vadcq_m_sv4si (__inactive, __a, __b, __p); + *__carry = (__builtin_arm_get_fpscr_nzcvqc () >> 29) & 0x1u; + return __res; +@@ -16085,7 +16085,7 @@ __extension__ extern __inline uint32x4_t + __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) + __arm_vadcq_m_u32 (uint32x4_t __inactive, uint32x4_t __a, uint32x4_t __b, unsigned * __carry, mve_pred16_t __p) + { +- __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | ((*__carry & 0x1u) << 29)); ++ __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | (*__carry << 29)); + uint32x4_t __res = __builtin_mve_vadcq_m_uv4si (__inactive, __a, __b, __p); + *__carry = (__builtin_arm_get_fpscr_nzcvqc () >> 29) & 0x1u; + return __res; +@@ -16131,7 +16131,7 @@ __extension__ extern __inline int32x4_t + __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) + __arm_vsbcq_s32 (int32x4_t __a, int32x4_t __b, unsigned * __carry) + { +- __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | ((*__carry & 0x1u) << 29)); ++ __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | (*__carry << 29)); + int32x4_t __res = __builtin_mve_vsbcq_sv4si (__a, __b); + *__carry = (__builtin_arm_get_fpscr_nzcvqc () >> 29) & 0x1u; + return __res; +@@ -16141,7 +16141,7 @@ __extension__ extern __inline uint32x4_t + __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) + __arm_vsbcq_u32 (uint32x4_t __a, uint32x4_t __b, unsigned * __carry) + { +- __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | ((*__carry & 0x1u) << 29)); ++ __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | (*__carry << 29)); + uint32x4_t __res = __builtin_mve_vsbcq_uv4si (__a, __b); + *__carry = (__builtin_arm_get_fpscr_nzcvqc () >> 29) & 0x1u; + return __res; +@@ -16151,7 +16151,7 @@ __extension__ extern __inline int32x4_t + __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) + __arm_vsbcq_m_s32 (int32x4_t __inactive, int32x4_t __a, int32x4_t __b, unsigned * __carry, mve_pred16_t __p) + { +- __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | ((*__carry & 0x1u) << 29)); ++ __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | (*__carry << 29)); + int32x4_t __res = __builtin_mve_vsbcq_m_sv4si (__inactive, __a, __b, __p); + *__carry = (__builtin_arm_get_fpscr_nzcvqc () >> 29) & 0x1u; + return __res; +@@ -16161,7 +16161,7 @@ __extension__ extern __inline uint32x4_t + __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) + __arm_vsbcq_m_u32 (uint32x4_t __inactive, uint32x4_t __a, uint32x4_t __b, unsigned * __carry, mve_pred16_t __p) + { +- __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | ((*__carry & 0x1u) << 29)); ++ __builtin_arm_set_fpscr_nzcvqc((__builtin_arm_get_fpscr_nzcvqc () & ~0x20000000u) | (*__carry << 29)); + uint32x4_t __res = __builtin_mve_vsbcq_m_uv4si (__inactive, __a, __b, __p); + *__carry = (__builtin_arm_get_fpscr_nzcvqc () >> 29) & 0x1u; + return __res; +@@ -35582,29 +35582,16 @@ enum { + short: __ARM_mve_type_int_n, \ + int: __ARM_mve_type_int_n, \ + long: __ARM_mve_type_int_n, \ +- long long: __ARM_mve_type_int_n, \ + _Float16: __ARM_mve_type_fp_n, \ + __fp16: __ARM_mve_type_fp_n, \ + float: __ARM_mve_type_fp_n, \ + double: __ARM_mve_type_fp_n, \ ++ long long: __ARM_mve_type_int_n, \ + unsigned char: __ARM_mve_type_int_n, \ + unsigned short: __ARM_mve_type_int_n, \ + unsigned int: __ARM_mve_type_int_n, \ + unsigned long: __ARM_mve_type_int_n, \ + unsigned long long: __ARM_mve_type_int_n, \ +- signed char*: __ARM_mve_type_int8_t_ptr, \ +- short*: __ARM_mve_type_int16_t_ptr, \ +- int*: __ARM_mve_type_int32_t_ptr, \ +- long*: __ARM_mve_type_int32_t_ptr, \ +- long long*: __ARM_mve_type_int64_t_ptr, \ +- _Float16*: __ARM_mve_type_float16_t_ptr, \ +- __fp16*: __ARM_mve_type_float16_t_ptr, \ +- float*: __ARM_mve_type_float32_t_ptr, \ +- unsigned char*: __ARM_mve_type_uint8_t_ptr, \ +- unsigned short*: __ARM_mve_type_uint16_t_ptr, \ +- unsigned int*: __ARM_mve_type_uint32_t_ptr, \ +- unsigned long*: __ARM_mve_type_uint32_t_ptr, \ +- unsigned long long*: __ARM_mve_type_uint64_t_ptr, \ + default: __ARM_mve_unsupported_type)) + #else + #define __ARM_mve_typeid(x) _Generic(x, \ +@@ -35663,67 +35650,32 @@ enum { + unsigned int: __ARM_mve_type_int_n, \ + unsigned long: __ARM_mve_type_int_n, \ + unsigned long long: __ARM_mve_type_int_n, \ +- signed char*: __ARM_mve_type_int8_t_ptr, \ +- short*: __ARM_mve_type_int16_t_ptr, \ +- int*: __ARM_mve_type_int32_t_ptr, \ +- long*: __ARM_mve_type_int32_t_ptr, \ +- long long*: __ARM_mve_type_int64_t_ptr, \ +- unsigned char*: __ARM_mve_type_uint8_t_ptr, \ +- unsigned short*: __ARM_mve_type_uint16_t_ptr, \ +- unsigned int*: __ARM_mve_type_uint32_t_ptr, \ +- unsigned long*: __ARM_mve_type_uint32_t_ptr, \ +- unsigned long long*: __ARM_mve_type_uint64_t_ptr, \ + default: __ARM_mve_unsupported_type)) + #endif /* MVE Floating point. */ + + extern void *__ARM_undef; + #define __ARM_mve_coerce(param, type) \ + _Generic(param, type: param, default: *(type *)__ARM_undef) +-#define __ARM_mve_coerce_i_scalar(param, type) \ +- _Generic(param, type: param, const type: param, default: _Generic (param, int8_t: param, int16_t: param, int32_t: param, int64_t: param, uint8_t: param, uint16_t: param, uint32_t: param, uint64_t: param, default: *(type *)__ARM_undef)) +- +-#define __ARM_mve_coerce_s8_ptr(param, type) \ +- _Generic(param, type: param, const type: param, default: _Generic (param, signed char*: param, default: *(type *)__ARM_undef)) +-#define __ARM_mve_coerce_u8_ptr(param, type) \ +- _Generic(param, type: param, const type: param, default: _Generic (param, unsigned char*: param, default: *(type *)__ARM_undef)) +- +-#define __ARM_mve_coerce_s16_ptr(param, type) \ +- _Generic(param, type: param, const type: param, default: _Generic (param, short*: param, default: *(type *)__ARM_undef)) +-#define __ARM_mve_coerce_u16_ptr(param, type) \ +- _Generic(param, type: param, const type: param, default: _Generic (param, unsigned short*: param, default: *(type *)__ARM_undef)) +- +-#define __ARM_mve_coerce_s32_ptr(param, type) \ +- _Generic(param, type: param, const type: param, default: _Generic (param, int*: param, long*: param, default: *(type *)__ARM_undef)) +-#define __ARM_mve_coerce_u32_ptr(param, type) \ +- _Generic(param, type: param, const type: param, default: _Generic (param, unsigned int*: param, unsigned long*: param, default: *(type *)__ARM_undef)) +- +-#define __ARM_mve_coerce_s64_ptr(param, type) \ +- _Generic(param, type: param, const type: param, default: _Generic (param, long long*: param, default: *(type *)__ARM_undef)) +-#define __ARM_mve_coerce_u64_ptr(param, type) \ +- _Generic(param, type: param, const type: param, default: _Generic (param, unsigned long long*: param, default: *(type *)__ARM_undef)) +- +-#if (__ARM_FEATURE_MVE & 2) /* MVE Floating point. */ +-#define __ARM_mve_coerce_f_scalar(param, type) \ +- _Generic(param, type: param, const type: param, __fp16: param, default: _Generic (param, _Float16: param, float16_t: param, float32_t: param, default: *(type *)__ARM_undef)) +-#define __ARM_mve_coerce_f16_ptr(param, type) \ +- _Generic(param, type: param, const type: param, default: _Generic (param, __fp16*: param, _Float16*: param, default: *(type *)__ARM_undef)) +-#define __ARM_mve_coerce_f32_ptr(param, type) \ +- _Generic(param, type: param, const type: param, default: _Generic (param, float*: param, default: *(type *)__ARM_undef)) +-#endif ++#define __ARM_mve_coerce1(param, type) \ ++ _Generic(param, type: param, const type: param, default: *(type *)__ARM_undef) ++#define __ARM_mve_coerce2(param, type) \ ++ _Generic(param, type: param, __fp16: param, default: _Generic (param, _Float16: param, float16_t: param, float32_t: param, default: *(type *)__ARM_undef)) ++#define __ARM_mve_coerce3(param, type) \ ++ _Generic(param, type: param, default: _Generic (param, int8_t: param, int16_t: param, int32_t: param, int64_t: param, uint8_t: param, uint16_t: param, uint32_t: param, uint64_t: param, default: *(type *)__ARM_undef)) + + #if (__ARM_FEATURE_MVE & 2) /* MVE Floating point. */ + + #define __arm_vst4q(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16x4_t]: __arm_vst4q_s8 (__ARM_mve_coerce_s8_ptr(__p0, int8_t *), __ARM_mve_coerce(__p1, int8x16x4_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8x4_t]: __arm_vst4q_s16 (__ARM_mve_coerce_s16_ptr(__p0, int16_t *), __ARM_mve_coerce(__p1, int16x8x4_t)), \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4x4_t]: __arm_vst4q_s32 (__ARM_mve_coerce_s32_ptr(__p0, int32_t *), __ARM_mve_coerce(__p1, int32x4x4_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16x4_t]: __arm_vst4q_u8 (__ARM_mve_coerce_u8_ptr(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8x4_t]: __arm_vst4q_u16 (__ARM_mve_coerce_u16_ptr(__p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8x4_t)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4x4_t]: __arm_vst4q_u32 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4x4_t)), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_float16x8x4_t]: __arm_vst4q_f16 (__ARM_mve_coerce_f16_ptr(__p0, float16_t *), __ARM_mve_coerce(__p1, float16x8x4_t)), \ +- int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4x4_t]: __arm_vst4q_f32 (__ARM_mve_coerce_f32_ptr(__p0, float32_t *), __ARM_mve_coerce(__p1, float32x4x4_t)));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16x4_t]: __arm_vst4q_s8 (__ARM_mve_coerce(__p0, int8_t *), __ARM_mve_coerce(__p1, int8x16x4_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8x4_t]: __arm_vst4q_s16 (__ARM_mve_coerce(__p0, int16_t *), __ARM_mve_coerce(__p1, int16x8x4_t)), \ ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4x4_t]: __arm_vst4q_s32 (__ARM_mve_coerce(__p0, int32_t *), __ARM_mve_coerce(__p1, int32x4x4_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16x4_t]: __arm_vst4q_u8 (__ARM_mve_coerce(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8x4_t]: __arm_vst4q_u16 (__ARM_mve_coerce(__p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8x4_t)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4x4_t]: __arm_vst4q_u32 (__ARM_mve_coerce(__p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4x4_t)), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_float16x8x4_t]: __arm_vst4q_f16 (__ARM_mve_coerce(__p0, float16_t *), __ARM_mve_coerce(__p1, float16x8x4_t)), \ ++ int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4x4_t]: __arm_vst4q_f32 (__ARM_mve_coerce(__p0, float32_t *), __ARM_mve_coerce(__p1, float32x4x4_t)));}) + + #define __arm_vrndxq(p0) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +@@ -35900,10 +35852,6 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vorrq_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t)), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vorrq_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t)), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vorrq_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vorrq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vorrq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vorrq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vorrq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vorrq_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t)), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vorrq_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t)));}) + +@@ -35930,14 +35878,14 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vaddq_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t)), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vaddq_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t)), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vaddq_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vaddq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double)), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vaddq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double)));}) ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vaddq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double)), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vaddq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double)));}) + + #define __arm_vandq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -35954,10 +35902,10 @@ extern void *__ARM_undef; + #define __arm_vbicq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vbicq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar (__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vbicq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar (__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vbicq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar (__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vbicq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar (__p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vbicq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce1 (__p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vbicq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce1 (__p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vbicq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce1 (__p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vbicq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce1 (__p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vbicq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vbicq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vbicq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -35982,14 +35930,14 @@ extern void *__ARM_undef; + #define __arm_vmulq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vmulq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double)), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vmulq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vmulq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double)), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vmulq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmulq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmulq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmulq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -36014,14 +35962,14 @@ extern void *__ARM_undef; + #define __arm_vcmpeqq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpeqq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double)), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpeqq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpeqq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double)), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpeqq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpeqq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpeqq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpeqq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -36052,16 +36000,16 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vcmpeqq_m_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vcmpeqq_m_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcmpeqq_m_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int), p2), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcmpeqq_m_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcmpeqq_m_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpeqq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double), p2), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpeqq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double), p2));}) ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpeqq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double), p2), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpeqq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double), p2));}) + + #define __arm_vcmpgtq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -36069,13 +36017,13 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpgtq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpgtq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpgtq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcmpgtq_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t)), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcmpgtq_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t)), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpgtq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double)), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpgtq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double)));}) ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpgtq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double)), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpgtq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double)));}) + + #define __arm_vcmpleq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -36085,11 +36033,11 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpleq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcmpleq_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t)), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcmpleq_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpleq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpleq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpleq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpleq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double)), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpleq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpleq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpleq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpleq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpleq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double)), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpleq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double)));}) + + #define __arm_vcmpltq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -36097,25 +36045,25 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpltq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpltq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpltq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpltq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpltq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpltq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpltq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpltq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpltq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcmpltq_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t)), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcmpltq_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t)), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpltq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double)), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpltq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double)));}) ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpltq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double)), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpltq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double)));}) + + #define __arm_vcmpneq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpneq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double)), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpneq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpneq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double)), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpneq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpneq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpneq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpneq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -36170,8 +36118,8 @@ extern void *__ARM_undef; + #define __arm_vmaxnmavq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vmaxnmavq_f16 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float16x8_t)), \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vmaxnmavq_f32 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float32x4_t)));}) ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vmaxnmavq_f16 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float16x8_t)), \ ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vmaxnmavq_f32 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float32x4_t)));}) + + #define __arm_vmaxnmq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -36182,14 +36130,14 @@ extern void *__ARM_undef; + #define __arm_vmaxnmvq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vmaxnmvq_f16 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float16x8_t)), \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vmaxnmvq_f32 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float32x4_t)));}) ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vmaxnmvq_f16 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float16x8_t)), \ ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vmaxnmvq_f32 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float32x4_t)));}) + + #define __arm_vmaxnmvq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vmaxnmvq_f16 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float16x8_t)), \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vmaxnmvq_f32 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float32x4_t)));}) ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vmaxnmvq_f16 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float16x8_t)), \ ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vmaxnmvq_f32 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float32x4_t)));}) + + #define __arm_vminnmaq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -36200,8 +36148,8 @@ extern void *__ARM_undef; + #define __arm_vminnmavq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vminnmavq_f16 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float16x8_t)), \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vminnmavq_f32 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float32x4_t)));}) ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vminnmavq_f16 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float16x8_t)), \ ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vminnmavq_f32 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float32x4_t)));}) + + #define __arm_vbrsrq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +@@ -36223,14 +36171,14 @@ extern void *__ARM_undef; + #define __arm_vsubq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vsubq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double)), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vsubq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vsubq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double)), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vsubq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vsubq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vsubq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vsubq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -36243,8 +36191,8 @@ extern void *__ARM_undef; + #define __arm_vminnmvq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vminnmvq_f16 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float16x8_t)), \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vminnmvq_f32 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float32x4_t)));}) ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vminnmvq_f16 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float16x8_t)), \ ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vminnmvq_f32 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float32x4_t)));}) + + #define __arm_vshlq_r(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +@@ -36299,12 +36247,12 @@ extern void *__ARM_undef; + #define __arm_vrshlq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vrshlq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vrshlq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vrshlq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -36335,12 +36283,12 @@ extern void *__ARM_undef; + #define __arm_vqsubq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vqsubq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqsubq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqsubq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -36391,12 +36339,12 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int8x16_t]: __arm_vqrshlq_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqrshlq_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqrshlq_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)));}) + + #define __arm_vqrdmulhq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -36404,9 +36352,9 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vqrdmulhq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqrdmulhq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqrdmulhq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)));}) + + #define __arm_vmlaldavxq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -36439,8 +36387,8 @@ extern void *__ARM_undef; + #define __arm_vqdmulltq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmulltq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmulltq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmulltq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmulltq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqdmulltq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqdmulltq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)));}) + +@@ -36453,17 +36401,17 @@ extern void *__ARM_undef; + #define __arm_vqdmullbq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmullbq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmullbq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmullbq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmullbq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqdmullbq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqdmullbq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)));}) + + #define __arm_vqdmulhq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vqdmulhq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqdmulhq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqdmulhq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)));}) +@@ -36471,12 +36419,12 @@ extern void *__ARM_undef; + #define __arm_vqaddq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vqaddq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqaddq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqaddq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -36509,12 +36457,12 @@ extern void *__ARM_undef; + #define __arm_vhaddq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vhaddq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vhaddq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vhaddq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -36539,12 +36487,12 @@ extern void *__ARM_undef; + #define __arm_vhsubq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vhsubq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vhsubq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vhsubq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -36687,12 +36635,12 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int)));}) + + #define __arm_vsriq(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -36771,44 +36719,44 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int)));}) + + #define __arm_vqdmlashq(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int)));}) + + #define __arm_vqrdmlahq(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int)));}) + + #define __arm_vmlasq(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int)));}) + + #define __arm_vqdmlahq(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int)));}) + + #define __arm_vqrdmladhxq(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -36998,11 +36946,11 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpgtq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), p2), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpgtq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), p2), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpgtq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpgtq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double), p2), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpgtq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double), p2), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpgtq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double), p2), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpgtq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double), p2), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcmpgtq_m_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcmpgtq_m_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2));}) + +@@ -37014,11 +36962,11 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpleq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcmpleq_m_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcmpleq_m_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpleq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpleq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpleq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpleq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double), p2), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpleq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double), p2));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpleq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpleq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpleq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpleq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double), p2), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpleq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double), p2));}) + + #define __arm_vcmpltq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -37028,11 +36976,11 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpltq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcmpltq_m_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcmpltq_m_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpltq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpltq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpltq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpltq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double), p2), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpltq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double), p2));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpltq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpltq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpltq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpltq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double), p2), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpltq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double), p2));}) + + #define __arm_vcmpneq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -37045,14 +36993,14 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcmpneq_m_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcmpneq_m_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcmpneq_m_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpneq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double), p2), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpneq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double), p2));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpneq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double), p2), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpneq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double), p2));}) + + #define __arm_vcvtbq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -37106,8 +37054,8 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vfmaq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce_f_scalar(__p2, double)), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vfmaq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce_f_scalar(__p2, double)), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vfmaq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce2(p2, double)), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vfmaq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce2(p2, double)), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vfmaq_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce(__p2, float16x8_t)), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vfmaq_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce(__p2, float32x4_t)));}) + +@@ -37122,8 +37070,8 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vfmasq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce_f_scalar(__p2, double)), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vfmasq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce_f_scalar(__p2, double)));}) ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vfmasq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce2(p2, double)), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vfmasq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce2(p2, double)));}) + + #define __arm_vmaxnmaq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -37146,14 +37094,14 @@ extern void *__ARM_undef; + #define __arm_vmaxnmavq_p(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vmaxnmavq_p_f16 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float16x8_t), p2), \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vmaxnmavq_p_f32 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float32x4_t), p2));}) ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vmaxnmavq_p_f16 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float16x8_t), p2), \ ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vmaxnmavq_p_f32 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float32x4_t), p2));}) + + #define __arm_vmaxnmvq_p(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vmaxnmvq_p_f16 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float16x8_t), p2), \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vmaxnmvq_p_f32 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float32x4_t), p2));}) ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vmaxnmvq_p_f16 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float16x8_t), p2), \ ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vmaxnmvq_p_f32 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float32x4_t), p2));}) + + #define __arm_vminnmaq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -37164,14 +37112,14 @@ extern void *__ARM_undef; + #define __arm_vminnmavq_p(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vminnmavq_p_f16 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float16x8_t), p2), \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vminnmavq_p_f32 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float32x4_t), p2));}) ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vminnmavq_p_f16 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float16x8_t), p2), \ ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vminnmavq_p_f32 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float32x4_t), p2));}) + + #define __arm_vminnmvq_p(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vminnmvq_p_f16 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float16x8_t), p2), \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vminnmvq_p_f32 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float32x4_t), p2));}) ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vminnmvq_p_f16 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float16x8_t), p2), \ ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vminnmvq_p_f32 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float32x4_t), p2));}) + + #define __arm_vrndnq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -37233,13 +37181,13 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpgeq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpgeq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpgeq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcmpgeq_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t)), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcmpgeq_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t)), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpgeq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double)), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpgeq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double)));}) ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpgeq_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double)), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpgeq_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double)));}) + + #define __arm_vrshrnbq(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -37340,11 +37288,11 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpgeq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), p2), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpgeq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), p2), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpgeq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpgeq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce_f_scalar(__p1, double), p2), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpgeq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce_f_scalar(__p1, double), p2), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vcmpgeq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce2(p1, double), p2), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vcmpgeq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce2(p1, double), p2), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcmpgeq_m_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcmpgeq_m_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2));}) + +@@ -37373,14 +37321,14 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vaddq_m_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vaddq_m_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vaddq_m_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce(__p2, float32x4_t), p3), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vaddq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce_f_scalar(__p2, double), p3), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vaddq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce_f_scalar(__p2, double), p3));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vaddq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce2(p2, double), p3), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vaddq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce2(p2, double), p3));}) + + #define __arm_vandq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -37521,15 +37469,15 @@ extern void *__ARM_undef; + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vfmaq_m_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vfmaq_m_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce(__p2, float32x4_t), p3), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vfmaq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce_f_scalar(__p2, double), p3), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vfmaq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce_f_scalar(__p2, double), p3));}) ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vfmaq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce2(p2, double), p3), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vfmaq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce2(p2, double), p3));}) + + #define __arm_vfmasq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vfmasq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce_f_scalar(__p2, double), p3), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vfmasq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce_f_scalar(__p2, double), p3));}) ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vfmasq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce2(p2, double), p3), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vfmasq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce2(p2, double), p3));}) + + #define __arm_vfmsq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -37564,14 +37512,14 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmulq_m_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vmulq_m_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vmulq_m_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce(__p2, float32x4_t), p3), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vmulq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce_f_scalar(__p2, double), p3), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vmulq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce_f_scalar(__p2, double), p3));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vmulq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce2(p2, double), p3), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vmulq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce2(p2, double), p3));}) + + #define __arm_vornq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -37598,14 +37546,14 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vsubq_m_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vsubq_m_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vsubq_m_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce(__p2, float32x4_t), p3), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vsubq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce_f_scalar(__p2, double), p3), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vsubq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce_f_scalar(__p2, double), p3));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vsubq_m_n_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce2(p2, double), p3), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vsubq_m_n_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce2(p2, double), p3));}) + + #define __arm_vorrq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -37622,236 +37570,236 @@ extern void *__ARM_undef; + + #define __arm_vld1q(p0) (\ + _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld1q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *)), \ +- int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld1q_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *)), \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld1q_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld1q_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld1q_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld1q_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *)), \ +- int (*)[__ARM_mve_type_float16_t_ptr]: __arm_vld1q_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *)), \ +- int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vld1q_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *)))) ++ int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld1q_s8 (__ARM_mve_coerce1(p0, int8_t *)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld1q_s16 (__ARM_mve_coerce1(p0, int16_t *)), \ ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld1q_s32 (__ARM_mve_coerce1(p0, int32_t *)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld1q_u8 (__ARM_mve_coerce1(p0, uint8_t *)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld1q_u16 (__ARM_mve_coerce1(p0, uint16_t *)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld1q_u32 (__ARM_mve_coerce1(p0, uint32_t *)), \ ++ int (*)[__ARM_mve_type_float16_t_ptr]: __arm_vld1q_f16 (__ARM_mve_coerce1(p0, float16_t *)), \ ++ int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vld1q_f32 (__ARM_mve_coerce1(p0, float32_t *)))) + + #define __arm_vld1q_z(p0,p1) ( \ + _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld1q_z_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), p1), \ +- int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld1q_z_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), p1), \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld1q_z_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), p1), \ +- int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld1q_z_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), p1), \ +- int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld1q_z_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), p1), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld1q_z_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), p1), \ +- int (*)[__ARM_mve_type_float16_t_ptr]: __arm_vld1q_z_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), p1), \ +- int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vld1q_z_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), p1))) ++ int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld1q_z_s8 (__ARM_mve_coerce1(p0, int8_t *), p1), \ ++ int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld1q_z_s16 (__ARM_mve_coerce1(p0, int16_t *), p1), \ ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld1q_z_s32 (__ARM_mve_coerce1(p0, int32_t *), p1), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld1q_z_u8 (__ARM_mve_coerce1(p0, uint8_t *), p1), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld1q_z_u16 (__ARM_mve_coerce1(p0, uint16_t *), p1), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld1q_z_u32 (__ARM_mve_coerce1(p0, uint32_t *), p1), \ ++ int (*)[__ARM_mve_type_float16_t_ptr]: __arm_vld1q_z_f16 (__ARM_mve_coerce1(p0, float16_t *), p1), \ ++ int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vld1q_z_f32 (__ARM_mve_coerce1(p0, float32_t *), p1))) + + #define __arm_vld2q(p0) ( \ + _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld2q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *)), \ +- int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld2q_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *)), \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld2q_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld2q_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld2q_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld2q_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *)), \ +- int (*)[__ARM_mve_type_float16_t_ptr]: __arm_vld2q_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *)), \ +- int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vld2q_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *)))) ++ int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld2q_s8 (__ARM_mve_coerce1(p0, int8_t *)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld2q_s16 (__ARM_mve_coerce1(p0, int16_t *)), \ ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld2q_s32 (__ARM_mve_coerce1(p0, int32_t *)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld2q_u8 (__ARM_mve_coerce1(p0, uint8_t *)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld2q_u16 (__ARM_mve_coerce1(p0, uint16_t *)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld2q_u32 (__ARM_mve_coerce1(p0, uint32_t *)), \ ++ int (*)[__ARM_mve_type_float16_t_ptr]: __arm_vld2q_f16 (__ARM_mve_coerce1(p0, float16_t *)), \ ++ int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vld2q_f32 (__ARM_mve_coerce1(p0, float32_t *)))) + + #define __arm_vld4q(p0) ( \ + _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld4q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *)), \ +- int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld4q_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *)), \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld4q_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld4q_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld4q_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld4q_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *)), \ +- int (*)[__ARM_mve_type_float16_t_ptr]: __arm_vld4q_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *)), \ +- int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vld4q_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *)))) ++ int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld4q_s8 (__ARM_mve_coerce1(p0, int8_t *)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld4q_s16 (__ARM_mve_coerce1(p0, int16_t *)), \ ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld4q_s32 (__ARM_mve_coerce1(p0, int32_t *)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld4q_u8 (__ARM_mve_coerce1(p0, uint8_t *)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld4q_u16 (__ARM_mve_coerce1(p0, uint16_t *)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld4q_u32 (__ARM_mve_coerce1(p0, uint32_t *)), \ ++ int (*)[__ARM_mve_type_float16_t_ptr]: __arm_vld4q_f16 (__ARM_mve_coerce1(p0, float16_t *)), \ ++ int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vld4q_f32 (__ARM_mve_coerce1(p0, float32_t *)))) + + #define __arm_vldrhq_gather_offset(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t)));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_s16 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_s32 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_u16 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_u32 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_f16 (__ARM_mve_coerce1(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t)));}) + + #define __arm_vldrhq_gather_offset_z(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_z_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_z_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_z_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_z_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_z_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_z_s16 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_z_s32 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_z_u16 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_z_u32 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_z_f16 (__ARM_mve_coerce1(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2));}) + + #define __arm_vldrhq_gather_shifted_offset(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t)));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_s16 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_s32 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_u16 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_u32 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_f16 (__ARM_mve_coerce1(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t)));}) + + #define __arm_vldrhq_gather_shifted_offset_z(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_z_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_z_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_z_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_z_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_z_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_z_s16 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_z_s32 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_z_u16 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_z_u32 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_z_f16 (__ARM_mve_coerce1(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2));}) + + #define __arm_vldrwq_gather_offset(p0,p1) ( \ + _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_offset_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), p1), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_offset_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), p1), \ +- int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vldrwq_gather_offset_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), p1))) ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_offset_s32 (__ARM_mve_coerce1(p0, int32_t *), p1), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_offset_u32 (__ARM_mve_coerce1(p0, uint32_t *), p1), \ ++ int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vldrwq_gather_offset_f32 (__ARM_mve_coerce1(p0, float32_t *), p1))) + + #define __arm_vldrwq_gather_offset_z(p0,p1,p2) ( \ + _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_offset_z_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), p1, p2), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_offset_z_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), p1, p2), \ +- int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vldrwq_gather_offset_z_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), p1, p2))) ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_offset_z_s32 (__ARM_mve_coerce1(p0, int32_t *), p1, p2), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_offset_z_u32 (__ARM_mve_coerce1(p0, uint32_t *), p1, p2), \ ++ int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vldrwq_gather_offset_z_f32 (__ARM_mve_coerce1(p0, float32_t *), p1, p2))) + + #define __arm_vldrwq_gather_shifted_offset(p0,p1) ( \ + _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_shifted_offset_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), p1), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_shifted_offset_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), p1), \ +- int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vldrwq_gather_shifted_offset_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), p1))) ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_shifted_offset_s32 (__ARM_mve_coerce1(p0, int32_t *), p1), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_shifted_offset_u32 (__ARM_mve_coerce1(p0, uint32_t *), p1), \ ++ int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vldrwq_gather_shifted_offset_f32 (__ARM_mve_coerce1(p0, float32_t *), p1))) + + #define __arm_vldrwq_gather_shifted_offset_z(p0,p1,p2) ( \ + _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_shifted_offset_z_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), p1, p2), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_shifted_offset_z_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), p1, p2), \ +- int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vldrwq_gather_shifted_offset_z_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), p1, p2))) ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_shifted_offset_z_s32 (__ARM_mve_coerce1(p0, int32_t *), p1, p2), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_shifted_offset_z_u32 (__ARM_mve_coerce1(p0, uint32_t *), p1, p2), \ ++ int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vldrwq_gather_shifted_offset_z_f32 (__ARM_mve_coerce1(p0, float32_t *), p1, p2))) + + #define __arm_vst1q_p(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vst1q_p_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t), p2), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vst1q_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t), p2), \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vst1q_p_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vst1q_p_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vst1q_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vst1q_p_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_float16x8_t]: __arm_vst1q_p_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, float16x8_t), p2), \ +- int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vst1q_p_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), __ARM_mve_coerce(__p1, float32x4_t), p2));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vst1q_p_s8 (__ARM_mve_coerce(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t), p2), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vst1q_p_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vst1q_p_s32 (__ARM_mve_coerce(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vst1q_p_u8 (__ARM_mve_coerce(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vst1q_p_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vst1q_p_u32 (__ARM_mve_coerce(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_float16x8_t]: __arm_vst1q_p_f16 (__ARM_mve_coerce(p0, float16_t *), __ARM_mve_coerce(__p1, float16x8_t), p2), \ ++ int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vst1q_p_f32 (__ARM_mve_coerce(p0, float32_t *), __ARM_mve_coerce(__p1, float32x4_t), p2));}) + + #define __arm_vst2q(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16x2_t]: __arm_vst2q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16x2_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8x2_t]: __arm_vst2q_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8x2_t)), \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4x2_t]: __arm_vst2q_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4x2_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16x2_t]: __arm_vst2q_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16x2_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8x2_t]: __arm_vst2q_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8x2_t)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4x2_t]: __arm_vst2q_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4x2_t)), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_float16x8x2_t]: __arm_vst2q_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, float16x8x2_t)), \ +- int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4x2_t]: __arm_vst2q_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), __ARM_mve_coerce(__p1, float32x4x2_t)));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16x2_t]: __arm_vst2q_s8 (__ARM_mve_coerce(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16x2_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8x2_t]: __arm_vst2q_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8x2_t)), \ ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4x2_t]: __arm_vst2q_s32 (__ARM_mve_coerce(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4x2_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16x2_t]: __arm_vst2q_u8 (__ARM_mve_coerce(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16x2_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8x2_t]: __arm_vst2q_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8x2_t)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4x2_t]: __arm_vst2q_u32 (__ARM_mve_coerce(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4x2_t)), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_float16x8x2_t]: __arm_vst2q_f16 (__ARM_mve_coerce(p0, float16_t *), __ARM_mve_coerce(__p1, float16x8x2_t)), \ ++ int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4x2_t]: __arm_vst2q_f32 (__ARM_mve_coerce(p0, float32_t *), __ARM_mve_coerce(__p1, float32x4x2_t)));}) + + #define __arm_vst1q(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vst1q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vst1q_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t)), \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vst1q_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vst1q_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vst1q_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vst1q_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_float16x8_t]: __arm_vst1q_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, float16x8_t)), \ +- int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vst1q_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), __ARM_mve_coerce(__p1, float32x4_t)));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vst1q_s8 (__ARM_mve_coerce(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vst1q_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vst1q_s32 (__ARM_mve_coerce(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vst1q_u8 (__ARM_mve_coerce(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vst1q_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vst1q_u32 (__ARM_mve_coerce(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_float16x8_t]: __arm_vst1q_f16 (__ARM_mve_coerce(p0, float16_t *), __ARM_mve_coerce(__p1, float16x8_t)), \ ++ int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vst1q_f32 (__ARM_mve_coerce(p0, float32_t *), __ARM_mve_coerce(__p1, float32x4_t)));}) + + #define __arm_vstrhq(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrhq_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrhq_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_float16x8_t]: __arm_vstrhq_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, float16x8_t)));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrhq_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrhq_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_float16x8_t]: __arm_vstrhq_f16 (__ARM_mve_coerce(p0, float16_t *), __ARM_mve_coerce(__p1, float16x8_t)));}) + + #define __arm_vstrhq_p(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrhq_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t), p2), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrhq_p_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_p_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_float16x8_t]: __arm_vstrhq_p_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, float16x8_t), p2));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrhq_p_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrhq_p_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_p_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_p_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_float16x8_t]: __arm_vstrhq_p_f16 (__ARM_mve_coerce(p0, float16_t *), __ARM_mve_coerce(__p1, float16x8_t), p2));}) + + #define __arm_vstrhq_scatter_offset_p(p0,p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_p_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_p_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_offset_p_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_p_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_p_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_p_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_p_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_offset_p_f16 (__ARM_mve_coerce(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3));}) + + #define __arm_vstrhq_scatter_offset(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_offset_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t)));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_offset_f16 (__ARM_mve_coerce(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t)));}) + + #define __arm_vstrhq_scatter_shifted_offset_p(p0,p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_f16 (__ARM_mve_coerce(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3));}) + + #define __arm_vstrhq_scatter_shifted_offset(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_shifted_offset_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t)));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_shifted_offset_f16 (__ARM_mve_coerce(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t)));}) + + #define __arm_vstrwq_p(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_p_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_p_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_p_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), __ARM_mve_coerce(__p1, float32x4_t), p2));}) ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_p_s32 (__ARM_mve_coerce(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_p_u32 (__ARM_mve_coerce(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ ++ int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_p_f32 (__ARM_mve_coerce(p0, float32_t *), __ARM_mve_coerce(__p1, float32x4_t), p2));}) + + #define __arm_vstrwq(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), __ARM_mve_coerce(__p1, float32x4_t)));}) ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_s32 (__ARM_mve_coerce(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_u32 (__ARM_mve_coerce(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_f32 (__ARM_mve_coerce(p0, float32_t *), __ARM_mve_coerce(__p1, float32x4_t)));}) + + #define __arm_vstrhq_scatter_offset(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_offset_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t)));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_offset_f16 (__ARM_mve_coerce(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t)));}) + + #define __arm_vstrhq_scatter_offset_p(p0,p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_p_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_p_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_offset_p_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_p_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_p_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_p_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_p_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_offset_p_f16 (__ARM_mve_coerce(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3));}) + + #define __arm_vstrhq_scatter_shifted_offset(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_shifted_offset_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t)));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_shifted_offset_f16 (__ARM_mve_coerce(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t)));}) + + #define __arm_vstrhq_scatter_shifted_offset_p(p0,p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ +- int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ ++ int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_f16 (__ARM_mve_coerce(p0, float16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3));}) + + #define __arm_vstrwq_scatter_base(p0,p1,p2) ({ __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p2)])0, \ +@@ -37868,44 +37816,44 @@ extern void *__ARM_undef; + #define __arm_vstrwq_scatter_offset(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_offset_s32 (__ARM_mve_coerce_s32_ptr(__p0, int32_t *), p1, __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_offset_u32 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1, __ARM_mve_coerce(__p2, uint32x4_t)), \ +- int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_scatter_offset_f32 (__ARM_mve_coerce_f32_ptr(__p0, float32_t *), p1, __ARM_mve_coerce(__p2, float32x4_t)));}) ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_offset_s32 (__ARM_mve_coerce(__p0, int32_t *), p1, __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_offset_u32 (__ARM_mve_coerce(__p0, uint32_t *), p1, __ARM_mve_coerce(__p2, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_scatter_offset_f32 (__ARM_mve_coerce(__p0, float32_t *), p1, __ARM_mve_coerce(__p2, float32x4_t)));}) + + #define __arm_vstrwq_scatter_offset_p(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_offset_p_s32 (__ARM_mve_coerce_s32_ptr(__p0, int32_t *), p1, __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_offset_p_u32 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1, __ARM_mve_coerce(__p2, uint32x4_t), p3), \ +- int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_scatter_offset_p_f32 (__ARM_mve_coerce_f32_ptr(__p0, float32_t *), p1, __ARM_mve_coerce(__p2, float32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_offset_p_s32 (__ARM_mve_coerce(__p0, int32_t *), p1, __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_offset_p_u32 (__ARM_mve_coerce(__p0, uint32_t *), p1, __ARM_mve_coerce(__p2, uint32x4_t), p3), \ ++ int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_scatter_offset_p_f32 (__ARM_mve_coerce(__p0, float32_t *), p1, __ARM_mve_coerce(__p2, float32x4_t), p3));}) + + #define __arm_vstrwq_scatter_shifted_offset(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_shifted_offset_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __p1, __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_shifted_offset_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __p1, __ARM_mve_coerce(__p2, uint32x4_t)), \ +- int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_scatter_shifted_offset_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), __p1, __ARM_mve_coerce(__p2, float32x4_t)));}) ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_shifted_offset_s32 (__ARM_mve_coerce(p0, int32_t *), __p1, __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_shifted_offset_u32 (__ARM_mve_coerce(p0, uint32_t *), __p1, __ARM_mve_coerce(__p2, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_scatter_shifted_offset_f32 (__ARM_mve_coerce(p0, float32_t *), __p1, __ARM_mve_coerce(__p2, float32x4_t)));}) + + #define __arm_vstrwq_scatter_shifted_offset_p(p0,p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __p1, __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __p1, __ARM_mve_coerce(__p2, uint32x4_t), p3), \ +- int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), __p1, __ARM_mve_coerce(__p2, float32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_s32 (__ARM_mve_coerce(p0, int32_t *), __p1, __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_u32 (__ARM_mve_coerce(p0, uint32_t *), __p1, __ARM_mve_coerce(__p2, uint32x4_t), p3), \ ++ int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_f32 (__ARM_mve_coerce(p0, float32_t *), __p1, __ARM_mve_coerce(__p2, float32x4_t), p3));}) + + #define __arm_vstrwq_scatter_shifted_offset_p(p0,p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __p1, __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __p1, __ARM_mve_coerce(__p2, uint32x4_t), p3), \ +- int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), __p1, __ARM_mve_coerce(__p2, float32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_s32 (__ARM_mve_coerce(p0, int32_t *), __p1, __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_u32 (__ARM_mve_coerce(p0, uint32_t *), __p1, __ARM_mve_coerce(__p2, uint32x4_t), p3), \ ++ int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_f32 (__ARM_mve_coerce(p0, float32_t *), __p1, __ARM_mve_coerce(__p2, float32x4_t), p3));}) + + #define __arm_vstrwq_scatter_shifted_offset(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_shifted_offset_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __p1, __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_shifted_offset_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __p1, __ARM_mve_coerce(__p2, uint32x4_t)), \ +- int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_scatter_shifted_offset_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), __p1, __ARM_mve_coerce(__p2, float32x4_t)));}) ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_shifted_offset_s32 (__ARM_mve_coerce(p0, int32_t *), __p1, __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_shifted_offset_u32 (__ARM_mve_coerce(p0, uint32_t *), __p1, __ARM_mve_coerce(__p2, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vstrwq_scatter_shifted_offset_f32 (__ARM_mve_coerce(p0, float32_t *), __p1, __ARM_mve_coerce(__p2, float32x4_t)));}) + + #define __arm_vuninitializedq(p0) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +@@ -38078,19 +38026,19 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vaddq_x_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vaddq_x_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vaddq_x_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vaddq_x_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vaddq_x_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vaddq_x_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vaddq_x_f16 (__ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vaddq_x_f32 (__ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce(__p2, float32x4_t), p3), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vaddq_x_n_f16 (__ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce_f_scalar(__p2, double), p3), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vaddq_x_n_f32 (__ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce_f_scalar(__p2, double), p3));}) ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vaddq_x_n_f16 (__ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce2(p2, double), p3), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vaddq_x_n_f32 (__ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce2(p2, double), p3));}) + + #define __arm_vandq_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ +@@ -38213,19 +38161,19 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmulq_x_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmulq_x_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmulq_x_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vmulq_x_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmulq_x_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmulq_x_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vmulq_x_f16 (__ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vmulq_x_f32 (__ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce(__p2, float32x4_t), p3), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vmulq_x_n_f16 (__ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce_f_scalar(__p2, double), p3), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vmulq_x_n_f32 (__ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce_f_scalar(__p2, double), p3));}) ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vmulq_x_n_f16 (__ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce2(p2, double), p3), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vmulq_x_n_f32 (__ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce2(p2, double), p3));}) + + #define __arm_vnegq_x(p1,p2) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ +@@ -38314,19 +38262,19 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vsubq_x_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vsubq_x_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vsubq_x_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vsubq_x_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vsubq_x_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vsubq_x_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vsubq_x_f16 (__ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3), \ + int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vsubq_x_f32 (__ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce(__p2, float32x4_t), p3), \ +- int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vsubq_x_n_f16 (__ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce_f_scalar(__p2, double), p3), \ +- int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vsubq_x_n_f32 (__ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce_f_scalar(__p2, double), p3));}) ++ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vsubq_x_n_f16 (__ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce2(p2, double), p3), \ ++ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_fp_n]: __arm_vsubq_x_n_f32 (__ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce2(p2, double), p3));}) + + #define __arm_vcmulq_rot90_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ +@@ -38350,16 +38298,16 @@ extern void *__ARM_undef; + #define __arm_vsetq_lane(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t]: __arm_vsetq_lane_s8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int8x16_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t]: __arm_vsetq_lane_s16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int16x8_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t]: __arm_vsetq_lane_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int64x2_t]: __arm_vsetq_lane_s64 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int64x2_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t]: __arm_vsetq_lane_u8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t]: __arm_vsetq_lane_u16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t]: __arm_vsetq_lane_u32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint64x2_t]: __arm_vsetq_lane_u64 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint64x2_t), p2), \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vsetq_lane_f16 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float16x8_t), p2), \ +- int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vsetq_lane_f32 (__ARM_mve_coerce_f_scalar(__p0, double), __ARM_mve_coerce(__p1, float32x4_t), p2));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t]: __arm_vsetq_lane_s8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int8x16_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t]: __arm_vsetq_lane_s16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t]: __arm_vsetq_lane_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int64x2_t]: __arm_vsetq_lane_s64 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int64x2_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t]: __arm_vsetq_lane_u8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t]: __arm_vsetq_lane_u16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t]: __arm_vsetq_lane_u32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint64x2_t]: __arm_vsetq_lane_u64 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint64x2_t), p2), \ ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float16x8_t]: __arm_vsetq_lane_f16 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float16x8_t), p2), \ ++ int (*)[__ARM_mve_type_fp_n][__ARM_mve_type_float32x4_t]: __arm_vsetq_lane_f32 (__ARM_mve_coerce2(p0, double), __ARM_mve_coerce(__p1, float32x4_t), p2));}) + + #else /* MVE Integer. */ + +@@ -38375,12 +38323,12 @@ extern void *__ARM_undef; + + #define __arm_vst4q(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16x4_t]: __arm_vst4q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16x4_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8x4_t]: __arm_vst4q_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8x4_t)), \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4x4_t]: __arm_vst4q_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4x4_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16x4_t]: __arm_vst4q_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8x4_t]: __arm_vst4q_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8x4_t)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4x4_t]: __arm_vst4q_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4x4_t)));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16x4_t]: __arm_vst4q_s8 (__ARM_mve_coerce(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16x4_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8x4_t]: __arm_vst4q_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8x4_t)), \ ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4x4_t]: __arm_vst4q_s32 (__ARM_mve_coerce(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4x4_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16x4_t]: __arm_vst4q_u8 (__ARM_mve_coerce(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8x4_t]: __arm_vst4q_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8x4_t)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4x4_t]: __arm_vst4q_u32 (__ARM_mve_coerce(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4x4_t)));}) + + #define __arm_vabsq(p0) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +@@ -38477,12 +38425,12 @@ extern void *__ARM_undef; + #define __arm_vcmpneq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpneq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpneq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpneq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -38509,12 +38457,12 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vsubq_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t)), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vsubq_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t)), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vsubq_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)));}) + + #define __arm_vshlq_r(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +@@ -38528,12 +38476,12 @@ extern void *__ARM_undef; + #define __arm_vrshlq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vrshlq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vrshlq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vrshlq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vrshlq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -38564,12 +38512,12 @@ extern void *__ARM_undef; + #define __arm_vqsubq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqsubq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vqsubq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqsubq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqsubq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -38638,12 +38586,12 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int8x16_t]: __arm_vqrshlq_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqrshlq_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqrshlq_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqrshlq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)));}) + + #define __arm_vqrdmulhq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -38651,16 +38599,16 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vqrdmulhq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqrdmulhq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqrdmulhq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)));}) + + #define __arm_vqdmulhq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vqdmulhq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqdmulhq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqdmulhq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)));}) +@@ -38668,12 +38616,12 @@ extern void *__ARM_undef; + #define __arm_vqaddq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqaddq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vqaddq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqaddq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqaddq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -38689,11 +38637,7 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vorrq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vorrq_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t)), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vorrq_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vorrq_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vorrq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vorrq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vorrq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vorrq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)));}) ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vorrq_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t)));}) + + #define __arm_vornq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -38708,12 +38652,12 @@ extern void *__ARM_undef; + #define __arm_vmulq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmulq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmulq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmulq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -38788,12 +38732,12 @@ extern void *__ARM_undef; + #define __arm_vhsubq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vhsubq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vhsubq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vhsubq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -38818,12 +38762,12 @@ extern void *__ARM_undef; + #define __arm_vhaddq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vhaddq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vhaddq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vhaddq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -38873,10 +38817,10 @@ extern void *__ARM_undef; + #define __arm_vbicq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vbicq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar (__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vbicq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar (__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vbicq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar (__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vbicq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar (__p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vbicq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce1 (__p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vbicq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce1 (__p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vbicq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce1 (__p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vbicq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce1 (__p1, int)), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vbicq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vbicq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vbicq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +@@ -38893,12 +38837,12 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vaddq_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t)), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vaddq_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t)), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vaddq_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)));}) ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)));}) + + #define __arm_vandq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -38929,12 +38873,12 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vcmpeqq_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t)), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vcmpeqq_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t)), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcmpeqq_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)));}) + + #define __arm_vqmovntq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -39015,16 +38959,16 @@ extern void *__ARM_undef; + #define __arm_vqdmulltq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmulltq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmulltq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmulltq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmulltq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqdmulltq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqdmulltq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)));}) + + #define __arm_vqdmullbq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmullbq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmullbq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmullbq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmullbq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqdmullbq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqdmullbq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)));}) + +@@ -39034,9 +38978,9 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpgeq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpgeq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpgeq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)));}) + + #define __arm_vcmpgtq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -39044,9 +38988,9 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpgtq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpgtq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpgtq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)));}) + + #define __arm_vcmpleq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -39054,9 +38998,9 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpleq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpleq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpleq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpleq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpleq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpleq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpleq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpleq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpleq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)));}) + + #define __arm_vcmpltq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -39064,20 +39008,20 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpltq_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t)), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpltq_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t)), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpltq_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpltq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpltq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpltq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpltq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpltq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpltq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int)));}) + + #define __arm_vcmpneq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpneq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), p2), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int), p2), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpneq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), p2), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpneq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2), \ + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vcmpneq_m_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ +@@ -39102,12 +39046,12 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vcmpeqq_m_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vcmpeqq_m_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcmpeqq_m_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpeqq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int), p2));}) + + #define __arm_vbicq_m_n(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +@@ -39217,25 +39161,25 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int)));}) + + #define __arm_vqdmlashq(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int)));}) + + #define __arm_vqrdmlahq(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int)));}) + + #define __arm_vqrdmladhxq(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -39298,9 +39242,9 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpgeq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), p2), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpgeq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), p2), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpgeq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgeq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int), p2));}) + + + #define __arm_vcmpgtq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ +@@ -39309,9 +39253,9 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpgtq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), p2), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpgtq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), p2), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpgtq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpgtq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int), p2));}) + + #define __arm_vcmpleq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -39319,9 +39263,9 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpleq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), p2), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpleq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), p2), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpleq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpleq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpleq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpleq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpleq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpleq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpleq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int), p2));}) + + #define __arm_vcmpltq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -39329,9 +39273,9 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vcmpltq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), p2), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcmpltq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), p2), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcmpltq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpltq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpltq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpltq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpltq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpltq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpltq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int), p2));}) + + #define __arm_vcmpneq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -39342,12 +39286,12 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vcmpneq_m_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vcmpneq_m_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcmpneq_m_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpneq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int), p2));}) + + #define __arm_vdupq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -39370,23 +39314,23 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmlaq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int)));}) + + #define __arm_vmlasq(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmlasq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int)));}) + + #define __arm_vnegq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -39411,9 +39355,9 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int)), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int)));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int)), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int)));}) + + #define __arm_vqdmlsdhq(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -39576,12 +39520,12 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vsubq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vsubq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vsubq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +@@ -39681,12 +39625,12 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmladavaq_p_s8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmladavaq_p_s16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmladavaq_p_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vmladavaq_p_u8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmladavaq_p_u16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmladavaq_p_u32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmladavaq_p_s8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmladavaq_p_s16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmladavaq_p_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vmladavaq_p_u8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmladavaq_p_u16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmladavaq_p_u32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) + + #define __arm_vornq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -39714,12 +39658,12 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vaddq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vaddq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vaddq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +@@ -39731,12 +39675,12 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmulq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmulq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmulq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +@@ -39751,12 +39695,12 @@ extern void *__ARM_undef; + + #define __arm_vldrbq_gather_offset(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vldrbq_gather_offset_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrbq_gather_offset_s16 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrbq_gather_offset_s32 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vldrbq_gather_offset_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrbq_gather_offset_u16 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrbq_gather_offset_u32 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vldrbq_gather_offset_s8 (__ARM_mve_coerce1(p0, int8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrbq_gather_offset_s16 (__ARM_mve_coerce1(p0, int8_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrbq_gather_offset_s32 (__ARM_mve_coerce1(p0, int8_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vldrbq_gather_offset_u8 (__ARM_mve_coerce1(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrbq_gather_offset_u16 (__ARM_mve_coerce1(p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrbq_gather_offset_u32 (__ARM_mve_coerce1(p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) + + #define __arm_vstrwq_scatter_base_p(p0,p1,p2,p3) ({ __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p2)])0, \ +@@ -39765,144 +39709,144 @@ extern void *__ARM_undef; + + #define __arm_vld1q(p0) (\ + _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld1q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *)), \ +- int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld1q_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *)), \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld1q_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld1q_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld1q_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld1q_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *)))) ++ int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld1q_s8 (__ARM_mve_coerce1(p0, int8_t *)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld1q_s16 (__ARM_mve_coerce1(p0, int16_t *)), \ ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld1q_s32 (__ARM_mve_coerce1(p0, int32_t *)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld1q_u8 (__ARM_mve_coerce1(p0, uint8_t *)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld1q_u16 (__ARM_mve_coerce1(p0, uint16_t *)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld1q_u32 (__ARM_mve_coerce1(p0, uint32_t *)))) + + #define __arm_vldrhq_gather_offset(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_s16 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_s32 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_u16 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_u32 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) + + #define __arm_vldrhq_gather_offset_z(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_z_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_z_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_z_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_z_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_z_s16 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_z_s32 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_offset_z_u16 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_offset_z_u32 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) + + #define __arm_vldrhq_gather_shifted_offset(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_s16 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_s32 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_u16 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_u32 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) + + #define __arm_vldrhq_gather_shifted_offset_z(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_z_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_z_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_z_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_z_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_z_s16 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_z_s32 (__ARM_mve_coerce1(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrhq_gather_shifted_offset_z_u16 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrhq_gather_shifted_offset_z_u32 (__ARM_mve_coerce1(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) + + #define __arm_vldrwq_gather_offset(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_offset_s32 (__ARM_mve_coerce_s32_ptr(__p0, int32_t *), p1), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_offset_u32 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1));}) ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_offset_s32 (__ARM_mve_coerce1(__p0, int32_t *), p1), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_offset_u32 (__ARM_mve_coerce1(__p0, uint32_t *), p1));}) + + #define __arm_vldrwq_gather_offset_z(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_offset_z_s32 (__ARM_mve_coerce_s32_ptr(__p0, int32_t *), p1, p2), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_offset_z_u32 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1, p2));}) ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_offset_z_s32 (__ARM_mve_coerce1(__p0, int32_t *), p1, p2), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_offset_z_u32 (__ARM_mve_coerce1(__p0, uint32_t *), p1, p2));}) + + #define __arm_vldrwq_gather_shifted_offset(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_shifted_offset_s32 (__ARM_mve_coerce_s32_ptr(__p0, int32_t *), p1), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_shifted_offset_u32 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1));}) ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_shifted_offset_s32 (__ARM_mve_coerce1(__p0, int32_t *), p1), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_shifted_offset_u32 (__ARM_mve_coerce1(__p0, uint32_t *), p1));}) + + #define __arm_vldrwq_gather_shifted_offset_z(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_shifted_offset_z_s32 (__ARM_mve_coerce_s32_ptr(__p0, int32_t *), p1, p2), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_shifted_offset_z_u32 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1, p2));}) ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_shifted_offset_z_s32 (__ARM_mve_coerce1(__p0, int32_t *), p1, p2), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_shifted_offset_z_u32 (__ARM_mve_coerce1(__p0, uint32_t *), p1, p2));}) + + #define __arm_vst1q(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vst1q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vst1q_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t)), \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vst1q_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vst1q_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vst1q_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vst1q_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vst1q_s8 (__ARM_mve_coerce(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vst1q_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vst1q_s32 (__ARM_mve_coerce(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vst1q_u8 (__ARM_mve_coerce(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vst1q_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vst1q_u32 (__ARM_mve_coerce(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) + + #define __arm_vst1q_p(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vst1q_p_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t), p2), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vst1q_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t), p2), \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vst1q_p_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vst1q_p_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vst1q_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vst1q_p_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vst1q_p_s8 (__ARM_mve_coerce(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t), p2), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vst1q_p_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vst1q_p_s32 (__ARM_mve_coerce(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vst1q_p_u8 (__ARM_mve_coerce(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vst1q_p_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vst1q_p_u32 (__ARM_mve_coerce(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) + + #define __arm_vst2q(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16x2_t]: __arm_vst2q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16x2_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8x2_t]: __arm_vst2q_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8x2_t)), \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4x2_t]: __arm_vst2q_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4x2_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16x2_t]: __arm_vst2q_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16x2_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8x2_t]: __arm_vst2q_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8x2_t)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4x2_t]: __arm_vst2q_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4x2_t)));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16x2_t]: __arm_vst2q_s8 (__ARM_mve_coerce(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16x2_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8x2_t]: __arm_vst2q_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8x2_t)), \ ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4x2_t]: __arm_vst2q_s32 (__ARM_mve_coerce(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4x2_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16x2_t]: __arm_vst2q_u8 (__ARM_mve_coerce(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16x2_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8x2_t]: __arm_vst2q_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8x2_t)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4x2_t]: __arm_vst2q_u32 (__ARM_mve_coerce(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4x2_t)));}) + + #define __arm_vstrhq(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrhq_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrhq_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrhq_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrhq_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) + + #define __arm_vstrhq_p(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrhq_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t), p2), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrhq_p_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_p_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrhq_p_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrhq_p_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_p_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_p_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) + + #define __arm_vstrhq_scatter_offset_p(p0,p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_p_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_p_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_p_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_p_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_p_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_p_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) + + #define __arm_vstrhq_scatter_offset(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) + + #define __arm_vstrhq_scatter_shifted_offset_p(p0,p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) + + #define __arm_vstrhq_scatter_shifted_offset(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) + + + #define __arm_vstrwq(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_s32 (__ARM_mve_coerce(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_u32 (__ARM_mve_coerce(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) + + #define __arm_vstrwq_p(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_p_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_p_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_p_s32 (__ARM_mve_coerce(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_p_u32 (__ARM_mve_coerce(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) + + #define __arm_vstrdq_scatter_base_p(p0,p1,p2,p3) ({ __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p2)])0, \ +@@ -39917,58 +39861,58 @@ extern void *__ARM_undef; + #define __arm_vstrhq_scatter_offset(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) + + #define __arm_vstrhq_scatter_offset_p(p0,p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_p_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_p_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_offset_p_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_offset_p_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_offset_p_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_offset_p_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) + + #define __arm_vstrhq_scatter_shifted_offset(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) + + #define __arm_vstrhq_scatter_shifted_offset_p(p0,p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ +- int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ +- int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_s16 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_s32 (__ARM_mve_coerce(p0, int16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_p_u16 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_p_u32 (__ARM_mve_coerce(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) + + #define __arm_vstrwq_scatter_offset(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_offset_s32 (__ARM_mve_coerce_s32_ptr(__p0, int32_t *), p1, __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_offset_u32 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1, __ARM_mve_coerce(__p2, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_offset_s32 (__ARM_mve_coerce(__p0, int32_t *), p1, __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_offset_u32 (__ARM_mve_coerce(__p0, uint32_t *), p1, __ARM_mve_coerce(__p2, uint32x4_t)));}) + + #define __arm_vstrwq_scatter_offset_p(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_offset_p_s32 (__ARM_mve_coerce_s32_ptr(__p0, int32_t *), p1, __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_offset_p_u32 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1, __ARM_mve_coerce(__p2, uint32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_offset_p_s32 (__ARM_mve_coerce(__p0, int32_t *), p1, __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_offset_p_u32 (__ARM_mve_coerce(__p0, uint32_t *), p1, __ARM_mve_coerce(__p2, uint32x4_t), p3));}) + + #define __arm_vstrwq_scatter_shifted_offset(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_shifted_offset_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __p1, __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_shifted_offset_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __p1, __ARM_mve_coerce(__p2, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_shifted_offset_s32 (__ARM_mve_coerce(p0, int32_t *), __p1, __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_shifted_offset_u32 (__ARM_mve_coerce(p0, uint32_t *), __p1, __ARM_mve_coerce(__p2, uint32x4_t)));}) + + #define __arm_vstrwq_scatter_shifted_offset_p(p0,p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __p1, __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __p1, __ARM_mve_coerce(__p2, uint32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_s32 (__ARM_mve_coerce(p0, int32_t *), __p1, __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_scatter_shifted_offset_p_u32 (__ARM_mve_coerce(p0, uint32_t *), __p1, __ARM_mve_coerce(__p2, uint32x4_t), p3));}) + + #define __arm_vuninitializedq(p0) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +@@ -40073,15 +40017,15 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vaddq_x_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vaddq_x_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vaddq_x_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vaddq_x_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vaddq_x_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vaddq_x_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3));}) ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vaddq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3));}) + + #define __arm_vcaddq_rot270_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ +@@ -40175,15 +40119,15 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmulq_x_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmulq_x_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmulq_x_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vmulq_x_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmulq_x_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmulq_x_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3));}) ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmulq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3));}) + + #define __arm_vnegq_x(p1,p2) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ +@@ -40267,29 +40211,29 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint32x4_t]: __arm_vbrsrq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), p2, p3));}) + + #define __arm_vld1q_z(p0,p1) ( _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld1q_z_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), p1), \ +- int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld1q_z_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), p1), \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld1q_z_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), p1), \ +- int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld1q_z_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), p1), \ +- int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld1q_z_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), p1), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld1q_z_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), p1))) ++ int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld1q_z_s8 (__ARM_mve_coerce1(p0, int8_t *), p1), \ ++ int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld1q_z_s16 (__ARM_mve_coerce1(p0, int16_t *), p1), \ ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld1q_z_s32 (__ARM_mve_coerce1(p0, int32_t *), p1), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld1q_z_u8 (__ARM_mve_coerce1(p0, uint8_t *), p1), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld1q_z_u16 (__ARM_mve_coerce1(p0, uint16_t *), p1), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld1q_z_u32 (__ARM_mve_coerce1(p0, uint32_t *), p1))) + + #define __arm_vld2q(p0) ( _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld2q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *)), \ +- int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld2q_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *)), \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld2q_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld2q_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld2q_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld2q_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *)))) ++ int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld2q_s8 (__ARM_mve_coerce1(p0, int8_t *)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld2q_s16 (__ARM_mve_coerce1(p0, int16_t *)), \ ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld2q_s32 (__ARM_mve_coerce1(p0, int32_t *)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld2q_u8 (__ARM_mve_coerce1(p0, uint8_t *)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld2q_u16 (__ARM_mve_coerce1(p0, uint16_t *)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld2q_u32 (__ARM_mve_coerce1(p0, uint32_t *)))) + + + #define __arm_vld4q(p0) ( _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld4q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *)), \ +- int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld4q_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *)), \ +- int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld4q_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld4q_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *)), \ +- int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld4q_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *)), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld4q_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *)))) ++ int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld4q_s8 (__ARM_mve_coerce1(p0, int8_t *)), \ ++ int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld4q_s16 (__ARM_mve_coerce1(p0, int16_t *)), \ ++ int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld4q_s32 (__ARM_mve_coerce1(p0, int32_t *)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld4q_u8 (__ARM_mve_coerce1(p0, uint8_t *)), \ ++ int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld4q_u16 (__ARM_mve_coerce1(p0, uint16_t *)), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld4q_u32 (__ARM_mve_coerce1(p0, uint32_t *)))) + + #define __arm_vsubq_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ +@@ -40297,15 +40241,15 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vsubq_x_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vsubq_x_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vsubq_x_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vsubq_x_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vsubq_x_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vsubq_x_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3));}) ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3));}) + + #define __arm_vgetq_lane(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +@@ -40321,14 +40265,14 @@ extern void *__ARM_undef; + #define __arm_vsetq_lane(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t]: __arm_vsetq_lane_s8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int8x16_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t]: __arm_vsetq_lane_s16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int16x8_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t]: __arm_vsetq_lane_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int64x2_t]: __arm_vsetq_lane_s64 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int64x2_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t]: __arm_vsetq_lane_u8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t]: __arm_vsetq_lane_u16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t]: __arm_vsetq_lane_u32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint64x2_t]: __arm_vsetq_lane_u64 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint64x2_t), p2));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t]: __arm_vsetq_lane_s8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int8x16_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t]: __arm_vsetq_lane_s16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t]: __arm_vsetq_lane_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int64x2_t]: __arm_vsetq_lane_s64 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int64x2_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t]: __arm_vsetq_lane_u8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t]: __arm_vsetq_lane_u16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t]: __arm_vsetq_lane_u32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint64x2_t]: __arm_vsetq_lane_u64 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint64x2_t), p2));}) + + #endif /* MVE Integer. */ + +@@ -40439,62 +40383,62 @@ extern void *__ARM_undef; + #define __arm_vdwdupq_x_u8(p1,p2,p3,p4) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vdwdupq_x_n_u8 ((uint32_t) __p1, p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_x_wb_u8 (__ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3, p4));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_x_wb_u8 (__ARM_mve_coerce(__p1, uint32_t *), p2, p3, p4));}) + + #define __arm_vdwdupq_x_u16(p1,p2,p3,p4) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vdwdupq_x_n_u16 ((uint32_t) __p1, p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_x_wb_u16 (__ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3, p4));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_x_wb_u16 (__ARM_mve_coerce(__p1, uint32_t *), p2, p3, p4));}) + + #define __arm_vdwdupq_x_u32(p1,p2,p3,p4) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vdwdupq_x_n_u32 ((uint32_t) __p1, p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_x_wb_u32 (__ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3, p4));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_x_wb_u32 (__ARM_mve_coerce(__p1, uint32_t *), p2, p3, p4));}) + + #define __arm_viwdupq_x_u8(p1,p2,p3,p4) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_viwdupq_x_n_u8 ((uint32_t) __p1, p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_x_wb_u8 (__ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3, p4));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_x_wb_u8 (__ARM_mve_coerce(__p1, uint32_t *), p2, p3, p4));}) + + #define __arm_viwdupq_x_u16(p1,p2,p3,p4) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_viwdupq_x_n_u16 ((uint32_t) __p1, p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_x_wb_u16 (__ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3, p4));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_x_wb_u16 (__ARM_mve_coerce(__p1, uint32_t *), p2, p3, p4));}) + + #define __arm_viwdupq_x_u32(p1,p2,p3,p4) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_viwdupq_x_n_u32 ((uint32_t) __p1, p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_x_wb_u32 (__ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3, p4));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_x_wb_u32 (__ARM_mve_coerce(__p1, uint32_t *), p2, p3, p4));}) + + #define __arm_vidupq_x_u8(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vidupq_x_n_u8 ((uint32_t) __p1, p2, p3), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_x_wb_u8 (__ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_x_wb_u8 (__ARM_mve_coerce(__p1, uint32_t *), p2, p3));}) + + #define __arm_vddupq_x_u8(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vddupq_x_n_u8 ((uint32_t) __p1, p2, p3), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_x_wb_u8 (__ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_x_wb_u8 (__ARM_mve_coerce(__p1, uint32_t *), p2, p3));}) + + #define __arm_vidupq_x_u16(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vidupq_x_n_u16 ((uint32_t) __p1, p2, p3), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_x_wb_u16 (__ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_x_wb_u16 (__ARM_mve_coerce(__p1, uint32_t *), p2, p3));}) + + #define __arm_vddupq_x_u16(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vddupq_x_n_u16 ((uint32_t) __p1, p2, p3), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_x_wb_u16 (__ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_x_wb_u16 (__ARM_mve_coerce(__p1, uint32_t *), p2, p3));}) + + #define __arm_vidupq_x_u32(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vidupq_x_n_u32 ((uint32_t) __p1, p2, p3), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_x_wb_u32 (__ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_x_wb_u32 (__ARM_mve_coerce(__p1, uint32_t *), p2, p3));}) + + #define __arm_vddupq_x_u32(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vddupq_x_n_u32 ((uint32_t) __p1, p2, p3), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_x_wb_u32 (__ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_x_wb_u32 (__ARM_mve_coerce(__p1, uint32_t *), p2, p3));}) + + #define __arm_vshrq_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \ +@@ -40508,12 +40452,12 @@ extern void *__ARM_undef; + #define __arm_vhaddq_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_x_n_u8( __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_x_n_u16( __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_x_n_u32( __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_x_n_u8( __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_x_n_u16( __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_x_n_u32( __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vhaddq_x_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vhaddq_x_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vhaddq_x_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +@@ -40538,12 +40482,12 @@ extern void *__ARM_undef; + #define __arm_vhsubq_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vhsubq_x_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vhsubq_x_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vhsubq_x_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +@@ -40583,20 +40527,20 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint64x2_t]: __arm_vstrdq_scatter_base_wb_u64 (p0, p1, __ARM_mve_coerce(__p2, uint64x2_t)));}) + + #define __arm_vldrdq_gather_offset(p0,p1) ( _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int64_t_ptr]: __arm_vldrdq_gather_offset_s64 (__ARM_mve_coerce_s64_ptr(p0, int64_t *), p1), \ +- int (*)[__ARM_mve_type_uint64_t_ptr]: __arm_vldrdq_gather_offset_u64 (__ARM_mve_coerce_u64_ptr(p0, uint64_t *), p1))) ++ int (*)[__ARM_mve_type_int64_t_ptr]: __arm_vldrdq_gather_offset_s64 (__ARM_mve_coerce1(p0, int64_t *), p1), \ ++ int (*)[__ARM_mve_type_uint64_t_ptr]: __arm_vldrdq_gather_offset_u64 (__ARM_mve_coerce1(p0, uint64_t *), p1))) + + #define __arm_vldrdq_gather_offset_z(p0,p1,p2) ( _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int64_t_ptr]: __arm_vldrdq_gather_offset_z_s64 (__ARM_mve_coerce_s64_ptr(p0, int64_t *), p1, p2), \ +- int (*)[__ARM_mve_type_uint64_t_ptr]: __arm_vldrdq_gather_offset_z_u64 (__ARM_mve_coerce_u64_ptr(p0, uint64_t *), p1, p2))) ++ int (*)[__ARM_mve_type_int64_t_ptr]: __arm_vldrdq_gather_offset_z_s64 (__ARM_mve_coerce1(p0, int64_t *), p1, p2), \ ++ int (*)[__ARM_mve_type_uint64_t_ptr]: __arm_vldrdq_gather_offset_z_u64 (__ARM_mve_coerce1(p0, uint64_t *), p1, p2))) + + #define __arm_vldrdq_gather_shifted_offset(p0,p1) ( _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int64_t_ptr]: __arm_vldrdq_gather_shifted_offset_s64 (__ARM_mve_coerce_s64_ptr(p0, int64_t *), p1), \ +- int (*)[__ARM_mve_type_uint64_t_ptr]: __arm_vldrdq_gather_shifted_offset_u64 (__ARM_mve_coerce_u64_ptr(p0, uint64_t *), p1))) ++ int (*)[__ARM_mve_type_int64_t_ptr]: __arm_vldrdq_gather_shifted_offset_s64 (__ARM_mve_coerce1(p0, int64_t *), p1), \ ++ int (*)[__ARM_mve_type_uint64_t_ptr]: __arm_vldrdq_gather_shifted_offset_u64 (__ARM_mve_coerce1(p0, uint64_t *), p1))) + + #define __arm_vldrdq_gather_shifted_offset_z(p0,p1,p2) ( _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ +- int (*)[__ARM_mve_type_int64_t_ptr]: __arm_vldrdq_gather_shifted_offset_z_s64 (__ARM_mve_coerce_s64_ptr(p0, int64_t *), p1, p2), \ +- int (*)[__ARM_mve_type_uint64_t_ptr]: __arm_vldrdq_gather_shifted_offset_z_u64 (__ARM_mve_coerce_u64_ptr(p0, uint64_t *), p1, p2))) ++ int (*)[__ARM_mve_type_int64_t_ptr]: __arm_vldrdq_gather_shifted_offset_z_s64 (__ARM_mve_coerce1(p0, int64_t *), p1, p2), \ ++ int (*)[__ARM_mve_type_uint64_t_ptr]: __arm_vldrdq_gather_shifted_offset_z_u64 (__ARM_mve_coerce1(p0, uint64_t *), p1, p2))) + + #define __arm_vadciq_m(p0,p1,p2,p3,p4) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -40652,36 +40596,36 @@ extern void *__ARM_undef; + + #define __arm_vldrbq_gather_offset_z(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vldrbq_gather_offset_z_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrbq_gather_offset_z_s16 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrbq_gather_offset_z_s32 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vldrbq_gather_offset_z_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrbq_gather_offset_z_u16 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrbq_gather_offset_z_u32 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vldrbq_gather_offset_z_s8 (__ARM_mve_coerce1(p0, int8_t *), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrbq_gather_offset_z_s16 (__ARM_mve_coerce1(p0, int8_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrbq_gather_offset_z_s32 (__ARM_mve_coerce1(p0, int8_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vldrbq_gather_offset_z_u8 (__ARM_mve_coerce1(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrbq_gather_offset_z_u16 (__ARM_mve_coerce1(p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrbq_gather_offset_z_u32 (__ARM_mve_coerce1(p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) + + #define __arm_vqrdmlahq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmlahq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3));}) + + #define __arm_vqrdmlashq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmlashq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3));}) + + #define __arm_vqdmlashq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmlashq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3));}) + + #define __arm_vqrshlq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -40782,12 +40726,12 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqsubq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqsubq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqsubq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqsubq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqsubq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqsubq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqsubq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqsubq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqsubq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqsubq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqsubq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqsubq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vqsubq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqsubq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqsubq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +@@ -40802,9 +40746,9 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vqrdmulhq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqrdmulhq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqrdmulhq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqrdmulhq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3));}) + + #define __arm_vqrdmlsdhxq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -40930,17 +40874,17 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmlaldavaq_p_s16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmlaldavaq_p_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmlaldavaq_p_u16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmlaldavaq_p_u32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmlaldavaq_p_s16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmlaldavaq_p_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmlaldavaq_p_u16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmlaldavaq_p_u32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) + + #define __arm_vmlaldavaxq_p(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmlaldavaxq_p_s16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmlaldavaxq_p_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmlaldavaxq_p_s16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmlaldavaxq_p_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3));}) + + #define __arm_vmlsldavaq_p(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -41010,10 +40954,10 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vmvnq_m_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmvnq_m_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmvnq_m_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmvnq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce_i_scalar(__p1, int) , p2), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmvnq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce_i_scalar(__p1, int) , p2), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmvnq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int) , p2), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmvnq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int) , p2));}) ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmvnq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce1(__p1, int) , p2), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmvnq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce1(__p1, int) , p2), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmvnq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce1(__p1, int) , p2), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmvnq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce1(__p1, int) , p2));}) + + #define __arm_vorrq_m_n(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +@@ -41079,12 +41023,12 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhaddq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhaddq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhaddq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vhaddq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vhaddq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vhaddq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +@@ -41118,12 +41062,12 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vhsubq_m_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vhsubq_m_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vhsubq_m_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vhsubq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vhsubq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vhsubq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3));}) + + #define __arm_vmaxq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -41151,23 +41095,23 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmlaq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmlaq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmlaq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmlaq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmlaq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmlaq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmlaq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmlaq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmlaq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmlaq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmlaq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmlaq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3));}) + + #define __arm_vmlasq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmlasq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmlasq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmlasq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmlasq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmlasq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmlasq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vmlasq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vmlasq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vmlasq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vmlasq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vmlasq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vmlasq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3));}) + + #define __arm_vmulhq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -41213,12 +41157,12 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqaddq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqaddq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqaddq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqaddq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqaddq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqaddq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqaddq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqaddq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqaddq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vqaddq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vqaddq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vqaddq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vqaddq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqaddq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqaddq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +@@ -41230,17 +41174,17 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3));}) ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmlahq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3));}) + + #define __arm_vqdmulhq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmulhq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vqdmulhq_m_s8 (__ARM_mve_coerce(__p0, int8x16_t), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqdmulhq_m_s16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqdmulhq_m_s32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3));}) +@@ -41251,15 +41195,15 @@ extern void *__ARM_undef; + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqdmullbq_m_s16 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int64x2_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqdmullbq_m_s32 (__ARM_mve_coerce(__p0, int64x2_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmullbq_m_n_s16 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int64x2_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmullbq_m_n_s32 (__ARM_mve_coerce(__p0, int64x2_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3));}) ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmullbq_m_n_s16 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int64x2_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmullbq_m_n_s32 (__ARM_mve_coerce(__p0, int64x2_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3));}) + + #define __arm_vqdmulltq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmulltq_m_n_s16 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ +- int (*)[__ARM_mve_type_int64x2_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmulltq_m_n_s32 (__ARM_mve_coerce(__p0, int64x2_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce_i_scalar(__p2, int), p3), \ ++ int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vqdmulltq_m_n_s16 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ ++ int (*)[__ARM_mve_type_int64x2_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vqdmulltq_m_n_s32 (__ARM_mve_coerce(__p0, int64x2_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vqdmulltq_m_s16 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int64x2_t][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vqdmulltq_m_s32 (__ARM_mve_coerce(__p0, int64x2_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3));}) + +@@ -41325,9 +41269,9 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmladavaxq_p_s8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmladavaxq_p_s16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmladavaxq_p_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmladavaxq_p_s8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmladavaxq_p_s16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmladavaxq_p_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3));}) + + #define __arm_vmullbq_poly_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -41338,12 +41282,12 @@ extern void *__ARM_undef; + + #define __arm_vldrbq_gather_offset(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vldrbq_gather_offset_s8(__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrbq_gather_offset_s16(__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrbq_gather_offset_s32(__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vldrbq_gather_offset_u8(__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrbq_gather_offset_u16(__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrbq_gather_offset_u32(__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vldrbq_gather_offset_s8(__ARM_mve_coerce1(p0, int8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrbq_gather_offset_s16(__ARM_mve_coerce1(p0, int8_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrbq_gather_offset_s32(__ARM_mve_coerce1(p0, int8_t *), __ARM_mve_coerce(__p1, uint32x4_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vldrbq_gather_offset_u8(__ARM_mve_coerce1(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vldrbq_gather_offset_u16(__ARM_mve_coerce1(p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vldrbq_gather_offset_u32(__ARM_mve_coerce1(p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) + + #define __arm_vidupq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -41351,9 +41295,9 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vidupq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), (uint32_t) __p1, p2, p3), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vidupq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), (uint32_t) __p1, p2, p3), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vidupq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), (uint32_t) __p1, p2, p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_m_wb_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_m_wb_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_m_wb_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3));}) ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_m_wb_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint32_t *), p2, p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_m_wb_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint32_t *), p2, p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_m_wb_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32_t *), p2, p3));}) + + #define __arm_vddupq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -41361,89 +41305,89 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vddupq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), (uint32_t) __p1, p2, p3), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vddupq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), (uint32_t) __p1, p2, p3), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vddupq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), (uint32_t) __p1, p2, p3), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_m_wb_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_m_wb_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_m_wb_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3));}) ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_m_wb_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint32_t *), p2, p3), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_m_wb_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint32_t *), p2, p3), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_m_wb_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32_t *), p2, p3));}) + + #define __arm_vidupq_u16(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vidupq_n_u16 ((uint32_t) __p0, p1), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_wb_u16 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_wb_u16 (__ARM_mve_coerce(__p0, uint32_t *), p1));}) + + #define __arm_vidupq_u32(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vidupq_n_u32 ((uint32_t) __p0, p1), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_wb_u32 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_wb_u32 (__ARM_mve_coerce(__p0, uint32_t *), p1));}) + + #define __arm_vidupq_u8(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vidupq_n_u8 ((uint32_t) __p0, p1), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_wb_u8 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vidupq_wb_u8 (__ARM_mve_coerce(__p0, uint32_t *), p1));}) + + #define __arm_vddupq_u16(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vddupq_n_u16 ((uint32_t) __p0, p1), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_wb_u16 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_wb_u16 (__ARM_mve_coerce(__p0, uint32_t *), p1));}) + + #define __arm_vddupq_u32(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vddupq_n_u32 ((uint32_t) __p0, p1), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_wb_u32 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_wb_u32 (__ARM_mve_coerce(__p0, uint32_t *), p1));}) + + #define __arm_vddupq_u8(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ + int (*)[__ARM_mve_type_int_n]: __arm_vddupq_n_u8 ((uint32_t) __p0, p1), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_wb_u8 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1));}) ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_wb_u8 (__ARM_mve_coerce(__p0, uint32_t *), p1));}) + + #define __arm_viwdupq_m(p0,p1,p2,p3,p4) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_viwdupq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_viwdupq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_viwdupq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_m_wb_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_m_wb_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_m_wb_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3, p4));}) ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_viwdupq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int), p2, p3, p4), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_viwdupq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int), p2, p3, p4), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_viwdupq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int), p2, p3, p4), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_m_wb_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint32_t *), p2, p3, p4), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_m_wb_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint32_t *), p2, p3, p4), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_m_wb_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32_t *), p2, p3, p4));}) + + #define __arm_viwdupq_u16(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +- int (*)[__ARM_mve_type_int_n]: __arm_viwdupq_n_u16 (__ARM_mve_coerce_i_scalar(__p0, int), p1, (const int) p2), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_wb_u16 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1, (const int) p2));}) ++ int (*)[__ARM_mve_type_int_n]: __arm_viwdupq_n_u16 (__ARM_mve_coerce3(p0, int), p1, (const int) p2), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_wb_u16 (__ARM_mve_coerce(__p0, uint32_t *), p1, (const int) p2));}) + + #define __arm_viwdupq_u32(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +- int (*)[__ARM_mve_type_int_n]: __arm_viwdupq_n_u32 (__ARM_mve_coerce_i_scalar(__p0, int), p1, p2), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_wb_u32 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1, p2));}) ++ int (*)[__ARM_mve_type_int_n]: __arm_viwdupq_n_u32 (__ARM_mve_coerce3(p0, int), p1, p2), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_wb_u32 (__ARM_mve_coerce(__p0, uint32_t *), p1, p2));}) + + #define __arm_viwdupq_u8(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +- int (*)[__ARM_mve_type_int_n]: __arm_viwdupq_n_u8 (__ARM_mve_coerce_i_scalar(__p0, int), p1, p2), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_wb_u8 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1, p2));}) ++ int (*)[__ARM_mve_type_int_n]: __arm_viwdupq_n_u8 (__ARM_mve_coerce3(p0, int), p1, p2), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_viwdupq_wb_u8 (__ARM_mve_coerce(__p0, uint32_t *), p1, p2));}) + + #define __arm_vdwdupq_m(p0,p1,p2,p3,p4) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vdwdupq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vdwdupq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vdwdupq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_m_wb_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_m_wb_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3, p4), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_m_wb_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_u32_ptr(__p1, uint32_t *), p2, p3, p4));}) ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vdwdupq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int), p2, p3, p4), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vdwdupq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int), p2, p3, p4), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vdwdupq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int), p2, p3, p4), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_m_wb_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint32_t *), p2, p3, p4), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_m_wb_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint32_t *), p2, p3, p4), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_m_wb_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32_t *), p2, p3, p4));}) + + #define __arm_vdwdupq_u16(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +- int (*)[__ARM_mve_type_int_n]: __arm_vdwdupq_n_u16 (__ARM_mve_coerce_i_scalar(__p0, int), p1, p2), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_wb_u16 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1, p2));}) ++ int (*)[__ARM_mve_type_int_n]: __arm_vdwdupq_n_u16 (__ARM_mve_coerce3(p0, int), p1, p2), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_wb_u16 (__ARM_mve_coerce(__p0, uint32_t *), p1, p2));}) + + #define __arm_vdwdupq_u32(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +- int (*)[__ARM_mve_type_int_n]: __arm_vdwdupq_n_u32 (__ARM_mve_coerce_i_scalar(__p0, int), p1, p2), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_wb_u32 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1, p2));}) ++ int (*)[__ARM_mve_type_int_n]: __arm_vdwdupq_n_u32 (__ARM_mve_coerce3(p0, int), p1, p2), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_wb_u32 (__ARM_mve_coerce(__p0, uint32_t *), p1, p2));}) + + #define __arm_vdwdupq_u8(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +- int (*)[__ARM_mve_type_int_n]: __arm_vdwdupq_n_u8 (__ARM_mve_coerce_i_scalar(__p0, int), p1, p2), \ +- int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_wb_u8 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1, p2));}) ++ int (*)[__ARM_mve_type_int_n]: __arm_vdwdupq_n_u8 (__ARM_mve_coerce3(p0, int), p1, p2), \ ++ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vdwdupq_wb_u8 (__ARM_mve_coerce(__p0, uint32_t *), p1, p2));}) + + #define __arm_vshlcq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +@@ -41479,14 +41423,14 @@ extern void *__ARM_undef; + #define __arm_vaddlvaq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t]: __arm_vaddlvaq_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t]: __arm_vaddlvaq_u32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t]: __arm_vaddlvaq_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t]: __arm_vaddlvaq_u32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint32x4_t)));}) + + #define __arm_vaddlvaq_p(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t]: __arm_vaddlvaq_p_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t]: __arm_vaddlvaq_p_u32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t]: __arm_vaddlvaq_p_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t]: __arm_vaddlvaq_p_u32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) + + #define __arm_vaddlvq(p0) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +@@ -41501,22 +41445,22 @@ extern void *__ARM_undef; + #define __arm_vaddvaq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t]: __arm_vaddvaq_s8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int8x16_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t]: __arm_vaddvaq_s16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int16x8_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t]: __arm_vaddvaq_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t]: __arm_vaddvaq_u8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint8x16_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t]: __arm_vaddvaq_u16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t]: __arm_vaddvaq_u32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t]: __arm_vaddvaq_s8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int8x16_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t]: __arm_vaddvaq_s16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t]: __arm_vaddvaq_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t]: __arm_vaddvaq_u8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint8x16_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t]: __arm_vaddvaq_u16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t]: __arm_vaddvaq_u32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint32x4_t)));}) + + #define __arm_vaddvaq_p(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t]: __arm_vaddvaq_p_s8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int8x16_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t]: __arm_vaddvaq_p_s16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int16x8_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t]: __arm_vaddvaq_p_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t]: __arm_vaddvaq_p_u8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t]: __arm_vaddvaq_p_u16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t]: __arm_vaddvaq_p_u32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t]: __arm_vaddvaq_p_s8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int8x16_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t]: __arm_vaddvaq_p_s16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t]: __arm_vaddvaq_p_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t]: __arm_vaddvaq_p_u8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t]: __arm_vaddvaq_p_u16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t]: __arm_vaddvaq_p_u32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) + + #define __arm_vaddvq(p0) ({ __typeof(p0) __p0 = (p0); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ +@@ -41542,9 +41486,9 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vcmpcsq_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t)), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vcmpcsq_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t)), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcmpcsq_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpcsq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpcsq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpcsq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)));}) ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpcsq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpcsq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpcsq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)));}) + + #define __arm_vcmpcsq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -41552,9 +41496,9 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vcmpcsq_m_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vcmpcsq_m_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcmpcsq_m_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpcsq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpcsq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpcsq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2));}) ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmpcsq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmpcsq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmpcsq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int), p2));}) + + #define __arm_vcmphiq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -41562,16 +41506,16 @@ extern void *__ARM_undef; + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vcmphiq_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t)), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vcmphiq_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t)), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcmphiq_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t)), \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmphiq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmphiq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int)), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmphiq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int)));}) ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmphiq_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmphiq_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int)), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmphiq_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int)));}) + + #define __arm_vcmphiq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmphiq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmphiq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ +- int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmphiq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce_i_scalar(__p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vcmphiq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vcmphiq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce3(p1, int), p2), \ ++ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vcmphiq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce3(p1, int), p2), \ + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vcmphiq_m_u8 (__ARM_mve_coerce(__p0, uint8x16_t), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vcmphiq_m_u16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcmphiq_m_u32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) +@@ -41668,34 +41612,34 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmladavaq_s8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmladavaq_s16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmladavaq_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vmladavaq_u8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmladavaq_u16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmladavaq_u32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmladavaq_s8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmladavaq_s16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmladavaq_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vmladavaq_u8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmladavaq_u16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmladavaq_u32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) + + #define __arm_vmladavaq_p(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmladavaq_p_s8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmladavaq_p_s16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmladavaq_p_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vmladavaq_p_u8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmladavaq_p_u16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmladavaq_p_u32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmladavaq_p_s8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmladavaq_p_s16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmladavaq_p_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vmladavaq_p_u8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmladavaq_p_u16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmladavaq_p_u32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) + + #define __arm_vmladavaxq(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmladavaxq_s8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmladavaxq_s16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmladavaxq_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vmladavaxq_u8 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmladavaxq_u16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmladavaxq_u32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vmladavaxq_s8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmladavaxq_s16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmladavaxq_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vmladavaxq_u8 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmladavaxq_u16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmladavaxq_u32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) + + #define __arm_vmladavq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -41738,17 +41682,17 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmlaldavaq_s16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmlaldavaq_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmlaldavaq_u16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmlaldavaq_u32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmlaldavaq_s16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmlaldavaq_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vmlaldavaq_u16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vmlaldavaq_u32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) + + #define __arm_vmlaldavaxq(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmlaldavaxq_s16 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmlaldavaxq_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t)));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vmlaldavaxq_s16 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vmlaldavaxq_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t)));}) + + #define __arm_vmlaldavq(p0,p1) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ +@@ -41912,22 +41856,22 @@ extern void *__ARM_undef; + + #define __arm_vstrbq(p0,p1) ({ __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vstrbq_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t)), \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrbq_s16 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int16x8_t)), \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrbq_s32 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vstrbq_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrbq_u16 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrbq_u32 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vstrbq_s8 (__ARM_mve_coerce(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t)), \ ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrbq_s16 (__ARM_mve_coerce(p0, int8_t *), __ARM_mve_coerce(__p1, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrbq_s32 (__ARM_mve_coerce(p0, int8_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vstrbq_u8 (__ARM_mve_coerce(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrbq_u16 (__ARM_mve_coerce(p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrbq_u32 (__ARM_mve_coerce(p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) + + #define __arm_vstrbq_p(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vstrbq_p_s8 (__ARM_mve_coerce_s8_ptr(__p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t), p2), \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrbq_p_s16 (__ARM_mve_coerce_s8_ptr(__p0, int8_t *), __ARM_mve_coerce(__p1, int16x8_t), p2), \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrbq_p_s32 (__ARM_mve_coerce_s8_ptr(__p0, int8_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vstrbq_p_u8 (__ARM_mve_coerce_u8_ptr(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrbq_p_u16 (__ARM_mve_coerce_u8_ptr(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrbq_p_u32 (__ARM_mve_coerce_u8_ptr(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vstrbq_p_s8 (__ARM_mve_coerce(__p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t), p2), \ ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrbq_p_s16 (__ARM_mve_coerce(__p0, int8_t *), __ARM_mve_coerce(__p1, int16x8_t), p2), \ ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrbq_p_s32 (__ARM_mve_coerce(__p0, int8_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vstrbq_p_u8 (__ARM_mve_coerce(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrbq_p_u16 (__ARM_mve_coerce(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrbq_p_u32 (__ARM_mve_coerce(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) + + #define __arm_vstrdq_scatter_base(p0,p1,p2) ({ __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p2)])0, \ +@@ -41943,61 +41887,61 @@ extern void *__ARM_undef; + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vrmlaldavhaq_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vrmlaldavhaq_u32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vrmlaldavhaq_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vrmlaldavhaq_u32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) + + #define __arm_vrmlaldavhaq_p(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vrmlaldavhaq_p_s32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vrmlaldavhaq_p_u32 (__ARM_mve_coerce_i_scalar(__p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vrmlaldavhaq_p_s32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_int_n][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vrmlaldavhaq_p_u32 (__ARM_mve_coerce3(p0, int), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) + + #define __arm_vstrbq_scatter_offset(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int8x16_t]: __arm_vstrbq_scatter_offset_s8 (__ARM_mve_coerce_s8_ptr(__p0, int8_t *), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, int8x16_t)), \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrbq_scatter_offset_s16 (__ARM_mve_coerce_s8_ptr(__p0, int8_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrbq_scatter_offset_s32 (__ARM_mve_coerce_s8_ptr(__p0, int8_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vstrbq_scatter_offset_u8 (__ARM_mve_coerce_u8_ptr(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrbq_scatter_offset_u16 (__ARM_mve_coerce_u8_ptr(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrbq_scatter_offset_u32 (__ARM_mve_coerce_u8_ptr(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int8x16_t]: __arm_vstrbq_scatter_offset_s8 (__ARM_mve_coerce(__p0, int8_t *), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, int8x16_t)), \ ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrbq_scatter_offset_s16 (__ARM_mve_coerce(__p0, int8_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t)), \ ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrbq_scatter_offset_s32 (__ARM_mve_coerce(__p0, int8_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vstrbq_scatter_offset_u8 (__ARM_mve_coerce(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrbq_scatter_offset_u16 (__ARM_mve_coerce(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrbq_scatter_offset_u32 (__ARM_mve_coerce(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) + + #define __arm_vstrbq_scatter_offset_p(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int8x16_t]: __arm_vstrbq_scatter_offset_p_s8 (__ARM_mve_coerce_s8_ptr(__p0, int8_t *), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrbq_scatter_offset_p_s16 (__ARM_mve_coerce_s8_ptr(__p0, int8_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ +- int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrbq_scatter_offset_p_s32 (__ARM_mve_coerce_s8_ptr(__p0, int8_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vstrbq_scatter_offset_p_u8 (__ARM_mve_coerce_u8_ptr(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrbq_scatter_offset_p_u16 (__ARM_mve_coerce_u8_ptr(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ +- int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrbq_scatter_offset_p_u32 (__ARM_mve_coerce_u8_ptr(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint8x16_t][__ARM_mve_type_int8x16_t]: __arm_vstrbq_scatter_offset_p_s8 (__ARM_mve_coerce(__p0, int8_t *), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_int16x8_t]: __arm_vstrbq_scatter_offset_p_s16 (__ARM_mve_coerce(__p0, int8_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ ++ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_int32x4_t]: __arm_vstrbq_scatter_offset_p_s32 (__ARM_mve_coerce(__p0, int8_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vstrbq_scatter_offset_p_u8 (__ARM_mve_coerce(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrbq_scatter_offset_p_u16 (__ARM_mve_coerce(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ ++ int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrbq_scatter_offset_p_u32 (__ARM_mve_coerce(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) + + #define __arm_vstrdq_scatter_offset_p(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int64_t_ptr][__ARM_mve_type_int64x2_t]: __arm_vstrdq_scatter_offset_p_s64 (__ARM_mve_coerce_s64_ptr(__p0, int64_t *), p1, __ARM_mve_coerce(__p2, int64x2_t), p3), \ +- int (*)[__ARM_mve_type_uint64_t_ptr][__ARM_mve_type_uint64x2_t]: __arm_vstrdq_scatter_offset_p_u64 (__ARM_mve_coerce_u64_ptr(__p0, uint64_t *), p1, __ARM_mve_coerce(__p2, uint64x2_t), p3));}) ++ int (*)[__ARM_mve_type_int64_t_ptr][__ARM_mve_type_int64x2_t]: __arm_vstrdq_scatter_offset_p_s64 (__ARM_mve_coerce(__p0, int64_t *), p1, __ARM_mve_coerce(__p2, int64x2_t), p3), \ ++ int (*)[__ARM_mve_type_uint64_t_ptr][__ARM_mve_type_uint64x2_t]: __arm_vstrdq_scatter_offset_p_u64 (__ARM_mve_coerce(__p0, uint64_t *), p1, __ARM_mve_coerce(__p2, uint64x2_t), p3));}) + + #define __arm_vstrdq_scatter_offset(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int64_t_ptr][__ARM_mve_type_int64x2_t]: __arm_vstrdq_scatter_offset_s64 (__ARM_mve_coerce_s64_ptr(__p0, int64_t *), p1, __ARM_mve_coerce(__p2, int64x2_t)), \ +- int (*)[__ARM_mve_type_uint64_t_ptr][__ARM_mve_type_uint64x2_t]: __arm_vstrdq_scatter_offset_u64 (__ARM_mve_coerce_u64_ptr(__p0, uint64_t *), p1, __ARM_mve_coerce(__p2, uint64x2_t)));}) ++ int (*)[__ARM_mve_type_int64_t_ptr][__ARM_mve_type_int64x2_t]: __arm_vstrdq_scatter_offset_s64 (__ARM_mve_coerce(__p0, int64_t *), p1, __ARM_mve_coerce(__p2, int64x2_t)), \ ++ int (*)[__ARM_mve_type_uint64_t_ptr][__ARM_mve_type_uint64x2_t]: __arm_vstrdq_scatter_offset_u64 (__ARM_mve_coerce(__p0, uint64_t *), p1, __ARM_mve_coerce(__p2, uint64x2_t)));}) + + #define __arm_vstrdq_scatter_shifted_offset_p(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int64_t_ptr][__ARM_mve_type_int64x2_t]: __arm_vstrdq_scatter_shifted_offset_p_s64 (__ARM_mve_coerce_s64_ptr(__p0, int64_t *), p1, __ARM_mve_coerce(__p2, int64x2_t), p3), \ +- int (*)[__ARM_mve_type_uint64_t_ptr][__ARM_mve_type_uint64x2_t]: __arm_vstrdq_scatter_shifted_offset_p_u64 (__ARM_mve_coerce_u64_ptr(__p0, uint64_t *), p1, __ARM_mve_coerce(__p2, uint64x2_t), p3));}) ++ int (*)[__ARM_mve_type_int64_t_ptr][__ARM_mve_type_int64x2_t]: __arm_vstrdq_scatter_shifted_offset_p_s64 (__ARM_mve_coerce(__p0, int64_t *), p1, __ARM_mve_coerce(__p2, int64x2_t), p3), \ ++ int (*)[__ARM_mve_type_uint64_t_ptr][__ARM_mve_type_uint64x2_t]: __arm_vstrdq_scatter_shifted_offset_p_u64 (__ARM_mve_coerce(__p0, uint64_t *), p1, __ARM_mve_coerce(__p2, uint64x2_t), p3));}) + + #define __arm_vstrdq_scatter_shifted_offset(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p2)])0, \ +- int (*)[__ARM_mve_type_int64_t_ptr][__ARM_mve_type_int64x2_t]: __arm_vstrdq_scatter_shifted_offset_s64 (__ARM_mve_coerce_s64_ptr(__p0, int64_t *), p1, __ARM_mve_coerce(__p2, int64x2_t)), \ +- int (*)[__ARM_mve_type_uint64_t_ptr][__ARM_mve_type_uint64x2_t]: __arm_vstrdq_scatter_shifted_offset_u64 (__ARM_mve_coerce_u64_ptr(__p0, uint64_t *), p1, __ARM_mve_coerce(__p2, uint64x2_t)));}) ++ int (*)[__ARM_mve_type_int64_t_ptr][__ARM_mve_type_int64x2_t]: __arm_vstrdq_scatter_shifted_offset_s64 (__ARM_mve_coerce(__p0, int64_t *), p1, __ARM_mve_coerce(__p2, int64x2_t)), \ ++ int (*)[__ARM_mve_type_uint64_t_ptr][__ARM_mve_type_uint64x2_t]: __arm_vstrdq_scatter_shifted_offset_u64 (__ARM_mve_coerce(__p0, uint64_t *), p1, __ARM_mve_coerce(__p2, uint64x2_t)));}) + + #endif /* __cplusplus */ + #endif /* __ARM_FEATURE_MVE */ +diff --git a/gcc/config/arm/constraints.md b/gcc/config/arm/constraints.md +index 05a4ebbdd67..504cd938b26 100644 +--- a/gcc/config/arm/constraints.md ++++ b/gcc/config/arm/constraints.md +@@ -102,6 +102,10 @@ + (match_test "TARGET_HAVE_MVE && ((ival == 1) || (ival == 2) + || (ival == 4) || (ival == 8))"))) + ++;; True if the immediate is multiple of 8 and in range of -/+ 1016 for MVE. ++(define_predicate "mve_vldrd_immediate" ++ (match_test "satisfies_constraint_Ri (op)")) + -+ return __gthr_impl_yield(); -+} + (define_register_constraint "t" "TARGET_32BIT ? VFP_LO_REGS : NO_REGS" + "The VFP registers @code{s0}-@code{s31}.") + +@@ -570,22 +574,6 @@ + (match_code "symbol_ref") + ) + +-;; True if the immediate is the range +/- 1016 and multiple of 8 for MVE. +-(define_constraint "Ri" +- "@internal In Thumb-2 state a constant is multiple of 8 and in range +- of -/+ 1016 for MVE" +- (and (match_code "const_int") +- (match_test "TARGET_HAVE_MVE && (-1016 <= ival) && (ival <= 1016) +- && ((ival % 8) == 0)"))) +- +-;; True if the immediate is multiple of 2 and in range of -/+ 252 for MVE. +-(define_constraint "Rl" +- "@internal In Thumb-2 state a constant is multiple of 2 and in range +- of -/+ 252 for MVE" +- (and (match_code "const_int") +- (match_test "TARGET_HAVE_MVE && (-252 <= ival) && (ival <= 252) +- && ((ival % 2) == 0)"))) +- + (define_memory_constraint "Uz" + "@internal + A memory access that is accessible as an LDC/STC operand" +diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md +index cf172f16c57..35eab6c94bf 100644 +--- a/gcc/config/arm/mve.md ++++ b/gcc/config/arm/mve.md +@@ -141,7 +141,7 @@ + VRNDQ_M_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vpst\;vrintzt.f%#\t%q0, %q2" ++ "vpst\;vrintzt.f%# %q0, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -239,7 +239,7 @@ + VREV64Q_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vrev64.%#\t%q0, %q1" ++ "vrev64.%# %q0, %q1" + [(set_attr "type" "mve_move") + ]) + +@@ -293,7 +293,7 @@ + VREV32Q_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vrev32.16\t%q0, %q1" ++ "vrev32.16 %q0, %q1" + [(set_attr "type" "mve_move") + ]) + ;; +@@ -306,7 +306,7 @@ + VCVTTQ_F32_F16)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vcvtt.f32.f16\t%q0, %q1" ++ "vcvtt.f32.f16 %q0, %q1" + [(set_attr "type" "mve_move") + ]) + +@@ -320,7 +320,7 @@ + VCVTBQ_F32_F16)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vcvtb.f32.f16\t%q0, %q1" ++ "vcvtb.f32.f16 %q0, %q1" + [(set_attr "type" "mve_move") + ]) + +@@ -334,7 +334,7 @@ + VCVTQ_TO_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vcvt.f%#.%#\t%q0, %q1" ++ "vcvt.f%#.%# %q0, %q1" + [(set_attr "type" "mve_move") + ]) + +@@ -348,7 +348,7 @@ + VREV64Q)) + ] + "TARGET_HAVE_MVE" +- "vrev64.%#\t%q0, %q1" ++ "vrev64.%# %q0, %q1" + [(set_attr "type" "mve_move") + ]) + +@@ -362,7 +362,7 @@ + VCVTQ_FROM_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vcvt.%#.f%#\t%q0, %q1" ++ "vcvt.%#.f%# %q0, %q1" + [(set_attr "type" "mve_move") + ]) + ;; [vqnegq_s]) +@@ -524,7 +524,7 @@ + VMOVLTQ)) + ] + "TARGET_HAVE_MVE" +- "vmovlt.%#\t%q0, %q1" ++ "vmovlt.%# %q0, %q1" + [(set_attr "type" "mve_move") + ]) + +@@ -538,7 +538,7 @@ + VMOVLBQ)) + ] + "TARGET_HAVE_MVE" +- "vmovlb.%#\t%q0, %q1" ++ "vmovlb.%# %q0, %q1" + [(set_attr "type" "mve_move") + ]) + +@@ -552,7 +552,7 @@ + VCVTPQ)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vcvtp.%#.f%#\t%q0, %q1" ++ "vcvtp.%#.f%# %q0, %q1" + [(set_attr "type" "mve_move") + ]) + +@@ -566,7 +566,7 @@ + VCVTNQ)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vcvtn.%#.f%#\t%q0, %q1" ++ "vcvtn.%#.f%# %q0, %q1" + [(set_attr "type" "mve_move") + ]) + +@@ -580,7 +580,7 @@ + VCVTMQ)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vcvtm.%#.f%#\t%q0, %q1" ++ "vcvtm.%#.f%# %q0, %q1" + [(set_attr "type" "mve_move") + ]) + +@@ -594,7 +594,7 @@ + VCVTAQ)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vcvta.%#.f%#\t%q0, %q1" ++ "vcvta.%#.f%# %q0, %q1" + [(set_attr "type" "mve_move") + ]) + +@@ -608,7 +608,7 @@ + VMVNQ_N)) + ] + "TARGET_HAVE_MVE" +- "vmvn.i%#\t%q0, %1" ++ "vmvn.i%# %q0, %1" + [(set_attr "type" "mve_move") + ]) + +@@ -622,7 +622,7 @@ + VREV16Q)) + ] + "TARGET_HAVE_MVE" +- "vrev16.8\t%q0, %q1" ++ "vrev16.8 %q0, %q1" + [(set_attr "type" "mve_move") + ]) + +@@ -650,7 +650,7 @@ + VCTP)) + ] + "TARGET_HAVE_MVE" +- "vctp.\t%1" ++ "vctp. %1" + [(set_attr "type" "mve_move") + ]) + +@@ -694,7 +694,7 @@ + VBRSRQ_N_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vbrsr.\t%q0, %q1, %2" ++ "vbrsr. %q0, %q1, %2" + [(set_attr "type" "mve_move") + ]) + +@@ -976,7 +976,7 @@ + VBRSRQ_N)) + ] + "TARGET_HAVE_MVE" +- "vbrsr.%#\t%q0, %q1, %2" ++ "vbrsr.%# %q0, %q1, %2" + [(set_attr "type" "mve_move") + ]) + +@@ -1864,7 +1864,7 @@ + (match_operand:MVE_0 2 "s_register_operand" "w"))) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vand\t%q0, %q1, %q2" ++ "vand %q0, %q1, %q2" + [(set_attr "type" "mve_move") + ]) + +@@ -1878,7 +1878,7 @@ + (match_operand:MVE_0 2 "s_register_operand" "w"))) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vbic\t%q0, %q1, %q2" ++ "vbic %q0, %q1, %q2" + [(set_attr "type" "mve_move") + ]) + +@@ -1893,7 +1893,7 @@ + VBICQ_N)) + ] + "TARGET_HAVE_MVE" +- "vbic.i%#\t%q0, %2" ++ "vbic.i%# %q0, %2" + [(set_attr "type" "mve_move") + ]) + +@@ -1967,7 +1967,7 @@ + VCTP_M)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vctpt.\t%1" ++ "vpst\;vctpt. %1" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -1982,7 +1982,7 @@ + VCVTBQ_F16_F32)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vcvtb.f16.f32\t%q0, %q2" ++ "vcvtb.f16.f32 %q0, %q2" + [(set_attr "type" "mve_move") + ]) + +@@ -1997,7 +1997,7 @@ + VCVTTQ_F16_F32)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vcvtt.f16.f32\t%q0, %q2" ++ "vcvtt.f16.f32 %q0, %q2" + [(set_attr "type" "mve_move") + ]) + +@@ -2011,7 +2011,7 @@ + (match_operand:MVE_0 2 "s_register_operand" "w"))) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "veor\t%q0, %q1, %q2" ++ "veor %q0, %q1, %q2" + [(set_attr "type" "mve_move") + ]) + +@@ -2159,7 +2159,7 @@ + VMLALDAVXQ_S)) + ] + "TARGET_HAVE_MVE" +- "vmlaldavx.s%#\t%Q0, %R0, %q1, %q2" ++ "vmlaldavx.s%# %Q0, %R0, %q1, %q2" + [(set_attr "type" "mve_move") + ]) + +@@ -2174,7 +2174,7 @@ + VMLSLDAVQ_S)) + ] + "TARGET_HAVE_MVE" +- "vmlsldav.s%#\t%Q0, %R0, %q1, %q2" ++ "vmlsldav.s%# %Q0, %R0, %q1, %q2" + [(set_attr "type" "mve_move") + ]) + +@@ -2189,7 +2189,7 @@ + VMLSLDAVXQ_S)) + ] + "TARGET_HAVE_MVE" +- "vmlsldavx.s%#\t%Q0, %R0, %q1, %q2" ++ "vmlsldavx.s%# %Q0, %R0, %q1, %q2" + [(set_attr "type" "mve_move") + ]) + +@@ -2262,7 +2262,7 @@ + (match_operand:MVE_0 1 "s_register_operand" "w"))) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vorn\t%q0, %q1, %q2" ++ "vorn %q0, %q1, %q2" + [(set_attr "type" "mve_move") + ]) + +@@ -2276,7 +2276,7 @@ + (match_operand:MVE_0 2 "s_register_operand" "w"))) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vorr\t%q0, %q1, %q2" ++ "vorr %q0, %q1, %q2" + [(set_attr "type" "mve_move") + ]) + +@@ -2426,7 +2426,7 @@ + VRMLALDAVHXQ_S)) + ] + "TARGET_HAVE_MVE" +- "vrmlaldavhx.s32\t%Q0, %R0, %q1, %q2" ++ "vrmlaldavhx.s32 %Q0, %R0, %q1, %q2" + [(set_attr "type" "mve_move") + ]) + +@@ -2561,7 +2561,7 @@ + VBICQ_M_N)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vbict.i%#\t%q0, %2" ++ "vpst\;vbict.i%# %q0, %2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + ;; +@@ -2606,7 +2606,7 @@ + VCVTQ_M_TO_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vpst\;vcvtt.f%#.%#\t%q0, %q2" ++ "vpst\;vcvtt.f%#.%# %q0, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + ;; +@@ -2714,7 +2714,7 @@ + (match_dup 4)] + VSHLCQ))] + "TARGET_HAVE_MVE" +- "vshlc\t%q0, %1, %4") ++ "vshlc %q0, %1, %4") + + ;; + ;; [vabsq_m_s]) +@@ -3272,7 +3272,7 @@ + VMVNQ_M)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vmvnt\t%q0, %q2" ++ "vpst\;vmvnt %q0, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -3304,7 +3304,7 @@ + VPSELQ)) + ] + "TARGET_HAVE_MVE" +- "vpsel\t%q0, %q1, %q2" ++ "vpsel %q0, %q1, %q2" + [(set_attr "type" "mve_move") + ]) + +@@ -3929,7 +3929,7 @@ + VCVTBQ_M_F16_F32)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vpst\;vcvtbt.f16.f32\t%q0, %q2" ++ "vpst\;vcvtbt.f16.f32 %q0, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -3945,7 +3945,7 @@ + VCVTBQ_M_F32_F16)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vpst\;vcvtbt.f32.f16\t%q0, %q2" ++ "vpst\;vcvtbt.f32.f16 %q0, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -3961,7 +3961,7 @@ + VCVTTQ_M_F16_F32)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vpst\;vcvttt.f16.f32\t%q0, %q2" ++ "vpst\;vcvttt.f16.f32 %q0, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -3977,7 +3977,7 @@ + VCVTTQ_M_F32_F16)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vpst\;vcvttt.f32.f16\t%q0, %q2" ++ "vpst\;vcvttt.f32.f16 %q0, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -4197,7 +4197,7 @@ + VMLALDAVQ_P)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vmlaldavt.%#\t%Q0, %R0, %q1, %q2" ++ "vpst\;vmlaldavt.%# %Q0, %R0, %q1, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -4228,7 +4228,7 @@ + VMLSLDAVAQ_S)) + ] + "TARGET_HAVE_MVE" +- "vmlsldava.s%#\t%Q0, %R0, %q2, %q3" ++ "vmlsldava.s%# %Q0, %R0, %q2, %q3" + [(set_attr "type" "mve_move") + ]) + +@@ -4244,7 +4244,7 @@ + VMLSLDAVAXQ_S)) + ] + "TARGET_HAVE_MVE" +- "vmlsldavax.s%#\t%Q0, %R0, %q2, %q3" ++ "vmlsldavax.s%# %Q0, %R0, %q2, %q3" + [(set_attr "type" "mve_move") + ]) + +@@ -4260,7 +4260,7 @@ + VMLSLDAVQ_P_S)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vmlsldavt.s%#\t%Q0, %R0, %q1, %q2" ++ "vpst\;vmlsldavt.s%# %Q0, %R0, %q1, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -4276,7 +4276,7 @@ + VMLSLDAVXQ_P_S)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vmlsldavxt.s%#\t%Q0, %R0, %q1, %q2" ++ "vpst\;vmlsldavxt.s%# %Q0, %R0, %q1, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + ;; +@@ -4353,7 +4353,7 @@ + VMVNQ_M_N)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vmvnt.i%#\t%q0, %2" ++ "vpst\;vmvnt.i%# %q0, %2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + ;; +@@ -4384,7 +4384,7 @@ + VORRQ_M_N)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vorrt.i%#\t%q0, %2" ++ "vpst\;vorrt.i%# %q0, %2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + ;; +@@ -4399,7 +4399,7 @@ + VPSELQ_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vpsel\t%q0, %q1, %q2" ++ "vpsel %q0, %q1, %q2" + [(set_attr "type" "mve_move") + ]) + +@@ -4575,7 +4575,7 @@ + VREV32Q_M_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vpst\;vrev32t.16\t%q0, %q2" ++ "vpst\;vrev32t.16 %q0, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -4591,7 +4591,7 @@ + VREV32Q_M)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vrev32t.%#\t%q0, %q2" ++ "vpst\;vrev32t.%# %q0, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -4607,7 +4607,7 @@ + VREV64Q_M_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vpst\;vrev64t.%#\t%q0, %q2" ++ "vpst\;vrev64t.%# %q0, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -4623,7 +4623,7 @@ + VRMLALDAVHAXQ_S)) + ] + "TARGET_HAVE_MVE" +- "vrmlaldavhax.s32\t%Q0, %R0, %q2, %q3" ++ "vrmlaldavhax.s32 %Q0, %R0, %q2, %q3" + [(set_attr "type" "mve_move") + ]) + +@@ -4639,7 +4639,7 @@ + VRMLALDAVHXQ_P_S)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vrmlaldavhxt.s32\t%Q0, %R0, %q1, %q2" ++ "vpst\;vrmlaldavhxt.s32 %Q0, %R0, %q1, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -4655,7 +4655,7 @@ + VRMLSLDAVHAXQ_S)) + ] + "TARGET_HAVE_MVE" +- "vrmlsldavhax.s32\t%Q0, %R0, %q2, %q3" ++ "vrmlsldavhax.s32 %Q0, %R0, %q2, %q3" + [(set_attr "type" "mve_move") + ]) + +@@ -4671,7 +4671,7 @@ + VRMLSLDAVHQ_P_S)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vrmlsldavht.s32\t%Q0, %R0, %q1, %q2" ++ "vpst\;vrmlsldavht.s32 %Q0, %R0, %q1, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -4687,7 +4687,7 @@ + VRMLSLDAVHXQ_P_S)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vrmlsldavhxt.s32\t%Q0, %R0, %q1, %q2" ++ "vpst\;vrmlsldavhxt.s32 %Q0, %R0, %q1, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -4912,7 +4912,7 @@ + VREV16Q_M)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vrev16t.8\t%q0, %q2" ++ "vpst\;vrev16t.8 %q0, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -4944,7 +4944,7 @@ + VRMLALDAVHQ_P)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vrmlaldavht.32\t%Q0, %R0, %q1, %q2" ++ "vpst\;vrmlaldavht.32 %Q0, %R0, %q1, %q2" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -4960,7 +4960,7 @@ + VRMLSLDAVHAQ_S)) + ] + "TARGET_HAVE_MVE" +- "vrmlsldavha.s32\t%Q0, %R0, %q2, %q3" ++ "vrmlsldavha.s32 %Q0, %R0, %q2, %q3" + [(set_attr "type" "mve_move") + ]) + +@@ -5129,7 +5129,7 @@ + VANDQ_M)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vandt\t%q0, %q2, %q3" ++ "vpst\;vandt %q0, %q2, %q3" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -5146,7 +5146,7 @@ + VBICQ_M)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vbict\t%q0, %q2, %q3" ++ "vpst\;vbict %q0, %q2, %q3" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -5214,7 +5214,7 @@ + VEORQ_M)) + ] + "TARGET_HAVE_MVE" +- "vpst\;veort\t%q0, %q2, %q3" ++ "vpst\;veort %q0, %q2, %q3" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -5469,7 +5469,7 @@ + VORNQ_M)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vornt\t%q0, %q2, %q3" ++ "vpst\;vornt %q0, %q2, %q3" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -5486,7 +5486,7 @@ + VORRQ_M)) + ] + "TARGET_HAVE_MVE" +- "vpst\;vorrt\t%q0, %q2, %q3" ++ "vpst\;vorrt %q0, %q2, %q3" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -6658,7 +6658,7 @@ + VANDQ_M_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vpst\;vandt\t%q0, %q2, %q3" ++ "vpst\;vandt %q0, %q2, %q3" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -6675,7 +6675,7 @@ + VBICQ_M_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vpst\;vbict\t%q0, %q2, %q3" ++ "vpst\;vbict %q0, %q2, %q3" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -6879,7 +6879,7 @@ + VEORQ_M_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vpst\;veort\t%q0, %q2, %q3" ++ "vpst\;veort %q0, %q2, %q3" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -7032,7 +7032,7 @@ + VORNQ_M_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vpst\;vornt\t%q0, %q2, %q3" ++ "vpst\;vornt %q0, %q2, %q3" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -7049,7 +7049,7 @@ + VORRQ_M_F)) + ] + "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" +- "vpst\;vorrt\t%q0, %q2, %q3" ++ "vpst\;vorrt %q0, %q2, %q3" + [(set_attr "type" "mve_move") + (set_attr "length""8")]) + +@@ -8492,7 +8492,7 @@ + (match_operand:V2QI 3 "vpr_register_operand" "Up")] + VSTRDSSOQ))] + "TARGET_HAVE_MVE" +- "vpst\;vstrdt.64\t%q2, [%0, %q1, uxtw #3]" ++ "vpst\;vstrdt.64\t%q2, [%0, %q1, UXTW #3]" + [(set_attr "length" "8")]) + + ;; +@@ -8521,7 +8521,7 @@ + (match_operand:V2DI 2 "s_register_operand" "w")] + VSTRDSSOQ))] + "TARGET_HAVE_MVE" +- "vstrd.64\t%q2, [%0, %q1, uxtw #3]" ++ "vstrd.64\t%q2, [%0, %q1, UXTW #3]" + [(set_attr "length" "4")]) + + ;; +@@ -9359,7 +9359,7 @@ + [(match_operand:V4SI 1 "s_register_operand" "0") + (match_operand:SI 2 "mve_vldrd_immediate" "Ri") + (match_operand:V4SI 3 "s_register_operand" "w") +- (match_operand:V4BI 4 "vpr_register_operand" "Up")] ++ (match_operand:V4BI 4 "vpr_register_operand")] + VSTRWSBWBQ)) + (set (match_operand:V4SI 0 "s_register_operand" "=w") + (unspec:V4SI [(match_dup 1) (match_dup 2)] +@@ -9408,9 +9408,9 @@ + [(set (mem:BLK (scratch)) + (unspec:BLK + [(match_operand:V4SI 1 "s_register_operand" "0") +- (match_operand:SI 2 "mve_vstrw_immediate" "Rl") ++ (match_operand:SI 2 "mve_vldrd_immediate" "Ri") + (match_operand:V4SF 3 "s_register_operand" "w") +- (match_operand:V4BI 4 "vpr_register_operand" "Up")] ++ (match_operand:V4BI 4 "vpr_register_operand")] + VSTRWQSBWB_F)) + (set (match_operand:V4SI 0 "s_register_operand" "=w") + (unspec:V4SI [(match_dup 1) (match_dup 2)] +@@ -9422,7 +9422,7 @@ + ops[0] = operands[1]; + ops[1] = operands[2]; + ops[2] = operands[3]; +- output_asm_insn ("vpst\;vstrwt.u32\t%q2, [%q0, %1]!",ops); ++ output_asm_insn ("vpst\;\tvstrwt.u32\t%q2, [%q0, %1]!",ops); + return ""; + } + [(set_attr "length" "8")]) +@@ -9461,7 +9461,7 @@ + [(match_operand:V2DI 1 "s_register_operand" "0") + (match_operand:SI 2 "mve_vldrd_immediate" "Ri") + (match_operand:V2DI 3 "s_register_operand" "w") +- (match_operand:V2QI 4 "vpr_register_operand" "Up")] ++ (match_operand:V2QI 4 "vpr_register_operand")] + VSTRDSBWBQ)) + (set (match_operand:V2DI 0 "s_register_operand" "=w") + (unspec:V2DI [(match_dup 1) (match_dup 2)] +@@ -9473,7 +9473,7 @@ + ops[0] = operands[1]; + ops[1] = operands[2]; + ops[2] = operands[3]; +- output_asm_insn ("vpst\;vstrdt.u64\t%q2, [%q0, %1]!",ops); ++ output_asm_insn ("vpst;vstrdt.u64\t%q2, [%q0, %1]!",ops); + return ""; + } + [(set_attr "length" "8")]) +@@ -9782,7 +9782,7 @@ + + (define_insn "get_fpscr_nzcvqc" + [(set (match_operand:SI 0 "register_operand" "=r") +- (unspec_volatile:SI [(reg:SI VFPCC_REGNUM)] UNSPEC_GET_FPSCR_NZCVQC))] ++ (unspec:SI [(reg:SI VFPCC_REGNUM)] UNSPEC_GET_FPSCR_NZCVQC))] + "TARGET_HAVE_MVE" + "vmrs\\t%0, FPSCR_nzcvqc" + [(set_attr "type" "mve_move")]) +diff --git a/gcc/config/arm/predicates.md b/gcc/config/arm/predicates.md +index 00995a590ab..3139750c606 100644 +--- a/gcc/config/arm/predicates.md ++++ b/gcc/config/arm/predicates.md +@@ -73,13 +73,13 @@ + (define_predicate "mve_imm_selective_upto_8" + (match_test "satisfies_constraint_Rg (op)")) + +-;; True if the immediate is multiple of 8 and in range of -/+ 1016 for MVE. +-(define_predicate "mve_vldrd_immediate" +- (match_test "satisfies_constraint_Ri (op)")) +- +-;; True if the immediate is multiple of 2 and in range of -/+ 252 for MVE. +-(define_predicate "mve_vstrw_immediate" +- (match_test "satisfies_constraint_Rl (op)")) ++;; True if the immediate is the range +/- 1016 and multiple of 8 for MVE. ++(define_constraint "Ri" ++ "@internal In Thumb-2 state a constant is multiple of 8 and in range ++ of -/+ 1016 for MVE" ++ (and (match_code "const_int") ++ (match_test "TARGET_HAVE_MVE && (-1016 <= ival) && (ival <= 1016) ++ && ((ival % 8) == 0)"))) + + ; Predicate for stack protector guard's address in + ; stack_protect_combined_set_insn and stack_protect_combined_test_insn patterns +diff --git a/gcc/config/arm/vfp.md b/gcc/config/arm/vfp.md +index 03514acc94f..60e7ba35d8b 100644 +--- a/gcc/config/arm/vfp.md ++++ b/gcc/config/arm/vfp.md +@@ -2138,7 +2138,7 @@ + (define_insn_and_split "no_literal_pool_df_immediate" + [(set (match_operand:DF 0 "s_register_operand" "=w") + (match_operand:DF 1 "const_double_operand" "F")) +- (clobber (match_operand:DI 2 "s_register_operand" "=r"))] ++ (clobber (match_operand:DF 2 "s_register_operand" "=r"))] + "arm_disable_literal_pool + && TARGET_VFP_BASE + && !arm_const_double_rtx (operands[1]) +@@ -2153,9 +2153,8 @@ + unsigned HOST_WIDE_INT ival = zext_hwi (buf[order], 32); + ival |= (zext_hwi (buf[1 - order], 32) << 32); + rtx cst = gen_int_mode (ival, DImode); +- emit_move_insn (operands[2], cst); +- emit_move_insn (operands[0], +- simplify_gen_subreg (DFmode, operands[2], DImode, 0)); ++ emit_move_insn (simplify_gen_subreg (DImode, operands[2], DFmode, 0), cst); ++ emit_move_insn (operands[0], operands[2]); + DONE; + } + ) +diff --git a/gcc/config/avr/avr-dimode.md b/gcc/config/avr/avr-dimode.md +index 91f0d395761..c0bb04ff9e0 100644 +--- a/gcc/config/avr/avr-dimode.md ++++ b/gcc/config/avr/avr-dimode.md +@@ -455,18 +455,12 @@ + (define_expand "cbranch4" + [(set (pc) + (if_then_else (match_operator 0 "ordered_comparison_operator" +- [(match_operand:ALL8 1 "register_operand") +- (match_operand:ALL8 2 "nonmemory_operand")]) +- (label_ref (match_operand 3)) +- (pc)))] ++ [(match_operand:ALL8 1 "register_operand" "") ++ (match_operand:ALL8 2 "nonmemory_operand" "")]) ++ (label_ref (match_operand 3 "" "")) ++ (pc)))] + "avr_have_dimode" + { +- int icode = (int) GET_CODE (operands[0]); +- +- targetm.canonicalize_comparison (&icode, &operands[1], &operands[2], false); +- operands[0] = gen_rtx_fmt_ee ((enum rtx_code) icode, +- VOIDmode, operands[1], operands[2]); +- + rtx acc_a = gen_rtx_REG (mode, ACC_A); + + avr_fix_inputs (operands, 1 << 2, regmask (mode, ACC_A)); +@@ -496,8 +490,8 @@ + (if_then_else (match_operator 0 "ordered_comparison_operator" + [(reg:ALL8 ACC_A) + (reg:ALL8 ACC_B)]) +- (label_ref (match_operand 1)) +- (pc)))] ++ (label_ref (match_operand 1 "" "")) ++ (pc)))] + "avr_have_dimode" + "#" + "&& reload_completed" +@@ -550,8 +544,8 @@ + (if_then_else (match_operator 0 "ordered_comparison_operator" + [(reg:ALL8 ACC_A) + (match_operand:ALL8 1 "const_operand" "n Ynn")]) +- (label_ref (match_operand 2 "" "")) +- (pc))) ++ (label_ref (match_operand 2 "" "")) ++ (pc))) + (clobber (match_scratch:QI 3 "=&d"))] + "avr_have_dimode + && !s8_operand (operands[1], VOIDmode)" +diff --git a/gcc/config/avr/avr-passes.def b/gcc/config/avr/avr-passes.def +index 9ff9b23f62c..02ca737deee 100644 +--- a/gcc/config/avr/avr-passes.def ++++ b/gcc/config/avr/avr-passes.def +@@ -43,23 +43,3 @@ INSERT_PASS_BEFORE (pass_free_cfg, 1, avr_pass_recompute_notes); + insns withaout any insns in between. */ + + INSERT_PASS_AFTER (pass_expand, 1, avr_pass_casesi); +- +-/* If-else decision trees generated for switch / case may produce sequences +- like +- +- SREG = compare (reg, val); +- if (SREG == 0) goto label1; +- SREG = compare (reg, 1 + val); +- if (SREG >= 0) goto label2; +- +- which can be optimized to +- +- SREG = compare (reg, val); +- if (SREG == 0) goto label1; +- if (SREG >= 0) goto label2; +- +- The optimal place for such a pass would be directly after expand, but +- it's not possible for a jump insn to target more than one code label. +- Hence, run a mini pass right before split2 which introduces REG_CC. */ +- +-INSERT_PASS_BEFORE (pass_split_after_reload, 1, avr_pass_ifelse); +diff --git a/gcc/config/avr/avr-protos.h b/gcc/config/avr/avr-protos.h +index eba6f9fef46..ec96fd45865 100644 +--- a/gcc/config/avr/avr-protos.h ++++ b/gcc/config/avr/avr-protos.h +@@ -58,8 +58,6 @@ extern const char *ret_cond_branch (rtx x, int len, int reverse); + extern const char *avr_out_movpsi (rtx_insn *, rtx*, int*); + extern const char *avr_out_sign_extend (rtx_insn *, rtx*, int*); + extern const char *avr_out_insert_notbit (rtx_insn *, rtx*, rtx, int*); +-extern const char *avr_out_plus_set_ZN (rtx*, int*); +-extern const char *avr_out_cmp_ext (rtx*, enum rtx_code, int*); + + extern const char *ashlqi3_out (rtx_insn *insn, rtx operands[], int *len); + extern const char *ashlhi3_out (rtx_insn *insn, rtx operands[], int *len); +@@ -114,6 +112,8 @@ extern int jump_over_one_insn_p (rtx_insn *insn, rtx dest); + + extern void avr_final_prescan_insn (rtx_insn *insn, rtx *operand, + int num_operands); ++extern int avr_simplify_comparison_p (machine_mode mode, ++ RTX_CODE op, rtx x); + extern RTX_CODE avr_normalize_condition (RTX_CODE condition); + extern void out_shift_with_cnt (const char *templ, rtx_insn *insn, + rtx operands[], int *len, int t_len); +@@ -145,7 +145,6 @@ extern rtx tmp_reg_rtx; + extern rtx zero_reg_rtx; + extern rtx all_regs_rtx[32]; + extern rtx rampz_rtx; +-extern rtx cc_reg_rtx; + + #endif /* RTX_CODE */ + +@@ -161,7 +160,6 @@ class rtl_opt_pass; + extern rtl_opt_pass *make_avr_pass_pre_proep (gcc::context *); + extern rtl_opt_pass *make_avr_pass_recompute_notes (gcc::context *); + extern rtl_opt_pass *make_avr_pass_casesi (gcc::context *); +-extern rtl_opt_pass *make_avr_pass_ifelse (gcc::context *); + + /* From avr-log.cc */ + +diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc +index 99dca3e5e29..c193430cf07 100644 +--- a/gcc/config/avr/avr.cc ++++ b/gcc/config/avr/avr.cc +@@ -359,41 +359,6 @@ public: + } + }; // avr_pass_casesi + +- +-static const pass_data avr_pass_data_ifelse = +-{ +- RTL_PASS, // type +- "", // name (will be patched) +- OPTGROUP_NONE, // optinfo_flags +- TV_DF_SCAN, // tv_id +- 0, // properties_required +- 0, // properties_provided +- 0, // properties_destroyed +- 0, // todo_flags_start +- TODO_df_finish | TODO_df_verify // todo_flags_finish +-}; +- +-class avr_pass_ifelse : public rtl_opt_pass +-{ +-public: +- avr_pass_ifelse (gcc::context *ctxt, const char *name) +- : rtl_opt_pass (avr_pass_data_ifelse, ctxt) +- { +- this->name = name; +- } +- +- void avr_rest_of_handle_ifelse (function*); +- +- virtual bool gate (function*) { return optimize > 0; } +- +- virtual unsigned int execute (function *func) +- { +- avr_rest_of_handle_ifelse (func); +- +- return 0; +- } +-}; // avr_pass_ifelse +- + } // anon namespace + + rtl_opt_pass* +@@ -408,12 +373,6 @@ make_avr_pass_casesi (gcc::context *ctxt) + return new avr_pass_casesi (ctxt, "avr-casesi"); + } + +-rtl_opt_pass* +-make_avr_pass_ifelse (gcc::context *ctxt) +-{ +- return new avr_pass_ifelse (ctxt, "avr-ifelse"); +-} +- + + /* Make one parallel insn with all the patterns from insns i[0]..i[5]. */ + +@@ -727,304 +686,6 @@ avr_pass_casesi::avr_rest_of_handle_casesi (function *func) + } + + +-/* A helper for the next method. Suppose we have two conditional branches +- +- if (reg xval1) goto label1; +- if (reg xval2) goto label2; +- +- If the second comparison is redundant and there is a code such +- that the sequence can be performed as +- +- REG_CC = compare (reg, xval1); +- if (REG_CC 0) goto label1; +- if (REG_CC 0) goto label2; +- +- then return . Otherwise, return UNKNOWN. +- xval1 and xval2 are CONST_INT, and mode is the scalar int mode in which +- the comparison will be carried out. reverse_cond1 can be set to reverse +- condition cond1. This is useful if the second comparison does not follow +- the first one, but is located after label1 like in: +- +- if (reg xval1) goto label1; +- ... +- label1: +- if (reg xval2) goto label2; */ +- +-static enum rtx_code +-avr_redundant_compare (enum rtx_code cond1, rtx xval1, +- enum rtx_code cond2, rtx xval2, +- machine_mode mode, bool reverse_cond1) +-{ +- HOST_WIDE_INT ival1 = INTVAL (xval1); +- HOST_WIDE_INT ival2 = INTVAL (xval2); +- +- unsigned HOST_WIDE_INT mask = GET_MODE_MASK (mode); +- unsigned HOST_WIDE_INT uval1 = mask & UINTVAL (xval1); +- unsigned HOST_WIDE_INT uval2 = mask & UINTVAL (xval2); +- +- if (reverse_cond1) +- cond1 = reverse_condition (cond1); +- +- if (cond1 == EQ) +- { +- //////////////////////////////////////////////// +- // A sequence like +- // if (reg == val) goto label1; +- // if (reg > val) goto label2; +- // can be re-written using the same, simple comparison like in: +- // REG_CC = compare (reg, val) +- // if (REG_CC == 0) goto label1; +- // if (REG_CC >= 0) goto label2; +- if (ival1 == ival2 +- && (cond2 == GT || cond2 == GTU)) +- return avr_normalize_condition (cond2); +- +- // Similar, but the input sequence is like +- // if (reg == val) goto label1; +- // if (reg >= val) goto label2; +- if (ival1 == ival2 +- && (cond2 == GE || cond2 == GEU)) +- return cond2; +- +- // Similar, but the input sequence is like +- // if (reg == val) goto label1; +- // if (reg >= val + 1) goto label2; +- if ((cond2 == GE && ival2 == 1 + ival1) +- || (cond2 == GEU && uval2 == 1 + uval1)) +- return cond2; +- +- // Similar, but the input sequence is like +- // if (reg == val) goto label1; +- // if (reg > val - 1) goto label2; +- if ((cond2 == GT && ival2 == ival1 - 1) +- || (cond2 == GTU && uval2 == uval1 - 1)) +- return avr_normalize_condition (cond2); +- +- ///////////////////////////////////////////////////////// +- // A sequence like +- // if (reg == val) goto label1; +- // if (reg < 1 + val) goto label2; +- // can be re-written as +- // REG_CC = compare (reg, val) +- // if (REG_CC == 0) goto label1; +- // if (REG_CC < 0) goto label2; +- if ((cond2 == LT && ival2 == 1 + ival1) +- || (cond2 == LTU && uval2 == 1 + uval1)) +- return cond2; +- +- // Similar, but with an input sequence like +- // if (reg == val) goto label1; +- // if (reg <= val) goto label2; +- if (ival1 == ival2 +- && (cond2 == LE || cond2 == LEU)) +- return avr_normalize_condition (cond2); +- +- // Similar, but with an input sequence like +- // if (reg == val) goto label1; +- // if (reg < val) goto label2; +- if (ival1 == ival2 +- && (cond2 == LT || cond2 == LTU)) +- return cond2; +- +- // Similar, but with an input sequence like +- // if (reg == val) goto label1; +- // if (reg <= val - 1) goto label2; +- if ((cond2 == LE && ival2 == ival1 - 1) +- || (cond2 == LEU && uval2 == uval1 - 1)) +- return avr_normalize_condition (cond2); +- +- } // cond1 == EQ +- +- return UNKNOWN; +-} +- +- +-/* If-else decision trees generated for switch / case may produce sequences +- like +- +- SREG = compare (reg, val); +- if (SREG == 0) goto label1; +- SREG = compare (reg, 1 + val); +- if (SREG >= 0) goto label2; +- +- which can be optimized to +- +- SREG = compare (reg, val); +- if (SREG == 0) goto label1; +- if (SREG >= 0) goto label2; +- +- The optimal place for such a pass would be directly after expand, but +- it's not possible for a jump insn to target more than one code label. +- Hence, run a mini pass right before split2 which introduces REG_CC. */ +- +-void +-avr_pass_ifelse::avr_rest_of_handle_ifelse (function*) +-{ +- rtx_insn *next_insn; +- +- for (rtx_insn *insn = get_insns(); insn; insn = next_insn) +- { +- next_insn = next_nonnote_nondebug_insn (insn); +- +- if (! next_insn) +- break; +- +- // Search for two cbranch insns. The first one is a cbranch. +- // Filter for "cbranch4_insn" with mode in QI, HI, PSI, SI. +- +- if (! JUMP_P (insn)) +- continue; +- +- int icode1 = recog_memoized (insn); +- +- if (icode1 != CODE_FOR_cbranchqi4_insn +- && icode1 != CODE_FOR_cbranchhi4_insn +- && icode1 != CODE_FOR_cbranchpsi4_insn +- && icode1 != CODE_FOR_cbranchsi4_insn) +- continue; +- +- rtx_jump_insn *insn1 = as_a (insn); +- rtx_jump_insn *insn2 = nullptr; +- bool follow_label1 = false; +- +- // Extract the operands of the first insn: +- // $0 = comparison operator ($1, $2) +- // $1 = reg +- // $2 = reg or const_int +- // $3 = code_label +- // $4 = optional SCRATCH for HI, PSI, SI cases. +- +- const auto &op = recog_data.operand; +- +- extract_insn (insn1); +- rtx xop1[5] = { op[0], op[1], op[2], op[3], op[4] }; +- int n_operands = recog_data.n_operands; +- +- // For now, we can optimize cbranches that follow an EQ cbranch, +- // and cbranches that follow the label of a NE cbranch. +- +- if (GET_CODE (xop1[0]) == EQ +- && JUMP_P (next_insn) +- && recog_memoized (next_insn) == icode1) +- { +- // The 2nd cbranch insn follows insn1, i.e. is located in the +- // fallthrough path of insn1. +- +- insn2 = as_a (next_insn); +- } +- else if (GET_CODE (xop1[0]) == NE) +- { +- // insn1 might branch to a label followed by a cbranch. +- +- rtx target1 = JUMP_LABEL (insn1); +- rtx_insn *code_label1 = JUMP_LABEL_AS_INSN (insn1); +- rtx_insn *next = next_nonnote_nondebug_insn (code_label1); +- rtx_insn *barrier = prev_nonnote_nondebug_insn (code_label1); +- +- if (// Target label of insn1 is used exactly once and +- // is not a fallthru, i.e. is preceded by a barrier. +- LABEL_NUSES (target1) == 1 +- && barrier +- && BARRIER_P (barrier) +- // Following the target label is a cbranch of the same kind. +- && next +- && JUMP_P (next) +- && recog_memoized (next) == icode1) +- { +- follow_label1 = true; +- insn2 = as_a (next); +- } +- } +- +- if (! insn2) +- continue; +- +- // Also extract operands of insn2, and filter for REG + CONST_INT +- // comparsons against the same register. +- +- extract_insn (insn2); +- rtx xop2[5] = { op[0], op[1], op[2], op[3], op[4] }; +- +- if (! rtx_equal_p (xop1[1], xop2[1]) +- || ! CONST_INT_P (xop1[2]) +- || ! CONST_INT_P (xop2[2])) +- continue; +- +- machine_mode mode = GET_MODE (xop1[1]); +- enum rtx_code code1 = GET_CODE (xop1[0]); +- enum rtx_code code2 = GET_CODE (xop2[0]); +- +- code2 = avr_redundant_compare (code1, xop1[2], code2, xop2[2], +- mode, follow_label1); +- if (code2 == UNKNOWN) +- continue; +- +- ////////////////////////////////////////////////////// +- // Found a replacement. +- +- if (dump_file) +- { +- fprintf (dump_file, "\n;; Found chain of jump_insn %d and" +- " jump_insn %d, follow_label1=%d:\n", +- INSN_UID (insn1), INSN_UID (insn2), follow_label1); +- print_rtl_single (dump_file, PATTERN (insn1)); +- print_rtl_single (dump_file, PATTERN (insn2)); +- } +- +- if (! follow_label1) +- next_insn = next_nonnote_nondebug_insn (insn2); +- +- // Pop the new branch conditions and the new comparison. +- // Prematurely split into compare + branch so that we can drop +- // the 2nd comparison. The following pass, split2, splits all +- // insns for REG_CC, and it should still work as usual even when +- // there are already some REG_CC insns around. +- +- rtx xcond1 = gen_rtx_fmt_ee (code1, VOIDmode, cc_reg_rtx, const0_rtx); +- rtx xcond2 = gen_rtx_fmt_ee (code2, VOIDmode, cc_reg_rtx, const0_rtx); +- rtx xpat1 = gen_branch (xop1[3], xcond1); +- rtx xpat2 = gen_branch (xop2[3], xcond2); +- rtx xcompare = NULL_RTX; +- +- if (mode == QImode) +- { +- gcc_assert (n_operands == 4); +- xcompare = gen_cmpqi3 (xop1[1], xop1[2]); +- } +- else +- { +- gcc_assert (n_operands == 5); +- rtx (*gen_cmp)(rtx,rtx,rtx) +- = mode == HImode ? gen_gen_comparehi +- : mode == PSImode ? gen_gen_comparepsi +- : gen_gen_comparesi; // SImode +- xcompare = gen_cmp (xop1[1], xop1[2], xop1[4]); +- } +- +- // Emit that stuff. +- +- rtx_insn *cmp = emit_insn_before (xcompare, insn1); +- rtx_jump_insn *branch1 = emit_jump_insn_before (xpat1, insn1); +- rtx_jump_insn *branch2 = emit_jump_insn_before (xpat2, insn2); +- +- JUMP_LABEL (branch1) = xop1[3]; +- JUMP_LABEL (branch2) = xop2[3]; +- // delete_insn() decrements LABEL_NUSES when deleting a JUMP_INSN, but +- // when we pop a new JUMP_INSN, do it by hand. +- ++LABEL_NUSES (xop1[3]); +- ++LABEL_NUSES (xop2[3]); +- +- delete_insn (insn1); +- delete_insn (insn2); +- +- // As a side effect, also recog the new insns. +- gcc_assert (valid_insn_p (cmp)); +- gcc_assert (valid_insn_p (branch1)); +- gcc_assert (valid_insn_p (branch2)); +- } // loop insns +-} +- +- + /* Set `avr_arch' as specified by `-mmcu='. + Return true on success. */ + +@@ -1358,19 +1019,6 @@ avr_no_gccisr_function_p (tree func) + return avr_lookup_function_attribute1 (func, "no_gccisr"); + } + +- +-/* Implement `TARGET_CAN_INLINE_P'. */ +-/* Some options like -mgas_isr_prologues depend on optimization level, +- and the inliner might think that due to different options, inlining +- is not permitted; see PR104327. */ +- +-static bool +-avr_can_inline_p (tree /* caller */, tree /* callee */) +-{ +- // No restrictions whatsoever. +- return true; +-} +- + /* Implement `TARGET_SET_CURRENT_FUNCTION'. */ + /* Sanity cheching for above function attributes. */ + +@@ -3525,6 +3173,28 @@ avr_asm_final_postscan_insn (FILE *stream, rtx_insn *insn, rtx*, int) + } + + ++/* Return 0 if undefined, 1 if always true or always false. */ + +int -+__gthread_once (__gthread_once_t *__once, void (*__func) (void)) ++avr_simplify_comparison_p (machine_mode mode, RTX_CODE op, rtx x) +{ -+ if (!__has_gthr_impl(once)) { -+ return -1; -+ } ++ unsigned int max = (mode == QImode ? 0xff : ++ mode == HImode ? 0xffff : ++ mode == PSImode ? 0xffffff : ++ mode == SImode ? 0xffffffff : 0); ++ if (max && op && CONST_INT_P (x)) ++ { ++ if (unsigned_condition (op) != op) ++ max >>= 1; + -+ return __gthr_impl_once(__once, __func); ++ if (max != (INTVAL (x) & max) ++ && INTVAL (x) != 0xff) ++ return 1; ++ } ++ return 0; +} + -+int -+__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) -+{ -+ if (!__has_gthr_impl(key_create)) { -+ return -1; -+ } + -+ return __gthr_impl_key_create(__key, __dtor); -+} + /* Worker function for `FUNCTION_ARG_REGNO_P'. */ + /* Returns nonzero if REGNO is the number of a hard + register in which function arguments are sometimes passed. */ +@@ -6007,36 +5677,29 @@ avr_frame_pointer_required_p (void) + || get_frame_size () > 0); + } + +- +-/* Returns the condition of the branch following INSN, where INSN is some +- comparison. If the next insn is not a branch or the condition code set +- by INSN might be used by more insns than the next one, return UNKNOWN. +- For now, just look at the next insn, which misses some opportunities like +- following jumps. */ ++/* Returns the condition of compare insn INSN, or UNKNOWN. */ + + static RTX_CODE + compare_condition (rtx_insn *insn) + { +- rtx set; +- rtx_insn *next = next_real_nondebug_insn (insn); ++ rtx_insn *next = next_real_insn (insn); + +- if (next +- && JUMP_P (next) +- // If SREG does not die in the next insn, it is used in more than one +- // branch. This can happen due to pass .avr-ifelse optimizations. +- && dead_or_set_regno_p (next, REG_CC) +- // Branches are (set (pc) (if_then_else (COND (...)))). +- && (set = single_set (next)) +- && GET_CODE (SET_SRC (set)) == IF_THEN_ELSE) ++ if (next && JUMP_P (next)) + { +- return GET_CODE (XEXP (SET_SRC (set), 0)); ++ rtx pat = PATTERN (next); ++ if (GET_CODE (pat) == PARALLEL) ++ pat = XVECEXP (pat, 0, 0); ++ rtx src = SET_SRC (pat); + -+int -+__gthread_key_delete (__gthread_key_t __key) ++ if (IF_THEN_ELSE == GET_CODE (src)) ++ return GET_CODE (XEXP (src, 0)); + } + + return UNKNOWN; + } + + +-/* Returns true if INSN is a tst insn that only tests the sign. */ ++/* Returns true iff INSN is a tst insn that only tests the sign. */ + + static bool + compare_sign_p (rtx_insn *insn) +@@ -6046,95 +5709,23 @@ compare_sign_p (rtx_insn *insn) + } + + +-/* Returns true if INSN is a compare insn with the EQ or NE condition. */ ++/* Returns true iff the next insn is a JUMP_INSN with a condition ++ that needs to be swapped (GT, GTU, LE, LEU). */ + + static bool +-compare_eq_p (rtx_insn *insn) ++compare_diff_p (rtx_insn *insn) + { + RTX_CODE cond = compare_condition (insn); +- return (cond == EQ || cond == NE); ++ return (cond == GT || cond == GTU || cond == LE || cond == LEU) ? cond : 0; + } + ++/* Returns true iff INSN is a compare insn with the EQ or NE condition. */ + +-/* Implement `TARGET_CANONICALIZE_COMPARISON'. */ +-/* Basically tries to convert "difficult" comparisons like GT[U] +- and LE[U] to simple ones. Some asymmetric comparisons can be +- transformed to EQ or NE against zero. */ +- +-static void +-avr_canonicalize_comparison (int *icode, rtx *op0, rtx *op1, bool op0_fixed) ++static bool ++compare_eq_p (rtx_insn *insn) + { +- enum rtx_code code = (enum rtx_code) *icode; +- machine_mode mode = GET_MODE (*op0); +- +- bool signed_p = code == GT || code == LE; +- bool unsigned_p = code == GTU || code == LEU; +- bool difficult_p = signed_p || unsigned_p; +- +- if (// Only do integers and fixed-points. +- (! SCALAR_INT_MODE_P (mode) +- && ! ALL_SCALAR_FIXED_POINT_MODE_P (mode)) +- // Only do comparisons against a register. +- || ! register_operand (*op0, mode)) +- return; +- +- // Canonicalize "difficult" reg-reg comparisons. +- +- if (! op0_fixed +- && difficult_p +- && register_operand (*op1, mode)) +- { +- std::swap (*op0, *op1); +- *icode = (int) swap_condition (code); +- return; +- } +- +- // Canonicalize comparisons against compile-time constants. +- +- if (CONST_INT_P (*op1) +- || CONST_FIXED_P (*op1)) +- { +- // INT_MODE of the same size. +- scalar_int_mode imode = int_mode_for_mode (mode).require (); +- +- unsigned HOST_WIDE_INT mask = GET_MODE_MASK (imode); +- unsigned HOST_WIDE_INT maxval = signed_p ? mask >> 1 : mask; +- +- // Convert value *op1 to imode. +- rtx xval = simplify_gen_subreg (imode, *op1, mode, 0); +- +- // Canonicalize difficult comparisons against const. +- if (difficult_p +- && (UINTVAL (xval) & mask) != maxval) +- { +- // Convert *op0 > *op1 to *op0 >= 1 + *op1. +- // Convert *op0 <= *op1 to *op0 < 1 + *op1. +- xval = simplify_binary_operation (PLUS, imode, xval, const1_rtx); +- +- // Convert value back to its original mode. +- *op1 = simplify_gen_subreg (mode, xval, imode, 0); +- +- // Map > to >= and <= to <. +- *icode = (int) avr_normalize_condition (code); +- +- return; +- } +- +- // Some asymmetric comparisons can be turned into EQ or NE. +- if (code == LTU && xval == const1_rtx) +- { +- *icode = (int) EQ; +- *op1 = CONST0_RTX (mode); +- return; +- } +- +- if (code == GEU && xval == const1_rtx) +- { +- *icode = (int) NE; +- *op1 = CONST0_RTX (mode); +- return; +- } +- } ++ RTX_CODE cond = compare_condition (insn); ++ return (cond == EQ || cond == NE); + } + + +@@ -6427,68 +6018,6 @@ avr_out_tstsi (rtx_insn *insn, rtx *op, int *plen) + } + + +-/* Output a comparison of a zero- or sign-extended register against a +- plain register. CODE is SIGN_EXTEND or ZERO_EXTEND. Return "". +- +- PLEN != 0: Set *PLEN to the code length in words. Don't output anything. +- PLEN == 0: Print instructions. */ +- +-const char* +-avr_out_cmp_ext (rtx xop[], enum rtx_code code, int *plen) +-{ +- // The smaller reg is the one that's to be extended. Get its index as z. +- int z = GET_MODE_SIZE (GET_MODE (xop[1])) < GET_MODE_SIZE (GET_MODE (xop[0])); +- rtx zreg = xop[z]; +- rtx reg = xop[1 - z]; +- machine_mode mode = GET_MODE (reg); +- machine_mode zmode = GET_MODE (zreg); +- rtx zex; +- +- if (plen) +- *plen = 0; +- +- // zex holds the extended bytes above zreg. This is 0 for ZERO_EXTEND, +- // and 0 or -1 for SIGN_EXTEND. +- +- if (code == SIGN_EXTEND) +- { +- // Sign-extend the high-byte of zreg to tmp_reg. +- int zmsb = GET_MODE_SIZE (zmode) - 1; +- rtx xzmsb = simplify_gen_subreg (QImode, zreg, zmode, zmsb); +- +- avr_asm_len ("mov __tmp_reg__,%0" CR_TAB +- "rol __tmp_reg__" CR_TAB +- "sbc __tmp_reg__,__tmp_reg__", &xzmsb, plen, 3); +- zex = tmp_reg_rtx; +- } +- else if (code == ZERO_EXTEND) +- { +- zex = zero_reg_rtx; +- } +- else +- gcc_unreachable(); +- +- // Now output n_bytes bytes of the very comparison. +- +- int n_bytes = GET_MODE_SIZE (mode); +- +- avr_asm_len ("cp %0,%1", xop, plen, 1); +- +- for (int b = 1; b < n_bytes; ++b) +- { +- rtx regs[2]; +- regs[1 - z] = simplify_gen_subreg (QImode, reg, mode, b); +- regs[z] = (b < GET_MODE_SIZE (zmode) +- ? simplify_gen_subreg (QImode, zreg, zmode, b) +- : zex); +- +- avr_asm_len ("cpc %0,%1", regs, plen, 1); +- } +- +- return ""; +-} +- +- + /* Generate asm equivalent for various shifts. This only handles cases + that are not already carefully hand-optimized in ?sh??i3_out. + +@@ -8631,122 +8160,6 @@ avr_out_plus (rtx insn, rtx *xop, int *plen, int *pcc, bool out_label) + } + + +-/* Output an instruction sequence for addition of REG in XOP[0] and CONST_INT +- in XOP[1] in such a way that SREG.Z and SREG.N are set according to the +- result. XOP[2] might be a d-regs clobber register. If XOP[2] is SCRATCH, +- then the addition can be performed without a clobber reg. Return "". +- +- If PLEN == NULL, then output the instructions. +- If PLEN != NULL, then set *PLEN to the length of the sequence in words. */ +- +-const char* +-avr_out_plus_set_ZN (rtx *xop, int *plen) +-{ +- if (plen) +- *plen = 0; +- +- // Register to compare and value to compare against. +- rtx xreg = xop[0]; +- rtx xval = xop[1]; +- +- machine_mode mode = GET_MODE (xreg); +- +- // Number of bytes to operate on. +- int n_bytes = GET_MODE_SIZE (mode); +- +- if (n_bytes == 1) +- { +- if (INTVAL (xval) == 1) +- return avr_asm_len ("inc %0", xop, plen, 1); +- +- if (INTVAL (xval) == -1) +- return avr_asm_len ("dec %0", xop, plen, 1); +- } +- +- if (n_bytes == 2 +- && test_hard_reg_class (ADDW_REGS, xreg) +- && IN_RANGE (INTVAL (xval), 1, 63)) +- { +- // Add 16-bit value in [1..63] to a w register. +- return avr_asm_len ("adiw %0, %1", xop, plen, 1); +- } +- +- // Addition won't work; subtract the negative of XVAL instead. +- xval = simplify_unary_operation (NEG, mode, xval, mode); +- +- // Value (0..0xff) held in clobber register xop[2] or -1 if unknown. +- int clobber_val = -1; +- +- // [0] = Current sub-register. +- // [1] = Current partial xval. +- // [2] = 8-bit clobber d-register or SCRATCH. +- rtx op[3]; +- op[2] = xop[2]; +- +- // Work byte-wise from LSB to MSB. The lower two bytes might be +- // SBIW'ed in one go. +- for (int i = 0; i < n_bytes; ++i) +- { +- op[0] = simplify_gen_subreg (QImode, xreg, mode, i); +- +- if (i == 0 +- && n_bytes >= 2 +- && test_hard_reg_class (ADDW_REGS, op[0])) +- { +- op[1] = simplify_gen_subreg (HImode, xval, mode, 0); +- if (IN_RANGE (INTVAL (op[1]), 0, 63)) +- { +- // SBIW can handle the lower 16 bits. +- avr_asm_len ("sbiw %0, %1", op, plen, 1); +- +- // Next byte has already been handled: Skip it. +- ++i; +- continue; +- } +- } +- +- op[1] = simplify_gen_subreg (QImode, xval, mode, i); +- +- if (test_hard_reg_class (LD_REGS, op[0])) +- { +- // d-regs can subtract immediates. +- avr_asm_len (i == 0 +- ? "subi %0, %1" +- : "sbci %0, %1", op, plen, 1); +- } +- else +- { +- int val8 = 0xff & INTVAL (op[1]); +- if (val8 == 0) +- { +- // Any register can subtract 0. +- avr_asm_len (i == 0 +- ? "sub %0, __zero_reg__" +- : "sbc %0, __zero_reg__", op, plen, 1); +- } +- else +- { +- // Use d-register to hold partial xval. +- +- if (val8 != clobber_val) +- { +- // Load partial xval to QI clobber reg and memoize for later. +- gcc_assert (REG_P (op[2])); +- avr_asm_len ("ldi %2, %1", op, plen, 1); +- clobber_val = val8; +- } +- +- avr_asm_len (i == 0 +- ? "sub %0, %2" +- : "sbc %0, %2", op, plen, 1); +- } +- } +- } // Loop bytes. +- +- return ""; +-} +- +- + /* Output bit operation (IOR, AND, XOR) with register XOP[0] and compile + time constant XOP[2]: + +@@ -9878,8 +9291,6 @@ avr_adjust_insn_length (rtx_insn *insn, int len) + case ADJUST_LEN_TSTSI: avr_out_tstsi (insn, op, &len); break; + case ADJUST_LEN_COMPARE: avr_out_compare (insn, op, &len); break; + case ADJUST_LEN_COMPARE64: avr_out_compare64 (insn, op, &len); break; +- case ADJUST_LEN_CMP_UEXT: avr_out_cmp_ext (op, ZERO_EXTEND, &len); break; +- case ADJUST_LEN_CMP_SEXT: avr_out_cmp_ext (op, SIGN_EXTEND, &len); break; + + case ADJUST_LEN_LSHRQI: lshrqi3_out (insn, op, &len); break; + case ADJUST_LEN_LSHRHI: lshrhi3_out (insn, op, &len); break; +@@ -9900,7 +9311,6 @@ avr_adjust_insn_length (rtx_insn *insn, int len) + case ADJUST_LEN_CALL: len = AVR_HAVE_JMP_CALL ? 2 : 1; break; + + case ADJUST_LEN_INSERT_BITS: avr_out_insert_bits (op, &len); break; +- case ADJUST_LEN_ADD_SET_ZN: avr_out_plus_set_ZN (op, &len); break; + + case ADJUST_LEN_INSV_NOTBIT: + avr_out_insert_notbit (insn, op, NULL_RTX, &len); +@@ -11197,58 +10607,6 @@ avr_mul_highpart_cost (rtx x, int) + } + + +-/* Return the expected cost of a conditional branch like +- (set (pc) +- (if_then_else (X) +- (label_ref *) +- (pc))) +- where X is some comparison operator. */ +- +-static int +-avr_cbranch_cost (rtx x) +-{ +- bool difficult_p = difficult_comparison_operator (x, VOIDmode); +- +- if (reload_completed) +- { +- // After reload, we basically just have plain branches. +- return COSTS_N_INSNS (1 + difficult_p); +- } +- +- rtx xreg = XEXP (x, 0); +- rtx xval = XEXP (x, 1); +- machine_mode mode = GET_MODE (xreg); +- if (mode == VOIDmode) +- mode = GET_MODE (xval); +- int size = GET_MODE_SIZE (mode); +- +- if (GET_CODE (xreg) == ZERO_EXTEND +- || GET_CODE (xval) == ZERO_EXTEND) +- { +- // *cbranch..0/1, code = zero_extend. +- return COSTS_N_INSNS (size + 1); +- } +- +- if (GET_CODE (xreg) == SIGN_EXTEND +- || GET_CODE (xval) == SIGN_EXTEND) +- { +- // *cbranch..0/1, code = sign_extend. +- // Make it a bit cheaper than it actually is (less reg pressure). +- return COSTS_N_INSNS (size + 1 + 1); +- } +- +- bool reg_p = register_operand (xreg, mode); +- bool reg_or_0_p = reg_or_0_operand (xval, mode); +- +- return COSTS_N_INSNS (size +- // For the branch +- + 1 + difficult_p +- // Combine might propagate constants other than zero +- // into the 2nd operand. Make that more expensive. +- + 1 * (!reg_p || !reg_or_0_p)); +-} +- +- + /* Mutually recursive subroutine of avr_rtx_cost for calculating the + cost of an RTX operand given its context. X is the rtx of the + operand, MODE is its mode, and OUTER is the rtx_code of this +@@ -11486,15 +10844,6 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code, + *total += COSTS_N_INSNS (1); + return true; + } +- if (IOR == code +- && AND == GET_CODE (XEXP (x, 0)) +- && AND == GET_CODE (XEXP (x, 1)) +- && single_zero_operand (XEXP (XEXP (x, 0), 1), mode)) +- { +- // Open-coded bit transfer. +- *total = COSTS_N_INSNS (2); +- return true; +- } + *total = COSTS_N_INSNS (GET_MODE_SIZE (mode)); + *total += avr_operand_rtx_cost (XEXP (x, 0), mode, code, 0, speed); + if (!CONST_INT_P (XEXP (x, 1))) +@@ -12141,15 +11490,6 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code, + } + break; + +- case IF_THEN_ELSE: +- if (outer_code == SET +- && XEXP (x, 2) == pc_rtx +- && ordered_comparison_operator (XEXP (x, 0), VOIDmode)) +- { +- *total = avr_cbranch_cost (XEXP (x, 0)); +- return true; +- } +- + default: + break; + } +@@ -12175,52 +11515,6 @@ avr_rtx_costs (rtx x, machine_mode mode, int outer_code, + } + + +-/* Implement `TARGET_INSN_COST'. */ +-/* For some insns, it is not enough to look at the cost of the SET_SRC. +- In that case, have a look at the entire insn, e.g. during insn combine. */ +- +-static int +-avr_insn_cost (rtx_insn *insn, bool speed) +-{ +- const int unknown_cost = -1; +- int cost = unknown_cost; +- +- rtx set = single_set (insn); +- +- if (set +- && ZERO_EXTRACT == GET_CODE (SET_DEST (set))) +- { +- // Try find anything that would flip the extracted bit. +- bool not_bit_p = false; +- +- subrtx_iterator::array_type array; +- FOR_EACH_SUBRTX (iter, array, SET_SRC (set), NONCONST) +- { +- enum rtx_code code = GET_CODE (*iter); +- not_bit_p |= code == NOT || code == XOR || code == GE; +- } +- +- // Don't go too deep into the analysis. In almost all cases, +- // using BLD/BST is the best we can do for single-bit moves, +- // even considering CSE. +- cost = COSTS_N_INSNS (2 + not_bit_p); +- } +- +- if (cost != unknown_cost) +- { +- if (avr_log.rtx_costs) +- avr_edump ("\n%? (%s) insn_cost=%d\n%r\n", +- speed ? "speed" : "size", cost, insn); +- return cost; +- } +- +- // Resort to what rtlanal.cc::insn_cost() implements as a default +- // when targetm.insn_cost() is not implemented. +- +- return pattern_cost (PATTERN (insn), speed); +-} +- +- + /* Implement `TARGET_ADDRESS_COST'. */ + + static int +@@ -12308,6 +11602,281 @@ avr_normalize_condition (RTX_CODE condition) + } + } + ++/* Helper function for `avr_reorg'. */ ++ ++static rtx ++avr_compare_pattern (rtx_insn *insn) +{ -+ if (!__has_gthr_impl(key_delete)) { -+ return -1; -+ } ++ rtx pattern = single_set (insn); + -+ return __gthr_impl_key_delete(__key); -+} ++ if (pattern ++ && NONJUMP_INSN_P (insn) ++ && REG_P (SET_DEST (pattern)) ++ && REGNO (SET_DEST (pattern)) == REG_CC ++ && GET_CODE (SET_SRC (pattern)) == COMPARE) ++ { ++ machine_mode mode0 = GET_MODE (XEXP (SET_SRC (pattern), 0)); ++ machine_mode mode1 = GET_MODE (XEXP (SET_SRC (pattern), 1)); + -+void * -+__gthread_getspecific (__gthread_key_t __key) -+{ -+ if (!__has_gthr_impl(getspecific)) { -+ return NULL; -+ } ++ /* The 64-bit comparisons have fixed operands ACC_A and ACC_B. ++ They must not be swapped, thus skip them. */ + -+ return __gthr_impl_getspecific(__key); ++ if ((mode0 == VOIDmode || GET_MODE_SIZE (mode0) <= 4) ++ && (mode1 == VOIDmode || GET_MODE_SIZE (mode1) <= 4)) ++ return pattern; ++ } ++ ++ return NULL_RTX; +} + -+int -+__gthread_setspecific (__gthread_key_t __key, const void *__ptr) -+{ -+ if (!__has_gthr_impl(setspecific)) { -+ return -1; -+ } ++/* Helper function for `avr_reorg'. */ + -+ return __gthr_impl_setspecific(__key, __ptr); -+} ++/* Expansion of switch/case decision trees leads to code like + -+void -+__gthread_mutex_init_function (__gthread_mutex_t *__mutex) -+{ -+ if (__has_gthr_impl(mutex_init_function)) { -+ __gthr_impl_mutex_init_function(__mutex); -+ } -+} ++ REG_CC = compare (Reg, Num) ++ if (REG_CC == 0) ++ goto L1 + -+int -+__gthread_mutex_destroy (__gthread_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(mutex_destroy)) { -+ return -1; -+ } ++ REG_CC = compare (Reg, Num) ++ if (REG_CC > 0) ++ goto L2 + -+ return __gthr_impl_mutex_destroy(__mutex); -+} ++ The second comparison is superfluous and can be deleted. ++ The second jump condition can be transformed from a ++ "difficult" one to a "simple" one because "REG_CC > 0" and ++ "REG_CC >= 0" will have the same effect here. + -+int -+__gthread_mutex_lock (__gthread_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(mutex_lock)) { -+ return -1; -+ } ++ This function relies on the way switch/case is being expaned ++ as binary decision tree. For example code see PR 49903. + -+ return __gthr_impl_mutex_lock(__mutex); -+} ++ Return TRUE if optimization performed. ++ Return FALSE if nothing changed. + -+int -+__gthread_mutex_trylock (__gthread_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(mutex_trylock)) { -+ return -1; -+ } ++ INSN1 is a comparison, i.e. avr_compare_pattern != 0. + -+ return __gthr_impl_mutex_trylock(__mutex); -+} ++ We don't want to do this in text peephole because it is ++ tedious to work out jump offsets there and the second comparison ++ might have been transormed by `avr_reorg'. + -+int -+__gthread_mutex_unlock (__gthread_mutex_t *__mutex) ++ RTL peephole won't do because peephole2 does not scan across ++ basic blocks. */ ++ ++static bool ++avr_reorg_remove_redundant_compare (rtx_insn *insn1) +{ -+ if (!__has_gthr_impl(mutex_unlock)) { -+ return -1; -+ } ++ rtx comp1, ifelse1, xcond1; ++ rtx_insn *branch1; ++ rtx comp2, ifelse2, xcond2; ++ rtx_insn *branch2, *insn2; ++ enum rtx_code code; ++ rtx_insn *jump; ++ rtx target, cond; + -+ return __gthr_impl_mutex_unlock(__mutex); -+} ++ /* Look out for: compare1 - branch1 - compare2 - branch2 */ + -+int -+__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_init_function)) { -+ return -1; -+ } ++ branch1 = next_nonnote_nondebug_insn (insn1); ++ if (!branch1 || !JUMP_P (branch1)) ++ return false; + -+ return __gthr_impl_recursive_mutex_init_function(__mutex); -+} ++ insn2 = next_nonnote_nondebug_insn (branch1); ++ if (!insn2 || !avr_compare_pattern (insn2)) ++ return false; + -+int -+__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_lock)) { -+ return -1; -+ } ++ branch2 = next_nonnote_nondebug_insn (insn2); ++ if (!branch2 || !JUMP_P (branch2)) ++ return false; + -+ return __gthr_impl_recursive_mutex_lock(__mutex); -+} ++ comp1 = avr_compare_pattern (insn1); ++ comp2 = avr_compare_pattern (insn2); ++ xcond1 = single_set (branch1); ++ xcond2 = single_set (branch2); + -+int -+__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_trylock)) { -+ return -1; -+ } ++ if (!comp1 || !comp2 ++ || !rtx_equal_p (comp1, comp2) ++ || !xcond1 || SET_DEST (xcond1) != pc_rtx ++ || !xcond2 || SET_DEST (xcond2) != pc_rtx ++ || IF_THEN_ELSE != GET_CODE (SET_SRC (xcond1)) ++ || IF_THEN_ELSE != GET_CODE (SET_SRC (xcond2))) ++ { ++ return false; ++ } + -+ return __gthr_impl_recursive_mutex_trylock(__mutex); -+} ++ comp1 = SET_SRC (comp1); ++ ifelse1 = SET_SRC (xcond1); ++ ifelse2 = SET_SRC (xcond2); + -+int -+__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_unlock)) { -+ return -1; -+ } ++ /* comp is COMPARE now and ifelse is IF_THEN_ELSE. */ + -+ return __gthr_impl_recursive_mutex_unlock(__mutex); -+} ++ if (EQ != GET_CODE (XEXP (ifelse1, 0)) ++ || !REG_P (XEXP (comp1, 0)) ++ || !CONST_INT_P (XEXP (comp1, 1)) ++ || XEXP (ifelse1, 2) != pc_rtx ++ || XEXP (ifelse2, 2) != pc_rtx ++ || LABEL_REF != GET_CODE (XEXP (ifelse1, 1)) ++ || LABEL_REF != GET_CODE (XEXP (ifelse2, 1)) ++ || !COMPARISON_P (XEXP (ifelse2, 0)) ++ || REG_CC != REGNO (XEXP (XEXP (ifelse1, 0), 0)) ++ || REG_CC != REGNO (XEXP (XEXP (ifelse2, 0), 0)) ++ || const0_rtx != XEXP (XEXP (ifelse1, 0), 1) ++ || const0_rtx != XEXP (XEXP (ifelse2, 0), 1)) ++ { ++ return false; ++ } + -+int -+__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(recursive_mutex_destroy)) { -+ return -1; -+ } ++ /* We filtered the insn sequence to look like + -+ return __gthr_impl_recursive_mutex_destroy(__mutex); -+} ++ (set (reg:CC cc) ++ (compare (reg:M N) ++ (const_int VAL))) ++ (set (pc) ++ (if_then_else (eq (reg:CC cc) ++ (const_int 0)) ++ (label_ref L1) ++ (pc))) + -+void -+__gthread_cond_init_function (__gthread_cond_t *__cond) -+{ -+ if (__has_gthr_impl(cond_init_function)) { -+ __gthr_impl_cond_init_function(__cond); -+ } -+} ++ (set (reg:CC cc) ++ (compare (reg:M N) ++ (const_int VAL))) ++ (set (pc) ++ (if_then_else (CODE (reg:CC cc) ++ (const_int 0)) ++ (label_ref L2) ++ (pc))) ++ */ + -+int -+__gthread_cond_broadcast (__gthread_cond_t *__cond) -+{ -+ if (!__has_gthr_impl(cond_broadcast)) { -+ return -1; -+ } ++ code = GET_CODE (XEXP (ifelse2, 0)); + -+ return __gthr_impl_cond_broadcast(__cond); -+} ++ /* Map GT/GTU to GE/GEU which is easier for AVR. ++ The first two instructions compare/branch on EQ ++ so we may replace the difficult + -+int -+__gthread_cond_signal (__gthread_cond_t *__cond) -+{ -+ if (!__has_gthr_impl(cond_signal)) { -+ return -1; -+ } ++ if (x == VAL) goto L1; ++ if (x > VAL) goto L2; + -+ return __gthr_impl_cond_signal(__cond); -+} ++ with easy + -+int -+__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(cond_wait)) { -+ return -1; -+ } ++ if (x == VAL) goto L1; ++ if (x >= VAL) goto L2; + -+ return __gthr_impl_cond_wait(__cond, __mutex); -+} ++ Similarly, replace LE/LEU by LT/LTU. */ + -+int -+__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, -+ const __gthread_time_t *__abs_timeout) -+{ -+ if (!__has_gthr_impl(cond_timedwait)) { -+ return -1; -+ } ++ switch (code) ++ { ++ case EQ: ++ case LT: case LTU: ++ case GE: case GEU: ++ break; + -+ return __gthr_impl_cond_timedwait(__cond, __mutex, __abs_timeout); -+} ++ case LE: case LEU: ++ case GT: case GTU: ++ code = avr_normalize_condition (code); ++ break; + -+int -+__gthread_cond_wait_recursive (__gthread_cond_t *__cond, -+ __gthread_recursive_mutex_t *__mutex) -+{ -+ if (!__has_gthr_impl(cond_wait_recursive)) { -+ return -1; -+ } ++ default: ++ return false; ++ } + -+ return __gthr_impl_cond_wait_recursive(__cond, __mutex); -+} ++ /* Wrap the branches into UNSPECs so they won't be changed or ++ optimized in the remainder. */ + -+int -+__gthread_cond_destroy (__gthread_cond_t* __cond) -+{ -+ if (!__has_gthr_impl(cond_destroy)) { -+ return -1; -+ } ++ target = XEXP (XEXP (ifelse1, 1), 0); ++ cond = XEXP (ifelse1, 0); ++ jump = emit_jump_insn_after (gen_branch_unspec (target, cond), insn1); + -+ return __gthr_impl_cond_destroy(__cond); -+} -diff --git a/libgcc/config/rs6000/gthr-dkp.h b/libgcc/config/rs6000/gthr-dkp.h -new file mode 100644 -index 00000000000..72ecf82ab83 ---- /dev/null -+++ b/libgcc/config/rs6000/gthr-dkp.h -@@ -0,0 +1,187 @@ -+/* Threads compatibility routines for libgcc2 and libobjc. */ -+/* Compile this one with gcc. */ -+/* Copyright (C) 1997-2016 Free Software Foundation, Inc. ++ JUMP_LABEL (jump) = JUMP_LABEL (branch1); + -+This file is part of GCC. ++ target = XEXP (XEXP (ifelse2, 1), 0); ++ cond = gen_rtx_fmt_ee (code, VOIDmode, cc_reg_rtx, const0_rtx); ++ jump = emit_jump_insn_after (gen_branch_unspec (target, cond), insn2); + -+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. ++ JUMP_LABEL (jump) = JUMP_LABEL (branch2); + -+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. ++ /* The comparisons in insn1 and insn2 are exactly the same; ++ insn2 is superfluous so delete it. */ + -+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. ++ delete_insn (insn2); ++ delete_insn (branch1); ++ delete_insn (branch2); + -+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 -+. */ ++ return true; ++} + -+#ifndef _GLIBCXX_GCC_GTHR_DKP_H -+#define _GLIBCXX_GCC_GTHR_DKP_H + -+#define __GTHREADS 1 -+#define __GTHREADS_CXX0X 1 ++/* Implement `TARGET_MACHINE_DEPENDENT_REORG'. */ ++/* Optimize conditional jumps. */ + -+#ifdef __cplusplus -+extern "C" { -+#endif ++static void ++avr_reorg (void) ++{ ++ rtx_insn *insn = get_insns(); + -+typedef void * __gthread_t; -+typedef struct { int padding[7]; } __gthread_cond_t; -+typedef struct { int padding; } __gthread_key_t; -+typedef struct { int padding[11]; } __gthread_mutex_t; -+typedef struct { int padding; } __gthread_once_t; -+typedef struct { int padding[11]; } __gthread_recursive_mutex_t; -+typedef struct timespec __gthread_time_t; ++ for (insn = next_real_insn (insn); insn; insn = next_real_insn (insn)) ++ { ++ rtx pattern = avr_compare_pattern (insn); + -+#define __GTHREAD_HAS_COND 1 -+#define _GTHREAD_USE_MUTEX_TIMEDLOCK 0 ++ if (!pattern) ++ continue; + -+#define __GTHREAD_ONCE_INIT { 0 } -+#define __GTHREAD_TIME_INIT { 0, 0 } ++ if (optimize ++ && avr_reorg_remove_redundant_compare (insn)) ++ { ++ continue; ++ } + -+#define __GTHREAD_COND_INIT_FUNCTION __gthread_cond_init_function -+#define __GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function -+#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function ++ if (compare_diff_p (insn)) ++ { ++ /* Now we work under compare insn with difficult branch. */ + -+#ifdef _BUILDING_LIBGCC -+#define __GTHR_IMPL(_name) __attribute__((weak)) __gthr_impl_##_name -+#define __has_gthr_impl(_name) (&__gthr_impl_##_name) -+#else -+#define __GTHR_IMPL(_name) __gthr_impl_##_name -+#endif ++ rtx_insn *next = next_real_insn (insn); ++ rtx pat = PATTERN (next); ++ if (GET_CODE (pat) == PARALLEL) ++ pat = XVECEXP (pat, 0, 0); + -+int __GTHR_IMPL(active) (void); -+int __GTHR_IMPL(create) (__gthread_t *__threadid, void *(*__func) (void*), void *__args); -+int __GTHR_IMPL(join) (__gthread_t __threadid, void **__value_ptr); -+int __GTHR_IMPL(detach) (__gthread_t __threadid); -+int __GTHR_IMPL(equal) (__gthread_t __t1, __gthread_t __t2); -+__gthread_t __GTHR_IMPL(self) (void); -+int __GTHR_IMPL(yield) (void); -+int __GTHR_IMPL(once) (__gthread_once_t *__once, void (*__func) (void)); -+int __GTHR_IMPL(key_create) (__gthread_key_t *__key, void (*__dtor) (void *)); -+int __GTHR_IMPL(key_delete) (__gthread_key_t __key); -+void * __GTHR_IMPL(getspecific) (__gthread_key_t __key); -+int __GTHR_IMPL(setspecific) (__gthread_key_t __key, const void *__ptr); -+void __GTHR_IMPL(mutex_init_function) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(mutex_destroy) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(mutex_lock) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(mutex_trylock) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(mutex_unlock) (__gthread_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_init_function) (__gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_lock) (__gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_trylock) (__gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_unlock) (__gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(recursive_mutex_destroy) (__gthread_recursive_mutex_t *__mutex); -+void __GTHR_IMPL(cond_init_function) (__gthread_cond_t *__cond); -+int __GTHR_IMPL(cond_broadcast) (__gthread_cond_t *__cond); -+int __GTHR_IMPL(cond_signal) (__gthread_cond_t *__cond); -+int __GTHR_IMPL(cond_wait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); -+int __GTHR_IMPL(cond_timedwait) (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, -+ const __gthread_time_t *__abs_timeout); -+int __GTHR_IMPL(cond_wait_recursive) (__gthread_cond_t *__cond, -+ __gthread_recursive_mutex_t *__mutex); -+int __GTHR_IMPL(cond_destroy) (__gthread_cond_t* __cond); ++ pattern = SET_SRC (pattern); + -+int -+__gthread_active_p (void); ++ if (true_regnum (XEXP (pattern, 0)) >= 0 ++ && true_regnum (XEXP (pattern, 1)) >= 0) ++ { ++ rtx x = XEXP (pattern, 0); ++ rtx src = SET_SRC (pat); ++ rtx t = XEXP (src, 0); ++ PUT_CODE (t, swap_condition (GET_CODE (t))); ++ XEXP (pattern, 0) = XEXP (pattern, 1); ++ XEXP (pattern, 1) = x; ++ INSN_CODE (next) = -1; ++ } ++ else if (true_regnum (XEXP (pattern, 0)) >= 0 ++ && XEXP (pattern, 1) == const0_rtx) ++ { ++ /* This is a tst insn, we can reverse it. */ ++ rtx src = SET_SRC (pat); ++ rtx t = XEXP (src, 0); + -+int -+__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), -+ void *__args); ++ PUT_CODE (t, swap_condition (GET_CODE (t))); ++ XEXP (pattern, 1) = XEXP (pattern, 0); ++ XEXP (pattern, 0) = const0_rtx; ++ INSN_CODE (next) = -1; ++ INSN_CODE (insn) = -1; ++ } ++ else if (true_regnum (XEXP (pattern, 0)) >= 0 ++ && CONST_INT_P (XEXP (pattern, 1))) ++ { ++ rtx x = XEXP (pattern, 1); ++ rtx src = SET_SRC (pat); ++ rtx t = XEXP (src, 0); ++ machine_mode mode = GET_MODE (XEXP (pattern, 0)); + -+int -+__gthread_join (__gthread_t __threadid, void **__value_ptr); ++ if (avr_simplify_comparison_p (mode, GET_CODE (t), x)) ++ { ++ XEXP (pattern, 1) = gen_int_mode (INTVAL (x) + 1, mode); ++ PUT_CODE (t, avr_normalize_condition (GET_CODE (t))); ++ INSN_CODE (next) = -1; ++ INSN_CODE (insn) = -1; ++ } ++ } ++ } ++ } ++} + + /* Returns register number for function return value.*/ + +@@ -15003,8 +14572,6 @@ avr_float_lib_compare_returns_bool (machine_mode mode, enum rtx_code) + #undef TARGET_ASM_FINAL_POSTSCAN_INSN + #define TARGET_ASM_FINAL_POSTSCAN_INSN avr_asm_final_postscan_insn + +-#undef TARGET_INSN_COST +-#define TARGET_INSN_COST avr_insn_cost + #undef TARGET_REGISTER_MOVE_COST + #define TARGET_REGISTER_MOVE_COST avr_register_move_cost + #undef TARGET_MEMORY_MOVE_COST +@@ -15013,6 +14580,8 @@ avr_float_lib_compare_returns_bool (machine_mode mode, enum rtx_code) + #define TARGET_RTX_COSTS avr_rtx_costs + #undef TARGET_ADDRESS_COST + #define TARGET_ADDRESS_COST avr_address_cost ++#undef TARGET_MACHINE_DEPENDENT_REORG ++#define TARGET_MACHINE_DEPENDENT_REORG avr_reorg + #undef TARGET_FUNCTION_ARG + #define TARGET_FUNCTION_ARG avr_function_arg + #undef TARGET_FUNCTION_ARG_ADVANCE +@@ -15142,12 +14711,6 @@ avr_float_lib_compare_returns_bool (machine_mode mode, enum rtx_code) + #undef TARGET_MD_ASM_ADJUST + #define TARGET_MD_ASM_ADJUST avr_md_asm_adjust + +-#undef TARGET_CAN_INLINE_P +-#define TARGET_CAN_INLINE_P avr_can_inline_p +- +-#undef TARGET_CANONICALIZE_COMPARISON +-#define TARGET_CANONICALIZE_COMPARISON avr_canonicalize_comparison +- + struct gcc_target targetm = TARGET_INITIALIZER; + + +diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md +index 4278fdf8209..e581e959e57 100644 +--- a/gcc/config/avr/avr.md ++++ b/gcc/config/avr/avr.md +@@ -77,6 +77,7 @@ + UNSPEC_FMULS + UNSPEC_FMULSU + UNSPEC_COPYSIGN ++ UNSPEC_IDENTITY + UNSPEC_INSERT_BITS + UNSPEC_ROUND + ]) +@@ -164,7 +165,6 @@ + ashlsi, ashrsi, lshrsi, + ashlpsi, ashrpsi, lshrpsi, + insert_bits, insv_notbit, insv_notbit_0, insv_notbit_7, +- add_set_ZN, cmp_uext, cmp_sext, + no" + (const_string "no")) + +@@ -251,23 +251,11 @@ + (define_mode_iterator QIHI2 [QI HI]) + (define_mode_iterator QISI [QI HI PSI SI]) + (define_mode_iterator QIDI [QI HI PSI SI DI]) +-(define_mode_iterator QIPSI [QI HI PSI]) + (define_mode_iterator HISI [HI PSI SI]) + +-;; Ordered integral and fixed-point modes of specific sizes. + (define_mode_iterator ALL1 [QI QQ UQQ]) + (define_mode_iterator ALL2 [HI HQ UHQ HA UHA]) + (define_mode_iterator ALL4 [SI SQ USQ SA USA]) +-(define_mode_iterator ALL234 [HI SI PSI +- HQ UHQ HA UHA +- SQ USQ SA USA]) +- +-;; Ordered signed integral and signed fixed-point modes of specific sizes. +-(define_mode_iterator ALLs1 [QI QQ]) +-(define_mode_iterator ALLs2 [HI HQ HA]) +-(define_mode_iterator ALLs4 [SI SQ SA]) +-(define_mode_iterator ALLs234 [HI SI PSI +- HQ HA SQ SA]) + + ;; All supported move-modes + (define_mode_iterator MOVMODE [QI QQ UQQ +@@ -285,17 +273,15 @@ + SQ USQ SA USA]) + + ;; Define code iterators +-;; Define two incarnations so that we can build the cartesian product. ++;; Define two incarnations so that we can build the cross product. + (define_code_iterator any_extend [sign_extend zero_extend]) + (define_code_iterator any_extend2 [sign_extend zero_extend]) + (define_code_iterator any_extract [sign_extract zero_extract]) + (define_code_iterator any_shiftrt [lshiftrt ashiftrt]) + +-(define_code_iterator piaop [plus ior and]) + (define_code_iterator bitop [xor ior and]) + (define_code_iterator xior [xor ior]) + (define_code_iterator eqne [eq ne]) +-(define_code_iterator gelt [ge lt]) + + (define_code_iterator ss_addsub [ss_plus ss_minus]) + (define_code_iterator us_addsub [us_plus us_minus]) +@@ -323,10 +309,6 @@ + [(ss_minus "") (us_minus "") + (ss_plus "%") (us_plus "%")]) + +-(define_code_attr gelt_eqne +- [(ge "eq") +- (lt "ne")]) +- + ;; Map RTX code to its standard insn name + (define_code_attr code_stdname + [(ashift "ashl") +@@ -1547,8 +1529,9 @@ + "#" + "&& reload_completed" + [(parallel [(set (match_dup 0) +- (plus:HI (zero_extend:HI (match_dup 1)) +- (zero_extend:HI (match_dup 2)))) ++ (plus:HI ++ (zero_extend:HI (match_dup 1)) ++ (zero_extend:HI (match_dup 2)))) + (clobber (reg:CC REG_CC))])]) + + +@@ -2169,8 +2152,7 @@ + (define_expand "mulqi3_call" + [(set (reg:QI 24) (match_operand:QI 1 "register_operand" "")) + (set (reg:QI 22) (match_operand:QI 2 "register_operand" "")) +- (parallel [(set (reg:QI 24) +- (mult:QI (reg:QI 24) (reg:QI 22))) ++ (parallel [(set (reg:QI 24) (mult:QI (reg:QI 24) (reg:QI 22))) + (clobber (reg:QI 22))]) + (set (match_operand:QI 0 "register_operand" "") (reg:QI 24))] + "" +@@ -2184,14 +2166,12 @@ + "!AVR_HAVE_MUL" + "#" + "&& reload_completed" +- [(parallel [(set (reg:QI 24) +- (mult:QI (reg:QI 24) (reg:QI 22))) ++ [(parallel [(set (reg:QI 24) (mult:QI (reg:QI 24) (reg:QI 22))) + (clobber (reg:QI 22)) + (clobber (reg:CC REG_CC))])]) + + (define_insn "*mulqi3_call" +- [(set (reg:QI 24) +- (mult:QI (reg:QI 24) (reg:QI 22))) ++ [(set (reg:QI 24) (mult:QI (reg:QI 24) (reg:QI 22))) + (clobber (reg:QI 22)) + (clobber (reg:CC REG_CC))] + "!AVR_HAVE_MUL && reload_completed" +@@ -2327,7 +2307,7 @@ + [(set (match_operand:PSI 0 "register_operand" "=r") + (plus:PSI (lshiftrt:PSI (match_operand:PSI 1 "register_operand" "r") + (const_int 23)) +- (match_operand:PSI 2 "register_operand" "0"))) ++ (match_operand:PSI 2 "register_operand" "0"))) + (clobber (reg:CC REG_CC))] + "reload_completed" + "mov __tmp_reg__,%C1\;lsl __tmp_reg__ +@@ -2453,7 +2433,7 @@ + [(set (match_operand:HI 0 "register_operand" "=r") + (mult:HI (sign_extend:HI (match_operand:QI 1 "register_operand" "a")) + (zero_extend:HI (match_operand:QI 2 "register_operand" "a")))) +- (clobber (reg:CC REG_CC))] ++ (clobber (reg:CC REG_CC))] + "AVR_HAVE_MUL && reload_completed" + "mulsu %1,%2 + movw %0,r0 +@@ -3108,7 +3088,7 @@ + [(parallel [(set (match_dup 0) + (mult:HI (zero_extend:HI (match_dup 1)) + (match_dup 2))) +- (clobber (reg:CC REG_CC))])]) ++ (clobber (reg:CC REG_CC))])]) + + (define_insn "*muluqihi3" + [(set (match_operand:HI 0 "register_operand" "=&r") +@@ -3726,17 +3706,17 @@ + ;; CSE has problems to operate on hard regs. + ;; + (define_insn_and_split "divmodqi4" +- [(set (match_operand:QI 0 "pseudo_register_operand") +- (div:QI (match_operand:QI 1 "pseudo_register_operand") +- (match_operand:QI 2 "pseudo_register_operand"))) +- (set (match_operand:QI 3 "pseudo_register_operand") ++ [(set (match_operand:QI 0 "pseudo_register_operand" "") ++ (div:QI (match_operand:QI 1 "pseudo_register_operand" "") ++ (match_operand:QI 2 "pseudo_register_operand" ""))) ++ (set (match_operand:QI 3 "pseudo_register_operand" "") + (mod:QI (match_dup 1) (match_dup 2))) + (clobber (reg:QI 22)) + (clobber (reg:QI 23)) + (clobber (reg:QI 24)) + (clobber (reg:QI 25))] + "" +- { gcc_unreachable(); } ++ "this divmodqi4 pattern should have been splitted;" + "" + [(set (reg:QI 24) (match_dup 1)) + (set (reg:QI 22) (match_dup 2)) +@@ -3772,17 +3752,17 @@ + [(set_attr "type" "xcall")]) + + (define_insn_and_split "udivmodqi4" +- [(set (match_operand:QI 0 "pseudo_register_operand") +- (udiv:QI (match_operand:QI 1 "pseudo_register_operand") +- (match_operand:QI 2 "pseudo_register_operand"))) +- (set (match_operand:QI 3 "pseudo_register_operand") +- (umod:QI (match_dup 1) (match_dup 2))) +- (clobber (reg:QI 22)) +- (clobber (reg:QI 23)) +- (clobber (reg:QI 24)) +- (clobber (reg:QI 25))] +- "" +- { gcc_unreachable(); } ++ [(set (match_operand:QI 0 "pseudo_register_operand" "") ++ (udiv:QI (match_operand:QI 1 "pseudo_register_operand" "") ++ (match_operand:QI 2 "pseudo_register_operand" ""))) ++ (set (match_operand:QI 3 "pseudo_register_operand" "") ++ (umod:QI (match_dup 1) (match_dup 2))) ++ (clobber (reg:QI 22)) ++ (clobber (reg:QI 23)) ++ (clobber (reg:QI 24)) ++ (clobber (reg:QI 25))] ++ "" ++ "this udivmodqi4 pattern should have been splitted;" + "" + [(set (reg:QI 24) (match_dup 1)) + (set (reg:QI 22) (match_dup 2)) +@@ -3814,17 +3794,17 @@ + [(set_attr "type" "xcall")]) + + (define_insn_and_split "divmodhi4" +- [(set (match_operand:HI 0 "pseudo_register_operand") +- (div:HI (match_operand:HI 1 "pseudo_register_operand") +- (match_operand:HI 2 "pseudo_register_operand"))) +- (set (match_operand:HI 3 "pseudo_register_operand") ++ [(set (match_operand:HI 0 "pseudo_register_operand" "") ++ (div:HI (match_operand:HI 1 "pseudo_register_operand" "") ++ (match_operand:HI 2 "pseudo_register_operand" ""))) ++ (set (match_operand:HI 3 "pseudo_register_operand" "") + (mod:HI (match_dup 1) (match_dup 2))) + (clobber (reg:QI 21)) + (clobber (reg:HI 22)) + (clobber (reg:HI 24)) + (clobber (reg:HI 26))] + "" +- { gcc_unreachable(); } ++ "this should have been splitted;" + "" + [(set (reg:HI 24) (match_dup 1)) + (set (reg:HI 22) (match_dup 2)) +@@ -3860,17 +3840,17 @@ + [(set_attr "type" "xcall")]) + + (define_insn_and_split "udivmodhi4" +- [(set (match_operand:HI 0 "pseudo_register_operand") +- (udiv:HI (match_operand:HI 1 "pseudo_register_operand") +- (match_operand:HI 2 "pseudo_register_operand"))) +- (set (match_operand:HI 3 "pseudo_register_operand") ++ [(set (match_operand:HI 0 "pseudo_register_operand" "") ++ (udiv:HI (match_operand:HI 1 "pseudo_register_operand" "") ++ (match_operand:HI 2 "pseudo_register_operand" ""))) ++ (set (match_operand:HI 3 "pseudo_register_operand" "") + (umod:HI (match_dup 1) (match_dup 2))) + (clobber (reg:QI 21)) + (clobber (reg:HI 22)) + (clobber (reg:HI 24)) + (clobber (reg:HI 26))] + "" +- { gcc_unreachable(); } ++ "this udivmodhi4 pattern should have been splitted.;" + "" + [(set (reg:HI 24) (match_dup 1)) + (set (reg:HI 22) (match_dup 2)) +@@ -3945,7 +3925,7 @@ + [(parallel [(set (match_dup 0) + (mult:PSI (zero_extend:PSI (match_dup 1)) + (zero_extend:PSI (match_dup 2)))) +- (clobber (reg:CC REG_CC))])]) ++ (clobber (reg:CC REG_CC))])]) + + (define_insn "*umulqihipsi3" + [(set (match_operand:PSI 0 "register_operand" "=&r") +@@ -4111,14 +4091,14 @@ + ;; implementation works the other way round. + + (define_insn_and_split "divmodpsi4" +- [(set (match_operand:PSI 0 "pseudo_register_operand") +- (div:PSI (match_operand:PSI 1 "pseudo_register_operand") +- (match_operand:PSI 2 "pseudo_register_operand"))) +- (set (match_operand:PSI 3 "pseudo_register_operand") +- (mod:PSI (match_dup 1) +- (match_dup 2))) +- (clobber (reg:DI 18)) +- (clobber (reg:QI 26))] ++ [(parallel [(set (match_operand:PSI 0 "pseudo_register_operand" "") ++ (div:PSI (match_operand:PSI 1 "pseudo_register_operand" "") ++ (match_operand:PSI 2 "pseudo_register_operand" ""))) ++ (set (match_operand:PSI 3 "pseudo_register_operand" "") ++ (mod:PSI (match_dup 1) ++ (match_dup 2))) ++ (clobber (reg:DI 18)) ++ (clobber (reg:QI 26))])] + "" + { gcc_unreachable(); } + "" +@@ -4160,14 +4140,14 @@ + [(set_attr "type" "xcall")]) + + (define_insn_and_split "udivmodpsi4" +- [(set (match_operand:PSI 0 "pseudo_register_operand") +- (udiv:PSI (match_operand:PSI 1 "pseudo_register_operand") +- (match_operand:PSI 2 "pseudo_register_operand"))) +- (set (match_operand:PSI 3 "pseudo_register_operand") +- (umod:PSI (match_dup 1) +- (match_dup 2))) +- (clobber (reg:DI 18)) +- (clobber (reg:QI 26))] ++ [(parallel [(set (match_operand:PSI 0 "pseudo_register_operand" "") ++ (udiv:PSI (match_operand:PSI 1 "pseudo_register_operand" "") ++ (match_operand:PSI 2 "pseudo_register_operand" ""))) ++ (set (match_operand:PSI 3 "pseudo_register_operand" "") ++ (umod:PSI (match_dup 1) ++ (match_dup 2))) ++ (clobber (reg:DI 18)) ++ (clobber (reg:QI 26))])] + "" + { gcc_unreachable(); } + "" +@@ -4211,18 +4191,17 @@ + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + + (define_insn_and_split "divmodsi4" +- [(set (match_operand:SI 0 "pseudo_register_operand") +- (div:SI (match_operand:SI 1 "pseudo_register_operand") +- (match_operand:SI 2 "pseudo_register_operand"))) +- (set (match_operand:SI 3 "pseudo_register_operand") +- (mod:SI (match_dup 1) +- (match_dup 2))) +- (clobber (reg:SI 18)) +- (clobber (reg:SI 22)) +- (clobber (reg:HI 26)) +- (clobber (reg:HI 30))] ++ [(parallel [(set (match_operand:SI 0 "pseudo_register_operand" "") ++ (div:SI (match_operand:SI 1 "pseudo_register_operand" "") ++ (match_operand:SI 2 "pseudo_register_operand" ""))) ++ (set (match_operand:SI 3 "pseudo_register_operand" "") ++ (mod:SI (match_dup 1) (match_dup 2))) ++ (clobber (reg:SI 18)) ++ (clobber (reg:SI 22)) ++ (clobber (reg:HI 26)) ++ (clobber (reg:HI 30))])] + "" +- { gcc_unreachable(); } ++ "this divmodsi4 pattern should have been splitted;" + "" + [(set (reg:SI 22) (match_dup 1)) + (set (reg:SI 18) (match_dup 2)) +@@ -4258,18 +4237,17 @@ + [(set_attr "type" "xcall")]) + + (define_insn_and_split "udivmodsi4" +- [(set (match_operand:SI 0 "pseudo_register_operand") +- (udiv:SI (match_operand:SI 1 "pseudo_register_operand") +- (match_operand:SI 2 "pseudo_register_operand"))) +- (set (match_operand:SI 3 "pseudo_register_operand") +- (umod:SI (match_dup 1) +- (match_dup 2))) +- (clobber (reg:SI 18)) +- (clobber (reg:SI 22)) +- (clobber (reg:HI 26)) +- (clobber (reg:HI 30))] ++ [(parallel [(set (match_operand:SI 0 "pseudo_register_operand" "") ++ (udiv:SI (match_operand:SI 1 "pseudo_register_operand" "") ++ (match_operand:SI 2 "pseudo_register_operand" ""))) ++ (set (match_operand:SI 3 "pseudo_register_operand" "") ++ (umod:SI (match_dup 1) (match_dup 2))) ++ (clobber (reg:SI 18)) ++ (clobber (reg:SI 22)) ++ (clobber (reg:HI 26)) ++ (clobber (reg:HI 30))])] + "" +- { gcc_unreachable(); } ++ "this udivmodsi4 pattern should have been splitted;" + "" + [(set (reg:SI 22) (match_dup 1)) + (set (reg:SI 18) (match_dup 2)) +@@ -4734,8 +4712,7 @@ + [(parallel [(set (match_operand:HISI 0 "register_operand") + (bitop:HISI (match_dup 0) + (match_operand:HISI 1 "register_operand"))) +- (clobber (scratch:QI)) +- (clobber (reg:CC REG_CC))])] ++ (clobber (scratch:QI))])] + "optimize + && reload_completed" + [(const_int 1)] +@@ -4749,43 +4726,6 @@ + DONE; + }) + +-;; If $0 = $0 const requires a QI scratch, and d-reg $1 dies after +-;; the first insn, then we can replace +-;; $0 = $1 +-;; $0 = $0 const +-;; by +-;; $1 = $1 const +-;; $0 = $1 +-;; This transorms constraint alternative "r,0,n,&d" of the first operation +-;; to alternative "d,0,n,X". +-;; "*addhi3_clobber" "*addpsi3" "*addsi3" +-;; "*addhq3" "*adduhq3" "*addha3" "*adduha3" +-;; "*addsq3" "*addusq3" "*addsa3" "*addusa3" +-;; "*iorhi3" "*iorpsi3" "*iorsi3" +-;; "*andhi3" "*andpsi3" "*andsi3" +-(define_peephole2 +- [(parallel [(set (match_operand:ORDERED234 0 "register_operand") +- (match_operand:ORDERED234 1 "d_register_operand")) +- (clobber (reg:CC REG_CC))]) +- (parallel [(set (match_dup 0) +- (piaop:ORDERED234 (match_dup 0) +- (match_operand:ORDERED234 2 "const_operand"))) +- ; A d-reg as scratch tells that this insn is expensive, and +- ; that $0 is not a d-register: l-reg or something like SI:14 etc. +- (clobber (match_operand:QI 3 "d_register_operand")) +- (clobber (reg:CC REG_CC))])] +- "peep2_reg_dead_p (1, operands[1])" +- [(parallel [(set (match_dup 1) +- (piaop:ORDERED234 (match_dup 1) +- (match_dup 2))) +- (clobber (scratch:QI)) +- (clobber (reg:CC REG_CC))]) +- ; Unfortunately, the following insn misses a REG_DEAD note for $1, +- ; so this peep2 works only once. +- (parallel [(set (match_dup 0) +- (match_dup 1)) +- (clobber (reg:CC REG_CC))])]) +- + + ;; swap swap swap swap swap swap swap swap swap swap swap swap swap swap swap + ;; swap +@@ -5744,7 +5684,7 @@ + ;; "lshrha3" "lshruha3" + (define_insn_and_split "lshr3" + [(set (match_operand:ALL2 0 "register_operand" "=r,r,r,r,r,r,r") +- (lshiftrt:ALL2 (match_operand:ALL2 1 "register_operand" "0,0,0,r,0,0,0") ++ (lshiftrt:ALL2 (match_operand:ALL2 1 "register_operand" "0,0,0,r,0,0,0") + (match_operand:QI 2 "nop_general_operand" "r,L,P,O,K,n,Qm")))] + "" + "#" +@@ -5756,7 +5696,7 @@ + + (define_insn "*lshr3" + [(set (match_operand:ALL2 0 "register_operand" "=r,r,r,r,r,r,r") +- (lshiftrt:ALL2 (match_operand:ALL2 1 "register_operand" "0,0,0,r,0,0,0") ++ (lshiftrt:ALL2 (match_operand:ALL2 1 "register_operand" "0,0,0,r,0,0,0") + (match_operand:QI 2 "nop_general_operand" "r,L,P,O,K,n,Qm"))) + (clobber (reg:CC REG_CC))] + "reload_completed" +@@ -6509,41 +6449,80 @@ + ;;<=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=> + ;; compare + +-;; "*swapped_tstqi" "*swapped_tstqq" +-(define_insn "*swapped_tst" ++; Optimize negated tests into reverse compare if overflow is undefined. ++(define_insn "*negated_tstqi" + [(set (reg:CC REG_CC) +- (compare:CC (match_operand:ALLs1 0 "const0_operand" "Y00") +- (match_operand:ALLs1 1 "register_operand" "r")))] +- "reload_completed" +- "cp __zero_reg__,%1" +-[(set_attr "length" "1")]) ++ (compare:CC (neg:QI (match_operand:QI 0 "register_operand" "r")) ++ (const_int 0)))] ++ "reload_completed && !flag_wrapv && !flag_trapv" ++ "cp __zero_reg__,%0" ++ [(set_attr "length" "1")]) + ++(define_insn "*reversed_tstqi" ++ [(set (reg:CC REG_CC) ++ (compare:CC (const_int 0) ++ (match_operand:QI 0 "register_operand" "r")))] ++ "reload_completed" ++ "cp __zero_reg__,%0" ++[(set_attr "length" "2")]) + +-;; "*swapped_tsthi" "*swapped_tsthq" "*swapped_tstha" +-(define_insn "*swapped_tst" ++(define_insn "*negated_tsthi" + [(set (reg:CC REG_CC) +- (compare:CC (match_operand:ALLs2 0 "const0_operand" "Y00") +- (match_operand:ALLs2 1 "register_operand" "r")))] ++ (compare:CC (neg:HI (match_operand:HI 0 "register_operand" "r")) ++ (const_int 0)))] ++ "reload_completed && !flag_wrapv && !flag_trapv" ++ "cp __zero_reg__,%A0 ++ cpc __zero_reg__,%B0" ++[(set_attr "length" "2")]) + -+int -+__gthread_detach (__gthread_t __threadid); ++;; Leave here the clobber used by the cmphi pattern for simplicity, even ++;; though it is unused, because this pattern is synthesized by avr_reorg. ++(define_insn "*reversed_tsthi" ++ [(set (reg:CC REG_CC) ++ (compare:CC (const_int 0) ++ (match_operand:HI 0 "register_operand" "r"))) ++ (clobber (match_scratch:QI 1 "=X"))] + "reload_completed" +- "cp __zero_reg__,%A1 +- cpc __zero_reg__,%B1" +- [(set_attr "length" "2")]) ++ "cp __zero_reg__,%A0 ++ cpc __zero_reg__,%B0" ++[(set_attr "length" "2")]) + ++(define_insn "*negated_tstpsi" ++ [(set (reg:CC REG_CC) ++ (compare:CC (neg:PSI (match_operand:PSI 0 "register_operand" "r")) ++ (const_int 0)))] ++ "reload_completed && !flag_wrapv && !flag_trapv" ++ "cp __zero_reg__,%A0\;cpc __zero_reg__,%B0\;cpc __zero_reg__,%C0" ++ [(set_attr "length" "3")]) + +-(define_insn "*swapped_tstpsi" ++(define_insn "*reversed_tstpsi" + [(set (reg:CC REG_CC) + (compare:CC (const_int 0) +- (match_operand:PSI 0 "register_operand" "r")))] ++ (match_operand:PSI 0 "register_operand" "r"))) ++ (clobber (match_scratch:QI 1 "=X"))] + "reload_completed" + "cp __zero_reg__,%A0\;cpc __zero_reg__,%B0\;cpc __zero_reg__,%C0" + [(set_attr "length" "3")]) + ++(define_insn "*negated_tstsi" ++ [(set (reg:CC REG_CC) ++ (compare:CC (neg:SI (match_operand:SI 0 "register_operand" "r")) ++ (const_int 0)))] ++ "reload_completed && !flag_wrapv && !flag_trapv" ++ "cp __zero_reg__,%A0 ++ cpc __zero_reg__,%B0 ++ cpc __zero_reg__,%C0 ++ cpc __zero_reg__,%D0" ++ [(set_attr "length" "4")]) + +-;; "*swapped_tstsi" "*swapped_tstsq" "*swapped_tstsa" +-(define_insn "*swapped_tst" ++;; "*reversed_tstsi" ++;; "*reversed_tstsq" "*reversed_tstusq" ++;; "*reversed_tstsa" "*reversed_tstusa" ++(define_insn "*reversed_tst" + [(set (reg:CC REG_CC) +- (compare:CC (match_operand:ALLs4 0 "const0_operand" "Y00") +- (match_operand:ALLs4 1 "register_operand" "r")))] ++ (compare:CC (match_operand:ALL4 0 "const0_operand" "Y00") ++ (match_operand:ALL4 1 "register_operand" "r"))) ++ (clobber (match_scratch:QI 2 "=X"))] + "reload_completed" + "cp __zero_reg__,%A1 + cpc __zero_reg__,%B1 +@@ -6557,40 +6536,38 @@ + (define_insn "cmp3" + [(set (reg:CC REG_CC) + (compare:CC (match_operand:ALL1 0 "register_operand" "r ,r,d") +- (match_operand:ALL1 1 "nonmemory_operand" "Y00,r,i")))] ++ (match_operand:ALL1 1 "nonmemory_operand" "Y00,r,i")))] + "reload_completed" + "@ +- cp %0, __zero_reg__ ++ tst %0 + cp %0,%1 + cpi %0,lo8(%1)" + [(set_attr "length" "1,1,1")]) + +- +-;; May be generated by "*cbranch..0/1". +-(define_insn "*cmp..0" ++(define_insn "*cmpqi_sign_extend" + [(set (reg:CC REG_CC) +- (compare:CC (any_extend:HISI (match_operand:QIPSI 0 "register_operand" "r")) +- (match_operand:HISI 1 "register_operand" "r")))] +- "reload_completed +- && GET_MODE_SIZE (mode) > GET_MODE_SIZE (mode)" +- { +- return avr_out_cmp_ext (operands, , nullptr); +- } +- [(set_attr "adjust_len" "cmp_ext")]) ++ (compare:CC (sign_extend:HI (match_operand:QI 0 "register_operand" "d")) ++ (match_operand:HI 1 "s8_operand" "n")))] ++ "reload_completed" ++ "cpi %0,lo8(%1)" ++ [(set_attr "length" "1")]) + +-;; Swapped version of the above. +-;; May be generated by "*cbranch..0/1". +-(define_insn "*cmp..1" + -+int -+__gthread_equal (__gthread_t __t1, __gthread_t __t2); ++(define_insn "*cmphi.zero-extend.0" + [(set (reg:CC REG_CC) +- (compare:CC (match_operand:HISI 0 "register_operand" "r") +- (any_extend:HISI (match_operand:QIPSI 1 "register_operand" "r"))))] +- "reload_completed +- && GET_MODE_SIZE (mode) > GET_MODE_SIZE (mode)" +- { +- return avr_out_cmp_ext (operands, , nullptr); +- } +- [(set_attr "adjust_len" "cmp_ext")]) ++ (compare:CC (zero_extend:HI (match_operand:QI 0 "register_operand" "r")) ++ (match_operand:HI 1 "register_operand" "r")))] ++ "reload_completed" ++ "cp %0,%A1\;cpc __zero_reg__,%B1" ++ [(set_attr "length" "2")]) + ++(define_insn "*cmphi.zero-extend.1" ++ [(set (reg:CC REG_CC) ++ (compare:CC (match_operand:HI 0 "register_operand" "r") ++ (zero_extend:HI (match_operand:QI 1 "register_operand" "r"))))] ++ "reload_completed" ++ "cp %A0,%1\;cpc %B0,__zero_reg__" ++ [(set_attr "length" "2")]) + + ;; "cmphi3" + ;; "cmphq3" "cmpuhq3" +@@ -6598,8 +6575,8 @@ + (define_insn "cmp3" + [(set (reg:CC REG_CC) + (compare:CC (match_operand:ALL2 0 "register_operand" "!w ,r ,r,d ,r ,d,r") +- (match_operand:ALL2 1 "nonmemory_operand" "Y00,Y00,r,s ,s ,M,n Ynn"))) +- (clobber (match_scratch:QI 2 "=X ,X ,X,&d,&d ,X,&d"))] ++ (match_operand:ALL2 1 "nonmemory_operand" "Y00,Y00,r,s ,s ,M,n Ynn"))) ++ (clobber (match_scratch:QI 2 "=X ,X ,X,&d,&d ,X,&d"))] + "reload_completed" + { + switch (which_alternative) +@@ -6626,14 +6603,14 @@ + + return avr_out_compare (insn, operands, NULL); + } +- [(set_attr "length" "2,2,2,3,4,2,4") ++ [(set_attr "length" "1,2,2,3,4,2,4") + (set_attr "adjust_len" "tsthi,tsthi,*,*,*,compare,compare")]) + + (define_insn "*cmppsi" + [(set (reg:CC REG_CC) + (compare:CC (match_operand:PSI 0 "register_operand" "r,r,d ,r ,d,r") +- (match_operand:PSI 1 "nonmemory_operand" "L,r,s ,s ,M,n"))) +- (clobber (match_scratch:QI 2 "=X,X,&d,&d ,X,&d"))] ++ (match_operand:PSI 1 "nonmemory_operand" "L,r,s ,s ,M,n"))) ++ (clobber (match_scratch:QI 2 "=X,X,&d,&d ,X,&d"))] + "reload_completed" + { + switch (which_alternative) +@@ -6664,8 +6641,8 @@ + (define_insn "*cmp" + [(set (reg:CC REG_CC) + (compare:CC (match_operand:ALL4 0 "register_operand" "r ,r ,d,r ,r") +- (match_operand:ALL4 1 "nonmemory_operand" "Y00,r ,M,M ,n Ynn"))) +- (clobber (match_scratch:QI 2 "=X ,X ,X,&d,&d"))] ++ (match_operand:ALL4 1 "nonmemory_operand" "Y00,r ,M,M ,n Ynn"))) ++ (clobber (match_scratch:QI 2 "=X ,X ,X,&d,&d"))] + "reload_completed" + { + if (0 == which_alternative) +@@ -6679,13 +6656,6 @@ + (set_attr "adjust_len" "tstsi,*,compare,compare,compare")]) + + +-;; A helper for avr_pass_ifelse::avr_rest_of_handle_ifelse(). +-(define_expand "gen_compare" +- [(parallel [(set (reg:CC REG_CC) +- (compare:CC (match_operand:HISI 0 "register_operand") +- (match_operand:HISI 1 "const_int_operand"))) +- (clobber (match_operand:QI 2 "scratch_operand"))])]) +- + ;; ---------------------------------------------------------------------- + ;; JUMP INSTRUCTIONS + ;; ---------------------------------------------------------------------- +@@ -6694,67 +6664,53 @@ + (define_expand "cbranch4" + [(set (pc) + (if_then_else (match_operator 0 "ordered_comparison_operator" +- [(match_operand:ALL1 1 "register_operand") +- (match_operand:ALL1 2 "nonmemory_operand")]) +- (label_ref (match_operand 3)) +- (pc)))] +- "" +- { +- int icode = (int) GET_CODE (operands[0]); +- +- targetm.canonicalize_comparison (&icode, &operands[1], &operands[2], false); +- PUT_CODE (operands[0], (enum rtx_code) icode); +- }) ++ [(match_operand:ALL1 1 "register_operand" "") ++ (match_operand:ALL1 2 "nonmemory_operand" "")]) ++ (label_ref (match_operand 3 "" "")) ++ (pc)))]) + + (define_expand "cbranch4" + [(parallel + [(set (pc) +- (if_then_else (match_operator 0 "ordered_comparison_operator" +- [(match_operand:ALL234 1 "register_operand") +- (match_operand:ALL234 2 "nonmemory_operand")]) +- (label_ref (match_operand 3)) +- (pc))) +- (clobber (match_scratch:QI 4))])] +- "" +- { +- int icode = (int) GET_CODE (operands[0]); +- +- targetm.canonicalize_comparison (&icode, &operands[1], &operands[2], false); +- PUT_CODE (operands[0], (enum rtx_code) icode); +- }) +- +- +-;; "cbranchqi4_insn" +-;; "cbranchqq4_insn" "cbranchuqq4_insn" +-(define_insn_and_split "cbranch4_insn" ++ (if_then_else ++ (match_operator 0 "ordered_comparison_operator" ++ [(match_operand:ORDERED234 1 "register_operand" "") ++ (match_operand:ORDERED234 2 "nonmemory_operand" "")]) ++ (label_ref (match_operand 3 "" "")) ++ (pc))) ++ (clobber (match_scratch:QI 4 ""))])]) + -+__gthread_t -+__gthread_self (void); ++;; "*cbranchqi4" ++;; "*cbranchqq4" "*cbranchuqq4" ++(define_insn_and_split "*cbranch4" + [(set (pc) + (if_then_else (match_operator 0 "ordered_comparison_operator" +- [(match_operand:ALL1 1 "register_operand" "r ,r,d") ++ [(match_operand:ALL1 1 "register_operand" "r ,r,d") + (match_operand:ALL1 2 "nonmemory_operand" "Y00,r,i")]) +- (label_ref (match_operand 3)) +- (pc)))] ++ (label_ref (match_operand 3 "" "")) ++ (pc)))] + "" + "#" + "reload_completed" + [(set (reg:CC REG_CC) +- (compare:CC (match_dup 1) (match_dup 2))) ++ (compare:CC (match_dup 1) (match_dup 2))) + (set (pc) + (if_then_else (match_op_dup 0 + [(reg:CC REG_CC) (const_int 0)]) + (label_ref (match_dup 3)) +- (pc)))]) ++ (pc)))] ++ "") + +-;; "cbranchsi4_insn" +-;; "cbranchsq4_insn" "cbranchusq4_insn" "cbranchsa4_insn" "cbranchusa4_insn" +-(define_insn_and_split "cbranch4_insn" ++;; "*cbranchsi4" "*cbranchsq4" "*cbranchusq4" "*cbranchsa4" "*cbranchusa4" ++(define_insn_and_split "*cbranch4" + [(set (pc) +- (if_then_else +- (match_operator 0 "ordered_comparison_operator" +- [(match_operand:ALL4 1 "register_operand" "r ,r,d,r ,r") +- (match_operand:ALL4 2 "nonmemory_operand" "Y00,r,M,M ,n Ynn")]) +- (label_ref (match_operand 3)) +- (pc))) +- (clobber (match_scratch:QI 4 "=X ,X,X,&d,&d"))] ++ (if_then_else ++ (match_operator 0 "ordered_comparison_operator" ++ [(match_operand:ALL4 1 "register_operand" "r ,r ,d,r ,r") ++ (match_operand:ALL4 2 "nonmemory_operand" "Y00,r ,M,M ,n Ynn")]) ++ (label_ref (match_operand 3 "" "")) ++ (pc))) ++ (clobber (match_scratch:QI 4 "=X ,X ,X,&d,&d"))] + "" + "#" + "reload_completed" +@@ -6765,18 +6721,19 @@ + (if_then_else (match_op_dup 0 + [(reg:CC REG_CC) (const_int 0)]) + (label_ref (match_dup 3)) +- (pc)))]) ++ (pc)))] ++ "") + +-;; "cbranchpsi4_insn" +-(define_insn_and_split "cbranchpsi4_insn" ++;; "*cbranchpsi4" ++(define_insn_and_split "*cbranchpsi4" + [(set (pc) +- (if_then_else +- (match_operator 0 "ordered_comparison_operator" +- [(match_operand:PSI 1 "register_operand" "r,r,d ,r ,d,r") +- (match_operand:PSI 2 "nonmemory_operand" "L,r,s ,s ,M,n")]) +- (label_ref (match_operand 3)) +- (pc))) +- (clobber (match_scratch:QI 4 "=X,X,&d,&d,X,&d"))] ++ (if_then_else ++ (match_operator 0 "ordered_comparison_operator" ++ [(match_operand:PSI 1 "register_operand" "r,r,d ,r ,d,r") ++ (match_operand:PSI 2 "nonmemory_operand" "L,r,s ,s ,M,n")]) ++ (label_ref (match_operand 3 "" "")) ++ (pc))) ++ (clobber (match_scratch:QI 4 "=X,X,&d,&d ,X,&d"))] + "" + "#" + "reload_completed" +@@ -6787,19 +6744,19 @@ + (if_then_else (match_op_dup 0 + [(reg:CC REG_CC) (const_int 0)]) + (label_ref (match_dup 3)) +- (pc)))]) ++ (pc)))] ++ "") + +-;; "cbranchhi4_insn" +-;; "cbranchhq4_insn" "cbranchuhq4_insn" "cbranchha4_insn" "cbranchuha4_insn" +-(define_insn_and_split "cbranch4_insn" ++;; "*cbranchhi4" "*cbranchhq4" "*cbranchuhq4" "*cbranchha4" "*cbranchuha4" ++(define_insn_and_split "*cbranch4" + [(set (pc) +- (if_then_else +- (match_operator 0 "ordered_comparison_operator" +- [(match_operand:ALL2 1 "register_operand" "!w ,r ,r,d ,r ,d,r") +- (match_operand:ALL2 2 "nonmemory_operand" "Y00,Y00,r,s ,s ,M,n Ynn")]) +- (label_ref (match_operand 3)) +- (pc))) +- (clobber (match_scratch:QI 4 "=X ,X ,X,&d,&d,X,&d"))] ++ (if_then_else ++ (match_operator 0 "ordered_comparison_operator" ++ [(match_operand:ALL2 1 "register_operand" "!w ,r ,r,d ,r ,d,r") ++ (match_operand:ALL2 2 "nonmemory_operand" "Y00,Y00,r,s ,s ,M,n Ynn")]) ++ (label_ref (match_operand 3 "" "")) ++ (pc))) ++ (clobber (match_scratch:QI 4 "=X ,X ,X,&d,&d ,X,&d"))] + "" + "#" + "reload_completed" +@@ -6810,71 +6767,8 @@ + (if_then_else (match_op_dup 0 + [(reg:CC REG_CC) (const_int 0)]) + (label_ref (match_dup 3)) +- (pc)))]) +- +-;; Combiner pattern to compare sign- or zero-extended register against +-;; a wider register, like comparing uint8_t against uint16_t. +-(define_insn_and_split "*cbranch..0" +- [(set (pc) +- (if_then_else (match_operator 0 "ordered_comparison_operator" +- [(any_extend:HISI (match_operand:QIPSI 1 "register_operand" "r")) +- (match_operand:HISI 2 "register_operand" "r")]) +- (label_ref (match_operand 3)) +- (pc)))] +- "optimize +- && GET_MODE_SIZE (mode) > GET_MODE_SIZE (mode)" +- "#" +- "&& reload_completed" +- [; "*cmp..0" +- (set (reg:CC REG_CC) +- (compare:CC (match_dup 1) +- (match_dup 2))) +- ; "branch" +- (set (pc) +- (if_then_else (match_op_dup 0 [(reg:CC REG_CC) +- (const_int 0)]) +- (label_ref (match_dup 3)) +- (pc)))] +- { +- operands[1] = gen_rtx_ (mode, operands[1]); +- if (difficult_comparison_operator (operands[0], VOIDmode)) +- { +- PUT_CODE (operands[0], swap_condition (GET_CODE (operands[0]))); +- std::swap (operands[1], operands[2]); +- } +- }) +- +-;; Same combiner pattern, but with swapped operands. +-(define_insn_and_split "*cbranch..0" +- [(set (pc) +- (if_then_else (match_operator 0 "ordered_comparison_operator" +- [(match_operand:HISI 1 "register_operand" "r") +- (any_extend:HISI (match_operand:QIPSI 2 "register_operand" "r"))]) +- (label_ref (match_operand 3)) +- (pc)))] +- "optimize +- && GET_MODE_SIZE (mode) > GET_MODE_SIZE (mode)" +- "#" +- "&& reload_completed" +- [; "*cmp..0" +- (set (reg:CC REG_CC) +- (compare:CC (match_dup 1) +- (match_dup 2))) +- ; "branch" +- (set (pc) +- (if_then_else (match_op_dup 0 [(reg:CC REG_CC) +- (const_int 0)]) +- (label_ref (match_dup 3)) +- (pc)))] +- { +- operands[2] = gen_rtx_ (mode, operands[2]); +- if (difficult_comparison_operator (operands[0], VOIDmode)) +- { +- PUT_CODE (operands[0], swap_condition (GET_CODE (operands[0]))); +- std::swap (operands[1], operands[2]); +- } +- }) +- ++ (pc)))] ++ "") + + ;; Test a single bit in a QI/HI/SImode register. + ;; Combine will create zero extract patterns for single bit tests. +@@ -6948,11 +6842,14 @@ + "#" + "&& reload_completed" + [(parallel [(set (pc) +- (if_then_else (match_op_dup 0 [(and:QISI (match_dup 1) +- (match_dup 2)) +- (const_int 0)]) +- (label_ref (match_dup 3)) +- (pc))) ++ (if_then_else ++ (match_op_dup 0 ++ [(and:QISI ++ (match_dup 1) ++ (match_dup 2)) ++ (const_int 0)]) ++ (label_ref (match_dup 3)) ++ (pc))) + (clobber (reg:CC REG_CC))])]) + + (define_insn "*sbrx_and_branch" +@@ -6981,77 +6878,163 @@ + (const_int 2) + (const_int 4))))]) + ++;; Convert sign tests to bit 7/15/31 tests that match the above insns. ++(define_peephole2 ++ [(set (reg:CC REG_CC) (compare:CC (match_operand:QI 0 "register_operand" "") ++ (const_int 0))) ++ (parallel [(set (pc) (if_then_else (ge (reg:CC REG_CC) (const_int 0)) ++ (label_ref (match_operand 1 "" "")) ++ (pc))) ++ (clobber (reg:CC REG_CC))])] ++ "" ++ [(parallel [(set (pc) (if_then_else (eq (zero_extract:HI (match_dup 0) ++ (const_int 1) ++ (const_int 7)) ++ (const_int 0)) ++ (label_ref (match_dup 1)) ++ (pc))) ++ (clobber (reg:CC REG_CC))])]) + +-;; Convert sign tests to bit 7 tests that match the above insns. +-(define_peephole2 ; "*sbrx_branch" +- [(set (reg:CC REG_CC) +- (compare:CC (match_operand:ALLs1 0 "register_operand") +- (match_operand:ALLs1 1 "const0_operand"))) +- (set (pc) +- (if_then_else (gelt (reg:CC REG_CC) +- (const_int 0)) +- (label_ref (match_operand 2)) +- (pc)))] +- "peep2_regno_dead_p (2, REG_CC)" +- [(parallel [(set (pc) +- (if_then_else ( (zero_extract:HI (match_dup 0) +- (const_int 1) +- (match_dup 1)) +- (const_int 0)) +- (label_ref (match_dup 2)) +- (pc))) ++(define_peephole2 ++ [(set (reg:CC REG_CC) (compare:CC (match_operand:QI 0 "register_operand" "") ++ (const_int 0))) ++ (parallel [(set (pc) (if_then_else (lt (reg:CC REG_CC) (const_int 0)) ++ (label_ref (match_operand 1 "" "")) ++ (pc))) + (clobber (reg:CC REG_CC))])] +- { +- operands[0] = avr_to_int_mode (operands[0]); +- operands[1] = GEN_INT (GET_MODE_BITSIZE (mode) - 1); +- }) ++ "" ++ [(parallel [(set (pc) (if_then_else (ne (zero_extract:HI (match_dup 0) ++ (const_int 1) ++ (const_int 7)) ++ (const_int 0)) ++ (label_ref (match_dup 1)) ++ (pc))) ++ (clobber (reg:CC REG_CC))])]) + +-;; Convert sign tests to bit 15/23/31 tests that match the above insns. +-(define_peephole2 ; "*sbrx_branch" +- [(parallel [(set (reg:CC REG_CC) +- (compare:CC (match_operand:ALLs234 0 "register_operand") +- (match_operand:ALLs234 1 "const0_operand"))) +- (clobber (match_operand:QI 3 "scratch_operand"))]) +- (set (pc) +- (if_then_else (gelt (reg:CC REG_CC) +- (const_int 0)) +- (label_ref (match_operand 2)) +- (pc)))] +- "peep2_regno_dead_p (2, REG_CC)" +- [(parallel [(set (pc) +- (if_then_else ( (zero_extract:HI (match_dup 0) +- (const_int 1) +- (match_dup 1)) +- (const_int 0)) +- (label_ref (match_dup 2)) +- (pc))) ++(define_peephole2 ++ [(parallel [(set (reg:CC REG_CC) (compare:CC (match_operand:HI 0 "register_operand" "") ++ (const_int 0))) ++ (clobber (match_operand:HI 2 ""))]) ++ (parallel [(set (pc) (if_then_else (ge (reg:CC REG_CC) (const_int 0)) ++ (label_ref (match_operand 1 "" "")) ++ (pc))) + (clobber (reg:CC REG_CC))])] +- { +- operands[0] = avr_to_int_mode (operands[0]); +- operands[1] = GEN_INT (GET_MODE_BITSIZE (mode) - 1); +- }) ++ "" ++ [(parallel [(set (pc) (if_then_else (eq (and:HI (match_dup 0) (const_int -32768)) ++ (const_int 0)) ++ (label_ref (match_dup 1)) ++ (pc))) ++ (clobber (reg:CC REG_CC))])]) + ++(define_peephole2 ++ [(parallel [(set (reg:CC REG_CC) (compare:CC (match_operand:HI 0 "register_operand" "") ++ (const_int 0))) ++ (clobber (match_operand:HI 2 ""))]) ++ (parallel [(set (pc) (if_then_else (lt (reg:CC REG_CC) (const_int 0)) ++ (label_ref (match_operand 1 "" "")) ++ (pc))) ++ (clobber (reg:CC REG_CC))])] ++ "" ++ [(parallel [(set (pc) (if_then_else (ne (and:HI (match_dup 0) (const_int -32768)) ++ (const_int 0)) ++ (label_ref (match_dup 1)) ++ (pc))) ++ (clobber (reg:CC REG_CC))])]) + -+int -+__gthread_yield (void); ++(define_peephole2 ++ [(parallel [(set (reg:CC REG_CC) (compare:CC (match_operand:SI 0 "register_operand" "") ++ (const_int 0))) ++ (clobber (match_operand:SI 2 ""))]) ++ (parallel [(set (pc) (if_then_else (ge (reg:CC REG_CC) (const_int 0)) ++ (label_ref (match_operand 1 "" "")) ++ (pc))) ++ (clobber (reg:CC REG_CC))])] ++ "" ++ [(parallel [(set (pc) (if_then_else (eq (and:SI (match_dup 0) (match_dup 2)) ++ (const_int 0)) ++ (label_ref (match_dup 1)) ++ (pc))) ++ (clobber (reg:CC REG_CC))])] ++ "operands[2] = gen_int_mode (-2147483647 - 1, SImode);") + -+int -+__gthread_once (__gthread_once_t *__once, void (*__func) (void)); ++(define_peephole2 ++ [(parallel [(set (reg:CC REG_CC) (compare:CC (match_operand:SI 0 "register_operand" "") ++ (const_int 0))) ++ (clobber (match_operand:SI 2 ""))]) ++ (parallel [(set (pc) (if_then_else (lt (reg:CC REG_CC) (const_int 0)) ++ (label_ref (match_operand 1 "" "")) ++ (pc))) ++ (clobber (reg:CC REG_CC))])] ++ "" ++ [(parallel [(set (pc) (if_then_else (ne (and:SI (match_dup 0) (match_dup 2)) ++ (const_int 0)) ++ (label_ref (match_dup 1)) ++ (pc))) ++ (clobber (reg:CC REG_CC))])] ++ "operands[2] = gen_int_mode (-2147483647 - 1, SImode);") + + ;; ************************************************************************ + ;; Implementation of conditional jumps here. + ;; Compare with 0 (test) jumps + ;; ************************************************************************ + +-(define_insn "branch" ++(define_insn_and_split "branch" + [(set (pc) + (if_then_else (match_operator 1 "simple_comparison_operator" +- [(reg:CC REG_CC) +- (const_int 0)]) +- (label_ref (match_operand 0)) ++ [(reg:CC REG_CC) ++ (const_int 0)]) ++ (label_ref (match_operand 0 "" "")) + (pc)))] + "reload_completed" ++ "#" ++ "&& reload_completed" ++ [(parallel [(set (pc) ++ (if_then_else (match_op_dup 1 ++ [(reg:CC REG_CC) ++ (const_int 0)]) ++ (label_ref (match_dup 0)) ++ (pc))) ++ (clobber (reg:CC REG_CC))])]) + -+int -+__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)); ++(define_insn "*branch" ++ [(set (pc) ++ (if_then_else (match_operator 1 "simple_comparison_operator" ++ [(reg:CC REG_CC) ++ (const_int 0)]) ++ (label_ref (match_operand 0 "" "")) ++ (pc))) ++ (clobber (reg:CC REG_CC))] ++ "reload_completed" ++ { ++ return ret_cond_branch (operands[1], avr_jump_mode (operands[0], insn), 0); ++ } ++ [(set_attr "type" "branch")]) + -+int -+__gthread_key_delete (__gthread_key_t __key); + -+void * -+__gthread_getspecific (__gthread_key_t __key); ++;; Same as above but wrap SET_SRC so that this branch won't be transformed ++;; or optimized in the remainder. + -+int -+__gthread_setspecific (__gthread_key_t __key, const void *__ptr); ++(define_insn "branch_unspec" ++ [(set (pc) ++ (unspec [(if_then_else (match_operator 1 "simple_comparison_operator" ++ [(reg:CC REG_CC) ++ (const_int 0)]) ++ (label_ref (match_operand 0 "" "")) ++ (pc)) ++ ] UNSPEC_IDENTITY)) ++ (clobber (reg:CC REG_CC))] ++ "reload_completed" + { + return ret_cond_branch (operands[1], avr_jump_mode (operands[0], insn), 0); + } + [(set_attr "type" "branch")]) + ++;; **************************************************************** ++;; AVR does not have following conditional jumps: LE,LEU,GT,GTU. ++;; Convert them all to proper jumps. ++;; ****************************************************************/ + +-(define_insn "difficult_branch" ++(define_insn_and_split "difficult_branch" + [(set (pc) + (if_then_else (match_operator 1 "difficult_comparison_operator" + [(reg:CC REG_CC) +@@ -7059,11 +7042,95 @@ + (label_ref (match_operand 0 "" "")) + (pc)))] + "reload_completed" ++ "#" ++ "&& reload_completed" ++ [(parallel [(set (pc) ++ (if_then_else (match_op_dup 1 ++ [(reg:CC REG_CC) ++ (const_int 0)]) ++ (label_ref (match_dup 0)) ++ (pc))) ++ (clobber (reg:CC REG_CC))])]) + -+void -+__gthread_mutex_init_function (__gthread_mutex_t *__mutex); ++(define_insn "*difficult_branch" ++ [(set (pc) ++ (if_then_else (match_operator 1 "difficult_comparison_operator" ++ [(reg:CC REG_CC) ++ (const_int 0)]) ++ (label_ref (match_operand 0 "" "")) ++ (pc))) ++ (clobber (reg:CC REG_CC))] ++ "reload_completed" + { + return ret_cond_branch (operands[1], avr_jump_mode (operands[0], insn), 0); + } + [(set_attr "type" "branch1")]) + ++;; revers branch + -+int -+__gthread_mutex_destroy (__gthread_mutex_t *__mutex); ++(define_insn_and_split "rvbranch" ++ [(set (pc) ++ (if_then_else (match_operator 1 "simple_comparison_operator" ++ [(reg:CC REG_CC) ++ (const_int 0)]) ++ (pc) ++ (label_ref (match_operand 0 "" ""))))] ++ "reload_completed" ++ "#" ++ "&& reload_completed" ++ [(parallel [(set (pc) ++ (if_then_else (match_op_dup 1 ++ [(reg:CC REG_CC) ++ (const_int 0)]) ++ (pc) ++ (label_ref (match_dup 0)))) ++ (clobber (reg:CC REG_CC))])]) + -+int -+__gthread_mutex_lock (__gthread_mutex_t *__mutex); ++(define_insn "*rvbranch" ++ [(set (pc) ++ (if_then_else (match_operator 1 "simple_comparison_operator" ++ [(reg:CC REG_CC) ++ (const_int 0)]) ++ (pc) ++ (label_ref (match_operand 0 "" "")))) ++ (clobber (reg:CC REG_CC))] ++ "reload_completed" ++ { ++ return ret_cond_branch (operands[1], avr_jump_mode (operands[0], insn), 1); ++ } ++ [(set_attr "type" "branch1")]) + -+int -+__gthread_mutex_trylock (__gthread_mutex_t *__mutex); ++(define_insn_and_split "difficult_rvbranch" ++ [(set (pc) ++ (if_then_else (match_operator 1 "difficult_comparison_operator" ++ [(reg:CC REG_CC) ++ (const_int 0)]) ++ (pc) ++ (label_ref (match_operand 0 "" ""))))] ++ "reload_completed" ++ "#" ++ "&& reload_completed" ++ [(parallel [(set (pc) ++ (if_then_else (match_op_dup 1 ++ [(reg:CC REG_CC) ++ (const_int 0)]) ++ (pc) ++ (label_ref (match_dup 0)))) ++ (clobber (reg:CC REG_CC))])]) + -+int -+__gthread_mutex_unlock (__gthread_mutex_t *__mutex); ++(define_insn "*difficult_rvbranch" ++ [(set (pc) ++ (if_then_else (match_operator 1 "difficult_comparison_operator" ++ [(reg:CC REG_CC) ++ (const_int 0)]) ++ (pc) ++ (label_ref (match_operand 0 "" "")))) ++ (clobber (reg:CC REG_CC))] ++ "reload_completed" ++ { ++ return ret_cond_branch (operands[1], avr_jump_mode (operands[0], insn), 1); ++ } ++ [(set_attr "type" "branch")]) + + ;; ************************************************************************** + ;; Unconditional and other jump instructions. +@@ -7589,14 +7656,15 @@ + (clobber (reg:CC REG_CC))]) + (parallel [(set (reg:CC REG_CC) + (compare:CC (match_dup 0) +- (const_int -1))) +- (clobber (match_operand:QI 1 "scratch_or_d_register_operand"))]) +- (set (pc) +- (if_then_else (eqne (reg:CC REG_CC) +- (const_int 0)) +- (label_ref (match_operand 2)) +- (pc)))] +- "dead_or_set_regno_p (insn, REG_CC)" ++ (const_int -1))) ++ (clobber (match_operand:QI 1 "d_register_operand" ""))]) ++ (parallel [(set (pc) ++ (if_then_else (eqne (reg:CC REG_CC) ++ (const_int 0)) ++ (label_ref (match_operand 2 "" "")) ++ (pc))) ++ (clobber (reg:CC REG_CC))])] ++ "" + { + const char *op; + int jump_mode; +@@ -7632,14 +7700,15 @@ + (clobber (reg:CC REG_CC))]) + (parallel [(set (reg:CC REG_CC) + (compare:CC (match_dup 0) +- (const_int -1))) ++ (const_int -1))) + (clobber (match_operand:QI 1 "d_register_operand" ""))]) +- (set (pc) +- (if_then_else (eqne (reg:CC REG_CC) +- (const_int 0)) +- (label_ref (match_operand 2)) +- (pc)))] +- "dead_or_set_regno_p (insn, REG_CC)" ++ (parallel [(set (pc) ++ (if_then_else (eqne (reg:CC REG_CC) ++ (const_int 0)) ++ (label_ref (match_operand 2 "" "")) ++ (pc))) ++ (clobber (reg:CC REG_CC))])] ++ "" + { + const char *op; + int jump_mode; +@@ -7673,14 +7742,15 @@ + (clobber (reg:CC REG_CC))]) + (parallel [(set (reg:CC REG_CC) + (compare:CC (match_dup 0) +- (const_int -1))) +- (clobber (match_operand:QI 1 "scratch_or_d_register_operand"))]) +- (set (pc) +- (if_then_else (eqne (reg:CC REG_CC) +- (const_int 0)) +- (label_ref (match_operand 2)) +- (pc)))] +- "dead_or_set_regno_p (insn, REG_CC)" ++ (const_int -1))) ++ (clobber (match_operand:QI 1 "d_register_operand" ""))]) ++ (parallel [(set (pc) ++ (if_then_else (eqne (reg:CC REG_CC) ++ (const_int 0)) ++ (label_ref (match_operand 2 "" "")) ++ (pc))) ++ (clobber (reg:CC REG_CC))])] ++ "" + { + const char *op; + int jump_mode; +@@ -7714,14 +7784,15 @@ + (clobber (reg:CC REG_CC))]) + (parallel [(set (reg:CC REG_CC) + (compare:CC (match_dup 0) +- (const_int -1))) ++ (const_int -1))) + (clobber (match_operand:QI 1 "d_register_operand" ""))]) +- (set (pc) +- (if_then_else (eqne (reg:CC REG_CC) +- (const_int 0)) +- (label_ref (match_operand 2)) +- (pc)))] +- "dead_or_set_regno_p (insn, REG_CC)" ++ (parallel [(set (pc) ++ (if_then_else (eqne (reg:CC REG_CC) ++ (const_int 0)) ++ (label_ref (match_operand 2 "" "")) ++ (pc))) ++ (clobber (reg:CC REG_CC))])] ++ "" + { + const char *op; + int jump_mode; +@@ -7751,13 +7822,14 @@ + (clobber (reg:CC REG_CC))]) + (set (reg:CC REG_CC) + (compare:CC (match_dup 0) +- (const_int -1))) +- (set (pc) +- (if_then_else (eqne (reg:CC REG_CC) +- (const_int 0)) +- (label_ref (match_operand 1)) +- (pc)))] +- "dead_or_set_regno_p (insn, REG_CC)" ++ (const_int -1))) ++ (parallel [(set (pc) ++ (if_then_else (eqne (reg:CC REG_CC) ++ (const_int 0)) ++ (label_ref (match_operand 1 "" "")) ++ (pc))) ++ (clobber (reg:CC REG_CC))])] ++ "" + { + const char *op; + int jump_mode; +@@ -7783,14 +7855,14 @@ + (define_peephole ; "*cpse.eq" + [(set (reg:CC REG_CC) + (compare:CC (match_operand:ALL1 1 "register_operand" "r,r") +- (match_operand:ALL1 2 "reg_or_0_operand" "r,Y00"))) +- (set (pc) +- (if_then_else (eq (reg:CC REG_CC) +- (const_int 0)) +- (label_ref (match_operand 0)) +- (pc)))] +- "jump_over_one_insn_p (insn, operands[0]) +- && dead_or_set_regno_p (insn, REG_CC)" ++ (match_operand:ALL1 2 "reg_or_0_operand" "r,Y00"))) ++ (parallel [(set (pc) ++ (if_then_else (eq (reg:CC REG_CC) ++ (const_int 0)) ++ (label_ref (match_operand 0 "" "")) ++ (pc))) ++ (clobber (reg:CC REG_CC))])] ++ "jump_over_one_insn_p (insn, operands[0])" + "@ + cpse %1,%2 + cpse %1,__zero_reg__") +@@ -7818,16 +7890,16 @@ + + (define_peephole ; "*cpse.ne" + [(set (reg:CC REG_CC) +- (compare:CC (match_operand:ALL1 1 "register_operand") +- (match_operand:ALL1 2 "reg_or_0_operand"))) +- (set (pc) +- (if_then_else (ne (reg:CC REG_CC) +- (const_int 0)) +- (label_ref (match_operand 0)) +- (pc)))] +- "(!AVR_HAVE_JMP_CALL +- || !TARGET_SKIP_BUG) +- && dead_or_set_regno_p (insn, REG_CC)" ++ (compare:CC (match_operand:ALL1 1 "register_operand" "") ++ (match_operand:ALL1 2 "reg_or_0_operand" ""))) ++ (parallel [(set (pc) ++ (if_then_else (ne (reg:CC REG_CC) ++ (const_int 0)) ++ (label_ref (match_operand 0 "" "")) ++ (pc))) ++ (clobber (reg:CC REG_CC))])] ++ "!AVR_HAVE_JMP_CALL ++ || !TARGET_SKIP_BUG" + { + if (operands[2] == CONST0_RTX (mode)) + operands[2] = zero_reg_rtx; +@@ -8022,7 +8094,7 @@ + (const_int 1)] + UNSPECV_DELAY_CYCLES) + (set (match_dup 1) +- (unspec_volatile:BLK [(match_dup 1)] UNSPECV_MEMORY_BARRIER)) ++ (unspec_volatile:BLK [(match_dup 1)] UNSPECV_MEMORY_BARRIER)) + (clobber (match_dup 2)) + (clobber (reg:CC REG_CC))])]) + +@@ -8054,7 +8126,7 @@ + (const_int 2)] + UNSPECV_DELAY_CYCLES) + (set (match_dup 1) +- (unspec_volatile:BLK [(match_dup 1)] UNSPECV_MEMORY_BARRIER)) ++ (unspec_volatile:BLK [(match_dup 1)] UNSPECV_MEMORY_BARRIER)) + (clobber (match_dup 2)) + (clobber (reg:CC REG_CC))])] + "" +@@ -8091,7 +8163,7 @@ + (const_int 3)] + UNSPECV_DELAY_CYCLES) + (set (match_dup 1) +- (unspec_volatile:BLK [(match_dup 1)] UNSPECV_MEMORY_BARRIER)) ++ (unspec_volatile:BLK [(match_dup 1)] UNSPECV_MEMORY_BARRIER)) + (clobber (match_dup 2)) + (clobber (match_dup 3)) + (clobber (match_dup 4)) +@@ -8134,7 +8206,7 @@ + (const_int 4)] + UNSPECV_DELAY_CYCLES) + (set (match_dup 1) +- (unspec_volatile:BLK [(match_dup 1)] UNSPECV_MEMORY_BARRIER)) ++ (unspec_volatile:BLK [(match_dup 1)] UNSPECV_MEMORY_BARRIER)) + (clobber (match_dup 2)) + (clobber (match_dup 3)) + (clobber (match_dup 4)) +@@ -9023,20 +9095,16 @@ + "bst %3,0\;bld %0,%4" + [(set_attr "length" "2")]) + +-;; Move bit $3.x into bit $0.x. +-(define_insn "*movbit.0-6" +- [(set (match_operand:QISI 0 "register_operand" "=r") +- (ior:QISI (and:QISI (match_operand:QISI 1 "register_operand" "0") +- (match_operand:QISI 2 "single_zero_operand" "n")) +- (and:QISI (match_operand:QISI 3 "register_operand" "r") +- (match_operand:QISI 4 "single_one_operand" "n"))))] +- "GET_MODE_MASK(mode) +- == (GET_MODE_MASK(mode) & (INTVAL(operands[2]) ^ INTVAL(operands[4])))" +- { +- auto bitmask = GET_MODE_MASK (mode) & UINTVAL (operands[4]); +- operands[4] = GEN_INT (exact_log2 (bitmask)); +- return "bst %T3%T4" CR_TAB "bld %T0%T4"; +- } ++;; Move bit $3.0 into bit $0.0. ++;; For bit 0, combiner generates slightly different pattern. ++(define_insn "*movbitqi.0" ++ [(set (match_operand:QI 0 "register_operand" "=r") ++ (ior:QI (and:QI (match_operand:QI 1 "register_operand" "0") ++ (match_operand:QI 2 "single_zero_operand" "n")) ++ (and:QI (match_operand:QI 3 "register_operand" "r") ++ (const_int 1))))] ++ "0 == exact_log2 (~INTVAL(operands[2]) & GET_MODE_MASK (QImode))" ++ "bst %3,0\;bld %0,0" + [(set_attr "length" "2")]) + + ;; Move bit $2.0 into bit $0.7. +@@ -9421,258 +9489,6 @@ + (clobber (reg:CC REG_CC))])]) + + +-;; Try optimize decrement-and-branch. When we have an addition followed +-;; by a comparison of the result against zero, we can output the addition +-;; in such a way that SREG.N and SREG.Z are set according to the result. +- +-;; { -1, +1 } for QImode, otherwise the empty set. +-(define_mode_attr p1m1 [(QI "N P") +- (HI "Yxx") (PSI "Yxx") (SI "Yxx")]) +- +-;; FIXME: reload1.cc::do_output_reload() does not support output reloads +-;; for JUMP_INSNs, hence letting combine doing decrement-and-branch like +-;; the following might run into ICE. Doing reloads by hand is too painful... +-; +-; (define_insn_and_split "*add.for.eqne..cbranch" +-; [(set (pc) +-; (if_then_else (eqne (match_operand:QISI 1 "register_operand" "0") +-; (match_operand:QISI 2 "const_int_operand" "n")) +-; (label_ref (match_operand 4)) +-; (pc))) +-; (set (match_operand:QISI 0 "register_operand" "=r") +-; (plus:QISI (match_dup 1) +-; (match_operand:QISI 3 "const_int_operand" "n")))] +-; ;; No clobber for now as combine might not have one handy. +-; ;; We pop a scatch in split1. +-; "!reload_completed +-; && const0_rtx == simplify_binary_operation (PLUS, mode, +-; operands[2], operands[3])" +-; { gcc_unreachable(); } +-; "&& 1" +-; [(parallel [(set (pc) +-; (if_then_else (eqne (match_dup 1) +-; (match_dup 2)) +-; (label_ref (match_dup 4)) +-; (pc))) +-; (set (match_dup 0) +-; (plus:QISI (match_dup 1) +-; (match_dup 3))) +-; (clobber (scratch:QI))])]) +-; +-;; ...Hence, stick with RTL peepholes for now. Unfortunately, there is no +-;; canonical form, and if reload shuffles registers around, we might miss +-;; opportunities to match a decrement-and-branch. +-;; doloop_end doesn't reload either, so doloop_end also won't work. +- +-(define_expand "gen_add_for__" +- ; "*add.for.eqne." +- [(parallel [(set (reg:CC REG_CC) +- (compare:CC (plus:QISI (match_operand:QISI 0 "register_operand") +- (match_operand:QISI 1 "const_int_operand")) +- (const_int 0))) +- (set (match_dup 0) +- (plus:QISI (match_dup 0) +- (match_dup 1))) +- (clobber (match_operand:QI 3))]) +- ; "branch" +- (set (pc) +- (if_then_else (eqne (reg:CC REG_CC) +- (const_int 0)) +- (label_ref (match_dup 2)) +- (pc)))]) +- +- +-;; 1/3: A version without clobber: d-reg or 8-bit adds +/-1. +-(define_peephole2 +- [(parallel [(set (match_operand:QISI 0 "register_operand") +- (plus:QISI (match_dup 0) +- (match_operand:QISI 1 "const_int_operand"))) +- (clobber (reg:CC REG_CC))]) +- (set (reg:CC REG_CC) +- (compare:CC (match_dup 0) +- (const_int 0))) +- (set (pc) +- (if_then_else (eqne (reg:CC REG_CC) +- (const_int 0)) +- (label_ref (match_operand 2)) +- (pc)))] +- "peep2_regno_dead_p (3, REG_CC) +- && (d_register_operand (operands[0], mode) +- || (mode == QImode +- && (INTVAL (operands[1]) == 1 +- || INTVAL (operands[1]) == -1)))" +- [(scratch)] +- { +- emit (gen_gen_add_for__ (operands[0], operands[1], operands[2], +- gen_rtx_SCRATCH (QImode))); +- DONE; +- }) +- +-;; 2/3: A version with clobber from the insn. +-(define_peephole2 +- [(parallel [(set (match_operand:QISI 0 "register_operand") +- (plus:QISI (match_dup 0) +- (match_operand:QISI 1 "const_int_operand"))) +- (clobber (match_operand:QI 3 "scratch_or_d_register_operand")) +- (clobber (reg:CC REG_CC))]) +- (parallel [(set (reg:CC REG_CC) +- (compare:CC (match_dup 0) +- (const_int 0))) +- (clobber (match_operand:QI 4 "scratch_or_d_register_operand"))]) +- (set (pc) +- (if_then_else (eqne (reg:CC REG_CC) +- (const_int 0)) +- (label_ref (match_operand 2)) +- (pc)))] +- "peep2_regno_dead_p (3, REG_CC)" +- [(scratch)] +- { +- rtx scratch = REG_P (operands[3]) ? operands[3] : operands[4]; +- +- // We need either a d-register or a scratch register to clobber. +- if (! REG_P (scratch) +- && ! d_register_operand (operands[0], mode) +- && ! (QImode == mode +- && (INTVAL (operands[1]) == 1 +- || INTVAL (operands[1]) == -1))) +- { +- FAIL; +- } +- emit (gen_gen_add_for__ (operands[0], operands[1], operands[2], +- scratch)); +- DONE; +- }) +- +-;; 3/3 A version with a clobber from peephole2. +-(define_peephole2 +- [(match_scratch:QI 3 "d") +- (parallel [(set (match_operand:QISI 0 "register_operand") +- (plus:QISI (match_dup 0) +- (match_operand:QISI 1 "const_int_operand"))) +- (clobber (reg:CC REG_CC))]) +- (set (reg:CC REG_CC) +- (compare:CC (match_dup 0) +- (const_int 0))) +- (set (pc) +- (if_then_else (eqne (reg:CC REG_CC) +- (const_int 0)) +- (label_ref (match_operand 2)) +- (pc)))] +- "peep2_regno_dead_p (3, REG_CC)" +- [(scratch)] +- { +- emit (gen_gen_add_for__ (operands[0], operands[1], operands[2], +- operands[3])); +- DONE; +- }) +- +-;; Result of the above three peepholes is an addition that also +-;; performs an EQ or NE comparison (of the result) against zero. +-;; FIXME: Using (match_dup 0) instead of operands[3/4] makes rnregs +-;; barf in regrename.cc::merge_overlapping_regs(). For now, use the +-;; fix from PR50788: Constrain as "0". +-(define_insn "*add.for.eqne." +- [(set (reg:CC REG_CC) +- (compare:CC +- (plus:QISI (match_operand:QISI 3 "register_operand" "0,0 ,0") +- (match_operand:QISI 1 "const_int_operand" "n,,n")) +- (const_int 0))) +- (set (match_operand:QISI 0 "register_operand" "=d,*r ,r") +- (plus:QISI (match_operand:QISI 4 "register_operand" "0,0 ,0") +- (match_dup 1))) +- (clobber (match_scratch:QI 2 "=X,X ,&d"))] +- "reload_completed" +- { +- return avr_out_plus_set_ZN (operands, nullptr); +- } +- [(set_attr "adjust_len" "add_set_ZN")]) +- +- +-;; Swapping both comparison and branch condition. This can turn difficult +-;; branches to easy ones. And in some cases, a comparison against one can +-;; be turned into a comparison against zero. +- +-(define_peephole2 ; "*swapped_tst" +- [(parallel [(set (reg:CC REG_CC) +- (compare:CC (match_operand:ALLs234 1 "register_operand") +- (match_operand:ALLs234 2 "const_operand"))) +- (clobber (match_operand:QI 3 "scratch_operand"))]) +- (set (pc) +- (if_then_else (match_operator 0 "ordered_comparison_operator" +- [(reg:CC REG_CC) +- (const_int 0)]) +- (label_ref (match_operand 4)) +- (pc)))] +- "peep2_regno_dead_p (2, REG_CC)" +- [(set (reg:CC REG_CC) +- (compare:CC (match_dup 2) +- (match_dup 1))) +- ; "branch" +- (set (pc) +- (if_then_else (match_op_dup 0 [(reg:CC REG_CC) +- (const_int 0)]) +- (label_ref (match_dup 4)) +- (pc)))] +- { +- rtx xval = avr_to_int_mode (operands[2]); +- enum rtx_code code = GET_CODE (operands[0]); +- +- if (code == GT && xval == const0_rtx) +- code = LT; +- else if (code == GE && xval == const1_rtx) +- code = LT; +- else if (code == LE && xval == const0_rtx) +- code = GE; +- else if (code == LT && xval == const1_rtx) +- code = GE; +- else +- FAIL; +- +- operands[2] = CONST0_RTX (mode); +- PUT_CODE (operands[0], code); +- }) +- +-;; Same, but for 8-bit modes which have no scratch reg. +-(define_peephole2 ; "*swapped_tst" +- [(set (reg:CC REG_CC) +- (compare:CC (match_operand:ALLs1 1 "register_operand") +- (match_operand:ALLs1 2 "const_operand"))) +- (set (pc) +- (if_then_else (match_operator 0 "ordered_comparison_operator" +- [(reg:CC REG_CC) +- (const_int 0)]) +- (label_ref (match_operand 4)) +- (pc)))] +- "peep2_regno_dead_p (2, REG_CC)" +- [(set (reg:CC REG_CC) +- (compare:CC (match_dup 2) +- (match_dup 1))) +- ; "branch" +- (set (pc) +- (if_then_else (match_op_dup 0 [(reg:CC REG_CC) +- (const_int 0)]) +- (label_ref (match_dup 4)) +- (pc)))] +- { +- rtx xval = avr_to_int_mode (operands[2]); +- enum rtx_code code = GET_CODE (operands[0]); +- +- if (code == GT && xval == const0_rtx) +- code = LT; +- else if (code == GE && xval == const1_rtx) +- code = LT; +- else if (code == LE && xval == const0_rtx) +- code = GE; +- else if (code == LT && xval == const1_rtx) +- code = GE; +- else +- FAIL; +- +- operands[2] = CONST0_RTX (mode); +- PUT_CODE (operands[0], code); +- }) +- +- + (define_expand "extzv" + [(set (match_operand:QI 0 "register_operand" "") + (zero_extract:QI (match_operand:QI 1 "register_operand" "") +diff --git a/gcc/config/avr/constraints.md b/gcc/config/avr/constraints.md +index f840c0114a0..ac43678872d 100644 +--- a/gcc/config/avr/constraints.md ++++ b/gcc/config/avr/constraints.md +@@ -245,11 +245,6 @@ + (match_test "INTVAL (avr_to_int_mode (op)) == -2")) + (match_test "satisfies_constraint_Cm2 (op)"))) + +-;; Constraint that's the empty set. Useful with mode and code iterators. +-(define_constraint "Yxx" +- "A constraints that is always false" +- (match_test "false")) +- + (define_constraint "Yx2" + "Fixed-point or integer constant not in the range @minus{}2 @dots{} 2" + (and (ior (match_code "const_int") +diff --git a/gcc/config/avr/predicates.md b/gcc/config/avr/predicates.md +index f4ee42af274..e352326466f 100644 +--- a/gcc/config/avr/predicates.md ++++ b/gcc/config/avr/predicates.md +@@ -27,11 +27,6 @@ + (and (match_code "reg") + (match_test "REGNO (op) >= 16 && REGNO (op) <= 31"))) + +-(define_predicate "scratch_or_d_register_operand" +- (ior (match_operand 0 "d_register_operand") +- (and (match_code ("scratch")) +- (match_operand 0 "scratch_operand")))) +- + (define_predicate "even_register_operand" + (and (match_code "reg") + (and (match_test "REGNO (op) <= 31") +diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h +index 1b538c73593..e6f76e598e6 100644 +--- a/gcc/config/darwin.h ++++ b/gcc/config/darwin.h +@@ -217,7 +217,8 @@ extern GTY(()) int darwin_ms_struct; + "%{image_base*:-Xlinker -image_base -Xlinker %*} %= 10.7 mmacosx-version-min= -no_pie) }" + + #define DARWIN_CC1_SPEC \ +- "% Add to the end of the system framework include path. +diff --git a/gcc/config/gcn/gcn-valu.md b/gcc/config/gcn/gcn-valu.md +index 7290cdc2fd0..e3d6d65e9a9 100644 +--- a/gcc/config/gcn/gcn-valu.md ++++ b/gcc/config/gcn/gcn-valu.md +@@ -15,7 +15,6 @@ + ;; . + + ;; {{{ Vector iterators +-; SV iterators include both scalar and vector modes. + + ; Vector modes for specific types + (define_mode_iterator V_QI +@@ -127,15 +126,6 @@ + V32SI V32DI + V64SI V64DI]) + +-(define_mode_iterator SV_SFDF +- [SF DF +- V2SF V2DF +- V4SF V4DF +- V8SF V8DF +- V16SF V16DF +- V32SF V32DF +- V64SF V64DF]) +- + ; All of above + (define_mode_iterator V_ALL + [V2QI V2HI V2HF V2SI V2SF V2DI V2DF +@@ -166,19 +156,9 @@ + V16HF V16SF V16DF + V32HF V32SF V32DF + V64HF V64SF V64DF]) +-(define_mode_iterator SV_FP +- [HF SF DF +- V2HF V2SF V2DF +- V4HF V4SF V4DF +- V8HF V8SF V8DF +- V16HF V16SF V16DF +- V32HF V32SF V32DF +- V64HF V64SF V64DF]) + + (define_mode_attr scalar_mode +- [(QI "qi") (HI "hi") (SI "si") +- (HF "hf") (SF "sf") (DI "di") (DF "df") +- (V2QI "qi") (V2HI "hi") (V2SI "si") ++ [(V2QI "qi") (V2HI "hi") (V2SI "si") + (V2HF "hf") (V2SF "sf") (V2DI "di") (V2DF "df") + (V4QI "qi") (V4HI "hi") (V4SI "si") + (V4HF "hf") (V4SF "sf") (V4DI "di") (V4DF "df") +@@ -192,9 +172,7 @@ + (V64HF "hf") (V64SF "sf") (V64DI "di") (V64DF "df")]) + + (define_mode_attr SCALAR_MODE +- [(QI "QI") (HI "HI") (SI "SI") +- (HF "HF") (SF "SF") (DI "DI") (DF "DF") +- (V2QI "QI") (V2HI "HI") (V2SI "SI") ++ [(V2QI "QI") (V2HI "HI") (V2SI "SI") + (V2HF "HF") (V2SF "SF") (V2DI "DI") (V2DF "DF") + (V4QI "QI") (V4HI "HI") (V4SI "SI") + (V4HF "HF") (V4SF "SF") (V4DI "DI") (V4DF "DF") +@@ -208,9 +186,7 @@ + (V64HF "HF") (V64SF "SF") (V64DI "DI") (V64DF "DF")]) + + (define_mode_attr vnsi +- [(QI "si") (HI "si") (SI "si") +- (HF "si") (SF "si") (DI "si") (DF "si") +- (V2QI "v2si") (V2HI "v2si") (V2HF "v2si") (V2SI "v2si") ++ [(V2QI "v2si") (V2HI "v2si") (V2HF "v2si") (V2SI "v2si") + (V2SF "v2si") (V2DI "v2si") (V2DF "v2si") + (V4QI "v4si") (V4HI "v4si") (V4HF "v4si") (V4SI "v4si") + (V4SF "v4si") (V4DI "v4si") (V4DF "v4si") +@@ -224,9 +200,7 @@ + (V64SF "v64si") (V64DI "v64si") (V64DF "v64si")]) + + (define_mode_attr VnSI +- [(QI "SI") (HI "SI") (SI "SI") +- (HF "SI") (SF "SI") (DI "SI") (DF "SI") +- (V2QI "V2SI") (V2HI "V2SI") (V2HF "V2SI") (V2SI "V2SI") ++ [(V2QI "V2SI") (V2HI "V2SI") (V2HF "V2SI") (V2SI "V2SI") + (V2SF "V2SI") (V2DI "V2SI") (V2DF "V2SI") + (V4QI "V4SI") (V4HI "V4SI") (V4HF "V4SI") (V4SI "V4SI") + (V4SF "V4SI") (V4DI "V4SI") (V4DF "V4SI") +@@ -2323,9 +2297,8 @@ + rtx even = gen_rtx_REG (DImode, EXEC_REG); + emit_move_insn (even, get_exec (0x5555555555555555UL)); + rtx dest = operands[0]; +- emit_insn (gen_3_exec (dest, t1, t1_perm, +- gcn_gen_undef (mode), +- even)); // a*c-b*d 0 ++ emit_insn (gen_3_exec (dest, t1, t1_perm, dest, even)); ++ // a*c-b*d 0 + + rtx t2_perm = gen_reg_rtx (mode); + emit_insn (gen_dpp_swap_pairs (t2_perm, t2)); // b*c a*d +@@ -2369,8 +2342,7 @@ + rtx even = gen_rtx_REG (DImode, EXEC_REG); + emit_move_insn (even, get_exec (0x5555555555555555UL)); + rtx dest = operands[0]; +- emit_insn (gen_sub3_exec (dest, t1, t2_perm, +- gcn_gen_undef (mode), even)); ++ emit_insn (gen_sub3_exec (dest, t1, t2_perm, dest, even)); + + rtx odd = gen_rtx_REG (DImode, EXEC_REG); + emit_move_insn (odd, get_exec (0xaaaaaaaaaaaaaaaaUL)); +@@ -2394,8 +2366,7 @@ + rtx dest = operands[0]; + rtx x = operands[1]; + rtx y = operands[2]; +- emit_insn (gen_sub3_exec (dest, x, y, gcn_gen_undef (mode), +- even)); ++ emit_insn (gen_sub3_exec (dest, x, y, dest, even)); + rtx odd = gen_rtx_REG (DImode, EXEC_REG); + emit_move_insn (odd, get_exec (0xaaaaaaaaaaaaaaaaUL)); + emit_insn (gen_add3_exec (dest, x, y, dest, odd)); +@@ -2422,9 +2393,7 @@ + + rtx even = gen_rtx_REG (DImode, EXEC_REG); + emit_move_insn (even, get_exec (0x5555555555555555UL)); +- emit_insn (gen_3_exec (dest, x, y, +- gcn_gen_undef (mode), +- even)); ++ emit_insn (gen_3_exec (dest, x, y, dest, even)); + rtx odd = gen_rtx_REG (DImode, EXEC_REG); + emit_move_insn (odd, get_exec (0xaaaaaaaaaaaaaaaaUL)); + emit_insn (gen_3_exec (dest, x, y, dest, odd)); +@@ -2444,8 +2413,7 @@ + rtx even = gen_rtx_REG (DImode, EXEC_REG); + emit_move_insn (even, get_exec (0x5555555555555555UL)); + rtx dest = operands[0]; +- emit_insn (gen_sub3_exec (dest, t1, operands[3], +- gcn_gen_undef (mode), even)); ++ emit_insn (gen_sub3_exec (dest, t1, operands[3], dest, even)); + rtx odd = gen_rtx_REG (DImode, EXEC_REG); + emit_move_insn (odd, get_exec (0xaaaaaaaaaaaaaaaaUL)); + emit_insn (gen_add3_exec (dest, t1, operands[3], dest, odd)); +@@ -2465,11 +2433,10 @@ + rtx even = gen_rtx_REG (DImode, EXEC_REG); + emit_move_insn (even, get_exec (0x5555555555555555UL)); + rtx dest = operands[0]; +- emit_insn (gen_add3_exec (dest, t1, operands[3], +- gcn_gen_undef (mode), even)); ++ emit_insn (gen_add3_exec (dest, t1, operands[3], dest, even)); + rtx odd = gen_rtx_REG (DImode, EXEC_REG); + emit_move_insn (odd, get_exec (0xaaaaaaaaaaaaaaaaUL)); +- emit_insn (gen_sub3_exec (dest, t1, operands[3], dest, odd)); ++ emit_insn (gen_add3_exec (dest, t1, operands[3], dest, odd)); + + DONE; + }) +@@ -3054,10 +3021,21 @@ + + ; Implement ldexp pattern + ++(define_insn "ldexp3" ++ [(set (match_operand:FP 0 "register_operand" "=v") ++ (unspec:FP ++ [(match_operand:FP 1 "gcn_alu_operand" "vB") ++ (match_operand:SI 2 "gcn_alu_operand" "vSvA")] ++ UNSPEC_LDEXP))] ++ "" ++ "v_ldexp%i0\t%0, %1, %2" ++ [(set_attr "type" "vop3a") ++ (set_attr "length" "8")]) + -+int -+__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex); + (define_insn "ldexp3" +- [(set (match_operand:SV_FP 0 "register_operand" "= v") +- (unspec:SV_FP +- [(match_operand:SV_FP 1 "gcn_alu_operand" " vA") ++ [(set (match_operand:V_FP 0 "register_operand" "= v") ++ (unspec:V_FP ++ [(match_operand:V_FP 1 "gcn_alu_operand" " vB") + (match_operand: 2 "gcn_alu_operand" "vSvA")] + UNSPEC_LDEXP))] + "" +@@ -3210,124 +3188,113 @@ + ;; {{{ FP division + + (define_insn "recip2" +- [(set (match_operand:SV_FP 0 "register_operand" "= v") +- (unspec:SV_FP +- [(match_operand:SV_FP 1 "gcn_alu_operand" "vSvB")] ++ [(set (match_operand:V_FP 0 "register_operand" "= v") ++ (unspec:V_FP ++ [(match_operand:V_FP 1 "gcn_alu_operand" "vSvB")] + UNSPEC_RCP))] + "" + "v_rcp%i0\t%0, %1" + [(set_attr "type" "vop1") + (set_attr "length" "8")]) + +-;; v_div_scale takes a numerator (op2) and denominator (op1) and returns the +-;; one that matches op3 adjusted for best results in reciprocal division. +-;; It also emits a VCC mask that is intended for input to v_div_fmas. +-;; The caller is expected to call this twice, once for each input. The output +-;; VCC is the same in both cases, so the caller may discard one. +-(define_insn "div_scale" +- [(set (match_operand:SV_SFDF 0 "register_operand" "=v") +- (unspec:SV_SFDF +- [(match_operand:SV_SFDF 1 "gcn_alu_operand" "v") +- (match_operand:SV_SFDF 2 "gcn_alu_operand" "v") +- (match_operand:SV_SFDF 3 "gcn_alu_operand" "v")] +- UNSPEC_DIV_SCALE)) +- (set (match_operand:DI 4 "register_operand" "=SvcV") +- (unspec:DI +- [(match_dup 1) (match_dup 2) (match_dup 3)] +- UNSPEC_DIV_SCALE))] +- "" +- "v_div_scale%i0\t%0, %4, %3, %1, %2" +- [(set_attr "type" "vop3b") ++(define_insn "recip2" ++ [(set (match_operand:FP 0 "register_operand" "= v") ++ (unspec:FP ++ [(match_operand:FP 1 "gcn_alu_operand" "vSvB")] ++ UNSPEC_RCP))] ++ "" ++ "v_rcp%i0\t%0, %1" ++ [(set_attr "type" "vop1") + (set_attr "length" "8")]) + +-;; v_div_fmas is "FMA and Scale" that uses the VCC output from v_div_scale +-;; to conditionally scale the output of the whole division operation. +-;; This is necessary to counter the adjustments made by v_div_scale and +-;; replaces the last FMA instruction of the Newton Raphson algorithm. +-(define_insn "div_fmas" +- [(set (match_operand:SV_SFDF 0 "register_operand" "=v") +- (unspec:SV_SFDF +- [(plus:SV_SFDF +- (mult:SV_SFDF +- (match_operand:SV_SFDF 1 "gcn_alu_operand" "v") +- (match_operand:SV_SFDF 2 "gcn_alu_operand" "v")) +- (match_operand:SV_SFDF 3 "gcn_alu_operand" "v")) +- (match_operand:DI 4 "register_operand" "cV")] +- UNSPEC_DIV_FMAS))] +- "" +- "v_div_fmas%i0\t%0, %1, %2, %3; %4" +- [(set_attr "type" "vop3a") +- (set_attr "length" "8") +- (set_attr "vccwait" "5")]) +- +-;; v_div_fixup takes the inputs and outputs of a division operation already +-;; completed and cleans up the floating-point sign bit, infinity, underflow, +-;; overflow, and NaN status. It will also emit any FP exceptions. +-;; op1: quotient, op2: denominator, op3: numerator +-(define_insn "div_fixup" +- [(set (match_operand:SV_FP 0 "register_operand" "=v") +- (unspec:SV_FP +- [(match_operand:SV_FP 1 "register_operand" "v") +- (match_operand:SV_FP 2 "gcn_alu_operand" "v") +- (match_operand:SV_FP 3 "gcn_alu_operand" "v")] +- UNSPEC_DIV_FIXUP))] +- "" +- "v_div_fixup%i0\t%0, %1, %2, %3" +- [(set_attr "type" "vop3a") +- (set_attr "length" "8")]) ++;; Do division via a = b * 1/c ++;; The v_rcp_* instructions are not sufficiently accurate on their own, ++;; so we use 2 v_fma_* instructions to do one round of Newton-Raphson ++;; which the ISA manual says is enough to improve the reciprocal accuracy. ++;; ++;; FIXME: This does not handle denormals, NaNs, division-by-zero etc. + + (define_expand "div3" +- [(match_operand:SV_SFDF 0 "register_operand") +- (match_operand:SV_SFDF 1 "gcn_alu_operand") +- (match_operand:SV_SFDF 2 "gcn_alu_operand")] +- "" ++ [(match_operand:V_FP 0 "gcn_valu_dst_operand") ++ (match_operand:V_FP 1 "gcn_valu_src0_operand") ++ (match_operand:V_FP 2 "gcn_valu_src0_operand")] ++ "flag_reciprocal_math" + { +- rtx numerator = operands[1]; +- rtx denominator = operands[2]; +- +- /* Scale the inputs if they are close to the FP limits. +- This will be reversed later. */ +- rtx vcc = gen_reg_rtx (DImode); +- rtx discardedvcc = gen_reg_rtx (DImode); +- rtx scaled_numerator = gen_reg_rtx (mode); +- rtx scaled_denominator = gen_reg_rtx (mode); +- emit_insn (gen_div_scale (scaled_denominator, +- denominator, numerator, +- denominator, discardedvcc)); +- emit_insn (gen_div_scale (scaled_numerator, +- denominator, numerator, +- numerator, vcc)); +- +- /* Find the reciprocal of the denominator, and use Newton-Raphson to +- improve the accuracy over the basic hardware instruction. */ + rtx one = gcn_vec_constant (mode, + const_double_from_real_value (dconst1, mode)); + rtx initrcp = gen_reg_rtx (mode); +- rtx fma1 = gen_reg_rtx (mode); +- rtx rcp = gen_reg_rtx (mode); +- emit_insn (gen_recip2 (initrcp, scaled_denominator)); +- emit_insn (gen_fma4_negop2 (fma1, initrcp, scaled_denominator, one)); +- emit_insn (gen_fma4 (rcp, fma1, initrcp, initrcp)); +- +- /* Do the division "a/b" via "a*1/b" and use Newton-Raphson to improve +- the accuracy. The "div_fmas" instruction reverses any scaling +- performed by "div_scale", above. */ +- rtx div_est = gen_reg_rtx (mode); +- rtx fma2 = gen_reg_rtx (mode); +- rtx fma3 = gen_reg_rtx (mode); +- rtx fma4 = gen_reg_rtx (mode); +- rtx fmas = gen_reg_rtx (mode); +- emit_insn (gen_mul3 (div_est, scaled_numerator, rcp)); +- emit_insn (gen_fma4_negop2 (fma2, div_est, scaled_denominator, +- scaled_numerator)); +- emit_insn (gen_fma4 (fma3, fma2, rcp, div_est)); +- emit_insn (gen_fma4_negop2 (fma4, fma3, scaled_denominator, +- scaled_numerator)); +- emit_insn (gen_div_fmas (fmas, fma4, rcp, fma3, vcc)); +- +- /* Finally, use "div_fixup" to get the details right and find errors. */ +- emit_insn (gen_div_fixup (operands[0], fmas, denominator, +- numerator)); ++ rtx fma = gen_reg_rtx (mode); ++ rtx rcp; ++ rtx num = operands[1], denom = operands[2]; + -+int -+__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex); ++ bool is_rcp = (GET_CODE (num) == CONST_VECTOR ++ && real_identical ++ (CONST_DOUBLE_REAL_VALUE ++ (CONST_VECTOR_ELT (num, 0)), &dconstm1)); + -+int -+__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex); ++ if (is_rcp) ++ rcp = operands[0]; ++ else ++ rcp = gen_reg_rtx (mode); + -+int -+__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex); ++ emit_insn (gen_recip2 (initrcp, denom)); ++ emit_insn (gen_fma4_negop2 (fma, initrcp, denom, one)); ++ emit_insn (gen_fma4 (rcp, fma, initrcp, initrcp)); + -+int -+__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex); ++ if (!is_rcp) ++ { ++ rtx div_est = gen_reg_rtx (mode); ++ rtx fma2 = gen_reg_rtx (mode); ++ rtx fma3 = gen_reg_rtx (mode); ++ rtx fma4 = gen_reg_rtx (mode); ++ emit_insn (gen_mul3 (div_est, num, rcp)); ++ emit_insn (gen_fma4_negop2 (fma2, div_est, denom, num)); ++ emit_insn (gen_fma4 (fma3, fma2, rcp, div_est)); ++ emit_insn (gen_fma4_negop2 (fma4, fma3, denom, num)); ++ emit_insn (gen_fma4 (operands[0], fma4, rcp, fma3)); ++ } + -+void -+__gthread_cond_init_function (__gthread_cond_t *__cond); ++ DONE; ++ }) + -+int -+__gthread_cond_broadcast (__gthread_cond_t *__cond); ++(define_expand "div3" ++ [(match_operand:FP 0 "gcn_valu_dst_operand") ++ (match_operand:FP 1 "gcn_valu_src0_operand") ++ (match_operand:FP 2 "gcn_valu_src0_operand")] ++ "flag_reciprocal_math" ++ { ++ rtx one = const_double_from_real_value (dconst1, mode); ++ rtx initrcp = gen_reg_rtx (mode); ++ rtx fma = gen_reg_rtx (mode); ++ rtx rcp; ++ rtx num = operands[1], denom = operands[2]; + -+int -+__gthread_cond_signal (__gthread_cond_t *__cond); ++ bool is_rcp = (GET_CODE (operands[1]) == CONST_DOUBLE ++ && real_identical (CONST_DOUBLE_REAL_VALUE (operands[1]), ++ &dconstm1)); + -+int -+__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex); ++ if (is_rcp) ++ rcp = operands[0]; ++ else ++ rcp = gen_reg_rtx (mode); + -+int -+__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, -+ const __gthread_time_t *__abs_timeout); ++ emit_insn (gen_recip2 (initrcp, denom)); ++ emit_insn (gen_fma4_negop2 (fma, initrcp, denom, one)); ++ emit_insn (gen_fma4 (rcp, fma, initrcp, initrcp)); + -+int -+__gthread_cond_wait_recursive (__gthread_cond_t *__cond, -+ __gthread_recursive_mutex_t *__mutex); ++ if (!is_rcp) ++ { ++ rtx div_est = gen_reg_rtx (mode); ++ rtx fma2 = gen_reg_rtx (mode); ++ rtx fma3 = gen_reg_rtx (mode); ++ rtx fma4 = gen_reg_rtx (mode); ++ emit_insn (gen_mul3 (div_est, num, rcp)); ++ emit_insn (gen_fma4_negop2 (fma2, div_est, denom, num)); ++ emit_insn (gen_fma4 (fma3, fma2, rcp, div_est)); ++ emit_insn (gen_fma4_negop2 (fma4, fma3, denom, num)); ++ emit_insn (gen_fma4 (operands[0], fma4, rcp, fma3)); ++ } + -+int -+__gthread_cond_destroy (__gthread_cond_t* __cond); + DONE; + }) + +diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc +index 5608d85a1a0..a7d278cd2f8 100644 +--- a/gcc/config/gcn/gcn.cc ++++ b/gcc/config/gcn/gcn.cc +@@ -5840,7 +5840,6 @@ gcn_md_reorg (void) + attr_type itype = get_attr_type (insn); + attr_unit iunit = get_attr_unit (insn); + attr_delayeduse idelayeduse = get_attr_delayeduse (insn); +- int ivccwait = get_attr_vccwait (insn); + HARD_REG_SET ireads, iwrites; + CLEAR_HARD_REG_SET (ireads); + CLEAR_HARD_REG_SET (iwrites); +@@ -5918,14 +5917,6 @@ gcn_md_reorg (void) + && ((hard_reg_set_intersect_p + (prev_insn->reads, iwrites)))) + nops_rqd = 1 - prev_insn->age; +- +- /* Instruction that requires VCC is not written too close before +- using it. */ +- if (prev_insn->age < ivccwait +- && (hard_reg_set_intersect_p +- (prev_insn->writes, +- reg_class_contents[(int)VCC_CONDITIONAL_REG]))) +- nops_rqd = ivccwait - prev_insn->age; + } + + /* Insert the required number of NOPs. */ +diff --git a/gcc/config/gcn/gcn.md b/gcc/config/gcn/gcn.md +index 7065acf402b..c90303c54b5 100644 +--- a/gcc/config/gcn/gcn.md ++++ b/gcc/config/gcn/gcn.md +@@ -90,8 +90,7 @@ + UNSPEC_RCP + UNSPEC_FLBIT_INT + UNSPEC_FLOOR UNSPEC_CEIL UNSPEC_SIN UNSPEC_COS UNSPEC_EXP2 UNSPEC_LOG2 +- UNSPEC_LDEXP UNSPEC_FREXP_EXP UNSPEC_FREXP_MANT +- UNSPEC_DIV_SCALE UNSPEC_DIV_FMAS UNSPEC_DIV_FIXUP]) ++ UNSPEC_LDEXP UNSPEC_FREXP_EXP UNSPEC_FREXP_MANT]) + + ;; }}} + ;; {{{ Attributes +@@ -303,11 +302,6 @@ + + (define_attr "delayeduse" "yes,no" (const_string "no")) + +-; Identify instructions that require "Manually Inserted Wait State" if +-; a previous instruction writes to VCC. The number gives the number of NOPs. +- +-(define_attr "vccwait" "" (const_int 0)) +- + ;; }}} + ;; {{{ Iterators useful across the wole machine description + +diff --git a/gcc/config/i386/driver-i386.cc b/gcc/config/i386/driver-i386.cc +index 4c362ffcfa3..54c019a7fa3 100644 +--- a/gcc/config/i386/driver-i386.cc ++++ b/gcc/config/i386/driver-i386.cc +@@ -594,9 +594,6 @@ const char *host_detect_local_cpu (int argc, const char **argv) + /* Assume Grand Ridge. */ + if (has_feature (FEATURE_RAOINT)) + cpu = "grandridge"; +- /* Assume Granite Rapids D. */ +- else if (has_feature (FEATURE_AMX_COMPLEX)) +- cpu = "graniterapids-d"; + /* Assume Granite Rapids. */ + else if (has_feature (FEATURE_AMX_FP16)) + cpu = "graniterapids"; +diff --git a/gcc/config/i386/i386-builtin-types.def b/gcc/config/i386/i386-builtin-types.def +index cb2d0cd56ed..65fe070e37f 100644 +--- a/gcc/config/i386/i386-builtin-types.def ++++ b/gcc/config/i386/i386-builtin-types.def +@@ -73,7 +73,7 @@ DEF_PRIMITIVE_TYPE (BFLOAT16, ix86_bf16_type_node) + DEF_PRIMITIVE_TYPE (FLOAT, float_type_node) + DEF_PRIMITIVE_TYPE (DOUBLE, double_type_node) + DEF_PRIMITIVE_TYPE (FLOAT80, float80_type_node) +-DEF_PRIMITIVE_TYPE (FLOAT128, float128t_type_node) ++DEF_PRIMITIVE_TYPE (FLOAT128, float128_type_node) + DEF_PRIMITIVE_TYPE (CONST_STRING, const_string_type_node) + + # MMX vectors +diff --git a/gcc/config/i386/i386-features.cc b/gcc/config/i386/i386-features.cc +index 74ee14a584a..c09abf8fc20 100644 +--- a/gcc/config/i386/i386-features.cc ++++ b/gcc/config/i386/i386-features.cc +@@ -979,8 +979,7 @@ general_scalar_chain::convert_op (rtx *op, rtx_insn *insn) + rtx + scalar_chain::convert_compare (rtx op1, rtx op2, rtx_insn *insn) + { +- rtx tmp = gen_reg_rtx (vmode); +- rtx src; ++ rtx src, tmp; + /* Comparison against anything other than zero, requires an XOR. */ + if (op2 != const0_rtx) + { +@@ -989,6 +988,7 @@ scalar_chain::convert_compare (rtx op1, rtx op2, rtx_insn *insn) + /* If both operands are MEMs, explicitly load the OP1 into TMP. */ + if (MEM_P (op1) && MEM_P (op2)) + { ++ tmp = gen_reg_rtx (vmode); + emit_insn_before (gen_rtx_SET (tmp, op1), insn); + src = tmp; + } +@@ -1003,34 +1003,56 @@ scalar_chain::convert_compare (rtx op1, rtx op2, rtx_insn *insn) + rtx op12 = XEXP (op1, 1); + convert_op (&op11, insn); + convert_op (&op12, insn); +- if (MEM_P (op11)) ++ if (!REG_P (op11)) + { ++ tmp = gen_reg_rtx (vmode); + emit_insn_before (gen_rtx_SET (tmp, op11), insn); + op11 = tmp; + } + src = gen_rtx_AND (vmode, gen_rtx_NOT (vmode, op11), op12); + } ++ else if (GET_CODE (op1) == AND) ++ { ++ rtx op11 = XEXP (op1, 0); ++ rtx op12 = XEXP (op1, 1); ++ convert_op (&op11, insn); ++ convert_op (&op12, insn); ++ if (!REG_P (op11)) ++ { ++ tmp = gen_reg_rtx (vmode); ++ emit_insn_before (gen_rtx_SET (tmp, op11), insn); ++ op11 = tmp; ++ } ++ return gen_rtx_UNSPEC (CCmode, gen_rtvec (2, op11, op12), ++ UNSPEC_PTEST); ++ } + else + { + convert_op (&op1, insn); + src = op1; + } +- emit_insn_before (gen_rtx_SET (tmp, src), insn); + -+#ifdef __cplusplus -+} ++ if (!REG_P (src)) ++ { ++ tmp = gen_reg_rtx (vmode); ++ emit_insn_before (gen_rtx_SET (tmp, src), insn); ++ src = tmp; ++ } + + if (vmode == V2DImode) +- emit_insn_before (gen_vec_interleave_lowv2di (copy_rtx_if_shared (tmp), +- copy_rtx_if_shared (tmp), +- copy_rtx_if_shared (tmp)), +- insn); ++ { ++ tmp = gen_reg_rtx (vmode); ++ emit_insn_before (gen_vec_interleave_lowv2di (tmp, src, src), insn); ++ src = tmp; ++ } + else if (vmode == V4SImode) +- emit_insn_before (gen_sse2_pshufd (copy_rtx_if_shared (tmp), +- copy_rtx_if_shared (tmp), +- const0_rtx), +- insn); +- +- return gen_rtx_UNSPEC (CCmode, gen_rtvec (2, copy_rtx_if_shared (tmp), +- copy_rtx_if_shared (tmp)), +- UNSPEC_PTEST); ++ { ++ tmp = gen_reg_rtx (vmode); ++ emit_insn_before (gen_sse2_pshufd (tmp, src, const0_rtx), insn); ++ src = tmp; ++ } ++ ++ return gen_rtx_UNSPEC (CCmode, gen_rtvec (2, src, src), UNSPEC_PTEST); + } + + /* Helper function for converting INSN to vector mode. */ +@@ -1517,6 +1539,9 @@ timode_scalar_chain::fix_debug_reg_uses (rtx reg) + void + timode_scalar_chain::convert_op (rtx *op, rtx_insn *insn) + { ++ if (GET_MODE (*op) == V1TImode) ++ return; ++ + *op = copy_rtx_if_shared (*op); + + if (REG_P (*op)) +@@ -1524,19 +1549,19 @@ timode_scalar_chain::convert_op (rtx *op, rtx_insn *insn) + else if (MEM_P (*op)) + { + rtx tmp = gen_reg_rtx (V1TImode); +- emit_insn_before (gen_rtx_SET (gen_rtx_SUBREG (V1TImode, tmp, 0), ++ emit_insn_before (gen_rtx_SET (tmp, + gen_gpr_to_xmm_move_src (V1TImode, *op)), + insn); +- *op = gen_rtx_SUBREG (V1TImode, tmp, 0); ++ *op = tmp; + + if (dump_file) + fprintf (dump_file, " Preloading operand for insn %d into r%d\n", + INSN_UID (insn), REGNO (tmp)); + } +- else if (CONST_INT_P (*op)) ++ else if (CONST_SCALAR_INT_P (*op)) + { + rtx vec_cst; +- rtx tmp = gen_rtx_SUBREG (V1TImode, gen_reg_rtx (TImode), 0); ++ rtx tmp = gen_reg_rtx (V1TImode); + + /* Prefer all ones vector in case of -1. */ + if (constm1_operand (*op, TImode)) +@@ -1557,7 +1582,7 @@ timode_scalar_chain::convert_op (rtx *op, rtx_insn *insn) + emit_insn_before (seq, insn); + } + +- emit_insn_before (gen_move_insn (copy_rtx (tmp), vec_cst), insn); ++ emit_insn_before (gen_move_insn (tmp, vec_cst), insn); + *op = tmp; + } + else +@@ -1610,11 +1635,10 @@ timode_scalar_chain::convert_insn (rtx_insn *insn) + switch (GET_CODE (src)) + { + case REG: +- if (GET_MODE (src) == TImode) +- { +- PUT_MODE (src, V1TImode); +- fix_debug_reg_uses (src); +- } ++ PUT_MODE (src, V1TImode); ++ /* Call fix_debug_reg_uses only if SRC is never defined. */ ++ if (!DF_REG_DEF_CHAIN (REGNO (src))) ++ fix_debug_reg_uses (src); + break; + + case MEM: +@@ -1854,14 +1878,26 @@ convertible_comparison_p (rtx_insn *insn, enum machine_mode mode) + rtx op2 = XEXP (src, 1); + + /* *cmp_doubleword. */ +- if ((CONST_INT_P (op1) ++ if ((CONST_SCALAR_INT_P (op1) + || ((REG_P (op1) || MEM_P (op1)) + && GET_MODE (op1) == mode)) +- && (CONST_INT_P (op2) ++ && (CONST_SCALAR_INT_P (op2) + || ((REG_P (op2) || MEM_P (op2)) + && GET_MODE (op2) == mode))) + return true; + ++ /* *testti_doubleword. */ ++ if (op2 == const0_rtx ++ && GET_CODE (op1) == AND ++ && REG_P (XEXP (op1, 0))) ++ { ++ rtx op12 = XEXP (op1, 1); ++ return GET_MODE (XEXP (op1, 0)) == TImode ++ && (CONST_SCALAR_INT_P (op12) ++ || ((REG_P (op12) || MEM_P (op12)) ++ && GET_MODE (op12) == TImode)); ++ } ++ + /* *test_not_doubleword. */ + if (op2 == const0_rtx + && GET_CODE (op1) == AND +@@ -2063,15 +2099,21 @@ timode_scalar_to_vector_candidate_p (rtx_insn *insn) + if (!MEM_P (dst) + && GET_CODE (XEXP (src, 0)) == NOT + && REG_P (XEXP (XEXP (src, 0), 0)) +- && (REG_P (XEXP (src, 1)) || timode_mem_p (XEXP (src, 1)))) ++ && (REG_P (XEXP (src, 1)) ++ || CONST_SCALAR_INT_P (XEXP (src, 1)) ++ || timode_mem_p (XEXP (src, 1)))) + return true; + return REG_P (XEXP (src, 0)) +- && (REG_P (XEXP (src, 1)) || timode_mem_p (XEXP (src, 1))); ++ && (REG_P (XEXP (src, 1)) ++ || CONST_SCALAR_INT_P (XEXP (src, 1)) ++ || timode_mem_p (XEXP (src, 1))); + + case IOR: + case XOR: + return REG_P (XEXP (src, 0)) +- && (REG_P (XEXP (src, 1)) || timode_mem_p (XEXP (src, 1))); ++ && (REG_P (XEXP (src, 1)) ++ || CONST_SCALAR_INT_P (XEXP (src, 1)) ++ || timode_mem_p (XEXP (src, 1))); + + case NOT: + return REG_P (XEXP (src, 0)) || timode_mem_p (XEXP (src, 0)); +@@ -2413,7 +2455,8 @@ public: + /* opt_pass methods: */ + bool gate (function *) final override + { +- return TARGET_AVX && TARGET_VZEROUPPER; ++ return TARGET_AVX && TARGET_VZEROUPPER ++ && flag_expensive_optimizations && !optimize_size; + } + + unsigned int execute (function *) final override +diff --git a/gcc/config/i386/i386-options.cc b/gcc/config/i386/i386-options.cc +index 37cb5a0dcc4..2cb0bddcd35 100644 +--- a/gcc/config/i386/i386-options.cc ++++ b/gcc/config/i386/i386-options.cc +@@ -1400,11 +1400,7 @@ ix86_valid_target_attribute_tree (tree fndecl, tree args, + if (option_strings[IX86_FUNCTION_SPECIFIC_TUNE]) + opts->x_ix86_tune_string + = ggc_strdup (option_strings[IX86_FUNCTION_SPECIFIC_TUNE]); +- /* If we have explicit arch string and no tune string specified, set +- tune_string to NULL and later it will be overriden by arch_string +- so target clones can get proper optimization. */ +- else if (option_strings[IX86_FUNCTION_SPECIFIC_ARCH] +- || orig_tune_defaulted) ++ else if (orig_tune_defaulted) + opts->x_ix86_tune_string = NULL; + + /* If fpmath= is not set, and we now have sse2 on 32-bit, use it. */ +@@ -2731,9 +2727,7 @@ ix86_option_override_internal (bool main_args_p, + 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) ++ && TARGET_EMIT_VZEROUPPER) + opts->x_target_flags |= MASK_VZEROUPPER; + if (!(opts_set->x_target_flags & MASK_STV)) + opts->x_target_flags |= MASK_STV; +diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc +index a551b8b9d9b..fbd33a6bfd1 100644 +--- a/gcc/config/i386/i386.cc ++++ b/gcc/config/i386/i386.cc +@@ -5358,19 +5358,19 @@ standard_sse_constant_opcode (rtx_insn *insn, rtx *operands) + if (GET_MODE_SIZE (mode) == 64) + { + gcc_assert (TARGET_AVX512F); +- return "vpcmpeqd\t%t0, %t0, %t0"; ++ return "vpcmpeqd \t %t0, %t0, %t0"; + } + else if (GET_MODE_SIZE (mode) == 32) + { + gcc_assert (TARGET_AVX); +- return "vpcmpeqd\t%x0, %x0, %x0"; ++ return "vpcmpeqd \t %x0, %x0, %x0"; + } + gcc_unreachable (); + } + else if (vector_all_ones_zero_extend_quarter_operand (x, mode)) + { + gcc_assert (TARGET_AVX512F); +- return "vpcmpeqd\t%x0, %x0, %x0"; ++ return "vpcmpeqd \t %x0, %x0, %x0"; + } + + gcc_unreachable (); +@@ -18537,10 +18537,8 @@ ix86_gimple_fold_builtin (gimple_stmt_iterator *gsi) + tree itype = GET_MODE_INNER (TYPE_MODE (type)) == E_SFmode + ? intSI_type_node : intDI_type_node; + type = get_same_sized_vectype (itype, type); ++ arg2 = gimple_build (&stmts, VIEW_CONVERT_EXPR, type, arg2); + } +- else +- type = signed_type_for (type); +- arg2 = gimple_build (&stmts, VIEW_CONVERT_EXPR, type, arg2); + tree zero_vec = build_zero_cst (type); + tree cmp_type = truth_type_for (type); + tree cmp = gimple_build (&stmts, LT_EXPR, cmp_type, arg2, zero_vec); +@@ -21160,11 +21158,25 @@ ix86_rtx_costs (rtx x, machine_mode mode, int outer_code_i, int opno, + case UNSPEC: + if (XINT (x, 1) == UNSPEC_TP) + *total = 0; +- else if (XINT(x, 1) == UNSPEC_VTERNLOG) ++ else if (XINT (x, 1) == UNSPEC_VTERNLOG) + { + *total = cost->sse_op; + return true; + } ++ else if (XINT (x, 1) == UNSPEC_PTEST) ++ { ++ *total = cost->sse_op; ++ if (XVECLEN (x, 0) == 2 ++ && GET_CODE (XVECEXP (x, 0, 0)) == AND) ++ { ++ rtx andop = XVECEXP (x, 0, 0); ++ *total += rtx_cost (XEXP (andop, 0), GET_MODE (andop), ++ AND, opno, speed) ++ + rtx_cost (XEXP (andop, 1), GET_MODE (andop), ++ AND, opno, speed); ++ return true; ++ } ++ } + return false; + + case VEC_SELECT: +@@ -22438,35 +22450,6 @@ x86_emit_floatuns (rtx operands[2]) + + emit_label (donelab); + } +- +-/* Return the diagnostic message string if conversion from FROMTYPE to +- TOTYPE is not allowed, NULL otherwise. +- Currently it's used to warn for silent implicit conversion between __bf16 +- and short, since __bfloat16 is refined as real __bf16 instead of short +- since GCC13. */ +- +-static const char * +-ix86_invalid_conversion (const_tree fromtype, const_tree totype) +-{ +- if (element_mode (fromtype) != element_mode (totype) +- && (TARGET_AVX512BF16 || TARGET_AVXNECONVERT)) +- { +- /* Warn for silent implicit conversion where user may expect +- a bitcast. */ +- if ((TYPE_MODE (fromtype) == BFmode +- && TYPE_MODE (totype) == HImode) +- || (TYPE_MODE (totype) == BFmode +- && TYPE_MODE (fromtype) == HImode)) +- warning (0, "%<__bfloat16%> is redefined from typedef % " +- "to real %<__bf16%> since GCC V13, be careful of " +- "implicit conversion between %<__bf16%> and %; " +- "a explicit bitcast may be needed here"); +- } +- +- /* Conversion allowed. */ +- return NULL; +-} +- + + /* Target hook for scalar_mode_supported_p. */ + static bool +@@ -24728,9 +24711,6 @@ ix86_run_selftests (void) + # define TARGET_MERGE_DECL_ATTRIBUTES merge_dllimport_decl_attributes + #endif + +-#undef TARGET_INVALID_CONVERSION +-#define TARGET_INVALID_CONVERSION ix86_invalid_conversion +- + #undef TARGET_COMP_TYPE_ATTRIBUTES + #define TARGET_COMP_TYPE_ATTRIBUTES ix86_comp_type_attributes + +diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h +index 27b9783cae8..1da6dce8e0b 100644 +--- a/gcc/config/i386/i386.h ++++ b/gcc/config/i386/i386.h +@@ -2359,11 +2359,9 @@ constexpr wide_int_bitmask PTA_ALDERLAKE = PTA_TREMONT | PTA_ADX | PTA_AVX + | PTA_PCONFIG | PTA_PKU | PTA_VAES | PTA_VPCLMULQDQ | PTA_SERIALIZE + | PTA_HRESET | PTA_KL | PTA_WIDEKL | PTA_AVXVNNI; + constexpr wide_int_bitmask PTA_SIERRAFOREST = PTA_ALDERLAKE | PTA_AVXIFMA +- | PTA_AVXVNNIINT8 | PTA_AVXNECONVERT | PTA_CMPCCXADD | PTA_ENQCMD | PTA_UINTR; ++ | PTA_AVXVNNIINT8 | PTA_AVXNECONVERT | PTA_CMPCCXADD; + constexpr wide_int_bitmask PTA_GRANITERAPIDS = PTA_SAPPHIRERAPIDS | PTA_AMX_FP16 +- | PTA_PREFETCHI; +-constexpr wide_int_bitmask PTA_GRANITERAPIDS_D = PTA_GRANITERAPIDS +- | PTA_AMX_COMPLEX; ++ | PTA_PREFETCHI | PTA_AMX_COMPLEX; + constexpr wide_int_bitmask PTA_GRANDRIDGE = PTA_SIERRAFOREST | PTA_RAOINT; + constexpr wide_int_bitmask PTA_KNM = PTA_KNL | PTA_AVX5124VNNIW + | PTA_AVX5124FMAPS | PTA_AVX512VPOPCNTDQ; +diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md +index f3a3305ac4f..ed689b044c3 100644 +--- a/gcc/config/i386/i386.md ++++ b/gcc/config/i386/i386.md +@@ -9929,6 +9929,27 @@ + [(set_attr "type" "test") + (set_attr "mode" "QI")]) + ++;; Provide a *testti instruction that STV can implement using ptest. ++;; This pattern splits into *andti3_doubleword and *cmpti_doubleword. ++(define_insn_and_split "*testti_doubleword" ++ [(set (reg:CCZ FLAGS_REG) ++ (compare:CCZ ++ (and:TI (match_operand:TI 0 "register_operand") ++ (match_operand:TI 1 "general_operand")) ++ (const_int 0)))] ++ "TARGET_64BIT ++ && ix86_pre_reload_split ()" ++ "#" ++ "&& 1" ++ [(parallel [(set (match_dup 2) (and:TI (match_dup 0) (match_dup 1))) ++ (clobber (reg:CC FLAGS_REG))]) ++ (set (reg:CCZ FLAGS_REG) (compare:CCZ (match_dup 2) (const_int 0)))] ++{ ++ operands[2] = gen_reg_rtx (TImode); ++ if (!x86_64_hilo_general_operand (operands[1], TImode)) ++ operands[1] = force_reg (TImode, operands[1]); ++}) ++ + ;; Combine likes to form bit extractions for some tests. Humor it. + (define_insn_and_split "*testqi_ext_3" + [(set (match_operand 0 "flags_reg_operand") +diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md +index 4bbb5b88576..513960e8f33 100644 +--- a/gcc/config/i386/sse.md ++++ b/gcc/config/i386/sse.md +@@ -1335,7 +1335,7 @@ + + (define_insn "mov_internal" + [(set (match_operand:VMOVE 0 "nonimmediate_operand" +- "=v,v ,x,v ,m") ++ "=v,v ,v,v ,m") + (match_operand:VMOVE 1 "nonimmediate_or_sse_const_operand" + " C,,BH,vm,v"))] + "TARGET_SSE +@@ -1467,12 +1467,12 @@ + }) + + (define_insn "*_load_mask" +- [(set (match_operand:VI12HFBF_AVX512VL 0 "register_operand" "=v") +- (vec_merge:VI12HFBF_AVX512VL +- (unspec:VI12HFBF_AVX512VL +- [(match_operand:VI12HFBF_AVX512VL 1 "memory_operand" "m")] ++ [(set (match_operand:VI12_AVX512VL 0 "register_operand" "=v") ++ (vec_merge:VI12_AVX512VL ++ (unspec:VI12_AVX512VL ++ [(match_operand:VI12_AVX512VL 1 "memory_operand" "m")] + UNSPEC_MASKLOAD) +- (match_operand:VI12HFBF_AVX512VL 2 "nonimm_or_0_operand" "0C") ++ (match_operand:VI12_AVX512VL 2 "nonimm_or_0_operand" "0C") + (match_operand: 3 "register_operand" "Yk")))] + "TARGET_AVX512BW" + "vmovdqu\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}" +@@ -1481,9 +1481,9 @@ + (set_attr "mode" "")]) + + (define_insn_and_split "*_load" +- [(set (match_operand:VI12HFBF_AVX512VL 0 "register_operand" "=v") +- (unspec:VI12HFBF_AVX512VL +- [(match_operand:VI12HFBF_AVX512VL 1 "memory_operand" "m")] ++ [(set (match_operand:VI12_AVX512VL 0 "register_operand" "=v") ++ (unspec:VI12_AVX512VL ++ [(match_operand:VI12_AVX512VL 1 "memory_operand" "m")] + UNSPEC_MASKLOAD))] + "TARGET_AVX512BW" + "#" +@@ -1610,7 +1610,7 @@ + (set_attr "prefix" "evex") + (set_attr "mode" "")]) + +-(define_insn "*_store_mask" ++(define_insn "_store_mask" + [(set (match_operand:V48_AVX512VL 0 "memory_operand" "=m") + (vec_merge:V48_AVX512VL + (match_operand:V48_AVX512VL 1 "register_operand" "v") +@@ -1638,7 +1638,7 @@ + (set_attr "memory" "store") + (set_attr "mode" "")]) + +-(define_insn "*_store_mask" ++(define_insn "_store_mask" + [(set (match_operand:VI12HFBF_AVX512VL 0 "memory_operand" "=m") + (vec_merge:VI12HFBF_AVX512VL + (match_operand:VI12HFBF_AVX512VL 1 "register_operand" "v") +@@ -23128,6 +23128,19 @@ + (set_attr "prefix" "orig,orig,vex") + (set_attr "mode" "TI")]) + ++(define_insn_and_split "*ptest_and" ++ [(set (reg:CC FLAGS_REG) ++ (unspec:CC [(and:V_AVX (match_operand:V_AVX 0 "register_operand") ++ (match_operand:V_AVX 1 "vector_operand")) ++ (and:V_AVX (match_dup 0) (match_dup 1))] ++ UNSPEC_PTEST))] ++ "TARGET_SSE4_1 ++ && ix86_pre_reload_split ()" ++ "#" ++ "&& 1" ++ [(set (reg:CC FLAGS_REG) ++ (unspec:CC [(match_dup 0) (match_dup 1)] UNSPEC_PTEST))]) ++ + (define_expand "nearbyint2" + [(set (match_operand:VFH 0 "register_operand") + (unspec:VFH +@@ -26520,21 +26533,17 @@ + "TARGET_AVX") + + (define_expand "maskload" +- [(set (match_operand:V48_AVX512VL 0 "register_operand") +- (vec_merge:V48_AVX512VL +- (unspec:V48_AVX512VL +- [(match_operand:V48_AVX512VL 1 "memory_operand")] +- UNSPEC_MASKLOAD) ++ [(set (match_operand:V48H_AVX512VL 0 "register_operand") ++ (vec_merge:V48H_AVX512VL ++ (match_operand:V48H_AVX512VL 1 "memory_operand") + (match_dup 0) + (match_operand: 2 "register_operand")))] + "TARGET_AVX512F") + + (define_expand "maskload" +- [(set (match_operand:VI12HFBF_AVX512VL 0 "register_operand") +- (vec_merge:VI12HFBF_AVX512VL +- (unspec:VI12HFBF_AVX512VL +- [(match_operand:VI12HFBF_AVX512VL 1 "memory_operand")] +- UNSPEC_MASKLOAD) ++ [(set (match_operand:VI12_AVX512VL 0 "register_operand") ++ (vec_merge:VI12_AVX512VL ++ (match_operand:VI12_AVX512VL 1 "memory_operand") + (match_dup 0) + (match_operand: 2 "register_operand")))] + "TARGET_AVX512BW") +@@ -26549,66 +26558,21 @@ + "TARGET_AVX") + + (define_expand "maskstore" +- [(set (match_operand:V48_AVX512VL 0 "memory_operand") +- (unspec:V48_AVX512VL +- [(match_operand:V48_AVX512VL 1 "register_operand") +- (match_dup 0) +- (match_operand: 2 "register_operand")] +- UNSPEC_MASKMOV))] ++ [(set (match_operand:V48H_AVX512VL 0 "memory_operand") ++ (vec_merge:V48H_AVX512VL ++ (match_operand:V48H_AVX512VL 1 "register_operand") ++ (match_dup 0) ++ (match_operand: 2 "register_operand")))] + "TARGET_AVX512F") + + (define_expand "maskstore" +- [(set (match_operand:VI12HFBF_AVX512VL 0 "memory_operand") +- (unspec:VI12HFBF_AVX512VL +- [(match_operand:VI12HFBF_AVX512VL 1 "register_operand") +- (match_dup 0) +- (match_operand: 2 "register_operand")] +- UNSPEC_MASKMOV))] ++ [(set (match_operand:VI12_AVX512VL 0 "memory_operand") ++ (vec_merge:VI12_AVX512VL ++ (match_operand:VI12_AVX512VL 1 "register_operand") ++ (match_dup 0) ++ (match_operand: 2 "register_operand")))] + "TARGET_AVX512BW") + +-(define_insn "_store_mask" +- [(set (match_operand:V48_AVX512VL 0 "memory_operand" "=m") +- (unspec:V48_AVX512VL +- [(match_operand:V48_AVX512VL 1 "register_operand" "v") +- (match_dup 0) +- (match_operand: 2 "register_operand" "Yk")] +- UNSPEC_MASKMOV))] +- "TARGET_AVX512F" +-{ +- if (FLOAT_MODE_P (GET_MODE_INNER (mode))) +- { +- if (misaligned_operand (operands[0], mode)) +- return "vmovu\t{%1, %0%{%2%}|%0%{%2%}, %1}"; +- else +- return "vmova\t{%1, %0%{%2%}|%0%{%2%}, %1}"; +- } +- else +- { +- if (misaligned_operand (operands[0], mode)) +- return "vmovdqu\t{%1, %0%{%2%}|%0%{%2%}, %1}"; +- else +- return "vmovdqa\t{%1, %0%{%2%}|%0%{%2%}, %1}"; +- } +-} +- [(set_attr "type" "ssemov") +- (set_attr "prefix" "evex") +- (set_attr "memory" "store") +- (set_attr "mode" "")]) +- +-(define_insn "_store_mask" +- [(set (match_operand:VI12HFBF_AVX512VL 0 "memory_operand" "=m") +- (unspec:VI12HFBF_AVX512VL +- [(match_operand:VI12HFBF_AVX512VL 1 "register_operand" "v") +- (match_dup 0) +- (match_operand: 2 "register_operand" "Yk")] +- UNSPEC_MASKMOV))] +- "TARGET_AVX512BW" +- "vmovdqu\t{%1, %0%{%2%}|%0%{%2%}, %1}" +- [(set_attr "type" "ssemov") +- (set_attr "prefix" "evex") +- (set_attr "memory" "store") +- (set_attr "mode" "")]) +- + (define_expand "cbranch4" + [(set (reg:CC FLAGS_REG) + (compare:CC (match_operand:VI48_AVX 1 "register_operand") +diff --git a/gcc/config/loongarch/loongarch.md b/gcc/config/loongarch/loongarch.md +index 43c3578b6db..3509c3c21c1 100644 +--- a/gcc/config/loongarch/loongarch.md ++++ b/gcc/config/loongarch/loongarch.md +@@ -2854,10 +2854,6 @@ + } + [(set_attr "type" "branch")]) + +-;; Micro-architecture unconditionally treats a "jr $ra" as "return from subroutine", +-;; non-returning indirect jumps through $ra would interfere with both subroutine +-;; return prediction and the more general indirect branch prediction. +- + (define_expand "indirect_jump" + [(set (pc) (match_operand 0 "register_operand"))] + "" +@@ -2868,7 +2864,7 @@ + }) + + (define_insn "@indirect_jump" +- [(set (pc) (match_operand:P 0 "register_operand" "e"))] ++ [(set (pc) (match_operand:P 0 "register_operand" "r"))] + "" + "jr\t%0" + [(set_attr "type" "jump") +@@ -2891,7 +2887,7 @@ + + (define_insn "@tablejump" + [(set (pc) +- (match_operand:P 0 "register_operand" "e")) ++ (match_operand:P 0 "register_operand" "r")) + (use (label_ref (match_operand 1 "" "")))] + "" + "jr\t%0" +diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h +index 98bc77b46b8..4f1690d4f4d 100644 +--- a/gcc/config/newlib-stdint.h ++++ b/gcc/config/newlib-stdint.h +@@ -25,7 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + /* newlib uses 32-bit long in certain cases for all non-SPU + targets. */ + #ifndef STDINT_LONG32 +-#define STDINT_LONG32 (LONG_TYPE_SIZE == 32) ++#define STDINT_LONG32 0 + #endif + + #define SIG_ATOMIC_TYPE "int" +diff --git a/gcc/config/nvptx/mkoffload.cc b/gcc/config/nvptx/mkoffload.cc +index 6cdea45cffe..edb03cff1cd 100644 +--- a/gcc/config/nvptx/mkoffload.cc ++++ b/gcc/config/nvptx/mkoffload.cc +@@ -357,20 +357,6 @@ process (FILE *in, FILE *out, uint32_t omp_requires) + fputc (sm_ver2[i], out); + fprintf (out, "\"\n\t\".file 1 \\\"\\\"\"\n"); + +- /* WORKAROUND - see PR 108098 +- It seems as if older CUDA JIT compiler optimizes the function pointers +- in offload_func_table to NULL, which can be prevented by adding a +- dummy procedure. With CUDA 11.1, it seems to work fine without +- workaround while CUDA 10.2 as some ancient version have need the +- workaround. Assuming CUDA 11.0 fixes it, emitting it could be +- restricted to 'if (sm_ver2[0] < 8 && version2[0] < 7)' as sm_80 and +- PTX ISA 7.0 are new in CUDA 11.0; for 11.1 it would be sm_86 and +- PTX ISA 7.1. */ +- fprintf (out, "\n\t\".func __dummy$func ( );\"\n"); +- fprintf (out, "\t\".func __dummy$func ( )\"\n"); +- fprintf (out, "\t\"{\"\n"); +- fprintf (out, "\t\"}\"\n"); +- + size_t fidx = 0; + for (id = func_ids; id; id = id->next) + { +diff --git a/gcc/config/riscv/elf.h b/gcc/config/riscv/elf.h +index 4b7e5c988ca..a725c00b637 100644 +--- a/gcc/config/riscv/elf.h ++++ b/gcc/config/riscv/elf.h +@@ -37,4 +37,4 @@ along with GCC; see the file COPYING3. If not see + #undef ENDFILE_SPEC + #define ENDFILE_SPEC "crtend%O%s" + +-#define RISCV_USE_CUSTOMISED_MULTI_LIB select_by_abi_arch_cmodel ++#define RISCV_USE_CUSTOMISED_MULTI_LIB 1 +diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h +index 3e625e0f867..b9557a75dc7 100644 +--- a/gcc/config/riscv/linux.h ++++ b/gcc/config/riscv/linux.h +@@ -35,6 +35,16 @@ along with GCC; see the file COPYING3. If not see + #undef MUSL_DYNAMIC_LINKER + #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-riscv" XLEN_SPEC MUSL_ABI_SUFFIX ".so.1" + ++/* Because RISC-V only has word-sized atomics, it requries libatomic where ++ others do not. So link libatomic by default, as needed. */ ++#undef LIB_SPEC ++#ifdef LD_AS_NEEDED_OPTION ++#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC \ ++ " %{pthread:" LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION "}" ++#else ++#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC " -latomic " +#endif + -+#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */ -diff --git a/libgcc/config/rs6000/t-ppccomm b/libgcc/config/rs6000/t-ppccomm -index fb812d3801f..7f6669d530f 100644 ---- a/libgcc/config/rs6000/t-ppccomm -+++ b/libgcc/config/rs6000/t-ppccomm -@@ -1,4 +1,5 @@ - LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c \ -+ $(srcdir)/config/rs6000/gthr-dkp.c \ - $(srcdir)/config/rs6000/tramp.S + #define ICACHE_FLUSH_FUNC "__riscv_flush_icache" + + #define CPP_SPEC "%{pthread:-D_REENTRANT}" +@@ -66,5 +76,3 @@ along with GCC; see the file COPYING3. If not see + "/usr/lib" XLEN_SPEC "/" ABI_SPEC "/ " \ + "/lib/ " \ + "/usr/lib/ " +- +-#define RISCV_USE_CUSTOMISED_MULTI_LIB select_by_abi +diff --git a/gcc/config/riscv/riscv-opts.h b/gcc/config/riscv/riscv-opts.h +index be8de182312..cf0cd669be4 100644 +--- a/gcc/config/riscv/riscv-opts.h ++++ b/gcc/config/riscv/riscv-opts.h +@@ -67,15 +67,6 @@ enum stack_protector_guard { + SSP_GLOBAL /* global canary */ + }; + +-enum riscv_multilib_select_kind { +- /* Select multilib by builtin way. */ +- select_by_builtin, +- /* Select multilib by ABI, arch and code model. */ +- select_by_abi_arch_cmodel, +- /* Select multilib by ABI only. */ +- select_by_abi, +-}; +- + #define MASK_ZICSR (1 << 0) + #define MASK_ZIFENCEI (1 << 1) + +diff --git a/gcc/config/riscv/riscv-protos.h b/gcc/config/riscv/riscv-protos.h +index 02b33e02020..5244e8dcbf0 100644 +--- a/gcc/config/riscv/riscv-protos.h ++++ b/gcc/config/riscv/riscv-protos.h +@@ -79,8 +79,6 @@ extern void riscv_reinit (void); + extern poly_uint64 riscv_regmode_natural_size (machine_mode); + extern bool riscv_v_ext_vector_mode_p (machine_mode); + extern bool riscv_shamt_matches_mask_p (int, HOST_WIDE_INT); +-extern void riscv_subword_address (rtx, rtx *, rtx *, rtx *, rtx *); +-extern void riscv_lshift_subword (machine_mode, rtx, rtx, rtx *); + + /* Routines implemented in riscv-c.cc. */ + void riscv_cpu_cpp_builtins (cpp_reader *); +diff --git a/gcc/config/riscv/riscv-vsetvl.cc b/gcc/config/riscv/riscv-vsetvl.cc +index fbd26988106..1b66e3b9eeb 100644 +--- a/gcc/config/riscv/riscv-vsetvl.cc ++++ b/gcc/config/riscv/riscv-vsetvl.cc +@@ -633,8 +633,7 @@ gen_vsetvl_pat (enum vsetvl_type insn_type, const vl_vtype_info &info, rtx vl) + } + + static rtx +-gen_vsetvl_pat (rtx_insn *rinsn, const vector_insn_info &info, +- rtx vl = NULL_RTX) ++gen_vsetvl_pat (rtx_insn *rinsn, const vector_insn_info &info) + { + rtx new_pat; + vl_vtype_info new_info = info; +@@ -645,7 +644,7 @@ gen_vsetvl_pat (rtx_insn *rinsn, const vector_insn_info &info, + if (vsetvl_insn_p (rinsn) || vlmax_avl_p (info.get_avl ())) + { + rtx dest = get_vl (rinsn); +- new_pat = gen_vsetvl_pat (VSETVL_NORMAL, new_info, vl ? vl : dest); ++ new_pat = gen_vsetvl_pat (VSETVL_NORMAL, new_info, dest); + } + else if (INSN_CODE (rinsn) == CODE_FOR_vsetvl_vtype_change_only) + new_pat = gen_vsetvl_pat (VSETVL_VTYPE_CHANGE_ONLY, new_info, NULL_RTX); +@@ -733,10 +732,7 @@ insert_vsetvl (enum emit_type emit_type, rtx_insn *rinsn, + if (vlmax_avl_p (info.get_avl ())) + { + gcc_assert (has_vtype_op (rinsn) || vsetvl_insn_p (rinsn)); +- /* For user vsetvli a5, zero, we should use get_vl to get the VL +- operand "a5". */ +- rtx vl_op +- = vsetvl_insn_p (rinsn) ? get_vl (rinsn) : info.get_avl_reg_rtx (); ++ rtx vl_op = info.get_avl_reg_rtx (); + gcc_assert (!vlmax_avl_p (vl_op)); + emit_vsetvl_insn (VSETVL_NORMAL, emit_type, info, vl_op, rinsn); + return VSETVL_NORMAL; +@@ -927,8 +923,7 @@ change_insn (rtx_insn *rinsn, rtx new_pat) + print_rtl_single (dump_file, PATTERN (rinsn)); + } + +- bool change_p = validate_change (rinsn, &PATTERN (rinsn), new_pat, false); +- gcc_assert (change_p); ++ validate_change (rinsn, &PATTERN (rinsn), new_pat, false); + + if (dump_file) + { +@@ -1041,8 +1036,7 @@ change_insn (function_info *ssa, insn_change change, insn_info *insn, + } + + static void +-change_vsetvl_insn (const insn_info *insn, const vector_insn_info &info, +- rtx vl = NULL_RTX) ++change_vsetvl_insn (const insn_info *insn, const vector_insn_info &info) + { + rtx_insn *rinsn; + if (vector_config_insn_p (insn->rtl ())) +@@ -1056,59 +1050,10 @@ change_vsetvl_insn (const insn_info *insn, const vector_insn_info &info, + rinsn = PREV_INSN (insn->rtl ()); + gcc_assert (vector_config_insn_p (rinsn)); + } +- rtx new_pat = gen_vsetvl_pat (rinsn, info, vl); ++ rtx new_pat = gen_vsetvl_pat (rinsn, info); + change_insn (rinsn, new_pat); + } + +-static void +-local_eliminate_vsetvl_insn (const vector_insn_info &dem) +-{ +- const insn_info *insn = dem.get_insn (); +- if (!insn || insn->is_artificial ()) +- return; +- rtx_insn *rinsn = insn->rtl (); +- const bb_info *bb = insn->bb (); +- if (vsetvl_insn_p (rinsn)) +- { +- rtx vl = get_vl (rinsn); +- for (insn_info *i = insn->next_nondebug_insn (); +- real_insn_and_same_bb_p (i, bb); i = i->next_nondebug_insn ()) +- { +- if (i->is_call () || i->is_asm () +- || find_access (i->defs (), VL_REGNUM) +- || find_access (i->defs (), VTYPE_REGNUM)) +- return; +- +- if (has_vtype_op (i->rtl ())) +- { +- if (!PREV_INSN (i->rtl ())) +- return; +- if (!NONJUMP_INSN_P (PREV_INSN (i->rtl ()))) +- return; +- if (!vsetvl_discard_result_insn_p (PREV_INSN (i->rtl ()))) +- return; +- rtx avl = get_avl (i->rtl ()); +- if (avl != vl) +- return; +- set_info *def = find_access (i->uses (), REGNO (avl))->def (); +- if (def->insn () != insn) +- return; +- +- vector_insn_info new_info; +- new_info.parse_insn (i); +- if (!new_info.skip_avl_compatible_p (dem)) +- return; +- +- new_info.set_avl_info (dem.get_avl_info ()); +- new_info = dem.merge (new_info, LOCAL_MERGE); +- change_vsetvl_insn (insn, new_info); +- eliminate_insn (PREV_INSN (i->rtl ())); +- return; +- } +- } +- } +-} +- + static bool + source_equal_p (insn_info *insn1, insn_info *insn2) + { +@@ -1647,18 +1592,6 @@ backward_propagate_worthwhile_p (const basic_block cfg_bb, + return true; + } + +-/* Count the number of REGNO in RINSN. */ +-static int +-count_regno_occurrences (rtx_insn *rinsn, unsigned int regno) +-{ +- int count = 0; +- extract_insn (rinsn); +- for (int i = 0; i < recog_data.n_operands; i++) +- if (refers_to_regno_p (regno, recog_data.operand[i])) +- count++; +- return count; +-} +- + avl_info::avl_info (const avl_info &other) + { + m_value = other.get_value (); +@@ -2051,19 +1984,6 @@ vector_insn_info::compatible_p (const vector_insn_info &other) const + return true; + } + +-bool +-vector_insn_info::skip_avl_compatible_p (const vector_insn_info &other) const +-{ +- gcc_assert (valid_or_dirty_p () && other.valid_or_dirty_p () +- && "Can't compare invalid demanded infos"); +- unsigned array_size = sizeof (incompatible_conds) / sizeof (demands_cond); +- /* Bypass AVL incompatible cases. */ +- for (unsigned i = 1; i < array_size; i++) +- if (incompatible_conds[i].dual_incompatible_p (*this, other)) +- return false; +- return true; +-} +- + bool + vector_insn_info::compatible_avl_p (const vl_vtype_info &other) const + { +@@ -2258,7 +2178,7 @@ vector_insn_info::fuse_mask_policy (const vector_insn_info &info1, + + vector_insn_info + vector_insn_info::merge (const vector_insn_info &merge_info, +- enum merge_type type) const ++ enum merge_type type = LOCAL_MERGE) const + { + if (!vsetvl_insn_p (get_insn ()->rtl ())) + gcc_assert (this->compatible_p (merge_info) +@@ -2764,7 +2684,7 @@ pass_vsetvl::compute_local_backward_infos (const bb_info *bb) + && !reg_available_p (insn, change)) + && change.compatible_p (info)) + { +- info = change.merge (info, LOCAL_MERGE); ++ info = change.merge (info); + /* Fix PR109399, we should update user vsetvl instruction + if there is a change in demand fusion. */ + if (vsetvl_insn_p (insn->rtl ())) +@@ -3334,21 +3254,7 @@ pass_vsetvl::backward_demand_fusion (void) + new_info)) + continue; + +- rtx vl = NULL_RTX; +- /* Backward VLMAX VL: +- bb 3: +- vsetivli zero, 1 ... -> vsetvli t1, zero +- vmv.s.x +- bb 5: +- vsetvli t1, zero ... -> to be elided. +- vlse16.v +- +- We should forward "t1". */ +- if (!block_info.reaching_out.has_avl_reg () +- && vlmax_avl_p (new_info.get_avl ())) +- vl = get_vl (prop.get_insn ()->rtl ()); +- change_vsetvl_insn (new_info.get_insn (), new_info, vl); +- ++ change_vsetvl_insn (new_info.get_insn (), new_info); + if (block_info.local_dem == block_info.reaching_out) + block_info.local_dem = new_info; + block_info.reaching_out = new_info; +@@ -4007,15 +3913,6 @@ pass_vsetvl::cleanup_insns (void) const + for (insn_info *insn : bb->real_nondebug_insns ()) + { + rtx_insn *rinsn = insn->rtl (); +- const auto &dem = m_vector_manager->vector_insn_infos[insn->uid ()]; +- /* Eliminate local vsetvl: +- bb 0: +- vsetvl a5,a6,... +- vsetvl zero,a5. +- +- Eliminate vsetvl in bb2 when a5 is only coming from +- bb 0. */ +- local_eliminate_vsetvl_insn (dem); + + if (vlmax_avl_insn_p (rinsn)) + { +@@ -4027,7 +3924,7 @@ pass_vsetvl::cleanup_insns (void) const + if (!has_vl_op (rinsn) || !REG_P (get_vl (rinsn))) + continue; + rtx avl = get_vl (rinsn); +- if (count_regno_occurrences (rinsn, REGNO (avl)) == 1) ++ if (count_occurrences (PATTERN (rinsn), avl, 0) == 1) + { + /* Get the list of uses for the new instruction. */ + auto attempt = crtl->ssa->new_change_attempt (); +diff --git a/gcc/config/riscv/riscv-vsetvl.h b/gcc/config/riscv/riscv-vsetvl.h +index 4fe08cfc789..237381f7026 100644 +--- a/gcc/config/riscv/riscv-vsetvl.h ++++ b/gcc/config/riscv/riscv-vsetvl.h +@@ -380,7 +380,6 @@ public: + void fuse_mask_policy (const vector_insn_info &, const vector_insn_info &); + + bool compatible_p (const vector_insn_info &) const; +- bool skip_avl_compatible_p (const vector_insn_info &) const; + bool compatible_avl_p (const vl_vtype_info &) const; + bool compatible_avl_p (const avl_info &) const; + bool compatible_vtype_p (const vl_vtype_info &) const; +diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc +index 9c626904e89..e88fa2d6337 100644 +--- a/gcc/config/riscv/riscv.cc ++++ b/gcc/config/riscv/riscv.cc +@@ -6857,9 +6857,10 @@ riscv_asan_shadow_offset (void) + { + /* We only have libsanitizer support for RV64 at present. + +- This number must match ASAN_SHADOW_OFFSET_CONST in the file +- libsanitizer/asan/asan_mapping.h. */ +- return TARGET_64BIT ? HOST_WIDE_INT_UC (0xd55550000) : 0; ++ This number must match kRiscv*_ShadowOffset* in the file ++ libsanitizer/asan/asan_mapping.h which is currently 1<<29 for rv64, ++ even though 1<<36 makes more sense. */ ++ return TARGET_64BIT ? (HOST_WIDE_INT_1 << 29) : 0; + } + + /* Implement TARGET_MANGLE_TYPE. */ +@@ -7142,55 +7143,6 @@ riscv_zero_call_used_regs (HARD_REG_SET need_zeroed_hardregs) + & ~zeroed_hardregs); + } + +-/* Given memory reference MEM, expand code to compute the aligned +- memory address, shift and mask values and store them into +- *ALIGNED_MEM, *SHIFT, *MASK and *NOT_MASK. */ +- +-void +-riscv_subword_address (rtx mem, rtx *aligned_mem, rtx *shift, rtx *mask, +- rtx *not_mask) +-{ +- /* Align the memory address to a word. */ +- rtx addr = force_reg (Pmode, XEXP (mem, 0)); +- +- rtx addr_mask = gen_int_mode (-4, Pmode); +- +- rtx aligned_addr = gen_reg_rtx (Pmode); +- emit_move_insn (aligned_addr, gen_rtx_AND (Pmode, addr, addr_mask)); +- +- *aligned_mem = change_address (mem, SImode, aligned_addr); +- +- /* Calculate the shift amount. */ +- emit_move_insn (*shift, gen_rtx_AND (SImode, gen_lowpart (SImode, addr), +- gen_int_mode (3, SImode))); +- emit_move_insn (*shift, gen_rtx_ASHIFT (SImode, *shift, +- gen_int_mode (3, SImode))); +- +- /* Calculate the mask. */ +- int unshifted_mask = GET_MODE_MASK (GET_MODE (mem)); +- +- emit_move_insn (*mask, gen_int_mode (unshifted_mask, SImode)); +- +- emit_move_insn (*mask, gen_rtx_ASHIFT (SImode, *mask, +- gen_lowpart (QImode, *shift))); +- +- emit_move_insn (*not_mask, gen_rtx_NOT (SImode, *mask)); +-} +- +-/* Leftshift a subword within an SImode register. */ +- +-void +-riscv_lshift_subword (machine_mode mode, rtx value, rtx shift, +- rtx *shifted_value) +-{ +- rtx value_reg = gen_reg_rtx (SImode); +- emit_move_insn (value_reg, simplify_gen_subreg (SImode, value, +- mode, 0)); +- +- emit_move_insn (*shifted_value, gen_rtx_ASHIFT (SImode, value_reg, +- gen_lowpart (QImode, shift))); +-} +- + /* Initialize the GCC target structure. */ + #undef TARGET_ASM_ALIGNED_HI_OP + #define TARGET_ASM_ALIGNED_HI_OP "\t.half\t" +diff --git a/gcc/config/riscv/riscv.opt b/gcc/config/riscv/riscv.opt +index bc5e63ab3e6..ff1dd4ddd4f 100644 +--- a/gcc/config/riscv/riscv.opt ++++ b/gcc/config/riscv/riscv.opt +@@ -254,7 +254,3 @@ Enum(isa_spec_class) String(20191213) Value(ISA_SPEC_CLASS_20191213) + misa-spec= + Target RejectNegative Joined Enum(isa_spec_class) Var(riscv_isa_spec) Init(TARGET_DEFAULT_ISA_SPEC) + Set the version of RISC-V ISA spec. +- +-minline-atomics +-Target Var(TARGET_INLINE_SUBWORD_ATOMIC) Init(1) +-Always inline subword atomic operations. +diff --git a/gcc/config/riscv/sync.md b/gcc/config/riscv/sync.md +index 19274528262..c932ef87b9d 100644 +--- a/gcc/config/riscv/sync.md ++++ b/gcc/config/riscv/sync.md +@@ -21,11 +21,8 @@ + + (define_c_enum "unspec" [ + UNSPEC_COMPARE_AND_SWAP +- UNSPEC_COMPARE_AND_SWAP_SUBWORD + UNSPEC_SYNC_OLD_OP +- UNSPEC_SYNC_OLD_OP_SUBWORD + UNSPEC_SYNC_EXCHANGE +- UNSPEC_SYNC_EXCHANGE_SUBWORD + UNSPEC_ATOMIC_STORE + UNSPEC_MEMORY_BARRIER + ]) +@@ -94,135 +91,6 @@ + [(set_attr "type" "atomic") + (set (attr "length") (const_int 8))]) + +-(define_insn "subword_atomic_fetch_strong_" +- [(set (match_operand:SI 0 "register_operand" "=&r") ;; old value at mem +- (match_operand:SI 1 "memory_operand" "+A")) ;; mem location +- (set (match_dup 1) +- (unspec_volatile:SI +- [(any_atomic:SI (match_dup 1) +- (match_operand:SI 2 "register_operand" "rI")) ;; value for op +- (match_operand:SI 3 "register_operand" "rI")] ;; mask +- UNSPEC_SYNC_OLD_OP_SUBWORD)) +- (match_operand:SI 4 "register_operand" "rI") ;; not_mask +- (clobber (match_scratch:SI 5 "=&r")) ;; tmp_1 +- (clobber (match_scratch:SI 6 "=&r"))] ;; tmp_2 +- "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" +- { +- return "1:\;" +- "lr.w.aq\t%0, %1\;" +- "\t%5, %0, %2\;" +- "and\t%5, %5, %3\;" +- "and\t%6, %0, %4\;" +- "or\t%6, %6, %5\;" +- "sc.w.rl\t%5, %6, %1\;" +- "bnez\t%5, 1b"; +- } +- [(set (attr "length") (const_int 28))]) +- +-(define_expand "atomic_fetch_nand" +- [(match_operand:SHORT 0 "register_operand") ;; old value at mem +- (not:SHORT (and:SHORT (match_operand:SHORT 1 "memory_operand") ;; mem location +- (match_operand:SHORT 2 "reg_or_0_operand"))) ;; value for op +- (match_operand:SI 3 "const_int_operand")] ;; model +- "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" +-{ +- /* We have no QImode/HImode atomics, so form a mask, then use +- subword_atomic_fetch_strong_nand to implement a LR/SC version of the +- operation. */ +- +- /* Logic duplicated in gcc/libgcc/config/riscv/atomic.c for use when inlining +- is disabled. */ +- +- rtx old = gen_reg_rtx (SImode); +- rtx mem = operands[1]; +- rtx value = operands[2]; +- rtx aligned_mem = gen_reg_rtx (SImode); +- rtx shift = gen_reg_rtx (SImode); +- rtx mask = gen_reg_rtx (SImode); +- rtx not_mask = gen_reg_rtx (SImode); +- +- riscv_subword_address (mem, &aligned_mem, &shift, &mask, ¬_mask); +- +- rtx shifted_value = gen_reg_rtx (SImode); +- riscv_lshift_subword (mode, value, shift, &shifted_value); +- +- emit_insn (gen_subword_atomic_fetch_strong_nand (old, aligned_mem, +- shifted_value, +- mask, not_mask)); +- +- emit_move_insn (old, gen_rtx_ASHIFTRT (SImode, old, +- gen_lowpart (QImode, shift))); +- +- emit_move_insn (operands[0], gen_lowpart (mode, old)); +- +- DONE; +-}) +- +-(define_insn "subword_atomic_fetch_strong_nand" +- [(set (match_operand:SI 0 "register_operand" "=&r") ;; old value at mem +- (match_operand:SI 1 "memory_operand" "+A")) ;; mem location +- (set (match_dup 1) +- (unspec_volatile:SI +- [(not:SI (and:SI (match_dup 1) +- (match_operand:SI 2 "register_operand" "rI"))) ;; value for op +- (match_operand:SI 3 "register_operand" "rI")] ;; mask +- UNSPEC_SYNC_OLD_OP_SUBWORD)) +- (match_operand:SI 4 "register_operand" "rI") ;; not_mask +- (clobber (match_scratch:SI 5 "=&r")) ;; tmp_1 +- (clobber (match_scratch:SI 6 "=&r"))] ;; tmp_2 +- "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" +- { +- return "1:\;" +- "lr.w.aq\t%0, %1\;" +- "and\t%5, %0, %2\;" +- "not\t%5, %5\;" +- "and\t%5, %5, %3\;" +- "and\t%6, %0, %4\;" +- "or\t%6, %6, %5\;" +- "sc.w.rl\t%5, %6, %1\;" +- "bnez\t%5, 1b"; +- } +- [(set (attr "length") (const_int 32))]) +- +-(define_expand "atomic_fetch_" +- [(match_operand:SHORT 0 "register_operand") ;; old value at mem +- (any_atomic:SHORT (match_operand:SHORT 1 "memory_operand") ;; mem location +- (match_operand:SHORT 2 "reg_or_0_operand")) ;; value for op +- (match_operand:SI 3 "const_int_operand")] ;; model +- "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" +-{ +- /* We have no QImode/HImode atomics, so form a mask, then use +- subword_atomic_fetch_strong_ to implement a LR/SC version of the +- operation. */ +- +- /* Logic duplicated in gcc/libgcc/config/riscv/atomic.c for use when inlining +- is disabled. */ +- +- rtx old = gen_reg_rtx (SImode); +- rtx mem = operands[1]; +- rtx value = operands[2]; +- rtx aligned_mem = gen_reg_rtx (SImode); +- rtx shift = gen_reg_rtx (SImode); +- rtx mask = gen_reg_rtx (SImode); +- rtx not_mask = gen_reg_rtx (SImode); +- +- riscv_subword_address (mem, &aligned_mem, &shift, &mask, ¬_mask); +- +- rtx shifted_value = gen_reg_rtx (SImode); +- riscv_lshift_subword (mode, value, shift, &shifted_value); +- +- emit_insn (gen_subword_atomic_fetch_strong_ (old, aligned_mem, +- shifted_value, +- mask, not_mask)); +- +- emit_move_insn (old, gen_rtx_ASHIFTRT (SImode, old, +- gen_lowpart (QImode, shift))); +- +- emit_move_insn (operands[0], gen_lowpart (mode, old)); +- +- DONE; +-}) +- + (define_insn "atomic_exchange" + [(set (match_operand:GPR 0 "register_operand" "=&r") + (unspec_volatile:GPR +@@ -236,56 +104,6 @@ + [(set_attr "type" "atomic") + (set (attr "length") (const_int 8))]) + +-(define_expand "atomic_exchange" +- [(match_operand:SHORT 0 "register_operand") ;; old value at mem +- (match_operand:SHORT 1 "memory_operand") ;; mem location +- (match_operand:SHORT 2 "register_operand") ;; value +- (match_operand:SI 3 "const_int_operand")] ;; model +- "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" +-{ +- rtx old = gen_reg_rtx (SImode); +- rtx mem = operands[1]; +- rtx value = operands[2]; +- rtx aligned_mem = gen_reg_rtx (SImode); +- rtx shift = gen_reg_rtx (SImode); +- rtx mask = gen_reg_rtx (SImode); +- rtx not_mask = gen_reg_rtx (SImode); +- +- riscv_subword_address (mem, &aligned_mem, &shift, &mask, ¬_mask); +- +- rtx shifted_value = gen_reg_rtx (SImode); +- riscv_lshift_subword (mode, value, shift, &shifted_value); +- +- emit_insn (gen_subword_atomic_exchange_strong (old, aligned_mem, +- shifted_value, not_mask)); +- +- emit_move_insn (old, gen_rtx_ASHIFTRT (SImode, old, +- gen_lowpart (QImode, shift))); +- +- emit_move_insn (operands[0], gen_lowpart (mode, old)); +- DONE; +-}) +- +-(define_insn "subword_atomic_exchange_strong" +- [(set (match_operand:SI 0 "register_operand" "=&r") ;; old value at mem +- (match_operand:SI 1 "memory_operand" "+A")) ;; mem location +- (set (match_dup 1) +- (unspec_volatile:SI +- [(match_operand:SI 2 "reg_or_0_operand" "rI") ;; value +- (match_operand:SI 3 "reg_or_0_operand" "rI")] ;; not_mask +- UNSPEC_SYNC_EXCHANGE_SUBWORD)) +- (clobber (match_scratch:SI 4 "=&r"))] ;; tmp_1 +- "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" +- { +- return "1:\;" +- "lr.w.aq\t%0, %1\;" +- "and\t%4, %0, %3\;" +- "or\t%4, %4, %2\;" +- "sc.w.rl\t%4, %4, %1\;" +- "bnez\t%4, 1b"; +- } +- [(set (attr "length") (const_int 20))]) +- + (define_insn "atomic_cas_value_strong" + [(set (match_operand:GPR 0 "register_operand" "=&r") + (match_operand:GPR 1 "memory_operand" "+A")) +@@ -335,125 +153,6 @@ + DONE; + }) + +-(define_expand "atomic_compare_and_swap" +- [(match_operand:SI 0 "register_operand") ;; bool output +- (match_operand:SHORT 1 "register_operand") ;; val output +- (match_operand:SHORT 2 "memory_operand") ;; memory +- (match_operand:SHORT 3 "reg_or_0_operand") ;; expected value +- (match_operand:SHORT 4 "reg_or_0_operand") ;; desired value +- (match_operand:SI 5 "const_int_operand") ;; is_weak +- (match_operand:SI 6 "const_int_operand") ;; mod_s +- (match_operand:SI 7 "const_int_operand")] ;; mod_f +- "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" +-{ +- emit_insn (gen_atomic_cas_value_strong (operands[1], operands[2], +- operands[3], operands[4], +- operands[6], operands[7])); +- +- rtx val = gen_reg_rtx (SImode); +- if (operands[1] != const0_rtx) +- emit_move_insn (val, gen_rtx_SIGN_EXTEND (SImode, operands[1])); +- else +- emit_move_insn (val, const0_rtx); +- +- rtx exp = gen_reg_rtx (SImode); +- if (operands[3] != const0_rtx) +- emit_move_insn (exp, gen_rtx_SIGN_EXTEND (SImode, operands[3])); +- else +- emit_move_insn (exp, const0_rtx); +- +- rtx compare = val; +- if (exp != const0_rtx) +- { +- rtx difference = gen_rtx_MINUS (SImode, val, exp); +- compare = gen_reg_rtx (SImode); +- emit_move_insn (compare, difference); +- } +- +- if (word_mode != SImode) +- { +- rtx reg = gen_reg_rtx (word_mode); +- emit_move_insn (reg, gen_rtx_SIGN_EXTEND (word_mode, compare)); +- compare = reg; +- } +- +- emit_move_insn (operands[0], gen_rtx_EQ (SImode, compare, const0_rtx)); +- DONE; +-}) +- +-(define_expand "atomic_cas_value_strong" +- [(match_operand:SHORT 0 "register_operand") ;; val output +- (match_operand:SHORT 1 "memory_operand") ;; memory +- (match_operand:SHORT 2 "reg_or_0_operand") ;; expected value +- (match_operand:SHORT 3 "reg_or_0_operand") ;; desired value +- (match_operand:SI 4 "const_int_operand") ;; mod_s +- (match_operand:SI 5 "const_int_operand") ;; mod_f +- (match_scratch:SHORT 6)] +- "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" +-{ +- /* We have no QImode/HImode atomics, so form a mask, then use +- subword_atomic_cas_strong to implement a LR/SC version of the +- operation. */ +- +- /* Logic duplicated in gcc/libgcc/config/riscv/atomic.c for use when inlining +- is disabled. */ +- +- rtx old = gen_reg_rtx (SImode); +- rtx mem = operands[1]; +- rtx aligned_mem = gen_reg_rtx (SImode); +- rtx shift = gen_reg_rtx (SImode); +- rtx mask = gen_reg_rtx (SImode); +- rtx not_mask = gen_reg_rtx (SImode); +- +- riscv_subword_address (mem, &aligned_mem, &shift, &mask, ¬_mask); +- +- rtx o = operands[2]; +- rtx n = operands[3]; +- rtx shifted_o = gen_reg_rtx (SImode); +- rtx shifted_n = gen_reg_rtx (SImode); +- +- riscv_lshift_subword (mode, o, shift, &shifted_o); +- riscv_lshift_subword (mode, n, shift, &shifted_n); +- +- emit_move_insn (shifted_o, gen_rtx_AND (SImode, shifted_o, mask)); +- emit_move_insn (shifted_n, gen_rtx_AND (SImode, shifted_n, mask)); +- +- emit_insn (gen_subword_atomic_cas_strong (old, aligned_mem, +- shifted_o, shifted_n, +- mask, not_mask)); +- +- emit_move_insn (old, gen_rtx_ASHIFTRT (SImode, old, +- gen_lowpart (QImode, shift))); +- +- emit_move_insn (operands[0], gen_lowpart (mode, old)); +- +- DONE; +-}) +- +-(define_insn "subword_atomic_cas_strong" +- [(set (match_operand:SI 0 "register_operand" "=&r") ;; old value at mem +- (match_operand:SI 1 "memory_operand" "+A")) ;; mem location +- (set (match_dup 1) +- (unspec_volatile:SI [(match_operand:SI 2 "reg_or_0_operand" "rJ") ;; expected value +- (match_operand:SI 3 "reg_or_0_operand" "rJ")] ;; desired value +- UNSPEC_COMPARE_AND_SWAP_SUBWORD)) +- (match_operand:SI 4 "register_operand" "rI") ;; mask +- (match_operand:SI 5 "register_operand" "rI") ;; not_mask +- (clobber (match_scratch:SI 6 "=&r"))] ;; tmp_1 +- "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" +- { +- return "1:\;" +- "lr.w.aq\t%0, %1\;" +- "and\t%6, %0, %4\;" +- "bne\t%6, %z2, 1f\;" +- "and\t%6, %0, %5\;" +- "or\t%6, %6, %3\;" +- "sc.w.rl\t%6, %6, %1\;" +- "bnez\t%6, 1b\;" +- "1:"; +- } +- [(set (attr "length") (const_int 28))]) +- + (define_expand "atomic_test_and_set" + [(match_operand:QI 0 "register_operand" "") ;; bool output + (match_operand:QI 1 "memory_operand" "+A") ;; memory +@@ -461,7 +160,7 @@ + "TARGET_ATOMIC" + { + /* We have no QImode atomics, so use the address LSBs to form a mask, +- then use an aligned SImode atomic. */ ++ then use an aligned SImode atomic. */ + rtx result = operands[0]; + rtx mem = operands[1]; + rtx model = operands[2]; +diff --git a/gcc/config/riscv/vector.md b/gcc/config/riscv/vector.md +index db3a972832a..0ecca98f20c 100644 +--- a/gcc/config/riscv/vector.md ++++ b/gcc/config/riscv/vector.md +@@ -333,7 +333,7 @@ + (symbol_ref "INTVAL (operands[7])")) + + (eq_attr "type" "vldux,vldox,vialu,vshift,viminmax,vimul,vidiv,vsalu,\ +- viwalu,viwmul,vnshift,vaalu,vsmul,vsshift,\ ++ viwalu,viwmul,vnshift,vimuladd,vaalu,vsmul,vsshift,\ + vnclip,vicmp,vfalu,vfmul,vfminmax,vfdiv,vfwalu,vfwmul,\ + vfsgnj,vfcmp,vfmuladd,vslideup,vslidedown,vislide1up,\ + vislide1down,vfslide1up,vfslide1down,vgather,viwmuladd,vfwmuladd") +diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md +index ad1224e0b57..49b0c964f4d 100644 +--- a/gcc/config/rs6000/altivec.md ++++ b/gcc/config/rs6000/altivec.md +@@ -385,22 +385,14 @@ + + (define_insn_and_split "sldoi_to_mov" + [(set (match_operand:VM 0 "altivec_register_operand") +- (unspec:VM [(match_operand:VM 1 "const_vector_each_byte_same") ++ (unspec:VM [(match_operand:VM 1 "easy_vector_constant") + (match_dup 1) + (match_operand:QI 2 "u5bit_cint_operand")] + UNSPEC_VSLDOI))] +- "VECTOR_MEM_ALTIVEC_OR_VSX_P (mode) && can_create_pseudo_p ()" ++ "VECTOR_UNIT_ALTIVEC_OR_VSX_P (mode) && can_create_pseudo_p ()" + "#" + "&& 1" +- [(set (match_dup 0) (match_dup 1))] +- "{ +- if (!easy_vector_constant (operands[1], mode)) +- { +- rtx dest = gen_reg_rtx (mode); +- emit_move_insn (dest, operands[1]); +- operands[1] = dest; +- } +- }") ++ [(set (match_dup 0) (match_dup 1))]) + + (define_insn "get_vrsave_internal" + [(set (match_operand:SI 0 "register_operand" "=r") +diff --git a/gcc/config/rs6000/eabi.h b/gcc/config/rs6000/eabi.h +index 5bfc377e0de..342ed1932b9 100644 +--- a/gcc/config/rs6000/eabi.h ++++ b/gcc/config/rs6000/eabi.h +@@ -36,6 +36,8 @@ + builtin_assert ("system=embedded"); \ + builtin_assert ("cpu=powerpc"); \ + builtin_assert ("machine=powerpc"); \ ++ builtin_define ("__DEVKITPPC__"); \ ++ builtin_define ("__DEVKITPRO__"); \ + TARGET_OS_SYSV_CPP_BUILTINS (); \ + } \ + while (0) +diff --git a/gcc/config/rs6000/fusion.md b/gcc/config/rs6000/fusion.md +index e286bf526a2..d45fb138a70 100644 +--- a/gcc/config/rs6000/fusion.md ++++ b/gcc/config/rs6000/fusion.md +@@ -22,7 +22,7 @@ + ;; load mode is DI result mode is clobber compare mode is CC extend is none + (define_insn_and_split "*ld_cmpdi_cr0_DI_clobber_CC_none" + [(set (match_operand:CC 2 "cc_reg_operand" "=x") +- (compare:CC (match_operand:DI 1 "non_update_memory_operand" "YZ") ++ (compare:CC (match_operand:DI 1 "ds_form_mem_operand" "m") + (match_operand:DI 3 "const_m1_to_1_operand" "n"))) + (clobber (match_scratch:DI 0 "=r"))] + "(TARGET_P10_FUSION)" +@@ -43,7 +43,7 @@ + ;; load mode is DI result mode is clobber compare mode is CCUNS extend is none + (define_insn_and_split "*ld_cmpldi_cr0_DI_clobber_CCUNS_none" + [(set (match_operand:CCUNS 2 "cc_reg_operand" "=x") +- (compare:CCUNS (match_operand:DI 1 "non_update_memory_operand" "YZ") ++ (compare:CCUNS (match_operand:DI 1 "ds_form_mem_operand" "m") + (match_operand:DI 3 "const_0_to_1_operand" "n"))) + (clobber (match_scratch:DI 0 "=r"))] + "(TARGET_P10_FUSION)" +@@ -64,7 +64,7 @@ + ;; load mode is DI result mode is DI compare mode is CC extend is none + (define_insn_and_split "*ld_cmpdi_cr0_DI_DI_CC_none" + [(set (match_operand:CC 2 "cc_reg_operand" "=x") +- (compare:CC (match_operand:DI 1 "non_update_memory_operand" "YZ") ++ (compare:CC (match_operand:DI 1 "ds_form_mem_operand" "m") + (match_operand:DI 3 "const_m1_to_1_operand" "n"))) + (set (match_operand:DI 0 "gpc_reg_operand" "=r") (match_dup 1))] + "(TARGET_P10_FUSION)" +@@ -85,7 +85,7 @@ + ;; load mode is DI result mode is DI compare mode is CCUNS extend is none + (define_insn_and_split "*ld_cmpldi_cr0_DI_DI_CCUNS_none" + [(set (match_operand:CCUNS 2 "cc_reg_operand" "=x") +- (compare:CCUNS (match_operand:DI 1 "non_update_memory_operand" "YZ") ++ (compare:CCUNS (match_operand:DI 1 "ds_form_mem_operand" "m") + (match_operand:DI 3 "const_0_to_1_operand" "n"))) + (set (match_operand:DI 0 "gpc_reg_operand" "=r") (match_dup 1))] + "(TARGET_P10_FUSION)" +@@ -104,17 +104,17 @@ + + ;; load-cmpi fusion pattern generated by gen_ld_cmpi_p10 + ;; load mode is SI result mode is clobber compare mode is CC extend is none +-(define_insn_and_split "*lwz_cmpwi_cr0_SI_clobber_CC_none" ++(define_insn_and_split "*lwa_cmpdi_cr0_SI_clobber_CC_none" + [(set (match_operand:CC 2 "cc_reg_operand" "=x") +- (compare:CC (match_operand:SI 1 "non_update_memory_operand" "m") ++ (compare:CC (match_operand:SI 1 "ds_form_mem_operand" "m") + (match_operand:SI 3 "const_m1_to_1_operand" "n"))) + (clobber (match_scratch:SI 0 "=r"))] + "(TARGET_P10_FUSION)" +- "lwz%X1 %0,%1\;cmpwi %2,%0,%3" ++ "lwa%X1 %0,%1\;cmpdi %2,%0,%3" + "&& reload_completed + && (cc_reg_not_cr0_operand (operands[2], CCmode) + || !address_is_non_pfx_d_or_x (XEXP (operands[1], 0), +- SImode, NON_PREFIXED_D))" ++ SImode, NON_PREFIXED_DS))" + [(set (match_dup 0) (match_dup 1)) + (set (match_dup 2) + (compare:CC (match_dup 0) (match_dup 3)))] +@@ -146,17 +146,17 @@ + + ;; load-cmpi fusion pattern generated by gen_ld_cmpi_p10 + ;; load mode is SI result mode is SI compare mode is CC extend is none +-(define_insn_and_split "*lwz_cmpwi_cr0_SI_SI_CC_none" ++(define_insn_and_split "*lwa_cmpdi_cr0_SI_SI_CC_none" + [(set (match_operand:CC 2 "cc_reg_operand" "=x") +- (compare:CC (match_operand:SI 1 "non_update_memory_operand" "m") ++ (compare:CC (match_operand:SI 1 "ds_form_mem_operand" "m") + (match_operand:SI 3 "const_m1_to_1_operand" "n"))) + (set (match_operand:SI 0 "gpc_reg_operand" "=r") (match_dup 1))] + "(TARGET_P10_FUSION)" +- "lwz%X1 %0,%1\;cmpwi %2,%0,%3" ++ "lwa%X1 %0,%1\;cmpdi %2,%0,%3" + "&& reload_completed + && (cc_reg_not_cr0_operand (operands[2], CCmode) + || !address_is_non_pfx_d_or_x (XEXP (operands[1], 0), +- SImode, NON_PREFIXED_D))" ++ SImode, NON_PREFIXED_DS))" + [(set (match_dup 0) (match_dup 1)) + (set (match_dup 2) + (compare:CC (match_dup 0) (match_dup 3)))] +@@ -190,7 +190,7 @@ + ;; load mode is SI result mode is EXTSI compare mode is CC extend is sign + (define_insn_and_split "*lwa_cmpdi_cr0_SI_EXTSI_CC_sign" + [(set (match_operand:CC 2 "cc_reg_operand" "=x") +- (compare:CC (match_operand:SI 1 "non_update_memory_operand" "YZ") ++ (compare:CC (match_operand:SI 1 "ds_form_mem_operand" "m") + (match_operand:SI 3 "const_m1_to_1_operand" "n"))) + (set (match_operand:EXTSI 0 "gpc_reg_operand" "=r") (sign_extend:EXTSI (match_dup 1)))] + "(TARGET_P10_FUSION)" +@@ -205,7 +205,6 @@ + "" + [(set_attr "type" "fused_load_cmpi") + (set_attr "cost" "8") +- (set_attr "sign_extend" "yes") + (set_attr "length" "8")]) + + ;; load-cmpi fusion pattern generated by gen_ld_cmpi_p10 +diff --git a/gcc/config/rs6000/genfusion.pl b/gcc/config/rs6000/genfusion.pl +index 749cae0df06..e4db352e0ce 100755 +--- a/gcc/config/rs6000/genfusion.pl ++++ b/gcc/config/rs6000/genfusion.pl +@@ -53,136 +53,92 @@ sub mode_to_ldst_char + return '?'; + } + +-sub gen_ld_cmpi_p10_one +-{ +- my ($lmode, $result, $ccmode) = @_; +- +- my $np = "NON_PREFIXED_D"; +- my $mempred = "non_update_memory_operand"; +- my $extend; +- +- # We need to special case lwa. The prefixed_load_p function in rs6000.cc +- # (which determines if a load instruction is prefixed) uses the fact that the +- # register mode is different from the memory mode, and that the sign_extend +- # attribute is set to use DS-form rules for the address instead of D-form. +- # If the register size is the same, prefixed_load_p assumes we are doing a +- # lwz. We change to use an lwz and word compare if we don't need to sign +- # extend the SImode value. Otherwise if we need the value, we need to +- # make sure the insn is marked as ds-form. +- my $cmp_size_char = ($lmode eq "SI" +- && $ccmode eq "CC" +- && $result !~ /^EXT|^DI$/) ? "w" : "d"; +- +- if ($ccmode eq "CC") { +- # ld and lwa are both DS-FORM. +- ($lmode eq "DI") and $np = "NON_PREFIXED_DS"; +- ($lmode eq "SI" && $cmp_size_char eq "d") and $np = "NON_PREFIXED_DS"; +- } else { +- if ($lmode eq "DI") { +- # ld is DS-form, but lwz is not. +- $np = "NON_PREFIXED_DS"; +- } +- } +- +- my $cmpl = ($ccmode eq "CC") ? "" : "l"; +- my $echr = ($ccmode eq "CC" && $cmp_size_char eq "d") ? "a" : "z"; +- if ($lmode eq "DI") { $echr = ""; } +- my $constpred = ($ccmode eq "CC") ? "const_m1_to_1_operand" +- : "const_0_to_1_operand"; +- +- # For clobber, we need a SI/DI reg in case we +- # split because we have to sign/zero extend. +- my $clobbermode = ($lmode =~ /^[QH]I$/) ? "GPR" : $lmode; +- if ($result =~ /^EXT/ || $result eq "GPR" || $clobbermode eq "GPR") { +- # We always need extension if result > lmode. +- $extend = ($ccmode eq "CC") ? "sign" : "zero"; +- } else { +- # Result of SI/DI does not need sign extension. +- $extend = "none"; +- } +- +- my $ldst = mode_to_ldst_char($lmode); +- +- # DS-form addresses need YZ, and not m. +- my $constraint = ($np eq "NON_PREFIXED_DS") ? "YZ" : "m"; +- print < lmode. ++ if ( $ccmode eq 'CC' ) { ++ $extend = "sign"; ++ } else { ++ $extend = "zero"; ++ } ++ } else { ++ # Result of SI/DI does not need sign extension. ++ $extend = "none"; ++ } ++ print ";; load-cmpi fusion pattern generated by gen_ld_cmpi_p10\n"; ++ print ";; load mode is $lmode result mode is $result compare mode is $ccmode extend is $extend\n"; ++ ++ print "(define_insn_and_split \"*l${ldst}${echr}_cmp${cmpl}di_cr0_${lmode}_${result}_${ccmode}_${extend}\"\n"; ++ print " [(set (match_operand:${ccmode} 2 \"cc_reg_operand\" \"=x\")\n"; ++ print " (compare:${ccmode} (match_operand:${lmode} 1 \"${mempred}\" \"m\")\n"; ++ if ($ccmode eq 'CCUNS') { print " "; } ++ print " (match_operand:${lmode} 3 \"${constpred}\" \"n\")))\n"; ++ if ($result eq 'clobber') { ++ print " (clobber (match_scratch:${clobbermode} 0 \"=r\"))]\n"; ++ } elsif ($result eq $lmode) { ++ print " (set (match_operand:${result} 0 \"gpc_reg_operand\" \"=r\") (match_dup 1))]\n"; ++ } else { ++ print " (set (match_operand:${result} 0 \"gpc_reg_operand\" \"=r\") (${extend}_extend:${result} (match_dup 1)))]\n"; ++ } ++ print " \"(TARGET_P10_FUSION)\"\n"; ++ print " \"l${ldst}${echr}%X1 %0,%1\\;cmp${cmpl}di %2,%0,%3\"\n"; ++ print " \"&& reload_completed\n"; ++ print " && (cc_reg_not_cr0_operand (operands[2], CCmode)\n"; ++ print " || !address_is_non_pfx_d_or_x (XEXP (operands[1], 0),\n"; ++ print " ${lmode}mode, ${np}))\"\n"; ++ ++ if ($extend eq "none") { ++ print " [(set (match_dup 0) (match_dup 1))\n"; ++ } else { ++ $resultmode = $result; ++ if ( $result eq 'clobber' ) { $resultmode = $clobbermode } ++ print " [(set (match_dup 0) (${extend}_extend:${resultmode} (match_dup 1)))\n"; ++ } ++ print " (set (match_dup 2)\n"; ++ print " (compare:${ccmode} (match_dup 0) (match_dup 3)))]\n"; ++ print " \"\"\n"; ++ print " [(set_attr \"type\" \"fused_load_cmpi\")\n"; ++ print " (set_attr \"cost\" \"8\")\n"; ++ print " (set_attr \"length\" \"8\")])\n"; ++ print "\n"; + } + } + } +diff --git a/gcc/config/rs6000/predicates.md b/gcc/config/rs6000/predicates.md +index 6b564837c6e..52c65534e51 100644 +--- a/gcc/config/rs6000/predicates.md ++++ b/gcc/config/rs6000/predicates.md +@@ -798,43 +798,6 @@ + (and (match_test "easy_altivec_constant (op, mode)") + (match_test "vspltis_shifted (op) != 0"))))) + +-;; Return true if this is a vector constant and each byte in +-;; it is the same. +-(define_predicate "const_vector_each_byte_same" +- (match_code "const_vector") +-{ +- rtx elt; +- if (!const_vec_duplicate_p (op, &elt)) +- return false; +- +- machine_mode emode = GET_MODE_INNER (mode); +- unsigned HOST_WIDE_INT eval; +- if (CONST_INT_P (elt)) +- eval = INTVAL (elt); +- else if (CONST_DOUBLE_AS_FLOAT_P (elt)) +- { +- gcc_assert (emode == SFmode || emode == DFmode); +- long l[2]; +- real_to_target (l, CONST_DOUBLE_REAL_VALUE (elt), emode); +- /* real_to_target puts 32-bit pieces in each long. */ +- eval = zext_hwi (l[0], 32); +- eval |= zext_hwi (l[1], 32) << 32; +- } +- else +- return false; +- +- unsigned int esize = GET_MODE_SIZE (emode); +- unsigned char byte0 = eval & 0xff; +- for (unsigned int i = 1; i < esize; i++) +- { +- eval >>= BITS_PER_UNIT; +- if (byte0 != (eval & 0xff)) +- return false; +- } +- +- return true; +-}) +- + ;; Return 1 if operand is a vector int register or is either a vector constant + ;; of all 0 bits of a vector constant of all 1 bits. + (define_predicate "vector_int_reg_or_same_bit" +@@ -1125,6 +1088,20 @@ + return INTVAL (offset) % 4 == 0; + }) + ++;; Return 1 if the operand is a memory operand that has a valid address for ++;; a DS-form instruction. I.e. the address has to be either just a register, ++;; or register + const where the two low order bits of const are zero. ++(define_predicate "ds_form_mem_operand" ++ (match_code "subreg,mem") ++{ ++ if (!any_memory_operand (op, mode)) ++ return false; ++ ++ rtx addr = XEXP (op, 0); ++ ++ return address_to_insn_form (addr, mode, NON_PREFIXED_DS) == INSN_FORM_DS; ++}) ++ + ;; Return 1 if the operand, used inside a MEM, is a SYMBOL_REF. + (define_predicate "symbol_ref_operand" + (and (match_code "symbol_ref") +diff --git a/gcc/config/rs6000/rs6000-builtins.def b/gcc/config/rs6000/rs6000-builtins.def +index f3dcb739245..a03353724f3 100644 +--- a/gcc/config/rs6000/rs6000-builtins.def ++++ b/gcc/config/rs6000/rs6000-builtins.def +@@ -2009,13 +2009,6 @@ + const vsll __builtin_vsx_xxspltd_2di (vsll, const int<1>); + XXSPLTD_V2DI vsx_xxspltd_v2di {} + +- const vsq __builtin_pack_vector_int128 (unsigned long long, \ +- unsigned long long); +- PACK_V1TI packv1ti {} +- +- const unsigned long __builtin_unpack_vector_int128 (vsq, const int<1>); +- UNPACK_V1TI unpackv1ti {} +- + + ; Power7 builtins (ISA 2.06). + [power7] +@@ -2037,9 +2030,16 @@ + const unsigned int __builtin_divweu (unsigned int, unsigned int); + DIVWEU diveu_si {} + ++ const vsq __builtin_pack_vector_int128 (unsigned long long, \ ++ unsigned long long); ++ PACK_V1TI packv1ti {} ++ + void __builtin_ppc_speculation_barrier (); + SPECBARR speculation_barrier {} + ++ const unsigned long __builtin_unpack_vector_int128 (vsq, const int<1>); ++ UNPACK_V1TI unpackv1ti {} ++ + + ; Power7 builtins requiring 64-bit GPRs (even with 32-bit addressing). + [power7-64] +@@ -2797,19 +2797,6 @@ + const vsi __builtin_vsx_xxbrw_v4si (vsi); + XXBRW_V4SI p9_xxbrw_v4si {} + +- const signed int __builtin_vsx_scalar_cmp_exp_qp_eq (_Float128, _Float128); +- VSCEQPEQ xscmpexpqp_eq_kf {} +- +- const signed int __builtin_vsx_scalar_cmp_exp_qp_gt (_Float128, _Float128); +- VSCEQPGT xscmpexpqp_gt_kf {} +- +- const signed int __builtin_vsx_scalar_cmp_exp_qp_lt (_Float128, _Float128); +- VSCEQPLT xscmpexpqp_lt_kf {} +- +- const signed int \ +- __builtin_vsx_scalar_cmp_exp_qp_unordered (_Float128, _Float128); +- VSCEQPUO xscmpexpqp_unordered_kf {} +- + + ; Miscellaneous P9 functions + [power9] +@@ -2892,6 +2879,19 @@ + fpmath _Float128 __builtin_mulf128_round_to_odd (_Float128, _Float128); + MULF128_ODD mulkf3_odd {} + ++ const signed int __builtin_vsx_scalar_cmp_exp_qp_eq (_Float128, _Float128); ++ VSCEQPEQ xscmpexpqp_eq_kf {} ++ ++ const signed int __builtin_vsx_scalar_cmp_exp_qp_gt (_Float128, _Float128); ++ VSCEQPGT xscmpexpqp_gt_kf {} ++ ++ const signed int __builtin_vsx_scalar_cmp_exp_qp_lt (_Float128, _Float128); ++ VSCEQPLT xscmpexpqp_lt_kf {} ++ ++ const signed int \ ++ __builtin_vsx_scalar_cmp_exp_qp_unordered (_Float128, _Float128); ++ VSCEQPUO xscmpexpqp_unordered_kf {} ++ + fpmath _Float128 __builtin_sqrtf128_round_to_odd (_Float128); + SQRTF128_ODD sqrtkf2_odd {} + +diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc +index 196bcbe1ca3..6debf0f63ff 100644 +--- a/gcc/config/rs6000/rs6000.cc ++++ b/gcc/config/rs6000/rs6000.cc +@@ -8209,8 +8209,7 @@ darwin_rs6000_special_round_type_align (tree type, unsigned int computed, + 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) ++ if (! AGGREGATE_TYPE_P (type) && type != error_mark_node) + align = MAX (align, TYPE_ALIGN (type)); + + return align; +@@ -17300,7 +17299,7 @@ output_toc (FILE *file, rtx x, int labelno, machine_mode mode) + 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)); ++ REAL_VALUE_TO_TARGET_LONG_DOUBLE (*CONST_DOUBLE_REAL_VALUE (x), k); + + if (TARGET_64BIT) + { +@@ -28763,6 +28762,7 @@ vec_const_128bit_to_bytes (rtx op, + + info->all_words_same + = (info->words[0] == info->words[1] ++ && info->words[0] == info->words[1] + && info->words[0] == info->words[2] + && info->words[0] == info->words[3]); + +diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h +index 3503614efbd..b0a1b8e4ad7 100644 +--- a/gcc/config/rs6000/rs6000.h ++++ b/gcc/config/rs6000/rs6000.h +@@ -199,6 +199,7 @@ ASM_OPT_ANY + /* -mcpu=native handling only makes sense with compiler running on + an PowerPC chip. If changing this condition, also change + the condition in driver-rs6000.cc. */ ++#if 0 + #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX) + /* In driver-rs6000.cc. */ + extern const char *host_detect_local_cpu (int argc, const char **argv); +@@ -210,6 +211,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); + #else + #define ASM_CPU_NATIVE_SPEC "%(asm_default)" + #endif ++#endif ++#define ASM_CPU_NATIVE_SPEC "%(asm_default)" + + #ifndef CC1_CPU_SPEC + #ifdef HAVE_LOCAL_CPU_DETECT +diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md +index 75c5e5fc93d..b0db8ae508d 100644 +--- a/gcc/config/rs6000/rs6000.md ++++ b/gcc/config/rs6000/rs6000.md +@@ -287,7 +287,7 @@ + ;; Whether this insn has a prefixed form and a non-prefixed form. + (define_attr "maybe_prefixed" "no,yes" + (if_then_else (eq_attr "type" "load,fpload,vecload,store,fpstore,vecstore, +- integer,add,fused_load_cmpi") ++ integer,add") + (const_string "yes") + (const_string "no"))) + +@@ -302,7 +302,7 @@ + (eq_attr "maybe_prefixed" "no")) + (const_string "no") + +- (eq_attr "type" "load,fpload,vecload,fused_load_cmpi") ++ (eq_attr "type" "load,fpload,vecload") + (if_then_else (match_test "prefixed_load_p (insn)") + (const_string "yes") + (const_string "no")) +diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h +index ae932fc22f0..527b48878b8 100644 +--- a/gcc/config/rs6000/sysv4.h ++++ b/gcc/config/rs6000/sysv4.h +@@ -581,7 +581,11 @@ GNU_USER_TARGET_CC1_SPEC + + /* Default starting address if specified. */ + #define LINK_START_SPEC "\ +-%{mads : %(link_start_ads) ; \ ++%{mgcn|mogc : %(link_start_ogc) ; \ ++ mvgc : %(link_start_vgc) ; \ ++ mgcbios : %(link_start_gcb) ; \ ++ mrvl : %(link_start_rvl) ; \ ++ mads : %(link_start_ads) ; \ + myellowknife : %(link_start_yellowknife) ; \ + mmvme : %(link_start_mvme) ; \ + msim : %(link_start_sim) ; \ +@@ -612,7 +616,8 @@ GNU_USER_TARGET_CC1_SPEC + + /* Any specific OS flags. */ + #define LINK_OS_SPEC "\ +-%{mads : %(link_os_ads) ; \ ++%{mgcn|mogc|mvgc|mgcbios|mrvl : %(link_os_ogc) ; \ ++ mads : %(link_os_ads) ; \ + myellowknife : %(link_os_yellowknife) ; \ + mmvme : %(link_os_mvme) ; \ + msim : %(link_os_sim) ; \ +@@ -627,7 +632,10 @@ GNU_USER_TARGET_CC1_SPEC + /* Override rs6000.h definition. */ + #undef CPP_SPEC + #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ +-%{mads : %(cpp_os_ads) ; \ ++%{mgcn : %(cpp_os_gcn) ; \ ++ mogc|mvgc|mgcbios : %(cpp_os_ogc) ; \ ++ mrvl : %(cpp_os_rvl) ; \ ++ mads : %(cpp_os_ads) ; \ + myellowknife : %(cpp_os_yellowknife) ; \ + mmvme : %(cpp_os_mvme) ; \ + msim : %(cpp_os_sim) ; \ +@@ -641,7 +649,10 @@ GNU_USER_TARGET_CC1_SPEC + + #undef STARTFILE_SPEC + #define STARTFILE_SPEC "\ +-%{mads : %(startfile_ads) ; \ ++%{mgcn : %(startfile_gcn) ; \ ++ mogc|mvgc|mgcbios : %(startfile_ogc) ; \ ++ mrvl : %(startfile_ogc) ; \ ++ mads : %(startfile_ads) ; \ + myellowknife : %(startfile_yellowknife) ; \ + mmvme : %(startfile_mvme) ; \ + msim : %(startfile_sim) ; \ +@@ -655,7 +666,8 @@ GNU_USER_TARGET_CC1_SPEC + + #undef LIB_SPEC + #define LIB_SPEC "\ +-%{mads : %(lib_ads) ; \ ++%{mgcn|mogc|mvgc|mgcbios|mrvl : %(lib_ogc) ; \ ++ mads : %(lib_ads) ; \ + myellowknife : %(lib_yellowknife) ; \ + mmvme : %(lib_mvme) ; \ + msim : %(lib_sim) ; \ +@@ -665,11 +677,12 @@ GNU_USER_TARGET_CC1_SPEC + mcall-openbsd: %(lib_openbsd) ; \ + : %(lib_default) }" + +-#define LIB_DEFAULT_SPEC "-lc" ++#define LIB_DEFAULT_SPEC "--start-group -lsysbase -lc --end-group" + + #undef ENDFILE_SPEC + #define ENDFILE_SPEC "\ +-%{mads : %(endfile_ads) ; \ ++%{mgcn|mogc|mvgc|mgcbios|mrvl : %(endfile_ogc) ; \ ++ mads : %(endfile_ads) ; \ + myellowknife : %(endfile_yellowknife) ; \ + mmvme : %(endfile_mvme) ; \ + msim : %(endfile_sim) ; \ +@@ -685,16 +698,27 @@ GNU_USER_TARGET_CC1_SPEC + + /* Motorola ADS support. */ + #define LIB_ADS_SPEC "--start-group -lads -lc --end-group" ++#define LIB_OGC_SPEC "--start-group -lsysbase -lc --end-group" + + #define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s" ++#define STARTFILE_OGC_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s" + + #define ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s" ++#define ENDFILE_OGC_SPEC "crtend.o%s ecrtn.o%s" + + #define LINK_START_ADS_SPEC "-T ads.ld%s" ++#define LINK_START_OGC_SPEC "-T ogc.ld%s" ++#define LINK_START_RVL_SPEC "-T rvl.ld%s" ++#define LINK_START_VGC_SPEC "-T vgcogc.ld%s" ++#define LINK_START_GCB_SPEC "-T gcbogc.ld%s" + + #define LINK_OS_ADS_SPEC "" ++#define LINK_OS_OGC_SPEC "--gc-sections" + + #define CPP_OS_ADS_SPEC "" ++#define CPP_OS_GCN_SPEC "-D__gamecube__ -ffunction-sections -fdata-sections" ++#define CPP_OS_OGC_SPEC "-D__gamecube__ -DHW_DOL -ffunction-sections -fdata-sections" ++#define CPP_OS_RVL_SPEC "-D__wii__ -DHW_RVL -ffunction-sections -fdata-sections" + + /* Motorola Yellowknife support. */ + #define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" +@@ -842,6 +866,7 @@ ncrtn.o%s" + #undef SUBTARGET_EXTRA_SPECS + #define SUBTARGET_EXTRA_SPECS \ + { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ ++ { "lib_ogc", LIB_OGC_SPEC }, \ + { "lib_ads", LIB_ADS_SPEC }, \ + { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ + { "lib_mvme", LIB_MVME_SPEC }, \ +@@ -851,6 +876,7 @@ ncrtn.o%s" + { "lib_netbsd", LIB_NETBSD_SPEC }, \ + { "lib_openbsd", LIB_OPENBSD_SPEC }, \ + { "lib_default", LIB_DEFAULT_SPEC }, \ ++ { "startfile_ogc", STARTFILE_OGC_SPEC }, \ + { "startfile_ads", STARTFILE_ADS_SPEC }, \ + { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ + { "startfile_mvme", STARTFILE_MVME_SPEC }, \ +@@ -860,6 +886,7 @@ ncrtn.o%s" + { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ + { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ + { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ ++ { "endfile_ogc", ENDFILE_OGC_SPEC }, \ + { "endfile_ads", ENDFILE_ADS_SPEC }, \ + { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ + { "endfile_mvme", ENDFILE_MVME_SPEC }, \ +@@ -871,7 +898,11 @@ ncrtn.o%s" + { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ + { "link_shlib", LINK_SHLIB_SPEC }, \ + { "link_start", LINK_START_SPEC }, \ ++ { "link_start_vgc", LINK_START_VGC_SPEC }, \ ++ { "link_start_gcb", LINK_START_GCB_SPEC }, \ ++ { "link_start_rvl", LINK_START_RVL_SPEC }, \ + { "link_start_ads", LINK_START_ADS_SPEC }, \ ++ { "link_start_ogc", LINK_START_OGC_SPEC }, \ + { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ + { "link_start_mvme", LINK_START_MVME_SPEC }, \ + { "link_start_sim", LINK_START_SIM_SPEC }, \ +@@ -881,6 +912,7 @@ ncrtn.o%s" + { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ + { "link_start_default", LINK_START_DEFAULT_SPEC }, \ + { "link_os", LINK_OS_SPEC }, \ ++ { "link_os_ogc", LINK_OS_OGC_SPEC }, \ + { "link_os_ads", LINK_OS_ADS_SPEC }, \ + { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ + { "link_os_mvme", LINK_OS_MVME_SPEC }, \ +@@ -892,6 +924,9 @@ ncrtn.o%s" + { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ + { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ + { "link_secure_plt", LINK_SECURE_PLT_SPEC }, \ ++ { "cpp_os_gcn", CPP_OS_GCN_SPEC }, \ ++ { "cpp_os_ogc", CPP_OS_OGC_SPEC }, \ ++ { "cpp_os_rvl", CPP_OS_RVL_SPEC }, \ + { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ + { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ + { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ +diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt +index 691e0d3d2e8..2eb60bc56b6 100644 +--- a/gcc/config/rs6000/sysv4.opt ++++ b/gcc/config/rs6000/sysv4.opt +@@ -124,6 +124,26 @@ mads + Target RejectNegative + Link with libads.a, libc.a and crt0.o. + ++mgcn ++Target RejectNegative ++Link with libsysbase.a and libc.a, use ogc linker script ++ ++mogc ++Target RejectNegative ++Link with libsysbase.a and libc.a, use ogc linker script ++ ++mgcbios ++Target RejectNegative ++Link with libsysbase.a and libc.a, use gcbogc linker script ++ ++mvgc ++Target RejectNegative ++Link with libsysbase.a and libc.a, use gcbogc linker script ++ ++mrvl ++Target RejectNegative ++Link with libsysbase.a and libc.a, use rvl linker script ++ + myellowknife + Target RejectNegative + Link with libyk.a, libc.a and crt0.o. +diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md +index 76e7774cef3..4622dba0121 100644 +--- a/gcc/config/sh/sh.md ++++ b/gcc/config/sh/sh.md +@@ -10680,45 +10680,6 @@ + && peep2_reg_dead_p (2, operands[1]) && peep2_reg_dead_p (3, operands[0])" + [(const_int 0)] + { +- if (MEM_P (operands[3]) && reg_overlap_mentioned_p (operands[0], operands[3])) +- { +- // Take care when the eliminated operand[0] register is part of +- // the destination memory address. +- rtx addr = XEXP (operands[3], 0); +- +- if (REG_P (addr)) +- operands[3] = replace_equiv_address (operands[3], operands[1]); +- +- else if (GET_CODE (addr) == PLUS && REG_P (XEXP (addr, 0)) +- && CONST_INT_P (XEXP (addr, 1)) +- && REGNO (operands[0]) == REGNO (XEXP (addr, 0))) +- operands[3] = replace_equiv_address (operands[3], +- gen_rtx_PLUS (SImode, operands[1], XEXP (addr, 1))); +- +- else if (GET_CODE (addr) == PLUS && REG_P (XEXP (addr, 0)) +- && REG_P (XEXP (addr, 1))) +- { +- // register + register address @(R0, Rn) +- // can change only the Rn in the address, not R0. +- if (REGNO (operands[0]) == REGNO (XEXP (addr, 0)) +- && REGNO (XEXP (addr, 0)) != 0) +- { +- operands[3] = replace_equiv_address (operands[3], +- gen_rtx_PLUS (SImode, operands[1], XEXP (addr, 1))); +- } +- else if (REGNO (operands[0]) == REGNO (XEXP (addr, 1)) +- && REGNO (XEXP (addr, 1)) != 0) +- { +- operands[3] = replace_equiv_address (operands[3], +- gen_rtx_PLUS (SImode, XEXP (addr, 0), operands[1])); +- } +- else +- FAIL; +- } +- else +- FAIL; +- } +- + emit_insn (gen_addsi3 (operands[1], operands[1], operands[2])); + sh_peephole_emit_move_insn (operands[3], operands[1]); + }) +diff --git a/gcc/configure b/gcc/configure +index c7b26d1927d..d1e32ef9ec5 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -13011,7 +13011,7 @@ case ${enable_threads} in + # default + target_thread_file='single' + ;; +- aix | dce | lynx | mipssde | posix | rtems | \ ++ aix | dce | dkp | lynx | mipssde | posix | rtems | \ + single | tpf | vxworks | win32 | mcf) + target_thread_file=${enable_threads} + ;; +diff --git a/gcc/configure.ac b/gcc/configure.ac +index 09082e8ccae..f5700df9455 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -2020,7 +2020,7 @@ case ${enable_threads} in + # default + target_thread_file='single' + ;; +- aix | dce | lynx | mipssde | posix | rtems | \ ++ aix | dce | dkp | lynx | mipssde | posix | rtems | \ + single | tpf | vxworks | win32 | mcf) + target_thread_file=${enable_threads} + ;; +diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog +index 3925d69af0f..7fde21b9ef2 100644 +--- a/gcc/cp/ChangeLog ++++ b/gcc/cp/ChangeLog +@@ -1,204 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- +-2023-07-19 Patrick Palka +- +- Backported from master: +- 2023-07-18 Patrick Palka +- +- PR c++/110535 +- * call.cc (add_conv_candidate): Check constraints. +- +-2023-07-19 Patrick Palka +- +- Backported from master: +- 2023-06-11 Patrick Palka +- +- PR c++/110122 +- * pt.cc (lookup_template_class): Extend shortcut for looking up the +- current class scope to consider outer class scopes too, and use +- current_nonlambda_class_type instead of current_class_type. Only +- call coerce_template_parms when specializing a primary template. +- +-2023-07-17 Patrick Palka +- +- Backported from master: +- 2023-07-15 Patrick Palka +- +- PR c++/110524 +- * mangle.cc (write_expression): Handle TEMPLATE_ID_EXPR +- whose template is already an IDENTIFIER_NODE. +- +-2023-07-01 Patrick Palka +- +- Backported from master: +- 2023-06-29 Patrick Palka +- +- PR c++/110468 +- * init.cc (maybe_instantiate_nsdmi_init): Mask out all +- tsubst flags except for tf_warning_or_error. +- +-2023-07-01 Patrick Palka +- +- Backported from master: +- 2023-06-29 Patrick Palka +- +- PR c++/110463 +- * cp-gimplify.cc (cp_fold) : Propagate +- CONSTRUCTOR_MUTABLE_POISON. +- +-2023-06-23 Jason Merrill +- +- * call.cc (maybe_init_list_as_array): Build a list. +- +-2023-06-23 Jason Merrill +- +- PR c++/110102 +- * call.cc (maybe_init_list_as_array): Check that the element type is +- copyable. +- +-2023-06-23 Jason Merrill +- +- DR 2735 +- PR c++/109247 +- * call.cc (sfk_copy_or_move): New. +- (joust): Add tiebreaker for explicit conv and copy ctor. +- +-2023-05-19 Patrick Palka +- +- Backported from master: +- 2023-05-16 Patrick Palka +- +- PR c++/109871 +- * call.cc (add_list_candidates): Check for invalid designated +- initialization sooner and even for types that have a list +- constructor. +- +-2023-05-17 Jakub Jelinek +- +- Backported from master: +- 2023-05-17 Jakub Jelinek +- +- PR c++/109868 +- * init.cc (build_zero_init_1): Don't initialize zero-width bitfields. +- For unions only initialize the first FIELD_DECL. +- +-2023-05-16 Marek Polacek +- +- Backported from master: +- 2023-05-16 Marek Polacek +- +- PR c++/109774 +- * typeck.cc (check_return_expr): In a template, return only after +- suppressing -Wdangling-reference. +- +-2023-05-12 Patrick Palka +- +- Backported from master: +- 2023-05-11 Patrick Palka +- +- PR c++/109745 +- * typeck2.cc (poison_mutable_constructors): Define. +- (store_init_value): Use it instead of setting +- CONSTRUCTOR_MUTABLE_POISON directly. +- +-2023-05-12 Patrick Palka +- +- Backported from master: +- 2023-05-11 Patrick Palka +- Jonathan Wakely +- +- PR c++/83258 +- PR c++/80488 +- PR c++/97700 +- * pt.cc (convert_nontype_argument_function): Remove linkage +- requirement for C++17 and later. +- (invalid_tparm_referent_p) : Restrict +- DECL_ARTIFICIAL rejection test to VAR_DECL. +- +-2023-05-12 Patrick Palka +- +- Backported from master: +- 2023-05-09 Patrick Palka +- +- PR c++/109761 +- * parser.cc (cp_parser_class_specifier): Don't pass a class +- context to noexcept_override_late_checks. +- (noexcept_override_late_checks): Remove 'type' parameter +- and use DECL_CONTEXT of 'fndecl' instead. +- +-2023-05-12 Patrick Palka +- +- Backported from master: +- 2023-05-07 Patrick Palka +- +- PR c++/109651 +- * pt.cc (coerce_template_args_for_ttp): Mention we can hit the +- current_template_parms fallback when level-lowering a bound ttp. +- (tsubst_template_decl): Add lambda_tparms parameter. Prefer to +- use lambda_tparms instead of substituting DECL_TEMPLATE_PARMS. +- (tsubst_decl) : Pass NULL_TREE as lambda_tparms +- to tsubst_template_decl. +- (tsubst_lambda_expr): For a generic lambda, substitute +- DECL_TEMPLATE_PARMS and set current_template_parms to it +- before substituting the function type. Pass the substituted +- DECL_TEMPLATE_PARMS as lambda_tparms to tsubst_template_decl. +- +-2023-05-09 Jakub Jelinek +- +- Backported from master: +- 2023-05-09 Jakub Jelinek +- +- PR c++/109756 +- * cp-gimplify.cc (process_stmt_assume_attribute): Diagnose pack +- expansion of assume attribute. +- +-2023-05-03 Jason Merrill +- +- Revert: +- 2022-04-29 Jason Merrill +- +- PR c++/91618 +- PR c++/96604 +- * friend.cc (do_friend): Call check_explicit_specialization here. +- * decl.cc (grokdeclarator): Not here. +- * decl2.cc (check_classfn): Or here. +- +-2023-05-03 Jakub Jelinek +- +- Backported from master: +- 2023-05-03 Jakub Jelinek +- +- * cp-gimplify.cc (cp_fold_data): Move definition earlier. +- (cp_gimplify_expr): Pass address of ff_genericize | ff_mce_false +- constructed data rather than &pset to cp_walk_tree with cp_fold_r. +- +-2023-05-02 Jason Merrill +- +- Revert: +- 2022-05-24 Jason Merrill +- +- * constexpr.cc (cxx_fold_indirect_ref): Add default arg. +- (cxx_eval_call_expression): Call it. +- (cxx_fold_indirect_ref_1): Handle null empty_base. +- +-2023-05-02 Jason Merrill +- +- PR c++/109666 +- * name-lookup.cc (maybe_push_to_top_level) +- (maybe_pop_from_top_level): Split out... +- * pt.cc (instantiate_body): ...from here. +- * init.cc (maybe_instantiate_nsdmi_init): Use them. +- * name-lookup.h: Declare them.. +- +-2023-05-02 Jason Merrill +- +- PR c++/108099 +- * decl.cc (grokdeclarator): Don't clear typedef_decl after 'unsigned +- typedef' pedwarn. Use c_common_signed_or_unsigned_type. Also +- handle 'signed typedef'. +- + 2023-04-26 Release Manager + + * GCC 13.1.0 released. +diff --git a/gcc/cp/call.cc b/gcc/cp/call.cc +index 85274b81d7e..cdd7701b9e7 100644 +--- a/gcc/cp/call.cc ++++ b/gcc/cp/call.cc +@@ -2588,14 +2588,6 @@ add_conv_candidate (struct z_candidate **candidates, tree fn, tree obj, + if (*candidates && (*candidates)->fn == totype) + return NULL; + +- if (!constraints_satisfied_p (fn)) +- { +- reason = constraint_failure (); +- viable = 0; +- return add_candidate (candidates, fn, obj, arglist, len, convs, +- access_path, conversion_path, viable, reason, flags); +- } +- + for (i = 0; i < len; ++i) + { + tree arg, argtype, convert_type = NULL_TREE; +@@ -4136,14 +4128,6 @@ add_list_candidates (tree fns, tree first_arg, + if (CONSTRUCTOR_NELTS (init_list) == 0 + && TYPE_HAS_DEFAULT_CONSTRUCTOR (totype)) + ; +- else if (CONSTRUCTOR_IS_DESIGNATED_INIT (init_list) +- && !CP_AGGREGATE_TYPE_P (totype)) +- { +- if (complain & tf_error) +- error ("designated initializers cannot be used with a " +- "non-aggregate type %qT", totype); +- return; +- } + /* If the class has a list ctor, try passing the list as a single + argument first, but only consider list ctors. */ + else if (TYPE_HAS_LIST_CTOR (totype)) +@@ -4155,6 +4139,14 @@ add_list_candidates (tree fns, tree first_arg, + if (any_strictly_viable (*candidates)) + return; + } ++ else if (CONSTRUCTOR_IS_DESIGNATED_INIT (init_list) ++ && !CP_AGGREGATE_TYPE_P (totype)) ++ { ++ if (complain & tf_error) ++ error ("designated initializers cannot be used with a " ++ "non-aggregate type %qT", totype); ++ return; ++ } + + /* Expand the CONSTRUCTOR into a new argument vec. */ + vec *new_args; +@@ -4279,13 +4271,6 @@ maybe_init_list_as_array (tree elttype, tree init) + if (has_non_trivial_temporaries (first)) + return NULL_TREE; + +- /* We can't do this if copying from the initializer_list would be +- ill-formed. */ +- tree copy_argtypes = build_tree_list +- (NULL_TREE, cp_build_qualified_type (elttype, TYPE_QUAL_CONST)); +- if (!is_xible (INIT_EXPR, elttype, copy_argtypes)) +- return NULL_TREE; +- + init_elttype = cp_build_qualified_type (init_elttype, TYPE_QUAL_CONST); + tree arr = build_array_of_n_type (init_elttype, CONSTRUCTOR_NELTS (init)); + return finish_compound_literal (arr, init, tf_none); +@@ -12623,17 +12608,6 @@ cand_parms_match (z_candidate *c1, z_candidate *c2) + return compparms (parms1, parms2); + } + +-/* True iff FN is a copy or move constructor or assignment operator. */ +- +-static bool +-sfk_copy_or_move (tree fn) +-{ +- if (TREE_CODE (fn) != FUNCTION_DECL) +- return false; +- special_function_kind sfk = special_function_p (fn); +- return sfk >= sfk_copy_constructor && sfk <= sfk_move_assignment; +-} +- + /* Compare two candidates for overloading as described in + [over.match.best]. Return values: + +@@ -12933,26 +12907,6 @@ joust (struct z_candidate *cand1, struct z_candidate *cand2, bool warn, + return winner; + } + +- /* CWG2735 (PR109247): A copy/move ctor/op= for which its operand uses an +- explicit conversion (due to list-initialization) is worse. */ +- { +- z_candidate *sp = nullptr; +- if (sfk_copy_or_move (cand1->fn)) +- sp = cand1; +- if (sfk_copy_or_move (cand2->fn)) +- sp = sp ? nullptr : cand2; +- if (sp) +- { +- conversion *conv = sp->convs[!DECL_CONSTRUCTOR_P (sp->fn)]; +- if (conv->user_conv_p) +- for (; conv; conv = next_conversion (conv)) +- if (conv->kind == ck_user +- && DECL_P (conv->cand->fn) +- && DECL_NONCONVERTING_P (conv->cand->fn)) +- return (sp == cand1) ? -1 : 1; +- } +- } +- + /* or, if not that, + F1 is a non-template function and F2 is a template function + specialization. */ +diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc +index 56329dcc9e0..d1097764b10 100644 +--- a/gcc/cp/constexpr.cc ++++ b/gcc/cp/constexpr.cc +@@ -1440,6 +1440,8 @@ enum value_cat { + + static tree cxx_eval_constant_expression (const constexpr_ctx *, tree, + value_cat, bool *, bool *, tree * = NULL); ++static tree cxx_fold_indirect_ref (const constexpr_ctx *, location_t, tree, tree, ++ bool * = NULL); + static tree find_heap_var_refs (tree *, int *, void *); + + /* Attempt to evaluate T which represents a call to a builtin function. +@@ -2954,9 +2956,7 @@ cxx_eval_call_expression (const constexpr_ctx *ctx, tree t, + At this point it has already been evaluated in the call + to cxx_bind_parameters_in_call. */ + new_obj = TREE_VEC_ELT (new_call.bindings, 0); +- STRIP_NOPS (new_obj); +- if (TREE_CODE (new_obj) == ADDR_EXPR) +- new_obj = TREE_OPERAND (new_obj, 0); ++ new_obj = cxx_fold_indirect_ref (ctx, loc, DECL_CONTEXT (fun), new_obj); + + if (ctx->call && ctx->call->fundef + && DECL_CONSTRUCTOR_P (ctx->call->fundef->decl)) +@@ -5474,7 +5474,8 @@ cxx_fold_indirect_ref_1 (const constexpr_ctx *ctx, location_t loc, tree type, + && CLASS_TYPE_P (optype) + && DERIVED_FROM_P (type, optype)) + { +- *empty_base = true; ++ if (empty_base) ++ *empty_base = true; + return op; + } + } +@@ -5493,7 +5494,7 @@ cxx_fold_indirect_ref_1 (const constexpr_ctx *ctx, location_t loc, tree type, + + static tree + cxx_fold_indirect_ref (const constexpr_ctx *ctx, location_t loc, tree type, +- tree op0, bool *empty_base) ++ tree op0, bool *empty_base /* = NULL*/) + { + tree sub = op0; + tree subtype; +diff --git a/gcc/cp/cp-gimplify.cc b/gcc/cp/cp-gimplify.cc +index 28a92ad547b..4fecd5616bd 100644 +--- a/gcc/cp/cp-gimplify.cc ++++ b/gcc/cp/cp-gimplify.cc +@@ -57,13 +57,6 @@ enum fold_flags { + + using fold_flags_t = int; + +-struct cp_fold_data +-{ +- hash_set pset; +- fold_flags_t flags; +- cp_fold_data (fold_flags_t flags): flags (flags) {} +-}; +- + /* Forward declarations. */ + + static tree cp_genericize_r (tree *, int *, void *); +@@ -512,8 +505,8 @@ cp_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p) + *expr_p = expand_vec_init_expr (NULL_TREE, *expr_p, + tf_warning_or_error); + +- cp_fold_data data (ff_genericize | ff_mce_false); +- cp_walk_tree (expr_p, cp_fold_r, &data, NULL); ++ 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; +@@ -1036,6 +1029,13 @@ struct cp_genericize_data + in fold-const, we need to perform this before transformation to + GIMPLE-form. */ + ++struct cp_fold_data ++{ ++ hash_set pset; ++ fold_flags_t flags; ++ cp_fold_data (fold_flags_t flags): flags (flags) {} ++}; ++ + static tree + cp_fold_r (tree *stmt_p, int *walk_subtrees, void *data_) + { +@@ -3079,8 +3079,6 @@ cp_fold (tree x, fold_flags_t flags) + x = build_constructor (TREE_TYPE (x), nelts); + CONSTRUCTOR_PLACEHOLDER_BOUNDARY (x) + = CONSTRUCTOR_PLACEHOLDER_BOUNDARY (org_x); +- CONSTRUCTOR_MUTABLE_POISON (x) +- = CONSTRUCTOR_MUTABLE_POISON (org_x); + } + if (VECTOR_TYPE_P (TREE_TYPE (x))) + x = fold (x); +@@ -3269,16 +3267,6 @@ process_stmt_assume_attribute (tree std_attrs, tree statement, + for (; attr; attr = lookup_attribute ("gnu", "assume", TREE_CHAIN (attr))) + { + tree args = TREE_VALUE (attr); +- if (args && PACK_EXPANSION_P (args)) +- { +- auto_diagnostic_group d; +- error_at (attrs_loc, "pack expansion of %qE attribute", +- get_attribute_name (attr)); +- if (cxx_dialect >= cxx17) +- inform (attrs_loc, "use fold expression in the attribute " +- "argument instead"); +- continue; +- } + int nargs = list_length (args); + if (nargs != 1) + { +diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc +index 5fe4c53523d..772c059dc2c 100644 +--- a/gcc/cp/decl.cc ++++ b/gcc/cp/decl.cc +@@ -12478,14 +12478,16 @@ grokdeclarator (const cp_declarator *declarator, + { + if (typedef_decl) + { +- pedwarn (loc, OPT_Wpedantic, +- "%qs specified with typedef-name %qD", ++ pedwarn (loc, OPT_Wpedantic, "%qs specified with %qD", + key, typedef_decl); + ok = !flag_pedantic_errors; +- /* PR108099: __int128_t comes from c_common_nodes_and_builtins, +- and is not built as a typedef. */ + if (is_typedef_decl (typedef_decl)) + type = DECL_ORIGINAL_TYPE (typedef_decl); ++ else ++ /* PR108099: __int128_t comes from c_common_nodes_and_builtins, ++ and is not built as a typedef. */ ++ type = TREE_TYPE (typedef_decl); ++ typedef_decl = NULL_TREE; + } + else if (declspecs->decltype_p) + error_at (loc, "%qs specified with %", key); +@@ -12538,7 +12540,7 @@ grokdeclarator (const cp_declarator *declarator, + else if (type == char_type_node) + type = unsigned_char_type_node; + else if (typedef_decl) +- type = c_common_unsigned_type (type); ++ type = unsigned_type_for (type); + else + type = unsigned_type_node; + } +@@ -12552,8 +12554,6 @@ grokdeclarator (const cp_declarator *declarator, + type = long_integer_type_node; + else if (short_p) + type = short_integer_type_node; +- else if (signed_p && typedef_decl) +- type = c_common_signed_type (type); + + if (decl_spec_seq_has_spec_p (declspecs, ds_complex)) + { +@@ -14428,15 +14428,6 @@ grokdeclarator (const cp_declarator *declarator, + cplus_decl_attributes (&decl, *attrlist, 0); + *attrlist = NULL_TREE; + +- if (template_class_depth (current_class_type) == 0) +- { +- decl = check_explicit_specialization +- (unqualified_id, decl, template_count, +- 2 * funcdef_flag + 4); +- if (decl == error_mark_node) +- return error_mark_node; +- } +- + tree scope = ctype ? ctype : in_namespace; + decl = do_friend (scope, unqualified_id, decl, + flags, funcdef_flag); +diff --git a/gcc/cp/decl2.cc b/gcc/cp/decl2.cc +index 1dd3c2b13bc..9594be4092c 100644 +--- a/gcc/cp/decl2.cc ++++ b/gcc/cp/decl2.cc +@@ -853,14 +853,9 @@ check_classfn (tree ctype, tree function, tree template_parms) + is replaced with the specialization chosen by deduction from the + friend declaration or discarded if deduction fails." + +- So ask check_explicit_specialization to find a matching template. */ ++ So tell check_explicit_specialization to look for a match. */ + SET_DECL_IMPLICIT_INSTANTIATION (function); +- tree spec = check_explicit_specialization (DECL_NAME (function), +- function, /* tcount */0, +- /* friend flag */4, +- /* attrlist */NULL_TREE); +- if (spec != error_mark_node) +- matched = spec; ++ matched = function; + } + + if (!matched) +diff --git a/gcc/cp/friend.cc b/gcc/cp/friend.cc +index 4d546b4fef7..b36de2b20bb 100644 +--- a/gcc/cp/friend.cc ++++ b/gcc/cp/friend.cc +@@ -521,6 +521,7 @@ do_friend (tree scope, tree declarator, tree decl, + error ("friend declaration %qD may not have virt-specifiers", + decl); + ++ tree orig_declarator = declarator; + if (TREE_CODE (declarator) == TEMPLATE_ID_EXPR) + { + declarator = TREE_OPERAND (declarator, 0); +@@ -528,32 +529,33 @@ do_friend (tree scope, tree declarator, tree decl, + declarator = OVL_NAME (declarator); + } + ++ /* CLASS_TEMPLATE_DEPTH counts the number of template headers for ++ the enclosing class. FRIEND_DEPTH counts the number of template ++ headers used for this friend declaration. TEMPLATE_MEMBER_P is ++ true if a template header in FRIEND_DEPTH is intended for ++ DECLARATOR. For example, the code ++ ++ template struct A { ++ template struct B { ++ template template ++ friend void C::f(W); ++ }; ++ }; ++ ++ will eventually give the following results ++ ++ 1. CLASS_TEMPLATE_DEPTH equals 2 (for `T' and `U'). ++ 2. FRIEND_DEPTH equals 2 (for `V' and `W'). ++ 3. CTYPE_DEPTH equals 1 (for `V'). ++ 4. TEMPLATE_MEMBER_P is true (for `W'). */ ++ ++ int class_template_depth = template_class_depth (current_class_type); ++ int friend_depth = current_template_depth - class_template_depth; ++ int ctype_depth = num_template_headers_for_class (ctype); ++ bool template_member_p = friend_depth > ctype_depth; ++ + if (ctype) + { +- /* CLASS_TEMPLATE_DEPTH counts the number of template headers for +- the enclosing class. FRIEND_DEPTH counts the number of template +- headers used for this friend declaration. TEMPLATE_MEMBER_P is +- true if a template header in FRIEND_DEPTH is intended for +- DECLARATOR. For example, the code +- +- template struct A { +- template struct B { +- template template +- friend void C::f(W); +- }; +- }; +- +- will eventually give the following results +- +- 1. CLASS_TEMPLATE_DEPTH equals 2 (for `T' and `U'). +- 2. FRIEND_DEPTH equals 2 (for `V' and `W'). +- 3. TEMPLATE_MEMBER_P is true (for `W'). */ +- +- int class_template_depth = template_class_depth (current_class_type); +- int friend_depth = current_template_depth - class_template_depth; +- /* We will figure this out later. */ +- bool template_member_p = false; +- + tree cname = TYPE_NAME (ctype); + if (TREE_CODE (cname) == TYPE_DECL) + cname = DECL_NAME (cname); +@@ -564,13 +566,6 @@ do_friend (tree scope, tree declarator, tree decl, + + grokclassfn (ctype, decl, flags); + +- if (friend_depth) +- { +- if (!uses_template_parms_level (ctype, class_template_depth +- + friend_depth)) +- template_member_p = true; +- } +- + /* A nested class may declare a member of an enclosing class + to be a friend, so we do lookup here even if CTYPE is in + the process of being defined. */ +@@ -599,9 +594,6 @@ do_friend (tree scope, tree declarator, tree decl, + || (class_template_depth && friend_depth)) + && decl && TREE_CODE (decl) == FUNCTION_DECL) + decl = DECL_TI_TEMPLATE (decl); +- +- if (decl) +- add_friend (current_class_type, decl, /*complain=*/true); + } + else + error ("member %qD declared as friend before type %qT defined", +@@ -610,7 +602,6 @@ do_friend (tree scope, tree declarator, tree decl, + else + { + /* Namespace-scope friend function. */ +- int is_friend_template = PROCESSING_REAL_TEMPLATE_DECL_P (); + + if (funcdef_flag) + SET_DECL_FRIEND_CONTEXT (decl, current_class_type); +@@ -621,12 +612,11 @@ do_friend (tree scope, tree declarator, tree decl, + arguments before push_template_decl adds a reference to + the containing template class. */ + int warn = (warn_nontemplate_friend +- && ! funcdef_flag && ! is_friend_template ++ && ! funcdef_flag && ! friend_depth + && current_template_parms + && uses_template_parms (decl)); + +- if (is_friend_template +- || template_class_depth (current_class_type) != 0) ++ if (friend_depth || class_template_depth) + /* We can't call pushdecl for a template class, since in + general, such a declaration depends on template + parameters. Instead, we call pushdecl when the class +@@ -666,15 +656,27 @@ do_friend (tree scope, tree declarator, tree decl, + } + } + } +- +- if (decl == error_mark_node) +- return error_mark_node; +- +- add_friend (current_class_type, +- is_friend_template ? DECL_TI_TEMPLATE (decl) : decl, +- /*complain=*/true); + } + ++ if (decl == error_mark_node) ++ return error_mark_node; ++ ++ if (!class_template_depth && DECL_IMPLICIT_INSTANTIATION (decl)) ++ /* "[if no non-template match is found,] each remaining function template ++ is replaced with the specialization chosen by deduction from the ++ friend declaration or discarded if deduction fails." ++ ++ set_decl_namespace or check_classfn set DECL_IMPLICIT_INSTANTIATION to ++ indicate that we need a template match, so ask ++ check_explicit_specialization to find one. */ ++ decl = (check_explicit_specialization ++ (orig_declarator, decl, ctype_depth, ++ 2 * funcdef_flag + 4)); ++ ++ add_friend (current_class_type, ++ (!ctype && friend_depth) ? DECL_TI_TEMPLATE (decl) : decl, ++ /*complain=*/true); ++ + return decl; + } + +diff --git a/gcc/cp/init.cc b/gcc/cp/init.cc +index 52b33d48844..9571d18170e 100644 +--- a/gcc/cp/init.cc ++++ b/gcc/cp/init.cc +@@ -189,21 +189,15 @@ build_zero_init_1 (tree type, tree nelts, bool static_storage_p, + init = build_zero_cst (type); + else if (RECORD_OR_UNION_CODE_P (TREE_CODE (type))) + { +- tree field, next; ++ tree field; + vec *v = NULL; + + /* Iterate over the fields, building initializations. */ +- for (field = TYPE_FIELDS (type); field; field = next) ++ for (field = TYPE_FIELDS (type); field; field = DECL_CHAIN (field)) + { +- next = DECL_CHAIN (field); +- + if (TREE_CODE (field) != FIELD_DECL) + continue; + +- /* For unions, only the first field is initialized. */ +- if (TREE_CODE (type) == UNION_TYPE) +- next = NULL_TREE; +- + if (TREE_TYPE (field) == error_mark_node) + continue; + +@@ -218,11 +212,6 @@ build_zero_init_1 (tree type, tree nelts, bool static_storage_p, + continue; + } + +- /* Don't add zero width bitfields. */ +- if (DECL_C_BIT_FIELD (field) +- && integer_zerop (DECL_SIZE (field))) +- continue; +- + /* Note that for class types there will be FIELD_DECLs + corresponding to base classes as well. Thus, iterating + over TYPE_FIELDs will result in correct initialization of +@@ -241,6 +230,10 @@ build_zero_init_1 (tree type, tree nelts, bool static_storage_p, + if (value) + CONSTRUCTOR_APPEND_ELT(v, field, value); + } ++ ++ /* For unions, only the first field is initialized. */ ++ if (TREE_CODE (type) == UNION_TYPE) ++ break; + } + + /* Build a constructor to contain the initializations. */ +@@ -579,10 +572,6 @@ maybe_instantiate_nsdmi_init (tree member, tsubst_flags_t complain) + tree init = DECL_INITIAL (member); + if (init && DECL_LANG_SPECIFIC (member) && DECL_TEMPLATE_INFO (member)) + { +- /* Clear any special tsubst flags; the result of NSDMI instantiation +- should be independent of the substitution context. */ +- complain &= tf_warning_or_error; +- + init = DECL_INITIAL (DECL_TI_TEMPLATE (member)); + location_t expr_loc + = cp_expr_loc_or_loc (init, DECL_SOURCE_LOCATION (member)); +@@ -610,14 +599,32 @@ maybe_instantiate_nsdmi_init (tree member, tsubst_flags_t complain) + bool pushed = false; + tree ctx = type_context_for_name_lookup (member); + +- bool push_to_top = maybe_push_to_top_level (member); ++ processing_template_decl_sentinel ptds (/*reset*/false); + if (!currently_open_class (ctx)) + { ++ if (!LOCAL_CLASS_P (ctx)) ++ push_to_top_level (); ++ else ++ /* push_to_top_level would lose the necessary function context, ++ just reset processing_template_decl. */ ++ processing_template_decl = 0; + push_nested_class (ctx); + push_deferring_access_checks (dk_no_deferred); + pushed = true; + } + ++ /* If we didn't push_to_top_level, still step out of constructor ++ scope so build_base_path doesn't try to use its __in_chrg. */ ++ tree cfd = current_function_decl; ++ auto cbl = current_binding_level; ++ if (at_function_scope_p ()) ++ { ++ current_function_decl ++ = decl_function_context (current_function_decl); ++ while (current_binding_level->kind != sk_class) ++ current_binding_level = current_binding_level->level_chain; ++ } ++ + inject_this_parameter (ctx, TYPE_UNQUALIFIED); + + start_lambda_scope (member); +@@ -634,12 +641,15 @@ maybe_instantiate_nsdmi_init (tree member, tsubst_flags_t complain) + if (init != error_mark_node) + hash_map_safe_put (nsdmi_inst, member, init); + ++ current_function_decl = cfd; ++ current_binding_level = cbl; + if (pushed) + { + pop_deferring_access_checks (); + pop_nested_class (); ++ if (!LOCAL_CLASS_P (ctx)) ++ pop_from_top_level (); + } +- maybe_pop_from_top_level (push_to_top); + + input_location = sloc; + } +diff --git a/gcc/cp/mangle.cc b/gcc/cp/mangle.cc +index 7076608dc49..a235f23459d 100644 +--- a/gcc/cp/mangle.cc ++++ b/gcc/cp/mangle.cc +@@ -3312,8 +3312,7 @@ write_expression (tree expr) + else if (TREE_CODE (expr) == TEMPLATE_ID_EXPR) + { + tree fn = TREE_OPERAND (expr, 0); +- if (!identifier_p (fn)) +- fn = OVL_NAME (fn); ++ fn = OVL_NAME (fn); + if (IDENTIFIER_ANY_OP_P (fn)) + write_string ("on"); + write_unqualified_id (fn); +diff --git a/gcc/cp/name-lookup.cc b/gcc/cp/name-lookup.cc +index 7c61bc3bf61..477cddd7543 100644 +--- a/gcc/cp/name-lookup.cc ++++ b/gcc/cp/name-lookup.cc +@@ -8236,43 +8236,6 @@ pop_from_top_level (void) + free_saved_scope = s; + } + +-/* Like push_to_top_level, but not if D is function-local. Returns whether we +- did push to top. */ +- +-bool +-maybe_push_to_top_level (tree d) +-{ +- /* Push if D isn't function-local, or is a lambda function, for which name +- resolution is already done. */ +- bool push_to_top +- = !(current_function_decl +- && !LAMBDA_FUNCTION_P (d) +- && decl_function_context (d) == current_function_decl); +- +- if (push_to_top) +- push_to_top_level (); +- else +- { +- gcc_assert (!processing_template_decl); +- push_function_context (); +- cp_unevaluated_operand = 0; +- c_inhibit_evaluation_warnings = 0; +- } +- +- return push_to_top; +-} +- +-/* Return from whatever maybe_push_to_top_level did. */ +- +-void +-maybe_pop_from_top_level (bool push_to_top) +-{ +- if (push_to_top) +- pop_from_top_level (); +- else +- pop_function_context (); +-} +- + /* Push into the scope of the namespace NS, even if it is deeply + nested within another namespace. */ + +diff --git a/gcc/cp/name-lookup.h b/gcc/cp/name-lookup.h +index b3e708561d8..c234cd44356 100644 +--- a/gcc/cp/name-lookup.h ++++ b/gcc/cp/name-lookup.h +@@ -466,8 +466,6 @@ extern void push_nested_namespace (tree); + extern void pop_nested_namespace (tree); + extern void push_to_top_level (void); + extern void pop_from_top_level (void); +-extern bool maybe_push_to_top_level (tree); +-extern void maybe_pop_from_top_level (bool); + extern void push_using_decl_bindings (tree, tree); + + /* Lower level interface for modules. */ +diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc +index 560ed2f2298..a6341b98af2 100644 +--- a/gcc/cp/parser.cc ++++ b/gcc/cp/parser.cc +@@ -251,7 +251,7 @@ static cp_token_cache *cp_token_cache_new + static tree cp_parser_late_noexcept_specifier + (cp_parser *, tree); + static void noexcept_override_late_checks +- (tree); ++ (tree, tree); + + static void cp_parser_initial_pragma + (cp_token *); +@@ -26426,7 +26426,7 @@ cp_parser_class_specifier (cp_parser* parser) + /* The finish_struct call above performed various override checking, + but it skipped unparsed noexcept-specifier operands. Now that we + have resolved them, check again. */ +- noexcept_override_late_checks (decl); ++ noexcept_override_late_checks (type, decl); + + /* Remove any member-function parameters from the symbol table. */ + pop_injected_parms (); +@@ -28208,13 +28208,14 @@ cp_parser_late_noexcept_specifier (cp_parser *parser, tree default_arg) + } + + /* Perform late checking of overriding function with respect to their +- noexcept-specifiers. FNDECL is the member function that potentially +- overrides some virtual function with the same signature. */ ++ noexcept-specifiers. TYPE is the class and FNDECL is the function ++ that potentially overrides some virtual function with the same ++ signature. */ + + static void +-noexcept_override_late_checks (tree fndecl) ++noexcept_override_late_checks (tree type, tree fndecl) + { +- tree binfo = TYPE_BINFO (DECL_CONTEXT (fndecl)); ++ tree binfo = TYPE_BINFO (type); + tree base_binfo; + + if (DECL_STATIC_FUNCTION_P (fndecl)) +diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc +index fa9c29d4e4f..68a056acf8b 100644 +--- a/gcc/cp/pt.cc ++++ b/gcc/cp/pt.cc +@@ -6780,8 +6780,7 @@ convert_nontype_argument_function (tree type, tree expr, + } + + linkage = decl_linkage (fn_no_ptr); +- if ((cxx_dialect < cxx11 && linkage != lk_external) +- || (cxx_dialect < cxx17 && linkage == lk_none)) ++ if (cxx_dialect >= cxx11 ? linkage == lk_none : linkage != lk_external) + { + if (complain & tf_error) + { +@@ -7179,7 +7178,7 @@ invalid_tparm_referent_p (tree type, tree expr, tsubst_flags_t complain) + * a string literal (5.13.5), + * the result of a typeid expression (8.2.8), or + * a predefined __func__ variable (11.4.1). */ +- else if (VAR_P (decl) && DECL_ARTIFICIAL (decl)) ++ else if (DECL_ARTIFICIAL (decl)) + { + if (complain & tf_error) + error ("the address of %qD is not a valid template argument", +@@ -7877,8 +7876,7 @@ coerce_template_args_for_ttp (tree templ, tree arglist, + else if (current_template_parms) + { + /* This is an argument of the current template, so we haven't set +- DECL_CONTEXT yet. We can also get here when level-lowering a +- bound ttp. */ ++ DECL_CONTEXT yet. */ + tree relevant_template_parms; + + /* Parameter levels that are greater than the level of the given +@@ -9926,27 +9924,16 @@ lookup_template_class (tree d1, tree arglist, tree in_decl, tree context, + template. */ + + /* Shortcut looking up the current class scope again. */ +- for (tree cur = current_nonlambda_class_type (); +- cur != NULL_TREE; +- cur = get_containing_scope (cur)) +- { +- if (!CLASS_TYPE_P (cur)) +- continue; +- +- tree ti = CLASSTYPE_TEMPLATE_INFO (cur); +- if (!ti || arg_depth > TMPL_ARGS_DEPTH (TI_ARGS (ti))) +- break; +- ++ if (current_class_type) ++ if (tree ti = CLASSTYPE_TEMPLATE_INFO (current_class_type)) + if (gen_tmpl == most_general_template (TI_TEMPLATE (ti)) + && comp_template_args (arglist, TI_ARGS (ti))) +- return cur; +- } ++ return current_class_type; + + /* Calculate the BOUND_ARGS. These will be the args that are + actually tsubst'd into the definition to create the + instantiation. */ +- if (PRIMARY_TEMPLATE_P (gen_tmpl)) +- arglist = coerce_template_parms (parmlist, arglist, gen_tmpl, complain); ++ arglist = coerce_template_parms (parmlist, arglist, gen_tmpl, complain); + + if (arglist == error_mark_node) + /* We were unable to bind the arguments. */ +@@ -14643,7 +14630,7 @@ tsubst_function_decl (tree t, tree args, tsubst_flags_t complain, + + static tree + tsubst_template_decl (tree t, tree args, tsubst_flags_t complain, +- tree lambda_fntype, tree lambda_tparms) ++ tree lambda_fntype) + { + /* We can get here when processing a member function template, + member class template, or template template parameter. */ +@@ -14733,10 +14720,8 @@ tsubst_template_decl (tree t, tree args, tsubst_flags_t complain, + auto tparm_guard = make_temp_override (current_template_parms); + DECL_TEMPLATE_PARMS (r) + = current_template_parms +- = (lambda_tparms +- ? lambda_tparms +- : tsubst_template_parms (DECL_TEMPLATE_PARMS (t), args, +- complain)); ++ = tsubst_template_parms (DECL_TEMPLATE_PARMS (t), args, ++ complain); + + bool class_p = false; + tree inner = decl; +@@ -14904,9 +14889,7 @@ tsubst_decl (tree t, tree args, tsubst_flags_t complain) + switch (TREE_CODE (t)) + { + case TEMPLATE_DECL: +- r = tsubst_template_decl (t, args, complain, +- /*lambda_fntype=*/NULL_TREE, +- /*lambda_tparms=*/NULL_TREE); ++ r = tsubst_template_decl (t, args, complain, /*lambda*/NULL_TREE); + break; + + case FUNCTION_DECL: +@@ -20149,24 +20132,12 @@ tsubst_lambda_expr (tree t, tree args, tsubst_flags_t complain, tree in_decl) + ? DECL_TI_TEMPLATE (oldfn) + : NULL_TREE); + +- tree tparms = NULL_TREE; +- if (oldtmpl) +- tparms = tsubst_template_parms (DECL_TEMPLATE_PARMS (oldtmpl), args, complain); +- + tree fntype = static_fn_type (oldfn); +- +- tree saved_ctp = current_template_parms; + if (oldtmpl) +- { +- ++processing_template_decl; +- current_template_parms = tparms; +- } ++ ++processing_template_decl; + fntype = tsubst (fntype, args, complain, in_decl); + if (oldtmpl) +- { +- current_template_parms = saved_ctp; +- --processing_template_decl; +- } ++ --processing_template_decl; + + if (fntype == error_mark_node) + r = error_mark_node; +@@ -20182,8 +20153,7 @@ tsubst_lambda_expr (tree t, tree args, tsubst_flags_t complain, tree in_decl) + type_memfn_quals (fntype), + type_memfn_rqual (fntype)); + tree inst = (oldtmpl +- ? tsubst_template_decl (oldtmpl, args, complain, +- fntype, tparms) ++ ? tsubst_template_decl (oldtmpl, args, complain, fntype) + : tsubst_function_decl (oldfn, args, complain, fntype)); + if (inst == error_mark_node) + { +@@ -26843,7 +26813,20 @@ instantiate_body (tree pattern, tree args, tree d, bool nested_p) + if (current_function_decl) + save_omp_privatization_clauses (omp_privatization_save); + +- bool push_to_top = maybe_push_to_top_level (d); ++ bool push_to_top ++ = !(current_function_decl ++ && !LAMBDA_FUNCTION_P (d) ++ && decl_function_context (d) == current_function_decl); ++ ++ if (push_to_top) ++ push_to_top_level (); ++ else ++ { ++ gcc_assert (!processing_template_decl); ++ push_function_context (); ++ cp_unevaluated_operand = 0; ++ c_inhibit_evaluation_warnings = 0; ++ } + + mark_template_arguments_used (pattern, args); + +@@ -26957,7 +26940,10 @@ instantiate_body (tree pattern, tree args, tree d, bool nested_p) + if (!nested_p) + TI_PENDING_TEMPLATE_FLAG (DECL_TEMPLATE_INFO (d)) = 0; + +- maybe_pop_from_top_level (push_to_top); ++ if (push_to_top) ++ pop_from_top_level (); ++ else ++ pop_function_context (); + + if (current_function_decl) + restore_omp_privatization_clauses (omp_privatization_save); +diff --git a/gcc/cp/typeck.cc b/gcc/cp/typeck.cc +index ff3a49f01b3..8b60cbbc167 100644 +--- a/gcc/cp/typeck.cc ++++ b/gcc/cp/typeck.cc +@@ -11236,6 +11236,9 @@ check_return_expr (tree retval, bool *no_warning) + build_zero_cst (TREE_TYPE (retval))); + } + ++ if (processing_template_decl) ++ return saved_retval; ++ + /* A naive attempt to reduce the number of -Wdangling-reference false + positives: if we know that this function can return a variable with + static storage duration rather than one of its parameters, suppress +@@ -11247,9 +11250,6 @@ check_return_expr (tree retval, bool *no_warning) + && TREE_STATIC (bare_retval)) + suppress_warning (current_function_decl, OPT_Wdangling_reference); + +- if (processing_template_decl) +- return saved_retval; +- + /* Actually copy the value returned into the appropriate location. */ + if (retval && retval != result) + { +diff --git a/gcc/cp/typeck2.cc b/gcc/cp/typeck2.cc +index 610fa081e7c..bf03967a71f 100644 +--- a/gcc/cp/typeck2.cc ++++ b/gcc/cp/typeck2.cc +@@ -776,27 +776,6 @@ split_nonconstant_init (tree dest, tree init) + return code; + } + +-/* T is the initializer of a constexpr variable. Set CONSTRUCTOR_MUTABLE_POISON +- for any CONSTRUCTOR within T that contains (directly or indirectly) a mutable +- member, thereby poisoning it so it can't be copied to another a constexpr +- variable or read during constexpr evaluation. */ +- +-static void +-poison_mutable_constructors (tree t) +-{ +- if (TREE_CODE (t) != CONSTRUCTOR) +- return; +- +- if (cp_has_mutable_p (TREE_TYPE (t))) +- { +- CONSTRUCTOR_MUTABLE_POISON (t) = true; +- +- if (vec *elts = CONSTRUCTOR_ELTS (t)) +- for (const constructor_elt &ce : *elts) +- poison_mutable_constructors (ce.value); +- } +-} +- + /* Perform appropriate conversions on the initial value of a variable, + store it in the declaration DECL, + and print any error messages that are appropriate. +@@ -885,7 +864,10 @@ store_init_value (tree decl, tree init, vec** cleanups, int flags) + else + value = fold_non_dependent_init (value, tf_warning_or_error, + /*manifestly_const_eval=*/true, decl); +- poison_mutable_constructors (value); ++ if (TREE_CODE (value) == CONSTRUCTOR && cp_has_mutable_p (type)) ++ /* Poison this CONSTRUCTOR so it can't be copied to another ++ constexpr variable. */ ++ CONSTRUCTOR_MUTABLE_POISON (value) = true; + const_init = (reduced_constant_expression_p (value) + || error_operand_p (value)); + DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (decl) = const_init; +diff --git a/gcc/cprop.cc b/gcc/cprop.cc +index 294fec871f0..6ec0bda4a24 100644 +--- a/gcc/cprop.cc ++++ b/gcc/cprop.cc +@@ -22,7 +22,6 @@ along with GCC; see the file COPYING3. If not see + #include "coretypes.h" + #include "backend.h" + #include "rtl.h" +-#include "rtlanal.h" + #include "cfghooks.h" + #include "df.h" + #include "insn-config.h" +@@ -796,8 +795,7 @@ try_replace_reg (rtx from, rtx to, rtx_insn *insn) + /* If we've failed perform the replacement, have a single SET to + a REG destination and don't yet have a note, add a REG_EQUAL note + to not lose information. */ +- if (!success && note == 0 && set != 0 && REG_P (SET_DEST (set)) +- && !contains_paradoxical_subreg_p (SET_SRC (set))) ++ if (!success && note == 0 && set != 0 && REG_P (SET_DEST (set))) + note = set_unique_reg_note (insn, REG_EQUAL, copy_rtx (src)); + } + +diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog +index 8ad02481fd2..c554811fb52 100644 +--- a/gcc/d/ChangeLog ++++ b/gcc/d/ChangeLog +@@ -1,98 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- +-2023-07-07 Iain Buclaw +- +- Backported from master: +- 2023-07-07 Iain Buclaw +- +- PR d/108842 +- * decl.cc (DeclVisitor::visit (VarDeclaration *)): Only emit scalar +- manifest constants. +- (get_symbol_decl): Don't generate CONST_DECL for non-scalar manifest +- constants. +- * imports.cc (ImportVisitor::visit (VarDeclaration *)): New method. +- +-2023-07-02 Iain Buclaw +- +- Backported from master: +- 2023-07-02 Iain Buclaw +- +- PR d/110516 +- * intrinsics.cc (expand_volatile_load): Set TREE_SIDE_EFFECTS on the +- expanded expression. +- (expand_volatile_store): Likewise. +- +-2023-07-01 Iain Buclaw +- +- Backported from master: +- 2023-07-01 Iain Buclaw +- +- PR d/110514 +- * decl.cc (get_symbol_decl): Set TREE_READONLY on certain kinds of +- const and immutable variables. +- * expr.cc (ExprVisitor::visit (ArrayLiteralExp *)): Set TREE_READONLY +- on immutable dynamic array literals. +- +-2023-07-01 Iain Buclaw +- +- Backported from master: +- 2023-07-01 Iain Buclaw +- +- PR d/110471 +- * d-builtins.cc (d_init_versions): Predefine D_ModuleInfo, +- D_Exceptions, and D_TypeInfo only if feature is enabled. +- * lang.opt: Add -fexceptions. +- +-2023-06-28 Iain Buclaw +- +- Backported from master: +- 2023-06-28 Iain Buclaw +- +- PR d/106977 +- PR target/110406 +- * types.cc (finish_aggregate_mode): New function. +- (finish_incomplete_fields): Call finish_aggregate_mode. +- (finish_aggregate_type): Replace call to compute_record_mode with +- finish_aggregate_mode. +- +-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-06-26 Iain Buclaw +- +- PR d/110113 +- * dmd/escape.d (checkMutableArguments): Always allocate new buffer for +- computing escapeBy. +- +-2023-06-26 Iain Buclaw +- +- Backported from master: +- 2023-06-25 Iain Buclaw +- +- * dmd/MERGE: Merge upstream dmd a45f4e9f43. +- * dmd/VERSION: Bump version to v2.103.1. +- +-2023-06-05 Iain Buclaw +- +- Backported from master: +- 2023-06-05 Iain Buclaw +- +- * gdc.texi (Warnings): Document -Wextra and -Wmismatched-special-enum. +- * implement-d.texi (Special Enums): Add reference to warning option +- -Wmismatched-special-enum. +- * lang.opt: Add -Wextra and -Wmismatched-special-enum. +- * types.cc (TypeVisitor::visit (TypeEnum *)): Warn when declared +- special enum size mismatches its intrinsic type. +- + 2023-04-26 Release Manager + + * GCC 13.1.0 released. +diff --git a/gcc/d/d-builtins.cc b/gcc/d/d-builtins.cc +index 60f76fc694c..f40888019ce 100644 +--- a/gcc/d/d-builtins.cc ++++ b/gcc/d/d-builtins.cc +@@ -500,12 +500,9 @@ d_init_versions (void) + VersionCondition::addPredefinedGlobalIdent ("D_BetterC"); + else + { +- if (global.params.useModuleInfo) +- VersionCondition::addPredefinedGlobalIdent ("D_ModuleInfo"); +- if (global.params.useExceptions) +- VersionCondition::addPredefinedGlobalIdent ("D_Exceptions"); +- if (global.params.useTypeInfo) +- VersionCondition::addPredefinedGlobalIdent ("D_TypeInfo"); ++ VersionCondition::addPredefinedGlobalIdent ("D_ModuleInfo"); ++ VersionCondition::addPredefinedGlobalIdent ("D_Exceptions"); ++ VersionCondition::addPredefinedGlobalIdent ("D_TypeInfo"); + } + + if (optimize) +diff --git a/gcc/d/d-convert.cc b/gcc/d/d-convert.cc +index faf14b07070..9e7fcd506f8 100644 +--- a/gcc/d/d-convert.cc ++++ b/gcc/d/d-convert.cc +@@ -620,7 +620,7 @@ convert_expr (tree exp, Type *etype, Type *totype) + return result ? result : convert (build_ctype (totype), exp); + } + +-/* Return a TREE representation of EXPR, whose type has been converted from ++/* Return a TREE represenwation of EXPR, whose type has been converted from + * ETYPE to TOTYPE, and is being used in an rvalue context. */ + + tree +@@ -635,27 +635,20 @@ convert_for_rvalue (tree expr, Type *etype, Type *totype) + { + /* 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 (CONSTANT_CLASS_P (expr)) ++ result = d_truthvalue_conversion (expr); ++ else + { +- /* 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: ++ /* 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; +- } ++ 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)); + } + +- if (result == NULL_TREE) +- result = d_truthvalue_conversion (expr); +- + result = convert (build_ctype (tbtype), result); + } + +@@ -852,7 +845,7 @@ convert_for_condition (tree expr, Type *type) + break; + + default: +- result = convert_for_rvalue (expr, type, type); ++ result = expr; + break; + } + +diff --git a/gcc/d/decl.cc b/gcc/d/decl.cc +index 0375ede082b..78c4ab554dc 100644 +--- a/gcc/d/decl.cc ++++ b/gcc/d/decl.cc +@@ -782,7 +782,7 @@ public: + { + /* Do not store variables we cannot take the address of, + but keep the values for purposes of debugging. */ +- if (d->type->isscalar () && !d->type->hasPointers ()) ++ if (!d->type->isscalar ()) + { + tree decl = get_symbol_decl (d); + d_pushdecl (decl); +@@ -1212,20 +1212,6 @@ get_symbol_decl (Declaration *decl) + return decl->csym; + } + +- if (VarDeclaration *vd = decl->isVarDeclaration ()) +- { +- /* CONST_DECL was initially intended for enumerals and may be used for +- scalars in general, but not for aggregates. Here a non-constant +- value is generated anyway so as its value can be used. */ +- if (!vd->canTakeAddressOf () && !vd->type->isscalar ()) +- { +- gcc_assert (vd->_init && !vd->_init->isVoidInitializer ()); +- Expression *ie = initializerToExpression (vd->_init); +- decl->csym = build_expr (ie, false); +- return decl->csym; +- } +- } +- + /* Build the tree for the symbol. */ + FuncDeclaration *fd = decl->isFuncDeclaration (); + if (fd) +@@ -1273,30 +1259,24 @@ get_symbol_decl (Declaration *decl) + if (vd->storage_class & STCextern) + DECL_EXTERNAL (decl->csym) = 1; + +- if (!vd->canTakeAddressOf ()) ++ /* CONST_DECL was initially intended for enumerals and may be used for ++ scalars in general, but not for aggregates. Here a non-constant ++ value is generated anyway so as the CONST_DECL only serves as a ++ placeholder for the value, however the DECL itself should never be ++ referenced in any generated code, or passed to the back-end. */ ++ if (vd->storage_class & STCmanifest) + { + /* Cannot make an expression out of a void initializer. */ +- gcc_assert (vd->_init && !vd->_init->isVoidInitializer ()); +- /* Non-scalar manifest constants have already been dealt with. */ +- gcc_assert (vd->type->isscalar ()); ++ if (vd->_init && !vd->_init->isVoidInitializer ()) ++ { ++ Expression *ie = initializerToExpression (vd->_init); + +- Expression *ie = initializerToExpression (vd->_init); +- DECL_INITIAL (decl->csym) = build_expr (ie, true); ++ if (!vd->type->isscalar ()) ++ DECL_INITIAL (decl->csym) = build_expr (ie, false); ++ else ++ DECL_INITIAL (decl->csym) = build_expr (ie, true); ++ } + } +- +- /* [type-qualifiers/const-and-immutable] +- +- `immutable` applies to data that cannot change. Immutable data values, +- once constructed, remain the same for the duration of the program's +- execution. */ +- if (vd->isImmutable () && !vd->setInCtorOnly ()) +- TREE_READONLY (decl->csym) = 1; +- +- /* `const` applies to data that cannot be changed by the const reference +- to that data. It may, however, be changed by another reference to that +- same data. */ +- if (vd->isConst () && !vd->isDataseg ()) +- TREE_READONLY (decl->csym) = 1; + } + + /* Set the declaration mangled identifier if static. */ +diff --git a/gcc/d/dmd/MERGE b/gcc/d/dmd/MERGE +index 1205cd941b7..986925e8bdc 100644 +--- a/gcc/d/dmd/MERGE ++++ b/gcc/d/dmd/MERGE +@@ -1,4 +1,4 @@ +-a45f4e9f43e9fdbf0b666175e5e66b1ce4f561f6 ++5f7552bb2829b75d5e36cc767a476e1ab35147b7 + + The first line of this file holds the git revision number of the last + merge done from the dlang/dmd repository. +diff --git a/gcc/d/dmd/VERSION b/gcc/d/dmd/VERSION +index 8316aafdaca..da496a2ceeb 100644 +--- a/gcc/d/dmd/VERSION ++++ b/gcc/d/dmd/VERSION +@@ -1 +1 @@ +-v2.103.1 ++v2.103.0-rc.1 +diff --git a/gcc/d/dmd/aggregate.h b/gcc/d/dmd/aggregate.h +index 03fe478685c..04e5eb2f0d9 100644 +--- a/gcc/d/dmd/aggregate.h ++++ b/gcc/d/dmd/aggregate.h +@@ -108,8 +108,8 @@ public: + Expression *getRTInfo; // pointer to GC info generated by object.RTInfo(this) + + Visibility visibility; +- d_bool noDefaultCtor; // no default construction +- d_bool disableNew; // disallow allocations using `new` ++ bool noDefaultCtor; // no default construction ++ bool disableNew; // disallow allocations using `new` + Sizeok sizeok; // set when structsize contains valid data + + virtual Scope *newScope(Scope *sc); +@@ -269,10 +269,10 @@ public: + // their own vtbl[] + + TypeInfoClassDeclaration *vclassinfo; // the ClassInfo object for this ClassDeclaration +- d_bool com; // true if this is a COM class (meaning it derives from IUnknown) +- d_bool stack; // true if this is a scope class ++ bool com; // true if this is a COM class (meaning it derives from IUnknown) ++ bool stack; // true if this is a scope class + int cppDtorVtblIndex; // slot reserved for the virtual destructor [extern(C++)] +- d_bool inuse; // to prevent recursive attempts ++ bool inuse; // to prevent recursive attempts + + ThreeState isabstract; // if abstract class + Baseok baseok; // set the progress of base classes resolving +diff --git a/gcc/d/dmd/attrib.h b/gcc/d/dmd/attrib.h +index 113653e9d7c..44ceb12e0d0 100644 +--- a/gcc/d/dmd/attrib.h ++++ b/gcc/d/dmd/attrib.h +@@ -132,7 +132,7 @@ public: + class AnonDeclaration final : public AttribDeclaration + { + public: +- d_bool isunion; ++ bool isunion; + int sem; // 1 if successful semantic() + unsigned anonoffset; // offset of anonymous struct + unsigned anonstructsize; // size of anonymous struct +@@ -175,8 +175,8 @@ class StaticIfDeclaration final : public ConditionalDeclaration + { + public: + ScopeDsymbol *scopesym; +- d_bool addisdone; +- d_bool onStack; ++ bool addisdone; ++ bool onStack; + + StaticIfDeclaration *syntaxCopy(Dsymbol *s) override; + Dsymbols *include(Scope *sc) override; +@@ -193,8 +193,8 @@ class StaticForeachDeclaration final : public AttribDeclaration + public: + StaticForeach *sfe; + ScopeDsymbol *scopesym; +- d_bool onStack; +- d_bool cached; ++ bool onStack; ++ bool cached; + Dsymbols *cache; + + StaticForeachDeclaration *syntaxCopy(Dsymbol *s) override; +@@ -227,7 +227,7 @@ public: + Expressions *exps; + + ScopeDsymbol *scopesym; +- d_bool compiled; ++ bool compiled; + + CompileDeclaration *syntaxCopy(Dsymbol *s) override; + void addMember(Scope *sc, ScopeDsymbol *sds) override; +diff --git a/gcc/d/dmd/common/outbuffer.h b/gcc/d/dmd/common/outbuffer.h +index 4c1dceea3f6..b672842e74d 100644 +--- a/gcc/d/dmd/common/outbuffer.h ++++ b/gcc/d/dmd/common/outbuffer.h +@@ -21,11 +21,11 @@ struct OutBuffer + private: + DArray data; + d_size_t offset; +- d_bool notlinehead; ++ bool notlinehead; + void *fileMapping; // pointer to a file mapping object not used on the C++ side + public: +- d_bool doindent; +- d_bool spaces; ++ bool doindent; ++ bool spaces; + int level; + + OutBuffer() +diff --git a/gcc/d/dmd/cond.d b/gcc/d/dmd/cond.d +index c40936c78d1..c0c4cf1ce82 100644 +--- a/gcc/d/dmd/cond.d ++++ b/gcc/d/dmd/cond.d +@@ -935,6 +935,9 @@ extern (C++) final class StaticIfCondition : Condition + import dmd.staticcond; + bool errors; + ++ if (!exp) ++ return errorReturn(); ++ + bool result = evalStaticCondition(sc, exp, exp, errors); + + // Prevent repeated condition evaluation. +diff --git a/gcc/d/dmd/cond.h b/gcc/d/dmd/cond.h +index 45094d14991..422a715bdba 100644 +--- a/gcc/d/dmd/cond.h ++++ b/gcc/d/dmd/cond.h +@@ -52,7 +52,7 @@ public: + ForeachStatement *aggrfe; + ForeachRangeStatement *rangefe; + +- d_bool needExpansion; ++ bool needExpansion; + + StaticForeach *syntaxCopy(); + }; +diff --git a/gcc/d/dmd/cppmangle.d b/gcc/d/dmd/cppmangle.d +index 32b38518953..b015a642b90 100644 +--- a/gcc/d/dmd/cppmangle.d ++++ b/gcc/d/dmd/cppmangle.d +@@ -213,11 +213,6 @@ private final class CppMangleVisitor : Visitor + { + auto tf = cast(TypeFunction)this.context.res.asFuncDecl().type; + Type rt = preSemantic.nextOf(); +- // https://issues.dlang.org/show_bug.cgi?id=22739 +- // auto return type means that rt is null. +- // if so, just pick up the type from the instance +- if (!rt) +- rt = tf.nextOf(); + if (tf.isref) + rt = rt.referenceTo(); + auto prev = this.context.push(tf.nextOf()); +@@ -565,11 +560,7 @@ private final class CppMangleVisitor : Visitor + foreach (j; i .. (*ti.tiargs).length) + { + Type t = isType((*ti.tiargs)[j]); +- if (t is null) +- { +- ti.error("internal compiler error: C++ `%s` template value parameter is not supported", (*ti.tiargs)[j].toChars()); +- fatal(); +- } ++ assert(t); + t.accept(this); + } + +diff --git a/gcc/d/dmd/declaration.h b/gcc/d/dmd/declaration.h +index d75f64f0766..cd4155d0fbb 100644 +--- a/gcc/d/dmd/declaration.h ++++ b/gcc/d/dmd/declaration.h +@@ -167,8 +167,8 @@ class TupleDeclaration final : public Declaration + public: + Objects *objects; + TypeTuple *tupletype; // !=NULL if this is a type tuple +- d_bool isexp; // true: expression tuple +- d_bool building; // it's growing in AliasAssign semantic ++ bool isexp; // true: expression tuple ++ bool building; // it's growing in AliasAssign semantic + + TupleDeclaration *syntaxCopy(Dsymbol *) override; + const char *kind() const override; +@@ -607,7 +607,7 @@ public: + + // set if someone took the address of this function + int tookAddressOf; +- d_bool requiresClosure; // this function needs a closure ++ bool requiresClosure; // this function needs a closure + + // local variables in this function which are referenced by nested functions + VarDeclarations closureVars; +@@ -742,7 +742,7 @@ class FuncAliasDeclaration final : public FuncDeclaration + { + public: + FuncDeclaration *funcalias; +- d_bool hasOverloads; ++ bool hasOverloads; + + FuncAliasDeclaration *isFuncAliasDeclaration() override { return this; } + const char *kind() const override; +@@ -758,7 +758,7 @@ public: + Type *treq; // target of return type inference + + // backend +- d_bool deferToObj; ++ bool deferToObj; + + FuncLiteralDeclaration *syntaxCopy(Dsymbol *) override; + bool isNested() const override; +@@ -778,7 +778,7 @@ public: + class CtorDeclaration final : public FuncDeclaration + { + public: +- d_bool isCpCtor; ++ bool isCpCtor; + CtorDeclaration *syntaxCopy(Dsymbol *) override; + const char *kind() const override; + const char *toChars() const override; +diff --git a/gcc/d/dmd/dsymbol.h b/gcc/d/dmd/dsymbol.h +index 039a28871b3..1cee456aa10 100644 +--- a/gcc/d/dmd/dsymbol.h ++++ b/gcc/d/dmd/dsymbol.h +@@ -172,7 +172,7 @@ struct FieldState + unsigned fieldAlign; + unsigned bitOffset; + +- d_bool inFlight; ++ bool inFlight; + }; + + struct DsymbolAttributes; +@@ -189,7 +189,7 @@ public: + private: + DsymbolAttributes* atts; + public: +- d_bool errors; // this symbol failed to pass semantic() ++ bool errors; // this symbol failed to pass semantic() + PASS semanticRun; + unsigned short localNum; // perturb mangled name to avoid collisions with those in FuncDeclaration.localsymtab + static Dsymbol *create(Identifier *); +diff --git a/gcc/d/dmd/dsymbolsem.d b/gcc/d/dmd/dsymbolsem.d +index 0f0ed2adec7..6697ad6d4d6 100644 +--- a/gcc/d/dmd/dsymbolsem.d ++++ b/gcc/d/dmd/dsymbolsem.d +@@ -1383,14 +1383,10 @@ private extern(C++) final class DsymbolSemanticVisitor : Visitor + imp.semanticRun = PASS.semantic; + + // Load if not already done so ++ bool loadErrored = false; + if (!imp.mod) + { +- // https://issues.dlang.org/show_bug.cgi?id=22857 +- // if parser errors occur when loading a module +- // we should just stop compilation +- if (imp.load(sc)) +- return; +- ++ loadErrored = imp.load(sc); + if (imp.mod) + { + imp.mod.importAll(null); +@@ -1431,7 +1427,10 @@ private extern(C++) final class DsymbolSemanticVisitor : Visitor + imp.addPackageAccess(scopesym); + } + +- imp.mod.dsymbolSemantic(null); ++ if (!loadErrored) ++ { ++ imp.mod.dsymbolSemantic(null); ++ } + + if (imp.mod.needmoduleinfo) + { +diff --git a/gcc/d/dmd/escape.d b/gcc/d/dmd/escape.d +index 7586e5c7184..420fa7f80bb 100644 +--- a/gcc/d/dmd/escape.d ++++ b/gcc/d/dmd/escape.d +@@ -93,7 +93,22 @@ bool checkMutableArguments(Scope* sc, FuncDeclaration fd, TypeFunction tf, + bool isMutable; // true if reference to mutable + } + +- auto escapeBy = new EscapeBy[len]; ++ /* Store escapeBy as static data escapeByStorage so we can keep reusing the same ++ * arrays rather than reallocating them. ++ */ ++ __gshared EscapeBy[] escapeByStorage; ++ auto escapeBy = escapeByStorage; ++ if (escapeBy.length < len) ++ { ++ auto newPtr = cast(EscapeBy*)mem.xrealloc(escapeBy.ptr, len * EscapeBy.sizeof); ++ // Clear the new section ++ memset(newPtr + escapeBy.length, 0, (len - escapeBy.length) * EscapeBy.sizeof); ++ escapeBy = newPtr[0 .. len]; ++ escapeByStorage = escapeBy; ++ } ++ else ++ escapeBy = escapeBy[0 .. len]; ++ + const paramLength = tf.parameterList.length; + + // Fill in escapeBy[] with arguments[], ethis, and outerVars[] +@@ -213,6 +228,13 @@ bool checkMutableArguments(Scope* sc, FuncDeclaration fd, TypeFunction tf, + escape(i, eb, false); + } + ++ /* Reset the arrays in escapeBy[] so we can reuse them next time through ++ */ ++ foreach (ref eb; escapeBy) ++ { ++ eb.er.reset(); ++ } ++ + return errors; + } + +diff --git a/gcc/d/dmd/expression.h b/gcc/d/dmd/expression.h +index 1bc78e7ef2a..e4716c8dfcf 100644 +--- a/gcc/d/dmd/expression.h ++++ b/gcc/d/dmd/expression.h +@@ -81,7 +81,7 @@ class Expression : public ASTNode + public: + EXP op; // to minimize use of dynamic_cast + unsigned char size; // # of bytes in Expression so we can copy() it +- d_bool parens; // if this is a parenthesized expression ++ bool parens; // if this is a parenthesized expression + Type *type; // !=NULL means that semantic() has been run + Loc loc; // file location + +@@ -331,7 +331,7 @@ class DsymbolExp final : public Expression + { + public: + Dsymbol *s; +- d_bool hasOverloads; ++ bool hasOverloads; + + DsymbolExp *syntaxCopy() override; + bool isLvalue() override; +@@ -422,7 +422,7 @@ public: + Expression *basis; + Expressions *elements; + OwnedBy ownedByCtfe; +- d_bool onstack; ++ bool onstack; + + static ArrayLiteralExp *create(const Loc &loc, Expressions *elements); + static void emplace(UnionExp *pue, const Loc &loc, Expressions *elements); +@@ -476,8 +476,8 @@ public: + */ + int stageflags; + +- d_bool useStaticInit; // if this is true, use the StructDeclaration's init symbol +- d_bool isOriginal; // used when moving instances to indicate `this is this.origin` ++ bool useStaticInit; // if this is true, use the StructDeclaration's init symbol ++ bool isOriginal; // used when moving instances to indicate `this is this.origin` + OwnedBy ownedByCtfe; + + static StructLiteralExp *create(const Loc &loc, StructDeclaration *sd, void *elements, Type *stype = NULL); +@@ -537,8 +537,8 @@ public: + Expression *argprefix; // expression to be evaluated just before arguments[] + + CtorDeclaration *member; // constructor function +- d_bool onstack; // allocate on stack +- d_bool thrownew; // this NewExp is the expression of a ThrowStatement ++ bool onstack; // allocate on stack ++ bool thrownew; // this NewExp is the expression of a ThrowStatement + + Expression *lowering; // lowered druntime hook: `_d_newclass` + +@@ -566,7 +566,7 @@ class SymbolExp : public Expression + public: + Declaration *var; + Dsymbol *originalScope; +- d_bool hasOverloads; ++ bool hasOverloads; + + void accept(Visitor *v) override { v->visit(this); } + }; +@@ -588,7 +588,7 @@ public: + class VarExp final : public SymbolExp + { + public: +- d_bool delegateWasExtracted; ++ bool delegateWasExtracted; + static VarExp *create(const Loc &loc, Declaration *var, bool hasOverloads = true); + bool equals(const RootObject * const o) const override; + bool isLvalue() override; +@@ -764,9 +764,9 @@ class DotIdExp final : public UnaExp + { + public: + Identifier *ident; +- d_bool noderef; // true if the result of the expression will never be dereferenced +- d_bool wantsym; // do not replace Symbol with its initializer during semantic() +- d_bool arrow; // ImportC: if -> instead of . ++ bool noderef; // true if the result of the expression will never be dereferenced ++ bool wantsym; // do not replace Symbol with its initializer during semantic() ++ bool arrow; // ImportC: if -> instead of . + + static DotIdExp *create(const Loc &loc, Expression *e, Identifier *ident); + void accept(Visitor *v) override { v->visit(this); } +@@ -786,7 +786,7 @@ class DotVarExp final : public UnaExp + { + public: + Declaration *var; +- d_bool hasOverloads; ++ bool hasOverloads; + + bool isLvalue() override; + Expression *toLvalue(Scope *sc, Expression *e) override; +@@ -810,7 +810,7 @@ class DelegateExp final : public UnaExp + { + public: + FuncDeclaration *func; +- d_bool hasOverloads; ++ bool hasOverloads; + VarDeclaration *vthis2; // container for multi-context + + +@@ -831,9 +831,9 @@ public: + Expressions *arguments; // function arguments + Identifiers *names; + FuncDeclaration *f; // symbol to call +- d_bool directcall; // true if a virtual call is devirtualized +- d_bool inDebugStatement; // true if this was in a debug statement +- d_bool ignoreAttributes; // don't enforce attributes (e.g. call @gc function in @nogc code) ++ bool directcall; // true if a virtual call is devirtualized ++ bool inDebugStatement; // true if this was in a debug statement ++ bool ignoreAttributes; // don't enforce attributes (e.g. call @gc function in @nogc code) + VarDeclaration *vthis2; // container for multi-context + + static CallExp *create(const Loc &loc, Expression *e, Expressions *exps); +@@ -892,7 +892,7 @@ public: + class DeleteExp final : public UnaExp + { + public: +- d_bool isRAII; ++ bool isRAII; + void accept(Visitor *v) override { v->visit(this); } + }; + +@@ -937,9 +937,9 @@ public: + Expression *upr; // NULL if implicit 0 + Expression *lwr; // NULL if implicit [length - 1] + VarDeclaration *lengthVar; +- d_bool upperIsInBounds; // true if upr <= e1.length +- d_bool lowerIsLessThanUpper; // true if lwr <= upr +- d_bool arrayop; // an array operation, rather than a slice ++ bool upperIsInBounds; // true if upr <= e1.length ++ bool lowerIsLessThanUpper; // true if lwr <= upr ++ bool arrayop; // an array operation, rather than a slice + + SliceExp *syntaxCopy() override; + bool isLvalue() override; +@@ -1011,8 +1011,8 @@ public: + class CommaExp final : public BinExp + { + public: +- d_bool isGenerated; +- d_bool allowCommaExp; ++ bool isGenerated; ++ bool allowCommaExp; + bool isLvalue() override; + Expression *toLvalue(Scope *sc, Expression *e) override; + Expression *modifiableLvalue(Scope *sc, Expression *e) override; +@@ -1025,8 +1025,8 @@ class IndexExp final : public BinExp + { + public: + VarDeclaration *lengthVar; +- d_bool modifiable; +- d_bool indexIsInBounds; // true if 0 <= e2 && e2 <= e1.length - 1 ++ bool modifiable; ++ bool indexIsInBounds; // true if 0 <= e2 && e2 <= e1.length - 1 + + IndexExp *syntaxCopy() override; + bool isLvalue() override; +diff --git a/gcc/d/dmd/expressionsem.d b/gcc/d/dmd/expressionsem.d +index 45dcb9739f2..632ea11cdc0 100644 +--- a/gcc/d/dmd/expressionsem.d ++++ b/gcc/d/dmd/expressionsem.d +@@ -12158,9 +12158,6 @@ private extern (C++) final class ExpressionSemanticVisitor : Visitor + + if (!needsArrayLowering) + { +- // https://issues.dlang.org/show_bug.cgi?id=23783 +- if (exp.e1.checkSharedAccess(sc) || exp.e2.checkSharedAccess(sc)) +- return setError(); + if (auto e = typeCombine(exp, sc)) + { + result = e; +@@ -13375,12 +13372,6 @@ bool checkSharedAccess(Expression e, Scope* sc, bool returnRef = false) + + bool visitVar(VarExp e) + { +- // https://issues.dlang.org/show_bug.cgi?id=20908 +- // direct access to init symbols is ok as they +- // cannot be modified. +- if (e.var.isSymbolDeclaration()) +- return false; +- + // https://issues.dlang.org/show_bug.cgi?id=22626 + // Synchronized functions don't need to use core.atomic + // when accessing `this`. +@@ -13418,16 +13409,9 @@ bool checkSharedAccess(Expression e, Scope* sc, bool returnRef = false) + //printf("dotvarexp = %s\n", e.toChars()); + if (e.type.isShared()) + { +- if (e.e1.isThisExp()) +- { +- // https://issues.dlang.org/show_bug.cgi?id=22626 +- if (sc.func && sc.func.isSynchronized()) +- return false; +- +- // https://issues.dlang.org/show_bug.cgi?id=23790 +- if (e.e1.type.isTypeStruct()) +- return false; +- } ++ // / https://issues.dlang.org/show_bug.cgi?id=22626 ++ if (e.e1.isThisExp() && sc.func && sc.func.isSynchronized()) ++ return false; + + auto fd = e.var.isFuncDeclaration(); + const sharedFunc = fd && fd.type.isShared; +diff --git a/gcc/d/dmd/globals.h b/gcc/d/dmd/globals.h +index 84fbec6977d..ec8fc32ed0f 100644 +--- a/gcc/d/dmd/globals.h ++++ b/gcc/d/dmd/globals.h +@@ -85,8 +85,8 @@ enum class FeatureState : signed char + struct Output + { + /// Configuration for the compiler generator +- d_bool doOutput; // Output is enabled +- d_bool fullOutput; // Generate comments for hidden declarations (for -HC), ++ bool doOutput; // Output is enabled ++ bool fullOutput; // Generate comments for hidden declarations (for -HC), + // and don't strip the bodies of plain (non-template) functions (for -H) + DString dir; // write to directory 'dir' + DString name; // write to file 'name' +@@ -99,71 +99,71 @@ struct Output + // Put command line switches in here + struct Param + { +- d_bool obj; // write object file +- d_bool multiobj; // break one object file into multiple ones +- d_bool trace; // insert profiling hooks +- d_bool tracegc; // instrument calls to 'new' +- d_bool verbose; // verbose compile +- d_bool vcg_ast; // write-out codegen-ast +- d_bool showColumns; // print character (column) numbers in diagnostics +- d_bool vtls; // identify thread local variables +- d_bool vtemplates; // collect and list statistics on template instantiations +- d_bool vtemplatesListInstances; // collect and list statistics on template instantiations origins +- d_bool vgc; // identify gc usage +- d_bool vfield; // identify non-mutable field variables +- d_bool vcomplex; // identify complex/imaginary type usage +- d_bool vin; // identify 'in' parameters ++ bool obj; // write object file ++ bool multiobj; // break one object file into multiple ones ++ bool trace; // insert profiling hooks ++ bool tracegc; // instrument calls to 'new' ++ bool verbose; // verbose compile ++ bool vcg_ast; // write-out codegen-ast ++ bool showColumns; // print character (column) numbers in diagnostics ++ bool vtls; // identify thread local variables ++ bool vtemplates; // collect and list statistics on template instantiations ++ bool vtemplatesListInstances; // collect and list statistics on template instantiations origins ++ bool vgc; // identify gc usage ++ bool vfield; // identify non-mutable field variables ++ bool vcomplex; // identify complex/imaginary type usage ++ bool vin; // identify 'in' parameters + Diagnostic useDeprecated; +- d_bool useUnitTests; // generate unittest code +- d_bool useInline; // inline expand functions +- d_bool release; // build release version +- d_bool preservePaths; // true means don't strip path from source file ++ bool useUnitTests; // generate unittest code ++ bool useInline; // inline expand functions ++ bool release; // build release version ++ bool preservePaths; // true means don't strip path from source file + Diagnostic warnings; +- d_bool color; // use ANSI colors in console output +- d_bool cov; // generate code coverage data ++ bool color; // use ANSI colors in console output ++ bool cov; // generate code coverage data + unsigned char covPercent; // 0..100 code coverage percentage required +- d_bool ctfe_cov; // generate coverage data for ctfe +- d_bool ignoreUnsupportedPragmas; // rather than error on them +- d_bool useModuleInfo; // generate runtime module information +- d_bool useTypeInfo; // generate runtime type information +- d_bool useExceptions; // support exception handling +- d_bool betterC; // be a "better C" compiler; no dependency on D runtime +- d_bool addMain; // add a default main() function +- d_bool allInst; // generate code for all template instantiations +- d_bool bitfields; // support C style bit fields ++ bool ctfe_cov; // generate coverage data for ctfe ++ bool ignoreUnsupportedPragmas; // rather than error on them ++ bool useModuleInfo; // generate runtime module information ++ bool useTypeInfo; // generate runtime type information ++ bool useExceptions; // support exception handling ++ bool betterC; // be a "better C" compiler; no dependency on D runtime ++ bool addMain; // add a default main() function ++ bool allInst; // generate code for all template instantiations ++ bool bitfields; // support C style bit fields + CppStdRevision cplusplus; // version of C++ name mangling to support +- d_bool showGaggedErrors; // print gagged errors anyway +- d_bool printErrorContext; // print errors with the error context (the error line in the source file) +- d_bool manual; // open browser on compiler manual +- d_bool usage; // print usage and exit +- d_bool mcpuUsage; // print help on -mcpu switch +- d_bool transitionUsage; // print help on -transition switch +- d_bool checkUsage; // print help on -check switch +- d_bool checkActionUsage; // print help on -checkaction switch +- d_bool revertUsage; // print help on -revert switch +- d_bool previewUsage; // print help on -preview switch +- d_bool externStdUsage; // print help on -extern-std switch +- d_bool hcUsage; // print help on -HC switch +- d_bool logo; // print logo; ++ bool showGaggedErrors; // print gagged errors anyway ++ bool printErrorContext; // print errors with the error context (the error line in the source file) ++ bool manual; // open browser on compiler manual ++ bool usage; // print usage and exit ++ bool mcpuUsage; // print help on -mcpu switch ++ bool transitionUsage; // print help on -transition switch ++ bool checkUsage; // print help on -check switch ++ bool checkActionUsage; // print help on -checkaction switch ++ bool revertUsage; // print help on -revert switch ++ bool previewUsage; // print help on -preview switch ++ bool externStdUsage; // print help on -extern-std switch ++ bool hcUsage; // print help on -HC switch ++ bool logo; // print logo; + + // Options for `-preview=/-revert=` + FeatureState useDIP25; // implement https://wiki.dlang.org/DIP25 + FeatureState useDIP1000; // implement https://dlang.org/spec/memory-safe-d.html#scope-return-params +- d_bool ehnogc; // use @nogc exception handling +- d_bool useDIP1021; // implement https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1021.md +- d_bool fieldwise; // do struct equality testing field-wise rather than by memcmp() +- d_bool fixAliasThis; // if the current scope has an alias this, check it before searching upper scopes ++ bool ehnogc; // use @nogc exception handling ++ bool useDIP1021; // implement https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1021.md ++ bool fieldwise; // do struct equality testing field-wise rather than by memcmp() ++ bool fixAliasThis; // if the current scope has an alias this, check it before searching upper scopes + FeatureState rvalueRefParam; // allow rvalues to be arguments to ref parameters + // https://dconf.org/2019/talks/alexandrescu.html + // https://gist.github.com/andralex/e5405a5d773f07f73196c05f8339435a + // https://digitalmars.com/d/archives/digitalmars/D/Binding_rvalues_to_ref_parameters_redux_325087.html + // Implementation: https://github.com/dlang/dmd/pull/9817 + FeatureState noSharedAccess; // read/write access to shared memory objects +- d_bool previewIn; // `in` means `[ref] scope const`, accepts rvalues +- d_bool inclusiveInContracts; // 'in' contracts of overridden methods must be a superset of parent contract +- d_bool shortenedMethods; // allow => in normal function declarations +- d_bool fixImmutableConv; // error on unsound immutable conversion - https://github.com/dlang/dmd/pull/14070 +- d_bool fix16997; // fix integral promotions for unary + - ~ operators ++ bool previewIn; // `in` means `[ref] scope const`, accepts rvalues ++ bool inclusiveInContracts; // 'in' contracts of overridden methods must be a superset of parent contract ++ bool shortenedMethods; // allow => in normal function declarations ++ bool fixImmutableConv; // error on unsound immutable conversion - https://github.com/dlang/dmd/pull/14070 ++ bool fix16997; // fix integral promotions for unary + - ~ operators + // https://issues.dlang.org/show_bug.cgi?id=16997 + FeatureState dtorFields; // destruct fields of partially constructed objects + // https://issues.dlang.org/show_bug.cgi?id=14246 +@@ -208,7 +208,7 @@ struct Param + + MessageStyle messageStyle; // style of file/line annotations on messages + +- d_bool run; // run resulting executable ++ bool run; // run resulting executable + Strings runargs; // arguments for executable + + Array cppswitches; // preprocessor switches +@@ -228,7 +228,7 @@ struct Param + struct structalign_t + { + unsigned short value; +- d_bool pack; ++ bool pack; + + bool isDefault() const; + void setDefault(); +@@ -275,7 +275,7 @@ struct Global + Array* versionids; // command line versions and predefined versions + Array* debugids; // command line debug versions and predefined versions + +- d_bool hasMainFunction; ++ bool hasMainFunction; + unsigned varSequenceNumber; + + FileManager* fileManager; +diff --git a/gcc/d/dmd/hdrgen.d b/gcc/d/dmd/hdrgen.d +index e0684e6b365..c7e5690bc0a 100644 +--- a/gcc/d/dmd/hdrgen.d ++++ b/gcc/d/dmd/hdrgen.d +@@ -1586,10 +1586,7 @@ public: + if (hgs.hdrgen) + { + // if the return type is missing (e.g. ref functions or auto) +- // https://issues.dlang.org/show_bug.cgi?id=20090 +- // constructors are an exception: they don't have an explicit return +- // type but we still don't output the body. +- if ((!f.isCtorDeclaration() && !tf.next) || f.storage_class & STC.auto_) ++ if (!tf.next || f.storage_class & STC.auto_) + { + hgs.autoMember++; + bodyToBuffer(f); +diff --git a/gcc/d/dmd/identifier.h b/gcc/d/dmd/identifier.h +index e7b3ba60b0f..c12c3554c1b 100644 +--- a/gcc/d/dmd/identifier.h ++++ b/gcc/d/dmd/identifier.h +@@ -17,7 +17,7 @@ class Identifier final : public RootObject + { + private: + int value; +- d_bool isAnonymous_; ++ bool isAnonymous_; + DString string; + + public: +diff --git a/gcc/d/dmd/init.h b/gcc/d/dmd/init.h +index 9a6a56b68bb..66b874c91b5 100644 +--- a/gcc/d/dmd/init.h ++++ b/gcc/d/dmd/init.h +@@ -77,8 +77,8 @@ public: + Initializers value; // of Initializer *'s + unsigned dim; // length of array being initialized + Type *type; // type that array will be used to initialize +- d_bool sem; // true if semantic() is run +- d_bool isCarray; // C array semantics ++ bool sem; // true if semantic() is run ++ bool isCarray; // C array semantics + + bool isAssociativeArray() const; + Expression *toAssocArrayLiteral(); +@@ -89,7 +89,7 @@ public: + class ExpInitializer final : public Initializer + { + public: +- d_bool expandTuples; ++ bool expandTuples; + Expression *exp; + + void accept(Visitor *v) override { v->visit(this); } +@@ -112,7 +112,7 @@ class CInitializer final : public Initializer + public: + DesigInits initializerList; + Type *type; // type that array will be used to initialize +- d_bool sem; // true if semantic() is run ++ bool sem; // true if semantic() is run + + void accept(Visitor *v) override { v->visit(this); } + }; +diff --git a/gcc/d/dmd/lexer.d b/gcc/d/dmd/lexer.d +index f0f7872c2b2..c9ed35ffa6d 100644 +--- a/gcc/d/dmd/lexer.d ++++ b/gcc/d/dmd/lexer.d +@@ -2664,19 +2664,14 @@ class Lexer + eSink.error(loc, format, args); + } + +- void deprecation(T...)(const ref Loc loc, const(char)* format, T args) ++ final void deprecation(const(char)* format) + { +- eSink.deprecation(loc, format, args); ++ eSink.deprecation(token.loc, format); + } + +- void deprecation(T...)(const(char)* format, T args) ++ final void deprecationSupplemental(const(char)* format) + { +- eSink.deprecation(token.loc, format, args); +- } +- +- void deprecationSupplemental(T...)(const(char)* format, T args) +- { +- eSink.deprecationSupplemental(token.loc, format, args); ++ eSink.deprecationSupplemental(token.loc, format); + } + + /*************************************** +@@ -2700,21 +2695,12 @@ class Lexer + else + { + const locx = loc(); +- // @@@DEPRECATED_2.103@@@ +- // Turn into an error in 2.113 +- if (inTokenStringConstant) +- deprecation(locx, "token string requires valid D tokens, not `#%s`", n.ident.toChars()); +- else +- error(locx, "C preprocessor directive `#%s` is not supported", n.ident.toChars()); ++ eSink.warning(locx, "C preprocessor directive `#%s` is not supported", n.ident.toChars()); + } + } + else if (n.value == TOK.if_) + { +- const locx = loc(); +- if (inTokenStringConstant) +- error(locx, "token string requires valid D tokens, not `#if`"); +- else +- error(locx, "C preprocessor directive `#if` is not supported, use `version` or `static if`"); ++ error("C preprocessor directive `#if` is not supported, use `version` or `static if`"); + } + return false; + } +diff --git a/gcc/d/dmd/module.h b/gcc/d/dmd/module.h +index 8b481108f8c..002bb1a875b 100644 +--- a/gcc/d/dmd/module.h ++++ b/gcc/d/dmd/module.h +@@ -74,8 +74,8 @@ public: + unsigned errors; // if any errors in file + unsigned numlines; // number of lines in source file + FileType filetype; // source file type +- d_bool hasAlwaysInlines; // contains references to functions that must be inlined +- d_bool isPackageFile; // if it is a package.d ++ bool hasAlwaysInlines; // contains references to functions that must be inlined ++ bool isPackageFile; // if it is a package.d + Package *pkg; // if isPackageFile is true, the Package that contains this package.d + Strings contentImportedFiles; // array of files whose content was imported + int needmoduleinfo; +@@ -90,7 +90,7 @@ public: + Identifier *searchCacheIdent; + Dsymbol *searchCacheSymbol; // cached value of search + int searchCacheFlags; // cached flags +- d_bool insearch; ++ bool insearch; + + // module from command line we're imported from, + // i.e. a module that will be taken all the +@@ -165,7 +165,7 @@ struct ModuleDeclaration + Loc loc; + Identifier *id; + DArray packages; // array of Identifier's representing packages +- d_bool isdeprecated; // if it is a deprecated module ++ bool isdeprecated; // if it is a deprecated module + Expression *msg; + + const char *toChars() const; +diff --git a/gcc/d/dmd/mtype.h b/gcc/d/dmd/mtype.h +index fbfd766fa94..d0775f2f5fb 100644 +--- a/gcc/d/dmd/mtype.h ++++ b/gcc/d/dmd/mtype.h +@@ -589,7 +589,7 @@ struct ParameterList + Parameters* parameters; + StorageClass stc; + VarArg varargs; +- d_bool hasIdentifierList; // true if C identifier-list style ++ bool hasIdentifierList; // true if C identifier-list style + + size_t length(); + Parameter *operator[](size_t i) { return Parameter::getNth(parameters, i); } +@@ -779,7 +779,7 @@ class TypeStruct final : public Type + public: + StructDeclaration *sym; + AliasThisRec att; +- d_bool inuse; ++ bool inuse; + + static TypeStruct *create(StructDeclaration *sym); + const char *kind() override; +diff --git a/gcc/d/dmd/objc.h b/gcc/d/dmd/objc.h +index a5cc6f1b089..305ce812487 100644 +--- a/gcc/d/dmd/objc.h ++++ b/gcc/d/dmd/objc.h +@@ -37,8 +37,8 @@ struct ObjcSelector + + struct ObjcClassDeclaration + { +- d_bool isMeta; +- d_bool isExtern; ++ bool isMeta; ++ bool isExtern; + + Identifier* identifier; + ClassDeclaration* classDeclaration; +@@ -52,7 +52,7 @@ struct ObjcFuncDeclaration + { + ObjcSelector* selector; + VarDeclaration* selectorParameter; +- d_bool isOptional; ++ bool isOptional; + }; + + class Objc +diff --git a/gcc/d/dmd/root/array.d b/gcc/d/dmd/root/array.d +index d1c61be7344..541a12d9e1d 100644 +--- a/gcc/d/dmd/root/array.d ++++ b/gcc/d/dmd/root/array.d +@@ -574,7 +574,7 @@ unittest + private template arraySortWrapper(T, alias fn) + { + pragma(mangle, "arraySortWrapper_" ~ T.mangleof ~ "_" ~ fn.mangleof) +- extern(C) int arraySortWrapper(scope const void* e1, scope const void* e2) ++ extern(C) int arraySortWrapper(scope const void* e1, scope const void* e2) nothrow + { + return fn(cast(const(T*))e1, cast(const(T*))e2); + } +diff --git a/gcc/d/dmd/root/dcompat.h b/gcc/d/dmd/root/dcompat.h +index 1a496880100..0bc23b7a8b3 100644 +--- a/gcc/d/dmd/root/dcompat.h ++++ b/gcc/d/dmd/root/dcompat.h +@@ -36,7 +36,7 @@ struct DString : public DArray + }; + + /// Corresponding C++ type that maps to D size_t +-#if __APPLE__ && (__i386__ || __ppc__) ++#if __APPLE__ && __i386__ + // size_t is 'unsigned long', which makes it mangle differently than D's 'uint' + typedef unsigned d_size_t; + #elif MARS && DMD_VERSION >= 2079 && DMD_VERSION <= 2081 && \ +@@ -49,11 +49,3 @@ typedef unsigned d_size_t; + #else + typedef size_t d_size_t; + #endif +- +-/// Corresponding C++ type that maps to D bool +-#if __APPLE__ && __ppc__ +-// bool is defined as an 'int', which does not match same size as D +-typedef uint8_t d_bool; +-#else +-typedef bool d_bool; +-#endif +diff --git a/gcc/d/dmd/root/optional.h b/gcc/d/dmd/root/optional.h +index 353332c2199..cc2ee79edeb 100644 +--- a/gcc/d/dmd/root/optional.h ++++ b/gcc/d/dmd/root/optional.h +@@ -11,8 +11,6 @@ + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/optional.h + */ + +-#include "dcompat.h" // for d_bool +- + /// Optional type that is either `empty` or contains a value of type `T` + template + struct Optional final +@@ -22,7 +20,7 @@ private: + T value; + + /** whether `value` is set **/ +- d_bool present; ++ bool present; + + public: + /** Creates an `Optional` with the given value **/ +diff --git a/gcc/d/dmd/scope.h b/gcc/d/dmd/scope.h +index da114289850..b25c26afff2 100644 +--- a/gcc/d/dmd/scope.h ++++ b/gcc/d/dmd/scope.h +@@ -81,8 +81,8 @@ struct Scope + ForeachStatement *fes; // if nested function for ForeachStatement, this is it + Scope *callsc; // used for __FUNCTION__, __PRETTY_FUNCTION__ and __MODULE__ + Dsymbol *inunion; // !=null if processing members of a union +- d_bool nofree; // true if shouldn't free it +- d_bool inLoop; // true if inside a loop (where constructor calls aren't allowed) ++ bool nofree; // true if shouldn't free it ++ bool inLoop; // true if inside a loop (where constructor calls aren't allowed) + int intypeof; // in typeof(exp) + VarDeclaration *lastVar; // Previous symbol used to prevent goto-skips-init + +diff --git a/gcc/d/dmd/semantic2.d b/gcc/d/dmd/semantic2.d +index ee268d95251..440e4cbc8e7 100644 +--- a/gcc/d/dmd/semantic2.d ++++ b/gcc/d/dmd/semantic2.d +@@ -807,8 +807,9 @@ private void doGNUABITagSemantic(ref Expression e, ref Expression* lastTag) + // but it's a concession to practicality. + // Casts are unfortunately necessary as `implicitConvTo` is not + // `const` (and nor is `StringExp`, by extension). +- static int predicate(const scope Expression* e1, const scope Expression* e2) ++ static int predicate(const scope Expression* e1, const scope Expression* e2) nothrow + { ++ scope(failure) assert(0, "An exception was thrown"); + return (cast(Expression*)e1).toStringExp().compare((cast(Expression*)e2).toStringExp()); + } + ale.elements.sort!predicate; +diff --git a/gcc/d/dmd/semantic3.d b/gcc/d/dmd/semantic3.d +index a912e768f0c..33a43187fa8 100644 +--- a/gcc/d/dmd/semantic3.d ++++ b/gcc/d/dmd/semantic3.d +@@ -1420,7 +1420,7 @@ private extern(C++) final class Semantic3Visitor : Visitor + * https://issues.dlang.org/show_bug.cgi?id=14246 + */ + AggregateDeclaration ad = ctor.isMemberDecl(); +- if (!ctor.fbody || !ad || !ad.fieldDtor || !global.params.dtorFields || !global.params.useExceptions || ctor.type.toTypeFunction.isnothrow) ++ if (!ctor.fbody || !ad || !ad.fieldDtor || !global.params.dtorFields || global.params.betterC || ctor.type.toTypeFunction.isnothrow) + return visit(cast(FuncDeclaration)ctor); + + /* Generate: +diff --git a/gcc/d/dmd/statement.h b/gcc/d/dmd/statement.h +index 6d1f85b38d9..46cc4dadf64 100644 +--- a/gcc/d/dmd/statement.h ++++ b/gcc/d/dmd/statement.h +@@ -433,7 +433,7 @@ class SwitchStatement final : public Statement + public: + Expression *condition; + Statement *_body; +- d_bool isFinal; ++ bool isFinal; + + DefaultStatement *sdefault; + Statement *tryBody; // set to TryCatchStatement or TryFinallyStatement if in _body portion +@@ -600,11 +600,11 @@ public: + + VarDeclaration *var; + // set if semantic processing errors +- d_bool errors; ++ bool errors; + + // was generated by the compiler, + // wasn't present in source code +- d_bool internalCatch; ++ bool internalCatch; + + Catch *syntaxCopy(); + }; +@@ -616,7 +616,7 @@ public: + Statement *finalbody; + + Statement *tryBody; // set to enclosing TryCatchStatement or TryFinallyStatement if in _body portion +- d_bool bodyFallsThru; // true if _body falls through to finally ++ bool bodyFallsThru; // true if _body falls through to finally + + static TryFinallyStatement *create(const Loc &loc, Statement *body, Statement *finalbody); + TryFinallyStatement *syntaxCopy() override; +@@ -643,7 +643,7 @@ public: + Expression *exp; + // was generated by the compiler, + // wasn't present in source code +- d_bool internalThrow; ++ bool internalThrow; + + ThrowStatement *syntaxCopy() override; + +@@ -668,7 +668,7 @@ public: + TryFinallyStatement *tf; + ScopeGuardStatement *os; + VarDeclaration *lastVar; +- d_bool inCtfeBlock; ++ bool inCtfeBlock; + GotoStatement *syntaxCopy() override; + + void accept(Visitor *v) override { v->visit(this); } +@@ -685,8 +685,8 @@ public: + VarDeclaration *lastVar; + Statement *gotoTarget; // interpret + void* extra; // used by Statement_toIR() +- d_bool breaks; // someone did a 'break ident' +- d_bool inCtfeBlock; ++ bool breaks; // someone did a 'break ident' ++ bool inCtfeBlock; + LabelStatement *syntaxCopy() override; + + void accept(Visitor *v) override { v->visit(this); } +@@ -697,8 +697,8 @@ class LabelDsymbol final : public Dsymbol + public: + LabelStatement *statement; + +- d_bool deleted; // set if rewritten to return in foreach delegate +- d_bool iasm; // set if used by inline assembler ++ bool deleted; // set if rewritten to return in foreach delegate ++ bool iasm; // set if used by inline assembler + + static LabelDsymbol *create(Identifier *ident); + LabelDsymbol *isLabel() override; +@@ -722,8 +722,8 @@ public: + code *asmcode; + unsigned asmalign; // alignment of this statement + unsigned regs; // mask of registers modified (must match regm_t in back end) +- d_bool refparam; // true if function parameter is referenced +- d_bool naked; // true if function is to be naked ++ bool refparam; // true if function parameter is referenced ++ bool naked; // true if function is to be naked + + InlineAsmStatement *syntaxCopy() override; + void accept(Visitor *v) override { v->visit(this); } +diff --git a/gcc/d/dmd/statementsem.d b/gcc/d/dmd/statementsem.d +index 694db28b56c..bbaee8e6152 100644 +--- a/gcc/d/dmd/statementsem.d ++++ b/gcc/d/dmd/statementsem.d +@@ -1941,6 +1941,7 @@ package (dmd) extern (C++) final class StatementSemanticVisitor : Visitor + } + if (checkNonAssignmentArrayOp(ifs.condition)) + ifs.condition = ErrorExp.get(); ++ ifs.condition = checkGC(scd, ifs.condition); + + // Convert to boolean after declaring prm so this works: + // if (S prm = S()) {} +@@ -1952,10 +1953,6 @@ package (dmd) extern (C++) final class StatementSemanticVisitor : Visitor + // This feature allows a limited form of conditional compilation. + ifs.condition = ifs.condition.optimize(WANTvalue); + +- // checkGC after optimizing the condition so that +- // compile time constants are reduced. +- ifs.condition = checkGC(scd, ifs.condition); +- + // Save 'root' of two branches (then and else) at the point where it forks + CtorFlow ctorflow_root = scd.ctorflow.clone(); + +@@ -4528,7 +4525,8 @@ public auto makeTupleForeach(Scope* sc, bool isStatic, bool isDecl, ForeachState + decls.append(Dsymbol.arraySyntaxCopy(dbody)); + else + { +- stmts.push(fs._body.syntaxCopy()); ++ if (fs._body) // https://issues.dlang.org/show_bug.cgi?id=17646 ++ stmts.push(fs._body.syntaxCopy()); + s = new CompoundStatement(loc, stmts); + } + +diff --git a/gcc/d/dmd/target.h b/gcc/d/dmd/target.h +index 561afa18d42..ef2c09d4147 100644 +--- a/gcc/d/dmd/target.h ++++ b/gcc/d/dmd/target.h +@@ -92,11 +92,11 @@ struct TargetCPP + Microsoft, + Sun + }; +- d_bool reverseOverloads; // with dmc and cl, overloaded functions are grouped and in reverse order +- d_bool exceptions; // set if catching C++ exceptions is supported +- d_bool twoDtorInVtable; // target C++ ABI puts deleting and non-deleting destructor into vtable +- d_bool splitVBasetable; // set if C++ ABI uses separate tables for virtual functions and virtual bases +- d_bool wrapDtorInExternD; // set if C++ dtors require a D wrapper to be callable from runtime ++ bool reverseOverloads; // with dmc and cl, overloaded functions are grouped and in reverse order ++ bool exceptions; // set if catching C++ exceptions is supported ++ bool twoDtorInVtable; // target C++ ABI puts deleting and non-deleting destructor into vtable ++ bool splitVBasetable; // set if C++ ABI uses separate tables for virtual functions and virtual bases ++ bool wrapDtorInExternD; // set if C++ dtors require a D wrapper to be callable from runtime + Runtime runtime; + + const char *toMangle(Dsymbol *s); +@@ -110,7 +110,7 @@ struct TargetCPP + + struct TargetObjC + { +- d_bool supported; // set if compiler can interface with Objective-C ++ bool supported; // set if compiler can interface with Objective-C + }; + + struct Target +@@ -156,15 +156,15 @@ struct Target + + DString architectureName; // name of the platform architecture (e.g. X86_64) + CPU cpu; // CPU instruction set to target +- d_bool is64bit; // generate 64 bit code for x86_64; true by default for 64 bit dmd +- d_bool isLP64; // pointers are 64 bits ++ bool is64bit; // generate 64 bit code for x86_64; true by default for 64 bit dmd ++ bool isLP64; // pointers are 64 bits + + // Environmental + DString obj_ext; /// extension for object files + DString lib_ext; /// extension for static library files + DString dll_ext; /// extension for dynamic library files +- d_bool run_noext; /// allow -run sources without extensions +- d_bool omfobj; /// for Win32: write OMF object files instead of COFF ++ bool run_noext; /// allow -run sources without extensions ++ bool omfobj; /// for Win32: write OMF object files instead of COFF + + template + struct FPTypeProperties +diff --git a/gcc/d/dmd/template.h b/gcc/d/dmd/template.h +index 8622b5c6483..12b21207b8e 100644 +--- a/gcc/d/dmd/template.h ++++ b/gcc/d/dmd/template.h +@@ -78,12 +78,12 @@ public: + + Dsymbol *onemember; // if !=NULL then one member of this template + +- d_bool literal; // this template declaration is a literal +- d_bool ismixin; // template declaration is only to be used as a mixin +- d_bool isstatic; // this is static template declaration +- d_bool isTrivialAliasSeq; // matches `template AliasSeq(T...) { alias AliasSeq = T; } +- d_bool isTrivialAlias; // matches pattern `template Alias(T) { alias Alias = qualifiers(T); }` +- d_bool deprecated_; // this template declaration is deprecated ++ bool literal; // this template declaration is a literal ++ bool ismixin; // template declaration is only to be used as a mixin ++ bool isstatic; // this is static template declaration ++ bool isTrivialAliasSeq; // matches `template AliasSeq(T...) { alias AliasSeq = T; } ++ bool isTrivialAlias; // matches pattern `template Alias(T) { alias Alias = qualifiers(T); }` ++ bool deprecated_; // this template declaration is deprecated + Visibility visibility; + + TemplatePrevious *previous; // threaded list of previous instantiation attempts on stack +@@ -133,7 +133,7 @@ public: + * A dependent template parameter should return MATCHexact in matchArg() + * to respect the match level of the corresponding precedent parameter. + */ +- d_bool dependent; ++ bool dependent; + + virtual TemplateTypeParameter *isTemplateTypeParameter(); + virtual TemplateValueParameter *isTemplateValueParameter(); +diff --git a/gcc/d/dmd/visitor.h b/gcc/d/dmd/visitor.h +index ed9f9ce1f6f..f8cbdb48c92 100644 +--- a/gcc/d/dmd/visitor.h ++++ b/gcc/d/dmd/visitor.h +@@ -10,7 +10,6 @@ + #pragma once + + #include "root/dsystem.h" +-#include "root/dcompat.h" // for d_bool + + class Statement; + class ErrorStatement; +@@ -664,6 +663,6 @@ public: + class StoppableVisitor : public Visitor + { + public: +- d_bool stop; ++ bool stop; + StoppableVisitor() : stop(false) {} + }; +diff --git a/gcc/d/expr.cc b/gcc/d/expr.cc +index aeafe433ca5..c6245ff5fc1 100644 +--- a/gcc/d/expr.cc ++++ b/gcc/d/expr.cc +@@ -2701,10 +2701,6 @@ public: + if (tb->ty == TY::Tarray) + ctor = d_array_value (type, size_int (e->elements->length), ctor); + +- /* Immutable literals can be placed in rodata. */ +- if (tb->isImmutable ()) +- TREE_READONLY (decl) = 1; +- + d_pushdecl (decl); + rest_of_decl_compilation (decl, 1, 0); + } +diff --git a/gcc/d/gdc.texi b/gcc/d/gdc.texi +index 6f81967a83d..24b6ee00478 100644 +--- a/gcc/d/gdc.texi ++++ b/gcc/d/gdc.texi +@@ -699,23 +699,6 @@ Do not warn about usage of deprecated features and symbols with + @item -Werror + Turns all warnings into errors. + +-@opindex Wextra +-@opindex Wno-extra +-@item -Wextra +-This enables some extra warning flags that are not enabled by +-@option{-Wall}. +- +-@gccoptlist{-Waddress +--Wcast-result +--Wmismatched-special-enum +--Wunknown-pragmas} +- +-@opindex Wmismatched-special-enum +-@opindex Wno-mismatched-special-enum +-@item -Wmismatched-special-enum +-Warn when an enum the compiler recognizes as special is declared with a +-different size to the built-in type it is representing. +- + @opindex Wspeculative + @opindex Wno-speculative + @item -Wspeculative +diff --git a/gcc/d/implement-d.texi b/gcc/d/implement-d.texi +index 6f33bc192fe..039e5fbd24e 100644 +--- a/gcc/d/implement-d.texi ++++ b/gcc/d/implement-d.texi +@@ -2085,11 +2085,6 @@ for convenience: @code{c_complex_double}, @code{c_complex_float}, + @code{c_complex_real}, @code{cpp_long}, @code{cpp_longlong}, + @code{c_long_double}, @code{cpp_ulong}, @code{cpp_ulonglong}. + +-It may cause undefined behavior at runtime if a special enum is declared with a +-base type that has a different size to the target C/C++ type it is +-representing. The GNU D compiler will catch such declarations and emit a +-warning when the @option{-Wmismatched-special-enum} option is seen on the +-command-line. + + @c -------------------------------------------------------- + +diff --git a/gcc/d/imports.cc b/gcc/d/imports.cc +index 3172b799cb0..2efef4ed54f 100644 +--- a/gcc/d/imports.cc ++++ b/gcc/d/imports.cc +@@ -127,15 +127,6 @@ public: + this->result_ = this->make_import (TYPE_STUB_DECL (type)); + } + +- void visit (VarDeclaration *d) final override +- { +- /* Not all kinds of manifest constants create a CONST_DECL. */ +- if (!d->canTakeAddressOf () && !d->type->isscalar ()) +- return; +- +- visit ((Declaration *) d); +- } +- + /* For now, ignore importing other kinds of dsymbols. */ + void visit (ScopeDsymbol *) final override + { +diff --git a/gcc/d/intrinsics.cc b/gcc/d/intrinsics.cc +index aaf04e50baa..0121d81eb14 100644 +--- a/gcc/d/intrinsics.cc ++++ b/gcc/d/intrinsics.cc +@@ -1007,7 +1007,6 @@ expand_volatile_load (tree callexp) + tree type = build_qualified_type (TREE_TYPE (ptrtype), TYPE_QUAL_VOLATILE); + tree result = indirect_ref (type, ptr); + TREE_THIS_VOLATILE (result) = 1; +- TREE_SIDE_EFFECTS (result) = 1; + + return result; + } +@@ -1035,7 +1034,6 @@ expand_volatile_store (tree callexp) + tree type = build_qualified_type (TREE_TYPE (ptrtype), TYPE_QUAL_VOLATILE); + tree result = indirect_ref (type, ptr); + TREE_THIS_VOLATILE (result) = 1; +- TREE_SIDE_EFFECTS (result) = 1; + + /* (*(volatile T *) ptr) = value; */ + tree value = CALL_EXPR_ARG (callexp, 1); +diff --git a/gcc/d/lang.opt b/gcc/d/lang.opt +index 98a95c1dc38..bb0a3dcc911 100644 +--- a/gcc/d/lang.opt ++++ b/gcc/d/lang.opt +@@ -134,14 +134,6 @@ Werror + D + ; Documented in common.opt + +-Wextra +-D Warning +-; Documented in common.opt +- +-Wmismatched-special-enum +-D Warning Var(warn_mismatched_special_enum) LangEnabledBy(D, Wextra) +-Warn when a special enum is declared with the wrong base type. +- + Wpsabi + D + ; Documented in C +@@ -291,10 +283,6 @@ fdump-d-original + D + Display the frontend AST after parsing and semantic passes. + +-fexceptions +-D +-; Documented in common.opt +- + fextern-std= + D Joined RejectNegative Enum(extern_stdcpp) Var(flag_extern_stdcpp) + -fextern-std= Set C++ name mangling compatibility with . +diff --git a/gcc/d/types.cc b/gcc/d/types.cc +index f19779fec7d..beaf2a61af9 100644 +--- a/gcc/d/types.cc ++++ b/gcc/d/types.cc +@@ -573,35 +573,6 @@ layout_aggregate_type (AggregateDeclaration *decl, tree type, + } + } + +-/* Given a record type TYPE compute the finalized record mode if all fields have +- had their types resolved and sizes determined. */ +- +-void +-finish_aggregate_mode (tree type) +-{ +- for (tree field = TYPE_FIELDS (type); field; field = DECL_CHAIN (field)) +- { +- /* Fields of type `typeof(*null)' have no size, so let them force the +- record type mode to be computed as BLKmode. */ +- if (TYPE_MAIN_VARIANT (TREE_TYPE (field)) == noreturn_type_node) +- break; +- +- if (DECL_SIZE (field) == NULL_TREE) +- return; +- } +- +- compute_record_mode (type); +- +- /* Propagate computed mode to all variants of this aggregate type. */ +- for (tree t = TYPE_MAIN_VARIANT (type); t; t = TYPE_NEXT_VARIANT (t)) +- { +- if (t == type) +- continue; +- +- SET_TYPE_MODE (t, TYPE_MODE (type)); +- } +-} +- + /* If the aggregate type TYPE completes the type of any previous field + declarations, lay them out now. */ + +@@ -625,9 +596,6 @@ finish_incomplete_fields (tree type) + } + + relayout_decl (field); +- +- /* Relayout of field may change the mode of its RECORD_TYPE. */ +- finish_aggregate_mode (DECL_FIELD_CONTEXT (field)); + } + + /* No more forward references to process. */ +@@ -647,6 +615,9 @@ finish_aggregate_type (unsigned structsize, unsigned alignsize, tree type) + SET_TYPE_ALIGN (type, alignsize * BITS_PER_UNIT); + TYPE_PACKED (type) = (alignsize == 1); + ++ /* Set the back-end type mode. */ ++ compute_record_mode (type); ++ + /* Layout all fields now the type is complete. */ + for (tree field = TYPE_FIELDS (type); field; field = DECL_CHAIN (field)) + { +@@ -691,9 +662,6 @@ finish_aggregate_type (unsigned structsize, unsigned alignsize, tree type) + } + } + +- /* Set the back-end type mode after all fields have had their size set. */ +- finish_aggregate_mode (type); +- + /* Fix up all forward-referenced variants of this aggregate type. */ + for (tree t = TYPE_MAIN_VARIANT (type); t; t = TYPE_NEXT_VARIANT (t)) + { +@@ -705,6 +673,7 @@ finish_aggregate_type (unsigned structsize, unsigned alignsize, tree type) + TYPE_SIZE (t) = TYPE_SIZE (type); + TYPE_SIZE_UNIT (t) = TYPE_SIZE_UNIT (type); + TYPE_PACKED (type) = TYPE_PACKED (type); ++ SET_TYPE_MODE (t, TYPE_MODE (type)); + SET_TYPE_ALIGN (t, TYPE_ALIGN (type)); + TYPE_USER_ALIGN (t) = TYPE_USER_ALIGN (type); + } +@@ -1098,21 +1067,6 @@ public: + gcc_assert (underlying != NULL); + + t->ctype = build_variant_type_copy (build_ctype (underlying)); +- +- /* When the size of the declared enum base type doesn't match the target +- C type that this enum is being used as a placeholder for, we can't +- use the generated underlying type as it'll conflict with all sizes +- the front-end has computed during semantic. */ +- if (TYPE_SIZE (t->ctype) != TYPE_SIZE (basetype)) +- { +- warning_at (make_location_t (t->sym->loc), +- OPT_Wmismatched_special_enum, +- "size of %qs (%wd) differ from its declared size (%wd)", +- t->sym->ident->toChars (), int_size_in_bytes (t->ctype), +- int_size_in_bytes (basetype)); +- t->ctype = basetype; +- } +- + build_type_decl (t->ctype, t->sym); + } + else if (t->sym->ident == NULL +diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi +index a4c5fda9e71..ac476801ed8 100644 +--- a/gcc/doc/extend.texi ++++ b/gcc/doc/extend.texi +@@ -13660,7 +13660,7 @@ an extension. @xref{Variable Length}, for details. + + @enddefbuiltin + +-@defbuiltin{{void *} __builtin_alloca_with_align_and_max (size_t size, size_t alignment, size_t max_size)} ++@defbuiltin{{void *}__builtin_alloca_with_align_and_max (size_t size, size_t alignment, size_t max_size)} + Similar to @code{__builtin_alloca_with_align} but takes an extra argument + specifying an upper bound for @var{size} in case its value cannot be computed + at compile time, for use by @option{-fstack-usage}, @option{-Wstack-usage} +@@ -21972,9 +21972,6 @@ Intel Core i7 Rocketlake CPU. + @item graniterapids + Intel Core i7 graniterapids CPU. + +-@item graniterapids-d +-Intel Core i7 graniterapids D CPU. +- + @item bonnell + Intel Atom Bonnell CPU. + +diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi +index b30d3691fe6..928fc6b6d4b 100644 +--- a/gcc/doc/install.texi ++++ b/gcc/doc/install.texi +@@ -382,9 +382,6 @@ tables. + + Used by @command{automake}. + +-If available, enables parallel testing of @samp{libgomp} in case that +-@command{flock} is not available. +- + @end table + + Several support libraries are necessary to build GCC, some are required, +diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi +index de40f62e219..a38547f53e5 100644 +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -1226,8 +1226,7 @@ See RS/6000 and PowerPC Options. + -mbig-endian -mlittle-endian + -mstack-protector-guard=@var{guard} -mstack-protector-guard-reg=@var{reg} + -mstack-protector-guard-offset=@var{offset} +--mcsr-check -mno-csr-check +--minline-atomics -mno-inline-atomics} ++-mcsr-check -mno-csr-check} + + @emph{RL78 Options} + @gccoptlist{-msim -mmul=none -mmul=g13 -mmul=g14 -mallregs +@@ -3782,7 +3781,7 @@ where @code{std::minmax} returns @code{std::pair}, and + both references dangle after the end of the full expression that contains + the call to @code{std::minmax}. + +-This warning is enabled by @option{-Wextra}. ++This warning is enabled by @option{-Wall}. + + @opindex Wdelete-non-virtual-dtor + @opindex Wno-delete-non-virtual-dtor +@@ -4801,12 +4800,10 @@ and Objective-C++ programs: + Use @var{class-name} as the name of the class to instantiate for each + literal string specified with the syntax @code{@@"@dots{}"}. The default + class name is @code{NXConstantString} if the GNU runtime is being used, and +-@code{NSConstantString} if the NeXT runtime is being used (see below). On +-Darwin (macOS, MacOS X) platforms, the @option{-fconstant-cfstrings} option, if +-also present, overrides the @option{-fconstant-string-class} setting and cause +-@code{@@"@dots{}"} literals to be laid out as constant CoreFoundation strings. +-Note that @option{-fconstant-cfstrings} is an alias for the target-specific +-@option{-mconstant-cfstrings} equivalent. ++@code{NSConstantString} if the NeXT runtime is being used (see below). The ++@option{-fconstant-cfstrings} option, if also present, overrides the ++@option{-fconstant-string-class} setting and cause @code{@@"@dots{}"} literals ++to be laid out as constant CoreFoundation strings. + + @opindex fgnu-runtime + @item -fgnu-runtime +@@ -6129,7 +6126,6 @@ name is still supported, but the newer name is more descriptive.) + + @gccoptlist{-Wclobbered + -Wcast-function-type +--Wdangling-reference @r{(C++ only)} + -Wdeprecated-copy @r{(C++ only)} + -Wempty-body + -Wenum-conversion @r{(C only)} +@@ -6982,7 +6978,7 @@ This warning is enabled by @option{-Wall}. + @opindex Wmissing-include-dirs + @opindex Wno-missing-include-dirs + @item -Wmissing-include-dirs @r{(C, C++, Objective-C, Objective-C++ and Fortran only)} +-Warn if a user-supplied include directory does not exist. This option is disabled ++Warn if a user-supplied include directory does not exist. This opions is disabled + by default for C, C++, Objective-C and Objective-C++. For Fortran, it is partially + enabled by default by warning for -I and -J, only. + +@@ -23949,21 +23945,10 @@ This is by default ON@. + @item -gfull + Emit debugging information for all symbols and types. + +-@opindex fconstant-cfstrings +-@item -fconstant-cfstrings +-The @option{-fconstant-cfstrings} is an alias for @option{-mconstant-cfstrings}. +- +-@opindex mconstant-cfstrings +-@item -mconstant-cfstrings +-When the NeXT runtime is being used (the default on these systems), override +-any @option{-fconstant-string-class} setting and cause @code{@@"@dots{}"} +-literals to be laid out as constant CoreFoundation strings. +- +-@opindex mmacosx-version-min + @item -mmacosx-version-min=@var{version} +-The earliest version of MacOS X that this executable will run on is +-@var{version}. Typical values supported for @var{version} include @code{12}, +-@code{10.12}, and @code{10.5.8}. ++The earliest version of MacOS X that this executable will run on ++is @var{version}. Typical values of @var{version} include @code{10.1}, ++@code{10.2}, and @code{10.3.9}. + + If the compiler was built to use the system's headers by default, + then the default for this option is the system version on which the +@@ -29021,13 +29006,6 @@ Do or don't use smaller but slower prologue and epilogue code that uses + library function calls. The default is to use fast inline prologues and + epilogues. + +-@opindex minline-atomics +-@item -minline-atomics +-@itemx -mno-inline-atomics +-Do or don't use smaller but slower subword atomic emulation code that uses +-libatomic function calls. The default is to use fast inline subword atomics +-that do not require libatomic. +- + @opindex mshorten-memrefs + @item -mshorten-memrefs + @itemx -mno-shorten-memrefs +@@ -32388,8 +32366,7 @@ SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, + XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, + MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, + PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, +-AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, ENQCMD and UINTR instruction set +-support. ++AVXIFMA, AVXVNNIINT8, AVXNECONVERT and CMPCCXADD instruction set support. + + @item grandridge + Intel Grand Ridge CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, +@@ -32397,8 +32374,8 @@ SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, + XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, + MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, + PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, +-AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, ENQCMD, UINTR and RAOINT +-instruction set support. ++AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD and RAOINT instruction set ++support. + + @item knl + Intel Knight's Landing CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, +@@ -32502,20 +32479,9 @@ RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, + AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, + AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2, + VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, PCONFIG, WBNOINVD, CLWB, +-MOVDIRI, MOVDIR64B, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, +-UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512-FP16, AVX512BF16, AMX-FP16 +-and PREFETCHI instruction set support. +- +-@item graniterapids-d +-Intel graniterapids D CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, +-SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, +-RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, +-AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, +-AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2, +-VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, PCONFIG, WBNOINVD, CLWB, +-MOVDIRI, MOVDIR64B, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, +-UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512FP16, AVX512BF16, AMX-FP16, +-PREFETCHI and AMX-COMPLEX instruction set support. ++MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, ++SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512-FP16, ++AVX512BF16, AMX-FP16 and PREFETCHI instruction set support. + + @item k6 + AMD K6 CPU with MMX instruction set support. +@@ -34090,7 +34056,7 @@ on x86-64 processors in 64-bit environments. + 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. ++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. +diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi +index cc4a93a8763..07bf8bdebff 100644 +--- a/gcc/doc/md.texi ++++ b/gcc/doc/md.texi +@@ -3535,15 +3535,6 @@ An address that is held in a general-purpose register. + @item S + A constraint that matches an absolute symbolic address. + +-@item vr +-A vector register (if available).. +- +-@item vd +-A vector register, excluding v0 (if available). +- +-@item vm +-A vector register, only v0 (if available). +- + @end table + + @item RX---@file{config/rx/constraints.md} +diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc +index 4ab625498c9..1a0015ce00f 100644 +--- a/gcc/dwarf2out.cc ++++ b/gcc/dwarf2out.cc +@@ -26534,8 +26534,7 @@ process_scope_var (tree stmt, tree decl, tree origin, dw_die_ref context_die) + + if (die != NULL && die->die_parent == NULL) + add_child_die (context_die, die); +- +- if (TREE_CODE (decl_or_origin) == IMPORTED_DECL) ++ else if (TREE_CODE (decl_or_origin) == IMPORTED_DECL) + { + if (early_dwarf) + dwarf2out_imported_module_or_decl_1 (decl_or_origin, DECL_NAME (decl_or_origin), +diff --git a/gcc/fold-const.cc b/gcc/fold-const.cc +index c4e181d3594..3b397ae2941 100644 +--- a/gcc/fold-const.cc ++++ b/gcc/fold-const.cc +@@ -8428,26 +8428,20 @@ native_encode_initializer (tree init, unsigned char *ptr, int len, + if (fieldsize == 0) + continue; + +- /* Prepare to deal with integral bit-fields and filter out other +- bit-fields that do not start and end on a byte boundary. */ + if (DECL_BIT_FIELD (field)) + { + if (!tree_fits_uhwi_p (DECL_FIELD_BIT_OFFSET (field))) + return 0; ++ fieldsize = TYPE_PRECISION (TREE_TYPE (field)); + bpos = tree_to_uhwi (DECL_FIELD_BIT_OFFSET (field)); +- if (INTEGRAL_TYPE_P (TREE_TYPE (field))) +- { +- bpos %= BITS_PER_UNIT; +- fieldsize = TYPE_PRECISION (TREE_TYPE (field)) + bpos; +- epos = fieldsize % BITS_PER_UNIT; +- fieldsize += BITS_PER_UNIT - 1; +- fieldsize /= BITS_PER_UNIT; +- } +- else if (bpos % BITS_PER_UNIT +- || DECL_SIZE (field) == NULL_TREE +- || !tree_fits_shwi_p (DECL_SIZE (field)) +- || tree_to_shwi (DECL_SIZE (field)) % BITS_PER_UNIT) +- return 0; ++ if (bpos % BITS_PER_UNIT) ++ bpos %= BITS_PER_UNIT; ++ else ++ bpos = 0; ++ fieldsize += bpos; ++ epos = fieldsize % BITS_PER_UNIT; ++ fieldsize += BITS_PER_UNIT - 1; ++ fieldsize /= BITS_PER_UNIT; + } + + if (off != -1 && pos + fieldsize <= off) +@@ -8456,8 +8450,7 @@ native_encode_initializer (tree init, unsigned char *ptr, int len, + if (val == NULL_TREE) + continue; + +- if (DECL_BIT_FIELD (field) +- && INTEGRAL_TYPE_P (TREE_TYPE (field))) ++ if (DECL_BIT_FIELD (field)) + { + /* FIXME: Handle PDP endian. */ + if (BYTES_BIG_ENDIAN != WORDS_BIG_ENDIAN) +diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog +index e355e778eb8..272e87dad25 100644 +--- a/gcc/fortran/ChangeLog ++++ b/gcc/fortran/ChangeLog +@@ -1,114 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- +-2023-07-18 Harald Anlauf +- +- Backported from master: +- 2023-07-17 Harald Anlauf +- +- PR fortran/95947 +- PR fortran/110658 +- * trans-expr.cc (gfc_conv_procedure_call): For intrinsic procedures +- whose result characteristics depends on the first argument and which +- can be of type character, the character length will not be deferred. +- +-2023-07-14 Harald Anlauf +- +- Backported from master: +- 2023-07-11 Harald Anlauf +- +- PR fortran/110288 +- * symbol.cc (gfc_copy_formal_args_intr): When deriving the formal +- argument attributes from the actual ones for intrinsic procedure +- calls, take special care of CHARACTER arguments that we do not +- wrongly treat them formally as deferred-length. +- +-2023-07-08 Harald Anlauf +- +- Backported from master: +- 2023-07-08 Harald Anlauf +- +- PR fortran/110585 +- * arith.cc (gfc_compare_expr): Handle equality comparison of constant +- complex gfc_expr arguments. +- +-2023-06-29 Harald Anlauf +- +- Backported from master: +- 2023-06-13 Harald Anlauf +- Mikael Morin +- +- PR fortran/86277 +- * trans-array.cc (gfc_trans_allocate_array_storage): When passing a +- zero-sized array with fixed (= non-dynamic) size, allocate temporary +- by the caller, not by the callee. +- +-2023-06-09 Jakub Jelinek +- +- Backported from master: +- 2023-06-09 Jakub Jelinek +- +- PR fortran/96024 +- * primary.cc (gfc_convert_to_structure_constructor): Only do +- constant string ctor length verification and truncation/padding +- if constant length has INTEGER type. +- +-2023-06-03 Steve Kargl +- +- Backported from master: +- 2023-06-02 Steve Kargl +- +- PR fortran/100607 +- * resolve.cc (resolve_select_rank): Remove duplicate error. +- (resolve_fl_var_and_proc): Prevent NULL pointer dereference and +- suppress error message for temporary. +- +-2023-05-18 Harald Anlauf +- +- Backported from master: +- 2023-05-15 Harald Anlauf +- +- PR fortran/109846 +- * expr.cc (gfc_check_vardef_context): Check appropriate pointer +- attribute for CLASS vs. non-CLASS function result in variable +- definition context. +- +-2023-05-18 Harald Anlauf +- +- Backported from master: +- 2023-05-05 Harald Anlauf +- +- PR fortran/109641 +- * arith.cc (eval_intrinsic): Check conformability of ranks of operands +- for intrinsic binary operators before performing type conversions. +- * gfortran.h (gfc_op_rank_conformable): Add prototype. +- * resolve.cc (resolve_operator): Check conformability of ranks of +- operands for intrinsic binary operators before performing type +- conversions. +- (gfc_op_rank_conformable): New helper function to compare ranks of +- operands of binary operator. +- +-2023-05-05 Julian Brown +- +- Backported from master: +- 2023-05-04 Julian Brown +- +- PR fortran/109622 +- * openmp.cc (resolve_omp_clauses): Add diagnostic for +- non-pointer/non-allocatable attach/detach. +- * trans-openmp.cc (gfc_trans_omp_clauses): Remove dereference for +- pointer-to-scalar derived type component attach/detach. Fix +- attach/detach handling for descriptors. +- +-2023-05-05 Julian Brown +- +- Backported from master: +- 2023-04-28 Julian Brown +- +- PR fortran/109622 +- * trans-openmp.cc (gfc_trans_omp_clauses): Attach/detach clause fixes. +- + 2023-04-26 Release Manager + + * GCC 13.1.0 released. +diff --git a/gcc/fortran/arith.cc b/gcc/fortran/arith.cc +index fcf37d48bfc..ddf9874671c 100644 +--- a/gcc/fortran/arith.cc ++++ b/gcc/fortran/arith.cc +@@ -1120,11 +1120,6 @@ gfc_compare_expr (gfc_expr *op1, gfc_expr *op2, gfc_intrinsic_op op) + || (op1->value.logical && !op2->value.logical)); + break; + +- case BT_COMPLEX: +- gcc_assert (op == INTRINSIC_EQ); +- rc = mpc_cmp (op1->value.complex, op2->value.complex); +- break; +- + default: + gfc_internal_error ("gfc_compare_expr(): Bad basic type"); + } +@@ -1668,12 +1663,6 @@ eval_intrinsic (gfc_intrinsic_op op, + if (!gfc_numeric_ts (&op1->ts) || !gfc_numeric_ts (&op2->ts)) + goto runtime; + +- /* Do not perform conversions if operands are not conformable as +- required for the binary intrinsic operators (F2018:10.1.5). +- Defer to a possibly overloading user-defined operator. */ +- if (!gfc_op_rank_conformable (op1, op2)) +- goto runtime; +- + /* Insert any necessary type conversions to make the operands + compatible. */ + +diff --git a/gcc/fortran/expr.cc b/gcc/fortran/expr.cc +index 9fdbe7a84c5..02028f993fd 100644 +--- a/gcc/fortran/expr.cc ++++ b/gcc/fortran/expr.cc +@@ -6256,7 +6256,7 @@ gfc_check_vardef_context (gfc_expr* e, bool pointer, bool alloc_obj, + && !(sym->attr.flavor == FL_PROCEDURE && sym == sym->result) + && !(sym->attr.flavor == FL_PROCEDURE && sym->attr.proc_pointer) + && !(sym->attr.flavor == FL_PROCEDURE +- && sym->attr.function && attr.pointer)) ++ && sym->attr.function && sym->attr.pointer)) + { + if (context) + gfc_error ("%qs in variable definition context (%s) at %L is not" +diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h +index aba16cf998b..db77d24e8b5 100644 +--- a/gcc/fortran/gfortran.h ++++ b/gcc/fortran/gfortran.h +@@ -3730,7 +3730,6 @@ void gfc_free_association_list (gfc_association_list *); + + /* resolve.cc */ + void gfc_expression_rank (gfc_expr *); +-bool gfc_op_rank_conformable (gfc_expr *, gfc_expr *); + bool gfc_resolve_ref (gfc_expr *); + bool gfc_resolve_expr (gfc_expr *); + void gfc_resolve (gfc_namespace *); +diff --git a/gcc/fortran/openmp.cc b/gcc/fortran/openmp.cc +index 04ba144ecc3..b8b66869908 100644 +--- a/gcc/fortran/openmp.cc ++++ b/gcc/fortran/openmp.cc +@@ -7711,22 +7711,6 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_clauses *omp_clauses, + &n->where); + } + } +- if (openacc +- && list == OMP_LIST_MAP +- && (n->u.map_op == OMP_MAP_ATTACH +- || n->u.map_op == OMP_MAP_DETACH)) +- { +- symbol_attribute attr; +- if (n->expr) +- attr = gfc_expr_attr (n->expr); +- else +- attr = n->sym->attr; +- if (!attr.pointer && !attr.allocatable) +- gfc_error ("%qs clause argument must be ALLOCATABLE or " +- "a POINTER at %L", +- (n->u.map_op == OMP_MAP_ATTACH) ? "attach" +- : "detach", &n->where); +- } + if (lastref + || (n->expr + && (!resolved || n->expr->expr_type != EXPR_VARIABLE))) +diff --git a/gcc/fortran/primary.cc b/gcc/fortran/primary.cc +index 25a2e70cc65..00d35a71770 100644 +--- a/gcc/fortran/primary.cc ++++ b/gcc/fortran/primary.cc +@@ -3188,11 +3188,10 @@ gfc_convert_to_structure_constructor (gfc_expr *e, gfc_symbol *sym, gfc_expr **c + goto cleanup; + + /* For a constant string constructor, make sure the length is +- correct; truncate or fill with blanks if needed. */ ++ 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 +- && this_comp->ts.u.cl->length->ts.type == BT_INTEGER + && actual->expr->ts.type == BT_CHARACTER + && actual->expr->expr_type == EXPR_CONSTANT) + { +diff --git a/gcc/fortran/resolve.cc b/gcc/fortran/resolve.cc +index 417b20637e3..55d8e326a87 100644 +--- a/gcc/fortran/resolve.cc ++++ b/gcc/fortran/resolve.cc +@@ -4200,17 +4200,6 @@ resolve_operator (gfc_expr *e) + case INTRINSIC_POWER: + if (gfc_numeric_ts (&op1->ts) && gfc_numeric_ts (&op2->ts)) + { +- /* Do not perform conversions if operands are not conformable as +- required for the binary intrinsic operators (F2018:10.1.5). +- Defer to a possibly overloading user-defined operator. */ +- if (!gfc_op_rank_conformable (op1, op2)) +- { +- dual_locus_error = true; +- snprintf (msg, sizeof (msg), +- _("Inconsistent ranks for operator at %%L and %%L")); +- goto bad_op; +- } +- + gfc_type_convert_binary (e, 1); + break; + } +@@ -4383,17 +4372,6 @@ resolve_operator (gfc_expr *e) + + if (gfc_numeric_ts (&op1->ts) && gfc_numeric_ts (&op2->ts)) + { +- /* Do not perform conversions if operands are not conformable as +- required for the binary intrinsic operators (F2018:10.1.5). +- Defer to a possibly overloading user-defined operator. */ +- if (!gfc_op_rank_conformable (op1, op2)) +- { +- dual_locus_error = true; +- snprintf (msg, sizeof (msg), +- _("Inconsistent ranks for operator at %%L and %%L")); +- goto bad_op; +- } +- + gfc_type_convert_binary (e, 1); + + e->ts.type = BT_LOGICAL; +@@ -5666,21 +5644,6 @@ done: + } + + +-/* Given two expressions, check that their rank is conformable, i.e. either +- both have the same rank or at least one is a scalar. */ +- +-bool +-gfc_op_rank_conformable (gfc_expr *op1, gfc_expr *op2) +-{ +- if (op1->expr_type == EXPR_VARIABLE) +- gfc_expression_rank (op1); +- if (op2->expr_type == EXPR_VARIABLE) +- gfc_expression_rank (op2); +- +- return (op1->rank == 0 || op2->rank == 0 || op1->rank == op2->rank); +-} +- +- + static void + add_caf_get_intrinsic (gfc_expr *e) + { +@@ -10019,6 +9982,11 @@ resolve_select_rank (gfc_code *code, gfc_namespace *old_ns) + || gfc_expr_attr (code->expr1).pointer)) + gfc_error ("RANK (*) at %L cannot be used with the pointer or " + "allocatable selector at %L", &c->where, &code->expr1->where); ++ ++ if (case_value == -1 && (gfc_expr_attr (code->expr1).allocatable ++ || gfc_expr_attr (code->expr1).pointer)) ++ gfc_error ("RANK (*) at %L cannot be used with the pointer or " ++ "allocatable selector at %L", &c->where, &code->expr1->where); + } + + /* Add EXEC_SELECT to switch on rank. */ +@@ -13241,10 +13209,7 @@ resolve_fl_var_and_proc (gfc_symbol *sym, int mp_flag) + + if (allocatable) + { +- if (dimension +- && as +- && as->type != AS_ASSUMED_RANK +- && !sym->attr.select_rank_temporary) ++ if (dimension && as->type != AS_ASSUMED_RANK) + { + gfc_error ("Allocatable array %qs at %L must have a deferred " + "shape or assumed rank", sym->name, &sym->declared_at); +diff --git a/gcc/fortran/symbol.cc b/gcc/fortran/symbol.cc +index 535e8f1399c..221165d6dac 100644 +--- a/gcc/fortran/symbol.cc ++++ b/gcc/fortran/symbol.cc +@@ -4725,13 +4725,6 @@ gfc_copy_formal_args_intr (gfc_symbol *dest, gfc_intrinsic_sym *src, + formal_arg->sym->attr.flavor = FL_VARIABLE; + formal_arg->sym->attr.dummy = 1; + +- /* Do not treat an actual deferred-length character argument wrongly +- as template for the formal argument. */ +- if (formal_arg->sym->ts.type == BT_CHARACTER +- && !(formal_arg->sym->attr.allocatable +- || formal_arg->sym->attr.pointer)) +- formal_arg->sym->ts.deferred = false; +- + if (formal_arg->sym->ts.type == BT_CHARACTER) + formal_arg->sym->ts.u.cl = gfc_new_charlen (gfc_current_ns, NULL); + +diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc +index e70af03d16d..e1725808033 100644 +--- a/gcc/fortran/trans-array.cc ++++ b/gcc/fortran/trans-array.cc +@@ -1117,7 +1117,7 @@ gfc_trans_allocate_array_storage (stmtblock_t * pre, stmtblock_t * post, + + desc = info->descriptor; + info->offset = gfc_index_zero_node; +- if (size == NULL_TREE || (dynamic && integer_zerop (size))) ++ if (size == NULL_TREE || integer_zerop (size)) + { + /* A callee allocated array. */ + gfc_conv_descriptor_data_set (pre, desc, null_pointer_node); +diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc +index bc9aba982d8..09cdd9263c4 100644 +--- a/gcc/fortran/trans-expr.cc ++++ b/gcc/fortran/trans-expr.cc +@@ -7486,12 +7486,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym, + (and other intrinsics?) and dummy functions. In the case of SPREAD, + we take the character length of the first argument for the result. + For dummies, we have to look through the formal argument list for +- this function and use the character length found there. +- Likewise, we handle the case of deferred-length character dummy +- arguments to intrinsics that determine the characteristics of +- the result, which cannot be deferred-length. */ +- if (expr->value.function.isym) +- ts.deferred = false; ++ this function and use the character length found there.*/ + if (ts.deferred) + cl.backend_decl = gfc_create_var (gfc_charlen_type_node, "slen"); + else if (!sym->attr.dummy) +diff --git a/gcc/fortran/trans-openmp.cc b/gcc/fortran/trans-openmp.cc +index 71dccc57b12..84c0184f48e 100644 +--- a/gcc/fortran/trans-openmp.cc ++++ b/gcc/fortran/trans-openmp.cc +@@ -3388,19 +3388,6 @@ gfc_trans_omp_clauses (stmtblock_t *block, gfc_omp_clauses *clauses, + gfc_add_block_to_block (block, &se.post); + if (pointer || allocatable) + { +- /* If it's a bare attach/detach clause, we just want +- to perform a single attach/detach operation, of the +- pointer itself, not of the pointed-to object. */ +- if (openacc +- && (n->u.map_op == OMP_MAP_ATTACH +- || n->u.map_op == OMP_MAP_DETACH)) +- { +- OMP_CLAUSE_DECL (node) +- = build_fold_addr_expr (OMP_CLAUSE_DECL (node)); +- OMP_CLAUSE_SIZE (node) = size_zero_node; +- goto finalize_map_clause; +- } +- + node2 = build_omp_clause (input_location, + OMP_CLAUSE_MAP); + gomp_map_kind kind +@@ -3471,19 +3458,6 @@ gfc_trans_omp_clauses (stmtblock_t *block, gfc_omp_clauses *clauses, + { + if (pointer || (openacc && allocatable)) + { +- /* If it's a bare attach/detach clause, we just want +- to perform a single attach/detach operation, of the +- pointer itself, not of the pointed-to object. */ +- if (openacc +- && (n->u.map_op == OMP_MAP_ATTACH +- || n->u.map_op == OMP_MAP_DETACH)) +- { +- OMP_CLAUSE_DECL (node) +- = build_fold_addr_expr (inner); +- OMP_CLAUSE_SIZE (node) = size_zero_node; +- goto finalize_map_clause; +- } +- + tree data, size; + + if (lastref->u.c.component->ts.type == BT_CLASS) +@@ -3520,20 +3494,12 @@ gfc_trans_omp_clauses (stmtblock_t *block, gfc_omp_clauses *clauses, + else if (lastref->type == REF_ARRAY + && lastref->u.ar.type == AR_FULL) + { +- /* Bare attach and detach clauses don't want any +- additional nodes. */ +- if ((n->u.map_op == OMP_MAP_ATTACH +- || n->u.map_op == OMP_MAP_DETACH) +- && (POINTER_TYPE_P (TREE_TYPE (inner)) +- || GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (inner)))) ++ /* Just pass the (auto-dereferenced) decl through for ++ bare attach and detach clauses. */ ++ if (n->u.map_op == OMP_MAP_ATTACH ++ || n->u.map_op == OMP_MAP_DETACH) + { +- if (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (inner))) +- { +- tree ptr = gfc_conv_descriptor_data_get (inner); +- OMP_CLAUSE_DECL (node) = ptr; +- } +- else +- OMP_CLAUSE_DECL (node) = inner; ++ OMP_CLAUSE_DECL (node) = inner; + OMP_CLAUSE_SIZE (node) = size_zero_node; + goto finalize_map_clause; + } +diff --git a/gcc/fwprop.cc b/gcc/fwprop.cc +index 0707a234726..ae342f59407 100644 +--- a/gcc/fwprop.cc ++++ b/gcc/fwprop.cc +@@ -25,7 +25,6 @@ along with GCC; see the file COPYING3. If not see + #include "coretypes.h" + #include "backend.h" + #include "rtl.h" +-#include "rtlanal.h" + #include "df.h" + #include "rtl-ssa.h" + +@@ -354,6 +353,21 @@ reg_single_def_p (rtx x) + return REG_P (x) && crtl->ssa->single_dominating_def (REGNO (x)); + } + ++/* Return true if X contains a paradoxical subreg. */ ++ ++static bool ++contains_paradoxical_subreg_p (rtx x) ++{ ++ subrtx_var_iterator::array_type array; ++ FOR_EACH_SUBRTX_VAR (iter, array, x, NONCONST) ++ { ++ x = *iter; ++ if (SUBREG_P (x) && paradoxical_subreg_p (x)) ++ return true; ++ } ++ return false; ++} ++ + /* Try to substitute (set DEST SRC), which defines DEF, into note NOTE of + USE_INSN. Return the number of substitutions on success, otherwise return + -1 and leave USE_INSN unchanged. +diff --git a/gcc/genmatch.cc b/gcc/genmatch.cc +index 98b429a9d0b..4fab4135347 100644 +--- a/gcc/genmatch.cc ++++ b/gcc/genmatch.cc +@@ -2568,8 +2568,7 @@ expr::gen_transform (FILE *f, int indent, const char *dest, bool gimple, + { + fprintf_indent (f, indent, "if (TREE_TYPE (_o%d[0]) != %s)\n", + depth, type); +- fprintf_indent (f, indent + 2, "{\n"); +- indent += 4; ++ indent += 2; + } + if (opr->kind == id_base::CODE) + fprintf_indent (f, indent, "_r%d = fold_build%d_loc (loc, %s, %s", +@@ -2592,8 +2591,7 @@ expr::gen_transform (FILE *f, int indent, const char *dest, bool gimple, + } + if (*opr == CONVERT_EXPR) + { +- fprintf_indent (f, indent - 2, "}\n"); +- indent -= 4; ++ indent -= 2; + fprintf_indent (f, indent, "else\n"); + fprintf_indent (f, indent, " _r%d = _o%d[0];\n", depth, depth); + } +diff --git a/gcc/gimple-fold.cc b/gcc/gimple-fold.cc +index a61bfcee4e7..2b6855d1205 100644 +--- a/gcc/gimple-fold.cc ++++ b/gcc/gimple-fold.cc +@@ -7823,11 +7823,12 @@ get_base_constructor (tree base, poly_int64_pod *bit_offset, + } + } + +-/* CTOR is a CONSTRUCTOR of an array or vector type. Fold a reference of SIZE +- bits to the memory at bit OFFSET. If non-null, TYPE is the expected type of +- the reference; otherwise the type of the referenced element is used instead. +- When SIZE is zero, attempt to fold a reference to the entire element OFFSET +- refers to. Increment *SUBOFF by the bit offset of the accessed element. */ ++/* CTOR is CONSTRUCTOR of an array type. Fold a reference of SIZE bits ++ to the memory at bit OFFSET. When non-null, TYPE is the expected ++ type of the reference; otherwise the type of the referenced element ++ is used instead. When SIZE is zero, attempt to fold a reference to ++ the entire element which OFFSET refers to. Increment *SUBOFF by ++ the bit offset of the accessed element. */ + + static tree + fold_array_ctor_reference (tree type, tree ctor, +@@ -7992,11 +7993,13 @@ fold_array_ctor_reference (tree type, tree ctor, + return type ? build_zero_cst (type) : NULL_TREE; + } + +-/* CTOR is a CONSTRUCTOR of a record or union type. Fold a reference of SIZE +- bits to the memory at bit OFFSET. If non-null, TYPE is the expected type of +- the reference; otherwise the type of the referenced member is used instead. +- When SIZE is zero, attempt to fold a reference to the entire member OFFSET +- refers to. Increment *SUBOFF by the bit offset of the accessed member. */ ++/* CTOR is CONSTRUCTOR of an aggregate or vector. Fold a reference ++ of SIZE bits to the memory at bit OFFSET. When non-null, TYPE ++ is the expected type of the reference; otherwise the type of ++ the referenced member is used instead. When SIZE is zero, ++ attempt to fold a reference to the entire member which OFFSET ++ refers to; in this case. Increment *SUBOFF by the bit offset ++ of the accessed member. */ + + static tree + fold_nonarray_ctor_reference (tree type, tree ctor, +@@ -8008,7 +8011,8 @@ fold_nonarray_ctor_reference (tree type, tree ctor, + unsigned HOST_WIDE_INT cnt; + tree cfield, cval; + +- FOR_EACH_CONSTRUCTOR_ELT (CONSTRUCTOR_ELTS (ctor), cnt, cfield, cval) ++ FOR_EACH_CONSTRUCTOR_ELT (CONSTRUCTOR_ELTS (ctor), cnt, cfield, ++ cval) + { + tree byte_offset = DECL_FIELD_OFFSET (cfield); + tree field_offset = DECL_FIELD_BIT_OFFSET (cfield); +@@ -8080,19 +8084,6 @@ fold_nonarray_ctor_reference (tree type, tree ctor, + return NULL_TREE; + + offset_int inner_offset = offset_int (offset) - bitoffset; +- +- /* Integral bit-fields are left-justified on big-endian targets, so +- we must arrange for native_encode_int to start at their MSB. */ +- if (DECL_BIT_FIELD (cfield) && INTEGRAL_TYPE_P (TREE_TYPE (cfield))) +- { +- if (BYTES_BIG_ENDIAN != WORDS_BIG_ENDIAN) +- return NULL_TREE; +- const unsigned int encoding_size +- = GET_MODE_BITSIZE (SCALAR_INT_TYPE_MODE (TREE_TYPE (cfield))); +- if (BYTES_BIG_ENDIAN) +- inner_offset += encoding_size - wi::to_offset (field_size); +- } +- + return fold_ctor_reference (type, cval, + inner_offset.to_uhwi (), size, + from_decl, suboff); +@@ -8105,7 +8096,7 @@ fold_nonarray_ctor_reference (tree type, tree ctor, + return build_zero_cst (type); + } + +-/* CTOR is a value initializing memory. Fold a reference of TYPE and ++/* CTOR is value initializing memory. Fold a reference of TYPE and + bit size POLY_SIZE to the memory at bit POLY_OFFSET. When POLY_SIZE + is zero, attempt to fold a reference to the entire subobject + which OFFSET refers to. This is used when folding accesses to +@@ -8146,8 +8137,7 @@ fold_ctor_reference (tree type, tree ctor, const poly_uint64 &poly_offset, + } + return ret; + } +- +- /* For constants and byte-aligned/sized reads, try to go through ++ /* For constants and byte-aligned/sized reads try to go through + native_encode/interpret. */ + if (CONSTANT_CLASS_P (ctor) + && BITS_PER_UNIT == 8 +@@ -8163,12 +8153,7 @@ fold_ctor_reference (tree type, tree ctor, const poly_uint64 &poly_offset, + if (len > 0) + return native_interpret_expr (type, buf, len); + } +- +- /* For constructors, try first a recursive local processing, but in any case +- this requires the native storage order. */ +- if (TREE_CODE (ctor) == CONSTRUCTOR +- && !(AGGREGATE_TYPE_P (TREE_TYPE (ctor)) +- && TYPE_REVERSE_STORAGE_ORDER (TREE_TYPE (ctor)))) ++ if (TREE_CODE (ctor) == CONSTRUCTOR) + { + unsigned HOST_WIDE_INT dummy = 0; + if (!suboff) +@@ -8183,9 +8168,9 @@ fold_ctor_reference (tree type, tree ctor, const poly_uint64 &poly_offset, + ret = fold_nonarray_ctor_reference (type, ctor, offset, size, + from_decl, suboff); + +- /* Otherwise fall back to native_encode_initializer. This may be done +- only from the outermost fold_ctor_reference call (because it itself +- recurses into CONSTRUCTORs and doesn't update suboff). */ ++ /* Fall back to native_encode_initializer. Needs to be done ++ only in the outermost fold_ctor_reference call (because it itself ++ recurses into CONSTRUCTORs) and doesn't update suboff. */ + if (ret == NULL_TREE + && suboff == &dummy + && BITS_PER_UNIT == 8 +diff --git a/gcc/gimple-predicate-analysis.cc b/gcc/gimple-predicate-analysis.cc +index 72d14d71c00..094e8c7aff3 100644 +--- a/gcc/gimple-predicate-analysis.cc ++++ b/gcc/gimple-predicate-analysis.cc +@@ -2215,11 +2215,11 @@ uninit_analysis::is_use_guarded (gimple *use_stmt, basic_block use_bb, + return false; + + use_preds.simplify (use_stmt, /*is_use=*/true); +- use_preds.normalize (use_stmt, /*is_use=*/true); + if (use_preds.is_false ()) + return true; + if (use_preds.is_true ()) + return false; ++ use_preds.normalize (use_stmt, /*is_use=*/true); + + /* Try to prune the dead incoming phi edges. */ + if (!overlap (phi, opnds, visited, use_preds)) +@@ -2237,11 +2237,11 @@ uninit_analysis::is_use_guarded (gimple *use_stmt, basic_block use_bb, + return false; + + m_phi_def_preds.simplify (phi); +- m_phi_def_preds.normalize (phi); + if (m_phi_def_preds.is_false ()) + return false; + if (m_phi_def_preds.is_true ()) + return true; ++ m_phi_def_preds.normalize (phi); + } + + /* Return true if the predicate guarding the valid definition (i.e., +diff --git a/gcc/gimplify.cc b/gcc/gimplify.cc +index afaff18ef15..ade6e335da7 100644 +--- a/gcc/gimplify.cc ++++ b/gcc/gimplify.cc +@@ -6915,12 +6915,7 @@ gimplify_asm_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p) + stmt = gimple_build_asm_vec (TREE_STRING_POINTER (ASM_STRING (expr)), + inputs, outputs, clobbers, labels); + +- /* asm is volatile if it was marked by the user as volatile or +- there are no outputs or this is an asm goto. */ +- gimple_asm_set_volatile (stmt, +- ASM_VOLATILE_P (expr) +- || noutputs == 0 +- || labels); ++ gimple_asm_set_volatile (stmt, ASM_VOLATILE_P (expr) || noutputs == 0); + gimple_asm_set_input (stmt, ASM_INPUT_P (expr)); + gimple_asm_set_inline (stmt, ASM_INLINE_P (expr)); + +@@ -7159,10 +7154,8 @@ gimplify_target_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p) + gimplify_and_add (init, &init_pre_p); + + /* Add a clobber for the temporary going out of scope, like +- gimplify_bind_expr. But only if we did not promote the +- temporary to static storage. */ ++ gimplify_bind_expr. */ + if (gimplify_ctxp->in_cleanup_point_expr +- && !TREE_STATIC (temp) + && needs_to_live_in_memory (temp)) + { + if (flag_stack_reuse == SR_ALL) +diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog +index 56454d87a26..a13c960353a 100644 +--- a/gcc/go/ChangeLog ++++ b/gcc/go/ChangeLog +@@ -1,15 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- +-2023-06-28 Paul E. Murphy +- +- Backported from master: +- 2023-06-22 Paul E. Murphy +- +- * go-backend.cc [TARGET_AIX]: Rename and update usage to TARGET_AIX_OS. +- * go-lang.cc: Likewise. +- + 2023-04-26 Release Manager + + * GCC 13.1.0 released. +diff --git a/gcc/go/go-backend.cc b/gcc/go/go-backend.cc +index 6e2c919e829..c6a1a2b7c18 100644 +--- a/gcc/go/go-backend.cc ++++ b/gcc/go/go-backend.cc +@@ -45,8 +45,8 @@ along with GCC; see the file COPYING3. If not see + #define GO_EXPORT_SECTION_NAME ".go_export" + #endif + +-#ifndef TARGET_AIX_OS +-#define TARGET_AIX_OS 0 ++#ifndef TARGET_AIX ++#define TARGET_AIX 0 + #endif + + /* This file holds all the cases where the Go frontend needs +@@ -107,7 +107,7 @@ go_write_export_data (const char *bytes, unsigned int size) + { + gcc_assert (targetm_common.have_named_sections); + sec = get_section (GO_EXPORT_SECTION_NAME, +- TARGET_AIX_OS ? SECTION_EXCLUDE : SECTION_DEBUG, ++ TARGET_AIX ? SECTION_EXCLUDE : SECTION_DEBUG, + NULL); + } + +diff --git a/gcc/go/go-lang.cc b/gcc/go/go-lang.cc +index c6c147b20a5..b6e8c37bf22 100644 +--- a/gcc/go/go-lang.cc ++++ b/gcc/go/go-lang.cc +@@ -39,8 +39,8 @@ along with GCC; see the file COPYING3. If not see + #include "go-c.h" + #include "go-gcc.h" + +-#ifndef TARGET_AIX_OS +-#define TARGET_AIX_OS 0 ++#ifndef TARGET_AIX ++#define TARGET_AIX 0 + #endif + + /* Language-dependent contents of a type. */ +@@ -116,9 +116,9 @@ go_langhook_init (void) + 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.nil_check_size_threshold = TARGET_AIX ? -1 : 4096; + args.debug_optimization = go_debug_optimization; +- args.need_eqtype = TARGET_AIX_OS ? true : false; ++ args.need_eqtype = TARGET_AIX ? true : false; + args.linemap = go_get_linemap(); + args.backend = go_get_backend(); + go_create_gogo (&args); +diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc +index e12a5fc5ed3..4ac55af7433 100644 +--- a/gcc/go/gofrontend/expressions.cc ++++ b/gcc/go/gofrontend/expressions.cc +@@ -12272,8 +12272,7 @@ Call_expression::intrinsify(Gogo* gogo, + return Runtime::make_call(code, loc, 3, a1, a2, a3); + } + } +- else if (package == "internal/abi" +- || package == "bootstrap/internal/abi") // for bootstrapping gc ++ else if (package == "internal/abi") + { + if (is_method) + return NULL; +diff --git a/gcc/go/gofrontend/gogo.cc b/gcc/go/gofrontend/gogo.cc +index 980db1ea07e..9197eef3e38 100644 +--- a/gcc/go/gofrontend/gogo.cc ++++ b/gcc/go/gofrontend/gogo.cc +@@ -3296,9 +3296,6 @@ class Create_function_descriptors : public Traverse + int + expression(Expression**); + +- static bool +- skip_descriptor(Gogo* gogo, const Named_object*); +- + private: + Gogo* gogo_; + }; +@@ -3309,9 +3306,6 @@ class Create_function_descriptors : public Traverse + int + Create_function_descriptors::function(Named_object* no) + { +- if (Create_function_descriptors::skip_descriptor(this->gogo_, no)) +- return TRAVERSE_CONTINUE; +- + if (no->is_function() + && no->func_value()->enclosing() == NULL + && !no->func_value()->is_method() +@@ -3399,28 +3393,6 @@ Create_function_descriptors::expression(Expression** pexpr) + return TRAVERSE_CONTINUE; + } + +-// The gc compiler has some special cases that it always compiles as +-// intrinsics. For those we don't want to generate a function +-// descriptor, as there will be no code for it to refer to. +- +-bool +-Create_function_descriptors::skip_descriptor(Gogo* gogo, +- const Named_object* no) +-{ +- const std::string& pkgpath(no->package() == NULL +- ? gogo->pkgpath() +- : no->package()->pkgpath()); +- +- // internal/abi is the standard library package, +- // bootstrap/internal/abi is the name used when bootstrapping the gc +- // compiler. +- +- return ((pkgpath == "internal/abi" +- || pkgpath == "bootstrap/internal/abi") +- && (no->name() == "FuncPCABI0" +- || no->name() == "FuncPCABIInternal")); +-} +- + // Create function descriptors as needed. We need a function + // descriptor for all exported functions and for all functions that + // are referenced without being called. +@@ -3442,8 +3414,7 @@ Gogo::create_function_descriptors() + if (no->is_function_declaration() + && !no->func_declaration_value()->type()->is_method() + && !Linemap::is_predeclared_location(no->location()) +- && !Gogo::is_hidden_name(no->name()) +- && !Create_function_descriptors::skip_descriptor(this, no)) ++ && !Gogo::is_hidden_name(no->name())) + fndecls.push_back(no); + } + for (std::vector::const_iterator p = fndecls.begin(); +diff --git a/gcc/ipa-sra.cc b/gcc/ipa-sra.cc +index a3db19b7a6f..7b8260bc9e1 100644 +--- a/gcc/ipa-sra.cc ++++ b/gcc/ipa-sra.cc +@@ -3074,8 +3074,6 @@ struct caller_issues + cgraph_node *candidate; + /* There is a thunk among callers. */ + bool thunk; +- /* Set if there is at least one caller that is OK. */ +- bool there_is_one; + /* Call site with no available information. */ + bool unknown_callsite; + /* Call from outside the candidate's comdat group. */ +@@ -3118,8 +3116,6 @@ check_for_caller_issues (struct cgraph_node *node, void *data) + + if (csum->m_bit_aligned_arg) + issues->bit_aligned_aggregate_argument = true; +- +- issues->there_is_one = true; + } + return false; + } +@@ -3174,13 +3170,6 @@ check_all_callers_for_issues (cgraph_node *node) + for (unsigned i = 0; i < param_count; i++) + (*ifs->m_parameters)[i].split_candidate = false; + } +- if (!issues.there_is_one) +- { +- if (dump_file && (dump_flags & TDF_DETAILS)) +- fprintf (dump_file, "There is no call to %s that we can modify. " +- "Disabling all modifications.\n", node->dump_name ()); +- return true; +- } + return false; + } + +diff --git a/gcc/ira-costs.cc b/gcc/ira-costs.cc +index bdb1356af91..c0fdef807dd 100644 +--- a/gcc/ira-costs.cc ++++ b/gcc/ira-costs.cc +@@ -2009,16 +2009,6 @@ find_costs_and_classes (FILE *dump_file) + ira_assert (regno_aclass[i] != NO_REGS + && ira_reg_allocno_class_p[regno_aclass[i]]); + } +- if (pic_offset_table_rtx != NULL +- && i == (int) REGNO (pic_offset_table_rtx)) +- { +- /* For some targets, integer pseudos can be assigned to fp +- regs. As we don't want reload pic offset table pseudo, we +- should avoid using non-integer regs. */ +- regno_aclass[i] +- = ira_reg_class_intersect[regno_aclass[i]][GENERAL_REGS]; +- alt_class = ira_reg_class_intersect[alt_class][GENERAL_REGS]; +- } + if ((new_class + = (reg_class) (targetm.ira_change_pseudo_allocno_class + (i, regno_aclass[i], best))) != regno_aclass[i]) +diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog +index b48d99ecd04..e5f31fd4386 100644 +--- a/gcc/jit/ChangeLog ++++ b/gcc/jit/ChangeLog +@@ -1,7 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- + 2023-04-26 Release Manager + + * GCC 13.1.0 released. +diff --git a/gcc/lto-cgraph.cc b/gcc/lto-cgraph.cc +index aed5e9ddb18..805c7855eb3 100644 +--- a/gcc/lto-cgraph.cc ++++ b/gcc/lto-cgraph.cc +@@ -1020,7 +1020,7 @@ output_symtab (void) + When doing WPA we must output every asm just once. Since we do not partition asm + nodes at all, output them to first output. This is kind of hack, but should work + well. */ +- if (!asm_nodes_output && !lto_stream_offload_p) ++ if (!asm_nodes_output) + { + asm_nodes_output = true; + lto_output_toplevel_asms (); +diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog +index 6f9fd8af171..42648bcd398 100644 +--- a/gcc/lto/ChangeLog ++++ b/gcc/lto/ChangeLog +@@ -1,7 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- + 2023-04-26 Release Manager + + * GCC 13.1.0 released. +diff --git a/gcc/m2/ChangeLog b/gcc/m2/ChangeLog +index dba9f0bac0e..5112318143e 100644 +--- a/gcc/m2/ChangeLog ++++ b/gcc/m2/ChangeLog +@@ -1,16 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- +-2023-07-03 Iain Sandoe +- +- Backported from master: +- 2023-06-30 Iain Sandoe +- +- PR testsuite/108835 +- * gm2-libs/RTint.mod: Do not use NIL timeout setting on select, +- test failures sequentially, finishing on the first success. +- + 2023-04-26 Release Manager + + * GCC 13.1.0 released. +diff --git a/gcc/m2/gm2-libs/RTint.mod b/gcc/m2/gm2-libs/RTint.mod +index 8b967b553ff..b3b8737a9f5 100644 +--- a/gcc/m2/gm2-libs/RTint.mod ++++ b/gcc/m2/gm2-libs/RTint.mod +@@ -441,10 +441,6 @@ END ExcludeVector ; + + PROCEDURE AddFd (VAR set: SetOfFd; VAR max: INTEGER; fd: INTEGER) ; + BEGIN +- IF (fd<0) +- THEN +- RETURN +- END ; + max := Max (fd, max) ; + IF set = NIL + THEN +@@ -671,7 +667,6 @@ PROCEDURE Listen (untilInterrupt: BOOLEAN; + VAR + found : BOOLEAN ; + result : INTEGER ; +- zero, + after, + b4, + timeval: Timeval ; +@@ -727,14 +722,14 @@ BEGIN + THEN + SetTime (timeval, 0, 0) + END ; +- IF untilInterrupt AND (((inSet=NIL) AND (outSet=NIL)) OR (maxFd=-1)) AND (NOT found) ++ IF untilInterrupt AND (inSet=NIL) AND (outSet=NIL) AND (NOT found) + THEN + Halt ('deadlock found, no more processes to run and no interrupts active', + __FILE__, __FUNCTION__, __LINE__) + END ; + (* printf('timeval = 0x%x\n', timeval) ; *) + (* printf('}\n') ; *) +- IF (NOT found) AND (maxFd=-1) ++ IF (NOT found) AND (maxFd=-1) AND (inSet=NIL) AND (outSet=NIL) + THEN + (* no file descriptors to be selected upon. *) + timeval := KillTime (timeval) ; +@@ -743,7 +738,6 @@ BEGIN + ELSE + GetTime (timeval, sec, micro) ; + Assert (micro < Microseconds) ; +- zero := InitTime (0, 0) ; + b4 := InitTime (0, 0) ; + after := InitTime (0, 0) ; + result := GetTimeOfDay (b4) ; +@@ -760,54 +754,26 @@ BEGIN + THEN + printf ("select (.., .., .., %u.%06u)\n", sec, micro) + END ; +- IF maxFd<0 +- THEN +- result := select (0, NIL, NIL, NIL, timeval) +- ELSE +- result := select (maxFd+1, inSet, outSet, NIL, timeval) +- END ; ++ result := select (maxFd+1, inSet, outSet, NIL, timeval) ; + IF result=-1 + THEN +- IF Debugging ++ perror ("select") ; ++ result := select (maxFd+1, inSet, outSet, NIL, NIL) ; ++ IF result=-1 + THEN +- perror ("select failed : ") ; ++ perror ("select timeout argument is faulty") + END ; +- result := select (maxFd+1, inSet, outSet, NIL, zero) ; +- IF result#-1 ++ result := select (maxFd+1, inSet, NIL, NIL, timeval) ; ++ IF result=-1 + THEN +- GetTime (timeval, sec, micro) ; +- IF Debugging +- THEN +- printf ("(nfds : %d timeval: %u.%06u) : \n", maxFd, sec, micro) ; +- END ; +- perror ("select timeout argument was faulty : ") ++ perror ("select output fd argument is faulty") ++ END ; ++ result := select (maxFd+1, NIL, outSet, NIL, timeval) ; ++ IF result=-1 ++ THEN ++ perror ("select input fd argument is faulty") + ELSE +- result := select (maxFd+1, inSet, NIL, NIL, timeval) ; +- IF result#-1 +- THEN +- perror ("select output fd argument was faulty : ") +- ELSE +- result := select (maxFd+1, NIL, outSet, NIL, timeval) ; +- IF result#-1 +- THEN +- perror ("select input fd argument was faulty : ") +- ELSE +- IF maxFd=-1 +- THEN +- result := select (0, NIL, NIL, NIL, timeval) ; +- IF result=-1 +- THEN +- IF Debugging +- THEN +- perror ("select does not accept nfds == 0 ") ; +- END ; +- result := 0 +- END +- ELSE +- perror ("select maxFD+1 argument was faulty : ") ; +- END +- END +- END ++ perror ("select maxFD+1 argument is faulty") + END + END + UNTIL result#-1 +@@ -819,10 +785,6 @@ BEGIN + THEN + timeval := KillTime (timeval) + END ; +- IF zero#NIL +- THEN +- zero := KillTime (zero) +- END ; + IF after#NIL + THEN + after := KillTime (after) +diff --git a/gcc/match.pd b/gcc/match.pd +index 91182448250..1410ecdf73d 100644 +--- a/gcc/match.pd ++++ b/gcc/match.pd +@@ -1853,7 +1853,7 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + /* (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2) */ + (simplify + (bit_and (bit_ior @0 CONSTANT_CLASS_P@1) CONSTANT_CLASS_P@2) +- (bit_ior (bit_and @0 @2) (bit_and! @1 @2))) ++ (bit_ior (bit_and @0 @2) (bit_and @1 @2))) + + /* Combine successive equal operations with constants. */ + (for bitop (bit_and bit_ior bit_xor) +@@ -1862,7 +1862,7 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + (if (!CONSTANT_CLASS_P (@0)) + /* This is the canonical form regardless of whether (bitop @1 @2) can be + folded to a constant. */ +- (bitop @0 (bitop! @1 @2)) ++ (bitop @0 (bitop @1 @2)) + /* In this case we have three constants and (bitop @0 @1) doesn't fold + to a constant. This can happen if @0 or @1 is a POLY_INT_CST and if + the values involved are such that the operation can't be decided at +@@ -1922,15 +1922,9 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + + (match zero_one_valued_p + @0 +- (if (INTEGRAL_TYPE_P (type) +- && (TYPE_UNSIGNED (type) +- || TYPE_PRECISION (type) > 1) +- && tree_nonzero_bits (@0) == 1))) ++ (if (INTEGRAL_TYPE_P (type) && tree_nonzero_bits (@0) == 1))) + (match zero_one_valued_p +- truth_valued_p@0 +- (if (INTEGRAL_TYPE_P (type) +- && (TYPE_UNSIGNED (type) +- || TYPE_PRECISION (type) > 1)))) ++ truth_valued_p@0) + + /* Transform { 0 or 1 } * { 0 or 1 } into { 0 or 1 } & { 0 or 1 }. */ + (simplify +@@ -2929,13 +2923,13 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + forever if something doesn't simplify into a constant. */ + (if (!CONSTANT_CLASS_P (@0)) + (if (outer_op == PLUS_EXPR) +- (plus (view_convert @0) (inner_op! @2 (view_convert @1))) +- (minus (view_convert @0) (neg_inner_op! @2 (view_convert @1))))) ++ (plus (view_convert @0) (inner_op @2 (view_convert @1))) ++ (minus (view_convert @0) (neg_inner_op @2 (view_convert @1))))) + (if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0)) + || TYPE_OVERFLOW_WRAPS (TREE_TYPE (@0))) + (if (outer_op == PLUS_EXPR) +- (view_convert (plus @0 (inner_op! (view_convert @2) @1))) +- (view_convert (minus @0 (neg_inner_op! (view_convert @2) @1)))) ++ (view_convert (plus @0 (inner_op (view_convert @2) @1))) ++ (view_convert (minus @0 (neg_inner_op (view_convert @2) @1)))) + /* If the constant operation overflows we cannot do the transform + directly as we would introduce undefined overflow, for example + with (a - 1) + INT_MIN. */ +@@ -2966,10 +2960,10 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + /* If all 3 captures are CONSTANT_CLASS_P, punt, as we might recurse + forever if something doesn't simplify into a constant. */ + (if (!CONSTANT_CLASS_P (@0)) +- (minus (outer_op! (view_convert @1) @2) (view_convert @0))) ++ (minus (outer_op (view_convert @1) @2) (view_convert @0))) + (if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0)) + || TYPE_OVERFLOW_WRAPS (TREE_TYPE (@0))) +- (view_convert (minus (outer_op! @1 (view_convert @2)) @0)) ++ (view_convert (minus (outer_op @1 (view_convert @2)) @0)) + (if (types_match (type, @0) && !TYPE_OVERFLOW_SANITIZED (type)) + (with { tree cst = const_binop (outer_op, type, @1, @2); } + (if (cst && !TREE_OVERFLOW (cst)) +@@ -2985,10 +2979,10 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + /* If all 3 captures are CONSTANT_CLASS_P, punt, as we might recurse + forever if something doesn't simplify into a constant. */ + (if (!CONSTANT_CLASS_P (@0)) +- (plus (view_convert @0) (minus! @1 (view_convert @2)))) ++ (plus (view_convert @0) (minus @1 (view_convert @2)))) + (if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0)) + || TYPE_OVERFLOW_WRAPS (TREE_TYPE (@0))) +- (view_convert (plus @0 (minus! (view_convert @1) @2))) ++ (view_convert (plus @0 (minus (view_convert @1) @2))) + (if (types_match (type, @0) && !TYPE_OVERFLOW_SANITIZED (type)) + (with { tree cst = const_binop (MINUS_EXPR, type, @1, @2); } + (if (cst && !TREE_OVERFLOW (cst)) +@@ -4067,19 +4061,19 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + int inside_ptr = POINTER_TYPE_P (inside_type); + int inside_float = FLOAT_TYPE_P (inside_type); + int inside_vec = VECTOR_TYPE_P (inside_type); +- unsigned int inside_prec = element_precision (inside_type); ++ unsigned int inside_prec = TYPE_PRECISION (inside_type); + int inside_unsignedp = TYPE_UNSIGNED (inside_type); + int inter_int = INTEGRAL_TYPE_P (inter_type); + int inter_ptr = POINTER_TYPE_P (inter_type); + int inter_float = FLOAT_TYPE_P (inter_type); + int inter_vec = VECTOR_TYPE_P (inter_type); +- unsigned int inter_prec = element_precision (inter_type); ++ unsigned int inter_prec = TYPE_PRECISION (inter_type); + int inter_unsignedp = TYPE_UNSIGNED (inter_type); + int final_int = INTEGRAL_TYPE_P (type); + int final_ptr = POINTER_TYPE_P (type); + int final_float = FLOAT_TYPE_P (type); + int final_vec = VECTOR_TYPE_P (type); +- unsigned int final_prec = element_precision (type); ++ unsigned int final_prec = TYPE_PRECISION (type); + int final_unsignedp = TYPE_UNSIGNED (type); + } + (switch +diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog +index ebfd413a60c..88c236dcad8 100644 +--- a/gcc/objc/ChangeLog ++++ b/gcc/objc/ChangeLog +@@ -1,7 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- + 2023-04-26 Release Manager + + * GCC 13.1.0 released. +diff --git a/gcc/objcp/ChangeLog b/gcc/objcp/ChangeLog +index 2700d8bfb1c..10e844c3d72 100644 +--- a/gcc/objcp/ChangeLog ++++ b/gcc/objcp/ChangeLog +@@ -1,7 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- + 2023-04-26 Release Manager + + * GCC 13.1.0 released. +diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog +index 7c2659551aa..2a5c36b1583 100644 +--- a/gcc/po/ChangeLog ++++ b/gcc/po/ChangeLog +@@ -1,33 +1,3 @@ +-2023-07-27 Release Manager +- +- * GCC 13.2.0 released. +- +-2023-07-26 Joseph Myers +- +- * uk.po: Update. +- +-2023-07-26 Joseph Myers +- +- * gcc.pot: Regenerate. +- +-2023-07-25 Joseph Myers +- +- * uk.po: Update. +- +-2023-07-21 Joseph Myers +- +- * hr.po: Update. +- +-2023-05-09 Joseph Myers +- +- * hr.po: Update. +- +-2023-04-27 Joseph Myers +- +- * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po, +- ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po, +- zh_TW.po: Update. +- + 2023-04-26 Release Manager + + * GCC 13.1.0 released. +diff --git a/gcc/po/be.po b/gcc/po/be.po +index 18388ee2845..fad46be32f1 100644 +--- a/gcc/po/be.po ++++ b/gcc/po/be.po +@@ -6,7 +6,7 @@ msgid "" + msgstr "" + "Project-Id-Version: gcc 3.1\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" + "PO-Revision-Date: 2002-05-17 15:54+0200\n" + "Last-Translator: Ales Nyakhaychyk \n" + "Language-Team: Belarusian \n" +@@ -4049,7 +4049,7 @@ msgstr "" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "" + + #: m2/lang.opt:127 +@@ -7756,11 +7756,6 @@ msgstr "" + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "" + +-#: config/i386/i386.opt:1280 +-#, no-c-format +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "" +- + #: config/pa/pa64-hpux.opt:23 + #, no-c-format + msgid "Assume code will be linked by GNU ld." +@@ -17435,12 +17430,12 @@ msgstr "" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +@@ -18504,110 +18499,110 @@ msgstr "" + msgid "Uses of this option are diagnosed." + msgstr "" + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "" + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, c-format + msgid "Same as %s%s." + msgstr "" + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, c-format + msgid "Same as %s." + msgstr "" + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, c-format + msgid "%s Same as %s." + msgstr "" + +-#: opts.cc:1733 ++#: opts.cc:1732 + msgid "[available in " + msgstr "" + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, c-format + msgid "%llu bytes" + msgstr "" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr "" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr "" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr "" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, fuzzy, c-format + msgid "" + " Known valid arguments for %s option:\n" + " " + msgstr "нявернае выкарыстанне \"restict\"" + +-#: opts.cc:1959 ++#: opts.cc:1958 + msgid "The following options are target specific" + msgstr "" + +-#: opts.cc:1962 ++#: opts.cc:1961 + msgid "The following options control compiler warning messages" + msgstr "" + +-#: opts.cc:1965 ++#: opts.cc:1964 + msgid "The following options control optimizations" + msgstr "" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + msgid "The following options are language-independent" + msgstr "" + +-#: opts.cc:1971 ++#: opts.cc:1970 + msgid "The following options control parameters" + msgstr "" + +-#: opts.cc:1977 ++#: opts.cc:1976 + msgid "The following options are specific to just the language " + msgstr "" + +-#: opts.cc:1979 ++#: opts.cc:1978 + msgid "The following options are supported by the language " + msgstr "" + +-#: opts.cc:1990 ++#: opts.cc:1989 + msgid "The following options are not documented" + msgstr "" + +-#: opts.cc:1992 ++#: opts.cc:1991 + msgid "The following options take separate arguments" + msgstr "" + +-#: opts.cc:1994 ++#: opts.cc:1993 + msgid "The following options take joined arguments" + msgstr "" + +-#: opts.cc:2006 ++#: opts.cc:2005 + msgid "The following options are language-related" + msgstr "" + +@@ -19033,76 +19028,76 @@ msgstr "" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, fuzzy, c-format + msgid "unsupported operand for code '%c'" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, fuzzy, c-format + msgid "invalid operand for '%%%c'" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, fuzzy, c-format + #| msgid "invalid string constant `%E'" + msgid "invalid vector constant" + msgstr "`%E' - нерэчаісная нязьменная тыпу string" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, fuzzy, c-format + #| msgid "invalid register name for `%s'" + msgid "incompatible register operand for '%%%c'" + msgstr "нерэчаісная назва рэгістра `%s'" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, fuzzy, c-format + msgid "missing operand" + msgstr "прапушчан ініцыялізатар" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, fuzzy, c-format + msgid "invalid constant" + msgstr "Нерэчаісны выбар %s" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, fuzzy, c-format + #| msgid "invalid %%d operand" + msgid "invalid operand" + msgstr "нерэчаісны %%d аперанд" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, fuzzy, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, fuzzy, c-format + #| msgid "invalid address" + msgid "invalid address mode" + msgstr "нерэчаісны адрас" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "" +@@ -19119,18 +19114,18 @@ msgid "invalid %%r value" + msgstr "нерэчаіснае значэньне %%r" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "нерэчаіснае значэньне %%R" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "нерэчаіснае значэньне %%N" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" + msgstr "нерэчаіснае значэньне %%P" +@@ -19160,7 +19155,7 @@ msgstr "нерэчаіснае значэньне %%M" + msgid "invalid %%U value" + msgstr "нерэчаіснае значэньне %%U" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" + msgstr "нерэчаіснае значэньне %%v" +@@ -19170,7 +19165,7 @@ msgstr "нерэчаіснае значэньне %%v" + msgid "invalid %%C value" + msgstr "нерэчаіснае значэньне %%C" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" + msgstr "нерэчаіснае значэньне %%E" +@@ -19183,7 +19178,7 @@ msgstr "" + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" + msgstr "нерэчаіснае значэньне %%xn" +@@ -19268,36 +19263,36 @@ msgstr "нерэчаісны %%-код" + msgid "unrecognized supposed constant" + msgstr "нераспазнаны выбар \"-%s\"" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, fuzzy, c-format + #| msgid "invalid %%f operand" + msgid "invalid shift operand" + msgstr "нерэчаісны %%f аперанд" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, fuzzy, c-format + msgid "predicated Thumb instruction" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, fuzzy, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -19306,26 +19301,26 @@ msgstr "Нерэчаісны выбар \"%s\"" + msgid "invalid operand for code '%c'" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, c-format + msgid "instruction never executed" + msgstr "" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + msgid "invalid conversion from type %" + msgstr "" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + msgid "invalid conversion to type %" + msgstr "" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "" + +@@ -19704,100 +19699,100 @@ msgstr "`%E' - нерэчаісная нязьменная тыпу string" + msgid "Expected register or constant integer." + msgstr "" + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, c-format + msgid "invalid UNSPEC as operand" + msgstr "" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, fuzzy, c-format + #| msgid "invalid use of `restrict'" + msgid "invalid use of register '%s'" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, fuzzy, c-format + #| msgid "invalid use of `restrict'" + msgid "invalid use of asm flag output" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, fuzzy, c-format + msgid "invalid operand size for operand code 'O'" + msgstr "нерэчаісны %%-код" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, fuzzy, c-format + msgid "invalid operand size for operand code 'z'" + msgstr "нерэчаісны %%-код" + +-#: config/i386/i386.cc:13290 ++#: config/i386/i386.cc:13283 + #, fuzzy, c-format +-msgid "invalid operand type used with operand code '%c'" +-msgstr "Нерэчаісны выбар \"%s\"" ++msgid "invalid operand type used with operand code 'Z'" ++msgstr "нерэчаісны %%-код" + +-#: config/i386/i386.cc:13295 ++#: config/i386/i386.cc:13288 + #, fuzzy, c-format +-msgid "invalid operand size for operand code '%c'" +-msgstr "Нерэчаісны выбар \"%s\"" ++msgid "invalid operand size for operand code 'Z'" ++msgstr "нерэчаісны %%-код" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, c-format + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, c-format + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, c-format + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, c-format + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, c-format + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, c-format + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, fuzzy, c-format + msgid "invalid operand code '%c'" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, fuzzy, c-format + #| msgid "invalid %%c operand" + msgid "invalid constraints for operand" + msgstr "нерэчаісны %%c аперанд" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, fuzzy, c-format + msgid "invalid vector immediate" + msgstr "нерэчаісны ініцыялізатар" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + #, fuzzy + msgid "unknown insn mode" + msgstr "невядомы рэжым машыны \"%s\"" +@@ -19834,7 +19829,7 @@ msgstr "нерэчаісны %%-код" + msgid "invalid %%P operand" + msgstr "нерэчаісны %%-код" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" + msgstr "" +@@ -19881,8 +19876,8 @@ msgstr "\"%s\" - гэта не пачатак дэкларацыі" + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, fuzzy, c-format + #| msgid "invalid use of `%D'" + msgid "invalid use of '%%%c'" +@@ -19915,7 +19910,7 @@ msgid "post-increment address is not a register" + msgstr "" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" + msgstr "дрэнны адрас" + +@@ -20086,7 +20081,7 @@ msgstr "нераспазнаны адрас" + msgid "unsupported memory expression:" + msgstr "непадтрымліваемая версія" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, fuzzy, c-format + #| msgid "invalid %%c operand" + msgid "invalid vector operand" +@@ -20141,150 +20136,150 @@ msgstr "" + msgid "bad move" + msgstr "" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" + msgstr "" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, fuzzy, c-format + #| msgid "invalid %%Q value" + msgid "invalid %%A value" + msgstr "дрэннае %%Q значэнне" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, fuzzy, c-format + msgid "invalid %%D value" + msgstr "дрэннае %%Q значэнне" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, fuzzy, c-format + #| msgid "invalid %%Q value" + msgid "invalid %%e value" + msgstr "дрэннае %%Q значэнне" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" + msgstr "" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" + msgstr "" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" + msgstr "нерэчаіснае значэньне %%O" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, fuzzy, c-format + #| msgid "invalid %%Q value" + msgid "invalid %%t value" + msgstr "дрэннае %%Q значэнне" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, c-format + msgid "invalid %%V value" + msgstr "нерэчаіснае значэньне %%V" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, fuzzy, c-format + #| msgid "invalid %%x/X value" + msgid "invalid %%x value" + msgstr "нерэчаіснае значэньне %%x/X" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, c-format + msgid "invalid %%z value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, fuzzy, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "" + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + #, fuzzy + #| msgid "too few arguments to function" + msgid "AltiVec argument passed to unprototyped function" + msgstr "не хапае аргументаў у функцыі" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + #, fuzzy + msgid "Could not generate addis value for fusion" + msgstr "Стварыць код для DLL" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + msgid "Unable to generate load/store offset for fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + msgid "invalid conversion to type %<__vector_pair%>" + msgstr "" + +@@ -20747,7 +20742,7 @@ msgstr "" + msgid " after user-defined conversion:" + msgstr "" + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + msgid "candidate is:" + msgid_plural "candidates are:" + msgstr[0] "" +@@ -21245,7 +21240,7 @@ msgstr "" + msgid "Driving:" + msgstr "увага:" + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + msgid "actual argument to INTENT = OUT/INOUT" + msgstr "" + +@@ -21411,11 +21406,11 @@ msgstr "" + msgid "implied END DO" + msgstr "" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + msgid "assignment" + msgstr "" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + msgid "pointer assignment" + msgstr "" + +@@ -21423,219 +21418,219 @@ msgstr "" + msgid "simple IF" + msgstr "" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + msgid "elemental procedure" + msgstr "" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + #, fuzzy + #| msgid "no arguments" + msgid "allocatable argument" + msgstr "няма аргументаў" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + #, fuzzy + #| msgid "no arguments" + msgid "asynchronous argument" + msgstr "няма аргументаў" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + #, fuzzy + #| msgid "no arguments" + msgid "optional argument" + msgstr "няма аргументаў" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + #, fuzzy + #| msgid "no arguments" + msgid "pointer argument" + msgstr "няма аргументаў" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + #, fuzzy + #| msgid "no arguments" + msgid "target argument" + msgstr "няма аргументаў" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + #, fuzzy + #| msgid "no arguments" + msgid "value argument" + msgstr "няма аргументаў" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + #, fuzzy + #| msgid "no arguments" + msgid "volatile argument" + msgstr "няма аргументаў" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + msgid "assumed-shape argument" + msgstr "" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + #, fuzzy + #| msgid "no arguments" + msgid "assumed-rank argument" + msgstr "няма аргументаў" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + #, fuzzy + #| msgid "no arguments" + msgid "coarray argument" + msgstr "няма аргументаў" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + msgid "parametrized derived type argument" + msgstr "" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + #, fuzzy + #| msgid "no arguments" + msgid "polymorphic argument" + msgstr "няма аргументаў" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + msgid "NO_ARG_CHECK attribute" + msgstr "" + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + msgid "assumed-type argument" + msgstr "" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + msgid "array result" + msgstr "" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + msgid "pointer or allocatable result" + msgstr "" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + msgid "result with non-constant character length" + msgstr "" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + msgid "bind(c) procedure" + msgstr "" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, c-format + msgid "Invalid context for NULL() pointer at %%L" + msgstr "" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, c-format + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, c-format + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, c-format + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, c-format + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, c-format + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, c-format + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, c-format + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + msgid "iterator variable" + msgstr "" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + msgid "Start expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + msgid "End expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + msgid "Step expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + msgid "DEALLOCATE object" + msgstr "" + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + msgid "ALLOCATE object" + msgstr "" + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + msgid "STAT variable" + msgstr "" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + msgid "ERRMSG variable" + msgstr "" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + msgid "item in READ" + msgstr "" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + msgid "ACQUIRED_LOCK variable" + msgstr "" + +@@ -21648,27 +21643,27 @@ msgstr "" + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, c-format + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, c-format + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + msgid "Assignment of scalar to unallocated array" + msgstr "" + +@@ -22579,7 +22574,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in %s statement at %C" + msgstr "" +@@ -22975,7 +22970,7 @@ msgstr "" + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, fuzzy, gcc-internal-format + msgid "previous declaration here" +@@ -23074,10 +23069,10 @@ msgstr "" + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -23216,7 +23211,7 @@ msgstr "немагчыма знайсьці файл для кляса %s" + msgid "offset %qwi outside bounds of constant string" + msgstr "" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, gcc-internal-format + msgid "%qE declared here" + msgstr "" +@@ -25104,7 +25099,7 @@ msgstr "" + msgid "comparison is always %d due to width of bit-field" + msgstr "" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "" +@@ -25897,7 +25892,7 @@ msgstr "" + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -27021,14 +27016,14 @@ msgstr "" + msgid "using a dangling pointer to %qD" + msgstr "" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, fuzzy, gcc-internal-format + msgid "%qD declared here" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" +@@ -27074,7 +27069,7 @@ msgstr "" + msgid "call to %qD" + msgstr "" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, gcc-internal-format + msgid "storing the address of local variable %qD in %qE" + msgstr "" +@@ -28143,7 +28138,7 @@ msgstr "" + msgid "IPA modref summary is missing in input file" + msgstr "" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, gcc-internal-format + msgid "invalid jump function in LTO stream" + msgstr "" +@@ -29112,7 +29107,7 @@ msgstr "" + msgid "command-line option %qs is not supported by this configuration" + msgstr "" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, fuzzy, gcc-internal-format + msgid "missing argument to %qs" + msgstr "аргумент для \"%s\" прапушчан" +@@ -29154,12 +29149,12 @@ msgstr "" + msgid "unrecognized argument in option %qs" + msgstr "нераспазнаны выбар \"-%s\"" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %qs are: %s" + msgstr "нявернае выкарыстанне \"restict\"" +@@ -29318,7 +29313,7 @@ msgstr "" + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "-pipe не падтрымліваецца" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, fuzzy, gcc-internal-format + #| msgid "-pipe is not supported" + msgid "%<-fsanitize-trap=%s%> is not supported" +@@ -29359,186 +29354,186 @@ msgstr "" + msgid "variable tracking requested, but not supported by this debug format" + msgstr "" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, gcc-internal-format + msgid "unrecognized % passed to %" + msgstr "" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute ignored" + msgid "%qs attribute directive ignored" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: opts.cc:2347 ++#: opts.cc:2346 + #, gcc-internal-format + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, gcc-internal-format + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "" + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, gcc-internal-format + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, gcc-internal-format + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr "" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, fuzzy, gcc-internal-format + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, gcc-internal-format + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, gcc-internal-format + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, gcc-internal-format + msgid "structure alignment must be a small power of two, not %wu" + msgstr "" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, fuzzy, gcc-internal-format + #| msgid "unused parameter `%s'" + msgid "unknown stack check parameter %qs" + msgstr "невыкарыстаемы параметр \"%s\"" + +-#: opts.cc:3158 ++#: opts.cc:3157 + #, gcc-internal-format + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "" + +-#: opts.cc:3169 ++#: opts.cc:3168 + #, fuzzy, gcc-internal-format + #| msgid "-pipe is not supported" + msgid "dwarf version %wu is not supported" + msgstr "-pipe не падтрымліваецца" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "нераспазнаны выбар \"-%s\"" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, fuzzy, gcc-internal-format + msgid "target system does not support debug output" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, fuzzy, gcc-internal-format + #| msgid "section of `%s' conflicts with previous declaration" + msgid "debug format %qs conflicts with prior selection" + msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" + +-#: opts.cc:3468 ++#: opts.cc:3467 + #, fuzzy, gcc-internal-format + msgid "unrecognized debug output level %qs" + msgstr "нераспазнаны выбар \"-%s\"" + +-#: opts.cc:3470 ++#: opts.cc:3469 + #, gcc-internal-format + msgid "debug output level %qs is too high" + msgstr "" + +-#: opts.cc:3482 ++#: opts.cc:3481 + #, fuzzy, gcc-internal-format + msgid "unrecognized btf debug output level %qs" + msgstr "нераспазнаны выбар \"-%s\"" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, gcc-internal-format + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" + msgstr "" +@@ -30222,190 +30217,190 @@ msgstr "" + msgid "%qD renamed after being referenced in assembly" + msgstr "" + +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, fuzzy, gcc-internal-format + #| msgid "function does not return string type" + msgid "function symbol is not function" + msgstr "функцыя не вяртае тып string" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, gcc-internal-format + msgid "inconsistent % attribute" + msgstr "" + +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, fuzzy, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "complex invalid for `%s'" + msgid "node has invalid order %i" + msgstr "complex нерэчаісны для \"%s\"" + +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "" + +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "" + +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, fuzzy, gcc-internal-format + #| msgid "label `%s' used but not defined" + msgid "node is alias but not definition" + msgstr "адмеціна `%s' выкарыстоўвываецца, але ня вызначана" + +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, gcc-internal-format + msgid "node is symver but not alias" + msgstr "" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, gcc-internal-format + msgid "symver is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, fuzzy, gcc-internal-format + msgid "implicit_section flag is set but section isn%'t" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, gcc-internal-format + msgid "Alias and target%'s section differs" + msgstr "" + +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, gcc-internal-format + msgid "Alias and target%'s comdat groups differs" + msgstr "" + +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, gcc-internal-format + msgid "Transparent alias and target%'s assembler names differs" + msgstr "" + +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "invalid order in asm node %i" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -32088,27 +32083,27 @@ msgstr "" + msgid "target specific builtin not available" + msgstr "" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "" +@@ -32932,7 +32927,7 @@ msgstr "\"%s\" атрыбут ігнарыруецца" + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "" +@@ -35055,7 +35050,7 @@ msgstr "" + msgid "traditional C rejects string constant concatenation" + msgstr "" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "" +@@ -36752,7 +36747,7 @@ msgstr "вельмі шмат уваходзячых файлаў" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, gcc-internal-format + msgid "unknown value %qs for %<-mcpu%>" + msgstr "" +@@ -36784,15 +36779,15 @@ msgid "unrecognized option passed to %%:%" + msgstr "" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "valid arguments are: %s" + msgstr "нявернае выкарыстанне \"restict\"" +@@ -36881,48 +36876,48 @@ msgstr "" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, gcc-internal-format + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, gcc-internal-format + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr "" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, gcc-internal-format + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, gcc-internal-format + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr "" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, gcc-internal-format + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, gcc-internal-format + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr "" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, gcc-internal-format + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr "" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "" +@@ -37408,13 +37403,13 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be an integer constant expression" + msgstr "памер масіва \"%s\" адмоўны" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, gcc-internal-format + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" + msgstr "" +@@ -37654,7 +37649,7 @@ msgstr "" + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, fuzzy, gcc-internal-format + msgid "duplicate definition of %qs" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" +@@ -37696,7 +37691,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, gcc-internal-format + msgid "variables of type %qT cannot have thread-local storage duration" + msgstr "" +@@ -37783,326 +37778,326 @@ msgstr "" + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, fuzzy, gcc-internal-format + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "\"%s\" звычайна функцыя" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, gcc-internal-format + msgid "%qE requires the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, gcc-internal-format + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, gcc-internal-format + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, gcc-internal-format + msgid "%qs string ill-formed" + msgstr "" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, gcc-internal-format + msgid "invalid format for %" + msgstr "" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, fuzzy, gcc-internal-format + #| msgid "invalid %%Q value" + msgid "invalid % value: %d" + msgstr "дрэннае %%Q значэнне" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "Нераспазнаны выбар \"%s\"" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "невядомая назва рэгістра: %s\n" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, gcc-internal-format + msgid "specify a system register with a small string length" + msgstr "" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "Нерэчаісны выбар %s" + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "" + +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, gcc-internal-format + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, gcc-internal-format + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, gcc-internal-format + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, gcc-internal-format + msgid "unknown value %qs for %<-march%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, gcc-internal-format + msgid "did you mean %<-mcpu=%s%>?" + msgstr "" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, gcc-internal-format + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, gcc-internal-format + msgid "unknown value %qs for %<-mtune%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, gcc-internal-format + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, fuzzy, gcc-internal-format + #| msgid "%s does not support %s" + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "%s не падтрымлівае %s" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, gcc-internal-format + msgid "code model %qs with %<-f%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in ilp32 mode" + msgstr "-pipe не падтрымліваецца" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, gcc-internal-format + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, gcc-internal-format + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, gcc-internal-format + msgid "missing argument to % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, gcc-internal-format + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, fuzzy, gcc-internal-format + #| msgid "unsupported version" + msgid "unsupported simdlen %wd" + msgstr "непадтрымліваемая версія" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, gcc-internal-format + msgid "GCC does not currently support return type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, gcc-internal-format + msgid "unsupported return type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, gcc-internal-format + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, gcc-internal-format + msgid "GCC does not currently support simdlen %wd for type %qT" + msgstr "" +@@ -38289,13 +38284,13 @@ msgstr "аргумент `__builtin_args_info' павінен быць канс + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -38438,17 +38433,17 @@ msgstr "памер \"%s\" больш чам %d байт" + msgid "%qE attribute only applies to variables" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, gcc-internal-format + msgid "alternatives not allowed in % flag output" + msgstr "" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, gcc-internal-format + msgid "unknown % flag output %qs" + msgstr "" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, gcc-internal-format + msgid "invalid type for % flag output" + msgstr "" +@@ -38659,7 +38654,7 @@ msgstr "ISO C не падтрымлівае комлексныя цэлалік + msgid "target CPU does not support unaligned accesses" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, fuzzy, gcc-internal-format + msgid "This architecture does not support branch protection instructions" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" +@@ -38714,7 +38709,7 @@ msgstr "" + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, gcc-internal-format + msgid "FDPIC mode is not supported in Thumb-1 mode" + msgstr "" +@@ -38820,7 +38815,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "" +@@ -38870,32 +38865,32 @@ msgstr "" + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, gcc-internal-format + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, gcc-internal-format + msgid "invalid fpu for target attribute or pragma %qs" + msgstr "" +@@ -38903,23 +38898,23 @@ msgstr "" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, gcc-internal-format + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, fuzzy, gcc-internal-format + #| msgid "unknown register name: %s" + msgid "unknown target attribute or pragma %qs" + msgstr "невядомая назва рэгістра: %s" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, fuzzy, gcc-internal-format + msgid "% flags not supported in thumb1 mode" + msgstr "-pipe не падтрымліваецца" +@@ -38997,18 +38992,18 @@ msgstr "-pipe не падтрымліваецца" + msgid "%<-fPIE%> is not supported" + msgstr "-pipe не падтрымліваецца" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, gcc-internal-format + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "%qs function cannot have arguments" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, fuzzy, gcc-internal-format + #| msgid "function does not return string type" + msgid "%qs function cannot return a value" +@@ -39332,7 +39327,7 @@ msgstr "не хапае аргументаў у функцыі" + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to function" + msgid "invalid argument to built-in function" +@@ -39938,753 +39933,753 @@ msgstr "" + msgid "virtual function multiversioning not supported" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25106 + #, fuzzy, gcc-internal-format + msgid "multiversioning needs % which is not supported on this target" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s does not support %s" + msgid "code model %s does not support PIC mode" + msgstr "%s не падтрымлівае %s" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, fuzzy, gcc-internal-format + msgid "attribute %qs argument is not a string" + msgstr "аргумент `__builtin_args_info' павінен быць канстантай" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, gcc-internal-format + msgid "attribute %qs argument %qs is unknown" + msgstr "" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, gcc-internal-format + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, gcc-internal-format + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to function `%s'" + msgid "wrong argument %qs to option %qs" + msgstr "вельмі шмат аргумэнтаў у функцыі `%s'" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" + msgstr "" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, gcc-internal-format + msgid "too many size ranges specified in option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "" + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "" + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, gcc-internal-format + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, fuzzy, gcc-internal-format + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "-pipe не падтрымліваецца" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, gcc-internal-format + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, gcc-internal-format + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "-pipe не падтрымліваецца" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, fuzzy, gcc-internal-format + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "" + +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, fuzzy, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, gcc-internal-format + msgid "bad value %qs for %<-march=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, fuzzy, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, gcc-internal-format + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, fuzzy, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, gcc-internal-format + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, gcc-internal-format + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, fuzzy, gcc-internal-format + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, gcc-internal-format + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, gcc-internal-format + msgid "stack probing requires % for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, gcc-internal-format + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, gcc-internal-format + msgid "unknown option for %<-mrecip=%s%>" + msgstr "" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, gcc-internal-format + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, gcc-internal-format + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, gcc-internal-format + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, fuzzy, gcc-internal-format + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, gcc-internal-format + msgid "interrupt and naked attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, gcc-internal-format + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, gcc-internal-format + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "памер \"%s\" больш чам %d байт" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, gcc-internal-format + msgid "%qE attribute is used for non-class method" + msgstr "" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute ignored" + msgid "%qE incompatible attribute ignored" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, fuzzy, gcc-internal-format + msgid "%qE attribute only available for 32-bit" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "аргумент `__builtin_args_info' павінен быць канстантай" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, gcc-internal-format + msgid "%qs and %qs attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, fuzzy, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "аргумент `__builtin_args_info' павінен быць канстантай" + +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "аргумент `__builtin_args_info' павінен быць канстантай" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "" + +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, gcc-internal-format + msgid "interrupt service routine should have %qs as the second argument" + msgstr "" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, gcc-internal-format + msgid "interrupt service routine must return %" + msgstr "" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, gcc-internal-format + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, gcc-internal-format + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, fuzzy, gcc-internal-format + #| msgid "%s does not support %s" + msgid "X32 does not support % attribute" + msgstr "%s не падтрымлівае %s" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, gcc-internal-format + msgid "% attribute is not compatible with nested function" + msgstr "" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, gcc-internal-format + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, gcc-internal-format + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, gcc-internal-format + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, gcc-internal-format + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, gcc-internal-format + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, gcc-internal-format + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, gcc-internal-format + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, gcc-internal-format, gfc-internal-format + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "" + +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "" + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, gcc-internal-format + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "" + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, gcc-internal-format + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "" + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, gcc-internal-format + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" + msgstr "" + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, gcc-internal-format + msgid "% modifier on non-integer register" + msgstr "" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, gcc-internal-format + msgid "unsupported size for integer register" + msgstr "" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, gcc-internal-format + msgid "non-integer operand used with operand code %" + msgstr "" + +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, gcc-internal-format + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, gcc-internal-format + msgid "unsupported argument type %qT for simd" + msgstr "" + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, gcc-internal-format + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" + msgstr "" +@@ -41033,7 +41028,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, gcc-internal-format + msgid "%qE attribute requires a string argument" + msgstr "" +@@ -42167,52 +42162,52 @@ msgstr "" + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, gcc-internal-format + msgid "RVV type %qT does not have a fixed size" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, gcc-internal-format + msgid "RVV type %qT does not have a defined alignment" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, gcc-internal-format + msgid "arithmetic on pointer to RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, gcc-internal-format + msgid "fields cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, gcc-internal-format + msgid "array elements cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, gcc-internal-format + msgid "cannot allocate objects with RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, gcc-internal-format + msgid "cannot delete objects with RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, gcc-internal-format + msgid "cannot throw or catch RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, gcc-internal-format + msgid "capture by copy of RVV type %qT" + msgstr "" +@@ -42232,72 +42227,67 @@ msgstr "" + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, gcc-internal-format + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, gcc-internal-format + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, gcc-internal-format + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, gcc-internal-format + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, gcc-internal-format + msgid "ABI requires %<-march=rv%d%>" + msgstr "" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, fuzzy, gcc-internal-format + #| msgid "invalid register name for `%s'" + msgid "%qs is not a valid base register in %qs" + msgstr "нерэчаісная назва рэгістра `%s'" + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, gcc-internal-format + msgid "%qs is not a valid number in %qs" + msgstr "" + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, gcc-internal-format + msgid "%qs function cannot have different interrupt type" + msgstr "" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, gcc-internal-format +@@ -42774,99 +42764,99 @@ msgstr "" + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, gcc-internal-format + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, gcc-internal-format + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `%D'" + msgid "invalid cpu %qs for %s%qs%s" + msgstr "нерэчаіснае выкарыстаньне `%D'" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, fuzzy, gcc-internal-format + #| msgid "%s=%s is too large" + msgid "%s%qs%s is not allowed" + msgstr "%s=%s вельмі вялікі" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, gcc-internal-format + msgid "%s%qs%s is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" + +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, gcc-internal-format + msgid "Virtual function multiversioning not supported" + msgstr "" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, gcc-internal-format + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, gcc-internal-format + msgid "type %<__vector_pair%> requires the %qs option" + msgstr "" +@@ -44289,7 +44279,7 @@ msgstr "" + msgid "uninitialized % is invalid in C++" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "" +@@ -44479,7 +44469,7 @@ msgstr "" + msgid "storage class specified for unnamed parameter" + msgstr "" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "" +@@ -44656,7 +44646,7 @@ msgstr "" + msgid "function definition has qualified void return type" + msgstr "функцыя не вяртае тып string" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "" +@@ -44785,7 +44775,7 @@ msgstr "" + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, fuzzy, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "тып параметра \"%s\" не аб'яўлены" +@@ -44989,7 +44979,7 @@ msgstr "" + msgid "%qT defined in underspecified object initializer" + msgstr "" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "" +@@ -45041,7 +45031,7 @@ msgstr "" + msgid "struct has no members" + msgstr "" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, gcc-internal-format + msgid "flexible array member in union" + msgstr "" +@@ -45088,7 +45078,7 @@ msgstr "абвяшчэньне `%#D'" + msgid "% declared with but defined without fixed underlying type" + msgstr "" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, gcc-internal-format + msgid "specified mode too small for enumerated values" + msgstr "" +@@ -45133,7 +45123,7 @@ msgstr "" + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, gcc-internal-format + msgid "inline function %qD given attribute %qs" + msgstr "" +@@ -45165,7 +45155,7 @@ msgstr "няма папярэдняга прататыпа для \"%s\"" + msgid "%qD was used with no prototype before its definition" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, fuzzy, gcc-internal-format + #| msgid "no previous declaration for `%s'" + msgid "no previous declaration for %qD" +@@ -45285,12 +45275,12 @@ msgstr "" + msgid "argument %qD doesn%'t match prototype" + msgstr "" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, fuzzy, gcc-internal-format + #| msgid "label `%D' defined but not used" + msgid "parameter %qD set but not used" +@@ -47355,7 +47345,7 @@ msgstr "" + msgid "collapsed loops not perfectly nested" + msgstr "" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "" +@@ -47486,12 +47476,12 @@ msgstr "" + msgid "variant %qD is not a function" + msgstr "`%D' - гэта ня функцыя," + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, fuzzy, gcc-internal-format + msgid "variant %qD and base %qD have incompatible types" + msgstr "\"%s\" мае незавершаны тып" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "" +@@ -47753,7 +47743,7 @@ msgstr "" + msgid "invalid use of flexible array member" + msgstr "" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "" +@@ -48709,12 +48699,12 @@ msgstr "" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, gcc-internal-format + msgid "cannot initialize array of %qT from a string literal with type array of %qT" + msgstr "" +@@ -48755,7 +48745,7 @@ msgstr "" + msgid "invalid initializer" + msgstr "нерэчаісны ініцыялізатар" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "" +@@ -48770,8 +48760,8 @@ msgstr "" + msgid "braces around scalar initializer" + msgstr "" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "" +@@ -48861,7 +48851,7 @@ msgstr "" + msgid "positional initialization of field in % declared with % attribute" + msgstr "" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "" +@@ -50216,7 +50206,7 @@ msgstr "немагчымы апэратар '%s'" + msgid "%q#D is private within this context" + msgstr "" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, fuzzy, gcc-internal-format + msgid "declared private here" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" +@@ -50226,7 +50216,7 @@ msgstr "\"%s\" не абвешчан (першае выкарыстанне ў + msgid "%q#D is protected within this context" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, fuzzy, gcc-internal-format + #| msgid "called from here" + msgid "declared protected here" +@@ -50242,7 +50232,7 @@ msgstr "" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, fuzzy, gcc-internal-format + #| msgid " from here" +@@ -50574,7 +50564,7 @@ msgstr "" + msgid "call to non-function %qD" + msgstr "" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "" +@@ -51148,7 +51138,7 @@ msgstr "" + msgid "next member %q#D declared here" + msgstr "" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, fuzzy, gcc-internal-format + #| msgid "previous definition of `%#T'" + msgid "redefinition of %q#T" +@@ -51271,7 +51261,7 @@ msgstr "" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, gcc-internal-format + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" +@@ -51340,7 +51330,7 @@ msgstr "" + msgid "failed % attribute assumption" + msgstr "" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, fuzzy, gcc-internal-format + #| msgid "can't initialize friend function `%s'" +@@ -51389,7 +51379,7 @@ msgstr "" + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, gcc-internal-format + msgid "call to non-% function %qD" +@@ -51513,7 +51503,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -51612,7 +51602,7 @@ msgstr "" + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, gcc-internal-format + msgid "dereferencing a null pointer" +@@ -51691,7 +51681,7 @@ msgstr "" + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, fuzzy, gcc-internal-format + msgid "statement is not a constant expression" +@@ -51758,190 +51748,190 @@ msgstr "" + msgid "control passes through definition of %qD with static storage duration" + msgstr "" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, fuzzy, gcc-internal-format + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, gcc-internal-format + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, gcc-internal-format + msgid "cast from %qT is not allowed" + msgstr "" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, gcc-internal-format + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, gcc-internal-format + msgid "%(%E)%> is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, fuzzy, gcc-internal-format + msgid "expression %qE is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, gcc-internal-format + msgid "contract predicate is false in constant expression" + msgstr "" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, gcc-internal-format + msgid "unexpected template-id %qE" + msgstr "" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, gcc-internal-format + msgid "function concept must be called" + msgstr "" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, fuzzy, gcc-internal-format + msgid "address of a call to %qs is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, gcc-internal-format + msgid "unexpected expression %qE of kind %s" + msgstr "" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, gcc-internal-format + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, gcc-internal-format + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, fuzzy, gcc-internal-format + msgid "lambda capture of %qE is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, gcc-internal-format + msgid "% from integer to pointer" + msgstr "" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, fuzzy, gcc-internal-format + msgid "use of % in a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, gcc-internal-format + msgid "lambda-expression is not a constant expression before C++17" + msgstr "" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, gcc-internal-format + msgid "new-expression is not a constant expression before C++20" + msgstr "" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual functions cannot be % before C++20" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, gcc-internal-format + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, fuzzy, gcc-internal-format + msgid "cast to non-integral type %qT in a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, fuzzy, gcc-internal-format + msgid "division by zero is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, gcc-internal-format + msgid "neither branch of % is a constant expression" + msgstr "" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, fuzzy, gcc-internal-format + msgid "non-constant array initialization" + msgstr "нерэчаісны ініцыялізатар" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, gcc-internal-format + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, gcc-internal-format, gfc-internal-format + msgid "unexpected AST of kind %s" + msgstr "" +@@ -52526,7 +52516,7 @@ msgstr "" + msgid "% declared here" + msgstr "" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, gcc-internal-format + msgid "no member named %qE in %qT" + msgstr "" +@@ -52618,7 +52608,7 @@ msgstr "аргумент `__builtin_args_info' павінен быць канс + msgid "no suspend point info for %qD" + msgstr "" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "" +@@ -52639,23 +52629,23 @@ msgstr "" + msgid "variable length arrays are not yet supported in coroutines" + msgstr "" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, gcc-internal-format + msgid "cannot initialize a return object of type %qT with an rvalue of type %" + msgstr "" +@@ -53141,7 +53131,7 @@ msgstr "папярэдняе абвяшчэньне `%D'" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "гэта папярэдняе абвяшчэньне" + +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration `%D'" + msgid "previous declaration %qD" +@@ -53552,2305 +53542,2305 @@ msgstr "\"%s\" звычайна функцыя" + msgid "%q#T is not a class" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, fuzzy, gcc-internal-format + msgid "no type named %q#T in %q#T" + msgstr "вяртаемы тып \"%s\" не \"int\"" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, fuzzy, gcc-internal-format + msgid "lookup of %qT in %qT is ambiguous" + msgstr "памер \"%s\" - %d байт" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, gcc-internal-format + msgid "% names %q#D, which is not a type" + msgstr "" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, fuzzy, gcc-internal-format + msgid "template parameters do not match template %qD" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, gcc-internal-format + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, gcc-internal-format + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, gcc-internal-format + msgid "anonymous struct with base classes" + msgstr "" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, fuzzy, gcc-internal-format + msgid "attribute ignored in declaration of %q#T" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, gcc-internal-format + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, fuzzy, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, gcc-internal-format + msgid "% can only be specified for variables or function declarations" + msgstr "" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, gcc-internal-format + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, gcc-internal-format + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, gcc-internal-format + msgid "% was ignored in this declaration" + msgstr "" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, fuzzy, gcc-internal-format + msgid "%qs cannot be used for type declarations" + msgstr "\"%s\" звычайна функцыя" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, fuzzy, gcc-internal-format + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, fuzzy, gcc-internal-format + msgid "no attribute can be applied to an explicit instantiation" + msgstr "\"%s\" звычайна функцыя" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, gcc-internal-format + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "" + +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, fuzzy, gcc-internal-format + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "параметр \"%s\" ініцыялізаваны" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, gcc-internal-format + msgid "%q+#D is not a static data member of %q#T" + msgstr "" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, fuzzy, gcc-internal-format + msgid "non-member-template declaration of %qD" + msgstr "пустое абвяшчэнне" + +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, fuzzy, gcc-internal-format + msgid "does not match member template declaration here" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "" + +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, fuzzy, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, fuzzy, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, fuzzy, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, gcc-internal-format + msgid "name used in a GNU-style designated initializer for an array" + msgstr "" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, fuzzy, gcc-internal-format + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, fuzzy, gcc-internal-format + #| msgid "array size missing in `%D'" + msgid "array size missing in %qD" + msgstr "прапушчан памер масіва ў `%D'" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, fuzzy, gcc-internal-format + #| msgid "zero-size array `%D'" + msgid "zero-size array %qD" + msgstr "нулявы памер масіва `%D'" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, gcc-internal-format + msgid "storage size of %qD isn%'t known" + msgstr "" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, fuzzy, gcc-internal-format + msgid "storage size of %qD isn%'t constant" + msgstr "тып параметра \"%s\" не аб'яўлены" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, gcc-internal-format + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, gcc-internal-format + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, gcc-internal-format + msgid "you can work around this by removing the initializer" + msgstr "" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, fuzzy, gcc-internal-format + msgid "uninitialized %" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, gcc-internal-format + msgid "uninitialized variable %qD in % function" + msgstr "" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, gcc-internal-format + msgid "uninitialized variable %qD in % context" + msgstr "" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, gcc-internal-format + msgid "%q#T has no user-provided default constructor" + msgstr "" + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, fuzzy, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "нерэчаісны ініцыялізатар" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, gcc-internal-format + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, gcc-internal-format + msgid "%qD is not a direct member of %qT" + msgstr "" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer" + msgid "invalid initializer for %q#D" + msgstr "нерэчаісны ініцыялізатар" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, fuzzy, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, fuzzy, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, gcc-internal-format + msgid "too many braces around scalar initializer for type %qT" + msgstr "" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, fuzzy, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, fuzzy, gcc-internal-format + msgid "structured binding has incomplete type %qT" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, fuzzy, gcc-internal-format + msgid "elements of array %q#T have incomplete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, gcc-internal-format + msgid "variable-sized compound literal" + msgstr "" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, fuzzy, gcc-internal-format + msgid "%q#D has incomplete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, gcc-internal-format + msgid "scalar object %qD requires one element in initializer" + msgstr "" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, gcc-internal-format + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, fuzzy, gcc-internal-format + msgid "reference %qD is initialized with itself" + msgstr "параметр \"%s\" ініцыялізаваны" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, fuzzy, gcc-internal-format + msgid "could not find variant declaration" + msgstr "Не магу знайсці дэкларацыю інтэрфейса для \"%s\"" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, gcc-internal-format + msgid "% on constructor %qD" + msgstr "" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, gcc-internal-format + msgid "% on destructor %qD" + msgstr "" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, gcc-internal-format + msgid "% on defaulted %qD" + msgstr "" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, fuzzy, gcc-internal-format + #| msgid "declaration of template `%#D'" + msgid "% on deleted %qD" + msgstr "абвяшчэньне шаблёну `%#D'" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, gcc-internal-format + msgid "% on virtual %qD" + msgstr "" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, gcc-internal-format + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, gcc-internal-format + msgid "% storage class specifier used" + msgstr "" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, fuzzy, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, gcc-internal-format + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, fuzzy, gcc-internal-format + msgid "deduced type %qT for %qD is incomplete" + msgstr "вяртаемы тып \"%s\" не \"int\"" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, gcc-internal-format + msgid "variable concept has no initializer" + msgstr "" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, fuzzy, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, gcc-internal-format + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr "" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, gcc-internal-format + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, fuzzy, gcc-internal-format + msgid "structured binding refers to incomplete type %qT" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, gcc-internal-format + msgid "cannot decompose variable length array %qT" + msgstr "" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, gcc-internal-format, gfc-internal-format + msgid "%u name provided for structured binding" + msgid_plural "%u names provided for structured binding" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, gcc-internal-format + msgid "cannot decompose variable length vector %qT" + msgstr "" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, fuzzy, gcc-internal-format + msgid "%::value%> is not an integral constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, gcc-internal-format + msgid "in initialization of structured binding variable %qD" + msgstr "" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, gcc-internal-format + msgid "cannot decompose union type %qT" + msgstr "" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, gcc-internal-format + msgid "cannot decompose non-array non-class type %qT" + msgstr "" + +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, gcc-internal-format + msgid "cannot decompose lambda closure type %qT" + msgstr "" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, gcc-internal-format + msgid "structured binding refers to incomplete class type %qT" + msgstr "" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, gcc-internal-format + msgid "cannot decompose class type %qT without non-static data members" + msgstr "" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, gcc-internal-format + msgid "initializer fails to determine size of %qT" + msgstr "" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, fuzzy, gcc-internal-format + #| msgid "array size missing in `%D'" + msgid "array size missing in %qT" + msgstr "прапушчан памер масіва ў `%D'" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, fuzzy, gcc-internal-format + #| msgid "zero-size array `%D'" + msgid "zero-size array %qT" + msgstr "нулявы памер масіва `%D'" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, gcc-internal-format + msgid "%qD declared as a % variable" + msgstr "" + +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, gcc-internal-format + msgid "%qD declared as a % parameter" + msgstr "" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, gcc-internal-format + msgid "%qD declared as an % parameter" + msgstr "" + +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, gcc-internal-format + msgid "%qD declared as a % type" + msgstr "" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, gcc-internal-format + msgid "%qD declared as an % type" + msgstr "" + +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, gcc-internal-format + msgid "%qD declared as a % field" + msgstr "" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, gcc-internal-format + msgid "%qD declared as an % field" + msgstr "" + +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, fuzzy, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, gcc-internal-format + msgid "concept %q#D declared with function parameters" + msgstr "" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, gcc-internal-format + msgid "concept %q#D declared with a deduced return type" + msgstr "" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, gcc-internal-format + msgid "concept %q#D with non-% return type %qT" + msgstr "" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, gcc-internal-format + msgid "concept %qD has no definition" + msgstr "" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "a function concept cannot be constrained" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, gcc-internal-format + msgid "constraints on a non-templated function" + msgstr "" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, fuzzy, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "ініцыялізацыя" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, fuzzy, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, gcc-internal-format + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be %qs" + msgstr "" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, gcc-internal-format + msgid "static member function %qD cannot have cv-qualifier" + msgstr "" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, gcc-internal-format + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, gcc-internal-format + msgid "static member function %qD cannot have ref-qualifier" + msgstr "" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, gcc-internal-format + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, gcc-internal-format + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, gcc-internal-format + msgid "deduction guide %qD must have the same access as %qT" + msgstr "" + +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, gcc-internal-format + msgid "deduction guide %qD must not have a function body" + msgstr "" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, gcc-internal-format + msgid "literal operator with C linkage" + msgstr "" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, fuzzy, gcc-internal-format + msgid "%qD has invalid argument list" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, gcc-internal-format + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, gcc-internal-format + msgid "%qD must be a non-member function" + msgstr "" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, fuzzy, gcc-internal-format + #| msgid "`main' must return `int'" + msgid "%<::main%> must return %" + msgstr "`main' павінна вяртаць `int'" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, gcc-internal-format + msgid "definition of explicitly-defaulted %q+D" + msgstr "" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, fuzzy, gcc-internal-format + msgid "%q#D explicitly defaulted here" + msgstr "ініцыялізацыя" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a global variable" + msgstr "" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, fuzzy, gcc-internal-format + msgid "a non-template variable cannot be %" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, gcc-internal-format + msgid "concept must be defined at namespace scope" + msgstr "" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "a variable concept cannot be constrained" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, gcc-internal-format + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, fuzzy, gcc-internal-format + #| msgid "size of array `%D' has non-integer type" + msgid "size of array %qD has non-integral type %qT" + msgstr "памер масіва `%D' не цэлалікавы тып" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, fuzzy, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, fuzzy, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "ISO C не дазваляе дэкларацыі метак (label)" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "ISO C не дазваляе дэкларацыі метак (label)" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids variable length array %qD" + msgstr "ISO C не дазваляе дэкларацыі метак (label)" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids variable length array" + msgstr "ISO C не дазваляе дэкларацыі метак (label)" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, gcc-internal-format + msgid "%qD declared as array of template placeholder type %qT" + msgstr "" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, gcc-internal-format + msgid "creating array of template placeholder type %qT" + msgstr "" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D'" + msgid "declaration of %qD as array of void" + msgstr "абвяшчэньне `%#D'" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, gcc-internal-format + msgid "creating array of void" + msgstr "" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, gcc-internal-format + msgid "declaration of %qD as array of functions" + msgstr "" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, gcc-internal-format + msgid "creating array of functions" + msgstr "" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, gcc-internal-format + msgid "declaration of %qD as array of references" + msgstr "" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, gcc-internal-format + msgid "creating array of references" + msgstr "" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, gcc-internal-format + msgid "declaration of %qD as array of function members" + msgstr "" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, gcc-internal-format + msgid "creating array of function members" + msgstr "" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, gcc-internal-format + msgid "variable-length array of %" + msgstr "" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on constructor declaration" + msgstr "\"%s\" - гэта не пачатак дэкларацыі" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on destructor declaration" + msgstr "\"%s\" - гэта не пачатак дэкларацыі" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, gcc-internal-format + msgid "return type specified for %" + msgstr "" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, gcc-internal-format + msgid "return type specified for deduction guide" + msgstr "" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, gcc-internal-format + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, gcc-internal-format + msgid "% in declaration of deduction guide" + msgstr "" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, gcc-internal-format + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, gcc-internal-format + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, gcc-internal-format + msgid "% cannot be cv-qualified" + msgstr "" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, gcc-internal-format + msgid "%q#T is not a class or namespace" + msgstr "" + +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, fuzzy, gcc-internal-format + msgid "declaration of %qE as non-function" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D'" + msgid "declaration of %qE as non-member" + msgstr "абвяшчэньне `%#D'" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "" + +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D'" + msgid "declaration of %qD as %" + msgstr "абвяшчэньне `%#D'" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D'" + msgid "declaration of %qD as parameter" + msgstr "абвяшчэньне `%#D'" + +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, gcc-internal-format + msgid "both %qs and %qs specified" + msgstr "" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, fuzzy, gcc-internal-format + #| msgid "`%s' is not at beginning of declaration" + msgid "%qs cannot appear in a typedef declaration" + msgstr "\"%s\" - гэта не пачатак дэкларацыі" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, fuzzy, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "пустое абвяшчэнне" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support plain `complex' meaning `double complex'" + msgid "ISO C++ does not support plain % meaning %" + msgstr "ISO C не падтрымлівае просты \"complex\" у значэнні \"double complex\"" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "ISO C не дазваляе дэкларацыі метак (label)" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, fuzzy, gcc-internal-format + #| msgid "__builtin_saveregs not supported by this target" + msgid "%<__int%d%> is not supported by this target" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not support `long long'" + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "ISO C++ не падтрымлівае \"long long\"" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, gcc-internal-format + msgid "% and % specified together" + msgstr "" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, gcc-internal-format + msgid "% and % specified together" + msgstr "" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, gcc-internal-format + msgid "%qs specified with %qT" + msgstr "" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, gcc-internal-format + msgid "%qs specified with %qD" + msgstr "" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, fuzzy, gcc-internal-format + #| msgid "complex invalid for `%s'" + msgid "complex invalid for %qs" + msgstr "complex нерэчаісны для \"%s\"" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, gcc-internal-format + msgid "member %qD cannot be declared both % and %" + msgstr "" + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, gcc-internal-format + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, gcc-internal-format + msgid "storage class specified for template parameter %qs" + msgstr "" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, fuzzy, gcc-internal-format + msgid "a parameter cannot be declared %qs" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, fuzzy, gcc-internal-format + #| msgid "Invalid declaration" + msgid "% outside class declaration" + msgstr "Нерэчаіснае абвяшчэнне" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, gcc-internal-format + msgid "structured binding declaration cannot be %qs" + msgstr "" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, gcc-internal-format + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, gcc-internal-format + msgid "%-qualified structured binding is deprecated" + msgstr "" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, gcc-internal-format + msgid "structured binding declaration cannot be C++98 %" + msgstr "" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, gcc-internal-format + msgid "structured binding declaration cannot have type %qT" + msgstr "" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, gcc-internal-format + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, fuzzy, gcc-internal-format + #| msgid "duplicate label declaration `%s'" + msgid "multiple storage classes in declaration of %qs" + msgstr "паўторнае абвяшчэньне адмеціны `%s'" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute ignored" + msgid "attribute ignored" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, fuzzy, gcc-internal-format + msgid "unnecessary parentheses in declaration of %qs" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, gcc-internal-format + msgid "remove parentheses" + msgstr "" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, gcc-internal-format + msgid "requires-clause on return type" + msgstr "" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, gcc-internal-format + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual function cannot have deduced return type" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, gcc-internal-format + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, fuzzy, gcc-internal-format + msgid "invalid use of %" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, gcc-internal-format + msgid "deduced class type %qD in function return type" + msgstr "" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, gcc-internal-format + msgid "deduction guide for %qT must have trailing return type" + msgstr "" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, gcc-internal-format + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, gcc-internal-format + msgid "a conversion function cannot have a trailing return type" + msgstr "" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, gcc-internal-format + msgid "%-qualified return type is deprecated" + msgstr "" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, fuzzy, gcc-internal-format + #| msgid "`%s' undeclared (first use in this function)" + msgid "%qs declared as function returning a function" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, gcc-internal-format + msgid "% on function return type is not allowed" + msgstr "" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, gcc-internal-format + msgid "destructors may not be ref-qualified" + msgstr "" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, gcc-internal-format + msgid "constructors may not be ref-qualified" + msgstr "" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, fuzzy, gcc-internal-format + msgid "constructors cannot be declared %" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, fuzzy, gcc-internal-format + msgid "cannot define friend function %qs in a local class definition" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, fuzzy, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "Не магу знайсці файл для класа %s." + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, gcc-internal-format + msgid "cannot declare reference to qualified function type %qT" + msgstr "" + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to qualified function type %qT" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, gcc-internal-format + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "" + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, gcc-internal-format + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "" + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "" + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, gcc-internal-format + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, fuzzy, gcc-internal-format + #| msgid "duplicate label declaration `%s'" + msgid "% outside class declaration" + msgstr "паўторнае абвяшчэньне адмеціны `%s'" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, fuzzy, gcc-internal-format + msgid "% in friend declaration" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, gcc-internal-format + msgid "only declarations of constructors and conversion operators can be %" + msgstr "" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, fuzzy, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, fuzzy, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "" + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, fuzzy, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, fuzzy, gcc-internal-format + msgid "reference %qs cannot be declared %" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, gcc-internal-format + msgid "typedef may not be a function definition" + msgstr "" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, gcc-internal-format + msgid "typedef may not be a member function definition" + msgstr "" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, fuzzy, gcc-internal-format + msgid "% not allowed in alias declaration" + msgstr "\"%s\" - гэта не пачатак дэкларацыі" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, gcc-internal-format + msgid "typedef declared %" + msgstr "" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, gcc-internal-format + msgid "typedef name may not be a nested-name-specifier" + msgstr "" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, fuzzy, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, fuzzy, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, fuzzy, gcc-internal-format + msgid "requires-clause on declaration of non-function type %qT" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, fuzzy, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "Не магу знайсці дэкларацыю пратакола для \"%s\"" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, gcc-internal-format + msgid "cannot declare a parameter with %" + msgstr "" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, gcc-internal-format + msgid "% parameter not permitted in this context" + msgstr "" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, fuzzy, gcc-internal-format + msgid "parameter declared %" + msgstr "тып параметра \"%s\" не аб'яўлены" + +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, fuzzy, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, gcc-internal-format + msgid "non-static data member declared with placeholder %qT" + msgstr "" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids flexible array member %qs" + msgstr "ISO C не дазваляе дэкларацыі метак (label)" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids flexible array members" + msgstr "ISO C не дазваляе дэкларацыі метак (label)" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `::'" + msgid "invalid use of %<::%>" + msgstr "нерэчаіснае выкарыстаньне `::'" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, fuzzy, gcc-internal-format + msgid "declaration of function %qD in invalid context" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, fuzzy, gcc-internal-format + msgid "function %qD declared % inside a union" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, gcc-internal-format + msgid "%qD cannot be declared %, since it is always static" + msgstr "" + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, fuzzy, gcc-internal-format + #| msgid "declaration of template `%#D'" + msgid "declaration of %qD as member of %qT" + msgstr "абвяшчэньне шаблёну `%#D'" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, gcc-internal-format + msgid "a destructor cannot be %qs" + msgstr "" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, gcc-internal-format + msgid "a constructor cannot be %" + msgstr "" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, fuzzy, gcc-internal-format + msgid "a concept cannot be a member function" + msgstr "\"%s\" звычайна функцыя" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, fuzzy, gcc-internal-format + #| msgid "[cannot find %s]" + msgid "%qD cannot be %qs" + msgstr "[нельга знайсці %s]" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, gcc-internal-format + msgid "specialization of variable template %qD declared as function" + msgstr "" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, fuzzy, gcc-internal-format + msgid "variable template declared here" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, fuzzy, gcc-internal-format + msgid "field %qD has incomplete type %qT" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, fuzzy, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, fuzzy, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, gcc-internal-format + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, gcc-internal-format + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "" + +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, gcc-internal-format + msgid "static data member %qE declared %qs" + msgstr "" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, gcc-internal-format + msgid "% static data member %qD must have an initializer" + msgstr "" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, gcc-internal-format + msgid "non-static data member %qE declared %qs" + msgstr "" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, gcc-internal-format + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, fuzzy, gcc-internal-format + msgid "%qs declared in a non-class scope" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, gcc-internal-format + msgid "declaration of % variable %qD is not a definition" + msgstr "" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, gcc-internal-format + msgid "a variable cannot be declared %" + msgstr "" + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, fuzzy, gcc-internal-format + msgid "default argument %qE uses %qD" + msgstr "нехапае аргументаў у функцыі \"%s\"" + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, fuzzy, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "нехапае аргументаў у функцыі \"%s\"" + +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, fuzzy, gcc-internal-format + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, fuzzy, gcc-internal-format + msgid "invalid use of type % in parameter declaration" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, gcc-internal-format + msgid "%-qualified parameter is deprecated" + msgstr "" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, fuzzy, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "тып параметра \"%s\" не аб'яўлены" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, fuzzy, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, fuzzy, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, gcc-internal-format + msgid "%qD must be a non-static member function" + msgstr "" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, fuzzy, gcc-internal-format + msgid "%qD must be a member function" + msgstr "вельмі шмат аргументаў у функцыі" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, gcc-internal-format + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, gcc-internal-format + msgid "ISO C++ prohibits overloading %" + msgstr "" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, gcc-internal-format + msgid "%qD must have either zero or one argument" + msgstr "" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, gcc-internal-format + msgid "%qD must have either one or two arguments" + msgstr "" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, gcc-internal-format + msgid "postfix %qD must have % as its argument" + msgstr "" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, gcc-internal-format + msgid "postfix %qD must have % as its second argument" + msgstr "" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, fuzzy, gcc-internal-format + #| msgid "no arguments" + msgid "%qD must have no arguments" + msgstr "няма аргументаў" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, gcc-internal-format + msgid "%qD must have exactly one argument" + msgstr "" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, gcc-internal-format + msgid "%qD must have exactly two arguments" + msgstr "" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, fuzzy, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "нехапае аргументаў у функцыі \"%s\"" + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, gcc-internal-format + msgid "converting %qT to % will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, gcc-internal-format + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, gcc-internal-format + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, gcc-internal-format + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, gcc-internal-format + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "" + +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "" + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "" + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "" + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, fuzzy, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, fuzzy, gcc-internal-format + #| msgid "this is a previous declaration" + msgid "%qD has a previous declaration here" + msgstr "гэта папярэдняе абвяшчэньне" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, fuzzy, gcc-internal-format + #| msgid "this is a previous declaration" + msgid "%qT has a previous declaration here" + msgstr "гэта папярэдняе абвяшчэньне" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "" +@@ -55862,111 +55852,111 @@ msgstr "" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, fuzzy, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "параметр \"%s\" ініцыялізаваны" + +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, fuzzy, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "памер \"%s\" - %d байт" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, gcc-internal-format + msgid "class template %qD redeclared as non-template" + msgstr "" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, fuzzy, gcc-internal-format + msgid "%qT is not a template" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, fuzzy, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, fuzzy, gcc-internal-format + #| msgid "declaration of template `%#D'" + msgid "redeclaration of %qT as a non-template" + msgstr "абвяшчэньне шаблёну `%#D'" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, gcc-internal-format + msgid "cannot declare %qD in a different module" + msgstr "" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, gcc-internal-format + msgid "%qT defined with direct virtual base" + msgstr "" + +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, fuzzy, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "паўтарэнне \"restrict\"" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, gcc-internal-format + msgid "previous definition here" + msgstr "папярэдняе вызначэньне" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, gcc-internal-format + msgid "cannot define %qD in different module" + msgstr "" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, gcc-internal-format + msgid "underlying type %qT of %qT must be an integral type" + msgstr "" +@@ -55975,83 +55965,83 @@ msgstr "" + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, gcc-internal-format + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, fuzzy, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, gcc-internal-format + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, fuzzy, gcc-internal-format + #| msgid "previous definition of `%#T'" + msgid "multiple definition of %q#T" + msgstr "папярэдняе вызначэньне `%#T'" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, fuzzy, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "вяртаемы тып \"%s\" не \"int\"" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, gcc-internal-format + msgid "no return statements in function returning %qT" + msgstr "" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, gcc-internal-format + msgid "only plain % return type can be deduced to %" + msgstr "" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, gcc-internal-format + msgid "no return statement in % function returning non-void" + msgstr "" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, fuzzy, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "не знойдзен клас \"%s\"" + +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, gcc-internal-format + msgid "using %qs" + msgstr "" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "" +@@ -56906,7 +56896,7 @@ msgstr "" + msgid "type %qT is not a direct base of %qT" + msgstr "" + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "" +@@ -57965,7 +57955,7 @@ msgstr "" + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, gcc-internal-format + msgid "%qT is not a class, namespace, or enumeration" + msgstr "" +@@ -58717,7 +58707,7 @@ msgstr "" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for `%s' attribute" + msgid "wrong number of arguments to %<__builtin_launder%>" +@@ -59440,12 +59430,12 @@ msgstr "" + msgid "cannot expand initializer for member %qD" + msgstr "прапушчан ініцыялізатар" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "" +@@ -60051,7 +60041,7 @@ msgstr "невыкарыстаемы параметр \"%s\"" + msgid "%qT not permitted in template argument" + msgstr "" + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `%T'" +@@ -60922,7 +60912,7 @@ msgstr "" + msgid "% clause with parameter on range-based % loop" + msgstr "" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, gcc-internal-format + msgid "iteration variable %qD should not be reduction" + msgstr "" +@@ -61940,7 +61930,7 @@ msgstr "" + msgid "for template declaration %q+D" + msgstr "пустое абвяшчэнне" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, gcc-internal-format + msgid "template constraint failure for %qD" + msgstr "" +@@ -62036,279 +62026,279 @@ msgstr "функцыя не вяртае тып string" + msgid "function returning a function" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, gcc-internal-format + msgid "forming reference to void" + msgstr "" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, fuzzy, gcc-internal-format + msgid "forming pointer to reference type %qT" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, gcc-internal-format + msgid "forming reference to reference type %qT" + msgstr "" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, fuzzy, gcc-internal-format + msgid "forming pointer to qualified function type %qT" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, gcc-internal-format + msgid "forming reference to qualified function type %qT" + msgstr "" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr "" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr "" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr "" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, gcc-internal-format + msgid "creating array of %qT" + msgstr "" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not a class type" + msgstr "" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, fuzzy, gcc-internal-format + msgid "use of %qs in template" + msgstr "\"%s\" звычайна функцыя" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, gcc-internal-format + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, gcc-internal-format + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, gcc-internal-format + msgid "using invalid field %qD" + msgstr "" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, gcc-internal-format + msgid "invalid use of pack expansion expression" + msgstr "" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, gcc-internal-format + msgid "use %<...%> to expand argument pack" + msgstr "" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, gcc-internal-format + msgid "empty initializer in lambda init-capture" + msgstr "" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, gcc-internal-format + msgid "use %<%T::%D%> instead" + msgstr "" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, gcc-internal-format + msgid "%qD declared here, later in the translation unit" + msgstr "" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for `%s' attribute" + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for `%s' attribute" + msgid "wrong number of arguments to % attribute" + msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, fuzzy, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, fuzzy, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "\"%s\" звычайна функцыя" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, gcc-internal-format + msgid "%qT is/uses unnamed type" + msgstr "" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, fuzzy, gcc-internal-format + #| msgid "default argument for `%#D' has type `%T'" + msgid "template argument for %qD uses local type %qT" + msgstr "звычайны аргумэнт для `%#D' мае тып `%T'" + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, fuzzy, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "тып параметра \"%s\" не аб'яўлены" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr "" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, fuzzy, gcc-internal-format + msgid "ambiguous template instantiation for %q#T" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, fuzzy, gcc-internal-format + msgid "ambiguous template instantiation for %q#D" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + msgid "%s %#qS" + msgstr "" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of variable concept %q#D" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of function concept %q#D" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, gcc-internal-format + msgid "%qD is not a static data member of a class template" + msgstr "" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, gcc-internal-format + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, fuzzy, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, gcc-internal-format + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-class template %qD" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, fuzzy, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, gcc-internal-format + msgid "exception specification of %qD depends on itself" + msgstr "" +@@ -62320,164 +62310,164 @@ msgstr "" + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, gcc-internal-format + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, gcc-internal-format + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, gcc-internal-format + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "" + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, gcc-internal-format + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, fuzzy, gcc-internal-format + msgid "invalid template non-type parameter" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, fuzzy, gcc-internal-format + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, fuzzy, gcc-internal-format + msgid "keyword % not allowed in declarator-id" + msgstr "\"%s\" - гэта не пачатак дэкларацыі" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "a concept cannot be constrained" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, gcc-internal-format + msgid "concept %qE not in namespace scope" + msgstr "" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, gcc-internal-format + msgid "concept %qE has multiple template parameter lists" + msgstr "" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, gcc-internal-format + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "" + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, gcc-internal-format + msgid "non-deducible template %qT used without template arguments" + msgstr "" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, gcc-internal-format + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, gcc-internal-format + msgid "use %qD directly instead" + msgstr "" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, gcc-internal-format + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "" + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, fuzzy, gcc-internal-format + msgid "class template argument deduction failed:" + msgstr "параметр \"%s\" ініцыялізаваны" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, gcc-internal-format + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, gcc-internal-format + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr "" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, fuzzy, gcc-internal-format + msgid "explicit deduction guide declared here" + msgstr "ініцыялізацыя" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, gcc-internal-format + msgid "%qT may not intend to support class template argument deduction" + msgstr "" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, gcc-internal-format + msgid "unable to deduce lambda return type from %qE" + msgstr "" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, gcc-internal-format + msgid "unable to deduce %qT from %qE" + msgstr "" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, gcc-internal-format + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, gcc-internal-format + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, gcc-internal-format + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "" + +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, fuzzy, gcc-internal-format + msgid "invalid use of %qT in template argument" + msgstr "нявернае выкарыстанне \"restict\"" +@@ -62791,7 +62781,7 @@ msgstr "Нерэчаісная спецыфікацыя! Памылка ў cc." + msgid "cannot capture member %qD of anonymous union" + msgstr "" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, gcc-internal-format + msgid "%qD is not captured" + msgstr "" +@@ -63199,27 +63189,27 @@ msgstr "" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, fuzzy, gcc-internal-format + msgid "%qD is not a class or alias template" + msgstr "\"%s\" звычайна функцыя" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, gcc-internal-format + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "" + +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, gcc-internal-format + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, gcc-internal-format + msgid "non-pointer argument to %<__builtin_launder%>" + msgstr "" +@@ -63227,22 +63217,22 @@ msgstr "" + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "" +@@ -64491,223 +64481,223 @@ msgstr "няма папярэдняга аб'яўлення для \"%s\"" + msgid "declaration of %q#T" + msgstr "абвяшчэньне `%#D'" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, fuzzy, gcc-internal-format + msgid "%qD has incomplete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, fuzzy, gcc-internal-format + msgid "invalid use of incomplete type %q#T" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, gcc-internal-format + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, fuzzy, gcc-internal-format + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, fuzzy, gcc-internal-format + msgid "invalid use of placeholder %qT" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, fuzzy, gcc-internal-format + msgid "invalid use of template type parameter %qT" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, fuzzy, gcc-internal-format + msgid "invalid use of template template parameter %qT" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `%T'" + msgid "invalid use of pack expansion %qT" + msgstr "нерэчаіснае выкарыстаньне `%T'" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, fuzzy, gcc-internal-format + msgid "invalid use of dependent type %qT" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `restrict'" + msgid "invalid use of brace-enclosed initializer list" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, gcc-internal-format + msgid "% variable %qD does not have a constant initializer" + msgstr "" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "" + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, gcc-internal-format + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr "" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, gcc-internal-format + msgid "initializer-string for %qT is too long" + msgstr "" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, gcc-internal-format + msgid "remove %<{ }%> around initializer" + msgstr "" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, fuzzy, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "прапушчан ініцыялізатар" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, fuzzy, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "параметр \"%s\" ініцыялізаваны" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, fuzzy, gcc-internal-format + msgid "member %qD with uninitialized reference fields" + msgstr "параметр \"%s\" ініцыялізаваны" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, gcc-internal-format + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, fuzzy, gcc-internal-format + #| msgid "size of array `%D' has non-integer type" + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "памер масіва `%D' не цэлалікавы тып" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr "" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, fuzzy, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, gcc-internal-format + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, fuzzy, gcc-internal-format + msgid "functional cast to array type %qT" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, gcc-internal-format + msgid "% cannot be constrained" + msgstr "" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, gcc-internal-format + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, fuzzy, gcc-internal-format + msgid "invalid value-initialization of reference type" + msgstr "нерэчаісны ініцыялізатар" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, fuzzy, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, fuzzy, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "\"%s\" мае незавершаны тып" +@@ -65647,7 +65637,7 @@ msgstr "" + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid string constant `%E'" + msgid "Invalid use of BOZ literal constant at %L" +@@ -66744,12 +66734,12 @@ msgstr "" + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "" +@@ -66931,7 +66921,7 @@ msgstr "" + msgid "deferred type parameter at %C" + msgstr "" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "" +@@ -68948,7 +68938,7 @@ msgstr "" + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, gcc-internal-format + msgid "Function %qs in initialization expression at %L must be an intrinsic function" + msgstr "" +@@ -69219,7 +69209,7 @@ msgstr "" + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, gcc-internal-format + msgid "Explicit interface required for %qs at %L: %s" + msgstr "" +@@ -69337,7 +69327,7 @@ msgstr "" + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must not be ALLOCATABLE" + msgstr "" +@@ -69347,7 +69337,7 @@ msgstr "" + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must have the SAVE attribute" + msgstr "" +@@ -69478,7 +69468,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, gcc-internal-format, gfc-internal-format + msgid "Creating array temporary at %L" +@@ -69695,12 +69685,12 @@ msgstr "" + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "" +@@ -69810,563 +69800,563 @@ msgstr "" + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid procedure argument at %L" + msgstr "" + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, gcc-internal-format + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, gcc-internal-format + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, gcc-internal-format, gfc-internal-format + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "" + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, gcc-internal-format + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr "" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, gcc-internal-format + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, gcc-internal-format + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, gcc-internal-format + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, gcc-internal-format, gfc-internal-format + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, gcc-internal-format + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, gcc-internal-format + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, gcc-internal-format + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, gcc-internal-format, gfc-internal-format + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, gcc-internal-format + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, gcc-internal-format + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, gcc-internal-format, gfc-internal-format + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, gcc-internal-format + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, gcc-internal-format + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, gcc-internal-format + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, gcc-internal-format + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, gcc-internal-format + msgid "Expected a procedure for argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, gcc-internal-format + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, gcc-internal-format + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, fuzzy, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, gcc-internal-format + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, gcc-internal-format + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, gcc-internal-format + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, gcc-internal-format + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, gcc-internal-format + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, gcc-internal-format + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, gcc-internal-format + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, gcc-internal-format + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, gcc-internal-format + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, gcc-internal-format + msgid "Missing actual argument for argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr "" + +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, gcc-internal-format + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, gcc-internal-format + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, gcc-internal-format + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, gcc-internal-format + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, gcc-internal-format + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, gcc-internal-format + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, gcc-internal-format, gfc-internal-format + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, gcc-internal-format + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, gcc-internal-format + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD argument to NULL required at %L" + msgstr "" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, gcc-internal-format, gfc-internal-format + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, gcc-internal-format + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "" + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, fuzzy, gcc-internal-format + #| msgid "failed to find class '%s'" + msgid "Unable to find symbol %qs" + msgstr "не знойдзен клас \"%s\"" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, gcc-internal-format + msgid "Entity %qs at %L is already present in the interface" + msgstr "" + +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, gcc-internal-format + msgid "gfc_add_interface(): Bad interface type" + msgstr "" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, gcc-internal-format + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, gcc-internal-format + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, gcc-internal-format + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, gcc-internal-format + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, gcc-internal-format + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, gcc-internal-format + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, gcc-internal-format + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, gcc-internal-format + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, gcc-internal-format + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, gcc-internal-format + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, gcc-internal-format + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, gcc-internal-format + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, gcc-internal-format + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, gcc-internal-format + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, gcc-internal-format + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO character argument at %L must have assumed length" + msgstr "" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, gcc-internal-format + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, gcc-internal-format + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, gcc-internal-format + msgid "Too many dummy arguments in DTIO procedure %qs at %L" + msgstr "" +@@ -70551,7 +70541,7 @@ msgstr "пераўтварэньне з `%T' у `%T'" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, gcc-internal-format, gfc-internal-format + msgid "Cannot convert %s to %s at %L" + msgstr "" +@@ -71104,7 +71094,7 @@ msgstr "" + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, gcc-internal-format + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" + msgstr "" +@@ -71675,7 +71665,7 @@ msgstr "" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "" + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, gcc-internal-format, gfc-internal-format + msgid "QUIET specifier at %L must be a scalar LOGICAL" + msgstr "" +@@ -73537,8 +73527,8 @@ msgstr "" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "" +@@ -75507,720 +75497,710 @@ msgstr "" + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:881 +-#, gcc-internal-format, gfc-internal-format +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "" +- +-#: fortran/resolve.cc:885 +-#, gcc-internal-format, gfc-internal-format +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, gcc-internal-format, gfc-internal-format + msgid "COMMON block at %L" + msgstr "" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, gcc-internal-format + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, gcc-internal-format + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, gcc-internal-format + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, gcc-internal-format + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, gcc-internal-format + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, gcc-internal-format + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, gcc-internal-format + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, gcc-internal-format + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a function result" + msgstr "" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, gcc-internal-format, gfc-internal-format + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, gcc-internal-format + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, gcc-internal-format + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, gcc-internal-format + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, gcc-internal-format + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, gcc-internal-format + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, gcc-internal-format + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, gcc-internal-format + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, fuzzy, gcc-internal-format + msgid "%qs at %L is ambiguous" + msgstr "памер \"%s\" - %d байт" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, gcc-internal-format + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, gcc-internal-format + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, gcc-internal-format + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, gcc-internal-format + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "" + +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, gcc-internal-format + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "" + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, gcc-internal-format + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, gcc-internal-format + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, fuzzy, gcc-internal-format + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "метка \"%s\" вызначана, але не выкарыстоўваецца" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, gcc-internal-format + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, gcc-internal-format + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, gcc-internal-format + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, gcc-internal-format + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, fuzzy, gcc-internal-format + msgid "Symbol %qs at %L is ambiguous" + msgstr "памер \"%s\" - %d байт" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not of numeric type" + msgstr "" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not allowed in this context" + msgstr "" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, gcc-internal-format + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, gcc-internal-format + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, gcc-internal-format + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, gcc-internal-format + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, gcc-internal-format + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, gcc-internal-format + msgid "There is no specific function for the generic %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, gcc-internal-format + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "" + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, gcc-internal-format + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, gcc-internal-format + msgid "Unable to resolve the specific function %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "" + +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, gcc-internal-format + msgid "Unexpected junk after %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, fuzzy, gcc-internal-format + #| msgid "`%D' is not a function," + msgid "%qs at %L is not a function" + msgstr "`%D' - гэта ня функцыя," + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, gcc-internal-format + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, gcc-internal-format + msgid "resolve_function(): bad function type" + msgstr "" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, gcc-internal-format + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, gcc-internal-format + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, gcc-internal-format + msgid "Using function %qs at %L is deprecated" + msgstr "" + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, gcc-internal-format + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, gcc-internal-format + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, gcc-internal-format + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, gcc-internal-format + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, gcc-internal-format + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, gcc-internal-format + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, gcc-internal-format + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, gcc-internal-format + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, gcc-internal-format + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, gcc-internal-format + msgid "resolve_subroutine(): bad function type" + msgstr "" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, gcc-internal-format + msgid "Using subroutine %qs at %L is deprecated" + msgstr "" + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, gcc-internal-format, gfc-internal-format + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "" + +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, gcc-internal-format + msgid "Impure function %qs at %L might not be evaluated" + msgstr "" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, gcc-internal-format, gfc-internal-format + msgid "Impure function at %L might not be evaluated" + msgstr "" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, gcc-internal-format + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, gcc-internal-format, gfc-internal-format + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" + msgstr "" + +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, gcc-internal-format, gfc-internal-format + msgid "Equality comparison for %s at %L" + msgstr "" + +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, gcc-internal-format, gfc-internal-format + msgid "Inequality comparison for %s at %L" + msgstr "" + +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, gcc-internal-format + msgid "check_dimension(): Bad array reference" + msgstr "" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "" + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, gcc-internal-format, gfc-internal-format + msgid "REAL array index at %L" + msgstr "" + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid array reference of a non-array entity at %L" + msgstr "" + +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "" + +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "памер масіва \"%s\" вельмі вялікі" + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "size of array `%s' is too large" + msgid "Substring end index at %L is too large" + msgstr "памер масіва \"%s\" вельмі вялікі" + +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, gcc-internal-format + msgid "resolve_ref(): Bad array reference" + msgstr "" + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "" + +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may only be used as actual argument" + msgstr "" +@@ -76229,12 +76209,12 @@ msgstr "" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L may only be used as actual argument" + msgstr "" +@@ -76243,293 +76223,293 @@ msgstr "" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, gcc-internal-format + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, gcc-internal-format + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "" + +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, gcc-internal-format + msgid "Using variable %qs at %L is deprecated" + msgstr "" + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, gcc-internal-format + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, gcc-internal-format, gfc-internal-format + msgid "Error in typebound call at %L" + msgstr "" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, gcc-internal-format, gfc-internal-format + msgid "Passed-object at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, gcc-internal-format + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, gcc-internal-format, gfc-internal-format + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, gcc-internal-format + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, gcc-internal-format + msgid "%qs at %L should be a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, gcc-internal-format + msgid "%qs at %L should be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, gcc-internal-format + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be integer" + msgstr "" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, gcc-internal-format + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, gcc-internal-format, gfc-internal-format + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, gcc-internal-format, gfc-internal-format + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, gcc-internal-format + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, gcc-internal-format + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "" + +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "" +@@ -76538,284 +76518,284 @@ msgstr "" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "" + +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "" + +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "" + +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, gcc-internal-format, gfc-internal-format + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, gcc-internal-format + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure name" + msgstr "" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L cannot be NULL()" + msgstr "" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L has no type" + msgstr "" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, gcc-internal-format, gfc-internal-format + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L must not be coindexed" + msgstr "" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, gcc-internal-format, gfc-internal-format + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, gcc-internal-format + msgid "Derived type %qs at %L must be extensible" + msgstr "" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, gcc-internal-format + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, gcc-internal-format + msgid "Unexpected intrinsic type %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, gcc-internal-format, gfc-internal-format + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO %s procedure at %L must be recursive" + msgstr "" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, gcc-internal-format, gfc-internal-format + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, gcc-internal-format, gfc-internal-format + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, gcc-internal-format, gfc-internal-format + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, gcc-internal-format, gfc-internal-format + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, gcc-internal-format, gfc-internal-format + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, gcc-internal-format, gfc-internal-format + msgid "Branch at %L may result in an infinite loop" + msgstr "" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "" +@@ -76823,207 +76803,207 @@ msgstr "" + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, gcc-internal-format + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL construct at %L" + msgstr "" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "" + +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, gcc-internal-format, gfc-internal-format + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "" + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, gcc-internal-format + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "" + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer procedure assignment at %L" + msgstr "" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, gcc-internal-format, gfc-internal-format + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "" + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, gcc-internal-format + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, gcc-internal-format, gfc-internal-format + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, gcc-internal-format + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, gcc-internal-format, gfc-internal-format + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid NULL at %L" + msgstr "" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, gcc-internal-format, gfc-internal-format + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "" + +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, gcc-internal-format + msgid "gfc_resolve_code(): Bad statement code" + msgstr "" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, fuzzy, gcc-internal-format + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "тып параметра \"%s\" не аб'яўлены" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, gcc-internal-format + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, gcc-internal-format + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" + msgstr "" +@@ -77031,987 +77011,987 @@ msgstr "" + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, gcc-internal-format + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "size of array `%s' is too large" + msgid "String length at %L is too large" + msgstr "памер масіва \"%s\" вельмі вялікі" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, gcc-internal-format + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, gcc-internal-format + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, gcc-internal-format + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, gcc-internal-format + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, gcc-internal-format + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, gcc-internal-format + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, gcc-internal-format + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" + msgstr "" + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, gcc-internal-format + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, gcc-internal-format + msgid "%qs at %L must have constant character length in this context" + msgstr "" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, gcc-internal-format + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, gcc-internal-format + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, gcc-internal-format + msgid "External %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, gcc-internal-format + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, gcc-internal-format + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, gcc-internal-format + msgid "Function result %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, gcc-internal-format + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L" + msgstr "" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, gcc-internal-format + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, gcc-internal-format + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, gcc-internal-format + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, gcc-internal-format + msgid "Function %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, gcc-internal-format + msgid "External object %qs at %L may not have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, gcc-internal-format + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, gcc-internal-format + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "" + +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "" + +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, gcc-internal-format + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, gcc-internal-format + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, gcc-internal-format + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, gcc-internal-format + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, gcc-internal-format + msgid "Interface of %qs at %L must be explicit" + msgstr "" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, gcc-internal-format + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, gcc-internal-format + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, gcc-internal-format, gfc-internal-format + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, gcc-internal-format + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, gcc-internal-format + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, gcc-internal-format + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, gcc-internal-format + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, gcc-internal-format + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, gcc-internal-format + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, gcc-internal-format + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, gcc-internal-format, gfc-internal-format + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, gcc-internal-format + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, gcc-internal-format + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, gcc-internal-format + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, gcc-internal-format + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, gcc-internal-format + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, gcc-internal-format + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, gcc-internal-format + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, gcc-internal-format + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, gcc-internal-format + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, gcc-internal-format + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, gcc-internal-format + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, gcc-internal-format + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "" + +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, gcc-internal-format + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, gcc-internal-format + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, gcc-internal-format + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, gcc-internal-format, gfc-internal-format + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, gcc-internal-format, gfc-internal-format + msgid "Conflicting initializers in union at %L and %L" + msgstr "" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, gcc-internal-format + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, gcc-internal-format + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, gcc-internal-format + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, gcc-internal-format + msgid "Derived type %qs at %L has not been declared" + msgstr "" + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, gcc-internal-format + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "" + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, gcc-internal-format + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, gcc-internal-format + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, gcc-internal-format + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, gcc-internal-format + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, gcc-internal-format + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, gcc-internal-format + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, gcc-internal-format + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, gcc-internal-format + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, gcc-internal-format + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, gcc-internal-format + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, gcc-internal-format, gfc-internal-format + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, gcc-internal-format, gfc-internal-format + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, gcc-internal-format + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, gcc-internal-format, gfc-internal-format + msgid "Bad specification for assumed size array at %L" + msgstr "" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, gcc-internal-format + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, gcc-internal-format + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, gcc-internal-format + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, gcc-internal-format + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "" + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, gcc-internal-format + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, gcc-internal-format + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "" + +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, gcc-internal-format + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, gcc-internal-format + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, gcc-internal-format + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, gcc-internal-format + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, gcc-internal-format + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, gcc-internal-format + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, gcc-internal-format + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, gcc-internal-format + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, gcc-internal-format + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, gcc-internal-format + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, gcc-internal-format + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, gcc-internal-format + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, gcc-internal-format + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "" + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, gcc-internal-format, gfc-internal-format + msgid "Expecting definable entity near %L" + msgstr "" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, gcc-internal-format + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, gcc-internal-format + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L shall not be zero" + msgstr "" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "label `%s' defined but not used" + msgid "Label %d at %L defined but not used" + msgstr "адмеціна `%s' вызначана, але ня выкарыстоўваецца" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "label `%s' defined but not used" + msgid "Label %d at %L defined but cannot be used" + msgstr "адмеціна `%s' вызначана, але ня выкарыстоўваецца" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, gcc-internal-format + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, gcc-internal-format + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, gcc-internal-format + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, gcc-internal-format + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, gcc-internal-format + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, gcc-internal-format + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, gcc-internal-format + msgid "Self reference in character length expression for %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, gcc-internal-format + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, gcc-internal-format + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, gcc-internal-format + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, gcc-internal-format + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" + msgstr "" +@@ -78912,7 +78892,7 @@ msgstr "" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "" +@@ -78924,12 +78904,12 @@ msgstr "" + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, gcc-internal-format + msgid "Creating array temporary at %L for argument %qs" + msgstr "" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "" +@@ -79022,87 +79002,82 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "" + + #: fortran/trans-decl.cc:1795 +-#, gcc-internal-format, gfc-internal-format +-msgid "%s at %C has no default type" +-msgstr "" +- +-#: fortran/trans-decl.cc:1798 + #, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, gcc-internal-format + msgid "Return value of function %qs at %L not set" + msgstr "" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, gcc-internal-format + msgid "Deferred type parameter not yet supported" + msgstr "" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, gcc-internal-format + msgid "backend decl for module variable %qs already exists" + msgstr "" + +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, gcc-internal-format + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, gcc-internal-format + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, gcc-internal-format + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, gcc-internal-format + msgid "Unused dummy argument %qs at %L" + msgstr "" + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, gcc-internal-format + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "" + +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, fuzzy, gcc-internal-format + #| msgid "unused variable `%s'" + msgid "Unused variable %qs declared at %L" + msgstr "невыкарыстоўваемая пераменная \"%s\"" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, fuzzy, gcc-internal-format + msgid "Unused parameter %qs declared at %L" + msgstr "тып параметра \"%s\" не аб'яўлены" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, gcc-internal-format + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, gcc-internal-format + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "" +@@ -79117,28 +79092,28 @@ msgstr "" + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, fuzzy, gcc-internal-format + msgid "Unknown intrinsic op" + msgstr "невядомы рэжым машыны \"%s\"" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "too few arguments to function `%s'" + msgid "Unknown argument list function at %L" + msgstr "нехапае аргументаў у функцыі \"%s\"" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "" +diff --git a/gcc/po/da.po b/gcc/po/da.po +index 1e91ff4fc8b..51771709780 100644 +--- a/gcc/po/da.po ++++ b/gcc/po/da.po +@@ -137,7 +137,7 @@ msgid "" + msgstr "" + "Project-Id-Version: gcc-9.1-b20190203\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" + "PO-Revision-Date: 2019-02-14 11:00+0200\n" + "Last-Translator: Joe Hansen \n" + "Language-Team: Danish \n" +@@ -4341,7 +4341,7 @@ msgstr "" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "" + + #: m2/lang.opt:127 +@@ -8303,12 +8303,6 @@ msgstr "" + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "" + +-#: config/i386/i386.opt:1280 +-#, fuzzy, no-c-format +-#| msgid "Support MMX and SSE built-in functions and code generation" +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "Understøt indbyggede MMX- og SSE-funktioner og kodegenerering" +- + #: config/pa/pa64-hpux.opt:23 + #, no-c-format + msgid "Assume code will be linked by GNU ld." +@@ -18689,12 +18683,12 @@ msgstr "»%%l«-operand er ikke en etiket" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "kommatalskonstant misbrugt" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +@@ -19783,65 +19777,65 @@ msgstr "Dette tilvalg mangler dokumentation." + msgid "Uses of this option are diagnosed." + msgstr "Brug af dette tilvalg diagnosticeres." + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "" + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, fuzzy, c-format + #| msgid "%s Same as %s." + msgid "Same as %s%s." + msgstr "%s Samme som %s." + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, fuzzy, c-format + #| msgid "%s Same as %s." + msgid "Same as %s." + msgstr "%s Samme som %s." + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, c-format + msgid "%s Same as %s." + msgstr "%s Samme som %s." + +-#: opts.cc:1733 ++#: opts.cc:1732 + msgid "[available in " + msgstr "" + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "[standard]" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, c-format + msgid "%llu bytes" + msgstr "" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "[aktiveret]" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "[deaktiveret]" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr " Ingen tilvalg med de ønskede karakteristika blev fundet\n" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr " Ingen fundet. Brug --help=%s for at vise *alle* tilvalgene understøttet af brugerfladen %s.\n" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr " Alle tilvalg med de ønskede karakteristika er allerede blevet vist\n" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, fuzzy, c-format + #| msgid "invalid type argument" + msgid "" +@@ -19849,49 +19843,49 @@ msgid "" + " " + msgstr "ugyldig typeparameter" + +-#: opts.cc:1959 ++#: opts.cc:1958 + msgid "The following options are target specific" + msgstr "De følgende tilvalg er målspecifikke" + +-#: opts.cc:1962 ++#: opts.cc:1961 + msgid "The following options control compiler warning messages" + msgstr "De følgende tilvalg kontrollerer advarselsbeskeder for oversætteren" + +-#: opts.cc:1965 ++#: opts.cc:1964 + msgid "The following options control optimizations" + msgstr "De følgende tilvalg kontrollerer optimeringer" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + msgid "The following options are language-independent" + msgstr "De følgende tilvalg er sproguafhængige" + +-#: opts.cc:1971 ++#: opts.cc:1970 + #, fuzzy + #| msgid "The following options control optimizations" + msgid "The following options control parameters" + msgstr "De følgende tilvalg kontrollerer optimeringer" + +-#: opts.cc:1977 ++#: opts.cc:1976 + msgid "The following options are specific to just the language " + msgstr "De følgende tilvalg er specifikke kun for sproget " + +-#: opts.cc:1979 ++#: opts.cc:1978 + msgid "The following options are supported by the language " + msgstr "De følgende tilvalg er understøttet af sproget " + +-#: opts.cc:1990 ++#: opts.cc:1989 + msgid "The following options are not documented" + msgstr "De følgende tilvalg er ikke dokumenterede" + +-#: opts.cc:1992 ++#: opts.cc:1991 + msgid "The following options take separate arguments" + msgstr "De følgende tilvalg anvender forskellige parametre" + +-#: opts.cc:1994 ++#: opts.cc:1993 + msgid "The following options take joined arguments" + msgstr "De følgende tilvalg anvender fælles parametre" + +-#: opts.cc:2006 ++#: opts.cc:2005 + msgid "The following options are language-related" + msgstr "De følgende tilvalg er sprogrelaterede" + +@@ -20281,78 +20275,78 @@ msgstr "længdemodifikation i strfmon-formatering" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, fuzzy, c-format + #| msgid "Unsupported operand for code '%c'" + msgid "unsupported operand for code '%c'" + msgstr "Ikke understøttet operand for koden »%c«" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "ugyldig operand for »%%%c«" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, fuzzy, c-format + #| msgid "invalid constant" + msgid "invalid vector constant" + msgstr "ugyldig konstant:" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, fuzzy, c-format + #| msgid "invalid operand for '%%%c'" + msgid "incompatible register operand for '%%%c'" + msgstr "ugyldig operand for »%%%c«" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, c-format + msgid "missing operand" + msgstr "manglende operand" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, c-format + msgid "invalid constant" + msgstr "ugyldig konstant:" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, c-format + msgid "invalid operand" + msgstr "ugyldig operand" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "ugyldig operandpræfiks »%%%c«" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, fuzzy, c-format + #| msgid "invalid addressing mode" + msgid "invalid address mode" + msgstr "ugyldig adresseringstilstand" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + #, fuzzy + #| msgid "invalid operands to binary %s" + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "ugyldige operander til binær %s" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "»%%&« brugt uden nogle lokale dynamiske TLS-referencer" +@@ -20369,18 +20363,18 @@ msgid "invalid %%r value" + msgstr "ugyldig %%r-værdi" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "ugyldig %%R-værdi" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "ugyldig %%N-værdi" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" + msgstr "ugyldig %%P-værdi" +@@ -20410,7 +20404,7 @@ msgstr "ugyldig %%M-værdi" + msgid "invalid %%U value" + msgstr "ugyldig %%U-værdi" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" + msgstr "ugyldig %%s-værdi" +@@ -20420,7 +20414,7 @@ msgstr "ugyldig %%s-værdi" + msgid "invalid %%C value" + msgstr "ugyldig %%C-værdi" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" + msgstr "ugyldig %%E-værdi" +@@ -20433,7 +20427,7 @@ msgstr "ukendt relokaliserings-unspec" + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" + msgstr "ugyldig %%xn-kode" +@@ -20517,37 +20511,37 @@ msgstr "ugyldig UNSPEC som operand: %d" + msgid "unrecognized supposed constant" + msgstr "ukendt formodet konstant" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, c-format + msgid "invalid shift operand" + msgstr "ugyldig skift-operand" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, fuzzy, c-format + #| msgid "Generate char instructions" + msgid "predicated Thumb instruction" + msgstr "Generér char-instruktioner" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, fuzzy, c-format + #| msgid "ret instruction not implemented" + msgid "predicated instruction in conditional sequence" + msgstr "ret-instruktion ikke implementeret" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Ikke understøttet operand for koden »%c«" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -20556,30 +20550,30 @@ msgstr "Ikke understøttet operand for koden »%c«" + msgid "invalid operand for code '%c'" + msgstr "ugyldig operand for koden »%c«" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, c-format + msgid "instruction never executed" + msgstr "instruktion aldrig udført" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "forældet Maverick-formatkode »%c«" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %" + msgstr "ugyldig konvertering fra %<__fpreg%>" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + #, fuzzy + #| msgid "invalid conversion to type `%T' from type `%T'" + msgid "invalid conversion to type %" + msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "" + +@@ -20960,102 +20954,100 @@ msgstr "ugyldig konstant:" + msgid "Expected register or constant integer." + msgstr "']' forventet, ugyldigt typeudtryk" + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, c-format + msgid "invalid UNSPEC as operand" + msgstr "ugyldig UNSPEC som operand" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, fuzzy, c-format + #| msgid "invalid use of `restrict'" + msgid "invalid use of register '%s'" + msgstr "ugyldig brug af 'restrict'" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, c-format + msgid "invalid use of asm flag output" + msgstr "ugyldig brug af asm-flaguddata" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, c-format + msgid "invalid operand size for operand code 'O'" + msgstr "ugyldig operandstørrelse for operandkoden »O«" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, c-format + msgid "invalid operand size for operand code 'z'" + msgstr "ugyldig operandstørrelse for operandkoden »z«" + +-#: config/i386/i386.cc:13290 +-#, fuzzy, c-format +-#| msgid "invalid operand type used with operand code 'Z'" +-msgid "invalid operand type used with operand code '%c'" ++#: config/i386/i386.cc:13283 ++#, c-format ++msgid "invalid operand type used with operand code 'Z'" + msgstr "ugyldig operandtype brugt med operandkoden »Z«" + +-#: config/i386/i386.cc:13295 +-#, fuzzy, c-format +-#| msgid "invalid operand size for operand code 'O'" +-msgid "invalid operand size for operand code '%c'" +-msgstr "ugyldig operandstørrelse for operandkoden »O«" ++#: config/i386/i386.cc:13288 ++#, c-format ++msgid "invalid operand size for operand code 'Z'" ++msgstr "ugyldig operandstørrelse for operandkoden »Z«" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, c-format + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "operand er ikke en betingelseskode, ugyldig operandkode »Y«" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, c-format + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "operand er ikke en betingelseskode, ugyldig operandkode »D«" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, c-format + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "operand er ikke en betingelseskode, ugyldig operandkode »%c«" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, c-format + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "operand er ikke en offsettable-hukommelsesreference, ugyldig operandkode »H«" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, c-format + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "operand er ikke et heltal, ugyldig operandkode »K«" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "operand er ikke et specifikt heltal, ugyldig operandkode »r«" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, c-format + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "operand er ikke et heltal, ugyldig operandkode »R«" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, fuzzy, c-format + #| msgid "operand is not a specific integer, invalid operand code 'r'" + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "operand er ikke et specifikt heltal, ugyldig operandkode »r«" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, c-format + msgid "invalid operand code '%c'" + msgstr "ugyldig operandkode »%c«" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, c-format + msgid "invalid constraints for operand" + msgstr "ugyldige begrænsninger for operand" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, fuzzy, c-format + #| msgid "invalid constant" + msgid "invalid vector immediate" + msgstr "ugyldig konstant:" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + msgid "unknown insn mode" + msgstr "ukendt instruktionstilstand" + +@@ -21086,7 +21078,7 @@ msgstr "ugyldig operation på %<__fpreg%>" + msgid "invalid %%P operand" + msgstr "ugyldig %%P-operand" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" + msgstr "ugyldig %%p-værdi" +@@ -21131,8 +21123,8 @@ msgstr "»%%%c« er ikke et gyldigt operandpræfiks" + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, c-format + msgid "invalid use of '%%%c'" + msgstr "ugyldig brug af »%%%c«" +@@ -21164,7 +21156,7 @@ msgid "post-increment address is not a register" + msgstr "postfiks forøgelsesadresse er ikke et register" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" + msgstr "ugyldig adresse" + +@@ -21333,7 +21325,7 @@ msgstr "ikke-understøttet kombination: %s" + msgid "unsupported memory expression:" + msgstr "fast-punkt-konvertering er ikke understøttet" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, fuzzy, c-format + #| msgid "invalid %%r operand" + msgid "invalid vector operand" +@@ -21402,154 +21394,154 @@ msgstr "-mquad-memory er ikke tilgængelig i lilleendet tilstand" + msgid "bad move" + msgstr "ugyldig operand" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" + msgstr "" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, fuzzy, c-format + #| msgid "invalid %%J value" + msgid "invalid %%A value" + msgstr "ugyldig %%J-værdi" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" + msgstr "ugyldig %%D-værdi" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, c-format + msgid "invalid %%e value" + msgstr "ugyldig %%e-værdi" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" + msgstr "ugyldig %%f-værdi" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" + msgstr "ugyldig %%F-værdi" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" + msgstr "ugyldig %%G-værdi" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" + msgstr "ugyldig %%j-kode" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" + msgstr "ugyldig %%J-kode" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" + msgstr "ugyldig %%k-værdi" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "ugyldig %%K-værdi" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" + msgstr "ugyldig %%O-værdi" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" + msgstr "ugyldig %%q-værdi" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, fuzzy, c-format + #| msgid "invalid %%J value" + msgid "invalid %%t value" + msgstr "ugyldig %%J-værdi" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" + msgstr "ugyldig %%T-værdi" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" + msgstr "ugyldig %%u-værdi" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "ugyldig %%v-værdi" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, fuzzy, c-format + #| msgid "invalid %%J value" + msgid "invalid %%V value" + msgstr "ugyldig %%J-værdi" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" + msgstr "ugyldig %%x-værdi" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, c-format + msgid "invalid %%z value" + msgstr "ugyldig %%z-værdi" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "ugyldig %%y-værdi, prøv at brug »Z«-begrænsningen" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + #, fuzzy + #| msgid "Use hardware floating point instructions" + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "Benyt hardware-kommatalsinstruktioner" + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + msgid "AltiVec argument passed to unprototyped function" + msgstr "AltiVec-parameter sendt til funktion uden prototype" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + msgid "Could not generate addis value for fusion" + msgstr "Kunne ikke generere addis-værdi for fusion" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + msgid "Unable to generate load/store offset for fusion" + msgstr "Kunne ikke generere indlæsning/lagring af forskydning for fusion" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" + msgstr "Ugyldig GPR-fusion" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "ugyldig konvertering fra %<__fpreg%>" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + #, fuzzy + #| msgid "invalid conversion to %<__fpreg%>" + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "ugyldig konvertering til %<__fpreg%>" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "ugyldig konvertering fra %<__fpreg%>" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + #, fuzzy + #| msgid "invalid conversion to %<__fpreg%>" + msgid "invalid conversion to type %<__vector_pair%>" +@@ -22016,7 +22008,7 @@ msgstr "kandidat 1:" + msgid " after user-defined conversion:" + msgstr "Aktivér brug af DB-instruktioner" + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + #, fuzzy + msgid "candidate is:" + msgid_plural "candidates are:" +@@ -22553,7 +22545,7 @@ msgstr "typerne i betingelsesudtrykket passer ikke sammen" + msgid "Driving:" + msgstr "advarsel: " + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + msgid "actual argument to INTENT = OUT/INOUT" + msgstr "" + +@@ -22743,11 +22735,11 @@ msgstr "" + msgid "implied END DO" + msgstr "" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + msgid "assignment" + msgstr "tildeling" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + #, fuzzy + #| msgid "assignment" + msgid "pointer assignment" +@@ -22757,233 +22749,233 @@ msgstr "tildeling" + msgid "simple IF" + msgstr "" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + msgid "elemental procedure" + msgstr "" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + #, fuzzy + #| msgid "invalid type argument" + msgid "allocatable argument" + msgstr "ugyldig typeparameter" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + #, fuzzy + #| msgid "no arguments" + msgid "asynchronous argument" + msgstr "ingen parametre" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + #, fuzzy + #| msgid "no arguments" + msgid "optional argument" + msgstr "ingen parametre" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + #, fuzzy + #| msgid "no arguments" + msgid "pointer argument" + msgstr "ingen parametre" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + #, fuzzy + #| msgid "no arguments" + msgid "target argument" + msgstr "ingen parametre" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + #, fuzzy + #| msgid "invalid type argument" + msgid "value argument" + msgstr "ugyldig typeparameter" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + #, fuzzy + #| msgid "no arguments" + msgid "volatile argument" + msgstr "ingen parametre" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + #, fuzzy + #| msgid "invalid type argument" + msgid "assumed-shape argument" + msgstr "ugyldig typeparameter" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + #, fuzzy + #| msgid "no arguments" + msgid "assumed-rank argument" + msgstr "ingen parametre" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + #, fuzzy + #| msgid "no arguments" + msgid "coarray argument" + msgstr "ingen parametre" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + #, fuzzy + #| msgid "invalid type argument" + msgid "parametrized derived type argument" + msgstr "ugyldig typeparameter" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + #, fuzzy + #| msgid "no arguments" + msgid "polymorphic argument" + msgstr "ingen parametre" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + msgid "NO_ARG_CHECK attribute" + msgstr "" + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + #, fuzzy + #| msgid "invalid type argument" + msgid "assumed-type argument" + msgstr "ugyldig typeparameter" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + msgid "array result" + msgstr "" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + #, fuzzy + #| msgid "Do not allocate BK register" + msgid "pointer or allocatable result" + msgstr "Allokér ikke BK-registeret" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + msgid "result with non-constant character length" + msgstr "" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + msgid "bind(c) procedure" + msgstr "" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, c-format + msgid "Invalid context for NULL() pointer at %%L" + msgstr "" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, c-format + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, c-format + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, c-format + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + #, fuzzy + #| msgid "`%V' qualifiers cannot be applied to `%T'" + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "modifikationerne '%V' kan ikke anvendes på '%T'" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, c-format + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, fuzzy, c-format + #| msgid "unknown register name: %s" + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "ukendt registernavn: %s" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, fuzzy, c-format + #| msgid "unknown register name: %s" + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "ukendt registernavn: %s" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, c-format + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, c-format + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, c-format + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + msgid "iterator variable" + msgstr "" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + msgid "Start expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + #, fuzzy + #| msgid "invalid expression as operand" + msgid "End expression in DO loop" + msgstr "ugyldigt udtryk som operand" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + msgid "Step expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + msgid "DEALLOCATE object" + msgstr "" + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + msgid "ALLOCATE object" + msgstr "" + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + msgid "STAT variable" + msgstr "" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + msgid "ERRMSG variable" + msgstr "" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + msgid "item in READ" + msgstr "" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + msgid "ACQUIRED_LOCK variable" + msgstr "" + +@@ -22996,27 +22988,27 @@ msgstr "" + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, c-format + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, c-format + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + msgid "Assignment of scalar to unallocated array" + msgstr "" + +@@ -23978,7 +23970,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "-g er kun understøttet ved brug af GAS på denne processor," + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "syntax error at '%s' token" + msgid "Syntax error in %s statement at %C" +@@ -24378,7 +24370,7 @@ msgstr "dataområdet '%s' er i modstrid med tidligere erklæring" + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration `%#D' here" +@@ -24483,10 +24475,10 @@ msgstr "egenskaben '%s' kan kun anvendes med klassedefinitioner" + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -24629,7 +24621,7 @@ msgstr "kan ikke læse funktionsprofil fra %s." + msgid "offset %qwi outside bounds of constant string" + msgstr "forskydning udenfor grænserne af konstant streng" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, fuzzy, gcc-internal-format + #| msgid " `%#D' declared here" + msgid "%qE declared here" +@@ -26636,7 +26628,7 @@ msgstr "stort heltal forkortes underforstået til type uden fortegn" + msgid "comparison is always %d due to width of bit-field" + msgstr "sammenligning er altid %d på grund af den begrænsede rækkevidde af bitfeltet" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "" +@@ -27475,7 +27467,7 @@ msgstr "funktion returnerer adressen på en lokal variabel" + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -28690,14 +28682,14 @@ msgstr "antager henvisning til medlemmet '%D'" + msgid "using a dangling pointer to %qD" + msgstr "ugyldig henvisningstilstand '%s'" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, fuzzy, gcc-internal-format + #| msgid " `%#D' declared here" + msgid "%qD declared here" +@@ -28748,7 +28740,7 @@ msgstr "kald af ikke-funktion '%D'" + msgid "call to %qD" + msgstr " i kald af '%D'" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, fuzzy, gcc-internal-format + #| msgid "address of local variable `%D' returned" + msgid "storing the address of local variable %qD in %qE" +@@ -29901,7 +29893,7 @@ msgstr "" + msgid "IPA modref summary is missing in input file" + msgstr "" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, fuzzy, gcc-internal-format + msgid "invalid jump function in LTO stream" + msgstr "Ugyldig erklæring" +@@ -30920,7 +30912,7 @@ msgstr "Udfør krydsspringsoptimering" + msgid "command-line option %qs is not supported by this configuration" + msgstr "%s understøttes ikke af denne konfiguration" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, fuzzy, gcc-internal-format + msgid "missing argument to %qs" + msgstr "der mangler en parameter til tilvalget '-%s'" +@@ -30963,13 +30955,13 @@ msgstr "-mapcs-26 og -mapcs-32 kan ikke bruges på samme tid" + msgid "unrecognized argument in option %qs" + msgstr "ignorerer kommandolinjetilvalget '%s'" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of `%s' attribute" + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "ugyldig parameter til egenskaben '%s'" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of `%s' attribute" + msgid "valid arguments to %qs are: %s" +@@ -31135,7 +31127,7 @@ msgstr "" + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "-pipe understøttes ikke" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, fuzzy, gcc-internal-format + #| msgid "-pipe is not supported" + msgid "%<-fsanitize-trap=%s%> is not supported" +@@ -31180,197 +31172,197 @@ msgstr "der blev anmodt om variabelsporing, men den er nytteløs uden fejlsøgni + msgid "variable tracking requested, but not supported by this debug format" + msgstr "der blev anmodt om variabelsporing, men den er ikke understøttet af dette fejlsøgningsformat" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "var-tracking-assignments ændrer selektiv planlægning" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, fuzzy, gcc-internal-format + #| msgid "-fdata-sections not supported for this target" + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "-fdata-sections understøttes ikke på målarkitekturen" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, fuzzy, gcc-internal-format + #| msgid "-fdata-sections not supported for this target" + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "-fdata-sections understøttes ikke på målarkitekturen" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, fuzzy, gcc-internal-format + #| msgid "-fdata-sections not supported for this target" + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "-fdata-sections understøttes ikke på målarkitekturen" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, gcc-internal-format + msgid "unrecognized % passed to %" + msgstr "" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "ignorerer kommandolinjetilvalget '%s'" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "ignorerer kommandolinjetilvalget '%s'" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute directive ignored" + msgid "%qs attribute directive ignored" + msgstr "egenskabsdirektivet '%s' ignoreret" + +-#: opts.cc:2347 ++#: opts.cc:2346 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized section name \"%s\"" + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "ukendt sektionsnavn \"%s\"" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, fuzzy, gcc-internal-format + #| msgid "invalid type argument" + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "ugyldig typeparameter" + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, fuzzy, gcc-internal-format + #| msgid "too few arguments to function `%s'" + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "for få parametre til funktionen '%s'" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr "-malign-loops=%d er ikke mellem 0 og %d" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to function `%s'" + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "for mange parametre til funktionen '%s'" + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, gcc-internal-format + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "ignorerer kommandolinjetilvalget '%s'" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, fuzzy, gcc-internal-format + #| msgid "alignment must be a small power of two, not %d" + msgid "structure alignment must be a small power of two, not %wu" + msgstr "justering skal være en lille potens af to, ikke %d" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, fuzzy, gcc-internal-format + #| msgid "unknown register name: %s" + msgid "unknown stack check parameter %qs" + msgstr "ukendt registernavn: %s" + +-#: opts.cc:3158 ++#: opts.cc:3157 + #, gcc-internal-format + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "" + +-#: opts.cc:3169 ++#: opts.cc:3168 + #, fuzzy, gcc-internal-format + #| msgid "stack limit expression is not supported" + msgid "dwarf version %wu is not supported" + msgstr "stakgrænseudtryk understøttes ikke" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "ignorerer kommandolinjetilvalget '%s'" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, gcc-internal-format + msgid "target system does not support debug output" + msgstr "målsystemet understøtter ikke fejlfindingsuddata" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, gcc-internal-format + msgid "debug format %qs conflicts with prior selection" + msgstr "fejlsøgningsformatet %qs er i modstrid med tidligere valg" + +-#: opts.cc:3468 ++#: opts.cc:3467 + #, fuzzy, gcc-internal-format + #| msgid "unrecognised debug output level %qs" + msgid "unrecognized debug output level %qs" + msgstr "ukendt fejlsøgningsuddataniveau %qs" + +-#: opts.cc:3470 ++#: opts.cc:3469 + #, gcc-internal-format + msgid "debug output level %qs is too high" + msgstr "fejlsøgningsuddataniveau %qs er for højt" + +-#: opts.cc:3482 ++#: opts.cc:3481 + #, fuzzy, gcc-internal-format + #| msgid "unrecognised debug output level %qs" + msgid "unrecognized btf debug output level %qs" + msgstr "ukendt fejlsøgningsuddataniveau %qs" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "henter maksimumbegrænsning på kernefilens størrelse: %m" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "angiver kernefilens størrelsesbegrænsning til maksimum: %m" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "ukendt GCC-fejlfindingstilvalg: %c" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, fuzzy, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "ignorerer kommandolinjetilvalget '%s'" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, fuzzy, gcc-internal-format + #| msgid "-Werror=%s: no option -%s" + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "-Werror=%s: intet tilvalg -%s" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, fuzzy, gcc-internal-format + #| msgid "\"%s\" is not a valid option to the preprocessor" + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" +@@ -32099,197 +32091,197 @@ msgstr "generel thunk-kode mislykkes for metoden '%#D' som bruger '...'" + msgid "%qD renamed after being referenced in assembly" + msgstr "%D omdøbt efter at være refereret i maskinkode" + +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "funktionsymbol er ikke en funktion" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, gcc-internal-format + msgid "inconsistent % attribute" + msgstr "" + +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "variabelsymbol er ikke en variabel" + +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "node har ukendt type" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "#%s with invalid argument" + msgid "node has invalid order %i" + msgstr "#%s med ugyldig parameter" + +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "node blev ikke fundet node->decl->decl_with_vis.symtab_node" + +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "node er forskellig fra node->decl->decl_with_vis.symtab_node" + +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "maskinekodenavn på hashliste er ødelagt" + +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "node blev ikke fundet i symtabs maskinkodehash" + +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "dobbelt lænket liste på maskinekodenavne er ødelagt" + +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "node har body_removed men er en definition" + +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, fuzzy, gcc-internal-format + #| msgid "node is analyzed byt it is not a definition" + msgid "node is analyzed but it is not a definition" + msgstr "node er analyseret byt, det er ikke en definition" + +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "node er alias men ikke implicit alias" + +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "node er alias men ikke definition" + +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, fuzzy, gcc-internal-format + #| msgid "node is weakref but not an alias" + msgid "node is weakref but not an transparent_alias" + msgstr "node er weakref men ikke et alias" + +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, fuzzy, gcc-internal-format + #| msgid "node is weakref but not an alias" + msgid "node is transparent_alias but not an alias" + msgstr "node er weakref men ikke et alias" + +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, fuzzy, gcc-internal-format + #| msgid "node is alias but not implicit alias" + msgid "node is symver but not alias" + msgstr "node er alias men ikke implicit alias" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, gcc-internal-format + msgid "symver is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "node er i same_comdat_grooup-liste men har ingen comdat_group" + +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "same_comdat_group-liste over forskellige grupper" + +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "blanding af forskellige symboltyper i samme comdata-gruppe er ikke understøttet" + +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "node er alene i en comdat-gruppe" + +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "same_comdat_group er ikke en cirkulær liste" + +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "comdat-local-symbol refereret ti laf %s uden for dets comdat" + +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, fuzzy, gcc-internal-format + #| msgid "implicit_section flag is set but section isn't" + msgid "implicit_section flag is set but section isn%'t" + msgstr "implicit_section-flag er angivet men sektion er ikke" + +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "Både sektion og comdat-gruppe er angivet" + +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, fuzzy, gcc-internal-format + #| msgid "Alias and target's section differs" + msgid "Alias and target%'s section differs" + msgstr "Alias og måls sektion er forskellige" + +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, fuzzy, gcc-internal-format + #| msgid "Alias and target's comdat groups differs" + msgid "Alias and target%'s comdat groups differs" + msgstr "Alias og måls comdat-grupper er forskellige" + +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, fuzzy, gcc-internal-format + #| msgid "Alias and target's section differs" + msgid "Transparent alias and target%'s assembler names differs" + msgstr "Alias og måls sektion er forskellige" + +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "symtab_node::verify mislykkedes" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid pointer mode `%s'" + msgid "invalid order in asm node %i" + msgstr "ugyldig henvisningstilstand '%s'" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "To symboler med samme comdat_group er ikke lænket af same_comdat_group-listen." + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "funktion %q+D del af aliascyklus" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "variabel %q+D del af aliascyklus" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "sektion for alias %q+D skal matche sektion for dens målarkitektur" +@@ -34110,27 +34102,27 @@ msgstr "den hexadecimale undvigesekvens er uden for det gyldige interval" + msgid "target specific builtin not available" + msgstr "" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "" +@@ -35013,7 +35005,7 @@ msgstr "'%s' brugt, men aldrig defineret" + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "'%s' brugt, men aldrig defineret" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, fuzzy, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "'%s'-egenskaben kan kun anvendes sammen med funktioner" +@@ -37356,7 +37348,7 @@ msgstr "muligvis begyndelsen af uafsluttet strengkonstant" + msgid "traditional C rejects string constant concatenation" + msgstr "traditionel C tillader ikke strengsammensætning" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "" +@@ -39221,7 +39213,7 @@ msgstr "for mange inddatafiler" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %qs for -mcpu" + msgid "unknown value %qs for %<-mcpu%>" +@@ -39256,16 +39248,16 @@ msgid "unrecognized option passed to %%:%" + msgstr "" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of `%s' attribute" + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "ugyldig parameter til egenskaben '%s'" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid argument of `%s' attribute" + msgid "valid arguments are: %s" +@@ -39357,55 +39349,55 @@ msgstr "-mcpu=%s er ikke gyldig" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops is obsolete, use -falign-loops" + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "-malign-loops er forældet, benyt -falign-loops" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr "-malign-loops=%d er ikke mellem 0 og %d" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, fuzzy, gcc-internal-format + #| msgid "-malign-jumps is obsolete, use -falign-jumps" + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "-malign-jumps er forældet, benyt -falign-jumps" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, fuzzy, gcc-internal-format + #| msgid "-malign-jumps=%d is not between 1 and %d" + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr "-malign-jumps=%d er ikke mellem 1 og %d" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, fuzzy, gcc-internal-format + #| msgid "-malign-functions is obsolete, use -falign-functions" + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "-malign-functions er forældet, benyt -falign-functions" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, fuzzy, gcc-internal-format + #| msgid "-malign-functions=%d is not between 1 and %d" + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr "-malign-functions=%d er ikke mellem 1 og %d" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, fuzzy, gcc-internal-format + #| msgid "-mbranch-cost=%d is not between 0 and 5" + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr "-mbranch-cost=%d er ikke mellem 0 og 5" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "" +@@ -39940,14 +39932,14 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "%s fra en henvisningstype der ikke er forenelig med målets" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, fuzzy, gcc-internal-format + #| msgid "argument of `asm' is not a constant string" + msgid "argument %d of %qE must be an integer constant expression" + msgstr "parameteren til 'asm' er ikke en konstant streng" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, fuzzy, gcc-internal-format + #| msgid "argument 3 of `%s' must be a 2-bit literal" + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" +@@ -40219,7 +40211,7 @@ msgstr "%s opretter et heltal ud fra en henvisningsvariabel uden en typeomtvingn + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, fuzzy, gcc-internal-format + #| msgid "duplicate definition of class method `%s'" + msgid "duplicate definition of %qs" +@@ -40267,7 +40259,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "klassen '%T' har ikke et felt ved navn '%D'" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, fuzzy, gcc-internal-format + msgid "variables of type %qT cannot have thread-local storage duration" + msgstr "'%s' brugt, men aldrig defineret" +@@ -40368,365 +40360,365 @@ msgstr "" + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "brug af klasseskabelonen '%T' som udtryk" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, fuzzy, gcc-internal-format + #| msgid "AltiVec argument passed to unprototyped function" + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "AltiVec-parameter sendt til funktion uden prototype" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, fuzzy, gcc-internal-format + #| msgid "Do not use the Xtensa NSA option" + msgid "%qE requires the SVE ISA extension" + msgstr "Benyt ikke Xtensa-NSA-indstillingen" + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, fuzzy, gcc-internal-format + #| msgid "a -ifile option requires a -map option" + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "et '-ifile'-tilvalg kræver et '-map'-tilvalg" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, gcc-internal-format + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute ignored" + msgid "%qs string ill-formed" + msgstr "egenskaben '%s' ignoreret" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, fuzzy, gcc-internal-format + #| msgid "invalid option %s" + msgid "invalid format for %" + msgstr "ugyldigt tilvalg %s" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, fuzzy, gcc-internal-format + #| msgid "invalid %h value" + msgid "invalid % value: %d" + msgstr "ugyldig %h-værdi" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid range %s in option %s" + msgid "tuning string missing in option (%s)" + msgstr "ugyldigt interval %s i tilvalg %s" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "unknown spec function `%s'" + msgid "unknown tuning option (%s)" + msgstr "ukendt specifikationsfunktion '%s'" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, fuzzy, gcc-internal-format + #| msgid "Specify the register allocation order" + msgid "specify a system register with a small string length" + msgstr "Angiv registerallokeringsordnen" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "%s understøtter ikke %s" + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "" + +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, fuzzy, gcc-internal-format + #| msgid "missing argument to \"-%s\"" + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "der mangler en parameter til tilvalget '-%s'" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, fuzzy, gcc-internal-format + #| msgid "unknown machine mode `%s'" + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "ukendt maskintilstand '%s'" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, fuzzy, gcc-internal-format + #| msgid "invalid arg to `__builtin_frame_address'" + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "ugyldig parameter til '__builtin_frame_address'" + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to function `%s'" + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "for mange parametre til funktionen '%s'" + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, fuzzy, gcc-internal-format + #| msgid "missing argument to \"-%s\"" + msgid "missing arch name in %<-march=%s%>" + msgstr "der mangler en parameter til tilvalget '-%s'" + +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "unknown value %qs for %<-march%>" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, fuzzy, gcc-internal-format + #| msgid "missing argument to \"-%s\"" + msgid "did you mean %<-mcpu=%s%>?" + msgstr "der mangler en parameter til tilvalget '-%s'" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "et filnavn mangler efter '-%s'" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, fuzzy, gcc-internal-format + #| msgid "missing argument to \"-%s\"" + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "der mangler en parameter til tilvalget '-%s'" + +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %qs for -mtune" + msgid "unknown value %qs for %<-mtune%>" + msgstr "ukendt værdi %qs for -mtune" + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, fuzzy, gcc-internal-format + #| msgid "switch -mcpu=%s conflicts with -march= switch" + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "tilvalget -mcpu=%s er i konflikt med tilvalget -march=" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, fuzzy, gcc-internal-format + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "%s understøtter ikke %s" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, gcc-internal-format + msgid "code model %qs with %<-f%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs not supported in x32 mode" + msgid "code model %qs not supported in ilp32 mode" + msgstr "kodemodellen %qs er ikke understøttet i x32-tilstand" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "missing name in % pragma or attribute" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "invalid name %qs in % pragma or attribute" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "missing name in % pragma or attribute" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "invalid name %qs in % pragma or attribute" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "missing argument to % pragma or attribute" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -mtune= switch" + msgid "invalid name %qs in % pragma or attribute" + msgstr "ugyldig værdi (%s) til tilvalget -mcpu=" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "missing value in % pragma or attribute" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, fuzzy, gcc-internal-format + #| msgid "malformed spec function name" + msgid "malformed % pragma or attribute" + msgstr "forkert udformet specifikationsfunktionsnavn" + +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, fuzzy, gcc-internal-format + #| msgid "%s only accepts 1 argument" + msgid "pragma or attribute % does not accept an argument" + msgstr "%s accepterer kun 1 parameter" + +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, fuzzy, gcc-internal-format + #| msgid "target system does not support the %qs debug format" + msgid "pragma or attribute % does not allow a negated form" + msgstr "målarkitektursystem understøtter ikke %qs-fejlsøgningsformatet" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, fuzzy, gcc-internal-format + #| msgid "\"%s\" is not defined" + msgid "pragma or attribute % is not valid" + msgstr "\"%s\" er ikke defineret" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute argument not a string constant" + msgid "attribute % argument not a string" + msgstr "parameteren til egenskaben '%s' er ikke en strengkonstant" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute argument not a string constant" + msgid "pragma or attribute % is not valid" + msgstr "parameteren til egenskaben '%s' er ikke en strengkonstant" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "malformed % pragma or attribute" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, fuzzy, gcc-internal-format + #| msgid "line number out of range" + msgid "lane %wd out of range %wd - %wd" + msgstr "linjenummer er uden for det gyldige interval" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, fuzzy, gcc-internal-format + #| msgid "unsupported version" + msgid "unsupported simdlen %wd" + msgstr "versionen er ikke understøttet" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, fuzzy, gcc-internal-format + #| msgid "unused arguments in $-style format" + msgid "GCC does not currently support return type %qT for % functions" + msgstr "ubenyttede parametre i formatering med $" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, fuzzy, gcc-internal-format + #| msgid "unused arguments in $-style format" + msgid "unsupported return type %qT for % functions" + msgstr "ubenyttede parametre i formatering med $" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, fuzzy, gcc-internal-format + #| msgid "unused arguments in $-style format" + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "ubenyttede parametre i formatering med $" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, fuzzy, gcc-internal-format + #| msgid "The -shared option is not currently supported for VAX ELF." + msgid "GCC does not currently support simdlen %wd for type %qT" +@@ -40930,13 +40922,13 @@ msgstr "parameteren til egenskaben '%s er ikke \"ilink1\" eller \"ilink2\"" + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -41101,19 +41093,19 @@ msgstr "parameteren til egenskaben '%s er ikke \"ilink1\" eller \"ilink2\"" + msgid "%qE attribute only applies to variables" + msgstr "egenskaben '%s' kan kun anvendes på variabler" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, fuzzy, gcc-internal-format + #| msgid "Statement at %0 invalid in this context" + msgid "alternatives not allowed in % flag output" + msgstr "Sætning ved %0 er ugyldig i denne kontekst" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, fuzzy, gcc-internal-format + #| msgid "unknown register name: %s" + msgid "unknown % flag output %qs" + msgstr "ukendt registernavn: %s" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, fuzzy, gcc-internal-format + #| msgid "invalid type for make function" + msgid "invalid type for % flag output" +@@ -41337,7 +41329,7 @@ msgstr "målprocessoren understøtter ikke THUMB-instruktioner" + msgid "target CPU does not support unaligned accesses" + msgstr "målprocessoren understøtter ikke interarbejde" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support THUMB instructions" + msgid "This architecture does not support branch protection instructions" +@@ -41399,7 +41391,7 @@ msgstr "strukturstørrelsesgrænse kan kun sættes til 8 eller 32" + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "-mapcs-stack-check og -mno-apcs-frame er indbyrdes uforenelige" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs not supported in x32 mode" + msgid "FDPIC mode is not supported in Thumb-1 mode" +@@ -41513,7 +41505,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "" +@@ -41569,33 +41561,33 @@ msgstr "" + msgid "%s %wd out of range %wd - %wd" + msgstr "linjenummer er uden for det gyldige interval" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "kan ikke beregne virkelig placering af stakkede parametre" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "ingen lave registre er tilgængelige til at modtage værdier fra høje registre" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, fuzzy, gcc-internal-format + #| msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "afbrydelsesservicerutiner kan ikke kodes i Thumb-tilstand" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, fuzzy, gcc-internal-format + #| msgid "invalid vector type for attribute `%s'" + msgid "invalid fpu for target attribute or pragma %qs" +@@ -41604,24 +41596,24 @@ msgstr "ugyldig vektortype for egenskaben '%s'" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, fuzzy, gcc-internal-format + #| msgid "invalid vector type for attribute `%s'" + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "ugyldig vektortype for egenskaben '%s'" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, fuzzy, gcc-internal-format + #| msgid "unknown register name: %s" + msgid "unknown target attribute or pragma %qs" + msgstr "ukendt registernavn: %s" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, fuzzy, gcc-internal-format + #| msgid "address mode %qs not supported in the %s bit mode" + msgid "% flags not supported in thumb1 mode" +@@ -41707,19 +41699,19 @@ msgstr "-pipe understøttes ikke" + msgid "%<-fPIE%> is not supported" + msgstr "-pipe understøttes ikke" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, fuzzy, gcc-internal-format + #| msgid "-traditional and -ansi are mutually exclusive" + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "-traditional og -ansi er indbyrdes uforenelige" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, fuzzy, gcc-internal-format + #| msgid "`-%c' option must have argument" + msgid "%qs function cannot have arguments" + msgstr "tilvalget '-%c' skal have en parameter" + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, fuzzy, gcc-internal-format + #| msgid "function cannot be inline" + msgid "%qs function cannot return a value" +@@ -42071,7 +42063,7 @@ msgstr "for mange parametre til funktionen" + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to function" + msgid "invalid argument to built-in function" +@@ -42746,734 +42738,734 @@ msgstr "" + msgid "virtual function multiversioning not supported" + msgstr "stakgrænseudtryk understøttes ikke" + +-#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25106 + #, fuzzy, gcc-internal-format + #| msgid "Profiling is not supported on this target." + msgid "multiversioning needs % which is not supported on this target" + msgstr "Profilering er ikke understøttet på målarkitekturen." + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" + msgstr "kodemodellen %s understøtter ikke PIC-tilstand" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute argument not a string constant" + msgid "attribute %qs argument is not a string" + msgstr "parameteren til egenskaben '%s' er ikke en strengkonstant" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute argument not a string constant" + msgid "attribute %qs argument %qs is unknown" + msgstr "parameteren til egenskaben '%s' er ikke en strengkonstant" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, gcc-internal-format + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, fuzzy, gcc-internal-format + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "dataområdet '%s' er i modstrid med tidligere erklæring" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, gcc-internal-format + msgid "wrong argument %qs to option %qs" + msgstr "forkert parameter %qs for tilvalget %qs" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" + msgstr "forkert strateginavn %qs er angivet for tilvalget %qs" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "strateginavnet %qs angivet for tilvalget %qs er ikke understøttet for 32-bit kode" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" + msgstr "ukendt justering %qs angivet for tilvalget %qs" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, fuzzy, gcc-internal-format + msgid "too many size ranges specified in option %qs" + msgstr "intet klassenavn angivet med '-%s'" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, fuzzy, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "Ukendt processor: -mcpu=%s" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, fuzzy, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "kodemodellen %s er ikke understøttet i PIC-tilstand" + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, fuzzy, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "Angiv klassesti (forældet: benyt --classpath i stedet)" + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, fuzzy, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "Angiv klassesti (forældet: benyt --classpath i stedet)" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, fuzzy, gcc-internal-format + #| msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "strateginavnet %qs angivet for tilvalget %qs er ikke understøttet for 32-bit kode" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, fuzzy, gcc-internal-format + #| msgid "-mcmodel= is not supported on 32 bit systems" + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "-mcmodel= understøttes ikke på 32 bit-systemer" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, fuzzy, gcc-internal-format + #| msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "strateginavnet %qs angivet for tilvalget %qs er ikke understøttet for 32-bit kode" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "adressetilstanden %qs er ikke understøttet i %s bit-tilstand" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, fuzzy, gcc-internal-format + #| msgid "-traditional is not supported in C++" + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "-traditional understøttes ikke i C++" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, fuzzy, gcc-internal-format + #| msgid "-traditional is not supported in C++" + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "-traditional understøttes ikke i C++" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, fuzzy, gcc-internal-format + #| msgid "-traditional is not supported in C++" + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "-traditional understøttes ikke i C++" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, fuzzy, gcc-internal-format + #| msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "-mapcs-stack-check og -mno-apcs-frame er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "kodemodellen %qs er ikke understøttet i %s bit-tilstand" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "kodemodellen %qs er ikke understøttet i x32-tilstand" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, fuzzy, gcc-internal-format + #| msgid "-masm=intel not supported in this configuration" + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "-masm=intel understøttes ikke af denne konfiguration" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "%i bit-tilstand er ikke oversat med ind" + +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "den valgte processor understøtter ikke x86-64-instruktionssættet" + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "bad value %qs for %<-march=%> switch" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "bad value %qs for % attribute" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of `%s' attribute" + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "ugyldig parameter til egenskaben '%s'" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of `%s' attribute" + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "ugyldig parameter til egenskaben '%s'" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of `%s' attribute" + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "ugyldig parameter til egenskaben '%s'" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of `%s' attribute" + msgid "valid arguments to % attribute are: %s" + msgstr "ugyldig parameter til egenskaben '%s'" + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -mtune= switch" + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "ugyldig værdi (%s) til tilvalget -mcpu=" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -mtune= switch" + msgid "bad value %qs for % attribute" + msgstr "ugyldig værdi (%s) til tilvalget -mcpu=" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of `%s' attribute" + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "ugyldig parameter til egenskaben '%s'" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of `%s' attribute" + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "ugyldig parameter til egenskaben '%s'" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of `%s' attribute" + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "ugyldig parameter til egenskaben '%s'" + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of `%s' attribute" + msgid "valid arguments to % attribute are: %s" + msgstr "ugyldig parameter til egenskaben '%s'" + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, fuzzy, gcc-internal-format + #| msgid "type defaults to `int' in declaration of `%s'" + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "typen antages at være 'int' i erklæringen af '%s'" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, fuzzy, gcc-internal-format + #| msgid "-mregparm=%d is not between 0 and %d" + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "-mregparm=%d er ikke mellem 0 og %d" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, fuzzy, gcc-internal-format + #| msgid "-march=%s is not compatible with the selected ABI" + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "-march=%s er ikke forenelig med den valgte ABI" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, fuzzy, gcc-internal-format + #| msgid "type defaults to `int' in declaration of `%s'" + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "typen antages at være 'int' i erklæringen af '%s'" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, fuzzy, gcc-internal-format + #| msgid "type defaults to `int' in declaration of `%s'" + msgid "% is ignored in 64bit mode" + msgstr "typen antages at være 'int' i erklæringen af '%s'" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, fuzzy, gcc-internal-format + #| msgid "-fprefetch-loop-arrays not supported for this target" + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "-fprefetch-loop-arrays understøttes ikke på målarkitekturen" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12" + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "-mpreferred-stack-boundary=%d er ikke mellem %d og 12" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12" + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "-mpreferred-stack-boundary=%d er ikke mellem %d og 12" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, fuzzy, gcc-internal-format + #| msgid "-march=%s is not compatible with the selected ABI" + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "-march=%s er ikke forenelig med den valgte ABI" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, fuzzy, gcc-internal-format + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "profilering understøttes ikke endnu" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "SSE-instruktionssæt deaktiveret, bruger 387-beregninger" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "387-instruktionssæt deaktiveret, bruger SSE-beregninger" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, gcc-internal-format + msgid "stack probing requires % for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, fuzzy, gcc-internal-format + #| msgid "-march=%s is not compatible with the selected ABI" + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "-march=%s er ikke forenelig med den valgte ABI" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, fuzzy, gcc-internal-format + #| msgid "-march=%s is not compatible with the selected ABI" + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "-march=%s er ikke forenelig med den valgte ABI" + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, fuzzy, gcc-internal-format + #| msgid "Unknown cpu: -mcpu=%s" + msgid "unknown option for %<-mrecip=%s%>" + msgstr "Ukendt processor: -mcpu=%s" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not a valid option to the preprocessor" + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "%qs er ikke et gyldigt tilvalg til præprocessoren" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not a valid option to the preprocessor" + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "%qs er ikke et gyldigt tilvalg til præprocessoren" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not a valid option to the preprocessor" + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "%qs er ikke et gyldigt tilvalg til præprocessoren" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, fuzzy, gcc-internal-format + #| msgid "-march=%s is not compatible with the selected ABI" + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "-march=%s er ikke forenelig med den valgte ABI" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, fuzzy, gcc-internal-format + #| msgid "stdcall and cdecl attributes are not compatible" + msgid "interrupt and naked attributes are not compatible" + msgstr "stdcall og cdecl er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, fuzzy, gcc-internal-format + #| msgid "-msdata=%s and -mcall-%s are incompatible" + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, fuzzy, gcc-internal-format + #| msgid "-msdata=%s and -mcall-%s are incompatible" + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, fuzzy, gcc-internal-format + #| msgid "-msdata=%s and -mcall-%s are incompatible" + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, fuzzy, gcc-internal-format + #| msgid "-msdata=%s and -mcall-%s are incompatible" + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, fuzzy, gcc-internal-format + #| msgid "%s instructions aren't allowed in %s service routine" + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "%s-instruktioner er ikke tilladt i %s-tjenesterutinen" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, fuzzy, gcc-internal-format + #| msgid "%s instructions aren't allowed in %s service routine" + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "%s-instruktioner er ikke tilladt i %s-tjenesterutinen" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, fuzzy, gcc-internal-format + #| msgid "%s instructions aren't allowed in %s service routine" + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "%s-instruktioner er ikke tilladt i %s-tjenesterutinen" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "fastcall og regparm er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "regparam og thiscall er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "%qE-egenskaben kræver en heltalskonstant som parameter" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "parameter til %qE-egenskaben er større end %d" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "fastcall og cdecl er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "fastcall og stdcall er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "fastcall og thiscall er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "stdcall og cdecl er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "stdcall og fastcall er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "stdcall og thiscall er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "cdecl og thiscall er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, gcc-internal-format + msgid "%qE attribute is used for non-class method" + msgstr "%qE-egenskaben bruges til ikke-klasse metode" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, fuzzy, gcc-internal-format + #| msgid "`%s' incompatible attribute ignored" + msgid "%qE incompatible attribute ignored" + msgstr "uforenelig egenskab '%s' ignoreret" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute only applies to variables" + msgid "%qE attribute only available for 32-bit" + msgstr "egenskaben '%s' kan kun anvendes på variabler" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, fuzzy, gcc-internal-format + #| msgid "argument of `%s' attribute is not a string constant" + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "parameteren til egenskaben '%s er ikke en strengkonstant" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, fuzzy, gcc-internal-format + #| msgid "fastcall and stdcall attributes are not compatible" + msgid "%qs and %qs attributes are not compatible" + msgstr "fastcall og stdcall er indbyrdes uforenelige" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "%qE-egenskaben kræver et strengkonstant som parameter" + +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, fuzzy, gcc-internal-format + #| msgid "argument of `%s' attribute is not \"ilink1\" or \"ilink2\"" + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "parameteren til egenskaben '%s er ikke \"ilink1\" eller \"ilink2\"" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "" + +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, fuzzy, gcc-internal-format + #| msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgid "interrupt service routine should have %qs as the second argument" + msgstr "afbrydelsesservicerutiner kan ikke kodes i Thumb-tilstand" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, fuzzy, gcc-internal-format + #| msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgid "interrupt service routine must return %" + msgstr "afbrydelsesservicerutiner kan ikke kodes i Thumb-tilstand" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, gcc-internal-format + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, gcc-internal-format + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, fuzzy, gcc-internal-format + #| msgid "X32 does not support ms_abi attribute" + msgid "X32 does not support % attribute" + msgstr "X32 understøtter ikke egenskaben ms_abi" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, fuzzy, gcc-internal-format + #| msgid "ms_hook_prologue is not compatible with nested function" + msgid "% attribute is not compatible with nested function" + msgstr "ms_hook_prologue er ikke forenelig med den indlejrede funktion" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, gcc-internal-format + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, gcc-internal-format + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, gcc-internal-format + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, gcc-internal-format + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, gcc-internal-format + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, gcc-internal-format + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, gcc-internal-format + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, gcc-internal-format, gfc-internal-format + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "" + +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, fuzzy, gcc-internal-format + #| msgid "-march=%s is not compatible with the selected ABI" + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "-march=%s er ikke forenelig med den valgte ABI" + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, fuzzy, gcc-internal-format + #| msgid "ms_hook_prologue is not compatible with nested function" + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "ms_hook_prologue er ikke forenelig med den indlejrede funktion" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "" + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute is not supported on this platform" + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "egenskaben '%s' er ikke understøttet på denne platform" + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, fuzzy, gcc-internal-format + #| msgid "nested functions not supported on this target" + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "-indlejrede funktioner er ikke understøttet på denne målarkitektur" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, fuzzy, gcc-internal-format + #| msgid "%s is not supported by this configuration" + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "%s understøttes ikke af denne konfiguration" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, fuzzy, gcc-internal-format + #| msgid "-mips%d does not support 64 bit fp registers" + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" +@@ -43481,83 +43473,83 @@ msgstr "-mips%d understøtter ikke 64-bit kommatalsregistre" + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, fuzzy, gcc-internal-format + #| msgid "-mips%d does not support 64 bit fp registers" + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "-mips%d understøtter ikke 64-bit kommatalsregistre" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, fuzzy, gcc-internal-format + #| msgid "unsupported size for integer register" + msgid "% modifier on non-integer register" + msgstr "størrelse er ikke understøttet for heltalsregister" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, gcc-internal-format + msgid "unsupported size for integer register" + msgstr "størrelse er ikke understøttet for heltalsregister" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "udvidede registre har ikke høje halvdele" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "ikke-understøttet operandstørrelse for udvidede registre" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, fuzzy, gcc-internal-format + #| msgid "invalid operand type used with operand code 'Z'" + msgid "non-integer operand used with operand code %" + msgstr "ugyldig operandtype brugt med operandkoden »Z«" + +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, fuzzy, gcc-internal-format + #| msgid "assignment (not initialization) in declaration" + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "tildeling (ikke klargøring) i erklæring" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, gcc-internal-format + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, fuzzy, gcc-internal-format + #| msgid "Tune alignment for the specified chip or CPU version" + msgid "unknown architecture specific memory model" + msgstr "Finjustér justering til en given chip- eller processorversion" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, fuzzy, gcc-internal-format + #| msgid "unused arguments in $-style format" + msgid "unsupported return type %qT for simd" + msgstr "ubenyttede parametre i formatering med $" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, fuzzy, gcc-internal-format + #| msgid "unused arguments in $-style format" + msgid "unsupported argument type %qT for simd" + msgstr "ubenyttede parametre i formatering med $" + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, fuzzy, gcc-internal-format + #| msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" +@@ -43936,7 +43928,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute requires a string constant argument" + msgid "%qE attribute requires a string argument" +@@ -45156,60 +45148,60 @@ msgstr "" + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "ragelse i slutningen af '#pragma options'" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, fuzzy, gcc-internal-format + #| msgid "class `%T' does not have any field named `%D'" + msgid "RVV type %qT does not have a fixed size" + msgstr "klassen '%T' har ikke et felt ved navn '%D'" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, fuzzy, gcc-internal-format + #| msgid "class `%T' does not have any field named `%D'" + msgid "RVV type %qT does not have a defined alignment" + msgstr "klassen '%T' har ikke et felt ved navn '%D'" + +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, fuzzy, gcc-internal-format + #| msgid "arithmetic on pointer to an incomplete type" + msgid "arithmetic on pointer to RVV type %qT" + msgstr "beregninger udført på en henvisning til en ufuldstændig type" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, fuzzy, gcc-internal-format + #| msgid "field `%D' has incomplete type" + msgid "fields cannot have RVV type %qT" + msgstr "feltet '%D' er af en ufuldstændig type" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, fuzzy, gcc-internal-format + #| msgid "function returns an aggregate" + msgid "array elements cannot have RVV type %qT" + msgstr "funktion returnerer en værdi af en sammensat type" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, fuzzy, gcc-internal-format + #| msgid "cannot allocate an object of type `%T'" + msgid "cannot allocate objects with RVV type %qT" + msgstr "kan ikke allokere et objekt af typen '%T'" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, fuzzy, gcc-internal-format + #| msgid "cannot convert type `%T' to type `%T'" + msgid "cannot delete objects with RVV type %qT" + msgstr "kan ikke konvertere typen '%T' til typen '%T'" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, fuzzy, gcc-internal-format + #| msgid "cannot allocate an object of type `%T'" + msgid "cannot throw or catch RVV type %qT" + msgstr "kan ikke allokere et objekt af typen '%T'" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, fuzzy, gcc-internal-format + #| msgid "cannot %s a pointer to incomplete type `%T'" + msgid "capture by copy of RVV type %qT" +@@ -45231,76 +45223,71 @@ msgstr "" + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, gcc-internal-format + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, fuzzy, gcc-internal-format + #| msgid "argument of `%s' attribute is not a string constant" + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "parameteren til egenskaben '%s er ikke en strengkonstant" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, gcc-internal-format + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, gcc-internal-format + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, fuzzy, gcc-internal-format + #| msgid "--resource requires -o" + msgid "ABI requires %<-march=rv%d%>" + msgstr "--resource påkræver -o" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12" + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "-mpreferred-stack-boundary=%d er ikke mellem %d og 12" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, fuzzy, gcc-internal-format + #| msgid "`%s' is not a valid class name" + msgid "%qs is not a valid base register in %qs" + msgstr "'%s' er et ugyldigt klassenavn" + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid number in %qs" + msgstr "%s understøtter ikke %s" + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, fuzzy, gcc-internal-format + #| msgid "`-%c' option must have argument" + msgid "%qs function cannot have different interrupt type" + msgstr "tilvalget '-%c' skal have en parameter" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, fuzzy, gcc-internal-format +@@ -45828,105 +45815,105 @@ msgstr "%s har ingen %s" + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "ingen profilering af 64 bit-kode for denne ABI" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, fuzzy, gcc-internal-format + #| msgid "cannot take the address of `this', which is an rvalue expression" + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "kan ikke tage adressen af 'this' som er et højreværdiudtryk" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, fuzzy, gcc-internal-format + #| msgid "complex invalid for `%s'" + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "complex ugyldig for '%s'" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, fuzzy, gcc-internal-format + #| msgid "complex invalid for `%s'" + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "complex ugyldig for '%s'" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, fuzzy, gcc-internal-format + #| msgid "invalid parameter type `%T'" + msgid "invalid cpu %qs for %s%qs%s" + msgstr "ugyldig parametertype '%T'" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, fuzzy, gcc-internal-format + #| msgid "\"%s\" is not defined" + msgid "%s%qs%s is not allowed" + msgstr "\"%s\" er ikke defineret" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "%s%qs%s is invalid" + msgstr "skabelonsparameter %d er ugyldig" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" + +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, fuzzy, gcc-internal-format + #| msgid "stack limit expression is not supported" + msgid "Virtual function multiversioning not supported" + msgstr "stakgrænseudtryk understøttes ikke" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, fuzzy, gcc-internal-format + #| msgid "a -ifile option requires a -map option" + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "et '-ifile'-tilvalg kræver et '-map'-tilvalg" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, fuzzy, gcc-internal-format + #| msgid "a -ifile option requires a -map option" + msgid "type %<__vector_pair%> requires the %qs option" +@@ -47477,7 +47464,7 @@ msgstr "kan ikke anbringe et objekt med et volatile-felt i et register" + msgid "uninitialized % is invalid in C++" + msgstr "konstant '%D' uden startværdi" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "" +@@ -47691,7 +47678,7 @@ msgstr "lagringsklasse angivet for parameter '%s'" + msgid "storage class specified for unnamed parameter" + msgstr "lagringsklasse angivet for parameter '%s'" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "lagringsklasse angivet for typenavn" +@@ -47882,7 +47869,7 @@ msgstr "typenavn er erklæret som en funktion, der returnerer en array" + msgid "function definition has qualified void return type" + msgstr "funktiondefinition har kvalificeret void-returtype" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "typemodifikationer ignoreret i funktionsreturtypen" +@@ -48022,7 +48009,7 @@ msgstr "ISO C forbyder const eller volatile funktionstyper" + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "datamedlem må ikke have variabelt ændret type '%T'" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, fuzzy, gcc-internal-format + #| msgid "variable or field declared void" + msgid "variable or field %qE declared void" +@@ -48247,7 +48234,7 @@ msgstr "" + msgid "%qT defined in underspecified object initializer" + msgstr "ukendt felt '%s' angivet i startværdi" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "erklæring erklærer ikke noget" +@@ -48303,7 +48290,7 @@ msgstr "navngivne medlemmer" + msgid "struct has no members" + msgstr "%s har intet medlem ved navn '%s'" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, fuzzy, gcc-internal-format + msgid "flexible array member in union" + msgstr "fleksibelt tabelmedlem i union" +@@ -48351,7 +48338,7 @@ msgstr "omerklæring af 'enum %s'" + msgid "% declared with but defined without fixed underlying type" + msgstr "" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, gcc-internal-format + msgid "specified mode too small for enumerated values" + msgstr "" +@@ -48402,7 +48389,7 @@ msgstr "tabelindeks er ikke et heltal" + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "ISO C begrænser enum-værdier til rækkevidden af 'int'" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, fuzzy, gcc-internal-format + msgid "inline function %qD given attribute %qs" + msgstr "inline funktion '%s' givet egenskaben noinline" +@@ -48434,7 +48421,7 @@ msgstr "ingen tidligere prototype for '%s'" + msgid "%qD was used with no prototype before its definition" + msgstr "'%s' blev brugt uden en prototype før dens definition" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, fuzzy, gcc-internal-format + msgid "no previous declaration for %qD" + msgstr "ingen tidligere erklæring af '%s'" +@@ -48555,12 +48542,12 @@ msgstr "parameteren '%s' passer ikke til prototypen" + msgid "argument %qD doesn%'t match prototype" + msgstr "parameteren '%s' passer ikke til prototypen" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "ingen return-sætning i en funktion der ikke returnerer void" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, fuzzy, gcc-internal-format + #| msgid "label `%D' defined but not used" + msgid "parameter %qD set but not used" +@@ -50781,7 +50768,7 @@ msgstr "" + msgid "collapsed loops not perfectly nested" + msgstr "" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "" +@@ -50922,13 +50909,13 @@ msgstr "forventede %" + msgid "variant %qD is not a function" + msgstr "'%s' er ikke en funktion," + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, fuzzy, gcc-internal-format + #| msgid "-f%s and -msdata=%s are incompatible" + msgid "variant %qD and base %qD have incompatible types" + msgstr "-f%s og -msdata=%s er indbyrdes uforenelige" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "" +@@ -51202,7 +51189,7 @@ msgstr "ugyldig brug af void-udtryk" + msgid "invalid use of flexible array member" + msgstr "ugyldig brug af fleksibelt tabelmedlem" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "ugyldig brug af tabel uden angivne grænser" +@@ -52292,12 +52279,12 @@ msgstr "" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "klargøring af fleksibelt tabelmedlem" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, fuzzy, gcc-internal-format + #| msgid "%s from incompatible pointer type" + msgid "cannot initialize array of %qT from a string literal with type array of %qT" +@@ -52341,7 +52328,7 @@ msgstr "startværdielement kan ikke beregnes ved indlæsningstidspunktet" + msgid "invalid initializer" + msgstr "ugyldig startværdi" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, fuzzy, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "objekt af typen '%T' med variabel størrelse må ikke tildeles en startværdi" +@@ -52357,8 +52344,8 @@ msgid "braces around scalar initializer" + msgstr "krøllede paranteser omkring skalarstartværdi" + + # RETMIG: eller er det fleksibel tabel-medlem +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "klargøring af fleksibelt tabelmedlem i en indlejret kontekst" +@@ -52454,7 +52441,7 @@ msgstr "for mange elementer i struct-startværdi" + msgid "positional initialization of field in % declared with % attribute" + msgstr "" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "ikke-statisk klargøring af fleksibelt tabelmedlem" +@@ -53938,7 +53925,7 @@ msgstr "ingen passende 'operator delete' for '%T'" + msgid "%q#D is private within this context" + msgstr "i denne kontekst" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, fuzzy, gcc-internal-format + #| msgid " `%#D' declared here" + msgid "declared private here" +@@ -53950,7 +53937,7 @@ msgstr " '%#D' erklæret her" + msgid "%q#D is protected within this context" + msgstr "i denne kontekst" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, fuzzy, gcc-internal-format + #| msgid " `%#D' declared here" + msgid "declared protected here" +@@ -53969,7 +53956,7 @@ msgstr "'%+#D' er ikke tilgængelig" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "overbringelse af NULL benyttet for ikke-henvisnings%s %P af '%D'" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, fuzzy, gcc-internal-format + #| msgid " `%#D' declared here" +@@ -54343,7 +54330,7 @@ msgstr "ingen passende funktion for kald til '%T::%D(%A)%#V'" + msgid "call to non-function %qD" + msgstr "kald af ikke-funktion '%D'" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, fuzzy, gcc-internal-format + #| msgid "cannot call destructor `%T::~%T' without object" + msgid "cannot call constructor %<%T::%D%> directly" +@@ -54993,7 +54980,7 @@ msgstr "fleksibelt tabelmedlem i ellers tom struktur" + msgid "next member %q#D declared here" + msgstr " '%#D' erklæret her" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, fuzzy, gcc-internal-format + #| msgid "redefinition of `%#T'" + msgid "redefinition of %q#T" +@@ -55132,7 +55119,7 @@ msgstr "ugyldig returtype for medlemsfunktionen '%#D'" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" +@@ -55206,7 +55193,7 @@ msgstr "brugerdefineret '%D' evaluerer altid begge parametre" + msgid "failed % attribute assumption" + msgstr "" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, fuzzy, gcc-internal-format + #| msgid "call to non-function `%D'" +@@ -55258,7 +55245,7 @@ msgstr "'%T' er en tvetydig stamklasse til '%T'" + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, fuzzy, gcc-internal-format + #| msgid "call to non-function `%D'" +@@ -55399,7 +55386,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "forsøg på at følge en 'void *'-henvisning" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -55504,7 +55491,7 @@ msgstr "manglende startværdi for medlemmet '%D'" + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, fuzzy, gcc-internal-format + #| msgid "dereferencing `void *' pointer" +@@ -55593,7 +55580,7 @@ msgstr "ugyldig konvertering fra '%T' til '%T'" + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "kan ikke konvertere '%T' til '%T' i %s" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, fuzzy, gcc-internal-format + msgid "statement is not a constant expression" +@@ -55664,208 +55651,208 @@ msgstr "" + msgid "control passes through definition of %qD with static storage duration" + msgstr "" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, fuzzy, gcc-internal-format + #| msgid "enumeral and non-enumeral type in conditional expression" + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "enum- og ikke enum-type i betinget udtryk" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "overløb i konstant udtryk" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, fuzzy, gcc-internal-format + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "overløb i konstant udtryk" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, fuzzy, gcc-internal-format + #| msgid "\"%s\" is not defined" + msgid "cast from %qT is not allowed" + msgstr "\"%s\" er ikke defineret" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, fuzzy, gcc-internal-format + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, fuzzy, gcc-internal-format + msgid "%(%E)%> is not a constant expression" + msgstr "overløb i konstant udtryk" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, fuzzy, gcc-internal-format + msgid "expression %qE is not a constant expression" + msgstr "størrelsen af medlemmet '%D' er ikke konstant" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, fuzzy, gcc-internal-format + #| msgid "Missing or invalid constant expression" + msgid "% is not a constant expression" + msgstr "Manglende eller ugyldigt konstant udtryk" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, fuzzy, gcc-internal-format + msgid "contract predicate is false in constant expression" + msgstr "overløb i konstant udtryk" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, fuzzy, gcc-internal-format + msgid "unexpected template-id %qE" + msgstr "uventet operand" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, fuzzy, gcc-internal-format + msgid "function concept must be called" + msgstr "den indbyggede funktion '%s' er erklæret som noget der ikke er en funktion" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, fuzzy, gcc-internal-format + #| msgid "size of array is not an integral constant-expression" + msgid "address of a call to %qs is not a constant expression" + msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, fuzzy, gcc-internal-format + #| msgid "unexpected address expression" + msgid "unexpected expression %qE of kind %s" + msgstr "uventet adresseudtryk" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, fuzzy, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, fuzzy, gcc-internal-format + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, fuzzy, gcc-internal-format + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, fuzzy, gcc-internal-format + #| msgid "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'" + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "ugyldig reinterpret_cast af et højreværdiudtryk fra typen '%T' til typen '%T'" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, fuzzy, gcc-internal-format + #| msgid "size of array is not an integral constant-expression" + msgid "lambda capture of %qE is not a constant expression" + msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, fuzzy, gcc-internal-format + #| msgid "invalid reinterpret_cast from type `%T' to type `%T'" + msgid "% from integer to pointer" + msgstr "ugyldig reinterpret_cast fra typen '%T' til typen '%T'" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, fuzzy, gcc-internal-format + #| msgid "overflow in constant expression" + msgid "use of % in a constant expression" + msgstr "overløb i konstant udtryk" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, fuzzy, gcc-internal-format + #| msgid "overflow in constant expression" + msgid "lambda-expression is not a constant expression before C++17" + msgstr "overløb i konstant udtryk" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, fuzzy, gcc-internal-format + #| msgid "overflow in constant expression" + msgid "new-expression is not a constant expression before C++20" + msgstr "overløb i konstant udtryk" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual functions cannot be % before C++20" + msgstr "en virtuel funktion kan ikke erklæres som friend" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, fuzzy, gcc-internal-format + #| msgid "Missing or invalid constant expression" + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "Manglende eller ugyldigt konstant udtryk" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, fuzzy, gcc-internal-format + msgid "cast to non-integral type %qT in a constant expression" + msgstr "overløb i konstant udtryk" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, fuzzy, gcc-internal-format + #| msgid "field `%D' declared static in union" + msgid "%qD defined % in % context" + msgstr "feltet '%D' er erklæret statisk i union" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, fuzzy, gcc-internal-format + #| msgid "field `%D' declared static in union" + msgid "%qD defined % in % context" + msgstr "feltet '%D' er erklæret statisk i union" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, fuzzy, gcc-internal-format + #| msgid "size of array is not an integral constant-expression" + msgid "division by zero is not a constant expression" + msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "overløb i konstant udtryk" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, fuzzy, gcc-internal-format + #| msgid "overflow in constant expression" + msgid "neither branch of % is a constant expression" + msgstr "overløb i konstant udtryk" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, fuzzy, gcc-internal-format + #| msgid "nonconstant array index in initializer" + msgid "non-constant array initialization" + msgstr "tabelindekset i startværdien er ikke en konstant" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "skabelonsparameter %d er ugyldig" + +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "unexpected type for `id' (%s)" + msgid "unexpected AST of kind %s" +@@ -56504,7 +56491,7 @@ msgstr "" + msgid "% declared here" + msgstr "%qD-mål erklæret her" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, fuzzy, gcc-internal-format + #| msgid "no type named `%#T' in `%#T'" + msgid "no member named %qE in %qT" +@@ -56608,7 +56595,7 @@ msgstr "en tredje parameter til '__builtin_prefetch' skal være en konstant" + msgid "no suspend point info for %qD" + msgstr "ingen tidligere prototype for '%s'" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "" +@@ -56631,23 +56618,23 @@ msgstr "henvisningsvariabler er ikke tilladt som case-værdier" + msgid "variable length arrays are not yet supported in coroutines" + msgstr "Advar når en variabel ikke benyttes" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, fuzzy, gcc-internal-format + msgid "cannot initialize a return object of type %qT with an rvalue of type %" + msgstr "ugyldig const_cast af en højreværdi fra typen '%T' til typen '%T'" +@@ -57194,7 +57181,7 @@ msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "erklæring af '%D' som %s" + + # hænger sammen med næste tekst +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration `%D'" + msgid "previous declaration %qD" +@@ -57649,686 +57636,686 @@ msgstr "'%D' er ikke en funktionsskabelon" + msgid "%q#T is not a class" + msgstr "'%#T' er ikke en skabelon" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, fuzzy, gcc-internal-format + #| msgid "no class template named `%#T' in `%#T'" + msgid "no class template named %q#T in %q#T" + msgstr "ingen klasseskabelon ved navn '%#T' i '%#T'" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, fuzzy, gcc-internal-format + #| msgid "no type named `%#T' in `%#T'" + msgid "no type named %q#T in %q#T" + msgstr "ingen type ved navn '%#T' i '%#T'" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, fuzzy, gcc-internal-format + #| msgid "call of `(%T) (%A)' is ambiguous" + msgid "lookup of %qT in %qT is ambiguous" + msgstr "kald af '(%T) (%A)' er tvetydigt" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, fuzzy, gcc-internal-format + #| msgid "`%D::%D' is not a template" + msgid "% names %q#D, which is not a type" + msgstr "'%D::%D' er ikke en skabelon" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, fuzzy, gcc-internal-format + #| msgid "template parameters cannot be friends" + msgid "template parameters do not match template %qD" + msgstr "skabelonsparametre kan ikke være venner" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, fuzzy, gcc-internal-format + #| msgid "-falign-labels=%d is not supported" + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "-falign-labels=%d understøttes ikke" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, fuzzy, gcc-internal-format + #| msgid "`%#D' invalid; an anonymous union can only have non-static data members" + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "'%#D' er ugyldig; en anonym union kan kun have ikke-statiske datamedlemmer" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, fuzzy, gcc-internal-format + #| msgid "-traditional is deprecated and may be removed" + msgid "this flexibility is deprecated and will be removed" + msgstr "-traditional er forældet og kan blive fjernet" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, fuzzy, gcc-internal-format + #| msgid "anonymous struct not inside named type" + msgid "anonymous struct with base classes" + msgstr "anonym struct er ikke inden i en navngiven type" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, fuzzy, gcc-internal-format + #| msgid "member %#D' with constructor not allowed in anonymous aggregate" + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "medlemmet '%#D' med konstruktionsfunktion er ikke tilladt i anonym sammensat type" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, fuzzy, gcc-internal-format + #| msgid "member %#D' with destructor not allowed in anonymous aggregate" + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "medlemmet '%#D' med destruktionsfunktion er ikke tilladt i anonym sammensat type" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, fuzzy, gcc-internal-format + #| msgid "member %#D' with copy assignment operator not allowed in anonymous aggregate" + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "medlemmet '%#D' med kopitildelingsoperator er ikke tilladt i anonym sammensat type" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, fuzzy, gcc-internal-format + #| msgid "forward declaration of `%#T'" + msgid "attribute ignored in declaration of %q#T" + msgstr "forhåndserklæring af '%#T'" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, gcc-internal-format + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "flere typer i én erklæring" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, fuzzy, gcc-internal-format + #| msgid "redeclaration of C++ built-in type `%T'" + msgid "redeclaration of C++ built-in type %qT" + msgstr "omerklæring af indbygget type i C++ '%T'" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, fuzzy, gcc-internal-format + #| msgid "`%D' can only be specified for objects and functions" + msgid "% can only be specified for variables or function declarations" + msgstr "'%D' kan kun angives for objekter og funktioner" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "manglende typenavn i typedef-erklæring" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "ISO C++ forbyder anonyme strukturer" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, fuzzy, gcc-internal-format + #| msgid "`%D' can only be specified for functions" + msgid "% can only be specified for functions" + msgstr "'%D' kan kun angives for funktioner" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, fuzzy, gcc-internal-format + #| msgid "`%D' can only be specified for functions" + msgid "% can only be specified for functions" + msgstr "'%D' kan kun angives for funktioner" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, fuzzy, gcc-internal-format + #| msgid "`%D' can only be specified inside a class" + msgid "% can only be specified inside a class" + msgstr "'%D' kan kun angives inden i en klasse" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, fuzzy, gcc-internal-format + #| msgid "`%D' can only be specified for constructors" + msgid "% can only be specified for constructors" + msgstr "'%D' kan kun angives for konstruktionsfunktioner" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, fuzzy, gcc-internal-format + #| msgid "`%D' can only be specified for objects and functions" + msgid "a storage class can only be specified for objects and functions" + msgstr "'%D' kan kun angives for objekter og funktioner" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, fuzzy, gcc-internal-format + #| msgid "`%D' can only be specified for objects and functions" + msgid "% can only be specified for objects and functions" + msgstr "'%D' kan kun angives for objekter og funktioner" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, fuzzy, gcc-internal-format + #| msgid "`%D' can only be specified for objects and functions" + msgid "% can only be specified for objects and functions" + msgstr "'%D' kan kun angives for objekter og funktioner" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, fuzzy, gcc-internal-format + #| msgid "`%D' can only be specified for objects and functions" + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "'%D' kan kun angives for objekter og funktioner" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, fuzzy, gcc-internal-format + #| msgid "`%D' can only be specified for objects and functions" + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "'%D' kan kun angives for objekter og funktioner" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, fuzzy, gcc-internal-format + #| msgid "type defaults to `int' in declaration of `%s'" + msgid "% was ignored in this declaration" + msgstr "typen antages at være 'int' i erklæringen af '%s'" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, fuzzy, gcc-internal-format + msgid "%qs cannot be used for type declarations" + msgstr "tom erklæring" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, fuzzy, gcc-internal-format + #| msgid "template parameter list used in explicit instantiation" + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "skabelonsparameterliste benyttet i eksplicit instantiering" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute can only be applied to class definitions" + msgid "no attribute can be applied to an explicit instantiation" + msgstr "egenskaben '%s' kan kun anvendes med klassedefinitioner" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute can only be applied to class definitions" + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "egenskaben '%s' kan kun anvendes med klassedefinitioner" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "" + + # init dækker over værditildeling her - samme for de næste mange +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, fuzzy, gcc-internal-format + #| msgid "typedef `%D' is initialized (use __typeof__ instead)" + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "typedef '%D' bliver tildelt en værdi (benyt __typeof__ i stedet)" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D' has `extern' and is initialized" + msgid "declaration of %q#D has % and is initialized" + msgstr "erklæringen af '%#D' indeholder 'extern' og variablen bliver tildelt en startværdi" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, fuzzy, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "'auto' er påhæftet funktionsdefinitionen" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, fuzzy, gcc-internal-format + msgid "%q+#D is not a static data member of %q#T" + msgstr "'%#D' er ikke et statisk medlem af '%#T'" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, fuzzy, gcc-internal-format + #| msgid "template declaration of `%#D'" + msgid "non-member-template declaration of %qD" + msgstr "skabelonserklæring af '%#D'" + +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, fuzzy, gcc-internal-format + #| msgid "invalid member template declaration `%D'" + msgid "does not match member template declaration here" + msgstr "ugyldig medlemsskabelonerklæring '%D'" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not permit `%T::%D' to be defined as `%T::%D'" + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "ISO C++ tillader ikke '%T::%D' at blive defineret som '%T::%D'" + +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, fuzzy, gcc-internal-format + #| msgid "duplicate initialization of %D" + msgid "duplicate initialization of %qD" + msgstr "%D tildelt startværdi mere end én gang" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D' outside of class is not definition" + msgid "declaration of %q#D outside of class is not definition" + msgstr "erklæring af '%#D' uden for en klasse er ikke en definition" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "skabelonsparameter %d er ugyldig" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "skabelonsparameter %d er ugyldig" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, fuzzy, gcc-internal-format + #| msgid "variable `%#D' has initializer but incomplete type" + msgid "variable %q#D has initializer but incomplete type" + msgstr "variablen '%#D' bliver tildelt en startværdi, men er af en ufuldstændig type" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, fuzzy, gcc-internal-format + #| msgid "elements of array `%#D' have incomplete type" + msgid "elements of array %q#D have incomplete type" + msgstr "elementer i tabellen '%#D' er af en ufuldstændig type" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, fuzzy, gcc-internal-format + #| msgid "aggregate `%#D' has incomplete type and cannot be defined" + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "den sammensatte type '%#D' er af en ufuldstændig type og kan ikke defineres" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, fuzzy, gcc-internal-format + #| msgid "`%D' declared as reference but not initialized" + msgid "%qD declared as reference but not initialized" + msgstr "'%D' erklæret som en reference, men bliver ikke tildelt en startværdi" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, gcc-internal-format + msgid "name used in a GNU-style designated initializer for an array" + msgstr "" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "ikke-trivielle udpegede startværdier er ikke understøttet" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, fuzzy, gcc-internal-format + #| msgid "size of array `%D' is not an integral constant-expression" + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "startværdien giver ikke størrelsen af %qD" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, gcc-internal-format + msgid "array size missing in %qD" + msgstr "tabelstørrelsen mangler i %qD" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, gcc-internal-format + msgid "zero-size array %qD" + msgstr "nulstørrelsestabel %qD" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, gcc-internal-format + msgid "storage size of %qD isn%'t known" + msgstr "lagringsstørrelsen af %qD er ikke kendt" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, fuzzy, gcc-internal-format + #| msgid "storage size of `%D' isn't constant" + msgid "storage size of %qD isn%'t constant" + msgstr "lagringsstørrelsen af '%D' er ikke konstant" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, fuzzy, gcc-internal-format + #| msgid "sorry: semantics of inline function static data `%#D' are wrong (you'll wind up with multiple copies)" + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "semantikken for indlejret funktionsstatisk data '%#D' er forkert (du ender med flere kopier)" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, fuzzy, gcc-internal-format + #| msgid "sorry: semantics of inline function static data `%#D' are wrong (you'll wind up with multiple copies)" + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "semantikken for indlejret funktionsstatisk data '%#D' er forkert (du ender med flere kopier)" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, fuzzy, gcc-internal-format + msgid "you can work around this by removing the initializer" + msgstr " du kan arbejde dig rundt om dette ved at fjerne startværdien" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, fuzzy, gcc-internal-format + #| msgid "uninitialized const `%D'" + msgid "uninitialized %" + msgstr "konstant '%D' uden startværdi" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, fuzzy, gcc-internal-format + #| msgid "register variable `%s' used in nested function" + msgid "uninitialized variable %qD in % function" + msgstr "registervariabel '%s' benyttet i indlejret funktion" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, fuzzy, gcc-internal-format + #| msgid "register variable `%s' used in nested function" + msgid "uninitialized variable %qD in % context" + msgstr "registervariabel '%s' benyttet i indlejret funktion" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, fuzzy, gcc-internal-format + msgid "%q#T has no user-provided default constructor" + msgstr "typen '%T' har ingen destruktionsfunktion" + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer for virtual method `%D'" + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "ugyldig startværdi til virtuel medlemsfunktion '%D'" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, fuzzy, gcc-internal-format + #| msgid "initializer for `%T' must be brace-enclosed" + msgid "initializer for %qT must be brace-enclosed" + msgstr "startværdi for '%T' skal være indesluttet i krøllede paranteser" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, gcc-internal-format + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, fuzzy, gcc-internal-format + #| msgid "`%T' has no non-static data member named `%D'" + msgid "%qT has no non-static data member named %qD" + msgstr "'%T' har intet ikke-statisk medlem ved navn '%D'" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, fuzzy, gcc-internal-format + #| msgid "`%D' is not a member of `%T'" + msgid "%qD is not a direct member of %qT" + msgstr "'%D' er ikke et medlem af '%T'" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer" + msgid "invalid initializer for %q#D" + msgstr "ugyldig startværdi" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, fuzzy, gcc-internal-format + #| msgid "excess elements in aggregate initializer" + msgid "C99 designator %qE outside aggregate initializer" + msgstr "for mange elementer i startværdi til sammensat type" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "for mange startværdier for %qT" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, fuzzy, gcc-internal-format + #| msgid "braces around scalar initializer for `%T'" + msgid "braces around scalar initializer for type %qT" + msgstr "krøllede paranteser omkring skalarstartværdi for '%T'" + +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, fuzzy, gcc-internal-format + #| msgid "braces around scalar initializer for `%T'" + msgid "too many braces around scalar initializer for type %qT" + msgstr "krøllede paranteser omkring skalarstartværdi for '%T'" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, fuzzy, gcc-internal-format + #| msgid "missing braces around initializer" + msgid "missing braces around initializer for %qT" + msgstr "krøllede paranteser mangler omkring startværdien" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, fuzzy, gcc-internal-format + #| msgid "dereferencing pointer to incomplete type" + msgid "structured binding has incomplete type %qT" + msgstr "forsøg på at følge en henvisning til en variabel af en ufuldstændig type" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, fuzzy, gcc-internal-format + #| msgid "elements of array `%#D' have incomplete type" + msgid "elements of array %q#T have incomplete type" + msgstr "elementer i tabellen '%#D' er af en ufuldstændig type" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, fuzzy, gcc-internal-format + #| msgid "ISO C89 forbids compound literals" + msgid "variable-sized compound literal" + msgstr "ISO C89 forbyder sammensatte konstanter" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, fuzzy, gcc-internal-format + #| msgid "`%D' has incomplete type" + msgid "%q#D has incomplete type" + msgstr "'%D' er af en ufuldstændig type" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, fuzzy, gcc-internal-format + #| msgid "excess elements in union initializer" + msgid "scalar object %qD requires one element in initializer" + msgstr "for mange elementer i union-startværdi" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, fuzzy, gcc-internal-format + #| msgid "`%D' must be initialized by constructor, not by `{...}'" + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "'%D' skal klargøres af en konstruktionsfunktion, ikke af '{...}'" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, fuzzy, gcc-internal-format + #| msgid "_Pragma takes a parenthesized string literal" + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "_Pragma tager en strengkonstant med paranteser omkring" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "tildeling af startværdi er ugyldig for statisk medlem med konstruktionsfunktion" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids in-class initialization of non-const static member `%D'" + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "ISO C++ forbyder tildeling af startværdi i klasse til ikke-konstant statisk medlem '%D'" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids in-class initialization of non-const static member `%D'" + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "ISO C++ forbyder tildeling af startværdi i klasse til ikke-konstant statisk medlem '%D'" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "(en klargøring uden for klassens erklæring er nødvendig)" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, fuzzy, gcc-internal-format + #| msgid "member `%D' with uninitialized const fields" + msgid "reference %qD is initialized with itself" + msgstr "medlem '%D' med konstante felter uden startværdi" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, fuzzy, gcc-internal-format + #| msgid "`%s' is not at beginning of declaration" + msgid "could not find variant declaration" + msgstr "'%s' er ikke ved begyndelsen af erklæringen" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, fuzzy, gcc-internal-format + #| msgid "too few arguments to %s `%+#D'" + msgid "% on constructor %qD" + msgstr "for få parametre til %s '%+#D'" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, fuzzy, gcc-internal-format + msgid "% on destructor %qD" + msgstr "using-erklæring for destruktionsfunktion" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, gcc-internal-format + msgid "% on defaulted %qD" + msgstr "" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, gcc-internal-format + msgid "% on deleted %qD" + msgstr "" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, gcc-internal-format + msgid "% on virtual %qD" + msgstr "" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "tildeling (ikke klargøring) i erklæring" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, gcc-internal-format + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "ISO C++17 tillader ikke %-lagerklasseangivelse" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, fuzzy, gcc-internal-format + #| msgid "storage class specified for %s `%s'" + msgid "% storage class specifier used" + msgstr "lagringsklasse angivet for %s '%s'" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D' has `extern' and is initialized" + msgid "declaration of %q#D has no initializer" + msgstr "erklæringen af '%#D' indeholder 'extern' og variablen bliver tildelt en startværdi" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of member (did you forget the `&' ?)" + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "ugyldig brug af medlem (glemte du en '&'?)" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, fuzzy, gcc-internal-format + #| msgid "return type `%#T' is incomplete" + msgid "deduced type %qT for %qD is incomplete" + msgstr "returtype '%#T' er ufuldstændig" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, fuzzy, gcc-internal-format + #| msgid "variable-sized object may not be initialized" + msgid "variable concept has no initializer" + msgstr "et objekt af variabel størrelse må ikke tildeles en startværdi" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, fuzzy, gcc-internal-format + #| msgid "shadowing previous type declaration of `%#D'" + msgid "shadowing previous type declaration of %q#D" + msgstr "skygger for tidligere typeerklæring af '%#D'" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute only applies to variables" + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "egenskaben '%s' kan kun anvendes på variabler" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, fuzzy, gcc-internal-format + #| msgid "function `%#D' is initialized like a variable" + msgid "function %q#D is initialized like a variable" + msgstr "funktionen '%#D' bliver tildelt en startværdi som en variabel" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, fuzzy, gcc-internal-format + #| msgid " cannot use obsolete binding at `%D' because it has a destructor" + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr " kan ikke bruge forældet binding til '%D' fordi den har en destruktionsfunktion" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member of non-class type `%T'" + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "opretter henvisning til medlem af typen '%T' der ikke er en klasse" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, fuzzy, gcc-internal-format + #| msgid "dereferencing pointer to incomplete type" + msgid "structured binding refers to incomplete type %qT" + msgstr "forsøg på at følge en henvisning til en variabel af en ufuldstændig type" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 forbids variable-size array `%s'" + msgid "cannot decompose variable length array %qT" + msgstr "ISO C90 forbyder tabellen '%s' med variabel størrelse" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "storage class specified for structure field `%s'" + msgid "%u name provided for structured binding" +@@ -58336,1926 +58323,1926 @@ msgid_plural "%u names provided for structured binding" + msgstr[0] "lagringsklasse angivet for strukturfelt '%s'" + msgstr[1] "lagringsklasse angivet for strukturfelt '%s'" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 forbids variable-size array `%s'" + msgid "cannot decompose variable length vector %qT" + msgstr "ISO C90 forbyder tabellen '%s' med variabel størrelse" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, fuzzy, gcc-internal-format + #| msgid "size of array is not an integral constant-expression" + msgid "%::value%> is not an integral constant expression" + msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, fuzzy, gcc-internal-format + #| msgid "invalid vector type for attribute `%s'" + msgid "in initialization of structured binding variable %qD" + msgstr "ugyldig vektortype for egenskaben '%s'" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare bit-field `%D' with function type" + msgid "cannot decompose union type %qT" + msgstr "kan ikke erklære bitfelt '%D' med funktionstype" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member of non-class type `%T'" + msgid "cannot decompose non-array non-class type %qT" + msgstr "opretter henvisning til medlem af typen '%T' der ikke er en klasse" + +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare bit-field `%D' with function type" + msgid "cannot decompose lambda closure type %qT" + msgstr "kan ikke erklære bitfelt '%D' med funktionstype" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, fuzzy, gcc-internal-format + #| msgid "dereferencing pointer to incomplete type" + msgid "structured binding refers to incomplete class type %qT" + msgstr "forsøg på at følge en henvisning til en variabel af en ufuldstændig type" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, fuzzy, gcc-internal-format + msgid "cannot decompose class type %qT without non-static data members" + msgstr "ugyldig brug af ikke-statisk felt '%D'" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, fuzzy, gcc-internal-format + #| msgid "initializer fails to determine size of `%D'" + msgid "initializer fails to determine size of %qT" + msgstr "startværdien giver ikke størrelsen af '%D'" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, fuzzy, gcc-internal-format + #| msgid "array size missing in `%D'" + msgid "array size missing in %qT" + msgstr "tabelstørrelsen mangler i '%D'" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, fuzzy, gcc-internal-format + #| msgid "zero-size array `%D'" + msgid "zero-size array %qT" + msgstr "nulstørrelsestabel '%D'" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, fuzzy, gcc-internal-format + #| msgid "destructor for alien class `%T' cannot be a member" + msgid "destructor for alien class %qT cannot be a member" + msgstr "destruktionsfunktionen for den fremmede klasse '%T' kan ikke være et medlem" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, fuzzy, gcc-internal-format + #| msgid "constructor for alien class `%T' cannot be a member" + msgid "constructor for alien class %qT cannot be a member" + msgstr "konstruktionsfunktionen for den fremmede klasse '%T' kan ikke være et medlem" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, fuzzy, gcc-internal-format + #| msgid "`%D' declared as a `virtual' %s" + msgid "%qD declared as a % variable" + msgstr "'%D' erklæret som 'virtual' %s" + + # %s bliver omsat til typen +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, fuzzy, gcc-internal-format + #| msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration" + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "'const'- og 'volatile'-funktionsangivelser til '%D' er ugyldigt i erklæring af %s" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, fuzzy, gcc-internal-format + #| msgid "`%D' declared as a `virtual' %s" + msgid "%qD declared as a % parameter" + msgstr "'%D' erklæret som 'virtual' %s" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, fuzzy, gcc-internal-format + msgid "%qD declared as an % parameter" + msgstr "'%D' er erklæret som en ven" + + # %s bliver omsat til typen +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, fuzzy, gcc-internal-format + #| msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration" + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "'const'- og 'volatile'-funktionsangivelser til '%D' er ugyldigt i erklæring af %s" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, fuzzy, gcc-internal-format + #| msgid "`%D' declared as a `virtual' %s" + msgid "%qD declared as a % type" + msgstr "'%D' erklæret som 'virtual' %s" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, fuzzy, gcc-internal-format + #| msgid "`%D' declared as an `inline' %s" + msgid "%qD declared as an % type" + msgstr "'%D' erklæret som 'inline' %s" + + # %s bliver omsat til typen +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, fuzzy, gcc-internal-format + #| msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration" + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "'const'- og 'volatile'-funktionsangivelser til '%D' er ugyldigt i erklæring af %s" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, fuzzy, gcc-internal-format + #| msgid "`%D' declared as a `virtual' %s" + msgid "%qD declared as a % field" + msgstr "'%D' erklæret som 'virtual' %s" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, fuzzy, gcc-internal-format + #| msgid "`%D' declared as an `inline' %s" + msgid "%qD declared as an % field" + msgstr "'%D' erklæret som 'inline' %s" + + # %s bliver omsat til typen +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, fuzzy, gcc-internal-format + #| msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration" + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "'const'- og 'volatile'-funktionsangivelser til '%D' er ugyldigt i erklæring af %s" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, fuzzy, gcc-internal-format + #| msgid "`%D' declared as a friend" + msgid "%q+D declared as a friend" + msgstr "'%D' er erklæret som en ven" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, fuzzy, gcc-internal-format + #| msgid "`%D' declared with an exception specification" + msgid "%q+D declared with an exception specification" + msgstr "'%D' erklæret med en undtagelsesspecifikation" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%D' not in a namespace surrounding `%D'" + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "erklæring af '%D' er ikke i et navnerum der omgiver '%D'" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, fuzzy, gcc-internal-format + #| msgid "static member function `%#D' declared with type qualifiers" + msgid "static member function %q#D declared with type qualifiers" + msgstr "statisk medlemsfunktion '%#D' erklæret med typemodifikationer" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, fuzzy, gcc-internal-format + msgid "concept %q#D declared with function parameters" + msgstr "'%D' er erklæret som en ven" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, fuzzy, gcc-internal-format + #| msgid "parameter `%D' declared void" + msgid "concept %q#D declared with a deduced return type" + msgstr "parameteren '%D' erklæret void" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, fuzzy, gcc-internal-format + #| msgid "Java method '%D' has non-Java return type `%T'" + msgid "concept %q#D with non-% return type %qT" + msgstr "Java-metoden '%D' har har en returtype '%T' som ikke er fra Java" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, fuzzy, gcc-internal-format + #| msgid "node is alias but not definition" + msgid "concept %qD has no definition" + msgstr "node er alias men ikke definition" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, fuzzy, gcc-internal-format + #| msgid "function cannot be inline" + msgid "a function concept cannot be constrained" + msgstr "funktion kan ikke indbygges" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, fuzzy, gcc-internal-format + #| msgid "`%D' is not a member template function" + msgid "constraints on a non-templated function" + msgstr "'%D' er ikke en medlemsskabelonfunktion" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, fuzzy, gcc-internal-format + #| msgid "defining explicit specialization `%D' in friend declaration" + msgid "defining explicit specialization %qD in friend declaration" + msgstr "definering af eksplicit specialisering '%D' i friend-erklæring" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of template-id `%D' in declaration of primary template" + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "ugyldig brug af skabelons-id '%D' i erklæring af primær skabelon" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, fuzzy, gcc-internal-format + #| msgid "default arguments are not allowed in declaration of friend template specialization `%D'" + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "standardparametre er ikke tilladt i erklæring af venneskabelonsspecialisering '%D'" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, fuzzy, gcc-internal-format + #| msgid "`inline' is not allowed in declaration of friend template specialization `%D'" + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "'inline' er ikke tilladt i erklæring venneskabelonsspecialisering '%D'" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D' outside of class is not definition" + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "erklæring af '%#D' uden for en klasse er ikke en definition" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "kan ikke erklære %<::main%> som en skabelon" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "kan ikke erklære %<::main%> som indlejret" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare `::main' to be static" + msgid "cannot declare %<::main%> to be %qs" + msgstr "kan ikke erklære '::main' som statisk" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare `::main' to be static" + msgid "cannot declare %<::main%> to be static" + msgstr "kan ikke erklære '::main' som statisk" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, fuzzy, gcc-internal-format + #| msgid "%smember function `%D' cannot have `%T' method qualifier" + msgid "static member function %qD cannot have cv-qualifier" + msgstr "%smedlemsfunktion '%D' kan ikke have metodemodifikationen '%T'" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, fuzzy, gcc-internal-format + #| msgid "%smember function `%D' cannot have `%T' method qualifier" + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "%smedlemsfunktion '%D' kan ikke have metodemodifikationen '%T'" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, fuzzy, gcc-internal-format + #| msgid "%smember function `%D' cannot have `%T' method qualifier" + msgid "static member function %qD cannot have ref-qualifier" + msgstr "%smedlemsfunktion '%D' kan ikke have metodemodifikationen '%T'" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, fuzzy, gcc-internal-format + #| msgid "%smember function `%D' cannot have `%T' method qualifier" + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "%smedlemsfunktion '%D' kan ikke have metodemodifikationen '%T'" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, fuzzy, gcc-internal-format + #| msgid "specialization of %D after instantiation" + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "specialisering af '%D' efter instantiering" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, fuzzy, gcc-internal-format + #| msgid "specialization of %D after instantiation" + msgid "deduction guide %qD must have the same access as %qT" + msgstr "specialisering af '%D' efter instantiering" + +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%D' as non-function" + msgid "deduction guide %qD must not have a function body" + msgstr "erklæring af '%D' som ikke-funktion" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, fuzzy, gcc-internal-format + #| msgid "template with C linkage" + msgid "literal operator with C linkage" + msgstr "skabelon med C-kædning" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, fuzzy, gcc-internal-format + #| msgid "#%s with invalid argument" + msgid "%qD has invalid argument list" + msgstr "#%s med ugyldig parameter" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, gcc-internal-format + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, fuzzy, gcc-internal-format + #| msgid "`%D' must be a nonstatic member function" + msgid "%qD must be a non-member function" + msgstr "'%D' skal være en ikke-statisk medlemsfunktion" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, fuzzy, gcc-internal-format + #| msgid "`main' must return `int'" + msgid "%<::main%> must return %" + msgstr "'main' skal returnere typen 'int'" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, fuzzy, gcc-internal-format + #| msgid "definition of implicitly-declared `%D'" + msgid "definition of implicitly-declared %qD" + msgstr "definition af underforstået-erklæret '%D'" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, fuzzy, gcc-internal-format + #| msgid "definition of implicitly-declared `%D'" + msgid "definition of explicitly-defaulted %q+D" + msgstr "definition af underforstået-erklæret '%D'" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, fuzzy, gcc-internal-format + #| msgid "`%#D' previously defined here" + msgid "%q#D explicitly defaulted here" + msgstr "'%#D' tidligere defineret her" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, fuzzy, gcc-internal-format + #| msgid "no `%#D' member function declared in class `%T'" + msgid "no %q#D member function declared in class %qT" + msgstr "ingen medlemsfunktion '%#D' erklæret i klassen '%T'" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare `::main' to be a template" + msgid "cannot declare %<::main%> to be a global variable" + msgstr "kan ikke erklære '::main' som en skabelon" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be `%s'" + msgid "a non-template variable cannot be %" + msgstr "destruktionsfunktioner må ikke være '%s'" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, fuzzy, gcc-internal-format + #| msgid "specialization of %D after instantiation" + msgid "concept must be defined at namespace scope" + msgstr "specialisering af '%D' efter instantiering" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, fuzzy, gcc-internal-format + #| msgid "variable-sized object may not be initialized" + msgid "a variable concept cannot be constrained" + msgstr "et objekt af variabel størrelse må ikke tildeles en startværdi" + +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type `%T'" + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "ugyldig tildeling af startværdi i klasse til statisk datamedlem af en ikke-heltalstype '%T'" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type `%T'" + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "ugyldig tildeling af startværdi i klasse til statisk datamedlem af en ikke-heltalstype '%T'" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type `%T'" + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "ugyldig tildeling af startværdi i klasse til statisk datamedlem af en ikke-heltalstype '%T'" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type `%T'" + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "ugyldig tildeling af startværdi i klasse til statisk datamedlem af en ikke-heltalstype '%T'" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids in-class initialization of non-const static member `%D'" + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "ISO C++ forbyder tildeling af startværdi i klasse til ikke-konstant statisk medlem '%D'" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids initialization of member constant `%D' of non-integral type `%T'" + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "ISO C++ forbyder tildeling af startværdi til medlemskonstant '%D' af en ikke-heltallig type" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, fuzzy, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "størrelsen af tabellen '%D' er ikke af en heltalstype" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, fuzzy, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "størrelsen af tabel er ikke af en heltalstype" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, fuzzy, gcc-internal-format + #| msgid "size of array `%D' is not an integral constant-expression" + msgid "size of array %qD is not an integral constant-expression" + msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids zero-size array `%D'" + msgid "ISO C++ forbids zero-size array %qD" + msgstr "ISO C++ forbyder tabellen '%D' med størrelsen nul" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "ISO C++ forbyder tabel med størrelsen nul" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids variable-size array `%D'" + msgid "ISO C++ forbids variable length array %qD" + msgstr "ISO C++ forbyder tabellen '%D' med variabel størrelse" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids variable-size array" + msgid "ISO C++ forbids variable length array" + msgstr "ISO C++ forbyder tabel med variabel størrelse" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "tabeldimension for stor" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, fuzzy, gcc-internal-format + #| msgid "`%D' declared as a friend" + msgid "%qD declared as array of template placeholder type %qT" + msgstr "'%D' er erklæret som en ven" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member reference type `%T'" + msgid "creating array of template placeholder type %qT" + msgstr "opretter henvisning til medlemsreference af typen '%T'" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%s' as array of voids" + msgid "declaration of %qD as array of void" + msgstr "'%s' erklæret som en tabel af void" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, fuzzy, gcc-internal-format + #| msgid "creating array of `%T'" + msgid "creating array of void" + msgstr "opretter tabel af '%T'" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%s' as array of functions" + msgid "declaration of %qD as array of functions" + msgstr "'%s' erklæret som en tabel af funktioner" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%s' as array of functions" + msgid "creating array of functions" + msgstr "'%s' erklæret som en tabel af funktioner" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%s' as array of functions" + msgid "declaration of %qD as array of references" + msgstr "'%s' erklæret som en tabel af funktioner" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, fuzzy, gcc-internal-format + #| msgid "creating array of `%T'" + msgid "creating array of references" + msgstr "opretter tabel af '%T'" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%s' as array of functions" + msgid "declaration of %qD as array of function members" + msgstr "'%s' erklæret som en tabel af funktioner" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%s' as array of functions" + msgid "creating array of function members" + msgstr "'%s' erklæret som en tabel af funktioner" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first" + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "erklæring af '%D' som flerdimensional tabel skal have grænser for alle dimensioner pånær den første" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "flerdimensional tabel skal have grænser for alle dimensioner pånær den første" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, fuzzy, gcc-internal-format + #| msgid "Warn when a variable is unused" + msgid "variable-length array of %" + msgstr "Advar når en variabel ikke benyttes" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "angivelse af returneringstypen til konstruktionsfunktion er ugyldigt" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of `operator %T'" + msgid "qualifiers are not allowed on constructor declaration" + msgstr "modifikationer er ikke tilladt i erklæring af 'operator %T'" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "angivelse af returneringstypen til destruktionsfunktion er ugyldigt" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of `operator %T'" + msgid "qualifiers are not allowed on destructor declaration" + msgstr "modifikationer er ikke tilladt i erklæring af 'operator %T'" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, fuzzy, gcc-internal-format + #| msgid "return type specified for `operator %T'" + msgid "return type specified for %" + msgstr "returtype angivet for 'operator %T'" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of `operator %T'" + msgid "qualifiers are not allowed on declaration of %" + msgstr "modifikationer er ikke tilladt i erklæring af 'operator %T'" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, fuzzy, gcc-internal-format + #| msgid "return type specification for destructor invalid" + msgid "return type specified for deduction guide" + msgstr "angivelse af returneringstypen til destruktionsfunktion er ugyldigt" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of `operator %T'" + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "modifikationer er ikke tilladt i erklæring af 'operator %T'" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, fuzzy, gcc-internal-format + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "modstridende erklæringer af '%s'" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, fuzzy, gcc-internal-format + msgid "% in declaration of deduction guide" + msgstr "modstridende erklæringer af '%s'" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "unavngiven variabel eller felt erklæret void" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "variabel eller felt erklæret void" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, fuzzy, gcc-internal-format + #| msgid "storage class `inline' invalid for function `%s' declared out of global scope" + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "lagringsklassen 'inline' er ugyldig for funktionen '%s' erklæret uden for det globale virkefelt" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, fuzzy, gcc-internal-format + #| msgid "non-static data member initializers only available with -std=c++11 or -std=gnu++11" + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "ikkestatisk datamedlemsstartværdier er kun tilgængelige med -std=c++11 eller -std=gnu++11" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, fuzzy, gcc-internal-format + #| msgid "%s as integer rather than floating due to prototype" + msgid "%qT as type rather than plain %" + msgstr "%s som heltal i stedet for kommatal på grund af prototypen" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be `%s'" + msgid "% cannot be cv-qualified" + msgstr "destruktionsfunktioner må ikke være '%s'" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of member `%D'" + msgid "invalid use of qualified-name %<::%D%>" + msgstr "ugyldig brug af medlemmet '%D'" + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, fuzzy, gcc-internal-format + #| msgid "invalid definition of qualified type `%T'" + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "ugyldig definition af modificeret type '%T'" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of member `%D'" + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "ugyldig brug af medlemmet '%D'" + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, fuzzy, gcc-internal-format + #| msgid "`%T' is not a class or namespace" + msgid "%q#T is not a class or namespace" + msgstr "'%T' er ikke en klasse eller et navnerum" + +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%D' as non-function" + msgid "declaration of %qE as non-function" + msgstr "erklæring af '%D' som ikke-funktion" + +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%D' as non-function" + msgid "declaration of %qE as non-member" + msgstr "erklæring af '%D' som ikke-funktion" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, fuzzy, gcc-internal-format + #| msgid "declarator-id missing; using reserved word `%D'" + msgid "declarator-id missing; using reserved word %qD" + msgstr "erklærer-id mangler; bruger reserveret ord '%D'" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, fuzzy, gcc-internal-format + #| msgid "function definition declared `register'" + msgid "function definition does not declare parameters" + msgstr "'register' er påhæftet funktionsdefinitionen" + +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%D' as non-function" + msgid "declaration of %qD as non-function" + msgstr "erklæring af '%D' som ikke-funktion" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%D' as %s" + msgid "declaration of %qD as %" + msgstr "erklæring af '%D' som %s" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D' shadows a parameter" + msgid "declaration of %qD as parameter" + msgstr "erklæring af '%#D' skygger for en parameter" + +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, fuzzy, gcc-internal-format + #| msgid "both long and short specified for `%s'" + msgid "both %qs and %qs specified" + msgstr "både long og short er angivet for '%s'" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, fuzzy, gcc-internal-format + msgid "%qs cannot appear in a typedef declaration" + msgstr "navnerum '%D' ikke tilladt i using-erklæring" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, fuzzy, gcc-internal-format + #| msgid "two or more data types in declaration of `%s'" + msgid "two or more data types in declaration of %qs" + msgstr "mere end én datatype i erklæringen af '%s'" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support plain `complex' meaning `double complex'" + msgid "ISO C++ does not support plain % meaning %" + msgstr "ISO C understøtter ikke at blot 'complex' betyder 'double complex'" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids declaration of `%s' with no type" + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "ISO C++ forbyder erklæring af '%s' uden en type" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, fuzzy, gcc-internal-format + #| msgid "__builtin_trap not supported by this target" + msgid "%<__int%d%> is not supported by this target" + msgstr "__builtin_trap understøttes ikke på denne målarkitektur" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not support `long long'" + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "ISO C++ understøtter ikke 'long long'" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, fuzzy, gcc-internal-format + #| msgid "signed and unsigned given together for `%s'" + msgid "% and % specified together" + msgstr "signed og unsigned er begge angivet for '%s'" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, fuzzy, gcc-internal-format + #| msgid "long and short specified together for `%s'" + msgid "% and % specified together" + msgstr "long og short er begge angivet for '%s'" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, fuzzy, gcc-internal-format + #| msgid "%s used with `%%%c' %s format" + msgid "%qs specified with %qT" + msgstr "%s brugt med '%%%c' %s-formatering" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, fuzzy, gcc-internal-format + #| msgid "%s used with `%%%c' %s format" + msgid "%qs specified with %qD" + msgstr "%s brugt med '%%%c' %s-formatering" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, fuzzy, gcc-internal-format + #| msgid "expected %" + msgid "%qs specified with %" + msgstr "forventede %" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, fuzzy, gcc-internal-format + #| msgid "%s used with `%%%c' %s format" + msgid "%qs specified with %" + msgstr "%s brugt med '%%%c' %s-formatering" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, fuzzy, gcc-internal-format + #| msgid "complex invalid for `%s'" + msgid "complex invalid for %qs" + msgstr "complex ugyldig for '%s'" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, fuzzy, gcc-internal-format + #| msgid "member `%D' cannot be declared both virtual and static" + msgid "member %qD cannot be declared both % and %" + msgstr "medlemmet '%D' kan ikke afklæres både virtual og static" + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, fuzzy, gcc-internal-format + #| msgid "member `%D' cannot be declared both virtual and static" + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "medlemmet '%D' kan ikke afklæres både virtual og static" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "typedef-erklæringer er ugyldig i parametererklæringer" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, fuzzy, gcc-internal-format + #| msgid "storage class specified for parameter `%s'" + msgid "storage class specified for template parameter %qs" + msgstr "lagringsklasse angivet for parameter '%s'" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, fuzzy, gcc-internal-format + #| msgid "storage class specified for parameter `%s'" + msgid "storage class specified for parameter %qs" + msgstr "lagringsklasse angivet for parameter '%s'" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, fuzzy, gcc-internal-format + #| msgid "template parameters cannot be friends" + msgid "a parameter cannot be declared %qs" + msgstr "skabelonsparametre kan ikke være venner" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, fuzzy, gcc-internal-format + #| msgid "virtual outside class declaration" + msgid "% outside class declaration" + msgstr "virtual angivet uden for klasseerklæring" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, fuzzy, gcc-internal-format + #| msgid "forward declaration of `%#T'" + msgid "structured binding declaration cannot be %qs" + msgstr "forhåndserklæring af '%#T'" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, fuzzy, gcc-internal-format + #| msgid "constructors cannot be declared virtual" + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "konstruktionsfunktioner kan ikke erklæres virtual" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, fuzzy, gcc-internal-format + msgid "%-qualified structured binding is deprecated" + msgstr "Ugyldig erklæring" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, fuzzy, gcc-internal-format + #| msgid "function `%s' cannot be declared `mutable'" + msgid "structured binding declaration cannot be C++98 %" + msgstr "funktionen '%s' kan ikke erklæres 'mutable'" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, fuzzy, gcc-internal-format + #| msgid "function `%D' cannot be declared friend" + msgid "structured binding declaration cannot have type %qT" + msgstr "funktionen '%D' kan ikke erklæres friend" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, fuzzy, gcc-internal-format + #| msgid "function `%D' cannot be declared friend" + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "funktionen '%D' kan ikke erklæres friend" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, fuzzy, gcc-internal-format + #| msgid "multiple storage classes in declaration of `%s'" + msgid "multiple storage classes in declaration of %qs" + msgstr "flere lagringsklasser optræder i erklæringen af '%s'" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, fuzzy, gcc-internal-format + #| msgid "storage class specified for %s `%s'" + msgid "storage class specified for %qs" + msgstr "lagringsklasse angivet for %s '%s'" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, fuzzy, gcc-internal-format + #| msgid "nested function `%s' declared `extern'" + msgid "nested function %qs declared %" + msgstr "indlejret funktion '%s' er erklæret 'extern'" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, fuzzy, gcc-internal-format + #| msgid "top-level declaration of `%s' specifies `auto'" + msgid "top-level declaration of %qs specifies %" + msgstr "erklæring af '%s' på øverste niveau angiver 'auto'" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, fuzzy, gcc-internal-format + #| msgid "function-scope `%s' implicitly auto and declared `__thread'" + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "'%s' i funktionsvirkefelt underforstået auto og erklæret '__thread'" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "lagringsklasseanvisninger er ugyldige i vennefunktionserklæringer" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute ignored" + msgid "attribute ignored" + msgstr "egenskaben '%s' ignoreret" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, fuzzy, gcc-internal-format + #| msgid "multiple storage classes in declaration of `%s'" + msgid "unnecessary parentheses in declaration of %qs" + msgstr "flere lagringsklasser optræder i erklæringen af '%s'" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, fuzzy, gcc-internal-format + msgid "remove parentheses" + msgstr "uventet operand" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute requires an integer constant argument" + msgid "requires-clause on return type" + msgstr "egenskaben '%s' kræver en heltalskonstant som parameter" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, fuzzy, gcc-internal-format + #| msgid "non-static data member initializers only available with -std=c++11 or -std=gnu++11" + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "ikkestatisk datamedlemsstartværdier er kun tilgængelige med -std=c++11 eller -std=gnu++11" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual function cannot have deduced return type" + msgstr "en virtuel funktion kan ikke erklæres som friend" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, gcc-internal-format + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `%D'" + msgid "invalid use of %" + msgstr "ugyldig brug af '%D" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, fuzzy, gcc-internal-format + #| msgid "type qualifiers ignored on function return type" + msgid "deduced class type %qD in function return type" + msgstr "typemodifikationer ignoreret i funktionsreturtypen" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "deduction guide for %qT must have trailing return type" + msgstr "en virtuel funktion kan ikke erklæres som friend" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, fuzzy, gcc-internal-format + #| msgid "non-static data member initializers only available with -std=c++11 or -std=gnu++11" + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "ikkestatisk datamedlemsstartværdier er kun tilgængelige med -std=c++11 eller -std=gnu++11" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "a conversion function cannot have a trailing return type" + msgstr "en virtuel funktion kan ikke erklæres som friend" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, gcc-internal-format + msgid "%-qualified return type is deprecated" + msgstr "" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, fuzzy, gcc-internal-format + #| msgid "`%s' declared as function returning a function" + msgid "%qs declared as function returning a function" + msgstr "'%s' er erklæret som en funktion der returnerer en funktion" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, fuzzy, gcc-internal-format + #| msgid "`%s' declared as function returning an array" + msgid "%qs declared as function returning an array" + msgstr "'%s' er erklæret som en funktion der returnerer en tabel" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, gcc-internal-format + msgid "% on function return type is not allowed" + msgstr "" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "destruktionsfunktionen kan ikke være en statisk medlemsfunktion" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be `%s'" + msgid "destructors may not be cv-qualified" + msgstr "destruktionsfunktioner må ikke være '%s'" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, fuzzy, gcc-internal-format + #| msgid "constructors may not be `%s'" + msgid "constructors may not be cv-qualified" + msgstr "konstruktionsfunktioner må ikke være '%s'" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be `%s'" + msgid "destructors may not be ref-qualified" + msgstr "destruktionsfunktioner må ikke være '%s'" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be `%s'" + msgid "constructors may not be ref-qualified" + msgstr "destruktionsfunktioner må ikke være '%s'" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, fuzzy, gcc-internal-format + #| msgid "constructors cannot be declared virtual" + msgid "constructors cannot be declared %" + msgstr "konstruktionsfunktioner kan ikke erklæres virtual" + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "en virtuel funktion kan ikke erklæres som friend" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "friend-erklæringen er ikke i klassedefinitionen" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, fuzzy, gcc-internal-format + #| msgid "can't define friend function `%s' in a local class definition" + msgid "cannot define friend function %qs in a local class definition" + msgstr "kan ikke definere vennefunktion '%s' i en lokal klassedefinition" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "destruktionsfunktioner må ikke have parametre" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare pointer to `%#T'" + msgid "cannot declare pointer to %q#T" + msgstr "kan ikke erklære henvisning til '%#T'" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare reference to `%#T'" + msgid "cannot declare reference to %q#T" + msgstr "kan ikke erklære reference til '%#T'" + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare pointer to `%#T' member" + msgid "cannot declare pointer to %q#T member" + msgstr "kan ikke erklære henvisning til medlemmet '%#T'" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare references to references" + msgid "cannot declare reference to qualified function type %qT" + msgstr "kan ikke erklære referencer til referencer" + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare bit-field `%D' with function type" + msgid "cannot declare pointer to qualified function type %qT" + msgstr "kan ikke erklære bitfelt '%D' med funktionstype" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, fuzzy, gcc-internal-format + #| msgid "template-id `%D' used as a declarator" + msgid "template-id %qD used as a declarator" + msgstr "skabelons-id '%D' benyttet som erklærer" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "medlemsfunktioner er underforstået venner af deres klasse" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, fuzzy, gcc-internal-format + #| msgid "extra qualification `%T::' on member `%s' ignored" + msgid "extra qualification %<%T::%> on member %qs" + msgstr "ekstra modifikation '%T::' af medlemmet '%s' ignoreret" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare member function `%T::%s' within `%T'" + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "kan ikke erklære medlemsfunktion '%T::%s' inde i '%T'" + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare member function `%T::%s' within `%T'" + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "kan ikke erklære medlemsfunktion '%T::%s' inde i '%T'" + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare member `%T::%s' within `%T'" + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "kan ikke erklære medlem '%T::%s' inde i '%T'" + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, fuzzy, gcc-internal-format + #| msgid "data member `%D' cannot be a member template" + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "datamedlem '%D' kan ikke være en medlemsskabelon" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, fuzzy, gcc-internal-format + #| msgid "data member may not have variably modified type `%T'" + msgid "data member may not have variably modified type %qT" + msgstr "datamedlem må ikke have variabelt ændret type '%T'" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, fuzzy, gcc-internal-format + #| msgid "parameter may not have variably modified type `%T'" + msgid "parameter may not have variably modified type %qT" + msgstr "parameter må ikke have variabelt ændret type '%T'" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, fuzzy, gcc-internal-format + #| msgid "virtual outside class declaration" + msgid "% outside class declaration" + msgstr "virtual angivet uden for klasseerklæring" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, fuzzy, gcc-internal-format + #| msgid "defining explicit specialization `%D' in friend declaration" + msgid "% in friend declaration" + msgstr "definering af eksplicit specialisering '%D' i friend-erklæring" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, fuzzy, gcc-internal-format + #| msgid "only declarations of constructors can be `explicit'" + msgid "only declarations of constructors and conversion operators can be %" + msgstr "kun erklæringer af konstruktionsfunktioner kan være 'explicit'" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, fuzzy, gcc-internal-format + #| msgid "non-member `%s' cannot be declared `mutable'" + msgid "non-member %qs cannot be declared %" + msgstr "'%s' som ikke er medlem, kan ikke erklæres 'mutable'" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, fuzzy, gcc-internal-format + #| msgid "non-object member `%s' cannot be declared `mutable'" + msgid "non-object member %qs cannot be declared %" + msgstr "'%s' som ikke er objektmedlem, kan ikke erklæres 'mutable'" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, fuzzy, gcc-internal-format + #| msgid "function `%s' cannot be declared `mutable'" + msgid "function %qs cannot be declared %" + msgstr "funktionen '%s' kan ikke erklæres 'mutable'" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, fuzzy, gcc-internal-format + #| msgid "static `%s' cannot be declared `mutable'" + msgid "% %qs cannot be declared %" + msgstr "static '%s' kan ikke erklæres 'mutable'" + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, fuzzy, gcc-internal-format + #| msgid "const `%s' cannot be declared `mutable'" + msgid "% %qs cannot be declared %" + msgstr "const '%s' kan ikke erklæres 'mutable'" + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, gcc-internal-format + msgid "reference %qs cannot be declared %" + msgstr "referencen %qs kan ikke erklæres %" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, fuzzy, gcc-internal-format + msgid "typedef may not be a function definition" + msgstr "new kan ikke bruges på en referencetype" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, fuzzy, gcc-internal-format + msgid "typedef may not be a member function definition" + msgstr "new kan ikke bruges på en referencetype" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, fuzzy, gcc-internal-format + #| msgid "`%s' is not at beginning of declaration" + msgid "% not allowed in alias declaration" + msgstr "'%s' er ikke ved begyndelsen af erklæringen" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, gcc-internal-format + msgid "typedef declared %" + msgstr "typedef erklæret %" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, gcc-internal-format + msgid "typedef name may not be a nested-name-specifier" + msgstr "typedef-navn kan ikke være en indlejret-navn-specifikation" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "ISO C++ forbyder indlejret type %qD med samme navn som den omgivende klasse" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "% angivet for friend class-erklæring" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "skabelonsparametre kan ikke være venner" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "friend-erklæring kræver klasseangivelse, dvs. %" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "friend-erklæring kræver klasseangivelse, dvs. %" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "forsøg på at gøre klassen %qT til ven af det globale virkningsfelt" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "ugyldige modifikationer for ikke-medlemsfunktionstype" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, fuzzy, gcc-internal-format + #| msgid "abstract declarator `%T' used as declaration" + msgid "abstract declarator %qT used as declaration" + msgstr "abstrakt erklærer '%T' benyttet som erklæring" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, fuzzy, gcc-internal-format + #| msgid "invalid cast to function type `%T'" + msgid "requires-clause on declaration of non-function type %qT" + msgstr "ugyldig omtvingelse til funktionstypen '%T'" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, fuzzy, gcc-internal-format + #| msgid "cannot use `::' in parameter declaration" + msgid "cannot use %<::%> in parameter declaration" + msgstr "kan ikke bruge '::' i parametererklæring" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare parameter `%D' to be of type `%T'" + msgid "cannot declare a parameter with %" + msgstr "kan ikke erklære parameteren '%D' til at være af typen '%T'" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, fuzzy, gcc-internal-format + msgid "% parameter not permitted in this context" + msgstr "'%D' blev ikke erklæret i dette virkefelt" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, fuzzy, gcc-internal-format + #| msgid "parameter `%D' declared void" + msgid "parameter declared %" + msgstr "parameteren '%D' erklæret void" + +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of template-name '%E' in a declarator" + msgid "invalid use of template-name %qE without an argument list" + msgstr "ugyldig brug af skabelonsnavn '%E' i erklæring" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, fuzzy, gcc-internal-format + #| msgid "`%T' has no non-static data member named `%D'" + msgid "non-static data member declared with placeholder %qT" + msgstr "'%T' har intet ikke-statisk medlem ved navn '%D'" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 does not support flexible array members" + msgid "ISO C++ forbids flexible array member %qs" + msgstr "ISO C90 understøtter ikke fleksible tabelmedlemmer" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 does not support flexible array members" + msgid "ISO C++ forbids flexible array members" + msgstr "ISO C90 understøtter ikke fleksible tabelmedlemmer" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `::'" + msgid "invalid use of %<::%>" + msgstr "ugyldig brug af '::'" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, fuzzy, gcc-internal-format + #| msgid "declaration of C function `%#D' conflicts with" + msgid "declaration of function %qD in invalid context" + msgstr "erklæring af C-funktionen '%#D' strider mod" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, fuzzy, gcc-internal-format + #| msgid "function `%D' declared virtual inside a union" + msgid "function %qD declared % inside a union" + msgstr "funktionen '%D' erklæret virtual inden i en union" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, fuzzy, gcc-internal-format + #| msgid "`%D' cannot be declared virtual, since it is always static" + msgid "%qD cannot be declared %, since it is always static" + msgstr "'%D' kan ikke erklæres virtual eftersom den altid er statisk" + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of `operator %T'" + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "modifikationer er ikke tilladt i erklæring af 'operator %T'" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%s' shadows a member of `this'" + msgid "declaration of %qD as member of %qT" + msgstr "erklæring af '%s' skygger for et medlem af 'this'" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be `%s'" + msgid "a destructor cannot be %qs" + msgstr "destruktionsfunktioner må ikke være '%s'" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of `operator %T'" + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "modifikationer er ikke tilladt i erklæring af 'operator %T'" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be `%s'" + msgid "a constructor cannot be %" + msgstr "destruktionsfunktioner må ikke være '%s'" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, fuzzy, gcc-internal-format + #| msgid "constructor cannot be static member function" + msgid "a concept cannot be a member function" + msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, fuzzy, gcc-internal-format + msgid "%qD cannot be %qs" + msgstr "kan ikke åbne %s" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, fuzzy, gcc-internal-format + #| msgid "specialization of implicitly-declared special member function" + msgid "specialization of variable template %qD declared as function" + msgstr "specialisering af underforstået erklæret speciel medlemsfunktion" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, fuzzy, gcc-internal-format + #| msgid "variable or field declared void" + msgid "variable template declared here" + msgstr "variabel eller felt erklæret void" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, fuzzy, gcc-internal-format + #| msgid "field `%D' has incomplete type" + msgid "field %qD has incomplete type %qT" + msgstr "feltet '%D' er af en ufuldstændig type" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, fuzzy, gcc-internal-format + #| msgid "name `%T' has incomplete type" + msgid "name %qT has incomplete type" + msgstr "navnet '%T' er af en ufuldstændig type" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, fuzzy, gcc-internal-format + #| msgid "`%s' is neither function nor member function; cannot be declared friend" + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "'%s' er hverken en almindelig funktion eller en medlemsfunktion; kan ikke erklæres som friend" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, fuzzy, gcc-internal-format + #| msgid "`%s' is neither function nor member function; cannot be declared friend" + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "'%s' er hverken en almindelig funktion eller en medlemsfunktion; kan ikke erklæres som friend" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, gcc-internal-format + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "" + +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, fuzzy, gcc-internal-format + #| msgid "static member `%D' declared `register'" + msgid "static data member %qE declared %qs" + msgstr "statisk medlem '%D' erklæret 'register'" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type `%T'" + msgid "% static data member %qD must have an initializer" + msgstr "ugyldig tildeling af startværdi i klasse til statisk datamedlem af en ikke-heltalstype '%T'" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, fuzzy, gcc-internal-format + #| msgid "static member `%D' declared `register'" + msgid "non-static data member %qE declared %qs" + msgstr "statisk medlem '%D' erklæret 'register'" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, fuzzy, gcc-internal-format + #| msgid "storage class `auto' invalid for function `%s'" + msgid "storage class % invalid for function %qs" + msgstr "lagringsklassen 'auto' er ugyldig for funktionen '%s'" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, fuzzy, gcc-internal-format + #| msgid "storage class `register' invalid for function `%s'" + msgid "storage class % invalid for function %qs" + msgstr "lagringsklassen 'register' er ugyldig for funktionen '%s'" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, fuzzy, gcc-internal-format + #| msgid "storage class `__thread' invalid for function `%s'" + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "lagringsklassen '__thread' er ugyldig for funktionen '%s'" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, fuzzy, gcc-internal-format + #| msgid "storage class `__thread' invalid for function `%s'" + msgid "storage class % invalid for function %qs" + msgstr "lagringsklassen '__thread' er ugyldig for funktionen '%s'" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, fuzzy, gcc-internal-format + #| msgid "type specifier `%s' not allowed after struct or class" + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "typeangivelsen '%s' er ikke tilladt efter struct eller class" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, fuzzy, gcc-internal-format + #| msgid "storage class `inline' invalid for function `%s' declared out of global scope" + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "lagringsklassen 'inline' er ugyldig for funktionen '%s' erklæret uden for det globale virkefelt" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, fuzzy, gcc-internal-format + #| msgid "storage class `inline' invalid for function `%s' declared out of global scope" + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "lagringsklassen 'inline' er ugyldig for funktionen '%s' erklæret uden for det globale virkefelt" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, fuzzy, gcc-internal-format + #| msgid "virtual non-class function `%s'" + msgid "virtual non-class function %qs" + msgstr "virtuel funktion '%s' tilhører ikke en klasse" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, fuzzy, gcc-internal-format + #| msgid "method definition not in class context" + msgid "%qs defined in a non-class scope" + msgstr "metodedefinitionen optræder ikke i en klassekontekst" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, fuzzy, gcc-internal-format + #| msgid "using-declaration for non-member at class scope" + msgid "%qs declared in a non-class scope" + msgstr "using-erklæring for ikke-medlem ved klassevirkefelt" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare member function `%D' to have static linkage" + msgid "cannot declare member function %qD to have static linkage" + msgstr "kan ikke erklære medlemsfunktion '%D' til at have statisk kædning" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "kan ikke erklære en funktion for static inden i en anden funktion" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, fuzzy, gcc-internal-format + #| msgid "`static' may not be used when defining (as opposed to declaring) a static data member" + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "'static' må ikke bruges ved definering (i modsætning til erklæring) af et statisk datamedlem" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, fuzzy, gcc-internal-format + #| msgid "static member `%D' declared `register'" + msgid "static member %qD declared %" + msgstr "statisk medlem '%D' erklæret 'register'" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, fuzzy, gcc-internal-format + #| msgid "cannot explicitly declare member `%#D' to have extern linkage" + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "kan ikke eksplicit erklære medlemmet '%#D' til at have extern-kædning" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D' outside of class is not definition" + msgid "declaration of % variable %qD is not a definition" + msgstr "erklæring af '%#D' uden for en klasse er ikke en definition" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, fuzzy, gcc-internal-format + #| msgid "template parameters cannot be friends" + msgid "a variable cannot be declared %" + msgstr "skabelonsparametre kan ikke være venner" + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, fuzzy, gcc-internal-format + #| msgid "`%s' initialized and declared `extern'" + msgid "%qs initialized and declared %" + msgstr "'%s' bliver tildelt en startværdi og er samtidig erklæret 'extern'" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, fuzzy, gcc-internal-format + #| msgid "`%s' has both `extern' and initializer" + msgid "%qs has both % and initializer" + msgstr "'%s' er erklæret 'extern', men bliver tildelt en startværdi" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, fuzzy, gcc-internal-format + #| msgid "default argument `%E' uses local variable `%D'" + msgid "default argument %qE uses %qD" + msgstr "standardparameter '%E' bruger lokal variabel '%D'" + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, fuzzy, gcc-internal-format + #| msgid "default argument `%E' uses local variable `%D'" + msgid "default argument %qE uses local variable %qD" + msgstr "standardparameter '%E' bruger lokal variabel '%D'" + +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `virtual' in template declaration of `%#D'" + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "ugyldig brug af 'virtual' i skabelonserklæring af '%#D'" + +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of template-name '%E' in a declarator" + msgid "invalid use of type % in parameter declaration" + msgstr "ugyldig brug af skabelonsnavn '%E' i erklæring" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, fuzzy, gcc-internal-format + #| msgid "invalid parameter type `%T'" + msgid "%-qualified parameter is deprecated" + msgstr "ugyldig parametertype '%T'" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, fuzzy, gcc-internal-format + #| msgid "parameter `%D' invalidly declared method type" + msgid "parameter %qD invalidly declared method type" + msgstr "parameteren '%D' er på ugyldig vis erklæret som af en medlemsfunktionstype" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, fuzzy, gcc-internal-format + #| msgid "parameter `%D' includes %s to array of unknown bound `%T'" + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "parameteren '%D' inkluderer %s til tabel med ukendt grænse '%T'" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, fuzzy, gcc-internal-format + #| msgid "parameter `%D' includes %s to array of unknown bound `%T'" + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "parameteren '%D' inkluderer %s til tabel med ukendt grænse '%T'" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, fuzzy, gcc-internal-format + #| msgid "invalid constructor; you probably meant `%T (const %T&)'" + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "ugyldig konstruktionsfunktion; du mente sandsynligvis '%T (const %T&)'" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, fuzzy, gcc-internal-format + #| msgid "`%D' was not declared in this scope" + msgid "%qD may not be declared within a namespace" + msgstr "'%D' blev ikke erklæret i dette virkefelt" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, fuzzy, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "'%#D' kan ikke erklæres" + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, fuzzy, gcc-internal-format + #| msgid "`%D' must be a nonstatic member function" + msgid "%qD must be a non-static member function" + msgstr "'%D' skal være en ikke-statisk medlemsfunktion" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, fuzzy, gcc-internal-format + #| msgid "`%D' must be a nonstatic member function" + msgid "%qD must be a member function" + msgstr "'%D' skal være en ikke-statisk medlemsfunktion" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, fuzzy, gcc-internal-format + #| msgid "non-static data member initializers only available with -std=c++11 or -std=gnu++11" + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "ikkestatisk datamedlemsstartværdier er kun tilgængelige med -std=c++11 eller -std=gnu++11" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, fuzzy, gcc-internal-format + #| msgid "`%D' must be either a non-static member function or a non-member function" + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "'%D' skal enten være en ikke-statisk medlemsfunktion eller ikke en medlemsfunktion" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, fuzzy, gcc-internal-format + #| msgid "`%D' must have an argument of class or enumerated type" + msgid "%qD must have an argument of class or enumerated type" + msgstr "'%D' skal have en parameter af en klasse- eller enum-type" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ prohibits overloading operator ?:" + msgid "ISO C++ prohibits overloading %" + msgstr "ISO C++ forbyder flertydiggørelse af operatoren ?:" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, fuzzy, gcc-internal-format + #| msgid "`%D' must take either one or two arguments" + msgid "%qD must not have variable number of arguments" + msgstr "'%D' skal tage mod én eller to parametre" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, fuzzy, gcc-internal-format + #| msgid "`%D' must take either zero or one argument" + msgid "%qD must have either zero or one argument" + msgstr "'%D' skal tage mod nul eller én parameter" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, fuzzy, gcc-internal-format + #| msgid "`%D' must take either one or two arguments" + msgid "%qD must have either one or two arguments" + msgstr "'%D' skal tage mod én eller to parametre" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, fuzzy, gcc-internal-format + #| msgid "postfix `%D' must take `int' as its argument" + msgid "postfix %qD must have % as its argument" + msgstr "postfiks '%D' skal tage mod 'int' som parameter" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, fuzzy, gcc-internal-format + #| msgid "postfix `%D' must take `int' as its second argument" + msgid "postfix %qD must have % as its second argument" + msgstr "postfiks '%D' skal tage mod 'int' som den anden parameter" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, fuzzy, gcc-internal-format + #| msgid "`%D' must take exactly two arguments" + msgid "%qD must have no arguments" + msgstr "'%s' skal tage mod to parametre" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, fuzzy, gcc-internal-format + #| msgid "`%D' must take exactly one argument" + msgid "%qD must have exactly one argument" + msgstr "'%s' skal tage mod én parameter" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, fuzzy, gcc-internal-format + #| msgid "`%D' must take exactly two arguments" + msgid "%qD must have exactly two arguments" + msgstr "'%s' skal tage mod to parametre" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, fuzzy, gcc-internal-format + #| msgid "`%D' cannot have default arguments" + msgid "%qD cannot have default arguments" + msgstr "'%D' kan ikke have standardparametre" + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to % will never use a type conversion operator" + msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, fuzzy, gcc-internal-format + #| msgid "user-defined `%D' always evaluates both arguments" + msgid "user-defined %qD always evaluates both arguments" + msgstr "brugerdefineret '%D' evaluerer altid begge parametre" + +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, fuzzy, gcc-internal-format + #| msgid "prefix `%D' should return `%T'" + msgid "prefix %qD should return %qT" + msgstr "præfiks '%D' skal returnere '%T'" + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, fuzzy, gcc-internal-format + #| msgid "postfix `%D' should return `%T'" + msgid "postfix %qD should return %qT" + msgstr "postfiks '%D' skal returnere '%T'" + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, fuzzy, gcc-internal-format + #| msgid "`%D' should return by value" + msgid "%qD should return by value" + msgstr "'%D' skal returnere pr. værdi (ikke reference)" + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, fuzzy, gcc-internal-format + #| msgid "using template type parameter `%T' after `%s'" + msgid "using template type parameter %qT after %qs" + msgstr "bruger skabelonstypeparameter '%D' efter '%s'" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, fuzzy, gcc-internal-format + #| msgid "ambiguous template specialization `%D' for `%+D'" + msgid "using alias template specialization %qT after %qs" + msgstr "tvetydig skabelonsspecialisering '%D' for '%+D'" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, fuzzy, gcc-internal-format + #| msgid "using typedef-name `%D' after `%s'" + msgid "using typedef-name %qD after %qs" + msgstr "bruger typedef-navn '%D' efter '%s'" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, fuzzy, gcc-internal-format + msgid "%qD has a previous declaration here" + msgstr "tidligere erklæring som '%#D'" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, fuzzy, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "'%#D' omerklæret som %C" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, fuzzy, gcc-internal-format + msgid "%qT has a previous declaration here" + msgstr "dette er en tidligere erklæring" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, fuzzy, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "'%#D' omerklæret som %C" +@@ -60267,121 +60254,121 @@ msgstr "'%#D' omerklæret som %C" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, fuzzy, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "skabelonsparameter er påkrævet for '%T'" + +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, fuzzy, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "brug af '%D' er tvetydigt" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, fuzzy, gcc-internal-format + msgid "class template %qD redeclared as non-template" + msgstr "ikke-skabelon benyttet som skabelon" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, fuzzy, gcc-internal-format + #| msgid "`%T' is not a template" + msgid "%qT is not a template" + msgstr "'%T' er ikke en skabelon" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, fuzzy, gcc-internal-format + #| msgid "use of enum `%#D' without previous declaration" + msgid "use of enum %q#D without previous declaration" + msgstr "brug af enum '%#D' uden tidligere erklæring" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, fuzzy, gcc-internal-format + #| msgid "friend declaration `%#D' declares a non-template function" + msgid "redeclaration of %qT as a non-template" + msgstr "friend-erklæring '%#D' erklærer en ikke-skabelonsfunktion" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare `%D' to be a bit-field type" + msgid "cannot declare %qD in a different module" + msgstr "kan ikke erklære '%D' til at være en bitfeltstype" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, fuzzy, gcc-internal-format + #| msgid "derived union `%T' invalid" + msgid "derived union %qT invalid" + msgstr "nedarvet union '%T' ugyldig" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, fuzzy, gcc-internal-format + #| msgid "`%D' is already defined in the class %T" + msgid "%qT defined with multiple direct bases" + msgstr "'%D' er allerede defineret i klassen '%T'" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, fuzzy, gcc-internal-format + #| msgid "type `%D' is not a direct or virtual base of `%T'" + msgid "%qT defined with direct virtual base" + msgstr "typen '%D' er ikke en direkte eller en virtuel stamklasse til '%T'" + +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, fuzzy, gcc-internal-format + #| msgid "base type `%T' fails to be a struct or class type" + msgid "base type %qT fails to be a struct or class type" + msgstr "stamklassetype '%T' er hverken en struct- eller class-type" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, fuzzy, gcc-internal-format + #| msgid "recursive type `%T' undefined" + msgid "recursive type %qT undefined" + msgstr "rekursiv type '%T' ikke defineret" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, fuzzy, gcc-internal-format + #| msgid "duplicate base type `%T' invalid" + msgid "duplicate base type %qT invalid" + msgstr "stamklassetype '%T' optræder mere end én gang" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, fuzzy, gcc-internal-format + msgid "previous definition here" + msgstr "tidligere definition her" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, fuzzy, gcc-internal-format + #| msgid "specialization of %qD in different namespace" + msgid "cannot define %qD in different module" + msgstr "specialisering af %qD i andet navnerum" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, fuzzy, gcc-internal-format + #| msgid "argument 3 of `%s' must be a 2-bit literal" + msgid "underlying type %qT of %qT must be an integral type" +@@ -60391,93 +60378,93 @@ msgstr "parameter til '%s' skal være en 2 bit-konstant" + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value for `%s' not integer constant" + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "enum-værdien for '%s' er ikke en heltalskonstant" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value for `%s' not integer constant" + msgid "enumerator value for %qD is not an integer constant" + msgstr "enum-værdien for '%s' er ikke en heltalskonstant" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, fuzzy, gcc-internal-format + #| msgid "ISO C restricts enumerator values to range of `int'" + msgid "incremented enumerator value is too large for %" + msgstr "ISO C begrænser enum-værdier til rækkevidden af 'int'" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, fuzzy, gcc-internal-format + #| msgid "overflow in enumeration values at `%D'" + msgid "overflow in enumeration values at %qD" + msgstr "enum-værdier for store ved '%D'" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, fuzzy, gcc-internal-format + #| msgid "array subscript is not an integer" + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "tabelindeks er ikke et heltal" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "flere definitioner af %q#T" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, fuzzy, gcc-internal-format + #| msgid "return type `%#T' is incomplete" + msgid "return type %q#T is incomplete" + msgstr "returtype '%#T' er ufuldstændig" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, fuzzy, gcc-internal-format + #| msgid "`operator=' should return a reference to `*this'" + msgid "% should return a reference to %<*this%>" + msgstr "'operator=' bør returnere en reference til '*this'" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, fuzzy, gcc-internal-format + #| msgid "no return statement in function returning non-void" + msgid "no return statements in function returning %qT" + msgstr "ingen return-sætning i en funktion der ikke returnerer void" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, gcc-internal-format + msgid "only plain % return type can be deduced to %" + msgstr "" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, fuzzy, gcc-internal-format + #| msgid "no return statement in function returning non-void" + msgid "no return statement in % function returning non-void" + msgstr "ingen return-sætning i en funktion der ikke returnerer void" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, fuzzy, gcc-internal-format + #| msgid "`%D' is already defined in class `%T'" + msgid "%qD is already defined in class %qT" + msgstr "'%D' er allerede defineret i klassen '%T'" + +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, fuzzy, gcc-internal-format + #| msgid "error closing %s: %m" + msgid "using %qs" + msgstr "fejl ved lukning af %s: %m" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "" +@@ -61440,7 +61427,7 @@ msgstr "typen '%D' er ikke en direkte eller en virtuel stamklasse til '%T'" + msgid "type %qT is not a direct base of %qT" + msgstr "typen '%D' er ikke en direkte stamklasse til '%T'" + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "" +@@ -62578,7 +62565,7 @@ msgstr "using-erklæring for ikke-medlem ved klassevirkefelt" + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "skabelonsparameter %d er ugyldig" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, fuzzy, gcc-internal-format + #| msgid "`%T' is not a class or namespace" + msgid "%qT is not a class, namespace, or enumeration" +@@ -63388,7 +63375,7 @@ msgstr "new kan ikke bruges på en referencetype" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "forkert antal skabelonsparametre (%d, skulle være %d)" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, fuzzy, gcc-internal-format + #| msgid "wrong type argument to bit-complement" + msgid "wrong number of arguments to %<__builtin_launder%>" +@@ -64166,12 +64153,12 @@ msgstr "kun konstruktionsfunktioner har stamklasseklargøringer" + msgid "cannot expand initializer for member %qD" + msgstr "manglende startværdi for medlemmet '%D'" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "" +@@ -64824,7 +64811,7 @@ msgstr "skabelonsparameter er påkrævet for '%T'" + msgid "%qT not permitted in template argument" + msgstr "new kan ikke bruges på en referencetype" + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `%T'" +@@ -65739,7 +65726,7 @@ msgstr "" + msgid "% clause with parameter on range-based % loop" + msgstr "typedef-navn kan ikke klassemodificeres" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, fuzzy, gcc-internal-format + #| msgid "register variable `%s' used in nested function" + msgid "iteration variable %qD should not be reduction" +@@ -66878,7 +66865,7 @@ msgstr "ikke-skabelonstype '%T' benyttet som skabelon" + msgid "for template declaration %q+D" + msgstr "til skabelonserklæring '%D'" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, fuzzy, gcc-internal-format + #| msgid "internal gcc abort" + msgid "template constraint failure for %qD" +@@ -66983,316 +66970,316 @@ msgstr "funktion returnerer en værdi af en sammensat type" + msgid "function returning a function" + msgstr "'%s' er erklæret som en funktion der returnerer en funktion" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, gcc-internal-format + msgid "forming reference to void" + msgstr "danner reference til void" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, fuzzy, gcc-internal-format + #| msgid "forming %s to reference type `%T'" + msgid "forming pointer to reference type %qT" + msgstr "danner %s til referencetypen '%T'" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, fuzzy, gcc-internal-format + #| msgid "forming %s to reference type `%T'" + msgid "forming reference to reference type %qT" + msgstr "danner %s til referencetypen '%T'" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, fuzzy, gcc-internal-format + #| msgid "ISO C forbids qualified function types" + msgid "forming pointer to qualified function type %qT" + msgstr "ISO C forbyder funktionsreturtype med modifikationer" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, fuzzy, gcc-internal-format + #| msgid "ISO C forbids qualified function types" + msgid "forming reference to qualified function type %qT" + msgstr "ISO C forbyder funktionsreturtype med modifikationer" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member of non-class type `%T'" + msgid "creating pointer to member of non-class type %qT" + msgstr "opretter henvisning til medlem af typen '%T' der ikke er en klasse" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member reference type `%T'" + msgid "creating pointer to member reference type %qT" + msgstr "opretter henvisning til medlemsreference af typen '%T'" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member reference type `%T'" + msgid "creating pointer to member of type void" + msgstr "opretter henvisning til medlemsreference af typen '%T'" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, fuzzy, gcc-internal-format + #| msgid "creating array of `%T'" + msgid "creating array of %qT" + msgstr "opretter tabel af '%T'" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, fuzzy, gcc-internal-format + #| msgid "`%T' is not a class, struct, or union type" + msgid "%qT is not a class, struct, or union type" + msgstr "'%T' er ikke en class-, struct- eller union-type" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, fuzzy, gcc-internal-format + msgid "%qT resolves to %qT, which is not a class type" + msgstr "unavngiven klargøring af '%T' som ikke har nogen stamklasser" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, fuzzy, gcc-internal-format + #| msgid "use of `%s' in template" + msgid "use of %qs in template" + msgstr "brug af '%s' i skabelon" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, fuzzy, gcc-internal-format + #| msgid "qualified type `%T' does not match destructor name `~%T'" + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "den modificerede type '%T' passer ikke til destruktionsfunktionsnavnet '~%T'" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, fuzzy, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "'%D' benyttes som en type, men er ikke defineret som en type" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, fuzzy, gcc-internal-format + msgid "say % if a type is meant" + msgstr " (benyt 'typename %T::%D' hvis det er hvad du mener)" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, fuzzy, gcc-internal-format + #| msgid "initializer element is not constant" + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "startværdielement er ikke en konstant" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, fuzzy, gcc-internal-format + #| msgid "missing static field `%s'" + msgid "using invalid field %qD" + msgstr "manglende statisk felt '%s'" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of void expression" + msgid "invalid use of pack expansion expression" + msgstr "ugyldig brug af void-udtryk" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, gcc-internal-format + msgid "use %<...%> to expand argument pack" + msgstr "" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, fuzzy, gcc-internal-format + #| msgid "non-empty initializer for array of empty elements" + msgid "empty initializer in lambda init-capture" + msgstr "en startværdi der ikke er tom, tildeles til en tabel med tomme elementer" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, gcc-internal-format + msgid "use %<%T::%D%> instead" + msgstr "" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, fuzzy, gcc-internal-format + #| msgid "`%s' undeclared here (not in a function)" + msgid "%qD declared here, later in the translation unit" + msgstr "'%s' ikke erklæret her (ikke i en funktion)" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, fuzzy, gcc-internal-format + #| msgid "first argument to __builtin_choose_expr not a constant" + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "første parameter til '__builtin_choose_expr' skal være en konstant" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for `%s' attribute" + msgid "wrong number of arguments to % attribute" + msgstr "forkert antal parametre angivet til egenskaben '%s'" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, fuzzy, gcc-internal-format + #| msgid "`%T' is not a class or namespace" + msgid "%qT is not a class or namespace" + msgstr "'%T' er ikke en klasse eller et navnerum" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, fuzzy, gcc-internal-format + #| msgid "`%T' is not a class or namespace" + msgid "%qD is not a class or namespace" + msgstr "'%T' er ikke en klasse eller et navnerum" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, fuzzy, gcc-internal-format + msgid "%qT is/uses unnamed type" + msgstr "skabelonsparameter '%T' benytter anonym type" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, fuzzy, gcc-internal-format + #| msgid "default argument for `%#D' has type `%T'" + msgid "template argument for %qD uses local type %qT" + msgstr "standardparameter for '%#D' har typen '%T'" + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, fuzzy, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "skabelonsparameter '%T' er en variabelt ændret type" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, fuzzy, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "størrelsen af medlemmet '%D' er ikke konstant" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, fuzzy, gcc-internal-format + #| msgid " trying to instantiate `%D'" + msgid " trying to instantiate %qD" + msgstr " ved forsøg på at instantiere '%D'" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, fuzzy, gcc-internal-format + #| msgid "ambiguous class template instantiation for `%#T'" + msgid "ambiguous template instantiation for %q#T" + msgstr "tvetydig klasseskabelonsinstantiering for '%#T'" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, fuzzy, gcc-internal-format + #| msgid "ambiguous class template instantiation for `%#T'" + msgid "ambiguous template instantiation for %q#D" + msgstr "tvetydig klasseskabelonsinstantiering for '%#T'" + +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + #, fuzzy + #| msgid "%s %+#D" + msgid "%s %#qS" + msgstr "%s %+#D" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template `%#D'" + msgid "explicit instantiation of non-template %q#D" + msgstr "eksplicit instantiering af ikke-skabelon '%#D'" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, fuzzy, gcc-internal-format + #| msgid "declaration of template `%#D'" + msgid "explicit instantiation of variable concept %q#D" + msgstr "erklæring af skabelon '%#D'" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, fuzzy, gcc-internal-format + #| msgid "explicit specialization of non-template `%T'" + msgid "explicit instantiation of function concept %q#D" + msgstr "eksplicit specialisering af '%T' der ikke er en skabelon" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, fuzzy, gcc-internal-format + msgid "%qD is not a static data member of a class template" + msgstr "'%#D' er ikke et statisk medlem af '%#T'" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, fuzzy, gcc-internal-format + #| msgid "no matching template for `%D' found" + msgid "no matching template for %qD found" + msgstr "ingen passende skabelon for '%D' fundet" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template type `%T'" + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "eksplicit instantiering af '%T' der ikke er en skabelonstype" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of `%#D'" + msgid "explicit instantiation of %q#D" + msgstr "eksplicit instantiering af '%#D'" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, fuzzy, gcc-internal-format + #| msgid "duplicate explicit instantiation of `%#D'" + msgid "duplicate explicit instantiation of %q#D" + msgstr "'%#D' er blevet eksplicit instantieret mere end én gang" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids the use of `extern' on explicit instantiations" + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "ISO C++ forbyder brugen af 'extern' ved eksplicitte instantieringer" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, fuzzy, gcc-internal-format + #| msgid "storage class `%D' applied to template instantiation" + msgid "storage class %qD applied to template instantiation" + msgstr "lagringsklasse '%D' anvendt på skabelonsinstantiering" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template `%#D'" + msgid "explicit instantiation of non-class template %qD" + msgstr "eksplicit instantiering af ikke-skabelon '%#D'" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template type `%T'" + msgid "explicit instantiation of non-template type %qT" + msgstr "eksplicit instantiering af '%T' der ikke er en skabelonstype" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of `%#T' before definition of template" + msgid "explicit instantiation of %q#T before definition of template" + msgstr "eksplicit instantiering af '%T' før definering af skabelonen" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids the use of `%s' on explicit instantiations" + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "ISO C++ forbyder brugen af '%s ved eksplicitte instantieringer" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, fuzzy, gcc-internal-format + #| msgid "duplicate explicit instantiation of `%#T'" + msgid "duplicate explicit instantiation of %q#T" + msgstr "'%#T' er blevet eksplicit instantieret mere end én gang" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, fuzzy, gcc-internal-format + #| msgid "explicit specialization of %D after first use" + msgid "exception specification of %qD depends on itself" +@@ -67305,184 +67292,184 @@ msgstr "eksplicit specialisering af %D efter første brug" + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of `%D' but no definition available" + msgid "explicit instantiation of %qD but no definition available" + msgstr "eksplicit instantiering af '%D', men ingen definition tilgængelig" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, fuzzy, gcc-internal-format + #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'" + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "skabelonsinstantieringsdybden overskrider maksimum på %d (benyt -ftemplate-depth-NN for at forøge maksimum) ved instantiering af '%D'" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "skabelonsparameter %d er ugyldig" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, fuzzy, gcc-internal-format + #| msgid "`%#T' is not a valid type for a template constant parameter" + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "'%#T' er ikke en gyldig type for en skabelonsparameterkonstant " + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "skabelonsparameter %d er ugyldig" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, fuzzy, gcc-internal-format + #| msgid "invalid catch parameter" + msgid "invalid template non-type parameter" + msgstr "ugyldig catch-parameter" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, fuzzy, gcc-internal-format + #| msgid "`%#T' is not a valid type for a template constant parameter" + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "'%#T' er ikke en gyldig type for en skabelonsparameterkonstant " + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, fuzzy, gcc-internal-format + msgid "keyword % not allowed in declarator-id" + msgstr "bruger 'typename' uden for en skabelon" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, fuzzy, gcc-internal-format + #| msgid "constructor cannot be static member function" + msgid "a concept cannot be constrained" + msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, fuzzy, gcc-internal-format + #| msgid "`%T' is not a namespace" + msgid "concept %qE not in namespace scope" + msgstr "'%T' er ikke et navnerum" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, fuzzy, gcc-internal-format + #| msgid "definition of `%#T' inside template parameter list" + msgid "concept %qE has multiple template parameter lists" + msgstr "definition af '%#T' inden i skabelonsparameterliste" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, fuzzy, gcc-internal-format + #| msgid "brace-enclosed initializer used to initialize `%T'" + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "startværdi i krøllede paranteser benyttet til at klargøre '%T'" + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, fuzzy, gcc-internal-format + msgid "non-deducible template %qT used without template arguments" + msgstr "ikke-skabelon benyttet som skabelon" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "skabelonsparameter %d er ugyldig" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, fuzzy, gcc-internal-format + #| msgid "#include nested too deeply" + msgid "use %qD directly instead" + msgstr "#include indlejret for dybt" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, fuzzy, gcc-internal-format + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "skabelonsparameter er påkrævet for '%T'" + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "class template argument deduction failed:" + msgstr "skabelonsparameter %d er ugyldig" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, fuzzy, gcc-internal-format + #| msgid "function not considered for inlining" + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "funktion overvejes ikke for indbygning" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr "skabelonsparameter %d er ugyldig" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, fuzzy, gcc-internal-format + msgid "explicit deduction guide declared here" + msgstr "Ugyldig erklæring" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "%qT may not intend to support class template argument deduction" + msgstr "skabelonsparameter %d er ugyldig" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, fuzzy, gcc-internal-format + #| msgid "Invalid method declaration, return type required" + msgid "unable to deduce lambda return type from %qE" + msgstr "Ugyldig metodeerklæring, returtype påkrævet" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, gcc-internal-format + msgid "unable to deduce %qT from %qE" + msgstr "" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "instruktion tilfredsstiller ikke sine begrænsninger:" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "instruktion tilfredsstiller ikke sine begrænsninger:" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "instruktion tilfredsstiller ikke sine begrænsninger:" + +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, fuzzy, gcc-internal-format + msgid "invalid use of %qT in template argument" + msgstr "ugyldig standardparameter i skabelon" +@@ -67833,7 +67820,7 @@ msgstr "ugyldig stamklasseangivelse" + msgid "cannot capture member %qD of anonymous union" + msgstr "beskyttet medlem '%#D' i en anonym union" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, fuzzy, gcc-internal-format + #| msgid "`%D' not declared" + msgid "%qD is not captured" +@@ -68280,31 +68267,31 @@ msgstr "`__builtin_next_arg' kaldt uden en parameter" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, fuzzy, gcc-internal-format + #| msgid "`%T' is not a template" + msgid "%qD is not a class or alias template" + msgstr "'%T' er ikke en skabelon" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, fuzzy, gcc-internal-format + #| msgid "left-hand operand of comma expression has no effect" + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "venstreoperanden til kommaudtrykket har ingen virkning" + + # flertalsform unødvendig +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, fuzzy, gcc-internal-format + #| msgid "template argument `%E' involves template parameter(s)" + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "skabelonsparameter '%E' involverer skabelonsparameter" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, fuzzy, gcc-internal-format + #| msgid "unsupported arg to `__builtin_return_address'" + msgid "non-pointer argument to %<__builtin_launder%>" +@@ -68313,22 +68300,22 @@ msgstr "ikke-understøttet parameter til '__builtin_return_address'" + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "" +@@ -69736,256 +69723,256 @@ msgstr "forhåndserklæring af '%#T'" + msgid "declaration of %q#T" + msgstr "erklæring af '%#T'" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, fuzzy, gcc-internal-format + #| msgid "`%D' has incomplete type" + msgid "%qD has incomplete type" + msgstr "'%D' er af en ufuldstændig type" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of incomplete typedef `%s'" + msgid "invalid use of incomplete type %q#T" + msgstr "ugyldig brug af ufuldstændig typedef '%s'" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of member (did you forget the `&' ?)" + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "ugyldig brug af medlem (glemte du en '&'?)" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of member (did you forget the `&' ?)" + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "ugyldig brug af medlem (glemte du en '&'?)" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `%T'" + msgid "invalid use of placeholder %qT" + msgstr "ugyldig brug af '%T'" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, fuzzy, gcc-internal-format + msgid "invalid use of template type parameter %qT" + msgstr "ugyldig brug af skabelonstypeparameter" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, fuzzy, gcc-internal-format + msgid "invalid use of template template parameter %qT" + msgstr "ugyldig brug af skabelonstypeparameter" + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of void expression" + msgid "invalid use of pack expansion %qT" + msgstr "ugyldig brug af void-udtryk" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of undefined type `%#T'" + msgid "invalid use of dependent type %qT" + msgstr "ugyldig brug af en ikke-defineret type '%#T'" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `restrict'" + msgid "invalid use of brace-enclosed initializer list" + msgstr "ugyldig brug af 'restrict'" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "adresse af flertydig funktion uden kontekstuelle typeoplysninger" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "flertydig funktion uden kontekstuelle typeoplysninger" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "utilstrækkelige kontekstuelle oplysninger til at afgøre typen" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, fuzzy, gcc-internal-format + #| msgid "constructor syntax used, but no constructor declared for type `%T'" + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "konstruktionsfunktionsyntaks benyttet, men ingen konstruktionsfunktion er erklæret for typen '%T'" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type `%T'" + msgid "% variable %qD does not have a constant initializer" + msgstr "ugyldig tildeling af startværdi i klasse til statisk datamedlem af en ikke-heltalstype '%T'" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + #, fuzzy + #| msgid "conversion of `%E' from `%T' to `%T' is ambiguous" + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "konvertering af '%E' fra '%T' til '%T' er tvetydigt" + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + #, fuzzy + #| msgid "conversion of `%E' from `%T' to `%T' is ambiguous" + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "konvertering af '%E' fra '%T' til '%T' er tvetydigt" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, fuzzy, gcc-internal-format + #| msgid "size of array is not an integral constant-expression" + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, fuzzy, gcc-internal-format + #| msgid "initializer-string for array of chars is too long" + msgid "initializer-string for %qT is too long" + msgstr "startværdistrengen til char-tabellen er for lang" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, fuzzy, gcc-internal-format + #| msgid "braces around scalar initializer" + msgid "remove %<{ }%> around initializer" + msgstr "krøllede paranteser omkring skalarstartværdi" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, fuzzy, gcc-internal-format + #| msgid "missing initializer for member `%D'" + msgid "missing initializer for member %qD" + msgstr "manglende startværdi for medlemmet '%D'" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, fuzzy, gcc-internal-format + #| msgid "member `%D' is uninitialized reference" + msgid "member %qD is uninitialized reference" + msgstr "medlemmet '%D' er en reference uden startværdi" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, fuzzy, gcc-internal-format + #| msgid "member `%D' is uninitialized reference" + msgid "member %qD with uninitialized reference fields" + msgstr "medlemmet '%D' er en reference uden startværdi" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, fuzzy, gcc-internal-format + #| msgid "template-id `%D' for `%+D' does not match any template declaration" + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "skabelons-id '%D' for '%+D' passer ikke til nogen skabelonserklæring" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, fuzzy, gcc-internal-format + #| msgid "no field `%D' in union being initialized" + msgid "no field %qD found in union being initialized" + msgstr "intet felt '%D' i union der tildeles startværdi" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "indeksværdi i stedet for feltnavn i union-startværdi" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "fundet en henvisningsefterfølgelse der går i ring" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, fuzzy, gcc-internal-format + #| msgid "base operand of `->' has non-pointer type `%T'" + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "grundoperanden til '->' har en ikke-henvisningstype '%T'" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, fuzzy, gcc-internal-format + #| msgid "result of `operator->()' yields non-pointer result" + msgid "result of %()%> yields non-pointer result" + msgstr "resultatet af 'operator->()' er ikke en henvisning" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, fuzzy, gcc-internal-format + #| msgid "base operand of `->' is not a pointer" + msgid "base operand of %<->%> is not a pointer" + msgstr "grundoperanden til '->' er ikke en henvisning" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, fuzzy, gcc-internal-format + #| msgid "`%E' cannot be used as a member pointer, since it is of type `%T'" + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "'%E' kan ikke bruges som en medlemshenvisning eftersom udtrykkets type er '%T'" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, fuzzy, gcc-internal-format + #| msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'" + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "kan ikke anvende medlemshenvisning '%E' på '%E' som er af den ikke-sammensatte type '%T'" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, fuzzy, gcc-internal-format + #| msgid "member type `%T::' incompatible with object type `%T'" + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "medlemstypen '%T::' uforenelige med objekttypen '%T'" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, fuzzy, gcc-internal-format + #| msgid "pointer to member function used in arithmetic" + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "henvisning til en medlemsfunktion benyttet i udregning" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, fuzzy, gcc-internal-format + #| msgid "pointer to member function used in arithmetic" + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "henvisning til en medlemsfunktion benyttet i udregning" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, fuzzy, gcc-internal-format + #| msgid "pointer to member function used in arithmetic" + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "henvisning til en medlemsfunktion benyttet i udregning" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, fuzzy, gcc-internal-format + #| msgid "invalid cast to function type `%T'" + msgid "functional cast to array type %qT" + msgstr "ugyldig omtvingelse til funktionstypen '%T'" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, fuzzy, gcc-internal-format + #| msgid "function cannot be inline" + msgid "% cannot be constrained" + msgstr "funktion kan ikke indbygges" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "skabelonsparameter %d er ugyldig" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, fuzzy, gcc-internal-format + #| msgid "default-initialization of `%#D', which has reference type" + msgid "invalid value-initialization of reference type" + msgstr "standardklargøring af '%#D' som er af en referencetype" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, fuzzy, gcc-internal-format + #| msgid "call to function `%D' which throws incomplete type `%#T'" + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "kald af en funktion '%D' som kaster en ufuldstændig type '%#T'" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, fuzzy, gcc-internal-format + #| msgid "call to function which throws incomplete type `%#T'" + msgid "call to function which throws incomplete type %q#T" +@@ -70998,7 +70985,7 @@ msgstr "datamedlem '%D' kan ikke være en medlemsskabelon" + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "1. parameter til __builtin_spe_predicate skal være en konstant" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid suffix on integer constant" + msgid "Invalid use of BOZ literal constant at %L" +@@ -72139,12 +72126,12 @@ msgstr "" + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "" +@@ -72339,7 +72326,7 @@ msgstr "" + msgid "deferred type parameter at %C" + msgstr "" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "" +@@ -74463,7 +74450,7 @@ msgstr "" + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, gcc-internal-format + msgid "Function %qs in initialization expression at %L must be an intrinsic function" + msgstr "" +@@ -74745,7 +74732,7 @@ msgstr "ugyldig venstreværdi i tildeling" + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, gcc-internal-format + msgid "Explicit interface required for %qs at %L: %s" + msgstr "" +@@ -74865,7 +74852,7 @@ msgstr "" + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must not be ALLOCATABLE" + msgstr "" +@@ -74875,7 +74862,7 @@ msgstr "" + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must have the SAVE attribute" + msgstr "" +@@ -75010,7 +74997,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "creating array of `%T'" +@@ -75235,12 +75222,12 @@ msgstr "" + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "" +@@ -75353,585 +75340,585 @@ msgstr "" + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid type argument of `%s'" + msgid "Invalid procedure argument at %L" + msgstr "ugyldig typeparameter '%s'" + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, gcc-internal-format + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, gcc-internal-format + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "type/value mismatch at argument %d in template parameter list for `%D'" + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "type/værdi-konflikt ved %d. parameter i skabelonsparameterliste for '%D'" + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, fuzzy, gcc-internal-format + #| msgid "type/value mismatch at argument %d in template parameter list for `%D'" + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr "type/værdi-konflikt ved %d. parameter i skabelonsparameterliste for '%D'" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, gcc-internal-format + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, gcc-internal-format + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, gcc-internal-format + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, gcc-internal-format, gfc-internal-format + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, gcc-internal-format + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, gcc-internal-format + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, gcc-internal-format + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, fuzzy, gcc-internal-format + #| msgid "constructor cannot be static member function" + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of `%s' attribute" + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "ugyldig parameter til egenskaben '%s'" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Alternate return specifier at %0 invalid within a function" + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "Alternativ returangivelse ved %0 er ugyldig inden i en funktion" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Alternate return specifier at %0 invalid within a function" + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "Alternativ returangivelse ved %0 er ugyldig inden i en funktion" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, gcc-internal-format + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, gcc-internal-format + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, gcc-internal-format, gfc-internal-format + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, gcc-internal-format + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, gcc-internal-format + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, gcc-internal-format + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, gcc-internal-format + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, gcc-internal-format + msgid "Expected a procedure for argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, gcc-internal-format + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, gcc-internal-format + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, fuzzy, gcc-internal-format + #| msgid "argument 3 of `%s' must be a 2-bit literal" + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "parameter til '%s' skal være en 2 bit-konstant" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, gcc-internal-format + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, gcc-internal-format + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, gcc-internal-format + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, gcc-internal-format + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, gcc-internal-format + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, gcc-internal-format + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, gcc-internal-format + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, gcc-internal-format + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, gcc-internal-format + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, fuzzy, gcc-internal-format + #| msgid "Missing value at %1 for real-number exponent at %0" + msgid "Missing actual argument for argument %qs at %L" + msgstr "Manglende værdi ved %1 for reel eksponent ved %0" + +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr "" + +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, gcc-internal-format + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, gcc-internal-format + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, fuzzy, gcc-internal-format + #| msgid "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL" + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "Ekstern procedure '%A' er overbragt som faktisk parameter ved %0, men ikke eksplicit erklæret EXTERNAL" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, fuzzy, gcc-internal-format + #| msgid "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL" + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "Ekstern procedure '%A' er overbragt som faktisk parameter ved %0, men ikke eksplicit erklæret EXTERNAL" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, gcc-internal-format + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, gcc-internal-format + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, gcc-internal-format + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, gcc-internal-format + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid option argument `%s'" + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "ugyldig tilvalgsparameter '%s'" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, gcc-internal-format + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, gcc-internal-format + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD argument to NULL required at %L" + msgstr "" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Intrinsic `%A' is passed as actual argument at %0 but not explicitly declared INTRINSIC" + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "Indbygget '%A' er overbragt som faktisk parameter ved %0, men ikke eksplicit erklæret INTRINSIC" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, gcc-internal-format + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "" + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, fuzzy, gcc-internal-format + #| msgid "failed to find class '%s'" + msgid "Unable to find symbol %qs" + msgstr "kunne ikke finde klassen '%s'" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, gcc-internal-format + msgid "Entity %qs at %L is already present in the interface" + msgstr "" + +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, fuzzy, gcc-internal-format + #| msgid "internal error - too many interface type" + msgid "gfc_add_interface(): Bad interface type" + msgstr "intern fejl - for mange grænsefladetyper" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, fuzzy, gcc-internal-format + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "kunne ikke konvertere '%E' til '%T'" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, gcc-internal-format + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, gcc-internal-format + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, gcc-internal-format + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, gcc-internal-format + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, gcc-internal-format + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, gcc-internal-format + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, gcc-internal-format + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, gcc-internal-format + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, gcc-internal-format + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, gcc-internal-format + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, gcc-internal-format + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, gcc-internal-format + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, gcc-internal-format + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, gcc-internal-format + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "`%D' is not a member of type `%T'" + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "'%D' er ikke et medlem af typen '%T'" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "accumulator number is out of bounds" + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "akkumulatortal er uden for det gyldig interval" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "argument 3 of `%s' must be a 2-bit literal" + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "parameter til '%s' skal være en 2 bit-konstant" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Return values of functions in FPU registers" + msgid "DTIO character argument at %L must have assumed length" + msgstr "Returnér værdier fra funktioner i fpu-registre" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "complex arguments must have identical types" + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "komplekse parametre skal have identiske typer" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0" + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "SAVE-sætning eller -egenskab ved %1 kan ikke angives sammen med SAVE-sætning eller -egenskab ved %0" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, fuzzy, gcc-internal-format + #| msgid "`%D' must take exactly one argument" + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "'%s' skal tage mod én parameter" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to %s `%+#D'" + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "for mange parametre til %s '%+#D'" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to %s `%+#D'" + msgid "Too many dummy arguments in DTIO procedure %qs at %L" +@@ -76128,7 +76115,7 @@ msgstr "konvertering fra NaN til int" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Cannot convert %s to %s at %L" + msgstr "kunne ikke konvertere '%E' til '%T'" +@@ -76725,7 +76712,7 @@ msgstr "" + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, gcc-internal-format + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" + msgstr "" +@@ -77334,7 +77321,7 @@ msgstr "" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "" + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "argument 3 of `%s' must be a 2-bit literal" + msgid "QUIET specifier at %L must be a scalar LOGICAL" +@@ -79300,8 +79287,8 @@ msgstr "" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "" +@@ -81344,751 +81331,741 @@ msgstr "" + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "Returnér værdier fra funktioner i fpu-registre" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "inconsistent instance variable specification" + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "inkonsistent instansvariabelangivelse" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "inconsistent instance variable specification" + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "inkonsistent instansvariabelangivelse" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "data member `%D' cannot be a member template" + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "datamedlem '%D' kan ikke være en medlemsskabelon" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "data member `%D' cannot be a member template" + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "datamedlem '%D' kan ikke være en medlemsskabelon" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:881 +-#, gcc-internal-format, gfc-internal-format +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "" +- +-#: fortran/resolve.cc:885 +-#, gcc-internal-format, gfc-internal-format +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, fuzzy, gcc-internal-format + #| msgid "RETURN statement at %0 invalid within a main program unit" + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "RETURN-sætning ved %0 ugyldig inden i en hovedprogramenhed" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, fuzzy, gcc-internal-format + #| msgid "RETURN statement at %0 invalid within a main program unit" + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "RETURN-sætning ved %0 ugyldig inden i en hovedprogramenhed" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, gcc-internal-format, gfc-internal-format + msgid "COMMON block at %L" + msgstr "" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, gcc-internal-format + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, gcc-internal-format + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, gcc-internal-format + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, gcc-internal-format + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, gcc-internal-format + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, gcc-internal-format + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, fuzzy, gcc-internal-format + #| msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "CLASS-variablen %qs ved %L kan ikke have PARAMETER-attributten" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, gcc-internal-format + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a function result" + msgstr "" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, gcc-internal-format, gfc-internal-format + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, gcc-internal-format + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, gcc-internal-format + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, gcc-internal-format + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to %s `%+#D'" + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "for mange parametre til %s '%+#D'" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, gcc-internal-format + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, gcc-internal-format + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, gcc-internal-format + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, fuzzy, gcc-internal-format + #| msgid "use of `%D' is ambiguous" + msgid "%qs at %L is ambiguous" + msgstr "brug af '%D' er tvetydigt" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, gcc-internal-format + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, gcc-internal-format + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, gcc-internal-format + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, gcc-internal-format + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "" + +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, gcc-internal-format + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "" + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, gcc-internal-format + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Label %A already defined at %1 when redefined at %0" + msgid "Label %d referenced at %L is never defined" + msgstr "Etiket %A er allerede defineret ved %1 ved omdefinering ved %0" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, fuzzy, gcc-internal-format + #| msgid "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL" + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "Ekstern procedure '%A' er overbragt som faktisk parameter ved %0, men ikke eksplicit erklæret EXTERNAL" + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, fuzzy, gcc-internal-format + #| msgid "Statement function `%A' defined at %0 is not used" + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "Sætningsfunktion '%A' defineret ved %0, men er ikke brugt" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, gcc-internal-format + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, fuzzy, gcc-internal-format + #| msgid "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL" + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "Ekstern procedure '%A' er overbragt som faktisk parameter ved %0, men ikke eksplicit erklæret EXTERNAL" + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, gcc-internal-format + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, gcc-internal-format + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, fuzzy, gcc-internal-format + #| msgid "use of `%D' is ambiguous" + msgid "Symbol %qs at %L is ambiguous" + msgstr "brug af '%D' er tvetydigt" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not of numeric type" + msgstr "" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Statement at %0 invalid in this context" + msgid "By-value argument at %L is not allowed in this context" + msgstr "Sætning ved %0 er ugyldig i denne kontekst" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, gcc-internal-format + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, gcc-internal-format + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, gcc-internal-format + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, gcc-internal-format + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, fuzzy, gcc-internal-format + #| msgid "invalid lvalue in assignment" + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "ugyldig venstreværdi i tildeling" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, gcc-internal-format + msgid "There is no specific function for the generic %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, gcc-internal-format + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "" + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, gcc-internal-format + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, gcc-internal-format + msgid "Unable to resolve the specific function %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, fuzzy, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "'%D' erklærer ikke en skabelonstype" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "" + +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, fuzzy, gcc-internal-format + #| msgid "Unsupported VXT statement at %0" + msgid "Unexpected junk after %qs at %L" + msgstr "Ikke-understøttet VXT-sætning ved %0" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, fuzzy, gcc-internal-format + #| msgid "`%D' is not a function," + msgid "%qs at %L is not a function" + msgstr "'%s' er ikke en funktion," + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, gcc-internal-format + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, fuzzy, gcc-internal-format + #| msgid "sizeof applied to a function type" + msgid "resolve_function(): bad function type" + msgstr "sizeof benyttet på en funktionstype" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, gcc-internal-format + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, gcc-internal-format + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, fuzzy, gcc-internal-format + #| msgid "`%s' is deprecated" + msgid "Using function %qs at %L is deprecated" + msgstr "'%s' er forældet" + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, gcc-internal-format + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, gcc-internal-format + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, gcc-internal-format + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, gcc-internal-format + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, gcc-internal-format + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, gcc-internal-format + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, gcc-internal-format + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, gcc-internal-format + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, gcc-internal-format + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, fuzzy, gcc-internal-format + #| msgid "cast does not match function type" + msgid "resolve_subroutine(): bad function type" + msgstr "typeomtvingelse passer ikke til funktionstype" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, fuzzy, gcc-internal-format + #| msgid "`%s' is deprecated" + msgid "Using subroutine %qs at %L is deprecated" + msgstr "'%s' er forældet" + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "shared and mdll are not compatible" + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "shared og mdll er indbyrdes uforenelige" + +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, fuzzy, gcc-internal-format + #| msgid "Return values of functions in FPU registers" + msgid "Impure function %qs at %L might not be evaluated" + msgstr "Returnér værdier fra funktioner i fpu-registre" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Warn when an inlined function cannot be inlined" + msgid "Impure function at %L might not be evaluated" + msgstr "Advar når en inline funktion ikke kan indbygges" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, gcc-internal-format + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, gcc-internal-format, gfc-internal-format + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" + msgstr "" + +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid string constant `%E'" + msgid "Equality comparison for %s at %L" + msgstr "ugyldig strengkonstant '%E'" + +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid string constant `%E'" + msgid "Inequality comparison for %s at %L" + msgstr "ugyldig strengkonstant '%E'" + +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, fuzzy, gcc-internal-format + #| msgid "subscript missing in array reference" + msgid "check_dimension(): Bad array reference" + msgstr "indeks mangler i tabelopslag" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "" + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, gcc-internal-format, gfc-internal-format + msgid "REAL array index at %L" + msgstr "" + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "argument 3 of `%s' must be a 2-bit literal" + msgid "Argument dim at %L must be scalar" + msgstr "parameter til '%s' skal være en 2 bit-konstant" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Null element at %0 for array reference at %1" + msgid "Invalid array reference of a non-array entity at %L" + msgstr "Nulelement ved %0 for tabelreference ved %1" + +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "" + +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array `%A' at %0 is too large to handle" + msgid "Array index at %L is an array of rank %d" + msgstr "Tabellen '%A' ved %0 er for stor til at håndtere" + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Substring begin/end point at %0 out of defined range" + msgid "Substring end index at %L must be scalar" + msgstr "Understrengs begyndelses-/slutpunkt ved %0 er uden for det definerede interval" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "requested alignment is too large" + msgid "Substring end index at %L is too large" + msgstr "angivet justering er for stor" + +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, gcc-internal-format + msgid "resolve_ref(): Bad array reference" + msgstr "" + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "" + +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may only be used as actual argument" + msgstr "" +@@ -82097,12 +82074,12 @@ msgstr "" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L may only be used as actual argument" + msgstr "" +@@ -82111,302 +82088,302 @@ msgstr "" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, gcc-internal-format + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, gcc-internal-format + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "" + +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, fuzzy, gcc-internal-format + #| msgid "`%s' is deprecated" + msgid "Using variable %qs at %L is deprecated" + msgstr "'%s' er forældet" + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, gcc-internal-format + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "duplicate initialization of %D" + msgid "Error in typebound call at %L" + msgstr "%D tildelt startværdi mere end én gang" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, gcc-internal-format, gfc-internal-format + msgid "Passed-object at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, gcc-internal-format + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, gcc-internal-format, gfc-internal-format + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, gcc-internal-format + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, gcc-internal-format + msgid "%qs at %L should be a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, gcc-internal-format + msgid "%qs at %L should be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, gcc-internal-format + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "\"%s\" after # is not a positive integer" + msgid "%s at %L must be integer" + msgstr "\"%s\" efter # er ikke et positivt heltal" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, gcc-internal-format + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array or substring specification for `%A' out of range in statement at %0" + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "Tabel- eller understrengsangivelse for '%A' er uden for det gyldige interval i sætning ved %0" + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array or substring specification for `%A' out of range in statement at %0" + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "Tabel- eller understrengsangivelse for '%A' er uden for det gyldige interval i sætning ved %0" + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array or substring specification for `%A' out of range in statement at %0" + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "Tabel- eller understrengsangivelse for '%A' er uden for det gyldige interval i sætning ved %0" + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "No label definition for FORMAT statement at %0" + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "Ingen etiketdefinition for FORMAT-sætning ved %0" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "No label definition for FORMAT statement at %0" + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "Ingen etiketdefinition for FORMAT-sætning ved %0" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, gcc-internal-format + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, fuzzy, gcc-internal-format + #| msgid "No label definition for FORMAT statement at %0" + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "Ingen etiketdefinition for FORMAT-sætning ved %0" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "" + +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "" +@@ -82415,291 +82392,291 @@ msgstr "" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "" + +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "expression statement has incomplete type" + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "udtrykket er af en ufuldstændig type" + +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "" + +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, gcc-internal-format, gfc-internal-format + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, fuzzy, gcc-internal-format + #| msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "\"%s\" kan ikke bruges som et makronavn da det er en operator i C++" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure name" + msgstr "" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "expression statement has incomplete type" + msgid "Selector at %L cannot be NULL()" + msgstr "udtrykket er af en ufuldstændig type" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "parameter `%s' has incomplete type" + msgid "Selector at %L has no type" + msgstr "parameteren '%s' er af en ufuldstændig type" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, gcc-internal-format, gfc-internal-format + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L must not be coindexed" + msgstr "" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, gcc-internal-format, gfc-internal-format + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, gcc-internal-format + msgid "Derived type %qs at %L must be extensible" + msgstr "" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, gcc-internal-format + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, gcc-internal-format + msgid "Unexpected intrinsic type %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, gcc-internal-format, gfc-internal-format + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "`%D' must take exactly one argument" + msgid "DTIO %s procedure at %L must be recursive" + msgstr "'%s' skal tage mod én parameter" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, gcc-internal-format, gfc-internal-format + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, gcc-internal-format, gfc-internal-format + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, gcc-internal-format, gfc-internal-format + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "use of class template `%T' as expression" + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "brug af klasseskabelonen '%T' som udtryk" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Statement at %0 invalid in context established by statement at %1" + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "Sætning ved %0 er ugyldig i den kontekst der er etableret af sætning ved %1" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, gcc-internal-format, gfc-internal-format + msgid "Branch at %L may result in an infinite loop" + msgstr "" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "" +@@ -82707,216 +82684,216 @@ msgstr "" + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Statement at %0 invalid in context established by statement at %1" + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "Sætning ved %0 er ugyldig i den kontekst der er etableret af sætning ved %1" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Unsupported VXT statement at %0" + msgid "Unsupported statement inside WHERE at %L" + msgstr "Ikke-understøttet VXT-sætning ved %0" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, gcc-internal-format + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "In construct" + msgid "FORALL construct at %L" + msgstr "I konstruktionen" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "" + +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, gcc-internal-format, gfc-internal-format + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "" + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, gcc-internal-format + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "" + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid lvalue in assignment" + msgid "Pointer procedure assignment at %L" + msgstr "ugyldig venstreværdi i tildeling" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, gcc-internal-format, gfc-internal-format + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "" + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, fuzzy, gcc-internal-format + #| msgid "use of class template `%T' as expression" + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "brug af klasseskabelonen '%T' som udtryk" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "use of class template `%T' as expression" + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "brug af klasseskabelonen '%T' som udtryk" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, gcc-internal-format + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "initialization of new expression with `='" + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "tildeling af startværdi til new-udtryk med '='" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid string constant `%E'" + msgid "Invalid NULL at %L" + msgstr "ugyldig strengkonstant '%E'" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, gcc-internal-format, gfc-internal-format + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "" + +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, gcc-internal-format + msgid "gfc_resolve_code(): Bad statement code" + msgstr "" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, fuzzy, gcc-internal-format + #| msgid "parameter `%s' declared void" + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "parameteren '%s' erklæret void" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, gcc-internal-format + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, gcc-internal-format + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" + msgstr "" +@@ -82924,1002 +82901,1002 @@ msgstr "" + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, gcc-internal-format + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Integer at %0 too large" + msgid "String length at %L is too large" + msgstr "Heltal ved %0 for stort" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, gcc-internal-format + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, gcc-internal-format + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, gcc-internal-format + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, gcc-internal-format + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, gcc-internal-format + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, gcc-internal-format + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, gcc-internal-format + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" + msgstr "" + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, gcc-internal-format + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, gcc-internal-format + msgid "%qs at %L must have constant character length in this context" + msgstr "" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, gcc-internal-format + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, fuzzy, gcc-internal-format + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "slutfeltet '%s' bliver måske ikke klargjort" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, fuzzy, gcc-internal-format + msgid "External %qs at %L cannot have an initializer" + msgstr "slutfeltet '%s' bliver måske ikke klargjort" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, fuzzy, gcc-internal-format + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "slutfeltet '%s' bliver måske ikke klargjort" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, fuzzy, gcc-internal-format + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "slutfeltet '%s' bliver måske ikke klargjort" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, fuzzy, gcc-internal-format + msgid "Function result %qs at %L cannot have an initializer" + msgstr "slutfeltet '%s' bliver måske ikke klargjort" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, gcc-internal-format + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "fstat %s" + msgid "%s at %L" + msgstr "fejl ved egenskabsundersøgelse af filen %s" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, gcc-internal-format + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, gcc-internal-format + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, gcc-internal-format + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, fuzzy, gcc-internal-format + #| msgid "function cannot be inline" + msgid "Function %qs at %L cannot have an initializer" + msgstr "funktion kan ikke indbygges" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, fuzzy, gcc-internal-format + #| msgid "variable-sized object of type `%T' may not be initialized" + msgid "External object %qs at %L may not have an initializer" + msgstr "objekt af typen '%T' med variabel størrelse må ikke tildeles en startværdi" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, gcc-internal-format + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, gcc-internal-format + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "" + +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "" + +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, gcc-internal-format + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, gcc-internal-format + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, gcc-internal-format + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, gcc-internal-format + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, fuzzy, gcc-internal-format + #| msgid "constructor cannot be static member function" + msgid "Interface of %qs at %L must be explicit" + msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, gcc-internal-format + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "`%D' must take exactly one argument" + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "'%s' skal tage mod én parameter" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, gcc-internal-format + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, gcc-internal-format, gfc-internal-format + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, gcc-internal-format + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, gcc-internal-format + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, gcc-internal-format + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, gcc-internal-format + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, gcc-internal-format + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, gcc-internal-format + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, gcc-internal-format + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "expression statement has incomplete type" + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "udtrykket er af en ufuldstændig type" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, gcc-internal-format + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, gcc-internal-format + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, gcc-internal-format + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, gcc-internal-format + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, gcc-internal-format + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, gcc-internal-format + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, gcc-internal-format + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, gcc-internal-format + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, gcc-internal-format + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, fuzzy, gcc-internal-format + #| msgid "argument 3 of `%s' must be a 2-bit literal" + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "parameter til '%s' skal være en 2 bit-konstant" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, gcc-internal-format + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, gcc-internal-format + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "" + +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, gcc-internal-format + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, gcc-internal-format + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, gcc-internal-format + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, gcc-internal-format, gfc-internal-format + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "initialization of new expression with `='" + msgid "Conflicting initializers in union at %L and %L" + msgstr "tildeling af startværdi til new-udtryk med '='" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, gcc-internal-format + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, gcc-internal-format + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, gcc-internal-format + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs at %L has not been declared" + msgstr "'%#D' kan ikke erklæres" + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, gcc-internal-format + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "" + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, gcc-internal-format + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, gcc-internal-format + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, gcc-internal-format + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, gcc-internal-format + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, gcc-internal-format + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, gcc-internal-format + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, gcc-internal-format + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, gcc-internal-format + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "uforenelig afledt type i PARAMETER ved %L" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, gcc-internal-format + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "CLASS-variablen %qs ved %L kan ikke have PARAMETER-attributten" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, gcc-internal-format + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, gcc-internal-format, gfc-internal-format + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, gcc-internal-format, gfc-internal-format + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, gcc-internal-format + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "No specification for implied-DO iterator `%A' at %0" + msgid "Bad specification for assumed size array at %L" + msgstr "Ingen angivelse af underforstået DO-iterator '%A' ved %0" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, gcc-internal-format + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, gcc-internal-format + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, gcc-internal-format + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, gcc-internal-format + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "" + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, gcc-internal-format + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, fuzzy, gcc-internal-format + #| msgid "argument 3 of `%s' must be a 2-bit literal" + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "parameter til '%s' skal være en 2 bit-konstant" + +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, gcc-internal-format + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, gcc-internal-format + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, gcc-internal-format + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, gcc-internal-format + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, gcc-internal-format + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, gcc-internal-format + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, gcc-internal-format + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, gcc-internal-format + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, gcc-internal-format + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, gcc-internal-format + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, gcc-internal-format + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, gcc-internal-format + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, fuzzy, gcc-internal-format + #| msgid "data member `%D' cannot be a member template" + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "datamedlem '%D' kan ikke være en medlemsskabelon" + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Extraneous comma in FORMAT statement at %0" + msgid "Expecting definable entity near %L" + msgstr "Ekstra komma i FORMAT-sætning ved %0" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, gcc-internal-format + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, gcc-internal-format + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, fuzzy, gcc-internal-format + #| msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "CLASS-variablen %qs ved %L kan ikke have PARAMETER-attributten" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "argument 3 of `%s' must be a 2-bit literal" + msgid "step of implied-do loop at %L shall not be zero" + msgstr "parameter til '%s' skal være en 2 bit-konstant" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "label `%D' defined but not used" + msgid "Label %d at %L defined but not used" + msgstr "etiketten '%D' er defineret, men ikke benyttet" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "label `%D' defined but not used" + msgid "Label %d at %L defined but cannot be used" + msgstr "etiketten '%D' er defineret, men ikke benyttet" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, gcc-internal-format + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, gcc-internal-format + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, gcc-internal-format + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, gcc-internal-format + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, gcc-internal-format + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, gcc-internal-format + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, fuzzy, gcc-internal-format + #| msgid "parse error in method specification" + msgid "Self reference in character length expression for %qs at %L" + msgstr "tolkningsfejl i medlemsfunktionsangivelsen" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, gcc-internal-format + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, gcc-internal-format + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, gcc-internal-format + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, gcc-internal-format + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" + msgstr "" +@@ -84848,7 +84825,7 @@ msgstr "" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "" +@@ -84860,12 +84837,12 @@ msgstr "" + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, gcc-internal-format + msgid "Creating array temporary at %L for argument %qs" + msgstr "" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "" +@@ -84960,92 +84937,86 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "" + + #: fortran/trans-decl.cc:1795 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "parameter `%s' has incomplete type" +-msgid "%s at %C has no default type" +-msgstr "parameteren '%s' er af en ufuldstændig type" +- +-#: fortran/trans-decl.cc:1798 + #, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, fuzzy, gcc-internal-format + #| msgid "Return values of functions in FPU registers" + msgid "Return value of function %qs at %L not set" + msgstr "Returnér værdier fra funktioner i fpu-registre" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, gcc-internal-format + msgid "Deferred type parameter not yet supported" + msgstr "" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, gcc-internal-format + msgid "backend decl for module variable %qs already exists" + msgstr "" + +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, fuzzy, gcc-internal-format + #| msgid "instance variable `%s' is declared %s" + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "instansvariablen '%s' er erklæret '%s'" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, gcc-internal-format + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, gcc-internal-format + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, gcc-internal-format + msgid "Unused dummy argument %qs at %L" + msgstr "" + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, gcc-internal-format + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "" + +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, fuzzy, gcc-internal-format + #| msgid "instance variable `%s' is declared %s" + msgid "Unused variable %qs declared at %L" + msgstr "instansvariablen '%s' er erklæret '%s'" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, fuzzy, gcc-internal-format + #| msgid "parameter `%s' declared void" + msgid "Unused parameter %qs declared at %L" + msgstr "parameteren '%s' erklæret void" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, gcc-internal-format + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, fuzzy, gcc-internal-format + #| msgid "Return values of functions in FPU registers" + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "Returnér værdier fra funktioner i fpu-registre" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "" +@@ -85061,29 +85032,29 @@ msgstr "ISO C90 forbyder tabellen '%s' med variabel størrelse" + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, fuzzy, gcc-internal-format + #| msgid "unknown insn mode" + msgid "Unknown intrinsic op" + msgstr "ukendt instruktionstilstand" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "too few arguments to function `%s'" + msgid "Unknown argument list function at %L" + msgstr "for få parametre til funktionen '%s'" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "" +@@ -87105,9 +87076,6 @@ msgstr "ubenyttet parameter '%s'" + #~ msgid "PIC register isn't set up" + #~ msgstr "PIC-register er ikke sat op" + +-#~ msgid "invalid operand size for operand code 'Z'" +-#~ msgstr "ugyldig operandstørrelse for operandkoden »Z«" +- + #~ msgid "__float128 and __ibm128 cannot be used in the same expression" + #~ msgstr "__float128 og __ibm128 kan ikke bruges i det samme udtryk" + +diff --git a/gcc/po/de.po b/gcc/po/de.po +index c3b34b8e3d6..66fd5710f01 100644 +--- a/gcc/po/de.po ++++ b/gcc/po/de.po +@@ -8,10 +8,10 @@ + # Roland Illig , 2015, 2017-2023. + msgid "" + msgstr "" +-"Project-Id-Version: gcc 13.1.0\n" ++"Project-Id-Version: gcc 13.1-b20230409\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" +-"PO-Revision-Date: 2023-04-27 09:54+0200\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" ++"PO-Revision-Date: 2023-04-12 20:15+0200\n" + "Last-Translator: Roland Illig \n" + "Language-Team: German \n" + "Language: de\n" +@@ -3999,7 +3999,7 @@ msgstr "ISO-Dialekt von Modula-2 verwenden" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "Reihenfolge der Bibliotheken kommagetrennt angeben, erlaubte Einträge sind: log,min,pim,iso oder deren entsprechende Verzeichnisnamen m2log,m2min,m2pim,m2iso." + + #: m2/lang.opt:127 +@@ -7643,11 +7643,6 @@ msgstr "Konservatives abrollen kleiner Schleifen einschalten." + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "-mlam=[none|u48|u57] Position der Metadaten in Nutzer-Datenzeigern instrumentieren." + +-#: config/i386/i386.opt:1280 +-#, no-c-format +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "Eingebaute Funktionen und Codeerzeugung für AMX-COMPLEX unterstützen." +- + #: config/pa/pa64-hpux.opt:23 + #, no-c-format + msgid "Assume code will be linked by GNU ld." +@@ -17179,12 +17174,12 @@ msgstr "»%%l«-Operand ist keine Marke" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "Gleitkommakonstante falsch verwendet" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +@@ -18269,63 +18264,63 @@ msgstr "Diese Option ist undokumentiert." + msgid "Uses of this option are diagnosed." + msgstr "Die Verwendung dieser Option wird diagnostiziert." + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "Dasselbe wie %s%s (oder, in negierter Form, %s%s)." + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, c-format + msgid "Same as %s%s." + msgstr "Dasselbe wie %s%s." + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, c-format + msgid "Same as %s." + msgstr "Dasselbe wie %s." + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, c-format + msgid "%s Same as %s." + msgstr "%s ist identisch mit %s." + +-#: opts.cc:1733 ++#: opts.cc:1732 + msgid "[available in " + msgstr "[verfügbar in " + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "[Standard]" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, c-format + msgid "%llu bytes" + msgstr "%llu Bytes" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "[eingeschaltet]" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "[ausgeschaltet]" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr " Keine Optionen mit den gewünschten Eigenschaften gefunden\n" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr " Nichts gefunden. Bitte verwenden Sie »--help=%s«, um *alle* vom Frontend %s unterstützten Optionen anzuzeigen\n" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr " Alle Optionen mit den gewünschten Eigenschaften wurden bereits angezeigt\n" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, c-format + msgid "" + " Known valid arguments for %s option:\n" +@@ -18334,47 +18329,47 @@ msgstr "" + " Bekannte gültige Argumente für Option »%s«:\n" + " " + +-#: opts.cc:1959 ++#: opts.cc:1958 + msgid "The following options are target specific" + msgstr "Die folgenden Optionen sind zielspezifisch" + +-#: opts.cc:1962 ++#: opts.cc:1961 + msgid "The following options control compiler warning messages" + msgstr "Die folgenden Optionen steuern Warnmeldungen des Compilers" + +-#: opts.cc:1965 ++#: opts.cc:1964 + msgid "The following options control optimizations" + msgstr "Die folgenden Optionen steuern Optimierungen" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + msgid "The following options are language-independent" + msgstr "Die folgenden Optionen sind sprachunabhängig" + +-#: opts.cc:1971 ++#: opts.cc:1970 + msgid "The following options control parameters" + msgstr "Die folgenden Optionen steuern Parameter" + +-#: opts.cc:1977 ++#: opts.cc:1976 + msgid "The following options are specific to just the language " + msgstr "Die folgenden Optionen sind nur spezifisch für die Sprache " + +-#: opts.cc:1979 ++#: opts.cc:1978 + msgid "The following options are supported by the language " + msgstr "Die folgenden Optionen werden von der Sprache unterstützt " + +-#: opts.cc:1990 ++#: opts.cc:1989 + msgid "The following options are not documented" + msgstr "Die folgenden Optionen sind nicht dokumentiert" + +-#: opts.cc:1992 ++#: opts.cc:1991 + msgid "The following options take separate arguments" + msgstr "Die folgenden Optionen verwenden separate Argumente" + +-#: opts.cc:1994 ++#: opts.cc:1993 + msgid "The following options take joined arguments" + msgstr "Die folgenden Optionen verwenden gemeinsame Argumente" + +-#: opts.cc:2006 ++#: opts.cc:2005 + msgid "The following options are language-related" + msgstr "Die folgenden Optionen sind sprachbezogen" + +@@ -18757,72 +18752,72 @@ msgstr "Längenmodifizierer im strfmon-Format" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, c-format + msgid "unsupported operand for code '%c'" + msgstr "Operand für Code »%c« nicht unterstützt" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "ungültiger Operand für »%%%c«" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, c-format + msgid "invalid vector constant" + msgstr "ungültige Vektorkonstante" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "unverträglicher Gleitkomma- / Vektorregisteroperand für »%%%c«" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, c-format + msgid "incompatible register operand for '%%%c'" + msgstr "unverträglicher Registeroperand für »%%%c«" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, c-format + msgid "missing operand" + msgstr "fehlender Operand" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, c-format + msgid "invalid constant" + msgstr "ungültige Konstante" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, c-format + msgid "invalid operand" + msgstr "ungültiger Operand" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "ungültiger Operandenpräfix »%%%c«" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, c-format + msgid "invalid address mode" + msgstr "ungültiger Adressierungsmodus" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "GNU- und SVE-Vektoren können nicht in einer binären Operation kombiniert werden" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "»%%&« ohne lokale dynamische TLS-Referenzen verwendet" +@@ -18839,18 +18834,18 @@ msgid "invalid %%r value" + msgstr "ungültiger %%r-Wert" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "ungültiger %%R-Wert" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "ungültiger %%N-Wert" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" + msgstr "ungültiger %%P-Wert" +@@ -18880,7 +18875,7 @@ msgstr "ungültiger %%M-Wert" + msgid "invalid %%U value" + msgstr "ungültiger %%U-Wert" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" + msgstr "ungültiger %%s-Wert" +@@ -18890,7 +18885,7 @@ msgstr "ungültiger %%s-Wert" + msgid "invalid %%C value" + msgstr "ungültiger %%C-Wert" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" + msgstr "ungültiger %%E-Wert" +@@ -18903,7 +18898,7 @@ msgstr "unbekannte Adressverschiebungs-Unspec" + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" + msgstr "ungültiger %%xn-Code" +@@ -18986,35 +18981,35 @@ msgstr "ungültiges UNSPEC als Operand: %d" + msgid "unrecognized supposed constant" + msgstr "unerkannte vermutete Konstante" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, c-format + msgid "invalid shift operand" + msgstr "ungültiger Schiebeoperand" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, c-format + msgid "predicated Thumb instruction" + msgstr "bedingter Thumb-Befehl" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "bedingter Befehl in bedingter Sequenz" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Operand für Code »%c« nicht unterstützt" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -19023,26 +19018,26 @@ msgstr "Operand für Code »%c« nicht unterstützt" + msgid "invalid operand for code '%c'" + msgstr "ungültiger Operand für Code »%c«" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, c-format + msgid "instruction never executed" + msgstr "Befehl wird niemals ausgeführt" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "veralteter Maverick-Formatcode »%c«" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + msgid "invalid conversion from type %" + msgstr "ungültige Umwandlung von Typ %" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + msgid "invalid conversion to type %" + msgstr "ungültige Umwandlung in Typ %" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "Operation nicht erlaubt auf Typ %" + +@@ -19407,97 +19402,97 @@ msgstr "ungültige Gleitkomma-Konstante" + msgid "Expected register or constant integer." + msgstr "Register oder konstante Ganzzahl erwartet." + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, c-format + msgid "invalid UNSPEC as operand" + msgstr "ungültiges UNSPEC als Operand" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, c-format + msgid "invalid use of register '%s'" + msgstr "Ungültige Verwendung von Register »%s«" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, c-format + msgid "invalid use of asm flag output" + msgstr "ungültige Verwendung der asm-Schalter-Ausgabe" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, c-format + msgid "invalid operand size for operand code 'O'" + msgstr "ungültige Operandengröße für Operandencode »O«" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, c-format + msgid "invalid operand size for operand code 'z'" + msgstr "ungültige Operandengröße für Operandencode »z«" + +-#: config/i386/i386.cc:13290 ++#: config/i386/i386.cc:13283 + #, c-format +-msgid "invalid operand type used with operand code '%c'" +-msgstr "ungültiger Operandentyp mit Operandencode »%c« verwendet" ++msgid "invalid operand type used with operand code 'Z'" ++msgstr "ungültiger Operandentyp mit Operandencode »Z« verwendet" + +-#: config/i386/i386.cc:13295 ++#: config/i386/i386.cc:13288 + #, c-format +-msgid "invalid operand size for operand code '%c'" +-msgstr "ungültige Operandengröße für Operandencode »%c«" ++msgid "invalid operand size for operand code 'Z'" ++msgstr "ungültige Operandengröße für Operandencode »Z«" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, c-format + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "Operand ist kein Bedingungscode, ungültiger Operandencode »Y«" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, c-format + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "Operand ist kein Bedingungscode, ungültiger Operandencode »D«" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, c-format + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "Operand ist kein Bedingungscode, ungültiger Operandencode »%c«" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, c-format + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "Operand ist keine ausgleichbare Speicherreferenz, ungültiger Operandencode »H«" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, c-format + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "Operand ist keine Ganzzahl, ungültiger Operandencode »K«" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "Operand ist keine bestimmte Ganzzahl, ungültiger Operandencode »r«" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, c-format + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "Operand ist keine Ganzzahl, ungültiger Operandencode »R«" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "Operand ist keine bestimmte Ganzzahl, ungültiger Operandencode »R«" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, c-format + msgid "invalid operand code '%c'" + msgstr "ungültiger Operandencode »%c«" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, c-format + msgid "invalid constraints for operand" + msgstr "ungültige Bedingungen für Operand" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, c-format + msgid "invalid vector immediate" + msgstr "ungültiger Vektordirektwert" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + msgid "unknown insn mode" + msgstr "unbekannter Befehlsmodus" + +@@ -19528,7 +19523,7 @@ msgstr "ungültige Operation auf %<__fpreg%>" + msgid "invalid %%P operand" + msgstr "ungültiger %%P-Operand" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" + msgstr "ungültiger %%p-Wert" +@@ -19573,8 +19568,8 @@ msgstr "»%%%c« ist kein gültiger Operandenpräfix" + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, c-format + msgid "invalid use of '%%%c'" + msgstr "ungültige Verwendung von »%%%c«" +@@ -19606,7 +19601,7 @@ msgid "post-increment address is not a register" + msgstr "Post-Increment-Adresse ist kein Register" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" + msgstr "Falsche Adresse" + +@@ -19764,7 +19759,7 @@ msgstr "nicht unterstützte konstante Adresse:" + msgid "unsupported memory expression:" + msgstr "nicht unterstützter Speicherausdruck:" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, c-format + msgid "invalid vector operand" + msgstr "ungültiger Vektoroperand" +@@ -19816,143 +19811,143 @@ msgstr "%<-mquad-memory%> ist im Little-Endian-Modus nicht verfügbar" + msgid "bad move" + msgstr "ungültige Bewegung" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" + msgstr "Falsche 128-Bit-Verschiebung" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, c-format + msgid "invalid %%A value" + msgstr "ungültiger %%A-Wert" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" + msgstr "ungültiger %%D-Wert" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, c-format + msgid "invalid %%e value" + msgstr "ungültiger %%e-Wert" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" + msgstr "ungültiger %%f-Wert" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" + msgstr "ungültiger %%F-Wert" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" + msgstr "ungültiger %%G-Wert" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" + msgstr "ungültiger %%j-Code" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" + msgstr "ungültiger %%J-Code" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" + msgstr "ungültiger %%k-Wert" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "ungültiger %%K-Wert" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" + msgstr "ungültiger %%O-Wert" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" + msgstr "ungültiger %%q-Wert" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, c-format + msgid "invalid %%t value" + msgstr "ungültiger %%t-Wert" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" + msgstr "ungültiger %%T-Wert" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" + msgstr "ungültiger %%u-Wert" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "ungültiger %%v-Wert" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, c-format + msgid "invalid %%V value" + msgstr "ungültiger %%V-Wert" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" + msgstr "ungültiger %%x-Wert" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, c-format + msgid "invalid %%z value" + msgstr "ungültiger %%z-Wert" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "ungültiger %%y-Wert, bitte »Z«-Bedingung probieren" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "Unerlaubtes Mischen von IEEE-128-Bit- und IBM-128-Bit-Gleitkommatypen" + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + msgid "AltiVec argument passed to unprototyped function" + msgstr "AltiVec-Argument an Funktion ohne Prototyp übergeben" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + msgid "Could not generate addis value for fusion" + msgstr "Addis-Wert für Fusion kann nicht erzeugt werden" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + msgid "Unable to generate load/store offset for fusion" + msgstr "Lade-/Speicheroffset für Fusion kann nicht generiert werden" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" + msgstr "Falsche GPR-Fusion" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "ungültige Umwandlung von Typ %<__vector_quad%>" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "ungültige Umwandlung in Typ %<__vector_quad%>" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "ungültige Umwandlung von %<__vector_pair%>" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + msgid "invalid conversion to type %<__vector_pair%>" + msgstr "ungültige Umwandlung in %<__vector_pair%>" + +@@ -20409,7 +20404,7 @@ msgstr "Kandidat:" + msgid " after user-defined conversion:" + msgstr " nach benutzerdefinierter Umwandlung:" + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + msgid "candidate is:" + msgid_plural "candidates are:" + msgstr[0] "Kandidat ist:" +@@ -20876,7 +20871,7 @@ msgstr "Unstimmige Arraygrenzen für Dimension 2 des Arrays (%ld/%ld)" + msgid "Driving:" + msgstr "Angesteuert:" + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + msgid "actual argument to INTENT = OUT/INOUT" + msgstr "effektives Argument für INTENT = OUT/INOUT" + +@@ -21034,11 +21029,11 @@ msgstr "Block-IF" + msgid "implied END DO" + msgstr "impliziertes END DO" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + msgid "assignment" + msgstr "Zuweisung" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + msgid "pointer assignment" + msgstr "Zeigerzuweisung" + +@@ -21046,199 +21041,199 @@ msgstr "Zeigerzuweisung" + msgid "simple IF" + msgstr "einfaches IF" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + msgid "elemental procedure" + msgstr "Elementares Unterprogramm" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + msgid "allocatable argument" + msgstr "allozierbares Argument" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + msgid "asynchronous argument" + msgstr "asynchrones Argument" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + msgid "optional argument" + msgstr "optionales Argument" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + msgid "pointer argument" + msgstr "Zeigerargument" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + msgid "target argument" + msgstr "Zielargument" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + msgid "value argument" + msgstr "Wertargument" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + msgid "volatile argument" + msgstr "flüchtiges Argument" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + msgid "assumed-shape argument" + msgstr "Argument mit angenommener Form" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + msgid "assumed-rank argument" + msgstr "Argument mit angenommenem Rang" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + msgid "coarray argument" + msgstr "Coarray-Argument" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + msgid "parametrized derived type argument" + msgstr "parametrisiertes abgeleitetes Typargument" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + msgid "polymorphic argument" + msgstr "polymorphes Argument" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + msgid "NO_ARG_CHECK attribute" + msgstr "NO_ARG_CHECK-Attribut" + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + msgid "assumed-type argument" + msgstr "Argument von angenommenem Typ" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + msgid "array result" + msgstr "Arrayergebnis" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + msgid "pointer or allocatable result" + msgstr "Zeiger oder allozierbares Resultat" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + msgid "result with non-constant character length" + msgstr "Resultat mit nicht konstanter Zeichenlänge" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + msgid "bind(c) procedure" + msgstr "bind(c)-Prozedur" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, c-format + msgid "Invalid context for NULL() pointer at %%L" + msgstr "Ungültiger Kontext für NULL()-Zeiger bei %%L" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, c-format + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "Operand des unären numerischen Operators %%<%s%%> bei %%L ist %s" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "Unerwartete Entitäten mit abgeleitetem Typ im binären intrinsischen numerischen Operator %%<%s%%> bei %%L" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, c-format + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "Operanden des binären numerischen Operators %%<%s%%> bei %%L sind %s/%s" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "Operanden des Zeichenkettenverkettungsoperators bei %%L sind %s/%s" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, c-format + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "Operanden des logischen Operators %%<%s%%> bei %%L sind %s/%s" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "Operand des Operators .not. bei %%L ist %s" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "COMPLEX-Größen können nicht bei %L verglichen werden" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "Logische Werte bei %%L müssen mit %s statt mit %s verglichen werden" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, c-format + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "Operanden des Vergleichsoperators %%<%s%%> bei %%L sind %s/%s" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "Unbekannter Operator %%<%s%%> bei %%L; meinten Sie %%<%s%%>?" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "Unbekannter Operator %%<%s%%> bei %%L" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, c-format + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "Operand des Benutzeroperators %%<%s%%> bei %%L ist %s" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, c-format + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "Operanden des Benutzeroperators %%<%s%%> bei %%L sind %s/%s" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, c-format + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "Ränge für Operator bei %%L und %%L stimmen nicht überein" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "Schleifenvariable" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + msgid "iterator variable" + msgstr "Iteratorvariable" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + msgid "Start expression in DO loop" + msgstr "Anfangs-Ausdruck in DO-Schleife" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + msgid "End expression in DO loop" + msgstr "End-Ausdruck in DO-Schleife" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + msgid "Step expression in DO loop" + msgstr "Schrittausdruck in DO-Schleife" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + msgid "DEALLOCATE object" + msgstr "DEALLOCATE Objekt" + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + msgid "ALLOCATE object" + msgstr "ALLOCATE Objekt" + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + msgid "STAT variable" + msgstr "STAT-Variable" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + msgid "ERRMSG variable" + msgstr "ERRMSG-Variable" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + msgid "item in READ" + msgstr "Element in READ" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + msgid "ACQUIRED_LOCK variable" + msgstr "Variable ACQUIRED_LOCK" + +@@ -21251,27 +21246,27 @@ msgstr "Unterschiedliche CHARACTER-Längen (%ld/%ld) in Feldkonstruktor" + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "Ganzzahlüberlauf bei der Berechnung des zu reservierenden Speichers" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "Der Wert des Parameters PDT LEN »%s« stimmt nicht mit dem in der Dummy-Deklaration überein" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, c-format + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "Effektive Zeichenkettenlänge passt nicht zur deklarierten für Scheinargument »%s« (%ld/%ld)" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, c-format + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "Effektive Zeichenkettenlänge ist kürzer als die deklarierte für Scheinargument »%s« (%ld/%ld)" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "Ziel für neue Rangabbildung ist zu klein (%ld < %ld)" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + msgid "Assignment of scalar to unallocated array" + msgstr "Zuweisung von Skalar zu unalloziertem Array" + +@@ -22139,7 +22134,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "%<-mrelax%> wird nur für RTP PIC unterstützt" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in %s statement at %C" + msgstr "Syntaxfehler in Anweisung %s bei %C" +@@ -22510,7 +22505,7 @@ msgstr "Attribut %qE steht mit Attribut %qs in Konflikt; wird ignoriert" + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, gcc-internal-format + msgid "previous declaration here" +@@ -22607,10 +22602,10 @@ msgstr "Typattribute ignoriert, nachdem Typ bereits definiert ist" + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -22745,7 +22740,7 @@ msgstr "Funktionsprofil aus %s kann nicht gelesen werden" + msgid "offset %qwi outside bounds of constant string" + msgstr "Offset %qwi ist außerhalb der Grenzen der konstanten Zeichenkette" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, gcc-internal-format + msgid "%qE declared here" + msgstr "%qE ist hier deklariert" +@@ -24580,7 +24575,7 @@ msgstr "große Festkommakonstante implizit auf Festkommatypen abgeschnitten" + msgid "comparison is always %d due to width of bit-field" + msgstr "Vergleich ist immer %d wegen Breite des Bitfeldes" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "Annahme, dass vorzeichenbehafteter Überlauf nicht auftritt, wenn Bereichsprüfung vereinfacht wird" +@@ -25350,7 +25345,7 @@ msgstr "Funktion liefert Adresse einer lokalen Variablen zurück" + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -26468,14 +26463,14 @@ msgstr "baumelnder Zeiger auf %qD wird möglicherweise verwendet" + msgid "using a dangling pointer to %qD" + msgstr "baumelnder Zeiger auf %qD wird verwendet" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, gcc-internal-format + msgid "%qD declared here" + msgstr "%qD ist hier deklariert" +@@ -26520,7 +26515,7 @@ msgstr "%qD wird mit Zeiger aufgerufen, der aus der unpassenden Allozierungsfunk + msgid "call to %qD" + msgstr "Aufruf von %qD" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, gcc-internal-format + msgid "storing the address of local variable %qD in %qE" + msgstr "Adresse der lokalen Variable %qD wird in %qE gespeichert" +@@ -27587,7 +27582,7 @@ msgstr "IPA-Inline-Zusammenfassung fehlt in Eingabedatei" + msgid "IPA modref summary is missing in input file" + msgstr "IPA-modref-Zusammenfassung fehlt in Eingabedatei" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, gcc-internal-format + msgid "invalid jump function in LTO stream" + msgstr "ungültige Sprungfunktion in LTO-Datenstrom" +@@ -28545,7 +28540,7 @@ msgstr "Fehler beim Schließen der Datei für Optimierungsdatensätze %qs" + msgid "command-line option %qs is not supported by this configuration" + msgstr "Kommandozeilenoption %qs wird von dieser Konfiguration nicht unterstützt" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, gcc-internal-format + msgid "missing argument to %qs" + msgstr "fehlendes Argument für %qs" +@@ -28585,12 +28580,12 @@ msgstr "%qs und %qs schließen sich gegenseitig aus und können nicht zusammen a + msgid "unrecognized argument in option %qs" + msgstr "nicht erkanntes Kommandozeilenargument in Option %qs" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "gültige Argumente für %qs sind: %s; meinten Sie %qs?" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s" + msgstr "gültige Argumente für %qs sind: %s" +@@ -28746,7 +28741,7 @@ msgstr "%<-fsanitize=pointer-subtract%> muss mit %<-fsanitize=address%> oder %<- + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "%<-fsanitize-recover=%s%> wird nicht unterstützt" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, gcc-internal-format + msgid "%<-fsanitize-trap=%s%> is not supported" + msgstr "%<-fsanitize-trap=%s%> wird nicht unterstützt" +@@ -28786,183 +28781,183 @@ msgstr "Variablenverfolgung angefordert, jedoch nutzlos ohne Debug-Info" + msgid "variable tracking requested, but not supported by this debug format" + msgstr "Variablenverfolgung angefordert, jedoch nicht von diesem Debug-Format unterstützt" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "var-tracking-assignments ändert selektive Planung" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "%<-Wstrict-flex-arrays%> wird ignoriert, wenn %<-fstrict-flex-arrays%> nicht angegeben wurde" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "%<-freorder-blocks-and-partition%> funktioniert auf dieser Architektur nicht mit Ausnahmen" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "%<-freorder-blocks-and-partition%> unterstützt auf dieser Architektur nicht Unwind-Info" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "%<-freorder-blocks-and-partition%> funktioniert auf dieser Architektur nicht" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, gcc-internal-format + msgid "unrecognized % passed to %" + msgstr "nicht erkanntes % an % weitergegeben" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "%<-fsanitize=all%> ist ungültig" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "unbekanntes Argument für Option %<-f%ssanitize%s=%>: %q.*s; meinten Sie %qs?" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "unbekanntes Argument für Option %<-f%ssanitize%s=%>: %q.*s" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, gcc-internal-format + msgid "%qs attribute directive ignored" + msgstr "Attribut-Direktive %qs ignoriert" + +-#: opts.cc:2347 ++#: opts.cc:2346 + #, gcc-internal-format + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "Argument für Option %<-fzero-call-used-regs=%> nicht erkannt: %qs" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, gcc-internal-format + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "ungültige Argumente für Option %<-falign-%s%>: %qs" + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, gcc-internal-format + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "Falsche Anzahl der Argumente für Option %<-falign-%s%>: %qs" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, gcc-internal-format + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr "%<-falign-%s%> ist nicht zwischen 0 und %d" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, gcc-internal-format + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "ungültige Argumente für %<-fpatchable-function-entry%>" + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, gcc-internal-format + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "Argument %q.*s für %<--help%> ist mehrdeutig, bitte präzisieren" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, gcc-internal-format + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "Argument %q.*s für Option %<--help=%> nicht erkannt" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "Argumente für %<-Wattributes=%> ignoriert; verwenden Sie stattdessen %<-Wno-attributes=%>" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "abschließendes %<,%> in Argumenten für %<-Wno-attributes=%>" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "Option %<-foffload-abi%> kann nur für Offload-Compiler angegeben werden" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, gcc-internal-format + msgid "structure alignment must be a small power of two, not %wu" + msgstr "Strukturausrichtung muss eine kleine Zweierpotenz sein, nicht %wu" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, gcc-internal-format + msgid "unknown stack check parameter %qs" + msgstr "unbekannter Stapel-Überprüfungsparameter %qs" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90141 +-#: opts.cc:3158 ++#: opts.cc:3157 + #, gcc-internal-format + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "%<-gdwarf=%s%> ist mehrdeutig; verwenden Sie %<-gdwarf-%s%> für die DWARF-Version und %<-gdwarf -g%s%> für die Debugstufe" + +-#: opts.cc:3169 ++#: opts.cc:3168 + #, gcc-internal-format + msgid "dwarf version %wu is not supported" + msgstr "Dwarf-Version %wu wird nicht unterstützt" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, gcc-internal-format + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "Argument %qs für Option %<-flto=%> nicht erkannt" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, gcc-internal-format + msgid "target system does not support debug output" + msgstr "Zielsystem unterstützt keine Testausgaben" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, gcc-internal-format + msgid "debug format %qs conflicts with prior selection" + msgstr "Debugformat %qs steht in Konflikt mit vorheriger Auswahl" + +-#: opts.cc:3468 ++#: opts.cc:3467 + #, gcc-internal-format + msgid "unrecognized debug output level %qs" + msgstr "Unbekannte Debugausgabestufe %qs" + +-#: opts.cc:3470 ++#: opts.cc:3469 + #, gcc-internal-format + msgid "debug output level %qs is too high" + msgstr "Debugausgabestufe %qs ist zu groß" + +-#: opts.cc:3482 ++#: opts.cc:3481 + #, gcc-internal-format + msgid "unrecognized btf debug output level %qs" + msgstr "Unbekannte BTF-Debugausgabestufe %qs" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "Kern-Dateigrößenlimit kann nicht geholt werden: %m" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "Kern-Dateigrößenlimit kann nicht gesetzt werden: %m" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "GCC-Debuggingoption nicht erkannt: %c" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "%<-W%serror=%s%>: unbekannte Option %<-%s%>; meinten Sie %<-%s%>?" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "%<-W%serror=%s%>: Keine Option %<-%s%>" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, gcc-internal-format + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" + msgstr "%<-Werror=%s%>: %<-%s%> ist keine Option, die Warnungen steuert" +@@ -29651,213 +29646,213 @@ msgid "%qD renamed after being referenced in assembly" + msgstr "%qD nach Referenzierung in Assemblierung umbenannt" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "Interner Fehler: function symbol is not function" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, gcc-internal-format + msgid "inconsistent % attribute" + msgstr "inkonsistentes %-Attribut" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "Interner Fehler: variable symbol is not variable" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "Interner Fehler: node has unknown type" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, gcc-internal-format, gfc-internal-format + msgid "node has invalid order %i" + msgstr "Knoten hat ungültige Reihenfolge %i" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "Interner Fehler: node not found node->decl->decl_with_vis.symtab_node" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "Interner Fehler: node differs from node->decl->decl_with_vis.symtab_node" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "Interner Fehler: assembler name hash list corrupted" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "Interner Fehler: node not found in symtab assembler name hash" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "Interner Fehler: double linked list of assembler names corrupted" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "Interner Fehler: node has body_removed but is definition" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "Interner Fehler: node is analyzed but it is not a definition" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "Interner Fehler: node is alias but not implicit alias" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "Interner Fehler: node is alias but not definition" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "Interner Fehler: node is weakref but not an transparent_alias" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "Interner Fehler: node is transparent_alias but not an alias" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, gcc-internal-format + msgid "node is symver but not alias" + msgstr "Interner Fehler: node is symver but not alias" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "Interner Fehler: symver target is not exported with default visibility" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, gcc-internal-format + msgid "symver is not exported with default visibility" + msgstr "Interner Fehler: symver is not exported with default visibility" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "Interner Fehler: node is in same_comdat_group list but has no comdat_group" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "Interner Fehler: same_comdat_group list across different groups" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "Interner Fehler: mixing different types of symbol in same comdat groups is not supported" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "Interner Fehler: node is alone in a comdat group" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "Interner Fehler: same_comdat_group is not a circular list" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "Interner Fehler: comdat-local symbol referred to by %s outside its comdat" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn%'t" + msgstr "Interner Fehler: implicit_section flag is set but section isn%'t" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "Interner Fehler: Both section and comdat group is set" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, gcc-internal-format + msgid "Alias and target%'s section differs" + msgstr "Interner Fehler: Alias and target%'s section differs" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, gcc-internal-format + msgid "Alias and target%'s comdat groups differs" + msgstr "Interner Fehler: Alias and target%'s comdat groups differs" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, gcc-internal-format + msgid "Transparent alias and target%'s assembler names differs" + msgstr "Interner Fehler: Transparent alias and target%'s assembler names differs" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "Interner Fehler: Chained transparent aliases" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "Interner Fehler: symtab_node::verify failed" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, gcc-internal-format, gfc-internal-format + msgid "invalid order in asm node %i" + msgstr "ungültige Reihenfolge in asm-Knoten %i" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "Interner Fehler: Two symbols with same comdat_group are not linked by the same_comdat_group list." + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "Funktion %q+D Teil des Alias-Zyklus" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "Variable %q+D Teil des Alias-Zyklus" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "Abschnitt des Aliases %q+D muss zum Abschnitt seines Ziels passen" +@@ -31562,27 +31557,27 @@ msgstr "maschinenunabhängiger eingebauter Code außerhalb des Wertebereiches" + msgid "target specific builtin not available" + msgstr "zielspezifische eingebaute Funktion ist nicht verfügbar" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "Vektoroperation wird stückweise ausgeweitet" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "Vektoroperation wird parallel ausgeweitet" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "Vektoroperation wird mit einzelner skalarer Operation ausgeweitet" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "Vektorbedingung wird stückweise ausgeweitet" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "Vektorumverteilungsoperation wird stückweise ausgeweitet" +@@ -32398,7 +32393,7 @@ msgstr "Attribut %qE ignoriert, da %qD keine Variable ist" + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "Attribut %qE ignoriert, da %qD keine lokale Variable ist" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "Attribut %qE wirkt sich nur auf öffentliche Objekte aus" +@@ -34488,7 +34483,7 @@ msgstr "nicht unterstützte Nicht-Standard-Verkettung von Zeichenkettenliteralen + msgid "traditional C rejects string constant concatenation" + msgstr "traditionelles C weist Zeichenkettenkonstantenverkettung zurück" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "%<#pragma omp critical%> mit %-Klausel erfordert einen Namen, außer wenn % verwendet wird" +@@ -36159,7 +36154,7 @@ msgstr "zu viele Eingabedateien" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "%qs ist im Header %qs definiert; haben Sie vergessen, %<#include %s%> zu schreiben?" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, gcc-internal-format + msgid "unknown value %qs for %<-mcpu%>" + msgstr "unbekannter Wert %qs für %<-mcpu%>" +@@ -36190,15 +36185,15 @@ msgid "unrecognized option passed to %%:%" + msgstr "unbekannte Option an %%:% weitergegeben" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "gültige Argumente sind: %s; meinten Sie %qs?" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, gcc-internal-format, gfc-internal-format + msgid "valid arguments are: %s" + msgstr "gültige Argumente sind: %s" +@@ -36284,48 +36279,48 @@ msgstr "%<-mcpu=%s%> ist nicht gültig" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "%<-mcpu=%s%> hat ungültige Silizium-Revision" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, gcc-internal-format + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "%<-malign-loops%> ist veraltet, Ersatz: %<-falign-loops%>" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, gcc-internal-format + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr "%<-malign-loops=%d%> liegt nicht zwischen 0 und %d" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, gcc-internal-format + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "%<-malign-jumps%> ist veraltet, Ersatz: %<-falign-jumps%>" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, gcc-internal-format + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr "%<-malign-jumps=%d%> liegt nicht zwischen 0 und %d" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, gcc-internal-format + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "%<-malign-functions%> ist veraltet, Ersatz: %<-falign-functions%>" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, gcc-internal-format + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr "%<-malign-functions=%d%> liegt nicht zwischen 0 und %d" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, gcc-internal-format + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr "%<-mbranch-cost=%d%> liegt nicht zwischen 0 und 5" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "%<-fsplit-stack%> wird derzeit nur auf GNU/Linux unterstützt" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "%<-fsplit-stack%> erfordert Assemblerunterstützung für CFI-Direktiven" +@@ -36812,13 +36807,13 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "ACLE-Funktion %qD ist nicht kompatibel mit der Verwendung von %qs" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, gcc-internal-format + msgid "argument %d of %qE must be an integer constant expression" + msgstr "Argument %d von %qE muss ein konstanter ganzzahliger Ausdruck sein" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, gcc-internal-format + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" + msgstr "Übergabe von %wd an das Argument %d von %qE, das einen Wert im Bereich [%wd, %wd] erwartet" +@@ -37056,7 +37051,7 @@ msgstr "Übergabe von %qT an Argument %d von %qE, das jedoch in der %qT-Form kei + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, gcc-internal-format + msgid "duplicate definition of %qs" + msgstr "doppelte Definition von %qs" +@@ -37097,7 +37092,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "der SVE-Typ %qT hat keine definierte Ausrichtung" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, gcc-internal-format + msgid "variables of type %qT cannot have thread-local storage duration" + msgstr "Variablen vom Typ %qT können keine thread-lokale Speicherdauer haben" +@@ -37184,330 +37179,330 @@ msgstr "Sie können SVE mit der Befehlszeilenoption %<-march%>, oder mit dem Att + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "Argumente vom Typ %qT erfordern die SVE-ISA-Erweiterung" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, gcc-internal-format + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "der SVE-Typ %qT kann nur an prototypisierte Funktionen übergeben werden" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "die Parameterübergabe für das Argument vom Typ %qT hat sich in GCC 13.1 geändert" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "die Parameterübergabe für das Argument vom Typ %qT hat sich in GCC 9.1 geändert" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, gcc-internal-format + msgid "%qE requires the SVE ISA extension" + msgstr "%qE benötigt die SVE-ISA-Erweiterung" + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, gcc-internal-format + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "Aufrufe von Funktionen vom Typ %qT erfordern die SVE-ISA-Erweiterung" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "Stapelsonde für SVE-Rahmen" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, gcc-internal-format + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "unbekanntes Flag wurde in %<-moverride=%s%> übergeben (%s)" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, gcc-internal-format + msgid "%qs string ill-formed" + msgstr "Zeichenkette %qs ist falsch geformt" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, gcc-internal-format + msgid "invalid format for %" + msgstr "ungültiges Format für %" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, gcc-internal-format + msgid "invalid % value: %d" + msgstr "ungültiger Wert für %: %d" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "Tuning-Zeichenkette fehlt in Option »%s«" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "unbekannte Tuning-Option »%s«" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "die Optionen %<-mstack-protector-guard=global%> und %<-mstack-protector-guard-offset=%s%> sind unverträglich" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90153 +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "wenn %<-mstack-protector-guard=sysreg%> angegeben ist, müssen sowohl %<-mstack-protector-guard-offset%> als auch %<-mstack-protector-guard-reg%> angegeben werden" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90154 +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, gcc-internal-format + msgid "specify a system register with a small string length" + msgstr "Systemregister mit einem kurzem Namen angeben" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "%qs ist in %qs kein gültiger Offset" + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "%<-fsanitize=shadow-call-stack%> erfordert %<-ffixed-x18%>" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "nur die Werte 12 (4 kB) und 16 (64 kB) werden für die Wächtergröße unterstützt. Der angegebene Wert %d (%llu kB) liegt außerhalb des gültigen Bereichs" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90155 +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "Größe des Stapelkollisionswächters %d muss gleich dem Sondierungsintervall %d sein" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "fehlender CPU-Name in %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, gcc-internal-format + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "unbekannter Feature-Modifizierer %qs in %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, gcc-internal-format + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "ungültiges Argument für %<-mharden-sls=%>" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291 +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "%qs muss für sich allein stehen, für %<-mharden-sls=%>" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, gcc-internal-format + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "ungültiges Argument %qs für %<-mharden-sls=%>" + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "fehlender Architekturname in %<-march=%s%>" + +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, gcc-internal-format + msgid "unknown value %qs for %<-march%>" + msgstr "unbekannter Wert %qs für %<-march%>" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, gcc-internal-format + msgid "did you mean %<-mcpu=%s%>?" + msgstr "meinten Sie %<-mcpu=%s%>?" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, gcc-internal-format + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "unbekannter Feature-Modifizierer %qs in %<-march=%s%>" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "fehlender CPU-Name in %<-mtune=%s%>" + +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, gcc-internal-format + msgid "unknown value %qs for %<-mtune%>" + msgstr "unbekannter Wert %qs für %<-mtune%>" + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, gcc-internal-format + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "Schalter %<-mcpu=%s%> steht mit dem Schalter %<-march=%s%> in Konflikt" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, gcc-internal-format + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "Assembler unterstützt %<-mabi=ilp32%> nicht" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "Signieren der Rückgabeadresse wird nur für %<-mabi=lp64%> unterstützt" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, gcc-internal-format + msgid "code model %qs with %<-f%s%>" + msgstr "Codemodell %qs mit %<-f%s%>" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, gcc-internal-format + msgid "code model %qs not supported in ilp32 mode" + msgstr "Codemodell %qs wird im ilp32-Modus nicht unterstützt" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "fehlender Name für Pragma oder Attribut %" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "ungültiger Name %qs für Pragma oder Attribut %" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, gcc-internal-format + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "ungültiger Featuremodifizierer %qs mit Wert %qs in Pragma oder Attribut %" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "fehlender Name für Pragma oder Attribut %" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "ungültiger Name %qs für Pragma oder Attribut %" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, gcc-internal-format + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "ungültiger Featuremodifizierer %qs mit Wert %qs in Pragma oder Attribut %" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, gcc-internal-format + msgid "missing argument to % pragma or attribute" + msgstr "fehlendes Argument für Pragma oder Attribut %" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, gcc-internal-format + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "ungültiger Schutztyp %qs in Pragma oder Attribut %" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "ungültiger Name %qs für Pragma oder Attribut %" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "fehlender Wert für Pragma oder Attribut %" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "falsch geformtes Pragma oder Attribut %" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "Pragma oder Attribut % akzeptiert keine Argumente" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "Pragma oder Attribut % erlaubt keine negierte Form" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "Pragma oder Attribut % ist nicht gültig" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "Argument für Attribut % ist keine Zeichenkette" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "der Arch-Erweiterung %qs sollte ein %<+%> vorangestellt werden" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "Pragma oder Attribut % ist nicht gültig" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "falsch geformtes Pragma oder Attribut %" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "die Parameterübergabe für das Argument vom Typ %qT mit %<[[no_unique_address]]%>-Elementen hat sich %{in GCC 10.1%} geändert" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "die Parameterübergabe für das Argument vom Typ %qT hat sich, sofern C++17 aktiviert ist, so geändert, dass es C++14 %{in GCC 10.1%} entspricht" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "die Parameterübergabe für das Argument vom Typ %qT hat sich %{mit GCC 12.1%} geändert" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "Spur %wd ist außerhalb des Wertebereiches %wd bis %wd" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, gcc-internal-format + msgid "unsupported simdlen %wd" + msgstr "nicht unterstützte simdlen %wd" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "GCC unterstützt derzeit keine Typen gemischter Größe für %-Funktionen" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, gcc-internal-format + msgid "GCC does not currently support return type %qT for % functions" + msgstr "GCC bietet derzeit keine Unterstützung für Rückgabetyp %qT für %-Funktionen" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, gcc-internal-format + msgid "unsupported return type %qT for % functions" + msgstr "nicht unterstützter Rückgabetyp %qT für %-Funktionen" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, gcc-internal-format + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "GCC bietet derzeit keine Unterstützung für Parametertyp %qT für %-Funktionen" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, gcc-internal-format + msgid "GCC does not currently support simdlen %wd for type %qT" + msgstr "GCC unterstützt derzeit % für Typ %qT nicht" +@@ -37692,13 +37687,13 @@ msgstr "Argument des Attributes %qE ist weder »ilink« oder »firq«" + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -37839,17 +37834,17 @@ msgstr "Argument des Attributs %qE wird ignoriert" + msgid "%qE attribute only applies to variables" + msgstr "Attribut %qE bezieht sich nur auf Variablen" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, gcc-internal-format + msgid "alternatives not allowed in % flag output" + msgstr "Alternativen sind in %-Flag-Ausgabe nicht erlaubt" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, gcc-internal-format + msgid "unknown % flag output %qs" + msgstr "unbekannte Ausgabe %qs des %-Schalters" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, gcc-internal-format + msgid "invalid type for % flag output" + msgstr "ungültiger Typ für %-Schalter-Ausgabe" +@@ -38059,7 +38054,7 @@ msgstr "Ziel-CPU unterstützt keine THUMB-Befehle" + msgid "target CPU does not support unaligned accesses" + msgstr "Ziel-CPU unterstützt keine unausgerichteten Zugriffe" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, gcc-internal-format + msgid "This architecture does not support branch protection instructions" + msgstr "Diese Architektur unterstützt keine Befehle mit Sprungschutz" +@@ -38114,7 +38109,7 @@ msgstr "Grenze für Strukturgröße kann nur auf 8 oder 32 gesetzt werden" + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "RTP PIC ist mit %<-msingle-pic-base%> unverträglich" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, gcc-internal-format + msgid "FDPIC mode is not supported in Thumb-1 mode" + msgstr "Der FDPIC-Modus wird im Thumb-1-Modus nicht unterstützt" +@@ -38220,7 +38215,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "Argument vom Typ %qT ist zusammen mit %<-mgeneral-regs-only%> nicht erlaubt" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "die Parameterübergabe für das Argument vom Typ %qT hat sich in GCC 7.1 geändert" +@@ -38271,32 +38266,32 @@ msgstr "Zugriff auf threadlokalen Speicher wird derzeit mit %<-mpure-code%> oder + msgid "%s %wd out of range %wd - %wd" + msgstr "»%s« %wd ist außerhalb des gültigen Bereichs von %wd bis %wd" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "Wirkliche Stelle des gestapelten Parameters kann nicht berechnet werden" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "Unexpected thumb1 far jump" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "keine unteren Register für das Hervorholen der hohen Register verfügbar" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, gcc-internal-format + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "Interrupt-Dienst-Routinen können nicht im »Thumb-1«-Modus codiert werden" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "%<-fstack-check=specific%> für Thumb-1" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, gcc-internal-format + msgid "invalid fpu for target attribute or pragma %qs" + msgstr "ungültige FPU für Zielattribut oder -pragma %qs" +@@ -38304,22 +38299,22 @@ msgstr "ungültige FPU für Zielattribut oder -pragma %qs" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "automatische FPU-Auswahl ist hier momentan nicht erlaubt" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, gcc-internal-format + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "Ungültige Architektur für Zielattribut oder -pragma %qs" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, gcc-internal-format + msgid "unknown target attribute or pragma %qs" + msgstr "Unbekanntes Zielattribut oder -pragma %qs" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, gcc-internal-format + msgid "% flags not supported in thumb1 mode" + msgstr "%-Schalter werden im Thumb1-Modus nicht unterstützt" +@@ -38393,17 +38388,17 @@ msgstr "%<-fpie%> wird nicht unterstützt" + msgid "%<-fPIE%> is not supported" + msgstr "%<-fPIE%> wird nicht unterstützt" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, gcc-internal-format + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "Funktionsattribute %qs und %qs schließen sich gegenseitig aus" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, gcc-internal-format + msgid "%qs function cannot have arguments" + msgstr "Funktion %qs kann keine Argumente haben" + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, gcc-internal-format + msgid "%qs function cannot return a value" + msgstr "Funktion %qs kann keinen Wert zurückgeben" +@@ -38718,7 +38713,7 @@ msgstr "ungültiges zweites Argument für eingebaute Funktion" + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, gcc-internal-format + msgid "invalid argument to built-in function" + msgstr "ungültiges Argument für eingebaute Funktion" +@@ -39311,751 +39306,751 @@ msgstr "Funktionsversionen können nicht als % markiert werden, Kö + msgid "virtual function multiversioning not supported" + msgstr "Multiversionierung virtueller Funktionen wird nicht unterstützt" + +-#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25106 + #, gcc-internal-format + msgid "multiversioning needs % which is not supported on this target" + msgstr "Multiversionierung erfordert %, was auf diesem Ziel nicht unterstützt wird" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" + msgstr "Codemodell %s unterstützt keinen PIC-Modus" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, gcc-internal-format + msgid "attribute %qs argument is not a string" + msgstr "Argument von Attribut %qs muss eine Zeichenkette sein" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, gcc-internal-format + msgid "attribute %qs argument %qs is unknown" + msgstr "beim Attribut %qs ist das Argument %qs unbekannt" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, gcc-internal-format + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "der Wert %qs wurde bereits im Attribut %qs angegeben" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, gcc-internal-format + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "Attributwert %qs ist im %qs-Attribut unbekannt" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, gcc-internal-format + msgid "wrong argument %qs to option %qs" + msgstr "falsches Argument %qs für Option %qs" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "Größenbereiche der Option %qs sollten aufsteigend sein" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" + msgstr "falscher Strategiename %qs für Option %qs angegeben" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "Strategiename %qs für Option %qs angegeben, wird jedoch für 32-Bit-Code nicht unterstützt" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" + msgstr "unbekannte Ausrichtung %qs für Option %qs angegeben" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "der Maximalwert für den letzten Größenbereich sollte für Option %qs -1 sein" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, gcc-internal-format + msgid "too many size ranges specified in option %qs" + msgstr "zu viele Größenbereiche in Option %qs angegeben" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "Unbekannter Parameter für Option %<-mtune-ctrl%>: %s" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "Intel-MCU-psABI wird im %s-Modus nicht unterstützt" + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "%<-mtune=x86-64%> ist veraltet; stattdessen entsprechend %<-mtune=k8%> oder %<-mtune=generic%> verwenden" + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "% ist veraltet; stattdessen entsprechend % oder % verwenden" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, gcc-internal-format + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "%<-mstringop-strategy=rep_8byte%> wird für 32-Bit-Code nicht unterstützt" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, gcc-internal-format + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "%<-muintr%> wird für 32-Bit-Code nicht unterstützt" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, gcc-internal-format + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "%<-mlam=%>-Option: [u48|u57] wird für 32-Bit-Code nicht unterstützt" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "Adressmodus %qs wird im %s-Bit-Modus nicht unterstützt" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, gcc-internal-format + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "%<-mabi=ms%> wird in der X32-ABI nicht unterstützt" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "%<-mabi=%s%> wird nicht zusammen mit %<-fsanitize=address%> unterstützt" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "%<-mabi=%s%> wird nicht zusammen mit %<-fsanitize=kernel-address%> unterstützt" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "%<-mabi=%s%> wird nicht zusammen mit %<-fsanitize=thread%> unterstützt" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "Codemodell %qs wird im %s-Bit-Modus nicht unterstützt" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "Codemodell %qs wird im x32-Modus nicht unterstützt" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, gcc-internal-format + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "%<-masm=intel%> wird in dieser Konfiguration nicht unterstützt" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "%i-Bit-Modus nicht einkompiliert" + +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "%-CPU kann nur für %<-mtune=%>-Schalter verwendet werden" + +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "%-CPU kann nur für %-Schalter verwendet werden" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "die CPU % kann nur für den Schalter %<-mtune=%> verwendet werden" + +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "die CPU % kann nur für das Attribut % verwendet werden" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "Die ausgewählte CPU unterstützt nicht den x86-64-Befehlssatz" + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, gcc-internal-format + msgid "bad value %qs for %<-march=%> switch" + msgstr "falscher Wert %qs für Schalter %<-march=%>" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "unbekannter Wert %qs für Attribut %" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "gültige Argumente für %<-march=%> sind: %s; meinten Sie %qs?" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "gültige Argumente für % sind: %s; meinten Sie %qs?" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "gültige Argumente für %<-march=%> sind: %s" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "gültige Argumente für % sind: %s" + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, gcc-internal-format + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "falscher Wert %qs für Schalter %<-mtune=%>" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "falscher Wert %qs für Attribut %" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "gültige Argumente für %<-mtune=%> sind: %s; meinten Sie %qs?" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "gültige Argumente für % sind: %s; meinten Sie %qs?" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "gültige Argumente für %<-mtune=%> sind: %s" + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "gültige Argumente für % sind: %s" + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "%<-mregparm%> wird im 64-Bit-Modus ignoriert" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "%<-mregparm%> wird für Intel-MCU-psABI ignoriert" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, gcc-internal-format + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "%<-mregparm=%d%> liegt nicht zwischen 0 und %d" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, gcc-internal-format + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "%<-m96bit-long-double%> ist nicht mit diesem Ziel kompatibel" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "%<-mrtd%> wird im 64-Bit-Modus ignoriert" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "% wird im 64-Bit-Modus ignoriert" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "%<-mpreferred-stack-boundary%> wird für dieses Ziel nicht unterstützt" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "%<-mpreferred-stack-boundary=%d%> liegt nicht zwischen %d und %d" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, gcc-internal-format + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "%<-mincoming-stack-boundary=%d%> liegt nicht zwischen %d und 12" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "%<-mnop-mcount%> ist nicht mit diesem Ziel kompatibel" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "%<-mnop-mcount%> ist für %<-fPIC%> nicht implementiert" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "%<-msseregparm%> verwendet, ohne dass SSE eingeschaltet ist" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "% verwendet, ohne dass SSE eingeschaltet ist" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "SSE-Befehlssatz ausgeschaltet, es wird 387-Arithmetik verwendet" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "387-Befehlssatz ausgeschaltet, es wird SSE-Arithmetik verwendet" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "Stapel-Überprüfung erfordert %<-maccumulate-outgoing-args%> für Korrektheit" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, gcc-internal-format + msgid "stack probing requires % for correctness" + msgstr "Stapel-Überprüfung erfordert % für Korrektheit" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "feststehendes ebp-Register erfordert %<-maccumulate-outgoing-args%>" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "feststehendes ebp-Register erfordert %" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "%<-mfentry%> wird für 32 Bit in Kombination mit %<-fpic%> nicht unterstützt" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, gcc-internal-format + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "%<-mno-fentry%> ist nicht mit SEH verträglich" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "%<-mcall-ms2sysv-xlogues%> wird derzeit nicht zusammen mit SEH unterstützt" + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, gcc-internal-format + msgid "unknown option for %<-mrecip=%s%>" + msgstr "unbekannte Option für %<-mrecip=%s%>" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, gcc-internal-format + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "%qs ist keine gültige Zahl in %<-mstack-protector-guard-offset=%>" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, gcc-internal-format + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "%qs ist kein gültiger Offset in %<-mstack-protector-guard-offset=%>" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, gcc-internal-format + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "%qs ist kein gültiges Basisregister in %<-mstack-protector-guard-reg=%>" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, gcc-internal-format + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "%<-fcf-protection%> ist nicht mit diesem Ziel kompatibel" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, gcc-internal-format + msgid "interrupt and naked attributes are not compatible" + msgstr "die Attribute % und % sind nicht kompatibel" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "Nur das DWARF-Debugformat ist für Interrupt-Service-Routinen unterstützt" + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, gcc-internal-format + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "%<-mindirect-branch=%s%> und %<-mcmodel=large%> sind nicht kompatibel" + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "%<-mindirect-branch%> und %<-fcf-protection%> sind nicht kompatibel" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, gcc-internal-format + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "%<-mfunction-return=%s%> und %<-mcmodel=large%> sind nicht kompatibel" + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "%<-mfunction-return%> und %<-fcf-protection%> sind nicht kompatibel" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "%s-Befehle sind in Exception-Serviceroutine nicht erlaubt" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "%s-Befehle sind in Interrupt-Serviceroutine nicht erlaubt" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "%s-Befehle sind in Funktionen mit %-Attribut nicht erlaubt" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "Attribute fastcall und regparm sind nicht verträglich" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "Attribute regparam und thiscall sind nicht verträglich" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "Attribut %qE benötigt eine Ganzzahlkonstante als Argument" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "Argument für Attribut %qE ist größer als %d" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "Attribute fastcall und cdecl sind nicht verträglich" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "Attribute fastcall und stdcall sind nicht verträglich" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "Attribute fastcall und thiscall sind nicht verträglich" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "Attribute stdcall und cdecl sind nicht verträglich" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "Attribute stdcall und fastcall sind nicht verträglich" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "Attribute stdcall und thiscall sind nicht verträglich" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "Attribute cdecl und thiscall sind nicht verträglich" + +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, gcc-internal-format + msgid "%qE attribute is used for non-class method" + msgstr "Attribut %qE wird für Nicht-Klassen-Methode verwendet" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, gcc-internal-format + msgid "%qE incompatible attribute ignored" + msgstr "%qE-inkompatibles Attribut wird ignoriert" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, gcc-internal-format + msgid "%qE attribute only available for 32-bit" + msgstr "Attribut %qE nur für 32 Bit verfügbar" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, gcc-internal-format + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "Argument des Attributes %qE ist weder Null noch Eins" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, gcc-internal-format + msgid "%qs and %qs attributes are not compatible" + msgstr "Attribute %qs und %qs sind nicht verträglich" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "Attribut %qE erfordert eine Zeichenkettenkonstante als Argument" + +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, gcc-internal-format + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "Argument des Attributes %qE ist nicht (keep|thunk|thunk-inline|thunk-extern)" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "in Interrupt-Service-Routinen sollte das erste Argument ein Zeiger sein" + +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, gcc-internal-format + msgid "interrupt service routine should have %qs as the second argument" + msgstr "in Interrupt-Service-Routinen sollte das zweite Argument vom Typ %qs sein" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "Interrupt-Service-Routine darf nur ein Zeiger- und ein optionales Ganzzahl-Argument haben" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, gcc-internal-format + msgid "interrupt service routine must return %" + msgstr "Interrupt-Service-Routine muss den Rückgabetyp % haben" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, gcc-internal-format + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "Aufruf von %qD mit Attribut sseregparam, ohne dass SSE/SSE2 eingeschaltet ist" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, gcc-internal-format + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "Aufruf von %qT mit Attribut sseregparam, ohne dass SSE/SSE2 eingeschaltet ist" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, gcc-internal-format + msgid "X32 does not support % attribute" + msgstr "X32 unterstützt %-Attribut nicht" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, gcc-internal-format + msgid "% attribute is not compatible with nested function" + msgstr "Attribut % ist mit geschachtelter Funktion nicht verträglich" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, gcc-internal-format + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "AVX512F-Vektorargument ohne eingeschaltetes AVX512F ändert das ABI" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, gcc-internal-format + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "AVX512F-Vektorrückgabe ohne eingeschaltetes AVX512F ändert das ABI" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, gcc-internal-format + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "AVX-Vektorargument ohne eingeschaltetes AVX ändert das ABI" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, gcc-internal-format + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "AVX-Vektorrückgabe ohne eingeschaltetes AVX ändert das ABI" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "SSE-Vektorargument ohne eingeschaltetes SSE ändert das ABI" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "SSE-Vektorrückgabe ohne eingeschaltetes SSE ändert das ABI" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "MMX-Vektorargument ohne eingeschaltetes MMX ändert das ABI" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "MMX-Vektorrückgabe ohne eingeschaltetes MMX ändert das ABI" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "Das ABI der Struct-Übergabe mit einem flexiblen Arrayelement hat sich in GCC 4.4 geändert" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, gcc-internal-format + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "das ABI der Union-Übergabe mit % hat sich in GCC 4.4 geändert" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, gcc-internal-format + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "das ABI der Strukturübergabe mit %-Element hat sich in GCC 4.4 geändert" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "das ABI der C-Strukturübergabe mit Bitfeldern der Breite 0 hat sich in GCC %{12.1%} geändert" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "SSE-Registerrückgabe mit SSE ausgeschaltet" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "SSE-Registerargument mit SSE ausgeschaltet" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "x87-Registerrückgabe mit ausgeschaltetem x87" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, gcc-internal-format + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "Aufruf von %qD mit SSE-Aufrufkonvention, ohne dass SSE/SSE2 eingeschaltet ist" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "dies ist ein GCC-Bug; ein Workaround ist, die aufgerufene Funktion mit dem »used«-Attribut zu markieren" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, gcc-internal-format, gfc-internal-format + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "Das ABI der Parameterübergabe mit %d-Byte-Ausrichtung hat sich in GCC 4.6 geändert" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90163 +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "%<-mcall-ms2sysv-xlogues%> ist nicht kompatibel mit %<%s%>" + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, gcc-internal-format + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "Attribut % ist mit %<-mfentry%> für 32 Bit nicht verträglich" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "Dynamic Realign Argument Pointer (DRAP) wird in Interrupt-Service-Routinen nicht unterstützt. Ein Workaround ist, Funktionen mit Aggregat-Rückgabetypen zu vermeiden." + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, gcc-internal-format + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "Stapel-Neuausrichtung mit %<__builtin_eh_return%> wird nicht unterstützt" + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, gcc-internal-format + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "geschachtelte Funktion mit regparm wird mit %<__builtin_eh_return%> nicht unterstützt" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "%<-fsplit-stack%> unterstützt nicht fastcall mit geschachtelter Funktion" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" + msgstr "%<-fsplit-stack%> unterstützt nicht 2 Registerparameter für eine geschachtelte Funktion" + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "%<-fsplit-stack%> unterstützt nicht 3 Registerparameter" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, gcc-internal-format + msgid "% modifier on non-integer register" + msgstr "%-Modifikator an nicht-ganzzahligem Register" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, gcc-internal-format + msgid "unsupported size for integer register" + msgstr "nicht unterstützte Größe für Ganzzahlregister" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "erweiterte Register haben keine oberen Hälften" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "nicht unterstützte Operandengröße für erweitertes Register" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, gcc-internal-format + msgid "non-integer operand used with operand code %" + msgstr "Nicht-Ganzzahl-Operand mit Operandencode % verwendet" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90164 +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "das ABI zum Übergeben von leeren Klassen (%qT) als Parametern hat sich mit %<-fabi-version=12%> (GCC 8) geändert" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "die Ausrichtung von %<_Atomic %T%>-Feldern wurde mit %{GCC 11.1%} geändert" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, gcc-internal-format + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "Profiling von %<-mcmodel=large%> wird mit PIC nicht unterstützt" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "Unbekanntes architekturspezifisches Speichermodell" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "% wird mit % oder stärkerem Speichermodell nicht verwendet" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "% wird mit % oder stärkerem Speichermodell nicht verwendet" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "nicht unterstützter Rückgabetyp %qT für SIMD" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, gcc-internal-format + msgid "unsupported argument type %qT for simd" + msgstr "nicht unterstützter Argumenttyp %qT für SIMD" + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, gcc-internal-format + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" + msgstr "%<-fexcess-precision=16%> ist nicht mit %<-mfpmath=387%> kompatibel" +@@ -40400,7 +40395,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "%qE mit in Konflikt stehenden Attributen %qs redeklariert" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, gcc-internal-format + msgid "%qE attribute requires a string argument" + msgstr "Attribut %qE erfordert eine Zeichenkettenkonstante als Argument" +@@ -41525,52 +41520,52 @@ msgstr "%<#pragma riscv intrinsic%>-Option %qs erfordert, dass die Erweiterung ' + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "unbekannte Option %qs für %<#pragma riscv intrinsic%>" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, gcc-internal-format + msgid "RVV type %qT does not have a fixed size" + msgstr "der RVV-Typ %qT hat keine feste Größe" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, gcc-internal-format + msgid "RVV type %qT does not have a defined alignment" + msgstr "der RVV-Typ %qT hat keine definierte Ausrichtung" + +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, gcc-internal-format + msgid "arithmetic on pointer to RVV type %qT" + msgstr "Arithmetik mit Zeiger auf RVV-Typen %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "Membervariablen können nicht vom RVV-Typ %qT sein" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, gcc-internal-format + msgid "fields cannot have RVV type %qT" + msgstr "Felder können nicht vom RVV-Typ %qT sein" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, gcc-internal-format + msgid "array elements cannot have RVV type %qT" + msgstr "Arrayelemente können nicht vom RVV-Typ %qT sein" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, gcc-internal-format + msgid "cannot allocate objects with RVV type %qT" + msgstr "Objekte vom RVV-Typ %qT können nicht alloziert werden" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, gcc-internal-format + msgid "cannot delete objects with RVV type %qT" + msgstr "Objekte vom RVV-Typ %qT können nicht gelöscht werden" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, gcc-internal-format + msgid "cannot throw or catch RVV type %qT" + msgstr "der RVV-Typ %qT kann weder geworfen noch gefangen werden" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, gcc-internal-format + msgid "capture by copy of RVV type %qT" + msgstr "der RVV-Typ %qT kann nicht durch Kopieren gefangen werden" +@@ -41590,71 +41585,66 @@ msgstr "diese Operation erfordert die RVV-ISA-Erweiterung" + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "Sie können RVV mit der Befehlszeilenoption %<-march%>, oder mit dem Attribut % oder Pragma aktivieren" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, gcc-internal-format + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "ABI für abgeflachte Struktur mit Bit-Feldern der Länge 0 hat wurde mit GCC 10 geändert" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, gcc-internal-format + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "Argument des Attributs %qE muss %<\"user\"%>, %<\"supervisor\"%> oder %<\"machine\"%> sein" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, gcc-internal-format + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "%<-mdiv%> erfordert %<-march%>, um die %-Erweiterung zu ermitteln" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, gcc-internal-format + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "die angeforderte ABI erfordert %<-march%>, um die %qc-Erweiterung zu ermitteln" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "rv32e erfordert die ilp32e-ABI" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "z*inx erfordert ABI ilp32, ilp32e oder lp64" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, gcc-internal-format + msgid "ABI requires %<-march=rv%d%>" + msgstr "ABI erfordert %<-march=rv%d%>" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "%<-mpreferred-stack-boundary=%d%> muss zwischen %d und %d liegen" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "%<-mriscv-attribute%> RISC-V-ELF-Attribut erfordert GNU as 2.32 [%<-mriscv-attribute%>]" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, gcc-internal-format + msgid "%qs is not a valid base register in %qs" + msgstr "%qs ist in %qs kein gültiges Basisregister" + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, gcc-internal-format + msgid "%qs is not a valid number in %qs" + msgstr "%qs ist in %qs keine gültige Zahl" + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, gcc-internal-format + msgid "%qs function cannot have different interrupt type" + msgstr "%qs-Funktion kann keine andere Interrupt-Art haben" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "vl-Register für %qs kann auf diesem Ziel nicht alloziert werden" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, gcc-internal-format +@@ -42124,97 +42114,97 @@ msgstr "%qs ist veraltet und wird unter keinen Umständen empfohlen" + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "%qs ist ein undurchsichtiger Typ, und Sie können ihn nicht auf andere Werte setzen" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "kein Profiling von 64-bit-Code für dieses ABI" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, gcc-internal-format + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "Bei Verwendung der Option %qs kann die Adresse von geschachtelten Funktionen nicht verwendet werden" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "Verwendung von % in AltiVec-Typen ist ungültig" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "Verwendung boolescher Typen in AltiVec-Typen ist ungültig" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "Verwendung von % in AltiVec-Typen ist ungültig" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, gcc-internal-format + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "Verwendung dezimaler Gleitkommatypen in AltiVec-Typen ist ungültig" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "Verwendung von % in AltiVec-Typen ist für 64-Bit-Code ohne %qs ungültig" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "Verwendung von % in AltiVec-Typen ist veraltet; % verwenden" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "Verwendung von % in AltiVec-Typen ist ohne %qs ungültig" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "Verwendung von % in AltiVec-Typen ist ohne %qs ungültig" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, gcc-internal-format + msgid "invalid cpu %qs for %s%qs%s" + msgstr "ungültige CPU %qs für %s%qs%s" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, gcc-internal-format + msgid "%s%qs%s is not allowed" + msgstr "%s%qs%s ist nicht erlaubt" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, gcc-internal-format + msgid "%s%qs%s is invalid" + msgstr "%s%qs%s ist ungültig" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "%<-mno-%s%> schaltet %<-m%s%> aus" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "das Attribut % erfordert GLIBC (2.23 oder neuer), die Hardware-Fähigkeits-Bits exportiert" + +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, gcc-internal-format + msgid "Virtual function multiversioning not supported" + msgstr "Multiversionierung virtueller Funktionen wird nicht unterstützt" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "das Ergebnis des Befehls xxspltidp ist für denormalisierte Eingabewerte undefiniert" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, gcc-internal-format + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "Typ %<__vector_quad%> erfordert die Option %qs" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, gcc-internal-format + msgid "type %<__vector_pair%> requires the %qs option" + msgstr "Typ %<__vector_pair%> erfordert die Option %qs" +@@ -43613,7 +43603,7 @@ msgstr "Objekt mit volatile-Feld kann nicht in Register geladen werden" + msgid "uninitialized % is invalid in C++" + msgstr "nicht initialisiertes % ist in C++ ungültig" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "%q+D in »declare target«-Direktive hat keinen zuordenbaren Typ" +@@ -43798,7 +43788,7 @@ msgstr "Speicherklasse für Parameter %qE angegeben" + msgid "storage class specified for unnamed parameter" + msgstr "Speicherklasse für unbenannten Parameter angegeben" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "Speicherklasse für Typnamen angegeben" +@@ -43967,7 +43957,7 @@ msgstr "Typname als Funktion, die ein Array zurückgibt, deklariert" + msgid "function definition has qualified void return type" + msgstr "Funktionsdefinition hat qualifizierten void-Rückgabetypen" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "Typkennzeichner an Funktions-Rückgabewert ignoriert" +@@ -44094,7 +44084,7 @@ msgstr "ISO-C verbietet const- oder volatile-Funktionstypen" + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "Ein Element einer Struktur oder Union kann nicht variabel modifizierten Typ haben" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "Variable oder Feld %qE als »void« deklariert" +@@ -44294,7 +44284,7 @@ msgstr "Typdefinition in Ausdruck %qs ist in C++ ungültig" + msgid "%qT defined in underspecified object initializer" + msgstr "%qT wurde in unvollständig angegebenem Objektinitialisierer definiert" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "Deklaration deklariert nichts" +@@ -44344,7 +44334,7 @@ msgstr "struct hat keine benannten Elemente" + msgid "struct has no members" + msgstr "struct hat keine Elemente" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, gcc-internal-format + msgid "flexible array member in union" + msgstr "flexibles Arrayelement in Union" +@@ -44389,7 +44379,7 @@ msgstr "Redeklaration von %" + msgid "% declared with but defined without fixed underlying type" + msgstr "% deklariert aber ohne festen zugrundeliegenden Typen definiert" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, gcc-internal-format + msgid "specified mode too small for enumerated values" + msgstr "angegebener Modus zu klein für Aufzählungswerte" +@@ -44434,7 +44424,7 @@ msgstr "Aufzählungswert ist außerhalb des Gültigkeitsbereichs von %qs" + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "ISO C vor C2X beschränkt Aufzählungswerte auf den Bereich von %" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, gcc-internal-format + msgid "inline function %qD given attribute %qs" + msgstr "der inline-Funktion %qD wurde das Attribut %qs gegeben" +@@ -44464,7 +44454,7 @@ msgstr "kein vorheriger Prototyp für %qD" + msgid "%qD was used with no prototype before its definition" + msgstr "%qD wurde vor seiner Definition ohne Prototyp verwendet" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, gcc-internal-format + msgid "no previous declaration for %qD" + msgstr "keine vorherige Deklaration für %qD" +@@ -44579,12 +44569,12 @@ msgstr "Argument %qD passt nicht zu eingebautem Prototypen" + msgid "argument %qD doesn%'t match prototype" + msgstr "Argument %qD passt nicht zum Prototypen" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "keine return-Anweisung in nicht void zurückgebender Funktion" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, gcc-internal-format + msgid "parameter %qD set but not used" + msgstr "Parameter %qD gesetzt, jedoch nicht verwendet" +@@ -46597,7 +46587,7 @@ msgstr "nicht genügend perfekt geschachtelte Schleifen" + msgid "collapsed loops not perfectly nested" + msgstr "zusammengelegte Schleifen sind nicht perfekt geschachtelt" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "Schleifenvariable %qD sollte nicht »firstprivate« sein" +@@ -46727,12 +46717,12 @@ msgstr "% erwartet" + msgid "variant %qD is not a function" + msgstr "Variante %qD ist keine Funktion" + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, gcc-internal-format + msgid "variant %qD and base %qD have incompatible types" + msgstr "Variante %qD und Basis %qD haben unverträgliche Typen" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "die Variante %qD ist eine eingebaute" +@@ -46993,7 +46983,7 @@ msgstr "falsche Verwendung eines void-Ausdruckes" + msgid "invalid use of flexible array member" + msgstr "falsche Verwendung eines flexiblen Arrayelements" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "falsche Verwendung eines Arrays mit unbekannten Grenzen" +@@ -47943,12 +47933,12 @@ msgstr "%-Initialisierer für einen reellen Typen hat komplexen Typ" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "%-Initialisierer für einen binären Gleitkommatypen hat dezimalen Typ" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "Initialisierung eines flexiblen Array-Elements" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, gcc-internal-format + msgid "cannot initialize array of %qT from a string literal with type array of %qT" + msgstr "Array von %qT kann nicht aus einem Zeichenkettenliteral mit Typ % initialisiert werden" +@@ -47989,7 +47979,7 @@ msgstr "Initialisierungs-Element ist zur Lade-Zeit nicht berechenbar" + msgid "invalid initializer" + msgstr "ungültige Initialisierung" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "opake Vektortypen können nicht initialisiert werden" +@@ -48004,8 +47994,8 @@ msgstr "zusätzliche geschweifte Klammern am Ende der Initialisierung" + msgid "braces around scalar initializer" + msgstr "geschweifte Klammern um Skalar-Initialisierung" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "Initialisierung eines flexiblen Array-Elements in geschachteltem Kontext" +@@ -48095,7 +48085,7 @@ msgstr "Elementüberschreitung in struct-Initialisierung" + msgid "positional initialization of field in % declared with % attribute" + msgstr "positionelle Initialisierung eines Feldes in %, die mit dem %-Attribut deklariert wurde" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "nicht-statische Initialisierung eines flexiblen Arrayelements" +@@ -49438,7 +49428,7 @@ msgstr "kein geeignetes % für %qT" + msgid "%q#D is private within this context" + msgstr "%q#D ist in diesem Zusammenhang »private«" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, gcc-internal-format + msgid "declared private here" + msgstr "hier als »private« deklariert" +@@ -49448,7 +49438,7 @@ msgstr "hier als »private« deklariert" + msgid "%q#D is protected within this context" + msgstr "%q#D ist in diesem Zusammenhang »protected«" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, gcc-internal-format + msgid "declared protected here" + msgstr "hier als »protected« deklariert" +@@ -49463,7 +49453,7 @@ msgstr "%q#D ist in diesem Zusammenhang unzugänglich" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "Übergabe von NULL an Nicht-Zeiger-Argument %P von %qD" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, gcc-internal-format + msgid " declared here" +@@ -49792,7 +49782,7 @@ msgstr "keine passende Funktion für Aufruf von %<%T::%s%E(%A)%#V%>" + msgid "call to non-function %qD" + msgstr "Aufruf der Nicht-Funktion %qD" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "Konstruktor %<%T::%D%> kann nicht direkt aufgerufen werden" +@@ -50361,7 +50351,7 @@ msgstr "flexibles Arrayelement %qD in ansonsten leerem %q#T" + msgid "next member %q#D declared here" + msgstr "nächstes Feld %q#D hier deklariert" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "Redefinition von %q#T" +@@ -50482,7 +50472,7 @@ msgstr "ungültiger Typ für Parameter %d der %-Funktion %q+#D" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "Lambdas sind erst ab C++17 implizit %" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, gcc-internal-format + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "%-Destruktoren sind erst ab %<-std=c++20%> oder %<-std=gnu++20%> verfügbar" +@@ -50551,7 +50541,7 @@ msgstr "%qE wird zu »false« ausgewertet" + msgid "failed % attribute assumption" + msgstr "%-Attribut-Annahme fehlgeschlagen" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, gcc-internal-format + msgid "call to internal function %qE" +@@ -50598,7 +50588,7 @@ msgstr "%qT ist eine mehrdeutige Basisklasse des dynamischen Typen %qT seines Op + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "der dynamische Typ %qT des Operanden hat keine eindeutige öffentliche Basisklasse %qT" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, gcc-internal-format + msgid "call to non-% function %qD" +@@ -50722,7 +50712,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "Dereferenzierung eines Nullzeigers in %qE" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -50821,7 +50811,7 @@ msgstr "%qs greift auf das uninitialisierte Byte an Offset %d zu" + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "%qs kann nicht als konstanter Ausdruck ausgewertet werden, da das Argument nicht interpretiert werden kann" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, gcc-internal-format + msgid "dereferencing a null pointer" +@@ -50897,7 +50887,7 @@ msgstr "Änderung des aktiven Elements einer union von %qD zu %qD" + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "Änderung des aktiven Elements einer union von %qD zu %qD während der Initialisierung" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, gcc-internal-format + msgid "statement is not a constant expression" +@@ -50963,189 +50953,189 @@ msgstr "der Programmfluss geht durch die Definition von %qD mit thread-lokaler S + msgid "control passes through definition of %qD with static storage duration" + msgstr "der Programmfluss geht durch die Definition von %qD mit statischer Speicherdauer" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, gcc-internal-format + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "Zwischenergebnis des nicht-literalen Typs %qT in konstantem Ausdruck" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "Ein % ist kein konstanter Ausdruck" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, gcc-internal-format + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "Umwandlung von Zeigertyp %qT in arithmetischen Typ %qT in Konstantenausdruck" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, gcc-internal-format + msgid "cast from %qT is not allowed" + msgstr "Cast von %qT ist nicht erlaubt" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, gcc-internal-format + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "%qE ist kein konstanter Ausdruck, solange die Klasse %qT noch unvollständig ist" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, gcc-internal-format + msgid "%(%E)%> is not a constant expression" + msgstr "%(%E)%> ist kein Konstantenausdruck" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, gcc-internal-format + msgid "expression %qE is not a constant expression" + msgstr "Ausdruck %qE ist kein Konstantenausdruck" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "% ist kein Konstantenausdruck" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, gcc-internal-format + msgid "contract predicate is false in constant expression" + msgstr "Vertragsbedingung ist false in konstantem Ausdruck" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, gcc-internal-format + msgid "unexpected template-id %qE" + msgstr "unerwartete Template-ID %qE" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, gcc-internal-format + msgid "function concept must be called" + msgstr "Funktionskonzept muss aufgerufen werden" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, gcc-internal-format + msgid "address of a call to %qs is not a constant expression" + msgstr "Adresse des Aufrufs von %qs ist kein konstanter Ausdruck" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, gcc-internal-format + msgid "unexpected expression %qE of kind %s" + msgstr "unexpected expression %qE of kind %s" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "%qE ist kein Konstantenausdruck, da er auf veränderliche Teilobjekte von %qT verweist" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "%qE ist kein Konstantenausdruck, da er auf eine unvollständig initialisierte Variable verweist" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "%qE ist kein konstanter Ausdruck, da er auf das Ergebnis von % verweist" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, gcc-internal-format + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "%qE ist kein konstanter Ausdruck, da der angeforderte Speicher nicht vollständig freigegeben wurde" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "unmittelbare Auswertung liefert die Adresse der unmittelbaren Funktion %qD" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, gcc-internal-format + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "Umwandlung lvalue-in-rvalue eines volatile-lvalue %qE mit Typ %qT" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, gcc-internal-format + msgid "lambda capture of %qE is not a constant expression" + msgstr "Lambda-Einfangen von %qE ist kein konstanter Ausdruck" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "da er als glvalue verwendet wird" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, gcc-internal-format + msgid "% from integer to pointer" + msgstr "% von Ganzzahl zu Zeiger" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "Adresse eines Objektes %qE mit thread-lokalem oder automatischem Speicher ist kein konstanter Ausdruck" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, gcc-internal-format + msgid "use of % in a constant expression" + msgstr "Verwendung von % in Konstantenausdruck" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, gcc-internal-format + msgid "lambda-expression is not a constant expression before C++17" + msgstr "Lambda-Ausdruck ist erst ab C++17 ein konstanter Ausdruck" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, gcc-internal-format + msgid "new-expression is not a constant expression before C++20" + msgstr "new-expression ist erst ab C++20 ein konstanter Ausdruck" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, gcc-internal-format + msgid "virtual functions cannot be % before C++20" + msgstr "virtuelle Funktionen können erst mit C++20 % sein" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, gcc-internal-format + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "% ist kein konstanter Ausdruck, da %qE polymorphen Typ hat" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, gcc-internal-format + msgid "cast to non-integral type %qT in a constant expression" + msgstr "Umwandlung in Nicht-Ganzzahltyp %qT in konstantem Ausdruck" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "%qD in %-Kontext als % definiert" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "%qD in %-Kontext als % definiert" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, gcc-internal-format + msgid "division by zero is not a constant expression" + msgstr "Division durch Null ist kein konstanter Ausdruck" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "% ist kein Konstantenausdruck" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, gcc-internal-format + msgid "neither branch of % is a constant expression" + msgstr "keiner der Zweige des % ist ein Konstantenausdruck" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, gcc-internal-format + msgid "non-constant array initialization" + msgstr "nicht konstante Arrayinitialisierung" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, gcc-internal-format + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "Definition einer Sprungmarke innerhalb einer %-Funktion ist erst ab %<-std=c++2b%> oder %<-std=gnu++2b%> verfügbar" + +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, gcc-internal-format, gfc-internal-format + msgid "unexpected AST of kind %s" + msgstr "unerwarteter AST der Art %s" +@@ -51720,7 +51710,7 @@ msgstr "der Versprechens-Typ %qT der Koroutine deklariert sowohl % declared here" + msgstr "% wurde hier deklariert" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, gcc-internal-format + msgid "no member named %qE in %qT" + msgstr "kein Mitglied namens %qE in %qT" +@@ -51812,7 +51802,7 @@ msgstr "das Richtungsargument für %<__builtin_coro_promise%> muss eine Konstant + msgid "no suspend point info for %qD" + msgstr "keine Informationen zum Aufschiebepunkt für %qD" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "%qE wird von %qT bereitgestellt, ist aber nicht mit der Funktionssignatur %qD verwendbar" +@@ -51832,23 +51822,23 @@ msgstr "await-Ausdrücke sind in Handlern nicht erlaubt" + msgid "variable length arrays are not yet supported in coroutines" + msgstr "Arrays mit variabler Länge werden in Koroutinen noch nicht unterstützt" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "%qE wird von %qT bereitgestellt, aber %qE ist nicht mit % oder % gekennzeichnet" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "%qE ist mit % oder % markiert, aber %qT liefert kein brauchbares %" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "%qE wird von %qT bereitgestellt, aber % wurde nicht gefunden" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, gcc-internal-format + msgid "cannot initialize a return object of type %qT with an rvalue of type %" + msgstr "ein Rückgabeobjekt vom Typ %qT kann nicht mit einem r-Wert vom Typ % initialisiert werden" +@@ -52329,7 +52319,7 @@ msgstr "von vorheriger Deklaration %qF" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "Redeklaration %qD unterscheidet sich in %qs von vorheriger Deklaration" + +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, gcc-internal-format + msgid "previous declaration %qD" + msgstr "vorherige Deklaration %qD" +@@ -52729,2275 +52719,2275 @@ msgstr "%qD ist eine Funktion, kein Typ" + msgid "%q#T is not a class" + msgstr "%q#T ist keine Klasse" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "kein Klassentemplate namens %q#T in %q#T" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, gcc-internal-format + msgid "no type named %q#T in %q#T" + msgstr "kein Typ namens %q#T in %q#T" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, gcc-internal-format + msgid "lookup of %qT in %qT is ambiguous" + msgstr "Nachschlagen von %qT in %qT ist nicht eindeutig" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "% benennt %q#T, was kein Klassentemplate ist" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, gcc-internal-format + msgid "% names %q#D, which is not a type" + msgstr "% benennt %q#D, das ist jedoch kein Typ" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, gcc-internal-format + msgid "template parameters do not match template %qD" + msgstr "Template-Parameter passen nicht zum Template %qD" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, gcc-internal-format + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "%<-faligned-new=%d%> ist keine Zweierpotenz" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "%<--param destructive-interference-size=%d%> ist kleiner als %d" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "%<--param destructive-interference-size=%d%> ist kleiner als %<--param l1-cache-line-size=%d%>" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "%<--param constructive-interference-size=%d%> ist kleiner als %d" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "%<--param constructive-interference-size=%d%> ist größer als %<--param l1-cache-line-size=%d%>" + +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, gcc-internal-format + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "%q#D ungültig; eine anonyme Union kann nur nicht-statische Datenelemente haben" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "diese Flexibilität ist veraltet und wird demnächst entfernt" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, gcc-internal-format + msgid "anonymous struct with base classes" + msgstr "anonyme Struktur mit Basisklassen" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "Element %q+#D mit Konstruktor in anonymem Aggregat nicht erlaubt" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "Element %q+#D mit Destruktor in anonymem Aggregat nicht erlaubt" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "Element %q+#D mit Zuweisungsoperator ist in anonymem Aggregt nicht erlaubt" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, gcc-internal-format + msgid "attribute ignored in declaration of %q#T" + msgstr "Attribut in Deklaration von %q#T ignoriert" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, gcc-internal-format + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "Attribut für %q#T muss dem Schlüsselwort %qs folgen" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "mehrere Typen in einer Deklaration" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "Redeklaration des eingebauten C++-Typs %qT" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, gcc-internal-format + msgid "% can only be specified for variables or function declarations" + msgstr "% kann nur für Variablen oder Funktionsdeklarationen angegeben werden" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "fehlender Typname in typedef-Deklaration" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "ISO-C++ verbietet anonyme structs" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "% kann nur für Funktionen angegeben werden" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "% kann nur für Funktionen angegeben werden" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "% kann nur innerhalb einer Klasse angegeben werden" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "% kann nur für Konstruktoren angegeben werden" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "eine Speicherklasse kann nur für Objekte und Funktionen angegeben werden" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "% kann nur für Objekte und Funktionen angegeben werden" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "% kann nur für Objekte und Funktionen angegeben werden" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, gcc-internal-format + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "%<__restrict%> kann nur für Objekte und Funktionen angegeben werden" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, gcc-internal-format + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "%<__thread%> kann nur für Objekte und Funktionen angegeben werden" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, gcc-internal-format + msgid "% was ignored in this declaration" + msgstr "% wurde in dieser Deklaration ignoriert" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, gcc-internal-format + msgid "%qs cannot be used for type declarations" + msgstr "%qs kann nicht für Typdeklarationen verwendet werden" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, gcc-internal-format + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "Attribut in expliter Instanziierung %q#T ignoriert" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, gcc-internal-format + msgid "no attribute can be applied to an explicit instantiation" + msgstr "auf explizite Instanziierung kann kein Attribut angewendet werden" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, gcc-internal-format + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "auf Klassentyp %qT angewandte Attribute außerhalb einer Definition werden ignoriert" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "auf abhängigen Typ %qT angewandte Attribute ohne zugehörige Deklaration werden ignoriert" + +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, gcc-internal-format + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "typedef %qD ist initialisiert (stattdessen %qs verwenden)" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "Deklaration von %q#D hat % und ist initialisiert" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "Definition von %q#D ist als % markiert" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, gcc-internal-format + msgid "%q+#D is not a static data member of %q#T" + msgstr "%q+#D ist kein static-Datenelement von %q#T" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, gcc-internal-format + msgid "non-member-template declaration of %qD" + msgstr "Nichtelement-Templatedeklaration von %qD" + +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, gcc-internal-format + msgid "does not match member template declaration here" + msgstr "entspricht nicht der Element-Templatedeklaration hier" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "ISO-C++ erlaubt nicht, %<%T::%D%> als %<%T::%D%> zu definieren" + +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "doppelte Initialisierung von %qD" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "Deklaration von %q#D außerhalb einer Klasse ist keine Definition" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "extern-Deklaration %q#D mit Gültigkeitsbereich Block ist im Zuständigkeitsbereich des Moduls nicht erlaubt" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "%qD kann in einer %qs-Funktion erst ab %<-std=c++2b%> oder %<-std=gnu++2b%> als % definiert werden" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "%qD kann in einer %qs-Funktion erst ab %<-std=c++2b%> oder %<-std=gnu++2b%> als % definiert werden" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "Variable %q#D hat Initialisierung, aber unvollständigen Typ" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "Elemente des Arrays %q#D haben unvollständigen Typ" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "Aggregat %q#D hat unvollständigen Typ und kann nicht definiert werden" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "%qD als Referenz deklariert, aber nicht initialisiert" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, gcc-internal-format + msgid "name used in a GNU-style designated initializer for an array" + msgstr "Name in benannter Initialisierung im GNU-Stil für ein Array verwendet" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "Name %qD in benannter Initialisierung im GNU-Stil für ein Array verwendet" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "nicht-trivial markierte Initialisierungen nicht unterstützt" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, gcc-internal-format + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "C99-Designator %qE ist kein konstanter Ganzzahlausdruck" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "Initialisierung gibt nicht die Größe von %qD an" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, gcc-internal-format + msgid "array size missing in %qD" + msgstr "Arraygröße fehlt in %qD" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, gcc-internal-format + msgid "zero-size array %qD" + msgstr "Array %qD der Größe null" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, gcc-internal-format + msgid "storage size of %qD isn%'t known" + msgstr "Speichergröße von %qD ist unbekannt" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, gcc-internal-format + msgid "storage size of %qD isn%'t constant" + msgstr "Speichergröße von %qD ist nicht konstant" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, gcc-internal-format + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "Entschuldigung: Semantik der Inline-Variable %q#D ist falsch (mehrere Kopien wären die Folge)" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, gcc-internal-format + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "Entschuldigung: Semantik von static-Variable %q#D in inline-Funktion ist falsch (mehrere Kopien wären die Folge)" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, gcc-internal-format + msgid "you can work around this by removing the initializer" + msgstr "dies kann durch das Löschen der Initialisierung umgangen werden" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, gcc-internal-format + msgid "uninitialized %" + msgstr "nicht initialisiertes %" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, gcc-internal-format + msgid "uninitialized variable %qD in % function" + msgstr "uninitialisierte Variable %qD in %-Funktion" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, gcc-internal-format + msgid "uninitialized variable %qD in % context" + msgstr "uninitialisierte Variable %qD in %-Kontext" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, gcc-internal-format + msgid "%q#T has no user-provided default constructor" + msgstr "%q#T hat keinen benutzerdefinierten Default-Konstruktor" + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "Konstruktor ist nicht benutzerdefiniert, da er im Klassenkörper ausdrücklich standardisiert ist" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "und der implizit definierte Konstruktor initialisiert %q#D nicht" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "Ungültiger Typ %qT als Initialisierung für einen Vektor des Typs %qT" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "Initialisierung für %qT muss geklammert sein" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, gcc-internal-format + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "%<[%E] =%> in benannter Initialisierung im GNU-Stil für Klasse %qT verwendet" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "%qT hat kein nicht-statisches Datenelement namens %qD" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, gcc-internal-format + msgid "%qD is not a direct member of %qT" + msgstr "%qD ist kein direktes Element von %qT" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, gcc-internal-format + msgid "invalid initializer for %q#D" + msgstr "ungültige Initialisierung für %q#D" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "C99-Bezeichner %qE außerhalb von Aggregatinitialisierung" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "zu viele Initialisierer für %qT" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "geschweifte Klammern um skalare Initialisierung für Typ %qT" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90182 +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, gcc-internal-format + msgid "too many braces around scalar initializer for type %qT" + msgstr "zu viele geschweifte Klammern um skalare Initialisierung für Typ %qT" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "geschweifte Klammern fehlen um Initialisierung für %qT" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, gcc-internal-format + msgid "structured binding has incomplete type %qT" + msgstr "Strukturierte Bindung hat unvollständigen Typen %qT" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, gcc-internal-format + msgid "elements of array %q#T have incomplete type" + msgstr "Elemente des Arrays %q#T haben unvollständigen Typ" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, gcc-internal-format + msgid "variable-sized compound literal" + msgstr "zusammengesetztes Literal variabler Größe" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, gcc-internal-format + msgid "%q#D has incomplete type" + msgstr "%q#D hat unvollständigen Typ" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, gcc-internal-format + msgid "scalar object %qD requires one element in initializer" + msgstr "skalares Objekt %qD erfordert ein Element in Initialisierung" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, gcc-internal-format + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "in C++98 muss %qD mit Konstruktor initialisiert werden, nicht mit %<{...}%>" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "Array %qD mit geklammerter Zeichenkettenkonstante %qE initialisiert" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "Initialisierung ungültig für statisches Element mit Konstruktor" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "Initialisierung des nicht konstanten statischen Elements %qD in der Klasse ist ungültig" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "Initialisierung des nicht konstanten statischen Elements %qD in der Klasse ist ungültig" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "(eine Initialisierung außerhalb der Klasse ist erforderlich)" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, gcc-internal-format + msgid "reference %qD is initialized with itself" + msgstr "Referenz %qD wird mit sich selbst initialisiert" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, gcc-internal-format + msgid "could not find variant declaration" + msgstr "Variantendeklaration nicht gefunden" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, gcc-internal-format + msgid "% on constructor %qD" + msgstr "% für Konstruktor %qD" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, gcc-internal-format + msgid "% on destructor %qD" + msgstr "% für Destruktor %qD" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, gcc-internal-format + msgid "% on defaulted %qD" + msgstr "% an %qD mit Vorgabewert" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, gcc-internal-format + msgid "% on deleted %qD" + msgstr "% an gelöschter %qD" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, gcc-internal-format + msgid "% on virtual %qD" + msgstr "% an virtueller %qD" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "Zuweisung (nicht Initialisierung) in Deklaration" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, gcc-internal-format + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "ISO-C++17 erlaubt Speicherklassenangabe % nicht" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, gcc-internal-format + msgid "% storage class specifier used" + msgstr "%-Speicherklassenangabe verwendet" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "Deklaration von %q#D hat keine Initialisierung" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, gcc-internal-format + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "Initialisierung für % hat Funktionstyp; %<()%> vergessen?" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, gcc-internal-format + msgid "deduced type %qT for %qD is incomplete" + msgstr "deduzierter Typ %qT für %qD ist unvollständig" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, gcc-internal-format + msgid "variable concept has no initializer" + msgstr "Variablenkonzept hat keine Initialisierung" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "vorherige Typdeklaration von %q#D wird überschattet" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, gcc-internal-format + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "Attribut % kann nur für Variablen verwendet werden, die »static« oder threadlokel sind" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "Funktion %q#D ist wie eine Variable initialisiert" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr "Klassentyp %qT kann nicht dekomponiert werden, da er ein unbenanntes Strukturelement hat" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "Klassentyp %qT kann nicht dekomponiert werden, da er ein unbenanntes Unionelement hat" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, gcc-internal-format + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "unzugreifbares Element %qD von %qT kann nicht dekomponiert werden" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "Klassentyp %qT kann nicht dekomponiert werden, da sowohl er als auch seine Basisklasse %qT nichtstatische Datenelemente haben" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "Klassentyp %qT kann nicht dekomponiert werden, da seine Basisklassen %qT und %qT nichtstatische Datenelemente haben" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, gcc-internal-format + msgid "structured binding refers to incomplete type %qT" + msgstr "Strukturierte Bindung verweist auf unvollständigen Typen %qT" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, gcc-internal-format + msgid "cannot decompose variable length array %qT" + msgstr "Array mit variabler Länge %qT kann nicht dekomponiert werden" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, gcc-internal-format, gfc-internal-format + msgid "%u name provided for structured binding" + msgid_plural "%u names provided for structured binding" + msgstr[0] "%u Name für strukturelle Bindung angegeben" + msgstr[1] "%u Namen für strukturelle Bindung angegeben" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" + msgstr[0] "nur %u Name für strukturelle Bindung angegeben" + msgstr[1] "nur %u Namen für strukturelle Bindung angegeben" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" + msgstr[0] "während %qT in %wu Element zerlegt wird" + msgstr[1] "während %qT in %wu Elemente zerlegt wird" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, gcc-internal-format + msgid "cannot decompose variable length vector %qT" + msgstr "Vektor %qT variabler Länge kann nicht zerlegt werden" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, gcc-internal-format + msgid "%::value%> is not an integral constant expression" + msgstr "%::value%> ist kein konstanter Ganzzahlausdruck" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "während %qT in %E Elemente zerlegt wird" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "%::type%> ist %" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, gcc-internal-format + msgid "in initialization of structured binding variable %qD" + msgstr "in Initialisierung der Variable %qD für strukturierte Bindung" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, gcc-internal-format + msgid "cannot decompose union type %qT" + msgstr "Union-Typ %qT kann nicht dekomponiert werden" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, gcc-internal-format + msgid "cannot decompose non-array non-class type %qT" + msgstr "nicht-Array-nicht-Klassentyp %qT kann nicht dekomponiert werden" + +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, gcc-internal-format + msgid "cannot decompose lambda closure type %qT" + msgstr "Lambda-Abschluss-Typ %qT kann nicht dekomponiert werden" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, gcc-internal-format + msgid "structured binding refers to incomplete class type %qT" + msgstr "Strukturierte Bindung verweist auf unvollständigen Klassentypen %qT" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, gcc-internal-format + msgid "cannot decompose class type %qT without non-static data members" + msgstr "Klassentyp %qT ohne nicht-static-Datenelemente kann nicht dekomponiert werden" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "nicht-lokale %<__thread%>-Variable %qD erfordert dynamische Initialisierung" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "nicht-lokale %<__thread%>-Variable %qD hat einen nicht-trivialen Destruktor" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "% in C++11 erlaubt dynamische Initialisierung und Zerstörung" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, gcc-internal-format + msgid "initializer fails to determine size of %qT" + msgstr "Initialisierung gibt nicht die Größe von %qT an" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, gcc-internal-format + msgid "array size missing in %qT" + msgstr "Arraygröße fehlt in %qT" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, gcc-internal-format + msgid "zero-size array %qT" + msgstr "Array %qT der Größe null" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "Destruktor für fremde Klasse %qT kann kein Element sein" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "Konstruktor für fremde Klasse %qT kann kein Element sein" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, gcc-internal-format + msgid "%qD declared as a % variable" + msgstr "%qD als eine % Variable deklariert" + +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "Funktionsspezifizierer % und % an %qD ungültig in Variablendeklaration" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, gcc-internal-format + msgid "%qD declared as a % parameter" + msgstr "%qD als ein % Parameter deklariert" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, gcc-internal-format + msgid "%qD declared as an % parameter" + msgstr "%qD als ein % Parameter deklariert" + +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "Funktionsspezifizierer % und % an %qD ungültig in Parameterdeklaration" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, gcc-internal-format + msgid "%qD declared as a % type" + msgstr "%qD als ein % Typ deklariert" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, gcc-internal-format + msgid "%qD declared as an % type" + msgstr "%qD als ein % Typ deklariert" + +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "Funktionsspezifizierer % und % an %qD ungültig in Typdeklaration" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, gcc-internal-format + msgid "%qD declared as a % field" + msgstr "%qD als ein % Feld deklariert" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, gcc-internal-format + msgid "%qD declared as an % field" + msgstr "%qD als ein % Feld deklariert" + +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "Funktionsspezifizierer % und % an %qD ungültig in Felddeklaration" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "%q+D als »friend« deklariert" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "%q+D mit einer Ausnahmespezifikation deklariert" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "Deklaration von %qD ist nicht in einem Namensbereich um %qT" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "statische Elementfunktion %q#D mit Typqualifizierern deklariert" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, gcc-internal-format + msgid "concept %q#D declared with function parameters" + msgstr "Konzept %q#D mit Funktionsparametern deklariert" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, gcc-internal-format + msgid "concept %q#D declared with a deduced return type" + msgstr "Konzept %q#D mit hergeleitetem Rückgabetyp deklariert" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, gcc-internal-format + msgid "concept %q#D with non-% return type %qT" + msgstr "Konzept %q#D mit nicht-%-Rückgabetyp %qT" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, gcc-internal-format + msgid "concept %qD has no definition" + msgstr "Konzept %qD hat keine Definition" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, gcc-internal-format + msgid "a function concept cannot be constrained" + msgstr "ein Funktionskonzept kann nicht eingeschränkt werden" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, gcc-internal-format + msgid "constraints on a non-templated function" + msgstr "Einschränkungen auf einer Funktion, die kein Template hat" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "Definition der expliziten Spezialisierung %qD in friend-Deklaration" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "ungültige Verwendung der Template-ID %qD in Deklaration des ursprünglichen Templates" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "Standardargumente sind nicht in Deklaration der friend-Template-Spezialisierung %qD erlaubt" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "% ist nicht in Deklaration der friend-Template-Spezialisierung %qD erlaubt" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, gcc-internal-format + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "»friend«-Deklaration von %qD gibt Defaultargumente an und ist keine Definition" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "%<::main%> kann nicht als Template deklariert werden" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "%<::main%> kann nicht inline deklariert werden" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be %qs" + msgstr "%<::main%> kann nicht als %qs deklariert werden" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "%<::main%> kann nicht statisch deklariert werden" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, gcc-internal-format + msgid "static member function %qD cannot have cv-qualifier" + msgstr "statische Elementfunktion %qD kann nicht CV-Qualifizierer haben" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, gcc-internal-format + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "Nicht-Elementfunktion %qD kann nicht CV-Qualifizierer haben" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, gcc-internal-format + msgid "static member function %qD cannot have ref-qualifier" + msgstr "statische Elementfunktion %qD kann keinen ref-Qualifizierer haben" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, gcc-internal-format + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "Nicht-Elementfunktion %qD kann keinen ref-Qualifizierer haben" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, gcc-internal-format + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "Herleitungshinweis %qD muss im selben Gültigkeitsbereich wie %qT deklariert sein" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, gcc-internal-format + msgid "deduction guide %qD must have the same access as %qT" + msgstr "Herleitungshinweis %qD muss denselben Zugriff wie %qT haben" + +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, gcc-internal-format + msgid "deduction guide %qD must not have a function body" + msgstr "Herleitungshinweis %qD darf keinen Funktionskörper haben" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, gcc-internal-format + msgid "literal operator with C linkage" + msgstr "literaler Operator mit C-Bindung" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, gcc-internal-format + msgid "%qD has invalid argument list" + msgstr "%qD hat ungültige Argumentliste" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "Ganzzahl-Suffix %qs durch Implementierung überdeckt" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, gcc-internal-format + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "Gleitkomma-Suffix %qs durch Implementierung überdeckt" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "Literale Operator-Suffixe ohne vorangehendes %<_%> sind für zukünftige Standardisierungen reserviert" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, gcc-internal-format + msgid "%qD must be a non-member function" + msgstr "%qD muss eine Nicht-Elementfunktion sein" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, gcc-internal-format + msgid "%<::main%> must return %" + msgstr "%<::main%> muss % zurückgeben" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "Definition des implizit deklarierten %qD" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, gcc-internal-format + msgid "definition of explicitly-defaulted %q+D" + msgstr "Definition des explizit standardisierten %q+D" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, gcc-internal-format + msgid "%q#D explicitly defaulted here" + msgstr "%q#D wurde hat hier ausdrücklichen Standardwert bekommen" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "keine Elementfunktion %q#D in Klasse %qT deklariert" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a global variable" + msgstr "%<::main%> kann nicht als globale Variable deklariert werden" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, gcc-internal-format + msgid "a non-template variable cannot be %" + msgstr "eine Nicht-Template-Variable kann nicht % sein" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, gcc-internal-format + msgid "concept must be defined at namespace scope" + msgstr "Konzept muss im Gültigkeitsbereich des Namensbereiches definiert werden" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "Konzept muss Typ % haben" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, gcc-internal-format + msgid "a variable concept cannot be constrained" + msgstr "ein Variablenkonzept kann nicht eingeschränkt werden" + +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "Initialisierung innerhalb der Klasse des statischen Datenelements %q#D mit unvollständigem Typ" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, gcc-internal-format + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "% erforderlich für Initialisierung innerhalb der Klasse des statischen Datenelements %q#D mit nicht eingebautem Typ" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "Initialisierung innerhalb der Klasse des statischen Datenelements %q#D mit nicht eingebautem Typ" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "ungültige Initialisierung innerhalb der Klasse des statischen Datenelements vom nicht eingebauten Typen %qT" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "ISO-C++ verbietet Initialisierung des nicht konstanten statischen Elements %qD in der Klasse" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "ISO-C++ verbietet Initialisierung der Elementkonstante %qD vom nicht eingebauten Typen %qT" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "Arraygröße von %qD hat nicht-ganzzahligen Typen %qT" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "Arraygröße hat nicht-ganzzahligen Typen %qT" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "Größe des Arrays %qD ist kein konstanter Ganzzahlausdruck" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "Größe des Arrays ist kein konstanter Ganzzahlausdruck" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "ISO-C++ verbietet Array %qD der Größe null" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "ISO-C++ verbietet Array der Größe null" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array %qD" + msgstr "ISO-C++ verbietet Array %qD variabler Länge" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array" + msgstr "ISO-C++ verbietet Array variabler Länge" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "Array %qD variabler Länge wird verwendet" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "Array variabler Größe wird verwendet" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "Überlauf in Arraygröße" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, gcc-internal-format + msgid "%qD declared as array of template placeholder type %qT" + msgstr "%qD ist als Array vom Template-Platzhaltertyp %qT deklariert" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, gcc-internal-format + msgid "creating array of template placeholder type %qT" + msgstr "Array des Template-Platzhaltertyps %qT wird erzeugt" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, gcc-internal-format + msgid "declaration of %qD as array of void" + msgstr "Deklaration von %qD als Array von voids" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, gcc-internal-format + msgid "creating array of void" + msgstr "Array von void wird erzeugt" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, gcc-internal-format + msgid "declaration of %qD as array of functions" + msgstr "Deklaration von %qD als Array von Funktionen" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, gcc-internal-format + msgid "creating array of functions" + msgstr "Array von Funktionen wird erzeugt" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, gcc-internal-format + msgid "declaration of %qD as array of references" + msgstr "Deklaration von %qD als Array von Referenzen" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, gcc-internal-format + msgid "creating array of references" + msgstr "Feld von Referenzen wird erzeugt" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, gcc-internal-format + msgid "declaration of %qD as array of function members" + msgstr "Deklaration von %qD als Feld von Funktionselementen" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, gcc-internal-format + msgid "creating array of function members" + msgstr "Feld von Funktionselementen wird erzeugt" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "Deklaration von %qD als multidimensionales Feld muss für alle Dimensionen außer der ersten Grenzen haben" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "multidimensionales Feld muss für alle Dimensionen außer der ersten Grenzen haben" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, gcc-internal-format + msgid "variable-length array of %" + msgstr "Array variabler Größe von %" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "Angabe des Rückgabetyps für Konstruktor ist ungültig" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, gcc-internal-format + msgid "qualifiers are not allowed on constructor declaration" + msgstr "Qualifizierer sind bei Konstruktordeklarationen nicht erlaubt" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "Angabe des Rückgabetyps für Destruktor ist ungültig" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, gcc-internal-format + msgid "qualifiers are not allowed on destructor declaration" + msgstr "Qualifizierer sind bei Destruktordeklarationen nicht erlaubt" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, gcc-internal-format + msgid "return type specified for %" + msgstr "Rückgabetyp für % angegeben" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "Qualifizierer sind bei Deklaration von % nicht erlaubt" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, gcc-internal-format + msgid "return type specified for deduction guide" + msgstr "Rückgabetyp für Herleitungshinweis angegeben" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "Qualifizierer sind bei Deklaration von Herleitungshinweis nicht erlaubt" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, gcc-internal-format + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "Template-Template-Parameter %qT in Deklaration von Ableitungshinweis" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, gcc-internal-format + msgid "% in declaration of deduction guide" + msgstr "% in Deklaration von Ableitungshinweis" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "unbenannte Variable oder Feld als »void« deklariert" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "Variable oder Feld als »void« deklariert" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, gcc-internal-format + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "%-Spezifizierer ungültig für Variable %qD mit Gültigkeitsbereich Block" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, gcc-internal-format + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "»inline«-Variablen sind nur mit %<-std=c++17%> oder %<-std=gnu++17%> verfügbar" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "%qT als Typ statt als einfaches %" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, gcc-internal-format + msgid "% cannot be cv-qualified" + msgstr "% darf nicht CV-qualifiziert sein" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "ungültige Verwendung des qualifizierten Namens %<::%D%>" + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "ungültige Verwendung des qualifizierten Namens %<%T::%D%>" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "ungültige Verwendung des qualifizierten Namens %<%D::%D%>" + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, gcc-internal-format + msgid "%q#T is not a class or namespace" + msgstr "%q#T ist weder Klasse noch Namensbereich" + +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, gcc-internal-format + msgid "declaration of %qE as non-function" + msgstr "Deklaration von %qE als Nicht-Funktion" + +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, gcc-internal-format + msgid "declaration of %qE as non-member" + msgstr "Deklaration von %qE als Nicht-Element" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "Deklarator-ID fehlt: reserviertes Wort %qD wird verwendet" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "Funktionsdefinition deklariert keine Parameter" + +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "Deklaration von %qD als Nicht-Funktion" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, gcc-internal-format + msgid "declaration of %qD as %" + msgstr "Deklaration von %qD als %" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, gcc-internal-format + msgid "declaration of %qD as parameter" + msgstr "Deklaration von %qD als Parameter" + +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, gcc-internal-format + msgid "both %qs and %qs specified" + msgstr "sowohl %qs als auch %qs angegeben" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, gcc-internal-format + msgid "%qs cannot appear in a typedef declaration" + msgstr "%qs kann nicht in einer typedef-Deklaration auftreten" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "höchstens einer der Spezifizierer % und % kann verwendet werden" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "zwei oder mehr Datentypen in Deklaration von %qs" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, gcc-internal-format + msgid "ISO C++ does not support plain % meaning %" + msgstr "ISO-C++ unterstützt nicht, dass einfaches % % bedeutet" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "ISO-C++ verbietet Deklaration von %qs ohne Typ" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, gcc-internal-format + msgid "%<__int%d%> is not supported by this target" + msgstr "%<__int%d%> wird von diesem Ziel nicht unterstützt" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, gcc-internal-format + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "ISO-C++ unterstützt %<__int%d%> für %qs nicht" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, gcc-internal-format + msgid "% and % specified together" + msgstr "% und % gleichzeitig angegeben" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, gcc-internal-format + msgid "% and % specified together" + msgstr "% und % gleichzeitig angegeben" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, gcc-internal-format + msgid "%qs specified with %qT" + msgstr "%qs mit %qT angegeben" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, gcc-internal-format + msgid "%qs specified with %qD" + msgstr "%qs mit %qD angegeben" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "%qs mit % angegeben" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "%qs mit % angegeben" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, gcc-internal-format + msgid "complex invalid for %qs" + msgstr "complex ungültig für %qs" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "fehlende Template-Argumentliste nach %qE; für die Deduktion muss auf den Template-Platzhalter eine einfache Deklarator-ID folgen" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, gcc-internal-format + msgid "member %qD cannot be declared both % and %" + msgstr "Element %qD kann nicht gleichzeitig % und % sein" + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, gcc-internal-format + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "Element %qD kann erst mit %<-std=c++20%> oder %<-std=gnu++20%> gleichzeitig % und % sein" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "»typedef«-Deklaration in Parameterdeklaration ungültig" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, gcc-internal-format + msgid "storage class specified for template parameter %qs" + msgstr "Speicherklasse für Template-Parameter %qs angegeben" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "Speicherklasse für Parameter %qs angegeben" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, gcc-internal-format + msgid "a parameter cannot be declared %qs" + msgstr "ein Parameter kann nicht als %qs deklariert sein" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "% außerhalb einer Klassendeklaration" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, gcc-internal-format + msgid "structured binding declaration cannot be %qs" + msgstr "Deklaration für strukturierte Bindung darf nicht als %qs deklariert werden" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, gcc-internal-format + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "strukturierte Bindungsdeklarationen können erst ab %<-std=c++20%> oder %<-std=gnu++20%> %qs sein" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, gcc-internal-format + msgid "%-qualified structured binding is deprecated" + msgstr "%-qualifizierte strukturierte Bindung ist veraltet" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, gcc-internal-format + msgid "structured binding declaration cannot be C++98 %" + msgstr "Deklaration für strukturierte Bindung darf nicht als % (C++98) deklariert werden" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, gcc-internal-format + msgid "structured binding declaration cannot have type %qT" + msgstr "Deklaration für strukturierte Bindung darf nicht vom Typen %qT sein" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "Typ muss cv-qualifizierter % oder Referenz auf cv-qualifizierten % sein" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, gcc-internal-format + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "Deklaration für strukturierte Bindung darf nicht vom eingeschränkten %-Typen %qT sein" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, gcc-internal-format + msgid "multiple storage classes in declaration of %qs" + msgstr "mehrere Speicherklassen in Deklaration von %qs" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "Speicherklasse %qs angegeben" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "geschachtelte Funktion %qs als % deklariert" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "Deklaration höchster Ebene von %qs gibt % an" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "Funktions-Gültigkeitsbereich %qs ist implizit auto und deklarierte %<__thread%>" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "Speicherklassenangaben sind in friend-Funktionsdeklarationen ungültig" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, gcc-internal-format + msgid "attribute ignored" + msgstr "Attribut wird ignoriert" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "ein Attribut, das sich auf eine Typspezifizierung bezieht, wird ignoriert" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, gcc-internal-format + msgid "unnecessary parentheses in declaration of %qs" + msgstr "unnötige Klammern in Deklaration von %qs" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, gcc-internal-format + msgid "remove parentheses" + msgstr "entfernen Sie die Klammern" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, gcc-internal-format + msgid "requires-clause on return type" + msgstr "»requires«-Klausel für Rückgabetyp" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "Funktion %qs verwendet Typspezifikation % ohne folgenden Rückgabetypen" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, gcc-internal-format + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "hergeleiteter Rückgabetyp nur mit %<-std=c++14%> oder %<-std=gnu++14%> verfügbar" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, gcc-internal-format + msgid "virtual function cannot have deduced return type" + msgstr "virtuelle Funktionen kann keinen hergeleiteten Rückgabetyp haben" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "Funktion %qs mit folgendem Rückgabetypen hat %qT als seinen Typ statt einfaches %" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, gcc-internal-format + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "Funktion %qs mit nachgestelltem Rückgabetyp hat % als Typ statt einfachem %" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, gcc-internal-format + msgid "invalid use of %" + msgstr "ungültige Verwendung von %" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, gcc-internal-format + msgid "deduced class type %qD in function return type" + msgstr "hergeleiteter Klassentyp %qD in Rückgabetyp von Funktion" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, gcc-internal-format + msgid "deduction guide for %qT must have trailing return type" + msgstr "Herleitungshinweis für %qT muss angehängten Rückgabetyp haben" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "angehängter Rückgabetyp %qT den Ableitungshinweises ist keine Spezialisierung von %qT" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, gcc-internal-format + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "nachgestellter Rückgabetyp nur mit %<-std=c++11%> oder %<-std=gnu++11%> verfügbar" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "Funktion %qs mit folgendem Rückgabetypen nicht mit Typspezifikation % deklariert" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, gcc-internal-format + msgid "a conversion function cannot have a trailing return type" + msgstr "eine Umwandlungsfunktion darf keinen angehängten Rückgabetyp haben" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, gcc-internal-format + msgid "%-qualified return type is deprecated" + msgstr "%-qualifizierter Rückgabetyp ist veraltet" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, gcc-internal-format + msgid "%qs declared as function returning a function" + msgstr "%qs als Funktion, die eine Funktion zurückgibt, deklariert" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "%qs als Funktion, die ein Feld zurückgibt, deklariert" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, gcc-internal-format + msgid "% on function return type is not allowed" + msgstr "% ist am Rückgabetyp einer Funktion nicht erlaubt" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "Destruktor kann keine statische Elementfunktion sein" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "Konstruktor kann keine statische Elementfunktion sein" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "Destruktoren dürfen nicht CV-qualifiziert sein" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "Konstruktoren dürfen nicht CV-qualifiziert sein" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, gcc-internal-format + msgid "destructors may not be ref-qualified" + msgstr "Destruktoren dürfen nicht ref-qualifiziert sein" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, gcc-internal-format + msgid "constructors may not be ref-qualified" + msgstr "Konstruktoren dürfen nicht ref-qualifiziert sein" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, gcc-internal-format + msgid "constructors cannot be declared %" + msgstr "Konstruktoren dürfen nicht als % deklariert sein" + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "virtuelle Funktionen können keine friends sein" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "friend-Deklaration nicht in Klassendefinition" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, gcc-internal-format + msgid "cannot define friend function %qs in a local class definition" + msgstr "%-Funktion %qs kann nicht in einer lokalen Klassendefinition definiert werden" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "Definition der Freundfunktion %qs kann keinen Namen haben, der mit %<::%> qualifiziert ist" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "Definition der Freundfunktion %qs kann keinen Namen haben, der mit %<%D::%> qualifiziert ist" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "Destruktoren dürfen keine Parameter haben" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "Zeiger auf %q#T kann nicht deklariert werden" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "Referenz auf %q#T kann nicht deklariert werden" + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "Zeiger auf Element %q#T kann nicht deklariert werden" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, gcc-internal-format + msgid "cannot declare reference to qualified function type %qT" + msgstr "Referenz auf qualifizierten Funktionstypen %qT kann nicht deklariert werden" + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, gcc-internal-format + msgid "cannot declare pointer to qualified function type %qT" + msgstr "Zeiger auf qualifizierten Funktionstypen %qT kann nicht deklariert werden" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "Referenz auf %q#T kann nicht deklariert werden, da letzteres weder Typedef noch Templatetyp-Argument ist" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "Template-ID %qD als Deklarator verwendet" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "Elementfunktionen sind implizite »friends« ihrer Klasse" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "zusätzliche Qualifizierung %<%T::%> an Element %qs" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, gcc-internal-format + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "Elementfunktion %<%T::%s%> kann nicht innerhalb von %qT definiert werden" + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, gcc-internal-format + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "Elementfunktion %<%T::%s%> kann nicht innerhalb von %qT deklariert werden" + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "Element %<%T::%s%> kann nicht in %qT deklariert werden" + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, gcc-internal-format + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "Nicht-Parameter %qs kann kein Parameterpack sein" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "Datenelement darf nicht variabel modifizierten Typ %qT haben" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "Parameter darf nicht variabel modifizierten Typ %qT haben" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "% außerhalb einer Klassendeklaration" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, gcc-internal-format + msgid "% in friend declaration" + msgstr "% in »friend«-Deklaration" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, gcc-internal-format + msgid "only declarations of constructors and conversion operators can be %" + msgstr "nur Deklarationen von Konstruktoren und Umwandlungsoperatoren können % sein" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "Nicht-Element %qs kann nicht als % deklariert sein" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "Nicht-Objekt-Element %qs kann nicht als % deklariert sein" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "Funktion %qs kann nicht als % deklariert sein" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "%qs ist % und darf daher nicht als % deklariert sein" + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "%qs ist % und darf daher nicht als % deklariert sein" + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, gcc-internal-format + msgid "reference %qs cannot be declared %" + msgstr "Referenz %qs kann nicht als % deklariert sein" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, gcc-internal-format + msgid "typedef may not be a function definition" + msgstr "mit % definierte Funktion darf keinen Rumpf %<{ … }%> haben" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, gcc-internal-format + msgid "typedef may not be a member function definition" + msgstr "mit % definierte Elementfunktion darf keinen Rumpf %<{ … }%> haben" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, gcc-internal-format + msgid "% not allowed in alias declaration" + msgstr "% ist in Aliasdeklaration nicht erlaubt" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, gcc-internal-format + msgid "typedef declared %" + msgstr "»typedef« als % deklariert" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "requires-clause an Typedef" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, gcc-internal-format + msgid "typedef name may not be a nested-name-specifier" + msgstr "typedef-Name darf kein Spezifizierer mit geschachteltem Namen sein" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "ISO-C++ verbietet geschachtelten Typen %qD mit gleichem Namen wie umschließende Klasse" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "% für friend-Klassen-Deklaration angegeben" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "Template-Parameter können keine »friends« sein" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "friend-Deklaration erfordert Klassenschlüssel, d.h. %" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "friend-Deklaration erfordert Klassenschlüssel, d.h. %" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "Versuch, die Klasse %qT zu einem »friend« des globalen Gültigkeitsbereiches zu machen" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "ungültige Qualifizierer an Nicht-Element-Funktionstyp" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "requires-clause an type-id" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "abstrakter Deklarator %qT als Deklaration verwendet" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, gcc-internal-format + msgid "requires-clause on declaration of non-function type %qT" + msgstr "»requires«-Klausel in Deklaration von Nichtfunktionstyp %qT" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "%<::%> kann nicht in Parameterdeklaration verwendet werden" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, gcc-internal-format + msgid "cannot declare a parameter with %" + msgstr "Parameter kann nicht mit % deklariert werden" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "fehlende Template-Argumentliste nach %qE; Template-Platzhalter ist in Parameter nicht erlaubt" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "oder verwenden Sie % für ein abgekürztes Funktionstemplate" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, gcc-internal-format + msgid "% parameter not permitted in this context" + msgstr "%-Parameter darf in diesem Kontext nicht verwendet werden" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, gcc-internal-format + msgid "parameter declared %" + msgstr "Parameter als % deklariert" + +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "ungültige Verwendung des Template-Namens %qE ohne eine Argumentliste" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, gcc-internal-format + msgid "non-static data member declared with placeholder %qT" + msgstr "nicht-statisches Datenelement mit Platzhalter %qT deklariert" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, gcc-internal-format + msgid "ISO C++ forbids flexible array member %qs" + msgstr "ISO-C++ verbietet flexibles Arrayelement %qs" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, gcc-internal-format + msgid "ISO C++ forbids flexible array members" + msgstr "ISO-C++ verbietet flexible Arrayelemente" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, gcc-internal-format + msgid "invalid use of %<::%>" + msgstr "ungültige Verwendung von %<::%>" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, gcc-internal-format + msgid "declaration of function %qD in invalid context" + msgstr "Deklaration der Funktion %qD in ungültigem Kontext" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, gcc-internal-format + msgid "function %qD declared % inside a union" + msgstr "Funktion %qD wurde innerhalb einer Union als % deklariert" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, gcc-internal-format + msgid "%qD cannot be declared %, since it is always static" + msgstr "%qD kann nicht als % deklariert werden, da es immer statisch ist" + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "Qualifizierten Namen in Friend-Deklaration für Destruktor %qD erwartet" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, gcc-internal-format + msgid "declaration of %qD as member of %qT" + msgstr "Deklaration von %qD als Element %qT" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, gcc-internal-format + msgid "a destructor cannot be %qs" + msgstr "ein Destruktor kann nicht %qs sein" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "Qualifizierten Namen in Friend-Deklaration für Konstruktor %qD erwartet" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, gcc-internal-format + msgid "a constructor cannot be %" + msgstr "ein Konstruktor kann nicht % sein" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, gcc-internal-format + msgid "a concept cannot be a member function" + msgstr "ein Konzept kann keine Elementfunktion sein" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, gcc-internal-format + msgid "%qD cannot be %qs" + msgstr "%qD kann nicht %qs sein" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, gcc-internal-format + msgid "specialization of variable template %qD declared as function" + msgstr "Spezialisierung des Variablentemplates %qD als Funktion deklariert" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, gcc-internal-format + msgid "variable template declared here" + msgstr "Variablentemplate hier deklariert" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, gcc-internal-format + msgid "field %qD has incomplete type %qT" + msgstr "Feld %qD hat unvollständigen Typen %qT" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "Name %qT hat unvollständigen Typen" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "%qE ist weder eine Funktion noch Elementfunktion; kann nicht als »friend« deklariert werden" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, gcc-internal-format + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "unbenanntes Feld ist weder eine Funktion noch Elementfunktion; kann nicht als % deklariert werden" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, gcc-internal-format + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "ein Attribut, das zu einer »friend«-Deklaration gehört, die keine Definition ist, wird ignoriert" + +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, gcc-internal-format + msgid "static data member %qE declared %qs" + msgstr "statisches Datenelement %qE als %qs deklariert" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, gcc-internal-format + msgid "% static data member %qD must have an initializer" + msgstr "statisches Datenelement %qD (%) muss Initialisierung haben" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, gcc-internal-format + msgid "non-static data member %qE declared %qs" + msgstr "nicht-statisches Datenelement %qE als %qs deklariert" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "Speicherklasse % ungültig für Funktion %qs" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "Speicherklasse % ungültig für Funktion %qs" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "Speicherklasse %<__thread%> ungültig für Funktion %qs" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "Speicherklasse % ungültig für Funktion %qs" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, gcc-internal-format + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "virt-Spezifikation in %qs ist außerhalb einer Klassendefinition nicht erlaubt" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "% ist für außerhalb des globalen Gültigkeitsbereiches deklarierte Funktion %qs ungültig" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "% ungültig für außerhalb des globalen Gültigkeitsbereiches deklarierte Funktion %qs" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "virtuelle Nicht-Klassen-Funktion %qs" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "%qs nicht in Klassen-Gültigkeitsbereich definiert" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, gcc-internal-format + msgid "%qs declared in a non-class scope" + msgstr "%qs in einem Nicht-Klassen-Gültigkeitsbereich definiert" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "Elementfunktion %qD kann nicht deklariert werden, statische Bindung zu haben" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "statische Funktion innerhalb anderer Funktion kann nicht deklariert werden" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "% darf nicht bei der Definition (im Gegensatz zu Deklaration) eines statischen Datenelementes verwendet werden" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "statisches Element %qD als % deklariert" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "Element %q#D kann nicht explizit deklariert werden, externe Bindung zu haben" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, gcc-internal-format + msgid "declaration of % variable %qD is not a definition" + msgstr "Deklaration der %-Variable %qD ist keine Definition" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, gcc-internal-format + msgid "a variable cannot be declared %" + msgstr "eine Variable kann nicht als % deklariert sein" + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "%qs initialisiert und als % deklariert" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "%qs hat sowohl % als auch Initialisierung" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, gcc-internal-format + msgid "default argument %qE uses %qD" + msgstr "Standardargument %qE verwendet %qD" + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "Standardargument %qE verwendet lokale Variable %qD" + +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, gcc-internal-format + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "ungültige Verwendung von cv-qualifiziertem Typ %qT in Parameterdeklaration" + +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, gcc-internal-format + msgid "invalid use of type % in parameter declaration" + msgstr "ungültige Verwendung von Typ % in Parameterdeklaration" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, gcc-internal-format + msgid "%-qualified parameter is deprecated" + msgstr "%-qualifizierter Parameter ist veraltet" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "Parameter %qD deklariert ungültigerweise Methodentyp" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "Parameter %qD bezieht Zeiger auf Feld mit unbekannter Grenze %qT ein" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "Parameter %qD bezieht Referenz auf Feld mit unbekannter Grenze %qT ein" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "ungültiger Konstruktor; wahrscheinlich war %<%T (const %T&)%> gemeint" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "%qD darf nicht innerhalb eines Namensbereiches definiert werden" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "%qD darf nicht als »static« deklariert werden" + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, gcc-internal-format + msgid "%qD must be a non-static member function" + msgstr "%qD muss eine nichtstatische Elementfunktion sein" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, gcc-internal-format + msgid "%qD must be a member function" + msgstr "%qD muss eine Memberfunktion sein" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, gcc-internal-format + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "%qD darf erst ab %<-std=c++23%> oder %<-std=gnu++23%> eine statische Memberfunktion sein" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "%qD muss entweder eine nichtstatische Elementfunktion oder eine Nicht-Element-Funktion sein" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "%qD muss ein Argument von einem Klassen- oder Aufzählungstyp haben" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, gcc-internal-format + msgid "ISO C++ prohibits overloading %" + msgstr "ISO-C++ verbietet Überladen von %" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "»%qD« darf keine variable Argumentanzahl haben" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, gcc-internal-format + msgid "%qD must have either zero or one argument" + msgstr "%qD muss entweder null oder ein Argument nehmen" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, gcc-internal-format + msgid "%qD must have either one or two arguments" + msgstr "%qD muss entweder ein oder zwei Argumente nehmen" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, gcc-internal-format + msgid "postfix %qD must have % as its argument" + msgstr "Suffix-%qD muss % als sein Argument nehmen" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, gcc-internal-format + msgid "postfix %qD must have % as its second argument" + msgstr "Suffix-%qD muss % als sein zweites Argument nehmen" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, gcc-internal-format + msgid "%qD must have no arguments" + msgstr "%qD darf keine Argumente nehmen" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, gcc-internal-format + msgid "%qD must have exactly one argument" + msgstr "%qD muss genau ein Argument nehmen" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, gcc-internal-format + msgid "%qD must have exactly two arguments" + msgstr "%qD muss genau zwei Argumente nehmen" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "%qD kann keine Standardargumente haben" + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, gcc-internal-format + msgid "converting %qT to % will never use a type conversion operator" + msgstr "Umwandlung von %qT in % wird nie einen Typumwandlungsoperator verwenden" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, gcc-internal-format + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "Umwandlung von %qT in Referenz auf gleichen Typ wird nie einen Typumwandlungsoperator verwenden" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, gcc-internal-format + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "Umwandlung von %qT in gleichen Typ wird nie einen Typumwandlungsoperator verwenden" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, gcc-internal-format + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "Umwandlung von %qT in Referenz auf Basisklasse %qT wird nie einen Typumwandlungsoperator verwenden" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, gcc-internal-format + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "Umwandlung von %qT in Basisklasse %qT wird nie einen Typumwandlungsoperator verwenden" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "benutzerdefiniertes %qD wertet immer beide Argumente aus" + +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "Präfix-%qD sollte %qT zurückgeben" + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "Suffix-%qD sollte %qT zurückgeben" + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "%qD sollte Wert zurückgeben" + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "Templatetyp-Parameter %qT wird nach %qs verwendet" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "Templatespezialisierung alias %qT hinter %qs wird verwendet" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "typedef-Name %qD wird nach %qs verwendet" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, gcc-internal-format + msgid "%qD has a previous declaration here" + msgstr "%qD hat eine vorherige Deklaration hier" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "%qT als %qs verwendet" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, gcc-internal-format + msgid "%qT has a previous declaration here" + msgstr "%qT hat hier eine vorherige Deklaration" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "%qT als enum verwendet" +@@ -55009,110 +54999,110 @@ msgstr "%qT als enum verwendet" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "Template-Argument für %<%s %T%> benötigt" + +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "Referenz auf %qD ist mehrdeutig" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, gcc-internal-format + msgid "class template %qD redeclared as non-template" + msgstr "Klassentemplate %qD als Nicht-Template redeklariert" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "%qD hat den gleichen Namen wie die Klasse, in der es deklariert wurde" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, gcc-internal-format + msgid "%qT is not a template" + msgstr "%qT ist kein Template" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "Sie könnten ein explizites %<%T::%> hinzufügen" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "Verwendung des enum %q#D ohne vorherige Deklaration" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "Redeklaration von %qT als Nicht-Template" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, gcc-internal-format + msgid "cannot declare %qD in a different module" + msgstr "%qD kann nicht in einem anderen Modul deklariert sein" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "abgeleitete Union %qT ist ungültig" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "%qT ist mit mehreren direkten Basisklassen definiert" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, gcc-internal-format + msgid "%qT defined with direct virtual base" + msgstr "%qT ist mit direkter virtueller Basisklasse definiert" + +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "Basistyp %qT ist kein struct- oder Klassentyp" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "rekursiver Typ %qT nicht definiert" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "doppelter Basistyp %qT ungültig" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "falsche Zuordnung zwischen innerhalb und außerhalb eines Gültigkeitsbereiches in enum %q#T" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, gcc-internal-format + msgid "previous definition here" + msgstr "vorherige Definition hier" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "falsche Zuordnung des zugrunde liegenden Typs in enum %q#T" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "anderer zugrunde liegender Typ in enum %q#T" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, gcc-internal-format + msgid "cannot define %qD in different module" + msgstr "%qD kann nicht in einem anderen Modul definiert sein" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, gcc-internal-format + msgid "underlying type %qT of %qT must be an integral type" + msgstr "zugrunde liegender Typ %qT von %qT muss ein ganzzahliger Typ sein" +@@ -55121,82 +55111,82 @@ msgstr "zugrunde liegender Typ %qT von %qT muss ein ganzzahliger Typ sein" + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "kein Ganzzahltyp kann alle Aufzählungswerte für %qT darstellen" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, gcc-internal-format + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "Aufzählungswert für %qD muss ganzzahligen oder Aufzählungstyp ohne Gültigkeitsbereich haben" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "Aufzählungswert für %qD ist keine Ganzzahlkonstante" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "erhöhter Aufzählungswert ist zu groß für %" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "erhöhter Aufzählungswert ist zu groß für %" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "Überlauf in Aufzählungswerten bei %qD" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, gcc-internal-format + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "Aufzählungswert %qE ist außerhalb des Gültigkeitsbereichs des zugrundeliegenden Typen %qT" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "mehrfache Definition von %q#T" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "Rückgabetyp %q#T ist unvollständig" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "% sollte eine Referenz auf %<*this%> zurückgeben" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, gcc-internal-format + msgid "no return statements in function returning %qT" + msgstr "keine return-Anweisungen in %qT zurückgebender Funktion" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, gcc-internal-format + msgid "only plain % return type can be deduced to %" + msgstr "nur einfacher Rückgabetyp % kann zu % hergeleitet werden" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, gcc-internal-format + msgid "no return statement in % function returning non-void" + msgstr "eine %-Funktion, die etwas Anderes als % zurückgibt, muss eine return-Anweisung enthalten" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "%qD ist bereits in Klasse %qT definiert" + +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, gcc-internal-format + msgid "using %qs" + msgstr "%qs wird verwendet" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "Verwendung von %qD vor Herleitung von %" +@@ -56045,7 +56035,7 @@ msgstr "Typ %qT ist keine direkte oder virtuelle Basis von %qT" + msgid "type %qT is not a direct base of %qT" + msgstr "Typ %qT ist keine direkte Basis von %qT" + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "Array muss mit Initialisierung mit umgebenden geschweiften Klammern initialisiert werden" +@@ -57100,7 +57090,7 @@ msgstr "»using«-Deklaration für Nicht-Element im Gültigkeitsbereich der Klas + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "% mit Gültigkeitsbereich in enum-Typ %q#T ist erst ab %<-std=c++20%> oder %<-std=gnu++20%> verfügbar" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, gcc-internal-format + msgid "%qT is not a class, namespace, or enumeration" + msgstr "%qT ist weder eine Klasse, noch ein Namensbereich oder eine Aufzählung" +@@ -57846,7 +57836,7 @@ msgstr "Typen dürfen nicht in einem %-Ausdruck definiert werden" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "falsche Anzahl von Argumenten für %<__builtin_addressof%>" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_launder%>" + msgstr "falsche Anzahl von Argumenten für %<__builtin_launder%>" +@@ -58556,12 +58546,12 @@ msgstr "nur Konstruktoren nehmen Elementinitialisierungen" + msgid "cannot expand initializer for member %qD" + msgstr "Initialisierung für Element %qD kann nicht expandiert werden" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "Speicherinitialisierung für %qD folgt Konstruktordelegation" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "Konstruktordelegation folgt Speicherinitialisierung für %qD" +@@ -59162,7 +59152,7 @@ msgstr "fehlende Templateargumente nach %qE" + msgid "%qT not permitted in template argument" + msgstr "%qT ist in einem Templateargument nicht erlaubt" + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, gcc-internal-format + msgid "invalid use of %qT" +@@ -60024,7 +60014,7 @@ msgstr "%<[[omp::directive(%s)]]%> muss das einzige angegebene Attribut in einer + msgid "% clause with parameter on range-based % loop" + msgstr "%-Klausel mit Parameter in %-Schleife über einen Bereich" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, gcc-internal-format + msgid "iteration variable %qD should not be reduction" + msgstr "Schleifenvariable %qD sollte keine Reduktion sein" +@@ -61031,7 +61021,7 @@ msgstr "Nicht-Template-Typ %qT als Template verwendet" + msgid "for template declaration %q+D" + msgstr "Für Template-Deklaration %q+D" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, gcc-internal-format + msgid "template constraint failure for %qD" + msgstr "Template-Einschränkung für %qD fehlgeschlagen" +@@ -61124,276 +61114,276 @@ msgstr "Funktion gibt ein Array zurück" + msgid "function returning a function" + msgstr "Funktion gibt eine Funktion" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, gcc-internal-format + msgid "forming reference to void" + msgstr "Referenz auf »void« wird gebildet" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, gcc-internal-format + msgid "forming pointer to reference type %qT" + msgstr "Zeiger auf Referenztyp %qT wird geformt" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, gcc-internal-format + msgid "forming reference to reference type %qT" + msgstr "Referenz auf Referenztyp %qT wird geformt" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, gcc-internal-format + msgid "forming pointer to qualified function type %qT" + msgstr "Zeiger auf qualifizierten Funktionstypen %qT wird geformt" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, gcc-internal-format + msgid "forming reference to qualified function type %qT" + msgstr "Referenz auf qualifizierten Funktionstypen %qT wird geformt" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr "Zeiger auf Element des Nicht-Klassentypen %qT wird erzeugt" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr "Zeiger auf Elementreferenztyp %qT wird erzeugt" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr "Zeiger auf Element mit Typ »void« wird erzeugt" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, gcc-internal-format + msgid "creating array of %qT" + msgstr "Array von %qT wird erzeugt" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "%qD wird für ein leeres Pack instanziiert" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "%qT ist kein Klassen-, Struktur- oder Union-Typ" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "%qT wird in %qT aufgelöst, was kein Aufzählungstyp ist" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not a class type" + msgstr "%qT wird in %qT aufgelöst, aber das ist kein Klassentyp" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, gcc-internal-format + msgid "use of %qs in template" + msgstr "Verwendung von %qs in Template" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, gcc-internal-format + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "qualifizierender Typ %qT passt nicht zum Destruktornamen ~%qT" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "Abhängigenname %qE wird als Nicht-Typ erkannt, aber die Instanziierung liefert einen Typ" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "% sagen, wenn ein Typ gemeint ist" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, gcc-internal-format + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "Initialisierer für %q#D expandiert zu einer leeren Ausdrucksliste" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, gcc-internal-format + msgid "using invalid field %qD" + msgstr "ungültiges Feld %qD wird verwendet" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, gcc-internal-format + msgid "invalid use of pack expansion expression" + msgstr "falsche Verwendung eines Packauflösungs-Ausdruckes" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, gcc-internal-format + msgid "use %<...%> to expand argument pack" + msgstr "%<...%> verwenden, um Argumentpack aufzulösen" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, gcc-internal-format + msgid "empty initializer in lambda init-capture" + msgstr "leere Initialisierung in »init-capture« für Lambda" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "%qD wurde in diesem Gültigkeitsbereich nicht deklariert, und bei argumentabhängiger Suche am Ort der Instanziierung wurden keine Deklarationen gefunden" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "Deklarationen in abhängiger Basis %qT wurden bei unqualifizierter Suche nicht gefunden" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "stattdessen %%D%> verwenden" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, gcc-internal-format + msgid "use %<%T::%D%> instead" + msgstr "stattdessen %<%T::%D%> verwenden" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, gcc-internal-format + msgid "%qD declared here, later in the translation unit" + msgstr "%qD hier deklariert, später in der Übersetzungseinheit" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "falsche Anzahl von Argumenten für %<__builtin_convertvector%>" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, gcc-internal-format + msgid "wrong number of arguments to % attribute" + msgstr "Falsche Anzahl an Argumenten für das Attribut % angegeben" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "%qT ist keine Klasse oder Namensbereich" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "%qD ist keine Klasse oder Namensbereich" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, gcc-internal-format + msgid "%qT is/uses unnamed type" + msgstr "%qT ist/verwendet anonymen Typen" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, gcc-internal-format + msgid "template argument for %qD uses local type %qT" + msgstr "Templateargument für %qD verwendet lokalen Typ %qT" + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "%qT ist ein variabel modifizierter Typ" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "Ganzzahlausdruck %qE ist nicht konstant" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr " Versuch, %qD zu instanziieren" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, gcc-internal-format + msgid "ambiguous template instantiation for %q#T" + msgstr "mehrdeutige Template-Instanziierung für %q#T" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, gcc-internal-format + msgid "ambiguous template instantiation for %q#D" + msgstr "mehrdeutige Template-Instanziierung für %q#D" + +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + msgid "%s %#qS" + msgstr "%s %#qS" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "explizite Instanziierung des Nicht-Templates %q#D" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, gcc-internal-format + msgid "explicit instantiation of variable concept %q#D" + msgstr "Explizite Instanziierung des Variablenkonzepts %q#D" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, gcc-internal-format + msgid "explicit instantiation of function concept %q#D" + msgstr "Explizite Instanziierung des Funktionskonzepts %q#D" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, gcc-internal-format + msgid "%qD is not a static data member of a class template" + msgstr "%qD ist kein statisches Datenelement eines Klassentemplates" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "kein passendes Template für %qD gefunden" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, gcc-internal-format + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "Typ %qT für explizite Instanziierung %qD passt nicht zum deklarierten Typ %qT" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "explizite Instanziierung von %q#D" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "doppelte explizite Instanziierung von %q#D" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, gcc-internal-format + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "ISO-C++ 1998 verbietet die Verwendung von % bei expliziten Instanziierungen" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "Speicherklasse %qD auf Templateinstanziierung angewendet" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, gcc-internal-format + msgid "explicit instantiation of non-class template %qD" + msgstr "explizite Instanziierung des Nicht-Klassen-Templates %qD" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "explizite Instanziierung des Nicht-Templatetyps %qT" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "explizite Instanziierung von %q#T vor Definition des Templates" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "ISO-C++ verbietet die Verwendung von %qE bei expliziten Instanziierungen" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "doppelte explizite Instanziierung von %q#T" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, gcc-internal-format + msgid "exception specification of %qD depends on itself" + msgstr "Ausnahmen-Angabe von %qD hängt von sich selbst ab" +@@ -61405,163 +61395,163 @@ msgstr "Ausnahmen-Angabe von %qD hängt von sich selbst ab" + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "explizite Instanziierung von %qD, aber keine Definition verfügbar" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, gcc-internal-format + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "Instanziierungstiefe für Templates überschreitet Höchstwert %d beim Instanziieren von %q+D, möglicherweise wegen Generierung der virtuellen Tabelle (%<-ftemplate-depth=%> verwenden, um den Höchstwert zu erhöhen)" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, gcc-internal-format + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "Nichttypen-Templateparameter von hergeleitetem Klassentyp sind erst ab %<-std=c++20%> oder %<-std=gnu++20%> verfügbar" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, gcc-internal-format + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "%qT ist kein gültiger Typ für einen Nichttyp-Templateparameter, da er nicht strukturell ist" + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, gcc-internal-format + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "Nichttypen-Templateparameter von Klassentyp sind nur mit %<-std=c++20%> oder %<-std=gnu++20%> verfügbar" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, gcc-internal-format + msgid "invalid template non-type parameter" + msgstr "ungültiger Nicht-Typ-Parameter für Template" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, gcc-internal-format + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "%q#T ist kein gültiger Typ für einen Nicht-Typ-Parameter eines Templates" + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, gcc-internal-format + msgid "keyword % not allowed in declarator-id" + msgstr "Schlüsselwort % nicht innerhalb der declarator-id erlaubt" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, gcc-internal-format + msgid "a concept cannot be constrained" + msgstr "ein Konzept kann nicht eingeschränkt werden" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, gcc-internal-format + msgid "concept %qE not in namespace scope" + msgstr "das Konzept %qE ist nicht im Gültigkeitsbereich des Namensraums" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, gcc-internal-format + msgid "concept %qE has multiple template parameter lists" + msgstr "das Konzept %qE hat mehrere Vorlagenparameterlisten" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, gcc-internal-format + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "Ermittlung aus geschweift geklammerter Initialisierungsliste erfordert %<#include %>" + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, gcc-internal-format + msgid "non-deducible template %qT used without template arguments" + msgstr "nicht herleitbares Templates %qT wird ohne Template-Argumente verwendet" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, gcc-internal-format + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "Alias-Template-Herleitung ist erst ab %<-std=c++20%> oder %<-std=gnu++20%> verfügbar" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, gcc-internal-format + msgid "use %qD directly instead" + msgstr "verwenden Sie stattdessen %qD" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "Templateargumente für die Kopierinitialisierung von %qT können nicht abgeleitet werden, da es keine expliziten Ableitungshinweise oder benutzerdeklarierten Konstruktoren gibt" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, gcc-internal-format + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "Templateargumente für %qT können nicht abgeleitet werden, da es keine Ableitungshinweise gibt" + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, gcc-internal-format + msgid "class template argument deduction failed:" + msgstr "Argumentherleitung für Klassentemplate gescheitert:" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, gcc-internal-format + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "Explizite Herleitungshinweise werden nicht für »copy-initialization« berücksichtigt" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, gcc-internal-format + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr "Argumentherleitung für Klassentemplate von %qT fehlgeschlagen: expliziter Herleitungshinweis in copy-list-initialization ausgewählt" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, gcc-internal-format + msgid "explicit deduction guide declared here" + msgstr "der explizite Herleitungshinweis ist hier deklariert" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, gcc-internal-format + msgid "%qT may not intend to support class template argument deduction" + msgstr "%qT beabsichtigt möglicherweise nicht, Argumentherleitung für Klassentemplates zu unterstützen" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "fügen Sie einen Herleitungshinweis hinzu, um diese Warnung zu unterdrücken" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "direct-list-initialization von % erfordert genau ein Element" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "um % herzuleiten, verwenden Sie einen copy-list-initialization (also mit %<=%> vor dem %<{%>)" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, gcc-internal-format + msgid "unable to deduce lambda return type from %qE" + msgstr "Lambda-Rückgabewert von %qE kann nicht hergeleitet werden" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, gcc-internal-format + msgid "unable to deduce %qT from %qE" + msgstr "%qT kann nicht aus %qE hergeleitet werden" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "Platzhalter-Beschränkungen nicht erfüllt" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, gcc-internal-format + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "hergeleiteter Initialisierer erfüllt die Platzhalter-Beschränkungen nicht" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, gcc-internal-format + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "hergeleiteter Rückgabetyp erfüllt die Platzhalter-Beschränkungen nicht" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, gcc-internal-format + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "hergeleiteter Ausdruckstyp erfüllt die Platzhalterbeschränkungen nicht" + +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, gcc-internal-format + msgid "invalid use of %qT in template argument" + msgstr "ungültige Verwendung von %qT in Templateargument" +@@ -61872,7 +61862,7 @@ msgstr "ungültige Spezifizierung der Basisklasse" + msgid "cannot capture member %qD of anonymous union" + msgstr "Element %qD von unbenannter Union kann nicht eingefangen werden" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, gcc-internal-format + msgid "%qD is not captured" + msgstr "%qD ist nicht eingefangen" +@@ -62280,27 +62270,27 @@ msgstr "%<__builtin_is_corresponding_member%> benötigt zwei Argumente" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "Argument von %<__builtin_is_corresponding_member%> muss ein Zeiger auf Member sein" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, gcc-internal-format + msgid "%qD is not a class or alias template" + msgstr "%qD ist weder ein Klassen- noch ein Alias-Template" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, gcc-internal-format + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "Operand des Faltungsausdrucks hat keine unexpandierten Parameterpackungen" + +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, gcc-internal-format + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "beide Argumente in binärer Faltung haben unexpandierte Parameterpackungen" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "keine unexpandierten Parameterpackungen in binärer Faltung" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, gcc-internal-format + msgid "non-pointer argument to %<__builtin_launder%>" + msgstr "Argument, das kein Zeiger ist, in %<__builtin_launder%>" +@@ -62308,22 +62298,22 @@ msgstr "Argument, das kein Zeiger ist, in %<__builtin_launder%>" + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "Zieltyp %qT von %<__builtin_bit_cast%> ist ein Arraytyp" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "Zieltyp %qT von %<__builtin_bit_cast%> ist nicht trivial kopierbar" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "Quelltyp %qT von %<__builtin_bit_cast%> ist nicht trivial kopierbar" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "in %<__builtin_bit_cast%> ist die Quellgröße %qE ungleich der Zieltypgröße %qE" +@@ -63556,220 +63546,220 @@ msgstr "Vorwärtsdeklaration von %q#T" + msgid "declaration of %q#T" + msgstr "Deklaration von %q#T" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, gcc-internal-format + msgid "%qD has incomplete type" + msgstr "%qD hat unvollständigen Typ" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, gcc-internal-format + msgid "invalid use of incomplete type %q#T" + msgstr "falsche Verwendung des unvollständigen Typs %q#T" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, gcc-internal-format + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "ungültige Verwendung von Elementfunktion %qD (%<()%> vergessen?)" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, gcc-internal-format + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "ungültige Verwendung des Elements %qD (%<&%> vergessen?)" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, gcc-internal-format + msgid "invalid use of placeholder %qT" + msgstr "ungültige Verwendung des Platzhalters %qT" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, gcc-internal-format + msgid "invalid use of template type parameter %qT" + msgstr "ungültige Verwendung des Parameters %qT für Templatetyp" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, gcc-internal-format + msgid "invalid use of template template parameter %qT" + msgstr "ungültige Verwendung des Parameters %qT für Template-Templateparameter" + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, gcc-internal-format + msgid "invalid use of pack expansion %qT" + msgstr "falsche Verwendung von % %qT" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, gcc-internal-format + msgid "invalid use of dependent type %qT" + msgstr "ungültige Verwendung des abhängigen Typen %qT" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, gcc-internal-format + msgid "invalid use of brace-enclosed initializer list" + msgstr "ungültige Verwendung von geschweift geklammerter Initialisierungsliste" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "Adresse einer überladenen Funktion ohne Typinformationen aus Kontext" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "überladene Funktion ohne Typinformationen aus Kontext" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "unzureichende Informationen für Typbestimmung aus Kontext" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "Konstruktorsyntax verwendet, aber kein Konstruktor für Typ %qT deklariert" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, gcc-internal-format + msgid "% variable %qD does not have a constant initializer" + msgstr "%-Variable %qD muss eine konstante Initialisierung haben" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "verengende Umwandlung von %qE von %qH nach %qI ist in C++11 ungültig" + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "verengende Umwandlung von %qE von %qH nach %qI" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, gcc-internal-format + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr " der Ausdruck hat einen konstanten Wert, ist aber kein konstanter Ausdruck im Sinne von C++" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, gcc-internal-format + msgid "initializer-string for %qT is too long" + msgstr "Initialisierungs-Zeichenkette für %qT ist zu lang" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "das Initialisieren einer Basisklasse vom Typ %qT führt zu Objektslicing" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, gcc-internal-format + msgid "remove %<{ }%> around initializer" + msgstr "entfernen Sie die %<{ }%> um den Initialisierer" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "Aggregat des Typs %qT kann nicht mit zusammengesetztem Literal initialisiert werden" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "Initialisierung für Element %qD fehlt" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "Element %qD ist nicht initialisierte Referenz" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, gcc-internal-format + msgid "member %qD with uninitialized reference fields" + msgstr "Element %qD mit nicht initialisierten Feldern" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, gcc-internal-format + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "Designator-Reihenfolge für Feld %qD passt nicht zur ursprünglichen Deklaration in %qT" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "kein Feld %qD in initialisierter Union gefunden" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "Indexwert statt Feldname in Union-Initialisierung" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "ringförmige Zeigerdelegation erkannt" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, gcc-internal-format + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "Basisoperand von %<->%> hat Nicht-Zeiger-Typ %qT" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr "Ergebnis von %()%> ergibt Nicht-Zeiger-Ergebnis" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "Basisoperand von %<->%> ist kein Zeiger" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "%qE kann nicht als Elementzeiger verwendet werden, da es vom Typ %qT ist" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, gcc-internal-format + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "Elementzeiger %qE kann nicht auf %qE angewandt werden, da letzteres vom Nicht-Klassen-Typ %qT ist" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "Zeiger auf Elementtyp %qT mit Objekttyp %qT inkompatibel" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "Typ für Zeiger auf Elementfunktion %qT braucht einen rvalue" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "Typ für Zeiger auf Elementfunktion %qT braucht einen lvalue" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "Zeiger-auf-Element-Funktions-Typ %qT braucht vor C++20 einen lvalue" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, gcc-internal-format + msgid "functional cast to array type %qT" + msgstr "funktionale Umwandlung in Arraytyp %qT" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, gcc-internal-format + msgid "% cannot be constrained" + msgstr "% kann nicht eingeschränkt werden" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, gcc-internal-format + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "% ist erst mit %<-std=c++2b%> oder %<-std=gnu++2b%> verfügbar" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, gcc-internal-format + msgid "invalid value-initialization of reference type" + msgstr "ungültige Wert-Initialisierung von Referenztyp" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "Aufruf der Funktion %qD, die unvollständigen Typen %q#T wirft" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "Aufruf einer Funktion, die unvollständigen Typen %q#T wirft" +@@ -64725,7 +64715,7 @@ msgstr "Die BOZ-Literalkonstante bei %L darf kein tatsächliches Argument für % + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "Argumente von %qs bei %L und %L können nicht beide literale BOZ-Konstanten sein" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid use of BOZ literal constant at %L" + msgstr "Ungültige Verwendung der BOZ-Literalkonstante bei %L" +@@ -65820,12 +65810,12 @@ msgstr "Unbenutzte Initialisierungszeichenkette bei %L, da die Variable die Län + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "Initialisierungszeichenkette bei %L wurde abgeschnitten, um zur Variable zu passen (%ld/%ld)" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "Anfangs-Index der Teilzeichenkette bei %L ist kleiner als Eins" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "End-Index der Teilzeichenkette bei %L überschreitet Zeichenkettenlänge" +@@ -66007,7 +65997,7 @@ msgstr "Falsche INTENT-Spezifikation bei %C" + msgid "deferred type parameter at %C" + msgstr "Parameter mit zurückgestelltem Typ bei %C" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "Skalarer INTEGER-Ausdruck bei %L erwartet" +@@ -68034,7 +68024,7 @@ msgstr "Transformierende intrinsische Routine %qs bei %L ist in einem Initialisi + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "Auswertung des nicht standardisierten Initialisierungsausdrucks bei %L" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, gcc-internal-format + msgid "Function %qs in initialization expression at %L must be an intrinsic function" + msgstr "Funktion %qs in Initialisierungs-Ausdruck bei %L muss eine intrinsische Funktion sein" +@@ -68310,7 +68300,7 @@ msgstr "Unpassende Schnittstellen bei Zuweisung des Prozedurzeigers bei %L: %qs + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "Explizite Schnittstelle für Komponente %qs bei %L erforderlich: %s" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, gcc-internal-format + msgid "Explicit interface required for %qs at %L: %s" + msgstr "Explizite Schnittstelle für %qs bei %L erforderlich: %s" +@@ -68428,7 +68418,7 @@ msgstr "Zuweisung an zusammenhängenden Zeiger von nichtzusammenhängendem Ziel + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "Zeiger bei %L in Zeigerzuweisung könnte Zeigerziel überdauern" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must not be ALLOCATABLE" + msgstr "Ziel der Zeigerinitialisierung bei %L darf nicht ALLOCATABLE sein" +@@ -68438,7 +68428,7 @@ msgstr "Ziel der Zeigerinitialisierung bei %L darf nicht ALLOCATABLE sein" + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "Ziel der Zeigerinitialisierung bei %L muss das TARGET-Attribut haben" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must have the SAVE attribute" + msgstr "Ziel der Zeigerinitialisierung bei %L muss das SAVE-Attribut haben" +@@ -68569,7 +68559,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "Illegal id in copy_walk_reduction_arg" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, gcc-internal-format, gfc-internal-format + msgid "Creating array temporary at %L" +@@ -68786,12 +68776,12 @@ msgstr "Erstes Argument der definierten Zuweisung bei %L muss INTENT(OUT) oder I + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "Zweites Argument der definierten Zuweisung bei %L muss INTENT(IN)" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "Erstes Argument der Operatorschnittstelle bei %L muss INTENT(IN) sein" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "Zweites Argument der Operatorschnittstelle bei %L muss INTENT(IN) sein" +@@ -68901,567 +68891,567 @@ msgstr "Unverträgliche Ränge zwischen Argument bei %L und Argument bei %L (Ran + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "Unverträgliche Ränge zwischen Argument bei %L und Argument bei %L (Rang-%d und Rang-%d)" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid procedure argument at %L" + msgstr "Ungültiges Argument für Prozedur bei %L" + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, gcc-internal-format + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "Schnittstelle in Scheinprozedur %qs bei %L passt nicht: %s" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, gcc-internal-format + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "Effektives Argument für fortlaufenden Schein-Zeiger %qs bei %L muss einfach fortlaufend sein" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, gcc-internal-format, gfc-internal-format + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "Unverträgliche Typen zwischen Argument bei %L und Argument bei %L (%s/%s)." + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, gcc-internal-format + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr "Unpassender Typ in Argument %qs bei %L; %s wurde an %s übergeben" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "Feld mit vermutetem Rang bei %L erfordert Scheinargument %qs mit vermutetem Rang" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "Argument für angenommenen Typ bei %L, das dem Dummy-Argument %qs für den angenommenen Rang entspricht, muss von angenommener Form oder angenommenem Rang sein" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "Effektives Argument für %qs bei %L muss polymorph sein" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "Effektives Argument für %qs bei %L muss denselben deklarierten Typ haben" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "Effektives Argument für %qs bei %L muss unbegrenzt polymorph sein, da das formale Argument ein Zeiger oder reservierbare unbegrenzt polymorphe Entität ist [F2008: 12.5.2.5]" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "Effektives Argument für %qs bei %L sein muss Koarray sein" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, gcc-internal-format + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "Unpassender Korang in Argument %qs bei %L (%d und %d)" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "Effektives Argument für %qs bei %L muss einfach fortlaufend oder ein Element eines solchen Feldes sein" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "Effektives Argument für Nicht-INTENT(INOUT)-Platzhalter %qs bei %L mit Typ LOCK_TYPE oder einer Komponente LOCK_TYPE" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "Effektives Argument für Nicht-INTENT(INOUT)-Platzhalter %qs bei %L mit Typ EVENT_TYPE oder einer EVENT_TYPE-Komponente" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, gcc-internal-format + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "Scheinargument %qs muss Zeiger oder Feld mit angenommener Form ohne CONTIGUOUS-Attribut sein, da das effektive Argument bei %L nicht einfach fortlaufend ist und beide ASYNCHRONOUS oder VOLATILE sind" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "Koarray bei %L wird an reservierbares, Nicht-Coarray, INTENT(OUT) Scheinargument %qs übergeben" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "Koarray bei %L wird an reservierbares, Nicht-Coarray-Scheinargument %qs übergeben, das ungültig wird, wenn der Reservierungsstatus geändert wird" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, gcc-internal-format + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "Polymorphes Skalar wird an Feld-Scheinargument %qs bei %L übergeben" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, gcc-internal-format, gfc-internal-format + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "Element des Feldes mit vermuteter Form oder von Zeigern bei %L kann nicht zum Argument bei %L passen" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, gcc-internal-format + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "Element des Feldes mit vermuteter Form oder von Zeigern wird bei %2$L an ein Feld-Scheinargument %1$qs übergeben" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, gcc-internal-format + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "Erweiterung: Skalares effektives nicht-standardartiges, nicht-C_CHAR CHARACTER-Argument mit Feld-Scheinargument %qs bei %L" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, gcc-internal-format + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "Fortran 2003: Skalares effektives CHARACTER-Argument mit Feld-Scheinargument %qs bei %L" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "Schlüsselwort-Argument %qs bei %L darf innerhalb einer Anweisungsfunktion nicht auftauchen" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "Schlüsselwort-Argument %qs bei %L ist nicht in der Prozedur; meinen Sie %qs?" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "Schlüsselwort-Argument %qs bei %L ist nicht in der Prozedur" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "Schlüsselwort-Argument %qs bei %L ist bereits mit einem anderen effektiven Argument verbunden" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "Mehr effektive als formale Argumente in Prozeduraufruf bei %L" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "Fehlende alternative Rückgabespezifikation in Unterprogrammaufruf bei %L" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, gcc-internal-format, gfc-internal-format + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "Unerwartete alternative Rückgabespezifikation in Unterprogrammaufruf bei %L" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, gcc-internal-format + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "Unerwartetes intrinsisches NULL() bei %L für Schein-%qs" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, gcc-internal-format + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "Fortran 2008: Nullzeiger bei %L an Nicht-Zeiger-Schein-%qs" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, gcc-internal-format, gfc-internal-format + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "Argument bei %L für den angenommenen Typ des Dummys hat Typparameter oder hat einen abgeleiteten Typ mit typgebundenen oder FINAL-Prozeduren" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "Zeichenlänge passt nicht (%ld/%ld) zwischen effektivem Argument und Zeiger oder reservierbarem Scheinargument %qs bei %L" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "Zeichenlänge passt nicht (%ld/%ld) zwischen effektivem Argument und Scheinargument %qs mit vermuteter Form bei %L" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, gcc-internal-format + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "Effektives Argument bei %L an reservierbares oder Zeiger-Scheinargument %qs muss Parameter mit Typ aufgeschobener Länge haben, genau dann, wenn das Scheinargument einen solchen hat" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, gcc-internal-format + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "Zeichenlänge des effektiven Arguments kürzer als das des Scheinarguments %qs (%lu/%lu) bei %L" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, gcc-internal-format + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "Effektives Argument enthält zuwenige Elemente für Scheinargument %qs (%lu/%lu) bei %L" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, gcc-internal-format + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "Prozedurzeiger für Argument %qs bei %L erwartet" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, gcc-internal-format + msgid "Expected a procedure for argument %qs at %L" + msgstr "Prozedur für Argument %qs bei %L erwartet" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, gcc-internal-format + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "Effektives Argument für %qs kann nicht Feld vermuteter Größe bei %L sein" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, gcc-internal-format + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "Argument des INTENT(OUT)-Dummy für angenommenen Rang %qs bei %L muss eine bekannte Größe haben" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "Tatsächliches Argument für %qs bei %L muss ein Zeiger sein" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, gcc-internal-format + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "Fortran 2008: Effektives Nicht-Zeiger-Argument bei %L an Scheinzeiger %qs" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "Tatsächliches Argument für %qs bei %L muss ein Zeiger oder ein gültiges Ziel für den Dummy-Zeiger in einer Anweisung für Zeiger-Zuweisung sein" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "Koindiziertes effektives Argument bei %L an Scheinzeiger %qs" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "Koindiziertes effektives Argument bei %L an scheinreservierbares %qs erfordert INTENT(IN)" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, gcc-internal-format + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "Koindiziertes effektives ASYNCHRONOUS- oder VOLATILE-Argument bei %L erfordert, dass Schein-%qs weder ASYNCHRONOUS noch VOLATILE hat" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, gcc-internal-format + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "Koindiziertes effektives Argument bei %L mit reservierbarer endgültiger Komponente für Schein-%qs erfordert entweder VALUE oder INTENT(IN)" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, gcc-internal-format + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "Effektives CLASS-Feldargument für %qs muss ein vollständiges Feld bei %L sein" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, gcc-internal-format + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "Effektives Argument für %qs muss ALLOCATABLE bei %L sein" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, gcc-internal-format + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "Feldbereich mit Vektorindex als effektives Argument bei %L ist unverträglich mit INTENT(OUT), INTENT(INOUT), VOLATILE- und ASYNCHRONOUS-Attribut des Scheinarguments %qs" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, gcc-internal-format + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "Effektives Argument mit vermuteter Form bei %L ist wegen VOLATILE-Attribut unverträglich mit dem Scheinargument ohne vermutete Form %qs" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, gcc-internal-format + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "Feldbereich als effektives Argument bei %L ist wegen VOLATILE-Attribut unverträglich mit dem Scheinargument ohne vermutete Form %qs" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, gcc-internal-format + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "Zeigerfeld als effektives Argument bei %L erfordert wegen VOLATILE-Attribut ein Scheinargument %qs mit vermuteter Form oder als Zeigerfeld" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "Fehlende alternative Rückgabespezifikation in Unterprogrammaufruf bei %L" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, gcc-internal-format + msgid "Missing actual argument for argument %qs at %L" + msgstr "Fehlendes effektives Argument für Argument %qs bei %L" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr "compare_actual_expr(): Bad component code" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "check_some_aliasing(): List mismatch" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "check_some_aliasing(): corrupted data" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, gcc-internal-format + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "Gleiches effektives Argument mit INTENT(%s)-Argument %qs und INTENT(%s)-Argument %qs bei %L verbunden" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "check_intents(): List mismatch" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "Prozedurargument bei %L ist lokal für PURE-Prozedur und hat das POINTER-Attribut" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "Effektives koindiziertes Argument bei %L in PURE-Prozedur wird an INTENT(%s)-Argument übergeben" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "Effektives koindiziertes Argument bei %L in PURE-Prozedur wird an POINTER-Scheinargument übergeben" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, gcc-internal-format + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "Koindiziertem polymorphen effektiven Argument bei %L wird polymorphes Scheinargument %qs übergeben" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "Prozedur %qs, die bei %L aufgerufen wird, ist nicht explizit deklariert; meinen Sie %qs?" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "Prozedur %qs, die bei %L aufgerufen wird, ist nicht explizit deklariert" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, gcc-internal-format + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "Prozedur %qs mit einer impliziten Schnittstelle bei %L aufgerufen" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, gcc-internal-format + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "Das Zeigerobjekt %qs bei %L muss eine explizite Funktionsschnittstelle haben oder als Feld deklariert sein" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, gcc-internal-format + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "Das reservierbare Objekt %qs bei %L muss eine explizite Funktionsschnittstelle haben oder als Feld deklariert sein" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, gcc-internal-format + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "Reservierbare Funktion %qs bei %L muss eine explizite Funktionsschnittstelle haben" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, gcc-internal-format, gfc-internal-format + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "Explizite Schnittstelle für polymorphes Argument bei %L erforderlich" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "Schlüsselwort-Argument erfordert explizite Schnittstelle für Prozedur %qs bei %L" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "Argument »%s« bei %L vermuteten Typs erfordert eine explizite Schnittstelle" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, gcc-internal-format + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "Effektives Argument mit LOCK_TYPE oder mit LOCK_TYPE-Komponente bei %L erfordert eine explizite Schnittstelle für Prozedur %qs" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, gcc-internal-format + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "Effektives Argument mit EVENT_TYPE oder mit EVENT_TYPE-Komponente bei %L erfordert eine explizite Schnittstelle für Prozedur %qs" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD argument to NULL required at %L" + msgstr "MOLD-Argument an NULL bei %L erforderlich" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, gcc-internal-format, gfc-internal-format + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "Das Übergeben des eingebauten NULL als tatsächliches Argument bei %L erfordert eine explizite Schnittstelle" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "Argument vermuteten Ranges erfordert eine explizite Schnittstelle bei %L" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, gcc-internal-format + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "Prozedurzeiger-Komponente %qs mit einer impliziten Schnittstelle bei %L aufgerufen" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "Schlüsselwortargument erfordert explizite Schnittstelle für Prozedurzeigerkomponente %qs bei %L" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "In NULL()-Argument bei %L wird MOLD= benötigt: Mehrdeutig zwischen spezifischen Funktionen %s und %s" + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, gcc-internal-format + msgid "Unable to find symbol %qs" + msgstr "Symbol %qs kann nicht gefunden werden" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, gcc-internal-format + msgid "Entity %qs at %L is already present in the interface" + msgstr "Entität %qs bei %L ist bereits in der Schnittstelle vorhanden" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, gcc-internal-format + msgid "gfc_add_interface(): Bad interface type" + msgstr "gfc_add_interface(): Bad interface type" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, gcc-internal-format + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "GENERIC %qs bei %L kann nicht überschrieben werden" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, gcc-internal-format + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "%qs bei %L überschreibt eine Prozedurbindung, die als NON_OVERRIDABLE deklariert ist" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, gcc-internal-format + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "%qs bei %L darf nicht DEFERRED sein, da es eine Nicht-DEFERRED-Bindung überschreibt" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, gcc-internal-format + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "%qs bei %L überschreibt eine PURE-Prozedur und muss auch PURE sein" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, gcc-internal-format + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "%qs bei %L überschreibt eine ELEMENTAL-Prozedur und muss auch ELEMENTAL sein" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, gcc-internal-format + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "%qs bei %L überschreibt eine Nicht-ELEMENTAL-Prozedur und darf ebenfalls nicht ELEMENTAL sein" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, gcc-internal-format + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "%qs bei %L überschreibt eine SUBROUTINE und muss auch eine SUBROUTINE sein" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, gcc-internal-format + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "%qs bei %L überschreibt eine FUNCTION und muss auch eine FUNCTION sein" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, gcc-internal-format + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "Unpassendes Ergebnis für die überschreibende Prozedur %qs bei %L: %s" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, gcc-internal-format + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "%qs bei %L überschreibt eine PUBLIC-Prozedur und darf nicht PRIVATE sein" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, gcc-internal-format + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "Scheinargument %qs von %qs bei %L sollte %qs genannt werden, um zum zugehörigen Argument der überschriebenen Prozedur zu passen" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, gcc-internal-format + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "Unpassende Argumente für die überschreibende Prozedur %qs bei %L: %s" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, gcc-internal-format + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "%qs bei %L muss die gleiche Anzahl formaler Argumente wie die überschriebene Prozedur haben" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, gcc-internal-format + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "%qs bei %L überschreibt eine NOPASS-Bindung und muss ebenfalls NOPASS sein" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, gcc-internal-format + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "%qs bei %L überschreibt eine Bindung mit PASS und muss ebenfalls PASS sein" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "Scheinargument des übergebenen Objektes von %qs bei %L muss an der gleichen Stelle wie das Scheinargument des übergebenen Objektes der überschriebenen Prozedur stehen" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "DTIO-Scheinargument bei %L muss vom Typ %s sein" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "DTIO-Scheinargument bei %L muss von KIND = %d sein" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "DTIO-Scheinargument bei %L muss ein Skalar sein" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "DTIO-Scheinargument bei %L muss ein ASSUMED SHAPE ARRAY sein" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO character argument at %L must have assumed length" + msgstr "DTIO-Zeichenargument bei %L muss angenommene Länge haben" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "DTIO-Scheinargument bei %L muss INTENT %s haben" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "Alternativer Rücksprung bei %L ist in einer DTIO-Prozedur nicht erlaubt" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, gcc-internal-format + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "DTIO-Prozedur %qs bei %L muss ein Unterprogramm sein" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, gcc-internal-format + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "Zu wenige Scheinargumente in DTIO-Prozedur %qs bei %L" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, gcc-internal-format + msgid "Too many dummy arguments in DTIO procedure %qs at %L" + msgstr "Zu viele Scheinargumente in DTIO-Prozedur %qs bei %L" +@@ -69651,7 +69641,7 @@ msgstr "Umwandlung von %s in %s bei %L" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, gcc-internal-format, gfc-internal-format + msgid "Cannot convert %s to %s at %L" + msgstr "%s kann nicht nach %s bei %L umgewandelt werden" +@@ -70202,7 +70192,7 @@ msgstr "NAMELIST %qs in READ-Anweisung bei %L enthält Symbol %qs, das im Kontex + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "NAMELIST-Objekt %qs in Namensliste %qs bei %L ist polymorph und erfordert eine definierte Ein-/Ausgabeprozedur" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, gcc-internal-format + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" + msgstr "NAMELIST-Objekt %qs in Namensliste %qs bei %L mit ALLOCATABLE- oder POINTER-Komponenten" +@@ -70772,7 +70762,7 @@ msgstr "STOP-Code bei %L muss Standardzeichentyp KIND=%d sein" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "STOP-Code bei %L muss Standardganzzahltyp KIND=%d sein" + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, gcc-internal-format, gfc-internal-format + msgid "QUIET specifier at %L must be a scalar LOGICAL" + msgstr "Der Spezifizierer QUIET bei %L muss ein skalarer LOGICAL sein" +@@ -72639,8 +72629,8 @@ msgstr "ORDERED-Parameter der Klausel bei %L ist weniger als COLLAPSE" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "ORDER-Klausel bei %L darf nicht zusammen mit ORDERED verwendet werden" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "IF-Klausel bei %L erfordert einen skalaren LOGICAL-Ausdruck" +@@ -74616,727 +74606,717 @@ msgstr "Zeichenwertige Modulprozedur %qs bei %L darf keine vermutete Länge habe + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "Zeichenwertige interne Funktion %qs bei %L darf keine angenommene Länge haben" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "Funktion »%s« bei %L hat Einträge mit unpassenden Feldspezifikationen" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "Funktion »%s« bei %L hat Eintrag »%s« mit unpassenden Charakteristika" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "Funktion »%s« bei %L mit Einträgen, die Variablen mit verschiedenen Zeichenkettenlängen zurückgeben" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "FUNCTION-Ergebnis %s kann kein Feld in FUNCTION %s bei %L sein" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "ENTRY-Ergebnis %s kann kein Feld in FUNCTION %s bei %L sein" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "FUNCTION-Ergebnis %s kann kein POINTER in FUNCTION %s bei %L sein" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "ENTRY-Ergebnis %s kann kein POINTER in FUNCTION %s bei %L sein" + +-#: fortran/resolve.cc:881 +-#, gcc-internal-format, gfc-internal-format +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "FUNCTION-Ergebnis %s kann nicht ALLOCATABLE in FUNCTION %s bei %L sein" +- +-#: fortran/resolve.cc:885 +-#, gcc-internal-format, gfc-internal-format +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "ENTRY-Ergebnis %s kann nicht ALLOCATABLE in FUNCTION %s bei %L sein" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "FUNCTION-Ergebnis %s kann nicht vom Typ %s in FUNCTION %s bei %L sein" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "ENTRY-Ergebnis %s kann nicht vom Typ %s in FUNCTION %s bei %L sein" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "Globale Entität %qs bei %L kann nicht in einem COMMON-Block bei %L vorkommen" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "Globale Entität %qs bei %L darf nicht in einem COMMON-Block vorkommen" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, gcc-internal-format, gfc-internal-format + msgid "COMMON block at %L" + msgstr "COMMON-Block bei %L" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, gcc-internal-format + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "Variable %qs bei %L ist in COMMON, aber Initialisierung ist nur in BLOCK DATA erlaubt" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, gcc-internal-format + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "Initialisierte Variable %qs bei %L ist in leerem COMMON, aber Initialisierung ist nur in benannten COMMON-Blöcken erlaubt" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, gcc-internal-format + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "%qs bei %L kann nicht in COMMON auftreten [F2008:C5100]" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "Variable %qs abgeleiteten Typs in COMMON bei %L hat weder das SEQUENCE- noch das BIND(C)-Attribut" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "Variable %qs abgeleiteten Typs in COMMON bei %L hat eine endgültige Komponente, die allozierbar ist" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "Variable %qs abgeleiteten Typs in COMMON bei %L darf nicht Standardinitialisierung haben" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "In Fortran 2003 ist der COMMON-Block %qs bei %L ein globaler Bezeichner und muss daher den selben Bindungsnamen haben wie der gleichbenannte COMMON-Block bei %L: %s vs. %s" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, gcc-internal-format + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "COMMON-Block %qs bei %L verwendet denselben globalen Bezeichner wie die Entität bei %L" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "Fortran 2008: COMMON-Block %qs mit Binde-Marke bei %L teilt sich Bezeichner mit gobaler nicht-COMMON-Blockentität bei %L" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, gcc-internal-format + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "COMMON-Block bei %L mit Bindungsmarke %qs verwendet denselben globalen Bezeichner wie Entität bei %L" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, gcc-internal-format + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "COMMON-Block %qs bei %L wird bei %L als PARAMETER verwendet" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, gcc-internal-format + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "COMMON-Block %qs bei %L kann nicht das EXTERNAL-Attribut haben" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, gcc-internal-format + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "COMMON-Block %qs bei %L ist auch eine intrinsische Prozedur" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a function result" + msgstr "COMMON-Block %qs bei %L, der auch ein Funktionsergebnis ist" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "COMMON-Block %qs bei %L, der auch eine globale Prozedur ist" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "Der KIND-Parameter %qs im PDT-Konstruktor bei %C hat keinen Wert" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, gcc-internal-format, gfc-internal-format + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "Der Rang des Elements im Strukturkonstruktor bei %L passt nicht zu dem der Komponente (%d/%d)" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "Das Element im Strukturkonstruktor bei %L für Zeigerkomponente %qs ist %s, sollte aber %s sein" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, gcc-internal-format + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "Ungleiche Zeichenlängen (%wd/%wd) für Zeigerkomponente %qs in Konstruktor bei %L" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, gcc-internal-format + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "Das NULL im Strukturkonstruktor bei %L wird auf Komponente %qs angewandt, die aber weder ein POINTER noch ein ALLOCATABLE ist" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, gcc-internal-format + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "Unpassende Schnittstelle für Prozedurzeiger-Komponente %qs in Strukturkonstruktor bei %L: %s" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, gcc-internal-format + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "Der Strukturkonstruktor bei %2$L verweist auf die falsche Feldangabe der Komponente %1$qs" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, gcc-internal-format + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "Die Form der Komponente %qs im Strukturkonstruktor bei %L unterscheidet sich von der Form der deklarierten Komponente für die Dimension %d (%ld/%ld)" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "Das Element im Strukturkonstruktor bei %L für Zeigerkomponente %qs sollte ein POINTER oder ein TARGET sein" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, gcc-internal-format + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "Ungültiger Ausdruck im Strukturkonstruktor für Zeigerkomponente %qs bei %L in PURE-Prozedur" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, gcc-internal-format + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "Die obere Schranke in der letzten Dimension muss in der Referenz auf das Feld %qs vermuteter Größe bei %L auftreten" + +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, gcc-internal-format + msgid "%qs at %L is ambiguous" + msgstr "%qs bei %L ist mehrdeutig" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, gcc-internal-format + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "GENERIC-Prozedur %qs ist bei %L nicht als effektives Argument erlaubt" + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, gcc-internal-format + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "Für intrinsische Funktion %qs angegebener Typ bei %L wird ignoriert" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, gcc-internal-format + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "Intrinsisches Unterprogramm %qs bei %L darf keine Typspezifizierung haben" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, gcc-internal-format + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "INTRINSIC deklariertes %qs bei %L existiert nicht" + +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, gcc-internal-format + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "Das bei %2$L deklarierte INTRINSIC %1$qs ist in den derzeitigen Standardeinstellungen nicht verfügbar, außer %3$s. Entsprechende Option %<-std=*%> verwenden, oder %<-fall-intrinsics%> einschalten, um es zu verwenden." + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, gcc-internal-format + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "Nicht-RECURSIVE Prozedur %qs bei %L ruft sich möglicherweise rekursiv selbst auf. Sollte als RECURSIVE oder mit %<-frecursive%> verwendet werden" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "Marke %d wird bei %L referenziert, aber nirgendwo definiert" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, gcc-internal-format + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "Abgeleiteter Typ %qs wird als Argument bei %L verwendet" + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, gcc-internal-format + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "Anweisungsfunktion %qs bei %L ist nicht als effektives Argument erlaubt" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, gcc-internal-format + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "Eingebautes %qs bei %L ist nicht als effektives Argument erlaubt" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, gcc-internal-format + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "Interne Prozedur %qs wird als effektives Argument bei %L verwendet" + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, gcc-internal-format + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "ELEMENTAL, nicht-INTRINSIC-Prozedur %qs ist nicht als effektives Argument bei %L erlaubt" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, gcc-internal-format + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "Spezifische INTRINSIC-Prozedur für Referenz %qs bei %L kann nicht gefunden werden" + +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, gcc-internal-format + msgid "Symbol %qs at %L is ambiguous" + msgstr "Symbol %qs bei %L ist mehrdeutig" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not of numeric type" + msgstr "Wertargument bei %L hat keinen numerischen Typ" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "Wertargument bei %L kann kein Feld oder Feldabschnitt sein" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not allowed in this context" + msgstr "Wertargument bei %L ist in diesem Kontext nicht erlaubt" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "Übergabe der eingebauten Prozedur über die Speicherstelle ist bei %L nicht erlaubt" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, gcc-internal-format + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "ELEMENTAL Prozedurzeigerkomponente %qs ist nicht als effektives Argument bei %L erlaubt" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "Koindiziertes effektives Argument bei %L mit endgültiger Zeigerkomponente" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, gcc-internal-format + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "%qs bei %L ist ein Feld und OPTIONAL; wenn es fehlt, kann es nicht das effektive Argument einer ELEMENTAL-Prozedur sein, es sei denn, es gibt ein nicht-optionales Argument mit demselben Rang (Fortran 2018, 15.5.2.12)" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, gcc-internal-format + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "Effektives Argument bei %L für INTENT(%s)-Dummy %qs von ELEMENTAL-Unterprogramm %qs ist skalar, aber ein anderes effektives Argument ist ein Feld" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, gcc-internal-format + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "Unpassender Rückgabetyp der Funktion %qs bei %L (%s/%s)" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, gcc-internal-format + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "Schnittstelle in globaler Prozedur %qs bei %L passt nicht: %s" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, gcc-internal-format + msgid "There is no specific function for the generic %qs at %L" + msgstr "Es gibt keine spezifische Funktion für das allgemeine %qs bei %L" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, gcc-internal-format + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "Generische Funktion %qs bei %L ist nicht mit spezifischer intrinsischer Schnittstelle vereinbar" + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, gcc-internal-format + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "Funktion %qs bei %L ist INTRINSIC, aber nicht mit einer intrinsischen Funktion verträglich" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, gcc-internal-format + msgid "Unable to resolve the specific function %qs at %L" + msgstr "Spezifische Funktion %qs bei %L kann nicht aufgelöst werden" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "Fehlende explizite Deklaration mit EXTERNAL-Attribut für Symbol %qs bei %L" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "Funktion %qs bei %L hat keinen IMPLICIT-Typ; meinen Sie %qs?" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "Funktion %qs bei %L hat keinen IMPLICIT-Typ" + +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "Referenz auf Nicht-PURE-Funktion %qs bei %L innerhalb eines FORALL %s" + +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "Referenz auf Nicht-PURE-Funktion %qs bei %L innerhalb eines DO CONCURRENT %s" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "Referenz auf Nicht-PURE-Funktion %qs bei %L innerhalb einer PURE-Prozedur" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, gcc-internal-format + msgid "Unexpected junk after %qs at %L" + msgstr "Unerwarteter Ausschuss hinter %qs bei %L" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, gcc-internal-format + msgid "%qs at %L is not a function" + msgstr "%qs bei %L ist keine Funktion" + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "ABSTRACT INTERFACE %qs darf bei %L nicht referenziert werden" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "ABSTRACT INTERFACE %qs bei %L darf kein angenommenes Zeichenlängenergebnis haben (F2008: C418)" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, gcc-internal-format + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "Funktion %qs ist als CHARACTER(*) deklariert und kann nicht bei %L verwendet werden, da es kein Scheinargument ist" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, gcc-internal-format + msgid "resolve_function(): bad function type" + msgstr "Interner Fehler: resolve_function(): bad function type" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "Eine BOZ-Literalkonstante bei %L kann nicht als tatsächliches Argument in einer Funktionsreferenz verwendet werden" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, gcc-internal-format + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "Benutzerdefinierte nicht-ELEMENTAL-Funktion %qs bei %L ist in WORKSHARE-Konstrukt nicht erlaubt" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "ENTRY %qs bei %L kann nicht rekursiv aufgerufen werden, da Funktion %qs nicht RECURSIVE ist" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, gcc-internal-format + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "Funktion %qs bei %L kann nicht rekursiv aufgerufen werden, da sie nicht RECURSIVE ist" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, gcc-internal-format + msgid "Using function %qs at %L is deprecated" + msgstr "Verwendung der Funktion %qs bei %L ist veraltet" + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, gcc-internal-format + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "Unterprogrammaufruf von %qs in FORALL-Block bei %L ist nicht PURE" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, gcc-internal-format + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "Unterprogrammaufruf von %qs in »DO CONCURRENT«-Block bei %L ist nicht PURE" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, gcc-internal-format + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "Unterprogrammaufruf von %qs bei %L ist nicht PURE" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, gcc-internal-format + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "Es gibt kein spezifisches Unterprogramm für allgemeines %qs bei %L" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, gcc-internal-format + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "Generisches Unterprogramm %qs bei %L ist nicht mit intrinsischer Unterprogrammschnittstelle vereinbar" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, gcc-internal-format + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "Unterprogramm %qs bei %L ist INTRINSIC, aber nicht mit intrinsischer Funktion verträglich" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, gcc-internal-format + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "Spezifisches Unterprogramm %qs bei %L kann nicht aufgelöst werden" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, gcc-internal-format + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "%qs bei %L hat einen Typen, der nicht zum CALL bei %L passt" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "ENTRY %qs bei %L kann nicht rekursiv aufgerufen werden, da Unterprogramm %qs nicht RECURSIVE ist" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, gcc-internal-format + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "SUBROUTINE %qs bei %L kann nicht rekursiv aufgerufen werden, da sie nicht RECURSIVE ist" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, gcc-internal-format + msgid "resolve_subroutine(): bad function type" + msgstr "resolve_subroutine(): bad function type" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, gcc-internal-format + msgid "Using subroutine %qs at %L is deprecated" + msgstr "Verwenden der Subroutine %qs bei %L ist veraltet" + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, gcc-internal-format, gfc-internal-format + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "Formen der Operanden bei %L und %L stimmen nicht überein" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "logical_to_bitwise(): Bad intrinsic" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, gcc-internal-format + msgid "Impure function %qs at %L might not be evaluated" + msgstr "Unreine Funktion %qs bei %L wird möglicherweise nicht ausgewertet" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, gcc-internal-format, gfc-internal-format + msgid "Impure function at %L might not be evaluated" + msgstr "Unreine Funktion bei %L wird möglicherweise nicht ausgewertet" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, gcc-internal-format + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "BOZ-Literalkonstante bei %L kann kein Operand des einstelligen Operators %qs sein" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "Operanden bei %L und %L können nicht als Operanden des binären Operators %qs verwendet werden" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, gcc-internal-format, gfc-internal-format + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" + msgstr "BOZ-Literalkonstante bei %L kann nicht als Operand eines Vergleichsoperators vorkommen" + +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, gcc-internal-format, gfc-internal-format + msgid "Equality comparison for %s at %L" + msgstr "Vergleich auf Gleichheit für %s bei %L" + +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, gcc-internal-format, gfc-internal-format + msgid "Inequality comparison for %s at %L" + msgstr "Vergleich auf Ungleichheit für %s bei %L" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "resolve_operator(): Bad intrinsic" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Feldreferenz bei %L ist außerhalb der Schranken (%ld < %ld) in Dimension %d" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "Feldreferenz bei %L ist außerhalb der Grenzen (%ld < %ld) in Kodimension %d" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Feldreferenz bei %L ist außerhalb der Schranken (%ld > %ld) in Dimension %d" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "Feldreferenz bei %L ist außerhalb der Grenzen (%ld > %ld) in Kodimension %d" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "Unzulässiger Schritt von Null bei %L" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Untere Feldreferenz bei %L ist außerhalb der Schranken (%ld < %ld) in Dimension %d" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Untere Feldreferenz bei %L ist außerhalb der Schranken (%ld > %ld) in Dimension %d" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Obere Feldreferenz bei %L ist außerhalb der Schranken (%ld < %ld) in Dimension %d" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Obere Feldreferenz bei %L ist außerhalb der Schranken (%ld > %ld) in Dimension %d" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, gcc-internal-format + msgid "check_dimension(): Bad array reference" + msgstr "check_dimension(): Bad array reference" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "Rechte obere Schranke des Feldabschnitts angenommener Größe nicht angegeben bei %L" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "Unpassende Ränge in Feldreferenz bei %L (%d/%d)" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "Unpassende Ränge des Koindex in Feldreferenz bei %L (%d/%d)" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "Koindex der Kodimension %d muss bei %L ein Skalar sein" + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "Feldindex bei %L muss skalar sein" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "Feldindex bei %L muss INTEGER-Typ haben, %s gefunden" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, gcc-internal-format, gfc-internal-format + msgid "REAL array index at %L" + msgstr "REAL-Feld-Index bei %L" + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "Argument dim bei %L muss skalar sein" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "Argument dim bei %L muss INTEGER-Typ haben" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid array reference of a non-array entity at %L" + msgstr "Ungültige Feldreferenz der Nicht-Feld-Entität bei %L" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "find_array_spec(): unused as(1)" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "find_array_spec(): unused as(2)" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "Feldindex bei %L ist ein Feld mit Rang %d" + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "Anfangs-Index der Teilzeichenkette bei %L muss INTEGER-Typ haben" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "Anfangs-Index der Teilzeichenkette bei %L muss skalar sein" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "End-Index der Teilzeichenkette bei %L muss INTEGER-Typ haben" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "End-Index der Teilzeichenkette bei %L muss skalar sein" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L is too large" + msgstr "End-Index der Teilzeichenkette bei %L ist zu groß" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, gcc-internal-format + msgid "resolve_ref(): Bad array reference" + msgstr "resolve_ref(): Bad array reference" + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "Komponente rechts einer Teilreferenz mit Rang größer Null darf kein POINTER-Attribut bei %L haben" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "Komponente rechts einer Teilreferenz mit Rang ungleich Null darf bei %L kein Attribut ALLOCATABLE haben" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "Zwei oder mehr Teilreferenzen mit Rang größer Null dürfen nicht bei %L angegeben werden" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "gfc_expression_rank(): Two array specs" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "Variable %s bei %L mit NO_ARG_CHECK-Attribut kann nur als effektives Argument verwendet werden" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may only be used as actual argument" + msgstr "Variable %s vermuteten Typs bei %L kann nur als effektives Argument verwendet werden" +@@ -75345,12 +75325,12 @@ msgstr "Variable %s vermuteten Typs bei %L kann nur als effektives Argument verw + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "Variable %s vermuteten Typs bei %L als effektives Argument für Abfragefunktion muss das erste Argument sein" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L may only be used as actual argument" + msgstr "Variable %s vermuteten Ranges bei %L kann nur als effektives Argument verwendet werden" +@@ -75359,294 +75339,294 @@ msgstr "Variable %s vermuteten Ranges bei %L kann nur als effektives Argument ve + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "Variable %s vermuteten Ranges bei %L als effektives Argument für Abfragefunktion muss das erste Argument sein" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "Variable %s bei %L mit NO_ARG_CHECK-Attribut darf keine Referenz auf Subobjekt haben" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "Variable %s vermuteten Typs bei %L darf keine Referenz auf Subobjekt haben" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "Variable »%s« vermuteten Ranges bei %L darf keine Referenz auf Subobjekt haben" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, gcc-internal-format + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "In Spezifikationsausdruck verwendete Variable %qs wird bei %L vor Anweisung ENTRY referenziert, in der sie ein Parameter ist" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, gcc-internal-format + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "Variable %qs wird bei %L vor Anweisung ENTRY verwendet, in der sie ein Parameter ist" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "Polymorphes Subobjekt des koindizierten Objektes bei %L" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "Koindiziertes Objekt mit polymorpher reservierbarer Subkomponente bei %L" + +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, gcc-internal-format + msgid "Using variable %qs at %L is deprecated" + msgstr "Verwendung der Variable %qs bei %L ist veraltet" + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, gcc-internal-format + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "%qs bei %L ist Host-verbunden bei %L in eine enthaltene Prozedur mit einer gleichnamigen internen Prozedur" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, gcc-internal-format, gfc-internal-format + msgid "Error in typebound call at %L" + msgstr "Fehler in Typbeschränktem Aufruf bei %L" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, gcc-internal-format, gfc-internal-format + msgid "Passed-object at %L must be scalar" + msgstr "Weitergegebenes Objekt bei %L muss Skalar sein" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, gcc-internal-format + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "Basisobjekt für Aufruf der Prozedurzeigerkomponente bei %L hat ABSTRACT-Typ %qs" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "Basisobjekt für Aufruf der typgebundenen Prozedur bei %L hat ABSTRACT-Typ %qs" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, gcc-internal-format, gfc-internal-format + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "Basisobjekt für Aufruf der typgebundenen NOPASS-Prozedur bei %L muss skalar sein" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, gcc-internal-format + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "Keine passende spezifische Bindung für Aufruf des GENERIC %qs bei %L gefunden" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, gcc-internal-format + msgid "%qs at %L should be a SUBROUTINE" + msgstr "%qs bei %L sollte eine SUBROUTINE sein" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, gcc-internal-format + msgid "%qs at %L should be a FUNCTION" + msgstr "%qs bei %L sollte eine FUNCTION sein" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, gcc-internal-format + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "gfc_resolve_expr(): Bad expression type" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "%s bei %L muss skalar sein" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be integer" + msgstr "%s bei %L muss ganzzahlig sein" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "%s bei %L muss INTEGER sein" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "Schrittausdruck in DO-Schleife bei %L kann nicht Null sein" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "DO-Schleife bei %L wird null mal ausgeführt" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "DO-Schleife bei %L ist undefiniert, da sie überläuft" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "DO-Schleife bei %L ist undefiniert, da sie unterläuft" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "FORALL-Indexname bei %L muss skalarer INTEGER sein" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "FORALL-Anfangsausdruck bei %L muss skalarer INTEGER sein" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "FORALL-Endausdruck bei %L muss skalarer INTEGER sein" + +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "FORALL-Schrittausdruck bei %L muss skalares %s sein" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "FORALL-Schrittausdruck bei %L kann nicht Null sein" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, gcc-internal-format + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "FORALL-Index %qs kann nicht in Tripel-Spezifikation bei %L auftreten" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "ALLOCATE-Objekt bei %L muss ALLOCATABLE oder ein POINTER sein" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "Koindiziertes reservierbares Objekt bei %L" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "Quell-Ausdruck bei %L muss skalar sein oder den selben Rang wie das ALLOCATE-Objekt bei %L haben" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "Quell-Ausdruck bei %L und ALLOCATE-Objekt bei %L müssen dieselbe Form haben" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "Typ der Entität bei %L ist mit Quellausdruck bei %L typunverträglich" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "Das ALLOCATE-Objekt bei %L und der Quellausdruck bei %L müssen Typparameter der gleichen Art haben" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "Der Quellausdruck bei %L darf weder vom Typ LOCK_TYPE sein noch eine LOCK_TYPE-Komponente haben, wenn ALLOCATE-Objekt bei %L ein Koarray ist" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "Der Quellausdruck bei %L darf weder vom Typ EVENT_TYPE sein noch eine EVENT_TYPE-Komponente haben, wenn ALLOCATE-Objekt bei %L ein Koarray ist" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "Reservierung von %s mit ABSTRACT-Basistyp bei %L erfordert Typspezifikation oder Quellausdruck" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "Reservierung von %s bei %L mit Typspezifikation erfordert den selben Zeichenkettenlängenparameter wie in der Deklaration" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "In ALLOCATE-Anweisung bei %L ist Feld-Spezifikation erforderlich" + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "Feldspezifikation oder feldwertiger SOURCE=-Ausdruck erforderlich in ALLOCATE-Anweisung bei %L" + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, gcc-internal-format, gfc-internal-format + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "Koarray-Spezifikation in ALLOCATE-Anweisung bei %L erforderlich" + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, gcc-internal-format, gfc-internal-format + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "Falsche Koarray-Spezifikation in ALLOCATE-Anweisung bei %L" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "Obere Kogrenze ist kleiner als untere Kogrenze bei %L" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "Obere Kogrenze ist kleiner als untere Kogrenze von 1 bei %L" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "Falsche Feldspezifikation in ALLOCATE-Anweisung bei %L" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, gcc-internal-format + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "%qs darf nicht bei %L in einer Feldspezifikation in der gleichen ALLOCATE-Anweisung auftreten, wo es selbst alloziert wird" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, gcc-internal-format + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "In Koindex-Spezifikation in ALLOCATE-Anweisung bei %L wird %<*%> erwartet" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "Stat-Variable bei %L muss skalare INTEGER-Variable sein" + +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "Stat-Variable bei %L darf nicht %s innerhalb der gleichen %s-Anweisung sein" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "ERRMSG bei %L ist ohne STAT-Marke nutzlos" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "»ERRMSG=«-Variable bei %L muss skalare Default-CHARACTER-Variable sein" + +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "ERRMSG-Variable bei %L darf nicht »%s« innerhalb der selben »%s«-Anweisung sein" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "ALLOCATE-Objekt bei %L tritt auch bei %L auf" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "ALLOCATE-Objekt bei %L ist Subobjekt des Objekts bei %L" +@@ -75655,284 +75635,284 @@ msgstr "ALLOCATE-Objekt bei %L ist Subobjekt des Objekts bei %L" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "CASE-Marke bei %L überschneidet sich mit CASE-Marke bei %L" + +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "Ausdruck in CASE-Anweisung bei %L muss Typ %s haben" + +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "Ausdruck in CASE-Anweisung bei %L muss von der Art %d sein" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "Ausdruck in CASE-Anweisung bei %L muss skalar sein" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "Auswahlausdruck in berechneter GOTO-Anweisung bei %L muss ein skalarer Ganzzahlausdruck sein" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "Argument der SELECT-Anweisung bei %L kann nicht %s sein" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "Argument der SELECT-Anweisung bei %L muss ein skalarer Ausdruck sein" + +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "Ausdruck in CASE-Anweisung bei %L ist nicht im Bereich von %s" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "Der DEFAULT CASE bei %L kann nicht von zweitem DEFAULT CASE bei %L gefolgt werden" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "Logischer Bereich in CASE-Anweisung bei %L ist nicht erlaubt" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, gcc-internal-format, gfc-internal-format + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "Konstanter logischer Wert in CASE-Anweisung wird bei %L wiederholt" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "Bereichsspezifikation bei %L kann nie passen" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "Logischer SELECT CASE Block bei %L hat mehr als zwei Fälle" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "Zugeordneter Name %qs bei %L ist ein Prozedurzeiger" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, gcc-internal-format + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "Abgeleiteter Typ %qs kann bei %L nicht als Variable verwendet werden" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure name" + msgstr "Zugeordneter Name %qs bei %L ist ein Prozedurname" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "Der zuordnende Selektor-Ausdruck bei %L ergibt eine Prozedur" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L cannot be NULL()" + msgstr "Selektor bei %L darf nicht NULL() sein" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L has no type" + msgstr "Selektor bei %L hat keinen Typ" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "Zugeordneter Name %qs bei %L wird als Feld verwendet" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "CLASS-Selektor bei %L erfordert Zwischenspeicher, was noch nicht implementiert ist" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, gcc-internal-format, gfc-internal-format + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "Selektor muss in SELECT TYPE-Anweisung bei %L polymorph sein" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L must not be coindexed" + msgstr "Selektor bei %L darf nicht koindiziert sein" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, gcc-internal-format, gfc-internal-format + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "TYPE IS bei %L überlappt sich mit TYPE IS bei %L" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, gcc-internal-format + msgid "Derived type %qs at %L must be extensible" + msgstr "Abgeleiteter Typ %qs bei %L muss erweiterbar sein" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, gcc-internal-format + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "Abgeleiteter Typ %qs bei %L muss eine Erweiterung von %qs sein" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, gcc-internal-format + msgid "Unexpected intrinsic type %qs at %L" + msgstr "Unerwarteter intrinsischer Typ %qs bei %L" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, gcc-internal-format, gfc-internal-format + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "Die Typspezifikation bei %L muss angeben, dass jeder Parameter mit Längentyp vermutet ist" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "Doppelter CLASS IS-Block in SELECT TYPE-Anweisung bei %L" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "RANK DEFAULT bei %L wird bei %L wiederholt" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "RANK (*) bei %L wird bei %L wiederholt" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "RANK (%i) bei %L wird bei %L wiederholt" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "RANK (*) bei %L kann nicht mit dem Zeiger oder dem allozierbaren Selektor bei %L verwendet werden" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "Ungültiger Kontext für NULL()-Zeiger bei %L" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO %s procedure at %L must be recursive" + msgstr "DTIO-%s-Prozedur bei %L muss rekursiv sein" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "Element zum Datenaustausch bei %L kann nicht polymorph sein, außer es wird von einer definierten E/A-Prozedur verarbeitet" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "Datenübertragungselement bei %L kann keine POINTER-Komponenten haben, außer es wird von einer definierten E/A-Prozedur verarbeitet" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "Datenübertragungselement bei %L kann keine Prozedurzeiger-Komponenten haben" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "Datenübertragungselement bei %L kann keine ALLOCATABLE-Komponenten haben, außer es wird von einer definierten E/A-Prozedur verarbeitet" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "Datenübertragungselement bei %L kann keine PRIVATE-Komponenten haben" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "Datenübertragungselement bei %L kann keine PRIVATE-Komponenten haben, außer es wird von einer definierten E/A-Prozedur verarbeitet" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "Datenübertragungselement bei %L kann keine vollständige Referenz auf Feld vermuteter Größe sein" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, gcc-internal-format, gfc-internal-format + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "Lock-Variable bei %L muss Skalar mit LOCK_TYPE sein" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "Ereignis-Variable bei %L muss Skalar mit EVENT_TYPE sein" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "Argument für Ereignisvariable bei %L muss ein Koarray oder koindiziert sein" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "Argument für Ereignisvariable bei %L muss ein Koarray, aber nicht koindiziert sein" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, gcc-internal-format, gfc-internal-format + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "»STAT=«-Argument bei %L muss skalare INTEGER-Variable sein" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "»ERRMSG=«-Argument bei %L muss skalare CHARACTER-Variable sein" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, gcc-internal-format, gfc-internal-format + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "»ACQUIRED_LOCK=«-Argument bei %L muss skalare LOGICAL-Variable sein" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, gcc-internal-format, gfc-internal-format + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "Argument UNTIL_COUNT= bei %L muss ein skalarer INTEGER-Ausdruck sein" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "Argument für Imageset bei %L muss Skalar oder Rang-1-INTEGER-Ausdruck sein" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "Argument für Imageset bei %L muss zwischen 1 und num_images() liegen" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, gcc-internal-format, gfc-internal-format + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "Anweisung bei %L ist keine gültige Sprungzielanweisung für Sprungziel bei %L" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, gcc-internal-format, gfc-internal-format + msgid "Branch at %L may result in an infinite loop" + msgstr "Sprung bei %L könnte Endlosschleife bewirken" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "GOTO-Anweisung bei %L hinterlässt CRITICAL-Konstrukt für Marke bei %L" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "GOTO-Anweisung bei %L hinterlässt DO CONCURRENT-Konstrukt für Marke bei %L" +@@ -75940,210 +75920,210 @@ msgstr "GOTO-Anweisung bei %L hinterlässt DO CONCURRENT-Konstrukt für Marke be + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "Marke bei %L ist nicht im gleichen Block wie GOTO-Anweisung bei %L" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "WHERE-Maske bei %L hat ungültige Form" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "WHERE-Zuweisungsziel bei %L hat ungültige Form" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "Benutzerdefinierte Nicht-ELEMENTAL-Zuweisung in WHERE bei %L" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "Nicht unterstützte Anweisung in WHERE bei %L" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "Zuweisung an FORALL-Indexvariable bei %L" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, gcc-internal-format + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "Das FORALL mit Index %qs wird nicht auf der linken Seite der Zuweisung bei %L verwendet und könnte somit mehrere Zuweisungen an dieses Objekt auslösen" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL construct at %L" + msgstr "FORALL-Konstrukt bei %L" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "FORALL-Indexname bei %L muss skalarer INTEGER sein" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "Ein äußeres FORALL-Konstrukt hat bereits einen Index mit Namen %L" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "Klausel WHERE/ELSEWHERE bei %L erfordert ein LOGICAL-Feld" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "gfc_resolve_blocks(): Bad block type" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, gcc-internal-format, gfc-internal-format + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "CHARACTER-Ausdruck wird in Zuweisung (%ld/%ld) bei %L abgeschnitten" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "Koindizierter Ausdruck bei %L wird einer Variable abgeleiteten Typs mit einer POINTER-Komponente in einer PURE-Prozedur zugewiesen" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "In einem reinen Unterprogramm darf ein INTENT(IN)-Dummy-Argument nicht als »expr« bei %L einer intrinsischen Zuweisungsanweisung verwendet werden, in der die Variable von einem abgeleiteten Typ ist, wenn der abgeleitete Typ eine Zeigerkomponente auf irgendeiner Ebene der Komponentenauswahl hat." + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "Zuweisung an koindizierte Variable bei %L in einer PURE-Prozedur" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "Zuweisung an polymorphes Koarray bei %L ist nicht erlaubt" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "Zuweisung an allozierbare polymorphe Variable bei %L" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "Zuweisung an allozierbare polymorphe Variable bei %L erfordert %<-frealloc-lhs%>" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, gcc-internal-format + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "Nicht allozierbare Variable darf in intrinsischer Zuweisung bei %L nicht polymorph sein – bitte prüfen, ob es ein passendes spezifisches Unterprogramm für den »=«-Operator gibt" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "Koindizierte Variable darf keine reservierbare endgültige Komponente in Zuweisung bei %L haben" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "TODO: als typgebunden definierte Zuweisung(en) bei %L nicht durchgeführt, da Feldreferenzen mit mehreren Teilen in Ausdrücken als Zwischenergebnisse auftreten würden." + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer procedure assignment at %L" + msgstr "Zuweisung eines Prozedurzeigers bei %L" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, gcc-internal-format, gfc-internal-format + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "Funktionsergebnis auf der linken Seite der Zuweisung bei %L muss Zeiger-Attribut haben." + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, gcc-internal-format + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "TEAM-Argument für %qs bei %L muss ein skalarer Ausdruck vom Typ TEAM_TYPE sein" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, gcc-internal-format, gfc-internal-format + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "»TEAM NUMBER«-Argument für FORM TEAM bei %L muss skalares INTEGER sein" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "Anweisung ASSIGNED GOTO bei %L erfordert eine skalare INTEGER-Variable" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, gcc-internal-format + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "Variable %qs bei %L wurde keine Zielmarke zugewiesen" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "Alternative RETURN-Anweisung bei %L erfordert einen SCALAR-INTEGER-Spezifizierer als Rückgabe" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, gcc-internal-format, gfc-internal-format + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "Erwarteter intrinsischer Initialisierungsausdruck OMP WORKSHARE bei %L" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "ASSIGN-Anweisung bei %L erfordert eine skalare Standard-INTEGER-Variable" + +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid NULL at %L" + msgstr "Ungültiges NULL bei %L" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, gcc-internal-format, gfc-internal-format + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "Arithmetische IF-Anweisung bei %L erfordert einen skalaren REAL- oder INTEGER-Ausdruck" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "gfc_resolve_code(): No expression on DO WHILE" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "Abbruchbedingung der DO WHILE-Schleife bei %L muss ein skalarer LOGICAL-Ausdruck sein" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "FORALL-Maskenklausel bei %L erfordert einen skalaren LOGICAL-Ausdruck" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596 +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, gcc-internal-format + msgid "gfc_resolve_code(): Bad statement code" + msgstr "gfc_resolve_code(): Bad statement code" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, gcc-internal-format + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "Verwendung von Parameter %qs, der bei %L deklariert wurde, ist veraltet" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, gcc-internal-format + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "Variable %1$qs bei %3$L mit Binde-Marke %2$qs verwenden denselben globalen Bezeichner wie die Entität bei %4$L" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, gcc-internal-format + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" + msgstr "Variable %qs aus Modul %qs mit Bindungsmarke %qs bei %L verwendet denselben globalen Bezeichner wie Entität bei %L aus Modul %qs" +@@ -76151,985 +76131,985 @@ msgstr "Variable %qs aus Modul %qs mit Bindungsmarke %qs bei %L verwendet densel + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, gcc-internal-format + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "Prozedur %1$qs bei %3$L mit Binde-Marke %2$qs verwenden denselben globalen Bezeichner wie die Entität bei %4$L" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, gcc-internal-format, gfc-internal-format + msgid "String length at %L is too large" + msgstr "Zeichenkettenlänge bei %L ist zu groß" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, gcc-internal-format + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "Reservierbares Feld %qs bei %L muss aufgeschobene Form oder vermuteten Rang haben" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, gcc-internal-format + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "Skalares Objekt %qs bei %L kann nicht ALLOCATABLE sein" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, gcc-internal-format + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "Feldzeiger %qs bei %L muss aufgeschobene Form oder vermuteten Rang haben" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, gcc-internal-format + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "Feld %qs bei %L kann keine aufgeschobene Form haben" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "Typ %qs der CLASS-Variable %qs bei %L ist nicht erweiterbar" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "CLASS-Variable %qs bei %L muss Attrappe, reservierbar oder Zeiger sein" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, gcc-internal-format + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "Der Typ %qs bei %L darf nicht mit Wirt verbunden sein, da er von unverträglichem bei %L definierten Objekt mit gleichem Namen blockiert wird" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, gcc-internal-format + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "Einbezogenes SAVE für Modulvariable %qs bei %L, benötigt wegen Standardinitialisierung" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, gcc-internal-format + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" + msgstr "Entität %qs bei %L hat Parameter mit aufgeschobenem Typ und benötigt entweder das POINTER- oder ALLOCATABLE-Attribut" + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, gcc-internal-format + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "Das Feld %qs im Modul oder Hauptprogramm bei %L muss konstante Form haben" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "Entität mit vermuteter Zeichenlänge bei %L muss ein Scheinargument oder ein PARAMETER sein" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, gcc-internal-format + msgid "%qs at %L must have constant character length in this context" + msgstr "%qs bei %L muss in diesem Zusammenhang konstante Zeichenlänge haben" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, gcc-internal-format + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "COMMON-Variable %qs bei %L muss konstante Zeichenlänge haben" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, gcc-internal-format + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "Zuordnungsfähiges %qs bei %L kann keine Initialisierung haben" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, gcc-internal-format + msgid "External %qs at %L cannot have an initializer" + msgstr "Externes %qs bei %L kann keine Initialisierung haben" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, gcc-internal-format + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "Schein-%qs bei %L kann keine Initialisierung haben" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, gcc-internal-format + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "Intrinsisches %qs bei %L kann keine Initialisierung haben" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, gcc-internal-format + msgid "Function result %qs at %L cannot have an initializer" + msgstr "Funktionsergebnis %qs bei %L kann keine Initialisierung haben" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, gcc-internal-format + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "Automatisches Feld %qs bei %L kann keine Initialisierung haben" + +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L" + msgstr "%s bei %L" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, gcc-internal-format + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "Zeichenwertige Anweisungsfunktion %qs bei %L muss konstante Länge haben" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, gcc-internal-format + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "%qs hat PRIVATE-Typ und kann kein Scheinargument von %qs bei %L sein, das PUBLIC ist" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, gcc-internal-format + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "Prozedur %qs in PUBLIC-Schnittstelle %qs bei %L nimmt Scheinargumente von %qs, das PRIVATE ist" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, gcc-internal-format + msgid "Function %qs at %L cannot have an initializer" + msgstr "Funktion %qs bei %L darf keinen Initialisierer haben" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, gcc-internal-format + msgid "External object %qs at %L may not have an initializer" + msgstr "Externes Objekt %qs bei %L darf keinen Initialisierer haben" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, gcc-internal-format + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "ELEMENTAL-Funktion %qs bei %L muss ein skalares Ergebnis haben" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, gcc-internal-format + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "Anweisungsfunktion %qs bei %L darf weder POINTER- oder ALLOCATABLE-Attribut haben" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "CHARACTER(*)-Funktion %qs bei %L darf nicht feld-wertig sein" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "CHARACTER(*)-Funktion %qs bei %L darf nicht zeiger-wertig sein" + +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "CHARACTER(*)-Funktion %qs bei %L darf nicht rein sein" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "CHARACTER(*)-Funktion %qs bei %L darf nicht rekursiv sein" + +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L" + msgstr "CHARACTER(*)-Funktion %qs bei %L" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, gcc-internal-format + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "Prozedurzeiger %qs bei %L darf nicht ELEMENTAL sein" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, gcc-internal-format + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "Scheinprozedur %qs bei %L darf nicht ELEMENTAL sein" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, gcc-internal-format + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "Funktionsergebnisvariable %qs bei %L von elementarer Funktion %qs darf nicht die Attribute ALLOCATABLE oder POINTER haben" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "Attribut PROCEDURE steht mit Attribut SAVE in %qs bei %L in Konflikt" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "Attribut PROCEDURE steht mit Attribut INTENT in %qs bei %L in Konflikt" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "Attribut PROCEDURE steht mit Attribut RESULT in %qs bei %L in Konflikt" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, gcc-internal-format + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "Attribut EXTERNAL steht mit Attribut FUNCTION in %qs bei %L in Konflikt" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "Dem Ergebnis %qs als Prozedurzeiger bei %L fehlt das POINTER-Attribut" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "Konflikt in ELEMENTAL-Attribut zwischen MODULE-PROCEDURE bei %L und seiner Schnittstelle in %s" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "Konflikt in PURE-Attribut zwischen MODULE-PROCEDURE bei %L und seiner Schnittstelle in %s" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "Konflikt in RECURSIVE-Attribut zwischen MODULE-PROCEDURE bei %L und seiner Schnittstelle in %s" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "%s zwischen der MODULE-PROCEDURE-Deklaration in Modul %qs und der Deklaration bei %L in (SUB)MODULE %qs" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, gcc-internal-format + msgid "Interface of %qs at %L must be explicit" + msgstr "Schnittstelle von %qs bei %L muss explizit sein" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, gcc-internal-format + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "FINAL-Prozedur %qs bei %L ist keine SUBROUTINE" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "FINAL-Prozedur bei %L muss genau ein Argument haben" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, gcc-internal-format + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "Argument der FINAL-Prozedur bei %L muss Typ %qs haben" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "FINAL-Prozedur bei %L mit angenommenem Rangargument muss der einzige Finalisierer mit derselben Art/Typ sein (F2018: C790)" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "Argument der FINAL-Prozedur bei %L darf kein POINTER sein" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "Argument der FINAL-Prozedur bei %L darf nicht ALLOCATABLE sein" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "Argument der FINAL-Prozedur bei %L darf nicht OPTIONAL sein" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "Argument der FINAL-Prozedur bei %L darf nicht INTENT(OUT) sein" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, gcc-internal-format, gfc-internal-format + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "Nicht-skalare FINAL-Prozedur bei %L sollte Argument mit vermuteter Form haben" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, gcc-internal-format + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "Bei %2$L deklarierte FINAL-Prozedur %1$qs hat denselben Rang (%3$d) wie %4$qs" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, gcc-internal-format + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "Für den abgeleiteten Typ %qs, der bei %L definiert ist, sind ausschließlich Array-FINAL-Prozeduren deklariert. Empfohlen ist auch eine skalare, es sei denn, ein Finalisierer mit angenommenem Rang wurde deklariert" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, gcc-internal-format + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "%qs und %qs können nicht gemischte FUNCTION/SUBROUTINE für GENERIC %qs bei %L sein" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, gcc-internal-format + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "%qs und %qs für GENERIC %qs bei %L sind mehrdeutig" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, gcc-internal-format + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "Undefinierte spezifische Bindung %qs als Ziel des GENERIC %qs bei %L" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, gcc-internal-format + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "GENERIC %qs bei %L muss auf spezifische Bindung abzielen, %qs ist ebenfalls GENERIC" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, gcc-internal-format + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "GENERIC %qs bei %L kann nicht spezifische Bindung mit gleichem Namen überschreiben" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, gcc-internal-format, gfc-internal-format + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "Typgebundener Operator bei %L kann nicht NOPASS sein" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, gcc-internal-format + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "%qs bei %L muss eine Modulprozedur oder eine externe Prozedur mit expliziter Schnittstelle sein" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, gcc-internal-format + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "Prozedur %qs mit PASS(%s) bei %L hat kein Argument %qs" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, gcc-internal-format + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "Prozedur %qs mit PASS bei %L muss mindestens ein Argument haben" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, gcc-internal-format + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "Nicht-polymorphes Scheinargument von %qs für weitergegebenes Objekt bei %L" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "Argument %qs von %qs mit PASS(%s) bei %L muss abgeleiteten Typ %qs haben" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "Scheinargument von %qs für weitergegebenes Objekt bei %L muss ein Skalar sein" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "Scheinargument von %qs für weitergegebenes Objekt bei %L darf nicht ALLOCATABLE sein" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "Scheinargument von %qs für weitergegebenes Objekt bei %L darf nicht POINTER sein" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "Prozedur %qs bei %L hat den gleichen Namen wie eine Komponente von %qs" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "Prozedur %qs bei %L hat den selben Namen wie eine vererbte Komponente von %qs" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, gcc-internal-format + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "Bei %2$L deklarierter abgeleiteter Typ %1$qs muss ABSTRACT sein, da %3$qs DEFERRED und nicht überschrieben ist" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, gcc-internal-format + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "Koarray-Komponente %qs bei %L muss reservierbar mit aufgeschobener Form sein" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, gcc-internal-format + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "Komponente %qs bei %L mit TYPE(C_PTR) oder TYPE(C_FUNPTR) darf kein Koarray sein" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, gcc-internal-format + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "Komponente %qs bei %L mit Koarray-Komponente darf ein Nicht-Zeiger und nicht-reservierbares Skalar sein" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, gcc-internal-format + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "Komponente %qs bei %L hat das CONTIGUOUS-Attribut, aber ist kein Feldzeiger" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, gcc-internal-format + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "Komponente %qs von BIND(C)-Typ bei %L muss Länge eins haben" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "Prozedurzeiger-Komponente %qs mit PASS(%s) bei %L hat kein Argument %qs" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "Prozedurzeiger-Komponente %qs mit PASS bei %L muss mindestens ein Argument haben" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "Argument %qs von %qs mit PASS(%s) bei %L muss abgeleiteten Typ %qs haben" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "Parameter %qs von %qs mit PASS(%s) bei %L muss skalar sein" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "Argument %qs von %qs mit PASS(%s) bei %L darf kein POINTER-Attribut haben" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "Argument %qs von %qs mit PASS(%s) bei %L darf nicht ALLOCATABLE sein" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, gcc-internal-format + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "Komponente %qs von %qs bei %L hat den gleichen Namen wie eine geerbte typgebundene Prozedur" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, gcc-internal-format + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "Zeichenlänge der Komponente %qs muss ein konstanter Spezifikationsausdruck bei %L sein" + +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, gcc-internal-format + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "Ausdruck für Zeichenlänge der Komponente %qs bei %L muss vom Typ INTEGER sein, nicht %s" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, gcc-internal-format + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "Zeichenkomponente %qs von %qs bei %L mit aufgeschobener Länge muss POINTER oder ALLOCATABLE sein" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, gcc-internal-format + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "Die Komponente %qs ist ein PRIVATE-Typ und kann nicht Komponente von %qs sein, die PUBLIC bei %L ist" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "Polymorphe Komponente %s bei %L in SEQUENCE oder BIND(C)-Typ %s" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, gcc-internal-format, gfc-internal-format + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "Komponente %s des bei %L deklarierten SEQUENCE-Typen hat kein SEQUENCE-Attribut" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, gcc-internal-format, gfc-internal-format + msgid "Conflicting initializers in union at %L and %L" + msgstr "In Konflikt stehende Initialisierungen in Union bei %L und %L" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, gcc-internal-format + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "Da der erweiterte Typ %qs bei %L eine Koarray-Komponente hat, muss der Elterntyp %qs auch eine haben" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, gcc-internal-format + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "Nicht-erweiterbarer abgeleiteter Typ %qs bei %L darf nicht ABSTRACT sein" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "Parametrisierter Typ %1$qs hat bei %3$L keine Komponente, die zu Parameter %2$qs gehört" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, gcc-internal-format + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "Allgemeiner Name %qs der Funktion %qs bei %L ist der gleiche wie der des abgeleiteten Typs bei %L" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, gcc-internal-format + msgid "Derived type %qs at %L has not been declared" + msgstr "Abgeleiteter Typ %qs bei %L wurde nicht deklariert" + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, gcc-internal-format + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "Feld %qs mit vermuteter Größe in Namensliste %qs bei %L ist nicht erlaubt" + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, gcc-internal-format + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "NAMELIST-Feldobjekt %qs mit vermuteter Form in Namensliste %qs bei %L" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, gcc-internal-format + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "NAMELIST-Feldobjekt %qs ohne konstante Form in Namensliste %qs bei %L" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, gcc-internal-format + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "NAMELIST-Objekt %qs ohne konstante Zeichenlänge in Namensliste %qs bei %L" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, gcc-internal-format + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "NAMELIST-Objekt %qs wurde als PRIVATE deklariert und kann kein Element der PUBLIC-Namensliste %qs bei %L sein" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, gcc-internal-format + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "NAMELIST-Objekt %qs hat Verwendungs-verbundene PRIVATE-Komponenten und kann kein Element der Namensliste %qs bei %L sein" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, gcc-internal-format + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "NAMELIST-Objekt %qs hat PRIVATE-Komponenten und kann kein Element der PUBLIC-Namensliste %qs bei %L sein" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "Attribut PROCEDURE steht mit Attribut NAMELIST in %qs bei %L in Konflikt" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, gcc-internal-format + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "Parameterfeld %qs bei %L kann nicht automatische oder vermutete Form haben" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, gcc-internal-format + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "Implizit angegebener PARAMETER %qs bei %L passt nicht zu früherem IMPLICIT-Typ" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "Unverträglicher abgeleiteter Typ in PARAMETER bei %L" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, gcc-internal-format + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "COMMON-Block %qs bei %L kann nicht das EXTERNAL-Attribut haben" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, gcc-internal-format + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "Das Objekt %qs bei %L hat aufgeschobenen LEN-Parameter %qs und ist weder allozierbar noch ein Zeiger" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "Das AUTOMATIC-Objekt %qs bei %L darf kein SAVE-Attribut haben und dard auch keine Variable im main-Programm, einem Modul oder einem Teilmodus sein (F08/C513)" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "Das Objekt %qs bei %L mit ASSUMED-Typparametern muss ein Dummy oder ein SELECT-TYPE-Selektor sein (F08/4.2)" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "Sorry, allozierbare/Zeiger-Komponenten in polymorphen (CLASS-)getypten Koarrays bei %L werden nicht unterstützt" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "%, bei %L deklariert, darf nur in der OpenMP-DEPEND-Klausel verwendet werden" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, gcc-internal-format, gfc-internal-format + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "Attribut PROTECTED steht mit Attribut EXTERNAL bei %L in Konflikt" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, gcc-internal-format, gfc-internal-format + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "Attribut PROCEDURE steht mit Attribut PROTECTED bei %L in Konflikt" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, gcc-internal-format + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "%qs bei %L hat Attribut CONTIGUOUS, aber ist kein Feldzeiger oder Feld vermuteter Größe oder Rang" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, gcc-internal-format, gfc-internal-format + msgid "Bad specification for assumed size array at %L" + msgstr "Falsche Spezifikation für Feld bei %L mit angenommener Größe" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "Feld mit vermuteter Größe bei %L muss ein Schein-Argument sein" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "Feld mit vermuteter Form bei %L muss ein Scheinargument sein" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "Feld mit vermutetem Rang bei %L muss ein Scheinargument sein" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "Feld mit vermutetem Rang bei %L darf kein Attribut VALUE oder CODIMENSION haben" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "Symbol bei %L ist keine Scheinvariable" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, gcc-internal-format + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "%qs bei %L kann nicht das VALUE-Attribut haben, da es kein Scheinargument ist" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, gcc-internal-format + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "Zeichenwertige Scheinvariable %qs bei %L mit VALUE-Attribut muss konstante Länge haben" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, gcc-internal-format + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "C-kompatible zeichenwertige Scheinvariable %qs bei %L mit VALUE-Attribut muss Länge eins haben" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, gcc-internal-format + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "Der abgeleitete Typ %qs bei %L hat Typ %qs, der nicht definiert wurde" + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "Variable %s bei %L mit NO_ARG_CHECK-Attribut muss ein Scheinargument sein" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "Variable %s bei %L mit NO_ARG_CHECK-Attribut muss vom Typ TYPE(*) oder von einem numerischen intrinsischen Typ sein" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "Variable %s bei %L mit NO_ARG_CHECK-Attribut darf nicht die Attribute ALLOCATABLE, CODIMENSION, POINTER oder VALUE haben" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "Variable %s bei %L mit NO_ARG_CHECK-Attribut darf nicht das Attribut INTENT(OUT) haben" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "Variable %s bei %L mit NO_ARG_CHECK-Attribut muss entweder skalar sein oder ein Feld vermuteter Größe" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "Vermuteter Typ der Variable %s bei %L ist nur für Scheinvariablen erlaubt" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "Variable %s vermuteten Typs bei %L darf nicht die Attribute ALLOCATABLE, CODIMENSION, POINTER oder VALUE haben" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "Variable %s vermuteten Typs bei %L darf nicht das Attribut INTENT(OUT) haben" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "Variable %s vermuteten Typs bei %L darf kein Feld mit ausdrücklicher Form sein" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, gcc-internal-format + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "Variable %qs bei %L kann nicht BIND(C) sein, weil es weder ein COMMON-Block noch mit Sichtbarkeit auf Modulebene deklariert ist" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, gcc-internal-format + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "BIND(C)-Variable %qs bei %L muss Länge eins haben" + +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, gcc-internal-format + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "PUBLIC %s %qs bei %L mit abgeleitetem PRIVATE-Typen %qs" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "Variable %s bei %L mit LOCK_TYPE oder mit Subkomponente mit LOCK_TYPE muss ein Koarray sein" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79866 +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "Variable %s bei %L des Typs EVENT_TYPE oder mit Subkomponente des Typs EVENT_TYPE muss ein Koarray sein" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, gcc-internal-format + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "Das INTENT(OUT)-Scheinargument %qs bei %L hat ASSUMED SIZE und kann damit keine Standardinitialisierung haben" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "Scheinargument %qs bei %L mit LOCK_TYPE darf nicht INTENT(OUT) sein" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "Scheinargument %qs bei %L mit EVENT_TYPE darf nicht INTENT(OUT) sein" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, gcc-internal-format + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "Funktionsergebnis %qs bei %L darf weder Koarray sein noch eine Koarray-Komponente haben" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, gcc-internal-format + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "Variable %qs bei %L mit TYPE(C_PTR) oder TYPE(C_FUNPTR) darf kein Koarray sein" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, gcc-internal-format + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "Variable %qs bei %L mit Koarraykomponente muss ein Nichtzeiger, nichtallozierbares Skalar und damit kein Koarray sein" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, gcc-internal-format + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "Variable %qs bei %L ist ein Koarray und ist weder ALLOCATABLE, SAVE, noch ein Scheinargument" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, gcc-internal-format + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "Koarray-Variable %qs bei %L darf keine Kodimensionen mit aufgeschobener Form haben" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, gcc-internal-format + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "Zuordnungsfähige Koarray-Variable %qs bei %L muss aufgeschobene Form haben" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, gcc-internal-format + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "Variable %qs bei %L ist INTENT(OUT) und kann daher kein reservierbares Coarray sein oder Coarray-Komponenten haben" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, gcc-internal-format + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "Coarray-Scheinvariable %qs bei %L in BIND(C)-Prozedur %qs nicht erlaubt" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, gcc-internal-format + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "LOGICAL-Scheinargument %qs bei %L mit Nicht-C_Bool-Art in BIND(C)-Prozedur %qs" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, gcc-internal-format + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "LOGICAL-Rückgabevariable %qs bei %L mit Nicht-C_Bool-Art in BIND(C)-Prozedur %qs" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, gcc-internal-format + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "Namensliste %qs kann bei %L nicht als Argument für Unterprogramm oder Funktion verwendet werden" + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "Threadprivate bei %L ist nicht SAVEd" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "»!$OMP DECLARE TARGET«-Variable %qs bei %L ist nicht gespeichert (SAVE)" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, gcc-internal-format, gfc-internal-format + msgid "Expecting definable entity near %L" + msgstr "Definierbare Entität bei %L erwartet" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, gcc-internal-format + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "BLOCK DATA Element %qs bei %L muss in COMMON sein" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, gcc-internal-format + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "DATA-Feld %qs bei %L muss in vorheriger Deklaration angegeben werden" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "DATA-Element %qs bei %L kann keinen Coindex haben" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "DATA-Element %qs bei %L ist ein Zeiger und muss daher ein vollständiges Feld sein" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "Das DATA-Objekt in der Nähe von %L hat das Zeiger-Attribut und der entsprechende DATA-Wert ist kein gültiges initial-data-target" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "Das DATA-Element %qs bei %L kann kein ALLOCATABLE-Attribut haben" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "Abschnitt eines nicht konstanten Feldes bei %L in DATA-Anweisung" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "DATA-Anweisung bei %L hat mehr Variablen als Werte" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "Anfang der Implied-do-Schleife bei %L konnte nicht zu einem konstanten Wert vereinfacht werden" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "Ende der Implied-do-Schleife bei %L konnte nicht zu einem konstanten Wert vereinfacht werden" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "Schritt der Implied-do-Schleife bei %L konnte nicht zu einem konstanten Wert vereinfacht werden" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L shall not be zero" + msgstr "Schrittweite der implied-do-Schleife bei %L darf nicht 0 sein" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "DATA-Anweisung bei %L hat mehr Werte als Variablen" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but not used" + msgstr "Marke %d bei %L definiert, aber nicht verwendet" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but cannot be used" + msgstr "Marke %d bei %L definiert, kann aber nicht verwendet werden" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, gcc-internal-format + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "Variable %qs abgeleiteten Typs bei %L muss SEQUENCE-Attribut haben, um EQUIVALENCE-Objekt zu sein" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, gcc-internal-format + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "Variable %qs abgeleiteten Typs bei %L kann keine ALLOCATABLE-Komponenten haben, um EQUIVALENCE-Objekt zu sein" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "Variable %qs abgeleiteten Typs bei %L mit Standardinitialisierung kann nicht in EQUIVALENCE mit einer Variablen in COMMON sein" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "Variable %qs abgeleiteten Typs bei %L mit Zeigerkomponenten kann kein EQUIVALENCE-Objekt sein" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "Syntaxfehler in EQUIVALENCE-Anweisung bei %L" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "Entweder alle oder keines der Objekte in bei %L gesetztem EQUIVALENCE muss das Attribut PROTECTED haben" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, gcc-internal-format + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "COMMON-Blockelement %qs bei %L darf in der PURE-Prozedur %qs kein EQUIVALENCE-Objekt sein" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, gcc-internal-format + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "Benannte Konstante %qs bei %L kann kein EQUIVALENCE-Objekt sein" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, gcc-internal-format + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "Feld %qs bei %L mit nicht-konstanten Grenzen kann kein EQUIVALENCE-Objekt sein" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, gcc-internal-format + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "Strukturkomponente %qs bei %L kann kein EQUIVALENCE-Objekt sein" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "Teilzeichenkette bei %L hat Länge Null" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, gcc-internal-format + msgid "Self reference in character length expression for %qs at %L" + msgstr "Selbstreferenz im Zeichenlängenausdruck für %qs bei %L" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, gcc-internal-format + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "PUBLIC-Funktion %qs bei %L mit PRIVATE-Typ %qs" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, gcc-internal-format + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "ENTRY %qs bei %L hat keinen IMPLICIT-Typ" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "Prozedur für Benutzeroperator %qs bei %L muss eine FUNCTION sein" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, gcc-internal-format + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "Prozedur für Benutzeroperator %qs bei %L kann nicht vermutete Zeichenlänge haben" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "Prozedur für Benutzeroperator %qs bei %L muss mindestens ein Argument haben" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "Erstes Argument der Operatorschnittstelle bei %L kann nicht optional sein" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "Zweites Argument der Operatorschnittstelle bei %L kann nicht optional sein" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "Operatorschnittstelle bei %L darf höchstens zwei Argumente haben" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, gcc-internal-format + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" + msgstr "Enthaltene Prozedur %qs bei %L einer PURE-Prozedur muss auch PURE sein" +@@ -78045,7 +78025,7 @@ msgstr "Überlappende ungleiche Initialisierungen in EQUIVALENCE bei %L" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "Überlappende ungleiche Initialisierungen in EQUIVALENCE bei %C" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "Der Strukturkonstruktor bei %C wurde finalisiert. Dieses Feature wurde von f08/0011 entfernt. Verwenden Sie -std=f2018 oder -std=gnu, um die Finalisierung zu entfernen." +@@ -78057,12 +78037,12 @@ msgstr "Der Strukturkonstruktor bei %C wurde finalisiert. Dieses Feature wurde v + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "Die Anzahl der Elemente im Feldkonstruktor bei %L erfordert Erhöhung der erlaubten oberen Grenze %d. Siehe Option %<-fmax-array-constructor%>" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, gcc-internal-format + msgid "Creating array temporary at %L for argument %qs" + msgstr "Bei %L wird ein vorübergehendes Feld für Argument %qs erzeugt" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "Falscher Ausdruckstyp beim Durchlaufen (%d)" +@@ -78156,86 +78136,81 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "Das Feld %qs bei %L ist größer als der Grenzwert, der durch %<-fmax-stack-var-size=%> festgelegt wurde, daher wurde es vom Stapel in den statischen Speicher verschoben. Dies macht die Prozedur unsicher, wenn sie rekursiv oder gleichzeitig von mehreren Threads aus aufgerufen wird. Erwägen Sie, die Grenze für %<-fmax-stack-var-size=%> anzuheben, verwenden Sie %<-frecursive%> (dadurch wird die Beschränkung von %<-fmax-stack-var-size%> aufgehoben), oder ändern Sie den Code so, dass er ein ALLOCATABLE-Feld verwendet. Wenn auf die Variable niemals nebenläufig zugegriffen wird, können Sie diese Warnung ignorieren, Sie könnten diese Variable auch mit dem Attribut SAVE deklarieren." + + #: fortran/trans-decl.cc:1795 +-#, gcc-internal-format, gfc-internal-format +-msgid "%s at %C has no default type" +-msgstr "%s bei %C hat keinen Vorgabe-Typ" +- +-#: fortran/trans-decl.cc:1798 + #, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "innere Variable, die keine Prozedur ist" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, gcc-internal-format + msgid "Return value of function %qs at %L not set" + msgstr "Rückgabewert der Funktion %qs bei %L nicht gesetzt" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, gcc-internal-format + msgid "Deferred type parameter not yet supported" + msgstr "Parameter aufgeschobenen Typs wird noch nicht unterstützt" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, gcc-internal-format + msgid "backend decl for module variable %qs already exists" + msgstr "Backend-Deklaration für Modulvariable %qs ist bereits vorhanden" + +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, gcc-internal-format + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "Ungenutzte PRIVATE-Variable %qs bei %L deklariert" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "Symbol %qs bei %L hat das Attribut WEAK, ist aber ein Scheinargument" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "Symbol %qs bei %L hat das Attribut WEAK, ist aber eine lokale Variable" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, gcc-internal-format + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "Scheinargument %qs bei %L war als INTENT(OUT) deklariert, aber nicht gesetzt" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, gcc-internal-format + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "Scheinargument %qs abgeleiteten Typs bei %L war als INTENT(OUT) deklariert, aber nicht gesetzt und hat keine Standardinitialisierung" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, gcc-internal-format + msgid "Unused dummy argument %qs at %L" + msgstr "Ungenutztes Dummyargument %qs bei %L" + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, gcc-internal-format + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "Ungenutzte Modulvariable »%qs«, die bei %L ausdrücklich importiert wurde" + +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, gcc-internal-format + msgid "Unused variable %qs declared at %L" + msgstr "Ungenutzte Variable %qs, bei %L deklariert" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, gcc-internal-format + msgid "Unused parameter %qs declared at %L" + msgstr "Ungenutzter Parameter %qs, bei %L deklariert" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, gcc-internal-format + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "Ungenutzter Parameter %qs, der bei %L ausdrücklich importiert wurde" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, gcc-internal-format + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "Rückgabewert %1$qs der bei %3$L deklarierten Funktion %2$qs nicht gesetzt" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "Entschuldigung, !$ACC DECLARE bei %L ist in einem BLOCK-Konstrukt nicht erlaubt" +@@ -78250,27 +78225,27 @@ msgstr "Länge des Arrays bei %L kann nicht berechnet werden." + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "Code zur Neu-Reservierung der reservierbaren Variable bei %L wird hinzugefügt" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "Sorry, der koindizierte Zugriff bei %L auf ein unbegrenzt polymorphes Objekt wird nicht unterstützt" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "Sorry, der koindizierte Zugriff bei %L auf eine unbegrenzt polymorphe Komponente wird nicht unterstützt" + +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, gcc-internal-format + msgid "Unknown intrinsic op" + msgstr "Unbekannte eingebauter Operator" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, gcc-internal-format, gfc-internal-format + msgid "Unknown argument list function at %L" + msgstr "Unbekannte Argumentlistenfunktion bei %L" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "Wenn die Neuzuordnung von Grenzen bei %L angegeben wird, darf das Zeigerziel nicht NULL sein" +@@ -80074,9 +80049,6 @@ msgstr "der Rückgabewert vom Typ %qT wird ignoriert, muss aber verwendet werden + msgid "unused name %qE" + msgstr "unverwendeter Name %qE" + +-#~ msgid "invalid operand size for operand code 'Z'" +-#~ msgstr "ungültige Operandengröße für Operandencode »Z«" +- + #~ msgid "Implement DIP25: Sealed references." + #~ msgstr "DIP25 \"Versiegelte Referenzen\" implementieren." + +diff --git a/gcc/po/el.po b/gcc/po/el.po +index 2fd1c3e7c40..bf5487fa7df 100644 +--- a/gcc/po/el.po ++++ b/gcc/po/el.po +@@ -6,7 +6,7 @@ msgid "" + msgstr "" + "Project-Id-Version: gcc 4.0-b20041128\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" + "PO-Revision-Date: 2004-12-15 18:53+0000\n" + "Last-Translator: Simos Xenitellis \n" + "Language-Team: Greek \n" +@@ -4047,7 +4047,7 @@ msgstr "" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "" + + #: m2/lang.opt:127 +@@ -7692,11 +7692,6 @@ msgstr "" + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "" + +-#: config/i386/i386.opt:1280 +-#, no-c-format +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "" +- + #: config/pa/pa64-hpux.opt:23 + #, no-c-format + msgid "Assume code will be linked by GNU ld." +@@ -17235,12 +17230,12 @@ msgstr "" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, fuzzy, c-format + msgid "invalid expression as operand" +@@ -18391,110 +18386,110 @@ msgstr "Αυτή η παράμετρος δεν έχει ακόμα τεκμηρ + msgid "Uses of this option are diagnosed." + msgstr "" + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "" + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, c-format + msgid "Same as %s%s." + msgstr "" + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, c-format + msgid "Same as %s." + msgstr "" + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, c-format + msgid "%s Same as %s." + msgstr "" + +-#: opts.cc:1733 ++#: opts.cc:1732 + msgid "[available in " + msgstr "" + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, c-format + msgid "%llu bytes" + msgstr "" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr "" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr "" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr "" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, fuzzy, c-format + msgid "" + " Known valid arguments for %s option:\n" + " " + msgstr "πολύ λίγα ορίσματα" + +-#: opts.cc:1959 ++#: opts.cc:1958 + msgid "The following options are target specific" + msgstr "" + +-#: opts.cc:1962 ++#: opts.cc:1961 + msgid "The following options control compiler warning messages" + msgstr "" + +-#: opts.cc:1965 ++#: opts.cc:1964 + msgid "The following options control optimizations" + msgstr "" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + msgid "The following options are language-independent" + msgstr "" + +-#: opts.cc:1971 ++#: opts.cc:1970 + msgid "The following options control parameters" + msgstr "" + +-#: opts.cc:1977 ++#: opts.cc:1976 + msgid "The following options are specific to just the language " + msgstr "" + +-#: opts.cc:1979 ++#: opts.cc:1978 + msgid "The following options are supported by the language " + msgstr "" + +-#: opts.cc:1990 ++#: opts.cc:1989 + msgid "The following options are not documented" + msgstr "" + +-#: opts.cc:1992 ++#: opts.cc:1991 + msgid "The following options take separate arguments" + msgstr "" + +-#: opts.cc:1994 ++#: opts.cc:1993 + msgid "The following options take joined arguments" + msgstr "" + +-#: opts.cc:2006 ++#: opts.cc:2005 + msgid "The following options are language-related" + msgstr "" + +@@ -18886,72 +18881,72 @@ msgstr "" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, fuzzy, c-format + msgid "unsupported operand for code '%c'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, fuzzy, c-format + msgid "invalid operand for '%%%c'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, fuzzy, c-format + msgid "invalid vector constant" + msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, fuzzy, c-format + msgid "incompatible register operand for '%%%c'" + msgstr "RPC: Μη συμβατές εκδόσεις του RPC" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, fuzzy, c-format + msgid "missing operand" + msgstr "έχει παραληφθεί η λίστα με τα πεδία" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, fuzzy, c-format + msgid "invalid constant" + msgstr "μη έγκυρος χρήστης" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, fuzzy, c-format + msgid "invalid operand" + msgstr "μη έγκυρος χρήστης" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, fuzzy, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, fuzzy, c-format + msgid "invalid address mode" + msgstr "Ακατάλληλη χρήση του διαμορφωτή διεύθυνσης" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "" +@@ -18968,18 +18963,18 @@ msgid "invalid %%r value" + msgstr "μη έγκυρος χρήστης" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, fuzzy, c-format + msgid "invalid %%R value" + msgstr "μη έγκυρος χρήστης" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, fuzzy, c-format + msgid "invalid %%N value" + msgstr "μη έγκυρος χρήστης" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, fuzzy, c-format + msgid "invalid %%P value" + msgstr "μη έγκυρος χρήστης" +@@ -19009,7 +19004,7 @@ msgstr "μη έγκυρος χρήστης" + msgid "invalid %%U value" + msgstr "μη έγκυρος χρήστης" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, fuzzy, c-format + msgid "invalid %%s value" + msgstr "μη έγκυρος χρήστης" +@@ -19019,7 +19014,7 @@ msgstr "μη έγκυρος χρήστης" + msgid "invalid %%C value" + msgstr "μη έγκυρος χρήστης" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, fuzzy, c-format + msgid "invalid %%E value" + msgstr "μη έγκυρος χρήστης" +@@ -19032,7 +19027,7 @@ msgstr "Δεν είναι δυνατόν να βρεθεί ο τύπος του + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, fuzzy, c-format + msgid "invalid %%xn code" + msgstr "μη έγκυρο δικαίωμα" +@@ -19116,35 +19111,35 @@ msgstr "μη έγκυρη μετατόπιση UTC" + msgid "unrecognized supposed constant" + msgstr "άγνωστο πρόθεμα: %s" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, fuzzy, c-format + msgid "invalid shift operand" + msgstr "μη έγκυρος χρήστης" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, fuzzy, c-format + msgid "predicated Thumb instruction" + msgstr "Ακατάλληλη εντολή" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, fuzzy, c-format + msgid "predicated instruction in conditional sequence" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, fuzzy, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -19153,28 +19148,28 @@ msgstr "Μη έγκυρη επιλογή `%s'" + msgid "invalid operand for code '%c'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, fuzzy, c-format + msgid "instruction never executed" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + #, fuzzy + msgid "invalid conversion from type %" + msgstr "μη έγκυρος χαρακτήρας `%c' στο τύπο αλφαριθμητικού `%s'" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + #, fuzzy + msgid "invalid conversion to type %" + msgstr "μη έγκυρος χαρακτήρας `%c' στο τύπο αλφαριθμητικού `%s'" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "" + +@@ -19582,98 +19577,98 @@ msgstr "μη τερματιζμένο αλφαριθμητικό σταθερά + msgid "Expected register or constant integer." + msgstr "%s' δεν είναι ισχύων θετικός ακέραιος." + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, fuzzy, c-format + msgid "invalid UNSPEC as operand" + msgstr "μη έγκυρη μετατόπιση UTC" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, fuzzy, c-format + msgid "invalid use of register '%s'" + msgstr "μη έγκυρος αριθμός από γραμμές" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, fuzzy, c-format + msgid "invalid use of asm flag output" + msgstr "Η παράμετρος κινητής υποδιαστολής δεν είναι έγκυρη: %s" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, fuzzy, c-format + msgid "invalid operand size for operand code 'O'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, fuzzy, c-format + msgid "invalid operand size for operand code 'z'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/i386/i386.cc:13290 ++#: config/i386/i386.cc:13283 + #, fuzzy, c-format +-msgid "invalid operand type used with operand code '%c'" ++msgid "invalid operand type used with operand code 'Z'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/i386/i386.cc:13295 ++#: config/i386/i386.cc:13288 + #, fuzzy, c-format +-msgid "invalid operand size for operand code '%c'" ++msgid "invalid operand size for operand code 'Z'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, c-format + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, c-format + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, fuzzy, c-format + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, c-format + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, fuzzy, c-format + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, fuzzy, c-format + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, fuzzy, c-format + msgid "invalid operand code '%c'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, fuzzy, c-format + msgid "invalid constraints for operand" + msgstr "μη έγκυρος χρήστης" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, fuzzy, c-format + msgid "invalid vector immediate" + msgstr "μη έγκυρο δικαίωμα" + + # src/grep.c:1133 +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + #, fuzzy + msgid "unknown insn mode" + msgstr "άγνωστη μέθοδος καταλόγων" +@@ -19708,7 +19703,7 @@ msgstr "Μη έγκυρος χαρακτήρας παραβολής" + msgid "invalid %%P operand" + msgstr "μη έγκυρος χρήστης" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, fuzzy, c-format + msgid "invalid %%p value" + msgstr "μη έγκυρος χρήστης" +@@ -19755,8 +19750,8 @@ msgstr "%s' δεν είναι ισχύων θετικός ακέραιος." + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, fuzzy, c-format + msgid "invalid use of '%%%c'" + msgstr "Μη έγκυρη ημερομηνία `%s'." +@@ -19788,7 +19783,7 @@ msgid "post-increment address is not a register" + msgstr "" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + #, fuzzy + msgid "bad address" + msgstr "Εσφαλμένη διεύθυνση" +@@ -19950,7 +19945,7 @@ msgstr "Εμφάνιση έκδοσης προγράμματος" + msgid "unsupported memory expression:" + msgstr "Μη έγκυρη προπορευόμενη κανονική έκφραση" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, fuzzy, c-format + msgid "invalid vector operand" + msgstr "μη έγκυρος χρήστης" +@@ -20004,149 +19999,149 @@ msgstr "" + msgid "bad move" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" + msgstr "" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, fuzzy, c-format + msgid "invalid %%A value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, fuzzy, c-format + msgid "invalid %%D value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, fuzzy, c-format + msgid "invalid %%e value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, fuzzy, c-format + msgid "invalid %%f value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, fuzzy, c-format + msgid "invalid %%F value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, fuzzy, c-format + msgid "invalid %%G value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, fuzzy, c-format + msgid "invalid %%j code" + msgstr "μη έγκυρο δικαίωμα" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, fuzzy, c-format + msgid "invalid %%J code" + msgstr "μη έγκυρο δικαίωμα" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, fuzzy, c-format + msgid "invalid %%k value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, fuzzy, c-format + msgid "invalid %%K value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, fuzzy, c-format + msgid "invalid %%O value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, fuzzy, c-format + msgid "invalid %%q value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, fuzzy, c-format + msgid "invalid %%t value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, fuzzy, c-format + msgid "invalid %%T value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, fuzzy, c-format + msgid "invalid %%u value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, fuzzy, c-format + msgid "invalid %%v value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, fuzzy, c-format + msgid "invalid %%V value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, fuzzy, c-format + msgid "invalid %%x value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, fuzzy, c-format + msgid "invalid %%z value" + msgstr "μη έγκυρος χρήστης" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, fuzzy, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "μη έγκυρη μέτρηση επανάληψης `%s' στη κατασκευή [c*n]" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "" + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + #, fuzzy + msgid "AltiVec argument passed to unprototyped function" + msgstr "πολύ λίγα ορίσματα" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + #, fuzzy + msgid "Could not generate addis value for fusion" + msgstr "Ακατάλληλη εντολή" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + #, fuzzy + msgid "Unable to generate load/store offset for fusion" + msgstr "Αδύνατη η δημιουργία διεργασίας στον εξυπηρετητή" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + #, fuzzy + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "η μετατροπή από `%s' σε `%s' δεν υποστηρίζετε" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + #, fuzzy + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "μη έγκυρος χαρακτήρας `%c' στο τύπο αλφαριθμητικού `%s'" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + #, fuzzy + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "η μετατροπή από `%s' σε `%s' δεν υποστηρίζετε" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + #, fuzzy + msgid "invalid conversion to type %<__vector_pair%>" + msgstr "μη έγκυρος χαρακτήρας `%c' στο τύπο αλφαριθμητικού `%s'" +@@ -20617,7 +20612,7 @@ msgstr "" + msgid " after user-defined conversion:" + msgstr "Το `%s' δεν είναι κατάλογος." + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + msgid "candidate is:" + msgid_plural "candidates are:" + msgstr[0] "" +@@ -21112,7 +21107,7 @@ msgstr "" + msgid "Driving:" + msgstr "προειδοποίηση: " + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + msgid "actual argument to INTENT = OUT/INOUT" + msgstr "" + +@@ -21288,12 +21283,12 @@ msgstr "" + msgid "implied END DO" + msgstr "" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + #, fuzzy + msgid "assignment" + msgstr "προσπέρασμα ορίσματος" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + #, fuzzy + msgid "pointer assignment" + msgstr "προσπέρασμα ορίσματος" +@@ -21302,224 +21297,224 @@ msgstr "προσπέρασμα ορίσματος" + msgid "simple IF" + msgstr "" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + #, fuzzy + msgid "elemental procedure" + msgstr "πολύ λίγα ορίσματα" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + #, fuzzy + msgid "allocatable argument" + msgstr "Μη έγκυρη παράμετρος" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + #, fuzzy + #| msgid "no arguments" + msgid "asynchronous argument" + msgstr "χωρίς ορίσματα" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + #, fuzzy + #| msgid "no arguments" + msgid "optional argument" + msgstr "χωρίς ορίσματα" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + #, fuzzy + #| msgid "no arguments" + msgid "pointer argument" + msgstr "χωρίς ορίσματα" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + #, fuzzy + #| msgid "no arguments" + msgid "target argument" + msgstr "χωρίς ορίσματα" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + #, fuzzy + msgid "value argument" + msgstr "Μη έγκυρη παράμετρος" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + #, fuzzy + #| msgid "no arguments" + msgid "volatile argument" + msgstr "χωρίς ορίσματα" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + #, fuzzy + msgid "assumed-shape argument" + msgstr "Μη έγκυρη παράμετρος" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + #, fuzzy + #| msgid "no arguments" + msgid "assumed-rank argument" + msgstr "χωρίς ορίσματα" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + #, fuzzy + #| msgid "no arguments" + msgid "coarray argument" + msgstr "χωρίς ορίσματα" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + #, fuzzy + msgid "parametrized derived type argument" + msgstr "Μη έγκυρη παράμετρος" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + #, fuzzy + #| msgid "no arguments" + msgid "polymorphic argument" + msgstr "χωρίς ορίσματα" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + msgid "NO_ARG_CHECK attribute" + msgstr "" + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + #, fuzzy + msgid "assumed-type argument" + msgstr "Μη έγκυρη παράμετρος" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + msgid "array result" + msgstr "" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + #, fuzzy + msgid "pointer or allocatable result" + msgstr "Δεν είναι δυνατό να δεσμευτεί μνήμη" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + msgid "result with non-constant character length" + msgstr "" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + msgid "bind(c) procedure" + msgstr "" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, c-format + msgid "Invalid context for NULL() pointer at %%L" + msgstr "" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, c-format + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, c-format + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, c-format + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + #, fuzzy + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "το `%s' είναι πρόγονος του `%s'" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, c-format + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, c-format + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, c-format + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, c-format + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + msgid "iterator variable" + msgstr "" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + msgid "Start expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + #, fuzzy + msgid "End expression in DO loop" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + msgid "Step expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + msgid "DEALLOCATE object" + msgstr "" + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + msgid "ALLOCATE object" + msgstr "" + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + msgid "STAT variable" + msgstr "" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + msgid "ERRMSG variable" + msgstr "" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + msgid "item in READ" + msgstr "" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + msgid "ACQUIRED_LOCK variable" + msgstr "" + +@@ -21532,27 +21527,27 @@ msgstr "" + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, c-format + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, c-format + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + #, fuzzy + msgid "Assignment of scalar to unallocated array" + msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας" +@@ -22485,7 +22480,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "syntax error at %qs token" + msgid "Syntax error in %s statement at %C" +@@ -22863,7 +22858,7 @@ msgstr "" + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, fuzzy, gcc-internal-format + msgid "previous declaration here" +@@ -22960,10 +22955,10 @@ msgstr "" + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -23099,7 +23094,7 @@ msgstr "δε βρέθηκε ο προεπεξεργαστής C: %s \n" + msgid "offset %qwi outside bounds of constant string" + msgstr "" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, fuzzy, gcc-internal-format + msgid "%qE declared here" + msgstr "Δεν υπάρχει προηγούμενη κανονική έκφραση" +@@ -24943,7 +24938,7 @@ msgstr "" + msgid "comparison is always %d due to width of bit-field" + msgstr "" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "" +@@ -25718,7 +25713,7 @@ msgstr "" + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -26839,14 +26834,14 @@ msgstr "δεν είστε μέλος της ομάδας `%s'" + msgid "using a dangling pointer to %qD" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, fuzzy, gcc-internal-format + msgid "%qD declared here" + msgstr "Δεν υπάρχει προηγούμενη κανονική έκφραση" +@@ -26891,7 +26886,7 @@ msgstr "" + msgid "call to %qD" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, gcc-internal-format + msgid "storing the address of local variable %qD in %qE" + msgstr "" +@@ -27960,7 +27955,7 @@ msgstr "" + msgid "IPA modref summary is missing in input file" + msgstr "" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, fuzzy, gcc-internal-format + msgid "invalid jump function in LTO stream" + msgstr "μη έγκυρη μέτρηση επανάληψης `%s' στη κατασκευή [c*n]" +@@ -28923,7 +28918,7 @@ msgstr "Το βήμα αρχικοποίησης απέτυχε" + msgid "command-line option %qs is not supported by this configuration" + msgstr "Η οικογένεια διευθύνσεων δεν υποστηρίζεται από την οικογένεια πρωτοκόλλου" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, fuzzy, gcc-internal-format + msgid "missing argument to %qs" + msgstr "Λείπει παράμετρος για `%s'" +@@ -28963,12 +28958,12 @@ msgstr "" + msgid "unrecognized argument in option %qs" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %qs are: %s" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." +@@ -29125,7 +29120,7 @@ msgstr "" + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "ειδικά αρχεία μπλοκ δεν υποστηρίζονται" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, fuzzy, gcc-internal-format + msgid "%<-fsanitize-trap=%s%> is not supported" + msgstr "Το ai_family δεν υποστηρίζεται" +@@ -29165,185 +29160,185 @@ msgstr "" + msgid "variable tracking requested, but not supported by this debug format" + msgstr "" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, gcc-internal-format + msgid "unrecognized % passed to %" + msgstr "" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, fuzzy, gcc-internal-format + msgid "%qs attribute directive ignored" + msgstr "το `%s' είναι πρόγονος του `%s'" + +-#: opts.cc:2347 ++#: opts.cc:2346 + #, gcc-internal-format + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, fuzzy, gcc-internal-format + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, gcc-internal-format + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, gcc-internal-format + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr "" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, fuzzy, gcc-internal-format + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, gcc-internal-format + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, gcc-internal-format + msgid "structure alignment must be a small power of two, not %wu" + msgstr "" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, fuzzy, gcc-internal-format + msgid "unknown stack check parameter %qs" + msgstr "άγνωστος χαρακτήρας `%s'" + +-#: opts.cc:3158 ++#: opts.cc:3157 + #, gcc-internal-format + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "" + +-#: opts.cc:3169 ++#: opts.cc:3168 + #, fuzzy, gcc-internal-format + msgid "dwarf version %wu is not supported" + msgstr "ειδικά αρχεία μπλοκ δεν υποστηρίζονται" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, gcc-internal-format + msgid "target system does not support debug output" + msgstr "" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, fuzzy, gcc-internal-format + msgid "debug format %qs conflicts with prior selection" + msgstr "αυτός είναι ο πρώτος ορισμός" + + # src/request.c:806 src/request.c:912 +-#: opts.cc:3468 ++#: opts.cc:3467 + #, fuzzy, gcc-internal-format + msgid "unrecognized debug output level %qs" + msgstr "Μη αναγνωρίσημο όνομα επιφάνειας `%s'" + + # src/request.c:806 src/request.c:912 +-#: opts.cc:3470 ++#: opts.cc:3469 + #, fuzzy, gcc-internal-format + msgid "debug output level %qs is too high" + msgstr "Μη αναγνωρίσημο όνομα επιφάνειας `%s'" + + # src/request.c:806 src/request.c:912 +-#: opts.cc:3482 ++#: opts.cc:3481 + #, fuzzy, gcc-internal-format + msgid "unrecognized btf debug output level %qs" + msgstr "Μη αναγνωρίσημο όνομα επιφάνειας `%s'" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "μη αναγνωρίσημη επιλογή `-%c'" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, gcc-internal-format + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" + msgstr "" +@@ -30018,187 +30013,187 @@ msgstr "" + msgid "%qD renamed after being referenced in assembly" + msgstr "" + +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, fuzzy, gcc-internal-format + msgid "function symbol is not function" + msgstr "αυτονόητη διακύρηξη της συνάρτησης `%s'" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, gcc-internal-format + msgid "inconsistent % attribute" + msgstr "" + +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "" + +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "node has invalid order %i" + msgstr "Μη έγκυρη προτεραιότητα `%s'" + +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "" + +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, fuzzy, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "Το επώνυμο αντικείμενο δεν είναι αναζητήσιμο" + +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, fuzzy, gcc-internal-format + msgid "node is alias but not definition" + msgstr "έχει παραληφθεί το αρχείο προορισμού" + +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, gcc-internal-format + msgid "node is symver but not alias" + msgstr "" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, gcc-internal-format + msgid "symver is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, fuzzy, gcc-internal-format + msgid "implicit_section flag is set but section isn%'t" + msgstr "αυτονόητη διακύρηξη της συνάρτησης `%s'" + +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, gcc-internal-format + msgid "Alias and target%'s section differs" + msgstr "" + +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, gcc-internal-format + msgid "Alias and target%'s comdat groups differs" + msgstr "" + +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, gcc-internal-format + msgid "Transparent alias and target%'s assembler names differs" + msgstr "" + +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "invalid order in asm node %i" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, fuzzy, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -31861,27 +31856,27 @@ msgstr "μη έγκυρη διαδικασία διαφυγής στο τέλο + msgid "target specific builtin not available" + msgstr "" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "" +@@ -32697,7 +32692,7 @@ msgstr "το `%s' είναι πρόγονος του `%s'" + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "" +@@ -34785,7 +34780,7 @@ msgstr "μη τερματιζμένο αλφαριθμητικό σταθερά + msgid "traditional C rejects string constant concatenation" + msgstr "" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "" +@@ -36467,7 +36462,7 @@ msgstr "υπερβολικά πολλά αρχεία εισόδου" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for %<-mcpu%>" + msgstr "Ακατάλληλη τιμή στο ai_flags" +@@ -36498,15 +36493,15 @@ msgid "unrecognized option passed to %%:%" + msgstr "" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, fuzzy, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "valid arguments are: %s" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." +@@ -36593,48 +36588,48 @@ msgstr "" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, gcc-internal-format + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, gcc-internal-format + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr "" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, gcc-internal-format + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, gcc-internal-format + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr "" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, gcc-internal-format + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, gcc-internal-format + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr "" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, gcc-internal-format + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr "" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "" +@@ -37122,13 +37117,13 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be an integer constant expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, gcc-internal-format + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" + msgstr "" +@@ -37366,7 +37361,7 @@ msgstr "%s μετατρέπει ακέραιο σε δείκτη χωρίς με + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, fuzzy, gcc-internal-format + msgid "duplicate definition of %qs" + msgstr "διπλός ορισμός συνόλου" +@@ -37407,7 +37402,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, gcc-internal-format + msgid "variables of type %qT cannot have thread-local storage duration" + msgstr "" +@@ -37494,325 +37489,325 @@ msgstr "" + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, fuzzy, gcc-internal-format + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "Το επώνυμο αντικείμενο δεν είναι αναζητήσιμο" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, gcc-internal-format + msgid "%qE requires the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, gcc-internal-format + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, gcc-internal-format + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, fuzzy, gcc-internal-format + msgid "%qs string ill-formed" + msgstr "το `%s' είναι πρόγονος του `%s'" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, fuzzy, gcc-internal-format + msgid "invalid format for %" + msgstr "μη έγκυρος αριθμός από γραμμές" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, fuzzy, gcc-internal-format + msgid "invalid % value: %d" + msgstr "μη έγκυρος χρήστης" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "άγνωστο σετ `%s'" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, fuzzy, gcc-internal-format + msgid "specify a system register with a small string length" + msgstr "Αποτυχία δέσμευσης πόρων συστήματος" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "%s' δεν είναι ισχύων θετικός ακέραιος." + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "" + +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "Η παράμετρος κινητής υποδιαστολής δεν είναι έγκυρη: %s" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, fuzzy, gcc-internal-format + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, fuzzy, gcc-internal-format + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for %<-march%>" + msgstr "άγνωστος χαρακτήρας στο πεδίο `%s' της κατηγορίας `%s'" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, gcc-internal-format + msgid "did you mean %<-mcpu=%s%>?" + msgstr "" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, gcc-internal-format + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, fuzzy, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "πάρα πολλές δηλώσεις μετατροπής στην κατάληξη" + +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for %<-mtune%>" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, gcc-internal-format + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, fuzzy, gcc-internal-format + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "αρχεία fifo δεν υποστηρίζονται" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, gcc-internal-format + msgid "code model %qs with %<-f%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in ilp32 mode" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, gcc-internal-format + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, gcc-internal-format + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, gcc-internal-format + msgid "missing argument to % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, gcc-internal-format + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "" + + # src/dfa.c:569 src/dfa.c:583 src/dfa.c:587 + # src/dfa.c:577 src/dfa.c:591 src/dfa.c:595 +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, fuzzy, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "κακοσχηματισμένος μετρητής επανάληψης" + +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, fuzzy, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, fuzzy, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "%s: αριθμός γραμμής έξω από τα όρια" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, fuzzy, gcc-internal-format + msgid "unsupported simdlen %wd" + msgstr "Εμφάνιση έκδοσης προγράμματος" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, gcc-internal-format + msgid "GCC does not currently support return type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, gcc-internal-format + msgid "unsupported return type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, gcc-internal-format + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, gcc-internal-format + msgid "GCC does not currently support simdlen %wd for type %qT" + msgstr "" +@@ -37999,13 +37994,13 @@ msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένα + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -38146,17 +38141,17 @@ msgstr "το `%s' είναι πρόγονος του `%s'" + msgid "%qE attribute only applies to variables" + msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, gcc-internal-format + msgid "alternatives not allowed in % flag output" + msgstr "" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, gcc-internal-format + msgid "unknown % flag output %qs" + msgstr "" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, fuzzy, gcc-internal-format + msgid "invalid type for % flag output" + msgstr "Η παράμετρος κινητής υποδιαστολής δεν είναι έγκυρη: %s" +@@ -38363,7 +38358,7 @@ msgstr "" + msgid "target CPU does not support unaligned accesses" + msgstr "μη έγκυρη ώρα της μέρας" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, gcc-internal-format + msgid "This architecture does not support branch protection instructions" + msgstr "" +@@ -38418,7 +38413,7 @@ msgstr "" + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, fuzzy, gcc-internal-format + msgid "FDPIC mode is not supported in Thumb-1 mode" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" +@@ -38526,7 +38521,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "" +@@ -38576,32 +38571,32 @@ msgstr "" + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, gcc-internal-format + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, fuzzy, gcc-internal-format + msgid "invalid fpu for target attribute or pragma %qs" + msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" +@@ -38609,22 +38604,22 @@ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, fuzzy, gcc-internal-format + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, fuzzy, gcc-internal-format + msgid "unknown target attribute or pragma %qs" + msgstr "άγνωστος χαρακτήρας `%s'" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, fuzzy, gcc-internal-format + msgid "% flags not supported in thumb1 mode" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" +@@ -38700,17 +38695,17 @@ msgstr "το -pipe δεν υποστηρίζεται" + msgid "%<-fPIE%> is not supported" + msgstr "Το ai_family δεν υποστηρίζεται" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, fuzzy, gcc-internal-format + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "οι επιλογές --string και --check είναι αμοιβαίως αποκλειόμενες" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, fuzzy, gcc-internal-format + msgid "%qs function cannot have arguments" + msgstr "Δεν μπορεί να τεθεί η ημερομηνία." + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, fuzzy, gcc-internal-format + msgid "%qs function cannot return a value" + msgstr "`return' χωρίς τιμή, σε συνάρτηση που επιστρέφει μη-κενό" +@@ -39028,7 +39023,7 @@ msgstr "πάρα πολλά ορίσματα" + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, fuzzy, gcc-internal-format + msgid "invalid argument to built-in function" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." +@@ -39623,749 +39618,749 @@ msgstr "" + msgid "virtual function multiversioning not supported" + msgstr "ειδικά αρχεία μπλοκ δεν υποστηρίζονται" + +-#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25106 + #, fuzzy, gcc-internal-format + msgid "multiversioning needs % which is not supported on this target" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, fuzzy, gcc-internal-format + msgid "attribute %qs argument is not a string" + msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, gcc-internal-format + msgid "attribute %qs argument %qs is unknown" + msgstr "" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, fuzzy, gcc-internal-format + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "λάθος αριθμός ορισμάτων" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, gcc-internal-format + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, fuzzy, gcc-internal-format + msgid "wrong argument %qs to option %qs" + msgstr "πάρα πολλά ορίσματα" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, fuzzy, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" + msgstr "Εγγραφή ονομάτων των επιλεγμένων λέξεων-κλειδιών" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, fuzzy, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" + msgstr "μόνο ένα όρισμα μπορεί να δηλωθεί" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, fuzzy, gcc-internal-format + msgid "too many size ranges specified in option %qs" + msgstr "πάρα πολλά ορίσματα" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, fuzzy, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "" + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, gcc-internal-format + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, fuzzy, gcc-internal-format + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, gcc-internal-format + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, fuzzy, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, fuzzy, gcc-internal-format + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "Το ai_family δεν υποστηρίζεται" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, fuzzy, gcc-internal-format + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "Η οικογένεια διευθύνσεων δεν υποστηρίζεται από την οικογένεια πρωτοκόλλου" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "%s: η υποστήριξη εκσφαλμάτωσης δεν έχει συμπεριληφθεί στη μεταγλώττιση.\n" + +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "" + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, fuzzy, gcc-internal-format + msgid "bad value %qs for %<-march=%> switch" + msgstr "Ακατάλληλη τιμή στο ai_flags" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, fuzzy, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, fuzzy, gcc-internal-format + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "Ακατάλληλη τιμή στο ai_flags" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, fuzzy, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "Ακατάλληλη τιμή στο ai_flags" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, fuzzy, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, gcc-internal-format + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, gcc-internal-format + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, fuzzy, gcc-internal-format + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "το --no-dereference (-h) δεν υποστηρίζεται σε αυτό το σύστημα" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, gcc-internal-format + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, fuzzy, gcc-internal-format + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, gcc-internal-format + msgid "stack probing requires % for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, gcc-internal-format + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, fuzzy, gcc-internal-format + msgid "unknown option for %<-mrecip=%s%>" + msgstr "Άγνωστη επιλογή: %s %s %s" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, gcc-internal-format + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, gcc-internal-format + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, gcc-internal-format + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, fuzzy, gcc-internal-format + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, gcc-internal-format + msgid "interrupt and naked attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, gcc-internal-format + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, gcc-internal-format + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, fuzzy, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "%s: οι τιμές του πεδίου `%s' δεν πρέπει να είναι μεγαλύτερες από %d" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, fuzzy, gcc-internal-format + msgid "%qE attribute is used for non-class method" + msgstr "το `%s' είναι πρόγονος του `%s'" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, fuzzy, gcc-internal-format + msgid "%qE incompatible attribute ignored" + msgstr "μη έγκυρο δικαίωμα" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, gcc-internal-format + msgid "%qE attribute only available for 32-bit" + msgstr "" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, fuzzy, gcc-internal-format + msgid "%qs and %qs attributes are not compatible" + msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, fuzzy, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς" + +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "" + +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, gcc-internal-format + msgid "interrupt service routine should have %qs as the second argument" + msgstr "" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, gcc-internal-format + msgid "interrupt service routine must return %" + msgstr "" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, gcc-internal-format + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, gcc-internal-format + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, fuzzy, gcc-internal-format + msgid "X32 does not support % attribute" + msgstr "αρχεία fifo δεν υποστηρίζονται" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, gcc-internal-format + msgid "% attribute is not compatible with nested function" + msgstr "" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, gcc-internal-format + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, gcc-internal-format + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, gcc-internal-format + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, gcc-internal-format + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, gcc-internal-format + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, gcc-internal-format + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, gcc-internal-format + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, gcc-internal-format, gfc-internal-format + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "" + +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "" + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, gcc-internal-format + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "" + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, fuzzy, gcc-internal-format + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, gcc-internal-format + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" + msgstr "" + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, gcc-internal-format + msgid "% modifier on non-integer register" + msgstr "" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, fuzzy, gcc-internal-format + msgid "unsupported size for integer register" + msgstr "Εμφάνιση έκδοσης προγράμματος" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, gcc-internal-format + msgid "non-integer operand used with operand code %" + msgstr "" + +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, fuzzy, gcc-internal-format + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "ειδικά αρχεία μπλοκ δεν υποστηρίζονται" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, fuzzy, gcc-internal-format + msgid "unsupported argument type %qT for simd" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, gcc-internal-format + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" + msgstr "" +@@ -40713,7 +40708,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "συντακτικό σφάλμα στον καθορισμό σειράς" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, fuzzy, gcc-internal-format + msgid "%qE attribute requires a string argument" + msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς" +@@ -41836,52 +41831,52 @@ msgstr "" + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, fuzzy, gcc-internal-format + msgid "RVV type %qT does not have a fixed size" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, fuzzy, gcc-internal-format + msgid "RVV type %qT does not have a defined alignment" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, fuzzy, gcc-internal-format + msgid "arithmetic on pointer to RVV type %qT" + msgstr "δεν είστε μέλος της ομάδας `%s'" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, fuzzy, gcc-internal-format + msgid "fields cannot have RVV type %qT" + msgstr "δεν είστε μέλος της ομάδας `%s'" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, gcc-internal-format + msgid "array elements cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, fuzzy, gcc-internal-format + msgid "cannot allocate objects with RVV type %qT" + msgstr "αδυναμία ανάγνωσης καταλόγου locale `%s'" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, fuzzy, gcc-internal-format + msgid "cannot delete objects with RVV type %qT" + msgstr "αδυναμία ανάγνωσης καταλόγου locale `%s'" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, fuzzy, gcc-internal-format + msgid "cannot throw or catch RVV type %qT" + msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, gcc-internal-format + msgid "capture by copy of RVV type %qT" + msgstr "" +@@ -41901,71 +41896,66 @@ msgstr "" + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, gcc-internal-format + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, gcc-internal-format + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, gcc-internal-format + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, gcc-internal-format + msgid "ABI requires %<-march=rv%d%>" + msgstr "" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid base register in %qs" + msgstr "%s' δεν είναι ισχύων θετικός ακέραιος." + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid number in %qs" + msgstr "%s' δεν είναι ισχύων θετικός ακέραιος." + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, gcc-internal-format + msgid "%qs function cannot have different interrupt type" + msgstr "" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, gcc-internal-format +@@ -42436,97 +42426,97 @@ msgstr "" + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, gcc-internal-format + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, gcc-internal-format + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, fuzzy, gcc-internal-format + msgid "invalid cpu %qs for %s%qs%s" + msgstr "Μη έγκυρη προτεραιότητα `%s'" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, fuzzy, gcc-internal-format + msgid "%s%qs%s is not allowed" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, gcc-internal-format + msgid "%s%qs%s is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" + +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, fuzzy, gcc-internal-format + msgid "Virtual function multiversioning not supported" + msgstr "ειδικά αρχεία μπλοκ δεν υποστηρίζονται" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, gcc-internal-format + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, gcc-internal-format + msgid "type %<__vector_pair%> requires the %qs option" + msgstr "" +@@ -43930,7 +43920,7 @@ msgstr "" + msgid "uninitialized % is invalid in C++" + msgstr "μη αρχικοποιημένη σταθερά const %qD" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "" +@@ -44116,7 +44106,7 @@ msgstr "Εγγραφή ονομάτων των επιλεγμένων λέξεω + msgid "storage class specified for unnamed parameter" + msgstr "Εγγραφή ονομάτων των επιλεγμένων λέξεων-κλειδιών" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "" +@@ -44285,7 +44275,7 @@ msgstr "%s: διπλός ορισμός έκδοσης κατηγορίας" + msgid "function definition has qualified void return type" + msgstr "μη έγκυρος αριθμός αρχείου στη δήλωση πεδίου: `%s'" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "" +@@ -44412,7 +44402,7 @@ msgstr "" + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, fuzzy, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "ο χάρτης χαρακτήρων `%s' ορίστηκε ήδη" +@@ -44612,7 +44602,7 @@ msgstr "" + msgid "%qT defined in underspecified object initializer" + msgstr "" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "" +@@ -44663,7 +44653,7 @@ msgstr "επώνυμα μέλη" + msgid "struct has no members" + msgstr "%s σε %s" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, fuzzy, gcc-internal-format + msgid "flexible array member in union" + msgstr "μη έγκυρη ώρα της μέρας" +@@ -44709,7 +44699,7 @@ msgstr "δημιουργία αρχείου `%s'\n" + msgid "% declared with but defined without fixed underlying type" + msgstr "" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, gcc-internal-format + msgid "specified mode too small for enumerated values" + msgstr "" +@@ -44754,7 +44744,7 @@ msgstr "Μη έγκυρη ακέραια παράμετρος `%s'" + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, fuzzy, gcc-internal-format + msgid "inline function %qD given attribute %qs" + msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" +@@ -44784,7 +44774,7 @@ msgstr "διατήρηση ωρών στο %s" + msgid "%qD was used with no prototype before its definition" + msgstr "αυτή είναι η θέση του πρώτου ορισμού" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, fuzzy, gcc-internal-format + msgid "no previous declaration for %qD" + msgstr "προηγούμενη αυτονόητη διακύρηξη του `%s'" +@@ -44899,12 +44889,12 @@ msgstr "λάθος αριθμός ορισμάτων" + msgid "argument %qD doesn%'t match prototype" + msgstr "" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, fuzzy, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "`return' χωρίς τιμή, σε συνάρτηση που επιστρέφει μη-κενό" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, fuzzy, gcc-internal-format + msgid "parameter %qD set but not used" + msgstr "έχουν παραληφθεί ορίσματα" +@@ -46917,7 +46907,7 @@ msgstr "" + msgid "collapsed loops not perfectly nested" + msgstr "" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "" +@@ -47047,12 +47037,12 @@ msgstr "" + msgid "variant %qD is not a function" + msgstr "Το `%s' δεν είναι κατάλογος." + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, fuzzy, gcc-internal-format + msgid "variant %qD and base %qD have incompatible types" + msgstr "μη πλήρης εγγραφή" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "" +@@ -47313,7 +47303,7 @@ msgstr "Μη έγκυρη κανονική έκφραση" + msgid "invalid use of flexible array member" + msgstr "μη έγκυρη ώρα της μέρας" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "" +@@ -48273,12 +48263,12 @@ msgstr "" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, gcc-internal-format + msgid "cannot initialize array of %qT from a string literal with type array of %qT" + msgstr "" +@@ -48319,7 +48309,7 @@ msgstr "" + msgid "invalid initializer" + msgstr "μη έγκυρο μέγεθος οριζόντιου στηλοθέτη: %s" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, fuzzy, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" +@@ -48334,8 +48324,8 @@ msgstr "ακολουθούν σκουπίδια στο τέλος της γρα + msgid "braces around scalar initializer" + msgstr "" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "" +@@ -48425,7 +48415,7 @@ msgstr "" + msgid "positional initialization of field in % declared with % attribute" + msgstr "" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "" +@@ -49782,7 +49772,7 @@ msgstr "" + msgid "%q#D is private within this context" + msgstr "" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, fuzzy, gcc-internal-format + msgid "declared private here" + msgstr "Δεν υπάρχει προηγούμενη κανονική έκφραση" +@@ -49792,7 +49782,7 @@ msgstr "Δεν υπάρχει προηγούμενη κανονική έκφρα + msgid "%q#D is protected within this context" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, fuzzy, gcc-internal-format + msgid "declared protected here" + msgstr "Δεν υπάρχει προηγούμενη κανονική έκφραση" +@@ -49807,7 +49797,7 @@ msgstr "το `%s' είναι μη-προσπελάσιμο" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "Λείπει παράμετρος για `%s'" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, fuzzy, gcc-internal-format + msgid " declared here" +@@ -50145,7 +50135,7 @@ msgstr "δεν ταιριάζει συνάρτηση για την κλήση σ + msgid "call to non-function %qD" + msgstr "κλήση σε μη-συνάρτηση %qD" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "" +@@ -50721,7 +50711,7 @@ msgstr "μη έγκυρη ώρα της μέρας" + msgid "next member %q#D declared here" + msgstr "Δεν υπάρχει προηγούμενη κανονική έκφραση" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, fuzzy, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "κανένας ορισμός του `UNDEFINED'" +@@ -50842,7 +50832,7 @@ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, gcc-internal-format + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" +@@ -50911,7 +50901,7 @@ msgstr "" + msgid "failed % attribute assumption" + msgstr "" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, fuzzy, gcc-internal-format + #| msgid "call to non-function %qD" +@@ -50959,7 +50949,7 @@ msgstr "το `%s' είναι πρόγονος του `%s'" + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, fuzzy, gcc-internal-format + #| msgid "call to non-function %qD" +@@ -51084,7 +51074,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "Δεν μπορεί να καθοριστεί το όνομα του συστήματος" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -51183,7 +51173,7 @@ msgstr "" + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, fuzzy, gcc-internal-format + msgid "dereferencing a null pointer" +@@ -51259,7 +51249,7 @@ msgstr "" + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, fuzzy, gcc-internal-format + msgid "statement is not a constant expression" +@@ -51325,189 +51315,189 @@ msgstr "" + msgid "control passes through definition of %qD with static storage duration" + msgstr "" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, fuzzy, gcc-internal-format + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, gcc-internal-format + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, fuzzy, gcc-internal-format + msgid "cast from %qT is not allowed" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, gcc-internal-format + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, fuzzy, gcc-internal-format + msgid "%(%E)%> is not a constant expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, fuzzy, gcc-internal-format + msgid "expression %qE is not a constant expression" + msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, fuzzy, gcc-internal-format + msgid "contract predicate is false in constant expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, fuzzy, gcc-internal-format + msgid "unexpected template-id %qE" + msgstr "%s: αναμενόταν ακέραιος μετά το `%c'" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, gcc-internal-format + msgid "function concept must be called" + msgstr "" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, fuzzy, gcc-internal-format + msgid "address of a call to %qs is not a constant expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, fuzzy, gcc-internal-format + msgid "unexpected expression %qE of kind %s" + msgstr "Μη έγκυρη προπορευόμενη κανονική έκφραση" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, gcc-internal-format + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, fuzzy, gcc-internal-format + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "μη έγκυρος χαρακτήρας `%c' στο τύπο αλφαριθμητικού `%s'" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, fuzzy, gcc-internal-format + msgid "lambda capture of %qE is not a constant expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, gcc-internal-format + msgid "% from integer to pointer" + msgstr "" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, fuzzy, gcc-internal-format + msgid "use of % in a constant expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, gcc-internal-format + msgid "lambda-expression is not a constant expression before C++17" + msgstr "" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, fuzzy, gcc-internal-format + msgid "new-expression is not a constant expression before C++20" + msgstr "Λάθος έκφραση στην αποτίμηση: %s" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, gcc-internal-format + msgid "virtual functions cannot be % before C++20" + msgstr "" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, gcc-internal-format + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, fuzzy, gcc-internal-format + msgid "cast to non-integral type %qT in a constant expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, fuzzy, gcc-internal-format + msgid "division by zero is not a constant expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, fuzzy, gcc-internal-format + msgid "neither branch of % is a constant expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, fuzzy, gcc-internal-format + msgid "non-constant array initialization" + msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, gcc-internal-format + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unexpected AST of kind %s" + msgstr "Μη ορισμένο όνομα %s" +@@ -52082,7 +52072,7 @@ msgstr "" + msgid "% declared here" + msgstr "Δεν υπάρχει προηγούμενη κανονική έκφραση" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, fuzzy, gcc-internal-format + msgid "no member named %qE in %qT" + msgstr "Μη έγκυρη επιλογή `%s'" +@@ -52176,7 +52166,7 @@ msgstr "Λείπει παράμετρος για `%s'" + msgid "no suspend point info for %qD" + msgstr "Ο αντιτοποθετητής επιφάνειας έχει τεθεί περισσότερο από μια φορά για το `%s'" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "" +@@ -52196,23 +52186,23 @@ msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + msgid "variable length arrays are not yet supported in coroutines" + msgstr "" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, gcc-internal-format + msgid "cannot initialize a return object of type %qT with an rvalue of type %" + msgstr "" +@@ -52700,7 +52690,7 @@ msgstr "αυτός είναι ο πρώτος ορισμός" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "αυτός είναι ο πρώτος ορισμός" + +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, fuzzy, gcc-internal-format + msgid "previous declaration %qD" + msgstr "αυτός είναι ο πρώτος ορισμός" +@@ -53103,2279 +53093,2279 @@ msgstr "Το `%s' δεν είναι κατάλογος." + msgid "%q#T is not a class" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, fuzzy, gcc-internal-format + msgid "no type named %q#T in %q#T" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, fuzzy, gcc-internal-format + msgid "lookup of %qT in %qT is ambiguous" + msgstr "η μετατροπή από `%s' σε `%s' δεν υποστηρίζετε" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, fuzzy, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, fuzzy, gcc-internal-format + msgid "% names %q#D, which is not a type" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, fuzzy, gcc-internal-format + msgid "template parameters do not match template %qD" + msgstr "ο διαχωριστής δε μπορεί να είναι κενός" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, gcc-internal-format + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, gcc-internal-format + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, gcc-internal-format + msgid "anonymous struct with base classes" + msgstr "" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, fuzzy, gcc-internal-format + msgid "attribute ignored in declaration of %q#T" + msgstr "αδυναμία ανάγνωσης κεφαλίδας από το `%s'" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, gcc-internal-format + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, fuzzy, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, gcc-internal-format + msgid "% can only be specified for variables or function declarations" + msgstr "" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "μόνο ένα όρισμα μπορεί να δηλωθεί" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "Δεν ήταν δυνατή η εύρεση ετικέττας για μεταγωγή στο `%s'" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, gcc-internal-format + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, gcc-internal-format + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, fuzzy, gcc-internal-format + msgid "% was ignored in this declaration" + msgstr "προηγούμενη αυτονόητη διακύρηξη του `%s'" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, fuzzy, gcc-internal-format + msgid "%qs cannot be used for type declarations" + msgstr "αδυναμία ανάγνωσης κεφαλίδας από το `%s'" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, fuzzy, gcc-internal-format + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "αδυναμία ανάγνωσης κεφαλίδας από το `%s'" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, gcc-internal-format + msgid "no attribute can be applied to an explicit instantiation" + msgstr "" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, gcc-internal-format + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "" + +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, fuzzy, gcc-internal-format + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "έχουν παραληφθεί ορίσματα" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, fuzzy, gcc-internal-format + msgid "%q+#D is not a static data member of %q#T" + msgstr "το `%s' είναι πρόγονος του `%s'" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, fuzzy, gcc-internal-format + msgid "non-member-template declaration of %qD" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, fuzzy, gcc-internal-format + msgid "does not match member template declaration here" + msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "" + + # src/request.c:263 +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, fuzzy, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "Το βήμα αρχικοποίησης απέτυχε" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, fuzzy, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, fuzzy, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "μη πλήρης εγγραφή" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, fuzzy, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "μη πλήρης εγγραφή" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, gcc-internal-format + msgid "name used in a GNU-style designated initializer for an array" + msgstr "" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, fuzzy, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "Η λειτουργία δεν υποστηρίζεται" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, fuzzy, gcc-internal-format + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, fuzzy, gcc-internal-format + msgid "array size missing in %qD" + msgstr "σφάλμα κατά το κλείσιμο της εισόδου `%s'" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, gcc-internal-format + msgid "zero-size array %qD" + msgstr "" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, fuzzy, gcc-internal-format + msgid "storage size of %qD isn%'t known" + msgstr "Το όνομα `%s' είναι άγνωστο\n" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, fuzzy, gcc-internal-format + msgid "storage size of %qD isn%'t constant" + msgstr "Το όνομα `%s' είναι άγνωστο\n" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, gcc-internal-format + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, gcc-internal-format + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, gcc-internal-format + msgid "you can work around this by removing the initializer" + msgstr "" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, fuzzy, gcc-internal-format + #| msgid "uninitialized const %qD" + msgid "uninitialized %" + msgstr "μη αρχικοποιημένη σταθερά const %qD" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, gcc-internal-format + msgid "uninitialized variable %qD in % function" + msgstr "" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, gcc-internal-format + msgid "uninitialized variable %qD in % context" + msgstr "" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, fuzzy, gcc-internal-format + msgid "%q#T has no user-provided default constructor" + msgstr "Το `%s' δεν είναι κατάλογος." + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, fuzzy, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "Μη έγκυρη ακέραια παράμετρος `%s'" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, gcc-internal-format + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, fuzzy, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "το `%s' είναι πρόγονος του `%s'" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, fuzzy, gcc-internal-format + msgid "%qD is not a direct member of %qT" + msgstr "δεν είστε μέλος της ομάδας `%s'" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, fuzzy, gcc-internal-format + msgid "invalid initializer for %q#D" + msgstr "μη έγκυρο μέγεθος οριζόντιου στηλοθέτη: %s" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, fuzzy, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "υπερβολικά πολλά αρχεία εισόδου" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, fuzzy, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "ακολουθούν σκουπίδια στο τέλος της γραμμής" + +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, fuzzy, gcc-internal-format + msgid "too many braces around scalar initializer for type %qT" + msgstr "ακολουθούν σκουπίδια στο τέλος της γραμμής" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, fuzzy, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "ακολουθούν σκουπίδια στο τέλος της γραμμής" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, fuzzy, gcc-internal-format + msgid "structured binding has incomplete type %qT" + msgstr "μη πλήρης εγγραφή" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, fuzzy, gcc-internal-format + msgid "elements of array %q#T have incomplete type" + msgstr "μη πλήρης εγγραφή" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, gcc-internal-format + msgid "variable-sized compound literal" + msgstr "" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, fuzzy, gcc-internal-format + msgid "%q#D has incomplete type" + msgstr "μη πλήρης εγγραφή" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, gcc-internal-format + msgid "scalar object %qD requires one element in initializer" + msgstr "" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, gcc-internal-format + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, fuzzy, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, fuzzy, gcc-internal-format + msgid "reference %qD is initialized with itself" + msgstr "έχουν παραληφθεί ορίσματα" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, fuzzy, gcc-internal-format + msgid "could not find variant declaration" + msgstr "αδυναμία ανάγνωσης κεφαλίδας από το `%s'" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, fuzzy, gcc-internal-format + msgid "% on constructor %qD" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, fuzzy, gcc-internal-format + msgid "% on destructor %qD" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, fuzzy, gcc-internal-format + msgid "% on defaulted %qD" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, fuzzy, gcc-internal-format + msgid "% on deleted %qD" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, gcc-internal-format + msgid "% on virtual %qD" + msgstr "" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, gcc-internal-format + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, fuzzy, gcc-internal-format + msgid "% storage class specifier used" + msgstr "Εγγραφή ονομάτων των επιλεγμένων λέξεων-κλειδιών" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, fuzzy, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "αυτονόητη διακύρηξη της συνάρτησης `%s'" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, gcc-internal-format + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, fuzzy, gcc-internal-format + msgid "deduced type %qT for %qD is incomplete" + msgstr "η επιστρεφόμενη τιμή της `%s' δεν είναι `int'" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, fuzzy, gcc-internal-format + msgid "variable concept has no initializer" + msgstr "ακολουθούν σκουπίδια στο τέλος της γραμμής" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, fuzzy, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "προηγούμενη αυτονόητη διακύρηξη του `%s'" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, gcc-internal-format + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr "" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, fuzzy, gcc-internal-format + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "το `%s' είναι πρόγονος του `%s'" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, fuzzy, gcc-internal-format + msgid "structured binding refers to incomplete type %qT" + msgstr "μη πλήρης εγγραφή" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, fuzzy, gcc-internal-format + msgid "cannot decompose variable length array %qT" + msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, gcc-internal-format, gfc-internal-format + msgid "%u name provided for structured binding" + msgid_plural "%u names provided for structured binding" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, fuzzy, gcc-internal-format + msgid "cannot decompose variable length vector %qT" + msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, fuzzy, gcc-internal-format + msgid "%::value%> is not an integral constant expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, gcc-internal-format + msgid "in initialization of structured binding variable %qD" + msgstr "" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, fuzzy, gcc-internal-format + msgid "cannot decompose union type %qT" + msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, fuzzy, gcc-internal-format + msgid "cannot decompose non-array non-class type %qT" + msgstr "δεν είστε μέλος της ομάδας `%s'" + +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, fuzzy, gcc-internal-format + msgid "cannot decompose lambda closure type %qT" + msgstr "Δεν είναι δυνατή η εκχώρηση της ζητηθήσας διεύθυνσης" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, fuzzy, gcc-internal-format + msgid "structured binding refers to incomplete class type %qT" + msgstr "μη πλήρης εγγραφή" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, gcc-internal-format + msgid "cannot decompose class type %qT without non-static data members" + msgstr "" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, fuzzy, gcc-internal-format + msgid "initializer fails to determine size of %qT" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, fuzzy, gcc-internal-format + msgid "array size missing in %qT" + msgstr "σφάλμα κατά το κλείσιμο της εισόδου `%s'" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, fuzzy, gcc-internal-format + msgid "zero-size array %qT" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, gcc-internal-format + msgid "%qD declared as a % variable" + msgstr "" + +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, gcc-internal-format + msgid "%qD declared as a % parameter" + msgstr "" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, fuzzy, gcc-internal-format + msgid "%qD declared as an % parameter" + msgstr "συνεχίζεται στο τμήμα" + +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, fuzzy, gcc-internal-format + msgid "%qD declared as a % type" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, fuzzy, gcc-internal-format + msgid "%qD declared as an % type" + msgstr "ο χάρτης χαρακτήρων `%s' ορίστηκε ήδη" + +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, gcc-internal-format + msgid "%qD declared as a % field" + msgstr "" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, fuzzy, gcc-internal-format + msgid "%qD declared as an % field" + msgstr "ο χάρτης χαρακτήρων `%s' ορίστηκε ήδη" + +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, fuzzy, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "Δεν υπάρχει προηγούμενη κανονική έκφραση" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, fuzzy, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "συντακτικό σφάλμα στον καθορισμό σειράς" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, fuzzy, gcc-internal-format + msgid "concept %q#D declared with function parameters" + msgstr "συνεχίζεται στο τμήμα" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, fuzzy, gcc-internal-format + msgid "concept %q#D declared with a deduced return type" + msgstr "ο χάρτης χαρακτήρων `%s' ορίστηκε ήδη" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, gcc-internal-format + msgid "concept %q#D with non-% return type %qT" + msgstr "" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, fuzzy, gcc-internal-format + msgid "concept %qD has no definition" + msgstr "αυτονόητη διακύρηξη της συνάρτησης `%s'" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, fuzzy, gcc-internal-format + msgid "a function concept cannot be constrained" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, fuzzy, gcc-internal-format + msgid "constraints on a non-templated function" + msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, fuzzy, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "Μη έγκυρη κανονική έκφραση" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, fuzzy, gcc-internal-format + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "αδυναμία αλλαγής στο κατάλογο %s" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be %qs" + msgstr "αδυναμία αλλαγής στο κατάλογο %s" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "αδυναμία αλλαγής στο κατάλογο %s" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, fuzzy, gcc-internal-format + msgid "static member function %qD cannot have cv-qualifier" + msgstr "ο διαχωριστής δε μπορεί να είναι κενός" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, fuzzy, gcc-internal-format + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, fuzzy, gcc-internal-format + msgid "static member function %qD cannot have ref-qualifier" + msgstr "ο διαχωριστής δε μπορεί να είναι κενός" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, fuzzy, gcc-internal-format + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, gcc-internal-format + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, gcc-internal-format + msgid "deduction guide %qD must have the same access as %qT" + msgstr "" + +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, fuzzy, gcc-internal-format + msgid "deduction guide %qD must not have a function body" + msgstr "αυτονόητη διακύρηξη της συνάρτησης `%s'" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, gcc-internal-format + msgid "literal operator with C linkage" + msgstr "" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, fuzzy, gcc-internal-format + msgid "%qD has invalid argument list" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, gcc-internal-format + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, fuzzy, gcc-internal-format + msgid "%qD must be a non-member function" + msgstr "η `%s' είναι συνήθως μη-στατική συνάρτηση" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, gcc-internal-format + msgid "%<::main%> must return %" + msgstr "%<::main%> πρέπει να επιστρέψει %" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, fuzzy, gcc-internal-format + msgid "definition of explicitly-defaulted %q+D" + msgstr "κανένας ορισμός του `UNDEFINED'" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, fuzzy, gcc-internal-format + msgid "%q#D explicitly defaulted here" + msgstr "Δεν υπάρχει προηγούμενη κανονική έκφραση" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be a global variable" + msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, fuzzy, gcc-internal-format + msgid "a non-template variable cannot be %" + msgstr "ο διαχωριστής δε μπορεί να είναι κενός" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, gcc-internal-format + msgid "concept must be defined at namespace scope" + msgstr "" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, gcc-internal-format + msgid "a variable concept cannot be constrained" + msgstr "" + +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, fuzzy, gcc-internal-format + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "μη έγκυρος δεύτερος τελεστής σε κατάσταση συμβατότητας `%s'" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, gcc-internal-format + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, fuzzy, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array %qD" + msgstr "" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array" + msgstr "" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, fuzzy, gcc-internal-format + msgid "%qD declared as array of template placeholder type %qT" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, fuzzy, gcc-internal-format + msgid "creating array of template placeholder type %qT" + msgstr "δεν είστε μέλος της ομάδας `%s'" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as array of void" + msgstr "αυτονόητη διακύρηξη της συνάρτησης `%s'" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, fuzzy, gcc-internal-format + msgid "creating array of void" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as array of functions" + msgstr "αυτονόητη διακύρηξη της συνάρτησης `%s'" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, fuzzy, gcc-internal-format + msgid "creating array of functions" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as array of references" + msgstr "αυτονόητη διακύρηξη της συνάρτησης `%s'" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, fuzzy, gcc-internal-format + msgid "creating array of references" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as array of function members" + msgstr "αυτονόητη διακύρηξη της συνάρτησης `%s'" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, fuzzy, gcc-internal-format + msgid "creating array of function members" + msgstr "αυτονόητη διακύρηξη της συνάρτησης `%s'" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, gcc-internal-format + msgid "variable-length array of %" + msgstr "" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, gcc-internal-format + msgid "qualifiers are not allowed on constructor declaration" + msgstr "" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on destructor declaration" + msgstr "κενό αλφαριθμητικό" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, gcc-internal-format + msgid "return type specified for %" + msgstr "" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, fuzzy, gcc-internal-format + msgid "return type specified for deduction guide" + msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, fuzzy, gcc-internal-format + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "Προειδοποίηση: Πολύ λίγα ορίσματα στο εσωδομημένο `%s'" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, gcc-internal-format + msgid "% in declaration of deduction guide" + msgstr "" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, gcc-internal-format + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, gcc-internal-format + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, gcc-internal-format + msgid "% cannot be cv-qualified" + msgstr "" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "μη έγκυρος χρήστης" + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'" + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, fuzzy, gcc-internal-format + msgid "%q#T is not a class or namespace" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, fuzzy, gcc-internal-format + msgid "declaration of %qE as non-function" + msgstr "αυτονόητη διακύρηξη της συνάρτησης `%s'" + +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, fuzzy, gcc-internal-format + msgid "declaration of %qE as non-member" + msgstr "Η λειτουργία δεν υποστηρίζεται" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "" + +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "αυτονόητη διακύρηξη της συνάρτησης `%s'" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as %" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as parameter" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, fuzzy, gcc-internal-format + msgid "both %qs and %qs specified" + msgstr "Δεν υπάρχουν αρχεία εισόδου" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, fuzzy, gcc-internal-format + msgid "%qs cannot appear in a typedef declaration" + msgstr "αδυναμία ανάγνωσης κεφαλίδας από το `%s'" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, fuzzy, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "Προειδοποίηση: Πολύ λίγα ορίσματα στο εσωδομημένο `%s'" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, fuzzy, gcc-internal-format + msgid "ISO C++ does not support plain % meaning %" + msgstr "αρχεία fifo δεν υποστηρίζονται" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, fuzzy, gcc-internal-format + msgid "%<__int%d%> is not supported by this target" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, fuzzy, gcc-internal-format + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "αρχεία fifo δεν υποστηρίζονται" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, fuzzy, gcc-internal-format + msgid "% and % specified together" + msgstr "μη έγκυρος δηλωτής πεδίου: `%s'" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, fuzzy, gcc-internal-format + msgid "% and % specified together" + msgstr "μόνο ένα όρισμα μπορεί να δηλωθεί" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %qT" + msgstr "μη ορισμένο" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %qD" + msgstr "μη ορισμένο" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %" + msgstr "μη ορισμένο" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, fuzzy, gcc-internal-format + msgid "complex invalid for %qs" + msgstr "Μη έγκυρη προτεραιότητα `%s'" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, fuzzy, gcc-internal-format + msgid "member %qD cannot be declared both % and %" + msgstr "Δεν μπορεί να τεθεί η ημερομηνία." + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, gcc-internal-format + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, fuzzy, gcc-internal-format + msgid "storage class specified for template parameter %qs" + msgstr "Εγγραφή ονομάτων των επιλεγμένων λέξεων-κλειδιών" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, fuzzy, gcc-internal-format + msgid "a parameter cannot be declared %qs" + msgstr "ο διαχωριστής δε μπορεί να είναι κενός" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, fuzzy, gcc-internal-format + msgid "% outside class declaration" + msgstr "κενό αλφαριθμητικό" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, fuzzy, gcc-internal-format + msgid "structured binding declaration cannot be %qs" + msgstr "αδυναμία ανάγνωσης κεφαλίδας από το `%s'" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, gcc-internal-format + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, gcc-internal-format + msgid "%-qualified structured binding is deprecated" + msgstr "" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, gcc-internal-format + msgid "structured binding declaration cannot be C++98 %" + msgstr "" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, fuzzy, gcc-internal-format + msgid "structured binding declaration cannot have type %qT" + msgstr "αδυναμία ανάγνωσης κεφαλίδας από το `%s'" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, gcc-internal-format + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, fuzzy, gcc-internal-format + msgid "multiple storage classes in declaration of %qs" + msgstr "διπλό όνομα χαρακτήρα `%s'" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, fuzzy, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "Εγγραφή ονομάτων των επιλεγμένων λέξεων-κλειδιών" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, fuzzy, gcc-internal-format + msgid "attribute ignored" + msgstr "το `%s' είναι πρόγονος του `%s'" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, fuzzy, gcc-internal-format + msgid "unnecessary parentheses in declaration of %qs" + msgstr "διπλό όνομα χαρακτήρα `%s'" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, gcc-internal-format + msgid "remove parentheses" + msgstr "" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, gcc-internal-format + msgid "requires-clause on return type" + msgstr "" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, gcc-internal-format + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, fuzzy, gcc-internal-format + msgid "virtual function cannot have deduced return type" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, gcc-internal-format + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, fuzzy, gcc-internal-format + msgid "invalid use of %" + msgstr "μη έγκυρος αριθμός από γραμμές" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, fuzzy, gcc-internal-format + msgid "deduced class type %qD in function return type" + msgstr "άγνωστος χαρακτήρας στο πεδίο `%s' της κατηγορίας `%s'" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, gcc-internal-format + msgid "deduction guide for %qT must have trailing return type" + msgstr "" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, gcc-internal-format + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, gcc-internal-format + msgid "a conversion function cannot have a trailing return type" + msgstr "" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, gcc-internal-format + msgid "%-qualified return type is deprecated" + msgstr "" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, fuzzy, gcc-internal-format + msgid "%qs declared as function returning a function" + msgstr "%s: διπλός ορισμός έκδοσης κατηγορίας" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, fuzzy, gcc-internal-format + msgid "% on function return type is not allowed" + msgstr "`return' χωρίς τιμή, σε συνάρτηση που επιστρέφει μη-κενό" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, gcc-internal-format + msgid "destructors may not be ref-qualified" + msgstr "" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, gcc-internal-format + msgid "constructors may not be ref-qualified" + msgstr "" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, fuzzy, gcc-internal-format + msgid "constructors cannot be declared %" + msgstr "Δεν μπορεί να τεθεί η ημερομηνία." + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, fuzzy, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, fuzzy, gcc-internal-format + msgid "cannot define friend function %qs in a local class definition" + msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, fuzzy, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "αδυναμία αλλαγής στο κατάλογο %s" + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "δεν είναι δυνατόν να γίνει `stat' το locale αρχείο `%s'" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, fuzzy, gcc-internal-format + msgid "cannot declare reference to qualified function type %qT" + msgstr "αδυναμία αλλαγής στο κατάλογο %s" + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to qualified function type %qT" + msgstr "άγνωστος χαρακτήρας στο πεδίο `%s' της κατηγορίας `%s'" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, fuzzy, gcc-internal-format + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, fuzzy, gcc-internal-format + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, fuzzy, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, gcc-internal-format + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, fuzzy, gcc-internal-format + msgid "% outside class declaration" + msgstr "διπλό όνομα χαρακτήρα `%s'" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, fuzzy, gcc-internal-format + msgid "% in friend declaration" + msgstr "κενό αλφαριθμητικό" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, gcc-internal-format + msgid "only declarations of constructors and conversion operators can be %" + msgstr "" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, fuzzy, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, fuzzy, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "Δεν μπορεί να τεθεί η ημερομηνία." + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, fuzzy, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "Δεν μπορεί να τεθεί η ημερομηνία." + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, fuzzy, gcc-internal-format + msgid "reference %qs cannot be declared %" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, gcc-internal-format + msgid "typedef may not be a function definition" + msgstr "" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, fuzzy, gcc-internal-format + msgid "typedef may not be a member function definition" + msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, fuzzy, gcc-internal-format + msgid "% not allowed in alias declaration" + msgstr "αδυναμία ανάγνωσης κεφαλίδας από το `%s'" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, gcc-internal-format + msgid "typedef declared %" + msgstr "" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, gcc-internal-format + msgid "typedef name may not be a nested-name-specifier" + msgstr "" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "Υπάρχει αντικείμενο με το ίδιο όνομα" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, fuzzy, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "ο διαχωριστής δε μπορεί να είναι κενός" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, fuzzy, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, fuzzy, gcc-internal-format + msgid "requires-clause on declaration of non-function type %qT" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, fuzzy, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "αδυναμία εισαγωγής στοιχείο παραβολής `%.*s'" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, fuzzy, gcc-internal-format + msgid "cannot declare a parameter with %" + msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, gcc-internal-format + msgid "% parameter not permitted in this context" + msgstr "" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, fuzzy, gcc-internal-format + msgid "parameter declared %" + msgstr "ο χάρτης χαρακτήρων `%s' ορίστηκε ήδη" + + # src/grep.c:785 src/grep.c:792 + # src/grep.c:1060 src/grep.c:1067 src/grep.c:1076 +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, fuzzy, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "μη έγκυρο όρισμα μήκους περιεχομένου" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, fuzzy, gcc-internal-format + msgid "non-static data member declared with placeholder %qT" + msgstr "το `%s' είναι πρόγονος του `%s'" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids flexible array member %qs" + msgstr "μη έγκυρη ώρα της μέρας" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids flexible array members" + msgstr "μη έγκυρη ώρα της μέρας" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, fuzzy, gcc-internal-format + msgid "invalid use of %<::%>" + msgstr "μη έγκυρος χρήστης" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, fuzzy, gcc-internal-format + msgid "declaration of function %qD in invalid context" + msgstr "αυτονόητη διακύρηξη της συνάρτησης `%#D'" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, fuzzy, gcc-internal-format + msgid "function %qD declared % inside a union" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, fuzzy, gcc-internal-format + msgid "%qD cannot be declared %, since it is always static" + msgstr "Δεν μπορεί να τεθεί η ημερομηνία." + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, fuzzy, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as member of %qT" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, fuzzy, gcc-internal-format + msgid "a destructor cannot be %qs" + msgstr "ο διαχωριστής δε μπορεί να είναι κενός" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, fuzzy, gcc-internal-format + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, gcc-internal-format + msgid "a constructor cannot be %" + msgstr "" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, fuzzy, gcc-internal-format + msgid "a concept cannot be a member function" + msgstr "Το επώνυμο αντικείμενο δεν είναι αναζητήσιμο" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, fuzzy, gcc-internal-format + msgid "%qD cannot be %qs" + msgstr "αδυναμία ανοίγματος του `%s'" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, gcc-internal-format + msgid "specialization of variable template %qD declared as function" + msgstr "" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, fuzzy, gcc-internal-format + msgid "variable template declared here" + msgstr "ο χάρτης χαρακτήρων `%s' ορίστηκε ήδη" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, fuzzy, gcc-internal-format + msgid "field %qD has incomplete type %qT" + msgstr "μη πλήρης εγγραφή" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, fuzzy, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "μη πλήρης εγγραφή" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, gcc-internal-format + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, gcc-internal-format + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "" + + # src/shred.c:1134 +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, fuzzy, gcc-internal-format + msgid "static data member %qE declared %qs" + msgstr "%s: το αρχείο είναι πολύ μεγάλο" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, gcc-internal-format + msgid "% static data member %qD must have an initializer" + msgstr "" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, fuzzy, gcc-internal-format + msgid "non-static data member %qE declared %qs" + msgstr "το `%s' είναι πρόγονος του `%s'" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, fuzzy, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "μη έγκυρη τάξη χαρακτήρων `%s'" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, fuzzy, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "μη έγκυρη τάξη χαρακτήρων `%s'" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, fuzzy, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "μη έγκυρη τάξη χαρακτήρων `%s'" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, fuzzy, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "μη έγκυρη τάξη χαρακτήρων `%s'" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, fuzzy, gcc-internal-format + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, fuzzy, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "μη έγκυρη τάξη χαρακτήρων `%s'" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, fuzzy, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "το `%s' είναι πρόγονος του `%s'" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, fuzzy, gcc-internal-format + msgid "%qs declared in a non-class scope" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, fuzzy, gcc-internal-format + msgid "declaration of % variable %qD is not a definition" + msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, fuzzy, gcc-internal-format + msgid "a variable cannot be declared %" + msgstr "Δεν μπορεί να τεθεί η ημερομηνία." + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, fuzzy, gcc-internal-format + msgid "default argument %qE uses %qD" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, fuzzy, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, fuzzy, gcc-internal-format + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'" + +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, fuzzy, gcc-internal-format + msgid "invalid use of type % in parameter declaration" + msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, gcc-internal-format + msgid "%-qualified parameter is deprecated" + msgstr "" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, fuzzy, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "ο χάρτης χαρακτήρων `%s' ορίστηκε ήδη" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, fuzzy, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "Δεν μπορεί να τεθεί η ημερομηνία." + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, fuzzy, gcc-internal-format + msgid "%qD must be a non-static member function" + msgstr "η `%s' είναι συνήθως μη-στατική συνάρτηση" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, fuzzy, gcc-internal-format + msgid "%qD must be a member function" + msgstr "η `%s' είναι συνήθως μη-στατική συνάρτηση" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, gcc-internal-format + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, gcc-internal-format + msgid "ISO C++ prohibits overloading %" + msgstr "" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, fuzzy, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, fuzzy, gcc-internal-format + msgid "%qD must have either zero or one argument" + msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, fuzzy, gcc-internal-format + msgid "%qD must have either one or two arguments" + msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, fuzzy, gcc-internal-format + msgid "postfix %qD must have % as its argument" + msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, fuzzy, gcc-internal-format + msgid "postfix %qD must have % as its second argument" + msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, fuzzy, gcc-internal-format + msgid "%qD must have no arguments" + msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, fuzzy, gcc-internal-format + msgid "%qD must have exactly one argument" + msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, fuzzy, gcc-internal-format + msgid "%qD must have exactly two arguments" + msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, fuzzy, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "Δεν μπορεί να τεθεί η ημερομηνία." + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, gcc-internal-format + msgid "converting %qT to % will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, gcc-internal-format + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, gcc-internal-format + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, gcc-internal-format + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, gcc-internal-format + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "" + +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "" + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "" + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "" + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, fuzzy, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "ο διαχωριστής δε μπορεί να είναι κενός" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, fuzzy, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "ο διαχωριστής δε μπορεί να είναι κενός" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, fuzzy, gcc-internal-format + msgid "%qD has a previous declaration here" + msgstr "αυτός είναι ο πρώτος ορισμός" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, fuzzy, gcc-internal-format + msgid "%qT has a previous declaration here" + msgstr "αυτός είναι ο πρώτος ορισμός" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "" +@@ -55387,112 +55377,112 @@ msgstr "" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, fuzzy, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "έχουν παραληφθεί ορίσματα" + + # src/getopt.c:628 + # src/getopt.c:628 +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, fuzzy, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "%s: η επιλογή `%s' είναι ασαφής\n" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, fuzzy, gcc-internal-format + msgid "class template %qD redeclared as non-template" + msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, fuzzy, gcc-internal-format + msgid "%qT is not a template" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, fuzzy, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "αυτός είναι ο πρώτος ορισμός" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, fuzzy, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "Η λειτουργία δεν υποστηρίζεται" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, fuzzy, gcc-internal-format + msgid "cannot declare %qD in a different module" + msgstr "άγνωστος χαρακτήρας στο πεδίο `%s' της κατηγορίας `%s'" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, fuzzy, gcc-internal-format + msgid "%qT defined with direct virtual base" + msgstr "Το `%s' δεν είναι κατάλογος." + +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, fuzzy, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "διπλός ορισμός συνόλου" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, fuzzy, gcc-internal-format + msgid "previous definition here" + msgstr "κανένας ορισμός του `UNDEFINED'" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, gcc-internal-format + msgid "cannot define %qD in different module" + msgstr "" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, gcc-internal-format + msgid "underlying type %qT of %qT must be an integral type" + msgstr "" +@@ -55501,82 +55491,82 @@ msgstr "" + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, fuzzy, gcc-internal-format + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "Μη έγκυρη ακέραια παράμετρος `%s'" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, fuzzy, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "Μη έγκυρη ακέραια παράμετρος `%s'" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, fuzzy, gcc-internal-format + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "Μη έγκυρη ακέραια παράμετρος `%s'" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, fuzzy, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "αδυναμία ανοίγματος αρχείου ορισμού locale `%s'" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, fuzzy, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "η επιστρεφόμενη τιμή της `%s' δεν είναι `int'" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, fuzzy, gcc-internal-format + msgid "no return statements in function returning %qT" + msgstr "`return' χωρίς τιμή, σε συνάρτηση που επιστρέφει μη-κενό" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, gcc-internal-format + msgid "only plain % return type can be deduced to %" + msgstr "" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, fuzzy, gcc-internal-format + msgid "no return statement in % function returning non-void" + msgstr "`return' χωρίς τιμή, σε συνάρτηση που επιστρέφει μη-κενό" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, fuzzy, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "το `%s' είναι πρόγονος του `%s'" + +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, fuzzy, gcc-internal-format + msgid "using %qs" + msgstr "σφάλμα ανάγνωσης %s" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "" +@@ -56431,7 +56421,7 @@ msgstr "Το `%s' δεν είναι κατάλογος." + msgid "type %qT is not a direct base of %qT" + msgstr "Το `%s' δεν είναι κατάλογος." + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "" +@@ -57487,7 +57477,7 @@ msgstr "" + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, fuzzy, gcc-internal-format + msgid "%qT is not a class, namespace, or enumeration" + msgstr "το `%s' δεν είναι κανονικό αρχείο" +@@ -58233,7 +58223,7 @@ msgstr "" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "Λείπει παράμετρος για `%s'" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, fuzzy, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_launder%>" + msgstr "λάθος αριθμός ορισμάτων" +@@ -58942,12 +58932,12 @@ msgstr "" + msgid "cannot expand initializer for member %qD" + msgstr "έχει παραληφθεί το αρχείο προορισμού" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "" +@@ -59547,7 +59537,7 @@ msgstr "Ελλιπής ή κακοσχηματισμένη ιδιότητα" + msgid "%qT not permitted in template argument" + msgstr "%s' δεν είναι ισχύων θετικός ακέραιος." + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, fuzzy, gcc-internal-format + msgid "invalid use of %qT" +@@ -60409,7 +60399,7 @@ msgstr "" + msgid "% clause with parameter on range-based % loop" + msgstr "" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, gcc-internal-format + msgid "iteration variable %qD should not be reduction" + msgstr "" +@@ -61417,7 +61407,7 @@ msgstr "" + msgid "for template declaration %q+D" + msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, fuzzy, gcc-internal-format + msgid "template constraint failure for %qD" + msgstr "δημιουργία αρχείου `%s'\n" +@@ -61510,278 +61500,278 @@ msgstr "" + msgid "function returning a function" + msgstr "" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, gcc-internal-format + msgid "forming reference to void" + msgstr "" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, fuzzy, gcc-internal-format + msgid "forming pointer to reference type %qT" + msgstr "δεν είστε μέλος της ομάδας `%s'" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, fuzzy, gcc-internal-format + msgid "forming reference to reference type %qT" + msgstr "δεν είστε μέλος της ομάδας `%s'" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, fuzzy, gcc-internal-format + msgid "forming pointer to qualified function type %qT" + msgstr "δεν είστε μέλος της ομάδας `%s'" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, fuzzy, gcc-internal-format + msgid "forming reference to qualified function type %qT" + msgstr "δεν είστε μέλος της ομάδας `%s'" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, fuzzy, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr "δεν είστε μέλος της ομάδας `%s'" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, fuzzy, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr "δεν είστε μέλος της ομάδας `%s'" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, fuzzy, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr "δεν είστε μέλος της ομάδας `%s'" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, fuzzy, gcc-internal-format + msgid "creating array of %qT" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, fuzzy, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not a class type" + msgstr "" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, gcc-internal-format + msgid "use of %qs in template" + msgstr "" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, gcc-internal-format + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, gcc-internal-format + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, fuzzy, gcc-internal-format + msgid "using invalid field %qD" + msgstr "έχει παραληφθεί η λίστα με τα πεδία" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, fuzzy, gcc-internal-format + msgid "invalid use of pack expansion expression" + msgstr "Μη έγκυρη κανονική έκφραση" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, gcc-internal-format + msgid "use %<...%> to expand argument pack" + msgstr "" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, gcc-internal-format + msgid "empty initializer in lambda init-capture" + msgstr "" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, fuzzy, gcc-internal-format + msgid "use %<%T::%D%> instead" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, fuzzy, gcc-internal-format + msgid "%qD declared here, later in the translation unit" + msgstr "Το επώνυμο αντικείμενο δεν είναι αναζητήσιμο" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, fuzzy, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "λάθος αριθμός ορισμάτων" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, fuzzy, gcc-internal-format + msgid "wrong number of arguments to % attribute" + msgstr "λάθος αριθμός ορισμάτων" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, fuzzy, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, fuzzy, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, fuzzy, gcc-internal-format + msgid "%qT is/uses unnamed type" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, fuzzy, gcc-internal-format + msgid "template argument for %qD uses local type %qT" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, fuzzy, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, fuzzy, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, fuzzy, gcc-internal-format + msgid "ambiguous template instantiation for %q#T" + msgstr "διπλός ορισμός συνόλου" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, fuzzy, gcc-internal-format + msgid "ambiguous template instantiation for %q#D" + msgstr "διπλός ορισμός συνόλου" + + # src/request.c:37 +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + #, fuzzy + msgid "%s %#qS" + msgstr "%s: %s" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "αδυναμία ανοίγματος αρχείου ορισμού locale `%s'" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of variable concept %q#D" + msgstr "αδυναμία ανοίγματος αρχείου ορισμού locale `%s'" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of function concept %q#D" + msgstr "αδυναμία ανοίγματος αρχείου ορισμού locale `%s'" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, fuzzy, gcc-internal-format + msgid "%qD is not a static data member of a class template" + msgstr "το `%s' είναι πρόγονος του `%s'" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, fuzzy, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "Ο έλεγχος μονοπατιού για το `%s' βρήκε `%s'" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, fuzzy, gcc-internal-format + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "αδυναμία ανοίγματος αρχείου ορισμού locale `%s'" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "διπλός ορισμός συνόλου" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, fuzzy, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "διπλός ορισμός συνόλου" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, gcc-internal-format + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-class template %qD" + msgstr "αδυναμία ανοίγματος αρχείου ορισμού locale `%s'" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "αδυναμία ανοίγματος αρχείου ορισμού locale `%s'" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, fuzzy, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "διπλός ορισμός συνόλου" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, fuzzy, gcc-internal-format + msgid "exception specification of %qD depends on itself" + msgstr "προηγούμενη αυτονόητη διακύρηξη του `%s'" +@@ -61793,165 +61783,165 @@ msgstr "προηγούμενη αυτονόητη διακύρηξη του `%s' + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, gcc-internal-format + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, gcc-internal-format + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, fuzzy, gcc-internal-format + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "%s' δεν είναι ισχύων θετικός ακέραιος." + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, gcc-internal-format + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, fuzzy, gcc-internal-format + msgid "invalid template non-type parameter" + msgstr "Μη έγκυρος χαρακτήρας παραβολής" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, fuzzy, gcc-internal-format + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "%s' δεν είναι ισχύων θετικός ακέραιος." + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, gcc-internal-format + msgid "keyword % not allowed in declarator-id" + msgstr "" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, fuzzy, gcc-internal-format + msgid "a concept cannot be constrained" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, fuzzy, gcc-internal-format + msgid "concept %qE not in namespace scope" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, fuzzy, gcc-internal-format + msgid "concept %qE has multiple template parameter lists" + msgstr "διπλό όνομα χαρακτήρα `%s'" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, gcc-internal-format + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "" + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, fuzzy, gcc-internal-format + msgid "non-deducible template %qT used without template arguments" + msgstr "διπλό όνομα χαρακτήρα `%s'" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, gcc-internal-format + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, gcc-internal-format + msgid "use %qD directly instead" + msgstr "" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, fuzzy, gcc-internal-format + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "%s' δεν είναι ισχύων θετικός ακέραιος." + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, fuzzy, gcc-internal-format + msgid "class template argument deduction failed:" + msgstr "έχουν παραληφθεί ορίσματα" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, fuzzy, gcc-internal-format + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, gcc-internal-format + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr "" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, fuzzy, gcc-internal-format + msgid "explicit deduction guide declared here" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, gcc-internal-format + msgid "%qT may not intend to support class template argument deduction" + msgstr "" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, fuzzy, gcc-internal-format + msgid "unable to deduce lambda return type from %qE" + msgstr "μη έγκυρος χαρακτήρας `%c' στο τύπο αλφαριθμητικού `%s'" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, fuzzy, gcc-internal-format + msgid "unable to deduce %qT from %qE" + msgstr "Δεν μπόρεσα να ανοίξω το αρχείο %s" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, fuzzy, gcc-internal-format + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, gcc-internal-format + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, gcc-internal-format + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "" + + # src/grep.c:785 src/grep.c:792 + # src/grep.c:1060 src/grep.c:1067 src/grep.c:1076 +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, fuzzy, gcc-internal-format + msgid "invalid use of %qT in template argument" + msgstr "μη έγκυρο όρισμα μήκους περιεχομένου" +@@ -62263,7 +62253,7 @@ msgstr "Μη έγκυρη ρύθμιση θύρας (port)" + msgid "cannot capture member %qD of anonymous union" + msgstr "" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, fuzzy, gcc-internal-format + msgid "%qD is not captured" + msgstr "το `%s' δεν είναι κανονικό αρχείο" +@@ -62673,27 +62663,27 @@ msgstr "" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, fuzzy, gcc-internal-format + msgid "%qD is not a class or alias template" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, gcc-internal-format + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "" + +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, gcc-internal-format + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, fuzzy, gcc-internal-format + msgid "non-pointer argument to %<__builtin_launder%>" + msgstr "Λείπει παράμετρος για `%s'" +@@ -62701,22 +62691,22 @@ msgstr "Λείπει παράμετρος για `%s'" + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "" +@@ -63955,222 +63945,222 @@ msgstr "δημιουργία αρχείου `%s'\n" + msgid "declaration of %q#T" + msgstr "δημιουργία αρχείου `%s'\n" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, fuzzy, gcc-internal-format + msgid "%qD has incomplete type" + msgstr "μη πλήρης εγγραφή" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, fuzzy, gcc-internal-format + msgid "invalid use of incomplete type %q#T" + msgstr "μη έγκυρος δεύτερος τελεστής σε κατάσταση συμβατότητας `%s'" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, fuzzy, gcc-internal-format + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "μη έγκυρος αριθμός από στήλες: `%s'" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, fuzzy, gcc-internal-format + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "μη έγκυρος αριθμός πεδίου: `%s'" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, fuzzy, gcc-internal-format + msgid "invalid use of placeholder %qT" + msgstr "μη έγκυρος χρήστης" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, fuzzy, gcc-internal-format + msgid "invalid use of template type parameter %qT" + msgstr "μη έγκυρος δεύτερος τελεστής σε κατάσταση συμβατότητας `%s'" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, fuzzy, gcc-internal-format + msgid "invalid use of template template parameter %qT" + msgstr "%s' δεν είναι ισχύων θετικός ακέραιος." + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, fuzzy, gcc-internal-format + msgid "invalid use of pack expansion %qT" + msgstr "Μη έγκυρη κανονική έκφραση" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, fuzzy, gcc-internal-format + msgid "invalid use of dependent type %qT" + msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, fuzzy, gcc-internal-format + msgid "invalid use of brace-enclosed initializer list" + msgstr "μη έγκυρος αριθμός από γραμμές" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, gcc-internal-format + msgid "% variable %qD does not have a constant initializer" + msgstr "" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + #, fuzzy + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "η μετατροπή από `%s' σε `%s' δεν υποστηρίζετε" + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + #, fuzzy + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "η μετατροπή από `%s' σε `%s' δεν υποστηρίζετε" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, gcc-internal-format + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr "" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, gcc-internal-format + msgid "initializer-string for %qT is too long" + msgstr "" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, gcc-internal-format + msgid "remove %<{ }%> around initializer" + msgstr "" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, fuzzy, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "έχει παραληφθεί το αρχείο προορισμού" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, fuzzy, gcc-internal-format + msgid "member %qD with uninitialized reference fields" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, fuzzy, gcc-internal-format + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "το αρχείο δεδομένων προφίλ `%s' δεν ταιριάζει με το διαμοιραζόμενο αντικείμενο `%s'" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, gcc-internal-format + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr "" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, fuzzy, gcc-internal-format + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "δεν είστε μέλος της ομάδας `%s'" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, fuzzy, gcc-internal-format + msgid "functional cast to array type %qT" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, gcc-internal-format + msgid "% cannot be constrained" + msgstr "" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, gcc-internal-format + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, fuzzy, gcc-internal-format + msgid "invalid value-initialization of reference type" + msgstr "μη έγκυρος αριθμός αρχείου στη δήλωση πεδίου: `%s'" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, fuzzy, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "μη πλήρης εγγραφή" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, fuzzy, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "μη πλήρης εγγραφή" +@@ -65111,7 +65101,7 @@ msgstr "" + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Invalid use of BOZ literal constant at %L" + msgstr "μη έγκυρος αριθμός από στήλες: `%s'" +@@ -66204,12 +66194,12 @@ msgstr "" + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "" +@@ -66391,7 +66381,7 @@ msgstr "" + msgid "deferred type parameter at %C" + msgstr "ο διαχωριστής δε μπορεί να είναι κενός" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "" +@@ -68412,7 +68402,7 @@ msgstr "" + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, gcc-internal-format + msgid "Function %qs in initialization expression at %L must be an intrinsic function" + msgstr "" +@@ -68683,7 +68673,7 @@ msgstr "" + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, fuzzy, gcc-internal-format + msgid "Explicit interface required for %qs at %L: %s" + msgstr "διπλό όνομα χαρακτήρα `%s'" +@@ -68801,7 +68791,7 @@ msgstr "" + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must not be ALLOCATABLE" + msgstr "" +@@ -68811,7 +68801,7 @@ msgstr "" + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must have the SAVE attribute" + msgstr "" +@@ -68942,7 +68932,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Creating array temporary at %L" +@@ -69158,12 +69148,12 @@ msgstr "" + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "" +@@ -69273,562 +69263,562 @@ msgstr "" + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Invalid procedure argument at %L" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, gcc-internal-format + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, gcc-internal-format + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, gcc-internal-format, gfc-internal-format + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "" + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, gcc-internal-format + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr "" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, fuzzy, gcc-internal-format + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, fuzzy, gcc-internal-format + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, gcc-internal-format + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, gcc-internal-format + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, gcc-internal-format + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, gcc-internal-format, gfc-internal-format + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, gcc-internal-format + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, gcc-internal-format + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, gcc-internal-format + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, fuzzy, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "πολύ λίγα ορίσματα" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, gcc-internal-format, gfc-internal-format + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, gcc-internal-format + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, gcc-internal-format + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, gcc-internal-format, gfc-internal-format + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, gcc-internal-format + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, gcc-internal-format + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, gcc-internal-format + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, gcc-internal-format + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, gcc-internal-format + msgid "Expected a procedure for argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, gcc-internal-format + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, gcc-internal-format + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, fuzzy, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, gcc-internal-format + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, gcc-internal-format + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, gcc-internal-format + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, gcc-internal-format + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, fuzzy, gcc-internal-format + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, gcc-internal-format + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, gcc-internal-format + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, gcc-internal-format + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, gcc-internal-format + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, gcc-internal-format + msgid "Missing actual argument for argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr "" + +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, gcc-internal-format + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, gcc-internal-format + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, gcc-internal-format + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, gcc-internal-format + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, gcc-internal-format + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, gcc-internal-format + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, gcc-internal-format, gfc-internal-format + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, gcc-internal-format + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, gcc-internal-format + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD argument to NULL required at %L" + msgstr "" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, gcc-internal-format, gfc-internal-format + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, gcc-internal-format + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "" + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, fuzzy, gcc-internal-format + msgid "Unable to find symbol %qs" + msgstr "Δεν μπόρεσα να ανοίξω το αρχείο %s" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, gcc-internal-format + msgid "Entity %qs at %L is already present in the interface" + msgstr "" + +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, fuzzy, gcc-internal-format + msgid "gfc_add_interface(): Bad interface type" + msgstr "εσωτερικό σφάλμα στο %s, γραμμή %u" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, gcc-internal-format + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, gcc-internal-format + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, gcc-internal-format + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, gcc-internal-format + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, gcc-internal-format + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, gcc-internal-format + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, gcc-internal-format + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, gcc-internal-format + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, gcc-internal-format + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, gcc-internal-format + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, gcc-internal-format + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, gcc-internal-format + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, gcc-internal-format + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, gcc-internal-format + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, gcc-internal-format + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO character argument at %L must have assumed length" + msgstr "" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, gcc-internal-format + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, fuzzy, gcc-internal-format + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "Προειδοποίηση: Πολύ λίγα ορίσματα στο εσωδομημένο `%s'" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to procedure `%s'" + msgid "Too many dummy arguments in DTIO procedure %qs at %L" +@@ -70015,7 +70005,7 @@ msgstr "η μετατροπή από `%s' σε `%s' δεν υποστηρίζε + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Cannot convert %s to %s at %L" + msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" +@@ -70566,7 +70556,7 @@ msgstr "" + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, gcc-internal-format + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" + msgstr "" +@@ -71135,7 +71125,7 @@ msgstr "" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "" + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, gcc-internal-format, gfc-internal-format + msgid "QUIET specifier at %L must be a scalar LOGICAL" + msgstr "" +@@ -72988,8 +72978,8 @@ msgstr "" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "" +@@ -74955,722 +74945,712 @@ msgstr "" + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "Μεταγλωττισμός προδιαγραφών τοπικών ρυθμίσεων" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:881 +-#, gcc-internal-format, gfc-internal-format +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "" +- +-#: fortran/resolve.cc:885 +-#, gcc-internal-format, gfc-internal-format +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, gcc-internal-format, gfc-internal-format + msgid "COMMON block at %L" + msgstr "" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, gcc-internal-format + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, gcc-internal-format + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, gcc-internal-format + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, gcc-internal-format + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, gcc-internal-format + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, gcc-internal-format + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, gcc-internal-format + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, gcc-internal-format + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a function result" + msgstr "" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, gcc-internal-format, gfc-internal-format + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, gcc-internal-format + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, gcc-internal-format + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, gcc-internal-format + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, gcc-internal-format + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, gcc-internal-format + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, gcc-internal-format + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, gcc-internal-format + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "" + + # src/getopt.c:628 + # src/getopt.c:628 +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, fuzzy, gcc-internal-format + msgid "%qs at %L is ambiguous" + msgstr "%s: η επιλογή `%s' είναι ασαφής\n" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, gcc-internal-format + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, gcc-internal-format + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, gcc-internal-format + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, gcc-internal-format + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "" + +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, gcc-internal-format + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "" + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, gcc-internal-format + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, gcc-internal-format + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, gcc-internal-format + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, gcc-internal-format + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, gcc-internal-format + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, gcc-internal-format + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, gcc-internal-format + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "" + + # src/getopt.c:628 + # src/getopt.c:628 +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, fuzzy, gcc-internal-format + msgid "Symbol %qs at %L is ambiguous" + msgstr "%s: η επιλογή `%s' είναι ασαφής\n" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not of numeric type" + msgstr "" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not allowed in this context" + msgstr "" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, gcc-internal-format + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, gcc-internal-format + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, gcc-internal-format + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, gcc-internal-format + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, gcc-internal-format + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, gcc-internal-format + msgid "There is no specific function for the generic %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, gcc-internal-format + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "" + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, gcc-internal-format + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, gcc-internal-format + msgid "Unable to resolve the specific function %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "" + +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, gcc-internal-format + msgid "Unexpected junk after %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, fuzzy, gcc-internal-format + msgid "%qs at %L is not a function" + msgstr "Το `%s' δεν είναι κατάλογος." + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, gcc-internal-format + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, gcc-internal-format + msgid "resolve_function(): bad function type" + msgstr "" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, gcc-internal-format + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, gcc-internal-format + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, fuzzy, gcc-internal-format + msgid "Using function %qs at %L is deprecated" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, gcc-internal-format + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, gcc-internal-format + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, gcc-internal-format + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, gcc-internal-format + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, gcc-internal-format + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, gcc-internal-format + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, gcc-internal-format + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, gcc-internal-format + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, gcc-internal-format + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, gcc-internal-format + msgid "resolve_subroutine(): bad function type" + msgstr "" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, gcc-internal-format + msgid "Using subroutine %qs at %L is deprecated" + msgstr "" + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, gcc-internal-format, gfc-internal-format + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "" + +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, gcc-internal-format + msgid "Impure function %qs at %L might not be evaluated" + msgstr "" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, gcc-internal-format, gfc-internal-format + msgid "Impure function at %L might not be evaluated" + msgstr "" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, gcc-internal-format + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, gcc-internal-format, gfc-internal-format + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" + msgstr "" + +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, gcc-internal-format, gfc-internal-format + msgid "Equality comparison for %s at %L" + msgstr "" + +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, gcc-internal-format, gfc-internal-format + msgid "Inequality comparison for %s at %L" + msgstr "" + +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, gcc-internal-format + msgid "check_dimension(): Bad array reference" + msgstr "" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "" + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, gcc-internal-format, gfc-internal-format + msgid "REAL array index at %L" + msgstr "" + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Invalid array reference of a non-array entity at %L" + msgstr "Μη έγκυρη ακέραια παράμετρος `%s'" + +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "" + +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "Ο κατάλογος `%s' δεν είναι προσιτός." + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L is too large" + msgstr "Κακή αίτηση παραμέτρων" + +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, gcc-internal-format + msgid "resolve_ref(): Bad array reference" + msgstr "" + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "" + +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may only be used as actual argument" + msgstr "" +@@ -75679,12 +75659,12 @@ msgstr "" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L may only be used as actual argument" + msgstr "" +@@ -75693,294 +75673,294 @@ msgstr "" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, gcc-internal-format + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, gcc-internal-format + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "" + + # src/shred.c:1134 +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, fuzzy, gcc-internal-format + msgid "Using variable %qs at %L is deprecated" + msgstr "%s: το αρχείο είναι πολύ μεγάλο" + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, gcc-internal-format + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, gcc-internal-format, gfc-internal-format + msgid "Error in typebound call at %L" + msgstr "" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, gcc-internal-format, gfc-internal-format + msgid "Passed-object at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, gcc-internal-format + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, gcc-internal-format, gfc-internal-format + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, gcc-internal-format + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, gcc-internal-format + msgid "%qs at %L should be a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, gcc-internal-format + msgid "%qs at %L should be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, gcc-internal-format + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be integer" + msgstr "η τιμή για το %s πρέπει να είναι ακέραιος" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, gcc-internal-format + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, gcc-internal-format, gfc-internal-format + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, gcc-internal-format, gfc-internal-format + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, gcc-internal-format + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, gcc-internal-format + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "" + +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "" +@@ -75989,284 +75969,284 @@ msgstr "" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "" + +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "" + +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "" + +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, gcc-internal-format, gfc-internal-format + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, gcc-internal-format + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure name" + msgstr "" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L cannot be NULL()" + msgstr "" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L has no type" + msgstr "" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, gcc-internal-format, gfc-internal-format + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L must not be coindexed" + msgstr "" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, gcc-internal-format, gfc-internal-format + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, gcc-internal-format + msgid "Derived type %qs at %L must be extensible" + msgstr "" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, gcc-internal-format + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, fuzzy, gcc-internal-format + msgid "Unexpected intrinsic type %qs at %L" + msgstr "%s: αναμενόταν ακέραιος μετά το `%c'" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, gcc-internal-format, gfc-internal-format + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO %s procedure at %L must be recursive" + msgstr "" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, gcc-internal-format, gfc-internal-format + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, gcc-internal-format, gfc-internal-format + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, gcc-internal-format, gfc-internal-format + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, gcc-internal-format, gfc-internal-format + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, gcc-internal-format, gfc-internal-format + msgid "Branch at %L may result in an infinite loop" + msgstr "" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "" +@@ -76274,207 +76254,207 @@ msgstr "" + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "Μη αναγνωρίσιμη μεταβλητή `%s'" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, gcc-internal-format + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL construct at %L" + msgstr "" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "" + +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, gcc-internal-format, gfc-internal-format + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "" + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, gcc-internal-format + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "" + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer procedure assignment at %L" + msgstr "" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, gcc-internal-format, gfc-internal-format + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "" + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, gcc-internal-format + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, gcc-internal-format, gfc-internal-format + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, gcc-internal-format + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, gcc-internal-format, gfc-internal-format + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid NULL at %L" + msgstr "" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, gcc-internal-format, gfc-internal-format + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "" + +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, gcc-internal-format + msgid "gfc_resolve_code(): Bad statement code" + msgstr "" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, fuzzy, gcc-internal-format + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "ο χάρτης χαρακτήρων `%s' ορίστηκε ήδη" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, gcc-internal-format + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, gcc-internal-format + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" + msgstr "" +@@ -76482,986 +76462,986 @@ msgstr "" + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, gcc-internal-format + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "String length at %L is too large" + msgstr "σχετική θέση αρχείου είναι εκτός ορίων" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, gcc-internal-format + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, gcc-internal-format + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, gcc-internal-format + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, gcc-internal-format + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, gcc-internal-format + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, gcc-internal-format + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, gcc-internal-format + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" + msgstr "" + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, gcc-internal-format + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, gcc-internal-format + msgid "%qs at %L must have constant character length in this context" + msgstr "" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, gcc-internal-format + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, gcc-internal-format + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, gcc-internal-format + msgid "External %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, gcc-internal-format + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, gcc-internal-format + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, gcc-internal-format + msgid "Function result %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, gcc-internal-format + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "" + + # src/request.c:37 +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "fstat %s" + msgid "%s at %L" + msgstr "fstat %s" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, gcc-internal-format + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, gcc-internal-format + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, gcc-internal-format + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, fuzzy, gcc-internal-format + msgid "Function %qs at %L cannot have an initializer" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, gcc-internal-format + msgid "External object %qs at %L may not have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, gcc-internal-format + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, gcc-internal-format + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "" + +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, fuzzy, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, gcc-internal-format + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, gcc-internal-format + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, gcc-internal-format + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, gcc-internal-format + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, gcc-internal-format + msgid "Interface of %qs at %L must be explicit" + msgstr "" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, gcc-internal-format + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, gcc-internal-format + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, gcc-internal-format, gfc-internal-format + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, gcc-internal-format + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, gcc-internal-format + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, gcc-internal-format + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, gcc-internal-format + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, gcc-internal-format + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, gcc-internal-format + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, gcc-internal-format + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, gcc-internal-format, gfc-internal-format + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, gcc-internal-format + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, gcc-internal-format + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, gcc-internal-format + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, gcc-internal-format + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, gcc-internal-format + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, gcc-internal-format + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, gcc-internal-format + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, gcc-internal-format + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, gcc-internal-format + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, gcc-internal-format + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, gcc-internal-format + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, gcc-internal-format + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "" + +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, gcc-internal-format + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, gcc-internal-format + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, gcc-internal-format + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, gcc-internal-format, gfc-internal-format + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, gcc-internal-format, gfc-internal-format + msgid "Conflicting initializers in union at %L and %L" + msgstr "" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, gcc-internal-format + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, gcc-internal-format + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, gcc-internal-format + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs at %L has not been declared" + msgstr "Δεν μπορεί να τεθεί η ημερομηνία." + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, gcc-internal-format + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "" + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, gcc-internal-format + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, gcc-internal-format + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, gcc-internal-format + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, gcc-internal-format + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, gcc-internal-format + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, gcc-internal-format + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, gcc-internal-format + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, gcc-internal-format + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, gcc-internal-format + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, gcc-internal-format + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, gcc-internal-format, gfc-internal-format + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, gcc-internal-format, gfc-internal-format + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, gcc-internal-format + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, gcc-internal-format, gfc-internal-format + msgid "Bad specification for assumed size array at %L" + msgstr "" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, gcc-internal-format + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, gcc-internal-format + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, gcc-internal-format + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, gcc-internal-format + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "" + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, gcc-internal-format + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, gcc-internal-format + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "" + +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, gcc-internal-format + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, gcc-internal-format + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, gcc-internal-format + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, gcc-internal-format + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, gcc-internal-format + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, gcc-internal-format + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, gcc-internal-format + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, gcc-internal-format + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, gcc-internal-format + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, gcc-internal-format + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, gcc-internal-format + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, gcc-internal-format + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, gcc-internal-format + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "" + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, gcc-internal-format, gfc-internal-format + msgid "Expecting definable entity near %L" + msgstr "" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, gcc-internal-format + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, gcc-internal-format + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L shall not be zero" + msgstr "" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but not used" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but cannot be used" + msgstr "" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, gcc-internal-format + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, gcc-internal-format + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, gcc-internal-format + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, gcc-internal-format + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, gcc-internal-format + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, gcc-internal-format + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, gcc-internal-format + msgid "Self reference in character length expression for %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, gcc-internal-format + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, gcc-internal-format + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, gcc-internal-format + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, gcc-internal-format + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" + msgstr "" +@@ -78355,7 +78335,7 @@ msgstr "" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "" +@@ -78367,12 +78347,12 @@ msgstr "" + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, gcc-internal-format + msgid "Creating array temporary at %L for argument %qs" + msgstr "" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "" +@@ -78464,88 +78444,83 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "" + + #: fortran/trans-decl.cc:1795 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-msgid "%s at %C has no default type" +-msgstr "μη πλήρης εγγραφή" +- +-#: fortran/trans-decl.cc:1798 + #, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, gcc-internal-format + msgid "Return value of function %qs at %L not set" + msgstr "" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, gcc-internal-format + msgid "Deferred type parameter not yet supported" + msgstr "" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, gcc-internal-format + msgid "backend decl for module variable %qs already exists" + msgstr "" + + # src/shred.c:1134 +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, fuzzy, gcc-internal-format + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "%s: το αρχείο είναι πολύ μεγάλο" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, gcc-internal-format + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, gcc-internal-format + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, fuzzy, gcc-internal-format + msgid "Unused dummy argument %qs at %L" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, gcc-internal-format + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "" + + # src/shred.c:1134 +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, fuzzy, gcc-internal-format + msgid "Unused variable %qs declared at %L" + msgstr "%s: το αρχείο είναι πολύ μεγάλο" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, fuzzy, gcc-internal-format + msgid "Unused parameter %qs declared at %L" + msgstr "ο χάρτης χαρακτήρων `%s' ορίστηκε ήδη" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, gcc-internal-format + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, gcc-internal-format + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "" +@@ -78560,28 +78535,28 @@ msgstr "" + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "" + + # src/grep.c:1133 +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, fuzzy, gcc-internal-format + msgid "Unknown intrinsic op" + msgstr "άγνωστη μέθοδος καταλόγων" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Unknown argument list function at %L" + msgstr "Προειδοποίηση: Πολύ λίγα ορίσματα στο εσωδομημένο `%s'" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "" +diff --git a/gcc/po/es.po b/gcc/po/es.po +index 399cb5ef3cd..a91ed39fe73 100644 +--- a/gcc/po/es.po ++++ b/gcc/po/es.po +@@ -42,7 +42,7 @@ msgid "" + msgstr "" + "Project-Id-Version: gcc 10.1-b20200209\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" + "PO-Revision-Date: 2020-03-22 16:48+0100\n" + "Last-Translator: Antonio Ceballos Roa \n" + "Language-Team: Spanish \n" +@@ -4123,7 +4123,7 @@ msgstr "" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "" + + #: m2/lang.opt:127 +@@ -7888,12 +7888,6 @@ msgstr "" + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "" + +-#: config/i386/i386.opt:1280 +-#, fuzzy, no-c-format +-#| msgid "Support XOP built-in functions and code generation." +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "Admite funciones internas XOP y generación de código." +- + #: config/pa/pa64-hpux.opt:23 + #, no-c-format + msgid "Assume code will be linked by GNU ld." +@@ -17646,12 +17640,12 @@ msgstr "el operando '%%l' no es una etiqueta" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "constante de coma flotante mal usada" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +@@ -18735,68 +18729,68 @@ msgstr "Esta opción carece de documentación." + msgid "Uses of this option are diagnosed." + msgstr "Los usos de esta opción están diagnosticados." + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "" + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, fuzzy, c-format + #| msgid "%s Same as %s." + msgid "Same as %s%s." + msgstr "%s Igual que %s." + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, fuzzy, c-format + #| msgid "%s Same as %s." + msgid "Same as %s." + msgstr "%s Igual que %s." + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, c-format + msgid "%s Same as %s." + msgstr "%s Igual que %s." + +-#: opts.cc:1733 ++#: opts.cc:1732 + #, fuzzy + #| msgid "variable" + msgid "[available in " + msgstr "variable" + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "[por defecto]" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, fuzzy, c-format + #| msgid " bytes" + msgid "%llu bytes" + msgstr " bytes" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "[activado]" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "[desactivado]" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr " No se encontraron opciones con las características deseadas\n" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr " No se encontró ninguna. Use --help=%s para mostrar *todas* las opciones admitidas por el frente %s.\n" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr "Ya se mostraron todas las opciones con las características deseadas\n" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, c-format + msgid "" + " Known valid arguments for %s option:\n" +@@ -18805,49 +18799,49 @@ msgstr "" + " Argumentos válidos conocidos para la opción %s:\n" + " " + +-#: opts.cc:1959 ++#: opts.cc:1958 + msgid "The following options are target specific" + msgstr "Las siguientes opciones son específicas del objetivo" + +-#: opts.cc:1962 ++#: opts.cc:1961 + msgid "The following options control compiler warning messages" + msgstr "Las siguientes opciones controlan los mensajes de aviso del compilador" + +-#: opts.cc:1965 ++#: opts.cc:1964 + msgid "The following options control optimizations" + msgstr "Las siguientes opciones controlan las optimizaciones" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + msgid "The following options are language-independent" + msgstr "Las siguientes opciones son independientes del lenguaje" + +-#: opts.cc:1971 ++#: opts.cc:1970 + #, fuzzy + #| msgid "The following options control optimizations" + msgid "The following options control parameters" + msgstr "Las siguientes opciones controlan las optimizaciones" + +-#: opts.cc:1977 ++#: opts.cc:1976 + msgid "The following options are specific to just the language " + msgstr "Las siguientes opciones son específicas sólo para el lenguaje " + +-#: opts.cc:1979 ++#: opts.cc:1978 + msgid "The following options are supported by the language " + msgstr "Las siguientes opciones se admiten en el lenguaje " + +-#: opts.cc:1990 ++#: opts.cc:1989 + msgid "The following options are not documented" + msgstr "Las siguientes opciones no están documentadas" + +-#: opts.cc:1992 ++#: opts.cc:1991 + msgid "The following options take separate arguments" + msgstr "Las siguientes opciones toman argumentos separados" + +-#: opts.cc:1994 ++#: opts.cc:1993 + msgid "The following options take joined arguments" + msgstr "Las siguientes opciones toman argumentos conjuntos" + +-#: opts.cc:2006 ++#: opts.cc:2005 + msgid "The following options are language-related" + msgstr "Las siguientes opciones son relacionadas al lenguaje" + +@@ -19233,75 +19227,75 @@ msgstr "modificador de longitud en formato strfmon" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, c-format + msgid "unsupported operand for code '%c'" + msgstr "no se admite el operando para el código '%c'" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "operando no válido para '%%%c'" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, c-format + msgid "invalid vector constant" + msgstr "constante de vector no válida" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "coma flotante incompatible / operando de registro de vector para '%%%c'" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, fuzzy, c-format + #| msgid "incompatible floating point / vector register operand for '%%%c'" + msgid "incompatible register operand for '%%%c'" + msgstr "coma flotante incompatible / operando de registro de vector para '%%%c'" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, c-format + msgid "missing operand" + msgstr "falta un operando" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, c-format + msgid "invalid constant" + msgstr "constante no válida" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, c-format + msgid "invalid operand" + msgstr "operando no válido" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "prefijo de operando no válido '%%%c'" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, c-format + msgid "invalid address mode" + msgstr "modo de direccionamiento no válido" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + #, fuzzy + #| msgid "invalid operands in binary operation" + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "operandos no válidos en la operación binaria" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "se usó '%%&' sin ninguna referencia TLS dinámica local" +@@ -19318,18 +19312,18 @@ msgid "invalid %%r value" + msgstr "valor %%r no válido" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "valor %%R no válido" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "valor %%N no válido" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" + msgstr "valor %%P no válido" +@@ -19359,7 +19353,7 @@ msgstr "valor %%M no válido" + msgid "invalid %%U value" + msgstr "valor %%U no válido" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" + msgstr "valor %%s no válido" +@@ -19369,7 +19363,7 @@ msgstr "valor %%s no válido" + msgid "invalid %%C value" + msgstr "valor %%C no válido" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" + msgstr "valor %%E no válido" +@@ -19382,7 +19376,7 @@ msgstr "reubicación unspec desconocida" + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" + msgstr "código %%xn no válido" +@@ -19465,35 +19459,35 @@ msgstr "UNSPEC no válido como operando: %d" + msgid "unrecognized supposed constant" + msgstr "no se reconoce la constante supuesta" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, c-format + msgid "invalid shift operand" + msgstr "operando de desplazamiento no válido" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, c-format + msgid "predicated Thumb instruction" + msgstr "instrucción de predicado Thumb" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "instrucción de predicado en una secuencia condicional" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "No se admite el operando para el código '%c'" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -19502,26 +19496,26 @@ msgstr "No se admite el operando para el código '%c'" + msgid "invalid operand for code '%c'" + msgstr "operando no válido para el código '%c'" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, c-format + msgid "instruction never executed" + msgstr "la instrucción nunca se ejecuta" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "código de formato Maverick obsoleto '%c'" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + msgid "invalid conversion from type %" + msgstr "conversión no válida desde el tipo %" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + msgid "invalid conversion to type %" + msgstr "conversión no válida al tipo %" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "operación no permitida con el tipo %" + +@@ -19892,100 +19886,98 @@ msgstr "constante fp no válida" + msgid "Expected register or constant integer." + msgstr "se esperaba interfaz o puntero a interfaz" + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, c-format + msgid "invalid UNSPEC as operand" + msgstr "UNSPEC no válido como operando" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, c-format + msgid "invalid use of register '%s'" + msgstr "uso no válido del registro '%s'" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, c-format + msgid "invalid use of asm flag output" + msgstr "tipo no válido de la salida del indicador asm" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, c-format + msgid "invalid operand size for operand code 'O'" + msgstr "tamaño de operando no válido para el código de operando 'O'" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, c-format + msgid "invalid operand size for operand code 'z'" + msgstr "tamaño de operando no válido para el código de operando 'z'" + +-#: config/i386/i386.cc:13290 +-#, fuzzy, c-format +-#| msgid "invalid operand type used with operand code 'Z'" +-msgid "invalid operand type used with operand code '%c'" ++#: config/i386/i386.cc:13283 ++#, c-format ++msgid "invalid operand type used with operand code 'Z'" + msgstr "se usó un tipo de operando no válido con el código de operando 'Z'" + +-#: config/i386/i386.cc:13295 +-#, fuzzy, c-format +-#| msgid "invalid operand size for operand code 'O'" +-msgid "invalid operand size for operand code '%c'" +-msgstr "tamaño de operando no válido para el código de operando 'O'" ++#: config/i386/i386.cc:13288 ++#, c-format ++msgid "invalid operand size for operand code 'Z'" ++msgstr "tamaño de operando no válido para el código de operando 'Z'" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, c-format + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "el operando no es un código de condición, código de operando 'Y' no válido" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, c-format + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "el operando no es un código de condición, código de operando 'D' no válido" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, c-format + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "el operando no es un código de condición, código de operando '%c' no válido" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, c-format + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "el operando no es una referencia de memoria desplazable, código de operando 'H' no válido" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, c-format + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "el operando no es un entero, código de operando 'K' no válido" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "el operando no es un entero concreto, código de operando 'r' no válido" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, c-format + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "el operando no es un entero, código de operando 'R' no válido" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "el operando no es un entero concreto, código de operando 'R' no válido" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, c-format + msgid "invalid operand code '%c'" + msgstr "código de operando '%c' no válido" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, c-format + msgid "invalid constraints for operand" + msgstr "restricciones no válidas para el operando" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, fuzzy, c-format + #| msgid "invalid vector constant" + msgid "invalid vector immediate" + msgstr "constante de vector no válida" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + msgid "unknown insn mode" + msgstr "modo insn desconocido" + +@@ -20016,7 +20008,7 @@ msgstr "operación no válida en %<__fpreg%>" + msgid "invalid %%P operand" + msgstr "operando %%P no válido" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" + msgstr "valor %%p no válido" +@@ -20061,8 +20053,8 @@ msgstr "'%%%c' no es un prefijo de operando válido" + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, c-format + msgid "invalid use of '%%%c'" + msgstr "uso no válido de '%%%c'" +@@ -20094,7 +20086,7 @@ msgid "post-increment address is not a register" + msgstr "la dirección de post-incremento no es un registro" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" + msgstr "dirección errónea" + +@@ -20260,7 +20252,7 @@ msgstr "no se admite la combinación: %s" + msgid "unsupported memory expression:" + msgstr "conversión de coma fija no admitida" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, fuzzy, c-format + #| msgid "invalid %%r operand" + msgid "invalid vector operand" +@@ -20313,152 +20305,152 @@ msgstr "%<-mquad-memory%> no está disponible en modo little endian" + msgid "bad move" + msgstr "move erróneo" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" + msgstr "Movimiento de 128 bits erróneo" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, fuzzy, c-format + #| msgid "invalid %%J value" + msgid "invalid %%A value" + msgstr "valor %%J no válido" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" + msgstr "valor %%D no válido" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, c-format + msgid "invalid %%e value" + msgstr "valor %%e no válido" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" + msgstr "valor %%f no válido" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" + msgstr "valor %%F no válido" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" + msgstr "valor %%G no válido" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" + msgstr "código %%j no válido" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" + msgstr "código %%J no válido" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" + msgstr "valor %%k no válido" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "valor %%K no válido" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" + msgstr "valor %%O no válido" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" + msgstr "valor %%q no válido" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, c-format + msgid "invalid %%t value" + msgstr "valor %%t no válido" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" + msgstr "valor %%T no válido" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" + msgstr "valor %%u no válido" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "valor %%v no válido" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, c-format + msgid "invalid %%V value" + msgstr "valor %%V no válido" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" + msgstr "valor %%x no válido" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, c-format + msgid "invalid %%z value" + msgstr "valor %%z no válido" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "valor %%y no válido, pruebe usando la restricción 'Z'" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + #, fuzzy + #| msgid "Enable using IEEE 128-bit floating point instructions." + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "Activa el uso de instrucciones de coma flotante de 128 bits IEEE." + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + msgid "AltiVec argument passed to unprototyped function" + msgstr "Se pasó un argumento Altivec a una función sin prototipo" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + msgid "Could not generate addis value for fusion" + msgstr "No se ha podido generar valor addis para fusión" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + msgid "Unable to generate load/store offset for fusion" + msgstr "No se puede generar desplazamiento de carga/almacenamiento para fusión" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" + msgstr "Fusión GPR errónea" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + #, fuzzy + #| msgid "invalid conversion from type %" + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "conversión no válida desde el tipo %" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + #, fuzzy + #| msgid "invalid conversion to type %" + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "conversión no válida al tipo %" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "conversión no válida de %<__fpreg%>" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + #, fuzzy + #| msgid "invalid conversion to %<__fpreg%>" + msgid "invalid conversion to type %<__vector_pair%>" +@@ -20926,7 +20918,7 @@ msgstr "candidato 1:" + msgid " after user-defined conversion:" + msgstr "Activa las instrucciones definidas por el usuario." + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + msgid "candidate is:" + msgid_plural "candidates are:" + msgstr[0] "el candidato es:" +@@ -21418,7 +21410,7 @@ msgstr "Desajuste de frontera de matriz en la dimensión 2 de la matriz (%ld/%ld + msgid "Driving:" + msgstr "Conduciendo:" + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + msgid "actual argument to INTENT = OUT/INOUT" + msgstr "argumento actual de INTENT = OUT/INOUT" + +@@ -21592,11 +21584,11 @@ msgstr "bloque IF" + msgid "implied END DO" + msgstr "END DO implícito" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + msgid "assignment" + msgstr "asignación" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + msgid "pointer assignment" + msgstr "asignación de puntero" + +@@ -21604,200 +21596,200 @@ msgstr "asignación de puntero" + msgid "simple IF" + msgstr "IF simple" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + msgid "elemental procedure" + msgstr "procedimiento elemental" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + msgid "allocatable argument" + msgstr "argumento asignable" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + msgid "asynchronous argument" + msgstr "argumento asíncrono" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + msgid "optional argument" + msgstr "argumento opcional" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + msgid "pointer argument" + msgstr "argumento puntero" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + msgid "target argument" + msgstr "argumento destino" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + msgid "value argument" + msgstr "argumento de valor" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + msgid "volatile argument" + msgstr "argumento volátil" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + msgid "assumed-shape argument" + msgstr "se asume argumento de aspecto" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + msgid "assumed-rank argument" + msgstr "se asume argumento de rango" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + msgid "coarray argument" + msgstr "argumento de coarray" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + msgid "parametrized derived type argument" + msgstr "argumento de tipo derivado parametrizado" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + msgid "polymorphic argument" + msgstr "argumento polimórfico" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + msgid "NO_ARG_CHECK attribute" + msgstr "atributo NO_ARG_CHECK" + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + msgid "assumed-type argument" + msgstr "se asume argumento de tipo" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + msgid "array result" + msgstr "resultado array" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + msgid "pointer or allocatable result" + msgstr "puntero o resultado asignable" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + msgid "result with non-constant character length" + msgstr "resultado con longitud de carácter no constante" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + msgid "bind(c) procedure" + msgstr "procedimiento bind(c)" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, c-format + msgid "Invalid context for NULL() pointer at %%L" + msgstr "Contexto no válido para el puntero NULL() en %%L" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, c-format + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "El operando del operador numérico unitario %%<%s%%> en %%L es %s" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "Entidades de tipos derivados no esperadas en el operador numérico intrínseco binario %%<%s%%> en %%L" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, c-format + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "Los operandos del operador numérico binario %%<%s%%> en %%L son %s/%s" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "Los operandos del operador de concatenación de cadenas en %%L son %s/%s" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, c-format + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "Los operandos del operador lógico %%<%s%%> en %%L son %s/%s" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "El operando del operador .not. en %%L es %s" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "Las cantidades COMPLEX no se pueden comparar en %L" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "Los lógicos en %%L se deben comparar con %s en lugar de %s" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, c-format + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "Los operandos del operador de comparación %%<%s%%> en %%L son %s/%s" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, fuzzy, c-format + #| msgid "Unknown operator %%<%s%%> at %%L; did you mean '%s'?" + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "Operador %%<%s%%> desconocido en %%L; ¿quiso decir '%s'?" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "Operador %%<%s%%> desconocido en %%L" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, c-format + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "El operando del operador de usuario %%<%s%%> en %%L es %s" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, c-format + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "Los operandos del operador de usuario %%<%s%%> en %%L son %s/%s" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, c-format + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "Rangos inconsistentes para el operador en %%L y %%L" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "Variable de ciclo" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + msgid "iterator variable" + msgstr "variable de iterador" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + msgid "Start expression in DO loop" + msgstr "Expresión de inicio en el bucle DO" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + msgid "End expression in DO loop" + msgstr "Expresión de fin en el bucle DO" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + msgid "Step expression in DO loop" + msgstr "Expresión de paso en el bucle DO" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + msgid "DEALLOCATE object" + msgstr "objeto DEALLOCATE" + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + msgid "ALLOCATE object" + msgstr "objeto ALLOCATE" + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + msgid "STAT variable" + msgstr "variable STAT" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + msgid "ERRMSG variable" + msgstr "variable ERRMSG" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + msgid "item in READ" + msgstr "elemento en READ" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + msgid "ACQUIRED_LOCK variable" + msgstr "variable ACQUIRED_LOCK" + +@@ -21810,27 +21802,27 @@ msgstr "Longitudes de CHARACTER diferentes (%ld/%ld) en el constructor de matriz + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "Desborde entero al calcular la cantidad de memoria a reservar" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "El valor del parámetro PDT LEN '%s' no concuerda con el de la declaración «dummy»" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, c-format + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "La longitud de la cadena actual no coincide con la declarada para el argumento dummy '%s' (%ld/%ld)" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, c-format + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "La longitud de la cadena actual es más corta que la declarada para el argumento dummy '%s' (%ld/%ld)" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "El objetivo del remapeo de rango es demasiado pequeño (%ld < %ld)" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + msgid "Assignment of scalar to unallocated array" + msgstr "Asignación de escalar a un array sin espacio asignado" + +@@ -22723,7 +22715,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "-mrelax sólo se admite pare el PIC de RTP" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in %s statement at %C" + msgstr "Error sintáctico en la declaración %s en %C" +@@ -23118,7 +23110,7 @@ msgstr "Se hace caso omiso del atributo %qE debido a un conflicto con el atribut + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, gcc-internal-format + msgid "previous declaration here" +@@ -23217,10 +23209,10 @@ msgstr "se descartan los atributos de tipo después de que el tipo ya se defini + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -23358,7 +23350,7 @@ msgstr "no se puede leer el perfil de función de %s" + msgid "offset %qwi outside bounds of constant string" + msgstr "el desplazamiento %qwi fuera de los límites de la constante de cadena" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared here" + msgid "%qE declared here" +@@ -25285,7 +25277,7 @@ msgstr "se truncó la constante de coma fija grande implícitamente al tipo de c + msgid "comparison is always %d due to width of bit-field" + msgstr "la comparación siempre es %d debido a la anchura del campo de bit" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "se asume que el desbordamiento con signo no sucede al simplificar la prueba de rango" +@@ -26109,7 +26101,7 @@ msgstr "la función devuelve la dirección de una variable local" + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -27402,14 +27394,14 @@ msgstr "asumiendo el puntero a miembro %qD" + msgid "using a dangling pointer to %qD" + msgstr "modo de puntero %qs no válido" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, gcc-internal-format + msgid "%qD declared here" + msgstr "%qD se declara aquí" +@@ -27459,7 +27451,7 @@ msgstr "en una llamada a la función de reserva interna %qD" + msgid "call to %qD" + msgstr " en la llamada a %qD" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, fuzzy, gcc-internal-format + #| msgid "address of local variable %q+D returned" + msgid "storing the address of local variable %qD in %qE" +@@ -28619,7 +28611,7 @@ msgstr "falta el resumen de inclusión en línea ipa en el fichero de entrada" + msgid "IPA modref summary is missing in input file" + msgstr "falta el resumen de inclusión en línea ipa en el fichero de entrada" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, fuzzy, gcc-internal-format + #| msgid "invalid function in gimple call" + msgid "invalid jump function in LTO stream" +@@ -29645,7 +29637,7 @@ msgstr "Realiza optimizaciones de saltos cruzados." + msgid "command-line option %qs is not supported by this configuration" + msgstr "la opción de línea de órdenes %qs no se admite en esta configuración" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, gcc-internal-format + msgid "missing argument to %qs" + msgstr "faltan argumentos para %qs" +@@ -29688,12 +29680,12 @@ msgstr "las opciones de FPX fast y compact no pueden especificarse juntas" + msgid "unrecognized argument in option %qs" + msgstr "no se reconoce el argumento en la opción %qs" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "los argumentos válidos para %qs son: %s; ¿quiso decir %qs?" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s" + msgstr "los argumentos válidos para %qs son: %s" +@@ -29860,7 +29852,7 @@ msgstr "%<-fsanitize=pointer-subtract%> debe combinarse con %<-fsanitize=address + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "no se admite %<-fsanitize-recover=%s%>" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, fuzzy, gcc-internal-format + #| msgid "%<-fsanitize-recover=%s%> is not supported" + msgid "%<-fsanitize-trap=%s%> is not supported" +@@ -29903,200 +29895,200 @@ msgstr "se solicitó seguimiento de variables, pero es inútil a menos que se pr + msgid "variable tracking requested, but not supported by this debug format" + msgstr "se solicitó seguimiento de variables, pero no se admite este formato de depuración" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "las asignaciones-de-rastreo-de-variable cambian el planificador selectivo" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "%<-freorder-blocks-and-partition%> no funciona con excepciones en esta arquitectura" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "%<-freorder-blocks-and-partition%> no admite información de desenredo en esta arquitectura" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "%<-freorder-blocks-and-partition%> no funciona en esta arquitectura" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized include_flags 0x%x passed to print_specific_help" + msgid "unrecognized % passed to %" + msgstr "no se reconocen las include_flags 0x%x pasadas a print_specific_help" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "la opción %<-fsanitize=all%> no es válida" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s; did you mean %qs?" + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "no se reconoce el argumento para la opción -f%ssanitize%s=: %q.*s; ¿quiso decir %qs?" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s" + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "no se reconoce el argumento para la opción -f%ssanitize%s=: %q.*s" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute directive ignored" + msgid "%qs attribute directive ignored" + msgstr "se descarta la directiva de atributo %qE" + +-#: opts.cc:2347 ++#: opts.cc:2346 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument of -mcpu: %s" + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "no se reconoce el argumento de -mcpu=: %s" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument %qs to %qs" + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "argumento %qs no válido para %qs" + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, fuzzy, gcc-internal-format + #| msgid "incorrect number of arguments to function %qE" + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "número incorrecto de argumentos para la función %qE" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, fuzzy, gcc-internal-format + #| msgid "-falign-loops=%d is not between 0 and %d" + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr "-falign-loops=%d no está entre 0 y %d" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, fuzzy, gcc-internal-format + #| msgid "invalid arguments for %<-fpatchable_function_entry%>" + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "argumento no válido para %<-fpatchable_function_entry%>" + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, fuzzy, gcc-internal-format + #| msgid "--help argument %q.*s is ambiguous, please be more specific" + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "el argumento %q.*s de --help es ambiguo, por favor sea más específico" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument to --help= option: %q.*s" + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "no se reconoce el argumento para la opción --help=: %q.*s" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "la opción %<-foffload-abi%> solo puede especificarse para compilador de descarga" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, fuzzy, gcc-internal-format + #| msgid "structure alignment must be a small power of two, not %d" + msgid "structure alignment must be a small power of two, not %wu" + msgstr "la alineación de la estructura debe ser una potencia pequeña de dos, no %d" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, gcc-internal-format + msgid "unknown stack check parameter %qs" + msgstr "parámetro de revisión de pila desconocido %qs" + +-#: opts.cc:3158 ++#: opts.cc:3157 + #, fuzzy, gcc-internal-format + #| msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf -g%s%> for debug level" + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "%<-gdwarf%s%> es ambiguo; use %<-gdwarf-%s%> para la versión DWARF o %<-gdwarf -g%s%> para nivel de depuración" + +-#: opts.cc:3169 ++#: opts.cc:3168 + #, fuzzy, gcc-internal-format + #| msgid "dwarf version %d is not supported" + msgid "dwarf version %wu is not supported" + msgstr "no se admite dwarf versión %d" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument to --help= option: %q.*s" + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "no se reconoce el argumento para la opción --help=: %q.*s" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, gcc-internal-format + msgid "target system does not support debug output" + msgstr "el sistema objetivo no admite salida de depuración" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, gcc-internal-format + msgid "debug format %qs conflicts with prior selection" + msgstr "el formato de depuración %qs genera un conflicto con una selección previa" + +-#: opts.cc:3468 ++#: opts.cc:3467 + #, gcc-internal-format + msgid "unrecognized debug output level %qs" + msgstr "no se reconoce el nivel de salida de depuración %qs" + +-#: opts.cc:3470 ++#: opts.cc:3469 + #, gcc-internal-format + msgid "debug output level %qs is too high" + msgstr "el nivel de salida de depuración %qs es demasiado elevado" + +-#: opts.cc:3482 ++#: opts.cc:3481 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized debug output level %qs" + msgid "unrecognized btf debug output level %qs" + msgstr "no se reconoce el nivel de salida de depuración %qs" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "obteniendo el límite del tamaño máximo del fichero core: %m" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "estableciendo el límite del tamaño máximo del fichero core: %m" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "no se reconoce la opción de depuración de gcc: %c" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized command line option %<-%s%>; did you mean %<-%s%>?" + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "no se reconoce la opción de línea de órdenes %<-%s%>; ¿quería decir %<-%s%>?" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, fuzzy, gcc-internal-format + #| msgid "-Werror=%s: no option -%s" + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "-Werror=%s: no existe la opción -%s" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, fuzzy, gcc-internal-format + #| msgid "-Werror=%s: -%s is not an option that controls warnings" + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" +@@ -30835,197 +30827,197 @@ msgstr "el código de thunk genérico falló para el método %qD que utiliza %<. + msgid "%qD renamed after being referenced in assembly" + msgstr "se renombró %qD después de ser referenciado en el ensamblado" + +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "el símbolo de función no es una función" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, fuzzy, gcc-internal-format + #| msgid "inconsistent file architecture detected" + msgid "inconsistent % attribute" + msgstr "se detectó una arquitectura de fichero inconsistente" + +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "el símbolo de variable no es una variable" + +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "el nodo tiene un tipo desconocido" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%qD has invalid argument list" + msgid "node has invalid order %i" + msgstr "%qD tien una lista de argumentos no válida" + +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "nodo no encontrado node->decl->decl_with_vis.symtab_node" + +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "el nodo difiere de node->decl->decl_with_vis.symtab_node" + +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "lista hash de nombres del ensamblador corrupta" + +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, fuzzy, gcc-internal-format + #| msgid "node not found in cgraph_hash" + msgid "node not found in symtab assembler name hash" + msgstr "no se encontró un nodo en cgraph_hash" + +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "lista doblemente enlazada de nombres del ensamblador corrrupta" + +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "el nodo tiene body_removed y sin embargo es una definición" + +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "el nodo está analizado pero no es una definición" + +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "el nodo es un alias pero no un alias implícito" + +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "el nodo es un alias pero no una definición" + +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "el nodo es una weakref pero no un transparent_alias" + +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "el nodo es un transparent_alias pero no un alias" + +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, fuzzy, gcc-internal-format + #| msgid "node is alias but not implicit alias" + msgid "node is symver but not alias" + msgstr "el nodo es un alias pero no un alias implícito" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, fuzzy, gcc-internal-format + #| msgid "Set the default symbol visibility" + msgid "symver is not exported with default visibility" + msgstr "Establece la visibilidad de símbolos por defecto" + +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "el nodo está en la lista same_comdat_group no tiene comdat_group" + +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "list same_comdat_group con grupos diferentes" + +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "no se permite mezclar diferentes símbolos de tipos en los mismos grupos comdat" + +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "el nodo está solo en un grupo comdat" + +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "same_comdat_group no es una lista circular" + +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "el símbolo comdat-local referenciado en %s fuera de su comdat" + +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, fuzzy, gcc-internal-format + #| msgid "implicit_section flag is set but section isn't" + msgid "implicit_section flag is set but section isn%'t" + msgstr "el indicador implicit_section está puesto pero la sección on lo es" + +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "Tanto la sección como el grupo comdat están puestos" + +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, fuzzy, gcc-internal-format + #| msgid "Alias and target's section differs" + msgid "Alias and target%'s section differs" + msgstr "Alias y sección del objetivo difieren" + +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, fuzzy, gcc-internal-format + #| msgid "Alias and target's comdat groups differs" + msgid "Alias and target%'s comdat groups differs" + msgstr "El alias y los grupos comdat del objetivo difieren" + +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, fuzzy, gcc-internal-format + #| msgid "Transparent alias and target's assembler names differs" + msgid "Transparent alias and target%'s assembler names differs" + msgstr "El alias transparente y los nombres de ensamblador del objetivo difieren" + +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "Alias transparentes encadenados" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "symtab_node::falló verify" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid pointer mode %qs" + msgid "invalid order in asm node %i" + msgstr "modo de puntero %qs no válido" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "Hay dos símbolos con el mismo comdat_group que no están vinculados a la lista same_comdat_group." + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "la función %q+D es parte de un ciclo de alias" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "la variable %q+D es parte de un ciclo de alias" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "la sección del alias %q+D debe cuadrar con la sección de su objetivo" +@@ -32834,27 +32826,27 @@ msgstr "código interno independiente de máquina fuera de rango" + msgid "target specific builtin not available" + msgstr "no está disponible la orden interna específica del objetivo" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "la operación vectorial se expandirá por piezas" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "la operación vectorial se expandirá en paralelo" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "la operación vectorial se expandirá con una sola operación escalar" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "la condición vectorial se expandirá por piezas" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "la operación de ordenamiento vectorial se expandirá por piezas" +@@ -33762,7 +33754,7 @@ msgstr "se descarta el atributo %qE porque %qT ya está definido" + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "se descarta el atributo %qE porque %qT ya está definido" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "el atributo %qE sólo tiene efecto en objetos públicos" +@@ -36013,7 +36005,7 @@ msgstr "no se admite la concatenación no estándar de literales de cadena" + msgid "traditional C rejects string constant concatenation" + msgstr "C tradicional rechaza la concatenación de constantes de cadenas" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "" +@@ -37773,7 +37765,7 @@ msgstr "demasiados ficheros de entrada" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "%qE es un puntero; ¿pretendía utilizar %<->%>?" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %qs for -mcpu" + msgid "unknown value %qs for %<-mcpu%>" +@@ -37809,15 +37801,15 @@ msgid "unrecognized option passed to %%:%" + msgstr "se pasa opción no reconocida a %%:target_mode_check" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "los argumentos válidos son: %s; ¿quiso decir %qs?" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, gcc-internal-format, gfc-internal-format + msgid "valid arguments are: %s" + msgstr "los argumentos válidos son: %s" +@@ -37909,55 +37901,55 @@ msgstr "-mcpu=%s no es válido" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "-mcpu=%s tiene una versión de silicio no válida" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops is obsolete, use -falign-loops" + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "-malign-loops es obsoleto, use -falign-loops" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr "-malign-loops=%d no está entre 0 y %d" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, fuzzy, gcc-internal-format + #| msgid "-malign-jumps is obsolete, use -falign-jumps" + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "-malign-jumps es obsoleto, use -falign-jumps" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, fuzzy, gcc-internal-format + #| msgid "-malign-jumps=%d is not between 0 and %d" + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr "-malign-jumps=%d no está entre 0 y %d" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, fuzzy, gcc-internal-format + #| msgid "-malign-functions is obsolete, use -falign-functions" + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "-malign-functions es obsoleto, use -falign-functions" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, fuzzy, gcc-internal-format + #| msgid "-malign-functions=%d is not between 0 and %d" + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr "-malign-functions=%d no está entre 0 y %d" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, fuzzy, gcc-internal-format + #| msgid "-mbranch-cost=%d is not between 0 and 5" + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr "-mbranch-cost=%d no está entre 0 y 5" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "sólo se admite %<-fsplit-stack%> en GNU/Linux" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "%<-fsplit-stack%> requiere soporte del ensamblador para las directivas CFI" +@@ -38497,14 +38489,14 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "%qs es incompatible con %s %s" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, fuzzy, gcc-internal-format + #| msgid "argument %d of %qE must be a pointer to a constant size type" + msgid "argument %d of %qE must be an integer constant expression" + msgstr "el argumento %d de %qE debe ser un puntero a un tipo de tamaño constante" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, fuzzy, gcc-internal-format + #| msgid "argument %d of %qE must be in the range %d...%d" + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" +@@ -38777,7 +38769,7 @@ msgstr "el paso del argumento %d de %qE crea un entero desde un puntero sin una + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, fuzzy, gcc-internal-format + #| msgid "duplicate definition of '%s'" + msgid "duplicate definition of %qs" +@@ -38825,7 +38817,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "el tipo %qT no tiene un tamaño conocido" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored because %qT is already defined" + msgid "variables of type %qT cannot have thread-local storage duration" +@@ -38927,361 +38919,361 @@ msgstr "" + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "el argumento para decltype debe ser una expresión" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, fuzzy, gcc-internal-format + #| msgid "AltiVec argument passed to unprototyped function" + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "Se pasó un argumento Altivec a una función sin prototipo" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, fuzzy, gcc-internal-format + #| msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "el paso de parámetro para argumentos de tipo %qT ha cambiado en GCC 7.1" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, fuzzy, gcc-internal-format + #| msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "el paso de parámetro para argumentos de tipo %qT ha cambiado en GCC 7.1" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, fuzzy, gcc-internal-format + #| msgid "Use the SPE ABI extensions." + msgid "%qE requires the SVE ISA extension" + msgstr "Usa las extensiones de ABI SPE." + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, fuzzy, gcc-internal-format + #| msgid "builtin function %qs requires the %qs option" + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "la función interna %qs requiere la opción %qs" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, fuzzy, gcc-internal-format + #| msgid "unknown flag passed in -moverride=%s (%s)" + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "indicador pasado en -moverride=%s (%s) desconocido" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, fuzzy, gcc-internal-format + #| msgid "%s string ill-formed\n" + msgid "%qs string ill-formed" + msgstr "cadena %s mal formada\n" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, fuzzy, gcc-internal-format + #| msgid "invalid format of %s" + msgid "invalid format for %" + msgstr "formato no válido de %s" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, fuzzy, gcc-internal-format + #| msgid "invalid %h value" + msgid "invalid % value: %d" + msgstr "valor %h no válido" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "falta la cadena de ajuste en la opción (%s)" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "opción de cadena de ajuste desconocida (%s)" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, fuzzy, gcc-internal-format + #| msgid "Specify the register allocation order" + msgid "specify a system register with a small string length" + msgstr "Especifica el orden de asignación de registros" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "%qs no es un desplazamiento válido en %qs" + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "" + +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "falta el nombre de la cpu en %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, fuzzy, gcc-internal-format + #| msgid "invalid feature modifier in %<-mcpu=%s%>" + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "modificador de característica no válido en %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument %qs to %qs" + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "argumento %qs no válido para %qs" + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, fuzzy, gcc-internal-format + #| msgid "invalid arguments for %<-fpatchable_function_entry%>" + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "argumento no válido para %<-fpatchable_function_entry%>" + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "falta el nombre de la arquitectura en %<-march=%s%>" + +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %qs for -march" + msgid "unknown value %qs for %<-march%>" + msgstr "valor %qs desconocido para -march" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, fuzzy, gcc-internal-format + #| msgid "missing cpu name in %<-mcpu=%s%>" + msgid "did you mean %<-mcpu=%s%>?" + msgstr "falta el nombre de la cpu en %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, fuzzy, gcc-internal-format + #| msgid "invalid feature modifier in %<-march=%s%>" + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "modificador de característica no válido en %<-march=%s%>" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "falta el nombre de la cpu en %<-mtune=%s%>" + +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %qs for -mtune" + msgid "unknown value %qs for %<-mtune%>" + msgstr "valor %qs desconocido para -mtune" + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, fuzzy, gcc-internal-format + #| msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "la opción -mcpu=%s genera un conflicto con la opción -march=%s" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, fuzzy, gcc-internal-format + #| msgid "assembler does not support -mabi=ilp32" + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "el ensamblador no tiene soporte para -mabi=ilp32" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs with -f%s" + msgid "code model %qs with %<-f%s%>" + msgstr "modelo de código %qs con -f%s" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs not supported in x32 mode" + msgid "code model %qs not supported in ilp32 mode" + msgstr "el modelo de código %qs no se admite en modo x32" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "falta el nombre en atributo %" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, fuzzy, gcc-internal-format + #| msgid "invalid name (\"%s\") in % pragma or attribute" + msgid "invalid name %qs in % pragma or attribute" + msgstr "nombre no válido (\"%s\") en el pragma o atributo %" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, fuzzy, gcc-internal-format + #| msgid "invalid value (\"%s\") in % pragma or attribute" + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "valor no válido (\"%s\") en el pragma o atributo %" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "falta el nombre en el pragma o atributo %" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, fuzzy, gcc-internal-format + #| msgid "invalid name (\"%s\") in % pragma or attribute" + msgid "invalid name %qs in % pragma or attribute" + msgstr "nombre no válido (\"%s\") en el pragma o atributo %" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, fuzzy, gcc-internal-format + #| msgid "invalid value (\"%s\") in % pragma or attribute" + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "valor no válido (\"%s\") en el pragma o atributo %" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, fuzzy, gcc-internal-format + #| msgid "missing name in % pragma or attribute" + msgid "missing argument to % pragma or attribute" + msgstr "falta el nombre en atributo %" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, fuzzy, gcc-internal-format + #| msgid "invalid name (\"%s\") in % pragma or attribute" + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "nombre no válido (\"%s\") en el pragma o atributo %" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, fuzzy, gcc-internal-format + #| msgid "invalid name (\"%s\") in % pragma or attribute" + msgid "invalid name %qs in % pragma or attribute" + msgstr "nombre no válido (\"%s\") en el pragma o atributo %" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "falta el valor en el pragma o atributo %" + +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "pragma o atributo % mal formado" + +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "el pragma o atributo % no acepta un argumento" + +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "el pragma o atributo % no acepta forma negada" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "el pragma o atributo % no es válido" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "el argumento del atributo % no es una cadena" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "el pragma o atributo % no es válido" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "pragma o atributo % mal formado" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + #, fuzzy + #| msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "el paso de parámetro para argumentos de tipo %qT ha cambiado en GCC 7.1" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + #, fuzzy + #| msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "el paso de parámetro para argumentos de tipo %qT ha cambiado en GCC 7.1" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + #, fuzzy + #| msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "el paso de parámetro para argumentos de tipo %qT ha cambiado en GCC 7.1" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "vía %wd fuera de rango %wd - %wd" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, fuzzy, gcc-internal-format + #| msgid "unsupported simdlen %d" + msgid "unsupported simdlen %wd" + msgstr "simdlen %d no admitido" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, fuzzy, gcc-internal-format + #| msgid "unsupported return type %qT for simd" + msgid "GCC does not currently support return type %qT for % functions" + msgstr "no se admite el tipo de retorno %qT para simd" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, fuzzy, gcc-internal-format + #| msgid "unsupported return type %qT for simd" + msgid "unsupported return type %qT for % functions" + msgstr "no se admite el tipo de retorno %qT para simd" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, fuzzy, gcc-internal-format + #| msgid "unsupported argument type %qT for simd" + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "no se admite el tipo de argumento %qT para simd" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, fuzzy, gcc-internal-format + #| msgid "the -shared option is not currently supported for VAX ELF" + msgid "GCC does not currently support simdlen %wd for type %qT" +@@ -39484,13 +39476,13 @@ msgstr "el argumento del atributo %qE no es \"ilink\" o \"firq\"" + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -39636,19 +39628,19 @@ msgstr "falta el argumento del atributo %qE" + msgid "%qE attribute only applies to variables" + msgstr "el atributo %qE solamente se aplica a variables" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, fuzzy, gcc-internal-format + #| msgid "alternatives not allowed in asm flag output" + msgid "alternatives not allowed in % flag output" + msgstr "no se permiten alternativas en la salida del indicador asm" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, fuzzy, gcc-internal-format + #| msgid "unknown asm flag output %qs" + msgid "unknown % flag output %qs" + msgstr "salida del indicador asm %qs desconocida" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, fuzzy, gcc-internal-format + #| msgid "invalid type for asm flag output" + msgid "invalid type for % flag output" +@@ -39874,7 +39866,7 @@ msgstr "el CPU objetivo no admite las instrucciones THUMB" + msgid "target CPU does not support unaligned accesses" + msgstr "el CPU objetivo no admite accesos sin alinear" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, fuzzy, gcc-internal-format + #| msgid "the %qs architecture does not support branch-likely instructions" + msgid "This architecture does not support branch protection instructions" +@@ -39936,7 +39928,7 @@ msgstr "el límite del tamaño de la estructura sólo se puede establecer a 8 o + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "El PIC de RTP es incompatible con -msingle-pic-base" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs not supported in x32 mode" + msgid "FDPIC mode is not supported in Thumb-1 mode" +@@ -40053,7 +40045,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "el paso de parámetro para argumentos de tipo %qT ha cambiado en GCC 7.1" +@@ -40104,35 +40096,35 @@ msgstr "" + msgid "%s %wd out of range %wd - %wd" + msgstr "%s %wd fuera de rango %wd - %wd" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "no se puede calcular la ubicación real del parámetro apilado" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected end of module" + msgid "Unexpected thumb1 far jump" + msgstr "Fin de módulo inesperado" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "no hay registros inferiores disponibles para extraer registros superiores" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, fuzzy, gcc-internal-format + #| msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "no se pueden codificar las Rutinas de Servicios de Interrupción en el modo Thumb" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, fuzzy, gcc-internal-format + #| msgid "-fstack-check=specific for Thumb-1" + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "-fstack-check=specific para Thumb-1" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, gcc-internal-format + msgid "invalid fpu for target attribute or pragma %qs" + msgstr "fpu no válida para el atributo o pragma del objetivo %qs" +@@ -40140,22 +40132,22 @@ msgstr "fpu no válida para el atributo o pragma del objetivo %qs" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "selección automática de fpu actualmente no permitida aquí" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, gcc-internal-format + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "arquitectura no válida para el atributo o pragma objetivo %qs" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, gcc-internal-format + msgid "unknown target attribute or pragma %qs" + msgstr "atributo o pragma objetivo %qs desconocido" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, fuzzy, gcc-internal-format + #| msgid "address mode %qs not supported in the %s bit mode" + msgid "% flags not supported in thumb1 mode" +@@ -40234,17 +40226,17 @@ msgstr "no se admite -fpie" + msgid "%<-fPIE%> is not supported" + msgstr "no se admite -fPIE" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, gcc-internal-format + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "los atributos de función %qs y %qs son mutuamente excluyentes" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, gcc-internal-format + msgid "%qs function cannot have arguments" + msgstr "la función %qs no puede tener argumentos" + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, gcc-internal-format + msgid "%qs function cannot return a value" + msgstr "la función %qs no puede devolver un valor" +@@ -40585,7 +40577,7 @@ msgstr "argumento no válido para la función interna" + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, gcc-internal-format + msgid "invalid argument to built-in function" + msgstr "argumento no válido para la función interna" +@@ -41238,729 +41230,729 @@ msgstr "Las versiones de funciones no pueden marcarse como gnu_inline; hay que g + msgid "virtual function multiversioning not supported" + msgstr "No se admiten versiones múltiples de funciones virtuales" + +-#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25106 + #, fuzzy, gcc-internal-format + #| msgid "multiversioning needs ifunc which is not supported on this target" + msgid "multiversioning needs % which is not supported on this target" + msgstr "el versionado múltiple necesita ifunc, que no se admite en este objetivo" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" + msgstr "el modelo de código %s no admite el modo PIC" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, fuzzy, gcc-internal-format + #| msgid "attribute %qE argument not a string" + msgid "attribute %qs argument is not a string" + msgstr "el argumento del atributo %qE no es una cadena" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, fuzzy, gcc-internal-format + #| msgid "attribute(target(\"%s\")) is unknown" + msgid "attribute %qs argument %qs is unknown" + msgstr "se desconoce attribute(target(\"%s\"))" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, fuzzy, gcc-internal-format + #| msgid "SEQUENCE attribute at %C already specified in TYPE statement" + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "El atributo SEQUENCE en %C ya se especificó en la declaración TYPE" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, fuzzy, gcc-internal-format + #| msgid "%s attribute of '%s' conflicts with %s attribute at %L" + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "El atributo %s de '%s' genera un conflicto con el atributo %s en %L" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, gcc-internal-format + msgid "wrong argument %qs to option %qs" + msgstr "argumento %qs incorrecto para la opción %qs" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "los rangos de tamaño de la opción %qs deberían ser crecientes" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" + msgstr "se especificó un nombre de estrategia %qs incorrecto para la opción %qs" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "no se admite el nombre de estrategia %qs especificado para la opción %qs para código de 32 bits" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" + msgstr "se especificó una alineación %qs desconocida para la opción %qs" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "el valor máximo para el último rango de tamaños debería ser -1 para la opción %qs" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, gcc-internal-format + msgid "too many size ranges specified in option %qs" + msgstr "se especificaron demasiados rangos de tamaños en la opción %qs" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, fuzzy, gcc-internal-format + #| msgid "unknown parameter to option -mtune-ctrl: %s" + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "parámetro desconocido para la opción -mtune-ctrl: %s" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "no se admite Intel MCU psABI en el modo %s" + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "%<-mtune=x86-64%> es obsoleto; use en su lugar %<-mtune=k8%> o %<-mtune=generic%> como sea adecuado" + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "% es obsoleto; use % o % en su lugar como convenga" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, fuzzy, gcc-internal-format + #| msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code" + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "no se admite -mstringop-stategy=rep_8byte para código de 32-bit" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, fuzzy, gcc-internal-format + #| msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code" + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "no se admite -mstringop-stategy=rep_8byte para código de 32-bit" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, fuzzy, gcc-internal-format + #| msgid "-mcmodel= is not supported on 32-bit systems" + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "-mcmodel= no se admite en sistemas de 32 bits" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "el modelo de direcciones %qs no se admite en el modo de bit %s" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, fuzzy, gcc-internal-format + #| msgid "-mabi=ms not supported with X32 ABI" + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "no se admite -mabi=ms con X32 ABI" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, fuzzy, gcc-internal-format + #| msgid "transactional memory is not supported with %<-fsanitize=address%>" + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "la memoria transaccional no se admite con %<-fsanitize=address%>" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, fuzzy, gcc-internal-format + #| msgid "transactional memory is not supported with %<-fsanitize=kernel-address%>" + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "la memoria transaccional no se admite con %<-fsanitize=kernel-address%>" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, fuzzy, gcc-internal-format + #| msgid "%<-fsanitize=leak%> is incompatible with %<-fsanitize=thread%>" + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "%<-fsanitize=leak%> es incompatible con %<-fsanitize=thread%>" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "el modelo de código %qs no se admite en el modo de bit %s" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "el modelo de código %qs no se admite en modo x32" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, fuzzy, gcc-internal-format + #| msgid "-masm=intel not supported in this configuration" + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "no se admite -masm=intel en esta configuración" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "no está compilado el modo bit-%i" + +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "la CPU % solo se puede usar para el ajuste %<-tune=%>" + +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "la CPU % solo se puede usar para el atributo %" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "la CPU % solo se puede usar para el ajuste %<-mtune=%>" + +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "la CPU % solo se puede usar para el atributo %" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "el CPU que seleccionó no admite el conjunto de instrucciones x86-64" + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%qs) for %<-march=%> switch" + msgid "bad value %qs for %<-march=%> switch" + msgstr "valor erróneo (%qs) para la opción %<-march=%>" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%qs) for % attribute" + msgid "bad value %qs for % attribute" + msgstr "valor erróneo (%qs) para el atributo %" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "los argumentos válidos para la opción %<-march=%> son: %s; ¿quiso decir %qs?" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "los argumentos válidos para el atributo % son: %s; ¿qiuso decir %qs?" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "los argumentos válidos para la opción %<-march=%> son: %s" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "los argumentos válidos para el atributo % son: %s" + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%qs) for %<-mtune=%> switch" + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "valor erróneo (%qs) para la opción %<-mtune=%>" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%qs) for % attribute" + msgid "bad value %qs for % attribute" + msgstr "valor erróneo (%qs) para el atributo %" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "los argumentos válidos para la opción %<-mtune=%> son: %s; ¿quiso decir %qs?" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "los argumentos válidos para el atributo % son: %s; ¿quiso decir %qs?" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "los argumentos válidos para la opción %<-mtune=%> son: %s" + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "los argumentos válidos para el atributo % son: %s" + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, fuzzy, gcc-internal-format + #| msgid "-mregparm is ignored in 64-bit mode" + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "se descarta -mregparm en modo de 64-bit" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, fuzzy, gcc-internal-format + #| msgid "-mregparm is ignored for Intel MCU psABI" + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "se descarta -mregparm para Intel MCU psABI" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, fuzzy, gcc-internal-format + #| msgid "-mregparm=%d is not between 0 and %d" + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "-mregparm=%d no está entre 0 y %d" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, fuzzy, gcc-internal-format + #| msgid "-mnop-mcount is not compatible with this target" + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "-mnop-mcount no es compatible con este objetivo" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "se descarta %<-mrtd%> en el modo de 64bit" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "se descarta % en el modo de 64bit" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary is not supported for this target" + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "no se admite -mpreferred-stack-boundary en este objetivo" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary=%d is not between %d and %d" + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "-mpreferred-stack-boundary=%d no está entre %d y %d" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, fuzzy, gcc-internal-format + #| msgid "-mincoming-stack-boundary=%d is not between %d and 12" + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "-mincoming-stack-boundary=%d no está entre %d y 12" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, fuzzy, gcc-internal-format + #| msgid "-mnop-mcount is not compatible with this target" + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "-mnop-mcount no es compatible con este objetivo" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, fuzzy, gcc-internal-format + #| msgid "-mnop-mcount is not implemented for -fPIC" + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "-mnop-mcount no está implementada para -fPIC" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "se usó %<-msseregparm%> sin SSE activado" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "se usó % sin SSE activado" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "el conjunto de instrucciones SSE está desactivado, usando la aritmética 387" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "el conjunto de instrucciones 387 está desactivado, usando la aritmética SSE" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "la prueba de pila requiere %<-maccumulate-outgoing-args%> para ser correcta" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, gcc-internal-format + msgid "stack probing requires % for correctness" + msgstr "la prueba de pila requiere % para ser correcta" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "el registro ebp fijo requiere %<-maccumulate-outgoing-args%>" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "el registro ebp fijo requiere %" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, fuzzy, gcc-internal-format + #| msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic" + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "-mfentry no se admite para 32-bit en combinación con -fpic" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, fuzzy, gcc-internal-format + #| msgid "-mno-fentry isn%'t compatible with SEH" + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "-mno-fentry no es compatible con SEH" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, fuzzy, gcc-internal-format + #| msgid "-mcall-ms2sysv-xlogues is not compatible with %s" + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "-mcall-ms2sysv-xlogues no es compatible con %s" + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, fuzzy, gcc-internal-format + #| msgid "unknown option for -mrecip=%s" + msgid "unknown option for %<-mrecip=%s%>" + msgstr "opción desconocida para -mrecip=%s" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not a valid number in -mstack-protector-guard-offset=" + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "%qs no es un número válido en -mstack-protector-guard-offset=" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not a valid offset in -mstack-protector-guard-offset=" + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "%qs no es un desplazamiento válido en -mstack-protector-guard-offset=" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not a valid base register in -mstack-protector-guard-reg=" + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "%qs no es un registro base válido en -mstack-protector-guard-reg=" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, fuzzy, gcc-internal-format + #| msgid "-mnop-mcount is not compatible with this target" + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "-mnop-mcount no es compatible con este objetivo" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, gcc-internal-format + msgid "interrupt and naked attributes are not compatible" + msgstr "interrupción y atributos desnudos no es compatible" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, fuzzy, gcc-internal-format + #| msgid "Only DWARF debug format is supported for interrupt service routine." + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "Solo se admite el formato de depuración DWARF para la rutina de servicio de interrupciones." + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, gcc-internal-format + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "%<-mindirect-branch=%s%> y %<-mcmodel=large%> no son compatibles" + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, fuzzy, gcc-internal-format + #| msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "%<-mindirect-branch=%s%> y %<-mcmodel=large%> no son compatibles" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, gcc-internal-format + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "%<-mfunction-return=%s%> y %<-mcmodel=large%> no son compatibles" + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, fuzzy, gcc-internal-format + #| msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "%<-mfunction-return=%s%> y %<-mcmodel=large%> no son compatibles" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, fuzzy, gcc-internal-format + #| msgid "%s instructions aren't allowed in %s service routine" + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "las instrucciones %s no se permiten en la rutina de servicio %s" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, fuzzy, gcc-internal-format + #| msgid "%s instructions aren't allowed in %s service routine" + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "las instrucciones %s no se permiten en la rutina de servicio %s" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, fuzzy, gcc-internal-format + #| msgid "%s instructions aren't allowed in function with no_caller_saved_registers attribute" + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "Las instrucciones %s no están permitidas en funciones con el atributo no_caller_saved_registers" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "los atributos fastcall y regparm no son compatibles" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "los atributos regparam y thiscall no son compatibles" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "el atributo %qE requiere un argumento constante entero" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "el argumento para el atributo %qE es más grande que %d" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "los atributos fastcall y cdecl no son compatibles" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "los atributos fastcall y stdcall no son compatibles" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "los atributos fastcall y thiscall no son compatibles" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "los atributos stdcall y cdecl no son compatibles" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "los atributos stdcall y fastcall no son compatibles" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "los atributos stdcall y thiscall no son compatibles" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "los atributos cdecl y thiscall no son compatibles" + +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, gcc-internal-format + msgid "%qE attribute is used for non-class method" + msgstr "se usó el atributo %qE para método no de clase" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, gcc-internal-format + msgid "%qE incompatible attribute ignored" + msgstr "se descarta el atributo incompatible %qE" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, gcc-internal-format + msgid "%qE attribute only available for 32-bit" + msgstr "el atributo %qE solamente está disponible para 64-bit" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, gcc-internal-format + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "el argumento del atributo %qE no es cero ni uno" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, fuzzy, gcc-internal-format + #| msgid "ms_abi and sysv_abi attributes are not compatible" + msgid "%qs and %qs attributes are not compatible" + msgstr "los atributos ms_abi y sysv_abi no son compatibles" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "el atributo %qE requiere una constante entera como argumento" + +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, gcc-internal-format + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "el argumento del atributo %qE no es (keep|thunk|thunk-inline|thunk-extern)" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "la rutina de servicio de interrupciones debería tener un puntero como primer argumento" + +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, fuzzy, gcc-internal-format + #| msgid "interrupt service routine should have unsigned %sint as the second argument" + msgid "interrupt service routine should have %qs as the second argument" + msgstr "la rutina de atención de interrupciones debería tener como segundo argumento un unsigned %sint" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "la rutina de servicio de interrupciones solo puede tener un argumento puntero y un argumento entero opcional" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, fuzzy, gcc-internal-format + #| msgid "interrupt service routine can't have non-void return value" + msgid "interrupt service routine must return %" + msgstr "ls rutina de servicio de interrupción no puede tener valor de retorno que no sea void" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, gcc-internal-format + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "se llama a %qD con el atributo sseregparm sin activar SSE/SSE2" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, gcc-internal-format + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "se llama a %qT con el atributo sseregparm sin activar SSE/SSE2" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, fuzzy, gcc-internal-format + #| msgid "X32 does not support ms_abi attribute" + msgid "X32 does not support % attribute" + msgstr "X32 no admite el atributo ms_abi" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, fuzzy, gcc-internal-format + #| msgid "ms_hook_prologue is not compatible with nested function" + msgid "% attribute is not compatible with nested function" + msgstr "ms_hook_prologue no es compatible con la función anidada" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, gcc-internal-format + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "el argumento de vector AVX512F sin AVX512F activado cambia la ABI" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, gcc-internal-format + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "el retorno de vector AVX512F sin AVX512F activado cambia la ABI" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, gcc-internal-format + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "el argumento de vector AVX sin AVX activado cambia la ABI" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, gcc-internal-format + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "el retorno de vector AVX sin AVX activado cambia la ABI" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "el argumento de vector SSE sin SSE activado cambia la ABI" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "la devolución de vector SSE sin SSE activado cambia la ABI" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "el argumento de vector MMX sin MMX activado cambia la ABI" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "la devolución de vector MMX sin MMX activado cambia la ABI" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "la ABI para pasar un struct con un miembro de matriz flexible cambió en GCC 4.4" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, fuzzy, gcc-internal-format + #| msgid "the ABI of passing union with long double has changed in GCC 4.4" + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "la ABI para pasar un union con long double cambió en GCC 4.4" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, fuzzy, gcc-internal-format + #| msgid "the ABI of passing structure with complex float member has changed in GCC 4.4" + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "la ABI para pasar una estructura con un miembro de coma flotante compleja cambió en GCC 4.4" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + #, fuzzy + #| msgid "the ABI of passing structure with complex float member has changed in GCC 4.4" + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "la ABI para pasar una estructura con un miembro de coma flotante compleja cambió en GCC 4.4" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "se devuelve el registro SSE con SSE desactivado" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "argumento de registro SSE con SSE desactivado" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "se devuelve el registro x87 con x87 desactivado" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, gcc-internal-format + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "se llama a %qD con el convenio de llamadas SSE sin activar SSE/SSE2" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "esto es un error de GCC que se puede sortear añadiendo el atributo usado a la función llamada" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "La ABI para pasar parámetros con alineación de %d-bytes cambió en GCC 4.6" + +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, fuzzy, gcc-internal-format + #| msgid "-mcall-ms2sysv-xlogues is not compatible with %s" + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "-mcall-ms2sysv-xlogues no es compatible con %s" + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, fuzzy, gcc-internal-format + #| msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit" + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "el atributo ms_hook_prologue no es compatible con -mfentry para 32-bit" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "No se admite Puntero de Argumento de Realineamiento Dinámico (DRAP) en la rutina de servicio de interrupciones. Esto puede sortearse evitando funciones con retorno agregado." + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute is not supported on this platform" + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "el atributo %qE no se admite en esta plataforma" + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, fuzzy, gcc-internal-format + #| msgid "nested functions not supported on this target" + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "no se admiten funciones anidadas en este objetivo" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, fuzzy, gcc-internal-format + #| msgid "-fsplit-stack does not support fastcall with nested function" + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "-fsplit-stack no admite fastcall con funciones anidadas" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, fuzzy, gcc-internal-format + #| msgid "-fsplit-stack does not support 2 register parameters for a nested function" + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" +@@ -41968,85 +41960,85 @@ msgstr "-fsplit-stack no admite 2 parámetros de registro para una función anid + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, fuzzy, gcc-internal-format + #| msgid "-fsplit-stack does not support 3 register parameters" + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "-fsplit-stack no admite 3 parámetros de registro" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, fuzzy, gcc-internal-format + #| msgid "'V' modifier on non-integer register" + msgid "% modifier on non-integer register" + msgstr "modificador 'V' en registro no entero" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, gcc-internal-format + msgid "unsupported size for integer register" + msgstr "no se admite el tamaño para registro de enteros" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "los registros extendidos no tiene mitades superiores" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "no se admite el tamaño de operando para el registro extendido" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, fuzzy, gcc-internal-format + #| msgid "non-integer operand used with operand code 'z'" + msgid "non-integer operand used with operand code %" + msgstr "se usó un operando que no es entero con el código de operando 'z'" + +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, fuzzy, gcc-internal-format + #| msgid "alignment of %qD is bigger than original declaration" + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "la alineación de %qD es más grande que la declaración original" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + #, fuzzy + #| msgid "the mangling of % has changed in GCC 4.4" + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "la decodificación de % cambió en GCC 4.4" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, fuzzy, gcc-internal-format + #| msgid "-mcmodel= is not supported on 32-bit systems" + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "-mcmodel= no se admite en sistemas de 32 bits" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "modelo de memoria específico de la arquitectura desconocido" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, fuzzy, gcc-internal-format + #| msgid "HLE_ACQUIRE not used with ACQUIRE or stronger memory model" + msgid "% not used with % or stronger memory model" + msgstr "HLE_ACQUIRE no se usa con ACQUIRE o modelos de memoria más fuertes" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, fuzzy, gcc-internal-format + #| msgid "HLE_RELEASE not used with RELEASE or stronger memory model" + msgid "% not used with % or stronger memory model" + msgstr "HLE_RELEASE no se usa con RELEASE o modelos de memoria más fuertes" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "no se admite el tipo de retorno %qT para simd" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, gcc-internal-format + msgid "unsupported argument type %qT for simd" + msgstr "no se admite el tipo de argumento %qT para simd" + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, fuzzy, gcc-internal-format + #| msgid "-fdirectives-only is incompatible with -traditional" + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" +@@ -42428,7 +42420,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "%qE se redeclaró con los atributos %qs en conflicto" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, gcc-internal-format + msgid "%qE attribute requires a string argument" + msgstr "el atributo %qE requiere una cadena como argumento" +@@ -43657,60 +43649,60 @@ msgstr "" + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "basura al final de #pragma GCC coprocessor %E" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, fuzzy, gcc-internal-format + #| msgid "type %qT does not have a known size" + msgid "RVV type %qT does not have a fixed size" + msgstr "el tipo %qT no tiene un tamaño conocido" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, fuzzy, gcc-internal-format + #| msgid "type %qT does not have a known size" + msgid "RVV type %qT does not have a defined alignment" + msgstr "el tipo %qT no tiene un tamaño conocido" + +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, fuzzy, gcc-internal-format + #| msgid "arithmetic on pointer to an incomplete type" + msgid "arithmetic on pointer to RVV type %qT" + msgstr "aritmética en puntero a un tipo de dato incompleto" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, fuzzy, gcc-internal-format + #| msgid "field %qD has incomplete type" + msgid "fields cannot have RVV type %qT" + msgstr "el campo %qD tiene tipo de dato incompleto" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, fuzzy, gcc-internal-format + #| msgid "function parameters cannot have __fp16 type" + msgid "array elements cannot have RVV type %qT" + msgstr "los parámetros de la función no pueden tener el tipo __fp16" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, fuzzy, gcc-internal-format + #| msgid "cannot allocate an object of abstract type %qT" + msgid "cannot allocate objects with RVV type %qT" + msgstr "no se puede asignar un objeto de tipo abstracto %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, fuzzy, gcc-internal-format + #| msgid "cannot allocate an object of abstract type %qT" + msgid "cannot delete objects with RVV type %qT" + msgstr "no se puede asignar un objeto de tipo abstracto %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, fuzzy, gcc-internal-format + #| msgid "cannot allocate an object of abstract type %qT" + msgid "cannot throw or catch RVV type %qT" + msgstr "no se puede asignar un objeto de tipo abstracto %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of incomplete type %q#T" + msgid "capture by copy of RVV type %qT" +@@ -43733,78 +43725,73 @@ msgstr "No usa las extensiones de ABI SPE." + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, fuzzy, gcc-internal-format + #| msgid "the ABI of passing structure with complex float member has changed in GCC 4.4" + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "la ABI para pasar una estructura con un miembro de coma flotante compleja cambió en GCC 4.4" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qE attribute is neither zero, nor one" + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "el argumento del atributo %qE no es cero ni uno" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, fuzzy, gcc-internal-format + #| msgid "-mdiv requires -march to subsume the % extension" + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "-mdiv requiere -march para subsumir la extensión %" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, fuzzy, gcc-internal-format + #| msgid "requested ABI requires -march to subsume the %qc extension" + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "la ABI solicitada requiere -march para subsumir la extensión %qc" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, fuzzy, gcc-internal-format + #| msgid "ABI requires -march=rv%d" + msgid "ABI requires %<-march=rv%d%>" + msgstr "ABI requiere -march=rv%d" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary=%d must be between %d and %d" + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "-mpreferred-stack-boundary=%d debe estar entre %d y %d" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, gcc-internal-format + msgid "%qs is not a valid base register in %qs" + msgstr "%qs no es un registro base válido en %qs" + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, gcc-internal-format + msgid "%qs is not a valid number in %qs" + msgstr "%qs no es un número válido en %qs" + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, fuzzy, gcc-internal-format + #| msgid "%qs function cannot have arguments" + msgid "%qs function cannot have different interrupt type" + msgstr "la función %qs no puede tener argumentos" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, fuzzy, gcc-internal-format +@@ -44314,99 +44301,99 @@ msgstr "%qs está obsoleto y no está recomendada bajo ninguna circunstancia" + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "no hay análisis de perfil del código de 64-bit para esta ABI" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, gcc-internal-format + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "no se puede tomar la dirección de una función anindada si se usa la opción %qs" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "el uso de % en tipos AltiVec es no válido" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "el uso de tipos booleanos en tipos AltiVec es no válido" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "el uso de % en tipos AltiVec es no válido" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, fuzzy, gcc-internal-format + #| msgid "use of decimal floating point types in AltiVec types is invalid" + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "el uso de tipos de coma flotante decimal en tipos AltiVec es no válido" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "el uso de % en tipos AltiVec no es válido para código de 64 bits sin %qs" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "el uso de % en tipos AltiVec es obsoleto; use %" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "el uso de % en tipos AltiVec no es válido sin %qs" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "el uso de % en tipos AltiVec no es válido sin %qs" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, gcc-internal-format + msgid "invalid cpu %qs for %s%qs%s" + msgstr "cpu %qs no válida para %s%qs%s" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, gcc-internal-format + msgid "%s%qs%s is not allowed" + msgstr "%s%qs%s no está permitido" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, gcc-internal-format + msgid "%s%qs%s is invalid" + msgstr "%s%qs%s no es válido" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "%<-mno=%s%> anula %<-m%s%>" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" + +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, gcc-internal-format + msgid "Virtual function multiversioning not supported" + msgstr "No se admiten versiones múltiples de funciones virtuales" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, fuzzy, gcc-internal-format + #| msgid "builtin function %qs requires the %qs option" + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "la función interna %qs requiere la opción %qs" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, fuzzy, gcc-internal-format + #| msgid "builtin function %qs requires the %qs option" + msgid "type %<__vector_pair%> requires the %qs option" +@@ -45916,7 +45903,7 @@ msgstr "no se puede poner un objeto con un campo volatile en register" + msgid "uninitialized % is invalid in C++" + msgstr "const %qD sin inicializar es no válida en C++" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "%q+D en directiva de objetivo de declaración no tiene tipo asociable" +@@ -46107,7 +46094,7 @@ msgstr "se especificó una clase de almacenamiento para el parámetro %qE" + msgid "storage class specified for unnamed parameter" + msgstr "se especificó una clase de almacenamiento para un parámetro sin nombre" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "se especificó una clase de almacenamiento para el nombre de tipo" +@@ -46276,7 +46263,7 @@ msgstr "el nombre de tipo que se declaró como función devuelve una matriz" + msgid "function definition has qualified void return type" + msgstr "la definición de la función tiene un tipo de devolución void calificado" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "se descartan los calificadores de tipo en el tipo de devolución de la función" +@@ -46403,7 +46390,7 @@ msgstr "ISO C prohíbe los tipos de función const o volatile" + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "un miembro de una estructura o union no puede tener un tipo modificado variablemente" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "se declaró la variable o campo %qE como void" +@@ -46607,7 +46594,7 @@ msgstr "la definición de tipo en %qs es no válida en C++" + msgid "%qT defined in underspecified object initializer" + msgstr "se especificó el campo desconocido %qE en el inicializador" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "la declaración no declara nada" +@@ -46657,7 +46644,7 @@ msgstr "struct no tiene miembros nombrados" + msgid "struct has no members" + msgstr "struct no tiene miembros" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, gcc-internal-format + msgid "flexible array member in union" + msgstr "miembro de matriz flexible en union" +@@ -46703,7 +46690,7 @@ msgstr "redeclaración de %" + msgid "% declared with but defined without fixed underlying type" + msgstr "" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, fuzzy, gcc-internal-format + #| msgid "specified mode too small for enumeral values" + msgid "specified mode too small for enumerated values" +@@ -46753,7 +46740,7 @@ msgstr "el valor de enumerador %E es demasiado grande para el tipo subyacente %< + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "ISO C restringe los valores de enumeración al rango de %" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, fuzzy, gcc-internal-format + #| msgid "inline function %qD given attribute noinline" + msgid "inline function %qD given attribute %qs" +@@ -46785,7 +46772,7 @@ msgstr "no hay un prototipo previo para %qD" + msgid "%qD was used with no prototype before its definition" + msgstr "se usó %qD sin prototipo antes de su definición" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, gcc-internal-format + msgid "no previous declaration for %qD" + msgstr "no hay declaración previa para %qD" +@@ -46901,12 +46888,12 @@ msgstr "el argumento %qD no coincide con el prototipo interno" + msgid "argument %qD doesn%'t match prototype" + msgstr "el argumento %qD no coincide con el prototipo" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "no hay una declaración de devolución en la función que no devuelve void" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, gcc-internal-format + msgid "parameter %qD set but not used" + msgstr "se definió el parámetro %qD pero no se usa" +@@ -49031,7 +49018,7 @@ msgstr "no hay suficientes bucles perfectamente anidados" + msgid "collapsed loops not perfectly nested" + msgstr "los bucles colapsados no están perfectamente anidados" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "la variable de iteración %qD no debe ser firstprivate" +@@ -49179,13 +49166,13 @@ msgstr "se esperaba %" + msgid "variant %qD is not a function" + msgstr "'%s' en %L no es una función" + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, fuzzy, gcc-internal-format + #| msgid "%qs and %qs are incompatible" + msgid "variant %qD and base %qD have incompatible types" + msgstr "%qs y %qs son incompatibles" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "" +@@ -49466,7 +49453,7 @@ msgstr "uso no válido de la expresión void" + msgid "invalid use of flexible array member" + msgstr "uso no válido de un miembro de matriz flexible" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "uso no válido de matrices con límites sin especificar" +@@ -50453,12 +50440,12 @@ msgstr "" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "inicialización de un miembro de matriz flexible" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, fuzzy, gcc-internal-format + #| msgid "initialization of %qT from incompatible pointer type %qT" + msgid "cannot initialize array of %qT from a string literal with type array of %qT" +@@ -50500,7 +50487,7 @@ msgstr "el elemento inicializador no es calculable al momento de la carga" + msgid "invalid initializer" + msgstr "inicializador no válido" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "no se pueden inicializar los tipos de vector opacos" +@@ -50515,8 +50502,8 @@ msgstr "grupo extra de llaves al final del inicializador" + msgid "braces around scalar initializer" + msgstr "llaves alrededor del inicializador escalar" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "inicialización de un miembro de matriz flexible en un contexto anidado" +@@ -50607,7 +50594,7 @@ msgstr "exceso de elementos en el inicializador de struct" + msgid "positional initialization of field in % declared with % attribute" + msgstr "inicialización posicional de un campo de % declarado con el atributo %" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "inicialización no estática de un miembro de matriz flexible" +@@ -52065,7 +52052,7 @@ msgstr "no hay un % adecuado para %qT" + msgid "%q#D is private within this context" + msgstr "desde este contexto" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, fuzzy, gcc-internal-format + #| msgid "declared here" + msgid "declared private here" +@@ -52077,7 +52064,7 @@ msgstr "se declara aquí" + msgid "%q#D is protected within this context" + msgstr "desde este contexto" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, fuzzy, gcc-internal-format + #| msgid "declared here" + msgid "declared protected here" +@@ -52094,7 +52081,7 @@ msgstr "%q+#D es inaccesible" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "se pasó NULL al argumento %P de %qD que no es puntero" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, fuzzy, gcc-internal-format + #| msgid "declared here" +@@ -52470,7 +52457,7 @@ msgstr "no se encontró una función coincidente para la llamada a %<%T::%s(%A)% + msgid "call to non-function %qD" + msgstr "llamada a %qD que no es función" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "no se puede llamar directamente al constructor %<%T::%D%>" +@@ -53109,7 +53096,7 @@ msgstr "el miembro de matriz flexible sería de otra manera un struct vacío" + msgid "next member %q#D declared here" + msgstr " %q+#D se declaró aquí" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "redefinición de %q#T" +@@ -53235,7 +53222,7 @@ msgstr "tipo no válido del parámetro %d en la función % %q+#D" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, fuzzy, gcc-internal-format + #| msgid "C++11 % only available with -std=c++11 or -std=gnu++11" + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" +@@ -53313,7 +53300,7 @@ msgstr "autocomparación siempre falsa" + msgid "failed % attribute assumption" + msgstr "" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, fuzzy, gcc-internal-format + #| msgid "internal function" +@@ -53366,7 +53353,7 @@ msgstr " %qT es una clase base ambigua de %qT" + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, fuzzy, gcc-internal-format + #| msgid "call to non-constexpr function %qD" +@@ -53510,7 +53497,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "deferenciando el puntero %" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -53624,7 +53611,7 @@ msgstr "falta el inicializador para el miembro %qD" + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "%qT no puede ser el tipo de una expresión constante completa porque tiene sub-objetos mutables" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, fuzzy, gcc-internal-format + #| msgid "dereferencing % pointer" +@@ -53707,7 +53694,7 @@ msgstr "Cambio de valor en la conversión de %s a %s en %L" + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "Cambio de valor en la conversión de %s a %s en %L" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, fuzzy, gcc-internal-format + #| msgid "initializer element is not a constant expression" +@@ -53780,219 +53767,219 @@ msgstr "" + msgid "control passes through definition of %qD with static storage duration" + msgstr "captura de la variable %qD con duración de almacenamiento que no es automática" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, gcc-internal-format + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "temporal del tipo %qT que no es literal en una expresión constante" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, fuzzy, gcc-internal-format + #| msgid "expression %qE is not a constant-expression" + msgid "% is not a constant expression" + msgstr "la expresión %qE no es una expresión constante" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, fuzzy, gcc-internal-format + #| msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression" + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "conversión del tipo puntero %qT al tipo aritmético %qT en una expresión constante" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, fuzzy, gcc-internal-format + #| msgid "%s%qs%s is not allowed" + msgid "cast from %qT is not allowed" + msgstr "%s%qs%s no está permitido" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, fuzzy, gcc-internal-format + #| msgid "typeid-expression is not a constant expression because %qE is of polymorphic type" + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "la expresión id de tipo no es una expresión constante porque %qE es de tipo polimórfico" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, fuzzy, gcc-internal-format + #| msgid "expression %qE is not a constant-expression" + msgid "%(%E)%> is not a constant expression" + msgstr "la expresión %qE no es una expresión constante" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, fuzzy, gcc-internal-format + #| msgid "expression %qE is not a constant-expression" + msgid "expression %qE is not a constant expression" + msgstr "la expresión %qE no es una expresión constante" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a constant expression" + msgid "% is not a constant expression" + msgstr "%qE no es una expresión constante" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, fuzzy, gcc-internal-format + #| msgid "expression %qE is not a constant-expression" + msgid "contract predicate is false in constant expression" + msgstr "la expresión %qE no es una expresión constante" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, fuzzy, gcc-internal-format + #| msgid "expected template-id" + msgid "unexpected template-id %qE" + msgstr "se esperaba un id de plantilla" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, fuzzy, gcc-internal-format + #| msgid "built-in function %qE must be directly called" + msgid "function concept must be called" + msgstr "la función interna %qE ha de ser llamada directamente" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qD is not an integral constant-expression" + msgid "address of a call to %qs is not a constant expression" + msgstr "el tamaño de la matriz %qD no es una expresion constante integral" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, gcc-internal-format + msgid "unexpected expression %qE of kind %s" + msgstr "expresión %qE inesperada de género %s" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, fuzzy, gcc-internal-format + #| msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects" + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "%qT no puede ser el tipo de una expresión constante completa porque tiene sub-objetos mutables" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, fuzzy, gcc-internal-format + #| msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects" + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "%qT no puede ser el tipo de una expresión constante completa porque tiene sub-objetos mutables" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, fuzzy, gcc-internal-format + #| msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects" + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "%qT no puede ser el tipo de una expresión constante completa porque tiene sub-objetos mutables" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, fuzzy, gcc-internal-format + #| msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects" + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "%qT no puede ser el tipo de una expresión constante completa porque tiene sub-objetos mutables" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, fuzzy, gcc-internal-format + #| msgid "invalid cast of an rvalue expression of type %qT to type %qT" + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "conversión no válida de una expresión r-valuada de tipo %qT al tipo %qT" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, fuzzy, gcc-internal-format + #| msgid "division by zero is not a constant-expression" + msgid "lambda capture of %qE is not a constant expression" + msgstr "la división entre cero no es una expresión constante" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, fuzzy, gcc-internal-format + #| msgid "invalid reinterpret_cast from type `%T' to type `%T'" + msgid "% from integer to pointer" + msgstr "reinterpret_cast no válido del tipo `%T' al tipo `%T'" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "la dirección de un objeto %qE con hilo local o almacenamiento automático no es una expresión constante" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a constant expression" + msgid "use of % in a constant expression" + msgstr "%qE no es una expresión constante" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, fuzzy, gcc-internal-format + #| msgid "expression %qE is not a constant-expression" + msgid "lambda-expression is not a constant expression before C++17" + msgstr "la expresión %qE no es una expresión constante" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, fuzzy, gcc-internal-format + #| msgid "expression %qE is not a constant-expression" + msgid "new-expression is not a constant expression before C++20" + msgstr "la expresión %qE no es una expresión constante" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual functions cannot be % before C++20" + msgstr "las funciones virtual no pueden ser friend" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, fuzzy, gcc-internal-format + #| msgid "typeid-expression is not a constant expression because %qE is of polymorphic type" + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "la expresión id de tipo no es una expresión constante porque %qE es de tipo polimórfico" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, fuzzy, gcc-internal-format + #| msgid "temporary of non-literal type %qT in a constant expression" + msgid "cast to non-integral type %qT in a constant expression" + msgstr "temporal del tipo %qT que no es literal en una expresión constante" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, fuzzy, gcc-internal-format + #| msgid "%qE undeclared here (not in a function)" + msgid "%qD defined % in % context" + msgstr "%qE no se declaró aquí (no en una función)" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, fuzzy, gcc-internal-format + #| msgid "%q+F declared % but never defined" + msgid "%qD defined % in % context" + msgstr "%q+F se declaró % pero nunca se define" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, fuzzy, gcc-internal-format + #| msgid "division by zero is not a constant-expression" + msgid "division by zero is not a constant expression" + msgstr "la división entre cero no es una expresión constante" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a constant expression" + msgid "% is not a constant expression" + msgstr "%qE no es una expresión constante" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a constant expression" + msgid "neither branch of % is a constant expression" + msgstr "%qE no es una expresión constante" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, gcc-internal-format + msgid "non-constant array initialization" + msgstr "inicialización de una matriz que no es constante" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, fuzzy, gcc-internal-format + #| msgid "C++11 % only available with -std=c++11 or -std=gnu++11" + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "% de C++11 sólo está disponible con -std=c++11 o -std=gnu++11" + +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, gcc-internal-format, gfc-internal-format + msgid "unexpected AST of kind %s" + msgstr "AST inesperado de género %s" +@@ -54645,7 +54632,7 @@ msgstr "" + msgid "% declared here" + msgstr "%qD se declaró aquí" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, fuzzy, gcc-internal-format + #| msgid "no type named %q#T in %q#T" + msgid "no member named %qE in %qT" +@@ -54752,7 +54739,7 @@ msgstr "el tercer argumento de %<__builtin_prefetch%> debe ser una constante" + msgid "no suspend point info for %qD" + msgstr "no hay un prototipo previo para %qD" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "" +@@ -54775,23 +54762,23 @@ msgstr "no se permite usar punteros como valores case" + msgid "variable length arrays are not yet supported in coroutines" + msgstr "el límite del array de longitud variable es desconocido" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, fuzzy, gcc-internal-format + #| msgid "invalid initialization of non-const reference of type %qT from an rvalue of type %qT" + msgid "cannot initialize a return object of type %qT with an rvalue of type %" +@@ -55306,7 +55293,7 @@ msgstr "de la declaración previa de %q+F" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "la redeclaración de %qD difiere en %" + +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration %q+#D" + msgid "previous declaration %qD" +@@ -55760,650 +55747,650 @@ msgstr "%qD no es una plantilla de función" + msgid "%q#T is not a class" + msgstr "%q#T no es una clase" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "no hay una plantilla de clase llamada %q#T en %q#T" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, gcc-internal-format + msgid "no type named %q#T in %q#T" + msgstr "no hay un tipo llamado %q#T en %q#T" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, gcc-internal-format + msgid "lookup of %qT in %qT is ambiguous" + msgstr "la búsqueda de %qT en %qT es ambigua" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "% nombra a %q#T, el cual no es una plantilla de clase" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, fuzzy, gcc-internal-format + #| msgid "% names %q#T, which is not a type" + msgid "% names %q#D, which is not a type" + msgstr "% nombra a %q#T, el cual no es un tipo" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, fuzzy, gcc-internal-format + #| msgid "template parameters do not match template" + msgid "template parameters do not match template %qD" + msgstr "los parámetros de la plantilla no coinciden con la plantilla" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, fuzzy, gcc-internal-format + #| msgid "-falign-labels=%d is not supported" + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "no se admite -falign-labels=%d" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, gcc-internal-format + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "%q#D no válido; una union anónima solo puede tener miembros con datos no estáticos públicos" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "esta flexibilidad es obsoleta y será eliminada" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, fuzzy, gcc-internal-format + #| msgid "anonymous struct not inside named type" + msgid "anonymous struct with base classes" + msgstr "struct anónimo no está dentro de un tipo nombrado" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "no se permite el miembro %q+#D con constructor en un agregado anónimo" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "no se permite el miembro %q+#D con destructor en un agregado anónimo" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "no se permite el miembro %q+#D con operador de asignación de copia en un agregado anónimo" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, gcc-internal-format + msgid "attribute ignored in declaration of %q#T" + msgstr "se descarta el atributo en la declaración de %q#T" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, gcc-internal-format + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "el atributo para %q#T debe estar a continuación de la palabra clave %qs" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "tipos múltiples en una declaración" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "redeclaración del tipo interno de C++ %qT" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, gcc-internal-format + msgid "% can only be specified for variables or function declarations" + msgstr "% sólo se puede especificar para variables o declaraciones de función" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "falta el nombre del tipo en la declaración typedef" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "ISO C++ prohíbe structs anónimos" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, fuzzy, gcc-internal-format + #| msgid "%qs can only be specified for functions" + msgid "% can only be specified for functions" + msgstr "%qs sólo se puede especificar para funciones" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, fuzzy, gcc-internal-format + #| msgid "%qs can only be specified for functions" + msgid "% can only be specified for functions" + msgstr "%qs sólo se puede especificar para funciones" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "% sólo se puede especificar dentro de una clase" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "% sólo se puede especificar para constructores" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "una clase de almacenamiento sólo se puede especificar para objetos y funciones" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers can only be specified for objects and functions" + msgid "% can only be specified for objects and functions" + msgstr "los calificadores sólo se pueden especificar para objetos y funciones" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers can only be specified for objects and functions" + msgid "% can only be specified for objects and functions" + msgstr "los calificadores sólo se pueden especificar para objetos y funciones" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers can only be specified for objects and functions" + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "los calificadores sólo se pueden especificar para objetos y funciones" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, fuzzy, gcc-internal-format + #| msgid "a storage class can only be specified for objects and functions" + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "una clase de almacenamiento sólo se puede especificar para objetos y funciones" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, gcc-internal-format + msgid "% was ignored in this declaration" + msgstr "se descartó % en esta declaración" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, fuzzy, gcc-internal-format + #| msgid "% cannot be used for type declarations" + msgid "%qs cannot be used for type declarations" + msgstr "% no se puede usar en declaraciones de tipo" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, fuzzy, gcc-internal-format + #| msgid "attributes ignored on template instantiation" + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "se descartan los atributos en la instanciación de una plantilla" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute can only be applied to class definitions" + msgid "no attribute can be applied to an explicit instantiation" + msgstr "el atributo %qE sólo se puede aplicar a definiciones de clase" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, gcc-internal-format + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "se descartan los atributos aplicados al tipo de clase %qT fuera de la definición" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "se descartan los atributos aplicados al tipo dependiente %qT sin una declaración asociada" + +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, fuzzy, gcc-internal-format + #| msgid "typedef %qD is initialized (use decltype instead)" + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "typedef %qD está inicializado (utilice decltype en su lugar)" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "la declaración de %q#D tiene % y está inicializada" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "la definición de %q#D se marca como %" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, fuzzy, gcc-internal-format + #| msgid "%q#D is not a non-static data member of %qT" + msgid "%q+#D is not a static data member of %q#T" + msgstr "%q#D no es un dato miembro no static de %qT" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, fuzzy, gcc-internal-format + #| msgid "template declaration of %q#D" + msgid "non-member-template declaration of %qD" + msgstr "declaración plantilla de %q#D" + +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, fuzzy, gcc-internal-format + #| msgid "invalid member template declaration %qD" + msgid "does not match member template declaration here" + msgstr "declaración de la plantilla miembro %qD no válida" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "ISO C++ no permite que %<%T::%D%> se defina como %<%T::%D%>" + +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "inicialización duplicada de %qD" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "la declaración de %q#D fuera de la clase no es una definición" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, fuzzy, gcc-internal-format + #| msgid "C++11 % only available with -std=c++11 or -std=gnu++11" + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "% de C++11 sólo está disponible con -std=c++11 o -std=gnu++11" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, fuzzy, gcc-internal-format + #| msgid "C++11 % only available with -std=c++11 or -std=gnu++11" + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "% de C++11 sólo está disponible con -std=c++11 o -std=gnu++11" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "la variable %q#D tiene inicializador pero de tipo de dato incompleto" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "elementos de la matriz %q#D con tipo de dato incompleto" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "el agregado %q#D tiene un tipo incompleto y no se puede definir" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "%qD declarado como referencia pero no se inicializa" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, gcc-internal-format + msgid "name used in a GNU-style designated initializer for an array" + msgstr "se usó un nombre en un inicializador designado de estilo GNU para una matriz" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "el nombre %qD se utiliza en un inicializador designado en estilo GNU para una matriz" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "no se admiten los inicializadores designados como no triviales" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qD is not an integral constant-expression" + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "el tamaño de la matriz %qD no es una expresion constante integral" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "el inicializador no puede determinar el tamaño de %qD" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, gcc-internal-format + msgid "array size missing in %qD" + msgstr "falta el tamaño de la matriz en %qD" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, gcc-internal-format + msgid "zero-size array %qD" + msgstr "matriz %qD de tamaño cero" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, gcc-internal-format + msgid "storage size of %qD isn%'t known" + msgstr "no se conoce el tamaño de almacenamiento de %qD" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, gcc-internal-format + msgid "storage size of %qD isn%'t constant" + msgstr "el tamaño de almacenamiento de %qD no es constante" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, fuzzy, gcc-internal-format + #| msgid "sorry: semantics of inline function static data %q+#D are wrong (you%'ll wind up with multiple copies)" + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "perdón: la semántica de los datos static de la función inline %q+#D es errónea (terminará con múltiples copias)" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, fuzzy, gcc-internal-format + #| msgid "sorry: semantics of inline function static data %q+#D are wrong (you%'ll wind up with multiple copies)" + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "perdón: la semántica de los datos static de la función inline %q+#D es errónea (terminará con múltiples copias)" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, fuzzy, gcc-internal-format + #| msgid " you can work around this by removing the initializer" + msgid "you can work around this by removing the initializer" + msgstr " puede evitar esto eliminando el inicializador" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, fuzzy, gcc-internal-format + #| msgid "uninitialized const %qD" + msgid "uninitialized %" + msgstr "const %qD sin inicializar" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, fuzzy, gcc-internal-format + #| msgid "uninitialized member %qD in % constructor" + msgid "uninitialized variable %qD in % function" + msgstr "miembro %qD sin inicializar en el constructor %" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, fuzzy, gcc-internal-format + #| msgid "uninitialized member %qD in % constructor" + msgid "uninitialized variable %qD in % context" + msgstr "miembro %qD sin inicializar en el constructor %" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, gcc-internal-format + msgid "%q#T has no user-provided default constructor" + msgstr "%q#T no tiene constructor por defecto proporcionado por el usuario" + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "el constructor no es proporcionado por el usuario porque está marcado explícitamente por defecto en el cuerpo de la clase" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, fuzzy, gcc-internal-format + #| msgid "and the implicitly-defined constructor does not initialize %q+#D" + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "y el constructor implícitamente definido no inicializa %q+#D" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "tipo %qT no válido como inicializador para un vector de tipo %qT" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "el inicializador para %qT debe estar encerrado entre llaves" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, gcc-internal-format + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "se usa %<[%E] =%> en un inicializador designado en estilo GNU para la clase %qT" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "%qT no tiene un dato miembro que no es static llamado %qD" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a member of %qT" + msgid "%qD is not a direct member of %qT" + msgstr "%qD no es un miembro de %qT" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer for array member %q#D" + msgid "invalid initializer for %q#D" + msgstr "inicializador no válido para la matriz miembro %q#D" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "asignador C99 %qE fuera del inicializador agregado" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "demasiados inicializadores para %qT" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "llaves alrededor del inicializador escalar para el tipo %qT" + +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, fuzzy, gcc-internal-format + #| msgid "braces around scalar initializer for type %qT" + msgid "too many braces around scalar initializer for type %qT" + msgstr "llaves alrededor del inicializador escalar para el tipo %qT" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "faltan llaves alrededor del inicializador para %qT" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, fuzzy, gcc-internal-format + #| msgid "dereferencing pointer to incomplete type" + msgid "structured binding has incomplete type %qT" + msgstr "puntero deferenciado a tipo de dato incompleto" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, gcc-internal-format + msgid "elements of array %q#T have incomplete type" + msgstr "elementos de la matriz %q#T tienen tipo de dato incompleto" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, gcc-internal-format + msgid "variable-sized compound literal" + msgstr "literal compuesta de tamaño variable" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, gcc-internal-format + msgid "%q#D has incomplete type" + msgstr "%q#D tiene un tipo incompleto" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, gcc-internal-format + msgid "scalar object %qD requires one element in initializer" + msgstr "el objeto escalar %qD requiere un elemento en el inicializador" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, gcc-internal-format + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "en C++98 %qD debe ser inicializado por un constructor, no por %<{...}%>" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "matriz %qD inicializada con una constante de cadena entre paréntesis %qE" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "inicializador no válido para el miembro static con constructor" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "inicialización en clase que no es constante no válida para el miembro static %qD" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, fuzzy, gcc-internal-format + #| msgid "non-constant in-class initialization invalid for static member %qD" + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "inicialización en clase que no es constante no válida para el miembro static %qD" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "(se requiere una inicialización fuera de la clase)" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, fuzzy, gcc-internal-format + #| msgid "%qD is initialized with itself" + msgid "reference %qD is initialized with itself" + msgstr "%qD se inicializa con sí mismo" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, fuzzy, gcc-internal-format + #| msgid "%<[*]%> not in a declaration" + msgid "could not find variant declaration" + msgstr "%<[*]%> fuera de una declaración" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, fuzzy, gcc-internal-format + #| msgid "%s: recursive invocation of constructor %qs" + msgid "% on constructor %qD" + msgstr "%s: invocación recursiva del constructor %qs" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, fuzzy, gcc-internal-format + #| msgid "using-declaration cannot name destructor" + msgid "% on destructor %qD" + msgstr "uan declaración de uso no puede nombrar al destructor" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, gcc-internal-format + msgid "% on defaulted %qD" + msgstr "" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, gcc-internal-format + msgid "% on deleted %qD" + msgstr "" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, gcc-internal-format + msgid "% on virtual %qD" + msgstr "" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "asignación (no inicialización) en la declaración" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not allow designated initializers" + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "ISO C++ no permite inicializadores designados" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, fuzzy, gcc-internal-format + #| msgid "storage class specified for %qs" + msgid "% storage class specifier used" + msgstr "se especificó una clase de almacenamiento para %qs" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "la declaración de %q#D no tiene inicializadores" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of member function (did you forget the %<()%> ?)" + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "uso no válido de la función miembro (¿Olvidó el %<&%>?)" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, fuzzy, gcc-internal-format + #| msgid "return type %q#T is incomplete" + msgid "deduced type %qT for %qD is incomplete" + msgstr "el tipo de devolución %q#T es un tipo de dato incompleto" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, fuzzy, gcc-internal-format + #| msgid "variable-sized object may not be initialized" + msgid "variable concept has no initializer" + msgstr "un objeto de tamaño variable puede no ser inicializado" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "se oscurece la declaración de tipo previa de %q#D" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to variables in static storage" + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "el atributo %qE se aplica solamente a variables en almacenamiento estático" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "la función %q#D se inicializa como una variable" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, fuzzy, gcc-internal-format + #| msgid " cannot use obsolete binding at %q+D because it has a destructor" + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr " no se puede usar la asignación obsoleta en %q+D porque tiene un destructor" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, fuzzy, gcc-internal-format + #| msgid "cannot form pointer to member of non-class %q#T" + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "no se puede formar un puntero al miembro de %q#T que no es clase" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, fuzzy, gcc-internal-format + #| msgid "dereferencing pointer to incomplete type" + msgid "structured binding refers to incomplete type %qT" + msgstr "puntero deferenciado a tipo de dato incompleto" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 forbids variable length array %qE" + msgid "cannot decompose variable length array %qT" + msgstr "ISO C90 prohíbe la matriz de longitud variable %qE" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%qs specified for structure field" + msgid "%u name provided for structured binding" +@@ -56411,7 +56398,7 @@ msgid_plural "%u names provided for structured binding" + msgstr[0] "se especificó %qs para el campo de estructura" + msgstr[1] "se especificó %qs para el campo de estructura" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid initializer for bit string" + msgid "only %u name provided for structured binding" +@@ -56419,1803 +56406,1803 @@ msgid_plural "only %u names provided for structured binding" + msgstr[0] "inicializador no válido para la cadena de bits" + msgstr[1] "inicializador no válido para la cadena de bits" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 forbids variable length array %qE" + msgid "cannot decompose variable length vector %qT" + msgstr "ISO C90 prohíbe la matriz de longitud variable %qE" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, fuzzy, gcc-internal-format + #| msgid "size of array is not an integral constant-expression" + msgid "%::value%> is not an integral constant expression" + msgstr "el tamaño de la matriz no es una expresion constante integral" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, fuzzy, gcc-internal-format + #| msgid "invalid type for iteration variable %qE" + msgid "in initialization of structured binding variable %qD" + msgstr "tipo no válido para la variable de iteración %qE" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare pointer to qualified function type %qT" + msgid "cannot decompose union type %qT" + msgstr "no se puede declarar el puntero para el tipo de función calificado %qT" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member of non-class type %qT" + msgid "cannot decompose non-array non-class type %qT" + msgstr "se crea un puntero al miembro del tipo %qT que no es clase" + +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare pointer to qualified function type %qT" + msgid "cannot decompose lambda closure type %qT" + msgstr "no se puede declarar el puntero para el tipo de función calificado %qT" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, fuzzy, gcc-internal-format + #| msgid "dereferencing pointer to incomplete type" + msgid "structured binding refers to incomplete class type %qT" + msgstr "puntero deferenciado a tipo de dato incompleto" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, fuzzy, gcc-internal-format + #| msgid "cannot apply % to static data member %qD" + msgid "cannot decompose class type %qT without non-static data members" + msgstr "no se puede aplicar % al dato miembro static %qD" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, fuzzy, gcc-internal-format + #| msgid " %q+T has a non-trivial destructor" + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr " %q+T tiene un destructor que no es trivial" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, gcc-internal-format + msgid "initializer fails to determine size of %qT" + msgstr "el inicializador no puede determinar el tamaño de %qT" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, gcc-internal-format + msgid "array size missing in %qT" + msgstr "falta el tamaño de la matriz en %qT" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, gcc-internal-format + msgid "zero-size array %qT" + msgstr "matriz %qT de tamaño cero" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "el destructor para la clase extranjera %qT no puede ser un miembro" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "el constructor para la clase extranjera %qT no puede ser un miembro" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, gcc-internal-format + msgid "%qD declared as a % variable" + msgstr "%qD se declaró como una variable %" + +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "los especificadores de función % y % en %qD son no válidos en la declaración de variable" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, gcc-internal-format + msgid "%qD declared as a % parameter" + msgstr "%qD se declaró como un parámetro %" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, gcc-internal-format + msgid "%qD declared as an % parameter" + msgstr "%qD se declaró como un parámetro %" + +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "los especificadores de función % y % en %qD son no válidos en la declaración de parámetro" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, gcc-internal-format + msgid "%qD declared as a % type" + msgstr "%qD se declaró como un tipo %" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, gcc-internal-format + msgid "%qD declared as an % type" + msgstr "%qD se declaró como un tipo %" + +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "los especificadores de función % y % en %qD son no válidos en la declaración de tipo" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, gcc-internal-format + msgid "%qD declared as a % field" + msgstr "%qD se declaró como un campo %" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, gcc-internal-format + msgid "%qD declared as an % field" + msgstr "%qD se declaró como un campo %" + +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "los especificadores de función % y % en %qD son no válidos en la declaración de campo" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "%q+D se declaró como friend" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "%q+D se declaró con una especificación de excepción" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "la definición de %qD no está en un espacio de nombres que contenga a %qT" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "la función miembro static %q#D se declara con calificadores de tipo" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a non-parameter" + msgid "concept %q#D declared with function parameters" + msgstr "%qD se declaró como un no-parámetro" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, fuzzy, gcc-internal-format + #| msgid "parameter %qD declared with void type" + msgid "concept %q#D declared with a deduced return type" + msgstr "el parámetro %qD se declaró con tipo void" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, fuzzy, gcc-internal-format + #| msgid "Java method %qD has non-Java return type %qT" + msgid "concept %q#D with non-% return type %qT" + msgstr "el método Java %qD tiene un tipo de devolución %qT que no es de Java" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, fuzzy, gcc-internal-format + #| msgid "expected %<;%> after union definition" + msgid "concept %qD has no definition" + msgstr "se esperaba %<;%> después de la definición de union" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, fuzzy, gcc-internal-format + #| msgid "function cannot be instrumented" + msgid "a function concept cannot be constrained" + msgstr "no se puede instrumentar la función" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a template function" + msgid "constraints on a non-templated function" + msgstr "%qD no es una función plantilla" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "definiendo la especialización explícita %qD en la declaración friend" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "uso no válido del id de plantilla %qD en la declaración de la plantilla primaria" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "no se permiten los argumentos por defecto en la declaración de la especialización friend de la plantilla %qD" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "no se permite % en la declaración de la especialización friend de la plantilla %qD" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %q#D outside of class is not definition" + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "la declaración de %q#D fuera de la clase no es una definición" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "no se puede declarar %<::main%> como plantilla" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "no se puede declarar %<::main%> como inline" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %<::main%> to be static" + msgid "cannot declare %<::main%> to be %qs" + msgstr "no se puede declarar %<::main%> como static" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "no se puede declarar %<::main%> como static" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, gcc-internal-format + msgid "static member function %qD cannot have cv-qualifier" + msgstr "la función miembro static %qD no puede tener calificador-cv" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, gcc-internal-format + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "la función que no es miembro %qD no puede tener calificador-cv" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, fuzzy, gcc-internal-format + #| msgid "static member function %qD cannot have cv-qualifier" + msgid "static member function %qD cannot have ref-qualifier" + msgstr "la función miembro static %qD no puede tener calificador-cv" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, fuzzy, gcc-internal-format + #| msgid "non-member function %qD cannot have cv-qualifier" + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "la función que no es miembro %qD no puede tener calificador-cv" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, fuzzy, gcc-internal-format + #| msgid "specialization of %qD must appear at namespace scope" + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "la especialización de %qD debe aparecer en un ámbito de espacio de nombres" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, fuzzy, gcc-internal-format + #| msgid "specialization of %qD must appear at namespace scope" + msgid "deduction guide %qD must have the same access as %qT" + msgstr "la especialización de %qD debe aparecer en un ámbito de espacio de nombres" + + # FIXME traducción +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-function" + msgid "deduction guide %qD must not have a function body" + msgstr "la declaración de %qD como algo que no es función" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, gcc-internal-format + msgid "literal operator with C linkage" + msgstr "operador literal con enlace C" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, gcc-internal-format + msgid "%qD has invalid argument list" + msgstr "%qD tien una lista de argumentos no válida" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, fuzzy, gcc-internal-format + #| msgid "integer suffix %<%s%> shadowed by implementation" + msgid "integer suffix %qs shadowed by implementation" + msgstr "se oscurece el sufijo entero %<%s%> por la implementación" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, fuzzy, gcc-internal-format + #| msgid "floating point suffix %<%s%> shadowed by implementation" + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "se oscurece el sufijo de coma flotante %<%s%> por la implementación" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "los sufijos de operador literal que no están precedidos por %<_%> están reservados para estandarización futura" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, gcc-internal-format + msgid "%qD must be a non-member function" + msgstr "%qD debe ser una función que no sea miembro" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, gcc-internal-format + msgid "%<::main%> must return %" + msgstr "%<::main%> debe devolver %" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "la definición de %qD declarado implícitamente" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, gcc-internal-format + msgid "definition of explicitly-defaulted %q+D" + msgstr "la definición de %qD explícitamente por defecto" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, fuzzy, gcc-internal-format + #| msgid "%q+#D explicitly defaulted here" + msgid "%q#D explicitly defaulted here" + msgstr "%q+#D explícitamente por defecto aquí" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "no hay una función miembro %q#D declarada en la clase %qT" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %<::main%> to be a template" + msgid "cannot declare %<::main%> to be a global variable" + msgstr "no se puede declarar %<::main%> como plantilla" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, fuzzy, gcc-internal-format + #| msgid "automatic variable %qE cannot be %" + msgid "a non-template variable cannot be %" + msgstr "la variable automática %qE no puede ser %" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, fuzzy, gcc-internal-format + #| msgid "specialization of %qD must appear at namespace scope" + msgid "concept must be defined at namespace scope" + msgstr "la especialización de %qD debe aparecer en un ámbito de espacio de nombres" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, fuzzy, gcc-internal-format + #| msgid "variable-sized object may not be initialized" + msgid "a variable concept cannot be constrained" + msgstr "un objeto de tamaño variable puede no ser inicializado" + +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "inicialización en la clase del miembro de datos static %q#D de tipo incompleto" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, gcc-internal-format + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "se necesita % para la inicialización en la clase no válida del miembro de datos static %q#D de tipo que no es integral" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "inicialización en la clase del miembro de datos static %q#D de tipo que no es literal" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "inicialización en la clase no válida para el miembro de datos static de tipo %qT que no es integral" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "ISO C++ prohíbe la inicialización en la clase del miembro static %qD que no es constante" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "ISO C++ prohíbe la inicialización de la constante miembro %qD del tipo %qT que no es entero" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "el tamaño de la matriz %qD tiene un tipo %qT que no es integral" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "el tamaño de la matriz tiene un tipo %qT que no es integral" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "el tamaño de la matriz %qD no es una expresion constante integral" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "el tamaño de la matriz no es una expresion constante integral" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "ISO C++ prohíbe la matriz %qD de tamaño cero" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "ISO C++ prohíbe matrices de tamaño cero" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array %qD" + msgstr "ISO C++ prohíbe la matriz %qD de longitud variable" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array" + msgstr "ISO C++ prohíbe las matrices de longitud variable" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "se usa la matriz de longitud variable %qD" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "se usó la matriz de longitud variable" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "desbordamiento en la dimensión de la matriz" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared as a friend" + msgid "%qD declared as array of template placeholder type %qT" + msgstr "%q+D se declaró como friend" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member reference type %qT" + msgid "creating array of template placeholder type %qT" + msgstr "se crea un puntero al miembro de referencia de tipo %qT" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, gcc-internal-format + msgid "declaration of %qD as array of void" + msgstr "la declaración de %qD como una matriz de voids" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, gcc-internal-format + msgid "creating array of void" + msgstr "se crea la matriz de voids" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, gcc-internal-format + msgid "declaration of %qD as array of functions" + msgstr "la declaración de %qD como una matriz de funciones" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, gcc-internal-format + msgid "creating array of functions" + msgstr "se crea la matriz de funciones" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, gcc-internal-format + msgid "declaration of %qD as array of references" + msgstr "la declaración de %qD como una matriz de referencias" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, gcc-internal-format + msgid "creating array of references" + msgstr "se crea la matriz de referencias" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, gcc-internal-format + msgid "declaration of %qD as array of function members" + msgstr "la declaración de %qD como una matriz de miembros de función" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, gcc-internal-format + msgid "creating array of function members" + msgstr "se crea la matriz de miembros de función" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "la declaración de %qD como una matriz multidimensional debe tener límites para todas las dimensiones excepto la primera" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "una matriz multidimensional debe tener límites para todas las dimensiones excepto para la primera" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, fuzzy, gcc-internal-format + #| msgid "variable length array is used" + msgid "variable-length array of %" + msgstr "se usó la matriz de longitud variable" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "la especificación del tipo de devolución para el constructor es no válida" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on constructor declaration" + msgstr "no se permiten calificadores en la declaración de %" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "la especificación del tipo de devolución para el destructor es no válida" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on destructor declaration" + msgstr "no se permiten calificadores en la declaración de %" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, gcc-internal-format + msgid "return type specified for %" + msgstr "se especificó un tipo de devolución para %" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "no se permiten calificadores en la declaración de %" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, fuzzy, gcc-internal-format + #| msgid "return type specification for destructor invalid" + msgid "return type specified for deduction guide" + msgstr "la especificación del tipo de devolución para el destructor es no válida" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "no se permiten calificadores en la declaración de %" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, fuzzy, gcc-internal-format + #| msgid "conflicting specifiers in declaration of %qs" + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "especificadores en conflicto en la declaración de %qs" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, fuzzy, gcc-internal-format + #| msgid "conflicting specifiers in declaration of %qs" + msgid "% in declaration of deduction guide" + msgstr "especificadores en conflicto en la declaración de %qs" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "se declaró la variable o campo sin nombre como void" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "se declaró la variable o campo como void" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, fuzzy, gcc-internal-format + #| msgid "% specifier invalid for function %qs declared out of global scope" + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "el especificador % es no válido para la función %qs declarada fuera del ámbito global" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, fuzzy, gcc-internal-format + #| msgid "inline namespaces only available with -std=c++11 or -std=gnu++11" + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "los nombres de espacio incluidos en línea sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "% cannot be cv-qualified" + msgstr "los destructores no pueden ser cv-calificados" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "uso no válido del nombre calificado %<::%D%>" + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "uso no válido del nombre calificado %<%T::%D%>" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "uso no válido del nombre calificado %<%D::%D%>" + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, fuzzy, gcc-internal-format + #| msgid "%qT is not a class or namespace" + msgid "%q#T is not a class or namespace" + msgstr "%qT no es una clase o un espacio de nombres" + + # FIXME traducción +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-function" + msgid "declaration of %qE as non-function" + msgstr "la declaración de %qD como algo que no es función" + + # FIXME traducción +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-member" + msgid "declaration of %qE as non-member" + msgstr "declaración de %qD como algo que no es miembro" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "falta el id del declarador; se utiliza la palabra reservada %qD" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "la definición de la función no declara parámetros" + + # FIXME traducción +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "la declaración de %qD como algo que no es función" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, gcc-internal-format + msgid "declaration of %qD as %" + msgstr "declaración de %qD como %" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, gcc-internal-format + msgid "declaration of %qD as parameter" + msgstr "la declaración de %qD como parámetro" + +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, fuzzy, gcc-internal-format + #| msgid "no classes specified" + msgid "both %qs and %qs specified" + msgstr "no se especificó ninguna clase" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, fuzzy, gcc-internal-format + #| msgid "% cannot appear in a typedef declaration" + msgid "%qs cannot appear in a typedef declaration" + msgstr "% no puede aparecer en una declaración typedef" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "dos o más tipos de datos en la declaración de %qs" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support plain % meaning %" + msgid "ISO C++ does not support plain % meaning %" + msgstr "ISO C no admite % simples que significan %" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "ISO C++ prohíbe la declaración de %qs sin tipo" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, fuzzy, gcc-internal-format + #| msgid "%<__int128%> is not supported by this target" + msgid "%<__int%d%> is not supported by this target" + msgstr "no se admite %<__int128%> en este objetivo" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not support %<__int128%> for %qs" + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "ISO C++ no admite %<__int128%> para %qs" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, fuzzy, gcc-internal-format + #| msgid "% and % specified together for %qs" + msgid "% and % specified together" + msgstr "% y % se especificaron juntos para %qs" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, fuzzy, gcc-internal-format + #| msgid "% and % specified together for %qs" + msgid "% and % specified together" + msgstr "% y % se especificaron juntos para %qs" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, fuzzy, gcc-internal-format + #| msgid "%qs used with %qE" + msgid "%qs specified with %qT" + msgstr "se usó %qs con %qE" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, fuzzy, gcc-internal-format + #| msgid "%qs used with %qE" + msgid "%qs specified with %qD" + msgstr "se usó %qs con %qE" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, fuzzy, gcc-internal-format + #| msgid "%qE used with %" + msgid "%qs specified with %" + msgstr "se usó %qE con %" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, fuzzy, gcc-internal-format + #| msgid "%qE used with %" + msgid "%qs specified with %" + msgstr "se usó %qE con %" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, gcc-internal-format + msgid "complex invalid for %qs" + msgstr "complex no válido para %qs" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, fuzzy, gcc-internal-format + #| msgid "member %qD cannot be declared both virtual and static" + msgid "member %qD cannot be declared both % and %" + msgstr "el miembro %qD no se puede declarar como virtual y static al mismo tiempo" + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, fuzzy, gcc-internal-format + #| msgid "member %qD cannot be declared both virtual and static" + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "el miembro %qD no se puede declarar como virtual y static al mismo tiempo" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "declaración typedef no válida en la declaración de parámetros" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, gcc-internal-format + msgid "storage class specified for template parameter %qs" + msgstr "se especificó una clase de almacenamiento para el parámetro de plantilla %qs" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "se especificó una clase de almacenamiento para el parámetro %qs" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, fuzzy, gcc-internal-format + #| msgid "a parameter cannot be declared %" + msgid "a parameter cannot be declared %qs" + msgstr "un parámetro no se puede declarar %" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "declaración de clase fuera de %" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, fuzzy, gcc-internal-format + #| msgid "attribute ignored in declaration of %q#T" + msgid "structured binding declaration cannot be %qs" + msgstr "se descarta el atributo en la declaración de %q#T" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, fuzzy, gcc-internal-format + #| msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11" + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "las uniones sin restricción sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer for bit string" + msgid "%-qualified structured binding is deprecated" + msgstr "inicializador no válido para la cadena de bits" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, fuzzy, gcc-internal-format + #| msgid "function %qs cannot be declared %" + msgid "structured binding declaration cannot be C++98 %" + msgstr "la función %qs no se puede declarar %" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, fuzzy, gcc-internal-format + #| msgid "indirect function %q+D cannot be declared weak" + msgid "structured binding declaration cannot have type %qT" + msgstr "la función indirecta %q+D no se puede declarar weak" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, fuzzy, gcc-internal-format + #| msgid "indirect function %q+D cannot be declared weak" + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "la función indirecta %q+D no se puede declarar weak" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, gcc-internal-format + msgid "multiple storage classes in declaration of %qs" + msgstr "múltiples clases de almacenamiento en la declaración de %qs" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "se especificó una clase de almacenamiento para %qs" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "la función anidada %qs se declaró %" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "la declaración del nivel superior de %qs especifica %" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "el ámbito de la función %qs es implícitamente auto y declarado %<__thread%>" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "especificadores de clase de almacenamiento no válidos en las declaraciones de funciones friend" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, gcc-internal-format + msgid "attribute ignored" + msgstr "se descarta el atributo" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "un atributo que atañe a un especificador de tipo se descarta" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, fuzzy, gcc-internal-format + #| msgid "multiple storage classes in declaration of %qs" + msgid "unnecessary parentheses in declaration of %qs" + msgstr "múltiples clases de almacenamiento en la declaración de %qs" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, fuzzy, gcc-internal-format + #| msgid "Expected left parenthesis" + msgid "remove parentheses" + msgstr "Se esperaba un paréntesis izquierdo" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, gcc-internal-format + msgid "requires-clause on return type" + msgstr "" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "la función %qs usa el especificador de tipo % sin un tipo de devolución trailing" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, fuzzy, gcc-internal-format + #| msgid "trailing return type only available with -std=c++11 or -std=gnu++11" + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "el tipo de devolución trailing sólo está disponible con -std=c++11 o -std=gnu++11" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual function cannot have deduced return type" + msgstr "las funciones virtual no pueden ser friend" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "la función %qs con tipo de devolución trailing tiene %qT como su tipo en lugar de un simple %" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, fuzzy, gcc-internal-format + #| msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "la función %qs con tipo de devolución trailing tiene %qT como su tipo en lugar de un simple %" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %" + msgid "invalid use of %" + msgstr "uso no válido de %" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, fuzzy, gcc-internal-format + #| msgid "type qualifiers ignored on function return type" + msgid "deduced class type %qD in function return type" + msgstr "se descartan los calificadores de tipo en el tipo de devolución de la función" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, fuzzy, gcc-internal-format + #| msgid "%qs function cannot have arguments" + msgid "deduction guide for %qT must have trailing return type" + msgstr "la función %qs no puede tener argumentos" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, fuzzy, gcc-internal-format + #| msgid "trailing return type only available with -std=c++11 or -std=gnu++11" + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "el tipo de devolución trailing sólo está disponible con -std=c++11 o -std=gnu++11" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "no se declaró la función %qs con tipo de devolución trailing con el especificador de tipo %" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, fuzzy, gcc-internal-format + #| msgid "%qs function cannot have arguments" + msgid "a conversion function cannot have a trailing return type" + msgstr "la función %qs no puede tener argumentos" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, fuzzy, gcc-internal-format + #| msgid "%<_Atomic%>-qualified return type of %qD" + msgid "%-qualified return type is deprecated" + msgstr "calificado %<_Atomic%> el tipo de retorno de %qD" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, gcc-internal-format + msgid "%qs declared as function returning a function" + msgstr "%qs que se declaró como función devuelve una función" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "%qs que se declaró como función devuelve una matriz" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, fuzzy, gcc-internal-format + #| msgid "% function returns non-void value" + msgid "% on function return type is not allowed" + msgstr "la función % devuelve un valor que no es void" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "el destructor no puede ser una función miembro de tipo static" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "el constructor no puede ser una función miembro de tipo static" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "los destructores no pueden ser cv-calificados" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "los constructores tal vez no sean cv-calificados" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "destructors may not be ref-qualified" + msgstr "los destructores no pueden ser cv-calificados" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "constructors may not be ref-qualified" + msgstr "los destructores no pueden ser cv-calificados" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, fuzzy, gcc-internal-format + #| msgid "constructors cannot be declared virtual" + msgid "constructors cannot be declared %" + msgstr "los constructores no se pueden declarar virtual" + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "las funciones virtual no pueden ser friend" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "la declaración friend no está en una definición de clase" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, fuzzy, gcc-internal-format + #| msgid "can%'t define friend function %qs in a local class definition" + msgid "cannot define friend function %qs in a local class definition" + msgstr "no se puede definir la función friend %qs en una definición de clase local" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "los destructores no pueden tener parámetros" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "no se puede declarar el puntero a %q#T" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "no se puede declarar la referencia a %q#T" + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "no se puede declarar el puntero al miembro %q#T" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, gcc-internal-format + msgid "cannot declare reference to qualified function type %qT" + msgstr "no se puede declarar la referencia para el tipo de función calificado %qT" + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, gcc-internal-format + msgid "cannot declare pointer to qualified function type %qT" + msgstr "no se puede declarar el puntero para el tipo de función calificado %qT" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "no se puede declarar la referencia a %q#T, el cual no es una definición de tipo o un argumento de tipo de plantilla" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "el id de plantilla %qD se usa como un declarador" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "las funciones miembros son implícitamente friends de su clase" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "calificación extra %<%T::%> en el miembro %qs" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, fuzzy, gcc-internal-format + #| msgid "cannot define member function %<%T::%s%> within %<%T%>" + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "no se puede definir la función miembro %<%T::%s%> dentro de %<%T%>" + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare member function %<%T::%s%> within %<%T%>" + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "no se puede declarar la función miembro %<%T::%s%> dentro de %<%T%>" + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "no se puede declarar el miembro %<%T::%s%> dentro de %qT" + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, gcc-internal-format + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "%qs que no es parámetro no puede ser un paquete de parámetro" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "los datos miembro pueden no tener el tipo modificado variablemente %qT" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "el parámetro puede no tener el tipo modificado variablemente %qT" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, fuzzy, gcc-internal-format + #| msgid "% outside class declaration" + msgid "% outside class declaration" + msgstr "declaración de clase fuera de %" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, fuzzy, gcc-internal-format + #| msgid "% in empty declaration" + msgid "% in friend declaration" + msgstr "% en una declaración vacía" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, fuzzy, gcc-internal-format + #| msgid "only declarations of constructors can be %" + msgid "only declarations of constructors and conversion operators can be %" + msgstr "solamente las declaraciones de constructores pueden ser %" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "el no-miembro %qs no se puede declarar %" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "el miembro que no es objeto %qs no se puede declarar %" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "la función %qs no se puede declarar %" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, fuzzy, gcc-internal-format + #| msgid "static %qs cannot be declared %" + msgid "% %qs cannot be declared %" + msgstr "static %qs no se puede declarar %" + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, fuzzy, gcc-internal-format + #| msgid "const %qs cannot be declared %" + msgid "% %qs cannot be declared %" + msgstr "const %qs no se puede declarar %" + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, gcc-internal-format + msgid "reference %qs cannot be declared %" + msgstr "la referencia %qs no se puede declarar %" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, fuzzy, gcc-internal-format + #| msgid "types may not be defined in conditions" + msgid "typedef may not be a function definition" + msgstr "no se pueden definir tipos en condiciones" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, fuzzy, gcc-internal-format + #| msgid "types may not be defined in conditions" + msgid "typedef may not be a member function definition" + msgstr "no se pueden definir tipos en condiciones" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, fuzzy, gcc-internal-format + #| msgid "%<[*]%> not in a declaration" + msgid "% not allowed in alias declaration" + msgstr "%<[*]%> fuera de una declaración" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, gcc-internal-format + msgid "typedef declared %" + msgstr "la definición de tipo se declaró %" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, gcc-internal-format + msgid "typedef name may not be a nested-name-specifier" + msgstr "el nombre del typedef puede no ser un especificador-de-nombre-anidado" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "ISO C++ prohíbe el tipo anidado %qD con el mismo nombre que la clase que lo contiene" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "se especificó % para la declaración de clase friend" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "los parámetros de la plantilla no pueden ser friends" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "la declaración friend requere una llave de clase, p.e. %" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "la declaración friend requiere una llave de clase, p.e. %" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "se intenta hacer que la clase %qT sea un friend de ámbito global" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "calificadores no válidos en el tipo de función que no es miembro" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "el declarador abstracto %qT se usó como declaración" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, fuzzy, gcc-internal-format + #| msgid "value-initialization of function type %qT" + msgid "requires-clause on declaration of non-function type %qT" + msgstr "inicialización por valor del tipo de función %qT" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "no se puede usar %<::%> en la declaración de parámetros" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare parameter %q+D to be of abstract type %qT" + msgid "cannot declare a parameter with %" + msgstr "no se puede declarar que el parámetro %q+D sea del tipo abstracto %qT" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, fuzzy, gcc-internal-format + #| msgid "% may not be used in this context" + msgid "% parameter not permitted in this context" + msgstr "no se puede usar % en este contexto" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, gcc-internal-format + msgid "parameter declared %" + msgstr "el parámetro se declaró %" + +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "uso no válido del nombre-de-plantilla %qE sin una lista de argumentos" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, fuzzy, gcc-internal-format + #| msgid "non-static data member declared %" + msgid "non-static data member declared with placeholder %qT" + msgstr "se declaró el miembro dato que no es static como %" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 does not support flexible array members" + msgid "ISO C++ forbids flexible array member %qs" + msgstr "ISO C90 no admite miembros de matriz flexibles" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 does not support flexible array members" + msgid "ISO C++ forbids flexible array members" + msgstr "ISO C90 no admite miembros de matriz flexibles" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, gcc-internal-format + msgid "invalid use of %<::%>" + msgstr "uso no válido de %<::%>" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, gcc-internal-format + msgid "declaration of function %qD in invalid context" + msgstr "declaración de la función %qD en un contexto no válido" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, fuzzy, gcc-internal-format + #| msgid "function %qD declared virtual inside a union" + msgid "function %qD declared % inside a union" + msgstr "la función %qD se declaró virtual dentro de un union" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, fuzzy, gcc-internal-format + #| msgid "%qD cannot be declared virtual, since it is always static" + msgid "%qD cannot be declared %, since it is always static" + msgstr "%qD no se puede declarar virtual, ya que siempre es static" + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "se esperaba un nombre calificado en la declaración friend para el destructor %qD" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, gcc-internal-format + msgid "declaration of %qD as member of %qT" + msgstr "declaración de %qD como miembro de %qT" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, fuzzy, gcc-internal-format + #| msgid "a destructor cannot be %" + msgid "a destructor cannot be %qs" + msgstr "un destructor no puede ser %" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "se esperaba un nombre calificado en la declaración friend para el constructor %qD" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, fuzzy, gcc-internal-format + #| msgid "a destructor cannot be %" + msgid "a constructor cannot be %" + msgstr "un destructor no puede ser %" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, fuzzy, gcc-internal-format + #| msgid "constructor cannot be static member function" + msgid "a concept cannot be a member function" + msgstr "el constructor no puede ser una función miembro de tipo static" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, fuzzy, gcc-internal-format + #| msgid "cannot open %s" + msgid "%qD cannot be %qs" + msgstr "no se puede abrir %s" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, fuzzy, gcc-internal-format + #| msgid "variable %qD redeclared as function" + msgid "specialization of variable template %qD declared as function" + msgstr "la variable %qD se redeclaró como función" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, fuzzy, gcc-internal-format + #| msgid "original type declared here" + msgid "variable template declared here" + msgstr "el tipo original se definió aquí" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, fuzzy, gcc-internal-format + #| msgid "field %qD has incomplete type" + msgid "field %qD has incomplete type %qT" + msgstr "el campo %qD tiene tipo de dato incompleto" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "el nombre %qT tiene tipo de dato incompleto" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "%qE no es ni función ni función miembro; no se puede declarar friend" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, fuzzy, gcc-internal-format + #| msgid "%qE is neither function nor member function; cannot be declared friend" + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "%qE no es ni función ni función miembro; no se puede declarar friend" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, fuzzy, gcc-internal-format + #| msgid "an attribute that appertains to a type-specifier is ignored" + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "un atributo que atañe a un especificador de tipo se descarta" + +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, fuzzy, gcc-internal-format + #| msgid "non-static data member %qE declared %" + msgid "static data member %qE declared %qs" + msgstr "se declaró el miembro dato que no es static %qE como %" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, fuzzy, gcc-internal-format + #| msgid "constexpr static data member %qD must have an initializer" + msgid "% static data member %qD must have an initializer" + msgstr "el miembro dato static constexpr %qD debe tener un inicializador" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, fuzzy, gcc-internal-format + #| msgid "non-static data member %qE declared %" + msgid "non-static data member %qE declared %qs" + msgstr "se declaró el miembro dato que no es static %qE como %" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "la clase de almacenamiento % es no válida para la función %qs" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "la clase de almacenamiento % es no válida para la función %qs" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "la clase de almacenamiento %<__thread%> es no válida para la función %qs" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, fuzzy, gcc-internal-format + #| msgid "storage class %<__thread%> invalid for function %qs" + msgid "storage class % invalid for function %qs" + msgstr "la clase de almacenamiento %<__thread%> es no válida para la función %qs" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, gcc-internal-format + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "no se permiten los especificadores-virt en %qs fuera de una definición de clase" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, fuzzy, gcc-internal-format + #| msgid "% specified invalid for function %qs declared out of global scope" + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "el especificador % es no válido para la función %qs declarada fuera del ámbito global" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "el especificador % es no válido para la función %qs declarada fuera del ámbito global" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "función virtual %qs que no es clase" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "se definió %qs en un ámbito que no es una clase" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, gcc-internal-format + msgid "%qs declared in a non-class scope" + msgstr "se declaró %qs en un ámbito que no es una clase" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "no se puede declarar que la función miembro %qD tenga enlace estático" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "no se puede declarar una función static dentro de otra función" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "% puede no ser utilizado cuando se define (opuesto a la declaración) un dato miembro static" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "se declaró el miembro static %qD como %" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "no se puede declarar explícitamente que el miembro %q#D tenga un enlace externo" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, fuzzy, gcc-internal-format + #| msgid "declaration of constexpr variable %qD is not a definition" + msgid "declaration of % variable %qD is not a definition" + msgstr "la declaración de la variable constexpr %qD no es una definición" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, fuzzy, gcc-internal-format + #| msgid "a parameter cannot be declared %" + msgid "a variable cannot be declared %" + msgstr "un parámetro no se puede declarar %" + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "%qs inicializado y declarado como %" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "%qs tiene % e inicializador al mismo tiempo" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, gcc-internal-format + msgid "default argument %qE uses %qD" + msgstr "el argumento por defecto %qE usa %qD" + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "el argumento por defecto %qE usa la variable local %qD" + +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of % in template declaration of %q#D" + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "uso no válido de % en la declaración de plantilla de %q#D" + +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of % in template declaration of %q#D" + msgid "invalid use of type % in parameter declaration" + msgstr "uso no válido de % en la declaración de plantilla de %q#D" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, fuzzy, gcc-internal-format + #| msgid "%<_Atomic%>-qualified parameter type %qT of %q+D" + msgid "%-qualified parameter is deprecated" + msgstr "tipo de parámetro cualificado %<_Atomic%> %qT de %q+D" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "el parámetro %qD se declaró no válidamente como tipo de método" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "el parámetro %qD incluye un puntero a matriz %qT de límite desconocido" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "el parámetro %qD incluye una referencia a matriz %qT de límite desconocido" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "constructor no válido; tal vez quiso decir %<%T (const %T&)%>" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "%qD no se puede declarar dentro de un espacio de nombres" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "%qD no se puede declarar como static" + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be a nonstatic member function" + msgid "%qD must be a non-static member function" + msgstr "%qD debe ser una función miembro que no sea static" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be a non-member function" + msgid "%qD must be a member function" + msgstr "%qD debe ser una función que no sea miembro" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, fuzzy, gcc-internal-format + #| msgid "variadic templates only available with -std=c++11 or -std=gnu++11" + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "las plantillas variadic sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "%qD debe ser una función miembro que no sea static o una función que no sea miembro" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "%qD debe tener un argumento de tipo clase o enumerado" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ prohibits overloading operator ?:" + msgid "ISO C++ prohibits overloading %" + msgstr "ISO C++ prohíbe la sobrecarga del operador ?:" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "%qD no debe tener un número variable de argumentos" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take either zero or one argument" + msgid "%qD must have either zero or one argument" + msgstr "%qD debe tomar cero o un argumentos" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take either one or two arguments" + msgid "%qD must have either one or two arguments" + msgstr "%qD debe tomar uno o dos argumentos" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, fuzzy, gcc-internal-format + #| msgid "postfix %qD must take % as its argument" + msgid "postfix %qD must have % as its argument" + msgstr "el postfijo %qD debe tomar % como su argumento" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, fuzzy, gcc-internal-format + #| msgid "postfix %qD must take % as its second argument" + msgid "postfix %qD must have % as its second argument" + msgstr "el postfijo %qD debe tomar % como su segundo argumento" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly two arguments" + msgid "%qD must have no arguments" + msgstr "%qD debe tomar dos argumentos exactamente" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly one argument" + msgid "%qD must have exactly one argument" + msgstr "%qD debe tomar un argumento exactamente" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly two arguments" + msgid "%qD must have exactly two arguments" + msgstr "%qD debe tomar dos argumentos exactamente" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "%qD no puede tener argumentos por defecto" + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, fuzzy, gcc-internal-format + #| msgid "conversion to void will never use a type conversion operator" + msgid "converting %qT to % will never use a type conversion operator" + msgstr "la conversión a void nunca usará un operador de conversión de tipo" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, fuzzy, gcc-internal-format + #| msgid "conversion to a reference to the same type will never use a type conversion operator" + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "la conversión a una referencia al mismo tipo nunca usará un operador de conversión de tipo" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, fuzzy, gcc-internal-format + #| msgid "conversion to the same type will never use a type conversion operator" + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "la conversión al mismo tipo nunca usará un operador de conversión de tipo" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, fuzzy, gcc-internal-format + #| msgid "conversion to a reference to a base class will never use a type conversion operator" + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "la conversión a una referencia a una clase base nunca usará un operador de conversión de tipo" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, fuzzy, gcc-internal-format + #| msgid "conversion to a base class will never use a type conversion operator" + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "la conversión a una clase base nunca usará un operador de conversión de tipo" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "el %qD definido por el usuario siempre evalúa ambos argumentos" + + # En esta traducción se emplea 'devolver' por 'return'. Si embargo, aquí + # se cambió por cacofonía: no es agradable escuchar 'debe devolver'. cfuga +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "el prefijo %qD debe regresar %qT" + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "el postfijo %qD debe regresar %qT" + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "%qD debe devolver por valor" + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "usando el parámetro de tipo plantilla %qT después de %qs" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "se usa especialización de plantilla %qT alias después de %qs" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "se usó el nombre de definición de tipo %qD después de %qs" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, gcc-internal-format + msgid "%qD has a previous declaration here" + msgstr "%qD tiene una declaración previa aquí" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "se refirió a %qT como %qs" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, fuzzy, gcc-internal-format + #| msgid "%q+T has a previous declaration here" + msgid "%qT has a previous declaration here" + msgstr "%q+T tiene una declaración previa aquí" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "se refirió a %qT como un enum" +@@ -58227,66 +58214,66 @@ msgstr "se refirió a %qT como un enum" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "se requiere un argumento de plantilla para %<%s %T%>" + +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "la referencia a %qD es ambigua" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, fuzzy, gcc-internal-format + #| msgid "function template %qD redeclared as a class template" + msgid "class template %qD redeclared as non-template" + msgstr "la plantilla de función %qD se redeclaró commo una plantilla de clase" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "%qD tiene el mismo nombre que la clase en la cual se declaró" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, gcc-internal-format + msgid "%qT is not a template" + msgstr "%qT no es una plantilla" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "uso del enum %q#D sin declaración previa" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "redeclaración de %qT como algo que no es plantilla" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %qD to be a bit-field type" + msgid "cannot declare %qD in a different module" + msgstr "no se puede declarar %qD que sea un tipo de campo de bits" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "union derivada %qT no válida" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, fuzzy, gcc-internal-format + #| msgid "type %qT is not a direct or virtual base of %qT" + msgid "%qT defined with direct virtual base" +@@ -58294,49 +58281,49 @@ msgstr "el tipo %qT no es una base directa o virtual de %qT" + + # No me gusta mucho esta traducción. Creo que es mejor + # "el tipo base %qT no es de tipo struct o clase". cfuga +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "el tipo base %qT falla en ser un tipo struct o clase" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "tipo recursivo %qT sin definir" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "tipo base duplicado %qT no válido" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "no coinciden scoped/unscoped en el enum %q#T" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, gcc-internal-format + msgid "previous definition here" + msgstr "la definición previa está aquí" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "no coincide el tipo subyacente en el enum %q#T" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "tipos subyacentes diferentes en el enum %q#T" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, fuzzy, gcc-internal-format + #| msgid "Option %s with different values" + msgid "cannot define %qD in different module" + msgstr "Opción %s con valores diferentes" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, fuzzy, gcc-internal-format + #| msgid "underlying type %<%T%> of %<%T%> must be an integral type" + msgid "underlying type %qT of %qT must be an integral type" +@@ -58346,89 +58333,89 @@ msgstr "el tipo subyacente %<%T%> de %<%T%> debe ser un tipo integral" + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "ningún tipo integral puede representar todos los valores de enumerador de %qT" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value for %qD is not an integer constant" + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "el valor de enumerador para %qD no es una constante entera" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "el valor de enumerador para %qD no es una constante entera" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "el valor del enumerador incrementado es demasiado grande para %" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, fuzzy, gcc-internal-format + #| msgid "incremented enumerator value is too large for %" + msgid "incremented enumerator value is too large for %" + msgstr "el valor del enumerador incrementado es demasiado grande para %" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "desbordamiento en valores de enumeración en %qD" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value %E is too large for underlying type %<%T%>" + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "el valor de enumerador %E es demasiado grande para el tipo subyacente %<%T%>" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "definición múltiple de %q#T" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "el tipo de devolución %q#T es un tipo de dato incompleto" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "% debe devolver una referencia a %<*this%>" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, fuzzy, gcc-internal-format + #| msgid "no return statement in function returning non-void" + msgid "no return statements in function returning %qT" + msgstr "no hay una declaración de devolución en la función que no devuelve void" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, fuzzy, gcc-internal-format + #| msgid "function return types not compatible due to %" + msgid "only plain % return type can be deduced to %" + msgstr "los tipos de devolución de función no son compatibles debido a %" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, fuzzy, gcc-internal-format + #| msgid "no return statement in function returning non-void" + msgid "no return statement in % function returning non-void" + msgstr "no hay una declaración de devolución en la función que no devuelve void" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "%qD ya se definió en la clase %qT" + +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, fuzzy, gcc-internal-format + #| msgid "enclosing %qs" + msgid "using %qs" + msgstr "%qs contenedora" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, fuzzy, gcc-internal-format + #| msgid "type of %qD defaults to %" + msgid "use of %qD before deduction of %" +@@ -59354,7 +59341,7 @@ msgstr "el tipo %qT no es una base directa o virtual de %qT" + msgid "type %qT is not a direct base of %qT" + msgstr "el tipo %qT no es una base directa de %qT" + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "la matriz se debe inicializar con un inicializador dentro de llaves" +@@ -60509,7 +60496,7 @@ msgstr "declaración de uso para un no miembro en el ámbito de la clase" + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "% de C++11 sólo está disponible con -std=c++11 o -std=gnu++11" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a class, namespace, or enumeration" + msgid "%qT is not a class, namespace, or enumeration" +@@ -61317,7 +61304,7 @@ msgstr "no se pueden definir tipos en una expresión %" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "número erróneo de argumentos para %<__builtin_shuffle%>" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments to %<__builtin_complex%>" + msgid "wrong number of arguments to %<__builtin_launder%>" +@@ -62098,12 +62085,12 @@ msgstr "solamente los constructores toman inicializadores miembro" + msgid "cannot expand initializer for member %qD" + msgstr "no se puede expandir el inicializador para el miembro %<%D%>" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "inicializador mem para %qD después de una delegación de constructor" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "delegación de constructor después de un inicializador mem para %qD" +@@ -62752,7 +62739,7 @@ msgstr "en el argumento de plantilla para el tipo %qT " + msgid "%qT not permitted in template argument" + msgstr "en el argumento de plantilla para el tipo %qT " + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, gcc-internal-format + msgid "invalid use of %qT" +@@ -63674,7 +63661,7 @@ msgstr "" + msgid "% clause with parameter on range-based % loop" + msgstr "la cláusula % con parámetro no se puede especificar en la construcción %qs" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, gcc-internal-format + msgid "iteration variable %qD should not be reduction" + msgstr "la variable de iteración %qD no debe ser reduction" +@@ -64769,7 +64756,7 @@ msgstr "se usa el tipo %qT que no es plantilla como una plantilla" + msgid "for template declaration %q+D" + msgstr "para la declaración de plantilla %q+D" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, fuzzy, gcc-internal-format + #| msgid "internal consistency failure" + msgid "template constraint failure for %qD" +@@ -64871,291 +64858,291 @@ msgstr "la función devuelve una matriz" + msgid "function returning a function" + msgstr "la función devuelve una función" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, gcc-internal-format + msgid "forming reference to void" + msgstr "se forma la referencia a void" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, gcc-internal-format + msgid "forming pointer to reference type %qT" + msgstr "se forma un puntero para referenciar al tipo %qT" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, gcc-internal-format + msgid "forming reference to reference type %qT" + msgstr "se forma una referencia para referenciar al tipo %qT" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare pointer to qualified function type %qT" + msgid "forming pointer to qualified function type %qT" + msgstr "no se puede declarar el puntero para el tipo de función calificado %qT" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare reference to qualified function type %qT" + msgid "forming reference to qualified function type %qT" + msgstr "no se puede declarar la referencia para el tipo de función calificado %qT" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr "se crea un puntero al miembro del tipo %qT que no es clase" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr "se crea un puntero al miembro de referencia de tipo %qT" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr "se crea un puntero al miembro de tipo void" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, gcc-internal-format + msgid "creating array of %qT" + msgstr "se crea la matriz de %qT" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "%qT no es de tipo clase, struct o union" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "%qT resuelve a %qT, el cual no es un tipo enumerado" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, fuzzy, gcc-internal-format + #| msgid "%qT resolves to %qT, which is is not a class type" + msgid "%qT resolves to %qT, which is not a class type" + msgstr "%qT resuelve a %qT, el cual no es un tipo de clase" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, gcc-internal-format + msgid "use of %qs in template" + msgstr "uso de %qs en la plantilla" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, gcc-internal-format + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "el tipo calificador %qT no coincide con el nombre del destructor ~%qT" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "el nombre dependiente %qE se decodifica como un no tipo, pero la instanciación genera un tipo" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "escriba % si quiere un tipo" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, fuzzy, gcc-internal-format + #| msgid "initializer element is not a constant expression" + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "el elemento inicializador no es una expresión constante" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, gcc-internal-format + msgid "using invalid field %qD" + msgstr "se usa el campo no válido %qD" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, gcc-internal-format + msgid "invalid use of pack expansion expression" + msgstr "uso no válido de la expresión de expansión de paquete" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, gcc-internal-format + msgid "use %<...%> to expand argument pack" + msgstr "use %<...%> para expandir el paquete de argumentos" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, fuzzy, gcc-internal-format + #| msgid "non-empty initializer for array of empty elements" + msgid "empty initializer in lambda init-capture" + msgstr "inicializador no-vacío para una matriz de elementos vacíos" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "%qD no se declaró en este ámbito, y no se encontraron declaraciones en la búsqueda dependiente de argumentos en el punto de la instanciación" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "no se encontraron declaraciones en la base dependiente %qT pur la búsqueda no calificada" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "use %%D%> en su lugar" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, gcc-internal-format + msgid "use %<%T::%D%> instead" + msgstr "use %<%T::%D%> en su lugar" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here, later in the translation unit" + msgid "%qD declared here, later in the translation unit" + msgstr "%q+D se declaró aquí, después en la unidad de translación" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments to %<__builtin_choose_expr%>" + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "número erróneo de argumentos para %<__builtin_choose_expr%>" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for %qE attribute" + msgid "wrong number of arguments to % attribute" + msgstr "se especificó el número equivocado de argumentos para el atributo %qE" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "%qT no es una clase o un espacio de nombres" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "%qD no es una clase o un espacio de nombres" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, fuzzy, gcc-internal-format + #| msgid "%qT is/uses anonymous type" + msgid "%qT is/uses unnamed type" + msgstr "%qT es/usa un tipo anónimo" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, gcc-internal-format + msgid "template argument for %qD uses local type %qT" + msgstr "el argumento de plantilla para %qD usa el tipo local %qT" + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "%qT es un tipo modificado variablemente" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "la expresión integral %qE no es una constante" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr " se trata de instanciar %qD" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, fuzzy, gcc-internal-format + #| msgid "ambiguous class template instantiation for %q#T" + msgid "ambiguous template instantiation for %q#T" + msgstr "instanciación de plantilla clase ambigua para %q#T" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, fuzzy, gcc-internal-format + #| msgid "ambiguous class template instantiation for %q#T" + msgid "ambiguous template instantiation for %q#D" + msgstr "instanciación de plantilla clase ambigua para %q#T" + +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + #, fuzzy + #| msgid "%s %+#D" + msgid "%s %#qS" + msgstr "%s %+#D" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "instanciación explícita de %q#D que no es plantilla" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, fuzzy, gcc-internal-format + #| msgid "partial specialization of alias template %qD" + msgid "explicit instantiation of variable concept %q#D" + msgstr "especialización parcial de la plantilla alias %qD" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, fuzzy, gcc-internal-format + #| msgid "explicit specialization of non-template %qT" + msgid "explicit instantiation of function concept %q#D" + msgstr "instanciación explícita de %qT que no es plantilla" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, gcc-internal-format + msgid "%qD is not a static data member of a class template" + msgstr "%qD no es un dato miembro static de una plantilla de clase" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "no se encontró una plantilla coincidente para %qD" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, gcc-internal-format + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "el tipo %qT para la instanciación explícita %qD no coincide con el tipo declarado %qT" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "instanciación explícita de %q#D" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "instanciación explícita duplicada de %q#D" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, gcc-internal-format + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "ISO C++ 1998 prohíbe el uso de % en instanciaciones explícitas" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "clase de almacenamiento %qD aplicada a la instanciación de una plantilla" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, gcc-internal-format + msgid "explicit instantiation of non-class template %qD" + msgstr "instanciación explícita de la plantilla %qD que no es clase" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "instanciación explícita del tipo %qT que no es plantilla" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "instanciación explícita de %q#T antes de la definición de la plantilla" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "ISO C++ prohíbe el uso de %qE en las instanciaciones explícitas" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "instanciación explícita duplicada de %q#T" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, fuzzy, gcc-internal-format + #| msgid "explicit specialization of %qD after first use" + msgid "exception specification of %qD depends on itself" +@@ -65168,185 +65155,185 @@ msgstr "especialización explícita de %qD después del primer uso" + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "instanciación explícita de %qD pero no hay una definición disponible" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, fuzzy, gcc-internal-format + #| msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)" + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "la profundidad de instanciación de la plantilla excede el máximo de %d al instanciar %q+D, posiblemente de la generación de tabla virtual (use -ftemplate-depth= para incrementar el máximo)" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, fuzzy, gcc-internal-format + #| msgid "variadic templates only available with -std=c++11 or -std=gnu++11" + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "las plantillas variadic sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, fuzzy, gcc-internal-format + #| msgid "%q#T is not a valid type for a template non-type parameter" + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "%q#T no es un tipo válido para un parámetro que no es tipo plantilla" + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, fuzzy, gcc-internal-format + #| msgid "variadic templates only available with -std=c++11 or -std=gnu++11" + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "las plantillas variadic sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, gcc-internal-format + msgid "invalid template non-type parameter" + msgstr "parámetro que no es tipo plantilla no válido" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, gcc-internal-format + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "%q#T no es un tipo válido para un parámetro que no es tipo plantilla" + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, fuzzy, gcc-internal-format + #| msgid "keyword % not allowed outside of templates" + msgid "keyword % not allowed in declarator-id" + msgstr "no se permite la palabra clave % fuera de las plantillas" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, fuzzy, gcc-internal-format + #| msgid "constructor cannot be static member function" + msgid "a concept cannot be constrained" + msgstr "el constructor no puede ser una función miembro de tipo static" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, fuzzy, gcc-internal-format + #| msgid "%qT is not a namespace" + msgid "concept %qE not in namespace scope" + msgstr "%qT no es un espacio de nombres" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, fuzzy, gcc-internal-format + #| msgid "definition of %q#T inside template parameter list" + msgid "concept %qE has multiple template parameter lists" + msgstr "la definición de %q#T dentro de la lista de parámetros de plantilla" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, fuzzy, gcc-internal-format + #| msgid "deducing from brace-enclosed initializer list requires #include " + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "la deducción de una lista inicializadora encerrada entre llaves requiere #include " + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, fuzzy, gcc-internal-format + #| msgid "non-template %qD used as template" + msgid "non-deducible template %qT used without template arguments" + msgstr "se usó %qD que no es plantilla como plantilla" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, fuzzy, gcc-internal-format + #| msgid "variadic templates only available with -std=c++11 or -std=gnu++11" + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "las plantillas variadic sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, fuzzy, gcc-internal-format + #| msgid "try using %qE instead" + msgid "use %qD directly instead" + msgstr "intente utilizar %qE en su lugar" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, fuzzy, gcc-internal-format + #| msgid "in template argument for type %qT " + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "en el argumento de plantilla para el tipo %qT " + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, fuzzy, gcc-internal-format + #| msgid " template argument deduction/substitution failed:" + msgid "class template argument deduction failed:" + msgstr " falló la deducción/sustitución del argumento de plantilla:" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, fuzzy, gcc-internal-format + #| msgid "function not considered for inlining" + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "la función no se consideró para la inclusión en línea" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, fuzzy, gcc-internal-format + #| msgid " template argument deduction/substitution failed:" + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr " falló la deducción/sustitución del argumento de plantilla:" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, fuzzy, gcc-internal-format + #| msgid "in a call to function %qD declared here" + msgid "explicit deduction guide declared here" + msgstr "en una llamada a la función %qD declarada aquí" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, fuzzy, gcc-internal-format + #| msgid " template argument deduction/substitution failed:" + msgid "%qT may not intend to support class template argument deduction" + msgstr " falló la deducción/sustitución del argumento de plantilla:" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, fuzzy, gcc-internal-format + #| msgid "unable to deduce %qT from %qE" + msgid "unable to deduce lambda return type from %qE" + msgstr "no se puede deducir %qT de %qE" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, gcc-internal-format + msgid "unable to deduce %qT from %qE" + msgstr "no se puede deducir %qT de %qE" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "la insn no satisface sus restricciones:" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "la insn no satisface sus restricciones:" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "la insn no satisface sus restricciones:" + +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of '%E' as a non-type template-argument" + msgid "invalid use of %qT in template argument" +@@ -65692,7 +65679,7 @@ msgstr "especificación de clase base no válida" + msgid "cannot capture member %qD of anonymous union" + msgstr "miembro protegido %q+#D en union anónima" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, gcc-internal-format + msgid "%qD is not captured" + msgstr "%qD no se capturó" +@@ -66147,30 +66134,30 @@ msgstr "se llamó a %<__builtin_next_arg%> sin un argumento" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a template" + msgid "%qD is not a class or alias template" + msgstr "%qE no es una plantilla" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, fuzzy, gcc-internal-format + #| msgid "third operand of conditional expression has no effect" + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "el tercer operando de la expresión condicional no tiene efecto" + +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, fuzzy, gcc-internal-format + #| msgid "template argument %qE involves template parameter(s)" + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "el argumento de plantilla %qE involucra a el(los) parámetro(s) de plantilla" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, fuzzy, gcc-internal-format + #| msgid "unsupported argument to %<__builtin_return_address%>" + msgid "non-pointer argument to %<__builtin_launder%>" +@@ -66179,22 +66166,22 @@ msgstr "argumento no admitido para %<__builtin_return_address%>" + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "" +@@ -67539,240 +67526,240 @@ msgstr "declaración adelantada de %q+#T" + msgid "declaration of %q#T" + msgstr "la declaración de %q+#T" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, fuzzy, gcc-internal-format + #| msgid "%q#D has incomplete type" + msgid "%qD has incomplete type" + msgstr "%q#D tiene un tipo incompleto" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, gcc-internal-format + msgid "invalid use of incomplete type %q#T" + msgstr "uso no válido del tipo incompleto %q#T" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of member function (did you forget the %<()%> ?)" + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "uso no válido de la función miembro (¿Olvidó el %<&%>?)" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of member (did you forget the %<&%> ?)" + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "uso no válido del miembro (¿Olvidó el %<&%>?)" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %qT" + msgid "invalid use of placeholder %qT" + msgstr "uso no válido de %qT" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, gcc-internal-format + msgid "invalid use of template type parameter %qT" + msgstr "uso no válido del parámetro de tipo plantilla %qT" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, gcc-internal-format + msgid "invalid use of template template parameter %qT" + msgstr "uso no válido del parámetro de plantilla plantilla %qT" + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of pack expansion expression" + msgid "invalid use of pack expansion %qT" + msgstr "uso no válido de la expresión de expansión de paquete" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, gcc-internal-format + msgid "invalid use of dependent type %qT" + msgstr "uso no válido del tipo dependiente %qT" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, gcc-internal-format + msgid "invalid use of brace-enclosed initializer list" + msgstr "uso no válido de la lista del inicializador dentro de llaves" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "dirección de la función sobrecargada sin información contextual de tipo" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "función sobrecargada sin información contextual de tipo" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "información contextual insuficiente para determinar el tipo" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "se usó la sintaxis de constructor, pero no se declaró un constructor para el tipo %qT" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, fuzzy, gcc-internal-format + #| msgid "constexpr static data member %qD must have an initializer" + msgid "% variable %qD does not have a constant initializer" + msgstr "el miembro dato static constexpr %qD debe tener un inicializador" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + #, fuzzy + #| msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11" + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "la conversión estrechadora de %qE desde %qT a %qT dentro de { } está mal formada en C++11" + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + #, fuzzy + #| msgid "narrowing conversion of %qE from %qT to %qT inside { }" + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "conversión estrechadora de %qE desde %qT a %qT dentro de { }" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, fuzzy, gcc-internal-format + #| msgid "expression in static assertion is not an integer constant expression" + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr "la expresión en la aserción static no es una expresión constante entera" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, fuzzy, gcc-internal-format + #| msgid "initializer-string for array of chars is too long" + msgid "initializer-string for %qT is too long" + msgstr "la cadena del inicializador para la matriz de caracteres es demasiado larga" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, fuzzy, gcc-internal-format + #| msgid "braces around scalar initializer" + msgid "remove %<{ }%> around initializer" + msgstr "llaves alrededor del inicializador escalar" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "no se puede inicializar el agregado del tipo %qT con una literal compuesta" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "falta el inicializador para el miembro %qD" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "el miembro %qD es una referencia sin inicializar" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, fuzzy, gcc-internal-format + #| msgid "member %qD is uninitialized reference" + msgid "member %qD with uninitialized reference fields" + msgstr "el miembro %qD es una referencia sin inicializar" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, fuzzy, gcc-internal-format + #| msgid "type of %qD does not match original declaration" + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "el tipo de %qD no coincide con la declaración original" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "no existe el campo %qD en la union que se está inicializando" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "valor de índice en lugar del nombre del campo en el inicializador de union" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "se detectó una delegación de puntero circular" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, gcc-internal-format + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "el operando base de %<->%> tiene el tipo %qT que no es puntero" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr "el resultado de %()%> produce un resultado que no es puntero" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "el operando base de %<->%> no es un puntero" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "no se puede usar %qE como un puntero miembro, porque es de tipo %qT" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, gcc-internal-format + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "no se puede aplicar el puntero a miembro %qE a %qE, el cual es del tipo %qT que no es clase" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "el tipo de puntero a miembro %qT es incompatible con el tipo objeto %qT" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, fuzzy, gcc-internal-format + #| msgid "pointer to member function used in arithmetic" + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "se usó un puntero a una función miembro en la aritmética" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, fuzzy, gcc-internal-format + #| msgid "pointer to member function used in arithmetic" + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "se usó un puntero a una función miembro en la aritmética" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, fuzzy, gcc-internal-format + #| msgid "pointer to member function used in arithmetic" + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "se usó un puntero a una función miembro en la aritmética" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, gcc-internal-format + msgid "functional cast to array type %qT" + msgstr "conversión funcional al tipo de matriz %qT" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, fuzzy, gcc-internal-format + #| msgid "constructor cannot be static member function" + msgid "% cannot be constrained" + msgstr "el constructor no puede ser una función miembro de tipo static" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, fuzzy, gcc-internal-format + #| msgid "C++0x auto only available with -std=c++11 or -std=gnu++11" + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "C++0x automático sólo está disponible con -std=c++11 o -std=gnu++11" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, gcc-internal-format + msgid "invalid value-initialization of reference type" + msgstr "inicialización por valor no válida del tipo de referencia" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "llamada a la función %qD la cual arroja el tipo incompleto %q#T" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "llamada a una función la cual arroja el tipo incompleto %q#T" +@@ -68812,7 +68799,7 @@ msgstr "La lista de nombres %s no se puede renombrar por asociación de USE a %s + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "'I' en %L y 'J' en %L no pueden ser constantes literal BOZ al mismo tiempo" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid suffix on integer constant" + msgid "Invalid use of BOZ literal constant at %L" +@@ -70064,12 +70051,12 @@ msgstr "" + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "Se truncó la cadena de inicialización que inicia en %L para coincidir con la variable (%d%d)" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "El índice de inicio de la subcadena en %L es menor a uno" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "El índice de final de la subcadena en %L excede la longitud de la cadena" +@@ -70273,7 +70260,7 @@ msgstr "Especificación INTENT errónea en %C" + msgid "deferred type parameter at %C" + msgstr "Fortran 2003: parámetro de tipo diferido en %C" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "" +@@ -72499,7 +72486,7 @@ msgstr "no se permite el intrínseco transformacional '%s' en %L en una expresi + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "Extensión: Evaluación de una expresión de inicialización no estándar en %L" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' in initialization expression at %L must be an intrinsic function" + msgid "Function %qs in initialization expression at %L must be an intrinsic function" +@@ -72807,7 +72794,7 @@ msgstr "No coincide la interfaz en la asignación de puntero a procedimiento en + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "Se requiere NOPASS o una interfaz explícita en %C" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, fuzzy, gcc-internal-format + #| msgid "NOPASS or explicit interface required at %C" + msgid "Explicit interface required for %qs at %L: %s" +@@ -72931,7 +72918,7 @@ msgstr "" + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "La expresión objetivo en la asignación de puntero en %L debe entregar un resultado puntero" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Pointer initialization target at %L must not be ALLOCATABLE " + msgid "Pointer initialization target at %L must not be ALLOCATABLE" +@@ -72943,7 +72930,7 @@ msgstr "El objetivo de inicialización de puntero en %L no debe ser ALLOCATABLE" + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "El objetivo de inicialización de puntero en %C debe tener el atributo TARGET" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must have the SAVE attribute" + msgstr "El objetivo de inicialización de puntero en %L debe tener el atributo SAVE" +@@ -73092,7 +73079,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, gcc-internal-format, gfc-internal-format + msgid "Creating array temporary at %L" +@@ -73331,12 +73318,12 @@ msgstr "El primer argumento de la asignación definida en %L debe ser INTENT(OUT + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "El segundo argumento de la asignación definida en %L debe ser INTENT(IN)" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "El primer argumento de la interfaz de operador en %L debe ser INTENT(IN)" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "El segundo argumento de la interfaz de operador en %L debe ser INTENT(IN)" +@@ -73461,659 +73448,659 @@ msgstr "No coincide el rango en el argumento '%s' en %L (rango %d y escalar)" + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "No coincide el rango en el argumento '%s' en %L (rango %d y rango %d)" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid procedure argument at %L" + msgstr "Argumento de procedimiento no válido en %L" + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, fuzzy, gcc-internal-format + #| msgid "Interface mismatch in dummy procedure '%s' at %L: %s" + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "La interfaz no coincide en el procedimiento dummy '%s' en %L: %s" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument to contiguous pointer dummy '%s' at %L must be simply contigous" + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "El argumento actual para el puntero dummy contiguo '%s' en %L debe ser simplemente contiguo" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "INTENT(%s) actual argument at %L might interfere with actual argument at %L." + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "El argumento actual INTENT(%s) en %L puede interferir con el argumento actual en %L." + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, fuzzy, gcc-internal-format + #| msgid "Type mismatch in argument '%s' at %L; passed %s to %s" + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr "No coincide el tipo en el argumento '%s' en %L; se pasa %s a %s" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, fuzzy, gcc-internal-format + #| msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute" + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "El argumento actual de forma asumida en %L es incompatible con el argumento dummy de forma no asumida '%s' debido al atributo VOLATILE" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, fuzzy, gcc-internal-format + #| msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute" + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "El argumento actual de forma asumida en %L es incompatible con el argumento dummy de forma no asumida '%s' debido al atributo VOLATILE" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument to '%s' at %L must be polymorphic" + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "El argumento actual para '%s' en %L debe ser polimórfico" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument to '%s' at %L must have the same declared type" + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "El argumento actual para '%s' en %L debe tener el mismo tipo declarado" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument to '%s' at %L must be a coarray" + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "El argumento actual para '%s' en %L debe ser una comatriz" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, fuzzy, gcc-internal-format + #| msgid "Corank mismatch in argument '%s' at %L (%d and %d)" + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "No coincide el corango en el argumento '%s' en %L (%d y %d)" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument to '%s' at %L must be simply contiguous" + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "El argumento actual para '%s' en %L debe ser simplemente contiguo" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument to non-INTENT(INOUT) dummy '%s' at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "Argumento actual para el dummy que no es INTENT(OUT) '%s' en %L, el cual es LOCK_TYPE o tiene un componente LOCK_TYPE" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument to non-INTENT(INOUT) dummy '%s' at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "Argumento actual para el dummy que no es INTENT(OUT) '%s' en %L, el cual es LOCK_TYPE o tiene un componente LOCK_TYPE" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' has to be a pointer or assumed-shape array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "El argumento dummy '%s' tiene que ser un puntero o una matriz de tamaño asumida sin atributo CONTIGUOUS - porque el argumento actual en %L no es simplemente contiguo y ambos son ASYNCHRONOUS o VOLATILE" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, fuzzy, gcc-internal-format + #| msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument '%s'" + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "Se pasa una comatriz en %L al argumento dummy INTENT(OUT) '%s', que no es comatriz, alojable" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, fuzzy, gcc-internal-format + #| msgid "Passing coarray at %L to allocatable, noncoarray dummy argument '%s', which is invalid if the allocation status is modified" + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "Se pasa una comatriz en %L al argumento dummy '%s' que no es comatriz, el cual es no válido si se modifica el estado de alojamiento" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, fuzzy, gcc-internal-format + #| msgid "Polymorphic scalar passed to array dummy argument '%s' at %L" + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "Se pasó un escalar polimórfico al argumento dummy de matriz '%s' en %L" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Element of assumed-shaped or pointer array passed to array dummy argument '%s' at %L" + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "Se pasó un elemento de forma asumida o puntero a matriz al argumento dummy de matriz '%s' en %L" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, fuzzy, gcc-internal-format + #| msgid "Element of assumed-shaped or pointer array passed to array dummy argument '%s' at %L" + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "Se pasó un elemento de forma asumida o puntero a matriz al argumento dummy de matriz '%s' en %L" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, fuzzy, gcc-internal-format + #| msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument '%s' at %L" + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "Extensión: Argumento actual CHARACTER de género diferente a C_CHAR, sin género por defecto escalar con argumento dummy de matriz '%s' en %L" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L" + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "Fortran 2003: Argumento actual CHARACTER escalar con argumento dummy de matriz '%s' en %L" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "El argumento de palabra clave '%s' en %L no está en el procedimiento" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "El argumento de palabra clave '%s' en %L no está en el procedimiento" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "El argumento de palabra clave '%s' en %L no está en el procedimiento" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is already associated with another actual argument" + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "El argumento de palabra clave '%s' en %L ya está asociado con otro argumento actual" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "Más argumentos actuales que formales en la llamada a procedimento en %L" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Missing alternate return spec in subroutine call at %L" + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "Falta la especificación de devolución alternativa en la llamada a subrutina en %L" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Unexpected alternate return spec in subroutine call at %L" + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "Especificación de devolución alternativa inesperada en la llamada a subrutina en %L" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected NULL() intrinsic at %L to dummy '%s'" + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "Intrínseco NULL inesperado en %L para el dummy '%s'" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2008: Null pointer at %L to non-pointer dummy '%s'" + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "Fortran 2008: Puntero nulo en %L a un dummy '%s' que no es puntero" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, gcc-internal-format, gfc-internal-format + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, fuzzy, gcc-internal-format + #| msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L" + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "No coincide la longitud de carácter (%ld/%ld) entre el argumento actual y el argumento dummy puntero o alojable '%s' en %L" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, fuzzy, gcc-internal-format + #| msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L" + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "No coincide la longitud de carácter (%ld/%ld) entre el argumento actual y el argumento dummy de forma asumida '%s' en %L" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument at %L to allocatable or pointer dummy argument '%s' must have a deferred length type parameter if and only if the dummy has one" + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "El argumento actual en %L para el argumento alojable o dummy puntero '%s' debe tener un parámetro de tipo de longitud diferido si y sólo si el dummy tiene uno" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, fuzzy, gcc-internal-format + #| msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L" + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "La longitud del carácter del argumento actual es más corta que la del argumento dummy '%s' (%lu/%lu) en %L" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L" + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "El argumento actual contiene muy pocos elementos para el argumento dummy '%s' (%lu/%lu) en %L" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, fuzzy, gcc-internal-format + #| msgid "Expected a procedure pointer for argument '%s' at %L" + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "Se esperaba un puntero procedimiento para el argumento '%s' en %L" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, fuzzy, gcc-internal-format + #| msgid "Expected a procedure for argument '%s' at %L" + msgid "Expected a procedure for argument %qs at %L" + msgstr "Falta un procedimiento para el argumento '%s' en %L" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' cannot be an assumed-size array at %L" + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "El argumento actual para '%s' no puede ser una matriz de tamaño asumido en %L" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument to non-INTENT(INOUT) dummy '%s' at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "Argumento actual para el dummy que no es INTENT(OUT) '%s' en %L, el cual es LOCK_TYPE o tiene un componente LOCK_TYPE" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "El argumento actual para '%s' debe ser un puntero en %L" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy '%s'" + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "Fortran 2008: El argumento actual que no es puntero en %L para el puntero dummy '%s'" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument to '%s' at %L must be a coarray and thus shall not have an array designator" + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "El argumento actuar para '%s' en %L debe ser una comatriz y por lo tanto no debe tener un designador de matriz" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, fuzzy, gcc-internal-format + #| msgid "Coindexed actual argument at %L to pointer dummy '%s'" + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "Argumento actual coindizado en %L para el puntero dummy '%s'" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, fuzzy, gcc-internal-format + #| msgid "Coindexed actual argument at %L to allocatable dummy '%s' requires INTENT(IN)" + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "El argumento actual coindizado en %L para el dummy alojable '%s' requiere INTENT(IN)" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, fuzzy, gcc-internal-format + #| msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy '%s' has neither ASYNCHRONOUS nor VOLATILE" + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "El argumento actual coindizado ASYNCHRONOUS o VOLATILE en %L requiere que el dummy '%s' no tenga ASYNCHRONOUS ni VOLATILE" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, fuzzy, gcc-internal-format + #| msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy '%s' requires either VALUE or INTENT(IN)" + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "El argumento actual coindizado en %L con componente último alojable para el dummy '%s' requiere uno de VALUE o INTENT(IN)" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, fuzzy, gcc-internal-format + #| msgid "Actual CLASS array argument for '%s' must be a full array at %L" + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "El argumento de la matriz CLASS actual para '%s' debe ser una matriz completa en %L" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be ALLOCATABLE at %L" + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "El argumento actual para '%s' debe ser ALLOCATABLE en %L" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, fuzzy, gcc-internal-format + #| msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument '%s'" + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "El argumento actual de sección de matriz con subíndices vectoriales en %L es incompatible con el atributo INTENT(OUT), INTENT(INOUT), VOLATILE o ASYNCHRONOUS del argumento dummy '%s'" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, fuzzy, gcc-internal-format + #| msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute" + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "El argumento actual de forma asumida en %L es incompatible con el argumento dummy de forma no asumida '%s' debido al atributo VOLATILE" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, fuzzy, gcc-internal-format + #| msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute" + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "El argumento actual de sección de matriz en %L es incompatible con el argumento dummy de forma no asumida '%s' debido al atributo VOLATILE" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, fuzzy, gcc-internal-format + #| msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute" + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "El argumento actual de matriz de puntero en %L requiere un argumento dummy de forma asumida o matriz de puntero '%s' debido al atributo VOLATILE" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "Falta la especificación de devolución alternativa en la llamada a subrutina en %L" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, fuzzy, gcc-internal-format + #| msgid "Missing actual argument for argument '%s' at %L" + msgid "Missing actual argument for argument %qs at %L" + msgstr "Falta el argumento actual para el argumento '%s' en %L" + +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr "" + +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, fuzzy, gcc-internal-format + #| msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L" + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "El mismo argumento actual está asociado con el argumento INTENT(%s) '%s' y el argumento INTENT(%s) '%s' en %L" + +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "El argumento del procedimiento en %L es local a un procedimiento PURE y tiene el atributo POINTER" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "El argumento coindizado en %L en un procedimiento PURE se pasa a un argumento INTENT(%s)" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "El argumento actual coindizado en %L es un procedimiento PURE se pasa a un argumento dummy POINTER" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, fuzzy, gcc-internal-format + #| msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument '%s'" + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "El argumento actual polimórfico coindizado en %L se pasa al argumento dummy polimórfico '%s'" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called at %L is not explicitly declared" + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "El procedimiento '%s' que se llama en %L no tiene una interfaz explícita" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called at %L is not explicitly declared" + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "El procedimiento '%s' que se llama en %L no tiene una interfaz explícita" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "Se llamó al procedimiento '%s' con una interfaz implícita en %L" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, fuzzy, gcc-internal-format + #| msgid "The pointer object '%s' at %L must have an explicit function interface or be declared as array" + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "El objeto puntero '%s' en %L debe tener una interfaz de función explícita o declrararse como matriz" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, fuzzy, gcc-internal-format + #| msgid "The allocatable object '%s' at %L must have an explicit function interface or be declared as array" + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "El objeto allocatable '%s' en %L debe tener una interfaz de función explícita o declararse como matriz" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, fuzzy, gcc-internal-format + #| msgid "Allocatable function '%s' at %L must have an explicit function interface" + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "La función allocatable '%s' en %L debe tener una interfaz de función explícita" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "NOPASS or explicit interface required at %C" + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "Se requiere NOPASS o una interfaz explícita en %C" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument requires explicit interface for procedure '%s' at %L" + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "El argumento de palabra clave requiere una interfaz explícita para el procedimiento '%s' en %L" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Symbol '%s' at %L already has an explicit interface" + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "El símbolo '%s' en %L ya tenía una interfaz explícita" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure '%s'" + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "El argumento actual de LOCK_TYPE o con componente LOCK_TYPE en %L requiere una interfaz explícita para el procedimiento '%s'" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure '%s'" + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "El argumento actual de LOCK_TYPE o con componente LOCK_TYPE en %L requiere una interfaz explícita para el procedimiento '%s'" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD argument to NULL required at %L" + msgstr "se requiere el argumento MOLD para NULL en %L" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Symbol '%s' at %L already has an explicit interface" + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "El símbolo '%s' en %L ya tenía una interfaz explícita" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Keyword argument requires explicit interface for procedure '%s' at %L" + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "El argumento de palabra clave requiere una interfaz explícita para el procedimiento '%s' en %L" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, fuzzy, gcc-internal-format + #| msgid "Procedure pointer component '%s' called with an implicit interface at %L" + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "Se llamó al procedimiento de componente puntero '%s' con una interfaz implícita en %L" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument requires explicit interface for procedure pointer component '%s' at %L" + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "El argumento de palabra clave requiere una interfaz explícita para el procedimiento de componente puntero '%s' en %L" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "Se require MOLD= en un argumento NULL en %L: Ambigüedad entre las funciones específicas %s y %s " + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, fuzzy, gcc-internal-format + #| msgid "%q+D aliased to undefined symbol %qE" + msgid "Unable to find symbol %qs" + msgstr "%q+D es un alias del símbolo sin definir %qE" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, fuzzy, gcc-internal-format + #| msgid "Entity '%s' at %C is already present in the interface" + msgid "Entity %qs at %L is already present in the interface" + msgstr "La entidad '%s' en %C ya está presente en la interfaz" + +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, fuzzy, gcc-internal-format + #| msgid "internal error - too many interface type" + msgid "gfc_add_interface(): Bad interface type" + msgstr "error interno - demasiados tipos de interfaz" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, fuzzy, gcc-internal-format + #| msgid "Can't overwrite GENERIC '%s' at %L" + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "No se puede sobreescribir el GENERIC '%s' en %L" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "'%s' en %L sobreescribe un enlace de procedimiento declarad como NON_OVERRIDABLE" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "'%s' en %L no debe ser DEFERRED porque sobreescribe un enlazado que no es DEFERRED" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a PURE procedure and must also be PURE" + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "'%s' en %L sobreescribe un procedimiento PURE y también debe ser PURE" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "'%s' en %L sobreescribe un procedimiento ELEMENTAL y también debe ser ELEMENTAL" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "'%s' en %L sobreeescribe un procedimiento que no es ELEMENTAL y tampoco debe ser ELEMENTAL" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "'%s' en %L sobreescribe una SUBROUTINE y también debe ser una SUBROUTINE" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a FUNCTION and must also be a FUNCTION" + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "'%s' en %L sobreescribe una FUNCTION y también debe ser una FUNCTION" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, fuzzy, gcc-internal-format + #| msgid "Argument mismatch for the overriding procedure '%s' at %L: %s" + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "La interfaz no coincide en el procedimiento '%s' que sobreescribe en %L: %s" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "'%s' en %L sobreescribe un procedimiento PUBLIC y no debe ser PRIVATE" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' of '%s' at %L should be named '%s' as to match the corresponding argument of the overridden procedure" + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "El argumento dummy '%s' de '%s' en %L se debe llamar '%s' para que coincida con el argumento correspondiente al procedimiento sobreescrito" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, fuzzy, gcc-internal-format + #| msgid "Argument mismatch for the overriding procedure '%s' at %L: %s" + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "La interfaz no coincide en el procedimiento '%s' que sobreescribe en %L: %s" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L must have the same number of formal arguments as the overridden procedure" + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "'%s' en %L debe tener el mismo nombre de argumentos formales que el procedimiento sobreeescrito" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a NOPASS binding and must also be NOPASS" + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "'%s' en %L sobreescribe un enlace NOPASS y también debe ser NOPASS" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a binding with PASS and must also be PASS" + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "'%s' en %L sobreescribe un enlace con PASS y también debe ser PASS" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, fuzzy, gcc-internal-format + #| msgid "Passed-object dummy argument of '%s' at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "El argumento dummy del objeto pasado de '%s' en %L debe estar en la misma posición que el argumento dummy del objeto pasado del procedimiento sobreescrito" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s tag at %L must be of type %s" + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "La etiqueta %s en %L debe ser de tipo %s" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument dim at %L must be of INTEGER type" + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "El argumento dim en %L debe ser de tipo entero" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Passed-object dummy argument of '%s' at %L must be scalar" + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "El argumento dummy de objeto pasado de '%s' en %L debe ser escalar" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument of %s at %L must be of length one" + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "El argumento %s en %L debe ser de longitud uno" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Character-valued %s '%s' at %L must not be assumed length" + msgid "DTIO character argument at %L must have assumed length" + msgstr "La función %s valuada con carácter '%s' en %L no debe tener longitud asumida" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "El argumento actual para '%s' debe ser un puntero en %L" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "DATA statement at %C is not allowed in a PURE procedure" + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "No se permite la declaración DATA en %C en un procedimiento PURE" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, fuzzy, gcc-internal-format + #| msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface" + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "El procedimiento ELEMENTAL '%s' en %L debe tener una interfaz explícita" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, fuzzy, gcc-internal-format + #| msgid "too few arguments to procedure `%s'" + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "faltan argumentos para el procedimiento `%s'" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to procedure `%s'" + msgid "Too many dummy arguments in DTIO procedure %qs at %L" +@@ -74324,7 +74311,7 @@ msgstr "Conversión de %s a %s en %L" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Can't convert %s to %s at %L" + msgid "Cannot convert %s to %s at %L" +@@ -74941,7 +74928,7 @@ msgstr "NAMELIST '%s' en la declaración READ en %L contiene el símbolo '%s' el + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "El objeto NAMELIST '%s' en la lista de nombres '%s' en %L es polimórfico y requiere un procedimiento de entrada/salida definido" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components" + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" +@@ -75567,7 +75554,7 @@ msgstr "El código STOP en %L debe ser un carácter por defecto KIND=%d" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "El código STOP en %L debe ser un entero por defecto KIND=%d" + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASYNCHRONOUS= specifier at %L must be an initialization expression" + msgid "QUIET specifier at %L must be a scalar LOGICAL" +@@ -77613,8 +77600,8 @@ msgstr "" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "la cláusula % no debe utilizarse junto con %" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "La cláusula IF en %L requiere una expresión LOGICAL escalar" +@@ -79806,614 +79793,602 @@ msgstr "La función %s valuada con carácter '%s' en %L no debe tener longitud a + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "La función %s valuada con carácter '%s' en %L no debe tener longitud asumida" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "El procedimiento %s en %L tiene entradas con especificaciones de matriz no coincidentes" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Function %s at %L has entries with mismatched array specifications" + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "El procedimiento %s en %L tiene entradas con especificaciones de matriz no coincidentes" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Extension: Function %s at %L with entries returning variables of different string lengths" + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "Extensión: La función %s en %L con entradas que devuelven variables de longitudes de cadena diferentes" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "El resultado de FUNCTION %s no puede ser una matriz en FUNCTION %s en %L" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be an array in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "El resultado de ENTRY %s no puede ser una matriz en FUNCTION %s en %L" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "El resultado de FUNCTION %s no puede ser un POINTER en FUNCTION %s en %L" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "El resultado de ENTRY %s no puede ser un POINTER en FUNCTION %s en %L" + +-#: fortran/resolve.cc:881 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L" +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "El resultado de FUNCTION %s no puede ser un POINTER en FUNCTION %s en %L" +- +-#: fortran/resolve.cc:885 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L" +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "El resultado de ENTRY %s no puede ser un POINTER en FUNCTION %s en %L" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "El resultado de FUNCTION %s no puede ser de tipo %s en FUNCTION %s en %L" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "El resultado de ENTRY %s no puede ser de tipo %s en FUNCTION %s en %L" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, fuzzy, gcc-internal-format + #| msgid "Symbol '%s' at %C is already in a COMMON block" + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "El símbolo '%s' en %C ya está en un bloque COMMON" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, fuzzy, gcc-internal-format + #| msgid "Symbol '%s' at %C is already in a COMMON block" + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "El símbolo '%s' en %C ya está en un bloque COMMON" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "COMMON block /%s/ not found at %C" + msgid "COMMON block at %L" + msgstr "No se encontró el bloque COMMON /%s/ en %C" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "La variable '%s' en %L está en COMMON pero sólo se permite la inicialización en BLOCK DATA" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, fuzzy, gcc-internal-format + #| msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "La variable inicializada '%s' en %L está en un COMMON vacío pero la inicialización sólo se permite en bloques common nombrados" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, gcc-internal-format + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "La variable de tipo derivado '%s' en COMMON en %L no tiene el atributo SEQUENCE ni el atributo BIND(C)" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable" + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "La variable de tipo derivado '%s' en COMMON en %L tiene un componente ultimate que es allocatable" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' in COMMON at %L may not have default initializer" + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "La variable de tipo derivado '%s' en COMMON en %L tal vez no tiene inicializador por defecto" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, fuzzy, gcc-internal-format + #| msgid "COMMON block '%s' at %L is used as PARAMETER at %L" + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "El bloque COMMON '%s' en %L se usa como PARAMETER en %L" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, fuzzy, gcc-internal-format + #| msgid "Binding label '%s' at %L collides with the global entity '%s' at %L" + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "La etiqueta enlazante '%s' en %L colisiona con la entidad global '%s' en %L" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, fuzzy, gcc-internal-format + #| msgid "COMMON block '%s' at %L is used as PARAMETER at %L" + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "El bloque COMMON '%s' en %L se usa como PARAMETER en %L" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, fuzzy, gcc-internal-format + #| msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute" + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "El bloque COMMON '%s' en %L no puede tener el atributo EXTERNAL" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, fuzzy, gcc-internal-format + #| msgid "COMMON block '%s' at %L is also an intrinsic procedure" + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "El bloque COMMON '%s' en %L también es un procedimiento intrínseco" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result" + msgid "COMMON block %qs at %L that is also a function result" + msgstr "Fortran 2003: El bloque COMMON '%s' en %L también es un resultado de función" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure" + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "Fortran 2003: El bloque COMMON '%s' en %L también es un procedimiento global" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, gcc-internal-format, gfc-internal-format + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "El rango del elemento en el constructor de estructura en %L no coincide con el del componente (%d/%d)" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, fuzzy, gcc-internal-format + #| msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s" + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "El elemento en el constructor de estructura en %L, para el componente puntero '%s', es %s pero debería ser %s" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, fuzzy, gcc-internal-format + #| msgid "Unequal character lengths (%ld/%ld) in %s at %L" + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "Longitudes de caracteres desiguales (%ld/%ld) en %s en %L" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, fuzzy, gcc-internal-format + #| msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE" + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "El NULL en el constructor de estructura en %L se aplica para el componente '%s', el cual no es ni POINTER ni ALLOCATABLE" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, fuzzy, gcc-internal-format + #| msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s" + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "No coincide la interfaz en el componente puntero-a-procedimiento '%s' en el constructor de estructura en %L: %s" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, fuzzy, gcc-internal-format + #| msgid "Too many components in structure constructor at %L!" + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "¡Demasiados componentes en el constructor de estructura en %L!" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, fuzzy, gcc-internal-format + #| msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "El rango del elemento en el constructor de estructura en %L no coincide con el del componente (%d/%d)" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, fuzzy, gcc-internal-format + #| msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET" + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "El elemento en el constructor de estructura en %L, para el componente puntero '%s', debe ser un POINTER o un TARGET" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, fuzzy, gcc-internal-format + #| msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure" + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "Expresión no válida en el constructor de estructura para el componente puntero '%s' en %L en el procedimiento PURE" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, fuzzy, gcc-internal-format + #| msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L" + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "El límite superior en la última dimensión debe aparecer en la referencia a la matriz de tamaño asumido '%s' en %L" + +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L is ambiguous" + msgid "%qs at %L is ambiguous" + msgstr "'%s' en %L es ambiguo" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, fuzzy, gcc-internal-format + #| msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L" + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "El procedimiento GENERIC '%s' no se permite como un argumento actual en %L" + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, fuzzy, gcc-internal-format + #| msgid "Type specified for intrinsic function '%s' at %L is ignored" + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "Se descarta el tipo para la función intrínseca '%s' en %L" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier" + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "La subrutina intrínseca '%s' en %L no debe tener un especificador de tipo" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, fuzzy, gcc-internal-format + #| msgid "'%s' declared INTRINSIC at %L does not exist" + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "No existe '%s' declarado como INTRINSIC en %L" + +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, fuzzy, gcc-internal-format + #| msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate -std=* option or enable -fall-intrinsics in order to use it." + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "El intrínseco '%s' declarado como INTRINSIC en %L no está disponible en la configuración actual de estándares pero %s. Use una opción -std=* apropiada o active -fall-intrinsics para poder usarlo." + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, fuzzy, gcc-internal-format + #| msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively. Declare it RECURSIVE or use -frecursive" + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "El procedimiento que no es RECURSIVE '%s' en %L posiblemente se está llamando a sí mismo recursivamente. Declárelo RECURSIVE o utilice -frecursive" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "La etiqueta %d referenciada en %L nunca se define" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L" + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "Fortran 2008: Se usa el procedimiento interno '%s' como un argumento actual en %L" + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, fuzzy, gcc-internal-format + #| msgid "Statement function '%s' at %L is not allowed as an actual argument" + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "La función de declaración '%s' en %L no se permite como un argumento actual" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic '%s' at %L is not allowed as an actual argument" + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "El intrínseco '%s' en %L no se permite como un argumento actual" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L" + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "Fortran 2008: Se usa el procedimiento interno '%s' como un argumento actual en %L" + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, fuzzy, gcc-internal-format + #| msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L" + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "El procedimiento ELEMENTAL que no es INTRINSIC '%s' no se permite como un argumento actual en %L" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, fuzzy, gcc-internal-format + #| msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L" + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "No se puede encontrar un procedimiento INTRINSIC específico para la referencia '%s' en %L" + +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, fuzzy, gcc-internal-format + #| msgid "Symbol '%s' at %L is ambiguous" + msgid "Symbol %qs at %L is ambiguous" + msgstr "El símbolo '%s' en %L es ambiguo" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not of numeric type" + msgstr "El argumento por valor en %L no es de tipo numérico" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "El argumento por valor en %L no puede ser una matriz o una sección de matriz" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not allowed in this context" + msgstr "El argumento por valor en %L no se permite en este contexto" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "No se permite el paso del procedimiento interno en %L por ubicación" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, fuzzy, gcc-internal-format + #| msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L" + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "El procedimiento ELEMENTAL que no es INTRINSIC '%s' no se permite como un argumento actual en %L" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "Argumento actual coindizado en %L con componente puntero último" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)" + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "'%s' en %L es una matriz y OPTIONAL; SI FALTA, no puede ser el argumento actual de un procedimiento ELEMENTAL a menos que exista un argumento que no sea opcional con el mismo rango (12.4.1.5)" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array" + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "El argumento actual en %L para el dummy INTENT(%s) '%s' de la subrutina ELEMENTAL '%s' es un escalar, pero otro argumento actual es una matriz" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, fuzzy, gcc-internal-format + #| msgid "Return type mismatch of function '%s' at %L (%s/%s)" + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "No coincide el tiop de devolución de la función '%s' en %L (%s/%s)" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, fuzzy, gcc-internal-format + #| msgid "Interface mismatch in dummy procedure '%s' at %L: %s" + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "La interfaz no coincide en el procedimiento dummy '%s' en %L: %s" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, fuzzy, gcc-internal-format + #| msgid "There is no specific function for the generic '%s' at %L" + msgid "There is no specific function for the generic %qs at %L" + msgstr "No hay una función específica para el genérico '%s' en %L" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, fuzzy, gcc-internal-format + #| msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface" + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "La función genérica '%s' en %L no es consistente con una interfaz intrínseca específica" + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic" + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "La función '%s' en %L es INTRINSIC pero no es compatible con un intrínseco" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, fuzzy, gcc-internal-format + #| msgid "Unable to resolve the specific function '%s' at %L" + msgid "Unable to resolve the specific function %qs at %L" + msgstr "No se puede resolver la función específica '%s' en %L" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L has no IMPLICIT type" + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "La función '%s' en %L no es de tipo IMPLICIT" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L has no IMPLICIT type" + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "La función '%s' en %L no es de tipo IMPLICIT" + +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, fuzzy, gcc-internal-format + #| msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s" + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "La referencia a la función '%s' que no es PURE en %L está dentro de un FORALL %s" + +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, fuzzy, gcc-internal-format + #| msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s" + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "La referencia a la función '%s' que no es PURE en %L está dentro de un DO CONCURRENT %s" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, fuzzy, gcc-internal-format + #| msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s" + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "La referencia a la función '%s' que no es PURE en %L está dentro de un FORALL %s" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected junk after NOWAIT clause at %C" + msgid "Unexpected junk after %qs at %L" + msgstr "Basura inesperada después de la cláusula NOWAIT en %C" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L is not a function" + msgid "%qs at %L is not a function" + msgstr "'%s' en %L no es una función" + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, fuzzy, gcc-internal-format + #| msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L" + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "La ABSTRACT INTERFACE '%s' no se debe referenciar en %L" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "La función '%s' se declara CHARACTER(*) y no se puede usar en %L ya que no es un argumento de prueba" + +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, fuzzy, gcc-internal-format + #| msgid "" + msgid "resolve_function(): bad function type" + msgstr "" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, fuzzy, gcc-internal-format + #| msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct" + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "La función definida por el usuario '%s' que no es ELEMENTAL en %L no se permite en la construcción WORKSHARE" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, fuzzy, gcc-internal-format + #| msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE" + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "ENTRY '%s' en %L no se puede llamar recursivamente, porque la función '%s' no es RECURSIVE" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE" + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "La función '%s' en %L no se puede llamar recursivamente, porque no es RECURSIVE" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, fuzzy, gcc-internal-format + #| msgid "builtin %qF is deprecated." + msgid "Using function %qs at %L is deprecated" + msgstr "la interna %qF es obsoleta." + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine call to '%s' in FORALL block at %L is not PURE" + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "La llamada a subrutina a '%s' en el bloque FORALL en %L no es PURE" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE" + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "La llamada a subrutina a '%s' en el bloque DO CONCURRENT en %L no es PURE" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine call to '%s' at %L is not PURE" + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "La llamada a subrutina a '%s' en %L no es PURE" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, fuzzy, gcc-internal-format + #| msgid "There is no specific subroutine for the generic '%s' at %L" + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "No hay una subrutina específica para el genérico '%s' en %L" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, fuzzy, gcc-internal-format + #| msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface" + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "La subrutina genérica '%s' en %L no es consistente con una interfaz de subrutina intrínseca" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic" + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "La subrutina '%s' en %L es INTRINSIC pero no es compatible con un intrínseco" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, fuzzy, gcc-internal-format + #| msgid "Unable to resolve the specific subroutine '%s' at %L" + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "No se puede resolver la subrutina específica '%s' en %L" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L has a type, which is not consistent with the CALL at %L" + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "'%s' en %L tiene un tipo, el cual no es consistente con CALL en %L" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, fuzzy, gcc-internal-format + #| msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE" + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "ENTRY '%s' en %L no se puede llamar recursivamente, porque la subrutina '%s' no es RECURSIVE" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, fuzzy, gcc-internal-format + #| msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE" + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "SUBROUTINE '%s' en %L no se puede llamar recursivamente, porque no es RECURSIVE" + +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, fuzzy, gcc-internal-format + #| msgid "" + msgid "resolve_subroutine(): bad function type" + msgstr "" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, fuzzy, gcc-internal-format + #| msgid "builtin %qF is deprecated." + msgid "Using subroutine %qs at %L is deprecated" + msgstr "la interna %qF es obsoleta." + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, gcc-internal-format, gfc-internal-format + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "Las formas para los operandos en %L y %L no son conformables" + +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued" + msgid "Impure function %qs at %L might not be evaluated" + msgstr "La función CHARACTER(*) '%s' en %L no puede ser puntero-valuada" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "always_inline function might not be inlinable" + msgid "Impure function at %L might not be evaluated" + msgstr "una función always_inline tal vez no se puede incluir en línea" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, fuzzy, gcc-internal-format + #| msgid "By-value argument at %L cannot be an array or an array section" + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "El argumento por valor en %L no puede ser una matriz o una sección de matriz" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "By-value argument at %L cannot be an array or an array section" + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" +@@ -80421,7 +80396,7 @@ msgstr "El argumento por valor en %L no puede ser una matriz o una sección de m + + # 'kind' es el tipo del tipo de dato en Fortran. Lo traduzco como + # 'género', para evitar confusión con 'type' = 'tipo'. cfuga +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Equality comparison for %s at %L" +@@ -80429,192 +80404,192 @@ msgstr "Género no válido para %s en %L" + + # 'kind' es el tipo del tipo de dato en Fortran. Lo traduzco como + # 'género', para evitar confusión con 'type' = 'tipo'. cfuga +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Inequality comparison for %s at %L" + msgstr "Género no válido para %s en %L" + +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "La referencia de matriz en %L está fuera de los límites (%ld < %ld) en la dimensión %d" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "La referencia de matriz en %L está fuera de los límites (%ld < %ld) en la codimensión %d" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "La referencia de matriz en %L está fuera de los límites (%ld > %ld) en la dimensión %d" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "La referencia de matriz en %L está fuera de los límites (%ld > %ld) en la codimensión %d" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "Tranco ilegal de cero en %L" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "La referencia de matriz inferior en %L está fuera de los límites (%ld < %ld) en la dimensión %d" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "La referencia de matriz inferior en %L está fuera de los límites (%ld > %ld) en la dimensión %d" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "La referencia de matriz superior en %L está fuera de los límites (%ld < %ld) en la dimensión %d" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "La referencia de matriz superior en %L está fuera de los límites (%ld > %ld) en la dimensión %d" + +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, fuzzy, gcc-internal-format + #| msgid "subscript missing in array reference" + msgid "check_dimension(): Bad array reference" + msgstr "falta el subíndice en la referencia de la matriz" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "No se especificó el límite superior a la derecha de la sección de matriz de tamaño asumido en %L" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "El rango no coincide en la referencia de matriz en %L (%d/%d)" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "El rango de coíndice no coincide en la referencia de matriz en %L (%d/%d)" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "El coíndice en la codimensión %d debe ser un escalar en %L" + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "El índice de matriz en %L debe ser escalar" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "El índice de matriz en %L debe ser de tipo INTEGER, se encontró %s" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Extension: REAL array index at %L" + msgid "REAL array index at %L" + msgstr "Extensión: índice de matriz REAL en %L" + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "El argumento dim en %L debe ser escalar" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "El argumento dim en %L debe ser de tipo entero" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid array initializer for non-array type %qs" + msgid "Invalid array reference of a non-array entity at %L" + msgstr "Inicializador de matriz no válido para el tipo %qs que no es matriz" + +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "" + +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "El índice de matriz en %L es una matriz de rango %d" + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "El índice de inicio de la subcadena en %L debe ser de tipo INTEGER" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "El índice de inicio de la subcadena en %L debe ser escalar" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "El índice de final de la subcadena en %L debe ser de tipo INTEGER" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "El índice de final de la subcadena en %L debe ser escalar" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L is too large" + msgstr "El índice de final de la subcadena en %L es demasiado grande" + +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, fuzzy, gcc-internal-format + #| msgid "Bad array reference at %L" + msgid "resolve_ref(): Bad array reference" + msgstr "Referencia de matriz errónea en %L" + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "El componente a la derecha de una referencia de parte con rango que no es cero no debe tener el atributo POINTER en %L" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "El componente a la derecha de una referencia de parte con rango que no es cero no debe tener el atributo ALLOCATABLE en %L" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "No se deben especificar dos o más referencias de parte con rango que no es cero en %L" + +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array at %L must be a dummy argument" + msgid "Assumed-type variable %s at %L may only be used as actual argument" +@@ -80624,12 +80599,12 @@ msgstr "La matriz de forma asumida en %L debe ser un argumento de prueba" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array at %L must be a dummy argument" + msgid "Assumed-rank variable %s at %L may only be used as actual argument" +@@ -80639,313 +80614,313 @@ msgstr "La matriz de forma asumida en %L debe ser un argumento de prueba" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface" + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "El procedimiento '%s' en %L con atributo BIND(C) debe tener una interfaz explícita" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape" + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "La variable de comatriz '%s' en %L no debe tener codimensiones con forma diferida" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape" + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "La variable de comatriz '%s' en %L no debe tener codimensiones con forma diferida" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "La variable '%s', usada en una expresión de especificación, se referencía en %L antes de la declaración ENTRY en la cual es un parámetro" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter" + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "La variable '%s' se usa en %L antes de la declaración ENTRY en la cual es un parámetro" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "Subobjecto polimórfico de un objeto coindizado en %L" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "Objeto coindizado con subcomponente alojable polimórfico en %L" + +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, fuzzy, gcc-internal-format + #| msgid "%qs is deprecated" + msgid "Using variable %qs at %L is deprecated" + msgstr "%qs es obsoleto" + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, gcc-internal-format + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Error in type-spec at %L" + msgid "Error in typebound call at %L" + msgstr "Error en la especificación de tipo en %L" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, gcc-internal-format, gfc-internal-format + msgid "Passed-object at %L must be scalar" + msgstr "El objeto pasado en %L debe ser escalar" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, fuzzy, gcc-internal-format + #| msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'" + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "El objeto base para la llamada a componente procedimiento-puntero en %L es de tipo ABSTRACT '%s'" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, fuzzy, gcc-internal-format + #| msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'" + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "El objeto base para la llamada a procedimiento enlazada a tipo en %L es de tipo ABSTRACT '%s'" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, gcc-internal-format, gfc-internal-format + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "El objeto base para la llamada a procedimiento enlazada a tipo NOPASS en %L debe ser escalar" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, fuzzy, gcc-internal-format + #| msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L" + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "No se encontró un enlace específico coincidente para la llamada al GENERIC '%s' en %L" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L should be a SUBROUTINE" + msgid "%qs at %L should be a SUBROUTINE" + msgstr "'%s' en %L debe ser una SUBROUTINE" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L should be a FUNCTION" + msgid "%qs at %L should be a FUNCTION" + msgstr "'%s' en %L debe ser una FUNCTION" + +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, fuzzy, gcc-internal-format + #| msgid "Expected expression type" + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "Se esperaba un tipo de expresión" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "%s en %L debe ser un escalar" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "'%s' at %L must be nonnegative" + msgid "%s at %L must be integer" + msgstr "'%s' en %L debe ser no negativo" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "%s en %L debe ser INTEGER" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "La expresión de paso en el bucle DO en %L no puede ser cero" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "El bucle DO en %L se ejecutará cero veces" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "El nombre de índice FORALL en %L debe ser un INTEGER escalar" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "La expresión de inicio FORALL en %L debe ser un INTEGER escalar" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "La expresión de fin FORALL en %L debe ser un INTEGER escalar" + +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "La expresión de tranco FORALL en %L debe ser un %s escalar" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "La expresión de tranco FORALL en %L no puede ser cero" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, fuzzy, gcc-internal-format + #| msgid "FORALL index '%s' may not appear in triplet specification at %L" + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "El índice FORALL '%s' no puede aparecer en la especificación triplet en %L" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "El objeto de alojamiento en %L debe ser ALLOCATABLE o un POINTER" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "Objeto alojable coindizado en %L" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "La expresión fuente en %L debe ser escalar o tener el mismo rango que el objeto de alojamiento en %L" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "La expresión fuente en %L y el objeto de alojamiento en %L deben tener la misma forma" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "El tipo de entidad en %L es de tipo incompatible con la expresión fuente en %L" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "El objeto de alojamiento en %L y la expresión fuente en %L deben tener el mismo parámetro de tipo de género" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "La expresión fuente en %L no puede ser de tipo LOCK_TYPE ni tener un componente LOCK_TYPE si el objeto-alojado en %L es una comatriz" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "La expresión fuente en %L no puede ser de tipo LOCK_TYPE ni tener un componente LOCK_TYPE si el objeto-alojado en %L es una comatriz" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "El alojamiento %s del tipo de base ABSTRACT en %L requiere una especificación de tipo o una expresión source" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "Alojar %s en %L con especificación de tipo requiere el mismo parámetro de longitud de carácter que el de la declaración" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "Se requiere una especificación de matriz en la declaración ALLOCATE en %L" + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array specification required in ALLOCATE statement at %L" + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "Se requiere una especificación de matriz en la declaración ALLOCATE en %L" + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, gcc-internal-format, gfc-internal-format + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "Se requiere una especificación de comatriz en la declaración ALLOCATE en %L" + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, gcc-internal-format, gfc-internal-format + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "Especificación de comatriz errónea en la declaración ALLOCATE en %L" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "Especificación de matriz errónea en la declaración ALLOCATE en %L" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, fuzzy, gcc-internal-format + #| msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "'%s' no debe aparecer en la especificación de matriz en %L en la misma declaración ALLOCATE donde se aloja a sí misma" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, fuzzy, gcc-internal-format + #| msgid "Expected '*' in coindex specification in ALLOCATE statement at %L" + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "Se esperaba '*' en la especificación de comatriz en la declaración ALLOCATE en %L" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "La variable stat en %L debe ser una variable INTEGER escalar" + +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "La variable stat en %L no no debe ser %sd dentro de la misma declaración %s" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "ERRMSG en %L es inútil sin una etiqueta STAT" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "El argumento ERRMSG= en %L debe ser una variable CHARACTER escalar" + +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "La variable errmsg en %L no debe ser %sd dentro de la misma declaración %s" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "El objeto de alojamiento en %L también aparece en %L" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "El objeto de alojamiento en %L es un subobjeto del objeto en %L" +@@ -80954,303 +80929,303 @@ msgstr "El objeto de alojamiento en %L es un subobjeto del objeto en %L" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "La etiqueta CASE en %L se encima con la etiqueta CASE en %L" + +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "La expresión en la declaración CASE en %L debe ser de tipo %s" + +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "La expresión en la declaración CASE en %L debe ser de género %d" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "La expresión en la declaración CASE en %L debe ser escalar" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "La expresión de selección en una declaración GOTO computada en %L debe ser una expresión entera escalar" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "El argumento de la declaración SELECT en %L no puede ser %s" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "El argumento de la declaración SELECT en %L debe ser una expresión escalar" + +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "La expresión en la declaración CASE en %L no está en el rango de %s" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "El DEFAULT CASE en %L no puede tener después un segundo DEFAULT CASE en %L" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "No se permite un rango lógico en una declaración CASE en %L" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, gcc-internal-format, gfc-internal-format + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "Se repite un valor lógico constante en una declaración CASE en %L" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "La especificación de rango en %L nunca puede coincidir" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "El bloque SELECT CASE lógico en %L tiene más de dos cases" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, fuzzy, gcc-internal-format + #| msgid "Internal procedure '%s' is invalid in procedure pointer assignment at %L" + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "El procedimiento interno '%s' es no válido en la asignación de puntero de procedimiento en %L" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, fuzzy, gcc-internal-format + #| msgid "The name '%s' cannot be used as a defined operator at %C" + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "El nombre '%s' no se puede usar como un operador definido en %C" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, fuzzy, gcc-internal-format + #| msgid "Associate-name '%s' at %L is used as array" + msgid "Associating entity %qs at %L is a procedure name" + msgstr "Se usa el nombre asociado '%s' en %L como una matriz" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Association target at %C must not be coindexed" + msgid "Selector at %L cannot be NULL()" + msgstr "El objetivo de asociación en %C no debe estar coindizado" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Association target at %C must not be coindexed" + msgid "Selector at %L has no type" + msgstr "El objetivo de asociación en %C no debe estar coindizado" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, fuzzy, gcc-internal-format + #| msgid "Associate-name '%s' at %L is used as array" + msgid "Associate-name %qs at %L is used as array" + msgstr "Se usa el nombre asociado '%s' en %L como una matriz" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, gcc-internal-format, gfc-internal-format + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "El selector debe ser polimórfico en la declaración SELECT TYPE en %L" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Association target at %C must not be coindexed" + msgid "Selector at %L must not be coindexed" + msgstr "El objetivo de asociación en %C no debe estar coindizado" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "CASE label at %L overlaps with CASE label at %L" + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "La etiqueta CASE en %L se encima con la etiqueta CASE en %L" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, fuzzy, gcc-internal-format + #| msgid "Derived type '%s' at %L must be extensible" + msgid "Derived type %qs at %L must be extensible" + msgstr "El tipo derivado '%s' en %L debe ser extensible" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, fuzzy, gcc-internal-format + #| msgid "Derived type '%s' at %L must be an extension of '%s'" + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "El tipo derivado '%s' en %L debe ser una extensión de '%s'" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected NULL() intrinsic at %L to dummy '%s'" + msgid "Unexpected intrinsic type %qs at %L" + msgstr "Intrínseco NULL inesperado en %L para el dummy '%s'" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Type-spec at %L cannot contain a deferred type parameter" + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "La especificación de tipo en %L no puede tener un parámetro de tipo diferido" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "Bloque CLASS IS doble en la declaración SELECT TYPE en %L" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid context for NULL() pointer at %%L" + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "Contexto no válido para el puntero NULL() en %%L" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "STOP code at %L must be scalar" + msgid "DTIO %s procedure at %L must be recursive" + msgstr "El código STOP en %L debe ser escalar" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "El elemento de transferencia de datos en %L no puede ser polimórfico a menos que se procese con un procedimiento de entrada/salida definido" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "El elemento de transferencia de datos en %L no puede tener componentes POINTER a menos que se procese con un procedimiento de entrada/salida definido" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "El elemento de transferencia de datos en %L no puede tener componentes de puntero a procedimiento" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "El elemento de transferencia de datos en %L no puede tener componentes ALLOCATABLE a menos que se procese con un procedimiento de entrada/salida definido" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "El elemento de transferencia de datos en %L no puede tener componentes PRIVATE" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "El elemento de transferencia de datos en %L no puede tener componentes POINTER a menos que se procese con un procedimiento de entrada/salida definido" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "El elemento de transferencia de datos en %L no puede ser una referencia completa a una matriz de tamaño asumido" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, gcc-internal-format, gfc-internal-format + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "La variable lock en %L debe ser un escalar de tipo LOCK_TYPE" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "La variable lock en %L debe ser un escalar de tipo LOCK_TYPE" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Actual argument to '%s' at %L must be a coarray" + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "El argumento actual para '%s' en %L debe ser una comatriz" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Actual argument to '%s' at %L must be a coarray" + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "El argumento actual para '%s' en %L debe ser una comatriz" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, gcc-internal-format, gfc-internal-format + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "El argumento STAT= en %L debe ser una variable INTEGER escalar" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "El argumento ERRMSG= en %L debe ser una variable CHARACTER escalar" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, gcc-internal-format, gfc-internal-format + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "El argumento ACQUIRED_LOCK= en %L debe ser una variable LOGICAL escalar" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "El argumento de conjunto de imagen %L debe ser un escalar o una expresión INTEGER de rango 1" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "El argumento de conjunto de imagen %L debe ser un escalar o una expresión INTEGER de rango 1" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "El argumento de conjunto de imagen en %L debe estar entre 1 y num_images()" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, gcc-internal-format, gfc-internal-format + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "La declaración en %L no es una declaración de objetivo de ramificación válida para la declaración de ramificación en %L" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, gcc-internal-format, gfc-internal-format + msgid "Branch at %L may result in an infinite loop" + msgstr "La ramificación en %L puede resultar en un bucle infinito" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "La declaración GOTO en %L deja la construcción CRITICAL por la etiqueta en %L" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "La declaración GOTO en %L deja la construcción DO CONCURRENT por la etiqueta en %L" +@@ -81258,221 +81233,221 @@ msgstr "La declaración GOTO en %L deja la construcción DO CONCURRENT por la et + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "La etiqueta en %L no está en el mismo bloque que la declaración GOTO en %L" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "La máscara WHERE en %L tiene forma inconsistente" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "El objetivo de asignación WHERE en %L tiene forma inconsistente" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "Asignación definida por el usuario de un no-ELEMENTAL en WHERE en %L" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "Declaración sin soporte dentro de WHERE en %L" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "Asignación a una variable de índice FORALL en %L" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, fuzzy, gcc-internal-format + #| msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "No se usa el FORALL con índice '%s' en el lado izquierdo de la asignación en %L y podría causar múltiples asignaciones a este objeto" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Fortran 2008: BLOCK construct at %C" + msgid "FORALL construct at %L" + msgstr "Fortran 2008: Constructor BLOCK en %C" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FORALL index-name at %L must be a scalar INTEGER" + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "El nombre de índice FORALL en %L debe ser un INTEGER escalar" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "Una construcción FORALL externa ya tiene un índice con este nombre %L" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "la cláusula WHERE/ELSEWHERE en %L requiere una matriz LOGICAL" + +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L" + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "Se truncará la expresión CHARACTER en la asignación (%d/%d) en %L" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "La expresión con coíndice en %L se asigna a una variable de tipo derivado con un componente POINTER en un procedimiento PURE" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "" + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "Asignación a una variable coindizada en %L en un procedimiento PURE" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Polymorphic array at %C not yet supported" + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "Aún no se admite la matriz polimórfica en %C" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assignment to a FORALL index variable at %L" + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "Asignación a una variable de índice FORALL en %L" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, fuzzy, gcc-internal-format + #| msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator" + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "La variable no debe ser polimórfica en la asignación intrínseca en %L - revise que hay una subrutina específica coincidente para el operador '='" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L" + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "La variable coindizada no debe tener un componente último alojable en la asignación en %L" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "" + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid procedure pointer assignment at %L" + msgid "Pointer procedure assignment at %L" + msgstr "Asignación de puntero de procedimiento no válida en %L" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Target expression in pointer assignment at %L must deliver a pointer result" + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "La expresión objetivo en la asignación de puntero en %L debe entregar un resultado puntero." + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, fuzzy, gcc-internal-format + #| msgid "Argument of SELECT statement at %L must be a scalar expression" + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "El argumento de la declaración SELECT en %L debe ser una expresión escalar" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "El argumento STAT= en %L debe ser una variable INTEGER escalar" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable" + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "La declaración ASSIGNED GOTO en %L requiere una variable INTEGER" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' has not been assigned a target label at %L" + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "La variable '%s' no se ha asignado a una etiqueta objetivo en %L" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "La declaración RETURN alternativa en %L requiere de un especificador de devolución SCALAR-INTEGER" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expected initialization expression in CASE at %C" + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "Se esperaba la inicialización de la expresión en CASE en %C" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "La declaración de ASSIGN en %L requiere una variable INTEGER escalar por defecto" + + # 'kind' es el tipo del tipo de dato en Fortran. Lo traduzco como + # 'género', para evitar confusión con 'type' = 'tipo'. cfuga +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Invalid NULL at %L" + msgstr "Género no válido para %s en %L" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Arithmetic IF statement at %L requires a numeric expression" + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "La declaración IF aritmética en %L requiere una expresión numérica" + +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "La condición de salida del bucle DO WHILE en %L debe ser una expresión LOGICAL escalar" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "La cláusula de máscara FORALL en %L requiere una expresión LOGICAL escalar" + +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, fuzzy, gcc-internal-format + #| msgid "gfc_trans_code(): Bad statement code" + msgid "gfc_resolve_code(): Bad statement code" + msgstr "gfc_trans_code(): Código de declaración erróneo" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, fuzzy, gcc-internal-format + #| msgid "Unused parameter '%s' declared at %L" + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "Se declaró el parámetro '%s' sin uso en %L" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, fuzzy, gcc-internal-format + #| msgid "Binding label '%s' at %L collides with the global entity '%s' at %L" + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" +@@ -81480,7 +81455,7 @@ msgstr "La etiqueta enlazante '%s' en %L colisiona con la entidad global '%s' en + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, fuzzy, gcc-internal-format + #| msgid "Binding label '%s' at %L collides with the global entity '%s' at %L" + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" +@@ -81489,66 +81464,66 @@ msgstr "La etiqueta enlazante '%s' en %L colisiona con la entidad global '%s' en + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, fuzzy, gcc-internal-format + #| msgid "Binding label '%s' at %L collides with the global entity '%s' at %L" + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "La etiqueta enlazante '%s' en %L colisiona con la entidad global '%s' en %L" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, gcc-internal-format, gfc-internal-format + msgid "String length at %L is too large" + msgstr "La longitud de la cadena en %L es demasiado grande" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, fuzzy, gcc-internal-format + #| msgid "Allocatable array '%s' at %L must have a deferred shape" + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "La matriz allocatable '%s' en %L debe tener una forma diferida" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, fuzzy, gcc-internal-format + #| msgid "Scalar object '%s' at %L may not be ALLOCATABLE" + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "El objeto escalar '%s' en %L no puede ser ALLOCATABLE" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, fuzzy, gcc-internal-format + #| msgid "Array pointer '%s' at %L must have a deferred shape" + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "La matriz de puntero '%s' en %L debe tener una forma diferida" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, fuzzy, gcc-internal-format + #| msgid "Array '%s' at %L cannot have a deferred shape" + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "La matriz '%s' en %L no puede tener una forma diferida" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, fuzzy, gcc-internal-format + #| msgid "Type '%s' of CLASS variable '%s' at %L is not extensible" + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "El tipo '%s' de la variable CLASS '%s' en %L no es extensible" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, fuzzy, gcc-internal-format + #| msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer" + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "La variable CLASS '%s' en %L debe ser dummy, allocatable o pointer" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, fuzzy, gcc-internal-format + #| msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "El tipo '%s' no se puede asociar al anfitrión en %L porque está bloqueado por un objeto incompatible del mismo nombre declarado en %L" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization" + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "Fortran 2008: SAVE implícito para la variable de módulo '%s' en %L, se necesita por la inicialización por defecto" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, fuzzy, gcc-internal-format + #| msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute" + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" +@@ -81556,1065 +81531,1065 @@ msgstr "La entidad '%s' en %L tiene un parámetro de tipo diferido y requiere el + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, fuzzy, gcc-internal-format + #| msgid "The module or main program array '%s' at %L must have constant shape" + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "El módulo o la matriz del programa principal '%s' en %L deben tener una forma constante" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "La entidad con longitud de carácter asumida en %L debe ser un argumento de prueba o un PARAMETER" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L must have constant character length in this context" + msgid "%qs at %L must have constant character length in this context" + msgstr "'%s' en %L debe tener longitud de cáracter constante en este contexto" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, fuzzy, gcc-internal-format + #| msgid "COMMON variable '%s' at %L must have constant character length" + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "La variable COMMON '%s' en %L debe tener longitud de cáracter constante en este contexto" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, fuzzy, gcc-internal-format + #| msgid "Allocatable '%s' at %L cannot have an initializer" + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "El allocatable '%s' en %L no puede tener un inicializador" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, fuzzy, gcc-internal-format + #| msgid "External '%s' at %L cannot have an initializer" + msgid "External %qs at %L cannot have an initializer" + msgstr "El external '%s' en %L no puede tener un inicializador" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, fuzzy, gcc-internal-format + #| msgid "Dummy '%s' at %L cannot have an initializer" + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "El dummy '%s' en %L no puede tener un inicializador" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic '%s' at %L cannot have an initializer" + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "El intrinsic '%s' en %L no puede tener un inicializador" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, fuzzy, gcc-internal-format + #| msgid "Function result '%s' at %L cannot have an initializer" + msgid "Function result %qs at %L cannot have an initializer" + msgstr "El resultado de la función '%s' en %L no puede tener un inicializador" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, fuzzy, gcc-internal-format + #| msgid "Automatic array '%s' at %L cannot have an initializer" + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "La matriz automática '%s' en %L no puede tener un inicializador" + +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "fstat %s" + msgid "%s at %L" + msgstr "fstat %s" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, fuzzy, gcc-internal-format + #| msgid "Character-valued statement function '%s' at %L must have constant length" + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "La función de declaración valuada con carácter '%s' en %L debe tener longitud constante" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L" + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "Fortran 2003: '%s' es de un tipo PRIVATE y no puede ser un argumento dummy de '%s', el cual es PUBLIC en %L" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE" + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "Fortran 2003: El procedimiento '%s' en la interfaz PUBLIC '%s' en %L toma argumentos dummy de '%s' el cual es PRIVATE" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L cannot have an initializer" + msgid "Function %qs at %L cannot have an initializer" + msgstr "La función '%s' en %L no puede tener un inicializador" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, fuzzy, gcc-internal-format + #| msgid "External object '%s' at %L may not have an initializer" + msgid "External object %qs at %L may not have an initializer" + msgstr "El objeto external '%s' en %L puede no tener un inicializador" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, fuzzy, gcc-internal-format + #| msgid "ELEMENTAL function '%s' at %L must have a scalar result" + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "La función ELEMENTAL '%s' en %L debe tener un resultado escalar" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, fuzzy, gcc-internal-format + #| msgid "Statement function '%s' at %L may not have pointer or allocatable attribute" + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "La función de declaración '%s' en %L no debe tener atributo puntero o alojable" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be array-valued" + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "La función CHARACTER(*) '%s' en %L no puede ser matriz-valuada" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued" + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "La función CHARACTER(*) '%s' en %L no puede ser puntero-valuada" + +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pure" + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "La función CHARACTER(*) '%s' en %L no puede ser pura" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be recursive" + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "La función CHARACTER(*) '%s' en %L no puede ser recursiva" + +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pure" + msgid "CHARACTER(*) function %qs at %L" + msgstr "La función CHARACTER(*) '%s' en %L no puede ser pura" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' in %s at %L has no explicit interface" + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "El procedimiento '%s' en %s en %L no tiene una interfaz explícita" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, fuzzy, gcc-internal-format + #| msgid "Dummy procedure '%s' at %C cannot have a generic interface" + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "El procedimiento dummy '%s' en %C no puede tener una interfaz genérica" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes" + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "La variable '%s' en %L no puede tener los atributos ALLOCATABLE y BIND(C) al mismo tiempo" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "El atributo PROCEDURE genera un conflicto con el atributo SAVE en '%s' en %L" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "El atributo PROCEDURE genera un conflicto con el atributo INTENT en '%s' en %L" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "El atributo PROCEDURE genera un conflicto con el atributo RESULT en '%s' en %L" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, fuzzy, gcc-internal-format + #| msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L" + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "El atributo EXTERNAL genera un conflicto con el atributo FUNCTION en '%s' en %L" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, fuzzy, gcc-internal-format + #| msgid "Procedure pointer result '%s' at %L is missing the pointer attribute" + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "Al resultado del puntero de procedimiento '%s' en %L le falta el atributo puntero" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, fuzzy, gcc-internal-format + #| msgid "Interface '%s' of procedure '%s' at %L must be explicit" + msgid "Interface of %qs at %L must be explicit" + msgstr "La interfaz '%s' del procedimiento '%s' en %L debe ser explícita" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, fuzzy, gcc-internal-format + #| msgid "FINAL procedure '%s' at %L is not a SUBROUTINE" + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "El procedimiento FINAL '%s' en %L no debe ser una SUBROUTINE" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "El procedimiento FINAL en %L debe tener exactamente un argumento" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, fuzzy, gcc-internal-format + #| msgid "Argument of FINAL procedure at %L must be of type '%s'" + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "El argumento del procedimiento FINAL en %L debe ser de tipo '%s'" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "El argumento del procedimiento FINAL en %L no debe ser un POINTER" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "El argumento del procedimiento final en %L no debe ser ALLOCATABLE" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "El argumento del procedimiento FINAL en %L no debe ser OPTIONAL" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "El argumento del procedimiento FINAL en %L no debe ser INTENT(OUT)" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, gcc-internal-format, gfc-internal-format + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "El procedimiento FINAL que no es escalar en %L debe tener un argumento sharp asumido" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, fuzzy, gcc-internal-format + #| msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'" + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "El procedimiento FINAL '%s' declarado en %L tiene el mismo rango (%d) que '%s'" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, fuzzy, gcc-internal-format + #| msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one" + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "Sólo se declaran procedimientos FINAL de matriz para el tipo derivado '%s' definido en %L, se sugiere también uno escalar" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, fuzzy, gcc-internal-format + #| msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L" + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "'%s' y '%s' no pueden ser FUNCTION/SUBROUTINE mezcladas para el GENERIC '%s' en %L" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, fuzzy, gcc-internal-format + #| msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous" + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "'%s' y '%s' para el GENERIC '%s' en %L son ambiguos" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, fuzzy, gcc-internal-format + #| msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L" + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "El enlace específico '%s' no está definido como objetivo del GENERIC '%s' en %L" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, fuzzy, gcc-internal-format + #| msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too" + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "El GENERIC '%s' en %L debe apuntar a un enlace específico, '%s' es GENERIC también" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, fuzzy, gcc-internal-format + #| msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name" + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "El GENERIC '%s' en %L no puede sobreescribir el enlace específico con el mismo nombre" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Type-bound operator at %L can't be NOPASS" + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "El operador enlazado a tipo en %L no puede ser NOPASS" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, fuzzy, gcc-internal-format + #| msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L" + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "'%s' debe ser un procedimiento de módulo o un procedimiento externo con una interfaz explícita en %L" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'" + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "El procedimiento '%s' con PASS(%s) en %L no tiene un argumento '%s'" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' with PASS at %L must have at least one argument" + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "El procedimiento '%s' con PASS en %L debe tener al menos un argumento" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, fuzzy, gcc-internal-format + #| msgid "Non-polymorphic passed-object dummy argument of '%s' at %L" + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "Argumento dummy pasado como objeto no polimórfico de '%s' en %L" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, fuzzy, gcc-internal-format + #| msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'" + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "El argumento '%s' de '%s' con PASS(%s) en %L debe ser del tipo derivado '%s'" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, fuzzy, gcc-internal-format + #| msgid "Passed-object dummy argument of '%s' at %L must be scalar" + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "El argumento dummy de objeto pasado de '%s' en %L debe ser escalar" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, fuzzy, gcc-internal-format + #| msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE" + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "El argumento dummy de objeto pasado de '%s' en %L no debe ser ALLOCATABLE" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, fuzzy, gcc-internal-format + #| msgid "Passed-object dummy argument of '%s' at %L must not be POINTER" + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "El argumento dummy de objeto pasado de '%s' en %L no debe ser POINTER" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' at %L has the same name as a component of '%s'" + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "El procedimiento '%s' en %L tiene el mismo nombre que un componente de '%s'" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'" + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "El procedimiento '%s' en %L tiene el mismo nombre que un componente heredado de '%s'" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, fuzzy, gcc-internal-format + #| msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden" + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "El tipo derivado '%s' declarado en %L debe ser ABSTRACT porque '%s' es DEFERRED y no se sobreescribió" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, fuzzy, gcc-internal-format + #| msgid "Coarray component '%s' at %L must be allocatable with deferred shape" + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "El componente de comatriz '%s' en %L debe sel alojable con forma diferida" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, fuzzy, gcc-internal-format + #| msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "El componente '%s' en %L de TYPE(C_PTR) o TYPE(C_FUNPTR) no debe ser una comatriz" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, fuzzy, gcc-internal-format + #| msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "El componenten '%s' en %L con componente comatriz debe ser un escalar que no sea puntero alojable" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, fuzzy, gcc-internal-format + #| msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer" + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "El componente '%s' en %L tiene el atributo CONTIGUOUS porque no es un puntero de matriz" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, fuzzy, gcc-internal-format + #| msgid "Argument of ICHAR at %L must be of length one" + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "El argumento de ICHAR en %L debe ser de longitud uno" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, fuzzy, gcc-internal-format + #| msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'" + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "El procedimiento de componente puntero '%s' con PASS(%s) en %L no tiene un argumento '%s'" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, fuzzy, gcc-internal-format + #| msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument" + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "El procedimiento de componente puntero '%s' con PASS en %L debe tener al menos un argumento" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, fuzzy, gcc-internal-format + #| msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'" + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "El argumento '%s' de '%s' con PASS(%s) en %L debe ser del tipo derivado '%s'" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, fuzzy, gcc-internal-format + #| msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar" + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "El argumento '%s' de '%s' con PASS(%s) en %L debe ser escalar" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, fuzzy, gcc-internal-format + #| msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute" + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "El argumento '%s' de '%s' con PASS(%s) en %L no puede tener el atributo POINTER" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, fuzzy, gcc-internal-format + #| msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE" + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "El argumento '%s' de '%s' con PASS(%s) en %L no puede ser ALLOCATABLE" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, fuzzy, gcc-internal-format + #| msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure" + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "El componente '%s' de '%s' en %L tiene el mismo nombre que un procedimiento enlazado a tipo heredado" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, fuzzy, gcc-internal-format + #| msgid "Character length of component '%s' needs to be a constant specification expression at %L" + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "La longitud de carácter del componente '%s' necesita ser una expresión de especificación constante en %L" + +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, fuzzy, gcc-internal-format + #| msgid "Expression at %L must be of INTEGER type, found %s" + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "La expresión en %L debe ser de tipo INTEGER, se encontró %s" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, fuzzy, gcc-internal-format + #| msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE" + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "El componente de carácter '%s' de '%s' en %L con longitud diferida debe ser POINTER o ALLOCATABLE" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L" + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "Fortran 2003: el componente '%s' es un tipo PRIVATE y no puede ser un componente de '%s' el cual es PUBLIC en %L" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "El componente polimórfico %s en %L en SEQUENCE o de tipo BIND(C) %s" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, gcc-internal-format, gfc-internal-format + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "El componente %s del tipo SEQUENCE declarado en %L no tiene el atributo SEQUENCE" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Conflicting I/O control specifications at %0 and %1" + msgid "Conflicting initializers in union at %L and %L" + msgstr "Especificaciones de control de E/S en conflicto en %0 y %1" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, fuzzy, gcc-internal-format + #| msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one" + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "Como al extender el tipo '%s' en %L tiene un componente de comatriz, el tipo padre '%s' también debe tener uno" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, fuzzy, gcc-internal-format + #| msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT" + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "El tipo derivado '%s' que no es extensible en %L no debe ser ABSTRACT" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L" + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "Fortran 2003: El nombre genérico '%s' de la función '%s' en %L tiene el mismo nombre que el tipo derivado en %L" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, fuzzy, gcc-internal-format + #| msgid "Derived type '%s' at %L must be extensible" + msgid "Derived type %qs at %L has not been declared" + msgstr "El tipo derivado '%s' en %L debe ser extensible" + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, fuzzy, gcc-internal-format + #| msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed" + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "No se permite la matriz de tamaño asumido '%s' en la lista de nombres '%s' en %L" + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L" + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "Fortran 2003: Objeto de matriz NAMELIST '%s' con forma asumida en la lista de nombres '%s' en %L" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L" + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "Fortran 2003: El objeto de matriz NAMELIST '%s' con forma que no es constante en la lista de nombres '%s' en %L" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L" + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "Fortran 2003: El objeto de matriz NAMELIST '%s' con longitud de carácter que no es constante en la lista de nombres '%s' en %L" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, fuzzy, gcc-internal-format + #| msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L" + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "El objeto NAMELIST '%s' se declaró PRIVATE y no puede ser miembro de una lista de nombres PUBLIC '%s' en %L" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, fuzzy, gcc-internal-format + #| msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L" + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "El objeto NAMELIST '%s' tiene componentes PRIVATE asociados a uso y no puede ser miembro de la lista de nombres '%s' en %L" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, fuzzy, gcc-internal-format + #| msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L" + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "El objeto NAMELIST '%s' tiene componentes PRIVATE y no puede ser un miembro de la lista de nombres PUBLIC '%s' en %L" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "El atributo PROCEDURE genera un conflicto con el atributo NAMELIST en '%s' en %L" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, fuzzy, gcc-internal-format + #| msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape" + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "La matriz de parámetro '%s' en %L no puede ser automática ni de forma diferida" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, fuzzy, gcc-internal-format + #| msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type" + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "El PARAMETER de tipo implícito '%s' en %L no coincide con un tipo IMPLICIT posterior" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "Tipo derivado incompatible en PARAMETER en %L" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, fuzzy, gcc-internal-format + #| msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute" + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "El bloque COMMON '%s' en %L no puede tener el atributo EXTERNAL" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, fuzzy, gcc-internal-format + #| msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute" + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "La entidad '%s' en %L tiene un parámetro de tipo diferido y requiere el atributo pointer o allocatable" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, gcc-internal-format, gfc-internal-format + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "El atributo PROTECTED genera un conflicto con el atributo EXTERNAL en %L" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, gcc-internal-format, gfc-internal-format + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "El atributo PROCEDURE genera un conflicto con el atributo PROTECTED en %L" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array" + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "'%s' en %L tiene el atributo CONTIGUOUS pero no es un puntero de matriz o una matriz de forma asumida" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Bad specification for assumed size array at %C" + msgid "Bad specification for assumed size array at %L" + msgstr "Especificación errónea para la matriz de tamaño asumido en %C" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "La matriz de tamaño asumido en %L debe ser un argumento de prueba" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "La matriz de forma asumida en %L debe ser un argumento de prueba" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array at %L must be a dummy argument" + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "La matriz de forma asumida en %L debe ser un argumento de prueba" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "El símbolo en %L no es una variable DUMMY" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument" + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "'%s' en %L no puede tener el atributo VALUE porque no es un argumento dummy" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, fuzzy, gcc-internal-format + #| msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length" + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "La variable dummy de carácter '%s' en %L con atributo VALUE debe tener longitud constante" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, fuzzy, gcc-internal-format + #| msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one" + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "La variable dummy de carácter interoperable con C '%s' en %L con atributo VALUE debe ser de longitud uno" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, fuzzy, gcc-internal-format + #| msgid "The derived type '%s' at %L is of type '%s', which has not been defined" + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "El tipo derivado '%s' en %L es de tipo '%s', el cual no se ha definido" + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes" + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "La variable '%s' en %L no puede tener los atributos ALLOCATABLE y BIND(C) al mismo tiempo" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes" + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "La variable '%s' en %L no puede tener los atributos POINTER y BIND(C) al mismo tiempo" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array" + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "'%s' en %L tiene el atributo CONTIGUOUS pero no es un puntero de matriz o una matriz de forma asumida" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression" + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "No se permite la matriz de forma asumida '%s' en %L en una expresión de inicialización" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes" + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "La variable '%s' en %L no puede tener los atributos ALLOCATABLE y BIND(C) al mismo tiempo" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes" + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "La variable '%s' en %L no puede tener los atributos POINTER y BIND(C) al mismo tiempo" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Loop variable at %C cannot be a coarray" + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "La variable de bucle en %C no puede ser una comatriz" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "La variable '%s' en %L no puede ser BIND(C) porque no es un bloque COMMON ni se declaró en el ámbito de nivel de módulo" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, fuzzy, gcc-internal-format + #| msgid "COMMON variable '%s' at %L must have constant character length" + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "La variable COMMON '%s' en %L debe tener longitud de cáracter constante en este contexto" + +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'" + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "Fortran 2003: La función PUBLIC %s '%s' en %L es de tipo derivado PRIVATE '%s'" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "La variable %s en %L de tipo LOCK_TYPE o con un subcomponente de tipo LOCK_TYPE debe ser una comatriz" + +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "La variable %s en %L de tipo LOCK_TYPE o con un subcomponente de tipo LOCK_TYPE debe ser una comatriz" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, fuzzy, gcc-internal-format + #| msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer" + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "El argumento dummy INTENT(OUT) '%s' en %L es ASSUMED SIZE y por lo tanto no puede tener un inicializador por defecto" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "El argumento dummy '%s' en %L de LOCK_TYPE no puede ser INTENT(OUT)" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "El argumento dummy '%s' en %L de LOCK_TYPE no puede ser INTENT(OUT)" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, fuzzy, gcc-internal-format + #| msgid "Function result '%s' at %L shall not be a coarray or have a coarray component" + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "El resultado de la función '%s' en %L no puede ser una comatriz o tener un componente comatriz" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "La variable '%s' en %L de TYPE(C_PTR) o TYPE(C_FUNPTR) no debe ser una comatriz" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "La variable '%s' en %L con componente de comatriz debe ser un escalar que no sea puntero alojable" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "La variable '%s' en %L es una comatriz y no es ALLOCATABLE, SAVE ni un argumento dummy" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, fuzzy, gcc-internal-format + #| msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape" + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "La variable de comatriz '%s' en %L no debe tener codimensiones con forma diferida" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, fuzzy, gcc-internal-format + #| msgid "Allocatable coarray variable '%s' at %L must have deferred shape" + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "La variable comatriz allocatable '%s' en %L debe tener forma diferida" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "La variable '%s' en %L es INTENT(OUT) y por lo tanto no puede ser una comatriz allocatable o tener componentes comatriz" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, fuzzy, gcc-internal-format + #| msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'" + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "No se permite la variable dummy comatriz '%s' en %L en el procedimiento BIND(C) '%s'" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, fuzzy, gcc-internal-format + #| msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'" + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "No se permite la variable dummy comatriz '%s' en %L en el procedimiento BIND(C) '%s'" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, fuzzy, gcc-internal-format + #| msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'" + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "No se permite la variable dummy comatriz '%s' en %L en el procedimiento BIND(C) '%s'" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, fuzzy, gcc-internal-format + #| msgid "Namelist %s cannot be renamed by USE association to %s" + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "La lista de nombres %s no se puede renombrar por asociación de USE a %s" + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "No se guarda (SAVE) el threadprivate en %L" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expecting list of named entities at %C" + msgid "Expecting definable entity near %L" + msgstr "Se espera la lista de entidades nombradas %C" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, fuzzy, gcc-internal-format + #| msgid "BLOCK DATA element '%s' at %L must be in COMMON" + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "El elemento BLOCK DATA '%s' en %L debe estar en COMMON" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, fuzzy, gcc-internal-format + #| msgid "DATA array '%s' at %L must be specified in a previous declaration" + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "La matriz DATA '%s' en %L se debe especificar en una declaración previa" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, fuzzy, gcc-internal-format + #| msgid "DATA element '%s' at %L cannot have a coindex" + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "El elemento DATA '%s' en %L no puede tener un coíndice" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, fuzzy, gcc-internal-format + #| msgid "DATA element '%s' at %L is a pointer and so must be a full array" + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "El elemento DATA '%s' en %L es un puntero y entonces debe ser una matriz completa" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, fuzzy, gcc-internal-format + #| msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute" + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "El argumento '%s' del procedimiento elemental en %L no puede tener el atributo ALLOCATABLE" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "Sección de matriz no constante en %L en la declaración DATA" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "La declaración DATA en %L tiene más variables que valores" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "el inicio del bucle do implícito en %L no se puede simplificar a un valor constante" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "el final del bucle do implícito en %L no se puede simplificar a un valor constante" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "el paso del bucle do implícito en %L no se puede simplificar a un valor constante" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgid "step of implied-do loop at %L shall not be zero" + msgstr "el paso del bucle do implícito en %L no se puede simplificar a un valor constante" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "La declaración DATA en %L tiene más valores que variables" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but not used" + msgstr "Se define la etiqueta %d en %L pero no se usa" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but cannot be used" + msgstr "Se define la etiqueta %d en %L pero no se puede usar" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "La variable de tipo derivado '%s' en %L debe tener el atributo SEQUENCE para ser un objeto EQUIVALENCE" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "La variable de tipo derivado '%s' en %L no puede tener componentes ALLOCATABLE que sean un objeto EQUIVALENCE" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "La variable de tipo derivado '%s' en %L con inicializadores por defecto no puede ser un objeto EQUIVALENCE con una variable en COMMON" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "La variable de tipo derivado '%s' en %L con componente(s) de puntero no puede ser un objeto EQUIVALENCE" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "Error sintáctico en la declaración EQUIVALENCE en %L" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "Todos o ninguno de los objetos en el conjunto EQUIVALENCE en %L deben tener el atributo PROTECTED" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, fuzzy, gcc-internal-format + #| msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'" + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "El miembro de bloque común '%s' en %L no puede ser un objeto EQUIVALENCE en el procedimiento puro '%s'" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, fuzzy, gcc-internal-format + #| msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object" + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "La constante nombrada '%s' en %L no puede ser un objeto EQUIVALENCE" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, fuzzy, gcc-internal-format + #| msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "La matriz '%s' en %L con límites que no son constantes no puede ser un objeto EQUIVALENCE" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, fuzzy, gcc-internal-format + #| msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object" + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "El componente de estructura '%s' en %L no puede ser un objeto EQUIVALENCE" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "La subcadena en %L tiene longitud cero" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, fuzzy, gcc-internal-format + #| msgid "Different character lengths in pointer assignment at %L" + msgid "Self reference in character length expression for %qs at %L" + msgstr "Longitudes de carácter diferentes en la asignación de puntero en %L" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, fuzzy, gcc-internal-format + #| msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'" + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "La función PUBLIC '%s' en %L no puede ser del tipo PRIVATE '%s'" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, fuzzy, gcc-internal-format + #| msgid "ENTRY '%s' at %L has no IMPLICIT type" + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "ENTRY '%s' en %L no tiene tipo IMPLICIT" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, fuzzy, gcc-internal-format + #| msgid "User operator procedure '%s' at %L must be a FUNCTION" + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "El procedimiento de operador de usuario '%s' en %L debe ser FUNCTION" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, fuzzy, gcc-internal-format + #| msgid "User operator procedure '%s' at %L cannot be assumed character length" + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "El procedimiento de operador de usuario '%s' en %L no puede ser de longitud de carácter asumido" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, fuzzy, gcc-internal-format + #| msgid "User operator procedure '%s' at %L must have at least one argument" + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "El procedimiento de operador de usuario '%s' en %L debe tener al menos un argumento" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "El primer argumento de la interfaz de operador en %L no puede ser opcional" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "El segundo argumento de la interfaz de operador en %L no puede ser opcional" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "La interfaz de operador en %L debe tener, cuando mucho, dos argumentos" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, fuzzy, gcc-internal-format + #| msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE" + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" +@@ -83582,7 +83557,7 @@ msgstr "Se sobreescriben los inicializadores desiguales en EQUIVALENCE en %L" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "Se sobreescriben los inicializadores desiguales en EQUIVALENCE en %L" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "" +@@ -83595,13 +83570,13 @@ msgstr "" + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "El número de elementos en el constructor de matriz en %L requiere un incremento del límite superior %d permitido. Vea la opción -fmax-array-constructor" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, fuzzy, gcc-internal-format + #| msgid "Creating array temporary at %L for argument '%s'" + msgid "Creating array temporary at %L for argument %qs" + msgstr "Se crea una matriz temporal en %L para el argumento '%s'" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "tipo de expresión errónea durante la caminata (%d)" +@@ -83704,100 +83679,94 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "" + + #: fortran/trans-decl.cc:1795 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Symbol '%s' at %L has no IMPLICIT type" +-msgid "%s at %C has no default type" +-msgstr "El símbolo '%s' en %L no tiene tipo IMPLICIT" +- +-#: fortran/trans-decl.cc:1798 + #, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "variable intrínseca que no es un procedimiento" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, fuzzy, gcc-internal-format + #| msgid "Return value of function '%s' at %L not set" + msgid "Return value of function %qs at %L not set" + msgstr "No se define el valor de devolución de la función '%s' en %L" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, gcc-internal-format + msgid "Deferred type parameter not yet supported" + msgstr "Aún no se admite un parámetro de tipo diferido" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, fuzzy, gcc-internal-format + #| msgid "backend decl for module variable %s already exists" + msgid "backend decl for module variable %qs already exists" + msgstr "ya existe la declaración del extremo trasero para la variable de módulo %s" + +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, fuzzy, gcc-internal-format + #| msgid "Unused variable '%s' declared at %L" + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "Se declaró la variable '%s' sin uso en %L" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument" + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "'%s' en %L no puede tener el atributo VALUE porque no es un argumento dummy" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, fuzzy, gcc-internal-format + #| msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer" + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "El componente '%s' en %L tiene el atributo CONTIGUOUS porque no es un puntero de matriz" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set" + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "El argumento dummy '%s' en %L se declaró INTENT(OUT) pero no se estableció" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, fuzzy, gcc-internal-format + #| msgid "Derived-type dummy argument '%s' at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "El argumento dummy de tipo derivado '%s' en %L se declaró INTENT(OUT) pero no se estableció y no tiene un inicializador por defecto" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, fuzzy, gcc-internal-format + #| msgid "Unused dummy argument '%s' at %L" + msgid "Unused dummy argument %qs at %L" + msgstr "Argumento dummy sin uso '%s' en %L" + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, fuzzy, gcc-internal-format + #| msgid "Unused module variable '%s' which has been explicitly imported at %L" + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "Variable de módulo '%s' sin uso la cual se importó explícitamente en %L" + +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, fuzzy, gcc-internal-format + #| msgid "Unused variable '%s' declared at %L" + msgid "Unused variable %qs declared at %L" + msgstr "Se declaró la variable '%s' sin uso en %L" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, fuzzy, gcc-internal-format + #| msgid "Unused parameter '%s' declared at %L" + msgid "Unused parameter %qs declared at %L" + msgstr "Se declaró el parámetro '%s' sin uso en %L" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, fuzzy, gcc-internal-format + #| msgid "Unused parameter '%s' which has been explicitly imported at %L" + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "Parámetro '%s' sin uso el cual se importó explícitamente en %L" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, fuzzy, gcc-internal-format + #| msgid "Return value '%s' of function '%s' declared at %L not set" + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "No se define el valor de devolución '%s' de la función '%s' declarada en %L" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "" +@@ -83813,29 +83782,29 @@ msgstr "ISO C90 prohíbe la matriz de longitud variable %qE" + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Sorry, allocatable scalar coarrays are not yet supported at %L" + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "Lo siento, aún no se admiten las comatrices escalares alojables en %L" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Sorry, allocatable scalar coarrays are not yet supported at %L" + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "Lo siento, aún no se admiten las comatrices escalares alojables en %L" + +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, gcc-internal-format + msgid "Unknown intrinsic op" + msgstr "Operador intrínseco desconocido" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, gcc-internal-format, gfc-internal-format + msgid "Unknown argument list function at %L" + msgstr "Lista de argumentos de función desconocida en %L" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "" +@@ -85792,9 +85761,6 @@ msgstr "parámetro %qD sin uso" + #~ msgid "PIC register isn't set up" + #~ msgstr "el registro PIC aún no está preparado" + +-#~ msgid "invalid operand size for operand code 'Z'" +-#~ msgstr "tamaño de operando no válido para el código de operando 'Z'" +- + #, fuzzy + #~| msgid "operand is not a condition code, invalid operand code 'Y'" + #~ msgid "operand is not a condition code, invalid operand code 'I'" +diff --git a/gcc/po/fi.po b/gcc/po/fi.po +index 0430b997c88..ea21d8c83ea 100644 +--- a/gcc/po/fi.po ++++ b/gcc/po/fi.po +@@ -32,7 +32,7 @@ msgid "" + msgstr "" + "Project-Id-Version: gcc 11.1-b20210321\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" + "PO-Revision-Date: 2021-03-23 21:16+0200\n" + "Last-Translator: Lauri Nurmi \n" + "Language-Team: Finnish \n" +@@ -4094,7 +4094,7 @@ msgstr "" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "" + + #: m2/lang.opt:127 +@@ -7746,11 +7746,6 @@ msgstr "" + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "" + +-#: config/i386/i386.opt:1280 +-#, fuzzy, no-c-format +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "sisäistä funktiota %qs ei voi ottaa pois käytöstä" +- + #: config/pa/pa64-hpux.opt:23 + #, fuzzy, no-c-format + msgid "Assume code will be linked by GNU ld." +@@ -17323,12 +17318,12 @@ msgstr "FORMAT-nimiö %d kohdassa %L ei ole määritelty" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "liukulukuvakiota käytetty väärin" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +@@ -18399,115 +18394,115 @@ msgstr "Tältä valitsimelta puuttuu dokumentaatio" + msgid "Uses of this option are diagnosed." + msgstr "%s: oletetaan RTC:n käyttävän UTC:tä...\n" + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "Sama kuin %s%s (tai kielteisessä muodossa %s%s)." + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, fuzzy, c-format + msgid "Same as %s%s." + msgstr "on vaarallista toimia rekursiivisesti hakemistossa %s (sama kuin %s)" + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, fuzzy, c-format + msgid "Same as %s." + msgstr "on vaarallista toimia rekursiivisesti hakemistossa %s (sama kuin %s)" + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, fuzzy, c-format + msgid "%s Same as %s." + msgstr "on vaarallista toimia rekursiivisesti hakemistossa %s (sama kuin %s)" + +-#: opts.cc:1733 ++#: opts.cc:1732 + #, fuzzy + msgid "[available in " + msgstr "Silmukkamuuttuja" + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "[oletus]" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, c-format + msgid "%llu bytes" + msgstr "%llu tavua" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "[käytössä]" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "[ei käytössä]" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr " Yhtään valitsinta halutuilla ominaisuuksilla ei löytynyt\n" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr " Mitään ei löytynyt. Käytä --help=%s näyttämään *kaikki* valitsimet, joita %s-edusta tukee.\n" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr " Kaikki valitsimet halutuilla ominaisuuksilla on jo näytetty\n" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, fuzzy, c-format + msgid "" + " Known valid arguments for %s option:\n" + " " + msgstr "Virheellinen vähimmäisargumenttimäärä (%d) funktiolle %s" + +-#: opts.cc:1959 ++#: opts.cc:1958 + msgid "The following options are target specific" + msgstr "Seuraavat valitsimet ovat kohdekohtaisia" + +-#: opts.cc:1962 ++#: opts.cc:1961 + #, fuzzy + msgid "The following options control compiler warning messages" + msgstr "Seuraavat valitsimet ohjaavat optimointeja" + +-#: opts.cc:1965 ++#: opts.cc:1964 + msgid "The following options control optimizations" + msgstr "Seuraavat valitsimet ohjaavat optimointeja" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + msgid "The following options are language-independent" + msgstr "Seuraavat valitsimet ovat kielestä riippumattomia" + +-#: opts.cc:1971 ++#: opts.cc:1970 + #, fuzzy + msgid "The following options control parameters" + msgstr "Seuraavat valitsimet ohjaavat optimointeja" + +-#: opts.cc:1977 ++#: opts.cc:1976 + msgid "The following options are specific to just the language " + msgstr "Seuraavat valitsimet ovat liittyvät kieleen " + +-#: opts.cc:1979 ++#: opts.cc:1978 + msgid "The following options are supported by the language " + msgstr "Kieli tukee seuraavia valitsimia " + +-#: opts.cc:1990 ++#: opts.cc:1989 + msgid "The following options are not documented" + msgstr "Seuraavia valitsimia ei ole dokumentoitu" + +-#: opts.cc:1992 ++#: opts.cc:1991 + #, fuzzy + msgid "The following options take separate arguments" + msgstr "Seuraavia valitsimia ei ole dokumentoitu" + +-#: opts.cc:1994 ++#: opts.cc:1993 + #, fuzzy + msgid "The following options take joined arguments" + msgstr "Seuraavia valitsimia ei ole dokumentoitu" + +-#: opts.cc:2006 ++#: opts.cc:2005 + msgid "The following options are language-related" + msgstr "Seuraavat valitsimet ovat kieleen liittyviä" + +@@ -18903,73 +18898,73 @@ msgstr "pituusmääre strfmon-muotoilussa" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, fuzzy, c-format + msgid "unsupported operand for code '%c'" + msgstr "fr30_print_operand: tuntematon koodi" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, fuzzy, c-format + msgid "invalid operand for '%%%c'" + msgstr "virheellinen const_double-operandi" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, fuzzy, c-format + msgid "invalid vector constant" + msgstr "virheellinen rotate-käsky" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, fuzzy, c-format + msgid "incompatible register operand for '%%%c'" + msgstr "virheellinen const_double-operandi" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, c-format + msgid "missing operand" + msgstr "puuttuva operandi" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, fuzzy, c-format + msgid "invalid constant" + msgstr "virheellinen rotate-käsky" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, fuzzy, c-format + msgid "invalid operand" + msgstr "muotomerkkijonolla on epäkelpo operandinumero" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, fuzzy, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "virheellinen etuliite ”0b” liukulukuvakiolle" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, fuzzy, c-format + msgid "invalid address mode" + msgstr "virheellinen %%G-tila" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + #, fuzzy + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "Virheellinen liukulukuoperaatio" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "" +@@ -18986,18 +18981,18 @@ msgid "invalid %%r value" + msgstr "virheellinen %%r-arvo" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "virheellinen %%R-arvo" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "virheellinen %%N-arvo" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" + msgstr "virheellinen %%P-arvo" +@@ -19027,7 +19022,7 @@ msgstr "virheellinen %%M-arvo" + msgid "invalid %%U value" + msgstr "virheellinen %%U-arvo" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" + msgstr "virheellinen %%s-arvo" +@@ -19037,7 +19032,7 @@ msgstr "virheellinen %%s-arvo" + msgid "invalid %%C value" + msgstr "virheellinen %%C-arvo" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" + msgstr "virheellinen %%E-arvo" +@@ -19050,7 +19045,7 @@ msgstr "uudelleensijoitusvirhe" + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" + msgstr "virheellinen %%xn-koodi" +@@ -19134,35 +19129,35 @@ msgstr "virheellinen lauseke kohdemuuttujana" + msgid "unrecognized supposed constant" + msgstr "tunnistamaton rekisterinimi %qs" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, fuzzy, c-format + msgid "invalid shift operand" + msgstr "virheellinen lauseke kohdemuuttujana" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, fuzzy, c-format + msgid "predicated Thumb instruction" + msgstr "Virheellinen käsky" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, fuzzy, c-format + msgid "predicated instruction in conditional sequence" + msgstr "ehtolausekkeessa on tyyppiristiriita" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, fuzzy, c-format + msgid "Unsupported operand for code '%c'" + msgstr "fr30_print_operand: tuntematon koodi" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -19171,28 +19166,28 @@ msgstr "fr30_print_operand: tuntematon koodi" + msgid "invalid operand for code '%c'" + msgstr "fr30_print_operand: virheellinen %%x-koodi" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, fuzzy, c-format + msgid "instruction never executed" + msgstr "kutsu %2d ei suoritettu koskaan\n" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, fuzzy, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "fr30_print_operand: tuntematon koodi" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + #, fuzzy + msgid "invalid conversion from type %" + msgstr "virheellinen muunnos tyypistä %qT tyypiksi %qT" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + #, fuzzy + msgid "invalid conversion to type %" + msgstr "virheellinen muunnos tyypistä %qT tyyppiin %qT" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "" + +@@ -19605,97 +19600,97 @@ msgstr "virheellinen rotate-käsky" + msgid "Expected register or constant integer." + msgstr "Odotettiin nimetöntä rajapintaa kohdassa %C" + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, fuzzy, c-format + msgid "invalid UNSPEC as operand" + msgstr "virheellinen const_double-operandi" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, c-format + msgid "invalid use of register '%s'" + msgstr "virheellinen rekisterin ”%s” käyttö" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, fuzzy, c-format + msgid "invalid use of asm flag output" + msgstr "virheellinen lvalue asm-tulosteessa %d" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, fuzzy, c-format + msgid "invalid operand size for operand code 'O'" + msgstr "fr30_print_operand: virheellinen %%x-koodi" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, fuzzy, c-format + msgid "invalid operand size for operand code 'z'" + msgstr "fr30_print_operand: virheellinen %%x-koodi" + +-#: config/i386/i386.cc:13290 ++#: config/i386/i386.cc:13283 + #, fuzzy, c-format +-msgid "invalid operand type used with operand code '%c'" ++msgid "invalid operand type used with operand code 'Z'" + msgstr "epäkelvot operandit binääriselle %s-operaatiolle" + +-#: config/i386/i386.cc:13295 ++#: config/i386/i386.cc:13288 + #, fuzzy, c-format +-msgid "invalid operand size for operand code '%c'" ++msgid "invalid operand size for operand code 'Z'" + msgstr "fr30_print_operand: virheellinen %%x-koodi" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, fuzzy, c-format + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "fr30_print_operand: virheellinen %%F-koodi" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, fuzzy, c-format + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "fr30_print_operand: virheellinen %%x-koodi" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, fuzzy, c-format + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "fr30_print_operand: virheellinen %%x-koodi" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, fuzzy, c-format + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "fr30_print_operand: virheellinen %%F-koodi" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, fuzzy, c-format + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "fr30_print_operand: virheellinen %%F-koodi" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, fuzzy, c-format + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "fr30_print_operand: virheellinen %%F-koodi" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, fuzzy, c-format + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "fr30_print_operand: virheellinen %%F-koodi" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, fuzzy, c-format + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "fr30_print_operand: virheellinen %%F-koodi" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, fuzzy, c-format + msgid "invalid operand code '%c'" + msgstr "fr30_print_operand: virheellinen %%x-koodi" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, fuzzy, c-format + msgid "invalid constraints for operand" + msgstr "virheellinen lauseke kohdemuuttujana" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, fuzzy, c-format + msgid "invalid vector immediate" + msgstr "Muotoillun tulosteen hallinta:" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + #, fuzzy + msgid "unknown insn mode" + msgstr "tuntematon move-käsky:" +@@ -19730,7 +19725,7 @@ msgstr "Virheellinen operaatiokoodi" + msgid "invalid %%P operand" + msgstr "virheellinen %%P-operandi" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" + msgstr "virheellinen %%p-arvo" +@@ -19776,8 +19771,8 @@ msgstr "Nolla ei ole kelvollinen lausekenimiö kohdassa %C" + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, c-format + msgid "invalid use of '%%%c'" + msgstr "virheellinen ”%%%c”:n käyttö" +@@ -19813,7 +19808,7 @@ msgid "post-increment address is not a register" + msgstr "halutaan rekisterimuuttujan %qD osoite" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" + msgstr "virheellinen osoite" + +@@ -19984,7 +19979,7 @@ msgstr "yritettiin käyttää ominaisuutta, jolle ei ole tukea: ”%s”" + msgid "unsupported memory expression:" + msgstr "kiintopistevakiot ovat GCC-laajennos" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, fuzzy, c-format + #| msgid "invalid %%r operand" + msgid "invalid vector operand" +@@ -20045,151 +20040,151 @@ msgstr "Tuota little-endian-koodia" + msgid "bad move" + msgstr "Siirrä alas" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + #, fuzzy + msgid "Bad 128-bit move" + msgstr "Käytä 128-bittistä long double -tyyppiä" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, fuzzy, c-format + msgid "invalid %%A value" + msgstr "virheellinen %%J-arvo" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" + msgstr "virheellinen %%D-arvo" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, fuzzy, c-format + msgid "invalid %%e value" + msgstr "virheellinen %%E-arvo" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" + msgstr "virheellinen %%f-arvo" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" + msgstr "virheellinen %%F-arvo" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" + msgstr "virheellinen %%G-arvo" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" + msgstr "virheellinen %%j-koodi" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" + msgstr "virheellinen %%J-koodi" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" + msgstr "virheellinen %%k-arvo" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "virheellinen %%K-arvo" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" + msgstr "virheellinen %%O-arvo" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" + msgstr "virheellinen %%q-arvo" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, fuzzy, c-format + msgid "invalid %%t value" + msgstr "virheellinen %%J-arvo" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" + msgstr "virheellinen %%T-arvo" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" + msgstr "virheellinen %%u-arvo" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "virheellinen %%v-arvo" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, fuzzy, c-format + msgid "invalid %%V value" + msgstr "virheellinen %%J-arvo" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" + msgstr "virheellinen %%x-arvo" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, fuzzy, c-format + msgid "invalid %%z value" + msgstr "virheellinen %%J-arvo" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, fuzzy, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "virheellinen vektoripermutaatiovakio" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + #, fuzzy + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "säiekohtaista muistia ei tueta tälle kohteelle" + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + msgid "AltiVec argument passed to unprototyped function" + msgstr "AltiVec-argumentti välitetty funktiolle, jolla ei ole prototyyppiä" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + #, fuzzy + msgid "Could not generate addis value for fusion" + msgstr "Älä luo #line-direktiivejä" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + #, fuzzy + msgid "Unable to generate load/store offset for fusion" + msgstr "%s: Tätä tiedostoa ei voitu varmuuskopioida" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + #, fuzzy + msgid "Bad GPR fusion" + msgstr "Virheelliset merkit" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + #, fuzzy + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "virheellinen muunnos tyypistä %qT tyypiksi %qT" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + #, fuzzy + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "virheellinen muunnos tyypistä %qT tyyppiin %qT" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + #, fuzzy + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "virheellinen muunnos tyypistä %qT tyypiksi %qT" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + #, fuzzy + msgid "invalid conversion to type %<__vector_pair%>" + msgstr "virheellinen muunnos gimple-kutsussa" +@@ -20672,7 +20667,7 @@ msgstr "ehdokas 1:" + msgid " after user-defined conversion:" + msgstr "Ota käyttöön käyttäjän määrittelemät käskyt" + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + msgid "candidate is:" + msgid_plural "candidates are:" + msgstr[0] "ehdokas on:" +@@ -21189,7 +21184,7 @@ msgstr "ehtolausekkeessa on osoitintyyppiristiriita" + msgid "Driving:" + msgstr "Varoitus:" + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + msgid "actual argument to INTENT = OUT/INOUT" + msgstr "" + +@@ -21376,11 +21371,11 @@ msgstr "lohkolaite" + msgid "implied END DO" + msgstr "syötteen loppu" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + msgid "assignment" + msgstr "sijoitus" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + #, fuzzy + msgid "pointer assignment" + msgstr "Rajapintatäsmäämättömyys proseduuriosoitinsijoituksessa kohdassa %L: %s" +@@ -21399,224 +21394,224 @@ msgstr "" + " muuten yksinkertaisia\n" + " never, simple tee aina yksinkertaisia varmuuskopioita\n" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + #, fuzzy + msgid "elemental procedure" + msgstr "RPC: Proseduuri ei ole käytettävissä" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + #, fuzzy + msgid "allocatable argument" + msgstr "Virheellinen argumentti" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + #, fuzzy + msgid "asynchronous argument" + msgstr "ei argumentteja" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + msgid "optional argument" + msgstr "valinnainen argumentti" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + msgid "pointer argument" + msgstr "osoitinargumentti" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + msgid "target argument" + msgstr "kohdeargumentti" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + msgid "value argument" + msgstr "arvoargumentti" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + #, fuzzy + msgid "volatile argument" + msgstr "ylimääräinen %" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + #, fuzzy + msgid "assumed-shape argument" + msgstr "oletetaan palauttavan % ja hyväksyvän" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + #, fuzzy + msgid "assumed-rank argument" + msgstr "oletetaan palauttavan % ja hyväksyvän" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + #, fuzzy + msgid "coarray argument" + msgstr "Virheellinen argumentti" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + #, fuzzy + msgid "parametrized derived type argument" + msgstr "sijoitus kirjoitussuojattuun viitteeseen %qD" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + #, fuzzy + msgid "polymorphic argument" + msgstr "Virheellinen argumentti" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + #, fuzzy + msgid "NO_ARG_CHECK attribute" + msgstr "liian pitkä riviargumentti" + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + #, fuzzy + msgid "assumed-type argument" + msgstr "unaariselle miinus-operaatiolle annettu väärä tyyppiargumentti" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + #, fuzzy + msgid "array result" + msgstr "MD5-tulos on:\n" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + #, fuzzy + msgid "pointer or allocatable result" + msgstr "tulosta ei voi kirjoittaa: %s" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + #, fuzzy + msgid "result with non-constant character length" + msgstr "funktiota %<__builtin_next_arg%> kutsuttu ilman argumenttia" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + #, fuzzy + msgid "bind(c) procedure" + msgstr "Alustus kohdassa %C ei ole sallittu PURE-proseduurissa" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, fuzzy, c-format + msgid "Invalid context for NULL() pointer at %%L" + msgstr "Virheellinen proseduuriosoitinsijoitus kohdassa %L" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, fuzzy, c-format + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "pilkkuoperaattori #if:in operandissa" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, fuzzy, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "pilkkuoperaattori #if:in operandissa" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, fuzzy, c-format + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "pilkkuoperaattori #if:in operandissa" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, fuzzy, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "pilkkuoperaattori #if:in operandissa" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, fuzzy, c-format + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "pilkkuoperaattori #if:in operandissa" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, fuzzy, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "pilkkuoperaattori #if:in operandissa" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + #, fuzzy + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "osoitealueattribuuttia ei voi määritellä paikallisille muuttujille" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, fuzzy, c-format + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "pilkkuoperaattori #if:in operandissa" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, fuzzy, c-format + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "tuntematon binäärioperaattori" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, fuzzy, c-format + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "tuntematon binäärioperaattori" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, fuzzy, c-format + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "pilkkuoperaattori #if:in operandissa" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, fuzzy, c-format + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "pilkkuoperaattori #if:in operandissa" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, fuzzy, c-format + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "Yhteensopimattomat tasot %d ja %d sijoituksessa kohdassa %L" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "Silmukkamuuttuja" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + #, fuzzy + msgid "iterator variable" + msgstr "Syntaksivirhe iteraattorissa kohdassa %C" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + #, fuzzy + msgid "Start expression in DO loop" + msgstr "vektoriylivuoto lausekkeessa" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + #, fuzzy + msgid "End expression in DO loop" + msgstr "Ennenaikainen säännöllisen lausekkeen loppu" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + #, fuzzy + msgid "Step expression in DO loop" + msgstr "vektoriylivuoto lausekkeessa" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + #, fuzzy + msgid "DEALLOCATE object" + msgstr "EI OBJEKTIA\n" + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + #, fuzzy + msgid "ALLOCATE object" + msgstr "EI OBJEKTIA\n" + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + #, fuzzy + msgid "STAT variable" + msgstr "tiedoston tilan lukeminen epäonnistui" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + #, fuzzy + msgid "ERRMSG variable" + msgstr "%qD ei ole muuttuja" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + #, fuzzy + msgid "item in READ" + msgstr "Soita numero" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + #, fuzzy + msgid "ACQUIRED_LOCK variable" + msgstr "uutta arkistoa ei voi lukita" +@@ -21630,27 +21625,27 @@ msgstr "Odotettiin PARAMETER-symbolia kompleksivakiossa kohdassa %C" + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, fuzzy, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, fuzzy, c-format + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "liikaa argumentteja funktiolle %s %q+#D" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, fuzzy, c-format + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "liikaa argumentteja funktiolle %s %q+#D" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + #, fuzzy + msgid "Assignment of scalar to unallocated array" + msgstr "virheellinen taulukkosijoitus" +@@ -22592,7 +22587,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "Vain 1k-lohkot/vyöhykkeet ovat tuettuja" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in %s statement at %C" + msgstr "Syntaksivirhe %s-lauseessa kohdassa %C" +@@ -22964,7 +22959,7 @@ msgstr "%qE-attribuutti on ristiriidassa attribuutin %s kanssa" + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, fuzzy, gcc-internal-format + msgid "previous declaration here" +@@ -23062,10 +23057,10 @@ msgstr "%qs-attribuuttia ei huomioida ei-luokkatyypeille" + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -23200,7 +23195,7 @@ msgstr "tiedoston ”%s” otsaketta ei voi lukea" + msgid "offset %qwi outside bounds of constant string" + msgstr "siirros vakiomerkkijonon rajojen ulkopuolelle" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, gcc-internal-format + msgid "%qE declared here" + msgstr "%qE esitelty täällä" +@@ -25034,7 +25029,7 @@ msgstr "suuri kokonaisluku implisiittisesti katkaistu etumerkittömäksi tyypiks + msgid "comparison is always %d due to width of bit-field" + msgstr "vertailu on aina %d johtuen bittikentän leveydestä" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "" +@@ -25810,7 +25805,7 @@ msgstr "funktio palauttaa osoitteen paikalliseen muuttujaan" + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -26938,14 +26933,14 @@ msgstr "%qD ei ole %qD:n jäsen" + msgid "using a dangling pointer to %qD" + msgstr "epäkelpo osoitintila %qs" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, gcc-internal-format + msgid "%qD declared here" + msgstr "%qD esitelty täällä" +@@ -26990,7 +26985,7 @@ msgstr "%qD on tavallisesti ei-staattinen funktio" + msgid "call to %qD" + msgstr "%J%qD esitelty turhaan uudestaan" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, fuzzy, gcc-internal-format + msgid "storing the address of local variable %qD in %qE" + msgstr "palautettu osoite paikalliseen muuttujaan %q+D" +@@ -28059,7 +28054,7 @@ msgstr "" + msgid "IPA modref summary is missing in input file" + msgstr "" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, fuzzy, gcc-internal-format + msgid "invalid jump function in LTO stream" + msgstr "virheellinen muunnos gimple-kutsussa" +@@ -29019,7 +29014,7 @@ msgstr "moduulienvälisiä optimointeja ei ole toteutettu C++:lle" + msgid "command-line option %qs is not supported by this configuration" + msgstr "komentorivivalitsin %qs on kelvollinen kohteelle %s, mutta ei kohteelle %s" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, fuzzy, gcc-internal-format + msgid "missing argument to %qs" + msgstr "polku puuttuu %qs:n jälkeen" +@@ -29059,12 +29054,12 @@ msgstr "valitsimia -mcorea ja -mcoreb ei voi käyttää yhdessä" + msgid "unrecognized argument in option %qs" + msgstr "tuntematon komentorivivalitsin %qs" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "Kelvolliset argumentit:" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %qs are: %s" + msgstr "Kelvolliset argumentit:" +@@ -29219,7 +29214,7 @@ msgstr "säiekohtaista muistia ei tueta tälle kohteelle" + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "valitsin %qs ei ole enää tuettu" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, fuzzy, gcc-internal-format + msgid "%<-fsanitize-trap=%s%> is not supported" + msgstr "valitsin %qs ei ole enää tuettu" +@@ -29259,182 +29254,182 @@ msgstr "%s ei tue muotoilua %<%%%s%c%> %s" + msgid "variable tracking requested, but not supported by this debug format" + msgstr "%s ei tue muotoilua %<%%%s%c%> %s" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, fuzzy, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "säiekohtaista muistia ei tueta tälle kohteelle" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, fuzzy, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "säiekohtaista muistia ei tueta tälle kohteelle" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, fuzzy, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "säiekohtaista muistia ei tueta tälle kohteelle" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, gcc-internal-format + msgid "unrecognized % passed to %" + msgstr "" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, fuzzy, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "Kelvolliset argumentit --quoting-style-valitsimelle ovat:" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "tuntematon komentorivivalitsin ”%s”" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "tuntematon komentorivivalitsin ”%s”" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, fuzzy, gcc-internal-format + msgid "%qs attribute directive ignored" + msgstr "%qE-attribuuttia ei huomioida %qE:lle" + +-#: opts.cc:2347 ++#: opts.cc:2346 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "valitsin -mcpu=%s on ristiriidassa valitsimen -march=%s kanssa" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, fuzzy, gcc-internal-format + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "Virheellinen vähimmäisargumenttimäärä (%d) funktiolle %s" + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, fuzzy, gcc-internal-format + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "liian monta argumenttia funktiolle %qE" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, fuzzy, gcc-internal-format + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr " uid = %d, gid = %d, oikeudet = 0%o.\n" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, fuzzy, gcc-internal-format + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "Virheellinen vähimmäisargumenttimäärä (%d) funktiolle %s" + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, gcc-internal-format + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "tuntematon komentorivivalitsin ”%s”" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, fuzzy, gcc-internal-format + msgid "structure alignment must be a small power of two, not %wu" + msgstr "kohdistuksen pitää olla kahden potenssi, ei %d" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, fuzzy, gcc-internal-format + msgid "unknown stack check parameter %qs" + msgstr "tuntematon konetila %qs" + +-#: opts.cc:3158 ++#: opts.cc:3157 + #, gcc-internal-format + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "" + +-#: opts.cc:3169 ++#: opts.cc:3168 + #, gcc-internal-format + msgid "dwarf version %wu is not supported" + msgstr "dwarfin versio %wu ei ole tuettu" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "tuntematon komentorivivalitsin ”%s”" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, fuzzy, gcc-internal-format + msgid "target system does not support debug output" + msgstr "%s ei tue muotoilua %<%%%s%c%> %s" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, fuzzy, gcc-internal-format + msgid "debug format %qs conflicts with prior selection" + msgstr "%J%qD:n lohko on ristiriidassa edellisen esittelyn kanssa" + +-#: opts.cc:3468 ++#: opts.cc:3467 + #, fuzzy, gcc-internal-format + msgid "unrecognized debug output level %qs" + msgstr "tunnistamaton rekisterinimi %qs" + +-#: opts.cc:3470 ++#: opts.cc:3469 + #, fuzzy, gcc-internal-format + msgid "debug output level %qs is too high" + msgstr "tunnistamaton rekisterinimi %qs" + +-#: opts.cc:3482 ++#: opts.cc:3481 + #, fuzzy, gcc-internal-format + msgid "unrecognized btf debug output level %qs" + msgstr "tunnistamaton rekisterinimi %qs" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "tunnistamaton gcc:n vianjäljitysvalitsin: %c" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, fuzzy, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "tunnistamaton komentorivivalitsin %<-fdump-%s%>" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, fuzzy, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "%s: valitsin ”%s” on moniselitteinen\n" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, fuzzy, gcc-internal-format + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" + msgstr "tuntematon komentorivivalitsin %qs" +@@ -30108,187 +30103,187 @@ msgstr "" + msgid "%qD renamed after being referenced in assembly" + msgstr "" + +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, fuzzy, gcc-internal-format + msgid "function symbol is not function" + msgstr "funktion palauttava funktio" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, gcc-internal-format + msgid "inconsistent % attribute" + msgstr "" + +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, fuzzy, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "%qD ei ole muuttuja" + +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "solmun tyyppi on tuntematon" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "node has invalid order %i" + msgstr "virheellinen IACC-argumentti" + +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "" + +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, fuzzy, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "ei-muuttujan %qD esittely %-silmukan alkuesittelyssä" + +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, fuzzy, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "ei-muuttujan %qD esittely %-silmukan alkuesittelyssä" + +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, fuzzy, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "maa-asetustojen aliastiedostoa ”%s” ei löydy" + +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, fuzzy, gcc-internal-format + msgid "node is alias but not definition" + msgstr "maa-asetustojen aliastiedostoa ”%s” ei löydy" + +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, fuzzy, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "maa-asetustojen aliastiedostoa ”%s” ei löydy" + +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, fuzzy, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "maa-asetustojen aliastiedostoa ”%s” ei löydy" + +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, fuzzy, gcc-internal-format + msgid "node is symver but not alias" + msgstr "maa-asetustojen aliastiedostoa ”%s” ei löydy" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, fuzzy, gcc-internal-format + msgid "symver is not exported with default visibility" + msgstr "%qD esiteltiin tyyppinä %qs, mikä edellyttää oletusnäkyvyyttä" + +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, fuzzy, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "virheellinen sisäinen makro ”%s”" + +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, fuzzy, gcc-internal-format + msgid "implicit_section flag is set but section isn%'t" + msgstr "funktio %qE esitelty implisiittisesti" + +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, fuzzy, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "virheellinen sisäinen makro ”%s”" + +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, fuzzy, gcc-internal-format + msgid "Alias and target%'s section differs" + msgstr "Sama kuin --help=target" + +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, fuzzy, gcc-internal-format + msgid "Alias and target%'s comdat groups differs" + msgstr "Sama kuin --help=target" + +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, fuzzy, gcc-internal-format + msgid "Transparent alias and target%'s assembler names differs" + msgstr "Sama kuin --help=target" + +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, fuzzy, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "unionista ei voi tehdä läpinäkyvää" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "symtab_node::verify epäonnistui" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "invalid order in asm node %i" + msgstr "epäkelpo osoitintila %qs" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, fuzzy, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "%Jsisäänrakennettu funktio %qD esitelty ei-funktiona" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, fuzzy, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "muuttujalla %qD on funktiotyyppi" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -31963,27 +31958,27 @@ msgstr "sulkumerkkien käyttö laskulausekkeen ympärillä on suositeltavaa |-op + msgid "target specific builtin not available" + msgstr "Väärin muotoiltu kohdekohtainen muuttujamäärittely" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "" +@@ -32804,7 +32799,7 @@ msgstr "%qE-attribuuttia ei huomioida koska %qT on jo määritelty" + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "%qE-attribuuttia ei huomioida koska %qT on jo määritelty" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "%qE-attribuutti vaikuttaa vain julkisiin objekteihin" +@@ -34910,7 +34905,7 @@ msgstr "virheellinen loppuliite ”%.*s” liukulukuvakiolla" + msgid "traditional C rejects string constant concatenation" + msgstr "perinteinen C ei salli merkkijonovakioiden katenointia" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "" +@@ -36588,7 +36583,7 @@ msgstr "liikaa syötetiedostoja" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "%qD ei ole nimiavaruuden nimi" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for %<-mcpu%>" + msgstr "tuntematon cc_attr-arvo" +@@ -36620,15 +36615,15 @@ msgid "unrecognized option passed to %%:%" + msgstr "tuntematon komentorivivalitsin %qs" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "kelvolliset argumentit ovat: %s; tarkoititko %qs?" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, gcc-internal-format, gfc-internal-format + msgid "valid arguments are: %s" + msgstr "kelvolliset argumentit ovat: %s" +@@ -36713,48 +36708,48 @@ msgstr "-mcpu=%s ei ole kelvollinen" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "-mcpu=%s ei ole kelvollinen" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, fuzzy, gcc-internal-format + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "funktion palauttava funktio" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, fuzzy, gcc-internal-format + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr " uid = %d, gid = %d, oikeudet = 0%o.\n" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, fuzzy, gcc-internal-format + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "funktion palauttava funktio" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, fuzzy, gcc-internal-format + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr " uid = %d, gid = %d, oikeudet = 0%o.\n" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, fuzzy, gcc-internal-format + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "funktion palauttava funktio" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, fuzzy, gcc-internal-format + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr " uid = %d, gid = %d, oikeudet = 0%o.\n" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, fuzzy, gcc-internal-format + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr " uid = %d, gid = %d, oikeudet = 0%o.\n" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, fuzzy, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "ISO C90 ei tue joustavia taulukon jäseniä" +@@ -37239,13 +37234,13 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "%s %qs" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be an integer constant expression" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, fuzzy, gcc-internal-format + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" + msgstr "%s: kentän ”%s” arvon on oltava välillä %d...%d" +@@ -37513,7 +37508,7 @@ msgstr "argumentin %d antaminen funktiolle %qE tekee kokonaisluvusta osoittimen + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, fuzzy, gcc-internal-format + msgid "duplicate definition of %qs" + msgstr "kaksinkertainen <%s>:n määrittely" +@@ -37557,7 +37552,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "tyypillä %qT ei ole tunnettua kokoa" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, fuzzy, gcc-internal-format + msgid "variables of type %qT cannot have thread-local storage duration" + msgstr "%qE-attribuuttia ei huomioida koska %qT on jo määritelty" +@@ -37645,327 +37640,327 @@ msgstr "" + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "decltypen argumentin on oltava lauseke" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, fuzzy, gcc-internal-format + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "AltiVec-argumentti välitetty funktiolle, jolla ei ole prototyyppiä" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, fuzzy, gcc-internal-format + msgid "%qE requires the SVE ISA extension" + msgstr "Käytä 64-bittistä ABIa" + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, fuzzy, gcc-internal-format + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "sisäinen funktio %q+D esitelty ei-funktiona" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, gcc-internal-format + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, fuzzy, gcc-internal-format + msgid "%qs string ill-formed" + msgstr "" + "Käyttö: %s [MERKKIJONO]...\n" + " tai: %s VALITSIN\n" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, fuzzy, gcc-internal-format + msgid "invalid format for %" + msgstr "virheellinen lauseke kohdemuuttujana" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, fuzzy, gcc-internal-format + msgid "invalid % value: %d" + msgstr "virheellinen %%h-arvo" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" + "Käyttö: %s [MERKKIJONO]...\n" + " tai: %s VALITSIN\n" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "tuntematon valitsin -%s" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, gcc-internal-format + msgid "specify a system register with a small string length" + msgstr "" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "Funktio %qs" + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "" + +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, fuzzy, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "makron nimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "tuntematon konetila %qs" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, fuzzy, gcc-internal-format + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "epäkelpo argumentti funktiolle %<__builtin_frame_address%>" + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, fuzzy, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "-Wformat-y2k jätetty huomiotta ilman valitsinta -Wformat" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, fuzzy, gcc-internal-format + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "Virheellinen vähimmäisargumenttimäärä (%d) funktiolle %s" + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, fuzzy, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "makron nimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for %<-march%>" + msgstr "tuntematon cc_attr-arvo" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, fuzzy, gcc-internal-format + msgid "did you mean %<-mcpu=%s%>?" + msgstr "makron nimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "tiedostonimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, fuzzy, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "makron nimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for %<-mtune%>" + msgstr "tuntematon cc_attr-arvo" + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, fuzzy, gcc-internal-format + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "valitsin -mcpu=%s on ristiriidassa valitsimen -march=%s kanssa" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, fuzzy, gcc-internal-format + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "%s ei tue %%n$-operandinumeromuotoilua" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, fuzzy, gcc-internal-format + msgid "code model %qs with %<-f%s%>" + msgstr "koodimalli %s ei tue PIC-tilaa" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in ilp32 mode" + msgstr "koodimalli %s ei tue PIC-tilaa" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, fuzzy, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "%s:n perästä puuttuu operandi" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, fuzzy, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "tiedostonimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "tiedostonimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, fuzzy, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "%s:n perästä puuttuu operandi" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, fuzzy, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "tiedostonimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "tiedostonimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, fuzzy, gcc-internal-format + msgid "missing argument to % pragma or attribute" + msgstr "%s:n perästä puuttuu operandi" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, fuzzy, gcc-internal-format + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "tiedostonimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, fuzzy, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "tiedostonimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, fuzzy, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "%s:n perästä puuttuu operandi" + +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, fuzzy, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "Väärin muotoiltu kohdekohtainen muuttujamäärittely" + +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, fuzzy, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "%J%qD sallii vain nolla tai kaksi argumenttia" + +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, fuzzy, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "%s ei tue muotoilua %<%%%s%c%> %s" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, fuzzy, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "kohde ”%s” ei täsmää kohdehahmon kanssa" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, fuzzy, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "%qE-attribuutti tarvitsee merkkijonovakioargumentin" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, fuzzy, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "kohde ”%s” ei täsmää kohdehahmon kanssa" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, fuzzy, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "Väärin muotoiltu kohdekohtainen muuttujamäärittely" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, fuzzy, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "operandinumero on arvoalueen ulkopuolella muotoilussa" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, fuzzy, gcc-internal-format + msgid "unsupported simdlen %wd" + msgstr "tuntematon värimoodi" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, fuzzy, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "odotettiin %qT, mutta argumentti on tyyppiä %qT" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, fuzzy, gcc-internal-format + msgid "GCC does not currently support return type %qT for % functions" + msgstr "%:n on palautettava tyyppi %qT" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, fuzzy, gcc-internal-format + msgid "unsupported return type %qT for % functions" + msgstr "%:n on palautettava tyyppi %qT" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, fuzzy, gcc-internal-format + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "odotettiin %qT, mutta argumentti on tyyppiä %qT" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, fuzzy, gcc-internal-format + msgid "GCC does not currently support simdlen %wd for type %qT" + msgstr "ISO C++ 1998 ei tue % -tyyppiä" +@@ -38150,13 +38145,13 @@ msgstr "%qE-attribuutti sallii vain kokonaislukuvakioargumentin" + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -38297,17 +38292,17 @@ msgstr "%qE-attribuutti tarvitsee merkkijonovakioargumentin" + msgid "%qE attribute only applies to variables" + msgstr "%qE-attribuutti pätee vain muuttujiin" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, fuzzy, gcc-internal-format + msgid "alternatives not allowed in % flag output" + msgstr "taulukon indeksin tyyppi on %" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, fuzzy, gcc-internal-format + msgid "unknown % flag output %qs" + msgstr "Funktio %qs" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, fuzzy, gcc-internal-format + msgid "invalid type for % flag output" + msgstr "virheellinen lvalue asm-tulosteessa %d" +@@ -38514,7 +38509,7 @@ msgstr "AAPCS ei tue valitsinta -mcaller-super-interworking" + msgid "target CPU does not support unaligned accesses" + msgstr "kohdemuoto ei tue äärettömyyttä" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, fuzzy, gcc-internal-format + msgid "This architecture does not support branch protection instructions" + msgstr "kohdemuoto ei tue äärettömyyttä" +@@ -38569,7 +38564,7 @@ msgstr "" + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "Muodostin %qs" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, fuzzy, gcc-internal-format + msgid "FDPIC mode is not supported in Thumb-1 mode" + msgstr "koodimalli %s ei tue PIC-tilaa" +@@ -38675,7 +38670,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "%qD:n paluuarvoa ei huomioida, esitelty attribuutilla warn_unused_result" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "" +@@ -38725,32 +38720,32 @@ msgstr "" + msgid "%s %wd out of range %wd - %wd" + msgstr "operandinumero on arvoalueen ulkopuolella muotoilussa" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, fuzzy, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "%qs attribuuttia ei huomioida" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, fuzzy, gcc-internal-format + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "keskeytyskäsittelijät eivät voi olla MIPS16-funktioita" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, fuzzy, gcc-internal-format + msgid "invalid fpu for target attribute or pragma %qs" + msgstr "epäkelpo vektorityyppi attribuutille %qs" +@@ -38758,22 +38753,22 @@ msgstr "epäkelpo vektorityyppi attribuutille %qs" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, fuzzy, gcc-internal-format + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "epäkelpo vektorityyppi attribuutille %qE" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, fuzzy, gcc-internal-format + msgid "unknown target attribute or pragma %qs" + msgstr "" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, fuzzy, gcc-internal-format + msgid "% flags not supported in thumb1 mode" + msgstr "säiekohtaista muistia ei tueta tälle kohteelle" +@@ -38847,17 +38842,17 @@ msgstr "%<-fpie%> ei ole tuettu" + msgid "%<-fPIE%> is not supported" + msgstr "%<-fPIE%> ei ole tuettu" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, fuzzy, gcc-internal-format + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "valitsimet %s ja %s ovat toisensa poissulkevat" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, fuzzy, gcc-internal-format + msgid "%qs function cannot have arguments" + msgstr "%qD:lla ei voi olla oletusargumentteja" + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, fuzzy, gcc-internal-format + msgid "%qs function cannot return a value" + msgstr "funktion paluuarvon tyyppi ei voi olla funktio" +@@ -39173,7 +39168,7 @@ msgstr "virheellinen sisäinen makro ”%s”" + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, fuzzy, gcc-internal-format + msgid "invalid argument to built-in function" + msgstr "virheellinen sisäinen makro ”%s”" +@@ -39771,751 +39766,751 @@ msgstr "" + msgid "virtual function multiversioning not supported" + msgstr "Varoita ylikuormitetuista virtuaalifunktioiden nimistä" + +-#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25106 + #, fuzzy, gcc-internal-format + msgid "multiversioning needs % which is not supported on this target" + msgstr "#pragma redefine_extname ei ole tuettu tällä kohteella" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" + msgstr "koodimalli %s ei tue PIC-tilaa" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, fuzzy, gcc-internal-format + msgid "attribute %qs argument is not a string" + msgstr "%qE-attribuutti tarvitsee merkkijonovakioargumentin" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, fuzzy, gcc-internal-format + msgid "attribute %qs argument %qs is unknown" + msgstr "kohde ”%s” ei täsmää kohdehahmon kanssa" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, fuzzy, gcc-internal-format + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "SAVE-attribuuttia kohdassa %L ei voida määritellä PURE-proseduurissa" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, fuzzy, gcc-internal-format + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "Kaksoiskappale-%s-attribuutti määritelty kohdassa %L" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, fuzzy, gcc-internal-format + msgid "wrong argument %qs to option %qs" + msgstr "" + "Käyttö: %s KOMENTO [ARGUMENTTI]...\n" + " tai: %s VALITSIN\n" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, fuzzy, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" + msgstr "%Jkohdistusta ei voi määrittää %qD:lle" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, fuzzy, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "%Jkohdistusta ei voi määrittää %qD:lle" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, fuzzy, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" + msgstr "Tuntematon valitsin: %s %s %s" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, fuzzy, gcc-internal-format + msgid "too many size ranges specified in option %qs" + msgstr "epäkelpo osoitintila %qs" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, fuzzy, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "Tuntematon argumenttiluettelofunktio kohdassa %L" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, fuzzy, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "64-bittinen ABI ei ole tuettu ESA/390-tilassa" + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, fuzzy, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, fuzzy, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, fuzzy, gcc-internal-format + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "%Jkohdistusta ei voi määrittää %qD:lle" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, fuzzy, gcc-internal-format + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "%Jkohdistusta ei voi määrittää %qD:lle" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, fuzzy, gcc-internal-format + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "%Jkohdistusta ei voi määrittää %qD:lle" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, fuzzy, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "säiekohtaista muistia ei tueta tälle kohteelle" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, fuzzy, gcc-internal-format + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "valitsin %qs ei ole enää tuettu" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, fuzzy, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "#pragma redefine_extname ei ole tuettu tällä kohteella" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, fuzzy, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "#pragma redefine_extname ei ole tuettu tällä kohteella" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, fuzzy, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "__COUNTER__ lavennettu direktiivin sisällä valitsimella -fdirectives-only" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "säiekohtaista muistia ei tueta tälle kohteelle" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "koodimalli %s ei tue PIC-tilaa" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, fuzzy, gcc-internal-format + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "weakref ei ole tuettu tässä konfiguraatiossa" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "" + +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, fuzzy, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "virheellinen aikakatkaisuarvo: %s" + +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, fuzzy, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "virheellinen aikakatkaisuarvo: %s" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, fuzzy, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "virheellinen aikakatkaisuarvo: %s" + +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, fuzzy, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "virheellinen aikakatkaisuarvo: %s" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, fuzzy, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "kohdemuoto ei tue äärettömyyttä" + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, fuzzy, gcc-internal-format + msgid "bad value %qs for %<-march=%> switch" + msgstr "virheellinen aikakatkaisuarvo: %s" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, fuzzy, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "virheellinen aikakatkaisuarvo: %s" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "Kelvolliset argumentit:" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, fuzzy, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "Kelvolliset argumentit:" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "Kelvolliset argumentit:" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, fuzzy, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "Kelvolliset argumentit:" + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, fuzzy, gcc-internal-format + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "virheellinen aikakatkaisuarvo: %s" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, fuzzy, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "virheellinen aikakatkaisuarvo: %s" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "Kelvolliset argumentit:" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, fuzzy, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "Kelvolliset argumentit:" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "Kelvolliset argumentit:" + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, fuzzy, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "Kelvolliset argumentit:" + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, fuzzy, gcc-internal-format + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "64-bittinen ABI ei ole tuettu ESA/390-tilassa" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, fuzzy, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "64-bittinen ABI ei ole tuettu ESA/390-tilassa" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, fuzzy, gcc-internal-format + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr " uid = %d, gid = %d, oikeudet = 0%o.\n" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, fuzzy, gcc-internal-format + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, fuzzy, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "64-bittinen ABI ei ole tuettu ESA/390-tilassa" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, fuzzy, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "64-bittinen ABI ei ole tuettu ESA/390-tilassa" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, fuzzy, gcc-internal-format + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "säiekohtaista muistia ei tueta tälle kohteelle" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, fuzzy, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr " uid = %d, gid = %d, oikeudet = 0%o.\n" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, fuzzy, gcc-internal-format + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr " uid = %d, gid = %d, oikeudet = 0%o.\n" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, fuzzy, gcc-internal-format + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, fuzzy, gcc-internal-format + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "moduulienvälisiä optimointeja ei ole toteutettu C++:lle" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "SSE-käskykanta poistettu käytöstä, käytetään 387-aritmetiikkaa" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "387-käskykanta poistettu käytöstä, käytetään SSE-aritmetiikkaa" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, gcc-internal-format + msgid "stack probing requires % for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, fuzzy, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "%qE-attribuutti pätee vain funktioihin" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, fuzzy, gcc-internal-format + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, fuzzy, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "”%s”-liitännäinen on yhteensopiva." + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, fuzzy, gcc-internal-format + msgid "unknown option for %<-mrecip=%s%>" + msgstr "tuntematon valitsin -%s" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "”%s” ei ole kelvollinen esikääntäjän valitsin" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "”%s” ei ole kelvollinen esikääntäjän valitsin" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "”%s” ei ole kelvollinen esikääntäjän valitsin" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, fuzzy, gcc-internal-format + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, fuzzy, gcc-internal-format + msgid "interrupt and naked attributes are not compatible" + msgstr "attribuutit stdcall ja cdecl eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, fuzzy, gcc-internal-format + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "valitsimet -l ja -s eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, fuzzy, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "valitsimet -l ja -s eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, fuzzy, gcc-internal-format + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "valitsimet -l ja -s eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, fuzzy, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "valitsimet -l ja -s eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, fuzzy, gcc-internal-format + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "epäkelpo osoitintila %qs" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, fuzzy, gcc-internal-format + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "epäkelpo osoitintila %qs" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, fuzzy, gcc-internal-format + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "epäkelpo osoitintila %qs" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, fuzzy, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "attribuutit fastcall ja cdecl eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, fuzzy, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "attribuutit fastcall ja stdcall eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "%qE-attribuutti tarvitsee kokonaislukuvakioargumentin" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "%Jei voi asettaa %qE-attribuuttia määrittelyn jälkeen" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "attribuutit fastcall ja cdecl eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "attribuutit fastcall ja stdcall eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, fuzzy, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "attribuutit fastcall ja cdecl eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "attribuutit stdcall ja cdecl eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "attribuutit stdcall ja fastcall eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, fuzzy, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "attribuutit fastcall ja stdcall eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, fuzzy, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "attribuutit fastcall ja cdecl eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, fuzzy, gcc-internal-format + msgid "%qE attribute is used for non-class method" + msgstr "%qE-attribuuttia ei huomioida ei-luokkatyypeille" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, fuzzy, gcc-internal-format + msgid "%qE incompatible attribute ignored" + msgstr "%qE-attribuuttia ei huomioida" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, fuzzy, gcc-internal-format + msgid "%qE attribute only available for 32-bit" + msgstr "%qE-attribuutti pätee vain funktioihin" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "näkyvyysargumentti ei ole merkkijono" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, fuzzy, gcc-internal-format + msgid "%qs and %qs attributes are not compatible" + msgstr "attribuutit fastcall ja stdcall eivät ole yhteensopivia" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "%qE-attribuutti tarvitsee merkkijonovakioargumentin" + +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "%qE-attribuutti tarvitsee merkkijonovakioargumentin" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, fuzzy, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "keskeytyskäsittelijät eivät voi olla MIPS16-funktioita" + +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, fuzzy, gcc-internal-format + msgid "interrupt service routine should have %qs as the second argument" + msgstr "keskeytyskäsittelijät eivät voi olla MIPS16-funktioita" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, fuzzy, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "keskeytyskäsittelijät eivät voi olla MIPS16-funktioita" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, fuzzy, gcc-internal-format + msgid "interrupt service routine must return %" + msgstr "keskeytyskäsittelijät eivät voi olla MIPS16-funktioita" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, gcc-internal-format + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, gcc-internal-format + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, fuzzy, gcc-internal-format + msgid "X32 does not support % attribute" + msgstr "ISO C ei tue saturoituvia tyyppejä" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, fuzzy, gcc-internal-format + msgid "% attribute is not compatible with nested function" + msgstr "ISO C kieltää sisäkkäiset funktiot" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, fuzzy, gcc-internal-format + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "muodostimen virheellinen käyttö mallina" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, fuzzy, gcc-internal-format + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "muodostimen virheellinen käyttö mallina" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, fuzzy, gcc-internal-format + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "muodostimen virheellinen käyttö mallina" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, fuzzy, gcc-internal-format + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "muodostimen virheellinen käyttö mallina" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, fuzzy, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "muodostimen virheellinen käyttö mallina" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, fuzzy, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "muodostimen virheellinen käyttö mallina" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, fuzzy, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "muodostimen virheellinen käyttö mallina" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, fuzzy, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "muodostimen virheellinen käyttö mallina" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, gcc-internal-format + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, gcc-internal-format + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, fuzzy, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "muodostimen virheellinen käyttö mallina" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, fuzzy, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "muodostimen virheellinen käyttö mallina" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, fuzzy, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "muodostimen virheellinen käyttö mallina" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, gcc-internal-format + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, gcc-internal-format, gfc-internal-format + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "" + +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, fuzzy, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "”%s”-liitännäinen on yhteensopiva." + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, fuzzy, gcc-internal-format + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "ISO C kieltää sisäkkäiset funktiot" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "" + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, fuzzy, gcc-internal-format + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "Rinnakkaiset työt (-j) eivät ole tuettuja tällä alustalla." + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, fuzzy, gcc-internal-format + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "ISO C kieltää sisäkkäiset funktiot" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, fuzzy, gcc-internal-format + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "ISO C kieltää sisäkkäiset funktiot" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, fuzzy, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" + msgstr "ISO C kieltää sisäkkäiset funktiot" + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, fuzzy, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "ISO C90 ei tue joustavia taulukon jäseniä" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, fuzzy, gcc-internal-format + msgid "% modifier on non-integer register" + msgstr "fr30_print_operand: tuntematon koodi" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, fuzzy, gcc-internal-format + msgid "unsupported size for integer register" + msgstr "fr30_print_operand: tuntematon koodi" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, fuzzy, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "fr30_print_operand: tuntematon koodi" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, fuzzy, gcc-internal-format + msgid "non-integer operand used with operand code %" + msgstr "epäkelvot operandit binääriselle %s-operaatiolle" + +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, fuzzy, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "%J%qD:n lohko on ristiriidassa edellisen esittelyn kanssa" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, fuzzy, gcc-internal-format + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "valitsin -mmultiple ei ole tuettu little-endian-järjestelmissä" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, fuzzy, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "Tuntematon arkkitehtuuri ”%s”" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, fuzzy, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "%:n on palautettava tyyppi %qT" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, fuzzy, gcc-internal-format + msgid "unsupported argument type %qT for simd" + msgstr "odotettiin %qT, mutta argumentti on tyyppiä %qT" + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, fuzzy, gcc-internal-format + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" +@@ -40867,7 +40862,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "%J%qD esitelty uudelleen erityyppisenä symbolina" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, fuzzy, gcc-internal-format + msgid "%qE attribute requires a string argument" + msgstr "%qE-attribuutti tarvitsee merkkijonovakioargumentin" +@@ -41990,55 +41985,55 @@ msgstr "" + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "tuntematon #pragma GCC coprocessor %E" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, fuzzy, gcc-internal-format + #| msgid "type %qT does not have a known size" + msgid "RVV type %qT does not have a fixed size" + msgstr "tyypillä %qT ei ole tunnettua kokoa" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, fuzzy, gcc-internal-format + #| msgid "type %qT does not have a known size" + msgid "RVV type %qT does not have a defined alignment" + msgstr "tyypillä %qT ei ole tunnettua kokoa" + + # XXX +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, fuzzy, gcc-internal-format + msgid "arithmetic on pointer to RVV type %qT" + msgstr "%-tyyppistä osoitinta käytetty laskutoimituksessa" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, fuzzy, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "Muuttuja %s ei voida liittää PURE-proseduuriin kohdassa %C" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, fuzzy, gcc-internal-format + msgid "fields cannot have RVV type %qT" + msgstr "tiedostoa %s ei voi avata" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, fuzzy, gcc-internal-format + msgid "array elements cannot have RVV type %qT" + msgstr "Muuttuja %s ei voida liittää PURE-proseduuriin kohdassa %C" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, fuzzy, gcc-internal-format + msgid "cannot allocate objects with RVV type %qT" + msgstr "parametrilla %P on vaillinainen tyyppi %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, fuzzy, gcc-internal-format + msgid "cannot delete objects with RVV type %qT" + msgstr "määrittelemättömän tyypin %<%s %E%> epäkelpo käyttö" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, fuzzy, gcc-internal-format + msgid "cannot throw or catch RVV type %qT" + msgstr "parametrilla %P on vaillinainen tyyppi %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, fuzzy, gcc-internal-format + msgid "capture by copy of RVV type %qT" + msgstr "%2$qD:n parametrilla %1$P on vaillinainen tyyppi %3$qT" +@@ -42058,71 +42053,66 @@ msgstr "Älä varoita Microsoft-laajennosten käytöstä" + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, gcc-internal-format + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "näkyvyysargumentti ei ole merkkijono" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, gcc-internal-format + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, gcc-internal-format + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, fuzzy, gcc-internal-format + msgid "ABI requires %<-march=rv%d%>" + msgstr "-mvsx ja -mpaired ovat yhteensopimattomat" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, fuzzy, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr " uid = %d, gid = %d, oikeudet = 0%o.\n" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid base register in %qs" + msgstr "luokkanimeä ei ole annettu %qs:n kanssa" + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid number in %qs" + msgstr "Funktio %qs" + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, fuzzy, gcc-internal-format + msgid "%qs function cannot have different interrupt type" + msgstr "%qD:lla ei voi olla oletusargumentteja" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, fuzzy, gcc-internal-format +@@ -42595,97 +42585,97 @@ msgstr "Vanhentunut. Tämä valitsin ei vaikuta mihinkään" + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, fuzzy, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "64-bittinen ABI ei ole tuettu ESA/390-tilassa" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, fuzzy, gcc-internal-format + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "bittikentän %qD osoitetta ei voi ottaa" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, fuzzy, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "% virheellinen %qs:lle" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, fuzzy, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "% virheellinen %qs:lle" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, fuzzy, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "% virheellinen %qs:lle" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, fuzzy, gcc-internal-format + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "% virheellinen %qs:lle" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, fuzzy, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "% virheellinen %qs:lle" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, fuzzy, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "% virheellinen %qs:lle" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, fuzzy, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "% virheellinen %qs:lle" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, fuzzy, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "% virheellinen %qs:lle" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, fuzzy, gcc-internal-format + msgid "invalid cpu %qs for %s%qs%s" + msgstr "virheellinen argumentti %s %s:lle" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, gcc-internal-format + msgid "%s%qs%s is not allowed" + msgstr "%s%qs%s ei ole sallittu" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, gcc-internal-format + msgid "%s%qs%s is invalid" + msgstr "%s%qs%s on virheellinen" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, fuzzy, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "valitsin -mcpu=%s on ristiriidassa valitsimen -march=%s kanssa" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" + +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, fuzzy, gcc-internal-format + msgid "Virtual function multiversioning not supported" + msgstr "Varoita ylikuormitetuista virtuaalifunktioiden nimistä" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, fuzzy, gcc-internal-format + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "sisäinen funktio %q+D esitelty ei-funktiona" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, fuzzy, gcc-internal-format + msgid "type %<__vector_pair%> requires the %qs option" + msgstr "sisäinen funktio %q+D esitelty ei-funktiona" +@@ -44091,7 +44081,7 @@ msgstr "ei voi laittaa volatile-kenttäistä objektia rekisteriin" + msgid "uninitialized % is invalid in C++" + msgstr "alustamaton vakio %qD on virheellinen C++-kielessä" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, fuzzy, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "%qE nimiavaruudessa %qE ei nimeä tyyppiä" +@@ -44278,7 +44268,7 @@ msgstr "tallennusluokka annettu parametrille %qE" + msgid "storage class specified for unnamed parameter" + msgstr "tallennusluokka annettu nimettömälle parametrille" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "tallennusluokka annettu typenamelle" +@@ -44447,7 +44437,7 @@ msgstr "tyyppinimi esitelty taulukon palauttavan funktiona" + msgid "function definition has qualified void return type" + msgstr "funktion määrittely oikeuttaa tyhjän paluutyypin" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "tyyppimääritteet jätetään huomiotta funktion paluutyypissä" +@@ -44574,7 +44564,7 @@ msgstr "ISO C kieltää const- ja volatile-funktiotyypit" + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "odotettiin %qT, mutta argumentti on tyyppiä %qT" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "muuttuja tai kenttä %qE esitelty voidiksi" +@@ -44775,7 +44765,7 @@ msgstr "tyypin määritteleminen tyyppimuunnoksessa on virheellistä C++-kieless + msgid "%qT defined in underspecified object initializer" + msgstr "%qs määritelty tietueen kentälle %qE" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "esittely ei esittele mitään" +@@ -44825,7 +44815,7 @@ msgstr "structilla ei ole nimettyjä jäseniä" + msgid "struct has no members" + msgstr "structilla ei ole jäseniä" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, gcc-internal-format + msgid "flexible array member in union" + msgstr "joustava taulukkojäsen unionissa" +@@ -44870,7 +44860,7 @@ msgstr "%:n uudelleenmäärittely" + msgid "% declared with but defined without fixed underlying type" + msgstr "" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, fuzzy, gcc-internal-format + msgid "specified mode too small for enumerated values" + msgstr "annettu tila on liian pieni luetelluille arvoille" +@@ -44917,7 +44907,7 @@ msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio" + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "ISO C rajoittaa luetellun tyypin arvot %-tyypin arvoalueelle" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, fuzzy, gcc-internal-format + msgid "inline function %qD given attribute %qs" + msgstr "%Javoimelle funktiolle %qD annettu attribuutti noinline" +@@ -44947,7 +44937,7 @@ msgstr "%qD:lle ei ole edellistä prototyyppiä" + msgid "%qD was used with no prototype before its definition" + msgstr "%qD käytössä ilman prototyyppiä ennen sen määrittelyä" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, gcc-internal-format + msgid "no previous declaration for %qD" + msgstr "%qD:lle ei ole edellistä esittelyä" +@@ -45062,12 +45052,12 @@ msgstr "argumentti %qD ei vastaa sisäistä prototyyppiä" + msgid "argument %qD doesn%'t match prototype" + msgstr "argumentti %qD ei sovi prototyyppiin" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "ei palautuslausetta funktiossa, joka palauttaa ei-voidin" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, fuzzy, gcc-internal-format + msgid "parameter %qD set but not used" + msgstr "parametri %qD on alustettu" +@@ -47094,7 +47084,7 @@ msgstr "liian vähän argumentteja" + msgid "collapsed loops not perfectly nested" + msgstr "liian vähän argumentteja" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, fuzzy, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "sisäkkäisessä funktiossa käytetty rekisterimuuttujaa %qD" +@@ -47225,12 +47215,12 @@ msgstr " siirtyy catch-lohkoon" + msgid "variant %qD is not a function" + msgstr "%qs esitelty funktion palauttavana funktiona" + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, fuzzy, gcc-internal-format + msgid "variant %qD and base %qD have incompatible types" + msgstr "valitsimet -l ja -s eivät ole yhteensopivia" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "" +@@ -47491,7 +47481,7 @@ msgstr "void-lausekkeen epäkelpo käyttö" + msgid "invalid use of flexible array member" + msgstr "joustavien taulukkoalkioiden epäkelpo käyttö" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "rajat määrittelemättömän taulukon epäkelpo käyttö" +@@ -48454,12 +48444,12 @@ msgstr "" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "joustavan taulukkojäsenen alustus" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, fuzzy, gcc-internal-format + msgid "cannot initialize array of %qT from a string literal with type array of %qT" + msgstr "alustus yhteensopimattomasta osoitintyypistä" +@@ -48500,7 +48490,7 @@ msgstr "alustusalkiota ei pystytä laskemaan latausajankohtana" + msgid "invalid initializer" + msgstr "epäkelpo alustin" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "läpinäkymättömiä vektorityyppejä ei voida alustaa" +@@ -48515,8 +48505,8 @@ msgstr "alustimen lopussa on ylimääräinen lohko" + msgid "braces around scalar initializer" + msgstr "skalaarialustimen ympärillä on aaltosulkeet" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "joustavan taulukkojäsenen alustaminen sisäkkäisessä asiayhteydessä" +@@ -48606,7 +48596,7 @@ msgstr "ylimääräisiä alkioita struct-alustimessa" + msgid "positional initialization of field in % declared with % attribute" + msgstr "Varoita mahdollisesti puuttuvista aaltosuluista alustimissa" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "joustavan taulukkojäsenen ei-staattinen alustus" +@@ -49957,7 +49947,7 @@ msgstr "%:n on palautettava tyyppi %qT" + msgid "%q#D is private within this context" + msgstr "tässä yhteydessä" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, fuzzy, gcc-internal-format + msgid "declared private here" + msgstr "instanssimuuttuja %qE on esitelty yksityisenä" +@@ -49967,7 +49957,7 @@ msgstr "instanssimuuttuja %qE on esitelty yksityisenä" + msgid "%q#D is protected within this context" + msgstr "tässä yhteydessä" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, fuzzy, gcc-internal-format + msgid "declared protected here" + msgstr "%qD esiteltiin täällä" +@@ -49982,7 +49972,7 @@ msgstr "tässä yhteydessä" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "annettu NULL funktion %2$qD ei-osoitinargumenttina %1$P" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, gcc-internal-format + msgid " declared here" +@@ -50339,7 +50329,7 @@ msgstr "päättämätön kutsu funktioon ”%s”: puuttuva ”%c”" + msgid "call to non-function %qD" + msgstr "%qD on tavallisesti ei-staattinen funktio" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "" +@@ -50922,7 +50912,7 @@ msgstr "joustava taulukkojäsen muuten tyhjässä structissa" + msgid "next member %q#D declared here" + msgstr "%q+#D aiemmin esitelty täällä" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "%q#T uudelleenmääritelty" +@@ -51043,7 +51033,7 @@ msgstr "epäkelpo tallennusluokka funktiolle %qs" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, fuzzy, gcc-internal-format + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "attribuutti %qs pätee vain funktiotyyppeihin" +@@ -51112,7 +51102,7 @@ msgstr "vertailu ”etumerkitön lauseke < 0” on aina epätosi" + msgid "failed % attribute assumption" + msgstr "" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, fuzzy, gcc-internal-format + msgid "call to internal function %qE" +@@ -51159,7 +51149,7 @@ msgstr "muunnos tyypistä %qT tyyppiin %qT on moniselitteinen" + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, fuzzy, gcc-internal-format + msgid "call to non-% function %qD" +@@ -51284,7 +51274,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "%-tyyppistä osoitinta käytetty laskutoimituksessa" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -51383,7 +51373,7 @@ msgstr "jäsen %qD on alustamaton viittaus" + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "taulukon %qD koko ei ole kokonaislukutyyppinen vakiolauseke" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, fuzzy, gcc-internal-format + msgid "dereferencing a null pointer" +@@ -51459,7 +51449,7 @@ msgstr "muunnos tyypistä %qT tyyppiin %qT" + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "muunnos tyypistä %qT tyyppiin %qT" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, fuzzy, gcc-internal-format + msgid "statement is not a constant expression" +@@ -51526,189 +51516,189 @@ msgstr "%qD:n poistettu määrittely" + msgid "control passes through definition of %qD with static storage duration" + msgstr "poistettu funktio %q+D" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, fuzzy, gcc-internal-format + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "ylivuoto vakiolausekkeessa" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "ylivuoto vakiolausekkeessa" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, fuzzy, gcc-internal-format + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "ylivuoto vakiolausekkeessa" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, fuzzy, gcc-internal-format + msgid "cast from %qT is not allowed" + msgstr "%s%qs%s ei ole sallittu" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, fuzzy, gcc-internal-format + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "liukulukuvakio esikääntäjän lausekkeessa" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, fuzzy, gcc-internal-format + msgid "%(%E)%> is not a constant expression" + msgstr "ylivuoto vakiolausekkeessa" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, fuzzy, gcc-internal-format + msgid "expression %qE is not a constant expression" + msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "ylivuoto vakiolausekkeessa" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, fuzzy, gcc-internal-format + msgid "contract predicate is false in constant expression" + msgstr "ylivuoto vakiolausekkeessa" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, fuzzy, gcc-internal-format + msgid "unexpected template-id %qE" + msgstr "odotettiin %" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, fuzzy, gcc-internal-format + msgid "function concept must be called" + msgstr "sisäinen funktio %q+D esitelty ei-funktiona" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, fuzzy, gcc-internal-format + msgid "address of a call to %qs is not a constant expression" + msgstr "taulukon %qD koko ei ole kokonaislukutyyppinen vakiolauseke" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, fuzzy, gcc-internal-format + msgid "unexpected expression %qE of kind %s" + msgstr "vektoriylivuoto lausekkeessa" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, fuzzy, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "taulukon %qD koko ei ole kokonaislukutyyppinen vakiolauseke" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, fuzzy, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "taulukon %qD koko ei ole kokonaislukutyyppinen vakiolauseke" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, fuzzy, gcc-internal-format + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "taulukon %qD koko ei ole kokonaislukutyyppinen vakiolauseke" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, fuzzy, gcc-internal-format + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "taulukon %qD koko ei ole kokonaislukutyyppinen vakiolauseke" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, fuzzy, gcc-internal-format + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "virheellinen static_cast-muunnos tyypistä %qT tyyppiin %qT" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, fuzzy, gcc-internal-format + msgid "lambda capture of %qE is not a constant expression" + msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, fuzzy, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "virheellinen %%s-arvo" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, fuzzy, gcc-internal-format + msgid "% from integer to pointer" + msgstr "tyyppimuunnos osoittimesta erikokoiseen kokonaislukuun" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, fuzzy, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "ylivuoto vakiolausekkeessa" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, fuzzy, gcc-internal-format + msgid "use of % in a constant expression" + msgstr "liukulukuvakio esikääntäjän lausekkeessa" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, fuzzy, gcc-internal-format + msgid "lambda-expression is not a constant expression before C++17" + msgstr "liukulukuvakio esikääntäjän lausekkeessa" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, fuzzy, gcc-internal-format + msgid "new-expression is not a constant expression before C++20" + msgstr "liukulukuvakio esikääntäjän lausekkeessa" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, fuzzy, gcc-internal-format + msgid "virtual functions cannot be % before C++20" + msgstr "tyypillä %qE on virtuaalisia jäsenfunktioita" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "liukulukuvakio esikääntäjän lausekkeessa" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, fuzzy, gcc-internal-format + msgid "cast to non-integral type %qT in a constant expression" + msgstr "ylivuoto vakiolausekkeessa" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, fuzzy, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "tallennusluokka % virheellinen funktiolle %qs" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, fuzzy, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "ei-staattinen datajäsen %qE esitelty %:ksi" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, fuzzy, gcc-internal-format + msgid "division by zero is not a constant expression" + msgstr "Jako nollalla kohdassa %L" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "ylivuoto vakiolausekkeessa" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, fuzzy, gcc-internal-format + msgid "neither branch of % is a constant expression" + msgstr "liukulukuvakio esikääntäjän lausekkeessa" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, gcc-internal-format + msgid "non-constant array initialization" + msgstr "taulukon alustus ei-vakiolla" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, fuzzy, gcc-internal-format + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "attribuutti %qs pätee vain funktiotyyppeihin" + +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unexpected AST of kind %s" + msgstr "Odottamaton %s-lause kohdassa %C" +@@ -52309,7 +52299,7 @@ msgstr "" + msgid "% declared here" + msgstr "%qD esiteltiin täällä" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, fuzzy, gcc-internal-format + msgid "no member named %qE in %qT" + msgstr "paluutyyppi %q#T on vaillinainen" +@@ -52406,7 +52396,7 @@ msgstr "%<__builtin_prefetch%>-funktion kolmannen argumentin pitää olla vakio" + msgid "no suspend point info for %qD" + msgstr "%qD:lle ei ole edellistä prototyyppiä" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "" +@@ -52428,23 +52418,23 @@ msgstr "osoittimet eivät ole sallittuja case-arvoja" + msgid "variable length arrays are not yet supported in coroutines" + msgstr "" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, fuzzy, gcc-internal-format + msgid "cannot initialize a return object of type %qT with an rvalue of type %" + msgstr "virheellinen %qT-tyyppisen ei-const-viittauksen alustus %qT-tyyppisestä väliaikaisesta muuttujasta" +@@ -52931,7 +52921,7 @@ msgstr "edellisestä esittelystä %q+F" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "luetellun tyypin jäsenen %q+D uudelleenesittely" + +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, fuzzy, gcc-internal-format + msgid "previous declaration %qD" + msgstr "edellinen esittely %q+D" +@@ -53332,2279 +53322,2279 @@ msgstr "%qD ei ole funktiomalli" + msgid "%q#T is not a class" + msgstr "%q#T ei ole luokka" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, fuzzy, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "% nimeää kohteen %q#T:n, joka ei ole luokkamalli" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, fuzzy, gcc-internal-format + msgid "no type named %q#T in %q#T" + msgstr "paluutyyppi %q#T on vaillinainen" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, fuzzy, gcc-internal-format + msgid "lookup of %qT in %qT is ambiguous" + msgstr "muunnos tyypistä %qT tyyppiin %qT on moniselitteinen" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "% nimeää kohteen %q#T:n, joka ei ole luokkamalli" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, fuzzy, gcc-internal-format + #| msgid "% names %q#T, which is not a type" + msgid "% names %q#D, which is not a type" + msgstr "% nimeää %q#T:n, joka ei ole tyyppi" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, fuzzy, gcc-internal-format + msgid "template parameters do not match template %qD" + msgstr "tyyppimuunnettu argumentti %qD ei sovi prototyyppiin" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, fuzzy, gcc-internal-format + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "dwarfin versio %d ei ole tuettu" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "" + + # semi-fuzzy +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, fuzzy, gcc-internal-format + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "ei-staattista datajäsentä %q+D käytetty virheellisesti" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, fuzzy, gcc-internal-format + msgid "anonymous struct with base classes" + msgstr "anonyymillä structilla ei voi olla funktiojäseniä" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, fuzzy, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "ei argumentteja" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, fuzzy, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "ei argumentteja" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, fuzzy, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "ei argumentteja" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, fuzzy, gcc-internal-format + msgid "attribute ignored in declaration of %q#T" + msgstr "attribuutti jätetty huomioimatta %q+#T:n esittelyssä" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, fuzzy, gcc-internal-format + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "%q+#T:n attribuutin on oltava %qs-avainsanan perässä" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "useita tyyppejä yhdessä esittelyssä" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "C++:n sisäinen tietotyyppi %qT määritelty uudelleen" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for variables or function declarations" + msgstr "tallennusluokan voi antaa vain objekteille ja funktioille" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "tyypin nimi puuttuu typedef-esittelystä" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "ISO C++ kieltää nimettömät structit" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "määreet voidaan määrittää vain olioille ja funktioille" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "määreet voidaan määrittää vain olioille ja funktioille" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, fuzzy, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "tallennusluokan voi antaa vain olioille ja funktioille" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "määreet voidaan määrittää vain olioille ja funktioille" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "tallennusluokan voi antaa vain olioille ja funktioille" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "määreet voidaan määrittää vain olioille ja funktioille" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "määreet voidaan määrittää vain olioille ja funktioille" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, fuzzy, gcc-internal-format + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "tallennusluokan voi antaa vain olioille ja funktioille" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, fuzzy, gcc-internal-format + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "määreet voidaan määrittää vain olioille ja funktioille" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, fuzzy, gcc-internal-format + msgid "% was ignored in this declaration" + msgstr "tyypin nimi puuttuu typedef-esittelystä" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, fuzzy, gcc-internal-format + msgid "%qs cannot be used for type declarations" + msgstr "%Hprototyypin esittely" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, fuzzy, gcc-internal-format + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "%qs-attribuuttia ei huomioida ei-luokkatyypeille" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, fuzzy, gcc-internal-format + msgid "no attribute can be applied to an explicit instantiation" + msgstr "%qs-attribuuttia ei huomioida ei-luokkatyypeille" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, fuzzy, gcc-internal-format + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "%J%qE-attribuutti soveltuu vain funktioihin" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, fuzzy, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "%J%qE-attribuutti soveltuu vain funktioihin" + +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, fuzzy, gcc-internal-format + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "typedef %qD on alustettu (käytä __typeof__ sen sijaan)" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, fuzzy, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "parametrilla %q+D on vain etukäteisesittely" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, fuzzy, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "funktion %q+D määrittely on merkitty dllimport-tyyppiseksi" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, fuzzy, gcc-internal-format + msgid "%q+#D is not a static data member of %q#T" + msgstr "staattinen jäsenfunktio %q#D esitelty tyyppimääreillä" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, fuzzy, gcc-internal-format + msgid "non-member-template declaration of %qD" + msgstr "%qD:n esittely ei-jäsenenä" + +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, fuzzy, gcc-internal-format + msgid "does not match member template declaration here" + msgstr "malliesittelylle %q+D" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "" + +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, fuzzy, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "jäsenen %q+D kaksoiskappale" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, fuzzy, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "%qD:n esittely ei-funktiona" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, fuzzy, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "attribuutti %qs pätee vain funktiotyyppeihin" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, fuzzy, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "attribuutti %qs pätee vain funktiotyyppeihin" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "muuttujalla %q#D on alustin, mutta vaillinainen tyyppi" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "taulukon %q#D alkiot ovat vaillinaista tyyppiä" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, fuzzy, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "parametrin %qD tyyppi on vaillinainen" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "%qD esitelty viitteenä, mutta alustamatta" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, fuzzy, gcc-internal-format + msgid "name used in a GNU-style designated initializer for an array" + msgstr "ISO C ei salli ylimääräisiä %<;%>-merkkejä funktion ulkopuolella" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, fuzzy, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "ISO C ei salli ylimääräisiä %<;%>-merkkejä funktion ulkopuolella" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, fuzzy, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "dwarfin versio %d ei ole tuettu" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, fuzzy, gcc-internal-format + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "taulukon %qD koko ei ole kokonaislukutyyppinen vakiolauseke" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, fuzzy, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "alustin ei pysty päättelemään taulukon %q+D kokoa" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, gcc-internal-format + msgid "array size missing in %qD" + msgstr "%qD-taulukon koko puuttuu" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, gcc-internal-format + msgid "zero-size array %qD" + msgstr "nollan kokoinen taulukko %qD" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, gcc-internal-format + msgid "storage size of %qD isn%'t known" + msgstr "%qD:n koko muistissa ei ole tunnettu" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, gcc-internal-format + msgid "storage size of %qD isn%'t constant" + msgstr "%qD:n koko muistissa ei ole vakio" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, gcc-internal-format + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, gcc-internal-format + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, fuzzy, gcc-internal-format + msgid "you can work around this by removing the initializer" + msgstr " voit kiertää tämän poistamalla alustimen" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, fuzzy, gcc-internal-format + msgid "uninitialized %" + msgstr "alustamaton const %qD" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, fuzzy, gcc-internal-format + msgid "uninitialized variable %qD in % function" + msgstr "%qD:a käytetään alustamattomana tässä funktiossa" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, fuzzy, gcc-internal-format + msgid "uninitialized variable %qD in % context" + msgstr "%qD:a käytetään alustamattomana tässä funktiossa" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, fuzzy, gcc-internal-format + msgid "%q#T has no user-provided default constructor" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, fuzzy, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "hajotin ei voi olla staattinen jäsenfunktio" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, fuzzy, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "perustyypin %qT kaksoiskappale virheellinen" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, fuzzy, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "virheellinen alustin taulukon jäsenelle %q#D" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, fuzzy, gcc-internal-format + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "ISO C ei salli ylimääräisiä %<;%>-merkkejä funktion ulkopuolella" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, fuzzy, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "ei-staattisella datajäsenellä %qD on Java-luokkatyyppi" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, fuzzy, gcc-internal-format + msgid "%qD is not a direct member of %qT" + msgstr "%qD:n esittely %qT:n jäsenenä" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, fuzzy, gcc-internal-format + msgid "invalid initializer for %q#D" + msgstr "virheellinen alustin taulukon jäsenelle %q#D" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, fuzzy, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "taulukon %qD koko ei ole kokonaislukutyyppinen vakiolauseke" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "liikaa alustimia %qT:lle" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, fuzzy, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "skalaarialustimen ympärillä on aaltosulkeet" + +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, fuzzy, gcc-internal-format + msgid "too many braces around scalar initializer for type %qT" + msgstr "skalaarialustimen ympärillä on aaltosulkeet" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, fuzzy, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "alustimen ympäriltä puuttuu aaltosulkeet" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, fuzzy, gcc-internal-format + msgid "structured binding has incomplete type %qT" + msgstr "ei voida vähentää osoitinta vaillinaiseen tyyppiin %qT" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, fuzzy, gcc-internal-format + msgid "elements of array %q#T have incomplete type" + msgstr "taulukon %q#D alkiot ovat vaillinaista tyyppiä" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, gcc-internal-format + msgid "variable-sized compound literal" + msgstr "muuttuvakokoinen yhdysliteraali" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, gcc-internal-format + msgid "%q#D has incomplete type" + msgstr "%q#D on vaillinaista tyyppiä" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, gcc-internal-format + msgid "scalar object %qD requires one element in initializer" + msgstr "skalaariobjekti %qD vaatii yhden alkion alustimeensa" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, gcc-internal-format + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "C++98:ssa %qD on alustettava muodostimessa, ei käyttäen %<{...}%>" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "taulukko %qD alustettu sulkujen sisällä olevalla merkkijonoliteraalilla %qE" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, fuzzy, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "virheellinen alustin taulukon jäsenelle %q#D" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, fuzzy, gcc-internal-format + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "vektoriylivuoto lausekkeessa" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, fuzzy, gcc-internal-format + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "vektoriylivuoto lausekkeessa" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, fuzzy, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr " ohittaa %q+#D:n alustuksen" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, fuzzy, gcc-internal-format + msgid "reference %qD is initialized with itself" + msgstr "%qD esitelty viitteenä, mutta ei ole alustettu" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, fuzzy, gcc-internal-format + msgid "could not find variant declaration" + msgstr "%<[*]%> ei ole esittelyssä" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, fuzzy, gcc-internal-format + msgid "% on constructor %qD" + msgstr "liian vähän argumentteja muodostimelle %q#D" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, fuzzy, gcc-internal-format + msgid "% on destructor %qD" + msgstr "hajottimen %qE osoitteen ottaminen" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, gcc-internal-format + msgid "% on defaulted %qD" + msgstr "" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, gcc-internal-format + msgid "% on deleted %qD" + msgstr "" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, gcc-internal-format + msgid "% on virtual %qD" + msgstr "" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "sijoitus (ei alustus) esittelyssä" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, fuzzy, gcc-internal-format + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "ISO C ei salli ylimääräisiä %<;%>-merkkejä funktion ulkopuolella" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, gcc-internal-format + msgid "% storage class specifier used" + msgstr "%-tallennusluokkamääritteen käyttö" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "%q#D:n esittelyllä ei ole alustimia" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, fuzzy, gcc-internal-format + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "jäsentä %q+D käytetty virheellisesti staattisessa jäsenfunktiossa" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, fuzzy, gcc-internal-format + #| msgid "return type %q#T is incomplete" + msgid "deduced type %qT for %qD is incomplete" + msgstr "paluutyyppi %q#T on vaillinainen" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, fuzzy, gcc-internal-format + msgid "variable concept has no initializer" + msgstr "muuttujalla %qD on alustin, mutta vaillinainen tyyppi" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, fuzzy, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "%q+D:n edellinen esittely" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, fuzzy, gcc-internal-format + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "%qE-attribuutti soveltuu vain muuttujiin ja funktioihin" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "funktio %q#D alustetaan kuin muuttuja" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, fuzzy, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr "%qE-attribuutti pätee vain muuttujiin" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, fuzzy, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "%qE-attribuutti pätee vain muuttujiin" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, fuzzy, gcc-internal-format + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "perustyypin %qT kaksoiskappale virheellinen" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, fuzzy, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "%qE-attribuutti pätee vain muuttujiin" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, fuzzy, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "%qE-attribuutti pätee vain muuttujiin" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, fuzzy, gcc-internal-format + msgid "structured binding refers to incomplete type %qT" + msgstr "ei voida vähentää osoitinta vaillinaiseen tyyppiin %qT" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, fuzzy, gcc-internal-format + msgid "cannot decompose variable length array %qT" + msgstr "ISO C90 kieltää muuttuvakokoisen taulukon %qE" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%u name provided for structured binding" + msgid_plural "%u names provided for structured binding" + msgstr[0] "%qs määritelty tietueen kentälle" + msgstr[1] "%qs määritelty tietueen kentälle" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" + msgstr[0] "%qs määritelty tietueen kentälle" + msgstr[1] "%qs määritelty tietueen kentälle" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, fuzzy, gcc-internal-format + msgid "cannot decompose variable length vector %qT" + msgstr "luokalla %q#T on datajäseninä osoittimia" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, fuzzy, gcc-internal-format + msgid "%::value%> is not an integral constant expression" + msgstr "taulukon koko ei ole kokonaislukutyyppinen vakiolauseke" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, fuzzy, gcc-internal-format + msgid "in initialization of structured binding variable %qD" + msgstr "virheellinen tyyppi iterointimuuttujalle %qE" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, fuzzy, gcc-internal-format + msgid "cannot decompose union type %qT" + msgstr "tyyppimuunnos lisää funktiotyyppiin uusia määreitä" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, fuzzy, gcc-internal-format + msgid "cannot decompose non-array non-class type %qT" + msgstr "ei voida vähentää osoitinta vaillinaiseen tyyppiin %qT" + +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, fuzzy, gcc-internal-format + msgid "cannot decompose lambda closure type %qT" + msgstr "Pyydettyä osoitetta ei voi asettaa" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, fuzzy, gcc-internal-format + msgid "structured binding refers to incomplete class type %qT" + msgstr "paluutyyppi on vaillinainen tyyppi" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, fuzzy, gcc-internal-format + msgid "cannot decompose class type %qT without non-static data members" + msgstr "%qE-attribuutti pätee vain muuttujiin" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, fuzzy, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "Java-luokalla %qT ei voi olla implisiittistä epätriviaalia hajotinta" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, fuzzy, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "Java-luokalla %qT ei voi olla implisiittistä epätriviaalia hajotinta" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, fuzzy, gcc-internal-format + msgid "initializer fails to determine size of %qT" + msgstr "alustin ei pysty päättelemään taulukon %q+D kokoa" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, fuzzy, gcc-internal-format + msgid "array size missing in %qT" + msgstr "%qD-taulukon koko puuttuu" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, fuzzy, gcc-internal-format + msgid "zero-size array %qT" + msgstr "nollan kokoinen taulukko %qD" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, fuzzy, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "Java-luokalla %qT ei voi olla hajotinta" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, fuzzy, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "Java-luokalla %qT ei voi olla hajotinta" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, fuzzy, gcc-internal-format + msgid "%qD declared as a % variable" + msgstr "funktio %qD esitelty virtuaaliseksi unionissa" + +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, fuzzy, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "tallennusluokkatarkentimet virheellisiä parameteresittelyissä" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, fuzzy, gcc-internal-format + msgid "%qD declared as a % parameter" + msgstr "parametri %qD esitelty void-tyyppisenä" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, fuzzy, gcc-internal-format + msgid "%qD declared as an % parameter" + msgstr "parametri %q+D esitelty %:ksi" + +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, fuzzy, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "tallennusluokkatarkentimet virheellisiä parameteresittelyissä" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, fuzzy, gcc-internal-format + msgid "%qD declared as a % type" + msgstr "parametri %qD esitelty void-tyyppisenä" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, fuzzy, gcc-internal-format + msgid "%qD declared as an % type" + msgstr "parametri %qD esitelty void-tyyppisenä" + +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, fuzzy, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "tallennusluokkatarkentimet virheellisiä parameteresittelyissä" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, fuzzy, gcc-internal-format + msgid "%qD declared as a % field" + msgstr "funktio %qD esitelty virtuaaliseksi unionissa" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, fuzzy, gcc-internal-format + msgid "%qD declared as an % field" + msgstr "parametri %q+D esitelty %:ksi" + +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, fuzzy, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "tallennusluokkatarkentimet virheellisiä parameteresittelyissä" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "%q+D esitelty ystävänä" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, fuzzy, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "nimike %qD esitelty muttei määritelty" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, fuzzy, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "%qD ei ole luokka eikä nimiavaruus" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "staattinen jäsenfunktio %q#D esitelty tyyppimääreillä" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, fuzzy, gcc-internal-format + msgid "concept %q#D declared with function parameters" + msgstr "sisäinen funktio %q+D esitelty ei-funktiona" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, fuzzy, gcc-internal-format + msgid "concept %q#D declared with a deduced return type" + msgstr "parametri %qD esitelty void-tyyppisenä" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, fuzzy, gcc-internal-format + msgid "concept %q#D with non-% return type %qT" + msgstr "parametri %qD esitelty void-tyyppisenä" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, fuzzy, gcc-internal-format + msgid "concept %qD has no definition" + msgstr "%qD:n poistettu määrittely" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, fuzzy, gcc-internal-format + msgid "a function concept cannot be constrained" + msgstr "funktiota % ei voi määrittää avoimeksi" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, fuzzy, gcc-internal-format + msgid "constraints on a non-templated function" + msgstr "%qD ei ole mallifunktio" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, fuzzy, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "% tyhjässä esittelyssä" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, fuzzy, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "%qD ei ole malli" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, fuzzy, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "oletusargumentti määritelty lambda-parametrille" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, fuzzy, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "%J%qE-attribuutti soveltuu vain funktioihin" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, fuzzy, gcc-internal-format + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "luokkamäärittelyä ei voi esitellä ystäväksi" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "funktiota % ei voi määrittää avoimeksi" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "funktiota % ei voi määrittää avoimeksi" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be %qs" + msgstr "funktiota % ei voi määrittää avoimeksi" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "funktiota % ei voi määrittää avoimeksi" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, fuzzy, gcc-internal-format + msgid "static member function %qD cannot have cv-qualifier" + msgstr "staattinen jäsenfunktio %q#D esitelty tyyppimääreillä" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, fuzzy, gcc-internal-format + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "staattinen jäsenfunktio %q#D esitelty tyyppimääreillä" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, fuzzy, gcc-internal-format + msgid "static member function %qD cannot have ref-qualifier" + msgstr "staattinen jäsenfunktio %q#D esitelty tyyppimääreillä" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, fuzzy, gcc-internal-format + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "staattinen jäsenfunktio %q#D esitelty tyyppimääreillä" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, fuzzy, gcc-internal-format + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "%qD:n esittely ei-funktiona" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, fuzzy, gcc-internal-format + msgid "deduction guide %qD must have the same access as %qT" + msgstr "%qD:n esittely ei-funktiona" + +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, fuzzy, gcc-internal-format + msgid "deduction guide %qD must not have a function body" + msgstr "%qD:n esittely ei-funktiona" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, fuzzy, gcc-internal-format + msgid "literal operator with C linkage" + msgstr "malli C-linkityksellä" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, fuzzy, gcc-internal-format + msgid "%qD has invalid argument list" + msgstr "virheellinen IACC-argumentti" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, fuzzy, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "virheellinen loppuliite ”%.*s” kokonaislukuvakiolla" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, fuzzy, gcc-internal-format + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "virheellinen loppuliite ”%.*s” kokonaislukuvakiolla" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, fuzzy, gcc-internal-format + msgid "%qD must be a non-member function" + msgstr "%qD:n esittely ei-jäsenenä" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, fuzzy, gcc-internal-format + msgid "%<::main%> must return %" + msgstr "paluutyyppi on oletuksena %" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, fuzzy, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "funktion määrittely esitelty %:ksi" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, fuzzy, gcc-internal-format + msgid "definition of explicitly-defaulted %q+D" + msgstr "%q+D:n edellinen määrittely oli täällä" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, fuzzy, gcc-internal-format + msgid "%q#D explicitly defaulted here" + msgstr "%q+D:n edellinen määrittely oli täällä" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, fuzzy, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "staattinen jäsenfunktio %q#D esitelty tyyppimääreillä" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be a global variable" + msgstr "%Jparametri %qD esitelty %:ksi" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, fuzzy, gcc-internal-format + msgid "a non-template variable cannot be %" + msgstr "automaattimuuttuja %qE ei voi olla %" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, fuzzy, gcc-internal-format + msgid "concept must be defined at namespace scope" + msgstr "%qD:n esittely ei-funktiona" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, fuzzy, gcc-internal-format + msgid "concept must have type %" + msgstr "keskeytysfunktiolla on oltava void-paluutyyppi" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, fuzzy, gcc-internal-format + msgid "a variable concept cannot be constrained" + msgstr "muuttujalla %qD on alustin, mutta vaillinainen tyyppi" + + # semi-fuzzy +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, fuzzy, gcc-internal-format + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "ei-staattista datajäsentä %q+D käytetty virheellisesti" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, fuzzy, gcc-internal-format + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "ISO C++ kieltää epäkokonaislukutyyppiä %2$qT olevan vakiojäsenen %1$qD alustamisen" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, fuzzy, gcc-internal-format + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "ISO C++ kieltää epäkokonaislukutyyppiä %2$qT olevan vakiojäsenen %1$qD alustamisen" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, fuzzy, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "ISO C++ kieltää epäkokonaislukutyyppiä %2$qT olevan vakiojäsenen %1$qD alustamisen" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "ISO C++ kieltää jäsenen %qD alustuksen" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "ISO C++ kieltää epäkokonaislukutyyppiä %2$qT olevan vakiojäsenen %1$qD alustamisen" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "taulukon %qD koolla on epäkokonaislukutyyppi %qT" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "taulukon koolla on epäkokonaislukutyyppi %qT" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "taulukon %qD koko ei ole kokonaislukutyyppinen vakiolauseke" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "taulukon koko ei ole kokonaislukutyyppinen vakiolauseke" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "ISO C++ kieltää nollan kokoisen taulukon %qD" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "ISO C++ kieltää nollan kokoisen taulukon" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array %qD" + msgstr "ISO C++ kieltää muuttuvakokoisen taulukon %qD" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array" + msgstr "ISO C++ kieltää muuttuvakokoisen taulukon" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, fuzzy, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "käytetään muuttuvapituista taulukkoa" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "käytetään muuttuvapituista taulukkoa" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "taulukon koon ylivuoto" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, fuzzy, gcc-internal-format + msgid "%qD declared as array of template placeholder type %qT" + msgstr "%qD esiteltiin täällä" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, fuzzy, gcc-internal-format + msgid "creating array of template placeholder type %qT" + msgstr "NULLin muunnos epäosoitintyypiksi %qT" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, gcc-internal-format + msgid "declaration of %qD as array of void" + msgstr "%qD:n esittely void-taulukkona" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, gcc-internal-format + msgid "creating array of void" + msgstr "luodaan void-taulukko" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, gcc-internal-format + msgid "declaration of %qD as array of functions" + msgstr "%qD:n esittely funktioiden taulukkona" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, gcc-internal-format + msgid "creating array of functions" + msgstr "luodaan funktioiden taulukko" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, gcc-internal-format + msgid "declaration of %qD as array of references" + msgstr "%qD:n esittely viitteiden taulukkona" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, gcc-internal-format + msgid "creating array of references" + msgstr "luodaan viitteiden taulukko" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, gcc-internal-format + msgid "declaration of %qD as array of function members" + msgstr "%qD:n esittely funktiojäsenten taulukkona" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, gcc-internal-format + msgid "creating array of function members" + msgstr "luodaan funktiojäsenten taulukkoa" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "moniulotteisell taulukolla on oltava rajat kaikkiin suuntiin paitsi ensimmäiseen" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "moniulotteisell taulukolla on oltava rajat kaikkiin suuntiin paitsi ensimmäiseen" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, fuzzy, gcc-internal-format + #| msgid "variable length array is used" + msgid "variable-length array of %" + msgstr "käytetään muuttuvapituista taulukkoa" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, fuzzy, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "virheellinen hajottimen %qD käyttö tyyppinä" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on constructor declaration" + msgstr "Tyhjä taulukkomuodostin kohdassa %C ei ole sallittu" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, fuzzy, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "virheellinen hajottimen %qD käyttö tyyppinä" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on destructor declaration" + msgstr "%Jvanhanmallinen funktiomäärittely" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, fuzzy, gcc-internal-format + msgid "return type specified for %" + msgstr "paluutyyppi %q#T on vaillinainen" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "%Jvanhanmallinen funktiomäärittely" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, fuzzy, gcc-internal-format + msgid "return type specified for deduction guide" + msgstr "virheellinen hajottimen %qD käyttö tyyppinä" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "%Jvanhanmallinen funktiomäärittely" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, fuzzy, gcc-internal-format + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "%qD esitelty ei-parametrina" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, fuzzy, gcc-internal-format + msgid "% in declaration of deduction guide" + msgstr "useita tallennusluokkia esittelymääritteissä" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "nimetön muuttuja tai kenttä esitelty voidiksi" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "muuttuja tai kenttä esitelty voidiksi" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, fuzzy, gcc-internal-format + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "ystäväesittely ei nimeä luokkaa tai funktiota" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, fuzzy, gcc-internal-format + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "attribuutti %qs pätee vain funktiotyyppeihin" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, fuzzy, gcc-internal-format + msgid "% cannot be cv-qualified" + msgstr "hajottimet eivät voi olla cv-määriteltyjä" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "Virheellinen käyttäjänimi ”%s” funktiossa %s, rivillä %d. Keskeytys." + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "määrittelemättömän tyypin %<%s %s%> epäkelpo käyttö" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "Virheellinen käyttäjänimi ”%s” funktiossa %s, rivillä %d. Keskeytys." + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, fuzzy, gcc-internal-format + msgid "%q#T is not a class or namespace" + msgstr "%qT ei ole luokka eikä nimiavaruus" + +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, fuzzy, gcc-internal-format + msgid "declaration of %qE as non-function" + msgstr "%qD:n esittely ei-funktiona" + +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, fuzzy, gcc-internal-format + msgid "declaration of %qE as non-member" + msgstr "%qD:n esittely ei-jäsenenä" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "funktion määrittely ei esittele parametrejä" + +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "%qD:n esittely ei-funktiona" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as %" + msgstr "vaillinaisen tyypin typedef %qD epäkelpo käyttö" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as parameter" + msgstr "parametrin %qD esittely, mutta parametria ei ole olemassa" + +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, gcc-internal-format + msgid "both %qs and %qs specified" + msgstr "" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, fuzzy, gcc-internal-format + msgid "%qs cannot appear in a typedef declaration" + msgstr "%Hprototyypin esittely" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, fuzzy, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "yli yksi tietotyyppi esittelymääritteissä" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, fuzzy, gcc-internal-format + msgid "ISO C++ does not support plain % meaning %" + msgstr "ISO C ei tue pelkkää %-tyyppiä merkityksellä %" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "ISO C++ kieltää muuttujan %qs esittelyn ilman tyyppiä" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, fuzzy, gcc-internal-format + msgid "%<__int%d%> is not supported by this target" + msgstr "kohteen int-tyyppi on kapeampi kuin kohteen char-tyyppi" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, fuzzy, gcc-internal-format + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "ISO C++ 1998 ei tue % -tyyppiä" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, fuzzy, gcc-internal-format + msgid "% and % specified together" + msgstr "sekä % että % määritelty %qs:lle" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, fuzzy, gcc-internal-format + msgid "% and % specified together" + msgstr "sekä % että % määritelty %qs:lle" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %qT" + msgstr "%qE:a käytetään alustamattomana tässä funktiossa" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %qD" + msgstr "%qE:a käytetään alustamattomana tässä funktiossa" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %" + msgstr "%qE ei ole typedef eikä sisäinen tyyppi" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %" + msgstr "%qE ei ole typedef eikä sisäinen tyyppi" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, fuzzy, gcc-internal-format + msgid "complex invalid for %qs" + msgstr "epäkelpo osoitintila %qs" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, fuzzy, gcc-internal-format + msgid "member %qD cannot be declared both % and %" + msgstr "jäsentä %qD ei voida esitellä sekä virtuaaliseksi että staattiseksi" + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, fuzzy, gcc-internal-format + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "jäsentä %qD ei voida esitellä sekä virtuaaliseksi että staattiseksi" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, fuzzy, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "parametrin %qD esittely, mutta parametria ei ole olemassa" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, gcc-internal-format + msgid "storage class specified for template parameter %qs" + msgstr "tallennusluokka annettu malliparametrille %qs" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "tallennusluokka annettu parametrille %qs" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, fuzzy, gcc-internal-format + msgid "a parameter cannot be declared %qs" + msgstr "parametriksi ei voida esitellä %:ksi" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "% luokan esittelyn ulkopuolella" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, fuzzy, gcc-internal-format + msgid "structured binding declaration cannot be %qs" + msgstr "attribuutti jätetty huomioimatta %q+#T:n esittelyssä" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, fuzzy, gcc-internal-format + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "attribuutti %qs pätee vain funktiotyyppeihin" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, fuzzy, gcc-internal-format + msgid "%-qualified structured binding is deprecated" + msgstr "virheellinen funktioesittely" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, fuzzy, gcc-internal-format + msgid "structured binding declaration cannot be C++98 %" + msgstr "%qs esitelty funktion palauttavana funktiona" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, fuzzy, gcc-internal-format + msgid "structured binding declaration cannot have type %qT" + msgstr "attribuutti jätetty huomioimatta %q+#T:n esittelyssä" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, fuzzy, gcc-internal-format + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "attribuutti jätetty huomioimatta %q+#T:n esittelyssä" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, gcc-internal-format + msgid "multiple storage classes in declaration of %qs" + msgstr "useita tallennusluokkia %qs:n esittelyssä" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "tallennusluokka annettu %qs:lle" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "sisäkkäinen funktio %qs esitelty %:ksi" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, fuzzy, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "% tiedostoalueen tyhjässä esittelyssä" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "funktioalue %qs implisiittisesti auto ja esitelty %<__thread%>:ksi" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, fuzzy, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "tallennusluokkatarkentimet virheellisiä parameteresittelyissä" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, gcc-internal-format + msgid "attribute ignored" + msgstr "attribuuttia ei huomioida" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, fuzzy, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "%qE-attribuuttia ei huomioida %qT-tyyppiselle kentälle" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, gcc-internal-format + msgid "unnecessary parentheses in declaration of %qs" + msgstr "tarpeettomat sulkeet %qs:n esittelyssä" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, fuzzy, gcc-internal-format + msgid "remove parentheses" + msgstr "Odotettiin oikeaa sulkumerkkiä lausekkeessa kohdassa %C" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, fuzzy, gcc-internal-format + msgid "requires-clause on return type" + msgstr "paluutyyppi on vaillinainen tyyppi" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, fuzzy, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "%qs-nimikkeen kaksoisesittely" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, fuzzy, gcc-internal-format + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "attribuutti %qs pätee vain funktiotyyppeihin" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, fuzzy, gcc-internal-format + msgid "virtual function cannot have deduced return type" + msgstr "%qs-nimikkeen kaksoisesittely" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, gcc-internal-format + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, fuzzy, gcc-internal-format + msgid "invalid use of %" + msgstr "virheellinen %:n käyttö muunnosoperaattorissa" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, fuzzy, gcc-internal-format + msgid "deduced class type %qD in function return type" + msgstr "tyyppimääreet jätetään huomiotta funktion paluutyypissä" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, fuzzy, gcc-internal-format + msgid "deduction guide for %qT must have trailing return type" + msgstr "%qs-nimikkeen kaksoisesittely" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, fuzzy, gcc-internal-format + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "attribuutti %qs pätee vain funktiotyyppeihin" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, fuzzy, gcc-internal-format + msgid "a conversion function cannot have a trailing return type" + msgstr "%qs-nimikkeen kaksoisesittely" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, fuzzy, gcc-internal-format + msgid "%-qualified return type is deprecated" + msgstr "%qD:n paluuarvon tyyppi ei ole %" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, gcc-internal-format + msgid "%qs declared as function returning a function" + msgstr "%qs esitelty funktion palauttavana funktiona" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "%qs esitelty taulukon palauttavan funktiona" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, fuzzy, gcc-internal-format + msgid "% on function return type is not allowed" + msgstr "%-funktio palauttaa ei-void-arvon" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "hajotin ei voi olla staattinen jäsenfunktio" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "muodostin ei voi olla staattinen jäsenfunktio" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "hajottimet eivät voi olla cv-määriteltyjä" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "muodostimet eivät voi olla cv-määriteltyjä" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, fuzzy, gcc-internal-format + msgid "destructors may not be ref-qualified" + msgstr "hajottimet eivät voi olla cv-määriteltyjä" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, fuzzy, gcc-internal-format + msgid "constructors may not be ref-qualified" + msgstr "hajottimet eivät voi olla cv-määriteltyjä" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, fuzzy, gcc-internal-format + msgid "constructors cannot be declared %" + msgstr "muodostimia ei voi esitellä virtuaalisiksi" + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, fuzzy, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "tyypillä %qE on virtuaalisia jäsenfunktioita" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, fuzzy, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "luokkamäärittelyä ei voi esitellä ystäväksi" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, fuzzy, gcc-internal-format + msgid "cannot define friend function %qs in a local class definition" + msgstr "luokkamäärittelyä ei voi esitellä ystäväksi" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "hajottimilla ei voi olla parametreja" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "luokalla %q#T on datajäseninä osoittimia" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, fuzzy, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "luokalla %q#T on datajäseninä osoittimia" + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "luokalla %q#T on datajäseninä osoittimia" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, fuzzy, gcc-internal-format + msgid "cannot declare reference to qualified function type %qT" + msgstr "tyyppimuunnos lisää funktiotyyppiin uusia määreitä" + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to qualified function type %qT" + msgstr "tyyppimuunnos lisää funktiotyyppiin uusia määreitä" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, fuzzy, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "tyyppi %qT ei ole tyypin %qT kantatyyppi" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, fuzzy, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "%qD ei ole mallifunktio" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, fuzzy, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "staattinen jäsenfunktio %q#D esitelty tyyppimääreillä" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "ylimääräinen kvalifiointi %<%T::%> jäsenelle %qs" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, fuzzy, gcc-internal-format + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "funktiota % ei voi määrittää avoimeksi" + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, fuzzy, gcc-internal-format + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "funktiota % ei voi määrittää avoimeksi" + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, fuzzy, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "funktiota % ei voi määrittää avoimeksi" + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, fuzzy, gcc-internal-format + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "Muuttujatyyppi on UNKNOWN sijoituksessa kohdassa %L" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, fuzzy, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "odotettiin %qT, mutta argumentti on tyyppiä %qT" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, fuzzy, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "odotettiin %qT, mutta argumentti on tyyppiä %qT" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, fuzzy, gcc-internal-format + msgid "% outside class declaration" + msgstr "% luokan esittelyn ulkopuolella" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, fuzzy, gcc-internal-format + msgid "% in friend declaration" + msgstr "% tyhjässä esittelyssä" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, fuzzy, gcc-internal-format + msgid "only declarations of constructors and conversion operators can be %" + msgstr "vain muodostimen esittely voi olla %" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, fuzzy, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "%qs esitelty funktion palauttavana funktiona" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, fuzzy, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "%qs esitelty funktion palauttavana funktiona" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, fuzzy, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "%qs esitelty funktion palauttavana funktiona" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, fuzzy, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "jäsentä %qD ei voida esitellä sekä virtuaaliseksi että staattiseksi" + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, fuzzy, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "%qs esitelty funktion palauttavana funktiona" + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, fuzzy, gcc-internal-format + msgid "reference %qs cannot be declared %" + msgstr "%Jparametri %qD esitelty %:ksi" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, fuzzy, gcc-internal-format + msgid "typedef may not be a function definition" + msgstr "uusia tyyppejä ei voi määritellä paluutyypissä" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, fuzzy, gcc-internal-format + msgid "typedef may not be a member function definition" + msgstr "uusia tyyppejä ei voi määritellä paluutyypissä" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, fuzzy, gcc-internal-format + msgid "% not allowed in alias declaration" + msgstr "%<[*]%> ei ole esittelyssä" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, fuzzy, gcc-internal-format + msgid "typedef declared %" + msgstr "funktion määrittely esitelty %:ksi" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, fuzzy, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, fuzzy, gcc-internal-format + msgid "typedef name may not be a nested-name-specifier" + msgstr "Odotettiin käyttöoikeustarkennetta kohdassa %C" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "kentällä %q+#D on sama nimi kuin luokalla" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, fuzzy, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "ystäväesittely ei nimeä luokkaa tai funktiota" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, fuzzy, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "strftime-muotoilut eivät voi muotoilla argumentteja" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, fuzzy, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "luokkamäärittelyä ei voi esitellä ystäväksi" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, fuzzy, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "luokkamäärittelyä ei voi esitellä ystäväksi" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "virheelliset määreet ei-jäsenfunktion tyypissä" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, fuzzy, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, fuzzy, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "%q+D esitelty staattisena, edellinen esittely ei-staattinen" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, fuzzy, gcc-internal-format + msgid "requires-clause on declaration of non-function type %qT" + msgstr "virheellinen %qT-tyyppisen viittauksen alustus %qT-tyyppisestä lausekkeesta" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, fuzzy, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "parametrin %qD esittely, mutta parametria ei ole olemassa" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, fuzzy, gcc-internal-format + msgid "cannot declare a parameter with %" + msgstr "parametrilla %P on vaillinainen tyyppi %qT" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, fuzzy, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "%qD ei ole funktiomalli" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, fuzzy, gcc-internal-format + msgid "% parameter not permitted in this context" + msgstr "parametri esitelty %:ksi" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, gcc-internal-format + msgid "parameter declared %" + msgstr "parametri esitelty %:ksi" + +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "mallinimen %qE virheellinen käyttö ilman argumenttiluetteloa" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, fuzzy, gcc-internal-format + msgid "non-static data member declared with placeholder %qT" + msgstr "ei-staattinen datajäsen %qE esitelty %:ksi" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids flexible array member %qs" + msgstr "ISO C++ kieltää nollan kokoisen taulukon %qD" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids flexible array members" + msgstr "ISO C90 ei tue joustavia taulukon jäseniä" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, fuzzy, gcc-internal-format + msgid "invalid use of %<::%>" + msgstr "%qD:n virheellinen käyttö" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, fuzzy, gcc-internal-format + msgid "declaration of function %qD in invalid context" + msgstr "virheellinen funktioesittely" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, fuzzy, gcc-internal-format + msgid "function %qD declared % inside a union" + msgstr "funktio %qD esitelty virtuaaliseksi unionissa" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, fuzzy, gcc-internal-format + msgid "%qD cannot be declared %, since it is always static" + msgstr "jäsentä %qD ei voida esitellä sekä virtuaaliseksi että staattiseksi" + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, fuzzy, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "%qD esitelty staattisesti sisäkkäin" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, gcc-internal-format + msgid "declaration of %qD as member of %qT" + msgstr "%qD:n esittely %qT:n jäsenenä" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, fuzzy, gcc-internal-format + msgid "a destructor cannot be %qs" + msgstr "hajotin ei voi olla %" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, fuzzy, gcc-internal-format + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "%qD esitelty staattisesti sisäkkäin" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, fuzzy, gcc-internal-format + msgid "a constructor cannot be %" + msgstr "Kopiomuodostin %qs" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, fuzzy, gcc-internal-format + msgid "a concept cannot be a member function" + msgstr "hajotin ei voi olla staattinen jäsenfunktio" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, fuzzy, gcc-internal-format + msgid "%qD cannot be %qs" + msgstr "tiedostoa %s ei voi avata" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, fuzzy, gcc-internal-format + msgid "specialization of variable template %qD declared as function" + msgstr "%qs:n esittely taulukollisena tyhjiä alkioita" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, fuzzy, gcc-internal-format + msgid "variable template declared here" + msgstr "%qD esiteltiin täällä" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, fuzzy, gcc-internal-format + msgid "field %qD has incomplete type %qT" + msgstr "%2$qD:n parametrilla %1$P on vaillinainen tyyppi %3$qT" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "nimellä %qT on vaillinainen tyyppi" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, fuzzy, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "sisäkkäinen funktio %qs esitelty %:ksi" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, fuzzy, gcc-internal-format + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "sisäkkäinen funktio %qs esitelty %:ksi" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, fuzzy, gcc-internal-format + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "%qE-attribuuttia ei huomioida %qT-tyyppiselle kentälle" + +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, fuzzy, gcc-internal-format + msgid "static data member %qE declared %qs" + msgstr "ei-staattinen datajäsen %qE esitelty %:ksi" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, fuzzy, gcc-internal-format + msgid "% static data member %qD must have an initializer" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, fuzzy, gcc-internal-format + msgid "non-static data member %qE declared %qs" + msgstr "ei-staattinen datajäsen %qE esitelty %:ksi" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "tallennusluokka % virheellinen funktiolle %qs" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "tallennusluokka % virheellinen funktiolle %qs" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "tallennusluokka %<__thread%> virheellinen funktiolle %qs" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, fuzzy, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "tallennusluokka %<__thread%> virheellinen funktiolle %qs" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, fuzzy, gcc-internal-format + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "%Jvanhanmallinen funktiomäärittely" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, fuzzy, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "tallennusluokkatarkentimet virheellisiä parameteresittelyissä" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, fuzzy, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "tallennusluokkatarkentimet virheellisiä parameteresittelyissä" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "virtuaalinen ei-luokkafunktio %qs" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, fuzzy, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "virtuaalinen ei-luokkafunktio %qs" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, fuzzy, gcc-internal-format + msgid "%qs declared in a non-class scope" + msgstr "virtuaalinen ei-luokkafunktio %qs" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, fuzzy, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "jäsenfunktiota %qD ei voi kutsua ilman oliota" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, fuzzy, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "%qE esitelty funktion palauttavana funktiona" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, fuzzy, gcc-internal-format + msgid "static member %qD declared %" + msgstr "jäsentä %qD ei voida esitellä sekä virtuaaliseksi että staattiseksi" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, fuzzy, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "jäsenfunktiota %qD ei voi kutsua ilman oliota" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, fuzzy, gcc-internal-format + msgid "declaration of % variable %qD is not a definition" + msgstr "%qD käytössä ilman esittelyä ennen sen määrittelyä" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, fuzzy, gcc-internal-format + msgid "a variable cannot be declared %" + msgstr "parametriksi ei voida esitellä %:ksi" + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "%qs alustettu ja esitelty %-avainsanalla" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "%qs on sekä % että alustin" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, fuzzy, gcc-internal-format + msgid "default argument %qE uses %qD" + msgstr "%qD:n malliargumentti käyttää paikallista tyyppiä %qT" + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, fuzzy, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "%qD:n malliargumentti käyttää paikallista tyyppiä %qT" + +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, fuzzy, gcc-internal-format + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "vaillinaisen tyypin typedef %qD epäkelpo käyttö" + +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, fuzzy, gcc-internal-format + msgid "invalid use of type % in parameter declaration" + msgstr "Varoita implisiittisistä funktioesittelyistä" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, fuzzy, gcc-internal-format + msgid "%-qualified parameter is deprecated" + msgstr "virheellinen parametrityyppi %qT" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "parametri %qD virheellisesti esitelty metodityyppi" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, fuzzy, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "virheellinen tyyppimuunnos funktiotyyppiin %qT" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, fuzzy, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "virheellinen tyyppimuunnos funktiotyyppiin %qT" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "virheellinen muodostin; tarkoitit todennäköisesti %<%T (const %T&)%>" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, fuzzy, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "%qD esitelty ei-parametrina" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, fuzzy, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "%q+D esitelty ystävänä" + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, fuzzy, gcc-internal-format + msgid "%qD must be a non-static member function" + msgstr "jäsenfunktiota %qD ei voi kutsua ilman oliota" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, fuzzy, gcc-internal-format + msgid "%qD must be a member function" + msgstr "%qD:n esittely ei-jäsenenä" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, fuzzy, gcc-internal-format + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "attribuutti %qs pätee vain funktiotyyppeihin" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, fuzzy, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "jäsenfunktiota %qD ei voi kutsua ilman oliota" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, fuzzy, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, fuzzy, gcc-internal-format + msgid "ISO C++ prohibits overloading %" + msgstr "ISO C++ kieltää ?:-operaattorin ylikuormituksen" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "%qD:lla ei saa olla vaihtuvaa määrää argumentteja" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, fuzzy, gcc-internal-format + msgid "%qD must have either zero or one argument" + msgstr "%qD:n on otettava joko nolla tai yksi argumenttia" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, fuzzy, gcc-internal-format + msgid "%qD must have either one or two arguments" + msgstr "%qD:n on otettava joko yksi tai kaksi argumenttia" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, fuzzy, gcc-internal-format + msgid "postfix %qD must have % as its argument" + msgstr "Kääntäjänsisäisellä ”%s”-funktiolla kohdassa %L on oltava vähintään kaksi argumenttia" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, fuzzy, gcc-internal-format + msgid "postfix %qD must have % as its second argument" + msgstr "Kääntäjänsisäisellä ”%s”-funktiolla kohdassa %L on oltava vähintään kaksi argumenttia" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, fuzzy, gcc-internal-format + msgid "%qD must have no arguments" + msgstr "%qD:n on otettava tasan kaksi argumenttia" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, fuzzy, gcc-internal-format + msgid "%qD must have exactly one argument" + msgstr "%qD:n on otettava tasan yksi argumentti" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, fuzzy, gcc-internal-format + msgid "%qD must have exactly two arguments" + msgstr "%qD:n on otettava tasan kaksi argumenttia" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "%qD:lla ei voi olla oletusargumentteja" + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, fuzzy, gcc-internal-format + msgid "converting %qT to % will never use a type conversion operator" + msgstr "muunnnos void-tyypiksi ei koskaan käytä tyyppimuunnosoperaattoria" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, fuzzy, gcc-internal-format + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "muunnnos void-tyypiksi ei koskaan käytä tyyppimuunnosoperaattoria" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, fuzzy, gcc-internal-format + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "muunnnos void-tyypiksi ei koskaan käytä tyyppimuunnosoperaattoria" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, fuzzy, gcc-internal-format + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "muunnnos void-tyypiksi ei koskaan käytä tyyppimuunnosoperaattoria" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, fuzzy, gcc-internal-format + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "muunnnos void-tyypiksi ei koskaan käytä tyyppimuunnosoperaattoria" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, fuzzy, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "vertailu ”etumerkitön lauseke >= 0” on aina tosi" + +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, fuzzy, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr " " + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, fuzzy, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr " " + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, fuzzy, gcc-internal-format + msgid "%qD should return by value" + msgstr " " + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, fuzzy, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "%Hdatamäärittelyllä ei ole tyyppiä eikä tallennusluokkaa" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, fuzzy, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "%Hdatamäärittelyllä ei ole tyyppiä eikä tallennusluokkaa" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, fuzzy, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "tiedostonimi puuttuu %qs:n jälkeen" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, gcc-internal-format + msgid "%qD has a previous declaration here" + msgstr "%q+D:lla on edellinen esittely täällä" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, fuzzy, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "lueteltu tyyppi määritelty täällä" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, fuzzy, gcc-internal-format + msgid "%qT has a previous declaration here" + msgstr "%q+D:lla on edellinen esittely täällä" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, fuzzy, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "lueteltu tyyppi määritelty täällä" +@@ -55616,111 +55606,111 @@ msgstr "lueteltu tyyppi määritelty täällä" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, fuzzy, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "jäsennysvirhe malliargumenttien luettelossa" + +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "%qD-viittaus on moniselitteinen" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, fuzzy, gcc-internal-format + #| msgid "function template %qD redeclared as a class template" + msgid "class template %qD redeclared as non-template" + msgstr "funktiomalli %qD esitelty uudelleen luokkamallina" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "%qD:llä on sama nimi kuin luokalla, jossa se on esitelty" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, gcc-internal-format + msgid "%qT is not a template" + msgstr "%qT ei ole malli" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, fuzzy, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "on ristiriidassa %q+#D:n edellisen esittelyn kanssa" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, fuzzy, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "C++:n sisäinen tietotyyppi %qT määritelty uudelleen" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, fuzzy, gcc-internal-format + msgid "cannot declare %qD in a different module" + msgstr "bittikentän %qD osoitetta ei voi ottaa" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, fuzzy, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "useita kenttiä unionissa %qT alustettu" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "%qT määritelty monella suoralla kannoalla" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, gcc-internal-format + msgid "%qT defined with direct virtual base" + msgstr "%qT määritelty suoralla virtuaalisella kannalla" + +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, fuzzy, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "%qT ei ole luokka-, struct- eikä unionityyppi" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "rekursiivinen tyyppi %qT määrittelemätön" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "perustyypin %qT kaksoiskappale virheellinen" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, fuzzy, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "tyyppitäsmäämättömyys taulukkoviitteessä" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, gcc-internal-format + msgid "previous definition here" + msgstr "edellinen määrittely täällä" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, fuzzy, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "tyyppitäsmäämättömyys taulukkoviitteessä" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, fuzzy, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "tyyppitäsmäämättömyys taulukkoviitteessä" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, fuzzy, gcc-internal-format + msgid "cannot define %qD in different module" + msgstr "%q+D:n virheellinen uudelleenesittely" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, fuzzy, gcc-internal-format + msgid "underlying type %qT of %qT must be an integral type" + msgstr "cppchar_t:n on oltava etumerkitön tyyppi" +@@ -55729,82 +55719,82 @@ msgstr "cppchar_t:n on oltava etumerkitön tyyppi" + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, fuzzy, gcc-internal-format + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, fuzzy, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, fuzzy, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, fuzzy, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, fuzzy, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "ylivuoto luetellun tyypin arvoissa" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, fuzzy, gcc-internal-format + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, fuzzy, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "edellinen %q+#T:n määrittely" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "paluutyyppi %q#T on vaillinainen" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, fuzzy, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "%:n on palautettava tyyppi %qT" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, fuzzy, gcc-internal-format + msgid "no return statements in function returning %qT" + msgstr "return-lause ilman arvoa funktiossa, jonka paluutyyppi on %qT" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, fuzzy, gcc-internal-format + msgid "only plain % return type can be deduced to %" + msgstr "funktion paluuarvojen tyypit eivät ole yhteensopivia %:n takia" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, fuzzy, gcc-internal-format + msgid "no return statement in % function returning non-void" + msgstr "ei palautuslausetta funktiossa, joka palauttaa ei-voidin" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, fuzzy, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "%qD on jo määritelty" + +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, fuzzy, gcc-internal-format + msgid "using %qs" + msgstr " %s" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, fuzzy, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "%q+D:n oletustyyppi on %" +@@ -56655,7 +56645,7 @@ msgstr "perustyypin %qT kaksoiskappale virheellinen" + msgid "type %qT is not a direct base of %qT" + msgstr "tyyppi %qT ei ole tyypin %qT kantatyyppi" + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, fuzzy, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "skalaarialustimen ympärillä on aaltosulkeet" +@@ -57714,7 +57704,7 @@ msgstr "virtuaalinen ei-luokkafunktio %qs" + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "attribuutti %qs pätee vain funktiotyyppeihin" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, fuzzy, gcc-internal-format + msgid "%qT is not a class, namespace, or enumeration" + msgstr "%qE ei ole luokka, nimiavaruus eikä lueteltu tyyppi" +@@ -58458,7 +58448,7 @@ msgstr "uusia tyyppejä ei voi määritellä paluutyypissä" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "väärä määrä argumentteja funktiolle %<__builtin_next_arg%>" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, fuzzy, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_launder%>" + msgstr "väärä määrä argumentteja funktiolle %<__builtin_next_arg%>" +@@ -59168,12 +59158,12 @@ msgstr "skalaarialustimen ympärillä on aaltosulkeet" + msgid "cannot expand initializer for member %qD" + msgstr "ei voi laajentaa alustinta jäsenelle %<%D%>" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, fuzzy, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "%q+D esitelty staattisena, edellinen esittely ei-staattinen" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, fuzzy, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "%qs:n esittely taulukollisena tyhjiä alkioita" +@@ -59771,7 +59761,7 @@ msgstr "%qE ei ole kelvollinen malliargumentti tyypille %qT, koska se ei ole obj + msgid "%qT not permitted in template argument" + msgstr "täsmäämättömät argumentit" + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, fuzzy, gcc-internal-format + msgid "invalid use of %qT" +@@ -60635,7 +60625,7 @@ msgstr "" + msgid "% clause with parameter on range-based % loop" + msgstr "% vain parametrina ei ole oikeutettu" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, fuzzy, gcc-internal-format + msgid "iteration variable %qD should not be reduction" + msgstr "sisäkkäisessä funktiossa käytetty rekisterimuuttujaa %qD" +@@ -61643,7 +61633,7 @@ msgstr "%qD:n malliargumentti käyttää paikallista tyyppiä %qT" + msgid "for template declaration %q+D" + msgstr "malliesittelylle %q+D" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, fuzzy, gcc-internal-format + msgid "template constraint failure for %qD" + msgstr "%qT ei ole malli" +@@ -61736,198 +61726,198 @@ msgstr "taulukon palauttava funktio" + msgid "function returning a function" + msgstr "funktion palauttava funktio" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, fuzzy, gcc-internal-format + msgid "forming reference to void" + msgstr "tyhjää arvoa ei jätetä huomioimatta, vaikka kuuluisi" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, fuzzy, gcc-internal-format + msgid "forming pointer to reference type %qT" + msgstr "NULLin muunnos epäosoitintyypiksi %qT" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, fuzzy, gcc-internal-format + msgid "forming reference to reference type %qT" + msgstr "tyyppitäsmäämättömyys taulukkoviitteessä" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, fuzzy, gcc-internal-format + msgid "forming pointer to qualified function type %qT" + msgstr "tyyppimuunnos lisää funktiotyyppiin uusia määreitä" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, fuzzy, gcc-internal-format + msgid "forming reference to qualified function type %qT" + msgstr "tyyppimuunnos lisää funktiotyyppiin uusia määreitä" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, fuzzy, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr "%-tyyppistä osoitinta käytetty laskutoimituksessa" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, fuzzy, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr "NULLin muunnos epäosoitintyypiksi %qT" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, fuzzy, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr "%-tyyppistä osoitinta käytetty laskutoimituksessa" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, fuzzy, gcc-internal-format + msgid "creating array of %qT" + msgstr "luodaan void-taulukko" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "%qT ei ole luokka-, struct- eikä unionityyppi" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, fuzzy, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "%Jcase-arvo %qs ei ole luetellussa tyypissä" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, fuzzy, gcc-internal-format + msgid "%qT resolves to %qT, which is not a class type" + msgstr "%qT ei ole luokka-, struct- eikä unionityyppi" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, fuzzy, gcc-internal-format + msgid "use of %qs in template" + msgstr "muodostimen virheellinen käyttö mallina" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, fuzzy, gcc-internal-format + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "objektityyppi %qT ei täsmää hajottimen nimen ~%qT kanssa" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, fuzzy, gcc-internal-format + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "alustinalkio ei ole vakiolauseke" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, gcc-internal-format + msgid "using invalid field %qD" + msgstr "käytetään virheellistä kenttää %qD" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, fuzzy, gcc-internal-format + msgid "invalid use of pack expansion expression" + msgstr "void-lausekkeen epäkelpo käyttö" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, fuzzy, gcc-internal-format + msgid "use %<...%> to expand argument pack" + msgstr "Käytä rekistereitä argumenttien välittämiseen" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, fuzzy, gcc-internal-format + msgid "empty initializer in lambda init-capture" + msgstr "tallennusluokka annettu parametrille %qs" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, fuzzy, gcc-internal-format + msgid "use %%D%> instead" + msgstr "käytä #includea sen sijaan" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, fuzzy, gcc-internal-format + msgid "use %<%T::%D%> instead" + msgstr "käytä #includea sen sijaan" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, fuzzy, gcc-internal-format + msgid "%qD declared here, later in the translation unit" + msgstr "%J%qD esitelty avoimeksi määrittelyn jälkeen" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, fuzzy, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "väärä määrä argumentteja funktiolle %<__builtin_next_arg%>" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for %qE attribute" + msgid "wrong number of arguments to % attribute" + msgstr "attribuutille %qE annettu väärä määrä argumentteja" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "%qT ei ole luokka eikä nimiavaruus" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "%qD ei ole luokka eikä nimiavaruus" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, fuzzy, gcc-internal-format + msgid "%qT is/uses unnamed type" + msgstr "%qT on/käyttää anonyymiä tyyppiä" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, gcc-internal-format + msgid "template argument for %qD uses local type %qT" + msgstr "%qD:n malliargumentti käyttää paikallista tyyppiä %qT" + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, fuzzy, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "odotettiin %qT, mutta argumentti on tyyppiä %qT" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, fuzzy, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "taulukon %qD koko ei ole kokonaislukutyyppinen vakiolauseke" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, fuzzy, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr "ohjelman alustusta yritettäessä" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, fuzzy, gcc-internal-format + msgid "ambiguous template instantiation for %q#T" + msgstr "%qs-attribuuttia ei huomioida ei-luokkatyypeille" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, fuzzy, gcc-internal-format + msgid "ambiguous template instantiation for %q#D" + msgstr "malliesittelylle %q+D" + +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + #, fuzzy + msgid "%s %#qS" + msgstr "" +@@ -61935,82 +61925,82 @@ msgstr "" + "%s, %s, %s, %s,\n" + "%s, %s ja %s.\n" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "%qs:n esittely taulukollisena tyhjiä alkioita" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of variable concept %q#D" + msgstr "muuttuja %qD esitelty %:ksi" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of function concept %q#D" + msgstr "funktio %qE esitelty implisiittisesti" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, fuzzy, gcc-internal-format + msgid "%qD is not a static data member of a class template" + msgstr "staattinen jäsenfunktio %q#D esitelty tyyppimääreillä" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, fuzzy, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "%qD ei ole mallifunktio" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, fuzzy, gcc-internal-format + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "%qs:n esittely taulukollisena tyhjiä alkioita" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "käyttämätön muuttuja %q+D" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, fuzzy, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "jäsenen %q+D kaksoiskappale" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, fuzzy, gcc-internal-format + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "ISO C++ kieltää metodiosoittimen käytön vähennyslaskussa" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, fuzzy, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "%J%qE-attribuutti soveltuu vain funktioihin" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-class template %qD" + msgstr "%qs:n esittely taulukollisena tyhjiä alkioita" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "%qs:n esittely taulukollisena tyhjiä alkioita" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "%qs:n esittely taulukollisena tyhjiä alkioita" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "ISO C++ kieltää metodiosoittimen käytön vähennyslaskussa" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, fuzzy, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "jäsenen %q+D kaksoiskappale" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, fuzzy, gcc-internal-format + msgid "exception specification of %qD depends on itself" + msgstr "%q+D:n edellinen esittely oli täällä" +@@ -62022,163 +62012,163 @@ msgstr "%q+D:n edellinen esittely oli täällä" + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "käyttämätön muuttuja %q+D" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, gcc-internal-format + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, fuzzy, gcc-internal-format + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "attribuutti %qs pätee vain funktiotyyppeihin" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, fuzzy, gcc-internal-format + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "tyyppi %qT ei ole tyypin %qT kantatyyppi" + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, fuzzy, gcc-internal-format + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "attribuutti %qs pätee vain funktiotyyppeihin" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, fuzzy, gcc-internal-format + msgid "invalid template non-type parameter" + msgstr "staattinen tai tyyppimääreitä ei-parametrisessa taulukkoesittelijässä" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, fuzzy, gcc-internal-format + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "tyyppi %qT ei ole tyypin %qT kantatyyppi" + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, fuzzy, gcc-internal-format + msgid "keyword % not allowed in declarator-id" + msgstr "%<[*]%> ei ole esittelyssä" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, fuzzy, gcc-internal-format + msgid "a concept cannot be constrained" + msgstr "hajotin ei voi olla staattinen jäsenfunktio" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, fuzzy, gcc-internal-format + msgid "concept %qE not in namespace scope" + msgstr "%qT ei ole luokka eikä nimiavaruus" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, fuzzy, gcc-internal-format + msgid "concept %qE has multiple template parameter lists" + msgstr "malliesittelylle %q+D" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, fuzzy, gcc-internal-format + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "funktion %q+D määrittely on merkitty dllimport-tyyppiseksi" + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, fuzzy, gcc-internal-format + msgid "non-deducible template %qT used without template arguments" + msgstr "%qD ei ole mallifunktio" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, fuzzy, gcc-internal-format + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "attribuutti %qs pätee vain funktiotyyppeihin" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, fuzzy, gcc-internal-format + msgid "use %qD directly instead" + msgstr "käytä #includea sen sijaan" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, fuzzy, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "%qE ei ole kelvollinen malliargumentti tyypille %qT, koska se ei ole objekti ulkoisella linkityksellä" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, fuzzy, gcc-internal-format + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "%qE ei ole kelvollinen malliargumentti tyypille %qT, koska se ei ole objekti ulkoisella linkityksellä" + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, fuzzy, gcc-internal-format + msgid "class template argument deduction failed:" + msgstr "liian paljon argumentteja funktiolle %qs" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, fuzzy, gcc-internal-format + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "Tiedostoa ”%s” on jo tarkasteltu.\n" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, gcc-internal-format + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr "" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, fuzzy, gcc-internal-format + msgid "explicit deduction guide declared here" + msgstr "sisäkkäinen funktio %qs esitelty %:ksi" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, fuzzy, gcc-internal-format + msgid "%qT may not intend to support class template argument deduction" + msgstr "liian paljon argumentteja funktiolle %qs" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, fuzzy, gcc-internal-format + msgid "unable to deduce lambda return type from %qE" + msgstr "ei voi emuloida %qs" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, fuzzy, gcc-internal-format + msgid "unable to deduce %qT from %qE" + msgstr "%qE:n muunnos tyypistä %qT tyyppiin %qT ei ole yksiselitteinen" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, fuzzy, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "%qD ei ole %qD:n jäsen" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, fuzzy, gcc-internal-format + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "alustusalkio ei ole vakio" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, fuzzy, gcc-internal-format + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "alustusalkio ei ole vakio" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, fuzzy, gcc-internal-format + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "alustusalkio ei ole vakio" + +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, fuzzy, gcc-internal-format + msgid "invalid use of %qT in template argument" + msgstr "virheellinen %:n käyttö muunnosoperaattorissa" +@@ -62489,7 +62479,7 @@ msgstr "perustyypin %qT kaksoiskappale virheellinen" + msgid "cannot capture member %qD of anonymous union" + msgstr "jäsentä %q+D käytetty virheellisesti staattisessa jäsenfunktiossa" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, fuzzy, gcc-internal-format + msgid "%qD is not captured" + msgstr " %qD" +@@ -62898,27 +62888,27 @@ msgstr "funktiota %<__builtin_next_arg%> kutsuttu ilman argumenttia" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, fuzzy, gcc-internal-format + msgid "%qD is not a class or alias template" + msgstr " odotettiin luokkamallia, saatiin %qE" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, fuzzy, gcc-internal-format + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "pilkkulausekkeen vasemmalla operandilla ei ole vaikutusta" + +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, fuzzy, gcc-internal-format + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "pilkkulausekkeen vasemmalla operandilla ei ole vaikutusta" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, fuzzy, gcc-internal-format + msgid "non-pointer argument to %<__builtin_launder%>" + msgstr "ei-tuettu argumentti funktiolle %<__builtin_return_address%>" +@@ -62926,22 +62916,22 @@ msgstr "ei-tuettu argumentti funktiolle %<__builtin_return_address%>" + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "" +@@ -64196,222 +64186,222 @@ msgstr "%J%qD esitelty turhaan uudestaan" + msgid "declaration of %q#T" + msgstr "edellinen esittely %q+D" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, fuzzy, gcc-internal-format + msgid "%qD has incomplete type" + msgstr "%2$qD:n parametrilla %1$P on vaillinainen tyyppi %3$qT" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, fuzzy, gcc-internal-format + msgid "invalid use of incomplete type %q#T" + msgstr "paluutyyppi %q#T on vaillinainen" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, fuzzy, gcc-internal-format + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "jäsentä %q+D käytetty virheellisesti staattisessa jäsenfunktiossa" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, fuzzy, gcc-internal-format + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "jäsentä %q+D käytetty virheellisesti staattisessa jäsenfunktiossa" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, fuzzy, gcc-internal-format + msgid "invalid use of placeholder %qT" + msgstr "virheellinen parametrityyppi %qT" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, fuzzy, gcc-internal-format + msgid "invalid use of template type parameter %qT" + msgstr "virheellinen parametrityyppi %qT" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, fuzzy, gcc-internal-format + msgid "invalid use of template template parameter %qT" + msgstr "muodostimen virheellinen käyttö mallina" + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, fuzzy, gcc-internal-format + msgid "invalid use of pack expansion %qT" + msgstr "void-lausekkeen epäkelpo käyttö" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, fuzzy, gcc-internal-format + msgid "invalid use of dependent type %qT" + msgstr "virheellinen muunnos tyypistä %qT tyyppiin %qT" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, fuzzy, gcc-internal-format + msgid "invalid use of brace-enclosed initializer list" + msgstr "skalaarialustimen ympärillä on aaltosulkeet" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "muodostinsyntaksia on käytetty, mutta %qT-tyypin muodostinta ei ole esitelty" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, fuzzy, gcc-internal-format + msgid "% variable %qD does not have a constant initializer" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + #, fuzzy + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "virheellinen muunnos tyypistä %qT tyypiksi %qT" + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + #, fuzzy + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "%qE:n kaventava muunnos tyypistä %qT tyyppiin %qT { }:n sisällä" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, fuzzy, gcc-internal-format + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, fuzzy, gcc-internal-format + msgid "initializer-string for %qT is too long" + msgstr "merkkitaulukon alustusmerkkijono on liian pitkä" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, fuzzy, gcc-internal-format + msgid "remove %<{ }%> around initializer" + msgstr "skalaarialustimen ympärillä on aaltosulkeet" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "puuttuva alustin jäsenelle %qD" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "jäsen %qD on alustamaton viittaus" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, fuzzy, gcc-internal-format + msgid "member %qD with uninitialized reference fields" + msgstr "jäsen %qD on alustamaton viittaus" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, fuzzy, gcc-internal-format + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "%qD:n tyyppi ei täsmää aiemman esittelyn kanssa" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "alustettavassa unionissa ei ole kenttää %qD" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, fuzzy, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "ylimääräisiä alkioita union-alustimessa" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, fuzzy, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "PRINT_OPERAND null-osoitin" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, fuzzy, gcc-internal-format + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "PRINT_OPERAND_ADDRESS, null-osoitin" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr "" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, fuzzy, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "PRINT_OPERAND_ADDRESS, null-osoitin" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, fuzzy, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "%qE:a saatetaan käyttää alustamattomana tässä funktiossa" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, fuzzy, gcc-internal-format + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "parametrilla %P on vaillinainen tyyppi %qT" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, fuzzy, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "sijoitus yhteensopimattomasta osoitintyypistä" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, fuzzy, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "jäsenfunktio-osoitinta käytetty laskutoimituksessa" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, fuzzy, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "jäsenfunktio-osoitinta käytetty laskutoimituksessa" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, fuzzy, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "jäsenfunktio-osoitinta käytetty laskutoimituksessa" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, fuzzy, gcc-internal-format + msgid "functional cast to array type %qT" + msgstr "tyyppimuunnos määrittää taulukkotyypin" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, fuzzy, gcc-internal-format + msgid "% cannot be constrained" + msgstr "hajotin ei voi olla staattinen jäsenfunktio" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, fuzzy, gcc-internal-format + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "attribuutti %qs pätee vain funktiotyyppeihin" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, fuzzy, gcc-internal-format + msgid "invalid value-initialization of reference type" + msgstr "virheellinen %qT-tyyppisen viittauksen alustus %qT-tyyppisestä lausekkeesta" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, fuzzy, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "%2$qD:n parametrilla %1$P on vaillinainen tyyppi %3$qT" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, fuzzy, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "epäkelpo %qs:n soveltaminen tyhjään tyyppiin" +@@ -65361,7 +65351,7 @@ msgstr "Muuttujatyyppi on UNKNOWN sijoituksessa kohdassa %L" + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentin ”%1$s” kohdassa %3$L on oltava vakio" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Invalid use of BOZ literal constant at %L" + msgstr "epäkelpo osoitintila %qs" +@@ -66455,12 +66445,12 @@ msgstr "" + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "alustusmerkkijono typistetty, jotta se täsmäisi muuttujaan kohdassa %L" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "Alimerkkijonon loppuindeksi kohdassa %L on liian suuri" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "Alimerkkijonon loppuindeksi kohdassa %L on liian suuri" +@@ -66643,7 +66633,7 @@ msgstr "Kaksoiskappale %s-spesifikaatio kohdassa %C" + msgid "deferred type parameter at %C" + msgstr "virheellinen parametrityyppi %qT" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "odotettiin kokonaislukulauseketta" +@@ -68655,7 +68645,7 @@ msgstr "Luontaisella ”%s” kohdassa %L ei voi olla alustinta" + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "ASYNCHRONOUS= määrite kohdassa %L täytyy olla alustuslauseke" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, fuzzy, gcc-internal-format + msgid "Function %qs in initialization expression at %L must be an intrinsic function" + msgstr "vektoriylivuoto lausekkeessa" +@@ -68926,7 +68916,7 @@ msgstr "Rajapintatäsmäämättömyys proseduuriosoitinsijoituksessa kohdassa %L + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "Virheellinen proseduuriargumentti kohdassa %L" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, fuzzy, gcc-internal-format + msgid "Explicit interface required for %qs at %L: %s" + msgstr "Virheellinen proseduuriargumentti kohdassa %L" +@@ -69044,7 +69034,7 @@ msgstr "" + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "yhteensopimattomat tyypit sijoituksessa" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must not be ALLOCATABLE" + msgstr "(%qs:n alustuksen lähistöllä)" +@@ -69054,7 +69044,7 @@ msgstr "(%qs:n alustuksen lähistöllä)" + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "(%qs:n alustuksen lähistöllä)" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must have the SAVE attribute" + msgstr "(%qs:n alustuksen lähistöllä)" +@@ -69185,7 +69175,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Creating array temporary at %L" +@@ -69401,12 +69391,12 @@ msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio" + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentin ”%1$s” kohdassa %3$L ei voi olla INTENT(IN)" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentin ”%1$s” kohdassa %3$L ei voi olla INTENT(IN)" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentin ”%1$s” kohdassa %3$L ei voi olla INTENT(IN)" +@@ -69516,562 +69506,562 @@ msgstr "ehtolausekkeessa on tyyppiristiriita" + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "ehtolausekkeessa on tyyppiristiriita" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid procedure argument at %L" + msgstr "Virheellinen proseduuriargumentti kohdassa %L" + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, fuzzy, gcc-internal-format + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "Rajapintatäsmäämättömyys proseduuriosoitinsijoituksessa kohdassa %L: %s" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, fuzzy, gcc-internal-format + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "liikaa argumentteja funktiolle %s %q+#D" + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, fuzzy, gcc-internal-format + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr " alustettaessa funktion %2$qD argumenttia %1$P" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, fuzzy, gcc-internal-format + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, fuzzy, gcc-internal-format + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, fuzzy, gcc-internal-format + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "Tämänhetkisen argumentin kohteelle ”%s” on oltava osoitin kohdassa %L" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, fuzzy, gcc-internal-format + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, fuzzy, gcc-internal-format + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, fuzzy, gcc-internal-format + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "ehtolausekkeessa on tyyppiristiriita" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, fuzzy, gcc-internal-format + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, gcc-internal-format + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, fuzzy, gcc-internal-format + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "tyhjä esittely" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "tyhjä esittely" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, fuzzy, gcc-internal-format + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "tyhjä esittely" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, fuzzy, gcc-internal-format + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "tyhjä esittely" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, fuzzy, gcc-internal-format + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "tyhjä esittely" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, fuzzy, gcc-internal-format + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "Virheellinen proseduuriargumentti kohdassa %L" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, fuzzy, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "Virheellinen proseduuriargumentti kohdassa %L" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, fuzzy, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "Virheellinen proseduuriargumentti kohdassa %L" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, fuzzy, gcc-internal-format + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "Avainsana-argumentti ”%s” kohdassa %L on jo liitetty toiseen varsinaiseen argumenttiin" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "Liikaa argumentteja funktiolle %s kohdassa %L" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "Odottamaton vaihtoehtoinen paluumäärittely alirutiinikutsussa kohdassa %L" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "Odottamaton vaihtoehtoinen paluumäärittely alirutiinikutsussa kohdassa %L" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, fuzzy, gcc-internal-format + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "tyhjä esittely" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, fuzzy, gcc-internal-format + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "Varsinaisen argumentin kohteelle ”%s” on oltava osoitin kohdassa %L" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, gcc-internal-format, gfc-internal-format + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, fuzzy, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "liikaa argumentteja funktiolle %s %q+#D" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, fuzzy, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "liikaa argumentteja funktiolle %s %q+#D" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, gcc-internal-format + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, fuzzy, gcc-internal-format + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "liikaa argumentteja funktiolle %s %q+#D" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, fuzzy, gcc-internal-format + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "liikaa argumentteja funktiolle %s %q+#D" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, fuzzy, gcc-internal-format + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "Odotettiin proseduuriosoitinta argumentille ”%s” kohdassa %L" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, fuzzy, gcc-internal-format + msgid "Expected a procedure for argument %qs at %L" + msgstr "Virheellinen proseduuriargumentti kohdassa %L" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, fuzzy, gcc-internal-format + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "Varsinainen argumentti kohteelle ”%s” ei voi olla oletetunkokoinen taulukko kohdassa %L" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, gcc-internal-format + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, fuzzy, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "Varsinaisen argumentin kohteelle ”%s” on oltava osoitin kohdassa %L" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, fuzzy, gcc-internal-format + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "Varsinaisen argumentin kohteelle ”%s” on oltava osoitin kohdassa %L" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, fuzzy, gcc-internal-format + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "Varsinaisen argumentin kohteelle ”%s” on oltava osoitin kohdassa %L" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, fuzzy, gcc-internal-format + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "Varsinaisen argumentin kohteelle ”%s” on oltava osoitin kohdassa %L" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, gcc-internal-format + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, fuzzy, gcc-internal-format + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "Varsinaisen argumentin kohteelle ”%s” on oltava osoitin kohdassa %L" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, fuzzy, gcc-internal-format + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, fuzzy, gcc-internal-format + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "Varsinaisen argumentin kohteelle ”%s” on oltava osoitin kohdassa %L" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, gcc-internal-format + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, fuzzy, gcc-internal-format + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, fuzzy, gcc-internal-format + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, fuzzy, gcc-internal-format + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "Odottamaton vaihtoehtoinen paluumäärittely alirutiinikutsussa kohdassa %L" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, fuzzy, gcc-internal-format + msgid "Missing actual argument for argument %qs at %L" + msgstr "liikaa argumentteja funktiolle %s %q+#D" + +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, fuzzy, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr " eikä %" + +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, gcc-internal-format + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "Argumentilla ”%s”/”%s” PASS(%s) kohdassa %L ei voi olla POINTER-attribuuttia" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "Varsinaisen argumentin kohteelle ”%s” on oltava osoitin kohdassa %L" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "Varsinaisen argumentin kohteelle ”%s” on oltava osoitin kohdassa %L" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, fuzzy, gcc-internal-format + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "Varsinaisen argumentin kohteelle ”%s” on oltava osoitin kohdassa %L" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, fuzzy, gcc-internal-format + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, fuzzy, gcc-internal-format + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, fuzzy, gcc-internal-format + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "Virheellinen proseduuriargumentti kohdassa %L" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, fuzzy, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "Avainsana-argumentti ”%s” kohdassa %L ei ole proseduurissa" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "Nimi ”%s” kohdassa %C on jo määritelty geneerisenä rajapintana kohdassa %L" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, fuzzy, gcc-internal-format + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "Avainsana-argumentti ”%s” kohdassa %L ei ole proseduurissa" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, fuzzy, gcc-internal-format + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "Avainsana-argumentti ”%s” kohdassa %L ei ole proseduurissa" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "MOLD argument to NULL required at %L" + msgstr "%<__builtin_args_info%>-funktion argumentti puuttuu" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "Nimi ”%s” kohdassa %C on jo määritelty geneerisenä rajapintana kohdassa %L" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "Avainsana-argumentti ”%s” kohdassa %L ei ole proseduurissa" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, fuzzy, gcc-internal-format + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "tyhjä esittely" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, fuzzy, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "Odotettiin tyyppiriippuvaista proseduuria tai proseduurin osoitinkomponenttia kohdassa %C" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "" + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, fuzzy, gcc-internal-format + msgid "Unable to find symbol %qs" + msgstr "ei voi emuloida %qs" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, fuzzy, gcc-internal-format + msgid "Entity %qs at %L is already present in the interface" + msgstr "Nimi ”%s” kohdassa %C on jo määritelty geneerisenä rajapintana kohdassa %L" + +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, fuzzy, gcc-internal-format + msgid "gfc_add_interface(): Bad interface type" + msgstr "rekursiivinen tyyppi %qT määrittelemätön" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, fuzzy, gcc-internal-format + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "ei voi kirjoittaa tiedostoon %s: %m" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, fuzzy, gcc-internal-format + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "%s:n kohdassa %L täytyy olla INTEGER" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, gcc-internal-format + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, fuzzy, gcc-internal-format + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "%s:n kohdassa %L täytyy olla INTEGER" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, fuzzy, gcc-internal-format + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "%qs esitelty funktion palauttavana funktiona" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, fuzzy, gcc-internal-format + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "%qs esitelty funktion palauttavana funktiona" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, fuzzy, gcc-internal-format + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "%s:n kohdassa %L täytyy olla INTEGER" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, fuzzy, gcc-internal-format + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "%qs esitelty funktion palauttavana funktiona" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, fuzzy, gcc-internal-format + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "Rajapintatäsmäämättömyys proseduuriosoitinsijoituksessa kohdassa %L: %s" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, fuzzy, gcc-internal-format + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "%s:n kohdassa %L täytyy olla INTEGER" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, gcc-internal-format + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, fuzzy, gcc-internal-format + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "Rajapintatäsmäämättömyys proseduuriosoitinsijoituksessa kohdassa %L: %s" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, gcc-internal-format + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, fuzzy, gcc-internal-format + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "%qs esitelty funktion palauttavana funktiona" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, fuzzy, gcc-internal-format + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "%s:n kohdassa %L täytyy olla INTEGER" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "%s:n kohdassa %L täytyy olla INTEGER" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentti ”%1$s” kohdassa %3$L ei saa olla OPTIONAL" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "Argumentin %s kohdassa %L on oltava pituudeltaan yksi" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO character argument at %L must have assumed length" + msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentin ”%1$s” kohdassa %3$L ei voi olla INTENT(IN)" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "DATA-lause kohdassa %C ei ole sallittu PURE-proseduurissa" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, fuzzy, gcc-internal-format + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "tyhjä esittely" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, fuzzy, gcc-internal-format + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "Liikaa argumentteja funktiolle %s kohdassa %L" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, fuzzy, gcc-internal-format + msgid "Too many dummy arguments in DTIO procedure %qs at %L" + msgstr "Liikaa argumentteja funktiolle %s kohdassa %L" +@@ -70255,7 +70245,7 @@ msgstr "Muunnos tyypistä %s tyyppiin %s kohdassa %L" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Cannot convert %s to %s at %L" + msgstr "Ei voi muuntaa tyyppiä %s tyyppiin %s kohdassa %L" +@@ -70806,7 +70796,7 @@ msgstr "" + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, fuzzy, gcc-internal-format + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" + msgstr "muuttuvakokoista objektia ei voi alustaa" +@@ -71373,7 +71363,7 @@ msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "QUIET specifier at %L must be a scalar LOGICAL" + msgstr "ASYNCHRONOUS= määrite kohdassa %L täytyy olla alustuslauseke" +@@ -73237,8 +73227,8 @@ msgstr "% vain parametrina ei ole oikeutettu" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "% vain parametrina ei ole oikeutettu" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "decltypen argumentin on oltava lauseke" +@@ -75205,720 +75195,710 @@ msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio" + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "instanssimuuttuja %qE on esitelty yksityisenä" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "instanssimuuttuja %qE on esitelty yksityisenä" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "Muuttujatyyppi on UNKNOWN sijoituksessa kohdassa %L" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "Muuttujatyyppi on UNKNOWN sijoituksessa kohdassa %L" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "Muuttuja %s ei voida liittää PURE-proseduuriin kohdassa %C" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "Muuttuja %s ei voida liittää PURE-proseduuriin kohdassa %C" + +-#: fortran/resolve.cc:881 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "Muuttuja %s ei voida liittää PURE-proseduuriin kohdassa %C" +- +-#: fortran/resolve.cc:885 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "Muuttuja %s ei voida liittää PURE-proseduuriin kohdassa %C" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "Muuttujatyyppi on UNKNOWN sijoituksessa kohdassa %L" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "Muuttujatyyppi on UNKNOWN sijoituksessa kohdassa %L" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, fuzzy, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "Symboli ”%s” kohdassa %C on jo COMMON-lohkossa" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, fuzzy, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "Symboli ”%s” kohdassa %C on jo COMMON-lohkossa" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "COMMON block at %L" + msgstr "Odottamaton %s-lause INTERFACE-lohkossa kohdassa %C" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, gcc-internal-format + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, gcc-internal-format + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, fuzzy, gcc-internal-format + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "Symboli ”%s” kohdassa %C on jo COMMON-lohkossa" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, fuzzy, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, fuzzy, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, fuzzy, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, fuzzy, gcc-internal-format + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, fuzzy, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, fuzzy, gcc-internal-format + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, fuzzy, gcc-internal-format + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "Muuttujalla ”%s” kohdassa %L ei voi olla sekä POINTER- että BIND(C)-attribuutit" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, fuzzy, gcc-internal-format + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "Muuttujalla ”%s” kohdassa %L ei voi olla sekä POINTER- että BIND(C)-attribuutit" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, fuzzy, gcc-internal-format + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, fuzzy, gcc-internal-format + msgid "COMMON block %qs at %L that is also a function result" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, fuzzy, gcc-internal-format + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "Taulukkomuodostimen CHARACTER-alkioiden kohdassa %L on oltava saman pituisia (%d/%d)" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, fuzzy, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "Taulukkomuodostimen CHARACTER-alkioiden kohdassa %L on oltava saman pituisia (%d/%d)" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, fuzzy, gcc-internal-format + #| msgid "Unequal character lengths (%ld/%ld) in %s at %L" + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "Erisuuret merkkipituudet (%ld/%ld) merkkijonossa %s kohdassa %L" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, fuzzy, gcc-internal-format + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "Taulukkomuodostimen CHARACTER-alkioiden kohdassa %L on oltava saman pituisia (%d/%d)" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, fuzzy, gcc-internal-format + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, fuzzy, gcc-internal-format + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "liikaa argumentteja funktiolle %s %q+#D" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, fuzzy, gcc-internal-format + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "Taulukkomuodostimen CHARACTER-alkioiden kohdassa %L on oltava saman pituisia (%d/%d)" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, fuzzy, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "Taulukkomuodostimen CHARACTER-alkioiden kohdassa %L on oltava saman pituisia (%d/%d)" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, fuzzy, gcc-internal-format + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "Taulukkomuodostimen CHARACTER-alkioiden kohdassa %L on oltava saman pituisia (%d/%d)" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, gcc-internal-format + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, fuzzy, gcc-internal-format + msgid "%qs at %L is ambiguous" + msgstr "muunnos tyypistä %qT tyyppiin %qT on moniselitteinen" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, fuzzy, gcc-internal-format + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "Virheellinen proseduuriargumentti kohdassa %L" + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, fuzzy, gcc-internal-format + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "Funktion ”%s” paluuarvoa kohdassa %L ei ole asetettu" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, fuzzy, gcc-internal-format + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "Luontaisella ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, gcc-internal-format + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "" + +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, gcc-internal-format + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "" + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, gcc-internal-format + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "Nimiö %d kohdassa %L on määritelty, mutta ei käytetty" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "Virheellinen proseduuriargumentti kohdassa %L" + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, fuzzy, gcc-internal-format + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "tyyppi %qT ei ole tyypin %qT kantatyyppi" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, fuzzy, gcc-internal-format + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "Kääntäjänsisäisellä ”%s”-funktiolla kohdassa %L on oltava vähintään kaksi argumenttia" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, fuzzy, gcc-internal-format + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "Virheellinen proseduuriargumentti kohdassa %L" + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, fuzzy, gcc-internal-format + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "Virheellinen proseduuriargumentti kohdassa %L" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, fuzzy, gcc-internal-format + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "%J%qD:lle ei ole aiempaa esittelyä" + +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, fuzzy, gcc-internal-format + msgid "Symbol %qs at %L is ambiguous" + msgstr "Monimerkityksellinen symboli TYPE-määrittelyssä kohdassa %C" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not of numeric type" + msgstr "Virheellinen proseduuriargumentti kohdassa %L" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not allowed in this context" + msgstr "Avainsana-argumentti ”%s” kohdassa %L ei ole proseduurissa" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, fuzzy, gcc-internal-format + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "Varsinaisen argumentin kohteelle ”%s” on oltava osoitin kohdassa %L" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, gcc-internal-format + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, gcc-internal-format + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, fuzzy, gcc-internal-format + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "Funktion ”%s” paluuarvoa kohdassa %L ei ole asetettu" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, fuzzy, gcc-internal-format + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "Rajapintatäsmäämättömyys proseduuriosoitinsijoituksessa kohdassa %L: %s" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, fuzzy, gcc-internal-format + msgid "There is no specific function for the generic %qs at %L" + msgstr "%J%qD:lle ei ole aiempaa esittelyä" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, fuzzy, gcc-internal-format + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "Luontaisella ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, fuzzy, gcc-internal-format + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "Luontaisella ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, fuzzy, gcc-internal-format + msgid "Unable to resolve the specific function %qs at %L" + msgstr "%J%qD:lle ei ole aiempaa esittelyä" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, fuzzy, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "Proseduuri ”%s” kohdassa %L ei voi olla perustyyppiä %s" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, fuzzy, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "Proseduuri ”%s” kohdassa %L ei voi olla perustyyppiä %s" + +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, fuzzy, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "kirjoitussuojatun muuttujan %qs sijoitus" + +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, fuzzy, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "kirjoitussuojatun muuttujan %qs sijoitus" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, fuzzy, gcc-internal-format + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "kirjoitussuojatun muuttujan %qs sijoitus" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, fuzzy, gcc-internal-format + msgid "Unexpected junk after %qs at %L" + msgstr "Odottamatonta roskaa ELSE-lauseen jälkeen kohdassa %C" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, fuzzy, gcc-internal-format + msgid "%qs at %L is not a function" + msgstr "%qs esitelty funktion palauttavana funktiona" + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, fuzzy, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "ABSTRACT-tyyppiä ”%s” käytetty kohdassa %L" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, gcc-internal-format + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, fuzzy, gcc-internal-format + msgid "resolve_function(): bad function type" + msgstr "funktion paluuarvon tyyppi ei voi olla funktio" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, gcc-internal-format + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, fuzzy, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "Funktiota ”%s” kohdassa %L ei voida kutsua rekursiivisesti, koska se ei ole RECURSIVE" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, fuzzy, gcc-internal-format + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "Funktiota ”%s” kohdassa %L ei voida kutsua rekursiivisesti, koska se ei ole RECURSIVE" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, fuzzy, gcc-internal-format + msgid "Using function %qs at %L is deprecated" + msgstr "%qE on vanhentunut" + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, fuzzy, gcc-internal-format + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "Odottamaton vaihtoehtoinen paluumäärittely alirutiinikutsussa kohdassa %L" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, fuzzy, gcc-internal-format + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "Odottamaton vaihtoehtoinen paluumäärittely alirutiinikutsussa kohdassa %L" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, fuzzy, gcc-internal-format + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "Odottamaton vaihtoehtoinen paluumäärittely alirutiinikutsussa kohdassa %L" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, fuzzy, gcc-internal-format + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "%J%qD:lle ei ole aiempaa esittelyä" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, fuzzy, gcc-internal-format + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "Luontaisella ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, fuzzy, gcc-internal-format + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "Luontaisella ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, fuzzy, gcc-internal-format + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "Odottamaton vaihtoehtoinen paluumäärittely alirutiinikutsussa kohdassa %L" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, gcc-internal-format + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, fuzzy, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "Funktiota ”%s” kohdassa %L ei voida kutsua rekursiivisesti, koska se ei ole RECURSIVE" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, fuzzy, gcc-internal-format + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "Funktiota ”%s” kohdassa %L ei voida kutsua rekursiivisesti, koska se ei ole RECURSIVE" + +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, fuzzy, gcc-internal-format + msgid "resolve_subroutine(): bad function type" + msgstr "liian paljon argumentteja funktiolle %qs" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, fuzzy, gcc-internal-format + msgid "Using subroutine %qs at %L is deprecated" + msgstr "%qE on vanhentunut" + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "attribuutit fastcall ja cdecl eivät ole yhteensopivia" + +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, fuzzy, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "vektoriylivuoto lausekkeessa" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, fuzzy, gcc-internal-format + msgid "Impure function %qs at %L might not be evaluated" + msgstr "CHARACTER(*)-funktio ”%s” kohdassa %L ei voi olla osoitinarvoinen" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Impure function at %L might not be evaluated" + msgstr "%Javoimelle funktiolle %qD annettu attribuutti noinline" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, fuzzy, gcc-internal-format + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Equality comparison for %s at %L" + msgstr "%s: paniikki: Virheellinen ”l_value” %d\n" + +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Inequality comparison for %s at %L" + msgstr "%s: paniikki: Virheellinen ”l_value” %d\n" + +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, fuzzy, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "vektoriylivuoto lausekkeessa" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Taulukkoviite kohdassa %L on rajojen ulkopuolella (%ld < %ld) ulottuvuudessa %d" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "Taulukkoviite kohdassa %L on rajojen ulkopuolella (%ld < %ld) ulottuvuudessa %d" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Taulukkoviite kohdassa %L on rajojen ulkopuolella (%ld < %ld) ulottuvuudessa %d" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "Taulukkoviite kohdassa %L on rajojen ulkopuolella (%ld < %ld) ulottuvuudessa %d" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "Iteraattoriaskel kohdassa %L ei voi olla nolla" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Taulukkoviite kohdassa %L on rajojen ulkopuolella (%ld < %ld) ulottuvuudessa %d" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Taulukkoviite kohdassa %L on rajojen ulkopuolella (%ld < %ld) ulottuvuudessa %d" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Taulukkoviite kohdassa %L on rajojen ulkopuolella (%ld < %ld) ulottuvuudessa %d" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Taulukkoviite kohdassa %L on rajojen ulkopuolella (%ld < %ld) ulottuvuudessa %d" + +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, fuzzy, gcc-internal-format + msgid "check_dimension(): Bad array reference" + msgstr "luodaan viitteiden taulukko" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "Taulukkoviite kohdassa %L on rajojen ulkopuolella (%ld < %ld) ulottuvuudessa %d" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "ehtolausekkeessa on tyyppiristiriita" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "Arvo sallitun välin ulkopuolella." + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "Lauseke CASE-lauseessa kohdassa %L on oltava %s-tyyppinen" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "REAL array index at %L" + msgstr "taulukkoindeksi ei-taulukkoalustimessa" + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid form of array reference at %C" + msgid "Invalid array reference of a non-array entity at %L" + msgstr "Virheellinen taulukkoviitemuoto kohdassa %C" + +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "" + +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "Alimerkkijonon loppuindeksi kohdassa %L on liian suuri" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "Alimerkkijonon loppuindeksi kohdassa %L on liian suuri" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "Alimerkkijonon loppuindeksi kohdassa %L on liian suuri" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "Alimerkkijonon loppuindeksi kohdassa %L on liian suuri" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L is too large" + msgstr "Alimerkkijonon loppuindeksi kohdassa %L on liian suuri" + +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, fuzzy, gcc-internal-format + msgid "resolve_ref(): Bad array reference" + msgstr "luodaan viitteiden taulukko" + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "Argumentilla ”%s”/”%s” PASS(%s) kohdassa %L ei voi olla POINTER-attribuuttia" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "Argumentilla ”%s”/”%s” PASS(%s) kohdassa %L ei voi olla POINTER-attribuuttia" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "Argumentilla ”%s”/”%s” PASS(%s) kohdassa %L ei voi olla POINTER-attribuuttia" + +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may only be used as actual argument" + msgstr "muuttuvakokoista objektia ei voi alustaa" +@@ -75927,12 +75907,12 @@ msgstr "muuttuvakokoista objektia ei voi alustaa" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L may only be used as actual argument" + msgstr "muuttuvakokoista objektia ei voi alustaa" +@@ -75941,293 +75921,293 @@ msgstr "muuttuvakokoista objektia ei voi alustaa" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, gcc-internal-format + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, gcc-internal-format + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "Ei voi muuntaa tyyppiä %s tyyppiin %s kohdassa %L" + +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, fuzzy, gcc-internal-format + msgid "Using variable %qs at %L is deprecated" + msgstr "%qE on vanhentunut" + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, gcc-internal-format + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Error in typebound call at %L" + msgstr "" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Passed-object at %L must be scalar" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, fuzzy, gcc-internal-format + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "FINAL-proseduurin argumentin kohdassa %L täytyy olla tyyppiä ”%s”" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, fuzzy, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "FINAL-proseduurin argumentin kohdassa %L täytyy olla tyyppiä ”%s”" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "FINAL-proseduurin argumentin kohdassa %L täytyy olla tyyppiä ”%s”" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, fuzzy, gcc-internal-format + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "%J%qD:lle ei ole aiempaa esittelyä" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, fuzzy, gcc-internal-format + msgid "%qs at %L should be a SUBROUTINE" + msgstr "%s:n kohdassa %L täytyy olla INTEGER" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, fuzzy, gcc-internal-format + msgid "%qs at %L should be a FUNCTION" + msgstr "%qs esitelty funktion palauttavana funktiona" + +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, fuzzy, gcc-internal-format + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "vektoriylivuoto lausekkeessa" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be integer" + msgstr "%s:n kohdassa %L täytyy olla INTEGER" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "%s:n kohdassa %L täytyy olla INTEGER" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "vektoriylivuoto lausekkeessa" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "Iteraattoriaskel kohdassa %L ei voi olla nolla" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, fuzzy, gcc-internal-format + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "%J%qD:lle ei ole aiempaa esittelyä" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "Argumentti ”%s”/”%s” PASS(%s) kohdassa %L ei voi olla ALLOCATABLE" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "tulosta ei voi kirjoittaa: %s" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "Jäsenfunktio %qs" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, gcc-internal-format + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, fuzzy, gcc-internal-format + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "decltypen argumentin on oltava lauseke" + +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "Odotettiin muuttujaa READ-lauseessa kohdassa %C" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "decltypen argumentin on oltava lauseke" + +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "Odotettiin muuttujaa READ-lauseessa kohdassa %C" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "Argumentti ”%s”/”%s” PASS(%s) kohdassa %L ei voi olla ALLOCATABLE" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "Argumentti ”%s”/”%s” PASS(%s) kohdassa %L ei voi olla ALLOCATABLE" +@@ -76236,284 +76216,284 @@ msgstr "Argumentti ”%s”/”%s” PASS(%s) kohdassa %L ei voi olla ALLOCATABL + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "CASE-nimiö kohdassa %L menee CASE-nimiön päälle kohdassa %L" + +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "Lauseke CASE-lauseessa kohdassa %L on oltava %s-tyyppinen" + +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "Lauseke CASE-lauseessa kohdassa %L on oltava %d-kaltainen" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "Lauseke CASE-lauseessa kohdassa %L on oltava %s-tyyppinen" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "Lauseke CASE-lauseessa kohdassa %L on oltava %s-tyyppinen" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "Lauseke CASE-lauseessa kohdassa %L on oltava %s-tyyppinen" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "Tämä pikanäppäin on jo käytössä toiminnolle %s" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, fuzzy, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "Virheellinen proseduuriosoitinsijoitus kohdassa %L" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "”%s” ei ole kelvollinen makron nimi, sillä se on C++:n operaattori" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, fuzzy, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure name" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Selector at %L cannot be NULL()" + msgstr "%s:n kohdassa %L täytyy olla INTEGER" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Selector at %L has no type" + msgstr "%s:n kohdassa %L täytyy olla INTEGER" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, fuzzy, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "yhteensopimattomat tyypit sijoituksessa" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Selector at %L must not be coindexed" + msgstr "%s:n kohdassa %L täytyy olla INTEGER" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "CASE-nimiö kohdassa %L menee CASE-nimiön päälle kohdassa %L" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs at %L must be extensible" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, fuzzy, gcc-internal-format + msgid "Unexpected intrinsic type %qs at %L" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "Automaattitaulukolla ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "Syntaksivirhe PROTECTED-lauseessa kohdassa %C" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "Virheellinen proseduuriosoitinsijoitus kohdassa %L" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO %s procedure at %L must be recursive" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "Varsinainen argumentti kohteelle ”%s” ei voi olla oletetunkokoinen taulukko kohdassa %L" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "Muuttuja %s ei voida liittää PURE-proseduuriin kohdassa %C" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "decltypen argumentin on oltava lauseke" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "decltypen argumentin on oltava lauseke" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "decltypen argumentin on oltava lauseke" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "decltypen argumentin on oltava lauseke" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "decltypen argumentin on oltava lauseke" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "puhdistusargumentti ei ole tunniste" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "Odotettiin muuttujaa READ-lauseessa kohdassa %C" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, gcc-internal-format, gfc-internal-format + msgid "Branch at %L may result in an infinite loop" + msgstr "Haarautuminen kohdassa %L voi aiheuttaa ikisilmukan" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "break-lause silmukan tai switch-rakenteen ulkopuolella" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "break-lause silmukan tai switch-rakenteen ulkopuolella" +@@ -76521,208 +76501,208 @@ msgstr "break-lause silmukan tai switch-rakenteen ulkopuolella" + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "Odotettiin muuttujaa READ-lauseessa kohdassa %C" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "Virheellinen proseduuriosoitinsijoitus kohdassa %L" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "Virheellinen proseduuriosoitinsijoitus kohdassa %L" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "Odottamaton %s-lause WHERE-lohkossa kohdassa %C" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "Sijoitus FORALL-indeksimuuttujaan kohdassa %L" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, gcc-internal-format + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FORALL construct at %L" + msgstr "Lohkonimiö ei ole sopiva IF-lauseelle kohdassa %C" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "decltypen argumentin on oltava lauseke" + +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, fuzzy, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "vektoriylivuoto lausekkeessa" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "CHARACTER-lauseke kohdassa %L on typistetty (%d/%d)" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "" + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "kirjoitussuojatun muuttujan %qs sijoitus" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "kirjoitussuojatun muuttujan %qs sijoitus" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "Muuttujatyyppi on UNKNOWN sijoituksessa kohdassa %L" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, fuzzy, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "Muuttujatyyppi on UNKNOWN sijoituksessa kohdassa %L" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, gcc-internal-format + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "yhteensopimattomat tyypit sijoituksessa" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "" + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Pointer procedure assignment at %L" + msgstr "Virheellinen proseduuriosoitinsijoitus kohdassa %L" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "yhteensopimattomat tyypit sijoituksessa" + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, fuzzy, gcc-internal-format + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "decltypen argumentin on oltava lauseke" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "UNIT-numeron CLOSE-lauseessa kohdassa %L täytyy olla epänegatiivinen" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, fuzzy, gcc-internal-format + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "Muuttuja %s ei voida liittää PURE-proseduuriin kohdassa %C" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "UNIT-numeron CLOSE-lauseessa kohdassa %L täytyy olla epänegatiivinen" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expected initialization expression in CASE at %C" + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "Odotettiin alustuslauseketta CASE-lauseessa kohdassa %C" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "UNIT-numeron CLOSE-lauseessa kohdassa %L täytyy olla epänegatiivinen" + +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Invalid NULL at %L" + msgstr "virheellinen %%L-arvo" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, fuzzy, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "vektoriylivuoto lausekkeessa" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "Lausekkeen CASE-lauseessa kohdassa %L on oltava skalaari" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "decltypen argumentin on oltava lauseke" + +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, fuzzy, gcc-internal-format + msgid "gfc_resolve_code(): Bad statement code" + msgstr "vektoriylivuoto lausekkeessa" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, fuzzy, gcc-internal-format + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "Käyttämätön parameteri ”%s” esitelty kohdassa %L" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, fuzzy, gcc-internal-format + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, fuzzy, gcc-internal-format + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" +@@ -76730,114 +76710,114 @@ msgstr "%J%qD on tavallisesti ei-staattinen funktio" + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, gcc-internal-format, gfc-internal-format + msgid "String length at %L is too large" + msgstr "Merkkijonon pituus kohdassa %L on liian suuri" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, fuzzy, gcc-internal-format + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "Automaattitaulukolla ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, fuzzy, gcc-internal-format + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "Argumentti ”%s”/”%s” PASS(%s) kohdassa %L ei voi olla ALLOCATABLE" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, fuzzy, gcc-internal-format + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "Automaattitaulukolla ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, fuzzy, gcc-internal-format + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "Automaattitaulukolla ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, fuzzy, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "Funktion ”%s” paluuarvoa kohdassa %L ei ole asetettu" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, fuzzy, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "Kääntäjänsisäisellä ”%s”-funktiolla kohdassa %L on oltava vähintään kaksi argumenttia" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, gcc-internal-format + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, fuzzy, gcc-internal-format + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, fuzzy, gcc-internal-format + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" + msgstr "kolme pistettä sisältävä parametriluettelo ei sovellu tyhjään parametrinimiluettelon esittelyyn" + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, fuzzy, gcc-internal-format + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentin ”%1$s” kohdassa %3$L on oltava valemuuttuja" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, fuzzy, gcc-internal-format + msgid "%qs at %L must have constant character length in this context" + msgstr "Argumentin %s kohdassa %L on oltava pituudeltaan yksi" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, fuzzy, gcc-internal-format + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "Argumentin %s kohdassa %L on oltava pituudeltaan yksi" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, fuzzy, gcc-internal-format + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "Varattavalla ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, fuzzy, gcc-internal-format + msgid "External %qs at %L cannot have an initializer" + msgstr "Ulkoisella ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, fuzzy, gcc-internal-format + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "Tyhjällä ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, fuzzy, gcc-internal-format + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "Luontaisella ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, fuzzy, gcc-internal-format + msgid "Function result %qs at %L cannot have an initializer" + msgstr "Funktiolla ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, fuzzy, gcc-internal-format + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "Automaattitaulukolla ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s at %L" + msgstr "" +@@ -76845,872 +76825,872 @@ msgstr "" + " tai: %s -l [SIGNAALI]...\n" + " tai: %s -t [SIGNAALI]...\n" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, fuzzy, gcc-internal-format + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, fuzzy, gcc-internal-format + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "Proseduuri ”%s” kohdassa %L ei voi olla perustyyppiä %s" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, gcc-internal-format + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, fuzzy, gcc-internal-format + msgid "Function %qs at %L cannot have an initializer" + msgstr "Funktiolla ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, fuzzy, gcc-internal-format + msgid "External object %qs at %L may not have an initializer" + msgstr "Ulkoisella objektilla ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, fuzzy, gcc-internal-format + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "ELEMENTAL-funktiolla ”%s” kohdassa %L täytyy olla skalaaritulos" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, fuzzy, gcc-internal-format + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "funktiokutsun argumentti voi olla ehdokas muotoiluattribuutille" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, fuzzy, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "CHARACTER(*)-funktio ”%s” kohdassa %L ei voi olla taulukkoarvoinen" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, fuzzy, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "CHARACTER(*)-funktio ”%s” kohdassa %L ei voi olla osoitinarvoinen" + +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, fuzzy, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "CHARACTER(*)-funktio ”%s” kohdassa %L ei voi olla puhdas" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, fuzzy, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "CHARACTER(*)-funktio ”%s” kohdassa %L ei voi olla rekursiivinen" + +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, fuzzy, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L" + msgstr "%qs esitelty funktion palauttavana funktiona" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, fuzzy, gcc-internal-format + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, fuzzy, gcc-internal-format + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "Valeproseduurilla ”%s” kohdassa %C ei voi olla geneeristä rajapintaa" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, fuzzy, gcc-internal-format + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "Argumentilla ”%s”/”%s” PASS(%s) kohdassa %L ei voi olla POINTER-attribuuttia" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, fuzzy, gcc-internal-format + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "SAVE-attribuuttia kohdassa %L ei voida määritellä PURE-proseduurissa" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, fuzzy, gcc-internal-format + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "PROCEDURE-attribuutti on ristiriidassa INTENT-attribuutin kanssa kohteessa ”%s” kohdassa %L" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, fuzzy, gcc-internal-format + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "PROCEDURE-attribuutti on ristiriidassa RESULT-attribuutin kanssa kohteessa ”%s” kohdassa %L" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, fuzzy, gcc-internal-format + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "EXTERNAL-attribuutti on ristiriidassa FUNCTION-attribuutin kanssa kohteessa ”%s” kohdassa %L" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, fuzzy, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "Syntaksivirhe PROCEDURE-lauseessa kohdassa %C" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "Syntaksivirhe PROCEDURE-lauseessa kohdassa %C" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "Syntaksivirhe PROCEDURE-lauseessa kohdassa %C" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, fuzzy, gcc-internal-format + msgid "Interface of %qs at %L must be explicit" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, fuzzy, gcc-internal-format + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "%s:n kohdassa %L täytyy olla INTEGER" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "%qD:n on otettava tasan yksi argumentti" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, fuzzy, gcc-internal-format + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "FINAL-proseduurin argumentin kohdassa %L täytyy olla tyyppiä ”%s”" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "FINAL-proseduurin argumentin kohdassa %L täytyy olla tyyppiä ”%s”" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "FINAL-proseduurin argumentin kohdassa %L täytyy olla tyyppiä ”%s”" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "FINAL-proseduurin argumentin kohdassa %L täytyy olla tyyppiä ”%s”" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "FINAL-proseduurin argumentin kohdassa %L täytyy olla tyyppiä ”%s”" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "Kääntäjänsisäisellä ”%s”-funktiolla kohdassa %L on oltava vähintään kaksi argumenttia" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, fuzzy, gcc-internal-format + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "Proseduuri ”%s” kohdassa %L ei voi olla perustyyppiä %s" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, gcc-internal-format + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, gcc-internal-format + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, gcc-internal-format + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, fuzzy, gcc-internal-format + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "%J%qD:lle ei ole aiempaa esittelyä" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, gcc-internal-format + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, gcc-internal-format + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "%s:n kohdassa %L täytyy olla INTEGER" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, fuzzy, gcc-internal-format + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "Kääntäjänsisäisellä ”%s”-funktiolla kohdassa %L on oltava vähintään kaksi argumenttia" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, fuzzy, gcc-internal-format + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, fuzzy, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "Argumentin ”%s”/”%s” PASS(%s) kohdassa %L täytyy olla perittyä tyyppiä ”%s”" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, fuzzy, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, fuzzy, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "%<__builtin_args_info%>-funktion argumentin pitää olla vakio" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, fuzzy, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "%<__builtin_args_info%>-funktion argumentin pitää olla vakio" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "Proseduuri ”%s” kohdassa %L ei voi olla perustyyppiä %s" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "Proseduuri ”%s” kohdassa %L ei voi olla perustyyppiä %s" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, fuzzy, gcc-internal-format + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, fuzzy, gcc-internal-format + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, gcc-internal-format + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, gcc-internal-format + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, fuzzy, gcc-internal-format + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "Muuttujalla ”%s” kohdassa %L ei voi olla sekä POINTER- että BIND(C)-attribuutit" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, fuzzy, gcc-internal-format + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "Argumentin %s kohdassa %L on oltava pituudeltaan yksi" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, fuzzy, gcc-internal-format + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, fuzzy, gcc-internal-format + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "Kääntäjänsisäisellä ”%s”-funktiolla kohdassa %L on oltava vähintään kaksi argumenttia" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, fuzzy, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "Argumentin ”%s”/”%s” PASS(%s) kohdassa %L täytyy olla perittyä tyyppiä ”%s”" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, fuzzy, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "Argumentin ”%s”/”%s” PASS(%s) kohdassa %L täytyy olla skalaari" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, fuzzy, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "Argumentilla ”%s”/”%s” PASS(%s) kohdassa %L ei voi olla POINTER-attribuuttia" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, fuzzy, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "Argumentti ”%s”/”%s” PASS(%s) kohdassa %L ei voi olla ALLOCATABLE" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, fuzzy, gcc-internal-format + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "Proseduuri ”%s” kohdassa %L ei voi olla perustyyppiä %s" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, gcc-internal-format + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "" + +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, fuzzy, gcc-internal-format + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "Lauseke CASE-lauseessa kohdassa %L on oltava %s-tyyppinen" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, gcc-internal-format + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, fuzzy, gcc-internal-format + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "Proseduuri ”%s” kohdassa %L ei voi olla perustyyppiä %s" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "Argumentilla ”%s”/”%s” PASS(%s) kohdassa %L ei voi olla POINTER-attribuuttia" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Conflicting initializers in union at %L and %L" + msgstr "Ristiriita funktioargumentin attribuuteissa kohdassa %C" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, gcc-internal-format + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, fuzzy, gcc-internal-format + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, fuzzy, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "kolme pistettä sisältävä parametriluettelo ei sovellu tyhjään parametrinimiluettelon esittelyyn" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, fuzzy, gcc-internal-format + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs at %L has not been declared" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, fuzzy, gcc-internal-format + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "Tyhjä taulukkomuodostin kohdassa %C ei ole sallittu" + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, fuzzy, gcc-internal-format + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "funktiota %<__builtin_next_arg%> kutsuttu ilman argumenttia" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, fuzzy, gcc-internal-format + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "funktiota %<__builtin_next_arg%> kutsuttu ilman argumenttia" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, fuzzy, gcc-internal-format + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "funktiota %<__builtin_next_arg%> kutsuttu ilman argumenttia" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, fuzzy, gcc-internal-format + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "funktiota %<__builtin_next_arg%> kutsuttu ilman argumenttia" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, fuzzy, gcc-internal-format + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "funktiota %<__builtin_next_arg%> kutsuttu ilman argumenttia" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, fuzzy, gcc-internal-format + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "funktiota %<__builtin_next_arg%> kutsuttu ilman argumenttia" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, fuzzy, gcc-internal-format + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "PROCEDURE-attribuutti on ristiriidassa INTENT-attribuutin kanssa kohteessa ”%s” kohdassa %L" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, fuzzy, gcc-internal-format + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "Automaattitaulukolla ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, gcc-internal-format + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "yhteensopimattomat tyypit sijoituksessa" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, fuzzy, gcc-internal-format + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "Muuttujalla ”%s” kohdassa %L ei voi olla sekä POINTER- että BIND(C)-attribuutit" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, fuzzy, gcc-internal-format + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "kolme pistettä sisältävä parametriluettelo ei sovellu tyhjään parametrinimiluettelon esittelyyn" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "%qE-attribuutti soveltuu vain variadisiin funktioihin" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "SAVE-attribuuttia kohdassa %L ei voida määritellä PURE-proseduurissa" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, fuzzy, gcc-internal-format + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "Muuttujalla ”%s” kohdassa %L ei voi olla sekä POINTER- että BIND(C)-attribuutit" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Bad specification for assumed size array at %L" + msgstr "vektoriylivuoto lausekkeessa" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "%Jlohkoattribuutti ei ole sallittu %qD:lle" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentin ”%1$s” kohdassa %3$L on oltava valemuuttuja" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "Sijoitus FORALL-indeksimuuttujaan kohdassa %L" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, fuzzy, gcc-internal-format + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "Muuttujalla ”%s” kohdassa %L ei voi olla sekä POINTER- että BIND(C)-attribuutit" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, fuzzy, gcc-internal-format + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, fuzzy, gcc-internal-format + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, fuzzy, gcc-internal-format + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "Muuttujalla ”%s” kohdassa %L ei voi olla sekä ALLOCATABLE- että BIND(C)-attribuutit" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "ASYNCHRONOUS= määrite kohdassa %L täytyy olla alustuslauseke" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "Muuttujalla ”%s” kohdassa %L ei voi olla sekä ALLOCATABLE- että BIND(C)-attribuutit" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, gcc-internal-format + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, fuzzy, gcc-internal-format + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "Argumentin %s kohdassa %L on oltava pituudeltaan yksi" + +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, fuzzy, gcc-internal-format + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "epäkelpo %qs:n soveltaminen tyhjään tyyppiin" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, fuzzy, gcc-internal-format + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentin ”%1$s” kohdassa %3$L ei voi olla INTENT(IN)" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, fuzzy, gcc-internal-format + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentin ”%1$s” kohdassa %3$L ei voi olla INTENT(IN)" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, fuzzy, gcc-internal-format + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentin ”%1$s” kohdassa %3$L ei voi olla INTENT(IN)" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, fuzzy, gcc-internal-format + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "Funktiolla ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, gcc-internal-format + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, gcc-internal-format + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, gcc-internal-format + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, fuzzy, gcc-internal-format + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, fuzzy, gcc-internal-format + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, fuzzy, gcc-internal-format + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "Funktiolla ”%s” kohdassa %L ei voi olla alustinta" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, fuzzy, gcc-internal-format + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "Muuttujan alustus kohdassa %C ei ole sallittu PURE-proseduurissa" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, fuzzy, gcc-internal-format + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "Muuttujan alustus kohdassa %C ei ole sallittu PURE-proseduurissa" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, fuzzy, gcc-internal-format + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "Muuttujan alustus kohdassa %C ei ole sallittu PURE-proseduurissa" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, fuzzy, gcc-internal-format + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "Tuntematon argumenttiluettelofunktio kohdassa %L" + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, fuzzy, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "Symboli ”%s” kohdassa %C on jo COMMON-lohkossa" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Expecting definable entity near %L" + msgstr "%s-lausetta odotettiin kohdassa %L" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, fuzzy, gcc-internal-format + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, fuzzy, gcc-internal-format + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "Proseduurilla ”%s” kohdassa %C on eksplisiittinen rajapinta ja sillä ei saa olla attribuutteja, jotka on esitelty kohdassa %L" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, fuzzy, gcc-internal-format + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, fuzzy, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, fuzzy, gcc-internal-format + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "Argumentilla ”%s”/”%s” PASS(%s) kohdassa %L ei voi olla POINTER-attribuuttia" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "tyhjä esittely" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "DATA-lause kohdassa %C ei ole sallittu PURE-proseduurissa" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L shall not be zero" + msgstr "vektoriylivuoto lausekkeessa" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "DATA-lause kohdassa %C ei ole sallittu PURE-proseduurissa" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but not used" + msgstr "Nimiö %d kohdassa %L on määritelty, mutta ei käytetty" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but cannot be used" + msgstr "Nimiö %d kohdassa %L on määritelty, mutta sitä ei voida käyttää" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, fuzzy, gcc-internal-format + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, fuzzy, gcc-internal-format + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, fuzzy, gcc-internal-format + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, fuzzy, gcc-internal-format + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "Syntaksivirhe IMPORT-lauseessa kohdassa %C" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, fuzzy, gcc-internal-format + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, fuzzy, gcc-internal-format + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "Ei voi sijoitaa nimettyyn vakioon kohdassa %C" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, fuzzy, gcc-internal-format + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "muuttuvakokoista objektia ei voi alustaa" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, fuzzy, gcc-internal-format + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "%J%qD on tavallisesti ei-staattinen funktio" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "Alimerkkijonon loppuindeksi kohdassa %L on liian suuri" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, fuzzy, gcc-internal-format + msgid "Self reference in character length expression for %qs at %L" + msgstr "Syntaksivirhe merkkipituusspesifikaatiossa kohdassa %C" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, fuzzy, gcc-internal-format + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "epäkelpo %qs:n soveltaminen tyhjään tyyppiin" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, fuzzy, gcc-internal-format + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "Proseduuri ”%s” kohdassa %L ei voi olla perustyyppiä %s" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, fuzzy, gcc-internal-format + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "Kääntäjänsisäisellä ”%s”-funktiolla kohdassa %L on oltava vähintään kaksi argumenttia" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, fuzzy, gcc-internal-format + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "BIND(C)-funktion ”%s” paluutyyppi kohdassa %L ei voi olla merkkijono" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, fuzzy, gcc-internal-format + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "Kääntäjänsisäisellä ”%s”-funktiolla kohdassa %L on oltava vähintään kaksi argumenttia" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentin ”%1$s” kohdassa %3$L on oltava %4$s" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentin ”%1$s” kohdassa %3$L on oltava %4$s" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "Kääntäjänsisäisellä ”%s”-funktiolla kohdassa %L on oltava vähintään kaksi argumenttia" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, fuzzy, gcc-internal-format + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" + msgstr "Proseduuri ”%s” kohdassa %C on jo määritelty kohdassa %L" +@@ -78603,7 +78583,7 @@ msgstr "Odotettiin argumenttiluetteloa kohdassa %C" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "Odotettiin argumenttiluetteloa kohdassa %C" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "" +@@ -78615,12 +78595,12 @@ msgstr "" + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, fuzzy, gcc-internal-format + msgid "Creating array temporary at %L for argument %qs" + msgstr "Luodaan väliaikainen komentotiedosto %s\n" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "taulukon koko ei ole kokonaislukutyyppinen vakiolauseke" +@@ -78712,86 +78692,81 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "" + + #: fortran/trans-decl.cc:1795 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-msgid "%s at %C has no default type" +-msgstr "Proseduuri ”%s” kohdassa %L ei voi olla perustyyppiä %s" +- +-#: fortran/trans-decl.cc:1798 + #, fuzzy, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "instanssimuuttuja %qE on esitelty yksityisenä" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, fuzzy, gcc-internal-format + msgid "Return value of function %qs at %L not set" + msgstr "Funktion ”%s” paluuarvoa kohdassa %L ei ole asetettu" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, fuzzy, gcc-internal-format + msgid "Deferred type parameter not yet supported" + msgstr "%Jlohkoattribuutteja ei tueta tälle kohteelle" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, fuzzy, gcc-internal-format + msgid "backend decl for module variable %qs already exists" + msgstr "Käyttämätön muuttuja ”%s” esitelty kohdassa %L" + +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, fuzzy, gcc-internal-format + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "Käyttämätön muuttuja ”%s” esitelty kohdassa %L" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, fuzzy, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "Muuttujalla ”%s” kohdassa %L ei voi olla sekä POINTER- että BIND(C)-attribuutit" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, fuzzy, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "Muuttujalla ”%s” kohdassa %L ei voi olla sekä POINTER- että BIND(C)-attribuutit" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, fuzzy, gcc-internal-format + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentin ”%1$s” kohdassa %3$L ei voi olla INTENT(IN)" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, fuzzy, gcc-internal-format + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "kääntäjänsisäisen ”%2$s”-funktion argumentin ”%1$s” kohdassa %3$L ei voi olla INTENT(IN)" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, fuzzy, gcc-internal-format + msgid "Unused dummy argument %qs at %L" + msgstr "Liikaa argumentteja funktiolle %s kohdassa %L" + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, fuzzy, gcc-internal-format + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "%Jmuuttuja %qD esitelty %:ksi" + +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, fuzzy, gcc-internal-format + msgid "Unused variable %qs declared at %L" + msgstr "Käyttämätön muuttuja ”%s” esitelty kohdassa %L" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, fuzzy, gcc-internal-format + msgid "Unused parameter %qs declared at %L" + msgstr "Käyttämätön parameteri ”%s” esitelty kohdassa %L" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, fuzzy, gcc-internal-format + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "%Jparametri %qD esitelty %:ksi" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, fuzzy, gcc-internal-format + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "Funktion ”%s” paluuarvoa kohdassa %L ei ole asetettu" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "" +@@ -78806,27 +78781,27 @@ msgstr "ISO C90 kieltää muuttuvakokoisen taulukon %qE" + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "kirjoitussuojatun muuttujan %qs sijoitus" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "kirjoitussuojatun muuttujan %qs sijoitus" + +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, fuzzy, gcc-internal-format + msgid "Unknown intrinsic op" + msgstr "last-op" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, gcc-internal-format, gfc-internal-format + msgid "Unknown argument list function at %L" + msgstr "Tuntematon argumenttiluettelofunktio kohdassa %L" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "" +@@ -80645,10 +80620,6 @@ msgstr "%qD:n paluuarvoa ei huomioida, esitelty attribuutilla warn_unused_result + msgid "unused name %qE" + msgstr "käyttämätön parametri %qD" + +-#, fuzzy +-#~ msgid "invalid operand size for operand code 'Z'" +-#~ msgstr "fr30_print_operand: virheellinen %%x-koodi" +- + #, fuzzy + #~ msgid "invalid conversion from type %<* __vector_quad%>" + #~ msgstr "virheellinen muunnos tyypistä %qT tyypiksi %qT" +diff --git a/gcc/po/fr.po b/gcc/po/fr.po +index 552a0414fec..fd999309f28 100644 +--- a/gcc/po/fr.po ++++ b/gcc/po/fr.po +@@ -97,10 +97,10 @@ + # + msgid "" + msgstr "" +-"Project-Id-Version: gcc 13.1.0\n" ++"Project-Id-Version: gcc 13.1-b20230409\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" +-"PO-Revision-Date: 2023-04-27 16:11+0200\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" ++"PO-Revision-Date: 2023-04-12 10:39+0200\n" + "Last-Translator: Frédéric Marchal \n" + "Language-Team: French \n" + "Language: fr\n" +@@ -4087,7 +4087,7 @@ msgstr "utiliser le dialecte ISO de Modula-2" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "spécifier l'ordre des bibliothèques. Les bibliothèques peuvent être spécifiées par des abréviations séparées par des virgules : log,min,pim,iso ou par noms de répertoires : m2log,m2min,m2pim,m2iso." + + #: m2/lang.opt:127 +@@ -7731,11 +7731,6 @@ msgstr "Activer le dépliage conservatif de petites boucles" + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "-mlam=[none|u48|u57] Instrumentalise la position des méta données dans les pointeurs de données utilisateurs." + +-#: config/i386/i386.opt:1280 +-#, no-c-format +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "Supporter les fonctions internes AMX-COMPLEX et la génération de code." +- + #: config/pa/pa64-hpux.opt:23 + #, no-c-format + msgid "Assume code will be linked by GNU ld." +@@ -17273,12 +17268,12 @@ msgstr "l'opérande « %%l » n'est pas une étiquette" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "constante flottante mal utilisée" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +@@ -18352,63 +18347,63 @@ msgstr "Il manque la documentation pour cette option." + msgid "Uses of this option are diagnosed." + msgstr "Les utilisations de cette option sont diagnostiquées." + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "Comme %s%s (ou, dans la forme négative, %s%s)." + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, c-format + msgid "Same as %s%s." + msgstr "Comme %s%s." + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, c-format + msgid "Same as %s." + msgstr "Comme %s." + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, c-format + msgid "%s Same as %s." + msgstr "%s Comme %s." + +-#: opts.cc:1733 ++#: opts.cc:1732 + msgid "[available in " + msgstr "[disponible dans " + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "[par défaut]" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, c-format + msgid "%llu bytes" + msgstr "%llu octets" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "[activé]" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "[désactivé]" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr " Aucune option avec les caractéristiques désirées a été trouvée\n" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr " Aucune trouvée. Utilisez --help=%s pour voir *toutes* les options acceptées par l'interface %s.\n" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr " Toutes les options avec les caractéristiques désirées ont déjà été affichées\n" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, c-format + msgid "" + " Known valid arguments for %s option:\n" +@@ -18417,47 +18412,47 @@ msgstr "" + " Arguments valides connus pour l’option %s:\n" + " " + +-#: opts.cc:1959 ++#: opts.cc:1958 + msgid "The following options are target specific" + msgstr "Les options suivantes sont spécifiques à la cible" + +-#: opts.cc:1962 ++#: opts.cc:1961 + msgid "The following options control compiler warning messages" + msgstr "Les options suivantes contrôlent les messages d’avertissement du compilateur" + +-#: opts.cc:1965 ++#: opts.cc:1964 + msgid "The following options control optimizations" + msgstr "Les options suivantes contrôlent les optimisations" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + msgid "The following options are language-independent" + msgstr "Les options suivantes sont indépendantes du langage" + +-#: opts.cc:1971 ++#: opts.cc:1970 + msgid "The following options control parameters" + msgstr "Les options suivantes contrôlent les paramètres" + +-#: opts.cc:1977 ++#: opts.cc:1976 + msgid "The following options are specific to just the language " + msgstr "Les options suivantes sont uniquement spécifiques au langage " + +-#: opts.cc:1979 ++#: opts.cc:1978 + msgid "The following options are supported by the language " + msgstr "Les options suivantes sont prises en charge par le langage " + +-#: opts.cc:1990 ++#: opts.cc:1989 + msgid "The following options are not documented" + msgstr "Les options suivantes ne sont pas documentées" + +-#: opts.cc:1992 ++#: opts.cc:1991 + msgid "The following options take separate arguments" + msgstr "Les options suivantes prennent des arguments séparées" + +-#: opts.cc:1994 ++#: opts.cc:1993 + msgid "The following options take joined arguments" + msgstr "Les options suivantes prennent des arguments groupés" + +-#: opts.cc:2006 ++#: opts.cc:2005 + msgid "The following options are language-related" + msgstr "Les options suivantes concernent des langages" + +@@ -18840,72 +18835,72 @@ msgstr "modificateur de longueur dans le format de strfmon" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, c-format + msgid "unsupported operand for code '%c'" + msgstr "opérande non supporté pour le code « %c »" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "opérande invalide pour « %%%c »" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, c-format + msgid "invalid vector constant" + msgstr "constante vecteur invalide" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "opérande en virgule flottante ou registre vecteur incompatible pour « %%%c »" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, c-format + msgid "incompatible register operand for '%%%c'" + msgstr "opérande de registre incompatible pour « %%%c »" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, c-format + msgid "missing operand" + msgstr "opérande manquant" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, c-format + msgid "invalid constant" + msgstr "constante invalide" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, c-format + msgid "invalid operand" + msgstr "opérande invalide" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "préfixe d'opérande invalide « %%%c »" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, c-format + msgid "invalid address mode" + msgstr "mode d'adresse invalide" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "impossible de combiner les vecteurs GNU et SVE dans l'opération binaire" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "« %%& » utilisé sans référence à un TLS dynamique local" +@@ -18922,18 +18917,18 @@ msgid "invalid %%r value" + msgstr "valeur %%r invalide" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "valeur %%R invalide" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "valeur %%N invalide" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" + msgstr "valeur %%P invalide" +@@ -18963,7 +18958,7 @@ msgstr "valeur %%M invalide" + msgid "invalid %%U value" + msgstr "valeur %%U invalide" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" + msgstr "valeur %%s invalide" +@@ -18973,7 +18968,7 @@ msgstr "valeur %%s invalide" + msgid "invalid %%C value" + msgstr "valeur %%C invalide" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" + msgstr "valeur %%E invalide" +@@ -18986,7 +18981,7 @@ msgstr "relocalisation unspec inconnue" + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" + msgstr "valeur %%xn invalide" +@@ -19069,35 +19064,35 @@ msgstr "UNSPEC invalide comme opérande : %d" + msgid "unrecognized supposed constant" + msgstr "constante supposée non reconnue" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, c-format + msgid "invalid shift operand" + msgstr "opérande shift invalide" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, c-format + msgid "predicated Thumb instruction" + msgstr "instruction Thumb établie" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "instruction établie dans la séquence conditionnelle" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Opérande non supporté pour le code « %c »" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -19106,26 +19101,26 @@ msgstr "Opérande non supporté pour le code « %c »" + msgid "invalid operand for code '%c'" + msgstr "opérande invalide pour « %c »" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, c-format + msgid "instruction never executed" + msgstr "instruction jamais exécutée" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "code de format Maverick « %c » obsolète" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + msgid "invalid conversion from type %" + msgstr "conversion invalide depuis le type %" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + msgid "invalid conversion to type %" + msgstr "conversion invalide vers le type %" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "opération non permise sur le type %" + +@@ -19490,97 +19485,97 @@ msgstr "constante en virgule flottante invalide" + msgid "Expected register or constant integer." + msgstr "Registre ou constante entière attendus." + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, c-format + msgid "invalid UNSPEC as operand" + msgstr "UNSPEC invalide comme opérande" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, c-format + msgid "invalid use of register '%s'" + msgstr "utilisation invalide du registre « %s »" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, c-format + msgid "invalid use of asm flag output" + msgstr "utilisation invalide de la sortie du fanion asm" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, c-format + msgid "invalid operand size for operand code 'O'" + msgstr "taille d'opérande invalide pour le code d'opérande « 0 »" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, c-format + msgid "invalid operand size for operand code 'z'" + msgstr "taille d'opérande invalide pour le code d'opérande « z »" + +-#: config/i386/i386.cc:13290 ++#: config/i386/i386.cc:13283 + #, c-format +-msgid "invalid operand type used with operand code '%c'" +-msgstr "type opérande invalide utilisé avec le code d'opérande « %c »" ++msgid "invalid operand type used with operand code 'Z'" ++msgstr "type opérande invalide utilisé avec le code d'opérande « Z »" + +-#: config/i386/i386.cc:13295 ++#: config/i386/i386.cc:13288 + #, c-format +-msgid "invalid operand size for operand code '%c'" +-msgstr "taille d'opérande invalide pour le code d'opérande « %c »" ++msgid "invalid operand size for operand code 'Z'" ++msgstr "taille d'opérande invalide pour le code d'opérande « Z »" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, c-format + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "l'opérande n'est pas du code de condition, code d'opérande « Y » invalide" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, c-format + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "l'opérande n'est pas du code de condition, code d'opérande « D » invalide" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, c-format + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "l'opérande n'est pas du code de condition, code d'opérande « %c » invalide" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, c-format + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "l'opérande n'est pas une référence mémoire avec décalage, code d'opérande « H » invalide" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, c-format + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "l'opérande n'est pas un entier, code d'opérande « K » invalide" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "l'opérande n'est pas un entier spécifique, code d'opérande « r » invalide" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, c-format + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "l'opérande n'est pas un entier, code d'opérande « R » invalide" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "l'opérande n'est pas un entier spécifique, code d'opérande « R » invalide" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, c-format + msgid "invalid operand code '%c'" + msgstr "opérande invalide pour « %c »" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, c-format + msgid "invalid constraints for operand" + msgstr "contrainte invalide pour l'opérande" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, c-format + msgid "invalid vector immediate" + msgstr "immédiat vecteur invalide" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + msgid "unknown insn mode" + msgstr "mode insn inconnu" + +@@ -19611,7 +19606,7 @@ msgstr "opération invalide sur %<__fpreg%>" + msgid "invalid %%P operand" + msgstr "opérande %%P invalide" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" + msgstr "valeur %%p invalide" +@@ -19656,8 +19651,8 @@ msgstr "« %%%c » n'est pas un préfixe d'opérande valide" + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, c-format + msgid "invalid use of '%%%c'" + msgstr "utilisation invalide de « %%%c »" +@@ -19689,7 +19684,7 @@ msgid "post-increment address is not a register" + msgstr "le post-incrément d'adresse n'est pas un registre" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" + msgstr "mauvaise adresse" + +@@ -19847,7 +19842,7 @@ msgstr "adresse constante non supportée :" + msgid "unsupported memory expression:" + msgstr "expression mémoire non supportée :" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, c-format + msgid "invalid vector operand" + msgstr "opérande vectoriel invalide" +@@ -19899,143 +19894,143 @@ msgstr "%<-mquad-memory%> n'est pas disponible en mode petit-boutiste" + msgid "bad move" + msgstr "mauvais déplacement" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" + msgstr "Mauvais déplacement sur 128 bits" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, c-format + msgid "invalid %%A value" + msgstr "valeur %%A invalide" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" + msgstr "valeur %%D invalide" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, c-format + msgid "invalid %%e value" + msgstr "valeur %%e invalide" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" + msgstr "valeur %%f invalide" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" + msgstr "valeur %%F invalide" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" + msgstr "valeur %%G invalide" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" + msgstr "valeur %%j invalide" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" + msgstr "valeur %%J invalide" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" + msgstr "valeur %%k invalide" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "valeur %%K invalide" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" + msgstr "valeur %%O invalide" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" + msgstr "valeur %%q invalide" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, c-format + msgid "invalid %%t value" + msgstr "valeur %%t invalide" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" + msgstr "valeur %%T invalide" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" + msgstr "valeur %%u invalide" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "valeur %%v invalide" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, c-format + msgid "invalid %%V value" + msgstr "valeur %%V invalide" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" + msgstr "valeur %%x invalide" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, c-format + msgid "invalid %%z value" + msgstr "valeur %%z invalide" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "valeur %%y invalide, essayez d'utiliser la contrainte « Z »" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "Mélange invalide de types en virgule flottante IEEE 128 bits et IBM 128 bits" + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + msgid "AltiVec argument passed to unprototyped function" + msgstr "Argument AltiVec passé à une fonction sans prototype" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + msgid "Could not generate addis value for fusion" + msgstr "N'a pu générer de valeur addis pour la fusion" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + msgid "Unable to generate load/store offset for fusion" + msgstr "Impossible de générer un offset load/store pour la fusion" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" + msgstr "Mauvaise fusion GPR" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "conversion invalide depuis le type %<__vector_quad%>" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "conversion invalide vers le type %<__vector_quad%>" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "conversion invalide depuis le type %<__vector_pair%>" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + msgid "invalid conversion to type %<__vector_pair%>" + msgstr "conversion invalide vers le type %<__vector_pair%>" + +@@ -20492,7 +20487,7 @@ msgstr "candidat :" + msgid " after user-defined conversion:" + msgstr " après la conversion définie par l'utilisateur :" + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + msgid "candidate is:" + msgid_plural "candidates are:" + msgstr[0] "le candidat est :" +@@ -20957,7 +20952,7 @@ msgstr "Désaccord de la limite du tableau pour la dimension 2 du tableau (%ld/% + msgid "Driving:" + msgstr "Pilotage:" + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + msgid "actual argument to INTENT = OUT/INOUT" + msgstr "argument effectif de INTENT = OUT/INOUT" + +@@ -21115,11 +21110,11 @@ msgstr "bloc IF" + msgid "implied END DO" + msgstr "END DO implicite" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + msgid "assignment" + msgstr "affectation" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + msgid "pointer assignment" + msgstr "affectation de pointeur" + +@@ -21127,199 +21122,199 @@ msgstr "affectation de pointeur" + msgid "simple IF" + msgstr "IF simple" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + msgid "elemental procedure" + msgstr "procédure élémentaire" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + msgid "allocatable argument" + msgstr "argument qui peut être alloué" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + msgid "asynchronous argument" + msgstr "argument asynchrone" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + msgid "optional argument" + msgstr "argument optionnel" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + msgid "pointer argument" + msgstr "argument pointeur" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + msgid "target argument" + msgstr "argument cible" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + msgid "value argument" + msgstr "argument valeur" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + msgid "volatile argument" + msgstr "argument volatile" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + msgid "assumed-shape argument" + msgstr "argument de forme tacite (assumed-shape)" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + msgid "assumed-rank argument" + msgstr "argument de rang tacite (assumed-rank)" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + msgid "coarray argument" + msgstr "argument co-tableau" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + msgid "parametrized derived type argument" + msgstr "argument de type dérivé paramétrisé" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + msgid "polymorphic argument" + msgstr "argument polymorphique" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + msgid "NO_ARG_CHECK attribute" + msgstr "attribut NO_ARG_CHECK " + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + msgid "assumed-type argument" + msgstr "argument de type tacite (assumed-type)" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + msgid "array result" + msgstr "résultat tableau" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + msgid "pointer or allocatable result" + msgstr "résultat pointeur ou allouable" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + msgid "result with non-constant character length" + msgstr "résultat avec une longueur de caractères non constante" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + msgid "bind(c) procedure" + msgstr "procédure bind(c)" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, c-format + msgid "Invalid context for NULL() pointer at %%L" + msgstr "Contexte invalide pour un pointeur NULL() à %%L" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, c-format + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "L'opérande de l'opérateur numérique unaire %%<%s%%> à %%L est %s" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "Entités de type dérivé inattendues dans l'opérateur numérique intrinsèque binaire %%<%s%%> à %%L" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, c-format + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "Les opérandes de l'opérateur numérique binaire %%<%s%%> à %%L sont %s/%s" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "Les opérandes de l'opérateur de concaténation de chaînes à %%L sont %s/%s" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, c-format + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "Les opérandes de l'opérateur logique %%<%s%%> à %%L sont %s/%s" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "L'opérande de l'opérateur .not. à %%L est %s" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "Les quantités COMPLEX ne peuvent pas être comparées à %L" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "Les valeurs logiques à %%L doivent être comparées avec %s au lieu de %s" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, c-format + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "Les opérandes de l'opérateur de comparaison %%<%s%%> à %%L sont %s/%s" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "Opérateur %%<%s%%> inconnu à %%L; vouliez-vous utiliser %%<%s%%> ?" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "Opérateur %%<%s%%> inconnu à %%L" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, c-format + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "L'opérande de l'opérateur utilisateur %%<%s%%> à %%L est %s" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, c-format + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "Les opérandes de l'opérateur utilisateur %%<%s%%> à %%L sont %s/%s" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, c-format + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "Rangs inconsistant pour l'opérateur à %%L et %%L" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "Variable de boucle" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + msgid "iterator variable" + msgstr "variable d'itérateur" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + msgid "Start expression in DO loop" + msgstr "Expression de départ dans la boucle DO" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + msgid "End expression in DO loop" + msgstr "Expression de fin dans la boucle DO" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + msgid "Step expression in DO loop" + msgstr "Expression de pas dans la boucle DO" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + msgid "DEALLOCATE object" + msgstr "objet DEALLOCATE" + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + msgid "ALLOCATE object" + msgstr "objet ALLOCATE" + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + msgid "STAT variable" + msgstr "variable STAT" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + msgid "ERRMSG variable" + msgstr "variable ERRMSG" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + msgid "item in READ" + msgstr "élément dans READ" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + msgid "ACQUIRED_LOCK variable" + msgstr "variable ACQUIRED_LOCK" + +@@ -21332,27 +21327,27 @@ msgstr "Longueurs de CHARACTER différentes (%ld/%ld) dans le constructeur de ta + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "Débordement d'entier en calculant la quantité de mémoire à allouer" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "La valeur du paramètre PDT LEN « %s » n'est pas en accord avec celle dans la déclaration fictive" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, c-format + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "La longueur réelle de la chaîne ne correspond pas à celle déclarée pour l'argument fictif « %s » (%ld/%ld)" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, c-format + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "La longueur réelle de la chaîne est plus courte que celle déclarée pour l'argument fictif « %s » (%ld/%ld)" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "La cible du remappage de rang est trop petite (%ld < %ld)" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + msgid "Assignment of scalar to unallocated array" + msgstr "Assignation d'un scalaire à un tableau non alloué" + +@@ -22220,7 +22215,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "%<-mrelax%> est uniquement supporté pour le PIC RTP" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in %s statement at %C" + msgstr "Erreur de syntaxe dans l'instruction %s à %C" +@@ -22592,7 +22587,7 @@ msgstr "l'attribut %qE est ignoré car il est en conflit avec l'attribut %qs" + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, gcc-internal-format + msgid "previous declaration here" +@@ -22689,10 +22684,10 @@ msgstr "les attributs de type sont ignorés après que le type ait déjà été + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -22827,7 +22822,7 @@ msgstr "impossible de lire le profil de la fonction depuis %s" + msgid "offset %qwi outside bounds of constant string" + msgstr "le décalage %qwi est hors des limites de la chaîne constante" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, gcc-internal-format + msgid "%qE declared here" + msgstr "%qE déclaré ici" +@@ -24663,7 +24658,7 @@ msgstr "la constante de grande taille en virgule fixe a été tronquée implicit + msgid "comparison is always %d due to width of bit-field" + msgstr "la comparaison est toujours %d en raison de la largeur du champ de bits" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "suppose qu'un débordement signé n'a pas lieu quand le test de la plage est simplifié" +@@ -25434,7 +25429,7 @@ msgstr "la fonction retourne l'adresse d'une variable locale" + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -26552,14 +26547,14 @@ msgstr "le pointeur ballant vers %qD est peut-être utilisé" + msgid "using a dangling pointer to %qD" + msgstr "utilisation d'un pointeur ballant vers %qD" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, gcc-internal-format + msgid "%qD declared here" + msgstr "%qD déclaré ici" +@@ -26604,7 +26599,7 @@ msgstr "%qD appelé sur un pointeur passé à la fonction de réallocation %qD i + msgid "call to %qD" + msgstr "appel à %qD" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, gcc-internal-format + msgid "storing the address of local variable %qD in %qE" + msgstr "stockage de l'adresse de la variable locale %qD dans %qE" +@@ -27674,7 +27669,7 @@ msgstr "le résumé en ligne ipa est manquant dans le fichier d'entrée" + msgid "IPA modref summary is missing in input file" + msgstr "le résumé de modref IPA est manquant dans le fichier d'entrée" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, gcc-internal-format + msgid "invalid jump function in LTO stream" + msgstr "fonction de saut invalide dans un flux LTO" +@@ -28633,7 +28628,7 @@ msgstr "erreur lors de la fermeture des enregistrements optimisés %qs" + msgid "command-line option %qs is not supported by this configuration" + msgstr "l'option %qs en ligne de commande n'est pas supportée par cette configuration" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, gcc-internal-format + msgid "missing argument to %qs" + msgstr "argument manquant à %qs" +@@ -28673,12 +28668,12 @@ msgstr "%qs est mutuellement exclusif avec %qs et ne peuvent pas être spécifi + msgid "unrecognized argument in option %qs" + msgstr "argument non reconnu pour l'option %qs" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "les arguments valables pour %qs sont: %s; vouliez vous utiliser %qs ?" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s" + msgstr "les arguments valables pour %qs sont: %s" +@@ -28833,7 +28828,7 @@ msgstr "%<-fsanitize=pointer-subtract%> doit être combiné avec %<-fsanitize=ad + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "%<-fsanitize-recover=%s%> n'est pas supporté" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, gcc-internal-format + msgid "%<-fsanitize-trap=%s%> is not supported" + msgstr "%<-fsanitize-trap=%s%> n'est pas supporté" +@@ -28873,182 +28868,182 @@ msgstr "le pistage des variables a été demandé mais il est inutile sans produ + msgid "variable tracking requested, but not supported by this debug format" + msgstr "le pistage des variables a été demandé mais il n'est pas supporté par ce format de débogage" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "var-tracking-assignments change l'ordonnancement sélectif" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "%<-Wstrict-flex-arrays%> est ignoré quand %<-fstrict-flex-arrays%> n'est pas présent" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "%<-freorder-blocks-and-partition%> ne fonctionne pas avec les exceptions sur cette architecture" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "%<-freorder-blocks-and-partition%> ne supporte pas les informations de retour en arrière sur cette architecture" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "%<-freorder-blocks-and-partition%> ne fonctionne pas sur cette architecture" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, gcc-internal-format + msgid "unrecognized % passed to %" + msgstr "% non reconnu passé à %" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "l'option %<-fsanitize=all%> n'est pas valide" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "argument non reconnu pour l'option %<-f%ssanitize%s=%>: %q.*s; vouliez-vous utiliser %qs ?" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "argument non reconnu pour l'option %<-f%ssanitize%s=%>: %q.*s" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, gcc-internal-format + msgid "%qs attribute directive ignored" + msgstr "directive d'attribut %qs ignorée" + +-#: opts.cc:2347 ++#: opts.cc:2346 + #, gcc-internal-format + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "argument non reconnu pour %<-fzero-call-used-regs=%>: %qs" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, gcc-internal-format + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "arguments invalides pour l'option %<-falign-%s%>: %qs" + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, gcc-internal-format + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "nombre d'arguments invalide pour l'option %<-falign-%s%>: %qs" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, gcc-internal-format + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr "%<-falign-%s%> n'est pas entre 0 et %d" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, gcc-internal-format + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "argument invalide pour %<-fpatchable-function-entry%>" + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, gcc-internal-format + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "l'argument de %<--help%> %q.*s est ambigu, veuillez être plus précis" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, gcc-internal-format + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "argument non reconnu pour l'option %<--help=%> : %q.*s" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "arguments ignorés pour %<-Wattributes=%> ; utilisez %<-Wno-attributes=%> à la place" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "%<,%> à la fin dans les arguments pour %<-Wno-attributes=%>" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "l'option %<-foffload-abi%> ne peut être spécifiée qu'avec un compilateur pour le délestage" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, gcc-internal-format + msgid "structure alignment must be a small power of two, not %wu" + msgstr "l'alignement de la structure doit être une petite puissance de 2, pas %wu" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, gcc-internal-format + msgid "unknown stack check parameter %qs" + msgstr "paramètre de contrôle de la pile %qs inconnu" + +-#: opts.cc:3158 ++#: opts.cc:3157 + #, gcc-internal-format + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "%<-gdwarf%s%> est ambigu; utilisez %<-gdwarf-%s%> pour la version DWARF ou %<-gdwarf%> %<-g%s%> pour le niveau de débogage" + +-#: opts.cc:3169 ++#: opts.cc:3168 + #, gcc-internal-format + msgid "dwarf version %wu is not supported" + msgstr "la version dwarf %wu n'est pas supportée" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, gcc-internal-format + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "argument non reconnu pour l'option %<-flto=%> : %qs" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, gcc-internal-format + msgid "target system does not support debug output" + msgstr "le système cible ne supporte pas la sortie de débogage" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, gcc-internal-format + msgid "debug format %qs conflicts with prior selection" + msgstr "le format de débogage %qs entre en conflit avec une sélection précédente" + +-#: opts.cc:3468 ++#: opts.cc:3467 + #, gcc-internal-format + msgid "unrecognized debug output level %qs" + msgstr "niveau de sortie de débogage %qs non reconnu" + +-#: opts.cc:3470 ++#: opts.cc:3469 + #, gcc-internal-format + msgid "debug output level %qs is too high" + msgstr "le niveau de sortie de débogage %qs est trop élevé" + +-#: opts.cc:3482 ++#: opts.cc:3481 + #, gcc-internal-format + msgid "unrecognized btf debug output level %qs" + msgstr "niveau de sortie de débogage btf %qs non reconnu" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "obtention de la limite maximale de la taille du fichier de vidange (core file): %m" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "initialisation de la limite maximale de la taille du fichier de vidange (core file): %m" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "option gcc de débogage non reconnue: %c" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "%<-W%serror=%s%>: pas d'option %<-%s%>; aviez-vous l'intention d'utiliser %<-%s%> ?" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "%<-W%serror=%s%>: pas d'option %<-%s%>" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, gcc-internal-format + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" + msgstr "%<-Werror=%s%>: %<-%s%> n'est pas une option qui contrôle les avertissements" +@@ -29729,187 +29724,187 @@ msgstr "le code du fragment générique échoue pour la méthode %qD qui utilise + msgid "%qD renamed after being referenced in assembly" + msgstr "%qD renommé après avoir été référencé dans l'assembleur" + +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "le symbole de la fonction n'est pas une fonction" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, gcc-internal-format + msgid "inconsistent % attribute" + msgstr "attribut % inconsistant" + +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "le symbole de la variable n'est pas une variable" + +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "le nœud a un type inconnu" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, gcc-internal-format, gfc-internal-format + msgid "node has invalid order %i" + msgstr "le nœud a l'ordre %i invalide" + +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "nœud pas trouvé node->decl->decl_with_vis.symtab_node" + +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "le nœud diffère de node->decl->decl_with_vis.symtab_node" + +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "la liste de hachage des noms assembleur est corrompue" + +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "le nœud n'a pas été trouvé dans le hachage des noms assembleur symtab" + +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "la liste doublement liée des noms assembleur est corrompue" + +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "le nœud a body_removed mais il est une définition" + +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "le nœud est analysé mais il n'est pas une définition" + +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "le nœud est un alias mais pas un alias implicite" + +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "le nœud est un alias mais pas une définition" + +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "le nœud est une référence faible (weakref) mais pas un transparent_alias" + +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "le nœud est un transparent_alias mais pas un alias" + +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, gcc-internal-format + msgid "node is symver but not alias" + msgstr "le nœud est symver mais pas un alias" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "la cible symver n'est pas exportée avec la visibilité par défaut" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, gcc-internal-format + msgid "symver is not exported with default visibility" + msgstr "symver n'est pas exporté avec la visibilité par défaut" + +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "le nœud est dans la liste same_comdat_group mais il n'a aucun comdat_group" + +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "liste same_comdat_group au travers de groupes différents" + +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "le mélange de types de symboles différents dans les mêmes groupes comdat n'est pas supporté" + +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "le nœud est seul dans un groupe comdat" + +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "same_comdat_group n'est pas une liste circulaire" + +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "un symbole comdat local est référencé par %s hors de son comdat" + +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn%'t" + msgstr "le fanion implicit_section est défini mais la section ne l%'est pas" + +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "La section et le groupe comdat sont tous les deux définis" + +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, gcc-internal-format + msgid "Alias and target%'s section differs" + msgstr "Les sections de l%'alias et de la cible diffèrent" + +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, gcc-internal-format + msgid "Alias and target%'s comdat groups differs" + msgstr "Les groupes comdat de l%'alias et de la cible diffèrent" + +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, gcc-internal-format + msgid "Transparent alias and target%'s assembler names differs" + msgstr "Les noms assembleurs de l%'alias transparent et de la cible diffèrent" + +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "Alias transparents enchaînés" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "symtab_node::verify a échoué" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, gcc-internal-format, gfc-internal-format + msgid "invalid order in asm node %i" + msgstr "ordre invalide dans le nœud asm %i" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "Deux symboles avec le même comdat_group ne sont pas liés par la liste same_comdat_group." + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "la fonction %q+D fait partie du cycle des alias" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "la variable %q+D fait partie du cycle des alias" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "la section de l'alias %q+D doit correspondre à la section de sa cible" +@@ -31572,27 +31567,27 @@ msgstr "le code de la fonction intégrée indépendant de la machine est hors li + msgid "target specific builtin not available" + msgstr "la fonction intégrée spécifique à la cible n'est pas disponible" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "l'opération vectorielle sera développée à la pièce" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "l'opération vectorielle sera développée en parallèle" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "l'opération vectorielle sera développée avec une seule opération scalaire" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "la condition vectorielle sera développée à la pièce" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "l'opération de brassage vectoriel sera développée à la pièce" +@@ -32413,7 +32408,7 @@ msgstr "l'attribut %qE est ignoré car %qD n'est pas une variable" + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "l'attribut %qE est ignoré car %qD n'est pas une variable locale" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "l'attribut %qE n'a d'effet que sur les objets publics" +@@ -34502,7 +34497,7 @@ msgstr "concaténation non standard de chaînes littérales non supportée" + msgid "traditional C rejects string constant concatenation" + msgstr "le C traditionnel rejette la concaténation de chaînes constantes" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "%<#pragma omp critical%> avec la clause % requiert un nom sauf quand % est utilisé" +@@ -36176,7 +36171,7 @@ msgstr "trop de fichiers d'entrée" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "%qs est défini dans l'en-tête %qs ; avez-vous oublié %<#include %s%> ?" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, gcc-internal-format + msgid "unknown value %qs for %<-mcpu%>" + msgstr "valeur %qs inconnue pour %<-mcpu%>" +@@ -36207,15 +36202,15 @@ msgid "unrecognized option passed to %%:%" + msgstr "option non reconnue passée à %%:%" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "les arguments valides sont: %s; vouliez-vous utiliser %qs ?" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, gcc-internal-format, gfc-internal-format + msgid "valid arguments are: %s" + msgstr "les arguments valables sont: %s" +@@ -36300,48 +36295,48 @@ msgstr "%<-mcpu=%s%> n'est pas valable" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "%<-mcpu=%s%> a une révision de silicium invalide" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, gcc-internal-format + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "%<-malign-loops%> est obsolète, utilisez %<-falign-loops%>" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, gcc-internal-format + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr "%<-malign-loops=%d%> n'est pas entre 0 et %d" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, gcc-internal-format + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "%<-malign-jumps%> est obsolète, utilisez %<-falign-jumps%>" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, gcc-internal-format + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr "%<-malign-jumps=%d%> n'est pas entre 0 et %d" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, gcc-internal-format + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "%<-malign-functions%> est obsolète, utilisez %<-falign-functions%>" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, gcc-internal-format + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr "%<-malign-functions=%d%> n'est pas entre 0 et %d" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, gcc-internal-format + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr "%<-mbranch-cost=%d%> n'est pas entre 0 et 5" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "%<-fsplit-stack%> n'est actuellement uniquement supporté que par GNU/Linux" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "%<-fsplit-stack%> a besoin de l'assistance d'un assembleur pour les directives CFI" +@@ -36825,13 +36820,13 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "la fonction ACLE %qD est incompatible avec l'utilisation de %qs" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, gcc-internal-format + msgid "argument %d of %qE must be an integer constant expression" + msgstr "l'argument %d de %qE doit être une expression constante entière" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, gcc-internal-format + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" + msgstr "passage de %wd à l'argument %d de %qE qui attend une valeur dans la plage [%wd, %wd]" +@@ -37069,7 +37064,7 @@ msgstr "passage de %qT à l'argument %d de %qE mais sa forme %qT n'accepte pas d + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, gcc-internal-format + msgid "duplicate definition of %qs" + msgstr "définition dupliquée de %qs" +@@ -37110,7 +37105,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "le type SVE %qT n'a pas un alignement défini" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, gcc-internal-format + msgid "variables of type %qT cannot have thread-local storage duration" + msgstr "les variables de type %qT ne peuvent pas avoir une durée de stockage limitée au thread" +@@ -37197,323 +37192,323 @@ msgstr "vous pouvez activer SVE en utilisant l'option %<-march%> sur la ligne de + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "l'argument de type %qT requiert l'extension de l'ISA SVE" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, gcc-internal-format + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "le type SVE %qT ne peut pas être passé en argument à une fonction sans prototype" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "le passage de paramètre pour l'argument de type %qT a changé dans GCC 13.1" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "le passage de paramètre pour l'argument de type %qT a changé dans GCC 9.1" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, gcc-internal-format + msgid "%qE requires the SVE ISA extension" + msgstr "%qE requiert l'extension de l'ISA SVE" + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, gcc-internal-format + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "les appels à des fonctions de type %qT requièrent l'extension de l'ISA SVE" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "sondes de pile pour les trames SVE" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, gcc-internal-format + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "fanion inconnu passé à %<-moverride=%s%> (%s)" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, gcc-internal-format + msgid "%qs string ill-formed" + msgstr "chaîne %qs mal formée" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, gcc-internal-format + msgid "invalid format for %" + msgstr "format invalide pour %" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, gcc-internal-format + msgid "invalid % value: %d" + msgstr "valeur invalide pour %: %d" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "chaîne d'ajustement manquante dans l'option (%s)" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "option d'ajustement inconnue (%s)" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "%<-mstack-protector-guard=global%> et %<-mstack-protector-guard-offset=%qs%> incompatibles" + +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "%<-mstack-protector-guard-offset%> et %<-mstack-protector-guard-reg%> doivent être utilisés tous les deux avec %<-mstack-protector-guard=sysreg%>" + +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, gcc-internal-format + msgid "specify a system register with a small string length" + msgstr "spécifie un registre système avec une chaîne de courte longueur" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "%qs n'est pas un décalage valide dans %qs" + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "%<-fsanitize=shadow-call-stack%> requiert %<-ffixed-x18%>" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "seules les valeurs 12 (4 ko) et 16 (64 ko) sont supportées pour la taille de garde. La valeur %d donnée (%llu ko) est hors limites" + +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "la taille %<%d%> de la sécurité anti-collision de la pile doit être égale à l'intervalle de sondage %<%d%>" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "nom de processeur manquant dans %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, gcc-internal-format + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "modificateur de fonctionnalité %qs invalide dans %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, gcc-internal-format + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "argument invalide donné à %<-mharden-sls=%>" + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "%qs doit être seul pour %<-mharden-sls=%>" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, gcc-internal-format + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "argument %<%s%> invalide pour %<-mharden-sls=%>" + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "nom d'architecture manquant dans %<-march=%s%>" + +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, gcc-internal-format + msgid "unknown value %qs for %<-march%>" + msgstr "valeur %qs inconnue pour %<-march%>" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, gcc-internal-format + msgid "did you mean %<-mcpu=%s%>?" + msgstr "vouliez-vous utiliser %<-mcpu=%s%> ?" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, gcc-internal-format + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "modificateur de fonctionnalité %qs invalide dans %<-march=%s%>" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "nom de processeur manquant dans %<-mtune=%s%>" + +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, gcc-internal-format + msgid "unknown value %qs for %<-mtune%>" + msgstr "valeur %qs inconnue pour %<-mtune%>" + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, gcc-internal-format + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "l'option %<-mcpu=%s%> est en conflit avec l'option %<-march=%s%>" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, gcc-internal-format + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "l'assembleur ne supporte pas %<-mabi=ilp32%>" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "la signature de l'adresse de retour n'est supportée qu'avec %<-mabi=lp64%>" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, gcc-internal-format + msgid "code model %qs with %<-f%s%>" + msgstr "modèle de code %qs avec %<-f%s%>" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, gcc-internal-format + msgid "code model %qs not supported in ilp32 mode" + msgstr "le modèle de code %qs n'est pas supporté en mode ilp32" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "nom manquant dans le pragma ou l'attribut %" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "nom %qs invalide dans le pragma ou l'attribut %" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, gcc-internal-format + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "modificateur de fonctionnalité %s invalide avec la valeur %qs dans le pragma ou l'attribut %" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "nom manquant dans le pragma ou l'attribut %" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "nom %qs invalide dans le pragma ou l'attribut %" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, gcc-internal-format + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "modificateur de fonctionnalité %qs invalide avec la valeur %qs dans le pragma ou l'attribut %" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, gcc-internal-format + msgid "missing argument to % pragma or attribute" + msgstr "argument manquant dans le pragma ou l'attribut %" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, gcc-internal-format + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "type de protection %qs invalide dans le pragma ou l'attribut %" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "nom %qs invalide dans le pragma ou l'attribut %" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "valeur manquante dans le pragma ou l'attribut %" + +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "le pragma ou l'attribut % est mal composé" + +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "le pragma ou l'attribut % n'accepte pas d'argument" + +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "le pragma ou l'attribut % n'autorise pas de forme négative" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "le pragma ou l'attribut % n'est pas valide" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "l'argument % de l'attribut n'est pas une chaîne" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "l'extension arch %<%s%> devraient être préfixée par %<+%>" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "le pragma ou l'attribut % n'est pas valide" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "le pragma ou l'attribut % est mal composé" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "le passage de paramètre pour l'argument de type %qT avec des membres %<[[no_unique_address]]%> a changé dans %{GCC 10.1%}" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "le passage par paramètre pour l'argument de type %qT quand C++17 est activé a changé pour correspondre à C++14 %{dans GCC 10.1%}" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "le passage de paramètre pour l'argument de type %qT a changé dans %{GCC 12.1}%" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "avenue %wd hors des limites %wd - %wd" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, gcc-internal-format + msgid "unsupported simdlen %wd" + msgstr "simdlen %wd non supportée" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "GCC ne supporte actuellement pas les types de tailles mélangés pour les fonctions %" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, gcc-internal-format + msgid "GCC does not currently support return type %qT for % functions" + msgstr "GCC ne supporte actuellement pas le type de retour %qT pour les fonctions %" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, gcc-internal-format + msgid "unsupported return type %qT for % functions" + msgstr "type de retour %qT non supporté pour des fonctions %" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, gcc-internal-format + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "GCC ne supporte actuellement pas un argument de type %qT pour des fonctions %" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, gcc-internal-format + msgid "GCC does not currently support simdlen %wd for type %qT" + msgstr "GCC ne supporte actuellement pas simdlen %wd pour le type %qT" +@@ -37698,13 +37693,13 @@ msgstr "l'argument de l'attribut %qE n'est pas « ilink » ni « firq »" + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -37845,17 +37840,17 @@ msgstr "l'argument de l'attribut %qE est ignoré" + msgid "%qE attribute only applies to variables" + msgstr "l'attribut %qE ne s'applique qu'aux variables" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, gcc-internal-format + msgid "alternatives not allowed in % flag output" + msgstr "les alternatives ne sont pas autorisées dans la sortie du fanion %" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, gcc-internal-format + msgid "unknown % flag output %qs" + msgstr "sortie du fanion % %qs inconnue" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, gcc-internal-format + msgid "invalid type for % flag output" + msgstr "type invalide pour la sortie du fanion %" +@@ -38062,7 +38057,7 @@ msgstr "le processeur cible ne supporte pas les instructions THUMB" + msgid "target CPU does not support unaligned accesses" + msgstr "le processeur cible ne supporte pas les accès non alignés" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, gcc-internal-format + msgid "This architecture does not support branch protection instructions" + msgstr "Cette architecture ne supporte pas les instructions de protection de branche" +@@ -38117,7 +38112,7 @@ msgstr "la frontière de la taille de la structure peut seulement être 8 ou 32" + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "RTP PIC est incompatible avec %<-msingle-pic-base%>" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, gcc-internal-format + msgid "FDPIC mode is not supported in Thumb-1 mode" + msgstr "le mode FDPIC n'est pas supporté en mode Thumb-1" +@@ -38223,7 +38218,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "argument de type %qT pas permis avec %<-mgeneral-regs-only%>" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "le passage de paramètre pour l'argument de type %qT a changé dans GCC 7.1" +@@ -38273,32 +38268,32 @@ msgstr "l'accès à un stockage local au thread n'est actuellement pas supporté + msgid "%s %wd out of range %wd - %wd" + msgstr "%s %wd hors des limites %wd - %wd" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "incapable de calculer la position réelle des paramètres sur la pile" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "Saut lointain thumb1 inattendu" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "pas de registre bas disponible pour dépiler les registres hauts" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, gcc-internal-format + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "les routines du service d'interruption ne peuvent pas être codées en mode Thumb-1" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "%<-fstack-check=specific%> pour Thumb-1" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, gcc-internal-format + msgid "invalid fpu for target attribute or pragma %qs" + msgstr "fpu invalide pour l'attribut ou le pragma cible %qs" +@@ -38306,22 +38301,22 @@ msgstr "fpu invalide pour l'attribut ou le pragma cible %qs" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "la sélection automatique du fpu n'est actuellement pas permise ici" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, gcc-internal-format + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "architecture invalide pour l'attribut ou le pragma cible %qs" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, gcc-internal-format + msgid "unknown target attribute or pragma %qs" + msgstr "attribut ou pragma cible %qs inconnu" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, gcc-internal-format + msgid "% flags not supported in thumb1 mode" + msgstr "fanions % non supportés en mode thumb1" +@@ -38395,17 +38390,17 @@ msgstr "%<-fpie%> n'est pas supporté" + msgid "%<-fPIE%> is not supported" + msgstr "%<-fPIE%> n'est pas supporté" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, gcc-internal-format + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "les attributs de fonction %qs et %qs sont mutuellement exclusifs" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, gcc-internal-format + msgid "%qs function cannot have arguments" + msgstr "la fonction avec l'attribut %qs ne peut pas avoir d'argument" + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, gcc-internal-format + msgid "%qs function cannot return a value" + msgstr "la fonction avec l'attribut %qs ne peut pas retourner une valeur" +@@ -38722,7 +38717,7 @@ msgstr "deuxième argument invalide pour la fonction interne" + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, gcc-internal-format + msgid "invalid argument to built-in function" + msgstr "argument invalide pour la fonction interne" +@@ -39315,749 +39310,749 @@ msgstr "les versions de fonctions ne peuvent pas être marquées avec % which is not supported on this target" + msgstr "les versions multiples requièrent % qui n'est pas supporté sur cette cible" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" + msgstr "le modèle de code %s ne supporte pas le mode PIC" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, gcc-internal-format + msgid "attribute %qs argument is not a string" + msgstr "l'argument de l'attribut %qs n'est pas une chaîne" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, gcc-internal-format + msgid "attribute %qs argument %qs is unknown" + msgstr "l'argument %qs de l'attribut %qs est inconnu" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, gcc-internal-format + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "la valeur %qs de l'attribut était déjà spécifiée dans l'attribut %qs" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, gcc-internal-format + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "la valeur %qs de l'attribut est inconnue dans l'attribut %qs" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, gcc-internal-format + msgid "wrong argument %qs to option %qs" + msgstr "argument %qs erroné pour l'option %qs" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "les plages de tailles de l'option %qs devraient être croissantes" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" + msgstr "nom de stratégie %qs erroné spécifié pour l'option %qs" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "le nom de stratégie %qs spécifié pour l'option %qs n'est pas supporté pour du code 32 bits" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" + msgstr "alignement %qs inconnu spécifié pour l'option %qs" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "la valeur maximale pour la dernière plage de taille de l'option %qs devrait être -1" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, gcc-internal-format + msgid "too many size ranges specified in option %qs" + msgstr "trop de plages de tailles spécifiées dans l'option %qs" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "paramètre inconnu dans l'option %<-mtune-ctrl%>: %s" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "la psABI du MCU Intel n'est pas supportée dans le mode %s" + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "%<-mtune=x86-64%> est déprécié; utilisez plutôt %<-mtune=k8%> ou %<-mtune=generic%> selon ce qui est approprié" + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "% est déprécié; utilisez plutôt % ou % selon ce qui est approprié" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, gcc-internal-format + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "%<-mstringop-strategy=rep_8byte%> pas supporté pour du code 32 bits" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, gcc-internal-format + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "%<-muintr%> pas supporté pour du code 32 bits" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, gcc-internal-format + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "option %<-mlam=%> : [u48|u57] pas supportée pour du code 32 bits" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "le mode d'adresse %qs n'est pas supporté en mode %s bits" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, gcc-internal-format + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "%<-mabi=ms%> pas supporté avec l'ABI X32" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "%<-mabi=%s%> n'est pas supportée avec %<-fsanitize=address%>" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "%<-mabi=%s%> n'est pas supportée avec %<-fsanitize=kernel-address%>" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "%<-mabi=%s%> n'est pas supportée avec %<-fsanitize=thread%>" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "le modèle de code %qs n'est pas supporté en mode %s bits" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "le modèle de code %qs n'est pas supporté en mode x32" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, gcc-internal-format + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "%<-masm=intel%> n'est pas supporté dans cette configuration" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "mode %i bits pas compilé" + +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "le processeur % ne peut être utilisé qu'avec l'option %<-mtune=%>" + +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "le processeur % ne peut être utilisé qu'avec l'attribut %" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "le processeur % ne peut être utilisé qu'avec l'option %<-mtune=%>" + +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "le processeur % ne peut être utilisé qu'avec l'attribut %" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "le processeur sélectionné ne supporte pas le jeu d'instructions x86-64" + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, gcc-internal-format + msgid "bad value %qs for %<-march=%> switch" + msgstr "valeur %qs erronée pour l'option %<-march=%>" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "valeur %qs erronée pour l'attribut %" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "les arguments valides pour l'option %<-march=%> sont: %s; vouliez-vous utiliser %qs ?" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "les arguments valides pour l'attribut % sont: %s; vouliez-vous utiliser %qs ?" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "les arguments valides pour l'option %<-march=%> sont: %s" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "les arguments valides pour l'attribut % sont: %s" + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, gcc-internal-format + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "valeur %qs erronée pour l'option %<-mtune=%>" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "valeur %qs erronée pour l'attribut %" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "les arguments valides pour l'option %<-mtune=%> sont: %s; vouliez-vous utiliser %qs ?" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "les arguments valides pour l'attribut % sont: %s; vouliez-vous utiliser %qs ?" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "les arguments valides pour l'option %<-mtune=%> sont: %s" + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "les arguments valides pour l'attribut % sont: %s" + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "%<-mregparm%> est ignoré en mode 64 bits" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "%<-mregparm%> est ignoré avec la psABI du MCU Intel" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, gcc-internal-format + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "%<-mregparm=%d%> n'est pas entre 0 et %d" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, gcc-internal-format + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "%<-m96bit-long-double%> n'est pas compatible avec cette cible" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "%<-mrtd%> est ignoré en mode 64 bits" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "% est ignoré en mode 64 bits" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "%<-mpreferred-stack-boundary%> n'est pas supporté pour cette cible" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "%<-mpreferred-stack-boundary=%d%> n'est pas entre %d et %d" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, gcc-internal-format + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "%<-mincoming-stack-boundary=%d%> n'est pas entre %d et 12" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "%<-mnop-mcount%> n'est pas compatible avec cette cible" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "%<-mnop-mcount%> n'est pas implémenté pour %<-fPIC%>" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "%<-msseregparm%> utilisé sans que SSE soit activé" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "% utilisé sans que SSE soit activé" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "jeu d'instructions SSE désactivé, l'arithmétique 387 est utilisée" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "jeu d'instructions 387 désactivé, l'arithmétique SSE est utilisée" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "le sondage de la pile requiert %<-maccumulate-outgoing-args%> pour être correcte" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, gcc-internal-format + msgid "stack probing requires % for correctness" + msgstr "le sondage de la pile requiert % pour être correcte" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "le registre ebp fixé requiert %<-maccumulate-outgoing-args%>" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "le registre ebp fixé requiert %" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "%<-mfentry%> n'est pas supporté en 32 bits en combinaison avec %<-fpic%>" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, gcc-internal-format + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "%<-mno-fentry%> n'est pas compatible avec SEH (gestionnaire d'exceptions structuré)" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "%<-mcall-ms2sysv-xlogues%> n%'est actuellement pas supporté avec SEH" + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, gcc-internal-format + msgid "unknown option for %<-mrecip=%s%>" + msgstr "option inconnue pour %<-mrecip=%s%>" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, gcc-internal-format + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "%qs n'est pas un nombre valable dans %<-mstack-protector-guard-offset=%>" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, gcc-internal-format + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "%qs n'est pas un décalage valable dans %<-mstack-protector-guard-offset=%>" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, gcc-internal-format + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "%qs n'est pas un registre de base valable dans %<-mstack-protector-guard-reg=%>" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, gcc-internal-format + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "%<-fcf-protection%> n'est pas compatible avec cette cible" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, gcc-internal-format + msgid "interrupt and naked attributes are not compatible" + msgstr "les attributs d'interruption et nus sont incompatibles" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "seul le format de débogage DWARF est supporté pour les routines de service d'interruptions" + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, gcc-internal-format + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "%<-mindirect-branch=%s%> et %<-mcmodel=large%> sont incompatibles" + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "%<-mindirect-branch%> et %<-fcf-protection%> sont incompatibles" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, gcc-internal-format + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "%<-mfunction-return=%s%> et %<-mcmodel=large%> sont incompatibles" + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "%<-mfunction-return%> et %<-fcf-protection%> sont incompatibles" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "les instructions %s ne sont pas autorisées dans la routine de service exception" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "les instructions %s ne sont pas autorisées dans la routine de service d'interruption" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "les instructions %s ne sont pas autorisées dans la fonction avec l%'attribut %" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "les attributs fastcall et regparm sont incompatibles" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "les attributs regparam et thiscall sont incompatibles" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "l'attribut %qE requiert un argument de type constante entière" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "l'argument pour l'attribut %qE est plus grand que %d" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "les attributs fastcall et cdecl sont incompatibles" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "les attributs fastcall et stdcall sont incompatibles" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "les attributs fastcall et thiscall sont incompatibles" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "les attributs stdcall et cdecl sont incompatibles" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "les attributs stdcall et fastcall sont incompatibles" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "les attributs stdcall et thiscall sont incompatibles" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "les attributs cdecl et thiscall sont incompatibles" + +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, gcc-internal-format + msgid "%qE attribute is used for non-class method" + msgstr "l'attribut %qE est utilisé pour une méthode qui n'est pas une classe" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, gcc-internal-format + msgid "%qE incompatible attribute ignored" + msgstr "l'attribut incompatible %qE est ignoré" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, gcc-internal-format + msgid "%qE attribute only available for 32-bit" + msgstr "l'attribut %qE est uniquement disponible en 32 bits" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, gcc-internal-format + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "l'argument de l'attribut %qE n'est ni zéro ni un" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, gcc-internal-format + msgid "%qs and %qs attributes are not compatible" + msgstr "les attributs %qs et %qs sont incompatibles" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "l'attribut %qE requiert un argument de type constante chaîne de caractères" + +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, gcc-internal-format + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "l'argument de l'attribut %qE n'est pas (keep|thunk|thunk-inline|thunk-extern)" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "la routine de service d'interruption devrait avoir un pointeur comme premier argument" + +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, gcc-internal-format + msgid "interrupt service routine should have %qs as the second argument" + msgstr "la routine de service d'interruption devrait avoir %qs comme deuxième argument" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "la routine de service d'interruption ne peut avoir qu'un argument de type pointeur et un argument entier optionnel" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, gcc-internal-format + msgid "interrupt service routine must return %" + msgstr "la routine de service d'interruption doit retourner %" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, gcc-internal-format + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "appel de %qD avec l'attribut sseregparm sans que SSE/SSE2 soit activé" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, gcc-internal-format + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "appel de %qT avec l'attribut sseregparm sans que SSE/SSE2 soit activé" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, gcc-internal-format + msgid "X32 does not support % attribute" + msgstr "X32 ne supporte pas l'attribut %" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, gcc-internal-format + msgid "% attribute is not compatible with nested function" + msgstr "% n'est pas compatible avec les fonctions imbriquées" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, gcc-internal-format + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "l'argument vectoriel AVX512F sans activer AVX512F change l'ABI" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, gcc-internal-format + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "le retour vectoriel AVX512F sans activer AVX512F change l'ABI" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, gcc-internal-format + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "l'argument vectoriel AVX sans activer AVX change l'ABI" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, gcc-internal-format + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "le retour vectoriel AVX sans activer AVX change l'ABI" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "l'argument vectoriel SSE sans activer SSE modifie l'ABI" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "le retour vectoriel SSE sans activer SSE change l'ABI" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "l'argument vectoriel MMX sans activer MMX modifie l'ABI" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "le retour vectoriel MMX sans activer MMX change l'ABI" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "l'ABI pour passer une structure possédant un tableau flexible comme membre a changé dans GCC 4.4" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, gcc-internal-format + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "l'ABI pour passer une union avec un % a changé dans GCC 4.4" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, gcc-internal-format + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "l'ABI pour passer une structure possédant un membre % a changé dans GCC 4.4" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "l'ABI pour passer des structures C avec des champs de bits de largeur zéro a changé dans GCC %{12.1%}" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "retour d'un registre SSE alors que SSE est désactivé" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "argument dans un registre SSE alors que SSE est désactivé" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "retour d'un registre x87 alors que x87 est désactivé" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, gcc-internal-format + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "appel de %qD avec la convention d'appel SSE sans avoir activé SSE/SSE2" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "ceci est un bogue de GCC qui peut être contourné en ajoutant l'attribut utilisé à la fonction appelée" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, gcc-internal-format, gfc-internal-format + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "l'ABI pour passer des paramètres avec un alignement de %d octets a changé dans GCC 4.6" + +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "%<-mcall-ms2sysv-xlogues%> est incompatible avec %s" + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, gcc-internal-format + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "l'attribut % est incompatible avec %<-mfentry%> pour 32 bits" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "DRAP (Dynamic Realign Argument Pointer) n'est pas supporté dans une routine de service d'interruption. Ceci peut être contourné en évitant les fonctions avec un retour agrégé." + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, gcc-internal-format + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "Le réalignement de pile n'est pas supporté avec %<__builtin_eh_return%>" + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, gcc-internal-format + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "les fonctions regparm imbriquées ne sont pas supportées avec %<__builtin_eh_return%>" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "%<-fsplit-stack%> ne supporte pas fastcall avec des fonctions imbriquées" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" + msgstr "%<-fsplit-stack%> ne supporte pas deux paramètres registres pour une fonction imbriquée" + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "%<-fsplit-stack%> ne supporte pas trois paramètres registres" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, gcc-internal-format + msgid "% modifier on non-integer register" + msgstr "modificateur % sur un registre non entier" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, gcc-internal-format + msgid "unsupported size for integer register" + msgstr "taille non supportée pour un registre entier" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "les registres étendus n'ont pas de moitié haute" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "taille d'opérande non supportée pour un registre étendu" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, gcc-internal-format + msgid "non-integer operand used with operand code %" + msgstr "opérande non entier utilise avec le code d'opérande %" + +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "l'ABI de passage de paramètres pour la classe vide %qT change avec %<-fabi-version=12%> (GCC 8)" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "l'alignement des champs de %<_Atomic %T%> ont changé dans %{GCC 11.1%}" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, gcc-internal-format + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "le profilage %<-mcmodel=large%> avec PIC n'est pas supporté" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "modèle mémoire spécifique à l'architecture inconnu" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "% n'est pas utilisé avec le modèle mémoire % ou un autre plus contraignant" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "% n'est pas utilisé avec le modèle mémoire % ou un autre plus contraignant" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "type de retour %qT non supporté pour simd" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, gcc-internal-format + msgid "unsupported argument type %qT for simd" + msgstr "type d'argument %qT non supporté pour simd" + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, gcc-internal-format + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" + msgstr "%<-fexcess-precision=16%> n'est pas compatible avec %<-mfpmath=387%>" +@@ -40402,7 +40397,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "%qE redéclaré avec les attributs conflictuels %qs" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, gcc-internal-format + msgid "%qE attribute requires a string argument" + msgstr "l'attribut %qE requiert une chaîne comme argument" +@@ -41521,52 +41516,52 @@ msgstr "l'option %<#pragma riscv intrinsic%> %qs a besoin que l'extension « V + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "option %qs inconnue pour %<#pragma riscv intrinsic%>" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, gcc-internal-format + msgid "RVV type %qT does not have a fixed size" + msgstr "le type RVV %qT n'a pas de taille fixe" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, gcc-internal-format + msgid "RVV type %qT does not have a defined alignment" + msgstr "le type RVV %qT n'a pas un alignement défini" + +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, gcc-internal-format + msgid "arithmetic on pointer to RVV type %qT" + msgstr "arithmétique sur un pointeur vers un type RVV %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "les variables membre ne peuvent pas avoir le type RVV %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, gcc-internal-format + msgid "fields cannot have RVV type %qT" + msgstr "les champs ne peuvent pas avoir le type RVV %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, gcc-internal-format + msgid "array elements cannot have RVV type %qT" + msgstr "les éléments de tableau de peuvent pas avoir le type RVV %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, gcc-internal-format + msgid "cannot allocate objects with RVV type %qT" + msgstr "ne peut allouer des objets du type RVV %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, gcc-internal-format + msgid "cannot delete objects with RVV type %qT" + msgstr "impossible de supprimer des objets du type RVV %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, gcc-internal-format + msgid "cannot throw or catch RVV type %qT" + msgstr "ne peut lever ou intercepter une exception sur le type RVV %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, gcc-internal-format + msgid "capture by copy of RVV type %qT" + msgstr "capture par copie du type RVV %qT" +@@ -41586,71 +41581,66 @@ msgstr "cette opération requiert l'extension de l'ISA RVV" + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "vous pouvez activer RVV en utilisant l'option %<-march%> sur la ligne de commande ou en utilisant l'attribut ou le pragma %" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, gcc-internal-format + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "l'ABI pour des structures aplaties avec un champ de bits d'une taille non nulle a changé dans GCC 10" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, gcc-internal-format + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "l'argument de l'attribut %qE n'est pas %<\"user\"%>, %<\"supervisor\"%> ou %<\"machine\"%>" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, gcc-internal-format + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "%<-mdiv%> requiert %<-march%> pour incorporer l'extension %" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, gcc-internal-format + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "l'ABI demandée requiert %<-march%> pour incorporer l'extension %qc" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "rv32e requiert l'ABI ilp32e" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "z*inx requiert l'ABI ilp32, ilp32e ou lp64" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, gcc-internal-format + msgid "ABI requires %<-march=rv%d%>" + msgstr "l'ABI requiert %<-march=rv%d%>" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "%<-mpreferred-stack-boundary=%d%> doit être entre %d et %d" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "l'attribut RISC-V ELF %<-mriscv-attribute%> requiert GNU as 2.32 [%<-mriscv-attribute%>]" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, gcc-internal-format + msgid "%qs is not a valid base register in %qs" + msgstr "%qs n'est pas un registre de base valable dans %qs" + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, gcc-internal-format + msgid "%qs is not a valid number in %qs" + msgstr "%qs n'est pas un nombre valide dans %qs" + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, gcc-internal-format + msgid "%qs function cannot have different interrupt type" + msgstr "la fonction %qs ne peut pas avoir un type d'interruption différent" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "impossible d'allouer le registre vl pour %qs sur cette cible" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, gcc-internal-format +@@ -42121,97 +42111,97 @@ msgstr "%qs est déprécié et recommandé dans aucune circonstance" + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "%qs est un type opaque et vous ne pouvez pas le remplacer avec d'autres valeurs" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "pas de profilage du code 64 bits pour cette ABI" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, gcc-internal-format + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "Vous ne pouvez pas prendre l'adresse d'une fonction imbriquée si vous utilisez l'option %qs" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "l'utilisation de % dans les types AltiVec est invalide" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "l'utilisation des types booléens dans les types AltiVec est invalide" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "l'utilisation de % dans les types AltiVec est invalide" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, gcc-internal-format + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "l'utilisation de types décimaux en virgule flottante dans les types AltiVec est invalide" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "l'utilisation de % dans les types AltiVec est invalide pour du code 64 bits sans %qs" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "l'utilisation de % dans les types Altivec est obsolète; utilisez %" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "l'utilisation de % dans les types AltiVec est invalide sans %qs" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "l'utilisation de % dans les types AltiVec est invalide sans %qs" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, gcc-internal-format + msgid "invalid cpu %qs for %s%qs%s" + msgstr "processeur %qs invalide pour %s\"%s\"%s" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, gcc-internal-format + msgid "%s%qs%s is not allowed" + msgstr "%s\"%s\"%s n'est pas permis" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, gcc-internal-format + msgid "%s%qs%s is invalid" + msgstr "%s\"%s\"%s est invalide" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "%<-mno-%s%> désactive %<-m%s%>" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "l'attribut % requiert GLIBC (2.23 ou plus récent) qui exporte des bits de capacité matérielle" + +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, gcc-internal-format + msgid "Virtual function multiversioning not supported" + msgstr "Des versions multiples de fonctions virtuelles ne sont pas supportées" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "le résultat de l'instruction xxspltidp n'est pas défini pour des valeurs d'entrée sous-normales" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, gcc-internal-format + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "le type %<__vector_quad%> requiert l'option %qs" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, gcc-internal-format + msgid "type %<__vector_pair%> requires the %qs option" + msgstr "le type %<__vector_pair%> requiert l'option %qs" +@@ -43606,7 +43596,7 @@ msgstr "impossible de mettre un objet avec un champ volatile dans un registre" + msgid "uninitialized % is invalid in C++" + msgstr "% non initialisé est invalide en C++" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "%q+D dans la directive de déclaration de cible n'a pas de type pour lequel une correspondance peut être établie (mappable type)" +@@ -43791,7 +43781,7 @@ msgstr "classe de stockage spécifiée pour le paramètre %qE" + msgid "storage class specified for unnamed parameter" + msgstr "classe de stockage spécifiée pour le paramètre sans nom" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "classe de stockage spécifiée pour un typename" +@@ -43960,7 +43950,7 @@ msgstr "nom de type déclaré comme une fonction retournant un tableau" + msgid "function definition has qualified void return type" + msgstr "la définition de la fonction a un type de retour « void » qualifié" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "les qualificatifs de type sont ignorés sur le type retourné par la fonction" +@@ -44087,7 +44077,7 @@ msgstr "le C ISO interdit les fonctions de type volatile ou constante" + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "un membre d'une structure ou d'une union ne peut pas avoir de type modifié par une variable" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "variable ou champ %qE déclaré « void »" +@@ -44288,7 +44278,7 @@ msgstr "définir le type dans l'expression %qs est invalide en C++" + msgid "%qT defined in underspecified object initializer" + msgstr "%qT est défini dans l'initialiseur de l'objet sous-spécifié" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "la déclaration ne déclare rien du tout" +@@ -44338,7 +44328,7 @@ msgstr "la structure n'a aucun membre nommé" + msgid "struct has no members" + msgstr "la structure n'a aucun membre" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, gcc-internal-format + msgid "flexible array member in union" + msgstr "tableau flexible comme membre de l'union" +@@ -44383,7 +44373,7 @@ msgstr "redéclaration de %" + msgid "% declared with but defined without fixed underlying type" + msgstr "% déclaré avec mais défini sans type sous-jacent fixe" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, gcc-internal-format + msgid "specified mode too small for enumerated values" + msgstr "le mode spécifié est trop petit pour les valeurs énumérées" +@@ -44428,7 +44418,7 @@ msgstr "la valeur de l'énumération est en dehors de la plage de %qs" + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "le C ISO restreint les valeurs de l'énumérateur à la plage d'un % avant C2X" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, gcc-internal-format + msgid "inline function %qD given attribute %qs" + msgstr "la fonction à mettre en ligne %qD a reçu l'attribut %qs" +@@ -44458,7 +44448,7 @@ msgstr "aucun prototype précédent pour %qD" + msgid "%qD was used with no prototype before its definition" + msgstr "%qD a été utilisé sans prototype avant sa définition" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, gcc-internal-format + msgid "no previous declaration for %qD" + msgstr "aucune déclaration précédente pour %qD" +@@ -44573,12 +44563,12 @@ msgstr "l'argument %qD ne concorde pas avec le prototype interne" + msgid "argument %qD doesn%'t match prototype" + msgstr "l'argument %qD ne concorde pas avec le prototype" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "« return » manquant dans une fonction devant retourner une valeur" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, gcc-internal-format + msgid "parameter %qD set but not used" + msgstr "le paramètre %qD est défini mais pas utilisé" +@@ -46590,7 +46580,7 @@ msgstr "pas assez de boucles parfaitement imbriquées" + msgid "collapsed loops not perfectly nested" + msgstr "boucles coalescées imparfaitement imbriquées" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "la variable d'itération %qD ne devrait pas être « firstprivate »" +@@ -46720,12 +46710,12 @@ msgstr "% attendu" + msgid "variant %qD is not a function" + msgstr "le variant %qD n'est pas une fonction" + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, gcc-internal-format + msgid "variant %qD and base %qD have incompatible types" + msgstr "le variant %qD et la base %qD ont des types incompatibles" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "le variant %qD est interne" +@@ -46986,7 +46976,7 @@ msgstr "utilisation invalide de l'expression void" + msgid "invalid use of flexible array member" + msgstr "utilisation invalide d'un membre qui est un tableau flexible" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "utilisation invalide d'un tableau sans borne spécifiée" +@@ -47935,12 +47925,12 @@ msgstr "l'initialiseur de % pour un type réel est de type complexe" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "l'initialiseur de % pour un type en virgule flottante binaire est de type décimal" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "initialisation d'un membre de tableau flexible" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, gcc-internal-format + msgid "cannot initialize array of %qT from a string literal with type array of %qT" + msgstr "impossible d'initialiser un tableau de %qT depuis une chaîne de caractères littérale avec un tableau de type %qT" +@@ -47981,7 +47971,7 @@ msgstr "un élément de l'initialisation n'est pas évaluable lors du chargement + msgid "invalid initializer" + msgstr "initialisation invalide" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "type de vecteur opaque ne peut être initialisé" +@@ -47996,8 +47986,8 @@ msgstr "groupe d'accolades superflu à la fin de l'initialisation" + msgid "braces around scalar initializer" + msgstr "accolades autour d'une initialisation d'un scalaire" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "initialisation d'un membre de tableau flexible dans un contexte imbriqué" +@@ -48087,7 +48077,7 @@ msgstr "trop d'éléments dans l'initialisation de la structure" + msgid "positional initialization of field in % declared with % attribute" + msgstr "initialisation par position de champs dans une % qui est déclarée avec l'attribut %" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "initialisation non statique d'un membre de tableau flexible" +@@ -49430,7 +49420,7 @@ msgstr "pas de % adapté pour %qT" + msgid "%q#D is private within this context" + msgstr "%q#D est privé dans ce contexte" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, gcc-internal-format + msgid "declared private here" + msgstr "déclaré privé ici" +@@ -49440,7 +49430,7 @@ msgstr "déclaré privé ici" + msgid "%q#D is protected within this context" + msgstr "%q#D est protégé dans ce contexte" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, gcc-internal-format + msgid "declared protected here" + msgstr "déclaré protégé ici" +@@ -49455,7 +49445,7 @@ msgstr "%q#D est inaccessible dans ce contexte" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "passage de NULL pour l'argument non pointeur %P de %qD" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, gcc-internal-format + msgid " declared here" +@@ -49784,7 +49774,7 @@ msgstr "pas de fonction concordante pour l'appel à %<%T::%s%E(%A)%#V%>" + msgid "call to non-function %qD" + msgstr "appel à la non fonction %qD" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "ne peut appeler le constructeur %<%T::%D%> directement" +@@ -50354,7 +50344,7 @@ msgstr "membre tableau flexible %qD dans %q#T par ailleurs vide" + msgid "next member %q#D declared here" + msgstr "membre %q#D suivant déclaré ici" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "redéfinition de %q#T" +@@ -50476,7 +50466,7 @@ msgstr "type invalide pour le paramètre %d de la fonction % %q+#D" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "les lambdas ne sont implicitement % qu'à partir du C++17" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, gcc-internal-format + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "les destructeurs % sont uniquement disponible avec %<-std=c++20%> ou %<-std=gnu++20%>" +@@ -50545,7 +50535,7 @@ msgstr "%qE est évalué à « faux »" + msgid "failed % attribute assumption" + msgstr "la supposition de l'attribut % a échoué" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, gcc-internal-format + msgid "call to internal function %qE" +@@ -50592,7 +50582,7 @@ msgstr "%qT est une classe de base ambigüe du type dynamique %qT de son opéran + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "le type dynamique %qT de son opérande n'a pas une classe de base publique %qT non ambigüe" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, gcc-internal-format + msgid "call to non-% function %qD" +@@ -50716,7 +50706,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "déréférencement d'un pointeur nul dans %qE" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -50815,7 +50805,7 @@ msgstr "%qs accès à un octet non initialisé à l'offset %d" + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "%qs ne peut pas être évalué de manière constante car l'argument ne sait pas être interprété" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, gcc-internal-format + msgid "dereferencing a null pointer" +@@ -50891,7 +50881,7 @@ msgstr "changement du membre actif d'une union de %qD à %qD" + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "changement du membre actif d'une union de %qD à %qD durant l'initialisation" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, gcc-internal-format + msgid "statement is not a constant expression" +@@ -50957,189 +50947,189 @@ msgstr "le contrôle passe au travers de la définition de %qD avec une durée d + msgid "control passes through definition of %qD with static storage duration" + msgstr "le contrôle passe au travers de la définition de %qD avec une durée de stockage statique" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, gcc-internal-format + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "temporaire du type %qT non littéral dans une expression constante" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "un % n'est pas une expression constante" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, gcc-internal-format + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "conversion depuis le type pointeur %qT vers le type arithmétique %qT dans une expression constante" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, gcc-internal-format + msgid "cast from %qT is not allowed" + msgstr "le transtypage depuis %qT n'est pas permis" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, gcc-internal-format + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "%qE n'est pas une expression constante tant que la classe %qT est encore incomplète" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, gcc-internal-format + msgid "%(%E)%> is not a constant expression" + msgstr "%(%E)%> n'est pas une expression constante" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, gcc-internal-format + msgid "expression %qE is not a constant expression" + msgstr "l'expression %qE n'est pas une expression constante" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "% n'est pas une expression constante" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, gcc-internal-format + msgid "contract predicate is false in constant expression" + msgstr "le prédicat du contrat est faux dans une expression constante" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, gcc-internal-format + msgid "unexpected template-id %qE" + msgstr "template-id %qE inattendu" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, gcc-internal-format + msgid "function concept must be called" + msgstr "un concept de fonction doit être appelé" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, gcc-internal-format + msgid "address of a call to %qs is not a constant expression" + msgstr "l'adresse d'un appel à %qs n'est pas une expression constante" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, gcc-internal-format + msgid "unexpected expression %qE of kind %s" + msgstr "l'expression %qE du sous-type %s est inattendue" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "%qE n'est pas une expression constante car il fait référence aux sous-objets mutables de %qT" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "%qE n'est pas une expression constante car il fait référence à une variable incomplètement initialisée" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "%qE n'est pas une expression constante car il fait référence à un résultat de %" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, gcc-internal-format + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "%qE n'est pas une expression constante car le stockage alloué n'a pas été désalloué" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "l'évaluation immédiate retourne l'adresse de la fonction immédiate %qD" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, gcc-internal-format + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "conversion l-valeur vers r-valeur d'une l-valeur volatile %qE avec le type %qT" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, gcc-internal-format + msgid "lambda capture of %qE is not a constant expression" + msgstr "la capture lambda de %qE n'est pas une expression constante" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "car il est utilisé comme gl-valeur" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, gcc-internal-format + msgid "% from integer to pointer" + msgstr "% d'un entier vers un pointeur" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "prendre l'adresse avec address-of d'un objet %qE qui est local au thread ou a un stockage automatique n'est pas une expression constante" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, gcc-internal-format + msgid "use of % in a constant expression" + msgstr "utilisation de % dans une expression constante" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, gcc-internal-format + msgid "lambda-expression is not a constant expression before C++17" + msgstr "expression lambda dans une expression constante avant C++17" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, gcc-internal-format + msgid "new-expression is not a constant expression before C++20" + msgstr "l'expression new n'est pas une expression constante avant C++20" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, gcc-internal-format + msgid "virtual functions cannot be % before C++20" + msgstr "les fonctions virtuelles ne peuvent pas être % avant C++20" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, gcc-internal-format + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "l'expression % n'est pas une expression constante car %qE est un type polymorphique" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, gcc-internal-format + msgid "cast to non-integral type %qT in a constant expression" + msgstr "transtypage vers le type non entier %qT dans une expression constante" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "%qD défini % dans un contexte %" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "%qD défini % dans un contexte %" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, gcc-internal-format + msgid "division by zero is not a constant expression" + msgstr "la division par zéro n'est pas une expression constante" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "% n'est pas une expression constante" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, gcc-internal-format + msgid "neither branch of % is a constant expression" + msgstr "aucune des branches de % est une expression constante" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, gcc-internal-format + msgid "non-constant array initialization" + msgstr "initialisation d'un tableau non constant" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, gcc-internal-format + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "la définition d'une étiquette dans une fonction % est uniquement disponible avec %<-std=c++2b%> ou %<-std=gnu++2b%>" + +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, gcc-internal-format, gfc-internal-format + msgid "unexpected AST of kind %s" + msgstr "arbre syntaxique abstrait (AST=Abstract Syntax Tree) de type %s inattendu" +@@ -51713,7 +51703,7 @@ msgstr "le type de « promise » %qT pour la coroutine déclare à la fois % declared here" + msgstr "% déclaré ici" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, gcc-internal-format + msgid "no member named %qE in %qT" + msgstr "pas de membre nommé %qE dans %qT" +@@ -51805,7 +51795,7 @@ msgstr "l'argument de direction de %<__builtin_core_promise%> doit être une con + msgid "no suspend point info for %qD" + msgstr "aucune information du point de suspension pour %qD" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "%qE est fourni par %qT mais il n'est pas utilisable avec la fonction ayant la signature %qD" +@@ -51825,23 +51815,23 @@ msgstr "les expressions temporisables ne sont pas permises dans les gestionnaire + msgid "variable length arrays are not yet supported in coroutines" + msgstr "les tableaux de longueur variable ne sont pas encore supportés dans les coroutines" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "%qE est fourni par %qT mais %qE n'est pas marqué avec % ou %" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "%qE est marqué avec % ou % mais aucun % utilisable est fourni par %qT" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "%qE est fourni par %qT mais % n'est pas trouvé" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, gcc-internal-format + msgid "cannot initialize a return object of type %qT with an rvalue of type %" + msgstr "impossible d'initialiser un objet retourné de type %qT avec une r-valeur de type %" +@@ -52321,7 +52311,7 @@ msgstr "par rapport à la déclaration précédente de %qF" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "la redéclaration de %qD diffère de %qs dans la déclaration précédente" + +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, gcc-internal-format + msgid "previous declaration %qD" + msgstr "déclaration précédente de %qD" +@@ -52721,2275 +52711,2275 @@ msgstr "%qD est une fonction, pas un type" + msgid "%q#T is not a class" + msgstr "%q#T n'est pas une classe" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "pas de patron de classe nommé %q#T dans %q#T" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, gcc-internal-format + msgid "no type named %q#T in %q#T" + msgstr "pas de type nommé %q#T dans %q#T" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, gcc-internal-format + msgid "lookup of %qT in %qT is ambiguous" + msgstr "la recherche de %qT dans %qT est ambigüe" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "% nomme %q#T qui n'est pas un patron de classe" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, gcc-internal-format + msgid "% names %q#D, which is not a type" + msgstr "% nomme %q#D qui n'est pas un type" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, gcc-internal-format + msgid "template parameters do not match template %qD" + msgstr "les paramètres du patron ne correspondent pas au patron %qD" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, gcc-internal-format + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "%<-faligned-new=%d%> n'est pas une puissance de deux" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "%<--param destructive-interference-size=%d%> est plus petit que %d" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "%<--param destructive-interference-size=%d%> est plus petit que %<--param l1-cache-line-size=%d%>" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "%<--param constructive-interference-size=%d%> est plus petit que %d" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "%<--param constructive-interference-size=%d%> est plus grand que %<--param l1-cache-line-size=%d%>" + +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, gcc-internal-format + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "%q#D est invalide; une union anonyme ne peut avoir que des membres de données publiques non statiques" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "cette flexibilité est dépréciée et sera supprimée" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, gcc-internal-format + msgid "anonymous struct with base classes" + msgstr "struct anonyme avec des classes de base" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "le membre %q+#D avec un constructeur n'est pas permis dans un agrégat anonyme" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "le membre %q+#D avec un destructeur n'est pas permis dans un agrégat anonyme" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "le membre %q+#D avec un opérateur d'affectation par copie n'est pas permis dans un agrégat anonyme" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, gcc-internal-format + msgid "attribute ignored in declaration of %q#T" + msgstr "attribut ignoré dans la déclaration de %q#T" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, gcc-internal-format + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "l'attribut pour %q#T doit suivre le mot-clé %qs" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "types multiples dans une déclaration" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "redéclaration du type interne C++ %qT" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, gcc-internal-format + msgid "% can only be specified for variables or function declarations" + msgstr "% peut seulement être spécifié pour des déclarations de variables ou de fonctions" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "nom de type manquant dans la déclaration typedef" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "le C++ ISO interdit les structures anonymes" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "% peut seulement être spécifié pour des fonctions" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "% peut seulement être spécifié pour des fonctions" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "% peut seulement être spécifié à l'intérieur d'une classe" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "% peut seulement être spécifié pour des constructeurs" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "une classe de stockage peut seulement être spécifiée pour des objets et des fonctions" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "% peut seulement être spécifié pour des objets et des fonctions" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "% peut seulement être spécifié pour des objets et des fonctions" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, gcc-internal-format + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "%<__restrict%> peut seulement être spécifié pour des objets et des fonctions" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, gcc-internal-format + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "%<__thread%> peut seulement être spécifié pour des objets et des fonctions" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, gcc-internal-format + msgid "% was ignored in this declaration" + msgstr "% a été ignoré dans cette déclaration" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, gcc-internal-format + msgid "%qs cannot be used for type declarations" + msgstr "%qs ne peut pas être utilisé pour des déclarations de types" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, gcc-internal-format + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "attribut ignoré dans l'instanciation explicite de %q#T" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, gcc-internal-format + msgid "no attribute can be applied to an explicit instantiation" + msgstr "aucun attribut peut être appliqué à une instanciation explicite" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, gcc-internal-format + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "les attributs sont ignorés s'ils sont appliqués à la classe de type %qT en dehors de la définition" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "attributs ignorés car ils sont appliqués au type dépendent %qT sans déclaration associée" + +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, gcc-internal-format + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "typedef %qD est initialisé (utilisez plutôt %qs)" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "la déclaration de %q#D est % et est initialisée" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "la définition de %q#D est marquée %" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, gcc-internal-format + msgid "%q+#D is not a static data member of %q#T" + msgstr "%q+#D n'est pas un membre de donnée statique de %q#T" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, gcc-internal-format + msgid "non-member-template declaration of %qD" + msgstr "la déclaration du patron non membre de %qD" + + # le message ci-dessous est la suite de celui juste ci-dessus +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, gcc-internal-format + msgid "does not match member template declaration here" + msgstr "ne correspond pas à la déclaration du patron membre ici" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "le C++ ISO ne permet pas que %<%T::%D%> soit défini comme %<%T::%D%>" + +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "initialisation en double de %qD" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "la déclaration de %q#D en dehors de la classe n'est pas une définition" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "la déclaration externe avec la portée bloc %q#D n'est pas permise dans le domaine du module" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "%qD défini % dans la fonction %qs est uniquement disponible avec %<-std=c++2b%> ou %<-std=gnu++2b%>" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "%qD défini % dans la fonction %qs est uniquement disponible avec %<-std=c++2b%> ou %<-std=gnu++2b%>" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "la variable %q#D a un initialiseur mais a un type incomplet" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "les éléments du tableau %q#D ont un type incomplet" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "l'agrégat %q#D a un type incomplet et ne peut être défini" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "%qD est déclaré comme référence mais n'est pas initialisé" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, gcc-internal-format + msgid "name used in a GNU-style designated initializer for an array" + msgstr "nom utilisé dans une initialisation par désignation dans le style GNU pour un tableau" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "nom %qD utilisé dans une initialisation par désignation dans le style GNU pour un tableau" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "les initialisations par désignation non triviales ne sont pas supportées" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, gcc-internal-format + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "le champ désigné par l'indicateur C99 %qE n'est pas une expression constante entière" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "l'initialisation n'a pu déterminer la taille de %qD" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, gcc-internal-format + msgid "array size missing in %qD" + msgstr "taille de tableau manquante dans %qD" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, gcc-internal-format + msgid "zero-size array %qD" + msgstr "tableau %qD de taille zéro" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, gcc-internal-format + msgid "storage size of %qD isn%'t known" + msgstr "la taille de stockage de %qD n'est pas connue" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, gcc-internal-format + msgid "storage size of %qD isn%'t constant" + msgstr "la taille de stockage de %qD n'est pas constante" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, gcc-internal-format + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "désolé: les sémantiques de la variable en ligne %q#D sont erronées (vous obtiendrez de multiples copies)" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, gcc-internal-format + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "désolé: les sémantiques de la fonction statique en ligne %q#D sont erronées (vous obtiendrez de multiples copies)" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, gcc-internal-format + msgid "you can work around this by removing the initializer" + msgstr "vous pouvez contourner cela en enlevant l'initialiseur" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, gcc-internal-format + msgid "uninitialized %" + msgstr "% non initialisé" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, gcc-internal-format + msgid "uninitialized variable %qD in % function" + msgstr "variable %qD non initialisée dans une fonction %" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, gcc-internal-format + msgid "uninitialized variable %qD in % context" + msgstr "variable %qD non initialisée dans un contexte %" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, gcc-internal-format + msgid "%q#T has no user-provided default constructor" + msgstr "%q#T n'a pas de constructeur par défaut fourni par l'utilisateur" + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "le constructeur n'est pas défini par l'utilisateur car le constructeur par défaut est explicitement demandé dans le corps de la classe" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "et le constructeur implicitement défini n'initialise pas %q#D" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "type %qT invalide pour initialiser un vecteur de type %qT" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "l'initialisation de %qT doit être entre accolades" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, gcc-internal-format + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "%<[%E] =%> utilisé dans une initialisation par désignation dans le style GNU pour la classe %qT" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "%qT n'a pas de membre de données non statique nommé %qD" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, gcc-internal-format + msgid "%qD is not a direct member of %qT" + msgstr "%qD n'est pas un membre direct de %qT" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, gcc-internal-format + msgid "invalid initializer for %q#D" + msgstr "initialisation invalide pour %q#D" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "le champ désigné par l'indicateur C99 %qE est hors de l'initialisation de l'agrégat" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "trop d'éléments d'initialisation pour %qT" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "accolades autour de l'initialiseur scalaire pour le type %qT" + +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, gcc-internal-format + msgid "too many braces around scalar initializer for type %qT" + msgstr "trop d'accolades autour de l'initialiseur scalaire pour le type %qT" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "accolades manquantes autour de l'initialisation pour %qT" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, gcc-internal-format + msgid "structured binding has incomplete type %qT" + msgstr "la liaison structurée à le type incomplet %qT" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, gcc-internal-format + msgid "elements of array %q#T have incomplete type" + msgstr "les éléments du tableau %q#T ont un type incomplet" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, gcc-internal-format + msgid "variable-sized compound literal" + msgstr "littéral composé de taille variable" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, gcc-internal-format + msgid "%q#D has incomplete type" + msgstr "%q#D a un type incomplet" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, gcc-internal-format + msgid "scalar object %qD requires one element in initializer" + msgstr "l'objet scalaire %qD requiert un élément dans l'initialisation" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, gcc-internal-format + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "en C++98, %qD doit être initialisé par un constructeur et non par %<{...}%>" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "le tableau %qD est initialisé par la chaîne littérale entre parenthèses %qE" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "initialisation invalide pour un membre statique avec constructeur" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "l'initialisation non constante dans la classe est invalide pour le membre statique %qD" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "l'initialisation non constante dans la classe est invalide pour le membre statique pas en ligne %qD" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "(une initialisation en dehors de la classe est requise)" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, gcc-internal-format + msgid "reference %qD is initialized with itself" + msgstr "la référence %qD est initialisée avec elle-même" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, gcc-internal-format + msgid "could not find variant declaration" + msgstr "n'a pu trouver la déclaration du variant" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, gcc-internal-format + msgid "% on constructor %qD" + msgstr "% sur le constructeur %qD" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, gcc-internal-format + msgid "% on destructor %qD" + msgstr "% sur le destructeur %qD" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, gcc-internal-format + msgid "% on defaulted %qD" + msgstr "% sur %qD par défaut" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, gcc-internal-format + msgid "% on deleted %qD" + msgstr "% sur %qD supprimé" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, gcc-internal-format + msgid "% on virtual %qD" + msgstr "% sur %qD virtuel" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "affectation (pas une initialisation) dans la déclaration" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, gcc-internal-format + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "le C++17 ISO n'autorise pas le spécificateur de classe de stockage %" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, gcc-internal-format + msgid "% storage class specifier used" + msgstr "spécificateur de classe de stockage % utilisé" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "la déclaration de %q#D n'est pas initialisée" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, gcc-internal-format + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "l'initialisation pour % a un type fonction (avez-vous oublié les %<()%> ?)" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, gcc-internal-format + msgid "deduced type %qT for %qD is incomplete" + msgstr "le type déduit %qT pour %qD est incomplet" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, gcc-internal-format + msgid "variable concept has no initializer" + msgstr "le concept de variable n'a pas d'initialisation" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "masque la déclaration précédente du type de %q#D" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, gcc-internal-format + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "% peut uniquement être appliqué à une variable avec une durée de stockage statique ou au niveau du thread" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "la fonction %q#D est initialisée comme une variable" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr "impossible de décomposer le type de la classe %qT car il a une structure anonyme comme membre" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "impossible de décomposer le type de la classe %qT car il a une union anonyme comme membre" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, gcc-internal-format + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "impossible de décomposer le membre inaccessible %qD de %qT" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "impossible de décomposer le type de classe %qT: lui et sa classe de base %qT ont des membres de données non statiques" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "impossible de décomposer le type de classe %qT: ses classes de base %qT et %qT ont des membres de données non statiques" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, gcc-internal-format + msgid "structured binding refers to incomplete type %qT" + msgstr "la liaison structurée fait référence au type incomplet %qT" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, gcc-internal-format + msgid "cannot decompose variable length array %qT" + msgstr "impossible de décomposer le tableau de longueur variable %qT" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, gcc-internal-format, gfc-internal-format + msgid "%u name provided for structured binding" + msgid_plural "%u names provided for structured binding" + msgstr[0] "%u nom fourni pour la liaison structurée" + msgstr[1] "%u noms fournis pour la liaison structurée" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" + msgstr[0] "seulement %u nom fourni pour la liaison structurée" + msgstr[1] "seulement %u noms fournis pour la liaison structurée" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" + msgstr[0] "alors que %qT se décompose en %wu élément" + msgstr[1] "alors que %qT se décompose en %wu éléments" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, gcc-internal-format + msgid "cannot decompose variable length vector %qT" + msgstr "impossible de décomposer le vecteur de longueur variable %qT" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, gcc-internal-format + msgid "%::value%> is not an integral constant expression" + msgstr "%::value%> n'est pas une expression constante entière" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "alors que %qT se décompose en %E éléments" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "%::type%> est %" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, gcc-internal-format + msgid "in initialization of structured binding variable %qD" + msgstr "dans l'initialisation de la variable de liaison structurée %qD" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, gcc-internal-format + msgid "cannot decompose union type %qT" + msgstr "impossible de décomposer le type union %qT" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, gcc-internal-format + msgid "cannot decompose non-array non-class type %qT" + msgstr "impossible de décomposer le type %qT qui n'est ni une classe ni un tableau" + +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, gcc-internal-format + msgid "cannot decompose lambda closure type %qT" + msgstr "impossible de décomposer le type de fermeture lambda %qT" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, gcc-internal-format + msgid "structured binding refers to incomplete class type %qT" + msgstr "la liaison structurée fait référence au type de classe incomplet %qT" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, gcc-internal-format + msgid "cannot decompose class type %qT without non-static data members" + msgstr "impossible de décomposer le type de classe %qT sans membre de donnée non statique" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "la variable non locale %qD déclarée %<__thread%> a besoin d'une initialisation dynamique" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "la variable non locale %qD déclarée %<__thread%> a un destructeur non trivial" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "% en C++11 permet l'initialisation et la destruction dynamique" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, gcc-internal-format + msgid "initializer fails to determine size of %qT" + msgstr "l'initialisation n'a pu déterminer la taille de %qT" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, gcc-internal-format + msgid "array size missing in %qT" + msgstr "taille du tableau manquante dans %qT" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, gcc-internal-format + msgid "zero-size array %qT" + msgstr "tableau %qT de taille zéro" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "le destructeur pour la classe étrangère %qT ne peut pas être un membre" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "le constructeur pour la classe étrangère %qT ne peut pas être un membre" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, gcc-internal-format + msgid "%qD declared as a % variable" + msgstr "%qD est déclaré comme une variable %" + +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "les spécificateurs de fonction % et % sur %qD sont invalides dans la déclaration de variable" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, gcc-internal-format + msgid "%qD declared as a % parameter" + msgstr "%qD déclaré comme un paramètre %" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, gcc-internal-format + msgid "%qD declared as an % parameter" + msgstr "%qD déclaré comme un paramètre %" + +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "les spécificateurs de fonction % et % sur %qD sont invalides dans la déclaration de paramètre" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, gcc-internal-format + msgid "%qD declared as a % type" + msgstr "%qD déclaré comme un type %" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, gcc-internal-format + msgid "%qD declared as an % type" + msgstr "%qD déclaré comme un type %" + +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "les spécificateurs de fonction % et % sur %qD sont invalides dans la déclaration de type" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, gcc-internal-format + msgid "%qD declared as a % field" + msgstr "%qD déclaré comme un champ %" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, gcc-internal-format + msgid "%qD declared as an % field" + msgstr "%qD déclaré comme un champ %" + +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "les spécificateurs de fonction % et % sur %qD sont invalides dans la déclaration de champ" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "%q+D déclaré comme un ami" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "%q+D déclaré avec une spécification d'exception" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "la définition de %qD n'est pas dans l'espace de noms incluant %qT" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "la fonction membre statique %q#D est déclarée avec des qualificatifs de type" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, gcc-internal-format + msgid "concept %q#D declared with function parameters" + msgstr "le concept %q#D est déclaré avec des paramètres de fonction" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, gcc-internal-format + msgid "concept %q#D declared with a deduced return type" + msgstr "le concept %q#D est déclaré avec un type de retour déduit" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, gcc-internal-format + msgid "concept %q#D with non-% return type %qT" + msgstr "le concept %q#D a le type de retour %qT qui n'est pas %" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, gcc-internal-format + msgid "concept %qD has no definition" + msgstr "le concept %qD n'a pas de définition" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, gcc-internal-format + msgid "a function concept cannot be constrained" + msgstr "un concept de fonction ne peut pas être contraint" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, gcc-internal-format + msgid "constraints on a non-templated function" + msgstr "contraintes sur une fonction sans patron" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "définition de la spécialisation explicite %qD dans la déclaration amie" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "utilisation invalide du template-id %qD dans la déclaration du patron primaire" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "les arguments par défaut ne sont pas permis dans la déclaration de la spécialisation du patron ami %qD" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "% n'est pas permis dans la déclaration de la spécialisation du patron ami %qD" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, gcc-internal-format + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "la déclaration amie de %qD spécifie des arguments par défaut et n%'est pas une définition" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "ne peut déclarer %<::main%> comme étant un patron" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "ne peut déclarer %<::main%> comme étant à mettre en ligne" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be %qs" + msgstr "ne peut déclarer %<::main%> comme étant %qs" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "ne peut déclarer %<::main%> comme étant static" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, gcc-internal-format + msgid "static member function %qD cannot have cv-qualifier" + msgstr "la fonction membre statique %qD ne peut pas avoir de qualificatif CV" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, gcc-internal-format + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "la fonction non membre %qD ne peut pas avoir de qualificatif CV" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, gcc-internal-format + msgid "static member function %qD cannot have ref-qualifier" + msgstr "la fonction membre statique %qD ne peut pas avoir de qualificatif de référence" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, gcc-internal-format + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "la fonction non membre %qD ne peut pas avoir de qualificatif de référence" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, gcc-internal-format + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "le guide de déduction %qD doit être déclaré dans la même portée que %qT" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, gcc-internal-format + msgid "deduction guide %qD must have the same access as %qT" + msgstr "le guide de déduction %qD doit avoir le même accès que %qT" + +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, gcc-internal-format + msgid "deduction guide %qD must not have a function body" + msgstr "le guide de déduction %qD ne peut pas avoir un corps de fonction" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, gcc-internal-format + msgid "literal operator with C linkage" + msgstr "opérateur littéral avec une classe de liaison C" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, gcc-internal-format + msgid "%qD has invalid argument list" + msgstr "%qD a une liste d'arguments invalide" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "le suffixe entier %qs est masqué par l'implémentation" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, gcc-internal-format + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "le suffixe en virgule flottante %qs est masqué par l'implémentation" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "les suffixes d'opérateurs littéraux qui ne sont pas précédés par %<_%> sont réservés pour une standardisation future" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, gcc-internal-format + msgid "%qD must be a non-member function" + msgstr "%qD doit être une fonction non membre" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, gcc-internal-format + msgid "%<::main%> must return %" + msgstr "%<::main%> doit retourner %" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "définition de %qD déclaré implicitement" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, gcc-internal-format + msgid "definition of explicitly-defaulted %q+D" + msgstr "définition de %qD explicitement par défaut" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, gcc-internal-format + msgid "%q#D explicitly defaulted here" + msgstr "%q#D explicitement par défaut ici" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "pas de fonction membre %q#D déclarée dans la classe %qT" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a global variable" + msgstr "ne peut déclarer %<::main%> comme variable globale" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, gcc-internal-format + msgid "a non-template variable cannot be %" + msgstr "une variable qui n'est pas un patron ne peut pas avoir %" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, gcc-internal-format + msgid "concept must be defined at namespace scope" + msgstr "le concept doit être défini au niveau de l'espace de noms" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "un concept doit avoir le type %" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, gcc-internal-format + msgid "a variable concept cannot be constrained" + msgstr "un concept variable ne peut pas être contraint" + +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "initialisation intra-classe du membre de donnée statique %q#D d'un type incomplet" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, gcc-internal-format + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "% est requis pour l'initialisation intra-classe du membre de donnée statique %q#D d'un type non entier" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "initialisation intra-classe du membre de donnée statique %q#D du type non littéral" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "initialisation intra-classe invalide du membre de donnée statique du type non entier %qT" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "le C++ ISO interdit l'initialisation intra-classe du membre statique non constant %qD" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "le C++ ISO interdit l'initialisation du membre constant %qD du type non entier %qT" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "la taille du tableau %qD a le type non entier %qT" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "la taille du tableau a le type non entier %qT" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "la taille du tableau %qD n'est pas une expression constante de type entier" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "la taille du tableau n'est pas une expression constante entière" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "le C++ ISO interdit le tableau de taille zéro %qD" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "le C++ ISO interdit le tableau de taille zéro" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array %qD" + msgstr "le C++ ISO interdit le tableau de taille variable %qD" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array" + msgstr "le C++ ISO interdit le tableau de taille variable" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "le tableau de taille variable %qD est utilisé" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "le tableau de taille variable est utilisé" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "débordement dans la dimension du tableau" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, gcc-internal-format + msgid "%qD declared as array of template placeholder type %qT" + msgstr "%qD est déclaré comme tableau de type à remplacer dans un patron %qT" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, gcc-internal-format + msgid "creating array of template placeholder type %qT" + msgstr "création d'un tableau de type à remplacer dans un patron %qT" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, gcc-internal-format + msgid "declaration of %qD as array of void" + msgstr "déclaration de %qD comme un tableau de « void »" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, gcc-internal-format + msgid "creating array of void" + msgstr "création d'un tableau « void »" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, gcc-internal-format + msgid "declaration of %qD as array of functions" + msgstr "déclaration de %qD comme un tableau de fonctions" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, gcc-internal-format + msgid "creating array of functions" + msgstr "création d'un tableau de fonctions" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, gcc-internal-format + msgid "declaration of %qD as array of references" + msgstr "déclaration de %qD comme un tableau de références" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, gcc-internal-format + msgid "creating array of references" + msgstr "création d'un tableau de références" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, gcc-internal-format + msgid "declaration of %qD as array of function members" + msgstr "déclaration de %qD comme un tableau de fonctions membres" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, gcc-internal-format + msgid "creating array of function members" + msgstr "création d'un tableau de fonctions membres" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "la déclaration de %qD comme tableau multidimensionnel doit avoir des bornes pour chaque dimension excepté la première" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "le tableau multidimensionnel doit avoir des bornes pour chaque dimension excepté la première" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, gcc-internal-format + msgid "variable-length array of %" + msgstr "tableau de taille variable de %" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "la spécification d'un type retourné pour un constructeur est invalide" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, gcc-internal-format + msgid "qualifiers are not allowed on constructor declaration" + msgstr "les qualificatifs ne sont pas permis dans la déclaration d'un constructeur" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "la spécification d'un type retourné pour un destructeur est invalide" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, gcc-internal-format + msgid "qualifiers are not allowed on destructor declaration" + msgstr "les qualificatifs ne sont pas permis dans la déclaration d'un destructeur" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, gcc-internal-format + msgid "return type specified for %" + msgstr "type de retour spécifié pour %" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "les qualificatifs ne sont pas permis dans la déclaration de %" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, gcc-internal-format + msgid "return type specified for deduction guide" + msgstr "type de retour spécifié pour le guide de déduction" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "les qualificatifs ne sont pas permis dans la déclaration du guide de déduction" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, gcc-internal-format + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "paramètre de patron %qT, qui est lui-même un patron, dans la déclaration du guide de déduction" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, gcc-internal-format + msgid "% in declaration of deduction guide" + msgstr "% dans la déclaration du guide de déduction" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "variable non nommée ou champ déclaré void" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "variable ou champ déclaré void" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, gcc-internal-format + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "spécificateur % invalide pour la variable %qD déclarée au niveau du bloc" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, gcc-internal-format + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "les variables « inline » sont uniquement disponibles avec %<-std=c++17%> ou %<-std=gnu++17%>" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "%qT en tant que type plutôt qu'un simple %" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, gcc-internal-format + msgid "% cannot be cv-qualified" + msgstr "% ne peut pas être qualifié avec CV" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "utilisation invalide du nom qualifié %<::%D%>" + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "utilisation invalide du nom qualifié %<%T::%D%>" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "utilisation invalide du nom qualifié %<%D::%D%>" + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, gcc-internal-format + msgid "%q#T is not a class or namespace" + msgstr "%q#T n'est pas une classe ou un espace de noms" + +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, gcc-internal-format + msgid "declaration of %qE as non-function" + msgstr "déclaration de %qE comme non fonction" + +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, gcc-internal-format + msgid "declaration of %qE as non-member" + msgstr "déclaration de %qE comme non membre" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "declarator-id manquant; utilisation du mot réservé %qD" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "la définition de fonction ne déclare aucun paramètre" + +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "déclaration de %qD comme non fonction" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, gcc-internal-format + msgid "declaration of %qD as %" + msgstr "déclaration de %qD comme %" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, gcc-internal-format + msgid "declaration of %qD as parameter" + msgstr "déclaration de %qD comme paramètre" + +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, gcc-internal-format + msgid "both %qs and %qs specified" + msgstr "%qs et %qs spécifiés tous les deux" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, gcc-internal-format + msgid "%qs cannot appear in a typedef declaration" + msgstr "%qs ne peut pas apparaître dans une déclaration typedef" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "au plus un seul spécificateur % ou % peut être utilisé" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "au moins deux types de données dans la déclaration de %qs" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, gcc-internal-format + msgid "ISO C++ does not support plain % meaning %" + msgstr "le C++ ISO n'accepte pas qu'un simple % signifie %" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "le C++ ISO interdit la déclaration de %qs sans type" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, gcc-internal-format + msgid "%<__int%d%> is not supported by this target" + msgstr "%<__int%d%> n'est pas supporté par la cible" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, gcc-internal-format + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "le C++ ISO ne supporte pas %<__int%d%> pour %qs" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, gcc-internal-format + msgid "% and % specified together" + msgstr "% et % spécifiés ensemble" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, gcc-internal-format + msgid "% and % specified together" + msgstr "% et % spécifiés ensemble" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, gcc-internal-format + msgid "%qs specified with %qT" + msgstr "%qs spécifié avec %qT" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, gcc-internal-format + msgid "%qs specified with %qD" + msgstr "%qs spécifié avec %qD" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "%qs spécifié avec %" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "%qs spécifié avec %" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, gcc-internal-format + msgid "complex invalid for %qs" + msgstr "« complex » invalide pour %qs" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "liste d'arguments de patron manquante après %qE ; pour la déduction, le type à remplacer doit être suivi d'un simple declarator-id" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, gcc-internal-format + msgid "member %qD cannot be declared both % and %" + msgstr "le membre %qD ne peut pas être déclaré à la fois % et %" + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, gcc-internal-format + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "le membre %qD peut être déclaré à la fois % et % uniquement avec %<-std=c++20%> ou %<-std=gnu++20%>" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "la déclaration typedef est invalide dans la déclaration du paramètre" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, gcc-internal-format + msgid "storage class specified for template parameter %qs" + msgstr "classe de stockage spécifiée pour le paramètre %qs du patron" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "classe de stockage spécifiée pour le paramètre %qs" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, gcc-internal-format + msgid "a parameter cannot be declared %qs" + msgstr "un paramètre ne peut pas être déclaré %qs" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "% en dehors de la déclaration de classe" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, gcc-internal-format + msgid "structured binding declaration cannot be %qs" + msgstr "la déclaration d'une liaison structurée ne peut pas être %qs" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, gcc-internal-format + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "les déclarations de liaisons structurées peuvent être %qs uniquement en %<-std=c++20%> ou %<-std=gnu++20%>" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, gcc-internal-format + msgid "%-qualified structured binding is deprecated" + msgstr "la liaison structurée qualifiée avec % est dépréciée" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, gcc-internal-format + msgid "structured binding declaration cannot be C++98 %" + msgstr "une déclaration de liaison structurée ne peut pas avoir le % du C++98" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, gcc-internal-format + msgid "structured binding declaration cannot have type %qT" + msgstr "une déclaration de liaison structurée ne peut pas avoir le type %qT" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "le type doit être un % qualifié avec CV ou une référence à un % qualifié avec CV" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, gcc-internal-format + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "une déclaration de liaison structurée ne peut pas avoir la contrainte % de type %qT" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, gcc-internal-format + msgid "multiple storage classes in declaration of %qs" + msgstr "classes de stockage multiples dans la déclaration de %qs" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "classe de stockage spécifiée pour %qs" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "fonction imbriquée %qs déclarée %" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "la déclaration de %qs hors de toute fonction spécifie %" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "%qs dans le champ de la fonction est implicitement déclaré auto et déclaré %<__thread%>" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "spécificateurs de classe de stockage invalides dans les déclarations de fonctions amies" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, gcc-internal-format + msgid "attribute ignored" + msgstr "attribut ignoré" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "un attribut qui appartient à un spécificateur de type est ignoré" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, gcc-internal-format + msgid "unnecessary parentheses in declaration of %qs" + msgstr "parenthèses inutiles dans la déclaration de %qs" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, gcc-internal-format + msgid "remove parentheses" + msgstr "retirez les parenthèses" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, gcc-internal-format + msgid "requires-clause on return type" + msgstr "clause « requires » sur le type de retour" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "la fonction %qs utilise le spécificateur de type % sans type de retour à la fin" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, gcc-internal-format + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "le type de retour déduit est uniquement disponible avec %<-std=c++14%> ou %<-std=gnu++14%>" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, gcc-internal-format + msgid "virtual function cannot have deduced return type" + msgstr "une fonction virtuelle ne peut pas avoir un type de retour déduit" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "la fonction %qs avec un type de retour à la fin a %qT comme étant son type au lieu d'un simple %" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, gcc-internal-format + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "la fonction %qs avec un type de retour à la fin a % comme étant son type au lieu d'un simple %" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, gcc-internal-format + msgid "invalid use of %" + msgstr "utilisation invalide de %" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, gcc-internal-format + msgid "deduced class type %qD in function return type" + msgstr "type de classe %qD déduit dans le type de retour de la fonction" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, gcc-internal-format + msgid "deduction guide for %qT must have trailing return type" + msgstr "le guide de déduction pour %qT doit avoir un type de retour à la fin" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "le type de retour %qT à la fin du guide de déduction n'est pas une spécialisation de %qT" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, gcc-internal-format + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "le type de retour à la fin est uniquement disponible avec %<-std=c++11%> ou %<-std=gnu++11%>" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "la fonction %qs avec le type de retour à la fin n'est pas déclarée avec le spécificateur de type %" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, gcc-internal-format + msgid "a conversion function cannot have a trailing return type" + msgstr "une fonction de conversion ne peut pas avoir de type de retour à la fin" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, gcc-internal-format + msgid "%-qualified return type is deprecated" + msgstr "le type de retour qualifié avec % est déprécié" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, gcc-internal-format + msgid "%qs declared as function returning a function" + msgstr "%qs déclaré comme une fonction retournant une fonction" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "%qs déclaré comme une fonction retournant un tableau" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, gcc-internal-format + msgid "% on function return type is not allowed" + msgstr "le type de retour % pour une fonction n'est pas permis" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "le destructeur ne peut être une fonction membre statique" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "le constructeur ne peut être une fonction membre statique" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "les destructeurs ne peuvent pas être qualifiés avec CV" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "les constructeurs ne peuvent pas être qualifiés avec CV" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, gcc-internal-format + msgid "destructors may not be ref-qualified" + msgstr "les destructeurs ne peuvent pas être qualifiés comme des références" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, gcc-internal-format + msgid "constructors may not be ref-qualified" + msgstr "les constructeurs ne peuvent pas être qualifiés comme des références" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, gcc-internal-format + msgid "constructors cannot be declared %" + msgstr "les constructeurs ne peuvent pas être déclarés %" + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "les fonctions virtuelles ne peuvent pas être amies" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "la déclaration amie n'est pas dans la définition de la classe" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, gcc-internal-format + msgid "cannot define friend function %qs in a local class definition" + msgstr "ne peut définir la fonction amie %qs dans une définition de classe locale" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "la définition de la fonction amie %qs ne peut pas avoir son nom qualifié avec %<::%>" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "la définition de la fonction amie %qs ne pas avoir son nom qualifié avec %<%D::%>" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "destructeurs ne peuvent pas avoir de paramètre" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "ne peut déclarer un pointeur vers %q#T" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "ne peut déclarer une référence vers %q#T" + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "ne peut déclarer un pointeur vers le membre %q#T" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, gcc-internal-format + msgid "cannot declare reference to qualified function type %qT" + msgstr "ne peut déclarer une référence vers le type de fonction qualifié %qT" + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, gcc-internal-format + msgid "cannot declare pointer to qualified function type %qT" + msgstr "ne peut déclarer un pointeur vers le type de fonction qualifié %qT" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "ne peut déclarer une référence vers %q#T qui n'est pas un typedef ou un argument vers un type d'un patron" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "template-id %qD utilisé comme un déclarateur" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "les fonctions membres sont implicitement amies de leur classe" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "qualification %<%T::%> additionnelle sur le membre %qs" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, gcc-internal-format + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "ne peut définir la fonction membre %<%T::%s%> à l'intérieur de %qT" + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, gcc-internal-format + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "ne peut déclarer la fonction membre %<%T::%s%> à l'intérieur de %qT" + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "ne peut déclarer le membre %<%T::%s%> à l'intérieur de %qT" + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, gcc-internal-format + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "le non paramètre %qs ne peut pas être un paquet de paramètres" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "les membres de données ne peuvent pas avoir le type %qT modifié par une variable" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "le paramètre ne peut pas avoir le type %qT modifié par une variable" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "% en dehors de la déclaration de la classe" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, gcc-internal-format + msgid "% in friend declaration" + msgstr "% dans une déclaration amie" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, gcc-internal-format + msgid "only declarations of constructors and conversion operators can be %" + msgstr "seuls les déclarations de constructeurs et les opérateurs de conversion peuvent être %" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "le non membre %qs ne peut pas être déclaré %" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "le membre non objet %qs ne peut pas être déclaré %" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "la fonction %qs ne peut pas être déclarée %" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "% %qs ne peut pas être déclaré %" + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "% %qs ne peut pas être déclaré %" + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, gcc-internal-format + msgid "reference %qs cannot be declared %" + msgstr "la référence %qs ne peut pas être déclarée %" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, gcc-internal-format + msgid "typedef may not be a function definition" + msgstr "typedef ne peut pas être une définition de fonction" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, gcc-internal-format + msgid "typedef may not be a member function definition" + msgstr "typedef ne peut pas être une définition de fonction membre" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, gcc-internal-format + msgid "% not allowed in alias declaration" + msgstr "% n'est pas autorisé dans une déclaration de synonyme" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, gcc-internal-format + msgid "typedef declared %" + msgstr "typedef déclaré %" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "clause « requires » sur un typedef" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, gcc-internal-format + msgid "typedef name may not be a nested-name-specifier" + msgstr "le nom du typedef ne peut pas être un nom de spécificateur imbriqué" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "le C++ ISO interdit le type imbriqué %qD avec le même nom que la classe englobante" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "% spécifié pour la déclaration d'une classe amie" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "les paramètres du patron ne peuvent pas être amis" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "une déclaration amie requiert le mot-clé « class », c-à-d. %" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "une déclaration amie requiert le mot-clé « class », c-à-d %" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "tentative de rendre amie la classe %qT au niveau de la portée globale" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "qualificatifs invalides sur un type de fonction non membre" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "clause « requires » sur type-id" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "déclaration abstraite %qT utilisée comme déclaration" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, gcc-internal-format + msgid "requires-clause on declaration of non-function type %qT" + msgstr "clause « requires » dans la déclaration du type non fonction %qT" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "ne peut utiliser %<::%> dans la déclaration d'un paramètre" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, gcc-internal-format + msgid "cannot declare a parameter with %" + msgstr "ne peut déclarer un paramètre avec %" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "liste d'arguments de patron manquante après %qE ; type à remplacer pour le patron non permis dans le paramètre" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "ou utilisez % pour le patron de fonction abrégé" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, gcc-internal-format + msgid "% parameter not permitted in this context" + msgstr "le paramètre % n'est pas permis dans ce contexte" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, gcc-internal-format + msgid "parameter declared %" + msgstr "paramètre déclaré %" + +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "utilisation invalide du nom de patron %qE sans liste d'arguments" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, gcc-internal-format + msgid "non-static data member declared with placeholder %qT" + msgstr "membre de donnée non statique déclaré avec %qT comme type à remplacer" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, gcc-internal-format + msgid "ISO C++ forbids flexible array member %qs" + msgstr "le C++ ISO interdit le membre tableau flexible %qs" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, gcc-internal-format + msgid "ISO C++ forbids flexible array members" + msgstr "le C++ ISO interdit les tableaux flexibles comme membres" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, gcc-internal-format + msgid "invalid use of %<::%>" + msgstr "utilisation invalide de %<::%>" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, gcc-internal-format + msgid "declaration of function %qD in invalid context" + msgstr "déclaration de la fonction %qD dans un contexte invalide" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, gcc-internal-format + msgid "function %qD declared % inside a union" + msgstr "fonction %qD déclarée % à l'intérieur d'une union" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, gcc-internal-format + msgid "%qD cannot be declared %, since it is always static" + msgstr "%qD ne peut pas être déclaré % puisqu'il est toujours statique" + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "nom qualifié attendu dans la déclaration amie du destructeur %qD" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, gcc-internal-format + msgid "declaration of %qD as member of %qT" + msgstr "déclaration de %qD comme membre de %qT" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, gcc-internal-format + msgid "a destructor cannot be %qs" + msgstr "un destructeur ne peut pas être %qs" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "nom qualifié attendu dans la déclaration amie pour le constructeur %qD" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, gcc-internal-format + msgid "a constructor cannot be %" + msgstr "un constructeur ne peut pas être un %" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, gcc-internal-format + msgid "a concept cannot be a member function" + msgstr "un concept ne peut être une fonction membre" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, gcc-internal-format + msgid "%qD cannot be %qs" + msgstr "%qD ne peut pas être %qs" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, gcc-internal-format + msgid "specialization of variable template %qD declared as function" + msgstr "spécialisation du patron de variable %qD déclaré comme une fonction" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, gcc-internal-format + msgid "variable template declared here" + msgstr "le patron de variable a été déclaré ici" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, gcc-internal-format + msgid "field %qD has incomplete type %qT" + msgstr "le champ %qD a le type incomplet %qT" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "le nom %qT a un type incomplet" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "%qE n'est ni une fonction ni une fonction membre; il ne peut pas être déclaré ami" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, gcc-internal-format + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "le champ sans nom n'est ni une fonction ni une fonction membre; il ne peut pas être déclaré ami" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, gcc-internal-format + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "un attribut qui appartient à une déclaration amie qui n'est pas une définition est ignorée" + +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, gcc-internal-format + msgid "static data member %qE declared %qs" + msgstr "membre de donnée statique %qE déclaré %qs" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, gcc-internal-format + msgid "% static data member %qD must have an initializer" + msgstr "le membre statique % %qD doit avoir une initialisation" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, gcc-internal-format + msgid "non-static data member %qE declared %qs" + msgstr "le membre de donnée non statique %qE est déclaré %qs" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "la classe de stockage % est invalide pour la fonction %qs" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "la classe de stockage % est invalide pour la fonction %qs" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "la classe de stockage %<__thread%> est invalide pour la fonction %qs" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "la classe de stockage % est invalide pour la fonction %qs" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, gcc-internal-format + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "le spécificateur de type « virt-specifier » sur %qs n'est pas permis en dehors d'une définition de classe" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "le spécificateur % est invalide pour la fonction %qs déclarée en dehors de la portée globale" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "le spécificateur % est invalide pour la fonction %qs déclarée en dehors de la portée globale" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "fonction non classe virtuelle %qs" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "%qs défini en dehors d'un contexte de classe" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, gcc-internal-format + msgid "%qs declared in a non-class scope" + msgstr "%qs déclaré en dehors d'un contexte de classe" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "ne peut déclarer la fonction membre %qD comme ayant une classe de liaison statique" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "ne peut déclarer une fonction statique à l'intérieur d'une autre fonction" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "% ne peut pas être utilisé lors de la définition (contrairement à la déclaration) d'un membre de donnée statique" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "membre statique %qD déclaré %" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "ne peut explicitement déclarer le membre %q#D comme ayant une classe de liaison externe" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, gcc-internal-format + msgid "declaration of % variable %qD is not a definition" + msgstr "la déclaration de la variable % %qD n'est pas une définition" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, gcc-internal-format + msgid "a variable cannot be declared %" + msgstr "une variable ne peut pas être déclarée %" + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "%qs initialisé et déclaré %" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "%qs a, à la fois, % et une initialisation" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, gcc-internal-format + msgid "default argument %qE uses %qD" + msgstr "l'argument par défaut %qE utilise %qD" + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "l'argument par défaut %qE utilise la variable locale %qD" + +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, gcc-internal-format + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "utilisation invalide du type %qT qualifié CV dans la déclaration du paramètre" + +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, gcc-internal-format + msgid "invalid use of type % in parameter declaration" + msgstr "utilisation invalide du type % dans la déclaration du paramètre" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, gcc-internal-format + msgid "%-qualified parameter is deprecated" + msgstr "le paramètre qualifié avec % est obsolète" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "le paramètre %qD est incorrectement déclaré comme type de méthode" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "le paramètre %qD inclut un pointeur vers un tableau %qT dont les bornes sont inconnues" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "le paramètre %qD inclut une référence vers un tableau %qT dont les bornes sont inconnues" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "constructeur invalide; vous vouliez probablement utiliser %<%T (const %T&)%>" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "%qD ne peut pas être déclaré dans un espace de noms" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "%qD ne peut pas être déclaré statique" + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, gcc-internal-format + msgid "%qD must be a non-static member function" + msgstr "%qD doit être une fonction membre non statique" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, gcc-internal-format + msgid "%qD must be a member function" + msgstr "%qD doit être une fonction membre" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, gcc-internal-format + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "%qD peut être une fonction membre statique uniquement avec %<-std=c++23%> ou %<-std=gnu++23%>" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "%qD doit être soit une fonction membre non statique ou une fonction non membre" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "%qD doit avoir un argument de type classe ou énuméré" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, gcc-internal-format + msgid "ISO C++ prohibits overloading %" + msgstr "le C++ ISO interdit la surcharge de %" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "%qD ne doit pas avoir un nombre variables d'arguments" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, gcc-internal-format + msgid "%qD must have either zero or one argument" + msgstr "%qD doit avoir zéro ou un argument" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, gcc-internal-format + msgid "%qD must have either one or two arguments" + msgstr "%qD doit avoir un ou deux arguments" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, gcc-internal-format + msgid "postfix %qD must have % as its argument" + msgstr "%qD suffixé doit avoir % comme argument" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, gcc-internal-format + msgid "postfix %qD must have % as its second argument" + msgstr "%qD suffixé doit avoir % comme second argument" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, gcc-internal-format + msgid "%qD must have no arguments" + msgstr "%qD ne doit avoir aucun argument" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, gcc-internal-format + msgid "%qD must have exactly one argument" + msgstr "%qD doit avoir exactement un argument" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, gcc-internal-format + msgid "%qD must have exactly two arguments" + msgstr "%qD doit avoir exactement deux arguments" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "%qD ne peut avoir d'arguments par défaut" + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, gcc-internal-format + msgid "converting %qT to % will never use a type conversion operator" + msgstr "la conversion de %qT vers % n'utilisera jamais un opérateur de conversion de type" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, gcc-internal-format + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "la conversion de %qT en une référence vers le même type n'utilisera jamais un opérateur de conversion de type" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, gcc-internal-format + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "la conversion de %qT vers le même type n'utilisera jamais un opérateur de conversion de type" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, gcc-internal-format + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "la conversion de %qT en une référence vers une classe de base %qT n'utilisera jamais un opérateur de conversion de type" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, gcc-internal-format + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "la conversion de %qT vers une classe de base %qT n'utilisera jamais un opérateur de conversion de type" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "%qD défini par l'usager évalue toujours les 2 arguments" + +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "%qD préfixé devrait retourner %qT" + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "%qD suffixé devrait retourner %qT" + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "%qD devrait retourner par valeur" + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "utilisation du paramètre du type de patron %qT après %qs" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "utilisation de la spécialisation du patron d'alias %qT après %qs" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "utilisation du nom de typedef %qD après %qs" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, gcc-internal-format + msgid "%qD has a previous declaration here" + msgstr "%qD a une déclaration précédente ici" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "%qT référé en tant que %qs" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, gcc-internal-format + msgid "%qT has a previous declaration here" + msgstr "%qT a une déclaration précédente ici" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "il est fait référence à %qT comme un enum" +@@ -55001,110 +54991,110 @@ msgstr "il est fait référence à %qT comme un enum" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "argument du patron requis pour %<%s %T%>" + +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "la référence à %qD est ambiguë" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, gcc-internal-format + msgid "class template %qD redeclared as non-template" + msgstr "le patron de classe %qD est redéclaré comme un non patron" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "%qD a le même nom que la classe dans laquelle il est déclaré" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, gcc-internal-format + msgid "%qT is not a template" + msgstr "%qT n'est pas un patron" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "vous voulez peut-être ajouter %<%T::%> explicitement" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "utilisation de l'enum %q#D sans déclaration précédente" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "redéclaration de %qT sous une forme qui n'est pas un patron" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, gcc-internal-format + msgid "cannot declare %qD in a different module" + msgstr "ne peut déclarer %qD dans un module différent" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "l'union dérivée %qT est invalide" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "%qT est défini avec des bases directes multiples" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, gcc-internal-format + msgid "%qT defined with direct virtual base" + msgstr "%qT est défini avec des bases virtuelles directes" + +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "le type de base %qT n'est pas un « struct » ou une « class »" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "type récursif %qT non défini" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "le type de base dupliqué %qT est invalide" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "non concordance entre un enum simple et un enum fortement typé pour %q#T" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, gcc-internal-format + msgid "previous definition here" + msgstr "définition précédente ici" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "désaccord dans le type sous-jacent de l'enum %q#T" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "types sous-jacents différents dans l'enum %q#T" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, gcc-internal-format + msgid "cannot define %qD in different module" + msgstr "impossible de définir %qD dans un module différent" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, gcc-internal-format + msgid "underlying type %qT of %qT must be an integral type" + msgstr "le type sous-jacent %qT de %qT doit être un type entier" +@@ -55113,83 +55103,83 @@ msgstr "le type sous-jacent %qT de %qT doit être un type entier" + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "aucun type entier ne peut représenter toutes les valeurs de l'énumération pour %qT" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, gcc-internal-format + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "les valeurs énumérées de %qD doivent être de type entier ou une énumération simple (donc, pas fortement typée)" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "la valeur de l'énumération pour %qD n'est pas une constante entière" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "la valeur incrémentée de l'énumération est trop grande pour %" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "la valeur incrémentée de l'énumération est trop grande pour %" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "débordement dans les valeurs de l'énumération à %qD" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, gcc-internal-format + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "la valeur de l'énumération %qE est en dehors de la plage du type sous-jacent %qT" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "définition multiple de %q#T" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "le type retourné %q#T est incomplet" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "% devrait retourner une référence à %<*this%>" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, gcc-internal-format + msgid "no return statements in function returning %qT" + msgstr "« return » manquant dans une fonction retournant %qT" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, gcc-internal-format + msgid "only plain % return type can be deduced to %" + msgstr "seul un type de retour % évident peut être déduit en %" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, gcc-internal-format + msgid "no return statement in % function returning non-void" + msgstr "« return » manquant dans une fonction % devant retourner une valeur" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "%qD est déjà défini dans la classe %qT" + + # le %qs est un nom de région non traduit tel que « parallel », « task », « teams ». +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, gcc-internal-format + msgid "using %qs" + msgstr "en utilisant %qs" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "utilisation de %qD avant la déduction de %" +@@ -56038,7 +56028,7 @@ msgstr "le type %qT n'est pas une base directe ou virtuelle de %qT" + msgid "type %qT is not a direct base of %qT" + msgstr "le type %qT n'est pas une base directe de %qT" + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "le tableau doit être initialisé avec une initialisation entre accolades" +@@ -57092,7 +57082,7 @@ msgstr "déclaration « using » pour un non membre au niveau de la portée de + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "% avec la portée énumérée %q#T uniquement disponible avec %<-std=c++20%> ou %<-std=gnu++20%>" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, gcc-internal-format + msgid "%qT is not a class, namespace, or enumeration" + msgstr "%qT n'est pas une classe, un espace de noms ou une énumération" +@@ -57838,7 +57828,7 @@ msgstr "les types ne peuvent pas être définis dans une expression %" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "mauvais nombre d'arguments pour %<__builtin_addressof%>" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_launder%>" + msgstr "mauvais nombre d'arguments pour %<__builtin_launder%>" +@@ -58547,12 +58537,12 @@ msgstr "seuls les constructeurs prennent des initialisions membres" + msgid "cannot expand initializer for member %qD" + msgstr "impossible de développer l'initialisation du membre %qD" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "l'initialisation en mémoire pour %qD suit la délégation du constructeur" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "la délégation du constructeur suit l'initialisation en mémoire pour %qD" +@@ -59151,7 +59141,7 @@ msgstr "arguments de patron manquants après %qE" + msgid "%qT not permitted in template argument" + msgstr "%qT pas permis dans un argument de patron" + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, gcc-internal-format + msgid "invalid use of %qT" +@@ -60012,7 +60002,7 @@ msgstr "%<[[omp::directive(%s)]]%> doit être le seul attribut spécifié dans u + msgid "% clause with parameter on range-based % loop" + msgstr "clause % avec un paramètre sur une boucle % basée sur une portée" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, gcc-internal-format + msgid "iteration variable %qD should not be reduction" + msgstr "la variable d'itération %qD ne devrait pas être une réduction" +@@ -61019,7 +61009,7 @@ msgstr "type non patron %qT utilisé comme un patron" + msgid "for template declaration %q+D" + msgstr "pour la déclaration du patron %q+D" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, gcc-internal-format + msgid "template constraint failure for %qD" + msgstr "échec de la contrainte du patron pour %qD" +@@ -61112,276 +61102,276 @@ msgstr "fonction retournant un tableau" + msgid "function returning a function" + msgstr "fonction retournant une fonction" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, gcc-internal-format + msgid "forming reference to void" + msgstr "formation d'une référence vers void" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, gcc-internal-format + msgid "forming pointer to reference type %qT" + msgstr "formation d'un pointeur vers le type de référence %qT" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, gcc-internal-format + msgid "forming reference to reference type %qT" + msgstr "formation d'une référence vers le type de référence %qT" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, gcc-internal-format + msgid "forming pointer to qualified function type %qT" + msgstr "formation d'un pointeur vers le type de fonction qualifié %qT" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, gcc-internal-format + msgid "forming reference to qualified function type %qT" + msgstr "formation d'une référence vers le type de fonction qualifié %qT" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr "création d'un pointeur vers le membre d'un type non classe %qT" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr "création d'un pointeur vers le type de référence au membre %qT" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr "création d'un pointeur vers le membre de type void" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, gcc-internal-format + msgid "creating array of %qT" + msgstr "création d'un tableau de %qT" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "%qD est instancié pour un paquet vide" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "%qT n'est pas un type class, struct ou union" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "%qT est résolu en %qT qui n'est pas un type d'énumération" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not a class type" + msgstr "%qT est résolu en %qT qui n'est pas un type de classe" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, gcc-internal-format + msgid "use of %qs in template" + msgstr "utilisation de %qs dans le patron" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, gcc-internal-format + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "le type qualifié %qT ne correspond pas au nom du destructeur ~%qT" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "le nom dépendant %qE est analysé comme un non type, mais son instanciation produit un type" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "utilisez % si un type est désiré" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, gcc-internal-format + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "l'initialiseur pour %q#D est développé en une liste vide d'expressions" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, gcc-internal-format + msgid "using invalid field %qD" + msgstr "utilisation du champ %qD invalide" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, gcc-internal-format + msgid "invalid use of pack expansion expression" + msgstr "utilisation invalide de l'expression d'expansion d'un paquet" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, gcc-internal-format + msgid "use %<...%> to expand argument pack" + msgstr "utilisez %<...%> pour dérouler le paquet d'arguments" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, gcc-internal-format + msgid "empty initializer in lambda init-capture" + msgstr "initialisation vide dans l'initialisation par capture de la fonction lambda" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "%qD n'a pas été déclaré dans cette portée et aucune déclaration a été trouvée par le recherche dépendant des arguments au point d'instanciation" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "les déclarations dans la base dépendante %qT ne sont pas trouvées par une recherche non qualifiée" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "utilisez plutôt %%D%>" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, gcc-internal-format + msgid "use %<%T::%D%> instead" + msgstr "utilisez plutôt %<%T::%D%>" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, gcc-internal-format + msgid "%qD declared here, later in the translation unit" + msgstr "%qD déclaré ici, plus loin dans l'unité de traduction" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "mauvais nombre d'arguments pour %<__builtin_convertvector%>" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, gcc-internal-format + msgid "wrong number of arguments to % attribute" + msgstr "nombre erroné d'arguments pour l'attribut %" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "%qT n'est pas une classe ou un espace de noms" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "%qD n'est pas une classe ou un espace de noms" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, gcc-internal-format + msgid "%qT is/uses unnamed type" + msgstr "%qT est/utilise un type anonyme" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, gcc-internal-format + msgid "template argument for %qD uses local type %qT" + msgstr "l'argument du patron pour %qD utilise le type local %qT" + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "%qT est un type modifié par une variable" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "l'expression intégrale %qE n'est pas une constante" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr " tentative d'instancier %qD" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, gcc-internal-format + msgid "ambiguous template instantiation for %q#T" + msgstr "instanciation de patron ambiguë pour %q#T" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, gcc-internal-format + msgid "ambiguous template instantiation for %q#D" + msgstr "instanciation de patron ambiguë pour %q#D" + +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + msgid "%s %#qS" + msgstr "%s %#qS" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "instanciation explicite du non patron %q#D" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, gcc-internal-format + msgid "explicit instantiation of variable concept %q#D" + msgstr "instanciation explicite du concept de variable %q#D" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, gcc-internal-format + msgid "explicit instantiation of function concept %q#D" + msgstr "instanciation explicite du concept de fonction %q#D" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, gcc-internal-format + msgid "%qD is not a static data member of a class template" + msgstr "%qD n'est pas un membre de données statique d'un patron de classe" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "aucun patron correspondant trouvé pour %qD" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, gcc-internal-format + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "le type %qT pour l'instanciation explicite %qD ne correspond pas au type déclaré %qT" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "instanciation explicite de %q#D" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "instanciation explicite dupliquée pour %q#D" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, gcc-internal-format + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "le C++ ISO 1998 interdit l'utilisation de % sur des instanciations explicites" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "classe de stockage %qD appliquée à l'instanciation du patron" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, gcc-internal-format + msgid "explicit instantiation of non-class template %qD" + msgstr "instanciation explicite du patron non classe %qD" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "instanciation explicite du type non patron %qT" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "instanciation explicite de %q#T avant la définition de patron" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "le C++ ISO interdit l'utilisation de %qE sur des instanciations explicites" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "instanciation explicite dupliquée de %q#T" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, gcc-internal-format + msgid "exception specification of %qD depends on itself" + msgstr "la spécification d'exception %qD dépend d'elle-même" +@@ -61393,163 +61383,163 @@ msgstr "la spécification d'exception %qD dépend d'elle-même" + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "instanciation explicite de %qD mais pas de définition disponible" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, gcc-internal-format + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "la profondeur d'instanciation du patron excède le maximum de %d lors de l'instanciation de %q+D, peut-être via la génération de la table virtuelle (utilisez %<-ftemplate-depth=%> pour augmenter le maximum)" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, gcc-internal-format + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "les paramètres de patrons non typés du type classe déduit sont uniquement disponibles avec %<-std=c++20%> ou %<-std=gnu++20%>" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, gcc-internal-format + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "%qT n'est pas un type valide pour un paramètre non type du patron car il n'est pas structurel" + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, gcc-internal-format + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "les paramètres de patrons non typés du type classe sont uniquement disponibles avec %<-std=c++20%> ou %<-std=gnu++20%>" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, gcc-internal-format + msgid "invalid template non-type parameter" + msgstr "le paramètre non type du patron est invalide" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, gcc-internal-format + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "%q#T n'est pas un type valide pour un paramètre non type du patron" + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, gcc-internal-format + msgid "keyword % not allowed in declarator-id" + msgstr "le mot-clé % n'est pas permis dans declarator-id" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, gcc-internal-format + msgid "a concept cannot be constrained" + msgstr "un concept ne peut être contraint" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, gcc-internal-format + msgid "concept %qE not in namespace scope" + msgstr "le concept %qE n'est pas dans la portée de l'espace de noms" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, gcc-internal-format + msgid "concept %qE has multiple template parameter lists" + msgstr "le concept %qE a plusieurs listes de paramètres de patrons" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, gcc-internal-format + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "la déduction à partir d'une liste d'initialisation entre accolades requiert %<#include %>" + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, gcc-internal-format + msgid "non-deducible template %qT used without template arguments" + msgstr "le patron %qT ne peut être déduit et il est utilisé sans arguments de patron" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, gcc-internal-format + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "la déduction du patron synonyme est uniquement disponible avec %<-std=c++20%> ou %<-std=gnu++20%>" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, gcc-internal-format + msgid "use %qD directly instead" + msgstr "utilisez directement %qD à la place" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "impossible de déduire les arguments du patron pour l'initialisation par copie de %qT car il n'a pas de guides de déduction non explicites ou de constructeur déclaré par l'utilisateur" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, gcc-internal-format + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "impossible de déduire les arguments du patron de %qT car il n'a pas de guides de déduction viables" + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, gcc-internal-format + msgid "class template argument deduction failed:" + msgstr "la déduction des arguments du patron de classe a échoué:" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, gcc-internal-format + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "les guides de déduction explicites ne sont pas pris en compte pour l'initialisation par copie" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, gcc-internal-format + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr "la déduction de l'argument du patron de classe pour %qT a échoué : guide de déduction explicite sélectionné dans l'initialisation par copie de liste" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, gcc-internal-format + msgid "explicit deduction guide declared here" + msgstr "guide de déduction explicite déclaré ici" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, gcc-internal-format + msgid "%qT may not intend to support class template argument deduction" + msgstr "%qT peut ne pas avoir l'intention de supporter la déduction d'argument pour un patron de classe" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "ajoutez un guide de déduction pour supprimer cet avertissement" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "l'initialisation par liste directe de % requiert exactement un élément" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "pour la déduction de %, utilisez l'initialisation par liste copiée (c-à-d ajoutez %<=%> avant le %<{%>)" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, gcc-internal-format + msgid "unable to deduce lambda return type from %qE" + msgstr "impossible de déduire le type de retour de la lambda à partir de %qE" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, gcc-internal-format + msgid "unable to deduce %qT from %qE" + msgstr "impossible de déduire %qT à partir de %qE" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "les contraintes sur le type à remplacer ne sont pas satisfaites" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, gcc-internal-format + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "l'initialisation déduite ne satisfait pas les contraintes du type à remplacer" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, gcc-internal-format + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "le type retourné déduit ne satisfait pas les contraintes du type à remplacer" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, gcc-internal-format + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "le type déduit pour l'expression ne satisfait pas les contraintes du type à remplacer" + +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, gcc-internal-format + msgid "invalid use of %qT in template argument" + msgstr "utilisation invalide de %qT dans un argument de patron" +@@ -61860,7 +61850,7 @@ msgstr "spécification de classe de base invalide" + msgid "cannot capture member %qD of anonymous union" + msgstr "impossible de capturer le membre %qD d'une union anonyme" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, gcc-internal-format + msgid "%qD is not captured" + msgstr "%qD n'est pas capturé" +@@ -62269,27 +62259,27 @@ msgstr "%<__builtin_is_corresponding_member%> a besoin de deux arguments" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "l'argument de %<__builtin_is_corresponding_member%> n'est pas un pointeur vers un membre" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, gcc-internal-format + msgid "%qD is not a class or alias template" + msgstr "%qD n'est pas un patron de classe ou un alias" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, gcc-internal-format + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "l'opérande de l'expression fold n'a aucun paquet de paramètres non déroulé" + +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, gcc-internal-format + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "les deux arguments dans le fold binaire ont des paquets de paramètres non déroulés" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "aucun paquet de paramètres non déroulés dans le fold binaire" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, gcc-internal-format + msgid "non-pointer argument to %<__builtin_launder%>" + msgstr "l'argument de %<__builtin_launder%> n'est pas un pointeur" +@@ -62297,22 +62287,22 @@ msgstr "l'argument de %<__builtin_launder%> n'est pas un pointeur" + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "%<__builtin_bit_cast%> a le type de destination %qT qui est un type tableau" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "%<__builtin_bit_cast%> a le type de destination %qT qui n'est pas trivialement copiable" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "%<__builtin_bit_cast%> a le type source %qT qui n'est pas trivialement copiable" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "%<__builtin_bit_cast%> a la taille source %qE qui n'est pas égale à la taille du type destination %qE" +@@ -63544,220 +63534,220 @@ msgstr "déclaration anticipée de %q#T" + msgid "declaration of %q#T" + msgstr "déclaration de %q#T" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, gcc-internal-format + msgid "%qD has incomplete type" + msgstr "%qD a un type incomplet" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, gcc-internal-format + msgid "invalid use of incomplete type %q#T" + msgstr "utilisation invalide du type incomplet %q#T" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, gcc-internal-format + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "utilisation invalide de la fonction membre %qD (avez-vous oublié le %<()%> ?)" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, gcc-internal-format + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "utilisation invalide du membre %qD (avez-vous oublié le %<&%> ?)" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, gcc-internal-format + msgid "invalid use of placeholder %qT" + msgstr "utilisation invalide du type à remplacer %qT" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, gcc-internal-format + msgid "invalid use of template type parameter %qT" + msgstr "utilisation invalide du paramètre de patron %qT qui est un type" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, gcc-internal-format + msgid "invalid use of template template parameter %qT" + msgstr "utilisation invalide du paramètre de patron %qT qui est un patron" + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, gcc-internal-format + msgid "invalid use of pack expansion %qT" + msgstr "utilisation invalide de l'expansion d'un paquet %qT" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, gcc-internal-format + msgid "invalid use of dependent type %qT" + msgstr "utilisation invalide du type dépendant %qT" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, gcc-internal-format + msgid "invalid use of brace-enclosed initializer list" + msgstr "utilisation invalide de la liste d'initialisation entre accolades" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "adresse de la fonction surchargée sans information contextuelle de type" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "fonction surchargée sans information contextuelle de type" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "information contextuelle insuffisante pour déterminer le type" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "syntaxe de constructeur utilisée mais aucun constructeur déclaré pour le type %qT" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, gcc-internal-format + msgid "% variable %qD does not have a constant initializer" + msgstr "la variable % %qD n'a pas une initialisation constante" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "la conversion réductrice de %qE depuis %qH vers %qI est mal formée en C++11" + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "conversion réductrice de %qE depuis %qH vers %qI" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, gcc-internal-format + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr "l'expression a une valeur constante mais elle n'est pas une expression constante du C++" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, gcc-internal-format + msgid "initializer-string for %qT is too long" + msgstr "la chaîne d'initialisation pour %qT est trop longue" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "l'initialisation d'une classe de base du type %qT résulte en un découpage d'objet" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, gcc-internal-format + msgid "remove %<{ }%> around initializer" + msgstr "enlever %<{ }%> autour d'un initialiseur" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "impossible d'initialiser l'agrégat du type %qT avec un littéral composé" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "initialisation manquante pour le membre %qD" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "le membre %qD est une référence non initialisée" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, gcc-internal-format + msgid "member %qD with uninitialized reference fields" + msgstr "membre %qD avec des champs de référence non initialisés" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, gcc-internal-format + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "l'ordre du désignateur pour le champ %qD ne correspond pas à l'ordre de la déclaration dans %qT" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "pas de champ %qD trouvé dans l'union initialisée" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "valeur d'index au lieu d'un nom de champ dans l'initialisation de l'union" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "délégation de pointeur circulaire détectée" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, gcc-internal-format + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "l'opérande de base de %<->%> a un type non pointeur %qT" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr "le résultat de %()%> est un non pointeur" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "l'opérande de base de %<->%> n'est pas un pointeur" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "%qE ne peut pas être utilisé comme pointeur de membre puisqu'il est de type %qT" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, gcc-internal-format + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "ne peut appliquer le pointeur membre %qE à %qE lequel est d'un type non classe %qT" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "le pointeur vers le type membre %qT est incompatible avec le type d'objet %qT" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "le type pointeur vers une fonction membre %qT requiert une r-valeur" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "le type pointeur vers une fonction membre %qT requiert une l-valeur" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "le type pointeur vers une fonction membre %qT requiert une l-valeur avant C++20" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, gcc-internal-format + msgid "functional cast to array type %qT" + msgstr "transtypage fonctionnel vers le type tableau %qT" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, gcc-internal-format + msgid "% cannot be constrained" + msgstr "% ne peut être contraint" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, gcc-internal-format + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "% est uniquement disponible avec %<-std=c++2b%> ou %<-std=gnu++2b%>" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, gcc-internal-format + msgid "invalid value-initialization of reference type" + msgstr "l'initialisation par valeur du type référence est invalide" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "appel à la fonction %qD qui génère une exception du type incomplet %q#T" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "appel à une fonction qui génère une exception du type incomplet %q#T" +@@ -64693,7 +64683,7 @@ msgstr "La constante littérale BOZ à %L ne peut pas être un argument effectif + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "Les arguments de %qs à %L et %L ne peuvent pas être tous les deux des constantes littérales BOZ" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid use of BOZ literal constant at %L" + msgstr "Utilisation invalide de la constant littérale BOZ à %L" +@@ -65786,12 +65776,12 @@ msgstr "Chaîne d'initialisation inutilisée à %L car la variable a une longueu + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "La chaine d'initialisation à %L a été tronquée pour tenir dans la variable (%ld/%ld)" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "L'index de départ de la sous-chaîne à %L est plus petit que un" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "L'index de fin de la sous-chaîne à %L excède la longueur de la chaîne" +@@ -65972,7 +65962,7 @@ msgstr "Mauvaise spécification INTENT à %C" + msgid "deferred type parameter at %C" + msgstr "paramètre de type différé à %C" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "Expression INTEGER scalaire attendue à %L" +@@ -67983,7 +67973,7 @@ msgstr "L'intrinsèque transformationnel %qs à %L n'est pas permis dans une exp + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "Évaluation d'une expression d'initialisation non standard à %L" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, gcc-internal-format + msgid "Function %qs in initialization expression at %L must be an intrinsic function" + msgstr "La fonction %qs dans l'expression d'initialisation à %L doit être une fonction intrinsèque" +@@ -68254,7 +68244,7 @@ msgstr "Désaccord d'interface dans l'affectation du pointeur de procédure à % + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "Interface explicite requise pour le composant %qs à %L: %s" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, gcc-internal-format + msgid "Explicit interface required for %qs at %L: %s" + msgstr "Interface explicite requise pour %qs à %L: %s" +@@ -68372,7 +68362,7 @@ msgstr "Affectation à un pointeur contigu depuis une cible non contigüe à %L" + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "Le pointeur à %L dans l'affectation de pointeur pourrait vivre plus longtemps que la cible pointée" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must not be ALLOCATABLE" + msgstr "La cible de l'initialisation de pointeur à %L ne doit pas être ALLOCATABLE" +@@ -68382,7 +68372,7 @@ msgstr "La cible de l'initialisation de pointeur à %L ne doit pas être ALLOCAT + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "La cible de l'initialisation du pointeur à %L ne doit pas avoir l'attribut TARGET" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must have the SAVE attribute" + msgstr "La cible de l'initialisation du pointeur à %L doit avoir l'attribut SAVE" +@@ -68513,7 +68503,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "Identifiant illégal dans copy_walk_reduction_arg" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, gcc-internal-format, gfc-internal-format + msgid "Creating array temporary at %L" +@@ -68729,12 +68719,12 @@ msgstr "Le premier argument de l'affectation définie à %L doit être INTENT(OU + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "Le deuxième argument de l'affection définie à %L doit être INTENT(IN)" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "Le premier argument de l'interface de l'opérateur à %L doit être INTENT(IN)" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "Le deuxième argument de l'interface de l'opérateur à %L doit être INTENT(IN)" +@@ -68844,562 +68834,562 @@ msgstr "Rang non concordant entre l'argument effectif à %L et l'argument effect + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "Rang non concordant entre l'argument effectif à %L et l'argument effectif à %L (rang %d et rang %d)" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid procedure argument at %L" + msgstr "Argument de procédure invalide à %L" + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, gcc-internal-format + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "Interface non concordante dans la procédure muette %qs à %L: %s" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, gcc-internal-format + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "L'argument effectif au pointeur contigus du muet %qs à %L doit être simplement contigu" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, gcc-internal-format, gfc-internal-format + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "Désaccord de type entre l'argument effectif à %L et l'argument effectif à %L (%s/%s)." + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, gcc-internal-format + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr "Type non concordant dans l'argument %qs à %L; passé %s à %s" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "L'argument effectif du type tacite à %L requiert que l'argument muet %qs soit d'un type tacite" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "L'argument effectif du type tacite à %L correspondant à l'argument muet de rang tacite %qs doit être d'une forme tacite ou de rang tacite" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "L'argument effectif de %qs à %L doit être polymorphique" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "L'argument effectif de %qs à %L doit avoir le même type déclaré" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "L'argument effectif de %qs à %L doit être polymorphique illimité puisque l'argument de format est un pointeur ou une entité polymorphique illimité allouable [F2008: 12.5.2.5]" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "L'argument effectif de %qs à %L doit être un co-tableau" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, gcc-internal-format + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "Co-rang non concordant dans l'argument %qs à %L (%d et %d)" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "L'argument effectif de %qs à %L doit être simplement contigu ou un élément vers un tel tableau" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "Argument effectif vers le muet %qs non INTENT(INOUT) à %L qui est LOCK_TYPE ou a un composant LOCK_TYPE" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "Argument effectif vers le muet %qs non INTENT(INOUT) à %L qui est EVENT_TYPE ou a un composant EVENT_TYPE" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, gcc-internal-format + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "L'argument muet %qs doit être un pointeur, un tableau de forme tacite ou de rang tacite sans attribut CONTIGUOUS – car l'argument effectif à %L n'est pas simplement contigu et les deux sont ASYNCHRONOUS ou VOLATILE" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "Passage d'un co-tableau à %L pour l'argument %qs allouable, non co-tableau, muet INTENT(OUT)" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "Passage d'un co-tableau à %L pour l'argument %qs allouable, non co-tableau et muet qui est invalide si le statut d'allocation est modifié" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, gcc-internal-format + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "Scalaire polymorphique passé à l'argument tableau muet %qs à %L" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, gcc-internal-format, gfc-internal-format + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "Un élément d'un tableau de forme tacite ou pointeur comme argument effectif à %L ne peut pas correspondre à l'argument effectif à %L" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, gcc-internal-format + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "Un élément d'un tableau de forme tacite ou pointeur est passé à l'argument tableau muet %qs à %L" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, gcc-internal-format + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "Extension: Argument effectif scalaire du sous-type pas par défaut, du sous-type non C_CHAR avec un argument muet tableau %qs à %L" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, gcc-internal-format + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "Fortran 2003: Argument effectif scalaire CHARACTER avec un argument muet tableau %qs à %L" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "L'argument mot-clé %qs à %L est invalide dans une fonction instruction" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "L'argument mot-clé %qs à %L n'est pas dans une procédure, vouliez-vous employer %qs ?" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "L'argument mot-clé %qs à %L n'est pas dans une procédure" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "L'argument mot-clé %qs à %L est déjà associé à un autre argument effectif" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "Plus d'arguments effectifs que d'arguments formels dans l'appel de la procédure à %L" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "Spécificateur de retour alternatif manquant dans l'appel de la sous-routine à %L" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, gcc-internal-format, gfc-internal-format + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "Spécificateur de retour alternatif inattendu dans l'appel de la sous-routine à %L" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, gcc-internal-format + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "NULL() intrinsèque inattendu à %L pour le muet %qs" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, gcc-internal-format + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "Fortran 2008: Pointeur null à %L pour un muet non pointeur %qs" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, gcc-internal-format, gfc-internal-format + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "L'argument effectif à %L pour le muet de type tacite a des paramètres de type ou est de type dérivé avec une liaison à un type ou des procédures FINAL" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "Désaccord dans la longueur de CHARACTER (%ld/%ld) entre l'argument effectif et l'argument muet pointeur ou allouable %qs à %L" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "Désaccord dans la longueur de CHARACTER (%ld/%ld) entre l'argument effectif et l'argument muet de forme tacite %qs à %L" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, gcc-internal-format + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "L'argument effectif à %L pour l'argument muet allouable ou pointeur %qs doit avoir un paramètre de type différé si et uniquement si le muet en a un" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, gcc-internal-format + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "La longueur de CHARACTER de l'argument effectif est plus court que celui de l'argument muet %qs (%lu/%lu) à %L" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, gcc-internal-format + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "L'argument effectif contient trop peu d'éléments pour l'argument muet %qs (%lu/%lu) à %L" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, gcc-internal-format + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "Pointeur de procédure attendu pour l'argument %qs à %L" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, gcc-internal-format + msgid "Expected a procedure for argument %qs at %L" + msgstr "Procédure attendue pour l'argument %qs à %L" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, gcc-internal-format + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "L'argument effectif pour %qs ne peut pas être un tableau de taille tacite à %L" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, gcc-internal-format + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "Argument effectif vers le muet de rang tacite INTENT(OUT) %qs à %L ne peut pas être de taille inconnue" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "L'argument effectif pour %qs à %L doit être un pointeur" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, gcc-internal-format + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "Fortran 2008: Argument effectif non pointeur à %L vers le muet pointeur %qs" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "L'argument effectif pour %qs à %L doit être un pointeur ou une cible valide pour le pointeur muet dans l'instruction d'affectation d'un pointeur" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "Argument effectif co-indexé à %L vers le muet pointeur %qs" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "L'argument effectif co-indexé à %L vers le muet allouable %qs requiert INTENT(IN)" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, gcc-internal-format + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "L'argument effectif co-indexé ASYNCHRONOUS ou VOLATILE à %L requiert que le muet %qs n'ait ni ASYNCHRONOUS ni VOLATILE" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, gcc-internal-format + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "L'argument effectif co-indexé à %L avec un composant ultimement allouable pour le muet %qs requiert soit VALUE ou INTENT(IN)" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, gcc-internal-format + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "L'argument effectif qui est un tableau de CLASS pour %qs doit être un tableau complet à %L" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, gcc-internal-format + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "L'argument effectif pour %qs doit être ALLOCATABLE à %L" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, gcc-internal-format + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "L'argument effectif qui est une section de tableau avec des indices de vecteur à %L est incompatible avec l'attribut INTENT(OUT), INTENT(INOUT), VOLATILE ou ASYNCHRONOUS de l'argument muet %qs" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, gcc-internal-format + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "L'argument effectif de forme tacite à %L est incompatible avec l'argument muet de forme non tacite %qs à cause de l'attribut VOLATILE" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, gcc-internal-format + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "L'argument effectif qui est une section de tableau à %L est incompatible avec l'argument muet de forme non tacite %qs à cause de l'attribut VOLATILE" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, gcc-internal-format + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "L'argument effectif qui est un tableau de pointeurs à %L requiert un argument muet de forme tacite ou un tableau de pointeurs %qs à cause de l'attribut VOLATILE" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "Spécification de retour alternatif manquant dans l'appel de la sous-routine à %L" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, gcc-internal-format + msgid "Missing actual argument for argument %qs at %L" + msgstr "Argument effectif manquant pour l'argument %qs à %L" + +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr "compare_actual_expr(): Mauvais code de composant" + +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "check_some_aliasing(): Liste non concordante" + +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "check_some_aliasing(): donnée corrompue" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, gcc-internal-format + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "Le même argument effectif est associé avec l'argument INTENT(%s) %qs et l'argument INTENT(%s) %qs à %L" + +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "check_intents(): Liste non concordante" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "L'argument de procédure à %L est local dans une procédure PURE et a l'attribut POINTER" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "L'argument effectif co-indexé à %L dans une procédure PURE est passé à un argument INTENT(%s)" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "L'argument effectif co-indexé à %L dans une procédure PURE est passé à un argument muet de type POINTER" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, gcc-internal-format + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "L'argument effectif polymorphique co-indexé à %L est passé à l'argument muet polymorphique %qs" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "La procédure %qs appelée à %L n'est pas explicitement déclarée, vouliez-vous employer %qs ?" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "La procédure %qs appelée à %L n'est pas explicitement déclarée" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, gcc-internal-format + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "Procédure %qs appelée avec une interface implicite à %L" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, gcc-internal-format + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "L'objet pointeur %qs à %L doit avoir une interface de fonction explicite ou être déclaré comme un tableau" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, gcc-internal-format + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "L'objet allouable %qs à %L doit avoir une interface de fonction explicite ou être déclaré comme un tableau" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, gcc-internal-format + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "La fonction allouable %qs à %L doit avoir une interface de fonction explicite" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, gcc-internal-format, gfc-internal-format + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "Interface explicite requise pour l'argument polymorphique à %L" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "L'argument mot-clé requiert une interface explicite pour la procédure %qs à %L" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "L'argument de type tacite %s à %L requiert une interface explicite" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, gcc-internal-format + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "L'argument effectif de LOCK_TYPE ou avec un composant LOCK_TYPE à %L requiert une interface explicite pour la procédure %qs" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, gcc-internal-format + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "L'argument effectif de EVENT_TYPE ou avec un composant EVENT_TYPE à %L requiert une interface explicite pour la procédure %qs" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD argument to NULL required at %L" + msgstr "Argument MOLD requis pour NULL à %L" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, gcc-internal-format, gfc-internal-format + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "Passer l'intrinsèque NULL comme argument effectif à %L requiert une interface explicite" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "Un argument de rang tacite requiert une interface explicite à %L" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, gcc-internal-format + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "Composant pointeur de procédure %qs appelé avec une interface implicite à %L" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "L'argument mot-clé requiert une interface explicite pour le composant pointeur de procédure %qs à %L" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "MOLD= est requis dans l'argument NULL() à %L: Ambigüité entre les fonctions spécifiées %s et %s" + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, gcc-internal-format + msgid "Unable to find symbol %qs" + msgstr "Impossible de trouver le symbole %qs" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, gcc-internal-format + msgid "Entity %qs at %L is already present in the interface" + msgstr "L'entité %qs à %L est déjà présente dans l'interface" + +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, gcc-internal-format + msgid "gfc_add_interface(): Bad interface type" + msgstr "gfc_add_interface(): Mauvais type d'interface" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, gcc-internal-format + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "Ne peut écraser GENERIC %qs à %L" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, gcc-internal-format + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "%qs à %L redéfini une liaison de procédure déclarée NON_OVERRRIDABLE" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, gcc-internal-format + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "%qs à %L ne doit pas être DEFERRED car il redéfini une liaison non DEFERRED" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, gcc-internal-format + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "%qs à %L redéfini une procédure PURE et doit aussi être PURE" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, gcc-internal-format + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "%qs à %L redéfini une procédure ELEMENTAL et doit aussi être ELEMENTAL" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, gcc-internal-format + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "%qs à %L redéfini une procédure non ELEMENTAL et ne doit pas être ELEMENTAL non plus" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, gcc-internal-format + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "%qs à %L redéfini une SUBROUTINE et doit aussi être une SUBROUTINE" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, gcc-internal-format + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "%qs à %L redéfini une FUNCTION et doit aussi être une FUNCTION" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, gcc-internal-format + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "Résultat non concordant pour la redéfinition de la procédure %qs à %L: %s" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, gcc-internal-format + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "%qs à %L redéfini une procédure PUBLIC et ne doit pas être PRIVATE" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, gcc-internal-format + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "L'argument muet %qs de %qs à %L devrait être nommé %qs pour correspondre à l'argument équivalent de la procédure redéfinie" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, gcc-internal-format + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "Argument non concordant pour la procédure redéfinissante %qs à %L: %s" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, gcc-internal-format + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "%qs à %L doit avoir le même nombre d'arguments formels que la procédure redéfinie" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, gcc-internal-format + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "%qs à %L redéfini une liaison NOPASS et doit aussi être NOPASS" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, gcc-internal-format + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "%qs à %L redéfini une liaison PASS et doit aussi être PASS" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "L'argument muet %qs de type objet passé à %L doit être à la même position que l'argument muet de type objet passé à la procédure redéfinie" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "L'argument muet DTIO à %L doit être du type %s" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "L'argument muet DTIO à %L doit avoir KIND = %d" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "L'argument muet DTIO à %L doit être un scalaire" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "L'argument muet DTIO à %L doit être ASSUMED SHAPE ARRAY" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO character argument at %L must have assumed length" + msgstr "L'argument caractère DTIO à %L doit avoir une longueur tacite" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "L'argument muet DTIO à %L doit avoir INTENT %s" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "Le retour alternatif à %L n'est pas permis dans une procédure DTIO" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, gcc-internal-format + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "La procédure DTIO %qs à %L doit être une sous-routine" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, gcc-internal-format + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "Trop peu d'arguments muets dans la procédure DTIO %qs à %L" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, gcc-internal-format + msgid "Too many dummy arguments in DTIO procedure %qs at %L" + msgstr "Trop d'arguments muets dans la procédure DTIO %qs à %L" +@@ -69583,7 +69573,7 @@ msgstr "Conversion de %s vers %s à %L" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, gcc-internal-format, gfc-internal-format + msgid "Cannot convert %s to %s at %L" + msgstr "Impossible de convertir %s en %s à %L" +@@ -70134,7 +70124,7 @@ msgstr "NAMELIST %qs dans l'instruction READ à %L contient le symbole %qs qui n + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "L'objet NAMELIST %qs dans la liste de noms %qs à %L est polymorphique et requiert une procédure d'entrée/sortie définie" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, gcc-internal-format + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" + msgstr "Objet NAMELIST %qs dans la liste de noms %qs à %L avec des composants ALLOCATABLE ou POINTER" +@@ -70701,7 +70691,7 @@ msgstr "Le code STOP à %L doit être un caractère par défaut avec KIND=%d" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "Le code STOP à %L doit être un entier par défaut avec KIND=%d" + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, gcc-internal-format, gfc-internal-format + msgid "QUIET specifier at %L must be a scalar LOGICAL" + msgstr "Le spécificateur QUIET à %L doit être un scalaire LOGICAL" +@@ -72558,8 +72548,8 @@ msgstr "Le paramètre de la clause ORDERED est plus petit que COLLAPSE à %L" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "la clause ORDER ne doit pas être utilisée avec ORDERED à %L" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "La clause IF à %L requiert une expression LOGICAL scalaire" +@@ -74531,723 +74521,713 @@ msgstr "La procédure de module %qs avec une valeur de caractère à %L ne peut + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "La fonction interne %qs avec une valeur de caractère à %L ne peut pas avoir une longueur tacite" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "La fonction %s à %L a des entrées avec des spécifications de tableau non concordantes" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "La fonction %s à %L a l'entrée %s avec des caractéristiques non concordantes" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "La fonction %s à %L a des entrées qui retournent des variables de longueurs de chaînes différentes" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "Le résultat de FUNCTION %s ne peut pas être un tableau dans FUNCTION %s à %L" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "Le résultat de ENTRY %s ne peut pas être un tableau dans FUNCTION %s à %L" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "Le résultat de FUNCTION %s ne peut pas être un POINTER dans FUNCTION %s à %L" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "Le résultat de ENTRY %s ne peut pas être un POINTER dans FUNCTION %s à %L" + +-#: fortran/resolve.cc:881 +-#, gcc-internal-format, gfc-internal-format +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "Le résultat de FUNCTION %s ne peut pas être ALLOCATABLE dans FUNCTION %s à %L" +- +-#: fortran/resolve.cc:885 +-#, gcc-internal-format, gfc-internal-format +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "Le résultat de ENTRY %s ne peut pas être ALLOCATABLE dans FUNCTION %s à %L" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "Le résultat de FUNCTION %s ne peut pas être du type %s dans FUNCTION %s à %L" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "Le résultat de ENTRY %s ne peut pas être du type %s dans FUNCTION %s à %L" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "L'entité globale %qs à %L ne peut pas apparaître dans un bloc COMMON à %L" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "L'entité globale %qs à %L ne peut pas apparaître dans un bloc COMMON" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, gcc-internal-format, gfc-internal-format + msgid "COMMON block at %L" + msgstr "Bloc COMMON à %L" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, gcc-internal-format + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "La variable %qs à %L est dans COMMON mais seule l'initialisation dans BLOCK DATA est permise" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, gcc-internal-format + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "La variable %qs à %L est initialisée dans un COMMON blanc mais l'initialisation est uniquement permise dans des communs nommés" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, gcc-internal-format + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "%qs à %L ne peut pas apparaître dans COMMON [F2008:C5100]" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "La variable %qs, d'un type dérivé, dans COMMON à %L n'a ni l'attribut SEQUENCE ni l'attribut BIND(C)" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "La variable %qs, d'un type dérivé, dans COMMON à %L a un composant ultime qui est allouable" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "La variable %qs, d'un type dérivé, dans COMMON à %L ne peut pas avoir une initialisation par défaut" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "En Fortran 2003, le bloc COMMON %qs à %L est un identificateur global et doit donc avoir le même nom de liaison que le bloc COMMON similairement nommé à %L: %s vs %s" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, gcc-internal-format + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "Le bloc COMMON %qs à %L utilise le même identificateur global que l'entité à %L" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "Fortran 2008: Le bloc COMMON %qs avec l'étiquette de liaison à %L partage l'identificateur avec l'entité de bloc non COMMON globale à %L" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, gcc-internal-format + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "Le bloc COMMON à %L avec le label de liaison %qs utilise le même identificateur global que l'entité à %L" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, gcc-internal-format + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "Le bloc COMMON %qs à %L est utilisé comme PARAMETER à %L" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, gcc-internal-format + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "Le bloc COMMON %qs à %L ne peut pas avoir d'attribut EXTERNAL" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, gcc-internal-format + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "Le bloc COMMON %qs à %L est aussi une procédure intrinsèque" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a function result" + msgstr "Le bloc COMMON %qs à %L qui est aussi un résultat de fonction" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "Le bloc COMMON %qs à %L qui est aussi une procédure globale" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "Le paramètre KIND %qs dans le constructeur PDT à %C n'a pas de valeur" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, gcc-internal-format, gfc-internal-format + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "Le rang de l'élément dans le constructeur de structure à %L ne correspond pas à celui du composant (%d/%d)" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "L'élément dans le constructeur de structure à %L, pour le composant pointeur %qs, est %s mais il devrait être %s" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, gcc-internal-format + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "Longueurs de caractères inégales (%wd/%wd) pour le composant pointeur %qs dans le constructeur à %L" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, gcc-internal-format + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "Le NULL dans le constructeur de structure à %L est appliqué au composant %qs qui n'est ni un POINTER ni ALLOCATABLE" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, gcc-internal-format + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "Désaccord d'interface pour le composant pointeur de procédure %qs dans le constructeur de structure à %L: %s" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, gcc-internal-format + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "Mauvaise spécification de tableau du composant %qs référencé dans le constructeur de structure à %L" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, gcc-internal-format + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "La forme du composant %qs dans le constructeur de structure à %L diffère de la forme du composant déclaré pour la dimension %d (%ld/%ld)" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "L'élément dans le constructeur de structure à %L pour le composant pointeur %qs devrait être un POINTER ou un TARGET" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, gcc-internal-format + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "Expression invalide dans le constructeur de structure pour le composant pointeur %qs à %L dans une procédure PURE" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, gcc-internal-format + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "La limite supérieure dans la dernière dimension doit apparaître dans la référence du tableau de taille tacite %qs à %L" + + # %qs est le nom d'une procédure d'où le féminin +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, gcc-internal-format + msgid "%qs at %L is ambiguous" + msgstr "%qs à %L est ambigüe" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, gcc-internal-format + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "La procédure GENERIC %qs n'est pas permise comme argument effectif à %L" + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, gcc-internal-format + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "Le type spécifié pour la fonction intrinsèque %qs à %L est ignoré" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, gcc-internal-format + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "La sous-routine intrinsèque %qs à %L n'aura point de spécificateur de type" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, gcc-internal-format + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "%qs déclaré INTRINSIC à %L n'existe pas" + + # %s est une chaîne non traduite telle que "available since Fortran 77". + # voir bugs #38573 et #52279 à ce sujet. +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, gcc-internal-format + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "L'intrinsèque %qs déclaré INTRINSIC à %L n'est pas disponible avec les paramètres standard actuels mais est %s. Utilisez l'option %<-std=*%> appropriée ou activez %<-fall-intrinsics%> de manière à pouvoir l'utiliser." + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, gcc-internal-format + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "La procédure non RECURSIVE %qs à %L semble s'appeler elle-même récursivement. Déclarez là RECURSIVE ou utilisez %<-frecursive%>" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "L'étiquette %d référencée à %L n'est jamais définie" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, gcc-internal-format + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "Le type dérivé %qs est utilisé comme argument effectif à %L" + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, gcc-internal-format + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "La fonction-instruction %qs à %L n'est pas permise comme argument effectif" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, gcc-internal-format + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "L'intrinsèque %qs à %L n'est pas permis comme argument effectif" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, gcc-internal-format + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "Procédure interne %qs utilisée comme argument effectif à %L" + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, gcc-internal-format + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "La procédure ELEMENTAL non INTRINSIC %qs n'est pas permise comme argument effectif à %L" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, gcc-internal-format + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "Impossible de trouver une procédure INTRINSIC spécifique pour la référence %qs à %L" + +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, gcc-internal-format + msgid "Symbol %qs at %L is ambiguous" + msgstr "Le symbole %qs à %L est ambigu" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not of numeric type" + msgstr "L'argument par valeur à %L n'est pas un type numérique" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "L'argument par valeur à %L ne peut pas être un tableau ou une section de tableau" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not allowed in this context" + msgstr "L'argument par valeur à %L n'est pas permis dans ce contexte" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "Passer la procédure interne à %L par position n'est pas permis" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, gcc-internal-format + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "Le composant pointeur de procédure ELEMENTAL %qs n'est pas permis comme argument effectif à %L" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "Argument effectif co-indexé à %L avec un composant pointeur ultime" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, gcc-internal-format + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "%qs à %L est un tableau et est OPTIONAL; s'il n'est pas présent, il ne peut pas être l'argument effectif d'une procédure ELEMENTAL à moins qu'il y ait un argument non optionnel avec le même rang (Fortran 2018, 15.5.2.12)" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, gcc-internal-format + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "L'argument effectif à %L pour le muet INTENT(%s) %qs de la sous-routine ELEMENTAL %qs est un scalaire mais un autre argument effectif est un tableau" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, gcc-internal-format + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "Désaccord dans le type de retour de la fonction %qs à %L (%s/%s)" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, gcc-internal-format + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "Non concordance de l'interface dans la procédure globale %qs à %L: %s" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, gcc-internal-format + msgid "There is no specific function for the generic %qs at %L" + msgstr "Il n'y a pas de fonction spécifique pour la fonction générique %qs à %L" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, gcc-internal-format + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "La fonction générique %qs à %L n'est pas cohérente avec l'interface intrinsèque spécifique" + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, gcc-internal-format + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "La fonction %qs à %L est INTRINSIC mais elle est incompatible avec un intrinsèque" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, gcc-internal-format + msgid "Unable to resolve the specific function %qs at %L" + msgstr "Impossible de résoudre la fonction spécifique %qs à %L" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "Déclaration explicite manquante avec l'attribut EXTERNAL pour le symbole %qs à %L" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "La fonction %qs à %L n'a pas de type IMPLICIT, vouliez-vous employer %qs ?" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "La fonction %qs à %L n'a pas de type IMPLICIT" + + # %s à la fin est le texte non traduit "mask" ou "block" +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "Référence à la fonction impure %qs à %L à l'intérieur d'un FORALL %s" + + # %s à la fin est le texte non traduit "mask" ou "block" +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "Référence à la fonction impure %qs à %L à l'intérieur d'un DO CONCURRENT %s" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "Référence à la fonction impure %qs à %L dans une procédure PURE" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, gcc-internal-format + msgid "Unexpected junk after %qs at %L" + msgstr "Rebut inattendu après %qs à %L" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, gcc-internal-format + msgid "%qs at %L is not a function" + msgstr "%qs à %L n'est pas une fonction" + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "ABSTRACT INTERFACE %qs ne doit pas être référencée à %L" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "ABSTRACT INTERFACE %qs à %L ne doit pas avoir un résultat d'une longueur de caractères tacite (F2008: C418)" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, gcc-internal-format + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "La fonction %qs est déclarée CHARACTER(*) et ne peut pas être utilisée à %L car elle n'est pas un argument muet" + +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, gcc-internal-format + msgid "resolve_function(): bad function type" + msgstr "resolve_function(): mauvais type de fonction" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "Une constante littérale BOZ à %L ne peut pas apparaître comme un argument effectif dans une référence de fonction" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, gcc-internal-format + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "La fonction %qs non ELEMENTAL définie par l'utilisateur à %L n'est pas permise dans la construction WORKSHARE" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "ENTRY %qs à %L ne peut pas être appelé récursivement car la fonction %qs n'est pas RECURSIVE" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, gcc-internal-format + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "La fonction %qs à %L ne peut pas être appelée récursivement car elle n'est pas RECURSIVE" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, gcc-internal-format + msgid "Using function %qs at %L is deprecated" + msgstr "L'utilisation de la fonction %qs à %L est obsolète" + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, gcc-internal-format + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "L'appel de sous-routine à %qs dans le bloc FORALL à %L n'est pas PURE" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, gcc-internal-format + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "L'appel de sous-routine à %qs dans le bloc DO CONCURRENT à %L n'est pas PURE" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, gcc-internal-format + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "L'appel de sous-routine à %qs à %L n'est pas PURE" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, gcc-internal-format + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "Il n'y a pas de sous-routine spécifique pour le générique %qs à %L" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, gcc-internal-format + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "La sous-routine générique %qs à %L n'est pas cohérente avec l'interface de sous-routine intrinsèque" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, gcc-internal-format + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "La sous-routine %qs à %L est INTRINSIC mais elle n'est pas compatible avec un intrinsèque" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, gcc-internal-format + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "Impossible de résoudre la sous-routine spécifique %qs à %L" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, gcc-internal-format + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "%qs à %L a un type, ce qui n'est pas cohérent avec l'appel CALL à %L" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "ENTRY %qs à %L ne peut pas être appelé récursivement car la sous-routine %qs n'est pas RECURSIVE" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, gcc-internal-format + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "SUBROUTINE %qs à %L ne peut pas être appelée récursivement car elle n'est pas RECURSIVE" + +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, gcc-internal-format + msgid "resolve_subroutine(): bad function type" + msgstr "resolve_subroutine(): mauvais type de fonction" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, gcc-internal-format + msgid "Using subroutine %qs at %L is deprecated" + msgstr "L'utilisation de la sous-routine %qs à %L est obsolète" + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, gcc-internal-format, gfc-internal-format + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "Les formes pour les opérandes à %L et %L ne sont pas conformes" + +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "logical_to_bitwise(): Mauvais intrinsèque" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, gcc-internal-format + msgid "Impure function %qs at %L might not be evaluated" + msgstr "La fonction impure %qs à %L pourrait ne pas être évaluée" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, gcc-internal-format, gfc-internal-format + msgid "Impure function at %L might not be evaluated" + msgstr "La fonction impure à %L pourrait ne pas être évaluée" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, gcc-internal-format + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "La constante littérale BOZ à %L ne peut pas être un opérande de l'opérateur unaire %qs" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "Les opérandes à %L et %L ne peuvent pas apparaître comme opérandes de l'opérateur binaire %qs" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, gcc-internal-format, gfc-internal-format + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" + msgstr "La constante littérale BOZ près de %L ne peut pas apparaître comme opérande d'un opérateur relationnel" + +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, gcc-internal-format, gfc-internal-format + msgid "Equality comparison for %s at %L" + msgstr "Comparaison égalitaire pour %s à %L" + +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, gcc-internal-format, gfc-internal-format + msgid "Inequality comparison for %s at %L" + msgstr "Comparaison inégalitaire pour %s à %L" + +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "resolve_operator(): Mauvais intrinsèque" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "La référence au tableau à %L est en dehors des limites (%ld < %ld) dans la dimension %d" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "La référence au tableau à %L est en dehors des limites (%ld < %ld) dans la co-dimension %d" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "La référence au tableau à %L est en dehors des limites (%ld > %ld) dans la dimension %d" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "La référence au tableau à %L est en dehors des limites (%ld > %ld) dans la co-dimension %d" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "Pas nul illégal à %L" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "La référence inférieure au tableau à %L est hors des limites (%ld < %ld) dans la dimension %d" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "La référence inférieure au tableau à %L est en dehors des limites (%ld > %ld) dans la dimension %d" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "La référence supérieure au tableau à %L est hors des limites (%ld < %ld) dans la dimension %d" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "La référence supérieure au tableau à %L est hors des limites (%ld > %ld) dans la dimension %d" + +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, gcc-internal-format + msgid "check_dimension(): Bad array reference" + msgstr "check_dimension(): Mauvaise référence de tableau" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "La limite supérieure la plus à droite de la section du tableau de taille tacite n'est pas spécifiée à %L" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "Désaccord de rang dans la référence au tableau à %L (%d/%d)" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "Désaccord du rang du co-index dans la référence au tableau à %L (%d/%d)" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "Le co-index de la co-dimension %d doit être un scalaire à %L" + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "L'index de tableau à %L doit être scalaire" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "L'index de tableau à %L doit être du type INTEGER, on a trouvé %s" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, gcc-internal-format, gfc-internal-format + msgid "REAL array index at %L" + msgstr "Index de tableau REAL à %L" + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "L'argument dim à %L doit être scalaire" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "L'argument dim à %L doit être du type INTEGER" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid array reference of a non-array entity at %L" + msgstr "Référence de tableau invalide dans une entité qui n'est pas un tableau à %L" + +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "find_array_spec(): « as » inutilisé(1)" + +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "find_array_spec(): « as » inutilisé(2)" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "L'index de tableau à %L est un tableau de rang %d" + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "L'index de départ de la sous-chaîne à %L doit être du type INTEGER" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "L'index de départ de la sous-chaîne à %L doit être scalaire" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "L'index de fin de la sous-chaîne à %L doit être du type INTEGER" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "L'index de fin de la sous-chaîne à %L doit être scalaire" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L is too large" + msgstr "L'index de fin de la sous-chaîne à %L est trop grand" + +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, gcc-internal-format + msgid "resolve_ref(): Bad array reference" + msgstr "resolve_ref(): Mauvaise référence de tableau" + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "Le composant à droite d'une référence de partie avec un rang non nul ne doit pas avoir l'attribut POINTER à %L" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "Le composant à droite d'une référence de partie avec un rang non nul ne doit pas avoir l'attribut ALLOCATABLE à %L" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "Deux références de parties (ou plus) avec un rang non nul ne peuvent pas être spécifiées à %L" + +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "gfc_expression_rank(): Deux specs de tableau" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "La variable %s à %L avec l'attribut NO_ARG_CHECK peut uniquement être utilisée comme argument effectif" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may only be used as actual argument" + msgstr "La variable de type tacite %s à %L peut uniquement être utilisée comme argument effectif" +@@ -75256,12 +75236,12 @@ msgstr "La variable de type tacite %s à %L peut uniquement être utilisée comm + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "La variable de type tacite %s à %L comme argument effectif à une fonction de requête sera le premier argument" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L may only be used as actual argument" + msgstr "La variable de rang tacite %s à %L peut uniquement être utilisée comme argument effectif" +@@ -75270,296 +75250,296 @@ msgstr "La variable de rang tacite %s à %L peut uniquement être utilisée comm + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "La variable de rang tacite %s à %L comme argument effectif à une fonction intrinsèque sera le premier argument" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "La variable %s à %L avec l'attribut NO_ARG_CHECK n'aura point de référence à un sous-objet" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "La variable de type tacite %s à %L n'aura point de référence à un sous-objet" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "La variable de rang tacite %s à %L n'aura point de référence à un sous-objet" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, gcc-internal-format + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "La variable %qs, utilisée dans une expression de spécification, est référencée à %L avant l'instruction ENTRY dans laquelle elle est un paramètre" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, gcc-internal-format + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "La variable %qs est utilisée à %L avant l'instruction ENTRY dans laquelle elle est un paramètre" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "Sous-objet polymorphique d'un objet co-indexé à %L" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "Objet co-indexé avec un sous-composant allouable polymorphique à %L" + +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, gcc-internal-format + msgid "Using variable %qs at %L is deprecated" + msgstr "L'utilisation de la variable %qs à %L est obsolète" + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, gcc-internal-format + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "%qs à %L est associé à l'hôte à %L dans une procédure contenue avec une procédure interne du même nom" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, gcc-internal-format, gfc-internal-format + msgid "Error in typebound call at %L" + msgstr "Erreur dans l'appel avec type lié à %L" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, gcc-internal-format, gfc-internal-format + msgid "Passed-object at %L must be scalar" + msgstr "L'objet passé à %L doit être scalaire" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, gcc-internal-format + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "L'objet de base pour l'appel de composant pointeur de procédure à %L est du type ABSTRACT %qs" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "L'objet de base pour l'appel de procédure liée au type à %L est du type ABSTRACT %qs" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, gcc-internal-format, gfc-internal-format + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "L'objet de base pour l'appel de procédure liée au type NOPASS à %L doit être scalaire" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, gcc-internal-format + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "Aucune liaison spécifique correspondante pour l'appel à GENERIC %qs à %L" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, gcc-internal-format + msgid "%qs at %L should be a SUBROUTINE" + msgstr "%qs à %L devrait être une SUBROUTINE" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, gcc-internal-format + msgid "%qs at %L should be a FUNCTION" + msgstr "%qs à %L devrait être une FUNCTION" + +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, gcc-internal-format + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "gfc_resolve_expr(): Mauvais type d'expression" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "%s à %L doit être un scalaire" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be integer" + msgstr "%s à %L doit être un entier" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "%s à %L doit être INTEGER" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "L'expression de pas dans la boucle DO à %L ne peut pas être zéro" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "La boucle DO à %L sera exécutée zéro fois" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "La boucle DO à %L est indéfinie car elle déborde" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "La boucle DO à %L est indéfinie car elle déborde vers le bas" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "Le nom d'index FORALL à %L doit être un INTEGER scalaire" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "L'expression de départ de FORALL à %L doit être un INTEGER scalaire" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "L'expression de fin de FORALL à %L doit être un INTEGER scalaire" + + # %s est toujours « INTEGER » et rien d'autre +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "L'expression de pas de FORALL à %L doit être un %s scalaire" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "L'expression de pas de FORALL à %L ne peut pas être zéro" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, gcc-internal-format + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "L'index %qs de FORALL ne peut pas apparaître dans une spécification de triplet à %L" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "L'objet allouable à %L doit être ALLOCATABLE ou un POINTER" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "Objet allouable co-indexé à %L" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "L'expression source à %L doit être scalaire ou avoir le même rang que l'objet allouable à %L" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "L'expression source à %L et l'objet allouable à %L doivent avoir la même forme" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "Le type de l'entité à %L a un type incompatible avec l'expression source à %L" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "L'objet allouable à %L et l'expression source à %L auront le même paramètre de sous-type" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "L'expression source à %L n'aura ni le type LOCK_TYPE ni un composant LOCK_TYPE si l'objet allouable à %L est un co-tableau" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "L'expression source à %L n'aura ni le type EVENT_TYPE ni un composant EVENT_TYPE si l'objet allouable à %L est un co-tableau" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "L'allocation de %s du type de base ABSTRACT à %L requiert une spécification de type ou une expression source" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "L'allocation de %s à %L avec la spécification de type requiert la même longueur de caractères dans le paramètre que dans la déclaration" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "Spécification de tableau requise dans l'instruction ALLOCATE à %L" + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "Une spécification de tableau ou une expression SOURCE= avec une valeur tableau est requise dans l'instruction ALLOCATE à %L" + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, gcc-internal-format, gfc-internal-format + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "Spécification de co-tableau requise dans l'instruction ALLOCATE à %L" + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, gcc-internal-format, gfc-internal-format + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "Mauvaise spécification de co-tableau dans l'instruction ALLOCATE à %L" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "La co-borne supérieure est plus petite que la co-borne inférieure à %L" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "La co-borne supérieure est plus petite que la co-borne inférieure 1 à %L" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "Mauvaise spécification de tableau dans l'instruction ALLOCATE à %L" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, gcc-internal-format + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "%qs ne doit pas apparaître dans la spécification de tableau à %L dans la même instruction ALLOCATE où il est lui-même alloué" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, gcc-internal-format + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "%<*%> attendu dans la spécification du co-index dans l'instruction ALLOCATE à %L" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "La variable stat à %L doit être une variable INTEGER scalaire" + + # les deux %s sont le même mot-clé "ALLOCATE" ou "DEALLOCATE" utilisés une fois comme mot et comme instruction, merde les mecs, ils pourraient faire attention aux traducteurs… +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "La variable stat à %L ne sera point qualifiée par %s dans la même instruction %s" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "ERRMSG à %L est inutile sans la balise STAT" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "La variable ERRMSG à %L sera une variable CHARACTER du scalaire par défaut" + + # les deux %s sont le même mot-clé "ALLOCATE" ou "DEALLOCATE" utilisés une fois comme mot et comme instruction, merde les mecs, ils pourraient faire attention aux traducteurs… +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "La variable errmsg à %L ne sera point qualifiée par %s dans la même instruction %s" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "L'objet alloué à %L apparaît aussi à %L" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "L'objet alloué à %L est un sous-objet d'un objet à %L" +@@ -75568,284 +75548,284 @@ msgstr "L'objet alloué à %L est un sous-objet d'un objet à %L" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "L'étiquette CASE à %L chevauche l'étiquette CASE à %L" + +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "L'expression dans l'instruction CASE à %L doit être du type %s" + +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "L'expression dans l'instruction CASE à %L doit être du sous-type %d" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "L'expression dans l'instruction CASE à %L doit être scalaire" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "L'expression de sélection dans le GOTO calculé à %L doit être une expression entière scalaire" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "L'argument de l'instruction SELECT à %L ne peut pas être %s" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "L'argument de l'expression SELECT à %L doit être une expression scalaire" + +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "L'expression dans l'instruction CASE à %L n'est pas dans la plage de %s" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "Le DEFAULT CASE à %L ne peut pas être suivi par un second DEFAULT CASE à %L" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "Une plage logique n'est pas permise dans l'instruction CASE à %L" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, gcc-internal-format, gfc-internal-format + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "La valeur logique constante est répétée dans l'instruction CASE à %L" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "La spécification d'étendue à %L ne peut jamais correspondre à quoi que ce soit" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "Le bloc SELECT CASE logique à %L a plus de deux cas" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "L'entité associante %qs à %L est un pointeur de procédure" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, gcc-internal-format + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "Le type dérivé %qs ne peut pas être utilisé comme une variable à %L" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure name" + msgstr "L'entité associante %qs à %L est un nom de procédure" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "L'expression de sélecteur associant à %L donne une procédure" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L cannot be NULL()" + msgstr "Le sélecteur à %L ne peut pas NULL()" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L has no type" + msgstr "Le sélecteur à %L n'a pas de type" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "Le nom associé %qs à %L est utilisé comme tableau" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "Le sélecteur CLASS à %L a besoin d'un temporaire qui n'est pas encore implémenté" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, gcc-internal-format, gfc-internal-format + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "Le sélecteur sera polymorphique dans l'instruction SELECT TYPE à %L" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L must not be coindexed" + msgstr "Le sélecteur à %L ne doit pas être co-indexé" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, gcc-internal-format, gfc-internal-format + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "TYPE IS à %L chevauche TYPE IS à %L" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, gcc-internal-format + msgid "Derived type %qs at %L must be extensible" + msgstr "Le type dérivé %qs à %L doit être extensible" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, gcc-internal-format + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "Le type dérivé %qs à %L doit être une extension de %qs" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, gcc-internal-format + msgid "Unexpected intrinsic type %qs at %L" + msgstr "Type intrinsèque %qs inattendu à %L" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, gcc-internal-format, gfc-internal-format + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "La spécification de type à %L doit spécifier que chaque paramètre de type de longueur est tacite" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "Bloc CLASS IS en double dans l'instruction SELECT TYPE à %L" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "RANK DEFAULT à %L est répété à %L" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "RANK (*) à %L est répété à %L" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "RANK (%i) à %L est répété à %L" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "RANK (*) à %L ne peut pas être utilisé avec un pointeur ou un sélecteur allouable à %L" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "Contexte invalide pour l'intrinsèque NULL () à %L" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO %s procedure at %L must be recursive" + msgstr "La procédure DTIO %s à %L doit être récursive" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "L'élément de transfert de données à %L ne peut pas être polymorphique à moins qu'il soit traité par une procédure d'entrée/sortie définie" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "L'élément de transfert de données à %L ne peut pas avoir de composants POINTER à moins qu'il soit traité par une procédure d'entrée/sortie définie" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "L'élément de transfert de données à %L ne peut pas avoir de composants de pointeur de procédure" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "L'élément de transfert de données à %L ne peut pas avoir de composants ALLOCATABLE à moins qu'il soit traité par une procédure d'entrée/sortie définie" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "L'élément de transfert de données à %L ne peut pas avoir de composants PRIVATE" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "L'élément de transfert de données à %L ne peut pas avoir de composants PRIVATE à moins qu'il soit traité par une procédure d'entrée/sortie définie" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "L'élément de transfert de données à %L ne peut pas être une référence complète à un tableau de taille tacite" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, gcc-internal-format, gfc-internal-format + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "La variable verrou à %L doit être un scalaire de type LOCK_TYPE" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "La variable d'événement à %L doit être un scalaire de type EVENT_TYPE" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "L'argument variable d'événement à %L doit être un co-tableau ou co-indexé" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "L'argument variable d'événement à %L doit être un co-tableau mais pas co-indexé" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, gcc-internal-format, gfc-internal-format + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "L'argument STAT= à %L doit être une variable INTEGER scalaire" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "L'argument ERRMSG= à %L doit être une variable CHARACTER scalaire" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, gcc-internal-format, gfc-internal-format + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "L'argument ACQUIRED_LOCK= à %L doit être une variable LOGICAL scalaire" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, gcc-internal-format, gfc-internal-format + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "L'argument UNTIL_COUNT= à %L doit être une expression INTEGER scalaire" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "L'argument imageset à %L doit être une expression scalaire ou INTEGER de rang 1" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "L'argument imageset à %L doit être entre 1 et num_images()" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, gcc-internal-format, gfc-internal-format + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "L'instruction à %L n'est pas une instruction cible valable pour l'instruction de branchement à %L" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, gcc-internal-format, gfc-internal-format + msgid "Branch at %L may result in an infinite loop" + msgstr "Le branchement à %L peut conduire à une boucle infinie" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "L'instruction GOTO à %L quitte une construction CRITICAL pour l'étiquette à %L" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "L'instruction GOTO à %L quitte une construction DO CONCURRENT pour l'étiquette à %L" +@@ -75853,207 +75833,207 @@ msgstr "L'instruction GOTO à %L quitte une construction DO CONCURRENT pour l'é + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "L'étiquette à %L n'est pas dans le même bloc que l'instruction GOTO à %L" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "Le masque WHERE à %L a une forme inconsistante" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "La cible de l'affectation WHERE à %L a une forme inconsistante" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "Affectation définie par l'utilisateur non ELEMENTAL dans WHERE à %L" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "Instruction non supportée à l'intérieur de WHERE à %L" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "Affectation à une variable d'index FORALL à %L" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, gcc-internal-format + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "Le FORALL avec l'index %qs n'est pas utilisé dans le membre de gauche de l'affectation à %L et, par conséquent, pourrait causer de multiples affectations à cet objet" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL construct at %L" + msgstr "Construction FORALL à %L" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "Le nom d'index de FORALL à %L doit être une variable scalaire de type entier" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "Une construction de boucle FORALL extérieure a déjà un index avec ce nom à %L" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "La clause WHERE/ELSEWHERE à %L requiert un tableau LOGICAL" + +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "gfc_resolve_blocks(): Mauvais type de bloc" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, gcc-internal-format, gfc-internal-format + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "L'expression CHARACTER sera tronquée dans l'affectation (%ld/%ld) à %L" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "L'expression co-indexée à %L est affectée à une variable de type dérivé avec un composant POINTER dans une procédure PURE" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "Dans un sous-programme pure, un argument fictif INTENT(IN) ne sera point utilisé comme l'expression à %L d'une instruction d'affectation intrinsèque dans laquelle la variable est d'un type dérivé si le type dérivé a un composant pointeur à n'importe quel niveau de la sélection du composant." + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "Affectation à une variable co-indexée à %L dans une procédure PURE" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "L'affectation à un co-tableau polymorphique à %L n'est pas permise" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "Affectation à une variable polymorphique allouable à %L" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "L'affectation à une variable polymorphique allouable à %L requiert %<-frealloc-lhs%>" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, gcc-internal-format + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "La variable non allouable ne doit pas être polymorphique dans l'affectation intrinsèque à %L – vérifiez qu'il existe une sous-routine spécifique correspondante pour l'opérateur %<=%>" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "La variable co-indexée ne doit pas avoir un composant ultimement allouable dans l'affectation à %L" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "À FAIRE: la/les affectation(s) liée(s) au type à %L n'ont pas été réalisées car des références multiples à des parties de tableaux apparaîtraient dans des expressions intermédiaires." + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer procedure assignment at %L" + msgstr "Affectation à une procédure pointeur à %L" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, gcc-internal-format, gfc-internal-format + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "Le résultat de la fonction dans le membre de gauche de l'affectation à %L doit avoir l'attribut pointeur." + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, gcc-internal-format + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "L'argument TEAM de %qs à %L doit être une expression scalaire de type TEAM_TYPE" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, gcc-internal-format, gfc-internal-format + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "L'argument TEAM NUMBER pour FROM TEAM à %L doit être un INTEGER scalaire" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "L'instruction ASSIGNED GOTO à %L requiert une variable INTEGER scalaire" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, gcc-internal-format + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "Une étiquette cible n'a pas été affectée à la variable %qs à %L" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "L'instruction RETURN alternatif à %L requiert un spécificateur de retour SCALAR-INTEGER" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, gcc-internal-format, gfc-internal-format + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "Assignation intrinsèque attendue dans OMP WORKSHARE à %L" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "L'instruction ASSIGN à %L requiert une variable scalaire INTEGER par défaut" + +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid NULL at %L" + msgstr "NULL invalide à %L" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, gcc-internal-format, gfc-internal-format + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "L'instruction IF arithmétique à %L requiert une expression scalaire REAL ou INTEGER" + +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "gfc_resolve_code(): Pas d'expression dans le DO WHILE" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "La condition de sortie de la boucle DO WHILE à %L doit être une expression LOGICAL scalaire" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "La clause de masque FORALL à %L requiert une expression scalaire LOGICAL" + +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, gcc-internal-format + msgid "gfc_resolve_code(): Bad statement code" + msgstr "gfc_resolve_code(): Mauvais code d'instruction" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, gcc-internal-format + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "L'utilisation du paramètre %qs déclaré à %L est obsolète" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, gcc-internal-format + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "La variable %qs avec l'étiquette de liaison %qs à %L utilise le même identificateur global que l'entité à %L" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, gcc-internal-format + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" + msgstr "La variable %qs du module %qs avec l'étiquette de liaison %qs à %L utilise le même identificateur global que l'entité à %L du module %qs" +@@ -76061,986 +76041,986 @@ msgstr "La variable %qs du module %qs avec l'étiquette de liaison %qs à %L uti + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, gcc-internal-format + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "La procédure %qs avec l'étiquette de liaison %qs à %L utilise le même identificateur global que l'entité à %L" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, gcc-internal-format, gfc-internal-format + msgid "String length at %L is too large" + msgstr "La longueur de chaîne à %L est trop grande" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, gcc-internal-format + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "Le tableau allouable %qs à %L doit avoir une forme différée ou un rang tacite" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, gcc-internal-format + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "L'objet scalaire %qs à %L ne peut pas être ALLOCATABLE" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, gcc-internal-format + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "Le pointeur tableau %qs à %L doit avoir une forme différée ou un rang tacite" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, gcc-internal-format + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "Le tableau %qs à %L ne peut pas avoir une forme différée" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "Le type %qs de la variable CLASS %qs à %L n'est pas extensible" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "La variable CLASS %qs à %L doit être muette, allouable ou pointeur" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, gcc-internal-format + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "Le type %qs ne peut pas être associé à un hôte à %L car il est bloqué par un objet incompatible du même nom déclaré à %L" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, gcc-internal-format + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "SAVE implicite pour la variable module %qs à %L, nécessaire à cause de l'initialisation par défaut" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, gcc-internal-format + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" + msgstr "L'entité %qs à %L a un paramètre de type différé et requiert soit l'attribut POINTER ou ALLOCATABLE" + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, gcc-internal-format + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "Le tableau %qs à %L du module ou du programme principal doit avoir une forme constante" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "L'entité avec une longueur de caractère tacite à %L doit être un argument muet ou un PARAMETER" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, gcc-internal-format + msgid "%qs at %L must have constant character length in this context" + msgstr "%qs à %L doit avoir une longueur de caractère constante dans ce contexte" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, gcc-internal-format + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "La variable COMMON %qs à %L doit avoir une longueur de caractère constante" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, gcc-internal-format + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "L'allouable %qs à %L ne peut pas avoir une initialisation" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, gcc-internal-format + msgid "External %qs at %L cannot have an initializer" + msgstr "L'externe %qs à %L ne peut pas avoir une initialisation" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, gcc-internal-format + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "Le muet %qs à %L ne peut pas avoir une initialisation" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, gcc-internal-format + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "L'intrinsèque %qs à %L ne peut pas avoir une initialisation" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, gcc-internal-format + msgid "Function result %qs at %L cannot have an initializer" + msgstr "Le résultat de fonction %qs à %L ne peut pas avoir une initialisation" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, gcc-internal-format + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "Le tableau automatique %qs à %L ne peut pas avoir une initialisation" + +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L" + msgstr "%s à %L" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, gcc-internal-format + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "La fonction-instruction %qs avec une valeur de caractère à %L doit avoir une longueur constante" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, gcc-internal-format + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "%qs est d'un type PRIVATE et ne peut pas être un argument muet de %qs, qui est PUBLIC à %L" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, gcc-internal-format + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "La procédure %qs dans l'interface PUBLIC %qs à %L prend des arguments muets de %qs qui est PRIVATE" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, gcc-internal-format + msgid "Function %qs at %L cannot have an initializer" + msgstr "La fonction %qs à %L ne peut pas avoir une initialisation" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, gcc-internal-format + msgid "External object %qs at %L may not have an initializer" + msgstr "L'objet externe %qs à %L ne peut pas avoir d'initialisation" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, gcc-internal-format + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "La fonction ELEMENTAL %qs à %L doit avoir un résultat scalaire" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, gcc-internal-format + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "La fonction-instruction %qs à %L ne peut pas avoir l'attribut pointeur ou allouable" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "La fonction CHARACTER(*) %qs à %L ne peut pas avoir la valeur d'un tableau" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "La fonction CHARACTER(*) %qs à %L ne peut pas avoir la valeur d'un pointeur" + +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "La fonction CHARACTER(*) %qs à %L ne peut pas être pure" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "La fonction CHARACTER(*) %qs à %L ne peut pas être récursive" + +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L" + msgstr "Fonction CHARACTER(*) %qs à %L" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, gcc-internal-format + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "Le pointeur de procédure %qs à %L ne sera point élémental" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, gcc-internal-format + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "La procédure muette %qs à %L ne sera point élémentale" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, gcc-internal-format + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "La variable résultat %qs de la fonction à %L de la fonction élémentale %qs n'aura point l'attribut ALLOCATABLE ou POINTER" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "L'attribut PROCEDURE est en conflit avec l'attribut SAVE dans %qs à %L" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "L'attribut PROCEDURE est en conflit avec l'attribut INTENT dans %qs à %L" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "L'attribut PROCEDURE est en conflit avec l'attribut RESULT dans %qs à %L" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, gcc-internal-format + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "L'attribut EXTERNAL est en conflit avec l'attribut FUNCTION dans %qs à %L" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "Le résultat du pointeur de procédure %qs à %L n'a pas d'attribut pointeur" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "Désaccord sur l'attribut ELEMENTAL entre MODULE PROCEDURE à %L et son interface dans %s" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "Désaccord sur l'attribut PURE entre MODULE PROCEDURE à %L et son interface dans %s" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "Désaccord sur l'attribut RECURSIVE entre MODULE PROCEDURE à %L et son interface dans %s" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "%s entre la déclaration MODULE PROCEDURE dans MODULE %qs et la déclaration à %L dans (SUB)MODULE %qs" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, gcc-internal-format + msgid "Interface of %qs at %L must be explicit" + msgstr "L'interface de %qs à %L doit être explicite" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, gcc-internal-format + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "La procédure FINAL %qs à %L n'est pas une SUBROUTINE" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "La procédure FINAL à %L doit avoir exactement un argument" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, gcc-internal-format + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "L'argument de la procédure FINAL à %L doit être du type %qs" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "La procédure FINAL à %L avec un argument de rang tacite doit être le seul finaliseur avec le même genre/type (F2018: C790)" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "L'argument de la procédure FINAL à %L ne peut pas être un POINTER" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "L'argument de la procédure FINAL à %L ne peut pas être ALLOCATABLE" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "L'argument de la procédure FINAL à %L ne peut pas être OPTIONAL" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "L'argument de la procédure FINAL à %L ne peut pas être INTENT(OUT)" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, gcc-internal-format, gfc-internal-format + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "La procédure FINAL non scalaire à %L devrait avoir un argument de forme tacite" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, gcc-internal-format + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "La procédure FINAL %qs déclarée à %L a le même rang (%d) que %qs" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, gcc-internal-format + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "Seules des procédures FINAL tableaux déclarées pour le type dérivé %qs à %L, une scalaire est également suggérée à moins qu'un finaliseur de rang tacite a été déclaré" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, gcc-internal-format + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "%qs et %qs ne peuvent pas être FUNCTION/SUBROUTINE mixte pour GENERIC %qs à %L" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, gcc-internal-format + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "%qs et %qs pour GENERIC %qs à %L sont ambigus" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, gcc-internal-format + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "Liaison spécifique %qs non définie comme cible du GENERIC %qs à %L" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, gcc-internal-format + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "GENERIC %qs à %L doit cibler une liaison spécifique, %qs est GENERIC aussi" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, gcc-internal-format + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "GENERIC %qs à %L ne peut écraser la liaison spécifique avec le même nom" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, gcc-internal-format, gfc-internal-format + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "L'opérateur lié au type à %L ne peut pas être NOPASS" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, gcc-internal-format + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "%qs doit être une procédure de module ou une procédure externe avec une interface explicite à %L" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, gcc-internal-format + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "La procédure %qs avec PASS(%s) à %L n'a pas d'argument %qs" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, gcc-internal-format + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "La procédure %qs avec PASS à %L doit avoir au moins un argument" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, gcc-internal-format + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "Argument muet passé comme objet non polymorphique de %qs à %L" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "L'argument %qs de %qs avec PASS(%s) à %L doit être du type dérivé %qs" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "L'argument muet de type objet passé de %qs à %L doit être scalaire" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "L'argument muet de type objet passé de %qs à %L ne peut pas être ALLOCATABLE" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "L'argument muet de type objet passé de %qs à %L ne peut pas être POINTER" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "La procédure %qs à %L a le même nom qu'un composant de %qs" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "La procédure %qs à %L a le même nom qu'un composant hérité de %qs" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, gcc-internal-format + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "Le type dérivé %qs déclaré à %L doit être ABSTRACT car %qs est DEFERRED et pas redéfini" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, gcc-internal-format + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "Le composant co-tableau %qs à %L doit être allouable avec une forme différée" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, gcc-internal-format + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "Le composant %qs à %L ayant TYPE(C_PTR) ou TYPE(C_FUNPTR) ne sera point un co-tableau" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, gcc-internal-format + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "Le composant %qs à %L avec le composant co-tableau sera un scalaire non pointeur, non allouable" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, gcc-internal-format + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "Le composant %qs à %L a l'attribut CONTIGUOUS mais n'est pas un pointeur de tableau" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, gcc-internal-format + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "Le composant %qs du type BIND(C) à %L doit avoir la longueur un" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "Le composant pointeur de procédure %qs avec PASS(%s) à %L n'a pas d'argument %qs" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "Le composant pointeur de procédure %qs avec PASS à %L doit avoir au moins un argument" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "L'argument %qs de %qs avec PASS(%s) à %L doit être du type dérivé %qs" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "L'argument %qs de %qs avec PASS(%s) à %L doit être scalaire" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "L'argument %qs de %qs avec PASS(%s) à %L ne peut pas avoir l'attribut POINTER" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "L'argument %qs de %qs avec PASS(%s) à %L ne peut pas être ALLOCATABLE" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, gcc-internal-format + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "Le composant %qs de %qs à %L a le même nom qu'une procédure liée au type héritée" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, gcc-internal-format + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "La longueur de caractère du composant %qs doit être une expression de spécification constante à %L" + +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, gcc-internal-format + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "L'expression de longueur de caractère du composent %qs à %L doit être du type INTEGER et non %s" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, gcc-internal-format + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "Le composant caractère %qs de %qs à %L avec une longueur différée doit être POINTER ou ALLOCATABLE" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, gcc-internal-format + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "le composant %qs est un type PRIVATE et ne peut pas être un composant de %qs, qui est PUBLIC à %L" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "Le composant polymorphique %s à %L dans le type %s SEQUENCE ou BIND(C)" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, gcc-internal-format, gfc-internal-format + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "Le composant %s du type SEQUENCE déclaré à %L n'a pas l'attribut SEQUENCE" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, gcc-internal-format, gfc-internal-format + msgid "Conflicting initializers in union at %L and %L" + msgstr "Initialisations conflictuelles dans l'union à %L et %L" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, gcc-internal-format + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "Puisque l'extension du type %qs à %L a un composant co-tableau, le type parent %qs en aura un aussi" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, gcc-internal-format + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "Le type dérivé non extensible %qs à %L ne peut pas être ABSTRACT" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "Le type paramétrisé %qs n'a pas de composant correspondant au paramètre %qs à %L" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, gcc-internal-format + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "Nom générique %qs de la fonction %qs à %L étant le même nom que le type dérivé à %L" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, gcc-internal-format + msgid "Derived type %qs at %L has not been declared" + msgstr "Le type dérivé %qs à %L n'a pas été déclaré" + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, gcc-internal-format + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "Le tableau de taille tacite %qs dans la liste de noms %qs à %L n'est pas permis" + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, gcc-internal-format + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "Objet tableau NAMELIST %qs avec la forme tacite dans la liste de noms %qs à %L" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, gcc-internal-format + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "Objet tableau NAMELIST %qs avec la forme non constante dans la liste de noms %qs à %L" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, gcc-internal-format + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "Objet NAMELIST %qs avec une longueur de caractère non constante dans la liste de noms %qs à %L" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, gcc-internal-format + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "L'objet NAMELIST %qs a été déclaré PRIVATE et ne peut pas être membre de la liste de noms PUBLIC %qs à %L" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, gcc-internal-format + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "L'objet NAMELIST %qs a des composants PRIVATE associés à USE et ne peut pas être membre de la liste de noms %qs à %L" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, gcc-internal-format + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "L'objet NAMELIST %qs a des composants PRIVATE et ne peut pas être un membre de la liste de noms PUBLIC %qs à %L" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "L'attribut PROCEDURE est en conflit avec l'attribut NAMELIST dans %qs à %L" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, gcc-internal-format + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "Le tableau paramètre %qs à %L ne peut pas être automatique ou de forme différée" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, gcc-internal-format + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "Le PARAMETER %qs implicitement typé à %L ne concorde pas avec le type IMPLICIT ultérieur" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "Type dérivé incompatible dans PARAMETER à %L" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, gcc-internal-format + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "La variable CLASS %qs à %L ne peut pas avoir l'attribut PARAMETER" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, gcc-internal-format + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "L'objet %qs à %L a un paramètre LEN différé %qs et n'est ni allouable ni un pointeur" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "L'objet AUTOMATIC %qs à %L ne doit pas avoir l'attribut SAVE ou être une variable déclarée dans le programme principal, un module ou un sous-module(F08/C513)" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "L'objet %qs à %L avec des paramètres de type ASSUMED doit être fictif ou un sélecteur SELECT TYPE(F08/4.2)" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "Désolé, les composants allouables/pointeurs dans des co-tableaux de types polymorphiques (CLASS) à %L ne sont pas supportés" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "%, déclaré à %L, peut uniquement être utilisé dans la clause OpenMP DEPEND" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, gcc-internal-format, gfc-internal-format + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "L'attribut PROTECTED est en conflit avec l'attribut EXTERNAL à %L" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, gcc-internal-format, gfc-internal-format + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "L'attribut PROCEDURE est en conflit avec l'attribut PROTECTED à %L" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, gcc-internal-format + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "%qs à %L a l'attribut CONTIGUOUS mais il n'est pas un pointeur de tableau ou un tableau de forme tacite ou de rang tacite" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, gcc-internal-format, gfc-internal-format + msgid "Bad specification for assumed size array at %L" + msgstr "Mauvaise spécification pour le tableau de taille tacite à %L" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "Le tableau de taille tacite à %L doit être un argument muet" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "Le tableau de forme tacite à %L doit être un argument muet" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "Le tableau de rang tacite à %L doit être un argument muet" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "Le tableau de rang tacite à %L ne peut pas avoir les attributs VALUE ou CODIMENSION" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "Le symbole à %L n'est pas une variable MUETTE" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, gcc-internal-format + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "%qs à %L ne peut pas avoir l'attribut VALUE car ce n'est pas un argument muet" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, gcc-internal-format + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "La variable muette caractère %qs à %L avec l'attribut VALUE doit avoir une longueur constante" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, gcc-internal-format + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "La variable muette caractère %qs, interopérable avec le C, à %L avec l'attribut VALUE doit avoir la longueur un" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, gcc-internal-format + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "Le type dérivé %qs à %L est du type %qs qui n'a pas été défini" + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "La variable %s à %L avec l'attribut NO_ARG_CHECK sera un argument muet" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "La variable %s à %L avec l'attribut NO_ARG_CHECK sera du type TYPE(*) ou d'un type intrinsèque numérique" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "La variable %s à %L avec l'attribut NO_ARG_CHECK ne peut pas avoir les attributs ALLOCATABLE, CODIMENSION, POINTER ou VALUE" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "La variable %s à %L avec l'attribut NO_ARG_CHECK ne peut pas avoir l'attribut INTENT(OUT)" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "La variable %s à %L avec l'attribut NO_ARG_CHECK sera soit un scalaire ou un tableau de taille tacite" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "Le type tacite de la variable %s à %L est uniquement permis pour des variables muettes" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "La variable de type tacite %s à %L ne peut pas avoir les attributs ALLOCATABLE, CODIMENSION, POINTER ou VALUE" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "La variable de type tacite %s à %L ne peut pas avoir l'attribut INTENT(OUT)" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "La variable de type tacite %s à %L ne sera point un tableau de forme explicite" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, gcc-internal-format + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "La variable %qs à %L ne peut pas être BIND(C) car elle n'est ni un bloc COMMON ni déclarée au niveau du module" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, gcc-internal-format + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "La variable BIND(C) %qs à %L doit avoir la longueur un" + + # %s est soit « parameter » ou « variable » sans traduction + # voir bug #80195 +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, gcc-internal-format + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "PUBLIC %s %qs à %L du type dérivé PRIVATE %qs" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "La variable %s à %L du type LOCK_TYPE ou avec un sous-composant de type LOCK_TYPE doit être un co-tableau" + +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "La variable %s à %L du type EVENT_TYPE ou avec un sous-composant du type EVENT_TYPE doit être un co-tableau" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, gcc-internal-format + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "L'argument muet INTENT(OUT) %qs à %L est ASSUMED SIZE et, par conséquent, ne peut pas avoir une initialisation par défaut" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "L'argument muet %qs à %L qui est LOCK_TYPE ne sera point INTENT(OUT)" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "L'argument muet %qs à %L qui est EVENT_TYPE ne sera point INTENT(OUT)" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, gcc-internal-format + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "Le résultat %qs de la fonction à %L ne sera point un co-tableau et n'aura point un composant co-tableau" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, gcc-internal-format + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "La variable %qs à %L du TYPE(C_PTR) ou TYPE(C_FUNPTR) ne sera point un co-tableau" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, gcc-internal-format + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "La variable %qs à %L avec un composant co-tableau doit être un scalaire non pointeur, non allouable qui n'est pas un co-tableau" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, gcc-internal-format + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "La variable %qs à %L est un co-tableau qui n'est pas ALLOCATABLE, SAVE ni un argument muet" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, gcc-internal-format + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "La variable co-tableau %qs à %L n'aura pas de co-dimensions avec une forme différée" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, gcc-internal-format + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "La variable co-tableau allouable %qs à %L doit avoir une forme différée" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, gcc-internal-format + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "La variable %qs à %L est INTENT(OUT) et ne peut donc pas être un co-tableau allouable ou avoir des composants co-tableaux" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, gcc-internal-format + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "La variable muette co-tableau %qs à %L n'est pas permise dans la procédure BIND(C) %qs" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, gcc-internal-format + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "Argument muet LOGICAL %qs à %L avec le sous-type non C_Bool dans la procédure BIND(C) %qs" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, gcc-internal-format + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "Variable résultat LOGICAL %qs à %L avec le sous-type non C_Bool dans la procédure BIND(C) %qs" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, gcc-internal-format + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "La liste de noms %qs ne peut pas être un argument de la sous-routine ou de la fonction à %L" + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "Le threadprivate à %L n'est pas sauvegardé avec SAVE" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "La variable !$OMP DECLARE TARGET %qs à %L n'est pas sauvegardée avec SAVE" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, gcc-internal-format, gfc-internal-format + msgid "Expecting definable entity near %L" + msgstr "Entité définissable attendue près de %L" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, gcc-internal-format + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "L'élément BLOCK DATA %qs à %L doit être dans COMMON" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, gcc-internal-format + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "Le tableau DATA %qs à %L doit être spécifié dans une déclaration précédente" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "L'élément DATA %qs à %L ne peut pas avoir un co-index" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "L'élément DATA %qs à %L est un pointeur et doit donc être un tableau à part entière" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "L'objet DATA près de %L a l'attribut pointeur et la valeur DATA correspondante n'est pas une cible de donnée initiale valable" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "L'élément DATA %qs à %L ne peut pas avoir l'attribut ALLOCATABLE" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "Section de tableau non constante à %L dans l'instruction DATA" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "L'instruction DATA à %L a plus de variables que de valeurs" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "Le début de la boucle DO implicite à %L n'a pas pu être simplifiée en une valeur constante" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "La fin de la boucle DO implicite à %L n'a pas pu être simplifiée en une valeur constante" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "Le pas de la boucle DO implicite à %L n'a pas pu être simplifiée en une valeur constante" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L shall not be zero" + msgstr "le pas de la boucle DO implicite à %L ne sera point zéro" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "L'instruction DATA à %L a plus de valeurs que de variables" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but not used" + msgstr "L'étiquette %d à %L est définie mais non utilisée" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but cannot be used" + msgstr "L'étiquette %d à %L est définie mais ne peut pas être utilisée" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, gcc-internal-format + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "La variable de type dérivé %qs à %L doit avoir l'attribut SEQUENCE pour être un objet EQUIVALENCE" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, gcc-internal-format + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "La variable de type dérivé %qs à %L ne peut pas avoir des composants ALLOCATABLE pour être un objet EQUIVALENCE" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "La variable de type dérivé %qs à %L avec une initialisation par défaut ne peut pas être dans une EQUIVALENCE avec une variable dans COMMON" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "La variable de type dérivé %qs à %L avec un ou des composants pointeurs ne peut pas être dans un objet EQUIVALENCE" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "Erreur de syntaxe dans l'instruction EQUIVALENCE à %L" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "Soit aucun ou tous les objets dans l'ensemble EQUIVALENCE à %L aura l'attribut PROTECTED" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, gcc-internal-format + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "Le membre %qs du bloc COMMON à %L ne peut pas être un objet EQUIVALENCE dans la procédure pure %qs" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, gcc-internal-format + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "La constante nommée %qs à %L ne peut pas être un objet EQUIVALENCE" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, gcc-internal-format + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "Le tableau %qs à %L avec des limites non constantes ne peut pas être un objet EQUIVALENCE" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, gcc-internal-format + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "Le composant de structure %qs à %L ne peut pas être un objet EQUIVALENCE" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "La sous-chaîne à %L a une longueur zéro" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, gcc-internal-format + msgid "Self reference in character length expression for %qs at %L" + msgstr "Référence à elle-même dans l'expression de longueur de caractère pour %qs à %L" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, gcc-internal-format + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "Fonction PUBLIC %qs à %L du type PRIVATE %qs" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, gcc-internal-format + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "ENTRY %qs à %L n'a pas de type IMPLICIT" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "La procédure opérateur utilisateur %qs à %L doit être une FUNCTION" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, gcc-internal-format + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "La procédure opérateur utilisateur %qs à %L ne peut pas être une longueur de caractère tacite" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "La procédure opérateur utilisateur %qs à %L doit avoir au moins un argument" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "Le premier argument de l'interface opérateur à %L ne peut pas être optionnel" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "Le deuxième argument de l'interface opérateur à %L ne peut pas être optionnel" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "L'interface opérateur à %L doit avoir, au plus, deux arguments" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, gcc-internal-format + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" + msgstr "La procédure contenue %qs à %L d'une procédure PURE doit aussi être PURE" +@@ -77934,7 +77914,7 @@ msgstr "Initialisations inégales et se chevauchant dans EQUIVALENCE à %L" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "Initialisations inégales et se chevauchant dans EQUIVALENCE à %C" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "Le constructeur de structure à %C a été finalisé. Cette fonctionnalité a été enlevée par f08/0011. Utilisez -std=f2018 ou -std=gnu pour éliminer la finalisation." +@@ -77946,12 +77926,12 @@ msgstr "Le constructeur de structure à %C a été finalisé. Cette fonctionnali + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "Le nombre d'éléments dans le constructeur du tableau à %L requiert une augmentation de la limite supérieure permise %d. Voyez l'option %<-fmax-array-constructor%>" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, gcc-internal-format + msgid "Creating array temporary at %L for argument %qs" + msgstr "Création d'un temporaire pour le tableau à %L dans l'argument %qs" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "mauvais type d'expression durant le parcours (%d)" +@@ -78043,86 +78023,81 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "Le tableau %qs à %L est plus grand que la limite définie par %<-fmax-stack-var-size=%>, il est déplacé de la pile vers la zone de stockage statique. Ceci rend la procédure non sûr lorsqu'elle est appelée récursivement ou simultanément depuis plusieurs threads. Envisagez d'augmenter la limite de %<-fmax-stack-var-size=%> (ou d'utiliser %<-frecursive%> qui implique %<-fmax-stack-var-size%>) – ou changez le code pour utiliser un tableau ALLOCATABLE. Si la variable n'est jamais accédée de manière concurrentielle, cet avertissement peut être ignoré et la variable pourrait aussi être déclarée avec l'attribut SAVE." + + #: fortran/trans-decl.cc:1795 +-#, gcc-internal-format, gfc-internal-format +-msgid "%s at %C has no default type" +-msgstr "%s à %C n'a pas de type par défaut" +- +-#: fortran/trans-decl.cc:1798 + #, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "variable intrinsèque qui n'est pas une procédure" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, gcc-internal-format + msgid "Return value of function %qs at %L not set" + msgstr "La valeur de retour de la fonction %qs à %L n'est pas définie" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, gcc-internal-format + msgid "Deferred type parameter not yet supported" + msgstr "Paramètre de type différé pas encore supporté" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, gcc-internal-format + msgid "backend decl for module variable %qs already exists" + msgstr "Le backend decl pour la variable de module %qs existe déjà" + +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, gcc-internal-format + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "La variable de module PRIVATE %qs inutilisée est déclarée à %L" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "Le symbole %qs à %L a l'attribut WEAK mais c'est un argument muet" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "Le symbole %qs à %L a l'attribut WEAK mais il est une variable locale" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, gcc-internal-format + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "L'argument muet %qs à %L a été déclaré INTENT(OUT) mais n'a pas reçu de valeur" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, gcc-internal-format + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "L'argument muet %qs d'un type dérivé à %L a été déclaré INTENT(OUT) mais n'a pas reçu de valeur et n'a pas d'initialisation par défaut" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, gcc-internal-format + msgid "Unused dummy argument %qs at %L" + msgstr "Argument muet %qs inutilisé à %L" + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, gcc-internal-format + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "La variable de module %qs est inutilisée mais elle a été importée explicitement à %L" + +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, gcc-internal-format + msgid "Unused variable %qs declared at %L" + msgstr "Variable %qs inutilisée déclarée à %L" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, gcc-internal-format + msgid "Unused parameter %qs declared at %L" + msgstr "Paramètre %qs inutilisé déclaré à %L" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, gcc-internal-format + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "Le paramètre %qs est inutilisé mais il a été importé explicitement à %L" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, gcc-internal-format + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "La valeur de retour %qs de la fonction %qs est déclarée à %L mais ne reçoit pas de valeur" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "Désolé, !$ACC DECLARE à %L n'est pas permis dans une construction BLOCK" +@@ -78137,27 +78112,27 @@ msgstr "Impossible de calculer la longueur du tableau de caractères à %L." + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "Du code pour réallouer la variable allouable à %L va être ajouté" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "Désolé, un accès co-indexé à un objet polymorphique illimité à %L n'est pas supporté" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "Désolé, un accès co-indexé à un composant polymorphique illimité à %L n'est pas supporté" + +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, gcc-internal-format + msgid "Unknown intrinsic op" + msgstr "Op intrinsèque inconnue" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, gcc-internal-format, gfc-internal-format + msgid "Unknown argument list function at %L" + msgstr "Fonction de liste d'arguments inconnue à %L" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "Si le remappage des limites est spécifié à %L, la cible du pointeur ne sera point NULL" +@@ -79956,9 +79931,6 @@ msgstr "la valeur de retour de type %qT est ignorée, ceci doit être utilisé" + msgid "unused name %qE" + msgstr "paramètre %qE inutilisé" + +-#~ msgid "invalid operand size for operand code 'Z'" +-#~ msgstr "taille d'opérande invalide pour le code d'opérande « Z »" +- + #~ msgid "Implement DIP25: Sealed references." + #~ msgstr "Implémenter DIP25: Références scellées." + +diff --git a/gcc/po/gcc.pot b/gcc/po/gcc.pot +index 8fd0f52ce60..4009bd2db59 100644 +--- a/gcc/po/gcc.pot ++++ b/gcc/po/gcc.pot +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-07-26 18:38+0000\n" ++"POT-Creation-Date: 2023-04-25 21:43+0000\n" + "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" + "Last-Translator: FULL NAME \n" + "Language-Team: LANGUAGE \n" +@@ -325,11 +325,11 @@ msgstr "" + msgid "-force_flat_namespace not allowed with -dynamiclib" + msgstr "" + +-#: config/darwin.h:213 config/darwin.h:604 ++#: config/darwin.h:213 config/darwin.h:596 + msgid "gsplit-dwarf is not supported on this platform" + msgstr "" + +-#: config/darwin.h:276 ++#: config/darwin.h:277 + msgid "rdynamic is not supported" + msgstr "" + +@@ -3895,331 +3895,326 @@ msgstr "" + + #: d/lang.opt:143 + #, no-c-format +-msgid "Warn when a special enum is declared with the wrong base type." +-msgstr "" +- +-#: d/lang.opt:151 +-#, no-c-format + msgid "Warn from speculative compiles such as __traits(compiles)." + msgstr "" + +-#: d/lang.opt:163 ++#: d/lang.opt:155 + #, no-c-format + msgid "Generate JSON file." + msgstr "" + +-#: d/lang.opt:167 ++#: d/lang.opt:159 + #, no-c-format + msgid "-Xf \tWrite JSON output to the given ." + msgstr "" + +-#: d/lang.opt:171 ++#: d/lang.opt:163 + #, no-c-format + msgid "Debug library to use instead of phobos." + msgstr "" + +-#: d/lang.opt:175 ++#: d/lang.opt:167 + #, no-c-format + msgid "Default library to use instead of phobos." + msgstr "" + +-#: d/lang.opt:179 ++#: d/lang.opt:171 + #, no-c-format + msgid "Do link the standard D startup files in the compilation." + msgstr "" + +-#: d/lang.opt:186 ++#: d/lang.opt:178 + #, no-c-format + msgid "Generate code for all template instantiations." + msgstr "" + +-#: d/lang.opt:190 ++#: d/lang.opt:182 + #, no-c-format + msgid "Generate code for assert contracts." + msgstr "" + +-#: d/lang.opt:198 ++#: d/lang.opt:190 + #, no-c-format + msgid "" + "-fbounds-check=[on|safeonly|off]\tTurn array bounds checks on, in @safe code " + "only, or off." + msgstr "" + +-#: d/lang.opt:240 ++#: d/lang.opt:232 + #, no-c-format + msgid "-fcheckaction=[throw,halt,context]\tBehavior on contract failure." + msgstr "" + +-#: d/lang.opt:256 ++#: d/lang.opt:248 + #, no-c-format + msgid "Compile in debug code." + msgstr "" + +-#: d/lang.opt:260 ++#: d/lang.opt:252 + #, no-c-format + msgid "-fdebug=\tCompile in debug code identified by ." + msgstr "" + +-#: d/lang.opt:264 ++#: d/lang.opt:256 + #, no-c-format + msgid "Generate documentation." + msgstr "" + +-#: d/lang.opt:268 ++#: d/lang.opt:260 + #, no-c-format + msgid "-fdoc-dir=\tWrite documentation file to directory ." + msgstr "" + +-#: d/lang.opt:272 ++#: d/lang.opt:264 + #, no-c-format + msgid "-fdoc-file=\tWrite documentation to ." + msgstr "" + +-#: d/lang.opt:276 ++#: d/lang.opt:268 + #, no-c-format + msgid "-fdoc-inc=\tInclude a Ddoc macro ." + msgstr "" + +-#: d/lang.opt:280 ++#: d/lang.opt:272 + #, no-c-format + msgid "Assume that standard D runtime libraries and \"D main\" exist." + msgstr "" + +-#: d/lang.opt:284 ++#: d/lang.opt:276 + #, no-c-format + msgid "Add comments for ignored declarations in the generated C++ header." + msgstr "" + +-#: d/lang.opt:288 ++#: d/lang.opt:280 + #, no-c-format + msgid "" + "-fdump-cxx-spec=\tWrite all declarations as C++ code to ." + msgstr "" + +-#: d/lang.opt:292 ++#: d/lang.opt:284 + #, no-c-format + msgid "Display the frontend AST after parsing and semantic passes." + msgstr "" + +-#: d/lang.opt:300 ++#: d/lang.opt:288 + #, no-c-format + msgid "" + "-fextern-std=\tSet C++ name mangling compatibility with ." + msgstr "" + +-#: d/lang.opt:325 ++#: d/lang.opt:313 + #, no-c-format + msgid "Ignore unsupported pragmas." + msgstr "" + +-#: d/lang.opt:329 ++#: d/lang.opt:317 + #, no-c-format + msgid "Generate code for class invariant contracts." + msgstr "" + +-#: d/lang.opt:333 ++#: d/lang.opt:321 + #, no-c-format + msgid "Generate a default D main() function when compiling." + msgstr "" + +-#: d/lang.opt:337 ++#: d/lang.opt:325 + #, no-c-format + msgid "" + "-fmodule-file==\tuse as source file for " + "." + msgstr "" + +-#: d/lang.opt:341 ++#: d/lang.opt:329 + #, no-c-format + msgid "Generate ModuleInfo struct for output module." + msgstr "" + +-#: d/lang.opt:345 ++#: d/lang.opt:333 + #, no-c-format + msgid "" + "Process all modules specified on the command line, but only generate code " + "for the module specified by the argument." + msgstr "" + +-#: d/lang.opt:349 ++#: d/lang.opt:337 + #, no-c-format + msgid "Generate code for postcondition contracts." + msgstr "" + +-#: d/lang.opt:353 ++#: d/lang.opt:341 + #, no-c-format + msgid "Generate code for precondition contracts." + msgstr "" + +-#: d/lang.opt:357 ++#: d/lang.opt:345 + #, no-c-format + msgid "Turn on all upcoming D language features." + msgstr "" + +-#: d/lang.opt:361 ++#: d/lang.opt:349 + #, no-c-format + msgid "Implement D bit-fields." + msgstr "" + +-#: d/lang.opt:365 ++#: d/lang.opt:353 + #, no-c-format + msgid "Implement DIP1000: Scoped pointers." + msgstr "" + +-#: d/lang.opt:369 ++#: d/lang.opt:357 + #, no-c-format + msgid "Implement DIP1008: Allow exceptions in @nogc code." + msgstr "" + +-#: d/lang.opt:373 ++#: d/lang.opt:361 + #, no-c-format + msgid "Implement DIP1021: Mutable function arguments." + msgstr "" + +-#: d/lang.opt:377 ++#: d/lang.opt:365 + #, no-c-format + msgid "Destruct fields of partially constructed objects." + msgstr "" + +-#: d/lang.opt:381 ++#: d/lang.opt:369 + #, no-c-format + msgid "Use field-wise comparisons for struct equality." + msgstr "" + +-#: d/lang.opt:385 ++#: d/lang.opt:373 + #, no-c-format + msgid "" + "When a symbol is resolved, check `alias this' scope before going to upper " + "scopes." + msgstr "" + +-#: d/lang.opt:389 ++#: d/lang.opt:377 + #, no-c-format + msgid "" + "Disallow unsound immutable conversions that were formerly incorrectly " + "permitted." + msgstr "" + +-#: d/lang.opt:393 ++#: d/lang.opt:381 + #, no-c-format + msgid "Implement 'in' parameters to mean scope const." + msgstr "" + +-#: d/lang.opt:397 ++#: d/lang.opt:385 + #, no-c-format + msgid "" + "Implement 'in' contracts of overridden methods to be a superset of parent " + "contract." + msgstr "" + +-#: d/lang.opt:401 ++#: d/lang.opt:389 + #, no-c-format + msgid "Disable access to shared memory objects." + msgstr "" + +-#: d/lang.opt:405 ++#: d/lang.opt:393 + #, no-c-format + msgid "Enable rvalue arguments to ref parameters." + msgstr "" + +-#: d/lang.opt:409 ++#: d/lang.opt:397 + #, no-c-format + msgid "Disable access to variables marked `@system' from @safe code." + msgstr "" + +-#: d/lang.opt:413 ++#: d/lang.opt:401 + #, no-c-format + msgid "Compile release version." + msgstr "" + +-#: d/lang.opt:417 ++#: d/lang.opt:405 + #, no-c-format + msgid "Turn off all revertable D language features." + msgstr "" + +-#: d/lang.opt:421 ++#: d/lang.opt:409 + #, no-c-format + msgid "Revert DIP1000: Scoped pointers." + msgstr "" + +-#: d/lang.opt:425 ++#: d/lang.opt:413 + #, no-c-format + msgid "Don't destruct fields of partially constructed objects." + msgstr "" + +-#: d/lang.opt:429 ++#: d/lang.opt:417 + #, no-c-format + msgid "Don't use C-style integral promotion for unary '+', '-' and '~'." + msgstr "" + +-#: d/lang.opt:437 ++#: d/lang.opt:425 + #, no-c-format + msgid "" + "-fsave-mixins=\tExpand and save mixins to file specified by " + "." + msgstr "" + +-#: d/lang.opt:441 ++#: d/lang.opt:429 + #, no-c-format + msgid "Generate code for switches without a default case." + msgstr "" + +-#: d/lang.opt:445 ++#: d/lang.opt:433 + #, no-c-format + msgid "List information on all D language transitions." + msgstr "" + +-#: d/lang.opt:449 ++#: d/lang.opt:437 + #, no-c-format + msgid "List all non-mutable fields which occupy an object instance." + msgstr "" + +-#: d/lang.opt:453 ++#: d/lang.opt:441 + #, no-c-format + msgid "List all usages of 'in' on parameter." + msgstr "" + +-#: d/lang.opt:457 ++#: d/lang.opt:445 + #, no-c-format + msgid "List all hidden GC allocations." + msgstr "" + +-#: d/lang.opt:461 ++#: d/lang.opt:449 + #, no-c-format + msgid "List statistics on template instantiations." + msgstr "" + +-#: d/lang.opt:465 ++#: d/lang.opt:453 + #, no-c-format + msgid "List all variables going into thread local storage." + msgstr "" + +-#: d/lang.opt:469 ++#: d/lang.opt:457 + #, no-c-format + msgid "Compile in unittest code." + msgstr "" + +-#: d/lang.opt:473 ++#: d/lang.opt:461 + #, no-c-format + msgid "-fversion=\tCompile in version code identified by ." + msgstr "" + +-#: d/lang.opt:477 ++#: d/lang.opt:465 + #, no-c-format + msgid "Emit template instantiations as weak symbols." + msgstr "" + +-#: d/lang.opt:497 ++#: d/lang.opt:485 + #, no-c-format + msgid "Do not link the standard D library in the compilation." + msgstr "" + +-#: d/lang.opt:505 ++#: d/lang.opt:493 + #, no-c-format + msgid "Link the standard D library statically in the compilation." + msgstr "" + +-#: d/lang.opt:509 ++#: d/lang.opt:497 + #, no-c-format + msgid "Link the standard D library dynamically in the compilation." + msgstr "" +@@ -5272,108 +5267,108 @@ msgstr "" + msgid "Generate code for darwin loadable kernel extensions." + msgstr "" + +-#: config/darwin.opt:38 config/darwin.opt:46 ++#: config/darwin.opt:38 + #, no-c-format +-msgid "Generate compile-time CFString objects." ++msgid "" ++"-iframework \tAdd to the end of the system framework include path." + msgstr "" + + #: config/darwin.opt:42 + #, no-c-format +-msgid "" +-"-iframework \tAdd to the end of the system framework include path." ++msgid "Generate compile-time CFString objects." + msgstr "" + +-#: config/darwin.opt:50 ++#: config/darwin.opt:46 + #, no-c-format + msgid "Warn if constant CFString objects contain non-portable characters." + msgstr "" + +-#: config/darwin.opt:55 ++#: config/darwin.opt:51 + #, no-c-format + msgid "Generate AT&T-style stubs for Mach-O." + msgstr "" + +-#: config/darwin.opt:59 ++#: config/darwin.opt:55 + #, no-c-format + msgid "Generate code suitable for executables (NOT shared libs)." + msgstr "" + +-#: config/darwin.opt:63 ++#: config/darwin.opt:59 + #, no-c-format + msgid "Generate code suitable for fast turn around debugging." + msgstr "" + +-#: config/darwin.opt:67 ++#: config/darwin.opt:63 + #, no-c-format + msgid "Generate code for the kernel or loadable kernel extensions." + msgstr "" + +-#: config/darwin.opt:75 ++#: config/darwin.opt:71 + #, no-c-format + msgid "The earliest macOS version on which this program will run." + msgstr "" + +-#: config/darwin.opt:80 ++#: config/darwin.opt:76 + #, no-c-format + msgid "Set sizeof(bool) to 1." + msgstr "" + +-#: config/darwin.opt:84 ++#: config/darwin.opt:80 + #, no-c-format + msgid "Force generation of external symbol indirection stubs." + msgstr "" + +-#: config/darwin.opt:92 ++#: config/darwin.opt:88 + #, no-c-format + msgid "" + "-mtarget-linker \tSpecify that ld64 is the toolchain " + "linker for the current invocation." + msgstr "" + +-#: config/darwin.opt:98 ++#: config/darwin.opt:94 + #, no-c-format + msgid "" + "Load all members of archive libraries, rather than only those that satisfy " + "undefined symbols." + msgstr "" + +-#: config/darwin.opt:102 ++#: config/darwin.opt:98 + #, no-c-format + msgid "" + "-allowable_client \tThe output dylib is private to the client ." + msgstr "" + +-#: config/darwin.opt:106 ++#: config/darwin.opt:102 + #, no-c-format + msgid "-arch \tGenerate output for architecture ." + msgstr "" + +-#: config/darwin.opt:110 ++#: config/darwin.opt:106 + #, no-c-format + msgid "" + "Mismatches between file architecture and one specified by \"-arch\" are " + "errors instead of warnings." + msgstr "" + +-#: config/darwin.opt:114 ++#: config/darwin.opt:110 + #, no-c-format + msgid "" + "The earliest macOS version on which this program will run (formatted for the " + "assembler)." + msgstr "" + +-#: config/darwin.opt:118 ++#: config/darwin.opt:114 + #, no-c-format + msgid "" + "Generate an output executable that binds symbols on load, rather than lazily." + msgstr "" + +-#: config/darwin.opt:122 ++#: config/darwin.opt:118 + #, no-c-format + msgid "Generate a Mach-O bundle (file type MH_BUNDLE)." + msgstr "" + +-#: config/darwin.opt:126 ++#: config/darwin.opt:122 + #, no-c-format + msgid "" + "-bundle_loader \tTreat (that will be loading this " +@@ -5381,14 +5376,14 @@ msgid "" + "against for symbol resolution." + msgstr "" + +-#: config/darwin.opt:130 ++#: config/darwin.opt:126 + #, no-c-format + msgid "" + "-client_name \tEnable the executable being built to link against a " + "private dylib (using allowable_client)." + msgstr "" + +-#: config/darwin.opt:134 ++#: config/darwin.opt:130 + #, no-c-format + msgid "" + "-compatibility_version \tSet the version for the client interface. " +@@ -5396,21 +5391,21 @@ msgid "" + "binding will fail at runtime." + msgstr "" + +-#: config/darwin.opt:138 ++#: config/darwin.opt:134 + #, no-c-format + msgid "" + "-current_version \tSet the current version for the library to " + "." + msgstr "" + +-#: config/darwin.opt:142 ++#: config/darwin.opt:138 + #, no-c-format + msgid "" + "Remove code and data that is unreachable from any exported symbol (including " + "the entry point)." + msgstr "" + +-#: config/darwin.opt:146 ++#: config/darwin.opt:142 + #, no-c-format + msgid "" + "-dylib_file install_name:file_name\tThis allows linking of a dylib with " +@@ -5418,66 +5413,66 @@ msgid "" + "\"file_name\"" + msgstr "" + +-#: config/darwin.opt:150 ++#: config/darwin.opt:146 + #, no-c-format + msgid "" + "Produce a Mach-O dylinker (file type MH_DYLINKER), only used for building " + "dyld." + msgstr "" + +-#: config/darwin.opt:154 ++#: config/darwin.opt:150 + #, no-c-format + msgid "-dylinker_install_name \tOnly used for building dyld." + msgstr "" + +-#: config/darwin.opt:158 ++#: config/darwin.opt:154 + #, no-c-format + msgid "" + "The default (and opposite of -static), implied by user mode executables, " + "shared libraries and bundles." + msgstr "" + +-#: config/darwin.opt:162 ++#: config/darwin.opt:158 + #, no-c-format + msgid "" + "Produce a Mach-O shared library (file type MH_DYLIB), synonym for \"-" + "shared\"." + msgstr "" + +-#: config/darwin.opt:166 ++#: config/darwin.opt:162 + #, no-c-format + msgid "" + "-exported_symbols_list \tExport global symbols in in " + "linked output file; any symbols not mentioned will be treated as \"hidden\"." + msgstr "" + +-#: config/darwin.opt:170 ++#: config/darwin.opt:166 + #, no-c-format + msgid "" + "Supply a list of objects to be linked from a file, rather than the command " + "line." + msgstr "" + +-#: config/darwin.opt:174 config/darwin.opt:194 ++#: config/darwin.opt:170 config/darwin.opt:190 + #, no-c-format + msgid "Used for generating code for some older kernel revisions." + msgstr "" + +-#: config/darwin.opt:178 ++#: config/darwin.opt:174 + #, no-c-format + msgid "" + "Ignore the normal two-level namespace; resolve symbols in command line order " + "and do not record which library provided the resolved symbol." + msgstr "" + +-#: config/darwin.opt:182 ++#: config/darwin.opt:178 + #, no-c-format + msgid "" + "For the assembler (and linker) permit any architecture sub-variant to be " + "used without error." + msgstr "" + +-#: config/darwin.opt:186 ++#: config/darwin.opt:182 + #, no-c-format + msgid "" + "Set the output object such that, on loading, dyld will ignore any two-level " +@@ -5485,70 +5480,70 @@ msgid "" + "libs." + msgstr "" + +-#: config/darwin.opt:190 ++#: config/darwin.opt:186 + #, no-c-format + msgid "" + "-framework \tThe linker should search for the framework in the " + "framework search path." + msgstr "" + +-#: config/darwin.opt:198 ++#: config/darwin.opt:194 + #, no-c-format + msgid "Abbreviation for \"-g -fno-eliminate-unused-debug-symbols\"." + msgstr "" + +-#: config/darwin.opt:202 ++#: config/darwin.opt:198 + #, no-c-format + msgid "Abbreviation for \"-g -feliminate-unused-debug-symbols\"." + msgstr "" + +-#: config/darwin.opt:206 ++#: config/darwin.opt:202 + #, no-c-format + msgid "" + "Automatically adds space for longer path names in load commands (up to " + "MAXPATHLEN)." + msgstr "" + +-#: config/darwin.opt:210 ++#: config/darwin.opt:206 + #, no-c-format + msgid "" + "-image_base
\tSpecify
as the base address for a dylib or " + "bundle." + msgstr "" + +-#: config/darwin.opt:214 ++#: config/darwin.opt:210 + #, no-c-format + msgid "" + "-init \tThe symbol will be used as the first " + "initialiser for a dylib." + msgstr "" + +-#: config/darwin.opt:218 ++#: config/darwin.opt:214 + #, no-c-format + msgid "-install_name \tSet the install name for a dylib." + msgstr "" + +-#: config/darwin.opt:222 ++#: config/darwin.opt:218 + #, no-c-format + msgid "" + "Usually \"private extern\" (hidden) symbols are made local when linking, " + "this command suppresses that such that they remain exported." + msgstr "" + +-#: config/darwin.opt:226 ++#: config/darwin.opt:222 + #, no-c-format + msgid "" + "(Obsolete after 10.4) Multi modules are ignored at runtime since macOS 10.4." + msgstr "" + +-#: config/darwin.opt:230 ++#: config/darwin.opt:226 + #, no-c-format + msgid "" + "(Obsolete after 10.4) -multiply_defined \tProvided a mechanism " + "for warning about symbols defined in multiple dylibs." + msgstr "" + +-#: config/darwin.opt:234 ++#: config/darwin.opt:230 + #, no-c-format + msgid "" + "(Obsolete after 10.4) -multiply_defined_unused \tProvided a " +@@ -5556,69 +5551,69 @@ msgid "" + "being defined in linked dylibs." + msgstr "" + +-#: config/darwin.opt:238 ++#: config/darwin.opt:234 + #, no-c-format + msgid "" + "(Obsolete) Current linkers never dead-strip these items, so the option is " + "not needed." + msgstr "" + +-#: config/darwin.opt:242 ++#: config/darwin.opt:238 + #, no-c-format + msgid "Do not add a default symbol exports to modules or dynamic libraries." + msgstr "" + +-#: config/darwin.opt:246 ++#: config/darwin.opt:242 + #, no-c-format + msgid "(Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable." + msgstr "" + +-#: config/darwin.opt:250 ++#: config/darwin.opt:246 + #, no-c-format + msgid "(Obsolete after 10.4)\tSet MH_NOMULTIDEFS in an umbrella framework." + msgstr "" + +-#: config/darwin.opt:254 config/darwin.opt:269 config/darwin.opt:273 ++#: config/darwin.opt:250 config/darwin.opt:265 config/darwin.opt:269 + #, no-c-format + msgid "(Obsolete) LD_PREBIND is no longer supported." + msgstr "" + +-#: config/darwin.opt:258 ++#: config/darwin.opt:254 + #, no-c-format + msgid "(Obsolete) This is the default." + msgstr "" + +-#: config/darwin.opt:265 ++#: config/darwin.opt:261 + #, no-c-format + msgid "" + "-pagezero_size \tAllows setting the page 0 size to 4kb when required." + msgstr "" + +-#: config/darwin.opt:277 ++#: config/darwin.opt:273 + #, no-c-format + msgid "Produces a Mach-O file suitable for embedded/ROM use." + msgstr "" + +-#: config/darwin.opt:281 ++#: config/darwin.opt:277 + #, no-c-format + msgid "" + "(Obsolete) Allowed linking to proceed with \"-flat_namespace\" when a linked " + "bundle contained a symbol also exported from the main executable." + msgstr "" + +-#: config/darwin.opt:288 ++#: config/darwin.opt:284 + #, no-c-format + msgid "Synonym for \"-export-dynamic\" for linker versions that support it." + msgstr "" + +-#: config/darwin.opt:292 ++#: config/darwin.opt:288 + #, no-c-format + msgid "" + "-read_only_relocs \tAllow relocations in read-only pages (not " + "recommended)." + msgstr "" + +-#: config/darwin.opt:296 ++#: config/darwin.opt:292 + #, no-c-format + msgid "" + "-sectalign \tSet section in segment " +@@ -5626,64 +5621,64 @@ msgid "" + "expressed in hexadecimal form." + msgstr "" + +-#: config/darwin.opt:300 ++#: config/darwin.opt:296 + #, no-c-format + msgid "" + "-sectcreate \tCreate section in " + "segment from the contents of ." + msgstr "" + +-#: config/darwin.opt:304 ++#: config/darwin.opt:300 + #, no-c-format + msgid "" + "(Obsolete) -sectobjectsymbols \tSetting a local symbol " + "at the start of a section is no longer supported." + msgstr "" + +-#: config/darwin.opt:308 ++#: config/darwin.opt:304 + #, no-c-format + msgid "" + "(Obsolete) -sectorder \tReplaced by a more " + "general option \"-order_file\"." + msgstr "" + +-#: config/darwin.opt:312 ++#: config/darwin.opt:308 + #, no-c-format + msgid "" + "-seg_addr_table \tSpecify the base addresses for dynamic libraries; " + " contains a line for each library." + msgstr "" + +-#: config/darwin.opt:317 ++#: config/darwin.opt:313 + #, no-c-format + msgid "(Obsolete, ld_classic only) -seg_addr_table_filename ." + msgstr "" + +-#: config/darwin.opt:321 ++#: config/darwin.opt:317 + #, no-c-format + msgid "Synonym for \"image_base\"." + msgstr "" + +-#: config/darwin.opt:325 ++#: config/darwin.opt:321 + #, no-c-format + msgid "" + "-segaddr
\tSet the base address of segment to " + "
which must be aligned to a page boundary (currently 4kb)." + msgstr "" + +-#: config/darwin.opt:330 ++#: config/darwin.opt:326 + #, no-c-format + msgid "" + "(Obsolete, ld_classic only) -sectcreate \tAllowed " + "creation of a section from a file." + msgstr "" + +-#: config/darwin.opt:334 ++#: config/darwin.opt:330 + #, no-c-format + msgid "(Obsolete) Object files with LINKEDIT sections are no longer supported." + msgstr "" + +-#: config/darwin.opt:338 ++#: config/darwin.opt:334 + #, no-c-format + msgid "" + "-segprot \tThe virtual memory protections " +@@ -5692,71 +5687,71 @@ msgid "" + "\"x\" or \"-\" the latter meaning \"no access\"." + msgstr "" + +-#: config/darwin.opt:342 ++#: config/darwin.opt:338 + #, no-c-format + msgid "" + "-segs_read_only_addr
\tSpecify that
is the base address " + "of the read-only segments of a dylib." + msgstr "" + +-#: config/darwin.opt:346 ++#: config/darwin.opt:342 + #, no-c-format + msgid "" + "-segs_read_write_addr
\tSpecify that
is the base address " + "address of the read-write segments of a dylib." + msgstr "" + +-#: config/darwin.opt:350 ++#: config/darwin.opt:346 + #, no-c-format + msgid "(Obsolete)\tThis is the default." + msgstr "" + +-#: config/darwin.opt:354 ++#: config/darwin.opt:350 + #, no-c-format + msgid "" + "-sub_library \tLibrary named will be re-exported (only useful " + "for dylibs)." + msgstr "" + +-#: config/darwin.opt:358 ++#: config/darwin.opt:354 + #, no-c-format + msgid "" + "-sub_umbrella \tFramework named will be re-exported (only " + "useful for dylibs)." + msgstr "" + +-#: config/darwin.opt:362 ++#: config/darwin.opt:358 + #, no-c-format + msgid "This is the default." + msgstr "" + +-#: config/darwin.opt:366 ++#: config/darwin.opt:362 + #, no-c-format + msgid "" + "Add extra information to the executable that can speed up dynamic loading " + "(provided that dependent libraries are unchanged)." + msgstr "" + +-#: config/darwin.opt:370 ++#: config/darwin.opt:366 + #, no-c-format + msgid "-umbrella \tThe specified framework will be re-exported." + msgstr "" + +-#: config/darwin.opt:374 ++#: config/darwin.opt:370 + #, no-c-format + msgid "" + "-undefined \tSpecify the handling for undefined symbols (default " + "is error)." + msgstr "" + +-#: config/darwin.opt:378 ++#: config/darwin.opt:374 + #, no-c-format + msgid "" + "-unexported_symbols_list \tDo not export the global symbols listed " + "in ." + msgstr "" + +-#: config/darwin.opt:382 ++#: config/darwin.opt:378 + #, no-c-format + msgid "" + "-weak_reference_mismatches \tSpecifies what to do if a symbol " +@@ -5764,22 +5759,22 @@ msgid "" + "is to treat the symbol as non-weak." + msgstr "" + +-#: config/darwin.opt:386 ++#: config/darwin.opt:382 + #, no-c-format + msgid "Logs which object files the linker loads." + msgstr "" + +-#: config/darwin.opt:390 ++#: config/darwin.opt:386 + #, no-c-format + msgid "Logs which symbol(s) caused an object to be loaded." + msgstr "" + +-#: config/darwin.opt:398 ++#: config/darwin.opt:394 + #, no-c-format + msgid "(Obsolete, ignored)\tOld support similar to \"-whyload\"." + msgstr "" + +-#: config/darwin.opt:402 ++#: config/darwin.opt:398 + #, no-c-format + msgid "" + "(Obsolete and unhandled by ld64, ignored)\tld should produce an executable " +@@ -6278,11 +6273,6 @@ msgstr "" + msgid "Set the version of RISC-V ISA spec." + msgstr "" + +-#: config/riscv/riscv.opt:260 +-#, no-c-format +-msgid "Always inline subword atomic operations." +-msgstr "" +- + #: config/m32c/m32c.opt:23 + #, no-c-format + msgid "-msim\tUse simulator runtime." +@@ -18591,7 +18581,7 @@ msgid "" + "ldd output with constructors/destructors.\n" + msgstr "" + +-#: cprop.cc:1755 ++#: cprop.cc:1753 + msgid "const/copy propagation disabled" + msgstr "" + +@@ -20025,7 +20015,7 @@ msgid "" + "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n" + msgstr "" + +-#: tree-diagnostic-path.cc:255 tree-diagnostic.cc:294 c/c-decl.cc:6356 ++#: tree-diagnostic-path.cc:255 tree-diagnostic.cc:294 c/c-decl.cc:6349 + #: c/c-typeck.cc:8058 cp/error.cc:1181 c-family/c-pretty-print.cc:426 + #, gcc-internal-format + msgid "" +@@ -20308,24 +20298,24 @@ msgstr "" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11887 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 + #, c-format + msgid "unsupported operand for code '%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:11896 config/aarch64/aarch64.cc:11909 +-#: config/aarch64/aarch64.cc:11921 config/aarch64/aarch64.cc:11932 +-#: config/aarch64/aarch64.cc:11948 config/aarch64/aarch64.cc:11962 +-#: config/aarch64/aarch64.cc:11982 config/aarch64/aarch64.cc:12059 +-#: config/aarch64/aarch64.cc:12070 config/aarch64/aarch64.cc:12084 +-#: config/aarch64/aarch64.cc:12306 config/aarch64/aarch64.cc:12326 ++#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 ++#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 ++#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 ++#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 ++#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 ++#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:12000 config/aarch64/aarch64.cc:12011 +-#: config/aarch64/aarch64.cc:12166 config/aarch64/aarch64.cc:12177 ++#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 ++#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 + #: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 + #: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 + #: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 +@@ -20333,132 +20323,132 @@ msgstr "" + msgid "invalid vector constant" + msgstr "" + +-#: config/aarch64/aarch64.cc:12023 config/aarch64/aarch64.cc:12035 ++#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:12052 ++#: config/aarch64/aarch64.cc:12057 + #, c-format + msgid "incompatible register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:12118 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 + #, c-format + msgid "missing operand" + msgstr "" + +-#: config/aarch64/aarch64.cc:12203 ++#: config/aarch64/aarch64.cc:12208 + #, c-format + msgid "invalid constant" + msgstr "" + +-#: config/aarch64/aarch64.cc:12206 ++#: config/aarch64/aarch64.cc:12211 + #, c-format + msgid "invalid operand" + msgstr "" + +-#: config/aarch64/aarch64.cc:12334 config/aarch64/aarch64.cc:12339 ++#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:12359 ++#: config/aarch64/aarch64.cc:12364 + #, c-format + msgid "invalid address mode" + msgstr "" + +-#: config/aarch64/aarch64.cc:27156 ++#: config/aarch64/aarch64.cc:27161 + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "" + +-#: config/alpha/alpha.cc:5081 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14365 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 ++#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "" + +-#: config/alpha/alpha.cc:5139 config/bfin/bfin.cc:1428 ++#: config/alpha/alpha.cc:5134 config/bfin/bfin.cc:1428 + #, c-format + msgid "invalid %%J value" + msgstr "" + +-#: config/alpha/alpha.cc:5169 config/ia64/ia64.cc:5578 config/or1k/or1k.cc:1249 ++#: config/alpha/alpha.cc:5164 config/ia64/ia64.cc:5578 config/or1k/or1k.cc:1249 + #, c-format + msgid "invalid %%r value" + msgstr "" + +-#: config/alpha/alpha.cc:5179 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14060 config/xtensa/xtensa.cc:3008 ++#: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 ++#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "" + +-#: config/alpha/alpha.cc:5185 config/rs6000/rs6000.cc:13980 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "" + +-#: config/alpha/alpha.cc:5193 config/rs6000/rs6000.cc:14008 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 + #, c-format + msgid "invalid %%P value" + msgstr "" + +-#: config/alpha/alpha.cc:5201 ++#: config/alpha/alpha.cc:5196 + #, c-format + msgid "invalid %%h value" + msgstr "" + +-#: config/alpha/alpha.cc:5209 config/xtensa/xtensa.cc:3001 ++#: config/alpha/alpha.cc:5204 config/xtensa/xtensa.cc:3001 + #, c-format + msgid "invalid %%L value" + msgstr "" + +-#: config/alpha/alpha.cc:5228 ++#: config/alpha/alpha.cc:5223 + #, c-format + msgid "invalid %%m value" + msgstr "" + +-#: config/alpha/alpha.cc:5234 ++#: config/alpha/alpha.cc:5229 + #, c-format + msgid "invalid %%M value" + msgstr "" + +-#: config/alpha/alpha.cc:5271 ++#: config/alpha/alpha.cc:5266 + #, c-format + msgid "invalid %%U value" + msgstr "" + +-#: config/alpha/alpha.cc:5279 config/rs6000/rs6000.cc:14068 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 + #, c-format + msgid "invalid %%s value" + msgstr "" + +-#: config/alpha/alpha.cc:5290 ++#: config/alpha/alpha.cc:5285 + #, c-format + msgid "invalid %%C value" + msgstr "" + +-#: config/alpha/alpha.cc:5327 config/rs6000/rs6000.cc:13844 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%E value" + msgstr "" + +-#: config/alpha/alpha.cc:5352 config/alpha/alpha.cc:5402 ++#: config/alpha/alpha.cc:5347 config/alpha/alpha.cc:5397 + #, c-format + msgid "unknown relocation unspec" + msgstr "" + +-#: config/alpha/alpha.cc:5361 config/gcn/gcn.cc:6949 config/gcn/gcn.cc:6958 +-#: config/gcn/gcn.cc:7018 config/gcn/gcn.cc:7026 config/gcn/gcn.cc:7042 +-#: config/gcn/gcn.cc:7060 config/gcn/gcn.cc:7111 config/gcn/gcn.cc:7230 +-#: config/gcn/gcn.cc:7341 config/rs6000/rs6000.cc:14370 ++#: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 ++#: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 ++#: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 + #, c-format + msgid "invalid %%xn code" + msgstr "" + +-#: config/alpha/alpha.cc:5467 ++#: config/alpha/alpha.cc:5462 + #, c-format + msgid "invalid operand address" + msgstr "" +@@ -20595,90 +20585,90 @@ msgstr "" + msgid "operation not permitted on type %" + msgstr "" + +-#: config/avr/avr.cc:2994 ++#: config/avr/avr.cc:2642 + #, c-format + msgid "address operand requires constraint for X, Y, or Z register" + msgstr "" + +-#: config/avr/avr.cc:3177 ++#: config/avr/avr.cc:2825 + msgid "operands to %T/%t must be reg + const_int:" + msgstr "" + +-#: config/avr/avr.cc:3227 config/avr/avr.cc:3294 ++#: config/avr/avr.cc:2875 config/avr/avr.cc:2942 + msgid "bad address, not an I/O address:" + msgstr "" + +-#: config/avr/avr.cc:3236 ++#: config/avr/avr.cc:2884 + msgid "bad address, not a constant:" + msgstr "" + +-#: config/avr/avr.cc:3254 config/avr/avr.cc:3261 ++#: config/avr/avr.cc:2902 config/avr/avr.cc:2909 + msgid "bad address, not (reg+disp):" + msgstr "" + +-#: config/avr/avr.cc:3268 ++#: config/avr/avr.cc:2916 + msgid "bad address, not post_inc or pre_dec:" + msgstr "" + +-#: config/avr/avr.cc:3280 ++#: config/avr/avr.cc:2928 + msgid "internal compiler error. Bad address:" + msgstr "" + +-#: config/avr/avr.cc:3313 ++#: config/avr/avr.cc:2961 + #, c-format + msgid "Unsupported code '%c' for fixed-point:" + msgstr "" + +-#: config/avr/avr.cc:3321 ++#: config/avr/avr.cc:2969 + msgid "internal compiler error. Unknown mode:" + msgstr "" + +-#: config/avr/avr.cc:4196 config/avr/avr.cc:5140 config/avr/avr.cc:5587 ++#: config/avr/avr.cc:3866 config/avr/avr.cc:4810 config/avr/avr.cc:5257 + msgid "invalid insn:" + msgstr "" + +-#: config/avr/avr.cc:4250 config/avr/avr.cc:4362 config/avr/avr.cc:4420 +-#: config/avr/avr.cc:4472 config/avr/avr.cc:4491 config/avr/avr.cc:4683 +-#: config/avr/avr.cc:4991 config/avr/avr.cc:5276 config/avr/avr.cc:5480 +-#: config/avr/avr.cc:5644 config/avr/avr.cc:5737 config/avr/avr.cc:5936 ++#: config/avr/avr.cc:3920 config/avr/avr.cc:4032 config/avr/avr.cc:4090 ++#: config/avr/avr.cc:4142 config/avr/avr.cc:4161 config/avr/avr.cc:4353 ++#: config/avr/avr.cc:4661 config/avr/avr.cc:4946 config/avr/avr.cc:5150 ++#: config/avr/avr.cc:5314 config/avr/avr.cc:5407 config/avr/avr.cc:5606 + msgid "incorrect insn:" + msgstr "" + +-#: config/avr/avr.cc:4507 config/avr/avr.cc:4782 config/avr/avr.cc:5062 +-#: config/avr/avr.cc:5348 config/avr/avr.cc:5526 config/avr/avr.cc:5793 +-#: config/avr/avr.cc:5994 ++#: config/avr/avr.cc:4177 config/avr/avr.cc:4452 config/avr/avr.cc:4732 ++#: config/avr/avr.cc:5018 config/avr/avr.cc:5196 config/avr/avr.cc:5463 ++#: config/avr/avr.cc:5664 + msgid "unknown move insn:" + msgstr "" + +-#: config/avr/avr.cc:6602 ++#: config/avr/avr.cc:6131 + msgid "bad shift insn:" + msgstr "" + +-#: config/avr/avr.cc:6710 config/avr/avr.cc:7193 config/avr/avr.cc:7610 ++#: config/avr/avr.cc:6239 config/avr/avr.cc:6722 config/avr/avr.cc:7139 + msgid "internal compiler error. Incorrect shift:" + msgstr "" + +-#: config/avr/avr.cc:9134 ++#: config/avr/avr.cc:8547 + msgid "unsupported fixed-point conversion" + msgstr "" + +-#: config/avr/avr.cc:10506 ++#: config/avr/avr.cc:9916 + msgid "variable" + msgstr "" + +-#: config/avr/avr.cc:10511 ++#: config/avr/avr.cc:9921 + msgid "function parameter" + msgstr "" + +-#: config/avr/avr.cc:10516 ++#: config/avr/avr.cc:9926 + msgid "structure field" + msgstr "" + +-#: config/avr/avr.cc:10522 ++#: config/avr/avr.cc:9932 + msgid "return type of function" + msgstr "" + +-#: config/avr/avr.cc:10527 ++#: config/avr/avr.cc:9937 + msgid "pointer" + msgstr "" + +@@ -20924,25 +20914,25 @@ msgstr "" + msgid "bad output_condmove_single operand" + msgstr "" + +-#: config/gcn/gcn.cc:6635 config/gcn/gcn.cc:6655 config/gcn/gcn.cc:6659 +-#: config/gcn/gcn.cc:6991 config/gcn/gcn.cc:7002 config/gcn/gcn.cc:7005 ++#: config/gcn/gcn.cc:6626 config/gcn/gcn.cc:6646 config/gcn/gcn.cc:6650 ++#: config/gcn/gcn.cc:6982 config/gcn/gcn.cc:6993 config/gcn/gcn.cc:6996 + #, c-format + msgid "bad ADDR_SPACE_GLOBAL address" + msgstr "" + +-#: config/gcn/gcn.cc:6771 config/gcn/gcn.cc:6794 config/gcn/gcn.cc:6826 +-#: config/gcn/gcn.cc:6842 config/gcn/gcn.cc:6857 config/gcn/gcn.cc:6876 +-#: config/gcn/gcn.cc:6940 config/gcn/gcn.cc:7136 config/gcn/gcn.cc:7251 ++#: config/gcn/gcn.cc:6762 config/gcn/gcn.cc:6785 config/gcn/gcn.cc:6817 ++#: config/gcn/gcn.cc:6833 config/gcn/gcn.cc:6848 config/gcn/gcn.cc:6867 ++#: config/gcn/gcn.cc:6931 config/gcn/gcn.cc:7127 config/gcn/gcn.cc:7242 + #, c-format + msgid "invalid operand %%xn code" + msgstr "" + +-#: config/gcn/gcn.cc:7239 ++#: config/gcn/gcn.cc:7230 + #, c-format + msgid "operand %%xn code invalid for QImode" + msgstr "" + +-#: config/gcn/gcn.cc:7321 ++#: config/gcn/gcn.cc:7312 + #, c-format + msgid "invalid fp constant" + msgstr "" +@@ -21076,7 +21066,7 @@ msgstr "" + msgid "invalid %%P operand" + msgstr "" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13998 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 + #, c-format + msgid "invalid %%p value" + msgstr "" +@@ -21154,7 +21144,7 @@ msgid "post-increment address is not a register" + msgstr "" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20712 ++#: config/rs6000/rs6000.cc:20711 + msgid "bad address" + msgstr "" + +@@ -21362,147 +21352,147 @@ msgstr "" + msgid "%<-mquad-memory%> is not available in little endian mode" + msgstr "" + +-#: config/rs6000/rs6000.cc:11088 ++#: config/rs6000/rs6000.cc:11087 + msgid "bad move" + msgstr "" + +-#: config/rs6000/rs6000.cc:13628 ++#: config/rs6000/rs6000.cc:13627 + msgid "Bad 128-bit move" + msgstr "" + +-#: config/rs6000/rs6000.cc:13808 ++#: config/rs6000/rs6000.cc:13807 + #, c-format + msgid "invalid %%A value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13817 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13832 ++#: config/rs6000/rs6000.cc:13831 + #, c-format + msgid "invalid %%e value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13853 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%f value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13862 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%F value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13871 ++#: config/rs6000/rs6000.cc:13870 + #, c-format + msgid "invalid %%G value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13906 ++#: config/rs6000/rs6000.cc:13905 + #, c-format + msgid "invalid %%j code" + msgstr "" + +-#: config/rs6000/rs6000.cc:13916 ++#: config/rs6000/rs6000.cc:13915 + #, c-format + msgid "invalid %%J code" + msgstr "" + +-#: config/rs6000/rs6000.cc:13926 ++#: config/rs6000/rs6000.cc:13925 + #, c-format + msgid "invalid %%k value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13941 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13988 ++#: config/rs6000/rs6000.cc:13987 + #, c-format + msgid "invalid %%O value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14035 ++#: config/rs6000/rs6000.cc:14034 + #, c-format + msgid "invalid %%q value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14077 ++#: config/rs6000/rs6000.cc:14076 + #, c-format + msgid "invalid %%t value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14094 ++#: config/rs6000/rs6000.cc:14093 + #, c-format + msgid "invalid %%T value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14106 ++#: config/rs6000/rs6000.cc:14105 + #, c-format + msgid "invalid %%u value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14120 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14170 ++#: config/rs6000/rs6000.cc:14169 + #, c-format + msgid "invalid %%V value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14186 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14243 ++#: config/rs6000/rs6000.cc:14242 + #, c-format + msgid "invalid %%z value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14312 ++#: config/rs6000/rs6000.cc:14311 + #, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "" + +-#: config/rs6000/rs6000.cc:15242 ++#: config/rs6000/rs6000.cc:15241 + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "" + +-#: config/rs6000/rs6000.cc:24109 ++#: config/rs6000/rs6000.cc:24108 + msgid "AltiVec argument passed to unprototyped function" + msgstr "" + +-#: config/rs6000/rs6000.cc:27731 ++#: config/rs6000/rs6000.cc:27730 + msgid "Could not generate addis value for fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:27800 ++#: config/rs6000/rs6000.cc:27799 + msgid "Unable to generate load/store offset for fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:27876 ++#: config/rs6000/rs6000.cc:27875 + msgid "Bad GPR fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:28478 ++#: config/rs6000/rs6000.cc:28477 + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:28480 ++#: config/rs6000/rs6000.cc:28479 + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:28482 ++#: config/rs6000/rs6000.cc:28481 + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:28484 ++#: config/rs6000/rs6000.cc:28483 + msgid "invalid conversion to type %<__vector_pair%>" + msgstr "" + +@@ -21778,32 +21768,32 @@ msgstr "" + #. ; + #. <~~~~~~~~~ declaration ~~~~~~~~~~> + #. Use c_parser_require to get an error with a fix-it hint. +-#: c/c-parser.cc:2761 c/c-parser.cc:2883 c/c-parser.cc:2897 c/c-parser.cc:6163 +-#: c/c-parser.cc:6786 c/c-parser.cc:7215 c/c-parser.cc:7394 c/c-parser.cc:7427 +-#: c/c-parser.cc:7693 c/c-parser.cc:11764 c/c-parser.cc:11799 +-#: c/c-parser.cc:11830 c/c-parser.cc:11877 c/c-parser.cc:12058 +-#: c/c-parser.cc:12891 c/c-parser.cc:12966 c/c-parser.cc:13009 +-#: c/c-parser.cc:19402 c/c-parser.cc:19482 c/c-parser.cc:19811 +-#: c/c-parser.cc:19837 c/c-parser.cc:19860 c/c-parser.cc:20307 +-#: c/c-parser.cc:20351 c/gimple-parser.cc:406 c/gimple-parser.cc:447 ++#: c/c-parser.cc:2761 c/c-parser.cc:2883 c/c-parser.cc:2897 c/c-parser.cc:6160 ++#: c/c-parser.cc:6783 c/c-parser.cc:7212 c/c-parser.cc:7391 c/c-parser.cc:7424 ++#: c/c-parser.cc:7690 c/c-parser.cc:11761 c/c-parser.cc:11796 ++#: c/c-parser.cc:11827 c/c-parser.cc:11874 c/c-parser.cc:12055 ++#: c/c-parser.cc:12888 c/c-parser.cc:12963 c/c-parser.cc:13006 ++#: c/c-parser.cc:19399 c/c-parser.cc:19479 c/c-parser.cc:19808 ++#: c/c-parser.cc:19834 c/c-parser.cc:19857 c/c-parser.cc:20304 ++#: c/c-parser.cc:20348 c/gimple-parser.cc:406 c/gimple-parser.cc:447 + #: c/gimple-parser.cc:456 c/gimple-parser.cc:665 c/gimple-parser.cc:2261 + #: c/gimple-parser.cc:2298 c/gimple-parser.cc:2377 c/gimple-parser.cc:2404 +-#: c/c-parser.cc:3671 c/c-parser.cc:3861 c/c-parser.cc:3896 c/c-parser.cc:12051 ++#: c/c-parser.cc:3671 c/c-parser.cc:3861 c/c-parser.cc:3896 c/c-parser.cc:12048 + #: c/gimple-parser.cc:2069 c/gimple-parser.cc:2126 cp/parser.cc:15350 +-#: cp/parser.cc:33084 cp/parser.cc:33720 ++#: cp/parser.cc:33085 cp/parser.cc:33721 + #, gcc-internal-format + msgid "expected %<;%>" + msgstr "" + + #: c/c-parser.cc:3355 c/c-parser.cc:4460 c/c-parser.cc:4655 c/c-parser.cc:4713 + #: c/c-parser.cc:4771 c/c-parser.cc:5153 c/c-parser.cc:5176 c/c-parser.cc:5185 +-#: c/c-parser.cc:5236 c/c-parser.cc:5245 c/c-parser.cc:9126 c/c-parser.cc:9194 +-#: c/c-parser.cc:9704 c/c-parser.cc:9729 c/c-parser.cc:9763 c/c-parser.cc:9875 +-#: c/c-parser.cc:10694 c/c-parser.cc:12165 c/c-parser.cc:14549 +-#: c/c-parser.cc:15263 c/c-parser.cc:15322 c/c-parser.cc:15377 +-#: c/c-parser.cc:17171 c/c-parser.cc:17291 c/c-parser.cc:18625 +-#: c/c-parser.cc:19902 c/c-parser.cc:20315 c/c-parser.cc:23400 +-#: c/c-parser.cc:23482 c/gimple-parser.cc:195 c/gimple-parser.cc:198 ++#: c/c-parser.cc:5236 c/c-parser.cc:5245 c/c-parser.cc:9123 c/c-parser.cc:9191 ++#: c/c-parser.cc:9701 c/c-parser.cc:9726 c/c-parser.cc:9760 c/c-parser.cc:9872 ++#: c/c-parser.cc:10691 c/c-parser.cc:12162 c/c-parser.cc:14546 ++#: c/c-parser.cc:15260 c/c-parser.cc:15319 c/c-parser.cc:15374 ++#: c/c-parser.cc:17168 c/c-parser.cc:17288 c/c-parser.cc:18622 ++#: c/c-parser.cc:19899 c/c-parser.cc:20312 c/c-parser.cc:23397 ++#: c/c-parser.cc:23479 c/gimple-parser.cc:195 c/gimple-parser.cc:198 + #: c/gimple-parser.cc:541 c/gimple-parser.cc:575 c/gimple-parser.cc:580 + #: c/gimple-parser.cc:749 c/gimple-parser.cc:846 c/gimple-parser.cc:1048 + #: c/gimple-parser.cc:1074 c/gimple-parser.cc:1077 c/gimple-parser.cc:1208 +@@ -21811,15 +21801,15 @@ msgstr "" + #: c/gimple-parser.cc:1494 c/gimple-parser.cc:1516 c/gimple-parser.cc:1546 + #: c/gimple-parser.cc:1572 c/gimple-parser.cc:1779 c/gimple-parser.cc:1991 + #: c/gimple-parser.cc:2011 c/gimple-parser.cc:2171 c/gimple-parser.cc:2334 +-#: c/c-parser.cc:7645 cp/parser.cc:33768 ++#: c/c-parser.cc:7642 cp/parser.cc:33769 + #, gcc-internal-format + msgid "expected %<)%>" + msgstr "" + + #: c/c-parser.cc:4549 c/c-parser.cc:5296 c/c-parser.cc:5448 c/c-parser.cc:5474 +-#: c/c-parser.cc:5475 c/c-parser.cc:5918 c/c-parser.cc:5962 c/c-parser.cc:7744 +-#: c/c-parser.cc:9866 c/c-parser.cc:10835 c/c-parser.cc:11189 +-#: c/c-parser.cc:13952 c/gimple-parser.cc:1755 cp/parser.cc:33732 ++#: c/c-parser.cc:5475 c/c-parser.cc:5915 c/c-parser.cc:5959 c/c-parser.cc:7741 ++#: c/c-parser.cc:9863 c/c-parser.cc:10832 c/c-parser.cc:11186 ++#: c/c-parser.cc:13949 c/gimple-parser.cc:1755 cp/parser.cc:33733 + #, gcc-internal-format + msgid "expected %<]%>" + msgstr "" +@@ -21829,112 +21819,112 @@ msgid "expected %<;%>, %<,%> or %<)%>" + msgstr "" + + #. Look for the two `(' tokens. +-#: c/c-parser.cc:5205 c/c-parser.cc:5210 c/c-parser.cc:14532 +-#: c/c-parser.cc:15352 c/c-parser.cc:22676 c/c-parser.cc:23208 +-#: c/c-parser.cc:23425 c/gimple-parser.cc:180 c/gimple-parser.cc:488 ++#: c/c-parser.cc:5205 c/c-parser.cc:5210 c/c-parser.cc:14529 ++#: c/c-parser.cc:15349 c/c-parser.cc:22673 c/c-parser.cc:23205 ++#: c/c-parser.cc:23422 c/gimple-parser.cc:180 c/gimple-parser.cc:488 + #: c/gimple-parser.cc:527 c/gimple-parser.cc:559 c/gimple-parser.cc:816 + #: c/gimple-parser.cc:1042 c/gimple-parser.cc:1068 c/gimple-parser.cc:1195 + #: c/gimple-parser.cc:1330 c/gimple-parser.cc:1452 c/gimple-parser.cc:1512 + #: c/gimple-parser.cc:1530 c/gimple-parser.cc:1565 c/gimple-parser.cc:1960 + #: c/gimple-parser.cc:1971 c/gimple-parser.cc:1977 c/gimple-parser.cc:2160 +-#: c/gimple-parser.cc:2331 c/c-parser.cc:14354 cp/parser.cc:33723 ++#: c/gimple-parser.cc:2331 c/c-parser.cc:14351 cp/parser.cc:33724 + #, gcc-internal-format + msgid "expected %<(%>" + msgstr "" + +-#: c/c-parser.cc:5444 c/c-parser.cc:5446 c/c-parser.cc:13856 cp/parser.cc:33735 +-#: cp/parser.cc:37503 go/gofrontend/embed.cc:439 ++#: c/c-parser.cc:5444 c/c-parser.cc:5446 c/c-parser.cc:13853 cp/parser.cc:33736 ++#: cp/parser.cc:37504 go/gofrontend/embed.cc:439 + #, gcc-internal-format + msgid "expected %<[%>" + msgstr "" + +-#: c/c-parser.cc:6099 c/c-parser.cc:12394 c/c-parser.cc:19377 +-#: c/c-parser.cc:19463 c/c-parser.cc:20121 c/c-parser.cc:20993 +-#: c/c-parser.cc:24656 c/gimple-parser.cc:399 c/gimple-parser.cc:2337 +-#: c/c-parser.cc:3658 c/c-parser.cc:3885 c/c-parser.cc:11946 cp/parser.cc:21039 +-#: cp/parser.cc:33729 go/gofrontend/embed.cc:370 ++#: c/c-parser.cc:6096 c/c-parser.cc:12391 c/c-parser.cc:19374 ++#: c/c-parser.cc:19460 c/c-parser.cc:20118 c/c-parser.cc:20990 ++#: c/c-parser.cc:24653 c/gimple-parser.cc:399 c/gimple-parser.cc:2337 ++#: c/c-parser.cc:3658 c/c-parser.cc:3885 c/c-parser.cc:11943 cp/parser.cc:21039 ++#: cp/parser.cc:33730 go/gofrontend/embed.cc:370 + #, gcc-internal-format + msgid "expected %<{%>" + msgstr "" + +-#: c/c-parser.cc:6394 c/c-parser.cc:6403 c/c-parser.cc:8191 c/c-parser.cc:9331 +-#: c/c-parser.cc:12158 c/c-parser.cc:12555 c/c-parser.cc:12619 +-#: c/c-parser.cc:13934 c/c-parser.cc:14954 c/c-parser.cc:15180 +-#: c/c-parser.cc:15698 c/c-parser.cc:15799 c/c-parser.cc:16333 +-#: c/c-parser.cc:16769 c/c-parser.cc:16845 c/c-parser.cc:16962 +-#: c/c-parser.cc:17034 c/c-parser.cc:22538 c/c-parser.cc:23265 +-#: c/c-parser.cc:23324 c/gimple-parser.cc:582 c/gimple-parser.cc:887 +-#: c/gimple-parser.cc:2385 c/gimple-parser.cc:2412 c/c-parser.cc:7652 +-#: c/c-parser.cc:14457 c/c-parser.cc:15804 cp/parser.cc:33762 +-#: cp/parser.cc:35464 cp/parser.cc:38351 cp/parser.cc:39226 ++#: c/c-parser.cc:6391 c/c-parser.cc:6400 c/c-parser.cc:8188 c/c-parser.cc:9328 ++#: c/c-parser.cc:12155 c/c-parser.cc:12552 c/c-parser.cc:12616 ++#: c/c-parser.cc:13931 c/c-parser.cc:14951 c/c-parser.cc:15177 ++#: c/c-parser.cc:15695 c/c-parser.cc:15796 c/c-parser.cc:16330 ++#: c/c-parser.cc:16766 c/c-parser.cc:16842 c/c-parser.cc:16959 ++#: c/c-parser.cc:17031 c/c-parser.cc:22535 c/c-parser.cc:23262 ++#: c/c-parser.cc:23321 c/gimple-parser.cc:582 c/gimple-parser.cc:887 ++#: c/gimple-parser.cc:2385 c/gimple-parser.cc:2412 c/c-parser.cc:7649 ++#: c/c-parser.cc:14454 c/c-parser.cc:15801 cp/parser.cc:33763 ++#: cp/parser.cc:35465 cp/parser.cc:38352 cp/parser.cc:39227 + #: go/gofrontend/embed.cc:403 + #, gcc-internal-format + msgid "expected %<:%>" + msgstr "" + +-#: c/c-parser.cc:7202 cp/parser.cc:33649 ++#: c/c-parser.cc:7199 cp/parser.cc:33650 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: c/c-parser.cc:9089 c/c-parser.cc:9282 c/c-parser.cc:9753 c/c-parser.cc:9796 +-#: c/c-parser.cc:9937 c/c-parser.cc:10684 c/c-parser.cc:15357 +-#: c/c-parser.cc:16914 c/gimple-parser.cc:1045 c/gimple-parser.cc:1071 ++#: c/c-parser.cc:9086 c/c-parser.cc:9279 c/c-parser.cc:9750 c/c-parser.cc:9793 ++#: c/c-parser.cc:9934 c/c-parser.cc:10681 c/c-parser.cc:15354 ++#: c/c-parser.cc:16911 c/gimple-parser.cc:1045 c/gimple-parser.cc:1071 + #: c/gimple-parser.cc:1199 c/gimple-parser.cc:1202 c/gimple-parser.cc:1534 +-#: c/gimple-parser.cc:1540 cp/parser.cc:33082 cp/parser.cc:33738 ++#: c/gimple-parser.cc:1540 cp/parser.cc:33083 cp/parser.cc:33739 + #, gcc-internal-format + msgid "expected %<,%>" + msgstr "" + +-#: c/c-parser.cc:9650 ++#: c/c-parser.cc:9647 + msgid "expected %<.%>" + msgstr "" + +-#: c/c-parser.cc:11617 c/c-parser.cc:11649 c/c-parser.cc:11889 +-#: cp/parser.cc:36038 cp/parser.cc:36059 ++#: c/c-parser.cc:11614 c/c-parser.cc:11646 c/c-parser.cc:11886 ++#: cp/parser.cc:36039 cp/parser.cc:36060 + #, gcc-internal-format + msgid "expected %<@end%>" + msgstr "" + +-#: c/c-parser.cc:12307 c/gimple-parser.cc:1370 cp/parser.cc:33747 ++#: c/c-parser.cc:12304 c/gimple-parser.cc:1370 cp/parser.cc:33748 + #, gcc-internal-format + msgid "expected %<>%>" + msgstr "" + +-#: c/c-parser.cc:15893 c/c-parser.cc:17309 cp/parser.cc:33771 ++#: c/c-parser.cc:15890 c/c-parser.cc:17306 cp/parser.cc:33772 + #, gcc-internal-format + msgid "expected %<,%> or %<)%>" + msgstr "" + + #. All following cases are statements with LHS. +-#: c/c-parser.cc:16761 c/c-parser.cc:19270 c/c-parser.cc:19317 +-#: c/c-parser.cc:19474 c/c-parser.cc:19821 c/c-parser.cc:20294 +-#: c/c-parser.cc:22745 c/c-parser.cc:23466 c/gimple-parser.cc:740 +-#: c/c-parser.cc:5985 c/c-parser.cc:19394 c/c-parser.cc:19617 +-#: cp/parser.cc:33750 cp/parser.cc:42078 cp/parser.cc:42251 ++#: c/c-parser.cc:16758 c/c-parser.cc:19267 c/c-parser.cc:19314 ++#: c/c-parser.cc:19471 c/c-parser.cc:19818 c/c-parser.cc:20291 ++#: c/c-parser.cc:22742 c/c-parser.cc:23463 c/gimple-parser.cc:740 ++#: c/c-parser.cc:5982 c/c-parser.cc:19391 c/c-parser.cc:19614 ++#: cp/parser.cc:33751 cp/parser.cc:42079 cp/parser.cc:42252 + #, gcc-internal-format + msgid "expected %<=%>" + msgstr "" + +-#: c/c-parser.cc:19405 c/c-parser.cc:19485 c/c-parser.cc:19838 +-#: c/c-parser.cc:20172 c/gimple-parser.cc:1588 c/gimple-parser.cc:1620 +-#: c/gimple-parser.cc:1630 c/gimple-parser.cc:2422 cp/parser.cc:33726 +-#: cp/parser.cc:36248 ++#: c/c-parser.cc:19402 c/c-parser.cc:19482 c/c-parser.cc:19835 ++#: c/c-parser.cc:20169 c/gimple-parser.cc:1588 c/gimple-parser.cc:1620 ++#: c/gimple-parser.cc:1630 c/gimple-parser.cc:2422 cp/parser.cc:33727 ++#: cp/parser.cc:36249 + #, gcc-internal-format + msgid "expected %<}%>" + msgstr "" + +-#: c/c-parser.cc:19498 cp/parser.cc:42176 ++#: c/c-parser.cc:19495 cp/parser.cc:42177 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: c/c-parser.cc:21038 c/c-parser.cc:21027 cp/parser.cc:44436 ++#: c/c-parser.cc:21035 c/c-parser.cc:21024 cp/parser.cc:44437 + #, gcc-internal-format + msgid "expected %<#pragma omp section%> or %<}%>" + msgstr "" + +-#: c/c-parser.cc:24026 cp/parser.cc:48281 ++#: c/c-parser.cc:24023 cp/parser.cc:48282 + msgid "" + msgstr "" + +@@ -21942,7 +21932,7 @@ msgstr "" + msgid "(anonymous)" + msgstr "" + +-#: c/gimple-parser.cc:1359 cp/parser.cc:18387 cp/parser.cc:33744 ++#: c/gimple-parser.cc:1359 cp/parser.cc:18387 cp/parser.cc:33745 + #, gcc-internal-format + msgid "expected %<<%>" + msgstr "" +@@ -21953,25 +21943,25 @@ msgstr "" + msgid "expected label" + msgstr "" + +-#: cp/call.cc:4067 ++#: cp/call.cc:4059 + msgid "candidate:" + msgstr "" + +-#: cp/call.cc:8208 ++#: cp/call.cc:8193 + msgid " after user-defined conversion:" + msgstr "" + +-#: cp/call.cc:8372 cp/pt.cc:2022 cp/pt.cc:26168 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 + msgid "candidate is:" + msgid_plural "candidates are:" + msgstr[0] "" + msgstr[1] "" + +-#: cp/call.cc:12818 cp/call.cc:13230 ++#: cp/call.cc:12792 cp/call.cc:13184 + msgid "candidate 1:" + msgstr "" + +-#: cp/call.cc:12820 cp/call.cc:13231 ++#: cp/call.cc:12794 cp/call.cc:13185 + msgid "candidate 2:" + msgstr "" + +@@ -22328,7 +22318,7 @@ msgstr "" + msgid "no post-decrement operator for type" + msgstr "" + +-#: fortran/arith.cc:1492 ++#: fortran/arith.cc:1487 + msgid "elemental binary operation" + msgstr "" + +@@ -22585,11 +22575,11 @@ msgstr "" + msgid "implied END DO" + msgstr "" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12425 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12393 + msgid "assignment" + msgstr "" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12491 fortran/resolve.cc:12494 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 + msgid "pointer assignment" + msgstr "" + +@@ -22685,113 +22675,113 @@ msgstr "" + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4210 fortran/resolve.cc:4393 fortran/resolve.cc:4548 +-#, c-format +-msgid "Inconsistent ranks for operator at %%L and %%L" +-msgstr "" +- +-#: fortran/resolve.cc:4220 ++#: fortran/resolve.cc:4209 + #, c-format + msgid "" + "Unexpected derived-type entities in binary intrinsic numeric operator " + "%%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4225 ++#: fortran/resolve.cc:4214 + #, c-format + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4240 ++#: fortran/resolve.cc:4229 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4283 ++#: fortran/resolve.cc:4272 + #, c-format + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4306 ++#: fortran/resolve.cc:4295 + #, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4320 ++#: fortran/resolve.cc:4309 + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "" + +-#: fortran/resolve.cc:4429 ++#: fortran/resolve.cc:4407 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4413 + #, c-format + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4449 ++#: fortran/resolve.cc:4427 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "" + +-#: fortran/resolve.cc:4452 ++#: fortran/resolve.cc:4430 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4457 ++#: fortran/resolve.cc:4435 + #, c-format + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4462 ++#: fortran/resolve.cc:4440 + #, c-format + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:7437 ++#: fortran/resolve.cc:4526 ++#, c-format ++msgid "Inconsistent ranks for operator at %%L and %%L" ++msgstr "" ++ ++#: fortran/resolve.cc:7400 + msgid "Loop variable" + msgstr "" + +-#: fortran/resolve.cc:7441 ++#: fortran/resolve.cc:7404 + msgid "iterator variable" + msgstr "" + +-#: fortran/resolve.cc:7445 ++#: fortran/resolve.cc:7408 + msgid "Start expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7449 ++#: fortran/resolve.cc:7412 + msgid "End expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7453 ++#: fortran/resolve.cc:7416 + msgid "Step expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7740 fortran/resolve.cc:7743 ++#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 + msgid "DEALLOCATE object" + msgstr "" + +-#: fortran/resolve.cc:8121 fortran/resolve.cc:8124 ++#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 + msgid "ALLOCATE object" + msgstr "" + +-#: fortran/resolve.cc:8361 fortran/resolve.cc:10343 fortran/resolve.cc:10464 ++#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 + msgid "STAT variable" + msgstr "" + +-#: fortran/resolve.cc:8412 fortran/resolve.cc:10355 fortran/resolve.cc:10476 ++#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 + msgid "ERRMSG variable" + msgstr "" + +-#: fortran/resolve.cc:10145 ++#: fortran/resolve.cc:10113 + msgid "item in READ" + msgstr "" + +-#: fortran/resolve.cc:10367 ++#: fortran/resolve.cc:10335 + msgid "ACQUIRED_LOCK variable" + msgstr "" + +@@ -22825,12 +22815,12 @@ msgid "" + "'%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-expr.cc:10381 ++#: fortran/trans-expr.cc:10376 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "" + +-#: fortran/trans-expr.cc:11941 ++#: fortran/trans-expr.cc:11936 + msgid "Assignment of scalar to unallocated array" + msgstr "" + +@@ -23017,8 +23007,8 @@ msgstr "" + msgid "expected boolean type" + msgstr "" + +-#: go/gofrontend/expressions.cc:5157 c/c-parser.cc:16673 c/c-parser.cc:16680 +-#: cp/parser.cc:39986 cp/parser.cc:39993 ++#: go/gofrontend/expressions.cc:5157 c/c-parser.cc:16670 c/c-parser.cc:16677 ++#: cp/parser.cc:39987 cp/parser.cc:39994 + #, gcc-internal-format + msgid "expected integer" + msgstr "" +@@ -23072,8 +23062,8 @@ msgstr "" + #: go/gofrontend/expressions.cc:8850 go/gofrontend/expressions.cc:10206 + #: go/gofrontend/expressions.cc:10351 go/gofrontend/expressions.cc:10397 + #: go/gofrontend/expressions.cc:10432 go/gofrontend/expressions.cc:10508 +-#: go/gofrontend/expressions.cc:10533 go/gofrontend/expressions.cc:12688 +-#: go/gofrontend/expressions.cc:12705 go/gofrontend/expressions.cc:12721 ++#: go/gofrontend/expressions.cc:10533 go/gofrontend/expressions.cc:12687 ++#: go/gofrontend/expressions.cc:12704 go/gofrontend/expressions.cc:12720 + msgid "not enough arguments" + msgstr "" + +@@ -23081,9 +23071,9 @@ msgstr "" + #: go/gofrontend/expressions.cc:10211 go/gofrontend/expressions.cc:10334 + #: go/gofrontend/expressions.cc:10356 go/gofrontend/expressions.cc:10437 + #: go/gofrontend/expressions.cc:10510 go/gofrontend/expressions.cc:10535 +-#: go/gofrontend/expressions.cc:11416 go/gofrontend/expressions.cc:12693 +-#: go/gofrontend/expressions.cc:12707 go/gofrontend/expressions.cc:12728 +-#: cp/pt.cc:9220 ++#: go/gofrontend/expressions.cc:11416 go/gofrontend/expressions.cc:12692 ++#: go/gofrontend/expressions.cc:12706 go/gofrontend/expressions.cc:12727 ++#: cp/pt.cc:9218 + #, gcc-internal-format + msgid "too many arguments" + msgstr "" +@@ -23168,8 +23158,8 @@ msgstr "" + msgid "type conversion result count mismatch" + msgstr "" + +-#: go/gofrontend/expressions.cc:11195 go/gofrontend/expressions.cc:12634 +-#: go/gofrontend/expressions.cc:13070 ++#: go/gofrontend/expressions.cc:11195 go/gofrontend/expressions.cc:12633 ++#: go/gofrontend/expressions.cc:13069 + msgid "expected function" + msgstr "" + +@@ -23181,72 +23171,72 @@ msgstr "" + msgid "invalid use of %<...%> with non-slice" + msgstr "" + +-#: go/gofrontend/expressions.cc:12642 ++#: go/gofrontend/expressions.cc:12641 + msgid "function result count mismatch" + msgstr "" + +-#: go/gofrontend/expressions.cc:12660 ++#: go/gofrontend/expressions.cc:12659 + msgid "incompatible type for receiver" + msgstr "" + +-#: go/gofrontend/expressions.cc:12678 ++#: go/gofrontend/expressions.cc:12677 + msgid "invalid use of %<...%> calling non-variadic function" + msgstr "" + +-#: go/gofrontend/expressions.cc:13079 go/gofrontend/expressions.cc:13093 ++#: go/gofrontend/expressions.cc:13078 go/gofrontend/expressions.cc:13092 + msgid "number of results does not match number of values" + msgstr "" + +-#: go/gofrontend/expressions.cc:13385 go/gofrontend/expressions.cc:14056 ++#: go/gofrontend/expressions.cc:13384 go/gofrontend/expressions.cc:14055 + msgid "index must be integer" + msgstr "" + +-#: go/gofrontend/expressions.cc:13394 go/gofrontend/expressions.cc:14065 ++#: go/gofrontend/expressions.cc:13393 go/gofrontend/expressions.cc:14064 + msgid "slice end must be integer" + msgstr "" + +-#: go/gofrontend/expressions.cc:13403 ++#: go/gofrontend/expressions.cc:13402 + msgid "slice capacity must be integer" + msgstr "" + +-#: go/gofrontend/expressions.cc:13454 go/gofrontend/expressions.cc:14099 ++#: go/gofrontend/expressions.cc:13453 go/gofrontend/expressions.cc:14098 + msgid "inverted slice range" + msgstr "" + +-#: go/gofrontend/expressions.cc:13497 ++#: go/gofrontend/expressions.cc:13496 + msgid "slice of unaddressable value" + msgstr "" + +-#: go/gofrontend/expressions.cc:14355 ++#: go/gofrontend/expressions.cc:14354 + msgid "incompatible type for map index" + msgstr "" + +-#: go/gofrontend/expressions.cc:14793 ++#: go/gofrontend/expressions.cc:14792 + msgid "expected interface or pointer to interface" + msgstr "" + +-#: go/gofrontend/expressions.cc:15579 ++#: go/gofrontend/expressions.cc:15578 + msgid "too many expressions for struct" + msgstr "" + +-#: go/gofrontend/expressions.cc:15592 ++#: go/gofrontend/expressions.cc:15591 + msgid "too few expressions for struct" + msgstr "" + +-#: go/gofrontend/expressions.cc:17557 go/gofrontend/statements.cc:1921 ++#: go/gofrontend/expressions.cc:17556 go/gofrontend/statements.cc:1921 + msgid "type assertion only valid for interface types" + msgstr "" + +-#: go/gofrontend/expressions.cc:17569 ++#: go/gofrontend/expressions.cc:17568 + msgid "impossible type assertion: type does not implement interface" + msgstr "" + +-#: go/gofrontend/expressions.cc:17768 go/gofrontend/expressions.cc:17788 ++#: go/gofrontend/expressions.cc:17767 go/gofrontend/expressions.cc:17787 + #: go/gofrontend/statements.cc:1768 + msgid "expected channel" + msgstr "" + +-#: go/gofrontend/expressions.cc:17793 go/gofrontend/statements.cc:1773 ++#: go/gofrontend/expressions.cc:17792 go/gofrontend/statements.cc:1773 + msgid "invalid receive on send-only channel" + msgstr "" + +@@ -23449,7 +23439,7 @@ msgstr "" + #. coalesced sections. Weak aliases (or any other kind of aliases) are + #. not supported. Weak symbols that aren't visible outside the .s file + #. are not supported. +-#: config/darwin.h:656 ++#: config/darwin.h:648 + #, gcc-internal-format + msgid "alias definitions not supported in Mach-O; ignored" + msgstr "" +@@ -23849,17 +23839,17 @@ msgstr "" + msgid "unrecognized scalar storage order value %qs" + msgstr "" + +-#: d/lang.opt:201 ++#: d/lang.opt:193 + #, gcc-internal-format + msgid "unknown array bounds setting %qs" + msgstr "" + +-#: d/lang.opt:243 ++#: d/lang.opt:235 + #, gcc-internal-format + msgid "unknown checkaction setting %qs" + msgstr "" + +-#: d/lang.opt:303 ++#: d/lang.opt:291 + #, gcc-internal-format + msgid "unknown C++ standard %qs" + msgstr "" +@@ -24079,7 +24069,7 @@ msgstr "" + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15979 cp/decl.cc:16029 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, gcc-internal-format + msgid "previous declaration here" +@@ -24097,7 +24087,7 @@ msgstr "" + msgid "%<%E::%E%> scoped attribute directive ignored" + msgstr "" + +-#: attribs.cc:737 c/c-parser.cc:1961 cp/cp-gimplify.cc:3286 ++#: attribs.cc:737 c/c-parser.cc:1961 cp/cp-gimplify.cc:3274 + #, gcc-internal-format + msgid "wrong number of arguments specified for %qE attribute" + msgstr "" +@@ -24107,7 +24097,7 @@ msgstr "" + msgid "expected %i or more, found %i" + msgstr "" + +-#: attribs.cc:743 c/c-parser.cc:1964 cp/cp-gimplify.cc:3288 ++#: attribs.cc:743 c/c-parser.cc:1964 cp/cp-gimplify.cc:3276 + #, gcc-internal-format, gfc-internal-format + msgid "expected %i, found %i" + msgstr "" +@@ -24173,12 +24163,12 @@ msgstr "" + #: c-family/c-attribs.cc:5632 c-family/c-attribs.cc:5800 + #: c-family/c-attribs.cc:5812 c-family/c-common.cc:6056 + #: c-family/c-common.cc:6059 config/darwin.cc:2143 config/arm/arm.cc:7444 +-#: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:10158 ++#: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 config/h8300/h8300.cc:4968 +-#: config/h8300/h8300.cc:4992 config/i386/i386-options.cc:3434 +-#: config/i386/i386-options.cc:3592 config/i386/i386-options.cc:3824 +-#: config/i386/i386-options.cc:3854 config/ia64/ia64.cc:785 +-#: config/loongarch/loongarch.cc:6539 config/rs6000/rs6000.cc:20476 ++#: config/h8300/h8300.cc:4992 config/i386/i386-options.cc:3428 ++#: config/i386/i386-options.cc:3586 config/i386/i386-options.cc:3818 ++#: config/i386/i386-options.cc:3848 config/ia64/ia64.cc:785 ++#: config/loongarch/loongarch.cc:6539 config/rs6000/rs6000.cc:20475 + #: ada/gcc-interface/utils.cc:6588 ada/gcc-interface/utils.cc:6604 + #: ada/gcc-interface/utils.cc:6642 ada/gcc-interface/utils.cc:6659 + #: ada/gcc-interface/utils.cc:6676 ada/gcc-interface/utils.cc:6691 +@@ -24186,8 +24176,8 @@ msgstr "" + #: ada/gcc-interface/utils.cc:6802 ada/gcc-interface/utils.cc:6829 + #: ada/gcc-interface/utils.cc:6850 ada/gcc-interface/utils.cc:6871 + #: ada/gcc-interface/utils.cc:6919 ada/gcc-interface/utils.cc:6935 +-#: ada/gcc-interface/utils.cc:6990 c/c-decl.cc:4788 c/c-decl.cc:4791 +-#: c/c-decl.cc:4806 c/c-parser.cc:5433 cp/tree.cc:5032 d/d-attribs.cc:480 ++#: ada/gcc-interface/utils.cc:6990 c/c-decl.cc:4781 c/c-decl.cc:4784 ++#: c/c-decl.cc:4799 c/c-parser.cc:5433 cp/tree.cc:5032 d/d-attribs.cc:480 + #: d/d-attribs.cc:699 d/d-attribs.cc:720 d/d-attribs.cc:736 d/d-attribs.cc:753 + #: d/d-attribs.cc:785 d/d-attribs.cc:914 d/d-attribs.cc:973 d/d-attribs.cc:989 + #: d/d-attribs.cc:1005 d/d-attribs.cc:1154 d/d-attribs.cc:1167 +@@ -25550,12 +25540,12 @@ msgstr "" + + #. include_self= + #. TODO: Add OPT_Wundefined-inline. +-#: cgraphunit.cc:1094 c/c-decl.cc:12844 ++#: cgraphunit.cc:1094 c/c-decl.cc:12837 + #, gcc-internal-format + msgid "%q+F used but never defined" + msgstr "" + +-#: cgraphunit.cc:1096 c/c-decl.cc:12854 ++#: cgraphunit.cc:1096 c/c-decl.cc:12847 + #, gcc-internal-format + msgid "%q+F declared % but never defined" + msgstr "" +@@ -25687,7 +25677,7 @@ msgid "ld returned %d exit status" + msgstr "" + + #: collect2.cc:913 gcc.cc:8200 config/gcn/mkoffload.cc:827 +-#: config/nvptx/mkoffload.cc:559 ++#: config/nvptx/mkoffload.cc:545 + #, gcc-internal-format + msgid "atexit failed" + msgstr "" +@@ -26211,20 +26201,20 @@ msgstr "" + msgid "% of mutually exclusive equal-tests is always 0" + msgstr "" + +-#: fold-const.cc:9950 ++#: fold-const.cc:9943 + #, gcc-internal-format + msgid "" + "assuming signed overflow does not occur when reducing constant in comparison" + msgstr "" + +-#: fold-const.cc:10357 ++#: fold-const.cc:10350 + #, gcc-internal-format + msgid "" + "assuming signed overflow does not occur when combining constants around a " + "comparison" + msgstr "" + +-#: fold-const.cc:13568 ++#: fold-const.cc:13561 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "" +@@ -26618,7 +26608,7 @@ msgstr "" + msgid "multilib exclusions %qs is invalid" + msgstr "" + +-#: gcc.cc:9711 common/config/riscv/riscv-common.cc:1729 ++#: gcc.cc:9711 common/config/riscv/riscv-common.cc:1668 + #, gcc-internal-format + msgid "multilib select %qs %qs is invalid" + msgstr "" +@@ -26959,7 +26949,7 @@ msgstr "" + msgid "function may return address of local variable" + msgstr "" + +-#: gimple-ssa-isolate-paths.cc:414 c/c-typeck.cc:11402 ++#: gimple-ssa-isolate-paths.cc:414 c/c-typeck.cc:11397 + #, gcc-internal-format + msgid "function returns address of local variable" + msgstr "" +@@ -26967,11 +26957,11 @@ msgstr "" + #: gimple-ssa-isolate-paths.cc:417 gimple-ssa-warn-access.cc:2041 + #: gimple-ssa-warn-access.cc:3713 tree.cc:12354 tree.cc:12391 tree.cc:12432 + #: tree.cc:12465 c/c-typeck.cc:3092 c/c-typeck.cc:3187 c/c-typeck.cc:5769 +-#: c/c-typeck.cc:11308 c/c-typeck.cc:11325 c/gimple-parser.cc:2484 +-#: c/gimple-parser.cc:2492 cp/call.cc:8079 cp/call.cc:10228 cp/class.cc:9076 ++#: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 ++#: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16176 cp/decl.cc:16543 cp/decl2.cc:5720 +-#: cp/decl2.cc:5775 cp/parser.cc:21904 cp/pt.cc:9028 cp/semantics.cc:2192 ++#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 + #: rust/backend/rust-constexpr.cc:4403 rust/backend/rust-tree.cc:623 +@@ -28193,11 +28183,11 @@ msgstr "" + + #: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 + #: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3996 +-#: c/c-decl.cc:4277 c/c-typeck.cc:9355 c/c-typeck.cc:12110 cp/class.cc:1492 ++#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 ++#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 + #: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 + #: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2908 cp/parser.cc:3566 cp/parser.cc:3712 ++#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 + #: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, gcc-internal-format + msgid "%qD declared here" +@@ -28627,380 +28617,380 @@ msgstr "" + msgid "memory input %d is not directly addressable" + msgstr "" + +-#: gimplify.cc:7502 ++#: gimplify.cc:7495 + #, gcc-internal-format + msgid "" + "threadprivate variable %qE used in a region with % clause" + msgstr "" + +-#: gimplify.cc:7504 ++#: gimplify.cc:7497 + #, gcc-internal-format + msgid "enclosing region" + msgstr "" + +-#: gimplify.cc:7508 ++#: gimplify.cc:7501 + #, gcc-internal-format + msgid "threadprivate variable %qE used in target region" + msgstr "" + +-#: gimplify.cc:7510 ++#: gimplify.cc:7503 + #, gcc-internal-format + msgid "enclosing target region" + msgstr "" + +-#: gimplify.cc:7523 ++#: gimplify.cc:7516 + #, gcc-internal-format + msgid "threadprivate variable %qE used in untied task" + msgstr "" + +-#: gimplify.cc:7525 ++#: gimplify.cc:7518 + #, gcc-internal-format + msgid "enclosing task" + msgstr "" + +-#: gimplify.cc:7622 ++#: gimplify.cc:7615 + #, gcc-internal-format + msgid "%qE not specified in enclosing %qs" + msgstr "" + +-#: gimplify.cc:7624 ++#: gimplify.cc:7617 + #, gcc-internal-format + msgid "enclosing %qs" + msgstr "" + +-#: gimplify.cc:7767 ++#: gimplify.cc:7760 + #, gcc-internal-format + msgid "%qE not specified in enclosing OpenACC %qs construct" + msgstr "" + +-#: gimplify.cc:7769 ++#: gimplify.cc:7762 + #, gcc-internal-format + msgid "enclosing OpenACC %qs construct" + msgstr "" + +-#: gimplify.cc:7830 ++#: gimplify.cc:7823 + #, gcc-internal-format + msgid "%qE with % clause used in % function" + msgstr "" + +-#: gimplify.cc:7838 ++#: gimplify.cc:7831 + #, gcc-internal-format + msgid "%qE requires a % directive for use in a % function" + msgstr "" + +-#: gimplify.cc:7907 ++#: gimplify.cc:7900 + #, gcc-internal-format + msgid "%qE not specified in enclosing %" + msgstr "" + +-#: gimplify.cc:7909 ++#: gimplify.cc:7902 + #, gcc-internal-format + msgid "enclosing %" + msgstr "" + +-#: gimplify.cc:7939 gimplify.cc:11197 ++#: gimplify.cc:7932 gimplify.cc:11190 + #, gcc-internal-format + msgid "variable %qE declared in enclosing % region" + msgstr "" + +-#: gimplify.cc:7960 ++#: gimplify.cc:7953 + #, gcc-internal-format + msgid "%qD referenced in target region does not have a mappable type" + msgstr "" + +-#: gimplify.cc:8091 ++#: gimplify.cc:8084 + #, gcc-internal-format + msgid "iteration variable %qE is predetermined linear" + msgstr "" + +-#: gimplify.cc:8094 ++#: gimplify.cc:8087 + #, gcc-internal-format + msgid "iteration variable %qE should be private" + msgstr "" + +-#: gimplify.cc:8108 ++#: gimplify.cc:8101 + #, gcc-internal-format + msgid "iteration variable %qE should not be firstprivate" + msgstr "" + +-#: gimplify.cc:8111 ++#: gimplify.cc:8104 + #, gcc-internal-format + msgid "iteration variable %qE should not be reduction" + msgstr "" + +-#: gimplify.cc:8114 ++#: gimplify.cc:8107 + #, gcc-internal-format + msgid "iteration variable %qE should not be linear" + msgstr "" + +-#: gimplify.cc:9116 gimplify.cc:9127 gimplify.cc:9139 gimplify.cc:9154 +-#: gimplify.cc:9350 gimplify.cc:9353 gimplify.cc:9363 gimplify.cc:9381 ++#: gimplify.cc:9109 gimplify.cc:9120 gimplify.cc:9132 gimplify.cc:9147 ++#: gimplify.cc:9343 gimplify.cc:9346 gimplify.cc:9356 gimplify.cc:9374 + #, gcc-internal-format + msgid "unexpected mapping node" + msgstr "" + +-#: gimplify.cc:9415 ++#: gimplify.cc:9408 + #, gcc-internal-format + msgid "unexpected pointer mapping node" + msgstr "" + +-#: gimplify.cc:9625 ++#: gimplify.cc:9618 + #, gcc-internal-format + msgid "base pointer cycle detected" + msgstr "" + +-#: gimplify.cc:9997 ++#: gimplify.cc:9990 + #, gcc-internal-format + msgid "" + "data movement for component %qE is not compatible with movement for struct " + "%qE" + msgstr "" + +-#: gimplify.cc:10042 ++#: gimplify.cc:10035 + #, gcc-internal-format + msgid "%qE appears more than once in map clauses" + msgstr "" + +-#: gimplify.cc:10648 ++#: gimplify.cc:10641 + #, gcc-internal-format + msgid "mapping field %qE of variable length structure" + msgstr "" + +-#: gimplify.cc:10858 gimplify.cc:10864 ++#: gimplify.cc:10851 gimplify.cc:10857 + #, gcc-internal-format + msgid "conditional % clause on %qs construct" + msgstr "" + +-#: gimplify.cc:10881 ++#: gimplify.cc:10874 + #, gcc-internal-format + msgid "non-scalar variable %qD in conditional % clause" + msgstr "" + +-#: gimplify.cc:10903 ++#: gimplify.cc:10896 + #, gcc-internal-format + msgid "% reduction modifier on a construct with a % clause" + msgstr "" + +-#: gimplify.cc:10911 ++#: gimplify.cc:10904 + #, gcc-internal-format + msgid "" + "invalid % reduction modifier on construct other than %, " + "%qs, % or %" + msgstr "" + +-#: gimplify.cc:10922 gimplify.cc:10928 gimplify.cc:10934 gimplify.cc:10940 +-#: gimplify.cc:10946 gimplify.cc:14926 ++#: gimplify.cc:10915 gimplify.cc:10921 gimplify.cc:10927 gimplify.cc:10933 ++#: gimplify.cc:10939 gimplify.cc:14919 + #, gcc-internal-format + msgid "% % clause on %qs construct" + msgstr "" + +-#: gimplify.cc:11040 ++#: gimplify.cc:11033 + #, gcc-internal-format + msgid "" + "% clause for variable other than loop iterator specified on " + "construct combined with %" + msgstr "" + +-#: gimplify.cc:11735 ++#: gimplify.cc:11728 + #, gcc-internal-format + msgid "" + "copyprivate variable %qE is not threadprivate or private in outer context" + msgstr "" + +-#: gimplify.cc:11792 ++#: gimplify.cc:11785 + #, gcc-internal-format + msgid "%s variable %qE is private in outer context" + msgstr "" + +-#: gimplify.cc:11824 ++#: gimplify.cc:11817 + #, gcc-internal-format + msgid "expected %qs % clause modifier rather than %qs" + msgstr "" + +-#: gimplify.cc:11862 ++#: gimplify.cc:11855 + #, gcc-internal-format + msgid "" + "% clause with % is only allowed on % construct" + msgstr "" + +-#: gimplify.cc:11878 ++#: gimplify.cc:11871 + #, gcc-internal-format + msgid "" + "with %, only the %, %, %, " + "%, and % clauses may appear on the construct" + msgstr "" + +-#: gimplify.cc:12090 ++#: gimplify.cc:12083 + #, gcc-internal-format + msgid "" + "%qD specified in %qs clause but not in % % clause on " + "the containing construct" + msgstr "" + +-#: gimplify.cc:12296 ++#: gimplify.cc:12289 + #, gcc-internal-format + msgid "%<_Atomic%> %qD in implicit % clause" + msgstr "" + +-#: gimplify.cc:12350 ++#: gimplify.cc:12343 + #, gcc-internal-format + msgid "" + "%<_Atomic%> %qD in implicit % clause on % construct" + msgstr "" + +-#: gimplify.cc:12612 ++#: gimplify.cc:12605 + #, gcc-internal-format + msgid "%<_Atomic%> %qD in % clause on % construct" + msgstr "" + +-#: gimplify.cc:12685 ++#: gimplify.cc:12678 + #, gcc-internal-format + msgid "" + "same variable used in % and % clauses on " + "% construct" + msgstr "" + +-#: gimplify.cc:12799 ++#: gimplify.cc:12792 + #, gcc-internal-format + msgid "" + "incompatible data clause with reduction on %qE; promoting to " + "%" + msgstr "" + +-#: gimplify.cc:12948 ++#: gimplify.cc:12941 + #, gcc-internal-format + msgid "" + "%qD specified in % % clause but not in % " + "directive clause" + msgstr "" + +-#: gimplify.cc:12967 ++#: gimplify.cc:12960 + #, gcc-internal-format + msgid "invalid private reduction on %qE" + msgstr "" + +-#: gimplify.cc:13133 ++#: gimplify.cc:13126 + #, gcc-internal-format + msgid "" + "% % clause used together with % clause for a " + "variable other than loop iterator" + msgstr "" + +-#: gimplify.cc:13472 ++#: gimplify.cc:13465 + #, gcc-internal-format + msgid "% kind in % clause on a % construct" + msgstr "" + +-#: gimplify.cc:13482 ++#: gimplify.cc:13475 + #, gcc-internal-format + msgid "% construct with % clause but no % clauses" + msgstr "" + +-#: gimplify.cc:13766 gimplify.cc:13770 gimplify.cc:13779 gimplify.cc:13791 +-#: gimplify.cc:13796 ++#: gimplify.cc:13759 gimplify.cc:13763 gimplify.cc:13772 gimplify.cc:13784 ++#: gimplify.cc:13789 + #, gcc-internal-format + msgid "%qs clause may not appear on non-rectangular %qs" + msgstr "" + +-#: gimplify.cc:13958 ++#: gimplify.cc:13951 + #, gcc-internal-format + msgid "" + "% clause may not be specified together with % clause if " + "stand-alone % construct is nested in it" + msgstr "" + +-#: gimplify.cc:14023 ++#: gimplify.cc:14016 + #, gcc-internal-format + msgid "threadprivate iteration variable %qD" + msgstr "" + +-#: gimplify.cc:14054 gimplify.cc:14162 ++#: gimplify.cc:14047 gimplify.cc:14155 + #, gcc-internal-format + msgid "conditional % on loop iterator %qD ignored" + msgstr "" + +-#: gimplify.cc:14864 ++#: gimplify.cc:14857 + #, gcc-internal-format + msgid "" + "% clause not specified on a % construct not nested inside " + "another OpenMP construct" + msgstr "" + +-#: gimplify.cc:14888 ++#: gimplify.cc:14881 + #, gcc-internal-format + msgid "" + "% on a % construct nested inside % construct" + msgstr "" + +-#: gimplify.cc:14908 ++#: gimplify.cc:14901 + #, gcc-internal-format + msgid "" + "% on a % region not strictly nested inside of a " + "% region" + msgstr "" + +-#: gimplify.cc:14933 ++#: gimplify.cc:14926 + #, gcc-internal-format + msgid "" + "invalid % reduction modifier on construct other than %, " + "%qs or %" + msgstr "" + +-#: gimplify.cc:14961 ++#: gimplify.cc:14954 + #, gcc-internal-format + msgid "" + "% clause on a % construct refers to a variable %qD " + "which is not the loop iterator" + msgstr "" + +-#: gimplify.cc:16042 ++#: gimplify.cc:16035 + #, gcc-internal-format + msgid "" + "% construct with %qs clause must be closely nested inside a loop " + "with % clause" + msgstr "" + +-#: gimplify.cc:16063 ++#: gimplify.cc:16056 + #, gcc-internal-format + msgid "variable %qE is not an iteration of outermost loop %d, expected %qE" + msgstr "" + +-#: gimplify.cc:16076 ++#: gimplify.cc:16069 + #, gcc-internal-format + msgid "" + "number of variables in %qs clause with % modifier does not match " + "number of iteration variables" + msgstr "" + +-#: gimplify.cc:16090 ++#: gimplify.cc:16083 + #, gcc-internal-format + msgid "" + "more than one %qs clause with % modifier on an % construct" + msgstr "" + +-#: gimplify.cc:16103 ++#: gimplify.cc:16096 + #, gcc-internal-format + msgid "" + "%qs clause with % modifier specified together with %qs clauses with " + "% modifier on the same construct" + msgstr "" + +-#: gimplify.cc:17412 ++#: gimplify.cc:17405 + #, gcc-internal-format + msgid "gimplification failed" + msgstr "" + +-#: gimplify.cc:18011 ++#: gimplify.cc:18004 + #, gcc-internal-format + msgid "%qT is promoted to %qT when passed through %<...%>" + msgstr "" + +-#: gimplify.cc:18016 ++#: gimplify.cc:18009 + #, gcc-internal-format + msgid "(so you should pass %qT not %qT to %)" + msgstr "" + +-#: gimplify.cc:18023 ++#: gimplify.cc:18016 + #, gcc-internal-format + msgid "if this code is reached, the program will abort" + msgstr "" +@@ -30531,12 +30521,12 @@ msgstr "" + msgid "unrecognized argument in option %qs" + msgstr "" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1641 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1637 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1644 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1640 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s" + msgstr "" +@@ -33061,37 +33051,37 @@ msgstr "" + msgid "target does not support atomic profile update, single mode is selected" + msgstr "" + +-#: tree-ssa-alias.cc:4060 ++#: tree-ssa-alias.cc:4042 + #, gcc-internal-format, gfc-internal-format + msgid "invalid fn spec attribute \"%s\"" + msgstr "" + +-#: tree-ssa-alias.cc:4099 ++#: tree-ssa-alias.cc:4081 + #, gcc-internal-format, gfc-internal-format + msgid "invalid fn spec attribute \"%s\" arg %i" + msgstr "" + +-#: tree-ssa-ccp.cc:4686 c-family/c-common.cc:5830 ++#: tree-ssa-ccp.cc:4684 c-family/c-common.cc:5830 + #, gcc-internal-format + msgid "%qs pointer is null" + msgstr "" + +-#: tree-ssa-ccp.cc:4689 c-family/c-common.cc:5833 ++#: tree-ssa-ccp.cc:4687 c-family/c-common.cc:5833 + #, gcc-internal-format + msgid "in a call to non-static member function %qD" + msgstr "" + +-#: tree-ssa-ccp.cc:4695 c-family/c-common.cc:5839 ++#: tree-ssa-ccp.cc:4693 c-family/c-common.cc:5839 + #, gcc-internal-format, gfc-internal-format + msgid "argument %u null where non-null expected" + msgstr "" + +-#: tree-ssa-ccp.cc:4701 ++#: tree-ssa-ccp.cc:4699 + #, gcc-internal-format + msgid "in a call to built-in function %qD" + msgstr "" + +-#: tree-ssa-ccp.cc:4705 c-family/c-common.cc:5843 ++#: tree-ssa-ccp.cc:4703 c-family/c-common.cc:5843 + #, gcc-internal-format + msgid "in a call to function %qD declared %qs" + msgstr "" +@@ -34105,7 +34095,7 @@ msgid "" + "requested alignment for %q+D is greater than implemented alignment of %wu" + msgstr "" + +-#: varasm.cc:2304 c/c-decl.cc:5725 c/c-parser.cc:1789 m2/gm2-gcc/m2type.cc:1259 ++#: varasm.cc:2304 c/c-decl.cc:5718 c/c-parser.cc:1789 m2/gm2-gcc/m2type.cc:1259 + #, gcc-internal-format + msgid "storage size of %q+D isn%'t known" + msgstr "" +@@ -34396,7 +34386,7 @@ msgstr "" + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3848 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "" +@@ -35423,8 +35413,8 @@ msgstr "" + msgid "suggest parentheses around assignment used as truth value" + msgstr "" + +-#: c-family/c-common.cc:3786 c/c-decl.cc:4852 c/c-decl.cc:7435 +-#: c/c-parser.cc:3523 c/c-typeck.cc:16341 ++#: c-family/c-common.cc:3786 c/c-decl.cc:4845 c/c-decl.cc:7428 ++#: c/c-parser.cc:3523 c/c-typeck.cc:16336 + #, gcc-internal-format + msgid "invalid use of %" + msgstr "" +@@ -36546,17 +36536,17 @@ msgstr "" + msgid "repeated %<@%> before Objective-C string" + msgstr "" + +-#: c-family/c-lex.cc:1343 c/c-parser.cc:7911 ++#: c-family/c-lex.cc:1343 c/c-parser.cc:7908 + #, gcc-internal-format + msgid "unsupported non-standard concatenation of string literals" + msgstr "" + +-#: c-family/c-lex.cc:1379 c/c-parser.cc:7932 ++#: c-family/c-lex.cc:1379 c/c-parser.cc:7929 + #, gcc-internal-format + msgid "traditional C rejects string constant concatenation" + msgstr "" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19584 ++#: c-family/c-omp.cc:130 cp/pt.cc:19567 + #, gcc-internal-format + msgid "" + "%<#pragma omp critical%> with % clause requires a name, except when " +@@ -36727,7 +36717,7 @@ msgid "" + "%, %, %" + msgstr "" + +-#: c-family/c-omp.cc:2756 c/c-typeck.cc:16154 cp/semantics.cc:9229 ++#: c-family/c-omp.cc:2756 c/c-typeck.cc:16149 cp/semantics.cc:9229 + #, gcc-internal-format + msgid "" + "%qD specified in % clause but not in an explicit privatization " +@@ -37307,7 +37297,7 @@ msgid "wrong type argument to %s" + msgstr "" + + #: c-family/c-warn.cc:59 c-family/c-warn.cc:72 cp/constexpr.cc:3369 +-#: cp/constexpr.cc:6945 m2/gm2-gcc/m2expr.cc:935 ++#: cp/constexpr.cc:6946 m2/gm2-gcc/m2expr.cc:935 + #: rust/backend/rust-constexpr.cc:1905 rust/backend/rust-constexpr.cc:4327 + #, gcc-internal-format + msgid "overflow in constant expression" +@@ -38108,7 +38098,7 @@ msgid_plural "" + msgstr[0] "" + msgstr[1] "" + +-#: c-family/c-warn.cc:2849 c/c-typeck.cc:5723 cp/call.cc:6299 ++#: c-family/c-warn.cc:2849 c/c-typeck.cc:5723 cp/call.cc:6284 + #, gcc-internal-format + msgid "this condition has identical branches" + msgstr "" +@@ -38130,7 +38120,7 @@ msgid "" + "%d) may result in an unaligned pointer value" + msgstr "" + +-#: c-family/c-warn.cc:3061 c-family/c-warn.cc:3064 cp/init.cc:667 ++#: c-family/c-warn.cc:3061 c-family/c-warn.cc:3064 cp/init.cc:677 + #, gcc-internal-format + msgid "defined here" + msgstr "" +@@ -38335,7 +38325,7 @@ msgstr "" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18135 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 + #, gcc-internal-format + msgid "unknown value %qs for %<-mcpu%>" + msgstr "" +@@ -38366,15 +38356,15 @@ msgid "unrecognized option passed to %%:%" + msgstr "" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18067 +-#: config/aarch64/aarch64.cc:18105 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 ++#: config/aarch64/aarch64.cc:18110 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18070 +-#: config/aarch64/aarch64.cc:18108 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 ++#: config/aarch64/aarch64.cc:18113 + #, gcc-internal-format, gfc-internal-format + msgid "valid arguments are: %s" + msgstr "" +@@ -38940,44 +38930,44 @@ msgstr "" + msgid "PIC is only supported for RTPs" + msgstr "" + +-#: config/aarch64/aarch64-builtins.cc:2156 +-#: config/aarch64/aarch64-builtins.cc:2390 config/arm/arm-builtins.cc:3112 ++#: config/aarch64/aarch64-builtins.cc:2142 ++#: config/aarch64/aarch64-builtins.cc:2376 config/arm/arm-builtins.cc:3112 + #, gcc-internal-format, gfc-internal-format + msgid "argument %d must be a constant immediate" + msgstr "" + +-#: config/aarch64/aarch64-builtins.cc:2228 config/arm/arm-builtins.cc:3467 ++#: config/aarch64/aarch64-builtins.cc:2214 config/arm/arm-builtins.cc:3467 + #, gcc-internal-format + msgid "lane index must be a constant immediate" + msgstr "" + +-#: config/aarch64/aarch64-builtins.cc:2232 ++#: config/aarch64/aarch64-builtins.cc:2218 + #, gcc-internal-format + msgid "total size and element size must be a nonzero constant immediate" + msgstr "" + +-#: config/aarch64/aarch64-builtins.cc:2480 ++#: config/aarch64/aarch64-builtins.cc:2466 + #, gcc-internal-format + msgid "argument must be a 16-bit constant immediate" + msgstr "" + +-#: config/aarch64/aarch64-builtins.cc:2586 ++#: config/aarch64/aarch64-builtins.cc:2572 + #, gcc-internal-format + msgid "Memory Tagging Extension does not support %<-mabi=ilp32%>" + msgstr "" + +-#: config/aarch64/aarch64-builtins.cc:2621 ++#: config/aarch64/aarch64-builtins.cc:2607 + #, gcc-internal-format, gfc-internal-format + msgid "argument %d must be a constant immediate in range [0,15]" + msgstr "" + +-#: config/aarch64/aarch64-builtins.cc:3399 +-#: config/aarch64/aarch64-builtins.cc:3419 ++#: config/aarch64/aarch64-builtins.cc:3385 ++#: config/aarch64/aarch64-builtins.cc:3405 + #, gcc-internal-format, gfc-internal-format + msgid "expected 64-bit address but argument 1 is %d-bit" + msgstr "" + +-#: config/aarch64/aarch64-builtins.cc:3403 ++#: config/aarch64/aarch64-builtins.cc:3389 + #, gcc-internal-format, gfc-internal-format + msgid "expected 64-bit address but argument 2 is %d-bit" + msgstr "" +@@ -39421,70 +39411,70 @@ msgstr "" + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:7658 ++#: config/aarch64/aarch64.cc:7659 + #, gcc-internal-format + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "" + +-#: config/aarch64/aarch64.cc:7791 config/aarch64/aarch64.cc:7862 +-#: config/aarch64/aarch64.cc:19806 ++#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 ++#: config/aarch64/aarch64.cc:19811 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7801 config/aarch64/aarch64.cc:7871 +-#: config/aarch64/aarch64.cc:19812 config/arm/arm.cc:7266 ++#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 ++#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 + #: config/arm/arm.cc:7296 config/arm/arm.cc:29338 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7939 ++#: config/aarch64/aarch64.cc:7944 + #, gcc-internal-format + msgid "%qE requires the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:7942 ++#: config/aarch64/aarch64.cc:7947 + #, gcc-internal-format + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:8120 ++#: config/aarch64/aarch64.cc:8125 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "" + +-#: config/aarch64/aarch64.cc:17552 ++#: config/aarch64/aarch64.cc:17557 + #, gcc-internal-format + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17596 ++#: config/aarch64/aarch64.cc:17601 + #, gcc-internal-format + msgid "%qs string ill-formed" + msgstr "" + +-#: config/aarch64/aarch64.cc:17652 ++#: config/aarch64/aarch64.cc:17657 + #, gcc-internal-format + msgid "invalid format for %" + msgstr "" + +-#: config/aarch64/aarch64.cc:17664 ++#: config/aarch64/aarch64.cc:17669 + #, gcc-internal-format + msgid "invalid % value: %d" + msgstr "" + +-#: config/aarch64/aarch64.cc:17684 ++#: config/aarch64/aarch64.cc:17689 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17702 ++#: config/aarch64/aarch64.cc:17707 + #, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17890 config/arm/arm.cc:3193 ++#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 + #: config/riscv/riscv.cc:6326 + #, gcc-internal-format + msgid "" +@@ -39492,267 +39482,267 @@ msgid "" + "protector-guard-offset=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17899 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 + #, gcc-internal-format + msgid "" + "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> " + "must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17907 ++#: config/aarch64/aarch64.cc:17912 + #, gcc-internal-format + msgid "specify a system register with a small string length" + msgstr "" + +-#: config/aarch64/aarch64.cc:17917 config/arm/arm.cc:3205 ++#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 + #: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 + #, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "" + +-#: config/aarch64/aarch64.cc:17924 ++#: config/aarch64/aarch64.cc:17929 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18014 ++#: config/aarch64/aarch64.cc:18019 + #, gcc-internal-format + msgid "" + "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given " + "value %d (%llu KB) is out of range" + msgstr "" + +-#: config/aarch64/aarch64.cc:18030 ++#: config/aarch64/aarch64.cc:18035 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18132 ++#: config/aarch64/aarch64.cc:18137 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18139 ++#: config/aarch64/aarch64.cc:18144 + #, gcc-internal-format + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18198 ++#: config/aarch64/aarch64.cc:18203 + #, gcc-internal-format + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18209 ++#: config/aarch64/aarch64.cc:18214 + #, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18219 + #, gcc-internal-format + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18242 ++#: config/aarch64/aarch64.cc:18247 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18245 ++#: config/aarch64/aarch64.cc:18250 + #, gcc-internal-format + msgid "unknown value %qs for %<-march%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18251 ++#: config/aarch64/aarch64.cc:18256 + #, gcc-internal-format + msgid "did you mean %<-mcpu=%s%>?" + msgstr "" + +-#: config/aarch64/aarch64.cc:18254 ++#: config/aarch64/aarch64.cc:18259 + #, gcc-internal-format + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18282 ++#: config/aarch64/aarch64.cc:18287 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18285 ++#: config/aarch64/aarch64.cc:18290 + #, gcc-internal-format + msgid "unknown value %qs for %<-mtune%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18370 ++#: config/aarch64/aarch64.cc:18375 + #, gcc-internal-format + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "" + +-#: config/aarch64/aarch64.cc:18424 ++#: config/aarch64/aarch64.cc:18429 + #, gcc-internal-format + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18431 ++#: config/aarch64/aarch64.cc:18436 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18504 ++#: config/aarch64/aarch64.cc:18509 + #, gcc-internal-format + msgid "code model %qs with %<-f%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18507 ++#: config/aarch64/aarch64.cc:18512 + #, gcc-internal-format + msgid "code model %qs not supported in ilp32 mode" + msgstr "" + +-#: config/aarch64/aarch64.cc:18659 ++#: config/aarch64/aarch64.cc:18664 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18662 ++#: config/aarch64/aarch64.cc:18667 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18666 ++#: config/aarch64/aarch64.cc:18671 + #, gcc-internal-format + msgid "" + "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18700 ++#: config/aarch64/aarch64.cc:18705 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18703 ++#: config/aarch64/aarch64.cc:18708 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18707 config/aarch64/aarch64.cc:18813 ++#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 + #, gcc-internal-format + msgid "" + "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18730 ++#: config/aarch64/aarch64.cc:18735 + #, gcc-internal-format + msgid "" + "missing argument to % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18734 ++#: config/aarch64/aarch64.cc:18739 + #, gcc-internal-format + msgid "" + "invalid protection type %qs in % pragma or " + "attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18768 ++#: config/aarch64/aarch64.cc:18773 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18809 ++#: config/aarch64/aarch64.cc:18814 + #, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18867 config/aarch64/aarch64.cc:19040 ++#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18911 ++#: config/aarch64/aarch64.cc:18916 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.cc:18919 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "" + +-#: config/aarch64/aarch64.cc:18973 ++#: config/aarch64/aarch64.cc:18978 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19030 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24418 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 ++#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "" + +-#: config/aarch64/aarch64.cc:19065 ++#: config/aarch64/aarch64.cc:19070 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:19068 ++#: config/aarch64/aarch64.cc:19073 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19077 ++#: config/aarch64/aarch64.cc:19082 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:20557 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + msgid "" + "parameter passing for argument of type %qT with %<[[no_unique_address]]%> " + "members changed %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + msgid "" + "parameter passing for argument of type %qT when C++17 is enabled changed to " + "match C++14 %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:21721 config/aarch64/aarch64.cc:21724 ++#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.cc:26985 config/i386/i386.cc:23727 +-#: config/i386/i386.cc:23858 ++#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 ++#: config/i386/i386.cc:23841 + #, gcc-internal-format + msgid "unsupported simdlen %wd" + msgstr "" + +-#: config/aarch64/aarch64.cc:26997 config/aarch64/aarch64.cc:27026 ++#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27001 ++#: config/aarch64/aarch64.cc:27006 + #, gcc-internal-format + msgid "GCC does not currently support return type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27005 ++#: config/aarch64/aarch64.cc:27010 + #, gcc-internal-format + msgid "unsupported return type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27030 ++#: config/aarch64/aarch64.cc:27035 + #, gcc-internal-format + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27056 ++#: config/aarch64/aarch64.cc:27061 + #, gcc-internal-format + msgid "GCC does not currently support simdlen %wd for type %qT" + msgstr "" +@@ -39812,7 +39802,7 @@ msgstr "" + msgid "bad value %qs for %<-mmemory-latency%>" + msgstr "" + +-#: config/alpha/alpha.cc:6657 config/alpha/alpha.cc:6660 config/arc/arc.cc:7099 ++#: config/alpha/alpha.cc:6652 config/alpha/alpha.cc:6655 config/arc/arc.cc:7099 + #: config/arc/arc.cc:7373 config/s390/s390.cc:949 + #, gcc-internal-format + msgid "bad builtin fcode" +@@ -39935,17 +39925,17 @@ msgid "argument of %qE attribute is not \"ilink\" or \"firq\"" + msgstr "" + + #: config/arc/arc.cc:2135 config/arm/arm.cc:7407 config/arm/arm.cc:7425 +-#: config/arm/arm.cc:7606 config/avr/avr.cc:10178 config/avr/avr.cc:10194 ++#: config/arm/arm.cc:7606 config/avr/avr.cc:9588 config/avr/avr.cc:9604 + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3389 +-#: config/i386/i386-options.cc:3566 config/i386/i386-options.cc:3622 +-#: config/i386/i386-options.cc:3673 config/i386/i386-options.cc:3710 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 ++#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 ++#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 + #: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20372 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -40062,7 +40052,7 @@ msgid "argument of %qE attribute is missing" + msgstr "" + + #: config/arc/arc.cc:11144 config/arc/arc.cc:11183 config/arc/arc.cc:11309 +-#: config/avr/avr.cc:10250 ++#: config/avr/avr.cc:9660 + #, gcc-internal-format + msgid "%qE attribute allows only an integer constant argument" + msgstr "" +@@ -40082,23 +40072,23 @@ msgstr "" + msgid "argument of %qE attribute ignored" + msgstr "" + +-#: config/arc/arc.cc:11299 config/avr/avr.cc:10237 config/bfin/bfin.cc:4817 ++#: config/arc/arc.cc:11299 config/avr/avr.cc:9647 config/bfin/bfin.cc:4817 + #: config/i386/winnt.cc:63 config/nvptx/nvptx.cc:5823 + #, gcc-internal-format + msgid "%qE attribute only applies to variables" + msgstr "" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22561 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 + #, gcc-internal-format + msgid "alternatives not allowed in % flag output" + msgstr "" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22625 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 + #, gcc-internal-format + msgid "unknown % flag output %qs" + msgstr "" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22654 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 + #, gcc-internal-format + msgid "invalid type for % flag output" + msgstr "" +@@ -40638,200 +40628,200 @@ msgstr "" + #. happen as options are provided by device-specs. It could be a + #. typo in a device-specs or calling the compiler proper directly + #. with -mmcu=. +-#: config/avr/avr.cc:1050 ++#: config/avr/avr.cc:711 + #, gcc-internal-format + msgid "unknown core architecture %qs specified with %qs" + msgstr "" + +-#: config/avr/avr.cc:1099 config/pru/pru.cc:601 config/visium/visium.cc:422 ++#: config/avr/avr.cc:760 config/pru/pru.cc:601 config/visium/visium.cc:422 + #, gcc-internal-format + msgid "%<-fpic%> is not supported" + msgstr "" + +-#: config/avr/avr.cc:1101 config/pru/pru.cc:603 config/visium/visium.cc:424 ++#: config/avr/avr.cc:762 config/pru/pru.cc:603 config/visium/visium.cc:424 + #, gcc-internal-format + msgid "%<-fPIC%> is not supported" + msgstr "" + +-#: config/avr/avr.cc:1103 config/pru/pru.cc:605 ++#: config/avr/avr.cc:764 config/pru/pru.cc:605 + #, gcc-internal-format + msgid "%<-fpie%> is not supported" + msgstr "" + +-#: config/avr/avr.cc:1105 config/pru/pru.cc:607 ++#: config/avr/avr.cc:766 config/pru/pru.cc:607 + #, gcc-internal-format + msgid "%<-fPIE%> is not supported" + msgstr "" + +-#: config/avr/avr.cc:1402 config/avr/avr.cc:1407 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 + #, gcc-internal-format + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "" + +-#: config/avr/avr.cc:1428 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 + #, gcc-internal-format + msgid "%qs function cannot have arguments" + msgstr "" + +-#: config/avr/avr.cc:1431 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 + #, gcc-internal-format + msgid "%qs function cannot return a value" + msgstr "" + +-#: config/avr/avr.cc:1445 ++#: config/avr/avr.cc:1093 + #, gcc-internal-format + msgid "%qs appears to be a misspelled %qs handler, missing %<__vector%> prefix" + msgstr "" + +-#: config/avr/avr.cc:1458 ++#: config/avr/avr.cc:1106 + #, gcc-internal-format + msgid "" + "%qs is a reserved identifier in AVR-LibC. Consider %<#include %> before using the %qs macro" + msgstr "" + +-#: config/avr/avr.cc:1675 ++#: config/avr/avr.cc:1323 + #, gcc-internal-format + msgid "% contains only 2 bytes of address" + msgstr "" + +-#: config/avr/avr.cc:3100 ++#: config/avr/avr.cc:2748 + #, gcc-internal-format + msgid "pointer offset from symbol maybe incorrect" + msgstr "" + +-#: config/avr/avr.cc:3239 ++#: config/avr/avr.cc:2887 + #, gcc-internal-format + msgid "accessing data memory with program memory address" + msgstr "" + +-#: config/avr/avr.cc:3300 ++#: config/avr/avr.cc:2948 + #, gcc-internal-format + msgid "accessing program memory with data memory address" + msgstr "" + +-#: config/avr/avr.cc:3634 ++#: config/avr/avr.cc:3304 + #, gcc-internal-format, gfc-internal-format + msgid "fixed register %s used to pass parameter to function" + msgstr "" + +-#: config/avr/avr.cc:3899 ++#: config/avr/avr.cc:3569 + #, gcc-internal-format + msgid "writing to address space %qs not supported" + msgstr "" + +-#: config/avr/avr.cc:10213 ++#: config/avr/avr.cc:9623 + #, gcc-internal-format + msgid "%qE attribute only applies to variables in static storage" + msgstr "" + +-#: config/avr/avr.cc:10220 ++#: config/avr/avr.cc:9630 + #, gcc-internal-format + msgid "%qE attribute only supported for reduced Tiny cores" + msgstr "" + +-#: config/avr/avr.cc:10260 ++#: config/avr/avr.cc:9670 + #, gcc-internal-format + msgid "%qE attribute address out of range" + msgstr "" + +-#: config/avr/avr.cc:10274 ++#: config/avr/avr.cc:9684 + #, gcc-internal-format + msgid "both %s and %qE attribute provide address" + msgstr "" + +-#: config/avr/avr.cc:10284 ++#: config/avr/avr.cc:9694 + #, gcc-internal-format + msgid "%qE attribute on non-volatile variable" + msgstr "" + +-#: config/avr/avr.cc:10356 ++#: config/avr/avr.cc:9766 + #, gcc-internal-format + msgid "address spaces are not supported for reduced Tiny devices" + msgstr "" + +-#: config/avr/avr.cc:10363 ++#: config/avr/avr.cc:9773 + #, gcc-internal-format + msgid "" + "address space %qs not supported for devices with flash size up to %d KiB" + msgstr "" + +-#: config/avr/avr.cc:10534 ++#: config/avr/avr.cc:9944 + #, gcc-internal-format + msgid "pointer targeting address space %qs must be const in %qT" + msgstr "" + +-#: config/avr/avr.cc:10537 ++#: config/avr/avr.cc:9947 + #, gcc-internal-format + msgid "pointer targeting address space %qs must be const in %s %q+D" + msgstr "" + +-#: config/avr/avr.cc:10599 ++#: config/avr/avr.cc:10009 + #, gcc-internal-format + msgid "" + "variable %q+D must be const in order to be put into read-only section by " + "means of %qs" + msgstr "" + +-#: config/avr/avr.cc:10638 ++#: config/avr/avr.cc:10048 + #, gcc-internal-format + msgid "static IO declaration for %q+D needs an address" + msgstr "" + +-#: config/avr/avr.cc:10670 ++#: config/avr/avr.cc:10080 + #, gcc-internal-format + msgid "IO definition for %q+D needs an address" + msgstr "" + +-#: config/avr/avr.cc:10787 ++#: config/avr/avr.cc:10197 + #, gcc-internal-format + msgid "only uninitialized variables can be placed in the %<.noinit%> section" + msgstr "" + + #. This might happen with C++ if stuff needs constructing. +-#: config/avr/avr.cc:10863 ++#: config/avr/avr.cc:10273 + #, gcc-internal-format + msgid "variable %q+D with dynamic initialization put into program memory area" + msgstr "" + +-#: config/avr/avr.cc:10874 ++#: config/avr/avr.cc:10284 + #, gcc-internal-format + msgid "uninitialized variable %q+D put into program memory area" + msgstr "" + +-#: config/avr/avr.cc:10960 ++#: config/avr/avr.cc:10370 + #, gcc-internal-format + msgid "%q+D has incompatible attributes %qs and %qs" + msgstr "" + +-#: config/avr/avr.cc:11023 ++#: config/avr/avr.cc:10433 + #, gcc-internal-format + msgid "architecture %qs supported for assembler only" + msgstr "" + +-#: config/avr/avr.cc:13513 ++#: config/avr/avr.cc:13082 + #, gcc-internal-format + msgid "conversion from address space %qs to address space %qs" + msgstr "" + +-#: config/avr/avr.cc:14603 config/avr/avr.cc:14616 ++#: config/avr/avr.cc:14172 config/avr/avr.cc:14185 + #, gcc-internal-format, gfc-internal-format + msgid "%s expects a compile time integer constant" + msgstr "" + +-#: config/avr/avr.cc:14630 ++#: config/avr/avr.cc:14199 + #, gcc-internal-format, gfc-internal-format + msgid "%s expects a compile time long integer constant as first argument" + msgstr "" + +-#: config/avr/avr.cc:14658 ++#: config/avr/avr.cc:14227 + #, gcc-internal-format, gfc-internal-format + msgid "" + "rounding to %d bits has no effect for fixed-point value with %d fractional " + "bits" + msgstr "" + +-#: config/avr/avr.cc:14667 ++#: config/avr/avr.cc:14236 + #, gcc-internal-format + msgid "rounding result will always be 0" + msgstr "" +@@ -41285,27 +41275,27 @@ msgstr "" + msgid "unsupported simdlen %wd (amdgcn)" + msgstr "" + +-#: config/gcn/gcn.cc:5996 ++#: config/gcn/gcn.cc:5987 + #, gcc-internal-format + msgid "using %, ignoring %d" + msgstr "" + +-#: config/gcn/gcn.cc:5997 ++#: config/gcn/gcn.cc:5988 + #, gcc-internal-format + msgid "using %, ignoring runtime setting" + msgstr "" + +-#: config/gcn/gcn.cc:6009 config/nvptx/nvptx.cc:6568 ++#: config/gcn/gcn.cc:6000 config/nvptx/nvptx.cc:6568 + #, gcc-internal-format + msgid "using %, ignoring %d" + msgstr "" + +-#: config/gcn/gcn.cc:6036 config/gcn/gcn.cc:6065 ++#: config/gcn/gcn.cc:6027 config/gcn/gcn.cc:6056 + #, gcc-internal-format, gfc-internal-format + msgid "offload dimension out of range (%d)" + msgstr "" + +-#: config/gcn/gcn.cc:6514 ++#: config/gcn/gcn.cc:6505 + #, gcc-internal-format + msgid "" + "%d bytes of gang-private data-share memory exhausted (increase with %<-mgang-" +@@ -41317,12 +41307,12 @@ msgstr "" + msgid "deleting file %s: %m" + msgstr "" + +-#: config/gcn/mkoffload.cc:772 config/nvptx/mkoffload.cc:506 ++#: config/gcn/mkoffload.cc:772 config/nvptx/mkoffload.cc:492 + #, gcc-internal-format + msgid "environment variable COLLECT_GCC_OPTIONS must be set" + msgstr "" + +-#: config/gcn/mkoffload.cc:831 config/nvptx/mkoffload.cc:563 ++#: config/gcn/mkoffload.cc:831 config/nvptx/mkoffload.cc:549 + #, gcc-internal-format + msgid "COLLECT_GCC must be set." + msgstr "" +@@ -41332,7 +41322,7 @@ msgstr "" + msgid "offload compiler %s not found" + msgstr "" + +-#: config/gcn/mkoffload.cc:899 config/nvptx/mkoffload.cc:634 ++#: config/gcn/mkoffload.cc:899 config/nvptx/mkoffload.cc:620 + #, gcc-internal-format + msgid "unrecognizable argument of option " + msgstr "" +@@ -41343,17 +41333,17 @@ msgid "either -fopenacc or -fopenmp must be set" + msgstr "" + + #: config/gcn/mkoffload.cc:996 config/gcn/mkoffload.cc:1143 +-#: config/nvptx/mkoffload.cc:698 ++#: config/nvptx/mkoffload.cc:684 + #, gcc-internal-format, gfc-internal-format + msgid "cannot open '%s'" + msgstr "" + +-#: config/gcn/mkoffload.cc:1129 config/nvptx/mkoffload.cc:744 ++#: config/gcn/mkoffload.cc:1129 config/nvptx/mkoffload.cc:730 + #, gcc-internal-format + msgid "cannot open omp_requires file %qs" + msgstr "" + +-#: config/gcn/mkoffload.cc:1133 config/nvptx/mkoffload.cc:748 ++#: config/gcn/mkoffload.cc:1133 config/nvptx/mkoffload.cc:734 + #, gcc-internal-format + msgid "cannot read omp_requires file %qs" + msgstr "" +@@ -41591,25 +41581,25 @@ msgstr "" + msgid "the argument to % intrinsic must be an 8-bit immediate" + msgstr "" + +-#: config/i386/i386-features.cc:3222 ++#: config/i386/i386-features.cc:3265 + #, gcc-internal-format + msgid "" + "function versions cannot be marked as %, bodies have to be " + "generated" + msgstr "" + +-#: config/i386/i386-features.cc:3227 config/i386/i386-features.cc:3496 ++#: config/i386/i386-features.cc:3270 config/i386/i386-features.cc:3539 + #, gcc-internal-format + msgid "virtual function multiversioning not supported" + msgstr "" + +-#: config/i386/i386-features.cc:3360 config/rs6000/rs6000.cc:25116 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 + #, gcc-internal-format + msgid "multiversioning needs % which is not supported on this target" + msgstr "" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2129 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2134 + #, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" + msgstr "" +@@ -41634,61 +41624,61 @@ msgstr "" + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "" + +-#: config/i386/i386-options.cc:1612 ++#: config/i386/i386-options.cc:1608 + #, gcc-internal-format + msgid "wrong argument %qs to option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1618 ++#: config/i386/i386-options.cc:1614 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "" + +-#: config/i386/i386-options.cc:1628 ++#: config/i386/i386-options.cc:1624 + #, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" + msgstr "" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1654 ++#: config/i386/i386-options.cc:1650 + #, gcc-internal-format + msgid "" + "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:1667 ++#: config/i386/i386-options.cc:1663 + #, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1677 ++#: config/i386/i386-options.cc:1673 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1684 ++#: config/i386/i386-options.cc:1680 + #, gcc-internal-format + msgid "too many size ranges specified in option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1737 ++#: config/i386/i386-options.cc:1733 + #, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "" + +-#: config/i386/i386-options.cc:1951 ++#: config/i386/i386-options.cc:1947 + #, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "" + +-#: config/i386/i386-options.cc:2005 ++#: config/i386/i386-options.cc:2001 + #, gcc-internal-format + msgid "" + "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> " + "instead as appropriate" + msgstr "" + +-#: config/i386/i386-options.cc:2007 ++#: config/i386/i386-options.cc:2003 + #, gcc-internal-format + msgid "" + "% is deprecated; use % or " +@@ -41696,449 +41686,449 @@ msgid "" + msgstr "" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2035 ++#: config/i386/i386-options.cc:2031 + #, gcc-internal-format + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2040 ++#: config/i386/i386-options.cc:2036 + #, gcc-internal-format + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2043 ++#: config/i386/i386-options.cc:2039 + #, gcc-internal-format + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2058 ++#: config/i386/i386-options.cc:2054 + #, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2069 ++#: config/i386/i386-options.cc:2065 + #, gcc-internal-format + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "" + +-#: config/i386/i386-options.cc:2075 ++#: config/i386/i386-options.cc:2071 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2074 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2082 ++#: config/i386/i386-options.cc:2078 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "" + +-#: config/i386/i386-options.cc:2099 config/i386/i386-options.cc:2108 +-#: config/i386/i386-options.cc:2120 config/i386/i386-options.cc:2131 +-#: config/i386/i386-options.cc:2142 ++#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 ++#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 ++#: config/i386/i386-options.cc:2138 + #, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2111 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 + #, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "" + +-#: config/i386/i386-options.cc:2166 ++#: config/i386/i386-options.cc:2162 + #, gcc-internal-format + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "" + +-#: config/i386/i386-options.cc:2171 ++#: config/i386/i386-options.cc:2167 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "" + +-#: config/i386/i386-options.cc:2183 ++#: config/i386/i386-options.cc:2179 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2185 ++#: config/i386/i386-options.cc:2181 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2192 ++#: config/i386/i386-options.cc:2188 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2194 ++#: config/i386/i386-options.cc:2190 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2202 config/i386/i386-options.cc:2334 ++#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 + #, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "" + +-#: config/i386/i386-options.cc:2273 ++#: config/i386/i386-options.cc:2269 + #, gcc-internal-format + msgid "bad value %qs for %<-march=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2274 ++#: config/i386/i386-options.cc:2270 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2296 ++#: config/i386/i386-options.cc:2292 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2298 ++#: config/i386/i386-options.cc:2294 + #, gcc-internal-format + msgid "" + "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2303 ++#: config/i386/i386-options.cc:2299 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2304 ++#: config/i386/i386-options.cc:2300 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2353 ++#: config/i386/i386-options.cc:2349 + #, gcc-internal-format + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2354 ++#: config/i386/i386-options.cc:2350 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2375 ++#: config/i386/i386-options.cc:2371 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2377 ++#: config/i386/i386-options.cc:2373 + #, gcc-internal-format + msgid "" + "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2382 ++#: config/i386/i386-options.cc:2378 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2383 ++#: config/i386/i386-options.cc:2379 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2407 ++#: config/i386/i386-options.cc:2403 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2409 ++#: config/i386/i386-options.cc:2405 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "" + +-#: config/i386/i386-options.cc:2412 ++#: config/i386/i386-options.cc:2408 + #, gcc-internal-format + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "" + +-#: config/i386/i386-options.cc:2435 ++#: config/i386/i386-options.cc:2431 + #, gcc-internal-format + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "" + +-#: config/i386/i386-options.cc:2440 ++#: config/i386/i386-options.cc:2436 + #, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2441 ++#: config/i386/i386-options.cc:2437 + #, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2530 ++#: config/i386/i386-options.cc:2526 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "" + +-#: config/i386/i386-options.cc:2533 ++#: config/i386/i386-options.cc:2529 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "" + +-#: config/i386/i386-options.cc:2556 ++#: config/i386/i386-options.cc:2552 + #, gcc-internal-format + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "" + +-#: config/i386/i386-options.cc:2569 ++#: config/i386/i386-options.cc:2565 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "" + +-#: config/i386/i386-options.cc:2572 ++#: config/i386/i386-options.cc:2568 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "" + +-#: config/i386/i386-options.cc:2578 ++#: config/i386/i386-options.cc:2574 + #, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2579 ++#: config/i386/i386-options.cc:2575 + #, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2589 ++#: config/i386/i386-options.cc:2585 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "" + +-#: config/i386/i386-options.cc:2596 ++#: config/i386/i386-options.cc:2592 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "" + +-#: config/i386/i386-options.cc:2646 ++#: config/i386/i386-options.cc:2642 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2648 ++#: config/i386/i386-options.cc:2644 + #, gcc-internal-format + msgid "" + "stack probing requires % for " + "correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2662 ++#: config/i386/i386-options.cc:2658 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "" + +-#: config/i386/i386-options.cc:2664 ++#: config/i386/i386-options.cc:2660 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "" + +-#: config/i386/i386-options.cc:2724 ++#: config/i386/i386-options.cc:2720 + #, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2723 + #, gcc-internal-format + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2731 ++#: config/i386/i386-options.cc:2727 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2847 ++#: config/i386/i386-options.cc:2841 + #, gcc-internal-format + msgid "unknown option for %<-mrecip=%s%>" + msgstr "" + +-#: config/i386/i386-options.cc:2906 ++#: config/i386/i386-options.cc:2900 + #, gcc-internal-format + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2911 ++#: config/i386/i386-options.cc:2905 + #, gcc-internal-format + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2939 ++#: config/i386/i386-options.cc:2933 + #, gcc-internal-format + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2987 ++#: config/i386/i386-options.cc:2981 + #, gcc-internal-format + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "" + +-#: config/i386/i386-options.cc:3123 ++#: config/i386/i386-options.cc:3117 + #, gcc-internal-format + msgid "interrupt and naked attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3138 ++#: config/i386/i386-options.cc:3132 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3187 ++#: config/i386/i386-options.cc:3181 + #, gcc-internal-format + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3197 ++#: config/i386/i386-options.cc:3191 + #, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3232 ++#: config/i386/i386-options.cc:3226 + #, gcc-internal-format + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3242 ++#: config/i386/i386-options.cc:3236 + #, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3343 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3351 ++#: config/i386/i386-options.cc:3345 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3355 ++#: config/i386/i386-options.cc:3349 + #, gcc-internal-format + msgid "" + "%s instructions aren%'t allowed in a function with the " + "% attribute" + msgstr "" + +-#: config/i386/i386-options.cc:3402 config/i386/i386-options.cc:3453 ++#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3407 ++#: config/i386/i386-options.cc:3401 + #, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3414 config/i386/i386-options.cc:3642 ++#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 + #, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "" + +-#: config/i386/i386-options.cc:3420 ++#: config/i386/i386-options.cc:3414 + #, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "" + +-#: config/i386/i386-options.cc:3445 config/i386/i386-options.cc:3488 ++#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3449 ++#: config/i386/i386-options.cc:3443 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3457 config/i386/i386-options.cc:3506 ++#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 + #, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3484 ++#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3471 ++#: config/i386/i386-options.cc:3465 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3475 config/i386/i386-options.cc:3502 ++#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 + #, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3492 config/i386/i386-options.cc:3510 ++#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 + #, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3498 ++#: config/i386/i386-options.cc:3492 + #, gcc-internal-format + msgid "%qE attribute is used for non-class method" + msgstr "" + +-#: config/i386/i386-options.cc:3602 config/rs6000/rs6000.cc:20485 ++#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 + #, gcc-internal-format + msgid "%qE incompatible attribute ignored" + msgstr "" + +-#: config/i386/i386-options.cc:3629 ++#: config/i386/i386-options.cc:3623 + #, gcc-internal-format + msgid "%qE attribute only available for 32-bit" + msgstr "" + +-#: config/i386/i386-options.cc:3650 ++#: config/i386/i386-options.cc:3644 + #, gcc-internal-format + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "" + +-#: config/i386/i386-options.cc:3684 config/i386/i386-options.cc:3694 ++#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 + #, gcc-internal-format + msgid "%qs and %qs attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3721 config/i386/i386-options.cc:3743 ++#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "" + +-#: config/i386/i386-options.cc:3731 config/i386/i386-options.cc:3753 ++#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 + #: config/s390/s390.cc:1290 + #, gcc-internal-format + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "" + +-#: config/i386/i386-options.cc:3785 ++#: config/i386/i386-options.cc:3779 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "" + +-#: config/i386/i386-options.cc:3792 ++#: config/i386/i386-options.cc:3786 + #, gcc-internal-format + msgid "interrupt service routine should have %qs as the second argument" + msgstr "" + +-#: config/i386/i386-options.cc:3803 ++#: config/i386/i386-options.cc:3797 + #, gcc-internal-format + msgid "" + "interrupt service routine can only have a pointer argument and an optional " + "integer argument" + msgstr "" + +-#: config/i386/i386-options.cc:3806 ++#: config/i386/i386-options.cc:3800 + #, gcc-internal-format + msgid "interrupt service routine must return %" + msgstr "" +@@ -42339,49 +42329,41 @@ msgid "" + "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "" + +-#: config/i386/i386.cc:21724 ++#: config/i386/i386.cc:21736 + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "" + +-#: config/i386/i386.cc:21820 ++#: config/i386/i386.cc:21832 + #, gcc-internal-format + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "" + +-#: config/i386/i386.cc:22460 +-#, gcc-internal-format +-msgid "" +-"%<__bfloat16%> is redefined from typedef % to real %<__bf16%> since " +-"GCC V13, be careful of implicit conversion between %<__bf16%> and %; " +-"a explicit bitcast may be needed here" +-msgstr "" +- +-#: config/i386/i386.cc:23686 ++#: config/i386/i386.cc:23669 + #, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "" + +-#: config/i386/i386.cc:23693 ++#: config/i386/i386.cc:23676 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23700 ++#: config/i386/i386.cc:23683 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23749 ++#: config/i386/i386.cc:23732 + #, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "" + +-#: config/i386/i386.cc:23780 ++#: config/i386/i386.cc:23763 + #, gcc-internal-format + msgid "unsupported argument type %qT for simd" + msgstr "" + +-#: config/i386/i386.cc:24326 ++#: config/i386/i386.cc:24309 + #, gcc-internal-format + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" + msgstr "" +@@ -43687,22 +43669,22 @@ msgid "" + "device type" + msgstr "" + +-#: config/nvptx/mkoffload.cc:413 ++#: config/nvptx/mkoffload.cc:399 + #, gcc-internal-format + msgid "Cannot find function declaration for %qs" + msgstr "" + +-#: config/nvptx/mkoffload.cc:611 ++#: config/nvptx/mkoffload.cc:597 + #, gcc-internal-format + msgid "offload compiler %s not found (consider using %<-B%>)" + msgstr "" + +-#: config/nvptx/mkoffload.cc:654 ++#: config/nvptx/mkoffload.cc:640 + #, gcc-internal-format + msgid "either %<-fopenacc%> or %<-fopenmp%> must be set" + msgstr "" + +-#: config/nvptx/mkoffload.cc:754 ++#: config/nvptx/mkoffload.cc:740 + #, gcc-internal-format + msgid "cannot open intermediate ptx file" + msgstr "" +@@ -44040,7 +44022,7 @@ msgstr "" + msgid "%qs function cannot have different interrupt type" + msgstr "" + +-#: config/riscv/riscv.cc:7094 ++#: config/riscv/riscv.cc:7095 + #, gcc-internal-format + msgid "cannot allocate vl register for %qs on this target" + msgstr "" +@@ -44531,95 +44513,95 @@ msgstr "" + msgid "%qs is deprecated and not recommended in any circumstances" + msgstr "" + +-#: config/rs6000/rs6000.cc:10918 ++#: config/rs6000/rs6000.cc:10917 + #, gcc-internal-format + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "" + +-#: config/rs6000/rs6000.cc:17751 ++#: config/rs6000/rs6000.cc:17750 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "" + +-#: config/rs6000/rs6000.cc:20147 ++#: config/rs6000/rs6000.cc:20146 + #, gcc-internal-format + msgid "" + "you cannot take the address of a nested function if you use the %qs option" + msgstr "" + +-#: config/rs6000/rs6000.cc:20229 ++#: config/rs6000/rs6000.cc:20228 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20231 ++#: config/rs6000/rs6000.cc:20230 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20233 ++#: config/rs6000/rs6000.cc:20232 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20235 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20241 ++#: config/rs6000/rs6000.cc:20240 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:20244 ++#: config/rs6000/rs6000.cc:20243 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "" + +-#: config/rs6000/rs6000.cc:20249 ++#: config/rs6000/rs6000.cc:20248 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:20252 ++#: config/rs6000/rs6000.cc:20251 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:24390 ++#: config/rs6000/rs6000.cc:24389 + #, gcc-internal-format + msgid "invalid cpu %qs for %s%qs%s" + msgstr "" + +-#: config/rs6000/rs6000.cc:24393 ++#: config/rs6000/rs6000.cc:24392 + #, gcc-internal-format + msgid "%s%qs%s is not allowed" + msgstr "" + +-#: config/rs6000/rs6000.cc:24395 ++#: config/rs6000/rs6000.cc:24394 + #, gcc-internal-format + msgid "%s%qs%s is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:24924 ++#: config/rs6000/rs6000.cc:24923 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:25083 ++#: config/rs6000/rs6000.cc:25082 + #, gcc-internal-format + msgid "" + "% attribute needs GLIBC (2.23 and newer) that exports " + "hardware capability bits" + msgstr "" + +-#: config/rs6000/rs6000.cc:25372 ++#: config/rs6000/rs6000.cc:25371 + #, gcc-internal-format + msgid "Virtual function multiversioning not supported" + msgstr "" + +-#: config/rs6000/rs6000.cc:28509 ++#: config/rs6000/rs6000.cc:28508 + #, gcc-internal-format + msgid "" + "the result for the xxspltidp instruction is undefined for subnormal input " +@@ -45386,7 +45368,7 @@ msgstr "" + msgid "attribute %qs applies to array types only" + msgstr "" + +-#: c/c-convert.cc:104 c/c-typeck.cc:2342 c/c-typeck.cc:13359 cp/typeck.cc:2497 ++#: c/c-convert.cc:104 c/c-typeck.cc:2342 c/c-typeck.cc:13354 cp/typeck.cc:2497 + #: cp/typeck.cc:9393 cp/typeck.cc:10189 d/d-convert.cc:262 + #, gcc-internal-format + msgid "void value not ignored as it ought to be" +@@ -45463,7 +45445,7 @@ msgid "" + "underspecified declaration of %qE, which is already declared in this scope" + msgstr "" + +-#: c/c-decl.cc:1676 c/c-decl.cc:7710 c/c-decl.cc:8657 c/c-decl.cc:9581 ++#: c/c-decl.cc:1676 c/c-decl.cc:7703 c/c-decl.cc:8650 c/c-decl.cc:9574 + #, gcc-internal-format + msgid "originally defined here" + msgstr "" +@@ -45532,7 +45514,7 @@ msgstr "" + msgid "built-in function %q+D declared as non-function" + msgstr "" + +-#: c/c-decl.cc:2056 c/c-decl.cc:3169 ++#: c/c-decl.cc:2056 c/c-decl.cc:3162 + #, gcc-internal-format + msgid "declaration of %q+D shadows a built-in function" + msgstr "" +@@ -45592,263 +45574,263 @@ msgstr "" + msgid "conflicting type qualifiers for %q+D" + msgstr "" + +-#: c/c-decl.cc:2232 ++#: c/c-decl.cc:2225 + #, gcc-internal-format + msgid "conflicting types for %q+D due to enum/integer mismatch; have %qT" + msgstr "" + +-#: c/c-decl.cc:2249 ++#: c/c-decl.cc:2242 + #, gcc-internal-format + msgid "redefinition of typedef %q+D with different type" + msgstr "" + +-#: c/c-decl.cc:2262 ++#: c/c-decl.cc:2255 + #, gcc-internal-format + msgid "redefinition of typedef %q+D with variably modified type" + msgstr "" + +-#: c/c-decl.cc:2267 ++#: c/c-decl.cc:2260 + #, gcc-internal-format + msgid "redefinition of typedef %q+D" + msgstr "" + +-#: c/c-decl.cc:2295 ++#: c/c-decl.cc:2288 + #, gcc-internal-format + msgid "declaration of %qD shadows a built-in function" + msgstr "" + +-#: c/c-decl.cc:2311 ++#: c/c-decl.cc:2304 + #, gcc-internal-format + msgid "declaration of built-in function %qD without a prototype; expected %qT" + msgstr "" + +-#: c/c-decl.cc:2338 c/c-decl.cc:2449 ++#: c/c-decl.cc:2331 c/c-decl.cc:2442 + #, gcc-internal-format + msgid "redefinition of %q+D" + msgstr "" + +-#: c/c-decl.cc:2377 c/c-decl.cc:2489 ++#: c/c-decl.cc:2370 c/c-decl.cc:2482 + #, gcc-internal-format + msgid "static declaration of %q+D follows non-static declaration" + msgstr "" + +-#: c/c-decl.cc:2388 c/c-decl.cc:2396 c/c-decl.cc:2478 c/c-decl.cc:2486 ++#: c/c-decl.cc:2381 c/c-decl.cc:2389 c/c-decl.cc:2471 c/c-decl.cc:2479 + #, gcc-internal-format + msgid "non-static declaration of %q+D follows static declaration" + msgstr "" + +-#: c/c-decl.cc:2413 ++#: c/c-decl.cc:2406 + #, gcc-internal-format + msgid "% attribute present on %q+D" + msgstr "" + +-#: c/c-decl.cc:2416 ++#: c/c-decl.cc:2409 + #, gcc-internal-format + msgid "but not here" + msgstr "" + +-#: c/c-decl.cc:2435 ++#: c/c-decl.cc:2428 + #, gcc-internal-format + msgid "thread-local declaration of %q+D follows non-thread-local declaration" + msgstr "" + +-#: c/c-decl.cc:2438 ++#: c/c-decl.cc:2431 + #, gcc-internal-format + msgid "non-thread-local declaration of %q+D follows thread-local declaration" + msgstr "" + +-#: c/c-decl.cc:2470 ++#: c/c-decl.cc:2463 + #, gcc-internal-format + msgid "extern declaration of %q+D follows declaration with no linkage" + msgstr "" + +-#: c/c-decl.cc:2508 ++#: c/c-decl.cc:2501 + #, gcc-internal-format + msgid "declaration of %q+D with no linkage follows extern declaration" + msgstr "" + +-#: c/c-decl.cc:2515 ++#: c/c-decl.cc:2508 + #, gcc-internal-format + msgid "redeclaration of %q+D with no linkage" + msgstr "" + +-#: c/c-decl.cc:2541 ++#: c/c-decl.cc:2534 + #, gcc-internal-format + msgid "" + "redeclaration of %q+D with different visibility (old visibility preserved)" + msgstr "" + +-#: c/c-decl.cc:2562 ++#: c/c-decl.cc:2555 + #, gcc-internal-format + msgid "redefinition of parameter %q+D" + msgstr "" + +-#: c/c-decl.cc:2589 ++#: c/c-decl.cc:2582 + #, gcc-internal-format + msgid "redundant redeclaration of %q+D" + msgstr "" + +-#: c/c-decl.cc:3127 ++#: c/c-decl.cc:3120 + #, gcc-internal-format + msgid "declaration of %q+D shadows previous non-variable" + msgstr "" + +-#: c/c-decl.cc:3149 ++#: c/c-decl.cc:3142 + #, gcc-internal-format + msgid "declaration of %qD shadows a parameter" + msgstr "" + +-#: c/c-decl.cc:3162 cp/name-lookup.cc:3321 ++#: c/c-decl.cc:3155 cp/name-lookup.cc:3321 + #, gcc-internal-format + msgid "declaration of %qD shadows a global declaration" + msgstr "" + +-#: c/c-decl.cc:3188 ++#: c/c-decl.cc:3181 + #, gcc-internal-format + msgid "declaration of %qD shadows a previous local" + msgstr "" + +-#: c/c-decl.cc:3194 cp/name-lookup.cc:3085 ++#: c/c-decl.cc:3187 cp/name-lookup.cc:3085 + #, gcc-internal-format + msgid "shadowed declaration is here" + msgstr "" + +-#: c/c-decl.cc:3324 ++#: c/c-decl.cc:3317 + #, gcc-internal-format + msgid "nested extern declaration of %qD" + msgstr "" + +-#: c/c-decl.cc:3487 c/c-decl.cc:3501 ++#: c/c-decl.cc:3480 c/c-decl.cc:3494 + #, gcc-internal-format + msgid "implicit declaration of function %qE; did you mean %qs?" + msgstr "" + +-#: c/c-decl.cc:3493 c/c-decl.cc:3506 ++#: c/c-decl.cc:3486 c/c-decl.cc:3499 + #, gcc-internal-format + msgid "implicit declaration of function %qE" + msgstr "" + +-#: c/c-decl.cc:3525 ++#: c/c-decl.cc:3518 + #, gcc-internal-format + msgid "include %qs or provide a declaration of %qE" + msgstr "" + +-#: c/c-decl.cc:3796 ++#: c/c-decl.cc:3789 + #, gcc-internal-format + msgid "incompatible implicit declaration of built-in function %qD" + msgstr "" + +-#: c/c-decl.cc:3806 ++#: c/c-decl.cc:3799 + #, gcc-internal-format + msgid "include %qs or provide a declaration of %qD" + msgstr "" + +-#: c/c-decl.cc:3817 ++#: c/c-decl.cc:3810 + #, gcc-internal-format + msgid "incompatible implicit declaration of function %qD" + msgstr "" + +-#: c/c-decl.cc:3878 ++#: c/c-decl.cc:3871 + #, gcc-internal-format + msgid "%qE undeclared here (not in a function); did you mean %qs?" + msgstr "" + +-#: c/c-decl.cc:3883 ++#: c/c-decl.cc:3876 + #, gcc-internal-format + msgid "%qE undeclared here (not in a function)" + msgstr "" + +-#: c/c-decl.cc:3896 ++#: c/c-decl.cc:3889 + #, gcc-internal-format + msgid "%qE undeclared (first use in this function); did you mean %qs?" + msgstr "" + +-#: c/c-decl.cc:3901 ++#: c/c-decl.cc:3894 + #, gcc-internal-format + msgid "%qE undeclared (first use in this function)" + msgstr "" + +-#: c/c-decl.cc:3905 ++#: c/c-decl.cc:3898 + #, gcc-internal-format + msgid "" + "each undeclared identifier is reported only once for each function it " + "appears in" + msgstr "" + +-#: c/c-decl.cc:3953 cp/decl.cc:3481 ++#: c/c-decl.cc:3946 cp/decl.cc:3481 + #, gcc-internal-format + msgid "label %qE referenced outside of any function" + msgstr "" + +-#: c/c-decl.cc:3990 ++#: c/c-decl.cc:3983 + #, gcc-internal-format + msgid "jump into scope of identifier with variably modified type" + msgstr "" + +-#: c/c-decl.cc:3993 ++#: c/c-decl.cc:3986 + #, gcc-internal-format + msgid "jump skips variable initialization" + msgstr "" + +-#: c/c-decl.cc:3995 c/c-decl.cc:4051 c/c-decl.cc:4142 ++#: c/c-decl.cc:3988 c/c-decl.cc:4044 c/c-decl.cc:4135 + #, gcc-internal-format + msgid "label %qD defined here" + msgstr "" + +-#: c/c-decl.cc:4050 c/c-decl.cc:4141 ++#: c/c-decl.cc:4043 c/c-decl.cc:4134 + #, gcc-internal-format + msgid "jump into statement expression" + msgstr "" + +-#: c/c-decl.cc:4073 ++#: c/c-decl.cc:4066 + #, gcc-internal-format + msgid "duplicate label declaration %qE" + msgstr "" + +-#: c/c-decl.cc:4173 cp/decl.cc:3899 ++#: c/c-decl.cc:4166 cp/decl.cc:3899 + #, gcc-internal-format + msgid "duplicate label %qD" + msgstr "" + +-#: c/c-decl.cc:4204 ++#: c/c-decl.cc:4197 + #, gcc-internal-format + msgid "" + "traditional C lacks a separate namespace for labels, identifier %qE conflicts" + msgstr "" + +-#: c/c-decl.cc:4273 ++#: c/c-decl.cc:4266 + #, gcc-internal-format + msgid "switch jumps over variable initialization" + msgstr "" + +-#: c/c-decl.cc:4276 c/c-decl.cc:4289 ++#: c/c-decl.cc:4269 c/c-decl.cc:4282 + #, gcc-internal-format + msgid "switch starts here" + msgstr "" + +-#: c/c-decl.cc:4288 ++#: c/c-decl.cc:4281 + #, gcc-internal-format + msgid "switch jumps into statement expression" + msgstr "" + +-#: c/c-decl.cc:4371 ++#: c/c-decl.cc:4364 + #, gcc-internal-format + msgid "%qE defined as wrong kind of tag" + msgstr "" + +-#: c/c-decl.cc:4557 cp/tree.cc:5055 ++#: c/c-decl.cc:4550 cp/tree.cc:5055 + #, gcc-internal-format + msgid "%qE attribute applied to %qD with void return type" + msgstr "" + +-#: c/c-decl.cc:4566 ++#: c/c-decl.cc:4559 + #, gcc-internal-format + msgid "" + "%qE attribute can only be applied to functions or to structure, union or " + "enumeration types" + msgstr "" + +-#: c/c-decl.cc:4586 ++#: c/c-decl.cc:4579 + #, gcc-internal-format + msgid "standard %qE attribute can only be applied to functions" + msgstr "" +@@ -45857,125 +45839,125 @@ msgstr "" + #. expressions, but is still appropriate as an error to + #. avoid types declared in such a context escaping to + #. the type of an auto variable. +-#: c/c-decl.cc:4862 c/c-decl.cc:8604 ++#: c/c-decl.cc:4855 c/c-decl.cc:8597 + #, gcc-internal-format + msgid "%qT declared in underspecified object initializer" + msgstr "" + +-#: c/c-decl.cc:4873 ++#: c/c-decl.cc:4866 + #, gcc-internal-format + msgid "unnamed struct/union that defines no instances" + msgstr "" + +-#: c/c-decl.cc:4884 ++#: c/c-decl.cc:4877 + #, gcc-internal-format + msgid "empty declaration with storage class specifier does not redeclare tag" + msgstr "" + +-#: c/c-decl.cc:4900 ++#: c/c-decl.cc:4893 + #, gcc-internal-format + msgid "empty declaration with type qualifier does not redeclare tag" + msgstr "" + +-#: c/c-decl.cc:4912 ++#: c/c-decl.cc:4905 + #, gcc-internal-format + msgid "empty declaration with %<_Alignas%> does not redeclare tag" + msgstr "" + +-#: c/c-decl.cc:4926 ++#: c/c-decl.cc:4919 + #, gcc-internal-format + msgid "empty declaration of % type does not redeclare tag" + msgstr "" + +-#: c/c-decl.cc:4949 c/c-decl.cc:4957 ++#: c/c-decl.cc:4942 c/c-decl.cc:4950 + #, gcc-internal-format + msgid "useless type name in empty declaration" + msgstr "" + +-#: c/c-decl.cc:4965 ++#: c/c-decl.cc:4958 + #, gcc-internal-format + msgid "% in empty declaration" + msgstr "" + +-#: c/c-decl.cc:4971 ++#: c/c-decl.cc:4964 + #, gcc-internal-format + msgid "%<_Noreturn%> in empty declaration" + msgstr "" + +-#: c/c-decl.cc:4977 ++#: c/c-decl.cc:4970 + #, gcc-internal-format + msgid "% in empty declaration" + msgstr "" + +-#: c/c-decl.cc:4983 ++#: c/c-decl.cc:4976 + #, gcc-internal-format + msgid "% in file-scope empty declaration" + msgstr "" + +-#: c/c-decl.cc:4989 ++#: c/c-decl.cc:4982 + #, gcc-internal-format + msgid "% in file-scope empty declaration" + msgstr "" + +-#: c/c-decl.cc:4997 ++#: c/c-decl.cc:4990 + #, gcc-internal-format + msgid "" + "storage class specifier in empty declaration with % underlying type" + msgstr "" + +-#: c/c-decl.cc:5003 ++#: c/c-decl.cc:4996 + #, gcc-internal-format + msgid "%qs in empty declaration with % underlying type" + msgstr "" + +-#: c/c-decl.cc:5013 ++#: c/c-decl.cc:5006 + #, gcc-internal-format + msgid "type qualifier in empty declaration with % underlying type" + msgstr "" + +-#: c/c-decl.cc:5019 ++#: c/c-decl.cc:5012 + #, gcc-internal-format + msgid "% in empty declaration with % underlying type" + msgstr "" + +-#: c/c-decl.cc:5028 ++#: c/c-decl.cc:5021 + #, gcc-internal-format + msgid "useless storage class specifier in empty declaration" + msgstr "" + +-#: c/c-decl.cc:5034 ++#: c/c-decl.cc:5027 + #, gcc-internal-format + msgid "useless %qs in empty declaration" + msgstr "" + +-#: c/c-decl.cc:5047 ++#: c/c-decl.cc:5040 + #, gcc-internal-format + msgid "useless type qualifier in empty declaration" + msgstr "" + +-#: c/c-decl.cc:5054 ++#: c/c-decl.cc:5047 + #, gcc-internal-format + msgid "useless %<_Alignas%> in empty declaration" + msgstr "" + +-#: c/c-decl.cc:5072 ++#: c/c-decl.cc:5065 + #, gcc-internal-format + msgid "invalid use of attributes in empty declaration" + msgstr "" + +-#: c/c-decl.cc:5086 c/c-parser.cc:2264 ++#: c/c-decl.cc:5079 c/c-parser.cc:2264 + #, gcc-internal-format + msgid "empty declaration" + msgstr "" + +-#: c/c-decl.cc:5158 ++#: c/c-decl.cc:5151 + #, gcc-internal-format + msgid "" + "ISO C90 does not support % or type qualifiers in parameter array " + "declarators" + msgstr "" + +-#: c/c-decl.cc:5162 ++#: c/c-decl.cc:5155 + #, gcc-internal-format + msgid "ISO C90 does not support %<[*]%> array declarators" + msgstr "" +@@ -45983,303 +45965,303 @@ msgstr "" + #. C99 6.7.5.2p4 + #. A function definition isn't function prototype scope C99 6.2.1p4. + #. C99 6.7.5.2p4 +-#: c/c-decl.cc:5168 c/c-decl.cc:8202 c/c-decl.cc:10402 ++#: c/c-decl.cc:5161 c/c-decl.cc:8195 c/c-decl.cc:10395 + #, gcc-internal-format + msgid "%<[*]%> not allowed in other than function prototype scope" + msgstr "" + +-#: c/c-decl.cc:5386 ++#: c/c-decl.cc:5379 + #, gcc-internal-format + msgid "%q+D is usually a function" + msgstr "" + +-#: c/c-decl.cc:5395 ++#: c/c-decl.cc:5388 + #, gcc-internal-format + msgid "typedef %qD is initialized (use %<__typeof__%> instead)" + msgstr "" + +-#: c/c-decl.cc:5400 ++#: c/c-decl.cc:5393 + #, gcc-internal-format + msgid "function %qD is initialized like a variable" + msgstr "" + + #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE. +-#: c/c-decl.cc:5406 ++#: c/c-decl.cc:5399 + #, gcc-internal-format + msgid "parameter %qD is initialized" + msgstr "" + +-#: c/c-decl.cc:5426 ++#: c/c-decl.cc:5419 + #, gcc-internal-format + msgid "variable %qD has initializer but incomplete type" + msgstr "" + +-#: c/c-decl.cc:5506 ++#: c/c-decl.cc:5499 + #, gcc-internal-format + msgid "inline function %q+D given attribute %qs" + msgstr "" + +-#: c/c-decl.cc:5562 ++#: c/c-decl.cc:5555 + #, gcc-internal-format + msgid "uninitialized const member in %qT is invalid in C++" + msgstr "" + +-#: c/c-decl.cc:5564 ++#: c/c-decl.cc:5557 + #, gcc-internal-format + msgid "%qD should be initialized" + msgstr "" + +-#: c/c-decl.cc:5645 ++#: c/c-decl.cc:5638 + #, gcc-internal-format + msgid "initializer fails to determine size of %q+D" + msgstr "" + +-#: c/c-decl.cc:5650 ++#: c/c-decl.cc:5643 + #, gcc-internal-format + msgid "array size missing in %q+D" + msgstr "" + +-#: c/c-decl.cc:5654 ++#: c/c-decl.cc:5647 + #, gcc-internal-format + msgid "zero or negative size array %q+D" + msgstr "" + +-#: c/c-decl.cc:5743 m2/gm2-gcc/m2type.cc:1269 ++#: c/c-decl.cc:5736 m2/gm2-gcc/m2type.cc:1269 + #, gcc-internal-format + msgid "storage size of %q+D isn%'t constant" + msgstr "" + +-#: c/c-decl.cc:5793 ++#: c/c-decl.cc:5786 + #, gcc-internal-format + msgid "ignoring % specifier for non-static local variable %q+D" + msgstr "" + +-#: c/c-decl.cc:5831 ++#: c/c-decl.cc:5824 + #, gcc-internal-format + msgid "cannot put object with volatile field into register" + msgstr "" + +-#: c/c-decl.cc:5917 ++#: c/c-decl.cc:5910 + #, gcc-internal-format + msgid "uninitialized % is invalid in C++" + msgstr "" + +-#: c/c-decl.cc:5932 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8825 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "" + +-#: c/c-decl.cc:6195 ++#: c/c-decl.cc:6188 + #, gcc-internal-format + msgid "ISO C forbids forward parameter declarations" + msgstr "" + +-#: c/c-decl.cc:6235 ++#: c/c-decl.cc:6228 + #, gcc-internal-format + msgid "file-scope compound literal specifies %" + msgstr "" + +-#: c/c-decl.cc:6241 ++#: c/c-decl.cc:6234 + #, gcc-internal-format + msgid "compound literal implicitly auto and declared %qs" + msgstr "" + +-#: c/c-decl.cc:6341 ++#: c/c-decl.cc:6334 + #, gcc-internal-format + msgid "defining a type in a compound literal is invalid in C++" + msgstr "" + +-#: c/c-decl.cc:6362 c/c-decl.cc:6377 ++#: c/c-decl.cc:6355 c/c-decl.cc:6370 + #, gcc-internal-format + msgid "bit-field %qs width not an integer constant" + msgstr "" + +-#: c/c-decl.cc:6372 ++#: c/c-decl.cc:6365 + #, gcc-internal-format + msgid "bit-field %qs width not an integer constant expression" + msgstr "" + +-#: c/c-decl.cc:6383 ++#: c/c-decl.cc:6376 + #, gcc-internal-format + msgid "negative width in bit-field %qs" + msgstr "" + +-#: c/c-decl.cc:6388 ++#: c/c-decl.cc:6381 + #, gcc-internal-format + msgid "zero width for bit-field %qs" + msgstr "" + +-#: c/c-decl.cc:6398 ++#: c/c-decl.cc:6391 + #, gcc-internal-format + msgid "bit-field %qs has invalid type" + msgstr "" + +-#: c/c-decl.cc:6404 ++#: c/c-decl.cc:6397 + #, gcc-internal-format + msgid "cannot declare bit-field %qs with % type" + msgstr "" + +-#: c/c-decl.cc:6415 ++#: c/c-decl.cc:6408 + #, gcc-internal-format + msgid "type of bit-field %qs is a GCC extension" + msgstr "" + +-#: c/c-decl.cc:6421 ++#: c/c-decl.cc:6414 + #, gcc-internal-format + msgid "width of %qs exceeds its type" + msgstr "" + +-#: c/c-decl.cc:6434 ++#: c/c-decl.cc:6427 + #, gcc-internal-format + msgid "%qs is narrower than values of its type" + msgstr "" + +-#: c/c-decl.cc:6449 ++#: c/c-decl.cc:6442 + #, gcc-internal-format + msgid "ISO C90 forbids array %qE whose size cannot be evaluated" + msgstr "" + +-#: c/c-decl.cc:6452 ++#: c/c-decl.cc:6445 + #, gcc-internal-format + msgid "ISO C90 forbids array whose size cannot be evaluated" + msgstr "" + +-#: c/c-decl.cc:6459 ++#: c/c-decl.cc:6452 + #, gcc-internal-format + msgid "ISO C90 forbids variable length array %qE" + msgstr "" + +-#: c/c-decl.cc:6461 ++#: c/c-decl.cc:6454 + #, gcc-internal-format + msgid "ISO C90 forbids variable length array" + msgstr "" + +-#: c/c-decl.cc:6670 ++#: c/c-decl.cc:6663 + #, gcc-internal-format + msgid "% underlying type may not be specified here" + msgstr "" + +-#: c/c-decl.cc:6698 c/c-decl.cc:7107 c/c-decl.cc:7117 ++#: c/c-decl.cc:6691 c/c-decl.cc:7100 c/c-decl.cc:7110 + #, gcc-internal-format + msgid "variably modified %qE at file scope" + msgstr "" + +-#: c/c-decl.cc:6700 ++#: c/c-decl.cc:6693 + #, gcc-internal-format + msgid "variably modified field at file scope" + msgstr "" + +-#: c/c-decl.cc:6720 ++#: c/c-decl.cc:6713 + #, gcc-internal-format + msgid "type defaults to % in declaration of %qE" + msgstr "" + +-#: c/c-decl.cc:6724 ++#: c/c-decl.cc:6717 + #, gcc-internal-format + msgid "type defaults to % in type name" + msgstr "" + +-#: c/c-decl.cc:6756 ++#: c/c-decl.cc:6749 + #, gcc-internal-format + msgid "duplicate %" + msgstr "" + +-#: c/c-decl.cc:6758 ++#: c/c-decl.cc:6751 + #, gcc-internal-format + msgid "duplicate %" + msgstr "" + +-#: c/c-decl.cc:6760 ++#: c/c-decl.cc:6753 + #, gcc-internal-format + msgid "duplicate %" + msgstr "" + +-#: c/c-decl.cc:6762 ++#: c/c-decl.cc:6755 + #, gcc-internal-format + msgid "duplicate %<_Atomic%>" + msgstr "" + +-#: c/c-decl.cc:6765 ++#: c/c-decl.cc:6758 + #, gcc-internal-format, gfc-internal-format + msgid "conflicting named address spaces (%s vs %s)" + msgstr "" + +-#: c/c-decl.cc:6788 c/c-parser.cc:3359 ++#: c/c-decl.cc:6781 c/c-parser.cc:3359 + #, gcc-internal-format + msgid "%<_Atomic%>-qualified array type" + msgstr "" + +-#: c/c-decl.cc:6803 ++#: c/c-decl.cc:6796 + #, gcc-internal-format + msgid "function definition declared %" + msgstr "" + +-#: c/c-decl.cc:6805 ++#: c/c-decl.cc:6798 + #, gcc-internal-format + msgid "function definition declared %" + msgstr "" + +-#: c/c-decl.cc:6807 ++#: c/c-decl.cc:6800 + #, gcc-internal-format + msgid "function definition declared %" + msgstr "" + +-#: c/c-decl.cc:6809 ++#: c/c-decl.cc:6802 + #, gcc-internal-format + msgid "function definition declared %qs" + msgstr "" + +-#: c/c-decl.cc:6836 ++#: c/c-decl.cc:6829 + #, gcc-internal-format + msgid "storage class specified for structure field %qE" + msgstr "" + +-#: c/c-decl.cc:6839 ++#: c/c-decl.cc:6832 + #, gcc-internal-format + msgid "storage class specified for structure field" + msgstr "" + +-#: c/c-decl.cc:6843 ++#: c/c-decl.cc:6836 + #, gcc-internal-format + msgid "storage class specified for parameter %qE" + msgstr "" + +-#: c/c-decl.cc:6846 ++#: c/c-decl.cc:6839 + #, gcc-internal-format + msgid "storage class specified for unnamed parameter" + msgstr "" + +-#: c/c-decl.cc:6849 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12850 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "" + +-#: c/c-decl.cc:6867 ++#: c/c-decl.cc:6860 + #, gcc-internal-format + msgid "%qE initialized and declared %" + msgstr "" + +-#: c/c-decl.cc:6871 ++#: c/c-decl.cc:6864 + #, gcc-internal-format + msgid "%qE has both % and initializer" + msgstr "" + +-#: c/c-decl.cc:6876 ++#: c/c-decl.cc:6869 + #, gcc-internal-format + msgid "file-scope declaration of %qE specifies %" + msgstr "" + +-#: c/c-decl.cc:6880 ++#: c/c-decl.cc:6873 + #, gcc-internal-format + msgid "file-scope declaration of %qE specifies %" + msgstr "" + +-#: c/c-decl.cc:6885 ++#: c/c-decl.cc:6878 + #, gcc-internal-format + msgid "nested function %qE declared %" + msgstr "" + +-#: c/c-decl.cc:6888 ++#: c/c-decl.cc:6881 + #, gcc-internal-format + msgid "function-scope %qE implicitly auto and declared %qs" + msgstr "" +@@ -46287,1071 +46269,1071 @@ msgstr "" + #. Only the innermost declarator (making a parameter be of + #. array type which is converted to pointer type) + #. may have static or type qualifiers. +-#: c/c-decl.cc:6935 c/c-decl.cc:7331 ++#: c/c-decl.cc:6928 c/c-decl.cc:7324 + #, gcc-internal-format + msgid "static or type qualifiers in non-parameter array declarator" + msgstr "" + +-#: c/c-decl.cc:6998 ++#: c/c-decl.cc:6991 + #, gcc-internal-format + msgid "declaration of %qE as array of voids" + msgstr "" + +-#: c/c-decl.cc:7000 ++#: c/c-decl.cc:6993 + #, gcc-internal-format + msgid "declaration of type name as array of voids" + msgstr "" + +-#: c/c-decl.cc:7007 ++#: c/c-decl.cc:7000 + #, gcc-internal-format + msgid "declaration of %qE as array of functions" + msgstr "" + +-#: c/c-decl.cc:7010 ++#: c/c-decl.cc:7003 + #, gcc-internal-format + msgid "declaration of type name as array of functions" + msgstr "" + +-#: c/c-decl.cc:7018 c/c-decl.cc:9263 ++#: c/c-decl.cc:7011 c/c-decl.cc:9256 + #, gcc-internal-format + msgid "invalid use of structure with flexible array member" + msgstr "" + +-#: c/c-decl.cc:7050 ++#: c/c-decl.cc:7043 + #, gcc-internal-format + msgid "size of array %qE has non-integer type" + msgstr "" + +-#: c/c-decl.cc:7054 ++#: c/c-decl.cc:7047 + #, gcc-internal-format + msgid "size of unnamed array has non-integer type" + msgstr "" + +-#: c/c-decl.cc:7062 ++#: c/c-decl.cc:7055 + #, gcc-internal-format + msgid "size of array %qE has incomplete type" + msgstr "" + +-#: c/c-decl.cc:7065 ++#: c/c-decl.cc:7058 + #, gcc-internal-format + msgid "size of unnamed array has incomplete type" + msgstr "" + +-#: c/c-decl.cc:7077 ++#: c/c-decl.cc:7070 + #, gcc-internal-format + msgid "ISO C forbids zero-size array %qE" + msgstr "" + +-#: c/c-decl.cc:7080 ++#: c/c-decl.cc:7073 + #, gcc-internal-format + msgid "ISO C forbids zero-size array" + msgstr "" + +-#: c/c-decl.cc:7089 ++#: c/c-decl.cc:7082 + #, gcc-internal-format + msgid "size of array %qE is negative" + msgstr "" + +-#: c/c-decl.cc:7091 ++#: c/c-decl.cc:7084 + #, gcc-internal-format + msgid "size of unnamed array is negative" + msgstr "" + +-#: c/c-decl.cc:7177 ++#: c/c-decl.cc:7170 + #, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "" + +-#: c/c-decl.cc:7180 ++#: c/c-decl.cc:7173 + #, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "" + +-#: c/c-decl.cc:7219 c/c-decl.cc:7880 ++#: c/c-decl.cc:7212 c/c-decl.cc:7873 + #, gcc-internal-format + msgid "ISO C90 does not support flexible array members" + msgstr "" + + #. C99 6.7.5.2p4 +-#: c/c-decl.cc:7241 ++#: c/c-decl.cc:7234 + #, gcc-internal-format + msgid "%<[*]%> not in a declaration" + msgstr "" + +-#: c/c-decl.cc:7255 ++#: c/c-decl.cc:7248 + #, gcc-internal-format + msgid "array type has incomplete element type %qT" + msgstr "" + +-#: c/c-decl.cc:7261 ++#: c/c-decl.cc:7254 + #, gcc-internal-format + msgid "" + "declaration of %qE as multidimensional array must have bounds for all " + "dimensions except the first" + msgstr "" + +-#: c/c-decl.cc:7265 ++#: c/c-decl.cc:7258 + #, gcc-internal-format + msgid "" + "declaration of multidimensional array must have bounds for all dimensions " + "except the first" + msgstr "" + +-#: c/c-decl.cc:7367 ++#: c/c-decl.cc:7360 + #, gcc-internal-format + msgid "%qE declared as function returning a function" + msgstr "" + +-#: c/c-decl.cc:7370 ++#: c/c-decl.cc:7363 + #, gcc-internal-format + msgid "type name declared as function returning a function" + msgstr "" + +-#: c/c-decl.cc:7377 ++#: c/c-decl.cc:7370 + #, gcc-internal-format + msgid "%qE declared as function returning an array" + msgstr "" + +-#: c/c-decl.cc:7380 ++#: c/c-decl.cc:7373 + #, gcc-internal-format + msgid "type name declared as function returning an array" + msgstr "" + +-#: c/c-decl.cc:7421 ++#: c/c-decl.cc:7414 + #, gcc-internal-format + msgid "function definition has qualified void return type" + msgstr "" + +-#: c/c-decl.cc:7425 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13171 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "" + +-#: c/c-decl.cc:7464 c/c-decl.cc:7676 c/c-decl.cc:7730 c/c-decl.cc:7814 +-#: c/c-decl.cc:7936 c/c-parser.cc:3361 ++#: c/c-decl.cc:7457 c/c-decl.cc:7669 c/c-decl.cc:7723 c/c-decl.cc:7807 ++#: c/c-decl.cc:7929 c/c-parser.cc:3361 + #, gcc-internal-format + msgid "%<_Atomic%>-qualified function type" + msgstr "" + +-#: c/c-decl.cc:7470 c/c-decl.cc:7682 c/c-decl.cc:7819 c/c-decl.cc:7941 ++#: c/c-decl.cc:7463 c/c-decl.cc:7675 c/c-decl.cc:7812 c/c-decl.cc:7934 + #, gcc-internal-format + msgid "ISO C forbids qualified function types" + msgstr "" + +-#: c/c-decl.cc:7567 ++#: c/c-decl.cc:7560 + #, gcc-internal-format + msgid "%qs combined with % qualifier for %qE" + msgstr "" + +-#: c/c-decl.cc:7571 ++#: c/c-decl.cc:7564 + #, gcc-internal-format + msgid "%qs combined with % qualifier for %qE" + msgstr "" + +-#: c/c-decl.cc:7577 ++#: c/c-decl.cc:7570 + #, gcc-internal-format + msgid "%qs specified for auto variable %qE" + msgstr "" + +-#: c/c-decl.cc:7593 ++#: c/c-decl.cc:7586 + #, gcc-internal-format + msgid "%qs specified for parameter %qE" + msgstr "" + +-#: c/c-decl.cc:7596 ++#: c/c-decl.cc:7589 + #, gcc-internal-format + msgid "%qs specified for unnamed parameter" + msgstr "" + +-#: c/c-decl.cc:7602 ++#: c/c-decl.cc:7595 + #, gcc-internal-format + msgid "%qs specified for structure field %qE" + msgstr "" + +-#: c/c-decl.cc:7605 ++#: c/c-decl.cc:7598 + #, gcc-internal-format + msgid "%qs specified for structure field" + msgstr "" + +-#: c/c-decl.cc:7620 ++#: c/c-decl.cc:7613 + #, gcc-internal-format + msgid "bit-field %qE has atomic type" + msgstr "" + +-#: c/c-decl.cc:7622 ++#: c/c-decl.cc:7615 + #, gcc-internal-format + msgid "bit-field has atomic type" + msgstr "" + +-#: c/c-decl.cc:7631 ++#: c/c-decl.cc:7624 + #, gcc-internal-format + msgid "alignment specified for typedef %qE" + msgstr "" + +-#: c/c-decl.cc:7633 ++#: c/c-decl.cc:7626 + #, gcc-internal-format + msgid "alignment specified for % object %qE" + msgstr "" + +-#: c/c-decl.cc:7638 ++#: c/c-decl.cc:7631 + #, gcc-internal-format + msgid "alignment specified for parameter %qE" + msgstr "" + +-#: c/c-decl.cc:7640 ++#: c/c-decl.cc:7633 + #, gcc-internal-format + msgid "alignment specified for unnamed parameter" + msgstr "" + +-#: c/c-decl.cc:7645 ++#: c/c-decl.cc:7638 + #, gcc-internal-format + msgid "alignment specified for bit-field %qE" + msgstr "" + +-#: c/c-decl.cc:7647 ++#: c/c-decl.cc:7640 + #, gcc-internal-format + msgid "alignment specified for unnamed bit-field" + msgstr "" + +-#: c/c-decl.cc:7650 ++#: c/c-decl.cc:7643 + #, gcc-internal-format + msgid "alignment specified for function %qE" + msgstr "" + +-#: c/c-decl.cc:7657 ++#: c/c-decl.cc:7650 + #, gcc-internal-format + msgid "%<_Alignas%> specifiers cannot reduce alignment of %qE" + msgstr "" + +-#: c/c-decl.cc:7660 ++#: c/c-decl.cc:7653 + #, gcc-internal-format + msgid "%<_Alignas%> specifiers cannot reduce alignment of unnamed field" + msgstr "" + +-#: c/c-decl.cc:7691 ++#: c/c-decl.cc:7684 + #, gcc-internal-format + msgid "typedef %q+D declared %" + msgstr "" + +-#: c/c-decl.cc:7693 ++#: c/c-decl.cc:7686 + #, gcc-internal-format + msgid "typedef %q+D declared %<_Noreturn%>" + msgstr "" + +-#: c/c-decl.cc:7736 ++#: c/c-decl.cc:7729 + #, gcc-internal-format + msgid "ISO C forbids const or volatile function types" + msgstr "" + + #. C99 6.7.2.1p8 +-#: c/c-decl.cc:7747 ++#: c/c-decl.cc:7740 + #, gcc-internal-format + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "" + +-#: c/c-decl.cc:7764 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11730 + #, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "" + +-#: c/c-decl.cc:7804 ++#: c/c-decl.cc:7797 + #, gcc-internal-format + msgid "attributes in parameter array declarator ignored" + msgstr "" + +-#: c/c-decl.cc:7846 ++#: c/c-decl.cc:7839 + #, gcc-internal-format + msgid "parameter %q+D declared %" + msgstr "" + +-#: c/c-decl.cc:7848 ++#: c/c-decl.cc:7841 + #, gcc-internal-format + msgid "parameter %q+D declared %<_Noreturn%>" + msgstr "" + +-#: c/c-decl.cc:7861 ++#: c/c-decl.cc:7854 + #, gcc-internal-format + msgid "field %qE declared as a function" + msgstr "" + +-#: c/c-decl.cc:7868 ++#: c/c-decl.cc:7861 + #, gcc-internal-format + msgid "field %qE has incomplete type" + msgstr "" + +-#: c/c-decl.cc:7870 ++#: c/c-decl.cc:7863 + #, gcc-internal-format + msgid "unnamed field has incomplete type" + msgstr "" + +-#: c/c-decl.cc:7907 c/c-decl.cc:7918 c/c-decl.cc:7921 ++#: c/c-decl.cc:7900 c/c-decl.cc:7911 c/c-decl.cc:7914 + #, gcc-internal-format + msgid "invalid storage class for function %qE" + msgstr "" + +-#: c/c-decl.cc:7978 ++#: c/c-decl.cc:7971 + #, gcc-internal-format + msgid "cannot inline function %" + msgstr "" + +-#: c/c-decl.cc:7980 ++#: c/c-decl.cc:7973 + #, gcc-internal-format + msgid "% declared %<_Noreturn%>" + msgstr "" + +-#: c/c-decl.cc:7991 ++#: c/c-decl.cc:7984 + #, gcc-internal-format + msgid "ISO C99 does not support %<_Noreturn%>" + msgstr "" + +-#: c/c-decl.cc:7994 ++#: c/c-decl.cc:7987 + #, gcc-internal-format + msgid "ISO C90 does not support %<_Noreturn%>" + msgstr "" + +-#: c/c-decl.cc:8013 ++#: c/c-decl.cc:8006 + #, gcc-internal-format + msgid "% object has variably modified type" + msgstr "" + +-#: c/c-decl.cc:8017 c/c-parser.cc:10933 ++#: c/c-decl.cc:8010 c/c-parser.cc:10930 + #, gcc-internal-format + msgid "invalid qualifiers for % object" + msgstr "" + +-#: c/c-decl.cc:8023 c/c-parser.cc:10936 ++#: c/c-decl.cc:8016 c/c-parser.cc:10933 + #, gcc-internal-format + msgid "invalid qualifiers for field of % object" + msgstr "" + +-#: c/c-decl.cc:8049 ++#: c/c-decl.cc:8042 + #, gcc-internal-format + msgid "variable previously declared % redeclared %" + msgstr "" + +-#: c/c-decl.cc:8061 ++#: c/c-decl.cc:8054 + #, gcc-internal-format + msgid "variable %q+D declared %" + msgstr "" + +-#: c/c-decl.cc:8063 ++#: c/c-decl.cc:8056 + #, gcc-internal-format + msgid "variable %q+D declared %<_Noreturn%>" + msgstr "" + +-#: c/c-decl.cc:8098 ++#: c/c-decl.cc:8091 + #, gcc-internal-format + msgid "non-nested function with variably modified type" + msgstr "" + +-#: c/c-decl.cc:8100 ++#: c/c-decl.cc:8093 + #, gcc-internal-format + msgid "object with variably modified type must have no linkage" + msgstr "" + +-#: c/c-decl.cc:8208 c/c-decl.cc:10207 ++#: c/c-decl.cc:8201 c/c-decl.cc:10200 + #, gcc-internal-format + msgid "function declaration isn%'t a prototype" + msgstr "" + +-#: c/c-decl.cc:8218 ++#: c/c-decl.cc:8211 + #, gcc-internal-format + msgid "parameter names (without types) in function declaration" + msgstr "" + +-#: c/c-decl.cc:8263 ++#: c/c-decl.cc:8256 + #, gcc-internal-format + msgid "parameter %u (%q+D) has incomplete type" + msgstr "" + +-#: c/c-decl.cc:8267 ++#: c/c-decl.cc:8260 + #, gcc-internal-format, gfc-internal-format + msgid "parameter %u has incomplete type" + msgstr "" + +-#: c/c-decl.cc:8278 ++#: c/c-decl.cc:8271 + #, gcc-internal-format + msgid "parameter %u (%q+D) has void type" + msgstr "" + +-#: c/c-decl.cc:8282 ++#: c/c-decl.cc:8275 + #, gcc-internal-format, gfc-internal-format + msgid "parameter %u has void type" + msgstr "" + +-#: c/c-decl.cc:8357 ++#: c/c-decl.cc:8350 + #, gcc-internal-format + msgid "% as only parameter may not be qualified" + msgstr "" + +-#: c/c-decl.cc:8361 c/c-decl.cc:8397 ++#: c/c-decl.cc:8354 c/c-decl.cc:8390 + #, gcc-internal-format + msgid "% must be the only parameter" + msgstr "" + +-#: c/c-decl.cc:8391 ++#: c/c-decl.cc:8384 + #, gcc-internal-format + msgid "parameter %q+D has just a forward declaration" + msgstr "" + +-#: c/c-decl.cc:8437 ++#: c/c-decl.cc:8430 + #, gcc-internal-format + msgid "" + "%<%s %E%> declared inside parameter list will not be visible outside of this " + "definition or declaration" + msgstr "" + +-#: c/c-decl.cc:8443 ++#: c/c-decl.cc:8436 + #, gcc-internal-format, gfc-internal-format + msgid "" + "anonymous %s declared inside parameter list will not be visible outside of " + "this definition or declaration" + msgstr "" + +-#: c/c-decl.cc:8558 ++#: c/c-decl.cc:8551 + #, gcc-internal-format + msgid "enum type defined here" + msgstr "" + +-#: c/c-decl.cc:8564 ++#: c/c-decl.cc:8557 + #, gcc-internal-format + msgid "struct defined here" + msgstr "" + +-#: c/c-decl.cc:8570 ++#: c/c-decl.cc:8563 + #, gcc-internal-format + msgid "union defined here" + msgstr "" + +-#: c/c-decl.cc:8653 ++#: c/c-decl.cc:8646 + #, gcc-internal-format + msgid "redefinition of %" + msgstr "" + +-#: c/c-decl.cc:8655 ++#: c/c-decl.cc:8648 + #, gcc-internal-format + msgid "redefinition of %" + msgstr "" + +-#: c/c-decl.cc:8664 ++#: c/c-decl.cc:8657 + #, gcc-internal-format + msgid "nested redefinition of %" + msgstr "" + +-#: c/c-decl.cc:8666 ++#: c/c-decl.cc:8659 + #, gcc-internal-format + msgid "nested redefinition of %" + msgstr "" + +-#: c/c-decl.cc:8696 c/c-decl.cc:9606 ++#: c/c-decl.cc:8689 c/c-decl.cc:9599 + #, gcc-internal-format + msgid "defining type in %qs expression is invalid in C++" + msgstr "" + +-#: c/c-decl.cc:8702 c/c-decl.cc:9612 ++#: c/c-decl.cc:8695 c/c-decl.cc:9605 + #, gcc-internal-format + msgid "%qT defined in underspecified object initializer" + msgstr "" + +-#: c/c-decl.cc:8766 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5479 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "" + +-#: c/c-decl.cc:8771 ++#: c/c-decl.cc:8764 + #, gcc-internal-format + msgid "ISO C99 doesn%'t support unnamed structs/unions" + msgstr "" + +-#: c/c-decl.cc:8774 ++#: c/c-decl.cc:8767 + #, gcc-internal-format + msgid "ISO C90 doesn%'t support unnamed structs/unions" + msgstr "" + +-#: c/c-decl.cc:8867 c/c-decl.cc:8885 c/c-decl.cc:8946 ++#: c/c-decl.cc:8860 c/c-decl.cc:8878 c/c-decl.cc:8939 + #, gcc-internal-format + msgid "duplicate member %q+D" + msgstr "" + +-#: c/c-decl.cc:8972 ++#: c/c-decl.cc:8965 + #, gcc-internal-format + msgid "empty struct has size 0 in C, size 1 in C++" + msgstr "" + +-#: c/c-decl.cc:8975 ++#: c/c-decl.cc:8968 + #, gcc-internal-format + msgid "empty union has size 0 in C, size 1 in C++" + msgstr "" + +-#: c/c-decl.cc:9155 ++#: c/c-decl.cc:9148 + #, gcc-internal-format + msgid "union has no named members" + msgstr "" + +-#: c/c-decl.cc:9157 ++#: c/c-decl.cc:9150 + #, gcc-internal-format + msgid "union has no members" + msgstr "" + +-#: c/c-decl.cc:9162 ++#: c/c-decl.cc:9155 + #, gcc-internal-format + msgid "struct has no named members" + msgstr "" + +-#: c/c-decl.cc:9164 ++#: c/c-decl.cc:9157 + #, gcc-internal-format + msgid "struct has no members" + msgstr "" + +-#: c/c-decl.cc:9242 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14154 + #, gcc-internal-format + msgid "flexible array member in union" + msgstr "" + +-#: c/c-decl.cc:9248 ++#: c/c-decl.cc:9241 + #, gcc-internal-format + msgid "flexible array member not at end of struct" + msgstr "" + +-#: c/c-decl.cc:9254 ++#: c/c-decl.cc:9247 + #, gcc-internal-format + msgid "flexible array member in a struct with no named members" + msgstr "" + +-#: c/c-decl.cc:9288 ++#: c/c-decl.cc:9281 + #, gcc-internal-format + msgid "type %qT is too large" + msgstr "" + +-#: c/c-decl.cc:9342 ++#: c/c-decl.cc:9335 + #, gcc-internal-format + msgid "type punning toggles scalar storage order" + msgstr "" + +-#: c/c-decl.cc:9409 ++#: c/c-decl.cc:9402 + #, gcc-internal-format + msgid "union cannot be made transparent" + msgstr "" + +-#: c/c-decl.cc:9571 ++#: c/c-decl.cc:9564 + #, gcc-internal-format + msgid "nested redefinition of %" + msgstr "" + +-#: c/c-decl.cc:9579 ++#: c/c-decl.cc:9572 + #, gcc-internal-format + msgid "redeclaration of %" + msgstr "" + +-#: c/c-decl.cc:9590 ++#: c/c-decl.cc:9583 + #, gcc-internal-format + msgid "% declared with but defined without fixed underlying type" + msgstr "" + +-#: c/c-decl.cc:9675 cp/decl.cc:16740 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 + #, gcc-internal-format + msgid "specified mode too small for enumerated values" + msgstr "" + +-#: c/c-decl.cc:9694 ++#: c/c-decl.cc:9687 + #, gcc-internal-format + msgid "enumeration values exceed range of largest integer" + msgstr "" + +-#: c/c-decl.cc:9703 ++#: c/c-decl.cc:9696 + #, gcc-internal-format + msgid "enumeration values exceed range of %qs" + msgstr "" + +-#: c/c-decl.cc:9830 c/c-decl.cc:9846 ++#: c/c-decl.cc:9823 c/c-decl.cc:9839 + #, gcc-internal-format + msgid "enumerator value for %qE is not an integer constant" + msgstr "" + +-#: c/c-decl.cc:9841 ++#: c/c-decl.cc:9834 + #, gcc-internal-format + msgid "enumerator value for %qE is not an integer constant expression" + msgstr "" + +-#: c/c-decl.cc:9865 ++#: c/c-decl.cc:9858 + #, gcc-internal-format + msgid "overflow in enumeration values" + msgstr "" + +-#: c/c-decl.cc:9872 ++#: c/c-decl.cc:9865 + #, gcc-internal-format + msgid "enumerator value outside the range of underlying type" + msgstr "" + +-#: c/c-decl.cc:9900 ++#: c/c-decl.cc:9893 + #, gcc-internal-format + msgid "enumerator value outside the range of %qs" + msgstr "" + +-#: c/c-decl.cc:9906 ++#: c/c-decl.cc:9899 + #, gcc-internal-format + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "" + +-#: c/c-decl.cc:10100 cp/decl.cc:5799 cp/decl.cc:17319 ++#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 + #, gcc-internal-format + msgid "inline function %qD given attribute %qs" + msgstr "" + +-#: c/c-decl.cc:10118 ++#: c/c-decl.cc:10111 + #, gcc-internal-format + msgid "return type is an incomplete type" + msgstr "" + +-#: c/c-decl.cc:10130 ++#: c/c-decl.cc:10123 + #, gcc-internal-format + msgid "return type defaults to %" + msgstr "" + +-#: c/c-decl.cc:10158 ++#: c/c-decl.cc:10151 + #, gcc-internal-format + msgid "%q+D defined as variadic function without prototype" + msgstr "" + +-#: c/c-decl.cc:10216 ++#: c/c-decl.cc:10209 + #, gcc-internal-format + msgid "no previous prototype for %qD" + msgstr "" + +-#: c/c-decl.cc:10225 ++#: c/c-decl.cc:10218 + #, gcc-internal-format + msgid "%qD was used with no prototype before its definition" + msgstr "" + +-#: c/c-decl.cc:10233 cp/decl.cc:17462 ++#: c/c-decl.cc:10226 cp/decl.cc:17453 + #, gcc-internal-format + msgid "no previous declaration for %qD" + msgstr "" + +-#: c/c-decl.cc:10243 ++#: c/c-decl.cc:10236 + #, gcc-internal-format + msgid "%qD was used with no declaration before its definition" + msgstr "" + +-#: c/c-decl.cc:10262 ++#: c/c-decl.cc:10255 + #, gcc-internal-format + msgid "return type of %qD is not %" + msgstr "" + +-#: c/c-decl.cc:10264 ++#: c/c-decl.cc:10257 + #, gcc-internal-format + msgid "%<_Atomic%>-qualified return type of %qD" + msgstr "" + +-#: c/c-decl.cc:10271 ++#: c/c-decl.cc:10264 + #, gcc-internal-format + msgid "%qD is normally a non-static function" + msgstr "" + +-#: c/c-decl.cc:10322 ++#: c/c-decl.cc:10315 + #, gcc-internal-format + msgid "old-style parameter declarations in prototyped function definition" + msgstr "" + +-#: c/c-decl.cc:10337 ++#: c/c-decl.cc:10330 + #, gcc-internal-format + msgid "traditional C rejects ISO C style function definitions" + msgstr "" + +-#: c/c-decl.cc:10354 ++#: c/c-decl.cc:10347 + #, gcc-internal-format + msgid "" + "ISO C does not support omitting parameter names in function definitions " + "before C2X" + msgstr "" + +-#: c/c-decl.cc:10394 c/c-decl.cc:10398 ++#: c/c-decl.cc:10387 c/c-decl.cc:10391 + #, gcc-internal-format + msgid "old-style function definition" + msgstr "" + +-#: c/c-decl.cc:10411 ++#: c/c-decl.cc:10404 + #, gcc-internal-format + msgid "parameter name missing from parameter list" + msgstr "" + +-#: c/c-decl.cc:10427 ++#: c/c-decl.cc:10420 + #, gcc-internal-format + msgid "%qD declared as a non-parameter" + msgstr "" + +-#: c/c-decl.cc:10435 ++#: c/c-decl.cc:10428 + #, gcc-internal-format + msgid "multiple parameters named %qD" + msgstr "" + +-#: c/c-decl.cc:10444 ++#: c/c-decl.cc:10437 + #, gcc-internal-format + msgid "parameter %qD declared with void type" + msgstr "" + +-#: c/c-decl.cc:10473 c/c-decl.cc:10478 ++#: c/c-decl.cc:10466 c/c-decl.cc:10471 + #, gcc-internal-format + msgid "type of %qD defaults to %" + msgstr "" + +-#: c/c-decl.cc:10498 ++#: c/c-decl.cc:10491 + #, gcc-internal-format + msgid "parameter %qD has incomplete type" + msgstr "" + +-#: c/c-decl.cc:10505 ++#: c/c-decl.cc:10498 + #, gcc-internal-format + msgid "declaration for parameter %qD but no such parameter" + msgstr "" + +-#: c/c-decl.cc:10558 ++#: c/c-decl.cc:10551 + #, gcc-internal-format + msgid "number of arguments doesn%'t match built-in prototype" + msgstr "" + +-#: c/c-decl.cc:10569 ++#: c/c-decl.cc:10562 + #, gcc-internal-format + msgid "number of arguments doesn%'t match prototype" + msgstr "" + +-#: c/c-decl.cc:10572 c/c-decl.cc:10619 c/c-decl.cc:10633 ++#: c/c-decl.cc:10565 c/c-decl.cc:10612 c/c-decl.cc:10626 + #, gcc-internal-format + msgid "prototype declaration" + msgstr "" + +-#: c/c-decl.cc:10611 ++#: c/c-decl.cc:10604 + #, gcc-internal-format + msgid "promoted argument %qD doesn%'t match built-in prototype" + msgstr "" + +-#: c/c-decl.cc:10616 ++#: c/c-decl.cc:10609 + #, gcc-internal-format + msgid "promoted argument %qD doesn%'t match prototype" + msgstr "" + +-#: c/c-decl.cc:10626 ++#: c/c-decl.cc:10619 + #, gcc-internal-format + msgid "argument %qD doesn%'t match built-in prototype" + msgstr "" + +-#: c/c-decl.cc:10631 ++#: c/c-decl.cc:10624 + #, gcc-internal-format + msgid "argument %qD doesn%'t match prototype" + msgstr "" + +-#: c/c-decl.cc:10889 cp/decl.cc:18243 ++#: c/c-decl.cc:10882 cp/decl.cc:18234 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "" + +-#: c/c-decl.cc:10908 cp/decl.cc:18327 ++#: c/c-decl.cc:10901 cp/decl.cc:18318 + #, gcc-internal-format + msgid "parameter %qD set but not used" + msgstr "" + +-#: c/c-decl.cc:11005 ++#: c/c-decl.cc:10998 + #, gcc-internal-format + msgid "% loop initial declarations are only allowed in C99 or C11 mode" + msgstr "" + +-#: c/c-decl.cc:11010 ++#: c/c-decl.cc:11003 + #, gcc-internal-format + msgid "" + "use option %<-std=c99%>, %<-std=gnu99%>, %<-std=c11%> or %<-std=gnu11%> to " + "compile your code" + msgstr "" + +-#: c/c-decl.cc:11017 ++#: c/c-decl.cc:11010 + #, gcc-internal-format + msgid "ISO C90 does not support % loop initial declarations" + msgstr "" + +-#: c/c-decl.cc:11049 ++#: c/c-decl.cc:11042 + #, gcc-internal-format + msgid "declaration of static variable %qD in % loop initial declaration" + msgstr "" + +-#: c/c-decl.cc:11053 ++#: c/c-decl.cc:11046 + #, gcc-internal-format + msgid "" + "declaration of % variable %qD in % loop initial declaration" + msgstr "" + +-#: c/c-decl.cc:11060 ++#: c/c-decl.cc:11053 + #, gcc-internal-format + msgid "% declared in % loop initial declaration" + msgstr "" + +-#: c/c-decl.cc:11065 ++#: c/c-decl.cc:11058 + #, gcc-internal-format + msgid "% declared in % loop initial declaration" + msgstr "" + +-#: c/c-decl.cc:11069 ++#: c/c-decl.cc:11062 + #, gcc-internal-format + msgid "% declared in % loop initial declaration" + msgstr "" + +-#: c/c-decl.cc:11073 ++#: c/c-decl.cc:11066 + #, gcc-internal-format + msgid "declaration of non-variable %qD in % loop initial declaration" + msgstr "" + +-#: c/c-decl.cc:11359 ++#: c/c-decl.cc:11352 + #, gcc-internal-format + msgid "incompatible address space qualifiers %qs and %qs" + msgstr "" + +-#: c/c-decl.cc:11418 c/c-decl.cc:11425 ++#: c/c-decl.cc:11411 c/c-decl.cc:11418 + #, gcc-internal-format + msgid "duplicate %qE declaration specifier" + msgstr "" + +-#: c/c-decl.cc:11453 c/c-decl.cc:12454 ++#: c/c-decl.cc:11446 c/c-decl.cc:12447 + #, gcc-internal-format + msgid "multiple storage classes in declaration specifiers" + msgstr "" + +-#: c/c-decl.cc:11455 ++#: c/c-decl.cc:11448 + #, gcc-internal-format + msgid "%qs used with %" + msgstr "" + + #. auto may only be used with another storage class specifier, + #. such as constexpr, if the type is inferred. +-#: c/c-decl.cc:11460 ++#: c/c-decl.cc:11453 + #, gcc-internal-format + msgid "% used with %" + msgstr "" + +-#: c/c-decl.cc:11473 c/c-decl.cc:11857 c/c-decl.cc:12252 ++#: c/c-decl.cc:11466 c/c-decl.cc:11850 c/c-decl.cc:12245 + #, gcc-internal-format + msgid "two or more data types in declaration specifiers" + msgstr "" + +-#: c/c-decl.cc:11485 cp/parser.cc:33540 ++#: c/c-decl.cc:11478 cp/parser.cc:33541 + #, gcc-internal-format + msgid "% is too long for GCC" + msgstr "" + +-#: c/c-decl.cc:11498 ++#: c/c-decl.cc:11491 + #, gcc-internal-format + msgid "ISO C90 does not support %" + msgstr "" + +-#: c/c-decl.cc:11727 c/c-parser.cc:10587 ++#: c/c-decl.cc:11720 c/c-parser.cc:10584 + #, gcc-internal-format + msgid "ISO C90 does not support complex types" + msgstr "" + +-#: c/c-decl.cc:11773 ++#: c/c-decl.cc:11766 + #, gcc-internal-format + msgid "ISO C does not support saturating types" + msgstr "" + +-#: c/c-decl.cc:11844 c/c-decl.cc:12389 c/c-decl.cc:12448 ++#: c/c-decl.cc:11837 c/c-decl.cc:12382 c/c-decl.cc:12441 + #, gcc-internal-format + msgid "duplicate %qE" + msgstr "" + +-#: c/c-decl.cc:11904 ++#: c/c-decl.cc:11897 + #, gcc-internal-format + msgid "ISO C does not support %<__int%d%> types" + msgstr "" + +-#: c/c-decl.cc:11926 ++#: c/c-decl.cc:11919 + #, gcc-internal-format + msgid "%<__int%d%> is not supported on this target" + msgstr "" + +-#: c/c-decl.cc:11969 ++#: c/c-decl.cc:11962 + #, gcc-internal-format + msgid "ISO C90 does not support boolean types" + msgstr "" + +-#: c/c-decl.cc:12088 ++#: c/c-decl.cc:12081 + #, gcc-internal-format + msgid "ISO C does not support the %<_Float%d%s%> type" + msgstr "" + +-#: c/c-decl.cc:12138 cp/parser.cc:19728 ++#: c/c-decl.cc:12131 cp/parser.cc:19728 + #, gcc-internal-format + msgid "%<_Float%d%s%> is not supported on this target" + msgstr "" + +-#: c/c-decl.cc:12209 ++#: c/c-decl.cc:12202 + #, gcc-internal-format + msgid "ISO C does not support decimal floating-point before C2X" + msgstr "" + +-#: c/c-decl.cc:12233 c/c-decl.cc:12550 c/c-parser.cc:9597 ++#: c/c-decl.cc:12226 c/c-decl.cc:12543 c/c-parser.cc:9594 + #, gcc-internal-format + msgid "fixed-point types not supported for this target" + msgstr "" + +-#: c/c-decl.cc:12235 ++#: c/c-decl.cc:12228 + #, gcc-internal-format + msgid "ISO C does not support fixed-point types" + msgstr "" + +-#: c/c-decl.cc:12268 ++#: c/c-decl.cc:12261 + #, gcc-internal-format + msgid "C++ lookup of %qD would return a field, not a type" + msgstr "" + +-#: c/c-decl.cc:12281 ++#: c/c-decl.cc:12274 + #, gcc-internal-format + msgid "%qE fails to be a typedef or built in type" + msgstr "" + +-#: c/c-decl.cc:12333 ++#: c/c-decl.cc:12326 + #, gcc-internal-format + msgid "%qE is not at beginning of declaration" + msgstr "" + + #. auto may only be used with another storage class specifier, + #. such as constexpr, if the type is inferred. +-#: c/c-decl.cc:12354 c/c-decl.cc:12431 ++#: c/c-decl.cc:12347 c/c-decl.cc:12424 + #, gcc-internal-format + msgid "%qE used with %" + msgstr "" + +-#: c/c-decl.cc:12356 ++#: c/c-decl.cc:12349 + #, gcc-internal-format + msgid "%qE used with %" + msgstr "" + +-#: c/c-decl.cc:12358 c/c-decl.cc:12427 ++#: c/c-decl.cc:12351 c/c-decl.cc:12420 + #, gcc-internal-format + msgid "%qE used with %" + msgstr "" + +-#: c/c-decl.cc:12360 c/c-decl.cc:12397 ++#: c/c-decl.cc:12353 c/c-decl.cc:12390 + #, gcc-internal-format + msgid "%qE used with %" + msgstr "" + +-#: c/c-decl.cc:12374 c/c-parser.cc:2924 c/c-parser.cc:4208 c/c-parser.cc:8941 ++#: c/c-decl.cc:12367 c/c-parser.cc:2924 c/c-parser.cc:4208 c/c-parser.cc:8938 + #, gcc-internal-format + msgid "ISO C99 does not support %qE" + msgstr "" + +-#: c/c-decl.cc:12377 c/c-parser.cc:2927 c/c-parser.cc:4211 c/c-parser.cc:8944 ++#: c/c-decl.cc:12370 c/c-parser.cc:2927 c/c-parser.cc:4211 c/c-parser.cc:8941 + #, gcc-internal-format + msgid "ISO C90 does not support %qE" + msgstr "" + +-#: c/c-decl.cc:12403 ++#: c/c-decl.cc:12396 + #, gcc-internal-format + msgid "%<__thread%> before %" + msgstr "" + +-#: c/c-decl.cc:12412 ++#: c/c-decl.cc:12405 + #, gcc-internal-format + msgid "%<__thread%> before %" + msgstr "" + +-#: c/c-decl.cc:12418 ++#: c/c-decl.cc:12411 + #, gcc-internal-format + msgid "% used with %" + msgstr "" + +-#: c/c-decl.cc:12425 ++#: c/c-decl.cc:12418 + #, gcc-internal-format + msgid "%qE used with %" + msgstr "" + +-#: c/c-decl.cc:12433 ++#: c/c-decl.cc:12426 + #, gcc-internal-format + msgid "%qE used with %qs" + msgstr "" + +-#: c/c-decl.cc:12446 ++#: c/c-decl.cc:12439 + #, gcc-internal-format + msgid "duplicate %<_Thread_local%> or %<__thread%>" + msgstr "" + +-#: c/c-decl.cc:12462 ++#: c/c-decl.cc:12455 + #, gcc-internal-format + msgid "%qs used with %qE" + msgstr "" + +-#: c/c-decl.cc:12470 ++#: c/c-decl.cc:12463 + #, gcc-internal-format + msgid "% used with %qE" + msgstr "" + +-#: c/c-decl.cc:12547 ++#: c/c-decl.cc:12540 + #, gcc-internal-format + msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>" + msgstr "" + +-#: c/c-decl.cc:12562 ++#: c/c-decl.cc:12555 + #, gcc-internal-format + msgid "ISO C does not support plain % meaning %" + msgstr "" + +-#: c/c-decl.cc:12573 ++#: c/c-decl.cc:12566 + #, gcc-internal-format + msgid "ISO C does not support % type deduction before C2X" + msgstr "" + +-#: c/c-decl.cc:12602 ++#: c/c-decl.cc:12595 + #, gcc-internal-format + msgid "%<__auto_type%> followed by %<[[]]%> attributes" + msgstr "" + +-#: c/c-decl.cc:12628 c/c-decl.cc:12644 c/c-decl.cc:12670 ++#: c/c-decl.cc:12621 c/c-decl.cc:12637 c/c-decl.cc:12663 + #, gcc-internal-format + msgid "ISO C does not support complex integer types" + msgstr "" + +-#: c/c-decl.cc:13098 cp/semantics.cc:6071 ++#: c/c-decl.cc:13091 cp/semantics.cc:6071 + #, gcc-internal-format + msgid "" + "%<#pragma omp declare reduction%> combiner refers to variable %qD which is " + "not % nor %" + msgstr "" + +-#: c/c-decl.cc:13102 cp/semantics.cc:6075 ++#: c/c-decl.cc:13095 cp/semantics.cc:6075 + #, gcc-internal-format + msgid "" + "%<#pragma omp declare reduction%> initializer refers to variable %qD which " + "is not % nor %" + msgstr "" + +-#: c/c-fold.cc:388 c/c-typeck.cc:12637 cp/typeck.cc:5636 ++#: c/c-fold.cc:388 c/c-typeck.cc:12632 cp/typeck.cc:5636 + #, gcc-internal-format + msgid "left shift of negative value" + msgstr "" + +-#: c/c-fold.cc:398 c/c-typeck.cc:12646 cp/typeck.cc:5644 ++#: c/c-fold.cc:398 c/c-typeck.cc:12641 cp/typeck.cc:5644 + #, gcc-internal-format + msgid "left shift count is negative" + msgstr "" + +-#: c/c-fold.cc:399 c/c-typeck.cc:12574 cp/typeck.cc:5583 ++#: c/c-fold.cc:399 c/c-typeck.cc:12569 cp/typeck.cc:5583 + #, gcc-internal-format + msgid "right shift count is negative" + msgstr "" + +-#: c/c-fold.cc:407 c/c-typeck.cc:12665 cp/typeck.cc:5652 ++#: c/c-fold.cc:407 c/c-typeck.cc:12660 cp/typeck.cc:5652 + #, gcc-internal-format + msgid "left shift count >= width of type" + msgstr "" + +-#: c/c-fold.cc:408 c/c-typeck.cc:12598 cp/typeck.cc:5594 ++#: c/c-fold.cc:408 c/c-typeck.cc:12593 cp/typeck.cc:5594 + #, gcc-internal-format + msgid "right shift count >= width of type" + msgstr "" + +-#: c/c-fold.cc:415 c/c-typeck.cc:12657 ++#: c/c-fold.cc:415 c/c-typeck.cc:12652 + #, gcc-internal-format + msgid "left shift count >= width of vector element" + msgstr "" + +-#: c/c-fold.cc:416 c/c-typeck.cc:12585 ++#: c/c-fold.cc:416 c/c-typeck.cc:12580 + #, gcc-internal-format + msgid "right shift count >= width of vector element" + msgstr "" +@@ -47371,7 +47353,7 @@ msgstr "" + msgid "to match this %qs" + msgstr "" + +-#: c/c-parser.cc:1367 cp/parser.cc:33774 ++#: c/c-parser.cc:1367 cp/parser.cc:33775 + #, gcc-internal-format + msgid "expected end of line" + msgstr "" +@@ -47381,13 +47363,13 @@ msgstr "" + msgid "ISO C forbids an empty translation unit" + msgstr "" + +-#: c/c-parser.cc:1796 c/c-parser.cc:1805 c/c-parser.cc:23171 cp/parser.cc:47460 ++#: c/c-parser.cc:1796 c/c-parser.cc:1805 c/c-parser.cc:23168 cp/parser.cc:47461 + #: cp/semantics.cc:3400 cp/semantics.cc:3409 + #, gcc-internal-format + msgid "%qs without corresponding %qs" + msgstr "" + +-#: c/c-parser.cc:1901 c/c-parser.cc:11993 ++#: c/c-parser.cc:1901 c/c-parser.cc:11990 + #, gcc-internal-format + msgid "ISO C does not allow extra %<;%> outside of a function" + msgstr "" +@@ -47422,9 +47404,9 @@ msgstr "" + msgid "unknown type name %qE" + msgstr "" + +-#: c/c-parser.cc:2192 c/c-parser.cc:13315 c/c-parser.cc:20921 +-#: c/c-parser.cc:21516 c/c-parser.cc:22070 cp/parser.cc:44923 +-#: cp/parser.cc:49522 ++#: c/c-parser.cc:2192 c/c-parser.cc:13312 c/c-parser.cc:20918 ++#: c/c-parser.cc:21513 c/c-parser.cc:22067 cp/parser.cc:44924 ++#: cp/parser.cc:49523 + #, gcc-internal-format + msgid "expected declaration specifiers" + msgstr "" +@@ -47454,7 +47436,7 @@ msgstr "" + msgid "expected %<;%>, identifier or %<(%>" + msgstr "" + +-#: c/c-parser.cc:2297 cp/parser.cc:36027 cp/parser.cc:36099 ++#: c/c-parser.cc:2297 cp/parser.cc:36028 cp/parser.cc:36100 + #, gcc-internal-format + msgid "prefix attributes are ignored for methods" + msgstr "" +@@ -47469,12 +47451,12 @@ msgstr "" + msgid "unexpected attribute" + msgstr "" + +-#: c/c-parser.cc:2363 c/c-parser.cc:6750 cp/parser.cc:12616 cp/parser.cc:12838 ++#: c/c-parser.cc:2363 c/c-parser.cc:6747 cp/parser.cc:12616 cp/parser.cc:12838 + #, gcc-internal-format + msgid "% attribute not followed by %<;%>" + msgstr "" + +-#: c/c-parser.cc:2366 c/c-parser.cc:6733 cp/cp-gimplify.cc:3266 ++#: c/c-parser.cc:2366 c/c-parser.cc:6730 cp/cp-gimplify.cc:3264 + #, gcc-internal-format + msgid "% attribute not followed by %<;%>" + msgstr "" +@@ -47537,7 +47519,7 @@ msgstr "" + msgid "ISO C forbids nested functions" + msgstr "" + +-#: c/c-parser.cc:2950 c/c-parser.cc:7872 c/c-parser.cc:13376 ++#: c/c-parser.cc:2950 c/c-parser.cc:7869 c/c-parser.cc:13373 + #, gcc-internal-format + msgid "expected string literal" + msgstr "" +@@ -47628,20 +47610,20 @@ msgid "empty enum is invalid" + msgstr "" + + #: c/c-parser.cc:3588 c/c-parser.cc:4640 c/c-parser.cc:5361 c/c-parser.cc:5373 +-#: c/c-parser.cc:5838 c/c-parser.cc:6150 c/c-parser.cc:7739 c/c-parser.cc:7822 +-#: c/c-parser.cc:8798 c/c-parser.cc:9115 c/c-parser.cc:9124 c/c-parser.cc:9657 +-#: c/c-parser.cc:9844 c/c-parser.cc:9872 c/c-parser.cc:10754 +-#: c/c-parser.cc:11272 c/c-parser.cc:11310 c/c-parser.cc:11575 +-#: c/c-parser.cc:11626 c/c-parser.cc:11786 c/c-parser.cc:11816 +-#: c/c-parser.cc:11824 c/c-parser.cc:11853 c/c-parser.cc:11866 +-#: c/c-parser.cc:12172 c/c-parser.cc:12296 c/c-parser.cc:12881 +-#: c/c-parser.cc:12934 c/c-parser.cc:12950 c/c-parser.cc:12996 +-#: c/c-parser.cc:13841 c/c-parser.cc:13887 c/c-parser.cc:16617 +-#: c/c-parser.cc:16754 c/c-parser.cc:17469 c/c-parser.cc:19905 +-#: c/c-parser.cc:22598 c/c-parser.cc:22789 c/gimple-parser.cc:1806 +-#: c/gimple-parser.cc:1853 cp/parser.cc:9276 cp/parser.cc:33777 +-#: cp/parser.cc:37004 cp/parser.cc:39930 cp/parser.cc:40122 cp/parser.cc:46506 +-#: cp/parser.cc:48805 ++#: c/c-parser.cc:5835 c/c-parser.cc:6147 c/c-parser.cc:7736 c/c-parser.cc:7819 ++#: c/c-parser.cc:8795 c/c-parser.cc:9112 c/c-parser.cc:9121 c/c-parser.cc:9654 ++#: c/c-parser.cc:9841 c/c-parser.cc:9869 c/c-parser.cc:10751 ++#: c/c-parser.cc:11269 c/c-parser.cc:11307 c/c-parser.cc:11572 ++#: c/c-parser.cc:11623 c/c-parser.cc:11783 c/c-parser.cc:11813 ++#: c/c-parser.cc:11821 c/c-parser.cc:11850 c/c-parser.cc:11863 ++#: c/c-parser.cc:12169 c/c-parser.cc:12293 c/c-parser.cc:12878 ++#: c/c-parser.cc:12931 c/c-parser.cc:12947 c/c-parser.cc:12993 ++#: c/c-parser.cc:13838 c/c-parser.cc:13884 c/c-parser.cc:16614 ++#: c/c-parser.cc:16751 c/c-parser.cc:17466 c/c-parser.cc:19902 ++#: c/c-parser.cc:22595 c/c-parser.cc:22786 c/gimple-parser.cc:1806 ++#: c/gimple-parser.cc:1853 cp/parser.cc:9276 cp/parser.cc:33778 ++#: cp/parser.cc:37005 cp/parser.cc:39931 cp/parser.cc:40123 cp/parser.cc:46507 ++#: cp/parser.cc:48806 + #, gcc-internal-format + msgid "expected identifier" + msgstr "" +@@ -47721,7 +47703,7 @@ msgstr "" + msgid "parentheses must be omitted if attribute argument list is empty" + msgstr "" + +-#: c/c-parser.cc:5398 cp/parser.cc:29398 ++#: c/c-parser.cc:5398 cp/parser.cc:29399 + #, gcc-internal-format + msgid "%qE attribute does not take any arguments" + msgstr "" +@@ -47731,70 +47713,70 @@ msgstr "" + msgid "ISO C does not support %<[[]]%> attributes before C2X" + msgstr "" + +-#: c/c-parser.cc:5684 c/c-parser.cc:5745 c/c-typeck.cc:8638 ++#: c/c-parser.cc:5682 c/c-parser.cc:5742 c/c-typeck.cc:8638 + #, gcc-internal-format + msgid "" + "variable-sized object may not be initialized except with an empty initializer" + msgstr "" + +-#: c/c-parser.cc:5739 ++#: c/c-parser.cc:5736 + #, gcc-internal-format + msgid "ISO C forbids empty initializer braces before C2X" + msgstr "" + +-#: c/c-parser.cc:5802 ++#: c/c-parser.cc:5799 + #, gcc-internal-format + msgid "obsolete use of designated initializer with %<:%>" + msgstr "" + +-#: c/c-parser.cc:5958 ++#: c/c-parser.cc:5955 + #, gcc-internal-format + msgid "ISO C forbids specifying range of elements to initialize" + msgstr "" + +-#: c/c-parser.cc:5970 ++#: c/c-parser.cc:5967 + #, gcc-internal-format + msgid "ISO C90 forbids specifying subobject to initialize" + msgstr "" + +-#: c/c-parser.cc:5978 ++#: c/c-parser.cc:5975 + #, gcc-internal-format + msgid "obsolete use of designated initializer without %<=%>" + msgstr "" + +-#: c/c-parser.cc:6165 ++#: c/c-parser.cc:6162 + #, gcc-internal-format + msgid "ISO C forbids label declarations" + msgstr "" + +-#: c/c-parser.cc:6171 c/c-parser.cc:6260 c/c-parser.cc:6274 ++#: c/c-parser.cc:6168 c/c-parser.cc:6257 c/c-parser.cc:6271 + #: c/gimple-parser.cc:419 + #, gcc-internal-format + msgid "expected declaration or statement" + msgstr "" + +-#: c/c-parser.cc:6206 ++#: c/c-parser.cc:6203 + #, gcc-internal-format + msgid "" + "a label can only be part of a statement and a declaration is not a statement" + msgstr "" + +-#: c/c-parser.cc:6218 c/c-parser.cc:6251 ++#: c/c-parser.cc:6215 c/c-parser.cc:6248 + #, gcc-internal-format + msgid "ISO C90 forbids mixed declarations and code" + msgstr "" + +-#: c/c-parser.cc:6282 ++#: c/c-parser.cc:6279 + #, gcc-internal-format + msgid "expected %<}%> before %" + msgstr "" + +-#: c/c-parser.cc:6287 cp/parser.cc:12963 ++#: c/c-parser.cc:6284 cp/parser.cc:12963 + #, gcc-internal-format + msgid "% without a previous %" + msgstr "" + +-#: c/c-parser.cc:6305 ++#: c/c-parser.cc:6302 + #, gcc-internal-format + msgid "label at end of compound statement" + msgstr "" +@@ -47803,1175 +47785,1175 @@ msgstr "" + #. c_parser_skip_until_found stops at a closing nesting + #. delimiter without consuming it, but here we need to consume + #. it to proceed further. +-#: c/c-parser.cc:6326 c/c-parser.cc:6339 c/c-parser.cc:6775 ++#: c/c-parser.cc:6323 c/c-parser.cc:6336 c/c-parser.cc:6772 + #: c/gimple-parser.cc:2344 cp/parser.cc:12522 + #, gcc-internal-format + msgid "expected statement" + msgstr "" + +-#: c/c-parser.cc:6398 ++#: c/c-parser.cc:6395 + #, gcc-internal-format + msgid "expected %<:%> or %<...%>" + msgstr "" + +-#: c/c-parser.cc:6426 ++#: c/c-parser.cc:6423 + #, gcc-internal-format + msgid "" + "GNU-style attribute between label and declaration appertains to the label" + msgstr "" + +-#: c/c-parser.cc:6657 ++#: c/c-parser.cc:6654 + #, gcc-internal-format + msgid "expected identifier or %<*%>" + msgstr "" + +-#: c/c-parser.cc:6758 ++#: c/c-parser.cc:6755 + #, gcc-internal-format + msgid "" + "only attribute % or % can be applied to a null " + "statement" + msgstr "" + +-#: c/c-parser.cc:6883 cp/parser.cc:14532 ++#: c/c-parser.cc:6880 cp/parser.cc:14532 + #, gcc-internal-format + msgid "suggest braces around empty body in an % statement" + msgstr "" + +-#: c/c-parser.cc:6925 cp/parser.cc:14535 ++#: c/c-parser.cc:6922 cp/parser.cc:14535 + #, gcc-internal-format + msgid "suggest braces around empty body in an % statement" + msgstr "" + +-#: c/c-parser.cc:7056 cp/parser.cc:13332 ++#: c/c-parser.cc:7053 cp/parser.cc:13332 + #, gcc-internal-format + msgid "suggest explicit braces to avoid ambiguous %" + msgstr "" + +-#: c/c-parser.cc:7196 ++#: c/c-parser.cc:7193 + #, gcc-internal-format + msgid "suggest braces around empty body in % statement" + msgstr "" + +-#: c/c-parser.cc:7328 c/c-parser.cc:7360 ++#: c/c-parser.cc:7325 c/c-parser.cc:7357 + #, gcc-internal-format + msgid "multiple iterating variables in fast enumeration" + msgstr "" + +-#: c/c-parser.cc:7383 ++#: c/c-parser.cc:7380 + #, gcc-internal-format + msgid "invalid iterating variable in fast enumeration" + msgstr "" + +-#: c/c-parser.cc:7407 cp/parser.cc:13619 ++#: c/c-parser.cc:7404 cp/parser.cc:13619 + #, gcc-internal-format + msgid "missing loop condition in loop with % pragma" + msgstr "" + +-#: c/c-parser.cc:7413 cp/parser.cc:13625 ++#: c/c-parser.cc:7410 cp/parser.cc:13625 + #, gcc-internal-format + msgid "missing loop condition in loop with % pragma" + msgstr "" + +-#: c/c-parser.cc:7449 ++#: c/c-parser.cc:7446 + #, gcc-internal-format + msgid "missing collection in fast enumeration" + msgstr "" + +-#: c/c-parser.cc:7571 c/c-parser.cc:7582 c/c-parser.cc:7593 ++#: c/c-parser.cc:7568 c/c-parser.cc:7579 c/c-parser.cc:7590 + #, gcc-internal-format + msgid "duplicate % qualifier %qE" + msgstr "" + +-#: c/c-parser.cc:7572 c/c-parser.cc:7583 c/c-parser.cc:7594 cp/parser.cc:22172 ++#: c/c-parser.cc:7569 c/c-parser.cc:7580 c/c-parser.cc:7591 cp/parser.cc:22172 + #: cp/parser.cc:22189 cp/parser.cc:22203 + #, gcc-internal-format + msgid "first seen here" + msgstr "" + +-#: c/c-parser.cc:7603 ++#: c/c-parser.cc:7600 + #, gcc-internal-format + msgid "%qE is not a valid % qualifier" + msgstr "" + +-#: c/c-parser.cc:7653 ++#: c/c-parser.cc:7650 + #, gcc-internal-format + msgid "expected %<:%> or %<)%>" + msgstr "" + +-#: c/c-parser.cc:7952 cp/parser.cc:4575 ++#: c/c-parser.cc:7949 cp/parser.cc:4575 + #, gcc-internal-format + msgid "a wide string is invalid in this context" + msgstr "" + +-#: c/c-parser.cc:8158 ++#: c/c-parser.cc:8155 + #, gcc-internal-format + msgid "ISO C forbids omitting the middle term of a % expression" + msgstr "" + + #. Location of the binary operator. + #. Quiet warning. +-#: c/c-parser.cc:8380 cp/typeck.cc:5417 ++#: c/c-parser.cc:8377 cp/typeck.cc:5417 + #, gcc-internal-format + msgid "" + "division % does not compute the number of array " + "elements" + msgstr "" + +-#: c/c-parser.cc:8386 cp/typeck.cc:5422 ++#: c/c-parser.cc:8383 cp/typeck.cc:5422 + #, gcc-internal-format + msgid "first % operand was declared here" + msgstr "" + +-#: c/c-parser.cc:8657 ++#: c/c-parser.cc:8654 + #, gcc-internal-format + msgid "storage class specifier in cast" + msgstr "" + +-#: c/c-parser.cc:8660 ++#: c/c-parser.cc:8657 + #, gcc-internal-format + msgid "alignment specified for type name in cast" + msgstr "" + +-#: c/c-parser.cc:8761 ++#: c/c-parser.cc:8758 + #, gcc-internal-format + msgid "traditional C rejects the unary plus operator" + msgstr "" + +-#: c/c-parser.cc:8893 ++#: c/c-parser.cc:8890 + #, gcc-internal-format + msgid "storage class specifier in %" + msgstr "" + +-#: c/c-parser.cc:8896 ++#: c/c-parser.cc:8893 + #, gcc-internal-format + msgid "alignment specified for type name in %" + msgstr "" + +-#: c/c-parser.cc:8912 ++#: c/c-parser.cc:8909 + #, gcc-internal-format + msgid "% applied to a bit-field" + msgstr "" + +-#: c/c-parser.cc:8985 ++#: c/c-parser.cc:8982 + #, gcc-internal-format + msgid "storage class specifier in %qE" + msgstr "" + +-#: c/c-parser.cc:8988 ++#: c/c-parser.cc:8985 + #, gcc-internal-format + msgid "alignment specified for type name in %qE" + msgstr "" + +-#: c/c-parser.cc:9012 ++#: c/c-parser.cc:9009 + #, gcc-internal-format + msgid "ISO C does not allow %<%E (expression)%>" + msgstr "" + +-#: c/c-parser.cc:9165 ++#: c/c-parser.cc:9162 + #, gcc-internal-format + msgid "cannot take address of %qs" + msgstr "" + +-#: c/c-parser.cc:9248 ++#: c/c-parser.cc:9245 + #, gcc-internal-format + msgid "ISO C99 does not support %<_Generic%>" + msgstr "" + +-#: c/c-parser.cc:9251 ++#: c/c-parser.cc:9248 + #, gcc-internal-format + msgid "ISO C90 does not support %<_Generic%>" + msgstr "" + +-#: c/c-parser.cc:9320 ++#: c/c-parser.cc:9317 + #, gcc-internal-format + msgid "%<_Generic%> association has function type" + msgstr "" + +-#: c/c-parser.cc:9323 ++#: c/c-parser.cc:9320 + #, gcc-internal-format + msgid "%<_Generic%> association has incomplete type" + msgstr "" + +-#: c/c-parser.cc:9327 ++#: c/c-parser.cc:9324 + #, gcc-internal-format + msgid "%<_Generic%> association has variable length type" + msgstr "" + +-#: c/c-parser.cc:9351 ++#: c/c-parser.cc:9348 + #, gcc-internal-format + msgid "duplicate % case in %<_Generic%>" + msgstr "" + +-#: c/c-parser.cc:9352 ++#: c/c-parser.cc:9349 + #, gcc-internal-format + msgid "original % is here" + msgstr "" + +-#: c/c-parser.cc:9360 ++#: c/c-parser.cc:9357 + #, gcc-internal-format + msgid "%<_Generic%> specifies two compatible types" + msgstr "" + +-#: c/c-parser.cc:9361 ++#: c/c-parser.cc:9358 + #, gcc-internal-format + msgid "compatible type is here" + msgstr "" + +-#: c/c-parser.cc:9384 ++#: c/c-parser.cc:9381 + #, gcc-internal-format + msgid "%<_Generic%> selector matches multiple associations" + msgstr "" + +-#: c/c-parser.cc:9386 ++#: c/c-parser.cc:9383 + #, gcc-internal-format + msgid "other match is here" + msgstr "" + +-#: c/c-parser.cc:9411 ++#: c/c-parser.cc:9408 + #, gcc-internal-format + msgid "" + "%<_Generic%> selector of type %qT is not compatible with any association" + msgstr "" + +-#: c/c-parser.cc:9432 ++#: c/c-parser.cc:9429 + #, gcc-internal-format + msgid "argument %u of %<__builtin_tgmath%> is not a function pointer" + msgstr "" + +-#: c/c-parser.cc:9440 ++#: c/c-parser.cc:9437 + #, gcc-internal-format + msgid "argument %u of %<__builtin_tgmath%> is unprototyped" + msgstr "" + +-#: c/c-parser.cc:9446 ++#: c/c-parser.cc:9443 + #, gcc-internal-format + msgid "argument %u of %<__builtin_tgmath%> has variable arguments" + msgstr "" + +-#: c/c-parser.cc:9462 ++#: c/c-parser.cc:9459 + #, gcc-internal-format + msgid "argument %u of %<__builtin_tgmath%> has no arguments" + msgstr "" + +-#: c/c-parser.cc:9485 c/c-parser.cc:9489 ++#: c/c-parser.cc:9482 c/c-parser.cc:9486 + #, gcc-internal-format + msgid "ISO C does not support %qs predefined identifier" + msgstr "" + +-#: c/c-parser.cc:9493 ++#: c/c-parser.cc:9490 + #, gcc-internal-format + msgid "ISO C90 does not support %<__func__%> predefined identifier" + msgstr "" + +-#: c/c-parser.cc:9671 c/c-parser.cc:10821 c/c-parser.cc:10843 +-#: c/c-parser.cc:19322 c/gimple-parser.cc:1722 c/gimple-parser.cc:2361 +-#: cp/parser.cc:42016 ++#: c/c-parser.cc:9668 c/c-parser.cc:10818 c/c-parser.cc:10840 ++#: c/c-parser.cc:19319 c/gimple-parser.cc:1722 c/gimple-parser.cc:2361 ++#: cp/parser.cc:42017 + #, gcc-internal-format + msgid "expected expression" + msgstr "" + +-#: c/c-parser.cc:9692 ++#: c/c-parser.cc:9689 + #, gcc-internal-format + msgid "braced-group within expression allowed only inside a function" + msgstr "" + +-#: c/c-parser.cc:9706 ++#: c/c-parser.cc:9703 + #, gcc-internal-format + msgid "ISO C forbids braced-groups within expressions" + msgstr "" + +-#: c/c-parser.cc:9899 ++#: c/c-parser.cc:9896 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_choose_expr%>" + msgstr "" + +-#: c/c-parser.cc:9915 ++#: c/c-parser.cc:9912 + #, gcc-internal-format + msgid "first argument to %<__builtin_choose_expr%> not a constant" + msgstr "" + +-#: c/c-parser.cc:9985 c/c-parser.cc:10002 c/c-parser.cc:10009 ++#: c/c-parser.cc:9982 c/c-parser.cc:9999 c/c-parser.cc:10006 + #, gcc-internal-format + msgid "too few arguments to %<__builtin_tgmath%>" + msgstr "" + +-#: c/c-parser.cc:10030 ++#: c/c-parser.cc:10027 + #, gcc-internal-format + msgid "argument %u of %<__builtin_tgmath%> has wrong number of arguments" + msgstr "" + +-#: c/c-parser.cc:10074 c/c-parser.cc:10084 ++#: c/c-parser.cc:10071 c/c-parser.cc:10081 + #, gcc-internal-format + msgid "" + "invalid type-generic return type for argument %u of %<__builtin_tgmath%>" + msgstr "" + +-#: c/c-parser.cc:10106 c/c-parser.cc:10116 ++#: c/c-parser.cc:10103 c/c-parser.cc:10113 + #, gcc-internal-format + msgid "" + "invalid type-generic type for argument %u of argument %u of " + "%<__builtin_tgmath%>" + msgstr "" + +-#: c/c-parser.cc:10149 ++#: c/c-parser.cc:10146 + #, gcc-internal-format + msgid "function arguments of %<__builtin_tgmath%> all have the same type" + msgstr "" + +-#: c/c-parser.cc:10168 ++#: c/c-parser.cc:10165 + #, gcc-internal-format + msgid "function arguments of %<__builtin_tgmath%> lack type-generic parameter" + msgstr "" + +-#: c/c-parser.cc:10216 ++#: c/c-parser.cc:10213 + #, gcc-internal-format + msgid "" + "duplicate type-generic parameter type for function argument %u of " + "%<__builtin_tgmath%>" + msgstr "" + +-#: c/c-parser.cc:10239 ++#: c/c-parser.cc:10236 + #, gcc-internal-format + msgid "bad return type for function argument %u of %<__builtin_tgmath%>" + msgstr "" + +-#: c/c-parser.cc:10256 ++#: c/c-parser.cc:10253 + #, gcc-internal-format + msgid "" + "bad type for argument %u of function argument %u of %<__builtin_tgmath%>" + msgstr "" + +-#: c/c-parser.cc:10295 ++#: c/c-parser.cc:10292 + #, gcc-internal-format, gfc-internal-format + msgid "invalid type of argument %u of type-generic function" + msgstr "" + +-#: c/c-parser.cc:10306 ++#: c/c-parser.cc:10303 + #, gcc-internal-format, gfc-internal-format + msgid "" + "decimal floating-point argument %u to complex-only type-generic function" + msgstr "" + +-#: c/c-parser.cc:10314 ++#: c/c-parser.cc:10311 + #, gcc-internal-format, gfc-internal-format + msgid "decimal floating-point argument %u to binary-only type-generic function" + msgstr "" + +-#: c/c-parser.cc:10322 c/c-parser.cc:10352 ++#: c/c-parser.cc:10319 c/c-parser.cc:10349 + #, gcc-internal-format + msgid "" + "both complex and decimal floating-point arguments to type-generic function" + msgstr "" + +-#: c/c-parser.cc:10330 c/c-parser.cc:10372 ++#: c/c-parser.cc:10327 c/c-parser.cc:10369 + #, gcc-internal-format + msgid "" + "both binary and decimal floating-point arguments to type-generic function" + msgstr "" + +-#: c/c-parser.cc:10344 ++#: c/c-parser.cc:10341 + #, gcc-internal-format, gfc-internal-format + msgid "complex argument %u to decimal-only type-generic function" + msgstr "" + +-#: c/c-parser.cc:10364 ++#: c/c-parser.cc:10361 + #, gcc-internal-format, gfc-internal-format + msgid "binary argument %u to decimal-only type-generic function" + msgstr "" + +-#: c/c-parser.cc:10467 ++#: c/c-parser.cc:10464 + #, gcc-internal-format + msgid "no matching function for type-generic call" + msgstr "" + +-#: c/c-parser.cc:10508 ++#: c/c-parser.cc:10505 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_call_with_static_chain%>" + msgstr "" + +-#: c/c-parser.cc:10521 ++#: c/c-parser.cc:10518 + #, gcc-internal-format + msgid "" + "first argument to %<__builtin_call_with_static_chain%> must be a call " + "expression" + msgstr "" + +-#: c/c-parser.cc:10525 ++#: c/c-parser.cc:10522 + #, gcc-internal-format + msgid "" + "second argument to %<__builtin_call_with_static_chain%> must be a pointer " + "type" + msgstr "" + +-#: c/c-parser.cc:10551 ++#: c/c-parser.cc:10548 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_complex%>" + msgstr "" + +-#: c/c-parser.cc:10573 ++#: c/c-parser.cc:10570 + #, gcc-internal-format + msgid "%<__builtin_complex%> operand not of real binary floating-point type" + msgstr "" + +-#: c/c-parser.cc:10582 ++#: c/c-parser.cc:10579 + #, gcc-internal-format + msgid "%<__builtin_complex%> operands of different types" + msgstr "" + +-#: c/c-parser.cc:10627 c/c-parser.cc:10656 cp/parser.cc:7603 ++#: c/c-parser.cc:10624 c/c-parser.cc:10653 cp/parser.cc:7603 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_shuffle%>" + msgstr "" + +-#: c/c-parser.cc:10798 cp/parser.cc:5983 ++#: c/c-parser.cc:10795 cp/parser.cc:5983 + #, gcc-internal-format + msgid "% may only be used in OpenMP % clause" + msgstr "" + +-#: c/c-parser.cc:10808 ++#: c/c-parser.cc:10805 + #, gcc-internal-format + msgid "ISO C does not support %qs before C2X" + msgstr "" + +-#: c/c-parser.cc:10896 ++#: c/c-parser.cc:10893 + #, gcc-internal-format + msgid "%qT declared in % compound literal" + msgstr "" + +-#: c/c-parser.cc:10901 ++#: c/c-parser.cc:10898 + #, gcc-internal-format + msgid "%qT defined in % compound literal" + msgstr "" + +-#: c/c-parser.cc:10916 ++#: c/c-parser.cc:10913 + #, gcc-internal-format + msgid "compound literal has variable size" + msgstr "" + +-#: c/c-parser.cc:10921 ++#: c/c-parser.cc:10918 + #, gcc-internal-format + msgid "compound literal has function type" + msgstr "" + +-#: c/c-parser.cc:10952 ++#: c/c-parser.cc:10949 + #, gcc-internal-format + msgid "compound literal qualified by address-space qualifier" + msgstr "" + +-#: c/c-parser.cc:10957 ++#: c/c-parser.cc:10954 + #, gcc-internal-format + msgid "ISO C90 forbids compound literals" + msgstr "" + +-#: c/c-parser.cc:10959 ++#: c/c-parser.cc:10956 + #, gcc-internal-format + msgid "ISO C forbids storage class specifiers in compound literals before C2X" + msgstr "" + +-#: c/c-parser.cc:10973 ++#: c/c-parser.cc:10970 + #, gcc-internal-format + msgid "%<_Alignas%> specifiers cannot reduce alignment of compound literal" + msgstr "" + +-#: c/c-parser.cc:11048 ++#: c/c-parser.cc:11045 + #, gcc-internal-format + msgid "" + "using integer absolute value function %qD when argument is of floating-point " + "type %qT" + msgstr "" + +-#: c/c-parser.cc:11053 ++#: c/c-parser.cc:11050 + #, gcc-internal-format + msgid "" + "using integer absolute value function %qD when argument is of complex type " + "%qT" + msgstr "" + +-#: c/c-parser.cc:11061 ++#: c/c-parser.cc:11058 + #, gcc-internal-format + msgid "taking the absolute value of unsigned type %qT has no effect" + msgstr "" + +-#: c/c-parser.cc:11072 ++#: c/c-parser.cc:11069 + #, gcc-internal-format + msgid "" + "using floating-point absolute value function %qD when argument is of integer " + "type %qT" + msgstr "" + +-#: c/c-parser.cc:11076 ++#: c/c-parser.cc:11073 + #, gcc-internal-format + msgid "" + "using floating-point absolute value function %qD when argument is of decimal " + "floating-point type %qT" + msgstr "" + +-#: c/c-parser.cc:11081 ++#: c/c-parser.cc:11078 + #, gcc-internal-format + msgid "" + "using floating-point absolute value function %qD when argument is of complex " + "type %qT" + msgstr "" + +-#: c/c-parser.cc:11094 ++#: c/c-parser.cc:11091 + #, gcc-internal-format + msgid "" + "using complex absolute value function %qD when argument is of integer type " + "%qT" + msgstr "" + +-#: c/c-parser.cc:11098 ++#: c/c-parser.cc:11095 + #, gcc-internal-format + msgid "" + "using complex absolute value function %qD when argument is of floating-point " + "type %qT" + msgstr "" + +-#: c/c-parser.cc:11115 ++#: c/c-parser.cc:11112 + #, gcc-internal-format + msgid "" + "using decimal floating-point absolute value function %qD when argument is of " + "integer type %qT" + msgstr "" + +-#: c/c-parser.cc:11120 ++#: c/c-parser.cc:11117 + #, gcc-internal-format + msgid "" + "using decimal floating-point absolute value function %qD when argument is of " + "floating-point type %qT" + msgstr "" + +-#: c/c-parser.cc:11125 ++#: c/c-parser.cc:11122 + #, gcc-internal-format + msgid "" + "using decimal floating-point absolute value function %qD when argument is of " + "complex type %qT" + msgstr "" + +-#: c/c-parser.cc:11151 ++#: c/c-parser.cc:11148 + #, gcc-internal-format + msgid "" + "absolute value function %qD given an argument of type %qT but has parameter " + "of type %qT which may cause truncation of value" + msgstr "" + +-#: c/c-parser.cc:11597 ++#: c/c-parser.cc:11594 + #, gcc-internal-format + msgid "expected identifier or %<)%>" + msgstr "" + +-#: c/c-parser.cc:11693 ++#: c/c-parser.cc:11690 + #, gcc-internal-format + msgid "extra semicolon" + msgstr "" + +-#: c/c-parser.cc:11941 ++#: c/c-parser.cc:11938 + #, gcc-internal-format + msgid "extra semicolon in method definition specified" + msgstr "" + +-#: c/c-parser.cc:12073 ++#: c/c-parser.cc:12070 + #, gcc-internal-format + msgid "method attributes must be specified at the end only" + msgstr "" + +-#: c/c-parser.cc:12093 ++#: c/c-parser.cc:12090 + #, gcc-internal-format + msgid "expected %<;%> or %<{%> after method attribute definition" + msgstr "" + +-#: c/c-parser.cc:12215 ++#: c/c-parser.cc:12212 + #, gcc-internal-format + msgid "objective-c method declaration is expected" + msgstr "" + +-#: c/c-parser.cc:12667 ++#: c/c-parser.cc:12664 + #, gcc-internal-format + msgid "no type or storage class may be specified here," + msgstr "" + +-#: c/c-parser.cc:12735 cp/parser.cc:36861 ++#: c/c-parser.cc:12732 cp/parser.cc:36862 + #, gcc-internal-format + msgid "empty property attribute list" + msgstr "" + +-#: c/c-parser.cc:12749 cp/parser.cc:36874 ++#: c/c-parser.cc:12746 cp/parser.cc:36875 + #, gcc-internal-format + msgid "missing property attribute" + msgstr "" + +-#: c/c-parser.cc:12788 ++#: c/c-parser.cc:12785 + #, gcc-internal-format + msgid "unknown property attribute %<%s%s%>" + msgstr "" + +-#: c/c-parser.cc:12791 cp/parser.cc:36911 ++#: c/c-parser.cc:12788 cp/parser.cc:36912 + #, gcc-internal-format + msgid "unknown property attribute" + msgstr "" + +-#: c/c-parser.cc:12800 cp/parser.cc:36920 ++#: c/c-parser.cc:12797 cp/parser.cc:36921 + #, gcc-internal-format + msgid "expected %<=%> after Objective-C %qE" + msgstr "" + +-#: c/c-parser.cc:12811 cp/parser.cc:36934 ++#: c/c-parser.cc:12808 cp/parser.cc:36935 + #, gcc-internal-format + msgid "expected %qE selector name" + msgstr "" + +-#: c/c-parser.cc:12827 cp/parser.cc:36953 ++#: c/c-parser.cc:12824 cp/parser.cc:36954 + #, gcc-internal-format + msgid "setter method names must terminate with %<:%>" + msgstr "" + +-#: c/c-parser.cc:13041 cp/parser.cc:49132 ++#: c/c-parser.cc:13038 cp/parser.cc:49133 + #, gcc-internal-format + msgid "" + "%<#pragma GCC unroll%> requires an assignment-expression that evaluates to a " + "non-negative integral constant less than %u" + msgstr "" + +-#: c/c-parser.cc:13086 c/c-parser.cc:21513 c/c-parser.cc:21814 +-#: c/c-parser.cc:21877 c/c-parser.cc:21975 cp/parser.cc:44920 +-#: cp/parser.cc:45260 cp/parser.cc:45363 cp/parser.cc:45449 cp/parser.cc:49179 +-#: cp/parser.cc:49195 cp/parser.cc:49211 cp/parser.cc:49228 cp/parser.cc:49245 +-#: cp/parser.cc:49262 cp/parser.cc:49289 cp/parser.cc:49303 cp/parser.cc:49328 +-#: cp/parser.cc:49342 ++#: c/c-parser.cc:13083 c/c-parser.cc:21510 c/c-parser.cc:21811 ++#: c/c-parser.cc:21874 c/c-parser.cc:21972 cp/parser.cc:44921 ++#: cp/parser.cc:45261 cp/parser.cc:45364 cp/parser.cc:45450 cp/parser.cc:49180 ++#: cp/parser.cc:49196 cp/parser.cc:49212 cp/parser.cc:49229 cp/parser.cc:49246 ++#: cp/parser.cc:49263 cp/parser.cc:49290 cp/parser.cc:49304 cp/parser.cc:49329 ++#: cp/parser.cc:49343 + #, gcc-internal-format + msgid "%<#pragma %s%> may only be used in compound statements" + msgstr "" + +-#: c/c-parser.cc:13109 cp/parser.cc:49317 ++#: c/c-parser.cc:13106 cp/parser.cc:49318 + #, gcc-internal-format + msgid "%<#pragma acc routine%> must be at file scope" + msgstr "" + +-#: c/c-parser.cc:13199 cp/parser.cc:49441 ++#: c/c-parser.cc:13196 cp/parser.cc:49442 + #, gcc-internal-format + msgid "" + "%<#pragma omp scan%> may only be used in a loop construct with % " + "% clause" + msgstr "" + +-#: c/c-parser.cc:13206 cp/parser.cc:49447 ++#: c/c-parser.cc:13203 cp/parser.cc:49448 + #, gcc-internal-format + msgid "" + "%<#pragma omp section%> may only be used in %<#pragma omp sections%> " + "construct" + msgstr "" + +-#: c/c-parser.cc:13218 c/c-parser.cc:13230 ++#: c/c-parser.cc:13215 c/c-parser.cc:13227 + #, gcc-internal-format + msgid "%<#pragma %s%> may only be used at file scope" + msgstr "" + +-#: c/c-parser.cc:13260 c/c-parser.cc:13284 cp/parser.cc:49476 +-#: cp/parser.cc:49509 ++#: c/c-parser.cc:13257 c/c-parser.cc:13281 cp/parser.cc:49477 ++#: cp/parser.cc:49510 + #, gcc-internal-format + msgid "for, while or do statement expected" + msgstr "" + +-#: c/c-parser.cc:13297 cp/parser.cc:49169 ++#: c/c-parser.cc:13294 cp/parser.cc:49170 + #, gcc-internal-format + msgid "%<#pragma GCC pch_preprocess%> must be first" + msgstr "" + +-#: c/c-parser.cc:13650 c/c-parser.cc:17314 c/c-parser.cc:18859 +-#: c/c-parser.cc:18878 c/c-parser.cc:19082 c/c-parser.cc:19140 +-#: c/c-parser.cc:19147 c/c-parser.cc:19154 c/c-parser.cc:23697 +-#: c/c-parser.cc:23705 c/c-parser.cc:23975 c/c-parser.cc:23985 +-#: c/c-parser.cc:24079 c/c-parser.cc:24086 c/c-parser.cc:24093 +-#: cp/parser.cc:37382 cp/parser.cc:40699 cp/parser.cc:41564 cp/parser.cc:41601 +-#: cp/parser.cc:41790 cp/parser.cc:41853 cp/parser.cc:41860 cp/parser.cc:41867 +-#: cp/parser.cc:46727 cp/parser.cc:46734 cp/parser.cc:46741 cp/parser.cc:48066 +-#: cp/parser.cc:48074 cp/parser.cc:48226 cp/parser.cc:48236 ++#: c/c-parser.cc:13647 c/c-parser.cc:17311 c/c-parser.cc:18856 ++#: c/c-parser.cc:18875 c/c-parser.cc:19079 c/c-parser.cc:19137 ++#: c/c-parser.cc:19144 c/c-parser.cc:19151 c/c-parser.cc:23694 ++#: c/c-parser.cc:23702 c/c-parser.cc:23972 c/c-parser.cc:23982 ++#: c/c-parser.cc:24076 c/c-parser.cc:24083 c/c-parser.cc:24090 ++#: cp/parser.cc:37383 cp/parser.cc:40700 cp/parser.cc:41565 cp/parser.cc:41602 ++#: cp/parser.cc:41791 cp/parser.cc:41854 cp/parser.cc:41861 cp/parser.cc:41868 ++#: cp/parser.cc:46728 cp/parser.cc:46735 cp/parser.cc:46742 cp/parser.cc:48067 ++#: cp/parser.cc:48075 cp/parser.cc:48227 cp/parser.cc:48237 + #, gcc-internal-format + msgid "too many %qs clauses" + msgstr "" + +-#: c/c-parser.cc:13677 ++#: c/c-parser.cc:13674 + #, gcc-internal-format + msgid "expression must be integral" + msgstr "" + +-#: c/c-parser.cc:13992 c/c-parser.cc:14004 ++#: c/c-parser.cc:13989 c/c-parser.cc:14001 + #, gcc-internal-format + msgid "expected %<)%> or %<,%>" + msgstr "" + +-#: c/c-parser.cc:14155 c/c-parser.cc:24384 ++#: c/c-parser.cc:14152 c/c-parser.cc:24381 + #, gcc-internal-format + msgid "%qD is not a variable" + msgstr "" + +-#: c/c-parser.cc:14159 cp/semantics.cc:8315 ++#: c/c-parser.cc:14156 cp/semantics.cc:8315 + #, gcc-internal-format + msgid "%qD is not a pointer variable" + msgstr "" + +-#: c/c-parser.cc:14201 cp/parser.cc:38122 ++#: c/c-parser.cc:14198 cp/parser.cc:38123 + #, gcc-internal-format + msgid "collapse argument needs positive constant integer expression" + msgstr "" + +-#: c/c-parser.cc:14296 cp/parser.cc:38200 ++#: c/c-parser.cc:14293 cp/parser.cc:38201 + #, gcc-internal-format + msgid "expected % or %" + msgstr "" + +-#: c/c-parser.cc:14298 cp/parser.cc:38202 ++#: c/c-parser.cc:14295 cp/parser.cc:38203 + #, gcc-internal-format + msgid "expected %, %, % or %" + msgstr "" + +-#: c/c-parser.cc:14419 cp/parser.cc:38314 ++#: c/c-parser.cc:14416 cp/parser.cc:38315 + #, gcc-internal-format + msgid "expected %, %, % or %" + msgstr "" + +-#: c/c-parser.cc:14439 c/c-parser.cc:21870 c/c-parser.cc:21968 +-#: cp/parser.cc:38332 cp/parser.cc:45252 cp/parser.cc:45355 ++#: c/c-parser.cc:14436 c/c-parser.cc:21867 c/c-parser.cc:21965 ++#: cp/parser.cc:38333 cp/parser.cc:45253 cp/parser.cc:45356 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: c/c-parser.cc:14492 cp/parser.cc:38387 ++#: c/c-parser.cc:14489 cp/parser.cc:38388 + #, gcc-internal-format + msgid "too many % clauses with %qs modifier" + msgstr "" + +-#: c/c-parser.cc:14499 cp/parser.cc:38394 ++#: c/c-parser.cc:14496 cp/parser.cc:38395 + #, gcc-internal-format + msgid "too many % clauses" + msgstr "" + +-#: c/c-parser.cc:14501 cp/parser.cc:38396 ++#: c/c-parser.cc:14498 cp/parser.cc:38397 + #, gcc-internal-format + msgid "too many % clauses without modifier" + msgstr "" + +-#: c/c-parser.cc:14507 cp/parser.cc:38402 ++#: c/c-parser.cc:14504 cp/parser.cc:38403 + #, gcc-internal-format + msgid "" + "if any % clause has modifier, then all % clauses have to use " + "modifier" + msgstr "" + +-#: c/c-parser.cc:14612 c/c-parser.cc:14672 c/c-parser.cc:14733 +-#: c/c-parser.cc:14780 c/c-parser.cc:14859 c/c-parser.cc:15238 +-#: c/c-parser.cc:15320 c/c-parser.cc:15887 c/c-parser.cc:16032 +-#: c/c-parser.cc:16097 c/c-parser.cc:17251 ++#: c/c-parser.cc:14609 c/c-parser.cc:14669 c/c-parser.cc:14730 ++#: c/c-parser.cc:14777 c/c-parser.cc:14856 c/c-parser.cc:15235 ++#: c/c-parser.cc:15317 c/c-parser.cc:15884 c/c-parser.cc:16029 ++#: c/c-parser.cc:16094 c/c-parser.cc:17248 + #, gcc-internal-format + msgid "expected integer expression" + msgstr "" + +-#: c/c-parser.cc:14623 ++#: c/c-parser.cc:14620 + #, gcc-internal-format + msgid "% value must be positive" + msgstr "" + +-#: c/c-parser.cc:14683 ++#: c/c-parser.cc:14680 + #, gcc-internal-format + msgid "% value must be positive" + msgstr "" + +-#: c/c-parser.cc:14744 cp/semantics.cc:8542 ++#: c/c-parser.cc:14741 cp/semantics.cc:8542 + #, gcc-internal-format + msgid "% value must be positive" + msgstr "" + +-#: c/c-parser.cc:14792 cp/semantics.cc:8572 ++#: c/c-parser.cc:14789 cp/semantics.cc:8572 + #, gcc-internal-format + msgid "% value must be non-negative" + msgstr "" + +-#: c/c-parser.cc:14826 cp/parser.cc:38628 ++#: c/c-parser.cc:14823 cp/parser.cc:38629 + #, gcc-internal-format + msgid "expected constant integer expression with valid sync-hint value" + msgstr "" + +-#: c/c-parser.cc:14898 cp/parser.cc:38698 ++#: c/c-parser.cc:14895 cp/parser.cc:38699 + #, gcc-internal-format + msgid "" + "expected %, %, %, %, %, % " + "or %" + msgstr "" + +-#: c/c-parser.cc:14959 cp/parser.cc:38763 ++#: c/c-parser.cc:14956 cp/parser.cc:38764 + #, gcc-internal-format + msgid "expected %, % or %" + msgstr "" + +-#: c/c-parser.cc:15025 cp/parser.cc:38832 ++#: c/c-parser.cc:15022 cp/parser.cc:38833 + #, gcc-internal-format + msgid "too many % clauses with %qs category" + msgstr "" + +-#: c/c-parser.cc:15028 cp/parser.cc:38835 ++#: c/c-parser.cc:15025 cp/parser.cc:38836 + #, gcc-internal-format + msgid "too many % clauses with unspecified category" + msgstr "" + +-#: c/c-parser.cc:15112 cp/semantics.cc:7364 cp/semantics.cc:7417 ++#: c/c-parser.cc:15109 cp/semantics.cc:7364 cp/semantics.cc:7417 + #, gcc-internal-format + msgid "%qs expression must be integral" + msgstr "" + +-#: c/c-parser.cc:15124 c/c-parser.cc:15247 cp/semantics.cc:7396 ++#: c/c-parser.cc:15121 c/c-parser.cc:15244 cp/semantics.cc:7396 + #: cp/semantics.cc:7431 + #, gcc-internal-format + msgid "%qs value must be positive" + msgstr "" + +-#: c/c-parser.cc:15186 cp/parser.cc:37894 ++#: c/c-parser.cc:15183 cp/parser.cc:37895 + #, gcc-internal-format + msgid "too many % arguments" + msgstr "" + +-#: c/c-parser.cc:15220 cp/parser.cc:37927 ++#: c/c-parser.cc:15217 cp/parser.cc:37928 + #, gcc-internal-format + msgid "unexpected argument" + msgstr "" + +-#: c/c-parser.cc:15387 cp/semantics.cc:8758 ++#: c/c-parser.cc:15384 cp/semantics.cc:8758 + #, gcc-internal-format + msgid "% argument needs positive integral constant" + msgstr "" + +-#: c/c-parser.cc:15462 cp/parser.cc:38885 ++#: c/c-parser.cc:15459 cp/parser.cc:38886 + #, gcc-internal-format + msgid "expected % or %" + msgstr "" + +-#: c/c-parser.cc:15471 c/c-parser.cc:15477 cp/parser.cc:38894 +-#: cp/parser.cc:38904 ++#: c/c-parser.cc:15468 c/c-parser.cc:15474 cp/parser.cc:38895 ++#: cp/parser.cc:38905 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: c/c-parser.cc:15513 cp/parser.cc:38944 ++#: c/c-parser.cc:15510 cp/parser.cc:38945 + #, gcc-internal-format + msgid "expected %, % or %" + msgstr "" + +-#: c/c-parser.cc:15566 cp/parser.cc:39012 ++#: c/c-parser.cc:15563 cp/parser.cc:39013 + #, gcc-internal-format + msgid "ordered argument needs positive constant integer expression" + msgstr "" + +-#: c/c-parser.cc:15691 c/c-parser.cc:23254 cp/parser.cc:47713 ++#: c/c-parser.cc:15688 c/c-parser.cc:23251 cp/parser.cc:47714 + #, gcc-internal-format + msgid "" + "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or " + "identifier" + msgstr "" + +-#: c/c-parser.cc:15811 cp/parser.cc:39270 ++#: c/c-parser.cc:15808 cp/parser.cc:39271 + #, gcc-internal-format + msgid "both % and % modifiers specified" + msgstr "" + +-#: c/c-parser.cc:15865 cp/parser.cc:39286 ++#: c/c-parser.cc:15862 cp/parser.cc:39287 + #, gcc-internal-format + msgid "schedule % does not take a % parameter" + msgstr "" + +-#: c/c-parser.cc:15869 cp/parser.cc:39289 ++#: c/c-parser.cc:15866 cp/parser.cc:39290 + #, gcc-internal-format + msgid "schedule % does not take a % parameter" + msgstr "" + +-#: c/c-parser.cc:15881 cp/semantics.cc:7478 ++#: c/c-parser.cc:15878 cp/semantics.cc:7478 + #, gcc-internal-format + msgid "chunk size value must be positive" + msgstr "" + +-#: c/c-parser.cc:15904 cp/parser.cc:39309 ++#: c/c-parser.cc:15901 cp/parser.cc:39310 + #, gcc-internal-format + msgid "invalid schedule kind" + msgstr "" + +-#: c/c-parser.cc:16042 c/c-parser.cc:16052 ++#: c/c-parser.cc:16039 c/c-parser.cc:16049 + #, gcc-internal-format + msgid "% value must be positive" + msgstr "" + +-#: c/c-parser.cc:16059 cp/semantics.cc:7445 ++#: c/c-parser.cc:16056 cp/semantics.cc:7445 + #, gcc-internal-format + msgid "% lower bound %qE bigger than upper bound %qE" + msgstr "" + +-#: c/c-parser.cc:16107 cp/semantics.cc:7574 ++#: c/c-parser.cc:16104 cp/semantics.cc:7574 + #, gcc-internal-format + msgid "% value must be positive" + msgstr "" + +-#: c/c-parser.cc:16152 cp/semantics.cc:7702 ++#: c/c-parser.cc:16149 cp/semantics.cc:7702 + #, gcc-internal-format + msgid "" + "% clause alignment expression must be positive constant integer " + "expression" + msgstr "" + +-#: c/c-parser.cc:16262 c/c-parser.cc:18848 cp/parser.cc:41556 ++#: c/c-parser.cc:16259 c/c-parser.cc:18845 cp/parser.cc:41557 + #, gcc-internal-format + msgid "expected % or %" + msgstr "" + +-#: c/c-parser.cc:16269 ++#: c/c-parser.cc:16266 + #, gcc-internal-format + msgid "duplicate %qs modifier" + msgstr "" + +-#: c/c-parser.cc:16317 cp/semantics.cc:7837 ++#: c/c-parser.cc:16314 cp/semantics.cc:7837 + #, gcc-internal-format + msgid "" + "% clause allocator expression has type %qT rather than " + "%" + msgstr "" + +-#: c/c-parser.cc:16328 cp/semantics.cc:7792 cp/semantics.cc:7808 ++#: c/c-parser.cc:16325 cp/semantics.cc:7792 cp/semantics.cc:7808 + #, gcc-internal-format + msgid "" + "% clause % modifier argument needs to be positive " + "constant power of two integer expression" + msgstr "" + +-#: c/c-parser.cc:16447 cp/parser.cc:39756 ++#: c/c-parser.cc:16444 cp/parser.cc:39757 + #, gcc-internal-format + msgid "multiple linear modifiers" + msgstr "" + +-#: c/c-parser.cc:16459 cp/parser.cc:39769 ++#: c/c-parser.cc:16456 cp/parser.cc:39770 + #, gcc-internal-format + msgid "multiple % modifiers" + msgstr "" + +-#: c/c-parser.cc:16467 c/c-parser.cc:16495 ++#: c/c-parser.cc:16464 c/c-parser.cc:16492 + #, gcc-internal-format + msgid "% clause step expression must be integral" + msgstr "" + +-#: c/c-parser.cc:16547 ++#: c/c-parser.cc:16544 + #, gcc-internal-format + msgid "" + "% clause expression must be positive constant integer expression" + msgstr "" + +-#: c/c-parser.cc:16586 ++#: c/c-parser.cc:16583 + #, gcc-internal-format + msgid "" + "% clause expression must be positive constant integer expression" + msgstr "" + +-#: c/c-parser.cc:16946 cp/parser.cc:40316 ++#: c/c-parser.cc:16943 cp/parser.cc:40317 + #, gcc-internal-format + msgid "% modifier incompatible with %qs" + msgstr "" + +-#: c/c-parser.cc:16994 cp/parser.cc:40371 cp/parser.cc:40760 cp/parser.cc:40810 ++#: c/c-parser.cc:16991 cp/parser.cc:40372 cp/parser.cc:40761 cp/parser.cc:40811 + #, gcc-internal-format + msgid "invalid depend kind" + msgstr "" + +-#: c/c-parser.cc:17055 cp/parser.cc:40401 ++#: c/c-parser.cc:17052 cp/parser.cc:40402 + #, gcc-internal-format + msgid "invalid doacross kind" + msgstr "" + +-#: c/c-parser.cc:17123 cp/parser.cc:40508 ++#: c/c-parser.cc:17120 cp/parser.cc:40509 + #, gcc-internal-format + msgid "too many % modifiers" + msgstr "" + +-#: c/c-parser.cc:17133 cp/parser.cc:40521 ++#: c/c-parser.cc:17130 cp/parser.cc:40522 + #, gcc-internal-format + msgid "too many % modifiers" + msgstr "" + +-#: c/c-parser.cc:17141 cp/parser.cc:40532 ++#: c/c-parser.cc:17138 cp/parser.cc:40533 + #, gcc-internal-format + msgid "" + "%<#pragma omp target%> with modifier other than % or % on " + "% clause" + msgstr "" + +-#: c/c-parser.cc:17169 cp/parser.cc:40563 ++#: c/c-parser.cc:17166 cp/parser.cc:40564 + #, gcc-internal-format + msgid "invalid map kind" + msgstr "" + +-#: c/c-parser.cc:17221 cp/parser.cc:40622 ++#: c/c-parser.cc:17218 cp/parser.cc:40623 + #, gcc-internal-format + msgid "" + "% device modifier not preceded by % directive with " + "% clause" + msgstr "" + +-#: c/c-parser.cc:17233 cp/parser.cc:40633 ++#: c/c-parser.cc:17230 cp/parser.cc:40634 + #, gcc-internal-format + msgid "expected % or %" + msgstr "" + +-#: c/c-parser.cc:17256 cp/semantics.cc:7599 ++#: c/c-parser.cc:17253 cp/semantics.cc:7599 + #, gcc-internal-format + msgid "the % clause expression must evaluate to %<1%>" + msgstr "" + +-#: c/c-parser.cc:17289 cp/parser.cc:40704 ++#: c/c-parser.cc:17286 cp/parser.cc:40705 + #, gcc-internal-format + msgid "invalid dist_schedule kind" + msgstr "" + +-#: c/c-parser.cc:17368 ++#: c/c-parser.cc:17365 + #, gcc-internal-format + msgid "invalid proc_bind kind" + msgstr "" + +-#: c/c-parser.cc:17412 ++#: c/c-parser.cc:17409 + #, gcc-internal-format + msgid "expected %, % or %" + msgstr "" + +-#: c/c-parser.cc:17489 cp/semantics.cc:8018 ++#: c/c-parser.cc:17486 cp/semantics.cc:8018 + #, gcc-internal-format + msgid "" + "% clause event handle has type %qT rather than " + "%" + msgstr "" + +-#: c/c-parser.cc:17691 cp/parser.cc:41049 ++#: c/c-parser.cc:17688 cp/parser.cc:41050 + #, gcc-internal-format + msgid "expected %<#pragma acc%> clause" + msgstr "" + +-#: c/c-parser.cc:17702 c/c-parser.cc:18060 cp/parser.cc:41060 +-#: cp/parser.cc:41462 ++#: c/c-parser.cc:17699 c/c-parser.cc:18057 cp/parser.cc:41061 ++#: cp/parser.cc:41463 + #, gcc-internal-format + msgid "%qs is not valid for %qs" + msgstr "" + +-#: c/c-parser.cc:17746 cp/parser.cc:41107 ++#: c/c-parser.cc:17743 cp/parser.cc:41108 + #, gcc-internal-format + msgid "clauses in % trait should be separated by %<,%>" + msgstr "" + +-#: c/c-parser.cc:17895 cp/parser.cc:41295 ++#: c/c-parser.cc:17892 cp/parser.cc:41296 + #, gcc-internal-format + msgid "%qs must be the first clause of %qs" + msgstr "" + +-#: c/c-parser.cc:18049 cp/parser.cc:41451 ++#: c/c-parser.cc:18046 cp/parser.cc:41452 + #, gcc-internal-format + msgid "expected %<#pragma omp%> clause" + msgstr "" + +-#: c/c-parser.cc:18182 cp/parser.cc:45780 ++#: c/c-parser.cc:18179 cp/parser.cc:45781 + #, gcc-internal-format + msgid "no valid clauses specified in %<#pragma acc declare%>" + msgstr "" + +-#: c/c-parser.cc:18192 cp/parser.cc:45790 ++#: c/c-parser.cc:18189 cp/parser.cc:45791 + #, gcc-internal-format + msgid "array section in %<#pragma acc declare%>" + msgstr "" + +-#: c/c-parser.cc:18212 cp/parser.cc:45810 ++#: c/c-parser.cc:18209 cp/parser.cc:45811 + #, gcc-internal-format + msgid "%qD must be a global variable in %<#pragma acc declare link%>" + msgstr "" + +-#: c/c-parser.cc:18223 cp/parser.cc:45821 ++#: c/c-parser.cc:18220 cp/parser.cc:45822 + #, gcc-internal-format + msgid "invalid OpenACC clause at file scope" + msgstr "" + +-#: c/c-parser.cc:18230 cp/parser.cc:45828 ++#: c/c-parser.cc:18227 cp/parser.cc:45829 + #, gcc-internal-format + msgid "invalid use of % variable %qD in %<#pragma acc declare%>" + msgstr "" + +-#: c/c-parser.cc:18238 cp/parser.cc:45836 ++#: c/c-parser.cc:18235 cp/parser.cc:45837 + #, gcc-internal-format + msgid "invalid use of % variable %qD in %<#pragma acc declare%>" + msgstr "" + +-#: c/c-parser.cc:18249 cp/parser.cc:45858 ++#: c/c-parser.cc:18246 cp/parser.cc:45859 + #, gcc-internal-format + msgid "" + "%qD must be a variable declared in the same scope as %<#pragma acc declare%>" + msgstr "" + +-#: c/c-parser.cc:18259 cp/parser.cc:45868 ++#: c/c-parser.cc:18256 cp/parser.cc:45869 + #, gcc-internal-format + msgid "variable %qD used more than once with %<#pragma acc declare%>" + msgstr "" + +-#: c/c-parser.cc:18352 cp/parser.cc:45966 ++#: c/c-parser.cc:18349 cp/parser.cc:45967 + #, gcc-internal-format + msgid "expected % after %<#pragma acc %s%>" + msgstr "" + +-#: c/c-parser.cc:18368 cp/parser.cc:45983 ++#: c/c-parser.cc:18365 cp/parser.cc:45984 + #, gcc-internal-format + msgid "%<#pragma acc %s data%> has no data movement clause" + msgstr "" + +-#: c/c-parser.cc:18618 cp/parser.cc:3241 ++#: c/c-parser.cc:18615 cp/parser.cc:3241 + #, gcc-internal-format + msgid "%qE has not been declared" + msgstr "" + +-#: c/c-parser.cc:18622 ++#: c/c-parser.cc:18619 + #, gcc-internal-format + msgid "expected function name" + msgstr "" + +-#: c/c-parser.cc:18640 cp/parser.cc:48493 ++#: c/c-parser.cc:18637 cp/parser.cc:48494 + #, gcc-internal-format + msgid "%qD does not refer to a function" + msgstr "" + +-#: c/c-parser.cc:18663 c/c-parser.cc:18711 cp/parser.cc:1586 ++#: c/c-parser.cc:18660 c/c-parser.cc:18708 cp/parser.cc:1586 + #, gcc-internal-format + msgid "" + "%<#pragma acc routine%> not immediately followed by function declaration or " + "definition" + msgstr "" + +-#: c/c-parser.cc:18703 cp/parser.cc:48544 cp/parser.cc:48591 ++#: c/c-parser.cc:18700 cp/parser.cc:48545 cp/parser.cc:48592 + #, gcc-internal-format + msgid "" + "%<#pragma acc routine%> not immediately followed by a single function " + "declaration or definition" + msgstr "" + +-#: c/c-parser.cc:18734 cp/parser.cc:48619 ++#: c/c-parser.cc:18731 cp/parser.cc:48620 + #, gcc-internal-format + msgid "%<#pragma acc routine%> must be applied before use" + msgstr "" + +-#: c/c-parser.cc:18735 cp/parser.cc:48621 ++#: c/c-parser.cc:18732 cp/parser.cc:48622 + #, gcc-internal-format + msgid "%<#pragma acc routine%> must be applied before definition" + msgstr "" + +-#: c/c-parser.cc:18779 cp/parser.cc:46184 ++#: c/c-parser.cc:18776 cp/parser.cc:46185 + #, gcc-internal-format + msgid "" + "%<#pragma acc update%> must contain at least one % or % or " + "% clause" + msgstr "" + +-#: c/c-parser.cc:18870 cp/parser.cc:41576 cp/parser.cc:41591 ++#: c/c-parser.cc:18867 cp/parser.cc:41577 cp/parser.cc:41592 + #, gcc-internal-format + msgid "" + "% clause argument needs to be positive constant power of two integer " + "expression" + msgstr "" + +-#: c/c-parser.cc:18893 ++#: c/c-parser.cc:18890 + #, gcc-internal-format + msgid "" + "% clause allocator expression has type %qT rather than " +@@ -48982,22 +48964,22 @@ msgstr "" + #. check above and add one in semantics.cc (to properly handle templates). + #. Base this on the allocator/align modifiers check for the 'allocate' clause + #. in semantics.cc's finish_omp_clauses. +-#: c/c-parser.cc:18910 cp/parser.cc:41624 ++#: c/c-parser.cc:18907 cp/parser.cc:41625 + #, gcc-internal-format + msgid "%<#pragma omp allocate%> not yet supported" + msgstr "" + +-#: c/c-parser.cc:19048 cp/parser.cc:41756 ++#: c/c-parser.cc:19045 cp/parser.cc:41757 + #, gcc-internal-format + msgid "expected %, %, %, or % clause" + msgstr "" + +-#: c/c-parser.cc:19087 cp/parser.cc:41795 ++#: c/c-parser.cc:19084 cp/parser.cc:41796 + #, gcc-internal-format + msgid "expected %, % or %" + msgstr "" + +-#: c/c-parser.cc:19111 cp/parser.cc:41824 ++#: c/c-parser.cc:19108 cp/parser.cc:41825 + #, gcc-internal-format + msgid "" + "expected %, %, %, %, %, " +@@ -49005,427 +48987,427 @@ msgid "" + "% clause" + msgstr "" + +-#: c/c-parser.cc:19126 cp/parser.cc:41839 ++#: c/c-parser.cc:19123 cp/parser.cc:41840 + #, gcc-internal-format + msgid "too many atomic clauses" + msgstr "" + +-#: c/c-parser.cc:19133 cp/parser.cc:41846 ++#: c/c-parser.cc:19130 cp/parser.cc:41847 + #, gcc-internal-format + msgid "too many memory order clauses" + msgstr "" + +-#: c/c-parser.cc:19171 c/c-parser.cc:19178 cp/parser.cc:41884 +-#: cp/parser.cc:41891 ++#: c/c-parser.cc:19168 c/c-parser.cc:19175 cp/parser.cc:41885 ++#: cp/parser.cc:41892 + #, gcc-internal-format + msgid "%qs clause is incompatible with % or % clauses" + msgstr "" + +-#: c/c-parser.cc:19184 c/c-parser.cc:19189 cp/parser.cc:41897 +-#: cp/parser.cc:41902 ++#: c/c-parser.cc:19181 c/c-parser.cc:19186 cp/parser.cc:41898 ++#: cp/parser.cc:41903 + #, gcc-internal-format + msgid "%qs clause requires %qs clause" + msgstr "" + +-#: c/c-parser.cc:19233 cp/parser.cc:41946 ++#: c/c-parser.cc:19230 cp/parser.cc:41947 + #, gcc-internal-format + msgid "%<#pragma omp atomic read%> incompatible with % clause" + msgstr "" + +-#: c/c-parser.cc:19243 cp/parser.cc:41956 ++#: c/c-parser.cc:19240 cp/parser.cc:41957 + #, gcc-internal-format + msgid "%<#pragma omp atomic write%> incompatible with % clause" + msgstr "" + +-#: c/c-parser.cc:19366 cp/parser.cc:42056 ++#: c/c-parser.cc:19363 cp/parser.cc:42057 + #, gcc-internal-format + msgid "expected %<==%> comparison in % condition" + msgstr "" + +-#: c/c-parser.cc:19373 cp/parser.cc:42063 ++#: c/c-parser.cc:19370 cp/parser.cc:42064 + #, gcc-internal-format + msgid "expected %<==%>, %<<%> or %<>%> comparison in % condition" + msgstr "" + +-#: c/c-parser.cc:19446 cp/parser.cc:42128 cp/parser.cc:42411 cp/parser.cc:42505 +-#: cp/parser.cc:42523 ++#: c/c-parser.cc:19443 cp/parser.cc:42129 cp/parser.cc:42412 cp/parser.cc:42506 ++#: cp/parser.cc:42524 + #, gcc-internal-format + msgid "invalid form of %<#pragma omp atomic compare%>" + msgstr "" + +-#: c/c-parser.cc:19457 cp/parser.cc:42139 ++#: c/c-parser.cc:19454 cp/parser.cc:42140 + #, gcc-internal-format + msgid "unexpected %" + msgstr "" + +-#: c/c-parser.cc:19517 cp/parser.cc:42578 ++#: c/c-parser.cc:19514 cp/parser.cc:42579 + #, gcc-internal-format + msgid "invalid form of %" + msgstr "" + +-#: c/c-parser.cc:19788 cp/parser.cc:42432 cp/parser.cc:42458 ++#: c/c-parser.cc:19785 cp/parser.cc:42433 cp/parser.cc:42459 + #, gcc-internal-format + msgid "invalid form of %<#pragma omp atomic%>" + msgstr "" + +-#: c/c-parser.cc:19792 cp/parser.cc:42498 cp/parser.cc:42532 ++#: c/c-parser.cc:19789 cp/parser.cc:42499 cp/parser.cc:42533 + #, gcc-internal-format + msgid "invalid operator for %<#pragma omp atomic%>" + msgstr "" + +-#: c/c-parser.cc:19843 cp/parser.cc:42567 ++#: c/c-parser.cc:19840 cp/parser.cc:42568 + #, gcc-internal-format + msgid "% clause requires atomic equality comparison" + msgstr "" + +-#: c/c-parser.cc:19849 cp/semantics.cc:10910 cp/semantics.cc:10920 ++#: c/c-parser.cc:19846 cp/semantics.cc:10910 cp/semantics.cc:10920 + #, gcc-internal-format + msgid "" + "%<#pragma omp atomic capture%> uses two different expressions for memory" + msgstr "" + +-#: c/c-parser.cc:19949 cp/semantics.cc:10997 ++#: c/c-parser.cc:19946 cp/semantics.cc:10997 + #, gcc-internal-format + msgid "% expression is not lvalue expression" + msgstr "" + +-#: c/c-parser.cc:20010 cp/parser.cc:42733 ++#: c/c-parser.cc:20007 cp/parser.cc:42734 + #, gcc-internal-format + msgid "expected %, %, %, % or %" + msgstr "" + +-#: c/c-parser.cc:20022 cp/parser.cc:42749 ++#: c/c-parser.cc:20019 cp/parser.cc:42750 + #, gcc-internal-format + msgid "expected %, % or % clause" + msgstr "" + +-#: c/c-parser.cc:20063 cp/parser.cc:42787 ++#: c/c-parser.cc:20060 cp/parser.cc:42788 + #, gcc-internal-format + msgid "expected %, %, % or %" + msgstr "" + +-#: c/c-parser.cc:20071 cp/parser.cc:42795 ++#: c/c-parser.cc:20068 cp/parser.cc:42796 + #, gcc-internal-format + msgid "% list specified together with memory order clause" + msgstr "" + +-#: c/c-parser.cc:20076 ++#: c/c-parser.cc:20073 + #, gcc-internal-format + msgid "expected %<(%> or end of line" + msgstr "" + +-#: c/c-parser.cc:20158 cp/parser.cc:43557 ++#: c/c-parser.cc:20155 cp/parser.cc:43558 + #, gcc-internal-format + msgid "expected % or % clause" + msgstr "" + +-#: c/c-parser.cc:20163 cp/parser.cc:43563 ++#: c/c-parser.cc:20160 cp/parser.cc:43564 + #, gcc-internal-format + msgid "expected %<#pragma omp scan%>" + msgstr "" + +-#: c/c-parser.cc:20219 cp/parser.cc:43614 ++#: c/c-parser.cc:20216 cp/parser.cc:43615 + #, gcc-internal-format + msgid "% clause parameter is less than %" + msgstr "" + +-#: c/c-parser.cc:20235 cp/parser.cc:43640 ++#: c/c-parser.cc:20232 cp/parser.cc:43641 + #, gcc-internal-format + msgid "for statement expected" + msgstr "" + +-#: c/c-parser.cc:20313 cp/semantics.cc:10488 cp/semantics.cc:10579 ++#: c/c-parser.cc:20310 cp/semantics.cc:10488 cp/semantics.cc:10579 + #, gcc-internal-format + msgid "expected iteration declaration or initialization" + msgstr "" + +-#: c/c-parser.cc:20399 ++#: c/c-parser.cc:20396 + #, gcc-internal-format + msgid "not enough perfectly nested loops" + msgstr "" + +-#: c/c-parser.cc:20447 cp/parser.cc:43954 ++#: c/c-parser.cc:20444 cp/parser.cc:43955 + #, gcc-internal-format + msgid "collapsed loops not perfectly nested" + msgstr "" + +-#: c/c-parser.cc:20530 cp/parser.cc:43750 cp/parser.cc:43792 cp/pt.cc:18569 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 + #, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "" + +-#: c/c-parser.cc:20945 cp/parser.cc:44358 ++#: c/c-parser.cc:20942 cp/parser.cc:44359 + #, gcc-internal-format + msgid "" + "%<#pragma omp ordered%> with %qs clause may only be used in compound " + "statements" + msgstr "" + +-#: c/c-parser.cc:21159 cp/parser.cc:44564 ++#: c/c-parser.cc:21156 cp/parser.cc:44565 + #, gcc-internal-format + msgid "expected % after %qs" + msgstr "" + +-#: c/c-parser.cc:21504 cp/parser.cc:44911 ++#: c/c-parser.cc:21501 cp/parser.cc:44912 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: c/c-parser.cc:21763 cp/parser.cc:45190 ++#: c/c-parser.cc:21760 cp/parser.cc:45191 + #, gcc-internal-format + msgid "" + "%<#pragma omp target data%> with map-type other than %, %, " + "% or % on % clause" + msgstr "" + +-#: c/c-parser.cc:21779 cp/parser.cc:45206 ++#: c/c-parser.cc:21776 cp/parser.cc:45207 + #, gcc-internal-format + msgid "" + "%<#pragma omp target data%> must contain at least one %, " + "% or % clause" + msgstr "" + +-#: c/c-parser.cc:21827 cp/parser.cc:45462 ++#: c/c-parser.cc:21824 cp/parser.cc:45463 + #, gcc-internal-format + msgid "" + "%<#pragma omp target update%> must contain at least one % or % " + "clauses" + msgstr "" + +-#: c/c-parser.cc:21917 cp/parser.cc:45301 ++#: c/c-parser.cc:21914 cp/parser.cc:45302 + #, gcc-internal-format + msgid "" + "%<#pragma omp target enter data%> with map-type other than %, " + "% or % on % clause" + msgstr "" + +-#: c/c-parser.cc:21929 cp/parser.cc:45313 ++#: c/c-parser.cc:21926 cp/parser.cc:45314 + #, gcc-internal-format + msgid "" + "%<#pragma omp target enter data%> must contain at least one % clause" + msgstr "" + +-#: c/c-parser.cc:22016 cp/parser.cc:45405 ++#: c/c-parser.cc:22013 cp/parser.cc:45406 + #, gcc-internal-format + msgid "" + "%<#pragma omp target exit data%> with map-type other than %, " + "%, % or % on % clause" + msgstr "" + +-#: c/c-parser.cc:22029 cp/parser.cc:45418 ++#: c/c-parser.cc:22026 cp/parser.cc:45419 + #, gcc-internal-format + msgid "" + "%<#pragma omp target exit data%> must contain at least one % clause" + msgstr "" + +-#: c/c-parser.cc:22265 cp/semantics.cc:10019 ++#: c/c-parser.cc:22262 cp/semantics.cc:10019 + #, gcc-internal-format + msgid "" + "%<#pragma omp target%> with map-type other than %, %, % " + "or % on % clause" + msgstr "" + +-#: c/c-parser.cc:22322 ++#: c/c-parser.cc:22319 + #, gcc-internal-format + msgid "" + "%<#pragma omp declare %s%> must be followed by function declaration or " + "definition or another %<#pragma omp declare %s%>" + msgstr "" + +-#: c/c-parser.cc:22373 c/c-parser.cc:22401 ++#: c/c-parser.cc:22370 c/c-parser.cc:22398 + #, gcc-internal-format + msgid "" + "%<#pragma omp declare %s%> must be followed by function declaration or " + "definition" + msgstr "" + +-#: c/c-parser.cc:22440 cp/parser.cc:46334 ++#: c/c-parser.cc:22437 cp/parser.cc:46335 + #, gcc-internal-format + msgid "expected trait selector name" + msgstr "" + +-#: c/c-parser.cc:22493 cp/parser.cc:46386 ++#: c/c-parser.cc:22490 cp/parser.cc:46387 + #, gcc-internal-format + msgid "selector %qs not allowed for context selector set %qs" + msgstr "" + +-#: c/c-parser.cc:22518 cp/parser.cc:46410 ++#: c/c-parser.cc:22515 cp/parser.cc:46411 + #, gcc-internal-format + msgid "selector %qs does not accept any properties" + msgstr "" + +-#: c/c-parser.cc:22545 cp/parser.cc:46449 cp/pt.cc:11869 ++#: c/c-parser.cc:22542 cp/parser.cc:46450 cp/pt.cc:11856 + #, gcc-internal-format + msgid "score argument must be constant integer expression" + msgstr "" + +-#: c/c-parser.cc:22548 cp/parser.cc:46452 cp/pt.cc:11886 ++#: c/c-parser.cc:22545 cp/parser.cc:46453 cp/pt.cc:11873 + #, gcc-internal-format + msgid "score argument must be non-negative" + msgstr "" + +-#: c/c-parser.cc:22572 cp/parser.cc:46480 cp/pt.cc:11872 ++#: c/c-parser.cc:22569 cp/parser.cc:46481 cp/pt.cc:11859 + #, gcc-internal-format + msgid "property must be constant integer expression or string literal" + msgstr "" + +-#: c/c-parser.cc:22617 cp/parser.cc:46526 ++#: c/c-parser.cc:22614 cp/parser.cc:46527 + #, gcc-internal-format + msgid "expected identifier or string literal" + msgstr "" + +-#: c/c-parser.cc:22639 cp/parser.cc:46548 cp/pt.cc:11876 ++#: c/c-parser.cc:22636 cp/parser.cc:46549 cp/pt.cc:11863 + #, gcc-internal-format + msgid "property must be constant integer expression" + msgstr "" + +-#: c/c-parser.cc:22650 cp/parser.cc:46559 ++#: c/c-parser.cc:22647 cp/parser.cc:46560 + #, gcc-internal-format + msgid "" + "properties for % selector may not be specified in %" + msgstr "" + +-#: c/c-parser.cc:22737 cp/parser.cc:46645 ++#: c/c-parser.cc:22734 cp/parser.cc:46646 + #, gcc-internal-format + msgid "expected %, %, % or %" + msgstr "" + +-#: c/c-parser.cc:22816 cp/parser.cc:46962 ++#: c/c-parser.cc:22813 cp/parser.cc:46963 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: c/c-parser.cc:22836 ++#: c/c-parser.cc:22833 + #, gcc-internal-format + msgid "variant %qD is not a function" + msgstr "" + +-#: c/c-parser.cc:22842 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8112 + #, gcc-internal-format + msgid "variant %qD and base %qD have incompatible types" + msgstr "" + +-#: c/c-parser.cc:22854 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8121 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "" + +-#: c/c-parser.cc:22899 ++#: c/c-parser.cc:22896 + #, gcc-internal-format + msgid "" + "%<#pragma omp declare %s%> not immediately followed by a function " + "declaration or definition" + msgstr "" + +-#: c/c-parser.cc:22907 cp/parser.cc:47007 ++#: c/c-parser.cc:22904 cp/parser.cc:47008 + #, gcc-internal-format + msgid "" + "%<#pragma omp declare %s%> not immediately followed by a single function " + "declaration or definition" + msgstr "" + +-#: c/c-parser.cc:23021 cp/parser.cc:47211 ++#: c/c-parser.cc:23018 cp/parser.cc:47212 + #, gcc-internal-format + msgid "%qD specified both in declare target % and %qs clauses" + msgstr "" + +-#: c/c-parser.cc:23025 cp/parser.cc:47215 ++#: c/c-parser.cc:23022 cp/parser.cc:47216 + #, gcc-internal-format + msgid "" + "%qD specified both in declare target % and % or % clauses" + msgstr "" + +-#: c/c-parser.cc:23074 cp/parser.cc:47326 ++#: c/c-parser.cc:23071 cp/parser.cc:47327 + #, gcc-internal-format + msgid "directive with only % clause" + msgstr "" + +-#: c/c-parser.cc:23114 c/c-parser.cc:23154 cp/parser.cc:47374 +-#: cp/parser.cc:47421 ++#: c/c-parser.cc:23111 c/c-parser.cc:23151 cp/parser.cc:47375 ++#: cp/parser.cc:47422 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: c/c-parser.cc:23126 cp/parser.cc:47387 ++#: c/c-parser.cc:23123 cp/parser.cc:47388 + #, gcc-internal-format + msgid "expected % or %" + msgstr "" + +-#: c/c-parser.cc:23160 cp/parser.cc:47428 ++#: c/c-parser.cc:23157 cp/parser.cc:47429 + #, gcc-internal-format + msgid "" + "%<#pragma omp end declare target%> without corresponding %<#pragma omp " + "declare target%> or %<#pragma omp begin declare target%>" + msgstr "" + +-#: c/c-parser.cc:23178 cp/parser.cc:47483 ++#: c/c-parser.cc:23175 cp/parser.cc:47484 + #, gcc-internal-format + msgid "expected % or %" + msgstr "" + +-#: c/c-parser.cc:23204 ++#: c/c-parser.cc:23201 + #, gcc-internal-format + msgid "%<#pragma omp declare reduction%> not at file or block scope" + msgstr "" + +-#: c/c-parser.cc:23281 ++#: c/c-parser.cc:23278 + #, gcc-internal-format + msgid "predeclared arithmetic type in %<#pragma omp declare reduction%>" + msgstr "" + +-#: c/c-parser.cc:23285 ++#: c/c-parser.cc:23282 + #, gcc-internal-format + msgid "function or array type in %<#pragma omp declare reduction%>" + msgstr "" + +-#: c/c-parser.cc:23288 ++#: c/c-parser.cc:23285 + #, gcc-internal-format + msgid "%<_Atomic%> qualified type in %<#pragma omp declare reduction%>" + msgstr "" + +-#: c/c-parser.cc:23291 ++#: c/c-parser.cc:23288 + #, gcc-internal-format + msgid "" + "const, volatile or restrict qualified type in %<#pragma omp declare " + "reduction%>" + msgstr "" + +-#: c/c-parser.cc:23299 ++#: c/c-parser.cc:23296 + #, gcc-internal-format + msgid "redeclaration of %qs %<#pragma omp declare reduction%> for type %qT" + msgstr "" + +-#: c/c-parser.cc:23308 ++#: c/c-parser.cc:23305 + #, gcc-internal-format + msgid "previous %<#pragma omp declare reduction%>" + msgstr "" + +-#: c/c-parser.cc:23429 ++#: c/c-parser.cc:23426 + #, gcc-internal-format + msgid "expected % or function-name" + msgstr "" + +-#: c/c-parser.cc:23440 ++#: c/c-parser.cc:23437 + #, gcc-internal-format + msgid "expected function-name %<(%>" + msgstr "" + +-#: c/c-parser.cc:23459 ++#: c/c-parser.cc:23456 + #, gcc-internal-format + msgid "one of the initializer call arguments should be %<&omp_priv%>" + msgstr "" + +-#: c/c-parser.cc:23590 cp/parser.cc:47955 ++#: c/c-parser.cc:23587 cp/parser.cc:47956 + #, gcc-internal-format + msgid "expected %, %, % or %" + msgstr "" + +-#: c/c-parser.cc:23653 cp/parser.cc:48016 ++#: c/c-parser.cc:23650 cp/parser.cc:48017 + #, gcc-internal-format + msgid "expected %, % or %" + msgstr "" + +-#: c/c-parser.cc:23682 cp/parser.cc:48051 ++#: c/c-parser.cc:23679 cp/parser.cc:48052 + #, gcc-internal-format + msgid "" + "expected %, %, " +@@ -49433,143 +49415,143 @@ msgid "" + "clause" + msgstr "" + +-#: c/c-parser.cc:23700 cp/parser.cc:48069 ++#: c/c-parser.cc:23697 cp/parser.cc:48070 + #, gcc-internal-format + msgid "" + "%qs clause used lexically after first target construct or offloading API" + msgstr "" + +-#: c/c-parser.cc:23712 cp/parser.cc:48081 ++#: c/c-parser.cc:23709 cp/parser.cc:48082 + #, gcc-internal-format + msgid "" + "more than one % clause in a single compilation " + "unit" + msgstr "" + +-#: c/c-parser.cc:23721 cp/parser.cc:48090 ++#: c/c-parser.cc:23718 cp/parser.cc:48091 + #, gcc-internal-format + msgid "" + "% clause used lexically after first % " + "construct without memory order clause" + msgstr "" + +-#: c/c-parser.cc:23735 cp/parser.cc:48104 ++#: c/c-parser.cc:23732 cp/parser.cc:48105 + #, gcc-internal-format + msgid "% requires at least one clause" + msgstr "" + +-#: c/c-parser.cc:23754 ++#: c/c-parser.cc:23751 + #, gcc-internal-format + msgid "zero sized type %qT in % clause" + msgstr "" + +-#: c/c-parser.cc:23760 ++#: c/c-parser.cc:23757 + #, gcc-internal-format + msgid "variable sized type %qT in % clause" + msgstr "" + +-#: c/c-parser.cc:23917 cp/parser.cc:48161 ++#: c/c-parser.cc:23914 cp/parser.cc:48162 + #, gcc-internal-format + msgid "expected %, % or % clause" + msgstr "" + +-#: c/c-parser.cc:23950 cp/parser.cc:48196 ++#: c/c-parser.cc:23947 cp/parser.cc:48197 + #, gcc-internal-format + msgid "expected %qs or %qs" + msgstr "" + +-#: c/c-parser.cc:24007 cp/parser.cc:48258 ++#: c/c-parser.cc:24004 cp/parser.cc:48259 + #, gcc-internal-format + msgid "" + "%<#pragma omp error%> with % clause may only be used in " + "compound statements" + msgstr "" + +-#: c/c-parser.cc:24030 cp/parser.cc:48285 ++#: c/c-parser.cc:24027 cp/parser.cc:48286 + #, gcc-internal-format + msgid "% encountered: %s" + msgstr "" + +-#: c/c-parser.cc:24033 cp/parser.cc:48288 ++#: c/c-parser.cc:24030 cp/parser.cc:48289 + #, gcc-internal-format + msgid "% encountered" + msgstr "" + +-#: c/c-parser.cc:24060 cp/parser.cc:46708 ++#: c/c-parser.cc:24057 cp/parser.cc:46709 + #, gcc-internal-format + msgid "expected at least one assumption clause" + msgstr "" + +-#: c/c-parser.cc:24146 cp/parser.cc:46794 ++#: c/c-parser.cc:24143 cp/parser.cc:46795 + #, gcc-internal-format + msgid "expected directive name" + msgstr "" + +-#: c/c-parser.cc:24159 cp/parser.cc:46807 ++#: c/c-parser.cc:24156 cp/parser.cc:46808 + #, gcc-internal-format + msgid "unknown OpenMP directive name in %qs clause argument" + msgstr "" + +-#: c/c-parser.cc:24166 cp/parser.cc:46814 ++#: c/c-parser.cc:24163 cp/parser.cc:46815 + #, gcc-internal-format + msgid "" + "%<%s%s%s%s%s%> directive mentioned in both % and % " + "clauses" + msgstr "" + +-#: c/c-parser.cc:24177 cp/parser.cc:46825 ++#: c/c-parser.cc:24174 cp/parser.cc:46826 + #, gcc-internal-format + msgid "%<%s%s%s%s%s%> directive mentioned multiple times in %qs clauses" + msgstr "" + +-#: c/c-parser.cc:24200 cp/parser.cc:46852 ++#: c/c-parser.cc:24197 cp/parser.cc:46853 + #, gcc-internal-format + msgid "unknown assumption clause %qs" + msgstr "" + +-#: c/c-parser.cc:24213 cp/parser.cc:46862 ++#: c/c-parser.cc:24210 cp/parser.cc:46863 + #, gcc-internal-format + msgid "expected assumption clause" + msgstr "" + +-#: c/c-parser.cc:24386 cp/semantics.cc:9393 ++#: c/c-parser.cc:24383 cp/semantics.cc:9393 + #, gcc-internal-format + msgid "%qE declared % after first use" + msgstr "" + +-#: c/c-parser.cc:24388 cp/semantics.cc:9395 ++#: c/c-parser.cc:24385 cp/semantics.cc:9395 + #, gcc-internal-format + msgid "automatic variable %qE cannot be %" + msgstr "" + +-#: c/c-parser.cc:24392 cp/semantics.cc:9397 ++#: c/c-parser.cc:24389 cp/semantics.cc:9397 + #, gcc-internal-format + msgid "% %qE has incomplete type" + msgstr "" + +-#: c/c-parser.cc:24572 cp/parser.cc:49027 ++#: c/c-parser.cc:24569 cp/parser.cc:49028 + #, gcc-internal-format + msgid "%<__transaction_cancel%> without transactional memory support enabled" + msgstr "" + +-#: c/c-parser.cc:24578 cp/parser.cc:49033 ++#: c/c-parser.cc:24575 cp/parser.cc:49034 + #, gcc-internal-format + msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>" + msgstr "" + +-#: c/c-parser.cc:24587 ++#: c/c-parser.cc:24584 + #, gcc-internal-format + msgid "" + "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%> or " + "a % function" + msgstr "" + +-#: c/c-parser.cc:24595 cp/parser.cc:49051 ++#: c/c-parser.cc:24592 cp/parser.cc:49052 + #, gcc-internal-format + msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>" + msgstr "" + +-#: c/c-parser.cc:24679 ++#: c/c-parser.cc:24676 + #, gcc-internal-format + msgid "no closing brace" + msgstr "" +@@ -49579,7 +49561,7 @@ msgstr "" + msgid "%qD has an incomplete type %qT" + msgstr "" + +-#: c/c-typeck.cc:251 c/c-typeck.cc:11147 c/c-typeck.cc:11189 cp/call.cc:4871 ++#: c/c-typeck.cc:251 c/c-typeck.cc:11142 c/c-typeck.cc:11184 cp/call.cc:4856 + #, gcc-internal-format + msgid "invalid use of void expression" + msgstr "" +@@ -49664,12 +49646,12 @@ msgstr "" + msgid "converting an array compound literal to a pointer is ill-formed in C++" + msgstr "" + +-#: c/c-typeck.cc:2590 c/c-typeck.cc:9668 ++#: c/c-typeck.cc:2590 c/c-typeck.cc:9663 + #, gcc-internal-format + msgid "%qT has no member named %qE; did you mean %qE?" + msgstr "" + +-#: c/c-typeck.cc:2594 c/c-typeck.cc:9672 ++#: c/c-typeck.cc:2594 c/c-typeck.cc:9667 + #, gcc-internal-format + msgid "%qT has no member named %qE" + msgstr "" +@@ -50116,7 +50098,7 @@ msgstr "" + msgid "left-hand operand of comma expression has no effect" + msgstr "" + +-#: c/c-typeck.cc:5865 c/c-typeck.cc:11722 ++#: c/c-typeck.cc:5865 c/c-typeck.cc:11717 + #, gcc-internal-format + msgid "right-hand operand of comma expression has no effect" + msgstr "" +@@ -50592,12 +50574,12 @@ msgid "" + "% initializer for a binary floating-point type is of decimal type" + msgstr "" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1215 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1232 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 + #, gcc-internal-format + msgid "" + "cannot initialize array of %qT from a string literal with type array of %qT" +@@ -50614,7 +50596,7 @@ msgid "invalid use of non-lvalue array" + msgstr "" + + #: c/c-typeck.cc:8530 c/c-typeck.cc:8554 c/c-typeck.cc:8557 c/c-typeck.cc:8565 +-#: c/c-typeck.cc:8612 c/c-typeck.cc:10158 c/c-typeck.cc:10237 ++#: c/c-typeck.cc:8612 c/c-typeck.cc:10153 c/c-typeck.cc:10232 + #, gcc-internal-format + msgid "initializer element is not constant" + msgstr "" +@@ -50624,17 +50606,17 @@ msgstr "" + msgid "array initialized from non-constant array expression" + msgstr "" + +-#: c/c-typeck.cc:8570 c/c-typeck.cc:8625 c/c-typeck.cc:10247 ++#: c/c-typeck.cc:8570 c/c-typeck.cc:8625 c/c-typeck.cc:10242 + #, gcc-internal-format + msgid "initializer element is not a constant expression" + msgstr "" + +-#: c/c-typeck.cc:8619 c/c-typeck.cc:10242 ++#: c/c-typeck.cc:8619 c/c-typeck.cc:10237 + #, gcc-internal-format + msgid "initializer element is not computable at load time" + msgstr "" + +-#: c/c-typeck.cc:8643 c/c-typeck.cc:9379 ++#: c/c-typeck.cc:8643 + #, gcc-internal-format + msgid "invalid initializer" + msgstr "" +@@ -50654,7 +50636,7 @@ msgstr "" + msgid "braces around scalar initializer" + msgstr "" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10775 cp/typeck2.cc:1242 cp/typeck2.cc:1600 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 cp/typeck2.cc:1582 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "" +@@ -50669,617 +50651,617 @@ msgstr "" + msgid "missing initializer for field %qD of %qT" + msgstr "" + +-#: c/c-typeck.cc:9391 ++#: c/c-typeck.cc:9386 + #, gcc-internal-format + msgid "extra elements in scalar initializer" + msgstr "" + +-#: c/c-typeck.cc:9510 c/c-typeck.cc:9592 ++#: c/c-typeck.cc:9505 c/c-typeck.cc:9587 + #, gcc-internal-format + msgid "array index in non-array initializer" + msgstr "" + +-#: c/c-typeck.cc:9515 c/c-typeck.cc:9654 ++#: c/c-typeck.cc:9510 c/c-typeck.cc:9649 + #, gcc-internal-format + msgid "field name not in record or union initializer" + msgstr "" + +-#: c/c-typeck.cc:9565 ++#: c/c-typeck.cc:9560 + #, gcc-internal-format + msgid "array index in initializer not of integer type" + msgstr "" + +-#: c/c-typeck.cc:9574 c/c-typeck.cc:9583 ++#: c/c-typeck.cc:9569 c/c-typeck.cc:9578 + #, gcc-internal-format + msgid "array index in initializer is not an integer constant expression" + msgstr "" + +-#: c/c-typeck.cc:9588 c/c-typeck.cc:9590 ++#: c/c-typeck.cc:9583 c/c-typeck.cc:9585 + #, gcc-internal-format + msgid "nonconstant array index in initializer" + msgstr "" + +-#: c/c-typeck.cc:9594 c/c-typeck.cc:9597 ++#: c/c-typeck.cc:9589 c/c-typeck.cc:9592 + #, gcc-internal-format + msgid "array index in initializer exceeds array bounds" + msgstr "" + +-#: c/c-typeck.cc:9616 ++#: c/c-typeck.cc:9611 + #, gcc-internal-format + msgid "empty index range in initializer" + msgstr "" + +-#: c/c-typeck.cc:9625 ++#: c/c-typeck.cc:9620 + #, gcc-internal-format + msgid "array index range in initializer exceeds array bounds" + msgstr "" + +-#: c/c-typeck.cc:9727 c/c-typeck.cc:9757 c/c-typeck.cc:10335 ++#: c/c-typeck.cc:9722 c/c-typeck.cc:9752 c/c-typeck.cc:10330 + #, gcc-internal-format + msgid "initialized field with side-effects overwritten" + msgstr "" + +-#: c/c-typeck.cc:9731 c/c-typeck.cc:9761 c/c-typeck.cc:10338 ++#: c/c-typeck.cc:9726 c/c-typeck.cc:9756 c/c-typeck.cc:10333 + #, gcc-internal-format + msgid "initialized field overwritten" + msgstr "" + +-#: c/c-typeck.cc:10269 ++#: c/c-typeck.cc:10264 + #, gcc-internal-format + msgid "enum conversion in initialization is invalid in C++" + msgstr "" + +-#: c/c-typeck.cc:10650 ++#: c/c-typeck.cc:10645 + #, gcc-internal-format + msgid "excess elements in % array initializer" + msgstr "" + +-#: c/c-typeck.cc:10657 c/c-typeck.cc:10734 ++#: c/c-typeck.cc:10652 c/c-typeck.cc:10729 + #, gcc-internal-format + msgid "excess elements in struct initializer" + msgstr "" + +-#: c/c-typeck.cc:10678 ++#: c/c-typeck.cc:10673 + #, gcc-internal-format + msgid "" + "positional initialization of field in % declared with " + "% attribute" + msgstr "" + +-#: c/c-typeck.cc:10749 cp/typeck2.cc:1219 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "" + +-#: c/c-typeck.cc:10844 ++#: c/c-typeck.cc:10839 + #, gcc-internal-format + msgid "excess elements in union initializer" + msgstr "" + +-#: c/c-typeck.cc:10866 ++#: c/c-typeck.cc:10861 + #, gcc-internal-format + msgid "traditional C rejects initialization of unions" + msgstr "" + +-#: c/c-typeck.cc:10928 ++#: c/c-typeck.cc:10923 + #, gcc-internal-format + msgid "excess elements in array initializer" + msgstr "" + +-#: c/c-typeck.cc:10962 ++#: c/c-typeck.cc:10957 + #, gcc-internal-format + msgid "excess elements in vector initializer" + msgstr "" + +-#: c/c-typeck.cc:10994 ++#: c/c-typeck.cc:10989 + #, gcc-internal-format + msgid "excess elements in scalar initializer" + msgstr "" + +-#: c/c-typeck.cc:11237 ++#: c/c-typeck.cc:11232 + #, gcc-internal-format + msgid "ISO C forbids %" + msgstr "" + +-#: c/c-typeck.cc:11243 ++#: c/c-typeck.cc:11238 + #, gcc-internal-format + msgid "computed goto must be pointer type" + msgstr "" + +-#: c/c-typeck.cc:11272 c/gimple-parser.cc:2472 cp/typeck.cc:10932 ++#: c/c-typeck.cc:11267 c/gimple-parser.cc:2472 cp/typeck.cc:10932 + #, gcc-internal-format + msgid "function declared % has a % statement" + msgstr "" + +-#: c/c-typeck.cc:11300 c/c-typeck.cc:11304 ++#: c/c-typeck.cc:11295 c/c-typeck.cc:11299 + #, gcc-internal-format + msgid "% with no value, in function returning non-void" + msgstr "" + +-#: c/c-typeck.cc:11318 c/gimple-parser.cc:2482 ++#: c/c-typeck.cc:11313 c/gimple-parser.cc:2482 + #, gcc-internal-format + msgid "% with a value, in function returning void" + msgstr "" + +-#: c/c-typeck.cc:11321 ++#: c/c-typeck.cc:11316 + #, gcc-internal-format + msgid "ISO C forbids % with expression, in function returning void" + msgstr "" + +-#: c/c-typeck.cc:11398 ++#: c/c-typeck.cc:11393 + #, gcc-internal-format + msgid "function returns address of label" + msgstr "" + +-#: c/c-typeck.cc:11489 cp/semantics.cc:1524 ++#: c/c-typeck.cc:11484 cp/semantics.cc:1524 + #, gcc-internal-format + msgid "switch quantity not an integer" + msgstr "" + +-#: c/c-typeck.cc:11514 ++#: c/c-typeck.cc:11509 + #, gcc-internal-format + msgid "% switch expression not converted to % in ISO C" + msgstr "" + +-#: c/c-typeck.cc:11552 c/c-typeck.cc:11560 ++#: c/c-typeck.cc:11547 c/c-typeck.cc:11555 + #, gcc-internal-format + msgid "case label is not an integer constant expression" + msgstr "" + +-#: c/c-typeck.cc:11566 cp/parser.cc:12750 ++#: c/c-typeck.cc:11561 cp/parser.cc:12750 + #, gcc-internal-format + msgid "case label not within a switch statement" + msgstr "" + +-#: c/c-typeck.cc:11568 ++#: c/c-typeck.cc:11563 + #, gcc-internal-format + msgid "% label not within a switch statement" + msgstr "" + +-#: c/c-typeck.cc:11644 cp/parser.cc:14366 ++#: c/c-typeck.cc:11639 cp/parser.cc:14366 + #, gcc-internal-format + msgid "break statement not within loop or switch" + msgstr "" + +-#: c/c-typeck.cc:11647 c/c-typeck.cc:11667 cp/decl.cc:3871 cp/parser.cc:14376 ++#: c/c-typeck.cc:11642 c/c-typeck.cc:11662 cp/decl.cc:3871 cp/parser.cc:14376 + #: cp/parser.cc:14397 + #, gcc-internal-format + msgid "invalid exit from OpenMP structured block" + msgstr "" + +-#: c/c-typeck.cc:11650 cp/parser.cc:14379 ++#: c/c-typeck.cc:11645 cp/parser.cc:14379 + #, gcc-internal-format + msgid "break statement used with OpenMP for loop" + msgstr "" + +-#: c/c-typeck.cc:11664 cp/parser.cc:14389 ++#: c/c-typeck.cc:11659 cp/parser.cc:14389 + #, gcc-internal-format + msgid "continue statement not within a loop" + msgstr "" + +-#: c/c-typeck.cc:11704 cp/cp-gimplify.cc:256 ++#: c/c-typeck.cc:11699 cp/cp-gimplify.cc:249 + #, gcc-internal-format + msgid "statement with no effect" + msgstr "" + +-#: c/c-typeck.cc:11748 ++#: c/c-typeck.cc:11743 + #, gcc-internal-format + msgid "expression statement has incomplete type" + msgstr "" + +-#: c/c-typeck.cc:12039 ++#: c/c-typeck.cc:12034 + #, gcc-internal-format + msgid "" + "the comparison will always evaluate as % for the pointer operand in " + "%qE must not be NULL" + msgstr "" + +-#: c/c-typeck.cc:12044 ++#: c/c-typeck.cc:12039 + #, gcc-internal-format + msgid "" + "the comparison will always evaluate as % for the pointer operand in " + "%qE must not be NULL" + msgstr "" + +-#: c/c-typeck.cc:12062 c/c-typeck.cc:12100 ++#: c/c-typeck.cc:12057 c/c-typeck.cc:12095 + #, gcc-internal-format + msgid "" + "the comparison will always evaluate as % for the address of %qE will " + "never be NULL" + msgstr "" + +-#: c/c-typeck.cc:12067 c/c-typeck.cc:12105 ++#: c/c-typeck.cc:12062 c/c-typeck.cc:12100 + #, gcc-internal-format + msgid "" + "the comparison will always evaluate as % for the address of %qE will " + "never be NULL" + msgstr "" + +-#: c/c-typeck.cc:12687 c/c-typeck.cc:12848 cp/typeck.cc:5987 ++#: c/c-typeck.cc:12682 c/c-typeck.cc:12843 cp/typeck.cc:5987 + #, gcc-internal-format + msgid "comparing vectors with different element types" + msgstr "" + +-#: c/c-typeck.cc:12695 c/c-typeck.cc:12856 cp/typeck.cc:6000 ++#: c/c-typeck.cc:12690 c/c-typeck.cc:12851 cp/typeck.cc:6000 + #, gcc-internal-format + msgid "comparing vectors with different number of elements" + msgstr "" + +-#: c/c-typeck.cc:12710 c/c-typeck.cc:12871 cp/typeck.cc:6018 ++#: c/c-typeck.cc:12705 c/c-typeck.cc:12866 cp/typeck.cc:6018 + #, gcc-internal-format + msgid "comparison between types %qT and %qT" + msgstr "" + +-#: c/c-typeck.cc:12720 c/c-typeck.cc:12881 cp/typeck.cc:6035 ++#: c/c-typeck.cc:12715 c/c-typeck.cc:12876 cp/typeck.cc:6035 + #, gcc-internal-format + msgid "could not find an integer type of the same size as %qT" + msgstr "" + +-#: c/c-typeck.cc:12734 cp/typeck.cc:5671 ++#: c/c-typeck.cc:12729 cp/typeck.cc:5671 + #, gcc-internal-format + msgid "comparing floating-point with %<==%> or % is unsafe" + msgstr "" + +-#: c/c-typeck.cc:12772 c/c-typeck.cc:12922 ++#: c/c-typeck.cc:12767 c/c-typeck.cc:12917 + #, gcc-internal-format + msgid "comparison of pointers to disjoint address spaces" + msgstr "" + +-#: c/c-typeck.cc:12779 c/c-typeck.cc:12785 ++#: c/c-typeck.cc:12774 c/c-typeck.cc:12780 + #, gcc-internal-format + msgid "ISO C forbids comparison of % with function pointer" + msgstr "" + +-#: c/c-typeck.cc:12792 c/c-typeck.cc:12932 ++#: c/c-typeck.cc:12787 c/c-typeck.cc:12927 + #, gcc-internal-format + msgid "comparison of distinct pointer types lacks a cast" + msgstr "" + +-#: c/c-typeck.cc:12804 c/c-typeck.cc:12809 c/c-typeck.cc:12958 +-#: c/c-typeck.cc:12963 ++#: c/c-typeck.cc:12799 c/c-typeck.cc:12804 c/c-typeck.cc:12953 ++#: c/c-typeck.cc:12958 + #, gcc-internal-format + msgid "comparison between pointer and integer" + msgstr "" + +-#: c/c-typeck.cc:12910 ++#: c/c-typeck.cc:12905 + #, gcc-internal-format + msgid "comparison of complete and incomplete pointers" + msgstr "" + +-#: c/c-typeck.cc:12912 ++#: c/c-typeck.cc:12907 + #, gcc-internal-format + msgid "ISO C forbids ordered comparisons of pointers to functions" + msgstr "" + +-#: c/c-typeck.cc:12917 ++#: c/c-typeck.cc:12912 + #, gcc-internal-format + msgid "ordered comparison of pointer with null pointer" + msgstr "" + +-#: c/c-typeck.cc:12940 c/c-typeck.cc:12943 c/c-typeck.cc:12950 +-#: c/c-typeck.cc:12953 ++#: c/c-typeck.cc:12935 c/c-typeck.cc:12938 c/c-typeck.cc:12945 ++#: c/c-typeck.cc:12948 + #, gcc-internal-format + msgid "ordered comparison of pointer with integer zero" + msgstr "" + +-#: c/c-typeck.cc:13029 ++#: c/c-typeck.cc:13024 + #, gcc-internal-format + msgid "" + "implicit conversion from %qT to %qT to match other operand of binary " + "expression" + msgstr "" + +-#: c/c-typeck.cc:13347 ++#: c/c-typeck.cc:13342 + #, gcc-internal-format + msgid "used array that cannot be converted to pointer where scalar is required" + msgstr "" + +-#: c/c-typeck.cc:13351 ++#: c/c-typeck.cc:13346 + #, gcc-internal-format + msgid "used struct type value where scalar is required" + msgstr "" + +-#: c/c-typeck.cc:13355 ++#: c/c-typeck.cc:13350 + #, gcc-internal-format + msgid "used union type value where scalar is required" + msgstr "" + +-#: c/c-typeck.cc:13371 ++#: c/c-typeck.cc:13366 + #, gcc-internal-format + msgid "used vector type where scalar is required" + msgstr "" + +-#: c/c-typeck.cc:13561 cp/semantics.cc:11070 ++#: c/c-typeck.cc:13556 cp/semantics.cc:11070 + #, gcc-internal-format + msgid "" + "%<#pragma omp cancel%> must specify one of %, %, " + "% or % clauses" + msgstr "" + +-#: c/c-typeck.cc:13572 c/c-typeck.cc:13582 cp/semantics.cc:11081 ++#: c/c-typeck.cc:13567 c/c-typeck.cc:13577 cp/semantics.cc:11081 + #: cp/semantics.cc:11091 + #, gcc-internal-format + msgid "expected % % clause modifier" + msgstr "" + +-#: c/c-typeck.cc:13617 cp/semantics.cc:11126 ++#: c/c-typeck.cc:13612 cp/semantics.cc:11126 + #, gcc-internal-format + msgid "" + "%<#pragma omp cancellation point%> must specify one of %, " + "%, % or % clauses" + msgstr "" + +-#: c/c-typeck.cc:13662 c/c-typeck.cc:15387 c/c-typeck.cc:15523 +-#: c/c-typeck.cc:15606 ++#: c/c-typeck.cc:13657 c/c-typeck.cc:15382 c/c-typeck.cc:15518 ++#: c/c-typeck.cc:15601 + #, gcc-internal-format + msgid "%<_Atomic%> %qE in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13686 c/c-typeck.cc:15302 c/c-typeck.cc:15509 ++#: c/c-typeck.cc:13681 c/c-typeck.cc:15297 c/c-typeck.cc:15504 + #: cp/semantics.cc:5165 cp/semantics.cc:7933 cp/semantics.cc:8193 + #, gcc-internal-format + msgid "bit-field %qE in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13695 c/c-typeck.cc:15533 cp/semantics.cc:5175 ++#: c/c-typeck.cc:13690 c/c-typeck.cc:15528 cp/semantics.cc:5175 + #: cp/semantics.cc:8214 + #, gcc-internal-format + msgid "%qE is a member of a union" + msgstr "" + +-#: c/c-typeck.cc:13712 c/c-typeck.cc:15542 cp/semantics.cc:8223 ++#: c/c-typeck.cc:13707 c/c-typeck.cc:15537 cp/semantics.cc:8223 + #, gcc-internal-format + msgid "cannot dereference %qE in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13723 cp/semantics.cc:5200 cp/semantics.cc:8268 ++#: c/c-typeck.cc:13718 cp/semantics.cc:5200 cp/semantics.cc:8268 + #, gcc-internal-format + msgid "%qD is not a variable in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13727 c/c-typeck.cc:15570 cp/semantics.cc:5204 ++#: c/c-typeck.cc:13722 c/c-typeck.cc:15565 cp/semantics.cc:5204 + #: cp/semantics.cc:8272 + #, gcc-internal-format + msgid "%qE is not a variable in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13735 ++#: c/c-typeck.cc:13730 + #, gcc-internal-format + msgid "%<_Atomic%> %qD in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13745 c/c-typeck.cc:15577 c/c-typeck.cc:15707 ++#: c/c-typeck.cc:13740 c/c-typeck.cc:15572 c/c-typeck.cc:15702 + #: cp/semantics.cc:5213 cp/semantics.cc:8279 cp/semantics.cc:8475 + #, gcc-internal-format + msgid "%qD is threadprivate variable in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13782 cp/semantics.cc:5247 ++#: c/c-typeck.cc:13777 cp/semantics.cc:5247 + #, gcc-internal-format + msgid "low bound %qE of array section does not have integral type" + msgstr "" + +-#: c/c-typeck.cc:13789 cp/semantics.cc:5254 ++#: c/c-typeck.cc:13784 cp/semantics.cc:5254 + #, gcc-internal-format + msgid "length %qE of array section does not have integral type" + msgstr "" + +-#: c/c-typeck.cc:13812 cp/semantics.cc:5287 ++#: c/c-typeck.cc:13807 cp/semantics.cc:5287 + #, gcc-internal-format + msgid "expected single pointer in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13830 c/c-typeck.cc:13897 c/c-typeck.cc:14189 ++#: c/c-typeck.cc:13825 c/c-typeck.cc:13892 c/c-typeck.cc:14184 + #: cp/semantics.cc:5305 cp/semantics.cc:5372 + #, gcc-internal-format + msgid "zero length array section in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13849 cp/semantics.cc:5324 ++#: c/c-typeck.cc:13844 cp/semantics.cc:5324 + #, gcc-internal-format + msgid "for unknown bound array type length expression must be specified" + msgstr "" + +-#: c/c-typeck.cc:13857 cp/semantics.cc:5332 ++#: c/c-typeck.cc:13852 cp/semantics.cc:5332 + #, gcc-internal-format + msgid "negative low bound in array section in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13866 c/c-typeck.cc:13990 cp/semantics.cc:5341 ++#: c/c-typeck.cc:13861 c/c-typeck.cc:13985 cp/semantics.cc:5341 + #: cp/semantics.cc:5465 + #, gcc-internal-format + msgid "negative length in array section in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13883 cp/semantics.cc:5358 ++#: c/c-typeck.cc:13878 cp/semantics.cc:5358 + #, gcc-internal-format + msgid "low bound %qE above array section size in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13926 cp/semantics.cc:5401 ++#: c/c-typeck.cc:13921 cp/semantics.cc:5401 + #, gcc-internal-format + msgid "length %qE above array section size in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13941 cp/semantics.cc:5416 ++#: c/c-typeck.cc:13936 cp/semantics.cc:5416 + #, gcc-internal-format + msgid "high bound %qE above array section size in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13978 cp/semantics.cc:5453 ++#: c/c-typeck.cc:13973 cp/semantics.cc:5453 + #, gcc-internal-format + msgid "for array function parameter length expression must be specified" + msgstr "" + +-#: c/c-typeck.cc:13982 cp/semantics.cc:5457 ++#: c/c-typeck.cc:13977 cp/semantics.cc:5457 + #, gcc-internal-format + msgid "for pointer type length expression must be specified" + msgstr "" + +-#: c/c-typeck.cc:14009 c/c-typeck.cc:14128 cp/semantics.cc:5484 ++#: c/c-typeck.cc:14004 c/c-typeck.cc:14123 cp/semantics.cc:5484 + #: cp/semantics.cc:5618 + #, gcc-internal-format + msgid "array section is not contiguous in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:14019 cp/semantics.cc:5494 ++#: c/c-typeck.cc:14014 cp/semantics.cc:5494 + #, gcc-internal-format + msgid "%qE does not have pointer or array type" + msgstr "" + +-#: c/c-typeck.cc:14406 cp/semantics.cc:6592 ++#: c/c-typeck.cc:14401 cp/semantics.cc:6592 + #, gcc-internal-format + msgid "iterator %qD has neither integral nor pointer type" + msgstr "" + +-#: c/c-typeck.cc:14413 ++#: c/c-typeck.cc:14408 + #, gcc-internal-format + msgid "iterator %qD has %<_Atomic%> qualified type" + msgstr "" + +-#: c/c-typeck.cc:14419 cp/semantics.cc:6599 ++#: c/c-typeck.cc:14414 cp/semantics.cc:6599 + #, gcc-internal-format + msgid "iterator %qD has const qualified type" + msgstr "" + +-#: c/c-typeck.cc:14432 cp/semantics.cc:6615 ++#: c/c-typeck.cc:14427 cp/semantics.cc:6615 + #, gcc-internal-format + msgid "iterator step with non-integral type" + msgstr "" + +-#: c/c-typeck.cc:14452 cp/semantics.cc:6651 ++#: c/c-typeck.cc:14447 cp/semantics.cc:6651 + #, gcc-internal-format + msgid "iterator %qD has zero step" + msgstr "" + +-#: c/c-typeck.cc:14479 ++#: c/c-typeck.cc:14474 + #, gcc-internal-format + msgid "type of iterator %qD refers to outer iterator %qD" + msgstr "" + +-#: c/c-typeck.cc:14486 cp/semantics.cc:6685 ++#: c/c-typeck.cc:14481 cp/semantics.cc:6685 + #, gcc-internal-format + msgid "begin expression refers to outer iterator %qD" + msgstr "" + +-#: c/c-typeck.cc:14492 cp/semantics.cc:6691 ++#: c/c-typeck.cc:14487 cp/semantics.cc:6691 + #, gcc-internal-format + msgid "end expression refers to outer iterator %qD" + msgstr "" + +-#: c/c-typeck.cc:14498 cp/semantics.cc:6697 ++#: c/c-typeck.cc:14493 cp/semantics.cc:6697 + #, gcc-internal-format + msgid "step expression refers to outer iterator %qD" + msgstr "" + +-#: c/c-typeck.cc:14535 cp/semantics.cc:6745 ++#: c/c-typeck.cc:14530 cp/semantics.cc:6745 + #, gcc-internal-format + msgid "expected pointer in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:14630 cp/semantics.cc:6833 ++#: c/c-typeck.cc:14625 cp/semantics.cc:6833 + #, gcc-internal-format + msgid "" + "% and non-% % clauses on the same construct" + msgstr "" + +-#: c/c-typeck.cc:14652 cp/semantics.cc:6853 ++#: c/c-typeck.cc:14647 cp/semantics.cc:6853 + #, gcc-internal-format + msgid "% % clause with array section" + msgstr "" + +-#: c/c-typeck.cc:14678 c/c-typeck.cc:14688 ++#: c/c-typeck.cc:14673 c/c-typeck.cc:14683 + #, gcc-internal-format + msgid "%qD in % clause is a zero size array" + msgstr "" + +-#: c/c-typeck.cc:14708 ++#: c/c-typeck.cc:14703 + #, gcc-internal-format + msgid "%<_Atomic%> %qE in % clause" + msgstr "" + +-#: c/c-typeck.cc:14720 ++#: c/c-typeck.cc:14715 + #, gcc-internal-format + msgid "zero sized type %qT in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:14728 ++#: c/c-typeck.cc:14723 + #, gcc-internal-format + msgid "variable sized type %qT in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:14772 ++#: c/c-typeck.cc:14767 + #, gcc-internal-format + msgid "%qE has invalid type for %" + msgstr "" + +-#: c/c-typeck.cc:14781 cp/semantics.cc:6484 ++#: c/c-typeck.cc:14776 cp/semantics.cc:6484 + #, gcc-internal-format + msgid "user defined reduction not found for %qE" + msgstr "" + +-#: c/c-typeck.cc:14869 ++#: c/c-typeck.cc:14864 + #, gcc-internal-format + msgid "variable length element type in array % clause" + msgstr "" + +-#: c/c-typeck.cc:14887 c/c-typeck.cc:15801 cp/semantics.cc:9010 ++#: c/c-typeck.cc:14882 c/c-typeck.cc:15796 cp/semantics.cc:9010 + #, gcc-internal-format + msgid "% clause must not be used together with %" + msgstr "" + +-#: c/c-typeck.cc:14899 cp/semantics.cc:9078 ++#: c/c-typeck.cc:14894 cp/semantics.cc:9078 + #, gcc-internal-format + msgid "%qE must be % for %" + msgstr "" + +-#: c/c-typeck.cc:14914 cp/semantics.cc:6896 ++#: c/c-typeck.cc:14909 cp/semantics.cc:6896 + #, gcc-internal-format + msgid "" + "modifier should not be specified in % clause on % or % " + "constructs when not using OpenMP 5.2 modifiers" + msgstr "" + +-#: c/c-typeck.cc:14923 ++#: c/c-typeck.cc:14918 + #, gcc-internal-format + msgid "" + "linear clause applied to non-integral non-pointer variable with type %qT" + msgstr "" + +-#: c/c-typeck.cc:14931 ++#: c/c-typeck.cc:14926 + #, gcc-internal-format + msgid "%<_Atomic%> %qD in % clause" + msgstr "" + +-#: c/c-typeck.cc:14950 cp/semantics.cc:6980 ++#: c/c-typeck.cc:14945 cp/semantics.cc:6980 + #, gcc-internal-format + msgid "% clause step %qE is neither constant nor a parameter" + msgstr "" + +-#: c/c-typeck.cc:14980 c/c-typeck.cc:15701 c/c-typeck.cc:15946 ++#: c/c-typeck.cc:14975 c/c-typeck.cc:15696 c/c-typeck.cc:15941 + #: cp/semantics.cc:7067 cp/semantics.cc:8469 cp/semantics.cc:8819 + #, gcc-internal-format + msgid "%qE is not a variable in clause %qs" + msgstr "" + +-#: c/c-typeck.cc:14998 cp/semantics.cc:7085 ++#: c/c-typeck.cc:14993 cp/semantics.cc:7085 + #, gcc-internal-format + msgid "%qD appears more than once in data-sharing clauses" + msgstr "" + +-#: c/c-typeck.cc:15009 cp/semantics.cc:7096 ++#: c/c-typeck.cc:15004 cp/semantics.cc:7096 + #, gcc-internal-format + msgid "%qD appears more than once in reduction clauses" + msgstr "" + +-#: c/c-typeck.cc:15023 c/c-typeck.cc:15093 c/c-typeck.cc:15127 ++#: c/c-typeck.cc:15018 c/c-typeck.cc:15088 c/c-typeck.cc:15122 + #, gcc-internal-format + msgid "%qE appears more than once in data clauses" + msgstr "" + +-#: c/c-typeck.cc:15033 c/c-typeck.cc:15100 c/c-typeck.cc:15431 +-#: c/c-typeck.cc:15624 c/c-typeck.cc:15632 c/c-typeck.cc:15649 +-#: c/c-typeck.cc:15659 c/c-typeck.cc:15667 cp/semantics.cc:7110 ++#: c/c-typeck.cc:15028 c/c-typeck.cc:15095 c/c-typeck.cc:15426 ++#: c/c-typeck.cc:15619 c/c-typeck.cc:15627 c/c-typeck.cc:15644 ++#: c/c-typeck.cc:15654 c/c-typeck.cc:15662 cp/semantics.cc:7110 + #: cp/semantics.cc:7120 cp/semantics.cc:7213 cp/semantics.cc:7220 + #: cp/semantics.cc:7267 cp/semantics.cc:8102 cp/semantics.cc:8333 + #: cp/semantics.cc:8341 cp/semantics.cc:8358 cp/semantics.cc:8368 +@@ -51288,234 +51270,234 @@ msgstr "" + msgid "%qD appears more than once in data clauses" + msgstr "" + +-#: c/c-typeck.cc:15036 c/c-typeck.cc:15106 c/c-typeck.cc:15635 +-#: c/c-typeck.cc:15670 cp/semantics.cc:7123 cp/semantics.cc:7226 ++#: c/c-typeck.cc:15031 c/c-typeck.cc:15101 c/c-typeck.cc:15630 ++#: c/c-typeck.cc:15665 cp/semantics.cc:7123 cp/semantics.cc:7226 + #: cp/semantics.cc:8344 cp/semantics.cc:8379 + #, gcc-internal-format + msgid "%qD appears both in data and map clauses" + msgstr "" + +-#: c/c-typeck.cc:15081 cp/semantics.cc:7200 ++#: c/c-typeck.cc:15076 cp/semantics.cc:7200 + #, gcc-internal-format + msgid "%qE is not a variable in clause %" + msgstr "" + +-#: c/c-typeck.cc:15120 cp/semantics.cc:7259 ++#: c/c-typeck.cc:15115 cp/semantics.cc:7259 + #, gcc-internal-format + msgid "%qE is not a variable in clause %" + msgstr "" + +-#: c/c-typeck.cc:15139 cp/semantics.cc:7654 ++#: c/c-typeck.cc:15134 cp/semantics.cc:7654 + #, gcc-internal-format + msgid "%qE is not a variable in % clause" + msgstr "" + +-#: c/c-typeck.cc:15146 ++#: c/c-typeck.cc:15141 + #, gcc-internal-format + msgid "%qE in % clause is neither a pointer nor an array" + msgstr "" + +-#: c/c-typeck.cc:15153 ++#: c/c-typeck.cc:15148 + #, gcc-internal-format + msgid "%<_Atomic%> %qD in % clause" + msgstr "" + +-#: c/c-typeck.cc:15160 ++#: c/c-typeck.cc:15155 + #, gcc-internal-format + msgid "%qE appears more than once in % clauses" + msgstr "" + +-#: c/c-typeck.cc:15173 cp/semantics.cc:7725 ++#: c/c-typeck.cc:15168 cp/semantics.cc:7725 + #, gcc-internal-format + msgid "%qE is not a variable in % clause" + msgstr "" + +-#: c/c-typeck.cc:15179 ++#: c/c-typeck.cc:15174 + #, gcc-internal-format + msgid "%qE appears more than once in % clauses" + msgstr "" + +-#: c/c-typeck.cc:15192 cp/semantics.cc:7764 ++#: c/c-typeck.cc:15187 cp/semantics.cc:7764 + #, gcc-internal-format + msgid "%qE is not a variable in % clause" + msgstr "" + +-#: c/c-typeck.cc:15198 ++#: c/c-typeck.cc:15193 + #, gcc-internal-format + msgid "%qE appears more than once in % clauses" + msgstr "" + +-#: c/c-typeck.cc:15268 cp/semantics.cc:7890 ++#: c/c-typeck.cc:15263 cp/semantics.cc:7890 + #, gcc-internal-format + msgid "% clause with % dependence type on array section" + msgstr "" + +-#: c/c-typeck.cc:15283 cp/semantics.cc:7905 ++#: c/c-typeck.cc:15278 cp/semantics.cc:7905 + #, gcc-internal-format + msgid "" + "% used with % kind other than % or %" + msgstr "" + +-#: c/c-typeck.cc:15291 cp/semantics.cc:7923 ++#: c/c-typeck.cc:15286 cp/semantics.cc:7923 + #, gcc-internal-format + msgid "%qE is not lvalue expression nor array section in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:15312 cp/semantics.cc:7945 ++#: c/c-typeck.cc:15307 cp/semantics.cc:7945 + #, gcc-internal-format + msgid "" + "%qE does not have % type in % clause with % " + "dependence type" + msgstr "" + +-#: c/c-typeck.cc:15322 cp/semantics.cc:7957 ++#: c/c-typeck.cc:15317 cp/semantics.cc:7957 + #, gcc-internal-format + msgid "" + "%qE should not have % type in % clause with " + "dependence type other than %" + msgstr "" + +-#: c/c-typeck.cc:15379 cp/semantics.cc:8052 ++#: c/c-typeck.cc:15374 cp/semantics.cc:8052 + #, gcc-internal-format + msgid "array section does not have mappable type in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:15427 c/c-typeck.cc:15646 cp/semantics.cc:8098 ++#: c/c-typeck.cc:15422 c/c-typeck.cc:15641 cp/semantics.cc:8098 + #: cp/semantics.cc:8355 + #, gcc-internal-format + msgid "%qD appears more than once in motion clauses" + msgstr "" + +-#: c/c-typeck.cc:15435 c/c-typeck.cc:15652 cp/semantics.cc:8106 ++#: c/c-typeck.cc:15430 c/c-typeck.cc:15647 cp/semantics.cc:8106 + #: cp/semantics.cc:8361 + #, gcc-internal-format + msgid "%qD appears more than once in map clauses" + msgstr "" + +-#: c/c-typeck.cc:15516 cp/semantics.cc:8200 ++#: c/c-typeck.cc:15511 cp/semantics.cc:8200 + #, gcc-internal-format + msgid "%qE does not have a mappable type in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:15597 c/c-typeck.cc:15714 cp/semantics.cc:8302 ++#: c/c-typeck.cc:15592 c/c-typeck.cc:15709 cp/semantics.cc:8302 + #: cp/semantics.cc:8482 + #, gcc-internal-format + msgid "%qD does not have a mappable type in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:15697 cp/semantics.cc:8464 ++#: c/c-typeck.cc:15692 cp/semantics.cc:8464 + #, gcc-internal-format + msgid "%qE is neither a variable nor a function name in clause %qs" + msgstr "" + +-#: c/c-typeck.cc:15723 cp/semantics.cc:8494 ++#: c/c-typeck.cc:15718 cp/semantics.cc:8494 + #, gcc-internal-format + msgid "%qE appears more than once on the same % directive" + msgstr "" + +-#: c/c-typeck.cc:15737 cp/semantics.cc:8510 ++#: c/c-typeck.cc:15732 cp/semantics.cc:8510 + #, gcc-internal-format + msgid "%qD is not an argument in % clause" + msgstr "" + +-#: c/c-typeck.cc:15740 cp/semantics.cc:8513 ++#: c/c-typeck.cc:15735 cp/semantics.cc:8513 + #, gcc-internal-format + msgid "%qE is not an argument in % clause" + msgstr "" + +-#: c/c-typeck.cc:15759 ++#: c/c-typeck.cc:15754 + #, gcc-internal-format + msgid "%qs variable is not a pointer" + msgstr "" + +-#: c/c-typeck.cc:15766 ++#: c/c-typeck.cc:15761 + #, gcc-internal-format + msgid "%qs variable is neither a pointer nor an array" + msgstr "" + +-#: c/c-typeck.cc:15814 c/c-typeck.cc:15907 cp/semantics.cc:8972 ++#: c/c-typeck.cc:15809 c/c-typeck.cc:15902 cp/semantics.cc:8972 + #, gcc-internal-format + msgid "% clause must not be used together with %" + msgstr "" + +-#: c/c-typeck.cc:15834 cp/semantics.cc:7997 ++#: c/c-typeck.cc:15829 cp/semantics.cc:7997 + #, gcc-internal-format + msgid "too many %qs clauses on a task construct" + msgstr "" + +-#: c/c-typeck.cc:15929 cp/semantics.cc:8787 ++#: c/c-typeck.cc:15924 cp/semantics.cc:8787 + #, gcc-internal-format + msgid "% clause is incompatible with %" + msgstr "" + +-#: c/c-typeck.cc:15996 cp/semantics.cc:9149 ++#: c/c-typeck.cc:15991 cp/semantics.cc:9149 + #, gcc-internal-format + msgid "%qE is predetermined %qs for %qs" + msgstr "" + +-#: c/c-typeck.cc:16006 ++#: c/c-typeck.cc:16001 + #, gcc-internal-format + msgid "" + "% qualified %qE may appear only in % or % " + "clauses" + msgstr "" + +-#: c/c-typeck.cc:16037 cp/semantics.cc:8924 ++#: c/c-typeck.cc:16032 cp/semantics.cc:8924 + #, gcc-internal-format + msgid "% clause value is bigger than % clause value" + msgstr "" + +-#: c/c-typeck.cc:16049 cp/semantics.cc:8937 ++#: c/c-typeck.cc:16044 cp/semantics.cc:8937 + #, gcc-internal-format + msgid "" + "% schedule modifier specified together with % clause" + msgstr "" + +-#: c/c-typeck.cc:16060 c/c-typeck.cc:16068 cp/semantics.cc:8946 ++#: c/c-typeck.cc:16055 c/c-typeck.cc:16063 cp/semantics.cc:8946 + #: cp/semantics.cc:8964 + #, gcc-internal-format + msgid "%qs clause specified together with % % clause" + msgstr "" + +-#: c/c-typeck.cc:16116 cp/semantics.cc:8904 ++#: c/c-typeck.cc:16111 cp/semantics.cc:8904 + #, gcc-internal-format + msgid "" + "% clause step is a parameter %qD not specified in % clause" + msgstr "" + +-#: c/c-typeck.cc:16167 cp/semantics.cc:8954 ++#: c/c-typeck.cc:16162 cp/semantics.cc:8954 + #, gcc-internal-format + msgid "% clause must not be used together with % clause" + msgstr "" + +-#: c/c-typeck.cc:16177 cp/semantics.cc:8983 ++#: c/c-typeck.cc:16172 cp/semantics.cc:8983 + #, gcc-internal-format + msgid "% clause must not be used together with % clause" + msgstr "" + +-#: c/c-typeck.cc:16195 cp/semantics.cc:9174 ++#: c/c-typeck.cc:16190 cp/semantics.cc:9174 + #, gcc-internal-format + msgid "" + "the event handle of a % clause should not be in a data-sharing " + "clause" + msgstr "" + +-#: c/c-typeck.cc:16369 ++#: c/c-typeck.cc:16364 + #, gcc-internal-format + msgid "cannot use % with reverse storage order" + msgstr "" + +-#: c/c-typeck.cc:16374 ++#: c/c-typeck.cc:16369 + #, gcc-internal-format + msgid "second argument to % is of incomplete type %qT" + msgstr "" + +-#: c/c-typeck.cc:16380 ++#: c/c-typeck.cc:16375 + #, gcc-internal-format + msgid "second argument to % is a function type %qT" + msgstr "" + +-#: c/c-typeck.cc:16386 ++#: c/c-typeck.cc:16381 + #, gcc-internal-format + msgid "C++ requires promoted type, not enum type, in %" + msgstr "" +@@ -51722,928 +51704,928 @@ msgid "expected case label" + msgstr "" + + #. A bad conversion for 'this' must be discarding cv-quals. +-#: cp/call.cc:3845 ++#: cp/call.cc:3837 + #, gcc-internal-format + msgid " passing %qT as % argument discards qualifiers" + msgstr "" + +-#: cp/call.cc:3849 ++#: cp/call.cc:3841 + msgid " no known conversion for implicit % parameter from %qH to %qI" + msgstr "" + +-#: cp/call.cc:3856 ++#: cp/call.cc:3848 + #, gcc-internal-format, gfc-internal-format + msgid " conversion of argument %d would be ill-formed:" + msgstr "" + + #. Conversion of conversion function return value failed. +-#: cp/call.cc:3863 ++#: cp/call.cc:3855 + msgid " no known conversion from %qH to %qI" + msgstr "" + +-#: cp/call.cc:3869 ++#: cp/call.cc:3861 + msgid " no known conversion for argument %d from %qH to %qI" + msgstr "" + +-#: cp/call.cc:3883 cp/pt.cc:7021 ++#: cp/call.cc:3875 cp/pt.cc:7020 + #, gcc-internal-format, gfc-internal-format + msgid " candidate expects at least %d argument, %d provided" + msgid_plural " candidate expects at least %d arguments, %d provided" + msgstr[0] "" + msgstr[1] "" + +-#: cp/call.cc:3888 cp/pt.cc:7026 ++#: cp/call.cc:3880 cp/pt.cc:7025 + #, gcc-internal-format, gfc-internal-format + msgid " candidate expects %d argument, %d provided" + msgid_plural " candidate expects %d arguments, %d provided" + msgstr[0] "" + msgstr[1] "" + +-#: cp/call.cc:3916 ++#: cp/call.cc:3908 + #, gcc-internal-format + msgid "%s%<%D(%T, %T, %T)%> (built-in)" + msgstr "" + +-#: cp/call.cc:3921 ++#: cp/call.cc:3913 + #, gcc-internal-format + msgid "%s%<%D(%T, %T)%> (built-in)" + msgstr "" + +-#: cp/call.cc:3925 ++#: cp/call.cc:3917 + #, gcc-internal-format + msgid "%s%<%D(%T)%> (built-in)" + msgstr "" + +-#: cp/call.cc:3929 ++#: cp/call.cc:3921 + #, gcc-internal-format + msgid "%s%qT (conversion)" + msgstr "" + +-#: cp/call.cc:3931 ++#: cp/call.cc:3923 + #, gcc-internal-format + msgid "%s%#qD (near match)" + msgstr "" + +-#: cp/call.cc:3933 ++#: cp/call.cc:3925 + #, gcc-internal-format + msgid "%s%#qD (deleted)" + msgstr "" + +-#: cp/call.cc:3935 ++#: cp/call.cc:3927 + #, gcc-internal-format + msgid "%s%#qD (reversed)" + msgstr "" + +-#: cp/call.cc:3937 ++#: cp/call.cc:3929 + #, gcc-internal-format + msgid "%s%#qD (rewritten)" + msgstr "" + +-#: cp/call.cc:3939 ++#: cp/call.cc:3931 + #, gcc-internal-format + msgid "%s%#qD" + msgstr "" + +-#: cp/call.cc:3943 ++#: cp/call.cc:3935 + #, gcc-internal-format + msgid " inherited here" + msgstr "" + +-#: cp/call.cc:3964 ++#: cp/call.cc:3956 + #, gcc-internal-format + msgid "" + " return type %qT of explicit conversion function cannot be converted to %qT " + "with a qualification conversion" + msgstr "" + +-#: cp/call.cc:3970 ++#: cp/call.cc:3962 + #, gcc-internal-format + msgid "" + " conversion from return type %qT of template conversion function " + "specialization to %qT is not an exact match" + msgstr "" + +-#: cp/call.cc:3981 ++#: cp/call.cc:3973 + #, gcc-internal-format + msgid "" + " substitution of deduced template arguments resulted in errors seen above" + msgstr "" + + #. Re-run template unification with diagnostics. +-#: cp/call.cc:3986 ++#: cp/call.cc:3978 + #, gcc-internal-format + msgid " template argument deduction/substitution failed:" + msgstr "" + +-#: cp/call.cc:4000 ++#: cp/call.cc:3992 + #, gcc-internal-format + msgid "" + " a constructor taking a single argument of its own class type is invalid" + msgstr "" + +-#: cp/call.cc:4007 ++#: cp/call.cc:3999 + #, gcc-internal-format + msgid "" + " an inherited constructor is not a candidate for initialization from an " + "expression of the same or derived type" + msgstr "" + +-#: cp/call.cc:4143 cp/call.cc:4682 ++#: cp/call.cc:4146 cp/call.cc:4667 + #, gcc-internal-format + msgid "designated initializers cannot be used with a non-aggregate type %qT" + msgstr "" + +-#: cp/call.cc:4579 ++#: cp/call.cc:4564 + msgid "conversion from %qH to %qI is ambiguous" + msgstr "" + +-#: cp/call.cc:4688 cp/cvt.cc:864 ++#: cp/call.cc:4673 cp/cvt.cc:864 + msgid "could not convert %qE from %qH to %qI" + msgstr "" + +-#: cp/call.cc:4755 ++#: cp/call.cc:4740 + msgid "" + "initializing %qH with %qI in converted constant expression does not bind " + "directly" + msgstr "" + +-#: cp/call.cc:4776 ++#: cp/call.cc:4761 + msgid "conversion from %qH to %qI in a converted constant expression" + msgstr "" + +-#: cp/call.cc:4964 ++#: cp/call.cc:4949 + #, gcc-internal-format + msgid "no matching function for call to %<%D(%A)%>" + msgstr "" + +-#: cp/call.cc:4967 ++#: cp/call.cc:4952 + #, gcc-internal-format + msgid "call of overloaded %<%D(%A)%> is ambiguous" + msgstr "" + + #. It's no good looking for an overloaded operator() on a + #. pointer-to-member-function. +-#: cp/call.cc:5254 ++#: cp/call.cc:5239 + #, gcc-internal-format + msgid "" + "pointer-to-member function %qE cannot be called without an object; consider " + "using %<.*%> or %<->*%>" + msgstr "" + +-#: cp/call.cc:5324 ++#: cp/call.cc:5309 + #, gcc-internal-format + msgid "no match for call to %<(%T) (%A)%>" + msgstr "" + +-#: cp/call.cc:5338 ++#: cp/call.cc:5323 + #, gcc-internal-format + msgid "call of %<(%T) (%A)%> is ambiguous" + msgstr "" + +-#: cp/call.cc:5384 ++#: cp/call.cc:5369 + #, gcc-internal-format + msgid "ambiguous overload for " + msgstr "" + +-#: cp/call.cc:5385 ++#: cp/call.cc:5370 + #, gcc-internal-format + msgid "no match for " + msgstr "" + +-#: cp/call.cc:5388 ++#: cp/call.cc:5373 + #, gcc-internal-format + msgid " (operand types are %qT, %qT, and %qT)" + msgstr "" + +-#: cp/call.cc:5390 ++#: cp/call.cc:5375 + #, gcc-internal-format + msgid " (operand types are %qT and %qT)" + msgstr "" + +-#: cp/call.cc:5392 ++#: cp/call.cc:5377 + #, gcc-internal-format + msgid " (operand type is %qT)" + msgstr "" + +-#: cp/call.cc:5409 ++#: cp/call.cc:5394 + #, gcc-internal-format + msgid "ternary %" + msgstr "" + +-#: cp/call.cc:5413 ++#: cp/call.cc:5398 + #, gcc-internal-format + msgid "ternary % in %<%E ? %E : %E%>" + msgstr "" + +-#: cp/call.cc:5422 cp/call.cc:5466 cp/call.cc:5476 ++#: cp/call.cc:5407 cp/call.cc:5451 cp/call.cc:5461 + #, gcc-internal-format + msgid "%" + msgstr "" + +-#: cp/call.cc:5425 ++#: cp/call.cc:5410 + #, gcc-internal-format + msgid "% in %<%E%s%>" + msgstr "" + +-#: cp/call.cc:5432 ++#: cp/call.cc:5417 + #, gcc-internal-format + msgid "%" + msgstr "" + +-#: cp/call.cc:5435 ++#: cp/call.cc:5420 + #, gcc-internal-format + msgid "% in %<%E[%E]%>" + msgstr "" + +-#: cp/call.cc:5443 ++#: cp/call.cc:5428 + #, gcc-internal-format + msgid "%qs" + msgstr "" + +-#: cp/call.cc:5446 ++#: cp/call.cc:5431 + #, gcc-internal-format + msgid "%qs in %<%s %E%>" + msgstr "" + +-#: cp/call.cc:5452 ++#: cp/call.cc:5437 + #, gcc-internal-format + msgid "%" + msgstr "" + +-#: cp/call.cc:5455 ++#: cp/call.cc:5440 + #, gcc-internal-format + msgid "% in %<%s%E%>" + msgstr "" + +-#: cp/call.cc:5470 ++#: cp/call.cc:5455 + #, gcc-internal-format + msgid "% in %<%E %s %E%>" + msgstr "" + +-#: cp/call.cc:5479 ++#: cp/call.cc:5464 + #, gcc-internal-format + msgid "% in %<%s%E%>" + msgstr "" + +-#: cp/call.cc:5592 ++#: cp/call.cc:5577 + #, gcc-internal-format + msgid "ISO C++ forbids omitting the middle term of a % expression" + msgstr "" + +-#: cp/call.cc:5667 ++#: cp/call.cc:5652 + #, gcc-internal-format + msgid "" + "inferred scalar type %qT is not an integer or floating-point type of the " + "same size as %qT" + msgstr "" + +-#: cp/call.cc:5684 cp/call.cc:5691 ++#: cp/call.cc:5669 cp/call.cc:5676 + msgid "conversion of scalar %qH to vector %qI involves truncation" + msgstr "" + +-#: cp/call.cc:5747 ++#: cp/call.cc:5732 + #, gcc-internal-format + msgid "incompatible vector types in conditional expression: %qT, %qT and %qT" + msgstr "" + +-#: cp/call.cc:5799 cp/call.cc:6151 cp/call.cc:6171 ++#: cp/call.cc:5784 cp/call.cc:6136 cp/call.cc:6156 + #, gcc-internal-format + msgid "operands to % of types %qT and %qT have unordered conversion rank" + msgstr "" + +-#: cp/call.cc:5871 ++#: cp/call.cc:5856 + #, gcc-internal-format + msgid "" + "second operand to the conditional operator is of type %, but the " + "third operand is neither a throw-expression nor of type %" + msgstr "" + +-#: cp/call.cc:5876 ++#: cp/call.cc:5861 + #, gcc-internal-format + msgid "" + "third operand to the conditional operator is of type %, but the " + "second operand is neither a throw-expression nor of type %" + msgstr "" + +-#: cp/call.cc:5925 cp/call.cc:6040 cp/call.cc:6274 ++#: cp/call.cc:5910 cp/call.cc:6025 cp/call.cc:6259 + #, gcc-internal-format + msgid "operands to % have different types %qT and %qT" + msgstr "" + +-#: cp/call.cc:5929 ++#: cp/call.cc:5914 + #, gcc-internal-format + msgid " and each type can be converted to the other" + msgstr "" + +-#: cp/call.cc:6179 ++#: cp/call.cc:6164 + msgid "" + "implicit conversion from %qH to %qI to match other result of conditional" + msgstr "" + +-#: cp/call.cc:6195 ++#: cp/call.cc:6180 + #, gcc-internal-format + msgid "enumerated mismatch in conditional expression: %qT vs %qT" + msgstr "" + +-#: cp/call.cc:6208 ++#: cp/call.cc:6193 + #, gcc-internal-format + msgid "" + "conditional expression between enumeration type %qT and floating-point type " + "%qT is deprecated" + msgstr "" + +-#: cp/call.cc:6213 ++#: cp/call.cc:6198 + #, gcc-internal-format + msgid "" + "conditional expression between floating-point type %qT and enumeration type " + "%qT is deprecated" + msgstr "" + +-#: cp/call.cc:6229 ++#: cp/call.cc:6214 + #, gcc-internal-format + msgid "enumerated and non-enumerated type in conditional expression" + msgstr "" + +-#: cp/call.cc:7080 ++#: cp/call.cc:7065 + #, gcc-internal-format + msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead" + msgstr "" + +-#: cp/call.cc:7082 ++#: cp/call.cc:7067 + #, gcc-internal-format + msgid "no %<%D(int)%> declared for postfix %qs" + msgstr "" + +-#: cp/call.cc:7162 ++#: cp/call.cc:7147 + #, gcc-internal-format + msgid "" + "in C++20 this comparison calls the current function recursively with " + "reversed arguments" + msgstr "" + +-#: cp/call.cc:7215 ++#: cp/call.cc:7200 + #, gcc-internal-format + msgid "return type of %qD is not %qs" + msgstr "" + +-#: cp/call.cc:7217 ++#: cp/call.cc:7202 + #, gcc-internal-format + msgid "used as rewritten candidate for comparison of %qT and %qT" + msgstr "" + +-#: cp/call.cc:7294 ++#: cp/call.cc:7279 + #, gcc-internal-format + msgid "comparison between %q#T and %q#T" + msgstr "" + +-#: cp/call.cc:7487 ++#: cp/call.cc:7472 + #, gcc-internal-format + msgid "no match for call to %<%T::operator[] (%A)%>" + msgstr "" + +-#: cp/call.cc:7501 ++#: cp/call.cc:7486 + #, gcc-internal-format + msgid "call of %<%T::operator[] (%A)%> is ambiguous" + msgstr "" + +-#: cp/call.cc:7782 ++#: cp/call.cc:7767 + #, gcc-internal-format + msgid "" + "exception cleanup for this placement new selects non-placement %" + msgstr "" + +-#: cp/call.cc:7785 ++#: cp/call.cc:7770 + #, gcc-internal-format + msgid "" + "%qD is a usual (non-placement) deallocation function in C++14 (or with %<-" + "fsized-deallocation%>)" + msgstr "" + +-#: cp/call.cc:7822 ++#: cp/call.cc:7807 + #, gcc-internal-format + msgid "%qD is a usual (non-placement) deallocation function" + msgstr "" + +-#: cp/call.cc:8016 ++#: cp/call.cc:8001 + #, gcc-internal-format + msgid "no corresponding deallocation function for %qD" + msgstr "" + +-#: cp/call.cc:8019 ++#: cp/call.cc:8004 + #, gcc-internal-format + msgid "" + "destroying delete %qD cannot be used to release the allocated memory if the " + "initialization throws because the object is not constructed yet" + msgstr "" + +-#: cp/call.cc:8028 ++#: cp/call.cc:8013 + #, gcc-internal-format + msgid "no suitable % for %qT" + msgstr "" + +-#: cp/call.cc:8064 ++#: cp/call.cc:8049 + #, gcc-internal-format + msgid "%q#D is private within this context" + msgstr "" + +-#: cp/call.cc:8065 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8895 + #, gcc-internal-format + msgid "declared private here" + msgstr "" + +-#: cp/call.cc:8070 ++#: cp/call.cc:8055 + #, gcc-internal-format + msgid "%q#D is protected within this context" + msgstr "" + +-#: cp/call.cc:8071 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8896 + #, gcc-internal-format + msgid "declared protected here" + msgstr "" + +-#: cp/call.cc:8078 ++#: cp/call.cc:8063 + #, gcc-internal-format + msgid "%q#D is inaccessible within this context" + msgstr "" + +-#: cp/call.cc:8159 ++#: cp/call.cc:8144 + #, gcc-internal-format + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "" + +-#: cp/call.cc:8162 cp/call.cc:8181 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 + #: cp/typeck.cc:4591 + #, gcc-internal-format + msgid " declared here" + msgstr "" + +-#: cp/call.cc:8166 ++#: cp/call.cc:8151 + #, gcc-internal-format + msgid "converting to non-pointer type %qT from NULL" + msgstr "" + +-#: cp/call.cc:8178 ++#: cp/call.cc:8163 + #, gcc-internal-format + msgid "converting % to pointer type for argument %P of %qD" + msgstr "" + +-#: cp/call.cc:8185 ++#: cp/call.cc:8170 + #, gcc-internal-format + msgid "converting % to pointer type %qT" + msgstr "" + +-#: cp/call.cc:8252 ++#: cp/call.cc:8237 + #, gcc-internal-format + msgid " initializing argument %P of %qD" + msgstr "" + +-#: cp/call.cc:8273 ++#: cp/call.cc:8258 + #, gcc-internal-format + msgid "" + "conversions to arrays of unknown bound are only available with %<-std=c+" + "+20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/call.cc:8323 ++#: cp/call.cc:8308 + #, gcc-internal-format + msgid "too many braces around initializer for %qT" + msgstr "" + +-#: cp/call.cc:8334 ++#: cp/call.cc:8319 + msgid "converting to %qH from %qI requires direct-initialization" + msgstr "" + +-#: cp/call.cc:8346 ++#: cp/call.cc:8331 + msgid "converting to %qH from %qI with greater conversion rank" + msgstr "" + +-#: cp/call.cc:8353 ++#: cp/call.cc:8338 + msgid "converting to %qH from %qI with unordered conversion ranks" + msgstr "" + +-#: cp/call.cc:8368 ++#: cp/call.cc:8353 + msgid "invalid user-defined conversion from %qH to %qI" + msgstr "" + +-#: cp/call.cc:8408 cp/cvt.cc:227 ++#: cp/call.cc:8393 cp/cvt.cc:227 + msgid "invalid conversion from %qH to %qI" + msgstr "" + +-#: cp/call.cc:8450 cp/call.cc:8457 ++#: cp/call.cc:8435 cp/call.cc:8442 + #, gcc-internal-format + msgid "" + "converting to %qT from initializer list would use explicit constructor %qD" + msgstr "" + +-#: cp/call.cc:8453 ++#: cp/call.cc:8438 + #, gcc-internal-format + msgid "in C++11 and above a default constructor can be explicit" + msgstr "" + +-#: cp/call.cc:8723 ++#: cp/call.cc:8708 + msgid "cannot bind rvalue reference of type %qH to lvalue of type %qI" + msgstr "" + +-#: cp/call.cc:8732 ++#: cp/call.cc:8717 + msgid "" + "cannot bind non-const lvalue reference of type %qH to a value of type %qI" + msgstr "" + +-#: cp/call.cc:8737 ++#: cp/call.cc:8722 + msgid "" + "cannot bind non-const lvalue reference of type %qH to an rvalue of type %qI" + msgstr "" + + #. extype is volatile +-#: cp/call.cc:8740 ++#: cp/call.cc:8725 + msgid "cannot bind lvalue reference of type %qH to an rvalue of type %qI" + msgstr "" + +-#: cp/call.cc:8753 ++#: cp/call.cc:8738 + msgid "cannot bind reference of type %qH to %qI due to different array bounds" + msgstr "" + +-#: cp/call.cc:8756 ++#: cp/call.cc:8741 + msgid "binding reference of type %qH to %qI discards qualifiers" + msgstr "" + +-#: cp/call.cc:8795 ++#: cp/call.cc:8780 + #, gcc-internal-format + msgid "cannot bind bit-field %qE to %qT" + msgstr "" + +-#: cp/call.cc:8798 cp/call.cc:8816 ++#: cp/call.cc:8783 cp/call.cc:8801 + #, gcc-internal-format + msgid "cannot bind packed field %qE to %qT" + msgstr "" + +-#: cp/call.cc:8801 ++#: cp/call.cc:8786 + #, gcc-internal-format + msgid "cannot bind rvalue %qE to %qT" + msgstr "" + +-#: cp/call.cc:9002 ++#: cp/call.cc:8987 + msgid "implicit conversion from %qH to %qI when passing argument to function" + msgstr "" + +-#: cp/call.cc:9031 cp/cvt.cc:1992 ++#: cp/call.cc:9016 cp/cvt.cc:1992 + #, gcc-internal-format + msgid "" + "scoped enum %qT passed through %<...%> as %qT before %<-fabi-version=6%>, " + "%qT after" + msgstr "" + +-#: cp/call.cc:9075 ++#: cp/call.cc:9060 + #, gcc-internal-format + msgid "" + "passing objects of non-trivially-copyable type %q#T through %<...%> is " + "conditionally supported" + msgstr "" + +-#: cp/call.cc:9111 ++#: cp/call.cc:9096 + #, gcc-internal-format + msgid "cannot receive reference type %qT through %<...%>" + msgstr "" + +-#: cp/call.cc:9121 ++#: cp/call.cc:9106 + #, gcc-internal-format + msgid "" + "receiving objects of non-trivially-copyable type %q#T through %<...%> is " + "conditionally-supported" + msgstr "" + +-#: cp/call.cc:9189 ++#: cp/call.cc:9174 + #, gcc-internal-format + msgid "recursive evaluation of default argument for %q#D" + msgstr "" + +-#: cp/call.cc:9198 ++#: cp/call.cc:9183 + #, gcc-internal-format + msgid "" + "call to %qD uses the default argument for parameter %P, which is not yet " + "defined" + msgstr "" + +-#: cp/call.cc:9298 ++#: cp/call.cc:9283 + #, gcc-internal-format + msgid "argument of function call might be a candidate for a format attribute" + msgstr "" + +-#: cp/call.cc:9368 ++#: cp/call.cc:9353 + #, gcc-internal-format + msgid "use of multiversioned function without a default" + msgstr "" + +-#: cp/call.cc:9993 ++#: cp/call.cc:9978 + #, gcc-internal-format + msgid "passing %qT as % argument discards qualifiers" + msgstr "" + +-#: cp/call.cc:9996 cp/call.cc:12790 ++#: cp/call.cc:9981 cp/call.cc:12764 + #, gcc-internal-format + msgid " in call to %qD" + msgstr "" + +-#: cp/call.cc:10021 ++#: cp/call.cc:10006 + #, gcc-internal-format + msgid "%qT is not an accessible base of %qT" + msgstr "" + +-#: cp/call.cc:10226 ++#: cp/call.cc:10211 + #, gcc-internal-format + msgid "passing arguments to ellipsis of inherited constructor %qD" + msgstr "" + +-#: cp/call.cc:10361 ++#: cp/call.cc:10346 + #, gcc-internal-format + msgid "" + "assignment from temporary % does not extend the lifetime " + "of the underlying array" + msgstr "" + +-#: cp/call.cc:10758 ++#: cp/call.cc:10743 + #, gcc-internal-format + msgid "%qD writing to an object of type %#qT with no trivial copy-assignment" + msgstr "" + +-#: cp/call.cc:10761 ++#: cp/call.cc:10746 + #, gcc-internal-format + msgid "%qD writing to an object of non-trivial type %#qT%s" + msgstr "" + +-#: cp/call.cc:10766 ++#: cp/call.cc:10751 + #, gcc-internal-format + msgid "%qD writing to an object of type %#qT with %qs member %qD" + msgstr "" + +-#: cp/call.cc:10771 ++#: cp/call.cc:10756 + #, gcc-internal-format + msgid "" + "%qD writing to an object of type %#qT containing a pointer to data member%s" + msgstr "" + +-#: cp/call.cc:10786 ++#: cp/call.cc:10771 + #, gcc-internal-format + msgid "; use assignment or value-initialization instead" + msgstr "" + +-#: cp/call.cc:10788 ++#: cp/call.cc:10773 + #, gcc-internal-format + msgid "; use assignment instead" + msgstr "" + +-#: cp/call.cc:10790 ++#: cp/call.cc:10775 + #, gcc-internal-format + msgid "; use value-initialization instead" + msgstr "" + +-#: cp/call.cc:10793 ++#: cp/call.cc:10778 + #, gcc-internal-format + msgid "%qD clearing an object of type %#qT with no trivial copy-assignment%s" + msgstr "" + +-#: cp/call.cc:10796 ++#: cp/call.cc:10781 + #, gcc-internal-format + msgid "%qD clearing an object of non-trivial type %#qT%s" + msgstr "" + +-#: cp/call.cc:10798 ++#: cp/call.cc:10783 + #, gcc-internal-format + msgid "%qD clearing an object of type %#qT containing a pointer-to-member%s" + msgstr "" + +-#: cp/call.cc:10819 ++#: cp/call.cc:10804 + #, gcc-internal-format + msgid "; use copy-assignment or copy-initialization instead" + msgstr "" + +-#: cp/call.cc:10821 ++#: cp/call.cc:10806 + #, gcc-internal-format + msgid "; use copy-assignment instead" + msgstr "" + +-#: cp/call.cc:10823 ++#: cp/call.cc:10808 + #, gcc-internal-format + msgid "; use copy-initialization instead" + msgstr "" + +-#: cp/call.cc:10826 ++#: cp/call.cc:10811 + #, gcc-internal-format + msgid "%qD writing to an object of type %#qT with no trivial copy-assignment%s" + msgstr "" + +-#: cp/call.cc:10829 ++#: cp/call.cc:10814 + #, gcc-internal-format + msgid "%qD writing to an object of non-trivially copyable type %#qT%s" + msgstr "" + +-#: cp/call.cc:10832 ++#: cp/call.cc:10817 + #, gcc-internal-format + msgid "%qD writing to an object with a deleted copy constructor" + msgstr "" + +-#: cp/call.cc:10843 ++#: cp/call.cc:10828 + #, gcc-internal-format + msgid "%qD copying an object of non-trivial type %#qT from an array of %#qT" + msgstr "" + +-#: cp/call.cc:10855 ++#: cp/call.cc:10840 + #, gcc-internal-format + msgid "" + "%qD copying an object of type %#qT with %qs member %qD from an array of " + "%#qT; use assignment or copy-initialization instead" + msgstr "" + +-#: cp/call.cc:10874 ++#: cp/call.cc:10859 + #, gcc-internal-format + msgid "" + "%qD writing to an object of a non-trivial type %#qT leaves %wu bytes " + "unchanged" + msgstr "" + +-#: cp/call.cc:10877 ++#: cp/call.cc:10862 + #, gcc-internal-format + msgid "" + "%qD writing to an object of a non-trivial type %#qT leaves %wu byte unchanged" + msgstr "" + +-#: cp/call.cc:10887 ++#: cp/call.cc:10872 + #, gcc-internal-format + msgid "" + "%qD moving an object of non-trivially copyable type %#qT; use % and " + "% instead" + msgstr "" + +-#: cp/call.cc:10890 ++#: cp/call.cc:10875 + #, gcc-internal-format + msgid "" + "%qD moving an object of type %#qT with deleted copy constructor; use % " + "and % instead" + msgstr "" + +-#: cp/call.cc:10893 ++#: cp/call.cc:10878 + #, gcc-internal-format + msgid "%qD moving an object of type %#qT with deleted destructor" + msgstr "" + +-#: cp/call.cc:10902 ++#: cp/call.cc:10887 + #, gcc-internal-format + msgid "" + "%qD moving an object of non-trivial type %#qT and size %E into a region of " + "size %E" + msgstr "" + +-#: cp/call.cc:10924 ++#: cp/call.cc:10909 + #, gcc-internal-format + msgid "%#qT declared here" + msgstr "" + +-#: cp/call.cc:10978 ++#: cp/call.cc:10963 + #, gcc-internal-format + msgid "" + "argument %u in call to function %qE has pointer to a non-trivially-copyable " + "type (%qT)" + msgstr "" + +-#: cp/call.cc:11045 ++#: cp/call.cc:11030 + #, gcc-internal-format + msgid "constructor delegates to itself" + msgstr "" + +-#: cp/call.cc:11320 cp/typeck.cc:10277 ++#: cp/call.cc:11305 cp/typeck.cc:10277 + msgid "cannot convert %qH to %qI" + msgstr "" + +-#: cp/call.cc:11342 ++#: cp/call.cc:11327 + #, gcc-internal-format + msgid "no matching function for call to %<%T::operator %T(%A)%#V%>" + msgstr "" + +-#: cp/call.cc:11374 ++#: cp/call.cc:11359 + #, gcc-internal-format + msgid "no matching function for call to %<%T::%s%E(%A)%#V%>" + msgstr "" + +-#: cp/call.cc:11423 ++#: cp/call.cc:11408 + #, gcc-internal-format + msgid "call to non-function %qD" + msgstr "" + +-#: cp/call.cc:11461 cp/pt.cc:16913 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "" + +-#: cp/call.cc:11463 ++#: cp/call.cc:11448 + #, gcc-internal-format + msgid "for a function-style cast, remove the redundant %<::%D%>" + msgstr "" + +-#: cp/call.cc:11651 ++#: cp/call.cc:11636 + #, gcc-internal-format + msgid "no matching function for call to %<%s(%A)%>" + msgstr "" + +-#: cp/call.cc:11654 ++#: cp/call.cc:11639 + #, gcc-internal-format + msgid "call of overloaded %<%s(%A)%> is ambiguous" + msgstr "" + +-#: cp/call.cc:11677 ++#: cp/call.cc:11662 + #, gcc-internal-format + msgid "pure virtual %q#D called from non-static data member initializer" + msgstr "" + +-#: cp/call.cc:11682 ++#: cp/call.cc:11667 + #, gcc-internal-format + msgid "pure virtual %q#D called from constructor" + msgstr "" + +-#: cp/call.cc:11683 ++#: cp/call.cc:11668 + #, gcc-internal-format + msgid "pure virtual %q#D called from destructor" + msgstr "" + +-#: cp/call.cc:11706 ++#: cp/call.cc:11691 + #, gcc-internal-format + msgid "cannot call member function %qD without object" + msgstr "" + +-#: cp/call.cc:12788 ++#: cp/call.cc:12762 + #, gcc-internal-format + msgid "passing %qT chooses %qT over %qT" + msgstr "" + +-#: cp/call.cc:12814 ++#: cp/call.cc:12788 + #, gcc-internal-format + msgid "" + "C++20 says that these are ambiguous, even though the second is reversed:" + msgstr "" + +-#: cp/call.cc:12837 ++#: cp/call.cc:12811 + #, gcc-internal-format + msgid "try making the operator a % member function" + msgstr "" + +-#: cp/call.cc:12900 ++#: cp/call.cc:12874 + #, gcc-internal-format + msgid "choosing %qD over %qD" + msgstr "" + +-#: cp/call.cc:12901 ++#: cp/call.cc:12875 + msgid " for conversion from %qH to %qI" + msgstr "" + +-#: cp/call.cc:12904 ++#: cp/call.cc:12878 + #, gcc-internal-format + msgid " because conversion sequence for the argument is better" + msgstr "" + +-#: cp/call.cc:13174 ++#: cp/call.cc:13128 + #, gcc-internal-format + msgid "default argument mismatch in overload resolution" + msgstr "" + +-#: cp/call.cc:13178 ++#: cp/call.cc:13132 + #, gcc-internal-format + msgid " candidate 1: %q#F" + msgstr "" + +-#: cp/call.cc:13180 ++#: cp/call.cc:13134 + #, gcc-internal-format + msgid " candidate 2: %q#F" + msgstr "" + +-#: cp/call.cc:13226 ++#: cp/call.cc:13180 + #, gcc-internal-format + msgid "" + "ISO C++ says that these are ambiguous, even though the worst conversion for " + "the first is better than the worst conversion for the second:" + msgstr "" + +-#: cp/call.cc:13627 ++#: cp/call.cc:13581 + #, gcc-internal-format + msgid "a temporary bound to %qD only persists until the constructor exits" + msgstr "" + +-#: cp/call.cc:13782 ++#: cp/call.cc:13736 + msgid "" + "invalid initialization of non-const reference of type %qH from an rvalue of " + "type %qI" + msgstr "" + +-#: cp/call.cc:13786 ++#: cp/call.cc:13740 + msgid "" + "invalid initialization of reference of type %qH from expression of type %qI" + msgstr "" + +-#: cp/call.cc:14062 ++#: cp/call.cc:14016 + #, gcc-internal-format + msgid "possibly dangling reference to a temporary" + msgstr "" + +-#: cp/call.cc:14063 ++#: cp/call.cc:14017 + #, gcc-internal-format + msgid "the temporary was destroyed at the end of the full expression %qE" + msgstr "" +@@ -53122,7 +53104,7 @@ msgstr "" + msgid "next member %q#D declared here" + msgstr "" + +-#: cp/class.cc:7506 cp/decl.cc:17162 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 + #, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "" +@@ -53294,85 +53276,85 @@ msgstr "" + msgid "%qD is not usable as a % function because:" + msgstr "" + +-#: cp/constexpr.cc:1534 cp/constexpr.cc:3141 ++#: cp/constexpr.cc:1536 cp/constexpr.cc:3141 + #: rust/backend/rust-constexpr.cc:3324 rust/backend/rust-constexpr.cc:3586 + #, gcc-internal-format + msgid "% call flows off the end of the function" + msgstr "" + +-#: cp/constexpr.cc:1536 cp/constexpr.cc:1635 cp/constexpr.cc:1644 ++#: cp/constexpr.cc:1538 cp/constexpr.cc:1637 cp/constexpr.cc:1646 + #: cp/constexpr.cc:3362 rust/backend/rust-constexpr.cc:3329 + #: rust/backend/rust-constexpr.cc:3339 rust/backend/rust-constexpr.cc:4320 + #, gcc-internal-format + msgid "%q+E is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:1986 ++#: cp/constexpr.cc:1988 + #, gcc-internal-format + msgid "the comparison reduces to %qE" + msgstr "" + +-#: cp/constexpr.cc:1989 ++#: cp/constexpr.cc:1991 + #, gcc-internal-format + msgid "%qE evaluates to false" + msgstr "" + +-#: cp/constexpr.cc:2068 ++#: cp/constexpr.cc:2070 + #, gcc-internal-format + msgid "failed % attribute assumption" + msgstr "" + +-#: cp/constexpr.cc:2103 cp/constexpr.cc:9127 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 + #: rust/backend/rust-constexpr.cc:5754 + #, gcc-internal-format + msgid "call to internal function %qE" + msgstr "" + +-#: cp/constexpr.cc:2157 rust/backend/rust-constexpr.cc:2613 ++#: cp/constexpr.cc:2159 rust/backend/rust-constexpr.cc:2613 + #, gcc-internal-format + msgid "modifying a const object %qE is not allowed in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:2159 rust/backend/rust-constexpr.cc:2616 ++#: cp/constexpr.cc:2161 rust/backend/rust-constexpr.cc:2616 + #, gcc-internal-format + msgid "originally declared % here" + msgstr "" + +-#: cp/constexpr.cc:2384 cp/constexpr.cc:2439 cp/constexpr.cc:2471 +-#: cp/constexpr.cc:2492 ++#: cp/constexpr.cc:2386 cp/constexpr.cc:2441 cp/constexpr.cc:2473 ++#: cp/constexpr.cc:2494 + #, gcc-internal-format + msgid "reference % failed" + msgstr "" + +-#: cp/constexpr.cc:2385 ++#: cp/constexpr.cc:2387 + #, gcc-internal-format + msgid "dynamic type %qT of its operand does not have a base class of type %qT" + msgstr "" + +-#: cp/constexpr.cc:2409 ++#: cp/constexpr.cc:2411 + #, gcc-internal-format + msgid "virtual table pointer is used uninitialized" + msgstr "" + +-#: cp/constexpr.cc:2440 cp/constexpr.cc:2472 ++#: cp/constexpr.cc:2442 cp/constexpr.cc:2474 + #, gcc-internal-format + msgid "" + "static type %qT of its operand is a non-public base class of dynamic type %qT" + msgstr "" + +-#: cp/constexpr.cc:2494 ++#: cp/constexpr.cc:2496 + #, gcc-internal-format + msgid "%qT is an ambiguous base class of dynamic type %qT of its operand" + msgstr "" + +-#: cp/constexpr.cc:2497 ++#: cp/constexpr.cc:2499 + #, gcc-internal-format + msgid "" + "dynamic type %qT of its operand does not have an unambiguous public base " + "class %qT" + msgstr "" + +-#: cp/constexpr.cc:2574 cp/constexpr.cc:2848 cp/constexpr.cc:9159 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 + #: rust/backend/rust-constexpr.cc:5785 + #, gcc-internal-format + msgid "call to non-% function %qD" +@@ -53380,52 +53362,52 @@ msgstr "" + + #. virtual_offset is only set for virtual bases, which make the + #. class non-literal, so we don't need to handle it here. +-#: cp/constexpr.cc:2580 ++#: cp/constexpr.cc:2582 + #, gcc-internal-format + msgid "calling constexpr member function %qD through virtual base subobject" + msgstr "" + +-#: cp/constexpr.cc:2696 rust/backend/rust-constexpr.cc:3384 ++#: cp/constexpr.cc:2698 rust/backend/rust-constexpr.cc:3384 + #, gcc-internal-format + msgid "expression %qE does not designate a % function" + msgstr "" + +-#: cp/constexpr.cc:2769 ++#: cp/constexpr.cc:2771 + #, gcc-internal-format + msgid "array deallocation of object allocated with non-array allocation" + msgstr "" + +-#: cp/constexpr.cc:2773 cp/constexpr.cc:2795 ++#: cp/constexpr.cc:2775 cp/constexpr.cc:2797 + #, gcc-internal-format + msgid "allocation performed here" + msgstr "" + +-#: cp/constexpr.cc:2791 ++#: cp/constexpr.cc:2793 + #, gcc-internal-format + msgid "non-array deallocation of object allocated with array allocation" + msgstr "" + +-#: cp/constexpr.cc:2808 ++#: cp/constexpr.cc:2810 + #, gcc-internal-format + msgid "deallocation of already deallocated storage" + msgstr "" + +-#: cp/constexpr.cc:2815 ++#: cp/constexpr.cc:2817 + #, gcc-internal-format + msgid "deallocation of storage that was not previously allocated" + msgstr "" + +-#: cp/constexpr.cc:2929 rust/backend/rust-constexpr.cc:3439 ++#: cp/constexpr.cc:2931 rust/backend/rust-constexpr.cc:3439 + #, gcc-internal-format + msgid "%qD called in a constant expression before its definition is complete" + msgstr "" + +-#: cp/constexpr.cc:2936 ++#: cp/constexpr.cc:2938 + #, gcc-internal-format + msgid "%qD called in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:2940 rust/backend/rust-constexpr.cc:3453 ++#: cp/constexpr.cc:2942 rust/backend/rust-constexpr.cc:3453 + #, gcc-internal-format + msgid "%qD used before its definition" + msgstr "" +@@ -53505,7 +53487,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6997 cp/constexpr.cc:7095 cp/constexpr.cc:9077 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -53610,134 +53592,134 @@ msgid "" + "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "" + +-#: cp/constexpr.cc:5632 cp/constexpr.cc:7723 rust/backend/rust-constexpr.cc:872 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 rust/backend/rust-constexpr.cc:872 + #: rust/backend/rust-constexpr.cc:2492 + #, gcc-internal-format + msgid "dereferencing a null pointer" + msgstr "" + +-#: cp/constexpr.cc:5652 rust/backend/rust-constexpr.cc:892 ++#: cp/constexpr.cc:5653 rust/backend/rust-constexpr.cc:892 + #, gcc-internal-format + msgid "accessing value of %qE through a %qT glvalue in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:5698 ++#: cp/constexpr.cc:5699 + #, gcc-internal-format + msgid "" + "the content of uninitialized storage is not usable in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:5700 cp/constexpr.cc:5707 ++#: cp/constexpr.cc:5701 cp/constexpr.cc:5708 + #, gcc-internal-format + msgid "allocated here" + msgstr "" + +-#: cp/constexpr.cc:5705 ++#: cp/constexpr.cc:5706 + #, gcc-internal-format + msgid "use of allocated storage after deallocation in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:5710 rust/backend/rust-constexpr.cc:4037 ++#: cp/constexpr.cc:5711 rust/backend/rust-constexpr.cc:4037 + #, gcc-internal-format + msgid "the value of %qD is not usable in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:5718 ++#: cp/constexpr.cc:5719 + #, gcc-internal-format + msgid "%qD used in its own initializer" + msgstr "" + +-#: cp/constexpr.cc:5723 ++#: cp/constexpr.cc:5724 + #, gcc-internal-format + msgid "%q#D is not const" + msgstr "" + +-#: cp/constexpr.cc:5726 ++#: cp/constexpr.cc:5727 + #, gcc-internal-format + msgid "%q#D is volatile" + msgstr "" + +-#: cp/constexpr.cc:5731 cp/constexpr.cc:5738 ++#: cp/constexpr.cc:5732 cp/constexpr.cc:5739 + #, gcc-internal-format + msgid "%qD was not initialized with a constant expression" + msgstr "" + +-#: cp/constexpr.cc:5744 ++#: cp/constexpr.cc:5745 + #, gcc-internal-format + msgid "%qD was not declared %" + msgstr "" + +-#: cp/constexpr.cc:5747 ++#: cp/constexpr.cc:5748 + #, gcc-internal-format + msgid "%qD does not have integral or enumeration type" + msgstr "" + +-#: cp/constexpr.cc:6016 rust/backend/rust-constexpr.cc:2751 ++#: cp/constexpr.cc:6017 rust/backend/rust-constexpr.cc:2751 + #, gcc-internal-format + msgid "modification of %qE is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:6115 ++#: cp/constexpr.cc:6116 + #, gcc-internal-format + msgid "change of the active member of a union from %qD to %qD" + msgstr "" + +-#: cp/constexpr.cc:6128 rust/backend/rust-constexpr.cc:2820 ++#: cp/constexpr.cc:6129 rust/backend/rust-constexpr.cc:2820 + #, gcc-internal-format + msgid "" + "change of the active member of a union from %qD to %qD during initialization" + msgstr "" + +-#: cp/constexpr.cc:6574 cp/constexpr.cc:8064 cp/constexpr.cc:8076 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 + #: rust/backend/rust-constexpr.cc:4664 + #, gcc-internal-format + msgid "statement is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:6678 rust/backend/rust-constexpr.cc:4929 ++#: cp/constexpr.cc:6679 rust/backend/rust-constexpr.cc:4929 + #, gcc-internal-format + msgid "" + "% loop iteration count exceeds limit of %d (use %<-fconstexpr-" + "loop-limit=%> to increase the limit)" + msgstr "" + +-#: cp/constexpr.cc:6779 rust/backend/rust-constexpr.cc:996 ++#: cp/constexpr.cc:6780 rust/backend/rust-constexpr.cc:996 + #, gcc-internal-format + msgid "inline assembly is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:6781 rust/backend/rust-constexpr.cc:997 ++#: cp/constexpr.cc:6782 rust/backend/rust-constexpr.cc:997 + #, gcc-internal-format + msgid "" + "only unevaluated inline assembly is allowed in a % function in C+" + "+20" + msgstr "" + +-#: cp/constexpr.cc:6799 ++#: cp/constexpr.cc:6800 + #, gcc-internal-format + msgid "use of %qD" + msgstr "" + +-#: cp/constexpr.cc:6803 ++#: cp/constexpr.cc:6804 + #, gcc-internal-format + msgid "" + "its value can vary between compiler versions or with different %<-mtune%> or " + "%<-mcpu%> flags" + msgstr "" + +-#: cp/constexpr.cc:6805 ++#: cp/constexpr.cc:6806 + #, gcc-internal-format + msgid "" + "if this use is part of a public ABI, change it to instead use a constant " + "variable you define" + msgstr "" + +-#: cp/constexpr.cc:6807 ++#: cp/constexpr.cc:6808 + #, gcc-internal-format, gfc-internal-format + msgid "the default value for the current CPU tuning is %d bytes" + msgstr "" + +-#: cp/constexpr.cc:6809 ++#: cp/constexpr.cc:6810 + #, gcc-internal-format + msgid "" + "you can stabilize this value with %<--param " +@@ -53745,226 +53727,226 @@ msgid "" + "Wno-interference-size%>" + msgstr "" + +-#: cp/constexpr.cc:6959 ++#: cp/constexpr.cc:6960 + #, gcc-internal-format + msgid "value %qE of type %qT is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:6972 ++#: cp/constexpr.cc:6973 + #, gcc-internal-format + msgid "" + "% evaluation operation count exceeds limit of %wd (use %<-" + "fconstexpr-ops-limit=%> to increase the limit)" + msgstr "" + +-#: cp/constexpr.cc:7125 ++#: cp/constexpr.cc:7126 + #, gcc-internal-format + msgid "control passes through definition of %qD with thread storage duration" + msgstr "" + +-#: cp/constexpr.cc:7128 ++#: cp/constexpr.cc:7129 + #, gcc-internal-format + msgid "control passes through definition of %qD with static storage duration" + msgstr "" + +-#: cp/constexpr.cc:7193 cp/constexpr.cc:9791 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, gcc-internal-format + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7631 cp/constexpr.cc:9292 ++#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7659 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 + #, gcc-internal-format + msgid "" + "conversion from pointer type %qT to arithmetic type %qT in a constant " + "expression" + msgstr "" + +-#: cp/constexpr.cc:7687 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 + #, gcc-internal-format + msgid "cast from %qT is not allowed" + msgstr "" + +-#: cp/constexpr.cc:7700 ++#: cp/constexpr.cc:7701 + #, gcc-internal-format + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "" + +-#: cp/constexpr.cc:7734 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 + #, gcc-internal-format + msgid "%(%E)%> is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7865 cp/constexpr.cc:9602 cp/constexpr.cc:10014 ++#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, gcc-internal-format + msgid "expression %qE is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7910 cp/constexpr.cc:10055 ++#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7968 ++#: cp/constexpr.cc:7969 + #, gcc-internal-format + msgid "contract predicate is false in constant expression" + msgstr "" + +-#: cp/constexpr.cc:7984 ++#: cp/constexpr.cc:7985 + #, gcc-internal-format + msgid "unexpected template-id %qE" + msgstr "" + +-#: cp/constexpr.cc:7990 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 + #, gcc-internal-format + msgid "function concept must be called" + msgstr "" + +-#: cp/constexpr.cc:8015 ++#: cp/constexpr.cc:8016 + #, gcc-internal-format + msgid "address of a call to %qs is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:8079 ++#: cp/constexpr.cc:8080 + #, gcc-internal-format + msgid "unexpected expression %qE of kind %s" + msgstr "" + +-#: cp/constexpr.cc:8338 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 + #, gcc-internal-format + msgid "" + "%qE is not a constant expression because it refers to mutable subobjects of " + "%qT" + msgstr "" + +-#: cp/constexpr.cc:8346 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 + #, gcc-internal-format + msgid "" + "%qE is not a constant expression because it refers to an incompletely " + "initialized variable" + msgstr "" + +-#: cp/constexpr.cc:8361 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 + #, gcc-internal-format + msgid "" + "%qE is not a constant expression because it refers to a result of %" + msgstr "" + +-#: cp/constexpr.cc:8372 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 + #, gcc-internal-format + msgid "" + "%qE is not a constant expression because allocated storage has not been " + "deallocated" + msgstr "" + +-#: cp/constexpr.cc:8390 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:9015 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 + #, gcc-internal-format + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "" + +-#: cp/constexpr.cc:9257 ++#: cp/constexpr.cc:9258 + #, gcc-internal-format + msgid "lambda capture of %qE is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9260 ++#: cp/constexpr.cc:9261 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "" + +-#: cp/constexpr.cc:9316 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 + #, gcc-internal-format + msgid "% from integer to pointer" + msgstr "" + +-#: cp/constexpr.cc:9350 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "" + "address-of an object %qE with thread local or automatic storage is not a " + "constant expression" + msgstr "" + +-#: cp/constexpr.cc:9389 ++#: cp/constexpr.cc:9390 + #, gcc-internal-format + msgid "use of % in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9538 ++#: cp/constexpr.cc:9539 + #, gcc-internal-format + msgid "lambda-expression is not a constant expression before C++17" + msgstr "" + +-#: cp/constexpr.cc:9550 ++#: cp/constexpr.cc:9551 + #, gcc-internal-format + msgid "new-expression is not a constant expression before C++20" + msgstr "" + +-#: cp/constexpr.cc:9616 ++#: cp/constexpr.cc:9617 + #, gcc-internal-format + msgid "virtual functions cannot be % before C++20" + msgstr "" + +-#: cp/constexpr.cc:9632 ++#: cp/constexpr.cc:9633 + #, gcc-internal-format + msgid "" + "% is not a constant expression because %qE is of polymorphic type" + msgstr "" + +-#: cp/constexpr.cc:9695 ++#: cp/constexpr.cc:9696 + #, gcc-internal-format + msgid "cast to non-integral type %qT in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9756 ++#: cp/constexpr.cc:9757 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:9764 ++#: cp/constexpr.cc:9765 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:9841 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 + #, gcc-internal-format + msgid "division by zero is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9942 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:10011 ++#: cp/constexpr.cc:10012 + #, gcc-internal-format + msgid "neither branch of % is a constant expression" + msgstr "" + +-#: cp/constexpr.cc:10024 ++#: cp/constexpr.cc:10025 + #, gcc-internal-format + msgid "non-constant array initialization" + msgstr "" + +-#: cp/constexpr.cc:10072 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 + #, gcc-internal-format + msgid "" + "label definition in % function only available with %<-std=c+" + "+2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/constexpr.cc:10103 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 + #, gcc-internal-format, gfc-internal-format + msgid "unexpected AST of kind %s" + msgstr "" +@@ -54686,7 +54668,7 @@ msgid "" + "cannot initialize a return object of type %qT with an rvalue of type %" + msgstr "" + +-#: cp/cp-gimplify.cc:176 ++#: cp/cp-gimplify.cc:169 + #, gcc-internal-format + msgid "both branches of % statement marked as %qs" + msgstr "" +@@ -54713,43 +54695,33 @@ msgid "" + "to %" + msgstr "" + +-#: cp/cp-gimplify.cc:3233 ++#: cp/cp-gimplify.cc:3231 + #, gcc-internal-format + msgid "ignoring attribute %qE after earlier %qE" + msgstr "" + +-#: cp/cp-gimplify.cc:3275 +-#, gcc-internal-format +-msgid "pack expansion of %qE attribute" +-msgstr "" +- +-#: cp/cp-gimplify.cc:3278 +-#, gcc-internal-format +-msgid "use fold expression in the attribute argument instead" +-msgstr "" +- +-#: cp/cp-gimplify.cc:3317 cp/cp-gimplify.cc:3329 cp/decl.cc:4275 ++#: cp/cp-gimplify.cc:3305 cp/cp-gimplify.cc:3317 cp/decl.cc:4275 + #: cp/method.cc:978 + #, gcc-internal-format + msgid "%qD is not a type" + msgstr "" + +-#: cp/cp-gimplify.cc:3335 ++#: cp/cp-gimplify.cc:3323 + #, gcc-internal-format + msgid "%qD is not a class type" + msgstr "" + +-#: cp/cp-gimplify.cc:3352 ++#: cp/cp-gimplify.cc:3340 + #, gcc-internal-format + msgid "%qD does not have % type" + msgstr "" + +-#: cp/cp-gimplify.cc:3362 ++#: cp/cp-gimplify.cc:3350 + #, gcc-internal-format + msgid "%qD does not have integral type" + msgstr "" + +-#: cp/cp-gimplify.cc:3374 ++#: cp/cp-gimplify.cc:3362 + #, gcc-internal-format + msgid "" + "% does not contain only non-static data " +@@ -55237,7 +55209,7 @@ msgstr "" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "" + +-#: cp/decl.cc:1391 cp/decl.cc:16165 ++#: cp/decl.cc:1391 cp/decl.cc:16156 + #, gcc-internal-format + msgid "previous declaration %qD" + msgstr "" +@@ -55846,7 +55818,7 @@ msgid "" + "declaration" + msgstr "" + +-#: cp/decl.cc:5735 cp/decl2.cc:1026 ++#: cp/decl.cc:5735 cp/decl2.cc:1021 + #, gcc-internal-format + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "" +@@ -56061,8 +56033,8 @@ msgstr "" + msgid "C99 designator %qE outside aggregate initializer" + msgstr "" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1613 cp/typeck2.cc:1943 +-#: cp/typeck2.cc:1991 cp/typeck2.cc:2038 ++#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 ++#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 + #, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "" +@@ -56178,17 +56150,17 @@ msgstr "" + msgid "assignment (not initialization) in declaration" + msgstr "" + +-#: cp/decl.cc:8250 cp/decl.cc:14808 ++#: cp/decl.cc:8250 cp/decl.cc:14799 + #, gcc-internal-format + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "" + +-#: cp/decl.cc:8254 cp/decl.cc:14812 ++#: cp/decl.cc:8254 cp/decl.cc:14803 + #, gcc-internal-format + msgid "% storage class specifier used" + msgstr "" + +-#: cp/decl.cc:8299 cp/decl.cc:14775 ++#: cp/decl.cc:8299 cp/decl.cc:14766 + #, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "" +@@ -57011,17 +56983,17 @@ msgstr "" + msgid "%qs specified with %qT" + msgstr "" + +-#: cp/decl.cc:12482 ++#: cp/decl.cc:12481 + #, gcc-internal-format +-msgid "%qs specified with typedef-name %qD" ++msgid "%qs specified with %qD" + msgstr "" + +-#: cp/decl.cc:12491 ++#: cp/decl.cc:12493 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12495 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "" +@@ -57633,7 +57605,7 @@ msgstr "" + msgid "a concept cannot be a member function" + msgstr "" + +-#: cp/decl.cc:14292 cp/decl.cc:14643 ++#: cp/decl.cc:14292 cp/decl.cc:14634 + #, gcc-internal-format + msgid "%qD cannot be %qs" + msgstr "" +@@ -57677,336 +57649,336 @@ msgid "" + "definition is ignored" + msgstr "" + +-#: cp/decl.cc:14462 cp/decl.cc:14473 ++#: cp/decl.cc:14453 cp/decl.cc:14464 + #, gcc-internal-format + msgid "static data member %qE declared %qs" + msgstr "" + +-#: cp/decl.cc:14467 ++#: cp/decl.cc:14458 + #, gcc-internal-format + msgid "% static data member %qD must have an initializer" + msgstr "" + +-#: cp/decl.cc:14510 cp/decl.cc:14518 cp/decl.cc:14525 cp/decl.cc:14532 ++#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 + #, gcc-internal-format + msgid "non-static data member %qE declared %qs" + msgstr "" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14575 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:14587 ++#: cp/decl.cc:14578 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14584 + #, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:14597 ++#: cp/decl.cc:14588 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:14602 ++#: cp/decl.cc:14593 + #, gcc-internal-format + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "" + +-#: cp/decl.cc:14614 ++#: cp/decl.cc:14605 + #, gcc-internal-format + msgid "" + "% specifier invalid for function %qs declared out of global scope" + msgstr "" + +-#: cp/decl.cc:14618 ++#: cp/decl.cc:14609 + #, gcc-internal-format + msgid "" + "% specifier invalid for function %qs declared out of global scope" + msgstr "" + +-#: cp/decl.cc:14626 ++#: cp/decl.cc:14617 + #, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "" + +-#: cp/decl.cc:14633 ++#: cp/decl.cc:14624 + #, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "" + +-#: cp/decl.cc:14634 ++#: cp/decl.cc:14625 + #, gcc-internal-format + msgid "%qs declared in a non-class scope" + msgstr "" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14668 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "" + +-#: cp/decl.cc:14686 ++#: cp/decl.cc:14677 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "" + +-#: cp/decl.cc:14727 ++#: cp/decl.cc:14718 + #, gcc-internal-format + msgid "" + "% may not be used when defining (as opposed to declaring) a static " + "data member" + msgstr "" + +-#: cp/decl.cc:14734 ++#: cp/decl.cc:14725 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "" + +-#: cp/decl.cc:14740 ++#: cp/decl.cc:14731 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "" + +-#: cp/decl.cc:14748 ++#: cp/decl.cc:14739 + #, gcc-internal-format + msgid "declaration of % variable %qD is not a definition" + msgstr "" + +-#: cp/decl.cc:14755 ++#: cp/decl.cc:14746 + #, gcc-internal-format + msgid "a variable cannot be declared %" + msgstr "" + +-#: cp/decl.cc:14787 ++#: cp/decl.cc:14778 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "" + +-#: cp/decl.cc:14792 ++#: cp/decl.cc:14783 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "" + +-#: cp/decl.cc:14989 ++#: cp/decl.cc:14980 + #, gcc-internal-format + msgid "default argument %qE uses %qD" + msgstr "" + +-#: cp/decl.cc:14992 ++#: cp/decl.cc:14983 + #, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "" + +-#: cp/decl.cc:15119 ++#: cp/decl.cc:15110 + #, gcc-internal-format + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "" + +-#: cp/decl.cc:15123 ++#: cp/decl.cc:15114 + #, gcc-internal-format + msgid "invalid use of type % in parameter declaration" + msgstr "" + +-#: cp/decl.cc:15152 ++#: cp/decl.cc:15143 + #, gcc-internal-format + msgid "%-qualified parameter is deprecated" + msgstr "" + +-#: cp/decl.cc:15160 ++#: cp/decl.cc:15151 + #, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "" + +-#: cp/decl.cc:15185 ++#: cp/decl.cc:15176 + #, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "" + +-#: cp/decl.cc:15187 ++#: cp/decl.cc:15178 + #, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "" + +-#: cp/decl.cc:15446 ++#: cp/decl.cc:15437 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "" + +-#: cp/decl.cc:15525 ++#: cp/decl.cc:15516 + #, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "" + +-#: cp/decl.cc:15532 ++#: cp/decl.cc:15523 + #, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "" + +-#: cp/decl.cc:15560 ++#: cp/decl.cc:15551 + #, gcc-internal-format + msgid "%qD must be a non-static member function" + msgstr "" + +-#: cp/decl.cc:15568 ++#: cp/decl.cc:15559 + #, gcc-internal-format + msgid "%qD must be a member function" + msgstr "" + +-#: cp/decl.cc:15576 ++#: cp/decl.cc:15567 + #, gcc-internal-format + msgid "" + "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu+" + "+23%>" + msgstr "" + +-#: cp/decl.cc:15586 ++#: cp/decl.cc:15577 + #, gcc-internal-format + msgid "" + "%qD must be either a non-static member function or a non-member function" + msgstr "" + +-#: cp/decl.cc:15596 ++#: cp/decl.cc:15587 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "" + + #. 13.4.0.3 +-#: cp/decl.cc:15627 ++#: cp/decl.cc:15618 + #, gcc-internal-format + msgid "ISO C++ prohibits overloading %" + msgstr "" + +-#: cp/decl.cc:15637 ++#: cp/decl.cc:15628 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "" + +-#: cp/decl.cc:15663 ++#: cp/decl.cc:15654 + #, gcc-internal-format + msgid "%qD must have either zero or one argument" + msgstr "" + +-#: cp/decl.cc:15664 ++#: cp/decl.cc:15655 + #, gcc-internal-format + msgid "%qD must have either one or two arguments" + msgstr "" + +-#: cp/decl.cc:15676 ++#: cp/decl.cc:15667 + #, gcc-internal-format + msgid "postfix %qD must have % as its argument" + msgstr "" + +-#: cp/decl.cc:15677 ++#: cp/decl.cc:15668 + #, gcc-internal-format + msgid "postfix %qD must have % as its second argument" + msgstr "" + +-#: cp/decl.cc:15688 ++#: cp/decl.cc:15679 + #, gcc-internal-format + msgid "%qD must have no arguments" + msgstr "" + +-#: cp/decl.cc:15689 cp/decl.cc:15699 ++#: cp/decl.cc:15680 cp/decl.cc:15690 + #, gcc-internal-format + msgid "%qD must have exactly one argument" + msgstr "" + +-#: cp/decl.cc:15700 ++#: cp/decl.cc:15691 + #, gcc-internal-format + msgid "%qD must have exactly two arguments" + msgstr "" + +-#: cp/decl.cc:15715 ++#: cp/decl.cc:15706 + #, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15730 + #, gcc-internal-format + msgid "converting %qT to % will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15746 ++#: cp/decl.cc:15737 + #, gcc-internal-format + msgid "" + "converting %qT to a reference to the same type will never use a type " + "conversion operator" + msgstr "" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15739 + #, gcc-internal-format + msgid "" + "converting %qT to the same type will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15757 ++#: cp/decl.cc:15748 + #, gcc-internal-format + msgid "" + "converting %qT to a reference to a base class %qT will never use a type " + "conversion operator" + msgstr "" + +-#: cp/decl.cc:15759 ++#: cp/decl.cc:15750 + #, gcc-internal-format + msgid "" + "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15775 ++#: cp/decl.cc:15766 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "" + +-#: cp/decl.cc:15794 ++#: cp/decl.cc:15785 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "" + +-#: cp/decl.cc:15801 ++#: cp/decl.cc:15792 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "" + +-#: cp/decl.cc:15813 ++#: cp/decl.cc:15804 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "" + +-#: cp/decl.cc:15868 ++#: cp/decl.cc:15859 + #, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "" + +-#: cp/decl.cc:15891 ++#: cp/decl.cc:15882 + #, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "" + +-#: cp/decl.cc:15894 ++#: cp/decl.cc:15885 + #, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "" + +-#: cp/decl.cc:15896 ++#: cp/decl.cc:15887 + #, gcc-internal-format + msgid "%qD has a previous declaration here" + msgstr "" + +-#: cp/decl.cc:15904 ++#: cp/decl.cc:15895 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "" + +-#: cp/decl.cc:15905 cp/decl.cc:15912 ++#: cp/decl.cc:15896 cp/decl.cc:15903 + #, gcc-internal-format + msgid "%qT has a previous declaration here" + msgstr "" + +-#: cp/decl.cc:15911 ++#: cp/decl.cc:15902 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "" +@@ -58018,110 +57990,110 @@ msgstr "" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15926 ++#: cp/decl.cc:15917 + #, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "" + +-#: cp/decl.cc:15969 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 +-#: cp/parser.cc:7054 cp/parser.cc:31407 ++#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/parser.cc:7054 cp/parser.cc:31408 + #, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "" + +-#: cp/decl.cc:15978 ++#: cp/decl.cc:15969 + #, gcc-internal-format + msgid "class template %qD redeclared as non-template" + msgstr "" + +-#: cp/decl.cc:16000 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15991 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "" + +-#: cp/decl.cc:16028 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 +-#: cp/pt.cc:9838 ++#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/pt.cc:9836 + #, gcc-internal-format + msgid "%qT is not a template" + msgstr "" + +-#: cp/decl.cc:16033 ++#: cp/decl.cc:16024 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "" + +-#: cp/decl.cc:16138 ++#: cp/decl.cc:16129 + #, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "" + +-#: cp/decl.cc:16164 ++#: cp/decl.cc:16155 + #, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "" + +-#: cp/decl.cc:16175 cp/semantics.cc:3548 ++#: cp/decl.cc:16166 cp/semantics.cc:3548 + #, gcc-internal-format + msgid "cannot declare %qD in a different module" + msgstr "" + +-#: cp/decl.cc:16291 ++#: cp/decl.cc:16282 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "" + +-#: cp/decl.cc:16298 ++#: cp/decl.cc:16289 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "" + +-#: cp/decl.cc:16309 ++#: cp/decl.cc:16300 + #, gcc-internal-format + msgid "%qT defined with direct virtual base" + msgstr "" + +-#: cp/decl.cc:16334 ++#: cp/decl.cc:16325 + #, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "" + +-#: cp/decl.cc:16364 ++#: cp/decl.cc:16355 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "" + +-#: cp/decl.cc:16366 ++#: cp/decl.cc:16357 + #, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "" + +-#: cp/decl.cc:16511 ++#: cp/decl.cc:16502 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16514 cp/decl.cc:16522 cp/decl.cc:16532 cp/decl.cc:17131 ++#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 + #: cp/parser.cc:21163 + #, gcc-internal-format + msgid "previous definition here" + msgstr "" + +-#: cp/decl.cc:16519 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16529 ++#: cp/decl.cc:16520 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16540 ++#: cp/decl.cc:16531 + #, gcc-internal-format + msgid "cannot define %qD in different module" + msgstr "" + +-#: cp/decl.cc:16615 ++#: cp/decl.cc:16606 + #, gcc-internal-format + msgid "underlying type %qT of %qT must be an integral type" + msgstr "" +@@ -58130,83 +58102,83 @@ msgstr "" + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16764 ++#: cp/decl.cc:16755 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "" + +-#: cp/decl.cc:16939 ++#: cp/decl.cc:16930 + #, gcc-internal-format + msgid "" + "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "" + +-#: cp/decl.cc:16949 ++#: cp/decl.cc:16940 + #, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "" + +-#: cp/decl.cc:16998 ++#: cp/decl.cc:16989 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "" + +-#: cp/decl.cc:16999 ++#: cp/decl.cc:16990 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "" + +-#: cp/decl.cc:17010 ++#: cp/decl.cc:17001 + #, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "" + +-#: cp/decl.cc:17030 ++#: cp/decl.cc:17021 + #, gcc-internal-format + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "" + +-#: cp/decl.cc:17129 cp/parser.cc:21161 ++#: cp/decl.cc:17120 cp/parser.cc:21161 + #, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "" + +-#: cp/decl.cc:17203 ++#: cp/decl.cc:17194 + #, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "" + +-#: cp/decl.cc:17363 cp/typeck.cc:11114 ++#: cp/decl.cc:17354 cp/typeck.cc:11114 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "" + +-#: cp/decl.cc:18176 ++#: cp/decl.cc:18167 + #, gcc-internal-format + msgid "no return statements in function returning %qT" + msgstr "" + +-#: cp/decl.cc:18178 cp/typeck.cc:10994 ++#: cp/decl.cc:18169 cp/typeck.cc:10994 + #, gcc-internal-format + msgid "only plain % return type can be deduced to %" + msgstr "" + +-#: cp/decl.cc:18240 ++#: cp/decl.cc:18231 + #, gcc-internal-format + msgid "no return statement in % function returning non-void" + msgstr "" + +-#: cp/decl.cc:18433 ++#: cp/decl.cc:18424 + #, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "" + +-#: cp/decl.cc:18821 ++#: cp/decl.cc:18812 + #, gcc-internal-format + msgid "using %qs" + msgstr "" + +-#: cp/decl.cc:18833 ++#: cp/decl.cc:18824 + #, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "" +@@ -58280,147 +58252,147 @@ msgstr "" + msgid "destructor %qD declared as member template" + msgstr "" + +-#: cp/decl2.cc:877 ++#: cp/decl2.cc:872 + #, gcc-internal-format + msgid "no declaration matches %q#D" + msgstr "" + +-#: cp/decl2.cc:882 ++#: cp/decl2.cc:877 + #, gcc-internal-format + msgid "no conversion operators declared" + msgstr "" + +-#: cp/decl2.cc:885 ++#: cp/decl2.cc:880 + #, gcc-internal-format + msgid "no functions named %qD" + msgstr "" + +-#: cp/decl2.cc:887 ++#: cp/decl2.cc:882 + #, gcc-internal-format + msgid "%#qT defined here" + msgstr "" + +-#: cp/decl2.cc:947 ++#: cp/decl2.cc:942 + #, gcc-internal-format + msgid "local class %q#T shall not have static data member %q#D" + msgstr "" + +-#: cp/decl2.cc:956 ++#: cp/decl2.cc:951 + #, gcc-internal-format + msgid "static data member %qD in unnamed class" + msgstr "" + +-#: cp/decl2.cc:958 ++#: cp/decl2.cc:953 + #, gcc-internal-format + msgid "unnamed class defined here" + msgstr "" + +-#: cp/decl2.cc:1039 ++#: cp/decl2.cc:1034 + #, gcc-internal-format + msgid "explicit template argument list not allowed" + msgstr "" + +-#: cp/decl2.cc:1081 ++#: cp/decl2.cc:1076 + #, gcc-internal-format + msgid "%qD is already defined in %qT" + msgstr "" + +-#: cp/decl2.cc:1110 cp/decl2.cc:1118 ++#: cp/decl2.cc:1105 cp/decl2.cc:1113 + #, gcc-internal-format + msgid "invalid initializer for member function %qD" + msgstr "" + +-#: cp/decl2.cc:1127 ++#: cp/decl2.cc:1122 + #, gcc-internal-format + msgid "initializer specified for friend function %qD" + msgstr "" + +-#: cp/decl2.cc:1130 ++#: cp/decl2.cc:1125 + #, gcc-internal-format + msgid "initializer specified for static member function %qD" + msgstr "" + +-#: cp/decl2.cc:1178 ++#: cp/decl2.cc:1173 + #, gcc-internal-format + msgid "% specifiers are not permitted on non-static data members" + msgstr "" + +-#: cp/decl2.cc:1235 ++#: cp/decl2.cc:1230 + #, gcc-internal-format + msgid "bit-field %qD with non-integral type %qT" + msgstr "" + +-#: cp/decl2.cc:1243 ++#: cp/decl2.cc:1238 + #, gcc-internal-format + msgid "cannot declare %qD to be a bit-field type" + msgstr "" + +-#: cp/decl2.cc:1254 ++#: cp/decl2.cc:1249 + #, gcc-internal-format + msgid "cannot declare bit-field %qD with function type" + msgstr "" + +-#: cp/decl2.cc:1260 ++#: cp/decl2.cc:1255 + #, gcc-internal-format + msgid "cannot declare bit-field %qD with % type" + msgstr "" + +-#: cp/decl2.cc:1267 ++#: cp/decl2.cc:1262 + #, gcc-internal-format + msgid "%qD is already defined in the class %qT" + msgstr "" + +-#: cp/decl2.cc:1275 ++#: cp/decl2.cc:1270 + #, gcc-internal-format + msgid "static member %qD cannot be a bit-field" + msgstr "" + +-#: cp/decl2.cc:1289 ++#: cp/decl2.cc:1284 + #, gcc-internal-format + msgid "width of bit-field %qD has non-integral type %qT" + msgstr "" + +-#: cp/decl2.cc:1687 ++#: cp/decl2.cc:1682 + #, gcc-internal-format + msgid "%q+D static data member inside of declare target directive" + msgstr "" + +-#: cp/decl2.cc:1749 cp/name-lookup.cc:8373 ++#: cp/decl2.cc:1744 cp/name-lookup.cc:8336 + #, gcc-internal-format + msgid "% not allowed to be specified in this context" + msgstr "" + +-#: cp/decl2.cc:1818 ++#: cp/decl2.cc:1813 + #, gcc-internal-format + msgid "anonymous struct not inside named type" + msgstr "" + +-#: cp/decl2.cc:1834 ++#: cp/decl2.cc:1829 + #, gcc-internal-format + msgid "%q#D invalid; an anonymous union can only have non-static data members" + msgstr "" + +-#: cp/decl2.cc:1841 ++#: cp/decl2.cc:1836 + #, gcc-internal-format + msgid "private member %q#D in anonymous union" + msgstr "" + +-#: cp/decl2.cc:1844 ++#: cp/decl2.cc:1839 + #, gcc-internal-format + msgid "protected member %q#D in anonymous union" + msgstr "" + +-#: cp/decl2.cc:1909 ++#: cp/decl2.cc:1904 + #, gcc-internal-format + msgid "namespace-scope anonymous aggregates must be static" + msgstr "" + +-#: cp/decl2.cc:1918 ++#: cp/decl2.cc:1913 + #, gcc-internal-format + msgid "anonymous union with no members" + msgstr "" + +-#: cp/decl2.cc:1955 ++#: cp/decl2.cc:1950 + #, gcc-internal-format + msgid "% must return type %qT" + msgstr "" +@@ -58429,95 +58401,95 @@ msgstr "" + #. + #. The first parameter shall not have an associated default + #. argument. +-#: cp/decl2.cc:1967 ++#: cp/decl2.cc:1962 + #, gcc-internal-format + msgid "the first parameter of % cannot have a default argument" + msgstr "" + +-#: cp/decl2.cc:1983 ++#: cp/decl2.cc:1978 + #, gcc-internal-format + msgid "% takes type % (%qT) as first parameter" + msgstr "" + +-#: cp/decl2.cc:2013 ++#: cp/decl2.cc:2008 + #, gcc-internal-format + msgid "% must return type %qT" + msgstr "" + +-#: cp/decl2.cc:2028 ++#: cp/decl2.cc:2023 + #, gcc-internal-format + msgid "destroying % must be a member function" + msgstr "" + +-#: cp/decl2.cc:2031 ++#: cp/decl2.cc:2026 + #, gcc-internal-format + msgid "% cannot be a destroying delete" + msgstr "" + +-#: cp/decl2.cc:2033 ++#: cp/decl2.cc:2028 + #, gcc-internal-format + msgid "destroying % must be a usual deallocation function" + msgstr "" + +-#: cp/decl2.cc:2043 ++#: cp/decl2.cc:2038 + #, gcc-internal-format + msgid "% takes type %qT as first parameter" + msgstr "" + +-#: cp/decl2.cc:3034 ++#: cp/decl2.cc:3029 + #, gcc-internal-format + msgid "%qT has a field %q#D whose type has no linkage" + msgstr "" + +-#: cp/decl2.cc:3038 ++#: cp/decl2.cc:3033 + #, gcc-internal-format + msgid "" + "%qT has a field %qD whose type depends on the type %qT which has no linkage" + msgstr "" + +-#: cp/decl2.cc:3044 ++#: cp/decl2.cc:3039 + #, gcc-internal-format + msgid "%qT has a field %q#D whose type has internal linkage" + msgstr "" + + #. In C++98 this can only happen with unnamed namespaces. +-#: cp/decl2.cc:3048 ++#: cp/decl2.cc:3043 + #, gcc-internal-format + msgid "%qT has a field %q#D whose type uses the anonymous namespace" + msgstr "" + +-#: cp/decl2.cc:3056 ++#: cp/decl2.cc:3051 + #, gcc-internal-format + msgid "%qT declared with greater visibility than the type of its field %qD" + msgstr "" + +-#: cp/decl2.cc:3075 ++#: cp/decl2.cc:3070 + #, gcc-internal-format + msgid "%qT has a base %qT which has no linkage" + msgstr "" + +-#: cp/decl2.cc:3079 ++#: cp/decl2.cc:3074 + #, gcc-internal-format + msgid "%qT has a base %qT which depends on the type %qT which has no linkage" + msgstr "" + +-#: cp/decl2.cc:3085 ++#: cp/decl2.cc:3080 + #, gcc-internal-format + msgid "%qT has a base %qT which has internal linkage" + msgstr "" + + #. In C++98 this can only happen with unnamed namespaces. +-#: cp/decl2.cc:3089 ++#: cp/decl2.cc:3084 + #, gcc-internal-format + msgid "%qT has a base %qT which uses the anonymous namespace" + msgstr "" + +-#: cp/decl2.cc:3096 ++#: cp/decl2.cc:3091 + #, gcc-internal-format + msgid "%qT declared with greater visibility than its base %qT" + msgstr "" + +-#: cp/decl2.cc:4571 ++#: cp/decl2.cc:4566 + #, gcc-internal-format + msgid "%q#D, declared using unnamed type, is used but never defined" + msgstr "" +@@ -58526,102 +58498,102 @@ msgstr "" + #. no linkage can only be used to declare extern "C" + #. entities. Since it's not always an error in the + #. ISO C++ 90 Standard, we only issue a warning. +-#: cp/decl2.cc:4580 ++#: cp/decl2.cc:4575 + #, gcc-internal-format + msgid "unnamed type with no linkage used to declare variable %q#D with linkage" + msgstr "" + +-#: cp/decl2.cc:4584 ++#: cp/decl2.cc:4579 + #, gcc-internal-format + msgid "unnamed type with no linkage used to declare function %q#D with linkage" + msgstr "" + +-#: cp/decl2.cc:4588 ++#: cp/decl2.cc:4583 + #, gcc-internal-format + msgid "" + "%q#D does not refer to the unqualified type, so it is not used for linkage" + msgstr "" + +-#: cp/decl2.cc:4596 ++#: cp/decl2.cc:4591 + #, gcc-internal-format + msgid "%q#D, declared using local type %qT, is used but never defined" + msgstr "" + +-#: cp/decl2.cc:4600 ++#: cp/decl2.cc:4595 + #, gcc-internal-format + msgid "type %qT with no linkage used to declare variable %q#D with linkage" + msgstr "" + +-#: cp/decl2.cc:4603 ++#: cp/decl2.cc:4598 + #, gcc-internal-format + msgid "type %qT with no linkage used to declare function %q#D with linkage" + msgstr "" + +-#: cp/decl2.cc:4800 ++#: cp/decl2.cc:4795 + #, gcc-internal-format + msgid "mangling of %q#D as %qE conflicts with a previous mangle" + msgstr "" + +-#: cp/decl2.cc:4803 ++#: cp/decl2.cc:4798 + #, gcc-internal-format + msgid "previous mangling %q#D" + msgstr "" + +-#: cp/decl2.cc:4805 ++#: cp/decl2.cc:4800 + #, gcc-internal-format + msgid "" + "a later %<-fabi-version=%> (or =0) avoids this error with a change in " + "mangling" + msgstr "" + +-#: cp/decl2.cc:4877 cp/decl2.cc:4880 ++#: cp/decl2.cc:4872 cp/decl2.cc:4875 + #, gcc-internal-format + msgid "the program should also define %qD" + msgstr "" + +-#: cp/decl2.cc:5214 ++#: cp/decl2.cc:5209 + #, gcc-internal-format + msgid "inline function %qD used but never defined" + msgstr "" + +-#: cp/decl2.cc:5441 ++#: cp/decl2.cc:5436 + #, gcc-internal-format + msgid "default argument missing for parameter %P of %q#D" + msgstr "" + +-#: cp/decl2.cc:5446 ++#: cp/decl2.cc:5441 + #, gcc-internal-format + msgid "...following parameter %P which has a default argument" + msgstr "" + +-#: cp/decl2.cc:5570 ++#: cp/decl2.cc:5565 + #, gcc-internal-format + msgid "implicitly-declared %qD is deprecated" + msgstr "" + +-#: cp/decl2.cc:5574 ++#: cp/decl2.cc:5569 + #, gcc-internal-format + msgid "because %qT has user-provided %qD" + msgstr "" + + #. We mark a lambda conversion op as deleted if we can't + #. generate it properly; see maybe_add_lambda_conv_op. +-#: cp/decl2.cc:5715 ++#: cp/decl2.cc:5710 + #, gcc-internal-format + msgid "converting lambda that uses %<...%> to function pointer" + msgstr "" + +-#: cp/decl2.cc:5718 ++#: cp/decl2.cc:5713 + #, gcc-internal-format + msgid "use of deleted function %qD" + msgstr "" + +-#: cp/decl2.cc:5772 ++#: cp/decl2.cc:5767 + #, gcc-internal-format + msgid "use of function %qD with unsatisfied constraints" + msgstr "" + +-#: cp/decl2.cc:5802 ++#: cp/decl2.cc:5797 + #, gcc-internal-format + msgid "use of built-in parameter pack %qD outside of a template" + msgstr "" +@@ -58905,452 +58877,452 @@ msgstr "" + msgid "friend declaration %qD may not have virt-specifiers" + msgstr "" + +-#: cp/friend.cc:607 ++#: cp/friend.cc:599 + #, gcc-internal-format + msgid "member %qD declared as friend before type %qT defined" + msgstr "" + +-#: cp/friend.cc:657 ++#: cp/friend.cc:647 + #, gcc-internal-format + msgid "friend declaration %q#D declares a non-template function" + msgstr "" + +-#: cp/friend.cc:661 ++#: cp/friend.cc:651 + #, gcc-internal-format + msgid "" + "(if this is not what you intended, make sure the function template has " + "already been declared and add %<<>%> after the function name here)" + msgstr "" + +-#: cp/init.cc:398 ++#: cp/init.cc:391 + #, gcc-internal-format + msgid "value-initialization of incomplete type %qT" + msgstr "" + +-#: cp/init.cc:481 ++#: cp/init.cc:474 + #, gcc-internal-format + msgid "cannot value-initialize array of unknown bound %qT" + msgstr "" + +-#: cp/init.cc:520 ++#: cp/init.cc:513 + #, gcc-internal-format + msgid "value-initialization of function type %qT" + msgstr "" + +-#: cp/init.cc:526 ++#: cp/init.cc:519 + #, gcc-internal-format + msgid "value-initialization of reference type %qT" + msgstr "" + +-#: cp/init.cc:597 ++#: cp/init.cc:586 + #, gcc-internal-format + msgid "recursive instantiation of default member initializer for %qD" + msgstr "" + +-#: cp/init.cc:665 ++#: cp/init.cc:675 + #, gcc-internal-format + msgid "" + "default member initializer for %qD required before the end of its enclosing " + "class" + msgstr "" + +-#: cp/init.cc:735 ++#: cp/init.cc:745 + #, gcc-internal-format + msgid "initializer for flexible array member %q#D" + msgstr "" + +-#: cp/init.cc:800 ++#: cp/init.cc:810 + #, gcc-internal-format + msgid "" + "initializing %qD from %qE does not extend the lifetime of the underlying " + "array" + msgstr "" + +-#: cp/init.cc:904 cp/init.cc:985 ++#: cp/init.cc:914 cp/init.cc:995 + #, gcc-internal-format + msgid "%qD is initialized with itself" + msgstr "" + +-#: cp/init.cc:910 ++#: cp/init.cc:920 + #, gcc-internal-format + msgid "reference %qD is not yet bound to a value when used here" + msgstr "" + +-#: cp/init.cc:914 ++#: cp/init.cc:924 + #, gcc-internal-format + msgid "member %qD is used uninitialized" + msgstr "" + +-#: cp/init.cc:962 ++#: cp/init.cc:972 + #, gcc-internal-format + msgid "%qD should be initialized in the member initialization list" + msgstr "" + +-#: cp/init.cc:1106 ++#: cp/init.cc:1116 + #, gcc-internal-format + msgid "invalid initializer for array member %q#D" + msgstr "" + +-#: cp/init.cc:1121 cp/init.cc:1147 cp/init.cc:2742 cp/method.cc:2450 ++#: cp/init.cc:1131 cp/init.cc:1157 cp/init.cc:2752 cp/method.cc:2450 + #, gcc-internal-format + msgid "uninitialized const member in %q#T" + msgstr "" + +-#: cp/init.cc:1123 cp/init.cc:1141 cp/init.cc:1149 cp/init.cc:2727 +-#: cp/init.cc:2755 cp/method.cc:2453 cp/method.cc:2464 ++#: cp/init.cc:1133 cp/init.cc:1151 cp/init.cc:1159 cp/init.cc:2737 ++#: cp/init.cc:2765 cp/method.cc:2453 cp/method.cc:2464 + #, gcc-internal-format + msgid "%q#D should be initialized" + msgstr "" + +-#: cp/init.cc:1139 cp/init.cc:2714 cp/method.cc:2461 ++#: cp/init.cc:1149 cp/init.cc:2724 cp/method.cc:2461 + #, gcc-internal-format + msgid "uninitialized reference member in %q#T" + msgstr "" + +-#: cp/init.cc:1324 ++#: cp/init.cc:1334 + #, gcc-internal-format + msgid "%qD will be initialized after" + msgstr "" + +-#: cp/init.cc:1327 ++#: cp/init.cc:1337 + #, gcc-internal-format + msgid "base %qT will be initialized after" + msgstr "" + +-#: cp/init.cc:1331 ++#: cp/init.cc:1341 + #, gcc-internal-format + msgid " %q#D" + msgstr "" + +-#: cp/init.cc:1333 ++#: cp/init.cc:1343 + #, gcc-internal-format + msgid " base %qT" + msgstr "" + +-#: cp/init.cc:1335 ++#: cp/init.cc:1345 + #, gcc-internal-format + msgid " when initialized here" + msgstr "" + +-#: cp/init.cc:1352 ++#: cp/init.cc:1362 + #, gcc-internal-format + msgid "multiple initializations given for %qD" + msgstr "" + +-#: cp/init.cc:1356 ++#: cp/init.cc:1366 + #, gcc-internal-format + msgid "multiple initializations given for base %qT" + msgstr "" + +-#: cp/init.cc:1443 ++#: cp/init.cc:1453 + #, gcc-internal-format + msgid "initializations for multiple members of %qT" + msgstr "" + +-#: cp/init.cc:1552 ++#: cp/init.cc:1562 + #, gcc-internal-format + msgid "" + "base class %q#T should be explicitly initialized in the copy constructor" + msgstr "" + +-#: cp/init.cc:1788 cp/init.cc:1807 ++#: cp/init.cc:1798 cp/init.cc:1817 + #, gcc-internal-format + msgid "class %qT does not have any field named %qD" + msgstr "" + +-#: cp/init.cc:1794 ++#: cp/init.cc:1804 + #, gcc-internal-format + msgid "" + "%q#D is a static data member; it can only be initialized at its definition" + msgstr "" + +-#: cp/init.cc:1801 ++#: cp/init.cc:1811 + #, gcc-internal-format + msgid "%q#D is not a non-static data member of %qT" + msgstr "" + +-#: cp/init.cc:1840 ++#: cp/init.cc:1850 + #, gcc-internal-format + msgid "unnamed initializer for %qT, which has no base classes" + msgstr "" + +-#: cp/init.cc:1848 ++#: cp/init.cc:1858 + #, gcc-internal-format + msgid "unnamed initializer for %qT, which uses multiple inheritance" + msgstr "" + +-#: cp/init.cc:1895 ++#: cp/init.cc:1905 + #, gcc-internal-format + msgid "%qD is both a direct base and an indirect virtual base" + msgstr "" + +-#: cp/init.cc:1903 ++#: cp/init.cc:1913 + #, gcc-internal-format + msgid "type %qT is not a direct or virtual base of %qT" + msgstr "" + +-#: cp/init.cc:1906 ++#: cp/init.cc:1916 + #, gcc-internal-format + msgid "type %qT is not a direct base of %qT" + msgstr "" + +-#: cp/init.cc:2018 cp/init.cc:4906 cp/typeck2.cc:1375 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "" + +-#: cp/init.cc:2339 cp/semantics.cc:3825 rust/backend/rust-tree.cc:4120 ++#: cp/init.cc:2349 cp/semantics.cc:3825 rust/backend/rust-tree.cc:4120 + #, gcc-internal-format + msgid "%qT is not a class type" + msgstr "" + +-#: cp/init.cc:2397 ++#: cp/init.cc:2407 + #, gcc-internal-format + msgid "incomplete type %qT does not have member %qD" + msgstr "" + +-#: cp/init.cc:2411 ++#: cp/init.cc:2421 + #, gcc-internal-format + msgid "invalid pointer to bit-field %qD" + msgstr "" + +-#: cp/init.cc:2497 cp/typeck.cc:2361 rust/backend/rust-tree.cc:3763 ++#: cp/init.cc:2507 cp/typeck.cc:2361 rust/backend/rust-tree.cc:3763 + #, gcc-internal-format + msgid "invalid use of non-static member function %qD" + msgstr "" + +-#: cp/init.cc:2504 cp/semantics.cc:2191 ++#: cp/init.cc:2514 cp/semantics.cc:2191 + #, gcc-internal-format + msgid "invalid use of non-static data member %qD" + msgstr "" + +-#: cp/init.cc:2711 ++#: cp/init.cc:2721 + #, gcc-internal-format + msgid "" + "uninitialized reference member in %q#T using % without new-initializer" + msgstr "" + +-#: cp/init.cc:2719 ++#: cp/init.cc:2729 + #, gcc-internal-format + msgid "" + "uninitialized reference member in base %q#T of %q#T using % without " + "new-initializer" + msgstr "" + +-#: cp/init.cc:2723 ++#: cp/init.cc:2733 + #, gcc-internal-format + msgid "uninitialized reference member in base %q#T of %q#T" + msgstr "" + +-#: cp/init.cc:2739 ++#: cp/init.cc:2749 + #, gcc-internal-format + msgid "" + "uninitialized const member in %q#T using % without new-initializer" + msgstr "" + +-#: cp/init.cc:2747 ++#: cp/init.cc:2757 + #, gcc-internal-format + msgid "" + "uninitialized const member in base %q#T of %q#T using % without new-" + "initializer" + msgstr "" + +-#: cp/init.cc:2751 ++#: cp/init.cc:2761 + #, gcc-internal-format + msgid "uninitialized const member in base %q#T of %q#T" + msgstr "" + +-#: cp/init.cc:2866 ++#: cp/init.cc:2876 + #, gcc-internal-format + msgid "" + "placement new constructing an object of type %<%T [%wu]%> and size %qwu in a " + "region of type %qT and size %qwi" + msgstr "" + +-#: cp/init.cc:2869 ++#: cp/init.cc:2879 + #, gcc-internal-format + msgid "" + "placement new constructing an object of type %<%T [%wu]%> and size %qwu in a " + "region of type %qT and size at most %qwu" + msgstr "" + +-#: cp/init.cc:2879 ++#: cp/init.cc:2889 + #, gcc-internal-format + msgid "" + "placement new constructing an array of objects of type %qT and size %qwu in " + "a region of type %qT and size %qwi" + msgstr "" + +-#: cp/init.cc:2882 ++#: cp/init.cc:2892 + #, gcc-internal-format + msgid "" + "placement new constructing an array of objects of type %qT and size %qwu in " + "a region of type %qT and size at most %qwu" + msgstr "" + +-#: cp/init.cc:2891 ++#: cp/init.cc:2901 + #, gcc-internal-format + msgid "" + "placement new constructing an object of type %qT and size %qwu in a region " + "of type %qT and size %qwi" + msgstr "" + +-#: cp/init.cc:2894 ++#: cp/init.cc:2904 + #, gcc-internal-format + msgid "" + "placement new constructing an object of type %qT and size %qwu in a region " + "of type %qT and size at most %qwu" + msgstr "" + +-#: cp/init.cc:2911 ++#: cp/init.cc:2921 + #, gcc-internal-format + msgid "at offset %wi from %qD declared here" + msgstr "" + +-#: cp/init.cc:2915 ++#: cp/init.cc:2925 + #, gcc-internal-format + msgid "at offset [%wi, %wi] from %qD declared here" + msgstr "" + +-#: cp/init.cc:3113 ++#: cp/init.cc:3123 + #, gcc-internal-format + msgid "integer overflow in array size" + msgstr "" + +-#: cp/init.cc:3123 ++#: cp/init.cc:3133 + #, gcc-internal-format + msgid "array size in new-expression must be constant" + msgstr "" + +-#: cp/init.cc:3141 ++#: cp/init.cc:3151 + #, gcc-internal-format + msgid "variably modified type not allowed in new-expression" + msgstr "" + +-#: cp/init.cc:3157 ++#: cp/init.cc:3167 + #, gcc-internal-format + msgid "" + "non-constant array new length must be specified directly, not by %" + msgstr "" + +-#: cp/init.cc:3159 ++#: cp/init.cc:3169 + #, gcc-internal-format + msgid "" + "non-constant array new length must be specified without parentheses around " + "the type-id" + msgstr "" + +-#: cp/init.cc:3169 ++#: cp/init.cc:3179 + #, gcc-internal-format + msgid "invalid type % for %" + msgstr "" + +-#: cp/init.cc:3175 ++#: cp/init.cc:3185 + #, gcc-internal-format + msgid "" + "% of % does not extend the lifetime of the " + "underlying array" + msgstr "" + +-#: cp/init.cc:3217 ++#: cp/init.cc:3227 + #, gcc-internal-format + msgid "uninitialized const in % of %q#T" + msgstr "" + +-#: cp/init.cc:3373 ++#: cp/init.cc:3383 + #, gcc-internal-format + msgid "no suitable %qD found in class %qT" + msgstr "" + +-#: cp/init.cc:3380 cp/search.cc:1200 ++#: cp/init.cc:3390 cp/search.cc:1200 + #, gcc-internal-format + msgid "request for member %qD is ambiguous" + msgstr "" + +-#: cp/init.cc:3461 ++#: cp/init.cc:3471 + #, gcc-internal-format + msgid "% of type %qT with extended alignment %d" + msgstr "" + +-#: cp/init.cc:3464 ++#: cp/init.cc:3474 + #, gcc-internal-format + msgid "uses %qD, which does not have an alignment parameter" + msgstr "" + +-#: cp/init.cc:3467 ++#: cp/init.cc:3477 + #, gcc-internal-format + msgid "use %<-faligned-new%> to enable C++17 over-aligned new support" + msgstr "" + +-#: cp/init.cc:3663 ++#: cp/init.cc:3673 + #, gcc-internal-format + msgid "parenthesized initializer in array new" + msgstr "" + +-#: cp/init.cc:3939 ++#: cp/init.cc:3949 + #, gcc-internal-format + msgid "size in array new must have integral type" + msgstr "" + +-#: cp/init.cc:3968 ++#: cp/init.cc:3978 + #, gcc-internal-format + msgid "new cannot be applied to a reference type" + msgstr "" + +-#: cp/init.cc:3977 ++#: cp/init.cc:3987 + #, gcc-internal-format + msgid "new cannot be applied to a function type" + msgstr "" + +-#: cp/init.cc:4097 ++#: cp/init.cc:4107 + #, gcc-internal-format + msgid "possible problem detected in invocation of operator %" + msgstr "" + +-#: cp/init.cc:4101 ++#: cp/init.cc:4111 + #, gcc-internal-format + msgid "" + "neither the destructor nor the class-specific operator % will be " + "called, even if they are declared when the class is defined" + msgstr "" + +-#: cp/init.cc:4810 ++#: cp/init.cc:4820 + #, gcc-internal-format + msgid "initializer ends prematurely" + msgstr "" + +-#: cp/init.cc:5106 ++#: cp/init.cc:5116 + #, gcc-internal-format + msgid "unknown array size in delete" + msgstr "" + +-#: cp/init.cc:5140 ++#: cp/init.cc:5150 + #, gcc-internal-format + msgid "possible problem detected in invocation of %" + msgstr "" + +-#: cp/init.cc:5145 ++#: cp/init.cc:5155 + #, gcc-internal-format + msgid "" + "neither the destructor nor the class-specific % will be " + "called, even if they are declared when the class is defined" + msgstr "" + +-#: cp/init.cc:5160 ++#: cp/init.cc:5170 + #, gcc-internal-format + msgid "" + "deleting object of abstract class type %qT which has non-virtual destructor " + "will cause undefined behavior" + msgstr "" + +-#: cp/init.cc:5165 ++#: cp/init.cc:5175 + #, gcc-internal-format + msgid "" + "deleting object of polymorphic class type %qT which has non-virtual " + "destructor might cause undefined behavior" + msgstr "" + +-#: cp/init.cc:5472 ++#: cp/init.cc:5482 + #, gcc-internal-format + msgid "type to vector delete is neither pointer or array type" + msgstr "" +@@ -59472,56 +59444,56 @@ msgid "" + "use of built-in trait %qT in function signature; use library traits instead" + msgstr "" + +-#: cp/mangle.cc:3561 ++#: cp/mangle.cc:3560 + #, gcc-internal-format + msgid "" + "use of built-in trait %qE in function signature; use library traits instead" + msgstr "" + +-#: cp/mangle.cc:3566 ++#: cp/mangle.cc:3565 + #, gcc-internal-format, gfc-internal-format + msgid "mangling %C" + msgstr "" + +-#: cp/mangle.cc:3642 ++#: cp/mangle.cc:3641 + #, gcc-internal-format + msgid "omitted middle operand to % operand cannot be mangled" + msgstr "" + +-#: cp/mangle.cc:4210 ++#: cp/mangle.cc:4209 + #, gcc-internal-format + msgid "" + "mangled name for %qD will change in C++17 because the exception " + "specification is part of a function type" + msgstr "" + +-#: cp/mangle.cc:4256 ++#: cp/mangle.cc:4255 + #, gcc-internal-format + msgid "" + "the mangled name of %qD changed between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)" + msgstr "" + +-#: cp/mangle.cc:4262 ++#: cp/mangle.cc:4261 + #, gcc-internal-format + msgid "" + "the mangled name of %qD changes between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)" + msgstr "" + +-#: cp/mangle.cc:4534 ++#: cp/mangle.cc:4533 + #, gcc-internal-format + msgid "" + "the mangled name of a thunk for %qD changes between %<-fabi-version=%d%> and " + "%<-fabi-version=%d%>" + msgstr "" + +-#: cp/mangle.cc:4539 ++#: cp/mangle.cc:4538 + #, gcc-internal-format + msgid "" + "the mangled name of %qD changes between %<-fabi-version=%d%> and %<-fabi-" + "version=%d%>" + msgstr "" + +-#: cp/mangle.cc:4544 ++#: cp/mangle.cc:4543 + #, gcc-internal-format + msgid "" + "the mangled name of the initialization guard variable for %qD changes " +@@ -60214,7 +60186,7 @@ msgid "" + "%<-std=gnu++20%>" + msgstr "" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18928 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18911 + #, gcc-internal-format + msgid "%qT is not a class, namespace, or enumeration" + msgstr "" +@@ -60301,7 +60273,7 @@ msgstr "" + msgid "ignoring %qD attribute on non-inline namespace" + msgstr "" + +-#: cp/name-lookup.cc:6065 cp/name-lookup.cc:8378 ++#: cp/name-lookup.cc:6065 cp/name-lookup.cc:8341 + #, gcc-internal-format + msgid "%qD attribute directive ignored" + msgstr "" +@@ -60351,58 +60323,58 @@ msgid "" + "%>, isn%'t a template" + msgstr "" + +-#: cp/name-lookup.cc:8362 ++#: cp/name-lookup.cc:8325 + #, gcc-internal-format + msgid "% using directive no longer supported" + msgstr "" + +-#: cp/name-lookup.cc:8365 ++#: cp/name-lookup.cc:8328 + #, gcc-internal-format + msgid "you can use an inline namespace instead" + msgstr "" + + #. We only allow depth 255. +-#: cp/name-lookup.cc:8464 ++#: cp/name-lookup.cc:8427 + #, gcc-internal-format, gfc-internal-format + msgid "cannot nest more than %d namespaces" + msgstr "" + +-#: cp/name-lookup.cc:8561 ++#: cp/name-lookup.cc:8524 + #, gcc-internal-format + msgid "% is ambiguous" + msgstr "" + +-#: cp/name-lookup.cc:8577 ++#: cp/name-lookup.cc:8540 + #, gcc-internal-format + msgid "namespace alias %qD not allowed here, assuming %qD" + msgstr "" + +-#: cp/name-lookup.cc:8664 ++#: cp/name-lookup.cc:8627 + #, gcc-internal-format + msgid "inline namespace must be specified at initial definition" + msgstr "" + +-#: cp/name-lookup.cc:8665 ++#: cp/name-lookup.cc:8628 + #, gcc-internal-format + msgid "%qD defined here" + msgstr "" + +-#: cp/name-lookup.cc:8714 ++#: cp/name-lookup.cc:8677 + #, gcc-internal-format + msgid "%s namespace %qD conflicts with reachable definition" + msgstr "" + +-#: cp/name-lookup.cc:8716 ++#: cp/name-lookup.cc:8679 + #, gcc-internal-format, gfc-internal-format + msgid "reachable %s definition here" + msgstr "" + +-#: cp/name-lookup.cc:8759 ++#: cp/name-lookup.cc:8722 + #, gcc-internal-format + msgid "XXX entering %" + msgstr "" + +-#: cp/name-lookup.cc:8768 ++#: cp/name-lookup.cc:8731 + #, gcc-internal-format + msgid "XXX leaving %" + msgstr "" +@@ -60427,7 +60399,7 @@ msgstr "" + msgid "% is not set to true" + msgstr "" + +-#: cp/parser.cc:1531 cp/parser.cc:46296 ++#: cp/parser.cc:1531 cp/parser.cc:46297 + #, gcc-internal-format + msgid "" + "%<#pragma omp declare %s%> not immediately followed by function declaration " +@@ -60687,7 +60659,7 @@ msgstr "" + msgid "% only available with %<-std=c++20%> or %<-fconcepts%>" + msgstr "" + +-#: cp/parser.cc:3628 cp/parser.cc:30650 ++#: cp/parser.cc:3628 cp/parser.cc:30651 + #, gcc-internal-format + msgid "% only available with %<-std=c++20%> or %<-fconcepts%>" + msgstr "" +@@ -60984,7 +60956,7 @@ msgstr "" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "" + +-#: cp/parser.cc:7573 cp/pt.cc:21257 ++#: cp/parser.cc:7573 cp/pt.cc:21227 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_launder%>" + msgstr "" +@@ -61034,7 +61006,7 @@ msgstr "" + msgid "types may not be defined in % expressions" + msgstr "" + +-#: cp/parser.cc:9196 cp/parser.cc:33271 ++#: cp/parser.cc:9196 cp/parser.cc:33272 + #, gcc-internal-format + msgid "types may not be defined in %qs expressions" + msgstr "" +@@ -61269,14 +61241,14 @@ msgid "" + "% lambda only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "" + +-#: cp/parser.cc:11904 cp/parser.cc:12047 cp/parser.cc:47102 ++#: cp/parser.cc:11904 cp/parser.cc:12047 cp/parser.cc:47103 + #, gcc-internal-format + msgid "" + "mixing OpenMP directives with attribute and pragma syntax on the same " + "statement" + msgstr "" + +-#: cp/parser.cc:11930 cp/parser.cc:47084 ++#: cp/parser.cc:11930 cp/parser.cc:47085 + #, gcc-internal-format + msgid "unknown OpenMP directive name in % attribute argument" + msgstr "" +@@ -61384,7 +61356,7 @@ msgid "" + "%<-std=gnu++17%>" + msgstr "" + +-#: cp/parser.cc:13369 cp/parser.cc:33780 ++#: cp/parser.cc:13369 cp/parser.cc:33781 + #, gcc-internal-format + msgid "expected selection-statement" + msgstr "" +@@ -61452,7 +61424,7 @@ msgid "" + "inconsistent begin/end types in range-based % statement: %qT and %qT" + msgstr "" + +-#: cp/parser.cc:14247 cp/parser.cc:33783 ++#: cp/parser.cc:14247 cp/parser.cc:33784 + #, gcc-internal-format + msgid "expected iteration-statement" + msgstr "" +@@ -61484,7 +61456,7 @@ msgstr "" + msgid "ISO C++ forbids computed gotos" + msgstr "" + +-#: cp/parser.cc:14463 cp/parser.cc:33786 ++#: cp/parser.cc:14463 cp/parser.cc:33787 + #, gcc-internal-format + msgid "expected jump-statement" + msgstr "" +@@ -61762,12 +61734,12 @@ msgstr "" + msgid "cannot expand initializer for member %qD" + msgstr "" + +-#: cp/parser.cc:16950 cp/pt.cc:27470 ++#: cp/parser.cc:16950 cp/pt.cc:27456 + #, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "" + +-#: cp/parser.cc:16962 cp/pt.cc:27482 ++#: cp/parser.cc:16962 cp/pt.cc:27468 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "" +@@ -62398,7 +62370,7 @@ msgstr "" + msgid "%qT not permitted in template argument" + msgstr "" + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2490 ++#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 + #: rust/backend/rust-tree.cc:3861 + #, gcc-internal-format + msgid "invalid use of %qT" +@@ -62574,7 +62546,7 @@ msgstr "" + msgid "unexpanded parameter pack in local class in lambda" + msgstr "" + +-#: cp/parser.cc:27087 cp/parser.cc:33789 ++#: cp/parser.cc:27087 cp/parser.cc:33790 + #, gcc-internal-format + msgid "expected class-key" + msgstr "" +@@ -62680,154 +62652,154 @@ msgid "" + "implicitly a type)" + msgstr "" + +-#: cp/parser.cc:28297 cp/parser.cc:28391 ++#: cp/parser.cc:28298 cp/parser.cc:28392 + #, gcc-internal-format + msgid "types may not be defined in an exception-specification" + msgstr "" + +-#: cp/parser.cc:28399 ++#: cp/parser.cc:28400 + #, gcc-internal-format + msgid "ISO C++17 does not allow dynamic exception specifications" + msgstr "" + +-#: cp/parser.cc:28405 ++#: cp/parser.cc:28406 + #, gcc-internal-format + msgid "dynamic exception specifications are deprecated in C++11" + msgstr "" + +-#: cp/parser.cc:28449 ++#: cp/parser.cc:28450 + #, gcc-internal-format + msgid "invalid use of % in exception-specification" + msgstr "" + +-#: cp/parser.cc:28490 ++#: cp/parser.cc:28491 + #, gcc-internal-format + msgid "" + "% in % function only available with %<-std=c++20%> or %<-" + "std=gnu++20%>" + msgstr "" + +-#: cp/parser.cc:28602 ++#: cp/parser.cc:28603 + #, gcc-internal-format + msgid "types may not be defined in exception-declarations" + msgstr "" + +-#: cp/parser.cc:29160 ++#: cp/parser.cc:29161 + #, gcc-internal-format + msgid "expected OpenMP directive name" + msgstr "" + +-#: cp/parser.cc:29169 ++#: cp/parser.cc:29170 + #, gcc-internal-format + msgid "expected attribute argument as balanced token sequence" + msgstr "" + +-#: cp/parser.cc:29214 ++#: cp/parser.cc:29215 + #, gcc-internal-format + msgid "expected % or %" + msgstr "" + +-#: cp/parser.cc:29313 ++#: cp/parser.cc:29314 + #, gcc-internal-format + msgid "attribute using prefix used together with scoped attribute token" + msgstr "" + +-#: cp/parser.cc:29327 ++#: cp/parser.cc:29328 + #, gcc-internal-format + msgid "expected an identifier for the attribute name" + msgstr "" + +-#: cp/parser.cc:29382 ++#: cp/parser.cc:29383 + #, gcc-internal-format + msgid "% attribute requires argument" + msgstr "" + + #. e.g. [[attr()]]. +-#: cp/parser.cc:29454 ++#: cp/parser.cc:29455 + #, gcc-internal-format + msgid "parentheses must be omitted if %qE attribute argument list is empty" + msgstr "" + +-#: cp/parser.cc:29489 ++#: cp/parser.cc:29490 + #, gcc-internal-format + msgid "attribute %qs specified multiple times" + msgstr "" + +-#: cp/parser.cc:29531 ++#: cp/parser.cc:29532 + #, gcc-internal-format + msgid "expected attribute before %<...%>" + msgstr "" + +-#: cp/parser.cc:29574 ++#: cp/parser.cc:29575 + #, gcc-internal-format + msgid "expected contract-role" + msgstr "" + + #. We got some other token other than a ':'. +-#: cp/parser.cc:29655 ++#: cp/parser.cc:29656 + #, gcc-internal-format + msgid "expected contract semantic or level" + msgstr "" + +-#: cp/parser.cc:29665 ++#: cp/parser.cc:29666 + #, gcc-internal-format + msgid "expected contract level: %, %, or %" + msgstr "" + +-#: cp/parser.cc:29675 ++#: cp/parser.cc:29676 + #, gcc-internal-format + msgid "invalid use of contract role for explicit semantic" + msgstr "" + +-#: cp/parser.cc:29812 ++#: cp/parser.cc:29813 + #, gcc-internal-format + msgid "contracts are only available with %<-fcontracts%>" + msgstr "" + +-#: cp/parser.cc:29967 ++#: cp/parser.cc:29968 + #, gcc-internal-format + msgid "" + "attribute using prefix only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "" + +-#: cp/parser.cc:30312 cp/parser.cc:30321 ++#: cp/parser.cc:30313 cp/parser.cc:30322 + #, gcc-internal-format + msgid "expression must be enclosed in parentheses" + msgstr "" + +-#: cp/parser.cc:30667 ++#: cp/parser.cc:30668 + #, gcc-internal-format + msgid "missing additional % to start a requires-expression" + msgstr "" + +-#: cp/parser.cc:30910 ++#: cp/parser.cc:30911 + #, gcc-internal-format + msgid "" + "testing if a concept-id is a valid expression; add % to check " + "satisfaction" + msgstr "" + +-#: cp/parser.cc:31048 ++#: cp/parser.cc:31049 + #, gcc-internal-format + msgid "result type is not a plain type-constraint" + msgstr "" + +-#: cp/parser.cc:31056 ++#: cp/parser.cc:31057 + #, gcc-internal-format + msgid "return-type-requirement is not a type-constraint" + msgstr "" + +-#: cp/parser.cc:31568 ++#: cp/parser.cc:31569 + #, gcc-internal-format + msgid "specializing member %<%T::%E%> requires %%> syntax" + msgstr "" + +-#: cp/parser.cc:31573 ++#: cp/parser.cc:31574 + #, gcc-internal-format + msgid "invalid declaration of %<%T::%E%>" + msgstr "" + +-#: cp/parser.cc:31577 ++#: cp/parser.cc:31578 + #, gcc-internal-format + msgid "too few template-parameter-lists" + msgstr "" +@@ -62836,24 +62808,24 @@ msgstr "" + #. something like: + #. + #. template template void S::f(); +-#: cp/parser.cc:31584 ++#: cp/parser.cc:31585 + #, gcc-internal-format + msgid "too many template-parameter-lists" + msgstr "" + +-#: cp/parser.cc:31977 ++#: cp/parser.cc:31978 + #, gcc-internal-format + msgid "named return values are no longer supported" + msgstr "" + +-#: cp/parser.cc:32150 ++#: cp/parser.cc:32151 + #, gcc-internal-format + msgid "" + "ISO C++ did not adopt string literal operator templates taking an argument " + "pack of characters" + msgstr "" + +-#: cp/parser.cc:32159 ++#: cp/parser.cc:32160 + #, gcc-internal-format + msgid "" + "literal operator template %qD has invalid parameter list; expected non-type " +@@ -62861,586 +62833,586 @@ msgid "" + "type" + msgstr "" + +-#: cp/parser.cc:32165 ++#: cp/parser.cc:32166 + #, gcc-internal-format + msgid "" + "literal operator template %qD has invalid parameter list; expected non-type " + "template parameter pack %<%>" + msgstr "" + +-#: cp/parser.cc:32272 ++#: cp/parser.cc:32273 + #, gcc-internal-format + msgid "" + "template-introductions are not part of C++20 concepts; use %qs to enable" + msgstr "" + +-#: cp/parser.cc:32282 ++#: cp/parser.cc:32283 + #, gcc-internal-format + msgid "no matching concept for template-introduction" + msgstr "" + +-#: cp/parser.cc:32305 ++#: cp/parser.cc:32306 + #, gcc-internal-format + msgid "invalid declaration of member template in local class" + msgstr "" + +-#: cp/parser.cc:32314 ++#: cp/parser.cc:32315 + #, gcc-internal-format + msgid "template with C linkage" + msgstr "" + +-#: cp/parser.cc:32334 ++#: cp/parser.cc:32335 + #, gcc-internal-format + msgid "invalid explicit specialization" + msgstr "" + +-#: cp/parser.cc:32446 ++#: cp/parser.cc:32447 + #, gcc-internal-format + msgid "template declaration of %" + msgstr "" + +-#: cp/parser.cc:32497 ++#: cp/parser.cc:32498 + #, gcc-internal-format + msgid "a class template declaration must not declare anything else" + msgstr "" + +-#: cp/parser.cc:32549 ++#: cp/parser.cc:32550 + #, gcc-internal-format + msgid "explicit template specialization cannot have a storage class" + msgstr "" + +-#: cp/parser.cc:32856 ++#: cp/parser.cc:32857 + #, gcc-internal-format + msgid "%<>>%> should be %<> >%> within a nested template argument list" + msgstr "" + +-#: cp/parser.cc:32869 ++#: cp/parser.cc:32870 + #, gcc-internal-format + msgid "spurious %<>>%>, use %<>%> to terminate a template argument list" + msgstr "" + +-#: cp/parser.cc:32900 ++#: cp/parser.cc:32901 + #, gcc-internal-format + msgid "%qs should be %qs to terminate a template argument list" + msgstr "" + +-#: cp/parser.cc:33218 ++#: cp/parser.cc:33219 + #, gcc-internal-format + msgid "% argument must be surrounded by parentheses" + msgstr "" + +-#: cp/parser.cc:33395 ++#: cp/parser.cc:33396 + #, gcc-internal-format + msgid "invalid use of %qD in linkage specification" + msgstr "" + +-#: cp/parser.cc:33406 ++#: cp/parser.cc:33407 + #, gcc-internal-format + msgid "duplicate %qD specifier" + msgstr "" + +-#: cp/parser.cc:33409 ++#: cp/parser.cc:33410 + #, gcc-internal-format + msgid "%qD specifier conflicts with %qs" + msgstr "" + +-#: cp/parser.cc:33421 ++#: cp/parser.cc:33422 + #, gcc-internal-format + msgid "%<__thread%> before %qD" + msgstr "" + +-#: cp/parser.cc:33437 ++#: cp/parser.cc:33438 + #, gcc-internal-format + msgid "%qD specifier conflicts with %" + msgstr "" + +-#: cp/parser.cc:33546 ++#: cp/parser.cc:33547 + #, gcc-internal-format + msgid "ISO C++ 1998 does not support %" + msgstr "" + +-#: cp/parser.cc:33557 ++#: cp/parser.cc:33558 + #, gcc-internal-format + msgid "both %<__thread%> and % specified" + msgstr "" + +-#: cp/parser.cc:33562 ++#: cp/parser.cc:33563 + #, gcc-internal-format + msgid "duplicate %qD" + msgstr "" + +-#: cp/parser.cc:33588 ++#: cp/parser.cc:33589 + #, gcc-internal-format + msgid "duplicate %qs" + msgstr "" + +-#: cp/parser.cc:33640 ++#: cp/parser.cc:33641 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33643 ++#: cp/parser.cc:33644 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33646 ++#: cp/parser.cc:33647 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33652 ++#: cp/parser.cc:33653 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33655 ++#: cp/parser.cc:33656 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33658 ++#: cp/parser.cc:33659 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33661 ++#: cp/parser.cc:33662 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33664 ++#: cp/parser.cc:33665 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33667 ++#: cp/parser.cc:33668 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33670 ++#: cp/parser.cc:33671 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33673 ++#: cp/parser.cc:33674 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33676 ++#: cp/parser.cc:33677 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33679 ++#: cp/parser.cc:33680 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33682 ++#: cp/parser.cc:33683 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33685 ++#: cp/parser.cc:33686 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33688 ++#: cp/parser.cc:33689 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33691 ++#: cp/parser.cc:33692 + #, gcc-internal-format + msgid "expected %<__label__%>" + msgstr "" + +-#: cp/parser.cc:33694 ++#: cp/parser.cc:33695 + #, gcc-internal-format + msgid "expected %<@try%>" + msgstr "" + +-#: cp/parser.cc:33697 ++#: cp/parser.cc:33698 + #, gcc-internal-format + msgid "expected %<@synchronized%>" + msgstr "" + +-#: cp/parser.cc:33700 ++#: cp/parser.cc:33701 + #, gcc-internal-format + msgid "expected %<@throw%>" + msgstr "" + +-#: cp/parser.cc:33703 ++#: cp/parser.cc:33704 + #, gcc-internal-format + msgid "expected %<__transaction_atomic%>" + msgstr "" + +-#: cp/parser.cc:33706 ++#: cp/parser.cc:33707 + #, gcc-internal-format + msgid "expected %<__transaction_relaxed%>" + msgstr "" + +-#: cp/parser.cc:33709 ++#: cp/parser.cc:33710 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:33741 ++#: cp/parser.cc:33742 + #, gcc-internal-format + msgid "expected %<::%>" + msgstr "" + +-#: cp/parser.cc:33753 ++#: cp/parser.cc:33754 + #, gcc-internal-format + msgid "expected %<...%>" + msgstr "" + +-#: cp/parser.cc:33756 ++#: cp/parser.cc:33757 + #, gcc-internal-format + msgid "expected %<*%>" + msgstr "" + +-#: cp/parser.cc:33759 ++#: cp/parser.cc:33760 + #, gcc-internal-format + msgid "expected %<~%>" + msgstr "" + +-#: cp/parser.cc:33765 ++#: cp/parser.cc:33766 + #, gcc-internal-format + msgid "expected %<:%> or %<::%>" + msgstr "" + +-#: cp/parser.cc:33792 ++#: cp/parser.cc:33793 + #, gcc-internal-format + msgid "expected %, %, or %" + msgstr "" + +-#: cp/parser.cc:34127 ++#: cp/parser.cc:34128 + #, gcc-internal-format + msgid "redundant enum-key % in reference to %q#T" + msgstr "" + +-#: cp/parser.cc:34278 ++#: cp/parser.cc:34279 + #, gcc-internal-format + msgid "%qs tag used in naming %q#T" + msgstr "" + +-#: cp/parser.cc:34283 ++#: cp/parser.cc:34284 + #, gcc-internal-format + msgid "%q#T was previously declared here" + msgstr "" + +-#: cp/parser.cc:34404 ++#: cp/parser.cc:34405 + #, gcc-internal-format + msgid "redundant class-key %qs in reference to %q#T" + msgstr "" + +-#: cp/parser.cc:34562 cp/parser.cc:34596 ++#: cp/parser.cc:34563 cp/parser.cc:34597 + #, gcc-internal-format + msgid "%qT declared with a mismatched class-key %qs" + msgstr "" + +-#: cp/parser.cc:34569 cp/parser.cc:34602 ++#: cp/parser.cc:34570 cp/parser.cc:34603 + #, gcc-internal-format + msgid "remove the class-key or replace it with %qs" + msgstr "" + +-#: cp/parser.cc:34570 cp/parser.cc:34603 ++#: cp/parser.cc:34571 cp/parser.cc:34604 + #, gcc-internal-format + msgid "replace the class-key with %qs" + msgstr "" + +-#: cp/parser.cc:34577 ++#: cp/parser.cc:34578 + #, gcc-internal-format + msgid "%qT defined as %qs here" + msgstr "" + +-#: cp/parser.cc:34578 ++#: cp/parser.cc:34579 + #, gcc-internal-format + msgid "%qT first declared as %qs here" + msgstr "" + +-#: cp/parser.cc:34660 ++#: cp/parser.cc:34661 + #, gcc-internal-format + msgid "%qD redeclared with different access" + msgstr "" + +-#: cp/parser.cc:34681 ++#: cp/parser.cc:34682 + #, gcc-internal-format + msgid "" + "in C++98 % (as a disambiguator) is only allowed within templates" + msgstr "" + +-#: cp/parser.cc:34931 ++#: cp/parser.cc:34932 + #, gcc-internal-format + msgid "file ends in default argument" + msgstr "" + +-#: cp/parser.cc:35172 cp/parser.cc:36480 cp/parser.cc:36669 ++#: cp/parser.cc:35173 cp/parser.cc:36481 cp/parser.cc:36670 + #, gcc-internal-format + msgid "misplaced %<@%D%> Objective-C++ construct" + msgstr "" + +-#: cp/parser.cc:35243 ++#: cp/parser.cc:35244 + #, gcc-internal-format + msgid "objective-c++ message receiver expected" + msgstr "" + +-#: cp/parser.cc:35313 ++#: cp/parser.cc:35314 + #, gcc-internal-format + msgid "objective-c++ message argument(s) are expected" + msgstr "" + +-#: cp/parser.cc:35344 ++#: cp/parser.cc:35345 + #, gcc-internal-format + msgid "%<@encode%> must specify a type as an argument" + msgstr "" + +-#: cp/parser.cc:35748 ++#: cp/parser.cc:35749 + #, gcc-internal-format + msgid "invalid Objective-C++ selector name" + msgstr "" + +-#: cp/parser.cc:35823 cp/parser.cc:35841 ++#: cp/parser.cc:35824 cp/parser.cc:35842 + #, gcc-internal-format + msgid "objective-c++ method declaration is expected" + msgstr "" + +-#: cp/parser.cc:35835 cp/parser.cc:35901 ++#: cp/parser.cc:35836 cp/parser.cc:35902 + #, gcc-internal-format + msgid "method attributes must be specified at the end" + msgstr "" + +-#: cp/parser.cc:35944 ++#: cp/parser.cc:35945 + #, gcc-internal-format + msgid "stray %qs between Objective-C++ methods" + msgstr "" + +-#: cp/parser.cc:36141 cp/parser.cc:36148 cp/parser.cc:36155 ++#: cp/parser.cc:36142 cp/parser.cc:36149 cp/parser.cc:36156 + #, gcc-internal-format + msgid "invalid type for instance variable" + msgstr "" + +-#: cp/parser.cc:36272 ++#: cp/parser.cc:36273 + #, gcc-internal-format + msgid "identifier expected after %<@protocol%>" + msgstr "" + +-#: cp/parser.cc:36445 ++#: cp/parser.cc:36446 + #, gcc-internal-format + msgid "" + "attributes may not be specified before the %<@%D%> Objective-C++ keyword" + msgstr "" + +-#: cp/parser.cc:36452 ++#: cp/parser.cc:36453 + #, gcc-internal-format + msgid "prefix attributes are ignored before %<@%D%>" + msgstr "" + +-#: cp/parser.cc:36732 cp/parser.cc:36739 cp/parser.cc:36746 ++#: cp/parser.cc:36733 cp/parser.cc:36740 cp/parser.cc:36747 + #, gcc-internal-format + msgid "invalid type for property" + msgstr "" + +-#: cp/parser.cc:36908 ++#: cp/parser.cc:36909 + #, gcc-internal-format + msgid "unknown property attribute %qE" + msgstr "" + +-#: cp/parser.cc:38037 ++#: cp/parser.cc:38038 + #, gcc-internal-format + msgid "expected integer expression list" + msgstr "" + +-#: cp/parser.cc:38054 ++#: cp/parser.cc:38055 + #, gcc-internal-format + msgid "% expression must be integral" + msgstr "" + +-#: cp/parser.cc:39143 ++#: cp/parser.cc:39144 + #, gcc-internal-format + msgid "invalid reduction-identifier" + msgstr "" + +-#: cp/parser.cc:40112 ++#: cp/parser.cc:40113 + #, gcc-internal-format + msgid "types may not be defined in iterator type" + msgstr "" + +-#: cp/parser.cc:43018 ++#: cp/parser.cc:43019 + #, gcc-internal-format + msgid "parenthesized initialization is not allowed in OpenMP % loop" + msgstr "" + +-#: cp/parser.cc:43466 ++#: cp/parser.cc:43467 + #, gcc-internal-format + msgid "" + "%<[[omp::directive(%s)]]%> must be the only specified attribute on a " + "statement" + msgstr "" + +-#: cp/parser.cc:43711 ++#: cp/parser.cc:43712 + #, gcc-internal-format + msgid "% clause with parameter on range-based % loop" + msgstr "" + +-#: cp/parser.cc:43798 cp/pt.cc:18576 ++#: cp/parser.cc:43799 cp/pt.cc:18559 + #, gcc-internal-format + msgid "iteration variable %qD should not be reduction" + msgstr "" + +-#: cp/parser.cc:43891 ++#: cp/parser.cc:43892 + #, gcc-internal-format + msgid "not enough for loops to collapse" + msgstr "" + +-#: cp/parser.cc:46258 ++#: cp/parser.cc:46259 + #, gcc-internal-format + msgid "%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>" + msgstr "" + +-#: cp/parser.cc:47093 ++#: cp/parser.cc:47094 + #, gcc-internal-format + msgid "" + "OpenMP directive other than % or % " + "appertains to a declaration" + msgstr "" + +-#: cp/parser.cc:47439 cp/parser.cc:47470 ++#: cp/parser.cc:47440 cp/parser.cc:47471 + #, gcc-internal-format + msgid "%qs in attribute syntax terminated with %qs in pragma syntax" + msgstr "" + +-#: cp/parser.cc:47446 cp/parser.cc:47475 ++#: cp/parser.cc:47447 cp/parser.cc:47476 + #, gcc-internal-format + msgid "%qs in pragma syntax terminated with %qs in attribute syntax" + msgstr "" + +-#: cp/parser.cc:47587 ++#: cp/parser.cc:47588 + #, gcc-internal-format + msgid "invalid initializer clause" + msgstr "" + +-#: cp/parser.cc:47617 ++#: cp/parser.cc:47618 + #, gcc-internal-format + msgid "expected id-expression (arguments)" + msgstr "" + +-#: cp/parser.cc:47629 ++#: cp/parser.cc:47630 + #, gcc-internal-format + msgid "" + "one of the initializer call arguments should be % or %<&omp_priv%>" + msgstr "" + +-#: cp/parser.cc:47732 ++#: cp/parser.cc:47733 + #, gcc-internal-format + msgid "types may not be defined in declare reduction type list" + msgstr "" + +-#: cp/parser.cc:47752 cp/semantics.cc:6128 ++#: cp/parser.cc:47753 cp/semantics.cc:6128 + #, gcc-internal-format + msgid "predeclared arithmetic type %qT in %<#pragma omp declare reduction%>" + msgstr "" + +-#: cp/parser.cc:47756 cp/semantics.cc:6136 ++#: cp/parser.cc:47757 cp/semantics.cc:6136 + #, gcc-internal-format + msgid "function or array type %qT in %<#pragma omp declare reduction%>" + msgstr "" + +-#: cp/parser.cc:47759 cp/pt.cc:14486 cp/semantics.cc:6142 ++#: cp/parser.cc:47760 cp/pt.cc:14473 cp/semantics.cc:6142 + #, gcc-internal-format + msgid "reference type %qT in %<#pragma omp declare reduction%>" + msgstr "" + +-#: cp/parser.cc:47762 cp/semantics.cc:6148 ++#: cp/parser.cc:47763 cp/semantics.cc:6148 + #, gcc-internal-format + msgid "" + "%, % or %<__restrict%>-qualified type %qT in %<#pragma " + "omp declare reduction%>" + msgstr "" + +-#: cp/parser.cc:48476 ++#: cp/parser.cc:48477 + #, gcc-internal-format + msgid "%<#pragma acc routine%> names a set of overloads" + msgstr "" + +-#: cp/parser.cc:48486 ++#: cp/parser.cc:48487 + #, gcc-internal-format + msgid "%qD does not refer to a namespace scope function" + msgstr "" + + #. cancel-and-throw is unimplemented. +-#: cp/parser.cc:48847 ++#: cp/parser.cc:48848 + #, gcc-internal-format + msgid "%" + msgstr "" + +-#: cp/parser.cc:48894 cp/semantics.cc:11155 ++#: cp/parser.cc:48895 cp/semantics.cc:11155 + #, gcc-internal-format + msgid "%<__transaction_relaxed%> without transactional memory support enabled" + msgstr "" + +-#: cp/parser.cc:48896 cp/semantics.cc:11157 ++#: cp/parser.cc:48897 cp/semantics.cc:11157 + #, gcc-internal-format + msgid "%<__transaction_atomic%> without transactional memory support enabled" + msgstr "" + +-#: cp/parser.cc:49042 ++#: cp/parser.cc:49043 + #, gcc-internal-format + msgid "" + "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>" + msgstr "" + +-#: cp/parser.cc:49045 ++#: cp/parser.cc:49046 + #, gcc-internal-format + msgid " or a % function" + msgstr "" + +-#: cp/parser.cc:49092 ++#: cp/parser.cc:49093 + #, gcc-internal-format + msgid "malformed %<#pragma GCC pch_preprocess%>" + msgstr "" + +-#: cp/parser.cc:49390 ++#: cp/parser.cc:49391 + #, gcc-internal-format + msgid "%<#pragma omp requires%> may only be used at file or namespace scope" + msgstr "" + +-#: cp/parser.cc:49401 ++#: cp/parser.cc:49402 + #, gcc-internal-format + msgid "%<#pragma omp assumes%> may only be used at file or namespace scope" + msgstr "" + +-#: cp/parser.cc:49456 ++#: cp/parser.cc:49457 + #, gcc-internal-format + msgid "%<#pragma GCC ivdep%> must be inside a function" + msgstr "" + +-#: cp/parser.cc:49488 ++#: cp/parser.cc:49489 + #, gcc-internal-format + msgid "%<#pragma GCC unroll%> must be inside a function" + msgstr "" + +-#: cp/parser.cc:49569 ++#: cp/parser.cc:49570 + #, gcc-internal-format + msgid "multi-source compilation not implemented for C++" + msgstr "" + +-#: cp/parser.cc:49606 ++#: cp/parser.cc:49607 + #, gcc-internal-format + msgid "placeholder type not allowed in this context" + msgstr "" + +-#: cp/parser.cc:49815 ++#: cp/parser.cc:49816 + #, gcc-internal-format + msgid "implicit templates may not be %" + msgstr "" + +-#: cp/parser.cc:49871 ++#: cp/parser.cc:49872 + #, gcc-internal-format + msgid "% linkage started here" + msgstr "" +@@ -63990,7 +63962,7 @@ msgstr "" + msgid "redeclaration of %q#D with different constraints" + msgstr "" + +-#: cp/pt.cc:6770 cp/pt.cc:6840 ++#: cp/pt.cc:6770 cp/pt.cc:6839 + #, gcc-internal-format + msgid "%qE is not a valid template argument for type %qT" + msgstr "" +@@ -64005,409 +63977,409 @@ msgstr "" + msgid "it must be the name of a function with external linkage" + msgstr "" + +-#: cp/pt.cc:6790 ++#: cp/pt.cc:6789 + #, gcc-internal-format + msgid "" + "%qE is not a valid template argument for type %qT because %qD has no linkage" + msgstr "" + +-#: cp/pt.cc:6794 ++#: cp/pt.cc:6793 + #, gcc-internal-format + msgid "" + "%qE is not a valid template argument for type %qT because %qD does not have " + "external linkage" + msgstr "" + +-#: cp/pt.cc:6843 ++#: cp/pt.cc:6842 + #, gcc-internal-format + msgid "it must be a pointer-to-member of the form %<&X::Y%>" + msgstr "" + +-#: cp/pt.cc:6845 ++#: cp/pt.cc:6844 + #, gcc-internal-format + msgid "because it is a member of %qT" + msgstr "" + +-#: cp/pt.cc:6914 ++#: cp/pt.cc:6913 + #, gcc-internal-format + msgid " couldn%'t deduce template parameter %qD" + msgstr "" + +-#: cp/pt.cc:6923 ++#: cp/pt.cc:6922 + #, gcc-internal-format + msgid " types %qT and %qT have incompatible cv-qualifiers" + msgstr "" + +-#: cp/pt.cc:6932 ++#: cp/pt.cc:6931 + #, gcc-internal-format + msgid " mismatched types %qT and %qT" + msgstr "" + +-#: cp/pt.cc:6941 ++#: cp/pt.cc:6940 + #, gcc-internal-format + msgid " template parameter %qD is not a parameter pack, but argument %qD is" + msgstr "" + +-#: cp/pt.cc:6952 ++#: cp/pt.cc:6951 + #, gcc-internal-format + msgid " template argument %qE does not match pointer-to-member constant %qE" + msgstr "" + +-#: cp/pt.cc:6962 ++#: cp/pt.cc:6961 + #, gcc-internal-format + msgid " %qE is not equivalent to %qE" + msgstr "" + +-#: cp/pt.cc:6971 ++#: cp/pt.cc:6970 + #, gcc-internal-format + msgid " inconsistent parameter pack deduction with %qT and %qT" + msgstr "" + +-#: cp/pt.cc:6983 ++#: cp/pt.cc:6982 + #, gcc-internal-format + msgid " deduced conflicting types for parameter %qT (%qT and %qT)" + msgstr "" + +-#: cp/pt.cc:6987 ++#: cp/pt.cc:6986 + #, gcc-internal-format + msgid " deduced conflicting values for non-type parameter %qE (%qE and %qE)" + msgstr "" + +-#: cp/pt.cc:6998 ++#: cp/pt.cc:6997 + #, gcc-internal-format + msgid " variable-sized array type %qT is not a valid template argument" + msgstr "" + +-#: cp/pt.cc:7009 ++#: cp/pt.cc:7008 + #, gcc-internal-format + msgid " member function type %qT is not a valid template argument" + msgstr "" + +-#: cp/pt.cc:7052 ++#: cp/pt.cc:7051 + #, gcc-internal-format + msgid " cannot convert %qE (type %qT) to type %qT" + msgstr "" + +-#: cp/pt.cc:7065 ++#: cp/pt.cc:7064 + #, gcc-internal-format + msgid " %qT is an ambiguous base class of %qT" + msgstr "" + +-#: cp/pt.cc:7069 ++#: cp/pt.cc:7068 + #, gcc-internal-format + msgid " %qT is not derived from %qT" + msgstr "" + +-#: cp/pt.cc:7080 ++#: cp/pt.cc:7079 + #, gcc-internal-format + msgid "" + " template parameters of a template template argument are inconsistent with " + "other deduced template arguments" + msgstr "" + +-#: cp/pt.cc:7090 ++#: cp/pt.cc:7089 + #, gcc-internal-format + msgid " cannot deduce a template for %qT from non-template type %qT" + msgstr "" + +-#: cp/pt.cc:7100 ++#: cp/pt.cc:7099 + #, gcc-internal-format + msgid " template argument %qE does not match %qE" + msgstr "" + +-#: cp/pt.cc:7151 ++#: cp/pt.cc:7150 + #, gcc-internal-format + msgid "" + "%qE is not a valid template argument of type %qT because %qE is not a " + "variable or function" + msgstr "" + +-#: cp/pt.cc:7160 ++#: cp/pt.cc:7159 + #, gcc-internal-format + msgid "" + "%qE is not a valid template argument of type %qT in C++98 because %qD does " + "not have external linkage" + msgstr "" + +-#: cp/pt.cc:7170 ++#: cp/pt.cc:7169 + #, gcc-internal-format + msgid "" + "%qE is not a valid template argument of type %qT because %qD has no linkage" + msgstr "" + +-#: cp/pt.cc:7185 ++#: cp/pt.cc:7184 + #, gcc-internal-format + msgid "the address of %qD is not a valid template argument" + msgstr "" + +-#: cp/pt.cc:7195 ++#: cp/pt.cc:7194 + #, gcc-internal-format + msgid "" + "the address of the %qT subobject of %qD is not a valid template argument" + msgstr "" + +-#: cp/pt.cc:7202 ++#: cp/pt.cc:7201 + #, gcc-internal-format + msgid "" + "the address of %qD is not a valid template argument because it does not have " + "static storage duration" + msgstr "" + +-#: cp/pt.cc:7220 ++#: cp/pt.cc:7219 + #, gcc-internal-format + msgid "" + "%qD is not a valid template argument because %qD is a variable, not the " + "address of a variable" + msgstr "" + +-#: cp/pt.cc:7228 ++#: cp/pt.cc:7227 + #, gcc-internal-format + msgid "" + "%qE is not a valid template argument for %qT because it is not the address " + "of a variable" + msgstr "" + +-#: cp/pt.cc:7349 ++#: cp/pt.cc:7348 + #, gcc-internal-format + msgid "" + "%qE is not a valid template argument for type %qT because string literals " + "can never be used in this context" + msgstr "" + +-#: cp/pt.cc:7514 ++#: cp/pt.cc:7513 + #, gcc-internal-format + msgid "in template argument for type %qT" + msgstr "" + +-#: cp/pt.cc:7528 ++#: cp/pt.cc:7527 + #, gcc-internal-format + msgid "template argument %qE for type %qT not a compile-time constant" + msgstr "" + +-#: cp/pt.cc:7614 ++#: cp/pt.cc:7613 + #, gcc-internal-format + msgid "" + "%qE is not a valid template argument for type %qT because of conflicts in cv-" + "qualification" + msgstr "" + +-#: cp/pt.cc:7622 ++#: cp/pt.cc:7621 + #, gcc-internal-format + msgid "" + "%qE is not a valid template argument for type %qT because it is not an lvalue" + msgstr "" + +-#: cp/pt.cc:7640 ++#: cp/pt.cc:7639 + #, gcc-internal-format + msgid "" + "%q#D is not a valid template argument for type %qT because a reference " + "variable does not have a constant address" + msgstr "" + +-#: cp/pt.cc:7699 ++#: cp/pt.cc:7698 + #, gcc-internal-format + msgid "" + "%qE is not a valid template argument for type %qT because it is a pointer" + msgstr "" + +-#: cp/pt.cc:7701 ++#: cp/pt.cc:7700 + #, gcc-internal-format + msgid "try using %qE instead" + msgstr "" + +-#: cp/pt.cc:7755 ++#: cp/pt.cc:7754 + #, gcc-internal-format + msgid "" + "%qE is not a valid template argument for type %qT because it is of type %qT" + msgstr "" + +-#: cp/pt.cc:8314 ++#: cp/pt.cc:8312 + #, gcc-internal-format + msgid "ignoring attributes on template argument %qT" + msgstr "" + +-#: cp/pt.cc:8330 ++#: cp/pt.cc:8328 + #, gcc-internal-format + msgid "ignoring attributes in template argument %qE" + msgstr "" + +-#: cp/pt.cc:8466 ++#: cp/pt.cc:8464 + #, gcc-internal-format + msgid "injected-class-name %qD used as template template argument" + msgstr "" + +-#: cp/pt.cc:8495 ++#: cp/pt.cc:8493 + #, gcc-internal-format + msgid "invalid use of destructor %qE as a type" + msgstr "" + +-#: cp/pt.cc:8500 ++#: cp/pt.cc:8498 + #, gcc-internal-format + msgid "to refer to a type member of a template parameter, use %" + msgstr "" + +-#: cp/pt.cc:8516 cp/pt.cc:8550 cp/pt.cc:8600 ++#: cp/pt.cc:8514 cp/pt.cc:8548 cp/pt.cc:8598 + #, gcc-internal-format + msgid "type/value mismatch at argument %d in template parameter list for %qD" + msgstr "" + +-#: cp/pt.cc:8524 ++#: cp/pt.cc:8522 + #, gcc-internal-format + msgid " expected a constant of type %qT, got %qT" + msgstr "" + +-#: cp/pt.cc:8532 ++#: cp/pt.cc:8530 + #, gcc-internal-format + msgid "" + " ambiguous template argument for non-type template parameter is treated as " + "function type" + msgstr "" + +-#: cp/pt.cc:8538 ++#: cp/pt.cc:8536 + #, gcc-internal-format + msgid " expected a class template, got %qE" + msgstr "" + +-#: cp/pt.cc:8541 ++#: cp/pt.cc:8539 + #, gcc-internal-format + msgid " expected a type, got %qE" + msgstr "" + +-#: cp/pt.cc:8555 ++#: cp/pt.cc:8553 + #, gcc-internal-format + msgid " expected a type, got %qT" + msgstr "" + +-#: cp/pt.cc:8558 ++#: cp/pt.cc:8556 + #, gcc-internal-format + msgid " expected a class template, got %qT" + msgstr "" + +-#: cp/pt.cc:8604 ++#: cp/pt.cc:8602 + #, gcc-internal-format + msgid " expected a template of type %qD, got %qT" + msgstr "" + +-#: cp/pt.cc:8618 ++#: cp/pt.cc:8616 + #, gcc-internal-format + msgid "constraint mismatch at argument %d in template parameter list for %qD" + msgstr "" + +-#: cp/pt.cc:8621 ++#: cp/pt.cc:8619 + #, gcc-internal-format + msgid " expected %qD but got %qD" + msgstr "" + +-#: cp/pt.cc:8694 ++#: cp/pt.cc:8692 + #, gcc-internal-format + msgid "could not convert template argument %qE from %qT to %qT" + msgstr "" + +-#: cp/pt.cc:8832 cp/pt.cc:9158 ++#: cp/pt.cc:8830 cp/pt.cc:9156 + #, gcc-internal-format, gfc-internal-format + msgid "template argument %d is invalid" + msgstr "" + +-#: cp/pt.cc:8847 cp/pt.cc:8992 ++#: cp/pt.cc:8845 cp/pt.cc:8990 + #, gcc-internal-format, gfc-internal-format + msgid "wrong number of template arguments (%d, should be %d)" + msgstr "" + +-#: cp/pt.cc:8988 ++#: cp/pt.cc:8986 + #, gcc-internal-format, gfc-internal-format + msgid "wrong number of template arguments (%d, should be at least %d)" + msgstr "" + +-#: cp/pt.cc:8997 ++#: cp/pt.cc:8995 + #, gcc-internal-format + msgid "provided for %qD" + msgstr "" + +-#: cp/pt.cc:9022 ++#: cp/pt.cc:9020 + #, gcc-internal-format + msgid "" + "pack expansion argument for non-pack parameter %qD of alias template %qD" + msgstr "" + +-#: cp/pt.cc:9026 ++#: cp/pt.cc:9024 + #, gcc-internal-format + msgid "pack expansion argument for non-pack parameter %qD of concept %qD" + msgstr "" + +-#: cp/pt.cc:9124 ++#: cp/pt.cc:9122 + #, gcc-internal-format + msgid "" + "so any instantiation with a non-empty parameter pack would be ill-formed" + msgstr "" + +-#: cp/pt.cc:9687 ++#: cp/pt.cc:9685 + #, gcc-internal-format + msgid "%q#D is not a function template" + msgstr "" + +-#: cp/pt.cc:9850 ++#: cp/pt.cc:9848 + #, gcc-internal-format + msgid "non-template type %qT used as a template" + msgstr "" + +-#: cp/pt.cc:9852 ++#: cp/pt.cc:9850 + #, gcc-internal-format + msgid "for template declaration %q+D" + msgstr "" + +-#: cp/pt.cc:9996 cp/pt.cc:22218 ++#: cp/pt.cc:9983 cp/pt.cc:22188 + #, gcc-internal-format + msgid "template constraint failure for %qD" + msgstr "" + +-#: cp/pt.cc:10381 ++#: cp/pt.cc:10368 + #, gcc-internal-format + msgid "use of invalid variable template %qE" + msgstr "" + +-#: cp/pt.cc:11116 ++#: cp/pt.cc:11103 + #, gcc-internal-format + msgid "" + "template instantiation depth exceeds maximum of %d (use %<-ftemplate-" + "depth=%> to increase the maximum)" + msgstr "" + +-#: cp/pt.cc:12449 ++#: cp/pt.cc:12436 + #, gcc-internal-format + msgid "flexible array member %qD in union" + msgstr "" + +-#: cp/pt.cc:12939 ++#: cp/pt.cc:12926 + #, gcc-internal-format + msgid "fold of empty expansion over %O" + msgstr "" + +-#: cp/pt.cc:13393 ++#: cp/pt.cc:13380 + #, gcc-internal-format + msgid "%qE is not the entire pattern of the pack expansion" + msgstr "" + +-#: cp/pt.cc:13481 ++#: cp/pt.cc:13468 + #, gcc-internal-format + msgid "mismatched argument pack lengths while expanding %qT" + msgstr "" + +-#: cp/pt.cc:13484 ++#: cp/pt.cc:13471 + #, gcc-internal-format + msgid "mismatched argument pack lengths while expanding %qE" + msgstr "" + +-#: cp/pt.cc:14163 ++#: cp/pt.cc:14150 + #, gcc-internal-format + msgid " when instantiating default argument for call to %qD" + msgstr "" + +-#: cp/pt.cc:14259 ++#: cp/pt.cc:14246 + #, gcc-internal-format + msgid "creating pointer to member function of non-class type %qT" + msgstr "" + +-#: cp/pt.cc:15157 ++#: cp/pt.cc:15140 + #, gcc-internal-format, gfc-internal-format + msgid "mismatched argument pack lengths (%d vs %d)" + msgstr "" +@@ -64425,305 +64397,305 @@ msgstr "" + #. + #. is an attempt to declare a variable with function + #. type. +-#: cp/pt.cc:15350 ++#: cp/pt.cc:15333 + #, gcc-internal-format + msgid "variable %qD has function type" + msgstr "" + +-#: cp/pt.cc:15549 ++#: cp/pt.cc:15532 + #, gcc-internal-format + msgid "invalid parameter type %qT" + msgstr "" + +-#: cp/pt.cc:15551 ++#: cp/pt.cc:15534 + #, gcc-internal-format + msgid "in declaration %q+D" + msgstr "" + +-#: cp/pt.cc:15678 ++#: cp/pt.cc:15661 + #, gcc-internal-format + msgid "function returning an array" + msgstr "" + +-#: cp/pt.cc:15680 ++#: cp/pt.cc:15663 + #, gcc-internal-format + msgid "function returning a function" + msgstr "" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16363 + #, gcc-internal-format + msgid "forming reference to void" + msgstr "" + +-#: cp/pt.cc:16382 ++#: cp/pt.cc:16365 + #, gcc-internal-format + msgid "forming pointer to reference type %qT" + msgstr "" + +-#: cp/pt.cc:16384 ++#: cp/pt.cc:16367 + #, gcc-internal-format + msgid "forming reference to reference type %qT" + msgstr "" + +-#: cp/pt.cc:16397 ++#: cp/pt.cc:16380 + #, gcc-internal-format + msgid "forming pointer to qualified function type %qT" + msgstr "" + +-#: cp/pt.cc:16400 ++#: cp/pt.cc:16383 + #, gcc-internal-format + msgid "forming reference to qualified function type %qT" + msgstr "" + +-#: cp/pt.cc:16448 ++#: cp/pt.cc:16431 + #, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr "" + +-#: cp/pt.cc:16454 ++#: cp/pt.cc:16437 + #, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr "" + +-#: cp/pt.cc:16460 ++#: cp/pt.cc:16443 + #, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr "" + +-#: cp/pt.cc:16526 ++#: cp/pt.cc:16509 + #, gcc-internal-format + msgid "creating array of %qT" + msgstr "" + +-#: cp/pt.cc:16563 ++#: cp/pt.cc:16546 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "" + +-#: cp/pt.cc:16584 ++#: cp/pt.cc:16567 + #, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "" + +-#: cp/pt.cc:16624 ++#: cp/pt.cc:16607 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "" + +-#: cp/pt.cc:16632 ++#: cp/pt.cc:16615 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not a class type" + msgstr "" + +-#: cp/pt.cc:16745 ++#: cp/pt.cc:16728 + #, gcc-internal-format + msgid "use of %qs in template" + msgstr "" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17038 + #, gcc-internal-format + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "" + +-#: cp/pt.cc:17070 ++#: cp/pt.cc:17053 + #, gcc-internal-format + msgid "" + "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "" + +-#: cp/pt.cc:17072 ++#: cp/pt.cc:17055 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "" + +-#: cp/pt.cc:17165 ++#: cp/pt.cc:17148 + #, gcc-internal-format + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "" + +-#: cp/pt.cc:17356 ++#: cp/pt.cc:17339 + #, gcc-internal-format + msgid "using invalid field %qD" + msgstr "" + +-#: cp/pt.cc:17889 cp/pt.cc:19876 ++#: cp/pt.cc:17872 cp/pt.cc:19859 + #, gcc-internal-format + msgid "invalid use of pack expansion expression" + msgstr "" + +-#: cp/pt.cc:17893 cp/pt.cc:19880 ++#: cp/pt.cc:17876 cp/pt.cc:19863 + #, gcc-internal-format + msgid "use %<...%> to expand argument pack" + msgstr "" + +-#: cp/pt.cc:20017 ++#: cp/pt.cc:20000 + #, gcc-internal-format + msgid "empty initializer in lambda init-capture" + msgstr "" + +-#: cp/pt.cc:21172 ++#: cp/pt.cc:21142 + #, gcc-internal-format + msgid "" + "%qD was not declared in this scope, and no declarations were found by " + "argument-dependent lookup at the point of instantiation" + msgstr "" + +-#: cp/pt.cc:21207 ++#: cp/pt.cc:21177 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "" + +-#: cp/pt.cc:21212 ++#: cp/pt.cc:21182 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "" + +-#: cp/pt.cc:21215 ++#: cp/pt.cc:21185 + #, gcc-internal-format + msgid "use %<%T::%D%> instead" + msgstr "" + +-#: cp/pt.cc:21220 ++#: cp/pt.cc:21190 + #, gcc-internal-format + msgid "%qD declared here, later in the translation unit" + msgstr "" + +-#: cp/pt.cc:21271 ++#: cp/pt.cc:21241 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "" + +-#: cp/pt.cc:21298 ++#: cp/pt.cc:21268 + #, gcc-internal-format + msgid "wrong number of arguments to % attribute" + msgstr "" + +-#: cp/pt.cc:21534 ++#: cp/pt.cc:21504 + #, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "" + +-#: cp/pt.cc:21537 ++#: cp/pt.cc:21507 + #, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "" + +-#: cp/pt.cc:21887 ++#: cp/pt.cc:21857 + #, gcc-internal-format + msgid "%qT is/uses unnamed type" + msgstr "" + +-#: cp/pt.cc:21889 ++#: cp/pt.cc:21859 + #, gcc-internal-format + msgid "template argument for %qD uses local type %qT" + msgstr "" + +-#: cp/pt.cc:21899 ++#: cp/pt.cc:21869 + #, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "" + +-#: cp/pt.cc:21914 ++#: cp/pt.cc:21884 + #, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "" + +-#: cp/pt.cc:21932 ++#: cp/pt.cc:21902 + #, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr "" + +-#: cp/pt.cc:26165 ++#: cp/pt.cc:26135 + #, gcc-internal-format + msgid "ambiguous template instantiation for %q#T" + msgstr "" + +-#: cp/pt.cc:26167 ++#: cp/pt.cc:26137 + #, gcc-internal-format + msgid "ambiguous template instantiation for %q#D" + msgstr "" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26143 + msgid "%s %#qS" + msgstr "" + +-#: cp/pt.cc:26197 cp/pt.cc:26292 ++#: cp/pt.cc:26167 cp/pt.cc:26262 + #, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "" + +-#: cp/pt.cc:26203 ++#: cp/pt.cc:26173 + #, gcc-internal-format + msgid "explicit instantiation of variable concept %q#D" + msgstr "" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26175 + #, gcc-internal-format + msgid "explicit instantiation of function concept %q#D" + msgstr "" + +-#: cp/pt.cc:26224 ++#: cp/pt.cc:26194 + #, gcc-internal-format + msgid "%qD is not a static data member of a class template" + msgstr "" + +-#: cp/pt.cc:26230 cp/pt.cc:26287 ++#: cp/pt.cc:26200 cp/pt.cc:26257 + #, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "" + +-#: cp/pt.cc:26235 ++#: cp/pt.cc:26205 + #, gcc-internal-format + msgid "" + "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "" + +-#: cp/pt.cc:26243 ++#: cp/pt.cc:26213 + #, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "" + +-#: cp/pt.cc:26279 ++#: cp/pt.cc:26249 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "" + +-#: cp/pt.cc:26302 cp/pt.cc:26369 ++#: cp/pt.cc:26272 cp/pt.cc:26339 + #, gcc-internal-format + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "" + +-#: cp/pt.cc:26307 cp/pt.cc:26384 ++#: cp/pt.cc:26277 cp/pt.cc:26354 + #, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "" + +-#: cp/pt.cc:26341 ++#: cp/pt.cc:26311 + #, gcc-internal-format + msgid "explicit instantiation of non-class template %qD" + msgstr "" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26314 + #, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "" + +-#: cp/pt.cc:26353 ++#: cp/pt.cc:26323 + #, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "" + +-#: cp/pt.cc:26374 ++#: cp/pt.cc:26344 + #, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "" + +-#: cp/pt.cc:26414 ++#: cp/pt.cc:26384 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "" + +-#: cp/pt.cc:26724 ++#: cp/pt.cc:26694 + #, gcc-internal-format + msgid "exception specification of %qD depends on itself" + msgstr "" +@@ -64735,12 +64707,12 @@ msgstr "" + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27200 ++#: cp/pt.cc:27186 + #, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "" + +-#: cp/pt.cc:27247 ++#: cp/pt.cc:27233 + #, gcc-internal-format + msgid "" + "template instantiation depth exceeds maximum of %d instantiating %q+D, " +@@ -64748,170 +64720,170 @@ msgid "" + "increase the maximum)" + msgstr "" + +-#: cp/pt.cc:27617 ++#: cp/pt.cc:27603 + #, gcc-internal-format + msgid "" + "non-type template parameters of deduced class type only available with %<-" + "std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27647 ++#: cp/pt.cc:27633 + #, gcc-internal-format + msgid "" + "%qT is not a valid type for a template non-type parameter because it is not " + "structural" + msgstr "" + +-#: cp/pt.cc:27656 ++#: cp/pt.cc:27642 + #, gcc-internal-format + msgid "" + "non-type template parameters of class type only available with %<-std=c+" + "+20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27664 ++#: cp/pt.cc:27650 + #, gcc-internal-format + msgid "invalid template non-type parameter" + msgstr "" + +-#: cp/pt.cc:27666 ++#: cp/pt.cc:27652 + #, gcc-internal-format + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "" + +-#: cp/pt.cc:29094 ++#: cp/pt.cc:29080 + #, gcc-internal-format + msgid "keyword % not allowed in declarator-id" + msgstr "" + +-#: cp/pt.cc:29384 ++#: cp/pt.cc:29370 + #, gcc-internal-format + msgid "a concept cannot be constrained" + msgstr "" + +-#: cp/pt.cc:29393 ++#: cp/pt.cc:29379 + #, gcc-internal-format + msgid "concept %qE not in namespace scope" + msgstr "" + +-#: cp/pt.cc:29399 ++#: cp/pt.cc:29385 + #, gcc-internal-format + msgid "concept %qE has multiple template parameter lists" + msgstr "" + +-#: cp/pt.cc:29430 ++#: cp/pt.cc:29416 + #, gcc-internal-format + msgid "" + "deducing from brace-enclosed initializer list requires %<#include " + "%>" + msgstr "" + +-#: cp/pt.cc:30578 ++#: cp/pt.cc:30564 + #, gcc-internal-format + msgid "non-deducible template %qT used without template arguments" + msgstr "" + +-#: cp/pt.cc:30590 ++#: cp/pt.cc:30576 + #, gcc-internal-format + msgid "" + "alias template deduction only available with %<-std=c++20%> or %<-std=gnu+" + "+20%>" + msgstr "" + +-#: cp/pt.cc:30596 ++#: cp/pt.cc:30582 + #, gcc-internal-format + msgid "use %qD directly instead" + msgstr "" + +-#: cp/pt.cc:30707 ++#: cp/pt.cc:30693 + #, gcc-internal-format + msgid "" + "cannot deduce template arguments for copy-initialization of %qT, as it has " + "no non-explicit deduction guides or user-declared constructors" + msgstr "" + +-#: cp/pt.cc:30714 ++#: cp/pt.cc:30700 + #, gcc-internal-format + msgid "" + "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "" + +-#: cp/pt.cc:30726 ++#: cp/pt.cc:30712 + #, gcc-internal-format + msgid "class template argument deduction failed:" + msgstr "" + +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30715 + #, gcc-internal-format + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30743 ++#: cp/pt.cc:30729 + #, gcc-internal-format + msgid "" + "class template argument deduction for %qT failed: explicit deduction guide " + "selected in copy-list-initialization" + msgstr "" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30733 + #, gcc-internal-format + msgid "explicit deduction guide declared here" + msgstr "" + +-#: cp/pt.cc:30761 ++#: cp/pt.cc:30747 + #, gcc-internal-format + msgid "%qT may not intend to support class template argument deduction" + msgstr "" + +-#: cp/pt.cc:30763 ++#: cp/pt.cc:30749 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "" + +-#: cp/pt.cc:30874 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "" + +-#: cp/pt.cc:30877 ++#: cp/pt.cc:30863 + #, gcc-internal-format + msgid "" + "for deduction to %, use copy-list-initialization (i." + "e. add %<=%> before the %<{%>)" + msgstr "" + +-#: cp/pt.cc:30956 ++#: cp/pt.cc:30942 + #, gcc-internal-format + msgid "unable to deduce lambda return type from %qE" + msgstr "" + +-#: cp/pt.cc:30959 ++#: cp/pt.cc:30945 + #, gcc-internal-format + msgid "unable to deduce %qT from %qE" + msgstr "" + +-#: cp/pt.cc:31034 ++#: cp/pt.cc:31020 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "" + +-#: cp/pt.cc:31038 ++#: cp/pt.cc:31024 + #, gcc-internal-format + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "" + +-#: cp/pt.cc:31042 ++#: cp/pt.cc:31028 + #, gcc-internal-format + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "" + +-#: cp/pt.cc:31046 ++#: cp/pt.cc:31032 + #, gcc-internal-format + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "" + +-#: cp/pt.cc:31186 ++#: cp/pt.cc:31172 + #, gcc-internal-format + msgid "invalid use of %qT in template argument" + msgstr "" +@@ -67062,156 +67034,156 @@ msgstr "" + msgid "insufficient contextual information to determine type" + msgstr "" + +-#: cp/typeck2.cc:833 ++#: cp/typeck2.cc:812 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "" + +-#: cp/typeck2.cc:903 ++#: cp/typeck2.cc:885 + #, gcc-internal-format + msgid "% variable %qD does not have a constant initializer" + msgstr "" + +-#: cp/typeck2.cc:1082 ++#: cp/typeck2.cc:1064 + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "" + +-#: cp/typeck2.cc:1094 cp/typeck2.cc:1108 ++#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "" + +-#: cp/typeck2.cc:1097 ++#: cp/typeck2.cc:1079 + #, gcc-internal-format + msgid "" + " the expression has a constant value but is not a C++ constant-expression" + msgstr "" + +-#: cp/typeck2.cc:1272 ++#: cp/typeck2.cc:1254 + #, gcc-internal-format + msgid "initializer-string for %qT is too long" + msgstr "" + +-#: cp/typeck2.cc:1335 ++#: cp/typeck2.cc:1317 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "" + +-#: cp/typeck2.cc:1337 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "remove %<{ }%> around initializer" + msgstr "" + +-#: cp/typeck2.cc:1357 ++#: cp/typeck2.cc:1339 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "" + +-#: cp/typeck2.cc:1841 cp/typeck2.cc:1871 ++#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 + #, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "" + +-#: cp/typeck2.cc:1848 ++#: cp/typeck2.cc:1830 + #, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "" + +-#: cp/typeck2.cc:1855 ++#: cp/typeck2.cc:1837 + #, gcc-internal-format + msgid "member %qD with uninitialized reference fields" + msgstr "" + +-#: cp/typeck2.cc:1940 ++#: cp/typeck2.cc:1922 + #, gcc-internal-format + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "" + +-#: cp/typeck2.cc:2013 ++#: cp/typeck2.cc:1995 + #, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "" + +-#: cp/typeck2.cc:2024 ++#: cp/typeck2.cc:2006 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "" + +-#: cp/typeck2.cc:2240 ++#: cp/typeck2.cc:2222 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "" + +-#: cp/typeck2.cc:2254 ++#: cp/typeck2.cc:2236 + #, gcc-internal-format + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "" + +-#: cp/typeck2.cc:2284 ++#: cp/typeck2.cc:2266 + #, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr "" + +-#: cp/typeck2.cc:2286 ++#: cp/typeck2.cc:2268 + #, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "" + +-#: cp/typeck2.cc:2313 ++#: cp/typeck2.cc:2295 + #, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "" + +-#: cp/typeck2.cc:2322 ++#: cp/typeck2.cc:2304 + #, gcc-internal-format + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "" + +-#: cp/typeck2.cc:2344 ++#: cp/typeck2.cc:2326 + #, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "" + +-#: cp/typeck2.cc:2402 ++#: cp/typeck2.cc:2384 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "" + +-#: cp/typeck2.cc:2413 ++#: cp/typeck2.cc:2395 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "" + +-#: cp/typeck2.cc:2421 ++#: cp/typeck2.cc:2403 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "" + +-#: cp/typeck2.cc:2462 ++#: cp/typeck2.cc:2444 + #, gcc-internal-format + msgid "functional cast to array type %qT" + msgstr "" + +-#: cp/typeck2.cc:2479 ++#: cp/typeck2.cc:2461 + #, gcc-internal-format + msgid "% cannot be constrained" + msgstr "" + +-#: cp/typeck2.cc:2484 ++#: cp/typeck2.cc:2466 + #, gcc-internal-format + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/typeck2.cc:2509 ++#: cp/typeck2.cc:2491 + #, gcc-internal-format + msgid "invalid value-initialization of reference type" + msgstr "" + +-#: cp/typeck2.cc:2750 ++#: cp/typeck2.cc:2732 + #, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "" + +-#: cp/typeck2.cc:2753 ++#: cp/typeck2.cc:2735 + #, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "" +@@ -67248,7 +67220,7 @@ msgid "" + "attribute" + msgstr "" + +-#: d/d-builtins.cc:819 ++#: d/d-builtins.cc:816 + #, gcc-internal-format + msgid "conflicting types for built-in function %qs; expected %qs" + msgstr "" +@@ -67437,22 +67409,22 @@ msgstr "" + msgid "size is too large" + msgstr "" + +-#: d/decl.cc:1394 ++#: d/decl.cc:1374 + #, gcc-internal-format + msgid "function requires a dual-context, which is not yet supported by GDC" + msgstr "" + +-#: d/decl.cc:1571 ++#: d/decl.cc:1551 + #, gcc-internal-format + msgid "explicit register variable %qs declared %" + msgstr "" + +-#: d/decl.cc:1574 ++#: d/decl.cc:1554 + #, gcc-internal-format + msgid "explicit register variable %qs declared thread local" + msgstr "" + +-#: d/decl.cc:1787 ++#: d/decl.cc:1767 + #, gcc-internal-format + msgid "" + "mismatch between declaration %qE size (%wd) and its initializer size (%wd)" +@@ -67499,17 +67471,17 @@ msgstr "" + msgid "recursive reference %qs" + msgstr "" + +-#: d/expr.cc:2180 d/expr.cc:3079 ++#: d/expr.cc:2180 d/expr.cc:3075 + #, gcc-internal-format + msgid "non-constant expression %qs" + msgstr "" + +-#: d/expr.cc:3046 ++#: d/expr.cc:3042 + #, gcc-internal-format + msgid "%qs is not an expression" + msgstr "" + +-#: d/expr.cc:3053 ++#: d/expr.cc:3049 + #, gcc-internal-format + msgid "type %qs is not an expression" + msgstr "" +@@ -67613,16 +67585,11 @@ msgstr "" + msgid "missing or corrupt object.d" + msgstr "" + +-#: d/types.cc:902 ++#: d/types.cc:871 + #, gcc-internal-format, gfc-internal-format + msgid "invalid expression for static array dimension: %s" + msgstr "" + +-#: d/types.cc:1110 +-#, gcc-internal-format +-msgid "size of %qs (%wd) differ from its declared size (%wd)" +-msgstr "" +- + #: fortran/arith.cc:47 + #, gcc-internal-format, gfc-internal-format + msgid "Conversion of an Infinity or Not-a-Number at %L to INTEGER" +@@ -67673,7 +67640,7 @@ msgstr "" + msgid "Invalid type in arithmetic operation at %L" + msgstr "" + +-#: fortran/arith.cc:126 fortran/arith.cc:2071 ++#: fortran/arith.cc:126 fortran/arith.cc:2060 + #, gcc-internal-format + msgid "gfc_arith_error(): Bad error code" + msgstr "" +@@ -67753,89 +67720,89 @@ msgstr "" + msgid "compare_real(): Bad operator" + msgstr "" + +-#: fortran/arith.cc:1129 ++#: fortran/arith.cc:1124 + #, gcc-internal-format + msgid "gfc_compare_expr(): Bad basic type" + msgstr "" + +-#: fortran/arith.cc:1718 ++#: fortran/arith.cc:1707 + #, gcc-internal-format + msgid "eval_intrinsic(): Bad operator" + msgstr "" + +-#: fortran/arith.cc:1777 ++#: fortran/arith.cc:1766 + #, gcc-internal-format + msgid "eval_type_intrinsic0(): op NULL" + msgstr "" + +-#: fortran/arith.cc:2039 ++#: fortran/arith.cc:2028 + #, gcc-internal-format, gfc-internal-format + msgid "Arithmetic OK converting %s to %s at %L" + msgstr "" + +-#: fortran/arith.cc:2043 ++#: fortran/arith.cc:2032 + #, gcc-internal-format + msgid "" + "Arithmetic overflow converting %s to %s at %L. This check can be disabled " + "with the option %<-fno-range-check%>" + msgstr "" + +-#: fortran/arith.cc:2048 ++#: fortran/arith.cc:2037 + #, gcc-internal-format + msgid "" + "Arithmetic underflow converting %s to %s at %L. This check can be disabled " + "with the option %<-fno-range-check%>" + msgstr "" + +-#: fortran/arith.cc:2053 ++#: fortran/arith.cc:2042 + #, gcc-internal-format + msgid "" + "Arithmetic NaN converting %s to %s at %L. This check can be disabled with " + "the option %<-fno-range-check%>" + msgstr "" + +-#: fortran/arith.cc:2058 ++#: fortran/arith.cc:2047 + #, gcc-internal-format, gfc-internal-format + msgid "Division by zero converting %s to %s at %L" + msgstr "" + +-#: fortran/arith.cc:2062 ++#: fortran/arith.cc:2051 + #, gcc-internal-format, gfc-internal-format + msgid "Array operands are incommensurate converting %s to %s at %L" + msgstr "" + +-#: fortran/arith.cc:2066 ++#: fortran/arith.cc:2055 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Integer outside symmetric range implied by Standard Fortran converting %s to " + "%s at %L" + msgstr "" + +-#: fortran/arith.cc:2156 fortran/arith.cc:2275 fortran/arith.cc:2338 +-#: fortran/arith.cc:2393 fortran/arith.cc:2456 fortran/arith.cc:2528 +-#: fortran/arith.cc:2598 ++#: fortran/arith.cc:2145 fortran/arith.cc:2264 fortran/arith.cc:2327 ++#: fortran/arith.cc:2382 fortran/arith.cc:2445 fortran/arith.cc:2517 ++#: fortran/arith.cc:2587 + #, gcc-internal-format + msgid "Conversion from %qs to %qs at %L" + msgstr "" + +-#: fortran/arith.cc:2188 fortran/arith.cc:2224 fortran/arith.cc:2266 +-#: fortran/arith.cc:2328 fortran/arith.cc:2383 fortran/arith.cc:2446 +-#: fortran/arith.cc:2518 fortran/arith.cc:2590 ++#: fortran/arith.cc:2177 fortran/arith.cc:2213 fortran/arith.cc:2255 ++#: fortran/arith.cc:2317 fortran/arith.cc:2372 fortran/arith.cc:2435 ++#: fortran/arith.cc:2507 fortran/arith.cc:2579 + #, gcc-internal-format + msgid "Change of value in conversion from %qs to %qs at %L" + msgstr "" + +-#: fortran/arith.cc:2432 fortran/arith.cc:2504 ++#: fortran/arith.cc:2421 fortran/arith.cc:2493 + #, gcc-internal-format + msgid "Non-zero imaginary part discarded in conversion from %qs to %qs at %L" + msgstr "" + +-#: fortran/arith.cc:2683 ++#: fortran/arith.cc:2672 + #, gcc-internal-format + msgid "The Hollerith constant at %L is truncated in conversion to %qs" + msgstr "" + +-#: fortran/arith.cc:2712 ++#: fortran/arith.cc:2701 + #, gcc-internal-format, gfc-internal-format + msgid "The character constant at %L is truncated in conversion to %s" + msgstr "" +@@ -68172,7 +68139,7 @@ msgstr "" + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "" + +-#: fortran/check.cc:123 fortran/resolve.cc:11196 ++#: fortran/check.cc:123 fortran/resolve.cc:11164 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid use of BOZ literal constant at %L" + msgstr "" +@@ -69386,12 +69353,12 @@ msgstr "" + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "" + +-#: fortran/data.cc:188 fortran/resolve.cc:5258 ++#: fortran/data.cc:188 fortran/resolve.cc:5236 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "" + +-#: fortran/data.cc:194 fortran/resolve.cc:5288 ++#: fortran/data.cc:194 fortran/resolve.cc:5266 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "" +@@ -69581,7 +69548,7 @@ msgstr "" + msgid "deferred type parameter at %C" + msgstr "" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12984 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12952 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "" +@@ -72535,12 +72502,12 @@ msgstr "" + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17810 ++#: fortran/interface.cc:998 fortran/resolve.cc:17775 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17828 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17793 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "" +@@ -73523,7 +73490,7 @@ msgstr "" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11171 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 + #, gcc-internal-format, gfc-internal-format + msgid "Cannot convert %s to %s at %L" + msgstr "" +@@ -74091,7 +74058,7 @@ msgid "" + "defined input/output procedure" + msgstr "" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15658 ++#: fortran/io.cc:3431 fortran/resolve.cc:15623 + #, gcc-internal-format + msgid "" + "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER " +@@ -74674,7 +74641,7 @@ msgstr "" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "" + +-#: fortran/match.cc:3208 fortran/resolve.cc:12310 ++#: fortran/match.cc:3208 fortran/resolve.cc:12278 + #, gcc-internal-format, gfc-internal-format + msgid "QUIET specifier at %L must be a scalar LOGICAL" + msgstr "" +@@ -76123,7 +76090,7 @@ msgid "" + "DEPEND clause at %L of OMP DEPOBJ construct shall have only a single locator" + msgstr "" + +-#: fortran/openmp.cc:4578 fortran/openmp.cc:8371 ++#: fortran/openmp.cc:4578 fortran/openmp.cc:8355 + #, gcc-internal-format, gfc-internal-format + msgid "" + "MESSAGE clause at %L requires a scalar default-kind CHARACTER expression" +@@ -76160,12 +76127,12 @@ msgstr "" + msgid "Unexpected junk after $OMP FLUSH statement at %C" + msgstr "" + +-#: fortran/openmp.cc:5055 fortran/openmp.cc:10318 ++#: fortran/openmp.cc:5055 fortran/openmp.cc:10302 + #, gcc-internal-format, gfc-internal-format + msgid "Redefinition of predefined %s !$OMP DECLARE REDUCTION at %L" + msgstr "" + +-#: fortran/openmp.cc:5059 fortran/openmp.cc:10322 ++#: fortran/openmp.cc:5059 fortran/openmp.cc:10306 + #, gcc-internal-format, gfc-internal-format + msgid "Redefinition of predefined !$OMP DECLARE REDUCTION at %L" + msgstr "" +@@ -76584,7 +76551,7 @@ msgstr "" + msgid "Cray pointee object %qs of derived type in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:6746 fortran/openmp.cc:8239 ++#: fortran/openmp.cc:6746 fortran/openmp.cc:8223 + #, gcc-internal-format + msgid "POINTER object %qs of polymorphic type in %s clause at %L" + msgstr "" +@@ -76599,7 +76566,7 @@ msgstr "" + msgid "Cray pointee object %qs of polymorphic type in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:6766 fortran/openmp.cc:7806 fortran/openmp.cc:8001 ++#: fortran/openmp.cc:6766 fortran/openmp.cc:7790 fortran/openmp.cc:7985 + #, gcc-internal-format + msgid "Assumed size array %qs in %s clause at %L" + msgstr "" +@@ -76609,22 +76576,22 @@ msgstr "" + msgid "Assumed rank array %qs in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:6785 fortran/openmp.cc:7988 ++#: fortran/openmp.cc:6785 fortran/openmp.cc:7972 + #, gcc-internal-format + msgid "POINTER object %qs in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:6790 fortran/openmp.cc:8243 ++#: fortran/openmp.cc:6790 fortran/openmp.cc:8227 + #, gcc-internal-format + msgid "Cray pointer object %qs in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:6795 fortran/openmp.cc:8246 ++#: fortran/openmp.cc:6795 fortran/openmp.cc:8230 + #, gcc-internal-format + msgid "Cray pointee object %qs in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:6800 fortran/openmp.cc:8234 ++#: fortran/openmp.cc:6800 fortran/openmp.cc:8218 + #, gcc-internal-format + msgid "ALLOCATABLE object %qs in %s clause at %L" + msgstr "" +@@ -76659,8 +76626,8 @@ msgstr "" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10982 +-#: fortran/resolve.cc:12538 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 ++#: fortran/resolve.cc:12506 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "" +@@ -76729,7 +76696,7 @@ msgid "" + "mapped" + msgstr "" + +-#: fortran/openmp.cc:7209 fortran/openmp.cc:10022 ++#: fortran/openmp.cc:7209 fortran/openmp.cc:10006 + #, gcc-internal-format + msgid "Object %qs is not a variable at %L" + msgstr "" +@@ -76744,7 +76711,7 @@ msgstr "" + #: fortran/openmp.cc:7249 fortran/openmp.cc:7261 fortran/openmp.cc:7282 + #: fortran/openmp.cc:7294 fortran/openmp.cc:7317 fortran/openmp.cc:7325 + #: fortran/openmp.cc:7346 fortran/openmp.cc:7357 fortran/openmp.cc:7369 +-#: fortran/openmp.cc:7474 fortran/openmp.cc:10046 ++#: fortran/openmp.cc:7474 fortran/openmp.cc:10030 + #, gcc-internal-format + msgid "Symbol %qs present on multiple clauses at %L" + msgstr "" +@@ -76903,611 +76870,606 @@ msgstr "" + msgid "Array is not contiguous at %L" + msgstr "" + +-#: fortran/openmp.cc:7725 +-#, gcc-internal-format +-msgid "%qs clause argument must be ALLOCATABLE or a POINTER at %L" +-msgstr "" +- +-#: fortran/openmp.cc:7737 ++#: fortran/openmp.cc:7721 + #, gcc-internal-format, gfc-internal-format + msgid "Unexpected substring reference in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:7745 ++#: fortran/openmp.cc:7729 + #, gcc-internal-format, gfc-internal-format + msgid "Unexpected complex-parts designator reference in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:7754 fortran/openmp.cc:7772 ++#: fortran/openmp.cc:7738 fortran/openmp.cc:7756 + #, gcc-internal-format + msgid "%qs in %s clause at %L is not a proper array section" + msgstr "" + +-#: fortran/openmp.cc:7764 ++#: fortran/openmp.cc:7748 + #, gcc-internal-format, gfc-internal-format + msgid "Stride should not be specified for array section in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:7786 ++#: fortran/openmp.cc:7770 + #, gcc-internal-format + msgid "%qs in %s clause at %L is a zero size array section" + msgstr "" + +-#: fortran/openmp.cc:7812 ++#: fortran/openmp.cc:7796 + #, gcc-internal-format + msgid "" + "List item %qs with allocatable components is not permitted in map clause at " + "%L" + msgstr "" + +-#: fortran/openmp.cc:7831 ++#: fortran/openmp.cc:7815 + #, gcc-internal-format, gfc-internal-format + msgid "" + "TARGET%s with map-type other than TO, FROM, TOFROM, or ALLOC on MAP clause " + "at %L" + msgstr "" + +-#: fortran/openmp.cc:7853 ++#: fortran/openmp.cc:7837 + #, gcc-internal-format, gfc-internal-format + msgid "" + "TARGET ENTER DATA with map-type other than TO, TOFROM or ALLOC on MAP clause " + "at %L" + msgstr "" + +-#: fortran/openmp.cc:7874 ++#: fortran/openmp.cc:7858 + #, gcc-internal-format, gfc-internal-format + msgid "" + "TARGET EXIT DATA with map-type other than FROM, TOFROM, RELEASE, or DELETE " + "on MAP clause at %L" + msgstr "" + +-#: fortran/openmp.cc:7890 fortran/openmp.cc:7972 ++#: fortran/openmp.cc:7874 fortran/openmp.cc:7956 + #, gcc-internal-format + msgid "THREADPRIVATE object %qs in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:7893 fortran/openmp.cc:7975 ++#: fortran/openmp.cc:7877 fortran/openmp.cc:7959 + #, gcc-internal-format + msgid "Cray pointee %qs in %s clause at %L" + msgstr "" + + #. Non-TARGET (i.e. DISPATCH) requires a C_PTR. +-#: fortran/openmp.cc:7905 ++#: fortran/openmp.cc:7889 + #, gcc-internal-format + msgid "List item %qs in %s clause at %L must be of TYPE(C_PTR)" + msgstr "" + +-#: fortran/openmp.cc:7966 ++#: fortran/openmp.cc:7950 + #, gcc-internal-format + msgid "" + "% and non-% % clauses on the same construct at " + "%L" + msgstr "" + +-#: fortran/openmp.cc:7978 ++#: fortran/openmp.cc:7962 + #, gcc-internal-format + msgid "Associate name %qs in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:7985 ++#: fortran/openmp.cc:7969 + #, gcc-internal-format + msgid "Procedure pointer %qs in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:7991 ++#: fortran/openmp.cc:7975 + #, gcc-internal-format + msgid "Cray pointer %qs in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:8004 ++#: fortran/openmp.cc:7988 + #, gcc-internal-format + msgid "Variable %qs in %s clause is used in NAMELIST statement at %L" + msgstr "" + + #. case OMP_LIST_REDUCTION: +-#: fortran/openmp.cc:8014 ++#: fortran/openmp.cc:7998 + #, gcc-internal-format + msgid "INTENT(IN) POINTER %qs in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:8025 ++#: fortran/openmp.cc:8009 + #, gcc-internal-format + msgid "DETACH event handle %qs in %s clause at %L" + msgstr "" + +-#: fortran/openmp.cc:8049 ++#: fortran/openmp.cc:8033 + #, gcc-internal-format, gfc-internal-format + msgid "Only DEFAULT permitted as reduction-modifier in REDUCTION clause at %L" + msgstr "" + +-#: fortran/openmp.cc:8142 ++#: fortran/openmp.cc:8126 + #, gcc-internal-format, gfc-internal-format + msgid "!$OMP DECLARE REDUCTION %s not found for type %s at %L" + msgstr "" + +-#: fortran/openmp.cc:8170 ++#: fortran/openmp.cc:8154 + #, gcc-internal-format, gfc-internal-format + msgid "LINEAR clause modifier used on DO or SIMD construct at %L" + msgstr "" + +-#: fortran/openmp.cc:8176 ++#: fortran/openmp.cc:8160 + #, gcc-internal-format, gfc-internal-format + msgid "" + "LINEAR clause modifier other than VAL used on DO or SIMD construct at %L" + msgstr "" + +-#: fortran/openmp.cc:8184 ++#: fortran/openmp.cc:8168 + #, gcc-internal-format + msgid "LINEAR variable %qs must be INTEGER at %L" + msgstr "" + +-#: fortran/openmp.cc:8189 ++#: fortran/openmp.cc:8173 + #, gcc-internal-format + msgid "LINEAR dummy argument %qs with VALUE attribute with %s modifier at %L" + msgstr "" + +-#: fortran/openmp.cc:8200 ++#: fortran/openmp.cc:8184 + #, gcc-internal-format + msgid "" + "%qs in LINEAR clause at %L requires a scalar integer linear-step expression" + msgstr "" + +-#: fortran/openmp.cc:8217 ++#: fortran/openmp.cc:8201 + #, gcc-internal-format + msgid "" + "%qs in LINEAR clause at %L requires a constant integer linear-step " + "expression or dummy argument specified in UNIFORM clause" + msgstr "" + +-#: fortran/openmp.cc:8251 ++#: fortran/openmp.cc:8235 + #, gcc-internal-format + msgid "%s clause variable %qs at %L is neither a POINTER nor an array" + msgstr "" + +-#: fortran/openmp.cc:8311 ++#: fortran/openmp.cc:8295 + #, gcc-internal-format, gfc-internal-format + msgid "NUM_TEAMS lower bound at %L larger than upper bound at %L" + msgstr "" + +-#: fortran/openmp.cc:8324 ++#: fortran/openmp.cc:8308 + #, gcc-internal-format, gfc-internal-format + msgid "Value of HINT clause at %L shall be a valid constant hint expression" + msgstr "" + +-#: fortran/openmp.cc:8334 ++#: fortran/openmp.cc:8318 + #, gcc-internal-format, gfc-internal-format + msgid "" + "DIST_SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression" + msgstr "" + +-#: fortran/openmp.cc:8364 ++#: fortran/openmp.cc:8348 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible use of TILE and COLLAPSE at %L" + msgstr "" + +-#: fortran/openmp.cc:8388 ++#: fortran/openmp.cc:8372 + #, gcc-internal-format, gfc-internal-format + msgid "" + "TARGET DATA must contain at least one MAP, USE_DEVICE_PTR, or " + "USE_DEVICE_ADDR clause at %L" + msgstr "" + +-#: fortran/openmp.cc:8391 ++#: fortran/openmp.cc:8375 + #, gcc-internal-format, gfc-internal-format + msgid "%s must contain at least one MAP clause at %L" + msgstr "" + +-#: fortran/openmp.cc:8401 ++#: fortran/openmp.cc:8385 + #, gcc-internal-format + msgid "" + "%qs at %L should be a scalar of type integer(kind=omp_event_handle_kind)" + msgstr "" + +-#: fortran/openmp.cc:8406 ++#: fortran/openmp.cc:8390 + #, gcc-internal-format, gfc-internal-format + msgid "The event handle at %L must not be an array element" + msgstr "" + +-#: fortran/openmp.cc:8410 ++#: fortran/openmp.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "The event handle at %L must not be part of a derived type or class" + msgstr "" + +-#: fortran/openmp.cc:8414 ++#: fortran/openmp.cc:8398 + #, gcc-internal-format + msgid "" + "% clause at %L must not be used together with % clause" + msgstr "" + +-#: fortran/openmp.cc:8569 ++#: fortran/openmp.cc:8553 + #, gcc-internal-format, gfc-internal-format + msgid "Expected IF at %L in atomic compare capture" + msgstr "" + +-#: fortran/openmp.cc:8577 ++#: fortran/openmp.cc:8561 + #, gcc-internal-format, gfc-internal-format + msgid "Expected ELSE at %L in atomic compare capture" + msgstr "" + +-#: fortran/openmp.cc:8689 ++#: fortran/openmp.cc:8673 + #, gcc-internal-format + msgid "" + "Expected %<==%>, %<.EQ.%> or %<.EQV.%> atomic comparison expression at %L" + msgstr "" + +-#: fortran/openmp.cc:8695 ++#: fortran/openmp.cc:8679 + #, gcc-internal-format, gfc-internal-format + msgid "Expected scalar intrinsic variable at %L in atomic comparison" + msgstr "" + +-#: fortran/openmp.cc:8703 ++#: fortran/openmp.cc:8687 + #, gcc-internal-format, gfc-internal-format + msgid "Expected scalar intrinsic expression at %L in atomic comparison" + msgstr "" + +-#: fortran/openmp.cc:8711 ++#: fortran/openmp.cc:8695 + #, gcc-internal-format, gfc-internal-format + msgid "" + "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L" + msgstr "" + +-#: fortran/openmp.cc:8720 ++#: fortran/openmp.cc:8704 + #, gcc-internal-format, gfc-internal-format + msgid "" + "!$OMP ATOMIC statement must assign an expression of intrinsic type at %L" + msgstr "" + +-#: fortran/openmp.cc:8727 ++#: fortran/openmp.cc:8711 + #, gcc-internal-format, gfc-internal-format + msgid "!$OMP ATOMIC with ALLOCATABLE variable at %L" + msgstr "" + +-#: fortran/openmp.cc:8744 ++#: fortran/openmp.cc:8728 + #, gcc-internal-format, gfc-internal-format + msgid "" + "!$OMP ATOMIC READ statement must read from a scalar variable of intrinsic " + "type at %L" + msgstr "" + +-#: fortran/openmp.cc:8749 ++#: fortran/openmp.cc:8733 + #, gcc-internal-format, gfc-internal-format + msgid "" + "expr in !$OMP ATOMIC WRITE assignment var = expr must be scalar and cannot " + "reference var at %L" + msgstr "" + +-#: fortran/openmp.cc:8761 ++#: fortran/openmp.cc:8745 + #, gcc-internal-format, gfc-internal-format + msgid "" + "!$OMP ATOMIC capture-statement must set a scalar variable of intrinsic type " + "at %L" + msgstr "" + +-#: fortran/openmp.cc:8769 ++#: fortran/openmp.cc:8753 + #, gcc-internal-format, gfc-internal-format + msgid "" + "!$OMP ATOMIC capture-statement requires a scalar variable of intrinsic type " + "at %L" + msgstr "" + +-#: fortran/openmp.cc:8779 ++#: fortran/openmp.cc:8763 + #, gcc-internal-format, gfc-internal-format + msgid "" + "!$OMP ATOMIC CAPTURE capture statement reads from different variable than " + "update statement writes into at %L" + msgstr "" + +-#: fortran/openmp.cc:8795 ++#: fortran/openmp.cc:8779 + #, gcc-internal-format + msgid "" + "For !$OMP ATOMIC COMPARE, the first operand in comparison at %L must be the " + "variable %qs that the update statement writes into at %L" + msgstr "" + +-#: fortran/openmp.cc:8803 ++#: fortran/openmp.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "" + "expr in !$OMP ATOMIC COMPARE assignment var = expr must be scalar and cannot " + "reference var at %L" + msgstr "" + +-#: fortran/openmp.cc:8821 ++#: fortran/openmp.cc:8805 + #, gcc-internal-format, gfc-internal-format + msgid "" + "!$OMP ATOMIC UPDATE at %L with FAIL clause requiries either the COMPARE " + "clause or using the intrinsic MIN/MAX procedure" + msgstr "" + +-#: fortran/openmp.cc:8848 ++#: fortran/openmp.cc:8832 + #, gcc-internal-format, gfc-internal-format + msgid "" + "!$OMP ATOMIC assignment operator must be binary +, *, -, /, .AND., .OR., ." + "EQV. or .NEQV. at %L" + msgstr "" + +-#: fortran/openmp.cc:8896 ++#: fortran/openmp.cc:8880 + #, gcc-internal-format, gfc-internal-format + msgid "" + "!$OMP ATOMIC assignment must be var = var op expr or var = expr op var at %L" + msgstr "" + +-#: fortran/openmp.cc:8910 ++#: fortran/openmp.cc:8894 + #, gcc-internal-format, gfc-internal-format + msgid "" + "!$OMP ATOMIC var = var op expr not mathematically equivalent to var = var op " + "(expr) at %L" + msgstr "" + +-#: fortran/openmp.cc:8943 ++#: fortran/openmp.cc:8927 + #, gcc-internal-format, gfc-internal-format + msgid "" + "expr in !$OMP ATOMIC assignment var = var op expr must be scalar and cannot " + "reference var at %L" + msgstr "" + +-#: fortran/openmp.cc:8967 ++#: fortran/openmp.cc:8951 + #, gcc-internal-format, gfc-internal-format + msgid "" + "!$OMP ATOMIC assignment intrinsic IAND, IOR or IEOR must have two arguments " + "at %L" + msgstr "" + +-#: fortran/openmp.cc:8974 ++#: fortran/openmp.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "" + "!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L" + msgstr "" + +-#: fortran/openmp.cc:8997 ++#: fortran/openmp.cc:8981 + #, gcc-internal-format + msgid "" + "!$OMP ATOMIC intrinsic arguments except one must not reference %qs at %L" + msgstr "" + +-#: fortran/openmp.cc:9004 ++#: fortran/openmp.cc:8988 + #, gcc-internal-format, gfc-internal-format + msgid "!$OMP ATOMIC intrinsic arguments must be scalar at %L" + msgstr "" + +-#: fortran/openmp.cc:9012 ++#: fortran/openmp.cc:8996 + #, gcc-internal-format + msgid "First or last !$OMP ATOMIC intrinsic argument must be %qs at %L" + msgstr "" + +-#: fortran/openmp.cc:9030 ++#: fortran/openmp.cc:9014 + #, gcc-internal-format, gfc-internal-format + msgid "" + "!$OMP ATOMIC assignment must have an operator or intrinsic on right hand " + "side at %L" + msgstr "" + +-#: fortran/openmp.cc:9035 ++#: fortran/openmp.cc:9019 + #, gcc-internal-format, gfc-internal-format + msgid "unexpected !$OMP ATOMIC expression at %L" + msgstr "" + +-#: fortran/openmp.cc:9081 ++#: fortran/openmp.cc:9065 + #, gcc-internal-format + msgid "" + "ORDERED clause specified together with % REDUCTION clause at %L" + msgstr "" + +-#: fortran/openmp.cc:9084 ++#: fortran/openmp.cc:9068 + #, gcc-internal-format + msgid "" + "SCHEDULE clause specified together with % REDUCTION clause at %L" + msgstr "" + +-#: fortran/openmp.cc:9092 ++#: fortran/openmp.cc:9076 + #, gcc-internal-format, gfc-internal-format + msgid "" + "With INSCAN at %L, expected loop body with !$OMP SCAN between two structured-" + "block-sequences" + msgstr "" + +-#: fortran/openmp.cc:9499 ++#: fortran/openmp.cc:9483 + #, gcc-internal-format, gfc-internal-format + msgid "%s cannot be a DO WHILE or DO without loop control at %L" + msgstr "" + +-#: fortran/openmp.cc:9505 ++#: fortran/openmp.cc:9489 + #, gcc-internal-format, gfc-internal-format + msgid "%s cannot be a DO CONCURRENT loop at %L" + msgstr "" + +-#: fortran/openmp.cc:9511 ++#: fortran/openmp.cc:9495 + #, gcc-internal-format, gfc-internal-format + msgid "%s iteration variable must be of type integer at %L" + msgstr "" + +-#: fortran/openmp.cc:9515 ++#: fortran/openmp.cc:9499 + #, gcc-internal-format, gfc-internal-format + msgid "%s iteration variable must not be THREADPRIVATE at %L" + msgstr "" + +-#: fortran/openmp.cc:9528 ++#: fortran/openmp.cc:9512 + #, gcc-internal-format, gfc-internal-format + msgid "" + "%s iteration variable present on clause other than PRIVATE, LASTPRIVATE or " + "ALLOCATE at %L" + msgstr "" + +-#: fortran/openmp.cc:9532 ++#: fortran/openmp.cc:9516 + #, gcc-internal-format, gfc-internal-format + msgid "" + "%s iteration variable present on clause other than PRIVATE, LASTPRIVATE, " + "ALLOCATE or LINEAR at %L" + msgstr "" + +-#: fortran/openmp.cc:9539 ++#: fortran/openmp.cc:9523 + #, gcc-internal-format, gfc-internal-format + msgid "%s iteration variable used in more than one loop at %L" + msgstr "" + +-#: fortran/openmp.cc:9547 ++#: fortran/openmp.cc:9531 + #, gcc-internal-format, gfc-internal-format + msgid "%s loop start expression not in canonical form at %L" + msgstr "" + +-#: fortran/openmp.cc:9555 ++#: fortran/openmp.cc:9539 + #, gcc-internal-format, gfc-internal-format + msgid "%s loop end expression not in canonical form at %L" + msgstr "" + +-#: fortran/openmp.cc:9561 ++#: fortran/openmp.cc:9545 + #, gcc-internal-format, gfc-internal-format + msgid "%s loop bounds reference different iteration variables at %L" + msgstr "" + +-#: fortran/openmp.cc:9567 ++#: fortran/openmp.cc:9551 + #, gcc-internal-format, gfc-internal-format + msgid "%s loop increment not in canonical form at %L" + msgstr "" + +-#: fortran/openmp.cc:9577 ++#: fortran/openmp.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "collapsed %s loops not perfectly nested at %L" + msgstr "" + +-#: fortran/openmp.cc:9586 fortran/openmp.cc:9594 ++#: fortran/openmp.cc:9570 fortran/openmp.cc:9578 + #, gcc-internal-format, gfc-internal-format + msgid "not enough DO loops for collapsed %s at %L" + msgstr "" + +-#: fortran/openmp.cc:9801 fortran/openmp.cc:9814 ++#: fortran/openmp.cc:9785 fortran/openmp.cc:9798 + #, gcc-internal-format, gfc-internal-format + msgid "The %s directive cannot be specified within a %s region at %L" + msgstr "" + +-#: fortran/openmp.cc:9833 ++#: fortran/openmp.cc:9817 + #, gcc-internal-format, gfc-internal-format + msgid "!$ACC LOOP cannot be a DO WHILE or DO without loop control at %L" + msgstr "" + +-#: fortran/openmp.cc:9839 ++#: fortran/openmp.cc:9823 + #, gcc-internal-format, gfc-internal-format + msgid "!$ACC LOOP cannot be a DO CONCURRENT loop at %L" + msgstr "" + +-#: fortran/openmp.cc:9845 ++#: fortran/openmp.cc:9829 + #, gcc-internal-format, gfc-internal-format + msgid "!$ACC LOOP iteration variable must be of type integer at %L" + msgstr "" + +-#: fortran/openmp.cc:9861 ++#: fortran/openmp.cc:9845 + #, gcc-internal-format, gfc-internal-format + msgid "!$ACC LOOP %s loops don't form rectangular iteration space at %L" + msgstr "" + +-#: fortran/openmp.cc:9873 ++#: fortran/openmp.cc:9857 + #, gcc-internal-format, gfc-internal-format + msgid "%s !$ACC LOOP loops not perfectly nested at %L" + msgstr "" + +-#: fortran/openmp.cc:9883 fortran/openmp.cc:9892 ++#: fortran/openmp.cc:9867 fortran/openmp.cc:9876 + #, gcc-internal-format, gfc-internal-format + msgid "not enough DO loops for %s !$ACC LOOP at %L" + msgstr "" + +-#: fortran/openmp.cc:9908 ++#: fortran/openmp.cc:9892 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Tiled loop cannot be parallelized across gangs, workers and vectors at the " + "same time at %L" + msgstr "" + +-#: fortran/openmp.cc:9929 ++#: fortran/openmp.cc:9913 + #, gcc-internal-format, gfc-internal-format + msgid "TILE requires constant expression at %L" + msgstr "" + +-#: fortran/openmp.cc:10029 ++#: fortran/openmp.cc:10013 + #, gcc-internal-format + msgid "Array sections: %qs not allowed in !$ACC DECLARE at %L" + msgstr "" + +-#: fortran/openmp.cc:10076 ++#: fortran/openmp.cc:10060 + #, gcc-internal-format + msgid "" + "NAME %qs does not refer to a subroutine or function in !$ACC ROUTINE " + "( NAME ) at %L" + msgstr "" + +-#: fortran/openmp.cc:10082 ++#: fortran/openmp.cc:10066 + #, gcc-internal-format + msgid "NAME %qs invalid in !$ACC ROUTINE ( NAME ) at %L" + msgstr "" + +-#: fortran/openmp.cc:10207 ++#: fortran/openmp.cc:10191 + #, gcc-internal-format, gfc-internal-format + msgid "OMP TARGET UPDATE at %L requires at least one TO or FROM clause" + msgstr "" + +-#: fortran/openmp.cc:10221 ++#: fortran/openmp.cc:10205 + #, gcc-internal-format, gfc-internal-format + msgid "" + "OMP CRITICAL at %L with HINT clause requires a NAME, except when " + "omp_sync_hint_none is used" + msgstr "" + +-#: fortran/openmp.cc:10227 ++#: fortran/openmp.cc:10211 + #, gcc-internal-format + msgid "" + "Unexpected !$OMP SCAN at %L outside loop construct with % REDUCTION " + "clause" + msgstr "" + +-#: fortran/openmp.cc:10248 ++#: fortran/openmp.cc:10232 + #, gcc-internal-format + msgid "!$OMP DECLARE SIMD should refer to containing procedure %qs at %L" + msgstr "" + +-#: fortran/openmp.cc:10272 ++#: fortran/openmp.cc:10256 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Variable other than OMP_PRIV or OMP_ORIG used in INITIALIZER clause of !$OMP " + "DECLARE REDUCTION at %L" + msgstr "" + +-#: fortran/openmp.cc:10280 ++#: fortran/openmp.cc:10264 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Variable other than OMP_OUT or OMP_IN used in combiner of !$OMP DECLARE " + "REDUCTION at %L" + msgstr "" + +-#: fortran/openmp.cc:10309 ++#: fortran/openmp.cc:10293 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid operator for !$OMP DECLARE REDUCTION %s at %L" + msgstr "" + +-#: fortran/openmp.cc:10331 ++#: fortran/openmp.cc:10315 + #, gcc-internal-format, gfc-internal-format + msgid "CHARACTER length in !$OMP DECLARE REDUCTION %s not constant at %L" + msgstr "" + +-#: fortran/openmp.cc:10347 ++#: fortran/openmp.cc:10331 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Subroutine call with alternate returns in combiner of !$OMP DECLARE " + "REDUCTION at %L" + msgstr "" + +-#: fortran/openmp.cc:10362 ++#: fortran/openmp.cc:10346 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Subroutine call with alternate returns in INITIALIZER clause of !$OMP " + "DECLARE REDUCTION at %L" + msgstr "" + +-#: fortran/openmp.cc:10372 ++#: fortran/openmp.cc:10356 + #, gcc-internal-format, gfc-internal-format + msgid "" + "One of actual subroutine arguments in INITIALIZER clause of !$OMP DECLARE " + "REDUCTION must be OMP_PRIV at %L" + msgstr "" + +-#: fortran/openmp.cc:10380 ++#: fortran/openmp.cc:10364 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Missing INITIALIZER clause for !$OMP DECLARE REDUCTION of derived type " +@@ -78546,92 +78508,92 @@ msgstr "" + msgid "Too many components in structure constructor at %L" + msgstr "" + +-#: fortran/primary.cc:3224 ++#: fortran/primary.cc:3223 + #, gcc-internal-format, gfc-internal-format + msgid "CHARACTER expression will be truncated in constructor (%ld/%ld) at %L" + msgstr "" + +-#: fortran/primary.cc:3242 ++#: fortran/primary.cc:3241 + #, gcc-internal-format + msgid "Component %qs is initialized twice in the structure constructor at %L" + msgstr "" + +-#: fortran/primary.cc:3254 ++#: fortran/primary.cc:3253 + #, gcc-internal-format + msgid "" + "Coindexed expression to pointer component %qs in structure constructor at %L" + msgstr "" + +-#: fortran/primary.cc:3308 ++#: fortran/primary.cc:3307 + #, gcc-internal-format + msgid "" + "component %qs at %L has already been set by a parent derived type constructor" + msgstr "" + +-#: fortran/primary.cc:3473 ++#: fortran/primary.cc:3472 + #, gcc-internal-format, gfc-internal-format + msgid "%%LOC() as an rvalue at %C" + msgstr "" + +-#: fortran/primary.cc:3532 ++#: fortran/primary.cc:3531 + #, gcc-internal-format + msgid "" + "%qs at %C is the name of a recursive function and so refers to the result " + "variable. Use an explicit RESULT variable for direct recursion (12.5.2.1)" + msgstr "" + +-#: fortran/primary.cc:3563 fortran/primary.cc:3965 ++#: fortran/primary.cc:3562 fortran/primary.cc:3964 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %C is not appropriate for an expression" + msgstr "" + +-#: fortran/primary.cc:3668 ++#: fortran/primary.cc:3667 + #, gcc-internal-format + msgid "Unexpected use of subroutine name %qs at %C" + msgstr "" + +-#: fortran/primary.cc:3700 ++#: fortran/primary.cc:3699 + #, gcc-internal-format + msgid "Statement function %qs requires argument list at %C" + msgstr "" + +-#: fortran/primary.cc:3703 ++#: fortran/primary.cc:3702 + #, gcc-internal-format + msgid "Function %qs requires an argument list at %C" + msgstr "" + +-#: fortran/primary.cc:3753 ++#: fortran/primary.cc:3752 + #, gcc-internal-format + msgid "Missing argument to %qs at %C" + msgstr "" + +-#: fortran/primary.cc:3766 ++#: fortran/primary.cc:3765 + #, gcc-internal-format, gfc-internal-format + msgid "" + "The leftmost part-ref in a data-ref cannot be a function reference at %C" + msgstr "" + +-#: fortran/primary.cc:3921 ++#: fortran/primary.cc:3920 + #, gcc-internal-format + msgid "Missing argument list in function %qs at %C" + msgstr "" + +-#: fortran/primary.cc:4035 ++#: fortran/primary.cc:4034 + #, gcc-internal-format + msgid "Derived type %qs cannot be used as a variable at %C" + msgstr "" + +-#: fortran/primary.cc:4076 ++#: fortran/primary.cc:4075 + #, gcc-internal-format, gfc-internal-format + msgid "Named constant at %C in an EQUIVALENCE" + msgstr "" + +-#: fortran/primary.cc:4081 ++#: fortran/primary.cc:4080 + #, gcc-internal-format + msgid "PARAMETER %qs shall not appear in a DATA statement at %C" + msgstr "" + +-#: fortran/primary.cc:4117 ++#: fortran/primary.cc:4116 + #, gcc-internal-format + msgid "%qs at %C is not a variable" + msgstr "" +@@ -79080,7 +79042,7 @@ msgid "" + "Declare it RECURSIVE or use %<-frecursive%>" + msgstr "" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10496 fortran/resolve.cc:12465 ++#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "" +@@ -79213,7 +79175,7 @@ msgstr "" + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17740 ++#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "" +@@ -79395,210 +79357,210 @@ msgstr "" + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4350 fortran/resolve.cc:4365 ++#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 + #, gcc-internal-format, gfc-internal-format + msgid "" + "BOZ literal constant near %L cannot appear as an operand of a relational " + "operator" + msgstr "" + +-#: fortran/resolve.cc:4415 ++#: fortran/resolve.cc:4393 + #, gcc-internal-format, gfc-internal-format + msgid "Equality comparison for %s at %L" + msgstr "" + +-#: fortran/resolve.cc:4417 ++#: fortran/resolve.cc:4395 + #, gcc-internal-format, gfc-internal-format + msgid "Inequality comparison for %s at %L" + msgstr "" + +-#: fortran/resolve.cc:4477 ++#: fortran/resolve.cc:4455 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4763 ++#: fortran/resolve.cc:4741 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4768 ++#: fortran/resolve.cc:4746 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "" + +-#: fortran/resolve.cc:4778 ++#: fortran/resolve.cc:4756 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4783 ++#: fortran/resolve.cc:4761 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "" + +-#: fortran/resolve.cc:4804 ++#: fortran/resolve.cc:4782 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "" + +-#: fortran/resolve.cc:4821 ++#: fortran/resolve.cc:4799 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4829 ++#: fortran/resolve.cc:4807 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4845 ++#: fortran/resolve.cc:4823 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4854 ++#: fortran/resolve.cc:4832 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4870 ++#: fortran/resolve.cc:4848 + #, gcc-internal-format + msgid "check_dimension(): Bad array reference" + msgstr "" + +-#: fortran/resolve.cc:4893 ++#: fortran/resolve.cc:4871 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "" + +-#: fortran/resolve.cc:4903 ++#: fortran/resolve.cc:4881 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:4911 ++#: fortran/resolve.cc:4889 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:4927 ++#: fortran/resolve.cc:4905 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "" + +-#: fortran/resolve.cc:4955 ++#: fortran/resolve.cc:4933 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:4961 ++#: fortran/resolve.cc:4939 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "" + +-#: fortran/resolve.cc:4967 ++#: fortran/resolve.cc:4945 + #, gcc-internal-format, gfc-internal-format + msgid "REAL array index at %L" + msgstr "" + +-#: fortran/resolve.cc:5006 ++#: fortran/resolve.cc:4984 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:5013 ++#: fortran/resolve.cc:4991 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "" + +-#: fortran/resolve.cc:5073 ++#: fortran/resolve.cc:5051 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid array reference of a non-array entity at %L" + msgstr "" + +-#: fortran/resolve.cc:5087 ++#: fortran/resolve.cc:5065 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "" + +-#: fortran/resolve.cc:5099 ++#: fortran/resolve.cc:5077 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "" + +-#: fortran/resolve.cc:5144 ++#: fortran/resolve.cc:5122 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "" + +-#: fortran/resolve.cc:5242 ++#: fortran/resolve.cc:5220 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5227 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:5271 ++#: fortran/resolve.cc:5249 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "" + +-#: fortran/resolve.cc:5278 ++#: fortran/resolve.cc:5256 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:5298 ++#: fortran/resolve.cc:5276 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L is too large" + msgstr "" + +-#: fortran/resolve.cc:5489 ++#: fortran/resolve.cc:5467 + #, gcc-internal-format + msgid "resolve_ref(): Bad array reference" + msgstr "" + +-#: fortran/resolve.cc:5503 ++#: fortran/resolve.cc:5481 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Component to the right of a part reference with nonzero rank must not have " + "the POINTER attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:5513 ++#: fortran/resolve.cc:5491 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Component to the right of a part reference with nonzero rank must not have " + "the ALLOCATABLE attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:5559 ++#: fortran/resolve.cc:5537 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Two or more part references with nonzero rank must not be specified at %L" + msgstr "" + +-#: fortran/resolve.cc:5651 ++#: fortran/resolve.cc:5629 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "" + +-#: fortran/resolve.cc:5748 ++#: fortran/resolve.cc:5711 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual " + "argument" + msgstr "" + +-#: fortran/resolve.cc:5758 ++#: fortran/resolve.cc:5721 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may only be used as actual argument" + msgstr "" +@@ -79607,14 +79569,14 @@ msgstr "" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5768 ++#: fortran/resolve.cc:5731 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Assumed-type variable %s at %L as actual argument to an inquiry function " + "shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5787 ++#: fortran/resolve.cc:5750 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L may only be used as actual argument" + msgstr "" +@@ -79623,321 +79585,321 @@ msgstr "" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5797 ++#: fortran/resolve.cc:5760 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Assumed-rank variable %s at %L as actual argument to an inquiry function " + "shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5808 ++#: fortran/resolve.cc:5771 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject " + "reference" + msgstr "" + +-#: fortran/resolve.cc:5817 ++#: fortran/resolve.cc:5780 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5833 ++#: fortran/resolve.cc:5796 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:6015 ++#: fortran/resolve.cc:5978 + #, gcc-internal-format + msgid "" + "Variable %qs, used in a specification expression, is referenced at %L before " + "the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:6020 ++#: fortran/resolve.cc:5983 + #, gcc-internal-format + msgid "" + "Variable %qs is used at %L before the ENTRY statement in which it is a " + "parameter" + msgstr "" + +-#: fortran/resolve.cc:6090 ++#: fortran/resolve.cc:6053 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "" + +-#: fortran/resolve.cc:6103 ++#: fortran/resolve.cc:6066 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "" + +-#: fortran/resolve.cc:6119 ++#: fortran/resolve.cc:6082 + #, gcc-internal-format + msgid "Using variable %qs at %L is deprecated" + msgstr "" + +-#: fortran/resolve.cc:6209 ++#: fortran/resolve.cc:6172 + #, gcc-internal-format + msgid "" + "%qs at %L is host associated at %L into a contained procedure with an " + "internal procedure of the same name" + msgstr "" + +-#: fortran/resolve.cc:6387 fortran/resolve.cc:6539 ++#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 + #, gcc-internal-format, gfc-internal-format + msgid "Error in typebound call at %L" + msgstr "" + +-#: fortran/resolve.cc:6503 ++#: fortran/resolve.cc:6466 + #, gcc-internal-format, gfc-internal-format + msgid "Passed-object at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:6510 ++#: fortran/resolve.cc:6473 + #, gcc-internal-format + msgid "" + "Base object for procedure-pointer component call at %L is of ABSTRACT type " + "%qs" + msgstr "" + +-#: fortran/resolve.cc:6549 ++#: fortran/resolve.cc:6512 + #, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6558 ++#: fortran/resolve.cc:6521 + #, gcc-internal-format, gfc-internal-format + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "" + + #. Nothing matching found! +-#: fortran/resolve.cc:6746 ++#: fortran/resolve.cc:6709 + #, gcc-internal-format + msgid "" + "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:6780 ++#: fortran/resolve.cc:6743 + #, gcc-internal-format + msgid "%qs at %L should be a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:6832 ++#: fortran/resolve.cc:6795 + #, gcc-internal-format + msgid "%qs at %L should be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:7367 ++#: fortran/resolve.cc:7330 + #, gcc-internal-format + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7363 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "" + +-#: fortran/resolve.cc:7410 ++#: fortran/resolve.cc:7373 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be integer" + msgstr "" + +-#: fortran/resolve.cc:7414 fortran/resolve.cc:7421 ++#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7476 ++#: fortran/resolve.cc:7439 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "" + +-#: fortran/resolve.cc:7499 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "" + +-#: fortran/resolve.cc:7516 ++#: fortran/resolve.cc:7479 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "" + +-#: fortran/resolve.cc:7522 ++#: fortran/resolve.cc:7485 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "" + +-#: fortran/resolve.cc:7583 ++#: fortran/resolve.cc:7546 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7588 ++#: fortran/resolve.cc:7551 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7595 ++#: fortran/resolve.cc:7558 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7603 ++#: fortran/resolve.cc:7566 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "" + +-#: fortran/resolve.cc:7608 ++#: fortran/resolve.cc:7571 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "" + +-#: fortran/resolve.cc:7621 ++#: fortran/resolve.cc:7584 + #, gcc-internal-format + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "" + +-#: fortran/resolve.cc:7726 fortran/resolve.cc:8024 ++#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "" + +-#: fortran/resolve.cc:7734 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "" + +-#: fortran/resolve.cc:7844 ++#: fortran/resolve.cc:7807 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Source-expr at %L must be scalar or have the same rank as the allocate-" + "object at %L" + msgstr "" + +-#: fortran/resolve.cc:7875 ++#: fortran/resolve.cc:7838 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "" + +-#: fortran/resolve.cc:8035 ++#: fortran/resolve.cc:7998 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "" + +-#: fortran/resolve.cc:8047 ++#: fortran/resolve.cc:8010 + #, gcc-internal-format, gfc-internal-format + msgid "" + "The allocate-object at %L and the source-expr at %L shall have the same kind " + "type parameter" + msgstr "" + +-#: fortran/resolve.cc:8061 ++#: fortran/resolve.cc:8024 + #, gcc-internal-format, gfc-internal-format + msgid "" + "The source-expr at %L shall neither be of type LOCK_TYPE nor have a " + "LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8076 ++#: fortran/resolve.cc:8039 + #, gcc-internal-format, gfc-internal-format + msgid "" + "The source-expr at %L shall neither be of type EVENT_TYPE nor have a " + "EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8089 ++#: fortran/resolve.cc:8052 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "" + +-#: fortran/resolve.cc:8107 ++#: fortran/resolve.cc:8070 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Allocating %s at %L with type-spec requires the same character-length " + "parameter as in the declaration" + msgstr "" + +-#: fortran/resolve.cc:8191 fortran/resolve.cc:8206 ++#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8198 ++#: fortran/resolve.cc:8161 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Array specification or array-valued SOURCE= expression required in ALLOCATE " + "statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8223 ++#: fortran/resolve.cc:8186 + #, gcc-internal-format, gfc-internal-format + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8233 fortran/resolve.cc:8335 ++#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 + #, gcc-internal-format, gfc-internal-format + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8239 ++#: fortran/resolve.cc:8202 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "" + +-#: fortran/resolve.cc:8251 ++#: fortran/resolve.cc:8214 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "" + +-#: fortran/resolve.cc:8262 fortran/resolve.cc:8290 ++#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 + #, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8309 ++#: fortran/resolve.cc:8272 + #, gcc-internal-format + msgid "" + "%qs must not appear in the array specification at %L in the same ALLOCATE " + "statement where it is itself allocated" + msgstr "" + +-#: fortran/resolve.cc:8324 ++#: fortran/resolve.cc:8287 + #, gcc-internal-format + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8366 ++#: fortran/resolve.cc:8329 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:8395 ++#: fortran/resolve.cc:8358 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8408 ++#: fortran/resolve.cc:8371 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "" + +-#: fortran/resolve.cc:8422 ++#: fortran/resolve.cc:8385 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "" + +-#: fortran/resolve.cc:8451 ++#: fortran/resolve.cc:8414 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8483 ++#: fortran/resolve.cc:8446 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "" + +-#: fortran/resolve.cc:8489 fortran/resolve.cc:8495 ++#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "" +@@ -79946,301 +79908,301 @@ msgstr "" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8723 ++#: fortran/resolve.cc:8686 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "" + +-#: fortran/resolve.cc:8774 ++#: fortran/resolve.cc:8737 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "" + +-#: fortran/resolve.cc:8785 ++#: fortran/resolve.cc:8748 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "" + +-#: fortran/resolve.cc:8798 ++#: fortran/resolve.cc:8761 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:8844 ++#: fortran/resolve.cc:8807 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Selection expression in computed GOTO statement at %L must be a scalar " + "integer expression" + msgstr "" + +-#: fortran/resolve.cc:8863 ++#: fortran/resolve.cc:8826 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "" + +-#: fortran/resolve.cc:8873 ++#: fortran/resolve.cc:8836 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "" + +-#: fortran/resolve.cc:8891 fortran/resolve.cc:8899 ++#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "" + +-#: fortran/resolve.cc:8961 fortran/resolve.cc:9629 ++#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 + #, gcc-internal-format, gfc-internal-format + msgid "" + "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "" + +-#: fortran/resolve.cc:8987 ++#: fortran/resolve.cc:8950 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "" + +-#: fortran/resolve.cc:9000 ++#: fortran/resolve.cc:8963 + #, gcc-internal-format, gfc-internal-format + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9015 ++#: fortran/resolve.cc:8978 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "" + +-#: fortran/resolve.cc:9118 ++#: fortran/resolve.cc:9081 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "" + +-#: fortran/resolve.cc:9180 ++#: fortran/resolve.cc:9143 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "" + +-#: fortran/resolve.cc:9189 ++#: fortran/resolve.cc:9152 + #, gcc-internal-format + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "" + +-#: fortran/resolve.cc:9206 ++#: fortran/resolve.cc:9169 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure name" + msgstr "" + +-#: fortran/resolve.cc:9222 ++#: fortran/resolve.cc:9185 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "" + +-#: fortran/resolve.cc:9229 ++#: fortran/resolve.cc:9192 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L cannot be NULL()" + msgstr "" + +-#: fortran/resolve.cc:9234 ++#: fortran/resolve.cc:9197 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L has no type" + msgstr "" + +-#: fortran/resolve.cc:9257 ++#: fortran/resolve.cc:9220 + #, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "" + +-#: fortran/resolve.cc:9267 ++#: fortran/resolve.cc:9230 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "" + +-#: fortran/resolve.cc:9499 ++#: fortran/resolve.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9537 fortran/resolve.cc:9549 ++#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L must not be coindexed" + msgstr "" + +-#: fortran/resolve.cc:9578 ++#: fortran/resolve.cc:9541 + #, gcc-internal-format, gfc-internal-format + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "" + +-#: fortran/resolve.cc:9591 ++#: fortran/resolve.cc:9554 + #, gcc-internal-format + msgid "Derived type %qs at %L must be extensible" + msgstr "" + +-#: fortran/resolve.cc:9604 ++#: fortran/resolve.cc:9567 + #, gcc-internal-format + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "" + +-#: fortran/resolve.cc:9607 ++#: fortran/resolve.cc:9570 + #, gcc-internal-format + msgid "Unexpected intrinsic type %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:9617 ++#: fortran/resolve.cc:9580 + #, gcc-internal-format, gfc-internal-format + msgid "" + "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "" + +-#: fortran/resolve.cc:9864 ++#: fortran/resolve.cc:9827 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9998 ++#: fortran/resolve.cc:9961 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:10007 ++#: fortran/resolve.cc:9970 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:10010 ++#: fortran/resolve.cc:9973 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:10020 ++#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 + #, gcc-internal-format, gfc-internal-format + msgid "" + "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "" + +-#: fortran/resolve.cc:10129 ++#: fortran/resolve.cc:10097 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10151 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO %s procedure at %L must be recursive" + msgstr "" + +-#: fortran/resolve.cc:10193 ++#: fortran/resolve.cc:10161 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Data transfer element at %L cannot be polymorphic unless it is processed by " + "a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10206 ++#: fortran/resolve.cc:10174 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Data transfer element at %L cannot have POINTER components unless it is " + "processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10215 ++#: fortran/resolve.cc:10183 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "" + +-#: fortran/resolve.cc:10222 ++#: fortran/resolve.cc:10190 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Data transfer element at %L cannot have ALLOCATABLE components unless it is " + "processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10233 ++#: fortran/resolve.cc:10201 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "" + +-#: fortran/resolve.cc:10239 ++#: fortran/resolve.cc:10207 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Data transfer element at %L cannot have PRIVATE components unless it is " + "processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10257 ++#: fortran/resolve.cc:10225 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Data transfer element at %L cannot be a full reference to an assumed-size " + "array" + msgstr "" + +-#: fortran/resolve.cc:10314 ++#: fortran/resolve.cc:10282 + #, gcc-internal-format, gfc-internal-format + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10324 ++#: fortran/resolve.cc:10292 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10328 ++#: fortran/resolve.cc:10296 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "" + +-#: fortran/resolve.cc:10331 ++#: fortran/resolve.cc:10299 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "" + +-#: fortran/resolve.cc:10338 fortran/resolve.cc:10460 ++#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 + #, gcc-internal-format, gfc-internal-format + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:10350 fortran/resolve.cc:10472 ++#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "" + +-#: fortran/resolve.cc:10362 ++#: fortran/resolve.cc:10330 + #, gcc-internal-format, gfc-internal-format + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "" + +-#: fortran/resolve.cc:10375 ++#: fortran/resolve.cc:10343 + #, gcc-internal-format, gfc-internal-format + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:10436 ++#: fortran/resolve.cc:10404 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:10440 fortran/resolve.cc:10450 ++#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "" + +-#: fortran/resolve.cc:10503 ++#: fortran/resolve.cc:10471 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Statement at %L is not a valid branch target statement for the branch " + "statement at %L" + msgstr "" + +-#: fortran/resolve.cc:10513 ++#: fortran/resolve.cc:10481 + #, gcc-internal-format, gfc-internal-format + msgid "Branch at %L may result in an infinite loop" + msgstr "" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10530 fortran/resolve.cc:10553 ++#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "" + +-#: fortran/resolve.cc:10534 fortran/resolve.cc:10559 ++#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "" +@@ -80248,74 +80210,74 @@ msgstr "" + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10574 ++#: fortran/resolve.cc:10542 + #, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "" + +-#: fortran/resolve.cc:10646 ++#: fortran/resolve.cc:10614 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "" + +-#: fortran/resolve.cc:10662 ++#: fortran/resolve.cc:10630 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "" + +-#: fortran/resolve.cc:10675 fortran/resolve.cc:10767 ++#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10685 fortran/resolve.cc:10777 ++#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 + #, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10716 ++#: fortran/resolve.cc:10684 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "" + +-#: fortran/resolve.cc:10725 ++#: fortran/resolve.cc:10693 + #, gcc-internal-format + msgid "" + "The FORALL with index %qs is not used on the left side of the assignment at " + "%L and so might cause multiple assignment to this object" + msgstr "" + +-#: fortran/resolve.cc:10882 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL construct at %L" + msgstr "" + +-#: fortran/resolve.cc:10903 ++#: fortran/resolve.cc:10871 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "" + +-#: fortran/resolve.cc:10913 ++#: fortran/resolve.cc:10881 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "" + +-#: fortran/resolve.cc:10990 ++#: fortran/resolve.cc:10958 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "" + +-#: fortran/resolve.cc:11106 ++#: fortran/resolve.cc:11074 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11187 + #, gcc-internal-format, gfc-internal-format + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "" + +-#: fortran/resolve.cc:11251 ++#: fortran/resolve.cc:11219 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Coindexed expression at %L is assigned to a derived type variable with a " +@@ -80323,7 +80285,7 @@ msgid "" + msgstr "" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11257 ++#: fortran/resolve.cc:11225 + #, gcc-internal-format, gfc-internal-format + msgid "" + "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the " +@@ -80332,43 +80294,43 @@ msgid "" + "component selection." + msgstr "" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11237 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:11301 ++#: fortran/resolve.cc:11269 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "" + +-#: fortran/resolve.cc:11305 ++#: fortran/resolve.cc:11273 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "" + +-#: fortran/resolve.cc:11310 ++#: fortran/resolve.cc:11278 + #, gcc-internal-format + msgid "" + "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-" + "lhs%>" + msgstr "" + +-#: fortran/resolve.cc:11317 ++#: fortran/resolve.cc:11285 + #, gcc-internal-format + msgid "" + "Nonallocatable variable must not be polymorphic in intrinsic assignment at " + "%L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "" + +-#: fortran/resolve.cc:11328 ++#: fortran/resolve.cc:11296 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Coindexed variable must not have an allocatable ultimate component in " + "assignment at %L" + msgstr "" + +-#: fortran/resolve.cc:11751 ++#: fortran/resolve.cc:11719 + #, gcc-internal-format, gfc-internal-format + msgid "" + "TODO: type-bound defined assignment(s) at %L not done because multiple part " +@@ -80377,93 +80339,93 @@ msgstr "" + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12055 ++#: fortran/resolve.cc:12023 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer procedure assignment at %L" + msgstr "" + +-#: fortran/resolve.cc:12067 ++#: fortran/resolve.cc:12035 + #, gcc-internal-format, gfc-internal-format + msgid "" + "The function result on the lhs of the assignment at %L must have the pointer " + "attribute." + msgstr "" + +-#: fortran/resolve.cc:12152 ++#: fortran/resolve.cc:12120 + #, gcc-internal-format + msgid "" + "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "" + +-#: fortran/resolve.cc:12343 ++#: fortran/resolve.cc:12311 + #, gcc-internal-format, gfc-internal-format + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:12379 ++#: fortran/resolve.cc:12347 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:12383 ++#: fortran/resolve.cc:12351 + #, gcc-internal-format + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "" + +-#: fortran/resolve.cc:12394 ++#: fortran/resolve.cc:12362 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "" + +-#: fortran/resolve.cc:12432 ++#: fortran/resolve.cc:12400 + #, gcc-internal-format, gfc-internal-format + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "" + +-#: fortran/resolve.cc:12474 ++#: fortran/resolve.cc:12442 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:12521 ++#: fortran/resolve.cc:12489 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid NULL at %L" + msgstr "" + +-#: fortran/resolve.cc:12525 ++#: fortran/resolve.cc:12493 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:12586 ++#: fortran/resolve.cc:12554 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "" + +-#: fortran/resolve.cc:12591 ++#: fortran/resolve.cc:12559 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "" + +-#: fortran/resolve.cc:12675 ++#: fortran/resolve.cc:12643 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "" + +-#: fortran/resolve.cc:12777 ++#: fortran/resolve.cc:12745 + #, gcc-internal-format + msgid "gfc_resolve_code(): Bad statement code" + msgstr "" + +-#: fortran/resolve.cc:12798 ++#: fortran/resolve.cc:12766 + #, gcc-internal-format + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "" + +-#: fortran/resolve.cc:12892 ++#: fortran/resolve.cc:12860 + #, gcc-internal-format + msgid "" + "Variable %qs with binding label %qs at %L uses the same global identifier as " +@@ -80472,7 +80434,7 @@ msgstr "" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12906 ++#: fortran/resolve.cc:12874 + #, gcc-internal-format + msgid "" + "Variable %qs from module %qs with binding label %qs at %L uses the same " +@@ -80482,63 +80444,63 @@ msgstr "" + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12925 ++#: fortran/resolve.cc:12893 + #, gcc-internal-format + msgid "" + "Procedure %qs with binding label %qs at %L uses the same global identifier " + "as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:13011 ++#: fortran/resolve.cc:12979 + #, gcc-internal-format, gfc-internal-format + msgid "String length at %L is too large" + msgstr "" + +-#: fortran/resolve.cc:13249 ++#: fortran/resolve.cc:13214 + #, gcc-internal-format + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "" + +-#: fortran/resolve.cc:13253 ++#: fortran/resolve.cc:13218 + #, gcc-internal-format + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:13261 ++#: fortran/resolve.cc:13226 + #, gcc-internal-format + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "" + +-#: fortran/resolve.cc:13272 ++#: fortran/resolve.cc:13237 + #, gcc-internal-format + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "" + +-#: fortran/resolve.cc:13289 ++#: fortran/resolve.cc:13254 + #, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "" + +-#: fortran/resolve.cc:13301 ++#: fortran/resolve.cc:13266 + #, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "" + +-#: fortran/resolve.cc:13334 ++#: fortran/resolve.cc:13299 + #, gcc-internal-format + msgid "" + "The type %qs cannot be host associated at %L because it is blocked by an " + "incompatible object of the same name declared at %L" + msgstr "" + +-#: fortran/resolve.cc:13356 ++#: fortran/resolve.cc:13321 + #, gcc-internal-format + msgid "" + "Implied SAVE for module variable %qs at %L, needed due to the default " + "initialization" + msgstr "" + +-#: fortran/resolve.cc:13389 ++#: fortran/resolve.cc:13354 + #, gcc-internal-format + msgid "" + "Entity %qs at %L has a deferred type parameter and requires either the " +@@ -80547,1052 +80509,1052 @@ msgstr "" + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13425 ++#: fortran/resolve.cc:13390 + #, gcc-internal-format + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "" + +-#: fortran/resolve.cc:13450 ++#: fortran/resolve.cc:13415 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Entity with assumed character length at %L must be a dummy argument or a " + "PARAMETER" + msgstr "" + +-#: fortran/resolve.cc:13471 ++#: fortran/resolve.cc:13436 + #, gcc-internal-format + msgid "%qs at %L must have constant character length in this context" + msgstr "" + +-#: fortran/resolve.cc:13478 ++#: fortran/resolve.cc:13443 + #, gcc-internal-format + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "" + +-#: fortran/resolve.cc:13525 ++#: fortran/resolve.cc:13490 + #, gcc-internal-format + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13528 ++#: fortran/resolve.cc:13493 + #, gcc-internal-format + msgid "External %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13531 ++#: fortran/resolve.cc:13496 + #, gcc-internal-format + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13534 ++#: fortran/resolve.cc:13499 + #, gcc-internal-format + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13537 ++#: fortran/resolve.cc:13502 + #, gcc-internal-format + msgid "Function result %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13540 ++#: fortran/resolve.cc:13505 + #, gcc-internal-format + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13582 ++#: fortran/resolve.cc:13547 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L" + msgstr "" + +-#: fortran/resolve.cc:13614 ++#: fortran/resolve.cc:13579 + #, gcc-internal-format + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "" + +-#: fortran/resolve.cc:13637 ++#: fortran/resolve.cc:13602 + #, gcc-internal-format + msgid "" + "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is " + "PUBLIC at %L" + msgstr "" + +-#: fortran/resolve.cc:13659 ++#: fortran/resolve.cc:13624 + #, gcc-internal-format + msgid "" + "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs " + "which is PRIVATE" + msgstr "" + +-#: fortran/resolve.cc:13677 ++#: fortran/resolve.cc:13642 + #, gcc-internal-format + msgid "Function %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13689 ++#: fortran/resolve.cc:13654 + #, gcc-internal-format + msgid "External object %qs at %L may not have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13699 ++#: fortran/resolve.cc:13664 + #, gcc-internal-format + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "" + +-#: fortran/resolve.cc:13709 ++#: fortran/resolve.cc:13674 + #, gcc-internal-format + msgid "" + "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "" + +-#: fortran/resolve.cc:13728 ++#: fortran/resolve.cc:13693 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "" + +-#: fortran/resolve.cc:13732 ++#: fortran/resolve.cc:13697 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "" + +-#: fortran/resolve.cc:13736 ++#: fortran/resolve.cc:13701 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "" + +-#: fortran/resolve.cc:13740 ++#: fortran/resolve.cc:13705 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "" + +-#: fortran/resolve.cc:13753 ++#: fortran/resolve.cc:13718 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13764 ++#: fortran/resolve.cc:13729 + #, gcc-internal-format + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "" + +-#: fortran/resolve.cc:13770 ++#: fortran/resolve.cc:13735 + #, gcc-internal-format + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "" + +-#: fortran/resolve.cc:13790 ++#: fortran/resolve.cc:13755 + #, gcc-internal-format + msgid "" + "Function result variable %qs at %L of elemental function %qs shall not have " + "an ALLOCATABLE or POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:13847 ++#: fortran/resolve.cc:13812 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13853 ++#: fortran/resolve.cc:13818 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13859 ++#: fortran/resolve.cc:13824 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13867 ++#: fortran/resolve.cc:13832 + #, gcc-internal-format + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13873 ++#: fortran/resolve.cc:13838 + #, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "" + +-#: fortran/resolve.cc:13916 ++#: fortran/resolve.cc:13881 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its " + "interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13924 ++#: fortran/resolve.cc:13889 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface " + "in %s" + msgstr "" + +-#: fortran/resolve.cc:13932 ++#: fortran/resolve.cc:13897 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its " + "interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13941 ++#: fortran/resolve.cc:13906 + #, gcc-internal-format + msgid "" + "%s between the MODULE PROCEDURE declaration in MODULE %qs and the " + "declaration at %L in (SUB)MODULE %qs" + msgstr "" + +-#: fortran/resolve.cc:13965 ++#: fortran/resolve.cc:13930 + #, gcc-internal-format + msgid "Interface of %qs at %L must be explicit" + msgstr "" + +-#: fortran/resolve.cc:14035 ++#: fortran/resolve.cc:14000 + #, gcc-internal-format + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:14044 ++#: fortran/resolve.cc:14009 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "" + +-#: fortran/resolve.cc:14052 fortran/resolve.cc:14069 ++#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 + #, gcc-internal-format + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "" + +-#: fortran/resolve.cc:14060 ++#: fortran/resolve.cc:14025 + #, gcc-internal-format, gfc-internal-format + msgid "" + "FINAL procedure at %L with assumed rank argument must be the only finalizer " + "with the same kind/type (F2018: C790)" + msgstr "" + +-#: fortran/resolve.cc:14077 ++#: fortran/resolve.cc:14042 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "" + +-#: fortran/resolve.cc:14083 ++#: fortran/resolve.cc:14048 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:14089 ++#: fortran/resolve.cc:14054 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "" + +-#: fortran/resolve.cc:14097 ++#: fortran/resolve.cc:14062 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:14106 ++#: fortran/resolve.cc:14071 + #, gcc-internal-format, gfc-internal-format + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "" + +-#: fortran/resolve.cc:14128 ++#: fortran/resolve.cc:14093 + #, gcc-internal-format + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "" + +-#: fortran/resolve.cc:14165 ++#: fortran/resolve.cc:14130 + #, gcc-internal-format + msgid "" + "Only array FINAL procedures declared for derived type %qs defined at %L, " + "suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "" + +-#: fortran/resolve.cc:14206 ++#: fortran/resolve.cc:14171 + #, gcc-internal-format + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14242 ++#: fortran/resolve.cc:14207 + #, gcc-internal-format + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "" + +-#: fortran/resolve.cc:14301 ++#: fortran/resolve.cc:14266 + #, gcc-internal-format + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14313 ++#: fortran/resolve.cc:14278 + #, gcc-internal-format + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "" + +-#: fortran/resolve.cc:14341 ++#: fortran/resolve.cc:14306 + #, gcc-internal-format + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "" + +-#: fortran/resolve.cc:14397 ++#: fortran/resolve.cc:14362 + #, gcc-internal-format, gfc-internal-format + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "" + +-#: fortran/resolve.cc:14609 ++#: fortran/resolve.cc:14574 + #, gcc-internal-format + msgid "" + "%qs must be a module procedure or an external procedure with an explicit " + "interface at %L" + msgstr "" + +-#: fortran/resolve.cc:14652 ++#: fortran/resolve.cc:14617 + #, gcc-internal-format + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:14666 ++#: fortran/resolve.cc:14631 + #, gcc-internal-format + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:14680 fortran/resolve.cc:15168 ++#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 + #, gcc-internal-format + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14688 ++#: fortran/resolve.cc:14653 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "" + +-#: fortran/resolve.cc:14697 ++#: fortran/resolve.cc:14662 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14668 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:14709 ++#: fortran/resolve.cc:14674 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "" + +-#: fortran/resolve.cc:14738 ++#: fortran/resolve.cc:14703 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "" + +-#: fortran/resolve.cc:14748 ++#: fortran/resolve.cc:14713 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "" + +-#: fortran/resolve.cc:14843 ++#: fortran/resolve.cc:14808 + #, gcc-internal-format + msgid "" + "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and " + "not overridden" + msgstr "" + +-#: fortran/resolve.cc:14948 ++#: fortran/resolve.cc:14913 + #, gcc-internal-format + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14922 + #, gcc-internal-format + msgid "" + "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:14967 ++#: fortran/resolve.cc:14932 + #, gcc-internal-format + msgid "" + "Component %qs at %L with coarray component shall be a nonpointer, " + "nonallocatable scalar" + msgstr "" + +-#: fortran/resolve.cc:14992 ++#: fortran/resolve.cc:14957 + #, gcc-internal-format + msgid "" + "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "" + +-#: fortran/resolve.cc:15003 ++#: fortran/resolve.cc:14968 + #, gcc-internal-format + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "" + +-#: fortran/resolve.cc:15101 ++#: fortran/resolve.cc:15066 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15080 + #, gcc-internal-format + msgid "" + "Procedure pointer component %qs with PASS at %L must have at least one " + "argument" + msgstr "" + +-#: fortran/resolve.cc:15131 ++#: fortran/resolve.cc:15096 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "" + +-#: fortran/resolve.cc:15141 ++#: fortran/resolve.cc:15106 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:15150 ++#: fortran/resolve.cc:15115 + #, gcc-internal-format + msgid "" + "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:15159 ++#: fortran/resolve.cc:15124 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15201 ++#: fortran/resolve.cc:15166 + #, gcc-internal-format + msgid "" + "Component %qs of %qs at %L has the same name as an inherited type-bound " + "procedure" + msgstr "" + +-#: fortran/resolve.cc:15214 ++#: fortran/resolve.cc:15179 + #, gcc-internal-format + msgid "" + "Character length of component %qs needs to be a constant specification " + "expression at %L" + msgstr "" + +-#: fortran/resolve.cc:15225 ++#: fortran/resolve.cc:15190 + #, gcc-internal-format + msgid "" + "Character length expression of component %qs at %L must be of INTEGER type, " + "found %s" + msgstr "" + +-#: fortran/resolve.cc:15238 ++#: fortran/resolve.cc:15203 + #, gcc-internal-format + msgid "" + "Character component %qs of %qs at %L with deferred length must be a POINTER " + "or ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15271 ++#: fortran/resolve.cc:15236 + #, gcc-internal-format + msgid "" + "the component %qs is a PRIVATE type and cannot be a component of %qs, which " + "is PUBLIC at %L" + msgstr "" + +-#: fortran/resolve.cc:15279 ++#: fortran/resolve.cc:15244 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "" + +-#: fortran/resolve.cc:15288 ++#: fortran/resolve.cc:15253 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE " + "attribute" + msgstr "" + +-#: fortran/resolve.cc:15374 ++#: fortran/resolve.cc:15339 + #, gcc-internal-format, gfc-internal-format + msgid "Conflicting initializers in union at %L and %L" + msgstr "" + +-#: fortran/resolve.cc:15419 ++#: fortran/resolve.cc:15384 + #, gcc-internal-format + msgid "" + "As extending type %qs at %L has a coarray component, parent type %qs shall " + "also have one" + msgstr "" + +-#: fortran/resolve.cc:15432 ++#: fortran/resolve.cc:15397 + #, gcc-internal-format + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "" + +-#: fortran/resolve.cc:15496 ++#: fortran/resolve.cc:15461 + #, gcc-internal-format + msgid "" + "Parameterized type %qs does not have a component corresponding to parameter " + "%qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15529 ++#: fortran/resolve.cc:15494 + #, gcc-internal-format + msgid "" + "Generic name %qs of function %qs at %L being the same name as derived type " + "at %L" + msgstr "" + +-#: fortran/resolve.cc:15543 ++#: fortran/resolve.cc:15508 + #, gcc-internal-format + msgid "Derived type %qs at %L has not been declared" + msgstr "" + +-#: fortran/resolve.cc:15611 ++#: fortran/resolve.cc:15576 + #, gcc-internal-format + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "" + +-#: fortran/resolve.cc:15617 ++#: fortran/resolve.cc:15582 + #, gcc-internal-format + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15623 ++#: fortran/resolve.cc:15588 + #, gcc-internal-format + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15631 ++#: fortran/resolve.cc:15596 + #, gcc-internal-format + msgid "" + "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15648 ++#: fortran/resolve.cc:15613 + #, gcc-internal-format + msgid "" + "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC " + "namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15670 ++#: fortran/resolve.cc:15635 + #, gcc-internal-format + msgid "" + "NAMELIST object %qs has use-associated PRIVATE components and cannot be " + "member of namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15681 ++#: fortran/resolve.cc:15646 + #, gcc-internal-format + msgid "" + "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC " + "namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15673 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15692 + #, gcc-internal-format + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "" + +-#: fortran/resolve.cc:15743 ++#: fortran/resolve.cc:15708 + #, gcc-internal-format + msgid "" + "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:15754 ++#: fortran/resolve.cc:15719 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "" + +-#: fortran/resolve.cc:15762 ++#: fortran/resolve.cc:15727 + #, gcc-internal-format + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "" + +-#: fortran/resolve.cc:15813 ++#: fortran/resolve.cc:15778 + #, gcc-internal-format + msgid "" + "The object %qs at %L has a deferred LEN parameter %qs and is neither " + "allocatable nor a pointer" + msgstr "" + +-#: fortran/resolve.cc:15824 ++#: fortran/resolve.cc:15789 + #, gcc-internal-format + msgid "" + "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a " + "variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "" + +-#: fortran/resolve.cc:15831 ++#: fortran/resolve.cc:15796 + #, gcc-internal-format + msgid "" + "The object %qs at %L with ASSUMED type parameters must be a dummy or a " + "SELECT TYPE selector(F08/4.2)" + msgstr "" + +-#: fortran/resolve.cc:15871 ++#: fortran/resolve.cc:15836 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays " + "at %L are unsupported" + msgstr "" + +-#: fortran/resolve.cc:15884 ++#: fortran/resolve.cc:15849 + #, gcc-internal-format + msgid "" + "%, declared at %L, may only be used in the OpenMP DEPEND " + "clause" + msgstr "" + +-#: fortran/resolve.cc:15942 ++#: fortran/resolve.cc:15907 + #, gcc-internal-format, gfc-internal-format + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:15945 ++#: fortran/resolve.cc:15910 + #, gcc-internal-format, gfc-internal-format + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:16045 ++#: fortran/resolve.cc:16010 + #, gcc-internal-format + msgid "" + "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an " + "assumed-shape or assumed-rank array" + msgstr "" + +-#: fortran/resolve.cc:16066 ++#: fortran/resolve.cc:16031 + #, gcc-internal-format, gfc-internal-format + msgid "Bad specification for assumed size array at %L" + msgstr "" + +-#: fortran/resolve.cc:16079 ++#: fortran/resolve.cc:16044 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16082 ++#: fortran/resolve.cc:16047 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16092 ++#: fortran/resolve.cc:16057 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16099 ++#: fortran/resolve.cc:16064 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "" + +-#: fortran/resolve.cc:16112 ++#: fortran/resolve.cc:16077 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "" + +-#: fortran/resolve.cc:16118 ++#: fortran/resolve.cc:16083 + #, gcc-internal-format + msgid "" + "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16128 ++#: fortran/resolve.cc:16093 + #, gcc-internal-format + msgid "" + "Character dummy variable %qs at %L with VALUE attribute must have constant " + "length" + msgstr "" + +-#: fortran/resolve.cc:16137 ++#: fortran/resolve.cc:16102 + #, gcc-internal-format + msgid "" + "C interoperable character dummy variable %qs at %L with VALUE attribute must " + "have length one" + msgstr "" + +-#: fortran/resolve.cc:16150 fortran/resolve.cc:16327 ++#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 + #, gcc-internal-format + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "" + +-#: fortran/resolve.cc:16164 ++#: fortran/resolve.cc:16129 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16173 ++#: fortran/resolve.cc:16138 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of " + "an numeric intrinsic type" + msgstr "" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16147 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, " + "CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16190 ++#: fortran/resolve.cc:16155 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) " + "attribute" + msgstr "" + +-#: fortran/resolve.cc:16197 ++#: fortran/resolve.cc:16162 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an " + "assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:16217 ++#: fortran/resolve.cc:16182 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "" + +-#: fortran/resolve.cc:16224 ++#: fortran/resolve.cc:16189 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, " + "POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16231 ++#: fortran/resolve.cc:16196 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "" + +-#: fortran/resolve.cc:16238 ++#: fortran/resolve.cc:16203 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "" + +-#: fortran/resolve.cc:16264 ++#: fortran/resolve.cc:16229 + #, gcc-internal-format + msgid "" + "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block " + "nor declared at the module level scope" + msgstr "" + +-#: fortran/resolve.cc:16274 ++#: fortran/resolve.cc:16239 + #, gcc-internal-format + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "" + +-#: fortran/resolve.cc:16353 ++#: fortran/resolve.cc:16318 + #, gcc-internal-format + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "" + +-#: fortran/resolve.cc:16368 ++#: fortran/resolve.cc:16333 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE " + "must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16381 ++#: fortran/resolve.cc:16346 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE " + "must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16399 ++#: fortran/resolve.cc:16364 + #, gcc-internal-format + msgid "" + "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have " + "a default initializer" + msgstr "" + +-#: fortran/resolve.cc:16411 ++#: fortran/resolve.cc:16376 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16385 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:16433 ++#: fortran/resolve.cc:16398 + #, gcc-internal-format + msgid "" + "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "" + +-#: fortran/resolve.cc:16442 ++#: fortran/resolve.cc:16407 + #, gcc-internal-format + msgid "" + "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16455 ++#: fortran/resolve.cc:16420 + #, gcc-internal-format + msgid "" + "Variable %qs at %L with coarray component shall be a nonpointer, " + "nonallocatable scalar, which is not a coarray" + msgstr "" + +-#: fortran/resolve.cc:16471 ++#: fortran/resolve.cc:16436 + #, gcc-internal-format + msgid "" + "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy " + "argument" + msgstr "" + +-#: fortran/resolve.cc:16479 ++#: fortran/resolve.cc:16444 + #, gcc-internal-format + msgid "" + "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "" + +-#: fortran/resolve.cc:16486 ++#: fortran/resolve.cc:16451 + #, gcc-internal-format + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "" + +-#: fortran/resolve.cc:16499 ++#: fortran/resolve.cc:16464 + #, gcc-internal-format + msgid "" + "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray " + "or have coarray components" + msgstr "" + +-#: fortran/resolve.cc:16508 ++#: fortran/resolve.cc:16473 + #, gcc-internal-format + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16524 ++#: fortran/resolve.cc:16489 + #, gcc-internal-format + msgid "" + "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure " + "%qs" + msgstr "" + +-#: fortran/resolve.cc:16530 ++#: fortran/resolve.cc:16495 + #, gcc-internal-format + msgid "" + "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure " + "%qs" + msgstr "" + +-#: fortran/resolve.cc:16555 ++#: fortran/resolve.cc:16520 + #, gcc-internal-format + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "" + +-#: fortran/resolve.cc:16626 ++#: fortran/resolve.cc:16591 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16638 ++#: fortran/resolve.cc:16603 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16754 ++#: fortran/resolve.cc:16719 + #, gcc-internal-format, gfc-internal-format + msgid "Expecting definable entity near %L" + msgstr "" + +-#: fortran/resolve.cc:16762 ++#: fortran/resolve.cc:16727 + #, gcc-internal-format + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "" + +-#: fortran/resolve.cc:16769 ++#: fortran/resolve.cc:16734 + #, gcc-internal-format + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "" + +-#: fortran/resolve.cc:16776 ++#: fortran/resolve.cc:16741 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "" + +-#: fortran/resolve.cc:16792 ++#: fortran/resolve.cc:16757 + #, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "" + +-#: fortran/resolve.cc:16799 ++#: fortran/resolve.cc:16764 + #, gcc-internal-format, gfc-internal-format + msgid "" + "DATA object near %L has the pointer attribute and the corresponding DATA " + "value is not a valid initial-data-target" + msgstr "" + +-#: fortran/resolve.cc:16808 ++#: fortran/resolve.cc:16773 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "" + +-#: fortran/resolve.cc:16854 ++#: fortran/resolve.cc:16819 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "" + +-#: fortran/resolve.cc:16867 ++#: fortran/resolve.cc:16832 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "" + +-#: fortran/resolve.cc:16966 ++#: fortran/resolve.cc:16931 + #, gcc-internal-format, gfc-internal-format + msgid "" + "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16974 ++#: fortran/resolve.cc:16939 + #, gcc-internal-format, gfc-internal-format + msgid "" + "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16982 ++#: fortran/resolve.cc:16947 + #, gcc-internal-format, gfc-internal-format + msgid "" + "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16989 ++#: fortran/resolve.cc:16954 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L shall not be zero" + msgstr "" + +-#: fortran/resolve.cc:17114 ++#: fortran/resolve.cc:17079 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "" + +-#: fortran/resolve.cc:17280 ++#: fortran/resolve.cc:17245 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but not used" + msgstr "" + +-#: fortran/resolve.cc:17286 ++#: fortran/resolve.cc:17251 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but cannot be used" + msgstr "" + +-#: fortran/resolve.cc:17370 ++#: fortran/resolve.cc:17335 + #, gcc-internal-format + msgid "" + "Derived type variable %qs at %L must have SEQUENCE attribute to be an " + "EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17379 ++#: fortran/resolve.cc:17344 + #, gcc-internal-format + msgid "" + "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an " + "EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17387 ++#: fortran/resolve.cc:17352 + #, gcc-internal-format + msgid "" + "Derived type variable %qs at %L with default initialization cannot be in " + "EQUIVALENCE with a variable in COMMON" + msgstr "" + +-#: fortran/resolve.cc:17403 ++#: fortran/resolve.cc:17368 + #, gcc-internal-format + msgid "" + "Derived type variable %qs at %L with pointer component(s) cannot be an " + "EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17506 ++#: fortran/resolve.cc:17471 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:17521 ++#: fortran/resolve.cc:17486 + #, gcc-internal-format, gfc-internal-format + msgid "" + "Either all or none of the objects in the EQUIVALENCE set at %L shall have " + "the PROTECTED attribute" + msgstr "" + +-#: fortran/resolve.cc:17546 ++#: fortran/resolve.cc:17511 + #, gcc-internal-format + msgid "" + "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure " + "procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:17555 ++#: fortran/resolve.cc:17520 + #, gcc-internal-format + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17630 ++#: fortran/resolve.cc:17595 + #, gcc-internal-format + msgid "" + "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17641 ++#: fortran/resolve.cc:17606 + #, gcc-internal-format + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17652 ++#: fortran/resolve.cc:17617 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "" + +-#: fortran/resolve.cc:17683 ++#: fortran/resolve.cc:17648 + #, gcc-internal-format + msgid "Self reference in character length expression for %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17715 + #, gcc-internal-format + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "" + +-#: fortran/resolve.cc:17763 ++#: fortran/resolve.cc:17728 + #, gcc-internal-format + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:17785 ++#: fortran/resolve.cc:17750 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:17795 ++#: fortran/resolve.cc:17760 + #, gcc-internal-format + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "" + +-#: fortran/resolve.cc:17803 ++#: fortran/resolve.cc:17768 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:17817 ++#: fortran/resolve.cc:17782 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "" + +-#: fortran/resolve.cc:17835 ++#: fortran/resolve.cc:17800 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "" + +-#: fortran/resolve.cc:17842 ++#: fortran/resolve.cc:17807 + #, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "" + +-#: fortran/resolve.cc:17921 ++#: fortran/resolve.cc:17886 + #, gcc-internal-format + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" + msgstr "" +@@ -82503,7 +82465,7 @@ msgid "" + "BIND(C)" + msgstr "" + +-#: fortran/symbol.cc:5076 fortran/symbol.cc:5081 ++#: fortran/symbol.cc:5069 fortran/symbol.cc:5074 + #, gcc-internal-format + msgid "Symbol %qs is used before it is typed at %L" + msgstr "" +@@ -82533,7 +82495,7 @@ msgstr "" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9510 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 + #, gcc-internal-format, gfc-internal-format + msgid "" + "The structure constructor at %C has been finalized. This feature was removed " +@@ -82787,7 +82749,7 @@ msgstr "" + msgid "Unknown argument list function at %L" + msgstr "" + +-#: fortran/trans-expr.cc:10082 ++#: fortran/trans-expr.cc:10077 + #, gcc-internal-format, gfc-internal-format + msgid "" + "If bounds remapping is specified at %L, the pointer target shall not be NULL" +@@ -82839,79 +82801,79 @@ msgstr "" + msgid "optional class parameter" + msgstr "" + +-#: fortran/trans-openmp.cc:3462 ++#: fortran/trans-openmp.cc:3449 + #, gcc-internal-format + msgid "unhandled expression type" + msgstr "" + +-#: fortran/trans-openmp.cc:3637 ++#: fortran/trans-openmp.cc:3603 + #, gcc-internal-format + msgid "unhandled expression" + msgstr "" + +-#: fortran/trans-openmp.cc:5188 fortran/trans-openmp.cc:5208 ++#: fortran/trans-openmp.cc:5154 fortran/trans-openmp.cc:5174 + #, gcc-internal-format + msgid "non-rectangular loop nest with step other than constant 1 or -1 for %qs" + msgstr "" + +-#: fortran/trans-openmp.cc:5210 ++#: fortran/trans-openmp.cc:5176 + #, gcc-internal-format + msgid "Used here" + msgstr "" + +-#: fortran/trans-openmp.cc:6727 ++#: fortran/trans-openmp.cc:6693 + #, gcc-internal-format + msgid "" + "%qs specified in 'allocate' clause at %L but not in an explicit " + "privatization clause" + msgstr "" + +-#: fortran/trans-openmp.cc:7624 ++#: fortran/trans-openmp.cc:7590 + #, gcc-internal-format + msgid "gfc_trans_omp_workshare(): Bad statement code" + msgstr "" + +-#: fortran/trans-openmp.cc:7924 ++#: fortran/trans-openmp.cc:7890 + #, gcc-internal-format, gfc-internal-format + msgid "The base name for 'declare variant' must be specified at %L " + msgstr "" + +-#: fortran/trans-openmp.cc:7934 ++#: fortran/trans-openmp.cc:7900 + #, gcc-internal-format, gfc-internal-format + msgid "The base name at %L does not match the name of the current procedure" + msgstr "" + +-#: fortran/trans-openmp.cc:7937 ++#: fortran/trans-openmp.cc:7903 + #, gcc-internal-format, gfc-internal-format + msgid "The base name at %L must not be an entry name" + msgstr "" + +-#: fortran/trans-openmp.cc:7940 ++#: fortran/trans-openmp.cc:7906 + #, gcc-internal-format, gfc-internal-format + msgid "The base name at %L must not be a generic name" + msgstr "" + +-#: fortran/trans-openmp.cc:7943 ++#: fortran/trans-openmp.cc:7909 + #, gcc-internal-format, gfc-internal-format + msgid "The base name at %L must not be a procedure pointer" + msgstr "" + +-#: fortran/trans-openmp.cc:7946 ++#: fortran/trans-openmp.cc:7912 + #, gcc-internal-format, gfc-internal-format + msgid "The base procedure at %L must have an explicit interface" + msgstr "" + +-#: fortran/trans-openmp.cc:8043 ++#: fortran/trans-openmp.cc:8009 + #, gcc-internal-format + msgid "Cannot find symbol %qs" + msgstr "" + +-#: fortran/trans-openmp.cc:8054 ++#: fortran/trans-openmp.cc:8020 + #, gcc-internal-format + msgid "variant %qs at %L is not a function or subroutine" + msgstr "" + +-#: fortran/trans-openmp.cc:8066 ++#: fortran/trans-openmp.cc:8032 + #, gcc-internal-format + msgid "variant %qs and base %qs at %L have incompatible types: %s" + msgstr "" +diff --git a/gcc/po/hr.po b/gcc/po/hr.po +index 5c1335bc676..a6768e94428 100644 +--- a/gcc/po/hr.po ++++ b/gcc/po/hr.po +@@ -6,10 +6,10 @@ + # Božidar Putanec , 2022, 2023. + msgid "" + msgstr "" +-"Project-Id-Version: gcc 13.1.0\n" ++"Project-Id-Version: gcc 13.1-b20230409\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" +-"PO-Revision-Date: 2023-04-27 12:03-0700\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" ++"PO-Revision-Date: 2023-04-14 20:12-0700\n" + "Last-Translator: Božidar Putanec \n" + "Language-Team: Croatian \n" + "Language: hr\n" +@@ -18,7 +18,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + "X-Bugs: Report translation errors to the Language-Team address.\n" +-"X-Generator: Poedit 3.2.2\n" ++"X-Generator: Lokalize 22.12.3\n" + "X-Poedit-Basepath: ../sources/gcc-12-20220213\n" + "X-Poedit-Bookmarks: 13750,0,-1,-1,-1,-1,-1,-1,-1,-1\n" + "X-Poedit-SearchPath-0: .\n" +@@ -41,7 +41,7 @@ msgstr "redefinirana vanjska ‘inline’ funkcija nije kvalificirana za ‘inli + + #: cif-code.def:56 + msgid "function not inlinable" +-msgstr "funkcija nije ‘inlinable’" ++msgstr "funkcija nije nije ‘inlinable’" + + #: cif-code.def:60 + msgid "function body can be overwritten at link time" +@@ -210,7 +210,7 @@ msgstr "Greška" + + #: fortran/gfc-diagnostic.def:36 + msgid "sorry, unimplemented" +-msgstr "nije implementirano:" ++msgstr "nije implementirano: " + + #: fortran/gfc-diagnostic.def:37 + msgid "Warning" +@@ -1802,7 +1802,7 @@ msgstr "" + #: c-family/c.opt:703 + #, no-c-format + msgid "Warn about function calls with format strings that write past the end of the destination region. Same as -Wformat-overflow=1." +-msgstr "Upozori na pozive funkcija s format stringovima koji pišu iza kraja područja odredišta. Isto kao -Wformat-overflow=1." ++msgstr "Upozori na pozive funkcija s format stingovima koji pišu iza kraja područja odredišta. Isto kao -Wformat-overflow=1." + + #: c-family/c.opt:708 + #, no-c-format +@@ -3998,7 +3998,7 @@ msgstr "" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "" + + #: m2/lang.opt:127 +@@ -4129,7 +4129,7 @@ msgstr "" + #: m2/lang.opt:235 + #, no-c-format + msgid "generate a shared library from the module" +-msgstr "generira zajedničku (dijeljenu) biblioteku iz modula" ++msgstr "generira zajedničku (dijeljenu) biblioteku iz modula." + + #: m2/lang.opt:239 + #, no-c-format +@@ -7641,11 +7641,6 @@ msgstr "" + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "" + +-#: config/i386/i386.opt:1280 +-#, no-c-format +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "Podržava AMX-COMPLEX ugrađene funkcije i generiranje koda." +- + #: config/pa/pa64-hpux.opt:23 + #, no-c-format + msgid "Assume code will be linked by GNU ld." +@@ -7945,7 +7940,7 @@ msgstr "" + #: config/nvptx/nvptx.opt:28 + #, no-c-format + msgid "Ignored, but preserved for backward compatibility. Only 64-bit ABI is supported." +-msgstr "Zanemareno, ali zadržano radi kompatibilnosti. Podržan je samo 64-bit ABI." ++msgstr "Zanemareno, ali zadržano radi kompatibilnost. Samo 64-bit ABI je podržan" + + #: config/nvptx/nvptx.opt:33 + #, no-c-format +@@ -12963,7 +12958,7 @@ msgstr "Pokaže ove informacije." + #: common.opt:299 + #, no-c-format + msgid "--help=\tDisplay descriptions of a specific class of options. is one or more of optimizers, target, warnings, undocumented, params." +-msgstr "--help=\tPokaže opise specifične klase opcija. je jedan ili više elemenata iz optimizers, target, warnings, undocumented, params." ++msgstr "--help=\tPokaže opise specične klase opcija. je jedan ili više elemenata iz optimizers, target, warnings, undocumented, params." + + #: common.opt:420 + #, no-c-format +@@ -13183,7 +13178,7 @@ msgstr "" + #: common.opt:716 + #, no-c-format + msgid "Warn when one variable shadows another. Same as -Wshadow=global." +-msgstr "Upozori na jedna varijabla zasijeni neku drugu varijablu. Isto kao -Wshadow=global." ++msgstr "Upozori na jedna varijabla zasijeni neku drugu varijablu. Isko kao -Wshadow=global." + + #: common.opt:720 + #, no-c-format +@@ -13403,7 +13398,7 @@ msgstr "poravna početak funkcija" + #: common.opt:1035 + #, no-c-format + msgid "Align labels which are only reached by jumping." +-msgstr "poravna one oznake do kojih se može doći samo sa skakanjem" ++msgstr "oravna one oznake do kojih se može doći samo sa skakanjem" + + #: common.opt:1042 + #, no-c-format +@@ -13428,7 +13423,7 @@ msgstr "omogući statičku analizu prolaza" + #: common.opt:1080 + #, no-c-format + msgid "Select what to sanitize." +-msgstr "odaberite što treba počistiti" ++msgstr "odaberite što treba počistiti." + + #: common.opt:1084 + #, no-c-format +@@ -13458,7 +13453,7 @@ msgstr "taj šalter je zastario; koristite -fsanitize-recover= instead" + #: common.opt:1114 + #, no-c-format + msgid "Use traps instead of diagnostics of undefined behavior sanitizers." +-msgstr "koristi klopku umjesto dezinfektora nedefiniranog ponašanja" ++msgstr "Koristi klopku umjesto dezinfektora nedefiniranog ponašanja" + + #: common.opt:1124 + #, no-c-format +@@ -13533,7 +13528,7 @@ msgstr "taj šalter je zastario; nemojte ga koristiti" + #: common.opt:1201 + #, no-c-format + msgid "Check the return value of new in C++." +-msgstr "provjeri vraćenu vrijednost operatora ‘new’ u C++" ++msgstr "provjeri vraćenu vrijdnost operatora ‘new’ u C++" + + #: common.opt:1205 common.opt:1209 + #, no-c-format +@@ -17173,12 +17168,12 @@ msgstr "operand ‘%%l’ nije oznaka" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +@@ -17922,7 +17917,7 @@ msgstr " -w, --verbose daje opširnije informacije\n" + #: gcov.cc:952 + #, c-format + msgid " -x, --hash-filenames Hash long pathnames\n" +-msgstr " -x, --hash-filenames hašira (hash) duga imena staza\n" ++msgstr " -x, --hash-filenames hašira (hash) dugačka imena staza\n" + + #: gcov.cc:953 + #, c-format +@@ -18051,7 +18046,7 @@ msgstr "%s:nepodudaranje profila za ‘%s’\n" + #: gcov.cc:2106 + #, c-format + msgid "%s:overflowed\n" +-msgstr "%s:prekoračenje\n" ++msgstr "%s:prelijevanje\n" + + #: gcov.cc:2154 + #, c-format +@@ -18258,63 +18253,63 @@ msgstr "Ova opcija nije dokumentirana." + msgid "Uses of this option are diagnosed." + msgstr "Upotreba ove opcije je dijagnosticirana." + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "Isto kao %s%s (ili, u negiranom obliku, %s%s)." + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, c-format + msgid "Same as %s%s." + msgstr "Isto kao %s%s." + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, c-format + msgid "Same as %s." + msgstr "Isto kao %s." + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, c-format + msgid "%s Same as %s." + msgstr "%s je identično s %s." + +-#: opts.cc:1733 ++#: opts.cc:1732 + msgid "[available in " + msgstr "[dostupno u " + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "[zadano]" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, c-format + msgid "%llu bytes" + msgstr "%llu bajta" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "[omogućeno]" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "[onemogućeno]" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr " Nisu pronađene opcije sa željenim svojstvima\n" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr " Nijedan nije nađen. Koristite --help=%s za ispis *all* opcija koje podržava %s front-end sučelje.\n" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr " Sve opcije sa željenim svojstvima su već prikazane\n" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, c-format + msgid "" + " Known valid arguments for %s option:\n" +@@ -18323,47 +18318,47 @@ msgstr "" + " Znani valjani argument za %s opciju:\n" + " " + +-#: opts.cc:1959 ++#: opts.cc:1958 + msgid "The following options are target specific" + msgstr "Sljedeće opcije su specifične za cilj" + +-#: opts.cc:1962 ++#: opts.cc:1961 + msgid "The following options control compiler warning messages" + msgstr "Sljedeće opcije upravljaju porukama upozorenja kompajlera" + +-#: opts.cc:1965 ++#: opts.cc:1964 + msgid "The following options control optimizations" + msgstr "Sljedeće opcije upravljaju s optimizacijama" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + msgid "The following options are language-independent" + msgstr "Sljedeće opcije su neovisne o jeziku" + +-#: opts.cc:1971 ++#: opts.cc:1970 + msgid "The following options control parameters" + msgstr "Sljedeće opcije upravljaju s parametrima" + +-#: opts.cc:1977 ++#: opts.cc:1976 + msgid "The following options are specific to just the language " + msgstr "Sljedeće opcije su posebne samo za jezik " + +-#: opts.cc:1979 ++#: opts.cc:1978 + msgid "The following options are supported by the language " + msgstr "Sljedeće opcije podržava jezik " + +-#: opts.cc:1990 ++#: opts.cc:1989 + msgid "The following options are not documented" + msgstr "Sljedeće opcije nisu dokumentirane" + +-#: opts.cc:1992 ++#: opts.cc:1991 + msgid "The following options take separate arguments" + msgstr "Sljedeće opcije uzimaju odvojene argumente" + +-#: opts.cc:1994 ++#: opts.cc:1993 + msgid "The following options take joined arguments" + msgstr "Sljedeće opcije uzimaju spojene argumente" + +-#: opts.cc:2006 ++#: opts.cc:2005 + msgid "The following options are language-related" + msgstr "Sljedeće opcije se odnose na jezik" + +@@ -18721,7 +18716,7 @@ msgstr "" + + #: c-family/c-format.cc:695 + msgid "field width in strfmon format" +-msgstr "širina polja u strfmon formatu" ++msgstr "širina poljau u strfmon formatu" + + #: c-family/c-format.cc:696 + msgid "left precision" +@@ -18748,72 +18743,72 @@ msgstr "" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, c-format + msgid "unsupported operand for code '%c'" + msgstr "nepodržani operand za kȏd ‘%c’" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "nevaljani operand za ‘%%%c’" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, c-format + msgid "invalid vector constant" + msgstr "nevaljana vektorska konstanta" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, c-format + msgid "incompatible register operand for '%%%c'" + msgstr "nekompatibilan operand registra za ‘%%%c’" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, c-format + msgid "missing operand" + msgstr "nema operanda" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, c-format + msgid "invalid constant" + msgstr "nevaljana konstanta" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, c-format + msgid "invalid operand" + msgstr "nevaljani operand" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "nevaljani prefiks operanda ‘%%%c’" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, c-format + msgid "invalid address mode" + msgstr "nevaljani način adresiranja" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "ne mogu se kombinirati GNU i SVE vektori u binarnoj operaciji" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "‘%%&’ je upotrebljen bez ikakve dinamičke TLS referencije" +@@ -18830,18 +18825,18 @@ msgid "invalid %%r value" + msgstr "nevaljana %%r vrijednos" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "nevaljana %%R vrijednost" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "nevaljana %%N vrijednost" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" + msgstr "nevaljana %%P vrijednost" +@@ -18871,7 +18866,7 @@ msgstr "nevaljana %%M vrijednost" + msgid "invalid %%U value" + msgstr "nevaljana %%U vrijednost" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" + msgstr "nevaljana %%s vrijednost" +@@ -18881,7 +18876,7 @@ msgstr "nevaljana %%s vrijednost" + msgid "invalid %%C value" + msgstr "nevaljana %%C vrijednost" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" + msgstr "nevaljana %%E vrijednost" +@@ -18894,7 +18889,7 @@ msgstr "nepoznata relokacija unspec" + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" + msgstr "nevaljani %%xn kȏd" +@@ -18977,35 +18972,35 @@ msgstr "nevaljani UNSPEC kao operand: %d" + msgid "unrecognized supposed constant" + msgstr "neprepoznata pretpostavljena konstanta" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, c-format + msgid "invalid shift operand" +-msgstr "nevaljani operand pomaka (shift)" ++msgstr "nevaljai operand pomaka (shift)" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, c-format + msgid "predicated Thumb instruction" + msgstr "predviđena Thumb instrukcija" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "predviđena instrukcija u uvjetnoj sekvenciji" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Nepodržani operand za kȏd ‘%c’" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -19014,26 +19009,26 @@ msgstr "Nepodržani operand za kȏd ‘%c’" + msgid "invalid operand for code '%c'" + msgstr "nevaljani operand za kȏd ‘%c’" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, c-format + msgid "instruction never executed" + msgstr "instrukcija nije nikada izvršena" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "zastarjela Maverick format kȏd ‘%c’" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + msgid "invalid conversion from type %" + msgstr "nevaljana konverzija od tipa %" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + msgid "invalid conversion to type %" + msgstr "nevaljana konverzija u tip %" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "nelegalna operacija na tipu %" + +@@ -19398,97 +19393,97 @@ msgstr "" + msgid "Expected register or constant integer." + msgstr "" + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, c-format + msgid "invalid UNSPEC as operand" + msgstr "" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, c-format + msgid "invalid use of register '%s'" + msgstr "" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, c-format + msgid "invalid use of asm flag output" + msgstr "" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, c-format + msgid "invalid operand size for operand code 'O'" + msgstr "nevaljana veličina operanda za operand kȏd ‘O’" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, c-format + msgid "invalid operand size for operand code 'z'" + msgstr "nevaljana veličina operanda za operand kȏd ‘z’" + +-#: config/i386/i386.cc:13290 ++#: config/i386/i386.cc:13283 + #, c-format +-msgid "invalid operand type used with operand code '%c'" +-msgstr "nevaljani tip operanda korišten s operandom kȏda ‘%c’" ++msgid "invalid operand type used with operand code 'Z'" ++msgstr "nevaljani tip operanda korišten s operandom kȏda ‘Z’" + +-#: config/i386/i386.cc:13295 ++#: config/i386/i386.cc:13288 + #, c-format +-msgid "invalid operand size for operand code '%c'" +-msgstr "nevaljana veličina operanda za operand kȏd ‘%c’" ++msgid "invalid operand size for operand code 'Z'" ++msgstr "nevaljana veličina operanda za operand kȏd ‘Z’" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, c-format + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "operand nije kȏd uvjeta, nevaljani operand kȏd ‘Y’" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, c-format + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "operand nije kȏd uvjeta, nevaljani operand kȏd ‘D’" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, c-format + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "operand nije kȏd uvjeta, nevaljani operand kȏd ‘%c’" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, c-format + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "operand nije pokretljiva (offsettable) referencija memorije, nevaljani operand kȏd ‘H’" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, c-format + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "operand nije cijeli broj, nevaljani operand kȏd ‘K’" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "operand nije određeni cijeli broj, nevaljani operand kȏd ‘r’" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, c-format + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "operand nije cijeli broj, nevaljani operand kȏd ‘R’" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "operand nije određeni cijeli broj, nevaljani operand kȏd ‘R’" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, c-format + msgid "invalid operand code '%c'" + msgstr "nevaljani operand kȏd ‘%c’" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, c-format + msgid "invalid constraints for operand" + msgstr "nevaljano ograničenje za operand" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, c-format + msgid "invalid vector immediate" + msgstr "nevaljana vektorska konstanta" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + msgid "unknown insn mode" + msgstr "nepoznati insn način" + +@@ -19519,7 +19514,7 @@ msgstr "" + msgid "invalid %%P operand" + msgstr "" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" + msgstr "" +@@ -19564,8 +19559,8 @@ msgstr "" + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, c-format + msgid "invalid use of '%%%c'" + msgstr "" +@@ -19597,7 +19592,7 @@ msgid "post-increment address is not a register" + msgstr "" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" + msgstr "" + +@@ -19693,7 +19688,7 @@ msgstr "" + #: config/msp430/msp430.cc:4376 + #, c-format + msgid "invalid zero extract" +-msgstr "nevaljani nula ekstrakt" ++msgstr "nevaljani nulo ekstrakt" + + #: config/or1k/or1k.cc:1154 config/or1k/or1k.cc:1162 + #, c-format +@@ -19755,7 +19750,7 @@ msgstr "" + msgid "unsupported memory expression:" + msgstr "" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, c-format + msgid "invalid vector operand" + msgstr "nevaljani vektorski operand" +@@ -19807,143 +19802,143 @@ msgstr "" + msgid "bad move" + msgstr "" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" + msgstr "" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, c-format + msgid "invalid %%A value" + msgstr "nevaljana %%A vrijednost" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, c-format + msgid "invalid %%e value" + msgstr "nevaljana %%e vrijednost" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" + msgstr "" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" + msgstr "" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, c-format + msgid "invalid %%t value" + msgstr "nevaljani %%t kȏd" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, c-format + msgid "invalid %%V value" + msgstr "nevaljana %%V vrijednost" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, c-format + msgid "invalid %%z value" + msgstr "nevaljani %%z kȏd" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "" + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + msgid "AltiVec argument passed to unprototyped function" + msgstr "" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + msgid "Could not generate addis value for fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + msgid "Unable to generate load/store offset for fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + msgid "invalid conversion to type %<__vector_pair%>" + msgstr "" + +@@ -20198,7 +20193,7 @@ msgstr "" + + #: c/c-objc-common.cc:193 + msgid "{erroneous}" +-msgstr "{pogrešan}" ++msgstr "pogrešan" + + #: c/c-objc-common.cc:234 + msgid "aka" +@@ -20400,7 +20395,7 @@ msgstr "" + msgid " after user-defined conversion:" + msgstr "" + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + msgid "candidate is:" + msgid_plural "candidates are:" + msgstr[0] "" +@@ -20859,7 +20854,7 @@ msgstr "" + msgid "Driving:" + msgstr "" + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + msgid "actual argument to INTENT = OUT/INOUT" + msgstr "" + +@@ -21017,11 +21012,11 @@ msgstr "" + msgid "implied END DO" + msgstr "" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + msgid "assignment" + msgstr "" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + msgid "pointer assignment" + msgstr "" + +@@ -21029,199 +21024,199 @@ msgstr "" + msgid "simple IF" + msgstr "" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + msgid "elemental procedure" + msgstr "" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + msgid "allocatable argument" + msgstr "" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + msgid "asynchronous argument" + msgstr "" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + msgid "optional argument" + msgstr "" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + msgid "pointer argument" + msgstr "" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + msgid "target argument" + msgstr "" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + msgid "value argument" + msgstr "" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + msgid "volatile argument" + msgstr "" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + msgid "assumed-shape argument" + msgstr "" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + msgid "assumed-rank argument" + msgstr "" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + msgid "coarray argument" + msgstr "" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + msgid "parametrized derived type argument" + msgstr "" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + msgid "polymorphic argument" + msgstr "" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + msgid "NO_ARG_CHECK attribute" + msgstr "" + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + msgid "assumed-type argument" + msgstr "" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + msgid "array result" + msgstr "" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + msgid "pointer or allocatable result" + msgstr "" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + msgid "result with non-constant character length" + msgstr "" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + msgid "bind(c) procedure" + msgstr "" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, c-format + msgid "Invalid context for NULL() pointer at %%L" + msgstr "" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, c-format + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, c-format + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, c-format + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, c-format + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, c-format + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, c-format + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, c-format + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + msgid "iterator variable" + msgstr "" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + msgid "Start expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + msgid "End expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + msgid "Step expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + msgid "DEALLOCATE object" + msgstr "" + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + msgid "ALLOCATE object" + msgstr "" + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + msgid "STAT variable" + msgstr "" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + msgid "ERRMSG variable" + msgstr "" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + msgid "item in READ" + msgstr "" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + msgid "ACQUIRED_LOCK variable" + msgstr "" + +@@ -21234,27 +21229,27 @@ msgstr "" + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, c-format + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, c-format + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + msgid "Assignment of scalar to unallocated array" + msgstr "" + +@@ -22122,7 +22117,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in %s statement at %C" + msgstr "" +@@ -22493,7 +22488,7 @@ msgstr "" + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, gcc-internal-format + msgid "previous declaration here" +@@ -22590,10 +22585,10 @@ msgstr "" + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -22730,7 +22725,7 @@ msgstr "" + msgid "offset %qwi outside bounds of constant string" + msgstr "" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, gcc-internal-format + msgid "%qE declared here" + msgstr "" +@@ -22967,7 +22962,7 @@ msgstr "" + #: cfgexpand.cc:3005 + #, gcc-internal-format + msgid "the value of the stack pointer after an % statement must be the same as it was before the statement" +-msgstr "vrijednost pokazivača stȏga nakon naredbe % mora biti ista kao prije naredbe" ++msgstr "Vrijednost pokazivača stȏga nakon naredbe % mora biti ista kao prije naredbe" + + #: cfgexpand.cc:3075 + #, gcc-internal-format +@@ -24562,7 +24557,7 @@ msgstr "" + msgid "comparison is always %d due to width of bit-field" + msgstr "" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "" +@@ -25331,7 +25326,7 @@ msgstr "funkcija vraća adresu lokalne varijable" + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -26462,14 +26457,14 @@ msgstr "" + msgid "using a dangling pointer to %qD" + msgstr "" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, gcc-internal-format + msgid "%qD declared here" + msgstr "" +@@ -26514,7 +26509,7 @@ msgstr "" + msgid "call to %qD" + msgstr "" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, gcc-internal-format + msgid "storing the address of local variable %qD in %qE" + msgstr "" +@@ -27597,7 +27592,7 @@ msgstr "" + msgid "IPA modref summary is missing in input file" + msgstr "" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, gcc-internal-format + msgid "invalid jump function in LTO stream" + msgstr "" +@@ -27837,7 +27832,7 @@ msgstr "" + #: lto-streamer-in.cc:1230 + #, gcc-internal-format + msgid "Reference statement index out of range" +-msgstr "Index referentne izjave je izvan granica" ++msgstr "Index referente izjave je izvan granica" + + #: lto-streamer-in.cc:1234 + #, gcc-internal-format +@@ -28555,7 +28550,7 @@ msgstr "" + msgid "command-line option %qs is not supported by this configuration" + msgstr "" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, gcc-internal-format + msgid "missing argument to %qs" + msgstr "" +@@ -28595,12 +28590,12 @@ msgstr "" + msgid "unrecognized argument in option %qs" + msgstr "" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s" + msgstr "" +@@ -28755,7 +28750,7 @@ msgstr "" + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, gcc-internal-format + msgid "%<-fsanitize-trap=%s%> is not supported" + msgstr "%<-fsanitize-trap=%s%> nije podržan" +@@ -28795,182 +28790,182 @@ msgstr "" + msgid "variable tracking requested, but not supported by this debug format" + msgstr "" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, gcc-internal-format + msgid "unrecognized % passed to %" + msgstr "" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, gcc-internal-format + msgid "%qs attribute directive ignored" + msgstr "" + +-#: opts.cc:2347 ++#: opts.cc:2346 + #, gcc-internal-format + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, gcc-internal-format + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "" + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, gcc-internal-format + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, gcc-internal-format + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr "" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, gcc-internal-format + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "" + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, gcc-internal-format + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, gcc-internal-format + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, gcc-internal-format + msgid "structure alignment must be a small power of two, not %wu" + msgstr "" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, gcc-internal-format + msgid "unknown stack check parameter %qs" + msgstr "" + +-#: opts.cc:3158 ++#: opts.cc:3157 + #, gcc-internal-format + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "" + +-#: opts.cc:3169 ++#: opts.cc:3168 + #, gcc-internal-format + msgid "dwarf version %wu is not supported" + msgstr "" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, gcc-internal-format + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, gcc-internal-format + msgid "target system does not support debug output" + msgstr "" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, gcc-internal-format + msgid "debug format %qs conflicts with prior selection" + msgstr "" + +-#: opts.cc:3468 ++#: opts.cc:3467 + #, gcc-internal-format + msgid "unrecognized debug output level %qs" + msgstr "" + +-#: opts.cc:3470 ++#: opts.cc:3469 + #, gcc-internal-format + msgid "debug output level %qs is too high" + msgstr "" + +-#: opts.cc:3482 ++#: opts.cc:3481 + #, gcc-internal-format + msgid "unrecognized btf debug output level %qs" + msgstr "" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, gcc-internal-format + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" + msgstr "" +@@ -29643,187 +29638,187 @@ msgstr "" + msgid "%qD renamed after being referenced in assembly" + msgstr "" + +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "simbol funkcije nije funkcija" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, gcc-internal-format + msgid "inconsistent % attribute" + msgstr "" + +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "" + +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, gcc-internal-format, gfc-internal-format + msgid "node has invalid order %i" + msgstr "" + +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "" + +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "" + +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "" + +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, gcc-internal-format + msgid "node is symver but not alias" + msgstr "" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, gcc-internal-format + msgid "symver is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn%'t" + msgstr "" + +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, gcc-internal-format + msgid "Alias and target%'s section differs" + msgstr "" + +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, gcc-internal-format + msgid "Alias and target%'s comdat groups differs" + msgstr "" + +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, gcc-internal-format + msgid "Transparent alias and target%'s assembler names differs" + msgstr "" + +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, gcc-internal-format, gfc-internal-format + msgid "invalid order in asm node %i" + msgstr "krivi poredak u asm čvoru %i" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -31492,27 +31487,27 @@ msgstr "" + msgid "target specific builtin not available" + msgstr "" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "" +@@ -32328,7 +32323,7 @@ msgstr "" + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "" +@@ -34414,7 +34409,7 @@ msgstr "" + msgid "traditional C rejects string constant concatenation" + msgstr "" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "" +@@ -36090,7 +36085,7 @@ msgstr "" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, gcc-internal-format + msgid "unknown value %qs for %<-mcpu%>" + msgstr "" +@@ -36121,15 +36116,15 @@ msgid "unrecognized option passed to %%:%" + msgstr "" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, gcc-internal-format, gfc-internal-format + msgid "valid arguments are: %s" + msgstr "" +@@ -36214,48 +36209,48 @@ msgstr "" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, gcc-internal-format + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, gcc-internal-format + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr "" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, gcc-internal-format + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, gcc-internal-format + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr "" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, gcc-internal-format + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, gcc-internal-format + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr "" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, gcc-internal-format + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr "" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "" +@@ -36739,13 +36734,13 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, gcc-internal-format + msgid "argument %d of %qE must be an integer constant expression" + msgstr "" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, gcc-internal-format + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" + msgstr "" +@@ -36984,7 +36979,7 @@ msgstr "" + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, gcc-internal-format + msgid "duplicate definition of %qs" + msgstr "" +@@ -37025,7 +37020,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, gcc-internal-format + msgid "variables of type %qT cannot have thread-local storage duration" + msgstr "" +@@ -37112,323 +37107,323 @@ msgstr "" + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, gcc-internal-format + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, gcc-internal-format + msgid "%qE requires the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, gcc-internal-format + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, gcc-internal-format + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, gcc-internal-format + msgid "%qs string ill-formed" + msgstr "" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, gcc-internal-format + msgid "invalid format for %" + msgstr "" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, gcc-internal-format + msgid "invalid % value: %d" + msgstr "" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "nepoznata tuning opcija (%s)" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, gcc-internal-format + msgid "specify a system register with a small string length" + msgstr "" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "" + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "" + +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, gcc-internal-format + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, gcc-internal-format + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, gcc-internal-format + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, gcc-internal-format + msgid "unknown value %qs for %<-march%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, gcc-internal-format + msgid "did you mean %<-mcpu=%s%>?" + msgstr "" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, gcc-internal-format + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, gcc-internal-format + msgid "unknown value %qs for %<-mtune%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, gcc-internal-format + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, gcc-internal-format + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, gcc-internal-format + msgid "code model %qs with %<-f%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, gcc-internal-format + msgid "code model %qs not supported in ilp32 mode" + msgstr "" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, gcc-internal-format + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, gcc-internal-format + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, gcc-internal-format + msgid "missing argument to % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, gcc-internal-format + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, gcc-internal-format + msgid "unsupported simdlen %wd" + msgstr "" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, gcc-internal-format + msgid "GCC does not currently support return type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, gcc-internal-format + msgid "unsupported return type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, gcc-internal-format + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, gcc-internal-format + msgid "GCC does not currently support simdlen %wd for type %qT" + msgstr "" +@@ -37613,13 +37608,13 @@ msgstr "" + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -37760,17 +37755,17 @@ msgstr "" + msgid "%qE attribute only applies to variables" + msgstr "" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, gcc-internal-format + msgid "alternatives not allowed in % flag output" + msgstr "" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, gcc-internal-format + msgid "unknown % flag output %qs" + msgstr "" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, gcc-internal-format + msgid "invalid type for % flag output" + msgstr "" +@@ -37977,7 +37972,7 @@ msgstr "" + msgid "target CPU does not support unaligned accesses" + msgstr "" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, gcc-internal-format + msgid "This architecture does not support branch protection instructions" + msgstr "" +@@ -38032,7 +38027,7 @@ msgstr "" + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, gcc-internal-format + msgid "FDPIC mode is not supported in Thumb-1 mode" + msgstr "" +@@ -38138,7 +38133,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "" +@@ -38188,32 +38183,32 @@ msgstr "" + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, gcc-internal-format + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, gcc-internal-format + msgid "invalid fpu for target attribute or pragma %qs" + msgstr "" +@@ -38221,22 +38216,22 @@ msgstr "" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, gcc-internal-format + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, gcc-internal-format + msgid "unknown target attribute or pragma %qs" + msgstr "" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, gcc-internal-format + msgid "% flags not supported in thumb1 mode" + msgstr "" +@@ -38310,17 +38305,17 @@ msgstr "" + msgid "%<-fPIE%> is not supported" + msgstr "" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, gcc-internal-format + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, gcc-internal-format + msgid "%qs function cannot have arguments" + msgstr "" + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, gcc-internal-format + msgid "%qs function cannot return a value" + msgstr "" +@@ -38634,7 +38629,7 @@ msgstr "" + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, gcc-internal-format + msgid "invalid argument to built-in function" + msgstr "" +@@ -38979,12 +38974,12 @@ msgstr "nije moguće otvoriti ‘%s’" + #: config/gcn/mkoffload.cc:1129 config/nvptx/mkoffload.cc:730 + #, gcc-internal-format + msgid "cannot open omp_requires file %qs" +-msgstr "nije moguće otvoriti ‘omp_requires’ datoteku %qs" ++msgstr "Nije moguće otvoriti ‘omp_requires’ datoteku %qs" + + #: config/gcn/mkoffload.cc:1133 config/nvptx/mkoffload.cc:734 + #, gcc-internal-format + msgid "cannot read omp_requires file %qs" +-msgstr "nije moguće čitati ‘omp_requires’ datoteku %qs" ++msgstr "Nije moguće čitati ‘omp_requires’ datoteku %qs" + + #: config/gcn/mkoffload.cc:1139 + #, gcc-internal-format +@@ -39227,749 +39222,749 @@ msgstr "" + msgid "virtual function multiversioning not supported" + msgstr "" + +-#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25106 + #, gcc-internal-format + msgid "multiversioning needs % which is not supported on this target" + msgstr "" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" + msgstr "" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, gcc-internal-format + msgid "attribute %qs argument is not a string" + msgstr "" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, gcc-internal-format + msgid "attribute %qs argument %qs is unknown" + msgstr "" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, gcc-internal-format + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, gcc-internal-format + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, gcc-internal-format + msgid "wrong argument %qs to option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" + msgstr "" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, gcc-internal-format + msgid "too many size ranges specified in option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "" + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "" + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, gcc-internal-format + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, gcc-internal-format + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, gcc-internal-format + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, gcc-internal-format + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, gcc-internal-format + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "" + +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "" + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, gcc-internal-format + msgid "bad value %qs for %<-march=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, gcc-internal-format + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, gcc-internal-format + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, gcc-internal-format + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, gcc-internal-format + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, gcc-internal-format + msgid "stack probing requires % for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, gcc-internal-format + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, gcc-internal-format + msgid "unknown option for %<-mrecip=%s%>" + msgstr "" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, gcc-internal-format + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, gcc-internal-format + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, gcc-internal-format + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, gcc-internal-format + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, gcc-internal-format + msgid "interrupt and naked attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, gcc-internal-format + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, gcc-internal-format + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, gcc-internal-format + msgid "%qE attribute is used for non-class method" + msgstr "" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, gcc-internal-format + msgid "%qE incompatible attribute ignored" + msgstr "" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, gcc-internal-format + msgid "%qE attribute only available for 32-bit" + msgstr "" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, gcc-internal-format + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, gcc-internal-format + msgid "%qs and %qs attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "" + +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, gcc-internal-format + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "" + +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, gcc-internal-format + msgid "interrupt service routine should have %qs as the second argument" + msgstr "" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, gcc-internal-format + msgid "interrupt service routine must return %" + msgstr "" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, gcc-internal-format + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, gcc-internal-format + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, gcc-internal-format + msgid "X32 does not support % attribute" + msgstr "" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, gcc-internal-format + msgid "% attribute is not compatible with nested function" + msgstr "" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, gcc-internal-format + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, gcc-internal-format + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, gcc-internal-format + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, gcc-internal-format + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, gcc-internal-format + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, gcc-internal-format + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, gcc-internal-format + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, gcc-internal-format, gfc-internal-format + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "" + +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "" + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, gcc-internal-format + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "" + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, gcc-internal-format + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "" + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, gcc-internal-format + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" + msgstr "" + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, gcc-internal-format + msgid "% modifier on non-integer register" + msgstr "" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, gcc-internal-format + msgid "unsupported size for integer register" + msgstr "" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, gcc-internal-format + msgid "non-integer operand used with operand code %" + msgstr "" + +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, gcc-internal-format + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, gcc-internal-format + msgid "unsupported argument type %qT for simd" + msgstr "" + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, gcc-internal-format + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" + msgstr "" +@@ -40314,7 +40309,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, gcc-internal-format + msgid "%qE attribute requires a string argument" + msgstr "" +@@ -41433,52 +41428,52 @@ msgstr "" + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, gcc-internal-format + msgid "RVV type %qT does not have a fixed size" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, gcc-internal-format + msgid "RVV type %qT does not have a defined alignment" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, gcc-internal-format + msgid "arithmetic on pointer to RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, gcc-internal-format + msgid "fields cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, gcc-internal-format + msgid "array elements cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, gcc-internal-format + msgid "cannot allocate objects with RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, gcc-internal-format + msgid "cannot delete objects with RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, gcc-internal-format + msgid "cannot throw or catch RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, gcc-internal-format + msgid "capture by copy of RVV type %qT" + msgstr "" +@@ -41498,71 +41493,66 @@ msgstr "" + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, gcc-internal-format + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, gcc-internal-format + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, gcc-internal-format + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, gcc-internal-format + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, gcc-internal-format + msgid "ABI requires %<-march=rv%d%>" + msgstr "" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, gcc-internal-format + msgid "%qs is not a valid base register in %qs" + msgstr "" + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, gcc-internal-format + msgid "%qs is not a valid number in %qs" + msgstr "" + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, gcc-internal-format + msgid "%qs function cannot have different interrupt type" + msgstr "" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "nije moguće dodijeliti vl registar za %qs na ovoom cilju" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, gcc-internal-format +@@ -42032,97 +42022,97 @@ msgstr "" + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, gcc-internal-format + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, gcc-internal-format + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, gcc-internal-format + msgid "invalid cpu %qs for %s%qs%s" + msgstr "" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, gcc-internal-format + msgid "%s%qs%s is not allowed" + msgstr "" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, gcc-internal-format + msgid "%s%qs%s is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" + +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, gcc-internal-format + msgid "Virtual function multiversioning not supported" + msgstr "" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, gcc-internal-format + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, gcc-internal-format + msgid "type %<__vector_pair%> requires the %qs option" + msgstr "" +@@ -43517,7 +43507,7 @@ msgstr "" + msgid "uninitialized % is invalid in C++" + msgstr "" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "" +@@ -43702,7 +43692,7 @@ msgstr "" + msgid "storage class specified for unnamed parameter" + msgstr "" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "" +@@ -43871,7 +43861,7 @@ msgstr "" + msgid "function definition has qualified void return type" + msgstr "" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "" +@@ -43998,7 +43988,7 @@ msgstr "" + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "" +@@ -44198,7 +44188,7 @@ msgstr "" + msgid "%qT defined in underspecified object initializer" + msgstr "" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "" +@@ -44248,7 +44238,7 @@ msgstr "" + msgid "struct has no members" + msgstr "" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, gcc-internal-format + msgid "flexible array member in union" + msgstr "" +@@ -44293,7 +44283,7 @@ msgstr "" + msgid "% declared with but defined without fixed underlying type" + msgstr "" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, gcc-internal-format + msgid "specified mode too small for enumerated values" + msgstr "" +@@ -44338,7 +44328,7 @@ msgstr "" + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, gcc-internal-format + msgid "inline function %qD given attribute %qs" + msgstr "" +@@ -44368,7 +44358,7 @@ msgstr "" + msgid "%qD was used with no prototype before its definition" + msgstr "" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, gcc-internal-format + msgid "no previous declaration for %qD" + msgstr "" +@@ -44483,12 +44473,12 @@ msgstr "" + msgid "argument %qD doesn%'t match prototype" + msgstr "" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, gcc-internal-format + msgid "parameter %qD set but not used" + msgstr "" +@@ -46500,7 +46490,7 @@ msgstr "" + msgid "collapsed loops not perfectly nested" + msgstr "" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "" +@@ -46630,12 +46620,12 @@ msgstr "očekivano je %" + msgid "variant %qD is not a function" + msgstr "" + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, gcc-internal-format + msgid "variant %qD and base %qD have incompatible types" + msgstr "" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "" +@@ -46896,7 +46886,7 @@ msgstr "" + msgid "invalid use of flexible array member" + msgstr "" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "" +@@ -47845,12 +47835,12 @@ msgstr "" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, gcc-internal-format + msgid "cannot initialize array of %qT from a string literal with type array of %qT" + msgstr "" +@@ -47891,7 +47881,7 @@ msgstr "" + msgid "invalid initializer" + msgstr "" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "" +@@ -47906,8 +47896,8 @@ msgstr "" + msgid "braces around scalar initializer" + msgstr "" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "" +@@ -47997,7 +47987,7 @@ msgstr "" + msgid "positional initialization of field in % declared with % attribute" + msgstr "" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "" +@@ -49340,7 +49330,7 @@ msgstr "" + msgid "%q#D is private within this context" + msgstr "" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, gcc-internal-format + msgid "declared private here" + msgstr "" +@@ -49350,7 +49340,7 @@ msgstr "" + msgid "%q#D is protected within this context" + msgstr "" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, gcc-internal-format + msgid "declared protected here" + msgstr "" +@@ -49365,7 +49355,7 @@ msgstr "" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, gcc-internal-format + msgid " declared here" +@@ -49694,7 +49684,7 @@ msgstr "" + msgid "call to non-function %qD" + msgstr "" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "" +@@ -50263,7 +50253,7 @@ msgstr "" + msgid "next member %q#D declared here" + msgstr "" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "" +@@ -50384,7 +50374,7 @@ msgstr "" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, gcc-internal-format + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" +@@ -50453,7 +50443,7 @@ msgstr "" + msgid "failed % attribute assumption" + msgstr "" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, gcc-internal-format + msgid "call to internal function %qE" +@@ -50500,7 +50490,7 @@ msgstr "" + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, gcc-internal-format + msgid "call to non-% function %qD" +@@ -50624,7 +50614,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -50723,7 +50713,7 @@ msgstr "" + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, gcc-internal-format + msgid "dereferencing a null pointer" +@@ -50799,7 +50789,7 @@ msgstr "" + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, gcc-internal-format + msgid "statement is not a constant expression" +@@ -50865,189 +50855,189 @@ msgstr "" + msgid "control passes through definition of %qD with static storage duration" + msgstr "" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, gcc-internal-format + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, gcc-internal-format + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, gcc-internal-format + msgid "cast from %qT is not allowed" + msgstr "" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, gcc-internal-format + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, gcc-internal-format + msgid "%(%E)%> is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, gcc-internal-format + msgid "expression %qE is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, gcc-internal-format + msgid "contract predicate is false in constant expression" + msgstr "" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, gcc-internal-format + msgid "unexpected template-id %qE" + msgstr "" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, gcc-internal-format + msgid "function concept must be called" + msgstr "" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, gcc-internal-format + msgid "address of a call to %qs is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, gcc-internal-format + msgid "unexpected expression %qE of kind %s" + msgstr "" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, gcc-internal-format + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, gcc-internal-format + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, gcc-internal-format + msgid "lambda capture of %qE is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, gcc-internal-format + msgid "% from integer to pointer" + msgstr "" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, gcc-internal-format + msgid "use of % in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, gcc-internal-format + msgid "lambda-expression is not a constant expression before C++17" + msgstr "" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, gcc-internal-format + msgid "new-expression is not a constant expression before C++20" + msgstr "" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, gcc-internal-format + msgid "virtual functions cannot be % before C++20" + msgstr "" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, gcc-internal-format + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, gcc-internal-format + msgid "cast to non-integral type %qT in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, gcc-internal-format + msgid "division by zero is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, gcc-internal-format + msgid "neither branch of % is a constant expression" + msgstr "" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, gcc-internal-format + msgid "non-constant array initialization" + msgstr "" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, gcc-internal-format + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, gcc-internal-format, gfc-internal-format + msgid "unexpected AST of kind %s" + msgstr "" +@@ -51217,12 +51207,12 @@ msgstr " %qT nije moguće dodijeliti kopiju pomoću ‘nothrow’" + #: cp/constraint.cc:3684 cp/constraint.cc:3779 + #, gcc-internal-format + msgid " %qT is not nothrow default constructible" +-msgstr " %qT se ne može sagraditi prema zadanim postavkama s ‘nothrow’" ++msgstr "%qT se ne može sagraditi prema zadanim postavkama s ‘nothrow’" + + #: cp/constraint.cc:3687 + #, gcc-internal-format + msgid " %qT is not nothrow copy constructible" +-msgstr " %qT se ne može konstruirati kopiranjem s ‘nothrow’" ++msgstr "%qT se ne može konstruirati kopiranjem s ‘nothrow’" + + #: cp/constraint.cc:3690 + #, gcc-internal-format +@@ -51357,7 +51347,7 @@ msgstr " %qT nema upotrebljiv zadani konstruktor" + #: cp/constraint.cc:3769 + #, gcc-internal-format + msgid " %qT is not constructible from %qE" +-msgstr " %qT se ne može konstruirati iz %qE" ++msgstr "%qT se ne može konstruirati iz %qE" + + #: cp/constraint.cc:3775 + #, gcc-internal-format +@@ -51620,7 +51610,7 @@ msgstr "" + msgid "% declared here" + msgstr "" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, gcc-internal-format + msgid "no member named %qE in %qT" + msgstr "" +@@ -51712,7 +51702,7 @@ msgstr "" + msgid "no suspend point info for %qD" + msgstr "" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "" +@@ -51732,23 +51722,23 @@ msgstr "‘await’ izraz nije dopušten u rukovateljima (handlers)" + msgid "variable length arrays are not yet supported in coroutines" + msgstr "" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, gcc-internal-format + msgid "cannot initialize a return object of type %qT with an rvalue of type %" + msgstr "" +@@ -52228,7 +52218,7 @@ msgstr "" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "" + +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, gcc-internal-format + msgid "previous declaration %qD" + msgstr "" +@@ -52628,604 +52618,604 @@ msgstr "" + msgid "%q#T is not a class" + msgstr "" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, gcc-internal-format + msgid "no type named %q#T in %q#T" + msgstr "" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, gcc-internal-format + msgid "lookup of %qT in %qT is ambiguous" + msgstr "" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, gcc-internal-format + msgid "% names %q#D, which is not a type" + msgstr "" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, gcc-internal-format + msgid "template parameters do not match template %qD" + msgstr "" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, gcc-internal-format + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, gcc-internal-format + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, gcc-internal-format + msgid "anonymous struct with base classes" + msgstr "" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, gcc-internal-format + msgid "attribute ignored in declaration of %q#T" + msgstr "" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, gcc-internal-format + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, gcc-internal-format + msgid "% can only be specified for variables or function declarations" + msgstr "" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, gcc-internal-format + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, gcc-internal-format + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, gcc-internal-format + msgid "% was ignored in this declaration" + msgstr "" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, gcc-internal-format + msgid "%qs cannot be used for type declarations" + msgstr "" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, gcc-internal-format + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, gcc-internal-format + msgid "no attribute can be applied to an explicit instantiation" + msgstr "" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, gcc-internal-format + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "" + +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, gcc-internal-format + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, gcc-internal-format + msgid "%q+#D is not a static data member of %q#T" + msgstr "" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, gcc-internal-format + msgid "non-member-template declaration of %qD" + msgstr "" + +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, gcc-internal-format + msgid "does not match member template declaration here" + msgstr "" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "" + +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, gcc-internal-format + msgid "name used in a GNU-style designated initializer for an array" + msgstr "" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, gcc-internal-format + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, gcc-internal-format + msgid "array size missing in %qD" + msgstr "" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, gcc-internal-format + msgid "zero-size array %qD" + msgstr "" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, gcc-internal-format + msgid "storage size of %qD isn%'t known" + msgstr "" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, gcc-internal-format + msgid "storage size of %qD isn%'t constant" + msgstr "" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, gcc-internal-format + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, gcc-internal-format + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, gcc-internal-format + msgid "you can work around this by removing the initializer" + msgstr "" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, gcc-internal-format + msgid "uninitialized %" + msgstr "" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, gcc-internal-format + msgid "uninitialized variable %qD in % function" + msgstr "" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, gcc-internal-format + msgid "uninitialized variable %qD in % context" + msgstr "" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, gcc-internal-format + msgid "%q#T has no user-provided default constructor" + msgstr "" + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, gcc-internal-format + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, gcc-internal-format + msgid "%qD is not a direct member of %qT" + msgstr "" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, gcc-internal-format + msgid "invalid initializer for %q#D" + msgstr "" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "" + +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, gcc-internal-format + msgid "too many braces around scalar initializer for type %qT" + msgstr "" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, gcc-internal-format + msgid "structured binding has incomplete type %qT" + msgstr "" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, gcc-internal-format + msgid "elements of array %q#T have incomplete type" + msgstr "" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, gcc-internal-format + msgid "variable-sized compound literal" + msgstr "" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, gcc-internal-format + msgid "%q#D has incomplete type" + msgstr "" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, gcc-internal-format + msgid "scalar object %qD requires one element in initializer" + msgstr "" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, gcc-internal-format + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, gcc-internal-format + msgid "reference %qD is initialized with itself" + msgstr "" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, gcc-internal-format + msgid "could not find variant declaration" + msgstr "" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, gcc-internal-format + msgid "% on constructor %qD" + msgstr "" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, gcc-internal-format + msgid "% on destructor %qD" + msgstr "" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, gcc-internal-format + msgid "% on defaulted %qD" + msgstr "" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, gcc-internal-format + msgid "% on deleted %qD" + msgstr "" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, gcc-internal-format + msgid "% on virtual %qD" + msgstr "" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, gcc-internal-format + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, gcc-internal-format + msgid "% storage class specifier used" + msgstr "" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, gcc-internal-format + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, gcc-internal-format + msgid "deduced type %qT for %qD is incomplete" + msgstr "" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, gcc-internal-format + msgid "variable concept has no initializer" + msgstr "" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, gcc-internal-format + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr "" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, gcc-internal-format + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, gcc-internal-format + msgid "structured binding refers to incomplete type %qT" + msgstr "" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, gcc-internal-format + msgid "cannot decompose variable length array %qT" + msgstr "" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, gcc-internal-format, gfc-internal-format + msgid "%u name provided for structured binding" + msgid_plural "%u names provided for structured binding" +@@ -53233,7 +53223,7 @@ msgstr[0] "" + msgstr[1] "" + msgstr[2] "" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" +@@ -53241,7 +53231,7 @@ msgstr[0] "" + msgstr[1] "" + msgstr[2] "" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" +@@ -53249,1656 +53239,1656 @@ msgstr[0] "" + msgstr[1] "" + msgstr[2] "" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, gcc-internal-format + msgid "cannot decompose variable length vector %qT" + msgstr "" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, gcc-internal-format + msgid "%::value%> is not an integral constant expression" + msgstr "" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, gcc-internal-format + msgid "in initialization of structured binding variable %qD" + msgstr "" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, gcc-internal-format + msgid "cannot decompose union type %qT" + msgstr "" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, gcc-internal-format + msgid "cannot decompose non-array non-class type %qT" + msgstr "" + +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, gcc-internal-format + msgid "cannot decompose lambda closure type %qT" + msgstr "" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, gcc-internal-format + msgid "structured binding refers to incomplete class type %qT" + msgstr "" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, gcc-internal-format + msgid "cannot decompose class type %qT without non-static data members" + msgstr "" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, gcc-internal-format + msgid "initializer fails to determine size of %qT" + msgstr "" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, gcc-internal-format + msgid "array size missing in %qT" + msgstr "" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, gcc-internal-format + msgid "zero-size array %qT" + msgstr "" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, gcc-internal-format + msgid "%qD declared as a % variable" + msgstr "" + +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, gcc-internal-format + msgid "%qD declared as a % parameter" + msgstr "" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, gcc-internal-format + msgid "%qD declared as an % parameter" + msgstr "" + +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, gcc-internal-format + msgid "%qD declared as a % type" + msgstr "" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, gcc-internal-format + msgid "%qD declared as an % type" + msgstr "" + +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, gcc-internal-format + msgid "%qD declared as a % field" + msgstr "" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, gcc-internal-format + msgid "%qD declared as an % field" + msgstr "" + +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, gcc-internal-format + msgid "concept %q#D declared with function parameters" + msgstr "" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, gcc-internal-format + msgid "concept %q#D declared with a deduced return type" + msgstr "" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, gcc-internal-format + msgid "concept %q#D with non-% return type %qT" + msgstr "" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, gcc-internal-format + msgid "concept %qD has no definition" + msgstr "" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, gcc-internal-format + msgid "a function concept cannot be constrained" + msgstr "" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, gcc-internal-format + msgid "constraints on a non-templated function" + msgstr "" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, gcc-internal-format + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be %qs" + msgstr "" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, gcc-internal-format + msgid "static member function %qD cannot have cv-qualifier" + msgstr "" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, gcc-internal-format + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, gcc-internal-format + msgid "static member function %qD cannot have ref-qualifier" + msgstr "" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, gcc-internal-format + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, gcc-internal-format + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, gcc-internal-format + msgid "deduction guide %qD must have the same access as %qT" + msgstr "deduction guide %qD mora imati isti pristup kao %qT" + +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, gcc-internal-format + msgid "deduction guide %qD must not have a function body" + msgstr "" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, gcc-internal-format + msgid "literal operator with C linkage" + msgstr "" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, gcc-internal-format + msgid "%qD has invalid argument list" + msgstr "" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, gcc-internal-format + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, gcc-internal-format + msgid "%qD must be a non-member function" + msgstr "" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, gcc-internal-format + msgid "%<::main%> must return %" + msgstr "" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, gcc-internal-format + msgid "definition of explicitly-defaulted %q+D" + msgstr "" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, gcc-internal-format + msgid "%q#D explicitly defaulted here" + msgstr "" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a global variable" + msgstr "" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, gcc-internal-format + msgid "a non-template variable cannot be %" + msgstr "" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, gcc-internal-format + msgid "concept must be defined at namespace scope" + msgstr "" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, gcc-internal-format + msgid "a variable concept cannot be constrained" + msgstr "" + +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, gcc-internal-format + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array %qD" + msgstr "" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array" + msgstr "" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, gcc-internal-format + msgid "%qD declared as array of template placeholder type %qT" + msgstr "" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, gcc-internal-format + msgid "creating array of template placeholder type %qT" + msgstr "" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, gcc-internal-format + msgid "declaration of %qD as array of void" + msgstr "" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, gcc-internal-format + msgid "creating array of void" + msgstr "" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, gcc-internal-format + msgid "declaration of %qD as array of functions" + msgstr "" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, gcc-internal-format + msgid "creating array of functions" + msgstr "" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, gcc-internal-format + msgid "declaration of %qD as array of references" + msgstr "" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, gcc-internal-format + msgid "creating array of references" + msgstr "" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, gcc-internal-format + msgid "declaration of %qD as array of function members" + msgstr "" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, gcc-internal-format + msgid "creating array of function members" + msgstr "" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, gcc-internal-format + msgid "variable-length array of %" + msgstr "" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, gcc-internal-format + msgid "qualifiers are not allowed on constructor declaration" + msgstr "" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, gcc-internal-format + msgid "qualifiers are not allowed on destructor declaration" + msgstr "" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, gcc-internal-format + msgid "return type specified for %" + msgstr "" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, gcc-internal-format + msgid "return type specified for deduction guide" + msgstr "" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, gcc-internal-format + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, gcc-internal-format + msgid "% in declaration of deduction guide" + msgstr "" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, gcc-internal-format + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, gcc-internal-format + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, gcc-internal-format + msgid "% cannot be cv-qualified" + msgstr "" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "" + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "" + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, gcc-internal-format + msgid "%q#T is not a class or namespace" + msgstr "" + +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, gcc-internal-format + msgid "declaration of %qE as non-function" + msgstr "" + +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, gcc-internal-format + msgid "declaration of %qE as non-member" + msgstr "" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "" + +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, gcc-internal-format + msgid "declaration of %qD as %" + msgstr "" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, gcc-internal-format + msgid "declaration of %qD as parameter" + msgstr "" + +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, gcc-internal-format + msgid "both %qs and %qs specified" + msgstr "" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, gcc-internal-format + msgid "%qs cannot appear in a typedef declaration" + msgstr "" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, gcc-internal-format + msgid "ISO C++ does not support plain % meaning %" + msgstr "" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, gcc-internal-format + msgid "%<__int%d%> is not supported by this target" + msgstr "" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, gcc-internal-format + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, gcc-internal-format + msgid "% and % specified together" + msgstr "" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, gcc-internal-format + msgid "% and % specified together" + msgstr "" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, gcc-internal-format + msgid "%qs specified with %qT" + msgstr "" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, gcc-internal-format + msgid "%qs specified with %qD" + msgstr "" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, gcc-internal-format + msgid "complex invalid for %qs" + msgstr "" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, gcc-internal-format + msgid "member %qD cannot be declared both % and %" + msgstr "" + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, gcc-internal-format + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, gcc-internal-format + msgid "storage class specified for template parameter %qs" + msgstr "" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, gcc-internal-format + msgid "a parameter cannot be declared %qs" + msgstr "" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, gcc-internal-format + msgid "structured binding declaration cannot be %qs" + msgstr "" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, gcc-internal-format + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, gcc-internal-format + msgid "%-qualified structured binding is deprecated" + msgstr "" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, gcc-internal-format + msgid "structured binding declaration cannot be C++98 %" + msgstr "" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, gcc-internal-format + msgid "structured binding declaration cannot have type %qT" + msgstr "" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, gcc-internal-format + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, gcc-internal-format + msgid "multiple storage classes in declaration of %qs" + msgstr "" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "%qs opseg funkcije je implicitno auto i deklariran kao %<__thread%>" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, gcc-internal-format + msgid "attribute ignored" + msgstr "" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, gcc-internal-format + msgid "unnecessary parentheses in declaration of %qs" + msgstr "" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, gcc-internal-format + msgid "remove parentheses" + msgstr "" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, gcc-internal-format + msgid "requires-clause on return type" + msgstr "" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, gcc-internal-format + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, gcc-internal-format + msgid "virtual function cannot have deduced return type" + msgstr "" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, gcc-internal-format + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, gcc-internal-format + msgid "invalid use of %" + msgstr "" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, gcc-internal-format + msgid "deduced class type %qD in function return type" + msgstr "" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, gcc-internal-format + msgid "deduction guide for %qT must have trailing return type" + msgstr "" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, gcc-internal-format + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, gcc-internal-format + msgid "a conversion function cannot have a trailing return type" + msgstr "" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, gcc-internal-format + msgid "%-qualified return type is deprecated" + msgstr "" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, gcc-internal-format + msgid "%qs declared as function returning a function" + msgstr "" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, gcc-internal-format + msgid "% on function return type is not allowed" + msgstr "" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, gcc-internal-format + msgid "destructors may not be ref-qualified" + msgstr "" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, gcc-internal-format + msgid "constructors may not be ref-qualified" + msgstr "" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, gcc-internal-format + msgid "constructors cannot be declared %" + msgstr "" + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, gcc-internal-format + msgid "cannot define friend function %qs in a local class definition" + msgstr "" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "" + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, gcc-internal-format + msgid "cannot declare reference to qualified function type %qT" + msgstr "" + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, gcc-internal-format + msgid "cannot declare pointer to qualified function type %qT" + msgstr "" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, gcc-internal-format + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "" + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, gcc-internal-format + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "" + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "" + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, gcc-internal-format + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, gcc-internal-format + msgid "% in friend declaration" + msgstr "" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, gcc-internal-format + msgid "only declarations of constructors and conversion operators can be %" + msgstr "" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "" + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "" + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, gcc-internal-format + msgid "reference %qs cannot be declared %" + msgstr "" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, gcc-internal-format + msgid "typedef may not be a function definition" + msgstr "" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, gcc-internal-format + msgid "typedef may not be a member function definition" + msgstr "" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, gcc-internal-format + msgid "% not allowed in alias declaration" + msgstr "" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, gcc-internal-format + msgid "typedef declared %" + msgstr "" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, gcc-internal-format + msgid "typedef name may not be a nested-name-specifier" + msgstr "" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, gcc-internal-format + msgid "requires-clause on declaration of non-function type %qT" + msgstr "" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, gcc-internal-format + msgid "cannot declare a parameter with %" + msgstr "" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, gcc-internal-format + msgid "% parameter not permitted in this context" + msgstr "" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, gcc-internal-format + msgid "parameter declared %" + msgstr "" + +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, gcc-internal-format + msgid "non-static data member declared with placeholder %qT" + msgstr "" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, gcc-internal-format + msgid "ISO C++ forbids flexible array member %qs" + msgstr "" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, gcc-internal-format + msgid "ISO C++ forbids flexible array members" + msgstr "" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, gcc-internal-format + msgid "invalid use of %<::%>" + msgstr "" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, gcc-internal-format + msgid "declaration of function %qD in invalid context" + msgstr "" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, gcc-internal-format + msgid "function %qD declared % inside a union" + msgstr "" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, gcc-internal-format + msgid "%qD cannot be declared %, since it is always static" + msgstr "" + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, gcc-internal-format + msgid "declaration of %qD as member of %qT" + msgstr "" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, gcc-internal-format + msgid "a destructor cannot be %qs" + msgstr "" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, gcc-internal-format + msgid "a constructor cannot be %" + msgstr "" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, gcc-internal-format + msgid "a concept cannot be a member function" + msgstr "" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, gcc-internal-format + msgid "%qD cannot be %qs" + msgstr "%qD ne može bit %qs" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, gcc-internal-format + msgid "specialization of variable template %qD declared as function" + msgstr "" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, gcc-internal-format + msgid "variable template declared here" + msgstr "" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, gcc-internal-format + msgid "field %qD has incomplete type %qT" + msgstr "" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, gcc-internal-format + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, gcc-internal-format + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "" + +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, gcc-internal-format + msgid "static data member %qE declared %qs" + msgstr "" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, gcc-internal-format + msgid "% static data member %qD must have an initializer" + msgstr "" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, gcc-internal-format + msgid "non-static data member %qE declared %qs" + msgstr "" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, gcc-internal-format + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, gcc-internal-format + msgid "%qs declared in a non-class scope" + msgstr "" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, gcc-internal-format + msgid "declaration of % variable %qD is not a definition" + msgstr "" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, gcc-internal-format + msgid "a variable cannot be declared %" + msgstr "" + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, gcc-internal-format + msgid "default argument %qE uses %qD" + msgstr "" + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "" + +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, gcc-internal-format + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "" + +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, gcc-internal-format + msgid "invalid use of type % in parameter declaration" + msgstr "" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, gcc-internal-format + msgid "%-qualified parameter is deprecated" + msgstr "" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "" + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, gcc-internal-format + msgid "%qD must be a non-static member function" + msgstr "" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, gcc-internal-format + msgid "%qD must be a member function" + msgstr "%qD mora biti član funkcije" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, gcc-internal-format + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, gcc-internal-format + msgid "ISO C++ prohibits overloading %" + msgstr "" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, gcc-internal-format + msgid "%qD must have either zero or one argument" + msgstr "" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, gcc-internal-format + msgid "%qD must have either one or two arguments" + msgstr "" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, gcc-internal-format + msgid "postfix %qD must have % as its argument" + msgstr "" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, gcc-internal-format + msgid "postfix %qD must have % as its second argument" + msgstr "" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, gcc-internal-format + msgid "%qD must have no arguments" + msgstr "" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, gcc-internal-format + msgid "%qD must have exactly one argument" + msgstr "" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, gcc-internal-format + msgid "%qD must have exactly two arguments" + msgstr "" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "" + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, gcc-internal-format + msgid "converting %qT to % will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, gcc-internal-format + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, gcc-internal-format + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, gcc-internal-format + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, gcc-internal-format + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "" + +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "" + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "" + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "" + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, gcc-internal-format + msgid "%qD has a previous declaration here" + msgstr "" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, gcc-internal-format + msgid "%qT has a previous declaration here" + msgstr "" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "" +@@ -54910,110 +54900,110 @@ msgstr "" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "" + +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, gcc-internal-format + msgid "class template %qD redeclared as non-template" + msgstr "" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, gcc-internal-format + msgid "%qT is not a template" + msgstr "" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, gcc-internal-format + msgid "cannot declare %qD in a different module" + msgstr "" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, gcc-internal-format + msgid "%qT defined with direct virtual base" + msgstr "" + +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, gcc-internal-format + msgid "previous definition here" + msgstr "" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, gcc-internal-format + msgid "cannot define %qD in different module" + msgstr "" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, gcc-internal-format + msgid "underlying type %qT of %qT must be an integral type" + msgstr "" +@@ -55022,82 +55012,82 @@ msgstr "" + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, gcc-internal-format + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, gcc-internal-format + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, gcc-internal-format + msgid "no return statements in function returning %qT" + msgstr "" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, gcc-internal-format + msgid "only plain % return type can be deduced to %" + msgstr "" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, gcc-internal-format + msgid "no return statement in % function returning non-void" + msgstr "" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "" + +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, gcc-internal-format + msgid "using %qs" + msgstr "koristimo %qs" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "" +@@ -55946,7 +55936,7 @@ msgstr "" + msgid "type %qT is not a direct base of %qT" + msgstr "" + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "" +@@ -56996,7 +56986,7 @@ msgstr "" + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, gcc-internal-format + msgid "%qT is not a class, namespace, or enumeration" + msgstr "" +@@ -57741,7 +57731,7 @@ msgstr "" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_launder%>" + msgstr "" +@@ -58450,12 +58440,12 @@ msgstr "" + msgid "cannot expand initializer for member %qD" + msgstr "" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "" +@@ -59053,7 +59043,7 @@ msgstr "" + msgid "%qT not permitted in template argument" + msgstr "" + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, gcc-internal-format + msgid "invalid use of %qT" +@@ -59913,7 +59903,7 @@ msgstr "" + msgid "% clause with parameter on range-based % loop" + msgstr "" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, gcc-internal-format + msgid "iteration variable %qD should not be reduction" + msgstr "" +@@ -60530,7 +60520,7 @@ msgstr "" + #: cp/pt.cc:6160 + #, gcc-internal-format + msgid "redeclaration of %qD with different constraints" +-msgstr "ponovna deklaracija %qD s drukčijim ograničenjima" ++msgstr "ponovna deklaracija %qD s drugačijim ograničenjima" + + #: cp/pt.cc:6307 + #, gcc-internal-format +@@ -60571,7 +60561,7 @@ msgstr "" + #: cp/pt.cc:6373 + #, gcc-internal-format + msgid "redeclared here" +-msgstr "ponovno deklarirano ovdje" ++msgstr "ponovn deklarirano ovdje" + + #: cp/pt.cc:6384 + #, gcc-internal-format +@@ -60923,7 +60913,7 @@ msgstr "" + msgid "for template declaration %q+D" + msgstr "" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, gcc-internal-format + msgid "template constraint failure for %qD" + msgstr "" +@@ -61016,276 +61006,276 @@ msgstr "funkcija vraća polje" + msgid "function returning a function" + msgstr "funkcija vraća funkciju" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, gcc-internal-format + msgid "forming reference to void" + msgstr "" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, gcc-internal-format + msgid "forming pointer to reference type %qT" + msgstr "" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, gcc-internal-format + msgid "forming reference to reference type %qT" + msgstr "" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, gcc-internal-format + msgid "forming pointer to qualified function type %qT" + msgstr "" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, gcc-internal-format + msgid "forming reference to qualified function type %qT" + msgstr "" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr "" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr "" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr "" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, gcc-internal-format + msgid "creating array of %qT" + msgstr "" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not a class type" + msgstr "" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, gcc-internal-format + msgid "use of %qs in template" + msgstr "" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, gcc-internal-format + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, gcc-internal-format + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, gcc-internal-format + msgid "using invalid field %qD" + msgstr "" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, gcc-internal-format + msgid "invalid use of pack expansion expression" + msgstr "" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, gcc-internal-format + msgid "use %<...%> to expand argument pack" + msgstr "" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, gcc-internal-format + msgid "empty initializer in lambda init-capture" + msgstr "" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, gcc-internal-format + msgid "use %<%T::%D%> instead" + msgstr "" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, gcc-internal-format + msgid "%qD declared here, later in the translation unit" + msgstr "" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, gcc-internal-format + msgid "wrong number of arguments to % attribute" + msgstr "" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, gcc-internal-format + msgid "%qT is/uses unnamed type" + msgstr "" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, gcc-internal-format + msgid "template argument for %qD uses local type %qT" + msgstr "" + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr "" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, gcc-internal-format + msgid "ambiguous template instantiation for %q#T" + msgstr "" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, gcc-internal-format + msgid "ambiguous template instantiation for %q#D" + msgstr "" + +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + msgid "%s %#qS" + msgstr "" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, gcc-internal-format + msgid "explicit instantiation of variable concept %q#D" + msgstr "" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, gcc-internal-format + msgid "explicit instantiation of function concept %q#D" + msgstr "" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, gcc-internal-format + msgid "%qD is not a static data member of a class template" + msgstr "" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, gcc-internal-format + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, gcc-internal-format + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, gcc-internal-format + msgid "explicit instantiation of non-class template %qD" + msgstr "" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, gcc-internal-format + msgid "exception specification of %qD depends on itself" + msgstr "" +@@ -61297,163 +61287,163 @@ msgstr "" + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, gcc-internal-format + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, gcc-internal-format + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, gcc-internal-format + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "" + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, gcc-internal-format + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, gcc-internal-format + msgid "invalid template non-type parameter" + msgstr "" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, gcc-internal-format + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "" + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, gcc-internal-format + msgid "keyword % not allowed in declarator-id" + msgstr "" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, gcc-internal-format + msgid "a concept cannot be constrained" + msgstr "" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, gcc-internal-format + msgid "concept %qE not in namespace scope" + msgstr "" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, gcc-internal-format + msgid "concept %qE has multiple template parameter lists" + msgstr "" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, gcc-internal-format + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "" + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, gcc-internal-format + msgid "non-deducible template %qT used without template arguments" + msgstr "" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, gcc-internal-format + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, gcc-internal-format + msgid "use %qD directly instead" + msgstr "" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, gcc-internal-format + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "" + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, gcc-internal-format + msgid "class template argument deduction failed:" + msgstr "" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, gcc-internal-format + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, gcc-internal-format + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr "" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, gcc-internal-format + msgid "explicit deduction guide declared here" + msgstr "" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, gcc-internal-format + msgid "%qT may not intend to support class template argument deduction" + msgstr "" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, gcc-internal-format + msgid "unable to deduce lambda return type from %qE" + msgstr "" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, gcc-internal-format + msgid "unable to deduce %qT from %qE" + msgstr "" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "ograničenja rezerviranog mjesta nisu zadovoljena" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, gcc-internal-format + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "izvedeni povratni tip ne zadovoljava ograničenja rezerviranog mjesta" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, gcc-internal-format + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "izvedeni povratni tip ne zadovoljava ograničenja rezerviranog mjesta" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, gcc-internal-format + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "izvedeni povratni tip ne zadovoljava ograničenja rezerviranog mjesta" + +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, gcc-internal-format + msgid "invalid use of %qT in template argument" + msgstr "" +@@ -61764,7 +61754,7 @@ msgstr "" + msgid "cannot capture member %qD of anonymous union" + msgstr "" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, gcc-internal-format + msgid "%qD is not captured" + msgstr "" +@@ -62172,27 +62162,27 @@ msgstr "" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, gcc-internal-format + msgid "%qD is not a class or alias template" + msgstr "" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, gcc-internal-format + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "" + +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, gcc-internal-format + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, gcc-internal-format + msgid "non-pointer argument to %<__builtin_launder%>" + msgstr "" +@@ -62200,22 +62190,22 @@ msgstr "" + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "" +@@ -63447,220 +63437,220 @@ msgstr "" + msgid "declaration of %q#T" + msgstr "" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, gcc-internal-format + msgid "%qD has incomplete type" + msgstr "" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, gcc-internal-format + msgid "invalid use of incomplete type %q#T" + msgstr "" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, gcc-internal-format + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, gcc-internal-format + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, gcc-internal-format + msgid "invalid use of placeholder %qT" + msgstr "" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, gcc-internal-format + msgid "invalid use of template type parameter %qT" + msgstr "" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, gcc-internal-format + msgid "invalid use of template template parameter %qT" + msgstr "" + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, gcc-internal-format + msgid "invalid use of pack expansion %qT" + msgstr "" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, gcc-internal-format + msgid "invalid use of dependent type %qT" + msgstr "" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, gcc-internal-format + msgid "invalid use of brace-enclosed initializer list" + msgstr "" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, gcc-internal-format + msgid "% variable %qD does not have a constant initializer" + msgstr "" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "" + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, gcc-internal-format + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr "" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, gcc-internal-format + msgid "initializer-string for %qT is too long" + msgstr "" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, gcc-internal-format + msgid "remove %<{ }%> around initializer" + msgstr "" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, gcc-internal-format + msgid "member %qD with uninitialized reference fields" + msgstr "" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, gcc-internal-format + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, gcc-internal-format + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr "" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, gcc-internal-format + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, gcc-internal-format + msgid "functional cast to array type %qT" + msgstr "" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, gcc-internal-format + msgid "% cannot be constrained" + msgstr "" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, gcc-internal-format + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, gcc-internal-format + msgid "invalid value-initialization of reference type" + msgstr "" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "" +@@ -64596,7 +64586,7 @@ msgstr "" + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid use of BOZ literal constant at %L" + msgstr "" +@@ -65689,12 +65679,12 @@ msgstr "" + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "" +@@ -65875,7 +65865,7 @@ msgstr "" + msgid "deferred type parameter at %C" + msgstr "" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "" +@@ -67886,7 +67876,7 @@ msgstr "" + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, gcc-internal-format + msgid "Function %qs in initialization expression at %L must be an intrinsic function" + msgstr "" +@@ -68157,7 +68147,7 @@ msgstr "" + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, gcc-internal-format + msgid "Explicit interface required for %qs at %L: %s" + msgstr "" +@@ -68275,7 +68265,7 @@ msgstr "" + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must not be ALLOCATABLE" + msgstr "" +@@ -68285,7 +68275,7 @@ msgstr "" + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must have the SAVE attribute" + msgstr "" +@@ -68416,7 +68406,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, gcc-internal-format, gfc-internal-format + msgid "Creating array temporary at %L" +@@ -68632,12 +68622,12 @@ msgstr "" + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "" +@@ -68747,562 +68737,562 @@ msgstr "" + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid procedure argument at %L" + msgstr "" + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, gcc-internal-format + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, gcc-internal-format + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, gcc-internal-format, gfc-internal-format + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "" + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, gcc-internal-format + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr "" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, gcc-internal-format + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, gcc-internal-format + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, gcc-internal-format + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, gcc-internal-format, gfc-internal-format + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, gcc-internal-format + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, gcc-internal-format + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, gcc-internal-format + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, gcc-internal-format, gfc-internal-format + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, gcc-internal-format + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, gcc-internal-format + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, gcc-internal-format, gfc-internal-format + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, gcc-internal-format + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, gcc-internal-format + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, gcc-internal-format + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, gcc-internal-format + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, gcc-internal-format + msgid "Expected a procedure for argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, gcc-internal-format + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, gcc-internal-format + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, gcc-internal-format + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, gcc-internal-format + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, gcc-internal-format + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, gcc-internal-format + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, gcc-internal-format + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, gcc-internal-format + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, gcc-internal-format + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, gcc-internal-format + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, gcc-internal-format + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, gcc-internal-format + msgid "Missing actual argument for argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr "" + +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, gcc-internal-format + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "Isti stvarni argument pridružen s INTENT(%s) argumentom %qs i INTENT(%s) argumentom %qs na %L" + +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, gcc-internal-format + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, gcc-internal-format + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, gcc-internal-format + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, gcc-internal-format + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, gcc-internal-format + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, gcc-internal-format, gfc-internal-format + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, gcc-internal-format + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, gcc-internal-format + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD argument to NULL required at %L" + msgstr "" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, gcc-internal-format, gfc-internal-format + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, gcc-internal-format + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "" + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, gcc-internal-format + msgid "Unable to find symbol %qs" + msgstr "" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, gcc-internal-format + msgid "Entity %qs at %L is already present in the interface" + msgstr "" + +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, gcc-internal-format + msgid "gfc_add_interface(): Bad interface type" + msgstr "" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, gcc-internal-format + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, gcc-internal-format + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, gcc-internal-format + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, gcc-internal-format + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, gcc-internal-format + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, gcc-internal-format + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, gcc-internal-format + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, gcc-internal-format + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, gcc-internal-format + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, gcc-internal-format + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, gcc-internal-format + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, gcc-internal-format + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, gcc-internal-format + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, gcc-internal-format + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, gcc-internal-format + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO character argument at %L must have assumed length" + msgstr "" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, gcc-internal-format + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, gcc-internal-format + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, gcc-internal-format + msgid "Too many dummy arguments in DTIO procedure %qs at %L" + msgstr "" +@@ -69486,7 +69476,7 @@ msgstr "" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, gcc-internal-format, gfc-internal-format + msgid "Cannot convert %s to %s at %L" + msgstr "" +@@ -70037,7 +70027,7 @@ msgstr "" + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, gcc-internal-format + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" + msgstr "" +@@ -70604,7 +70594,7 @@ msgstr "" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "" + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, gcc-internal-format, gfc-internal-format + msgid "QUIET specifier at %L must be a scalar LOGICAL" + msgstr "" +@@ -72114,7 +72104,7 @@ msgstr "" + #: fortran/openmp.cc:5690 + #, gcc-internal-format + msgid "expected %<(%> at %C" +-msgstr "očekivano je %<(%> kod %C" ++msgstr "Očekivano je %<(%> kod %C" + + #: fortran/openmp.cc:5388 + #, gcc-internal-format, gfc-internal-format +@@ -72130,7 +72120,7 @@ msgstr "" + #: fortran/openmp.cc:5699 + #, gcc-internal-format + msgid "expected %<)%> at %C" +-msgstr "očekivano je %<)%> kod %C" ++msgstr "Očekivano je %<)%> kod %C" + + #: fortran/openmp.cc:5408 + #, gcc-internal-format, gfc-internal-format +@@ -72457,8 +72447,8 @@ msgstr "" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "" +@@ -74423,718 +74413,708 @@ msgstr "" + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:881 +-#, gcc-internal-format, gfc-internal-format +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "" +- +-#: fortran/resolve.cc:885 +-#, gcc-internal-format, gfc-internal-format +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, gcc-internal-format, gfc-internal-format + msgid "COMMON block at %L" + msgstr "" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, gcc-internal-format + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, gcc-internal-format + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, gcc-internal-format + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, gcc-internal-format + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, gcc-internal-format + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, gcc-internal-format + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, gcc-internal-format + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, gcc-internal-format + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a function result" + msgstr "" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, gcc-internal-format, gfc-internal-format + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, gcc-internal-format + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, gcc-internal-format + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, gcc-internal-format + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, gcc-internal-format + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, gcc-internal-format + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, gcc-internal-format + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, gcc-internal-format + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, gcc-internal-format + msgid "%qs at %L is ambiguous" + msgstr "" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, gcc-internal-format + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, gcc-internal-format + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, gcc-internal-format + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, gcc-internal-format + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "" + +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, gcc-internal-format + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "" + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, gcc-internal-format + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, gcc-internal-format + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, gcc-internal-format + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, gcc-internal-format + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, gcc-internal-format + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, gcc-internal-format + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, gcc-internal-format + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, gcc-internal-format + msgid "Symbol %qs at %L is ambiguous" + msgstr "" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not of numeric type" + msgstr "" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not allowed in this context" + msgstr "" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, gcc-internal-format + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, gcc-internal-format + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, gcc-internal-format + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, gcc-internal-format + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, gcc-internal-format + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, gcc-internal-format + msgid "There is no specific function for the generic %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, gcc-internal-format + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "" + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, gcc-internal-format + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, gcc-internal-format + msgid "Unable to resolve the specific function %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "" + +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, gcc-internal-format + msgid "Unexpected junk after %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, gcc-internal-format + msgid "%qs at %L is not a function" + msgstr "" + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, gcc-internal-format + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, gcc-internal-format + msgid "resolve_function(): bad function type" + msgstr "" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, gcc-internal-format + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, gcc-internal-format + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, gcc-internal-format + msgid "Using function %qs at %L is deprecated" + msgstr "" + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, gcc-internal-format + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, gcc-internal-format + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, gcc-internal-format + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, gcc-internal-format + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, gcc-internal-format + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, gcc-internal-format + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, gcc-internal-format + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, gcc-internal-format + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, gcc-internal-format + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, gcc-internal-format + msgid "resolve_subroutine(): bad function type" + msgstr "" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, gcc-internal-format + msgid "Using subroutine %qs at %L is deprecated" + msgstr "" + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, gcc-internal-format, gfc-internal-format + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "" + +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, gcc-internal-format + msgid "Impure function %qs at %L might not be evaluated" + msgstr "" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, gcc-internal-format, gfc-internal-format + msgid "Impure function at %L might not be evaluated" + msgstr "" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, gcc-internal-format + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, gcc-internal-format, gfc-internal-format + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" + msgstr "" + +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, gcc-internal-format, gfc-internal-format + msgid "Equality comparison for %s at %L" + msgstr "" + +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, gcc-internal-format, gfc-internal-format + msgid "Inequality comparison for %s at %L" + msgstr "" + +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, gcc-internal-format + msgid "check_dimension(): Bad array reference" + msgstr "" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "" + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, gcc-internal-format, gfc-internal-format + msgid "REAL array index at %L" + msgstr "" + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid array reference of a non-array entity at %L" + msgstr "" + +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "" + +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "" + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L is too large" + msgstr "" + +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, gcc-internal-format + msgid "resolve_ref(): Bad array reference" + msgstr "" + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "" + +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may only be used as actual argument" + msgstr "" +@@ -75143,12 +75123,12 @@ msgstr "" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L may only be used as actual argument" + msgstr "" +@@ -75157,293 +75137,293 @@ msgstr "" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, gcc-internal-format + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, gcc-internal-format + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "" + +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, gcc-internal-format + msgid "Using variable %qs at %L is deprecated" + msgstr "" + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, gcc-internal-format + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, gcc-internal-format, gfc-internal-format + msgid "Error in typebound call at %L" + msgstr "" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, gcc-internal-format, gfc-internal-format + msgid "Passed-object at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, gcc-internal-format + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, gcc-internal-format, gfc-internal-format + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, gcc-internal-format + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, gcc-internal-format + msgid "%qs at %L should be a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, gcc-internal-format + msgid "%qs at %L should be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, gcc-internal-format + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be integer" + msgstr "" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, gcc-internal-format + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, gcc-internal-format, gfc-internal-format + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, gcc-internal-format, gfc-internal-format + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, gcc-internal-format + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "%qs se ne smije pojaviti u specifikaciji polja pri %L u istoj ALLOCATE izjavi gdje je i sam dodijeljen" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, gcc-internal-format + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "" + +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "" +@@ -75452,284 +75432,284 @@ msgstr "" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "" + +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "" + +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "" + +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, gcc-internal-format, gfc-internal-format + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, gcc-internal-format + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure name" + msgstr "" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L cannot be NULL()" + msgstr "" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L has no type" + msgstr "" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, gcc-internal-format, gfc-internal-format + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L must not be coindexed" + msgstr "" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, gcc-internal-format, gfc-internal-format + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, gcc-internal-format + msgid "Derived type %qs at %L must be extensible" + msgstr "" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, gcc-internal-format + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, gcc-internal-format + msgid "Unexpected intrinsic type %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, gcc-internal-format, gfc-internal-format + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO %s procedure at %L must be recursive" + msgstr "" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, gcc-internal-format, gfc-internal-format + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, gcc-internal-format, gfc-internal-format + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, gcc-internal-format, gfc-internal-format + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, gcc-internal-format, gfc-internal-format + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, gcc-internal-format, gfc-internal-format + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, gcc-internal-format, gfc-internal-format + msgid "Branch at %L may result in an infinite loop" + msgstr "" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "" +@@ -75737,207 +75717,207 @@ msgstr "" + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, gcc-internal-format + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL construct at %L" + msgstr "" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "" + +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, gcc-internal-format, gfc-internal-format + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "" + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, gcc-internal-format + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "" + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer procedure assignment at %L" + msgstr "" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, gcc-internal-format, gfc-internal-format + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "" + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, gcc-internal-format + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, gcc-internal-format, gfc-internal-format + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, gcc-internal-format + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, gcc-internal-format, gfc-internal-format + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid NULL at %L" + msgstr "" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, gcc-internal-format, gfc-internal-format + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "" + +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, gcc-internal-format + msgid "gfc_resolve_code(): Bad statement code" + msgstr "" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, gcc-internal-format + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, gcc-internal-format + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, gcc-internal-format + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" + msgstr "" +@@ -75945,984 +75925,984 @@ msgstr "" + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, gcc-internal-format + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, gcc-internal-format, gfc-internal-format + msgid "String length at %L is too large" + msgstr "" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, gcc-internal-format + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, gcc-internal-format + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, gcc-internal-format + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, gcc-internal-format + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, gcc-internal-format + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, gcc-internal-format + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, gcc-internal-format + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" + msgstr "" + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, gcc-internal-format + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, gcc-internal-format + msgid "%qs at %L must have constant character length in this context" + msgstr "" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, gcc-internal-format + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, gcc-internal-format + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, gcc-internal-format + msgid "External %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, gcc-internal-format + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, gcc-internal-format + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, gcc-internal-format + msgid "Function result %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, gcc-internal-format + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L" + msgstr "" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, gcc-internal-format + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, gcc-internal-format + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, gcc-internal-format + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, gcc-internal-format + msgid "Function %qs at %L cannot have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, gcc-internal-format + msgid "External object %qs at %L may not have an initializer" + msgstr "" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, gcc-internal-format + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, gcc-internal-format + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "" + +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "" + +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, gcc-internal-format + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, gcc-internal-format + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, gcc-internal-format + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, gcc-internal-format + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, gcc-internal-format + msgid "Interface of %qs at %L must be explicit" + msgstr "" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, gcc-internal-format + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, gcc-internal-format + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, gcc-internal-format, gfc-internal-format + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, gcc-internal-format + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, gcc-internal-format + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, gcc-internal-format + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, gcc-internal-format + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, gcc-internal-format + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, gcc-internal-format + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, gcc-internal-format + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, gcc-internal-format, gfc-internal-format + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, gcc-internal-format + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, gcc-internal-format + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, gcc-internal-format + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, gcc-internal-format + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, gcc-internal-format + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, gcc-internal-format + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, gcc-internal-format + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, gcc-internal-format + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, gcc-internal-format + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, gcc-internal-format + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, gcc-internal-format + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, gcc-internal-format + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "" + +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, gcc-internal-format + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, gcc-internal-format + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, gcc-internal-format + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, gcc-internal-format, gfc-internal-format + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, gcc-internal-format, gfc-internal-format + msgid "Conflicting initializers in union at %L and %L" + msgstr "" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, gcc-internal-format + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, gcc-internal-format + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, gcc-internal-format + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, gcc-internal-format + msgid "Derived type %qs at %L has not been declared" + msgstr "" + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, gcc-internal-format + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "" + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, gcc-internal-format + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, gcc-internal-format + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, gcc-internal-format + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, gcc-internal-format + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, gcc-internal-format + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, gcc-internal-format + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, gcc-internal-format + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, gcc-internal-format + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, gcc-internal-format + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, gcc-internal-format + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, gcc-internal-format, gfc-internal-format + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, gcc-internal-format, gfc-internal-format + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, gcc-internal-format + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, gcc-internal-format, gfc-internal-format + msgid "Bad specification for assumed size array at %L" + msgstr "" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, gcc-internal-format + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, gcc-internal-format + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, gcc-internal-format + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, gcc-internal-format + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "" + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, gcc-internal-format + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, gcc-internal-format + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "" + +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, gcc-internal-format + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, gcc-internal-format + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, gcc-internal-format + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, gcc-internal-format + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, gcc-internal-format + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, gcc-internal-format + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, gcc-internal-format + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, gcc-internal-format + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, gcc-internal-format + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, gcc-internal-format + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, gcc-internal-format + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, gcc-internal-format + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, gcc-internal-format + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "" + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, gcc-internal-format, gfc-internal-format + msgid "Expecting definable entity near %L" + msgstr "" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, gcc-internal-format + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, gcc-internal-format + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L shall not be zero" + msgstr "" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but not used" + msgstr "" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but cannot be used" + msgstr "" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, gcc-internal-format + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, gcc-internal-format + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, gcc-internal-format + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, gcc-internal-format + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, gcc-internal-format + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, gcc-internal-format + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, gcc-internal-format + msgid "Self reference in character length expression for %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, gcc-internal-format + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, gcc-internal-format + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, gcc-internal-format + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, gcc-internal-format + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" + msgstr "" +@@ -77814,7 +77794,7 @@ msgstr "" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "" +@@ -77826,12 +77806,12 @@ msgstr "" + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, gcc-internal-format + msgid "Creating array temporary at %L for argument %qs" + msgstr "" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "" +@@ -77923,86 +77903,81 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "" + + #: fortran/trans-decl.cc:1795 +-#, gcc-internal-format, gfc-internal-format +-msgid "%s at %C has no default type" +-msgstr "%s pri %C nema zadani tip (vrstu)" +- +-#: fortran/trans-decl.cc:1798 + #, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, gcc-internal-format + msgid "Return value of function %qs at %L not set" + msgstr "" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, gcc-internal-format + msgid "Deferred type parameter not yet supported" + msgstr "" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, gcc-internal-format + msgid "backend decl for module variable %qs already exists" + msgstr "" + +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, gcc-internal-format + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, gcc-internal-format + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, gcc-internal-format + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, gcc-internal-format + msgid "Unused dummy argument %qs at %L" + msgstr "" + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, gcc-internal-format + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "" + +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, gcc-internal-format + msgid "Unused variable %qs declared at %L" + msgstr "" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, gcc-internal-format + msgid "Unused parameter %qs declared at %L" + msgstr "" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, gcc-internal-format + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, gcc-internal-format + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "" +@@ -78017,27 +77992,27 @@ msgstr "" + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, gcc-internal-format + msgid "Unknown intrinsic op" + msgstr "" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, gcc-internal-format, gfc-internal-format + msgid "Unknown argument list function at %L" + msgstr "" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "" +@@ -78497,7 +78472,7 @@ msgstr "nekoliko prevladavajućih definicija za %qE" + #: lto/lto-symtab.cc:492 + #, gcc-internal-format + msgid "%qD has already been defined" +-msgstr "%qD već je bio definiran" ++msgstr "%qD bio je već definiran " + + #: lto/lto-symtab.cc:494 + #, gcc-internal-format +@@ -78532,7 +78507,7 @@ msgstr "%qD je već ranije ovdje deklariran" + #: lto/lto-symtab.cc:760 + #, gcc-internal-format + msgid "code may be misoptimized unless %<-fno-strict-aliasing%> is used" +-msgstr "kôd može biti pogrešno optimiziran osim ako se ne koristi %<-fno-strict-aliasing%>" ++msgstr "Kôd može biti pogrešno optimiziran osim ako se ne koristi %<-fno-strict-aliasing%>" + + #: lto/lto-symtab.cc:846 + #, gcc-internal-format +@@ -79835,9 +79810,6 @@ msgstr "" + msgid "unused name %qE" + msgstr "" + +-#~ msgid "invalid operand size for operand code 'Z'" +-#~ msgstr "nevaljana veličina operanda za operand kȏd ‘Z’" +- + #~ msgid "-gz=zlib is not supported in this configuration" + #~ msgstr "-gz=zlib nije podržan u ovoj konfiguraciji" + +diff --git a/gcc/po/id.po b/gcc/po/id.po +index 4245b14f210..9068b6b3396 100644 +--- a/gcc/po/id.po ++++ b/gcc/po/id.po +@@ -7,7 +7,7 @@ msgid "" + msgstr "" + "Project-Id-Version: gcc 4.4.1\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" + "PO-Revision-Date: 2009-11-10 09:00+0700\n" + "Last-Translator: Arif E. Nugroho \n" + "Language-Team: Indonesian \n" +@@ -4484,7 +4484,7 @@ msgstr "" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "" + + #: m2/lang.opt:127 +@@ -8513,12 +8513,6 @@ msgstr "" + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "" + +-#: config/i386/i386.opt:1280 +-#, fuzzy, no-c-format +-#| msgid "Support AES built-in functions and code generation" +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "Dukung fungsi dalam dan pembuatan kode AES" +- + #: config/pa/pa64-hpux.opt:23 + #, fuzzy, no-c-format + #| msgid "Assume code will be linked by GNU ld" +@@ -19224,12 +19218,12 @@ msgstr "'%%l' operan bukan sebuah label" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "konstanta pecahan disalah gunakan" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +@@ -20438,65 +20432,65 @@ msgstr "Switch ini kurang dokumentasi" + msgid "Uses of this option are diagnosed." + msgstr "" + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "" + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, c-format + msgid "Same as %s%s." + msgstr "" + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, c-format + msgid "Same as %s." + msgstr "" + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, fuzzy, c-format + #| msgid "(%s %s %s %s %s" + msgid "%s Same as %s." + msgstr "(%s %s %s %s %s" + +-#: opts.cc:1733 ++#: opts.cc:1732 + msgid "[available in " + msgstr "" + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, c-format + msgid "%llu bytes" + msgstr "" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "[aktif]" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "[non-aktif]" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr " Tidak ada pilihan dengan karakteristik yang diinginkan ditemukan\n" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, fuzzy, c-format + #| msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end\n" + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr " Tidak ditemukan apapun. Gunakan --help=%s untuk menunjukan *seluruh* pilihan yang didukung oleh %s front-end\n" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr " Seluruh pilihan dengan karakteristik yang diinginkan telah ditampilkan\n" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, fuzzy, c-format + #| msgid "no arguments for spec function" + msgid "" +@@ -20504,49 +20498,49 @@ msgid "" + " " + msgstr "tidak ada argumen untuk spesifikasi fungsi" + +-#: opts.cc:1959 ++#: opts.cc:1958 + msgid "The following options are target specific" + msgstr "Pilihan berikut adalah target spesifik" + +-#: opts.cc:1962 ++#: opts.cc:1961 + msgid "The following options control compiler warning messages" + msgstr "Pilihan berikut mengontrol pesan peringatan kompiler" + +-#: opts.cc:1965 ++#: opts.cc:1964 + msgid "The following options control optimizations" + msgstr "Pilihan berikut mengontrol optimisasi" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + msgid "The following options are language-independent" + msgstr "Pilihan berikut adalah independen terhadap bahasa pemrograman" + +-#: opts.cc:1971 ++#: opts.cc:1970 + #, fuzzy + #| msgid "The following options control optimizations" + msgid "The following options control parameters" + msgstr "Pilihan berikut mengontrol optimisasi" + +-#: opts.cc:1977 ++#: opts.cc:1976 + msgid "The following options are specific to just the language " + msgstr "Pilihan berikut hanya spesifik terhadap bahasa " + +-#: opts.cc:1979 ++#: opts.cc:1978 + msgid "The following options are supported by the language " + msgstr "Pilihan berikut tidak didukung oleh bahasa " + +-#: opts.cc:1990 ++#: opts.cc:1989 + msgid "The following options are not documented" + msgstr "Pilihan berikut tidak terdokumentasi" + +-#: opts.cc:1992 ++#: opts.cc:1991 + msgid "The following options take separate arguments" + msgstr "Pilihan berikut mengambil argumen terpisah" + +-#: opts.cc:1994 ++#: opts.cc:1993 + msgid "The following options take joined arguments" + msgstr "Pilihan berikut mengambil argumen tergabung" + +-#: opts.cc:2006 ++#: opts.cc:2005 + msgid "The following options are language-related" + msgstr "Pilihan berikut adalah berhubungan dengan bahasa" + +@@ -20943,82 +20937,82 @@ msgstr "pemodifikasi panjang dalam format strfmon" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "unsupported operand for code '%c'" + msgstr "operan tidak valid untuk kode '%c'" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "invalid operand for '%%%c'" + msgstr "operan tidak valid untuk kode '%c'" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, fuzzy, c-format + #| msgid "invalid punctuation %qc in constraint" + msgid "invalid vector constant" + msgstr "punctuation %qc tidak valid dalam batasan" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "incompatible register operand for '%%%c'" + msgstr "operan tidak valid untuk kode '%c'" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, c-format + msgid "missing operand" + msgstr "hilang operan" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, fuzzy, c-format + #| msgid "invalid insn:" + msgid "invalid constant" + msgstr "insn tidak valid:" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, fuzzy, c-format + #| msgid "invalid %%d operand" + msgid "invalid operand" + msgstr "operan %%d tidak valid" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, fuzzy, c-format + #| msgid "invalid operand code '%c'" + msgid "invalid operand prefix '%%%c'" + msgstr "kode operan '%c' tidak valid" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, fuzzy, c-format + #| msgid "invalid address" + msgid "invalid address mode" + msgstr "alamat tidak valid" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + #, fuzzy + #| msgid "invalid operands in binary operation" + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "operan tidak valid dalam operasi binary" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "" +@@ -21035,18 +21029,18 @@ msgid "invalid %%r value" + msgstr "nilai %%r tidak valid" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "nilai %%R tidak valid" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "nilai %%N tidak valid" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" + msgstr "nilai %%P tidak valid" +@@ -21076,7 +21070,7 @@ msgstr "nilai %%M tidak valid" + msgid "invalid %%U value" + msgstr "nilai %%U tidak valid" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" + msgstr "nilai %%s tidak valid" +@@ -21086,7 +21080,7 @@ msgstr "nilai %%s tidak valid" + msgid "invalid %%C value" + msgstr "nilai %%C tidak valid" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" + msgstr "nilai %%E tidak valid" +@@ -21099,7 +21093,7 @@ msgstr "relokasi unspek tidak diketahui" + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" + msgstr "kode %%xn tidak valid" +@@ -21189,36 +21183,36 @@ msgstr "UNSPEC tidak valid sebagai operan" + msgid "unrecognized supposed constant" + msgstr "konstanta yang diharapkan tidak dikenal" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, c-format + msgid "invalid shift operand" + msgstr "operan shift tidak valid" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, c-format + msgid "predicated Thumb instruction" + msgstr "instruksi Thumb terprediksi" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "instruksi terprediksi dalam urutan berkondisi" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "Unsupported operand for code '%c'" + msgstr "operan tidak valid untuk kode '%c'" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -21227,30 +21221,30 @@ msgstr "operan tidak valid untuk kode '%c'" + msgid "invalid operand for code '%c'" + msgstr "operan tidak valid untuk kode '%c'" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, c-format + msgid "instruction never executed" + msgstr "instruksi tidak pernah dijalankan" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %" + msgstr "konversi dari %<__fpreg%> tidak valid" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + #, fuzzy + #| msgid "invalid conversion to type %qT from type %qT" + msgid "invalid conversion to type %" + msgstr "konversi tidak valid ke tipe %qT dari tipe %qT" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "" + +@@ -21634,111 +21628,111 @@ msgstr "insn tidak valid:" + msgid "Expected register or constant integer." + msgstr "akumulator bukan sebuah konstanta integer" + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, c-format + msgid "invalid UNSPEC as operand" + msgstr "UNSPEC tidak valid sebagai operan" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, fuzzy, c-format + #| msgid "invalid use of %" + msgid "invalid use of register '%s'" + msgstr "penggunaan tidak valid dari %" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, fuzzy, c-format + #| msgid "invalid lvalue in asm output %d" + msgid "invalid use of asm flag output" + msgstr "lvalue tidak valid dalam keluaran asm %d" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "invalid operand size for operand code 'O'" + msgstr "operan tidak valid untuk kode '%c'" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "invalid operand size for operand code 'z'" + msgstr "operan tidak valid untuk kode '%c'" + +-#: config/i386/i386.cc:13290 ++#: config/i386/i386.cc:13283 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" +-msgid "invalid operand type used with operand code '%c'" ++msgid "invalid operand type used with operand code 'Z'" + msgstr "operan tidak valid untuk kode '%c'" + +-#: config/i386/i386.cc:13295 ++#: config/i386/i386.cc:13288 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" +-msgid "invalid operand size for operand code '%c'" ++msgid "invalid operand size for operand code 'Z'" + msgstr "operan tidak valid untuk kode '%c'" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, fuzzy, c-format + #| msgid "operand is not a condition code, invalid operand code 'D'" + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "operan bukan sebuah kode kondisi, kode operan 'D' tidak valid" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, c-format + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "operan bukan sebuah kode kondisi, kode operan 'D' tidak valid" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, fuzzy, c-format + #| msgid "operand is not a condition code, invalid operand code 'D'" + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "operan bukan sebuah kode kondisi, kode operan 'D' tidak valid" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, fuzzy, c-format + #| msgid "operand is not a condition code, invalid operand code 'D'" + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "operan bukan sebuah kode kondisi, kode operan 'D' tidak valid" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, fuzzy, c-format + #| msgid "operand is not a condition code, invalid operand code 'D'" + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "operan bukan sebuah kode kondisi, kode operan 'D' tidak valid" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, fuzzy, c-format + #| msgid "operand is not a condition code, invalid operand code 'D'" + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "operan bukan sebuah kode kondisi, kode operan 'D' tidak valid" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, fuzzy, c-format + #| msgid "operand is not a condition code, invalid operand code 'D'" + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "operan bukan sebuah kode kondisi, kode operan 'D' tidak valid" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, fuzzy, c-format + #| msgid "operand is not a condition code, invalid operand code 'D'" + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "operan bukan sebuah kode kondisi, kode operan 'D' tidak valid" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, c-format + msgid "invalid operand code '%c'" + msgstr "kode operan '%c' tidak valid" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, c-format + msgid "invalid constraints for operand" + msgstr "batasan untuk operan tidak valid" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, fuzzy, c-format + #| msgid "invalid controlling predicate" + msgid "invalid vector immediate" + msgstr "predikat pengontrol tidak valid" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + msgid "unknown insn mode" + msgstr "mode insn tidak diketahui" + +@@ -21770,7 +21764,7 @@ msgstr "operasi di %<__fpreg%> tidak valid" + msgid "invalid %%P operand" + msgstr "operan %%P tidak valid" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" + msgstr "nilai %%p tidak valid" +@@ -21819,8 +21813,8 @@ msgstr "'%%%c' bukan sebuah awalan operan yang valid" + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, c-format + msgid "invalid use of '%%%c'" + msgstr "penggunaan dari '%%%c' tidak valid" +@@ -21852,7 +21846,7 @@ msgid "post-increment address is not a register" + msgstr "alamat post-increment bukan sebuah register" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" + msgstr "alamat buruk" + +@@ -22026,7 +22020,7 @@ msgstr "kombinasi tidak didukung: %s" + msgid "unsupported memory expression:" + msgstr "diduga ekspresi integer" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, fuzzy, c-format + #| msgid "invalid %%c operand" + msgid "invalid vector operand" +@@ -22087,158 +22081,158 @@ msgstr "" + msgid "bad move" + msgstr "tes buruk" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" + msgstr "" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%A value" + msgstr "nilai %%H tidak valid" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" + msgstr "nilai %%D tidak valid" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%e value" + msgstr "nilai %%H tidak valid" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" + msgstr "nilai %%f tidak valid" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" + msgstr "nilai %%F tidak valid" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" + msgstr "nilai %%G tidak valid" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" + msgstr "kode %%j tidak valid" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" + msgstr "kode %%J tidak valid" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" + msgstr "nilai %%k tidak valid" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "nilai %%K tidak valid" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" + msgstr "nilai %%O tidak valid" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" + msgstr "nilai %%q tidak valid" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%t value" + msgstr "nilai %%H tidak valid" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" + msgstr "nilai %%T tidak valid" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" + msgstr "nilai %%u tidak valid" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "nilai %%v tidak valid" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%V value" + msgstr "nilai %%H tidak valid" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" + msgstr "nilai %%x tidak valid" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%z value" + msgstr "nilai %%H tidak valid" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "nilai %%ytidak valid, coba menggunakan batasan 'Z'" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "" + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + msgid "AltiVec argument passed to unprototyped function" + msgstr "Argumen AltiVec dilewatkan ke fungsi yang tidak berprototipe" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + #, fuzzy + #| msgid "Do not generate a single exit point for each function" + msgid "Could not generate addis value for fusion" + msgstr "Jangan hasilkan sebuah titik keluar tunggal untuk setiap fungsi" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + #, fuzzy + #| msgid "unable to generate reloads for:" + msgid "Unable to generate load/store offset for fusion" + msgstr "tidak dapat menghasilkan reloads untuk:" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "konversi dari %<__fpreg%> tidak valid" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + #, fuzzy + #| msgid "invalid conversion to %<__fpreg%>" + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "konversi ke %<__fpreg%> tidak valid" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "konversi dari %<__fpreg%> tidak valid" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + #, fuzzy + #| msgid "invalid conversion to %<__fpreg%>" + msgid "invalid conversion to type %<__vector_pair%>" +@@ -22746,7 +22740,7 @@ msgstr "kandidat 1:" + msgid " after user-defined conversion:" + msgstr "tipe %qs memiliki sebuah konstruktor yang didefinisikan pengguna" + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + #, fuzzy + #| msgid "candidate 1:" + msgid "candidate is:" +@@ -23293,7 +23287,7 @@ msgstr "" + msgid "Driving:" + msgstr "Driving:" + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + msgid "actual argument to INTENT = OUT/INOUT" + msgstr "" + +@@ -23457,11 +23451,11 @@ msgstr "blok IF" + msgid "implied END DO" + msgstr "Diimplikasikan END DO" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + msgid "assignment" + msgstr "assignment" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + msgid "pointer assignment" + msgstr "assignmen penunjuk" + +@@ -23469,249 +23463,249 @@ msgstr "assignmen penunjuk" + msgid "simple IF" + msgstr "IF sederhana" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + msgid "elemental procedure" + msgstr "prosedur elemental" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + #, fuzzy + #| msgid "invalid type argument" + msgid "allocatable argument" + msgstr "tipe argumen tidak valid" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + #, fuzzy + #| msgid "no arguments" + msgid "asynchronous argument" + msgstr "tidak ada argumen" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + #, fuzzy + #| msgid "no arguments" + msgid "optional argument" + msgstr "tidak ada argumen" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + #, fuzzy + #| msgid "pointer assignment" + msgid "pointer argument" + msgstr "assignmen penunjuk" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + #, fuzzy + #| msgid "no arguments" + msgid "target argument" + msgstr "tidak ada argumen" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + #, fuzzy + #| msgid "invalid type argument" + msgid "value argument" + msgstr "tipe argumen tidak valid" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + #, fuzzy + #| msgid "no arguments" + msgid "volatile argument" + msgstr "tidak ada argumen" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + #, fuzzy + #| msgid "mismatched arguments" + msgid "assumed-shape argument" + msgstr "argumen tidak cocok" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + #, fuzzy + #| msgid "mismatched arguments" + msgid "assumed-rank argument" + msgstr "argumen tidak cocok" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + #, fuzzy + #| msgid "array assignment" + msgid "coarray argument" + msgstr "penempatan array" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + #, fuzzy + #| msgid "invalid type argument" + msgid "parametrized derived type argument" + msgstr "tipe argumen tidak valid" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + #, fuzzy + #| msgid "no arguments" + msgid "polymorphic argument" + msgstr "tidak ada argumen" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + msgid "NO_ARG_CHECK attribute" + msgstr "" + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + #, fuzzy + #| msgid "invalid type argument" + msgid "assumed-type argument" + msgstr "tipe argumen tidak valid" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + msgid "array result" + msgstr "" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + msgid "pointer or allocatable result" + msgstr "" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + #, fuzzy + #| msgid "'%s' at %L must have constant character length in this context" + msgid "result with non-constant character length" + msgstr "'%s' di %L harus memiliki panjang karakter konstan dalam konteks ini" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + #, fuzzy + #| msgid "elemental procedure" + msgid "bind(c) procedure" + msgstr "prosedur elemental" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, c-format + msgid "Invalid context for NULL() pointer at %%L" + msgstr "Konteks tidak valid untuk penunjuk NULL() di %%L" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, fuzzy, c-format + #| msgid "Operand of unary numeric operator '%s' at %%L is %s" + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "Operan dari operator numerik unary '%s' di %%L adalah %s" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, fuzzy, c-format + #| msgid "Operands of binary numeric operator '%s' at %%L are %s/%s" + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "Operan dari operan binari numerik '%s' di %%L adalah %s/%s" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "Operan dari string operator konkatenasi di %%L adalah %s/%s" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, fuzzy, c-format + #| msgid "Operands of logical operator '%s' at %%L are %s/%s" + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "Operan dari operator logikal '%s' di %%L adalah %s/%s" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "Operan dari operator .not. di %%L adalah %s" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "kuantitas KOMPLEKS tidak dapat dibandingkan di %L" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "Logikal di %%L harus dibandingkan dengan %s daripada %s" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, fuzzy, c-format + #| msgid "Operands of comparison operator '%s' at %%L are %s/%s" + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "Operan dari operator perbandingan '%s' di %%L adalah %s/%s" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, fuzzy, c-format + #| msgid "Unknown operator '%s' at %%L" + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "Operator tidak dikenal '%s' di %%L" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, fuzzy, c-format + #| msgid "Unknown operator '%s' at %%L" + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "Operator tidak dikenal '%s' di %%L" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, fuzzy, c-format + #| msgid "Operand of user operator '%s' at %%L is %s" + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "Operan dari operator pengguna '%s' di %%L adalah %s" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, fuzzy, c-format + #| msgid "Operands of user operator '%s' at %%L are %s/%s" + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "Operan dari operator pengguna '%s' di %%L adalah %s/%s" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, c-format + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "Tingkat tidak konsisten untuk operator di %%L dan %%L" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + #, fuzzy + #| msgid "%qD is not a variable" + msgid "iterator variable" + msgstr "%qD bukan sebuah variabel" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + #, fuzzy + #| msgid "Step expression in DO loop at %L cannot be zero" + msgid "Start expression in DO loop" + msgstr "Ekspresi step dalam loop DO di %L tidak dapat berupa nol" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + #, fuzzy + #| msgid "invalid expression as operand" + msgid "End expression in DO loop" + msgstr "ekspresi sebagai operan tidak valid" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + #, fuzzy + #| msgid "Step expression in DO loop at %L cannot be zero" + msgid "Step expression in DO loop" + msgstr "Ekspresi step dalam loop DO di %L tidak dapat berupa nol" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + #, fuzzy + #| msgid "DEALLOCATE " + msgid "DEALLOCATE object" + msgstr "DEALOKASIKAN " + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + #, fuzzy + #| msgid "ALLOCATE " + msgid "ALLOCATE object" + msgstr "ALOKASIKAN " + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + msgid "STAT variable" + msgstr "" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + msgid "ERRMSG variable" + msgstr "" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + msgid "item in READ" + msgstr "" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + msgid "ACQUIRED_LOCK variable" + msgstr "" + +@@ -23725,29 +23719,29 @@ msgstr "Pajang KARAKTER berbeda (%d/%d) dalam konstruktor array di %L" + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, fuzzy, c-format + #| msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L" + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "Argumen aktual berisi terlalu sedikit elemen untuk argumen dummy '%s' (%lu/%lu) di %L" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, fuzzy, c-format + #| msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L" + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "Argumen aktual berisi terlalu sedikit elemen untuk argumen dummy '%s' (%lu/%lu) di %L" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + msgid "Assignment of scalar to unallocated array" + msgstr "" + +@@ -24787,7 +24781,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "-mrelax hanya didukung untuk RTP PIC" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in %s statement at %C" + msgstr "Sintaks error dalam pernyataan %s di %C" +@@ -25211,7 +25205,7 @@ msgstr "%qE atribut konflik dengan atribut %s" + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration %q+#D here" +@@ -25316,10 +25310,10 @@ msgstr "tipe atribut diabaikan setelah tipe telah didefinisikan" + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -25464,7 +25458,7 @@ msgstr "tidak dapat menemukan berkas untuk class %s" + msgid "offset %qwi outside bounds of constant string" + msgstr "ofset diluar dari jangkauan dari konstanta string" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" + msgid "%qE declared here" +@@ -27445,7 +27439,7 @@ msgstr "konstanta titik-tetap besar secara implisit dipotong ke tipe titik-tetap + msgid "comparison is always %d due to width of bit-field" + msgstr "perbandingan selalu %d karena lebar dari bit-field" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "diasumsikan signed overflow tidak terjadi ketika menyederhanakan pemeriksaan jangkauan" +@@ -28301,7 +28295,7 @@ msgstr "fungsi mengembalikan alamat dari variabel lokal" + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -29449,14 +29443,14 @@ msgstr "mengasumsikan penunjuk ke anggota %qD" + msgid "using a dangling pointer to %qD" + msgstr "mode pointer tidak valid %qs" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" + msgid "%qD declared here" +@@ -29504,7 +29498,7 @@ msgstr "" + msgid "call to %qD" + msgstr " dalam panggilan ke %qD" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, fuzzy, gcc-internal-format + #| msgid "address of local variable %q+D returned" + msgid "storing the address of local variable %qD in %qE" +@@ -30632,7 +30626,7 @@ msgstr "" + msgid "IPA modref summary is missing in input file" + msgstr "" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, fuzzy, gcc-internal-format + #| msgid "invalid function in call statement" + msgid "invalid jump function in LTO stream" +@@ -31655,7 +31649,7 @@ msgstr "Lakukan optimisasi cross-jumping" + msgid "command-line option %qs is not supported by this configuration" + msgstr "pilihan baris perintah %qs tidak didukung dalam konfigurasi ini" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, fuzzy, gcc-internal-format + #| msgid "missing argument to \"%s\"" + msgid "missing argument to %qs" +@@ -31701,13 +31695,13 @@ msgstr "" + msgid "unrecognized argument in option %qs" + msgstr "pilihan baris perintah \"%s\" tidak dikenal" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "argumen dari atribut %qs tidak valid" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments to %qs are: %s" +@@ -31880,7 +31874,7 @@ msgstr "" + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "-falign-loops=%d tidak didukung" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, fuzzy, gcc-internal-format + #| msgid "-falign-loops=%d is not supported" + msgid "%<-fsanitize-trap=%s%> is not supported" +@@ -31923,203 +31917,203 @@ msgstr "pelacakan variabel diminta, tetapi tidak berguna kecuali menghasilkan in + msgid "variable tracking requested, but not supported by this debug format" + msgstr "pelacakan variabel diminta, tetapi tidak didukung oleh format debug ini" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, fuzzy, gcc-internal-format + #| msgid "-freorder-blocks-and-partition does not work on this architecture" + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "-freorder-blocks-and-partition tidak bekerja dalam arsitektur ini" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, fuzzy, gcc-internal-format + #| msgid "-freorder-blocks-and-partition does not work on this architecture" + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "-freorder-blocks-and-partition tidak bekerja dalam arsitektur ini" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, fuzzy, gcc-internal-format + #| msgid "-freorder-blocks-and-partition does not work on this architecture" + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "-freorder-blocks-and-partition tidak bekerja dalam arsitektur ini" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized include_flags 0x%x passed to print_specific_help" + msgid "unrecognized % passed to %" + msgstr "tidak dikenal include_flags 0x%x dilewatkan ke print_specific_help" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, fuzzy, gcc-internal-format + #| msgid "warning: unrecognized argument to --help= option: %.*s\n" + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "peringatan: argumen tidak dikenal ke pilihan --help=: %.*s\n" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, fuzzy, gcc-internal-format + #| msgid "warning: unrecognized argument to --help= option: %.*s\n" + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "peringatan: argumen tidak dikenal ke pilihan --help=: %.*s\n" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, gcc-internal-format + msgid "%qs attribute directive ignored" + msgstr "%qs atribut direktif diabaikan" + +-#: opts.cc:2347 ++#: opts.cc:2346 + #, gcc-internal-format + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, fuzzy, gcc-internal-format + #| msgid "invalid alignment for %<#pragma align%>, ignoring" + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "alignmen tidak valid untuk %<#pragma align%>, abaikan" + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments to function %" + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "jumlah dari argumen ke fungsi % salah" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, fuzzy, gcc-internal-format + #| msgid "%salign-loops=%d%s is not between 0 and %d" + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr "%salign-loops=%d%s tidak berada diantara 0 dan %d" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to built-in function" + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "argumen ke fungsi bawaan tidak valid" + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, fuzzy, gcc-internal-format + #| msgid "warning: --help argument %.*s is ambiguous, please be more specific\n" + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "warning: --help argumen %.*s adalah ambigu, mohon lebih spesifik\n" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, fuzzy, gcc-internal-format + #| msgid "warning: unrecognized argument to --help= option: %.*s\n" + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "peringatan: argumen tidak dikenal ke pilihan --help=: %.*s\n" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, fuzzy, gcc-internal-format + #| msgid "structure alignment must be a small power of two, not %d" + msgid "structure alignment must be a small power of two, not %wu" + msgstr "alignmen struktur harus berupa kelipatan kecil dari dua, bukan %d" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, fuzzy, gcc-internal-format + #| msgid "unknown stack check parameter \"%s\"" + msgid "unknown stack check parameter %qs" + msgstr "tidak diketahui parameter pemeriksaan stack \"%s\"" + +-#: opts.cc:3158 ++#: opts.cc:3157 + #, gcc-internal-format + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "" + +-#: opts.cc:3169 ++#: opts.cc:3168 + #, fuzzy, gcc-internal-format + #| msgid "stack limit expression is not supported" + msgid "dwarf version %wu is not supported" + msgstr "ekspresi batas stack tidak didukung" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, fuzzy, gcc-internal-format + #| msgid "warning: unrecognized argument to --help= option: %.*s\n" + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "peringatan: argumen tidak dikenal ke pilihan --help=: %.*s\n" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, gcc-internal-format + msgid "target system does not support debug output" + msgstr "target sistem tidak mendukung keluaran debug" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, fuzzy, gcc-internal-format + #| msgid "debug format \"%s\" conflicts with prior selection" + msgid "debug format %qs conflicts with prior selection" + msgstr "format debug \"%s\" konflik dengan pemilihan sebelumnya" + +-#: opts.cc:3468 ++#: opts.cc:3467 + #, fuzzy, gcc-internal-format + #| msgid "unrecognised debug output level \"%s\"" + msgid "unrecognized debug output level %qs" + msgstr "tingkat keluaran debug \"%s\" tidak dikenal" + +-#: opts.cc:3470 ++#: opts.cc:3469 + #, fuzzy, gcc-internal-format + #| msgid "debug output level %s is too high" + msgid "debug output level %qs is too high" + msgstr "tingkat keluaran debug %s terlalu tinggi" + +-#: opts.cc:3482 ++#: opts.cc:3481 + #, fuzzy, gcc-internal-format + #| msgid "unrecognised debug output level \"%s\"" + msgid "unrecognized btf debug output level %qs" + msgstr "tingkat keluaran debug \"%s\" tidak dikenal" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "memperoleh batas maksimum ukuran berkas core: %m" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "menset batas maksimum ukuran berkas core ke: %m" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "pilihan debuggin gcc: %c tidak dikenal" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, fuzzy, gcc-internal-format + #| msgid "-Werror=%s: No option -%s" + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "-Werror=%s: Tidak ada pilihan -%s" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, gcc-internal-format + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" + msgstr "" +@@ -32846,199 +32840,199 @@ msgstr "kode thunk umum gagal untuk metoda %q#D yang menggunakan %<...%>" + msgid "%qD renamed after being referenced in assembly" + msgstr "%D diubah namanya setelah direferensikan dalam perakitan" + +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, fuzzy, gcc-internal-format + #| msgid "function returning a function" + msgid "function symbol is not function" + msgstr "fungsi mengembalikan sebuah fungsi" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, gcc-internal-format + msgid "inconsistent % attribute" + msgstr "" + +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute only applies to variables" + msgid "variable symbol is not variable" + msgstr "%qs atribut hanya berlaku ke variabel" + +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "complex invalid for %qs" + msgid "node has invalid order %i" + msgstr "kompleks tidak valid untuk %qs" + +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, fuzzy, gcc-internal-format + #| msgid "node not found in cgraph_hash" + msgid "node not found in symtab assembler name hash" + msgstr "titik tidak ditemukan dalam cgraph_hash" + +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, fuzzy, gcc-internal-format + #| msgid "called object %qE is not a function" + msgid "node is analyzed but it is not a definition" + msgstr "dipanggil objek %qE bukan sebuah fungsi" + +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, fuzzy, gcc-internal-format + #| msgid "%Jold-style function definition" + msgid "node is alias but not definition" + msgstr "%J definisi fungsi gaya-lama" + +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, gcc-internal-format + msgid "node is symver but not alias" + msgstr "" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, fuzzy, gcc-internal-format + #| msgid "Set the default symbol visibility" + msgid "symver is not exported with default visibility" + msgstr "Set simbol visibility baku" + +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, fuzzy, gcc-internal-format + #| msgid "implicit declaration of function %qE" + msgid "implicit_section flag is set but section isn%'t" + msgstr "implisit deklarasi dari fungsi %qE" + +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, gcc-internal-format + msgid "Alias and target%'s section differs" + msgstr "" + +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, gcc-internal-format + msgid "Alias and target%'s comdat groups differs" + msgstr "" + +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, gcc-internal-format + msgid "Transparent alias and target%'s assembler names differs" + msgstr "" + +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, fuzzy, gcc-internal-format + #| msgid "verify_ssa failed" + msgid "symtab_node::verify failed" + msgstr "verify_ssa gagal" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid pointer mode %qs" + msgid "invalid order in asm node %i" + msgstr "mode pointer tidak valid %qs" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, fuzzy, gcc-internal-format + #| msgid "function %q+D redeclared as inline" + msgid "function %q+D part of alias cycle" + msgstr "fungsi %q+D redeklarasi sebagai inline" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, fuzzy, gcc-internal-format + #| msgid "variable %qD has function type" + msgid "variable %q+D part of alias cycle" + msgstr "variabel %qD memiliki tipe fungsi" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -34849,27 +34843,27 @@ msgstr "" + msgid "target specific builtin not available" + msgstr "pilihan target spesifik tidak cocok" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "" +@@ -35754,7 +35748,7 @@ msgstr "%qE atribut diabaikan karena %qT telah didefinisikan" + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "%qE atribut diabaikan karena %qT telah didefinisikan" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "%qE atribut hanya memiliki efek dalam objek publik" +@@ -38046,7 +38040,7 @@ msgstr "tidak didukung bukan-standar pemotongan dari string literals" + msgid "traditional C rejects string constant concatenation" + msgstr "tradisional C menolak pemotongan konstanta string" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "" +@@ -39868,7 +39862,7 @@ msgstr "terlalu banyak berkas masukan" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for %<-mcpu%>" +@@ -39902,15 +39896,15 @@ msgid "unrecognized option passed to %%:%" + msgstr "" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid type argument of %qs" + msgid "valid arguments are: %s" +@@ -40003,55 +39997,55 @@ msgstr "-mcpu=%s tidak valid" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "-mcpu=%s memiliki revisi silikon tidak valid" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, fuzzy, gcc-internal-format + #| msgid "%salign-loops%s is obsolete, use -falign-loops%s" + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "%salign-loops%s sudah ditinggalkan, gunakan -falign-loops%s" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, fuzzy, gcc-internal-format + #| msgid "%salign-loops=%d%s is not between 0 and %d" + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr "%salign-loops=%d%s tidak berada diantara 0 dan %d" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, fuzzy, gcc-internal-format + #| msgid "%salign-jumps%s is obsolete, use -falign-jumps%s" + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "%salign-jumps%s sudah ditinggalkan, gunakan -falign-jumps%s" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, fuzzy, gcc-internal-format + #| msgid "%salign-loops=%d%s is not between 0 and %d" + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr "%salign-loops=%d%s tidak berada diantara 0 dan %d" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, fuzzy, gcc-internal-format + #| msgid "%salign-functions%s is obsolete, use -falign-functions%s" + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "%salign-functions%s sudah ditinggalkan, gunakan -falign-functions%s" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, fuzzy, gcc-internal-format + #| msgid "%salign-loops=%d%s is not between 0 and %d" + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr "%salign-loops=%d%s tidak berada diantara 0 dan %d" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, fuzzy, gcc-internal-format + #| msgid "%sbranch-cost=%d%s is not between 0 and 5" + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr "%sbranch-cost=%d%s tidak berada diantara 0 dan 5" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "" +@@ -40582,14 +40576,14 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "-fdirectives-only tidak kompatibel dengan -Wunused_macros" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qD is not an integral constant-expression" + msgid "argument %d of %qE must be an integer constant expression" + msgstr "ukuran dari array %qD bukan sebuah integral konstan-ekspresi" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, gcc-internal-format + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" + msgstr "" +@@ -40860,7 +40854,7 @@ msgstr "melewatkan argumen %d dari %qE membuat integer dari penunjuk tanpa sebua + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, fuzzy, gcc-internal-format + #| msgid "deleted definition of %qD" + msgid "duplicate definition of %qs" +@@ -40908,7 +40902,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "tipe %q+D tidak memiliki ukuran yang diketahui" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, gcc-internal-format + msgid "variables of type %qT cannot have thread-local storage duration" + msgstr "" +@@ -41004,346 +40998,346 @@ msgstr "" + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "argumen ke decltype harus berupa sebuah ekspresi" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, fuzzy, gcc-internal-format + #| msgid "AltiVec argument passed to unprototyped function" + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "Argumen AltiVec dilewatkan ke fungsi yang tidak berprototipe" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, fuzzy, gcc-internal-format + #| msgid "Emit code for the counting ISA extension" + msgid "%qE requires the SVE ISA extension" + msgstr "Keluarkan kode untuk menghitung ekstensi ISA" + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, gcc-internal-format + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, gcc-internal-format + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute ignored" + msgid "%qs string ill-formed" + msgstr "%qs atribut diabaikan" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, fuzzy, gcc-internal-format + #| msgid "invalid operation on %<__fpreg%>" + msgid "invalid format for %" + msgstr "operasi di %<__fpreg%> tidak valid" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, fuzzy, gcc-internal-format + #| msgid "invalid %%H value" + msgid "invalid % value: %d" + msgstr "nilai %%H tidak valid" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "unknown spec function '%s'" + msgid "unknown tuning option (%s)" + msgstr "fungsi spesifikasi '%s' tidak diketahui" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, fuzzy, gcc-internal-format + #| msgid "Specify the register allocation order" + msgid "specify a system register with a small string length" + msgstr "Spesifikasikan pengurutan alokasi register" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not valid for %qs" + msgid "%qs is not a valid offset in %qs" + msgstr "%qs tidak valid untuk %qs" + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "" + +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, fuzzy, gcc-internal-format + #| msgid "invalid thread pointer option: -mtp=%s" + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "pilihan thread pointer tidak valid: -mtp=%s" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to %<__builtin_frame_address%>" + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "argumen ke %<__builtin_frame_address%> tidak valid" + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to %<__builtin_frame_address%>" + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "argumen ke %<__builtin_frame_address%> tidak valid" + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for %<-march%>" + msgstr "nilai %s tidak diketahui untuk pilihan -mfpu" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, gcc-internal-format + msgid "did you mean %<-mcpu=%s%>?" + msgstr "" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, fuzzy, gcc-internal-format + #| msgid "invalid thread pointer option: -mtp=%s" + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "pilihan thread pointer tidak valid: -mtp=%s" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for %<-mtune%>" + msgstr "nilai %s tidak diketahui untuk pilihan -mfpu" + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, fuzzy, gcc-internal-format + #| msgid "switch -mcpu=%s conflicts with -march= switch" + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "pilihan -mcpu=%s konflik dengan pilihan -march=" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, fuzzy, gcc-internal-format + #| msgid "%s does not support %s" + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "%s tidak mendukung %s" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, gcc-internal-format + msgid "code model %qs with %<-f%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs not supported in the %s bit mode" + msgid "code model %qs not supported in ilp32 mode" + msgstr "model kode %qs tidak mendukung dalam mode %s bit" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, gcc-internal-format + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, gcc-internal-format + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, gcc-internal-format + msgid "missing argument to % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, gcc-internal-format + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, fuzzy, gcc-internal-format + #| msgid "malformed %<#pragma init%>" + msgid "malformed % pragma or attribute" + msgstr "salah bentuk %<#pragma init%>" + +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, fuzzy, gcc-internal-format + #| msgid "attribute(target(\"%s\")) is unknown" + msgid "pragma or attribute % is not valid" + msgstr "atribut(target(\"%s\")) tidak diketahui" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, fuzzy, gcc-internal-format + #| msgid "alias argument not a string" + msgid "attribute % argument not a string" + msgstr "alias argumen bukan sebuah string" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, fuzzy, gcc-internal-format + #| msgid "attribute(target(\"%s\")) is unknown" + msgid "pragma or attribute % is not valid" + msgstr "atribut(target(\"%s\")) tidak diketahui" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, fuzzy, gcc-internal-format + #| msgid "unsupported combination: %s" + msgid "unsupported simdlen %wd" + msgstr "kombinasi tidak didukung: %s" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, gcc-internal-format + msgid "GCC does not currently support return type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, fuzzy, gcc-internal-format + #| msgid "%s not supported for nested functions" + msgid "unsupported return type %qT for % functions" + msgstr "%s tidak didukung untuk fungsi nested" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, gcc-internal-format + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, fuzzy, gcc-internal-format + #| msgid "the -shared option is not currently supported for VAX ELF" + msgid "GCC does not currently support simdlen %wd for type %qT" +@@ -41548,13 +41542,13 @@ msgstr "argumen dari atribut %qs bukan \"ilink1\" atau \"ilink2\"" + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -41711,17 +41705,17 @@ msgstr "%qE atribut diabaikan" + msgid "%qE attribute only applies to variables" + msgstr "%qs atribut hanya berlaku ke variabel" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, gcc-internal-format + msgid "alternatives not allowed in % flag output" + msgstr "" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, gcc-internal-format + msgid "unknown % flag output %qs" + msgstr "" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, fuzzy, gcc-internal-format + #| msgid "invalid lvalue in asm output %d" + msgid "invalid type for % flag output" +@@ -41945,7 +41939,7 @@ msgstr "target CPU tidak mendukung instruksi THUMB" + msgid "target CPU does not support unaligned accesses" + msgstr "target CPU tidak mendukung kode ARM" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, fuzzy, gcc-internal-format + #| msgid "the %qs architecture does not support branch-likely instructions" + msgid "This architecture does not support branch protection instructions" +@@ -42008,7 +42002,7 @@ msgstr "ukuran batas struktur hanya dapat diset ke %s" + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "RTP PIC tidak kompatibel dengan -msingle-pic-base" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs not supported in the %s bit mode" + msgid "FDPIC mode is not supported in Thumb-1 mode" +@@ -42123,7 +42117,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "" +@@ -42177,34 +42171,34 @@ msgstr "" + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "tidak dapat menghitung lokasi ril dari parameter terstack" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected end of module" + msgid "Unexpected thumb1 far jump" + msgstr "Tidak terduga akhir dari modul" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "tidak ada register bawah yang tersedia unruk popping register atas" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, fuzzy, gcc-internal-format + #| msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "Interrupt Sevice Routines tidak dapat dikodekan dalam mode Thumb" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, fuzzy, gcc-internal-format + #| msgid "invalid vector type for attribute %qE" + msgid "invalid fpu for target attribute or pragma %qs" +@@ -42213,24 +42207,24 @@ msgstr "tipe vektori tidak valid untuk atribut %qE" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, fuzzy, gcc-internal-format + #| msgid "invalid vector type for attribute %qE" + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "tipe vektori tidak valid untuk atribut %qE" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, fuzzy, gcc-internal-format + #| msgid "unknown register name: %s" + msgid "unknown target attribute or pragma %qs" + msgstr "nama register: %s tidak dikenal" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs not supported in the %s bit mode" + msgid "% flags not supported in thumb1 mode" +@@ -42316,19 +42310,19 @@ msgstr "-pipe tidak didukung" + msgid "%<-fPIE%> is not supported" + msgstr "-pipe tidak didukung" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, fuzzy, gcc-internal-format + #| msgid "-G and -static are mutually exclusive" + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "-G dan -static adalah mutually exclusive" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, fuzzy, gcc-internal-format + #| msgid "%qD cannot have default arguments" + msgid "%qs function cannot have arguments" + msgstr "%qD tidak dapat memiliki argumen baku" + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, fuzzy, gcc-internal-format + #| msgid "Function does not return a value" + msgid "%qs function cannot return a value" +@@ -42684,7 +42678,7 @@ msgstr "argumen ke fungsi bawaan tidak valid" + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, gcc-internal-format + msgid "invalid argument to built-in function" + msgstr "argumen ke fungsi bawaan tidak valid" +@@ -43349,755 +43343,755 @@ msgstr "" + msgid "virtual function multiversioning not supported" + msgstr "ekspresi batas stack tidak didukung" + +-#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25106 + #, fuzzy, gcc-internal-format + #| msgid "__builtin_eh_return not supported on this target" + msgid "multiversioning needs % which is not supported on this target" + msgstr "__builtin_eh_return tidak didukung dalam target ini" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" + msgstr "model kode %s tidak mendukung kode PIC" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, fuzzy, gcc-internal-format + #| msgid "alias argument not a string" + msgid "attribute %qs argument is not a string" + msgstr "alias argumen bukan sebuah string" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, fuzzy, gcc-internal-format + #| msgid "attribute(target(\"%s\")) is unknown" + msgid "attribute %qs argument %qs is unknown" + msgstr "atribut(target(\"%s\")) tidak diketahui" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, fuzzy, gcc-internal-format + #| msgid "SEQUENCE attribute at %C already specified in TYPE statement" + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "atribut SEQUENCE di %C telah dispesifikasikan dalam pernyataan TIPE" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, fuzzy, gcc-internal-format + #| msgid "%s attribute of '%s' conflicts with %s attribute at %L" + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "%s atribut dari '%s' konflik dengan %s atribut di %L" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to function %qs" + msgid "wrong argument %qs to option %qs" + msgstr "terlalu banyak argumen ke fungsi %qs" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, fuzzy, gcc-internal-format + #| msgid "register name not specified for %q+D" + msgid "wrong strategy name %qs specified for option %qs" + msgstr "nama register tidak dispesifikasikan untuk %q+D" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, fuzzy, gcc-internal-format + #| msgid "alignment may not be specified for %q+D" + msgid "unknown alignment %qs specified for option %qs" + msgstr "alignmen mungkin tidak dispesifikasikan untuk %q+D" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, fuzzy, gcc-internal-format + #| msgid "no class name specified with %qs" + msgid "too many size ranges specified in option %qs" + msgstr "tidak ada nama class dispesifikasikan dengan %qs" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, fuzzy, gcc-internal-format + #| msgid "64-bit ABI not supported in ESA/390 mode" + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "64 bit ABI tidak didukung di mode ESA/390" + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, fuzzy, gcc-internal-format + #| msgid "%stune=x86-64%s is deprecated. Use %stune=k8%s or %stune=generic%s instead as appropriate." + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "%smtune=x86-64%s sudah ditinggalkan. Lebih baik gunakan %stune=k8%s atau %stune=generic%s yang lebih sesuai." + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, fuzzy, gcc-internal-format + #| msgid "%stune=x86-64%s is deprecated. Use %stune=k8%s or %stune=generic%s instead as appropriate." + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "%smtune=x86-64%s sudah ditinggalkan. Lebih baik gunakan %stune=k8%s atau %stune=generic%s yang lebih sesuai." + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, gcc-internal-format + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, fuzzy, gcc-internal-format + #| msgid "-mcmodel= is not supported on 32 bit systems" + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "-mcmodel= tidak didukung di sistem 32 bit" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, gcc-internal-format + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs not supported in the %s bit mode" + msgid "address mode %qs not supported in the %s bit mode" + msgstr "model kode %qs tidak mendukung dalam mode %s bit" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, fuzzy, gcc-internal-format + #| msgid "%<-mgp64%> used with a 32-bit ABI" + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "%<-mgp64%> digunakan dengan sebuah ABI 32 bit" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "model kode %qs tidak mendukung dalam mode %s bit" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs not supported in the %s bit mode" + msgid "code model %qs not supported in x32 mode" + msgstr "model kode %qs tidak mendukung dalam mode %s bit" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, fuzzy, gcc-internal-format + #| msgid "-m%s not supported in this configuration" + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "-m%s tidak didukung dalam konfigurasi ini" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "%i-bit mode tidak terkompile" + +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, fuzzy, gcc-internal-format + #| msgid "generic CPU can be used only for %stune=%s %s" + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "CPU generik hanya dapat digunakan untuk pilihan %stune=%s %s" + +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, fuzzy, gcc-internal-format + #| msgid "generic CPU can be used only for %stune=%s %s" + msgid "% CPU can be used only for % attribute" + msgstr "CPU generik hanya dapat digunakan untuk pilihan %stune=%s %s" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, fuzzy, gcc-internal-format + #| msgid "generic CPU can be used only for %stune=%s %s" + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "CPU generik hanya dapat digunakan untuk pilihan %stune=%s %s" + +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, fuzzy, gcc-internal-format + #| msgid "generic CPU can be used only for %stune=%s %s" + msgid "% CPU can be used only for % attribute" + msgstr "CPU generik hanya dapat digunakan untuk pilihan %stune=%s %s" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "CPU yang anda pilih tidak mendukung set instruksi x86-64" + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, fuzzy, gcc-internal-format + #| msgid "bad value %qs for -mcpu switch" + msgid "bad value %qs for %<-march=%> switch" + msgstr "nilai buruk %qs untuk pilihan -mcpu" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for %sarch=%s %s" + msgid "bad value %qs for % attribute" + msgstr "nilai (%s) buruk untuk pilihan %sarch=%s %s" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments to % attribute are: %s" + msgstr "argumen dari atribut %qs tidak valid" + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, fuzzy, gcc-internal-format + #| msgid "bad value %<%s%> for -mtune= switch" + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "nilai %<%s%> buruk untuk pilihan -mtune=" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for %stune=%s %s" + msgid "bad value %qs for % attribute" + msgstr "nilai (%s) buruk untuk %stune=%s %s" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to %<__builtin_return_address%>" + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "argumen ke %<__builtin_return_address%> tidak valid" + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments to % attribute are: %s" + msgstr "argumen dari atribut %qs tidak valid" + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, fuzzy, gcc-internal-format + #| msgid "%sregparm%s is ignored in 64-bit mode" + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "%sregparm%s diabaikan dalam mode 64 bit" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, fuzzy, gcc-internal-format + #| msgid "%sregparm=%d%s is not between 0 and %d" + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "%sregparm=%d%s tidak berada diantara 0 dan %d" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, fuzzy, gcc-internal-format + #| msgid "%<-march=%s%> is not compatible with the selected ABI" + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "%<-march=%s%> tidak kompatibel dengan ABI yang dipilih" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, fuzzy, gcc-internal-format + #| msgid "%srtd%s is ignored in 64bit mode" + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "%srtd%s diabaikan dalam mode 64 bit" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, fuzzy, gcc-internal-format + #| msgid "%srtd%s is ignored in 64bit mode" + msgid "% is ignored in 64bit mode" + msgstr "%srtd%s diabaikan dalam mode 64 bit" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, fuzzy, gcc-internal-format + #| msgid "-fprefetch-loop-arrays not supported for this target" + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "-fprefetch-loop-array tidak didukung untuk target ini" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, fuzzy, gcc-internal-format + #| msgid "%spreferred-stack-boundary=%d%s is not between %d and 12" + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "%spreferred-stack-boundary=%d%s tidak berada diantara %d dan 12" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, fuzzy, gcc-internal-format + #| msgid "-mincoming-stack-boundary=%d is not between %d and 12" + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "-mincoming-stack-boundary=%d tidak berada diantara %d dan 12" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, fuzzy, gcc-internal-format + #| msgid "%<-march=%s%> is not compatible with the selected ABI" + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "%<-march=%s%> tidak kompatibel dengan ABI yang dipilih" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, fuzzy, gcc-internal-format + #| msgid "inter-module optimizations not implemented for C++" + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "inter-module optimisasi tidak diimplementasikan untuk C++" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, fuzzy, gcc-internal-format + #| msgid "%ssseregparm%s used without SSE enabled" + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "%ssseregparam%s digunakan tanpa SSE aktif" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, fuzzy, gcc-internal-format + #| msgid "%ssseregparm%s used without SSE enabled" + msgid "% used without SSE enabled" + msgstr "%ssseregparam%s digunakan tanpa SSE aktif" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "set instruksi SSE non-aktif, menggunakan 387 aritmetik" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "set instruksi 387 non-aktif, menggunakan aritmetik SSE" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, fuzzy, gcc-internal-format + #| msgid "stack probing requires %saccumulate-outgoing-args%s for correctness" + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "stack probing membutuhkan %saccumulate-outgoing-args%s untuk pembenaran" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, fuzzy, gcc-internal-format + #| msgid "stack probing requires %saccumulate-outgoing-args%s for correctness" + msgid "stack probing requires % for correctness" + msgstr "stack probing membutuhkan %saccumulate-outgoing-args%s untuk pembenaran" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, fuzzy, gcc-internal-format + #| msgid "stack probing requires %saccumulate-outgoing-args%s for correctness" + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "stack probing membutuhkan %saccumulate-outgoing-args%s untuk pembenaran" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, fuzzy, gcc-internal-format + #| msgid "stack probing requires %saccumulate-outgoing-args%s for correctness" + msgid "fixed ebp register requires %" + msgstr "stack probing membutuhkan %saccumulate-outgoing-args%s untuk pembenaran" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, fuzzy, gcc-internal-format + #| msgid "%<-march=%s%> is not compatible with the selected ABI" + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "%<-march=%s%> tidak kompatibel dengan ABI yang dipilih" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, fuzzy, gcc-internal-format + #| msgid "ignoring unknown option %q.*s in %<-fdump-%s%>" + msgid "unknown option for %<-mrecip=%s%>" + msgstr "mengabaikan pilihan tidak dikenal %q.*s dalam %<-fdump-%s%>" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, gcc-internal-format + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, gcc-internal-format + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, gcc-internal-format + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, fuzzy, gcc-internal-format + #| msgid "%<-march=%s%> is not compatible with the selected ABI" + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "%<-march=%s%> tidak kompatibel dengan ABI yang dipilih" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, fuzzy, gcc-internal-format + #| msgid "stdcall and cdecl attributes are not compatible" + msgid "interrupt and naked attributes are not compatible" + msgstr "atribut stdcall dan cdecl tidak kompatibel" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, fuzzy, gcc-internal-format + #| msgid "-msdata=%s and -mcall-%s are incompatible" + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "-msdata=%s dan -mcall-%s tidak kompatibel" + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, fuzzy, gcc-internal-format + #| msgid "-msdata=%s and -mcall-%s are incompatible" + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "-msdata=%s dan -mcall-%s tidak kompatibel" + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, fuzzy, gcc-internal-format + #| msgid "%Hattributes are not allowed on a function-definition" + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "%Hatribut tidak diijinkan dalam sebuah definisi fungsi" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "atribut fastcall dan regparm tidak kompatibel" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, fuzzy, gcc-internal-format + #| msgid "fastcall and stdcall attributes are not compatible" + msgid "regparam and thiscall attributes are not compatible" + msgstr "atribut fastcall dan stdcall tidak kompatibel" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute requires an integer constant argument" + msgid "%qE attribute requires an integer constant argument" + msgstr "atribut %qs membutuhkan sebuah argumen konstanta integer" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qs attribute larger than %d" + msgid "argument to %qE attribute larger than %d" + msgstr "argumen ke atribut %qs lebih besar daripada %d" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "atribut fastcall dan cdecl tidak kompatibel" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "atribut fastcall dan stdcall tidak kompatibel" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, fuzzy, gcc-internal-format + #| msgid "fastcall and stdcall attributes are not compatible" + msgid "fastcall and thiscall attributes are not compatible" + msgstr "atribut fastcall dan stdcall tidak kompatibel" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "atribut stdcall dan cdecl tidak kompatibel" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "atribut stdcall dan fastcall tidak kompatibel" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, fuzzy, gcc-internal-format + #| msgid "stdcall and fastcall attributes are not compatible" + msgid "stdcall and thiscall attributes are not compatible" + msgstr "atribut stdcall dan fastcall tidak kompatibel" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, fuzzy, gcc-internal-format + #| msgid "stdcall and fastcall attributes are not compatible" + msgid "cdecl and thiscall attributes are not compatible" + msgstr "atribut stdcall dan fastcall tidak kompatibel" + +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored on non-class types" + msgid "%qE attribute is used for non-class method" + msgstr "%qE atribut diabaikan dalam tipe bukan-class" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, fuzzy, gcc-internal-format + #| msgid "%qs incompatible attribute ignored" + msgid "%qE incompatible attribute ignored" + msgstr "atribut %qs tidak kompatibel diabaikan" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute only available for 64-bit" + msgid "%qE attribute only available for 32-bit" + msgstr "%qs atribut hanya tersedia untuk 64 bit" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, fuzzy, gcc-internal-format + #| msgid "argument of %qs attribute is not a string constant" + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "argumen dari atribut %qs bukan sebuah konstanta string" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, fuzzy, gcc-internal-format + #| msgid "ms_abi and sysv_abi attributes are not compatible" + msgid "%qs and %qs attributes are not compatible" + msgstr "atribut ms_abi dan sysv_abi tidak kompatibel" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute requires an integer constant argument" + msgid "%qE attribute requires a string constant argument" + msgstr "atribut %qs membutuhkan sebuah argumen konstanta integer" + +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, fuzzy, gcc-internal-format + #| msgid "argument of %qs attribute is not a string constant" + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "argumen dari atribut %qs bukan sebuah konstanta string" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "" + +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, fuzzy, gcc-internal-format + #| msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgid "interrupt service routine should have %qs as the second argument" + msgstr "Interrupt Sevice Routines tidak dapat dikodekan dalam mode Thumb" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, fuzzy, gcc-internal-format + #| msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgid "interrupt service routine must return %" + msgstr "Interrupt Sevice Routines tidak dapat dikodekan dalam mode Thumb" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, fuzzy, gcc-internal-format + #| msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "Memanggil %qD dengan atribut sseregparm tanpa mengaktifkan SSE/SSE2" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, fuzzy, gcc-internal-format + #| msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "Memanggil %qT dengan atribut sseregparm tanpa mengaktifkan SSE/SSE2" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, fuzzy, gcc-internal-format + #| msgid "does not support multilib" + msgid "X32 does not support % attribute" + msgstr "tidak mendukung multilib" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, gcc-internal-format + msgid "% attribute is not compatible with nested function" + msgstr "" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, fuzzy, gcc-internal-format + #| msgid "AVX vector argument without AVX enabled changes the ABI" + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "argumen vektor AVX tanpa AVX aktif mengubah ABI" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, fuzzy, gcc-internal-format + #| msgid "AVX vector argument without AVX enabled changes the ABI" + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "argumen vektor AVX tanpa AVX aktif mengubah ABI" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, gcc-internal-format + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "argumen vektor AVX tanpa AVX aktif mengubah ABI" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, fuzzy, gcc-internal-format + #| msgid "AVX vector argument without AVX enabled changes the ABI" + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "argumen vektor AVX tanpa AVX aktif mengubah ABI" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "argumen vektor SSE tanpa SSE aktif mengubah ABI" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "SSE vektor kembali tanpa SSE aktif mengubah ABI" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "argumen vektor MMX tanpa MMX aktif mengubah ABI" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "MMX vektor kembali tanpa MMX aktif mengubah ABI" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, fuzzy, gcc-internal-format + #| msgid "The ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "ABI dari melewatkan struct dengan sebuah anggota array flexible telah berubah dalam GCC 4.4" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, fuzzy, gcc-internal-format + #| msgid "The ABI of passing union with long double has changed in GCC 4.4" + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "ABI dari melewatkan union dengan long double telah berubah dalam GCC 4.4" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, fuzzy, gcc-internal-format + #| msgid "The ABI of passing structure with complex float member has changed in GCC 4.4" + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "ABI dari melewatkan structure dengan anggota float kompleks telah berubah dalam GCC 4.4" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + #, fuzzy + #| msgid "The ABI of passing structure with complex float member has changed in GCC 4.4" + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "ABI dari melewatkan structure dengan anggota float kompleks telah berubah dalam GCC 4.4" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "register SSE kembali dengan SSE tidak aktif" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "argumen register SSE dengan SSE tidak aktif" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "x87 register kembali dengan x87 tidak aktif" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, fuzzy, gcc-internal-format + #| msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "Memanggil %qD dengan atribut sseregparm tanpa mengaktifkan SSE/SSE2" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "The ABI of passing union with long double has changed in GCC 4.4" + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "ABI dari melewatkan union dengan long double telah berubah dalam GCC 4.4" + +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, fuzzy, gcc-internal-format + #| msgid "assert: %s is assign compatible with %s" + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "assert: %s adalah assign kompatibel dengan %s" + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, gcc-internal-format + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "" + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, fuzzy, gcc-internal-format + #| msgid "stack limits not supported on this target" + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "batas stact tidak didukung dalam target ini" + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, gcc-internal-format + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, fuzzy, gcc-internal-format + #| msgid "%s not supported for nested functions" + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "%s tidak didukung untuk fungsi nested" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, fuzzy, gcc-internal-format + #| msgid "%s not supported for nested functions" + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" +@@ -44105,81 +44099,81 @@ msgstr "%s tidak didukung untuk fungsi nested" + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, gcc-internal-format + msgid "% modifier on non-integer register" + msgstr "" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, fuzzy, gcc-internal-format + #| msgid "unsupported operand size for extended register" + msgid "unsupported size for integer register" + msgstr "ukuran operan tidak didukung untuk register ekstended" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "register extended tidak memiliki setengah tinggi" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "ukuran operan tidak didukung untuk register ekstended" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, gcc-internal-format + msgid "non-integer operand used with operand code %" + msgstr "" + +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + #, fuzzy + #| msgid "the mangling of % has changed in GCC 4.4" + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "mangling dari % telah berubah dalam GCC 4.4" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, gcc-internal-format + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, fuzzy, gcc-internal-format + #| msgid "Unknown architecture '%s'" + msgid "unknown architecture specific memory model" + msgstr "Arsitektur '%s' tidak dikenal" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, fuzzy, gcc-internal-format + #| msgid "unused arguments in $-style format" + msgid "unsupported argument type %qT for simd" + msgstr "argumen yang tidak digunakan dalam $-gaya format" + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, gcc-internal-format + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" + msgstr "" +@@ -44565,7 +44559,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "%qs redeklarasi konflik dengan atribut %qs" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, fuzzy, gcc-internal-format + #| msgid "%qD attribute requires a single NTBS argument" + msgid "%qE attribute requires a string argument" +@@ -45781,59 +45775,59 @@ msgstr "" + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "sampah diakhir dari %<#pragma reset_options%>" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, fuzzy, gcc-internal-format + #| msgid "type %q+D does not have a known size" + msgid "RVV type %qT does not have a fixed size" + msgstr "tipe %q+D tidak memiliki ukuran yang diketahui" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, fuzzy, gcc-internal-format + #| msgid "type %q+D does not have a known size" + msgid "RVV type %qT does not have a defined alignment" + msgstr "tipe %q+D tidak memiliki ukuran yang diketahui" + +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, fuzzy, gcc-internal-format + #| msgid "arithmetic on pointer to an incomplete type" + msgid "arithmetic on pointer to RVV type %qT" + msgstr "aritmetik di penunjuk ke sebuah tipe tidak lengkap" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not of type %qT" + msgid "fields cannot have RVV type %qT" + msgstr "%qE bukan dari tipe %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, gcc-internal-format + msgid "array elements cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, fuzzy, gcc-internal-format + #| msgid "cannot allocate an object of abstract type %qT" + msgid "cannot allocate objects with RVV type %qT" + msgstr "tidak dapat mengalokasikan sebuah objek dari tipe abstrak %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, fuzzy, gcc-internal-format + #| msgid "cannot allocate an object of abstract type %qT" + msgid "cannot delete objects with RVV type %qT" + msgstr "tidak dapat mengalokasikan sebuah objek dari tipe abstrak %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, fuzzy, gcc-internal-format + #| msgid "cannot convert type %qT to type %qT" + msgid "cannot throw or catch RVV type %qT" + msgstr "tidak dapat mengubah tipe %qT ke tipe %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, gcc-internal-format + msgid "capture by copy of RVV type %qT" + msgstr "" +@@ -45854,76 +45848,71 @@ msgstr "" + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, fuzzy, gcc-internal-format + #| msgid "The ABI of passing structure with complex float member has changed in GCC 4.4" + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "ABI dari melewatkan structure dengan anggota float kompleks telah berubah dalam GCC 4.4" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, fuzzy, gcc-internal-format + #| msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\"" + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "argumen dari atribut %qs bukan \"ilink1\" atau \"ilink2\"" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, gcc-internal-format + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, gcc-internal-format + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, gcc-internal-format + msgid "ABI requires %<-march=rv%d%>" + msgstr "" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, fuzzy, gcc-internal-format + #| msgid "%spreferred-stack-boundary=%d%s is not between %d and 12" + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "%spreferred-stack-boundary=%d%s tidak berada diantara %d dan 12" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not valid for %qs" + msgid "%qs is not a valid base register in %qs" + msgstr "%qs tidak valid untuk %qs" + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not valid for %qs" + msgid "%qs is not a valid number in %qs" + msgstr "%qs tidak valid untuk %qs" + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, gcc-internal-format + msgid "%qs function cannot have different interrupt type" + msgstr "" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, fuzzy, gcc-internal-format +@@ -46441,106 +46430,106 @@ msgstr "" + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "tidak ada profiling dari kode 64 bit untuk ABI ini" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, fuzzy, gcc-internal-format + #| msgid "cannot take the address of %, which is an rvalue expression" + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "tidak dapat mengambil alamat dari %, yang merupakan ekspresi rvalue" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "penggunaan dari % dalam tipe AltiVec tidak valid" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "penggunaan dari tipe boolean dalam tipe AltiVec tidak valid" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "penggunaan dari % dalam tipe AltiVec tidak valid" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, fuzzy, gcc-internal-format + #| msgid "use of decimal floating point types in AltiVec types is invalid" + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "penggunaan dari tipe titik pecahan desimal dalam tipe AltiVec tidak valid" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, fuzzy, gcc-internal-format + #| msgid "use of % in AltiVec types is invalid for 64-bit code" + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "penggunaan dari % dalam tipe AltiVec tidak valid untuk kode 64 bit" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "penggunaan dari % dalam tipe AltiVec sudah ditinggalkan; gunakan %" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, fuzzy, gcc-internal-format + #| msgid "use of % in AltiVec types is invalid" + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "penggunaan dari % dalam tipe AltiVec tidak valid" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, fuzzy, gcc-internal-format + #| msgid "use of % in AltiVec types is invalid" + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "penggunaan dari % dalam tipe AltiVec tidak valid" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, fuzzy, gcc-internal-format + #| msgid "invalid abstract type %qT for %qE" + msgid "invalid cpu %qs for %s%qs%s" + msgstr "tipe abstrak tidak valid %qT untuk %qE" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, fuzzy, gcc-internal-format + #| msgid "%H%<#pragma%> is not allowed here" + msgid "%s%qs%s is not allowed" + msgstr "%H%<#pragma%> tidak diijinkan disini" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, fuzzy, gcc-internal-format + #| msgid "spec '%s' is invalid" + msgid "%s%qs%s is invalid" + msgstr "spesifikasi '%s' tidak valid" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" + +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, fuzzy, gcc-internal-format + #| msgid "stack limit expression is not supported" + msgid "Virtual function multiversioning not supported" + msgstr "ekspresi batas stack tidak didukung" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, gcc-internal-format + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, gcc-internal-format + msgid "type %<__vector_pair%> requires the %qs option" + msgstr "" +@@ -48079,7 +48068,7 @@ msgstr "tidak dapat meletakan objek dengan bagian volatile kedalam register" + msgid "uninitialized % is invalid in C++" + msgstr "tidak terinisialisasi const %qD" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "" +@@ -48283,7 +48272,7 @@ msgstr "class penyimpanan dispesifikasikan untuk parameter %qs" + msgid "storage class specified for unnamed parameter" + msgstr "class penyimpanan dispesifikasikan untuk parameter %qs" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "class penyimpanan dispesifikasikan untuk nama tipe" +@@ -48479,7 +48468,7 @@ msgstr "%qs dideklarasikan sebagai fungsi yang mengembalikan sebuah array" + msgid "function definition has qualified void return type" + msgstr "definisi fungsi memiliki pengkualifikasi tipe kembali void" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "tipe pengkualifikasi diabaikan di tipe kembali fungsi" +@@ -48623,7 +48612,7 @@ msgstr "ISO C melarang tipe fungsi const atau volatile" + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "sebuah anggota dari sebuah struktur atau union tidak dapat memiliki sebuah tipe variabel termodifikasi" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "variabel atau field %qE dideklarasikan void" +@@ -48842,7 +48831,7 @@ msgstr "" + msgid "%qT defined in underspecified object initializer" + msgstr "field %qE tidak dikenal dispesifikasikan dalam penginisialisasi" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "redeklarasi tidak mendeklarasikan apapun" +@@ -48894,7 +48883,7 @@ msgstr "struct tidak memiliki anggota bernama" + msgid "struct has no members" + msgstr "struct tidak memiliki anggota" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, fuzzy, gcc-internal-format + #| msgid "%Jflexible array member in union" + msgid "flexible array member in union" +@@ -48943,7 +48932,7 @@ msgstr "redeklarasi dari %" + msgid "% declared with but defined without fixed underlying type" + msgstr "" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, fuzzy, gcc-internal-format + #| msgid "specified mode too small for enumeral values" + msgid "specified mode too small for enumerated values" +@@ -48994,7 +48983,7 @@ msgstr "ISO C melarang nilai pengenumerasi ke jangkauan dari %" + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "ISO C melarang nilai pengenumerasi ke jangkauan dari %" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, fuzzy, gcc-internal-format + #| msgid "inline function %q+D given attribute noinline" + msgid "inline function %qD given attribute %qs" +@@ -49028,7 +49017,7 @@ msgstr "tidak ada prototipe sebelumnya untuk %q+D" + msgid "%qD was used with no prototype before its definition" + msgstr "%q+D telah digunakan dengan tidak ada prototipe sebelum definisinya" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, fuzzy, gcc-internal-format + #| msgid "no previous declaration for %q+D" + msgid "no previous declaration for %qD" +@@ -49157,12 +49146,12 @@ msgstr "argumen %qD tidak cocok dengan prototipe bawaan" + msgid "argument %qD doesn%'t match prototype" + msgstr "argumen %qD tidak cocok dengan prototipe" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "tidak ada pernyataaan kembali dalam fungsi yang mengembalikan bukan void" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, fuzzy, gcc-internal-format + #| msgid "parameter %qD is initialized" + msgid "parameter %qD set but not used" +@@ -51377,7 +51366,7 @@ msgstr "tidak cukup secara sempurna nested loops" + msgid "collapsed loops not perfectly nested" + msgstr "collapsed loops tidak secara sempurna nested" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "iterasi variabel %qD seharusnya bukan first private" +@@ -51520,13 +51509,13 @@ msgstr "diduga %<{%>" + msgid "variant %qD is not a function" + msgstr "%q+D bukan sebuah fungsi," + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, fuzzy, gcc-internal-format + #| msgid "elements of array %q#D have incomplete type" + msgid "variant %qD and base %qD have incompatible types" + msgstr "elemen dari array %q#D memiliki tipe tidak lengkap" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "" +@@ -51805,7 +51794,7 @@ msgstr "penggunaan tidak valid dari ekspresi void" + msgid "invalid use of flexible array member" + msgstr "penggunaan tidak valid dari anggota array fleksibel" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "penggunaan tidak valid dari array dengan batasan tidak terspesifikasikan" +@@ -52847,12 +52836,12 @@ msgstr "" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "inisialisasi dari sebuah anggota array fleksibel" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, gcc-internal-format + msgid "cannot initialize array of %qT from a string literal with type array of %qT" + msgstr "" +@@ -52894,7 +52883,7 @@ msgstr "elemen penginisialisasi tidak dapat dihitung di waktu load" + msgid "invalid initializer" + msgstr "penginisialisasi tidak valid" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "tipe vektor opaque tidak dapat diinisialisasi" +@@ -52909,8 +52898,8 @@ msgstr "kelebihan grup kurung diakhir dari penginisialisasi" + msgid "braces around scalar initializer" + msgstr "kurung disekitar penginisialisasi skalar" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "inisialisasi dari anggota array fleksibel dalam sebuah konteks bertelur" +@@ -53004,7 +52993,7 @@ msgstr "kelebihan elemen dalam struktur penginisialisasi" + msgid "positional initialization of field in % declared with % attribute" + msgstr "" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "inisialisasi tidak statis dari sebuah anggota array fleksibel" +@@ -54482,7 +54471,7 @@ msgstr "tidak cocok % untuk %qT" + msgid "%q#D is private within this context" + msgstr "dalam konteks ini" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" + msgid "declared private here" +@@ -54494,7 +54483,7 @@ msgstr "%q+D dideklarasikan disini" + msgid "%q#D is protected within this context" + msgstr "dalam konteks ini" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" + msgid "declared protected here" +@@ -54511,7 +54500,7 @@ msgstr "%q+#D tidak dapat diakses" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "melewatkan koson ke argumen bukan penunjuk %P dari %qD" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" +@@ -54885,7 +54874,7 @@ msgstr "tidak pasangan fungsi untuk panggilan ke %<%T::%s(%A)%#V%>" + msgid "call to non-function %qD" + msgstr "panggilan ke bukan-fungsi %qD" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "" +@@ -55525,7 +55514,7 @@ msgstr "%J anggota array fleksibel dalam sebaliknya struct kosong" + msgid "next member %q#D declared here" + msgstr " %q+#D dideklarasikan disini" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "redefinisi dari %q#T" +@@ -55654,7 +55643,7 @@ msgstr "tipe kembali abstrak tidak valid untuk fungsi %q+#D" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, fuzzy, gcc-internal-format + #| msgid "%s only available with -std=c++0x or -std=gnu++0x" + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" +@@ -55728,7 +55717,7 @@ msgstr "" + msgid "failed % attribute assumption" + msgstr "" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, fuzzy, gcc-internal-format + #| msgid "call to non-function %qD" +@@ -55779,7 +55768,7 @@ msgstr "%qT adalah sebuah dasar ambigu dari %qT" + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, fuzzy, gcc-internal-format + #| msgid "call to non-function %qD" +@@ -55919,7 +55908,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "dereferensi penunjuk %" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -56024,7 +56013,7 @@ msgstr "" + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, fuzzy, gcc-internal-format + #| msgid "dereferencing % pointer" +@@ -56112,7 +56101,7 @@ msgstr "" + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" +@@ -56182,214 +56171,214 @@ msgstr "" + msgid "control passes through definition of %qD with static storage duration" + msgstr "" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, fuzzy, gcc-internal-format + #| msgid "enumeral and non-enumeral type in conditional expression" + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "tipe enumeral dan bukan enumeral dalam ekspresi kondisional" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, fuzzy, gcc-internal-format + #| msgid "%s cannot appear in a constant-expression" + msgid "% is not a constant expression" + msgstr "%s tidak dapat muncul dalam sebuah konstanta ekspresi" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, fuzzy, gcc-internal-format + #| msgid "cast from type %qT to type %qT casts away constness" + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "cast dari tipe %qT ke tipe %qT menghilangkan constness" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, fuzzy, gcc-internal-format + #| msgid "incomplete type %qT not allowed" + msgid "cast from %qT is not allowed" + msgstr "tipe tidak lengkap %qT tidak diijinkan" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, gcc-internal-format + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, fuzzy, gcc-internal-format + #| msgid "%s cannot appear in a constant-expression" + msgid "%(%E)%> is not a constant expression" + msgstr "%s tidak dapat muncul dalam sebuah konstanta ekspresi" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, fuzzy, gcc-internal-format + #| msgid "integral expression %qE is not constant" + msgid "expression %qE is not a constant expression" + msgstr "ekspresi integral %qE bukan konstan" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, fuzzy, gcc-internal-format + #| msgid "overflow in constant expression" + msgid "% is not a constant expression" + msgstr "overflow dalam konstanta ekspresi" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "contract predicate is false in constant expression" + msgstr "Tipe buruk dalam ekspresi konstanta" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, fuzzy, gcc-internal-format + #| msgid " expected a class template, got %qE" + msgid "unexpected template-id %qE" + msgstr " diduga sebuah template kelas, diperoleh %qE" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, fuzzy, gcc-internal-format + #| msgid "non-function in gimple call" + msgid "function concept must be called" + msgstr "bukan fungsi dalam panggilan gimple" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qD is not an integral constant-expression" + msgid "address of a call to %qs is not a constant expression" + msgstr "ukuran dari array %qD bukan sebuah integral konstan-ekspresi" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, fuzzy, gcc-internal-format + #| msgid "expected expression" + msgid "unexpected expression %qE of kind %s" + msgstr "diduga ekspresi" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, gcc-internal-format + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, fuzzy, gcc-internal-format + #| msgid "invalid cast of an rvalue expression of type %qT to type %qT" + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "cast tidak valid dari sebuah ekspresi rvalue dari tipe %qT ke tipe %qT" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "lambda capture of %qE is not a constant expression" + msgstr "Tipe buruk dalam ekspresi konstanta" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, fuzzy, gcc-internal-format + #| msgid "reinterpret_cast from type %qT to type %qT casts away constness" + msgid "% from integer to pointer" + msgstr "reinterpret_cast dari tipe %qT ke tipe %qT menghilangkan constness" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "use of % in a constant expression" + msgstr "Tipe buruk dalam ekspresi konstanta" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "lambda-expression is not a constant expression before C++17" + msgstr "Tipe buruk dalam ekspresi konstanta" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, fuzzy, gcc-internal-format + #| msgid "%s expression list treated as compound expression" + msgid "new-expression is not a constant expression before C++20" + msgstr "%s daftar ekspresi diperlakukan sebagai ekspresi compound" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual functions cannot be % before C++20" + msgstr "fungsi virtual tidak dapat menjadi friend" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, gcc-internal-format + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "cast to non-integral type %qT in a constant expression" + msgstr "Tipe buruk dalam ekspresi konstanta" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "division by zero is not a constant expression" + msgstr "Tipe buruk dalam ekspresi konstanta" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "% is not a constant expression" + msgstr "Tipe buruk dalam ekspresi konstanta" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, fuzzy, gcc-internal-format + #| msgid "overflow in constant expression" + msgid "neither branch of % is a constant expression" + msgstr "overflow dalam konstanta ekspresi" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, fuzzy, gcc-internal-format + #| msgid "nonconstant array index in initializer" + msgid "non-constant array initialization" + msgstr "indeks array bukan konstan dalam penginisialisasi" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, fuzzy, gcc-internal-format + #| msgid "%s only available with -std=c++0x or -std=gnu++0x" + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "%s hanya tersedia dengan -std=c++0x atau -std=gnu++0x" + +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Unexpected end of file in '%s'" + msgid "unexpected AST of kind %s" +@@ -57033,7 +57022,7 @@ msgstr "" + msgid "% declared here" + msgstr "%q+D dideklarasikan disini" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, fuzzy, gcc-internal-format + #| msgid "%qT has no member named %qE" + msgid "no member named %qE in %qT" +@@ -57140,7 +57129,7 @@ msgstr "argumen ketiga ke %<__builtin_prefetch%> harus berupa sebuah konstan" + msgid "no suspend point info for %qD" + msgstr "tidak ada prototipe sebelumnya untuk %q+D" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "" +@@ -57163,23 +57152,23 @@ msgstr "penunjuk tidak diijinkan sebagai nilai case" + msgid "variable length arrays are not yet supported in coroutines" + msgstr "array dengan panjang bervariabel %qs digunakan" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, fuzzy, gcc-internal-format + #| msgid "cannot initialize aggregate of type %qT with a compound literal" + msgid "cannot initialize a return object of type %qT with an rvalue of type %" +@@ -57726,7 +57715,7 @@ msgstr "dari deklarasi sebelumnya %q+F" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "deklarasi friend %qD dalam kelas lokal tanpa deklarasi sebelumnya" + +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration %q+D" + msgid "previous declaration %qD" +@@ -58187,662 +58176,662 @@ msgstr "%qD bukan sebuah template fungsi" + msgid "%q#T is not a class" + msgstr "%q#T bukan sebuah kelas" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "tidak ada tempat kelas yang bernama %q#T dalam %q#T" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, fuzzy, gcc-internal-format + #| msgid "no class template named %q#T in %q#T" + msgid "no type named %q#T in %q#T" + msgstr "tidak ada tempat kelas yang bernama %q#T dalam %q#T" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, fuzzy, gcc-internal-format + #| msgid "conversion from %qT to %qT is ambiguous" + msgid "lookup of %qT in %qT is ambiguous" + msgstr "konversi dari %qT ke %qT adalah ambigu" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "% nama %q#T, yang bukan sebuah class template" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, fuzzy, gcc-internal-format + #| msgid "% names %q#T, which is not a type" + msgid "% names %q#D, which is not a type" + msgstr "% nama %q#T, yang bukan sebuah tipe" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, fuzzy, gcc-internal-format + #| msgid "template parameters do not match template" + msgid "template parameters do not match template %qD" + msgstr "parameter template tidak cocok dengan template" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, fuzzy, gcc-internal-format + #| msgid "requested alignment is not a power of 2" + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "alignmen yang diminta bukan kelipatan dari 2" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, fuzzy, gcc-internal-format + #| msgid "%q+#D invalid; an anonymous union can only have non-static data members" + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "%q+#D tidak valid; sebuah anonymous union hanya dapat mempunnya anggota data tidak statis" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, fuzzy, gcc-internal-format + #| msgid "anonymous struct not inside named type" + msgid "anonymous struct with base classes" + msgstr "anonymous struct tidak didalam tipe bernama" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "anggota %q+#D dengan konstruktor tidak diijinkan dalam kumpulan anonymous" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "anggota %q+#D dengan desktruktor tidak diijinkan dalam kumpulan anoymous" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "anggota %q+#D dengan operator penempatan salin tidak diperbolehkan dalam kumpulan anonymous" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, fuzzy, gcc-internal-format + #| msgid "attribute ignored in declaration of %q+#T" + msgid "attribute ignored in declaration of %q#T" + msgstr "atribut diabaikan dalam deklarasi dari %q+#T" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, fuzzy, gcc-internal-format + #| msgid "attribute for %q+#T must follow the %qs keyword" + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "atribut untuk %q+#T harus mengikuti kata kunci %qs" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "multiple tipe dalam satu deklarasi" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "redeklarasi dari C++ tipe bawaan %qT" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, fuzzy, gcc-internal-format + #| msgid "%qs can only be specified for functions" + msgid "% can only be specified for variables or function declarations" + msgstr "%qs hanya dapat dispesifikasikan untuk fungsi" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "hilang nama-tipe dalam typedef-deklarasi" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "ISO C++ menghambat struct anonymous" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, fuzzy, gcc-internal-format + #| msgid "%qs can only be specified for functions" + msgid "% can only be specified for functions" + msgstr "%qs hanya dapat dispesifikasikan untuk fungsi" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, fuzzy, gcc-internal-format + #| msgid "%qs can only be specified for functions" + msgid "% can only be specified for functions" + msgstr "%qs hanya dapat dispesifikasikan untuk fungsi" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "% hanya dapat dispesifikasikan didalam sebuah kelas" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "% hanya dapat dispesifikasikan untuk konstruktor" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "sebuah kelas penyimpanan hanya dapat dispesifikasikan untuk objek dan fungsi" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers can only be specified for objects and functions" + msgid "% can only be specified for objects and functions" + msgstr "kualifier hanya dapat dispesifikasikan untuk objek dan fungsi" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers can only be specified for objects and functions" + msgid "% can only be specified for objects and functions" + msgstr "kualifier hanya dapat dispesifikasikan untuk objek dan fungsi" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers can only be specified for objects and functions" + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "kualifier hanya dapat dispesifikasikan untuk objek dan fungsi" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, fuzzy, gcc-internal-format + #| msgid "a storage class can only be specified for objects and functions" + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "sebuah kelas penyimpanan hanya dapat dispesifikasikan untuk objek dan fungsi" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, gcc-internal-format + msgid "% was ignored in this declaration" + msgstr "% telah diabaikan dalam deklarasi ini" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, fuzzy, gcc-internal-format + #| msgid "%qE cannot be used as a function" + msgid "%qs cannot be used for type declarations" + msgstr "%qE tidak dapat digunakan sebagai sebuah fungsi" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, fuzzy, gcc-internal-format + #| msgid "attributes ignored on template instantiation" + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "atribut diabaikan di template instantiation" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute can only be applied to class definitions" + msgid "no attribute can be applied to an explicit instantiation" + msgstr "%qE atribut hanya dapat diaplikasikan ke definisi class" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, gcc-internal-format + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "mengabaikan atribut yang diaplikasikan ke tipe kelas %qT diluar dari definisi" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "mengabaikan atribut yang diaplikasikan ke tipe dependen %qT tanpa sebuah deklarasi yang berasosiasi" + +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, fuzzy, gcc-internal-format + #| msgid "typedef %qD is initialized (use decltype instead)" + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "typedef %qD diinisialisasi (lebih baik gunakan decltype)" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "deklarasi dari %q#D memiliki % dan terinisialisasi" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "definisi dari %q#D ditandai %" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, fuzzy, gcc-internal-format + #| msgid "%q#D is not a non-static data member of %qT" + msgid "%q+#D is not a static data member of %q#T" + msgstr "%q#D bukan sebuah anggota data bukan-statis dari %qT" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, fuzzy, gcc-internal-format + #| msgid "template declaration of %q#D" + msgid "non-member-template declaration of %qD" + msgstr "template deklarasi dari %q#D" + +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, fuzzy, gcc-internal-format + #| msgid "invalid member template declaration %qD" + msgid "does not match member template declaration here" + msgstr "deklarasi anggota template %qD tidak valid" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "ISO C++ tidak mengijinkan %<%T::%D%> untuk didefinisikan sebagai %<%T::%D%>" + +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "duplikasi inisialisasi dari %qD" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "deklarasi dari %q#D diluar dari kelas bukan sebuah definisi" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, fuzzy, gcc-internal-format + #| msgid "%s only available with -std=c++0x or -std=gnu++0x" + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "%s hanya tersedia dengan -std=c++0x atau -std=gnu++0x" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, fuzzy, gcc-internal-format + #| msgid "%s only available with -std=c++0x or -std=gnu++0x" + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "%s hanya tersedia dengan -std=c++0x atau -std=gnu++0x" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "variabel %q#D memiliki penginisialisasi tetapi tipe tidak lengkap" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "elemen dari array %q#D memiliki tipe tidak lengkap" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "kumpulan %q#D memiliki tipe tidak lengkap dan tidak dapat didefinisikan" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "%qD dideklarasikan sebagai referensi tetapi tidak terinisialisasi" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, gcc-internal-format + msgid "name used in a GNU-style designated initializer for an array" + msgstr "nama digunakan dalam sebuah gaya GNU diperuntukan penginisialisasi untuk sebuah array" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "nama %qD digunakan dalam sebuah gaya GNU didesign penginisialisasi untuk sebuah array" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "bukan trivial designated penginisialisasi tidak didukung" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qD is not an integral constant-expression" + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "ukuran dari array %qD bukan sebuah integral konstan-ekspresi" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "penginisialisasi gagal untuk menentukan ukuran dari %qD" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, gcc-internal-format + msgid "array size missing in %qD" + msgstr "ukuran array hilang dalam %qD" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, gcc-internal-format + msgid "zero-size array %qD" + msgstr "array berukuran-nol %qD" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, fuzzy, gcc-internal-format + #| msgid "storage size of %q+D isn%'t known" + msgid "storage size of %qD isn%'t known" + msgstr "ukuran penyimpanan dari %q+D tidak diketahui" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, fuzzy, gcc-internal-format + #| msgid "storage size of %q+D isn%'t constant" + msgid "storage size of %qD isn%'t constant" + msgstr "ukuran penyimpanan dari %q+D bukan konstant" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, fuzzy, gcc-internal-format + #| msgid "sorry: semantics of inline function static data %q+#D are wrong (you'll wind up with multiple copies)" + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "maaf: semantik dari fungsi inline data statis %q+#D salah (anda akan berputar putar dengan beberap salinan)" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, fuzzy, gcc-internal-format + #| msgid "sorry: semantics of inline function static data %q+#D are wrong (you'll wind up with multiple copies)" + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "maaf: semantik dari fungsi inline data statis %q+#D salah (anda akan berputar putar dengan beberap salinan)" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, fuzzy, gcc-internal-format + #| msgid "%J you can work around this by removing the initializer" + msgid "you can work around this by removing the initializer" + msgstr "%J anda dapat memperbaiki ini dengan menghapus penginisialisasi" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, fuzzy, gcc-internal-format + #| msgid "uninitialized const %qD" + msgid "uninitialized %" + msgstr "tidak terinisialisasi const %qD" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, fuzzy, gcc-internal-format + #| msgid "register variable %qD used in nested function" + msgid "uninitialized variable %qD in % function" + msgstr "variabel register %qD digunakan dalam fungsi nested" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, fuzzy, gcc-internal-format + #| msgid "%Juninitialized member %qD with % type %qT" + msgid "uninitialized variable %qD in % context" + msgstr "%J anggota tidak terinisialisasi %qD dengan % tipe %qT" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, fuzzy, gcc-internal-format + #| msgid "type %qs has a user-defined constructor" + msgid "%q#T has no user-provided default constructor" + msgstr "tipe %qs memiliki sebuah konstruktor yang didefinisikan pengguna" + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "tipe tidak valid %qT sebagai penginisialisasi untuk sebuah vektor dari tipe %qT" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "penginisialisasi untuk %qT harus berupa kurung dilingkupi" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, fuzzy, gcc-internal-format + #| msgid "name %qD used in a GNU-style designated initializer for an array" + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "nama %qD digunakan dalam sebuah gaya GNU didesign penginisialisasi untuk sebuah array" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "%qT memiliki anggota data tidak statis bernama %qD" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a member of %qT" + msgid "%qD is not a direct member of %qT" + msgstr "%qD bukan sebuah anggota dari %qT" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer" + msgid "invalid initializer for %q#D" + msgstr "penginisialisasi tidak valid" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "terlalu banyak penginisialisasi untuk %qT" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "kurung disekitar penginisialisasi skalar untuk tipe %qT" + +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, fuzzy, gcc-internal-format + #| msgid "braces around scalar initializer for type %qT" + msgid "too many braces around scalar initializer for type %qT" + msgstr "kurung disekitar penginisialisasi skalar untuk tipe %qT" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "hilang kurung diantara penginisialisasi untuk %qT" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, fuzzy, gcc-internal-format + #| msgid "parameter %P has incomplete type %qT" + msgid "structured binding has incomplete type %qT" + msgstr "parameter %P memiliki tipe tidak lengkap %qT" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, gcc-internal-format + msgid "elements of array %q#T have incomplete type" + msgstr "elemen dari array %q#T memiliki tipe tidak lengkap" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, gcc-internal-format + msgid "variable-sized compound literal" + msgstr "ukuran-variabel compound literals" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, fuzzy, gcc-internal-format + #| msgid "%qD has incomplete type" + msgid "%q#D has incomplete type" + msgstr "%qD memiliki tipe tidak lengkap" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, gcc-internal-format + msgid "scalar object %qD requires one element in initializer" + msgstr "objek skalar %qD membutuhkan satu elemen dalam penginisialisasi" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, gcc-internal-format + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "dalam C++98 %qD harus diinisialisasi dengan konstruktor, bukan dengan %<{...}%>" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "array %qD diinisialisasi dengan tanda kurung string literal %qE" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "penginisialisasi tidak valid untuk anggota statis dengan konstruktor" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "ISO C++ melarang dalam kelas inisialisasi dari anggota statis bukan const %qD" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "ISO C++ melarang dalam kelas inisialisasi dari anggota statis bukan const %qD" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "(diluar dari kelas inisialisasi dibutuhkan)" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, fuzzy, gcc-internal-format + #| msgid "parameter %qD is initialized" + msgid "reference %qD is initialized with itself" + msgstr "parameter %qD dinisialisasi" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, fuzzy, gcc-internal-format + #| msgid "%<[*]%> not in a declaration" + msgid "could not find variant declaration" + msgstr "%<[*]%> tidak dalam sebuah deklarasi" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, fuzzy, gcc-internal-format + #| msgid "redeclaration of enumerator %q+D" + msgid "% on constructor %qD" + msgstr "redeklarasi dari enumerator %q+D" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, fuzzy, gcc-internal-format + #| msgid "redeclaration of enumerator %q+D" + msgid "% on destructor %qD" + msgstr "redeklarasi dari enumerator %q+D" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, fuzzy, gcc-internal-format + #| msgid "declaration of template %q#D" + msgid "% on defaulted %qD" + msgstr "deklarasi dari template %q#D" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, fuzzy, gcc-internal-format + #| msgid "declaration of template %q#D" + msgid "% on deleted %qD" + msgstr "deklarasi dari template %q#D" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a % %s" + msgid "% on virtual %qD" + msgstr "%qD dideklarasikan sebagai sebuah % %s" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "penempatan (tidak terinisialisasi) dalam deklarasi" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not allow designated initializers" + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "ISO C++ tidak mengijinkan designated penginisialisasi" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, fuzzy, gcc-internal-format + #| msgid "storage class specified for %qs" + msgid "% storage class specifier used" + msgstr "kelas penyimpanan dispesifikasikan untuk %qs" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "deklarasi dari %q#D tidak memiliki penginisialisasi" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, gcc-internal-format + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, fuzzy, gcc-internal-format + #| msgid "return type %q#T is incomplete" + msgid "deduced type %qT for %qD is incomplete" + msgstr "tipe kembali %q#T tidak lengkap" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, fuzzy, gcc-internal-format + #| msgid "variable-sized object may not be initialized" + msgid "variable concept has no initializer" + msgstr "objek berukuran-variabel tidak boleh diinisialisasi" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "membayangi tipe deklarasi sebelumnya dari %q#D" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, gcc-internal-format + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "fungsi %q#D telah dinisialisasi seperti sebuah variabel" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, fuzzy, gcc-internal-format + #| msgid " cannot use obsolete binding at %q+D because it has a destructor" + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr " tidak dapat menggunakan obsolete binding di %q+D karena ini memiliki sebuah desktruktor" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, fuzzy, gcc-internal-format + #| msgid "%qT is an inaccessible base of %qT" + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "%qT adalah sebuah dasar tidak dapat diakses dari %qT" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, fuzzy, gcc-internal-format + #| msgid "cannot increment a pointer to incomplete type %qT" + msgid "structured binding refers to incomplete type %qT" + msgstr "tidak dapat meningkatkan sebuah penunjuk ke tipe tidak lengkap %qT" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 forbids variable length array %qs" + msgid "cannot decompose variable length array %qT" + msgstr "ISO C90 melarang array dengan panjang bervariabel %qs" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%Hinitializer provided for function" + msgid "%u name provided for structured binding" +@@ -58850,1840 +58839,1840 @@ msgid_plural "%u names provided for structured binding" + msgstr[0] "%Hpenginisialisasi disediakan untuk fungsi" + msgstr[1] "%Hpenginisialisasi disediakan untuk fungsi" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare pointer to %q#T" + msgid "cannot decompose variable length vector %qT" + msgstr "tidak dapat mendeklarasikan penunjuk ke %q#T" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, fuzzy, gcc-internal-format + #| msgid "size of array is not an integral constant-expression" + msgid "%::value%> is not an integral constant expression" + msgstr "ukuran dari array bukan sebuah integral konstan ekspresi" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, fuzzy, gcc-internal-format + #| msgid "initialization string truncated to match variable at %L" + msgid "in initialization of structured binding variable %qD" + msgstr "inisialisasi dari string terpotong untuk mencocokan dengan variabel di %L" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %s to qualified function type %qT" + msgid "cannot decompose union type %qT" + msgstr "tidak dapat mendeklarasikan %s untuk fungsi yang dikualifikasikan dengan tipe %qT" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member of non-class type %qT" + msgid "cannot decompose non-array non-class type %qT" + msgstr "membuat penunjuk ke anggota dari tipe bukan kelas %qT" + +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, fuzzy, gcc-internal-format + #| msgid "cannot decompose address" + msgid "cannot decompose lambda closure type %qT" + msgstr "tidak dapat menguraikan alamat" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, fuzzy, gcc-internal-format + #| msgid "cannot increment a pointer to incomplete type %qT" + msgid "structured binding refers to incomplete class type %qT" + msgstr "tidak dapat meningkatkan sebuah penunjuk ke tipe tidak lengkap %qT" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, fuzzy, gcc-internal-format + #| msgid "cannot apply % to static data member %qD" + msgid "cannot decompose class type %qT without non-static data members" + msgstr "tidak dapat menjalankan % ke anggota data statis %qD" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, fuzzy, gcc-internal-format + #| msgid "initializer fails to determine size of %qD" + msgid "initializer fails to determine size of %qT" + msgstr "penginisialisasi gagal untuk menentukan ukuran dari %qD" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, fuzzy, gcc-internal-format + #| msgid "array size missing in %qD" + msgid "array size missing in %qT" + msgstr "ukuran array hilang dalam %qD" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, fuzzy, gcc-internal-format + #| msgid "zero-size array %qD" + msgid "zero-size array %qT" + msgstr "array berukuran-nol %qD" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "desktruktor untuk alien kelas %qT tidak dapat berupa sebuah anggota" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "konstruktor untuk alien kelas %qT tidak dapt berupa sebuah anggota" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a % %s" + msgid "%qD declared as a % variable" + msgstr "%qD dideklarasikan sebagai sebuah % %s" + +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, fuzzy, gcc-internal-format + #| msgid "% and % function specifiers on %qD invalid in %s declaration" + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "% dan % fungsi penspesifikasi di %qD tidak valid dalam %s deklarasi" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a % %s" + msgid "%qD declared as a % parameter" + msgstr "%qD dideklarasikan sebagai sebuah % %s" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as an % %s" + msgid "%qD declared as an % parameter" + msgstr "%qD dideklarasikan sebagai sebuah % %s" + +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, fuzzy, gcc-internal-format + #| msgid "% and % function specifiers on %qD invalid in %s declaration" + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "% dan % fungsi penspesifikasi di %qD tidak valid dalam %s deklarasi" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a % %s" + msgid "%qD declared as a % type" + msgstr "%qD dideklarasikan sebagai sebuah % %s" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as an % %s" + msgid "%qD declared as an % type" + msgstr "%qD dideklarasikan sebagai sebuah % %s" + +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, fuzzy, gcc-internal-format + #| msgid "% and % function specifiers on %qD invalid in %s declaration" + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "% dan % fungsi penspesifikasi di %qD tidak valid dalam %s deklarasi" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a % %s" + msgid "%qD declared as a % field" + msgstr "%qD dideklarasikan sebagai sebuah % %s" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as an % %s" + msgid "%qD declared as an % field" + msgstr "%qD dideklarasikan sebagai sebuah % %s" + +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, fuzzy, gcc-internal-format + #| msgid "% and % function specifiers on %qD invalid in %s declaration" + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "% dan % fungsi penspesifikasi di %qD tidak valid dalam %s deklarasi" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "%q+D dideklarasikan sebagai sebuah friend" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "%q+D dideklarasikan dengan spesifikasi eksepsi" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "definisi dari %qD tidak dalam namespace melingkupi %qT" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "anggota fungsi statis %q#D dideklarasikan dengan tipe pengkualifikasi" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared as a non-parameter" + msgid "concept %q#D declared with function parameters" + msgstr "%q+D dideklarasikan sebagai sebuah bukan-parameter" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, fuzzy, gcc-internal-format + #| msgid "parameter %q+D declared with void type" + msgid "concept %q#D declared with a deduced return type" + msgstr "parameter %q+D dideklarasikan dengan tipe void" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, fuzzy, gcc-internal-format + #| msgid "Java method %qD has non-Java return type %qT" + msgid "concept %q#D with non-% return type %qT" + msgstr "metoda Java %qD memiliki tipe kembali %qT bukan Java" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-function" + msgid "concept %qD has no definition" + msgstr "deklarasi dari %qD sebagai bukan fungsi" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "a function concept cannot be constrained" + msgstr "fungsi virtual tidak dapat menjadi friend" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a template function" + msgid "constraints on a non-templated function" + msgstr "%qD bukan sebuah fungsi template" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "mendifinisikan eksplisit spesialisasi %qD dalam deklarasi friend" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "penggunaan tidak valid dari template-id %qD dalam deklarasi dari primary template" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "argumen baku tidak diijinkan dalam deklarasi dari spesialisasi template friend %qD" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "% tidak diijinkan dalam deklarasi dari spesialisasi template friend %qD" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %q#D outside of class is not definition" + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "deklarasi dari %q#D diluar dari kelas bukan sebuah definisi" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "tidak dapat mendeklarasikan %<::main%> untuk menjadi sebuah template" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "tidak dapat mendeklarasikan %<::main%> untuk menjadi inline" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %<::main%> to be static" + msgid "cannot declare %<::main%> to be %qs" + msgstr "tidak dapat mendeklarasikan %<::main%> untuk menjadi statis" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "tidak dapat mendeklarasikan %<::main%> untuk menjadi statis" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, gcc-internal-format + msgid "static member function %qD cannot have cv-qualifier" + msgstr "anggota fungsi statis %qD tidak dapat memiliki cv kualifier" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, gcc-internal-format + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "fungsi bukan-anggota %qD tidak dapat memiliki cv-kualifier" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, fuzzy, gcc-internal-format + #| msgid "static member function %qD cannot have cv-qualifier" + msgid "static member function %qD cannot have ref-qualifier" + msgstr "anggota fungsi statis %qD tidak dapat memiliki cv kualifier" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, fuzzy, gcc-internal-format + #| msgid "non-member function %qD cannot have cv-qualifier" + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "fungsi bukan-anggota %qD tidak dapat memiliki cv-kualifier" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, gcc-internal-format + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, fuzzy, gcc-internal-format + #| msgid "Binding at %C must have the same access as already defined binding '%s'" + msgid "deduction guide %qD must have the same access as %qT" + msgstr "Binding di %C harus memiliki akses sama seperti telah didefinisikan binding '%s'" + +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-function" + msgid "deduction guide %qD must not have a function body" + msgstr "deklarasi dari %qD sebagai bukan fungsi" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, fuzzy, gcc-internal-format + #| msgid "%Htemplate with C linkage" + msgid "literal operator with C linkage" + msgstr "%Htemplate dengan C linkage" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, fuzzy, gcc-internal-format + #| msgid "invalid option argument %qs" + msgid "%qD has invalid argument list" + msgstr "pilihan argumen %qs tidak valid" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, gcc-internal-format + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be a nonstatic member function" + msgid "%qD must be a non-member function" + msgstr "%qD harus berupa sebuah anggota fungsi tidak statis" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, gcc-internal-format + msgid "%<::main%> must return %" + msgstr "%<::main%> harus kembali %" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "definisi dari secara implisit dideklarasikan %qD" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, fuzzy, gcc-internal-format + #| msgid "definition of implicitly-declared %qD" + msgid "definition of explicitly-defaulted %q+D" + msgstr "definisi dari secara implisit dideklarasikan %qD" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, fuzzy, gcc-internal-format + #| msgid "%q+#D previously defined here" + msgid "%q#D explicitly defaulted here" + msgstr "%q+#D sebelumnya didefinisikan disini" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "bukan %q#D anggota fungsi dideklarasikan dalam kelas %qT" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %<::main%> to be a template" + msgid "cannot declare %<::main%> to be a global variable" + msgstr "tidak dapat mendeklarasikan %<::main%> untuk menjadi sebuah template" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, fuzzy, gcc-internal-format + #| msgid "automatic variable %qE cannot be %" + msgid "a non-template variable cannot be %" + msgstr "variabel otomatis %qE tidak dapat berupa %" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, fuzzy, gcc-internal-format + #| msgid "strong using only meaningful at namespace scope" + msgid "concept must be defined at namespace scope" + msgstr "strong using hanya berarti di lingkup namespace" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, fuzzy, gcc-internal-format + #| msgid "variable-sized object may not be initialized" + msgid "a variable concept cannot be constrained" + msgstr "objek berukuran-variabel tidak boleh diinisialisasi" + +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "tidak valid dalam kelas penginisialisasian dari anggota data statis dari tipe bukan integral %qT" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "tidak valid dalam kelas penginisialisasian dari anggota data statis dari tipe bukan integral %qT" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "tidak valid dalam kelas penginisialisasian dari anggota data statis dari tipe bukan integral %qT" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "tidak valid dalam kelas penginisialisasian dari anggota data statis dari tipe bukan integral %qT" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "ISO C++ melarang dalam kelas inisialisasi dari anggota statis bukan const %qD" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "ISO C++ melarang inisialisasi dari anggota constant %qD dari bukan integral tipe %qT" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "ukuran dari array %qD memiliki tipe bukan integral %qT" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "ukuran dari array memiliki tipe %qT bukan integral" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "ukuran dari array %qD bukan sebuah integral konstan-ekspresi" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "ukuran dari array bukan sebuah integral konstan ekspresi" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "ISO C++ melarang array berukuran-nol %qD" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "ISO C++ melarang array berukuran-nol" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array %qD" + msgstr "ISO C++ melarang array dengan variabel panjang %qD" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array" + msgstr "ISO C++ melarang array dengan variabel panjang" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "array dengan panjang bervariabel %qD digunakan" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "array dengan panjang bervariabel digunakan" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "overflow dalam dimensi array" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, gcc-internal-format + msgid "%qD declared as array of template placeholder type %qT" + msgstr "" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member reference type %qT" + msgid "creating array of template placeholder type %qT" + msgstr "membuat penunjuk ke anggota referensi tipe %qT" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of voids" + msgid "declaration of %qD as array of void" + msgstr "deklarasi dari %qs sebagai dari voids" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, fuzzy, gcc-internal-format + #| msgid "creating array of %qT" + msgid "creating array of void" + msgstr "membuat array dari %qT" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of functions" + msgid "declaration of %qD as array of functions" + msgstr "deklarasi dari %qs sebagai array dari fungsi" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, fuzzy, gcc-internal-format + #| msgid "creating array of %qT" + msgid "creating array of functions" + msgstr "membuat array dari %qT" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of functions" + msgid "declaration of %qD as array of references" + msgstr "deklarasi dari %qs sebagai array dari fungsi" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, fuzzy, gcc-internal-format + #| msgid "creating array of %qT" + msgid "creating array of references" + msgstr "membuat array dari %qT" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of functions" + msgid "declaration of %qD as array of function members" + msgstr "deklarasi dari %qs sebagai array dari fungsi" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of functions" + msgid "creating array of function members" + msgstr "deklarasi dari %qs sebagai array dari fungsi" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "deklarasi dari %qD sebagai array multidimensi harus memiliki batasan untuk seluruh dimensi kecuali yang pertama" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "array multidimensi harus memiliki batasan untuk seluruh dimensi kecuali yang pertama" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, fuzzy, gcc-internal-format + #| msgid "variable length array is used" + msgid "variable-length array of %" + msgstr "array dengan panjang bervariabel digunakan" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "spesifikasi tipe kembali untuk konstruktor tidak valid" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on constructor declaration" + msgstr "kualifier tidak diijinkan dalam deklarasi dari %" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "spesifikasi tipe kembali untuk desktruktor tidak valid" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on destructor declaration" + msgstr "kualifier tidak diijinkan dalam deklarasi dari %" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, gcc-internal-format + msgid "return type specified for %" + msgstr "tipe kembali yang dispesifikasikan untuk %" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "kualifier tidak diijinkan dalam deklarasi dari %" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, fuzzy, gcc-internal-format + #| msgid "return type specification for destructor invalid" + msgid "return type specified for deduction guide" + msgstr "spesifikasi tipe kembali untuk desktruktor tidak valid" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "kualifier tidak diijinkan dalam deklarasi dari %" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, fuzzy, gcc-internal-format + #| msgid "too many template parameter lists in declaration of %qD" + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "terlalu banyak daftar parameter template dalam deklarasi dari %qD" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, fuzzy, gcc-internal-format + #| msgid "conflicting specifiers in declaration of %qs" + msgid "% in declaration of deduction guide" + msgstr "penspesifikasi konflik dalam deklarasi dari %qs" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "variabel tidak bernama atau field dideklarasikan void" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "variabel atau field dideklarasikan void" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, fuzzy, gcc-internal-format + #| msgid "% specifier invalid for function %qs declared out of global scope" + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "% penspesifikasi tidak valid untuk fungsi %qs dideklarasikan diluar dari lingkup global" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, fuzzy, gcc-internal-format + #| msgid "%s only available with -std=c++0x or -std=gnu++0x" + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "%s hanya tersedia dengan -std=c++0x atau -std=gnu++0x" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "% cannot be cv-qualified" + msgstr "desktruktor mungkin berupa cv-kualified" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "penggunaan tidak valid dari nama kualifikasi %<::%D%>" + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "penggunaan tidak valid dari nama kualifikasi %<%T::%D%>" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "penggunaan tidak valid dari nama kualifikasi %<%D::%D%>" + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, fuzzy, gcc-internal-format + #| msgid "%qT is not a class or namespace" + msgid "%q#T is not a class or namespace" + msgstr "%qT bukan sebuah class atau namespace" + +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-function" + msgid "declaration of %qE as non-function" + msgstr "deklarasi dari %qD sebagai bukan fungsi" + +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-member" + msgid "declaration of %qE as non-member" + msgstr "deklarasi dari %qD sebagai bukan anggota" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "id pendeklarasi hilang; menggunaka kata reserved %qD" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "definisi fungsi tidak mendeklarasikan parameter" + +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "deklarasi dari %qD sebagai bukan fungsi" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as %s" + msgid "declaration of %qD as %" + msgstr "deklarasi dari %qD sebagai %s" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %q+D shadows a parameter" + msgid "declaration of %qD as parameter" + msgstr "deklarasi dari %q+D membayangi sebuah parameter" + +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, gcc-internal-format + msgid "both %qs and %qs specified" + msgstr "" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, fuzzy, gcc-internal-format + #| msgid "missing type-name in typedef-declaration" + msgid "%qs cannot appear in a typedef declaration" + msgstr "hilang nama-tipe dalam typedef-deklarasi" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "dua atau lebih tipe data dalam deklarasi dari %qs" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support plain % meaning %" + msgid "ISO C++ does not support plain % meaning %" + msgstr "ISO C tidak mendukung plain % yang berarti %" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "ISO C++ melarang deklarasi dari %qs dengan tidak ada tipe" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, fuzzy, gcc-internal-format + #| msgid "__builtin_saveregs not supported by this target" + msgid "%<__int%d%> is not supported by this target" + msgstr "__builtin_saveregs tidak didukung oleh target ini" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ 1998 does not support %" + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "ISO C++ 1998 tidak mendukung %" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, fuzzy, gcc-internal-format + #| msgid "% and % specified together for %qs" + msgid "% and % specified together" + msgstr "% dan % dispesifikasikan bersama untuk %qs" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, fuzzy, gcc-internal-format + #| msgid "% and % specified together for %qs" + msgid "% and % specified together" + msgstr "% dan % dispesifikasikan bersama untuk %qs" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, fuzzy, gcc-internal-format + #| msgid "no class name specified with %qs" + msgid "%qs specified with %qT" + msgstr "tidak ada nama class dispesifikasikan dengan %qs" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, fuzzy, gcc-internal-format + #| msgid "no class name specified with %qs" + msgid "%qs specified with %qD" + msgstr "tidak ada nama class dispesifikasikan dengan %qs" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, fuzzy, gcc-internal-format + #| msgid "%qs not specified in enclosing parallel" + msgid "%qs specified with %" + msgstr "%qs tidak dispesifikan dalam parallel yang melingkupi" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, fuzzy, gcc-internal-format + #| msgid "%<__thread%> used with %" + msgid "%qs specified with %" + msgstr "%<__thread%> digunakan dengan %" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, gcc-internal-format + msgid "complex invalid for %qs" + msgstr "kompleks tidak valid untuk %qs" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, fuzzy, gcc-internal-format + #| msgid "member %qD cannot be declared both virtual and static" + msgid "member %qD cannot be declared both % and %" + msgstr "anggota %qD tidak dapat dideklarasikan baik virtual dan statis" + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, fuzzy, gcc-internal-format + #| msgid "member %qD cannot be declared both virtual and static" + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "anggota %qD tidak dapat dideklarasikan baik virtual dan statis" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "type deklarasi tidak valid dalam parameter deklarasi" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, fuzzy, gcc-internal-format + #| msgid "storage class specified for parameter %qs" + msgid "storage class specified for template parameter %qs" + msgstr "class penyimpanan dispesifikasikan untuk parameter %qs" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "class penyimpanan dispesifikasikan untuk parameter %qs" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, fuzzy, gcc-internal-format + #| msgid "template parameters cannot be friends" + msgid "a parameter cannot be declared %qs" + msgstr "parameter template tidak dapat berupa friends" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "% diluar deklarasi kelas" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, fuzzy, gcc-internal-format + #| msgid "attribute ignored in declaration of %q+#T" + msgid "structured binding declaration cannot be %qs" + msgstr "atribut diabaikan dalam deklarasi dari %q+#T" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, gcc-internal-format + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, gcc-internal-format + msgid "%-qualified structured binding is deprecated" + msgstr "" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, gcc-internal-format + msgid "structured binding declaration cannot be C++98 %" + msgstr "" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, fuzzy, gcc-internal-format + #| msgid "attribute ignored in declaration of %q+#T" + msgid "structured binding declaration cannot have type %qT" + msgstr "atribut diabaikan dalam deklarasi dari %q+#T" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, gcc-internal-format + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, gcc-internal-format + msgid "multiple storage classes in declaration of %qs" + msgstr "multiple storage kelas dalam deklarasi dari %qs" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "kelas penyimpanan dispesifikasikan untuk %qs" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "fungsi nested %qs dideklarasikan %" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "top-level deklarasi dari %qs menspesifikasikan %" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "lingkup-fungsi %qs secara implisit auto dan dideklarasikan %<__thread%>" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "spesifikasi kelas penyimpanan tidak valid dalam deklarasi fungsi friend" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored" + msgid "attribute ignored" + msgstr "%qE atribut diabaikan" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, fuzzy, gcc-internal-format + #| msgid "multiple storage classes in declaration of %qs" + msgid "unnecessary parentheses in declaration of %qs" + msgstr "multiple storage kelas dalam deklarasi dari %qs" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, fuzzy, gcc-internal-format + #| msgid "Expected left parenthesis" + msgid "remove parentheses" + msgstr "Diduga parenthesis kiri" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, gcc-internal-format + msgid "requires-clause on return type" + msgstr "" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, fuzzy, gcc-internal-format + #| msgid "%qs function uses % type specifier without late return type" + msgid "%qs function uses % type specifier without trailing return type" + msgstr "%qs fungsi menggunakan penspesifikasi tipe % tanpa tipe kembali late" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, fuzzy, gcc-internal-format + #| msgid "%s only available with -std=c++0x or -std=gnu++0x" + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "%s hanya tersedia dengan -std=c++0x atau -std=gnu++0x" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual function cannot have deduced return type" + msgstr "fungsi virtual tidak dapat menjadi friend" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, fuzzy, gcc-internal-format + #| msgid "%qs function with late return type has %qT as its type rather than plain %" + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "%qs fungsi dengan tipe kembali late memiliki %qT sebagai tipenya daripada plain %" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, fuzzy, gcc-internal-format + #| msgid "%qs function with late return type has %qT as its type rather than plain %" + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "%qs fungsi dengan tipe kembali late memiliki %qT sebagai tipenya daripada plain %" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %" + msgid "invalid use of %" + msgstr "penggunaan tidak valid dari %" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, fuzzy, gcc-internal-format + #| msgid "type qualifiers ignored on function return type" + msgid "deduced class type %qD in function return type" + msgstr "tipe pengkualifikasi diabaikan di tipe kembali fungsi" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, gcc-internal-format + msgid "deduction guide for %qT must have trailing return type" + msgstr "" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, fuzzy, gcc-internal-format + #| msgid "%s only available with -std=c++0x or -std=gnu++0x" + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "%s hanya tersedia dengan -std=c++0x atau -std=gnu++0x" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, fuzzy, gcc-internal-format + #| msgid "%qs function with late return type not declared with % type specifier" + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "%qs fungsi dengan tipe kembali late tidak dideklarasikan dengan penspesifikasi tipe %" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, gcc-internal-format + msgid "a conversion function cannot have a trailing return type" + msgstr "" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, gcc-internal-format + msgid "%-qualified return type is deprecated" + msgstr "" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, gcc-internal-format + msgid "%qs declared as function returning a function" + msgstr "%qs dideklarasikan sebagai fungsi yang mengembalikan sebuah fungsi" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "%qs dideklarasikan sebagai fungsi yang mengembalikan sebuah array" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, fuzzy, gcc-internal-format + #| msgid "% function returns non-void value" + msgid "% on function return type is not allowed" + msgstr "% fungsi mengembalikan nilai bukan-void" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "desktruktor tidak dapat berupa anggota statis fungsi" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, fuzzy, gcc-internal-format + #| msgid "destructor cannot be static member function" + msgid "constructor cannot be static member function" + msgstr "desktruktor tidak dapat berupa anggota statis fungsi" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "desktruktor mungkin berupa cv-kualified" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "constructors may not be cv-qualified" + msgstr "desktruktor mungkin berupa cv-kualified" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "destructors may not be ref-qualified" + msgstr "desktruktor mungkin berupa cv-kualified" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "constructors may not be ref-qualified" + msgstr "desktruktor mungkin berupa cv-kualified" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, fuzzy, gcc-internal-format + #| msgid "constructors cannot be declared virtual" + msgid "constructors cannot be declared %" + msgstr "konstruktor tidak dapat dideklarasikan virtual" + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "fungsi virtual tidak dapat menjadi friend" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "deklarasi friend tidak dalam definisi kelas" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, fuzzy, gcc-internal-format + #| msgid "can't define friend function %qs in a local class definition" + msgid "cannot define friend function %qs in a local class definition" + msgstr "tidak dapat mendefinisikan fungsi friend %qs dalam sebuah definisi lokal kelas" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "destruktor mungkin tidak memiliki parameter" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "tidak dapat mendeklarasikan penunjuk ke %q#T" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "tidak dapat mendeklarasikan referensi ke %q#T" + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "tidak dapat mendeklarasikan penunjuk ke %q#T anggota" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %s to qualified function type %qT" + msgid "cannot declare reference to qualified function type %qT" + msgstr "tidak dapat mendeklarasikan %s untuk fungsi yang dikualifikasikan dengan tipe %qT" + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %s to qualified function type %qT" + msgid "cannot declare pointer to qualified function type %qT" + msgstr "tidak dapat mendeklarasikan %s untuk fungsi yang dikualifikasikan dengan tipe %qT" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "tidak dapat mendeklarasikan referensi ke %q#T, yang bukan sebuah typedef atau sebuah argumen tipe template" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "template-id %qD digunakan sebagai sebuah pendeklarasi" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "anggota fungsi secara implisit friends dari kelasnya" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "ekstra kualifikasi %<%T::%> di anggota %qs" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, fuzzy, gcc-internal-format + #| msgid "cannot define member function %<%T::%s%> within %<%T%>" + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "tidak dapat mendefinisikan anggota fungsi %<%T::%s%> dalam %<%T%>" + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare member %<%T::%s%> within %qT" + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "tidak dapat mendeklarasikan anggota %<%T::%s%> dalam %qT" + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "tidak dapat mendeklarasikan anggota %<%T::%s%> dalam %qT" + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, gcc-internal-format + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "bukan parameter %qs tidak dapat menjadi parameter pack" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "anggota member tidak boleh memiliki tipe variabel termodifikasi %qT" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "parameter mungkin tidak memiliki tipe variabel termodifikasi %qT" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, fuzzy, gcc-internal-format + #| msgid "% outside class declaration" + msgid "% outside class declaration" + msgstr "% diluar deklarasi kelas" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, fuzzy, gcc-internal-format + #| msgid "% in empty declaration" + msgid "% in friend declaration" + msgstr "% dalam deklarasi kosong" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, fuzzy, gcc-internal-format + #| msgid "only declarations of constructors can be %" + msgid "only declarations of constructors and conversion operators can be %" + msgstr "hanya deklarasi dari konstruktor yang dapan berupa %" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "bukan-anggota %qs tidak dapat dideklarasikan %" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "anggota bukan-objek %qs tidak dapat dideklarasikan %" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "fungsi %qs tidak dapat dideklarasikan %" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, fuzzy, gcc-internal-format + #| msgid "static %qs cannot be declared %" + msgid "% %qs cannot be declared %" + msgstr "statis %qs tidak dapat dideklarasikan %" + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, fuzzy, gcc-internal-format + #| msgid "const %qs cannot be declared %" + msgid "% %qs cannot be declared %" + msgstr "const %qs tidak dapat dideklarasikan %" + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, fuzzy, gcc-internal-format + #| msgid "function %qs cannot be declared %" + msgid "reference %qs cannot be declared %" + msgstr "fungsi %qs tidak dapat dideklarasikan %" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, fuzzy, gcc-internal-format + #| msgid "%Hattributes are not allowed on a function-definition" + msgid "typedef may not be a function definition" + msgstr "%Hatribut tidak diijinkan dalam sebuah definisi fungsi" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, fuzzy, gcc-internal-format + #| msgid "destructor cannot be static member function" + msgid "typedef may not be a member function definition" + msgstr "desktruktor tidak dapat berupa anggota statis fungsi" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, fuzzy, gcc-internal-format + #| msgid "%H%<[*]%> not allowed in other than a declaration" + msgid "% not allowed in alias declaration" + msgstr "%H%<[*]%> tidak diijinkan selain dalam sebuah deklarasi" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, fuzzy, gcc-internal-format + #| msgid "parameter declared %" + msgid "typedef declared %" + msgstr "parameter dideklarasikan %" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, fuzzy, gcc-internal-format + #| msgid "%Jtypedef name may not be a nested-name-specifier" + msgid "typedef name may not be a nested-name-specifier" + msgstr "%J typedef nama mungkin berupa sebuah nested-name-specifier" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "ISO C++ melarang tipe nested %qD dengan nama sama seperti kelas yang melingkupi" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "% dispesifikan untuk deklarasi kelas friend" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "parameter template tidak dapat berupa friends" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "deklarasi friend membutuhkan kunci kelas, i.e. %" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "deklarasi friend membutuhkan class-key, i.e. %" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "mencoba untuk membuat kelas %qT sebuah friend dari lingkup global" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "kualifier tidak valid di tipe fungsi bukan anggota" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "deklarasi abstrak %qT digunakan sebagai deklarasi" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, fuzzy, gcc-internal-format + #| msgid "redeclaration of C++ built-in type %qT" + msgid "requires-clause on declaration of non-function type %qT" + msgstr "redeklarasi dari C++ tipe bawaan %qT" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "tidak dapat menggunakan %<::%> dalam parameter deklarasi" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare parameter %q+D to be of abstract type %qT" + msgid "cannot declare a parameter with %" + msgstr "tidak dapat mendeklarasikan parameter %q+D untuk menjadi tipe abstrak %qT" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, fuzzy, gcc-internal-format + #| msgid "%H% may not be used in this context" + msgid "% parameter not permitted in this context" + msgstr "%H% mungkin tidak digunakan dalam konteks ini" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, gcc-internal-format + msgid "parameter declared %" + msgstr "parameter dideklarasikan %" + +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, fuzzy, gcc-internal-format + #| msgid "%Hinvalid use of template-name %qE without an argument list" + msgid "invalid use of template-name %qE without an argument list" + msgstr "%Hpenggunaan tidak vlaid dari nama template %qE tanpa sebuah daftar argumen" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, fuzzy, gcc-internal-format + #| msgid "static member %qD declared %" + msgid "non-static data member declared with placeholder %qT" + msgstr "anggota statis %qD dideklarasikan %" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids zero-size array %qD" + msgid "ISO C++ forbids flexible array member %qs" + msgstr "ISO C++ melarang array berukuran-nol %qD" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 does not support flexible array members" + msgid "ISO C++ forbids flexible array members" + msgstr "ISO C90 tidak mendukung keanggotaan array fleksibel" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, gcc-internal-format + msgid "invalid use of %<::%>" + msgstr "penggunaan tidak valid dari %<::%>" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, fuzzy, gcc-internal-format + #| msgid "declaration of C function %q#D conflicts with" + msgid "declaration of function %qD in invalid context" + msgstr "deklarasi dari C fungsi %q#D konflik dengan" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, fuzzy, gcc-internal-format + #| msgid "function %qD declared virtual inside a union" + msgid "function %qD declared % inside a union" + msgstr "fungsi %qD dideklarasikan virtual didalam sebuah union" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, fuzzy, gcc-internal-format + #| msgid "%qD cannot be declared virtual, since it is always static" + msgid "%qD cannot be declared %, since it is always static" + msgstr "%qD tidak dapat dideklarasikan virtual, karena itu selalu statis" + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "diduga nama yang dikualifikasikan dalam deklarasi friend untuk destruktor %qD" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, gcc-internal-format + msgid "declaration of %qD as member of %qT" + msgstr "deklarasi dari %qD sebagai anggota dari %qT" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "a destructor cannot be %qs" + msgstr "desktruktor mungkin berupa cv-kualified" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "diduga kualifikasi nama dalam deklarasi friend untuk konstruktor %qD" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, fuzzy, gcc-internal-format + #| msgid "constructors cannot be declared virtual" + msgid "a constructor cannot be %" + msgstr "konstruktor tidak dapat dideklarasikan virtual" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, fuzzy, gcc-internal-format + #| msgid "destructor cannot be static member function" + msgid "a concept cannot be a member function" + msgstr "desktruktor tidak dapat berupa anggota statis fungsi" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, fuzzy, gcc-internal-format + #| msgid "cannot open %s" + msgid "%qD cannot be %qs" + msgstr "tidak dapat membuka %s" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, fuzzy, gcc-internal-format + #| msgid "specialization of implicitly-declared special member function" + msgid "specialization of variable template %qD declared as function" + msgstr "spesialisasi dari anggota fungsi spesial secara implist dideklarasikan" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, fuzzy, gcc-internal-format + #| msgid "variable or field declared void" + msgid "variable template declared here" + msgstr "variabel atau field dideklarasikan void" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, fuzzy, gcc-internal-format + #| msgid "field %qD has incomplete type" + msgid "field %qD has incomplete type %qT" + msgstr "field %qD memiliki tipe tidak lengkap" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "nama %qT memiliki tipe tidak lengkap" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "%qE bukan fungsi atau anggota fungsi; tidak dapat dideklarasikan sebagai friend" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, fuzzy, gcc-internal-format + #| msgid "%qE is neither function nor member function; cannot be declared friend" + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "%qE bukan fungsi atau anggota fungsi; tidak dapat dideklarasikan sebagai friend" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, gcc-internal-format + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "" + +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, fuzzy, gcc-internal-format + #| msgid "static member %qD declared %" + msgid "static data member %qE declared %qs" + msgstr "anggota statis %qD dideklarasikan %" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, fuzzy, gcc-internal-format + #| msgid "non-static data member %qD has Java class type" + msgid "% static data member %qD must have an initializer" + msgstr "anggota data bukan statis %qD memiliki tipe kelas Java" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, fuzzy, gcc-internal-format + #| msgid "static member %qD declared %" + msgid "non-static data member %qE declared %qs" + msgstr "anggota statis %qD dideklarasikan %" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "kelas penyimpanan % tidak valid untuk fungsi %qs" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "kelas penyimpanan % tidak valid untuk fungsi %qs" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "kelas penyimpanan %<__thread%> tidak valid untuk fungsi %qs" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, fuzzy, gcc-internal-format + #| msgid "storage class %<__thread%> invalid for function %qs" + msgid "storage class % invalid for function %qs" + msgstr "kelas penyimpanan %<__thread%> tidak valid untuk fungsi %qs" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, fuzzy, gcc-internal-format + #| msgid "%Han asm-specification is not allowed on a function-definition" + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "%Hsebuah spesifikasi asm tidak diijinkan dalam sebuah definisi fungsi" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, fuzzy, gcc-internal-format + #| msgid "% specified invalid for function %qs declared out of global scope" + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "% dispesifikasikan tidak valid untuk fungsi %qs dideklarasikan diluar lingkup global" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "% penspesifikasi tidak valid untuk fungsi %qs dideklarasikan diluar dari lingkup global" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "virtual bukan kelas fungsi %qs" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "%qs didefinisikan dalam sebuah lingkup bukan kelas" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, fuzzy, gcc-internal-format + #| msgid "%qs defined in a non-class scope" + msgid "%qs declared in a non-class scope" + msgstr "%qs didefinisikan dalam sebuah lingkup bukan kelas" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "tidak dapat mendeklarasikan anggota fungsi %qD untuk memiliki linkage statis" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "tidak dapat mendeklarasikan fungsi statis didalam fungsi lainnya" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "% mungkin tidak digunakan ketika mendefinisikan (terbalik untuk deklarasi) sebuah anggota data statis" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "anggota statis %qD dideklarasikan %" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "tidak dapat secara eksplisit mendeklarasikan anggota %q#D untuk memiliki extern linkage" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, fuzzy, gcc-internal-format + #| msgid "declaration of % variable %q+D in % loop initial declaration" + msgid "declaration of % variable %qD is not a definition" + msgstr "deklarasi dari variabel % %q+D dalam % inisial deklarasi loop" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, fuzzy, gcc-internal-format + #| msgid "static %qs cannot be declared %" + msgid "a variable cannot be declared %" + msgstr "statis %qs tidak dapat dideklarasikan %" + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "%qs diinisialisasi dan dideklarasi %" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "%qs keduanya memiliki % dan penginisialisasi" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, fuzzy, gcc-internal-format + #| msgid "default argument %qE uses local variable %qD" + msgid "default argument %qE uses %qD" + msgstr "argumen baku %qE menggunakan variabel lokal %qD" + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "argumen baku %qE menggunakan variabel lokal %qD" + +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, fuzzy, gcc-internal-format + #| msgid "storage class specifiers invalid in parameter declarations" + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "penspesifikasi kelas penyimpanan dalam parameter deklarasi" + +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, fuzzy, gcc-internal-format + #| msgid "cannot use %<::%> in parameter declaration" + msgid "invalid use of type % in parameter declaration" + msgstr "tidak dapat menggunakan %<::%> dalam parameter deklarasi" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, gcc-internal-format + msgid "%-qualified parameter is deprecated" + msgstr "" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "parameter %qD secara tidak valid dideklarasikan tipe metode" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, fuzzy, gcc-internal-format + #| msgid "parameter %qD includes %s to array of unknown bound %qT" + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "parameter %qD includes %s ke array dari ikatan tidak dikenal %qT" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, fuzzy, gcc-internal-format + #| msgid "parameter %qD includes %s to array of unknown bound %qT" + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "parameter %qD includes %s ke array dari ikatan tidak dikenal %qT" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "konstruktor tidak valid; anda mungkin bermaksud %<%T (const %T&)%>" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "%qD mungkin tidak dideklarasikan dalam sebuah namespace" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "%qD tidak boleh dideklarasikan sebagai statis" + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be a nonstatic member function" + msgid "%qD must be a non-static member function" + msgstr "%qD harus berupa sebuah anggota fungsi tidak statis" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be a nonstatic member function" + msgid "%qD must be a member function" + msgstr "%qD harus berupa sebuah anggota fungsi tidak statis" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, gcc-internal-format + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "%qD harus baik sebuah anggota fungsi tidak statis atau bukan anggota fungsi" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "%qD harus memiliki sebuah argumen dari kelas atau tipe enumerasi" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ prohibits overloading operator ?:" + msgid "ISO C++ prohibits overloading %" + msgstr "ISO C++ melarang overloading operator ?:" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "%qD tidak boleh memiliki argumen dengan jumlah bervariabel" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take either zero or one argument" + msgid "%qD must have either zero or one argument" + msgstr "%qD harus mengambil baik nol atau satu argumen" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take either one or two arguments" + msgid "%qD must have either one or two arguments" + msgstr "%qD harus mengambil baik satu atau dua argumen" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, fuzzy, gcc-internal-format + #| msgid "postfix %qD must take % as its argument" + msgid "postfix %qD must have % as its argument" + msgstr "postfix %qD harus mengambil % sebagai argumennya" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, fuzzy, gcc-internal-format + #| msgid "postfix %qD must take % as its second argument" + msgid "postfix %qD must have % as its second argument" + msgstr "postfix %qD harus mengambil % sebagai argumen keduanya" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly two arguments" + msgid "%qD must have no arguments" + msgstr "%qD harus mengambil secara tepat dua argumen" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly one argument" + msgid "%qD must have exactly one argument" + msgstr "%qD harus mengambil secara tepat satu argumen" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly two arguments" + msgid "%qD must have exactly two arguments" + msgstr "%qD harus mengambil secara tepat dua argumen" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "%qD tidak dapat memiliki argumen baku" + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to % will never use a type conversion operator" + msgstr "konversi ke %s%s tidak akan pernah menggunakan sebuah tipe operator konversi" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "konversi ke %s%s tidak akan pernah menggunakan sebuah tipe operator konversi" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "konversi ke %s%s tidak akan pernah menggunakan sebuah tipe operator konversi" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "konversi ke %s%s tidak akan pernah menggunakan sebuah tipe operator konversi" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "konversi ke %s%s tidak akan pernah menggunakan sebuah tipe operator konversi" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "definisi-pengguna %qD selalu mengevaluasikan kedua argumen" + +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "prefix %qD seharusnya mengembalikan %qT" + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "postfix %qD seharusnya mengembalikan %qT" + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "%qD seharusnya kembali dengan nilai" + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "menggunakan parameter tipe template %qT setelah %qs" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, fuzzy, gcc-internal-format + #| msgid "ambiguous template specialization %qD for %q+D" + msgid "using alias template specialization %qT after %qs" + msgstr "spesialisasi template ambigu %qD untuk %q+D" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "menggunakan typedef-name %qD setelah %qs" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, fuzzy, gcc-internal-format + #| msgid "%q+D has a previous declaration here" + msgid "%qD has a previous declaration here" + msgstr "%q+D telah dideklarasikan sebelumnya disini" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "%qT mereferensikan sebagai %qs" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, fuzzy, gcc-internal-format + #| msgid "%q+T has a previous declaration here" + msgid "%qT has a previous declaration here" + msgstr "%q+T telah dideklarasikan sebelumnya disini" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "%qT direferensikan sebagai enum" +@@ -60695,115 +60684,115 @@ msgstr "%qT direferensikan sebagai enum" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "argumen template dibutuhkan untuk %<%s %T%>" + +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "referensi ke %qD adalah ambigu" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, fuzzy, gcc-internal-format + #| msgid "%Hfunction template %qD redeclared as a class template" + msgid "class template %qD redeclared as non-template" + msgstr "%Htemplate fungsi %qD redeklarasikan sebagai sebuah template kelas" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "%qD memiliki nama sama seperti kelas yang telah dideklarasikan" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, gcc-internal-format + msgid "%qT is not a template" + msgstr "%qT mungkin bukan sebuah template" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "penggunaan dari enum %q#D tanpa deklarasi sebelumnya" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "redeklarasi dari %qT sebagai bukan-template" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %qD to be a bit-field type" + msgid "cannot declare %qD in a different module" + msgstr "tidak dapat mendeklarasikan %qD untuk menjadi sebuah tipe bit-field" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "union turunan %qT tidak valid" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, fuzzy, gcc-internal-format + #| msgid "type %qT is not a direct or virtual base of %qT" + msgid "%qT defined with direct virtual base" + msgstr "tipe %qT tidak sebuah langsung atau virtual base dari %qT" + +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "tipe base %qT gagal untuk menjadi sebuah struct atau tipe kelas" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "tipe rekursif %qT tidak terdefinisi" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "duplikasi tipe dasar %qT tidak valid" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, fuzzy, gcc-internal-format + #| msgid "%Jprevious definition here" + msgid "previous definition here" + msgstr "%J definisi sebelumnya disini" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, fuzzy, gcc-internal-format + #| msgid "specialization of %qD in different namespace" + msgid "cannot define %qD in different module" + msgstr "spesialisasi dari %qD dalam namespace berbeda" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, fuzzy, gcc-internal-format + #| msgid "underlying type %<%T%> of %<%T%> must be an integral type" + msgid "underlying type %qT of %qT must be an integral type" +@@ -60813,90 +60802,90 @@ msgstr "tipe yang digaris bawahi %<%T%> dari %<%T%> harus berupa sebuah tipe int + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "tidak ada tipe integral yang dapat merepresentasikan seluruh dari nilai enumerasi untuk %qT" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value for %qD is not an integer constant" + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "nilai enumerasi untuk %qD bukan sebuah konstanta integer" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "nilai enumerasi untuk %qD bukan sebuah konstanta integer" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value %E is too large for underlying type %<%T%>" + msgid "incremented enumerator value is too large for %" + msgstr "nilai pengenumerasi untuk %E terlalu besar untuk tipe yang digaris bawahi %<%T%>" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value %E is too large for underlying type %<%T%>" + msgid "incremented enumerator value is too large for %" + msgstr "nilai pengenumerasi untuk %E terlalu besar untuk tipe yang digaris bawahi %<%T%>" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "overflow dalam nilai enumerasi di %qD" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value %E is too large for underlying type %<%T%>" + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "nilai pengenumerasi untuk %E terlalu besar untuk tipe yang digaris bawahi %<%T%>" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "multiple definisi dari %q#T" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "tipe kembali %q#T tidak lengkap" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "% seharusnya mengembalikan referensi ke %<*this%>" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, fuzzy, gcc-internal-format + #| msgid "no return statement in function returning non-void" + msgid "no return statements in function returning %qT" + msgstr "tidak ada pernyataaan kembali dalam fungsi yang mengembalikan bukan void" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, fuzzy, gcc-internal-format + #| msgid "function return types not compatible due to %" + msgid "only plain % return type can be deduced to %" + msgstr "tipe kembali fungsi tidak kompatibel karena %" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, fuzzy, gcc-internal-format + #| msgid "no return statement in function returning non-void" + msgid "no return statement in % function returning non-void" + msgstr "tidak ada pernyataaan kembali dalam fungsi yang mengembalikan bukan void" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "%qD telah didefinisikan dalam kelas %qT" + +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, fuzzy, gcc-internal-format + #| msgid "try using %qE instead" + msgid "using %qs" + msgstr "lebih baik coba gunakan %qE" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "" +@@ -61837,7 +61826,7 @@ msgstr "tipe %qT tidak sebuah langsung atau virtual base dari %qT" + msgid "type %qT is not a direct base of %qT" + msgstr "tipe %qT bukan sebuah dasar langsung dari %qT" + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "array harus diinisialisasi dengan sebuah kurung melingkupi penginisialisasi" +@@ -62969,7 +62958,7 @@ msgstr "using-declaration untuk bukan-anggota di class scope" + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "%s hanya tersedia dengan -std=c++0x atau -std=gnu++0x" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, fuzzy, gcc-internal-format + #| msgid "%qT is not a class or namespace" + msgid "%qT is not a class, namespace, or enumeration" +@@ -63818,7 +63807,7 @@ msgstr "%Htipe baru mungkin tidak didefinisikan dalam sebuah tipe kembali" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "jumlah dari argumen ke fungsi %<__builtin_next_arg%> salah" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments to function %<__builtin_next_arg%>" + msgid "wrong number of arguments to %<__builtin_launder%>" +@@ -64612,13 +64601,13 @@ msgstr "%Hhanya konstruktor yang mengambil penginisialisasi dasar" + msgid "cannot expand initializer for member %qD" + msgstr "%Htidak dapat mengekspand penginisialisasi untuk anggota %<%D%>" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, fuzzy, gcc-internal-format + #| msgid "static declaration of %q+D follows non-static declaration" + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "deklarasi statis dari %q+D mengikuti deklarasi bukan statis" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "" +@@ -65300,7 +65289,7 @@ msgstr "hilang target makefile setelah %qs" + msgid "%qT not permitted in template argument" + msgstr "%Hparse error dalam daftar argumen template" + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %qD" +@@ -66291,7 +66280,7 @@ msgstr "" + msgid "% clause with parameter on range-based % loop" + msgstr "" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, gcc-internal-format + msgid "iteration variable %qD should not be reduction" + msgstr "iterasi variabel %qD seharusnya bukan reduksi" +@@ -67403,7 +67392,7 @@ msgstr "tipe bukan template %qT digunakan sebuah sebuah template" + msgid "for template declaration %q+D" + msgstr "untuk deklarasi template %q+D" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, fuzzy, gcc-internal-format + #| msgid "template declaration of %q#D" + msgid "template constraint failure for %qD" +@@ -67505,294 +67494,294 @@ msgstr "fungsi mengembalikan sebuah array" + msgid "function returning a function" + msgstr "fungsi mengembalikan sebuah fungsi" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, gcc-internal-format + msgid "forming reference to void" + msgstr "membentuk referensi ke void" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, fuzzy, gcc-internal-format + #| msgid "forming %s to reference type %qT" + msgid "forming pointer to reference type %qT" + msgstr "membentuk %s ke tipe referensi %qT" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, fuzzy, gcc-internal-format + #| msgid "forming %s to reference type %qT" + msgid "forming reference to reference type %qT" + msgstr "membentuk %s ke tipe referensi %qT" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %s to qualified function type %qT" + msgid "forming pointer to qualified function type %qT" + msgstr "tidak dapat mendeklarasikan %s untuk fungsi yang dikualifikasikan dengan tipe %qT" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %s to qualified function type %qT" + msgid "forming reference to qualified function type %qT" + msgstr "tidak dapat mendeklarasikan %s untuk fungsi yang dikualifikasikan dengan tipe %qT" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr "membuat penunjuk ke anggota dari tipe bukan kelas %qT" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr "membuat penunjuk ke anggota referensi tipe %qT" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr "membuat penunjuk ke anggota dari tipe void" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, gcc-internal-format + msgid "creating array of %qT" + msgstr "membuat array dari %qT" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "%qT bukan sebuah tipe class, struct, atau union" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "%qT meresolf ke %qT, yang bukan sebuah tipe enumerasi" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, fuzzy, gcc-internal-format + #| msgid "%qT resolves to %qT, which is is not a class type" + msgid "%qT resolves to %qT, which is not a class type" + msgstr "%qT meresolf ke %qT, yang bukan sebuah tipe class" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, gcc-internal-format + msgid "use of %qs in template" + msgstr "penggunaan dari %qs dalam template" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, fuzzy, gcc-internal-format + #| msgid "qualified type %qT does not match destructor name ~%qT" + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "tipe kualifikasi %qT tidak cocok dengan nama destruktor ~%qT" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "dependent-name %qE diparse sebagai sebuah bukan-tipe, tetapi instantiation menghasilkan sebuah tipe" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "katakan % jika sebuah tipe adalah berarti" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, fuzzy, gcc-internal-format + #| msgid "invalid operands in comparison expression" + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "operan tidak valid dalam ekspresi perbandingan" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, gcc-internal-format + msgid "using invalid field %qD" + msgstr "menggunakan field tidak valid %qD" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, gcc-internal-format + msgid "invalid use of pack expansion expression" + msgstr "penggunaan tidak valid dari ekspresi ekspansi pack" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, gcc-internal-format + msgid "use %<...%> to expand argument pack" + msgstr "gunakan %<...%> untuk mengekspan argumen pack" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, gcc-internal-format + msgid "empty initializer in lambda init-capture" + msgstr "" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, gcc-internal-format + msgid "use %<%T::%D%> instead" + msgstr "" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, fuzzy, gcc-internal-format + #| msgid "%H%qE undeclared here (not in a function)" + msgid "%qD declared here, later in the translation unit" + msgstr "%H%qE tidak dideklarasikan disini (bukan dalam sebuah fungsi)" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments to function %<__builtin_next_arg%>" + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "jumlah dari argumen ke fungsi %<__builtin_next_arg%> salah" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for %qs attribute" + msgid "wrong number of arguments to % attribute" + msgstr "jumlah dari argumen salah dispesifikasikan untuk atribut %qs" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "%qT bukan sebuah class atau namespace" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "%qD bukan sebuah class atau namespace" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, fuzzy, gcc-internal-format + #| msgid "%qT is/uses anonymous type" + msgid "%qT is/uses unnamed type" + msgstr "%qT adalah/menggunakan tipe anonymous" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, gcc-internal-format + msgid "template argument for %qD uses local type %qT" + msgstr "argumen template untuk %qD menggunakan tipe lokal %qT" + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "%qT adalah sebuah tipe variabel termodifikasi" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "ekspresi integral %qE bukan konstan" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr " mencoba untuk instantiate %qD" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, fuzzy, gcc-internal-format + #| msgid "ambiguous class template instantiation for %q#T" + msgid "ambiguous template instantiation for %q#T" + msgstr "template class instantiation ambigu untuk %q#T" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, fuzzy, gcc-internal-format + #| msgid "ambiguous class template instantiation for %q#T" + msgid "ambiguous template instantiation for %q#D" + msgstr "template class instantiation ambigu untuk %q#T" + +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + #, fuzzy + #| msgid "%s %+#D" + msgid "%s %#qS" + msgstr "%s %+#D" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "instantiation eksplisit dari bukan-template %q#D" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template %q#D" + msgid "explicit instantiation of variable concept %q#D" + msgstr "instantiation eksplisit dari bukan-template %q#D" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template %q#D" + msgid "explicit instantiation of function concept %q#D" + msgstr "instantiation eksplisit dari bukan-template %q#D" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, gcc-internal-format + msgid "%qD is not a static data member of a class template" + msgstr "%qD bukan sebuah anggota data statis dari sebuah template class" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "template tidak cocok untuk %qD yang ditemukan" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, gcc-internal-format + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "tipe %qT untuk instantiation eksplisit %qD tidak cocok dengan tipe yang dideklarasikan %qT" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "eksplisit instantiation dari %q#D" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "duplikasi eksplisit instantiation dari %q#D" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, gcc-internal-format + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "ISO C++ 1998 melarang penggunaan dari % di instantiation eksplisit" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "class penyimpanan %qD diaplikasikan ke template instantiation" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template %q#D" + msgid "explicit instantiation of non-class template %qD" + msgstr "instantiation eksplisit dari bukan-template %q#D" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "eksplisit instantiation dari tipe bukan template %qT" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "eksplisit instantiation dari %q#T sebelum definisi dari template" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "ISO C++ melarang penggunaan dari %qE di instantiasi eksplisit" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "duplikasi instansiasi eksplisit dari %q#T" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, fuzzy, gcc-internal-format + #| msgid "explicit specialization of %qD after first use" + msgid "exception specification of %qD depends on itself" +@@ -67805,183 +67794,183 @@ msgstr "spesisialisasi eksplisit dari %qD setelah penggunaan pertama" + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "eksplisit instansiasi dari %qD tetapi tidak ada definisi yang tersedia" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, fuzzy, gcc-internal-format + #| msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth-NN to increase the maximum)" + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "kedalaman template instansiasi melebihi maksimal dari %d instantiating %q+D, kemungkinan dari pembuatan tabel virtual (gunakan -ftemplate-depth-NN untuk meningkatkan maksimal)" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, gcc-internal-format + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, fuzzy, gcc-internal-format + #| msgid "%q#T is not a valid type for a template constant parameter" + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "%q#T bukan sebuah tipe valid untuk sebuah parameter template konstan" + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, fuzzy, gcc-internal-format + #| msgid "%s only available with -std=c++0x or -std=gnu++0x" + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "%s hanya tersedia dengan -std=c++0x atau -std=gnu++0x" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, fuzzy, gcc-internal-format + #| msgid "using template type parameter %qT after %qs" + msgid "invalid template non-type parameter" + msgstr "menggunakan parameter tipe template %qT setelah %qs" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, fuzzy, gcc-internal-format + #| msgid "%q#T is not a valid type for a template constant parameter" + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "%q#T bukan sebuah tipe valid untuk sebuah parameter template konstan" + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, fuzzy, gcc-internal-format + #| msgid "%Hkeyword % not allowed outside of templates" + msgid "keyword % not allowed in declarator-id" + msgstr "%Hkata kunci % tidak diijinkan diluar dari templates" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, fuzzy, gcc-internal-format + #| msgid "opaque vector types cannot be initialized" + msgid "a concept cannot be constrained" + msgstr "tipe vektor opaque tidak dapat diinisialisasi" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, fuzzy, gcc-internal-format + #| msgid "%qT is not a namespace" + msgid "concept %qE not in namespace scope" + msgstr "%qT bukan sebuah namespace" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, fuzzy, gcc-internal-format + #| msgid "definition of %q#T inside template parameter list" + msgid "concept %qE has multiple template parameter lists" + msgstr "definisi dari %q#T didalam daftar parameter template" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, fuzzy, gcc-internal-format + #| msgid "deducing auto from brace-enclosed initializer list requires #include " + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "deduksi auto dari daftar penginisialisasi dikurung membutuhkan #include " + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, fuzzy, gcc-internal-format + #| msgid "%qD used without template parameters" + msgid "non-deducible template %qT used without template arguments" + msgstr "%qD digunakan tanpa parameter template" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, fuzzy, gcc-internal-format + #| msgid "%s only available with -std=c++0x or -std=gnu++0x" + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "%s hanya tersedia dengan -std=c++0x atau -std=gnu++0x" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, fuzzy, gcc-internal-format + #| msgid "use #include instead" + msgid "use %qD directly instead" + msgstr "lebih baik gunakan #include" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, gcc-internal-format + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "" + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "class template argument deduction failed:" + msgstr "template argumen %d tidak valid" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, fuzzy, gcc-internal-format + #| msgid "function not considered for inlining" + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "fungsi tidak dipertimbangkan untuk inlining" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, gcc-internal-format + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr "" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, fuzzy, gcc-internal-format + #| msgid "explicit qualification in declaration of %qD" + msgid "explicit deduction guide declared here" + msgstr "eksplisit kualifikasi dalam deklarasi dari %qD" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, gcc-internal-format + msgid "%qT may not intend to support class template argument deduction" + msgstr "" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, fuzzy, gcc-internal-format + #| msgid "unable to deduce %qT from %qE" + msgid "unable to deduce lambda return type from %qE" + msgstr "tidak dapat mendeduksi %qT dari %qE" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, gcc-internal-format + msgid "unable to deduce %qT from %qE" + msgstr "tidak dapat mendeduksi %qT dari %qE" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "insn tidak memenuhi batasannya:" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "insn tidak memenuhi batasannya:" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "insn tidak memenuhi batasannya:" + +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, fuzzy, gcc-internal-format + #| msgid "use of %qs in template" + msgid "invalid use of %qT in template argument" +@@ -68320,7 +68309,7 @@ msgstr "spesifikasi kelas dasar tidak valid" + msgid "cannot capture member %qD of anonymous union" + msgstr "anggota terproteksi %q+#D dalam union anonymous" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a type" + msgid "%qD is not captured" +@@ -68775,30 +68764,30 @@ msgstr "%<__builtin_next_arg%> dipanggil tanpa sebuah argumen" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a class or namespace" + msgid "%qD is not a class or alias template" + msgstr "%qD bukan sebuah class atau namespace" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, fuzzy, gcc-internal-format + #| msgid "left-hand operand of comma expression has no effect" + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "operan tangan-kiri dari ekspresi koma tidak memiliki efek" + +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, fuzzy, gcc-internal-format + #| msgid "template argument %qE involves template parameter(s)" + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "template argumen %qE melibatkan parameter template" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, fuzzy, gcc-internal-format + #| msgid "unsupported argument to %<__builtin_return_address%>" + msgid "non-pointer argument to %<__builtin_launder%>" +@@ -68807,22 +68796,22 @@ msgstr "argumen ke %<__builtin_return_address%> tidak didukung" + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "" +@@ -70202,243 +70191,243 @@ msgstr "deklarasi dari %q#D" + msgid "declaration of %q#T" + msgstr "deklarasi dari %q#D" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, gcc-internal-format + msgid "%qD has incomplete type" + msgstr "%qD memiliki tipe tidak lengkap" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of incomplete typedef %qD" + msgid "invalid use of incomplete type %q#T" + msgstr "penggunaan tidak valid dari typedef tidak lengkap %qD" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of non-static member function %qD" + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "penggunaan tidak valid dari anggota fungsi %qD bukan statis" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of member %q+D in static member function" + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "penggunaan tidak valid dari anggota %q+D dalam anggota fungsi statis" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %qD" + msgid "invalid use of placeholder %qT" + msgstr "penggunaan tidak valid dari %qD" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of incomplete typedef %qD" + msgid "invalid use of template type parameter %qT" + msgstr "penggunaan tidak valid dari typedef tidak lengkap %qD" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, fuzzy, gcc-internal-format + #| msgid "invalid default argument for a template template parameter" + msgid "invalid use of template template parameter %qT" + msgstr "argumen baku tidak valid untuk sebuah parameter template template" + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of pack expansion expression" + msgid "invalid use of pack expansion %qT" + msgstr "penggunaan tidak valid dari ekspresi ekspansi pack" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of incomplete typedef %qD" + msgid "invalid use of dependent type %qT" + msgstr "penggunaan tidak valid dari typedef tidak lengkap %qD" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, fuzzy, gcc-internal-format + #| msgid "array must be initialized with a brace-enclosed initializer" + msgid "invalid use of brace-enclosed initializer list" + msgstr "array harus diinisialisasi dengan sebuah kurung melingkupi penginisialisasi" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "sintaks konstruktor digunakan, tetapi tidak ada konstruktor dideklarasikan untuk tipe %qT" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, fuzzy, gcc-internal-format + #| msgid "interface %qs does not have valid constant string layout" + msgid "% variable %qD does not have a constant initializer" + msgstr "antar-muka %qs tidak memiliki layout konstanta string yang valid" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + #, fuzzy + #| msgid "narrowing conversion of %qE from %qT to %qT inside { }" + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "menyempitkan konversi %qE dari %qT ke %qT didalam { }" + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + #, fuzzy + #| msgid "narrowing conversion of %qE from %qT to %qT inside { }" + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "menyempitkan konversi %qE dari %qT ke %qT didalam { }" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, gcc-internal-format + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr "" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, fuzzy, gcc-internal-format + #| msgid "initializer-string for array of chars is too long" + msgid "initializer-string for %qT is too long" + msgstr "inisialisasi-string untuk array dari karakter terlalu panjang" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, fuzzy, gcc-internal-format + #| msgid "braces around scalar initializer" + msgid "remove %<{ }%> around initializer" + msgstr "kurung disekitar penginisialisasi skalar" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "tidak dapat menginisialisasi kumpulan dari tipe %qT dengan sebuah kompound literal" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "hilang penginisialisasi untuk anggota %qD" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "anggota %qD referensi tidak terinisialisasi" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, fuzzy, gcc-internal-format + #| msgid "member %qD is uninitialized reference" + msgid "member %qD with uninitialized reference fields" + msgstr "anggota %qD referensi tidak terinisialisasi" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, fuzzy, gcc-internal-format + #| msgid "prototype for %q#D does not match any in class %qT" + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "prototipe untuk %q#D tidak cocok dengan kelas apapun %qT" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "tidak ada field %qD ditemukan dalam union sedang diinisialisasi" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "nilai indeks daripada nama field dalam union penginisialisasi" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "penunjuk circular delegasi terdeteksi" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, gcc-internal-format + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "operan dasar dari %<->%> memiliki tipe bukan penunjuk %qT" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr "hasil dari %()%> menghasilkan hasil bukan penunjuk" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "operan dasar dari %<->%> bukan sebuah penunjuk" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "%qE tidak dapat digunakan sebagai sebuah anggota penunjuk, karena ini adalah tipe %qT" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, gcc-internal-format + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "tidak dapat mengaplikasikan anggota penunjuk %qE ke %qE, yang dari tipe bukan class %qT" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "penunjuk ke anggota tipe %qT tidak kompatibel dengan tipe objek %qT" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, fuzzy, gcc-internal-format + #| msgid "pointer to member function used in arithmetic" + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "penunjuk ke anggota fungsi digunakan dalam aritmetik" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, fuzzy, gcc-internal-format + #| msgid "pointer to member function used in arithmetic" + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "penunjuk ke anggota fungsi digunakan dalam aritmetik" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, fuzzy, gcc-internal-format + #| msgid "invalid cast to function type %qT" + msgid "functional cast to array type %qT" + msgstr "cast ke fungsi tipe %qT tidak valid" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, gcc-internal-format + msgid "% cannot be constrained" + msgstr "" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, fuzzy, gcc-internal-format + #| msgid "%s only available with -std=c++0x or -std=gnu++0x" + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "%s hanya tersedia dengan -std=c++0x atau -std=gnu++0x" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, fuzzy, gcc-internal-format + #| msgid "invalid value-initialization of reference types" + msgid "invalid value-initialization of reference type" + msgstr "nilai-inisialisasi dari referensi tidak valid" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "panggilan ke fungsi %qD yang melemparkan tipe tidak lengkap %q#T" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "panggilan ke fungsi yang melemparkan tipe tidak lengkap %q#T" +@@ -71462,7 +71451,7 @@ msgstr "" + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "argumen dari atribut %qs bukan sebuah konstanta string" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Bad kind for logical constant at %C" + msgid "Invalid use of BOZ literal constant at %L" +@@ -72695,12 +72684,12 @@ msgstr "inisialisasi dari string terpotong untuk mencocokan dengan variabel di % + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "inisialisasi dari string terpotong untuk mencocokan dengan variabel di %L" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "Indeks awal substring di %L lebih kecil dari satu" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "Indeks akhir substring di %L melebihi panjang string" +@@ -72903,7 +72892,7 @@ msgstr "Spesifikasi INTENT buruk di %C" + msgid "deferred type parameter at %C" + msgstr "menggunakan parameter tipe template %qT setelah %qs" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "" +@@ -75108,7 +75097,7 @@ msgstr "intrinsik transformational '%s' di %L tidak diijinkan dalam sebuah ekspr + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "Ekstensi: Evaluasi dari ekspresi inisialisasi ekpresi tidak baku di %L" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function" + msgid "Function %qs in initialization expression at %L must be an intrinsic function" +@@ -75416,7 +75405,7 @@ msgstr "Antarmuka abstrak '%s' tidak valid dalam penempatan penunjuk prosedur di + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "Diduga sebuah prosedur untuk argumen '%s' di %L" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, fuzzy, gcc-internal-format + #| msgid "duplicate interface declaration for class %qs" + msgid "Explicit interface required for %qs at %L: %s" +@@ -75542,7 +75531,7 @@ msgstr "" + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgid "Pointer initialization target at %L must not be ALLOCATABLE" +@@ -75554,7 +75543,7 @@ msgstr "Argumen dari prosedur FINAL di %L harus berupa DAPAT-DIALOKASIKAN" + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "Komponen di %C harus memiliki sebuah atribut PENUNJUK" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Component at %C must have the POINTER attribute" + msgid "Pointer initialization target at %L must have the SAVE attribute" +@@ -75694,7 +75683,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, gcc-internal-format, gfc-internal-format + msgid "Creating array temporary at %L" +@@ -75929,12 +75918,12 @@ msgstr "Argumen pertama dari penempatan yang didefinisikan di %L harus berupa IN + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "Argumen kedua dari penempatan didefinisikan di %L harus berupa INTENT(IN)" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "Argumen pertama dari antar-muka operator di %L harus berupa INTENT(IN)" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "Argumen kedua dari antar-muka operator di %L harus berupa INTENT(IN)" +@@ -76059,637 +76048,637 @@ msgstr "Tingkat tidak cocok dalam argumen '%s' di %L (%d dan %d)" + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "Tingkat tidak cocok dalam argumen '%s' di %L (%d dan %d)" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid procedure pointer assignment at %L" + msgid "Invalid procedure argument at %L" + msgstr "Penempatan penunjuk prosedur tidak valid di %L" + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, fuzzy, gcc-internal-format + #| msgid "Interface '%s' of procedure '%s' at %L must be explicit" + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "Antar-muka '%s' dari prosedur '%s' di %L harus berupa eksplisit" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, gcc-internal-format + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "INTENT(%s) actual argument at %L might interfere with actual argument at %L." + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "INTENT(%s) argumen aktual di %L mungkin menginterferensi dengan argumen aktual di %L." + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, fuzzy, gcc-internal-format + #| msgid "Type mismatch in argument '%s' at %L; passed %s to %s" + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr "Tipe tidak cocok dalam argumen '%s' di %L; dilewatkan %s ke %s" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, fuzzy, gcc-internal-format + #| msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute" + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "Bentuk-diasumsikan aktual argumen di %L adalah tidak kompatibel dengan bentuk tidak diasumsikan dummy argumen '%s' karena atribut VOLATILE" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, fuzzy, gcc-internal-format + #| msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute" + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "Bentuk-diasumsikan aktual argumen di %L adalah tidak kompatibel dengan bentuk tidak diasumsikan dummy argumen '%s' karena atribut VOLATILE" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, fuzzy, gcc-internal-format + #| msgid "Argument of %s at %L must be of length one" + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "Argumen dari %s di %L harus berupa panjang satu" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, fuzzy, gcc-internal-format + #| msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type" + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "'%s' dan '%s' argumen dari '%s' intrinsik di %L harus memiliki tipe yang sama" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "Aktual argumen untuk '%s' harus berupa sebuah penunjuk di %L" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, fuzzy, gcc-internal-format + #| msgid "Rank mismatch in argument '%s' at %L (%d and %d)" + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "Tingkat tidak cocok dalam argumen '%s' di %L (%d dan %d)" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, gcc-internal-format + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, fuzzy, gcc-internal-format + #| msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L" + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "Elemen dari array bentuk-diasumsikan dilewatkan ke argumen dummy '%s' di %L" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L" + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "Elemen dari array bentuk-diasumsikan dilewatkan ke argumen dummy '%s' di %L" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, fuzzy, gcc-internal-format + #| msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L" + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "Elemen dari array bentuk-diasumsikan dilewatkan ke argumen dummy '%s' di %L" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L" + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "Fortran 2003: Skalar KARAKTER aktual argumen dengan array dummy argumen '%s' di %L" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L" + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "Fortran 2003: Skalar KARAKTER aktual argumen dengan array dummy argumen '%s' di %L" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "Kata kunci argumen '%s' di %L tidak dalam prosedur" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "Kata kunci argumen '%s' di %L tidak dalam prosedur" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "Kata kunci argumen '%s' di %L tidak dalam prosedur" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is already associated with another actual argument" + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "Argumen kata-kunci '%s' di %L telah berasosiasi dengan argumen aktual lain" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "Lebih aktual daripada formal argumen dalam pemanggilan prosedur di %L" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Missing alternate return spec in subroutine call at %L" + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "Hilang alternatif spesifikasi kembali dalam pemanggilan subroutine di %L" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Unexpected alternate return spec in subroutine call at %L" + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "Tidak terduga alternaatif spesifikasi kembali dalam pemanggilan subroutine di %L" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, gcc-internal-format + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, gcc-internal-format + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, gcc-internal-format, gfc-internal-format + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, fuzzy, gcc-internal-format + #| msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L" + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "Panjang karakter tidak cocok (%ld/%ld) diantara argumen aktual dan penunjuk atau dapat dialokasikan argumen dummy '%s' di %L" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, fuzzy, gcc-internal-format + #| msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L" + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "Panjang karakter tidak cocok (%ld/%ld) diantara argumen aktual dan diasumsikan-bentuk argumen dummy '%s' di %L" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, gcc-internal-format + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, fuzzy, gcc-internal-format + #| msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L" + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "Panjang karakter dari argumen aktual lebih pendek dari argumen dummy '%s' (%lu/%lu) di %L" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L" + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "Argumen aktual berisi terlalu sedikit elemen untuk argumen dummy '%s' (%lu/%lu) di %L" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, fuzzy, gcc-internal-format + #| msgid "Expected a procedure pointer for argument '%s' at %L" + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "Diduga sebuah prosedur penunjuk untuk argumen '%s' di %L" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, fuzzy, gcc-internal-format + #| msgid "Expected a procedure for argument '%s' at %L" + msgid "Expected a procedure for argument %qs at %L" + msgstr "Diduga sebuah prosedur untuk argumen '%s' di %L" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' cannot be an assumed-size array at %L" + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "Aktual argumen untuk '%s' tidak dapat diasumsikan array berukuran di %L" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, gcc-internal-format + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "Aktual argumen untuk '%s' harus berupa sebuah penunjuk di %L" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, gcc-internal-format + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "Aktual argumen untuk '%s' harus berupa sebuah penunjuk di %L" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, gcc-internal-format + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, gcc-internal-format + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "Aktual argumen untuk '%s' harus berupa sebuah penunjuk di %L" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be ALLOCATABLE at %L" + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "Aktual argumen untuk '%s' harus DAPAT DIALOKASIKAN di %L" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, fuzzy, gcc-internal-format + #| msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT) or VOLATILE attribute of the dummy argument '%s'" + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "Daerah array aktual argumen dengan vektor subscript di %L adalah tidak kompatibel dengan INTENT(OUT), INTENT(INOUT) atau VOLATILE atribut dari argumen dummy'%s'" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, fuzzy, gcc-internal-format + #| msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute" + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "Bentuk-diasumsikan aktual argumen di %L adalah tidak kompatibel dengan bentuk tidak diasumsikan dummy argumen '%s' karena atribut VOLATILE" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, fuzzy, gcc-internal-format + #| msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute" + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "Daerah array aktual argumen di %L adalah tidak kompatibel dengan tidak-diasumsikanbentuk dummy argumen '%s' karena atribut VOLATILE" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, fuzzy, gcc-internal-format + #| msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute" + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "Penunjuk array aktual argumen di %L membutuhkan sebuah bentuk diasumsikan ataupenunjuk array dummy argumen '%s' karena atribut VOLATILE" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "Hilang alternatif spesifikasi kembali dalam pemanggilan subroutine di %L" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, fuzzy, gcc-internal-format + #| msgid "Missing actual argument for argument '%s' at %L" + msgid "Missing actual argument for argument %qs at %L" + msgstr "Hilang aktual argumen untuk argumen '%s' di %L" + +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr "" + +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, fuzzy, gcc-internal-format + #| msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L" + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "Aktual argumen sama berasosiasi dengan INTENT(%s) argumen '%s' dan INTENT(%s) argumen '%s' di %L" + +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "Prosedur argumen di %L adalah lokal ke sebuah prosedur PURE dan memiliki atribut PENUNJUK" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument" + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "Prosedur argumen di %L adalah lokal ke sebuah prosedur PURE dan adalah dilewatkan ke sebuah argumen INTENT(%s)" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument" + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "Prosedur argumen di %L adalah lokal ke sebuah prosedur PURE dan adalah dilewatkan ke sebuah argumen INTENT(%s)" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, gcc-internal-format + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "Prosedur '%s' dipanggil dengan sebuah antar-muka implisit di %L" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' in %s at %L has no explicit interface" + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "Prosedur '%s' dalam %s di %L tidak memiliki antar-muka eksplisit" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "Prosedur '%s' dipanggil dengan sebuah antar-muka implisit di %L" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, gcc-internal-format + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, gcc-internal-format + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, fuzzy, gcc-internal-format + #| msgid "Automatic character length function '%s' at %L must have an explicit interface" + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "Otomatis panjang fungsi karakter '%s' di %L harus memiliki sebuah antar-muka eksplisit" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expected a procedure for argument '%s' at %L" + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "Diduga sebuah prosedur untuk argumen '%s' di %L" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument requires explicit interface for procedure '%s' at %L" + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "Kata kunci argumen membutuhkan antar-muka eksplisit untuk prosedur '%s' di %L" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Symbol '%s' at %L already has an explicit interface" + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "Simbol '%s' di %L telah memiliki sebuah antar-muka eksplisit" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument requires explicit interface for procedure '%s' at %L" + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "Kata kunci argumen membutuhkan antar-muka eksplisit untuk prosedur '%s' di %L" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, gcc-internal-format + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Missing arguments to %s intrinsic at %L" + msgid "MOLD argument to NULL required at %L" + msgstr "Hilang argumen ke %s intrinsik di %L" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, gcc-internal-format, gfc-internal-format + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Keyword argument requires explicit interface for procedure '%s' at %L" + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "Kata kunci argumen membutuhkan antar-muka eksplisit untuk prosedur '%s' di %L" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "Prosedur '%s' dipanggil dengan sebuah antar-muka implisit di %L" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument requires explicit interface for procedure '%s' at %L" + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "Kata kunci argumen membutuhkan antar-muka eksplisit untuk prosedur '%s' di %L" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "" + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, fuzzy, gcc-internal-format + #| msgid "%q+D aliased to undefined symbol %qs" + msgid "Unable to find symbol %qs" + msgstr "%q+D teraliasi ke simbol tidak terdefinisi %qs" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, fuzzy, gcc-internal-format + #| msgid "Entity '%s' at %C is already present in the interface" + msgid "Entity %qs at %L is already present in the interface" + msgstr "Entiti '%s' di %C telah ada dalam sebuah antar-muka" + +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, gcc-internal-format + msgid "gfc_add_interface(): Bad interface type" + msgstr "" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, fuzzy, gcc-internal-format + #| msgid "Can't overwrite GENERIC '%s' at %L" + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "Tidak dapat overwrite GENERIC '%s' di %L" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "'%s' di %L overrides sebuah prosedur binding dideklarasikan NON_OVERRIDABLE" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, gcc-internal-format + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a PURE procedure and must also be PURE" + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "'%s' di %L overrides sebuah prosedur PURE dan juga harus berupa PURE" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "'%s' di %L overrides sebuah prosedur ELEMENTAL dan juga harus berupa ELEMENTAL" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "'%s' di %L overrides sebuah prosedur bukan ELEMENTAL dan tidak harus berupa ELEMENTAL juga" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "'%s' di %L overrides sebuah SUBROUTINE dan juga harus berupa sebuah SUBROUTINE" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a FUNCTION and must also be a FUNCTION" + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "'%s' di %L overrides sebuah FUNGSI dan juga harus berupa sebuah FUNGSI" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, gcc-internal-format + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "'%s' di %L overrides sebuah prosedur PUBLIK dah tidak harus berupa PRIVATE" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' of '%s' at %L should be named '%s' as to match the corresponding argument of the overridden procedure" + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "Argumen dummy '%s' dari '%s' di %L seharusnya bernama '%s' untuk mencocokan dengan argumen yang berhubungan dengan prosedur overridden" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, gcc-internal-format + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L must have the same number of formal arguments as the overridden procedure" + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "'%s' di %L harus memiliki jumlah sama dari argumen formal seperti prosedur overridden" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a NOPASS binding and must also be NOPASS" + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "'%s' di %L overrides sebuah binding NOPASS dan juga harus berupa NOPASS" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L overrides a binding with PASS and must also be PASS" + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "'%s' di %L overrides sebuah pengikatan dengan PASS dan juga harus berupa PASS" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, fuzzy, gcc-internal-format + #| msgid "Passed-object dummy argument of '%s' at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "Argumen dummy objek yang dilewatkan dari '%s' di %L harus berada di posisi yang sama sebagai argumen dumy objek yang dilewatkan dari prosedur overridden" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s tag at %L must be of type %s" + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "%s tag di %L harus berupa tipe %s" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument dim at %L must be of INTEGER type" + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "Argumen dim di %L harus berupa tipe INTEGER" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument dim at %L must be scalar" + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "Argumen dim di %L harus berupa skalar" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Character-valued internal function '%s' at %L must not be assumed length" + msgid "DTIO character argument at %L must have assumed length" + msgstr "Nilai-karakter fungsi internal '%s' di %L tidak boleh dengan panjang diasumsikan" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)" + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "Dummy argumen '%s' di %L tidak dapat berupa INTENT(OUT)" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "DATA statement at %C is not allowed in a PURE procedure" + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "pernyataan DATA di %C tidak diperbolehkan dalam sebuah prosedur PURE" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, fuzzy, gcc-internal-format + #| msgid "Deleted feature: %s at %L must be integer" + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "Featur terhapus: %s di %L harus berupa integer" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, fuzzy, gcc-internal-format + #| msgid "Too many arguments in call to '%s' at %L" + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "Terlalu banyak argumen dalam panggilan ke '%s' di %L" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, fuzzy, gcc-internal-format + #| msgid "Too many arguments in call to '%s' at %L" + msgid "Too many dummy arguments in DTIO procedure %qs at %L" +@@ -76897,7 +76886,7 @@ msgstr "Konversi dari %s ke %s di %L" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Can't convert %s to %s at %L" + msgid "Cannot convert %s to %s at %L" +@@ -77524,7 +77513,7 @@ msgstr "" + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, fuzzy, gcc-internal-format + #| msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components" + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" +@@ -78158,7 +78147,7 @@ msgstr "" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "Penunjuk Cray di %C harus berupa sebuah integer" + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s at %L must be a scalar" + msgid "QUIET specifier at %L must be a scalar LOGICAL" +@@ -80192,8 +80181,8 @@ msgstr "" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "IF clause di %L membutuhkan sebuah ekspresi skalara LOGIKAL" +@@ -82352,812 +82341,800 @@ msgstr "Nilai-karakter fungsi internal '%s' di %L tidak boleh dengan panjang dia + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "Nilai-karakter fungsi internal '%s' di %L tidak boleh dengan panjang diasumsikan" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "Fungsi %s di %L memiliki masukan dengan spesifikasi array tidak cocok" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Function %s at %L has entries with mismatched array specifications" + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "Fungsi %s di %L memiliki masukan dengan spesifikasi array tidak cocok" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Extension: Function %s at %L with entries returning variables of different string lengths" + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "Ekstensi: Fungsi %s di %L dengan masukan mengembalikan variabel dari panjang string berbeda" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "Hasil FUNGSI %s tidak dapat berupa sebuah array dalam FUNGSI %s di %L" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be an array in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "Hasil MASUKAN %s tidak dapat berupa sebuah array dalam FUNGSI %s di %L" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "Hasil FUNGSI %s tidak dapat berupa sebuah PENUNJUK dalam FUNGSI %s di %L" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "Hasil MASUKAN %s tidak dapat berupa sebuah PENUNJUK dalam FUNGSI %s di %L" + +-#: fortran/resolve.cc:881 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L" +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "Hasil FUNGSI %s tidak dapat berupa sebuah PENUNJUK dalam FUNGSI %s di %L" +- +-#: fortran/resolve.cc:885 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L" +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "Hasil MASUKAN %s tidak dapat berupa sebuah PENUNJUK dalam FUNGSI %s di %L" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "Hasil FUNGSI %s tidak dapat tipe %s dalam FUNGSI %s di %L" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "Hasil MASUKAN %s tidak dapat tipe %s dalam FUNGSI %s di %L" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, fuzzy, gcc-internal-format + #| msgid "ENTRY statement at %C cannot appear within a DO block" + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "pernnyataan MASUKAN di %C tidak dapat muncul didalam sebuah blok DO" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, fuzzy, gcc-internal-format + #| msgid "ENTRY statement at %C cannot appear within a DO block" + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "pernnyataan MASUKAN di %C tidak dapat muncul didalam sebuah blok DO" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "COMMON block /%s/ not found at %C" + msgid "COMMON block at %L" + msgstr "blok COMMON /%s/ tidak ditemukan di %C" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "Variabel '%s' di %L adalah dalam COMMON tetapi hanya dalam inisialisasi BLOK DATA yang diperbolehkan" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, fuzzy, gcc-internal-format + #| msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "variabel terinisialisasi '%s' di %L adalah dalam sebuah kosong COMMON tetapi inisialisasi hanya diperbolehkan dalam blok umum bernama" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, gcc-internal-format + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "Tipe variabel turunan '%s' dalam COMMON di %L memiliki bukan SEQUENCE ataupun atribut BIND(C)" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable" + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "Tipe variabel turunan '%s' dalam COMMON di %L memiliki sebuah komponen ultimate yang dapat dialokasikan" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' in COMMON at %L may not have default initializer" + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "Tipe variabel turunan '%s' dalam COMMOND di %L tidak boleh memiliki penginisialisasi baku" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, fuzzy, gcc-internal-format + #| msgid "COMMON block '%s' at %L is used as PARAMETER at %L" + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "blok COMMON '%s' di %L digunakan sebagai PARAMETER di %L" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, gcc-internal-format + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, fuzzy, gcc-internal-format + #| msgid "COMMON block '%s' at %L is used as PARAMETER at %L" + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "blok COMMON '%s' di %L digunakan sebagai PARAMETER di %L" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes" + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "Variabel '%s' di %L tidak dapat memiliki dua atribut PENUNJUK dan BIND(C)" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, fuzzy, gcc-internal-format + #| msgid "COMMON block '%s' at %L is also an intrinsic procedure" + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "blok COMMON '%s' di %L juga sebuah prosedur intrinsik" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result" + msgid "COMMON block %qs at %L that is also a function result" + msgstr "Fortran 2003: blok common '%s' di %L yang juga sebuah hasil fungsi" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure" + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "Fortran 2003: blok COMMON '%s' di %L yang juga sebuah prosedur global" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)" + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "Tingkat dari elemen dalam tipe konstruktor turunan di %L tidak cocok dengan komponen (%d/%d)" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, fuzzy, gcc-internal-format + #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s" + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "Elemen dalam tipe konstruktor turunan di %L, untuk komponen penunjuk '%s', adalah %s tetapi seharusnya berupa %s" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, fuzzy, gcc-internal-format + #| msgid "Unequal character lengths (%ld/%ld) in %s at %L" + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "Panjang karakter tidak sama (%ld/%ld) dalam %s di %L" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, fuzzy, gcc-internal-format + #| msgid "The NULL in the derived type constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE" + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "NULL dalam tipe konstruktor turunan di %L, sedang diaplikasikan untuk komponen '%s', yang bukan sebuah PENUNJUK atau sebuah ALLOCATABLE" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, fuzzy, gcc-internal-format + #| msgid "Too many components in structure constructor at %C!" + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "Terlalu banyak komponen dalam struktur konstruktor di %C!" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, fuzzy, gcc-internal-format + #| msgid "Too many components in structure constructor at %C!" + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "Terlalu banyak komponen dalam struktur konstruktor di %C!" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, fuzzy, gcc-internal-format + #| msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)" + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "Tingkat dari elemen dalam tipe konstruktor turunan di %L tidak cocok dengan komponen (%d/%d)" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, fuzzy, gcc-internal-format + #| msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET" + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "Elemen dalam tipe konstruktor turunan di %L, untuk komponen penunjuk '%s' seharusnya berupa sebuah PENUNJUK atau sebuah TARGET" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, fuzzy, gcc-internal-format + #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s" + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "Elemen dalam tipe konstruktor turunan di %L, untuk komponen penunjuk '%s', adalah %s tetapi seharusnya berupa %s" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, fuzzy, gcc-internal-format + #| msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L" + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "Batas atas dalam dimensi terakhir harus muncul dalam referensi ke ukuran array yang diasumsikan '%s' di %L" + +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L is ambiguous" + msgid "%qs at %L is ambiguous" + msgstr "'%s' di %L adalah ambigu" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, fuzzy, gcc-internal-format + #| msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L" + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "prosedur UMUM '%s' tidak diperbolehkan sebagai sebuah argumen aktual di %L" + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, fuzzy, gcc-internal-format + #| msgid "Type specified for intrinsic function '%s' at %L is ignored" + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "Tipe dispesifikasikan untuk fungsi intrinsik '%s' di %L diabaikan" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier" + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "Intrinsik subroutine '%s' di %L tidak boleh memiliki sebuah penspesifikasi tipe" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, fuzzy, gcc-internal-format + #| msgid "'%s' declared INTRINSIC at %L does not exist" + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "'%s' dideklarasikan INTRINSIC di %L tidak ada" + +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, fuzzy, gcc-internal-format + #| msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate -std=* option or enable -fall-intrinsics in order to use it." + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "Intrinsik '%s' dideklarasikan INTRINSIC di %L tidak tersedia dalam konfigurasi baku sekarang tetapi %s. Gunakan sebuah pilihan -std=* yang sesuai atau aktifkan -fall-intrinsics untuk menggunakan itu." + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, fuzzy, gcc-internal-format + #| msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively. Declare it RECURSIVE or use -frecursive" + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "Bukan prosedur REKURSIF '%s' di %L mungkin memanggil dirinya sendiri secara rekursif. Deklarasikan itu secara RECURSIVE atau gunakan -frecursive" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "Label %d direferensikan di %L tidak pernah terdefinisi" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, fuzzy, gcc-internal-format + #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L" + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "Prosedur internal '%s' tidak diperbolehkan sebagai sebuah argumen aktual di %L" + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, fuzzy, gcc-internal-format + #| msgid "Statement function '%s' at %L is not allowed as an actual argument" + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "Pernyataan fungsi '%s' di %L tidak diperbolehkan sebagai argumen aktual" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic '%s' at %L is not allowed as an actual argument" + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "Intrinsik '%s' di %L tidak diperbolehkan sebagai sebuah argumen aktual" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, fuzzy, gcc-internal-format + #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L" + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "Prosedur internal '%s' tidak diperbolehkan sebagai sebuah argumen aktual di %L" + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, fuzzy, gcc-internal-format + #| msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L" + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "ELEMENTAL bukan INTRINSIK prosedur '%s' tidak diperbolehkan sebagai sebuah argumen aktual di %L" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, fuzzy, gcc-internal-format + #| msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L" + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "Tidak dapat menemukan sebuah prosedur INTRINSIK spesifik untuk referensi '%s' di %L" + +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, fuzzy, gcc-internal-format + #| msgid "Symbol '%s' at %L is ambiguous" + msgid "Symbol %qs at %L is ambiguous" + msgstr "Simbol '%s' di %L adalah ambigu" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not of numeric type" + msgstr "Argumen dengan nilai di %L adalah bukan tipe numerik" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "Argumen dengan nilai di %L tidak dapat berupa sebuah array atau sebuah daerah array" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not allowed in this context" + msgstr "Argumen dengan nilai di %L tidak diperbolehkan dalam konteks ini" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "Melewati prosedur internal di %L dengan lokasi tidak diperbolehkan" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, fuzzy, gcc-internal-format + #| msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L" + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "ELEMENTAL bukan INTRINSIK prosedur '%s' tidak diperbolehkan sebagai sebuah argumen aktual di %L" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)" + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "'%s' di %L adalah sebuah array dan OPSIONAL; JIKA INI HILANG, ini tidak dapat berupa argumen aktual dari sebual prosedur ELEMENTAL kecuali disana ada sebuah tidak pilihanonal argumen dengan tingkat sama (12.4.1.5)" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array" + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "Argumen aktual di %L untuk INTENT(%s) dummy '%s' dari subroutine ELEMENTAL '%s' adalah sebuah skalar, tetapi argumen aktual lain adalah sebuah array" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, fuzzy, gcc-internal-format + #| msgid "Return value of function '%s' at %L not set" + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "Nilai kembali dari fungsi '%s' di %L tidak diset" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, fuzzy, gcc-internal-format + #| msgid "Interface '%s' of procedure '%s' at %L must be explicit" + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "Antar-muka '%s' dari prosedur '%s' di %L harus berupa eksplisit" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, fuzzy, gcc-internal-format + #| msgid "There is no specific function for the generic '%s' at %L" + msgid "There is no specific function for the generic %qs at %L" + msgstr "Disana tidak ada fungsi spesifik untuk umum '%s' di %L" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, fuzzy, gcc-internal-format + #| msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface" + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "Fungsi umum '%s' di %L tidak konsisten dengan sebuah antar-muka spesifik intrinsik." + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic" + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "Fungsi '%s' di %L adalah INTRINSIK tetapi tidak kompatibel dengan sebuah intrinsik" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, fuzzy, gcc-internal-format + #| msgid "Unable to resolve the specific function '%s' at %L" + msgid "Unable to resolve the specific function %qs at %L" + msgstr "Tidak dapat meresolf fungsi spesifik '%s'di %L" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L has no IMPLICIT type" + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "Fungsi '%s' di %L tidak memiliki tipe IMPLISIT" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L has no IMPLICIT type" + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "Fungsi '%s' di %L tidak memiliki tipe IMPLISIT" + +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, fuzzy, gcc-internal-format + #| msgid "reference to non-PURE function '%s' at %L inside a FORALL %s" + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "referensi ke fungsi bukan-PURE '%s' di %L didalam sebuah FORALL %s" + +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, fuzzy, gcc-internal-format + #| msgid "reference to non-PURE function '%s' at %L inside a FORALL %s" + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "referensi ke fungsi bukan-PURE '%s' di %L didalam sebuah FORALL %s" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, fuzzy, gcc-internal-format + #| msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure" + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "Tidak dapat menulis ke internal berkas satuan '%s' di %C didalam prosedur PURE" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected junk after ELSE statement at %C" + msgid "Unexpected junk after %qs at %L" + msgstr "Tidak terduga sampah setelah pernyataan ELSE di %C" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L is not a function" + msgid "%qs at %L is not a function" + msgstr "'%s' di %L bukan sebuah fungsi" + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, fuzzy, gcc-internal-format + #| msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L" + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "ANTAR-MUKA ABSTRAK '%s' tidak boleh direferensikan di %L" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "Fungsi '%s' adalah dideklarasikan KARAKTER(*) dan tidak dapat digunakan di %L karena ini bukan sebuah argumen dummy" + +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, gcc-internal-format + msgid "resolve_function(): bad function type" + msgstr "" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, fuzzy, gcc-internal-format + #| msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct" + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "Fungsi bukan-ELEMENTAL definisi pengguna '%s' di %L tidak diperbolehkan dalam WORKSHAREkonstruksi" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, fuzzy, gcc-internal-format + #| msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE" + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "MASUKAN '%s' di %L tidak dapat dipanggil secara rekursif, karena fungsi '%s' tidak REKURSIF" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE" + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "Fungsi '%s' di %L tidak dapat dipanggil secara rekursif, karena ini bukan REKURSIF" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, fuzzy, gcc-internal-format + #| msgid "Statement function at %L is recursive" + msgid "Using function %qs at %L is deprecated" + msgstr "Pernyataan fungsi di %L adalah rekursif" + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine call to '%s' in FORALL block at %L is not PURE" + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "Panggilan subroutine ke '%s' dalam blok FORALL di %L tidak PURE" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine call to '%s' in FORALL block at %L is not PURE" + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "Panggilan subroutine ke '%s' dalam blok FORALL di %L tidak PURE" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine call to '%s' at %L is not PURE" + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "Panggilan subroutine ke '%s' di %L bukan PURE" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, fuzzy, gcc-internal-format + #| msgid "There is no specific subroutine for the generic '%s' at %L" + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "Disana tidak ada subroutine spesifik untuk umum '%s' di %L" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, fuzzy, gcc-internal-format + #| msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface" + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "Subroutine umum '%s' di %L tidak konsisten dengan sebuah anta-muka subroutine intrinsik" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic" + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "Subroutine '%s' di %L adalah INTRINSIK tetapi tidak kompatibel dengan sebuah intrinsik" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, fuzzy, gcc-internal-format + #| msgid "Unable to resolve the specific subroutine '%s' at %L" + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "Tidak dapat meresolf subroutine spesifik '%s' di %L" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L has a type, which is not consistent with the CALL at %L" + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "'%s' di %L memiliki sebuah tipe, yang tidak konsisten dengan CALL di %L" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, fuzzy, gcc-internal-format + #| msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE" + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "MASUKAN '%s' di %L tidak dapat dipanggil secara rekursif, karena subroutine '%s' tidak REKURSIF" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, fuzzy, gcc-internal-format + #| msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE" + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "SUBROUTINE '%s' di %L tidak dapat dipanggil secara rekursif, karena ini bukan REKURSIF" + +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, gcc-internal-format + msgid "resolve_subroutine(): bad function type" + msgstr "" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, gcc-internal-format + msgid "Using subroutine %qs at %L is deprecated" + msgstr "" + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, gcc-internal-format, gfc-internal-format + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "Bentuk untuk operan di %L dan %L tidak konformant" + +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued" + msgid "Impure function %qs at %L might not be evaluated" + msgstr "Fungsi KARAKTER(*) '%s' di %L tidak dapat bernilai-penunjuk" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Shape specification at %L cannot be negative" + msgid "Impure function at %L might not be evaluated" + msgstr "Spesifikasi bentuk di %L tidak dapat negatif" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, fuzzy, gcc-internal-format + #| msgid "By-value argument at %L cannot be an array or an array section" + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "Argumen dengan nilai di %L tidak dapat berupa sebuah array atau sebuah daerah array" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, gcc-internal-format, gfc-internal-format + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" + msgstr "" + +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Equality comparison for %s at %L" + msgstr "Jenis tidak valid untuk %s di %L" + +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Inequality comparison for %s at %L" + msgstr "Jenis tidak valid untuk %s di %L" + +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Referensi array di %L diluar dari jangkauan (%ld < %ld) dalam dimensi %d" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "Referensi array di %L diluar dari jangkauan (%ld < %ld) dalam dimensi %d" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Referensi array di %L diluar dari jangkauan (%ld > %ld) dalam dimensi %d" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "Referensi array di %L diluar dari jangkauan (%ld > %ld) dalam dimensi %d" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "Tidak legal stride dari nol di %L" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Referensi array bawah di %L diluar dari jangkauan (%ld < %ld) dalam dimensi %d" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Referensi array bawah di %L diluar dari jangkauan (%ld > %ld) dalam dimensi %d" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Referensi array atas di %L diluar dari jangkauan (%ld < %ld) dalam dimensi %d" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Referensi array atas di %L diluar dari jangkauan (%ld > %ld) dalam dimensi %d" + +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, fuzzy, gcc-internal-format + #| msgid "subscript missing in array reference" + msgid "check_dimension(): Bad array reference" + msgstr "subscrip hilang dalam referensi array" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "Jangkauan paling kanan ats dari daerah ukuran array yang diasumsikan tidak dispesifikasikan di %L" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "Tingkat tidak cocok dalam referensi array di %L (%d/%d)" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Rank mismatch in array reference at %L (%d/%d)" + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "Tingkat tidak cocok dalam referensi array di %L (%d/%d)" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "index in dimension %d is out of bounds at %L" + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "indeks dalam dimensi %d diluar dari jangkauan di %L" + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "Indeks array di %L harus berupa skalar" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "Indeks array di %L harus berupa tipe INTEGER, ditemukan %s" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Extension: REAL array index at %L" + msgid "REAL array index at %L" + msgstr "Ekstensi: indeks array RIL di %L" + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "Argumen dim di %L harus berupa skalar" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "Argumen dim di %L harus berupa tipe INTEGER" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid form of array reference at %C" + msgid "Invalid array reference of a non-array entity at %L" + msgstr "Format dari referensi array tidak valid di %C" + +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "" + +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "Indeks array di %L adalah sebuah array dari tingkat %d" + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "Indeks awal substring di %L harus berupa tipe INTEGER" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "Indeks awal substring di %L harus berupa skalar" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "Indeks akhir substring di %L harus berupa tipe INTEGER" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "Indeks akhir substring di %L harus berupa skalar" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Substring end index at %L must be scalar" + msgid "Substring end index at %L is too large" + msgstr "Indeks akhir substring di %L harus berupa skalar" + +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, fuzzy, gcc-internal-format + #| msgid "Bad array reference at %L" + msgid "resolve_ref(): Bad array reference" + msgstr "Referensi array buruk di %L" + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "Komponen ke bagian kanan dari referensi dengan tingkat bukan-nol harus tidak memiliki atribut PENUNJUK di %L" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "Komponen ke bagian kanan dari referensi dengan tingkat bukan-nol harus tidak memiliki atribut DAPAT DIALOKASIKAN di %L" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "Dua atau lebih referensi bagian dengan tingkat bukan-nol tidak boleh dispesifikasikan di %L" + +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array at %L must be a dummy argument" + msgid "Assumed-type variable %s at %L may only be used as actual argument" +@@ -83167,12 +83144,12 @@ msgstr "Bentuk array yang diasumsikan di %L harus berupa sebuah argumen dummy" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array at %L must be a dummy argument" + msgid "Assumed-rank variable %s at %L may only be used as actual argument" +@@ -83182,314 +83159,314 @@ msgstr "Bentuk array yang diasumsikan di %L harus berupa sebuah argumen dummy" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier" + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "Intrinsik subroutine '%s' di %L tidak boleh memiliki sebuah penspesifikasi tipe" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier" + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "Intrinsik subroutine '%s' di %L tidak boleh memiliki sebuah penspesifikasi tipe" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "Variabel '%s', digunakan dalam sebuah ekspresi spesifikasi, direferensikan di %L sebelum pernyataan MASUKAN dimana ini adalah sebuah parameter" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter" + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "Variabel '%s' digunakan di %L sebelum pernyataan MASUKAN dimana ini adalah sebuah parameter" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "" + +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, fuzzy, gcc-internal-format + #| msgid "instance variable %qs is declared %s" + msgid "Using variable %qs at %L is deprecated" + msgstr "instance variabel %qs dideklarasikan %s" + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, gcc-internal-format + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, gcc-internal-format, gfc-internal-format + msgid "Error in typebound call at %L" + msgstr "" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, gcc-internal-format, gfc-internal-format + msgid "Passed-object at %L must be scalar" + msgstr "Objek yang dilewatkan di %L harus berupa skalar" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, gcc-internal-format + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument '%s' of elemental procedure at %L must be scalar" + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "Argumen '%s' dari prosedur elemental di %L harus berupa skalar" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, fuzzy, gcc-internal-format + #| msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L" + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "Tidak ditemukan pengikatan spesifik yang cocok untuk panggilan ke GENERIC '%s' di %L" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L should be a SUBROUTINE" + msgid "%qs at %L should be a SUBROUTINE" + msgstr "'%s' di %L seharusnya berupa sebuah SUBROUTINE" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L should be a FUNCTION" + msgid "%qs at %L should be a FUNCTION" + msgstr "'%s' di %L seharusnya berupa sebuah FUNGSI" + +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, fuzzy, gcc-internal-format + #| msgid "Expected expression type" + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "Diduga tipe ekspresi" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "%s di %L harus berupa sebuah skalar" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Deleted feature: %s at %L must be integer" + msgid "%s at %L must be integer" + msgstr "Featur terhapus: %s di %L harus berupa integer" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "%s di %L harus berupa INTEGER" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "Ekspresi step dalam loop DO di %L tidak dapat berupa nol" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "FORALL nama-indeks di %L harus berupa sebuah skalar INTEGER" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "FORALL awal ekspresi di %L harus berupa sebuah skalar INTEGER" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "FORALL akhir ekspresi di %L harus berupa sebuah skalar INTEGER" + +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "FORALL stride ekspresi di %L harus berupa sebuah skalar %s" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "FORALL stride ekspresi di %L tidak dapat berupa nol" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, fuzzy, gcc-internal-format + #| msgid "FORALL index '%s' may not appear in triplet specification at %L" + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "FORALL indeks '%s' mungkin tidak muncul dalam spesifikasi triplet di %L" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER" + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "Ekspresi dalam pernyataan ALOKASI di %L harus berupa DAPAT DIALOKASIKAN atau sebuah PENUNJUK" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "Spesifikasi array dibutuhkan dalam pernyatan ALOKASI di %L" + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array specification required in ALLOCATE statement at %L" + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "Spesifikasi array dibutuhkan dalam pernyatan ALOKASI di %L" + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array specification required in ALLOCATE statement at %L" + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "Spesifikasi array dibutuhkan dalam pernyatan ALOKASI di %L" + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Bad array specification in ALLOCATE statement at %L" + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "Spesifikasi array buruk dalam pernyataan ALOKASI di %L" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "Spesifikasi array buruk dalam pernyataan ALOKASI di %L" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, fuzzy, gcc-internal-format + #| msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "'%s' tidak boleh muncul dalam spesifikasi array di %L dalam pernyataan ALOKASI yang sama dimana ini sendiri dialokasikan" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, fuzzy, gcc-internal-format + #| msgid "Bad array specification in ALLOCATE statement at %L" + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "Spesifikasi array buruk dalam pernyataan ALOKASI di %L" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "pernyataan ASSIGN di %L membutuhkan sebuah skalar baku variabel INTEGER" + +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "Label di %L tidak dalam blok yang sama seperti pernyataan GOTO di %L" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "pernyataan ASSIGN di %L membutuhkan sebuah skalar baku variabel INTEGER" + +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "" +@@ -83498,310 +83475,310 @@ msgstr "" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "CASE label di %L overlaps dengan CASE label di %L" + +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "Ekspresi dalam pernyataan CASE di %L harus berupa tipe %s" + +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "Ekspresi dalam pernyataan CASE di %L harus berupa tipe %d" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "Ekspresi dalam pernyataan CASE di %L harus berupa skalar" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "Pemilihan ekspresi dalam pernyataan GOTO yang terhitung di %L harus berupa sebuah ekspresi integer skalar" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "Argumen dari pernyataan SELECT di %L tidak dapat berupa %s" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "Argumen dari pernyataan SELECT di %L harus berupa sebuah ekspresi skalar" + +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expression in CASE statement at %L must be of type %s" + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "Ekspresi dalam pernyataan CASE di %L harus berupa tipe %s" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "KASUS BAKU di %L tidak dapat diikuti oleh sebuah KASUS BAKU kedua di %L" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "Jangkauan logikal dalam pernyataan CASE di %L tidak diperbolehkan" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "constant logical value in CASE statement is repeated at %L" + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "nilai logikan konstan dalam pernyataan CASE diulang di %L" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "Spesifikasi jangkauan di %L tidak pernah cocok" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "Logikal SELECT CASE blok di %L memiliki lebih dari dua kasus" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, fuzzy, gcc-internal-format + #| msgid "The name '%s' cannot be used as a defined operator at %C" + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "Nama '%s' tidak dapat digunakan sebagai sebuah operator terdefinisi di %C" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure name" + msgstr "" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Iterator step at %L cannot be zero" + msgid "Selector at %L cannot be NULL()" + msgstr "Langkah iterasi di %L tidak dapat nol" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Function '%s' at %L has no IMPLICIT type" + msgid "Selector at %L has no type" + msgstr "Fungsi '%s' di %L tidak memiliki tipe IMPLISIT" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Syntax error in EQUIVALENCE statement at %L" + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "Sintaks error dalam pernyataan EKUIVALEN di %L" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Deleted feature: %s at %L must be integer" + msgid "Selector at %L must not be coindexed" + msgstr "Featur terhapus: %s di %L harus berupa integer" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "CASE label at %L overlaps with CASE label at %L" + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "CASE label di %L overlaps dengan CASE label di %L" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, fuzzy, gcc-internal-format + #| msgid "Derived type '%s' at %L is empty" + msgid "Derived type %qs at %L must be extensible" + msgstr "Tipe turunan '%s' di %L adalah kosong" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, fuzzy, gcc-internal-format + #| msgid "Derived type '%s' at %L is empty" + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "Tipe turunan '%s' di %L adalah kosong" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected %s statement at %C" + msgid "Unexpected intrinsic type %qs at %L" + msgstr "Tidak terduga pernyataan %s di %C" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, gcc-internal-format, gfc-internal-format + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid context for NULL() pointer at %%L" + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "Konteks tidak valid untuk penunjuk NULL() di %%L" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Interface '%s' of procedure '%s' at %L must be explicit" + msgid "DTIO %s procedure at %L must be recursive" + msgstr "Antar-muka '%s' dari prosedur '%s' di %L harus berupa eksplisit" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Data transfer element at %L cannot have POINTER components" + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "Elemen pemindahan data di %L tidak dapat memiliki komponen PENUNJUK" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Data transfer element at %L cannot have POINTER components" + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "Elemen pemindahan data di %L tidak dapat memiliki komponen PENUNJUK" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Data transfer element at %L cannot have ALLOCATABLE components" + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "Elemen pemindahan data di %L tidak dapat memiliki komponen DAPAT DIALOKASIKAN" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "Elemen pemindahan data di %L tidak dapat memiliki komponen PRIVATE" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Data transfer element at %L cannot have PRIVATE components" + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "Elemen pemindahan data di %L tidak dapat memiliki komponen PRIVATE" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "Elemen pemindahan data di %L tidak dapat berupa sebuah referensi lengkap ke sebuah array yang ukurannya diasumsikan" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FORALL index-name at %L must be a scalar INTEGER" + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "FORALL nama-indeks di %L harus berupa sebuah skalar INTEGER" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "By-value argument at %L cannot be an array or an array section" + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "Argumen dengan nilai di %L tidak dapat berupa sebuah array atau sebuah daerah array" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "By-value argument at %L cannot be an array or an array section" + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "Argumen dengan nilai di %L tidak dapat berupa sebuah array atau sebuah daerah array" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "pernyataan ASSIGN di %L membutuhkan sebuah skalar baku variabel INTEGER" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "pernyataan ASSIGN di %L membutuhkan sebuah skalar baku variabel INTEGER" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument dim at %L must be scalar" + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "Argumen dim di %L harus berupa skalar" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "NUM_THREADS clause at %L requires a scalar INTEGER expression" + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "NUM_THREADS clause di %L membutuhkan sebuah ekspresi skalar INTEGER" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument of SELECT statement at %L must be a scalar expression" + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "Argumen dari pernyataan SELECT di %L harus berupa sebuah ekspresi skalar" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument of ACOS at %L must be between -1 and 1" + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "Argumen dari ACOS di %L harus berada diantara -1 dan 1" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, gcc-internal-format, gfc-internal-format + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "Pernyataan di %L bukan sebuah pernyataan pencabangan target yang valid untuk sebuah pernyataan percabangan di %L" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, gcc-internal-format, gfc-internal-format + msgid "Branch at %L may result in an infinite loop" + msgstr "Cabang di %L bisa menyebabkan sebuah loop tak terhingga" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "" +@@ -83809,217 +83786,217 @@ msgstr "" + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "Label di %L tidak dalam blok yang sama seperti pernyataan GOTO di %L" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "DIMANA mask di %L memiliki bentuk tidak konsisten" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "penempatan target WHERE di %L memiliki bentuk tidak konsisten" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "penempatan bukan-ELEMEN didefinisikan-pengguna dalam WHERE di %L" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "Pernyataan didalam WHERE di %L tidak didukung" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "Penempatan ke sebuah indeks variabel FORALL di %L" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, fuzzy, gcc-internal-format + #| msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "FORALL dengan indeks '%s' tidak digunakan di sisi kiri dari penempatan di %L dan jadi mungkin menyebabkan penempatan berulang di objek ini" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL construct at %L" + msgstr "" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FORALL index-name at %L must be a scalar INTEGER" + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "FORALL nama-indeks di %L harus berupa sebuah skalar INTEGER" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "Sebuah konstruks FORALL luar telah memiliki sebuah indeks dengan nama ini %L" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "WHERE/ELSEWHERE clause di %L membutuhkan sebuah array LOGIKAL" + +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L" + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "Ekspresi KARAKTER akan dipotong dalam penempatan (%d/%d) di %L" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)" + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "Variabel impure di %L ditempatkan ke sebuah tipe variabel turunan dengan sebuah komponen PENUNJUK dalam sebuah prosedur PURE (12.6)" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "" + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assignment to a FORALL index variable at %L" + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "Penempatan ke sebuah indeks variabel FORALL di %L" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assignment to a FORALL index variable at %L" + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "Penempatan ke sebuah indeks variabel FORALL di %L" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, gcc-internal-format + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "" + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid procedure pointer assignment at %L" + msgid "Pointer procedure assignment at %L" + msgstr "Penempatan penunjuk prosedur tidak valid di %L" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, gcc-internal-format, gfc-internal-format + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "" + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, fuzzy, gcc-internal-format + #| msgid "Argument of SELECT statement at %L must be a scalar expression" + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "Argumen dari pernyataan SELECT di %L harus berupa sebuah ekspresi skalar" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FORALL start expression at %L must be a scalar INTEGER" + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "FORALL awal ekspresi di %L harus berupa sebuah skalar INTEGER" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable" + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "pernyataan GOTO ASSIGNED di %L membutuhkan sebuah variabel INTEGER" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' has not been assigned a target label at %L" + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "Variabel '%s' belum pernah ditempatkan sebuah label target di %L" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "Pernyataan RETURN alternatif di %L membutuhkan sebuah SKALAR-INTEGER return penspesifikasi" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expected initialization expression in CASE at %C" + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "Diduga ekspresi inisialisasi dalam CASE di %C" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "pernyataan ASSIGN di %L membutuhkan sebuah skalar baku variabel INTEGER" + +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Invalid NULL at %L" + msgstr "Jenis tidak valid untuk %s di %L" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Arithmetic IF statement at %L requires a numeric expression" + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "Pernyataan aritmetik IF di %L membutuhkan sebuah ekspresi numerik" + +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "Kondisi keluar dari loop DO WHILE di %L harus berupa sebuah ekspresi skalar LOGIKAL" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FORALL mask clause at %L requires a LOGICAL expression" + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "FORALL mask clause di %L membutuhkan sebuah ekspresi LOGIKAL" + +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, fuzzy, gcc-internal-format + #| msgid "gfc_trans_code(): Bad statement code" + msgid "gfc_resolve_code(): Bad statement code" + msgstr "gfc_trans_code(): Pernyataan kode buruk" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, fuzzy, gcc-internal-format + #| msgid "Unused parameter '%s' declared at %L" + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "Parameter '%s' tidak digunakan dideklarasikan di %L" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, fuzzy, gcc-internal-format + #| msgid "Binding label '%s' at %L collides with the global entity '%s' at %L" + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" +@@ -84027,7 +84004,7 @@ msgstr "Binding label '%s' di %L collides dengan global entity '%s' di %L" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, gcc-internal-format + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" + msgstr "" +@@ -84035,1110 +84012,1110 @@ msgstr "" + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, fuzzy, gcc-internal-format + #| msgid "Binding label '%s' at %L collides with the global entity '%s' at %L" + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "Binding label '%s' di %L collides dengan global entity '%s' di %L" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "size of array %qs is too large" + msgid "String length at %L is too large" + msgstr "ukuran dari array %qs adalah terlalu besar" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, fuzzy, gcc-internal-format + #| msgid "Allocatable array '%s' at %L must have a deferred shape" + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "Array dapat dialokasikan '%s' di %L harus memiliki sebuah bentuk deferred" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, fuzzy, gcc-internal-format + #| msgid "Scalar object '%s' at %L may not be ALLOCATABLE" + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "Objek skalar '%s' di %L mungkin tidak dapat DIALOKASIKAN" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, fuzzy, gcc-internal-format + #| msgid "Array pointer '%s' at %L must have a deferred shape" + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "Penunjuk array '%s' di %L harus memiliki sebuah bentuk deffered" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, fuzzy, gcc-internal-format + #| msgid "Array '%s' at %L cannot have a deferred shape" + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "Array '%s' di %L tidak dapat memiliki sebuah bentuk deferred" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, fuzzy, gcc-internal-format + #| msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "Tipe '%s' tidak dapat host assosiasi di %L karena ini diblok dengan sebuah objek tidak kompatibel dari nama sama yang dideklarasikan di %L" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, gcc-internal-format + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, gcc-internal-format + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" + msgstr "" + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, fuzzy, gcc-internal-format + #| msgid "The module or main program array '%s' at %L must have constant shape" + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "Modul atau array aplikasi utama '%s' di %L harus memiliki bentuk konstan" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "Entity dengan panjang karakter diasumsikan di %L harus berupa sebuah argumen dummy atau sebuah PARAMETER" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L must have constant character length in this context" + msgid "%qs at %L must have constant character length in this context" + msgstr "'%s' di %L harus memiliki panjang karakter konstan dalam konteks ini" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L must have constant character length in this context" + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "'%s' di %L harus memiliki panjang karakter konstan dalam konteks ini" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, fuzzy, gcc-internal-format + #| msgid "Allocatable '%s' at %L cannot have an initializer" + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "Dapat dialokasikan '%s' di %L tidak dapat memiliki sebuah penginisialisasi" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, fuzzy, gcc-internal-format + #| msgid "External '%s' at %L cannot have an initializer" + msgid "External %qs at %L cannot have an initializer" + msgstr "Eksternal '%s' di %L tidak dapat memiliki sebuah penginisialisasi" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, fuzzy, gcc-internal-format + #| msgid "Dummy '%s' at %L cannot have an initializer" + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "Dummy '%s' di %L tidak dapat memiliki sebuah penginisialisasi" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic '%s' at %L cannot have an initializer" + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "Intrinsik '%s' di %L tidak dapat memiliki sebuah penginisialisasi" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, fuzzy, gcc-internal-format + #| msgid "Function result '%s' at %L cannot have an initializer" + msgid "Function result %qs at %L cannot have an initializer" + msgstr "Hasil fungsi '%s' di %L tidak dapat memiliki sebuah penginisialisasi" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, fuzzy, gcc-internal-format + #| msgid "Automatic array '%s' at %L cannot have an initializer" + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "Array otomatis '%s' di %L tidak dapat memiliki sebuah penginisialisasi" + +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "in %s, at %s:%d" + msgid "%s at %L" + msgstr "dalam %s, di %s:%d" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, fuzzy, gcc-internal-format + #| msgid "Character-valued statement function '%s' at %L must have constant length" + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "Pernyataan fungsi nilai-karakter '%s' di %L harus memiliki panjang konstant" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L" + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "Fortran 2003: '%s' adalah sebuah tipe PRIVATE dan tidak dapat berupa sebuah argumen dummy dari '%s', yang mana ini adalah PUBLIK di %L" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE" + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "Fortran 2003: Prosedur '%s' dalam antar-muka PUBLIK '%s' di %L memakai argumen dummy dari '%s' dimana ini adalah PRIVATE" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L cannot have an initializer" + msgid "Function %qs at %L cannot have an initializer" + msgstr "Fungsi '%s' di %L tidak dapat memiliki sebuah penginisialisasi" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, fuzzy, gcc-internal-format + #| msgid "External object '%s' at %L may not have an initializer" + msgid "External object %qs at %L may not have an initializer" + msgstr "Objek eksternal '%s' di %L tidak boleh memiliki sebuah penginisialisasi" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, fuzzy, gcc-internal-format + #| msgid "ELEMENTAL function '%s' at %L must have a scalar result" + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "Fungsi ELEMEN '%s' di %L harus memiliki sebuah hasil skalar" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, fuzzy, gcc-internal-format + #| msgid "Statement function '%s' at %L is not allowed as an actual argument" + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "Pernyataan fungsi '%s' di %L tidak diperbolehkan sebagai argumen aktual" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be array-valued" + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "Fungsi KARAKTER(*) '%s' di %L tidak dapat bernilai-array" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued" + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "Fungsi KARAKTER(*) '%s' di %L tidak dapat bernilai-penunjuk" + +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pure" + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "Fungsi KARAKTER(*) '%s' di %L tidak dapat pure" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be recursive" + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "Fungsi KARAKTER(*) '%s' di %L tidak dapat rekursif" + +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pure" + msgid "CHARACTER(*) function %qs at %L" + msgstr "Fungsi KARAKTER(*) '%s' di %L tidak dapat pure" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' in %s at %L has no explicit interface" + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "Prosedur '%s' dalam %s di %L tidak memiliki antar-muka eksplisit" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, fuzzy, gcc-internal-format + #| msgid "Dummy procedure '%s' at %C cannot have a generic interface" + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "Prosedur dummy '%s' di %C tidak dapat memiliki sebuah antar-muka umum" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, gcc-internal-format + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "atribut PROSEDUR konflik dengan atribut SAVE dalam '%s' di %L" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "atribut PROSEDUR konflik dengan atribut INTENT dalam '%s' di %L" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "atribut PROSEDUR konflik dengan atribut NAMELIST dalam '%s' di %L" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L" + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "atribut PROSEDUR konflik dengan atribut INTENT dalam '%s' di %L" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, fuzzy, gcc-internal-format + #| msgid "Interface '%s' of procedure '%s' at %L must be explicit" + msgid "Interface of %qs at %L must be explicit" + msgstr "Antar-muka '%s' dari prosedur '%s' di %L harus berupa eksplisit" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, fuzzy, gcc-internal-format + #| msgid "FINAL procedure '%s' at %L is not a SUBROUTINE" + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "Prosedur FINAL '%s' di %L bukan sebuah SUBROUTINE" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "Prosedur FINAL di %L harus memiliki tepat satu argumen" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, fuzzy, gcc-internal-format + #| msgid "Argument of FINAL procedure at %L must be of type '%s'" + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "Argumen dari prosedur FINAL di %L harus berupa tipe '%s'" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "argumen dari prosedur FINAL di %L harus berupa sebuah PENUNJUK" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "Argumen dari prosedur FINAL di %L harus berupa DAPAT-DIALOKASIKAN" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "Argumen dari prosedur FINAL di %L tidak boleh berupa OPSIONAL" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "Argumen dari prosedur FINAL di %L harus berupa INTENT(OUT)" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, gcc-internal-format, gfc-internal-format + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "Prosedur FINAL bukan skalar di %L seharusnya memiliki diasumsikan argumen bentuk" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, fuzzy, gcc-internal-format + #| msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'" + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "prosedur FINAL '%s' dideklarasikan di %L memiliki tingkat yang sama (%d) seperti '%s'" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, fuzzy, gcc-internal-format + #| msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one" + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "Hanya array prosedur FINAL dideklarasikan untuk tipe turunan '%s' didefinisikan di %L, disarankan juga skalar satu" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, fuzzy, gcc-internal-format + #| msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L" + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "'%s' dan '%s' tidak dapat dicampurkan FUNCTION/SUBROUTINE untuk GENERIC '%s' di %L" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, fuzzy, gcc-internal-format + #| msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous" + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "'%s' dan '%s' untuk GENERIC '%s' di %L adalah ambigu" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, fuzzy, gcc-internal-format + #| msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L" + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "Tidak terdefinisi pengikatan spesifik '%s' sebagai target dari GENERIC '%s' di %L" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, fuzzy, gcc-internal-format + #| msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too" + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "GENERIC '%s' di %L harus target sebuah pengikatan spesifik, '%s' adalah GENERIC, juga" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, fuzzy, gcc-internal-format + #| msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name" + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "GENERIC '%s' di %L tidak dapat overwrite pengikatan spesifik dengan nama sama" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Iterator step at %L cannot be zero" + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "Langkah iterasi di %L tidak dapat nol" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, fuzzy, gcc-internal-format + #| msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L" + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "'%s' harus berupa sebuah prosedur modul atau sebuah prosedur eksternal dengan sebuah antar-muka eksplisit di %L" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'" + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "Prosedur '%s' dengan PASS(%s) di %L tidak memiliki argumen '%s'" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' with PASS at %L must have at least one argument" + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "Prosedur '%s' dengan PASS di %L harus memiliki paling tidak satu argumen" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, fuzzy, gcc-internal-format + #| msgid "Polymorphic entities are not yet implemented, non-polymorphic passed-object dummy argument of '%s' at %L accepted" + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "entiti polymorphic belum diimplementasikan, bukan polymorphic objek argumen dummy dilewatkan dari '%s' di %L diterima" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, fuzzy, gcc-internal-format + #| msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'" + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "Argumen '%s' dari '%s' dengan PASS(%s) di %L harus berupa tipe turunan '%s'" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, fuzzy, gcc-internal-format + #| msgid "Passed-object at %L must be scalar" + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "Objek yang dilewatkan di %L harus berupa skalar" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE" + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "'%s' argumen dari '%s' intrinsik di %L harus berupa DAPAT-DIALOKASIKAN" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER" + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "'%s' argumen dari '%s' instrinsik di %L harus berupa sebuah PENUNJUK" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' at %L has the same name as a component of '%s'" + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "Prosedur '%s' di %L memiliki nama sama sebagai sebuah komponen dari '%s'" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'" + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "Prosedur '%s' di %L memiliki nama sama seperti sebuah komponen turunan dari '%s'" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, gcc-internal-format + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, fuzzy, gcc-internal-format + #| msgid "Array pointer '%s' at %L must have a deferred shape" + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "Penunjuk array '%s' di %L harus memiliki sebuah bentuk deffered" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, gcc-internal-format + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, gcc-internal-format + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, gcc-internal-format + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, fuzzy, gcc-internal-format + #| msgid "Argument of ICHAR at %L must be of length one" + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "Argumen dari ICHAR di %L harus berupa panjang satu" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'" + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "Prosedur '%s' dengan PASS(%s) di %L tidak memiliki argumen '%s'" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' with PASS at %L must have at least one argument" + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "Prosedur '%s' dengan PASS di %L harus memiliki paling tidak satu argumen" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, fuzzy, gcc-internal-format + #| msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'" + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "Argumen '%s' dari '%s' dengan PASS(%s) di %L harus berupa tipe turunan '%s'" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, fuzzy, gcc-internal-format + #| msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'" + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "Argumen '%s' dari '%s' dengan PASS(%s) di %L harus berupa tipe turunan '%s'" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, fuzzy, gcc-internal-format + #| msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute" + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "Argumen '%s' dari prosedur elemental di %L tidak dapat memiliki atribut POINTER" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE" + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "'%s' argumen dari '%s' intrinsik di %L harus berupa DAPAT-DIALOKASIKAN" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, fuzzy, gcc-internal-format + #| msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure" + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "Komponen '%s' dari '%s' di %L memiliki nama sama dengan prosedur yang melingkupinya" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, fuzzy, gcc-internal-format + #| msgid "Character length of component '%s' needs to be a constant specification expression at %L" + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "Panjang karakter dari komponen '%s' butuh untuk menjadi sebuah ekspresi spesifikasi konstan di %L" + +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, fuzzy, gcc-internal-format + #| msgid "Expression at %L must be of INTEGER type, found %s" + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "Ekspresi di %L harus berupa tipe INTEGER, ditemukan %s" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, gcc-internal-format + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L" + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "Fortran 2003: Komponen '%s' adalah sebuah tipe PRIVATE dan tidak dapat berupa sebuah komponen dari '%s', yang mana adalah PUBLIK di %L" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, gcc-internal-format, gfc-internal-format + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "Komponen %s dari tipe URUTAN dideklarasikan di %L tidak dapat memiliki atribut URUTAN" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Conflict in attributes of function argument at %C" + msgid "Conflicting initializers in union at %L and %L" + msgstr "Konflik dalam atribut dari argumen fungsi di %C" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, gcc-internal-format + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, fuzzy, gcc-internal-format + #| msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT" + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "Bukan ekstensible tipe turunan '%s' di %L tidak boleh berupa ABSTRACT" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, gcc-internal-format + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, fuzzy, gcc-internal-format + #| msgid "%H%qE has not been declared" + msgid "Derived type %qs at %L has not been declared" + msgstr "%H%qE belum pernah dideklarasikan" + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, fuzzy, gcc-internal-format + #| msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed" + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "Ukuran array yang diasumsikan '%s' dalam daftar nama '%s' di %C tidak diperbolehkan" + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, fuzzy, gcc-internal-format + #| msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L" + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "NAMELIST array objek '%s' tidak boleh memiliki bentuk yang diasumsikan dalam daftar-nama '%s' di %L" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, fuzzy, gcc-internal-format + #| msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L" + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "NAMELIST array objek '%s' harus memiliki bentuk konstan dalam daftar-nama '%s' di %L" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, fuzzy, gcc-internal-format + #| msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L" + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "NAMELIST array objek '%s' harus memiliki bentuk konstan dalam daftar-nama '%s' di %L" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, fuzzy, gcc-internal-format + #| msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L" + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "NAMELIST objek '%s' telah dideklarasikan PRIVATE dan tidak dapat berupa anggota dari PUBLIK namelist '%s' di %L" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, fuzzy, gcc-internal-format + #| msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L" + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "NAMELIST objek '%s' memiliki use-associated komponen PRIVATE dan tidak dapat berupa anggota dari daftar-nama '%s' di %L" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, fuzzy, gcc-internal-format + #| msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L" + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "NAMELIST objek '%s' meemiliki komponen PRIVATE dan tidak dapat berupa anggota dari PUBLIK daftar-nama '%s' di %L" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "atribut PROSEDUR konflik dengan atribut NAMELIST dalam '%s' di %L" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, fuzzy, gcc-internal-format + #| msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape" + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "Parameter array '%s' di %L tidak dapat berupa otomatis atau bentuk deferred" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, fuzzy, gcc-internal-format + #| msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type" + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "Tipe PARAMETER secara implisit '%s' di %L tidak cocok dengan tipe IMPLISIT kemudian" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "Tipe turunan tidak kompatibel dalam PARAMETER di %L" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes" + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "Variabel '%s' di %L tidak dapat memiliki dua atribut PENUNJUK dan BIND(C)" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, gcc-internal-format + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L" + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "atribut PROSEDUR konflik dengan atribut INTENT dalam '%s' di %L" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "atribut PROSEDUR konflik dengan atribut INTENT dalam '%s' di %L" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, gcc-internal-format + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Bad specification for assumed size array at %C" + msgid "Bad specification for assumed size array at %L" + msgstr "Spesifikasi buruk untuk diasumsikan ukuran array di %C" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "Ukuran array yang diasumsikan di %L harus berupa sebuah argumen dummy" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "Bentuk array yang diasumsikan di %L harus berupa sebuah argumen dummy" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array at %L must be a dummy argument" + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "Bentuk array yang diasumsikan di %L harus berupa sebuah argumen dummy" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "Simbol di %L bukan sebuah variabel DUMMY" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument" + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "'%s' di %L tidak dapat memiliki VALUE atribut karena ini bukan sebuah argumen dummy" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, fuzzy, gcc-internal-format + #| msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length" + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "Karakter dummy variabel '%s' di %L dengan atribut NILAI harus memiliki panjang konstant" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, fuzzy, gcc-internal-format + #| msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one" + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "C interoperable karakter dummy variabel '%s' di %L dengan atribut NILAI harus memiliki panjang satu" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, fuzzy, gcc-internal-format + #| msgid "The derived type '%s' at %L is of type '%s', which has not been defined" + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "Tipe turunana '%s' di %L adalah tipe '%s', yang mana belum didefinisikan" + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes" + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "Variabel '%s' di %L tidak dapat memiliki dua atribut DAPAT DIALOKASIKAN dan BIND(C)" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes" + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "Variabel '%s' di %L tidak dapat memiliki dua atribut PENUNJUK dan BIND(C)" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression" + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "Diasumsikan bentuk array '%s' di %L tidak diijinkan dalam sebuah ekspresi inisialisasi" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes" + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "Variabel '%s' di %L tidak dapat memiliki dua atribut DAPAT DIALOKASIKAN dan BIND(C)" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes" + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "Variabel '%s' di %L tidak dapat memiliki dua atribut PENUNJUK dan BIND(C)" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "Variabel '%s' di %L tidak dapat berupa BIND(C) karena ini bukan sebuah blok UMUM atau dideklarasikan dalam tingkat cakupan modul" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, fuzzy, gcc-internal-format + #| msgid "Argument of %s at %L must be of length one" + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "Argumen dari %s di %L harus berupa panjang satu" + +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, fuzzy, gcc-internal-format + #| msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'" + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "Fortran 2003: PUBLIK %s '%s' di %L dari tipe turunan '%s' PRIVATE" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, fuzzy, gcc-internal-format + #| msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer" + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "INTENT(OUT) dummy argumen '%s' di %L adalah UKURAN DIASUMSIKAN dan jadi tidak dapat memiliki sebuah penginisialisasi baku" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)" + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "Dummy argumen '%s' di %L tidak dapat berupa INTENT(OUT)" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)" + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "Dummy argumen '%s' di %L tidak dapat berupa INTENT(OUT)" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, fuzzy, gcc-internal-format + #| msgid "By-value argument at %L cannot be an array or an array section" + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "Argumen dengan nilai di %L tidak dapat berupa sebuah array atau sebuah daerah array" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, gcc-internal-format + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, gcc-internal-format + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, gcc-internal-format + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, fuzzy, gcc-internal-format + #| msgid "Array '%s' at %L cannot have a deferred shape" + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "Array '%s' di %L tidak dapat memiliki sebuah bentuk deferred" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, fuzzy, gcc-internal-format + #| msgid "Allocatable array '%s' at %L must have a deferred shape" + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "Array dapat dialokasikan '%s' di %L harus memiliki sebuah bentuk deferred" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, gcc-internal-format + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, fuzzy, gcc-internal-format + #| msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure" + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "Prosedur dummy di %L tidak diperbolehkan dalam prosedur ELEMENTAL" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, gcc-internal-format + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, gcc-internal-format + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, fuzzy, gcc-internal-format + #| msgid "Namelist %s cannot be renamed by USE association to %s" + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "Daftar-nama %s tidak dapat diubah namanya dengan assosiasi USE ke %s" + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "Threadprivate di %L bukan SAVEd" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expecting list of named entities at %C" + msgid "Expecting definable entity near %L" + msgstr "Diduga daftar dari entiti bernama di %C" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, fuzzy, gcc-internal-format + #| msgid "BLOCK DATA element '%s' at %L must be in COMMON" + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "DATA BLOK elemen '%s' di %L harus berupa dalam COMMON" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, fuzzy, gcc-internal-format + #| msgid "DATA array '%s' at %L must be specified in a previous declaration" + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "DATA array '%s' di %L harus dispesifikasikan dalam sebuah deklarasi sebelumnya" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, fuzzy, gcc-internal-format + #| msgid "Dummy '%s' at %L cannot have an initializer" + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "Dummy '%s' di %L tidak dapat memiliki sebuah penginisialisasi" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes" + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "Variabel '%s' di %L tidak dapat memiliki dua atribut DAPAT DIALOKASIKAN dan BIND(C)" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "Daerah array tidak konstant di %L dalam pernyataan DATA" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "pernyataan DATA di %L memiliki lebih variabel daripada nilai" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Step expression in DO loop at %L cannot be zero" + msgid "step of implied-do loop at %L shall not be zero" + msgstr "Ekspresi step dalam loop DO di %L tidak dapat berupa nol" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "pernyataan DATA di %L memiliki lebih banyak nilai daripada variabel" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but not used" + msgstr "Label %d di %L didefinisikan tetapi tidak digunakan" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but cannot be used" + msgstr "Label %d di %L didefinisikan tetapi tidak dapat digunakan" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "Tipe variabel turunan '%s' di %L harus memiliki atribut URUTAN untuk menjadi sebuah objek EKUIVALEN" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "Tipe variabel turunan '%s' di %L tidak dapat memiliki komponen DAPAT DIALOKASIKAN untuk menjadi sebuah objek EKUIVALEN" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "Tipe variabel turunan '%s' di %L dengan inisialisasi baku tidak dapat berada dalam EKUIVALEN dengan sebuah variabel dalam COMMON" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "Tipe variabel turunan '%s' di %L dengan komponen penunjuk tidak dapat berupa sebuah objek EKUIVALEN" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "Sintaks error dalam pernyataan EKUIVALEN di %L" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "Baik semua atau kosong dari objek dalam EKUIVALEN set di %L yang memiliki atribut TERPROTEKSI" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, fuzzy, gcc-internal-format + #| msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'" + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "Anggota blok umum '%s' di %L tidak dapat berupa sebuah objek EKUIVALEN dalam prosedur pure '%s'" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, fuzzy, gcc-internal-format + #| msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object" + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "Konstanta bernama '%s' di %L tidak dapat berupa sebuah objek EKUIVALEN" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, fuzzy, gcc-internal-format + #| msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "Array '%s' di %L dengan cakupan tidak-konstan tidak dapat berupa sebuah objek EKUIVALEN" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, fuzzy, gcc-internal-format + #| msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object" + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "Komponen struktur '%s' di %L tidak dapat berupa sebuah objek EKUIVALEN" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "Substring di %L memiliki panjang nol" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, fuzzy, gcc-internal-format + #| msgid "Different character lengths in pointer assignment at %L" + msgid "Self reference in character length expression for %qs at %L" + msgstr "Panjang karakter berbeda dalam penempatan penunjuk di %L" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, fuzzy, gcc-internal-format + #| msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'" + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "Fungsi PUBLIK '%s' di %L tidak dapat berupa tipe PRIVATE '%s'" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, fuzzy, gcc-internal-format + #| msgid "ENTRY '%s' at %L has no IMPLICIT type" + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "MASUKAN '%s' di %L tidak memiliki tipe IMPLISIT" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, fuzzy, gcc-internal-format + #| msgid "User operator procedure '%s' at %L must be a FUNCTION" + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "Prosedur operator pengguna '%s' di %L harus berupa sebuah FUNGSI" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, fuzzy, gcc-internal-format + #| msgid "User operator procedure '%s' at %L cannot be assumed character length" + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "Prosedur operator pengguna '%s' di %L tidak dapat berupa panjang karakter diasumsikan" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, fuzzy, gcc-internal-format + #| msgid "User operator procedure '%s' at %L must have at least one argument" + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "Prosedur operator pengguna '%s' di %L harus memiliki paling tida satu argumen" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "Argumen pertama dari antar-muka operator di %L tidak dapat berupa pilihanonal" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "Argumen kedua dari antar-muka operator di %L tidak dapat berupa pilihanonal" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "Antar-muka operator di %L harus memiliki, paling tidak, dua argumen" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, fuzzy, gcc-internal-format + #| msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE" + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" +@@ -86108,7 +86085,7 @@ msgstr "Overlapping tidak sama penginisialisasi dalam EKUIVALEN di %L" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "Overlapping tidak sama penginisialisasi dalam EKUIVALEN di %L" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "" +@@ -86121,13 +86098,13 @@ msgstr "" + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "Jumlah dari elemen dalam konstruktor array di %L membutuhkan sebuah peningkatan dari batas atas %d yang diijinkan. Lihat pilihan -fmax-array-constructor" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, fuzzy, gcc-internal-format + #| msgid "Creating array temporary at %L for argument '%s'" + msgid "Creating array temporary at %L for argument %qs" + msgstr "Membuat array sementara di %L untuk argumen '%s'" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "tipe ekspresi buruk selama walk (%d)" +@@ -86231,100 +86208,94 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "" + + #: fortran/trans-decl.cc:1795 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "ENTRY '%s' at %L has no IMPLICIT type" +-msgid "%s at %C has no default type" +-msgstr "MASUKAN '%s' di %L tidak memiliki tipe IMPLISIT" +- +-#: fortran/trans-decl.cc:1798 + #, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "variabel instrinsic yang bukan sebuah prosedur" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, fuzzy, gcc-internal-format + #| msgid "Return value of function '%s' at %L not set" + msgid "Return value of function %qs at %L not set" + msgstr "Nilai kembali dari fungsi '%s' di %L tidak diset" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, fuzzy, gcc-internal-format + #| msgid "Different kind type parameters in pointer assignment at %L" + msgid "Deferred type parameter not yet supported" + msgstr "Jenis parameter berbeda dalam penempatan penunjuk di %L" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, fuzzy, gcc-internal-format + #| msgid "backend decl for module variable %s already exists" + msgid "backend decl for module variable %qs already exists" + msgstr "backend deklarasi untuk variabel modul %s telah ada" + +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, fuzzy, gcc-internal-format + #| msgid "Unused variable '%s' declared at %L" + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "Variabel '%s' tidak digunakan dideklarasikan di %L" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument" + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "'%s' di %L tidak dapat memiliki VALUE atribut karena ini bukan sebuah argumen dummy" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set" + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "Dummy argumen '%s' di %L telah dideklarasikan INTENT(OUT) tetapi belum diset" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set" + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "Dummy argumen '%s' di %L telah dideklarasikan INTENT(OUT) tetapi belum diset" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, fuzzy, gcc-internal-format + #| msgid "Unused dummy argument '%s' at %L" + msgid "Unused dummy argument %qs at %L" + msgstr "Argumen dummy tidak digunakan '%s' di %L" + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, fuzzy, gcc-internal-format + #| msgid "Unused variable '%s' declared at %L" + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "Variabel '%s' tidak digunakan dideklarasikan di %L" + +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, fuzzy, gcc-internal-format + #| msgid "Unused variable '%s' declared at %L" + msgid "Unused variable %qs declared at %L" + msgstr "Variabel '%s' tidak digunakan dideklarasikan di %L" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, fuzzy, gcc-internal-format + #| msgid "Unused parameter '%s' declared at %L" + msgid "Unused parameter %qs declared at %L" + msgstr "Parameter '%s' tidak digunakan dideklarasikan di %L" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, fuzzy, gcc-internal-format + #| msgid "Unused parameter '%s' declared at %L" + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "Parameter '%s' tidak digunakan dideklarasikan di %L" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, fuzzy, gcc-internal-format + #| msgid "Return value '%s' of function '%s' declared at %L not set" + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "Nilai kembali dari fungsi '%s' dideklarasikan di %L tidak diset" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "" +@@ -86339,27 +86310,27 @@ msgstr "" + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, gcc-internal-format + msgid "Unknown intrinsic op" + msgstr "Instrinsik op tidak diketahui" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, gcc-internal-format, gfc-internal-format + msgid "Unknown argument list function at %L" + msgstr "Daftar fungsi argumen tidak diketahui di %L" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "" +diff --git a/gcc/po/ja.po b/gcc/po/ja.po +index a20d2a983c5..464a05d5069 100644 +--- a/gcc/po/ja.po ++++ b/gcc/po/ja.po +@@ -21,7 +21,7 @@ msgid "" + msgstr "" + "Project-Id-Version: gcc 11.1.0\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" + "PO-Revision-Date: 2021-05-11 22:47+0900\n" + "Last-Translator: Hiroshi Takekawa \n" + "Language-Team: Japanese \n" +@@ -4036,7 +4036,7 @@ msgstr "" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "" + + #: m2/lang.opt:127 +@@ -7681,11 +7681,6 @@ msgstr "" + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "" + +-#: config/i386/i386.opt:1280 +-#, fuzzy, no-c-format +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "AES 組み込み関数とコード生成をサポートする" +- + #: config/pa/pa64-hpux.opt:23 + #, fuzzy, no-c-format + msgid "Assume code will be linked by GNU ld." +@@ -17225,12 +17220,12 @@ msgstr "'%%l' 被演算子が label ではありません" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "浮動小数定数を使い損ねました" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +@@ -18295,64 +18290,64 @@ msgstr "このオプションに説明がありません" + msgid "Uses of this option are diagnosed." + msgstr "" + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "" + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, c-format + msgid "Same as %s%s." + msgstr "" + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, c-format + msgid "Same as %s." + msgstr "" + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, c-format + msgid "%s Same as %s." + msgstr "" + +-#: opts.cc:1733 ++#: opts.cc:1732 + #, fuzzy + msgid "[available in " + msgstr "STAT 変数" + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "[デフォルト]" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, c-format + msgid "%llu bytes" + msgstr "" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "[有効]" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "[無効]" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr "" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr "" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr "" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, c-format + msgid "" + " Known valid arguments for %s option:\n" +@@ -18361,47 +18356,47 @@ msgstr "" + " %s オプションの有効な引数は以下の通り:\n" + " " + +-#: opts.cc:1959 ++#: opts.cc:1958 + msgid "The following options are target specific" + msgstr "このオプションはターゲット固有のものです" + +-#: opts.cc:1962 ++#: opts.cc:1961 + msgid "The following options control compiler warning messages" + msgstr "次のオプションはコンパイラの警告メッセージを制御します" + +-#: opts.cc:1965 ++#: opts.cc:1964 + msgid "The following options control optimizations" + msgstr "次のオプションは最適化を制御します" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + msgid "The following options are language-independent" + msgstr "次のオプションは言語に依存しないものです" + +-#: opts.cc:1971 ++#: opts.cc:1970 + msgid "The following options control parameters" + msgstr "次のオプションはパラメータを制御します" + +-#: opts.cc:1977 ++#: opts.cc:1976 + msgid "The following options are specific to just the language " + msgstr "次のオプションはこの言語固有のものです" + +-#: opts.cc:1979 ++#: opts.cc:1978 + msgid "The following options are supported by the language " + msgstr "次のオプションはこの言語でサポートされているものです" + +-#: opts.cc:1990 ++#: opts.cc:1989 + msgid "The following options are not documented" + msgstr "次のオプションは文書化されていません" + +-#: opts.cc:1992 ++#: opts.cc:1991 + msgid "The following options take separate arguments" + msgstr "次のオプションは分離した引数を取ります" + +-#: opts.cc:1994 ++#: opts.cc:1993 + msgid "The following options take joined arguments" + msgstr "次のオプションは結合した引数を取ります" + +-#: opts.cc:2006 ++#: opts.cc:2005 + msgid "The following options are language-related" + msgstr "次のオプションは言語に関係したものです" + +@@ -18785,72 +18780,72 @@ msgstr "strfmon 書式の長さ修飾子" + msgid "" + msgstr "<コマンドライン>" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, c-format + msgid "unsupported operand for code '%c'" + msgstr "コード '%c' に対する無効な被演算子です" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, fuzzy, c-format + msgid "invalid operand for '%%%c'" + msgstr "コード '%c' に対する無効な被演算子です" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, c-format + msgid "invalid vector constant" + msgstr "無効なベクトル定数です" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, c-format + msgid "incompatible register operand for '%%%c'" + msgstr "コード '%c' に対する無効な被演算子です" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, c-format + msgid "missing operand" + msgstr "被演算子がありません" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, c-format + msgid "invalid constant" + msgstr "無効な定数" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, c-format + msgid "invalid operand" + msgstr "無効な被演算子です" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, fuzzy, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "無効な被演算子コード '%c' です" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, c-format + msgid "invalid address mode" + msgstr "無効なアドレスモードです" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "GNU と SVE ベクタの二項演算はできません" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "局所動的 TLS 参照無しで '%%&' が使用されました" +@@ -18867,18 +18862,18 @@ msgid "invalid %%r value" + msgstr "無効な %%r 値" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "無効な %%R 値" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "無効な %%N 値" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" + msgstr "無効な %%P 値" +@@ -18908,7 +18903,7 @@ msgstr "無効な %%M 値" + msgid "invalid %%U value" + msgstr "無効な %%U 値" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" + msgstr "無効な %%s 値" +@@ -18918,7 +18913,7 @@ msgstr "無効な %%s 値" + msgid "invalid %%C value" + msgstr "無効な %%C 値" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" + msgstr "無効な %%E 値" +@@ -18931,7 +18926,7 @@ msgstr "" + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" + msgstr "無効な %%xn コード" +@@ -19014,35 +19009,35 @@ msgstr "被演算子として無効な UNSPEC です" + msgid "unrecognized supposed constant" + msgstr "認識できない定数のようなもの" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, c-format + msgid "invalid shift operand" + msgstr "無効なシフト被演算子" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, c-format + msgid "predicated Thumb instruction" + msgstr "述語付き Thumb 命令" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "条件シーケンスにある述語付き命令" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "コード '%c' に対する無効な被演算子です" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -19051,26 +19046,26 @@ msgstr "コード '%c' に対する無効な被演算子です" + msgid "invalid operand for code '%c'" + msgstr "コード '%c' に対する無効な被演算子です" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, c-format + msgid "instruction never executed" + msgstr "命令は決して実行されません" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + msgid "invalid conversion from type %" + msgstr "% からの無効な変換です" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + msgid "invalid conversion to type %" + msgstr "% への無効な変換です" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "" + +@@ -19435,97 +19430,97 @@ msgstr "無効な浮動小数点定数です" + msgid "Expected register or constant integer." + msgstr "インターフェースまたはインターフェースへのポインタが予期されます" + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, c-format + msgid "invalid UNSPEC as operand" + msgstr "被演算子として無効な UNSPEC です" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, c-format + msgid "invalid use of register '%s'" + msgstr "'%s' の誤った用法です" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, fuzzy, c-format + msgid "invalid use of asm flag output" + msgstr "無効な型の使用法です" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, fuzzy, c-format + msgid "invalid operand size for operand code 'O'" + msgstr "演算子コード '%c' に対する無効な被演算子サイズです" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, fuzzy, c-format + msgid "invalid operand size for operand code 'z'" + msgstr "演算子コード '%c' に対する無効な被演算子サイズです" + +-#: config/i386/i386.cc:13290 ++#: config/i386/i386.cc:13283 + #, fuzzy, c-format +-msgid "invalid operand type used with operand code '%c'" ++msgid "invalid operand type used with operand code 'Z'" + msgstr "被演算子コード '%c' に無効な被演算子型が使用されました" + +-#: config/i386/i386.cc:13295 ++#: config/i386/i386.cc:13288 + #, fuzzy, c-format +-msgid "invalid operand size for operand code '%c'" ++msgid "invalid operand size for operand code 'Z'" + msgstr "演算子コード '%c' に対する無効な被演算子サイズです" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, c-format + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "被演算子は条件コードではありません。無効な被演算子コード 'Y' です" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, c-format + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "被演算子は条件コードではありません。無効な被演算子コード 'D' です" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, fuzzy, c-format + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "被演算子は条件コードではありません。無効な被演算子コード 'D' です" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, fuzzy, c-format + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "被演算子は条件コードではありません。無効な被演算子コード 'D' です" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, fuzzy, c-format + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "被演算子は条件コードではありません。無効な被演算子コード 'D' です" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, fuzzy, c-format + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "被演算子は条件コードではありません。無効な被演算子コード 'D' です" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, fuzzy, c-format + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "被演算子は条件コードではありません。無効な被演算子コード 'D' です" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, fuzzy, c-format + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "被演算子は条件コードではありません。無効な被演算子コード 'D' です" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, c-format + msgid "invalid operand code '%c'" + msgstr "無効な被演算子コード '%c' です" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, c-format + msgid "invalid constraints for operand" + msgstr "演算子に対する無効な制約です" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, c-format + msgid "invalid vector immediate" + msgstr "無効なベクトル直接表記" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + msgid "unknown insn mode" + msgstr "不明な命令モード" + +@@ -19556,7 +19551,7 @@ msgstr "%<__fpreg%> に関する無効な操作です" + msgid "invalid %%P operand" + msgstr "無効な %%P 被演算子です" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" + msgstr "無効な %%p 値です" +@@ -19601,8 +19596,8 @@ msgstr "'%%%c' は有効な被演算子接頭辞ではありません" + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, c-format + msgid "invalid use of '%%%c'" + msgstr "'%%%c' の無効な使用法です" +@@ -19634,7 +19629,7 @@ msgid "post-increment address is not a register" + msgstr "後置増分アドレスがレジスタではありません" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" + msgstr "誤ったアドレスです" + +@@ -19792,7 +19787,7 @@ msgstr "サポートされていない定数アドレス:" + msgid "unsupported memory expression:" + msgstr "固定小数変換内で無効な型です" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, fuzzy, c-format + msgid "invalid vector operand" + msgstr "無効な %%P 被演算子です" +@@ -19850,147 +19845,147 @@ msgstr "リトルエンディアンモードでコードを生成する" + msgid "bad move" + msgstr "誤った move です" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" + msgstr "誤った 128 ビット move" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, c-format + msgid "invalid %%A value" + msgstr "無効な %%A 値" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" + msgstr "無効な %%D 値です" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, c-format + msgid "invalid %%e value" + msgstr "無効な %%e 値" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" + msgstr "無効な %%f 値です" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" + msgstr "無効な %%F 値です" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" + msgstr "無効な %%G 値です" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" + msgstr "無効な %%j コードです" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" + msgstr "無効な %%J コードです" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" + msgstr "無効な %%k 値です" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "無効な %%K 値です" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" + msgstr "無効な %%O 値です" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" + msgstr "無効な %%q 値です" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, c-format + msgid "invalid %%t value" + msgstr "無効な %%t 値" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" + msgstr "無効な %%T 値です" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" + msgstr "無効な %%u 値です" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "無効な %%v 値です" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, c-format + msgid "invalid %%V value" + msgstr "無効な %%V 値" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" + msgstr "無効な %%x 値です" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, c-format + msgid "invalid %%z value" + msgstr "無効な %%z 値" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "無効な %%y 値です。'Z' 制約を使用してみてください" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + #, fuzzy + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "32 ビット乗算命令を有効にする" + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + msgid "AltiVec argument passed to unprototyped function" + msgstr "プロトタイプが無い関数に AltiVec 引数が渡されました" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + #, fuzzy + msgid "Could not generate addis value for fusion" + msgstr "各関数で単一の終了点を生成しない" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + #, fuzzy + msgid "Unable to generate load/store offset for fusion" + msgstr "整列されていない load/store 命令を有効にする" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "%<__vector_quad%> からの無効な変換です" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "%<__vector_quad%> への無効な変換です" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + #, fuzzy + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "%<__fpreg%> からの無効な変換です" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + #, fuzzy + msgid "invalid conversion to type %<__vector_pair%>" + msgstr "%<__fpreg%> への無効な変換です" +@@ -20460,7 +20455,7 @@ msgstr "候補:" + msgid " after user-defined conversion:" + msgstr "利用者定義命令を有効にする" + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + msgid "candidate is:" + msgid_plural "candidates are:" + msgstr[0] "候補:" +@@ -20943,7 +20938,7 @@ msgstr "" + msgid "Driving:" + msgstr "" + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + msgid "actual argument to INTENT = OUT/INOUT" + msgstr "" + +@@ -21115,11 +21110,11 @@ msgstr "" + msgid "implied END DO" + msgstr "" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + msgid "assignment" + msgstr "代入" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + #, fuzzy + msgid "pointer assignment" + msgstr "代入" +@@ -21128,211 +21123,211 @@ msgstr "代入" + msgid "simple IF" + msgstr "" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + msgid "elemental procedure" + msgstr "" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + #, fuzzy + msgid "allocatable argument" + msgstr "引数がありません" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + #, fuzzy + msgid "asynchronous argument" + msgstr "十分な引数がありません" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + #, fuzzy + msgid "optional argument" + msgstr "無効な PHI 引数です" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + #, fuzzy + msgid "pointer argument" + msgstr "代入" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + #, fuzzy + msgid "target argument" + msgstr "引数がありません" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + #, fuzzy + msgid "value argument" + msgstr "無効な PHI 引数です" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + #, fuzzy + msgid "volatile argument" + msgstr "引数がありません" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + #, fuzzy + msgid "assumed-shape argument" + msgstr "合っていない引数です" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + #, fuzzy + msgid "assumed-rank argument" + msgstr "合っていない引数です" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + #, fuzzy + msgid "coarray argument" + msgstr "配列代入" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + msgid "parametrized derived type argument" + msgstr "" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + #, fuzzy + msgid "polymorphic argument" + msgstr "引数がありません" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + msgid "NO_ARG_CHECK attribute" + msgstr "" + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + #, fuzzy + msgid "assumed-type argument" + msgstr "合っていない引数です" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + msgid "array result" + msgstr "" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + msgid "pointer or allocatable result" + msgstr "" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + msgid "result with non-constant character length" + msgstr "" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + msgid "bind(c) procedure" + msgstr "" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, c-format + msgid "Invalid context for NULL() pointer at %%L" + msgstr "" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, c-format + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, c-format + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, c-format + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, c-format + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, fuzzy, c-format + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "<不明な演算子>" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, fuzzy, c-format + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "<不明な演算子>" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, c-format + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, c-format + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, c-format + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + msgid "iterator variable" + msgstr "" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + msgid "Start expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + msgid "End expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + msgid "Step expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + msgid "DEALLOCATE object" + msgstr "DEALLOCATE オブジェクト" + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + msgid "ALLOCATE object" + msgstr "ALLOCATE オブジェクト" + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + msgid "STAT variable" + msgstr "STAT 変数" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + msgid "ERRMSG variable" + msgstr "ERRMSG 変数" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + msgid "item in READ" + msgstr "" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + msgid "ACQUIRED_LOCK variable" + msgstr "" + +@@ -21345,27 +21340,27 @@ msgstr "" + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, c-format + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, c-format + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + msgid "Assignment of scalar to unallocated array" + msgstr "" + +@@ -22263,7 +22258,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "-mrelax は RTP PIC 用にのみサポートされています" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Syntax error in %s statement at %C" + msgstr "'%s' トークンの所で文法エラー" +@@ -22640,7 +22635,7 @@ msgstr "%qE 属性は %s 属性と競合します" + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, fuzzy, gcc-internal-format + msgid "previous declaration here" +@@ -22737,10 +22732,10 @@ msgstr "型が既に定義されているため型属性が無視されました + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -22873,7 +22868,7 @@ msgstr "クラス %s 用のファイルを見つけられません。" + msgid "offset %qwi outside bounds of constant string" + msgstr "オフセットが定数文字列の境界の外にあります" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, fuzzy, gcc-internal-format + msgid "%qE declared here" + msgstr "%qD はここで宣言されています" +@@ -24710,7 +24705,7 @@ msgstr "大きな固定小数定数が暗黙的に固定整数型に切り詰め + msgid "comparison is always %d due to width of bit-field" + msgstr "ビットフィールド幅のため、比較が常に %d になります" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "" +@@ -25480,7 +25475,7 @@ msgstr "関数が局所変数のアドレスを返します" + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -26589,14 +26584,14 @@ msgstr "メンバ %qD へのポインタと見なしています" + msgid "using a dangling pointer to %qD" + msgstr "無効なポインタモード %qs です" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, gcc-internal-format + msgid "%qD declared here" + msgstr "%qD はここで宣言されています" +@@ -26642,7 +26637,7 @@ msgstr "非関数 %qD の呼び出しです" + msgid "call to %qD" + msgstr "非関数 %qD の呼び出しです" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, fuzzy, gcc-internal-format + msgid "storing the address of local variable %qD in %qE" + msgstr "要求された大域レジスタ変数 `%s' のアドレス" +@@ -27695,7 +27690,7 @@ msgstr "" + msgid "IPA modref summary is missing in input file" + msgstr "" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, fuzzy, gcc-internal-format + msgid "invalid jump function in LTO stream" + msgstr "call 文内で無効な関数です" +@@ -28655,7 +28650,7 @@ msgstr "ジャンプをまたがった最適化を行う" + msgid "command-line option %qs is not supported by this configuration" + msgstr "コマンドラインオプション %qs はこの設定ではサポートされていません" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, gcc-internal-format + msgid "missing argument to %qs" + msgstr "%qs への引数がありません" +@@ -28695,12 +28690,12 @@ msgstr "-mcorea と -mcoreb は併用できません" + msgid "unrecognized argument in option %qs" + msgstr "オプション %qs 内で認識できない引数です" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "%qs への有効な引数は次の通りです: %s" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s" + msgstr "%qs への有効な引数は次の通りです: %s" +@@ -28856,7 +28851,7 @@ msgstr "" + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "-falign-loops=%d はサポートされていません" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, fuzzy, gcc-internal-format + msgid "%<-fsanitize-trap=%s%> is not supported" + msgstr "-falign-loops=%d はサポートされていません" +@@ -28896,183 +28891,183 @@ msgstr "変数追跡が要求されましたが、デバッグ情報を生成し + msgid "variable tracking requested, but not supported by this debug format" + msgstr "変数追跡が要求されましたが、このデバッグ形式ではサポートされていません" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, fuzzy, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "-freorder-blocks-and-partition はこのアーキテクチャ上では動作しません" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, fuzzy, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "-freorder-blocks-and-partition はこのアーキテクチャ上では巻き戻し (unwind) 情報をサポートしません" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, fuzzy, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "-freorder-blocks-and-partition はこのアーキテクチャ上では動作しません" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, fuzzy, gcc-internal-format + msgid "unrecognized % passed to %" + msgstr "print_specific_help へ認識できない include_flags 0x%x が渡されました" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "--help= オプションへの認識できない引数です: %q.*s" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "--help= オプションへの認識できない引数です: %q.*s" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, fuzzy, gcc-internal-format + msgid "%qs attribute directive ignored" + msgstr "%qE 属性指示が無視されました" + +-#: opts.cc:2347 ++#: opts.cc:2346 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "--help= オプションへの認識できない引数です: %q.*s" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, fuzzy, gcc-internal-format + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "%qs への有効な引数は次の通りです: %s" + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, fuzzy, gcc-internal-format + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "関数 %qE へ十分な引数がありません" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, fuzzy, gcc-internal-format + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr "%salign-loops=%d%s が 0 と %d の間ではありません" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, fuzzy, gcc-internal-format + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "組み込み関数への無効な引数です" + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, fuzzy, gcc-internal-format + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "--help 引数 %q.*s は曖昧です。より特定してください" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "--help= オプションへの認識できない引数です: %q.*s" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, fuzzy, gcc-internal-format + msgid "structure alignment must be a small power of two, not %wu" + msgstr "構造体の整列は %d ではなく、小さな二の累乗でなければいけません" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, fuzzy, gcc-internal-format + msgid "unknown stack check parameter %qs" + msgstr "不明なスタック検査パラメータ \"%s\" です" + +-#: opts.cc:3158 ++#: opts.cc:3157 + #, gcc-internal-format + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "" + + # 規格に合わせて DWARF と大文字で表記する +-#: opts.cc:3169 ++#: opts.cc:3168 + #, fuzzy, gcc-internal-format + msgid "dwarf version %wu is not supported" + msgstr "DWARF バージョン %d はサポートされていません" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "--help= オプションへの認識できない引数です: %q.*s" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, gcc-internal-format + msgid "target system does not support debug output" + msgstr "ターゲットシステムはデバッグ出力をサポートしていません" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, fuzzy, gcc-internal-format + msgid "debug format %qs conflicts with prior selection" + msgstr "デバッグ形式 \"%s\" は前の選択と競合しています" + +-#: opts.cc:3468 ++#: opts.cc:3467 + #, fuzzy, gcc-internal-format + msgid "unrecognized debug output level %qs" + msgstr "認識できないでバッグ出力レベル \"%s\" です" + +-#: opts.cc:3470 ++#: opts.cc:3469 + #, fuzzy, gcc-internal-format + msgid "debug output level %qs is too high" + msgstr "デバッグ出力レベル %s は高すぎます" + +-#: opts.cc:3482 ++#: opts.cc:3481 + #, fuzzy, gcc-internal-format + msgid "unrecognized btf debug output level %qs" + msgstr "認識できないでバッグ出力レベル \"%s\" です" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "コアファイルサイズ最大制限を取得しています: %m" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "コアファイルサイズ制限を最大へ設定しています: %m" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "認識できない gcc デバッグオプションです: %c" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, fuzzy, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "認識できないコマンドラインオプション %<-fdump-%s%> です" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, fuzzy, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "-Werror=%s: オプション -%s はありません" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, fuzzy, gcc-internal-format + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" + msgstr "%qs は前処理の有効なオプションではありません" +@@ -29757,187 +29752,187 @@ msgstr "" + msgid "%qD renamed after being referenced in assembly" + msgstr "" + +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, fuzzy, gcc-internal-format + msgid "function symbol is not function" + msgstr "`%s' は関数を返す関数として宣言されています" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, gcc-internal-format + msgid "inconsistent % attribute" + msgstr "" + +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, fuzzy, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "%qE は変数にのみ適用できます" + +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "node has invalid order %i" + msgstr "%qs は -mcpu= への引数としては無効です" + +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, fuzzy, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "メソッド '%s' はクラス内に見つかりません" + +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, fuzzy, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "呼び出されたオブジェクト %qE は関数ではありません" + +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, fuzzy, gcc-internal-format + msgid "node is alias but not definition" + msgstr "古いスタイルの関数定義です" + +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, fuzzy, gcc-internal-format + msgid "node is symver but not alias" + msgstr "古いスタイルの関数定義です" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, fuzzy, gcc-internal-format + msgid "symver is not exported with default visibility" + msgstr "%qD は %qs として宣言されていて、暗黙的にデフォルトの可視性になります" + +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, fuzzy, gcc-internal-format + msgid "implicit_section flag is set but section isn%'t" + msgstr "関数 %qE の暗黙的な宣言です" + +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, gcc-internal-format + msgid "Alias and target%'s section differs" + msgstr "" + +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, gcc-internal-format + msgid "Alias and target%'s comdat groups differs" + msgstr "" + +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, gcc-internal-format + msgid "Transparent alias and target%'s assembler names differs" + msgstr "" + +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, fuzzy, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "verify_ssa に失敗しました" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "invalid order in asm node %i" + msgstr "無効なポインタモード %qs です" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, fuzzy, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "関数 %qD が変数として再宣言されました" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, fuzzy, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "変数 %q+D が設定されましたが使用されていません" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -31595,27 +31590,27 @@ msgstr "" + msgid "target specific builtin not available" + msgstr "" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "" +@@ -32438,7 +32433,7 @@ msgstr "%qE 属性は %qT が既に定義されているため無視されます + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "%qE 属性は %qT が既に定義されているため無視されます" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "%qE 属性は公開オブジェクトに関してのみ効果があります" +@@ -34529,7 +34524,7 @@ msgstr "サポートされていない非標準の文字列リテラルの連結 + msgid "traditional C rejects string constant concatenation" + msgstr "伝統的な C では文字列定数の連結を拒否します" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "" +@@ -36198,7 +36193,7 @@ msgstr "入力ファイルが多すぎます" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for %<-mcpu%>" + msgstr "-mfpu 用の不明な値 %s です" +@@ -36229,15 +36224,15 @@ msgid "unrecognized option passed to %%:%" + msgstr "認識できないオプション %<-%s%> です" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, fuzzy, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "%qs への有効な引数は次の通りです: %s" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "valid arguments are: %s" + msgstr "%qs への有効な引数は次の通りです: %s" +@@ -36322,48 +36317,48 @@ msgstr "-mcpu=%s が無効です" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, fuzzy, gcc-internal-format + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "%salign-loops%s は廃止予定です。-falign-loops%s を使用してください" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, fuzzy, gcc-internal-format + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr "%salign-loops=%d%s が 0 と %d の間ではありません" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, fuzzy, gcc-internal-format + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "%salign-jumps%s は廃止予定です。-falign-jumps%s を使用してください" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, fuzzy, gcc-internal-format + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr "%salign-loops=%d%s が 0 と %d の間ではありません" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, fuzzy, gcc-internal-format + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "%salign-functions%s は廃止予定です。-falign-functions%s を使用してください" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, fuzzy, gcc-internal-format + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr "%salign-loops=%d%s が 0 と %d の間ではありません" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, fuzzy, gcc-internal-format + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr "%sbranch-cost=%d%s が 0 と 5 の間ではありません" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "%<-fsplit-stack%> は現在のところ GNU/Linux 上でのみサポートされています" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "%<-fsplit-stack%> はアセンブラが CFI 指示をサポートしている必要があります" +@@ -36850,13 +36845,13 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "RTP PIC は Thumb では使用できません" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be an integer constant expression" + msgstr "%d 番目の %qE の引数は format 属性の候補のようです" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, gcc-internal-format + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" + msgstr "" +@@ -37123,7 +37118,7 @@ msgstr "passing argument %d 番目の %qE の引数を渡すときにポイン + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, fuzzy, gcc-internal-format + msgid "duplicate definition of %qs" + msgstr "重複した初期化子" +@@ -37165,7 +37160,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "`%s' に `extern' と初期化子の両方があります" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, fuzzy, gcc-internal-format + msgid "variables of type %qT cannot have thread-local storage duration" + msgstr "%qE 属性は %qT が既に定義されているため無視されます" +@@ -37253,324 +37248,324 @@ msgstr "" + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, fuzzy, gcc-internal-format + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "プロトタイプが無い関数に AltiVec 引数が渡されました" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, fuzzy, gcc-internal-format + msgid "%qE requires the SVE ISA extension" + msgstr "ビットフィールド命令を使用しない" + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, fuzzy, gcc-internal-format + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "組み込み関数 %qD は %<-mconstant-cfstrings%> フラグを要求します" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, gcc-internal-format + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute ignored" + msgid "%qs string ill-formed" + msgstr "%qs 属性が無視されました" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, fuzzy, gcc-internal-format + msgid "invalid format for %" + msgstr "無効な #pragma %s です" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, fuzzy, gcc-internal-format + msgid "invalid % value: %d" + msgstr "無効な %%h 値" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "不明な spec 関数 %qs です" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, gcc-internal-format + msgid "specify a system register with a small string length" + msgstr "" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "%qs は %qs 用には有効ではありません" + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "" + +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "無効なスレッドポインタオプションです: -mtp=%s" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, fuzzy, gcc-internal-format + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "%qs への有効な引数は次の通りです: %s" + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, fuzzy, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "組み込み関数への無効な引数です" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, fuzzy, gcc-internal-format + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "組み込み関数への無効な引数です" + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for %<-march%>" + msgstr "-mfpu 用の不明な値 %s です" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, fuzzy, gcc-internal-format + msgid "did you mean %<-mcpu=%s%>?" + msgstr "無効なスレッドポインタオプションです: -mtp=%s" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "無効なスレッドポインタオプションです: -mtp=%s" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for %<-mtune%>" + msgstr "-mfpu 用の不明な値 %s です" + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, fuzzy, gcc-internal-format + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "-mcpu=%s スイッチが -march=%s スイッチと競合しています" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, fuzzy, gcc-internal-format + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "multilib はサポートしません" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, gcc-internal-format + msgid "code model %qs with %<-f%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in ilp32 mode" + msgstr "コードモデル %qs は %s ビットモード内ではサポートされません" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, fuzzy, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "%<#pragma pack%> の後に %<(%> がありません - 無視されました" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "%<#pragma pack%> の後に %<(%> がありません - 無視されました" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, fuzzy, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "%<#pragma pack%> の後に %<(%> がありません - 無視されました" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "%<#pragma pack%> の後に %<(%> がありません - 無視されました" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, fuzzy, gcc-internal-format + msgid "missing argument to % pragma or attribute" + msgstr "%<#pragma pack%> の後に %<(%> がありません - 無視されました" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, fuzzy, gcc-internal-format + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "%<#pragma pack%> の後に %<(%> がありません - 無視されました" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, fuzzy, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "%<#pragma pack%> の後に %<(%> がありません - 無視されました" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, fuzzy, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "%<#pragma pack%> の後に %<(%> がありません - 無視されました" + +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, fuzzy, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "間違った形式の %<#pragma init%> です" + +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, fuzzy, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "attribute(target(\"%s\")) が不明です" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, fuzzy, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "属性 %qE の引数が文字列ではありません" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, fuzzy, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "attribute(target(\"%s\")) が不明です" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, fuzzy, gcc-internal-format + msgid "unsupported simdlen %wd" + msgstr "サポートされていない組み合わせです: %s" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, gcc-internal-format + msgid "GCC does not currently support return type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, fuzzy, gcc-internal-format + msgid "unsupported return type %qT for % functions" + msgstr "組み込み関数へのサポートされていない引数の型です" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, fuzzy, gcc-internal-format + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "組み込み関数へのサポートされていない引数の型です" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, fuzzy, gcc-internal-format + msgid "GCC does not currently support simdlen %wd for type %qT" + msgstr "-shared オプションは VAX ELF 用には現在はサポートされていません" +@@ -37755,13 +37750,13 @@ msgstr "%qE 属性の引数が \"ilink1\" または \"ilink2\" ではありま + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -37902,17 +37897,17 @@ msgstr "%qE 属性は無視されました" + msgid "%qE attribute only applies to variables" + msgstr "%qE は変数にのみ適用できます" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, gcc-internal-format + msgid "alternatives not allowed in % flag output" + msgstr "" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, fuzzy, gcc-internal-format + msgid "unknown % flag output %qs" + msgstr "不明な IRA アルゴリズム %qs です" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, fuzzy, gcc-internal-format + msgid "invalid type for % flag output" + msgstr "無効な被演算子出力コード" +@@ -38120,7 +38115,7 @@ msgstr "ターゲット CPU は Thumb 命令をサポートしていません" + msgid "target CPU does not support unaligned accesses" + msgstr "ターゲット CPU は ARM モードをサポートしていません" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, fuzzy, gcc-internal-format + #| msgid "the %qs architecture does not support branch-likely instructions" + msgid "This architecture does not support branch protection instructions" +@@ -38176,7 +38171,7 @@ msgstr "構造体サイズ境界は %s にのみ設定できます" + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "RTP PIC は -msingle-pic-base と併用できません" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, fuzzy, gcc-internal-format + msgid "FDPIC mode is not supported in Thumb-1 mode" + msgstr "コードモデル %qs は %s ビットモード内ではサポートされません" +@@ -38285,7 +38280,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "warn_unused_result 属性付きで宣言されている %qD の戻り値を無視しています" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "" +@@ -38335,32 +38330,32 @@ msgstr "" + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "スタックに積まれた仮引数の実際の位置を計算できません" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, fuzzy, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "予期しない型が `id' (%s) に指定されました" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "高位レジスタを pop する為に使用できる低位レジスタがありません" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, fuzzy, gcc-internal-format + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "割り込みサービスルーチンを Thumb モードでコード化することはできません" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, fuzzy, gcc-internal-format + msgid "invalid fpu for target attribute or pragma %qs" + msgstr "%qs 属性用の無効なベクトル型です" +@@ -38368,22 +38363,22 @@ msgstr "%qs 属性用の無効なベクトル型です" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, fuzzy, gcc-internal-format + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "%qs 属性用の無効なベクトル型です" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, fuzzy, gcc-internal-format + msgid "unknown target attribute or pragma %qs" + msgstr "target 属性または pragma が SPE ABI を変更します" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, fuzzy, gcc-internal-format + msgid "% flags not supported in thumb1 mode" + msgstr "コードモデル %qs は %s ビットモード内ではサポートされません" +@@ -38457,17 +38452,17 @@ msgstr "-fpic はサポートされていません" + msgid "%<-fPIE%> is not supported" + msgstr "-fPIC はサポートされていません" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, fuzzy, gcc-internal-format + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "-pedantic と -traditional とは相互排他的です" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, fuzzy, gcc-internal-format + msgid "%qs function cannot have arguments" + msgstr "割り込み関数は引数無しでなければいけません" + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, fuzzy, gcc-internal-format + msgid "%qs function cannot return a value" + msgstr "関数が __fp16 型を返しません" +@@ -38787,7 +38782,7 @@ msgstr "組み込み関数への無効な引数です" + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, gcc-internal-format + msgid "invalid argument to built-in function" + msgstr "組み込み関数への無効な引数です" +@@ -39387,751 +39382,751 @@ msgstr "" + msgid "virtual function multiversioning not supported" + msgstr "静的リンクはサポートされていません" + +-#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25106 + #, fuzzy, gcc-internal-format + msgid "multiversioning needs % which is not supported on this target" + msgstr "入れ子になった関数はこのターゲットではサポートされていません" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" + msgstr "コードモデル %s は PIC モードをサポートしません" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, fuzzy, gcc-internal-format + msgid "attribute %qs argument is not a string" + msgstr "属性 %qE の引数が文字列ではありません" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, fuzzy, gcc-internal-format + msgid "attribute %qs argument %qs is unknown" + msgstr "attribute(target(\"%s\")) が不明です" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, fuzzy, gcc-internal-format + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "弱い参照属性は別名属性より前に出現しなければいけません" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, fuzzy, gcc-internal-format + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "データ領域 '%s' は前の宣言と矛盾します" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, fuzzy, gcc-internal-format + msgid "wrong argument %qs to option %qs" + msgstr "オプション %qs 内で認識できない引数です" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, fuzzy, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" + msgstr "レジスタ名が %q+D 用に指定されていません" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, fuzzy, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" + msgstr "%q+D 用の整列が指定されていないようです" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, fuzzy, gcc-internal-format + msgid "too many size ranges specified in option %qs" + msgstr "%qs にクラス名が指定されていません" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, fuzzy, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "不明なレジスタ名です: %s" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, fuzzy, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "64 ビット ABI は ESA/390 モード内ではサポートされていません" + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, fuzzy, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "%stune=x86-64%s は廃止されました。代わりに %stune=k8%s または %stune=generic%s の適切な方を使用してください" + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, fuzzy, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "%stune=x86-64%s は廃止されました。代わりに %stune=k8%s または %stune=generic%s の適切な方を使用してください" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, gcc-internal-format + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, fuzzy, gcc-internal-format + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "-mcmodel= は 32 ビットシステム上ではサポートされていません" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, fuzzy, gcc-internal-format + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "-mcmodel= は 32 ビットシステム上ではサポートされていません" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, fuzzy, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "コードモデル %qs は %s ビットモード内ではサポートされません" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, fuzzy, gcc-internal-format + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "-mg でのプロファイルはサポートされていません" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, fuzzy, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "-fdirectives-only は -traditional と併用できません" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, fuzzy, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "-fdirectives-only は -traditional と併用できません" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, fuzzy, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "-fdirectives-only は -traditional と併用できません" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "コードモデル %qs は %s ビットモード内ではサポートされません" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "コードモデル %qs は %s ビットモード内ではサポートされません" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, fuzzy, gcc-internal-format + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "-m%s はこの設定ではサポートされていません" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "%i ビットモードが使用できるようにコンパイルされていません" + +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "選択した CPU は x86-64 命令セットをサポートしていません" + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, fuzzy, gcc-internal-format + msgid "bad value %qs for %<-march=%> switch" + msgstr "-mcmodel= スイッチ用の誤った値 %s です" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, fuzzy, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "-mcmodel= スイッチ用の誤った値 %s です" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "%qs への有効な引数は次の通りです: %s" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "%qs への有効な引数は次の通りです: %s" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, fuzzy, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "%qs への有効な引数は次の通りです: %s" + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, fuzzy, gcc-internal-format + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "-mtune スイッチ用の間違った値 %qs です" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, fuzzy, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "-mtune スイッチ用の間違った値 %qs です" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "%qs への有効な引数は次の通りです: %s" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "%qs への有効な引数は次の通りです: %s" + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, fuzzy, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "%qs への有効な引数は次の通りです: %s" + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, fuzzy, gcc-internal-format + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "%sregparm%s は 64 ビットモードでは無視されます" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, fuzzy, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "%sregparm%s は 64 ビットモードでは無視されます" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, fuzzy, gcc-internal-format + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "%sregparm=%d%s が 0 と %d の間ではありません" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, fuzzy, gcc-internal-format + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "-mno-fentry は SEH と互換性がありません" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, fuzzy, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "%srtd%s は 64 ビットモードでは無視されます" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, fuzzy, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "%srtd%s は 64 ビットモードでは無視されます" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, fuzzy, gcc-internal-format + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "%spreferred-stack-boundary%s はこのターゲットではサポートされていません" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, fuzzy, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "%spreferred-stack-boundary=%d%s が %d と %d の間ではありません" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, fuzzy, gcc-internal-format + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "-mincoming-stack-boundary=%d が %d と 12 の間ではありません" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, fuzzy, gcc-internal-format + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "-mno-fentry は SEH と互換性がありません" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, fuzzy, gcc-internal-format + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "ret 命令は実装されていません" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, fuzzy, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "%ssseregparm%s が SSE が有効ではない状態で使用されています" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, fuzzy, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "%ssseregparm%s が SSE が有効ではない状態で使用されています" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "SSE 命令セットが無効になっています。 387 数値演算を使用します" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "387 命令セットが無効になっています。SSE 数値演算を使用します" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, gcc-internal-format + msgid "stack probing requires % for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, fuzzy, gcc-internal-format + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "-mno-fentry は SEH と互換性がありません" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, fuzzy, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "ms_hook_prologue は入れ子になった関数と両立できません" + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, fuzzy, gcc-internal-format + msgid "unknown option for %<-mrecip=%s%>" + msgstr "-mrecip=%s 用の不明なオプションです" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "%qs は前処理の有効なオプションではありません" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "%qs は前処理の有効なオプションではありません" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "%qs は前処理の有効なオプションではありません" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, fuzzy, gcc-internal-format + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "-mno-fentry は SEH と互換性がありません" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, fuzzy, gcc-internal-format + msgid "interrupt and naked attributes are not compatible" + msgstr "stdcall と cdecl 属性は併用できません" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, fuzzy, gcc-internal-format + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "-msdata=%s と -mcall-%s は併用できません" + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, fuzzy, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "-msdata=%s と -mcall-%s は併用できません" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, fuzzy, gcc-internal-format + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "-msdata=%s と -mcall-%s は併用できません" + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, fuzzy, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "-msdata=%s と -mcall-%s は併用できません" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, fuzzy, gcc-internal-format + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "2 バイト cop 命令は 64 ビット VLIW モードでは許可されていません" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, fuzzy, gcc-internal-format + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "2 バイト cop 命令は 64 ビット VLIW モードでは許可されていません" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, fuzzy, gcc-internal-format + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "2 バイト cop 命令は 64 ビット VLIW モードでは許可されていません" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "fastcall と regparm 属性は併用できません" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "regparam と thiscall 属性は併用できません" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "%qE 属性には整数定数引数が必要です" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "%qE 属性への引数が %d より大きいです" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "fastcall と cdecl 属性は併用できません" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "fastcall と stdcall 属性は併用できません" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "fastcall と thiscall 属性は併用できません" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "stdcall と cdecl 属性は併用できません" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "stdcall と fastcall 属性は併用できません" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "stdcall と thiscall 属性は併用できません" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "cdecl と thiscall 属性は併用できません" + +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, fuzzy, gcc-internal-format + msgid "%qE attribute is used for non-class method" + msgstr "%qE 属性が非クラスメソッド用に使用されています" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, gcc-internal-format + msgid "%qE incompatible attribute ignored" + msgstr "互換性がない %qE 属性は無視されました" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, gcc-internal-format + msgid "%qE attribute only available for 32-bit" + msgstr "%qE 属性は 32 ビットでのみ使用できます" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, gcc-internal-format + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "%qE 属性への引数が 0 でも 1 でもありません" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, fuzzy, gcc-internal-format + msgid "%qs and %qs attributes are not compatible" + msgstr "ms_abi と sysv_abi 属性は互換性がありません" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "%qE 属性は文字列定数引数を必要とします" + +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "%qE 属性の引数が文字列定数ではありません" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "" + +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, fuzzy, gcc-internal-format + msgid "interrupt service routine should have %qs as the second argument" + msgstr "割り込みサービスルーチンを Thumb モードでコード化することはできません" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, fuzzy, gcc-internal-format + msgid "interrupt service routine must return %" + msgstr "割り込みサービスルーチンを Thumb モードでコード化することはできません" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, gcc-internal-format + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "SSE/SSE2 が有効でない状態で sseregparm 属性付きの %qD を呼び出しています" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, gcc-internal-format + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "SSE/SSE2 が有効でない状態で sseregparm 属性付きの %qT を呼び出しています<" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, fuzzy, gcc-internal-format + msgid "X32 does not support % attribute" + msgstr "multilib はサポートしません" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, fuzzy, gcc-internal-format + msgid "% attribute is not compatible with nested function" + msgstr "ms_hook_prologue は入れ子になった関数と両立できません" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, fuzzy, gcc-internal-format + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "MMX が有効でない状態での MMX ベクトル引数は ABI を変更します" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, fuzzy, gcc-internal-format + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "MMX が有効でない状態での MMX ベクトル戻し (return) は ABI を変更します" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, gcc-internal-format + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, fuzzy, gcc-internal-format + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "MMX が有効でない状態での MMX ベクトル戻し (return) は ABI を変更します" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "SSE が有効でない状態での SSE ベクトル引数は ABI を変更します" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "SSE が有効でない状態での SSE ベクトル戻し (return) は ABI を変更します" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "MMX が有効でない状態での MMX ベクトル引数は ABI を変更します" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "MMX が有効でない状態での MMX ベクトル戻し (return) は ABI を変更します" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "可変長配列メンバを持つ構造体を渡す ABI は GCC 4.4 で変更になっています" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, fuzzy, gcc-internal-format + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "long double を持つ共用体を渡す ABI は GCC 4.4 で変更になっています" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, fuzzy, gcc-internal-format + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "複素浮動小数メンバを持つ構造体を渡す ABI は GCC 4.4 で変更になっています" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + #, fuzzy + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "複素浮動小数メンバを持つ構造体を渡す ABI は GCC 4.4 で変更になっています" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "SSE が無効の状態で SSE レジスタを戻して (return) います" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "SSE が無効の状態で SSE レジスタ引数があります" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "x87 が無効な状態で x87 レジスタを戻して (return) います" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, fuzzy, gcc-internal-format + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "SSE/SSE2 が有効でない状態で sseregparm 属性付きの %qD を呼び出しています" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "%d バイト整列の仮引数を渡す ABI は GCC 4.6 で変更になっています" + +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, fuzzy, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "ms_hook_prologue は入れ子になった関数と両立できません" + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, fuzzy, gcc-internal-format + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "ms_hook_prologue 属性は 32 ビット用の -mfentry と併用できません" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "" + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, fuzzy, gcc-internal-format + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "init_priority 属性はこのプラットフォームではサポートされていません" + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, fuzzy, gcc-internal-format + #| msgid "nested functions not supported on this target" + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "入れ子になった関数はこのターゲットではサポートされていません" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, fuzzy, gcc-internal-format + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "このコンパイラ設定では %<-fsplit-stack%> はサポートされていません" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, fuzzy, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" + msgstr "このコンパイラ設定では %<-fsplit-stack%> はサポートされていません" + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, fuzzy, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "このコンパイラ設定では %<-fsplit-stack%> はサポートされていません" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, gcc-internal-format + msgid "% modifier on non-integer register" + msgstr "" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, gcc-internal-format + msgid "unsupported size for integer register" + msgstr "" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, fuzzy, gcc-internal-format + msgid "non-integer operand used with operand code %" + msgstr "被演算子コード '%c' に無効な被演算子型が使用されました" + +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, fuzzy, gcc-internal-format + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "-mcmodel= は 32 ビットシステム上ではサポートされていません" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, fuzzy, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "不明なアーキテクチャ %qs です" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, fuzzy, gcc-internal-format + msgid "unsupported argument type %qT for simd" + msgstr "組み込み関数へのサポートされていない引数の型です" + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, fuzzy, gcc-internal-format + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" + msgstr "-mno-fentry は SEH と互換性がありません" +@@ -40487,7 +40482,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "%qE が競合する %qs 属性付きで再宣言されました" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, fuzzy, gcc-internal-format + msgid "%qE attribute requires a string argument" + msgstr "%qE 属性は文字列定数引数を必要とします" +@@ -41613,53 +41608,53 @@ msgstr "" + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "不明な #pragma GCC coprocessor %E です" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, fuzzy, gcc-internal-format + msgid "RVV type %qT does not have a fixed size" + msgstr "%q#D 用のプロトタイプがクラス %qT 内のどれとも一致しません" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, fuzzy, gcc-internal-format + msgid "RVV type %qT does not have a defined alignment" + msgstr "`%s' に `extern' と初期化子の両方があります" + +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, fuzzy, gcc-internal-format + #| msgid "arithmetic on pointer to an incomplete type" + msgid "arithmetic on pointer to RVV type %qT" + msgstr "不完全型へのポインタに関する計算です" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, fuzzy, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "可変長オブジェクトが初期化されないようです" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, fuzzy, gcc-internal-format + msgid "fields cannot have RVV type %qT" + msgstr "%s を開けません" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, fuzzy, gcc-internal-format + msgid "array elements cannot have RVV type %qT" + msgstr "可変長オブジェクトが初期化されないようです" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, gcc-internal-format + msgid "cannot allocate objects with RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, fuzzy, gcc-internal-format + msgid "cannot delete objects with RVV type %qT" + msgstr "ポインタを参照として宣言できません" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, gcc-internal-format + msgid "cannot throw or catch RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, fuzzy, gcc-internal-format + msgid "capture by copy of RVV type %qT" + msgstr "不完全な typedef `%s' の使用は不適切です" +@@ -41679,71 +41674,66 @@ msgstr "ビットフィールド命令を使用しない" + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, fuzzy, gcc-internal-format + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "複素浮動小数メンバを持つ構造体を渡す ABI は GCC 4.4 で変更になっています" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "%qE 属性への引数が 0 でも 1 でもありません" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, gcc-internal-format + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, gcc-internal-format + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, gcc-internal-format + msgid "ABI requires %<-march=rv%d%>" + msgstr "" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, fuzzy, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "%spreferred-stack-boundary=%d%s が %d と %d の間ではありません" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid base register in %qs" + msgstr "%qs は %qs 用には有効ではありません" + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid number in %qs" + msgstr "%qs は %qs 用には有効ではありません" + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, fuzzy, gcc-internal-format + msgid "%qs function cannot have different interrupt type" + msgstr "割り込み関数は引数無しでなければいけません" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, fuzzy, gcc-internal-format +@@ -42215,98 +42205,98 @@ msgstr "" + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, fuzzy, gcc-internal-format + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "`this' は右辺値式であり、そのアドレスを取ることはできません" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "AltiVec 型内での % の使用は無効です" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "AltiVec 型内での真偽型 (boolean) の使用は無効です" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "AltiVec 型内での % の使用は無効です" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, fuzzy, gcc-internal-format + #| msgid "use of decimal floating point types in AltiVec types is invalid" + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "AltiVec 型内での十進浮動小数点の使用は無効です" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, fuzzy, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "-mvsx 無しで 64 ビットコード用の AltiVec 型内での % の使用は無効です" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "AltiVec 型内での % の使用は廃止されました。% を使用してください" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, fuzzy, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "-mvsx 無しで AltiVec 型内での % の使用は無効です" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, fuzzy, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "-mvsx 無しで AltiVec 型内での % の使用は無効です" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, fuzzy, gcc-internal-format + msgid "invalid cpu %qs for %s%qs%s" + msgstr "CPU \"%s\" は %s\"%s\"%s 用には無効です" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, fuzzy, gcc-internal-format + msgid "%s%qs%s is not allowed" + msgstr "%s\"%s\"%s は許可されていません" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, fuzzy, gcc-internal-format + msgid "%s%qs%s is invalid" + msgstr "%s\"%s\"%s は無効です" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" + +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, fuzzy, gcc-internal-format + msgid "Virtual function multiversioning not supported" + msgstr "静的リンクはサポートされていません" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, fuzzy, gcc-internal-format + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "組み込み関数 %qD は %<-mconstant-cfstrings%> フラグを要求します" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, fuzzy, gcc-internal-format + msgid "type %<__vector_pair%> requires the %qs option" + msgstr "組み込み関数 %qD は %<-mconstant-cfstrings%> フラグを要求します" +@@ -43729,7 +43719,7 @@ msgstr "volatile フィールドがあるオブジェクトをレジスタに配 + msgid "uninitialized % is invalid in C++" + msgstr "初期化されていない定数 %qD は C++ 内では無効です" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "" +@@ -43916,7 +43906,7 @@ msgstr "仮引数 %qE 用に記憶域クラスが指定されました" + msgid "storage class specified for unnamed parameter" + msgstr "無名仮引数用に記憶域クラスが指定されました" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "型名用に記憶域クラスが指定されました" +@@ -44085,7 +44075,7 @@ msgstr "型名は配列を返す関数として定義されています" + msgid "function definition has qualified void return type" + msgstr "関数定義が void 戻り型の修飾子を持っています" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "関数戻り値の型修飾子は無視されました" +@@ -44212,7 +44202,7 @@ msgstr "ISO C は const や volatile の関数型を禁止しています" + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "構造体または共用体のメンバは可変型を持つことは出来ません" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "変数またはフィールド %qE が void と宣言されています" +@@ -44414,7 +44404,7 @@ msgstr "%qs 式内での型定義は C++ では無効です" + msgid "%qT defined in underspecified object initializer" + msgstr "ISO C90 は初期化用に副オブジェクトを指定することを禁止してます" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "宣言が何も宣言していません" +@@ -44464,7 +44454,7 @@ msgstr "構造体に名前付きメンバがありません" + msgid "struct has no members" + msgstr "構造体にメンバがありません" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, gcc-internal-format + msgid "flexible array member in union" + msgstr "共用体に可変配列メンバがあります" +@@ -44509,7 +44499,7 @@ msgstr "% の再定義です" + msgid "% declared with but defined without fixed underlying type" + msgstr "" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, fuzzy, gcc-internal-format + msgid "specified mode too small for enumerated values" + msgstr "指定したモードは列挙値用には小さすぎます" +@@ -44556,7 +44546,7 @@ msgstr "%qE 用の列挙値が整数定数ではありません" + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "ISO C は列挙値を % の範囲に制限しています" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, fuzzy, gcc-internal-format + msgid "inline function %qD given attribute %qs" + msgstr "非インライン (noinline) 属性が与えられたインライン関数 %qD です" +@@ -44586,7 +44576,7 @@ msgstr "前に %qD 用のプロトタイプがありません" + msgid "%qD was used with no prototype before its definition" + msgstr "%qD がプロトタイプ無しで、定義される前に使用されました" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, gcc-internal-format + msgid "no previous declaration for %qD" + msgstr "前に %qD 用の定義がありません" +@@ -44701,12 +44691,12 @@ msgstr "引数 %qD が組み込みプロトタイプと一致しません" + msgid "argument %qD doesn%'t match prototype" + msgstr "引数 %qD がプロトタイプと一致しません" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "非 void を戻す関数内に return 文がありません" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, gcc-internal-format + msgid "parameter %qD set but not used" + msgstr "仮引数 %qD が設定されましたが使用されません" +@@ -46729,7 +46719,7 @@ msgstr "ループが完全な入れ子になっていません" + msgid "collapsed loops not perfectly nested" + msgstr "" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "" +@@ -46859,12 +46849,12 @@ msgstr "% が予期されます" + msgid "variant %qD is not a function" + msgstr "呼び出されたオブジェクトは関数ではありません" + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, fuzzy, gcc-internal-format + msgid "variant %qD and base %qD have incompatible types" + msgstr "-f%s と -msdata=%s は併用できません" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "" +@@ -47127,7 +47117,7 @@ msgstr "void 式の無効な使用法です" + msgid "invalid use of flexible array member" + msgstr "可変配列メンバの無効な使用法です" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "境界が指定されていない配列の無効な使用法です" +@@ -48079,12 +48069,12 @@ msgstr "" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "可変配列メンバを初期化しています" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, fuzzy, gcc-internal-format + msgid "cannot initialize array of %qT from a string literal with type array of %qT" + msgstr "互換性のないポインタ型からの初期化です" +@@ -48125,7 +48115,7 @@ msgstr "初期化子の要素がロード時に計算出来ません" + msgid "invalid initializer" + msgstr "無効な初期化子です" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, fuzzy, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "可変長オブジェクトは初期化されないことになるでしょう" +@@ -48140,8 +48130,8 @@ msgstr "初期化子の終わりに余分なブレースのグループ" + msgid "braces around scalar initializer" + msgstr "スカラー初期化子が中括弧で囲まれています" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "入れ子になったコンテキスト内で可変配列メンバを初期化しています" +@@ -48231,7 +48221,7 @@ msgstr "構造体初期化子内の要素が多すぎます" + msgid "positional initialization of field in % declared with % attribute" + msgstr "" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "" +@@ -49581,7 +49571,7 @@ msgstr "% は %qT 用としては適切ではありません" + msgid "%q#D is private within this context" + msgstr "マクロ引数内でディレクトリを使うことはできません" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, fuzzy, gcc-internal-format + msgid "declared private here" + msgstr "ここで宣言されています" +@@ -49591,7 +49581,7 @@ msgstr "ここで宣言されています" + msgid "%q#D is protected within this context" + msgstr "マクロ引数内でディレクトリを使うことはできません" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, fuzzy, gcc-internal-format + msgid "declared protected here" + msgstr "ここで宣言されています" +@@ -49606,7 +49596,7 @@ msgstr "%q+#D はアクセス出来ません" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, fuzzy, gcc-internal-format + msgid " declared here" +@@ -49946,7 +49936,7 @@ msgstr "%<%D(%A)%> の呼び出しに適合する関数がありません" + msgid "call to non-function %qD" + msgstr "非関数 %qD の呼び出しです" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "コンストラクタ %<%T::%D%> を直接呼び出すことは出来ません" +@@ -50519,7 +50509,7 @@ msgstr "構造体に可変配列メンバ以外のメンバがありません" + msgid "next member %q#D declared here" + msgstr "`%s' は前にここで宣言されました" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "%q#T が再定義されています" +@@ -50641,7 +50631,7 @@ msgstr "関数 `%s' に対して不適切な保存クラス" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, fuzzy, gcc-internal-format + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます" +@@ -50710,7 +50700,7 @@ msgstr "" + msgid "failed % attribute assumption" + msgstr "" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, fuzzy, gcc-internal-format + msgid "call to internal function %qE" +@@ -50757,7 +50747,7 @@ msgstr "%s に `%s' という名前のメンバはありません" + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, fuzzy, gcc-internal-format + msgid "call to non-% function %qD" +@@ -50882,7 +50872,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "% ポインタの参照を解除しています" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -50981,7 +50971,7 @@ msgstr "初期化子を欠いています" + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, fuzzy, gcc-internal-format + msgid "dereferencing a null pointer" +@@ -51057,7 +51047,7 @@ msgstr "NaN から整数への変換です" + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "ポインタ型へ変換できません" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, fuzzy, gcc-internal-format + msgid "statement is not a constant expression" +@@ -51124,189 +51114,189 @@ msgstr "%q+D が再定義されました" + msgid "control passes through definition of %qD with static storage duration" + msgstr "%q+D が再定義されました" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, fuzzy, gcc-internal-format + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "定数式がオーバーフローしました" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "初期化子の要素が定数式ではありません" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, gcc-internal-format + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, fuzzy, gcc-internal-format + msgid "cast from %qT is not allowed" + msgstr "%s\"%s\"%s は許可されていません" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, fuzzy, gcc-internal-format + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "定数式内でオーバーフローしました" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, fuzzy, gcc-internal-format + msgid "%(%E)%> is not a constant expression" + msgstr "初期化子の要素が定数式ではありません" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, fuzzy, gcc-internal-format + msgid "expression %qE is not a constant expression" + msgstr "初期化子の要素が定数式ではありません" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "定数式内でオーバーフローしました" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, fuzzy, gcc-internal-format + msgid "contract predicate is false in constant expression" + msgstr "初期化子の要素が定数式ではありません" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, fuzzy, gcc-internal-format + msgid "unexpected template-id %qE" + msgstr "% が予期されます" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, fuzzy, gcc-internal-format + msgid "function concept must be called" + msgstr "組み込み関数 %qD は単一の引数をとります" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, fuzzy, gcc-internal-format + msgid "address of a call to %qs is not a constant expression" + msgstr "配列 `%s' の大きさは非整数型" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, gcc-internal-format + msgid "unexpected expression %qE of kind %s" + msgstr "" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, fuzzy, gcc-internal-format + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "`%s' はその定義の前にプロトタイプなしで使われました" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, gcc-internal-format + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, gcc-internal-format + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, fuzzy, gcc-internal-format + msgid "lambda capture of %qE is not a constant expression" + msgstr "%qE の列挙値が整数定数式ではありません" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, fuzzy, gcc-internal-format + msgid "% from integer to pointer" + msgstr "初期化子の要素が定数式ではありません" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, fuzzy, gcc-internal-format + msgid "use of % in a constant expression" + msgstr "定数式がオーバーフローしました" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, fuzzy, gcc-internal-format + msgid "lambda-expression is not a constant expression before C++17" + msgstr "初期化子の要素が定数式ではありません" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, fuzzy, gcc-internal-format + msgid "new-expression is not a constant expression before C++20" + msgstr "初期化子の要素が定数式ではありません" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, fuzzy, gcc-internal-format + msgid "virtual functions cannot be % before C++20" + msgstr "仮想関数は friend にできません" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "定数式内でオーバーフローしました" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, fuzzy, gcc-internal-format + msgid "cast to non-integral type %qT in a constant expression" + msgstr "定数式がオーバーフローしました" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, fuzzy, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "%qE は最初に使用した後に % と宣言されています" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, fuzzy, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "%q+F が % と宣言されましたが定義されていません" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, fuzzy, gcc-internal-format + msgid "division by zero is not a constant expression" + msgstr "初期化子の要素が定数式ではありません" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "初期化子の要素が定数式ではありません" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, fuzzy, gcc-internal-format + msgid "neither branch of % is a constant expression" + msgstr "定数式がオーバーフローしました" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, fuzzy, gcc-internal-format + msgid "non-constant array initialization" + msgstr "初期化子内に非定数の配列インデックスがあります" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, fuzzy, gcc-internal-format + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます" + +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unexpected AST of kind %s" + msgstr "ファイル \"%s\" に戻るはずでした" +@@ -51894,7 +51884,7 @@ msgstr "" + msgid "% declared here" + msgstr "%qD はここで定義されています" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, fuzzy, gcc-internal-format + msgid "no member named %qE in %qT" + msgstr "不明な型名 %qE です" +@@ -51990,7 +51980,7 @@ msgstr "%<__builtin_prefetch%> への第三引数は定数でなければいけ + msgid "no suspend point info for %qD" + msgstr "前に %qD 用のプロトタイプがありません" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "" +@@ -52012,23 +52002,23 @@ msgstr "case の値としてポインタは許可されていません" + msgid "variable length arrays are not yet supported in coroutines" + msgstr "" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, fuzzy, gcc-internal-format + msgid "cannot initialize a return object of type %qT with an rvalue of type %" + msgstr "参照を参照として宣言できません" +@@ -52516,7 +52506,7 @@ msgstr "前方での `%s' の宣言" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "使用している宣言 %q+D は前に使用している宣言と競合しています" + +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, fuzzy, gcc-internal-format + msgid "previous declaration %qD" + msgstr "前方での `%s' の宣言" +@@ -52919,2273 +52909,2273 @@ msgstr "%qD は関数テンプレートではありません" + msgid "%q#T is not a class" + msgstr "" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, fuzzy, gcc-internal-format + msgid "no type named %q#T in %q#T" + msgstr "不明な型名 %qE です" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, fuzzy, gcc-internal-format + msgid "lookup of %qT in %qT is ambiguous" + msgstr "%s: オプション `%s' はあいまいです\n" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, gcc-internal-format + msgid "% names %q#D, which is not a type" + msgstr "" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, fuzzy, gcc-internal-format + msgid "template parameters do not match template %qD" + msgstr "仮引数 `%s' の型が宣言されていません" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, fuzzy, gcc-internal-format + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "要求された整列が 2 の累乗ではありません" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, fuzzy, gcc-internal-format + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "%q+#D は無効です。無名共用体は非静的データメンバのみ持つことが出来ます" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, fuzzy, gcc-internal-format + #| msgid "anonymous struct not inside named type" + msgid "anonymous struct with base classes" + msgstr "無名構造体が名前つき型の中にありません" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, fuzzy, gcc-internal-format + msgid "attribute ignored in declaration of %q#T" + msgstr "`%s' の宣言に二つ以上のデータ型が指定されました" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, gcc-internal-format + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "一つの宣言に複数の型があります" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, fuzzy, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "`enum %s' の再宣言" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for variables or function declarations" + msgstr "非関数 `%s' の引数に format 属性が指定されました" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, fuzzy, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "typdef 宣言で型名を欠いています" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "ISO C++ は無名構造体を禁止しています" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "非関数 `%s' の引数に format 属性が指定されました" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "非関数 `%s' の引数に format 属性が指定されました" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "コンストラクタに対する戻り値の型指定は無視されました" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, fuzzy, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "%s に対する記憶クラス指定子 `%s'" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "%s に対する記憶クラス指定子 `%s'" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "%s に対する記憶クラス指定子 `%s'" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, fuzzy, gcc-internal-format + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "%s に対する記憶クラス指定子 `%s'" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, fuzzy, gcc-internal-format + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "%s に対する記憶クラス指定子 `%s'" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, fuzzy, gcc-internal-format + msgid "% was ignored in this declaration" + msgstr "`%s' の宣言で型がデフォルトの `int' とされました" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, fuzzy, gcc-internal-format + msgid "%qs cannot be used for type declarations" + msgstr "\"%s\" はマクロ名としては使えません" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, fuzzy, gcc-internal-format + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "自動テンプレート実体化を有効にする" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, fuzzy, gcc-internal-format + msgid "no attribute can be applied to an explicit instantiation" + msgstr "`com_interface' 属性はクラス定義にのみ用いる事ができます" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, fuzzy, gcc-internal-format + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "`com_interface' 属性はクラス定義にのみ用いる事ができます" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "" + +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, fuzzy, gcc-internal-format + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "typedef `%s' が初期化されました" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, fuzzy, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "`%s' の宣言に `extern' がついており、初期化もされています" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, fuzzy, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "初期化された変数 `%s' は dllimport マークされています" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, fuzzy, gcc-internal-format + msgid "%q+#D is not a static data member of %q#T" + msgstr "%s に `%s' という名前のメンバはありません" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, fuzzy, gcc-internal-format + msgid "non-member-template declaration of %qD" + msgstr "%q#D のテンプレート宣言です" + +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, fuzzy, gcc-internal-format + msgid "does not match member template declaration here" + msgstr "ポインタ宣言子に不適切な型修飾子" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "" + +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, fuzzy, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "重複した初期化子" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, fuzzy, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "friend 宣言がクラス定義の中にありません" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, fuzzy, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, fuzzy, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, fuzzy, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "変数 `%s' には初期化子がありますが、不完全型です" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, fuzzy, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "配列 `%s' の要素に不完全型があります" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, fuzzy, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "仮引数 `%s' は不完全型です" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, gcc-internal-format + msgid "name used in a GNU-style designated initializer for an array" + msgstr "" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, fuzzy, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "自明でないラベルのついた初期化子です" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, fuzzy, gcc-internal-format + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "配列 `%s' の大きさは非整数型" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, fuzzy, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "初期化子は `%s' のサイズの特定に失敗しました" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, fuzzy, gcc-internal-format + msgid "array size missing in %qD" + msgstr "`%s' での配列サイズを欠いています" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, fuzzy, gcc-internal-format + msgid "zero-size array %qD" + msgstr "ISO C は サイズ 0 の配列 `%s' を禁じます" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, gcc-internal-format + msgid "storage size of %qD isn%'t known" + msgstr "" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, gcc-internal-format + msgid "storage size of %qD isn%'t constant" + msgstr "" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, gcc-internal-format + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, gcc-internal-format + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, gcc-internal-format + msgid "you can work around this by removing the initializer" + msgstr "" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, fuzzy, gcc-internal-format + msgid "uninitialized %" + msgstr "未初期化定数を ROM に置かない" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, fuzzy, gcc-internal-format + msgid "uninitialized variable %qD in % function" + msgstr "レジスタ変数 %qD が入れ子になった関数内で使用されています" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, fuzzy, gcc-internal-format + msgid "uninitialized variable %qD in % context" + msgstr "初期化された変数 %q+D は dllimport とマークされています" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, gcc-internal-format + msgid "%q#T has no user-provided default constructor" + msgstr "" + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, fuzzy, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "無効なビット列初期化子です" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, fuzzy, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "無名基底クラスの初期設定子が曖昧です" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, gcc-internal-format + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, fuzzy, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "%s に `%s' という名前のメンバはありません" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, fuzzy, gcc-internal-format + msgid "%qD is not a direct member of %qT" + msgstr "%s に `%s' という名前のメンバはありません" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, fuzzy, gcc-internal-format + msgid "invalid initializer for %q#D" + msgstr "無効な初期化子です" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, fuzzy, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "入力ファイルが多すぎます" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, fuzzy, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "スカラー初期化子がブレースで囲まれています" + +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, fuzzy, gcc-internal-format + msgid "too many braces around scalar initializer for type %qT" + msgstr "スカラー初期化子がブレースで囲まれています" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, fuzzy, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "初期化子のまわりのブレースを欠いています" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, fuzzy, gcc-internal-format + msgid "structured binding has incomplete type %qT" + msgstr "ソースは不完全型へのポインタです" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, fuzzy, gcc-internal-format + msgid "elements of array %q#T have incomplete type" + msgstr "配列 `%s' の要素に不完全型があります" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, fuzzy, gcc-internal-format + msgid "variable-sized compound literal" + msgstr "ISO C89 は複合リテラルを禁じます" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, fuzzy, gcc-internal-format + msgid "%q#D has incomplete type" + msgstr "`%s' は不完全型です" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, fuzzy, gcc-internal-format + msgid "scalar object %qD requires one element in initializer" + msgstr "共用体初期化子内の要素が多すぎます" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, gcc-internal-format + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, fuzzy, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "_Pramga が括弧で囲まれた文字列リテラルを受け取りました" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "コンストラクタの静的メンバ初期化子は無効です" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, fuzzy, gcc-internal-format + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "ISO C++ は new 式の初期化での `=' を禁じます" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "(クラス外での初期化を必要とします)" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, fuzzy, gcc-internal-format + msgid "reference %qD is initialized with itself" + msgstr "仮引数 %qD が初期化されます" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, fuzzy, gcc-internal-format + msgid "could not find variant declaration" + msgstr "宣言内にない %<[*]%> です" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, fuzzy, gcc-internal-format + msgid "% on constructor %qD" + msgstr "一時オブジェクトのアドレスを取ろうとしています" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, fuzzy, gcc-internal-format + msgid "% on destructor %qD" + msgstr "一時オブジェクトのアドレスを取ろうとしています" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, gcc-internal-format + msgid "% on defaulted %qD" + msgstr "" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, gcc-internal-format + msgid "% on deleted %qD" + msgstr "" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, gcc-internal-format + msgid "% on virtual %qD" + msgstr "" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "宣言の中に代入(初期化ではなく)があります" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, fuzzy, gcc-internal-format + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "ISO C++ は名前つき戻り値を許可しません" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, fuzzy, gcc-internal-format + msgid "% storage class specifier used" + msgstr "%qs に対して記憶域クラスが指定されています" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, fuzzy, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "`%s' の宣言に `extern' がついており、初期化もされています" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, fuzzy, gcc-internal-format + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "非メンバ関数での `this' の使用は無効です" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, fuzzy, gcc-internal-format + msgid "deduced type %qT for %qD is incomplete" + msgstr "戻り値の型が不完全型です" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, fuzzy, gcc-internal-format + msgid "variable concept has no initializer" + msgstr "可変長オブジェクトが初期化されないようです" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, fuzzy, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "前方での `%s' の宣言" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, fuzzy, gcc-internal-format + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "%qE 属性は変数および関数へのみ適用できます" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, fuzzy, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "関数 `%s' が変数であるかのように初期化されました" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr "" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, gcc-internal-format + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, fuzzy, gcc-internal-format + msgid "structured binding refers to incomplete type %qT" + msgstr "ソースは不完全型へのポインタです" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, fuzzy, gcc-internal-format + msgid "cannot decompose variable length array %qT" + msgstr "ISO C90 は可変長の配列 %qE を禁止しています" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%u name provided for structured binding" + msgid_plural "%u names provided for structured binding" + msgstr[0] "%qs が構造体フィールド用に指定されています" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" + msgstr[0] "" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" + msgstr[0] "" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, fuzzy, gcc-internal-format + msgid "cannot decompose variable length vector %qT" + msgstr "ポインタを参照として宣言できません" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, fuzzy, gcc-internal-format + msgid "%::value%> is not an integral constant expression" + msgstr "定数式が欠けているか無効です" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, gcc-internal-format + msgid "in initialization of structured binding variable %qD" + msgstr "" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, fuzzy, gcc-internal-format + msgid "cannot decompose union type %qT" + msgstr "ポインタを参照として宣言できません" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, fuzzy, gcc-internal-format + msgid "cannot decompose non-array non-class type %qT" + msgstr " ポインタからメンバへの変換で" + +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, fuzzy, gcc-internal-format + msgid "cannot decompose lambda closure type %qT" + msgstr "不完全型のポインタへの間接参照" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, fuzzy, gcc-internal-format + msgid "structured binding refers to incomplete class type %qT" + msgstr "ソースは不完全型へのポインタです" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, fuzzy, gcc-internal-format + msgid "cannot decompose class type %qT without non-static data members" + msgstr "% を静的データメンバ %qD へ適用できません" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, fuzzy, gcc-internal-format + msgid "initializer fails to determine size of %qT" + msgstr "初期化子は `%s' のサイズの特定に失敗しました" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, fuzzy, gcc-internal-format + msgid "array size missing in %qT" + msgstr "`%s' での配列サイズを欠いています" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, fuzzy, gcc-internal-format + msgid "zero-size array %qT" + msgstr "ISO C は サイズ 0 の配列 `%s' を禁じます" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, fuzzy, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "他のクラス `%s' のデストラクタを、メンバにはできません" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, fuzzy, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "他のクラス `%s' のデストラクタを、メンバにはできません" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, gcc-internal-format + msgid "%qD declared as a % variable" + msgstr "" + +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, gcc-internal-format + msgid "%qD declared as a % parameter" + msgstr "" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, gcc-internal-format + msgid "%qD declared as an % parameter" + msgstr "" + +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, gcc-internal-format + msgid "%qD declared as a % type" + msgstr "" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, gcc-internal-format + msgid "%qD declared as an % type" + msgstr "" + +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, gcc-internal-format + msgid "%qD declared as a % field" + msgstr "" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, gcc-internal-format + msgid "%qD declared as an % field" + msgstr "" + +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, fuzzy, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "領域 `%s' は関数として宣言されています" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, fuzzy, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "例外仕様の検査をするコードを生成しない" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, fuzzy, gcc-internal-format + msgid "concept %q#D declared with function parameters" + msgstr "%qD は非仮引数として宣言されています" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, fuzzy, gcc-internal-format + msgid "concept %q#D declared with a deduced return type" + msgstr "仮引数 %qD が void 型で宣言されています" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, fuzzy, gcc-internal-format + msgid "concept %q#D with non-% return type %qT" + msgstr "Java メソッド %qD が非 Java 戻り型 %qT を持ちます" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, fuzzy, gcc-internal-format + msgid "concept %qD has no definition" + msgstr "共用体定義の後には %<;%> が予期されます" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, fuzzy, gcc-internal-format + msgid "a function concept cannot be constrained" + msgstr "共用体を透過的にできません" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, fuzzy, gcc-internal-format + msgid "constraints on a non-templated function" + msgstr "%qD はテンプレート関数ではありません" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, fuzzy, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "宣言の中に代入(初期化ではなく)があります" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, fuzzy, gcc-internal-format + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "friend 宣言がクラス定義の中にありません" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "`::main' を template としては宣言できません" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "`::main' を inline としては宣言できません" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be %qs" + msgstr "`::main' を static としては宣言できません" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "`::main' を static としては宣言できません" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, gcc-internal-format + msgid "static member function %qD cannot have cv-qualifier" + msgstr "" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, gcc-internal-format + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, fuzzy, gcc-internal-format + msgid "static member function %qD cannot have ref-qualifier" + msgstr "静的メンバ %qD はビットフィールドに出来ません" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, fuzzy, gcc-internal-format + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "`::main' を static としては宣言できません" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, fuzzy, gcc-internal-format + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "`%s' の宣言は関数の配列" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, fuzzy, gcc-internal-format + msgid "deduction guide %qD must have the same access as %qT" + msgstr "`%s' の宣言は関数の配列" + +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, fuzzy, gcc-internal-format + msgid "deduction guide %qD must not have a function body" + msgstr "`%s' の宣言は関数の配列" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, gcc-internal-format + msgid "literal operator with C linkage" + msgstr "" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, fuzzy, gcc-internal-format + msgid "%qD has invalid argument list" + msgstr "%qs は -mcpu= への引数としては無効です" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, gcc-internal-format + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, fuzzy, gcc-internal-format + msgid "%qD must be a non-member function" + msgstr "デストラクタを静的メンバ関数とすることはできません" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, fuzzy, gcc-internal-format + msgid "%<::main%> must return %" + msgstr "`main' は `int' を返さなければなりません" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, fuzzy, gcc-internal-format + msgid "definition of explicitly-defaulted %q+D" + msgstr "typedef %q+D が再定義されました" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, fuzzy, gcc-internal-format + msgid "%q#D explicitly defaulted here" + msgstr "%qD はここで宣言されています" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, fuzzy, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "メンバ関数へのポインタが呼ばれましたが、クラススコープ内ではありません" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be a global variable" + msgstr "`::main' を template としては宣言できません" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, fuzzy, gcc-internal-format + msgid "a non-template variable cannot be %" + msgstr "自動変数 %qE は % になることは出来ません" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, fuzzy, gcc-internal-format + msgid "concept must be defined at namespace scope" + msgstr "%s=%s は数値ではありません" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, fuzzy, gcc-internal-format + msgid "a variable concept cannot be constrained" + msgstr "可変長オブジェクトが初期化されないようです" + +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, fuzzy, gcc-internal-format + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "ISO C++ は new 式の初期化での `=' を禁じます" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, gcc-internal-format + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "ISO C++ は new 式の初期化での `=' を禁じます" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "ISO C++ は new 式の初期化での `=' を禁じます" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, fuzzy, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "配列 `%s' の大きさは非整数型" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, fuzzy, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "配列 `%s' の大きさは非整数型" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, fuzzy, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "配列 `%s' の大きさは非整数型" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, fuzzy, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "定数式が欠けているか無効です" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "ISO C は サイズ 0 の配列 `%s' を禁じます" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "ISO C は サイズ 0 の配列 `%s' を禁じます" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids variable length array %qD" + msgstr "ISO C89 は可変長サイズの配列 `%s' を禁じます" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids variable length array" + msgstr "ISO C89 は可変長サイズの配列 `%s' を禁じます" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "可変長配列が使用されています" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "配列の次元がオーバーフローしました" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, fuzzy, gcc-internal-format + msgid "%qD declared as array of template placeholder type %qT" + msgstr "領域 `%s' は関数として宣言されています" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, fuzzy, gcc-internal-format + msgid "creating array of template placeholder type %qT" + msgstr " ポインタからメンバへの変換で" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as array of void" + msgstr "`%s' の宣言は void の配列" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, fuzzy, gcc-internal-format + msgid "creating array of void" + msgstr "`%s' の宣言は void の配列" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as array of functions" + msgstr "`%s' の宣言は関数の配列" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, fuzzy, gcc-internal-format + msgid "creating array of functions" + msgstr "`%s' の宣言は関数の配列" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as array of references" + msgstr "`%s' の宣言は関数の配列" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, fuzzy, gcc-internal-format + msgid "creating array of references" + msgstr "配列参照での添字を欠いています" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as array of function members" + msgstr "`%s' の宣言は関数の配列" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, fuzzy, gcc-internal-format + msgid "creating array of function members" + msgstr "`%s' の宣言は関数の配列" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, fuzzy, gcc-internal-format + #| msgid "variable length array is used" + msgid "variable-length array of %" + msgstr "可変長配列が使用されています" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, fuzzy, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "コンストラクタに対する戻り値の型指定は無視されました" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on constructor declaration" + msgstr "大域 register 変数が関数定義の後ろにあります" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, fuzzy, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "コンストラクタに対する戻り値の型指定は無視されました" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on destructor declaration" + msgstr "大域 register 変数が関数定義の後ろにあります" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, fuzzy, gcc-internal-format + msgid "return type specified for %" + msgstr "コンストラクタに対する戻り値の型指定は無視されました" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, fuzzy, gcc-internal-format + msgid "return type specified for deduction guide" + msgstr "コンストラクタに対する戻り値の型指定は無視されました" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "大域 register 変数が関数定義の後ろにあります" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, fuzzy, gcc-internal-format + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "%qD の宣言内でテンプレート仮引数リストが多すぎます" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, fuzzy, gcc-internal-format + msgid "% in declaration of deduction guide" + msgstr "`%s' の宣言が矛盾しています" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "無名変数やフィールドが void と宣言されました" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "変数またはフィールドが void と宣言されました" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, fuzzy, gcc-internal-format + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "大域スコープ外の関数 `%s' に対する記憶クラス `inline' は無効です" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, fuzzy, gcc-internal-format + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, fuzzy, gcc-internal-format + msgid "% cannot be cv-qualified" + msgstr "コンストラクタは virtual 宣言できません" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "未定義の型 `%s %s' の使用は不適切です" + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "未定義の型 `%s %s' の使用は不適切です" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "未定義の型 `%s %s' の使用は不適切です" + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, fuzzy, gcc-internal-format + msgid "%q#T is not a class or namespace" + msgstr "%s=%s は数値ではありません" + +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, fuzzy, gcc-internal-format + msgid "declaration of %qE as non-function" + msgstr "`%s' の宣言は関数の配列" + +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, fuzzy, gcc-internal-format + msgid "declaration of %qE as non-member" + msgstr "`%s' の宣言は仮引数を覆い隠します" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, fuzzy, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "関数の定義が `register' と宣言されました" + +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "`%s' の宣言は関数の配列" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as %" + msgstr "`%s' の extern 宣言がネストしています" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as parameter" + msgstr "%q+D の再宣言は仮引数を隠します" + +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, gcc-internal-format + msgid "both %qs and %qs specified" + msgstr "" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, fuzzy, gcc-internal-format + msgid "%qs cannot appear in a typedef declaration" + msgstr "宣言内にない %<[*]%> です" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, fuzzy, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "`%s' の宣言に二つ以上のデータ型が指定されました" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, fuzzy, gcc-internal-format + msgid "ISO C++ does not support plain % meaning %" + msgstr "ISO C は単なる % を % を意味するものとしてはサポートしません" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "ISO C++ では型の無い %qs の宣言を禁止しています" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, fuzzy, gcc-internal-format + msgid "%<__int%d%> is not supported by this target" + msgstr "このターゲットでは %<__int128%> はサポートされていません" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, fuzzy, gcc-internal-format + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "ISO C++ は %<__int128%> を %qs に対してはサポートしていません" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, fuzzy, gcc-internal-format + msgid "% and % specified together" + msgstr "% と % が %qs に対して両方指定されています" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, fuzzy, gcc-internal-format + msgid "% and % specified together" + msgstr "% および % が %qs に対して両方指定されています" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %qT" + msgstr "%qs は %qs と併用しなければいけません" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %qD" + msgstr "%qs は %qs と併用しなければいけません" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %" + msgstr "%<__thread%> が % と併せて使用されています" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %" + msgstr "%<__thread%> が % と併せて使用されています" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, gcc-internal-format + msgid "complex invalid for %qs" + msgstr "complex は %qs に対しては無効です" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, fuzzy, gcc-internal-format + msgid "member %qD cannot be declared both % and %" + msgstr "非メンバ `%s' を `mutable' とは宣言できません" + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, fuzzy, gcc-internal-format + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "非メンバ `%s' を `mutable' とは宣言できません" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "仮引数宣言の中の typedef 宣言は無効です" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, fuzzy, gcc-internal-format + msgid "storage class specified for template parameter %qs" + msgstr "仮引数 `%s' で指定された記憶クラス" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "仮引数 %qs に対して記憶域クラスタ指定されています" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, fuzzy, gcc-internal-format + msgid "a parameter cannot be declared %qs" + msgstr "仮引数は % として宣言してはいけません" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "% がクラス宣言外で使用されています" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, fuzzy, gcc-internal-format + msgid "structured binding declaration cannot be %qs" + msgstr "`%s' の宣言に二つ以上のデータ型が指定されました" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, fuzzy, gcc-internal-format + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, fuzzy, gcc-internal-format + msgid "%-qualified structured binding is deprecated" + msgstr "無効な宣言です" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, gcc-internal-format + msgid "structured binding declaration cannot be C++98 %" + msgstr "" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, fuzzy, gcc-internal-format + msgid "structured binding declaration cannot have type %qT" + msgstr "`%s' の宣言に二つ以上のデータ型が指定されました" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, fuzzy, gcc-internal-format + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "`%s' の宣言に二つ以上のデータ型が指定されました" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, gcc-internal-format + msgid "multiple storage classes in declaration of %qs" + msgstr "%qs の宣言内に複数の記憶域クラスがあります" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "%qs に対して記憶域クラスが指定されています" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, fuzzy, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "ネストした関数 `%s' は `extern' に宣言されました" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, fuzzy, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "`%s' のトップレベルの宣言が `auto' を指定します" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "friend 関数宣言内の記憶クラス指定子は無効です" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, fuzzy, gcc-internal-format + msgid "attribute ignored" + msgstr "%qE 属性は無視されました" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, fuzzy, gcc-internal-format + msgid "unnecessary parentheses in declaration of %qs" + msgstr "%qs の宣言内に複数の記憶域クラスがあります" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, gcc-internal-format + msgid "remove parentheses" + msgstr "" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, gcc-internal-format + msgid "requires-clause on return type" + msgstr "" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, fuzzy, gcc-internal-format + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, fuzzy, gcc-internal-format + msgid "virtual function cannot have deduced return type" + msgstr "仮想関数は friend にできません" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, gcc-internal-format + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, fuzzy, gcc-internal-format + msgid "invalid use of %" + msgstr "% の誤った使用法です" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, fuzzy, gcc-internal-format + msgid "deduced class type %qD in function return type" + msgstr "関数戻り値の型修飾子は無視されました" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, gcc-internal-format + msgid "deduction guide for %qT must have trailing return type" + msgstr "" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, fuzzy, gcc-internal-format + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, gcc-internal-format + msgid "a conversion function cannot have a trailing return type" + msgstr "" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, gcc-internal-format + msgid "%-qualified return type is deprecated" + msgstr "" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, fuzzy, gcc-internal-format + msgid "%qs declared as function returning a function" + msgstr "`%s' は関数を返す関数として宣言されています" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, fuzzy, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "`%s' は配列を返す関数として宣言されています" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, gcc-internal-format + msgid "% on function return type is not allowed" + msgstr "" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "デストラクタを静的メンバ関数とすることはできません" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, fuzzy, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "デストラクタを静的メンバ関数とすることはできません" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, fuzzy, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "コンストラクタは virtual 宣言できません" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, fuzzy, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "コンストラクタは virtual 宣言できません" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, fuzzy, gcc-internal-format + msgid "destructors may not be ref-qualified" + msgstr "コンストラクタは virtual 宣言できません" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, fuzzy, gcc-internal-format + msgid "constructors may not be ref-qualified" + msgstr "コンストラクタは virtual 宣言できません" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, fuzzy, gcc-internal-format + msgid "constructors cannot be declared %" + msgstr "コンストラクタは virtual 宣言できません" + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "仮想関数は friend にできません" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "friend 宣言がクラス定義の中にありません" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, fuzzy, gcc-internal-format + msgid "cannot define friend function %qs in a local class definition" + msgstr "friend 宣言がクラス定義の中にありません" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, fuzzy, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "デストラクタは仮引数を取りません" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "ポインタを参照として宣言できません" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, fuzzy, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "参照を参照として宣言できません" + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "ポインタを参照として宣言できません" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, fuzzy, gcc-internal-format + msgid "cannot declare reference to qualified function type %qT" + msgstr "参照を参照として宣言できません" + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to qualified function type %qT" + msgstr "ポインタを参照として宣言できません" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "メンバ関数は暗黙的にそのクラスの friend です" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, fuzzy, gcc-internal-format + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "オブジェクト以外がメンバ関数 %qD を呼び出すことは出来ません" + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, fuzzy, gcc-internal-format + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "`::main' を static としては宣言できません" + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "" + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, fuzzy, gcc-internal-format + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "非メンバ `%s' を `mutable' とは宣言できません" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, fuzzy, gcc-internal-format + msgid "% outside class declaration" + msgstr "% がクラス宣言外で使用されています" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, fuzzy, gcc-internal-format + msgid "% in friend declaration" + msgstr "空の宣言内に % があります" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, fuzzy, gcc-internal-format + msgid "only declarations of constructors and conversion operators can be %" + msgstr "`explicit' にできるのは、コンストラクタだけです" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, fuzzy, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "非メンバ `%s' を `mutable' とは宣言できません" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, fuzzy, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "非オブジェクトメンバ `%s' を `mutable' とは宣言できません" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, fuzzy, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "関数 `%s' を `mutable' としては宣言できません" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, fuzzy, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "static `%s' を mutable として宣言できません" + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, fuzzy, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "const `%s' を `mutable' として宣言できません" + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, fuzzy, gcc-internal-format + msgid "reference %qs cannot be declared %" + msgstr "関数 `%s' を `mutable' としては宣言できません" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, fuzzy, gcc-internal-format + msgid "typedef may not be a function definition" + msgstr "大域 register 変数が関数定義の後ろにあります" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, fuzzy, gcc-internal-format + msgid "typedef may not be a member function definition" + msgstr "デストラクタを静的メンバ関数とすることはできません" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, fuzzy, gcc-internal-format + msgid "% not allowed in alias declaration" + msgstr "宣言内にない %<[*]%> です" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, fuzzy, gcc-internal-format + msgid "typedef declared %" + msgstr "仮引数 `%s' が void と宣言されています" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, gcc-internal-format + msgid "typedef name may not be a nested-name-specifier" + msgstr "" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, fuzzy, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "クラス宣言の外側で virtual 指定しています" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, fuzzy, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "複雑なパラメタをもつ関数は inline にできません" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, fuzzy, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "friend 宣言がクラス定義の中にありません" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, fuzzy, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "クラス `%s' を大域スコープの friend にしようとしています" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, fuzzy, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "非メンバ関数での `this' の使用は無効です" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, fuzzy, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "`%s' の宣言はグローバル宣言を覆い隠します" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, fuzzy, gcc-internal-format + msgid "requires-clause on declaration of non-function type %qT" + msgstr "`enum %s' の再宣言" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, fuzzy, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "仮引数宣言の中で `::' を使えません" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, fuzzy, gcc-internal-format + msgid "cannot declare a parameter with %" + msgstr "ポインタを参照として宣言できません" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, fuzzy, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "%qD は関数テンプレートではありません" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, fuzzy, gcc-internal-format + msgid "% parameter not permitted in this context" + msgstr "マクロ引数内でディレクトリを使うことはできません" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, fuzzy, gcc-internal-format + msgid "parameter declared %" + msgstr "仮引数 `%s' が void と宣言されています" + +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, fuzzy, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "無効なデフォルトテンプレート引数" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, fuzzy, gcc-internal-format + msgid "non-static data member declared with placeholder %qT" + msgstr "%s に `%s' という名前のメンバはありません" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids flexible array member %qs" + msgstr "ISO C は サイズ 0 の配列 `%s' を禁じます" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids flexible array members" + msgstr "ISO C は サイズ 0 の配列 `%s' を禁じます" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, fuzzy, gcc-internal-format + msgid "invalid use of %<::%>" + msgstr "無効な用法の of %%d, %%x, 又は %%X" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, fuzzy, gcc-internal-format + msgid "declaration of function %qD in invalid context" + msgstr "%s: 関数 `%s' の宣言が変換されていません\n" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, fuzzy, gcc-internal-format + msgid "function %qD declared % inside a union" + msgstr "領域 `%s' は関数として宣言されています" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, fuzzy, gcc-internal-format + msgid "%qD cannot be declared %, since it is always static" + msgstr "`::main' を static としては宣言できません" + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as member of %qT" + msgstr "`%s' の宣言により `this' のメンバが覆い隠されます" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, fuzzy, gcc-internal-format + msgid "a destructor cannot be %qs" + msgstr "デストラクタを静的メンバ関数とすることはできません" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, fuzzy, gcc-internal-format + msgid "a constructor cannot be %" + msgstr "デストラクタを静的メンバ関数とすることはできません" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, fuzzy, gcc-internal-format + msgid "a concept cannot be a member function" + msgstr "デストラクタを静的メンバ関数とすることはできません" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, fuzzy, gcc-internal-format + msgid "%qD cannot be %qs" + msgstr "%s を開けません" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, fuzzy, gcc-internal-format + msgid "specialization of variable template %qD declared as function" + msgstr "変数 %qD が関数として再宣言されました" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, fuzzy, gcc-internal-format + msgid "variable template declared here" + msgstr "元の型はここで宣言されました" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, fuzzy, gcc-internal-format + msgid "field %qD has incomplete type %qT" + msgstr "領域 `%s' は不完全な型です" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, fuzzy, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "仮引数が不完全型です" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, fuzzy, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "`%s' は関数でもメンバ関数でもありません -- friend とは宣言できません" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, fuzzy, gcc-internal-format + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "`%s' は関数でもメンバ関数でもありません -- friend とは宣言できません" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, gcc-internal-format + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "" + +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, fuzzy, gcc-internal-format + msgid "static data member %qE declared %qs" + msgstr "仮引数 %q+D が % と宣言されています" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, fuzzy, gcc-internal-format + msgid "% static data member %qD must have an initializer" + msgstr "関数を inline にできません" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, fuzzy, gcc-internal-format + msgid "non-static data member %qE declared %qs" + msgstr "非オブジェクトメンバ `%s' を `mutable' とは宣言できません" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, fuzzy, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "関数 `%s' に対する記憶クラス `auto' は無効です" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, fuzzy, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "関数 `%s' に対する記憶クラス `register' は無効です" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, fuzzy, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "関数 `%s' に対する記憶クラス `auto' は無効です" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, fuzzy, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "関数 `%s' に対する記憶クラス `auto' は無効です" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, fuzzy, gcc-internal-format + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "初期化子リストは非メンバ関数では使えません" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, fuzzy, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "大域スコープ外の関数 `%s' に対する記憶クラス `inline' は無効です" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, fuzzy, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "大域スコープ外の関数 `%s' に対する記憶クラス `inline' は無効です" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, fuzzy, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "virtual な非クラス関数 `%s'" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, fuzzy, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "メソッド定義がクラスコンテキスト内ではありません" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, fuzzy, gcc-internal-format + msgid "%qs declared in a non-class scope" + msgstr "メソッド定義がクラスコンテキスト内ではありません" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, fuzzy, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "`::main' を static としては宣言できません" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "他の関数内で static 関数を宣言できません" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, fuzzy, gcc-internal-format + msgid "declaration of % variable %qD is not a definition" + msgstr "% 変数 %qD の宣言が % ループ初期化宣言内にあります" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, fuzzy, gcc-internal-format + msgid "a variable cannot be declared %" + msgstr "仮引数は % として宣言してはいけません" + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, fuzzy, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "`%s' が初期化されるところで、`extern' 宣言されました" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, fuzzy, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "`%s' に `extern' と初期化子の両方があります" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, fuzzy, gcc-internal-format + msgid "default argument %qE uses %qD" + msgstr "関数がローカル変数のアドレスを返しています" + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, fuzzy, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "関数がローカル変数のアドレスを返しています" + +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, fuzzy, gcc-internal-format + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "不完全な typedef `%s' の使用は不適切です" + +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, fuzzy, gcc-internal-format + msgid "invalid use of type % in parameter declaration" + msgstr "仮引数宣言の中で `::' を使えません" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, fuzzy, gcc-internal-format + msgid "%-qualified parameter is deprecated" + msgstr "仮引数 `%s' は無効です" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, fuzzy, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "パラメタはメソッドの型を不正に宣言しました" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, fuzzy, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "`::main' を static としては宣言できません" + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, fuzzy, gcc-internal-format + msgid "%qD must be a non-static member function" + msgstr "デストラクタを静的メンバ関数とすることはできません" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, fuzzy, gcc-internal-format + msgid "%qD must be a member function" + msgstr "デストラクタを静的メンバ関数とすることはできません" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, fuzzy, gcc-internal-format + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, fuzzy, gcc-internal-format + msgid "ISO C++ prohibits overloading %" + msgstr "ISO C++ は無名構造体を禁止しています" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, fuzzy, gcc-internal-format + msgid "%qD must have either zero or one argument" + msgstr "`%s' は 0 か 2 個の引数しかとりません" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, fuzzy, gcc-internal-format + msgid "%qD must have either one or two arguments" + msgstr "`%s' は 0 か 2 個の引数しかとりません" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, fuzzy, gcc-internal-format + msgid "postfix %qD must have % as its argument" + msgstr "`%s' は 0 か 2 個の引数しかとりません" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, fuzzy, gcc-internal-format + msgid "postfix %qD must have % as its second argument" + msgstr "`%s' は 0 か 2 個の引数しかとりません" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, fuzzy, gcc-internal-format + msgid "%qD must have no arguments" + msgstr "`%s' は 0 か 2 個の引数しかとりません" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, fuzzy, gcc-internal-format + msgid "%qD must have exactly one argument" + msgstr "`%s' は 0 か 2 個の引数しかとりません" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, fuzzy, gcc-internal-format + msgid "%qD must have exactly two arguments" + msgstr "`%s' は 0 か 2 個の引数しかとりません" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "" + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, fuzzy, gcc-internal-format + msgid "converting %qT to % will never use a type conversion operator" + msgstr "%s%s への変換で型変換演算子が利用されることは決してありません" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, fuzzy, gcc-internal-format + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "%s%s への変換で型変換演算子が利用されることは決してありません" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, fuzzy, gcc-internal-format + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "%s%s への変換で型変換演算子が利用されることは決してありません" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, fuzzy, gcc-internal-format + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "%s%s への変換で型変換演算子が利用されることは決してありません" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, fuzzy, gcc-internal-format + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "%s%s への変換で型変換演算子が利用されることは決してありません" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "" + +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "" + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "" + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "" + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, fuzzy, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "%qD の無効なテンプレート宣言です" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, fuzzy, gcc-internal-format + msgid "%qD has a previous declaration here" + msgstr "前方での `%s' の宣言" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, fuzzy, gcc-internal-format + msgid "%qT has a previous declaration here" + msgstr "前方での `%s' の宣言" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "" +@@ -55197,111 +55187,111 @@ msgstr "" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "" + +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, fuzzy, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "%s: オプション `%s' はあいまいです\n" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, fuzzy, gcc-internal-format + #| msgid "function template %qD redeclared as a class template" + msgid "class template %qD redeclared as non-template" + msgstr "関数テンプレート %qD がクラステンプレートとして再定義されました" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, gcc-internal-format + msgid "%qT is not a template" + msgstr "" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, fuzzy, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "事前の宣言なしの大域関数に関して警告する" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, fuzzy, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "`%s' の宣言は仮引数を覆い隠します" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, fuzzy, gcc-internal-format + msgid "cannot declare %qD in a different module" + msgstr "%qD をビットフィールド型として宣言できません" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, gcc-internal-format + msgid "%qT defined with direct virtual base" + msgstr "" + +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, fuzzy, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "型修飾子 `%s' は struct や class の後には使えません" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, fuzzy, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "重複した case の値" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, fuzzy, gcc-internal-format + msgid "previous definition here" + msgstr "`%s' は前にここで定義されました" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, fuzzy, gcc-internal-format + msgid "cannot define %qD in different module" + msgstr "作成時と使用時でエンディアンが異なります" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, fuzzy, gcc-internal-format + msgid "underlying type %qT of %qT must be an integral type" + msgstr "述語は識別子でなければなりません" +@@ -55310,82 +55300,82 @@ msgstr "述語は識別子でなければなりません" + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, fuzzy, gcc-internal-format + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "`%s' の列挙値が整数定数ではありません" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, fuzzy, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "`%s' の列挙値が整数定数ではありません" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, fuzzy, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "整数定数が % 型に対して大きすぎます" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, fuzzy, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "ISO C は列挙値を % の範囲に制限しています" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, fuzzy, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "列挙値がオーバーフロー" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, fuzzy, gcc-internal-format + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "%qE 用の列挙値が整数定数ではありません" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "%q#T が複数定義されています" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, fuzzy, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "戻り値の型が不完全型です" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, fuzzy, gcc-internal-format + msgid "no return statements in function returning %qT" + msgstr "非 void を戻す関数内に return 文がありません" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, fuzzy, gcc-internal-format + msgid "only plain % return type can be deduced to %" + msgstr "関数の戻り型は % と互換性がありません" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, fuzzy, gcc-internal-format + msgid "no return statement in % function returning non-void" + msgstr "非 void を戻す関数内に return 文がありません" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "" + +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, fuzzy, gcc-internal-format + msgid "using %qs" + msgstr "%s を閉じているときにエラーが発生しました: %m" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, fuzzy, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "%qD の型をデフォルトの % にします" +@@ -56234,7 +56224,7 @@ msgstr "" + msgid "type %qT is not a direct base of %qT" + msgstr "" + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "" +@@ -57291,7 +57281,7 @@ msgstr "" + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, fuzzy, gcc-internal-format + msgid "%qT is not a class, namespace, or enumeration" + msgstr "%s=%s は数値ではありません" +@@ -58034,7 +58024,7 @@ msgstr "" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "関数 %<__builtin_next_arg%> への引数の数が間違っています" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, fuzzy, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_launder%>" + msgstr "関数 %<__builtin_next_arg%> への引数の数が間違っています" +@@ -58744,12 +58734,12 @@ msgstr "" + msgid "cannot expand initializer for member %qD" + msgstr "メンバ `%s' に対する無効な初期値" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, fuzzy, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "%q+D は静的宣言の後に非静的宣言が続いています" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "" +@@ -59347,7 +59337,7 @@ msgstr "`%s' の引数として無効な型" + msgid "%qT not permitted in template argument" + msgstr "合っていない引数です" + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, fuzzy, gcc-internal-format + msgid "invalid use of %qT" +@@ -60207,7 +60197,7 @@ msgstr "" + msgid "% clause with parameter on range-based % loop" + msgstr "唯一の仮引数となる % には修飾子がつきません" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, fuzzy, gcc-internal-format + msgid "iteration variable %qD should not be reduction" + msgstr "レジスタ変数 `%s' が入れ子関数の中で使われました" +@@ -61212,7 +61202,7 @@ msgstr "" + msgid "for template declaration %q+D" + msgstr "空の宣言です" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, fuzzy, gcc-internal-format + msgid "template constraint failure for %qD" + msgstr "内部一貫性がありません" +@@ -61305,278 +61295,278 @@ msgstr "関数が集合体を返しています" + msgid "function returning a function" + msgstr "`%s' は関数を返す関数として宣言されています" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, fuzzy, gcc-internal-format + msgid "forming reference to void" + msgstr "一時オブジェクトへの参照を返そうとしています" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, fuzzy, gcc-internal-format + msgid "forming pointer to reference type %qT" + msgstr "不完全型のポインタへの間接参照" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, fuzzy, gcc-internal-format + msgid "forming reference to reference type %qT" + msgstr "参照を参照として宣言できません" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, fuzzy, gcc-internal-format + msgid "forming pointer to qualified function type %qT" + msgstr "ポインタを参照として宣言できません" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, fuzzy, gcc-internal-format + msgid "forming reference to qualified function type %qT" + msgstr "参照を参照として宣言できません" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, fuzzy, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr " ポインタからメンバへの変換で" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, fuzzy, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr " ポインタからメンバへの変換で" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, fuzzy, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr " ポインタからメンバへの変換で" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, fuzzy, gcc-internal-format + msgid "creating array of %qT" + msgstr "大きさゼロの配列を作ろうとしています" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, fuzzy, gcc-internal-format + msgid "%qT resolves to %qT, which is not a class type" + msgstr "クラスタイプ項を欠いています" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, fuzzy, gcc-internal-format + msgid "use of %qs in template" + msgstr "テンプレート内で `%s' を使用しています" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, gcc-internal-format + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, fuzzy, gcc-internal-format + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "初期化子の要素が定数式ではありません" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, fuzzy, gcc-internal-format + msgid "using invalid field %qD" + msgstr "static フィールド `%s' を欠いています" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, fuzzy, gcc-internal-format + msgid "invalid use of pack expansion expression" + msgstr "void 式の不適切な使用" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, gcc-internal-format + msgid "use %<...%> to expand argument pack" + msgstr "" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, gcc-internal-format + msgid "empty initializer in lambda init-capture" + msgstr "" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, gcc-internal-format + msgid "use %<%T::%D%> instead" + msgstr "" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, fuzzy, gcc-internal-format + msgid "%qD declared here, later in the translation unit" + msgstr "%qE がここでは宣言されていません (関数内ではない)" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, fuzzy, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "関数 %<__builtin_next_arg%> への引数の数が間違っています" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for %qE attribute" + msgid "wrong number of arguments to % attribute" + msgstr "%qE 属性用に間違った数の引数が指定されました" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, fuzzy, gcc-internal-format + msgid "%qT is/uses unnamed type" + msgstr "%qT はテンプレート型ではありません" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, gcc-internal-format + msgid "template argument for %qD uses local type %qT" + msgstr "" + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, fuzzy, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "初期化子の要素が定数ではありません" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, fuzzy, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr "不正な文字列定数です" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, fuzzy, gcc-internal-format + msgid "ambiguous template instantiation for %q#T" + msgstr "自動テンプレート実体化を有効にする" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, fuzzy, gcc-internal-format + msgid "ambiguous template instantiation for %q#D" + msgstr "自動テンプレート実体化を有効にする" + +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + #, fuzzy + msgid "%s %#qS" + msgstr "%s: %s" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "インラインテンプレートの明示的な実体化のみを生成する" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of variable concept %q#D" + msgstr "インラインテンプレートの明示的な実体化のみを生成する" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of function concept %q#D" + msgstr "インラインテンプレートの明示的な実体化のみを生成する" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, gcc-internal-format + msgid "%qD is not a static data member of a class template" + msgstr "" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, gcc-internal-format + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "%s: `%s' の初期化:\n" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, fuzzy, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "インラインテンプレートの明示的な実体化のみを生成する" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, fuzzy, gcc-internal-format + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "ISO C++ は減算にメソッドへのポインタを使うことを禁じます" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, fuzzy, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "自動テンプレート実体化を有効にする" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-class template %qD" + msgstr "インラインテンプレートの明示的な実体化のみを生成する" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "インラインテンプレートの明示的な実体化のみを生成する" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "インラインテンプレートの明示的な実体化のみを生成する" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "ISO C++ は減算に関数へのポインタを使うことを禁じます" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, fuzzy, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "インラインテンプレートの明示的な実体化のみを生成する" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, gcc-internal-format + msgid "exception specification of %qD depends on itself" + msgstr "" +@@ -61588,163 +61578,163 @@ msgstr "" + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "インラインテンプレートの明示的な実体化のみを生成する" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, gcc-internal-format + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, fuzzy, gcc-internal-format + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, fuzzy, gcc-internal-format + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "'#' にマクロ仮引数名が続いていません" + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, fuzzy, gcc-internal-format + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, fuzzy, gcc-internal-format + msgid "invalid template non-type parameter" + msgstr "不完全な typedef `%s' の使用は不適切です" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, fuzzy, gcc-internal-format + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "'#' にマクロ仮引数名が続いていません" + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, gcc-internal-format + msgid "keyword % not allowed in declarator-id" + msgstr "" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, fuzzy, gcc-internal-format + msgid "a concept cannot be constrained" + msgstr "デストラクタを静的メンバ関数とすることはできません" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, fuzzy, gcc-internal-format + msgid "concept %qE not in namespace scope" + msgstr "%s=%s は数値ではありません" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, fuzzy, gcc-internal-format + msgid "concept %qE has multiple template parameter lists" + msgstr "`%s' の宣言は仮引数リストのシンボルを覆い隠します" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, gcc-internal-format + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "" + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, fuzzy, gcc-internal-format + msgid "non-deducible template %qT used without template arguments" + msgstr "非テンプレート %qD がテンプレートとして使用されています" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, fuzzy, gcc-internal-format + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, fuzzy, gcc-internal-format + msgid "use %qD directly instead" + msgstr "spec %qs が無効です" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, gcc-internal-format + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "" + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, fuzzy, gcc-internal-format + msgid "class template argument deduction failed:" + msgstr "マクロ引数 \"%s\" は文字列化されます" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, fuzzy, gcc-internal-format + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "inline に出来ると見なされていない関数です" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, gcc-internal-format + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr "" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, fuzzy, gcc-internal-format + msgid "explicit deduction guide declared here" + msgstr "間接関数 %q+D は弱い参照として宣言できません" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, fuzzy, gcc-internal-format + msgid "%qT may not intend to support class template argument deduction" + msgstr "マクロ引数 \"%s\" は文字列化されます" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, fuzzy, gcc-internal-format + msgid "unable to deduce lambda return type from %qE" + msgstr "無効なメソッド宣言です。メソッド名が必要です" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, gcc-internal-format + msgid "unable to deduce %qT from %qE" + msgstr "" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, fuzzy, gcc-internal-format + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "命令が制約を満たしません:" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, fuzzy, gcc-internal-format + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "命令が制約を満たしません:" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, fuzzy, gcc-internal-format + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "命令が制約を満たしません:" + +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, fuzzy, gcc-internal-format + msgid "invalid use of %qT in template argument" + msgstr "不完全な typedef `%s' の使用は不適切です" +@@ -62055,7 +62045,7 @@ msgstr "無効な宣言です" + msgid "cannot capture member %qD of anonymous union" + msgstr "無名共用体内に保護されたメンバ %q+#D があります" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, gcc-internal-format + msgid "%qD is not captured" + msgstr "" +@@ -62464,27 +62454,27 @@ msgstr "%<__builtin_next_arg%> が引数無しで呼び出されました" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, fuzzy, gcc-internal-format + msgid "%qD is not a class or alias template" + msgstr "クラスタイプ項を欠いています" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, fuzzy, gcc-internal-format + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "カンマ演算子の左側の式に効力がありません" + +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, gcc-internal-format + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, fuzzy, gcc-internal-format + msgid "non-pointer argument to %<__builtin_launder%>" + msgstr "%<__builtin_return_address%> へのサポートされていない引数です" +@@ -62492,22 +62482,22 @@ msgstr "%<__builtin_return_address%> へのサポートされていない引数 + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "" +@@ -63750,222 +63740,222 @@ msgstr "`%s' が再宣言されました" + msgid "declaration of %q#T" + msgstr "`%s' が再宣言されました" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, fuzzy, gcc-internal-format + msgid "%qD has incomplete type" + msgstr "`%s' は不完全型です" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, fuzzy, gcc-internal-format + msgid "invalid use of incomplete type %q#T" + msgstr "不完全な typedef `%s' の使用は不適切です" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, fuzzy, gcc-internal-format + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "非メンバ関数での `this' の使用は無効です" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, fuzzy, gcc-internal-format + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "非メンバ関数での `this' の使用は無効です" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, fuzzy, gcc-internal-format + msgid "invalid use of placeholder %qT" + msgstr "`restrict' の用法が不適切です" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, fuzzy, gcc-internal-format + msgid "invalid use of template type parameter %qT" + msgstr "不完全な typedef `%s' の使用は不適切です" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, fuzzy, gcc-internal-format + msgid "invalid use of template template parameter %qT" + msgstr "無効なデフォルトテンプレート引数" + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, fuzzy, gcc-internal-format + msgid "invalid use of pack expansion %qT" + msgstr "void 式の不適切な使用" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, fuzzy, gcc-internal-format + msgid "invalid use of dependent type %qT" + msgstr "未定義の型 `%s %s' の使用は不適切です" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, fuzzy, gcc-internal-format + msgid "invalid use of brace-enclosed initializer list" + msgstr "% の誤った使用法です" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, fuzzy, gcc-internal-format + msgid "% variable %qD does not have a constant initializer" + msgstr "関数を inline にできません" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + #, fuzzy + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "%qE の %qT から %qT への変換は曖昧です" + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + #, fuzzy + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "%qE の %qT から %qT への変換は曖昧です" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, fuzzy, gcc-internal-format + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr "静的アサーション内の式が整数定数式ではありません" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, fuzzy, gcc-internal-format + msgid "initializer-string for %qT is too long" + msgstr "char の配列にとって初期化子文字列が長すぎます" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, fuzzy, gcc-internal-format + msgid "remove %<{ }%> around initializer" + msgstr "スカラー初期化子が中括弧で囲まれています" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, fuzzy, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "初期化子を欠いています" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, fuzzy, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "仮引数 `%s' が初期化されました" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, fuzzy, gcc-internal-format + msgid "member %qD with uninitialized reference fields" + msgstr "仮引数 `%s' が初期化されました" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, fuzzy, gcc-internal-format + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "%qD の型は元の宣言と一致しません" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, fuzzy, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "レコードや共用体にフィールド名がない初期化子です" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "union 初期化子がフィールド名ではなくインデックス値になっています" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "循環ポインタの代表を検出しました" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, fuzzy, gcc-internal-format + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "`->' のベースオペランドがポインタではありません" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, fuzzy, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr "`operator->()'の結果が非ポインタの結果をもたらします" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, fuzzy, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "`->' のベースオペランドがポインタではありません" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, fuzzy, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "\"%s\" は C++ の演算子であり、マクロ名として使用することはできません" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, gcc-internal-format + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, fuzzy, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "メンバ関数へのポインタが計算内で使用されています" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, fuzzy, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "メンバ関数へのポインタが計算内で使用されています" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, fuzzy, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "メンバ関数へのポインタが計算内で使用されています" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, fuzzy, gcc-internal-format + msgid "functional cast to array type %qT" + msgstr "関数 `%s' に対して不適切な保存クラス" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, fuzzy, gcc-internal-format + msgid "% cannot be constrained" + msgstr "デストラクタを静的メンバ関数とすることはできません" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, fuzzy, gcc-internal-format + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, gcc-internal-format + msgid "invalid value-initialization of reference type" + msgstr "" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, fuzzy, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "不完全型への変換です" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, fuzzy, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "不完全型への変換です" +@@ -64916,7 +64906,7 @@ msgstr "非メンバ `%s' を `mutable' とは宣言できません" + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "`__builtin_args_info' の引数は定数でなければなりません" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Invalid use of BOZ literal constant at %L" + msgstr "無効なビット列初期化子です" +@@ -66009,12 +65999,12 @@ msgstr "" + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "" +@@ -66195,7 +66185,7 @@ msgstr "" + msgid "deferred type parameter at %C" + msgstr "引数の型が異なります" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "" +@@ -68206,7 +68196,7 @@ msgstr "" + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "ANSI C++ は定数でない集合体の初期化子式を禁じます" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, fuzzy, gcc-internal-format + msgid "Function %qs in initialization expression at %L must be an intrinsic function" + msgstr "ANSI C++ は定数でない集合体の初期化子式を禁じます" +@@ -68477,7 +68467,7 @@ msgstr "代入として無効な左辺値です" + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, gcc-internal-format + msgid "Explicit interface required for %qs at %L: %s" + msgstr "" +@@ -68595,7 +68585,7 @@ msgstr "" + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must not be ALLOCATABLE" + msgstr "" +@@ -68605,7 +68595,7 @@ msgstr "" + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must have the SAVE attribute" + msgstr "" +@@ -68736,7 +68726,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Creating array temporary at %L" +@@ -68952,12 +68942,12 @@ msgstr "" + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "" +@@ -69067,562 +69057,562 @@ msgstr "" + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Invalid procedure argument at %L" + msgstr "`%s' の引数として無効な型" + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, gcc-internal-format + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, gcc-internal-format + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, gcc-internal-format, gfc-internal-format + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "" + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, gcc-internal-format + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr "" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, fuzzy, gcc-internal-format + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "フォーマット引数がポインタではありません (引数 %d)" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, fuzzy, gcc-internal-format + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "フォーマット引数がポインタではありません (引数 %d)" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, fuzzy, gcc-internal-format + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "フォーマット引数がポインタではありません (引数 %d)" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, gcc-internal-format + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, gcc-internal-format + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, gcc-internal-format + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, gcc-internal-format, gfc-internal-format + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, gcc-internal-format + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, gcc-internal-format + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, gcc-internal-format + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, fuzzy, gcc-internal-format + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "コンストラクタを静的メンバ関数とすることはできません" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, fuzzy, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "プロシージャ開始と終了のスケジュールを行なわない" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "FPU レジスタ内の機能の値を返す" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "ファイル \"%s\" に戻るはずでした" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, gcc-internal-format + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, gcc-internal-format + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, gcc-internal-format, gfc-internal-format + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, gcc-internal-format + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, gcc-internal-format + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, gcc-internal-format + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, fuzzy, gcc-internal-format + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "代入として無効な左辺値です" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, fuzzy, gcc-internal-format + msgid "Expected a procedure for argument %qs at %L" + msgstr "`%s' の引数として無効な型" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, fuzzy, gcc-internal-format + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "フォーマット引数がポインタではありません (引数 %d)" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, gcc-internal-format + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, fuzzy, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "フォーマット引数がポインタではありません (引数 %d)" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, gcc-internal-format + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, fuzzy, gcc-internal-format + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "フォーマット引数がポインタではありません (引数 %d)" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, gcc-internal-format + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, gcc-internal-format + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, fuzzy, gcc-internal-format + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "フォーマット引数がポインタではありません (引数 %d)" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, fuzzy, gcc-internal-format + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "フォーマット引数がポインタではありません (引数 %d)" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, gcc-internal-format + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, gcc-internal-format + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, gcc-internal-format + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, gcc-internal-format + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, fuzzy, gcc-internal-format + msgid "Missing actual argument for argument %qs at %L" + msgstr "`%s' オプションに対する引数がありません" + +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr "" + +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, gcc-internal-format + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, gcc-internal-format + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, gcc-internal-format + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, fuzzy, gcc-internal-format + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "組み込み関数 `%s' は非関数として宣言されました" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, fuzzy, gcc-internal-format + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "組み込み関数 `%s' は非関数として宣言されました" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, fuzzy, gcc-internal-format + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "組み込み関数 `%s' は非関数として宣言されました" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "`%s' の引数として無効な型" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "組み込み関数 `%s' は非関数として宣言されました" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, gcc-internal-format + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, gcc-internal-format + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD argument to NULL required at %L" + msgstr "" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "組み込み関数 `%s' は非関数として宣言されました" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, gcc-internal-format + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "" + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, fuzzy, gcc-internal-format + msgid "Unable to find symbol %qs" + msgstr "%q+D が未定義シンボル %qE の別名となっています" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, gcc-internal-format + msgid "Entity %qs at %L is already present in the interface" + msgstr "" + +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, gcc-internal-format + msgid "gfc_add_interface(): Bad interface type" + msgstr "" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, fuzzy, gcc-internal-format + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "値をベクトルには変換できません" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, gcc-internal-format + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, gcc-internal-format + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, gcc-internal-format + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, gcc-internal-format + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, gcc-internal-format + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, gcc-internal-format + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, gcc-internal-format + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, gcc-internal-format + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, gcc-internal-format + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, gcc-internal-format + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, gcc-internal-format + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, gcc-internal-format + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, gcc-internal-format + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, gcc-internal-format + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "式の中の文に不完全型があります" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "`%s' オプションに対する引数がありません" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "引数は定数でなければいけません" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO character argument at %L must have assumed length" + msgstr "" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "section 属性はローカル変数に対しては指定できません" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, gcc-internal-format + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, fuzzy, gcc-internal-format + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "関数 `%s' に対する引数が多すぎます" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, fuzzy, gcc-internal-format + msgid "Too many dummy arguments in DTIO procedure %qs at %L" + msgstr "関数 `%s' に対する引数が多すぎます" +@@ -69806,7 +69796,7 @@ msgstr "NaN から整数への変換です" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Cannot convert %s to %s at %L" + msgstr "値をベクトルには変換できません" +@@ -70357,7 +70347,7 @@ msgstr "" + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, gcc-internal-format + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" + msgstr "" +@@ -70924,7 +70914,7 @@ msgstr "" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "" + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, gcc-internal-format, gfc-internal-format + msgid "QUIET specifier at %L must be a scalar LOGICAL" + msgstr "" +@@ -72782,8 +72772,8 @@ msgstr "" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "" +@@ -74751,718 +74741,708 @@ msgstr "" + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "インスタンス変数の仕様が一貫していません" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "インスタンス変数の仕様が一貫していません" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "非メンバ `%s' を `mutable' とは宣言できません" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "非メンバ `%s' を `mutable' とは宣言できません" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:881 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "非メンバ `%s' を `mutable' とは宣言できません" +- +-#: fortran/resolve.cc:885 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "非メンバ `%s' を `mutable' とは宣言できません" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, fuzzy, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "%s: オプション `%s' はあいまいです\n" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, fuzzy, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "%s: オプション `%s' はあいまいです\n" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, gcc-internal-format, gfc-internal-format + msgid "COMMON block at %L" + msgstr "" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, gcc-internal-format + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, gcc-internal-format + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, fuzzy, gcc-internal-format + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "%s: オプション `%s' はあいまいです\n" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, fuzzy, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "可変長オブジェクトは初期化されないことになるでしょう" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, gcc-internal-format + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, gcc-internal-format + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, gcc-internal-format + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, fuzzy, gcc-internal-format + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "`%s' に `extern' と初期化子の両方があります" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, gcc-internal-format + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a function result" + msgstr "" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, gcc-internal-format, gfc-internal-format + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, gcc-internal-format + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, gcc-internal-format + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, gcc-internal-format + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, fuzzy, gcc-internal-format + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "関数 `%s' に対する引数が多すぎます" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, gcc-internal-format + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, gcc-internal-format + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, gcc-internal-format + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, fuzzy, gcc-internal-format + msgid "%qs at %L is ambiguous" + msgstr "%s: オプション `%s' はあいまいです\n" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, gcc-internal-format + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, gcc-internal-format + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, gcc-internal-format + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, gcc-internal-format + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "" + +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, gcc-internal-format + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "" + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, gcc-internal-format + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "ラベル %s があらゆる関数の外側で参照されました" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "`%s' の引数として無効な型" + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, fuzzy, gcc-internal-format + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "組み込み関数 `%s' は非関数として宣言されました" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, gcc-internal-format + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, fuzzy, gcc-internal-format + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "`%s' の引数として無効な型" + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, gcc-internal-format + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, gcc-internal-format + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, fuzzy, gcc-internal-format + msgid "Symbol %qs at %L is ambiguous" + msgstr "%s: オプション `%s' はあいまいです\n" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not of numeric type" + msgstr "" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not allowed in this context" + msgstr "" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, gcc-internal-format + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, gcc-internal-format + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, gcc-internal-format + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, fuzzy, gcc-internal-format + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "FPU レジスタ内の機能の値を返す" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, gcc-internal-format + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, gcc-internal-format + msgid "There is no specific function for the generic %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, gcc-internal-format + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "" + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, gcc-internal-format + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, fuzzy, gcc-internal-format + msgid "Unable to resolve the specific function %qs at %L" + msgstr "spec 関数 %qs の引数内でエラーが発生しました" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "" + +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, fuzzy, gcc-internal-format + msgid "Unexpected junk after %qs at %L" + msgstr "数値型が予期されます" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, fuzzy, gcc-internal-format + msgid "%qs at %L is not a function" + msgstr "呼び出されたオブジェクトは関数ではありません" + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, gcc-internal-format + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, fuzzy, gcc-internal-format + msgid "resolve_function(): bad function type" + msgstr "<未解決オーバーロードされた関数型>" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, gcc-internal-format + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, gcc-internal-format + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, fuzzy, gcc-internal-format + msgid "Using function %qs at %L is deprecated" + msgstr "%qE は廃止されました" + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, gcc-internal-format + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, gcc-internal-format + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, gcc-internal-format + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, gcc-internal-format + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, gcc-internal-format + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, gcc-internal-format + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, gcc-internal-format + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, gcc-internal-format + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, gcc-internal-format + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, fuzzy, gcc-internal-format + msgid "resolve_subroutine(): bad function type" + msgstr "<未解決オーバーロードされた関数型>" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, fuzzy, gcc-internal-format + msgid "Using subroutine %qs at %L is deprecated" + msgstr "%qE は廃止されました" + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "shared と mdll とは共存できません" + +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, fuzzy, gcc-internal-format + msgid "Impure function %qs at %L might not be evaluated" + msgstr "関数を inline にできません" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Impure function at %L might not be evaluated" + msgstr "インライン関数をインライン化できない場合に警告する" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, gcc-internal-format + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" + msgstr "可変長オブジェクトは初期化されないことになるでしょう" + +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Equality comparison for %s at %L" + msgstr "無効なオプション %s" + +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Inequality comparison for %s at %L" + msgstr "無効なオプション %s" + +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "" + +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, fuzzy, gcc-internal-format + msgid "check_dimension(): Bad array reference" + msgstr "配列参照での添字を欠いています" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "" + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, gcc-internal-format, gfc-internal-format + msgid "REAL array index at %L" + msgstr "" + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Invalid array reference of a non-array entity at %L" + msgstr "無効な参照型です" + +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "" + +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "" + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L is too large" + msgstr "要求されたアラインメントが大きすぎます" + +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, fuzzy, gcc-internal-format + msgid "resolve_ref(): Bad array reference" + msgstr "配列参照での添字を欠いています" + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "" + +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may only be used as actual argument" + msgstr "" +@@ -75471,12 +75451,12 @@ msgstr "" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L may only be used as actual argument" + msgstr "" +@@ -75485,293 +75465,293 @@ msgstr "" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, gcc-internal-format + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, gcc-internal-format + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "" + +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, fuzzy, gcc-internal-format + msgid "Using variable %qs at %L is deprecated" + msgstr "%qE は廃止されました" + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, gcc-internal-format + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, gcc-internal-format, gfc-internal-format + msgid "Error in typebound call at %L" + msgstr "" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, gcc-internal-format, gfc-internal-format + msgid "Passed-object at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, gcc-internal-format + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, gcc-internal-format, gfc-internal-format + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, gcc-internal-format + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, gcc-internal-format + msgid "%qs at %L should be a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, gcc-internal-format + msgid "%qs at %L should be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, gcc-internal-format + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be integer" + msgstr "添え字は整数でなければいけません" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, gcc-internal-format + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, gcc-internal-format, gfc-internal-format + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, gcc-internal-format, gfc-internal-format + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, gcc-internal-format + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, fuzzy, gcc-internal-format + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "式文が無効です" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "" + +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "" +@@ -75780,284 +75760,284 @@ msgstr "" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "" + +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "式の中の文に不完全型があります" + +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "" + +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, gcc-internal-format, gfc-internal-format + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, fuzzy, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "代入として無効な左辺値です" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "\"%s\" は C++ の演算子であり、マクロ名として使用することはできません" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, fuzzy, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure name" + msgstr "代入として無効な左辺値です" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L cannot be NULL()" + msgstr "" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Selector at %L has no type" + msgstr "仮引数 %u が void 型を持っています" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, gcc-internal-format, gfc-internal-format + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L must not be coindexed" + msgstr "" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, gcc-internal-format, gfc-internal-format + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, gcc-internal-format + msgid "Derived type %qs at %L must be extensible" + msgstr "" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, gcc-internal-format + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, fuzzy, gcc-internal-format + msgid "Unexpected intrinsic type %qs at %L" + msgstr "数値型が予期されます" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, gcc-internal-format, gfc-internal-format + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "無効なオプション %s" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO %s procedure at %L must be recursive" + msgstr "" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, gcc-internal-format, gfc-internal-format + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, gcc-internal-format, gfc-internal-format + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, gcc-internal-format, gfc-internal-format + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, gcc-internal-format, gfc-internal-format + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, gcc-internal-format, gfc-internal-format + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, gcc-internal-format, gfc-internal-format + msgid "Branch at %L may result in an infinite loop" + msgstr "" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "" +@@ -76065,207 +76045,207 @@ msgstr "" + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, gcc-internal-format + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FORALL construct at %L" + msgstr "コンストラクタ %qs 内" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "" + +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, gcc-internal-format, gfc-internal-format + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "" + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, gcc-internal-format + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "" + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Pointer procedure assignment at %L" + msgstr "代入として無効な左辺値です" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, gcc-internal-format, gfc-internal-format + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "" + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, fuzzy, gcc-internal-format + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "フォーマット引数がポインタではありません (引数 %d)" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "引数は定数でなければいけません" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, gcc-internal-format + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, gcc-internal-format, gfc-internal-format + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "" + +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Invalid NULL at %L" + msgstr "無効なオプション %s" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, gcc-internal-format, gfc-internal-format + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "" + +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, gcc-internal-format + msgid "gfc_resolve_code(): Bad statement code" + msgstr "" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, fuzzy, gcc-internal-format + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "仮引数 `%s' が void と宣言されています" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, gcc-internal-format + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, gcc-internal-format + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" + msgstr "" +@@ -76273,984 +76253,984 @@ msgstr "" + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, gcc-internal-format + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "String length at %L is too large" + msgstr "配列 `%s' の大きさが大きすぎます" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, gcc-internal-format + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, gcc-internal-format + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, gcc-internal-format + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, fuzzy, gcc-internal-format + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "`%s' に `extern' と初期化子の両方があります" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, gcc-internal-format + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, gcc-internal-format + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, gcc-internal-format + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" + msgstr "" + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, gcc-internal-format + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, gcc-internal-format + msgid "%qs at %L must have constant character length in this context" + msgstr "" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, gcc-internal-format + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, fuzzy, gcc-internal-format + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "関数を inline にできません" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, fuzzy, gcc-internal-format + msgid "External %qs at %L cannot have an initializer" + msgstr "可変長オブジェクトは初期化されないことになるでしょう" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, fuzzy, gcc-internal-format + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "`%s' に `extern' と初期化子の両方があります" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, fuzzy, gcc-internal-format + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "関数を inline にできません" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, fuzzy, gcc-internal-format + msgid "Function result %qs at %L cannot have an initializer" + msgstr "関数を inline にできません" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, fuzzy, gcc-internal-format + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "`%s' に `extern' と初期化子の両方があります" + +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s at %L" + msgstr "%s 内、位置 %s:%d" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, gcc-internal-format + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, gcc-internal-format + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, gcc-internal-format + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, fuzzy, gcc-internal-format + msgid "Function %qs at %L cannot have an initializer" + msgstr "関数を inline にできません" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, fuzzy, gcc-internal-format + msgid "External object %qs at %L may not have an initializer" + msgstr "可変長オブジェクトは初期化されないことになるでしょう" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, gcc-internal-format + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, fuzzy, gcc-internal-format + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "組み込み関数 `%s' は非関数として宣言されました" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, fuzzy, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "関数を inline にできません" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, fuzzy, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "関数を inline にできません" + +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "" + +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, gcc-internal-format + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, gcc-internal-format + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, gcc-internal-format + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, fuzzy, gcc-internal-format + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "%qE 属性は %s 属性と競合します" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, fuzzy, gcc-internal-format + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "%qE 属性は %s 属性と競合します" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, fuzzy, gcc-internal-format + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "%qE 属性は %s 属性と競合します" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, fuzzy, gcc-internal-format + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "%qE 属性は %s 属性と競合します" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, fuzzy, gcc-internal-format + msgid "Interface of %qs at %L must be explicit" + msgstr "コンストラクタを静的メンバ関数とすることはできません" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, gcc-internal-format + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, fuzzy, gcc-internal-format + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "式の中の文に不完全型があります" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, gcc-internal-format, gfc-internal-format + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, gcc-internal-format + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, gcc-internal-format + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, gcc-internal-format + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, gcc-internal-format + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, gcc-internal-format + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, gcc-internal-format + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, gcc-internal-format + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, gcc-internal-format, gfc-internal-format + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, gcc-internal-format + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, gcc-internal-format + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, gcc-internal-format + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, gcc-internal-format + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, gcc-internal-format + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, gcc-internal-format + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, gcc-internal-format + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, gcc-internal-format + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, gcc-internal-format + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, gcc-internal-format + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, fuzzy, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "`__builtin_args_info' の引数は定数でなければなりません" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, gcc-internal-format + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, gcc-internal-format + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "" + +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, gcc-internal-format + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, gcc-internal-format + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, gcc-internal-format + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, gcc-internal-format, gfc-internal-format + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Conflicting initializers in union at %L and %L" + msgstr "ANSI C++ は定数でない集合体の初期化子式を禁じます" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, gcc-internal-format + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, gcc-internal-format + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, gcc-internal-format + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs at %L has not been declared" + msgstr "%qD は既に定義されています" + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, gcc-internal-format + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "" + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, gcc-internal-format + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, gcc-internal-format + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, gcc-internal-format + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, gcc-internal-format + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, gcc-internal-format + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, gcc-internal-format + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, fuzzy, gcc-internal-format + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "%qE 属性は %s 属性と競合します" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, gcc-internal-format + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, gcc-internal-format + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "%s に互換性のない型" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, gcc-internal-format + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, gcc-internal-format + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, gcc-internal-format, gfc-internal-format + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, gcc-internal-format, gfc-internal-format + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, gcc-internal-format + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, gcc-internal-format, gfc-internal-format + msgid "Bad specification for assumed size array at %L" + msgstr "" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, gcc-internal-format + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, gcc-internal-format + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, gcc-internal-format + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, gcc-internal-format + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "" + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, gcc-internal-format + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, gcc-internal-format + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "" + +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, gcc-internal-format + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, gcc-internal-format + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, gcc-internal-format + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, gcc-internal-format + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, gcc-internal-format + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, gcc-internal-format + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, gcc-internal-format + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, gcc-internal-format + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, gcc-internal-format + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, gcc-internal-format + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, gcc-internal-format + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, gcc-internal-format + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, fuzzy, gcc-internal-format + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "関数 `%s' への引数が少なすぎます" + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Expecting definable entity near %L" + msgstr "式文が無効です" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, gcc-internal-format + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, fuzzy, gcc-internal-format + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "データ領域 '%s' は前の宣言と矛盾します" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, fuzzy, gcc-internal-format + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "`%s' に `extern' と初期化子の両方があります" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, fuzzy, gcc-internal-format + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "`%s' に `extern' と初期化子の両方があります" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L shall not be zero" + msgstr "`%s' の第二引数は `char **' とすべきです" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but not used" + msgstr "ラベル `%s' が定義されましたが使われていません" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but cannot be used" + msgstr "ラベル `%s' が定義されましたが使われていません" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, gcc-internal-format + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, gcc-internal-format + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, gcc-internal-format + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, gcc-internal-format + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, gcc-internal-format + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, gcc-internal-format + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, fuzzy, gcc-internal-format + msgid "Self reference in character length expression for %qs at %L" + msgstr "メソッド仕様内での構文解析エラー" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, gcc-internal-format + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, gcc-internal-format + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, gcc-internal-format + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, gcc-internal-format + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" + msgstr "" +@@ -78142,7 +78122,7 @@ msgstr "" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "" +@@ -78154,12 +78134,12 @@ msgstr "" + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, fuzzy, gcc-internal-format + msgid "Creating array temporary at %L for argument %qs" + msgstr "一時オブジェクトへの参照を返そうとしています" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "" +@@ -78251,86 +78231,81 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "" + + #: fortran/trans-decl.cc:1795 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-msgid "%s at %C has no default type" +-msgstr "仮引数 %u が void 型を持っています" +- +-#: fortran/trans-decl.cc:1798 + #, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, fuzzy, gcc-internal-format + msgid "Return value of function %qs at %L not set" + msgstr "FPU レジスタ内の機能の値を返す" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, gcc-internal-format + msgid "Deferred type parameter not yet supported" + msgstr "" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, gcc-internal-format + msgid "backend decl for module variable %qs already exists" + msgstr "" + +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, fuzzy, gcc-internal-format + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "インスタンス変数 `%s' は %s と宣言されています" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, gcc-internal-format + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, gcc-internal-format + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, fuzzy, gcc-internal-format + msgid "Unused dummy argument %qs at %L" + msgstr "フォーマットへの引数が多すぎます" + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, fuzzy, gcc-internal-format + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "インスタンス変数 `%s' は %s と宣言されています" + +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, fuzzy, gcc-internal-format + msgid "Unused variable %qs declared at %L" + msgstr "インスタンス変数 `%s' は %s と宣言されています" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, fuzzy, gcc-internal-format + msgid "Unused parameter %qs declared at %L" + msgstr "仮引数 `%s' が void と宣言されています" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, fuzzy, gcc-internal-format + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "仮引数 `%s' が void と宣言されています" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, fuzzy, gcc-internal-format + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "FPU レジスタ内の機能の値を返す" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "" +@@ -78345,27 +78320,27 @@ msgstr "ISO C90 は可変長の配列 %qE を禁止しています" + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, gcc-internal-format + msgid "Unknown intrinsic op" + msgstr "" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Unknown argument list function at %L" + msgstr "関数 `%s' への引数が少なすぎます" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "" +@@ -80191,10 +80166,6 @@ msgstr "warn_unused_result 属性付きで宣言されている %qD の戻り値 + msgid "unused name %qE" + msgstr "仮引数 %q+D が未使用です" + +-#, fuzzy +-#~ msgid "invalid operand size for operand code 'Z'" +-#~ msgstr "演算子コード '%c' に対する無効な被演算子サイズです" +- + #, fuzzy + #~ msgid "invalid conversion from type %<* __vector_quad%>" + #~ msgstr "%<__fpreg%> からの無効な変換です" +diff --git a/gcc/po/nl.po b/gcc/po/nl.po +index c2c49012dac..0cfe6983f1e 100644 +--- a/gcc/po/nl.po ++++ b/gcc/po/nl.po +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: gcc 4.9-b20140202\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" + "PO-Revision-Date: 2014-02-05 12:25+0100\n" + "Last-Translator: Benno Schulenberg \n" + "Language-Team: Dutch \n" +@@ -4079,7 +4079,7 @@ msgstr "" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "" + + #: m2/lang.opt:127 +@@ -7738,11 +7738,6 @@ msgstr "" + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "" + +-#: config/i386/i386.opt:1280 +-#, fuzzy, no-c-format +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "ingebouwde functie %qs is niet geïmplementeerd" +- + #: config/pa/pa64-hpux.opt:23 + #, no-c-format + msgid "Assume code will be linked by GNU ld." +@@ -17317,12 +17312,12 @@ msgstr "operand van '%%l' is geen label" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "floating-point constante verkeerd gebruikt" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +@@ -18363,63 +18358,63 @@ msgstr "Deze optie heeft geen documentatie" + msgid "Uses of this option are diagnosed." + msgstr "" + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "" + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, c-format + msgid "Same as %s%s." + msgstr "" + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, c-format + msgid "Same as %s." + msgstr "" + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, c-format + msgid "%s Same as %s." + msgstr "" + +-#: opts.cc:1733 ++#: opts.cc:1732 + msgid "[available in " + msgstr "" + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, c-format + msgid "%llu bytes" + msgstr "" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "[ingeschakeld]" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "[uitgeschakeld]" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr "" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr "" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr "" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, fuzzy, c-format + #| msgid "no arguments for spec function" + msgid "" +@@ -18427,56 +18422,56 @@ msgid "" + " " + msgstr "geen argumenten voor spec-functie" + +-#: opts.cc:1959 ++#: opts.cc:1958 + msgid "The following options are target specific" + msgstr "De volgende opties zijn afhankelijk van het doelsysteem" + +-#: opts.cc:1962 ++#: opts.cc:1961 + msgid "The following options control compiler warning messages" + msgstr "De volgende opties beheren waarschuwingsboodschappen van de compiler" + +-#: opts.cc:1965 ++#: opts.cc:1964 + msgid "The following options control optimizations" + msgstr "De volgende opties beheren optimalisaties" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + msgid "The following options are language-independent" + msgstr "De volgende opties zijn taalafhankelijk" + +-#: opts.cc:1971 ++#: opts.cc:1970 + #, fuzzy + #| msgid "The following options control optimizations" + msgid "The following options control parameters" + msgstr "De volgende opties beheren optimalisaties" + + # Zou een format spec moeten hebben voor de taalnaam... +-#: opts.cc:1977 ++#: opts.cc:1976 + #, fuzzy + msgid "The following options are specific to just the language " + msgstr "De volgende opties enkel van toepassing voor de taal " + + # Zou een format spec moeten hebben voor de taalnaam... + # Of beter "voor de taal "? +-#: opts.cc:1979 ++#: opts.cc:1978 + msgid "The following options are supported by the language " + msgstr "De volgende opties worden ondersteund door de taal " + +-#: opts.cc:1990 ++#: opts.cc:1989 + msgid "The following options are not documented" + msgstr "De volgende opties zijn niet gedocumenteerd" + +-#: opts.cc:1992 ++#: opts.cc:1991 + #, fuzzy + msgid "The following options take separate arguments" + msgstr "De volgende opties zijn niet gedocumenteerd" + +-#: opts.cc:1994 ++#: opts.cc:1993 + #, fuzzy + msgid "The following options take joined arguments" + msgstr "De volgende opties zijn niet gedocumenteerd" + + # Betere vertaling? +-#: opts.cc:2006 ++#: opts.cc:2005 + msgid "The following options are language-related" + msgstr "De volgende opties hebben iets met een taal te maken" + +@@ -18872,77 +18867,77 @@ msgstr "lengte-modifier in strfmon-formaat" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, fuzzy, c-format + msgid "unsupported operand for code '%c'" + msgstr "ongeldige operand voor code '%c'" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "ongeldige operand voor '%%%c'" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, fuzzy, c-format + #| msgid "invalid constant" + msgid "invalid vector constant" + msgstr "ongeldige constante" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, fuzzy, c-format + #| msgid "invalid operand for '%%%c'" + msgid "incompatible register operand for '%%%c'" + msgstr "ongeldige operand voor '%%%c'" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, c-format + msgid "missing operand" + msgstr "operand ontbreekt" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, c-format + msgid "invalid constant" + msgstr "ongeldige constante" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, c-format + msgid "invalid operand" + msgstr "ongeldige operand" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "ongeldige operandprefix '%%%c'" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, fuzzy, c-format + #| msgid "invalid addressing mode" + msgid "invalid address mode" + msgstr "ongeldige adresseringsmodus" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + #, fuzzy + #| msgid "invalid operands in binary operation" + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "ongeldige operanden in binaire bewerking" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "" +@@ -18959,18 +18954,18 @@ msgid "invalid %%r value" + msgstr "ongeldige waarde voor %%r" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "ongeldige waarde voor %%R" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "ongeldige waarde voor %%N" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" + msgstr "ongeldige waarde voor %%P" +@@ -19000,7 +18995,7 @@ msgstr "ongeldige waarde voor %%M" + msgid "invalid %%U value" + msgstr "ongeldige waarde voor %%U" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" + msgstr "ongeldige waarde voor %%s" +@@ -19010,7 +19005,7 @@ msgstr "ongeldige waarde voor %%s" + msgid "invalid %%C value" + msgstr "ongeldige waarde voor %%C" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" + msgstr "ongeldige waarde voor %%E" +@@ -19024,7 +19019,7 @@ msgstr "onbekende 'unspec' relocatie" + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" + msgstr "ongeldige code voor %%xn" +@@ -19109,36 +19104,36 @@ msgstr "ongeldige UNSPEC als operand: %d" + msgid "unrecognized supposed constant" + msgstr "vermoedelijke constante niet herkend" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, c-format + msgid "invalid shift operand" + msgstr "ongeldige shift-operand" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, c-format + msgid "predicated Thumb instruction" + msgstr "Thumb-instructie met predicaat" + + # mja. snappen wie snappen kan ^^ +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "instructie met predicaat in voorwaardelijke sequentie" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, fuzzy, c-format + msgid "Unsupported operand for code '%c'" + msgstr "ongeldige operand voor code '%c'" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -19147,29 +19142,29 @@ msgstr "ongeldige operand voor code '%c'" + msgid "invalid operand for code '%c'" + msgstr "ongeldige operand voor code '%c'" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, c-format + msgid "instruction never executed" + msgstr "instructie wordt nooit uitgevoerd" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %" + msgstr "ongeldige conversie van %<__fpreg%>" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + #, fuzzy + msgid "invalid conversion to type %" + msgstr "ongeldige registernaam voor %qs" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "" + +@@ -19547,99 +19542,99 @@ msgstr "ongeldige constante" + msgid "Expected register or constant integer." + msgstr "accumulator is geen integer-constante" + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, c-format + msgid "invalid UNSPEC as operand" + msgstr "ongeldige UNSPEC als operand" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, fuzzy, c-format + #| msgid "invalid use of %" + msgid "invalid use of register '%s'" + msgstr "ongeldig gebruik van %" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, fuzzy, c-format + msgid "invalid use of asm flag output" + msgstr "ongeldige lvalue in toewijzing" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, fuzzy, c-format + msgid "invalid operand size for operand code 'O'" + msgstr "ongeldige operand voor code '%c'" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, fuzzy, c-format + msgid "invalid operand size for operand code 'z'" + msgstr "ongeldige operand voor code '%c'" + +-#: config/i386/i386.cc:13290 ++#: config/i386/i386.cc:13283 + #, fuzzy, c-format +-msgid "invalid operand type used with operand code '%c'" ++msgid "invalid operand type used with operand code 'Z'" + msgstr "ongeldige operand voor code '%c'" + +-#: config/i386/i386.cc:13295 ++#: config/i386/i386.cc:13288 + #, fuzzy, c-format +-msgid "invalid operand size for operand code '%c'" ++msgid "invalid operand size for operand code 'Z'" + msgstr "ongeldige operand voor code '%c'" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, fuzzy, c-format + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "operand is noch een constante, noch een conditiecode ⇒ ongeldige operandcode 'c'" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, fuzzy, c-format + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "operand is noch een constante, noch een conditiecode ⇒ ongeldige operandcode 'c'" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, fuzzy, c-format + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "operand is noch een constante, noch een conditiecode ⇒ ongeldige operandcode 'c'" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, fuzzy, c-format + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "operand is noch een constante, noch een conditiecode ⇒ ongeldige operandcode 'c'" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, fuzzy, c-format + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "operand is noch een constante, noch een conditiecode ⇒ ongeldige operandcode 'c'" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, fuzzy, c-format + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "operand is noch een constante, noch een conditiecode ⇒ ongeldige operandcode 'c'" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, fuzzy, c-format + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "operand is noch een constante, noch een conditiecode ⇒ ongeldige operandcode 'c'" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, fuzzy, c-format + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "operand is noch een constante, noch een conditiecode ⇒ ongeldige operandcode 'c'" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, c-format + msgid "invalid operand code '%c'" + msgstr "ongeldige operand voor '%c'" + + # "constraints" hier te vertalen ("beperkingen"/"restricties") of niet? +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, c-format + msgid "invalid constraints for operand" + msgstr "ongeldige constraints voor operand" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, fuzzy, c-format + msgid "invalid vector immediate" + msgstr "Ongeldig token in expressie" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + msgid "unknown insn mode" + msgstr "onbekende insn-modus" + +@@ -19670,7 +19665,7 @@ msgstr "ongeldige bewerking met %<__fpreg%>" + msgid "invalid %%P operand" + msgstr "ongeldige operand voor %%P" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" + msgstr "ongeldige waarde voor %%p" +@@ -19716,8 +19711,8 @@ msgstr "'%%%c' is geen geldige operand-prefix" + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, c-format + msgid "invalid use of '%%%c'" + msgstr "ongeldig gebruik van '%%%c'" +@@ -19752,7 +19747,7 @@ msgid "post-increment address is not a register" + msgstr "post-increment adres is geen register" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" + msgstr "slecht adres" + +@@ -19916,7 +19911,7 @@ msgstr "niet-ondersteunde versie" + msgid "unsupported memory expression:" + msgstr "ongeldige waarheidsexpressie" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, fuzzy, c-format + msgid "invalid vector operand" + msgstr "ongeldige operand voor %%P" +@@ -19974,156 +19969,156 @@ msgstr "case-label niet in een switch-statement" + msgid "bad move" + msgstr "slechte test" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" + msgstr "" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%A value" + msgstr "ongeldige waarde voor %%H" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" + msgstr "ongeldige waarde voor %%D" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%e value" + msgstr "ongeldige waarde voor %%H" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" + msgstr "" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" + msgstr "" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" + msgstr "" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "ongeldige waarde voor %%K" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" + msgstr "ongeldige waarde voor %%O" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" + msgstr "ongeldige waarde voor %%q" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%t value" + msgstr "ongeldige waarde voor %%H" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%V value" + msgstr "ongeldige waarde voor %%H" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" + msgstr "ongeldige waarde voor %%x" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%z value" + msgstr "ongeldige waarde voor %%H" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, fuzzy, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "twee %s in integerconstante" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "" + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + msgid "AltiVec argument passed to unprototyped function" + msgstr "AltiVec argument doorgegeven aan functie zonder prototype" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + #, fuzzy + msgid "Could not generate addis value for fusion" + msgstr "interne fout - slechte ingebouwde functie %qs" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + #, fuzzy + msgid "Unable to generate load/store offset for fusion" + msgstr "interne fout - slechte ingebouwde functie %qs" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "ongeldige conversie van %<__fpreg%>" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + #, fuzzy + #| msgid "invalid conversion to %<__fpreg%>" + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "ongeldige conversie naar %<__fpreg%>" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "ongeldige conversie van %<__fpreg%>" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + #, fuzzy + #| msgid "invalid conversion to %<__fpreg%>" + msgid "invalid conversion to type %<__vector_pair%>" +@@ -20604,7 +20599,7 @@ msgstr "kandidaat 1:" + msgid " after user-defined conversion:" + msgstr "ongeldig gebruik van %" + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + #, fuzzy + msgid "candidate is:" + msgid_plural "candidates are:" +@@ -21111,7 +21106,7 @@ msgstr "" + msgid "Driving:" + msgstr "" + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + msgid "actual argument to INTENT = OUT/INOUT" + msgstr "" + +@@ -21280,12 +21275,12 @@ msgstr "" + msgid "implied END DO" + msgstr "" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + #, fuzzy + msgid "assignment" + msgstr "beginwaarde ontbreekt" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + #, fuzzy + msgid "pointer assignment" + msgstr "ongeldige lvalue in toewijzing" +@@ -21294,213 +21289,213 @@ msgstr "ongeldige lvalue in toewijzing" + msgid "simple IF" + msgstr "" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + msgid "elemental procedure" + msgstr "" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + #, fuzzy + msgid "allocatable argument" + msgstr "geen argumenten" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + #, fuzzy + msgid "asynchronous argument" + msgstr "geen argumenten" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + #, fuzzy + msgid "optional argument" + msgstr "geen argumenten" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + #, fuzzy + msgid "pointer argument" + msgstr "ongeldige lvalue in toewijzing" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + #, fuzzy + msgid "target argument" + msgstr "geen argumenten" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + #, fuzzy + msgid "value argument" + msgstr "geen argumenten" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + #, fuzzy + msgid "volatile argument" + msgstr "geen argumenten" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + #, fuzzy + msgid "assumed-shape argument" + msgstr "slechte combinatie van argumenten" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + #, fuzzy + msgid "assumed-rank argument" + msgstr "slechte combinatie van argumenten" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + #, fuzzy + msgid "coarray argument" + msgstr "beginwaarde ontbreekt" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + msgid "parametrized derived type argument" + msgstr "" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + #, fuzzy + msgid "polymorphic argument" + msgstr "geen argumenten" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + msgid "NO_ARG_CHECK attribute" + msgstr "" + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + #, fuzzy + msgid "assumed-type argument" + msgstr "slechte combinatie van argumenten" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + msgid "array result" + msgstr "" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + msgid "pointer or allocatable result" + msgstr "" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + msgid "result with non-constant character length" + msgstr "" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + msgid "bind(c) procedure" + msgstr "" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, fuzzy, c-format + msgid "Invalid context for NULL() pointer at %%L" + msgstr "Ongeldige soort voor %s op %L" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, c-format + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, c-format + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, c-format + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, c-format + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, fuzzy, c-format + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "onbekende operator '%s' in %%:version-compare" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, fuzzy, c-format + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "onbekende operator '%s' in %%:version-compare" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, c-format + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, c-format + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, c-format + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + #, fuzzy + msgid "iterator variable" + msgstr "statische variable %qs is als dllimport aangeduid" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + msgid "Start expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + #, fuzzy + msgid "End expression in DO loop" + msgstr "ongeldige expressie als operand" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + msgid "Step expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + msgid "DEALLOCATE object" + msgstr "" + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + msgid "ALLOCATE object" + msgstr "" + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + msgid "STAT variable" + msgstr "" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + msgid "ERRMSG variable" + msgstr "" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + msgid "item in READ" + msgstr "" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + msgid "ACQUIRED_LOCK variable" + msgstr "" + +@@ -21513,27 +21508,27 @@ msgstr "" + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, c-format + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, c-format + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + msgid "Assignment of scalar to unallocated array" + msgstr "" + +@@ -22461,7 +22456,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Syntax error in %s statement at %C" + msgstr "%s voor %qs" +@@ -22847,7 +22842,7 @@ msgstr "attribuut %qE botst met attribuut %s" + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, fuzzy, gcc-internal-format + msgid "previous declaration here" +@@ -22944,10 +22939,10 @@ msgstr "" + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -23084,7 +23079,7 @@ msgstr "kan %s niet vinden" + msgid "offset %qwi outside bounds of constant string" + msgstr "offset buiten de grenzen van een constante string" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, fuzzy, gcc-internal-format + msgid "%qE declared here" + msgstr "%qs tevoren hier gedeclareerd" +@@ -24940,7 +24935,7 @@ msgstr "grote integer impliciet afgekapt naar 'unsigned' type" + msgid "comparison is always %d due to width of bit-field" + msgstr "vergelijking is altijd %d vanwege breedte van bit-veld" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "" +@@ -25720,7 +25715,7 @@ msgstr "functie geeft adres van lokale variabele terug" + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -26845,14 +26840,14 @@ msgstr "herhaald lid %qs" + msgid "using a dangling pointer to %qD" + msgstr "%qs is geen geldige pointer-modus" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, fuzzy, gcc-internal-format + msgid "%qD declared here" + msgstr "%qs tevoren hier gedeclareerd" +@@ -26897,7 +26892,7 @@ msgstr "impliciete declaratie van functie %qE" + msgid "call to %qD" + msgstr "kan oproep van %qs niet inline maken" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, fuzzy, gcc-internal-format + msgid "storing the address of local variable %qD in %qE" + msgstr "adres van globale registervariabele %qs gevraagd" +@@ -27973,7 +27968,7 @@ msgstr "" + msgid "IPA modref summary is missing in input file" + msgstr "" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, fuzzy, gcc-internal-format + msgid "invalid jump function in LTO stream" + msgstr "ongeldige opslagklasse voor functie %qs" +@@ -28946,7 +28941,7 @@ msgstr "(dicht bij initialisatie van %qs)" + msgid "command-line option %qs is not supported by this configuration" + msgstr "opdrachtregeloptie %qs wordt niet ondersteund door deze configuratie" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, gcc-internal-format + msgid "missing argument to %qs" + msgstr "ontbrekend argument bij %qs" +@@ -28988,13 +28983,13 @@ msgstr "" + msgid "unrecognized argument in option %qs" + msgstr "niet-herkend argument bij optie %qs" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, fuzzy, gcc-internal-format + #| msgid "valid arguments to %qs are: %s" + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "geldige argumenten van %qs zijn: %s" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s" + msgstr "geldige argumenten van %qs zijn: %s" +@@ -29154,7 +29149,7 @@ msgstr "" + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "-malign-loops=%d ligt niet tussen 0 en %d" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, fuzzy, gcc-internal-format + msgid "%<-fsanitize-trap=%s%> is not supported" + msgstr "-malign-loops=%d ligt niet tussen 0 en %d" +@@ -29194,191 +29189,191 @@ msgstr "" + msgid "variable tracking requested, but not supported by this debug format" + msgstr "" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, fuzzy, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, fuzzy, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, fuzzy, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, gcc-internal-format + msgid "unrecognized % passed to %" + msgstr "" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument to -fsanitize= option: %q.*s" + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "niet-herkend argument bij optie '--fsanitize=': %q.*s" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument to -fsanitize= option: %q.*s" + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "niet-herkend argument bij optie '--fsanitize=': %q.*s" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute directive ignored" + msgid "%qs attribute directive ignored" + msgstr "attribuut-commando %qE wordt genegeerd" + +-#: opts.cc:2347 ++#: opts.cc:2346 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument to --help= option: %q.*s" + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "niet-herkend argument bij optie '--help=': %q.*s" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, fuzzy, gcc-internal-format + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "ongeldig argument voor %<__builtin_return_address%>" + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, fuzzy, gcc-internal-format + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "te weinig argumenten voor functie %qE" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr "-malign-loops=%d ligt niet tussen 0 en %d" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, fuzzy, gcc-internal-format + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "ongeldig argument voor %<__builtin_return_address%>" + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, gcc-internal-format + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument to --help= option: %q.*s" + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "niet-herkend argument bij optie '--help=': %q.*s" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, fuzzy, gcc-internal-format + msgid "structure alignment must be a small power of two, not %wu" + msgstr "Alignment moet een kleine macht van twee zijn, en niet %d, in #pragma pack" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, fuzzy, gcc-internal-format + msgid "unknown stack check parameter %qs" + msgstr "onbekende machine-modus %qs" + +-#: opts.cc:3158 ++#: opts.cc:3157 + #, gcc-internal-format + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "" + +-#: opts.cc:3169 ++#: opts.cc:3168 + #, fuzzy, gcc-internal-format + msgid "dwarf version %wu is not supported" + msgstr "-pipe wordt niet ondersteund" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument to --help= option: %q.*s" + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "niet-herkend argument bij optie '--help=': %q.*s" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, fuzzy, gcc-internal-format + msgid "target system does not support debug output" + msgstr "doelformaat ondersteunt geen oneindige waarde" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, fuzzy, gcc-internal-format + msgid "debug format %qs conflicts with prior selection" + msgstr "sectie van %qs geeft een conflict met een eerdere declaratie" + +-#: opts.cc:3468 ++#: opts.cc:3467 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized register name %qs" + msgid "unrecognized debug output level %qs" + msgstr "niet-herkende registernaam %qs" + +-#: opts.cc:3470 ++#: opts.cc:3469 + #, gcc-internal-format + msgid "debug output level %qs is too high" + msgstr "" + +-#: opts.cc:3482 ++#: opts.cc:3481 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized register name %qs" + msgid "unrecognized btf debug output level %qs" + msgstr "niet-herkende registernaam %qs" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, gcc-internal-format + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" + msgstr "" +@@ -30056,189 +30051,189 @@ msgstr "" + msgid "%qD renamed after being referenced in assembly" + msgstr "" + +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, fuzzy, gcc-internal-format + msgid "function symbol is not function" + msgstr "%qs gedeclareerd als een functie die een functie teruggeeft" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, gcc-internal-format + msgid "inconsistent % attribute" + msgstr "" + +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "" + +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "node has invalid order %i" + msgstr "Ongeldige optie %qs" + +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "" + +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, fuzzy, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "opgeroepen object is geen functie" + +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, fuzzy, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "opgeroepen object is geen functie" + +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, fuzzy, gcc-internal-format + msgid "node is alias but not definition" + msgstr "%Jfunctiedefinitie in oude stijl" + +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, fuzzy, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "%Jfunctiedefinitie in oude stijl" + +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, fuzzy, gcc-internal-format + msgid "node is symver but not alias" + msgstr "%Jfunctiedefinitie in oude stijl" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, gcc-internal-format + msgid "symver is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, fuzzy, gcc-internal-format + #| msgid "implicit declaration of function %qE" + msgid "implicit_section flag is set but section isn%'t" + msgstr "impliciete declaratie van functie %qE" + +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, gcc-internal-format + msgid "Alias and target%'s section differs" + msgstr "" + +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, gcc-internal-format + msgid "Alias and target%'s comdat groups differs" + msgstr "" + +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, gcc-internal-format + msgid "Transparent alias and target%'s assembler names differs" + msgstr "" + +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid pointer mode %qs" + msgid "invalid order in asm node %i" + msgstr "%qs is geen geldige pointer-modus" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, fuzzy, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "functie %qs geherdeclareerd als inline" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, fuzzy, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "variabele %qs als inline gedeclareerd" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -31926,27 +31921,27 @@ msgstr "" + msgid "target specific builtin not available" + msgstr "" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "" +@@ -32776,7 +32771,7 @@ msgstr "attribuut %qE wordt genegeerd omdat %qT reeds gedefinieerd is" + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "attribuut %qE wordt genegeerd omdat %qT reeds gedefinieerd is" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "" +@@ -34938,7 +34933,7 @@ msgstr "" + msgid "traditional C rejects string constant concatenation" + msgstr "traditionele C verwerpt het aaneenplakken van stringconstantes" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "" +@@ -36639,7 +36634,7 @@ msgstr "te veel invoerbestanden" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for %<-mcpu%>" + msgstr "slechte waarde (%s) voor optie -mcpu" +@@ -36671,16 +36666,16 @@ msgid "unrecognized option passed to %%:%" + msgstr "" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, fuzzy, gcc-internal-format + #| msgid "valid arguments to %qs are: %s" + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "geldige argumenten van %qs zijn: %s" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "valid arguments to %qs are: %s" + msgid "valid arguments are: %s" +@@ -36772,50 +36767,50 @@ msgstr "spec '%s' is ongeldig" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, fuzzy, gcc-internal-format + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "-malign-loops=%d ligt niet tussen 0 en %d" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr "-malign-loops=%d ligt niet tussen 0 en %d" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, fuzzy, gcc-internal-format + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "-malign-jumps=%d ligt niet tussen 0 en %d" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, fuzzy, gcc-internal-format + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr "-malign-loops=%d ligt niet tussen 0 en %d" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, fuzzy, gcc-internal-format + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "-malign-functions=%d ligt niet tussen 0 en %d" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, fuzzy, gcc-internal-format + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr "-malign-loops=%d ligt niet tussen 0 en %d" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, fuzzy, gcc-internal-format + #| msgid "-mbranch-cost=%d is not between 0 and 5" + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr "-mbranch-cost=%d ligt niet tussen 0 en 5" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "" +@@ -37308,13 +37303,13 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "case-selector niet compatibel met label" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be an integer constant expression" + msgstr "herhalings-aantal is geen integerconstante" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, fuzzy, gcc-internal-format + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" + msgstr "Alignment moet een kleine macht van twee zijn, en niet %d, in #pragma pack" +@@ -37552,7 +37547,7 @@ msgstr "%s maakt integer van pointer zonder een cast" + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, fuzzy, gcc-internal-format + msgid "duplicate definition of %qs" + msgstr "%Jherdefinitie van %qD" +@@ -37593,7 +37588,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "%qs is geen bestand, pipe of tty" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, gcc-internal-format + msgid "variables of type %qT cannot have thread-local storage duration" + msgstr "" +@@ -37683,328 +37678,328 @@ msgstr "" + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "modi in %s expressie komen niet overeen" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, fuzzy, gcc-internal-format + #| msgid "AltiVec argument passed to unprototyped function" + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "AltiVec argument doorgegeven aan functie zonder prototype" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, fuzzy, gcc-internal-format + msgid "%qE requires the SVE ISA extension" + msgstr "ongeldig gebruik van %" + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, gcc-internal-format + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, gcc-internal-format + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute ignored" + msgid "%qs string ill-formed" + msgstr "attribuut %qs wordt genegeerd" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, fuzzy, gcc-internal-format + msgid "invalid format for %" + msgstr "ongeldige operanden voor binaire %s-operator" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, fuzzy, gcc-internal-format + #| msgid "invalid %%H value" + msgid "invalid % value: %d" + msgstr "ongeldige waarde voor %%H" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "Ongeldige optie voor floating-point emulatie: -mfpe-%s" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "onbekende spec-functie '%s'" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, gcc-internal-format + msgid "specify a system register with a small string length" + msgstr "" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "-fPIC is niet geldig met -mcoff" + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "" + +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, fuzzy, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "ontbrekende witruimte na getal %qs" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "onbekende machine-modus %qs" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to %<__builtin_frame_address%>" + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "ongeldig argument voor %<__builtin_frame_address%>" + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to %<__builtin_frame_address%>" + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "ongeldig argument voor %<__builtin_frame_address%>" + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, fuzzy, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "ontbrekende witruimte na getal %qs" + +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for %<-march%>" + msgstr "slechte waarde (%s) voor de -march= optie" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, gcc-internal-format + msgid "did you mean %<-mcpu=%s%>?" + msgstr "" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "beginwaarde ontbreekt" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, fuzzy, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "ontbrekende witruimte na getal %qs" + +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for %<-mtune%>" + msgstr "slechte waarde (%s) voor de -march= optie" + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, fuzzy, gcc-internal-format + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "optie -mcpu=%s geeft conflicten met optie -mtune=" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, fuzzy, gcc-internal-format + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "ondersteunt geen multilib" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, gcc-internal-format + msgid "code model %qs with %<-f%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in ilp32 mode" + msgstr "ISO C ondersteunt de %<%c%> lengte-optie niet" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, gcc-internal-format + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, gcc-internal-format + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, gcc-internal-format + msgid "missing argument to % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, gcc-internal-format + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, fuzzy, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "misvormde #pragma pack" + +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, fuzzy, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "misvormde #pragma weak" + +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, fuzzy, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "het argument van % is geen string" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, fuzzy, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "het argument van % is geen string" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, fuzzy, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "operandnummer buiten bereik" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, fuzzy, gcc-internal-format + msgid "unsupported simdlen %wd" + msgstr "niet-ondersteunde versie" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, gcc-internal-format + msgid "GCC does not currently support return type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, fuzzy, gcc-internal-format + msgid "unsupported return type %qT for % functions" + msgstr "ongebruikte argumenten in $-stijl formaat" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, fuzzy, gcc-internal-format + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "ongebruikte argumenten in $-stijl formaat" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, fuzzy, gcc-internal-format + msgid "GCC does not currently support simdlen %wd for type %qT" + msgstr "De -shared optie wordt op het ogenblik niet ondersteund voor VAX ELF." +@@ -38192,13 +38187,13 @@ msgstr "het argument van % is geen constante string" + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -38346,17 +38341,17 @@ msgstr "attribuut %qE wordt genegeerd" + msgid "%qE attribute only applies to variables" + msgstr "attribuut %qE is enkel van toepassing op variabelen" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, gcc-internal-format + msgid "alternatives not allowed in % flag output" + msgstr "" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, fuzzy, gcc-internal-format + msgid "unknown % flag output %qs" + msgstr "onbekende machine-modus %qs" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, fuzzy, gcc-internal-format + msgid "invalid type for % flag output" + msgstr "ongeldig gebruik van %" +@@ -38565,7 +38560,7 @@ msgstr "doel-CPU ondersteunt geen interworking" + msgid "target CPU does not support unaligned accesses" + msgstr "doel-CPU ondersteunt geen interworking" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, fuzzy, gcc-internal-format + msgid "This architecture does not support branch protection instructions" + msgstr "doel-CPU ondersteunt geen interworking" +@@ -38622,7 +38617,7 @@ msgstr "Grens voor structure-grootte kan enkel op 8 of 32 insgesteld worden" + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "case-selector niet compatibel met label" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, fuzzy, gcc-internal-format + msgid "FDPIC mode is not supported in Thumb-1 mode" + msgstr "ISO C ondersteunt de %<%c%> lengte-optie niet" +@@ -38729,7 +38724,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "" +@@ -38784,32 +38779,32 @@ msgstr "" + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, fuzzy, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "ongeldige operand van %s" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, gcc-internal-format + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, fuzzy, gcc-internal-format + msgid "invalid fpu for target attribute or pragma %qs" + msgstr "ongeldig type-argument %qs" +@@ -38817,24 +38812,24 @@ msgstr "ongeldig type-argument %qs" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, fuzzy, gcc-internal-format + #| msgid "invalid vector type for attribute %qs" + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "ongeldig vector-type voor attribuut %qs" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, fuzzy, gcc-internal-format + #| msgid "junk at end of #pragma %s" + msgid "unknown target attribute or pragma %qs" + msgstr "rommel aan einde van #pragma %s" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, fuzzy, gcc-internal-format + msgid "% flags not supported in thumb1 mode" + msgstr "ISO C ondersteunt de %<%c%> lengte-optie niet" +@@ -38908,17 +38903,17 @@ msgstr "-pipe wordt niet ondersteund" + msgid "%<-fPIE%> is not supported" + msgstr "-pipe wordt niet ondersteund" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, fuzzy, gcc-internal-format + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "-G en -static sluiten elkaar uit" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, fuzzy, gcc-internal-format + msgid "%qs function cannot have arguments" + msgstr "%qs neemt ofwel geen, ofwel twee argumenten" + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, gcc-internal-format + msgid "%qs function cannot return a value" + msgstr "functie %qs kan geen waarde teruggeven" +@@ -39244,7 +39239,7 @@ msgstr "ongeldig argument voor %<__builtin_return_address%>" + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, fuzzy, gcc-internal-format + msgid "invalid argument to built-in function" + msgstr "ongeldig argument voor %<__builtin_return_address%>" +@@ -39852,762 +39847,762 @@ msgstr "" + msgid "virtual function multiversioning not supported" + msgstr "-pipe wordt niet ondersteund" + +-#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25106 + #, fuzzy, gcc-internal-format + msgid "multiversioning needs % which is not supported on this target" + msgstr "instructie-scheduling wordt niet ondersteund op deze doelmachine" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" + msgstr "afrondingsmodus niet ondersteund voor VAX-floats" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, fuzzy, gcc-internal-format + msgid "attribute %qs argument is not a string" + msgstr "het argument van % is geen string" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, fuzzy, gcc-internal-format + msgid "attribute %qs argument %qs is unknown" + msgstr "het argument van % is geen string" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, gcc-internal-format + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, gcc-internal-format + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, fuzzy, gcc-internal-format + msgid "wrong argument %qs to option %qs" + msgstr "fout in argumenten voor spec-functie '%s'" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, fuzzy, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" + msgstr "%Jer kan geen alignment opgegeven worden voor %qD" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, fuzzy, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" + msgstr "%Jer kan geen alignment opgegeven worden voor %qD" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, fuzzy, gcc-internal-format + msgid "too many size ranges specified in option %qs" + msgstr "Bestandsnaam voor uitvoer twee keer opgegeven" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, fuzzy, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "Bestandsnaam ontbreekt na %qs optie" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, fuzzy, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "afrondingsmodus niet ondersteund voor VAX-floats" + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "" + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, gcc-internal-format + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, fuzzy, gcc-internal-format + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, gcc-internal-format + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, fuzzy, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "ISO C ondersteunt de %<%c%> lengte-optie niet" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, fuzzy, gcc-internal-format + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "-pipe wordt niet ondersteund" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "ISO C ondersteunt de %<%c%> lengte-optie niet" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "ISO C ondersteunt de %<%c%> lengte-optie niet" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, fuzzy, gcc-internal-format + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "" + +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, fuzzy, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "slechte waarde (%s) voor de -march= optie" + +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, fuzzy, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "slechte waarde (%s) voor de -march= optie" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, fuzzy, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "slechte waarde (%s) voor de -march= optie" + +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, fuzzy, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "slechte waarde (%s) voor de -march= optie" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, fuzzy, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "doel-CPU ondersteunt geen interworking" + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "bad value %qs for %<-march=%> switch" + msgstr "slechte waarde (%s) voor de -march= optie" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, fuzzy, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "slechte waarde (%s) voor de -march= optie" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, fuzzy, gcc-internal-format + #| msgid "valid arguments to %qs are: %s" + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "geldige argumenten van %qs zijn: %s" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, fuzzy, gcc-internal-format + #| msgid "valid arguments to %qs are: %s" + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "geldige argumenten van %qs zijn: %s" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, fuzzy, gcc-internal-format + #| msgid "valid arguments to %qs are: %s" + msgid "valid arguments to % attribute are: %s" + msgstr "geldige argumenten van %qs zijn: %s" + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, fuzzy, gcc-internal-format + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "slechte waarde (%s) voor de -march= optie" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, fuzzy, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "slechte waarde (%s) voor de -march= optie" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, fuzzy, gcc-internal-format + #| msgid "valid arguments to %qs are: %s" + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "geldige argumenten van %qs zijn: %s" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, fuzzy, gcc-internal-format + #| msgid "valid arguments to %qs are: %s" + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "geldige argumenten van %qs zijn: %s" + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, fuzzy, gcc-internal-format + #| msgid "valid arguments to %qs are: %s" + msgid "valid arguments to % attribute are: %s" + msgstr "geldige argumenten van %qs zijn: %s" + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, fuzzy, gcc-internal-format + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, fuzzy, gcc-internal-format + #| msgid "-mregparm=%d is not between 0 and %d" + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "-mregparm=%d ligt niet tussen 0 en %d" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, fuzzy, gcc-internal-format + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "case-selector niet compatibel met label" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, fuzzy, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, fuzzy, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, fuzzy, gcc-internal-format + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, fuzzy, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "-mpreferred_stack_boundary=%d ligt niet tussen 2 en 31" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, fuzzy, gcc-internal-format + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "-mpreferred_stack_boundary=%d ligt niet tussen 2 en 31" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, fuzzy, gcc-internal-format + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "case-selector niet compatibel met label" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, fuzzy, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "pointer naar functie gebruikt in rekensom" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, fuzzy, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "pointer naar functie gebruikt in rekensom" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, gcc-internal-format + msgid "stack probing requires % for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, fuzzy, gcc-internal-format + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, fuzzy, gcc-internal-format + msgid "unknown option for %<-mrecip=%s%>" + msgstr "onbekende machine-modus %qs" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, gcc-internal-format + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, gcc-internal-format + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, gcc-internal-format + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, fuzzy, gcc-internal-format + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "case-selector niet compatibel met label" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, fuzzy, gcc-internal-format + msgid "interrupt and naked attributes are not compatible" + msgstr "-pg en -fomit-frame-pointer zijn niet compatibel" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, fuzzy, gcc-internal-format + #| msgid "-msdata=%s and -mcall-%s are incompatible" + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "-msdata=%s en -mcall-%s zijn incompatibel" + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, fuzzy, gcc-internal-format + #| msgid "-msdata=%s and -mcall-%s are incompatible" + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "-msdata=%s en -mcall-%s zijn incompatibel" + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, fuzzy, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "-pg en -fomit-frame-pointer zijn niet compatibel" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, fuzzy, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "-pg en -fomit-frame-pointer zijn niet compatibel" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, fuzzy, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "herhalings-aantal is geen integerconstante" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "argument van attribuut %qE is groter dan %d" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, fuzzy, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "-pg en -fomit-frame-pointer zijn niet compatibel" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, fuzzy, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "-pg en -fomit-frame-pointer zijn niet compatibel" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, fuzzy, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "-pg en -fomit-frame-pointer zijn niet compatibel" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, fuzzy, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "-pg en -fomit-frame-pointer zijn niet compatibel" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, fuzzy, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "-pg en -fomit-frame-pointer zijn niet compatibel" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, fuzzy, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "-pg en -fomit-frame-pointer zijn niet compatibel" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, fuzzy, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "-pg en -fomit-frame-pointer zijn niet compatibel" + + # XXX FIXME, ERROR: s/none /non-/ +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute is used for none class-method" + msgid "%qE attribute is used for non-class method" + msgstr "attribuut %qE is gebruikt voor non-class-methode" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, gcc-internal-format + msgid "%qE incompatible attribute ignored" + msgstr "incompatibel attribuut %qE wordt genegeerd" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, gcc-internal-format + msgid "%qE attribute only available for 32-bit" + msgstr "attribuut %qE is alleen beschikbaar voor 32-bits" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, gcc-internal-format + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, fuzzy, gcc-internal-format + msgid "%qs and %qs attributes are not compatible" + msgstr "-pg en -fomit-frame-pointer zijn niet compatibel" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "attribuut %qE vereist een string-constante als argument" + +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, fuzzy, gcc-internal-format + #| msgid "argument of %qE attribute is not a string constant" + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "argument van attribuut %qE is geen string-constante" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "" + +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, fuzzy, gcc-internal-format + msgid "interrupt service routine should have %qs as the second argument" + msgstr "de '-%c' moet een argument hebben" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, fuzzy, gcc-internal-format + msgid "interrupt service routine must return %" + msgstr "% zonder waarde in een functie die een niet-void waarde teruggeeft" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, gcc-internal-format + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, gcc-internal-format + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, fuzzy, gcc-internal-format + msgid "X32 does not support % attribute" + msgstr "ISO C ondersteunt % niet" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, fuzzy, gcc-internal-format + msgid "% attribute is not compatible with nested function" + msgstr "case-selector niet compatibel met label" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, gcc-internal-format + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, gcc-internal-format + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, gcc-internal-format + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, gcc-internal-format + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, gcc-internal-format + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, gcc-internal-format + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, gcc-internal-format + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, gcc-internal-format, gfc-internal-format + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "" + +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, fuzzy, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "case-selector niet compatibel met label" + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, fuzzy, gcc-internal-format + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "case-selector niet compatibel met label" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "" + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, fuzzy, gcc-internal-format + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem" + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, fuzzy, gcc-internal-format + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, fuzzy, gcc-internal-format + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "conflicterende types voor ingebouwde functie %qs" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, fuzzy, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" + msgstr "conflicterende types voor ingebouwde functie %qs" + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, fuzzy, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "ISO C90 ondersteunt geen flexibele array-leden" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, gcc-internal-format + msgid "% modifier on non-integer register" + msgstr "" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, gcc-internal-format + msgid "unsupported size for integer register" + msgstr "" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, fuzzy, gcc-internal-format + msgid "non-integer operand used with operand code %" + msgstr "herdefinitie van %" + +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, gcc-internal-format + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, fuzzy, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "onbekende machine-modus %qs" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, fuzzy, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "ongebruikte argumenten in $-stijl formaat" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, fuzzy, gcc-internal-format + msgid "unsupported argument type %qT for simd" + msgstr "ongebruikte argumenten in $-stijl formaat" + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, gcc-internal-format + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" + msgstr "" +@@ -40959,7 +40954,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute requires a string constant argument" + msgid "%qE attribute requires a string argument" +@@ -42109,54 +42104,54 @@ msgstr "" + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "rommel aan einde van %<#pragma reset_options%>" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, fuzzy, gcc-internal-format + msgid "RVV type %qT does not have a fixed size" + msgstr "%qs is geen bestand, pipe of tty" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, fuzzy, gcc-internal-format + msgid "RVV type %qT does not have a defined alignment" + msgstr "%qs is geen bestand, pipe of tty" + + # 'Arithmetic'?? 'rekensom' is wel correct, maar het klinkt zo stom. +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, fuzzy, gcc-internal-format + #| msgid "arithmetic on pointer to an incomplete type" + msgid "arithmetic on pointer to RVV type %qT" + msgstr "rekensom met pointer naar onvolledig type" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, fuzzy, gcc-internal-format + msgid "fields cannot have RVV type %qT" + msgstr "veld %qs heeft een onvolledig type" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, fuzzy, gcc-internal-format + msgid "array elements cannot have RVV type %qT" + msgstr "de terugkeerwaarde van een functie kan geen funtie zijn" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, fuzzy, gcc-internal-format + msgid "cannot allocate objects with RVV type %qT" + msgstr "kon 0x%l.8x niet naar een regio omzetten" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, fuzzy, gcc-internal-format + msgid "cannot delete objects with RVV type %qT" + msgstr "cast geeft functie-type op" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, fuzzy, gcc-internal-format + msgid "cannot throw or catch RVV type %qT" + msgstr "kon 0x%l.8x niet naar een regio omzetten" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, gcc-internal-format + msgid "capture by copy of RVV type %qT" + msgstr "" +@@ -42176,71 +42171,66 @@ msgstr "" + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, gcc-internal-format + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "het argument van % is geen constante string" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, gcc-internal-format + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, gcc-internal-format + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, gcc-internal-format + msgid "ABI requires %<-march=rv%d%>" + msgstr "" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, fuzzy, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "-mpreferred_stack_boundary=%d ligt niet tussen 2 en 31" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid base register in %qs" + msgstr "-fPIC is niet geldig met -mcoff" + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid number in %qs" + msgstr "-fPIC is niet geldig met -mcoff" + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, fuzzy, gcc-internal-format + msgid "%qs function cannot have different interrupt type" + msgstr "%qs neemt ofwel geen, ofwel twee argumenten" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, fuzzy, gcc-internal-format +@@ -42716,97 +42706,97 @@ msgstr "%<%.*s%> is niet gedefinieerd" + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, fuzzy, gcc-internal-format + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "kan adres van bitveld %qs niet nemen" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, fuzzy, gcc-internal-format + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "ISO C staat het testen van asserties niet toe" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, fuzzy, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "'complex' ongeldig voor %qs" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, fuzzy, gcc-internal-format + msgid "invalid cpu %qs for %s%qs%s" + msgstr "ongeldig gebruik van '%%%c'" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, fuzzy, gcc-internal-format + msgid "%s%qs%s is not allowed" + msgstr "spec '%s' is ongeldig" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, fuzzy, gcc-internal-format + msgid "%s%qs%s is invalid" + msgstr "spec '%s' is ongeldig" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" + +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, fuzzy, gcc-internal-format + msgid "Virtual function multiversioning not supported" + msgstr "-pipe wordt niet ondersteund" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, fuzzy, gcc-internal-format + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "%Jingebouwde functie %qD gedeclareerd als niet-functie" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, fuzzy, gcc-internal-format + msgid "type %<__vector_pair%> requires the %qs option" + msgstr "%Jingebouwde functie %qD gedeclareerd als niet-functie" +@@ -44243,7 +44233,7 @@ msgstr "een object met een volatile veld kan niet in een register geplaatst word + msgid "uninitialized % is invalid in C++" + msgstr "ongeïnitialiseerde const %qD is ongeldig in C++" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "" +@@ -44429,7 +44419,7 @@ msgstr "opslagklasse opgegeven voor parameter %qs" + msgid "storage class specified for unnamed parameter" + msgstr "opslagklasse opgegeven voor parameter %qs" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "opslagklasse opgegeven voor typenaam" +@@ -44599,7 +44589,7 @@ msgstr "%qs gedeclareerd als een functie die een array teruggeeft" + msgid "function definition has qualified void return type" + msgstr "functiedefinitie heeft een gekwalificeerde % als teruggeeftype" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "typekwalificaties op teruggeeftypes van functies worden genegeerd" +@@ -44727,7 +44717,7 @@ msgstr "ISO C verbiedt % of % functie-types" + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "argument %d is alleen-lezen" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, fuzzy, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "variabele of veld %qs als void gedeclareerd" +@@ -44927,7 +44917,7 @@ msgstr "" + msgid "%qT defined in underspecified object initializer" + msgstr "onbekend veld %qs opgegeven in beginwaarde" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "declaratie declareert niets" +@@ -44977,7 +44967,7 @@ msgstr "struct heeft geen benoemde leden" + msgid "struct has no members" + msgstr "struct heeft geen leden" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, fuzzy, gcc-internal-format + msgid "flexible array member in union" + msgstr "%Jflexibel array-lid in union" +@@ -45022,7 +45012,7 @@ msgstr "herdeclaratie van %" + msgid "% declared with but defined without fixed underlying type" + msgstr "" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, fuzzy, gcc-internal-format + #| msgid "specified mode too small for enumeral values" + msgid "specified mode too small for enumerated values" +@@ -45072,7 +45062,7 @@ msgstr "ISO C beperkt enumeratiewaarden tot het bereik van het % type" + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "ISO C beperkt enumeratiewaarden tot het bereik van het % type" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, fuzzy, gcc-internal-format + msgid "inline function %qD given attribute %qs" + msgstr "%J% attribuut gegeven aan ingebouwde functie %qD" +@@ -45102,7 +45092,7 @@ msgstr "%Jgeen eerder prototype voor %qD" + msgid "%qD was used with no prototype before its definition" + msgstr "%J%qD werd voor haar definitie gebruikt zonder protoype" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, fuzzy, gcc-internal-format + msgid "no previous declaration for %qD" + msgstr "%Jgeen eerdere declaratie voor %qD" +@@ -45217,12 +45207,12 @@ msgstr "argument %qs komt niet overeen met prototype" + msgid "argument %qD doesn%'t match prototype" + msgstr "argument %qs komt niet overeen met prototype" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, fuzzy, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "% zonder waarde in een functie die een niet-void waarde teruggeeft" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, fuzzy, gcc-internal-format + msgid "parameter %qD set but not used" + msgstr "parameter %qD krijgt beginwaarde" +@@ -47261,7 +47251,7 @@ msgstr "" + msgid "collapsed loops not perfectly nested" + msgstr "" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, fuzzy, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "statische variable %qs is als dllimport aangeduid" +@@ -47391,12 +47381,12 @@ msgstr "ongeldige operand van %s" + msgid "variant %qD is not a function" + msgstr "%qs is meestal een functie" + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, fuzzy, gcc-internal-format + msgid "variant %qD and base %qD have incompatible types" + msgstr "%Jparameter %qD heeft een onvolledig type" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "" +@@ -47657,7 +47647,7 @@ msgstr "ongeldig gebruik van een void-expressie" + msgid "invalid use of flexible array member" + msgstr "ongeldig gebruik van flexibel array-lid" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "ongeldig gebruik van een array zonder opgegeven grenzen" +@@ -48633,12 +48623,12 @@ msgstr "" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "initialisatie van flexibel array-lid" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, gcc-internal-format + msgid "cannot initialize array of %qT from a string literal with type array of %qT" + msgstr "" +@@ -48679,7 +48669,7 @@ msgstr "beginwaarde-element kan niet berekend worden tijdens het laden" + msgid "invalid initializer" + msgstr "ongeldige beginwaarde" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, fuzzy, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" +@@ -48694,8 +48684,8 @@ msgstr "extra accolade-groep aan einde van beginwaarde" + msgid "braces around scalar initializer" + msgstr "accolades rond scalaire beginwaarde" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "initialisatie van flexibel array-lid in een geneste context" +@@ -48787,7 +48777,7 @@ msgstr "overtollige elementen in beginwaarde van struct" + msgid "positional initialization of field in % declared with % attribute" + msgstr "" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "niet-statische initialisatie van flexibel array-lid" +@@ -50149,7 +50139,7 @@ msgstr "" + msgid "%q#D is private within this context" + msgstr "registervariabele %qs gebruikt in geneste functie" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, fuzzy, gcc-internal-format + msgid "declared private here" + msgstr "%qs tevoren hier gedeclareerd" +@@ -50159,7 +50149,7 @@ msgstr "%qs tevoren hier gedeclareerd" + msgid "%q#D is protected within this context" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, fuzzy, gcc-internal-format + msgid "declared protected here" + msgstr "%qs tevoren hier gedeclareerd" +@@ -50174,7 +50164,7 @@ msgstr "%s is niet addresseerbaar" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "doorgeven van argument %d van %qs" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, fuzzy, gcc-internal-format + msgid " declared here" +@@ -50515,7 +50505,7 @@ msgstr "Teveel argumenten in oproep van %qs" + msgid "call to non-function %qD" + msgstr "kan functie % niet inline maken" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "" +@@ -51088,7 +51078,7 @@ msgstr "%Jflexibel array-lid in overigens lege struct" + msgid "next member %q#D declared here" + msgstr "%qs tevoren hier gedeclareerd" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, fuzzy, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "herdefinitie van %qs" +@@ -51209,7 +51199,7 @@ msgstr "ongeldige opslagklasse voor functie %qs" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, gcc-internal-format + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" +@@ -51278,7 +51268,7 @@ msgstr "" + msgid "failed % attribute assumption" + msgstr "" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, fuzzy, gcc-internal-format + msgid "call to internal function %qE" +@@ -51325,7 +51315,7 @@ msgstr "%qs is geen bestand, pipe of tty" + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, fuzzy, gcc-internal-format + msgid "call to non-% function %qD" +@@ -51450,7 +51440,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "% pointer wordt gederefereerd" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -51549,7 +51539,7 @@ msgstr "" + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, fuzzy, gcc-internal-format + msgid "dereferencing a null pointer" +@@ -51625,7 +51615,7 @@ msgstr "" + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "kon 0x%l.8x niet naar een regio omzetten" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, fuzzy, gcc-internal-format + msgid "statement is not a constant expression" +@@ -51691,190 +51681,190 @@ msgstr "" + msgid "control passes through definition of %qD with static storage duration" + msgstr "" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, fuzzy, gcc-internal-format + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "overflow in constante expressie" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "beginwaarde-element is niet constant" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, fuzzy, gcc-internal-format + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "overflow in constante expressie" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, fuzzy, gcc-internal-format + #| msgid "Empty array constructor at %C is not allowed" + msgid "cast from %qT is not allowed" + msgstr "Lege array-constructor op %C is niet toegestaan" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, fuzzy, gcc-internal-format + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "overflow in constante expressie" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, fuzzy, gcc-internal-format + msgid "%(%E)%> is not a constant expression" + msgstr "beginwaarde-element is niet constant" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, fuzzy, gcc-internal-format + msgid "expression %qE is not a constant expression" + msgstr "beginwaarde-element is niet constant" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "overflow in constante expressie" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, fuzzy, gcc-internal-format + msgid "contract predicate is false in constant expression" + msgstr "ongeldig gebruik van een void-expressie" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, fuzzy, gcc-internal-format + msgid "unexpected template-id %qE" + msgstr "ongeldige beginwaarde" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, fuzzy, gcc-internal-format + msgid "function concept must be called" + msgstr "functie kan niet inline gemaakt worden" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, fuzzy, gcc-internal-format + msgid "address of a call to %qs is not a constant expression" + msgstr "beginwaarde-element is niet constant" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, fuzzy, gcc-internal-format + msgid "unexpected expression %qE of kind %s" + msgstr "ongeldige waarheidsexpressie" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, gcc-internal-format + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, fuzzy, gcc-internal-format + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "ongeldige registernaam voor %qs" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, fuzzy, gcc-internal-format + msgid "lambda capture of %qE is not a constant expression" + msgstr "overflow in constante expressie" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, gcc-internal-format + msgid "% from integer to pointer" + msgstr "" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, fuzzy, gcc-internal-format + msgid "use of % in a constant expression" + msgstr "overflow in constante expressie" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, fuzzy, gcc-internal-format + msgid "lambda-expression is not a constant expression before C++17" + msgstr "overflow in constante expressie" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, fuzzy, gcc-internal-format + msgid "new-expression is not a constant expression before C++20" + msgstr "beginwaarde-element is niet constant" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, fuzzy, gcc-internal-format + msgid "virtual functions cannot be % before C++20" + msgstr "functiedefinitie heeft een gekwalificeerde % als teruggeeftype" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, gcc-internal-format + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, fuzzy, gcc-internal-format + msgid "cast to non-integral type %qT in a constant expression" + msgstr "overflow in constante expressie" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, fuzzy, gcc-internal-format + msgid "division by zero is not a constant expression" + msgstr "ongeldig gebruik van een void-expressie" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "overflow in constante expressie" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, fuzzy, gcc-internal-format + msgid "neither branch of % is a constant expression" + msgstr "overflow in constante expressie" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, fuzzy, gcc-internal-format + msgid "non-constant array initialization" + msgstr "niet-constante array-index in beginwaarde" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, gcc-internal-format + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unexpected AST of kind %s" + msgstr "onverwachte operand" +@@ -52455,7 +52445,7 @@ msgstr "" + msgid "% declared here" + msgstr "%Jeerder hier gebruikt" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, fuzzy, gcc-internal-format + msgid "no member named %qE in %qT" + msgstr "union heeft geen lid dat %qs heet" +@@ -52549,7 +52539,7 @@ msgstr "derde argument voor %<__builtin_prefetch%> moet een constante zijn" + msgid "no suspend point info for %qD" + msgstr "%Jgeen eerder prototype voor %qD" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "" +@@ -52570,23 +52560,23 @@ msgstr "pointers zijn niet toegestaan als case-waarden" + msgid "variable length arrays are not yet supported in coroutines" + msgstr "" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, fuzzy, gcc-internal-format + msgid "cannot initialize a return object of type %qT with an rvalue of type %" + msgstr "ongeldige registernaam voor %qs" +@@ -53073,7 +53063,7 @@ msgstr "eerdere declaratie van %qs" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "ingebouwde functie %qs als niet-functie gedeclareerd" + +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, fuzzy, gcc-internal-format + msgid "previous declaration %qD" + msgstr "eerdere declaratie van %qs" +@@ -53474,2285 +53464,2285 @@ msgstr "%qs is geen iterator" + msgid "%q#T is not a class" + msgstr "%qs is geen iterator" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, gcc-internal-format + msgid "no type named %q#T in %q#T" + msgstr "" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, fuzzy, gcc-internal-format + msgid "lookup of %qT in %qT is ambiguous" + msgstr "ongeldige registernaam voor %qs" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, fuzzy, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "%qs is smaller dan waarden van zijn type" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, fuzzy, gcc-internal-format + msgid "% names %q#D, which is not a type" + msgstr "%qs is geen iterator" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, fuzzy, gcc-internal-format + msgid "template parameters do not match template %qD" + msgstr "niet-beëindigde parameterlijst in %<#define%>" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, fuzzy, gcc-internal-format + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "-pipe wordt niet ondersteund" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, fuzzy, gcc-internal-format + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "ongeldig gebruik van onvolledige typedef %qs" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, fuzzy, gcc-internal-format + msgid "anonymous struct with base classes" + msgstr "anonieme %s gedeclareerd binnen parameterlijst" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, fuzzy, gcc-internal-format + msgid "attribute ignored in declaration of %q#T" + msgstr "eerdere declaratie van %qs" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, gcc-internal-format + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, fuzzy, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "herdeclaratie van %qs" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for variables or function declarations" + msgstr "argument-formaat opgegeven voor niet-functie %qs" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, fuzzy, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "nutteloos sleutelwoord of typenaam in lege declaratie" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "argument-formaat opgegeven voor niet-functie %qs" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "argument-formaat opgegeven voor niet-functie %qs" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, fuzzy, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "argument-formaat opgegeven voor niet-functie %qs" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "argument-formaat opgegeven voor niet-functie %qs" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, fuzzy, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "argument-formaat opgegeven voor niet-functie %qs" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "argument-formaat opgegeven voor niet-functie %qs" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "argument-formaat opgegeven voor niet-functie %qs" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, fuzzy, gcc-internal-format + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "argument-formaat opgegeven voor niet-functie %qs" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, fuzzy, gcc-internal-format + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "argument-formaat opgegeven voor niet-functie %qs" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, fuzzy, gcc-internal-format + msgid "% was ignored in this declaration" + msgstr "type krijgt standaardwaarde % in de declaratie van %qs" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, fuzzy, gcc-internal-format + msgid "%qs cannot be used for type declarations" + msgstr "% in lege declaratie op bestandsniveau" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, fuzzy, gcc-internal-format + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "herhaalde definitie %qs" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, gcc-internal-format + msgid "no attribute can be applied to an explicit instantiation" + msgstr "" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, gcc-internal-format + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "" + +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, fuzzy, gcc-internal-format + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "typedef %qD krijgt beginwaarde (gebruik beter __typeof__)" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, fuzzy, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "de declaratie van %qs is % en heeft een beginwaarde" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, fuzzy, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "functie-definitie als % gedeclareerd" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, fuzzy, gcc-internal-format + msgid "%q+#D is not a static data member of %q#T" + msgstr "%qs is geen static veld" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, fuzzy, gcc-internal-format + msgid "non-member-template declaration of %qD" + msgstr "herdeclaratie van %qs" + +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, fuzzy, gcc-internal-format + msgid "does not match member template declaration here" + msgstr "herhaalde label-declaratie %qs" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "" + +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, fuzzy, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "dubbele beginwaarde" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, fuzzy, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "de zwakke declaratie van %qs moet aan de definitie voorafgaan" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, fuzzy, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "variabele %qs heeft beginwaarde, maar een onvolledig type" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, fuzzy, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "elementen van array %qs hebben een onvolledig type" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, fuzzy, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "parameter %qs heeft een onvolledig type" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, fuzzy, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "%qs als ander soort symbool geherdeclareerd" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, gcc-internal-format + msgid "name used in a GNU-style designated initializer for an array" + msgstr "" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, fuzzy, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "ISO C++ staat het gebruik van % niet toe" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, fuzzy, gcc-internal-format + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "grootte van array %qs is van een niet-integraal type" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, fuzzy, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "beginwaarde legt grootte van %qs niet vast" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, fuzzy, gcc-internal-format + msgid "array size missing in %qD" + msgstr "array-grootte ontbreekt in %qs" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, fuzzy, gcc-internal-format + msgid "zero-size array %qD" + msgstr "array %qs heeft grootte die negatief of 0 is" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, fuzzy, gcc-internal-format + msgid "storage size of %qD isn%'t known" + msgstr "opslaggrootte van %qs is onbekend" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, fuzzy, gcc-internal-format + msgid "storage size of %qD isn%'t constant" + msgstr "opslaggrootte van %qs is niet constant" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, gcc-internal-format + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, gcc-internal-format + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, gcc-internal-format + msgid "you can work around this by removing the initializer" + msgstr "" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, fuzzy, gcc-internal-format + #| msgid "uninitialized const %qD" + msgid "uninitialized %" + msgstr "ongeïnitialiseerde const %qD" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, fuzzy, gcc-internal-format + msgid "uninitialized variable %qD in % function" + msgstr "% is niet beschikbaar in static member-funties" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, fuzzy, gcc-internal-format + msgid "uninitialized variable %qD in % context" + msgstr "% is niet beschikbaar in static member-funties" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, gcc-internal-format + msgid "%q#T has no user-provided default constructor" + msgstr "" + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, gcc-internal-format + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, fuzzy, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "union heeft geen lid dat %qs heet" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, fuzzy, gcc-internal-format + msgid "%qD is not a direct member of %qT" + msgstr "%qs is geen bestand, pipe of tty" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, fuzzy, gcc-internal-format + msgid "invalid initializer for %q#D" + msgstr "ongeldige beginwaarde" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, fuzzy, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "ongeldige beginwaarde voor veld %qs" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, fuzzy, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "accolades rond scalaire beginwaarde" + +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, fuzzy, gcc-internal-format + msgid "too many braces around scalar initializer for type %qT" + msgstr "accolades rond scalaire beginwaarde" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, fuzzy, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "accolades ontbreken rond beginwaarde" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, fuzzy, gcc-internal-format + msgid "structured binding has incomplete type %qT" + msgstr "veld %qs heeft een onvolledig type" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, fuzzy, gcc-internal-format + msgid "elements of array %q#T have incomplete type" + msgstr "elementen van array %qs hebben een onvolledig type" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, fuzzy, gcc-internal-format + msgid "variable-sized compound literal" + msgstr "ISO C90 verbiedt het gebruik van samengestelde expressies als lvalues" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, fuzzy, gcc-internal-format + msgid "%q#D has incomplete type" + msgstr "%qs heeft een onvolledig type" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, fuzzy, gcc-internal-format + msgid "scalar object %qD requires one element in initializer" + msgstr "overtollige elementen in beginwaarde van union" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, gcc-internal-format + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, fuzzy, gcc-internal-format + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "(dicht bij initialisatie van %qs)" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, fuzzy, gcc-internal-format + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "(dicht bij initialisatie van %qs)" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, fuzzy, gcc-internal-format + msgid "reference %qD is initialized with itself" + msgstr "%qs is hier niet gedeclareerd (eerste gebruik in deze functie)" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, fuzzy, gcc-internal-format + msgid "could not find variant declaration" + msgstr "%qs staat niet aan het begin van een declaratie" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, fuzzy, gcc-internal-format + msgid "% on constructor %qD" + msgstr "te weinig argumenten voor functie %qs" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, fuzzy, gcc-internal-format + msgid "% on destructor %qD" + msgstr "%Jherdeclaratie van enum %qD" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, gcc-internal-format + msgid "% on defaulted %qD" + msgstr "" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, gcc-internal-format + msgid "% on deleted %qD" + msgstr "" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, gcc-internal-format + msgid "% on virtual %qD" + msgstr "" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, fuzzy, gcc-internal-format + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "ISO C++ staat het gebruik van % niet toe" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, fuzzy, gcc-internal-format + msgid "% storage class specifier used" + msgstr "opslagklasse opgegeven voor parameter %qs" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, fuzzy, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "de declaratie van %qs is % en heeft een beginwaarde" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, fuzzy, gcc-internal-format + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "% is niet beschikbaar in static member-funties" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, fuzzy, gcc-internal-format + msgid "deduced type %qT for %qD is incomplete" + msgstr "type van teruggeefwaarde is onvolledig" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, fuzzy, gcc-internal-format + #| msgid "variable-sized object may not be initialized" + msgid "variable concept has no initializer" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, fuzzy, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "eerdere declaratie van %qs" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, fuzzy, gcc-internal-format + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "argument-formaat opgegeven voor niet-functie %qs" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, fuzzy, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "typedef %qs krijgt beginwaarde alsof het een variabele is" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr "" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, fuzzy, gcc-internal-format + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "%qs is geen bestand, pipe of tty" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, fuzzy, gcc-internal-format + msgid "structured binding refers to incomplete type %qT" + msgstr "dereferentie van pointer naar onvolledig type" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, fuzzy, gcc-internal-format + msgid "cannot decompose variable length array %qT" + msgstr "ISO C90 verbiedt array %qs van variabele grootte" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%u name provided for structured binding" + msgid_plural "%u names provided for structured binding" + msgstr[0] "opslagklasse opgegeven voor structure-veld %qs" + msgstr[1] "opslagklasse opgegeven voor structure-veld %qs" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, fuzzy, gcc-internal-format + msgid "cannot decompose variable length vector %qT" + msgstr "parameter %qs wijst naar een onvolledig type" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, fuzzy, gcc-internal-format + msgid "%::value%> is not an integral constant expression" + msgstr "ongeldig gebruik van een void-expressie" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, fuzzy, gcc-internal-format + msgid "in initialization of structured binding variable %qD" + msgstr "dubbele beginwaarde" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, fuzzy, gcc-internal-format + msgid "cannot decompose union type %qT" + msgstr "parameter %qs wijst naar een onvolledig type" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, fuzzy, gcc-internal-format + msgid "cannot decompose non-array non-class type %qT" + msgstr "herhaald lid %qs" + + # Betere vertaling voor 'decompose'? +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, fuzzy, gcc-internal-format + #| msgid "cannot decompose address" + msgid "cannot decompose lambda closure type %qT" + msgstr "kan adres niet ontleden" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, fuzzy, gcc-internal-format + msgid "structured binding refers to incomplete class type %qT" + msgstr "teruggeeftype is onvolledig" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, fuzzy, gcc-internal-format + msgid "cannot decompose class type %qT without non-static data members" + msgstr "ongeldig gebruik van onvolledige typedef %qs" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, fuzzy, gcc-internal-format + msgid "initializer fails to determine size of %qT" + msgstr "beginwaarde legt grootte van %qs niet vast" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, fuzzy, gcc-internal-format + msgid "array size missing in %qT" + msgstr "array-grootte ontbreekt in %qs" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, fuzzy, gcc-internal-format + msgid "zero-size array %qT" + msgstr "array %qs heeft grootte die negatief of 0 is" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, fuzzy, gcc-internal-format + msgid "%qD declared as a % variable" + msgstr "variabele %qs als inline gedeclareerd" + +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, fuzzy, gcc-internal-format + msgid "%qD declared as a % parameter" + msgstr "variabele %qs als inline gedeclareerd" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, fuzzy, gcc-internal-format + msgid "%qD declared as an % parameter" + msgstr "variabele %qs als inline gedeclareerd" + +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, fuzzy, gcc-internal-format + msgid "%qD declared as a % type" + msgstr "variabele %qs als inline gedeclareerd" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, fuzzy, gcc-internal-format + msgid "%qD declared as an % type" + msgstr "variabele %qs als inline gedeclareerd" + +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, fuzzy, gcc-internal-format + msgid "%qD declared as a % field" + msgstr "variabele %qs als inline gedeclareerd" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, fuzzy, gcc-internal-format + msgid "%qD declared as an % field" + msgstr "variabele %qs als inline gedeclareerd" + +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, fuzzy, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "veld %qs als een functie gedeclareerd" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, fuzzy, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "%qs gedeclareerd als een functie die een functie teruggeeft" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, fuzzy, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "%qs wordt gedeclareerd als een array van functies" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, fuzzy, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, fuzzy, gcc-internal-format + msgid "concept %q#D declared with function parameters" + msgstr "%J%qD als niet-parameter gedeclareerd" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, fuzzy, gcc-internal-format + msgid "concept %q#D declared with a deduced return type" + msgstr "%Jparameter %qD als void gedeclareerd" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, gcc-internal-format + msgid "concept %q#D with non-% return type %qT" + msgstr "" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, fuzzy, gcc-internal-format + msgid "concept %qD has no definition" + msgstr "%Jfunctiedefinitie in oude stijl" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, fuzzy, gcc-internal-format + #| msgid "function return type cannot be function" + msgid "a function concept cannot be constrained" + msgstr "de terugkeerwaarde van een functie kan geen funtie zijn" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, fuzzy, gcc-internal-format + msgid "constraints on a non-templated function" + msgstr "%qs is meestal een functie" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, fuzzy, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "POS mag niet opgegeven worden voor een lijst van veld-declaraties" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, fuzzy, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "ongeldig gebruik van een void-expressie" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, fuzzy, gcc-internal-format + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "de zwakke declaratie van %qs moet aan de definitie voorafgaan" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "parameter %qs wijst naar een onvolledig type" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be %qs" + msgstr "parameter %qs wijst naar een onvolledig type" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "parameter %qs wijst naar een onvolledig type" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, fuzzy, gcc-internal-format + msgid "static member function %qD cannot have cv-qualifier" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, fuzzy, gcc-internal-format + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, fuzzy, gcc-internal-format + msgid "static member function %qD cannot have ref-qualifier" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, fuzzy, gcc-internal-format + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, gcc-internal-format + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, gcc-internal-format + msgid "deduction guide %qD must have the same access as %qT" + msgstr "" + +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, fuzzy, gcc-internal-format + msgid "deduction guide %qD must not have a function body" + msgstr "%qs wordt gedeclareerd als een array van functies" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, fuzzy, gcc-internal-format + msgid "literal operator with C linkage" + msgstr "conflicterende declaraties van %qs" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, fuzzy, gcc-internal-format + msgid "%qD has invalid argument list" + msgstr "Ongeldige optie %qs" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, gcc-internal-format + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, fuzzy, gcc-internal-format + msgid "%qD must be a non-member function" + msgstr "% is niet beschikbaar in static member-funties" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, gcc-internal-format + msgid "%<::main%> must return %" + msgstr "" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, fuzzy, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "functie-definitie als % gedeclareerd" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, fuzzy, gcc-internal-format + msgid "definition of explicitly-defaulted %q+D" + msgstr "functie-definitie als % gedeclareerd" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, fuzzy, gcc-internal-format + msgid "%q#D explicitly defaulted here" + msgstr "%qs tevoren hier gedefinieerd" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, fuzzy, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, fuzzy, gcc-internal-format + msgid "cannot declare %<::main%> to be a global variable" + msgstr "parameter %qs wijst naar een onvolledig type" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, fuzzy, gcc-internal-format + msgid "a non-template variable cannot be %" + msgstr "statische variable %qs is als dllimport aangeduid" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, fuzzy, gcc-internal-format + msgid "concept must be defined at namespace scope" + msgstr "de declaratie van %qs is % en heeft een beginwaarde" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, fuzzy, gcc-internal-format + msgid "a variable concept cannot be constrained" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, fuzzy, gcc-internal-format + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "(dicht bij initialisatie van %qs)" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, fuzzy, gcc-internal-format + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "(dicht bij initialisatie van %qs)" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, fuzzy, gcc-internal-format + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "(dicht bij initialisatie van %qs)" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "(dicht bij initialisatie van %qs)" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "(dicht bij initialisatie van %qs)" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, fuzzy, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "grootte van array %qs is van een niet-integraal type" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, fuzzy, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "grootte van array %qs is van een niet-integraal type" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, fuzzy, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "grootte van array %qs is van een niet-integraal type" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, fuzzy, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "ongeldig gebruik van een void-expressie" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "ISO C++ verbiedt array %qs met lengte 0" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "ISO C++ verbiedt array %qs met lengte 0" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids variable length array %qD" + msgstr "ISO C++ verbiedt array %qs van variabele lengte" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids variable length array" + msgstr "ISO C++ verbiedt array %qs van variabele lengte" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, gcc-internal-format + msgid "%qD declared as array of template placeholder type %qT" + msgstr "" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, fuzzy, gcc-internal-format + msgid "creating array of template placeholder type %qT" + msgstr "herhaald lid %qs" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as array of void" + msgstr "%qs wordt gedeclareerd als een array van voids" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, fuzzy, gcc-internal-format + msgid "creating array of void" + msgstr "doorgeven van argument %d van %qs" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as array of functions" + msgstr "%qs wordt gedeclareerd als een array van functies" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, fuzzy, gcc-internal-format + msgid "creating array of functions" + msgstr "doorgeven van argument %d van %qs" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as array of references" + msgstr "%qs wordt gedeclareerd als een array van functies" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, fuzzy, gcc-internal-format + msgid "creating array of references" + msgstr "doorgeven van argument %d van %qs" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as array of function members" + msgstr "%qs wordt gedeclareerd als een array van functies" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, fuzzy, gcc-internal-format + msgid "creating array of function members" + msgstr "%qs wordt gedeclareerd als een array van functies" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, fuzzy, gcc-internal-format + msgid "variable-length array of %" + msgstr "ISO C90 verbiedt array %qs van variabele grootte" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on constructor declaration" + msgstr "globale registervariabele volgt op een functiedefinitie" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on destructor declaration" + msgstr "globale registervariabele volgt op een functiedefinitie" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, fuzzy, gcc-internal-format + msgid "return type specified for %" + msgstr "registernaam niet opgegeven voor %qs" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, fuzzy, gcc-internal-format + msgid "return type specified for deduction guide" + msgstr "registernaam niet opgegeven voor %qs" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "globale registervariabele volgt op een functiedefinitie" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, fuzzy, gcc-internal-format + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "meerdere opslagklassen in declaratie van %qs" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, fuzzy, gcc-internal-format + msgid "% in declaration of deduction guide" + msgstr "conflicterende declaraties van %qs" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, fuzzy, gcc-internal-format + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "POS mag niet opgegeven worden voor een lijst van veld-declaraties" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, gcc-internal-format + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, fuzzy, gcc-internal-format + msgid "% cannot be cv-qualified" + msgstr "structure heeft geen lid dat %qs heet" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "ongeldig gebruik van %" + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "ongeldig gebruik van het niet gedefinieerde type %<%s %s%>" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "ongeldig gebruik van het niet gedefinieerde type %<%s %s%>" + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, fuzzy, gcc-internal-format + msgid "%q#T is not a class or namespace" + msgstr "%qs is geen iterator" + +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, fuzzy, gcc-internal-format + msgid "declaration of %qE as non-function" + msgstr "%qs wordt gedeclareerd als een array van functies" + +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, fuzzy, gcc-internal-format + msgid "declaration of %qE as non-member" + msgstr "%qs wordt gedeclareerd als een array van functies" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, fuzzy, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "functie-definitie als % gedeclareerd" + +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "%qs wordt gedeclareerd als een array van functies" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as %" + msgstr "herdeclaratie van %qs" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as parameter" + msgstr "de declaratie van %qs verbergt een parameter" + +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, gcc-internal-format + msgid "both %qs and %qs specified" + msgstr "" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, fuzzy, gcc-internal-format + msgid "%qs cannot appear in a typedef declaration" + msgstr "%qs staat niet aan het begin van een declaratie" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, fuzzy, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "twee of meer data types in de declaratie van %qs" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support plain % meaning %" + msgid "ISO C++ does not support plain % meaning %" + msgstr "ISO C ondersteunt gewone % niet in de betekenis van %" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "ISO C++ verbiedt lid-declaraties zonder leden" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, fuzzy, gcc-internal-format + msgid "%<__int%d%> is not supported by this target" + msgstr "__builtin_saveregs wordt niet ondersteund door dit doelsysteem" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, fuzzy, gcc-internal-format + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "ISO C++ ondersteunt % niet" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, fuzzy, gcc-internal-format + msgid "% and % specified together" + msgstr "zowel 'signed' als 'unsigned' opgegeven voor %qs" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, fuzzy, gcc-internal-format + msgid "% and % specified together" + msgstr "zowel 'long' als 'short' opgegeven voor %qs" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %qT" + msgstr "%<__thread%> samen met %s gebruikt" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %qD" + msgstr "%<__thread%> samen met %s gebruikt" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %" + msgstr "%<__thread%> samen met % gebruikt" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, fuzzy, gcc-internal-format + msgid "%qs specified with %" + msgstr "%<__thread%> samen met % gebruikt" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, fuzzy, gcc-internal-format + msgid "complex invalid for %qs" + msgstr "'complex' ongeldig voor %qs" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, fuzzy, gcc-internal-format + msgid "member %qD cannot be declared both % and %" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, fuzzy, gcc-internal-format + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, fuzzy, gcc-internal-format + msgid "storage class specified for template parameter %qs" + msgstr "opslagklasse opgegeven voor parameter %qs" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "opslagklasse opgegeven voor parameter %qs" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, fuzzy, gcc-internal-format + msgid "a parameter cannot be declared %qs" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, fuzzy, gcc-internal-format + msgid "% outside class declaration" + msgstr "POS mag niet opgegeven worden voor een lijst van veld-declaraties" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, fuzzy, gcc-internal-format + msgid "structured binding declaration cannot be %qs" + msgstr "eerdere declaratie van %qs" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, gcc-internal-format + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, gcc-internal-format + msgid "%-qualified structured binding is deprecated" + msgstr "" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, gcc-internal-format + msgid "structured binding declaration cannot be C++98 %" + msgstr "" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, fuzzy, gcc-internal-format + msgid "structured binding declaration cannot have type %qT" + msgstr "eerdere declaratie van %qs" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, gcc-internal-format + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, fuzzy, gcc-internal-format + msgid "multiple storage classes in declaration of %qs" + msgstr "meerdere opslagklassen in declaratie van %qs" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, fuzzy, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "opslagklasse opgegeven voor parameter %qs" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, fuzzy, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "top-level declaratie van %qs specifieert %" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, gcc-internal-format + msgid "attribute ignored" + msgstr "attribuut wordt genegeerd" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, fuzzy, gcc-internal-format + msgid "unnecessary parentheses in declaration of %qs" + msgstr "meerdere opslagklassen in declaratie van %qs" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, gcc-internal-format + msgid "remove parentheses" + msgstr "" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, gcc-internal-format + msgid "requires-clause on return type" + msgstr "" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, gcc-internal-format + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, fuzzy, gcc-internal-format + msgid "virtual function cannot have deduced return type" + msgstr "functiedefinitie heeft een gekwalificeerde % als teruggeeftype" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, gcc-internal-format + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, fuzzy, gcc-internal-format + msgid "invalid use of %" + msgstr "ongeldig gebruik van %" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, fuzzy, gcc-internal-format + #| msgid "type qualifiers ignored on function return type" + msgid "deduced class type %qD in function return type" + msgstr "typekwalificaties op teruggeeftypes van functies worden genegeerd" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, gcc-internal-format + msgid "deduction guide for %qT must have trailing return type" + msgstr "" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, gcc-internal-format + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, fuzzy, gcc-internal-format + msgid "a conversion function cannot have a trailing return type" + msgstr "functiedefinitie heeft een gekwalificeerde % als teruggeeftype" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, gcc-internal-format + msgid "%-qualified return type is deprecated" + msgstr "" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, gcc-internal-format + msgid "%qs declared as function returning a function" + msgstr "%qs gedeclareerd als een functie die een functie teruggeeft" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "%qs gedeclareerd als een functie die een array teruggeeft" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, fuzzy, gcc-internal-format + #| msgid "% function returns non-void value" + msgid "% on function return type is not allowed" + msgstr "% functie geeft niet-void waarde terug" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, fuzzy, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "% is niet beschikbaar in static member-funties" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, fuzzy, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "structure heeft geen lid dat %qs heet" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, fuzzy, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "structure heeft geen lid dat %qs heet" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, fuzzy, gcc-internal-format + msgid "destructors may not be ref-qualified" + msgstr "structure heeft geen lid dat %qs heet" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, fuzzy, gcc-internal-format + msgid "constructors may not be ref-qualified" + msgstr "structure heeft geen lid dat %qs heet" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, fuzzy, gcc-internal-format + msgid "constructors cannot be declared %" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, fuzzy, gcc-internal-format + msgid "cannot define friend function %qs in a local class definition" + msgstr "globale registervariabele volgt op een functiedefinitie" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "parameter %qs wijst naar een onvolledig type" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, fuzzy, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "kan niet derefereren, is geen pointer." + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "parameter %qs wijst naar een onvolledig type" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, fuzzy, gcc-internal-format + msgid "cannot declare reference to qualified function type %qT" + msgstr "kan niet derefereren, is geen pointer." + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to qualified function type %qT" + msgstr "parameter %qs wijst naar een onvolledig type" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, fuzzy, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "parameter %qs heeft enkel een voorwaartse declaratie" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, fuzzy, gcc-internal-format + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "kan niet derefereren, is geen pointer." + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, fuzzy, gcc-internal-format + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "kan niet derefereren, is geen pointer." + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, fuzzy, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "kan niet derefereren, is geen pointer." + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, fuzzy, gcc-internal-format + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, fuzzy, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "argument %d is alleen-lezen" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, fuzzy, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "argument %d is alleen-lezen" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, fuzzy, gcc-internal-format + msgid "% outside class declaration" + msgstr "POS mag niet opgegeven worden voor een lijst van veld-declaraties" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, fuzzy, gcc-internal-format + #| msgid "% in empty declaration" + msgid "% in friend declaration" + msgstr "% bij lege declaratie" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, gcc-internal-format + msgid "only declarations of constructors and conversion operators can be %" + msgstr "" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, fuzzy, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, fuzzy, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, fuzzy, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, fuzzy, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, fuzzy, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, fuzzy, gcc-internal-format + msgid "reference %qs cannot be declared %" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, fuzzy, gcc-internal-format + msgid "typedef may not be a function definition" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, fuzzy, gcc-internal-format + msgid "typedef may not be a member function definition" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, fuzzy, gcc-internal-format + msgid "% not allowed in alias declaration" + msgstr "%qs staat niet aan het begin van een declaratie" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, fuzzy, gcc-internal-format + msgid "typedef declared %" + msgstr "%Jtypedef %qD als % gedeclareerd" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, gcc-internal-format + msgid "typedef name may not be a nested-name-specifier" + msgstr "" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, fuzzy, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "POS mag niet opgegeven worden voor een lijst van veld-declaraties" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, fuzzy, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "niet-beëindigde parameterlijst in %<#define%>" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, fuzzy, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "%s laat qualifiers van doeltype van pointer vallen" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, fuzzy, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "de declaratie van %qs verbergt een globale declaratie" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, fuzzy, gcc-internal-format + msgid "requires-clause on declaration of non-function type %qT" + msgstr "dubbele beginwaarde" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, fuzzy, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "attributen genegeerd in declarator van parameter-array" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, fuzzy, gcc-internal-format + msgid "cannot declare a parameter with %" + msgstr "cast geeft functie-type op" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, fuzzy, gcc-internal-format + msgid "% parameter not permitted in this context" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, fuzzy, gcc-internal-format + msgid "parameter declared %" + msgstr "%Jparameter %qD als % gedeclareerd" + +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, fuzzy, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "ongeldig gebruik van een void-expressie" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, fuzzy, gcc-internal-format + msgid "non-static data member declared with placeholder %qT" + msgstr "variabele %qs als inline gedeclareerd" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids flexible array member %qs" + msgstr "ISO C++ verbiedt array %qs met lengte 0" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 does not support flexible array members" + msgid "ISO C++ forbids flexible array members" + msgstr "ISO C90 ondersteunt geen flexibele array-leden" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, fuzzy, gcc-internal-format + msgid "invalid use of %<::%>" + msgstr "ongeldig gebruik van %" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, fuzzy, gcc-internal-format + msgid "declaration of function %qD in invalid context" + msgstr "impliciete declaratie van functie %qs" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, fuzzy, gcc-internal-format + msgid "function %qD declared % inside a union" + msgstr "veld %qs als een functie gedeclareerd" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, fuzzy, gcc-internal-format + msgid "%qD cannot be declared %, since it is always static" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, fuzzy, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "eerdere impliciete declaratie van `%s'" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as member of %qT" + msgstr "de declaratie van %qs verbergt een parameter" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, fuzzy, gcc-internal-format + msgid "a destructor cannot be %qs" + msgstr "In functie %qs" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, fuzzy, gcc-internal-format + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "eerdere impliciete declaratie van `%s'" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, fuzzy, gcc-internal-format + msgid "a constructor cannot be %" + msgstr "% is niet beschikbaar in static member-funties" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, fuzzy, gcc-internal-format + msgid "a concept cannot be a member function" + msgstr "% is niet beschikbaar in static member-funties" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, fuzzy, gcc-internal-format + msgid "%qD cannot be %qs" + msgstr "open %s" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, fuzzy, gcc-internal-format + msgid "specialization of variable template %qD declared as function" + msgstr "herdeclaratie van %" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, fuzzy, gcc-internal-format + msgid "variable template declared here" + msgstr "variabele of veld %qs als void gedeclareerd" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, fuzzy, gcc-internal-format + msgid "field %qD has incomplete type %qT" + msgstr "veld %qs heeft een onvolledig type" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, fuzzy, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "parameter %qs heeft een onvolledig type" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, fuzzy, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "%qs mag niet als alleen-lezen gedeclareerd worden" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, fuzzy, gcc-internal-format + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "%qs mag niet als alleen-lezen gedeclareerd worden" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, gcc-internal-format + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "" + +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, fuzzy, gcc-internal-format + msgid "static data member %qE declared %qs" + msgstr "variabele %qs als inline gedeclareerd" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, fuzzy, gcc-internal-format + msgid "% static data member %qD must have an initializer" + msgstr "%qs is geen static veld" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, fuzzy, gcc-internal-format + msgid "non-static data member %qE declared %qs" + msgstr "variabele %qs als inline gedeclareerd" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, fuzzy, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "ongeldige opslagklasse voor functie %qs" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, fuzzy, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "ongeldige opslagklasse voor functie %qs" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, fuzzy, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "ongeldige opslagklasse voor functie %qs" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, fuzzy, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "ongeldige opslagklasse voor functie %qs" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, fuzzy, gcc-internal-format + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "globale registervariabele volgt op een functiedefinitie" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, fuzzy, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "ongeldige opslagklasse voor functie %qs" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, fuzzy, gcc-internal-format + msgid "%qs declared in a non-class scope" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, fuzzy, gcc-internal-format + msgid "static member %qD declared %" + msgstr "variabele %qs als inline gedeclareerd" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, fuzzy, gcc-internal-format + msgid "declaration of % variable %qD is not a definition" + msgstr "de zwakke declaratie van %qs moet aan de definitie voorafgaan" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, fuzzy, gcc-internal-format + msgid "a variable cannot be declared %" + msgstr "geneste functie %qs is als % gedeclareerd" + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "%qs krijgt beginwaarde en is als % gedeclareerd" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "%qs heeft zowel % als een beginwaarde" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, fuzzy, gcc-internal-format + msgid "default argument %qE uses %qD" + msgstr "ongeldig type-argument %qs" + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, fuzzy, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "ongeldig type-argument %qs" + + # Of is 'verbiedt parameterdeclaraties op voorhand' beter? +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, fuzzy, gcc-internal-format + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "ISO C verbiedt voorwaartse declaraties van parameters" + +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, fuzzy, gcc-internal-format + msgid "invalid use of type % in parameter declaration" + msgstr "attributen genegeerd in declarator van parameter-array" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, gcc-internal-format + msgid "%-qualified parameter is deprecated" + msgstr "" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, fuzzy, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "parameter %qs als void gedeclareerd" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, fuzzy, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, fuzzy, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, fuzzy, gcc-internal-format + msgid "%qD must be a non-static member function" + msgstr "% is niet beschikbaar in static member-funties" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, fuzzy, gcc-internal-format + msgid "%qD must be a member function" + msgstr "% is niet beschikbaar in static member-funties" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, gcc-internal-format + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, fuzzy, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "% is niet beschikbaar in static member-funties" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, gcc-internal-format + msgid "ISO C++ prohibits overloading %" + msgstr "" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, fuzzy, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "%qs neemt ofwel geen, ofwel twee argumenten" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, fuzzy, gcc-internal-format + msgid "%qD must have either zero or one argument" + msgstr "%qs neemt ofwel geen, ofwel twee argumenten" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, fuzzy, gcc-internal-format + msgid "%qD must have either one or two arguments" + msgstr "%qs neemt ofwel geen, ofwel twee argumenten" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, fuzzy, gcc-internal-format + msgid "postfix %qD must have % as its argument" + msgstr "%qs neemt ofwel geen, ofwel twee argumenten" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, fuzzy, gcc-internal-format + msgid "postfix %qD must have % as its second argument" + msgstr "%qs neemt ofwel geen, ofwel twee argumenten" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, fuzzy, gcc-internal-format + msgid "%qD must have no arguments" + msgstr "%qs neemt ofwel geen, ofwel twee argumenten" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, fuzzy, gcc-internal-format + msgid "%qD must have exactly one argument" + msgstr "%qs neemt ofwel geen, ofwel twee argumenten" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, fuzzy, gcc-internal-format + msgid "%qD must have exactly two arguments" + msgstr "%qs neemt ofwel geen, ofwel twee argumenten" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, fuzzy, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "%qs neemt ofwel geen, ofwel twee argumenten" + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, fuzzy, gcc-internal-format + msgid "converting %qT to % will never use a type conversion operator" + msgstr "%s laat qualifiers van doeltype van pointer vallen" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, gcc-internal-format + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, gcc-internal-format + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, gcc-internal-format + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, gcc-internal-format + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "" + +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "" + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "" + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "" + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, fuzzy, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "beginwaarde ontbreekt" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, fuzzy, gcc-internal-format + msgid "%qD has a previous declaration here" + msgstr "dit is een eerdere declaratie" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, fuzzy, gcc-internal-format + msgid "%qT has a previous declaration here" + msgstr "dit is een eerdere declaratie" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "" +@@ -55764,110 +55754,110 @@ msgstr "" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, fuzzy, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "meerdere parameters hebben de naam %qs" + +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, fuzzy, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "grootte van %qs is %u bytes" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, fuzzy, gcc-internal-format + msgid "class template %qD redeclared as non-template" + msgstr "parameter %qs heeft enkel een voorwaartse declaratie" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, fuzzy, gcc-internal-format + msgid "%qT is not a template" + msgstr "%qs is geen iterator" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, fuzzy, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "sectie van %qs geeft een conflict met een eerdere declaratie" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, fuzzy, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "ingebouwde functie %qs als niet-functie gedeclareerd" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, fuzzy, gcc-internal-format + msgid "cannot declare %qD in a different module" + msgstr "cast geeft functie-type op" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, fuzzy, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "overtollige elementen in beginwaarde van union" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, fuzzy, gcc-internal-format + msgid "%qT defined with direct virtual base" + msgstr "%qs is geen bestand, pipe of tty" + +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, fuzzy, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "%qs is geen typedef of ingebouwd type" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, fuzzy, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "herhaalde case-waarde" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, fuzzy, gcc-internal-format + msgid "previous definition here" + msgstr "eerdere definitie van %qs" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, fuzzy, gcc-internal-format + msgid "cannot define %qD in different module" + msgstr "de declaratie van %qs is % en heeft een beginwaarde" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, fuzzy, gcc-internal-format + msgid "underlying type %qT of %qT must be an integral type" + msgstr "grootte van array %qs is van een niet-integer type" +@@ -55876,83 +55866,83 @@ msgstr "grootte van array %qs is van een niet-integer type" + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, fuzzy, gcc-internal-format + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "enumeratiewaarde voor %qE is geen integerconstante" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, fuzzy, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "enumeratiewaarde voor %qE is geen integerconstante" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, fuzzy, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "ISO C beperkt enumeratiewaarden tot het bereik van het % type" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, fuzzy, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "ISO C beperkt enumeratiewaarden tot het bereik van het % type" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, fuzzy, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "overflow in enumeratiewaarden" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value for %qE is not an integer constant" + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "enumeratiewaarde voor %qE is geen integerconstante" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, fuzzy, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "herdefinitie van %qs" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, fuzzy, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "type van teruggeefwaarde is onvolledig" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, fuzzy, gcc-internal-format + msgid "no return statements in function returning %qT" + msgstr "% zonder waarde in een functie die een niet-void waarde teruggeeft" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, fuzzy, gcc-internal-format + msgid "only plain % return type can be deduced to %" + msgstr "de terugkeerwaarde van een functie kan geen funtie zijn" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, fuzzy, gcc-internal-format + msgid "no return statement in % function returning non-void" + msgstr "% zonder waarde in een functie die een niet-void waarde teruggeeft" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, fuzzy, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "kan klasse '%s' niet vinden" + +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, fuzzy, gcc-internal-format + msgid "using %qs" + msgstr "%J%s %<%c%s%>" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "" +@@ -56803,7 +56793,7 @@ msgstr "%qs is geen bestand, pipe of tty" + msgid "type %qT is not a direct base of %qT" + msgstr "%qs is geen bestand, pipe of tty" + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "" +@@ -57869,7 +57859,7 @@ msgstr "" + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, fuzzy, gcc-internal-format + msgid "%qT is not a class, namespace, or enumeration" + msgstr "%qs is geen iterator" +@@ -58616,7 +58606,7 @@ msgstr "types in voorwaardelijke expressie komen niet overeen" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "te weinig argumenten voor functie %" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, fuzzy, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_launder%>" + msgstr "te weinig argumenten voor functie %" +@@ -59327,12 +59317,12 @@ msgstr "" + msgid "cannot expand initializer for member %qD" + msgstr "ongeldige beginwaarde voor member %qs" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, fuzzy, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "%Jdeclaratie van %qD als static volgt declaratie als niet-static" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "" +@@ -59936,7 +59926,7 @@ msgstr "eerste argument van %qs zou een % moeten zijn" + msgid "%qT not permitted in template argument" + msgstr "%qs is geen iterator" + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, fuzzy, gcc-internal-format + msgid "invalid use of %qT" +@@ -60798,7 +60788,7 @@ msgstr "" + msgid "% clause with parameter on range-based % loop" + msgstr "" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, fuzzy, gcc-internal-format + msgid "iteration variable %qD should not be reduction" + msgstr "registervariabele %qs gebruikt in geneste functie" +@@ -61811,7 +61801,7 @@ msgstr "parameter %qs heeft enkel een voorwaartse declaratie" + msgid "for template declaration %q+D" + msgstr "lege declaratie" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, fuzzy, gcc-internal-format + msgid "template constraint failure for %qD" + msgstr "herdeclaratie van %qs" +@@ -61906,280 +61896,280 @@ msgstr "%qs gedeclareerd als een functie die een array teruggeeft" + msgid "function returning a function" + msgstr "%qs gedeclareerd als een functie die een functie teruggeeft" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, gcc-internal-format + msgid "forming reference to void" + msgstr "" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, fuzzy, gcc-internal-format + msgid "forming pointer to reference type %qT" + msgstr "herhaald lid %qs" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, fuzzy, gcc-internal-format + msgid "forming reference to reference type %qT" + msgstr "herhaald lid %qs" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, fuzzy, gcc-internal-format + msgid "forming pointer to qualified function type %qT" + msgstr "%s laat qualifiers van doeltype van pointer vallen" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, fuzzy, gcc-internal-format + msgid "forming reference to qualified function type %qT" + msgstr "%s laat qualifiers van doeltype van pointer vallen" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, fuzzy, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr "herhaald lid %qs" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, fuzzy, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr "herhaald lid %qs" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, fuzzy, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr "herhaald lid %qs" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, fuzzy, gcc-internal-format + msgid "creating array of %qT" + msgstr "doorgeven van argument %d van %qs" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, fuzzy, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "%qs is geen bestand, pipe of tty" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, fuzzy, gcc-internal-format + msgid "%qT resolves to %qT, which is not a class type" + msgstr "%qs is smaller dan waarden van zijn type" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, fuzzy, gcc-internal-format + msgid "use of %qs in template" + msgstr "%qs is geen iterator" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, fuzzy, gcc-internal-format + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "argument %qs komt niet overeen met prototype" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, fuzzy, gcc-internal-format + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "beginwaarde-element is niet constant" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, fuzzy, gcc-internal-format + msgid "using invalid field %qD" + msgstr "ontbrekende witruimte na getal %qs" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, fuzzy, gcc-internal-format + msgid "invalid use of pack expansion expression" + msgstr "ongeldig gebruik van een void-expressie" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, gcc-internal-format + msgid "use %<...%> to expand argument pack" + msgstr "" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, gcc-internal-format + msgid "empty initializer in lambda init-capture" + msgstr "" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, fuzzy, gcc-internal-format + msgid "use %<%T::%D%> instead" + msgstr "%qs is geen iterator" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, fuzzy, gcc-internal-format + msgid "%qD declared here, later in the translation unit" + msgstr "%J%qD als inline gedeclareerd na zijn definitie" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, fuzzy, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "te weinig argumenten voor functie %" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for %qE attribute" + msgid "wrong number of arguments to % attribute" + msgstr "verkeerd aantal argumenten opgegeven voor attribuut %qE" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, fuzzy, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "%qs is geen iterator" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, fuzzy, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "%qs is geen iterator" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, fuzzy, gcc-internal-format + msgid "%qT is/uses unnamed type" + msgstr "%qs is smaller dan waarden van zijn type" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, fuzzy, gcc-internal-format + msgid "template argument for %qD uses local type %qT" + msgstr "eerste argument van %qs zou een % moeten zijn" + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, fuzzy, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "argument %d is alleen-lezen" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, fuzzy, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "beginwaarde-element is niet constant" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr "" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, fuzzy, gcc-internal-format + msgid "ambiguous template instantiation for %q#T" + msgstr "herhaalde definitie %qs" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, fuzzy, gcc-internal-format + msgid "ambiguous template instantiation for %q#D" + msgstr "herhaalde definitie %qs" + + # XXX FIXME: useless gettextization +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + #, fuzzy + #| msgid "%s %qs" + msgid "%s %#qS" + msgstr "%s %qs" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "impliciete declaratie van functie %qs" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of variable concept %q#D" + msgstr "impliciete declaratie van functie %qs" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of function concept %q#D" + msgstr "impliciete declaratie van functie %qs" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, fuzzy, gcc-internal-format + msgid "%qD is not a static data member of a class template" + msgstr "%qs is geen static veld" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, fuzzy, gcc-internal-format + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "impliciete declaratie van functie %qs" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "eerdere impliciete declaratie van %qs" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, fuzzy, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "herhaalde definitie %qs" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, fuzzy, gcc-internal-format + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "pointer naar functie gebruikt in aftrekking" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, fuzzy, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "herhaalde definitie %qs" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-class template %qD" + msgstr "impliciete declaratie van functie %qs" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "impliciete declaratie van functie %qs" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "impliciete declaratie van functie %qs" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "pointer naar functie gebruikt in aftrekking" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, fuzzy, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "herhaalde definitie %qs" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, fuzzy, gcc-internal-format + msgid "exception specification of %qD depends on itself" + msgstr "impliciete declaratie van functie %qs" +@@ -62191,165 +62181,165 @@ msgstr "impliciete declaratie van functie %qs" + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, fuzzy, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "eerdere impliciete declaratie van %qs" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, gcc-internal-format + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, gcc-internal-format + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, fuzzy, gcc-internal-format + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "%qs is geen iterator" + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, gcc-internal-format + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, gcc-internal-format + msgid "invalid template non-type parameter" + msgstr "" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, fuzzy, gcc-internal-format + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "%qs is geen iterator" + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, fuzzy, gcc-internal-format + msgid "keyword % not allowed in declarator-id" + msgstr "%qs staat niet aan het begin van een declaratie" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, fuzzy, gcc-internal-format + msgid "a concept cannot be constrained" + msgstr "niet-beëindigde parameterlijst in %<#define%>" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, fuzzy, gcc-internal-format + msgid "concept %qE not in namespace scope" + msgstr "%qs is geen iterator" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, fuzzy, gcc-internal-format + msgid "concept %qE has multiple template parameter lists" + msgstr "de declaratie van %qs verbergt een symbool uit de parameterlijst" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, gcc-internal-format + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "" + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, fuzzy, gcc-internal-format + msgid "non-deducible template %qT used without template arguments" + msgstr "macro %qs gebruikt zonder argumenten" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, gcc-internal-format + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, fuzzy, gcc-internal-format + msgid "use %qD directly instead" + msgstr "%qs is geen iterator" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, fuzzy, gcc-internal-format + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "%qs is geen iterator" + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, fuzzy, gcc-internal-format + msgid "class template argument deduction failed:" + msgstr "argument %d is alleen-lezen" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, fuzzy, gcc-internal-format + #| msgid "function not considered for inlining" + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "functie wordt niet als kandidaat voor inlining beschouwd" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, gcc-internal-format + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr "" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, fuzzy, gcc-internal-format + msgid "explicit deduction guide declared here" + msgstr "%Jeerder hier gebruikt" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, gcc-internal-format + msgid "%qT may not intend to support class template argument deduction" + msgstr "" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, fuzzy, gcc-internal-format + msgid "unable to deduce lambda return type from %qE" + msgstr "ongeldige registernaam voor %qs" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, fuzzy, gcc-internal-format + msgid "unable to deduce %qT from %qE" + msgstr "kan %qs niet nabootsen" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, fuzzy, gcc-internal-format + #| msgid "initializer element is not constant" + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "beginwaarde-element is niet constant" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, gcc-internal-format + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, gcc-internal-format + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "" + +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, fuzzy, gcc-internal-format + msgid "invalid use of %qT in template argument" + msgstr "ongeldig type-argument %qs" +@@ -62662,7 +62652,7 @@ msgstr "ongeldige linker operand van %s" + msgid "cannot capture member %qD of anonymous union" + msgstr "% is niet beschikbaar in static member-funties" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, fuzzy, gcc-internal-format + msgid "%qD is not captured" + msgstr "%qs is geen iterator" +@@ -63074,27 +63064,27 @@ msgstr "%<__builtin_next_arg%> opgeroepen zonder argument" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, fuzzy, gcc-internal-format + msgid "%qD is not a class or alias template" + msgstr "%qs is geen iterator" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, fuzzy, gcc-internal-format + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "linker operand van comma-expressie heeft geen effect" + +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, fuzzy, gcc-internal-format + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "argument %d is alleen-lezen" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, fuzzy, gcc-internal-format + #| msgid "unsupported argument to %<__builtin_return_address%>" + msgid "non-pointer argument to %<__builtin_launder%>" +@@ -63103,22 +63093,22 @@ msgstr "niet-ondersteund argument voor %<__builtin_return_address%>" + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "" +@@ -64383,224 +64373,224 @@ msgstr "herdeclaratie van %qs" + msgid "declaration of %q#T" + msgstr "herdeclaratie van %qs" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, fuzzy, gcc-internal-format + msgid "%qD has incomplete type" + msgstr "%qs heeft een onvolledig type" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, fuzzy, gcc-internal-format + msgid "invalid use of incomplete type %q#T" + msgstr "ongeldig gebruik van onvolledige typedef %qs" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, fuzzy, gcc-internal-format + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "% is niet beschikbaar in static member-funties" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, fuzzy, gcc-internal-format + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "% is niet beschikbaar in static member-funties" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, fuzzy, gcc-internal-format + msgid "invalid use of placeholder %qT" + msgstr "ongeldig gebruik van %" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, fuzzy, gcc-internal-format + msgid "invalid use of template type parameter %qT" + msgstr "ongeldig gebruik van onvolledige typedef %qs" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, fuzzy, gcc-internal-format + msgid "invalid use of template template parameter %qT" + msgstr "meerdere parameters hebben de naam %qs" + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, fuzzy, gcc-internal-format + msgid "invalid use of pack expansion %qT" + msgstr "ongeldig gebruik van een void-expressie" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, fuzzy, gcc-internal-format + msgid "invalid use of dependent type %qT" + msgstr "ongeldig gebruik van onvolledige typedef %qs" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, fuzzy, gcc-internal-format + msgid "invalid use of brace-enclosed initializer list" + msgstr "ongeldig gebruik van %" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, fuzzy, gcc-internal-format + msgid "% variable %qD does not have a constant initializer" + msgstr "%qs is geen static veld" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + #, fuzzy + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "ongeldige registernaam voor %qs" + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + #, fuzzy + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "ongeldige registernaam voor %qs" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, fuzzy, gcc-internal-format + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr "ongeldig gebruik van een void-expressie" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, fuzzy, gcc-internal-format + #| msgid "initializer-string for array of chars is too long" + msgid "initializer-string for %qT is too long" + msgstr "beginwaarde-string voor array van chars is te lang" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, fuzzy, gcc-internal-format + #| msgid "braces around scalar initializer" + msgid "remove %<{ }%> around initializer" + msgstr "accolades rond scalaire beginwaarde" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, fuzzy, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "ongeldige beginwaarde voor member %qs" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, fuzzy, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "parameter %qs krijgt beginwaarde" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, fuzzy, gcc-internal-format + msgid "member %qD with uninitialized reference fields" + msgstr "parameter %qs krijgt beginwaarde" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, fuzzy, gcc-internal-format + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "niet-beëindigde parameterlijst in %<#define%>" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, fuzzy, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "onbekend veld %qs opgegeven in beginwaarde" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, fuzzy, gcc-internal-format + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "grootte van array %qs is van een niet-integraal type" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr "" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, fuzzy, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "grootte van array %qs is van een niet-integraal type" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, fuzzy, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "parameter %qs wijst naar een onvolledig type" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, fuzzy, gcc-internal-format + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "parameter %qs wijst naar een onvolledig type" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, fuzzy, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "pointer naar lid-functie gebruikt in rekensom" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, fuzzy, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "pointer naar lid-functie gebruikt in rekensom" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, fuzzy, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "pointer naar lid-functie gebruikt in rekensom" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, fuzzy, gcc-internal-format + msgid "functional cast to array type %qT" + msgstr "ongeldige opslagklasse voor functie %qs" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, gcc-internal-format + msgid "% cannot be constrained" + msgstr "" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, gcc-internal-format + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, fuzzy, gcc-internal-format + msgid "invalid value-initialization of reference type" + msgstr "dubbele beginwaarde" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, fuzzy, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "parameter %qs wijst naar een onvolledig type" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, fuzzy, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "parameter %qs wijst naar een onvolledig type" +@@ -65546,7 +65536,7 @@ msgstr "" + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Invalid use of BOZ literal constant at %L" + msgstr "%s voor %qs" +@@ -66722,12 +66712,12 @@ msgstr "" + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "Initialisatie op %C is niet voor een pointervariable" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "" +@@ -66912,7 +66902,7 @@ msgstr "" + msgid "deferred type parameter at %C" + msgstr "" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "" +@@ -68929,7 +68919,7 @@ msgstr "overflow in constante expressie" + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "ongeldige waarheidsexpressie" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, fuzzy, gcc-internal-format + msgid "Function %qs in initialization expression at %L must be an intrinsic function" + msgstr "ongeldige waarheidsexpressie" +@@ -69201,7 +69191,7 @@ msgstr "Te veel argumenten voor %s op %L" + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "doorgeven van argument %d van %qs" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, fuzzy, gcc-internal-format + msgid "Explicit interface required for %qs at %L: %s" + msgstr "doorgeven van argument %d van %qs" +@@ -69319,7 +69309,7 @@ msgstr "" + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must not be ALLOCATABLE" + msgstr "(dicht bij initialisatie van %qs)" +@@ -69329,7 +69319,7 @@ msgstr "(dicht bij initialisatie van %qs)" + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must have the SAVE attribute" + msgstr "(dicht bij initialisatie van %qs)" +@@ -69462,7 +69452,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Creating array temporary at %L" +@@ -69679,12 +69669,12 @@ msgstr "" + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "" +@@ -69794,562 +69784,562 @@ msgstr "Te veel argumenten voor %s op %L" + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Invalid procedure argument at %L" + msgstr "ongeldig type-argument %qs" + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, fuzzy, gcc-internal-format + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, fuzzy, gcc-internal-format + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een constante zijn" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "doorgeven van argument %d van %qs" + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, fuzzy, gcc-internal-format + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr "meerdere parameters hebben de naam %qs" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, fuzzy, gcc-internal-format + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, fuzzy, gcc-internal-format + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "functie-oproep heeft geaggregeerde waarde" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, fuzzy, gcc-internal-format + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "functie-oproep heeft geaggregeerde waarde" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, fuzzy, gcc-internal-format + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, fuzzy, gcc-internal-format + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, fuzzy, gcc-internal-format + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een constante zijn" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, gcc-internal-format + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, fuzzy, gcc-internal-format + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, fuzzy, gcc-internal-format + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, fuzzy, gcc-internal-format + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "doorgeven van argument %d van %qs" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, fuzzy, gcc-internal-format + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "doorgeven van argument %d van %qs" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, fuzzy, gcc-internal-format + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, fuzzy, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, fuzzy, gcc-internal-format + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, gcc-internal-format, gfc-internal-format + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, fuzzy, gcc-internal-format + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "ongeldige beginwaarde" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, gcc-internal-format + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, gcc-internal-format, gfc-internal-format + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, fuzzy, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "doorgeven van argument %d van %qs" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, fuzzy, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "doorgeven van argument %d van %qs" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, gcc-internal-format + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, fuzzy, gcc-internal-format + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "doorgeven van argument %d van %qs" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, fuzzy, gcc-internal-format + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "doorgeven van argument %d van %qs" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, fuzzy, gcc-internal-format + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "doorgeven van argument %d van %qs" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, fuzzy, gcc-internal-format + msgid "Expected a procedure for argument %qs at %L" + msgstr "doorgeven van argument %d van %qs" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, fuzzy, gcc-internal-format + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, gcc-internal-format + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, fuzzy, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, gcc-internal-format + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, gcc-internal-format + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, gcc-internal-format + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, fuzzy, gcc-internal-format + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, fuzzy, gcc-internal-format + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, gcc-internal-format + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, gcc-internal-format + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, gcc-internal-format + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, gcc-internal-format + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, fuzzy, gcc-internal-format + msgid "Missing actual argument for argument %qs at %L" + msgstr "doorgeven van argument %d van %qs" + +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr "" + +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, gcc-internal-format + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, fuzzy, gcc-internal-format + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, fuzzy, gcc-internal-format + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, fuzzy, gcc-internal-format + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, fuzzy, gcc-internal-format + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "doorgeven van argument %d van %qs" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, fuzzy, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, gcc-internal-format + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, gcc-internal-format + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "MOLD argument to NULL required at %L" + msgstr "Ontbrekende argumenten voor intrinsic %s op %L" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, fuzzy, gcc-internal-format + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, fuzzy, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "doorgeven van argument %d van %qs" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "" + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, fuzzy, gcc-internal-format + msgid "Unable to find symbol %qs" + msgstr "kan klasse '%s' niet vinden" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, fuzzy, gcc-internal-format + msgid "Entity %qs at %L is already present in the interface" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, gcc-internal-format + msgid "gfc_add_interface(): Bad interface type" + msgstr "" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, fuzzy, gcc-internal-format + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "kon 0x%l.8x niet naar een regio omzetten" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, gcc-internal-format + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, gcc-internal-format + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, gcc-internal-format + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, gcc-internal-format + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, gcc-internal-format + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, gcc-internal-format + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, gcc-internal-format + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, fuzzy, gcc-internal-format + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, gcc-internal-format + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, gcc-internal-format + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, fuzzy, gcc-internal-format + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, gcc-internal-format + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, gcc-internal-format + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, gcc-internal-format + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "%qs is geen bestand, pipe of tty" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO character argument at %L must have assumed length" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, fuzzy, gcc-internal-format + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, fuzzy, gcc-internal-format + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "te veel argumenten voor %s %q+#D" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, fuzzy, gcc-internal-format + msgid "Too many dummy arguments in DTIO procedure %qs at %L" + msgstr "te veel argumenten voor %s %q+#D" +@@ -70533,7 +70523,7 @@ msgstr "ongeldige registernaam voor %qs" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Cannot convert %s to %s at %L" + msgstr "kon 0x%l.8x niet naar een regio omzetten" +@@ -71088,7 +71078,7 @@ msgstr "" + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, gcc-internal-format + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" + msgstr "" +@@ -71657,7 +71647,7 @@ msgstr "" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "" + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "QUIET specifier at %L must be a scalar LOGICAL" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn" +@@ -73518,8 +73508,8 @@ msgstr "" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "" +@@ -75488,724 +75478,714 @@ msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn" + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:881 +-#, gcc-internal-format, gfc-internal-format +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "" +- +-#: fortran/resolve.cc:885 +-#, gcc-internal-format, gfc-internal-format +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, gcc-internal-format, gfc-internal-format + msgid "COMMON block at %L" + msgstr "" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, fuzzy, gcc-internal-format + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "overflow in constante expressie" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, fuzzy, gcc-internal-format + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "overflow in constante expressie" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, gcc-internal-format + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, fuzzy, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, fuzzy, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, fuzzy, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, fuzzy, gcc-internal-format + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "%qs is geen bestand, pipe of tty" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, gcc-internal-format + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, fuzzy, gcc-internal-format + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "%qs is meestal een functie" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, fuzzy, gcc-internal-format + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, fuzzy, gcc-internal-format + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "%qs is geen bestand, pipe of tty" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, fuzzy, gcc-internal-format + msgid "COMMON block %qs at %L that is also a function result" + msgstr "%qs is meestal een functie" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, fuzzy, gcc-internal-format + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "%qs is geen bestand, pipe of tty" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, gcc-internal-format, gfc-internal-format + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, gcc-internal-format + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, gcc-internal-format + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, fuzzy, gcc-internal-format + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "te veel argumenten voor %s %q+#D" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, fuzzy, gcc-internal-format + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "te veel argumenten voor %s %q+#D" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, gcc-internal-format + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, gcc-internal-format + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, gcc-internal-format + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, fuzzy, gcc-internal-format + msgid "%qs at %L is ambiguous" + msgstr "grootte van %qs is %u bytes" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, fuzzy, gcc-internal-format + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, gcc-internal-format + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, fuzzy, gcc-internal-format + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, gcc-internal-format + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "" + +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, gcc-internal-format + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "" + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, gcc-internal-format + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "naar label %s gerefereerd buiten enige functie" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, fuzzy, gcc-internal-format + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, fuzzy, gcc-internal-format + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, fuzzy, gcc-internal-format + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, fuzzy, gcc-internal-format + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, fuzzy, gcc-internal-format + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "fout in argumenten voor spec-functie '%s'" + +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, fuzzy, gcc-internal-format + msgid "Symbol %qs at %L is ambiguous" + msgstr "grootte van %qs is %u bytes" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not of numeric type" + msgstr "" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not allowed in this context" + msgstr "globale registervariabele volgt op een functiedefinitie" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, fuzzy, gcc-internal-format + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "de terugkeerwaarde van een functie kan geen funtie zijn" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, gcc-internal-format + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, gcc-internal-format + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, fuzzy, gcc-internal-format + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, fuzzy, gcc-internal-format + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, fuzzy, gcc-internal-format + msgid "There is no specific function for the generic %qs at %L" + msgstr "fout in argumenten voor spec-functie '%s'" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, fuzzy, gcc-internal-format + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "overflow in constante expressie" + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, gcc-internal-format + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, fuzzy, gcc-internal-format + msgid "Unable to resolve the specific function %qs at %L" + msgstr "fout in argumenten voor spec-functie '%s'" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, fuzzy, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, fuzzy, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "" + +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, fuzzy, gcc-internal-format + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "%s van alleen-lezen variabele %qs" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, fuzzy, gcc-internal-format + msgid "Unexpected junk after %qs at %L" + msgstr "conflicterende declaraties van %qs" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, fuzzy, gcc-internal-format + msgid "%qs at %L is not a function" + msgstr "%qs is meestal een functie" + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, fuzzy, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "%s voor %qs" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, gcc-internal-format + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, fuzzy, gcc-internal-format + msgid "resolve_function(): bad function type" + msgstr "einde van niet-void functie werd bereikt zonder teruggeefwaarde" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, gcc-internal-format + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, fuzzy, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, fuzzy, gcc-internal-format + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, fuzzy, gcc-internal-format + msgid "Using function %qs at %L is deprecated" + msgstr "functie-oproep heeft geaggregeerde waarde" + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, gcc-internal-format + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, gcc-internal-format + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, fuzzy, gcc-internal-format + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "gevraagd alignment is geen macht van 2" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, fuzzy, gcc-internal-format + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "fout in argumenten voor spec-functie '%s'" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, gcc-internal-format + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, gcc-internal-format + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, fuzzy, gcc-internal-format + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "fout in argumenten voor spec-functie '%s'" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, gcc-internal-format + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, fuzzy, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, fuzzy, gcc-internal-format + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, fuzzy, gcc-internal-format + msgid "resolve_subroutine(): bad function type" + msgstr "einde van niet-void functie werd bereikt zonder teruggeefwaarde" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, fuzzy, gcc-internal-format + msgid "Using subroutine %qs at %L is deprecated" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "-shared en -mdll zijn niet compatibel" + +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, fuzzy, gcc-internal-format + msgid "Impure function %qs at %L might not be evaluated" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Impure function at %L might not be evaluated" + msgstr "kan functie % niet inline maken" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, gcc-internal-format + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, gcc-internal-format, gfc-internal-format + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" + msgstr "" + + # Ongeldig soort wat? +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Equality comparison for %s at %L" + msgstr "Ongeldige soort voor %s op %L" + + # Ongeldig soort wat? +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Inequality comparison for %s at %L" + msgstr "Ongeldige soort voor %s op %L" + +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "grootte van %qs is %u bytes" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "grootte van %qs is %u bytes" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "grootte van %qs is %u bytes" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "grootte van %qs is %u bytes" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "grootte van %qs is %u bytes" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "grootte van %qs is %u bytes" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "grootte van %qs is %u bytes" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "grootte van %qs is %u bytes" + +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, fuzzy, gcc-internal-format + #| msgid "subscript missing in array reference" + msgid "check_dimension(): Bad array reference" + msgstr "subscript ontbreekt in array-referentie" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "subscript ontbreekt in array-referentie" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "" + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "%qs is geen bestand, pipe of tty" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "REAL array index at %L" + msgstr "kan niet derefereren, is geen pointer." + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid form of array reference at %C" + msgid "Invalid array reference of a non-array entity at %L" + msgstr "Ongeldige vorm van arrayverwijzing op %C" + +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "" + +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "" + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L is too large" + msgstr "" + +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, fuzzy, gcc-internal-format + msgid "resolve_ref(): Bad array reference" + msgstr "kan niet derefereren, is geen pointer." + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "" + +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may only be used as actual argument" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" +@@ -76214,12 +76194,12 @@ msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L may only be used as actual argument" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" +@@ -76228,293 +76208,293 @@ msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, gcc-internal-format + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, gcc-internal-format + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "" + +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, fuzzy, gcc-internal-format + msgid "Using variable %qs at %L is deprecated" + msgstr "statische variable %qs is als dllimport aangeduid" + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, gcc-internal-format + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Error in typebound call at %L" + msgstr "(dicht bij initialisatie van %qs)" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Passed-object at %L must be scalar" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, gcc-internal-format + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, gcc-internal-format, gfc-internal-format + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, gcc-internal-format + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, gcc-internal-format + msgid "%qs at %L should be a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, gcc-internal-format + msgid "%qs at %L should be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, gcc-internal-format + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be integer" + msgstr "%qs is geen bestand, pipe of tty" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "" + +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, fuzzy, gcc-internal-format + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "overflow in constante expressie" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "%s voor %qs" + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, gcc-internal-format, gfc-internal-format + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "%s voor %qs" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, gcc-internal-format + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, fuzzy, gcc-internal-format + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "ongeldige expressie als operand" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "expressie-statement heeft onvolledig type" + +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "expressie-statement heeft onvolledig type" + +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "" +@@ -76523,287 +76503,287 @@ msgstr "" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "" + + # vertaling voor 'statement'? +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "expressie-statement heeft onvolledig type" + + # vertaling voor 'statement'? +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "expressie-statement heeft onvolledig type" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "" + + # vertaling voor 'statement'? +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "expressie-statement heeft onvolledig type" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, gcc-internal-format, gfc-internal-format + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, fuzzy, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "functie-oproep heeft geaggregeerde waarde" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure name" + msgstr "" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L cannot be NULL()" + msgstr "" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Selector at %L has no type" + msgstr "%Jparameter %u heeft % als type" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, fuzzy, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, gcc-internal-format, gfc-internal-format + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L must not be coindexed" + msgstr "" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, gcc-internal-format, gfc-internal-format + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs at %L must be extensible" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, fuzzy, gcc-internal-format + msgid "Unexpected intrinsic type %qs at %L" + msgstr "ongeldige beginwaarde" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, gcc-internal-format, gfc-internal-format + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "Ongeldige soort voor %s op %L" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "DTIO %s procedure at %L must be recursive" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, gcc-internal-format, gfc-internal-format + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "expressie-statement heeft onvolledig type" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "expressie-statement heeft onvolledig type" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "expressie-statement heeft onvolledig type" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, gcc-internal-format, gfc-internal-format + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "expressie-statement heeft onvolledig type" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "% zonder een naam" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, gcc-internal-format, gfc-internal-format + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, gcc-internal-format, gfc-internal-format + msgid "Branch at %L may result in an infinite loop" + msgstr "" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "" +@@ -76811,209 +76791,209 @@ msgstr "" + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "%s van alleen-lezen variabele %qs" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, gcc-internal-format + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FORALL construct at %L" + msgstr "In functie %qs" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "expressie-statement heeft onvolledig type" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "" + +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, gcc-internal-format, gfc-internal-format + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "" + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "%s van alleen-lezen variabele %qs" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "%s van alleen-lezen variabele %qs" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, fuzzy, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "%s van alleen-lezen variabele %qs" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, gcc-internal-format + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "" + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Pointer procedure assignment at %L" + msgstr "ongeldig type-argument %qs" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "(dicht bij initialisatie van %qs)" + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, fuzzy, gcc-internal-format + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "expressie-statement heeft onvolledig type" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "expressie-statement heeft onvolledig type" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, fuzzy, gcc-internal-format + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "overflow in constante expressie" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, gcc-internal-format, gfc-internal-format + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "" + + # Ongeldig soort wat? +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Invalid NULL at %L" + msgstr "Ongeldige soort voor %s op %L" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, gcc-internal-format, gfc-internal-format + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "" + +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "" + +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, gcc-internal-format + msgid "gfc_resolve_code(): Bad statement code" + msgstr "" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, fuzzy, gcc-internal-format + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "parameter %qs als void gedeclareerd" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, gcc-internal-format + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, gcc-internal-format + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" + msgstr "" +@@ -77021,990 +77001,990 @@ msgstr "" + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, gcc-internal-format + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, gcc-internal-format, gfc-internal-format + msgid "String length at %L is too large" + msgstr "String-lengte bij %L is te groot" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, fuzzy, gcc-internal-format + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, fuzzy, gcc-internal-format + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "(dicht bij initialisatie van %qs)" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, fuzzy, gcc-internal-format + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, fuzzy, gcc-internal-format + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, fuzzy, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, gcc-internal-format + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, fuzzy, gcc-internal-format + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, gcc-internal-format + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" + msgstr "" + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, gcc-internal-format + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, fuzzy, gcc-internal-format + msgid "%qs at %L must have constant character length in this context" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, fuzzy, gcc-internal-format + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, fuzzy, gcc-internal-format + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, fuzzy, gcc-internal-format + msgid "External %qs at %L cannot have an initializer" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, fuzzy, gcc-internal-format + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, fuzzy, gcc-internal-format + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, fuzzy, gcc-internal-format + msgid "Function result %qs at %L cannot have an initializer" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, fuzzy, gcc-internal-format + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s at %L" + msgstr "%s voor %qs" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, fuzzy, gcc-internal-format + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, gcc-internal-format + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, gcc-internal-format + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, fuzzy, gcc-internal-format + msgid "Function %qs at %L cannot have an initializer" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, fuzzy, gcc-internal-format + msgid "External object %qs at %L may not have an initializer" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, fuzzy, gcc-internal-format + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, gcc-internal-format + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, fuzzy, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, fuzzy, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, fuzzy, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, fuzzy, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, fuzzy, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, fuzzy, gcc-internal-format + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, fuzzy, gcc-internal-format + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, gcc-internal-format + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute conflicts with attribute %s" + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "attribuut %qE botst met attribuut %s" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute conflicts with attribute %s" + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "attribuut %qE botst met attribuut %s" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute conflicts with attribute %s" + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "attribuut %qE botst met attribuut %s" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute conflicts with attribute %s" + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "attribuut %qE botst met attribuut %s" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, fuzzy, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, fuzzy, gcc-internal-format + msgid "Interface of %qs at %L must be explicit" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, fuzzy, gcc-internal-format + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, fuzzy, gcc-internal-format + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "expressie-statement heeft onvolledig type" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, fuzzy, gcc-internal-format + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "veld %qs heeft al een beginwaarde gekregen" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, gcc-internal-format + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, gcc-internal-format + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, gcc-internal-format + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, gcc-internal-format + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, gcc-internal-format + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, gcc-internal-format + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, gcc-internal-format, gfc-internal-format + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, fuzzy, gcc-internal-format + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, fuzzy, gcc-internal-format + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, fuzzy, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "'%s' argument voor intrinsic '%s' op %L moet kleiner dan rang %d zijn" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, fuzzy, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, fuzzy, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, fuzzy, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "veld %qs heeft al een beginwaarde gekregen" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, fuzzy, gcc-internal-format + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "veld %qs heeft al een beginwaarde gekregen" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, gcc-internal-format + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, fuzzy, gcc-internal-format + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, gcc-internal-format + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, gcc-internal-format + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, gcc-internal-format + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, gcc-internal-format + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, fuzzy, gcc-internal-format + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "parameternamen (zonder types) in functiedeclaratie" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, fuzzy, gcc-internal-format + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, fuzzy, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "'%s' argument voor intrinsic '%s' op %L moet kleiner dan rang %d zijn" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, fuzzy, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, fuzzy, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, fuzzy, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, fuzzy, gcc-internal-format + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, gcc-internal-format + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "" + + # vertaling voor 'statement'? +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, fuzzy, gcc-internal-format + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "expressie-statement heeft onvolledig type" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, gcc-internal-format + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, gcc-internal-format + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, gcc-internal-format, gfc-internal-format + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Conflicting initializers in union at %L and %L" + msgstr "ongeldige waarheidsexpressie" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, gcc-internal-format + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, fuzzy, gcc-internal-format + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, gcc-internal-format + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, fuzzy, gcc-internal-format + msgid "Derived type %qs at %L has not been declared" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, fuzzy, gcc-internal-format + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "Lege array-constructor op %C is niet toegestaan" + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, gcc-internal-format + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, gcc-internal-format + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, gcc-internal-format + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, gcc-internal-format + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, gcc-internal-format + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, gcc-internal-format + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute conflicts with attribute %s" + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "attribuut %qE botst met attribuut %s" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, gcc-internal-format + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, gcc-internal-format + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, fuzzy, gcc-internal-format + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, gcc-internal-format + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, gcc-internal-format, gfc-internal-format + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, gcc-internal-format, gfc-internal-format + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, gcc-internal-format + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Bad specification for assumed size array at %L" + msgstr "herhaalde label-declaratie %qs" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, gcc-internal-format + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, fuzzy, gcc-internal-format + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, gcc-internal-format + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, gcc-internal-format + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "" + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "overflow in constante expressie" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, gcc-internal-format + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, fuzzy, gcc-internal-format + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, fuzzy, gcc-internal-format + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, gcc-internal-format + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, fuzzy, gcc-internal-format + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "ongeldig type-argument %qs" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, fuzzy, gcc-internal-format + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, gcc-internal-format + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, gcc-internal-format + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, gcc-internal-format + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, fuzzy, gcc-internal-format + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, fuzzy, gcc-internal-format + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, fuzzy, gcc-internal-format + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, fuzzy, gcc-internal-format + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "overflow in constante expressie" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, fuzzy, gcc-internal-format + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "overflow in constante expressie" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, fuzzy, gcc-internal-format + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "overflow in constante expressie" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, fuzzy, gcc-internal-format + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "Bestandsnaam ontbreekt na %qs optie" + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Expecting definable entity near %L" + msgstr "ongeldige beginwaarde" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, fuzzy, gcc-internal-format + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, gcc-internal-format + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, fuzzy, gcc-internal-format + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, fuzzy, gcc-internal-format + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L shall not be zero" + msgstr "ongeldig type-argument %qs" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but not used" + msgstr "label %qs gedefinieerd maar niet gebruikt" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but cannot be used" + msgstr "label %qs gedefinieerd maar niet gebruikt" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, gcc-internal-format + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, gcc-internal-format + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, gcc-internal-format + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, gcc-internal-format + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, gcc-internal-format + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, gcc-internal-format + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "Substring bij %L heeft lengte nul" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, fuzzy, gcc-internal-format + msgid "Self reference in character length expression for %qs at %L" + msgstr "overflow in constante expressie" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, fuzzy, gcc-internal-format + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, fuzzy, gcc-internal-format + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "object van variabele lengte mag geen beginwaarde krijgen" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, fuzzy, gcc-internal-format + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, fuzzy, gcc-internal-format + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, fuzzy, gcc-internal-format + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, gcc-internal-format + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" + msgstr "" +@@ -78901,7 +78881,7 @@ msgstr "" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "" +@@ -78913,12 +78893,12 @@ msgstr "" + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, fuzzy, gcc-internal-format + msgid "Creating array temporary at %L for argument %qs" + msgstr "doorgeven van argument %d van %qs" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "" +@@ -79011,86 +78991,81 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "" + + #: fortran/trans-decl.cc:1795 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-msgid "%s at %C has no default type" +-msgstr "object van variabele lengte mag geen beginwaarde krijgen" +- +-#: fortran/trans-decl.cc:1798 + #, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, fuzzy, gcc-internal-format + msgid "Return value of function %qs at %L not set" + msgstr "%s: definitie van functie '%s' niet omgezet\n" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, fuzzy, gcc-internal-format + msgid "Deferred type parameter not yet supported" + msgstr "-pipe wordt niet ondersteund" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, gcc-internal-format + msgid "backend decl for module variable %qs already exists" + msgstr "" + +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, fuzzy, gcc-internal-format + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "statische variable %qs is als dllimport aangeduid" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, gcc-internal-format + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, gcc-internal-format + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, fuzzy, gcc-internal-format + msgid "Unused dummy argument %qs at %L" + msgstr "Te veel argumenten voor %s op %L" + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, fuzzy, gcc-internal-format + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "statische variable %qs is als dllimport aangeduid" + +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, fuzzy, gcc-internal-format + msgid "Unused variable %qs declared at %L" + msgstr "statische variable %qs is als dllimport aangeduid" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, fuzzy, gcc-internal-format + msgid "Unused parameter %qs declared at %L" + msgstr "parameter %qs als void gedeclareerd" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, fuzzy, gcc-internal-format + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "parameter %qs als void gedeclareerd" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, fuzzy, gcc-internal-format + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "%s: definitie van functie '%s' niet omgezet\n" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "" +@@ -79105,27 +79080,27 @@ msgstr "" + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, fuzzy, gcc-internal-format + msgid "Unknown intrinsic op" + msgstr "onbekende machine-modus %qs" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Unknown argument list function at %L" + msgstr "Bestandsnaam ontbreekt na %qs optie" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "" +@@ -81027,10 +81002,6 @@ msgstr "ongeldige macronaam %<%.*s%>" + #~ msgid "options enabled: " + #~ msgstr "ingeschakelde opties: " + +-#, fuzzy +-#~ msgid "invalid operand size for operand code 'Z'" +-#~ msgstr "ongeldige operand voor code '%c'" +- + #, fuzzy + #~ msgid "invalid %%L code" + #~ msgstr "ongeldige code voor %%xn" +diff --git a/gcc/po/ru.po b/gcc/po/ru.po +index 26518afe3b4..598499d803b 100644 +--- a/gcc/po/ru.po ++++ b/gcc/po/ru.po +@@ -12,7 +12,7 @@ msgid "" + msgstr "" + "Project-Id-Version: gcc 9.1-b20190414\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" + "PO-Revision-Date: 2019-05-04 12:10+0300\n" + "Last-Translator: Pavel Maryanov \n" + "Language-Team: Russian \n" +@@ -4116,7 +4116,7 @@ msgstr "" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "" + + #: m2/lang.opt:127 +@@ -7854,12 +7854,6 @@ msgstr "" + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "" + +-#: config/i386/i386.opt:1280 +-#, fuzzy, no-c-format +-#| msgid "Support XOP built-in functions and code generation." +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "Включить поддержку внутренних функций и генерацию команд XOP." +- + #: config/pa/pa64-hpux.opt:23 + #, no-c-format + msgid "Assume code will be linked by GNU ld." +@@ -17612,12 +17606,12 @@ msgstr "операнд '%%l' не является меткой" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "некорректное использование плавающей константы" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +@@ -18830,72 +18824,72 @@ msgstr "Этот ключ не документирован" + msgid "Uses of this option are diagnosed." + msgstr "При использовании этого ключа выдается предупреждение" + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "" + + # +-#: opts.cc:1657 ++#: opts.cc:1656 + #, fuzzy, c-format + #| msgid "%s Same as %s." + msgid "Same as %s%s." + msgstr "(%s Аналог %s." + + # +-#: opts.cc:1662 ++#: opts.cc:1661 + #, fuzzy, c-format + #| msgid "%s Same as %s." + msgid "Same as %s." + msgstr "(%s Аналог %s." + + # +-#: opts.cc:1670 ++#: opts.cc:1669 + #, c-format + msgid "%s Same as %s." + msgstr "(%s Аналог %s." + +-#: opts.cc:1733 ++#: opts.cc:1732 + #, fuzzy + #| msgid "variable" + msgid "[available in " + msgstr "переменная" + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "[по умолчанию]" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, c-format + msgid "%llu bytes" + msgstr "" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "[включено]" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "[выключено]" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr " Не найдены ключи с требуемыми характеристиками\n" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr "" + " Ничего не найдено. --help=%s выводит *все* ключи, поддерживаемые для языка %s.\n" + "\n" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr " Все ключи с требуемыми характеристиками уже выведены\n" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, fuzzy, c-format + #| msgid "invalid argument to built-in function %s" + msgid "" +@@ -18903,49 +18897,49 @@ msgid "" + " " + msgstr "некорректный аргумент встроенной функции %s" + +-#: opts.cc:1959 ++#: opts.cc:1958 + msgid "The following options are target specific" + msgstr "Следующие ключи не зависят от целевой архитектуры" + +-#: opts.cc:1962 ++#: opts.cc:1961 + msgid "The following options control compiler warning messages" + msgstr "Следующие ключи контролируют предупреждения компилятора" + +-#: opts.cc:1965 ++#: opts.cc:1964 + msgid "The following options control optimizations" + msgstr "Следующие ключи контролируют оптимизацию" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + msgid "The following options are language-independent" + msgstr "Следующие ключи не зависят от входного языка" + +-#: opts.cc:1971 ++#: opts.cc:1970 + #, fuzzy + #| msgid "The following options control optimizations" + msgid "The following options control parameters" + msgstr "Следующие ключи контролируют оптимизацию" + +-#: opts.cc:1977 ++#: opts.cc:1976 + msgid "The following options are specific to just the language " + msgstr "Следующие ключи зависят только от языка " + +-#: opts.cc:1979 ++#: opts.cc:1978 + msgid "The following options are supported by the language " + msgstr "Следующие ключи поддерживаются языком " + +-#: opts.cc:1990 ++#: opts.cc:1989 + msgid "The following options are not documented" + msgstr "Следующие ключи не документированы" + +-#: opts.cc:1992 ++#: opts.cc:1991 + msgid "The following options take separate arguments" + msgstr "Следующие ключи принимают раздельные аргументы" + +-#: opts.cc:1994 ++#: opts.cc:1993 + msgid "The following options take joined arguments" + msgstr "Следующие ключи принимают объединенные аргументы" + +-#: opts.cc:2006 ++#: opts.cc:2005 + msgid "The following options are language-related" + msgstr "Следующие ключи относятся к исходному языку" + +@@ -19337,75 +19331,75 @@ msgstr "модификатор размера в формате strfmon" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, c-format + msgid "unsupported operand for code '%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "недопустимый операнд для кода '%%%c'" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, c-format + msgid "invalid vector constant" + msgstr "" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "недопустимый операнд - плавающий или векторный регистр для кода '%%%c'" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, fuzzy, c-format + #| msgid "incompatible floating point / vector register operand for '%%%c'" + msgid "incompatible register operand for '%%%c'" + msgstr "недопустимый операнд - плавающий или векторный регистр для кода '%%%c'" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, c-format + msgid "missing operand" + msgstr "отсутствует операнд" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, c-format + msgid "invalid constant" + msgstr "недопустимая константа" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, c-format + msgid "invalid operand" + msgstr "некорректный операнд" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "некорректный префикс операнда '%%%c'" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, c-format + msgid "invalid address mode" + msgstr "" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + #, fuzzy + #| msgid "invalid operands in binary operation" + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "неверные операнды в бинарной операции" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "'%%&' использовано без локальной динамической TLS ссылки" +@@ -19422,18 +19416,18 @@ msgid "invalid %%r value" + msgstr "некорректное значение %%r" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "некорректное значение %%R" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "некорректное значение %%N" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" + msgstr "некорректное значение %%P" +@@ -19463,7 +19457,7 @@ msgstr "некорректное значение %%M" + msgid "invalid %%U value" + msgstr "некорректное значение %%U" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" + msgstr "некорректное значение %%s" +@@ -19473,7 +19467,7 @@ msgstr "некорректное значение %%s" + msgid "invalid %%C value" + msgstr "некорректное значение %%C" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" + msgstr "некорректное значение %%E" +@@ -19486,7 +19480,7 @@ msgstr "некорректное unspec-перемещение" + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" + msgstr "некорректный код %%xn" +@@ -19569,35 +19563,35 @@ msgstr "некорректный операнд UNSPEC: %d" + msgid "unrecognized supposed constant" + msgstr "неопознанная константа" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, c-format + msgid "invalid shift operand" + msgstr "некорректный оператор сдвига" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, c-format + msgid "predicated Thumb instruction" + msgstr "предикативная инструкция для архитектуры Thumb" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "предикативная инструкция в условной последовательности" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Неподдерживаемый операнд для кода '%c'" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -19606,30 +19600,30 @@ msgstr "Неподдерживаемый операнд для кода '%c'" + msgid "invalid operand for code '%c'" + msgstr "недопустимый операнд для кода '%c'" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, c-format + msgid "instruction never executed" + msgstr "инструкция никогда не выполняется" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "устаревший код формата Maverick '%c'" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %" + msgstr "некорректное преобразование из %<__fpreg%>" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + #, fuzzy + #| msgid "invalid conversion to type %qT from type %qT" + msgid "invalid conversion to type %" + msgstr "некорректное преобразование к типу %qT от типа %qT" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "" + +@@ -20003,99 +19997,97 @@ msgstr "недопустимая константа" + msgid "Expected register or constant integer." + msgstr "Ожидался интерфейс или указатель на интерфейс" + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, c-format + msgid "invalid UNSPEC as operand" + msgstr "некорректный операнд UNSPEC" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, c-format + msgid "invalid use of register '%s'" + msgstr "недопустимое использование регистра '%s'>" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, c-format + msgid "invalid use of asm flag output" + msgstr "некорректное использование флага вывода в asm" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, c-format + msgid "invalid operand size for operand code 'O'" + msgstr "недопустимый размер операнда для кода 'O'" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, c-format + msgid "invalid operand size for operand code 'z'" + msgstr "недопустимый размер операнда для кода 'z'" + +-#: config/i386/i386.cc:13290 +-#, fuzzy, c-format +-#| msgid "invalid operand type used with operand code 'Z'" +-msgid "invalid operand type used with operand code '%c'" ++#: config/i386/i386.cc:13283 ++#, c-format ++msgid "invalid operand type used with operand code 'Z'" + msgstr "недопустимый тип операнда для кода 'Z'" + +-#: config/i386/i386.cc:13295 +-#, fuzzy, c-format +-#| msgid "invalid operand size for operand code 'O'" +-msgid "invalid operand size for operand code '%c'" +-msgstr "недопустимый размер операнда для кода 'O'" ++#: config/i386/i386.cc:13288 ++#, c-format ++msgid "invalid operand size for operand code 'Z'" ++msgstr "недопустимый размер операнда для кода 'Z'" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, c-format + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "операнд не является кодом условия, неверный код операнда 'Y'" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, c-format + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "операнд не является кодом условия, неверный код операнда 'D'" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, c-format + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "операнд не является кодом условия, неверный код операнда '%c'" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, c-format + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "операнд не является ссылкой на память со смещением, неверный код операнда 'H'" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, c-format + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "операнд не является кодом условия, неверный код операнда 'K'" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "операнд не является специфическим целым, неверный код операнда 'r'" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, c-format + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "операнд не является целым, неверный код операнда 'R'" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "операнд не является специфическим целым, неверный код операнда 'R'" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, c-format + msgid "invalid operand code '%c'" + msgstr "некорректный код операнда '%c'" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, c-format + msgid "invalid constraints for operand" + msgstr "некорректные ограничения для операнда" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, c-format + msgid "invalid vector immediate" + msgstr "" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + msgid "unknown insn mode" + msgstr "некорректный режим инструкции" + +@@ -20126,7 +20118,7 @@ msgstr "некорректный операнд для %<__fpreg%>" + msgid "invalid %%P operand" + msgstr "неверный операнд для кода %%P" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" + msgstr "неверное значение для кода %%p" +@@ -20171,8 +20163,8 @@ msgstr "'%%%c' не является корректным префиксом о + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, c-format + msgid "invalid use of '%%%c'" + msgstr "недопустимое использование '%%%c'" +@@ -20204,7 +20196,7 @@ msgid "post-increment address is not a register" + msgstr "постинкрементный адрес - не регистр" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" + msgstr "некорректный адрес" + +@@ -20373,7 +20365,7 @@ msgstr "неподдерживаемая комбинация: %s" + msgid "unsupported memory expression:" + msgstr "неподдерживаемое преобразование с фиксированной точкой" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, fuzzy, c-format + #| msgid "invalid %%r operand" + msgid "invalid vector operand" +@@ -20440,155 +20432,155 @@ msgstr "ключ -mquad-memory не поддерживается для обра + msgid "bad move" + msgstr "некорректная пересылка" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" + msgstr "некорректная 128-битная пересылка" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, fuzzy, c-format + #| msgid "invalid %%J value" + msgid "invalid %%A value" + msgstr "некорректное %%J значение" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" + msgstr "неверное значение для кода %%D" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, c-format + msgid "invalid %%e value" + msgstr "некорректное %%e значение" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" + msgstr "недопустимое значение для кода %%f" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" + msgstr "недопустимое значение для кода %%F" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" + msgstr "недопустимое значение для кода %%G" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" + msgstr "недопустимое значение для кода %%j" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" + msgstr "недопустимое значение для кода %%J" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" + msgstr "недопустимое значение для кода %%k" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "недопустимое значение для кода %%K" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" + msgstr "недопустимое значение для кода %%O" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" + msgstr "недопустимое значение для кода %%q" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, fuzzy, c-format + #| msgid "invalid %%J value" + msgid "invalid %%t value" + msgstr "некорректное %%J значение" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" + msgstr "недопустимое значение для кода %%T" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" + msgstr "недопустимое значение для кода %%u" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "недопустимое значение для кода %%v" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, fuzzy, c-format + #| msgid "invalid %%J value" + msgid "invalid %%V value" + msgstr "некорректное %%J значение" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" + msgstr "неверное значение для кода %%x" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, fuzzy, c-format + #| msgid "invalid %%J value" + msgid "invalid %%z value" + msgstr "некорректное %%J значение" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "некорректное значение %%y, попробуйте использовать ограничитель 'Z'" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + #, fuzzy + #| msgid "Enable using IEEE 128-bit floating point instructions." + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "Включить использование инструкций IEEE 128-битной плавающей точки." + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + msgid "AltiVec argument passed to unprototyped function" + msgstr "Аргумент AltiVec передан в функцию без прототипа" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + msgid "Could not generate addis value for fusion" + msgstr "Не удалось сгенерировать дополнительное значение для синтеза" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + msgid "Unable to generate load/store offset for fusion" + msgstr "Не удалось сгенерировать смещение загрузки/сохранения для синтеза" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" + msgstr "Некорректный GPR синтез" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "некорректное преобразование из %<__fpreg%>" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + #, fuzzy + #| msgid "invalid conversion to %<__fpreg%>" + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "некорректное преобразование к %<__fpreg%>" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "некорректное преобразование из %<__fpreg%>" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + #, fuzzy + #| msgid "invalid conversion to %<__fpreg%>" + msgid "invalid conversion to type %<__vector_pair%>" +@@ -21056,7 +21048,7 @@ msgstr "кандидат 1:" + msgid " after user-defined conversion:" + msgstr "Включить определяемые пользователем инструкции." + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + msgid "candidate is:" + msgid_plural "candidates are:" + msgstr[0] "кандидат" +@@ -21543,7 +21535,7 @@ msgstr "" + msgid "Driving:" + msgstr "Движущий:" + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + msgid "actual argument to INTENT = OUT/INOUT" + msgstr "фактический аргумент для INTENT = OUT/INOUT" + +@@ -21715,11 +21707,11 @@ msgstr "блочный IF" + msgid "implied END DO" + msgstr "предписанный END DO" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + msgid "assignment" + msgstr "присваивание" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + msgid "pointer assignment" + msgstr "присваивание указателя" + +@@ -21727,200 +21719,200 @@ msgstr "присваивание указателя" + msgid "simple IF" + msgstr "простой IF" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + msgid "elemental procedure" + msgstr "элементная процедура" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + msgid "allocatable argument" + msgstr "размещаемый аргумент" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + msgid "asynchronous argument" + msgstr "асинхронный аргумент" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + msgid "optional argument" + msgstr "необязательный аргумент" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + msgid "pointer argument" + msgstr "аргумент-указатель" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + msgid "target argument" + msgstr "целевой аргумент" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + msgid "value argument" + msgstr "value аргумент" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + msgid "volatile argument" + msgstr "volatile аргумент" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + msgid "assumed-shape argument" + msgstr "assumed-shape аргумент" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + msgid "assumed-rank argument" + msgstr "assumed-rank аргумент" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + msgid "coarray argument" + msgstr "coarray аргумент" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + msgid "parametrized derived type argument" + msgstr "аргумент параметризованного производного типа" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + msgid "polymorphic argument" + msgstr "полиморфный аргумент" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + msgid "NO_ARG_CHECK attribute" + msgstr "атрибут NO_ARG_CHECK" + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + msgid "assumed-type argument" + msgstr "аргумент предполагаемого типа" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + msgid "array result" + msgstr "результат-массив" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + msgid "pointer or allocatable result" + msgstr "указательный или размещаемый результат" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + msgid "result with non-constant character length" + msgstr "результат с неконстантной character длиной" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + msgid "bind(c) procedure" + msgstr "процедура bind(c)" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, c-format + msgid "Invalid context for NULL() pointer at %%L" + msgstr "Некорректный контекст для NULL() указателя в %%L" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, c-format + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "Операнд унарного числового оператора %%<%s%%> в %%L есть %s" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, c-format + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "Операнды бинарного числового оператора %%<%s%%> в %%L есть %s/%s" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "Операнды оператора конкатенации строк в %%L есть %s/%s" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, c-format + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "Операнды логического оператора %%<%s%%> в %%L есть %s/%s" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "COMPLEX величины не могут сравниваться в %L" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "Логические в %%L должны сравниваться посредством %s вместо %s" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, c-format + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "Операнды оператора сравнения %%<%s%%> в %%L есть %s/%s" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, fuzzy, c-format + #| msgid "Unknown operator %%<%s%%> at %%L" + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "Неизвестный оператор %%<%s%%> в %%L" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "Неизвестный оператор %%<%s%%> в %%L" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, c-format + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "Операнд пользовательского оператора %%<%s%%> в %%L есть %s" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, c-format + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "Операнды пользовательского оператора %%<%s%%> в %%L есть %s/%s" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, c-format + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "Противоречивые ранги для оператора в %%L и %%L" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "Переменная цикла" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + msgid "iterator variable" + msgstr "Переменная итератора" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + msgid "Start expression in DO loop" + msgstr "Начальное выражение в DO цикле" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + msgid "End expression in DO loop" + msgstr "Конечное выражение в DO цикле" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + msgid "Step expression in DO loop" + msgstr "Шаговое выражение в DO цикле" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + msgid "DEALLOCATE object" + msgstr "DEALLOCATE объект" + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + msgid "ALLOCATE object" + msgstr "ALLOCATE объект" + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + msgid "STAT variable" + msgstr "STAT переменная" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + msgid "ERRMSG variable" + msgstr "ERRMSG переменная" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + msgid "item in READ" + msgstr "элемент в READ" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + msgid "ACQUIRED_LOCK variable" + msgstr "ACQUIRED_LOCK переменная" + +@@ -21933,27 +21925,27 @@ msgstr "Разные CHARACTER длины (%ld/%ld) в конструкторе + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "Целочисленное переполнение при вычислении объема памяти для размещения" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, c-format + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "Фактическая длина строки не соответствует декларированной для формального аргумента '%s' (%ld/%ld)" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, c-format + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "Фактическая длина строки меньше декларированной для формального аргумента '%s' (%ld/%ld)" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "Цель переотображения ранга слишком мала (%ld < %ld)" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + msgid "Assignment of scalar to unallocated array" + msgstr "Присваивание скаляра неразмещенному массиву" + +@@ -22843,7 +22835,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "-mrelax поддерживается только для RTP PIC" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in %s statement at %C" + msgstr "синтаксическая ошибка в %s операторе в %C" +@@ -23235,7 +23227,7 @@ msgstr "" + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, gcc-internal-format + msgid "previous declaration here" +@@ -23334,10 +23326,10 @@ msgstr "атрибуты типов игнорируются, если тип у + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -23477,7 +23469,7 @@ msgstr "ошибка чтения профиля функции из %s" + msgid "offset %qwi outside bounds of constant string" + msgstr "смещение %qwi вне границ константной строки" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared here" + msgid "%qE declared here" +@@ -25400,7 +25392,7 @@ msgstr "большая константа с фиксированной точк + msgid "comparison is always %d due to width of bit-field" + msgstr "при данной ширине битового поля результат сравнения - всегда %d" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "предполагается, что при упрощении проверки диапазона не произошло переполнение" +@@ -26222,7 +26214,7 @@ msgstr "функция возвращает адрес локальной пер + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -27514,14 +27506,14 @@ msgstr "предполагается указатель на элемент %qD" + msgid "using a dangling pointer to %qD" + msgstr "неизвестная машинный режим %qs для указателя" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, gcc-internal-format + msgid "%qD declared here" + msgstr "%qD объявлено здесь" +@@ -27571,7 +27563,7 @@ msgstr "в вызове встроенной функции размещения + msgid "call to %qD" + msgstr " в вызове %qD" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, fuzzy, gcc-internal-format + #| msgid "address of local variable %qD returned" + msgid "storing the address of local variable %qD in %qE" +@@ -28716,7 +28708,7 @@ msgstr "во входном файле отсутствует информаци + msgid "IPA modref summary is missing in input file" + msgstr "во входном файле отсутствует информация о межпроцедурных inline-подстановках" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, fuzzy, gcc-internal-format + #| msgid "invalid function in gimple call" + msgid "invalid jump function in LTO stream" +@@ -29739,7 +29731,7 @@ msgstr "Выполнить оптимизацию кода вокруг кома + msgid "command-line option %qs is not supported by this configuration" + msgstr "ключ %qs для этой конфигурации не поддерживается" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, gcc-internal-format + msgid "missing argument to %qs" + msgstr "отсутствует аргумент для %qs" +@@ -29782,12 +29774,12 @@ msgstr "FPX fast и compact опции не могут задаваться вм + msgid "unrecognized argument in option %qs" + msgstr "некорректный аргумент ключа %qs" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "допустимые аргументы для %qs: %s; имелось в виду %qs?" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s" + msgstr "допустимые аргументы %qs: %s" +@@ -29955,7 +29947,7 @@ msgstr "" + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, fuzzy, gcc-internal-format + #| msgid "-fpie is not supported" + msgid "%<-fsanitize-trap=%s%> is not supported" +@@ -29998,201 +29990,201 @@ msgstr "отслеживание переменных бесполезно бе + msgid "variable tracking requested, but not supported by this debug format" + msgstr "запрошено отслеживание переменных, но оно не поддерживается этого формата отладочной информации" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "присваивания с отслеживанием переменных влияют на селективное планирование" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized include_flags 0x%x passed to print_specific_help" + msgid "unrecognized % passed to %" + msgstr "неопознанный include_flags 0x%x передан print_specific_help" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s; did you mean %qs?" + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "неопознанный аргумент для -f%ssanitize%s= опции: %q.*s; имелось в виду %qs?" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s" + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "неопознанный аргумент для -f%ssanitize%s= опции: %q.*s" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute directive ignored" + msgid "%qs attribute directive ignored" + msgstr "директива описания атрибута %qE проигнорирована" + + # +-#: opts.cc:2347 ++#: opts.cc:2346 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument of -mcpu: %s" + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "неопознанный аргумент для -mcpu: %s" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to built-in function %s" + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "некорректный аргумент встроенной функции %s" + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, fuzzy, gcc-internal-format + #| msgid "incorrect number of arguments to function %qE" + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "неправильное число аргументов в вызове функции %qE" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr "-malign-loops=%d не между 0 и %d" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to built-in function %s" + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "некорректный аргумент встроенной функции %s" + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, fuzzy, gcc-internal-format + #| msgid "--help argument %q.*s is ambiguous, please be more specific" + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "аргумент --help %q.*s неоднозначен, требуется уточнение" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument to --help= option: %q.*s" + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "неизвестный аргумент ключа --help=: %q.*s" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, fuzzy, gcc-internal-format + #| msgid "structure alignment must be a small power of two, not %d" + msgid "structure alignment must be a small power of two, not %wu" + msgstr "выравнивание структуры должно быть небольшой степенью двойки, а не %d" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, gcc-internal-format + msgid "unknown stack check parameter %qs" + msgstr "неизвестный параметр проверки стека %qs" + +-#: opts.cc:3158 ++#: opts.cc:3157 + #, fuzzy, gcc-internal-format + #| msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf -g%s%> for debug level" + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "%<-gdwarf%s%> двусмысленна; используйте %<-gdwarf-%s%> для DWARF версии или %<-gdwarf -g%s%> для уровня отладки" + +-#: opts.cc:3169 ++#: opts.cc:3168 + #, fuzzy, gcc-internal-format + #| msgid "dwarf version %d is not supported" + msgid "dwarf version %wu is not supported" + msgstr "версия dwarf %d не поддерживается" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized argument to --help= option: %q.*s" + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "неизвестный аргумент ключа --help=: %q.*s" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, gcc-internal-format + msgid "target system does not support debug output" + msgstr "целевая платформа не поддерживает вывод отладочной информации" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, gcc-internal-format + msgid "debug format %qs conflicts with prior selection" + msgstr "отладочный формат %qs противоречит предыдущему выбору" + +-#: opts.cc:3468 ++#: opts.cc:3467 + #, gcc-internal-format + msgid "unrecognized debug output level %qs" + msgstr "неопознанный уровень вывода отладочной информации %qs" + +-#: opts.cc:3470 ++#: opts.cc:3469 + #, gcc-internal-format + msgid "debug output level %qs is too high" + msgstr "уровень вывода отладочной информации %qs слишком высок" + +-#: opts.cc:3482 ++#: opts.cc:3481 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized debug output level %qs" + msgid "unrecognized btf debug output level %qs" + msgstr "неопознанный уровень вывода отладочной информации %qs" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "исходный максимальный размер core-файла: %m" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "установлен максимальный размер core-файла: %m" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "некорректный ключ отладки: %c" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized command line option %<-%s%>; did you mean %<-%s%>?" + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "неопознанная опция командной строки %<-%s%>; имелось в виду %<-%s%>?" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, fuzzy, gcc-internal-format + #| msgid "-Werror=%s: no option -%s" + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "-Werror=%s: ключа -%s не существует" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, fuzzy, gcc-internal-format + #| msgid "-Werror=%s: -%s is not an option that controls warnings" + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" +@@ -30926,196 +30918,196 @@ msgstr "ошибка в обобщенном thunk-коде для метода + msgid "%qD renamed after being referenced in assembly" + msgstr "" + +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "функциональный символ не есть функция" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, gcc-internal-format + msgid "inconsistent % attribute" + msgstr "" + + # +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "символ переменной не есть переменная" + +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "узел имеет неизвестный тип" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%qD has invalid argument list" + msgid "node has invalid order %i" + msgstr "%qD имеет некорректный список аргументов" + +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "узел не найден node->decl->decl_with_vis.symtab_node" + +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "узел отличается от node->decl->decl_with_vis.symtab_node" + +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "хэш-список ассемблерного имени поврежден" + +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "не найден узел в symtab assembler name hash" + +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "испорчен двусвязный список ассемблерных имен" + +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "узел имеет body_removed, но является определением" + +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "узел проанализирован, но это не определение" + +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "узел есть синоним, но не неявный синоним" + +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "узел является синонимом, но не определением" + +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "узел есть weakref, но не transparent_alias" + +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "узел есть transparent_alias, но не синоним" + +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, fuzzy, gcc-internal-format + #| msgid "node is alias but not implicit alias" + msgid "node is symver but not alias" + msgstr "узел есть синоним, но не неявный синоним" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, fuzzy, gcc-internal-format + #| msgid "Set the default symbol visibility" + msgid "symver is not exported with default visibility" + msgstr "Установить видимость символов по умолчанию" + +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "узел в списке same_comdat_group, но не имеет comdat_group" + +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "same_comdat_group список через разные группы" + +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "смешение разных типов символа в одной comdat группе не поддерживается" + +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "только один узел в comdat группе" + +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "same_comdat_group не является циклическим списком" + +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "на comdat-local символ ссылается %s извне его comdat" + +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, fuzzy, gcc-internal-format + #| msgid "implicit_section flag is set but section isn't" + msgid "implicit_section flag is set but section isn%'t" + msgstr "implicit_section флаг установлен, а секция нет" + +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "Установлена и секция, и comdat группа" + +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, fuzzy, gcc-internal-format + #| msgid "Alias and target's section differs" + msgid "Alias and target%'s section differs" + msgstr "синоним и секция цели различаются" + +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, fuzzy, gcc-internal-format + #| msgid "Alias and target's comdat groups differs" + msgid "Alias and target%'s comdat groups differs" + msgstr "синоним и comdat группа цели различаются" + +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, fuzzy, gcc-internal-format + #| msgid "Transparent alias and target's assembler names differs" + msgid "Transparent alias and target%'s assembler names differs" + msgstr "Прозрачный синоним и ассемблерные имена цели различаются" + +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "Связанные в цепочку прозрачные синонимы" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "ошибка symtab_node::verify" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid pointer mode %qs" + msgid "invalid order in asm node %i" + msgstr "неизвестная машинный режим %qs для указателя" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "Два символа с одной comdat_group не связаны посредством same_comdat_group списка." + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "функция %q+D является частью цикла алиасов" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "переменная %q+D входит в цикл алиасов" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "секция синонима %q+D должна соответствовать его цели" +@@ -32930,27 +32922,27 @@ msgstr "машинно независимый встроенный код вне + msgid "target specific builtin not available" + msgstr "специфическая для целевой платформы встроенная функция недоступна" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "векторная операция будет выполнена по частям" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "векторная операция будет выполнена параллельно" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "векторная операция будет выполнена при помощи одной скалярной операции" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "векторное условие будет расширено по частям" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "векторная операция перемешивания будет выполнена по частям" +@@ -33856,7 +33848,7 @@ msgstr "атрибут %qE игнорируется, поскольку %qT уж + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "атрибут %qE игнорируется, поскольку %qT уже определен" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "%qE атрибут действует только в public-объектах" +@@ -36101,7 +36093,7 @@ msgstr "неподдерживаемая нестандартная конкат + msgid "traditional C rejects string constant concatenation" + msgstr "традиционный Си не поддерживает конкатенацию строковых констант" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "" +@@ -37866,7 +37858,7 @@ msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "%qE указатель; имелось в виду использовать %<->%>?" + + # +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %qs for -mcpu" + msgid "unknown value %qs for %<-mcpu%>" +@@ -37901,15 +37893,15 @@ msgid "unrecognized option passed to %%:%" + msgstr "неопознанный ключ -fenable" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "допустимые аргументы: %s; имелось в виду %qs?" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, gcc-internal-format, gfc-internal-format + msgid "valid arguments are: %s" + msgstr "" +@@ -38000,55 +37992,55 @@ msgstr "недопустимый параметр -mcpu=%s" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "-mcpu=%s имеет некорректную кремниевую версию" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops is obsolete, use -falign-loops" + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "-malign-loops устарело, используйте -falign-loops" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr "-malign-loops=%d не между 0 и %d" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, fuzzy, gcc-internal-format + #| msgid "-malign-jumps is obsolete, use -falign-jumps" + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "-malign-jumps устаревший ключ, используйте -falign-jumps" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, fuzzy, gcc-internal-format + #| msgid "-malign-jumps=%d is not between 0 and %d" + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr "-malign-loops=%d не между 0 и %d" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, fuzzy, gcc-internal-format + #| msgid "-malign-functions is obsolete, use -falign-functions" + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "-malign-functions устаревший ключ, используйте -falign-functions" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, fuzzy, gcc-internal-format + #| msgid "-malign-functions=%d is not between 0 and %d" + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr "-malign-loops=%d не между 0 и %d" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, fuzzy, gcc-internal-format + #| msgid "-mbranch-cost=%d is not between 0 and 5" + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr "-mbranch-cost=%d не между 0 и 5" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "%<-fsplit-stack%> в настоящее время поддерживается только на GNU/Linux" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "%<-fsplit-stack%> требует поддержку ассемблера для CFI директив" +@@ -38591,14 +38583,14 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "%qs несовместим с %s %s" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, fuzzy, gcc-internal-format + #| msgid "argument %d of %qE must be a pointer to a constant size type" + msgid "argument %d of %qE must be an integer constant expression" + msgstr "аргумент %d для %qE должен быть указателем на тип константного размера" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, fuzzy, gcc-internal-format + #| msgid "argument %d of %qE must be in the range %d...%d" + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" +@@ -38872,7 +38864,7 @@ msgstr "при передаче аргумента %d %qE указатель п + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, fuzzy, gcc-internal-format + #| msgid "duplicate definition of '%s'" + msgid "duplicate definition of %qs" +@@ -38920,7 +38912,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "тип %qT не имеет известный размер" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored because %qT is already defined" + msgid "variables of type %qT cannot have thread-local storage duration" +@@ -39022,361 +39014,361 @@ msgstr "" + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "аргумент decltype должен быть выражением" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, fuzzy, gcc-internal-format + #| msgid "AltiVec argument passed to unprototyped function" + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "Аргумент AltiVec передан в функцию без прототипа" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, fuzzy, gcc-internal-format + #| msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "передача параметров для аргументов типа %qT изменилась в GCC 7.1" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, fuzzy, gcc-internal-format + #| msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "передача параметров для аргументов типа %qT изменилась в GCC 7.1" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, fuzzy, gcc-internal-format + #| msgid "Use the SPE ABI extensions." + msgid "%qE requires the SVE ISA extension" + msgstr "Использовать расширения SPE ABI." + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, gcc-internal-format + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, fuzzy, gcc-internal-format + #| msgid "unknown flag passed in -moverride=%s (%s)" + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "неизвестный флаг переданный в -moverride=%s (%s)" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute ignored" + msgid "%qs string ill-formed" + msgstr "атрибут %qs проигнорирован" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, fuzzy, gcc-internal-format + #| msgid "invalid format of %s" + msgid "invalid format for %" + msgstr "некорректный формат %s" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, fuzzy, gcc-internal-format + #| msgid "invalid %%h value" + msgid "invalid % value: %d" + msgstr "некорректное значение %%h" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "строка настройки отсутствует в опции (%s)" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "неизвестная опция настройки (%s)" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, fuzzy, gcc-internal-format + #| msgid "Specify the register allocation order" + msgid "specify a system register with a small string length" + msgstr "Порядок выделения регистров" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "" + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "" + +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "отсутствует имя процессора в %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, fuzzy, gcc-internal-format + #| msgid "invalid feature modifier in %<-mcpu=%s%>" + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "некорректный модификатор возможности в %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, fuzzy, gcc-internal-format + #| msgid "%qs is an invalid argument to -mcpu=" + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "%qs некорректный аргумент для -mcpu=" + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to built-in function %s" + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "некорректный аргумент встроенной функции %s" + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "отсутствует имя архитектуры в %<-march=%s%>" + + # +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %qs for -march" + msgid "unknown value %qs for %<-march%>" + msgstr "неизвестное значение %qs для -march" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, fuzzy, gcc-internal-format + #| msgid "missing cpu name in %<-mcpu=%s%>" + msgid "did you mean %<-mcpu=%s%>?" + msgstr "отсутствует имя процессора в %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, fuzzy, gcc-internal-format + #| msgid "invalid feature modifier in %<-march=%s%>" + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "некорректный модификатор возможности в %<-march=%s%>" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "отсутствует имя процессора в %<-mtune=%s%>" + + # +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %qs for -mtune" + msgid "unknown value %qs for %<-mtune%>" + msgstr "неизвестное значение %qs для -mtune" + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, fuzzy, gcc-internal-format + #| msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "ключ -mcpu=%s несовместим с ключом -march=%s" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, fuzzy, gcc-internal-format + #| msgid "the %qs architecture does not support %<-mfp32%>" + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "архитектура %qs не поддерживает %<-mfp32%>" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs with -f%s" + msgid "code model %qs with %<-f%s%>" + msgstr "модель кода %qs с -f%s" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs not supported in x32 mode" + msgid "code model %qs not supported in ilp32 mode" + msgstr "модель кода %qs не поддерживается в режиме x32" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%qs) for % attribute" + msgid "invalid name %qs in % pragma or attribute" + msgstr "некорректное значение (%qs) для % атрибута" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, fuzzy, gcc-internal-format + #| msgid "invalid feature modifier in %<-march=%s%>" + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "некорректный модификатор возможности в %<-march=%s%>" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, fuzzy, gcc-internal-format + #| msgid "valid arguments to % attribute are: %s" + msgid "invalid name %qs in % pragma or attribute" + msgstr "допустимые аргументы для % атрибута: %s" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, fuzzy, gcc-internal-format + #| msgid "invalid feature modifier in %<-march=%s%>" + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "некорректный модификатор возможности в %<-march=%s%>" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, fuzzy, gcc-internal-format + #| msgid "valid arguments to % attribute are: %s" + msgid "missing argument to % pragma or attribute" + msgstr "допустимые аргументы для % атрибута: %s" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, fuzzy, gcc-internal-format + #| msgid "valid arguments to % attribute are: %s" + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "допустимые аргументы для % атрибута: %s" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%qs) for % attribute" + msgid "invalid name %qs in % pragma or attribute" + msgstr "некорректное значение (%qs) для % атрибута" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "аргумент атрибута % не строка" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + #, fuzzy + #| msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "передача параметров для аргументов типа %qT изменилась в GCC 7.1" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + #, fuzzy + #| msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "передача параметров для аргументов типа %qT изменилась в GCC 7.1" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + #, fuzzy + #| msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "передача параметров для аргументов типа %qT изменилась в GCC 7.1" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "проход %wd вне диапазона %wd - %wd" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, fuzzy, gcc-internal-format + #| msgid "unsupported simdlen %d" + msgid "unsupported simdlen %wd" + msgstr "неподдерживаемая simdlen %d" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, gcc-internal-format + msgid "GCC does not currently support return type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, fuzzy, gcc-internal-format + #| msgid "unsupported argument type to builtin function" + msgid "unsupported return type %qT for % functions" + msgstr "неподдерживаемый тип аргумента для внутренней функции" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, fuzzy, gcc-internal-format + #| msgid "unsupported argument type to builtin function" + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "неподдерживаемый тип аргумента для внутренней функции" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, fuzzy, gcc-internal-format + #| msgid "the -shared option is not currently supported for VAX ELF" + msgid "GCC does not currently support simdlen %wd for type %qT" +@@ -39581,13 +39573,13 @@ msgstr "" + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -39733,19 +39725,19 @@ msgstr "" + msgid "%qE attribute only applies to variables" + msgstr "%qE атрибут применим только к переменным" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, fuzzy, gcc-internal-format + #| msgid "alternatives not allowed in asm flag output" + msgid "alternatives not allowed in % flag output" + msgstr "альтернативы не допускается в выводе ассемблерного флага" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, fuzzy, gcc-internal-format + #| msgid "unknown asm flag output %qs" + msgid "unknown % flag output %qs" + msgstr "неизвестный вывод ассемблерного флага %qs" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, fuzzy, gcc-internal-format + #| msgid "invalid type for asm flag output" + msgid "invalid type for % flag output" +@@ -39971,7 +39963,7 @@ msgstr "целевой процессор не поддерживает кома + msgid "target CPU does not support unaligned accesses" + msgstr "целевой процессор не поддерживает невыровненные доступы" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, fuzzy, gcc-internal-format + #| msgid "the %qs architecture does not support branch-likely instructions" + msgid "This architecture does not support branch protection instructions" +@@ -40032,7 +40024,7 @@ msgstr "граница размера структуры может быть т + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "позиционно-независимый RTP несовместим с -msingle-pic-base" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs not supported in x32 mode" + msgid "FDPIC mode is not supported in Thumb-1 mode" +@@ -40149,7 +40141,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "передача параметров для аргументов типа %qT изменилась в GCC 7.1" +@@ -40201,34 +40193,34 @@ msgstr "доступ к локальной памяти потока в наст + msgid "%s %wd out of range %wd - %wd" + msgstr "%s %wd вне диапазона %wd - %wd" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "невозможно вычислить фактическое положение параметра в стеке" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "Неожиданный thumb1 далекий переход" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "нет свободных low-регистров для выталкивания high-регистров" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, fuzzy, gcc-internal-format + #| msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "подпрограммы Service Routines для прерываний не могут использоваться в режиме Thumb" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, fuzzy, gcc-internal-format + #| msgid "-fstack-check=specific for Thumb-1" + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "-fstack-check=specific для Thumb-1" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, gcc-internal-format + msgid "invalid fpu for target attribute or pragma %qs" + msgstr "" +@@ -40236,22 +40228,22 @@ msgstr "" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "auto fpu выбор в настоящее время здесь не допускается" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, gcc-internal-format + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, gcc-internal-format + msgid "unknown target attribute or pragma %qs" + msgstr "" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, fuzzy, gcc-internal-format + #| msgid "-mcmodel= is not supported on 32-bit systems" + msgid "% flags not supported in thumb1 mode" +@@ -40330,17 +40322,17 @@ msgstr "-fpie не поддерживается" + msgid "%<-fPIE%> is not supported" + msgstr "-fPIE не поддерживается" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, gcc-internal-format + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, gcc-internal-format + msgid "%qs function cannot have arguments" + msgstr "%qs функция не может иметь аргументы" + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, gcc-internal-format + msgid "%qs function cannot return a value" + msgstr "%qs функция не может возвращать значение" +@@ -40682,7 +40674,7 @@ msgstr "некорректный аргумент встроенной функ + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, gcc-internal-format + msgid "invalid argument to built-in function" + msgstr "некорректный аргумент встроенной функции" +@@ -41336,726 +41328,726 @@ msgstr "версии функции не могут быть помечены к + msgid "virtual function multiversioning not supported" + msgstr "мультиверсионность виртуальной функции не поддерживается" + +-#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25106 + #, fuzzy, gcc-internal-format + #| msgid "multiversioning needs ifunc which is not supported on this target" + msgid "multiversioning needs % which is not supported on this target" + msgstr "мультиверсионность требует ifunc, что не поддерживается на этой платформе" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" + msgstr "модель кода %s не поддерживает PIC режим" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, fuzzy, gcc-internal-format + #| msgid "attribute %qE argument not a string" + msgid "attribute %qs argument is not a string" + msgstr "аргумент атрибута %qE не является строковой константой" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, fuzzy, gcc-internal-format + #| msgid "attribute(target(\"%s\")) is unknown" + msgid "attribute %qs argument %qs is unknown" + msgstr "attribute(target(\"%s\")) неизвестен" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, fuzzy, gcc-internal-format + #| msgid "SEQUENCE attribute at %C already specified in TYPE statement" + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "SEQUENCE атрибут в %C уже специфицирован в TYPE операторе" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, fuzzy, gcc-internal-format + #| msgid "%s attribute of %qs conflicts with %s attribute at %L" + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "Атрибут %s %qs конфликтует с атрибутом %s в %L" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, gcc-internal-format + msgid "wrong argument %qs to option %qs" + msgstr "некорректный аргумент %qs для опции %qs" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "диапазоны размера в опции %qs следует увеличить" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" + msgstr "некорректное имя стратегии %qs задано для опции %qs" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "имя стратегии %qs заданное для опции %qs не поддерживается для 32-битного кода" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" + msgstr "неизвестное выравнивание %qs задано для опции %qs" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "максимальное значение для диапазона последнего размера должно быть -1 для опции %qs" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, gcc-internal-format + msgid "too many size ranges specified in option %qs" + msgstr "слишком много диапазонов размера задано в опции %qs" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "Intel MCU psABI не поддерживается в %s режиме" + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "%<-mtune=x86-64%> устарело; используйте вместо этого соответственно %<-mtune=k8%> или %<-mtune=generic%>" + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "% устарело; используйте вместо этого соответственно % или %" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, fuzzy, gcc-internal-format + #| msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code" + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "-mstringop-strategy=rep_8byte не поддерживается для 32-битного кода" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, fuzzy, gcc-internal-format + #| msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code" + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "-mstringop-strategy=rep_8byte не поддерживается для 32-битного кода" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, fuzzy, gcc-internal-format + #| msgid "-mcmodel= is not supported on 32-bit systems" + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "-mcmodel= не поддерживается на 32-битных системах" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "адресный режим %qs не поддерживается в %s-битном режиме" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, fuzzy, gcc-internal-format + #| msgid "%<-Wabi=1%> is not supported, using =2" + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "%<-Wabi=1%> не поддерживается, используется =2" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, fuzzy, gcc-internal-format + #| msgid "transactional memory is not supported with %<-fsanitize=address%>" + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "транзакционная память не поддерживается с %<-fsanitize=address%>" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, fuzzy, gcc-internal-format + #| msgid "transactional memory is not supported with %<-fsanitize=kernel-address%>" + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "транзакционная память не поддерживается с %<-fsanitize=kernel-address%>" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, fuzzy, gcc-internal-format + #| msgid "%<-fcheck-pointer-bounds%> is not supported with %<-fsanitize=bounds%>" + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "%<-fcheck-pointer-bounds%> не поддерживается с %<-fsanitize=bounds%>" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "модель кодирования %s не поддерживается в %s-битном режиме" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "модель кода %qs не поддерживается в режиме x32" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, fuzzy, gcc-internal-format + #| msgid "-masm=intel not supported in this configuration" + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "-masm=intel не поддерживается в этой конфигурации" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "%i-битный режим не компилируется в" + +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "% процессор может использоваться только для %<-mtune=%> ключа" + +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "% процессор может использоваться только для % атрибута" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "% процессор может использоваться только для %<-mtune=%> ключа" + +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "% процессор может использоваться только для % атрибута" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "заданный процессор не поддерживает набор команд x86-64" + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%qs) for %<-march=%> switch" + msgid "bad value %qs for %<-march=%> switch" + msgstr "некорректное значение (%qs) для ключа %<-march=%>" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%qs) for % attribute" + msgid "bad value %qs for % attribute" + msgstr "некорректное значение (%qs) для % атрибута" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "допустимые аргументы для %<-march=%> ключа: %s; имелось в виду %qs?" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "допустимые аргументы для % атрибута: %s; вы имели в виду %qs?" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "допустимые аргументы для %<-march=%> ключа: %s" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "допустимые аргументы для % атрибута: %s" + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%qs) for %<-mtune=%> switch" + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "некорректное значение (%qs) для ключа %<-mtune=%>" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%qs) for % attribute" + msgid "bad value %qs for % attribute" + msgstr "некорректное значение (%qs) для % атрибута" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "допустимые аргументы для %<-mtune=%> ключа: %s; имелось в виду %qs?" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "допустимые аргументы для % атрибута: %s; вы имели в виду %qs?" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "допустимые аргументы для %<-mtune=%> ключа: %s" + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "допустимые аргументы для % атрибута: %s" + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, fuzzy, gcc-internal-format + #| msgid "-mregparm is ignored in 64-bit mode" + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "-mregparm игнорируется в 64-битном режиме" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, fuzzy, gcc-internal-format + #| msgid "-mregparm is ignored for Intel MCU psABI" + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "-mregparm игнорируется для Intel MCU psABI" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, fuzzy, gcc-internal-format + #| msgid "-mregparm=%d is not between 0 and %d" + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "-mregparm=%d не между 0 и %d" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, fuzzy, gcc-internal-format + #| msgid "-mnop-mcount is not compatible with this target" + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "-mnop-mcount несовместимо с этой целью" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "%<-mrtd%> игнорируется в 64-битном режиме" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "% игнорируется в 64-битном режиме" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary is not supported for this target" + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "-mpreferred-stack-boundary не поддерживается для этой целевой платформы" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary=%d is not between %d and %d" + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "-mpreferred-stack-boundary=%d не между %d и %d" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, fuzzy, gcc-internal-format + #| msgid "-mincoming-stack-boundary=%d is not between %d and 12" + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "-mincoming-stack-boundary=%d не между %d и 12" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, fuzzy, gcc-internal-format + #| msgid "-mnop-mcount is not compatible with this target" + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "-mnop-mcount несовместимо с этой целью" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, fuzzy, gcc-internal-format + #| msgid "-mnop-mcount is not implemented for -fPIC" + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "-mnop-mcount не реализовано для -fPIC" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "%<-msseregparm%> используется без SSE включения" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "% используется без SSE включения" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "набор команд SSE отменен, используется арифметика 387" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "набор команд 387 отменен, используется арифметика SSE" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "опробование стека требует %<-maccumulate-outgoing-args%> для корректной работы" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, gcc-internal-format + msgid "stack probing requires % for correctness" + msgstr "опробование стека требует % для корректной работы" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "фиксированный ebp регистр требует %<-maccumulate-outgoing-args%>" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "фиксированный ebp регистр требует %" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, fuzzy, gcc-internal-format + #| msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic" + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "-mfentry не поддерживается для 32 бит в комбинации с -fpic" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, fuzzy, gcc-internal-format + #| msgid "-mno-fentry isn%'t compatible with SEH" + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "-mno-fentry несовместимо с SEH" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, fuzzy, gcc-internal-format + #| msgid "unknown option for -mrecip=%s" + msgid "unknown option for %<-mrecip=%s%>" + msgstr "неизвестная опция для -mrecip=%s" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not a valid number in -mstack-protector-guard-offset=" + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "%qs не есть допустимое число в -mstack-protector-guard-offset" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not a valid offset in -mstack-protector-guard-offset=" + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "%qs не есть допустимое смещение в -mstack-protector-guard-offset=" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not a valid base register in -mstack-protector-guard-reg=" + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "%qs не есть допустимый базовый регистр в -mstack-protector-guard-reg" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, fuzzy, gcc-internal-format + #| msgid "-mnop-mcount is not compatible with this target" + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "-mnop-mcount несовместимо с этой целью" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, gcc-internal-format + msgid "interrupt and naked attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, fuzzy, gcc-internal-format + #| msgid "Only DWARF debug format is supported for interrupt service routine." + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "Только отладочный формат DWARF поддерживается для программы обслуживания прерываний." + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, gcc-internal-format + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, gcc-internal-format + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, fuzzy, gcc-internal-format + #| msgid "%s instructions aren't allowed in %s service routine" + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "%s инструкции не допускаются в %s сервисной программе" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, fuzzy, gcc-internal-format + #| msgid "%s instructions aren't allowed in %s service routine" + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "%s инструкции не допускаются в %s сервисной программе" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, fuzzy, gcc-internal-format + #| msgid "%s instructions aren't allowed in function with no_caller_saved_registers attribute" + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "%s инструкции не допускаются в функции с no_caller_saved_registers атрибутом" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "атрибуты fastcall и regparm несовместимы" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "атрибуты regparam и thiscall несовместимы" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "%qE атрибут требует целый константный аргумент" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "аргумент для %qE атрибута больше чем %d" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "атрибуты fastcall и cdecl несовместимы" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "атрибуты fastcall и stdcall несовместимы" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "атрибуты fastcall и thiscall несовместимы" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "атрибуты stdcall и cdecl несовместимы" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "атрибуты stdcall и fastcall несовместимы" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "атрибуты stdcall и thiscall несовместимы" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "атрибуты cdecl и thiscall несовместимы" + +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, gcc-internal-format + msgid "%qE attribute is used for non-class method" + msgstr "атрибут %qE используется для неклассового метода" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, gcc-internal-format + msgid "%qE incompatible attribute ignored" + msgstr "несовместимый атрибут %qE игнорируется" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, gcc-internal-format + msgid "%qE attribute only available for 32-bit" + msgstr "атрибут %qE допустим только для 32 бит" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, gcc-internal-format + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "аргумент атрибута %qE не ноль и не один" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, fuzzy, gcc-internal-format + #| msgid "ms_abi and sysv_abi attributes are not compatible" + msgid "%qs and %qs attributes are not compatible" + msgstr "атрибуты ms_abi и sysv_abi несовместимы" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "аргументом атрибута %qE должна быть строковая константа" + + # +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, gcc-internal-format + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "программа обслуживания прерываний должна иметь указатель первым аргументом" + +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, fuzzy, gcc-internal-format + #| msgid "interrupt service routine should have unsigned %sint as the second argument" + msgid "interrupt service routine should have %qs as the second argument" + msgstr "программа обслуживания прерываний должна иметь беззнаковый %sint вторым аргументом" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "программа обслуживания прерываний может иметь только указательный аргумент и необязательный целочисленный аргумент" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, fuzzy, gcc-internal-format + #| msgid "interrupt service routine can't have non-void return value" + msgid "interrupt service routine must return %" + msgstr "программа обслуживания прерываний не может иметь не-void возвращаемое значение" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, gcc-internal-format + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "вызов %qD с атрибутом sseregparm без включения SSE/SSE2" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, gcc-internal-format + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "вызов %qT с атрибутом sseregparm без включения SSE/SSE2" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, fuzzy, gcc-internal-format + #| msgid "X32 does not support ms_abi attribute" + msgid "X32 does not support % attribute" + msgstr "X32 не поддерживает ms_abi атрибут" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, fuzzy, gcc-internal-format + #| msgid "ms_hook_prologue is not compatible with nested function" + msgid "% attribute is not compatible with nested function" + msgstr "ms_hook_prologue несовместим с вложенной функцией" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, gcc-internal-format + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "AVX512F векторный аргумент без включения AVX512F изменяет ABI" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, gcc-internal-format + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "AVX512F векторный возврат без включения AVX512F изменяет ABI" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, gcc-internal-format + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "векторный аргумент AVX без включения AVX изменяет ABI" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, gcc-internal-format + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "AVX векторный возврат без включения AVX изменяет ABI" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "SSE векторный аргумент без включения SSE изменяет ABI" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "результат - вектор SSE без включения SSE изменяет ABI" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "аргумент - вектор MMX без включения MMX изменяет ABI" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "возврат вектора MMX без включения MMX изменяет ABI" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "ABI для передачи структуры с элементом flexible array изменен в GCC 4.4" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, fuzzy, gcc-internal-format + #| msgid "the ABI of passing union with long double has changed in GCC 4.4" + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "ABI для передачи объединения с long double изменен в GCC 4.4" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, fuzzy, gcc-internal-format + #| msgid "the ABI of passing structure with complex float member has changed in GCC 4.4" + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "ABI для передачи структуры с элементом complex float изменен в GCC 4.4" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + #, fuzzy + #| msgid "the ABI of passing structure with complex float member has changed in GCC 4.4" + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "ABI для передачи структуры с элементом complex float изменен в GCC 4.4" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "SSE регистровый возврат с выключенным SSE" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "SSE регистровый аргумент с выключенным SSE" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "x87 регистровый возврат с выключенным x87" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, gcc-internal-format + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "вызов %qD с SSE соглашением о вызовах без включения SSE/SSE2" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "это ошибка GCC, которую можно обойти добавлением атрибута used для вызываемой функции" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "ABI для передачи параметров с %d-байтным выравниванием изменен в GCC 4.6" + +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not compatible with %qD" + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "%qD не совместим с %qD" + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, fuzzy, gcc-internal-format + #| msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit" + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "атрибут ms_hook_prologue несовместим с -mfentry для 32 бит" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "" + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute is not supported on this platform" + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "%qE атрибут не поддерживается на данной платформе" + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, fuzzy, gcc-internal-format + #| msgid "nested functions not supported on this target" + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "вложенные функции не поддерживаются для этой платформы" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, fuzzy, gcc-internal-format + #| msgid "-fsplit-stack does not support fastcall with nested function" + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "-fsplit-stack не поддерживает fastcall с вложенной функцией" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, fuzzy, gcc-internal-format + #| msgid "-fsplit-stack does not support 2 register parameters for a nested function" + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" +@@ -42063,84 +42055,84 @@ msgstr "-fsplit-stack не поддерживает 2-регистровые п + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, fuzzy, gcc-internal-format + #| msgid "-fsplit-stack does not support 3 register parameters" + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "-fsplit-stack не поддерживает 3-регистровые параметры" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, fuzzy, gcc-internal-format + #| msgid "unsupported size for integer register" + msgid "% modifier on non-integer register" + msgstr "неподдерживаемый размер для целочисленного регистра" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, gcc-internal-format + msgid "unsupported size for integer register" + msgstr "неподдерживаемый размер для целочисленного регистра" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "расширенные регистры не имеют верхних половин" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "некорректный размер операнда для расширенного регистра" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, fuzzy, gcc-internal-format + #| msgid "non-integer operand used with operand code 'z'" + msgid "non-integer operand used with operand code %" + msgstr "нецелый операнд использован с кодом операнда 'z'" + +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + #, fuzzy + #| msgid "the mangling of % has changed in GCC 4.4" + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "разборка % изменилась в GCC 4.4" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, fuzzy, gcc-internal-format + #| msgid "-mcmodel= is not supported on 32-bit systems" + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "-mcmodel= не поддерживается на 32-битных системах" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, fuzzy, gcc-internal-format + #| msgid "HLE_ACQUIRE not used with ACQUIRE or stronger memory model" + msgid "% not used with % or stronger memory model" + msgstr "HLE_ACQUIRE не использовано с ACQUIRE или более сильной моделью памяти" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, fuzzy, gcc-internal-format + #| msgid "HLE_RELEASE not used with RELEASE or stronger memory model" + msgid "% not used with % or stronger memory model" + msgstr "HLE_RELEASE не использовано с RELEASE или более сильной моделью памяти" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, gcc-internal-format + msgid "unsupported argument type %qT for simd" + msgstr "" + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, fuzzy, gcc-internal-format + #| msgid "-fdirectives-only is incompatible with -traditional" + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" +@@ -42523,7 +42515,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "повторная декларация %qE с конфликтующими атрибутами %qs" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, gcc-internal-format + msgid "%qE attribute requires a string argument" + msgstr "%qE атрибут требует строковый аргумент" +@@ -43744,60 +43736,60 @@ msgstr "" + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "неизвестная модель '#pragma extern_model' '%s'" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, fuzzy, gcc-internal-format + #| msgid "type %qT does not have a known size" + msgid "RVV type %qT does not have a fixed size" + msgstr "тип %qT не имеет известный размер" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, fuzzy, gcc-internal-format + #| msgid "type %qT does not have a known size" + msgid "RVV type %qT does not have a defined alignment" + msgstr "тип %qT не имеет известный размер" + +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, fuzzy, gcc-internal-format + #| msgid "arithmetic on pointer to an incomplete type" + msgid "arithmetic on pointer to RVV type %qT" + msgstr "арифметическая операция над указателем на неполный тип" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, fuzzy, gcc-internal-format + #| msgid "field %qD has incomplete type %qT" + msgid "fields cannot have RVV type %qT" + msgstr "поле %qD имеет неполный тип %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, fuzzy, gcc-internal-format + #| msgid "function parameters cannot have __fp16 type" + msgid "array elements cannot have RVV type %qT" + msgstr "параметры функции не могут иметь тип __fp16" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, fuzzy, gcc-internal-format + #| msgid "cannot allocate an object of abstract type %qT" + msgid "cannot allocate objects with RVV type %qT" + msgstr "невозможно разместить объект абстрактного типа %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, fuzzy, gcc-internal-format + #| msgid "cannot allocate an object of abstract type %qT" + msgid "cannot delete objects with RVV type %qT" + msgstr "невозможно разместить объект абстрактного типа %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, fuzzy, gcc-internal-format + #| msgid "cannot allocate an object of abstract type %qT" + msgid "cannot throw or catch RVV type %qT" + msgstr "невозможно разместить объект абстрактного типа %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, fuzzy, gcc-internal-format + #| msgid "capture by copy of incomplete type %qT" + msgid "capture by copy of RVV type %qT" +@@ -43820,78 +43812,73 @@ msgstr "" + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, fuzzy, gcc-internal-format + #| msgid "the ABI of passing structure with complex float member has changed in GCC 4.4" + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "ABI для передачи структуры с элементом complex float изменен в GCC 4.4" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qE attribute is neither zero, nor one" + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "аргумент атрибута %qE не ноль и не один" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, fuzzy, gcc-internal-format + #| msgid "-mdiv requires -march to subsume the % extension" + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "-mdiv требует -march, чтобы понять % расширение" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, fuzzy, gcc-internal-format + #| msgid "requested ABI requires -march to subsume the %qc extension" + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "запрошенный ABI требует -march, чтобы понять %qc расширение" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, fuzzy, gcc-internal-format + #| msgid "ABI requires -march=rv%d" + msgid "ABI requires %<-march=rv%d%>" + msgstr "ABI требует -march=rv%d" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary=%d is not between %d and %d" + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "-mpreferred-stack-boundary=%d не между %d и %d" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, gcc-internal-format + msgid "%qs is not a valid base register in %qs" + msgstr "" + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, gcc-internal-format + msgid "%qs is not a valid number in %qs" + msgstr "" + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, fuzzy, gcc-internal-format + #| msgid "%qs function cannot have arguments" + msgid "%qs function cannot have different interrupt type" + msgstr "%qs функция не может иметь аргументы" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, fuzzy, gcc-internal-format +@@ -44398,100 +44385,100 @@ msgstr "" + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "отсутствует профилирование 64-битного кода для этого ABI" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, gcc-internal-format + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "использование % в типах AltiVec некорректно" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "использование типов boolean в типах AltiVec некорректно" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "использование % в типах AltiVec некорректно" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, fuzzy, gcc-internal-format + #| msgid "use of decimal floating point types in AltiVec types is invalid" + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "использование типов decimal floating point в типах AltiVec некорректно" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "использование % в типах AltiVec не рекомендуется; используйте %" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, gcc-internal-format + msgid "invalid cpu %qs for %s%qs%s" + msgstr "" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, gcc-internal-format + msgid "%s%qs%s is not allowed" + msgstr "" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, gcc-internal-format + msgid "%s%qs%s is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" + + # +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, gcc-internal-format + msgid "Virtual function multiversioning not supported" + msgstr "мультиверсионность виртуальной функции не поддерживается" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, fuzzy, gcc-internal-format + #| msgid "Builtin function %s requires the -mvsx option" + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "Встроенная функция %s требует опцию -mvsx" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, fuzzy, gcc-internal-format + #| msgid "Builtin function %s requires the -mvsx option" + msgid "type %<__vector_pair%> requires the %qs option" +@@ -45996,7 +45983,7 @@ msgstr "некорректная попытка разместить в реги + msgid "uninitialized % is invalid in C++" + msgstr "неинициализированная константа %qD не допускается в C++" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "%q+D в declare target директиве не имеет отображаемого типа" +@@ -46186,7 +46173,7 @@ msgstr "класс хранения в декларации параметра % + msgid "storage class specified for unnamed parameter" + msgstr "класс хранения задан для неименованного параметра" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "класс хранения задан для имени типа" +@@ -46355,7 +46342,7 @@ msgstr "имя типа объявлено как функция, возвращ + msgid "function definition has qualified void return type" + msgstr "в определении функции задан квалифицированный void-тип возвращаемого значения" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "квалификаторы в описании типа возвращаемого значения функции " +@@ -46482,7 +46469,7 @@ msgstr "в ISO C функции с квалификаторами const и volat + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "элемент структуры или объединения не может иметь переменно модифицируемый тип" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "переменная или поле %qE объявлено void" +@@ -46686,7 +46673,7 @@ msgstr "определение типа в выражении %qs некорре + msgid "%qT defined in underspecified object initializer" + msgstr "неизвестное поле %qE в инициализаторе" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "декларация ничего не описывает" +@@ -46736,7 +46723,7 @@ msgstr "структура не содержит именованных элем + msgid "struct has no members" + msgstr "структура не содержит элементов" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, gcc-internal-format + msgid "flexible array member in union" + msgstr "регулируемый элемент-массив в объединении" +@@ -46782,7 +46769,7 @@ msgstr "повторная декларация %" + msgid "% declared with but defined without fixed underlying type" + msgstr "" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, fuzzy, gcc-internal-format + #| msgid "specified mode too small for enumeral values" + msgid "specified mode too small for enumerated values" +@@ -46832,7 +46819,7 @@ msgstr "в ISO C значения перечислимого типа огран + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "в ISO C значения перечислимого типа ограничены диапазоном типа %" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, fuzzy, gcc-internal-format + #| msgid "inline function %qD given attribute noinline" + msgid "inline function %qD given attribute %qs" +@@ -46863,7 +46850,7 @@ msgstr "прототип для %qD не был предварительно о + msgid "%qD was used with no prototype before its definition" + msgstr "%qD использована без прототипа, до её определению" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, gcc-internal-format + msgid "no previous declaration for %qD" + msgstr "отсутствует предварительная декларация %qD" +@@ -46979,12 +46966,12 @@ msgstr "аргумент %qD не соответствует встроенно + msgid "argument %qD doesn%'t match prototype" + msgstr "аргумент %qD не соответствует прототипу" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "в функции, которая должна возвращать значение, отсутствует оператор return" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, gcc-internal-format + msgid "parameter %qD set but not used" + msgstr "параметру %qD присвоено значение, но он не использован" +@@ -49101,7 +49088,7 @@ msgstr "недостаточно аккуратно вложенные цикл + msgid "collapsed loops not perfectly nested" + msgstr "сливаемые циклы не являются идеально вложенными" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "итерационная переменная %qD не должна быть firstprivate" +@@ -49248,13 +49235,13 @@ msgstr "ожидалось %" + msgid "variant %qD is not a function" + msgstr "%qs в %L не есть функция" + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, fuzzy, gcc-internal-format + #| msgid " types %qT and %qT have incompatible cv-qualifiers" + msgid "variant %qD and base %qD have incompatible types" + msgstr " типы %qT и %qT имеют несовместимые cv-qualifiers" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "" +@@ -49535,7 +49522,7 @@ msgstr "неправильное использование void-выражен + msgid "invalid use of flexible array member" + msgstr "неправильное использование регулируемого элемента-массива в структуре" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "неправильное использование массива с неопределенными границами" +@@ -50517,12 +50504,12 @@ msgstr "" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "инициализация регулируемого элемента-массива" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, gcc-internal-format + msgid "cannot initialize array of %qT from a string literal with type array of %qT" + msgstr "" +@@ -50563,7 +50550,7 @@ msgstr "инициализирующий элемент не может быть + msgid "invalid initializer" + msgstr "неверный инициализатор" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "вектор скрытого типа не может быть инициализирован" +@@ -50578,8 +50565,8 @@ msgstr "избыточные фигурные скобки в конце ини + msgid "braces around scalar initializer" + msgstr "фигурные скобки вокруг скалярного инициализатора" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "инициализация элемента регулируемого элемента-массива во вложенном контексте" +@@ -50670,7 +50657,7 @@ msgstr "избыточные элементы в инициализаторе с + msgid "positional initialization of field in % declared with % attribute" + msgstr "позиционная инициализация поля в % декларированной с % атрибутом" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "не статическая инициализация регулируемого элемента-массива в структуре" +@@ -52092,7 +52079,7 @@ msgstr "нет подходящего % для %qT" + msgid "%q#D is private within this context" + msgstr "%q#D private в данном контексте" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, gcc-internal-format + msgid "declared private here" + msgstr "декларировано private здесь" +@@ -52102,7 +52089,7 @@ msgstr "декларировано private здесь" + msgid "%q#D is protected within this context" + msgstr "%q#D protected в данном контексте" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, gcc-internal-format + msgid "declared protected here" + msgstr "декларировано protected здесь" +@@ -52117,7 +52104,7 @@ msgstr "%q#D недоступно в данном контексте" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "передача NULL в неуказательный аргумент %P в %qD" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, fuzzy, gcc-internal-format + #| msgid " declared here" +@@ -52459,7 +52446,7 @@ msgstr "" + msgid "call to non-function %qD" + msgstr "вызов не функции %qD" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "невозможно вызвать конструктор %<%T::%D%> непосредственно" +@@ -53050,7 +53037,7 @@ msgstr "элемент регулируемого массива %qD в друг + msgid "next member %q#D declared here" + msgstr "следующий элемент %q#D объявлен здесь" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "повторное определение %q#T" +@@ -53174,7 +53161,7 @@ msgstr "" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, fuzzy, gcc-internal-format + #| msgid "C++11 % only available with -std=c++11 or -std=gnu++11" + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" +@@ -53246,7 +53233,7 @@ msgstr "самосравнение всегда дает false" + msgid "failed % attribute assumption" + msgstr "" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, gcc-internal-format + msgid "call to internal function %qE" +@@ -53298,7 +53285,7 @@ msgstr " %qT является неоднозначным базовым кла + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, gcc-internal-format + msgid "call to non-% function %qD" +@@ -53432,7 +53419,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "доступ по пустому указателю в %qE" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -53543,7 +53530,7 @@ msgstr "доступ к неинициализированному элемен + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, gcc-internal-format + msgid "dereferencing a null pointer" +@@ -53624,7 +53611,7 @@ msgstr "Изменение значения в преобразовании из + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "Изменение значения в преобразовании из %qs в %qs в %L" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, gcc-internal-format + msgid "statement is not a constant expression" +@@ -53695,207 +53682,207 @@ msgstr "" + msgid "control passes through definition of %qD with static storage duration" + msgstr "capture переменной %qD с неавтоматическим сроком хранения" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, gcc-internal-format + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "временная нелитерального типа %qT в константном выражении" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, fuzzy, gcc-internal-format + #| msgid "a reinterpret_cast is not a constant expression" + msgid "% is not a constant expression" + msgstr "reinterpret_cast не является константным выражением" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, gcc-internal-format + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "преобразование из указательного типа %qT в арифметический тип %qT в константном выражении" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, fuzzy, gcc-internal-format + #| msgid "%s\"%s\"%s is not allowed" + msgid "cast from %qT is not allowed" + msgstr "%s\"%s\"%s не допускается" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "%qE не есть константное выражение, поскольку оно ссылается на не полностью инициализированную переменную" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, gcc-internal-format + msgid "%(%E)%> is not a constant expression" + msgstr "%(%E)%> не является константным выражением" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, gcc-internal-format + msgid "expression %qE is not a constant expression" + msgstr "выражение %qE не является константным выражением" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "% не есть константное выражение" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, fuzzy, gcc-internal-format + #| msgid "a reinterpret_cast is not a constant expression" + msgid "contract predicate is false in constant expression" + msgstr "reinterpret_cast не является константным выражением" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, fuzzy, gcc-internal-format + #| msgid "expected template-id" + msgid "unexpected template-id %qE" + msgstr "ожидался template-id" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, fuzzy, gcc-internal-format + #| msgid "built-in function %qE must be directly called" + msgid "function concept must be called" + msgstr "внутренняя функция %qE должна вызываться напрямую" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qD is not an integral constant-expression" + msgid "address of a call to %qs is not a constant expression" + msgstr "размер массива %qD не является целочисленным константным выражением" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, gcc-internal-format + msgid "unexpected expression %qE of kind %s" + msgstr "неожиданное выражение %qE вида %s" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "%qE не есть константное выражение, поскольку оно ссылается на mutable подобъекты %qT" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "%qE не есть константное выражение, поскольку оно ссылается на не полностью инициализированную переменную" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "%qE не есть константное выражение, поскольку оно ссылается на mutable подобъекты %qT" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "%qE не есть константное выражение, поскольку оно ссылается на mutable подобъекты %qT" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, fuzzy, gcc-internal-format + #| msgid "invalid cast of an rvalue expression of type %qT to type %qT" + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "некорректное приведение rvalue выражения из типа %qT к типу %qT" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, gcc-internal-format + msgid "lambda capture of %qE is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, fuzzy, gcc-internal-format + #| msgid "reinterpret_cast from integer to pointer" + msgid "% from integer to pointer" + msgstr "reinterpret_cast из целого в указатель" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "address-of объекта %qE с поточно-локальным или автоматическим хранением не есть константное выражение" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, gcc-internal-format + msgid "use of % in a constant expression" + msgstr "использование % в константном выражении" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, gcc-internal-format + msgid "lambda-expression is not a constant expression before C++17" + msgstr "" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, fuzzy, gcc-internal-format + #| msgid "expression %qE is not a constant expression" + msgid "new-expression is not a constant expression before C++20" + msgstr "выражение %qE не является константным выражением" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual functions cannot be % before C++20" + msgstr "виртуальные функции не могут быть friend-функциями" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, fuzzy, gcc-internal-format + #| msgid "typeid-expression is not a constant expression because %qE is of polymorphic type" + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "typeid-expression не есть константное выражение, поскольку %qE полиморфного типа" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, gcc-internal-format + msgid "cast to non-integral type %qT in a constant expression" + msgstr "приведение к нецелочисленному типу %qT в константном выражении" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared % in % function" + msgid "%qD defined % in % context" + msgstr "%qD декларирована % я % функции" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared % in % function" + msgid "%qD defined % in % context" + msgstr "%qD декларирована % я % функции" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, gcc-internal-format + msgid "division by zero is not a constant expression" + msgstr "деление на ноль не есть константное выражение" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "% не есть константное выражение" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, fuzzy, gcc-internal-format + #| msgid "use of % in a constant expression" + msgid "neither branch of % is a constant expression" + msgstr "использование % в константном выражении" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, gcc-internal-format + msgid "non-constant array initialization" + msgstr "неконстантная инициализация массива" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, fuzzy, gcc-internal-format + #| msgid "C++11 % only available with -std=c++11 or -std=gnu++11" + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "C++11 % доступно только с -std=c++11 или -std=gnu++11" + +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, gcc-internal-format, gfc-internal-format + msgid "unexpected AST of kind %s" + msgstr "неожиданное AST вида %s" +@@ -54546,7 +54533,7 @@ msgstr "" + msgid "% declared here" + msgstr "%qD было объявлено здесь" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, fuzzy, gcc-internal-format + #| msgid "no type named %q#T in %q#T" + msgid "no member named %qE in %qT" +@@ -54653,7 +54640,7 @@ msgstr "третий аргумент %<__builtin_prefetch%> должен быт + msgid "no suspend point info for %qD" + msgstr "прототип для %qD не был предварительно определен" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "" +@@ -54676,23 +54663,23 @@ msgstr "в конструкции case нельзя употреблять ук + msgid "variable length arrays are not yet supported in coroutines" + msgstr "граница массив переменной длины неизвестна" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, fuzzy, gcc-internal-format + #| msgid "cannot initialize aggregate of type %qT with a compound literal" + msgid "cannot initialize a return object of type %qT with an rvalue of type %" +@@ -55193,7 +55180,7 @@ msgstr "из предыдущей декларации %qF" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "редекларация %qD отличается в % от предыдущей декларации" + +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, gcc-internal-format + msgid "previous declaration %qD" + msgstr "предыдущая декларация %qD" +@@ -55622,621 +55609,621 @@ msgstr "%qD не является шаблоном функции" + msgid "%q#T is not a class" + msgstr "%q#T не является классом" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "шаблон класса с именем %q#T' отсутствует в %q#T" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, gcc-internal-format + msgid "no type named %q#T in %q#T" + msgstr "нет имени типа %q#T в %q#T" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, gcc-internal-format + msgid "lookup of %qT in %qT is ambiguous" + msgstr "просмотр %qT в %qT неоднозначен" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "% именует %q#T, который не является шаблоном класса" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, fuzzy, gcc-internal-format + #| msgid "% names %q#T, which is not a type" + msgid "% names %q#D, which is not a type" + msgstr "% именует %q#T, который не является типом" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, gcc-internal-format + msgid "template parameters do not match template %qD" + msgstr "параметры шаблона не соответствуют шаблону %qD" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, fuzzy, gcc-internal-format + #| msgid "-faligned-new=%d is not a power of two" + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "-faligned-new=%d не есть степень двойки" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, gcc-internal-format + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, fuzzy, gcc-internal-format + #| msgid "anonymous struct not inside named type" + msgid "anonymous struct with base classes" + msgstr "анонимная структура не внутри именованного типа" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "элемент %q+#D с конструктором недопустим в анонимном агрегатном типе" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "элемент %q+#D с деструктором недопустим в анонимном агрегатном типе" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "элемент %q+#D с операцией присваивания-копирования недопустим в анонимном агрегатном типе" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, gcc-internal-format + msgid "attribute ignored in declaration of %q#T" + msgstr "атрибуты проигнорированы в декларации %q#T" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, gcc-internal-format + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "атрибут для %q#T должен следовать за %qs ключевым словом" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "несколько типов в одной декларации" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "повторная декларация внутреннего типа C++ %qT" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, gcc-internal-format + msgid "% can only be specified for variables or function declarations" + msgstr "% можно задавать только для переменных или деклараций функций" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "отсутствует имя типа в typedef-декларации" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "в ISO C++ анонимные структуры запрещены" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "% может задаваться только для функций" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "% может задаваться только для функций" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "% может быть задан только внутри класса" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "% может быть задан только для конструкторов" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "класс хранения может быть задан только для объектов и функций" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "% может задаваться только для объектов и функций" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "% может задаваться только для объектов и функций" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, gcc-internal-format + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "%<__restrict%> может задаваться только для объектов и функций" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, gcc-internal-format + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "%<__thread%> может задаваться только для объектов и функций" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, gcc-internal-format + msgid "% was ignored in this declaration" + msgstr "% в этой декларации отброшен" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, fuzzy, gcc-internal-format + #| msgid "% cannot be used for type declarations" + msgid "%qs cannot be used for type declarations" + msgstr "% не может использоваться для деклараций типов" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, gcc-internal-format + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "атрибут игнорируется в явной конкретизации %q#T" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, gcc-internal-format + msgid "no attribute can be applied to an explicit instantiation" + msgstr "никакой атрибут не может применяться к явной конкретизации" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, gcc-internal-format + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "игнорирование атрибутов примененных к классу %qT вне определения" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "игнорирование атрибутов примененных к зависимому типу %qT без ассоциированной декларации" + +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, fuzzy, gcc-internal-format + #| msgid "typedef %qD is initialized (use decltype instead)" + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "typedef %qD инициализирован (используйте decltype взамен)" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "декларация %q#D содержит % и инициализирована" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "определение функции %q#D помечено %" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, gcc-internal-format + msgid "%q+#D is not a static data member of %q#T" + msgstr "%q+#D не есть статический элемент данных %q#T" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, gcc-internal-format + msgid "non-member-template declaration of %qD" + msgstr "non-member-template декларация %qD" + +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, gcc-internal-format + msgid "does not match member template declaration here" + msgstr "не соответствует декларации элемента шаблона здесь" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "ISO C++ не разрешает определять %<%T::%D%> как %<%T::%D%>" + +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "повторная инициализация %qD" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "декларация %q#D вне класса не является определением" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, fuzzy, gcc-internal-format + #| msgid "C++11 % only available with -std=c++11 or -std=gnu++11" + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "C++11 % доступно только с -std=c++11 или -std=gnu++11" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, fuzzy, gcc-internal-format + #| msgid "C++11 % only available with -std=c++11 or -std=gnu++11" + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "C++11 % доступно только с -std=c++11 или -std=gnu++11" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "переменная %q#D инициализирована, хотя имеет неполный тип" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "элементы массива %q#D имеют неполный тип" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "агрегатный тип %q#D неполон и не может быть определён" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "переменная %qD декларирована как ссылка, но не инициализирована" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, gcc-internal-format + msgid "name used in a GNU-style designated initializer for an array" + msgstr "имя использовано в определенном в GNU-стиле инициализаторе массива" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "имя %qD использовано в определенном в GNU-стиле инициализаторе массива" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "нетривиально определенные инициализаторы не поддерживаются" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, gcc-internal-format + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "C99 обозначение %qE не является целочисленным константным выражением" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "при инициализации не удалось определить размер %qD" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, gcc-internal-format + msgid "array size missing in %qD" + msgstr "не задан размер массива для %qD" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, gcc-internal-format + msgid "zero-size array %qD" + msgstr "массив %qD имеет нулевой размер" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, gcc-internal-format + msgid "storage size of %qD isn%'t known" + msgstr "размер памяти %qD неизвестен" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, gcc-internal-format + msgid "storage size of %qD isn%'t constant" + msgstr "размер памяти %qD не константа" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, gcc-internal-format + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "простите: семантики inline переменной %q#D являются неверными (запутаетесь с несколькими копиями)" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, gcc-internal-format + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "простите: семантики статических данных inline функции %q#D являются неверными (запутаетесь с несколькими копиями)" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, gcc-internal-format + msgid "you can work around this by removing the initializer" + msgstr "это можно обойти, удалив инициализатор" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, fuzzy, gcc-internal-format + #| msgid "uninitialized const %qD" + msgid "uninitialized %" + msgstr "неинициализированная константа %qD" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, gcc-internal-format + msgid "uninitialized variable %qD in % function" + msgstr "неинициализированная переменная %qD в % функции" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, gcc-internal-format + msgid "uninitialized variable %qD in % context" + msgstr "" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, gcc-internal-format + msgid "%q#T has no user-provided default constructor" + msgstr "%q#T не имеет предоставленный пользователем подразумеваемый конструктор" + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "конструктор не является предоставленным пользователем, поскольку он явно подразумевался в теле класса" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "и неявно определенный конструктор не инициализирует %q#D" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "некорректный тип %qT является инициализатором для вектора типа %qT" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "инициализатор для %qT должен быт заключен в фигурные скобки" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, gcc-internal-format + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "%<[%E] =%> использовано в определенном в GNU-стиле инициализаторе для класса %qT" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "%qT не имеет нестатического элемента данных с именем %qD" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a member of %qT" + msgid "%qD is not a direct member of %qT" + msgstr "%qD не является элементом %qT" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, gcc-internal-format + msgid "invalid initializer for %q#D" + msgstr "некорректный инициализатор для %q#D" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "C99 обозначение %qE вне инициализатора агрегата" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "избыточные элементы в инициализаторе для %qT" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "фигурные скобки вокруг скалярного инициализатора для типа %qT" + +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, fuzzy, gcc-internal-format + #| msgid "braces around scalar initializer for type %qT" + msgid "too many braces around scalar initializer for type %qT" + msgstr "фигурные скобки вокруг скалярного инициализатора для типа %qT" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "отсутствуют фигурные скобки вокруг инициализатора %qT" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, fuzzy, gcc-internal-format + #| msgid "field %qD has incomplete type %qT" + msgid "structured binding has incomplete type %qT" + msgstr "поле %qD имеет неполный тип %qT" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, gcc-internal-format + msgid "elements of array %q#T have incomplete type" + msgstr "элементы массива %q#T имеют неполный тип" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, gcc-internal-format + msgid "variable-sized compound literal" + msgstr "составной литерал переменного размера" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, gcc-internal-format + msgid "%q#D has incomplete type" + msgstr "%q#D имеет неполный тип" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, gcc-internal-format + msgid "scalar object %qD requires one element in initializer" + msgstr "в инициализаторе скалярного объекта %qD должен быть только один элемент" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, gcc-internal-format + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "в C++98 %qD следует инициализировать при помощи конструктора, а не %<{...}%>" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "массив %qD инициализируется строковой константой %qE, заключённой в скобки" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "инициализатор недопустим для статического элемента с конструктором" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "неконстантная инициализация внутри класса некорректна для статического элемента %qD" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "неконстантная инициализация внутри класса некорректна для non-inline статического элемента %qD" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "(запрошена инициализация вне класса)" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, gcc-internal-format + msgid "reference %qD is initialized with itself" + msgstr "ссылка %qD инициализируется собой" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, fuzzy, gcc-internal-format + #| msgid "%<[*]%> not in a declaration" + msgid "could not find variant declaration" + msgstr "%<[*]%> не является декларацией" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, fuzzy, gcc-internal-format + #| msgid "too few arguments to constructor %q#D" + msgid "% on constructor %qD" + msgstr "слишком мало аргументов для конструктора %q#D" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, fuzzy, gcc-internal-format + #| msgid "redeclaration of enumerator %q+D" + msgid "% on destructor %qD" + msgstr "повторная декларация перечислимого типа %q+D" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, gcc-internal-format + msgid "% on defaulted %qD" + msgstr "" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, gcc-internal-format + msgid "% on deleted %qD" + msgstr "" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, gcc-internal-format + msgid "% on virtual %qD" + msgstr "" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "присваивание (а не инициализация) в декларации" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, gcc-internal-format + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, gcc-internal-format + msgid "% storage class specifier used" + msgstr "использован % спецификатор класса хранения" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "декларация %q#D не имеет инициализатора" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, fuzzy, gcc-internal-format + #| msgid "initializer for % has function type (did you forget the %<()%> ?)" + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "инициализатор для % имеет тип функции (вы забыли %<()%> ?)" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, fuzzy, gcc-internal-format + #| msgid "return type %q#T is incomplete" + msgid "deduced type %qT for %qD is incomplete" + msgstr "тип результата %q#T неполный" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, gcc-internal-format + msgid "variable concept has no initializer" + msgstr "переменная concept не имеет инициализатора" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "перекрытие предыдущей декларации %q#D" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to variables in static storage" + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "атрибут %qE применим только к переменным в статической памяти" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "функция %q#D инициализирована как переменная" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr "невозможна декомпозиция типа класса %qT, так как он содержит анонимный элемент структуры" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "невозможна декомпозиция типа класса %qT, так как он имеет анонимный элемент объединения" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, gcc-internal-format + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "невозможна декомпозиция типа класса %qT: и он и его базовый класс %qT имеют нестатические элементы данных" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "невозможна декомпозиция типа класса %qT: его базовые классы %qT и %qT имеют нестатические элементы данных" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, gcc-internal-format + msgid "structured binding refers to incomplete type %qT" + msgstr "" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, gcc-internal-format + msgid "cannot decompose variable length array %qT" + msgstr "невозможна декомпозиция массива переменной длины %qT" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, gcc-internal-format, gfc-internal-format + msgid "%u name provided for structured binding" + msgid_plural "%u names provided for structured binding" +@@ -56244,7 +56231,7 @@ msgstr[0] "" + msgstr[1] "" + msgstr[2] "" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" +@@ -56252,7 +56239,7 @@ msgstr[0] "" + msgstr[1] "" + msgstr[2] "" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" +@@ -56260,1719 +56247,1719 @@ msgstr[0] "" + msgstr[1] "" + msgstr[2] "" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, gcc-internal-format + msgid "cannot decompose variable length vector %qT" + msgstr "" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, gcc-internal-format + msgid "%::value%> is not an integral constant expression" + msgstr "%::value%> не является целочисленным константным выражением" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, gcc-internal-format + msgid "in initialization of structured binding variable %qD" + msgstr "" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, gcc-internal-format + msgid "cannot decompose union type %qT" + msgstr "невозможна декомпозиция типа объединения %qT" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, gcc-internal-format + msgid "cannot decompose non-array non-class type %qT" + msgstr "невозможна декомпозиция non-array non-class типа %qT" + +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, gcc-internal-format + msgid "cannot decompose lambda closure type %qT" + msgstr "невозможна декомпозиция типа lambda замыкания %qT" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, gcc-internal-format + msgid "structured binding refers to incomplete class type %qT" + msgstr "" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, gcc-internal-format + msgid "cannot decompose class type %qT without non-static data members" + msgstr "невозможна декомпозиция типа класса %qT без нестатических элементов данных" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "нелокальная переменная %qD декларированная %<__thread%> требует динамической инициализации" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "нелокальная переменная %qD декларированная %<__thread%> имеет нетривиальный деструктор" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "C++11 % допускает динамическую инициализацию и уничтожение" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, gcc-internal-format + msgid "initializer fails to determine size of %qT" + msgstr "при инициализации не удалось определить размер %qT" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, gcc-internal-format + msgid "array size missing in %qT" + msgstr "не задан размер массива в %qT" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, gcc-internal-format + msgid "zero-size array %qT" + msgstr "нулевой размер массива %qT" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "деструктор чужого класса %qT не может быть элементом" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "конструктор чужого класса %qT не может быть элементом" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, gcc-internal-format + msgid "%qD declared as a % variable" + msgstr "%qD декларирована как % переменная" + +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "спецификаторы % и % для функции %qD некорректны в декларации переменной" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, gcc-internal-format + msgid "%qD declared as a % parameter" + msgstr "%qD декларирован как % параметр" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, gcc-internal-format + msgid "%qD declared as an % parameter" + msgstr "%qD декларирован как % параметр" + +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "спецификаторы % и % для функции %qD некорректны в декларации параметра" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, gcc-internal-format + msgid "%qD declared as a % type" + msgstr "%qD декларирован как % тип" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, gcc-internal-format + msgid "%qD declared as an % type" + msgstr "%qD декларирован как % тип" + +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "спецификаторы % и % для функции %qD некорректны в декларации типа" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, gcc-internal-format + msgid "%qD declared as a % field" + msgstr "%qD декларирован как % поле" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, gcc-internal-format + msgid "%qD declared as an % field" + msgstr "%qD декларирован как % поле" + +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "спецификаторы % и % для функции %qD некорректны в декларации поля" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "%q+D декларировано как friend" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "%q+D декларировано со спецификацией исключений" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "определение %qD вне пространства имён, объемлющего %qT" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "статическая функция-член %q#D объявлена с квалификаторами типа" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, gcc-internal-format + msgid "concept %q#D declared with function parameters" + msgstr "concept %q#D декларирован с параметрами функциями" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, gcc-internal-format + msgid "concept %q#D declared with a deduced return type" + msgstr "concept %q#D декларирован с выведенным типом возврата" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, gcc-internal-format + msgid "concept %q#D with non-% return type %qT" + msgstr "concept %q#D с non-% типом возврата %qT" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, gcc-internal-format + msgid "concept %qD has no definition" + msgstr "concept %qD не имеет определения" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, fuzzy, gcc-internal-format + #| msgid "function cannot be instrumented" + msgid "a function concept cannot be constrained" + msgstr "функция не может быть инструментирована" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a template function" + msgid "constraints on a non-templated function" + msgstr "%qD не является функцией шаблоном" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "определение явной специализации %qD в friend-декларации" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "некорректное использование идентификатора шаблона %qD в декларации первичного шаблона" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "аргументы по умолчанию не допускаются в декларации специализации friend-шаблона %qD" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "не допускается использовать % в декларации специализации friend-шаблона %qD" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %q#D outside of class is not definition" + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "декларация %q#D вне класса не является определением" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "недопустимая декларация %<::main%> как шаблона" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "недопустимая декларация %<::main%> как inline-функции" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %<::main%> to be static" + msgid "cannot declare %<::main%> to be %qs" + msgstr "недопустимая декларация %<::main%> как статической функции" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "недопустимая декларация %<::main%> как статической функции" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, gcc-internal-format + msgid "static member function %qD cannot have cv-qualifier" + msgstr "статическая элемент-функция %qD не может иметь cv-квалификатор" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, gcc-internal-format + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "не-элемент-функция %qD не может иметь cv-квалификатор" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, gcc-internal-format + msgid "static member function %qD cannot have ref-qualifier" + msgstr "статическая элемент-функция %qD не может иметь ref-квалификатор" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, gcc-internal-format + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "non-member функция %qD не может иметь ref-квалификатор" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, fuzzy, gcc-internal-format + #| msgid "deduction guide %qD must be declared at namespace scope" + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "руководство вывода %qD должно декларироваться в контексте пространства имен" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, fuzzy, gcc-internal-format + #| msgid "deduction guide %qD must be declared at namespace scope" + msgid "deduction guide %qD must have the same access as %qT" + msgstr "руководство вывода %qD должно декларироваться в контексте пространства имен" + +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, gcc-internal-format + msgid "deduction guide %qD must not have a function body" + msgstr "руководство вывода %qD не должно иметь тело функции" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, gcc-internal-format + msgid "literal operator with C linkage" + msgstr "литеральный оператор с C-привязкой" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, gcc-internal-format + msgid "%qD has invalid argument list" + msgstr "%qD имеет некорректный список аргументов" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "целый суффикс %qs перекрыт реализацией" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, fuzzy, gcc-internal-format + #| msgid "floating point suffix %qs shadowed by implementation" + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "суффикс плавающей точки %qs перекрыт реализацией" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "суффиксы литеральных операторов без предшествующего %<_%> зарезервированы для будущей стандартизации" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, gcc-internal-format + msgid "%qD must be a non-member function" + msgstr "%qD должен быть не-элемент-функцией" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, gcc-internal-format + msgid "%<::main%> must return %" + msgstr "%<::main%> должна возвращать %" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "определение неявно декларированного %qD" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, gcc-internal-format + msgid "definition of explicitly-defaulted %q+D" + msgstr "определение явно подразумеваемого %q+D" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, gcc-internal-format + msgid "%q#D explicitly defaulted here" + msgstr "%q#D явно подразумевается здесь" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "нет элемента-функции %q#D в классе %qT" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a global variable" + msgstr "невозможно декларировать %<::main%> как глобальную переменную" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, gcc-internal-format + msgid "a non-template variable cannot be %" + msgstr "non-template переменная не может быть %" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, fuzzy, gcc-internal-format + #| msgid "deduction guide %qD must be declared at namespace scope" + msgid "concept must be defined at namespace scope" + msgstr "руководство вывода %qD должно декларироваться в контексте пространства имен" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "concept должен иметь тип %" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, fuzzy, gcc-internal-format + #| msgid "variable concept has no initializer" + msgid "a variable concept cannot be constrained" + msgstr "переменная concept не имеет инициализатора" + +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "инициализация внутри класса статического элемента данных %q#D неполного типа" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, gcc-internal-format + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "% требуется для инициализации внутри класса статического элемента данных %q#D нецелого типа" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "инициализация внутри класса статического элемента данных %q#D нелитерального типа" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "некорректная инициализация внутри класса статического элемента данных нецелочисленного типа %qT" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "ISO C++ запрещает инициализацию внутри класса неконстантного статического элемента %qD" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "ISO C++ запрещает инициализацию элемента-константы %qD нецелочисленного типа %qT" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "размер массива %qD имеет нецелочисленный тип %qT" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "размер массива имеет нецелочисленный тип %qT" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "размер массива %qD не является целочисленным константным выражением" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "размер массива не является целочисленным константным выражением" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "ISO C++ запрещает массив нулевого размера %qD" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "ISO C++ запрещает массивы нулевого размера" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array %qD" + msgstr "ISO C++ запрещает массив переменного размера %qD" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array" + msgstr "ISO C++ запрещает массивы переменного размера" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "используется массив переменного размера %qD" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "используется массив переменного размера" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "переполнение в размерности массива" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as array of %qT" + msgid "%qD declared as array of template placeholder type %qT" + msgstr "%qD декларировано как массив %qT" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member reference type %qT" + msgid "creating array of template placeholder type %qT" + msgstr "создание указателя на элемент ссылочного типа %qT" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, gcc-internal-format + msgid "declaration of %qD as array of void" + msgstr "декларация %qD как массива void" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, gcc-internal-format + msgid "creating array of void" + msgstr "создание массива void" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, gcc-internal-format + msgid "declaration of %qD as array of functions" + msgstr "декларация %qD как массива функций" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, gcc-internal-format + msgid "creating array of functions" + msgstr "создание массива функций" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, gcc-internal-format + msgid "declaration of %qD as array of references" + msgstr "декларация %qD как массива ссылок" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, gcc-internal-format + msgid "creating array of references" + msgstr "создание массива ссылок" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, gcc-internal-format + msgid "declaration of %qD as array of function members" + msgstr "декларация %qD как массива элементов-функций" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, gcc-internal-format + msgid "creating array of function members" + msgstr "создание массива элементов-функций" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "декларация многомерного массива %qD должна определять границы для всех размерностей, кроме первой" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "в многомерном массиве должны быть определены границы для всех размерностей, кроме первой" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, fuzzy, gcc-internal-format + #| msgid "variable length array is used" + msgid "variable-length array of %" + msgstr "используется массив переменного размера" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "некорректная спецификация возвращаемого типа в конструкторе" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, gcc-internal-format + msgid "qualifiers are not allowed on constructor declaration" + msgstr "квалификаторы не допускаются в декларации конструктора" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "некорректная спецификация возвращаемого типа в деструкторе" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, gcc-internal-format + msgid "qualifiers are not allowed on destructor declaration" + msgstr "квалификаторы не допускаются в декларации деструктора" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, gcc-internal-format + msgid "return type specified for %" + msgstr "тип результата задан для %" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "квалификаторы не допускаются в декларации %" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, gcc-internal-format + msgid "return type specified for deduction guide" + msgstr "возвращаемый тип задан для руководства вывода" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "квалификаторы не допускаются в декларации руководства вывода" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, gcc-internal-format + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, fuzzy, gcc-internal-format + #| msgid "decl-specifier in declaration of deduction guide" + msgid "% in declaration of deduction guide" + msgstr "decl-спецификатор в декларации руководства вывода" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "декларация безымянной переменной или поля с типом void" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "декларация переменной или поля с типом void" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, gcc-internal-format + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "% спецификатор некорректен для переменной %qD декларированной в контексте блока" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, fuzzy, gcc-internal-format + #| msgid "inline namespaces only available with -std=c++11 or -std=gnu++11" + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "inline namespaces доступны только с -std=c++11 или -std=gnu++11" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "%qT как тип а не плоский %" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "% cannot be cv-qualified" + msgstr "деструкторы не могут быть cv-квалифицированы" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "недопустимое использование квалифицированного имени %<::%D%>" + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "недопустимое использование квалифицированного имени %<%T::%D%>" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "недопустимое использование квалифицированного имени %<%D::%D%>" + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, fuzzy, gcc-internal-format + #| msgid "%qT is not a class or namespace" + msgid "%q#T is not a class or namespace" + msgstr "%qT не является классом или пространством имён" + +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-function" + msgid "declaration of %qE as non-function" + msgstr "декларация %qD как не-функции" + +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-member" + msgid "declaration of %qE as non-member" + msgstr "декларация %qD как не-элемента" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "декларатор отсутствует; используется зарезервированное слово %qD" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "определение функции не объявляет параметры" + +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "декларация %qD как не-функции" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, gcc-internal-format + msgid "declaration of %qD as %" + msgstr "декларация %qD как %" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, gcc-internal-format + msgid "declaration of %qD as parameter" + msgstr "декларация %qD как параметра" + + # +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, fuzzy, gcc-internal-format + #| msgid "no classes specified" + msgid "both %qs and %qs specified" + msgstr "нет специфицированных классов" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, fuzzy, gcc-internal-format + #| msgid "% cannot appear in a typedef declaration" + msgid "%qs cannot appear in a typedef declaration" + msgstr "% не может встречаться в typedef декларации" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "два или более типа в декларации имени %qs" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, gcc-internal-format + msgid "ISO C++ does not support plain % meaning %" + msgstr "ISO C++ не поддерживает плоские % означающие %" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "ISO C++ запрещает декларации %qs без типа" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, gcc-internal-format + msgid "%<__int%d%> is not supported by this target" + msgstr "%<__int%d%> не поддерживается этой целевой платформой" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, gcc-internal-format + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "ISO C++ не поддерживает %<__int%d%> для %qs" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, fuzzy, gcc-internal-format + #| msgid "% and % specified together for %qs" + msgid "% and % specified together" + msgstr "% и % одновременно заданы для %qs" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, fuzzy, gcc-internal-format + #| msgid "% and % specified together for %qs" + msgid "% and % specified together" + msgstr "% и % одновременно заданы для %qs" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, fuzzy, gcc-internal-format + #| msgid "%qs used with %qE" + msgid "%qs specified with %qT" + msgstr "%qs использован с %qE" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, fuzzy, gcc-internal-format + #| msgid "%qs used with %qE" + msgid "%qs specified with %qD" + msgstr "%qs использован с %qE" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "%qs указан с %" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "%qs указан с %" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, gcc-internal-format + msgid "complex invalid for %qs" + msgstr "спецификатор complex для %qs недопустим" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, fuzzy, gcc-internal-format + #| msgid "template placeholder type %qT must be followed by a simple declarator-id" + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "за типом заполнителя шаблона %qT должен следовать простой declarator-id" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, gcc-internal-format + msgid "member %qD cannot be declared both % and %" + msgstr "элемент %qD не может быть декларирован и как % и как %" + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, fuzzy, gcc-internal-format + #| msgid "member %qD cannot be declared both % and %" + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "элемент %qD не может быть декларирован и как % и как %" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "typedef-декларация не допускается в декларации параметров" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, gcc-internal-format + msgid "storage class specified for template parameter %qs" + msgstr "класс хранения задан для параметра шаблона %qs" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "класс хранения в декларации параметра %qs" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, fuzzy, gcc-internal-format + #| msgid "a parameter cannot be declared %" + msgid "a parameter cannot be declared %qs" + msgstr "параметр не может быть декларирован %" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "% вне декларации класса" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, gcc-internal-format + msgid "structured binding declaration cannot be %qs" + msgstr "" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, fuzzy, gcc-internal-format + #| msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11" + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "unrestricted объединения допустимы только с -std=c++11 или -std=gnu++11" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer for structured binding declaration" + msgid "%-qualified structured binding is deprecated" + msgstr "некорректный инициализатор для структурированной связывающей декларации" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, gcc-internal-format + msgid "structured binding declaration cannot be C++98 %" + msgstr "" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, gcc-internal-format + msgid "structured binding declaration cannot have type %qT" + msgstr "" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "тип должен быть cv-qualified % или ссылкой на cv-qualified %" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, gcc-internal-format + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, gcc-internal-format + msgid "multiple storage classes in declaration of %qs" + msgstr "в декларации %qs задано более одного класса хранения" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "для %qs задан класс хранения" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "вложенная функция %qs объявлена %" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "имя %qs описано на верхнем уровне с классом хранения %" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "имя %qs на уровне функции неявно имеет класс auto и объявлено %<__thread%>" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "класс хранения не допускается в декларации friend-функции" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, gcc-internal-format + msgid "attribute ignored" + msgstr "атрибут проигнорирован" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "атрибут, относящийся к спецификатору типа, игнорируется" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, gcc-internal-format + msgid "unnecessary parentheses in declaration of %qs" + msgstr "" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, fuzzy, gcc-internal-format + #| msgid "Expected left parenthesis" + msgid "remove parentheses" + msgstr "Ожидалась открывающая скобка" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, gcc-internal-format + msgid "requires-clause on return type" + msgstr "requires-клаузула для типа возврата" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "%qs функция использует % спецификатор типа без завершающего типа возврата" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, fuzzy, gcc-internal-format + #| msgid "deduced return type only available with -std=c++14 or -std=gnu++14" + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "выведенный тип возврата доступен только с -std=c++14 или -std=gnu++14" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, gcc-internal-format + msgid "virtual function cannot have deduced return type" + msgstr "виртуальная функция не может иметь выведенный тип возврата" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "%qs функция с завершающим типом возврата имеет %qT в качестве своего типа а не обычный %" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, fuzzy, gcc-internal-format + #| msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "%qs функция с завершающим типом возврата имеет %qT в качестве своего типа а не обычный %" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %" + msgid "invalid use of %" + msgstr "неверное употребление спецификатора %" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, gcc-internal-format + msgid "deduced class type %qD in function return type" + msgstr "" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, gcc-internal-format + msgid "deduction guide for %qT must have trailing return type" + msgstr "руководство вывода для %qT должно иметь завершающий тип возврата" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "хвостовой тип возврата %qT руководства вывода не есть специализация %qT" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, fuzzy, gcc-internal-format + #| msgid "trailing return type only available with -std=c++11 or -std=gnu++11" + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "завершающий тип возврата доступен только с -std=c++11 или -std=gnu++11" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "%qs функция с завершающим типом возврата не декларирована с % спецификатором типа" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, gcc-internal-format + msgid "a conversion function cannot have a trailing return type" + msgstr "функция преобразования не может иметь завершающий тип возврата" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, fuzzy, gcc-internal-format + #| msgid "%<_Atomic%>-qualified return type of %qD" + msgid "%-qualified return type is deprecated" + msgstr "%<_Atomic%>-квалифицированный возвращаемый тип в %qD" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, gcc-internal-format + msgid "%qs declared as function returning a function" + msgstr "%qs объявлена как функция, возвращающая функцию" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "%qs объявлена как функция, возвращающая массив" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, fuzzy, gcc-internal-format + #| msgid "% function returns non-void value" + msgid "% on function return type is not allowed" + msgstr "функция с атрибутом noreturn возвращает не-void значение" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "деструктор не может быть статической элементом-функцией" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "конструктор не может быть статической элементом-функцией" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "деструкторы не могут быть cv-квалифицированы" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "конструкторы не могут быть cv-квалифицированы" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, gcc-internal-format + msgid "destructors may not be ref-qualified" + msgstr "деструкторы не могут быть ref-квалифицированы" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, gcc-internal-format + msgid "constructors may not be ref-qualified" + msgstr "конструкторы не могут быть ref-квалифицированы" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, gcc-internal-format + msgid "constructors cannot be declared %" + msgstr "конструкторы не могут быть декларированы %" + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "виртуальные функции не могут быть friend-функциями" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "friend-декларация вне определения класса" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, fuzzy, gcc-internal-format + #| msgid "can%'t define friend function %qs in a local class definition" + msgid "cannot define friend function %qs in a local class definition" + msgstr "невозможно определить friend-функцию %qs в определении локального класса" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "деструкторы не могут иметь параметров" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "недопустимая декларация указателя на %q#T" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "недопустимая декларация ссылки на %q#T" + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "недопустимая декларация указателя на элемент %q#T" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, gcc-internal-format + msgid "cannot declare reference to qualified function type %qT" + msgstr "невозможно декларировать ссылку на квалифицированный тип функции %qT" + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, gcc-internal-format + msgid "cannot declare pointer to qualified function type %qT" + msgstr "невозможно декларировать указатель на квалифицированный тип функции %qT" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "Недопустимо определять ссылку на %q#T, которая не будет определением типа или аргументом шаблона" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "идентификатор шаблона %qD использован как декларатор" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "элементы-функции неявно считаются friend-функциями своего класса" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "избыточная квалификация %<%T::%> элемента %qs" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, gcc-internal-format + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "" + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, gcc-internal-format + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "" + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "недопустимая декларация элемента %<%T::%s%> внутри %qT" + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, gcc-internal-format + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "не параметрический %qs не может содержать параметры" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "элемент данных не может иметь тип %qT модифицируемого размера" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "параметр не может иметь модифицированный тип `%T" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "% вне декларации класса" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, gcc-internal-format + msgid "% in friend declaration" + msgstr "% в friend декларации" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, gcc-internal-format + msgid "only declarations of constructors and conversion operators can be %" + msgstr "только декларации конструкторов и операторов преобразования могут быть %" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "недопустимая декларация не-элемента %qs как %" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "недопустимая декларация не объектного элемента %qs как %" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "недопустимая декларация функции %qs как %" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, fuzzy, gcc-internal-format + #| msgid "static %qs cannot be declared %" + msgid "% %qs cannot be declared %" + msgstr "недопустимая декларация статического %qs как %" + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, fuzzy, gcc-internal-format + #| msgid "const %qs cannot be declared %" + msgid "% %qs cannot be declared %" + msgstr "недопустимая декларация константного %qs как %" + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, gcc-internal-format + msgid "reference %qs cannot be declared %" + msgstr "ссылка %qs не может быть декларирована %" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, fuzzy, gcc-internal-format + #| msgid "types may not be defined in conditions" + msgid "typedef may not be a function definition" + msgstr "типы нельзя определять в условиях" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, fuzzy, gcc-internal-format + #| msgid "types may not be defined in conditions" + msgid "typedef may not be a member function definition" + msgstr "типы нельзя определять в условиях" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, fuzzy, gcc-internal-format + #| msgid "%<[*]%> not in a declaration" + msgid "% not allowed in alias declaration" + msgstr "%<[*]%> не является декларацией" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, gcc-internal-format + msgid "typedef declared %" + msgstr "typedef декларирован %" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "requires-клаузула для typedef" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, gcc-internal-format + msgid "typedef name may not be a nested-name-specifier" + msgstr "typedef имя не может быть вложенным спецификатором имени" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "ISO C++ запрещает определять вложенный тип %qD с тем же именем, что и объемлющий класс" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "в декларации friend-класса использован квалификатор %" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "параметры шаблона не могут быть friend" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "в friend-декларации требуется указание класса: %" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "в friend-декларации требуется указание класса: %" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "попытка сделать класс %qT \"другом\" глобальной области видимости" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "некорректные квалификаторы для типа функции, не являющейся элементом" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "requires-клаузула для идентификатора типа" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "абстрактный декларатор %qT использован в качестве декларатора" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, gcc-internal-format + msgid "requires-clause on declaration of non-function type %qT" + msgstr "requires-клаузула в декларации нефункционального типа %qT" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "недопустимое использование %<::%> в декларации параметра" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare parameter to be of abstract type %qT" + msgid "cannot declare a parameter with %" + msgstr "невозможно декларировать параметр с абстрактным типом %qT" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, gcc-internal-format + msgid "% parameter not permitted in this context" + msgstr "% параметр недопустим в данном контексте" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, gcc-internal-format + msgid "parameter declared %" + msgstr "параметр декларирован %" + +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "некорректное использование имени шаблона %qE без списка аргументов" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, gcc-internal-format + msgid "non-static data member declared with placeholder %qT" + msgstr "нестатический элемент данных декларирован с заполнителем %qT" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, gcc-internal-format + msgid "ISO C++ forbids flexible array member %qs" + msgstr "ISO C++ запрещает элемент регулируемый массив %qs" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, gcc-internal-format + msgid "ISO C++ forbids flexible array members" + msgstr "ISO C++ запрещает элементы регулируемые массивы" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, gcc-internal-format + msgid "invalid use of %<::%>" + msgstr "недопустимое использование %<::%>" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, gcc-internal-format + msgid "declaration of function %qD in invalid context" + msgstr "декларация функции %qD в неверном контексте" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, gcc-internal-format + msgid "function %qD declared % inside a union" + msgstr "функция %qD декларирована % внутри объединения" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, gcc-internal-format + msgid "%qD cannot be declared %, since it is always static" + msgstr "%qD не может быть декларирована %, поскольку она всегда статическая" + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "ожидалось квалифицированное имя в friend декларации для деструктора %qD" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, gcc-internal-format + msgid "declaration of %qD as member of %qT" + msgstr "декларация %qD как элемента %qT" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, fuzzy, gcc-internal-format + #| msgid "a destructor cannot be %" + msgid "a destructor cannot be %qs" + msgstr "деструктор не может быть %" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "ожидалось квалифицированное имя в friend декларации для конструктора %qD" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, gcc-internal-format + msgid "a constructor cannot be %" + msgstr "конструктор не может быть %" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, gcc-internal-format + msgid "a concept cannot be a member function" + msgstr "concept не может быть элементом-функцией" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, fuzzy, gcc-internal-format + #| msgid "cannot open %s" + msgid "%qD cannot be %qs" + msgstr "ошибка открытия %s" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, gcc-internal-format + msgid "specialization of variable template %qD declared as function" + msgstr "специализация переменного шаблона %qD декларирована как функция" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, gcc-internal-format + msgid "variable template declared here" + msgstr "переменный шаблон декларирован здесь" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, gcc-internal-format + msgid "field %qD has incomplete type %qT" + msgstr "поле %qD имеет неполный тип %qT" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "имя %qT имеет неполный тип" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "%qE не является ни функцией, ни элементом-функцией; не может быть декларировано как friend" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, fuzzy, gcc-internal-format + #| msgid "%qE is neither function nor member function; cannot be declared friend" + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "%qE не является ни функцией, ни элементом-функцией; не может быть декларировано как friend" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, fuzzy, gcc-internal-format + #| msgid "an attribute that appertains to a type-specifier is ignored" + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "атрибут, относящийся к спецификатору типа, игнорируется" + +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, fuzzy, gcc-internal-format + #| msgid "static data member %qE declared %" + msgid "static data member %qE declared %qs" + msgstr "статический элемент данных %qE декларирован %" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, gcc-internal-format + msgid "% static data member %qD must have an initializer" + msgstr "" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, fuzzy, gcc-internal-format + #| msgid "non-static data member %qE declared %" + msgid "non-static data member %qE declared %qs" + msgstr "нестатический элемент данных %qE объявлен как %" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "некорректный класс хранения % для функции %qs" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "некорректный класс хранения % для функции %qs" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "некорректный класс хранения %<__thread%> для функции %qs" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "класс хранения % недопустим для функции %qs" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, gcc-internal-format + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "virt-спецификаторы в %qs не допускаются вне определения класса" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "% спецификатор некорректен для функции %qs декларированной вне глобального контекста" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "некорректно указано % для функции %qs, объявленной вне глобальной области видимости" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "виртуальная функция %qs не является элементом класса" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "%qs определен не в контексте класса" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, gcc-internal-format + msgid "%qs declared in a non-class scope" + msgstr "%qs декларирован не в контексте класса" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "недопустимая декларация статического элемента-функции %qD" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "недопустимая декларация статической функции внутри другой функции" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "слово % недопустимо при определении (в отличие от объявления) статического элемента данных в классе" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "статический элемент %qD объявлен как %" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "недопустимая явная extern-декларация элемента %q#D" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, gcc-internal-format + msgid "declaration of % variable %qD is not a definition" + msgstr "" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, fuzzy, gcc-internal-format + #| msgid "a parameter cannot be declared %" + msgid "a variable cannot be declared %" + msgstr "параметр не может быть декларирован %" + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "% декларация %qs с инициализацией" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "для %qs задан спецификатор % и инициализатор" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, gcc-internal-format + msgid "default argument %qE uses %qD" + msgstr "аргумент по умолчанию %qE использует %qD" + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "аргумент по умолчанию %qE использует локальную переменную %qD" + + # +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, gcc-internal-format + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "некорректное использование cv-квалифицированного типа %qT в декларации параметра" + + # +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, gcc-internal-format + msgid "invalid use of type % in parameter declaration" + msgstr "некорректное использование типа % в декларации параметра" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, fuzzy, gcc-internal-format + #| msgid "%<_Atomic%>-qualified parameter type %qT of %q+D" + msgid "%-qualified parameter is deprecated" + msgstr "%<_Atomic%>-квалифицированный параметр типа %qT для %q+D" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "некорректная декларация параметра %qD с типом метода" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "параметр %qD включает указатель на массив с неизвестной границей %qT" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "параметр %qD включает ссылку на массив с неизвестной границей %qT" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "некорректный конструктор; возможно, вы имели в виду %<%T (const %T&)%>" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "декларация %qD может не действовать в пространстве имён" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "%qD можно не определять статической" + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be a nonstatic member function" + msgid "%qD must be a non-static member function" + msgstr "%qD должен быть нестатической элементом-функцией" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be a non-member function" + msgid "%qD must be a member function" + msgstr "%qD должен быть не-элемент-функцией" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, fuzzy, gcc-internal-format + #| msgid "C++11 % only available with -std=c++11 or -std=gnu++11" + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "C++11 % доступно только с -std=c++11 или -std=gnu++11" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "%qD должен быть либо нестатическим элементом-функцией или функцией-не-элементом" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "%qD должен иметь аргумент типа класс или перечислимого типа" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ prohibits overloading operator ?:" + msgid "ISO C++ prohibits overloading %" + msgstr "ISO C++ не поддерживает перегрузку операции ?:" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "%qD не может иметь переменное число аргументов" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, gcc-internal-format + msgid "%qD must have either zero or one argument" + msgstr "" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, gcc-internal-format + msgid "%qD must have either one or two arguments" + msgstr "" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, gcc-internal-format + msgid "postfix %qD must have % as its argument" + msgstr "" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, gcc-internal-format + msgid "postfix %qD must have % as its second argument" + msgstr "" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, gcc-internal-format + msgid "%qD must have no arguments" + msgstr "" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, gcc-internal-format + msgid "%qD must have exactly one argument" + msgstr "" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, gcc-internal-format + msgid "%qD must have exactly two arguments" + msgstr "" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "%qD не может иметь аргументов по умолчанию" + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, fuzzy, gcc-internal-format + #| msgid "conversion to void will never use a type conversion operator" + msgid "converting %qT to % will never use a type conversion operator" + msgstr "преобразование к void никогда не использует операцию преобразования типа" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, fuzzy, gcc-internal-format + #| msgid "conversion to a reference to the same type will never use a type conversion operator" + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "преобразование к ссылке на тот же тип никогда не будет использовать операцию преобразования типа" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, fuzzy, gcc-internal-format + #| msgid "conversion to the same type will never use a type conversion operator" + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "преобразование к тому же типу никогда не будет использовать операцию преобразования типа" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, fuzzy, gcc-internal-format + #| msgid "conversion to a reference to a base class will never use a type conversion operator" + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "преобразование к ссылке на базовый класс никогда не будет использовать операцию преобразования типа" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, fuzzy, gcc-internal-format + #| msgid "conversion to a base class will never use a type conversion operator" + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "преобразование к базовому классу никогда не будет использовать операцию преобразования типа" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "пользовательский оператор %qD всегда вычисляет оба аргумента" + +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "префиксный %qD должен возвращать %qT" + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "постфиксный %qD должен возвращать %qT" + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "%qD должен возвращать результат по значению" + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "использование параметра шаблона %qT после %qs" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "использование синонима специализации шаблона %qT после %qs" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "использование typedef-имени %qD после %qs" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, gcc-internal-format + msgid "%qD has a previous declaration here" + msgstr "%qD ранее декларирован здесь" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "ссылка на %qT как на %qs" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, gcc-internal-format + msgid "%qT has a previous declaration here" + msgstr "%qT ранее декларирован здесь" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "ссылка на %qT как на enum" +@@ -57984,113 +57971,113 @@ msgstr "ссылка на %qT как на enum" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "для %<%s %T%> нужен аргумент-шаблон" + +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "ссылка на %qD противоречива" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, fuzzy, gcc-internal-format + #| msgid "function template %qD redeclared as a class template" + msgid "class template %qD redeclared as non-template" + msgstr "шаблон функции %qD редекларирован как шаблон класса" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "%qD имеет то же имя, что и класс, в котором он(а) декларируется" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, gcc-internal-format + msgid "%qT is not a template" + msgstr "%qT не является шаблоном" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "возможно вы хотите явно добавить %<%T::%>" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "использование перечисления %q#D без предыдущей декларации" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "повторная декларация %qT как не-шаблона" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %qD to be a bit-field type" + msgid "cannot declare %qD in a different module" + msgstr "недопустимая декларация %qD как битового поля" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "некорректный производный тип union %qT" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "%qT определен с многими непосредственными базами" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, gcc-internal-format + msgid "%qT defined with direct virtual base" + msgstr "%qT определен с непосредственной виртуальной базой" + +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "базовый тип %qT не является ни структурой, ни классом" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "рекурсивный тип %qT не определён" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "некорректное дублирование базового типа %qT" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "scoped/unscoped рассогласование в enum %q#T" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, gcc-internal-format + msgid "previous definition here" + msgstr "предыдущее определение здесь" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "рассогласование основного типа в enum %q#T" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "отличающийся основной тип в enum %q#T" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, fuzzy, gcc-internal-format + #| msgid "specialization of %qD in different namespace" + msgid "cannot define %qD in different module" + msgstr "специализация %qD в другой namespace-области" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, gcc-internal-format + msgid "underlying type %qT of %qT must be an integral type" + msgstr "" +@@ -58099,84 +58086,84 @@ msgstr "" + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "ни один целочисленный тип не годится для представления всех значений перечислимого типа %qT" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, gcc-internal-format + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "значение перечислимого типа для %qD должно иметь целочисленный или unscoped перечислимый тип" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "значение перечислимого типа для %qD не является константой целого типа" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "увеличенное значение перечисления слишком велико для %" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "увеличенное значение перечисления слишком велико для %" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "переполнение в перечисляемых значениях для %qD" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, gcc-internal-format + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "повторное определение %q#T" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "тип результата %q#T неполный" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "% должен возвращать ссылку на %<*this%>" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, gcc-internal-format + msgid "no return statements in function returning %qT" + msgstr "нет операторов возврата в функции возвращающей %qT" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, gcc-internal-format + msgid "only plain % return type can be deduced to %" + msgstr "только плоский % тип возврата может быть приведен к %" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, fuzzy, gcc-internal-format + #| msgid "no return statement in function returning non-void" + msgid "no return statement in % function returning non-void" + msgstr "в функции, которая должна возвращать значение, отсутствует оператор return" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "%qD уже определена в классе %qT" + +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, fuzzy, gcc-internal-format + #| msgid "enclosing %qs" + msgid "using %qs" + msgstr "объемлющая %qs" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "использование %qD до приведения %" +@@ -59068,7 +59055,7 @@ msgstr "тип %qT не является непосредственной или + msgid "type %qT is not a direct base of %qT" + msgstr "тип %qT не является непосредственной базой %qT" + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "массив должен быть инициализирован инициализатором в фигурных скобках" +@@ -60195,7 +60182,7 @@ msgstr "using-декларация для не-элемента внутри к + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "C++11 % доступно только с -std=c++11 или -std=gnu++11" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a class, namespace, or enumeration" + msgid "%qT is not a class, namespace, or enumeration" +@@ -60976,7 +60963,7 @@ msgstr "типы нельзя определять в % выражен + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "неверное число аргументов для %<__builtin_addressof%>" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_launder%>" + msgstr "неверное число аргументов для %<__builtin_launder%>" +@@ -61741,12 +61728,12 @@ msgstr "только конструкторы берут инициализат + msgid "cannot expand initializer for member %qD" + msgstr "" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "mem-initializer для %qD следует за constructor delegation" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "constructor delegation следует за mem-initializer для %qD" +@@ -62378,7 +62365,7 @@ msgstr "отсутствуют аргументы шаблона после %qT" + msgid "%qT not permitted in template argument" + msgstr "отсутствуют аргументы шаблона" + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, gcc-internal-format + msgid "invalid use of %qT" +@@ -63275,7 +63262,7 @@ msgstr "" + msgid "% clause with parameter on range-based % loop" + msgstr "% клаузула с параметром не может быть задана в %qs конструкции" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, gcc-internal-format + msgid "iteration variable %qD should not be reduction" + msgstr "итерационная переменная %qD не должна быть reduction" +@@ -64315,7 +64302,7 @@ msgstr "не-шаблонный тип %qT использован как шаб + msgid "for template declaration %q+D" + msgstr "для декларации шаблона %q+D" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, fuzzy, gcc-internal-format + #| msgid "template constraint failure" + msgid "template constraint failure for %qD" +@@ -64413,282 +64400,282 @@ msgstr "функция возвращает массив" + msgid "function returning a function" + msgstr "функция возвращает функцию" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, gcc-internal-format + msgid "forming reference to void" + msgstr "создание ссылки на void" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, gcc-internal-format + msgid "forming pointer to reference type %qT" + msgstr "формирование указателя на ссылочный тип %qT" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, gcc-internal-format + msgid "forming reference to reference type %qT" + msgstr "формирование ссылки на ссылочный тип %qT" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, gcc-internal-format + msgid "forming pointer to qualified function type %qT" + msgstr "формирование указателя на квалифицированный тип функции %qT" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, gcc-internal-format + msgid "forming reference to qualified function type %qT" + msgstr "формирование ссылки на квалифицированный тип функции %qT" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr "создание указателя на элемент не классового типа %qT" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr "создание указателя на элемент ссылочного типа %qT" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr "создание указателя на элемент типа void" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, gcc-internal-format + msgid "creating array of %qT" + msgstr "создание массива элементов типа %qT" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "%qT не является типом class, struct или union" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "%qT разрешается в %qT, который не является перечислимым типом" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, fuzzy, gcc-internal-format + #| msgid "%qT resolves to %qT, which is is not a class type" + msgid "%qT resolves to %qT, which is not a class type" + msgstr "%qT разрешается в %qT, который не является классовым типом" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, gcc-internal-format + msgid "use of %qs in template" + msgstr "использование %qs в шаблоне" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, gcc-internal-format + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "квалифицированный тип %qT не соответствует имени деструктора ~%qT" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "зависимое имя %qE разбирается как не тип, но конкретизация дает тип" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "задайте %, если подразумевается тип" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, fuzzy, gcc-internal-format + #| msgid "initializer element is not a constant expression" + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "элемент инициализатора не является константным выражением" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, gcc-internal-format + msgid "using invalid field %qD" + msgstr "использование некорректного поля %qD" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, gcc-internal-format + msgid "invalid use of pack expansion expression" + msgstr "некорректное использование pack expansion expression" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, gcc-internal-format + msgid "use %<...%> to expand argument pack" + msgstr "используйте %<...%> для расширения argument pack" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, gcc-internal-format + msgid "empty initializer in lambda init-capture" + msgstr "пустой инициализатор в lambda init-capture" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "%qD не декларирован в этом контексте, и не было найдено деклараций при зависимом от аргументов поиске в точке конкретизации" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "декларации в зависимой базе %qT не найдены при неквалифицированном поиске" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "используйте %%D%>" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, gcc-internal-format + msgid "use %<%T::%D%> instead" + msgstr "используйте %<%T::%D%>" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, gcc-internal-format + msgid "%qD declared here, later in the translation unit" + msgstr "%qD декларировано здесь, позднее в единице трансляции" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments to %<__builtin_choose_expr%>" + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "неверное число аргументов в вызове %<__builtin_choose_expr%>" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for %qE attribute" + msgid "wrong number of arguments to % attribute" + msgstr "для атрибута %qE задано неверное число аргументов" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "%qT не является классом или пространством имён" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "%qD не является классом или пространством имён" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, gcc-internal-format + msgid "%qT is/uses unnamed type" + msgstr "%qT есть/использует неименованный тип" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, gcc-internal-format + msgid "template argument for %qD uses local type %qT" + msgstr "аргумент шаблона для %qD использует локальный тип %qT" + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "%qT есть переменно модифицированный тип" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "целочисленное выражение %qE не является константой" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr " при конкретизации %qD" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, gcc-internal-format + msgid "ambiguous template instantiation for %q#T" + msgstr "неоднозначная конкретизация шаблона для %q#T" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, gcc-internal-format + msgid "ambiguous template instantiation for %q#D" + msgstr "неоднозначная конкретизация шаблона класса для %q#D" + +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + msgid "%s %#qS" + msgstr "" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "явная конкретизация нешаблона %q#D" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, fuzzy, gcc-internal-format + #| msgid "specialization of variable concept %q#D" + msgid "explicit instantiation of variable concept %q#D" + msgstr "специализация variable concept %q#D" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, fuzzy, gcc-internal-format + #| msgid "explicit specialization of function concept %qD" + msgid "explicit instantiation of function concept %q#D" + msgstr "явная специализация function concept %qD" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, gcc-internal-format + msgid "%qD is not a static data member of a class template" + msgstr "%qD не является статическим элементом данных шаблона класса" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "нет подходящего шаблона для %qD" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, gcc-internal-format + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "тип %qT для явной конкретизации %qD не соответствует декларированному типу %qT" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "явная конкретизация %q#D" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "повторная явная конкретизация %q#D" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, gcc-internal-format + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "ISO C++ 1998 запрещает использование % в явной конкретизации" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "класс хранения %qD в конкретизации шаблона" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, gcc-internal-format + msgid "explicit instantiation of non-class template %qD" + msgstr "явная конкретизация неклассового шаблона %qD" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "явная конкретизация типа %qT, не являющегося шаблоном" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "явная конкретизация %q#T до определения шаблона" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "ISO C++ запрещает использование %qE в явных конкретизациях" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "повторная явная конкретизация %q#T" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, gcc-internal-format + msgid "exception specification of %qD depends on itself" + msgstr "" +@@ -64700,175 +64687,175 @@ msgstr "" + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "явная конкретизация %qD без определения" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, fuzzy, gcc-internal-format + #| msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)" + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "глубина конкретизации шаблона превышает максимум %d при конкретизации %q+D, возможно при генерации виртуальной таблицы (задайте -ftemplate-depth=, чтобы увеличить максимум)" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, fuzzy, gcc-internal-format + #| msgid "lambda templates are only available with -std=c++14 or -std=gnu++14" + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "lambda шаблоны доступны только с -std=c++14 или -std=gnu++14" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, fuzzy, gcc-internal-format + #| msgid "%q#T is not a valid type for a template non-type parameter" + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "%q#T не является корректным типом для нетипового параметра шаблона" + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, fuzzy, gcc-internal-format + #| msgid "lambda templates are only available with -std=c++14 or -std=gnu++14" + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "lambda шаблоны доступны только с -std=c++14 или -std=gnu++14" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, gcc-internal-format + msgid "invalid template non-type parameter" + msgstr "некорректный нетиповый параметр шаблона" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, gcc-internal-format + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "%q#T не является корректным типом для нетипового параметра шаблона" + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, gcc-internal-format + msgid "keyword % not allowed in declarator-id" + msgstr "" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, fuzzy, gcc-internal-format + #| msgid "a concept cannot be a member function" + msgid "a concept cannot be constrained" + msgstr "concept не может быть элементом-функцией" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, fuzzy, gcc-internal-format + #| msgid "%qT is not a namespace or unscoped enum" + msgid "concept %qE not in namespace scope" + msgstr "%qT не является пространством имен или unscoped enum" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, fuzzy, gcc-internal-format + #| msgid "definition of %q#T inside template parameter list" + msgid "concept %qE has multiple template parameter lists" + msgstr "определение %q#T внутри списка параметров шаблона" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, gcc-internal-format + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "" + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, fuzzy, gcc-internal-format + #| msgid "non-class template %qT used without template arguments" + msgid "non-deducible template %qT used without template arguments" + msgstr "неклассовый шаблон %qT использован без аргументов шаблона" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, fuzzy, gcc-internal-format + #| msgid "lambda templates are only available with -std=c++14 or -std=gnu++14" + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "lambda шаблоны доступны только с -std=c++14 или -std=gnu++14" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, fuzzy, gcc-internal-format + #| msgid "use #include instead" + msgid "use %qD directly instead" + msgstr "используйте директиву #include" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "невозможно вывести аргументы шаблона для инициализации копированием %qT, поскольку он имеет неявное руководство вывода или декларированные пользователем конструкторы" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, gcc-internal-format + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "" + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, gcc-internal-format + msgid "class template argument deduction failed:" + msgstr "вывод аргумента шаблона класса потерпел неудачу:" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, gcc-internal-format + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "явные руководства вывода не рассматриваются для copy-инициализации" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, gcc-internal-format + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr "" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, fuzzy, gcc-internal-format + #| msgid "in a call to function %qD declared here" + msgid "explicit deduction guide declared here" + msgstr "в вызове функции %qD определенной здесь" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, fuzzy, gcc-internal-format + #| msgid "class template argument deduction failed:" + msgid "%qT may not intend to support class template argument deduction" + msgstr "вывод аргумента шаблона класса потерпел неудачу:" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "direct-list-initialization % требует ровно один элемент" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "для вывода к % используйте copy-list-initialization (то есть добавьте %<=%> перед %<{%>)" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, gcc-internal-format + msgid "unable to deduce lambda return type from %qE" + msgstr "не удается вывести возвращаемый тип lambda из %qE" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, gcc-internal-format + msgid "unable to deduce %qT from %qE" + msgstr "невозможно вывести %qT из %qE" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "ограничения заполнителя не удовлетворены" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, gcc-internal-format + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "выведенный инициализатор не удовлетворяет ограничениям заполнителя" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, gcc-internal-format + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "выведенный тип возврата не удовлетворяет ограничениям заполнителя" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, gcc-internal-format + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "выведенный тип выражения не удовлетворяет ограничениям заполнителя" + +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, gcc-internal-format + msgid "invalid use of %qT in template argument" + msgstr "" +@@ -65196,7 +65183,7 @@ msgstr "некорректная спецификация базового кл + msgid "cannot capture member %qD of anonymous union" + msgstr "невозможно захватить элемент %qD анонимного объединения" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, gcc-internal-format + msgid "%qD is not captured" + msgstr "%qD не захватывается" +@@ -65619,28 +65606,28 @@ msgstr "вызов %<__builtin_next_arg%> без аргумента" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a class template" + msgid "%qD is not a class or alias template" + msgstr "%qE не является шаблоном класса" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, gcc-internal-format + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "операнд выражения свертки не имеет нерасширенных пакетов параметров" + +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, gcc-internal-format + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "оба аргумента в бинарной свертке имеют нерасширенные пакеты параметров" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "нет нерасширенных пакетов параметров в бинарной свертке" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, gcc-internal-format + msgid "non-pointer argument to %<__builtin_launder%>" + msgstr "неуказательный аргумент для %<__builtin_launder%>" +@@ -65648,22 +65635,22 @@ msgstr "неуказательный аргумент для %<__builtin_launder + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "" +@@ -66940,231 +66927,231 @@ msgstr "forward декларация %q#T" + msgid "declaration of %q#T" + msgstr "декларация %q#T" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, gcc-internal-format + msgid "%qD has incomplete type" + msgstr "%qD имеет неполный тип" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, gcc-internal-format + msgid "invalid use of incomplete type %q#T" + msgstr "некорректное использование неполного типа %q#T" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, gcc-internal-format + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "некорректное использование функции-элемента %qD (вы забыли %<()%> ?)" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, gcc-internal-format + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "некорректное использование элемента %qD (вы забыли %<&%>?)" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, gcc-internal-format + msgid "invalid use of placeholder %qT" + msgstr "некорректное использование заполнителя %qT" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, gcc-internal-format + msgid "invalid use of template type parameter %qT" + msgstr "некорректное использование шаблона параметра типа %qT" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, gcc-internal-format + msgid "invalid use of template template parameter %qT" + msgstr "некорректное использование шаблона параметра шаблона %qT" + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of pack expansion expression" + msgid "invalid use of pack expansion %qT" + msgstr "некорректное использование pack expansion expression" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, gcc-internal-format + msgid "invalid use of dependent type %qT" + msgstr "некорректное использование зависимого типа %qT" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, gcc-internal-format + msgid "invalid use of brace-enclosed initializer list" + msgstr "некорректное использование списка инициализатора в фигурных скобках" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "адрес перегруженной функции без контекстной информации о типе" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "перегруженная функция без контекстной информации о типе" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "недостаточно контекстной информации для определения типа" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "использован синтаксис конструктора для типа %qT, который не имеет конструкторов" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, fuzzy, gcc-internal-format + #| msgid "interface %qE does not have valid constant string layout" + msgid "% variable %qD does not have a constant initializer" + msgstr "интерфейс %qE не имеет корректной структуры константной строки" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + #, fuzzy + #| msgid "Warn about narrowing conversions within { } that are ill-formed in C++11." + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "Предупреждать о сужающих преобразованиях в { }, являющихся дефектными в C++11." + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + #, fuzzy + #| msgid "conversion from %q#T to %q#T" + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "преобразование из %q#T в %q#T" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, gcc-internal-format + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr "" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, fuzzy, gcc-internal-format + #| msgid "initializer-string for array of chars is too long" + msgid "initializer-string for %qT is too long" + msgstr "слишком длинная строка инициализации для символьного массива" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, fuzzy, gcc-internal-format + #| msgid "braces around scalar initializer" + msgid "remove %<{ }%> around initializer" + msgstr "фигурные скобки вокруг скалярного инициализатора" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "невозможно инициализировать агрегат типа %qT составным литералом" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "отсутствует инициализатор для элемента %qD" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "элемент %qD - неинициализированная ссылка" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, gcc-internal-format + msgid "member %qD with uninitialized reference fields" + msgstr "элемент %qD с неинициализированными ссылочными полями" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, gcc-internal-format + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "поле %qD не найдено в инициализируемом объединении" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "значение индекса вместо имени поля в инициализаторе объединения" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "обнаружено циклическое делегирование указателей" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, gcc-internal-format + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "базовый операнд %<->%> имеет неуказательный тип %qT" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr "результат %()%> не является указателем" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "базовый операнд %<->%> не является указателем" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "%qE не может использоваться как элемент, поскольку имеет тип %qT" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, gcc-internal-format + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "невозможно применить элементный указатель %qE к %qE, который имеет неклассовый тип %qT" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "указатель на элементный тип %qT несовместим с объектным типом %qT" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "тип указатель на элемент-функцию %qT требует rvalue" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "тип указатель на элемент-функцию %qT требует lvalue" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, fuzzy, gcc-internal-format + #| msgid "pointer-to-member-function type %qT requires an lvalue" + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "тип указатель на элемент-функцию %qT требует lvalue" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, gcc-internal-format + msgid "functional cast to array type %qT" + msgstr "функциональное приведение к массивному типу %qT" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, fuzzy, gcc-internal-format + #| msgid "function cannot be instrumented" + msgid "% cannot be constrained" + msgstr "функция не может быть инструментирована" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, fuzzy, gcc-internal-format + #| msgid "%<~auto%> only available with -std=c++14 or -std=gnu++14" + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "%<~auto%> доступно только с -std=c++14 или -std=gnu++14" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, gcc-internal-format + msgid "invalid value-initialization of reference type" + msgstr "некорректная инициализация значения ссылочного типа" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "вызов функции %qD, которая вызывает исключение неполного типа %q#T" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "вызов функции, которая вызывает исключение неполного типа %q#T" +@@ -68166,7 +68153,7 @@ msgstr "Список имен %qs не может быть аргументом + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "% в %L и % в %L не могут обе быть BOZ литеральными константами" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid exponent-letter % in real-literal-constant at %C" + msgid "Invalid use of BOZ literal constant at %L" +@@ -69288,12 +69275,12 @@ msgstr "Неиспользуемая инициализационная цепо + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "Начальный индекс подстроки в %L меньше единицы" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "Конечный индекс подстроки в %L превышает длину строки" +@@ -69476,7 +69463,7 @@ msgstr "Некорректная INTENT спецификация в %C" + msgid "deferred type parameter at %C" + msgstr "отложенный параметр типа в %C" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "Скалярное INTEGER выражение ожидалось в %L" +@@ -71533,7 +71520,7 @@ msgstr "трансформационная встроенная функция % + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "Вычисление нестандартного инициализационного выражения в %L" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, gcc-internal-format + msgid "Function %qs in initialization expression at %L must be an intrinsic function" + msgstr "Функция %qs в инициализационном выражении в %L должна быть встроенной функцией" +@@ -71808,7 +71795,7 @@ msgstr "Несоответствие интерфейсов в присваив + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "Явный интерфейс требуются для компонента %qs в %L: %s" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, gcc-internal-format + msgid "Explicit interface required for %qs at %L: %s" + msgstr "Явный интерфейс требуются для %qs в %L: %s" +@@ -71929,7 +71916,7 @@ msgstr "" + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "Указатель в %L в присваивании указателя может пережить цель указателя" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must not be ALLOCATABLE" + msgstr "Цель инициализации указателя в %L не должна быть ALLOCATABLE" +@@ -71939,7 +71926,7 @@ msgstr "Цель инициализации указателя в %L не дол + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "Цель инициализации указателя в %L должна иметь TARGET атрибут" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must have the SAVE attribute" + msgstr "Цель инициализации указателя в %L должна иметь SAVE атрибут" +@@ -72081,7 +72068,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "Некорректный идентификатор в copy_walk_reduction_arg" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, gcc-internal-format, gfc-internal-format + msgid "Creating array temporary at %L" +@@ -72304,12 +72291,12 @@ msgstr "Первый аргумент определенного присваи + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "Второй аргумент определенного присваивания в %L должен быть INTENT(IN)" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "Первый аргумент интерфейса оператора в %L должен быть INTENT(IN)" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "Второй аргумент интерфейса оператора в %L должен быть INTENT(IN)" +@@ -72422,574 +72409,574 @@ msgstr "Несоответствие рангов в аргументе %qs в % + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "Несоответствие рангов в аргументе %qs в %L (ранг-%d и ранг-%d)" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid procedure argument at %L" + msgstr "Некорректный аргумент процедуры в %L" + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, gcc-internal-format + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "Несоответствие интерфейса в формальной процедуре %qs в %L: %s" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, gcc-internal-format + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "Фактический аргумент для непрерывного указательного формального параметра %qs в %L должен быть просто непрерывным" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "INTENT(%s) actual argument at %L might interfere with actual argument at %L." + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "INTENT(%s) фактические аргументы в %L могут противоречить фактическим аргументам в %L." + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, gcc-internal-format + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr "Несоответствие типа в аргументе %qs в %L; передано %s в %s" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "Фактический аргумент предполагаемого типа в %L требует, чтобы формальный аргумент %qs был предполагаемого типа" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, fuzzy, gcc-internal-format + #| msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "Фактический аргумент предполагаемого типа в %L требует, чтобы формальный аргумент %qs был предполагаемого типа" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "Фактический аргумент для %qs в %L должен быть полиморфным" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "Фактический аргумент для %qs в %L должен иметь тот же декларированный тип" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "Фактический аргумент для %qs в %L должен быть неограниченно полиморфным, так как формальный аргумент есть указатель или размещаемая неограниченно полиморфная сущность [F2008: 12.5.2.5]" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "Фактический аргумент для %qs в %L должен быть комассивом" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, gcc-internal-format + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "Несоответствие корангов в аргументе %qs в %L (%d и %d)" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "Фактический аргумент для %qs в %L должен быть просто непрерывным или элементом такого массива" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "Фактический аргумент для не-INTENT(INOUT) формального параметра %qs в %L, который есть LOCK_TYPE или имеет LOCK_TYPE компонент" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "Фактический аргумент для не-INTENT(INOUT) формального параметра %qs в %L, который есть EVENT_TYPE или имеет EVENT_TYPE компонент" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, gcc-internal-format + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "Формальный аргумент %qs должен быть указателем или массивом предполагаемой формы или ранга без CONTIGUOUS атрибута - поскольку фактический аргумент в %L не является просто непрерывным и оба являются ASYNCHRONOUS или VOLATILE" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "Передача комассива в %L в allocatable, noncoarray, INTENT(OUT) формальный аргумент %qs" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "Передача комассива в %L в allocatable, noncoarray формальный аргумент %qs, что некорректно, если статус размещения модифицирован" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, gcc-internal-format + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "Полиморфный скаляр передан в формальный аргумент массив %qs в %L" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Element of assumed-shaped or pointer array passed to array dummy argument %qs at %L" + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "Элемент массива предполагаемой формы или указательного передан в формальный аргумент массив %qs в %L" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, fuzzy, gcc-internal-format + #| msgid "Element of assumed-shaped or pointer array passed to array dummy argument %qs at %L" + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "Элемент массива предполагаемой формы или указательного передан в формальный аргумент массив %qs в %L" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, gcc-internal-format + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "Расширение: Скалярный неподразумеваемого вида, не-C_CHAR-вида CHARACTER фактический аргумент с формальным аргументом массивом %qs в %L" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, gcc-internal-format + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "Fortran 2003: Скалярный CHARACTER фактический аргумент с формальным аргументом массивом %qs в %L" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "Аргумент с ключевым словом %qs в %L не в процедуре" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "Аргумент с ключевым словом %qs в %L уже ассоциирован с другим фактическим аргументом" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "Больше фактических чем формальных аргументов в вызове процедуры в %L" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Missing alternate return spec in subroutine call at %L" + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "Отсутствует спецификация альтернативного возврата в вызове подпрограммы в %L" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Unexpected alternate return spec in subroutine call at %L" + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "Неожиданная спецификация альтернативного возврата в вызове подпрограммы в %L" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, gcc-internal-format + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "Неожиданная NULL() встроенная функция в %L для формального параметра %qs" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, gcc-internal-format + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "Fortran 2008: Пустой указатель в %L в неуказательный формальный параметр %qs" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Actual argument at %L to assumed-type dummy is of derived type with type-bound or FINAL procedures" + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "Фактический аргумент в %L для формального параметра предполагаемого типа имеет производный тип с type-bound или FINAL процедурами" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "Несоответствие character длин (%ld/%ld) между фактическим аргументом и указательным или размещаемым формальным аргументом %qs в %L" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "Несоответствие character длин (%ld/%ld) между фактическим аргументом и формальным аргументом предполагаемой формы %qs в %L" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, gcc-internal-format + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "Фактический аргумент в %L в размещаемый или указательный формальный аргумент %qs должен иметь типовый параметр отложенной длины тогда и только тогда, когда таковой имеется у формального" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, gcc-internal-format + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "Character длина фактического аргумента короче чем у формального аргумента %qs (%lu/%lu) в %L" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, gcc-internal-format + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "Фактический аргумент содержит слишком мало элементов для формального аргумента %qs (%lu/%lu) в %L" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, gcc-internal-format + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "Ожидался указатель на процедуру для аргумента %qs в %L" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, gcc-internal-format + msgid "Expected a procedure for argument %qs at %L" + msgstr "Ожидалась процедура для аргумента %qs в %L" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, gcc-internal-format + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "Фактический аргумент для %qs не может быть массивом предполагаемого размера в %L" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "Фактический аргумент для не-INTENT(INOUT) формального параметра %qs в %L, который есть LOCK_TYPE или имеет LOCK_TYPE компонент" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for %qs must be a pointer at %L" + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "Фактический аргумент для %qs должен быть указателем в %L" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, gcc-internal-format + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "Fortran 2008: Неуказательный фактический аргумент в %L в указательный формальный параметр %qs" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "Коиндексированный фактический аргумент в %L в указательный формальный параметр %qs" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "Коиндексированный фактический аргумент в %L в размещаемый формальный параметр %qs требует INTENT(IN)" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, gcc-internal-format + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "Коиндексированный ASYNCHRONOUS или VOLATILE фактический аргумент в %L требует, чтобы формальный параметр %qs не имел ни ASYNCHRONOUS ни VOLATILE" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, gcc-internal-format + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "Коиндексированный фактический аргумент в %L с размещаемым окончательным компонентом для формального параметра %qs требует либо VALUE либо INTENT(IN)" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, gcc-internal-format + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "Фактический аргумент CLASS массив для %qs должен быть полным массивом в %L" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, gcc-internal-format + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "Фактический аргумент для %qs должен быть ALLOCATABLE в %L" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, gcc-internal-format + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "Фактический аргумент секция массива с векторными индексами в %L несовместим с INTENT(OUT), INTENT(INOUT), VOLATILE или ASYNCHRONOUS атрибутом формального аргумента %qs" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, gcc-internal-format + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "Фактический аргумент предполагаемой формы в %L несовместим с non-assumed-shape формальным аргументом %qs из-за VOLATILE атрибута" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, gcc-internal-format + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "Фактический аргумент секция массива в %L несовместим с non-assumed-shape формальным аргументом %qs из-за VOLATILE атрибута" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, gcc-internal-format + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "Фактический аргумент pointer-array в %L требует assumed-shape или pointer-array формальный аргумент %qs из-за VOLATILE атрибута" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "Отсутствует спецификация альтернативного возврата в вызове подпрограммы в %L" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, gcc-internal-format + msgid "Missing actual argument for argument %qs at %L" + msgstr "Отсутствует фактический аргумент для аргумента %qs в %L" + +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr "compare_actual_expr(): Некорректный код компонента" + +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "check_some_aliasing(): Несоответствие списка" + +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "check_some_aliasing(): поврежденные данные" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, gcc-internal-format + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "Один и тот же фактический аргумент ассоциирован с INTENT(%s) аргументом %qs и INTENT(%s) аргументом %qs в %L" + +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "check_intents(): Несоответствие списка" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "Аргумент процедуры в %L локален в PURE процедуре и имеет POINTER атрибут" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "Коиндексированный фактический аргумент в %L в процедуре PURE передан в аргумент INTENT(%s)" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "Коиндексированный фактический аргумент в %L в PURE процедуре передан в POINTER формальный аргумент" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, gcc-internal-format + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "Коиндексированный полиморфный фактический аргумент в %L передан в полиморфный формальный аргумент %qs" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "Процедура %qs вызванная в %L не декларирована явно" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, gcc-internal-format + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "Процедура %qs вызвана с неявным интерфейсом в %L" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, gcc-internal-format + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "Указательный объект %qs в %L должен иметь явный функциональный интерфейс или быть декларированным как массив" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, gcc-internal-format + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "Размещаемый объект %qs в %L должен иметь явный функциональный интерфейс или быть декларированным как массив" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, gcc-internal-format + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "Размещаемая функция %qs в %L должна иметь явный функциональный интерфейс" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Explicit interface required for component %qs at %L: %s" + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "Явный интерфейс требуются для компонента %qs в %L: %s" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "Аргумент с ключевым словом требует явный интерфейс для процедуры %qs в %L" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "Аргумент предполагаемого типа %s в %L требует явный интерфейс" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, gcc-internal-format + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "Фактический аргумент LOCK_TYPE или с LOCK_TYPE компонентом в %L требует явный интерфейс для процедуры %qs" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, gcc-internal-format + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "Фактический аргумент EVENT_TYPE или с EVENT_TYPE компонентом в %L требует явный интерфейс для процедуры %qs" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD argument to NULL required at %L" + msgstr "MOLD аргумент в NULL требуется в %L" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed-type argument %s at %L requires an explicit interface" + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "Аргумент предполагаемого типа %s в %L требует явный интерфейс" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "Аргумент предполагаемого ранга требует явный интерфейс в %L" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, gcc-internal-format + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "Компонент указатель на процедуру %qs вызван с неявным интерфейсом в %L" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "Аргумент с ключевым словом требует явный интерфейс для компонента указателя на процедуру %qs в %L" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "MOLD= требуется в NULL() аргументе в %L: Неоднозначность между конкретными функциями %s и %s" + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, gcc-internal-format + msgid "Unable to find symbol %qs" + msgstr "Не удается найти символ %qs" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, gcc-internal-format + msgid "Entity %qs at %L is already present in the interface" + msgstr "Сущность %qs в %L уже присутствует в интерфейсе" + +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, gcc-internal-format + msgid "gfc_add_interface(): Bad interface type" + msgstr "gfc_add_interface(): Некорректный тип интерфейса" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, fuzzy, gcc-internal-format + #| msgid "Can't overwrite GENERIC %qs at %L" + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "Не удалось перебить GENERIC %qs в %L" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, gcc-internal-format + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "%qs в %L перебивает связывание процедуры декларированной NON_OVERRIDABLE" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, gcc-internal-format + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "%qs в %L не должно быть DEFERRED, поскольку это перебивает не-DEFERRED связывание" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, gcc-internal-format + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "%qs в %L перебивает PURE процедуру и должна также быть PURE" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, gcc-internal-format + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "%qs в %L перебивает ELEMENTAL процедуру и должна также быть ELEMENTAL" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, gcc-internal-format + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "%qs в %L перебивает не-ELEMENTAL процедуру и не должна быть ELEMENTAL, также" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, gcc-internal-format + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "%qs в %L перебивает SUBROUTINE и должна также быть SUBROUTINE" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, gcc-internal-format + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "%qs в %L перебивает FUNCTION и должна также быть FUNCTION" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, gcc-internal-format + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "Несоответствие результатов для перебивающей процедуры %qs в %L: %s" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, gcc-internal-format + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "%qs в %L перебивает PUBLIC процедуру и не должна быть PRIVATE" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, gcc-internal-format + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "Формальный аргумент %qs от %qs в %L должен именоваться %qs, чтобы подходить соответствующему аргументу перебиваемой процедуры" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, gcc-internal-format + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "Несоответствие аргументов для перебивающей процедуры %qs в %L: %s" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, gcc-internal-format + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "%qs в %L должен иметь то же число формальных аргументов, что и перебиваемая процедура" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, gcc-internal-format + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "%qs в %L перебивает NOPASS связывание и должен также быть NOPASS" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, gcc-internal-format + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "%qs в %L перебивает связывание с PASS и должен также быть PASS" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "Passed-object формальный аргумент от %qs в %L должен быть на той же позиции, что и passed-object формальный аргумент перебиваемой процедуры" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "DTIO формальный аргумент в %L должен быть типа %s" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "DTIO формальный аргумент в %L должен быть KIND = %d" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "DTIO формальный аргумент в %L должен быть скаляром" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "DTIO формальный аргумент в %L должен быть ASSUMED SHAPE ARRAY" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO character argument at %L must have assumed length" + msgstr "" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "DTIO формальный аргумент в %L должен иметь INTENT %s" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "Альтернативный возврат в %L не допускается в DTIO процедуре" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, gcc-internal-format + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "DTIO процедура %qs в %L должна быть подпрограммой" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, gcc-internal-format + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "Слишком мало формальных аргументов в DTIO процедуре %qs в %L" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, gcc-internal-format + msgid "Too many dummy arguments in DTIO procedure %qs at %L" + msgstr "Слишком много формальных аргументов в DTIO процедуре %qs в %L" +@@ -73183,7 +73170,7 @@ msgstr "Преобразование из %s в %s в %L" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Can't convert %s to %s at %L" + msgid "Cannot convert %s to %s at %L" +@@ -73772,7 +73759,7 @@ msgstr "NAMELIST %qs в READ операторе в %L содержит симв + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "NAMELIST объект %qs в списке имен %qs в %L является полиморфным и требует определенную процедуру ввода/вывода" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, gcc-internal-format + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" + msgstr "NAMELIST объект %qs в списке имен %qs в %L с ALLOCATABLE или POINTER компонентами" +@@ -74366,7 +74353,7 @@ msgstr "STOP код в %L должен быть default character KIND=%d" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "STOP код в %L должен быть default integer KIND=%d" + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASYNCHRONOUS= specifier at %L must be an initialization expression" + msgid "QUIET specifier at %L must be a scalar LOGICAL" +@@ -76321,8 +76308,8 @@ msgstr "параметр ORDERED клаузулы меньше чем COLLAPSE + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "% предложение не может использоваться вместе с %" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "IF клаузула в %L требует скалярное LOGICAL выражение" +@@ -78365,747 +78352,735 @@ msgstr "Процедура модуля с character значением %qs в % + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "Внутренняя функция с character значением %qs в %L не должна быть предполагаемой длины" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "Функция %s в %L имеет входы с несоответствующими спецификациями массивов" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Function %s at %L has entries with mismatched array specifications" + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "Функция %s в %L имеет входы с несоответствующими спецификациями массивов" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "Функция %s at %L с входами, возвращающими переменные с разными длинами строк" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "FUNCTION результат %s не может быть массивом в FUNCTION %s в %L" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be an array in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "ENTRY результат %s не может быть массивом в FUNCTION %s в %L" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "FUNCTION результат %s не может быть POINTER в FUNCTION %s в %L" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "ENTRY результат %s не может быть POINTER в FUNCTION %s в %L" + +-#: fortran/resolve.cc:881 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L" +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "FUNCTION результат %s не может быть POINTER в FUNCTION %s в %L" +- +-#: fortran/resolve.cc:885 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L" +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "ENTRY результат %s не может быть POINTER в FUNCTION %s в %L" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "FUNCTION результат %s не может быть типа %s в FUNCTION %s в %L" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "ENTRY результат %s не может быть типа %s в FUNCTION %s в %L" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, fuzzy, gcc-internal-format + #| msgid "Symbol %qs at %C is already in a COMMON block" + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "Символ %qs в %C уже в COMMON блоке" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, fuzzy, gcc-internal-format + #| msgid "Symbol %qs at %C is already in a COMMON block" + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "Символ %qs в %C уже в COMMON блоке" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "COMMON block /%s/ not found at %C" + msgid "COMMON block at %L" + msgstr "COMMON блок /%s/ не найден в %C" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, gcc-internal-format + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "Переменная %qs в %L находится в COMMON, но допустима только инициализация в BLOCK DATA" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, gcc-internal-format + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "Инициализированная переменная %qs в %L находится в безымянном COMMON, но инициализация допустима только в именованных common блоках" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, fuzzy, gcc-internal-format + #| msgid "%qs in cannot appear in COMMON at %L [F2008:C5100]" + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "%qs не может появляться в COMMON в %L [F2008:C5100]" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "Переменная производного типа %qs в COMMON в %L не имеет ни SEQUENCE ни BIND(C) атрибута" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "Переменная производного типа %qs в COMMON в %L имеет окончательный компонент, который является размещаемым" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "Переменная производного типа %qs в COMMON в %L не может иметь подразумеваемый инициализатор" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "В Fortran 2003 COMMON %qs блок в %L есть глобальный идентификатор и должен поэтому иметь то же связывающее имя, что и одноименный COMMON блок в %L: %s против %s" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, gcc-internal-format + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "COMMON блок %qs в %L использует тот же глобальный идентификатор, что и сущность в %L" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "Fortran 2008: COMMON блок %qs со связывающей меткой в %L, разделяющий идентификатор с глобальной не-COMMON-блок сущностью в %L" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, gcc-internal-format + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "COMMON блок в %L со связывающей меткой %qs использует тот же глобальный идентификатор, что и сущность в %L" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, gcc-internal-format + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "COMMON блок %qs в %L использован как PARAMETER в %L" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, fuzzy, gcc-internal-format + #| msgid "COMMON block %qs at %L can not have the EXTERNAL attribute" + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "COMMON блок %qs в %L не может иметь EXTERNAL атрибут" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, gcc-internal-format + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "COMMON блок %qs в %L является также встроенной процедурой" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a function result" + msgstr "COMMON блок %qs в %L, который является также результатом функции" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "COMMON блок %qs в %L, который является также глобальной процедурой" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "У параметра KIND %qs в конструкторе PDT в %C отсутствует значение" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, gcc-internal-format, gfc-internal-format + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "Ранг элемента в конструкторе структуры в %L не соответствует рангу компонента (%d/%d)" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "Элемент в конструкторе структуры в %L для компонента указателя %qs есть %s, но должен быть %s" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, fuzzy, gcc-internal-format + #| msgid "Unequal character lengths (%ld/%ld) in %s at %L" + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "Неравные character длины (%ld/%ld) в %s в %L" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, gcc-internal-format + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "NULL в конструкторе структуры в %L применяется к компоненту %qs, который не является ни POINTER ни ALLOCATABLE" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, gcc-internal-format + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "Несоответствие интерфейса для компонента указателя на процедуру %qs в конструкторе структуры в %L: %s" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, fuzzy, gcc-internal-format + #| msgid "Too many components in structure constructor at %L" + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "Слишком много компонентов в конструкторе структуры в %L" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, fuzzy, gcc-internal-format + #| msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "Ранг элемента в конструкторе структуры в %L не соответствует рангу компонента (%d/%d)" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "Элемент в конструкторе структуры в %L для компонента указателя %qs должен быть POINTER или TARGET" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, gcc-internal-format + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "Некорректное выражение в конструкторе структуры для компонента указателя %qs в %L в PURE процедуре" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, gcc-internal-format + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "Верхняя граница в последнем измерении должна появляться в ссылке на массив предполагаемого размера %qs в %L" + +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, gcc-internal-format + msgid "%qs at %L is ambiguous" + msgstr "%qs в %L неоднозначно" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, gcc-internal-format + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "GENERIC процедура %qs не допускается как фактический аргумент в %L" + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, gcc-internal-format + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "Тип специфицированный для встроенной функции %qs в %L игнорируется" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, gcc-internal-format + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "Встроенная подпрограмма %qs в %L не должна иметь спецификатор типа" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, gcc-internal-format + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "%qs декларированная INTRINSIC в %L не существует" + +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, gcc-internal-format + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "Встроенная %qs декларированная INTRINSIC в %L недоступна в установках текущего стандарта кроме %s. Используйте подходящую %<-std=*%> опцию или включите %<-fall-intrinsics%>, чтобы использовать её." + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, gcc-internal-format + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "Не-RECURSIVE процедура %qs в %L возможно вызывает себя рекурсивно. Объявите её RECURSIVE или используйте %<-frecursive%>" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "Метка %d используемая в %L нигде не определяется" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, fuzzy, gcc-internal-format + #| msgid "Internal procedure %qs is used as actual argument at %L" + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "Внутренняя процедура %qs использована как фактический аргумент в %L" + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, gcc-internal-format + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "Оператор функция %qs в %L не допускается в качестве фактического аргумента" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, gcc-internal-format + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "Встроенная %qs в %L не допускается в качестве фактического аргумента" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, gcc-internal-format + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "Внутренняя процедура %qs использована как фактический аргумент в %L" + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, gcc-internal-format + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "ELEMENTAL не-INTRINSIC процедура %qs не допускается в качестве фактического аргумента в %L" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, gcc-internal-format + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "Невозможно найти конкретную INTRINSIC процедуру для ссылки %qs в %L" + +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, gcc-internal-format + msgid "Symbol %qs at %L is ambiguous" + msgstr "Символ %qs в %L неоднозначен" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not of numeric type" + msgstr "Аргумент по значению в %L нечислового типа" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "Аргумент по значению в %L не может быть массивом или секцией массива" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not allowed in this context" + msgstr "Аргумент по значению в %L не допускается в этом контексте" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "Передача внутренней процедуры в %L по расположению не допускается" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, gcc-internal-format + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "Компонент указатель на ELEMENTAL процедуру %qs не допускается в качестве фактического аргумента в %L" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "Коиндексированный фактический аргумент в %L с окончательным компонентом указателем" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, fuzzy, gcc-internal-format + #| msgid "%qs at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)" + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "%qs в %L есть массив и OPTIONAL; ЕСЛИ ОН ОПУЩЕН, он не может быть фактическим аргументом ELEMENTAL процедуры кроме случая, когда есть обязательный аргумент того же ранга (12.4.1.5)" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, gcc-internal-format + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "Фактический аргумент в %L для INTENT(%s) формального параметра %qs ELEMENTAL подпрограммы %qs есть скаляр, но другой фактический аргумент является массивом" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, gcc-internal-format + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "Несоответствие возвращаемого типа функции %qs в %L (%s/%s)" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, gcc-internal-format + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "Несоответствие интерфейса в глобальной процедуре %qs в %L: %s" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, gcc-internal-format + msgid "There is no specific function for the generic %qs at %L" + msgstr "Нет конкретной функции для generic %qs в %L" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, gcc-internal-format + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "Generic функция %qs в %L несовместима с конкретным встроенным интерфейсом" + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, gcc-internal-format + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "Функция %qs в %L есть INTRINSIC, но не является совместимой со встроенной" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, gcc-internal-format + msgid "Unable to resolve the specific function %qs at %L" + msgstr "Не удается разрешить конкретную функцию %qs в %L" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "Функция %qs в %L не имеет IMPLICIT тип. Может имелось в виду %qs?" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "Функция %qs в %L не имеет IMPLICIT тип" + +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "Ссылка на impure функцию %qs в %L внутри FORALL %s" + +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "Ссылка на impure функцию %qs в %L внутри DO CONCURRENT %s" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "Ссылка на impure функцию %qs в %L внутри PURE процедуры" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected junk after NOWAIT clause at %C" + msgid "Unexpected junk after %qs at %L" + msgstr "Неожиданный мусор после NOWAIT клаузулы в %C" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, gcc-internal-format + msgid "%qs at %L is not a function" + msgstr "%qs в %L не есть функция" + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "ABSTRACT INTERFACE %qs не должна фигурировать в %L" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, gcc-internal-format + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "Функция %qs декларирована CHARACTER(*) и не может использоваться в %L, поскольку это не формальный аргумент" + +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, gcc-internal-format + msgid "resolve_function(): bad function type" + msgstr "resolve_function(): некорректный тип функции" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, gcc-internal-format + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "Определенная пользователем не-ELEMENTAL функция %qs в %L не допускается в WORKSHARE конструкции" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "ENTRY %qs в %L не может вызываться рекурсивно, поскольку функция %qs не есть RECURSIVE" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, gcc-internal-format + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "Функция %qs в %L не может вызываться рекурсивно, поскольку она не есть RECURSIVE" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, fuzzy, gcc-internal-format + #| msgid "builtin %qF is deprecated." + msgid "Using function %qs at %L is deprecated" + msgstr "внутренняя функция %qF устарела." + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, gcc-internal-format + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "Вызов подпрограммы %qs в FORALL блоке в %L не есть PURE" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, gcc-internal-format + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "Вызов подпрограммы %qs в DO CONCURRENT блоке в %L не есть PURE" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, gcc-internal-format + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "Вызов подпрограммы %qs в %L не есть PURE" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, gcc-internal-format + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "Нет конкретной подпрограммы для generic %qs в %L" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, gcc-internal-format + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "Generic подпрограмма %qs в %L несовместима с интерфейсом встроенной подпрограммы" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, gcc-internal-format + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "Подпрограмма %qs в %L есть INTRINSIC, но несовместима со встроенной" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, gcc-internal-format + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "Не удается разрешить конкретную подпрограмму %qs в %L" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, gcc-internal-format + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "%qs в %L имеет тип, который несовместим с CALL в %L" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "ENTRY %qs в %L не может вызываться рекурсивно, поскольку подпрограмма %qs не есть RECURSIVE" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, gcc-internal-format + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "SUBROUTINE %qs в %L не может вызываться рекурсивно, поскольку она не есть RECURSIVE" + +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, gcc-internal-format + msgid "resolve_subroutine(): bad function type" + msgstr "resolve_subroutine(): некорректный тип функции" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, fuzzy, gcc-internal-format + #| msgid "builtin %qF is deprecated." + msgid "Using subroutine %qs at %L is deprecated" + msgstr "внутренняя функция %qF устарела." + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, gcc-internal-format, gfc-internal-format + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "Формы для операндов в %L и %L не являются подобными" + +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "logical_to_bitwise(): Некорректная встроенная функция" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgid "Impure function %qs at %L might not be evaluated" + msgstr "CHARACTER(*) функция %qs в %L не может иметь значение указатель" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "always_inline function might not be inlinable" + msgid "Impure function at %L might not be evaluated" + msgstr "always_inline функция, возможно, не годится для подстановки" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, fuzzy, gcc-internal-format + #| msgid "By-value argument at %L cannot be an array or an array section" + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "Аргумент по значению в %L не может быть массивом или секцией массива" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, gcc-internal-format, gfc-internal-format + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" + msgstr "" + +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Equality comparison for %s at %L" + msgstr "Некорректный вид для %s в %L" + +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Inequality comparison for %s at %L" + msgstr "Некорректный вид для %s в %L" + +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "resolve_operator(): Некорректная встроенная функция" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Ссылка на массив в %L вне диапазона (%ld < %ld) в измерении %d" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "Ссылка на массив в %L вне диапазона (%ld < %ld) в коизмерении %d" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Ссылка на массив в %L вне диапазона (%ld > %ld) в измерении %d" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "Ссылка на массив в %L вне диапазона (%ld > %ld) в коизмерении %d" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "Некорректный нулевой шаг в %L" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Нижняя ссылка на массив в %L вне диапазона (%ld < %ld) в измерении %d" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Нижняя ссылка на массив в %L вне диапазона (%ld > %ld) в измерении %d" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Верхняя ссылка на массив в %L вне диапазона (%ld < %ld) в измерении %d" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Верхняя ссылка на массив в %L вне диапазона (%ld > %ld) в измерении %d" + +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, gcc-internal-format + msgid "check_dimension(): Bad array reference" + msgstr "check_dimension(): Некорректная ссылка на массив" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "Самая правая верхняя граница секции массива предполагаемой формы не задана в %L" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "Несоответствие рангов в ссылке на массив в %L (%d/%d)" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "Несоответствие коиндексных рангов в ссылке на массив в %L (%d/%d)" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "Коиндекс коразмерности %d должен быть скаляром в %L" + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "Индекс массива в %L должен быть скаляром" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "Индекс массива в %L должен быть INTEGER типа, найдено %s" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, gcc-internal-format, gfc-internal-format + msgid "REAL array index at %L" + msgstr "REAL индекс массива в %L" + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "Аргумент dim в %L должен быть скаляром" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "Аргумент dim в %L должен быть INTEGER типа" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid form of array reference at %C" + msgid "Invalid array reference of a non-array entity at %L" + msgstr "Некорректная форма ссылки на массив в %C" + +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "find_array_spec(): неиспользуемый as(1)" + +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "find_array_spec(): неиспользуемый as(2)" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "Индекс массива в %L является массивом ранга %d" + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "Начальный индекс подстроки в %L должен быть типа INTEGER" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "Начальный индекс подстроки в %L должен быть скаляром" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "Конечный индекс подстроки в %L должен быть типа INTEGER" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "Конечный индекс подстроки в %L должен быть скаляром" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L is too large" + msgstr "Конечный индекс подстроки в %L слишком велик" + +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, gcc-internal-format + msgid "resolve_ref(): Bad array reference" + msgstr "resolve_ref(): Некорректная ссылка на массив" + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "Компонент справа от частичной ссылки с ненулевым рангом не должен иметь POINTER атрибут в %L" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "Компонент справа от частичной ссылки с ненулевым рангом не должен иметь ALLOCATABLE атрибут в %L" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "Две или больше частичные ссылки с ненулевым рангом не должны быть заданы в %L" + +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, fuzzy, gcc-internal-format + #| msgid "expression_rank(): Two array specs" + msgid "gfc_expression_rank(): Two array specs" + msgstr "expression_rank(): Две спецификации массива" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "Переменная %s в %L с NO_ARG_CHECK атрибутом может использоваться только как фактический аргумент" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may only be used as actual argument" + msgstr "Переменная предполагаемого типа %s в %L может использоваться только как фактический аргумент" +@@ -79114,12 +79089,12 @@ msgstr "Переменная предполагаемого типа %s в %L м + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "Переменная предполагаемого типа %s в %L как фактический аргумент для inquiry функции должна быть первым аргументом" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L may only be used as actual argument" + msgstr "Переменная предполагаемого ранга %s в %L может использоваться только как фактический аргумент" +@@ -79128,296 +79103,296 @@ msgstr "Переменная предполагаемого ранга %s в %L + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "Переменная предполагаемого ранга %s в %L как фактический аргумент для inquiry функции должна быть первым аргументом" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "Переменная %s в %L с NO_ARG_CHECK атрибутом не должна иметь ссылку на подобъект" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "Переменная предполагаемого типа %s в %L не должна иметь ссылку на подобъект" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "Переменная предполагаемого ранга %s в %L не должна иметь ссылку на подобъект" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, gcc-internal-format + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "Переменная %qs, использованная в спецификационном выражении, фигурирует в %L до ENTRY оператора, в котором она является параметром" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, gcc-internal-format + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "Переменная %qs используется в %L до оператора ENTRY, в котором она является параметром" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "Полиморфный подобъект коиндексированного объекта в %L" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "Коиндексированный объект с полиморфным размещаемым подкомпонентом в %L" + +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, fuzzy, gcc-internal-format + #| msgid "%qs matching variant is deprecated." + msgid "Using variable %qs at %L is deprecated" + msgstr "%qs соответствующий вариант устарел." + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, gcc-internal-format + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Error in type-spec at %L" + msgid "Error in typebound call at %L" + msgstr "Ошибка в спецификации типа в %L" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, gcc-internal-format, gfc-internal-format + msgid "Passed-object at %L must be scalar" + msgstr "Передаваемый объект в %L должен быть скаляром" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, gcc-internal-format + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "Базовый объект для вызова компонента указателя на процедуру в %L имеет ABSTRACT тип %qs'" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "Базовый объект для вызова type-bound процедуры в %L имеет ABSTRACT тип %qs" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, gcc-internal-format, gfc-internal-format + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "Базовый объект для вызова NOPASS type-bound процедуры в %L должен быть скаляром" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, gcc-internal-format + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "Не найдено подходящего конкретного связывания для вызова GENERIC %qs в %L" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, gcc-internal-format + msgid "%qs at %L should be a SUBROUTINE" + msgstr "%qs в %L должна быть SUBROUTINE" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, gcc-internal-format + msgid "%qs at %L should be a FUNCTION" + msgstr "%qs в %L должна быть FUNCTION" + +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, gcc-internal-format + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "gfc_resolve_expr(): Некорректный тип выражения" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "'%s' в %L должна быть скаляром" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be integer" + msgstr "%s в %L должен быть integer" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "%s в %L должна быть INTEGER" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "Шаговое выражение в DO цикле в %L не может быть нулевым" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "DO цикл в %L будет выполнен ноль раз" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "DO цикл в %L является неопределенным, так как он переполняется" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "DO цикл в %L является неопределенным, так как он теряет значимость" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "FORALL индекс-имя в %L должно быть скалярным INTEGER" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "FORALL стартовое выражение в %L должно быть скалярным INTEGER" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "FORALL конечное выражение в %L должно быть скалярным INTEGER" + +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "FORALL шаговое выражение в %L должно быть скаляром %s" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "FORALL шаговое выражение в %L не может быть нулевым" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, gcc-internal-format + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "FORALL индекс %qs не может появляться в спецификации триплета в %L" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "Allocate-object в %L должен быть ALLOCATABLE или POINTER" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "Коиндексированный размещаемый объект в %L" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "Source-expr в %L должно быть скалярным или иметь тот же ранг, что и allocate-object в %L" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "Source-expr в %L и allocate-object в %L должны иметь одинаковую форму" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "Тип сущности в %L есть тип несовместимый с source-expr в %L" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "Allocate-object в %L и source-expr в %L должны иметь одинаковый вид параметра типа" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "Source-expr в %L не должно быть типа LOCK_TYPE и не должно иметь LOCK_TYPE компонент, если allocate-object в %L является комассивом" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "Source-expr в %L не должно быть типа EVENT_TYPE и не должно иметь EVENT_TYPE компонент, если allocate-object в %L является комассивом" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "Размещение %s ABSTRACT базового типа в %L требует type-spec или source-expr" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "Размещение %s в %L с type-spec требует того же character-length параметра, что и в декларации" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "Спецификация массива требуется в ALLOCATE операторе в %L" + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "Спецификация массива или SOURCE= выражение со значением массивом требуется в ALLOCATE операторе в %L" + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, gcc-internal-format, gfc-internal-format + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "Спецификация комассива требуется в ALLOCATE операторе в %L" + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, gcc-internal-format, gfc-internal-format + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "Некорректная спецификация комассива в ALLOCATE операторе в %L" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "Некорректная спецификация массива в ALLOCATE операторе в %L" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, gcc-internal-format + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "%qs не должно появляться в спецификации массива в %L в том же ALLOCATE операторе где оно само размещается" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, fuzzy, gcc-internal-format + #| msgid "Expected '*' in coindex specification in ALLOCATE statement at %L" + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "Ожидалась '*' в спецификации коиндекса в ALLOCATE операторе в %L" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "Stat-variable в %L должна быть скалярной INTEGER переменной" + +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "Stat-variable в %L не должна быть %sd в том же %s операторе" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "ERRMSG в %L бесполезно без STAT тега" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "ERRMSG переменная в %L должна быть стандартной скалярной CHARACTER переменной" + +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "Переменная Errmsg в %L не должна быть %sd в том же операторе %s" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "Allocate-object в %L также появляется в %L" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "Allocate-object в %L есть подобъект объекта в %L" +@@ -79426,287 +79401,287 @@ msgstr "Allocate-object в %L есть подобъект объекта в %L" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "CASE метка в %L перекрывается с CASE меткой в %L" + +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "Выражение в CASE операторе в %L должно быть типа %s" + +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "Выражение в CASE операторе в %L должно быть вида %d" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "Выражение в CASE операторе в %L должно быть скаляром" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "Выражение выбора в вычисляемом GOTO операторе в %L должно быть скалярным integer выражением" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "Аргумент SELECT оператора в %L не может быть %s" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "Аргумент SELECT оператора в %L не может быть скалярным выражением" + +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "Выражение в CASE операторе в %L не находится в диапазоне %s" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "За DEFAULT CASE в %L не может следовать второй DEFAULT CASE в %L" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "Логический диапазон в CASE операторе в %L не допускается" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, gcc-internal-format, gfc-internal-format + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "Константное логическое значение в CASE операторе повторяется в %L" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "Спецификации диапазона в %L невозможно найти соответствие" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "Логический SELECT CASE блок в %L имеет более двух случаев" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic %qs at %L is invalid in procedure pointer assignment" + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "Встроенная функция %qs в %L некорректна в присваивании указателя на процедуру" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, fuzzy, gcc-internal-format + #| msgid "Derived type %qs cannot be used as a variable at %C" + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "Производный тип %qs не может быть использован как переменная в %C" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, fuzzy, gcc-internal-format + #| msgid "Associate-name %qs at %L is used as array" + msgid "Associating entity %qs at %L is a procedure name" + msgstr "Имя ассоциации %qs в %L используется как массив" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L cannot be NULL()" + msgstr "Селектор в %L не может быть NULL()" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L has no type" + msgstr "Селектор в %L не имеет типа" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "Имя ассоциации %qs в %L используется как массив" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "CLASS селектор в %L требует временной переменной, которая пока не реализована" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, gcc-internal-format, gfc-internal-format + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "Селектор должен быть полиморфным в SELECT TYPE операторе в %L" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L must not be coindexed" + msgstr "Селектор в %L не должен быть коиндексирован" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, gcc-internal-format, gfc-internal-format + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "TYPE IS в %L перекрывается с TYPE IS в %L" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, gcc-internal-format + msgid "Derived type %qs at %L must be extensible" + msgstr "Производный тип %qs в %L должен быть расширяемым" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, gcc-internal-format + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "Производный тип %qs в %L должен быть расширением %qs" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, gcc-internal-format + msgid "Unexpected intrinsic type %qs at %L" + msgstr "Неожиданный встроенный тип %qs в %L" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, gcc-internal-format, gfc-internal-format + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "Спецификация типа в %L должна специфицировать, что каждый параметр длины типа является предполагаемым" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "Двойной CLASS IS блок в SELECT TYPE операторе в %L" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "Некорректный контекст для NULL () встроенной в %L" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO %s procedure at %L must be recursive" + msgstr "DTIO %s процедура в %L должна быть рекурсивной" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "Элемент передачи данных в %L не может быть полиморфным, если только он не обрабатывается определенной процедурой ввода/вывода" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "Элемент передачи данных в %L не может иметь POINTER компоненты, если только он не обрабатывается определенной процедурой ввода/вывода" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "Элемент передачи данных в %L не может иметь компоненты указатели на процедуру" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "Элемент передачи данных в %L не может иметь ALLOCATABLE компоненты если только он не обрабатывается определенной процедурой ввода/вывода" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "Элемент передачи данных в %L не может иметь PRIVATE компоненты" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "Элемент передачи данных в %L не может иметь PRIVATE компоненты, если только он не обрабатывается определенной процедурой ввода/вывода" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "Элемент передачи данных в %L не может быть полной ссылкой на массив предполагаемого размера" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, gcc-internal-format, gfc-internal-format + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "Lock переменная в %L должна быть скаляром типа LOCK_TYPE" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "Event переменная в %L должна быть скаляром типа EVENT_TYPE" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "Аргумент event переменная в %L должен быть комассивом или коиндексированным" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "Аргумент event переменная в %L должен быть комассивом, но не коиндексированным" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, gcc-internal-format, gfc-internal-format + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "STAT= аргумент в %L должна быть скалярной INTEGER переменной" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "ERRMSG= аргумент в %L должна быть скалярной CHARACTER переменной" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, gcc-internal-format, gfc-internal-format + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "ACQUIRED_LOCK= аргумент в %L должна быть скалярной LOGICAL переменной" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, gcc-internal-format, gfc-internal-format + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "UNTIL_COUNT= аргумент в %L должен быть скалярным INTEGER выражением" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "Imageset аргумент в %L должен быть скалярным или ранга 1 INTEGER выражением" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "Imageset аргумент в %L должен быть между 1 и num_images()" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, gcc-internal-format, gfc-internal-format + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "Оператор в %L не есть корректный оператор цели перехода для оператора перехода в %L" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, gcc-internal-format, gfc-internal-format + msgid "Branch at %L may result in an infinite loop" + msgstr "Переход в %L может вызвать зацикливание" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "GOTO оператор в %L покидает CRITICAL конструкцию для метки в %L" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "GOTO оператор в %L покидает DO CONCURRENT конструкцию для метки в %L" +@@ -79714,214 +79689,214 @@ msgstr "GOTO оператор в %L покидает DO CONCURRENT констр + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "Метка в %L не находится в том же блоке, что GOTO оператор в %L" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "WHERE маска в %L имеет противоречивую форму" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "WHERE цель присваивания в %L имеет противоречивую форму" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "Non-ELEMENTAL определенное пользователем присваивание в WHERE в %L" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "Неподдерживаемый оператор внутри WHERE в %L" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "Присваивание FORALL индексной переменной в %L" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, gcc-internal-format + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "FORALL с индексом %qs не используется в левой части присваивания в %L и поэтому может вызвать множественное присваивание этому объекту" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "BLOCK construct at %C" + msgid "FORALL construct at %L" + msgstr "BLOCK конструкция в %C" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "FORALL имя индекса в %L должно быть скалярной переменной типа integer" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "Внешняя FORALL конструкция уже имеет индекс с этим именем %L" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "WHERE/ELSEWHERE клаузула в %L требует LOGICAL массив" + +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "gfc_resolve_blocks(): Некорректный тип блока" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, gcc-internal-format, gfc-internal-format + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "CHARACTER выражение будет усечено в присваивании (%ld/%ld) в %L" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "Коиндексированное выражение в %L присваивается переменной производного типа с POINTER компонентом в PURE процедуре" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "" + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "Присваивание коиндексированной переменной в %L в PURE процедуре" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "Присваивание полиморфному комассиву в %L не допускается" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "Присваивание размещаемой полиморфной переменной в %L" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "Присваивание размещаемой полиморфной переменной в %L требует %<-frealloc-lhs%>" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, fuzzy, gcc-internal-format + #| msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator" + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "Неразмещаемая переменная не должна быть полиморфной во встроенном присваивании в %L - проверьте, что имеется соответствующая конкретная подпрограмма для '=' оператора" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "Коиндексированная переменная не должна иметь размещаемых окончательных компонентов в присваивании в %L" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "TODO: type-bound определенные присваивания в %L не выполнены, так как несколько ссылок на части массива появятся в промежуточных выражениях." + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer procedure assignment at %L" + msgstr "Присваивание указателя на процедуру в %L" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, gcc-internal-format, gfc-internal-format + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "Результат функции в левой части присваивания в %L должен иметь pointer атрибут." + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, fuzzy, gcc-internal-format + #| msgid "Argument of SELECT statement at %L must be a scalar expression" + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "Аргумент SELECT оператора в %L не может быть скалярным выражением" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "STAT= аргумент в %L должна быть скалярной INTEGER переменной" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable" + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "ASSIGNED GOTO оператор в %L требует INTEGER переменной" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, gcc-internal-format + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "Переменной %qs не присвоили целевую метку в %L" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "Alternate RETURN оператор в %L требует SCALAR-INTEGER спецификатор возврата" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expected initialization expression in CASE at %C" + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "Ожидалось инициализационное выражение в CASE в %C" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "ASSIGN оператор в %L требует скалярную подразумеваемого INTEGER переменную" + +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid NULL at %L" + msgstr "Некорректный NULL в %L" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, gcc-internal-format, gfc-internal-format + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "Оператор арифметического IF в %L требует скалярное REAL или INTEGER выражение" + +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "gfc_resolve_code(): Нет выражения в DO WHILE" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "Условие выхода из DO WHILE цикла в %L должно быть скалярным LOGICAL выражением" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "FORALL клаузула маски в %L требует скалярное LOGICAL выражение" + +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, gcc-internal-format + msgid "gfc_resolve_code(): Bad statement code" + msgstr "gfc_resolve_code(): Некорректный код оператора" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, fuzzy, gcc-internal-format + #| msgid "Unused parameter %qs declared at %L" + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "Неиспользуемый параметр %qs декларирован в %L" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, gcc-internal-format + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "Переменная %qs со связывающей меткой %qs в %L использует тот же глобальный идентификатор, что и сущность в %L" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, gcc-internal-format + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" + msgstr "Переменная %qs из модуля %qs со связывающей меткой %qs в %L использует тот же глобальный идентификатор, что и сущность в %L из модуля %qs" +@@ -79929,995 +79904,995 @@ msgstr "Переменная %qs из модуля %qs со связывающе + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, gcc-internal-format + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "Процедура %qs со связывающей меткой %qs в %L использует тот же глобальный идентификатор, что и сущность в %L" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, gcc-internal-format, gfc-internal-format + msgid "String length at %L is too large" + msgstr "Длина строки в %L слишком велика" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, gcc-internal-format + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "Размещаемый массив %qs в %L должен иметь отложенную форму или предполагаемый ранг" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, gcc-internal-format + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "Скалярный объект %qs в %L не может быть ALLOCATABLE" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, gcc-internal-format + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "Указатель на массив %qs at %L должен иметь отложенную форму или предполагаемый ранг" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, gcc-internal-format + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "Массив %qs at %L не может иметь отложенную форму" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "Тип %qs CLASS переменной %qs at %L не является расширяемым" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "CLASS переменная %qs в %L должна быть формальным параметром, размещаемой или указателем" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, gcc-internal-format + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "Тип %qs не может быть host ассоциированным в %L, поскольку он блокирован несовместимым объектом с тем же именем декларированным в %L" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, gcc-internal-format + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "Выведенный SAVE для переменной модуля %qs в %L необходим из-за подразумеваемой инициализации" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, gcc-internal-format + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" + msgstr "Сущность %qs в %L имеет параметр отложенного типа и требует либо POINTER либо ALLOCATABLE атрибут" + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, gcc-internal-format + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "Массив из модуля или главной программы %qs в %L должен иметь константную форму" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "Сущность с предполагаемой character длиной в %L должна быть формальным аргументом или PARAMETER" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, gcc-internal-format + msgid "%qs at %L must have constant character length in this context" + msgstr "%qs в %L должна иметь константную character длину в этом контексте" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, gcc-internal-format + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "COMMON переменная %qs в %L должна иметь константную character длину" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, gcc-internal-format + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "Размещаемая %qs в %L не может иметь инициализатор" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, gcc-internal-format + msgid "External %qs at %L cannot have an initializer" + msgstr "Внешняя %qs в %L не может иметь инициализатор" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, gcc-internal-format + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "Формальный параметр %qs в %L не может иметь инициализатор" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, gcc-internal-format + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "Встроенная %qs в %L не может иметь инициализатор" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, gcc-internal-format + msgid "Function result %qs at %L cannot have an initializer" + msgstr "Результат функции %qs в %L не может иметь инициализатор" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, gcc-internal-format + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "Автоматический массив %qs в %L не может иметь инициализатор" + +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L" + msgstr "%s в %L" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, gcc-internal-format + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "Оператор функция с character значением %qs в %L должна иметь константную длину" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, gcc-internal-format + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "%qs имеет PRIVATE тип и не может быть формальным аргументом %qs, который PUBLIC в %L" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, gcc-internal-format + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "Процедура %qs в PUBLIC интерфейсе %qs в %L берет формальные аргументы %qs, который PRIVATE" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, gcc-internal-format + msgid "Function %qs at %L cannot have an initializer" + msgstr "Функция %qs в %L не может иметь инициализатор" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, gcc-internal-format + msgid "External object %qs at %L may not have an initializer" + msgstr "Внешний объект %qs в %L не может иметь инициализатор" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, gcc-internal-format + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "ELEMENTAL функция %qs в %L должна иметь скалярный результат" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, gcc-internal-format + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "Оператор функция %qs в %L не может иметь pointer или allocatable атрибут" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "CHARACTER(*) функция %qs в %L не может иметь значение массив" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "CHARACTER(*) функция %qs в %L не может иметь значение указатель" + +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "CHARACTER(*) функция %qs в %L не может быть pure" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "CHARACTER(*) функция %qs в %L не может быть рекурсивной" + +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L" + msgstr "CHARACTER(*) функция %qs в %L" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, gcc-internal-format + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "Указатель на процедуру %qs в %L не должен быть элементным" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, gcc-internal-format + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "Формальная процедура %qs в %L не должна быть элементной" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, gcc-internal-format + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "Переменная результата функции %s в %L элементной функции %qs не должна иметь атрибут ALLOCATABLE или POINTER" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "PROCEDURE атрибут конфликтует с SAVE атрибутом в %qs в %L" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "PROCEDURE атрибут конфликтует с INTENT атрибутом в %qs в %L" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "PROCEDURE атрибут конфликтует с RESULT атрибутом в %qs в %L" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, gcc-internal-format + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "EXTERNAL атрибут конфликтует с FUNCTION атрибутом в %qs в %L" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "Результат указатель на процедуру %qs в %L оказался без pointer атрибута" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "Несоответствие в ELEMENTAL атрибуте между MODULE PROCEDURE в %L и ее интерфейсом в %s" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "Несоответствие в PURE атрибуте между MODULE PROCEDURE в %L и ее интерфейсом в %s" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "Несоответствие в RECURSIVE атрибуте между MODULE PROCEDURE в %L и ее интерфейсом в %s" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "%s между MODULE PROCEDURE декларацией в MODULE %qs и декларацией в %L в (SUB)MODULE %qs" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, fuzzy, gcc-internal-format + #| msgid "Interface %qs at %L must be explicit" + msgid "Interface of %qs at %L must be explicit" + msgstr "Интерфейс %qs в %L должен быть явным" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, gcc-internal-format + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "FINAL процедура %qs в %L не есть SUBROUTINE" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "FINAL процедура в %L должна иметь ровно один аргумент" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, gcc-internal-format + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "Аргумент FINAL процедуры в %L должен быть типа %qs" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "Аргумент FINAL процедуры в %L не должен быть POINTER" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "Аргумент FINAL процедуры в %L не должен быть ALLOCATABLE" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "Аргумент FINAL процедуры в %L не должен быть OPTIONAL" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "Аргумент FINAL процедуры в %L не должен быть INTENT(OUT)" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, gcc-internal-format, gfc-internal-format + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "Нескалярная FINAL процедура в %L должна иметь аргумент предполагаемой формы" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, gcc-internal-format + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "FINAL процедура %qs декларированная в %L имеет тот же ранг (%d), что и %qs" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, fuzzy, gcc-internal-format + #| msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one" + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "Только массивные FINAL процедуры декларированные для производного типа %qs определенного в %L, предлагают также скалярный тип" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, fuzzy, gcc-internal-format + #| msgid "%qs and %qs can't be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "%qs и %qs не могут быть смешанными FUNCTION/SUBROUTINE для GENERIC %qs в %L" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, gcc-internal-format + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "%qs и %qs для GENERIC %qs в %L неоднозначны" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, gcc-internal-format + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "Неопределенное конкретное связывание %qs как цели GENERIC %qs в %L" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, gcc-internal-format + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "GENERIC %qs в %L должен нацеливаться на конкретное связывание, %qs также GENERIC" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, fuzzy, gcc-internal-format + #| msgid "GENERIC %qs at %L can't overwrite specific binding with the same name" + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "GENERIC %qs в %L не может перебить конкретное связывание с тем же именем" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Type-bound operator at %L can't be NOPASS" + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "Type-bound оператор в %L не может быть NOPASS" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, gcc-internal-format + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "%qs должна быть процедурой модуля или внешней процедурой с явным интерфейсом в %L" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, gcc-internal-format + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "Процедура %qs с PASS(%s) в %L не имеет аргумента %qs" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, gcc-internal-format + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "Процедура %qs с PASS в %L должна иметь по крайней мере один аргумент" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, gcc-internal-format + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "Неполиморфный passed-object формальный аргумент %qs в %L" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "Аргумент %qs от %qs с PASS(%s) в %L должен быть производного типа %qs" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "Passed-object формальный аргумент %qs в %L должен быть скаляром" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "Passed-object формальный аргумент %qs в %L не должен быть ALLOCATABLE" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "Passed-object формальный аргумент %qs в %L не должен быть POINTER" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "Процедура %qs в %L имеет то же имя, что и компонент %qs" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "Процедура %qs в %L имеет то же имя, что и унаследованный компонент %qs" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, gcc-internal-format + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "Производный тип %qs декларированный в %L должен быть ABSTRACT, поскольку %qs есть DEFERRED и не перебивается" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, gcc-internal-format + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "Комассивный компонент %qs в %L должен быть размещаемым с отложенной формой" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, gcc-internal-format + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "Компонент %qs в %L типа TYPE(C_PTR) или TYPE(C_FUNPTR) не должен быть комассивом" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, gcc-internal-format + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "Компонент %qs в %L с комассивным компонентом должен быть неуказательным, неразмещаемым скаляром" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, gcc-internal-format + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "Компонент %qs в %L имеет CONTIGUOUS атрибут, но не является указателем на массив" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, gcc-internal-format + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "Компонент %qs типа BIND(C) в %L должен иметь единичную длину" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "Компонент указателя на процедуру %qs с PASS(%s) в %L не имеет аргумента %qs" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "Компонент указателя на процедуру %qs с PASS в %L должен иметь по крайней мере один аргумент" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "Аргумент %qs от %qs с PASS(%s) в %L должен быть производного типа %qs" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "Аргумент %qs от %qs с PASS(%s) в %L должен быть скаляром" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "Аргумент %qs от %qs с PASS(%s) в %L не может иметь POINTER атрибут" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "Аргумент %qs от %qs с PASS(%s) в %L не может быть ALLOCATABLE" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, gcc-internal-format + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "Компонент %qs от %qs в %L имеет то же имя, что и унаследованная type-bound процедура" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, gcc-internal-format + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "Character длина компонента %qs должна быть константным спецификационным выражением в %L" + +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, fuzzy, gcc-internal-format + #| msgid "Expression at %L must be of INTEGER type, found %s" + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "Выражение в %L должно быть INTEGER типа, найдено %s" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, gcc-internal-format + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "Character компонент %qs от %qs в %L с отложенной длиной должен быть POINTER или ALLOCATABLE" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, gcc-internal-format + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "компонент %qs имеет PRIVATE тип и не может быть компонентом %qs, который PUBLIC в %L" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "Полиморфный компонент %s в %L в SEQUENCE или BIND(C) типе %s" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, gcc-internal-format, gfc-internal-format + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "Компонент %s SEQUENCE типа декларированный в %L не имеет SEQUENCE атрибут" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, gcc-internal-format, gfc-internal-format + msgid "Conflicting initializers in union at %L and %L" + msgstr "Конфликтующие инициализаторы в объединении в %L и %L" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, gcc-internal-format + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "Поскольку расширяющий тип %qs в %L имеет комассивный компонент, родительский тип %qs должен также иметь его" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, gcc-internal-format + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "Нерасширяемый производный тип %qs в %L не должен быть ABSTRACT" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, gcc-internal-format + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "Generic имя %qs функции %qs в %L то же, что и имя производного типа в %L" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, fuzzy, gcc-internal-format + #| msgid "Derived type %qs at %L must be extensible" + msgid "Derived type %qs at %L has not been declared" + msgstr "Производный тип %qs в %L должен быть расширяемым" + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, gcc-internal-format + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "Массив предполагаемого размера %qs в списке имен %qs в %L не допускается" + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, gcc-internal-format + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "NAMELIST массивный объект %qs с предполагаемой формой в списке имен %qs в %L" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, gcc-internal-format + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "NAMELIST массивный объект %qs с неконстантной формой в списке имен %qs в %L" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, gcc-internal-format + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "NAMELIST объект %qs с неконстантной character длиной в списке имен %qs в %L" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, gcc-internal-format + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "NAMELIST объект %qs был декларирован PRIVATE и не может быть членом PUBLIC списка имен %qs в %L" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, gcc-internal-format + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "NAMELIST объект %qs имеет use-associated PRIVATE компоненты и не может быть членом списка имен %qs в %L" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, gcc-internal-format + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "NAMELIST объект %qs имеет PRIVATE компоненты и не может быть членом PUBLIC списка имен %qs в %L" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "PROCEDURE атрибут конфликтует с NAMELIST атрибутом в %qs в %L" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, gcc-internal-format + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "Parameter массив %qs at %L не может быть автоматическим или отложенной формы" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, gcc-internal-format + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "Неявно типизированный PARAMETER %qs в %L не соответствует более позднему IMPLICIT типу" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "Несовместимый производный тип в PARAMETER в %L" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, gcc-internal-format + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "CLASS переменная %qs в %L не может иметь PARAMETER атрибут" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, gcc-internal-format + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "Простите, размещаемые/указательные компоненты в комассивах полиморфных (CLASS) типов в %L не поддерживаются" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, gcc-internal-format, gfc-internal-format + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "PROTECTED атрибут конфликтует с EXTERNAL атрибутом в %L" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, gcc-internal-format, gfc-internal-format + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "PROCEDURE атрибут конфликтует с PROTECTED атрибутом в %L" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, gcc-internal-format + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "%qs в %L имеет CONTIGUOUS атрибут, но не является указателем на массив или массивом предполагаемой формы или предполагаемого ранга" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, gcc-internal-format, gfc-internal-format + msgid "Bad specification for assumed size array at %L" + msgstr "" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "Массив предполагаемого размера в %L должен быть формальным аргументом" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "Массив предполагаемой формы в %L должен быть формальным аргументом" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "Массив предполагаемой формы в %L должен быть формальным аргументом" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "Массив предполагаемого ранга в %L не может иметь VALUE или CODIMENSION атрибут" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "Символ в %L не является DUMMY переменной" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, gcc-internal-format + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "%qs в %L не может иметь VALUE атрибут, поскольку он не является формальным аргументом" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, gcc-internal-format + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "Character формальная переменная %qs в %L с VALUE атрибутом должна иметь константную длину" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, gcc-internal-format + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "C совместимая character формальная переменная %qs в %L с VALUE атрибутом должна иметь длину один" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, gcc-internal-format + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "Производный тип %qs в %L имеет тип %qs, который не был определен" + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "Переменная %s в %L с NO_ARG_CHECK атрибутов должна быть формальным аргументом" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "Переменная %s в %L с NO_ARG_CHECK атрибутом должна быть типа TYPE(*) или числового встроенного типа" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "Переменная %s в %L с NO_ARG_CHECK атрибутом не может иметь ALLOCATABLE, CODIMENSION, POINTER или VALUE атрибут" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "Переменная %s в %L с NO_ARG_CHECK атрибутом не может иметь INTENT(OUT) атрибут" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "Переменная %s в %L с NO_ARG_CHECK атрибутом должна быть или скаляром или массивом предполагаемого размера" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "Предполагаемый тип переменной %s в %L разрешен только для формальных переменных" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "Переменная предполагаемого типа %s в %L не может иметь ALLOCATABLE, CODIMENSION, POINTER или VALUE атрибут" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "Переменная предполагаемого типа %s в %L не может иметь INTENT(OUT) атрибут" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "Переменная предполагаемого типа %s в %L не должна быть массивом явной формы" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, gcc-internal-format + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "Переменная %qs at %L не может быть BIND(C), поскольку она не COMMON блок и не декларирована на уровне модуля" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, gcc-internal-format + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "" + +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, gcc-internal-format + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "PUBLIC %s %qs в %L PRIVATE производного типа %qs" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "Переменная %s в %L типа LOCK_TYPE или с подкомпонентом типа LOCK_TYPE должна быть комассивом" + +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, gcc-internal-format + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "INTENT(OUT) формальный аргумент %qs в %L имеет ASSUMED SIZE и поэтому не может иметь подразумеваемый инициализатор" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "Формальный аргумент %qs в %L типа LOCK_TYPE не должен быть INTENT(OUT)" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "Формальный аргумент %qs в %L типа EVENT_TYPE не должен быть INTENT(OUT)" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, gcc-internal-format + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "Результат функции %qs в %L не должен быть комассивом или иметь комассивный компонент" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, gcc-internal-format + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "Переменная %qs в %L типа TYPE(C_PTR) или TYPE(C_FUNPTR) не должна быть комассивом" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, gcc-internal-format + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "Переменная %qs в %L с комассивным компонентом должна быть неуказательным, неразмещаемым скаляром, который не есть комассив" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, gcc-internal-format + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "Переменная %qs в %L является комассивом и не является ни ALLOCATABLE, ни SAVE, ни формальным аргументом" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, gcc-internal-format + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "Комассивная переменная %qs в %L не должна иметь коизмерения с отложенной формой" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, gcc-internal-format + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "Размещаемая комассивная переменная %qs в %L должна иметь отложенную форму" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, gcc-internal-format + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "Переменная %qs в %L является INTENT(OUT) и может поэтому не быть размещаемым комассивом или иметь комассивные компоненты" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, gcc-internal-format + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "Комассивная формальная переменная %qs в %L не допускается в BIND(C) процедуре %qs" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, gcc-internal-format + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "LOGICAL формальная переменная %qs в %L с не-C_Bool видом в BIND(C) процедуре %qs" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, gcc-internal-format + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "LOGICAL результирующая переменная %qs в %L с не-C_Bool видом в BIND(C) процедуре %qs" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, fuzzy, gcc-internal-format + #| msgid "Namelist %qs can not be an argument to subroutine or function at %L" + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "Список имен %qs не может быть аргументом для подпрограммы или функции в %L" + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "Threadprivate в %L не является SAVEd" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "!$OMP DECLARE TARGET переменная %qs в %L не есть SAVEd" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expecting list of named entities at %C" + msgid "Expecting definable entity near %L" + msgstr "Ожидается список именованных сущностей в %C" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, gcc-internal-format + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "BLOCK DATA элемент %qs в %L должен быть в COMMON" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, gcc-internal-format + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "DATA массив %qs в %L должен быть указан в предыдущей декларации" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "DATA элемент %qs в %L не может иметь коиндекс" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "DATA элемент %qs в %L является указателем и поэтому должен быть полным массивом" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, fuzzy, gcc-internal-format + #| msgid "Argument %qs of elemental procedure at %L cannot have the ALLOCATABLE attribute" + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "Аргумент %qs элементной процедуры в %L не может иметь ALLOCATABLE атрибут" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "Неконстантная секция массива в %L в DATA операторе" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "DATA оператор в %L имеет больше переменных чем значений" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "начало implied-do цикла в %L не может быть упрощено до константного значения" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "окончание implied-do цикла в %L не может быть упрощено до константного значения" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "шаг implied-do цикла в %L не может быть упрощен до константного значения" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgid "step of implied-do loop at %L shall not be zero" + msgstr "шаг implied-do цикла в %L не может быть упрощен до константного значения" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "DATA оператор в %L имеет больше значений чем переменных" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but not used" + msgstr "Метка %d в %L определена, но не используется" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but cannot be used" + msgstr "Метка %d в %L определена, но не может быть использована" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, gcc-internal-format + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "Переменная производного типа %qs в %L должна иметь SEQUENCE атрибут, чтобы быть EQUIVALENCE объектом" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, gcc-internal-format + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "Переменная производного типа %qs в %L не может иметь ALLOCATABLE компоненты, чтобы быть EQUIVALENCE объектом" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "Переменная производного типа %qs в %L с подразумеваемой инициализацией не может быть в EQUIVALENCE с переменной в COMMON" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "Переменная производного типа %qs в %L с указательным(и) компонент(ами) не может быть EQUIVALENCE объектом" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "Синтаксическая ошибка в EQUIVALENCE операторе в %L" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "Все или никакие объекты в EQUIVALENCE установленной в %L должны иметь PROTECTED атрибут" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, gcc-internal-format + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, gcc-internal-format + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "Именованная константа %qs at %L не может быть EQUIVALENCE объектом" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, gcc-internal-format + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "Массив %qs at %L с неконстантными границами не может быть EQUIVALENCE объектом" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, gcc-internal-format + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "Компонент структуры %qs at %L не может быть EQUIVALENCE объектом" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "Подстрока в %L имеет нулевую длину" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, gcc-internal-format + msgid "Self reference in character length expression for %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, gcc-internal-format + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "PUBLIC функция %qs в %L PRIVATE типа %qs" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, gcc-internal-format + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "ENTRY %qs в %L не имеет IMPLICIT тип" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "Процедура пользовательского оператора %qs в %L должна быть FUNCTION" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, gcc-internal-format + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "Процедура пользовательского оператора %qs в %L не может быть предполагаемой character длиной" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "Процедура пользовательского оператора %qs в %L должна иметь по крайней мере один аргумент" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "Первый аргумент интерфейса оператора в %L не может быть необязательным" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "Второй аргумент интерфейса оператора в %L не может быть необязательным" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "Интерфейс оператора в %L должен иметь не более двух аргументов" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, gcc-internal-format + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" + msgstr "Внутренняя процедура %qs в %L PURE процедуры должна также быть PURE" +@@ -81825,7 +81800,7 @@ msgstr "Перекрывающиеся неравные инициализато + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "Перекрывающиеся неравные инициализаторы в EQUIVALENCE в %C" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "" +@@ -81837,12 +81812,12 @@ msgstr "" + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, gcc-internal-format + msgid "Creating array temporary at %L for argument %qs" + msgstr "Создание временного массива в %L для аргумента %qs" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "Некорректный тип выражения при проходе (%d)" +@@ -81936,89 +81911,83 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "" + + #: fortran/trans-decl.cc:1795 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Symbol %qs at %C has no IMPLICIT type" +-msgid "%s at %C has no default type" +-msgstr "Символ %qs в %C не имеет IMPLICIT тип" +- +-#: fortran/trans-decl.cc:1798 + #, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "встроенная переменная, которая не является процедурой" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, gcc-internal-format + msgid "Return value of function %qs at %L not set" + msgstr "Возвращаемое значение функции %qs в %L не установлено" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, gcc-internal-format + msgid "Deferred type parameter not yet supported" + msgstr "Параметр отложенного типа пока не поддерживается" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, gcc-internal-format + msgid "backend decl for module variable %qs already exists" + msgstr "backend декларация для переменной модуля %qs уже существует" + +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, gcc-internal-format + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "Неиспользуемая PRIVATE переменная модуля %qs декларирована в %L" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, fuzzy, gcc-internal-format + #| msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "%qs в %L не может иметь VALUE атрибут, поскольку он не является формальным аргументом" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, fuzzy, gcc-internal-format + #| msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "Компонент %qs в %L имеет CONTIGUOUS атрибут, но не является указателем на массив" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, gcc-internal-format + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "Формальный аргумент %qs в %L был декларирован INTENT(OUT), но не был установлен" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, gcc-internal-format + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "Формальный аргумент производного типа %qs в %L был декларирован INTENT(OUT), но не был установлен и не имеет подразумеваемого инициализатора" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, gcc-internal-format + msgid "Unused dummy argument %qs at %L" + msgstr "Неиспользуемый формальный аргумент %qs в %L" + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, gcc-internal-format + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "Неиспользуемая переменная модуля %qs, которая была явно импортирована в %L" + +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, gcc-internal-format + msgid "Unused variable %qs declared at %L" + msgstr "Неиспользуемая переменная %qs декларирована в %L" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, gcc-internal-format + msgid "Unused parameter %qs declared at %L" + msgstr "Неиспользуемый параметр %qs декларирован в %L" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, gcc-internal-format + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "Неиспользуемый параметр %qs, который был явно импортирован в %L" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, gcc-internal-format + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "Возвращаемое значение %qs функции %qs декларированное в %L не установлено" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "Извините, !$ACC DECLARE в %L не допускается в конструкции BLOCK" +@@ -82034,27 +82003,27 @@ msgstr "Не могу вычислить длину char массива в %L." + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "Код для переразмещения размещаемой переменной в %L будет добавлен" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "Простите, коиндексированный доступ к неограниченному полиморфному объекту в %L не поддерживается" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "Простите, коиндексированный доступ к неограниченному полиморфному компоненту в %L не поддерживается" + +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, gcc-internal-format + msgid "Unknown intrinsic op" + msgstr "Неизвестная встроенная операция" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, gcc-internal-format, gfc-internal-format + msgid "Unknown argument list function at %L" + msgstr "Неизвестная функция списка аргументов в %L" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "" +@@ -84055,9 +84024,6 @@ msgstr "неиспользуемый параметр %qD" + #~ msgid "PIC register isn't set up" + #~ msgstr "PIC-регистр не установлен" + +-#~ msgid "invalid operand size for operand code 'Z'" +-#~ msgstr "недопустимый размер операнда для кода 'Z'" +- + #~ msgid "__float128 and __ibm128 cannot be used in the same expression" + #~ msgstr "__float128 и __ibm128 нельзя использовать в одном выражении" + +diff --git a/gcc/po/sr.po b/gcc/po/sr.po +index 3edf2f7d9ba..4b4c5ada2fc 100644 +--- a/gcc/po/sr.po ++++ b/gcc/po/sr.po +@@ -6,7 +6,7 @@ msgid "" + msgstr "" + "Project-Id-Version: gcc 4.2.1\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" + "PO-Revision-Date: 2007-08-19 12:00+0200\n" + "Last-Translator: Caslav Ilic \n" + "Language-Team: Serbian \n" +@@ -4459,7 +4459,7 @@ msgstr "" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "" + + #: m2/lang.opt:127 +@@ -8459,12 +8459,6 @@ msgstr "" + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "" + +-#: config/i386/i386.opt:1280 +-#, fuzzy, no-c-format +-#| msgid "Support MMX and SSE built-in functions and code generation" +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "Подржи уграђене ММИкс и ССЕ функције и стварање кôда" +- + #: config/pa/pa64-hpux.opt:23 + #, fuzzy, no-c-format + #| msgid "Assume code will be linked by GNU ld" +@@ -19097,12 +19091,12 @@ msgstr "операнд уз ‘%%l’ није етикета" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "лоша употреба реалне константе" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +@@ -20316,66 +20310,66 @@ msgstr "Овом прекидачу недостаје документациј + msgid "Uses of this option are diagnosed." + msgstr "" + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "" + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, c-format + msgid "Same as %s%s." + msgstr "" + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, c-format + msgid "Same as %s." + msgstr "" + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, c-format + msgid "%s Same as %s." + msgstr "" + +-#: opts.cc:1733 ++#: opts.cc:1732 + msgid "[available in " + msgstr "" + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, fuzzy, c-format + #| msgid " bytes" + msgid "%llu bytes" + msgstr " бајтова" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "" + +-#: opts.cc:1813 ++#: opts.cc:1812 + #, fuzzy + #| msgid "GCSE disabled" + msgid "[disabled]" + msgstr "ГЦСЕ искључен" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr "" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr "" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr "" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, fuzzy, c-format + #| msgid "no arguments for spec function" + msgid "" +@@ -20383,67 +20377,67 @@ msgid "" + " " + msgstr "нема аргумената за функцију навода" + +-#: opts.cc:1959 ++#: opts.cc:1958 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options are target specific" + msgstr "Следеће опције не зависе од језика:\n" + +-#: opts.cc:1962 ++#: opts.cc:1961 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options control compiler warning messages" + msgstr "Следеће опције не зависе од језика:\n" + +-#: opts.cc:1965 ++#: opts.cc:1964 + #, fuzzy + #| msgid "Do the full register move optimization pass" + msgid "The following options control optimizations" + msgstr "Изврши потпуни пролаз оптимизације померањем регистара" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options are language-independent" + msgstr "Следеће опције не зависе од језика:\n" + +-#: opts.cc:1971 ++#: opts.cc:1970 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options control parameters" + msgstr "Следеће опције не зависе од језика:\n" + +-#: opts.cc:1977 ++#: opts.cc:1976 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options are specific to just the language " + msgstr "Следеће опције не зависе од језика:\n" + +-#: opts.cc:1979 ++#: opts.cc:1978 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options are supported by the language " + msgstr "Следеће опције не зависе од језика:\n" + +-#: opts.cc:1990 ++#: opts.cc:1989 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options are not documented" + msgstr "Следеће опције не зависе од језика:\n" + +-#: opts.cc:1992 ++#: opts.cc:1991 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options take separate arguments" + msgstr "Следеће опције не зависе од језика:\n" + +-#: opts.cc:1994 ++#: opts.cc:1993 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options take joined arguments" + msgstr "Следеће опције не зависе од језика:\n" + +-#: opts.cc:2006 ++#: opts.cc:2005 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options are language-related" +@@ -20854,80 +20848,80 @@ msgstr "модификатор дужине у формату strfmon" + msgid "" + msgstr "<командна-линија>" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "unsupported operand for code '%c'" + msgstr "неисправан операнд за кôд ‘%c’" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "invalid operand for '%%%c'" + msgstr "неисправан операнд за кôд ‘%c’" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, fuzzy, c-format + #| msgid "invalid punctuation %qc in constraint" + msgid "invalid vector constant" + msgstr "неисправна интерпункција %qc у ограничењу" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "incompatible register operand for '%%%c'" + msgstr "неисправан операнд за кôд ‘%c’" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, c-format + msgid "missing operand" + msgstr "недостаје операнд" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, fuzzy, c-format + #| msgid "invalid insn:" + msgid "invalid constant" + msgstr "неисправна ија:" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, fuzzy, c-format + #| msgid "invalid %%d operand" + msgid "invalid operand" + msgstr "неисправан %%d операнд" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, fuzzy, c-format + #| msgid "invalid operand code '%c'" + msgid "invalid operand prefix '%%%c'" + msgstr "неисправан кôд операнда ‘%c;’" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, fuzzy, c-format + #| msgid "invalid address" + msgid "invalid address mode" + msgstr "неисправна адреса" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "" +@@ -20944,18 +20938,18 @@ msgid "invalid %%r value" + msgstr "неисправна %%r вредност" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "неисправна %%R вредност" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "неисправна %%N вредност" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" + msgstr "неисправна %%P вредност" +@@ -20985,7 +20979,7 @@ msgstr "неисправна %%M вредност" + msgid "invalid %%U value" + msgstr "неисправна %%U вредност" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" + msgstr "неисправна %%s вредност" +@@ -20995,7 +20989,7 @@ msgstr "неисправна %%s вредност" + msgid "invalid %%C value" + msgstr "неисправна %%C вредност" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" + msgstr "неисправна %%E вредност" +@@ -21008,7 +21002,7 @@ msgstr "непознато unspec релокације" + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" + msgstr "неисправан %%xn кôд" +@@ -21098,36 +21092,36 @@ msgstr "неисправан УНСПЕЦ као операнд" + msgid "unrecognized supposed constant" + msgstr "непрепозната претпостављена константа" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, c-format + msgid "invalid shift operand" + msgstr "неисправан операнд помака" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, c-format + msgid "predicated Thumb instruction" + msgstr "предикатна инструкција Тамба" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "предикатна инструкција у условном редоследу" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "Unsupported operand for code '%c'" + msgstr "неисправан операнд за кôд ‘%c’" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -21136,31 +21130,31 @@ msgstr "неисправан операнд за кôд ‘%c’" + msgid "invalid operand for code '%c'" + msgstr "неисправан операнд за кôд ‘%c’" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, fuzzy, c-format + #| msgid "instruction never exectued" + msgid "instruction never executed" + msgstr "инструкција се никад не извршава" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %" + msgstr "неисправно претварање из %<__fpreg%>" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + #, fuzzy + #| msgid "invalid conversion to type %qT from type %qT" + msgid "invalid conversion to type %" + msgstr "неисправно претварање у тип %qT из типа %qT" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "" + +@@ -21544,112 +21538,112 @@ msgstr "неисправна ија:" + msgid "Expected register or constant integer." + msgstr "акумулатор није целобројна константа" + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, c-format + msgid "invalid UNSPEC as operand" + msgstr "неисправан УНСПЕЦ као операнд" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, fuzzy, c-format + #| msgid "invalid use of %" + msgid "invalid use of register '%s'" + msgstr "неисправна употреба %" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, fuzzy, c-format + #| msgid "invalid lvalue in asm output %d" + msgid "invalid use of asm flag output" + msgstr "неисправна л-вредност у излазу асемблера %d" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "invalid operand size for operand code 'O'" + msgstr "неисправан операнд за кôд ‘%c’" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "invalid operand size for operand code 'z'" + msgstr "неисправан операнд за кôд ‘%c’" + +-#: config/i386/i386.cc:13290 ++#: config/i386/i386.cc:13283 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" +-msgid "invalid operand type used with operand code '%c'" ++msgid "invalid operand type used with operand code 'Z'" + msgstr "неисправан операнд за кôд ‘%c’" + +-#: config/i386/i386.cc:13295 ++#: config/i386/i386.cc:13288 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" +-msgid "invalid operand size for operand code '%c'" ++msgid "invalid operand size for operand code 'Z'" + msgstr "неисправан операнд за кôд ‘%c’" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, c-format + msgid "invalid operand code '%c'" + msgstr "неисправан кôд операнда ‘%c;’" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, c-format + msgid "invalid constraints for operand" + msgstr "неисправна ограничења за операнд" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, fuzzy, c-format + #| msgid "%Hinvalid controlling predicate" + msgid "invalid vector immediate" + msgstr "%Hнеисправан контролишући предикат" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + msgid "unknown insn mode" + msgstr "непознат режим ије" + +@@ -21681,7 +21675,7 @@ msgstr "неисправна операција на %<__fpreg%>" + msgid "invalid %%P operand" + msgstr "неисправан %%P операнд" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" + msgstr "неисправна %%p вредност" +@@ -21731,8 +21725,8 @@ msgstr "‘%s’ није исправно име класе" + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, fuzzy, c-format + #| msgid "invalid use of %qD" + msgid "invalid use of '%%%c'" +@@ -21765,7 +21759,7 @@ msgid "post-increment address is not a register" + msgstr "адреса постувећања није регистар" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" + msgstr "лоша адреса" + +@@ -21938,7 +21932,7 @@ msgstr "неподржана комбинација: %s" + msgid "unsupported memory expression:" + msgstr "очекиван је целобројни израз" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, fuzzy, c-format + #| msgid "invalid %%c operand" + msgid "invalid vector operand" +@@ -21999,159 +21993,159 @@ msgstr "" + msgid "bad move" + msgstr "лоша проба" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" + msgstr "" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%A value" + msgstr "неисправна %%H вредност" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" + msgstr "неисправна %%D вредност" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%e value" + msgstr "неисправна %%H вредност" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" + msgstr "неисправна %%f вредност" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" + msgstr "неисправна %%F вредност" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" + msgstr "неисправна %%G вредност" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" + msgstr "неисправан %%j кôд" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" + msgstr "неисправан %%J кôд" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" + msgstr "неисправна %%k вредност" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "неисправна %%K вредност" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" + msgstr "неисправна %%O вредност" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" + msgstr "неисправна %%q вредност" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%t value" + msgstr "неисправна %%H вредност" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" + msgstr "неисправна %%T вредност" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" + msgstr "неисправна %%u вредност" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "неисправна %%v вредност" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%V value" + msgstr "неисправна %%H вредност" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" + msgstr "неисправна %%x вредност" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%z value" + msgstr "неисправна %%H вредност" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, fuzzy, c-format + #| msgid "invalid punctuation %qc in constraint" + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "неисправна интерпункција %qc у ограничењу" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "" + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + msgid "AltiVec argument passed to unprototyped function" + msgstr "алтивек аргумент прослеђен непрототипизираној функцији" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + #, fuzzy + #| msgid "Do not generate a single exit point for each function" + msgid "Could not generate addis value for fusion" + msgstr "Не стварај јединствену излазну тачку за сваку функцију" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + #, fuzzy + #| msgid "unable to generate reloads for:" + msgid "Unable to generate load/store offset for fusion" + msgstr "не могу да створим поновљена учитавања за:" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "неисправно претварање из %<__fpreg%>" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + #, fuzzy + #| msgid "invalid conversion to %<__fpreg%>" + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "неисправно претварање у %<__fpreg%>" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "неисправно претварање из %<__fpreg%>" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + #, fuzzy + #| msgid "invalid conversion to %<__fpreg%>" + msgid "invalid conversion to type %<__vector_pair%>" +@@ -22658,7 +22652,7 @@ msgstr "кандидат 1:" + msgid " after user-defined conversion:" + msgstr "тип %qs има кориснички дефинисан конструктор" + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + #, fuzzy + #| msgid "candidate 1:" + msgid "candidate is:" +@@ -23203,7 +23197,7 @@ msgstr "" + msgid "Driving:" + msgstr "Погон:" + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + #, fuzzy + #| msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT" + msgid "actual argument to INTENT = OUT/INOUT" +@@ -23369,11 +23363,11 @@ msgstr "блоковско IF" + msgid "implied END DO" + msgstr "имплицитно END DO" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + msgid "assignment" + msgstr "додела" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + msgid "pointer assignment" + msgstr "додела показивача" + +@@ -23381,250 +23375,250 @@ msgstr "додела показивача" + msgid "simple IF" + msgstr "једноставно IF" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + #, fuzzy + #| msgid "elemental subroutine" + msgid "elemental procedure" + msgstr "елементални потпрограм" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + #, fuzzy + #| msgid "invalid type argument" + msgid "allocatable argument" + msgstr "неисправан типски аргумент" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + #, fuzzy + #| msgid "no arguments" + msgid "asynchronous argument" + msgstr "без аргумената" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + #, fuzzy + #| msgid "no arguments" + msgid "optional argument" + msgstr "без аргумената" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + #, fuzzy + #| msgid "pointer assignment" + msgid "pointer argument" + msgstr "додела показивача" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + #, fuzzy + #| msgid "no arguments" + msgid "target argument" + msgstr "без аргумената" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + #, fuzzy + #| msgid "invalid type argument" + msgid "value argument" + msgstr "неисправан типски аргумент" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + #, fuzzy + #| msgid "no arguments" + msgid "volatile argument" + msgstr "без аргумената" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + #, fuzzy + #| msgid "invalid type argument" + msgid "assumed-shape argument" + msgstr "неисправан типски аргумент" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + #, fuzzy + #| msgid "no arguments" + msgid "assumed-rank argument" + msgstr "без аргумената" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + #, fuzzy + #| msgid "no arguments" + msgid "coarray argument" + msgstr "без аргумената" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + #, fuzzy + #| msgid "invalid type argument" + msgid "parametrized derived type argument" + msgstr "неисправан типски аргумент" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + #, fuzzy + #| msgid "no arguments" + msgid "polymorphic argument" + msgstr "без аргумената" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + msgid "NO_ARG_CHECK attribute" + msgstr "" + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + #, fuzzy + #| msgid "invalid type argument" + msgid "assumed-type argument" + msgstr "неисправан типски аргумент" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + msgid "array result" + msgstr "" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + msgid "pointer or allocatable result" + msgstr "" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + #, fuzzy + #| msgid "'%s' at %L must have constant character length in this context" + msgid "result with non-constant character length" + msgstr "‘%s’ код %L мора имати константну знаковну дужину у овом контексту" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + msgid "bind(c) procedure" + msgstr "" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, fuzzy, c-format + #| msgid "Invalid kind for %s at %L" + msgid "Invalid context for NULL() pointer at %%L" + msgstr "Неисправна врста за %s код %L" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, fuzzy, c-format + #| msgid "Operand of unary numeric operator '%s' at %%L is %s" + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "Операнд унарног бројевног оператора ‘%s’ код %%L је %s" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, fuzzy, c-format + #| msgid "Operands of binary numeric operator '%s' at %%L are %s/%s" + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "Операнди бинарног бројевног оператора ‘%s’ код %%L су %s/%s" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "Операнди оператора надовезивања ниски код %%L су %s/%s" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, fuzzy, c-format + #| msgid "Operands of logical operator '%s' at %%L are %s/%s" + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "Операнди логичког оператора ‘%s’ код %%L су %s/%s" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, fuzzy, c-format + #| msgid "Operand of .NOT. operator at %%L is %s" + msgid "Operand of .not. operator at %%L is %s" + msgstr "Операнд оператора .NOT. код %%L је %s" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "Комплексне величине се не могу поредити код %L" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "Логичке код %%L морају бити поређене са %s уместо %s" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, fuzzy, c-format + #| msgid "Operands of comparison operator '%s' at %%L are %s/%s" + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "Операнди оператора поређења ‘%s’ код %%L су %s/%s" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, fuzzy, c-format + #| msgid "Operand of user operator '%s' at %%L is %s" + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "Операнд корисничког оператора ‘%s’ код %%L је %s" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, fuzzy, c-format + #| msgid "Operands of user operator '%s' at %%L are %s/%s" + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "Операнди корисничког оператора ‘%s’ код %%L су %s/%s" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, fuzzy, c-format + #| msgid "Inconsistent ranks for operator at %L and %L" + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "Неусаглашени рангови за оператор код %L и %L" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + #, fuzzy + #| msgid "Perform variable tracking" + msgid "iterator variable" + msgstr "Изврши праћење променљивих" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + #, fuzzy + #| msgid "Step expression in DO loop at %L cannot be zero" + msgid "Start expression in DO loop" + msgstr "Израз за корак у петљи DO код %L не може бити нула" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + #, fuzzy + #| msgid "invalid expression as operand" + msgid "End expression in DO loop" + msgstr "неисправан израз као операнд" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + #, fuzzy + #| msgid "Step expression in DO loop at %L cannot be zero" + msgid "Step expression in DO loop" + msgstr "Израз за корак у петљи DO код %L не може бити нула" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + #, fuzzy + #| msgid "DEALLOCATE " + msgid "DEALLOCATE object" + msgstr "DEALLOCATE " + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + #, fuzzy + #| msgid "ALLOCATE " + msgid "ALLOCATE object" + msgstr "ALLOCATE " + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + msgid "STAT variable" + msgstr "" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + msgid "ERRMSG variable" + msgstr "" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + msgid "item in READ" + msgstr "" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + msgid "ACQUIRED_LOCK variable" + msgstr "" + +@@ -23637,27 +23631,27 @@ msgstr "" + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, c-format + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, c-format + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + #, fuzzy + #| msgid "assignment of read-only location" + msgid "Assignment of scalar to unallocated array" +@@ -24691,7 +24685,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in %s statement at %C" + msgstr "Синтаксна грешка у наредби %s код %C" +@@ -25113,7 +25107,7 @@ msgstr "Атрибут %s коси се са атрибутом %s код %L" + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration %q+#D here" +@@ -25218,10 +25212,10 @@ msgstr "атрибути типа игноришу се пошто је тип + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -25372,7 +25366,7 @@ msgstr "не могу да нађем датотеку за класу %s" + msgid "offset %qwi outside bounds of constant string" + msgstr "померај ван граница константне ниске" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" + msgid "%qE declared here" +@@ -27358,7 +27352,7 @@ msgstr "велики целобројни имплицитно подсечен + msgid "comparison is always %d due to width of bit-field" + msgstr "поређење је увек %d услед ширине битског поља" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "претпостављам да се означено преливање не дешава при упрошћавању пробе опсега" +@@ -28211,7 +28205,7 @@ msgstr "функција враћа адресу на локалну проме + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -29381,14 +29375,14 @@ msgstr "претпостављам показивач на члан %qD" + msgid "using a dangling pointer to %qD" + msgstr "неисправан режим показивача %qs" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" + msgid "%qD declared here" +@@ -29436,7 +29430,7 @@ msgstr "" + msgid "call to %qD" + msgstr " у позиву %qD" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, fuzzy, gcc-internal-format + #| msgid "address of local variable %q+D returned" + msgid "storing the address of local variable %qD in %qE" +@@ -30595,7 +30589,7 @@ msgstr "" + msgid "IPA modref summary is missing in input file" + msgstr "" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, fuzzy, gcc-internal-format + #| msgid "invalid punctuation %qc in constraint" + msgid "invalid jump function in LTO stream" +@@ -31620,7 +31614,7 @@ msgstr "Изврши оптимизацију за укрштање скоков + msgid "command-line option %qs is not supported by this configuration" + msgstr "опција командне линије %qs није подржана овом конфигурацијом" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, fuzzy, gcc-internal-format + #| msgid "missing argument to \"%s\"" + msgid "missing argument to %qs" +@@ -31666,13 +31660,13 @@ msgstr "" + msgid "unrecognized argument in option %qs" + msgstr "непрепозната опција командне линије „%s“" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, fuzzy, gcc-internal-format + #| msgid "Invalid argument type %qs to %qs" + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "Неисправан тип аргумента %qs за %qs" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, fuzzy, gcc-internal-format + #| msgid "Invalid argument type %qs to %qs" + msgid "valid arguments to %qs are: %s" +@@ -31843,7 +31837,7 @@ msgstr "" + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "израз ограничења стека није подржан" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, fuzzy, gcc-internal-format + #| msgid "-fno-gnu89-inline is not supported" + msgid "%<-fsanitize-trap=%s%> is not supported" +@@ -31886,198 +31880,198 @@ msgstr "праћење променљивих затражено, али бес + msgid "variable tracking requested, but not supported by this debug format" + msgstr "праћење променљивих затражено, али неподржано овим исправљачким фоматом" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, fuzzy, gcc-internal-format + #| msgid "-freorder-blocks-and-partition does not work on this architecture" + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "-freorder-blocks-and-partition не ради на овој архитектури" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, fuzzy, gcc-internal-format + #| msgid "-freorder-blocks-and-partition does not work on this architecture" + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "-freorder-blocks-and-partition не ради на овој архитектури" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, fuzzy, gcc-internal-format + #| msgid "-freorder-blocks-and-partition does not work on this architecture" + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "-freorder-blocks-and-partition не ради на овој архитектури" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, gcc-internal-format + msgid "unrecognized % passed to %" + msgstr "" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, gcc-internal-format + msgid "%qs attribute directive ignored" + msgstr "атрибутска директива %qs игнорисана" + +-#: opts.cc:2347 ++#: opts.cc:2346 + #, gcc-internal-format + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, fuzzy, gcc-internal-format + #| msgid "Invalid argument %qs for %" + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "Неисправан аргумент %qs за %" + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, gcc-internal-format + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr "-malign-loops=%d није између 0 и %d" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, fuzzy, gcc-internal-format + #| msgid "Invalid argument %qs for %" + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "Неисправан аргумент %qs за %" + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, gcc-internal-format + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized command line option \"%s\"" + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "непрепозната опција командне линије „%s“" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, fuzzy, gcc-internal-format + #| msgid "structure alignment must be a small power of two, not %d" + msgid "structure alignment must be a small power of two, not %wu" + msgstr "равнање структуре мора бити мали степен двојке, не %d" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, fuzzy, gcc-internal-format + #| msgid "unknown machine mode %qs" + msgid "unknown stack check parameter %qs" + msgstr "непознат машински режим %qs" + +-#: opts.cc:3158 ++#: opts.cc:3157 + #, gcc-internal-format + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "" + +-#: opts.cc:3169 ++#: opts.cc:3168 + #, fuzzy, gcc-internal-format + #| msgid "stack limit expression is not supported" + msgid "dwarf version %wu is not supported" + msgstr "израз ограничења стека није подржан" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized command line option \"%s\"" + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "непрепозната опција командне линије „%s“" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, gcc-internal-format + msgid "target system does not support debug output" + msgstr "циљни систем не подржава исправљачки излаз" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, fuzzy, gcc-internal-format + #| msgid "debug format \"%s\" conflicts with prior selection" + msgid "debug format %qs conflicts with prior selection" + msgstr "исправљачки формат „%s“ коси се са претходним избором" + +-#: opts.cc:3468 ++#: opts.cc:3467 + #, fuzzy, gcc-internal-format + #| msgid "unrecognised debug output level \"%s\"" + msgid "unrecognized debug output level %qs" + msgstr "непрепознат ниво исправљачког излаза „%s“" + +-#: opts.cc:3470 ++#: opts.cc:3469 + #, fuzzy, gcc-internal-format + #| msgid "debug output level %s is too high" + msgid "debug output level %qs is too high" + msgstr "ниво исправљачког излаза %s је превисок" + +-#: opts.cc:3482 ++#: opts.cc:3481 + #, fuzzy, gcc-internal-format + #| msgid "unrecognised debug output level \"%s\"" + msgid "unrecognized btf debug output level %qs" + msgstr "непрепознат ниво исправљачког излаза „%s“" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "добављам ограничење највеће величине датотеке језгра: %m" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "постављам ограничење највеће величине датотеке језгра: %m" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "непрепозната исправљачка опција: %c" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, fuzzy, gcc-internal-format + #| msgid "-Werror=%s: No option -%s" + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "-Werror=%s: нема опције -%s" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, gcc-internal-format + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" + msgstr "" +@@ -32805,199 +32799,199 @@ msgstr "генерички кôд смрза не пролази за метод + msgid "%qD renamed after being referenced in assembly" + msgstr "%D преименован пошто је поменут у асемблеру" + +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, fuzzy, gcc-internal-format + #| msgid "function returning a function" + msgid "function symbol is not function" + msgstr "функција враћа функцију" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, gcc-internal-format + msgid "inconsistent % attribute" + msgstr "" + +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute only applies to variables" + msgid "variable symbol is not variable" + msgstr "атрибут %qs примењује се само на променљиве" + +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "complex invalid for %qs" + msgid "node has invalid order %i" + msgstr "complex неисправно за %qs" + +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, fuzzy, gcc-internal-format + #| msgid "node not found in cgraph_hash" + msgid "node not found in symtab assembler name hash" + msgstr "чвор није нађен у cgraph_hash" + +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, fuzzy, gcc-internal-format + #| msgid "called object %qE is not a function" + msgid "node is analyzed but it is not a definition" + msgstr "позвани објекат %qE није функција" + +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, fuzzy, gcc-internal-format + #| msgid "%Jold-style function definition" + msgid "node is alias but not definition" + msgstr "%Jстаровремска дефиниција функције" + +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, gcc-internal-format + msgid "node is symver but not alias" + msgstr "" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, fuzzy, gcc-internal-format + #| msgid "Set the default symbol visibility" + msgid "symver is not exported with default visibility" + msgstr "Постави подразумевану видљивост симбола" + +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, fuzzy, gcc-internal-format + #| msgid "implicit declaration of function %qE" + msgid "implicit_section flag is set but section isn%'t" + msgstr "имплицитна декларација функције %qE" + +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, gcc-internal-format + msgid "Alias and target%'s section differs" + msgstr "" + +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, gcc-internal-format + msgid "Alias and target%'s comdat groups differs" + msgstr "" + +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, gcc-internal-format + msgid "Transparent alias and target%'s assembler names differs" + msgstr "" + +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, fuzzy, gcc-internal-format + #| msgid "verify_ssa failed" + msgid "symtab_node::verify failed" + msgstr "verify_ssa није успело" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid pointer mode %qs" + msgid "invalid order in asm node %i" + msgstr "неисправан режим показивача %qs" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, fuzzy, gcc-internal-format + #| msgid "function %q+D redeclared as inline" + msgid "function %q+D part of alias cycle" + msgstr "функција %q+D поново декларисана као уткана" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, fuzzy, gcc-internal-format + #| msgid "variable %qD has function type" + msgid "variable %q+D part of alias cycle" + msgstr "променљива %qD има функцијски тип" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -34840,27 +34834,27 @@ msgstr "" + msgid "target specific builtin not available" + msgstr "" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "" +@@ -35743,7 +35737,7 @@ msgstr "атрибут %qE се игнорише јер је %qT већ дефи + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "атрибут %qE се игнорише јер је %qT већ дефинисан" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "атрибут %qE има утицаја само у јавним објектима" +@@ -38041,7 +38035,7 @@ msgstr "" + msgid "traditional C rejects string constant concatenation" + msgstr "традиционални Ц одбија надовезивање константних ниски" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "" +@@ -39898,7 +39892,7 @@ msgstr "превише улазних датотека" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, fuzzy, gcc-internal-format + #| msgid "bad value %qs for -mcpu switch" + msgid "unknown value %qs for %<-mcpu%>" +@@ -39932,16 +39926,16 @@ msgid "unrecognized option passed to %%:%" + msgstr "" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, fuzzy, gcc-internal-format + #| msgid "Invalid argument type %qs to %qs" + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "Неисправан тип аргумента %qs за %qs" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid type argument of %qs" + msgid "valid arguments are: %s" +@@ -40034,55 +40028,55 @@ msgstr "%qs није исправно за %qs" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops is obsolete, use -falign-loops" + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "-malign-loops је застарело, користите -falign-loops" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr "-malign-loops=%d није између 0 и %d" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, fuzzy, gcc-internal-format + #| msgid "-malign-jumps is obsolete, use -falign-jumps" + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "-malign-jumps је застарело, користите -falign-jumps" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr "-malign-loops=%d није између 0 и %d" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, fuzzy, gcc-internal-format + #| msgid "-malign-functions is obsolete, use -falign-functions" + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "-malign-functions је застарело, користите -falign-functions" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr "-malign-loops=%d није између 0 и %d" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, fuzzy, gcc-internal-format + #| msgid "-mbranch-cost=%d is not between 0 and 5" + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr "-mbranch-cost=%d није између 0 и 5" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "" +@@ -40602,14 +40596,14 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qD is not an integral constant-expression" + msgid "argument %d of %qE must be an integer constant expression" + msgstr "величина низа %qD није интегралан констатан израз" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, gcc-internal-format + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" + msgstr "" +@@ -40882,7 +40876,7 @@ msgstr "прослеђивање аргумента %d од %qE прави це + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, fuzzy, gcc-internal-format + #| msgid "duplicate initialization of %qD" + msgid "duplicate definition of %qs" +@@ -40930,7 +40924,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "тип %q+D нема познату величину" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, gcc-internal-format + msgid "variables of type %qT cannot have thread-local storage duration" + msgstr "" +@@ -41025,344 +41019,344 @@ msgstr "" + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, fuzzy, gcc-internal-format + #| msgid "AltiVec argument passed to unprototyped function" + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "алтивек аргумент прослеђен непрототипизираној функцији" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, fuzzy, gcc-internal-format + #| msgid "Emit code for the counting ISA extension" + msgid "%qE requires the SVE ISA extension" + msgstr "Емитуј кôд за бројачко ИСА проширење" + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, gcc-internal-format + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, gcc-internal-format + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute ignored" + msgid "%qs string ill-formed" + msgstr "атрибут %qs се игнорише" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, fuzzy, gcc-internal-format + #| msgid "invalid operation on %<__fpreg%>" + msgid "invalid format for %" + msgstr "неисправна операција на %<__fpreg%>" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, fuzzy, gcc-internal-format + #| msgid "invalid %%H value" + msgid "invalid % value: %d" + msgstr "неисправна %%H вредност" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "unknown spec function '%s'" + msgid "unknown tuning option (%s)" + msgstr "непозната функција навода ‘%s’" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, fuzzy, gcc-internal-format + #| msgid "Specify the register allocation order" + msgid "specify a system register with a small string length" + msgstr "Одредите редослед резервисања регистара" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not valid for %qs" + msgid "%qs is not a valid offset in %qs" + msgstr "%qs није исправно за %qs" + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "" + +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, fuzzy, gcc-internal-format + #| msgid "invalid thread pointer option: -mtp=%s" + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "неисправна опција показивача нити: -mtp=%s" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to %<__builtin_frame_address%>" + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "неисправан аргумент за %<__builtin_frame_address%>" + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, fuzzy, gcc-internal-format + #| msgid "Invalid argument %qs for %" + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "Неисправан аргумент %qs за %" + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, fuzzy, gcc-internal-format + #| msgid "Unknown value %qs of -mmacosx-version-min" + msgid "unknown value %qs for %<-march%>" + msgstr "Непозната вредност %qs за -mmacosx-version-min" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, gcc-internal-format + msgid "did you mean %<-mcpu=%s%>?" + msgstr "" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, fuzzy, gcc-internal-format + #| msgid "invalid thread pointer option: -mtp=%s" + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "неисправна опција показивача нити: -mtp=%s" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, fuzzy, gcc-internal-format + #| msgid "Unknown value %qs of -mmacosx-version-min" + msgid "unknown value %qs for %<-mtune%>" + msgstr "Непозната вредност %qs за -mmacosx-version-min" + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, fuzzy, gcc-internal-format + #| msgid "switch -mcpu=%s conflicts with -march= switch" + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "прекидач -mcpu=%s коси се са -march=" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, fuzzy, gcc-internal-format + #| msgid "%s does not support %s" + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "%s не подржава %s" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, gcc-internal-format + msgid "code model %qs with %<-f%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, fuzzy, gcc-internal-format + #| msgid "code model %s not supported in PIC mode" + msgid "code model %qs not supported in ilp32 mode" + msgstr "модела кôда %s није подржан у ПИЦ режиму" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, gcc-internal-format + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, gcc-internal-format + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, gcc-internal-format + msgid "missing argument to % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, gcc-internal-format + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, fuzzy, gcc-internal-format + #| msgid "malformed %<#pragma init%>" + msgid "malformed % pragma or attribute" + msgstr "лоше формирано %<#pragma init%>" + +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, fuzzy, gcc-internal-format + #| msgid "alias argument not a string" + msgid "attribute % argument not a string" + msgstr "аргумент алијаса није ниска" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, fuzzy, gcc-internal-format + #| msgid "unsupported combination: %s" + msgid "unsupported simdlen %wd" + msgstr "неподржана комбинација: %s" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, gcc-internal-format + msgid "GCC does not currently support return type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, fuzzy, gcc-internal-format + #| msgid "%s not supported for nested functions" + msgid "unsupported return type %qT for % functions" + msgstr "%s није подржано за угњеждене функције" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, gcc-internal-format + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, fuzzy, gcc-internal-format + #| msgid "the -shared option is not currently supported for VAX ELF" + msgid "GCC does not currently support simdlen %wd for type %qT" +@@ -41567,13 +41561,13 @@ msgstr "аргумент атрибута %qs није „ilink1“ или „il + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -41729,17 +41723,17 @@ msgstr "атрибут %qE се игнорише" + msgid "%qE attribute only applies to variables" + msgstr "атрибут %qs примењује се само на променљиве" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, gcc-internal-format + msgid "alternatives not allowed in % flag output" + msgstr "" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, gcc-internal-format + msgid "unknown % flag output %qs" + msgstr "" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, fuzzy, gcc-internal-format + #| msgid "invalid lvalue in asm output %d" + msgid "invalid type for % flag output" +@@ -41962,7 +41956,7 @@ msgstr "циљни ЦПУ не подржава инструкције Тамб + msgid "target CPU does not support unaligned accesses" + msgstr "циљни ЦПУ не подржава интерворкинг" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support THUMB instructions" + msgid "This architecture does not support branch protection instructions" +@@ -42025,7 +42019,7 @@ msgstr "граница величине структура може бити п + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "%<-G%> није сагласно са %<-mabicalls%>" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, fuzzy, gcc-internal-format + #| msgid "code model %s not supported in PIC mode" + msgid "FDPIC mode is not supported in Thumb-1 mode" +@@ -42140,7 +42134,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "" +@@ -42194,34 +42188,34 @@ msgstr "" + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "не могу да срачунам стварну локацију параметра на стеку" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected end of module" + msgid "Unexpected thumb1 far jump" + msgstr "Неочекиван крај модула" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "нема доступних ниских регистара за подизање високих регистара" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, fuzzy, gcc-internal-format + #| msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "сервисне рутине прекида не могу бити кодиране у режиму Тамба" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, fuzzy, gcc-internal-format + #| msgid "invalid vector type for attribute %qE" + msgid "invalid fpu for target attribute or pragma %qs" +@@ -42230,24 +42224,24 @@ msgstr "неисправан тип вектора за атрибут %qE" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, fuzzy, gcc-internal-format + #| msgid "invalid vector type for attribute %qE" + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "неисправан тип вектора за атрибут %qE" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, fuzzy, gcc-internal-format + #| msgid "unknown register name: %s" + msgid "unknown target attribute or pragma %qs" + msgstr "непознато име регистра: %s" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs not supported in the %s bit mode" + msgid "% flags not supported in thumb1 mode" +@@ -42333,19 +42327,19 @@ msgstr "-pipe није подржано" + msgid "%<-fPIE%> is not supported" + msgstr "-pipe није подржано" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, fuzzy, gcc-internal-format + #| msgid "-G and -static are mutually exclusive" + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "-G и -static су међусобно искључиви" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, fuzzy, gcc-internal-format + #| msgid "%qD cannot have default arguments" + msgid "%qs function cannot have arguments" + msgstr "%qD не може имати подразумеване аргументе" + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, fuzzy, gcc-internal-format + #| msgid "Function does not return a value" + msgid "%qs function cannot return a value" +@@ -42701,7 +42695,7 @@ msgstr "неисправан аргумент за уграђену функци + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to builtin function" + msgid "invalid argument to built-in function" +@@ -43369,743 +43363,743 @@ msgstr "" + msgid "virtual function multiversioning not supported" + msgstr "израз ограничења стека није подржан" + +-#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25106 + #, fuzzy, gcc-internal-format + #| msgid "__builtin_eh_return not supported on this target" + msgid "multiversioning needs % which is not supported on this target" + msgstr "__builtin_eh_return није подржан на овом циљу" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "code model %s not supported in PIC mode" + msgid "code model %s does not support PIC mode" + msgstr "модела кôда %s није подржан у ПИЦ режиму" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, fuzzy, gcc-internal-format + #| msgid "alias argument not a string" + msgid "attribute %qs argument is not a string" + msgstr "аргумент алијаса није ниска" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, gcc-internal-format + msgid "attribute %qs argument %qs is unknown" + msgstr "" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, fuzzy, gcc-internal-format + #| msgid "SEQUENCE attribute at %C already specified in TYPE statement" + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "Атрибут SEQUENCE код %C је већ наведен у наредби TYPE" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, fuzzy, gcc-internal-format + #| msgid "%s attribute conflicts with %s attribute at %L" + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "Атрибут %s коси се са атрибутом %s код %L" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to function %qs" + msgid "wrong argument %qs to option %qs" + msgstr "превише аргумената за функцију %qs" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, fuzzy, gcc-internal-format + #| msgid "register name not specified for %q+D" + msgid "wrong strategy name %qs specified for option %qs" + msgstr "име регистра није наведено за %q+D" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, fuzzy, gcc-internal-format + #| msgid "alignment may not be specified for %q+D" + msgid "unknown alignment %qs specified for option %qs" + msgstr "равнање се не може навести за %q+D" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, fuzzy, gcc-internal-format + #| msgid "no class name specified with %qs" + msgid "too many size ranges specified in option %qs" + msgstr "нема имена класе наведеног помоћу %qs" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, fuzzy, gcc-internal-format + #| msgid "64-bit ABI not supported in ESA/390 mode" + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "64-битни АБИ није подржан у режиму ЕСЕ/390" + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, fuzzy, gcc-internal-format + #| msgid "-mtune=x86-64 is deprecated. Use -mtune=k8 or -mtune=generic instead as appropriate." + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "-mtune=x86-64 је превазиђено. Користите -mtune=k8 или -mtune=generic уместо тога." + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, fuzzy, gcc-internal-format + #| msgid "-mtune=x86-64 is deprecated. Use -mtune=k8 or -mtune=generic instead as appropriate." + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "-mtune=x86-64 је превазиђено. Користите -mtune=k8 или -mtune=generic уместо тога." + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, gcc-internal-format + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, fuzzy, gcc-internal-format + #| msgid "-mcmodel= is not supported on 32 bit systems" + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "-mcmodel= није подржано на 32-битним системима" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, gcc-internal-format + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, fuzzy, gcc-internal-format + #| msgid "code model %qs not supported in the %s bit mode" + msgid "address mode %qs not supported in the %s bit mode" + msgstr "модела кôда %qs није подржан у %s-битном режиму" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, gcc-internal-format + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "модела кôда %qs није подржан у %s-битном режиму" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, fuzzy, gcc-internal-format + #| msgid "code model %s not supported in PIC mode" + msgid "code model %qs not supported in x32 mode" + msgstr "модела кôда %s није подржан у ПИЦ режиму" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, fuzzy, gcc-internal-format + #| msgid "-m%s not supported in this configuration" + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "-m%s није подржано у овој конфигурацији" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "%i-битни режим није укомпилован" + +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, fuzzy, gcc-internal-format + #| msgid "generic CPU can be used only for -mtune= switch" + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "генерички ЦПУ може бити употребљен само за прекидач -mtune=" + +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, fuzzy, gcc-internal-format + #| msgid "generic CPU can be used only for -mtune= switch" + msgid "% CPU can be used only for % attribute" + msgstr "генерички ЦПУ може бити употребљен само за прекидач -mtune=" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, fuzzy, gcc-internal-format + #| msgid "generic CPU can be used only for -mtune= switch" + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "генерички ЦПУ може бити употребљен само за прекидач -mtune=" + +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, fuzzy, gcc-internal-format + #| msgid "generic CPU can be used only for -mtune= switch" + msgid "% CPU can be used only for % attribute" + msgstr "генерички ЦПУ може бити употребљен само за прекидач -mtune=" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "ЦПУ који сте изабрали не подржава скуп инструкција икс86-64" + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "bad value %qs for %<-march=%> switch" + msgstr "лоша вредност (%s) за прекидач -march=" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "bad value %qs for % attribute" + msgstr "лоша вредност (%s) за прекидач -march=" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "лоша вредност (%s) за прекидач -march=" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments to % attribute are: %s" + msgstr "неисправан аргумент за атрибут %qs" + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -mtune= switch" + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "лоша вредност (%s) за прекидач -mtune=" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -mtune= switch" + msgid "bad value %qs for % attribute" + msgstr "лоша вредност (%s) за прекидач -mtune=" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, fuzzy, gcc-internal-format + #| msgid "Invalid argument %qs for %" + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "Неисправан аргумент %qs за %" + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments to % attribute are: %s" + msgstr "неисправан аргумент за атрибут %qs" + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, fuzzy, gcc-internal-format + #| msgid "-mregparm=%d is not between 0 and %d" + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "-mregparm=%d није између 0 и %d" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, gcc-internal-format + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, fuzzy, gcc-internal-format + #| msgid "-mrtd calling convention not supported in the 64bit mode" + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "конвенција позивања -mrtd није подржана у 64-битном режиму" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, fuzzy, gcc-internal-format + #| msgid "-fprefetch-loop-arrays not supported for this target" + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "-fprefetch-loop-arrays није подржано за овај циљ" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12" + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "-mpreferred-stack-boundary=%d није између %d и 12" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12" + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "-mpreferred-stack-boundary=%d није између %d и 12" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, fuzzy, gcc-internal-format + #| msgid "-march=%s is not compatible with the selected ABI" + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "-march=%s није сагласно са изабраним АБИјем" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, fuzzy, gcc-internal-format + #| msgid "inter-module optimizations not implemented for C++" + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "унутармодулске оптимизације нису имплеметиране за Ц++" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, fuzzy, gcc-internal-format + #| msgid "-msseregparm used without SSE enabled" + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "-msseregparm употребљено без укључених ССЕ инструкција" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, fuzzy, gcc-internal-format + #| msgid "-msseregparm used without SSE enabled" + msgid "% used without SSE enabled" + msgstr "-msseregparm употребљено без укључених ССЕ инструкција" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "скуп ССЕ инструкција искључен, користим 387 аритметику" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "скуп 387 инструкција искључен, користим ССЕ аритметику" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, fuzzy, gcc-internal-format + #| msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness" + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "табеле одмотавања тренутно захтевају или показивач оквира или -maccumulate-outgoing-args за исправност" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, fuzzy, gcc-internal-format + #| msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness" + msgid "stack probing requires % for correctness" + msgstr "табеле одмотавања тренутно захтевају или показивач оквира или -maccumulate-outgoing-args за исправност" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, gcc-internal-format + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, fuzzy, gcc-internal-format + #| msgid "ignoring unknown option %q.*s in %<-fdump-%s%>" + msgid "unknown option for %<-mrecip=%s%>" + msgstr "игноришем непознату опцију %q.*s у %<-fdump-%s%>" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, gcc-internal-format + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, gcc-internal-format + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, gcc-internal-format + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, fuzzy, gcc-internal-format + #| msgid "-fstack-protector not supported for this target" + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "-fstack-protector није подржано за овај циљ" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, fuzzy, gcc-internal-format + #| msgid "stdcall and cdecl attributes are not compatible" + msgid "interrupt and naked attributes are not compatible" + msgstr "атрибути stdcall и cdecl нису сагласни" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, fuzzy, gcc-internal-format + #| msgid "-msdata=%s and -mcall-%s are incompatible" + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "-msdata=%s и -mcall-%s нису сагласни" + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, fuzzy, gcc-internal-format + #| msgid "-msdata=%s and -mcall-%s are incompatible" + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "-msdata=%s и -mcall-%s нису сагласни" + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "атрибути fastcall и regparm нису сагласни" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, fuzzy, gcc-internal-format + #| msgid "fastcall and stdcall attributes are not compatible" + msgid "regparam and thiscall attributes are not compatible" + msgstr "атрибути fastcall и stdcall нису сагласни" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute requires an integer constant argument" + msgid "%qE attribute requires an integer constant argument" + msgstr "атрибут %qs захтева целобројну константу као аргумент" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qs attribute larger than %d" + msgid "argument to %qE attribute larger than %d" + msgstr "аргумент за атрибут %qs већи од %d" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "атрибути fastcall и cdecl нису сагласни" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "атрибути fastcall и stdcall нису сагласни" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, fuzzy, gcc-internal-format + #| msgid "fastcall and stdcall attributes are not compatible" + msgid "fastcall and thiscall attributes are not compatible" + msgstr "атрибути fastcall и stdcall нису сагласни" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "атрибути stdcall и cdecl нису сагласни" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "атрибути stdcall и fastcall нису сагласни" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, fuzzy, gcc-internal-format + #| msgid "stdcall and fastcall attributes are not compatible" + msgid "stdcall and thiscall attributes are not compatible" + msgstr "атрибути stdcall и fastcall нису сагласни" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, fuzzy, gcc-internal-format + #| msgid "stdcall and fastcall attributes are not compatible" + msgid "cdecl and thiscall attributes are not compatible" + msgstr "атрибути stdcall и fastcall нису сагласни" + +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored on non-class types" + msgid "%qE attribute is used for non-class method" + msgstr "атрибут %qE се игнорише на не-класним типовима" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, fuzzy, gcc-internal-format + #| msgid "%qs incompatible attribute ignored" + msgid "%qE incompatible attribute ignored" + msgstr "%qs несагласан атрибут игнорисан" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute only applies to variables" + msgid "%qE attribute only available for 32-bit" + msgstr "атрибут %qs примењује се само на променљиве" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, fuzzy, gcc-internal-format + #| msgid "argument of %qs attribute is not a string constant" + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "аргумент атрибута %qs није константна ниска" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, fuzzy, gcc-internal-format + #| msgid "stdcall and cdecl attributes are not compatible" + msgid "%qs and %qs attributes are not compatible" + msgstr "атрибути stdcall и cdecl нису сагласни" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute requires an integer constant argument" + msgid "%qE attribute requires a string constant argument" + msgstr "атрибут %qs захтева целобројну константу као аргумент" + +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, fuzzy, gcc-internal-format + #| msgid "argument of %qs attribute is not a string constant" + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "аргумент атрибута %qs није константна ниска" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "" + +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, fuzzy, gcc-internal-format + #| msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgid "interrupt service routine should have %qs as the second argument" + msgstr "сервисне рутине прекида не могу бити кодиране у режиму Тамба" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, fuzzy, gcc-internal-format + #| msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgid "interrupt service routine must return %" + msgstr "сервисне рутине прекида не могу бити кодиране у режиму Тамба" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, fuzzy, gcc-internal-format + #| msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "Позивање %qD са атрибутом sseregparm без укључених ССЕ/ССЕ2" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, fuzzy, gcc-internal-format + #| msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "Позивање %qT са атрибутом sseregparm без укључених ССЕ/ССЕ2" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, fuzzy, gcc-internal-format + #| msgid "does not support multilib" + msgid "X32 does not support % attribute" + msgstr "не подржава вишебиб" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, gcc-internal-format + msgid "% attribute is not compatible with nested function" + msgstr "" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, fuzzy, gcc-internal-format + #| msgid "MMX vector argument without MMX enabled changes the ABI" + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "ММИкс векторски аргумент без укључених ММИкс мења АБИ" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, fuzzy, gcc-internal-format + #| msgid "MMX vector return without MMX enabled changes the ABI" + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "ММИкс векторско враћање без укључених ММИкс мења АБИ" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, fuzzy, gcc-internal-format + #| msgid "MMX vector argument without MMX enabled changes the ABI" + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "ММИкс векторски аргумент без укључених ММИкс мења АБИ" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, fuzzy, gcc-internal-format + #| msgid "MMX vector return without MMX enabled changes the ABI" + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "ММИкс векторско враћање без укључених ММИкс мења АБИ" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "ССЕ векторски аргумент без укључених ССЕ мења АБИ" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "ССЕ векторско враћање без укључених ССЕ мења АБИ" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "ММИкс векторски аргумент без укључених ММИкс мења АБИ" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "ММИкс векторско враћање без укључених ММИкс мења АБИ" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, gcc-internal-format + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, gcc-internal-format + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "ССЕ враћање регистра уз искључене ССЕ" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "ССЕ регистарски аргумент уз искључене ССЕ" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "враћање из регистра x87 када је x87 искључено" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, fuzzy, gcc-internal-format + #| msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "Позивање %qD са атрибутом sseregparm без укључених ССЕ/ССЕ2" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, gcc-internal-format, gfc-internal-format + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "" + +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, fuzzy, gcc-internal-format + #| msgid "assert: %s is assign compatible with %s" + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "тврдња: %s је доделом сагласно са %s" + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, gcc-internal-format + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "" + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, fuzzy, gcc-internal-format + #| msgid "stack limits not supported on this target" + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "ограничења стека нису подржана на овом циљу" + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, gcc-internal-format + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, fuzzy, gcc-internal-format + #| msgid "%s not supported for nested functions" + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "%s није подржано за угњеждене функције" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, fuzzy, gcc-internal-format + #| msgid "%s not supported for nested functions" + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" +@@ -44113,80 +44107,80 @@ msgstr "%s није подржано за угњеждене функције" + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, fuzzy, gcc-internal-format + #| msgid "%s functions limited to %d register parameters" + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "%s функције ограничене на %d регистарских параметара" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, gcc-internal-format + msgid "% modifier on non-integer register" + msgstr "" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, fuzzy, gcc-internal-format + #| msgid "unsupported operand size for extended register" + msgid "unsupported size for integer register" + msgstr "неподржана величина операнда за проширени регистар" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "проширени регистри немају високе половине" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "неподржана величина операнда за проширени регистар" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, gcc-internal-format + msgid "non-integer operand used with operand code %" + msgstr "" + +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, fuzzy, gcc-internal-format + #| msgid "code model % not supported yet" + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "модела кôда % још увек није подржан" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, fuzzy, gcc-internal-format + #| msgid "Invalid argument type %qs to %qs" + msgid "unsupported argument type %qT for simd" + msgstr "Неисправан тип аргумента %qs за %qs" + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, fuzzy, gcc-internal-format + #| msgid "%<-G%> is incompatible with %<-mabicalls%>" + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" +@@ -44572,7 +44566,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "Атрибут %s коси се са атрибутом %s код %L" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute requires a single NTBS argument" + msgid "%qE attribute requires a string argument" +@@ -45792,59 +45786,59 @@ msgstr "" + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, fuzzy, gcc-internal-format + #| msgid "type %q+D does not have a known size" + msgid "RVV type %qT does not have a fixed size" + msgstr "тип %q+D нема познату величину" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, fuzzy, gcc-internal-format + #| msgid "type %q+D does not have a known size" + msgid "RVV type %qT does not have a defined alignment" + msgstr "тип %q+D нема познату величину" + +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, fuzzy, gcc-internal-format + #| msgid "arithmetic on pointer to an incomplete type" + msgid "arithmetic on pointer to RVV type %qT" + msgstr "аритметика са показивачем на непотпун тип" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not of type %qT" + msgid "fields cannot have RVV type %qT" + msgstr "%qE није типа %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, gcc-internal-format + msgid "array elements cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, fuzzy, gcc-internal-format + #| msgid "cannot allocate an object of abstract type %qT" + msgid "cannot allocate objects with RVV type %qT" + msgstr "не може се резервисати објекат апстрактног типа %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, fuzzy, gcc-internal-format + #| msgid "cannot allocate an object of abstract type %qT" + msgid "cannot delete objects with RVV type %qT" + msgstr "не може се резервисати објекат апстрактног типа %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, fuzzy, gcc-internal-format + #| msgid "cannot convert type %qT to type %qT" + msgid "cannot throw or catch RVV type %qT" + msgstr "не може се претворити из типа %qT у %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, gcc-internal-format + msgid "capture by copy of RVV type %qT" + msgstr "" +@@ -45864,76 +45858,71 @@ msgstr "" + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, gcc-internal-format + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, fuzzy, gcc-internal-format + #| msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\"" + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "аргумент атрибута %qs није „ilink1“ или „ilink2“" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, gcc-internal-format + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, gcc-internal-format + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, gcc-internal-format + msgid "ABI requires %<-march=rv%d%>" + msgstr "" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12" + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "-mpreferred-stack-boundary=%d није између %d и 12" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not valid for %qs" + msgid "%qs is not a valid base register in %qs" + msgstr "%qs није исправно за %qs" + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not valid for %qs" + msgid "%qs is not a valid number in %qs" + msgstr "%qs није исправно за %qs" + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, fuzzy, gcc-internal-format + #| msgid "%smember function %qD cannot have cv-qualifier" + msgid "%qs function cannot have different interrupt type" + msgstr "%sчланска функција %qD не може имати кн-одредбу" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, fuzzy, gcc-internal-format +@@ -46444,106 +46433,106 @@ msgstr "" + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "нема профилисања 64-битног кôда за овај АБИ" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, fuzzy, gcc-internal-format + #| msgid "cannot take the address of %, which is an rvalue expression" + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "не може се узети адреса од %, јер је д-вредносни израз" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "употреба % у алтивек типовима није исправна" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "употреба логичких типова у алтивек типовима није исправна" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "употреба % у алтивек типовима није исправна" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, fuzzy, gcc-internal-format + #| msgid "use of decimal floating point types in AltiVec types is invalid" + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "употреба децималних реалних типова у алтивек типовима није исправна" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, fuzzy, gcc-internal-format + #| msgid "use of % in AltiVec types is invalid for 64-bit code" + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "употреба % у алтивек типовима није исправна у 64-битном кôду" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "превазиђена употреба % у алтивек; користите %" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, fuzzy, gcc-internal-format + #| msgid "use of % in AltiVec types is invalid" + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "употреба % у алтивек типовима није исправна" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, fuzzy, gcc-internal-format + #| msgid "use of % in AltiVec types is invalid" + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "употреба % у алтивек типовима није исправна" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, fuzzy, gcc-internal-format + #| msgid "invalid abstract type %qT for %qE" + msgid "invalid cpu %qs for %s%qs%s" + msgstr "неисправан апстрактни тип %qT за %qE" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, fuzzy, gcc-internal-format + #| msgid "%H%qE is not initialized" + msgid "%s%qs%s is not allowed" + msgstr "%H%qE није успостављено" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, fuzzy, gcc-internal-format + #| msgid "spec '%s' is invalid" + msgid "%s%qs%s is invalid" + msgstr "навод ‘%s’ није исправан" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" + +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, fuzzy, gcc-internal-format + #| msgid "stack limit expression is not supported" + msgid "Virtual function multiversioning not supported" + msgstr "израз ограничења стека није подржан" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, gcc-internal-format + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, gcc-internal-format + msgid "type %<__vector_pair%> requires the %qs option" + msgstr "" +@@ -48078,7 +48067,7 @@ msgstr "не могу да ставим објекат са непостојан + msgid "uninitialized % is invalid in C++" + msgstr "неуспостављена константа %qD" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "" +@@ -48283,7 +48272,7 @@ msgstr "складишна класа наведена за параметар % + msgid "storage class specified for unnamed parameter" + msgstr "складишна класа наведена за параметар %qs" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "складишна класа наведена за име типа" +@@ -48480,7 +48469,7 @@ msgstr "%qs декларисано као функција која враћа + msgid "function definition has qualified void return type" + msgstr "дефиниција функције има одређен празан повратни тип" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "одредбе типова се игноришу на повратном типу функције" +@@ -48624,7 +48613,7 @@ msgstr "ИСО Ц забрањује константне или непосто + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "члан структуре или уније не може имати променљиво измењив тип" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "променљива или поље %qE декларисано празним" +@@ -48843,7 +48832,7 @@ msgstr "" + msgid "%qT defined in underspecified object initializer" + msgstr "непознато поље %qE наведено у успостављачу" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "декларација ништа не декларише" +@@ -48895,7 +48884,7 @@ msgstr "структура нема именованих чланова" + msgid "struct has no members" + msgstr "структура нема чланова" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, fuzzy, gcc-internal-format + #| msgid "%Jflexible array member in union" + msgid "flexible array member in union" +@@ -48944,7 +48933,7 @@ msgstr "поновљена декларација %" + msgid "% declared with but defined without fixed underlying type" + msgstr "" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, fuzzy, gcc-internal-format + #| msgid "specified mode too small for enumeral values" + msgid "specified mode too small for enumerated values" +@@ -48995,7 +48984,7 @@ msgstr "ИСО Ц ограничава вредности набрајача н + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "ИСО Ц ограничава вредности набрајача на опсег %" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, fuzzy, gcc-internal-format + #| msgid "inline function %q+D given attribute noinline" + msgid "inline function %qD given attribute %qs" +@@ -49029,7 +49018,7 @@ msgstr "нема претходног прототипа за %q+D" + msgid "%qD was used with no prototype before its definition" + msgstr "%q+D је употребљено без прототипа пре дефиниције" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, fuzzy, gcc-internal-format + #| msgid "no previous declaration for %q+D" + msgid "no previous declaration for %qD" +@@ -49159,12 +49148,12 @@ msgstr "аргумент %qD не одговара уграђеном прото + msgid "argument %qD doesn%'t match prototype" + msgstr "аргумент %qD не одговара прототипу" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "нема повратне наредбе у функцији која враћа непразан тип" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, fuzzy, gcc-internal-format + #| msgid "parameter %qD is initialized" + msgid "parameter %qD set but not used" +@@ -51383,7 +51372,7 @@ msgstr "" + msgid "collapsed loops not perfectly nested" + msgstr "" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, fuzzy, gcc-internal-format + #| msgid "iteration variable %qs should not be firstprivate" + msgid "iteration variable %qD should not be firstprivate" +@@ -51524,13 +51513,13 @@ msgstr "очекивано је %<{%>" + msgid "variant %qD is not a function" + msgstr "%q+D није функција," + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, fuzzy, gcc-internal-format + #| msgid "elements of array %q#D have incomplete type" + msgid "variant %qD and base %qD have incompatible types" + msgstr "елементи низа %q#D имају непотпун тип" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "" +@@ -51809,7 +51798,7 @@ msgstr "неисправна употреба израза празног тип + msgid "invalid use of flexible array member" + msgstr "неисправна употреба флексибилног чланског низа" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "неисправна употреба низа са ненаведеним границама" +@@ -52857,12 +52846,12 @@ msgstr "успостављач за целобројну вредност је + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "успостављање флексибилног чланског низа" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, gcc-internal-format + msgid "cannot initialize array of %qT from a string literal with type array of %qT" + msgstr "" +@@ -52904,7 +52893,7 @@ msgstr "елемент успостављача се не може израчу + msgid "invalid initializer" + msgstr "неисправан успостављач" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "непрозирни векторски типови не могу бити успостављени" +@@ -52919,8 +52908,8 @@ msgstr "сувишна група витичастих заграда на кр + msgid "braces around scalar initializer" + msgstr "витичасте заграде око скаларног успостављача" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "успостављање флексибилног чланског низа у угњежденом контексту" +@@ -53013,7 +53002,7 @@ msgstr "сувишни елементи у успостављачу структ + msgid "positional initialization of field in % declared with % attribute" + msgstr "" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "нестатичко успостављање флексибилног чланског низа" +@@ -54499,7 +54488,7 @@ msgstr "нема погодног % за %qT" + msgid "%q#D is private within this context" + msgstr "у овом контексту" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" + msgid "declared private here" +@@ -54511,7 +54500,7 @@ msgstr "%q+D декларисано овде" + msgid "%q#D is protected within this context" + msgstr "у овом контексту" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" + msgid "declared protected here" +@@ -54528,7 +54517,7 @@ msgstr "%q+#D није приступно" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "прослеђивање NULL непоказивачком аргументу %P од %qD" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" +@@ -54902,7 +54891,7 @@ msgstr "нема одговарајуће функције за позив %<%T: + msgid "call to non-function %qD" + msgstr "позив не-функције %qD" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "" +@@ -55541,7 +55530,7 @@ msgstr "%Jфлексибилан члански низ у иначе празн + msgid "next member %q#D declared here" + msgstr " %q+#D декларисано овде" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "поновна дефиниција %q#T" +@@ -55671,7 +55660,7 @@ msgstr "неисправан апстрактни повратни тип за + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, gcc-internal-format + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" +@@ -55744,7 +55733,7 @@ msgstr "" + msgid "failed % attribute assumption" + msgstr "" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, fuzzy, gcc-internal-format + #| msgid "call to non-function %qD" +@@ -55796,7 +55785,7 @@ msgstr "%qT је двосмислена основа за %qT" + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, fuzzy, gcc-internal-format + #| msgid "call to non-function %qD" +@@ -55935,7 +55924,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "разрешавање % показивача" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -56040,7 +56029,7 @@ msgstr "" + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, fuzzy, gcc-internal-format + #| msgid "dereferencing % pointer" +@@ -56129,7 +56118,7 @@ msgstr "" + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" +@@ -56199,210 +56188,210 @@ msgstr "" + msgid "control passes through definition of %qD with static storage duration" + msgstr "" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, fuzzy, gcc-internal-format + #| msgid "enumeral and non-enumeral type in conditional expression" + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "набројиви и ненабројиви тип у условном изразу" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, fuzzy, gcc-internal-format + #| msgid "%s cannot appear in a constant-expression" + msgid "% is not a constant expression" + msgstr "%s не може да се јави у константном изразу" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, gcc-internal-format + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, fuzzy, gcc-internal-format + #| msgid "Empty array constructor at %C is not allowed" + msgid "cast from %qT is not allowed" + msgstr "Празан конструктор низа код %C није дозвољен" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, gcc-internal-format + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, fuzzy, gcc-internal-format + #| msgid "%s cannot appear in a constant-expression" + msgid "%(%E)%> is not a constant expression" + msgstr "%s не може да се јави у константном изразу" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, fuzzy, gcc-internal-format + #| msgid "integral expression %qE is not constant" + msgid "expression %qE is not a constant expression" + msgstr "интегрални израз %qE није константа" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, fuzzy, gcc-internal-format + #| msgid "overflow in constant expression" + msgid "% is not a constant expression" + msgstr "преливање у константном изразу" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "contract predicate is false in constant expression" + msgstr "Лош тип у константном изразу" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, fuzzy, gcc-internal-format + #| msgid " expected a class template, got %qE" + msgid "unexpected template-id %qE" + msgstr " очекивах шаблон класе, добих %qE" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, gcc-internal-format + msgid "function concept must be called" + msgstr "" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qD is not an integral constant-expression" + msgid "address of a call to %qs is not a constant expression" + msgstr "величина низа %qD није интегралан констатан израз" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, fuzzy, gcc-internal-format + #| msgid "expected expression" + msgid "unexpected expression %qE of kind %s" + msgstr "очекиван је израз" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, gcc-internal-format + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, fuzzy, gcc-internal-format + #| msgid "invalid cast of an rvalue expression of type %qT to type %qT" + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "неисправно претапање д-вредносног израза типа %qT у тип %qT" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "lambda capture of %qE is not a constant expression" + msgstr "Лош тип у константном изразу" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, gcc-internal-format + msgid "% from integer to pointer" + msgstr "" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "use of % in a constant expression" + msgstr "Лош тип у константном изразу" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "lambda-expression is not a constant expression before C++17" + msgstr "Лош тип у константном изразу" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, fuzzy, gcc-internal-format + #| msgid "%s expression list treated as compound expression" + msgid "new-expression is not a constant expression before C++20" + msgstr "листа израза %s узима се као сложени израз" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual functions cannot be % before C++20" + msgstr "виртуелне функције не могу бити пријатељи" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, gcc-internal-format + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "cast to non-integral type %qT in a constant expression" + msgstr "Лош тип у константном изразу" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, fuzzy, gcc-internal-format + #| msgid "Missing or invalid constant expression" + msgid "division by zero is not a constant expression" + msgstr "Недостаје или неисправан константан израз" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "% is not a constant expression" + msgstr "Лош тип у константном изразу" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, fuzzy, gcc-internal-format + #| msgid "overflow in constant expression" + msgid "neither branch of % is a constant expression" + msgstr "преливање у константном изразу" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, fuzzy, gcc-internal-format + #| msgid "nonconstant array index in initializer" + msgid "non-constant array initialization" + msgstr "неконстантан индекс низа у успостављачу" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, gcc-internal-format + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Unexpected end of file in '%s'" + msgid "unexpected AST of kind %s" +@@ -57046,7 +57035,7 @@ msgstr "" + msgid "% declared here" + msgstr "%q+#D претходно декларисано овде" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, fuzzy, gcc-internal-format + #| msgid "no type named %q#T in %q#T" + msgid "no member named %qE in %qT" +@@ -57153,7 +57142,7 @@ msgstr "трећи аргумент за %<__builtin_prefetch%> мора бит + msgid "no suspend point info for %qD" + msgstr "нема претходног прототипа за %q+D" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "" +@@ -57175,23 +57164,23 @@ msgstr "показивачи нису дозвољени као вредност + msgid "variable length arrays are not yet supported in coroutines" + msgstr "" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, fuzzy, gcc-internal-format + #| msgid "cannot initialize aggregate of type %qT with a compound literal" + msgid "cannot initialize a return object of type %qT with an rvalue of type %" +@@ -57738,7 +57727,7 @@ msgstr "од претходне декларације %q+F" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "Декларација %qs заклања претходну декларацију етикете" + +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration %q+D" + msgid "previous declaration %qD" +@@ -58199,666 +58188,666 @@ msgstr "%qD није шаблон функције" + msgid "%q#T is not a class" + msgstr "%q#T није класа" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "нема шаблона класе по имену %q#T у %q#T" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, gcc-internal-format + msgid "no type named %q#T in %q#T" + msgstr "нема типа по имену %q#T у %q#T" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, fuzzy, gcc-internal-format + #| msgid "conversion from %qT to %qT is ambiguous" + msgid "lookup of %qT in %qT is ambiguous" + msgstr "двосмислено претварање из %qT у %qT" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "% именује %q#T, што није шаблон класе" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, fuzzy, gcc-internal-format + #| msgid "% names %q#T, which is not a type" + msgid "% names %q#D, which is not a type" + msgstr "% именује %q#T, што није тип" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, fuzzy, gcc-internal-format + #| msgid "template parameters do not match template" + msgid "template parameters do not match template %qD" + msgstr "параметри шаблона се не поклапају са шаблоном" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, fuzzy, gcc-internal-format + #| msgid "requested alignment is not a power of 2" + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "захтевано равнање није степен двојке" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, fuzzy, gcc-internal-format + #| msgid "%q+#D invalid; an anonymous union can only have non-static data members" + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "%q+#D није исправно; анонимна унија може имати само нестатичке чланске податке" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, fuzzy, gcc-internal-format + #| msgid "anonymous struct not inside named type" + msgid "anonymous struct with base classes" + msgstr "анонимна структура није унутар именованог типа" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "члан %q+#D са конструктором није дозвољен у анонимној скупини" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "члан %q+#D са деструктором није дозвољен у анонимној скупини" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "члан %q+#D са оператором копирања-доделе није дозвољен у анонимној скупини" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, fuzzy, gcc-internal-format + #| msgid "attribute ignored in declaration of %q+#T" + msgid "attribute ignored in declaration of %q#T" + msgstr "атрибут игнорисан у декларацији %q+#T" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, fuzzy, gcc-internal-format + #| msgid "attribute for %q+#T must follow the %qs keyword" + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "атрибут за %q+#T мора пратити кључну реч %qs" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "вишеструки типови у једној декларацији" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "поновљена декларација Ц++ уграђеног типа %qT" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, fuzzy, gcc-internal-format + #| msgid "%qs can only be specified for functions" + msgid "% can only be specified for variables or function declarations" + msgstr "%qs може бити наведено само за функције" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "недостаје име типа у наредби typedef" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "ИСО Ц++ забрањује анонимне структуре" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, fuzzy, gcc-internal-format + #| msgid "%qs can only be specified for functions" + msgid "% can only be specified for functions" + msgstr "%qs може бити наведено само за функције" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, fuzzy, gcc-internal-format + #| msgid "%qs can only be specified for functions" + msgid "% can only be specified for functions" + msgstr "%qs може бити наведено само за функције" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "% може бити наведено само унутар класе" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "% може бити наведено само за конструкторе" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "складишна класа може бити наведена само за објекте и функције" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers can only be specified for objects and functions" + msgid "% can only be specified for objects and functions" + msgstr "одредбе могу бити наведене само за објекте и функције" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers can only be specified for objects and functions" + msgid "% can only be specified for objects and functions" + msgstr "одредбе могу бити наведене само за објекте и функције" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers can only be specified for objects and functions" + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "одредбе могу бити наведене само за објекте и функције" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, fuzzy, gcc-internal-format + #| msgid "a storage class can only be specified for objects and functions" + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "складишна класа може бити наведена само за објекте и функције" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, fuzzy, gcc-internal-format + #| msgid "typedef declaration invalid in parameter declaration" + msgid "% was ignored in this declaration" + msgstr "декларација typedef није исправна у декларацији параметра" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, fuzzy, gcc-internal-format + #| msgid "Class %qs not found in type declaration" + msgid "%qs cannot be used for type declarations" + msgstr "Класа %qs не налази се у декларацији типа" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, fuzzy, gcc-internal-format + #| msgid "attributes ignored on template instantiation" + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "атрибут се игнорише при извођењу шаблона" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute can only be applied to class definitions" + msgid "no attribute can be applied to an explicit instantiation" + msgstr "атрибут %qE може се применити само на дефиниције класа" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute can only be applied to class definitions" + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "атрибут %qE може се применити само на дефиниције класа" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "" + +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, fuzzy, gcc-internal-format + #| msgid "typedef %qD is initialized (use __typeof__ instead)" + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "дефиниција типа %qD је успостављена (употребите __typeof__)" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "декларација %q#D има % и ипак је успостављена" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "дефиниција %q+D означена као %" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, fuzzy, gcc-internal-format + #| msgid "%q#D is not a non-static data member of %qT" + msgid "%q+#D is not a static data member of %q#T" + msgstr "%q#D је нестатички члански податак у %qT" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, fuzzy, gcc-internal-format + #| msgid "template declaration of %q#D" + msgid "non-member-template declaration of %qD" + msgstr "декларација шаблона %q#D" + +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, fuzzy, gcc-internal-format + #| msgid "invalid member template declaration %qD" + msgid "does not match member template declaration here" + msgstr "неисправна декларација чланског шаблона %qD" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "ИСО Ц++ не дозвољава да %<%T::%D%> буде дефинисано као %<%T::%D%>" + +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "удвостручено успостављање %qD" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "декларација %q#D изван класе није дефиниција" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "променљива %q#D има успостављач али је непотпуног типа" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "елементи низа %q#D имају непотпун тип" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "скупина %q#D има непотпун тип и не може се дефинисати" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "%qD декларисано као упућивач али није успостављено" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, fuzzy, gcc-internal-format + #| msgid "name %qD used in a GNU-style designated initializer for an array" + msgid "name used in a GNU-style designated initializer for an array" + msgstr "име %qD употребљено у успостављачу низа утврђеном као Гну-стил" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "име %qD употребљено у успостављачу низа утврђеном као Гну-стил" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "нетривијални утврђени успостављачи нису подржани" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qD is not an integral constant-expression" + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "величина низа %qD није интегралан констатан израз" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "успостављач не одређује величину %qD" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, gcc-internal-format + msgid "array size missing in %qD" + msgstr "недостаје величина низа у %qD" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, gcc-internal-format + msgid "zero-size array %qD" + msgstr "низ %qD нулте величине" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, fuzzy, gcc-internal-format + #| msgid "storage size of %q+D isn%'t known" + msgid "storage size of %qD isn%'t known" + msgstr "величина складишта за %q+D није позната" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, fuzzy, gcc-internal-format + #| msgid "storage size of %q+D isn%'t constant" + msgid "storage size of %qD isn%'t constant" + msgstr "величина складишта за %q+D није константна" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, fuzzy, gcc-internal-format + #| msgid "sorry: semantics of inline function static data %q+#D are wrong (you'll wind up with multiple copies)" + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "извините: семантика статичких података уткане функције %q+#D је погрешна (доћи ће до вишеструких копија)" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, fuzzy, gcc-internal-format + #| msgid "sorry: semantics of inline function static data %q+#D are wrong (you'll wind up with multiple copies)" + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "извините: семантика статичких података уткане функције %q+#D је погрешна (доћи ће до вишеструких копија)" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, fuzzy, gcc-internal-format + #| msgid "%J you can work around this by removing the initializer" + msgid "you can work around this by removing the initializer" + msgstr "%J можете ово заобићи уклањањем успостављача" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, fuzzy, gcc-internal-format + #| msgid "uninitialized const %qD" + msgid "uninitialized %" + msgstr "неуспостављена константа %qD" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, fuzzy, gcc-internal-format + #| msgid "register variable %qD used in nested function" + msgid "uninitialized variable %qD in % function" + msgstr "регистарска променљива %qD употребљена у угњежденој функцији" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, fuzzy, gcc-internal-format + #| msgid "%Juninitialized member %qD with % type %qT" + msgid "uninitialized variable %qD in % context" + msgstr "%Jнеуспостављени члан %qD са % типом %qT" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, fuzzy, gcc-internal-format + #| msgid "type %qs has a user-defined constructor" + msgid "%q#T has no user-provided default constructor" + msgstr "тип %qs има кориснички дефинисан конструктор" + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "неисправан тип %qT као успостављач за вектор типа %qT" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "успостављач за %qT мора бити у витичастим заградама" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, fuzzy, gcc-internal-format + #| msgid "name %qD used in a GNU-style designated initializer for an array" + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "име %qD употребљено у успостављачу низа утврђеном као Гну-стил" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "%qT нема нестатички члански податак по имену %qD" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a member of %qT" + msgid "%qD is not a direct member of %qT" + msgstr "%qD није члан у %qT" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer" + msgid "invalid initializer for %q#D" + msgstr "неисправан успостављач" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "превише успостављача за %qT" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "витичасте заграде око скаларног успостављача за тип %qT" + +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, fuzzy, gcc-internal-format + #| msgid "braces around scalar initializer for type %qT" + msgid "too many braces around scalar initializer for type %qT" + msgstr "витичасте заграде око скаларног успостављача за тип %qT" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "недостају витичасте заграде око успостављача за %qT" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, fuzzy, gcc-internal-format + #| msgid "parameter %P has incomplete type %qT" + msgid "structured binding has incomplete type %qT" + msgstr "параметар %P непотпуног је типа %qT" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, fuzzy, gcc-internal-format + #| msgid "elements of array %q#D have incomplete type" + msgid "elements of array %q#T have incomplete type" + msgstr "елементи низа %q#D имају непотпун тип" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 forbids compound literals" + msgid "variable-sized compound literal" + msgstr "ИСО Ц 90 забрањује сложене дословне ниске" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, fuzzy, gcc-internal-format + #| msgid "%qD has incomplete type" + msgid "%q#D has incomplete type" + msgstr "%qD има непотпун тип" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, gcc-internal-format + msgid "scalar object %qD requires one element in initializer" + msgstr "скаларни објекат %qD захтева један елемент у успостављачу" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be initialized by constructor, not by %<{...}%>" + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "%qD мора бити успостављен конструктором, не помоћу %<{...}%>" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "низ %qD успостављен заграђеном константном ниском %qE" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "успостављач неисправан за статички члан са конструктором" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "ИСО Ц++ забрањује успостављање унутар класе неконстантног статичког члана %qD" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "ИСО Ц++ забрањује успостављање унутар класе неконстантног статичког члана %qD" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "(потребно је успостављање изван класе)" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, fuzzy, gcc-internal-format + #| msgid "parameter %qD is initialized" + msgid "reference %qD is initialized with itself" + msgstr "параметар %qD је успостављен" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, fuzzy, gcc-internal-format + #| msgid "Class %qs not found in type declaration" + msgid "could not find variant declaration" + msgstr "Класа %qs не налази се у декларацији типа" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, fuzzy, gcc-internal-format + #| msgid "%s: recursive invocation of constructor %qs" + msgid "% on constructor %qD" + msgstr "%s: рекурзивно позивање конструктора %qs" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, fuzzy, gcc-internal-format + #| msgid "redeclaration of enumerator %q+D" + msgid "% on destructor %qD" + msgstr "поновљена декларација набрајача %q+D" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, fuzzy, gcc-internal-format + #| msgid "declaration of template %q#D" + msgid "% on defaulted %qD" + msgstr "декларација шаблона %q#D" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, fuzzy, gcc-internal-format + #| msgid "declaration of template %q#D" + msgid "% on deleted %qD" + msgstr "декларација шаблона %q#D" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a % %s" + msgid "% on virtual %qD" + msgstr "%qD декларисано као % %s" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "додела (не успостављање) у декларацији" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not allow designated initializers" + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "ИСО Ц++ не дозвољава утврђене успостављаче" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, fuzzy, gcc-internal-format + #| msgid "storage class specified for %qs" + msgid "% storage class specifier used" + msgstr "складишна класа наведена за %qs" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %q#D has % and is initialized" + msgid "declaration of %q#D has no initializer" + msgstr "декларација %q#D има % и ипак је успостављена" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, gcc-internal-format + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, fuzzy, gcc-internal-format + #| msgid "return type %q#T is incomplete" + msgid "deduced type %qT for %qD is incomplete" + msgstr "повратни тип %q#T није потпун" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, fuzzy, gcc-internal-format + #| msgid "variable-sized object may not be initialized" + msgid "variable concept has no initializer" + msgstr "објекат променљиве величине не може се успостављати" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "заклањање претходне декларације типа за %q#D" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, gcc-internal-format + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "функција %q#D успостављена као променљива" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, fuzzy, gcc-internal-format + #| msgid " cannot use obsolete binding at %q+D because it has a destructor" + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr " не може се користити застарело везивање код %q+D јер има деструктор" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, fuzzy, gcc-internal-format + #| msgid "%qT is an inaccessible base of %qT" + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "%qT је неприступачна основа за %qT" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, fuzzy, gcc-internal-format + #| msgid "cannot %s a pointer to incomplete type %qT" + msgid "structured binding refers to incomplete type %qT" + msgstr "не може се %s показивач на непотпуни тип %qT" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare variable %q+D to be of abstract type %qT" + msgid "cannot decompose variable length array %qT" + msgstr "не може се декларисати променљива %q+D апстрактног типа %qT" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "initializer provided for function" + msgid "%u name provided for structured binding" +@@ -58868,7 +58857,7 @@ msgstr[1] "успостављач дат за функцију" + msgstr[2] "успостављач дат за функцију" + msgstr[3] "успостављач дат за функцију" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" +@@ -58877,7 +58866,7 @@ msgstr[1] "" + msgstr[2] "" + msgstr[3] "" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" +@@ -58886,1825 +58875,1825 @@ msgstr[1] "" + msgstr[2] "" + msgstr[3] "" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare pointer to %q#T" + msgid "cannot decompose variable length vector %qT" + msgstr "не може се декларисати показивач на %q#T" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, fuzzy, gcc-internal-format + #| msgid "size of array is not an integral constant-expression" + msgid "%::value%> is not an integral constant expression" + msgstr "величина низа није интегралан констатан израз" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, fuzzy, gcc-internal-format + #| msgid "initialization string truncated to match variable at %L" + msgid "in initialization of structured binding variable %qD" + msgstr "успостављачка ниска подсечена да одговара променљивој код %L" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, fuzzy, gcc-internal-format + #| msgid "cannot convert type %qT to type %qT" + msgid "cannot decompose union type %qT" + msgstr "не може се претворити из типа %qT у %qT" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member of non-class type %qT" + msgid "cannot decompose non-array non-class type %qT" + msgstr "стварање показивача на члан некласног типа %qT" + +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, fuzzy, gcc-internal-format + #| msgid "cannot decompose address" + msgid "cannot decompose lambda closure type %qT" + msgstr "не могу да разложим адресу" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, fuzzy, gcc-internal-format + #| msgid "cannot %s a pointer to incomplete type %qT" + msgid "structured binding refers to incomplete class type %qT" + msgstr "не може се %s показивач на непотпуни тип %qT" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, fuzzy, gcc-internal-format + #| msgid "cannot apply % to static data member %qD" + msgid "cannot decompose class type %qT without non-static data members" + msgstr "не могу применити % на статички члански податак %qD" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, fuzzy, gcc-internal-format + #| msgid "initializer fails to determine size of %qD" + msgid "initializer fails to determine size of %qT" + msgstr "успостављач не одређује величину %qD" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, fuzzy, gcc-internal-format + #| msgid "array size missing in %qD" + msgid "array size missing in %qT" + msgstr "недостаје величина низа у %qD" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, fuzzy, gcc-internal-format + #| msgid "zero-size array %qD" + msgid "zero-size array %qT" + msgstr "низ %qD нулте величине" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "деструктор за туђинску класу %qT не може бити члан" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "конструктор за туђинску класу %qT не може бити члан" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a % %s" + msgid "%qD declared as a % variable" + msgstr "%qD декларисано као % %s" + +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, fuzzy, gcc-internal-format + #| msgid "% and % function specifiers on %qD invalid in %s declaration" + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "наводиоци функције % и % за %qD нису исправни у декларацији %s" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a % %s" + msgid "%qD declared as a % parameter" + msgstr "%qD декларисано као % %s" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as an % %s" + msgid "%qD declared as an % parameter" + msgstr "%qD декларисано као % %s" + +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, fuzzy, gcc-internal-format + #| msgid "% and % function specifiers on %qD invalid in %s declaration" + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "наводиоци функције % и % за %qD нису исправни у декларацији %s" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a % %s" + msgid "%qD declared as a % type" + msgstr "%qD декларисано као % %s" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as an % %s" + msgid "%qD declared as an % type" + msgstr "%qD декларисано као % %s" + +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, fuzzy, gcc-internal-format + #| msgid "% and % function specifiers on %qD invalid in %s declaration" + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "наводиоци функције % и % за %qD нису исправни у декларацији %s" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a % %s" + msgid "%qD declared as a % field" + msgstr "%qD декларисано као % %s" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as an % %s" + msgid "%qD declared as an % field" + msgstr "%qD декларисано као % %s" + +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, fuzzy, gcc-internal-format + #| msgid "% and % function specifiers on %qD invalid in %s declaration" + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "наводиоци функције % и % за %qD нису исправни у декларацији %s" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "%q+D декларисано као пријатељ" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "%q+D декларисано са одредницом изузетака" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "дефиниција %qD није у именском простору који обухвата %qT" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "статичка чланска функција %q#D декларисана са одредбама типа" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared as a non-parameter" + msgid "concept %q#D declared with function parameters" + msgstr "%q+D декларисано као не-параметарско" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, fuzzy, gcc-internal-format + #| msgid "parameter %q+D declared with void type" + msgid "concept %q#D declared with a deduced return type" + msgstr "параметар %q+D декларисан са празним типом" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, fuzzy, gcc-internal-format + #| msgid "Java method %qD has non-Java return type %qT" + msgid "concept %q#D with non-% return type %qT" + msgstr "јавански метод %qD има не-јавански повратни тип %qT" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-function" + msgid "concept %qD has no definition" + msgstr "декларација %qD као не-функције" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "a function concept cannot be constrained" + msgstr "виртуелне функције не могу бити пријатељи" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a template function" + msgid "constraints on a non-templated function" + msgstr "%qD није шаблонска функција" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "дефиниција експлицитне специјализације %qD у декларацији пријатеља" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "неисправна употреба ид. шаблона %qD у декларацији примарног шаблона" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "подразумевани аргументи нису дозвољени у декларацији пријатељске специјализације шаблона %qD" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "% није дозвољено у декларацији пријатељске специјализације шаблона %qD" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %q#D outside of class is not definition" + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "декларација %q#D изван класе није дефиниција" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "%<::main%> се не може декларисати као шаблон" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "%<::main%> се не може декларисати као уткано" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %<::main%> to be static" + msgid "cannot declare %<::main%> to be %qs" + msgstr "%<::main%> се не може декларисати као статичко" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "%<::main%> се не може декларисати као статичко" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, fuzzy, gcc-internal-format + #| msgid "%smember function %qD cannot have cv-qualifier" + msgid "static member function %qD cannot have cv-qualifier" + msgstr "%sчланска функција %qD не може имати кн-одредбу" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, fuzzy, gcc-internal-format + #| msgid "%smember function %qD cannot have cv-qualifier" + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "%sчланска функција %qD не може имати кн-одредбу" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, fuzzy, gcc-internal-format + #| msgid "%smember function %qD cannot have cv-qualifier" + msgid "static member function %qD cannot have ref-qualifier" + msgstr "%sчланска функција %qD не може имати кн-одредбу" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, fuzzy, gcc-internal-format + #| msgid "%smember function %qD cannot have cv-qualifier" + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "%sчланска функција %qD не може имати кн-одредбу" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, gcc-internal-format + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, gcc-internal-format + msgid "deduction guide %qD must have the same access as %qT" + msgstr "" + +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-function" + msgid "deduction guide %qD must not have a function body" + msgstr "декларација %qD као не-функције" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, fuzzy, gcc-internal-format + #| msgid "template with C linkage" + msgid "literal operator with C linkage" + msgstr "шаблон са Ц повезивошћу" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, fuzzy, gcc-internal-format + #| msgid "invalid option argument %qs" + msgid "%qD has invalid argument list" + msgstr "неисправан аргумент опције %qs" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, gcc-internal-format + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be a nonstatic member function" + msgid "%qD must be a non-member function" + msgstr "%qD мора бити нестатичка чланска функција" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, gcc-internal-format + msgid "%<::main%> must return %" + msgstr "%<::main%> мора враћати %" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "дефиниција имплицитно декларисаног %qD" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, fuzzy, gcc-internal-format + #| msgid "definition of implicitly-declared %qD" + msgid "definition of explicitly-defaulted %q+D" + msgstr "дефиниција имплицитно декларисаног %qD" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, fuzzy, gcc-internal-format + #| msgid "%q+#D previously defined here" + msgid "%q#D explicitly defaulted here" + msgstr "%q+#D претходно дефинисано овде" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "чланска функција %q#D није декларисана у класи %qT" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %<::main%> to be a template" + msgid "cannot declare %<::main%> to be a global variable" + msgstr "%<::main%> се не може декларисати као шаблон" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, fuzzy, gcc-internal-format + #| msgid "automatic variable %qE cannot be %" + msgid "a non-template variable cannot be %" + msgstr "аутоматска променљива %qE не може бити нитно-локална" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, fuzzy, gcc-internal-format + #| msgid "strong using only meaningful at namespace scope" + msgid "concept must be defined at namespace scope" + msgstr "јако using има смисла само у досегу именског простора" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, fuzzy, gcc-internal-format + #| msgid "variable-sized object may not be initialized" + msgid "a variable concept cannot be constrained" + msgstr "објекат променљиве величине не може се успостављати" + +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "неисправно успостављање унутар класе статичког чланског податка неинтегралног типа %qT" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "неисправно успостављање унутар класе статичког чланског податка неинтегралног типа %qT" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "неисправно успостављање унутар класе статичког чланског податка неинтегралног типа %qT" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "неисправно успостављање унутар класе статичког чланског податка неинтегралног типа %qT" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "ИСО Ц++ забрањује успостављање унутар класе неконстантног статичког члана %qD" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "ИСО Ц++ забрањује успостављање чланске константе %qD неинтегралног типа %qT" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "величина низа %qD има неинтегрални тип %qT" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "величина низа има неинтегрални тип %qT" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "величина низа %qD није интегралан констатан израз" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "величина низа није интегралан констатан израз" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "ИСО Ц++ забрањује низ нулте величине %qD" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "ИСО Ц++ забрањује низ нулте величине" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids variable-size array %qD" + msgid "ISO C++ forbids variable length array %qD" + msgstr "ИСО Ц++ забрањује низ променљиве величине %qD" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids variable-size array" + msgid "ISO C++ forbids variable length array" + msgstr "ИСО Ц++ забрањује низ променљиве величине" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "преливање у димензији низа" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, fuzzy, gcc-internal-format + #| msgid "%qD does not declare a template type" + msgid "%qD declared as array of template placeholder type %qT" + msgstr "%qD не декларише шаблонски тип" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member reference type %qT" + msgid "creating array of template placeholder type %qT" + msgstr "стварање показивача на члан упућивачког типа %qT" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of voids" + msgid "declaration of %qD as array of void" + msgstr "декларација %qs као низа празних" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, fuzzy, gcc-internal-format + #| msgid "creating array of %qT" + msgid "creating array of void" + msgstr "стварање низа типа %qT" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of functions" + msgid "declaration of %qD as array of functions" + msgstr "декларација %qs као низа функција" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, fuzzy, gcc-internal-format + #| msgid "creating array of %qT" + msgid "creating array of functions" + msgstr "стварање низа типа %qT" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of functions" + msgid "declaration of %qD as array of references" + msgstr "декларација %qs као низа функција" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, fuzzy, gcc-internal-format + #| msgid "creating array of %qT" + msgid "creating array of references" + msgstr "стварање низа типа %qT" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of functions" + msgid "declaration of %qD as array of function members" + msgstr "декларација %qs као низа функција" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of functions" + msgid "creating array of function members" + msgstr "декларација %qs као низа функција" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "декларација %qD као вишедимензионог низа мора имати границе за све димензије осим прве" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "вишедимензиони низ мора имати границе за све димензије осим прве" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, gcc-internal-format + msgid "variable-length array of %" + msgstr "" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "навод повратног типа за конструктор није исправан" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on constructor declaration" + msgstr "одредбе нису дозвољене уз декларацију %" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "навод повратног типа за деструктор није исправан" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on destructor declaration" + msgstr "одредбе нису дозвољене уз декларацију %" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, gcc-internal-format + msgid "return type specified for %" + msgstr "наведен повратни тип за %" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "одредбе нису дозвољене уз декларацију %" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, fuzzy, gcc-internal-format + #| msgid "return type specification for destructor invalid" + msgid "return type specified for deduction guide" + msgstr "навод повратног типа за деструктор није исправан" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "одредбе нису дозвољене уз декларацију %" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, fuzzy, gcc-internal-format + #| msgid "too many template parameter lists in declaration of %qD" + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "превише листа шаблонских параметара у декларацији %qD" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, fuzzy, gcc-internal-format + #| msgid "conflicting specifiers in declaration of %qs" + msgid "% in declaration of deduction guide" + msgstr "сукобљени наводиоци у декларацији %qs" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "неименована променљива или поље декларисано празним" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "променљива или поље декларисано празним" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, fuzzy, gcc-internal-format + #| msgid "% specifier invalid for function %qs declared out of global scope" + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "наводилац % није исправан за функцију %qs декларисану изван глобалног досега" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, gcc-internal-format + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "% cannot be cv-qualified" + msgstr "деструктори не могу бити кн-одређени" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "неисправна употреба одређеног имена %<::%D%>" + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "неисправна употреба одређеног имена %<%T::%D%>" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "неисправна употреба одређеног имена %<%D::%D%>" + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, fuzzy, gcc-internal-format + #| msgid "%qT is not a class or namespace" + msgid "%q#T is not a class or namespace" + msgstr "%qT није ни класа ни именски простор" + +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-function" + msgid "declaration of %qE as non-function" + msgstr "декларација %qD као не-функције" + +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-member" + msgid "declaration of %qE as non-member" + msgstr "декларација %qD као не-члана" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "недостаје ид. декларатора; користи се резервисана реч %qD" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "дефиниција функције не декларише параметре" + +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "декларација %qD као не-функције" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as %s" + msgid "declaration of %qD as %" + msgstr "декларација %qD као %s" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %q+D shadows a parameter" + msgid "declaration of %qD as parameter" + msgstr "декларација %q+D заклања параметар" + +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, fuzzy, gcc-internal-format + #| msgid "no classes specified" + msgid "both %qs and %qs specified" + msgstr "није наведена ниједна класа" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, fuzzy, gcc-internal-format + #| msgid "Class %qs not found in type declaration" + msgid "%qs cannot appear in a typedef declaration" + msgstr "Класа %qs не налази се у декларацији типа" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "два или више типова података у декларацији %qs" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support plain % meaning %" + msgid "ISO C++ does not support plain % meaning %" + msgstr "ИСО Ц не подржава да обичан % значи %" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "ИСО Ц++ забрањује декларацију %qs без типа" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, fuzzy, gcc-internal-format + #| msgid "__builtin_saveregs not supported by this target" + msgid "%<__int%d%> is not supported by this target" + msgstr "__builtin_saveregs није подржано овим циљем" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not support %" + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "ИСО Ц++ не подржава %" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, fuzzy, gcc-internal-format + #| msgid "% and % specified together for %qs" + msgid "% and % specified together" + msgstr "% и % наведени заједно за %qs" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, fuzzy, gcc-internal-format + #| msgid "% and % specified together for %qs" + msgid "% and % specified together" + msgstr "% и % наведени заједно за %qs" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, fuzzy, gcc-internal-format + #| msgid "no class name specified with %qs" + msgid "%qs specified with %qT" + msgstr "нема имена класе наведеног помоћу %qs" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, fuzzy, gcc-internal-format + #| msgid "no class name specified with %qs" + msgid "%qs specified with %qD" + msgstr "нема имена класе наведеног помоћу %qs" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, fuzzy, gcc-internal-format + #| msgid "%qs not specified in enclosing parallel" + msgid "%qs specified with %" + msgstr "%qs није наведено у обухватајућем паралелном" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, fuzzy, gcc-internal-format + #| msgid "%<__thread%> used with %" + msgid "%qs specified with %" + msgstr "%<__thread%> употребљено уз %" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, gcc-internal-format + msgid "complex invalid for %qs" + msgstr "complex неисправно за %qs" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, fuzzy, gcc-internal-format + #| msgid "member %qD cannot be declared both virtual and static" + msgid "member %qD cannot be declared both % and %" + msgstr "члан %qD не може бити декларисан и као виртуелни и као статички" + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, fuzzy, gcc-internal-format + #| msgid "member %qD cannot be declared both virtual and static" + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "члан %qD не може бити декларисан и као виртуелни и као статички" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "декларација typedef није исправна у декларацији параметра" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, fuzzy, gcc-internal-format + #| msgid "storage class specified for parameter %qs" + msgid "storage class specified for template parameter %qs" + msgstr "складишна класа наведена за параметар %qs" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "складишна класа наведена за параметар %qs" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, fuzzy, gcc-internal-format + #| msgid "template parameters cannot be friends" + msgid "a parameter cannot be declared %qs" + msgstr "шаблонски параметри не могу бити пријатељи" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, fuzzy, gcc-internal-format + #| msgid "virtual outside class declaration" + msgid "% outside class declaration" + msgstr "virtual изван декларације класе" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, fuzzy, gcc-internal-format + #| msgid "attribute ignored in declaration of %q+#T" + msgid "structured binding declaration cannot be %qs" + msgstr "атрибут игнорисан у декларацији %q+#T" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, gcc-internal-format + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, gcc-internal-format + msgid "%-qualified structured binding is deprecated" + msgstr "" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, gcc-internal-format + msgid "structured binding declaration cannot be C++98 %" + msgstr "" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, fuzzy, gcc-internal-format + #| msgid "attribute ignored in declaration of %q+#T" + msgid "structured binding declaration cannot have type %qT" + msgstr "атрибут игнорисан у декларацији %q+#T" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, gcc-internal-format + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, gcc-internal-format + msgid "multiple storage classes in declaration of %qs" + msgstr "вишеструке складишне класе у декларацији %qs" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "складишна класа наведена за %qs" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "угњеждена функција %qs декларисана као %" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "декларација %qs на највишем нивоу наводи %" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "%qs досега функције имплицитно аутоматска и декларасина као %<__thread%>" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "наводиоци складишне класе нису исправни у декларацијама пријатељских функција" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored" + msgid "attribute ignored" + msgstr "атрибут %qE се игнорише" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, fuzzy, gcc-internal-format + #| msgid "multiple storage classes in declaration of %qs" + msgid "unnecessary parentheses in declaration of %qs" + msgstr "вишеструке складишне класе у декларацији %qs" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, fuzzy, gcc-internal-format + #| msgid "Expected left parenthesis" + msgid "remove parentheses" + msgstr "Очекивана је лева заграда" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, gcc-internal-format + msgid "requires-clause on return type" + msgstr "" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, gcc-internal-format + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual function cannot have deduced return type" + msgstr "виртуелне функције не могу бити пријатељи" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, gcc-internal-format + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %" + msgid "invalid use of %" + msgstr "неисправна употреба %" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, fuzzy, gcc-internal-format + #| msgid "type qualifiers ignored on function return type" + msgid "deduced class type %qD in function return type" + msgstr "одредбе типова се игноришу на повратном типу функције" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, gcc-internal-format + msgid "deduction guide for %qT must have trailing return type" + msgstr "" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, gcc-internal-format + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, gcc-internal-format + msgid "a conversion function cannot have a trailing return type" + msgstr "" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, gcc-internal-format + msgid "%-qualified return type is deprecated" + msgstr "" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, gcc-internal-format + msgid "%qs declared as function returning a function" + msgstr "%qs декларисано као функција која враћа функцију" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "%qs декларисано као функција која враћа низ" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, fuzzy, gcc-internal-format + #| msgid "% function returns non-void value" + msgid "% on function return type is not allowed" + msgstr "функција са % враћа непразну вредност" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "деструктор не може бити статичка чланска функција" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "конструктор не може бити статичка чланска функција" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "деструктори не могу бити кн-одређени" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "конструктори не могу бити кн-одређени" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "destructors may not be ref-qualified" + msgstr "деструктори не могу бити кн-одређени" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, fuzzy, gcc-internal-format + #| msgid "constructors may not be cv-qualified" + msgid "constructors may not be ref-qualified" + msgstr "конструктори не могу бити кн-одређени" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, fuzzy, gcc-internal-format + #| msgid "constructors cannot be declared virtual" + msgid "constructors cannot be declared %" + msgstr "конструктор не може бити виртуелан" + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "виртуелне функције не могу бити пријатељи" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "декларација пријатеља није у дефиницији класе" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, fuzzy, gcc-internal-format + #| msgid "can't define friend function %qs in a local class definition" + msgid "cannot define friend function %qs in a local class definition" + msgstr "не може се дефинисати пријатељска функција %qs у дефиницији локалне класе" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "деструктори не могу имати параметре" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "не може се декларисати показивач на %q#T" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "не може се декларисати упућивач на %q#T" + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "не може се декларисати показивач на члан %q#T" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare reference to %q#T" + msgid "cannot declare reference to qualified function type %qT" + msgstr "не може се декларисати упућивач на %q#T" + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare bit-field %qD with function type" + msgid "cannot declare pointer to qualified function type %qT" + msgstr "не може се декларисати битско поље %qD са функцијским типом" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "ид. шаблона %qD употребљен као декларатор" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "чланске функције су имплицитно пријатељи својих класа" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "сувишна одредба %<%T::%> на члану %qs" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, fuzzy, gcc-internal-format + #| msgid "cannot define member function %<%T::%s%> within %<%T%>" + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "не може се дефинисати чланска функција %<%T::%s%> унутар %<%T%>" + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare member function %<%T::%s%> within %<%T%>" + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "не може се декларисати функција %<%T::%s%> унутар %<%T%>" + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "не може се декларисати члан %<%T::%s%> унутар %qT" + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, fuzzy, gcc-internal-format + #| msgid "data member %qD cannot be a member template" + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "члански податак %qD не може бити члански шаблон" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "члански податак не може имати променљиво измењив тип %qT" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "параметар не може имати променљиво измењив тип %qT" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, fuzzy, gcc-internal-format + #| msgid "virtual outside class declaration" + msgid "% outside class declaration" + msgstr "virtual изван декларације класе" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, fuzzy, gcc-internal-format + #| msgid "% in empty declaration" + msgid "% in friend declaration" + msgstr "% у празној декларацији" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, fuzzy, gcc-internal-format + #| msgid "only declarations of constructors can be %" + msgid "only declarations of constructors and conversion operators can be %" + msgstr "само декларације конструктора могу имати %" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "не-члан %qs не може бити декларисан %" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "не-објектни члан %qs не може бити декларисан %" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "функција %qs не може бити декларисана %" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, fuzzy, gcc-internal-format + #| msgid "static %qs cannot be declared %" + msgid "% %qs cannot be declared %" + msgstr "статичко %qs не може бити декларисано %" + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, fuzzy, gcc-internal-format + #| msgid "const %qs cannot be declared %" + msgid "% %qs cannot be declared %" + msgstr "константно %qs не може бити декларисано %" + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, fuzzy, gcc-internal-format + #| msgid "function %qs cannot be declared %" + msgid "reference %qs cannot be declared %" + msgstr "функција %qs не може бити декларисана %" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, fuzzy, gcc-internal-format + #| msgid "attributes are not allowed on a function-definition" + msgid "typedef may not be a function definition" + msgstr "атрибути нису дозвољени на дефиницији функције" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, fuzzy, gcc-internal-format + #| msgid "attributes are not allowed on a function-definition" + msgid "typedef may not be a member function definition" + msgstr "атрибути нису дозвољени на дефиницији функције" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, fuzzy, gcc-internal-format + #| msgid "%<[*]%> not allowed in other than a declaration" + msgid "% not allowed in alias declaration" + msgstr "%<[*]%> није дозвољено другде осим у декларацији" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, fuzzy, gcc-internal-format + #| msgid "typedef %q+D declared %" + msgid "typedef declared %" + msgstr "дефиниција типа %q+D декларисана као %" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, fuzzy, gcc-internal-format + #| msgid "%Jtypedef name may not be a nested-name-specifier" + msgid "typedef name may not be a nested-name-specifier" + msgstr "%Jиме за дефиницију типа не може бити угњеждени-именски-наводилац" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "ИСО Ц++ забрањује угњеждени тип %qD истог имена као и обухватајућа класа" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "% наведено уз декларацију пријатељске класе" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "шаблонски параметри не могу бити пријатељи" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "декларација пријатеља захтева реч class, тј. %" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "декларација пријатеља захтева реч class, тј. %" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "покушај да се класа %qT учини пријатељем глобалног досега" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "неисправне одредбе уз тип не-чланске функције" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "апстрактни декларатор %qT употребљен као декларација" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, fuzzy, gcc-internal-format + #| msgid "redeclaration of C++ built-in type %qT" + msgid "requires-clause on declaration of non-function type %qT" + msgstr "поновљена декларација Ц++ уграђеног типа %qT" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "не може се користити %<::%> у декларацији параметра" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare parameter %q+D to be of abstract type %qT" + msgid "cannot declare a parameter with %" + msgstr "не може се декларисати параметар %q+D апстрактног типа %qT" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, fuzzy, gcc-internal-format + #| msgid "% may not be used in this context" + msgid "% parameter not permitted in this context" + msgstr "% се не може употребити у овом контексту" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, fuzzy, gcc-internal-format + #| msgid "parameter %q+D declared %" + msgid "parameter declared %" + msgstr "параметар %q+D декларисан као %" + +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "неисправна употреба шаблонског имена %qE без листе аргумената" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, fuzzy, gcc-internal-format + #| msgid "static member %qD declared %" + msgid "non-static data member declared with placeholder %qT" + msgstr "статички члан %qD декларисан као %" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids zero-size array %qD" + msgid "ISO C++ forbids flexible array member %qs" + msgstr "ИСО Ц++ забрањује низ нулте величине %qD" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 does not support flexible array members" + msgid "ISO C++ forbids flexible array members" + msgstr "ИСО Ц 90 не подржава флексибилне чланске низове" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, gcc-internal-format + msgid "invalid use of %<::%>" + msgstr "неисправна употреба %<::%>" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, fuzzy, gcc-internal-format + #| msgid "declaration of C function %q#D conflicts with" + msgid "declaration of function %qD in invalid context" + msgstr "декларација Ц функције %q#D коси се са" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, fuzzy, gcc-internal-format + #| msgid "function %qD declared virtual inside a union" + msgid "function %qD declared % inside a union" + msgstr "функција %qD декларисана виртуелном унутар уније" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, fuzzy, gcc-internal-format + #| msgid "%qD cannot be declared virtual, since it is always static" + msgid "%qD cannot be declared %, since it is always static" + msgstr "%qD не може бити декларисана виртуелном, јер је увек статичка" + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "очекивано одређено име у декларацији пријатеља за деструктор %qD" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, gcc-internal-format + msgid "declaration of %qD as member of %qT" + msgstr "декларација %qD као члана %qT" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, fuzzy, gcc-internal-format + #| msgid "Constructor can't be %s" + msgid "a destructor cannot be %qs" + msgstr "Конструктор не може бити %s" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, fuzzy, gcc-internal-format + #| msgid "expected qualified name in friend declaration for destructor %qD" + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "очекивано одређено име у декларацији пријатеља за деструктор %qD" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, fuzzy, gcc-internal-format + #| msgid "Constructor can't be %s" + msgid "a constructor cannot be %" + msgstr "Конструктор не може бити %s" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, fuzzy, gcc-internal-format + #| msgid "constructor cannot be static member function" + msgid "a concept cannot be a member function" + msgstr "конструктор не може бити статичка чланска функција" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, fuzzy, gcc-internal-format + #| msgid "cannot open %s" + msgid "%qD cannot be %qs" + msgstr "не могу да отворим %s" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, fuzzy, gcc-internal-format + #| msgid "specialization of implicitly-declared special member function" + msgid "specialization of variable template %qD declared as function" + msgstr "специјализација имплицитно декларисане посебне чланске функције" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, fuzzy, gcc-internal-format + #| msgid "variable or field declared void" + msgid "variable template declared here" + msgstr "променљива или поље декларисано празним" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, fuzzy, gcc-internal-format + #| msgid "field %qD has incomplete type" + msgid "field %qD has incomplete type %qT" + msgstr "поље %qD има непотпун тип" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "име %qT има непотпун тип" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "%qE није ни функција ни чланска функција; не може се декларисати пријатељем" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, fuzzy, gcc-internal-format + #| msgid "%qE is neither function nor member function; cannot be declared friend" + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "%qE није ни функција ни чланска функција; не може се декларисати пријатељем" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, gcc-internal-format + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "" + +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, fuzzy, gcc-internal-format + #| msgid "static member %qD declared %" + msgid "static data member %qE declared %qs" + msgstr "статички члан %qD декларисан као %" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic '%s' at %L cannot have an initializer" + msgid "% static data member %qD must have an initializer" + msgstr "Сопствено ‘%s’ код %L не може имати успостављач" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, fuzzy, gcc-internal-format + #| msgid "static member %qD declared %" + msgid "non-static data member %qE declared %qs" + msgstr "статички члан %qD декларисан као %" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "складишна класа % неисправна за функцију %qs" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "складишна класа % неисправна за функцију %qs" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "складишна класа %<__thread%> неисправна за функцију %qs" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, fuzzy, gcc-internal-format + #| msgid "storage class %<__thread%> invalid for function %qs" + msgid "storage class % invalid for function %qs" + msgstr "складишна класа %<__thread%> неисправна за функцију %qs" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, fuzzy, gcc-internal-format + #| msgid "an asm-specification is not allowed on a function-definition" + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "навод asm није дозвољен на дефиницији функције" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, fuzzy, gcc-internal-format + #| msgid "% specified invalid for function %qs declared out of global scope" + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "% неисправно наведено за функцију %qs декларисану изван глобалног досега" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "наводилац % није исправан за функцију %qs декларисану изван глобалног досега" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "виртуелна не-класна функција %qs" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, fuzzy, gcc-internal-format + #| msgid "No variable %qs defined in class %qs" + msgid "%qs defined in a non-class scope" + msgstr "Променљива %qs није дефинисана у класи %qs" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, fuzzy, gcc-internal-format + #| msgid "%qD was not declared in this scope" + msgid "%qs declared in a non-class scope" + msgstr "%qD није декларисано у овом досегу" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "не може се декларисати статичка повезивост за чланску функцију %qD" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "не може се декларисати статичка функција унутар друге функције" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "% не може бити употребљено при дефинисању (насупрот декларисања) статичког чланског податка" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "статички члан %qD декларисан као %" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "не може се експлицитно декларисати спољашња повезивост за члан %q#D" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, fuzzy, gcc-internal-format + #| msgid "declaration of % variable %q+D in % loop initial declaration" + msgid "declaration of % variable %qD is not a definition" + msgstr "декларација спољашње променљиве %q+D у почетној декларацији % петље" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, fuzzy, gcc-internal-format + #| msgid "static %qs cannot be declared %" + msgid "a variable cannot be declared %" + msgstr "статичко %qs не може бити декларисано %" + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "%qs успостављено и декларисано као %" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "%qs има и % и успостављач" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, fuzzy, gcc-internal-format + #| msgid "default argument %qE uses local variable %qD" + msgid "default argument %qE uses %qD" + msgstr "подразумевани аргумент %qE користи локалну променљиву %qD" + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "подразумевани аргумент %qE користи локалну променљиву %qD" + +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, fuzzy, gcc-internal-format + #| msgid "storage class specifiers invalid in parameter declarations" + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "наводиоци складишне класе нису исправни у декларацијама параметара" + +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, fuzzy, gcc-internal-format + #| msgid "cannot use %<::%> in parameter declaration" + msgid "invalid use of type % in parameter declaration" + msgstr "не може се користити %<::%> у декларацији параметра" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, gcc-internal-format + msgid "%-qualified parameter is deprecated" + msgstr "" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "параметар %qD неисправно декларише тип метода" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, fuzzy, gcc-internal-format + #| msgid "parameter %qD includes %s to array of unknown bound %qT" + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "параметар %qD укључује %s у низ непознатих граница %qT" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, fuzzy, gcc-internal-format + #| msgid "parameter %qD includes %s to array of unknown bound %qT" + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "параметар %qD укључује %s у низ непознатих граница %qT" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "неисправан конструктор; вероватно сте мислили %<%T (const %T&)%>" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "%qD не може бити декларисано унутар именског простора" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "%qD не може бити декларисано статичко" + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be a nonstatic member function" + msgid "%qD must be a non-static member function" + msgstr "%qD мора бити нестатичка чланска функција" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be a nonstatic member function" + msgid "%qD must be a member function" + msgstr "%qD мора бити нестатичка чланска функција" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, gcc-internal-format + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "%qD мора бити или нестатичка чланска функција или не-чланска функција" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "%qD мора имати аргумент класног или набројивог типа" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ prohibits overloading operator ?:" + msgid "ISO C++ prohibits overloading %" + msgstr "ИСО Ц++ забрањује препуњавање оператора ?:" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "%qD не може имати променљив број аргумената" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take either zero or one argument" + msgid "%qD must have either zero or one argument" + msgstr "%qD мора узимати ниједан или један аргумент" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take either one or two arguments" + msgid "%qD must have either one or two arguments" + msgstr "%qD мора узимати један или два аргумента" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, fuzzy, gcc-internal-format + #| msgid "postfix %qD must take % as its argument" + msgid "postfix %qD must have % as its argument" + msgstr "постфиксно %qD мора узимати % као аргумент" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, fuzzy, gcc-internal-format + #| msgid "postfix %qD must take % as its second argument" + msgid "postfix %qD must have % as its second argument" + msgstr "постфиксно %qD мора узимати % као други аргумент" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly two arguments" + msgid "%qD must have no arguments" + msgstr "%qD мора узимати тачно два аргумента" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly one argument" + msgid "%qD must have exactly one argument" + msgstr "%qD мора узимати тачно један аргумент" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly two arguments" + msgid "%qD must have exactly two arguments" + msgstr "%qD мора узимати тачно два аргумента" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "%qD не може имати подразумеване аргументе" + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to % will never use a type conversion operator" + msgstr "претварање у %s%s никад неће користити оператор претварања типа" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "претварање у %s%s никад неће користити оператор претварања типа" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "претварање у %s%s никад неће користити оператор претварања типа" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "претварање у %s%s никад неће користити оператор претварања типа" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "претварање у %s%s никад неће користити оператор претварања типа" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "кориснички дефинисано %qD увек израчунава оба аргумента" + +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "префиксно %qD треба да враћа %qT" + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "постфиксно %qD треба да враћа %qT" + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "%qD треба да враћа по вредност" + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "употреба параметра шаблонског типа %qT после %qs" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, fuzzy, gcc-internal-format + #| msgid "ambiguous template specialization %qD for %q+D" + msgid "using alias template specialization %qT after %qs" + msgstr "двосмислена специјализација шаблона %qD за %q+D" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "употреба typedef-имена %qD после %qs" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, fuzzy, gcc-internal-format + #| msgid "%q+D has a previous declaration here" + msgid "%qD has a previous declaration here" + msgstr "%q+D има претходну декларацију овде" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "%qT се помиње као %qs" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, fuzzy, gcc-internal-format + #| msgid "%q+T has a previous declaration here" + msgid "%qT has a previous declaration here" + msgstr "%q+T има претходну декларацију овде" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "%qT се помиње као набрајање" +@@ -60716,115 +60705,115 @@ msgstr "%qT се помиње као набрајање" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "потребан шаблонски аргумент за %<%s %T%>" + +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "двосмислено упућивање на %qD" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, fuzzy, gcc-internal-format + #| msgid "non-template %qD used as template" + msgid "class template %qD redeclared as non-template" + msgstr "%qD употребљено као шаблон, а није" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "%qD има исто име као и класа у којој је декларисано" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, gcc-internal-format + msgid "%qT is not a template" + msgstr "%qT није шаблон" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "употреба набрајања %q#D без претходне декларације" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "поновљена декларација %qT као не-шаблона" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %qD to be a bit-field type" + msgid "cannot declare %qD in a different module" + msgstr "%qD се не може декларисати као тип битског поља" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "неисправна изведена унија %qT" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, fuzzy, gcc-internal-format + #| msgid "type %qT is not a direct or virtual base of %qT" + msgid "%qT defined with direct virtual base" + msgstr "тип %qT није непосредна или виртуелна основа од %qT" + +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "тип основе %qT није класа или структура" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "недефинисан рекурзивни тип %qT" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "неисправан удвостручен тип основе %qT" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, fuzzy, gcc-internal-format + #| msgid "%Jprevious definition here" + msgid "previous definition here" + msgstr "%Jпретходна дефиниција је овде" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, fuzzy, gcc-internal-format + #| msgid "specialization of %qD in different namespace" + msgid "cannot define %qD in different module" + msgstr "специјализација %qD у различитом именском простору" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, fuzzy, gcc-internal-format + #| msgid "Cray pointer at %C must be an integer." + msgid "underlying type %qT of %qT must be an integral type" +@@ -60834,91 +60823,91 @@ msgstr "Крејов показивач код %C мора бити целобр + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "ниједан интегрални тип не може представљати све вредности набрајача за %qT" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value for %qD not integer constant" + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "вредност набрајача за %qD није целобројна константа" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value for %qE is not an integer constant" + msgid "enumerator value for %qD is not an integer constant" + msgstr "вредност набрајача за %qE није целобројна константа" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, fuzzy, gcc-internal-format + #| msgid "ISO C restricts enumerator values to range of %" + msgid "incremented enumerator value is too large for %" + msgstr "ИСО Ц ограничава вредности набрајача на опсег %" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, fuzzy, gcc-internal-format + #| msgid "ISO C restricts enumerator values to range of %" + msgid "incremented enumerator value is too large for %" + msgstr "ИСО Ц ограничава вредности набрајача на опсег %" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "преливање у вредностима набрајача код %qD" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value for %qE is not an integer constant" + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "вредност набрајача за %qE није целобројна константа" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "вишеструке дефиниције %q#T" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "повратни тип %q#T није потпун" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "% треба да враћа упућивач на %<*this%>" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, fuzzy, gcc-internal-format + #| msgid "no return statement in function returning non-void" + msgid "no return statements in function returning %qT" + msgstr "нема повратне наредбе у функцији која враћа непразан тип" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, fuzzy, gcc-internal-format + #| msgid "function return types not compatible due to %" + msgid "only plain % return type can be deduced to %" + msgstr "повратни типови функција нису сагласни услед %" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, fuzzy, gcc-internal-format + #| msgid "no return statement in function returning non-void" + msgid "no return statement in % function returning non-void" + msgstr "нема повратне наредбе у функцији која враћа непразан тип" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "%qD је већ дефинисано у класи %qT" + +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, fuzzy, gcc-internal-format + #| msgid "Processing %s\n" + msgid "using %qs" + msgstr "Обрађујем %s\n" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "" +@@ -61839,7 +61828,7 @@ msgstr "тип %qT није непосредна или виртуелна ос + msgid "type %qT is not a direct base of %qT" + msgstr "тип %qT није непосредна основа од %qT" + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "успостављач низа мора бити нешто у витичастим заградама" +@@ -62972,7 +62961,7 @@ msgstr "декларација употребе за не-члан у досег + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, fuzzy, gcc-internal-format + #| msgid "%qT is not a class or namespace" + msgid "%qT is not a class, namespace, or enumeration" +@@ -63801,7 +63790,7 @@ msgstr "не могу се дефинисати нови типови у пов + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "неподржан аргумент за %<__builtin_frame_address%>" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, fuzzy, gcc-internal-format + #| msgid "unsupported argument to %<__builtin_return_address%>" + msgid "wrong number of arguments to %<__builtin_launder%>" +@@ -64564,13 +64553,13 @@ msgstr "само конструктори узимају успостављач + msgid "cannot expand initializer for member %qD" + msgstr "недостаје успостављач за члан %qD" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, fuzzy, gcc-internal-format + #| msgid "static declaration of %q+D follows non-static declaration" + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "статичка декларација %q+D прати нестатичку декларацију" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "" +@@ -65232,7 +65221,7 @@ msgstr "недостаје справљачки циљ после %qs" + msgid "%qT not permitted in template argument" + msgstr "грешка у рашчлањивању листе шаблонских аргумената" + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %qD" +@@ -66194,7 +66183,7 @@ msgstr "" + msgid "% clause with parameter on range-based % loop" + msgstr "" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, fuzzy, gcc-internal-format + #| msgid "iteration variable %qs should not be reduction" + msgid "iteration variable %qD should not be reduction" +@@ -67309,7 +67298,7 @@ msgstr "нешаблонски тип %qT употребљен као шабло + msgid "for template declaration %q+D" + msgstr "за декларацију шаблона %q+D" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, fuzzy, gcc-internal-format + #| msgid "template declaration of %q#D" + msgid "template constraint failure for %qD" +@@ -67408,299 +67397,299 @@ msgstr "функција враћа низ" + msgid "function returning a function" + msgstr "функција враћа функцију" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, gcc-internal-format + msgid "forming reference to void" + msgstr "обликовање упућивача на празно" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, fuzzy, gcc-internal-format + #| msgid "forming %s to reference type %qT" + msgid "forming pointer to reference type %qT" + msgstr "обликовање %s на тип упућивача %qT" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, fuzzy, gcc-internal-format + #| msgid "forming %s to reference type %qT" + msgid "forming reference to reference type %qT" + msgstr "обликовање %s на тип упућивача %qT" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, fuzzy, gcc-internal-format + #| msgid "ignoring %qV qualifiers added to function type %qT" + msgid "forming pointer to qualified function type %qT" + msgstr "игнорисање %qV одредбе додате функцијском типу %qT" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, fuzzy, gcc-internal-format + #| msgid "ignoring %qV qualifiers added to function type %qT" + msgid "forming reference to qualified function type %qT" + msgstr "игнорисање %qV одредбе додате функцијском типу %qT" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr "стварање показивача на члан некласног типа %qT" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr "стварање показивача на члан упућивачког типа %qT" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr "стварање показивача на члан празног типа" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, gcc-internal-format + msgid "creating array of %qT" + msgstr "стварање низа типа %qT" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "%qT није тип класе, структуре, нити уније" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "%qT се разрешава до %qT, што није набројиви тип" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, fuzzy, gcc-internal-format + #| msgid "%qT resolves to %qT, which is is not a class type" + msgid "%qT resolves to %qT, which is not a class type" + msgstr "%qT се разрешава до %qT, што није класни тип" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, gcc-internal-format + msgid "use of %qs in template" + msgstr "употреба %qs у шаблону" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, fuzzy, gcc-internal-format + #| msgid "qualified type %qT does not match destructor name ~%qT" + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "одређени тип %qT не поклапа се са именом деструктора ~%qT" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "зависно име %qE рашчлањује се као не-тип, али извођење производи тип" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "ставите % ако мислите на тип" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, gcc-internal-format + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, gcc-internal-format + msgid "using invalid field %qD" + msgstr "употреба неисправног поља %qD" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of void expression" + msgid "invalid use of pack expansion expression" + msgstr "неисправна употреба израза празног типа" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, fuzzy, gcc-internal-format + #| msgid "%<...%> as arguments.)" + msgid "use %<...%> to expand argument pack" + msgstr "%<...%> за аргументе.)" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, gcc-internal-format + msgid "empty initializer in lambda init-capture" + msgstr "" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, fuzzy, gcc-internal-format + #| msgid "%<%T::%D%> is not a type" + msgid "use %<%T::%D%> instead" + msgstr "%<%T::%D%> није тип" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, fuzzy, gcc-internal-format + #| msgid "%H%qE undeclared here (not in a function)" + msgid "%qD declared here, later in the translation unit" + msgstr "%H%qE недекларисано овде (не у функцији)" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, fuzzy, gcc-internal-format + #| msgid "unsupported argument to %<__builtin_return_address%>" + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "неподржан аргумент за %<__builtin_return_address%>" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for %qs attribute" + msgid "wrong number of arguments to % attribute" + msgstr "погрешан број аргумената наведне за атрибут %qs" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "%qT није ни класа ни именски простор" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "%qD није ни класа ни именски простор" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, fuzzy, gcc-internal-format + #| msgid "%qT is/uses anonymous type" + msgid "%qT is/uses unnamed type" + msgstr "%qT јесте/користи анонимни тип" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, gcc-internal-format + msgid "template argument for %qD uses local type %qT" + msgstr "шаблонски аргумент за %qD користи локални тип %qT" + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "%qT је променљиво измењив тип" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "интегрални израз %qE није константа" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr " покушај извођења %qD" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, fuzzy, gcc-internal-format + #| msgid "ambiguous class template instantiation for %q#T" + msgid "ambiguous template instantiation for %q#T" + msgstr "двосмислено извођење шаблона класе за %q#T" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, fuzzy, gcc-internal-format + #| msgid "ambiguous class template instantiation for %q#T" + msgid "ambiguous template instantiation for %q#D" + msgstr "двосмислено извођење шаблона класе за %q#T" + +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + #, fuzzy + #| msgid "%s %+#D" + msgid "%s %#qS" + msgstr "%s %+#D" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "експлицитно извођење не-шаблона %q#D" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template %q#D" + msgid "explicit instantiation of variable concept %q#D" + msgstr "експлицитно извођење не-шаблона %q#D" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template %q#D" + msgid "explicit instantiation of function concept %q#D" + msgstr "експлицитно извођење не-шаблона %q#D" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, fuzzy, gcc-internal-format + #| msgid "%q#D is not a non-static data member of %qT" + msgid "%qD is not a static data member of a class template" + msgstr "%q#D је нестатички члански податак у %qT" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "поклапајући шаблон за %qD није нађен" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template type %qT" + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "експлицитно извођење нешаблонског типа %qT" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "експлицитно извођење %q#D" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "удвостручено експлицитно извођење %q#D" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids the use of % on explicit instantiations" + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "ИСО Ц++ забрањује употребу % на експлицитним извођењима" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "складишна класа %qD примењена на извођење шаблона" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template %q#D" + msgid "explicit instantiation of non-class template %qD" + msgstr "експлицитно извођење не-шаблона %q#D" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "експлицитно извођење нешаблонског типа %qT" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "експлицитно извођење %q#T пре дефиниције шаблона" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "ИСО Ц++ забрањује употребу %qE на експлицитним извођењима" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "удвостручено експлицитно извођење %q#T" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, fuzzy, gcc-internal-format + #| msgid "explicit specialization of %qD after first use" + msgid "exception specification of %qD depends on itself" +@@ -67713,181 +67702,181 @@ msgstr "експлицитна специјализација %qD после п + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "експлицитно извођење %qD али дефиниција није доступна" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, fuzzy, gcc-internal-format + #| msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth-NN to increase the maximum)" + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "дубина извођења шаблона премашује максимум од %d извођења %q+D, могуће услед стварања виртуелних табела (употребите -ftemplate-depth-NN да повећате максимум)" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, gcc-internal-format + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, fuzzy, gcc-internal-format + #| msgid "%q#T is not a valid type for a template constant parameter" + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "%q#T није исправан тип за шаблонски константан параметар" + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, gcc-internal-format + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, fuzzy, gcc-internal-format + #| msgid "using template type parameter %qT after %qs" + msgid "invalid template non-type parameter" + msgstr "употреба параметра шаблонског типа %qT после %qs" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, fuzzy, gcc-internal-format + #| msgid "%q#T is not a valid type for a template constant parameter" + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "%q#T није исправан тип за шаблонски константан параметар" + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, fuzzy, gcc-internal-format + #| msgid "keyword % not allowed outside of templates" + msgid "keyword % not allowed in declarator-id" + msgstr "кључна реч % није дозвољена изван шаблона" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, fuzzy, gcc-internal-format + #| msgid "opaque vector types cannot be initialized" + msgid "a concept cannot be constrained" + msgstr "непрозирни векторски типови не могу бити успостављени" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, fuzzy, gcc-internal-format + #| msgid "%qT is not a namespace" + msgid "concept %qE not in namespace scope" + msgstr "%qT није именски простор" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, fuzzy, gcc-internal-format + #| msgid "definition of %q#T inside template parameter list" + msgid "concept %qE has multiple template parameter lists" + msgstr "дефиниција %q#T унутар листе шаблонских параметара" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, gcc-internal-format + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "" + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, fuzzy, gcc-internal-format + #| msgid "%qD used without template parameters" + msgid "non-deducible template %qT used without template arguments" + msgstr "%qD употребљено без параметара шаблона" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, gcc-internal-format + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, fuzzy, gcc-internal-format + #| msgid "use #include instead" + msgid "use %qD directly instead" + msgstr "користите #include уместо тога" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, gcc-internal-format + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "" + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "class template argument deduction failed:" + msgstr "неисправан шаблонски аргумент %d" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, fuzzy, gcc-internal-format + #| msgid "function not considered for inlining" + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "функција се не разматра за уткивање" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, gcc-internal-format + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr "" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, fuzzy, gcc-internal-format + #| msgid "explicit qualification in declaration of %qD" + msgid "explicit deduction guide declared here" + msgstr "експлицитна одредба у декларацији %qD" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, gcc-internal-format + msgid "%qT may not intend to support class template argument deduction" + msgstr "" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, fuzzy, gcc-internal-format + #| msgid "Invalid method declaration, return type required" + msgid "unable to deduce lambda return type from %qE" + msgstr "Неисправна декларација метода, неопходан је повратни тип" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, fuzzy, gcc-internal-format + #| msgid "unable to emulate %qs" + msgid "unable to deduce %qT from %qE" + msgstr "не могу да емулирам %qs" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "ија не задовољава своја ограничења:" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "ија не задовољава своја ограничења:" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "ија не задовољава своја ограничења:" + +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, fuzzy, gcc-internal-format + #| msgid "use of %qs in template" + msgid "invalid use of %qT in template argument" +@@ -68227,7 +68216,7 @@ msgstr "неисправан навод основне класе" + msgid "cannot capture member %qD of anonymous union" + msgstr "заштићени члан %q+#D у анонимној унији" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a type" + msgid "%qD is not captured" +@@ -68686,30 +68675,30 @@ msgstr "%<__builtin_next_arg%> позвано без аргумената" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a class or namespace" + msgid "%qD is not a class or alias template" + msgstr "%qD није ни класа ни именски простор" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, fuzzy, gcc-internal-format + #| msgid "left-hand operand of comma expression has no effect" + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "леви операнд зарез-израза нема ефекта" + +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, fuzzy, gcc-internal-format + #| msgid "template argument %qE involves template parameter(s)" + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "шаблонски аргумент %qE уплиће шаблонске параметре" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, fuzzy, gcc-internal-format + #| msgid "unsupported argument to %<__builtin_return_address%>" + msgid "non-pointer argument to %<__builtin_launder%>" +@@ -68718,22 +68707,22 @@ msgstr "неподржан аргумент за %<__builtin_return_address%>" + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "" +@@ -70123,242 +70112,242 @@ msgstr "декларација %q#D" + msgid "declaration of %q#T" + msgstr "декларација %q#D" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, gcc-internal-format + msgid "%qD has incomplete type" + msgstr "%qD има непотпун тип" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of incomplete typedef %qD" + msgid "invalid use of incomplete type %q#T" + msgstr "неисправна употреба непотпуног typedef %qD" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of non-static member function %qD" + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "неисправна употреба нестатичке чланске функције %qD" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of member %q+D in static member function" + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "неисправна употреба члана %q+D у статичкој чланској функцији" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %qD" + msgid "invalid use of placeholder %qT" + msgstr "неисправна употреба %qD" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of incomplete typedef %qD" + msgid "invalid use of template type parameter %qT" + msgstr "неисправна употреба непотпуног typedef %qD" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, fuzzy, gcc-internal-format + #| msgid "invalid default argument for a template template parameter" + msgid "invalid use of template template parameter %qT" + msgstr "неисправан подразумевани аргумент за шаблонски шаблонски параметар" + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of void expression" + msgid "invalid use of pack expansion %qT" + msgstr "неисправна употреба израза празног типа" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of incomplete typedef %qD" + msgid "invalid use of dependent type %qT" + msgstr "неисправна употреба непотпуног typedef %qD" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, fuzzy, gcc-internal-format + #| msgid "array must be initialized with a brace-enclosed initializer" + msgid "invalid use of brace-enclosed initializer list" + msgstr "успостављач низа мора бити нешто у витичастим заградама" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "употребљена синтакса конструктора, али конструктор није декларисан за тип %qT" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, fuzzy, gcc-internal-format + #| msgid "variable %qD may not have been initialized" + msgid "% variable %qD does not have a constant initializer" + msgstr "променљива %qD можда није успостављена" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + #, fuzzy + #| msgid "conversion of %qE from %qT to %qT is ambiguous" + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "двосмислено претварање %qE из %qT у %qT" + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + #, fuzzy + #| msgid "invalid conversion from %qT to %qT" + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "неисправно претварање из %qT у %qT" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, gcc-internal-format + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr "" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, fuzzy, gcc-internal-format + #| msgid "initializer-string for array of chars is too long" + msgid "initializer-string for %qT is too long" + msgstr "предугачка ниска успостављача за низ знакова" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, fuzzy, gcc-internal-format + #| msgid "braces around scalar initializer" + msgid "remove %<{ }%> around initializer" + msgstr "витичасте заграде око скаларног успостављача" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "скупина типа %qT не може се успостављати сложеном константном" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "недостаје успостављач за члан %qD" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "члан %qD је неуспостављен упућивач" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, fuzzy, gcc-internal-format + #| msgid "member %qD is uninitialized reference" + msgid "member %qD with uninitialized reference fields" + msgstr "члан %qD је неуспостављен упућивач" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, fuzzy, gcc-internal-format + #| msgid "prototype for %q#D does not match any in class %qT" + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "прототип за %q#D не одговара ниједном у класи %qT" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "поље %qD није нађено у унији која се успоставља" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "индексна вредност уместо имена поља у успостављачу уније" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "откривено кружно прослеђивање показивача" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, gcc-internal-format + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "основни операнд за %<->%> непоказивачког је типа %qT" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr "%()%> производи непоказивачки резултат" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "основни операнд за %<->%> није показивач" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "%qE се не може користити као члански показивач, пошто је типа %qT" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, gcc-internal-format + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "члански показивач %qE не може се применити на %qE, које је некласног типа %qT" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "тип показивача на члан %qT није сагласан са типом објекта %qT" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, fuzzy, gcc-internal-format + #| msgid "pointer to member function used in arithmetic" + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "показивач на чланску функцију употребљен у аритметици" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, fuzzy, gcc-internal-format + #| msgid "pointer to member function used in arithmetic" + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "показивач на чланску функцију употребљен у аритметици" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, fuzzy, gcc-internal-format + #| msgid "invalid cast to function type %qT" + msgid "functional cast to array type %qT" + msgstr "неисправно претапање у функцијски тип %qT" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, gcc-internal-format + msgid "% cannot be constrained" + msgstr "" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, gcc-internal-format + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, fuzzy, gcc-internal-format + #| msgid "%Jdefault-initialization of %q#D, which has reference type" + msgid "invalid value-initialization of reference type" + msgstr "%Jподразумевано успостављање %q#D, које је упућивачког типа" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "позив функције %qD која баца непотпун тип %q#T" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "позив функције која баца непотпун тип %q#T" +@@ -71380,7 +71369,7 @@ msgstr "" + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "аргумент атрибута %qs није константна ниска" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Bad kind for logical constant at %C" + msgid "Invalid use of BOZ literal constant at %L" +@@ -72611,12 +72600,12 @@ msgstr "успостављачка ниска подсечена да одгов + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "успостављачка ниска подсечена да одговара променљивој код %L" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "Индекс почетка подниске код %L је мањи од један" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "Индекс краја подниске код %L премашује дужину ниске" +@@ -72819,7 +72808,7 @@ msgstr "Лоша одредница намере код %C" + msgid "deferred type parameter at %C" + msgstr "употреба параметра шаблонског типа %qT после %qs" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "" +@@ -75021,7 +75010,7 @@ msgstr "трансформационо сопствено ‘%s’ код %L н + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "Проширење: Израчунавање нестандардног успостављачког израза код %L" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' in initialization expression at %L must be an intrinsic function" + msgid "Function %qs in initialization expression at %L must be an intrinsic function" +@@ -75331,7 +75320,7 @@ msgstr "" + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "Очекивана је процедура за аргумент ‘%s’ код %L" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, fuzzy, gcc-internal-format + #| msgid "duplicate interface declaration for class %qs" + msgid "Explicit interface required for %qs at %L: %s" +@@ -75459,7 +75448,7 @@ msgstr "" + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Pointer initialization at %C requires '=>', not '='" + msgid "Pointer initialization target at %L must not be ALLOCATABLE" +@@ -75471,7 +75460,7 @@ msgstr "Успостављање показивача код %C захтева + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "Компонента код %C мора имати атрибут показивача" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Object '%s' at %L must have the SAVE attribute %s" + msgid "Pointer initialization target at %L must have the SAVE attribute" +@@ -75608,7 +75597,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "creating array of %qT" +@@ -75845,12 +75834,12 @@ msgstr "Први аргумент дефинисане доделе код %L м + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "Други аргумент дефинисане доделе код %L мора бити намере-у" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "Први аргумент сучеља оператора код %L мора бити намере-у" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "Други аргумент сучеља оператора код %L мора бити намере-у" +@@ -75972,609 +75961,609 @@ msgstr "" + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid third argument of IBITS at %L" + msgid "Invalid procedure argument at %L" + msgstr "Неисправан трећи аргумент у IBITS код %L" + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, fuzzy, gcc-internal-format + #| msgid "Type/rank mismatch in argument '%s' at %L" + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "Неслагање типа/ранга у аргументу ‘%s’ код %L" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, gcc-internal-format + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, gcc-internal-format, gfc-internal-format + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "" + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, fuzzy, gcc-internal-format + #| msgid "Type/rank mismatch in argument '%s' at %L" + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr "Неслагање типа/ранга у аргументу ‘%s’ код %L" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, fuzzy, gcc-internal-format + #| msgid "Argument of %s at %L must be of length one" + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "Аргумент за %s код %L мора бити дужине један" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, fuzzy, gcc-internal-format + #| msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type" + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "Аргументи ‘%s’ и ‘%s’ сопственог ‘%s’ код %L морају бити истог типа" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "Стварни аргумент за ‘%s’ код %L мора бити показивач" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, fuzzy, gcc-internal-format + #| msgid "Type/rank mismatch in argument '%s' at %L" + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "Неслагање типа/ранга у аргументу ‘%s’ код %L" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, gcc-internal-format + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, gcc-internal-format + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, gcc-internal-format, gfc-internal-format + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, gcc-internal-format + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, gcc-internal-format + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, gcc-internal-format + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "Кључна реч ‘%s’ код %L није у процедури" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "Кључна реч ‘%s’ код %L није у процедури" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "Кључна реч ‘%s’ код %L није у процедури" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is already associated with another actual argument" + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "Кључна реч ‘%s’ код %L је већ придружена другом стварном аргументу" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "Више стварних него формалних аргумената у позиву процедуре код %L" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Missing alternate return spec in subroutine call at %L" + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "Недостаје одредница алтернативног враћања у позиву потпрограма код %L" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Unexpected alternate return spec in subroutine call at %L" + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "Неочекивана одредница алтернативног враћања у позиву потпрограма код %L" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, gcc-internal-format + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, gcc-internal-format + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, gcc-internal-format, gfc-internal-format + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, gcc-internal-format + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, gcc-internal-format + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, gcc-internal-format + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, fuzzy, gcc-internal-format + #| msgid "Expected a procedure for argument '%s' at %L" + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "Очекивана је процедура за аргумент ‘%s’ код %L" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, fuzzy, gcc-internal-format + #| msgid "Expected a procedure for argument '%s' at %L" + msgid "Expected a procedure for argument %qs at %L" + msgstr "Очекивана је процедура за аргумент ‘%s’ код %L" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' cannot be an assumed-size array at %L" + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "Стварни аргумент за ‘%s’ код %L не може бити низ претпостављене величине" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, gcc-internal-format + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "Стварни аргумент за ‘%s’ код %L мора бити показивач" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, gcc-internal-format + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "Стварни аргумент за ‘%s’ код %L мора бити показивач" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, gcc-internal-format + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, gcc-internal-format + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "Стварни аргумент за ‘%s’ код %L мора бити показивач" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be ALLOCATABLE at %L" + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "Стварни аргумент за ‘%s’ код %L мора бити резервљив" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, gcc-internal-format + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, gcc-internal-format + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, gcc-internal-format + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, gcc-internal-format + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "Недостаје одредница алтернативног враћања у позиву потпрограма код %L" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, fuzzy, gcc-internal-format + #| msgid "Missing actual argument for argument '%s' at %L" + msgid "Missing actual argument for argument %qs at %L" + msgstr "Недостаје стварни аргумент за аргумент ‘%s’ код %L" + +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr "" + +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, fuzzy, gcc-internal-format + #| msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L" + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "Исти стварни аргумент придружен намере-%s аргументу ‘%s’ и намере-%s аргументу ‘%s’ код %L" + +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "Аргумент процедуре код %L је локалан у чистој процедури и има атрибут показивача" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument" + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "Аргумент процедуре код %L је локалан у чистој процедури и прослеђује се аргументу намере-%s" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument" + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "Аргумент процедуре код %L је локалан у чистој процедури и прослеђује се аргументу намере-%s" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, gcc-internal-format + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "Процедура ‘%s’ позвана са имплицитним сучељем код %L" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "Процедура ‘%s’ позвана са имплицитним сучељем код %L" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "Процедура ‘%s’ позвана са имплицитним сучељем код %L" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, gcc-internal-format + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, gcc-internal-format + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, fuzzy, gcc-internal-format + #| msgid "Automatic character length function '%s' at %L must have an explicit interface" + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "Аутоматска функција знаковне дужине ‘%s’ код %L мора имати експлицитно сучеље" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expected a procedure for argument '%s' at %L" + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "Очекивана је процедура за аргумент ‘%s’ код %L" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "Кључна реч ‘%s’ код %L није у процедури" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Symbol '%s' at %L already has an explicit interface" + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "Симбол ‘%s’ код %L већ има експлицитно сучеље" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, gcc-internal-format + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, gcc-internal-format + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Missing arguments to %s intrinsic at %L" + msgid "MOLD argument to NULL required at %L" + msgstr "Недостају аргументи за сопствено %s код %L" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, gcc-internal-format, gfc-internal-format + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "Процедура ‘%s’ позвана са имплицитним сучељем код %L" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "Процедура ‘%s’ позвана са имплицитним сучељем код %L" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "" + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, fuzzy, gcc-internal-format + #| msgid "%q+D aliased to undefined symbol %qs" + msgid "Unable to find symbol %qs" + msgstr "%q+D удволичено са недефинисаним симболом %qs" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, fuzzy, gcc-internal-format + #| msgid "Entity '%s' at %C is already present in the interface" + msgid "Entity %qs at %L is already present in the interface" + msgstr "Ентитет ‘%s’ код %C је већ присутан у сучељу" + +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, gcc-internal-format + msgid "gfc_add_interface(): Bad interface type" + msgstr "" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, fuzzy, gcc-internal-format + #| msgid "Can't convert %s to %s at %L" + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "Не могу да претворим %s у %s код %L" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, gcc-internal-format + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, gcc-internal-format + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, fuzzy, gcc-internal-format + #| msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE" + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "Садржана процедура ‘%s’ код %L у чистој процедури мора такође бити чиста" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, gcc-internal-format + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, gcc-internal-format + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, gcc-internal-format + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, gcc-internal-format + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, gcc-internal-format + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, fuzzy, gcc-internal-format + #| msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE" + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "Садржана процедура ‘%s’ код %L у чистој процедури мора такође бити чиста" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, gcc-internal-format + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, gcc-internal-format + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, gcc-internal-format + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, gcc-internal-format + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, gcc-internal-format + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s tag at %L must be of type %s" + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "Ознака %s код %L мора бити типа %s" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument dim at %L must be of INTEGER type" + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "Аргумент димензије код %L мора целобројни" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument dim at %L must be scalar" + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "Аргумент димензије код %L мора бити скалар" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Character-valued internal function '%s' at %L must not be assumed length" + msgid "DTIO character argument at %L must have assumed length" + msgstr "Унутрашња функција знаковне вредности ‘%s’ код %L не може бити претпостављене дужине" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)" + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "Лажни аргумент ‘%s’ код %L не може бити намере-из" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "DATA statement at %C is not allowed in a PURE procedure" + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "Наредба DATA код %C није дозвољена у чистој процедури" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' in %s at %L is neither function nor subroutine" + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "Процедура ‘%s’ у %s код %L није ни функција ни потпрограм" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, fuzzy, gcc-internal-format + #| msgid "Too many arguments in call to '%s' at %L" + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "Превише аргумената у позиву ‘%s’ код %L" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, fuzzy, gcc-internal-format + #| msgid "Too many arguments in call to '%s' at %L" + msgid "Too many dummy arguments in DTIO procedure %qs at %L" +@@ -76778,7 +76767,7 @@ msgstr "Претварање из %s у %s код %L" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Can't convert %s to %s at %L" + msgid "Cannot convert %s to %s at %L" +@@ -77402,7 +77391,7 @@ msgstr "" + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, fuzzy, gcc-internal-format + #| msgid "NAMELIST object '%s' at %L cannot have ALLOCATABLE components" + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" +@@ -78037,7 +78026,7 @@ msgstr "" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "Крејов показивач код %C мора бити целобројни." + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s at %L must be a scalar" + msgid "QUIET specifier at %L must be a scalar LOGICAL" +@@ -80060,8 +80049,8 @@ msgstr "" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "Одредба IF код %L захтева скаларни логички израз" +@@ -82199,808 +82188,796 @@ msgstr "Унутрашња функција знаковне вредности + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "Унутрашња функција знаковне вредности ‘%s’ код %L не може бити претпостављене дужине" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Procedure %s at %L has entries with mismatched array specifications" + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "Процедура %s код %L има уносе са неусаглашеним одредницама низа" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Procedure %s at %L has entries with mismatched array specifications" + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "Процедура %s код %L има уносе са неусаглашеним одредницама низа" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "Резултат функције %s не може бити низ у функцији %s код %L" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be an array in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "Улазни резултат %s не може бити низ у функцији %s код %L" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "Резултат функције %s не може бити показивач у функцији %s код %L" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "Улазни резултат %s не може бити показивач у функцији %s код %L" + +-#: fortran/resolve.cc:881 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L" +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "Резултат функције %s не може бити показивач у функцији %s код %L" +- +-#: fortran/resolve.cc:885 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L" +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "Улазни резултат %s не може бити показивач у функцији %s код %L" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "Резултат функције %s не може бити типа %s у функцији %s код %L" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "Улазни резултат %s не може бити типа %s у функцији %s код %L" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, fuzzy, gcc-internal-format + #| msgid "ENTRY statement at %C cannot appear within a DO block" + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "Наредба ENTRY код %C не може бити унутар блока DO" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, fuzzy, gcc-internal-format + #| msgid "ENTRY statement at %C cannot appear within a DO block" + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "Наредба ENTRY код %C не може бити унутар блока DO" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "COMMON block /%s/ not found at %C" + msgid "COMMON block at %L" + msgstr "Заједнички блок /%s/ није нађен код %C" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, gcc-internal-format + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, gcc-internal-format + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, gcc-internal-format + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute" + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "Променљива изведеног типа у заједничком код %C нема атрибут SEQUENCE" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute" + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "Променљива изведеног типа у заједничком код %C нема атрибут SEQUENCE" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute" + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "Променљива изведеног типа у заједничком код %C нема атрибут SEQUENCE" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, gcc-internal-format + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, gcc-internal-format + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, fuzzy, gcc-internal-format + #| msgid "COMMON block /%s/ not found at %C" + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "Заједнички блок /%s/ није нађен код %C" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, fuzzy, gcc-internal-format + #| msgid "Object '%s' at %L must have the SAVE attribute %s" + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "Објекат ‘%s’ код %L мора имати атрибут %s за SAVE" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, gcc-internal-format + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a function result" + msgstr "" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)" + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "Ранг елемента у конструктору изведеног типа код %L не одговара оном компоненте (%d/%d)" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, fuzzy, gcc-internal-format + #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s" + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "Елемент у конструктору изведеног типа код %L, за показивачку компоненте ‘%s’, јесте %s а треба да буде %s" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, gcc-internal-format + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, fuzzy, gcc-internal-format + #| msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET" + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "Елемент у конструктору изведеног типа код %L, за показивачку компоненту ‘%s’, треба да је показивач или циљ" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, fuzzy, gcc-internal-format + #| msgid "Too many components in structure constructor at %C" + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "Превише компонената у конструктору структуре код %C" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, fuzzy, gcc-internal-format + #| msgid "Too many components in structure constructor at %C" + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "Превише компонената у конструктору структуре код %C" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, fuzzy, gcc-internal-format + #| msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)" + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "Ранг елемента у конструктору изведеног типа код %L не одговара оном компоненте (%d/%d)" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, fuzzy, gcc-internal-format + #| msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET" + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "Елемент у конструктору изведеног типа код %L, за показивачку компоненту ‘%s’, треба да је показивач или циљ" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, fuzzy, gcc-internal-format + #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s" + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "Елемент у конструктору изведеног типа код %L, за показивачку компоненте ‘%s’, јесте %s а треба да буде %s" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, fuzzy, gcc-internal-format + #| msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L." + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "Горња граница у последњој димензији мора се појавити у упућивачу на низ претпостављене величине ‘%s’ код %L." + +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, fuzzy, gcc-internal-format + #| msgid "Symbol '%s' at %L is ambiguous" + msgid "%qs at %L is ambiguous" + msgstr "Двосмислен симбол ‘%s’ код %L" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, fuzzy, gcc-internal-format + #| msgid "GENERIC non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L" + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "Генеричка несопствена процедура ‘%s’ није дозвољена као стварни аргумент код %L" + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, fuzzy, gcc-internal-format + #| msgid "Alternate return specifier in function '%s' at %L is not allowed" + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "Наводилац алтернативног повратка није дозвољен у функцији ‘%s’ код %L" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic '%s' at %L cannot have an initializer" + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "Сопствено ‘%s’ код %L не може имати успостављач" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic at %L does not exist" + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "Сопствено код %L не постоји" + +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, gcc-internal-format + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "" + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, gcc-internal-format + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "Етикета %d поменута код %L није дефинисана" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, fuzzy, gcc-internal-format + #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L" + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "Унутрашња процедура ‘%s’ код %L није дозвољена као стварни аргумент" + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, fuzzy, gcc-internal-format + #| msgid "Statement function '%s' at %L is not allowed as an actual argument" + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "Наредбена функција ‘%s’ код %L није дозвољена као стварни аргумент" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic '%s' at %L is not allowed as an actual argument" + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "Сопствено ‘%s’ код %L није дозвољено као стварни аргумент" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, fuzzy, gcc-internal-format + #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L" + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "Унутрашња процедура ‘%s’ код %L није дозвољена као стварни аргумент" + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, fuzzy, gcc-internal-format + #| msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L" + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "Елементална несопствена процедура ‘%s’ код %L није дозвољена као стварни аргумент" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, fuzzy, gcc-internal-format + #| msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L" + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "Не могу да нађем одређену сопствену процедуру за упућивач ‘%s’ код %L" + +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, fuzzy, gcc-internal-format + #| msgid "Symbol '%s' at %L is ambiguous" + msgid "Symbol %qs at %L is ambiguous" + msgstr "Двосмислен симбол ‘%s’ код %L" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not of numeric type" + msgstr "Аргумент-по-вредности код %L није бројевног типа" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "Аргумент-по-вредности код %L не може бити низ или одељак низа" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not allowed in this context" + msgstr "Аргумент-по-вредности код %L није дозвољен у овом контексту" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "Није дозвољено прослеђивање унутрашње процедуре по локацији код %L" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, fuzzy, gcc-internal-format + #| msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L" + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "Елементална несопствена процедура ‘%s’ код %L није дозвољена као стварни аргумент" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optionalargument with the same rank (12.4.1.5)" + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "‘%s’ код %L је низ и опцион; ако недостаје, не може бити стварни аргумент елементалне процедуре, осим ако постоји не-опциони аргумент истог ранга (12.4.1.5)" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, gcc-internal-format + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, fuzzy, gcc-internal-format + #| msgid "coverage mismatch for function %qs while reading counter %qs" + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "неслагање покривача за функцију %qs у току читања бројача %qs" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, fuzzy, gcc-internal-format + #| msgid "Type/rank mismatch in argument '%s' at %L" + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "Неслагање типа/ранга у аргументу ‘%s’ код %L" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, fuzzy, gcc-internal-format + #| msgid "There is no specific function for the generic '%s' at %L" + msgid "There is no specific function for the generic %qs at %L" + msgstr "Нема одређене функције за генеричко ‘%s’ код %L" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, fuzzy, gcc-internal-format + #| msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface" + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "Генеричка функција ‘%s’ код %L није у складу са одређеним сопственим сучељем" + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic" + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "Функција ‘%s’ код %L је сопствена али није сагласна са сопственом" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, fuzzy, gcc-internal-format + #| msgid "Unable to resolve the specific function '%s' at %L" + msgid "Unable to resolve the specific function %qs at %L" + msgstr "Не могу да разрешим одређену функцију ‘%s’ код %L" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L has no IMPLICIT type" + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "Функција ‘%s’ код %L нема имплицитан тип" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L has no IMPLICIT type" + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "Функција ‘%s’ код %L нема имплицитан тип" + +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, fuzzy, gcc-internal-format + #| msgid "reference to non-PURE function '%s' at %L inside a FORALL %s" + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "упућивач на не-чисту функцију ‘%s’ код %L унутар FORALL %s" + +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, fuzzy, gcc-internal-format + #| msgid "reference to non-PURE function '%s' at %L inside a FORALL %s" + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "упућивач на не-чисту функцију ‘%s’ код %L унутар FORALL %s" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, fuzzy, gcc-internal-format + #| msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure" + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "Не могу да пишем у унутрашњу датотеку ‘%s’ код %C унутар чисте процедуре" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected junk after ELSE statement at %C" + msgid "Unexpected junk after %qs at %L" + msgstr "Неочекивано смеће после наредбе ELSE код %C" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L is not a function" + msgid "%qs at %L is not a function" + msgstr "‘%s’ код %L није функција" + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "Функција ‘%s’ декларисана је као CHARACTER(*) и не може бити употребљена код %L пошто није лажни аргумент" + +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, gcc-internal-format + msgid "resolve_function(): bad function type" + msgstr "" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, fuzzy, gcc-internal-format + #| msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct" + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "Кориснички дефинисана неелементална функција ‘%s’ код %L није дозвољена у конструкцији WORKSHARE" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, fuzzy, gcc-internal-format + #| msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE" + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "Потпрограм ‘%s’ код %L не може позивати самог себе, пошто није рекурзиван" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE" + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "Функција ‘%s’ код %L не може позивати саму себе, пошто није рекурзивна" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, fuzzy, gcc-internal-format + #| msgid "Statement function at %L is recursive" + msgid "Using function %qs at %L is deprecated" + msgstr "Наредбена функција код %L је рекурзивна" + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine call to '%s' in FORALL block at %L is not PURE" + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "Позив потпрограма за ‘%s’ у блоку FORALL код %L није чист" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine call to '%s' in FORALL block at %L is not PURE" + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "Позив потпрограма за ‘%s’ у блоку FORALL код %L није чист" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine call to '%s' at %L is not PURE" + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "Позив потпрограма за ‘%s’ код %L није чист" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, fuzzy, gcc-internal-format + #| msgid "There is no specific subroutine for the generic '%s' at %L" + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "Нема одређеног потпрограма за генеричко ‘%s’ код %L" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, fuzzy, gcc-internal-format + #| msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface" + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "Генерички потпрограм ‘%s’ код %L није у складу са сучељем сопственог потпрограма" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic" + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "Потпрограм ‘%s’ код %L је сопствени али није сагласан са сопственим" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, fuzzy, gcc-internal-format + #| msgid "Unable to resolve the specific subroutine '%s' at %L" + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "Не могу да разрешим одређени потпрограм ‘%s’ код %L" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L has a type, which is not consistent with the CALL at %L" + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "„%s“ код %L има тип који није у складу са позивом код %L" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, fuzzy, gcc-internal-format + #| msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE" + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "Позив за унос ‘%s’ код %L јесте рекурзиван, али потпрограм ‘%s’ није декларисан као такав" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, fuzzy, gcc-internal-format + #| msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE" + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "Потпрограм ‘%s’ код %L не може позивати самог себе, пошто није рекурзиван" + +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, gcc-internal-format + msgid "resolve_subroutine(): bad function type" + msgstr "" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, gcc-internal-format + msgid "Using subroutine %qs at %L is deprecated" + msgstr "" + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, gcc-internal-format, gfc-internal-format + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "Облици операнада код %L и %L нису усагласиви" + +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued" + msgid "Impure function %qs at %L might not be evaluated" + msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може имати показивачку вредност" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Shape specification at %L cannot be negative" + msgid "Impure function at %L might not be evaluated" + msgstr "Одредница облика код %L не може бити негативна" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, fuzzy, gcc-internal-format + #| msgid "By-value argument at %L cannot be an array or an array section" + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "Аргумент-по-вредности код %L не може бити низ или одељак низа" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, gcc-internal-format, gfc-internal-format + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" + msgstr "" + +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Equality comparison for %s at %L" + msgstr "Неисправна врста за %s код %L" + +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Inequality comparison for %s at %L" + msgstr "Неисправна врста за %s код %L" + +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Упућивач низа код %L је изван граница" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "Упућивач низа код %L је изван граница" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Упућивач низа код %L је изван граница" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "Упућивач низа код %L је изван граница" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "Недозвољен нулти корак код %L" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Упућивач низа код %L је изван граница" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Упућивач низа код %L је изван граница" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Упућивач низа код %L је изван граница" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Упућивач низа код %L је изван граница" + +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, fuzzy, gcc-internal-format + #| msgid "subscript missing in array reference" + msgid "check_dimension(): Bad array reference" + msgstr "недостаје индекс у упућивачу низа" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "Није наведена десна горња граница низа претпостављене величине код %L" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "Неслагање рангова у упућивачу низа код %L (%d/%d)" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Rank mismatch in array reference at %L (%d/%d)" + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "Неслагање рангова у упућивачу низа код %L (%d/%d)" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "index in dimension %d is out of bounds at %L" + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "Индекс у димензији %d је ван граница код %L" + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "Индекс низа код %L мора бити скалар" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array index at %L must be of INTEGER type" + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "Индекс низа код %L мора бити целобројни" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Extension: REAL array index at %L" + msgid "REAL array index at %L" + msgstr "Проширење: реални индекс низа код %L" + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "Аргумент димензије код %L мора бити скалар" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "Аргумент димензије код %L мора целобројни" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid array initializer for non-array type %qs" + msgid "Invalid array reference of a non-array entity at %L" + msgstr "Неисправан успостављач низа за ненизовни тип %qs" + +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "" + +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "Индекс низа код %L је низ ранга %d" + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "Индекс почетка подниске код %L мора бити целобројни" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "Индекс почетка подниске код %L мора бити скалар" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "Индекс краја подниске код %L мора бити целобројни" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "Индекс краја подниске код %L мора бити скалар" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Substring end index at %L must be scalar" + msgid "Substring end index at %L is too large" + msgstr "Индекс краја подниске код %L мора бити скалар" + +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, fuzzy, gcc-internal-format + #| msgid "Bad array reference at %L" + msgid "resolve_ref(): Bad array reference" + msgstr "Лош упућивач низа код %L" + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "Компонента десно од делимичног упућивача са ненултим рангом не сме имати атрибут показивача код %L" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "Компонента десно од делимичног упућивача са ненултим рангом не сме имати атрибут резервљивости код %L" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "Два или више делимична упућивача са ненултим рангом не смеју бити наведени код %L" + +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array at %L must be a dummy argument" + msgid "Assumed-type variable %s at %L may only be used as actual argument" +@@ -83010,12 +82987,12 @@ msgstr "Низ претпостављеног облика код %L мора б + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array at %L must be a dummy argument" + msgid "Assumed-rank variable %s at %L may only be used as actual argument" +@@ -83025,312 +83002,312 @@ msgstr "Низ претпостављеног облика код %L мора б + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s',used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "Променљива ‘%s’, употребљена у одредничком изразу, користи се код %L пре наредбе ENTRY у којој је параметар" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter" + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "Променљива ‘%s’ употребљена је код %L пре наредбе ENTRY у којој је параметар" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "" + +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, fuzzy, gcc-internal-format + #| msgid "instance variable %qs is declared %s" + msgid "Using variable %qs at %L is deprecated" + msgstr "променљива примерка %qs декларисана је %s" + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, fuzzy, gcc-internal-format + #| msgid "The type %s cannot be host associated at %L because it is blocked by an incompatible object of the same name at %L" + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "Тип %s не може бити придружен домаћину код %L зато што га блокира несагласан објекат истог имена код %L" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, gcc-internal-format, gfc-internal-format + msgid "Error in typebound call at %L" + msgstr "" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s tag at %L must be scalar" + msgid "Passed-object at %L must be scalar" + msgstr "Ознака %s код %L мора бити скалар" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, gcc-internal-format + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument '%s' of elemental procedure at %L must be scalar" + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "Аргумент ‘%s’ елементалне процедуре код %L мора бити скалар" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, gcc-internal-format + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, fuzzy, gcc-internal-format + #| msgid "%s at %L must be INTEGER" + msgid "%qs at %L should be a SUBROUTINE" + msgstr "%s код %L мора бити целобројно" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, gcc-internal-format + msgid "%qs at %L should be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, fuzzy, gcc-internal-format + #| msgid "Expected expression type" + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "Очекиван је тип израза" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "%s код %L мора бити скалар" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s at %L must be a scalar" + msgid "%s at %L must be integer" + msgstr "%s код %L мора бити скалар" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "%s код %L мора бити целобројно" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "Израз за корак у петљи DO код %L не може бити нула" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "Индекс-име у FORALL код %L мора бити скларни целобројан" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "Израз за почетак у FORALL код %L мора бити скаларни целобројан" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "Израз за крај у FORALL код %L мора бити скаларни целобројан" + +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "Израз за корак у FORALL код %L мора бити скаларни %s" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "Израз за корак у FORALL код %L не може бити нула" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' cannot appear in the expression at %L" + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "Променљива ‘%s’ се не може јавити у изразу код %L" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER" + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "Израз у наредби ALLOCATE код %L мора бити резервљив или показивач" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "Потребна је одредница низа у наредби ALLOCATE код %L" + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array specification required in ALLOCATE statement at %L" + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "Потребна је одредница низа у наредби ALLOCATE код %L" + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array specification required in ALLOCATE statement at %L" + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "Потребна је одредница низа у наредби ALLOCATE код %L" + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Bad array specification in ALLOCATE statement at %L" + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "Лоша одредница низа у наредби ALLOCATE код %L" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "Лоша одредница низа у наредби ALLOCATE код %L" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, fuzzy, gcc-internal-format + #| msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "‘%s’ не може да се јави у одредници низа код %L у истој наредби резервисања где се и само резервише" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, fuzzy, gcc-internal-format + #| msgid "Bad array specification in ALLOCATE statement at %L" + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "Лоша одредница низа у наредби ALLOCATE код %L" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "ASSIGN код %L захтева скаларну подразумевану целобројну променљиву" + +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "Етикета код %L није у истом блоку као наредба GOTO код %L" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "ASSIGN код %L захтева скаларну подразумевану целобројну променљиву" + +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "" +@@ -83339,298 +83316,298 @@ msgstr "" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "Етикета CASE код %L преклапа етикету CASE код %L" + +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "Израз у наредби CASE код %L мора бити типа %s" + +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expression in CASE statement at %L must be kind %d" + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "Израз у наредби CASE код %L мора бити врста %d" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "Израз у наредби CASE код %L мора бити скалар" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "Изборни израз у рачунском GOTO код %L мора бити скаларни целобројан израз" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "Аргумент наредбе SELECT код %L не може бити %s" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "Аргумент наредбе SELECT код %L мора бити скаларни израз" + +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expression in CASE statement at %L must be of type %s" + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "Израз у наредби CASE код %L мора бити типа %s" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "DEFAULT CASE код %L не може бити праћен другим DEFAULT CASE код %L" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "Логички опсег у наредби CASE код %L није дозвољен" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "constant logical value in CASE statement is repeated at %L" + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "константна логичка вредност у наредби CASE поновљена је код %L" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "Одредница опсега код %L не може никако бити поклопљена" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "Блок логичког SELECT CASE код %L има више од два случаја" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, fuzzy, gcc-internal-format + #| msgid "The name '%s' cannot be used as a defined operator at %C" + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "Име ‘%s’ се не може употребити као дефинисани оператор код %C" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure name" + msgstr "" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Iterator step at %L cannot be zero" + msgid "Selector at %L cannot be NULL()" + msgstr "Корак итератора код %L не може бити нула" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Function '%s' at %L has no IMPLICIT type" + msgid "Selector at %L has no type" + msgstr "Функција ‘%s’ код %L нема имплицитан тип" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Syntax error in EQUIVALENCE statement at %L" + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "Синтаксна грешка у наредби EQUIVALENCE код %L" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L must not be coindexed" + msgstr "" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "CASE label at %L overlaps with CASE label at %L" + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "Етикета CASE код %L преклапа етикету CASE код %L" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, fuzzy, gcc-internal-format + #| msgid "Derived type '%s' at %C is being used before it is defined" + msgid "Derived type %qs at %L must be extensible" + msgstr "Изведени тип ‘%s’ код %C користи се пре него што је дефинисан" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, fuzzy, gcc-internal-format + #| msgid "Derived type name '%s' at %C already has a basic type of %s" + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "Име изведеног типа ‘%s’ код %C већ има основни тип %s" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected %s statement at %C" + msgid "Unexpected intrinsic type %qs at %L" + msgstr "Неочекивана наредба %s код %C" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, gcc-internal-format, gfc-internal-format + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "Неисправна врста за %s код %L" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument '%s' of elemental procedure at %L must be scalar" + msgid "DTIO %s procedure at %L must be recursive" + msgstr "Аргумент ‘%s’ елементалне процедуре код %L мора бити скалар" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Data transfer element at %L cannot have POINTER components" + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "Елемент преноса података код %L не може имати показивачке компоненте" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Data transfer element at %L cannot have POINTER components" + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "Елемент преноса података код %L не може имати показивачке компоненте" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Data transfer element at %L cannot have ALLOCATABLE components" + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "Елемент преноса података код %L не може имати резервљиве компоненте" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "Елемент преноса података код %L не може имати приватне компоненте" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Data transfer element at %L cannot have PRIVATE components" + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "Елемент преноса података код %L не може имати приватне компоненте" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "Елемент преноса података код %L не може бити пун упућивач на низ претпостављене величине" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FORALL index-name at %L must be a scalar INTEGER" + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "Индекс-име у FORALL код %L мора бити скларни целобројан" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "By-value argument at %L cannot be an array or an array section" + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "Аргумент-по-вредности код %L не може бити низ или одељак низа" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "By-value argument at %L cannot be an array or an array section" + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "Аргумент-по-вредности код %L не може бити низ или одељак низа" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "ASSIGN код %L захтева скаларну подразумевану целобројну променљиву" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "ASSIGN код %L захтева скаларну подразумевану целобројну променљиву" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument dim at %L must be scalar" + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "Аргумент димензије код %L мора бити скалар" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "NUM_THREADS clause at %L requires a scalar INTEGER expression" + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "Одредба NUM_THREADS код %L захтева скаларни целобројни израз" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument of SELECT statement at %L must be a scalar expression" + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "Аргумент наредбе SELECT код %L мора бити скаларни израз" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument of ACOS at %L must be between -1 and 1" + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "Аргумент у ACOS код %L мора бити између -1 и 1" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, gcc-internal-format, gfc-internal-format + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "Наредба код %L није исправна наредба циља гранања за наредбу гранања код %L" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Branch at %L causes an infinite loop" + msgid "Branch at %L may result in an infinite loop" +@@ -83638,12 +83615,12 @@ msgstr "Гранање код %L води у бесконачну петљу" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "" +@@ -83651,224 +83628,224 @@ msgstr "" + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "Етикета код %L није у истом блоку као наредба GOTO код %L" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "Маска у WHERE код %L има неусаглашен облик" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "Циљ доделе у WHERE код %L има неусаглашен облик" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "Неподржана наредба унутар WHERE код %L" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "Додела у индексну променљиву за FORALL код %L" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, fuzzy, gcc-internal-format + #| msgid "The FORALL with index '%s' cause more than one assignment to this object at %L" + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "FORALL са индексом ‘%s’ изазива више од једне доделе овом објекту код %L" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL construct at %L" + msgstr "" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FORALL index-name at %L must be a scalar INTEGER" + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "Индекс-име у FORALL код %L мора бити скларни целобројан" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "Спољашња конструкција FORALL већ има индекс са овим именом %L" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "Одредба WHERE/ELSEWHERE код %L захтева логички низ" + +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "CHARACTER expression at %L is being truncated (%d/%d)" + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "Знаковни израз код %L бива подсечен (%d/%d)" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Right side of assignment at %L is a derived type containing a POINTER in a PURE procedure" + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "Десна страна доделе код %L је изведени тип који садржи показивач у чистој процедури" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "" + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assignment to a FORALL index variable at %L" + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "Додела у индексну променљиву за FORALL код %L" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assignment to a FORALL index variable at %L" + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "Додела у индексну променљиву за FORALL код %L" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, gcc-internal-format + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "" + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Different types in pointer assignment at %L" + msgid "Pointer procedure assignment at %L" + msgstr "Различити типови у додели показивача код %L" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, gcc-internal-format, gfc-internal-format + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "" + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, fuzzy, gcc-internal-format + #| msgid "Argument of SELECT statement at %L must be a scalar expression" + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "Аргумент наредбе SELECT код %L мора бити скаларни израз" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FORALL start expression at %L must be a scalar INTEGER" + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "Израз за почетак у FORALL код %L мора бити скаларни целобројан" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable" + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "Наредба ASSIGNED GOTO код %L захтева целобројну променљиву" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' has not been assigned a target label at %L" + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "Променљивој ‘%s’ није додељена циљна етикета код %L" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "Алтернативна наредба повратка код %L захтева скаларни целобројни наводилац повратка" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expected initialization expression in CASE at %C" + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "Очекиван је успостављачки израз у CASE код %C" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "ASSIGN код %L захтева скаларну подразумевану целобројну променљиву" + +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Invalid NULL at %L" + msgstr "Неисправна врста за %s код %L" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Arithmetic IF statement at %L requires a numeric expression" + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "Аритметичко IF код %L захтева бројевни израз" + +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "Излазни услов из петље DO WHILE код %L мора бити скаларни логички израз" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FORALL mask clause at %L requires a LOGICAL expression" + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "Одредба маске у FORALL код %L захтева логички израз" + +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, fuzzy, gcc-internal-format + #| msgid "gfc_trans_code(): Bad statement code" + msgid "gfc_resolve_code(): Bad statement code" + msgstr "gfc_trans_code(): лош кôд наредбе" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, fuzzy, gcc-internal-format + #| msgid "Unused parameter %s declared at %L" + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "Неупотребљен параметар %s декларисан код %L" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, gcc-internal-format + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, gcc-internal-format + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" + msgstr "" +@@ -83876,1091 +83853,1091 @@ msgstr "" + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, gcc-internal-format + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "size of array %qs is too large" + msgid "String length at %L is too large" + msgstr "величина низа %qs је превелика" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, fuzzy, gcc-internal-format + #| msgid "Allocatable array '%s' at %L must have a deferred shape" + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "Резервљиви низ ‘%s’ код %L мора имати одложени облик" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, fuzzy, gcc-internal-format + #| msgid "Scalar object '%s' at %L may not be ALLOCATABLE" + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "Скаларни објекат ‘%s’ код %L не може бити резервљив" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, fuzzy, gcc-internal-format + #| msgid "Array pointer '%s' at %L must have a deferred shape" + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "Низовни показивач ‘%s’ код %L мора имати одложен облик" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, fuzzy, gcc-internal-format + #| msgid "Array '%s' at %L cannot have a deferred shape" + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "Низ ‘%s’ код %L не може имати одложен облик" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, fuzzy, gcc-internal-format + #| msgid "The type %s cannot be host associated at %L because it is blocked by an incompatible object of the same name at %L" + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "Тип %s не може бити придружен домаћину код %L зато што га блокира несагласан објекат истог имена код %L" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, gcc-internal-format + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, gcc-internal-format + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" + msgstr "" + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, fuzzy, gcc-internal-format + #| msgid "The module or main program array '%s' at %L must have constant shape" + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "Низ модула или главног програма ‘%s’ код %L мора имати константан облик" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "Ентитет са претпостављеном знаковном дужином код %L мора бити лажни аргумент или параметар" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L must have constant character length in this context" + msgid "%qs at %L must have constant character length in this context" + msgstr "‘%s’ код %L мора имати константну знаковну дужину у овом контексту" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L must have constant character length in this context" + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "‘%s’ код %L мора имати константну знаковну дужину у овом контексту" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, fuzzy, gcc-internal-format + #| msgid "Allocatable '%s' at %L cannot have an initializer" + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "Резервљиво ‘%s’ код %L не може имати успостављач" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, fuzzy, gcc-internal-format + #| msgid "External '%s' at %L cannot have an initializer" + msgid "External %qs at %L cannot have an initializer" + msgstr "Спољашње ‘%s’ код %L не може имати успостављач" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, fuzzy, gcc-internal-format + #| msgid "Dummy '%s' at %L cannot have an initializer" + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "Лажно ‘%s’ код %L не може имати успостављач" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic '%s' at %L cannot have an initializer" + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "Сопствено ‘%s’ код %L не може имати успостављач" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, fuzzy, gcc-internal-format + #| msgid "Function result '%s' at %L cannot have an initializer" + msgid "Function result %qs at %L cannot have an initializer" + msgstr "Резултат функцији ‘%s’ код %L не може имати успостављач" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, fuzzy, gcc-internal-format + #| msgid "Automatic array '%s' at %L cannot have an initializer" + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "Аутоматски низ ‘%s’ код %L не може имати успостављач" + +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "in %s, at %s:%d" + msgid "%s at %L" + msgstr "у %s, код %s:%d" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, fuzzy, gcc-internal-format + #| msgid "Character-valued statement function '%s' at %L must have constant length" + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "Наредбена функција знаковне вредности ‘%s’ код %L мора имати константну дужину" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, fuzzy, gcc-internal-format + #| msgid "'%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L" + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "‘%s’ је приватног типа и не може бити лажни аргумент у ‘%s’, који је јаван код %L" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, gcc-internal-format + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, fuzzy, gcc-internal-format + #| msgid "Function result '%s' at %L cannot have an initializer" + msgid "Function %qs at %L cannot have an initializer" + msgstr "Резултат функцији ‘%s’ код %L не може имати успостављач" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, fuzzy, gcc-internal-format + #| msgid "External object '%s' at %L may not have an initializer" + msgid "External object %qs at %L may not have an initializer" + msgstr "Спољашњи објекат ‘%s’ код %L не може имати успостављач" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, fuzzy, gcc-internal-format + #| msgid "ELEMENTAL function '%s' at %L must have a scalar result" + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "Елементална функција ‘%s’ код %L мора имати скаларни резултат" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, fuzzy, gcc-internal-format + #| msgid "Statement function '%s' at %L is not allowed as an actual argument" + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "Наредбена функција ‘%s’ код %L није дозвољена као стварни аргумент" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be array-valued" + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може имати низовну вредност" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued" + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може имати показивачку вредност" + + # no-c-format +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pure" + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може бити чиста" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be recursive" + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може бити рекурзивна" + + # no-c-format +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pure" + msgid "CHARACTER(*) function %qs at %L" + msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може бити чиста" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, gcc-internal-format + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, fuzzy, gcc-internal-format + #| msgid "Dummy procedure '%s' at %C cannot have a generic interface" + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "Лажна процедура ‘%s’ код %C не може имати генеричко сучеље" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, gcc-internal-format + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "Атрибут процедуре коси се са атрибутом листе имена у ‘%s’ код %L" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "Атрибут процедуре коси се са атрибутом листе имена у ‘%s’ код %L" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "Атрибут процедуре коси се са атрибутом листе имена у ‘%s’ код %L" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, fuzzy, gcc-internal-format + #| msgid "%s attribute conflicts with %s attribute in '%s' at %L" + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "Атрибут %s коси се са атрибутом %s у ‘%s’ код %L" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, fuzzy, gcc-internal-format + #| msgid "Argument of %s at %L must be of length one" + msgid "Interface of %qs at %L must be explicit" + msgstr "Аргумент за %s код %L мора бити дужине један" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, gcc-internal-format + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "User operator procedure '%s' at %L must have at least one argument" + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "Процедура корисничког оператора ‘%s’ код %L мора имати бар један аргумент" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, fuzzy, gcc-internal-format + #| msgid "Argument of ICHAR at %L must be of length one" + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "Аргумент у ICHAR код %L мора бити дужине један" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER" + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити показивач" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE" + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити резервљив" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must not be OPTIONAL" + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L не сме бити опциони" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "First argument of operator interface at %L must be INTENT(IN)" + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "Први аргумент сучеља оператора код %L мора бити намере-у" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "User operator procedure '%s' at %L must have at least one argument" + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "Процедура корисничког оператора ‘%s’ код %L мора имати бар један аргумент" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, fuzzy, gcc-internal-format + #| msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure" + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "Процедура сучеља ‘%s’ код %L има исто име као и обухватајућа процедура" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, gcc-internal-format + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, gcc-internal-format + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, gcc-internal-format + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, gcc-internal-format + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, gcc-internal-format + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, gcc-internal-format + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Iterator step at %L cannot be zero" + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "Корак итератора код %L не може бити нула" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "Процедура ‘%s’ позвана са имплицитним сучељем код %L" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, gcc-internal-format + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, fuzzy, gcc-internal-format + #| msgid "User operator procedure '%s' at %L must have at least one argument" + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "Процедура корисничког оператора ‘%s’ код %L мора имати бар један аргумент" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, gcc-internal-format + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type" + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити неизведени тип" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be a scalar" + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити скалар" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE" + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити резервљив" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER" + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити показивач" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, fuzzy, gcc-internal-format + #| msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure" + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "Процедура сучеља ‘%s’ код %L има исто име као и обухватајућа процедура" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, fuzzy, gcc-internal-format + #| msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure" + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "Процедура сучеља ‘%s’ код %L има исто име као и обухватајућа процедура" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, gcc-internal-format + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, fuzzy, gcc-internal-format + #| msgid "Array pointer '%s' at %L must have a deferred shape" + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "Низовни показивач ‘%s’ код %L мора имати одложен облик" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, gcc-internal-format + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, gcc-internal-format + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, gcc-internal-format + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, fuzzy, gcc-internal-format + #| msgid "Argument of ICHAR at %L must be of length one" + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "Аргумент у ICHAR код %L мора бити дужине један" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, fuzzy, gcc-internal-format + #| msgid "User operator procedure '%s' at %L must have at least one argument" + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "Процедура корисничког оператора ‘%s’ код %L мора имати бар један аргумент" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type" + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити неизведени тип" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, fuzzy, gcc-internal-format + #| msgid "Argument dim at %L must be scalar" + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "Аргумент димензије код %L мора бити скалар" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, fuzzy, gcc-internal-format + #| msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute" + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "Аргумент ‘%s’ елементалне процедуре код %L не може имати атрибут показивача" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE" + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити резервљив" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, fuzzy, gcc-internal-format + #| msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure" + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "Процедура сучеља ‘%s’ код %L има исто име као и обухватајућа процедура" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, fuzzy, gcc-internal-format + #| msgid "Character length of component '%s' needs to be a constant specification expression at %L." + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "Знаковна дужина компоненте ‘%s’ мора бити константан одреднички израз код %L." + +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, fuzzy, gcc-internal-format + #| msgid "Expression at %L must be of INTEGER type" + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "Израз код %L мора бити целобројног типа" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, gcc-internal-format + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, fuzzy, gcc-internal-format + #| msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L" + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "Компонента ‘%s’ је приватни тип и не може бити компонента у ‘%s’, која је јавна код %L" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, gcc-internal-format, gfc-internal-format + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "Компонента %s типа SEQUENCE декларисаног код %L нема атрибут SEQUENCE" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, gcc-internal-format, gfc-internal-format + msgid "Conflicting initializers in union at %L and %L" + msgstr "" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, gcc-internal-format + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, gcc-internal-format + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, gcc-internal-format + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, fuzzy, gcc-internal-format + #| msgid "%qD has not been declared" + msgid "Derived type %qs at %L has not been declared" + msgstr "%qD није декларисано" + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, fuzzy, gcc-internal-format + #| msgid "Assumed size array '%s' in namelist '%s'at %C is not allowed." + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "Низ претпостављене величине ‘%s’ у листи имена ‘%s’ код %C није дозвољен." + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, gcc-internal-format + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, gcc-internal-format + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, gcc-internal-format + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, fuzzy, gcc-internal-format + #| msgid "PRIVATE symbol '%s' cannot be member of PUBLIC namelist at %L" + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "Приватни симбол ‘%s’ не може бити члан јавне листе имена код %L" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, gcc-internal-format + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, fuzzy, gcc-internal-format + #| msgid "PRIVATE symbol '%s' cannot be member of PUBLIC namelist at %L" + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "Приватни симбол ‘%s’ не може бити члан јавне листе имена код %L" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "Атрибут процедуре коси се са атрибутом листе имена у ‘%s’ код %L" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, fuzzy, gcc-internal-format + #| msgid "Parameter array '%s' at %L cannot be automatic or assumed shape" + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "Параметарски низ ‘%s’ код %L не може бити аутоматског или претпостављеног облика" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, fuzzy, gcc-internal-format + #| msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type" + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "Имплицитно типски параметар ‘%s’ код %L не одговара каснијем имплицитном типу" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "Несагласан изведени тип у параметру код %L" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, fuzzy, gcc-internal-format + #| msgid "Object '%s' at %L must have the SAVE attribute %s" + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "Објекат ‘%s’ код %L мора имати атрибут %s за SAVE" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, gcc-internal-format + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "Атрибут процедуре коси се са атрибутом листе имена у ‘%s’ код %L" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "Атрибут процедуре коси се са атрибутом листе имена у ‘%s’ код %L" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, gcc-internal-format + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Bad specification for assumed size array at %C" + msgid "Bad specification for assumed size array at %L" + msgstr "Лоша одредница за низ претпостављене величине код %C" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "Низ претпостављене величине код %L мора бити лажни аргумент" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "Низ претпостављеног облика код %L мора бити лажни аргумент" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array at %L must be a dummy argument" + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "Низ претпостављеног облика код %L мора бити лажни аргумент" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "Симбол код %L није лажна променљива" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, gcc-internal-format + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, fuzzy, gcc-internal-format + #| msgid "Character-valued statement function '%s' at %L must have constant length" + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "Наредбена функција знаковне вредности ‘%s’ код %L мора имати константну дужину" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, gcc-internal-format + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, fuzzy, gcc-internal-format + #| msgid "The derived type '%s' at %L is of type '%s', which has not been defined." + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "Изведени тип ‘%s’ код %L је типа ‘%s’, који није дефинисан." + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute" + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "Променљива изведеног типа у заједничком код %C нема атрибут SEQUENCE" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, gcc-internal-format + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, fuzzy, gcc-internal-format + #| msgid "Argument of %s at %L must be of length one" + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "Аргумент за %s код %L мора бити дужине један" + +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, fuzzy, gcc-internal-format + #| msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'" + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "Јавна функција ‘%s’ код %L не може бити приватног типа ‘%s’" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, fuzzy, gcc-internal-format + #| msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer" + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "Лажни аргумент намере-из ‘%s’ код %L је претпостављене величине и зато не може имати подразумевани успостављач" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)" + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "Лажни аргумент ‘%s’ код %L не може бити намере-из" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)" + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "Лажни аргумент ‘%s’ код %L не може бити намере-из" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, fuzzy, gcc-internal-format + #| msgid "By-value argument at %L cannot be an array or an array section" + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "Аргумент-по-вредности код %L не може бити низ или одељак низа" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, gcc-internal-format + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, gcc-internal-format + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, gcc-internal-format + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, fuzzy, gcc-internal-format + #| msgid "Array '%s' at %L cannot have a deferred shape" + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "Низ ‘%s’ код %L не може имати одложен облик" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, fuzzy, gcc-internal-format + #| msgid "Allocatable array '%s' at %L must have a deferred shape" + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "Резервљиви низ ‘%s’ код %L мора имати одложени облик" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, gcc-internal-format + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, fuzzy, gcc-internal-format + #| msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure" + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "Лажна процедура код %L није дозвољена у елементалној процедури" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, gcc-internal-format + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, gcc-internal-format + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, fuzzy, gcc-internal-format + #| msgid "Namelist %s cannot be renamed by USE association to %s." + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "Листа имена %s не може се преименовати у %s придружењем USE." + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "Нитно-приватно код %L не снима се" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expecting %s statement at %C" + msgid "Expecting definable entity near %L" + msgstr "Очекивана је наредба %s код %C" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, fuzzy, gcc-internal-format + #| msgid "BLOCK DATA element '%s' at %L must be in COMMON" + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "BLOCK DATA елемент ‘%s’ код %L мора бити у заједничком" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, gcc-internal-format + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, fuzzy, gcc-internal-format + #| msgid "Dummy '%s' at %L cannot have an initializer" + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "Лажно ‘%s’ код %L не може имати успостављач" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, fuzzy, gcc-internal-format + #| msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute" + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "Аргумент ‘%s’ елементалне процедуре код %L не може имати атрибут показивача" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "Неконстантан одељак низа код %L у наредби DATA" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "Наредба DATA код %L има више променљивих него вредности" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Step expression in DO loop at %L cannot be zero" + msgid "step of implied-do loop at %L shall not be zero" + msgstr "Израз за корак у петљи DO код %L не може бити нула" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "Наредба DATA код %L има више вредности него променљивих" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but not used" + msgstr "Ознака %d код %L дефинисана али неупотребљена" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but cannot be used" + msgstr "Ознака %d код %L дефинисана али не може бити употребљена" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "Променљива изведеног типа ‘%s’ код %L мора имати атрибут SEQUENCE да би била објекат еквиваленције" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "Променљива изведеног типа ‘%s’ код %L не може имати резервљиве компоненте како би била објекат еквиваленције" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' at %L with default initializer cannot be an EQUIVALENCE object" + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "Променљива изведеног типа ‘%s’ код %L са подразумеваним успостављачем не може бити објекат еквиваленције" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "Променљива изведеног типа ‘%s’ код %L са показивачким компонентама не може бити објекат еквиваленције" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "Синтаксна грешка у наредби EQUIVALENCE код %L" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, fuzzy, gcc-internal-format + #| msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'" + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "Члан заједничког блока ‘%s’ код %L не може бити објекат еквиваленције у чистој процедури ‘%s’" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, fuzzy, gcc-internal-format + #| msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object" + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "Именована константа ‘%s’ код %L не може бити објекат еквиваленције" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, fuzzy, gcc-internal-format + #| msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "Низ ‘%s’ код %L са неконстантним границама не може бити објекат еквиваленције" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, fuzzy, gcc-internal-format + #| msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object" + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "Компонената структуре ‘%s’ код %L не може бити објекат еквиваленције" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "Подниска код %L има нулту дужину" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, fuzzy, gcc-internal-format + #| msgid "Different character lengths in pointer assignment at %L" + msgid "Self reference in character length expression for %qs at %L" + msgstr "Различите знаковне дужине у додели показивача код %L" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, fuzzy, gcc-internal-format + #| msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'" + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "Јавна функција ‘%s’ код %L не може бити приватног типа ‘%s’" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, fuzzy, gcc-internal-format + #| msgid "ENTRY '%s' at %L has no IMPLICIT type" + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "Унос ‘%s’ код %L нема имплицитан тип" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, fuzzy, gcc-internal-format + #| msgid "User operator procedure '%s' at %L must be a FUNCTION" + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "Процедура корисничког оператора ‘%s’ код %L мора бити функција" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, fuzzy, gcc-internal-format + #| msgid "User operator procedure '%s' at %L cannot be assumed character length" + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "Процедура корисничког оператора ‘%s’ код %L не може бити претпостављене знаковне дужине" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, fuzzy, gcc-internal-format + #| msgid "User operator procedure '%s' at %L must have at least one argument" + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "Процедура корисничког оператора ‘%s’ код %L мора имати бар један аргумент" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "Први аргумент сучеља оператора код %L не може бити опциони" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "Други аргумент сучеља оператора код %L не може бити опциони" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "Сучеље оператора код %L мора имати, највише, два аргумента" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, fuzzy, gcc-internal-format + #| msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE" + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" +@@ -85930,7 +85907,7 @@ msgstr "" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "" +@@ -85942,12 +85919,12 @@ msgstr "" + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, gcc-internal-format + msgid "Creating array temporary at %L for argument %qs" + msgstr "" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "лош тип израза током хода (%d)" +@@ -86051,99 +86028,93 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "" + + #: fortran/trans-decl.cc:1795 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "ENTRY '%s' at %L has no IMPLICIT type" +-msgid "%s at %C has no default type" +-msgstr "Унос ‘%s’ код %L нема имплицитан тип" +- +-#: fortran/trans-decl.cc:1798 + #, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "сопствена променљива која није процедура" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, fuzzy, gcc-internal-format + #| msgid "Return values of functions in FPU registers" + msgid "Return value of function %qs at %L not set" + msgstr "Враћај вредности функција у регистрима ФПУа" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, fuzzy, gcc-internal-format + #| msgid "Different kind type parameters in pointer assignment at %L" + msgid "Deferred type parameter not yet supported" + msgstr "Различите врсте типова параметара у додели показивача код %L" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, fuzzy, gcc-internal-format + #| msgid "backend decl for module variable %s already exists" + msgid "backend decl for module variable %qs already exists" + msgstr "декларација зачеља за модулску променљиву %s већ постоји" + +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, fuzzy, gcc-internal-format + #| msgid "Unused variable %s declared at %L" + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "Неупотребљена променљива %s декларисана код %L" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)" + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "Лажни аргумент ‘%s’ код %L не може бити намере-из" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, fuzzy, gcc-internal-format + #| msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer" + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "Лажни аргумент намере-из ‘%s’ код %L је претпостављене величине и зато не може имати подразумевани успостављач" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, fuzzy, gcc-internal-format + #| msgid "Too many arguments to %s at %L" + msgid "Unused dummy argument %qs at %L" + msgstr "Превише аргумената за %s код %L" + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, fuzzy, gcc-internal-format + #| msgid "Unused variable %s declared at %L" + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "Неупотребљена променљива %s декларисана код %L" + +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, fuzzy, gcc-internal-format + #| msgid "Unused variable %s declared at %L" + msgid "Unused variable %qs declared at %L" + msgstr "Неупотребљена променљива %s декларисана код %L" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, fuzzy, gcc-internal-format + #| msgid "Unused parameter %s declared at %L" + msgid "Unused parameter %qs declared at %L" + msgstr "Неупотребљен параметар %s декларисан код %L" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, fuzzy, gcc-internal-format + #| msgid "Unused parameter %s declared at %L" + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "Неупотребљен параметар %s декларисан код %L" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, fuzzy, gcc-internal-format + #| msgid "Return values of functions in FPU registers" + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "Враћај вредности функција у регистрима ФПУа" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "" +@@ -86158,27 +86129,27 @@ msgstr "" + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, gcc-internal-format + msgid "Unknown intrinsic op" + msgstr "Непознат сопствени оператор" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, gcc-internal-format, gfc-internal-format + msgid "Unknown argument list function at %L" + msgstr "Непозната функције листе аргумената код %L" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "" +diff --git a/gcc/po/sv.po b/gcc/po/sv.po +index 028cfec62be..e4fe1b5bbff 100644 +--- a/gcc/po/sv.po ++++ b/gcc/po/sv.po +@@ -27,10 +27,10 @@ + # thunk snutt + msgid "" + msgstr "" +-"Project-Id-Version: gcc 13.1.0\n" ++"Project-Id-Version: gcc 13.1-b20230409\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" +-"PO-Revision-Date: 2023-04-27 10:10+0200\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" ++"PO-Revision-Date: 2023-04-22 18:19+0200\n" + "Last-Translator: Göran Uddeborg \n" + "Language-Team: Swedish \n" + "Language: sv\n" +@@ -4015,7 +4015,7 @@ msgstr "använd ISO-dialekten av Modula-2" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "ange biblioteksordningen, biblioteken kan anges med en kommaseparerad förkortning: log,min,pim,iso eller med katalognamn: m2log,m2min,m2pim,m2iso.\"" + + #: m2/lang.opt:127 +@@ -7659,11 +7659,6 @@ msgstr "Aktivera konservativ utrullning av små slingor." + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "-mlam=[none|u48|u57] Instrumentera metadatapositioner användardatapekare." + +-#: config/i386/i386.opt:1280 +-#, no-c-format +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "Stöd inbyggda AMX-COMPLEX-funktioner och -kodgenerering." +- + #: config/pa/pa64-hpux.opt:23 + #, no-c-format + msgid "Assume code will be linked by GNU ld." +@@ -17192,12 +17187,12 @@ msgstr "'%%l'-operand är inte en etikett" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "flyttalskonstant felanvänd" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +@@ -18276,63 +18271,63 @@ msgstr "Denna flagga saknar dokumentation." + msgid "Uses of this option are diagnosed." + msgstr "Användning av denna flagga diagnostiseras." + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "Samma som %s%s (eller, i negerad form, %s%s)." + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, c-format + msgid "Same as %s%s." + msgstr "Samma som %s%s." + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, c-format + msgid "Same as %s." + msgstr "Samma som %s." + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, c-format + msgid "%s Same as %s." + msgstr "%s Samma som %s." + +-#: opts.cc:1733 ++#: opts.cc:1732 + msgid "[available in " + msgstr "[tillgänglig i " + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "[standard]" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, c-format + msgid "%llu bytes" + msgstr "%llu byte" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "[aktiverad]" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "[avslagen]" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr " Det finns inga flaggor med de eftersökta egenskaperna\n" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr " Det fanns inga. Använd --help=%s för att visa *alla* flaggorna som stödjs av framänden %s.\n" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr " Alla flaggor med de eftersökta egenskaperna har redan visats\n" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, c-format + msgid "" + " Known valid arguments for %s option:\n" +@@ -18341,47 +18336,47 @@ msgstr "" + " Kända giltiga argument till flaggan %s:\n" + " " + +-#: opts.cc:1959 ++#: opts.cc:1958 + msgid "The following options are target specific" + msgstr "Följande flaggor är målberoende" + +-#: opts.cc:1962 ++#: opts.cc:1961 + msgid "The following options control compiler warning messages" + msgstr "Följande flaggor styr kompilatorns varningsmeddelanden" + +-#: opts.cc:1965 ++#: opts.cc:1964 + msgid "The following options control optimizations" + msgstr "Följande flaggor styr optimeringar" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + msgid "The following options are language-independent" + msgstr "Följande flaggor är språkoberoende" + +-#: opts.cc:1971 ++#: opts.cc:1970 + msgid "The following options control parameters" + msgstr "Följande flaggor styr parametrar" + +-#: opts.cc:1977 ++#: opts.cc:1976 + msgid "The following options are specific to just the language " + msgstr "Följande flaggor är specifika för just språket " + +-#: opts.cc:1979 ++#: opts.cc:1978 + msgid "The following options are supported by the language " + msgstr "Följande flaggor stödjs av språket " + +-#: opts.cc:1990 ++#: opts.cc:1989 + msgid "The following options are not documented" + msgstr "Följande flaggor är inte dokumenterade" + +-#: opts.cc:1992 ++#: opts.cc:1991 + msgid "The following options take separate arguments" + msgstr "Följande flaggor tar separata argument" + +-#: opts.cc:1994 ++#: opts.cc:1993 + msgid "The following options take joined arguments" + msgstr "Följande flaggor tar sammanslagna argument" + +-#: opts.cc:2006 ++#: opts.cc:2005 + msgid "The following options are language-related" + msgstr "Följande flaggor är språkrelaterade" + +@@ -18765,72 +18760,72 @@ msgstr "längdmodifierare i strfmon-format" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, c-format + msgid "unsupported operand for code '%c'" + msgstr "ej stödd operand för kod ”%c”" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "ogiltig operand för ”%%%c”" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, c-format + msgid "invalid vector constant" + msgstr "ogiltig vektorkonstant" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "inkompatibla flyttals-/vektorregisteroperander för ”%%%c”" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, c-format + msgid "incompatible register operand for '%%%c'" + msgstr "inkompatibla registeroperander för ”%%%c”" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, c-format + msgid "missing operand" + msgstr "operand saknas" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, c-format + msgid "invalid constant" + msgstr "ogiltig konstant" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, c-format + msgid "invalid operand" + msgstr "ogiltig operand" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "ogiltig operandprefix ”%%%c”" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, c-format + msgid "invalid address mode" + msgstr "ogiltigt adressläge" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "det går inte att kombinera GNU- och SVE-vektorer i en binär operation" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "”%%&” använt utan någon lokal dynamisk TLS-referens" +@@ -18847,18 +18842,18 @@ msgid "invalid %%r value" + msgstr "ogiltigt %%r-värde" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "ogiltigt %%R-värde" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "ogiltigt %%N-värde" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" + msgstr "ogiltigt %%P-värde" +@@ -18888,7 +18883,7 @@ msgstr "ogiltigt %%M-värde" + msgid "invalid %%U value" + msgstr "ogiltigt %%U-värde" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" + msgstr "ogiltigt %%s-värde" +@@ -18898,7 +18893,7 @@ msgstr "ogiltigt %%s-värde" + msgid "invalid %%C value" + msgstr "ogiltigt %%C-värde" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" + msgstr "ogiltigt %%E-värde" +@@ -18911,7 +18906,7 @@ msgstr "okänd avspecifikation av omlokalisering" + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" + msgstr "ogiltig %%xn-kod" +@@ -18994,35 +18989,35 @@ msgstr "ogiltig UNSPEC som operand: %d" + msgid "unrecognized supposed constant" + msgstr "okänd förmodad konstant" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, c-format + msgid "invalid shift operand" + msgstr "ogiltig skiftoperand" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, c-format + msgid "predicated Thumb instruction" + msgstr "förutsade Thumb-instruktion" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "förutsade instruktion i villkorlig sekvens" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Ej stödd operand för kod ”%c”" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -19031,26 +19026,26 @@ msgstr "Ej stödd operand för kod ”%c”" + msgid "invalid operand for code '%c'" + msgstr "ogiltig operand för kod ”%c”" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, c-format + msgid "instruction never executed" + msgstr "instruktionen aldrig utförd" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "föråldrad Maverick-formatkod ”%c”" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + msgid "invalid conversion from type %" + msgstr "ogiltig konvertering från typen %" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + msgid "invalid conversion to type %" + msgstr "ogiltig konvertering till typen %" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "operationen är inte tillåten på typen %" + +@@ -19415,97 +19410,97 @@ msgstr "ogiltig fp-konstant" + msgid "Expected register or constant integer." + msgstr "Register eller konstant heltal förväntades." + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, c-format + msgid "invalid UNSPEC as operand" + msgstr "ogiltig UNSPEC som operand" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, c-format + msgid "invalid use of register '%s'" + msgstr "ogiltig användning av register ”%s”" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, c-format + msgid "invalid use of asm flag output" + msgstr "felaktig användning av asm-flaggutdata" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, c-format + msgid "invalid operand size for operand code 'O'" + msgstr "ogiltig operandstorlek för operandkod ”O”" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, c-format + msgid "invalid operand size for operand code 'z'" + msgstr "ogiltig operandstorlek för operandkod ”z”" + +-#: config/i386/i386.cc:13290 ++#: config/i386/i386.cc:13283 + #, c-format +-msgid "invalid operand type used with operand code '%c'" +-msgstr "ogiltig operandtyp använd med operandkod ”%c”" ++msgid "invalid operand type used with operand code 'Z'" ++msgstr "ogiltig operandtyp vid operandkod ”Z”" + +-#: config/i386/i386.cc:13295 ++#: config/i386/i386.cc:13288 + #, c-format +-msgid "invalid operand size for operand code '%c'" +-msgstr "ogiltig operandstorlek för operandkod ”%c”" ++msgid "invalid operand size for operand code 'Z'" ++msgstr "ogiltig operandstorlek för operandkod ”Z”" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, c-format + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "operanden är inte en villkorskod, ogiltig operandkod ”Y”" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, c-format + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "operand är inte en villkorskod, ogiltig operandkod ”D”" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, c-format + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "operand är inte en villkorskod, ogiltig operandkod ”%c”" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, c-format + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "operand är inte en justerbar minnesreferens, ogiltig operandkod ”H”" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, c-format + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "operanden är inte ett heltal, ogiltig operandkod ”K”" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "operanden är inte ett specifikt heltal, ogiltig operandkod ”r”" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, c-format + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "operanden är inte ett heltal, ogiltig operandkod ”R”" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "operanden är inte ett specifikt heltal, ogiltig operandkod ”R”" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, c-format + msgid "invalid operand code '%c'" + msgstr "ogiltig operandkod ”%c”" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, c-format + msgid "invalid constraints for operand" + msgstr "ogiltig begränsning för operand" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, c-format + msgid "invalid vector immediate" + msgstr "ogiltig vektoromedelbar" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + msgid "unknown insn mode" + msgstr "okänt instruktionsläge" + +@@ -19536,7 +19531,7 @@ msgstr "ogiltig operation på %<__fpreg%>" + msgid "invalid %%P operand" + msgstr "ogiltig %%P-operand" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" + msgstr "ogiltigt %%p-värde" +@@ -19581,8 +19576,8 @@ msgstr "%%%c är inte ett giltigt operandprefix" + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, c-format + msgid "invalid use of '%%%c'" + msgstr "felaktig användning av ”%%%c”" +@@ -19614,7 +19609,7 @@ msgid "post-increment address is not a register" + msgstr "efterinkrementeringsadress är inte ett register" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" + msgstr "felaktig adress" + +@@ -19772,7 +19767,7 @@ msgstr "ej stödd konstant adress:" + msgid "unsupported memory expression:" + msgstr "ej stött minnesuttryck:" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, c-format + msgid "invalid vector operand" + msgstr "ogiltig vektoroperand" +@@ -19824,143 +19819,143 @@ msgstr "%<-mquad-memory%> är inte tillgängligt i läget med omvänd byteordnin + msgid "bad move" + msgstr "felaktig förflyttning" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" + msgstr "Felaktig 128-bitsförflyttning" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, c-format + msgid "invalid %%A value" + msgstr "ogiltigt %%A-värde" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" + msgstr "ogiltigt %%D-värde" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, c-format + msgid "invalid %%e value" + msgstr "ogiltigt %%e-värde" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" + msgstr "ogiltigt %%f-värde" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" + msgstr "ogiltigt %%F-värde" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" + msgstr "ogiltigt %%G-värde" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" + msgstr "ogiltig %%j-kod" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" + msgstr "ogiltig %%J-kod" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" + msgstr "ogiltigt %%k-värde" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "ogiltigt %%K-värde" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" + msgstr "ogiltigt %%O-värde" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" + msgstr "ogiltigt %%q-värde" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, c-format + msgid "invalid %%t value" + msgstr "ogiltigt %%t-värde" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" + msgstr "ogiltigt %%T-värde" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" + msgstr "ogiltigt %%u-värde" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "ogiltig %%v-kod" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, c-format + msgid "invalid %%V value" + msgstr "ogiltigt %%V-värde" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" + msgstr "ogiltigt %%x-värde" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, c-format + msgid "invalid %%z value" + msgstr "ogiltigt %%z-värde" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "ogiltigt %%y-värde, försök använda ”Z”-begränsningen" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "Felaktig blandning av IEEE 128-bitars och IBM 128-bitars flyttalstyper" + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + msgid "AltiVec argument passed to unprototyped function" + msgstr "AltiVec-argument skickat till funktion utan prototyp" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + msgid "Could not generate addis value for fusion" + msgstr "Kunde inte generera addis-värde för sammanslagning" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + msgid "Unable to generate load/store offset for fusion" + msgstr "Kan inte generera ladda/lagra-avstånd för sammanslagning" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" + msgstr "Felaktig GPR-sammanslagning" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "ogiltig konvertering från typen %<__vector_quad%>" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "ogiltig konvertering till typen %<__vector_quad%>" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "ogiltig konvertering från typen %<__vector_pair%>" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + msgid "invalid conversion to type %<__vector_pair%>" + msgstr "ogiltig konvertering till typen %<__vector_pair%>" + +@@ -20417,7 +20412,7 @@ msgstr "kandidat:" + msgid " after user-defined conversion:" + msgstr " efter användardefinierad konvertering:" + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + msgid "candidate is:" + msgid_plural "candidates are:" + msgstr[0] "kandidat är:" +@@ -20881,7 +20876,7 @@ msgstr "Vektorbindning stämmer inte för dimension 2 av vektorn (%ld/%ld)" + msgid "Driving:" + msgstr "Driver:" + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + msgid "actual argument to INTENT = OUT/INOUT" + msgstr "aktuellt argument till INTENT = OUT/INOUT" + +@@ -21039,11 +21034,11 @@ msgstr "block-IF" + msgid "implied END DO" + msgstr "implicerat END DO" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + msgid "assignment" + msgstr "tilldelning" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + msgid "pointer assignment" + msgstr "pekartilldelning" + +@@ -21051,199 +21046,199 @@ msgstr "pekartilldelning" + msgid "simple IF" + msgstr "enkelt IF" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + msgid "elemental procedure" + msgstr "elementär procedur" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + msgid "allocatable argument" + msgstr "allokerbart argument" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + msgid "asynchronous argument" + msgstr "asynkront argument" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + msgid "optional argument" + msgstr "valfritt argument" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + msgid "pointer argument" + msgstr "pekarargument" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + msgid "target argument" + msgstr "målargument" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + msgid "value argument" + msgstr "värdeargument" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + msgid "volatile argument" + msgstr "volatilt argument" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + msgid "assumed-shape argument" + msgstr "argument med antagen form" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + msgid "assumed-rank argument" + msgstr "argument med antagen ordning" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + msgid "coarray argument" + msgstr "co-vektorargument" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + msgid "parametrized derived type argument" + msgstr "parametriserat härlett typargument" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + msgid "polymorphic argument" + msgstr "polymorft argument" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + msgid "NO_ARG_CHECK attribute" + msgstr "attributet NO_ARG_CHECK" + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + msgid "assumed-type argument" + msgstr "argument med antagen typ" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + msgid "array result" + msgstr "vektorresultat" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + msgid "pointer or allocatable result" + msgstr "pekare eller allokerbart resultat" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + msgid "result with non-constant character length" + msgstr "resultat med teckenlängd som inte är konstant" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + msgid "bind(c) procedure" + msgstr "bind(c)-procedur" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, c-format + msgid "Invalid context for NULL() pointer at %%L" + msgstr "Ogiltigt sammanhang för NULL()-pekare vid %%L" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, c-format + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "Operand till unär numerisk operator %%<%s%%> vid %%L är %s" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "Oväntade entiteter av härledd typ i binär inbyggd numerisk operator %%<%s%%> vid %%L" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, c-format + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "Operander till binär numerisk operator %%<%s%%> vid %%L är %s/%s" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "Operanderna till strängkonkateneringsoperatorn vid %%L är %s/%s" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, c-format + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "Operanderna till logiska operatorn %%<%s%%> vid %%L är %s/%s" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "Operand till operatorn .not. vid %%L är %s" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "COMPLEX-kvantiteter kan inte jämföras vid %L" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "Logiska vid %%L måste jämföras med %s istället för %s" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, c-format + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "Operanderna till jämförelseoperatorn %%<%s%%> vid %%L är %s/%s" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "Okänd operator %%<%s%%> vid %%L; menade du %%<%s%%>?" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "Okänd operator %%<%s%%> vid %%L" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, c-format + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "Operanderna till användaroperatorn %%<%s%%> vid %%L är %s" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, c-format + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "Operanderna till användaroperatorn %%<%s%%> vid %%L är %s/%s" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, c-format + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "Inkonsistenta ordningar för operator vid %%L och %%L" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "Slingvariabel" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + msgid "iterator variable" + msgstr "iteratorvariabel" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + msgid "Start expression in DO loop" + msgstr "Startuttryck i DO-slinga" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + msgid "End expression in DO loop" + msgstr "Slututtryck i DO-slinga" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + msgid "Step expression in DO loop" + msgstr "Steguttryck i DO-slinga" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + msgid "DEALLOCATE object" + msgstr "DEALLOCATE-objekt" + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + msgid "ALLOCATE object" + msgstr "ALLOCATE-objekt" + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + msgid "STAT variable" + msgstr "STAT-variabel" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + msgid "ERRMSG variable" + msgstr "ERRMSG-variabel" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + msgid "item in READ" + msgstr "objekt i READ" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + msgid "ACQUIRED_LOCK variable" + msgstr "ACQUIRED_LOCK-variabel" + +@@ -21256,27 +21251,27 @@ msgstr "Olika CHARACTER-längder (%ld/%ld) i vektorkonstruerare" + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "Heltalsspill vid beräkning av mängden minne att allokera" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "Värdet på PDT LEN-parametern ”%s” stämmer inte överens med det i attrappdeklarationen" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, c-format + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "Aktuell stränglängd matchar inte den deklarerade för attrappargument ”%s” (%ld/%ld)" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, c-format + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "Aktuell stränglängd är kortare än den deklarerade för attrappargument ”%s” (%ld/%ld)" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "Målet för återavbildning av ordning är för litet (%ld < %ld)" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + msgid "Assignment of scalar to unallocated array" + msgstr "Tilldelning av skalär till en oallokerad vektor" + +@@ -22144,7 +22139,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "%<-mrelax%> stödjs endast för RTP PIC" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in %s statement at %C" + msgstr "Syntaxfel i %s-sats vid %C" +@@ -22515,7 +22510,7 @@ msgstr "ignorerar attributet %qE eftersom det står i konflikt med attributet %q + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, gcc-internal-format + msgid "previous declaration here" +@@ -22612,10 +22607,10 @@ msgstr "typattribut ignoreras efter att typen redan är definierad" + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -22750,7 +22745,7 @@ msgstr "det går inte att läsa profilen från %s" + msgid "offset %qwi outside bounds of constant string" + msgstr "index %qwi till en konstant sträng pekar utanför dess gränser" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, gcc-internal-format + msgid "%qE declared here" + msgstr "%qE är deklarerad här" +@@ -24582,7 +24577,7 @@ msgstr "stor fixdecimalskonstant implicit trunkerad till fixdecimaltyp" + msgid "comparison is always %d due to width of bit-field" + msgstr "jämförelsen är alltid %d på grund av bredd på bitfält" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "antar att teckenspill inte förekommer vid förenkling av intervalltest" +@@ -25351,7 +25346,7 @@ msgstr "funktionen returnerar adress till en lokal variabel" + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -26469,14 +26464,14 @@ msgstr "hängande pekare till %qD kan användas" + msgid "using a dangling pointer to %qD" + msgstr "använder en hängande pekare till %qD" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, gcc-internal-format + msgid "%qD declared here" + msgstr "%qD är deklarerad här" +@@ -26521,7 +26516,7 @@ msgstr "%qD anropad på en pekare skickad till en omallokeringsfunktion som inte + msgid "call to %qD" + msgstr "anrop till %qD" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, gcc-internal-format + msgid "storing the address of local variable %qD in %qE" + msgstr "lagrar adressen till den lokala variabeln %qD i %qE" +@@ -27587,7 +27582,7 @@ msgstr "ipa-inline-sammanfattning saknas i indatafil" + msgid "IPA modref summary is missing in input file" + msgstr "IPA modref-sammanfattning saknas i indatafilen" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, gcc-internal-format + msgid "invalid jump function in LTO stream" + msgstr "ogiltig hoppfunktion i LTO-ström" +@@ -28545,7 +28540,7 @@ msgstr "fel när optimeringsposter %qs stängdes" + msgid "command-line option %qs is not supported by this configuration" + msgstr "kommandoradsflaggan %qs stödjs inte av denna konfiguration" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, gcc-internal-format + msgid "missing argument to %qs" + msgstr "argument saknas till %qs" +@@ -28585,12 +28580,12 @@ msgstr "%qs är ömsesidigt uteslutande med %qs och kan inte användas tillsamma + msgid "unrecognized argument in option %qs" + msgstr "okänt argument till flaggan %qs" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "giltiga argument till %qs är: %s; menade du %qs?" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s" + msgstr "giltiga argument till %qs är: %s" +@@ -28745,7 +28740,7 @@ msgstr "%<-fsanitize=pointer-subtract%> måste kombineras med %<-fsanitize=addre + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "%<-fsanitize-recover=%s%> stödjs inte" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, gcc-internal-format + msgid "%<-fsanitize-trap=%s%> is not supported" + msgstr "%<-fsanitize-trap=%s%> stödjs inte" +@@ -28785,182 +28780,182 @@ msgstr "variabelspårning begärd, men oanvändbar om den inte felsökningsinfor + msgid "variable tracking requested, but not supported by this debug format" + msgstr "variabel spårning begärd, men stödjs inte av detta felsökningsformat" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "var-tracking-assignments ändrar selektiv schemaläggning" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "%<-Wstrict-flex-arrays%> ignoreras när %<-fstrict-flex-arrays%> inte är aktivt" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "%<-freorder-blocks-and-partition%> fungerar inte med undantag på denna arkitektur" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "%<-freorder-blocks-and-partition%> stödjer inte upprullningsinformation på denna arkitektur" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, gcc-internal-format + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "%<-freorder-blocks-and-partition%> fungerar inte på denna arkitektur" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, gcc-internal-format + msgid "unrecognized % passed to %" + msgstr "okänd % skickade till %" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "flaggan %<-fsanitize=all%> är inte giltig" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "okänt argument till flaggan %<-f%ssanitize%s=%>: %q.*s; menade du %qs?" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, gcc-internal-format + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "okänt argument till flaggan %<-f%ssanitize%s=%>: %q.*s" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, gcc-internal-format + msgid "%qs attribute directive ignored" + msgstr "attributdirektivet %qs ignorerat" + +-#: opts.cc:2347 ++#: opts.cc:2346 + #, gcc-internal-format + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "okänt argument till %<-fzero-call-used-regs=%>: %qs" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, gcc-internal-format + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "ogiltigt argument till flaggan %<-falign-%s%>: %qs" + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, gcc-internal-format + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "felaktigt antal argument till flaggan %<-falign-%s%>: %qs" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, gcc-internal-format + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr "%<-falign-%s%> är inte mellan 0 och %d" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, gcc-internal-format + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "ogiltigt argument till %<-fpatchable-function-entry%>" + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, gcc-internal-format + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "argumentet %q.*s till %<--help%> är tvetydigt, var mer precis" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, gcc-internal-format + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "okänt argument till %<--help=%>-flagga: %q.*s" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "argumentet ignoreras för %<-Wattributes=%>; använd %<-Wno-attributes=%> istället" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "avslutande %<,%> i argumenten till %<-Wno-attributes=%>" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "flaggan %<-foffload-abi%> kan anges endast för en avlastande kompilator" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, gcc-internal-format + msgid "structure alignment must be a small power of two, not %wu" + msgstr "postjustering måste vara två upphöjt till ett litet tal, inte %wu" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, gcc-internal-format + msgid "unknown stack check parameter %qs" + msgstr "okänd stackkontrollparameter %qs" + +-#: opts.cc:3158 ++#: opts.cc:3157 + #, gcc-internal-format + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "%<-gdwarf%s%> är tvetydigt; använd %<-gdwarf-%s%> för DWARF-version eller %<-gdwarf%> %<-g%s%> för felsökningsnivå" + +-#: opts.cc:3169 ++#: opts.cc:3168 + #, gcc-internal-format + msgid "dwarf version %wu is not supported" + msgstr "dwarf-version %wu stödjs inte" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, gcc-internal-format + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "okänt argument till flaggan %<-flto=%>: %qs" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, gcc-internal-format + msgid "target system does not support debug output" + msgstr "målsystemet stödjer inte felsökningsutdata" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, gcc-internal-format + msgid "debug format %qs conflicts with prior selection" + msgstr "felsökningsformatet %qs står i konflikt med tidigare val" + +-#: opts.cc:3468 ++#: opts.cc:3467 + #, gcc-internal-format + msgid "unrecognized debug output level %qs" + msgstr "okänd felsökningsnivå %qs" + +-#: opts.cc:3470 ++#: opts.cc:3469 + #, gcc-internal-format + msgid "debug output level %qs is too high" + msgstr "felsökningsnivå %qs är för hög" + +-#: opts.cc:3482 ++#: opts.cc:3481 + #, gcc-internal-format + msgid "unrecognized btf debug output level %qs" + msgstr "okänd btf-felsökningsnivå %qs" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "när gräns för maximal storlek på core-fil hämtades: %m" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "när gräns för maximal storlek på core-fil sattes: %m" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "ej igenkänd felsökningsflagga för gcc: %c" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "%<-W%serror=%s%>: ingen flagga %<-%s%>; menade du %<-%s%>?" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "%<-W%serror=%s%>: ingen flagga %<-%s%>" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, gcc-internal-format + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" + msgstr "%<-Werror=%s%>: %<-%s%> är inte en flagga som styr varningar" +@@ -29639,187 +29634,187 @@ msgstr "generisk snuttkod misslyckas för metoden %qD som använder %<...%>" + msgid "%qD renamed after being referenced in assembly" + msgstr "%qD byter namn efter att ha refererats i assembler" + +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "funktionssymbol som inte är en funktion" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, gcc-internal-format + msgid "inconsistent % attribute" + msgstr "inkonsistent %-attribut" + +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "variabelsymbol är inte en variabel" + +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "noden har okänd typ" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, gcc-internal-format, gfc-internal-format + msgid "node has invalid order %i" + msgstr "noden har en ogiltig ordning %i" + +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "nod ej funnen found node->decl->decl_with_vis.symtab_node" + +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "noden skiljer från node->decl->decl_with_vis.symtab_node" + +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "hashlistan över assemblernamn trasig" + +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "nod finns inte i hashen av symboltabellassemblernamn" + +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "dubbellänkad lista av assemblernamn är trasig" + +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "noden har body_removed men är en definition" + +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "noden är analyserad men den är inte en definition" + +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "noden är ett alias men inte ett implicit alias" + +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "noden är ett alias men inte en definition" + +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "noden är weakref men inte ett transparent_alias" + +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "noden är transparent_alias men inte ett alias" + +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, gcc-internal-format + msgid "node is symver but not alias" + msgstr "noden är en symver men inte ett alias" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "symver-målet exporteras inte med standardsynlighet" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, gcc-internal-format + msgid "symver is not exported with default visibility" + msgstr "symver är inte exporterad med standardsynlighet" + +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "noden är i same_comdat_group-listan men den har ingen comdat_group" + +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "same_comdat_group-lista över olika grupper" + +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "blandning av olika typer av symboler i samma comdat-grupper stödjs inte" + +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "noden är ensam i en comdat-grupp" + +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "same_comdat_group är inte en cirkulär lista" + +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "comdat-lokal symbol refererad till av %s utanför dess comdat" + +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn%'t" + msgstr "flaggan implicit_section är satt men sektionen är inte det" + +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "både sektion och comdat-grupp är satt" + +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, gcc-internal-format + msgid "Alias and target%'s section differs" + msgstr "Aliasets och målets sektion skiljer" + +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, gcc-internal-format + msgid "Alias and target%'s comdat groups differs" + msgstr "Aliasets och målets comdat-grupper skiljer" + +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, gcc-internal-format + msgid "Transparent alias and target%'s assembler names differs" + msgstr "Transparent alias och målets assemblernamn skiljer" + +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "Kedjade genomskinliga alias" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "symtab_node::verify misslyckades" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, gcc-internal-format, gfc-internal-format + msgid "invalid order in asm node %i" + msgstr "ogiltig ordning i asm-nod %i" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "Två symboler med samma comdat_group är inte länkade av listan same_comdat_group." + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "funktionen %q+D är en del av en aliascykel" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "variabeln %q+D är del i en aliascykel" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "sektionen för aliaset %q+D måste stämma med sektionen för dess mål" +@@ -31481,27 +31476,27 @@ msgstr "maskinoberoende inbyggd kod utanför intervallet" + msgid "target specific builtin not available" + msgstr "målspecifik inbyggd funktion är inte tillgänglig" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "vektoroperationen kommer expanderas bitvis" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "vektoroperationen kommer expanderas parallellt" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "vektoroperationen kommer expanderas med en ensam skalär operation" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "vektorvillkor kommer expanderas bitvis" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "vektorblandningsoperationen kommer expanderas bitvis" +@@ -32317,7 +32312,7 @@ msgstr "attributet %qE ignorerat för att %qD inte är en variabel" + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "attributet %qE ignorerat för att %qD inte är en lokal variabel" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "attributet %qE har bara effekt på publika objekt" +@@ -34403,7 +34398,7 @@ msgstr "ej stödd konkatenering av stränglitteraler som inte följer standard" + msgid "traditional C rejects string constant concatenation" + msgstr "traditionell C stödjer inte strängkonstantsammanslagning" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "%<#pragma omp critical%> med %-klausul kräver ett namn, utom när % används" +@@ -36072,7 +36067,7 @@ msgstr "för många indatafiler" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "%qs är definierad i huvudet %qs; glömde du %<#include %s%>?" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, gcc-internal-format + msgid "unknown value %qs for %<-mcpu%>" + msgstr "okänt värde %qs till %<-mcpu%>" +@@ -36103,15 +36098,15 @@ msgid "unrecognized option passed to %%:%" + msgstr "okänd flagga skickad till %%:%" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "giltiga argument är: %s; menade du %qs?" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, gcc-internal-format, gfc-internal-format + msgid "valid arguments are: %s" + msgstr "giltiga argument är: %s" +@@ -36196,48 +36191,48 @@ msgstr "%<-mcpu=%s%> är inte giltigt" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "%<-mcpu=%s%> har ogiltig kiselversion" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, gcc-internal-format + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "%<-malign-loops%> är föråldrat, använd %<-falign-loops%>" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, gcc-internal-format + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr "%<-malign-loops=%d%> är inte mellan 0 och %d" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, gcc-internal-format + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "%<-malign-jumps%> är föråldrat, använd %<-falign-jumps%>" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, gcc-internal-format + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr "%<-malign-jumps=%d%> är inte mellan 0 och %d" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, gcc-internal-format + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "%<-malign-functions%> är föråldrat, använd %<-falign-functions%>" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, gcc-internal-format + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr "%<-malign-functions=%d%> är inte mellan 0 och %d" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, gcc-internal-format + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr "%<-mbranch-cost=%d%> är inte mellan 0 och 5" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "%<-fsplit-stack%> stödjs för närvarande bara på GNU/Linux" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "%<-fsplit-stack%> kräver assemblerstöd för CFI-direktiv" +@@ -36721,13 +36716,13 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "ACLE-funktionen %qD är inkompatibel med användningen av %qs" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, gcc-internal-format + msgid "argument %d of %qE must be an integer constant expression" + msgstr "argument %d till %qE måste vara ett konstant heltalsuttryck" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, gcc-internal-format + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" + msgstr "skickar %wd som argument %d till %qE, vilken förväntar sig ett värdet i intervallet [%wd, %wd]" +@@ -36965,7 +36960,7 @@ msgstr "skickar %qT som argument %d till %qE, men dess %qT-form tar inte skalär + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, gcc-internal-format + msgid "duplicate definition of %qs" + msgstr "dubblerad definition av %qs" +@@ -37006,7 +37001,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "SVE-typen %qT har inte en definierad justering" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, gcc-internal-format + msgid "variables of type %qT cannot have thread-local storage duration" + msgstr "variabler av typen %qT kan inte ha trådlokal lagringsvaraktighet" +@@ -37093,323 +37088,323 @@ msgstr "man kan aktivera SVE genom att använda kommandoradsflaggan %<-march%>, + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "argument av typen %qT kräver ISA-utökningen SVE" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, gcc-internal-format + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "SVE-typen %qT kan inte skickas till en funktion utan prototyp" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "parameterskickandet för argument av typen %qT ändrades i GCC 13.1" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "parameterskickandet för argument av typen %qT ändrades i GCC 9.1" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, gcc-internal-format + msgid "%qE requires the SVE ISA extension" + msgstr "%qE behöver ISA-utökningen SVE" + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, gcc-internal-format + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "anrop till funktioner av typen %qT behöver ISA-utökningen SVE" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "stackprov för SVE-ramar" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, gcc-internal-format + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "okänd flagga skickad i %<-moverride=%s%> (%s)" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, gcc-internal-format + msgid "%qs string ill-formed" + msgstr "%qs-sträng är felformad" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, gcc-internal-format + msgid "invalid format for %" + msgstr "felaktigt format på %" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, gcc-internal-format + msgid "invalid % value: %d" + msgstr "ogiltigt %-värde: %d" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "trimningssträngen saknas i flaggan (%s)" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "okänd trimningsflagga (%s)" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "inkompatibla flaggor %<-mstack-protector-guard=global%> och %<-mstack-protector-guard-offset=%s%>" + +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "både %<-mstack-protector-guard-offset%> och %<-mstack-protector-guard-reg%> måste användas med %<-mstack-protector-guard=sysreg%>" + +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, gcc-internal-format + msgid "specify a system register with a small string length" + msgstr "ange ett systemregister med en liten stränglängd" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "%qs är inte ett giltigt avstånd i %qs" + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "%<-fsanitize=shadow-call-stack%> kräver %<-ffixed-x18%>" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "endast värdena 12 (4 kB) och 16 (64 kB) stödjs som vaktstorlek. Det givna värdet %d (%llu kB) är utanför intervallet" + +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "stackkrockvaktsstorlek %<%d%> måste vara lika med testintervallet %<%d%>" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "cpu-namn saknas i %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, gcc-internal-format + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "ogiltig funktionsmodifierare %qs i %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, gcc-internal-format + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "ogiltigt argument givet till %<-mharden-sls=%>" + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "%qs måste vara ensamt till %<-mharden-sls=%>" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, gcc-internal-format + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "ogiltigt argument %<%s%> till %<-mharden-sls=%>" + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "arkitekturnamn saknas i %<-march=%s%>" + +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, gcc-internal-format + msgid "unknown value %qs for %<-march%>" + msgstr "okänt värde %qs till %<-march%>" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, gcc-internal-format + msgid "did you mean %<-mcpu=%s%>?" + msgstr "menade du %<-mcpu=%s%>?" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, gcc-internal-format + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "ogiltig funktionsmodifierare %qs i %<-march=%s%>" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "cpu-namn saknas i %<-mtune=%s%>" + +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, gcc-internal-format + msgid "unknown value %qs for %<-mtune%>" + msgstr "okänt värde %qs till %<-mtune%>" + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, gcc-internal-format + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "flaggan %<-mcpu=%s%> står i konflikt med flaggan %<-march=%s%>" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, gcc-internal-format + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "assemblern stödjer inte %<-mabi=ilp32%>" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "signering av returadress stödjs endast för %<-mabi=lp64%>" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, gcc-internal-format + msgid "code model %qs with %<-f%s%>" + msgstr "kodmodell %qs med %<-f%s%>" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, gcc-internal-format + msgid "code model %qs not supported in ilp32 mode" + msgstr "kodmodellen %qs stödjs inte i ilp32-läge" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "namn saknas i pragmat eller attributet %" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "felaktigt namn %qs i pragmat eller attributet %" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, gcc-internal-format + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "felaktig funktionsmodifierare %s på värdet %qs i pragmat eller attributet %" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "namn saknas i pragmat eller attributet %" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "felaktigt namn %qs i pragmat eller attributet %" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, gcc-internal-format + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "felaktig funktionsmodifierare %qs på värdet %qs i pragmat eller attributet %" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, gcc-internal-format + msgid "missing argument to % pragma or attribute" + msgstr "argument saknas till pragmat eller attributet %" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, gcc-internal-format + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "felaktig skyddstyp %qs i pragmat eller attributet %" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "felaktigt namn %qs i pragmat eller attributet %" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "värde saknas i pragmat eller attributet %" + +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "felformaterat pragma eller attribut %" + +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "pragmat eller attributet % tar inte något argument" + +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "pragmat eller attributet % tillåter inte en negerad form" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "pragmat eller attributet % är inte giltigt" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "argument till attribut % är inte en sträng" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "arkitekturutvidgningen %<%s%> skall prefixas av %<+%>" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "pragmat eller attributet % är inte giltigt" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "felformaterat pragma eller attribut %" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "parameterskickandet för argument av typen %qT med %<[[no_unique_address]]%>-medlemmar ändrades %{i GCC 10.1%}" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "parameterskickandet för argument av typen %qT när C++17 är aktiverat ändrades till att matcha C++14 %{i GCC 10.1%}" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "parameterskickandet för argument av typen %qT ändrades %{i GCC 12.1%}" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "bana %wd utanför intervallet %wd - %wd" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, gcc-internal-format + msgid "unsupported simdlen %wd" + msgstr "ej stödd simdlen %wd" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "GCC stödjer för närvarande inte typer av blandad storlek till %-funktioner" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, gcc-internal-format + msgid "GCC does not currently support return type %qT for % functions" + msgstr "GCC stödjer för närvarande inte returtypen %qT för %-funktioner" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, gcc-internal-format + msgid "unsupported return type %qT for % functions" + msgstr "returtypen %qT stödjs ej för %-funktioner" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, gcc-internal-format + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "GCC stödjer för närvarande inte argumenttypen %qT för %-funktioner" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, gcc-internal-format + msgid "GCC does not currently support simdlen %wd for type %qT" + msgstr "GCC stödjer för närvarande inte simdlen %wd för typen %qT" +@@ -37594,13 +37589,13 @@ msgstr "argumentet till attributet %qE är inte ”ilink” eller ”firq”" + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -37741,17 +37736,17 @@ msgstr "argumentet till attributet %qE ignoreras" + msgid "%qE attribute only applies to variables" + msgstr "attributet %qE är bara tillämpligt på variabler" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, gcc-internal-format + msgid "alternatives not allowed in % flag output" + msgstr "alternativ är inte tillåtna i %-flaggutdata" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, gcc-internal-format + msgid "unknown % flag output %qs" + msgstr "okänd %-flaggutdata %qs" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, gcc-internal-format + msgid "invalid type for % flag output" + msgstr "ogiltig typ för %-flaggutdata" +@@ -37958,7 +37953,7 @@ msgstr "målprocessorn stödjer inte THUMB-instruktioner" + msgid "target CPU does not support unaligned accesses" + msgstr "målprocessorn stödjer inte ojusterade åtkomster" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, gcc-internal-format + msgid "This architecture does not support branch protection instructions" + msgstr "Denna arkitektur stödjer inte grenskyddsinstruktioner" +@@ -38013,7 +38008,7 @@ msgstr "storleksgräns för poster kan bara sättas till 8 eller 32" + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "RTP PIC är inkompatibelt med %<-msingle-pic-base%>" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, gcc-internal-format + msgid "FDPIC mode is not supported in Thumb-1 mode" + msgstr "FDPIC-läget stödjs inte i Thumb-1-läge" +@@ -38119,7 +38114,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "argument av typen %qT är inte tillåtna med %<-mgeneral-regs-only%>" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "parameterskickandet för argument av typen %qT ändrades i GCC 7.1" +@@ -38169,32 +38164,32 @@ msgstr "att nå trådlokal lagring stödjs inte för närvarande med %<-mpure-co + msgid "%s %wd out of range %wd - %wd" + msgstr "%s %wd utanför intervall %wd - %wd" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "kan inte beräkna verklig plats för stackparameter" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "Oväntat långt thumb1-hopp" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "inga låga register tillgängliga för att poppa höga register" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, gcc-internal-format + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "Avbrottshanteringsrutiner kan inte kodas i Thumb-1-läge" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "%<-fstack-check=specific%> för Thumb-1" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, gcc-internal-format + msgid "invalid fpu for target attribute or pragma %qs" + msgstr "ogiltig fpu för målattributet eller pragmat %qs" +@@ -38202,22 +38197,22 @@ msgstr "ogiltig fpu för målattributet eller pragmat %qs" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "automatiskt fpu-val är för närvarande inte tillåtet här" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, gcc-internal-format + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "ogiltig arkitektur för målattribut eller -pragma %qs" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, gcc-internal-format + msgid "unknown target attribute or pragma %qs" + msgstr "okänt målattribut eller -pragma %qs" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, gcc-internal-format + msgid "% flags not supported in thumb1 mode" + msgstr "%-flaggor stödjs inte i thumb1-läge" +@@ -38291,17 +38286,17 @@ msgstr "%<-fpie%> stödjs inte" + msgid "%<-fPIE%> is not supported" + msgstr "%<-fPIE%> stödjs inte" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, gcc-internal-format + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "funktionsattributen %qs och %qs är ömsesidigt uteslutande" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, gcc-internal-format + msgid "%qs function cannot have arguments" + msgstr "funktionen %qs kan inte ha argument" + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, gcc-internal-format + msgid "%qs function cannot return a value" + msgstr "funktionen %qs kan inte returnera ett värde" +@@ -38615,7 +38610,7 @@ msgstr "ogiltigt andra argument inbyggd funktion" + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, gcc-internal-format + msgid "invalid argument to built-in function" + msgstr "ogiltigt argument inbyggd funktion" +@@ -39208,754 +39203,754 @@ msgstr "funktionsversioner kan inte markeras som %, kropparna måst + msgid "virtual function multiversioning not supported" + msgstr "multiversionering av virtuell funktion stödjs inte" + +-#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25106 + #, gcc-internal-format + msgid "multiversioning needs % which is not supported on this target" + msgstr "multiversionering behöver % som inte stödjs på detta mål" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" + msgstr "kodmodellen %s stödjer inte PIC-läge" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, gcc-internal-format + msgid "attribute %qs argument is not a string" + msgstr "argument till attribut %qs är inte en sträng" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, gcc-internal-format + msgid "attribute %qs argument %qs is unknown" + msgstr "argument %2$qs till attribut %1$qs är okänt" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, gcc-internal-format + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "attributvärdet %qs specificerades redan i attributet %qs" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, gcc-internal-format + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "attributvärdet %qs är okänt i attributet %qs" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, gcc-internal-format + msgid "wrong argument %qs to option %qs" + msgstr "felaktigt argument %qs till flaggan %qs" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "storleksintervall till flaggan %qs skall vara ökande" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" + msgstr "felaktigt strateginamn %qs angivet till flaggan %qs" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "strateginamn %qs angivet till flaggan %qs stödjs inte i 32-bitars kod" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" + msgstr "okänd justering %qs angiven till flaggan %qs" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "maxvärdet för det sista storleksintervallet skall vara -1 för flaggan %qs" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, gcc-internal-format + msgid "too many size ranges specified in option %qs" + msgstr "för många storleksintervall angivna i flaggan %qs" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "okänd parameter till flaggan %<-mtune-ctrl%>: %s" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "Intel MCU psABI stödjs inte i %s-läge" + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "%<-mtune=x86-64%> bör undvikas. Använd istället det som passar av %<-mtune=k8%> och %<-mtune=generic%>" + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "% bör undvikas. Använd istället det som passar av % och %" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, gcc-internal-format + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "%<-mstringop-strategy=rep_8byte%> stödjs inte för 32-bitarskod" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, gcc-internal-format + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "%<-muintr%> stödjs inte för 32-bitarskod" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, gcc-internal-format + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "%<-mlam=%> flaggan: [u48|u57] stödjs inte för 32-bitarskod" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "adressläget %qs stödjs inte i %s-bitsläge" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, gcc-internal-format + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "%<-mabi=ms%> stödjs inte med X32 ABI" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "%<-mabi=%s%> stödjs inte med %<-fsanitize=address%>" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "%<-mabi=%s%> stödjs inte med %<-fsanitize=kernel-address%>" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "%<-mabi=%s%> stödjs inte med %<-fsanitize=thread%>" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "kodmodellen %qs stödjs inte i %s-bitsläge" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "kodmodellen %qs stödjs inte i x32-läge" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, gcc-internal-format + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "%<-masm=intel%> stödjs inte i denna konfiguration" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "%i-bitsläge inte inkompilerat" + + # "generic" är bokstavligt argument till flaggan +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "CPU % kan användas endast till flaggan %<-mtune=%>" + + # "generic" är bokstavligt argument till flaggan +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "CPU % kan användas endast till attributet %" + + # "intel" är bokstavligt argument till flaggan +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "CPU % kan användas endast till flaggan %<-mtune=%>" + + # "intel" är bokstavligt argument till flaggan +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "CPU % kan användas endast till attributet %" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "CPU:n du valde stödjer inte instruktionsuppsättningen x86-64" + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, gcc-internal-format + msgid "bad value %qs for %<-march=%> switch" + msgstr "felaktigt värde %qs till flaggan %<-march=%>" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "felaktigt värde %qs till attributet %" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "giltiga argument till flaggan %<-march=%> är: %s; menade du %qs?" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "giltiga argument till attributet % är: %s; menade du %qs?" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "giltiga argument till flaggan %<-march=%> är: %s" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "giltiga argument till attributet % är: %s" + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, gcc-internal-format + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "felaktigt värde %qs till flaggan %<-mtune=%>" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "felaktigt värde %qs till attributet %" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "giltiga argument till flaggan %<-mtune=%> är: %s; menade du %qs?" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "giltiga argument till attributet % är: %s; menade du %qs?" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "giltiga argument till flaggan %<-mtune=%> är: %s" + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "giltiga argument till attributet % är: %s" + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "%<-mregparm%> ignoreras i 64-bitsläge" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "%<-mregparm%> ignoreras för Intel MCU psABI" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, gcc-internal-format + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "%<-mregparm=%d%> är inte mellan 0 och %d" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, gcc-internal-format + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "%<-m96bit-long-double%> är inte kompatibelt med denna målarkitektur" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "%<-mrtd%> ignoreras i 64-bitsläge" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "% ignoreras i 64-bitsläge" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "%<-mpreferred-stack-boundary%> stödjs inte för denna målarkitektur" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "%<-mpreferred-stack-boundary=%d%> är inte mellan %d och %d" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, gcc-internal-format + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "%<-mincoming-stack-boundary=%d%> är inte mellan %d och 12" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "%<-mnop-mcount%> är inte kompatibelt med denna målarkitektur" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "%<-mnop-mcount%> är inte implementerat för %<-fPIC%>" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "%<-msseregparm%> använd utan SSE aktiverat" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "% använt utan SSE aktiverat" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "instruktionsuppsättningen SSE avaktiverad, använder 387-aritmetik" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "instruktionsuppsättningen 387 avaktiverad, använder SSE-aritmetik" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "stackavkänning kräver %<-maccumulate-outgoing-args%> för att bli korrekt" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, gcc-internal-format + msgid "stack probing requires % for correctness" + msgstr "stackavkänning kräver % för att bli korrekt" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "fasta ebp-register kräver %<-maccumulate-outgoing-args%>" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "fasta ebp-register kräver %" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "%<-mfentry%> stödjs inte för 32 bitar i kombination med %<-fpic%>" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, gcc-internal-format + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "%<-mno-fentry%> är inte kompatibelt med SEH" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "%<-mcall-ms2sysv-xlogues%> stödjs inte för närvarande med SEH" + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, gcc-internal-format + msgid "unknown option for %<-mrecip=%s%>" + msgstr "okänt alternativ till %<-mrecip=%s%>" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, gcc-internal-format + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "%qs är inte ett giltigt tal i %<-mstack-protector-guard-offset=%>" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, gcc-internal-format + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "%qs är inte ett giltigt avstånd i %<-mstack-protector-guard-offset=%>" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, gcc-internal-format + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "%qs är inte ett giltigt basregister i %<-mstack-protector-guard-reg=%>" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, gcc-internal-format + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "%<-fcf-protection%> är inte kompatibelt med denna målarkitektur" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, gcc-internal-format + msgid "interrupt and naked attributes are not compatible" + msgstr "attributen interrupt och naked är inte kompatibla" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "endast felsökningsformatet DWARF stödjs för en avbrottshanteringsrutin" + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, gcc-internal-format + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "%<-mindirect-branch=%s%> och %<-mcmodel=large%> är inte kompatibla" + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "%<-mindirect-branch%> och %<-fcf-protection%> är inte kompatibla" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, gcc-internal-format + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "%<-mfunction-return=%s%> och %<-mcmodel=large%> är inte kompatibla" + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "%<-mfunction-return%> och %<-fcf-protection%> är inte kompatibla" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "%s-instruktioner är inte tillåtna i en undantagshanteringsrutin" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "%s-instruktioner är inte tillåtna i en avbrottshanteringsrutin" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "%s-instruktioner är inte tillåtna i en funktion med attributet %" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "attributen fastcall och regparm är inte kompatibla" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "attributen regparam och thiscall är inte kompatibla" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "attributet %qE kräver en heltalskonstant som argument" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "argument till attributet %qE är större än %d" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "attributen fastcall och cdecl är inte kompatibla" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "attributen fastcall och stdcall är inte kompatibla" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "attributen fastcall och thiscall är inte kompatibla" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "attributen stdcall och cdecl är inte kompatibla" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "attributen stdcall och fastcall är inte kompatibla" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "attributen stdcall och thiscall är inte kompatibla" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "attributen cdecl och thiscall är inte kompatibla" + +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, gcc-internal-format + msgid "%qE attribute is used for non-class method" + msgstr "attributet %qE används för annat än klassmetod" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, gcc-internal-format + msgid "%qE incompatible attribute ignored" + msgstr "%qE-inkompatibelt attribut ignorerat" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, gcc-internal-format + msgid "%qE attribute only available for 32-bit" + msgstr "attributet %qE är bara tillgängligt för 32 bitar" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, gcc-internal-format + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "argumentet till attributet %qE är varken noll eller ett" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, gcc-internal-format + msgid "%qs and %qs attributes are not compatible" + msgstr "attributen %qs och %qs är inte kompatibla" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "attributet %qE kräver en strängkonstant som argument" + +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, gcc-internal-format + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "argumentet till attributet %qE är inte (keep|thunk|thunk-inline|thunk-extern)" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "avbrottshanteringsrutiner skall ha en pekare som första argument" + + # "unsigned %sint" är tänkt att expanderas till C-syntax +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, gcc-internal-format + msgid "interrupt service routine should have %qs as the second argument" + msgstr "avbrottshanteringsrutiner skall ha %qs som andra argument" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "avbrottshanteringrutiner kan endast ha ett pekarargument och ett valfritt heltalsargument" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, gcc-internal-format + msgid "interrupt service routine must return %" + msgstr "avbrottshanteringsrutiner måste returnera %" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, gcc-internal-format + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "anrop av %qD med attributet sseregparm utan SSE/SSE2 aktiverat" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, gcc-internal-format + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "anrop av %qT med attributet sseregparm utan SSE/SSE2 aktiverat" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, gcc-internal-format + msgid "X32 does not support % attribute" + msgstr "X32 stödjer inte attributet %" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, gcc-internal-format + msgid "% attribute is not compatible with nested function" + msgstr "attributet % är inte kompatibelt med nästade funktioner" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, gcc-internal-format + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "AVX512F-vektorargument utan AVX512F aktiverat ändrar ABI:et" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, gcc-internal-format + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "AVX512F-vektorretur utan AVX512F aktiverat ändrar ABI:et" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, gcc-internal-format + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "AVX-vektorargument utan AVX aktiverat ändrar ABI:et" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, gcc-internal-format + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "AVX-vektorretur utan AVX aktiverat ändrar ABI:et" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "SSE-vektorargument utan SSE aktiverat ändrar ABI:et" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "SSE-vektorretur utan SSE aktiverat ändrar ABI:et" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "MMX-vektorargument utan MMX aktiverat ändrar ABI:et" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "MMX-vektorretur utan MMX aktiverat ändrar ABI:et" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "ABI:et för att skicka en post med en flexibel vektormedlem har ändrats i GCC 4.4" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, gcc-internal-format + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "ABI:et för att skicka unioner med % har ändrats i GCC 4.4" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, gcc-internal-format + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "ABI:et för att skicka en post med % medlem har ändrats i GCC 4.4" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "ABI:et för att skicka C-poster med bitfält med nollbredd har ändrats i GCC %{12.1%}" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "SSE-registerretur med SSE avaktiverat" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "SSE-registerargument med SSE avaktiverat" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "x87-registerretur med x87 avaktiverat" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, gcc-internal-format + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "anrop av %qD med SSE-anropskonvention utan SSE/SSE2 aktiverat" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "detta är ett fel i GCC som kan gås runt genom att lägga till attributet used till den anropade funktionen" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, gcc-internal-format, gfc-internal-format + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "ABI:et för att skicka parametrar med %d-bytejustering har ändrats i GCC 4.6" + +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "%<-mcall-ms2sysv-xlogues%> är inte kompatibel med %s" + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, gcc-internal-format + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "attributet % är inte kompatibelt med %<-mfentry%> i 32-bitsläge" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "Dynamic Realign Argument Pointer (DRAP) stödjs inte i avbrottshanteringsrutiner. Detta kan gås runt genom att undvika funktioner med sammansatta returvärden." + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, gcc-internal-format + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "Stackomjustering stödjs inte med %<__builtin_eh_return%>" + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, gcc-internal-format + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "regparm-nästade funktioner stödjs inte med %<__builtin_eh_return%>" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "%<-fsplit-stack%> stödjer inte fastcall med nästade funktioner" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" + msgstr "%<-fsplit-stack%> stödjer inte 2 registerparametrar för en nästad funktion" + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, gcc-internal-format + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "%<-fsplit-stack%> stödjer inte 3 registerparametrar" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, gcc-internal-format + msgid "% modifier on non-integer register" + msgstr "modifieraren % på ett register som inte är heltal" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, gcc-internal-format + msgid "unsupported size for integer register" + msgstr "ej stödd storlek för heltalsregister" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "utökade register har inga höga halvor" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "ej stödd operandstorlek för utökat register" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, gcc-internal-format + msgid "non-integer operand used with operand code %" + msgstr "operand som inte är heltal använt med operandkod %" + +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "den tomma klassen %qT parameterskickande ABI ändras i %<-fabi-version=12%> (GCC 8)" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "justeringen av %<_Atomic %T%>-fält ändrades i %{GCC 11.1%}" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, gcc-internal-format + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "profileringen %<-mcmodel=large%> med PIC stödjs inte" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "okänd arkitekturspecifik minnesmodell" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "% används inte med % eller starkare minnesmodell" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "% används inte med % eller starkare minnesmodell" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "returtyp %qT stödjs ej för simd" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, gcc-internal-format + msgid "unsupported argument type %qT for simd" + msgstr "argumenttyp %qT som inte stödjs till simd" + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, gcc-internal-format + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" + msgstr "%<-fexcess-precision=16%> är inte kompatibel med %<-mfpmath=387%>" +@@ -40300,7 +40295,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "%qE omdeklarerad med motstridiga %qs-attribut" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, gcc-internal-format + msgid "%qE attribute requires a string argument" + msgstr "attributet %qE behöver ett strängargument" +@@ -41421,52 +41416,52 @@ msgstr "%<#pragma riscv intrinsic%>-alternativet %qs behöver ha utvidgningen + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "okänd %<#pragma riscv intrinsic%>-flagga %qs" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, gcc-internal-format + msgid "RVV type %qT does not have a fixed size" + msgstr "RVV-typen %qT har inte en fast storlek" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, gcc-internal-format + msgid "RVV type %qT does not have a defined alignment" + msgstr "RVV-typen %qT har inte en definierad justering" + +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, gcc-internal-format + msgid "arithmetic on pointer to RVV type %qT" + msgstr "aritmetik på pekare till RVV-typen %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "medlemsvariabler kan inte ha RVV-typen %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, gcc-internal-format + msgid "fields cannot have RVV type %qT" + msgstr "fält kan inte ha RVV-typen %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, gcc-internal-format + msgid "array elements cannot have RVV type %qT" + msgstr "vektorelement kan inte ha RVV-typen %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, gcc-internal-format + msgid "cannot allocate objects with RVV type %qT" + msgstr "det går inte att allokera objekt med RVV-typen %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, gcc-internal-format + msgid "cannot delete objects with RVV type %qT" + msgstr "kan inte radera objekt med RVV-typen %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, gcc-internal-format + msgid "cannot throw or catch RVV type %qT" + msgstr "kan inte kasta eller fånga RVV-typen %qT" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, gcc-internal-format + msgid "capture by copy of RVV type %qT" + msgstr "fångst av kopia av RVV-typen %qT" +@@ -41486,71 +41481,66 @@ msgstr "denna åtgärd kräver ISA-utökningen RVV" + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "man kan aktivera RVV genom att använda kommandoradsflaggan %<-march%>, eller genom att använda attributet eller pragmat %" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, gcc-internal-format + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "ABI:et för en tillplattad post med nollängds bitfält ändrades i GCC 10" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, gcc-internal-format + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "argumentet till attributet %qE är inte %<\"user\"%>, %<\"supervisor\"%> eller %<\"machine\"%>" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, gcc-internal-format + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "%<-mdiv%> kräver %<-march%> för att innefatta utökningen %" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, gcc-internal-format + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "begärt ABI kräver %<-march%> för att innefatta utökningen %qc" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "rv32e kräver ABI:et ilp32e" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "z*inx kräver ABI ilp32, ilp32e eller lp64" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, gcc-internal-format + msgid "ABI requires %<-march=rv%d%>" + msgstr "ABI:et kräver %<-march=rv%d%>" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "%<-mpreferred-stack-boundary=%d%> måste vara mellan %d och %d" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "%<-mriscv-attribute%> RISC-V ELF-attribut behöver GNU as 2.32 [%<-mriscv-attribute%>]" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, gcc-internal-format + msgid "%qs is not a valid base register in %qs" + msgstr "%qs är inte ett giltigt basregister i %qs" + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, gcc-internal-format + msgid "%qs is not a valid number in %qs" + msgstr "%qs är inte ett giltigt tal i %qs" + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, gcc-internal-format + msgid "%qs function cannot have different interrupt type" + msgstr "funktionen %qs kan inte ha olika avbrottstyp" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "kan inte allokera vl-register för %qs på detta mål" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, gcc-internal-format +@@ -42020,97 +42010,97 @@ msgstr "%qs bör undvikas och rekommenderas inte under några omständigheter" + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "%qs är en ogenomskinlig typ, och det går inte att sätta den till andra värden" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "ingen profilering av 64-bitskod för detta ABI" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, gcc-internal-format + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "du kan inte ta adressen till en nästad funktion om du använder flaggan %qs" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "användning av % i AltiVec-typer är ogiltigt" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "användning av booleaner i AltiVec-typer är ogiltigt" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "användning av % i AltiVec-typer är ogiltigt" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, gcc-internal-format + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "användning av decimala flyttalstyper i AltiVec-typer är ogiltigt" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "användning av % i AltiVec-typer är ogiltigt för 64-bitskod utan %qs" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "användning av % i AltiVec-typer bör undvikas, använd %" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "användning av % i AltiVec-typer är ogiltigt utan %qs" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "användning av % i AltiVec-typer är ogiltigt utan %qs" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, gcc-internal-format + msgid "invalid cpu %qs for %s%qs%s" + msgstr "felaktig cpu %qs för %s%qs%s" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, gcc-internal-format + msgid "%s%qs%s is not allowed" + msgstr "%s%qs%s är inte tillåtet" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, gcc-internal-format + msgid "%s%qs%s is invalid" + msgstr "%s%qs%s är ogiltigt" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "%<-mno-%s%> slår av %<-m%s%>" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "attributet % behöver GLIBC (2.23 och nyare) som exporterar bitar om hårdvaruegenskaper" + +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, gcc-internal-format + msgid "Virtual function multiversioning not supported" + msgstr "Multiversionering av virtuell funktion stödjs inte" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "resultatet av instruktionen xxspltidp är odefinierat för undernormala indatavärden" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, gcc-internal-format + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "typen %<__vector_quad%> behöver flaggan %qs" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, gcc-internal-format + msgid "type %<__vector_pair%> requires the %qs option" + msgstr "typen %<__vector_pair%> behöver flaggan %qs" +@@ -43510,7 +43500,7 @@ msgstr "kan inte lägga objekt med volatile-fält i register" + msgid "uninitialized % is invalid in C++" + msgstr "oinitierad % är ogiltig i C++" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "%q+D i deklarationsmålsdirektiv har inte en avbildbar typ" +@@ -43695,7 +43685,7 @@ msgstr "lagringsklass angiven för parameter %qE" + msgid "storage class specified for unnamed parameter" + msgstr "lagringsklass angiven för namnlös parameter" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "lagringsklass angiven för typnamn" +@@ -43864,7 +43854,7 @@ msgstr "typnamn är deklarerat som en funktion som returnerar en vektor" + msgid "function definition has qualified void return type" + msgstr "funktionsdefinition som har kvalificerad void-returtyp" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "typkvalificerare ignoreras för funktions returtyp" +@@ -43991,7 +43981,7 @@ msgstr "ISO C förbjuder const- eller volatile-funktionstyper" + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "en medlem av an post eller union får inte ha variabel typ" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "variabel eller fält %qE deklarerad void" +@@ -44191,7 +44181,7 @@ msgstr "att definiera en typ i %qs-uttryck är ogiltigt i C++" + msgid "%qT defined in underspecified object initializer" + msgstr "%qT är definierat i underspecificerad objektinitierare" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "deklaration som inte deklarerar något" +@@ -44241,7 +44231,7 @@ msgstr "posten har inga namngivna medlemmar" + msgid "struct has no members" + msgstr "posten har inga medlemmar" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, gcc-internal-format + msgid "flexible array member in union" + msgstr "flexibel vektormedlem i union" +@@ -44286,7 +44276,7 @@ msgstr "omdeklaration av %" + msgid "% declared with but defined without fixed underlying type" + msgstr "% deklarerad med men definierad utan en fast underliggande typ" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, gcc-internal-format + msgid "specified mode too small for enumerated values" + msgstr "angiven sort för liten för uppräkningsvärden" +@@ -44331,7 +44321,7 @@ msgstr "uppräkningsvärdet är utanför intervallet för %qs" + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "ISO C begränsar uppräkningsvärden till intervallet hos % före C2X" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, gcc-internal-format + msgid "inline function %qD given attribute %qs" + msgstr "inline-funktionen %qD har fått attributet %qs" +@@ -44361,7 +44351,7 @@ msgstr "ingen tidigare prototyp för %qD" + msgid "%qD was used with no prototype before its definition" + msgstr "%qD användes utan någon prototyp före sin definition" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, gcc-internal-format + msgid "no previous declaration for %qD" + msgstr "ingen tidigare deklaration av %qD" +@@ -44476,12 +44466,12 @@ msgstr "argument %qD stämmer inte med inbyggd prototyp" + msgid "argument %qD doesn%'t match prototype" + msgstr "argument %qD stämmer inte med prototypen" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "ingen retursats i funktion som returnerar icke-void" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, gcc-internal-format + msgid "parameter %qD set but not used" + msgstr "parametern %qD sätts men används inte" +@@ -46493,7 +46483,7 @@ msgstr "för få perfekt nästade slingor" + msgid "collapsed loops not perfectly nested" + msgstr "kollapsade slingor inte perfekt nästade" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "iterationsvariabel %qD får inte vara firstprivate" +@@ -46623,12 +46613,12 @@ msgstr "% förväntades" + msgid "variant %qD is not a function" + msgstr "varianten %qD är inte en funktion" + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, gcc-internal-format + msgid "variant %qD and base %qD have incompatible types" + msgstr "varianten %qD och basen %qD har inkompatibla typer" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "varianten %qD är en inbyggd" +@@ -46889,7 +46879,7 @@ msgstr "ogiltig användning av void-uttryck" + msgid "invalid use of flexible array member" + msgstr "ogiltig användning av flexibla vektormedlemmar" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "ogiltig användning av vektor med ospecificerade gränser" +@@ -47838,12 +47828,12 @@ msgstr "%-initierare för en reell typ har komplex typ" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "%-initierare för en binär flyttalstyp har en decimal typ" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "initiering av medlem som är en flexibel vektor" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, gcc-internal-format + msgid "cannot initialize array of %qT from a string literal with type array of %qT" + msgstr "det går inte att initiera vektorn av %qT från en stränglitteral med typvektor %qT" +@@ -47884,7 +47874,7 @@ msgstr "initierarelement är inte beräkningsbart vid laddtidpunkt" + msgid "invalid initializer" + msgstr "ogiltig initierare" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "ogenomskinliga vektortyper kan inte initieras" +@@ -47899,8 +47889,8 @@ msgstr "extra klammergrupp vid slutet av initierare" + msgid "braces around scalar initializer" + msgstr "klamrar runt skalär initierare" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "initiering av medlem som är en flexibel vektor i nästat sammanhang" +@@ -47990,7 +47980,7 @@ msgstr "överflödiga element i postinitierare" + msgid "positional initialization of field in % declared with % attribute" + msgstr "positionsinitiering av fält i % deklarerad med attributet %" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "icke-statisk initiering av an flexibel vektormedlem" +@@ -49331,7 +49321,7 @@ msgstr "ingen passande % för %qT" + msgid "%q#D is private within this context" + msgstr "%q#D är privat inom denna kontext" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, gcc-internal-format + msgid "declared private here" + msgstr "deklarerad privat här" +@@ -49341,7 +49331,7 @@ msgstr "deklarerad privat här" + msgid "%q#D is protected within this context" + msgstr "%q#D är skyddad inom denna kontext" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, gcc-internal-format + msgid "declared protected here" + msgstr "deklarerad skyddad här" +@@ -49356,7 +49346,7 @@ msgstr "%q#D är oåtkomlig inom denna kontext" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "skickar NULL till icke-pekarargument %P till %qD" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, gcc-internal-format + msgid " declared here" +@@ -49687,7 +49677,7 @@ msgstr "ingen matchande funktion för anrop av %<%T::%s%E(%A)%#V%>" + msgid "call to non-function %qD" + msgstr "anrop av icke-funktion %qD" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "kan inte anropa konstrueraren %<%T::%D%> direkt" +@@ -50256,7 +50246,7 @@ msgstr "flexibel vektor medlem %qD i en i övrigt tom %q#T" + msgid "next member %q#D declared here" + msgstr "nästa medlem %q#D är deklarerad här" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "omdefinition av %q#T" +@@ -50377,7 +50367,7 @@ msgstr "ogiltig typ för parameter %d till %-funktion %q+#D" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "lambdan är implicit % endast i C++17 och senare" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, gcc-internal-format + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "%-destruerare är endast tillgängliga med %<-std=c++20%> eller %<-std=gnu++20%>" +@@ -50446,7 +50436,7 @@ msgstr "%qE beräknas till falskt" + msgid "failed % attribute assumption" + msgstr "misslyckat %-attributantagande" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, gcc-internal-format + msgid "call to internal function %qE" +@@ -50493,7 +50483,7 @@ msgstr "%qT är en tvetydig basklass till den dynamiska typen %qT av sin operand + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "den dynamiska typen %qT av sin operand har inte en otvetydig publik basklass %qT" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, gcc-internal-format + msgid "call to non-% function %qD" +@@ -50617,7 +50607,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "derefererar en nollpekare i %qE" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -50716,7 +50706,7 @@ msgstr "%qs använder oinitierad byte vid avståndet %d" + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "%qs kan inte beräknas konstant eftersom argumentet inte kan tolkas" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, gcc-internal-format + msgid "dereferencing a null pointer" +@@ -50792,7 +50782,7 @@ msgstr "ändring av den aktiva medlemmen av en union %qD till %qD" + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "ändring av den aktiva medlemmen av en union %qD till %qD under initiering" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, gcc-internal-format + msgid "statement is not a constant expression" +@@ -50858,190 +50848,190 @@ msgstr "kontrollen skickas via definitionen av %qD med trådlagringsvaraktighet" + msgid "control passes through definition of %qD with static storage duration" + msgstr "kontrollen skickas via definitionen av %qD med statisk Lagringsvaraktighet" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, gcc-internal-format + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "temporär av den ej litterala typen %qT i ett konstant uttryck" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "en % är inte ett konstant uttryck" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, gcc-internal-format + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "konvertering från pekartypen %qT till den aritmetiska typen %qT i ett konstant uttryck" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, gcc-internal-format + msgid "cast from %qT is not allowed" + msgstr "typkonvertering från %qT är inte tillåtet" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, gcc-internal-format + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "%qE är inte ett konstant uttryck när kassen %qT fortfarande är ofullständig" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, gcc-internal-format + msgid "%(%E)%> is not a constant expression" + msgstr "%(%E)%> är inte ett konstant uttryck" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, gcc-internal-format + msgid "expression %qE is not a constant expression" + msgstr "uttrycket %qE är inte ett konstant uttryck" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "% är inte ett konstant uttryck" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, gcc-internal-format + msgid "contract predicate is false in constant expression" + msgstr "kontraktspredikatet är falskt i ett konstant uttryck" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, gcc-internal-format + msgid "unexpected template-id %qE" + msgstr "oväntat mall-id %qE" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, gcc-internal-format + msgid "function concept must be called" + msgstr "funktionskoncept måste anropas" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, gcc-internal-format + msgid "address of a call to %qs is not a constant expression" + msgstr "adressen för ett anrop av %qs är inte ett konstant uttryck" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, gcc-internal-format + msgid "unexpected expression %qE of kind %s" + msgstr "oväntat uttryck %qE av sorten %s" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "%qE är inte ett konstant uttryck eftersom det har referenser till muterbara delobjekt av %qT" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "%qE är inte ett konstant uttryck eftersom det refererar till en ofullständigt initierad variabel" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "%qE är inte ett konstant uttryck eftersom det refererar ett resultat av %" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, gcc-internal-format + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "%qE är inte ett konstant uttryck eftersom allokerad lagring inte har avallokerats" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "omedelbar evaluering returnerar adressen till en omedelbar funktion %qD" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, gcc-internal-format + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "konvertering av l-värde till r-värde av ett volatilt l-värde %qE med typen %qT" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, gcc-internal-format + msgid "lambda capture of %qE is not a constant expression" + msgstr "lambdafångst av %qE är inte ett konstant uttryck" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "för att det används som ett gl-värde" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, gcc-internal-format + msgid "% from integer to pointer" + msgstr "% från heltal till pekare" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "adress-av på ett objekt %qE med trådlokal eller automatisk lagring är inte ett konstant uttryck" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, gcc-internal-format + msgid "use of % in a constant expression" + msgstr "% används i ett konstant uttryck" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, gcc-internal-format + msgid "lambda-expression is not a constant expression before C++17" + msgstr "lambdauttryck är inte ett konstant uttryck före C++17" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, gcc-internal-format + msgid "new-expression is not a constant expression before C++20" + msgstr "new-uttryck är inte ett konstant uttryck före C++20" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, gcc-internal-format + msgid "virtual functions cannot be % before C++20" + msgstr "virtuella funktioner kan inte % före C++20" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, gcc-internal-format + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "% är inte ett konstant uttryck eftersom %qE har polymorf typ" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, gcc-internal-format + msgid "cast to non-integral type %qT in a constant expression" + msgstr "typkonvertering till %qT som inte är en heltalstyp i ett konstant uttryck" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "%qD är definierad % i en %-kontext" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "%qD är definierad % i en %-kontext" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, gcc-internal-format + msgid "division by zero is not a constant expression" + msgstr "division med noll är inte ett konstant uttryck" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, gcc-internal-format + msgid "% is not a constant expression" + msgstr "% är inte ett konstant uttryck" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, gcc-internal-format + msgid "neither branch of % is a constant expression" + msgstr "ingendera grenen av % är ett konstant uttryck" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, gcc-internal-format + msgid "non-constant array initialization" + msgstr "ickekonstant vektorinitierare" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, gcc-internal-format + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "en etikettdefinition i en %-funktion är endast tillgängligt med %<-std=c++2b%> eller %<-std=gnu++2b%>" + + # ast = abstract syntax tree +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, gcc-internal-format, gfc-internal-format + msgid "unexpected AST of kind %s" + msgstr "oväntat AST av sorten %s" +@@ -51614,7 +51604,7 @@ msgstr "korutinlöftestypen %qT deklarerar både % och % declared here" + msgstr "% deklarerades här" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, gcc-internal-format + msgid "no member named %qE in %qT" + msgstr "ingen medlem med namnet %qE i %qT" +@@ -51706,7 +51696,7 @@ msgstr "riktningsargumentet till %<__builtin_coro_promise%> måste vara en konst + msgid "no suspend point info for %qD" + msgstr "ingen suspenderingspunktsinformation för %qD" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "%qE tillhandahålls av %qT men är inte användbart med funktionssignaturen %qD" +@@ -51726,23 +51716,23 @@ msgstr "vänteuttryck är inte tillåtna i hanterare" + msgid "variable length arrays are not yet supported in coroutines" + msgstr "vektorer med variabel längd stödjs inte ännu i korutiner" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "%qE tillhandahålls av %qT men %qE är inte markerad % eller %" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "%qE är markerad % eller % men ingen användbar % tillhandahålls av %qT" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "%qE tillhandahålls av %qT men % finns inte" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, gcc-internal-format + msgid "cannot initialize a return object of type %qT with an rvalue of type %" + msgstr "det går inte att initiera ett returobjekt av typen %qT med ett r-värde av typen %" +@@ -52222,7 +52212,7 @@ msgstr "än tidigare deklaration av %qF" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "omdeklaration av %qD skiljer i %qs från tidigare deklaration" + +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, gcc-internal-format + msgid "previous declaration %qD" + msgstr "tidigare deklaration %qD" +@@ -52622,2274 +52612,2274 @@ msgstr "%qD är en funktion, inte en typ" + msgid "%q#T is not a class" + msgstr "%q#T är inte en klass" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "ingen klassmall med namnet %q#T i %q#T" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, gcc-internal-format + msgid "no type named %q#T in %q#T" + msgstr "ingen typ med namnet %q#T i %q#T" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, gcc-internal-format + msgid "lookup of %qT in %qT is ambiguous" + msgstr "uppslagning av %qT i %qT är tvetydig" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "% namnger %q#T, som inte är en klassmall" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, gcc-internal-format + msgid "% names %q#D, which is not a type" + msgstr "% namnger %q#D, som inte är en typ" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, gcc-internal-format + msgid "template parameters do not match template %qD" + msgstr "mallparametrar stämmer inte med mallen %qD" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, gcc-internal-format + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "%<-faligned-new=%d%> är inte en potens av två" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "%<--param destructive-interference-size=%d%> är mindre än %d" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "%<--param destructive-interference-size=%d%> är mindre än %<--param l1-cache-line-size=%d%>" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "%<--param constructive-interference-size=%d%> är mindre än %d" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "%<--param constructive-interference-size=%d%> är större än %<--param l1-cache-line-size=%d%>" + +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, gcc-internal-format + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "%q#D ogiltig, en anonym union kan bara ha publika ickestatiska datamedlemmar" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "denna flexibilitet bör undvikas och kommer tas bort" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, gcc-internal-format + msgid "anonymous struct with base classes" + msgstr "anonym post med basklasser" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "medlem %q+#D med konstruerare inte tillåten i anonymt aggregat" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "medlem %q+#D med destruerare inte tillåten i anonymt aggregat" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "medlem %q+#D med kopieringstilldelningsoperator är inte tillåten i anonymt aggregat" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, gcc-internal-format + msgid "attribute ignored in declaration of %q#T" + msgstr "attribut ignoreras i deklaration av %q#T" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, gcc-internal-format + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "attribut för %q#T måste komma efter nyckelordet %qs" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "flera typer i en deklaration" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "omdeklaration av inbyggd C++-typ %qT" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, gcc-internal-format + msgid "% can only be specified for variables or function declarations" + msgstr "% kan endast anges för variabler eller funktionsdeklarationer" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "typnamn saknas i typedef-deklaration" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "ISO C++ förbjuder anonyma poster" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "% kan endast anges för funktioner" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "% kan endast anges för funktioner" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "% kan endast anges inuti en klass" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "% kan endast anges för konstruerare" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "en lagringsklass kan bara anges för objekt och funktioner" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "% kan bara anges för objekt och funktioner" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "% kan bara anges för objekt och funktioner" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, gcc-internal-format + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "%<__restrict%> kan bara anges för objekt och funktioner" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, gcc-internal-format + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "%<__thread%> kan bara anges för objekt och funktioner" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, gcc-internal-format + msgid "% was ignored in this declaration" + msgstr "% ignorerades i denna deklaration" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, gcc-internal-format + msgid "%qs cannot be used for type declarations" + msgstr "%qs kan inte användas till typdeklarationer" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, gcc-internal-format + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "attribut ignoreras i explicit instansiering av %q#T" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, gcc-internal-format + msgid "no attribute can be applied to an explicit instantiation" + msgstr "inget attribut kan användas på en explicit instansiering" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, gcc-internal-format + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "ignorerar attribut använda på klasstypen %qT utanför dess definition" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "ignorerar attribut använda på beroende typ %qT utan en associerad deklaration" + +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, gcc-internal-format + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "typedef %qD är initierad (använd %qs istället)" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "deklarationen av %q#D har % och är initierad" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "definitionen av %q#D är markerad %" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, gcc-internal-format + msgid "%q+#D is not a static data member of %q#T" + msgstr "%q+#D är inte en statisk datamedlem i %q#T" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, gcc-internal-format + msgid "non-member-template declaration of %qD" + msgstr "icke-medlemsmalldeklaration av %qD" + +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, gcc-internal-format + msgid "does not match member template declaration here" + msgstr "stämmer inte med medlemsmalldeklarationen här" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "ISO C++ tillåter inte %<%T::%D%> att definieras som %<%T::%D%>" + +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "dubblerad initierare av %qD" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "deklaration av %q#D utanför en klass är inte en definition" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "extern-deklaration %q#D med blockräckvidd är inte tillåtet i modulens räckvidd" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "%qD definierad % i en %qs-funktion är endast tillgängligt med %<-std=c++2b%> eller %<-std=gnu++2b%>" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "%qD definierad % i en %qs-funktion är endast tillgängligt med %<-std=c++2b%> eller %<-std=gnu++2b%>" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "variabeln %q#D har initierare men ofullständig typ" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "elementen i vektorn %q#D har ofullständig typ" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "aggregatet %q#D har ofullständig typ och kan inte definieras" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "%qD är deklarerad som en referens men inte initierad" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, gcc-internal-format + msgid "name used in a GNU-style designated initializer for an array" + msgstr "namn använt i en designerad initierare i GNU-stil för en vektor" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "namnet %qD använt i en designerad initierare i GNU-stil för en vektor" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "icketriviala designerade initierare stödjs inte" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, gcc-internal-format + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "C99-beteckningen %qE är inte ett konstantuttryck av heltalstyp" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "initierare misslyckas med att bestämma storleken på %qD" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, gcc-internal-format + msgid "array size missing in %qD" + msgstr "vektorstorlek saknas i %qD" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, gcc-internal-format + msgid "zero-size array %qD" + msgstr "vektor med storlek noll %qD" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, gcc-internal-format + msgid "storage size of %qD isn%'t known" + msgstr "lagringsstorlek på %qD är inte känd" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, gcc-internal-format + msgid "storage size of %qD isn%'t constant" + msgstr "lagringsstorlek på %qD är inte konstant" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, gcc-internal-format + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "tyvärr: semantiken för inline-variabeln %q#D är felaktig (du kommer få flera exemplar)" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, gcc-internal-format + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "tyvärr: semantiken för inline-funktioners statiska data %q#D är felaktig (du kommer få flera exemplar)" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, gcc-internal-format + msgid "you can work around this by removing the initializer" + msgstr "du kan gå runt detta genom att ta bort initieraren" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, gcc-internal-format + msgid "uninitialized %" + msgstr "oinitierad %" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, gcc-internal-format + msgid "uninitialized variable %qD in % function" + msgstr "oinitierad variabel %qD i %-funktion" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, gcc-internal-format + msgid "uninitialized variable %qD in % context" + msgstr "oinitierad variabel %qD i %-kontext" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, gcc-internal-format + msgid "%q#T has no user-provided default constructor" + msgstr "%q#T har ingen användardefinierad standardkonstruerare" + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "konstrueraren är inte användarens egna eftersom den är uttryckligen standarddefinierad i klasskroppen" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "och den implicit definierade konstrueraren initierar inte %q#D" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "ogiltig typ %qT som initierare för en vektor med typ %qT" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "initierare för %qT måste vara inom klamrar" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, gcc-internal-format + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "%<[%E] =%> använt i en designerad initierare i GNU-stil för klassen %qT" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "%qT har ingen icke-statisk medlem med namnet %qD" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, gcc-internal-format + msgid "%qD is not a direct member of %qT" + msgstr "%qD har inte en direkt medlem i %qT" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, gcc-internal-format + msgid "invalid initializer for %q#D" + msgstr "ogiltig initierare för %q#D" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "C99-beteckningen %qE utanför aggregatinitierare" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "för många initierare för %qT" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "klamrar runt skalär initierare för typen %qT" + +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, gcc-internal-format + msgid "too many braces around scalar initializer for type %qT" + msgstr "för många klamrar runt skalär initierare för typen %qT" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "klamrar saknas runt initierare för %qT" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, gcc-internal-format + msgid "structured binding has incomplete type %qT" + msgstr "strukturerad bindning har en ofullständig typ %qT" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, gcc-internal-format + msgid "elements of array %q#T have incomplete type" + msgstr "element i vektorn %q#T har ofullständig typ" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, gcc-internal-format + msgid "variable-sized compound literal" + msgstr "sammansatta litteral med variabel storlek" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, gcc-internal-format + msgid "%q#D has incomplete type" + msgstr "%q#D har ofullständig typ" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, gcc-internal-format + msgid "scalar object %qD requires one element in initializer" + msgstr "skalärt objekt %qD kräver ett element i initieraren" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, gcc-internal-format + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "i C++98 måste %qD initieras med en konstruerare, inte med %<{...}%>" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "vektor %qD initierad från strängkonstant inom parentes %qE" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "initierare är ogiltig för statisk medlem med konstruerare" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "ej konstant initiering inom klassen av statisk medlem %qD" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "ej konstant initiering inom klassen är felaktig för icke inline statisk medlem %qD" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "(en initiering utanför klassen krävs)" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, gcc-internal-format + msgid "reference %qD is initialized with itself" + msgstr "referensen %qD initieras med sig själv" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, gcc-internal-format + msgid "could not find variant declaration" + msgstr "kunde inte hitta en variantdeklaration" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, gcc-internal-format + msgid "% on constructor %qD" + msgstr "% på konstrueraren %qD" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, gcc-internal-format + msgid "% on destructor %qD" + msgstr "% på destrueraren %qD" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, gcc-internal-format + msgid "% on defaulted %qD" + msgstr "% på standarddefinierad %qD" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, gcc-internal-format + msgid "% on deleted %qD" + msgstr "% på raderad %qD" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, gcc-internal-format + msgid "% on virtual %qD" + msgstr "% på virtuell %qD" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "tilldelning (inte initiering) i deklaration" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, gcc-internal-format + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "ISO C++17 tillåter inte specificeraren % av lagringsklass" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, gcc-internal-format + msgid "% storage class specifier used" + msgstr "specificeraren % av lagringsklass angiven" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "deklarationen av %q#D har ingen initierare" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, gcc-internal-format + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "initieraren för % har funktionstyp; glömde du %<()%>?" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, gcc-internal-format + msgid "deduced type %qT for %qD is incomplete" + msgstr "härledd typ %qT för %qD är ofullständig" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, gcc-internal-format + msgid "variable concept has no initializer" + msgstr "variabelkoncept har ingen initierare" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "skuggar tidigare typdeklaration av %q#D" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, gcc-internal-format + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "% kan bara tillämpas på en variabel med statisk eller trådlagringsvaraktighet" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "funktionen %q#D är initierad som en variabel" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr "det går inte dekomponera klasstypen %qT för att den har en anonym struct-medlem" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "kan inte dekomponera klasstypen %qT för att den har en anonym unionsmedlem" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, gcc-internal-format + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "det går inte att dekomponera en oåtkomlig medlem %qD av %qT" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "kan inte dekomponera klasstypen %qT: både den och dess basklass %qT har ickestatiska datamedlemmar" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "kan inte dekomponera klasstypen %qT: dess basklasser %qT och %qT har ickestatiska datamedlemmar" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, gcc-internal-format + msgid "structured binding refers to incomplete type %qT" + msgstr "strukturerad bindning refererar till ofullständig typ %qT" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, gcc-internal-format + msgid "cannot decompose variable length array %qT" + msgstr "det går inte att dekomponera en vektor %qT med variabel längd" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, gcc-internal-format, gfc-internal-format + msgid "%u name provided for structured binding" + msgid_plural "%u names provided for structured binding" + msgstr[0] "%u namn angivet för strukturerad bindning" + msgstr[1] "%u namn angivna för strukturerad bindning" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" + msgstr[0] "endast %u namn angivet för strukturerad bindning" + msgstr[1] "endast %u namn angivna för strukturerad bindning" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" + msgstr[0] "medan %qT dekomponeras till %wu element" + msgstr[1] "medan %qT dekomponeras till %wu element" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, gcc-internal-format + msgid "cannot decompose variable length vector %qT" + msgstr "det går inte att dekomponera en vektor %qT med variabel längd" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, gcc-internal-format + msgid "%::value%> is not an integral constant expression" + msgstr "%::value%> är inte ett konstantuttryck av heltalstyp" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "medan %qT dekomponeras till %E element" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "%::type%> är %" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, gcc-internal-format + msgid "in initialization of structured binding variable %qD" + msgstr "i initieringen av variabel %qD i strukturerad bindning" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, gcc-internal-format + msgid "cannot decompose union type %qT" + msgstr "det går inte att dekomponera unionstypen %qT" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, gcc-internal-format + msgid "cannot decompose non-array non-class type %qT" + msgstr "det går inte att dekomponera typen %qT som inte är en klass eller vektor" + +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, gcc-internal-format + msgid "cannot decompose lambda closure type %qT" + msgstr "det går inte att dekomponera lambdahöljestypen %qT" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, gcc-internal-format + msgid "structured binding refers to incomplete class type %qT" + msgstr "strukturerad bindning refererar till ofullständig klasstyp %qT" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, gcc-internal-format + msgid "cannot decompose class type %qT without non-static data members" + msgstr "det går inte att dekomponera klasstypen %qT utan icke-statiska datamedlemmar" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "ickelokal variabel %qD deklarerad %<__thread%> behöver dynamisk initiering" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "den icke-lokala variabeln %qD deklarerad %<__thread%> har en icke-trivial destruerare" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "C++11 % tillåter dynamisk initialisering och destruktion" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, gcc-internal-format + msgid "initializer fails to determine size of %qT" + msgstr "initierare misslyckas med att bestämma storleken på %qT" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, gcc-internal-format + msgid "array size missing in %qT" + msgstr "vektorstorlek saknas i %qT" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, gcc-internal-format + msgid "zero-size array %qT" + msgstr "vektor med storlek noll %qT" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "destruerare för främmande class %qT kan inte vara en medlem" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "konstruerare för främmande klass %qT kan inte vara en medlem" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, gcc-internal-format + msgid "%qD declared as a % variable" + msgstr "%qD deklarerad som en %-variabel" + +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "%- och %-funktionsspecificerare på %qD är ogiltiga i variabeldeklaration" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, gcc-internal-format + msgid "%qD declared as a % parameter" + msgstr "%qD deklarerad som en %-parameter" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, gcc-internal-format + msgid "%qD declared as an % parameter" + msgstr "%qD deklarerad som en %-parameter" + +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "%- och %-funktionsspecificerare på %qD är ogiltiga i parameterdeklaration" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, gcc-internal-format + msgid "%qD declared as a % type" + msgstr "%qD deklarerad som en %-typ" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, gcc-internal-format + msgid "%qD declared as an % type" + msgstr "%qD deklarerad som en %-typ" + +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "%- och %-funktionsspecificerare på %qD är ogiltiga i typdeklaration" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, gcc-internal-format + msgid "%qD declared as a % field" + msgstr "%qD deklarerat som ett %-fält" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, gcc-internal-format + msgid "%qD declared as an % field" + msgstr "%qD deklarerat som ett %-fält" + +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "%- och %-funktionsspecificerare på %qD är ogiltiga i fältdeklaration" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "%q+D deklarerad som en vän" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "%q+D deklarerad med en undantagsspecifikationer" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "definitionen av %qD är inte i en namnrymd som innesluter %qT" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "statisk medlemsfunktion %q#D deklarerad med typkvalificerare" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, gcc-internal-format + msgid "concept %q#D declared with function parameters" + msgstr "konceptet %q#D deklarerad med funktionsparametrar" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, gcc-internal-format + msgid "concept %q#D declared with a deduced return type" + msgstr "konceptet %q#D deklarerat med en härledd returtyp" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, gcc-internal-format + msgid "concept %q#D with non-% return type %qT" + msgstr "koncept %q#D med icke-%-returtyp %qT" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, gcc-internal-format + msgid "concept %qD has no definition" + msgstr "konceptet %qD har ingen definition" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, gcc-internal-format + msgid "a function concept cannot be constrained" + msgstr "ett funktionskoncept kan inte begränsas" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, gcc-internal-format + msgid "constraints on a non-templated function" + msgstr "begränsning av en funktion som inte är en mall" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "definierar explicit specialisering %qD i vändeklaration" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "ogiltig användning av mall-id %qD i deklaration av primär mall" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "standardargument är inte tillåtna i deklaration av vänmallspecialisering %qD" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "% är inte tillåtet i deklaration av vänmallspecialisering %qD" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, gcc-internal-format + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "vändeklarationen av %qD anger standardargument och är inte en definition" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "det går inte att deklarera %<::main%> som en mall" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "det går inte att deklarera %<::main%> som inline" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be %qs" + msgstr "det går inte att deklarera %<::main%> som %qs" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "det går inte att deklarera %<::main%> som static" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, gcc-internal-format + msgid "static member function %qD cannot have cv-qualifier" + msgstr "statisk medlemsfunktion %qD kan inte ha cv-kvalificerare" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, gcc-internal-format + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "icke-medlemsfunktion %qD kan inte ha cv-kvalificerare" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, gcc-internal-format + msgid "static member function %qD cannot have ref-qualifier" + msgstr "statisk medlemsfunktion %qD kan inte ha ref-kvalificerare" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, gcc-internal-format + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "icke-medlemsfunktion %qD kan inte ha ref-kvalificerare" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, gcc-internal-format + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "härledningsguiden %qD måste deklareras med i samma räckvidd som %qT" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, gcc-internal-format + msgid "deduction guide %qD must have the same access as %qT" + msgstr "härledningsguiden %qD måste ha samma åtkomst som %qT" + +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, gcc-internal-format + msgid "deduction guide %qD must not have a function body" + msgstr "härledningsguiden %qD får inte ha en funktionskropp" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, gcc-internal-format + msgid "literal operator with C linkage" + msgstr "litteral operator med C-länkning" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, gcc-internal-format + msgid "%qD has invalid argument list" + msgstr "%qD har en ogiltig argumentlista" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "heltalssuffixet %qs skuggas av implementationen" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, gcc-internal-format + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "flyttalssuffixet %qs skuggas av implementationen" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "litterala operatorsuffix som inte föregås av %<_%> är reserverade för framtida standardisering" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, gcc-internal-format + msgid "%qD must be a non-member function" + msgstr "%qD måste vara en icke-medlems-funktion" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, gcc-internal-format + msgid "%<::main%> must return %" + msgstr "%<::main%> måste returnera %" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "omdefinition av implicit deklarerad %qD" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, gcc-internal-format + msgid "definition of explicitly-defaulted %q+D" + msgstr "definition av explicit standarddefinierad %q+D" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, gcc-internal-format + msgid "%q#D explicitly defaulted here" + msgstr "%q#D explicit standarddefinierad här" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "ingen medlemsfunktion %q#D deklarerad i klassen %qT" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a global variable" + msgstr "det går inte att deklarera %<::main%> som en global variabel" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, gcc-internal-format + msgid "a non-template variable cannot be %" + msgstr "en icke-mallvariabel variabel kan inte vara %" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, gcc-internal-format + msgid "concept must be defined at namespace scope" + msgstr "koncept måste definieras med namnrymdsräckvidd" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "koncept måste ha typen %" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, gcc-internal-format + msgid "a variable concept cannot be constrained" + msgstr "ett variabelkoncept kan inte begränsas" + +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "initiering i klassen av statisk datamedlem %q#D med ofullständig typ" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, gcc-internal-format + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "% behövs för initiering i klassen av statisk datamedlem med icke heltalstyp %q#D" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "initiering i klassen av statisk datamedlem %q#D med icke-litteral typ" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "ogiltig initiering i klassen av statisk datamedlem med icke heltalstyp %qT" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "ISO C++ förbjuder initiering inom klassen av icke-konstant statisk medlem %qD" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "ISO C++ förbjuder initiering av medlemskonstant %qD av icke heltalstyp %qT" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "storlek på vektorn %qD av typen %qT är inte en heltalstyp" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "storlek på vektorn av typen %qT är inte en heltalstyp" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "storlek på vektorn %qD är inte ett konstantuttryck av heltalstyp" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "storlek på vektorn är inte ett konstantuttryck av heltalstyp" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "ISO C++ förbjuder vektor %qD med storlek noll" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "ISO C++ förbjuder vektor med storlek noll" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array %qD" + msgstr "ISO C++ förbjuder vektor %qD med variabel längd" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array" + msgstr "ISO C++ förbjuder vektor med variabel längd" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "vektor %qD med variabel längd används" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "vektor med variabel längd används" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "spill i vektordimension" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, gcc-internal-format + msgid "%qD declared as array of template placeholder type %qT" + msgstr "%qD är deklarerad som en vektor av mallens platshållartyp %qT" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, gcc-internal-format + msgid "creating array of template placeholder type %qT" + msgstr "skapar en vektor av mallens platshållartyp %qT" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, gcc-internal-format + msgid "declaration of %qD as array of void" + msgstr "deklaration av %qD som en vektor av void" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, gcc-internal-format + msgid "creating array of void" + msgstr "skapar vektor av void" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, gcc-internal-format + msgid "declaration of %qD as array of functions" + msgstr "deklaration av %qD som en vektor av funktioner" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, gcc-internal-format + msgid "creating array of functions" + msgstr "skapar vektor av funktioner" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, gcc-internal-format + msgid "declaration of %qD as array of references" + msgstr "deklaration av %qD som en vektor av referenser" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, gcc-internal-format + msgid "creating array of references" + msgstr "skapar vektor av referenser" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, gcc-internal-format + msgid "declaration of %qD as array of function members" + msgstr "deklaration av %qD som en vektor av funktionsmedlemmar" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, gcc-internal-format + msgid "creating array of function members" + msgstr "skapar vektor av funktionsmedlemmar" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "deklaration av %qD som flerdimensionell vektor måste ha gränser för alla dimensioner utom den första" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "flerdimensionell vektor måste ha gränser för alla dimensioner utom den första" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, gcc-internal-format + msgid "variable-length array of %" + msgstr "vektor med variabel längd av %" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "en returtypsspecifikation för konstruerare är ogiltig" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, gcc-internal-format + msgid "qualifiers are not allowed on constructor declaration" + msgstr "kvalificerare är inte tillåtna vid konstruerardeklaration" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "specifikation av returtyp för destruerare är ogiltigt" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, gcc-internal-format + msgid "qualifiers are not allowed on destructor declaration" + msgstr "kvalificerare är inte tillåtna vid destruerardeklaration" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, gcc-internal-format + msgid "return type specified for %" + msgstr "returtyp angiven för %" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "kvalificerare är inte tillåtna på deklaration av %" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, gcc-internal-format + msgid "return type specified for deduction guide" + msgstr "returtypen angiven för härledningsguiden" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "kvalificerare är inte tillåtna på deklaration av härledningsguide" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, gcc-internal-format + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "mallmallparameter %qT i deklaration av härledningsguide" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, gcc-internal-format + msgid "% in declaration of deduction guide" + msgstr "% i deklaration av härledningsguide" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "namnlös variabel eller fält deklarerad void" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "variabel eller fält deklarerad void" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, gcc-internal-format + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "specificeraren % är ogiltig för variabeln %qD deklarerad med blockräckvidd" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, gcc-internal-format + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "inline-variabler är endast tillgängliga med %<-std=c++17%> eller %<-std=gnu++17%>" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "%qT som en typ snarare en enkel %" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, gcc-internal-format + msgid "% cannot be cv-qualified" + msgstr "% får inte vara cv-kvalificerad" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "ogiltig användning av kvalificerat namn %<::%D%>" + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "ogiltig användning av kvalificerat namn %<%T::%D%>" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "ogiltig användning av kvalificerat namn %<%D::%D%>" + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, gcc-internal-format + msgid "%q#T is not a class or namespace" + msgstr "%q#T är inte en klass eller namnrymd" + +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, gcc-internal-format + msgid "declaration of %qE as non-function" + msgstr "deklaration av %qE som en icke-funktion" + +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, gcc-internal-format + msgid "declaration of %qE as non-member" + msgstr "deklaration av %qE som icke-medlem" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "deklarerar-id saknas, använder reserverat ord %qD" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "funktionsdefinition deklarerar inte parametrar" + +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "deklaration av %qD som en icke-funktion" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, gcc-internal-format + msgid "declaration of %qD as %" + msgstr "deklaration av %qD som %" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, gcc-internal-format + msgid "declaration of %qD as parameter" + msgstr "deklaration av %qD som en parameter" + +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, gcc-internal-format + msgid "both %qs and %qs specified" + msgstr "både %qs och %qs angivna" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, gcc-internal-format + msgid "%qs cannot appear in a typedef declaration" + msgstr "%qs kan inte förekomma i en typedef-deklaration" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "man kan använda högst en av specificerarna % och %" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "två eller fler datatyper i deklaration av %qs" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, gcc-internal-format + msgid "ISO C++ does not support plain % meaning %" + msgstr "ISO C++ stödjer inte bara % i meningen %" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "ISO C++ förbjuder deklaration av %qs utan typ" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, gcc-internal-format + msgid "%<__int%d%> is not supported by this target" + msgstr "%<__int%d%> stödjs inte på denna målarkitektur" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, gcc-internal-format + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "ISO C++ stödjer inte %<__int%d%> för %qs" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, gcc-internal-format + msgid "% and % specified together" + msgstr "% och % givna tillsammans" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, gcc-internal-format + msgid "% and % specified together" + msgstr "% och % angivna tillsammans" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, gcc-internal-format + msgid "%qs specified with %qT" + msgstr "%qs specificerad med %qT" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, gcc-internal-format + msgid "%qs specified with %qD" + msgstr "%qs specificerad med %qD" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "%qs specificerad med %" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "%qs specificerad med %" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, gcc-internal-format + msgid "complex invalid for %qs" + msgstr "complex ogiltig för %qs" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "mallargumentlistan saknas efter %qE; för härledning måste mallplatshållare följas av ett enkelt deklarerar-id" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, gcc-internal-format + msgid "member %qD cannot be declared both % and %" + msgstr "medlem %qD kan inte deklareras både % och %" + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, gcc-internal-format + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "medlem %qD kan deklareras både % och % endast i %<-std=c++20%> eller %<-std=gnu++20%>" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "typedef-deklaration ogiltig i parameterdeklaration" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, gcc-internal-format + msgid "storage class specified for template parameter %qs" + msgstr "lagringsklass angiven för mallparameter %qs" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "lagringsklass angiven för parameter %qs" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, gcc-internal-format + msgid "a parameter cannot be declared %qs" + msgstr "en parameter kan inte deklareras %qs" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "% utanför klassdeklaration" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, gcc-internal-format + msgid "structured binding declaration cannot be %qs" + msgstr "deklaration av strukturerad bindning får inte vara %qs" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, gcc-internal-format + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "strukturerade bindningsdeklarationer kan vara %qs endast i %<-std=c++20%> eller %<-std=gnu++20%>" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, gcc-internal-format + msgid "%-qualified structured binding is deprecated" + msgstr "%-kvalificerad strukturerad bindning bör undvikas" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, gcc-internal-format + msgid "structured binding declaration cannot be C++98 %" + msgstr "deklaration av strukturerad bindning får inte vara C++98 %" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, gcc-internal-format + msgid "structured binding declaration cannot have type %qT" + msgstr "deklaration av strukturerad bindning får inte ha typen %qT" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "typen måste vara en cv-kvalificerad % eller en referens till en cv-kvalificerad %" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, gcc-internal-format + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "deklaration av strukturerad bindning får inte ha begränsat %-typ %qT" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, gcc-internal-format + msgid "multiple storage classes in declaration of %qs" + msgstr "flera lagringsklasser i deklaration av %qs" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "lagringsklass angiven för %qs" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "nästad funktion %qs är deklarerad %" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "toppnivådeklaration av %qs anger %" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "funktionsdefinitionsområde %qs implicit auto och deklarerat %<__thread%>" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "ogiltig specificerare av lagringsklass i vänfunktionsdeklarationer" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, gcc-internal-format + msgid "attribute ignored" + msgstr "attributet ignorerat" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "ett attribut som gäller en viss typspecificerare ignoreras" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, gcc-internal-format + msgid "unnecessary parentheses in declaration of %qs" + msgstr "onödiga parenteser i deklaration av %qs" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, gcc-internal-format + msgid "remove parentheses" + msgstr "ta port parenteser" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, gcc-internal-format + msgid "requires-clause on return type" + msgstr "requires-klausul på returtypen" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "funktionen %qs använder typspecificeraren % utan avslutande returtyp" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, gcc-internal-format + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "härledd returtyp är endast tillgänglig med %<-std=c++14%> eller %<-std=gnu++14%>" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, gcc-internal-format + msgid "virtual function cannot have deduced return type" + msgstr "en virtuell funktion kan inte ha härledd returtyp" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "funktionen %qs med avslutande returtyp har %qT som sin typ istället för bara %" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, gcc-internal-format + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "funktionen %qs med avslutande returtyp har % som sin typ istället för bara %" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, gcc-internal-format + msgid "invalid use of %" + msgstr "ogiltig användning av %" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, gcc-internal-format + msgid "deduced class type %qD in function return type" + msgstr "härledd klasstyp %qD i funktionens returtyp" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, gcc-internal-format + msgid "deduction guide for %qT must have trailing return type" + msgstr "härledningsguiden för %qT måste ha en avslutande returtyp" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "den avslutande returtypen %qT hos deduktionsguiden är inte en specialisering av %qT" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, gcc-internal-format + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "avslutande returtyp är endast tillgänglig med %<-std=c++11%> eller %<-std=gnu++11%>" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "funktionen %qs med avslutande returtyp är inte deklarerad med typspecificeraren %" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, gcc-internal-format + msgid "a conversion function cannot have a trailing return type" + msgstr "en konverteringsfunktion kan inte ha en avslutande returtyp" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, gcc-internal-format + msgid "%-qualified return type is deprecated" + msgstr "%-kvalificerad returtyp bör undvikas" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, gcc-internal-format + msgid "%qs declared as function returning a function" + msgstr "%qs är deklarerad som en funktion som returnerar en funktion" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "%qs är deklarerad som en funktion som returnerar en vektor" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, gcc-internal-format + msgid "% on function return type is not allowed" + msgstr "% på en funktions returtyp är inte tillåtet" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "destruerare kan inte vara en statisk medlemsfunktion" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "konstruerare kan inte vara en statisk medlemsfunktion" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "destruerare får inte vara cv-kvalificerade" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "konstruerare får inte vara cv-kvalificerade" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, gcc-internal-format + msgid "destructors may not be ref-qualified" + msgstr "destruerare får inte vara ref-kvalificerade" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, gcc-internal-format + msgid "constructors may not be ref-qualified" + msgstr "konstruerare får inte vara ref-kvalificerade" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, gcc-internal-format + msgid "constructors cannot be declared %" + msgstr "konstruerare kan inte deklareras %" + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "virtuella funktioner kan inte vara vänner" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "vändeklaration är inte i klassdefinition" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, gcc-internal-format + msgid "cannot define friend function %qs in a local class definition" + msgstr "det går inte att definiera vänfunktion %qs i en lokal klassdefinition" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "vänfunktionsdefinitionen %qs får inte ha ett namn kvalificerat med %<::%>" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "vänfunktionsdefinitionen %qs får inte ha ett namn kvalificerat med %<%D::%>" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "destruerare får inte ha parametrar" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "det går inte att deklarera pekare till %q#T" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "det går inte att deklarera referens till %q#T" + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "det går inte att deklarera pekare medlem av %q#T" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, gcc-internal-format + msgid "cannot declare reference to qualified function type %qT" + msgstr "det går inte att deklarera en referens till en kvalificerad funktionstyp %qT" + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, gcc-internal-format + msgid "cannot declare pointer to qualified function type %qT" + msgstr "det går inte att deklarera en pekare till en kvalificerad funktionstyp %qT" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "det går inte att deklarera en referens till %q#T, som inte är ett typedef- eller ett malltypargument" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "mall-id %qD använd som en deklarerare" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "medlemsfunktioner är implicit vänner till sin klass" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "extra kvalifikation %<%T::%> på medlem %qs" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, gcc-internal-format + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "det går inte att definiera medlemsfunktion %<%T::%s%> inuti %qT" + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, gcc-internal-format + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "det går inte att deklarera medlemsfunktionen %<%T::%s%> inuti %qT" + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "det går inte att deklarera medlem %<%T::%s%> inuti %qT" + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, gcc-internal-format + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "icke-parameter %qs kan inte vara ett parameterpaket" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "datamedlem får inte ha variabel typ %qT" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "parameter får inte ha variabel typ %qT" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "% utanför klassdeklaration" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, gcc-internal-format + msgid "% in friend declaration" + msgstr "% i vändeklaration" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, gcc-internal-format + msgid "only declarations of constructors and conversion operators can be %" + msgstr "endast deklarationer av konstruerare och konverteringsoperatorer kan vara %" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "icke-medlem %qs kan inte deklareras %" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "icke-objektmedlem %qs kan inte deklareras %" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "funktionen %qs kan inte deklareras %" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "% %qs kan inte deklareras %" + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "% %qs kan inte deklareras %" + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, gcc-internal-format + msgid "reference %qs cannot be declared %" + msgstr "referensen %qs kan inte deklareras %" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, gcc-internal-format + msgid "typedef may not be a function definition" + msgstr "typedef kan inte vara en funktionsdefinition" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, gcc-internal-format + msgid "typedef may not be a member function definition" + msgstr "typedef får inte vara en medlemsfunktionsdefinition" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, gcc-internal-format + msgid "% not allowed in alias declaration" + msgstr "% är inte tillåtet i en aliasdeklaration" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, gcc-internal-format + msgid "typedef declared %" + msgstr "typedef deklarerad %" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "requires-klausul på typedef" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, gcc-internal-format + msgid "typedef name may not be a nested-name-specifier" + msgstr "typedef-namn får inte vara en nästad-namnspecificerare" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "ISO C++ förbjuder nästad typ %qD med samma namn som en omgivande klass" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "% angivet för vänklassdeklaration" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "mallparametrar kan inte vara vänner" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "vändeklaration kräver klassnyckel, d.v.s. %" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "vändeklaration kräver klassnyckel, d.v.s. %" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "försöker göra klassen %qT en vän med global räckvidd" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "ogiltiga kvalificerare på typ som inte är medlemsfunktion" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "requires-klausul på type-id" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "abstrakt deklarerare %qT använd som deklaration" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, gcc-internal-format + msgid "requires-clause on declaration of non-function type %qT" + msgstr "requires-klausul vid deklaration av icke-funktionstypen %qT" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "det går inte att använda %<::%> i parameterdeklaration" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, gcc-internal-format + msgid "cannot declare a parameter with %" + msgstr "det går inte att deklarera en parameter med %" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "saknad mallargumentlista efter %qE; platshållare för mall är inte tillåtet i en parameter" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "eller använd % för en förkortad funktionsmall" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, gcc-internal-format + msgid "% parameter not permitted in this context" + msgstr "en %-parameter är tillåten i detta sammanhang" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, gcc-internal-format + msgid "parameter declared %" + msgstr "parametern deklarerad %" + +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "ogiltig användning av mallnamnet %qE utan en argumentlista" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, gcc-internal-format + msgid "non-static data member declared with placeholder %qT" + msgstr "ej statisk datamedlem deklarerad med platshållaren %qT" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, gcc-internal-format + msgid "ISO C++ forbids flexible array member %qs" + msgstr "ISO C++ förbjuder den flexibla vektormedlemmen %qs" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, gcc-internal-format + msgid "ISO C++ forbids flexible array members" + msgstr "ISO C++ förbjuder flexibla vektormedlemmar" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, gcc-internal-format + msgid "invalid use of %<::%>" + msgstr "ogiltig användning av %<::%>" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, gcc-internal-format + msgid "declaration of function %qD in invalid context" + msgstr "deklaration av funktionen %qD i ogiltig kontext" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, gcc-internal-format + msgid "function %qD declared % inside a union" + msgstr "funktionen %qD deklarerad % inuti en union" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, gcc-internal-format + msgid "%qD cannot be declared %, since it is always static" + msgstr "%qD kan inte deklareras %, eftersom den alltid är statisk" + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "kvalificerat namn förväntades i vändeklaration för destruerare %qD" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, gcc-internal-format + msgid "declaration of %qD as member of %qT" + msgstr "deklaration av %qD som medlem av %qT" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, gcc-internal-format + msgid "a destructor cannot be %qs" + msgstr "en destruerare kan inte vara %qs" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "kvalificerat namn förväntades i vändeklaration för konstruerare %qD" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, gcc-internal-format + msgid "a constructor cannot be %" + msgstr "en konstruerare kan inte vara %" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, gcc-internal-format + msgid "a concept cannot be a member function" + msgstr "ett koncept kan inte vara en medlemsfunktion" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, gcc-internal-format + msgid "%qD cannot be %qs" + msgstr "%qD kan inte vara %qs" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, gcc-internal-format + msgid "specialization of variable template %qD declared as function" + msgstr "specialisering av variabelmall %qD deklarerad som en funktion" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, gcc-internal-format + msgid "variable template declared here" + msgstr "variabelmallen är deklarerad här" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, gcc-internal-format + msgid "field %qD has incomplete type %qT" + msgstr "fältet %qD har den ofullständiga typen %qT" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "namnet %qT har ofullständig typ" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "%qE är varken en funktion eller medlemsfunktion, kan inte deklareras som vän" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, gcc-internal-format + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "ett namnlöst fält är varken en funktion eller medlemsfunktion, kan inte deklareras som vän" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, gcc-internal-format + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "ett attribut som tillhör en vändeklaration som inte är en definition ignoreras" + +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, gcc-internal-format + msgid "static data member %qE declared %qs" + msgstr "statisk datamedlem %qE deklarerad %qs" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, gcc-internal-format + msgid "% static data member %qD must have an initializer" + msgstr "statiska %-datamedlemmen %qD måste ha en initierare" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, gcc-internal-format + msgid "non-static data member %qE declared %qs" + msgstr "ickestatisk datamedlem %qE deklarerad %qs" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "lagringsklassen % är ogiltig för funktionen %qs" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "lagringsklassen % är ogiltig för funktionen %qs" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "lagringsklassen %<__thread%> är ogiltig för funktionen %qs" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "lagringsklassen % är ogiltig för funktionen %qs" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, gcc-internal-format + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "virt-specificerare i %qs är inte tillåtet utanför en klassdefinition" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "specificerare % är ogiltigt för funktion %qs deklarerad utanför global räckvidd" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "specificerare % är ogiltig för funktionen %qs deklarerad utanför global räckvidd" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "virtuell icke klassfunktion %qs" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "%qs definierad utan att vara i klassräckvidd" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, gcc-internal-format + msgid "%qs declared in a non-class scope" + msgstr "%qs deklarerad utan att vara i klassräckvidd" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "det går inte deklarera medlemsfunktionen %qD att ha statisk länkklass" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "kan inte deklarera en statisk funktion i en annan funktion" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "% får inte användas vid definition (till skillnad mot deklaration) av statisk datamedlem" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "statisk medlem %qD deklarerad %" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "det går inte att deklarera medlem %q#D att ha extern länkklass" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, gcc-internal-format + msgid "declaration of % variable %qD is not a definition" + msgstr "deklarationen av %-variabeln %qD är inte en definition" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, gcc-internal-format + msgid "a variable cannot be declared %" + msgstr "en variabel kan inte deklareras %" + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "%qs initierad och deklarerad %" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "%qs har både % och initierare" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, gcc-internal-format + msgid "default argument %qE uses %qD" + msgstr "standardargument %qE använder %qD" + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "standardargument %qE använder lokal variabel %qD" + +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, gcc-internal-format + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "felaktig användning av cv-kvalificerad typ %qT i en parameterdeklaration" + +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, gcc-internal-format + msgid "invalid use of type % in parameter declaration" + msgstr "felaktig användning av typen % i en parameterdeklaration" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, gcc-internal-format + msgid "%-qualified parameter is deprecated" + msgstr "%-kvalificerad parameter bör undvikas" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "parameter %qD ogiltigt deklarerad metodtyp" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "parameter %qD inkluderar pekare till vektor %qT med okänd gräns" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "parameter %qD inkluderar referens till vektor %qT med okänd gräns" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "ogiltig konstruerare, du menade förmodligen %<%T (const %T&)%>" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "%qD är kanske inte deklarerad i en namnrymd" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "%qD får inte deklareras som statisk" + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, gcc-internal-format + msgid "%qD must be a non-static member function" + msgstr "%qD måste vara en icke-statisk medlemsfunktion" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, gcc-internal-format + msgid "%qD must be a member function" + msgstr "%qD måste vara en medlemsfunktion" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, gcc-internal-format + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "%qD får bara vara en statisk medlemsfunktion med %<-std=c++23%> eller %<-std=gnu++23%>" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "%qD måste vara antingen en medlemsfunktion som inte är statisk eller funktion som inte är medlem" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "%qD måste ha ett argument med klass- eller uppräkningstyp" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, gcc-internal-format + msgid "ISO C++ prohibits overloading %" + msgstr "ISO C++ förhindrar överlagring av %" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "%qD får inte ha variabelt antal argument" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, gcc-internal-format + msgid "%qD must have either zero or one argument" + msgstr "%qD måste ha antingen noll eller ett argument" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, gcc-internal-format + msgid "%qD must have either one or two arguments" + msgstr "%qD måste ha antingen ett eller två argument" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, gcc-internal-format + msgid "postfix %qD must have % as its argument" + msgstr "postfix %qD måste ha % som sitt argument" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, gcc-internal-format + msgid "postfix %qD must have % as its second argument" + msgstr "postfix %qD måste ha % som sitt andra argument" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, gcc-internal-format + msgid "%qD must have no arguments" + msgstr "%qD får inte ha några argument" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, gcc-internal-format + msgid "%qD must have exactly one argument" + msgstr "%qD måste ha exakt ett argument" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, gcc-internal-format + msgid "%qD must have exactly two arguments" + msgstr "%qD måste ha exakt två argument" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "%qD kan inte ha standardargument" + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, gcc-internal-format + msgid "converting %qT to % will never use a type conversion operator" + msgstr "konvertering av %qT till % kommer aldrig använda en typkonverteringsoperator" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, gcc-internal-format + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "konvertering av %qT till en referens till samma typ kommer aldrig använda en typkonverteringsoperator" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, gcc-internal-format + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "konvertering av %qT till samma typ kommer aldrig använda en typkonverteringsoperator" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, gcc-internal-format + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "konvertering av %qT till en referens till basklassen %qT kommer aldrig använda en typkonverteringsoperator" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, gcc-internal-format + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "konvertering av %qT till basklassen %qT kommer aldrig använda en typkonverteringsoperator" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "användardefinierad %qD beräknar alltid båda argumenten" + +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "prefix %qD skall returnera %qT" + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "postfix %qD skall returnera %qT" + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "%qD skall returnera som värde" + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "malltypparametern %qT används efter %qs" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "användning av aliasmallspecialisering %qT efter %qs" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "typedef-namnet %qD används efter %qs" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, gcc-internal-format + msgid "%qD has a previous declaration here" + msgstr "%qD har en tidigare deklaration här" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "%qT refererad till som %qs" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, gcc-internal-format + msgid "%qT has a previous declaration here" + msgstr "%qT har en tidigare deklaration här" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "%qT refererad till som enum" +@@ -54901,110 +54891,110 @@ msgstr "%qT refererad till som enum" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "mallargument krävs för %<%s %T%>" + +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "referens till %qD är tvetydig" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, gcc-internal-format + msgid "class template %qD redeclared as non-template" + msgstr "klassmallen %qD omdeklarerad som en icke-mall" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "%qD har samma namn som klassen den är deklarerad i" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, gcc-internal-format + msgid "%qT is not a template" + msgstr "%qT är inte en mall" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "kanske du vill explicit lägga till %<%T::%>" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "enum %q#D används utan tidigare deklaration" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "omdeklaration av %qT som en icke-mall" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, gcc-internal-format + msgid "cannot declare %qD in a different module" + msgstr "det går inte att deklarera %qD i en annan modul" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "härledd unionen %qT ogiltig" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "%qT definierad med flera direkta baser" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, gcc-internal-format + msgid "%qT defined with direct virtual base" + msgstr "%qT definierad med en direkt virtuell bas" + +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "bastyp %qT är ingen post- eller klasstyp" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "rekursiv typ %qT odefinierad" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "upprepat bastyp %qT ogiltig" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "uppräkningstyp med/utan räckviddsbegränsning stämmer inte överens för enum %q#T" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, gcc-internal-format + msgid "previous definition here" + msgstr "tidigare definition här" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "underliggande typ stämmer inte överens i enum %q#T" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "olika underliggande typ i enum %q#T" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, gcc-internal-format + msgid "cannot define %qD in different module" + msgstr "det går inte att definiera %qD i en annan modul" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, gcc-internal-format + msgid "underlying type %qT of %qT must be an integral type" + msgstr "underliggande typ %qT till %qT måste vara en heltalstyp" +@@ -55013,82 +55003,82 @@ msgstr "underliggande typ %qT till %qT måste vara en heltalstyp" + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "ingen heltalstyp kan representera alla uppräkningsvärdena i %qT" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, gcc-internal-format + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "uppräkningsvärde för %qD är inte en heltalstyp eller uppräkningstyp utan räckviddsbegränsning" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "uppräkningsvärde för %qD är inte en heltalskonstant" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "ökat uppräkningsvärde är för stort för %" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "ökat uppräkningsvärde är för stort för %" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "överspill i uppräkningsvärden vid %qD" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, gcc-internal-format + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "uppräkningsvärdet %qE är utanför intervallet för den underliggande typen %qT" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "fler definitioner av %q#T" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "returtypen %q#T är ofullständig" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "% skall returnera en referens till %<*this%>" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, gcc-internal-format + msgid "no return statements in function returning %qT" + msgstr "inga retursatser i funktion som returnerar %qT" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, gcc-internal-format + msgid "only plain % return type can be deduced to %" + msgstr "endast enkel returtyp % kan härledas till %" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, gcc-internal-format + msgid "no return statement in % function returning non-void" + msgstr "ingen retursats i %-funktion som returnerar icke-void" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "%qD är redan definierad i klassen %qT" + +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, gcc-internal-format + msgid "using %qs" + msgstr "använder %qs" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "användning av %qD före härledning av %" +@@ -55937,7 +55927,7 @@ msgstr "typ %qT är inte en direkt eller virtuell bas till %qT" + msgid "type %qT is not a direct base of %qT" + msgstr "typ %qT är inte en direkt bas till %qT" + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "vektorer måste initieras med en initierare inom klamrar" +@@ -56991,7 +56981,7 @@ msgstr "using-deklaration för icke-medlem vid klassräckvidd" + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "% med uppräkningsräckvidd %q#T är endast tillgängligt med %<-std=c++20%> eller %<-std=gnu++20%>" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, gcc-internal-format + msgid "%qT is not a class, namespace, or enumeration" + msgstr "%qT är inte en klass, namnrymd eller uppräkning" +@@ -57735,7 +57725,7 @@ msgstr "typer får inte definieras i ett %-uttryck" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "fel antal argument till %<__builtin_addressof%>" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_launder%>" + msgstr "fel antal argument till %<__builtin_launder%>" +@@ -58444,12 +58434,12 @@ msgstr "endast konstruerare tar medlemsinitierare" + msgid "cannot expand initializer for member %qD" + msgstr "det går inte att expandera initierare för medlem %qD" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "minnesinitierare för %qD följer en konstruerardelegering" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "konstruerardelegering följer mem-initierare för %qD" +@@ -59047,7 +59037,7 @@ msgstr "mallargument saknas efter %qE" + msgid "%qT not permitted in template argument" + msgstr "%qT är inte tillåtet i mallargument" + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, gcc-internal-format + msgid "invalid use of %qT" +@@ -59908,7 +59898,7 @@ msgstr "%<[[omp::directive(%s)]]%> måste vara det enda angivna attributet på e + msgid "% clause with parameter on range-based % loop" + msgstr "en %-klausul med parameter på en intervallbaserad %-slinga" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, gcc-internal-format + msgid "iteration variable %qD should not be reduction" + msgstr "iterationsvariabel %qD skall inte vara reduction" +@@ -60915,7 +60905,7 @@ msgstr "icke-malltyp %qT använd som en mall" + msgid "for template declaration %q+D" + msgstr "för malldeklaration %q+D" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, gcc-internal-format + msgid "template constraint failure for %qD" + msgstr "mallbegränsningsfel för %qD" +@@ -61008,276 +60998,276 @@ msgstr "funktion som returnerar en vektor" + msgid "function returning a function" + msgstr "funktion som returnerar en funktion" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, gcc-internal-format + msgid "forming reference to void" + msgstr "formar referens till void" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, gcc-internal-format + msgid "forming pointer to reference type %qT" + msgstr "formar pekare till en referenstyp %qT" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, gcc-internal-format + msgid "forming reference to reference type %qT" + msgstr "formar referens till en referenstyp %qT" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, gcc-internal-format + msgid "forming pointer to qualified function type %qT" + msgstr "formerar en pekare till en kvalificerad funktionstyp %qT" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, gcc-internal-format + msgid "forming reference to qualified function type %qT" + msgstr "formerar en referens till en kvalificerad funktionstyp %qT" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr "skapar pekare till medlem av typ %qT som inte är en klass" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr "skapar pekare till medlemsreferenstyp %qT" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr "skapar pekare till medlem av typ void" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, gcc-internal-format + msgid "creating array of %qT" + msgstr "skapar vektor av %qT" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "%qD instansieras för ett tomt paket" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "%qT är inte en klass-, post- eller unionstyp" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "%qT slås upp till %qT som inte är en uppräkningstyp" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not a class type" + msgstr "%qT löses upp till %qT, som inte är en klasstyp" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, gcc-internal-format + msgid "use of %qs in template" + msgstr "användning av %qs i mall" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, gcc-internal-format + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "kvalificerande typ %qT matchar inte destruerarnamnet ~%qT" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "namnet %qE i den beroende tolkas som något annat än en typ, men instansiering ger en typ" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "säg % om en typ avses" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, gcc-internal-format + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "initierare för %q#D expanderar till en tom uttryckslista" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, gcc-internal-format + msgid "using invalid field %qD" + msgstr "användning av ogiltigt fält %qD" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, gcc-internal-format + msgid "invalid use of pack expansion expression" + msgstr "ogiltig användning av paketexpansionsuttryck" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, gcc-internal-format + msgid "use %<...%> to expand argument pack" + msgstr "använd %<...%> för att expandera argumentpaket" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, gcc-internal-format + msgid "empty initializer in lambda init-capture" + msgstr "tom initierare i lambdas init-fångst" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "%qD deklarerades inte i detta definitionsområde, och inga deklarationer hittades av en argumentberoende uppslagning vid instansieringspunkten" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "deklarationer i beroende bas %qT hittas inte av en okvalificerad uppslagning" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "använd %%D%> istället" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, gcc-internal-format + msgid "use %<%T::%D%> instead" + msgstr "använd %<%T::%D%> istället" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, gcc-internal-format + msgid "%qD declared here, later in the translation unit" + msgstr "%qD är deklarerad här, senare i översättningsenheten" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "fel antal argument till %<__builtin_convertvector%>" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, gcc-internal-format + msgid "wrong number of arguments to % attribute" + msgstr "fel antal argument till attributet %" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "%qT är inte en klass eller namnrymd" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "%qD är inte en klass eller namnrymd" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, gcc-internal-format + msgid "%qT is/uses unnamed type" + msgstr "%qT är/använder en namnlös typ" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, gcc-internal-format + msgid "template argument for %qD uses local type %qT" + msgstr "mallargumentet för %qD använder lokal typ %qT" + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "%qT är en variabel typ" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "heltalsuttryck %qE är inte konstant" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr " försöker instansiera %qD" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, gcc-internal-format + msgid "ambiguous template instantiation for %q#T" + msgstr "tvetydig mallinstansiering av %q#T" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, gcc-internal-format + msgid "ambiguous template instantiation for %q#D" + msgstr "tvetydig mallinstansiering av %q#D" + +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + msgid "%s %#qS" + msgstr "%s %#qS" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "explicit instansiering av icke-mall %q#D" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, gcc-internal-format + msgid "explicit instantiation of variable concept %q#D" + msgstr "explicit instansiering av variabelkonceptet %q#D" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, gcc-internal-format + msgid "explicit instantiation of function concept %q#D" + msgstr "explicit instansiering av funktionskonceptet %q#D" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, gcc-internal-format + msgid "%qD is not a static data member of a class template" + msgstr "%qD är inte en statisk datamedlem i en klassmall" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "det finns ingen matchande mall för %qD" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, gcc-internal-format + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "typ %qT för explicit instansiering %qD stämmer inte med deklarerad typ %qT" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "explicit instansiering av %q#D" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "dubblerad explicit instansiering av %q#D" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, gcc-internal-format + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "ISO C++ 1998 förbjuder användning av % vid explicita instansieringar" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "lagringsklass %qD tillämpad på mallinstansiering" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, gcc-internal-format + msgid "explicit instantiation of non-class template %qD" + msgstr "explicit instansieringar av mallen %q#D som inte är en klass" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "explicit instansieringar av icke-malltyp %qT" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "explicit instansiering av %q#T före definitionen av mallen" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "ISO C++ förbjuder användning av %qE vid explicita instansieringar" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "dubblerad explicit instansiering av %q#T" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, gcc-internal-format + msgid "exception specification of %qD depends on itself" + msgstr "explicit specifikation av %qD beror på sig själv" +@@ -61289,163 +61279,163 @@ msgstr "explicit specifikation av %qD beror på sig själv" + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "explicit instansiering av %qD men ingen definition tillgänglig" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, gcc-internal-format + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "mallinstansieringsdjupet överskrider maxvärdet på %d vid instansiering av %q+D, möjligen från generering av virtuell tabell (använd %<-ftemplate-depth=%> för att öka maxvärdet)" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, gcc-internal-format + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "mallparameter av härledd klasstyp som inte är en typ är endast tillgängligt med %<-std=c++20%> eller %<-std=gnu++20%>" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, gcc-internal-format + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "%qT är inte en giltig typ för en mallparameter som inte är en typ eftersom det inte är en struktur" + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, gcc-internal-format + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "mallparameter av klasstyp som inte är en typ är endast tillgängligt med %<-std=c++20%> eller %<-std=gnu++20%>" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, gcc-internal-format + msgid "invalid template non-type parameter" + msgstr "ogiltig mallparameter som inte är en typ" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, gcc-internal-format + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "%q#T är inte en giltig typ för en mallparameter som inte är en typ" + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, gcc-internal-format + msgid "keyword % not allowed in declarator-id" + msgstr "nyckelordet % är inte tillåtet i deklarerar-id" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, gcc-internal-format + msgid "a concept cannot be constrained" + msgstr "ett koncept kan inte begränsas" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, gcc-internal-format + msgid "concept %qE not in namespace scope" + msgstr "konceptet %qE är inte i namnrymdsräckvidd" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, gcc-internal-format + msgid "concept %qE has multiple template parameter lists" + msgstr "konceptet %qE har multipla mallparameterlistor" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, gcc-internal-format + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "härledning från klammeromsluten initierarlista kräver %<#include %>" + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, gcc-internal-format + msgid "non-deducible template %qT used without template arguments" + msgstr "icke härledbar mall %qT använd utan mallargument" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, gcc-internal-format + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "aliasmallhärledning är endast tillgängligt med %<-std=c++20%> eller %<-std=gnu++20%>" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, gcc-internal-format + msgid "use %qD directly instead" + msgstr "använd %qD direkt istället" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "kan inte härleda mallargument för kopieinitiering av %qT, eftersom den inte har några icke-explicita härledningsguider eller användardeklarerade konstruerare" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, gcc-internal-format + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "kan inte härleda mallargument till %qT, eftersom den inte några användbara härledningsguider" + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, gcc-internal-format + msgid "class template argument deduction failed:" + msgstr "härledning av klassmallargument misslyckades:" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, gcc-internal-format + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "explicita härledningsguider övervägs inte vid kopieinitiering" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, gcc-internal-format + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr "klassmallargumentshärledningen för %qT misslyckades: explicit härledningsguide vald i kopieringslistinitiering" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, gcc-internal-format + msgid "explicit deduction guide declared here" + msgstr "explicit härledningsguide deklarerad här" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, gcc-internal-format + msgid "%qT may not intend to support class template argument deduction" + msgstr "%qT är kanske inte avsett att stödja härledning av klassmallargument" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "lägg till en härledningsguide för att undertrycka denna varning" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "direkt listinitiering av % tar precis ett element" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "för härledning till %, använd kopielistinitiering (d.v.s. lägg till %<=%> före %<{%>)" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, gcc-internal-format + msgid "unable to deduce lambda return type from %qE" + msgstr "kan inte härleda lambdareturtyp från %qE" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, gcc-internal-format + msgid "unable to deduce %qT from %qE" + msgstr "kan inte härleda %qT från %qE" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "platshållarbegränsningar är inte uppfyllt" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, gcc-internal-format + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "härledd initierare uppfyller inte sina platshållarbegränsningar" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, gcc-internal-format + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "härledd returtyp uppfyller inte sina platshållarbegränsningar" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, gcc-internal-format + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "härledd uttryckstyp uppfyller inte sina platshållarbegränsningar" + +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, gcc-internal-format + msgid "invalid use of %qT in template argument" + msgstr "felaktig användning av %qT i mallargument" +@@ -61756,7 +61746,7 @@ msgstr "ogiltig basklasspecifikation" + msgid "cannot capture member %qD of anonymous union" + msgstr "kan inte fånga medlemmen %qD i anonym union" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, gcc-internal-format + msgid "%qD is not captured" + msgstr "%qD är inte fångad" +@@ -62164,27 +62154,27 @@ msgstr "%<__builtin_is_corresponding_member%> behöver två argument" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "argumentet till %<__builtin_is_corresponding_member%> är inte en pekare till en medlem" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, gcc-internal-format + msgid "%qD is not a class or alias template" + msgstr "%qD är inte en klass- eller aliasmall" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, gcc-internal-format + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "operanden till vikningsuttrycket har inget oexpanderat parameterpaket" + +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, gcc-internal-format + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "båda argumenten i en binär vikning har oexpanderade parameterpaket" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "inga oexpanderade parameterpack i binär fold" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, gcc-internal-format + msgid "non-pointer argument to %<__builtin_launder%>" + msgstr "icke-pekar-argument till %<__builtin_launder%>" +@@ -62192,22 +62182,22 @@ msgstr "icke-pekar-argument till %<__builtin_launder%>" + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "%<__builtin_bit_cast%>-måltyp %qT är en vektortyp" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "%<__builtin_bit_cast%>-måltyp %qT är inte trivialt kopierbar" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "%<__builtin_bit_cast%>-källtyp %qT är inte trivialt kopierbar" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "%<__builtin_bit_cast%>-källstorlek %qE är inte lika med måltypstorleken %qE" +@@ -63439,220 +63429,220 @@ msgstr "framåtdeklaration av %q#T" + msgid "declaration of %q#T" + msgstr "deklaration av %q#T" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, gcc-internal-format + msgid "%qD has incomplete type" + msgstr "%qD har ofullständig typ" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, gcc-internal-format + msgid "invalid use of incomplete type %q#T" + msgstr "ogiltig användning av ofullständig typ %q#T" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, gcc-internal-format + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "ogiltig användning av medlemsfunktionen %qD (glömde du %<()%> ?)" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, gcc-internal-format + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "ogiltig användning av medlem %qD (glömde du %<&%>?)" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, gcc-internal-format + msgid "invalid use of placeholder %qT" + msgstr "ogiltig användning av platshållaren %qT" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, gcc-internal-format + msgid "invalid use of template type parameter %qT" + msgstr "ogiltig användning av malltypparameter %qT" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, gcc-internal-format + msgid "invalid use of template template parameter %qT" + msgstr "ogiltigt standardargument för mallmallparameter %qT" + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, gcc-internal-format + msgid "invalid use of pack expansion %qT" + msgstr "ogiltig användning av paketexpansion %qT" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, gcc-internal-format + msgid "invalid use of dependent type %qT" + msgstr "ogiltig användning av beroende typ %qT" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, gcc-internal-format + msgid "invalid use of brace-enclosed initializer list" + msgstr "ogiltig användning av klammeromsluten initierarlista" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "adress till överlagrad funktion utan typinformation från sammanhanget" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "överlagrad funktion utan typinformation från sammanhanget" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "otillräcklig sammanhangsinformation för att avgöra typen" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "konstruerarsyntax använd, men ingen konstruerare är deklarerad för typ %qT" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, gcc-internal-format + msgid "% variable %qD does not have a constant initializer" + msgstr "%-variabeln %qD har inte en konstant initierare" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "avsmalnande konvertering av %qE från %qH till %qI är felaktig i C++11" + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "avsmalnande konvertering av %qE från %qH till %qI" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, gcc-internal-format + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr " uttrycket har ett konstant värde men är inte ett C++ konstant uttryck" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, gcc-internal-format + msgid "initializer-string for %qT is too long" + msgstr "initierarsträng för %qT är för lång" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "att initiera en basklass av typ %qT resulterar i objektskivning" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, gcc-internal-format + msgid "remove %<{ }%> around initializer" + msgstr "ta bort %<{ }%> runt initierare" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "det går inte att initiera aggregat med typ %qT med en sammansatt litteral" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "initierare saknas för medlem %qD" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "medlem %qD är oinitierad referens" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, gcc-internal-format + msgid "member %qD with uninitialized reference fields" + msgstr "medlem %qD med oinitierade referensfält" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, gcc-internal-format + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "ordningen på designeraren för fält %qD stämmer inte med deklarationsordningen i %qT" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "inget fält %qD finns i unionen som initieras" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "indexvärde istället för fältnamn i unioninitierare" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "cirkulär pekardelegering detekterad" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, gcc-internal-format + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "basoperanden till %<->%> har icke-pekartyp %qT" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr "resultatet av %()%> ger annat än pekare" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "basoperanden till %<->%> är inte en pekare" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "%qE kan inte användas som en medlemspekare eftersom den är av typen %qT" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, gcc-internal-format + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "det går inte att applicera medlemspekare %qE på %qE, som är av typ %qT som inte är en klass" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "pekare-på-medlemstyp %qT är inkompatibel med objekttyp %qT" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "pekare-till-medlemsfunktionstyp %qT kräver ett r-värde" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "pekare-till-medlemsfunktiontyp %qT kräver ett l-värde" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, gcc-internal-format + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "pekare-till-medlemsfunktiontyp %qT kräver ett l-värde före C++20" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, gcc-internal-format + msgid "functional cast to array type %qT" + msgstr "funktionell konvertering till vektortypen %qT" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, gcc-internal-format + msgid "% cannot be constrained" + msgstr "% kan inte begränsas" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, gcc-internal-format + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "% är endast tillgängligt med %<-std=c++2b%> eller %<-std=gnu++2b%>" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, gcc-internal-format + msgid "invalid value-initialization of reference type" + msgstr "ogiltig värdeinitiering av referenstyper" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "anrop till funktion %qD som kastar ofullständig typ %q#T" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "anrop till funktion som kastar ofullständig typ %q#T" +@@ -64588,7 +64578,7 @@ msgstr "BOZ-litteralkonstanten vid %L kan inte vara ett aktuellt argument till % + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "Argument till %qs vid %L och %L kan inte båda vara litterala BOZ-konstanter" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid use of BOZ literal constant at %L" + msgstr "Felaktig användning av en BOZ-litteralkonstant vid %L" +@@ -65681,12 +65671,12 @@ msgstr "Oanvänd initieringssträng vid %L för att variabeln har nollängd" + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "Initieringssträng vid %L höggs av för att stämma med variabeln (%ld/%ld)" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "Delsträngs startindex vid %L är mindre än ett" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L exceeds the string length" + msgstr "Slutindex för delsträng vid %L överstiger strängens längd" +@@ -65867,7 +65857,7 @@ msgstr "Felaktig INTENT-specifikation vid %C" + msgid "deferred type parameter at %C" + msgstr "fördröjd typparameter vid %C" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "Skalärt INTEGER-uttryck förväntades vid %L" +@@ -67878,7 +67868,7 @@ msgstr "transformerande inbyggd %qs vid %L är inte tillåten i ett initieringsu + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "Beräkning av ett initieringsuttryck utanför standarden vid %L" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, gcc-internal-format + msgid "Function %qs in initialization expression at %L must be an intrinsic function" + msgstr "Funktionen %qs i initieringsuttrycket vid %L måste vara en inbyggd funktion" +@@ -68149,7 +68139,7 @@ msgstr "Gränssnitten stämmer inte överens i procedurpekartilldelning vid %L: + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "Explicit gränssnitt krävs för komponenten %qs vid %L: %s" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, gcc-internal-format + msgid "Explicit interface required for %qs at %L: %s" + msgstr "Explicit gränssnitt krävs för %qs vid %L: %s" +@@ -68267,7 +68257,7 @@ msgstr "Tilldelning till sammanhängande pekare från icke sammanhängande mål + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "Pekare vid %L i pekartilldelning kan överleva pekarmålet" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must not be ALLOCATABLE" + msgstr "Pekarinitieringsmål vid %L får inte vara ALLOCATABLE" +@@ -68277,7 +68267,7 @@ msgstr "Pekarinitieringsmål vid %L får inte vara ALLOCATABLE" + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "Målet för pekarinitieringen vid %L måste ha attributet TARGET" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer initialization target at %L must have the SAVE attribute" + msgstr "Pekarinitieringsmål vid %L måste ha attributet SAVE" +@@ -68408,7 +68398,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "Otillåtet id i copy_walk_reduction_arg" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, gcc-internal-format, gfc-internal-format + msgid "Creating array temporary at %L" +@@ -68624,12 +68614,12 @@ msgstr "Första argumentet till definierad tilldelning vid %L måste vara INTENT + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "Andra argumentet av definierad tilldelning vid %L måste vara INTENT(IN)" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "Första argumentet till operatorgränssnitt vid %L måste vara INTENT(IN)" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "Andra argumentet till operatorgränssnitt vid %L måste vara INTENT(IN)" +@@ -68739,562 +68729,562 @@ msgstr "Ordning stämmer inte mellan aktuellt argument vid %L och aktuellt argum + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "Ordning stämmer inte mellan aktuellt argument vid %L och aktuellt argument vid %L (ordning %d och ordning %d)" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid procedure argument at %L" + msgstr "Ogiltigt procedurargument vid %L" + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, gcc-internal-format + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "Gränssnitt stämmer inte överens i attrapprocedur %qs vid %L: %s" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, gcc-internal-format + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "Aktuellt argument till sammanhängande pekarattrapp %qs vid %L måste vara enkelt sammanhängande" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, gcc-internal-format, gfc-internal-format + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "Typen stämmer inte mellan aktuellt argument vid %L och aktuellt argument vid %L (%s/%s)." + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, gcc-internal-format + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr "Typ stämmer inte i argument %qs vid %L; skickade %s till %s" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "Aktuellt argument med antagen typ vid %L kräver att attrappargumentet %qs har antagen typ" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "Aktuellt argument med antagen typ vid %L motsvarande ett attrappargument %qs med antagen ordning måste ha antagen form eller antagen ordning" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "Aktuellt argument till %qs vid %L måste vara polymorft" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "Aktuellt argument till %qs vid %L måste ha samma deklarerade typ" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "Aktuella argument till %qs vid %L måste vara obegränsat polymorfa eftersom det formella argumentet är en pekare eller allokerbar obegränsat polymorf entitet [F2008: 12.5.2.5]" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "Aktuellt argument till %qs vid %L måste vara en co-vektor" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, gcc-internal-format + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "Co-ordning stämmer inte i argument %qs vid %L (%d och %d)" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "Aktuellt argument till %qs vid %L måste vara enkelt sammanhängande eller ett element i en sådan vektor" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "Aktuellt argument till icke-INTENT(INOUT)-attrappen %qs vid %L, som är LOCK_TYPE eller har en LOCK_TYPE-komponent" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "Aktuellt argument till icke-INTENT(INOUT)-attrappen %qs vid %L, som är EVENT_TYPE eller har en EVENT_TYPE-komponent" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, gcc-internal-format + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "Attrappargument %qs måste vara en pekare, vektor med antagen form eller ordning utan attributet CONTIGUOUS - eftersom det aktuella argumentet vid %L inte är enkelt sammanhängande och båda är ASYNCHRONOUS eller VOLATILE" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "Skickar co-vektor vid %L till allokerbart, icke co-vektor, INTENT(OUT) attrappargument %qs" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "Skickar co-vektor vid %L till allokerbart, icke co-vektor attrappargument %qs, som är ogiltigt om allokeringsstatusen ändras" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, gcc-internal-format + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "Polymorf skalär skickad till vektorattrappargument %qs vid %L" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, gcc-internal-format, gfc-internal-format + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "Element av vektor med antagen form eller pekare skickat som aktuellt argument vid %L kan inte motsvara aktuellt argument vid %L" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, gcc-internal-format + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "Element av vektor med antagen form eller pekare skickat till vektorattrappargument %qs vid %L" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, gcc-internal-format + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "Utökning: Skalärt CHARACTER-argument som inte är av standardsort och inte C_CHAR-sort med vektorattrappargument %qs vid %L" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, gcc-internal-format + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "Fortran 2003: Aktuellt skalärt CHARACTER-argument med attrappargument som är vektor %qs vid %L" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "Nyckelordsargument %qs vid %L är felaktigt i en satsfunktion" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "Nyckelordsargument %qs vid %L finns inte i proceduren; menade du %qs?" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "Nyckelordsargument %qs vid %L finns inte i proceduren" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, gcc-internal-format + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "Nyckelordsargumentet %qs vid %L är redan associerat med ett annat aktuellt argument" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "Fler aktuella än formella argument i proceduranrop vid %L" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "Alternativ returspecificerare saknas i subrutinanrop vid %L" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, gcc-internal-format, gfc-internal-format + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "Oväntad alternativ returspecificerare i subrutinanrop vid %L" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, gcc-internal-format + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "Oväntad inbyggd NULL() vid %L till attrapp %qs" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, gcc-internal-format + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "Fortran 2008: Nollpekare vid %L till icke-pekarattrapp %qs" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, gcc-internal-format, gfc-internal-format + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "Aktuellt argument vid %L till attrapp med antagen typ har typparametrar eller är av en härledd typ med typgräns eller FINAL-procedurer" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "Teckenlängd stämmer inte (%ld/%ld) mellan aktuellt argument och pekare eller allokerbart attrappargument %qs vid %L" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "Teckenlängd stämmer inte (%ld/%ld) mellan aktuellt argument och attrappargument med antagen form %qs vid %L" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, gcc-internal-format + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "Aktuellt argument vid %L till allokerbart eller pekarattrappargument %qs måste ha en fördröjd längdtypparameter om och endast om attrappen har en" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, gcc-internal-format + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "Teckenlängden på aktuellt argument är kortare än attrappargumentet %qs (%lu/%lu) vid %L" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, gcc-internal-format + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "Aktuellt argument innehåller för få element för attrappargument %qs (%lu/%lu) vid %L" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, gcc-internal-format + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "En procedurpekare förväntade som argument %qs vid %L" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, gcc-internal-format + msgid "Expected a procedure for argument %qs at %L" + msgstr "Förväntade en procedur som argument %qs vid %L" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, gcc-internal-format + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "Aktuellt argument till %qs kan inte vara en vektor med antagen storlek vid %L" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, gcc-internal-format + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "Aktuellt argument till INTENT(OUT)-attrapp med antagen ordning %qs vid %L får inte ha okänd storlek" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "Aktuellt argument till %qs vid %L skall vara en pekare" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, gcc-internal-format + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "Fortran 2008: Aktuellt argument som inte är en pekare vid %L till pekarattrapp %qs" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "Det aktuella argumentet till %qs vid %L måste vara en pekare eller ett giltigt mål för attrappekaren i en pekartilldelningssats" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "Co-indexerat faktiskt argument vid %L till pekarattrapp %qs" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "Co-indexerat aktuellt argument vid %L till allokerbar attrapp %qs kräver INTENT(IN)" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, gcc-internal-format + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "Co-indexerat ASYNCHRONOUS eller VOLATILE aktuellt argument vid %L kräver att attrappen %qs varken har ASYNCHRONOUS eller VOLATILE" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, gcc-internal-format + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "Co-indexerat faktiskt argument vid %L med allokerbar slutlig komponent till attrappen %qs kräver antingen VALUE eller INTENT(IN)" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, gcc-internal-format + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "Aktuellt CLASS-vektorargument till %qs måste vara en fullständig vektor vid %L" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, gcc-internal-format + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "Aktuellt argument till %qs skall vara en ALLOCATABLE vid %L" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, gcc-internal-format + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "Vektorsektion som aktuellt argument med vektorindex vid %L är inte kompatibelt med attributet INTENT(OUT), INTENT(INOUT), VOLATILE eller ASYNCHRONOUS på attrappargumentet %qs" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, gcc-internal-format + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "Aktuellt argument med antagen form vid %L är inte kompatibel med attrappargumentet %qs utan antagen form på grund av attributet VOLATILE" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, gcc-internal-format + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "Vektorsektion som aktuellt argument vid %L är inkompatibelt med attrappargumentet %qs utan antagen form på grund av attributet VOLATILE" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, gcc-internal-format + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "Pekarvektor som aktuellt argument vid %L kräver ett attrappargument %qs med antagen form eller pekarvektor på grund av attributet VOLATILE" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "Alternativ returspecifikation saknas i subrutinanrop vid %L" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, gcc-internal-format + msgid "Missing actual argument for argument %qs at %L" + msgstr "Aktuellt argument saknas för argument %qs vid %L" + +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr "compare_actual_expr(): Felaktig komponentkod" + +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "check_some_aliasing(): Listor stämmer inte" + +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "check_some_aliasing(): trasig data" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, gcc-internal-format + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "Samma aktuella argument associerat med INTENT(%s)-argument %qs och INTENT(%s)-argument %qs vid %L" + +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "check_intents(): Listor stämmer inte" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "Procedurargument vid %L är lokalt i en PURE-procedur och har attributet POINTER" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "Co-indexerat aktuellt argument vid %L i en PURE-procedur skickas till ett INTENT(%s)-argument" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "Co-indexerat aktuell argument vid %L i en PURE-procedur skickas till ett POINTER-attrappargument" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, gcc-internal-format + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "Co-indexerat polymorft aktuellt argument vid %L skickas ett polymorft attrappargument %qs" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "Proceduren %qs anropad vid %L är inte explicit deklarerad; menade du %qs?" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, gcc-internal-format + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "Proceduren %qs anropad vid %L är inte explicit deklarerad" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, gcc-internal-format + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "Procedur %qs anropad med ett implicit gränssnitt vid %L" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, gcc-internal-format + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "Pekarobjektet %qs vid %L måste ha ett explicit funktionsgränssnitt eller deklareras som vektor" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, gcc-internal-format + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "Det allokerbara objektet %qs vid %L måste ha ett explicit funktionsgränssnitt eller deklareras som vektor" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, gcc-internal-format + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "Allokerbar funktion %qs vid %L måste ha ett explicit funktionsgränssnitt" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, gcc-internal-format, gfc-internal-format + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "Explicit gränssnitt krävs för polymorft argument vid %L" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "Nyckelordsargument kräver explicit gränssnitt för proceduren %qs vid %L" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "Argumentet ”%s” med antagen typ vid %L kräver ett explicit gränssnitt" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, gcc-internal-format + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "Aktuellt argument till LOCK_TYPE eller med LOCK_TYPE-komponent vid %L kräver ett explicit gränssnitt för proceduren %qs" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, gcc-internal-format + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "Aktuellt argument till EVENT_TYPE eller med EVENT_TYPE-komponent vid %L kräver ett explicit gränssnitt för proceduren %qs" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD argument to NULL required at %L" + msgstr "MOLD-argumentet till NULL krävs vid %L" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, gcc-internal-format, gfc-internal-format + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "Att skicka ett inbyggt NULL som aktuellt argumentet vid %L kräver ett explicit gränssnitt" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "Argumentet med antagen ordning kräver ett explicit gränssnitt vid %L" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, gcc-internal-format + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "Procedurpekarkomponent %qs anropad med ett implicit gränssnitt vid %L" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "Nyckelordsargument kräver explicit gränssnitt för procedurpekarkomponent %qs vid %L" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "MOLD= krävs i NULL()-argument vid %L: Tvetydighet mellan de specifika funktionerna %s och %s" + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, gcc-internal-format + msgid "Unable to find symbol %qs" + msgstr "Kan inte hitta symbolen %qs" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, gcc-internal-format + msgid "Entity %qs at %L is already present in the interface" + msgstr "Entiteten %qs vid %L finns redan i gränssnittet" + +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, gcc-internal-format + msgid "gfc_add_interface(): Bad interface type" + msgstr "gfc_add_interface(): Felaktig gränssnittstyp" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, gcc-internal-format + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "Det går inte att skriva över GENERIC %qs vid %L" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, gcc-internal-format + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "%qs vid %L åsidosätter en procedurbindning deklarerad NON_OVERRIDABLE" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, gcc-internal-format + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "%qs vid %L får inte vara DEFERRED eftersom det åsidosätter en ej DEFERRED bindning" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, gcc-internal-format + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "%qs vid %L åsidosätter en PURE-procedur och måste också vara PURE" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, gcc-internal-format + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "%qs vid %L åsidosätter en ELEMENTAL-procedur och måste också vara ELEMENTAL" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, gcc-internal-format + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "%qs vid %L åsidosätter en icke-ELEMENTAL-procedur och får inte heller vara ELEMENTAL" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, gcc-internal-format + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "%qs vid %L åsidosätter en SUBROUTINE och måste också vara en SUBROUTINE" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, gcc-internal-format + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "%qs vid %L åsidosätter en FUNCTION och måste också vara en FUNCTION" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, gcc-internal-format + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "Resultaten stämmer inte överens för den åsidosättande proceduren %qs vid %L: %s" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, gcc-internal-format + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "%qs vid %L åsidosätter en PUBLIC-procedur och får inte vara PRIVATE" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, gcc-internal-format + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "Attrappargument %qs till %qs vid %L skulle ha namnet %qs för att stämma med motsvarande argument i den åsidosatta proceduren" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, gcc-internal-format + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "Argument stämmer inte överens för den åsidosättande proceduren %qs vid %L: %s" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, gcc-internal-format + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "%qs vid %L måste ha samma antal formella argument som den åsidosatta proceduren" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, gcc-internal-format + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "%qs vid %L åsidosätter en NOPASS-bindning och måste också vara NOPASS" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, gcc-internal-format + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "%qs vid %L åsidosätter en bindning med PASS och måste också vara PASS" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "Attrappargument för pass-objekt till %qs vid %L måste vara på samma position som attrappargumentet för pass-objektet i den åsidosatta proceduren" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "DTIO-attrappargument vid %L måste ha typen %s" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "DTIO-attrappargument vid %L måste ha KIND = %d" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "DTIO-attrappargument vid %L måste vara skalärt" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "DTIO-attrappargument vid %L måste vara en ASSUMED SHAPE ARRAY" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO character argument at %L must have assumed length" + msgstr "DTIO-teckenargumentet vid %L måste ha antagen längd" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "DTIO-attrappargument vid %L måste ha INTENT %s" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "Alternativ retur vid %L är inte tillåtet i en DTIO-procedur" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, gcc-internal-format + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "DTIO-proceduren %qs vid %L måste vara en subrutin" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, gcc-internal-format + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "För få attrappargument i DTIO-proceduren %qs vid %L" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, gcc-internal-format + msgid "Too many dummy arguments in DTIO procedure %qs at %L" + msgstr "För många attrappargument i DTIO-proceduren %qs vid %L" +@@ -69478,7 +69468,7 @@ msgstr "Konvertering från %s till %s vid %L" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, gcc-internal-format, gfc-internal-format + msgid "Cannot convert %s to %s at %L" + msgstr "Kan inte konvertera %s till %s vid %L" +@@ -70029,7 +70019,7 @@ msgstr "NAMELIST %qs i READ-sats vid %L innehåller symbolen %qs som inte får s + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "NAMELIST-objekt %qs i namnlistan %qs vid %L är polymorf och behöver en definierad input/output-procedur" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, gcc-internal-format + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" + msgstr "NAMELIST-objektet %qs i namnlistan %qs vid %L med ALLOCATABLE- eller POINTER-komponenter" +@@ -70596,7 +70586,7 @@ msgstr "STOP-koden vid %L måste vara standard tecken-KIND=%d" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "STOP-kod vid %L måste vara standard heltal KIND=%d" + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, gcc-internal-format, gfc-internal-format + msgid "QUIET specifier at %L must be a scalar LOGICAL" + msgstr "QUIET-specificerare vid %L måste vara en skalär LOGICAL" +@@ -72450,8 +72440,8 @@ msgstr "ORDERED-klausulparameter är mindre än COLLAPSE vid %L" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "en ORDER-klausul får inte användas tillsammans med ORDERED vid %L" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "IF-klausul vid %L kräver ett skalärt LOGICAL-uttryck" +@@ -74417,718 +74407,708 @@ msgstr "Teckenvärd modulprocedur %qs vid %L får inte ha antagen längd" + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "Teckenvärd intern funktion %qs vid %L får inte ha antagen längd" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "Funktion %s vid %L har ingångar med vektorspecifikationer som ej stämmer överens" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "Funktion %s vid %L har ingången %s med egenskaper som inte stämmer" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "Funktionen ”%s” vid %L med ingångar som returnerar variabler av olika stränglängder" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "FUNCTION-resultat %s får inte vara en vektor i FUNCTION %s vid %L" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "ENTRY-resultat %s får inte vara en vektor i FUNCTION %s vid %L" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "FUNCTION-resultat %s får inte vara en POINTER i FUNCTION %s vid %L" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "ENTRY-resultat %s får inte vara en POINTER i FUNCTION %s vid %L" + +-#: fortran/resolve.cc:881 +-#, gcc-internal-format, gfc-internal-format +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "FUNCTION-resultat %s får inte vara ALLOCATABLE i FUNCTION %s vid %L" +- +-#: fortran/resolve.cc:885 +-#, gcc-internal-format, gfc-internal-format +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "ENTRY-resultat %s får inte vara ALLOCATABLE i FUNCTION %s vid %L" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, gcc-internal-format, gfc-internal-format + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "FUNCTION-resultat %s får inte vara av typen %s i FUNCTION %s vid %L" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, gcc-internal-format, gfc-internal-format + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "ENTRY-resultat %s får inte vara av typen %s i FUNCTION %s vid %L" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "Den globala entiteten %qs vid %L får inte förekomma i ett COMMON-block vid %L" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, gcc-internal-format + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "Den globala entiteten %qs vid %L får inte förekomma i ett COMMON-block" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, gcc-internal-format, gfc-internal-format + msgid "COMMON block at %L" + msgstr "COMMON-block vid %L" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, gcc-internal-format + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "Variabel %qs vid %L är i COMMON men endast i BLOCK DATA är initiering tillåten" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, gcc-internal-format + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "Initierad variabel %qs vid %L är i en blank COMMON men initiering ir endast tillåten i namngivna common-block" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, gcc-internal-format + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "%qs vid %L kan inte förekomma i COMMON [F2008:C5100]" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "Härledd typvariabel %qs i COMMON vid %L har varken attributet SEQUENCE eller BIND(C)" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "Härledd typvariabel %qs i COMMON vid %L har en slutlig komponent som är allokerbar" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, gcc-internal-format + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "Härledd typvariabel %qs i COMMON vid %L får inte ha standardinitierare" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "I Fortran 2003 är COMMON %qs-block vid %L en global identifierare och måste således ha samma bindningsnamn som COMMON-blocket med samma namn vid %L: %s resp %s" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, gcc-internal-format + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "COMMON-block %qs vid %L använder samma globala identifierare som en entitet vid %L" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "Fortran 2008: COMMON-block %qs med bindningsetikett vid %L delar identifierare med en global ej-COMMON-blockentitet vid %L" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, gcc-internal-format + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "COMMON-block vid %L med bindningsetikett %qs använder samma globala identifierare som entiteten vid %L" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, gcc-internal-format + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "COMMON-block %qs vid %L används som PARAMETER vid %L" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, gcc-internal-format + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "COMMON-blocket %qs vid %L får inte ha attributet EXTERNAL" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, gcc-internal-format + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "COMMON-block %qs vid %L är också en inbyggd procedur" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a function result" + msgstr "COMMON-block %qs vid %L som också är ett funktionsresultat" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "COMMON-block %qs vid %L som också är en global procedur" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "KIND-parametern %qs i PDT-konstrueraren vid %C har inget värde" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, gcc-internal-format, gfc-internal-format + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "Ordningen på elementet i postkonstrueraren vid %L stämmer inte överens med komponentens (%d/%d)" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "Elementet i postkonstrueraren vid %L, för pekarkomponent %qs, är %s men borde vara %s" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, gcc-internal-format + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "Olika teckenlängder (%wd/%wd) för pekarkomponenten %qs i konstrueraren vid %L" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, gcc-internal-format + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "NULL i postkonstrueraren vid %L används på komponenten %qs, som varken är en POINTER eller en ALLOCATABLE" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, gcc-internal-format + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "Gränssnittet stämmer inte för procedurpekarkomponenten %qs i postkonstruerare vid %L: %s" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, gcc-internal-format + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "Felaktig vektorspecifikation av komponenten %qs refererad i postkonstruerare vid %L" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, gcc-internal-format + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "Formen på komponenten %qs i postkonstrueraren vid %L skiljer från formen på den deklarerade komponenten för dimension %d (%ld/%ld)" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, gcc-internal-format + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "Elementet i postkonstrueraren vid %L, för pekarkomponent %qs, borde vara en POINTER eller en TARGET" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, gcc-internal-format + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "Ogiltigt uttryck i postkonstrueraren för pekarkomponent %qs vid %L i PURE-procedur" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, gcc-internal-format + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "Den övre gränsen i sista dimensionen måste vara med i referensen till vektorn %qs med antagen storlek vid %L" + +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, gcc-internal-format + msgid "%qs at %L is ambiguous" + msgstr "%qs vid %L är tvetydig" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, gcc-internal-format + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "GENERIC procedur %qs är inte tillåten som aktuellt argument vid %L" + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, gcc-internal-format + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "Typ angiven för inbyggd funktion %qs vid %L ignoreras" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, gcc-internal-format + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "Inbyggd subrutin %qs vid %L får inte ha en typspecificerare" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, gcc-internal-format + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "%qs deklarerad INTRINSIC vid %L finns inte" + +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, gcc-internal-format + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "Den inbyggda %qs deklarerad INTRINSIC vid %L är inte tillgänglig i den aktuella standardinställningen utan i %s. Använd en lämplig flagga %<-std=*%> eller aktivera %<-fall-intrinsics%> för att använda den." + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, gcc-internal-format + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "Icke RECURSIVE procedur %qs vid %L anropar kanske sig själv rekursivt. Deklarera den RECURSIVE eller använd %<-frecursive%>" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "Etikett %d som refereras vid %L är aldrig definierad" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, gcc-internal-format + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "Den härledda typen %qs används som aktuellt argument vid %L" + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, gcc-internal-format + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "Satsfunktionen %qs vid %L får inte vara ett aktuellt argument" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, gcc-internal-format + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "Inbyggd %qs vid %L får inte vara ett aktuellt argument" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, gcc-internal-format + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "Den interna proceduren %qs används som aktuellt argument vid %L" + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, gcc-internal-format + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "ELEMENTAL icke INTRINSIC procedur %qs är inte tillåten som aktuellt argument vid %L" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, gcc-internal-format + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "Det går inte att hitta en angiven INTRINSIC-procedur för referensen %qs vid %L" + +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, gcc-internal-format + msgid "Symbol %qs at %L is ambiguous" + msgstr "Symbolen %qs vid %L är tvetydig" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not of numeric type" + msgstr "Värdesargument vid %L har inte en numerisk typ" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "Värdeargument vid %L får inte vara en vektor eller vektorsektion" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L is not allowed in this context" + msgstr "Värdesargument vid %L är inte tillåtet i denna kontext" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "Att skicka intern procedur som plats vid %L är inte tillåtet" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, gcc-internal-format + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "ELEMENTAL icke INTRINSIC procedur %qs är inte tillåten som aktuellt argument vid %L" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "Co-indexerat aktuellt argument vid %L med slutlig pekarkomponent" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, gcc-internal-format + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "%qs vid %L är en vektor och OPTIONAL. Om den inte finns, då kan den inte vara det aktuella argumentet i en ELEMENTAL-procedur om det inte finns ett ej valfritt argument med samma ordning (Fortran 2018, 15.5.2.12)" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, gcc-internal-format + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "Aktuellt argument vid %L för INTENT(%s)-attrapp %qs av ELEMENTAL-subrutin %qs är en skalär, men ett annat aktuellt argument är en vektor" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, gcc-internal-format + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "Returtypen stämmer inte för funktionen %qs vid %L (%s/%s)" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, gcc-internal-format + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "Gränssnitt stämmer inte överens i den globala proceduren %qs vid %L: %s" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, gcc-internal-format + msgid "There is no specific function for the generic %qs at %L" + msgstr "Det finns ingen specifik funktionen för den generiska %qs vid %L" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, gcc-internal-format + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "Generisk funktion %qs vid %L är inte konsistent med ett specifikt inbyggt gränssnitt" + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, gcc-internal-format + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "Funktionen %qs vid %L är INTRINSIC men är inte kompatibel med en inbyggd" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, gcc-internal-format + msgid "Unable to resolve the specific function %qs at %L" + msgstr "Kan inte slå upp den specifika funktionen %qs vid %L" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "Saknad explicit deklaration med attributet EXTERNAL för symbolen %qs vid %L" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "Funktionen %qs vid %L har ingen IMPLICIT-typ; menade du %qs?" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, gcc-internal-format + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "Funktionen %qs vid %L har ingen IMPLICIT-typ" + +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "Referens till den orena funktionen %qs vid %L är inuti ett FORALL-%s" + +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "Referens till den orena funktionen %qs vid %L är inuti ett DO CONCURRENT-%s" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "Referens till den orena funktionen %qs vid %L inuti en PURE-procedur" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, gcc-internal-format + msgid "Unexpected junk after %qs at %L" + msgstr "Oväntat skräp efter %qs vid %L" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, gcc-internal-format + msgid "%qs at %L is not a function" + msgstr "%qs vid %L är inte en funktion" + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "ABSTRACT INTERFACE %qs får inte refereras vid %L" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "ABSTRACT INTERFACE %qs vid %L får inte ha ett antaget teckenlängdsresultat (F2008: C418)" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, gcc-internal-format + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "Funktionen %qs är deklarerad CHARACTER(*) och får inte användas vid %L eftersom det inte är ett attrappargument" + +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, gcc-internal-format + msgid "resolve_function(): bad function type" + msgstr "resolve_function(): felaktig funktionstyp" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "En litteral BOZ-konstant vid %L får inte förekomma som ett faktiskt argument i en funktionsreferens" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, gcc-internal-format + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "Användardefinierad ej ELEMENTAL funktion %qs vid %L är inte tillåten i WORKSHARE-konstruktion" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "ENTRY %qs vid %L får inte anropas rekursivt, eftersom funktionen %qs inte är RECURSIVE" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, gcc-internal-format + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "Funktion %qs vid %L får inte anropas rekursivt, eftersom den inte är RECURSIVE" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, gcc-internal-format + msgid "Using function %qs at %L is deprecated" + msgstr "Att använda funktionen %qs vid %L bör undvikas" + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, gcc-internal-format + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "Subrutinanrop till %qs i FORALL-block vid %L är inte PURE" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, gcc-internal-format + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "Subrutinanrop till %qs i DO CONCURRENT-block vid %L är inte PURE" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, gcc-internal-format + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "Subrutinanrop till %qs vid %L är inte PURE" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, gcc-internal-format + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "Det finns ingen specifik subrutinen för den generiska %qs vid %L" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, gcc-internal-format + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "Generisk subrutin %qs vid %L är inte konsistent med ett inbyggt subrutingränssnitt" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, gcc-internal-format + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "Subrutin %qs vid %L är INTRINSIC men är inte kompatibel med en inbyggd" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, gcc-internal-format + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "Kan inte slå upp den specifika subrutinen %qs vid %L" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, gcc-internal-format + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "%qs vid %L har en typ som inte är konsistent med CALL vid %L" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "ENTRY %qs vid %L är får inte anropas rekursivt, eftersom subrutinen %qs inte är RECURSIVE" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, gcc-internal-format + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "SUBROUTINE %qs vid %L får inte anropas rekursivt, eftersom den inte är RECURSIVE" + +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, gcc-internal-format + msgid "resolve_subroutine(): bad function type" + msgstr "resolve_subroutine(): felaktig funktionstyp" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, gcc-internal-format + msgid "Using subroutine %qs at %L is deprecated" + msgstr "Att använda subrutinen %qs vid %L bör undvikas" + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, gcc-internal-format, gfc-internal-format + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "Formerna för operanderna vid %L och %L är inte konforma" + +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "logical_to_bitwise(): Felaktig inbyggd" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, gcc-internal-format + msgid "Impure function %qs at %L might not be evaluated" + msgstr "Den orena funktionen %qs vid %L beräknas eventuellt inte" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, gcc-internal-format, gfc-internal-format + msgid "Impure function at %L might not be evaluated" + msgstr "Den orena funktionen vid %L beräknas eventuellt inte" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, gcc-internal-format + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "BOZ-litteralkonstanten vid %L får inte vara en operand till den unära operatorn %qs" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "Operander vid %L och %L kan inte förekomma som operander av den binära operatorn %qs" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, gcc-internal-format, gfc-internal-format + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" + msgstr "BOZ-litteralkonstanten nära %L får inte förekomma som en operand till en relationsoperator" + +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, gcc-internal-format, gfc-internal-format + msgid "Equality comparison for %s at %L" + msgstr "Likhetsjämförelse av %s vid %L" + +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, gcc-internal-format, gfc-internal-format + msgid "Inequality comparison for %s at %L" + msgstr "Olikhetsjämförelse av %s vid %L" + +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "resolve_operator(): Felaktig inbyggd" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Vektorreferens vid %L är utanför gränsen (%ld < %ld) i dimension %d" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "Vektorreferens vid %L är utanför gränsen (%ld < %ld) i co-dimension %d" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Vektorreferens vid %L är utanför gränsen (%ld > %ld) i dimension %d" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, gcc-internal-format, gfc-internal-format + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "Vektorreferens vid %L är utanför gränsen (%ld > %ld) i co-dimension %d" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "Otillåtet steg på noll vid %L" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Undre vektorreferens vid %L är utanför gränsen (%ld < %ld) i dimension %d" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, gcc-internal-format, gfc-internal-format + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Undre vektorreferens vid %L är utanför gränsen (%ld > %ld) i dimension %d" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "Övre vektorreferens vid %L är utanför gränsen (%ld < %ld) i dimension %d" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, gcc-internal-format, gfc-internal-format + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "Övre vektorreferens vid %L är utanför gränsen (%ld > %ld) i dimension %d" + +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, gcc-internal-format + msgid "check_dimension(): Bad array reference" + msgstr "check_dimension(): Felaktig vektorreferens" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "Högraste övre gränsen av en sektion av vektor med antagen storlek inte angiven vid %L" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "Ordning stämmer inte i vektorreferens vid %L (%d/%d)" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "Co-indexordning stämmer inte i vektorreferens vid %L (%d/%d)" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, gcc-internal-format, gfc-internal-format + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "Co-index i co-dimension %d måste vara en skalär vid %L" + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "Vektorindex vid %L måste vara skalärt" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "Vektorindex vid %L måste ha INTEGER-typ, fann %s" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, gcc-internal-format, gfc-internal-format + msgid "REAL array index at %L" + msgstr "REAL-vektorindex vid %L" + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "Dim-argumentet vid %L måste vara skalärt" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "Dim-argumentet vid %L måste ha INTEGER-typ" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid array reference of a non-array entity at %L" + msgstr "Felaktig vektorreferens till en icke-vektorentitet vid %L" + +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "find_array_spec(): oanvänd as(1)" + +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "find_array_spec(): oanvänd as(2)" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "Vektorindex vid %L är en vektor med ordning %d" + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "Startindex för delsträng vid %L måste typen INTEGER" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "Startindex för delsträng vid %L måste vara skalärt" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "Slutindex för delsträng vid %L måste ha typen INTEGER" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "Slutsträng för delsträng vid %L måste vara skalärt" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L is too large" + msgstr "Slutindex för delsträng vid %L är för stort" + +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, gcc-internal-format + msgid "resolve_ref(): Bad array reference" + msgstr "resolve_ref(): Felaktig vektorreferens" + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "Komponent till den högra av en delreferens med ordning skild från noll får inte ha attributet POINTER vid %L" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "Komponent till den högra av en delreferens med ordning skild från noll får inte ha attributet ALLOCATABLE vid %L" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "Två eller flera delreferenser med ordning skild från noll får inte anges vid %L" + +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "gfc_expression_rank(): Två vektorspecifikationer" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "Variabeln %s vid %L med attributet NO_ARG_CHECK får bara användas som ett aktuellt argument" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may only be used as actual argument" + msgstr "Variabeln %s med antagen typ vid %L får bara användas som ett aktuellt argument" +@@ -75137,12 +75117,12 @@ msgstr "Variabeln %s med antagen typ vid %L får bara användas som ett aktuellt + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "Variabel med antagen typ %s vid %L som aktuellt argument till en frågefunktion skall vara det första argumentet" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L may only be used as actual argument" + msgstr "Variabeln %s med antagen ordning vid %L kan bara användas som ett aktuellt argument" +@@ -75151,293 +75131,293 @@ msgstr "Variabeln %s med antagen ordning vid %L kan bara användas som ett aktue + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "Variabel med antagen ordning %s vid %L som aktuellt argument till en frågefunktion skall vara det första argumentet" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "Variabeln %s vid %L med attributet NO_ARG_CHECK skall inte ha en subobjektreferens" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "Variabeln %s med antagen typ vid %L skall inte ha en subobjektreferens" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "Variabeln %s med antagen ordning vid %L skall inte ha en subobjektreferens" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, gcc-internal-format + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "Variabel %qs, använd i ett specifikationsuttryck, refereras vid %L före ENTRY-satsen i vilken den är en parameter" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, gcc-internal-format + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "Variabel %qs används vid %L före ENTRY-satsen i vilken den är en parameter" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "Polymorft subobjekt till co-indexerat objekt vid %L" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "Co-indexerat objekt med polymorf allokerbar delkomponent vid %L" + +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, gcc-internal-format + msgid "Using variable %qs at %L is deprecated" + msgstr "Att använda variabeln %qs vid %L bör undvikas" + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, gcc-internal-format + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "%qs vid %L är värdassocierad vid %L in i en innesluten procedur med en intern procedur med samma namn" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, gcc-internal-format, gfc-internal-format + msgid "Error in typebound call at %L" + msgstr "Fel i typbundet anrop vid %L" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, gcc-internal-format, gfc-internal-format + msgid "Passed-object at %L must be scalar" + msgstr "Skickat objekt vid %L måste vara skalär" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, gcc-internal-format + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "Basobjekt för procedurpekarkomponentanrop vid %L är av ABSTRACT typ %qs" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "Basobjekt för typbundet proceduranrop vid %L är av ABSTRACT typ %qs" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, gcc-internal-format, gfc-internal-format + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "Basobjekt för typbundet NOPASS-proceduranrop vid %L måste vara skalärt" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, gcc-internal-format + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "Hittade ingen matchande specifik bindning för anropet till GENERIC %qs vid %L" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, gcc-internal-format + msgid "%qs at %L should be a SUBROUTINE" + msgstr "%qs vid %L skulle vara en SUBROUTINE" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, gcc-internal-format + msgid "%qs at %L should be a FUNCTION" + msgstr "%qs vid %L skulle vara en FUNCTION" + +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, gcc-internal-format + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "gfc_resolve_expr(): Felaktig uttryckstyp" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "%s vid %L måste vara en skalär" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be integer" + msgstr "%s vid %L måste vara ett heltal" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "%s vid %L måste vara INTEGER" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "Steguttryck i DO-slinga vid %L får inte vara noll" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "DO-slinga vid %L kommer köras noll gånger" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "DO-slingan vid %L är odefinierad eftersom den spiller över" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "DO-slingan vid %L är odefinierad eftersom den spiller under" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "FORALL-indexnamn vid %L måste vara en skalär INTEGER" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "FORALL-slututtryck vid %L måste vara en skalär INTEGER" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "FORALL-slututtryck vid %L måste vara en skalär INTEGER" + +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "FORALL-steguttryck vid %L måste vara en skalär %s" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "FORALL-steguttryck vid %L får inte vara noll" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, gcc-internal-format + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "FORALL-index %qs får inte förekomma i triplettspecifikation vid %L" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "Allokeringsobjekt vid %L måste vara ALLOCATABLE eller en POINTER" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "Co-indexerat allokerbart objekt vid %L" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "Källuttryck vid %L måste vara skalärt eller ha samma ordning som allokeringsobjektet vid %L" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "Källuttryck vid %L och allokeringsobjekt vid %L måste ha samma form" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "Typen på entiteten vid %L är typinkompatibel med källuttrycket vid %L" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "Allokeringsobjektet vid %L och källuttrycket vid %L skall ha samma sorts typparameter" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "Källuttrycket vid %L skall varken vara av typen LOCK_TYPE eller ha en LOCK_TYPE-komponent om det allokerbara objektet vid %L är en co-vektor" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "Källuttrycket vid %L skall varken vara av typen EVENT_TYPE eller ha en EVENT_TYPE-komponent om det allokerbara objektet vid %L är en co-vektor" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "Allokering %s av ABSTRACT bastyp vid %L behöver en typspecifikation eller source-uttryck" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "Allokerar %s vid %L med typspecifikation kräver samma teckenlängdsparameter som i deklarationen" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "Vektorspecifikation krävs i ALLOCATE-sats vid %L" + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "Vektorspecifikation eller vektorvärt SOURCE=-uttryck krävs i ALLOCATE-sats vid %L" + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, gcc-internal-format, gfc-internal-format + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "Co-vektorspecifikation krävs i ALLOCATE-sats vid %L" + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, gcc-internal-format, gfc-internal-format + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "Felaktig co-vektorspecifikation i ALLOCATE-sats vid %L" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "Övre cobound är mindre än den lägre cobound vid %L" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "Övre cobound är mindre än lägre cobound av 1 vid %L" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "Felaktig vektorspecifikation i ALLOCATE-sats vid %L" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, gcc-internal-format + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "%qs får inte förekomma i vektorspecifikationen vid %L i samma ALLOCATE-sats där den själv allokeras" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, gcc-internal-format + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "%<*%> förväntades i co-indexspecifikation i ALLOCATE-sats vid %L" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "Statvariabel vid %L måste vara en INTEGER-variabel" + +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, gcc-internal-format, gfc-internal-format + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "Statvariabel vid %L skall inte %s:as i samma %s-sats" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "ERRMSG vid %L är oanvändbart utan en STAT-tagg" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "ERRMSG-variabeln vid %L måste vara en skalär standard-CHARACTER-variabel" + +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "Errmsg-variabel vid %L skall inte %s:as i samma %s-sats" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "Allokeringsobjekt vid %L förekommer också vid %L" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "Allokeringsobjekt vid %L är underobjekt till objekt vid %L" +@@ -75446,284 +75426,284 @@ msgstr "Allokeringsobjekt vid %L är underobjekt till objekt vid %L" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "CASE-etikett vid %L överlappar med CASE-etikett vid %L" + +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "uttryck i CASE-sats vid %L måste vara av typ %s" + +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "Uttryck i CASE-sats vid %L måste ha sort %d" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "Uttryck i CASE-sats vid %L måste vara skalärt" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "Valuttryck i beräknad-GOTO-sats vid %L måste vara ett skalärt heltalsuttryck" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "Argument till SELECT-sats vid %L kan inte vara %s" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "Argumentet till SELECT-satsen vid %L måste vara ett skalärt uttryck" + +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "Uttryck i CASE-sats vid %L ligger inte i intervallet %s" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "DEFAULT CASE vid %L får inte följas av ett andra DEFAULT CASE vid %L" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "Logiskt intervall CASE-sats vid %L är inte tillåtet" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, gcc-internal-format, gfc-internal-format + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "Konstant logiskt värde i CASE-sats upprepas vid %L" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "Intervallspecifikationen vid %L kan aldrig matchas" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "Logiskt SELECT CASE-block vid %L har mer än två fall" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "Den associerande entiteten %qs vid %L är en procedurpekare" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, gcc-internal-format + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "Den härledda typen %qs får inte användas som en variabel vid %L" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, gcc-internal-format + msgid "Associating entity %qs at %L is a procedure name" + msgstr "Den associerande entiteten %qs vid %L är ett procedurnamn" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "Det associerande selector-uttrycket vid %L ger en procedur" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L cannot be NULL()" + msgstr "Selektorn vid %L får inte vara NULL()" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L has no type" + msgstr "Selektorn vid %L har ingen typ" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "Associationsnamn %qs vid %L används som en vektor" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "CLASS-väljare vid %L behöver en temporär som inte är implementerad ännu" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, gcc-internal-format, gfc-internal-format + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "Selektorer skall vara polymorfiska i SELECT TYPE-sats vid %L" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L must not be coindexed" + msgstr "Selektorn vid %L får inte vara co-indexerad" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, gcc-internal-format, gfc-internal-format + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "TYPE IS vid %L överlappar med TYPE IS vid %L" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, gcc-internal-format + msgid "Derived type %qs at %L must be extensible" + msgstr "Härledd typ %qs vid %L måste vara utökningsbar" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, gcc-internal-format + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "Härledd typ %qs vid %L måste vara en utökning av %qs" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, gcc-internal-format + msgid "Unexpected intrinsic type %qs at %L" + msgstr "Oväntad inbyggd typ %qs vid %L" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, gcc-internal-format, gfc-internal-format + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "Typspecifikationen vid %L skall ange att varje längdtypparameter är antagen" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "Dubbelt CLASS IS-block i SELECT TYPE-sats vid %L" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "RANK DEFAULT vid %L upprepas vid %L" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "RANK (*) vid %L upprepas vid %L" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "RANK (%i) vid %L upprepas vid %L" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "RANK (*) vid %L får inte användas med en pekare eller allokerbar selector vid %L" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "Ogiltigt sammanhang för inbyggd NULL () vid %L" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, gcc-internal-format, gfc-internal-format + msgid "DTIO %s procedure at %L must be recursive" + msgstr "DTIO %s-procedur vid %L måste vara rekursiv" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "Dataöverföringselementet vid %L kan inte vara polymorft om det inte behandlas av en definierad input/output-procedur" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "Dataöverföringselementet vid %L kan inte ha POINTER-komponenter om det inte behandlas av en definierad input/output-procedur" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "Dataöverföringselement vid %L får inte ha procedurpekarkomponenter" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "Dataöverföringselementet vid %L kan inte ha ALLOCATABLE-komponenter om det inte behandlas av en definierad input/output-procedur" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "Dataöverföringselement vid %L får inte ha PRIVATE-komponenter" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "Dataöverföringselementet vid %L kan inte ha PRIVATE-komponenter om det inte behandlas av en definierad input/output-procedur" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "Dataöverföringselement vid %L får inte vara en full referens till en vektor med antagen storlek" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, gcc-internal-format, gfc-internal-format + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "Låsvariabel vid %L måste vara en skalär av typen LOCK_TYPE" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "Händelsevariabeln vid %L måste vara en skalär av typen EVENT_TYPE" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "Händelsevariabelargumentet vid %L måste vara en co-vektor eller co-indexerat" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, gcc-internal-format, gfc-internal-format + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "Händelsevariabelargumentet vid %L måste vara en co-vektor men inte co-indexerat" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, gcc-internal-format, gfc-internal-format + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "STAT=-argumentet vid %L måste vara en skalär INTEGER-variabel" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "ERRMSG=-variabeln vid %L måste vara en skalär CHARACTER-variabel" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, gcc-internal-format, gfc-internal-format + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "ACQUIRED_LOCK=-argumentet vid %L måste vara en skalär LOGICAL-variabel" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, gcc-internal-format, gfc-internal-format + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "UNTIL_COUNT=-argumentet vid %L måste vara ett skalärt INTEGER-uttryck" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "Bildmängdsargument vid %L måste vara ett skalärt eller INTEGER-uttryck av ordning 1" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, gcc-internal-format, gfc-internal-format + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "Bildmängdsargument vid %L måste vara mellan 1 och num_images()" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, gcc-internal-format, gfc-internal-format + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "Sats vid %L är inte en giltig grenmålssats för grensatsen vid %L" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, gcc-internal-format, gfc-internal-format + msgid "Branch at %L may result in an infinite loop" + msgstr "Gren vid %L kan orsaka en oändlig slinga" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "GOTO-sats vid %L lämnar CRITICAL-konstruktion för etikett vid %L" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "GOTO-sats vid %L lämnar DO CONCURRENT-konstruktion för etikett vid %L" +@@ -75731,207 +75711,207 @@ msgstr "GOTO-sats vid %L lämnar DO CONCURRENT-konstruktion för etikett vid %L" + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "Etiketten vid %L är inte i samma block som GOTO-satsen vid %L" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "WHERE-mask vid %L har inkonsistent form" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "WHERE-tilldelningsmål vid %L har inkonsistent form" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "Ej ELEMENTAL användardefinierad tilldelning i WHERE vid %L" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "Ej stödd sats inuti WHERE vid %L" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "Tilldelning till en FORALL-indexvariabel vid %L" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, gcc-internal-format + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "FORALL med index %qs används inte på vänster sida av en tilldelning vid %L och kan därför orsaka multipla tilldelningar till detta objekt" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL construct at %L" + msgstr "FORALL-konstruktion vid %L" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "FORALL-indexnamn vid %L måste vara en skalär variabel av heltalstyp" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "En yttre FORALL-konstruktion har redan ett index med detta namn %L" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "WHERE/ELSEWHERE-klausul vid %L kräver en LOGICAL-vektor" + +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "gfc_resolve_blocks(): Felaktig blocktyp" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, gcc-internal-format, gfc-internal-format + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "CHARACTER-uttryck kommer att huggas av i tilldelning (%ld/%ld) vid %L" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "Co-indexerat uttryck vid %L är tilldelat till en härledd typvariabel med en POINTER-komponent i en PURE-procedur" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "I ett rent underprogram skall inte ett INTENT(IN) attrappargument användas som uttrycket vid %L av en inbyggd tilldelningssats i vilken variabeln är av an härledd typ om den härledda typen har en pekarkomponent på någon nivå av komponentvalet." + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "Tilldelning till en co-indexerad variabel vid %L i en PURE-procedur" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "Tilldelning till en polymorf co-vektor vid %L är inte tillåtet" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "Tilldelning till en allokerbar polymorf variabel vid %L" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "Tilldelning till en allokerbar polymorf variabel vid %L kräver %<-frealloc-lhs%>" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, gcc-internal-format + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "Ej allokerbar variabel får inte vara polymorf i inbyggd tilldelning vid %L - kontrollera att det finns en matchande specifik subrutin för operatorn %<=%>" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "Co-indexerad variabel får inte ha en allokerbar yttersta komponent i tilldelningen vid %L" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "ATT GÖRA: typbegränsad definierad tilldelning vid %L inte gjord för att multipla delvektorreferenser skulle uppträda i intermediära uttryck." + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, gcc-internal-format, gfc-internal-format + msgid "Pointer procedure assignment at %L" + msgstr "Procedurpekartilldelning vid %L" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, gcc-internal-format, gfc-internal-format + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "Funktionsresultatet på vänstersidan av tilldelningen vid %L måste ha attributet pointer." + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, gcc-internal-format + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "TEAM-argumentet till %qs vid %L måste vara ett skalärt uttryck av typen TEAM_TYPE" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, gcc-internal-format, gfc-internal-format + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "TEAM NUMBER-argumentet till FORM TEAM vid %L måste vara en skalär INTEGER" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "ASSIGNED GOTO-sats vid %L kräver en skalär INTEGER-variabel" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, gcc-internal-format + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "Variabeln %qs har inte tilldelats någon måletikett vid %L" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, gcc-internal-format, gfc-internal-format + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "Alternativ RETURN-sats vid %L kräver en SCALAR-INTEGER-returspecificerare" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, gcc-internal-format, gfc-internal-format + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "Inbyggd tilldelning förväntades i OMP WORKSHARE vid %L" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "ASSIGN-sats vid %L kräver en skalär standard-INTEGER-variabel" + +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, gcc-internal-format, gfc-internal-format + msgid "Invalid NULL at %L" + msgstr "Ogiltig NULL vid %L" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, gcc-internal-format, gfc-internal-format + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "Aritmetisk IF-sats vid %L kräver ett skalärt REAL- eller INTEGER-uttryck" + +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "gfc_resolve_code(): Inget uttryck i DO WHILE" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "Avslutsvillkor i DO WHILE-slinga vid %L måste vara ett skalärt LOGICAL-uttryck" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "FORALL-maskklausul vid %L kräver ett skalärt LOGICAL-uttryck" + +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, gcc-internal-format + msgid "gfc_resolve_code(): Bad statement code" + msgstr "gfc_resolve_code(): Felaktig satskod" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, gcc-internal-format + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "Att använda parametern %qs deklarerad vid %L bör undvikas" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, gcc-internal-format + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "Variabeln %qs med bindningsetiketten %qs vid %L använder samma globala identifierare som en entitet vid %L" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, gcc-internal-format + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" + msgstr "Variabeln %qs från modulen %qs med bindningsetikett %qs vid %L använder samma globala identifierare som entiteten vid %L från modulen %qs" +@@ -75939,984 +75919,984 @@ msgstr "Variabeln %qs från modulen %qs med bindningsetikett %qs vid %L använde + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, gcc-internal-format + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "Proceduren %qs med bindningsetiketten %qs vid %L använder samma globala identifierare som entiteten vid %L" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, gcc-internal-format, gfc-internal-format + msgid "String length at %L is too large" + msgstr "Stränglängden vid %L är för stor" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, gcc-internal-format + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "Den allokerbara vektorn %qs vid %L måste ha en fördröjd form eller antagen ordning" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, gcc-internal-format + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "Skalärt objekt %qs vid %L får inte vara ALLOCATABLE" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, gcc-internal-format + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "Vektorpekaren %qs vid %L måste ha en fördröjd form eller antagen ordning" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, gcc-internal-format + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "Vektor %qs vid %L kan inte ha en fördröjd form" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "Typen %qs på CLASS-variabeln %qs vid %L är inte utvidgningsbar" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "CLASS-variabel %qs vid %L måste vara en attrapp, allokerbar eller pekare" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, gcc-internal-format + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "Typen %qs kan inte vara värdassocierad vid %L för att den blockeras av ett inkompatibelt objekt med samma namn deklarerat vid %L" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, gcc-internal-format + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "Implicerad SAVE för modulvariabeln %qs vid %L, behövs på grund av standardinitieringar" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, gcc-internal-format + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" + msgstr "Enheten %qs vid %L har en fördröjd typparameter och kräver antingen attributet POINTER eller ALLOCATABLE" + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, gcc-internal-format + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "Modul- eller huvudprogramvektorn %qs vid %L måste ha konstant form" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "Entitet med antagen teckenlängd vid %L måste vara ett attrappargument eller en PARAMETER" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, gcc-internal-format + msgid "%qs at %L must have constant character length in this context" + msgstr "%qs vid %L måste ha konstant teckenlängd i detta sammanhang" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, gcc-internal-format + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "COMMON-variabeln %qs vid %L måste ha konstant teckenlängd" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, gcc-internal-format + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "Allokerbar %qs vid %L kan inte ha en initierare" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, gcc-internal-format + msgid "External %qs at %L cannot have an initializer" + msgstr "Extern %qs vid %L kan inte ha en initierare" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, gcc-internal-format + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "Attrapp-%qs vid %L kan inte ha en initierare" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, gcc-internal-format + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "Inbyggd %qs vid %L kan inte ha en initierare" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, gcc-internal-format + msgid "Function result %qs at %L cannot have an initializer" + msgstr "Funktionsresultat %qs vid %L kan inte ha en initierare" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, gcc-internal-format + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "Automatisk vektor %qs vid %L kan inte ha en initierare" + +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L" + msgstr "%s vid %L" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, gcc-internal-format + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "Teckenvärd satsfunktion %qs vid %L måste ha konstant längd" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, gcc-internal-format + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "%qs är av en PRIVATE-typ och kan inte vara ett attrappargument till %qs, som är PUBLIC vid %L" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, gcc-internal-format + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "Proceduren %qs i PUBLIC-gränssnittet %qs vid %L tar attrappargument för %qs som är PRIVATE" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, gcc-internal-format + msgid "Function %qs at %L cannot have an initializer" + msgstr "Funktion %qs vid %L kan inte ha en initierare" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, gcc-internal-format + msgid "External object %qs at %L may not have an initializer" + msgstr "Externt objekt %qs vid %L kan inte ha en initierare" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, gcc-internal-format + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "ELEMENTAL-funktion %qs vid %L måste ha ett skalärt resultat" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, gcc-internal-format + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "Satsfunktionen %qs vid %L får inte ha attributet pointer eller allocatable" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "CHARACTER(*)-funktion %qs vid %L kan inte ha vektorvärde" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "CHARACTER(*)-funktion %qs vid %L kan inte ha pekarvärde" + +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "CHARACTER(*)-funktion %qs vid %L kan inte vara pure" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "CHARACTER(*)-funktion %qs vid %L kan inte vara rekursiv" + +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, gcc-internal-format + msgid "CHARACTER(*) function %qs at %L" + msgstr "CHARACTER(*)-funktionen %qs vid %L" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, gcc-internal-format + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "Procedurpekaren %qs vid %L skall inte vara elementär" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, gcc-internal-format + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "Attrapprocedur %qs vid %L skall inte vara elementär" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, gcc-internal-format + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "Funktionens resultatvariabel %qs vid %L för den elementära funktionen %qs skall inte ha ett attribut ALLOCATABLE eller POINTER" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "PROCEDURE-attribut i konflikt med SAVE-attribut i %qs vid %L" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "PROCEDURE-attribut i konflikt med INTENT-attribut i %qs vid %L" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "PROCEDURE-attribut i konflikt med RESULT-attribut i %qs vid %L" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, gcc-internal-format + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "EXTERNAL-attribut i konflikt med FUNCTION-attribut i %qs vid %L" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "Procedurpekarresultat %qs vid %L saknar pekarattributet" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "ELEMENTAL-attribut stämmer inte mellan MODULE PROCEDURE vid %L och dess gränssnitt i %s" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "PURE-attribut stämmer inte mellan MODULE PROCEDURE vid %L och dess gränssnitt i %s" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "RECURSIVE-attribut stämmer inte mellan MODULE PROCEDURE vid %L och dess gränssnitt i %s" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "%s mellan MODULE PROCEDURE-deklarationen i MODULE %qs och deklarationen vid %L i (SUB)MODULE %qs" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, gcc-internal-format + msgid "Interface of %qs at %L must be explicit" + msgstr "Gränssnittet för %qs vid %L måste vara explicit" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, gcc-internal-format + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "FINAL-procedur %qs vid %L är inte en SUBROUTINE" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "FINAL-procedur vid %L måste ha precis ett argument" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, gcc-internal-format + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "Argument till FINAL-procedur vid %L måste ha typen %qs" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "FINAL-procedur vid %L med argument med antagen ordning måste vara den enda avslutaren med samma sort/typ (F2018: C790)" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "Argument till FINAL-procedur vid %L får inte vara en POINTER" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "Argument till FINAL-procedur vid %L får inte vara ALLOCATABLE" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "Argument till FINAL-procedur vid %L får inte vara OPTIONAL" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "Argument till FINAL-procedur vid %L får inte vara INTENT(OUT)" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, gcc-internal-format, gfc-internal-format + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "Ickeskalär FINAL-procedur vid %L skulle ha argument med antagen form" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, gcc-internal-format + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "FINAL-procedur %qs deklarerad vid %L har samma ordning (%d) som %qs" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, gcc-internal-format + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "Endast vektor-FINAL-procedurer deklarerade för den härledda typen %qs definierade vid %L, föreslår även en skalär om inte en avslutare med antagen ordning har deklarerats" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, gcc-internal-format + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "%qs och %qs kan inte blandad FUNCTION/SUBROUTINE för GENERIC %qs vid %L" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, gcc-internal-format + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "%qs och %qs för GENERIC %qs vid %L är tvetydiga" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, gcc-internal-format + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "Odefinierad specifik bindning %qs som mål för GENERIC %qs vid %L" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, gcc-internal-format + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "GENERIC %qs vid %L måste ha som mål en specifik bindning, %qs är också GENERIC" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, gcc-internal-format + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "GENERIC %qs vid %L kan inte åsidosätta en specifik bindning med samma namn" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, gcc-internal-format, gfc-internal-format + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "Typbindningsoperator vid %L kan inte vara NOPASS" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, gcc-internal-format + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "%qs måste vara en modulprocedur eller en extern procedur med ett explicit gränssnitt vid %L" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, gcc-internal-format + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "Proceduren %qs med PASS(%s) vid %L har inget argument %qs" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, gcc-internal-format + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "Procedur %qs med PASS vid %L måste ha åtminstone ett argument" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, gcc-internal-format + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "Ickepolymorfa attrappargument för pass-objekt till %qs vid %L" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "Argument %qs till %qs med PASS(%s) vid %L måste ha den härledda typen %qs" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "Skickat objekt-attrappargument till %qs vid %L måste vara skalärt" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "Skickat objekt-attrappargument till %qs vid %L får inte vara ALLOCATABLE" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "Skickat objekt-attrappargument till %qs vid %L får inte vara POINTER" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "Procedur %qs vid %L har samma namn som en komponent i %qs" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "Proceduren %qs vid %L har samma namn som den ärvd komponent i %qs" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, gcc-internal-format + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "Härledd typ %qs deklarerad vid %L måste vara ABSTRACT för att %qs är DEFERRED och inte åsidosatt" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, gcc-internal-format + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "Co-vektorkomponent %qs vid %L måste vara allokerbar med fördröjd form" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, gcc-internal-format + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "Komponenten %qs vid %L av TYPE(C_PTR) eller TYPE(C_FUNPTR) får inte vara en co-vektor" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, gcc-internal-format + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "Komponenten %qs vid %L med co-vektorkomponent skall skalär som inte är en pekare eller allokerbar" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, gcc-internal-format + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "Component %qs vid %L har attributet CONTIGUOUS men är inte en vektorpekare" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, gcc-internal-format + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "Komponenten %qs med typen BIND(C) vid %L måste ha längden ett" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "Procedurpekarkomponent %qs med PASS(%s) vid %L har inget argument %qs" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "Procedurpekarkomponent %qs med PASS vid %L måste ha åtminstone ett argument" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "Argument %qs till %qs med PASS(%s) vid %L måste ha den härledda typen %qs" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "Argument %qs till %qs med PASS(%s) vid %L måste vara skalärt" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "Argumentet %qs till %qs med PASS(%s) vid %L får inte ha attributet POINTER" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, gcc-internal-format + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "Argumentet %qs till %qs med PASS(%s) vid %L får inte vara ALLOCATABLE" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, gcc-internal-format + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "Komponent %qs i %qs vid %L har samma namn som en ärvd typbunden procedur" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, gcc-internal-format + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "Teckenlängd på komponent %qs behöver vara ett konstant specifikationsuttryck vid %L" + +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, gcc-internal-format + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "Teckenlängdsuttrycket för komponenten %qs vid %L måste vara av typen INTEGER, hittade %s" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, gcc-internal-format + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "Teckenkomponent %qs av %qs vid %L med fördröjd längd måste vara en POINTER eller ALLOCATABLE" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, gcc-internal-format + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "komponenten %qs är en PRIVATE-typ och kan inte vara en komponent i %qs, som är PUBLIC vid %L" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "Polymorf komponent %s vid %L i SEQUENCE- eller BIND(C)-typ %s" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, gcc-internal-format, gfc-internal-format + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "Komponent %s av SEQUENCE-typ deklarerad vid %L har inte attributet SEQUENCE" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, gcc-internal-format, gfc-internal-format + msgid "Conflicting initializers in union at %L and %L" + msgstr "Initierare som står i konflikt i unionen vid %L och %L" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, gcc-internal-format + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "Eftersom utvidgningen av %qs vid %L har en co-vektorkomponent, skall föräldratypen %qs också ha en" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, gcc-internal-format + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "Ej utvidgningsbar härledd typ %qs vid %L får inte vara ABSTRACT" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "Den parametriserade typen %qs har inte någon komponent som motsvarar parametern %qs vid %L" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, gcc-internal-format + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "Det generiska namnet %qs på funktionen %qs vid %L är samma namn som den härledda typen vid %L" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, gcc-internal-format + msgid "Derived type %qs at %L has not been declared" + msgstr "Härledd typ %qs vid %L har inte deklarerats" + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, gcc-internal-format + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "Vektor %qs med antagen storlek i namnlistan %qs vid %L är inte tillåtet" + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, gcc-internal-format + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "NAMELIST-vektorobjektet %qs med antagen form i namnlistan %qs vid %L" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, gcc-internal-format + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "NAMELIST-vektorobjektet %qs med icke-konstant form in namnlistan %qs vid %L" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, gcc-internal-format + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "NAMELIST-vektorobjektet %qs med icke-konstant längd i namnlistan %qs vid %L" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, gcc-internal-format + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "NAMELIST-objekt %qs deklarerades PRIVATE och kan inte vara medlem av PUBLIC-namnlista %qs vid %L" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, gcc-internal-format + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "NAMELIST-objekt %qs har användningsassociativa PRIVATE-komponenter och kan inte vara medlem av namnlistan %qs vid %L" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, gcc-internal-format + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "NAMELIST-objekt %qs har PRIVATE-komponenter och kan inte vara medlem av PUBLIC-namnlista %qs vid %L" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, gcc-internal-format + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "PROCEDURE-attribut i konflikt med NAMELIST-attribut i %qs vid %L" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, gcc-internal-format + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "Parametervektor %qs vid %L kan inte ha automatisk eller fördröjd form" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, gcc-internal-format + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "Implicit typad PARAMETER %qs vid %L matchar inte en senare IMPLICIT-typ" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "Inkompatibel härledd typ i PARAMETER vid %L" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, gcc-internal-format + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "CLASS-variabeln %qs vid %L får inte ha attributet PARAMETER" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, gcc-internal-format + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "Objektet %qs vid %L har en fördröjd LEN-parameter %qs och är varken allokerbar eller en pekare" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "AUTOMATIC-objektet %qs vid %L får inte ha attributet SAVE eller vara en variabel deklarerad i huvudprogrammet, en modul eller en submodul(F08/C513)" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "Objektet %qs vid %L med ASSUMED typparametrar måste vara en attrapp eller en SELECT TYPE-selektor(F08/4.2)" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "Ledsen, allocatable/pointer-komponenter i co-vektor av polymorf (CLASS)-typ vid %L stödjs inte" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "%, deklarerat vid %L, får endast användas i OpenMP-klausulen DEPEND" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, gcc-internal-format, gfc-internal-format + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "Attributet PROTECTED står i konflikt med attributet EXTERNAL vid %L" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, gcc-internal-format, gfc-internal-format + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "Attributet PROCEDURE står i konflikt med attributet PROTECTED vid %L" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, gcc-internal-format + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "%qs vid %L har attributet CONTIGUOUS, men är inte en vektorpekare eller en vektor med antagen form eller antagen ordning" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, gcc-internal-format, gfc-internal-format + msgid "Bad specification for assumed size array at %L" + msgstr "Felaktig specifikation för vektor med antagen storlek vid %L" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "Vektor med antagen storlek vid %L måste vara ett attrappargument" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "Vektor med antagen form vid %L måste vara ett attrappargument" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "Vektor med antagen ordning vid %L måste vara ett attrappargument" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "Vektor med antagen ordning vid %L kan inte ha attributet VALUE eller CODIMENSION" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "Symbol vid %L är inte en DUMMY-variabel" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, gcc-internal-format + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "%qs vid %L kan inte ha attributet VALUE eftersom det inte är ett attrappargument" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, gcc-internal-format + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "Teckenvärd attrappvariabel %qs vid %L med attributet VALUE måste ha konstant längd" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, gcc-internal-format + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "C-interoperativ teckenattrappvariabel %qs vid %L med attributet VALUE måste ha längd ett" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, gcc-internal-format + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "Den härledda typen %qs vid %L har typen %qs, som inte har definierats" + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "Variabeln %s vid %L med attributet NO_ARG_CHECK skall vara ett attrappargument" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "Variabeln %s vid %L med attributet NO_ARG_CHECK skall ha typen TYPE(*) eller en numerisk inbyggd typ" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "Variabeln %s vid %L med attributet NO_ARG_CHECK får inte ha attributet ALLOCATABLE, CODIMENSION, POINTER eller VALUE" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "Variabeln %s vid %L med attributet NO_ARG_CHECK får inte ha attributet INTENT(OUT)" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "Variabeln %s vid %L med attributet NO_ARG_CHECK skall antingen vara en skalär eller en vektor med förmodad storlek" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "Den antagna typen på variabeln %s vid %L är bara tillåten för attrappvariabler" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "Variabeln ”%s” med antagen typ vid %L får inte ha attributet ALLOCATABLE, CODIMENSION, POINTER eller VALUE" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "Variabeln ”%s” med antagen typ vid %L får inte ha attributet INTENT(OUT)" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "Variabeln %s med antagen typ vid %L får inte vara en vektor med explicit form" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, gcc-internal-format + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "Variabel %qs vid %L kan inte vara BIND(C) eftersom den varken är ett COMMON-block eller deklarerad med räckvidd modulnivå" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, gcc-internal-format + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "BIND(C)-variabeln %qs vid %L måste ha längden ett" + +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, gcc-internal-format + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "PUBLIC %s %qs vid %L har PRIVATE härledd typ %qs" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "Variabeln %s vid %L av typen LOCK_TYPE eller med en delkomponent av typen LOCK_TYPE måste vara en co-vektor" + +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "Variabeln %s vid %L av typen EVENT_TYPE eller med en delkomponent av typen EVENT_TYPE måste vara en co-vektor" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, gcc-internal-format + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "INTENT(OUT)-attrappargumentet %qs vid %L har ASSUMED SIZE och kan därför inte ha en standardinitierare" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "Attrappargumentet %qs vid %L av LOCK_TYPE får inte vara INTENT(OUT)" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, gcc-internal-format + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "Attrappargumentet %qs vid %L av EVENT_TYPE får inte vara INTENT(OUT)" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, gcc-internal-format + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "Funktionsresultat %qs vid %L skall inte vara en co-vektor eller ha en co-vektorkomponent" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, gcc-internal-format + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "Variabeln %qs vid %L av TYPE(C_PTR) eller TYPE(C_FUNPTR) får inte vara en co-vektor" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, gcc-internal-format + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "Variabeln %qs vid %L med co-vektorkomponent skall vara en skalär som inte är en pekare eller allokerbar och inte en co-vektor" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, gcc-internal-format + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "Variabeln %qs vid %L är en co-vektor och är inte ALLOCATABLE, SAVE eller ett attrappargument" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, gcc-internal-format + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "Co-vektorvariabeln %qs vid %L skall inte ha co-dimensioner med fördröjd form" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, gcc-internal-format + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "Allokerbar co-vektorvariabel %qs vid %L måste ha en fördröjd form" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, gcc-internal-format + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "Variabeln %qs vid %L är INTENT(OUT) och kan alltså inte vara en allokerbara co-vektor eller har co-vektorkomponenter" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, gcc-internal-format + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "Co-attrappvariabeln %qs vid %L är inte tillåten i BIND(C)-proceduren %qs" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, gcc-internal-format + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "LOGICAL-attrappargumentet %qs vid %L med icke-C_Bool-sort i BIND(C)-proceduren %qs" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, gcc-internal-format + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "LOGICAL-resultatvariabeln %qs vid %L med icke-C_Bool-sort i BIND(C)-proceduren %qs" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, gcc-internal-format + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "Namnlistan %qs får inte vara ett argument till en subrutin eller funktion vid %L" + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "Trådprivat vid %L är inte SAVE:ad" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "!$OMP DECLARE TARGET-variabeln %qs vid %L är inte SAVE:ad" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, gcc-internal-format, gfc-internal-format + msgid "Expecting definable entity near %L" + msgstr "Definierbar entitet förväntades nära %L" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, gcc-internal-format + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "BLOCK DATA-element %qs vid %L måste vara i COMMON" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, gcc-internal-format + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "DATA-vektor %qs vid %L måste anges i en tidigare deklaration" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "DATA-elementet %qs vid %L kan inte ha ett co-index" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "DATA-element %qs vid %L är en pekare och måste då vara en fullständig vektor" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "DATA-objektet nära %L har pekarattributet och det motsvarande DATA-värdet är inte ett giltigt initialt-data-mål" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, gcc-internal-format + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "DATA-elementet %qs vid %L får inte ha attributet ALLOCATABLE" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "Ickekonstant vektorsektion vid %L i DATA-sats" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "DATA-sats vid %L har fler variabler än värden" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "början av implicerad do-slinga vid %L kan inte förenklas till ett konstant värde" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "slutet av implicerad do-slinga vid %L kan inte förenklas till ett konstant värde" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "steget i implicerad do-slinga vid %L kan inte förenklas till ett konstant värde" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L shall not be zero" + msgstr "steget i implicerad do-slinga vid %L skall inte vara noll" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "DATA-sats vid %L har fler värden än variabler" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but not used" + msgstr "Etiketten %d vid %L är definierad men inte använd" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but cannot be used" + msgstr "Etiketten %d vid %L är definierad men kan inte användas" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, gcc-internal-format + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "Härledd typvariabel %qs vid %L måste ha attributet SEQUENCE för att vara ett EQUIVALENCE-objekt" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, gcc-internal-format + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "Härledd typvariabel %qs vid %L kan inte ha ALLOCATABLE-komponenter för att vara ett EQUIVALENCE-objekt" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "Härledd typvariabel %qs vid %L med standardinitiering kan inte vara i EQUIVALENCE med en variabel i COMMON" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "Härledd typvariabel %qs vid %L med pekarkomponent(er) kan inte vara ett EQUIVALENCE-objekt" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "Syntaxfel i EQUIVALENCE-sats vid %L" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "Antingen alla eller inget av objekten i EQUIVALENCE-mängden vid %L kan ha attributet PROTECTED" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, gcc-internal-format + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "COMMON-blockmedlem %qs vid %L kan inte vara ett EQUIVALENCE-objekt i den rena proceduren %qs" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, gcc-internal-format + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "Namngiven konstant %qs vid %L kan inte vara ett EQUIVALENCE-objekt" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, gcc-internal-format + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "Vektor %qs vid %L med icke-konstanta gränser kan inte vara ett EQUIVALENCE-objekt" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, gcc-internal-format + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "Postkomponent %qs vid %L kan inte vara ett EQUIVALENCE-objekt" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "Delsträng vid %L har längden noll" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, gcc-internal-format + msgid "Self reference in character length expression for %qs at %L" + msgstr "Självreferens i uttrycket för teckenlängd för %qs vid %L" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, gcc-internal-format + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "PUBLIC-funktionen %qs vid %L har PRIVATE typ %qs" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, gcc-internal-format + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "ENTRY %qs vid %L har ingen IMPLICIT-typ" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "Användaroperatorprocedur %qs vid %L måste vara en FUNCTION" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, gcc-internal-format + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "Användaroperatorprocedur %qs vid %L får inte ha antagen teckenlängd" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "Användaroperatorprocedur %qs vid %L måste ha åtminstone ett argument" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "Första argumentet till operatorgränssnitt vid %L får inte vara frivilligt" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "Andra argumentet till operatorgränssnitt vid %L får inte vara valfritt" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "Operatorgränssnitt vid %L måste ha, högst, två argument" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, gcc-internal-format + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" + msgstr "Innesluten procedur %qs vid %L i en PURE-procedur måste också vara PURE" +@@ -77811,7 +77791,7 @@ msgstr "Överlappande olika initierare i EQUIVALENCE vid %L" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "Överlappande olika initierare i EQUIVALENCE vid %C" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "Postkonstrueraren vid %C har avslutats. Denna funktion togs bart av f08/0011. Använd -std=f2018 eller -std=gnu för att eliminera avslutningen." +@@ -77823,12 +77803,12 @@ msgstr "Postkonstrueraren vid %C har avslutats. Denna funktion togs bart av f08/ + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "Antalet element i vektorkonstrueraren vid %L kräver en ökning av den tillåtna övre gränsen %d. Se flaggan %<-fmax-array-constructor%>" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, gcc-internal-format + msgid "Creating array temporary at %L for argument %qs" + msgstr "Skapar vektortemporär vid %L för argument %qs" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "felaktig uttryckstyp under genomlöpning (%d)" +@@ -77920,86 +77900,81 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "Vektorn %qs vid %L är större än gränsen satt med %<-fmax-stack-var-size=%>, flyttad från stacken till statisk lagring. Detta gör proceduren osäker när den anropas rekursivt, eller samtidigt från flera trådar. Överväg att öka gränsen %<-fmax-stack-var-size=%> (eller använd %<-frecursive%>, som implicerad obegränsad %<-fmax-stack-var-size=%> – eller ändra koden till att använda en ALLOCATABLE vektor. Om variabeln aldrig används av flera samtidigt kan denna varning ignoreras och variabeln skulle också kunna deklareras med attributet SAVE." + + #: fortran/trans-decl.cc:1795 +-#, gcc-internal-format, gfc-internal-format +-msgid "%s at %C has no default type" +-msgstr "%s vid %C har ingen standardtyp" +- +-#: fortran/trans-decl.cc:1798 + #, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "inbyggd variabel som inte är en procedur" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, gcc-internal-format + msgid "Return value of function %qs at %L not set" + msgstr "Returvärdet för funktionen %qs vid %L är inte satt" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, gcc-internal-format + msgid "Deferred type parameter not yet supported" + msgstr "Fördröjd typparameter stödjs inte ännu" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, gcc-internal-format + msgid "backend decl for module variable %qs already exists" + msgstr "bakändedeklaration för modulvariabel %qs finns redan" + +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, gcc-internal-format + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "Oanvänd PRIVATE modulvariabel %qs deklarerad vid %L" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "Symbolen %qs vid %L har attributet WEAK men är ett attrappargument" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "Symbolen %qs vid %L har attributet WEAK men är en lokal variabel" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, gcc-internal-format + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "Attrappargument %qs vid %L deklarerades INTENT(OUT) men sattes inte" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, gcc-internal-format + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "Attrappargument med härledd typ %qs vid %L deklarerades INTENT(OUT) men sattes inte och har inte en standardinitierare" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, gcc-internal-format + msgid "Unused dummy argument %qs at %L" + msgstr "Oanvänt attrappargument %qs vid %L" + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, gcc-internal-format + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "Oanvänd modulvariabel %qs som uttryckligen har importerats vid %L" + +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, gcc-internal-format + msgid "Unused variable %qs declared at %L" + msgstr "Oanvänd variabel %qs deklarerad vid %L" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, gcc-internal-format + msgid "Unused parameter %qs declared at %L" + msgstr "Oanvänd parameter %qs deklarerad vid %L" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, gcc-internal-format + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "Oanvänd parameter %qs som uttryckligen har importerats vid %L" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, gcc-internal-format + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "Returvärdet %qs för funktionen %qs deklarerad vid %L är inte satt" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "Ledsen, !$ACC DECLARE vid %L är inte tillåtet i BLOCK-konstruktion" +@@ -78014,27 +77989,27 @@ msgstr "Kan inte beräkna längden på teckenvektorn vid %L." + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "Kod för omallokering av den allokerbara variabeln vid %L kommer läggas till" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "Ledsen, co-indexerad åtkomst till ett obegränsat polymorft objekt vid %L stödjs inte ännu" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "Ledsen, co-indexerad åtkomst till en obegränsat polymorf komponent vid %L stödjs inte" + +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, gcc-internal-format + msgid "Unknown intrinsic op" + msgstr "Okänd inbyggd op" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, gcc-internal-format, gfc-internal-format + msgid "Unknown argument list function at %L" + msgstr "Okänd argumentlistefunktion vid %L" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "Om ommappning av gränser anges vid %L skall pekarmålet inte vara NULL" +diff --git a/gcc/po/tr.po b/gcc/po/tr.po +index f1cbb05ce4f..c78fdbcad1a 100644 +--- a/gcc/po/tr.po ++++ b/gcc/po/tr.po +@@ -7,7 +7,7 @@ msgid "" + msgstr "" + "Project-Id-Version: gcc 5.2.0\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" + "PO-Revision-Date: 2015-09-11 20:22+0300\n" + "Last-Translator: Nilgün Belma Bugüner \n" + "Language-Team: Turkish \n" +@@ -4471,7 +4471,7 @@ msgstr "" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." + msgstr "" + + #: m2/lang.opt:127 +@@ -8494,12 +8494,6 @@ msgstr "" + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." + msgstr "" + +-#: config/i386/i386.opt:1280 +-#, fuzzy, no-c-format +-#| msgid "Support MMX and SSE built-in functions and code generation" +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "MMX ve SSE2 yerleşik işlevleri ve kod üretimi desteklenir" +- + #: config/pa/pa64-hpux.opt:23 + #, fuzzy, no-c-format + #| msgid "Assume code will be linked by GNU ld" +@@ -19268,12 +19262,12 @@ msgstr "'%%l' terimi bir yafta değil" + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" + msgstr "gerçel sayı sabit yanlış kullanılmış" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +@@ -20473,63 +20467,63 @@ msgstr "Bu seçenek belgelenmedi" + msgid "Uses of this option are diagnosed." + msgstr "" + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." + msgstr "" + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, c-format + msgid "Same as %s%s." + msgstr "" + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, c-format + msgid "Same as %s." + msgstr "" + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, c-format + msgid "%s Same as %s." + msgstr "" + +-#: opts.cc:1733 ++#: opts.cc:1732 + msgid "[available in " + msgstr "" + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" + msgstr "" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, c-format + msgid "%llu bytes" + msgstr "" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "[iptal edildi]" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" + msgstr "" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" + msgstr "" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" + msgstr "" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, fuzzy, c-format + #| msgid "Pass arguments on the stack" + msgid "" +@@ -20537,67 +20531,67 @@ msgid "" + " " + msgstr "Yığıttaki argümanlar aktarılır" + +-#: opts.cc:1959 ++#: opts.cc:1958 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options are target specific" + msgstr "Bu seçenekler dile bağımlıdir:\n" + +-#: opts.cc:1962 ++#: opts.cc:1961 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options control compiler warning messages" + msgstr "Bu seçenekler dile bağımlıdir:\n" + +-#: opts.cc:1965 ++#: opts.cc:1964 + #, fuzzy + #| msgid "Perform loop optimizations" + msgid "The following options control optimizations" + msgstr "Döngü eniyilemeleri uygulanır" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options are language-independent" + msgstr "Bu seçenekler dile bağımlıdir:\n" + +-#: opts.cc:1971 ++#: opts.cc:1970 + #, fuzzy + #| msgid "Perform loop optimizations" + msgid "The following options control parameters" + msgstr "Döngü eniyilemeleri uygulanır" + +-#: opts.cc:1977 ++#: opts.cc:1976 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options are specific to just the language " + msgstr "Bu seçenekler dile bağımlıdir:\n" + +-#: opts.cc:1979 ++#: opts.cc:1978 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options are supported by the language " + msgstr "Bu seçenekler dile bağımlıdir:\n" + +-#: opts.cc:1990 ++#: opts.cc:1989 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options are not documented" + msgstr "Bu seçenekler dile bağımlıdir:\n" + +-#: opts.cc:1992 ++#: opts.cc:1991 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options take separate arguments" + msgstr "Bu seçenekler dile bağımlıdir:\n" + +-#: opts.cc:1994 ++#: opts.cc:1993 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options take joined arguments" + msgstr "Bu seçenekler dile bağımlıdir:\n" + +-#: opts.cc:2006 ++#: opts.cc:2005 + #, fuzzy + #| msgid "The following options are language-independent:\n" + msgid "The following options are language-related" +@@ -21002,82 +20996,82 @@ msgstr "strfmon biçiminde uzunluk değiştirici" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "unsupported operand for code '%c'" + msgstr "terim, kod `%c' için geçersiz" + +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "invalid operand for '%%%c'" + msgstr "terim, kod `%c' için geçersiz" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, fuzzy, c-format + #| msgid "invalid insn:" + msgid "invalid vector constant" + msgstr "geçersiz komut:" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "incompatible register operand for '%%%c'" + msgstr "terim, kod `%c' için geçersiz" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, c-format + msgid "missing operand" + msgstr "terim eksik" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, fuzzy, c-format + #| msgid "invalid insn:" + msgid "invalid constant" + msgstr "geçersiz komut:" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, fuzzy, c-format + #| msgid "invalid %%d operand" + msgid "invalid operand" + msgstr "geçersiz %%d terimi" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, fuzzy, c-format + #| msgid "invalid operand code '%c'" + msgid "invalid operand prefix '%%%c'" + msgstr "terim kodu `%c' geçersiz" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, fuzzy, c-format + #| msgid "invalid address" + msgid "invalid address mode" + msgstr "adres geçersiz" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + #, fuzzy + #| msgid "invalid operands to binary %s" + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "iki terimli %s için terimler geçersiz" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "" +@@ -21094,18 +21088,18 @@ msgid "invalid %%r value" + msgstr "%%r değeri geçersiz" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" + msgstr "%%R değeri geçersiz" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" + msgstr "%%N değeri geçersiz" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" + msgstr "%%P değeri geçersiz" +@@ -21135,7 +21129,7 @@ msgstr "%%M değeri geçersiz" + msgid "invalid %%U value" + msgstr "%%U değeri geçersiz" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" + msgstr "%%s değeri geçersiz" +@@ -21145,7 +21139,7 @@ msgstr "%%s değeri geçersiz" + msgid "invalid %%C value" + msgstr "%%C değeri geçersiz" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" + msgstr "%%E değeri geçersiz" +@@ -21158,7 +21152,7 @@ msgstr "bilinmeyen yerdeğişim unspec" + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" + msgstr "%%xn kodu geçersiz" +@@ -21248,37 +21242,37 @@ msgstr "terim olarak UNSPEC geçersiz" + msgid "unrecognized supposed constant" + msgstr "tanınmayan tahmini sabit" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, fuzzy, c-format + #| msgid "invalid %%f operand" + msgid "invalid shift operand" + msgstr "geçersiz %%f terimi" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, c-format + msgid "predicated Thumb instruction" + msgstr "isnatlı Thumb komutu" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "koşullu dizilimde isnatlı komut" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "Unsupported operand for code '%c'" + msgstr "terim, kod `%c' için geçersiz" + +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 +@@ -21287,31 +21281,31 @@ msgstr "terim, kod `%c' için geçersiz" + msgid "invalid operand for code '%c'" + msgstr "terim, kod `%c' için geçersiz" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, fuzzy, c-format + #| msgid "instruction never exectued" + msgid "instruction never executed" + msgstr "komut hiç çalıştırılmadı" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %" + msgstr "%<__fpreg%> türünden dönüşüm geçersiz" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + #, fuzzy + #| msgid "invalid conversion to type %qT from type %qT" + msgid "invalid conversion to type %" + msgstr "%qT'ye %qT'den dönüşüm geçersiz" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" + msgstr "" + +@@ -21701,112 +21695,112 @@ msgstr "geçersiz komut:" + msgid "Expected register or constant integer." + msgstr "birikeç bir tamsayı sabit değil" + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, c-format + msgid "invalid UNSPEC as operand" + msgstr "terim olarak UNSPEC geçersiz" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, fuzzy, c-format + #| msgid "invalid use of %" + msgid "invalid use of register '%s'" + msgstr "% kullanımı geçersiz" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, fuzzy, c-format + #| msgid "invalid lvalue in asm output %d" + msgid "invalid use of asm flag output" + msgstr "asm çıktısı %d içinde geçersiz sol değer" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "invalid operand size for operand code 'O'" + msgstr "terim, kod `%c' için geçersiz" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "invalid operand size for operand code 'z'" + msgstr "terim, kod `%c' için geçersiz" + +-#: config/i386/i386.cc:13290 ++#: config/i386/i386.cc:13283 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" +-msgid "invalid operand type used with operand code '%c'" ++msgid "invalid operand type used with operand code 'Z'" + msgstr "terim, kod `%c' için geçersiz" + +-#: config/i386/i386.cc:13295 ++#: config/i386/i386.cc:13288 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" +-msgid "invalid operand size for operand code '%c'" ++msgid "invalid operand size for operand code 'Z'" + msgstr "terim, kod `%c' için geçersiz" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "terim ne bir sabit ne de bir koşul kodu, geçersiz terim kodu 'c'" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "terim ne bir sabit ne de bir koşul kodu, geçersiz terim kodu 'c'" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "terim ne bir sabit ne de bir koşul kodu, geçersiz terim kodu 'c'" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "terim ne bir sabit ne de bir koşul kodu, geçersiz terim kodu 'c'" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "terim ne bir sabit ne de bir koşul kodu, geçersiz terim kodu 'c'" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not a specific integer, invalid operand code 'r'" + msgstr "terim ne bir sabit ne de bir koşul kodu, geçersiz terim kodu 'c'" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "terim ne bir sabit ne de bir koşul kodu, geçersiz terim kodu 'c'" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, fuzzy, c-format + #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "terim ne bir sabit ne de bir koşul kodu, geçersiz terim kodu 'c'" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, c-format + msgid "invalid operand code '%c'" + msgstr "terim kodu `%c' geçersiz" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, c-format + msgid "invalid constraints for operand" + msgstr "kısıtlar terim için geçersiz" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, fuzzy, c-format + #| msgid "invalid conditional operand" + msgid "invalid vector immediate" + msgstr "koşullu terim geçersiz" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + msgid "unknown insn mode" + msgstr "bilinmeyen komut kipi" + +@@ -21838,7 +21832,7 @@ msgstr "%<__fpreg%> üzerinde geçersiz işlem" + msgid "invalid %%P operand" + msgstr "%%P terimi geçersiz" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" + msgstr "%%p değeri geçersiz" +@@ -21888,8 +21882,8 @@ msgstr "'%s' geçerli bir sınıf ismi değil" + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, fuzzy, c-format + #| msgid "invalid use of %qD" + msgid "invalid use of '%%%c'" +@@ -21922,7 +21916,7 @@ msgid "post-increment address is not a register" + msgstr "sonradan arttırımlı adres bir yazmaç değil" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" + msgstr "hatalı adres" + +@@ -22096,7 +22090,7 @@ msgstr "desteklenmeyen birleşim: %s" + msgid "unsupported memory expression:" + msgstr "desteklenmeyen birleşim: %s" + +-#: config/riscv/riscv.cc:4384 ++#: config/riscv/riscv.cc:4378 + #, fuzzy, c-format + #| msgid "invalid %%P operand" + msgid "invalid vector operand" +@@ -22163,159 +22157,159 @@ msgstr "Kıymetsiz baytın başta olduğu kod üretilir" + msgid "bad move" + msgstr "hatalı test" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" + msgstr "" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%A value" + msgstr "%%H değeri geçersiz" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" + msgstr "%%D değeri geçersiz" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%e value" + msgstr "%%H değeri geçersiz" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" + msgstr "%%f değeri geçersiz" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" + msgstr "%%F değeri geçersiz" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" + msgstr "%%G değeri geçersiz" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" + msgstr "%%j kodu geçersiz" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" + msgstr "%%J kodu geçersiz" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" + msgstr "%%k değeri geçersiz" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" + msgstr "%%K değeri geçersiz" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" + msgstr "%%O değeri geçersiz" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" + msgstr "%%q değeri geçersiz" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%t value" + msgstr "%%H değeri geçersiz" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" + msgstr "%%T değeri geçersiz" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" + msgstr "%%u değeri geçersiz" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" + msgstr "%%v değeri geçersiz" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%V value" + msgstr "%%H değeri geçersiz" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" + msgstr "%%x değeri geçersiz" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, fuzzy, c-format + #| msgid "invalid %%H value" + msgid "invalid %%z value" + msgstr "%%H değeri geçersiz" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, fuzzy, c-format + #| msgid "invalid punctuation %qc in constraint" + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "kısıt içindeki `%qc' işareti geçersiz" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "" + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + msgid "AltiVec argument passed to unprototyped function" + msgstr "AltiVec argümanı prototipsiz işleve aktarıldı" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + #, fuzzy + #| msgid "Do not generate a single exit point for each function" + msgid "Could not generate addis value for fusion" + msgstr "Her işlev için tek çıkış noktası üretilmez" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + #, fuzzy + #| msgid "unable to generate reloads for:" + msgid "Unable to generate load/store offset for fusion" + msgstr "aşağıdakiler için yeniden yüklemeler üretilemiyor:" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "%<__fpreg%> türünden dönüşüm geçersiz" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + #, fuzzy + #| msgid "invalid conversion to %<__fpreg%>" + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "%<__fpreg%> türüne dönüşüm geçersiz" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + #, fuzzy + #| msgid "invalid conversion from %<__fpreg%>" + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "%<__fpreg%> türünden dönüşüm geçersiz" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + #, fuzzy + #| msgid "invalid conversion to %<__fpreg%>" + msgid "invalid conversion to type %<__vector_pair%>" +@@ -22828,7 +22822,7 @@ msgstr "1. aday:" + msgid " after user-defined conversion:" + msgstr "DB komutunun kullanımı etkin olur" + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + #, fuzzy + #| msgid "candidate 1:" + msgid "candidate is:" +@@ -23378,7 +23372,7 @@ msgstr "" + msgid "Driving:" + msgstr "Sürülüm:" + +-#: fortran/interface.cc:3647 fortran/intrinsic.cc:4506 ++#: fortran/interface.cc:3631 fortran/intrinsic.cc:4506 + #, fuzzy + #| msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT" + msgid "actual argument to INTENT = OUT/INOUT" +@@ -23544,11 +23538,11 @@ msgstr "blok IF" + msgid "implied END DO" + msgstr "örtük END DO" + +-#: fortran/parse.cc:2240 fortran/resolve.cc:12393 ++#: fortran/parse.cc:2240 fortran/resolve.cc:12367 + msgid "assignment" + msgstr "atama" + +-#: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 ++#: fortran/parse.cc:2243 fortran/resolve.cc:12433 fortran/resolve.cc:12436 + msgid "pointer assignment" + msgstr "gösterici ataması" + +@@ -23556,252 +23550,252 @@ msgstr "gösterici ataması" + msgid "simple IF" + msgstr "basit IF" + +-#: fortran/resolve.cc:2413 fortran/resolve.cc:2608 ++#: fortran/resolve.cc:2396 fortran/resolve.cc:2591 + #, fuzzy + #| msgid "elemental subroutine" + msgid "elemental procedure" + msgstr "öğesel altyordam" + +-#: fortran/resolve.cc:2511 ++#: fortran/resolve.cc:2494 + #, fuzzy + #| msgid "invalid type argument" + msgid "allocatable argument" + msgstr "tür argümanı geçersiz" + +-#: fortran/resolve.cc:2516 ++#: fortran/resolve.cc:2499 + #, fuzzy + #| msgid "no arguments" + msgid "asynchronous argument" + msgstr "argüman yok" + +-#: fortran/resolve.cc:2521 ++#: fortran/resolve.cc:2504 + #, fuzzy + #| msgid "no arguments" + msgid "optional argument" + msgstr "argüman yok" + +-#: fortran/resolve.cc:2526 ++#: fortran/resolve.cc:2509 + #, fuzzy + #| msgid "pointer assignment" + msgid "pointer argument" + msgstr "gösterici ataması" + +-#: fortran/resolve.cc:2531 ++#: fortran/resolve.cc:2514 + #, fuzzy + #| msgid "no arguments" + msgid "target argument" + msgstr "argüman yok" + +-#: fortran/resolve.cc:2536 ++#: fortran/resolve.cc:2519 + #, fuzzy + #| msgid "invalid type argument" + msgid "value argument" + msgstr "tür argümanı geçersiz" + +-#: fortran/resolve.cc:2541 ++#: fortran/resolve.cc:2524 + #, fuzzy + #| msgid "no arguments" + msgid "volatile argument" + msgstr "argüman yok" + +-#: fortran/resolve.cc:2546 ++#: fortran/resolve.cc:2529 + #, fuzzy + #| msgid "invalid type argument" + msgid "assumed-shape argument" + msgstr "tür argümanı geçersiz" + +-#: fortran/resolve.cc:2551 ++#: fortran/resolve.cc:2534 + #, fuzzy + #| msgid "no arguments" + msgid "assumed-rank argument" + msgstr "argüman yok" + +-#: fortran/resolve.cc:2556 ++#: fortran/resolve.cc:2539 + #, fuzzy + #| msgid "no arguments" + msgid "coarray argument" + msgstr "argüman yok" + +-#: fortran/resolve.cc:2561 ++#: fortran/resolve.cc:2544 + #, fuzzy + #| msgid "invalid type argument" + msgid "parametrized derived type argument" + msgstr "tür argümanı geçersiz" + +-#: fortran/resolve.cc:2566 ++#: fortran/resolve.cc:2549 + #, fuzzy + #| msgid "no arguments" + msgid "polymorphic argument" + msgstr "argüman yok" + +-#: fortran/resolve.cc:2571 ++#: fortran/resolve.cc:2554 + msgid "NO_ARG_CHECK attribute" + msgstr "" + + #. As assumed-type is unlimited polymorphic (cf. above). + #. See also TS 29113, Note 6.1. +-#: fortran/resolve.cc:2578 ++#: fortran/resolve.cc:2561 + #, fuzzy + #| msgid "invalid type argument" + msgid "assumed-type argument" + msgstr "tür argümanı geçersiz" + +-#: fortran/resolve.cc:2589 ++#: fortran/resolve.cc:2572 + msgid "array result" + msgstr "" + +-#: fortran/resolve.cc:2594 ++#: fortran/resolve.cc:2577 + msgid "pointer or allocatable result" + msgstr "" + +-#: fortran/resolve.cc:2601 ++#: fortran/resolve.cc:2584 + #, fuzzy + #| msgid "'%s' at %L must have constant character length in this context" + msgid "result with non-constant character length" + msgstr "'%s' %L'de bu bağlam için sabit karakter uzunluklu olmalı" + +-#: fortran/resolve.cc:2613 ++#: fortran/resolve.cc:2596 + msgid "bind(c) procedure" + msgstr "" + +-#: fortran/resolve.cc:4175 ++#: fortran/resolve.cc:4158 + #, fuzzy, c-format + #| msgid "Invalid kind for %s at %L" + msgid "Invalid context for NULL() pointer at %%L" + msgstr "%s için %L'deki çeşit geçersiz" + +-#: fortran/resolve.cc:4192 ++#: fortran/resolve.cc:4175 + #, fuzzy, c-format + #| msgid "Operand of unary numeric operator '%s' at %%L is %s" + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "%%L'deki tek terimli sayısal '%s' işlecinin terimi %s" + +-#: fortran/resolve.cc:4209 ++#: fortran/resolve.cc:4192 + #, c-format + msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" + msgstr "" + +-#: fortran/resolve.cc:4214 ++#: fortran/resolve.cc:4197 + #, fuzzy, c-format + #| msgid "Operands of binary numeric operator '%s' at %%L are %s/%s" + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "%%L'deki iki terimli sayısal '%s' işlecinin terimleri %s/%s" + +-#: fortran/resolve.cc:4229 ++#: fortran/resolve.cc:4212 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "%%L'deki dizge ekleme işlecinin terimleri %s/%s" + +-#: fortran/resolve.cc:4272 ++#: fortran/resolve.cc:4255 + #, fuzzy, c-format + #| msgid "Operands of logical operator '%s' at %%L are %s/%s" + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "%%L'deki mantıksal '%s' işlecinin terimleri %s/%s" + +-#: fortran/resolve.cc:4295 ++#: fortran/resolve.cc:4278 + #, fuzzy, c-format + #| msgid "Operand of .NOT. operator at %%L is %s" + msgid "Operand of .not. operator at %%L is %s" + msgstr "%%L'deki .NOT. işlecinin terimi %s" + +-#: fortran/resolve.cc:4309 ++#: fortran/resolve.cc:4292 + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "%L'de COMPLEX nicelikler karşılaştırılamıyor" + +-#: fortran/resolve.cc:4407 ++#: fortran/resolve.cc:4390 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "%%L'deki mantıksallar %s ile karşılaştırılmalı %s ile değil" + +-#: fortran/resolve.cc:4413 ++#: fortran/resolve.cc:4396 + #, fuzzy, c-format + #| msgid "Operands of comparison operator '%s' at %%L are %s/%s" + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "%%L'deki '%s' karşılaştırma işlecinin terimleri %s/%s" + +-#: fortran/resolve.cc:4427 ++#: fortran/resolve.cc:4410 + #, fuzzy, c-format + #| msgid "unknown operator '%s' in %%:version-compare" + msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" + msgstr "%%:version-compare içindeki '%s' işleci bilinmiyor" + +-#: fortran/resolve.cc:4430 ++#: fortran/resolve.cc:4413 + #, fuzzy, c-format + #| msgid "unknown operator '%s' in %%:version-compare" + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "%%:version-compare içindeki '%s' işleci bilinmiyor" + +-#: fortran/resolve.cc:4435 ++#: fortran/resolve.cc:4418 + #, fuzzy, c-format + #| msgid "Operand of user operator '%s' at %%L is %s" + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "%%L'deki '%s' kullanıcı işlecinin terimi %s" + +-#: fortran/resolve.cc:4440 ++#: fortran/resolve.cc:4423 + #, fuzzy, c-format + #| msgid "Operands of user operator '%s' at %%L are %s/%s" + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "%%L'deki '%s' kullanıcı işlecinin terimleri %s/%s" + +-#: fortran/resolve.cc:4526 ++#: fortran/resolve.cc:4509 + #, fuzzy, c-format + #| msgid "Inconsistent ranks for operator at %L and %L" + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "%L ve %L'de işliçler için sıralar uyumsuz" + +-#: fortran/resolve.cc:7400 ++#: fortran/resolve.cc:7383 + msgid "Loop variable" + msgstr "" + +-#: fortran/resolve.cc:7404 ++#: fortran/resolve.cc:7387 + #, fuzzy + #| msgid "Perform variable tracking" + msgid "iterator variable" + msgstr "Değişken izleme uygulanır" + +-#: fortran/resolve.cc:7408 ++#: fortran/resolve.cc:7391 + #, fuzzy + #| msgid "Step expression in DO loop at %L cannot be zero" + msgid "Start expression in DO loop" + msgstr "%L'de Do döngüsündeki adım ifadesi sıfır olamaz" + +-#: fortran/resolve.cc:7412 ++#: fortran/resolve.cc:7395 + #, fuzzy + #| msgid "invalid expression as operand" + msgid "End expression in DO loop" + msgstr "terim olarak ifade geçersiz" + +-#: fortran/resolve.cc:7416 ++#: fortran/resolve.cc:7399 + #, fuzzy + #| msgid "Step expression in DO loop at %L cannot be zero" + msgid "Step expression in DO loop" + msgstr "%L'de Do döngüsündeki adım ifadesi sıfır olamaz" + +-#: fortran/resolve.cc:7703 fortran/resolve.cc:7706 ++#: fortran/resolve.cc:7686 fortran/resolve.cc:7689 + #, fuzzy + #| msgid "DEALLOCATE " + msgid "DEALLOCATE object" + msgstr "YERAÇ " + +-#: fortran/resolve.cc:8084 fortran/resolve.cc:8087 ++#: fortran/resolve.cc:8067 fortran/resolve.cc:8070 + #, fuzzy + #| msgid "ALLOCATE " + msgid "ALLOCATE object" + msgstr "AYIR " + +-#: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 ++#: fortran/resolve.cc:8304 fortran/resolve.cc:10280 fortran/resolve.cc:10401 + msgid "STAT variable" + msgstr "" + +-#: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 ++#: fortran/resolve.cc:8355 fortran/resolve.cc:10292 fortran/resolve.cc:10413 + msgid "ERRMSG variable" + msgstr "" + +-#: fortran/resolve.cc:10113 ++#: fortran/resolve.cc:10082 + msgid "item in READ" + msgstr "" + +-#: fortran/resolve.cc:10335 ++#: fortran/resolve.cc:10304 + msgid "ACQUIRED_LOCK variable" + msgstr "" + +@@ -23814,27 +23808,27 @@ msgstr "" + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "" + +-#: fortran/trans-array.cc:10211 ++#: fortran/trans-array.cc:10188 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "" + +-#: fortran/trans-decl.cc:6206 ++#: fortran/trans-decl.cc:6203 + #, c-format + msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-decl.cc:6214 ++#: fortran/trans-decl.cc:6211 + #, c-format + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-expr.cc:10376 ++#: fortran/trans-expr.cc:10333 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "" + +-#: fortran/trans-expr.cc:11936 ++#: fortran/trans-expr.cc:11893 + msgid "Assignment of scalar to unallocated array" + msgstr "" + +@@ -24867,7 +24861,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "static TPF-OS'da desteklenmiyor" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3343 fortran/io.cc:3736 fortran/io.cc:4422 ++#: fortran/gfortran.h:3341 fortran/io.cc:3736 fortran/io.cc:4422 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in %s statement at %C" + msgstr "%s deyiminde sözdizimi hatası (%C'de)" +@@ -25293,7 +25287,7 @@ msgstr "%s özniteliği ile %s özniteliği %L'de çelişiyor" + + #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 + #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 +-#: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 ++#: c-family/c-attribs.cc:4883 cp/decl.cc:15960 cp/decl.cc:16010 + #: cp/friend.cc:318 cp/tree.cc:5261 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration %q+#D here" +@@ -25399,10 +25393,10 @@ msgstr "tür öznitelikleri sadece tür tanımlarında uygulanabilir" + #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 + #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 +-#: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 +-#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 ++#: config/i386/i386-options.cc:3426 config/i386/i386-options.cc:3584 ++#: config/i386/i386-options.cc:3816 config/i386/i386-options.cc:3846 + #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 +-#: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 ++#: config/rs6000/rs6000.cc:20466 ada/gcc-interface/utils.cc:6588 + #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 + #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 + #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 +@@ -25546,7 +25540,7 @@ msgstr "sınıf %s için dosya bulunamıyor" + msgid "offset %qwi outside bounds of constant string" + msgstr "göreli konum sabit dizgenin sınırlarının dışında" + +-#: builtins.cc:705 cp/name-lookup.cc:6417 ++#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" + msgid "%qE declared here" +@@ -27547,7 +27541,7 @@ msgstr "büyük tamsayı örtük olarak unsigned türe indirgendi" + msgid "comparison is always %d due to width of bit-field" + msgstr "karşılaştırma bit alanının genişliğinden dolayı daima %d" + +-#: fold-const.cc:6080 tree-ssa-reassoc.cc:2877 tree-ssa-reassoc.cc:3959 ++#: fold-const.cc:6080 tree-ssa-reassoc.cc:2868 tree-ssa-reassoc.cc:3950 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "" +@@ -28410,7 +28404,7 @@ msgstr "işlev yerel değişkenin adresi ile dönüyor" + #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 + #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 + #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 +-#: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ++#: cp/decl.cc:8876 cp/decl.cc:16157 cp/decl.cc:16524 cp/decl2.cc:5715 + #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 + #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 + #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 +@@ -29569,14 +29563,14 @@ msgstr "%qD üyesine gösterici varsayılıyor" + msgid "using a dangling pointer to %qD" + msgstr "gösterici kipi olarak %qs geçersiz" + +-#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 +-#: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 +-#: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 +-#: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 +-#: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 +-#: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 +-#: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 +-#: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 ++#: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4588 ++#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:906 ++#: tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 c/c-decl.cc:4270 ++#: c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 cp/class.cc:3291 ++#: cp/constexpr.cc:1067 cp/decl.cc:4440 cp/decl.cc:12599 cp/decl.cc:13099 ++#: cp/decl.cc:13108 cp/decl.cc:14069 cp/friend.cc:406 cp/friend.cc:416 ++#: cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 ++#: cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" + msgid "%qD declared here" +@@ -29626,7 +29620,7 @@ msgstr "%qE işlevinin örtük bildirimi" + msgid "call to %qD" + msgstr " %qD çağrısında" + +-#: gimple-ssa-warn-access.cc:4611 ++#: gimple-ssa-warn-access.cc:4582 + #, fuzzy, gcc-internal-format + #| msgid "address of local variable %q+D returned" + msgid "storing the address of local variable %qD in %qE" +@@ -30764,7 +30758,7 @@ msgstr "" + msgid "IPA modref summary is missing in input file" + msgstr "" + +-#: ipa-prop.cc:4730 ipa-prop.cc:4772 ipa-prop.cc:4858 ipa-prop.cc:4906 ++#: ipa-prop.cc:4715 ipa-prop.cc:4757 ipa-prop.cc:4843 ipa-prop.cc:4891 + #, fuzzy, gcc-internal-format + #| msgid "invalid function declaration" + msgid "invalid jump function in LTO stream" +@@ -31777,7 +31771,7 @@ msgstr "Çapraz atlama eniyilemesi uygulanır" + msgid "command-line option %qs is not supported by this configuration" + msgstr "komut satırı seçeneği %qs bu yapılandırmada desteklenmiyor" + +-#: opts-common.cc:1419 opts.cc:2512 ++#: opts-common.cc:1419 opts.cc:2511 + #, fuzzy, gcc-internal-format + #| msgid "missing argument to \"%s\"" + msgid "missing argument to %qs" +@@ -31824,13 +31818,13 @@ msgstr "-mips16 ve -mdsp birlikte kullanılamaz" + msgid "unrecognized argument in option %qs" + msgstr "komut satırı seçeneği \"%s\" tanınmıyor" + +-#: opts-common.cc:1539 config/i386/i386-options.cc:1637 ++#: opts-common.cc:1539 config/i386/i386-options.cc:1635 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "%qs özniteliğinin argümanı geçersiz" + +-#: opts-common.cc:1542 config/i386/i386-options.cc:1640 ++#: opts-common.cc:1542 config/i386/i386-options.cc:1638 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments to %qs are: %s" +@@ -32001,7 +31995,7 @@ msgstr "" + msgid "%<-fsanitize-recover=%s%> is not supported" + msgstr "yığıt sınırlama ifadesi desteklenmiyor" + +-#: opts.cc:1256 opts.cc:2248 ++#: opts.cc:1256 opts.cc:2247 + #, fuzzy, gcc-internal-format + #| msgid "stack limit expression is not supported" + msgid "%<-fsanitize-trap=%s%> is not supported" +@@ -32044,202 +32038,202 @@ msgstr "değişken izleme istendi, ama hata ayıklama bilgisi üretilmeksizin fa + msgid "variable tracking requested, but not supported by this debug format" + msgstr "değişken izleme istendi, ama bu hata ayıklama biçimi tarafından desteklenmiyor" + +-#: opts.cc:1411 ++#: opts.cc:1410 + #, gcc-internal-format + msgid "var-tracking-assignments changes selective scheduling" + msgstr "" + +-#: opts.cc:1424 ++#: opts.cc:1423 + #, gcc-internal-format + msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present" + msgstr "" + +-#: opts.cc:1454 config/darwin.cc:3361 ++#: opts.cc:1453 config/darwin.cc:3361 + #, fuzzy, gcc-internal-format + #| msgid "-freorder-blocks-and-partition does not work on this architecture" + msgid "%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture" + msgstr "-freorder-blocks-and-partition bu mimaride çalışmaz" + +-#: opts.cc:1470 ++#: opts.cc:1469 + #, fuzzy, gcc-internal-format + #| msgid "-freorder-blocks-and-partition does not work on this architecture" + msgid "%<-freorder-blocks-and-partition%> does not support unwind info on this architecture" + msgstr "-freorder-blocks-and-partition bu mimaride çalışmaz" + +-#: opts.cc:1488 config/pa/pa.cc:564 ++#: opts.cc:1487 config/pa/pa.cc:564 + #, fuzzy, gcc-internal-format + #| msgid "-freorder-blocks-and-partition does not work on this architecture" + msgid "%<-freorder-blocks-and-partition%> does not work on this architecture" + msgstr "-freorder-blocks-and-partition bu mimaride çalışmaz" + +-#: opts.cc:1997 ++#: opts.cc:1996 + #, gcc-internal-format + msgid "unrecognized % passed to %" + msgstr "" + +-#: opts.cc:2227 ++#: opts.cc:2226 + #, gcc-internal-format + msgid "%<-fsanitize=all%> option is not valid" + msgstr "" + +-#: opts.cc:2282 ++#: opts.cc:2281 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized command line option \"%s\"" + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?" + msgstr "komut satırı seçeneği \"%s\" tanınmıyor" + +-#: opts.cc:2288 ++#: opts.cc:2287 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized command line option \"%s\"" + msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s" + msgstr "komut satırı seçeneği \"%s\" tanınmıyor" + +-#: opts.cc:2323 ++#: opts.cc:2322 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute directive ignored" + msgid "%qs attribute directive ignored" + msgstr "%qs öznitelik yönergesi yoksayıldı" + +-#: opts.cc:2347 ++#: opts.cc:2346 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized command line option \"%s\"" + msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs" + msgstr "komut satırı seçeneği \"%s\" tanınmıyor" + +-#: opts.cc:2371 ++#: opts.cc:2370 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to builtin function" + msgid "invalid arguments for %<-falign-%s%> option: %qs" + msgstr "yerleşik işleve aktarılan argüman geçersiz" + +-#: opts.cc:2386 ++#: opts.cc:2385 + #, fuzzy, gcc-internal-format + #| msgid "too few arguments to function %qE" + msgid "invalid number of arguments for %<-falign-%s%> option: %qs" + msgstr "%qE işlevi için çok az argüman belirtildi" + +-#: opts.cc:2395 ++#: opts.cc:2394 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-falign-%s%> is not between 0 and %d" + msgstr "-malıgn-loops=%d, 0 ile %d arasında değil" + +-#: opts.cc:2454 ++#: opts.cc:2453 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to builtin function" + msgid "invalid arguments for %<-fpatchable-function-entry%>" + msgstr "yerleşik işleve aktarılan argüman geçersiz" + +-#: opts.cc:2567 ++#: opts.cc:2566 + #, gcc-internal-format + msgid "%<--help%> argument %q.*s is ambiguous, please be more specific" + msgstr "" + +-#: opts.cc:2576 ++#: opts.cc:2575 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized command line option \"%s\"" + msgid "unrecognized argument to %<--help=%> option: %q.*s" + msgstr "komut satırı seçeneği \"%s\" tanınmıyor" + +-#: opts.cc:2756 ++#: opts.cc:2755 + #, gcc-internal-format + msgid "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead" + msgstr "" + +-#: opts.cc:2762 ++#: opts.cc:2761 + #, gcc-internal-format + msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>" + msgstr "" + +-#: opts.cc:2983 ++#: opts.cc:2982 + #, gcc-internal-format + msgid "%<-foffload-abi%> option can be specified only for offload compiler" + msgstr "" + +-#: opts.cc:2991 ++#: opts.cc:2990 + #, fuzzy, gcc-internal-format + #| msgid "structure alignment must be a small power of two, not %d" + msgid "structure alignment must be a small power of two, not %wu" + msgstr "yapı hizalama ikinin küçük bir üssü olmalı %d değil" + +-#: opts.cc:3112 ++#: opts.cc:3111 + #, fuzzy, gcc-internal-format + #| msgid "unused parameter %qs" + msgid "unknown stack check parameter %qs" + msgstr "parametre %qs kullanılmamış" + +-#: opts.cc:3158 ++#: opts.cc:3157 + #, gcc-internal-format + msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level" + msgstr "" + +-#: opts.cc:3169 ++#: opts.cc:3168 + #, fuzzy, gcc-internal-format + #| msgid "stack limit expression is not supported" + msgid "dwarf version %wu is not supported" + msgstr "yığıt sınırlama ifadesi desteklenmiyor" + +-#: opts.cc:3206 ++#: opts.cc:3205 + #, fuzzy, gcc-internal-format + #| msgid "unrecognized command line option \"%s\"" + msgid "unrecognized argument to %<-flto=%> option: %qs" + msgstr "komut satırı seçeneği \"%s\" tanınmıyor" + +-#: opts.cc:3406 ++#: opts.cc:3405 + #, gcc-internal-format + msgid "target system does not support debug output" + msgstr "hedef sistem hata ayıklama çıktısını desteklemiyor" + +-#: opts.cc:3444 ++#: opts.cc:3443 + #, fuzzy, gcc-internal-format + #| msgid "debug format \"%s\" conflicts with prior selection" + msgid "debug format %qs conflicts with prior selection" + msgstr "\"%s\" hata ayıklama biçimi önceki seçimle çelişiyor" + +-#: opts.cc:3468 ++#: opts.cc:3467 + #, fuzzy, gcc-internal-format + #| msgid "unrecognised debug output level \"%s\"" + msgid "unrecognized debug output level %qs" + msgstr "hata ayıklama çıktı seviyesi \"%s\" tanınmıyor" + +-#: opts.cc:3470 ++#: opts.cc:3469 + #, fuzzy, gcc-internal-format + #| msgid "debug output level %s is too high" + msgid "debug output level %qs is too high" + msgstr "hata ayıklama çıktılama seviyesi %s çok yüksek" + +-#: opts.cc:3482 ++#: opts.cc:3481 + #, fuzzy, gcc-internal-format + #| msgid "unrecognised debug output level \"%s\"" + msgid "unrecognized btf debug output level %qs" + msgstr "hata ayıklama çıktı seviyesi \"%s\" tanınmıyor" + +-#: opts.cc:3499 ++#: opts.cc:3498 + #, gcc-internal-format + msgid "getting core file size maximum limit: %m" + msgstr "core dosyasının boyu azami sınıra getiriliyor: %m" + +-#: opts.cc:3503 ++#: opts.cc:3502 + #, gcc-internal-format + msgid "setting core file size limit to maximum: %m" + msgstr "core dosyasının boyut sınırı azami değere ayarlanıyor: %m" + +-#: opts.cc:3548 ++#: opts.cc:3547 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" + msgstr "tanınmayan gcc hata ayıklama seçeneği: %c" + +-#: opts.cc:3577 ++#: opts.cc:3576 + #, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?" + msgstr "" + +-#: opts.cc:3581 ++#: opts.cc:3580 + #, fuzzy, gcc-internal-format + msgid "%<-W%serror=%s%>: no option %<-%s%>" + msgstr "%<%3$E%4$s%> içindeki %<%2$s işleci%> için %1$s" + +-#: opts.cc:3585 ++#: opts.cc:3584 + #, gcc-internal-format + msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings" + msgstr "" +@@ -32966,199 +32960,199 @@ msgstr "%<...%> kullanan yöntem %q#D için soysal thunk kodu başarısız olur" + msgid "%qD renamed after being referenced in assembly" + msgstr "makina dilinde referanslandıktan sonra %D yeniden isimlendirilmiş." + +-#: symtab.cc:1109 ++#: symtab.cc:1107 + #, fuzzy, gcc-internal-format + #| msgid "function returning a function" + msgid "function symbol is not function" + msgstr "bir işlev döndüren işlev" + +-#: symtab.cc:1116 ++#: symtab.cc:1114 + #, gcc-internal-format + msgid "inconsistent % attribute" + msgstr "" + +-#: symtab.cc:1124 ++#: symtab.cc:1122 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute only applies to variables" + msgid "variable symbol is not variable" + msgstr "%qs özniteliği sadece değişkenlere uygulanır" + +-#: symtab.cc:1130 ++#: symtab.cc:1128 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.cc:1135 ++#: symtab.cc:1133 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid option argument %qs" + msgid "node has invalid order %i" + msgstr "seçenek argümanı %qs geçersiz" + +-#: symtab.cc:1144 ++#: symtab.cc:1142 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1152 ++#: symtab.cc:1150 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.cc:1163 symtab.cc:1170 ++#: symtab.cc:1161 symtab.cc:1168 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.cc:1179 ++#: symtab.cc:1177 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "" + +-#: symtab.cc:1188 ++#: symtab.cc:1186 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.cc:1193 ++#: symtab.cc:1191 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.cc:1198 ++#: symtab.cc:1196 + #, fuzzy, gcc-internal-format + #| msgid "called object %qE is not a function" + msgid "node is analyzed but it is not a definition" + msgstr "çağrılan nesne %qE bir işlev değil" + +-#: symtab.cc:1203 ++#: symtab.cc:1201 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.cc:1208 ++#: symtab.cc:1206 + #, fuzzy, gcc-internal-format + #| msgid "%Jold-style function definition" + msgid "node is alias but not definition" + msgstr "%Jeski tarz işlev tanımı" + +-#: symtab.cc:1213 ++#: symtab.cc:1211 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.cc:1218 ++#: symtab.cc:1216 + #, fuzzy, gcc-internal-format + #| msgid "%Jold-style function definition" + msgid "node is transparent_alias but not an alias" + msgstr "%Jeski tarz işlev tanımı" + +-#: symtab.cc:1223 ++#: symtab.cc:1221 + #, fuzzy, gcc-internal-format + #| msgid "%Jold-style function definition" + msgid "node is symver but not alias" + msgstr "%Jeski tarz işlev tanımı" + +-#: symtab.cc:1232 ++#: symtab.cc:1230 + #, gcc-internal-format + msgid "symver target is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1239 ++#: symtab.cc:1237 + #, gcc-internal-format + msgid "symver is not exported with default visibility" + msgstr "" + +-#: symtab.cc:1248 ++#: symtab.cc:1246 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.cc:1253 ++#: symtab.cc:1251 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.cc:1258 ++#: symtab.cc:1256 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.cc:1263 ++#: symtab.cc:1261 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.cc:1270 ++#: symtab.cc:1268 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.cc:1285 ++#: symtab.cc:1283 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.cc:1295 ++#: symtab.cc:1293 + #, fuzzy, gcc-internal-format + #| msgid "implicit declaration of function %qE" + msgid "implicit_section flag is set but section isn%'t" + msgstr "%qE işlevinin örtük bildirimi" + +-#: symtab.cc:1302 ++#: symtab.cc:1300 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.cc:1314 ++#: symtab.cc:1312 + #, gcc-internal-format + msgid "Alias and target%'s section differs" + msgstr "" + +-#: symtab.cc:1321 ++#: symtab.cc:1319 + #, gcc-internal-format + msgid "Alias and target%'s comdat groups differs" + msgstr "" + +-#: symtab.cc:1336 ++#: symtab.cc:1334 + #, gcc-internal-format + msgid "Transparent alias and target%'s assembler names differs" + msgstr "" + +-#: symtab.cc:1344 ++#: symtab.cc:1342 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.cc:1367 symtab.cc:1385 symtab.cc:1412 ++#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410 + #, fuzzy, gcc-internal-format + #| msgid "verify_ssa failed" + msgid "symtab_node::verify failed" + msgstr "verify_ssa başarısız" + +-#: symtab.cc:1384 ++#: symtab.cc:1382 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid pointer mode %qs" + msgid "invalid order in asm node %i" + msgstr "gösterici kipi olarak %qs geçersiz" + +-#: symtab.cc:1408 ++#: symtab.cc:1406 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.cc:1846 ++#: symtab.cc:1844 + #, fuzzy, gcc-internal-format + #| msgid "function %q+D redeclared as inline" + msgid "function %q+D part of alias cycle" + msgstr "işlev %q+D 'inline' olarak yeniden bildirilmiş" + +-#: symtab.cc:1848 ++#: symtab.cc:1846 + #, fuzzy, gcc-internal-format + #| msgid "variable %q+D declared %" + msgid "variable %q+D part of alias cycle" + msgstr "% bildirimli %q+D değişkeni" + +-#: symtab.cc:1876 ++#: symtab.cc:1874 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -34998,27 +34992,27 @@ msgstr "" + msgid "target specific builtin not available" + msgstr "" + +-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2060 ++#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2051 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:331 ++#: tree-vect-generic.cc:322 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "" + +-#: tree-vect-generic.cc:388 ++#: tree-vect-generic.cc:379 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "" + +-#: tree-vect-generic.cc:1119 ++#: tree-vect-generic.cc:1110 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "" + +-#: tree-vect-generic.cc:1620 ++#: tree-vect-generic.cc:1611 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "" +@@ -35899,7 +35893,7 @@ msgstr "%qE özniteliği sınıf türleri dışında yoksayılır" + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "%qE özniteliği sınıf türleri dışında yoksayılır" + +-#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 ++#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "%qE özniteliği sadece genel nesnelerde etkilidir" +@@ -38198,7 +38192,7 @@ msgstr "" + msgid "traditional C rejects string constant concatenation" + msgstr "geleneksel C dizge sabitlerin birleştirilmesine izin vermez" + +-#: c-family/c-omp.cc:130 cp/pt.cc:19567 ++#: c-family/c-omp.cc:130 cp/pt.cc:19559 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "" +@@ -40052,7 +40046,7 @@ msgstr "girdi dosyası sayısı çok fazla" + msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" + msgstr "" + +-#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 ++#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18127 + #, fuzzy, gcc-internal-format + #| msgid "bad value %qs for -mcpu switch" + msgid "unknown value %qs for %<-mcpu%>" +@@ -40086,16 +40080,16 @@ msgid "unrecognized option passed to %%:%" + msgstr "" + + #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 +-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 +-#: config/aarch64/aarch64.cc:18110 ++#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18059 ++#: config/aarch64/aarch64.cc:18097 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "%qs özniteliğinin argümanı geçersiz" + + #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 +-#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 +-#: config/aarch64/aarch64.cc:18113 ++#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18062 ++#: config/aarch64/aarch64.cc:18100 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments are: %s" +@@ -40190,55 +40184,55 @@ msgstr "spec '%s' geçersiz" + msgid "%<-mcpu=%s%> has invalid silicon revision" + msgstr "" + +-#: common/config/i386/i386-common.cc:1776 ++#: common/config/i386/i386-common.cc:1759 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops is obsolete, use -falign-loops" + msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>" + msgstr "-malign-loops artık kullanılmıyor yerine -falign-loops kullanın" + +-#: common/config/i386/i386-common.cc:1779 ++#: common/config/i386/i386-common.cc:1762 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-malign-loops=%d%> is not between 0 and %d" + msgstr "-malıgn-loops=%d, 0 ile %d arasında değil" + +-#: common/config/i386/i386-common.cc:1786 ++#: common/config/i386/i386-common.cc:1769 + #, fuzzy, gcc-internal-format + #| msgid "-malign-jumps is obsolete, use -falign-jumps" + msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>" + msgstr "-malıgn-jumps artık atıl, yerine -falign-jumps kullanın" + +-#: common/config/i386/i386-common.cc:1789 ++#: common/config/i386/i386-common.cc:1772 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-malign-jumps=%d%> is not between 0 and %d" + msgstr "-malıgn-loops=%d, 0 ile %d arasında değil" + +-#: common/config/i386/i386-common.cc:1797 ++#: common/config/i386/i386-common.cc:1780 + #, fuzzy, gcc-internal-format + #| msgid "-malign-functions is obsolete, use -falign-functions" + msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>" + msgstr "-malign-functions artık atıl, yerine -falign-functions kullanın" + +-#: common/config/i386/i386-common.cc:1800 ++#: common/config/i386/i386-common.cc:1783 + #, fuzzy, gcc-internal-format + #| msgid "-malign-loops=%d is not between 0 and %d" + msgid "%<-malign-functions=%d%> is not between 0 and %d" + msgstr "-malıgn-loops=%d, 0 ile %d arasında değil" + +-#: common/config/i386/i386-common.cc:1809 ++#: common/config/i386/i386-common.cc:1792 + #, fuzzy, gcc-internal-format + #| msgid "-mbranch-cost=%d is not between 0 and 5" + msgid "%<-mbranch-cost=%d%> is not between 0 and 5" + msgstr "-mbranch-cost=%d, 0 ile 5 arasında değil" + +-#: common/config/i386/i386-common.cc:1873 ++#: common/config/i386/i386-common.cc:1856 + #: common/config/s390/s390-common.cc:137 + #, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" + msgstr "" + +-#: common/config/i386/i386-common.cc:1883 ++#: common/config/i386/i386-common.cc:1866 + #, gcc-internal-format + msgid "%<-fsplit-stack%> requires assembler support for CFI directives" + msgstr "" +@@ -40769,14 +40763,14 @@ msgid "ACLE function %qD is incompatible with the use of %qs" + msgstr "assert: %s %s ile uyumlu atanıyor" + + #: config/aarch64/aarch64-sve-builtins.cc:726 +-#: config/riscv/riscv-vector-builtins.cc:3260 ++#: config/riscv/riscv-vector-builtins.cc:3250 + #, fuzzy, gcc-internal-format + #| msgid "%Hfirst argument of %D must be a pointer, second integer constant" + msgid "argument %d of %qE must be an integer constant expression" + msgstr "%H%D için ilk argüman bir gösterici, ikinci argüman sabit olmalıdır" + + #: config/aarch64/aarch64-sve-builtins.cc:738 +-#: config/riscv/riscv-vector-builtins.cc:3274 ++#: config/riscv/riscv-vector-builtins.cc:3264 + #, fuzzy, gcc-internal-format + #| msgid "Argument of ATANH at %L must be inside the range -1 to 1" + msgid "passing %wd to argument %d of %qE, which expects a value in the range [%wd, %wd]" +@@ -41022,7 +41016,7 @@ msgstr "%2$qE işlevinin %1$d. argümanının aktarımı sırasında bir tür d + + #: config/aarch64/aarch64-sve-builtins.cc:3536 + #: config/arm/arm-mve-builtins.cc:173 +-#: config/riscv/riscv-vector-builtins.cc:3454 ++#: config/riscv/riscv-vector-builtins.cc:3444 + #, fuzzy, gcc-internal-format + #| msgid "redefinition of %q+D" + msgid "duplicate definition of %qs" +@@ -41070,7 +41064,7 @@ msgid "SVE type %qT does not have a defined alignment" + msgstr "%qT türü bilinen bir boyuta sahip değil" + + #: config/aarch64/aarch64-sve-builtins.cc:3865 +-#: config/riscv/riscv-vector-builtins.cc:3392 ++#: config/riscv/riscv-vector-builtins.cc:3382 + #, gcc-internal-format + msgid "variables of type %qT cannot have thread-local storage duration" + msgstr "" +@@ -41169,350 +41163,350 @@ msgstr "" + msgid "arguments of type %qT require the SVE ISA extension" + msgstr "%L'deki SELECT deyiminin argümanı bir sabit ifadesi olmalı" + +-#: config/aarch64/aarch64.cc:7659 ++#: config/aarch64/aarch64.cc:7646 + #, fuzzy, gcc-internal-format + #| msgid "AltiVec argument passed to unprototyped function" + msgid "SVE type %qT cannot be passed to an unprototyped function" + msgstr "AltiVec argümanı prototipsiz işleve aktarıldı" + +-#: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 +-#: config/aarch64/aarch64.cc:19811 ++#: config/aarch64/aarch64.cc:7783 config/aarch64/aarch64.cc:7854 ++#: config/aarch64/aarch64.cc:19798 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 13.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 +-#: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 +-#: config/arm/arm.cc:7296 config/arm/arm.cc:29338 ++#: config/aarch64/aarch64.cc:7793 config/aarch64/aarch64.cc:7863 ++#: config/aarch64/aarch64.cc:19804 config/arm/arm.cc:7266 ++#: config/arm/arm.cc:7296 config/arm/arm.cc:29325 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "" + +-#: config/aarch64/aarch64.cc:7944 ++#: config/aarch64/aarch64.cc:7931 + #, fuzzy, gcc-internal-format + #| msgid "Use the Cray Pointer extension" + msgid "%qE requires the SVE ISA extension" + msgstr "Cray Göstericisi eklentisi kullanılır" + +-#: config/aarch64/aarch64.cc:7947 ++#: config/aarch64/aarch64.cc:7934 + #, gcc-internal-format + msgid "calls to functions of type %qT require the SVE ISA extension" + msgstr "" + +-#: config/aarch64/aarch64.cc:8125 ++#: config/aarch64/aarch64.cc:8112 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "" + +-#: config/aarch64/aarch64.cc:17557 ++#: config/aarch64/aarch64.cc:17544 + #, gcc-internal-format + msgid "unknown flag passed in %<-moverride=%s%> (%s)" + msgstr "" + +-#: config/aarch64/aarch64.cc:17601 ++#: config/aarch64/aarch64.cc:17588 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute ignored" + msgid "%qs string ill-formed" + msgstr "%qs özniteliği yoksayıldı" + +-#: config/aarch64/aarch64.cc:17657 ++#: config/aarch64/aarch64.cc:17644 + #, fuzzy, gcc-internal-format + #| msgid "invalid operation on %<__fpreg%>" + msgid "invalid format for %" + msgstr "%<__fpreg%> üzerinde geçersiz işlem" + +-#: config/aarch64/aarch64.cc:17669 ++#: config/aarch64/aarch64.cc:17656 + #, fuzzy, gcc-internal-format + #| msgid "invalid %%H value" + msgid "invalid % value: %d" + msgstr "%%H değeri geçersiz" + +-#: config/aarch64/aarch64.cc:17689 ++#: config/aarch64/aarch64.cc:17676 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid floating point option: -mfpu=%s" + msgid "tuning string missing in option (%s)" + msgstr "geçersiz gerçel değer seçeneği: -mfpu=%s" + +-#: config/aarch64/aarch64.cc:17707 ++#: config/aarch64/aarch64.cc:17694 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "unknown spec function '%s'" + msgid "unknown tuning option (%s)" + msgstr "bilinmeyen '%s' spec işlevi" + +-#: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 +-#: config/riscv/riscv.cc:6326 ++#: config/aarch64/aarch64.cc:17882 config/arm/arm.cc:3193 ++#: config/riscv/riscv.cc:6320 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 ++#: config/aarch64/aarch64.cc:17891 config/riscv/riscv.cc:6329 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:17912 ++#: config/aarch64/aarch64.cc:17899 + #, gcc-internal-format + msgid "specify a system register with a small string length" + msgstr "" + +-#: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 +-#: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 ++#: config/aarch64/aarch64.cc:17909 config/arm/arm.cc:3205 ++#: config/riscv/riscv.cc:6358 config/rs6000/rs6000.cc:4531 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not a valid output file" + msgid "%qs is not a valid offset in %qs" + msgstr "%qs geçerli bir çıktı dosyası değil" + +-#: config/aarch64/aarch64.cc:17929 ++#: config/aarch64/aarch64.cc:17916 + #, gcc-internal-format + msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18019 ++#: config/aarch64/aarch64.cc:18006 + #, gcc-internal-format + msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" + msgstr "" + +-#: config/aarch64/aarch64.cc:18035 ++#: config/aarch64/aarch64.cc:18022 + #, gcc-internal-format + msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18137 ++#: config/aarch64/aarch64.cc:18124 + #, fuzzy, gcc-internal-format + #| msgid "missing path after %qs" + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "%qs den sonra yol eksik" + +-#: config/aarch64/aarch64.cc:18144 ++#: config/aarch64/aarch64.cc:18131 + #, fuzzy, gcc-internal-format + #| msgid "unknown machine mode %qs" + msgid "invalid feature modifier %qs in %<-mcpu=%s%>" + msgstr "%qs makine kipi bilinmiyor" + +-#: config/aarch64/aarch64.cc:18203 ++#: config/aarch64/aarch64.cc:18190 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to %<__builtin_frame_address%>" + msgid "invalid argument given to %<-mharden-sls=%>" + msgstr "%<__builtin_frame_address%>'e aktarılan argüman geçersiz" + +-#: config/aarch64/aarch64.cc:18214 ++#: config/aarch64/aarch64.cc:18201 + #, gcc-internal-format + msgid "%qs must be by itself for %<-mharden-sls=%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18219 ++#: config/aarch64/aarch64.cc:18206 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to %<__builtin_frame_address%>" + msgid "invalid argument %<%s%> for %<-mharden-sls=%>" + msgstr "%<__builtin_frame_address%>'e aktarılan argüman geçersiz" + +-#: config/aarch64/aarch64.cc:18247 ++#: config/aarch64/aarch64.cc:18234 + #, fuzzy, gcc-internal-format + #| msgid "missing path after %qs" + msgid "missing arch name in %<-march=%s%>" + msgstr "%qs den sonra yol eksik" + +-#: config/aarch64/aarch64.cc:18250 ++#: config/aarch64/aarch64.cc:18237 + #, fuzzy, gcc-internal-format + #| msgid "Unknown value %qs of -mmacosx-version-min" + msgid "unknown value %qs for %<-march%>" + msgstr "-mmacosx-version-min için %qs değeri bilinmiyor" + +-#: config/aarch64/aarch64.cc:18256 ++#: config/aarch64/aarch64.cc:18243 + #, gcc-internal-format + msgid "did you mean %<-mcpu=%s%>?" + msgstr "" + +-#: config/aarch64/aarch64.cc:18259 ++#: config/aarch64/aarch64.cc:18246 + #, fuzzy, gcc-internal-format + #| msgid "missing filename after %qs" + msgid "invalid feature modifier %qs in %<-march=%s%>" + msgstr "%qs den sonra dosyaismi yok" + +-#: config/aarch64/aarch64.cc:18287 ++#: config/aarch64/aarch64.cc:18274 + #, fuzzy, gcc-internal-format + #| msgid "missing path after %qs" + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "%qs den sonra yol eksik" + +-#: config/aarch64/aarch64.cc:18290 ++#: config/aarch64/aarch64.cc:18277 + #, fuzzy, gcc-internal-format + #| msgid "Unknown value %qs of -mmacosx-version-min" + msgid "unknown value %qs for %<-mtune%>" + msgstr "-mmacosx-version-min için %qs değeri bilinmiyor" + +-#: config/aarch64/aarch64.cc:18375 ++#: config/aarch64/aarch64.cc:18362 + #, fuzzy, gcc-internal-format + #| msgid "switch -mcpu=%s conflicts with -march= switch" + msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" + msgstr "-mcpu=%s ile -march= seçenekleri çelişiyor" + +-#: config/aarch64/aarch64.cc:18429 ++#: config/aarch64/aarch64.cc:18416 + #, fuzzy, gcc-internal-format + #| msgid "does not support multilib" + msgid "assembler does not support %<-mabi=ilp32%>" + msgstr "multilib desteklenmiyor" + +-#: config/aarch64/aarch64.cc:18436 ++#: config/aarch64/aarch64.cc:18423 + #, gcc-internal-format + msgid "return address signing is only supported for %<-mabi=lp64%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18509 ++#: config/aarch64/aarch64.cc:18496 + #, gcc-internal-format + msgid "code model %qs with %<-f%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18512 ++#: config/aarch64/aarch64.cc:18499 + #, fuzzy, gcc-internal-format + #| msgid "code model %s not supported in PIC mode" + msgid "code model %qs not supported in ilp32 mode" + msgstr "PIC kipinde %s kod modeli desteklenmiyor" + +-#: config/aarch64/aarch64.cc:18664 ++#: config/aarch64/aarch64.cc:18651 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18667 ++#: config/aarch64/aarch64.cc:18654 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18671 ++#: config/aarch64/aarch64.cc:18658 + #, gcc-internal-format + msgid "invalid feature modifier %s of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18705 ++#: config/aarch64/aarch64.cc:18692 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18708 ++#: config/aarch64/aarch64.cc:18695 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 ++#: config/aarch64/aarch64.cc:18699 config/aarch64/aarch64.cc:18805 + #, gcc-internal-format + msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18735 ++#: config/aarch64/aarch64.cc:18722 + #, gcc-internal-format + msgid "missing argument to % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18739 ++#: config/aarch64/aarch64.cc:18726 + #, gcc-internal-format + msgid "invalid protection type %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18773 ++#: config/aarch64/aarch64.cc:18760 + #, gcc-internal-format + msgid "invalid name %qs in % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:18814 ++#: config/aarch64/aarch64.cc:18801 + #, fuzzy, gcc-internal-format + #| msgid "missing %<(%> after %<#pragma pack%> - ignored" + msgid "missing value in % pragma or attribute" + msgstr "%<#pragma pack%> sonrasında %<(%> eksik - yoksayıldı" + +-#: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 ++#: config/aarch64/aarch64.cc:18859 config/aarch64/aarch64.cc:19032 + #, fuzzy, gcc-internal-format + #| msgid "malformed %<#pragma init%>" + msgid "malformed % pragma or attribute" + msgstr "%<#pragma init%> bozuk" + +-#: config/aarch64/aarch64.cc:18916 ++#: config/aarch64/aarch64.cc:18903 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 ++#: config/aarch64/aarch64.cc:18911 config/i386/i386-options.cc:1254 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "" + +-#: config/aarch64/aarch64.cc:18978 ++#: config/aarch64/aarch64.cc:18965 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 +-#: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 ++#: config/aarch64/aarch64.cc:19022 config/arm/arm.cc:33526 ++#: config/rs6000/rs6000.cc:24408 config/s390/s390.cc:16053 + #, fuzzy, gcc-internal-format + #| msgid "alias argument not a string" + msgid "attribute % argument not a string" + msgstr "alias argümanı bir dizge değil" + +-#: config/aarch64/aarch64.cc:19070 ++#: config/aarch64/aarch64.cc:19057 + #, gcc-internal-format + msgid "arch extension %<%s%> should be prefixed by %<+%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:19073 ++#: config/aarch64/aarch64.cc:19060 + #, fuzzy, gcc-internal-format + #| msgid "alias argument not a string" + msgid "pragma or attribute % is not valid" + msgstr "alias argümanı bir dizge değil" + +-#: config/aarch64/aarch64.cc:19082 ++#: config/aarch64/aarch64.cc:19069 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "" + +-#: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 ++#: config/aarch64/aarch64.cc:20549 config/arm/arm.cc:6614 + #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 ++#: config/aarch64/aarch64.cc:20554 config/arm/arm.cc:6619 + #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 ++#: config/aarch64/aarch64.cc:20559 config/arm/arm.cc:6624 + msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" + msgstr "" + +-#: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 ++#: config/aarch64/aarch64.cc:21713 config/aarch64/aarch64.cc:21716 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 +-#: config/i386/i386.cc:23841 ++#: config/aarch64/aarch64.cc:26963 config/i386/i386.cc:23702 ++#: config/i386/i386.cc:23833 + #, fuzzy, gcc-internal-format + #| msgid "unsupported combination: %s" + msgid "unsupported simdlen %wd" + msgstr "desteklenmeyen birleşim: %s" + +-#: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 ++#: config/aarch64/aarch64.cc:26975 config/aarch64/aarch64.cc:27004 + #, gcc-internal-format + msgid "GCC does not currently support mixed size types for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27006 ++#: config/aarch64/aarch64.cc:26979 + #, gcc-internal-format + msgid "GCC does not currently support return type %qT for % functions" + msgstr "" + +-#: config/aarch64/aarch64.cc:27010 ++#: config/aarch64/aarch64.cc:26983 + #, fuzzy, gcc-internal-format + #| msgid "unused arguments in $-style format" + msgid "unsupported return type %qT for % functions" + msgstr "$ tarzı biçimde kullanılmamış argümanlar" + +-#: config/aarch64/aarch64.cc:27035 ++#: config/aarch64/aarch64.cc:27008 + #, fuzzy, gcc-internal-format + #| msgid "unused arguments in $-style format" + msgid "GCC does not currently support argument type %qT for % functions" + msgstr "$ tarzı biçimde kullanılmamış argümanlar" + +-#: config/aarch64/aarch64.cc:27061 ++#: config/aarch64/aarch64.cc:27034 + #, fuzzy, gcc-internal-format + #| msgid "the -shared option is not currently supported for VAX ELF" + msgid "GCC does not currently support simdlen %wd for type %qT" +@@ -41718,13 +41712,13 @@ msgstr "%qs özniteliğinin argümanı \"ilink1\" ya da \"ilink2\" değildir" + #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 + #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 + #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 +-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 +-#: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 +-#: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 ++#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381 ++#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614 ++#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702 + #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 ++#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3988 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 ++#: config/rs6000/rs6000.cc:20362 config/rx/rx.cc:2727 config/rx/rx.cc:2753 + #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 +@@ -41884,18 +41878,18 @@ msgstr "%qE özniteliği yoksayıldı" + msgid "%qE attribute only applies to variables" + msgstr "%qs özniteliği sadece değişkenlere uygulanır" + +-#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 ++#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22536 + #, gcc-internal-format + msgid "alternatives not allowed in % flag output" + msgstr "" + +-#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 ++#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22600 + #, fuzzy, gcc-internal-format + #| msgid "unknown machine mode %qs" + msgid "unknown % flag output %qs" + msgstr "%qs makine kipi bilinmiyor" + +-#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 ++#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22629 + #, fuzzy, gcc-internal-format + #| msgid "invalid type argument" + msgid "invalid type for % flag output" +@@ -42120,7 +42114,7 @@ msgstr "hedef işlemci THUMB komutlarını desteklemiyor" + msgid "target CPU does not support unaligned accesses" + msgstr "hedef işlemci beraber çalışmayı desteklemiyor" + +-#: config/arm/arm.cc:3213 config/arm/arm.cc:33212 ++#: config/arm/arm.cc:3213 config/arm/arm.cc:33199 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support THUMB instructions" + msgid "This architecture does not support branch protection instructions" +@@ -42183,7 +42177,7 @@ msgstr "veri yapısı boyut sınırı sadece %s ye ayarlanabilir" + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "assert: %s %s ile uyumlu atanıyor" + +-#: config/arm/arm.cc:3649 config/arm/arm.cc:33553 ++#: config/arm/arm.cc:3649 config/arm/arm.cc:33540 + #, fuzzy, gcc-internal-format + #| msgid "code model %s not supported in PIC mode" + msgid "FDPIC mode is not supported in Thumb-1 mode" +@@ -42298,7 +42292,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "" + + #: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293 +-#: config/arm/arm.cc:29331 ++#: config/arm/arm.cc:29318 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "" +@@ -42354,34 +42348,34 @@ msgstr "" + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.cc:25920 ++#: config/arm/arm.cc:25907 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "yığıttaki parametrenin gerçek konumu hesaplanamıyor" + +-#: config/arm/arm.cc:26583 ++#: config/arm/arm.cc:26570 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected end of module" + msgid "Unexpected thumb1 far jump" + msgstr "Beklenmeyen modül sonu" + +-#: config/arm/arm.cc:26842 ++#: config/arm/arm.cc:26829 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "yüksek yazmaçları çekmeye elverişli düşük yazmaç yok" + +-#: config/arm/arm.cc:27095 ++#: config/arm/arm.cc:27082 + #, fuzzy, gcc-internal-format + #| msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "sistem kesmesi Servis İşlemleri Thumb kipinde kodlanamaz" + +-#: config/arm/arm.cc:27341 ++#: config/arm/arm.cc:27328 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "" + +-#: config/arm/arm.cc:33568 ++#: config/arm/arm.cc:33555 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "invalid fpu for target attribute or pragma %qs" +@@ -42390,24 +42384,24 @@ msgstr "%qs özniteliğinin argümanı geçersiz" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33576 ++#: config/arm/arm.cc:33563 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.cc:33589 ++#: config/arm/arm.cc:33576 + #, fuzzy, gcc-internal-format + #| msgid "invalid vector type for attribute %qE" + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "%qE özniteliği için vektör türü geçersiz" + +-#: config/arm/arm.cc:33603 ++#: config/arm/arm.cc:33590 + #, fuzzy, gcc-internal-format + #| msgid "unknown register name: %s" + msgid "unknown target attribute or pragma %qs" + msgstr "bilinmeyen yazmaç ismi: %s" + +-#: config/arm/arm.cc:34565 ++#: config/arm/arm.cc:34552 + #, fuzzy, gcc-internal-format + msgid "% flags not supported in thumb1 mode" + msgstr "%2$s bit kipinde %1$qs kod modeli desteklenmiyor" +@@ -42492,19 +42486,19 @@ msgstr "-pipe desteklenmiyor" + msgid "%<-fPIE%> is not supported" + msgstr "-pipe desteklenmiyor" + +-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 ++#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6628 + #, fuzzy, gcc-internal-format + #| msgid "-G and -static are mutually exclusive" + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "-G ve -static birlikte kullanılamaz" + +-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 ++#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6640 + #, fuzzy, gcc-internal-format + #| msgid "%qD cannot have default arguments" + msgid "%qs function cannot have arguments" + msgstr "%qD öntanımlı argümanlara sahip olamaz" + +-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 ++#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6637 + #, fuzzy, gcc-internal-format + #| msgid "Function does not return a value" + msgid "%qs function cannot return a value" +@@ -42862,7 +42856,7 @@ msgstr "yerleşik işleve aktarılan argüman geçersiz" + #: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292 + #: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17187 + #: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:306 +-#: config/riscv/riscv-vector-builtins.cc:3240 ++#: config/riscv/riscv-vector-builtins.cc:3230 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument to builtin function" + msgid "invalid argument to built-in function" +@@ -43536,753 +43530,753 @@ msgstr "" + msgid "virtual function multiversioning not supported" + msgstr "yığıt sınırlama ifadesi desteklenmiyor" + +-#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 ++#: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25106 + #, fuzzy, gcc-internal-format + #| msgid "__builtin_eh_return not supported on this target" + msgid "multiversioning needs % which is not supported on this target" + msgstr "__builtin_eh_return bu hedefte desteklenmiyor" + +-#: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 +-#: config/i386/i386-options.cc:2134 ++#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123 ++#: config/i386/i386-options.cc:2132 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "code model %s not supported in PIC mode" + msgid "code model %s does not support PIC mode" + msgstr "PIC kipinde %s kod modeli desteklenmiyor" + +-#: config/i386/i386-options.cc:1161 ++#: config/i386/i386-options.cc:1159 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute argument not a string constant" + msgid "attribute %qs argument is not a string" + msgstr "%qs öznitelik argümanı bir dizge sabit değil" + +-#: config/i386/i386-options.cc:1225 ++#: config/i386/i386-options.cc:1223 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute argument not a string constant" + msgid "attribute %qs argument %qs is unknown" + msgstr "%qs öznitelik argümanı bir dizge sabit değil" + +-#: config/i386/i386-options.cc:1288 ++#: config/i386/i386-options.cc:1286 + #, fuzzy, gcc-internal-format + #| msgid "SEQUENCE attribute at %C already specified in TYPE statement" + msgid "attribute value %qs was already specified in %qs attribute" + msgstr "%C'de SEQUENCE deyimi zaten TYPE deyiminde belirtilmiş" + +-#: config/i386/i386-options.cc:1326 ++#: config/i386/i386-options.cc:1324 + #, fuzzy, gcc-internal-format + #| msgid "%s attribute conflicts with %s attribute at %L" + msgid "attribute value %qs is unknown in %qs attribute" + msgstr "%s özniteliği ile %s özniteliği %L'de çelişiyor" + +-#: config/i386/i386-options.cc:1608 ++#: config/i386/i386-options.cc:1606 + #, fuzzy, gcc-internal-format + #| msgid "error in args to spec function '%s'" + msgid "wrong argument %qs to option %qs" + msgstr "'%s' spec işlevi için argümanlar hatalı" + +-#: config/i386/i386-options.cc:1614 ++#: config/i386/i386-options.cc:1612 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "" + +-#: config/i386/i386-options.cc:1624 ++#: config/i386/i386-options.cc:1622 + #, fuzzy, gcc-internal-format + #| msgid "register name not specified for %q+D" + msgid "wrong strategy name %qs specified for option %qs" + msgstr "%q+D için yazmaç ismi belirtilmemiş" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:1650 ++#: config/i386/i386-options.cc:1648 + #, fuzzy, gcc-internal-format + #| msgid "register name not specified for %q+D" + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + msgstr "%q+D için yazmaç ismi belirtilmemiş" + +-#: config/i386/i386-options.cc:1663 ++#: config/i386/i386-options.cc:1661 + #, fuzzy, gcc-internal-format + #| msgid "alignment may not be specified for %q+D" + msgid "unknown alignment %qs specified for option %qs" + msgstr "hizalama, %q+D için belirtilmiş olmayabilir" + +-#: config/i386/i386-options.cc:1673 ++#: config/i386/i386-options.cc:1671 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + msgstr "" + +-#: config/i386/i386-options.cc:1680 ++#: config/i386/i386-options.cc:1678 + #, fuzzy, gcc-internal-format + #| msgid "no class name specified with %qs" + msgid "too many size ranges specified in option %qs" + msgstr "%qs ile belirtilmiş sınıf ismi yok" + +-#: config/i386/i386-options.cc:1733 ++#: config/i386/i386-options.cc:1731 + #, gcc-internal-format + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "" + +-#: config/i386/i386-options.cc:1947 ++#: config/i386/i386-options.cc:1945 + #, fuzzy, gcc-internal-format + #| msgid "64-bit ABI not supported in ESA/390 mode" + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "ESA/390 kipinde 64 bitlik ABI desteklenmiyor." + +-#: config/i386/i386-options.cc:2001 ++#: config/i386/i386-options.cc:1999 + #, fuzzy, gcc-internal-format + #| msgid "This switch is deprecated; use -Wextra instead" + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "Önerilmiyor; yerine -Wextra kullanın" + +-#: config/i386/i386-options.cc:2003 ++#: config/i386/i386-options.cc:2001 + #, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2031 ++#: config/i386/i386-options.cc:2029 + #, gcc-internal-format + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2036 ++#: config/i386/i386-options.cc:2034 + #, fuzzy, gcc-internal-format + #| msgid "stack limits not supported on this target" + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "bu hedefte yığıt sınırları desteklenmiyor" + +-#: config/i386/i386-options.cc:2039 ++#: config/i386/i386-options.cc:2037 + #, gcc-internal-format + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2054 ++#: config/i386/i386-options.cc:2052 + #, fuzzy, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "%2$s bit kipinde %1$qs kod modeli desteklenmiyor" + +-#: config/i386/i386-options.cc:2065 ++#: config/i386/i386-options.cc:2063 + #, fuzzy, gcc-internal-format + #| msgid "static is not supported on TPF-OS" + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "static TPF-OS'da desteklenmiyor" + +-#: config/i386/i386-options.cc:2071 ++#: config/i386/i386-options.cc:2069 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2074 ++#: config/i386/i386-options.cc:2072 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2078 ++#: config/i386/i386-options.cc:2076 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "" + +-#: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 +-#: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 +-#: config/i386/i386-options.cc:2138 ++#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102 ++#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125 ++#: config/i386/i386-options.cc:2136 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "%2$s bit kipinde %1$qs kod modeli desteklenmiyor" + +-#: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 ++#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117 + #, fuzzy, gcc-internal-format + #| msgid "code model %s not supported in PIC mode" + msgid "code model %qs not supported in x32 mode" + msgstr "PIC kipinde %s kod modeli desteklenmiyor" + +-#: config/i386/i386-options.cc:2162 ++#: config/i386/i386-options.cc:2160 + #, fuzzy, gcc-internal-format + #| msgid "-m%s not supported in this configuration" + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "-m%s bu yapılandırmada desteklenmiyor" + +-#: config/i386/i386-options.cc:2167 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "%i bitlik kip bunun içinde derlenmiş değil:" + +-#: config/i386/i386-options.cc:2179 ++#: config/i386/i386-options.cc:2177 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2181 ++#: config/i386/i386-options.cc:2179 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2186 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2190 ++#: config/i386/i386-options.cc:2188 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 ++#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328 + #, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "Seçtiginiz işlemci x86-64 komutlarını desteklemiyor." + +-#: config/i386/i386-options.cc:2269 ++#: config/i386/i386-options.cc:2267 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "bad value %qs for %<-march=%> switch" + msgstr "-march= seçeneğinin değeri (%s) hatalı" + +-#: config/i386/i386-options.cc:2270 ++#: config/i386/i386-options.cc:2268 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "bad value %qs for % attribute" + msgstr "-march= seçeneğinin değeri (%s) hatalı" + +-#: config/i386/i386-options.cc:2292 ++#: config/i386/i386-options.cc:2290 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "%qs özniteliğinin argümanı geçersiz" + +-#: config/i386/i386-options.cc:2294 ++#: config/i386/i386-options.cc:2292 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2299 ++#: config/i386/i386-options.cc:2297 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "%qs özniteliğinin argümanı geçersiz" + +-#: config/i386/i386-options.cc:2300 ++#: config/i386/i386-options.cc:2298 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments to % attribute are: %s" + msgstr "%qs özniteliğinin argümanı geçersiz" + +-#: config/i386/i386-options.cc:2349 ++#: config/i386/i386-options.cc:2347 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -mtune= switch" + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "-mtune= seçeneğinin değeri (%s) hatalı" + +-#: config/i386/i386-options.cc:2350 ++#: config/i386/i386-options.cc:2348 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -mtune= switch" + msgid "bad value %qs for % attribute" + msgstr "-mtune= seçeneğinin değeri (%s) hatalı" + +-#: config/i386/i386-options.cc:2371 ++#: config/i386/i386-options.cc:2369 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "%qs özniteliğinin argümanı geçersiz" + +-#: config/i386/i386-options.cc:2373 ++#: config/i386/i386-options.cc:2371 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2378 ++#: config/i386/i386-options.cc:2376 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "%qs özniteliğinin argümanı geçersiz" + +-#: config/i386/i386-options.cc:2379 ++#: config/i386/i386-options.cc:2377 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments to % attribute are: %s" + msgstr "%qs özniteliğinin argümanı geçersiz" + +-#: config/i386/i386-options.cc:2403 ++#: config/i386/i386-options.cc:2401 + #, fuzzy, gcc-internal-format + #| msgid "-mgp32 used with a 64-bit ABI" + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "-mgp32 bir 64-bit ABI ile kullanılmış" + +-#: config/i386/i386-options.cc:2405 ++#: config/i386/i386-options.cc:2403 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "" + +-#: config/i386/i386-options.cc:2408 ++#: config/i386/i386-options.cc:2406 + #, fuzzy, gcc-internal-format + #| msgid "-mregparm=%d is not between 0 and %d" + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "-mregparm=%d, 0 ile %d arasında değil" + +-#: config/i386/i386-options.cc:2431 ++#: config/i386/i386-options.cc:2429 + #, fuzzy, gcc-internal-format + #| msgid "-march=%s is not compatible with the selected ABI" + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "-march=%s seçilen ABI ile uyumsuz" + +-#: config/i386/i386-options.cc:2436 ++#: config/i386/i386-options.cc:2434 + #, fuzzy, gcc-internal-format + #| msgid "typedef declaration invalid in parameter declaration" + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "typedef bildirimi parametre bildiriminde geçersiz" + +-#: config/i386/i386-options.cc:2437 ++#: config/i386/i386-options.cc:2435 + #, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2524 + #, fuzzy, gcc-internal-format + #| msgid "-fprefetch-loop-arrays not supported for this target" + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "bu hedefte -fprefetch-loop-arrays desteklenmiyor" + +-#: config/i386/i386-options.cc:2529 ++#: config/i386/i386-options.cc:2527 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12" + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "-mpreferred-stack-boundary=%d, %d ile 12 arasında değil" + +-#: config/i386/i386-options.cc:2552 ++#: config/i386/i386-options.cc:2550 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12" + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "-mpreferred-stack-boundary=%d, %d ile 12 arasında değil" + +-#: config/i386/i386-options.cc:2565 ++#: config/i386/i386-options.cc:2563 + #, fuzzy, gcc-internal-format + #| msgid "-march=%s is not compatible with the selected ABI" + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "-march=%s seçilen ABI ile uyumsuz" + +-#: config/i386/i386-options.cc:2568 ++#: config/i386/i386-options.cc:2566 + #, fuzzy, gcc-internal-format + #| msgid "inter-module optimizations not implemented for C++" + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "modüller arası eniyilemeler henüz C++ için gerçeklenmedi" + +-#: config/i386/i386-options.cc:2574 ++#: config/i386/i386-options.cc:2572 + #, fuzzy, gcc-internal-format + #| msgid "-msseregparm used without SSE enabled" + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "-msseregparm SSE etkin değilken kullanılmış" + +-#: config/i386/i386-options.cc:2575 ++#: config/i386/i386-options.cc:2573 + #, fuzzy, gcc-internal-format + #| msgid "-msseregparm used without SSE enabled" + msgid "% used without SSE enabled" + msgstr "-msseregparm SSE etkin değilken kullanılmış" + +-#: config/i386/i386-options.cc:2585 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "SSE komut kümesi iptal edildi, 387 aritmetiği kullanılıyor" + +-#: config/i386/i386-options.cc:2592 ++#: config/i386/i386-options.cc:2590 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "387 komut kümesi iptal edildi, SSE aritmetiği kullanılıyor" + +-#: config/i386/i386-options.cc:2642 ++#: config/i386/i386-options.cc:2640 + #, fuzzy, gcc-internal-format + #| msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness" + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "birbirlerini etkilemeyenler tabloları doğruluk için ya bir çerçeve göstericisi ya da -maccumulate-outgoing-args gerektirir" + +-#: config/i386/i386-options.cc:2644 ++#: config/i386/i386-options.cc:2642 + #, fuzzy, gcc-internal-format + #| msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness" + msgid "stack probing requires % for correctness" + msgstr "birbirlerini etkilemeyenler tabloları doğruluk için ya bir çerçeve göstericisi ya da -maccumulate-outgoing-args gerektirir" + +-#: config/i386/i386-options.cc:2658 ++#: config/i386/i386-options.cc:2656 + #, fuzzy, gcc-internal-format + #| msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness" + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "birbirlerini etkilemeyenler tabloları doğruluk için ya bir çerçeve göstericisi ya da -maccumulate-outgoing-args gerektirir" + +-#: config/i386/i386-options.cc:2660 ++#: config/i386/i386-options.cc:2658 + #, fuzzy, gcc-internal-format + #| msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness" + msgid "fixed ebp register requires %" + msgstr "birbirlerini etkilemeyenler tabloları doğruluk için ya bir çerçeve göstericisi ya da -maccumulate-outgoing-args gerektirir" + +-#: config/i386/i386-options.cc:2720 ++#: config/i386/i386-options.cc:2718 + #, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "" + +-#: config/i386/i386-options.cc:2723 ++#: config/i386/i386-options.cc:2721 + #, fuzzy, gcc-internal-format + #| msgid "-march=%s is not compatible with the selected ABI" + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "-march=%s seçilen ABI ile uyumsuz" + +-#: config/i386/i386-options.cc:2727 ++#: config/i386/i386-options.cc:2725 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2841 ++#: config/i386/i386-options.cc:2839 + #, fuzzy, gcc-internal-format + #| msgid "unknown -m%s= option specified: '%s'" + msgid "unknown option for %<-mrecip=%s%>" + msgstr "bilinmeyen -m%s= seçeneği belirtilmiş: '%s'" + +-#: config/i386/i386-options.cc:2900 ++#: config/i386/i386-options.cc:2898 + #, gcc-internal-format + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2905 ++#: config/i386/i386-options.cc:2903 + #, gcc-internal-format + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2933 ++#: config/i386/i386-options.cc:2931 + #, gcc-internal-format + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "" + +-#: config/i386/i386-options.cc:2981 ++#: config/i386/i386-options.cc:2979 + #, fuzzy, gcc-internal-format + #| msgid "-march=%s is not compatible with the selected ABI" + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "-march=%s seçilen ABI ile uyumsuz" + +-#: config/i386/i386-options.cc:3117 ++#: config/i386/i386-options.cc:3115 + #, fuzzy, gcc-internal-format + #| msgid "stdcall and cdecl attributes are not compatible" + msgid "interrupt and naked attributes are not compatible" + msgstr "stdcall ve cdecl öznitelikleri uyumsuz" + +-#: config/i386/i386-options.cc:3132 ++#: config/i386/i386-options.cc:3130 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3181 ++#: config/i386/i386-options.cc:3179 + #, fuzzy, gcc-internal-format + #| msgid "-msdata=%s and -mcall-%s are incompatible" + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "-msdata=%s ile -mcall-%s uyumsuz." + +-#: config/i386/i386-options.cc:3191 ++#: config/i386/i386-options.cc:3189 + #, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3226 ++#: config/i386/i386-options.cc:3224 + #, fuzzy, gcc-internal-format + #| msgid "-msdata=%s and -mcall-%s are incompatible" + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "-msdata=%s ile -mcall-%s uyumsuz." + +-#: config/i386/i386-options.cc:3236 ++#: config/i386/i386-options.cc:3234 + #, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3343 ++#: config/i386/i386-options.cc:3341 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3345 ++#: config/i386/i386-options.cc:3343 + #, fuzzy, gcc-internal-format + #| msgid "standard conversions are not allowed in this context" + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "standart uzlaşımlara bu bağlam içinde izin verilmez" + +-#: config/i386/i386-options.cc:3349 ++#: config/i386/i386-options.cc:3347 + #, fuzzy, gcc-internal-format + #| msgid "Use a stack protection method for every function" + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "Her işlev için bir yığıt koruma yöntemi kullanılır" + +-#: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "fastcall ve regparm öznitelikleri uyumlu değil" + +-#: config/i386/i386-options.cc:3401 ++#: config/i386/i386-options.cc:3399 + #, fuzzy, gcc-internal-format + #| msgid "fastcall and stdcall attributes are not compatible" + msgid "regparam and thiscall attributes are not compatible" + msgstr "fastcall ve stdcall öznitelikleri uyumsuz" + +-#: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 ++#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute requires an integer constant argument" + msgid "%qE attribute requires an integer constant argument" + msgstr "%qs özniteliği bir tamsayı sabit argüman gerektirir" + +-#: config/i386/i386-options.cc:3414 ++#: config/i386/i386-options.cc:3412 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qs attribute larger than %d" + msgid "argument to %qE attribute larger than %d" + msgstr "%qs özniteliğine argüman %d den büyük" + +-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 ++#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "fastcall ve cdecl öznitelikleri uyumsuz" + +-#: config/i386/i386-options.cc:3443 ++#: config/i386/i386-options.cc:3441 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "fastcall ve stdcall öznitelikleri uyumsuz" + +-#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 ++#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498 + #, fuzzy, gcc-internal-format + #| msgid "fastcall and stdcall attributes are not compatible" + msgid "fastcall and thiscall attributes are not compatible" + msgstr "fastcall ve stdcall öznitelikleri uyumsuz" + +-#: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 ++#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "stdcall ve cdecl öznitelikleri uyumsuz" + +-#: config/i386/i386-options.cc:3465 ++#: config/i386/i386-options.cc:3463 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "fastcall ve stdcall öznitelikleri uyumsuz" + +-#: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 ++#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494 + #, fuzzy, gcc-internal-format + #| msgid "stdcall and fastcall attributes are not compatible" + msgid "stdcall and thiscall attributes are not compatible" + msgstr "fastcall ve stdcall öznitelikleri uyumsuz" + +-#: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 ++#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502 + #, fuzzy, gcc-internal-format + #| msgid "stdcall and fastcall attributes are not compatible" + msgid "cdecl and thiscall attributes are not compatible" + msgstr "fastcall ve stdcall öznitelikleri uyumsuz" + +-#: config/i386/i386-options.cc:3492 ++#: config/i386/i386-options.cc:3490 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored on non-class types" + msgid "%qE attribute is used for non-class method" + msgstr "%qE özniteliği sınıf türleri dışında yoksayılır" + +-#: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 ++#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20475 + #, fuzzy, gcc-internal-format + #| msgid "%qs incompatible attribute ignored" + msgid "%qE incompatible attribute ignored" + msgstr "%qs uyumsuz özniteliği yoksayıldı" + +-#: config/i386/i386-options.cc:3623 ++#: config/i386/i386-options.cc:3621 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute only applies to variables" + msgid "%qE attribute only available for 32-bit" + msgstr "%qs özniteliği sadece değişkenlere uygulanır" + +-#: config/i386/i386-options.cc:3644 ++#: config/i386/i386-options.cc:3642 + #, fuzzy, gcc-internal-format + #| msgid "argument of %qs attribute is not a string constant" + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "%qs özniteliğinin argümanı bir dizge sabiti değil" + +-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 ++#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686 + #, fuzzy, gcc-internal-format + #| msgid "fastcall and stdcall attributes are not compatible" + msgid "%qs and %qs attributes are not compatible" + msgstr "fastcall ve stdcall öznitelikleri uyumsuz" + +-#: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 ++#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735 + #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute requires an integer constant argument" + msgid "%qE attribute requires a string constant argument" + msgstr "%qs özniteliği bir tamsayı sabit argüman gerektirir" + +-#: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 ++#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745 + #: config/s390/s390.cc:1290 + #, fuzzy, gcc-internal-format + #| msgid "argument of %qs attribute is not a string constant" + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "%qs özniteliğinin argümanı bir dizge sabiti değil" + +-#: config/i386/i386-options.cc:3779 ++#: config/i386/i386-options.cc:3777 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "" + +-#: config/i386/i386-options.cc:3786 ++#: config/i386/i386-options.cc:3784 + #, fuzzy, gcc-internal-format + #| msgid "'-%c' option must have argument" + msgid "interrupt service routine should have %qs as the second argument" + msgstr "'-%c' seçeneğinde argüman eksik" + +-#: config/i386/i386-options.cc:3797 ++#: config/i386/i386-options.cc:3795 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "" + +-#: config/i386/i386-options.cc:3800 ++#: config/i386/i386-options.cc:3798 + #, fuzzy, gcc-internal-format + #| msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgid "interrupt service routine must return %" + msgstr "sistem kesmesi Servis İşlemleri Thumb kipinde kodlanamaz" + +-#: config/i386/i386.cc:1232 ++#: config/i386/i386.cc:1231 + #, fuzzy, gcc-internal-format + #| msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "SSE/SSE2 etkin değilken sseregparm öznitelikli %qD çağrısı" + +-#: config/i386/i386.cc:1235 ++#: config/i386/i386.cc:1234 + #, fuzzy, gcc-internal-format + #| msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "SSE/SSE2 etkin değilken sseregparm öznitelikli %qT çağrısı" + +-#: config/i386/i386.cc:1539 ++#: config/i386/i386.cc:1538 + #, fuzzy, gcc-internal-format + #| msgid "does not support multilib" + msgid "X32 does not support % attribute" + msgstr "multilib desteklenmiyor" + +-#: config/i386/i386.cc:1573 ++#: config/i386/i386.cc:1572 + #, fuzzy, gcc-internal-format + #| msgid "-march=%s is not compatible with the selected ABI" + msgid "% attribute is not compatible with nested function" + msgstr "-march=%s seçilen ABI ile uyumsuz" + +-#: config/i386/i386.cc:1924 ++#: config/i386/i386.cc:1923 + #, fuzzy, gcc-internal-format + #| msgid "MMX vector argument without MMX enabled changes the ABI" + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "MMX etkin değilken MMX vektör argümanı ABI'yi değiştirir" + +-#: config/i386/i386.cc:1930 ++#: config/i386/i386.cc:1929 + #, fuzzy, gcc-internal-format + #| msgid "MMX vector return without MMX enabled changes the ABI" + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "MMX etkin değilken MMX vektör dönüşü ABI'yi değiştirir" + +-#: config/i386/i386.cc:1944 ++#: config/i386/i386.cc:1943 + #, fuzzy, gcc-internal-format + #| msgid "MMX vector argument without MMX enabled changes the ABI" + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "MMX etkin değilken MMX vektör argümanı ABI'yi değiştirir" + +-#: config/i386/i386.cc:1950 ++#: config/i386/i386.cc:1949 + #, fuzzy, gcc-internal-format + #| msgid "MMX vector return without MMX enabled changes the ABI" + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "MMX etkin değilken MMX vektör dönüşü ABI'yi değiştirir" + +-#: config/i386/i386.cc:1966 ++#: config/i386/i386.cc:1965 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "SSE etkin değilken SSE vektör argümanı ABI'yi değiştirir" + +-#: config/i386/i386.cc:1972 ++#: config/i386/i386.cc:1971 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "SSE etkin değilken SSE vektör dönüşü ABI'yi değiştirir" + +-#: config/i386/i386.cc:1988 ++#: config/i386/i386.cc:1987 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "MMX etkin değilken MMX vektör argümanı ABI'yi değiştirir" + +-#: config/i386/i386.cc:1994 ++#: config/i386/i386.cc:1993 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "MMX etkin değilken MMX vektör dönüşü ABI'yi değiştirir" + +-#: config/i386/i386.cc:2192 ++#: config/i386/i386.cc:2191 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2313 ++#: config/i386/i386.cc:2312 + #, gcc-internal-format + msgid "the ABI of passing union with % has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2448 ++#: config/i386/i386.cc:2447 + #, gcc-internal-format + msgid "the ABI of passing structure with % member has changed in GCC 4.4" + msgstr "" + +-#: config/i386/i386.cc:2569 ++#: config/i386/i386.cc:2568 + msgid "the ABI of passing C structures with zero-width bit-fields has changed in GCC %{12.1%}" + msgstr "" + +-#: config/i386/i386.cc:2664 ++#: config/i386/i386.cc:2663 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "SSE etkin değilken SSE yazmaç dönüşü" + +-#: config/i386/i386.cc:2670 ++#: config/i386/i386.cc:2669 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "SSE etkin değilken SSE yazmaç argümanı" + +-#: config/i386/i386.cc:2690 ++#: config/i386/i386.cc:2689 + #, fuzzy, gcc-internal-format + #| msgid "SSE register return with SSE disabled" + msgid "x87 register return with x87 disabled" + msgstr "SSE etkin değilken SSE yazmaç dönüşü" + +-#: config/i386/i386.cc:3018 config/i386/i386.cc:3263 config/i386/i386.cc:4043 ++#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042 + #, fuzzy, gcc-internal-format + #| msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "SSE/SSE2 etkin değilken sseregparm öznitelikli %qD çağrısı" + +-#: config/i386/i386.cc:3020 config/i386/i386.cc:3265 config/i386/i386.cc:4045 ++#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + msgstr "" + +-#: config/i386/i386.cc:3668 ++#: config/i386/i386.cc:3667 + #, gcc-internal-format, gfc-internal-format + msgid "the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "" + +-#: config/i386/i386.cc:6565 ++#: config/i386/i386.cc:6564 + #, fuzzy, gcc-internal-format + #| msgid "assert: %s is assign compatible with %s" + msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s" + msgstr "assert: %s %s ile uyumlu atanıyor" + +-#: config/i386/i386.cc:8471 ++#: config/i386/i386.cc:8470 + #, fuzzy, gcc-internal-format + #| msgid "-march=%s is not compatible with the selected ABI" + msgid "% attribute is not compatible with %<-mfentry%> for 32-bit" + msgstr "-march=%s seçilen ABI ile uyumsuz" + +-#: config/i386/i386.cc:8561 ++#: config/i386/i386.cc:8560 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." + msgstr "" + +-#: config/i386/i386.cc:9496 ++#: config/i386/i386.cc:9495 + #, fuzzy, gcc-internal-format + #| msgid "stack limits not supported on this target" + msgid "Stack realignment not supported with %<__builtin_eh_return%>" + msgstr "bu hedefte yığıt sınırları desteklenmiyor" + +-#: config/i386/i386.cc:9501 ++#: config/i386/i386.cc:9500 + #, fuzzy, gcc-internal-format + #| msgid "global destructors not supported on this target" + msgid "regparm nested function not supported with %<__builtin_eh_return%>" + msgstr "bu hedefte global yıkıcılar desteklenmiyor" + +-#: config/i386/i386.cc:9887 ++#: config/i386/i386.cc:9886 + #, fuzzy, gcc-internal-format + #| msgid "%s is not supported by this configuration" + msgid "%<-fsplit-stack%> does not support fastcall with nested function" + msgstr "%s bu yapılandırma ile desteklenmiyor" + +-#: config/i386/i386.cc:9907 ++#: config/i386/i386.cc:9906 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 does not support flexible array members" + msgid "%<-fsplit-stack%> does not support 2 register parameters for a nested function" +@@ -44290,82 +44284,82 @@ msgstr "ISO C90 esnek dizi üyelerini desteklemez" + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.cc:9918 ++#: config/i386/i386.cc:9917 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 does not support flexible array members" + msgid "%<-fsplit-stack%> does not support 3 register parameters" + msgstr "ISO C90 esnek dizi üyelerini desteklemez" + +-#: config/i386/i386.cc:12956 ++#: config/i386/i386.cc:12955 + #, gcc-internal-format + msgid "% modifier on non-integer register" + msgstr "" + +-#: config/i386/i386.cc:12967 config/i386/i386.cc:12981 ++#: config/i386/i386.cc:12966 config/i386/i386.cc:12980 + #, fuzzy, gcc-internal-format + #| msgid "unsupported operand size for extended register" + msgid "unsupported size for integer register" + msgstr "ek yazmaç için desteklenmeyen terim boyutu" + +-#: config/i386/i386.cc:13013 ++#: config/i386/i386.cc:13012 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "ek yazmaçların yüksek yarıları yok" + +-#: config/i386/i386.cc:13028 ++#: config/i386/i386.cc:13027 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "ek yazmaç için desteklenmeyen terim boyutu" + +-#: config/i386/i386.cc:13225 config/i386/i386.cc:13227 ++#: config/i386/i386.cc:13221 + #, fuzzy, gcc-internal-format + #| msgid "invalid operand for code '%c'" + msgid "non-integer operand used with operand code %" + msgstr "terim, kod `%c' için geçersiz" + +-#: config/i386/i386.cc:17338 ++#: config/i386/i386.cc:17330 + #, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "" + +-#: config/i386/i386.cc:21736 ++#: config/i386/i386.cc:21728 + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "" + +-#: config/i386/i386.cc:21832 ++#: config/i386/i386.cc:21824 + #, gcc-internal-format + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "" + +-#: config/i386/i386.cc:23669 ++#: config/i386/i386.cc:23661 + #, fuzzy, gcc-internal-format + #| msgid "no class name specified with %qs" + msgid "unknown architecture specific memory model" + msgstr "%qs ile belirtilmiş sınıf ismi yok" + +-#: config/i386/i386.cc:23676 ++#: config/i386/i386.cc:23668 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23683 ++#: config/i386/i386.cc:23675 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:23732 ++#: config/i386/i386.cc:23724 + #, fuzzy, gcc-internal-format + #| msgid "unused arguments in $-style format" + msgid "unsupported return type %qT for simd" + msgstr "$ tarzı biçimde kullanılmamış argümanlar" + +-#: config/i386/i386.cc:23763 ++#: config/i386/i386.cc:23755 + #, fuzzy, gcc-internal-format + #| msgid "unused arguments in $-style format" + msgid "unsupported argument type %qT for simd" + msgstr "$ tarzı biçimde kullanılmamış argümanlar" + +-#: config/i386/i386.cc:24309 ++#: config/i386/i386.cc:24301 + #, gcc-internal-format + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" + msgstr "" +@@ -44755,7 +44749,7 @@ msgid "%qE redeclared with conflicting %qs attributes" + msgstr "%s özniteliği ile %s özniteliği %L'de çelişiyor" + + #: config/mips/mips.cc:1513 config/mips/mips.cc:1567 +-#: config/riscv/riscv.cc:4022 ++#: config/riscv/riscv.cc:4016 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute requires an integer constant argument" + msgid "%qE attribute requires a string argument" +@@ -45982,60 +45976,60 @@ msgstr "" + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "'#pragma options' sonunda karışıklık" + +-#: config/riscv/riscv-vector-builtins.cc:3379 ++#: config/riscv/riscv-vector-builtins.cc:3369 + #, fuzzy, gcc-internal-format + #| msgid "type %qT does not have a known size" + msgid "RVV type %qT does not have a fixed size" + msgstr "%qT türü bilinen bir boyuta sahip değil" + +-#: config/riscv/riscv-vector-builtins.cc:3385 ++#: config/riscv/riscv-vector-builtins.cc:3375 + #, fuzzy, gcc-internal-format + #| msgid "type %qT does not have a known size" + msgid "RVV type %qT does not have a defined alignment" + msgstr "%qT türü bilinen bir boyuta sahip değil" + +-#: config/riscv/riscv-vector-builtins.cc:3400 ++#: config/riscv/riscv-vector-builtins.cc:3390 + #, fuzzy, gcc-internal-format + #| msgid "arithmetic on pointer to an incomplete type" + msgid "arithmetic on pointer to RVV type %qT" + msgstr "bir içi boş tür göstericisi üzerinde aritmetik" + +-#: config/riscv/riscv-vector-builtins.cc:3408 ++#: config/riscv/riscv-vector-builtins.cc:3398 + #, gcc-internal-format + msgid "member variables cannot have RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:3410 ++#: config/riscv/riscv-vector-builtins.cc:3400 + #, fuzzy, gcc-internal-format + #| msgid "field %qD has incomplete type" + msgid "fields cannot have RVV type %qT" + msgstr "%qD alanı içi boş türde" + +-#: config/riscv/riscv-vector-builtins.cc:3416 ++#: config/riscv/riscv-vector-builtins.cc:3406 + #, fuzzy, gcc-internal-format + #| msgid "function returns an aggregate" + msgid "array elements cannot have RVV type %qT" + msgstr "işlev bir küme ile dönüyor" + +-#: config/riscv/riscv-vector-builtins.cc:3422 ++#: config/riscv/riscv-vector-builtins.cc:3412 + #, fuzzy, gcc-internal-format + #| msgid "cannot allocate an object of abstract type %qT" + msgid "cannot allocate objects with RVV type %qT" + msgstr "soyut %qT türünde bir nesne tahsis edilemez" + +-#: config/riscv/riscv-vector-builtins.cc:3428 ++#: config/riscv/riscv-vector-builtins.cc:3418 + #, fuzzy, gcc-internal-format + #| msgid "cannot allocate an object of abstract type %qT" + msgid "cannot delete objects with RVV type %qT" + msgstr "soyut %qT türünde bir nesne tahsis edilemez" + +-#: config/riscv/riscv-vector-builtins.cc:3434 ++#: config/riscv/riscv-vector-builtins.cc:3424 + #, fuzzy, gcc-internal-format + #| msgid "cannot convert type %qT to type %qT" + msgid "cannot throw or catch RVV type %qT" + msgstr "%qT türü %qT türüne dönüştürülemiyor" + +-#: config/riscv/riscv-vector-builtins.cc:3440 ++#: config/riscv/riscv-vector-builtins.cc:3430 + #, fuzzy, gcc-internal-format + #| msgid "cannot %s a pointer to incomplete type %qT" + msgid "capture by copy of RVV type %qT" +@@ -46057,76 +46051,71 @@ msgstr "" + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "" + +-#: config/riscv/riscv.cc:3641 config/riscv/riscv.cc:3683 ++#: config/riscv/riscv.cc:3635 config/riscv/riscv.cc:3677 + #, gcc-internal-format + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "" + +-#: config/riscv/riscv.cc:4033 ++#: config/riscv/riscv.cc:4027 + #, fuzzy, gcc-internal-format + #| msgid "argument of %qs attribute is not a string constant" + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "%qs özniteliğinin argümanı bir dizge sabiti değil" + +-#: config/riscv/riscv.cc:6240 ++#: config/riscv/riscv.cc:6234 + #, gcc-internal-format + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "" + +-#: config/riscv/riscv.cc:6283 ++#: config/riscv/riscv.cc:6277 + #, gcc-internal-format + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "" + +-#: config/riscv/riscv.cc:6287 ++#: config/riscv/riscv.cc:6281 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "" + +-#: config/riscv/riscv.cc:6292 ++#: config/riscv/riscv.cc:6286 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e or lp64" + msgstr "" + +-#: config/riscv/riscv.cc:6296 ++#: config/riscv/riscv.cc:6290 + #, gcc-internal-format + msgid "ABI requires %<-march=rv%d%>" + msgstr "" + +-#: config/riscv/riscv.cc:6306 ++#: config/riscv/riscv.cc:6300 + #, fuzzy, gcc-internal-format + #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12" + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "-mpreferred-stack-boundary=%d, %d ile 12 arasında değil" + +-#: config/riscv/riscv.cc:6319 ++#: config/riscv/riscv.cc:6313 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "" + +-#: config/riscv/riscv.cc:6346 config/rs6000/rs6000.cc:4543 ++#: config/riscv/riscv.cc:6340 config/rs6000/rs6000.cc:4543 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not a valid class name" + msgid "%qs is not a valid base register in %qs" + msgstr "%qs geçerli bir sınıf ismi değil" + +-#: config/riscv/riscv.cc:6360 config/rs6000/rs6000.cc:4526 ++#: config/riscv/riscv.cc:6354 config/rs6000/rs6000.cc:4526 + #, fuzzy, gcc-internal-format + #| msgid "%qs is not a valid output file" + msgid "%qs is not a valid number in %qs" + msgstr "%qs geçerli bir çıktı dosyası değil" + +-#: config/riscv/riscv.cc:6672 ++#: config/riscv/riscv.cc:6666 + #, fuzzy, gcc-internal-format + #| msgid "%qD cannot have default arguments" + msgid "%qs function cannot have different interrupt type" + msgstr "%qD öntanımlı argümanlara sahip olamaz" + +-#: config/riscv/riscv.cc:7095 +-#, gcc-internal-format +-msgid "cannot allocate vl register for %qs on this target" +-msgstr "" +- + #. Address spaces are currently only supported by C. + #: config/rl78/rl78.cc:375 + #, fuzzy, gcc-internal-format +@@ -46646,107 +46635,107 @@ msgstr "Önerilmiyor. Bu seçenek etkisizdir." + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "" + +-#: config/rs6000/rs6000.cc:17750 ++#: config/rs6000/rs6000.cc:17741 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "bu ABI için 64 bitlik profilleme kodu yok" + +-#: config/rs6000/rs6000.cc:20146 ++#: config/rs6000/rs6000.cc:20137 + #, fuzzy, gcc-internal-format + #| msgid "cannot take the address of %, which is an rvalue expression" + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "bir sağ taraf ifadesi olan %'in adresi alınamaz" + +-#: config/rs6000/rs6000.cc:20228 ++#: config/rs6000/rs6000.cc:20219 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "AltiVec türlerde % kullanımı geçersiz" + +-#: config/rs6000/rs6000.cc:20230 ++#: config/rs6000/rs6000.cc:20221 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "AltiVec türlerde mantıksal türlerin kullanımı geçersiz" + +-#: config/rs6000/rs6000.cc:20232 ++#: config/rs6000/rs6000.cc:20223 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "AltiVec türlerde % kullanımı geçersiz" + +-#: config/rs6000/rs6000.cc:20234 ++#: config/rs6000/rs6000.cc:20225 + #, fuzzy, gcc-internal-format + #| msgid "use of boolean types in AltiVec types is invalid" + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "AltiVec türlerde mantıksal türlerin kullanımı geçersiz" + +-#: config/rs6000/rs6000.cc:20240 ++#: config/rs6000/rs6000.cc:20231 + #, fuzzy, gcc-internal-format + #| msgid "use of % in AltiVec types is invalid for 64-bit code" + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "AltiVec türlerde % kullanımı 64 bitlik kod için geçersiz" + +-#: config/rs6000/rs6000.cc:20243 ++#: config/rs6000/rs6000.cc:20234 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "AltiVec türlerde % kullanımı önerilmiyor; % kullanın" + +-#: config/rs6000/rs6000.cc:20248 ++#: config/rs6000/rs6000.cc:20239 + #, fuzzy, gcc-internal-format + #| msgid "use of % in AltiVec types is invalid" + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "AltiVec türlerde % kullanımı geçersiz" + +-#: config/rs6000/rs6000.cc:20251 ++#: config/rs6000/rs6000.cc:20242 + #, fuzzy, gcc-internal-format + #| msgid "use of % in AltiVec types is invalid" + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "AltiVec türlerde % kullanımı geçersiz" + +-#: config/rs6000/rs6000.cc:24389 ++#: config/rs6000/rs6000.cc:24380 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %<::%>" + msgid "invalid cpu %qs for %s%qs%s" + msgstr "%<::%> kullanımı geçersiz" + +-#: config/rs6000/rs6000.cc:24392 ++#: config/rs6000/rs6000.cc:24383 + #, fuzzy, gcc-internal-format + #| msgid "%<#pragma%> is not allowed here" + msgid "%s%qs%s is not allowed" + msgstr "%<#pragma%> burada kullanılamaz" + +-#: config/rs6000/rs6000.cc:24394 ++#: config/rs6000/rs6000.cc:24385 + #, fuzzy, gcc-internal-format + #| msgid "spec '%s' is invalid" + msgid "%s%qs%s is invalid" + msgstr "spec '%s' geçersiz" + +-#: config/rs6000/rs6000.cc:24923 ++#: config/rs6000/rs6000.cc:24914 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:25082 ++#: config/rs6000/rs6000.cc:25073 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" + +-#: config/rs6000/rs6000.cc:25371 ++#: config/rs6000/rs6000.cc:25362 + #, fuzzy, gcc-internal-format + #| msgid "stack limit expression is not supported" + msgid "Virtual function multiversioning not supported" + msgstr "yığıt sınırlama ifadesi desteklenmiyor" + +-#: config/rs6000/rs6000.cc:28508 ++#: config/rs6000/rs6000.cc:28499 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "" + +-#: config/rs6000/rs6000.cc:28987 ++#: config/rs6000/rs6000.cc:28978 + #, fuzzy, gcc-internal-format + #| msgid "built-in function %q+D declared as non-function" + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "yerleşik işlev `%q+D işlev olarak bildirilmemiş" + +-#: config/rs6000/rs6000.cc:28992 ++#: config/rs6000/rs6000.cc:28983 + #, fuzzy, gcc-internal-format + #| msgid "built-in function %q+D declared as non-function" + msgid "type %<__vector_pair%> requires the %qs option" +@@ -48288,7 +48277,7 @@ msgstr "oynak alanlı nesne yazmaça konulamaz" + msgid "uninitialized % is invalid in C++" + msgstr "ilklendirilmemiş sabit %qD" + +-#: c/c-decl.cc:5925 cp/decl.cc:8825 ++#: c/c-decl.cc:5925 cp/decl.cc:8815 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "" +@@ -48493,7 +48482,7 @@ msgstr "%qs parametresi için saklama sınıfı belirtilmiş" + msgid "storage class specified for unnamed parameter" + msgstr "%qs parametresi için saklama sınıfı belirtilmiş" + +-#: c/c-decl.cc:6842 cp/decl.cc:12850 ++#: c/c-decl.cc:6842 cp/decl.cc:12840 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "veri türü ismi için saklama sınıfı belirtildi" +@@ -48690,7 +48679,7 @@ msgstr "%qs dizi ile dönen işlev olarak bildirilmiş" + msgid "function definition has qualified void return type" + msgstr "işlev tanımı nitelikli void dönüş türü içeriyor" + +-#: c/c-decl.cc:7418 cp/decl.cc:13171 ++#: c/c-decl.cc:7418 cp/decl.cc:13161 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "tür niteleyicileri işlev dönüş türünde yok sayıldı" +@@ -48835,7 +48824,7 @@ msgstr "ISO C 'const' ya da 'volatile' işlev türlerini yasaklar" + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "veri üyesi değişken olarak değiştirilmiş %qT türünde olamayabilir" + +-#: c/c-decl.cc:7757 cp/decl.cc:11730 ++#: c/c-decl.cc:7757 cp/decl.cc:11720 + #, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "void bildirimli değişken ya da alan %qE" +@@ -49054,7 +49043,7 @@ msgstr "" + msgid "%qT defined in underspecified object initializer" + msgstr "ilklendiricide bilinmeyen %qE alanı belirtilmiş" + +-#: c/c-decl.cc:8759 cp/decl.cc:5479 ++#: c/c-decl.cc:8759 cp/decl.cc:5469 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "bildirim hiçbir şey bildirmiyor" +@@ -49106,7 +49095,7 @@ msgstr "yapı hiç isimli üye içermiyor" + msgid "struct has no members" + msgstr "yapı hiç üye içermiyor" + +-#: c/c-decl.cc:9235 cp/decl.cc:14154 ++#: c/c-decl.cc:9235 cp/decl.cc:14144 + #, fuzzy, gcc-internal-format + #| msgid "%Jflexible array member in union" + msgid "flexible array member in union" +@@ -49155,7 +49144,7 @@ msgstr "% yeniden bildirilmiş" + msgid "% declared with but defined without fixed underlying type" + msgstr "" + +-#: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 ++#: c/c-decl.cc:9668 cp/decl.cc:16721 m2/gm2-gcc/m2type.cc:2070 + #, fuzzy, gcc-internal-format + #| msgid "specified mode too small for enumeral values" + msgid "specified mode too small for enumerated values" +@@ -49206,7 +49195,7 @@ msgstr "ISO C sembolik sabit grubunun değerlerini % kapsamında sınırla + msgid "ISO C restricts enumerator values to range of % before C2X" + msgstr "ISO C sembolik sabit grubunun değerlerini % kapsamında sınırlar" + +-#: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 ++#: c/c-decl.cc:10093 cp/decl.cc:5789 cp/decl.cc:17300 + #, fuzzy, gcc-internal-format + #| msgid "inline function %q+D given attribute noinline" + msgid "inline function %qD given attribute %qs" +@@ -49240,7 +49229,7 @@ msgstr "%q+D için önceki prototip yok" + msgid "%qD was used with no prototype before its definition" + msgstr "%q+D tanımlanmadan önce prototipsiz kullanılmış" + +-#: c/c-decl.cc:10226 cp/decl.cc:17453 ++#: c/c-decl.cc:10226 cp/decl.cc:17443 + #, fuzzy, gcc-internal-format + #| msgid "no previous declaration for %q+D" + msgid "no previous declaration for %qD" +@@ -49370,12 +49359,12 @@ msgstr "%qD argümanı yerleşik prototiple eslesmiyor" + msgid "argument %qD doesn%'t match prototype" + msgstr "%qD argümanı prototiple uyumsuz" + +-#: c/c-decl.cc:10882 cp/decl.cc:18234 ++#: c/c-decl.cc:10882 cp/decl.cc:18224 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "void olmayan dönüşlü işlevde `return' deyimi yok" + +-#: c/c-decl.cc:10901 cp/decl.cc:18318 ++#: c/c-decl.cc:10901 cp/decl.cc:18308 + #, fuzzy, gcc-internal-format + #| msgid "parameter %qD is initialized" + msgid "parameter %qD set but not used" +@@ -51609,7 +51598,7 @@ msgstr "" + msgid "collapsed loops not perfectly nested" + msgstr "" + +-#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 ++#: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18544 + #, fuzzy, gcc-internal-format + #| msgid "instance variable %qs is declared private" + msgid "iteration variable %qD should not be firstprivate" +@@ -51753,13 +51742,13 @@ msgstr "%<{%> umuluyordu" + msgid "variant %qD is not a function" + msgstr "%q+D bir işlev değil," + +-#: c/c-parser.cc:22839 cp/decl.cc:8112 ++#: c/c-parser.cc:22839 cp/decl.cc:8102 + #, fuzzy, gcc-internal-format + #| msgid "parameter %q+D has incomplete type" + msgid "variant %qD and base %qD have incompatible types" + msgstr "%q+D parametresi tamamlanmamış türde" + +-#: c/c-parser.cc:22851 cp/decl.cc:8121 ++#: c/c-parser.cc:22851 cp/decl.cc:8111 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "" +@@ -52039,7 +52028,7 @@ msgstr "void ifade kullanımı geçersiz" + msgid "invalid use of flexible array member" + msgstr "esnek dizi üyesinin kullanımı geçersiz" + +-#: c/c-typeck.cc:265 cp/typeck2.cc:346 rust/backend/rust-tree.cc:3871 ++#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3871 + #, gcc-internal-format + msgid "invalid use of array with unspecified bounds" + msgstr "sınırları belirsiz dizi kullanımı geçersiz" +@@ -53078,12 +53067,12 @@ msgstr "" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "" + +-#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 ++#: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1199 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "esnek dizi üyesi ilklendirmesi" + +-#: c/c-typeck.cc:8384 cp/typeck2.cc:1214 ++#: c/c-typeck.cc:8384 cp/typeck2.cc:1216 + #, gcc-internal-format + msgid "cannot initialize array of %qT from a string literal with type array of %qT" + msgstr "" +@@ -53125,7 +53114,7 @@ msgstr "ilkledirici öğe yükleme sırasında hesaplanabilir değil" + msgid "invalid initializer" + msgstr "geçersiz ilklendirici" + +-#: c/c-typeck.cc:8921 cp/decl.cc:7490 ++#: c/c-typeck.cc:8921 cp/decl.cc:7480 + #, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "opak vektör türleri ilklendirilemez" +@@ -53140,8 +53129,8 @@ msgstr "ilklendiricinin sonunda fazladan parantezli grup" + msgid "braces around scalar initializer" + msgstr "skalar ilklendiriciyi kuşatan parantezler" + +-#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 +-#: cp/typeck2.cc:1582 ++#: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1226 ++#: cp/typeck2.cc:1584 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "iç içe bağlam içinde esnek dizi üyesi ilklendirmesi" +@@ -53235,7 +53224,7 @@ msgstr "struct ilklendiricide gereğinden fazla öğe" + msgid "positional initialization of field in % declared with % attribute" + msgstr "" + +-#: c/c-typeck.cc:10744 cp/typeck2.cc:1201 ++#: c/c-typeck.cc:10744 cp/typeck2.cc:1203 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "esnek dizi üyesinin statik olmayan ilklendirmesi" +@@ -54712,7 +54701,7 @@ msgstr "%2$qT için uygun bir %<%1$s işleci%> yok" + msgid "%q#D is private within this context" + msgstr "bu bağlamda" + +-#: cp/call.cc:8050 cp/decl.cc:8895 ++#: cp/call.cc:8050 cp/decl.cc:8885 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" + msgid "declared private here" +@@ -54724,7 +54713,7 @@ msgstr "burada bildirilmiş %q+D" + msgid "%q#D is protected within this context" + msgstr "bu bağlamda" + +-#: cp/call.cc:8056 cp/decl.cc:8896 ++#: cp/call.cc:8056 cp/decl.cc:8886 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" + msgid "declared protected here" +@@ -54741,7 +54730,7 @@ msgstr "%q+#D erişilebilir değil" + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "%2$qD işlevinin gösterici olmayan %1$P argümanına NULL aktarılması" + +-#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 ++#: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10557 cp/decl.cc:10565 + #: cp/typeck.cc:4591 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared here" +@@ -55116,7 +55105,7 @@ msgstr "%<%T::%s(%A)%#V%> çağrısı ile eşleşen işlev yok" + msgid "call to non-function %qD" + msgstr "işlev olmayan %qD ye çağrı" + +-#: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 ++#: cp/call.cc:11446 cp/pt.cc:16888 cp/typeck.cc:3492 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "" +@@ -55756,7 +55745,7 @@ msgstr "%Jbaşka bir boş yapı içinde esnek dizi" + msgid "next member %q#D declared here" + msgstr "burada bildirilmiş %q+D" + +-#: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 ++#: cp/class.cc:7506 cp/decl.cc:17143 cp/parser.cc:26971 + #, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "%q#T sınıfın yeniden tanımı" +@@ -55886,7 +55875,7 @@ msgstr "işlev %q+#D için soyut dönüş değeri türü geçersiz" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "" + +-#: cp/constexpr.cc:272 cp/decl.cc:14256 ++#: cp/constexpr.cc:272 cp/decl.cc:14246 + #, gcc-internal-format + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" +@@ -55962,7 +55951,7 @@ msgstr "" + msgid "failed % attribute assumption" + msgstr "" + +-#: cp/constexpr.cc:2105 cp/constexpr.cc:9128 ++#: cp/constexpr.cc:2105 cp/constexpr.cc:9121 + #: rust/backend/rust-constexpr.cc:5754 + #, fuzzy, gcc-internal-format + #| msgid "call to non-function %qD" +@@ -56015,7 +56004,7 @@ msgstr "%qT bir belirsiz %qT tabanıdır" + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "" + +-#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 ++#: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9153 + #: rust/backend/rust-constexpr.cc:5785 + #, fuzzy, gcc-internal-format + #| msgid "call to non-function %qD" +@@ -56159,7 +56148,7 @@ msgid "dereferencing a null pointer in %qE" + msgstr "% gösterici ilişkilendirmesi" + + #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 +-#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 ++#: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9071 + #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 + #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 + #: rust/backend/rust-constexpr.cc:5708 +@@ -56271,7 +56260,7 @@ msgstr "uye %qD için ilklendirici eksik" + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "" + +-#: cp/constexpr.cc:5633 cp/constexpr.cc:7724 ++#: cp/constexpr.cc:5633 cp/constexpr.cc:7717 + #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 + #, fuzzy, gcc-internal-format + #| msgid "dereferencing % pointer" +@@ -56361,7 +56350,7 @@ msgstr "%s den %s e dönüşüm (%L'de)" + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "%qT %qT'ye %s içinde dönüştürülemez" + +-#: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 ++#: cp/constexpr.cc:6575 cp/constexpr.cc:8058 cp/constexpr.cc:8070 + #: rust/backend/rust-constexpr.cc:4664 + #, fuzzy, gcc-internal-format + #| msgid "%s cannot appear in a constant-expression" +@@ -56433,215 +56422,215 @@ msgstr "" + msgid "control passes through definition of %qD with static storage duration" + msgstr "" + +-#: cp/constexpr.cc:7194 cp/constexpr.cc:9792 ++#: cp/constexpr.cc:7194 cp/constexpr.cc:9785 + #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 + #, fuzzy, gcc-internal-format + #| msgid "enumeral and non-enumeral type in conditional expression" + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "koşullu ifade içinde enum ve enum olmayan türler" + +-#: cp/constexpr.cc:7632 cp/constexpr.cc:9293 ++#: cp/constexpr.cc:7625 cp/constexpr.cc:9286 + #, fuzzy, gcc-internal-format + #| msgid "initializer element is not constant" + msgid "% is not a constant expression" + msgstr "ilklendirici öğe bir sabit değil" + +-#: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 ++#: cp/constexpr.cc:7653 rust/backend/rust-constexpr.cc:2459 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "Sabit ifadesinde tür hatalı" + +-#: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 ++#: cp/constexpr.cc:7681 rust/backend/rust-constexpr.cc:2478 + #, fuzzy, gcc-internal-format + #| msgid "%<#pragma%> is not allowed here" + msgid "cast from %qT is not allowed" + msgstr "%<#pragma%> burada kullanılamaz" + +-#: cp/constexpr.cc:7701 ++#: cp/constexpr.cc:7694 + #, fuzzy, gcc-internal-format + #| msgid "%s cannot appear in a constant-expression" + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "%s bir sabit ifadesinde görünemez" + +-#: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 ++#: cp/constexpr.cc:7728 rust/backend/rust-constexpr.cc:2504 + #, fuzzy, gcc-internal-format + #| msgid "integral expression %qE is not constant" + msgid "%(%E)%> is not a constant expression" + msgstr "bütünleyen ifade %qE bir sabit değil" + +-#: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 ++#: cp/constexpr.cc:7859 cp/constexpr.cc:9596 cp/constexpr.cc:10008 + #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 + #, fuzzy, gcc-internal-format + #| msgid "integral expression %qE is not constant" + msgid "expression %qE is not a constant expression" + msgstr "bütünleyen ifade %qE bir sabit değil" + +-#: cp/constexpr.cc:7911 cp/constexpr.cc:10056 ++#: cp/constexpr.cc:7904 cp/constexpr.cc:10049 + #, fuzzy, gcc-internal-format + #| msgid "%s cannot appear in a constant-expression" + msgid "% is not a constant expression" + msgstr "%s bir sabit ifadesinde görünemez" + +-#: cp/constexpr.cc:7969 ++#: cp/constexpr.cc:7962 + #, fuzzy, gcc-internal-format + #| msgid "size of array is not an integral constant-expression" + msgid "contract predicate is false in constant expression" + msgstr "dizi boyutu bir tümleyen sabit ifadesi değil" + +-#: cp/constexpr.cc:7985 ++#: cp/constexpr.cc:7978 + #, fuzzy, gcc-internal-format + #| msgid "expected statement" + msgid "unexpected template-id %qE" + msgstr "deyim umuluyordu" + +-#: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 ++#: cp/constexpr.cc:7984 cp/constraint.cc:178 cp/constraint.cc:753 + #, fuzzy, gcc-internal-format + #| msgid "function not inlinable" + msgid "function concept must be called" + msgstr "işlev satıriçine alınabilir değil" + +-#: cp/constexpr.cc:8016 ++#: cp/constexpr.cc:8009 + #, fuzzy, gcc-internal-format + #| msgid "integral expression %qE is not constant" + msgid "address of a call to %qs is not a constant expression" + msgstr "bütünleyen ifade %qE bir sabit değil" + +-#: cp/constexpr.cc:8080 ++#: cp/constexpr.cc:8073 + #, fuzzy, gcc-internal-format + #| msgid "expected expression" + msgid "unexpected expression %qE of kind %s" + msgstr "ifade umuluyordu" + +-#: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 ++#: cp/constexpr.cc:8332 rust/backend/rust-constexpr.cc:5154 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "" + +-#: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 ++#: cp/constexpr.cc:8340 rust/backend/rust-constexpr.cc:5163 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "" + +-#: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 ++#: cp/constexpr.cc:8355 rust/backend/rust-constexpr.cc:5179 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "" + +-#: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 ++#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5191 + #, gcc-internal-format + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "" + +-#: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 ++#: cp/constexpr.cc:8384 rust/backend/rust-constexpr.cc:5209 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 ++#: cp/constexpr.cc:9009 rust/backend/rust-constexpr.cc:5663 + #, fuzzy, gcc-internal-format + #| msgid "invalid cast of an rvalue expression of type %qT to type %qT" + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "%qT türündeki bir sağ taraf değerinin %qT türüne dönüşümü geçersiz" + +-#: cp/constexpr.cc:9258 ++#: cp/constexpr.cc:9251 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qD is not an integral constant-expression" + msgid "lambda capture of %qE is not a constant expression" + msgstr "%qD dizisinin boyutu bir tümleyen sabit ifadesi değil" + +-#: cp/constexpr.cc:9261 ++#: cp/constexpr.cc:9254 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "" + +-#: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 ++#: cp/constexpr.cc:9310 rust/backend/rust-constexpr.cc:5889 + #, gcc-internal-format + msgid "% from integer to pointer" + msgstr "" + +-#: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 ++#: cp/constexpr.cc:9344 rust/backend/rust-constexpr.cc:5917 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9390 ++#: cp/constexpr.cc:9383 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "use of % in a constant expression" + msgstr "Sabit ifadesinde tür hatalı" + +-#: cp/constexpr.cc:9539 ++#: cp/constexpr.cc:9532 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "lambda-expression is not a constant expression before C++17" + msgstr "Sabit ifadesinde tür hatalı" + +-#: cp/constexpr.cc:9551 ++#: cp/constexpr.cc:9544 + #, fuzzy, gcc-internal-format + #| msgid "integral expression %qE is not constant" + msgid "new-expression is not a constant expression before C++20" + msgstr "bütünleyen ifade %qE bir sabit değil" + +-#: cp/constexpr.cc:9617 ++#: cp/constexpr.cc:9610 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual functions cannot be % before C++20" + msgstr "sanal işlevler kardeş işlev olamaz" + +-#: cp/constexpr.cc:9633 ++#: cp/constexpr.cc:9626 + #, gcc-internal-format + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "" + +-#: cp/constexpr.cc:9696 ++#: cp/constexpr.cc:9689 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "cast to non-integral type %qT in a constant expression" + msgstr "Sabit ifadesinde tür hatalı" + +-#: cp/constexpr.cc:9757 ++#: cp/constexpr.cc:9750 + #, fuzzy, gcc-internal-format + #| msgid "%H%qE undeclared here (not in a function)" + msgid "%qD defined % in % context" + msgstr "%H%qE burada bildirilmemiş (bir işlev içinde değil)" + +-#: cp/constexpr.cc:9765 ++#: cp/constexpr.cc:9758 + #, fuzzy, gcc-internal-format + #| msgid "%q+F declared % but never defined" + msgid "%qD defined % in % context" + msgstr "% olarak bildirilen `%q+F hiç tanımlanmamış" + +-#: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 ++#: cp/constexpr.cc:9835 rust/backend/rust-constexpr.cc:6248 + #, fuzzy, gcc-internal-format + #| msgid "size of array is not an integral constant-expression" + msgid "division by zero is not a constant expression" + msgstr "dizi boyutu bir tümleyen sabit ifadesi değil" + +-#: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 ++#: cp/constexpr.cc:9936 rust/backend/rust-constexpr.cc:6346 + #, fuzzy, gcc-internal-format + #| msgid "%s cannot appear in a constant-expression" + msgid "% is not a constant expression" + msgstr "%s bir sabit ifadesinde görünemez" + +-#: cp/constexpr.cc:10012 ++#: cp/constexpr.cc:10005 + #, fuzzy, gcc-internal-format + #| msgid "Bad type in constant expression" + msgid "neither branch of % is a constant expression" + msgstr "Sabit ifadesinde tür hatalı" + +-#: cp/constexpr.cc:10025 ++#: cp/constexpr.cc:10018 + #, fuzzy, gcc-internal-format + #| msgid "nonconstant array index in initializer" + msgid "non-constant array initialization" + msgstr "ilklendiricide sabit olmayan dizi indisi" + +-#: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 ++#: cp/constexpr.cc:10066 rust/backend/rust-constexpr.cc:6424 + #, gcc-internal-format + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 ++#: cp/constexpr.cc:10097 rust/backend/rust-constexpr.cc:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Unexpected end of file in '%s'" + msgid "unexpected AST of kind %s" +@@ -57288,7 +57277,7 @@ msgstr "" + msgid "% declared here" + msgstr "%q+#D evvelce burada bildirilmiş" + +-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4314 ++#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4310 + #, fuzzy, gcc-internal-format + msgid "no member named %qE in %qT" + msgstr "%2$q#T içinde %1$q#T isminde tür yok" +@@ -57394,7 +57383,7 @@ msgstr "%<__builtin_prefetch%> için 3. argüman bir sabit olmalı" + msgid "no suspend point info for %qD" + msgstr "%q+D için önceki prototip yok" + +-#: cp/coroutines.cc:2120 cp/coroutines.cc:4688 ++#: cp/coroutines.cc:2120 cp/coroutines.cc:4684 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "" +@@ -57416,23 +57405,23 @@ msgstr "case değeri olarak göstericiler kullanılamaz" + msgid "variable length arrays are not yet supported in coroutines" + msgstr "" + +-#: cp/coroutines.cc:4693 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "" + +-#: cp/coroutines.cc:4696 ++#: cp/coroutines.cc:4692 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "" + +-#: cp/coroutines.cc:4725 ++#: cp/coroutines.cc:4721 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5122 ++#: cp/coroutines.cc:5118 + #, fuzzy, gcc-internal-format + #| msgid "cannot initialize aggregate of type %qT with a compound literal" + msgid "cannot initialize a return object of type %qT with an rvalue of type %" +@@ -57975,7 +57964,7 @@ msgstr "önceki %q+F bildirimindeki farklı olağandışılıkları yakalıyor" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "bir şablon olmayan olarak yeniden %qT bildirimi" + +-#: cp/decl.cc:1391 cp/decl.cc:16156 ++#: cp/decl.cc:1391 cp/decl.cc:16146 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration %q+D" + msgid "previous declaration %qD" +@@ -58438,668 +58427,668 @@ msgstr "%qD bir işlev şablonu değil" + msgid "%q#T is not a class" + msgstr "%q#T bir şablon değil" + +-#: cp/decl.cc:4338 cp/decl.cc:4439 ++#: cp/decl.cc:4328 cp/decl.cc:4429 + #, fuzzy, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "%2$q#T içinde %1$q#T isminde sınıf şablonu yok" + +-#: cp/decl.cc:4339 ++#: cp/decl.cc:4329 + #, fuzzy, gcc-internal-format + msgid "no type named %q#T in %q#T" + msgstr "%2$q#T içinde %1$q#T isminde tür yok" + +-#: cp/decl.cc:4352 ++#: cp/decl.cc:4342 + #, fuzzy, gcc-internal-format + #| msgid "conversion from %qT to %qT is ambiguous" + msgid "lookup of %qT in %qT is ambiguous" + msgstr "%qT türünden %qT türüne dönüşüm belirsiz" + +-#: cp/decl.cc:4361 ++#: cp/decl.cc:4351 + #, fuzzy, gcc-internal-format + #| msgid "%qT resolves to %qT, which is is not a class type" + msgid "% names %q#T, which is not a class template" + msgstr "%qT bir sınıf türü olmayan %qT türüne çözümleniyor" + +-#: cp/decl.cc:4374 ++#: cp/decl.cc:4364 + #, fuzzy, gcc-internal-format + #| msgid "%<%T::%D%> is not a type" + msgid "% names %q#D, which is not a type" + msgstr "%<%T::%D%> bir tür değil" + +-#: cp/decl.cc:4448 ++#: cp/decl.cc:4438 + #, fuzzy, gcc-internal-format + #| msgid "template parameters do not match template" + msgid "template parameters do not match template %qD" + msgstr "şablon parametreleri bu şablonla uyuşmuyor:" + +-#: cp/decl.cc:4805 ++#: cp/decl.cc:4795 + #, fuzzy, gcc-internal-format + #| msgid "trampolines not supported" + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "trampolines desteklenmiyor" + +-#: cp/decl.cc:4979 ++#: cp/decl.cc:4969 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:4983 ++#: cp/decl.cc:4973 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:4996 ++#: cp/decl.cc:4986 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:5001 ++#: cp/decl.cc:4991 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:5327 ++#: cp/decl.cc:5317 + #, fuzzy, gcc-internal-format + #| msgid "%q+#D invalid; an anonymous union can only have non-static data members" + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "%q+#D geçersiz; bir anonim union sadece statik olmayan veri üyeleri içerebilir" + +-#: cp/decl.cc:5337 cp/parser.cc:23020 ++#: cp/decl.cc:5327 cp/parser.cc:23020 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "" + +-#: cp/decl.cc:5366 ++#: cp/decl.cc:5356 + #, fuzzy, gcc-internal-format + #| msgid "anonymous struct not inside named type" + msgid "anonymous struct with base classes" + msgstr "anonim yapı isimli türün içinde değil" + +-#: cp/decl.cc:5378 ++#: cp/decl.cc:5368 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "anonim kümeleme içinde kuruculu üye %q+#D kullanılamaz" + +-#: cp/decl.cc:5381 ++#: cp/decl.cc:5371 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "anonim kümeleme içinde yıkıcılı üye %q+#D kullanılamaz" + +-#: cp/decl.cc:5384 ++#: cp/decl.cc:5374 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "anonim kümeleme içinde kopya atama isleçli üye %q+#D kullanılamaz" + +-#: cp/decl.cc:5403 ++#: cp/decl.cc:5393 + #, fuzzy, gcc-internal-format + #| msgid "attribute ignored in declaration of %q+#T" + msgid "attribute ignored in declaration of %q#T" + msgstr "%q+#T bildiriminde öznitelik yoksayıldı" + +-#: cp/decl.cc:5406 ++#: cp/decl.cc:5396 + #, fuzzy, gcc-internal-format + #| msgid "attribute for %q+#T must follow the %qs keyword" + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "%q+#T için öznitelik %qs anahtar sözcüğünü izlemeli" + +-#: cp/decl.cc:5448 ++#: cp/decl.cc:5438 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "bir bildirimde birden fazla tür" + +-#: cp/decl.cc:5453 ++#: cp/decl.cc:5443 + #, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "C++ yerleşik türü %qT için yeniden bildirim" + +-#: cp/decl.cc:5470 ++#: cp/decl.cc:5460 + #, fuzzy, gcc-internal-format + #| msgid "%qs can only be specified for functions" + msgid "% can only be specified for variables or function declarations" + msgstr "%qs sadece işlevler için belirtilebilir" + +-#: cp/decl.cc:5503 ++#: cp/decl.cc:5493 + #, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "typedef bildiriminde tür ismi eksik" + +-#: cp/decl.cc:5511 ++#: cp/decl.cc:5501 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "ISO C++ anonim yapıları (struct) yasaklar" + +-#: cp/decl.cc:5518 ++#: cp/decl.cc:5508 + #, fuzzy, gcc-internal-format + #| msgid "%qs can only be specified for functions" + msgid "% can only be specified for functions" + msgstr "%qs sadece işlevler için belirtilebilir" + +-#: cp/decl.cc:5521 ++#: cp/decl.cc:5511 + #, fuzzy, gcc-internal-format + #| msgid "%qs can only be specified for functions" + msgid "% can only be specified for functions" + msgstr "%qs sadece işlevler için belirtilebilir" + +-#: cp/decl.cc:5526 ++#: cp/decl.cc:5516 + #, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "% sadece bir sınıf içinde belirtilebilir" + +-#: cp/decl.cc:5529 ++#: cp/decl.cc:5519 + #, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "% sadece kurucular için belirtilebilir" + +-#: cp/decl.cc:5532 ++#: cp/decl.cc:5522 + #, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "bir saklama sınıfı sadece işlevler ve nesneler için belirtilebilir" + +-#: cp/decl.cc:5536 ++#: cp/decl.cc:5526 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers can only be specified for objects and functions" + msgid "% can only be specified for objects and functions" + msgstr "niteliyiciler sadece işlevler ve nesneler için belirtilebilir" + +-#: cp/decl.cc:5540 ++#: cp/decl.cc:5530 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers can only be specified for objects and functions" + msgid "% can only be specified for objects and functions" + msgstr "niteliyiciler sadece işlevler ve nesneler için belirtilebilir" + +-#: cp/decl.cc:5544 ++#: cp/decl.cc:5534 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers can only be specified for objects and functions" + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "niteliyiciler sadece işlevler ve nesneler için belirtilebilir" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5538 + #, fuzzy, gcc-internal-format + #| msgid "a storage class can only be specified for objects and functions" + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "bir saklama sınıfı sadece işlevler ve nesneler için belirtilebilir" + +-#: cp/decl.cc:5552 ++#: cp/decl.cc:5542 + #, fuzzy, gcc-internal-format + #| msgid "typedef declaration invalid in parameter declaration" + msgid "% was ignored in this declaration" + msgstr "typedef bildirimi parametre bildiriminde geçersiz" + +-#: cp/decl.cc:5555 cp/decl.cc:5558 cp/decl.cc:5561 ++#: cp/decl.cc:5545 cp/decl.cc:5548 cp/decl.cc:5551 + #, fuzzy, gcc-internal-format + #| msgid "% in file-scope empty declaration" + msgid "%qs cannot be used for type declarations" + msgstr "dosya etki alanı boş bildiriminde %" + +-#: cp/decl.cc:5583 ++#: cp/decl.cc:5573 + #, fuzzy, gcc-internal-format + #| msgid "attribute ignored in declaration of %q+#T" + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "%q+#T bildiriminde öznitelik yoksayıldı" + +-#: cp/decl.cc:5586 ++#: cp/decl.cc:5576 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute can only be applied to class definitions" + msgid "no attribute can be applied to an explicit instantiation" + msgstr "%qE özniteliği sadece sınıf tanımlarına uygulanabilir" + +-#: cp/decl.cc:5665 ++#: cp/decl.cc:5655 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute can only be applied to class definitions" + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "%qE özniteliği sadece sınıf tanımlarına uygulanabilir" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5669 ++#: cp/decl.cc:5659 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "" + +-#: cp/decl.cc:5735 cp/decl2.cc:1021 ++#: cp/decl.cc:5725 cp/decl2.cc:1021 + #, fuzzy, gcc-internal-format + #| msgid "typedef %qD is initialized (use __typeof__ instead)" + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "typedef %qD ilklendirilmiş (yerine __typeof__ kullanın)" + +-#: cp/decl.cc:5748 ++#: cp/decl.cc:5738 + #, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "%q#D hem % olarak bildirilmiş hem de ilklendirilmiş" + +-#: cp/decl.cc:5786 ++#: cp/decl.cc:5776 + #, fuzzy, gcc-internal-format + #| msgid "function %q+D definition is marked dllimport" + msgid "definition of %q#D is marked %" + msgstr "%q+D işlevinin tanımı dllimport imli" + +-#: cp/decl.cc:5810 ++#: cp/decl.cc:5800 + #, fuzzy, gcc-internal-format + #| msgid "%q#D is not a non-static data member of %qT" + msgid "%q+#D is not a static data member of %q#T" + msgstr "%q#D %qT'nin bir static olmayan üyesi değildir" + +-#: cp/decl.cc:5818 ++#: cp/decl.cc:5808 + #, fuzzy, gcc-internal-format + #| msgid "template declaration of %q#D" + msgid "non-member-template declaration of %qD" + msgstr "%q#D şablon bildirimi" + +-#: cp/decl.cc:5819 ++#: cp/decl.cc:5809 + #, fuzzy, gcc-internal-format + #| msgid "invalid member template declaration %qD" + msgid "does not match member template declaration here" + msgstr "geçersiz üye sablonu bildirimi %qD" + +-#: cp/decl.cc:5831 ++#: cp/decl.cc:5821 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "ISO C++ %<%T::%D%>nin %<%T::%D%> olarak tanımlanmasına izin vermez" + +-#: cp/decl.cc:5843 ++#: cp/decl.cc:5833 + #, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "%qD ilklendirmesi yinelenmiş" + +-#: cp/decl.cc:5893 cp/decl.cc:5897 ++#: cp/decl.cc:5883 cp/decl.cc:5887 + #, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "sınıf dışında %q#D bildirimi bir tanım değildir" + +-#: cp/decl.cc:5915 ++#: cp/decl.cc:5905 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D not permitted in module purview" + msgstr "" + +-#: cp/decl.cc:5951 ++#: cp/decl.cc:5941 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/decl.cc:5957 ++#: cp/decl.cc:5947 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/decl.cc:6022 ++#: cp/decl.cc:6012 + #, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "%q#D değişkeni ilklendirilmiş ama içi boş türde" + +-#: cp/decl.cc:6028 cp/decl.cc:7347 ++#: cp/decl.cc:6018 cp/decl.cc:7337 + #, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "%q#D dizisinin elemanları içi boş türde" + +-#: cp/decl.cc:6038 ++#: cp/decl.cc:6028 + #, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "küme %q#D içi boş türde olup tanımlı olamaz" + +-#: cp/decl.cc:6105 ++#: cp/decl.cc:6095 + #, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "%qD başvuru olarak bildirilmiş ama ilklendirilmemiş" + +-#: cp/decl.cc:6188 ++#: cp/decl.cc:6178 + #, fuzzy, gcc-internal-format + #| msgid "name %qD used in a GNU-style designated initializer for an array" + msgid "name used in a GNU-style designated initializer for an array" + msgstr "%qD ismi bir dizi için GNU tarzında tasarlanmış bir ilklendiricide kullanılmış" + +-#: cp/decl.cc:6194 ++#: cp/decl.cc:6184 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "%qD ismi bir dizi için GNU tarzında tasarlanmış bir ilklendiricide kullanılmış" + +-#: cp/decl.cc:6213 ++#: cp/decl.cc:6203 + #, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "alelade olmayan ilklendiriciler desteklenmiyor" + +-#: cp/decl.cc:6217 ++#: cp/decl.cc:6207 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qD is not an integral constant-expression" + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "%qD dizisinin boyutu bir tümleyen sabit ifadesi değil" + +-#: cp/decl.cc:6278 ++#: cp/decl.cc:6268 + #, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "ilklendirici %qD bildiriminin boyutunu saptayamıyor" + +-#: cp/decl.cc:6285 ++#: cp/decl.cc:6275 + #, gcc-internal-format + msgid "array size missing in %qD" + msgstr "%qD bildiriminde dizi boyutu eksik" + +-#: cp/decl.cc:6297 ++#: cp/decl.cc:6287 + #, gcc-internal-format + msgid "zero-size array %qD" + msgstr "sıfır boyutlu dizi %qD" + +-#: cp/decl.cc:6337 ++#: cp/decl.cc:6327 + #, fuzzy, gcc-internal-format + #| msgid "storage size of %q+D isn%'t known" + msgid "storage size of %qD isn%'t known" + msgstr "%q+D nin saklama uzunluğu bilinmiyor" + +-#: cp/decl.cc:6362 ++#: cp/decl.cc:6352 + #, fuzzy, gcc-internal-format + #| msgid "storage size of %q+D isn%'t constant" + msgid "storage size of %qD isn%'t constant" + msgstr "%q+D nin saklama genişligi sabit değil" + +-#: cp/decl.cc:6445 ++#: cp/decl.cc:6435 + #, fuzzy, gcc-internal-format + #| msgid "sorry: semantics of inline function static data %q+#D are wrong (you'll wind up with multiple copies)" + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "özür: satıriçi işlev static verisi %q+#D'nin kodlaması yanlış (sizi çoklu kopyalara sürükleyecek)" + +-#: cp/decl.cc:6449 ++#: cp/decl.cc:6439 + #, fuzzy, gcc-internal-format + #| msgid "sorry: semantics of inline function static data %q+#D are wrong (you'll wind up with multiple copies)" + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "özür: satıriçi işlev static verisi %q+#D'nin kodlaması yanlış (sizi çoklu kopyalara sürükleyecek)" + +-#: cp/decl.cc:6455 ++#: cp/decl.cc:6445 + #, fuzzy, gcc-internal-format + #| msgid "%J you can work around this by removing the initializer" + msgid "you can work around this by removing the initializer" + msgstr "%J ilklendiriciyi kaldırarak bunun olurunu bulabilirsiniz" + +-#: cp/decl.cc:6497 rust/backend/rust-tree.cc:3230 ++#: cp/decl.cc:6487 rust/backend/rust-tree.cc:3230 + #, fuzzy, gcc-internal-format + #| msgid "uninitialized const %qD" + msgid "uninitialized %" + msgstr "ilklendirilmemiş sabit %qD" + +-#: cp/decl.cc:6504 rust/backend/rust-tree.cc:3237 ++#: cp/decl.cc:6494 rust/backend/rust-tree.cc:3237 + #, fuzzy, gcc-internal-format + #| msgid "register variable %qD used in nested function" + msgid "uninitialized variable %qD in % function" + msgstr "yazmaç değişkeni %qD iç işlevde kullanılmış" + +-#: cp/decl.cc:6513 rust/backend/rust-tree.cc:3246 ++#: cp/decl.cc:6503 rust/backend/rust-tree.cc:3246 + #, fuzzy, gcc-internal-format + #| msgid "register variable %qD used in nested function" + msgid "uninitialized variable %qD in % context" + msgstr "yazmaç değişkeni %qD iç işlevde kullanılmış" + +-#: cp/decl.cc:6521 ++#: cp/decl.cc:6511 + #, fuzzy, gcc-internal-format + #| msgid "type %qs has a user-defined constructor" + msgid "%q#T has no user-provided default constructor" + msgstr "%qs türü bir kullanıcı tanımlı yapıcıya sahip" + +-#: cp/decl.cc:6525 ++#: cp/decl.cc:6515 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "" + +-#: cp/decl.cc:6528 ++#: cp/decl.cc:6518 + #, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "" + +-#: cp/decl.cc:6720 ++#: cp/decl.cc:6710 + #, fuzzy, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "%2$qT türündeki bir vektör için ilklendirici olarak %1$qT türü geçersiz" + +-#: cp/decl.cc:6792 ++#: cp/decl.cc:6782 + #, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "%qT için ilklendirici {} içinde olmalı" + +-#: cp/decl.cc:6836 ++#: cp/decl.cc:6826 + #, fuzzy, gcc-internal-format + #| msgid "name %qD used in a GNU-style designated initializer for an array" + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "%qD ismi bir dizi için GNU tarzında tasarlanmış bir ilklendiricide kullanılmış" + +-#: cp/decl.cc:6849 ++#: cp/decl.cc:6839 + #, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "%qT %qD isminde statik olmayan bir üyeye sahip değil" + +-#: cp/decl.cc:6873 ++#: cp/decl.cc:6863 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a member of %qT" + msgid "%qD is not a direct member of %qT" + msgstr "%qD %qT'nin bir üyesi değil" + +-#: cp/decl.cc:6928 ++#: cp/decl.cc:6918 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer" + msgid "invalid initializer for %q#D" + msgstr "geçersiz ilklendirici" + +-#: cp/decl.cc:6978 ++#: cp/decl.cc:6968 + #, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "" + +-#: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 +-#: cp/typeck2.cc:1973 cp/typeck2.cc:2020 ++#: cp/decl.cc:7007 cp/decl.cc:7295 cp/typeck2.cc:1597 cp/typeck2.cc:1927 ++#: cp/typeck2.cc:1975 cp/typeck2.cc:2022 + #, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "%qT için ilklendirici sayısı çok fazla" + +-#: cp/decl.cc:7059 ++#: cp/decl.cc:7049 + #, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "%qT için skalar ilklendiriciyi kuşatan parantezler" + +-#: cp/decl.cc:7069 ++#: cp/decl.cc:7059 + #, fuzzy, gcc-internal-format + #| msgid "braces around scalar initializer for type %qT" + msgid "too many braces around scalar initializer for type %qT" + msgstr "%qT için skalar ilklendiriciyi kuşatan parantezler" + +-#: cp/decl.cc:7202 ++#: cp/decl.cc:7192 + #, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "%qT için ilklendiriciyi çevreleyen parantezler yok" + +-#: cp/decl.cc:7335 ++#: cp/decl.cc:7325 + #, fuzzy, gcc-internal-format + #| msgid "field %qD has incomplete type" + msgid "structured binding has incomplete type %qT" + msgstr "%qD alanı içi boş türde" + +-#: cp/decl.cc:7349 ++#: cp/decl.cc:7339 + #, fuzzy, gcc-internal-format + #| msgid "elements of array %q#D have incomplete type" + msgid "elements of array %q#T have incomplete type" + msgstr "%q#D dizisinin elemanları içi boş türde" + +-#: cp/decl.cc:7362 ++#: cp/decl.cc:7352 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 forbids compound literals" + msgid "variable-sized compound literal" + msgstr "ISO C90 bileşik sabitlere izin vermez" + +-#: cp/decl.cc:7418 ++#: cp/decl.cc:7408 + #, fuzzy, gcc-internal-format + #| msgid "%qD has incomplete type" + msgid "%q#D has incomplete type" + msgstr "%qD içi boş türde" + +-#: cp/decl.cc:7439 ++#: cp/decl.cc:7429 + #, fuzzy, gcc-internal-format + #| msgid "excess elements in union initializer" + msgid "scalar object %qD requires one element in initializer" + msgstr "union ilklendiricide gereğinden fazla öğe" + +-#: cp/decl.cc:7484 ++#: cp/decl.cc:7474 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be initialized by constructor, not by %<{...}%>" + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "%qD bir kurucu ile ilklendirilmeli, %<{...}%> ile değil" + +-#: cp/decl.cc:7627 ++#: cp/decl.cc:7617 + #, fuzzy, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "parantezli dizge sabiti %2$qE ile ilklendirilmiş %1$qD dizgesi" + +-#: cp/decl.cc:7666 ++#: cp/decl.cc:7656 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "kuruculu statik üye için ilklendirici geçersiz" + +-#: cp/decl.cc:7668 ++#: cp/decl.cc:7658 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "ISO C++ sabit olmayan statik %qD üyesinin sınıf içi ilklendirmesine izin vermez" + +-#: cp/decl.cc:7671 ++#: cp/decl.cc:7661 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "ISO C++ sabit olmayan statik %qD üyesinin sınıf içi ilklendirmesine izin vermez" + +-#: cp/decl.cc:7676 ++#: cp/decl.cc:7666 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "(bir sınıf dışı ilklendirme gerekli)" + +-#: cp/decl.cc:7878 ++#: cp/decl.cc:7868 + #, fuzzy, gcc-internal-format + #| msgid "parameter %qD is initialized" + msgid "reference %qD is initialized with itself" + msgstr "%qD parametresi ilklendirilmiş" + +-#: cp/decl.cc:8135 ++#: cp/decl.cc:8125 + #, fuzzy, gcc-internal-format + #| msgid "% in empty declaration" + msgid "could not find variant declaration" + msgstr "boş bildirimde %" + +-#: cp/decl.cc:8159 ++#: cp/decl.cc:8149 + #, fuzzy, gcc-internal-format + #| msgid "too few arguments to %s %q+#D" + msgid "% on constructor %qD" + msgstr "%s %q+#D için argümanlar çok az" + +-#: cp/decl.cc:8164 ++#: cp/decl.cc:8154 + #, fuzzy, gcc-internal-format + #| msgid "redeclaration of enumerator %q+D" + msgid "% on destructor %qD" + msgstr "enumerator %q+D yeniden bildirilmiş" + +-#: cp/decl.cc:8169 ++#: cp/decl.cc:8159 + #, gcc-internal-format + msgid "% on defaulted %qD" + msgstr "" + +-#: cp/decl.cc:8174 ++#: cp/decl.cc:8164 + #, gcc-internal-format + msgid "% on deleted %qD" + msgstr "" + +-#: cp/decl.cc:8179 ++#: cp/decl.cc:8169 + #, gcc-internal-format + msgid "% on virtual %qD" + msgstr "" + +-#: cp/decl.cc:8229 ++#: cp/decl.cc:8219 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "bildirim içinde atama (ilklendirme değil)" + +-#: cp/decl.cc:8250 cp/decl.cc:14799 ++#: cp/decl.cc:8240 cp/decl.cc:14789 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not allow designated initializers" + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "ISO C++ tasarlanmış ilkendiricilere izin vermez" + +-#: cp/decl.cc:8254 cp/decl.cc:14803 ++#: cp/decl.cc:8244 cp/decl.cc:14793 + #, fuzzy, gcc-internal-format + #| msgid "storage class specified for %qs" + msgid "% storage class specifier used" + msgstr "%qs için saklatım sınıfı belirtilmiş" + +-#: cp/decl.cc:8299 cp/decl.cc:14766 ++#: cp/decl.cc:8289 cp/decl.cc:14756 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %q#D has % and is initialized" + msgid "declaration of %q#D has no initializer" + msgstr "%q#D hem % olarak bildirilmiş hem de ilklendirilmiş" + +-#: cp/decl.cc:8335 ++#: cp/decl.cc:8325 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of non-static member function %qD" + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "static olmayan üye işlev %qD kullanımı geçersiz" + +-#: cp/decl.cc:8346 ++#: cp/decl.cc:8336 + #, fuzzy, gcc-internal-format + #| msgid "return type %q#T is incomplete" + msgid "deduced type %qT for %qD is incomplete" + msgstr "dönüş türü %q#T bir içi boş türdür" + +-#: cp/decl.cc:8476 ++#: cp/decl.cc:8466 + #, fuzzy, gcc-internal-format + #| msgid "variable-sized object may not be initialized" + msgid "variable concept has no initializer" + msgstr "değişken uzunluklu nesne ilklendirilemeyebilir" + +-#: cp/decl.cc:8535 ++#: cp/decl.cc:8525 + #, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "önceki %q#D tür bildirimini gölgeliyor" + +-#: cp/decl.cc:8578 ++#: cp/decl.cc:8568 + #, fuzzy, gcc-internal-format + #| msgid "%qs can only be specified for functions" + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "%qs sadece işlevler için belirtilebilir" + +-#: cp/decl.cc:8770 ++#: cp/decl.cc:8760 + #, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "%q#D işlevi bir değişken gibi ilklendirilmiş" + +-#: cp/decl.cc:8881 ++#: cp/decl.cc:8871 + #, fuzzy, gcc-internal-format + #| msgid " cannot use obsolete binding at %q+D because it has a destructor" + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr " %q+D'deki atıl baglantı bir yıkıcıya sahip olduğundan kullanılamaz" + +-#: cp/decl.cc:8884 ++#: cp/decl.cc:8874 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "" + +-#: cp/decl.cc:8891 ++#: cp/decl.cc:8881 + #, fuzzy, gcc-internal-format + #| msgid "%qT is an inaccessible base of %qT" + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "%qT, bir erişilemeyen %qT tabanıdır" + +-#: cp/decl.cc:8917 ++#: cp/decl.cc:8907 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:8926 ++#: cp/decl.cc:8916 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:9136 ++#: cp/decl.cc:9126 + #, fuzzy, gcc-internal-format + #| msgid "dereferencing pointer to incomplete type" + msgid "structured binding refers to incomplete type %qT" + msgstr "içi boş ture gösterici ilişkilendirme" + +-#: cp/decl.cc:9152 ++#: cp/decl.cc:9142 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 forbids variable-size array %qs" + msgid "cannot decompose variable length array %qT" + msgstr "ISO C90 değişken boyutlu %qs dizisini yasaklar" + +-#: cp/decl.cc:9161 cp/decl.cc:9240 ++#: cp/decl.cc:9151 cp/decl.cc:9230 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "storage class specified for structure field %qs" + msgid "%u name provided for structured binding" +@@ -59107,1838 +59096,1838 @@ msgid_plural "%u names provided for structured binding" + msgstr[0] "%qs yapı alan için saklama sınıfı belirtilmiş" + msgstr[1] "%qs yapı alan için saklama sınıfı belirtilmiş" + +-#: cp/decl.cc:9165 ++#: cp/decl.cc:9155 + #, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9168 ++#: cp/decl.cc:9158 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9209 ++#: cp/decl.cc:9199 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare pointer to %q#T" + msgid "cannot decompose variable length vector %qT" + msgstr "%q#T türüne gösterici bildirilemez" + +-#: cp/decl.cc:9233 ++#: cp/decl.cc:9223 + #, fuzzy, gcc-internal-format + #| msgid "size of array is not an integral constant-expression" + msgid "%::value%> is not an integral constant expression" + msgstr "dizi boyutu bir tümleyen sabit ifadesi değil" + +-#: cp/decl.cc:9242 ++#: cp/decl.cc:9232 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "" + +-#: cp/decl.cc:9263 ++#: cp/decl.cc:9253 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "" + +-#: cp/decl.cc:9269 ++#: cp/decl.cc:9259 + #, fuzzy, gcc-internal-format + #| msgid "invalid cast to function type %qT" + msgid "in initialization of structured binding variable %qD" + msgstr "%qT işlev türüne dönüşüm geçersiz" + +-#: cp/decl.cc:9298 ++#: cp/decl.cc:9288 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare bit-field %qD with function type" + msgid "cannot decompose union type %qT" + msgstr "bit alanı %qD işlev türü ile bildirilemez" + +-#: cp/decl.cc:9303 ++#: cp/decl.cc:9293 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member of non-class type %qT" + msgid "cannot decompose non-array non-class type %qT" + msgstr "sınıf olmayan %qT türünde üye göstericisi oluşturulması" + +-#: cp/decl.cc:9308 ++#: cp/decl.cc:9298 + #, fuzzy, gcc-internal-format + #| msgid "cannot decompose address" + msgid "cannot decompose lambda closure type %qT" + msgstr "adres çözümlenemez" + +-#: cp/decl.cc:9314 ++#: cp/decl.cc:9304 + #, fuzzy, gcc-internal-format + #| msgid "return type is an incomplete type" + msgid "structured binding refers to incomplete class type %qT" + msgstr "dönüş türü, bir içi boş tür" + +-#: cp/decl.cc:9323 ++#: cp/decl.cc:9313 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of non-static data member %qD" + msgid "cannot decompose class type %qT without non-static data members" + msgstr "static olmayan veri üyesi %qD kullanımı geçersiz" + +-#: cp/decl.cc:9790 ++#: cp/decl.cc:9780 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "" + +-#: cp/decl.cc:9793 ++#: cp/decl.cc:9783 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "" + +-#: cp/decl.cc:9798 ++#: cp/decl.cc:9788 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "" + +-#: cp/decl.cc:10017 ++#: cp/decl.cc:10007 + #, fuzzy, gcc-internal-format + #| msgid "initializer fails to determine size of %qD" + msgid "initializer fails to determine size of %qT" + msgstr "ilklendirici %qD bildiriminin boyutunu saptayamıyor" + +-#: cp/decl.cc:10021 ++#: cp/decl.cc:10011 + #, fuzzy, gcc-internal-format + #| msgid "array size missing in %qD" + msgid "array size missing in %qT" + msgstr "%qD bildiriminde dizi boyutu eksik" + +-#: cp/decl.cc:10024 ++#: cp/decl.cc:10014 + #, fuzzy, gcc-internal-format + #| msgid "zero-size array %qD" + msgid "zero-size array %qT" + msgstr "sıfır boyutlu dizi %qD" + +-#: cp/decl.cc:10040 ++#: cp/decl.cc:10030 + #, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "yabancı sınıf %qT için yıkıcı, bir üye olamaz" + +-#: cp/decl.cc:10042 ++#: cp/decl.cc:10032 + #, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "yabancı sınıf %qT için kurucu, bir üye olamaz" + +-#: cp/decl.cc:10068 ++#: cp/decl.cc:10058 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a % %s" + msgid "%qD declared as a % variable" + msgstr "%qD bir % %s olarak bildirilmiş" + +-#: cp/decl.cc:10070 ++#: cp/decl.cc:10060 + #, fuzzy, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "%2$s bildirimindeki % ve % işlev belirtecleri %1$qD için geçersiz" + +-#: cp/decl.cc:10076 ++#: cp/decl.cc:10066 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a % %s" + msgid "%qD declared as a % parameter" + msgstr "%qD bir % %s olarak bildirilmiş" + +-#: cp/decl.cc:10079 ++#: cp/decl.cc:10069 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as an % %s" + msgid "%qD declared as an % parameter" + msgstr "%qD nesnesi bir % %s olarak bildirilmiş" + +-#: cp/decl.cc:10081 ++#: cp/decl.cc:10071 + #, fuzzy, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "%2$s bildirimindeki % ve % işlev belirtecleri %1$qD için geçersiz" + +-#: cp/decl.cc:10087 ++#: cp/decl.cc:10077 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a % %s" + msgid "%qD declared as a % type" + msgstr "%qD bir % %s olarak bildirilmiş" + +-#: cp/decl.cc:10090 ++#: cp/decl.cc:10080 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as an % %s" + msgid "%qD declared as an % type" + msgstr "%qD nesnesi bir % %s olarak bildirilmiş" + +-#: cp/decl.cc:10092 ++#: cp/decl.cc:10082 + #, fuzzy, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "%2$s bildirimindeki % ve % işlev belirtecleri %1$qD için geçersiz" + +-#: cp/decl.cc:10098 ++#: cp/decl.cc:10088 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a % %s" + msgid "%qD declared as a % field" + msgstr "%qD bir % %s olarak bildirilmiş" + +-#: cp/decl.cc:10101 ++#: cp/decl.cc:10091 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as an % %s" + msgid "%qD declared as an % field" + msgstr "%qD nesnesi bir % %s olarak bildirilmiş" + +-#: cp/decl.cc:10103 ++#: cp/decl.cc:10093 + #, fuzzy, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "%2$s bildirimindeki % ve % işlev belirtecleri %1$qD için geçersiz" + +-#: cp/decl.cc:10110 ++#: cp/decl.cc:10100 + #, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "%q+D bir kardeş olarak bildirilmiş" + +-#: cp/decl.cc:10117 ++#: cp/decl.cc:10107 + #, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "%q+D bir olağandışılık belirtimi ile bildirilmiş" + +-#: cp/decl.cc:10149 ++#: cp/decl.cc:10139 + #, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "%qD tanımı %qT bağlamını kapsayan isim alanınında değil" + +-#: cp/decl.cc:10189 ++#: cp/decl.cc:10179 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "statik üye işlev %q#D tür niteleyicilerle bildirilmiş" + +-#: cp/decl.cc:10200 ++#: cp/decl.cc:10190 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared as a non-parameter" + msgid "concept %q#D declared with function parameters" + msgstr "%q+D bir parametre olarak bildirilmemiş" + +-#: cp/decl.cc:10207 ++#: cp/decl.cc:10197 + #, fuzzy, gcc-internal-format + #| msgid "parameter %q+D declared with void type" + msgid "concept %q#D declared with a deduced return type" + msgstr "%q+D parametresi void olarak bildirilmiş" + +-#: cp/decl.cc:10210 ++#: cp/decl.cc:10200 + #, fuzzy, gcc-internal-format + #| msgid "Java method %qD has non-Java return type %qT" + msgid "concept %q#D with non-% return type %qT" + msgstr "Java yöntemi %qD Java olmayan %qT dönüş türünü içeriyor" + +-#: cp/decl.cc:10286 ++#: cp/decl.cc:10276 + #, fuzzy, gcc-internal-format + #| msgid "%Jold-style function definition" + msgid "concept %qD has no definition" + msgstr "%Jeski tarz işlev tanımı" + +-#: cp/decl.cc:10315 ++#: cp/decl.cc:10305 + #, fuzzy, gcc-internal-format + #| msgid "union cannot be made transparent" + msgid "a function concept cannot be constrained" + msgstr "birleşik yapı şeffaf olamaz" + +-#: cp/decl.cc:10325 ++#: cp/decl.cc:10315 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a template function" + msgid "constraints on a non-templated function" + msgstr "%qD bir şablon işlevi değildir" + +-#: cp/decl.cc:10370 ++#: cp/decl.cc:10360 + #, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "%qD doğrudan özelleştirmesinin kardeş bildirimde tanımı" + +-#: cp/decl.cc:10381 ++#: cp/decl.cc:10371 + #, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "birincil şablon bildiriminde %qD şablon kimliğinin kullanımı geçersiz" + +-#: cp/decl.cc:10399 ++#: cp/decl.cc:10389 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "öntanımlı argümanlara kardeş şablon özelleştirmesi %qD bildiriminde izin verilmez" + +-#: cp/decl.cc:10408 ++#: cp/decl.cc:10398 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "kardeş şablon özelleştirmesi %qD bildiriminde % kullanılamaz" + +-#: cp/decl.cc:10425 ++#: cp/decl.cc:10415 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %q#D outside of class is not definition" + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "sınıf dışında %q#D bildirimi bir tanım değildir" + +-#: cp/decl.cc:10470 ++#: cp/decl.cc:10460 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "%<::main%> bir şablon olarak bildirilemez" + +-#: cp/decl.cc:10473 ++#: cp/decl.cc:10463 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "%<::main%> inline olarak bildirilemez" + +-#: cp/decl.cc:10476 cp/decl.cc:10479 ++#: cp/decl.cc:10466 cp/decl.cc:10469 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %<::main%> to be static" + msgid "cannot declare %<::main%> to be %qs" + msgstr "%<::main%> static olarak bildirilemez" + +-#: cp/decl.cc:10481 ++#: cp/decl.cc:10471 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "%<::main%> static olarak bildirilemez" + +-#: cp/decl.cc:10543 ++#: cp/decl.cc:10533 + #, fuzzy, gcc-internal-format + #| msgid "%smember function %qD cannot have cv-qualifier" + msgid "static member function %qD cannot have cv-qualifier" + msgstr "%süye işlev %qD cv niteleyicisini içeremez" + +-#: cp/decl.cc:10544 ++#: cp/decl.cc:10534 + #, fuzzy, gcc-internal-format + #| msgid "%smember function %qD cannot have cv-qualifier" + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "%süye işlev %qD cv niteleyicisini içeremez" + +-#: cp/decl.cc:10552 ++#: cp/decl.cc:10542 + #, fuzzy, gcc-internal-format + #| msgid "%smember function %qD cannot have cv-qualifier" + msgid "static member function %qD cannot have ref-qualifier" + msgstr "%süye işlev %qD cv niteleyicisini içeremez" + +-#: cp/decl.cc:10553 ++#: cp/decl.cc:10543 + #, fuzzy, gcc-internal-format + #| msgid "%smember function %qD cannot have cv-qualifier" + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "%süye işlev %qD cv niteleyicisini içeremez" + +-#: cp/decl.cc:10565 ++#: cp/decl.cc:10555 + #, gcc-internal-format + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "" + +-#: cp/decl.cc:10573 ++#: cp/decl.cc:10563 + #, gcc-internal-format + msgid "deduction guide %qD must have the same access as %qT" + msgstr "" + +-#: cp/decl.cc:10579 ++#: cp/decl.cc:10569 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-function" + msgid "deduction guide %qD must not have a function body" + msgstr "işlev olmayan olarak %qD bildirimi" + +-#: cp/decl.cc:10592 ++#: cp/decl.cc:10582 + #, fuzzy, gcc-internal-format + #| msgid "template with C linkage" + msgid "literal operator with C linkage" + msgstr "C ilintilemeli şablon" + +-#: cp/decl.cc:10602 ++#: cp/decl.cc:10592 + #, fuzzy, gcc-internal-format + #| msgid "invalid option argument %qs" + msgid "%qD has invalid argument list" + msgstr "seçenek argümanı %qs geçersiz" + +-#: cp/decl.cc:10610 ++#: cp/decl.cc:10600 + #, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10616 ++#: cp/decl.cc:10606 + #, gcc-internal-format + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10623 ++#: cp/decl.cc:10613 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "" + +-#: cp/decl.cc:10628 ++#: cp/decl.cc:10618 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be a nonstatic member function" + msgid "%qD must be a non-member function" + msgstr "%qD static olmayan bir üye işlev olmalıdır" + +-#: cp/decl.cc:10714 ++#: cp/decl.cc:10704 + #, gcc-internal-format + msgid "%<::main%> must return %" + msgstr "%<::main%> % döndürmeli" + +-#: cp/decl.cc:10754 ++#: cp/decl.cc:10744 + #, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "dolaylı bildirimli %qD tanımı" + +-#: cp/decl.cc:10759 ++#: cp/decl.cc:10749 + #, fuzzy, gcc-internal-format + #| msgid "definition of implicitly-declared %qD" + msgid "definition of explicitly-defaulted %q+D" + msgstr "dolaylı bildirimli %qD tanımı" + +-#: cp/decl.cc:10761 ++#: cp/decl.cc:10751 + #, fuzzy, gcc-internal-format + #| msgid "%q+#D previously defined here" + msgid "%q#D explicitly defaulted here" + msgstr "%q+#D evvelce burada tanımlanmış" + +-#: cp/decl.cc:10778 ++#: cp/decl.cc:10768 + #, fuzzy, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "sınıf %2$qT içinde bildirilmiş %1$q#D diye bir üye işlev yok" + +-#: cp/decl.cc:10971 ++#: cp/decl.cc:10961 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %<::main%> to be a template" + msgid "cannot declare %<::main%> to be a global variable" + msgstr "%<::main%> bir şablon olarak bildirilemez" + +-#: cp/decl.cc:10980 ++#: cp/decl.cc:10970 + #, fuzzy, gcc-internal-format + #| msgid "instance variable %qs is declared private" + msgid "a non-template variable cannot be %" + msgstr "gerçeklenim değişkeni %qs private olarak bildirilmiş" + +-#: cp/decl.cc:10986 ++#: cp/decl.cc:10976 + #, fuzzy, gcc-internal-format + #| msgid "strong using only meaningful at namespace scope" + msgid "concept must be defined at namespace scope" + msgstr "kesin kullanım sadece isimalanı kapsamında anlamlıdır" + +-#: cp/decl.cc:10993 ++#: cp/decl.cc:10983 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "" + +-#: cp/decl.cc:10996 ++#: cp/decl.cc:10986 + #, fuzzy, gcc-internal-format + #| msgid "Loop variable at %C cannot be a sub-component" + msgid "a variable concept cannot be constrained" + msgstr "%C'deki döngü değişkeni bir alt bileşen olamaz" + +-#: cp/decl.cc:11118 ++#: cp/decl.cc:11108 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "tümleyen olmayan %qT türündeki statik veri üyesinin sınıf içi ilklendirmesi geçersiz" + +-#: cp/decl.cc:11122 ++#: cp/decl.cc:11112 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "tümleyen olmayan %qT türündeki statik veri üyesinin sınıf içi ilklendirmesi geçersiz" + +-#: cp/decl.cc:11126 ++#: cp/decl.cc:11116 + #, fuzzy, gcc-internal-format + #| msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "tümleyen olmayan %qT türündeki statik veri üyesinin sınıf içi ilklendirmesi geçersiz" + +-#: cp/decl.cc:11137 ++#: cp/decl.cc:11127 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "tümleyen olmayan %qT türündeki statik veri üyesinin sınıf içi ilklendirmesi geçersiz" + +-#: cp/decl.cc:11142 ++#: cp/decl.cc:11132 + #, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "ISO C++ sabit olmayan statik %qD üyesinin sınıf içi ilklendirmesine izin vermez" + +-#: cp/decl.cc:11147 ++#: cp/decl.cc:11137 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "ISO C++ tümlemeyen %2$qT türündeki %1$qD üye sabitinin ilklendirilmesine izin vermez" + +-#: cp/decl.cc:11258 ++#: cp/decl.cc:11248 + #, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "%qD dizisinin boyutu tümlemeyen %qT türünde" + +-#: cp/decl.cc:11261 ++#: cp/decl.cc:11251 + #, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "dizi boyutu tümlemeyen %qT türünde" + +-#: cp/decl.cc:11292 cp/decl.cc:11364 ++#: cp/decl.cc:11282 cp/decl.cc:11354 + #, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "%qD dizisinin boyutu bir tümleyen sabit ifadesi değil" + +-#: cp/decl.cc:11296 cp/decl.cc:11367 ++#: cp/decl.cc:11286 cp/decl.cc:11357 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "dizi boyutu bir tümleyen sabit ifadesi değil" + +-#: cp/decl.cc:11347 ++#: cp/decl.cc:11337 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "ISO C++ da sıfır boyutlu %qD dizisi yasaktır" + +-#: cp/decl.cc:11350 ++#: cp/decl.cc:11340 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "ISO C++'da sıfır boyutlu dizi yasaktır" + +-#: cp/decl.cc:11374 ++#: cp/decl.cc:11364 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids variable-size array %qD" + msgid "ISO C++ forbids variable length array %qD" + msgstr "ISO C++ değişken boyutlu %qD dizisine izin vermez" + +-#: cp/decl.cc:11377 ++#: cp/decl.cc:11367 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids variable-size array" + msgid "ISO C++ forbids variable length array" + msgstr "ISO C++ değişken boyutlu diziye izin vermez" + +-#: cp/decl.cc:11383 ++#: cp/decl.cc:11373 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "" + +-#: cp/decl.cc:11386 ++#: cp/decl.cc:11376 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "" + +-#: cp/decl.cc:11438 ++#: cp/decl.cc:11428 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "dizi boyutunda taşma" + +-#: cp/decl.cc:11498 ++#: cp/decl.cc:11488 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared as a friend" + msgid "%qD declared as array of template placeholder type %qT" + msgstr "%q+D bir kardeş olarak bildirilmiş" + +-#: cp/decl.cc:11501 ++#: cp/decl.cc:11491 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member reference type %qT" + msgid "creating array of template placeholder type %qT" + msgstr "%qT üye referans türünde gösterici oluşturulması" + +-#: cp/decl.cc:11511 ++#: cp/decl.cc:11501 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of voids" + msgid "declaration of %qD as array of void" + msgstr "void dizisi olarak %qs bildirimi" + +-#: cp/decl.cc:11513 ++#: cp/decl.cc:11503 + #, fuzzy, gcc-internal-format + #| msgid "creating array of %qT" + msgid "creating array of void" + msgstr "%qT dizisi oluşturulması" + +-#: cp/decl.cc:11518 ++#: cp/decl.cc:11508 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of functions" + msgid "declaration of %qD as array of functions" + msgstr "işlev dizisi olarak %qs bildirimi" + +-#: cp/decl.cc:11520 ++#: cp/decl.cc:11510 + #, fuzzy, gcc-internal-format + #| msgid "creating array of %qT" + msgid "creating array of functions" + msgstr "%qT dizisi oluşturulması" + +-#: cp/decl.cc:11525 ++#: cp/decl.cc:11515 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of functions" + msgid "declaration of %qD as array of references" + msgstr "işlev dizisi olarak %qs bildirimi" + +-#: cp/decl.cc:11527 ++#: cp/decl.cc:11517 + #, fuzzy, gcc-internal-format + #| msgid "creating array of %qT" + msgid "creating array of references" + msgstr "%qT dizisi oluşturulması" + +-#: cp/decl.cc:11532 ++#: cp/decl.cc:11522 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of functions" + msgid "declaration of %qD as array of function members" + msgstr "işlev dizisi olarak %qs bildirimi" + +-#: cp/decl.cc:11535 ++#: cp/decl.cc:11525 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qs as array of functions" + msgid "creating array of function members" + msgstr "işlev dizisi olarak %qs bildirimi" + +-#: cp/decl.cc:11553 ++#: cp/decl.cc:11543 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "çok boyutlu dizi olarak %qD bildiriminde ilki dışında tüm boyutlar sınırlanmış olmalıdır" + +-#: cp/decl.cc:11557 ++#: cp/decl.cc:11547 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "çok boyutlu dizi bildiriminde ilki dışında tüm boyutlar sınırlanmış olmalıdır" + +-#: cp/decl.cc:11571 ++#: cp/decl.cc:11561 + #, fuzzy, gcc-internal-format + #| msgid "Warn when a variable is unused" + msgid "variable-length array of %" + msgstr "Bir değişken kullanılmamışsa uyarır" + +-#: cp/decl.cc:11647 ++#: cp/decl.cc:11637 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "kurucu için dönüş türü belirtimi geçersiz" + +-#: cp/decl.cc:11650 ++#: cp/decl.cc:11640 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on constructor declaration" + msgstr "% bildiriminde niteleyicilere izin verilmez" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11651 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "yıkıcı için dönüş türü belirtimi geçersiz" + +-#: cp/decl.cc:11664 ++#: cp/decl.cc:11654 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on destructor declaration" + msgstr "% bildiriminde niteleyicilere izin verilmez" + +-#: cp/decl.cc:11677 ++#: cp/decl.cc:11667 + #, gcc-internal-format + msgid "return type specified for %" + msgstr "% için dönüş türü belirtilmiş" + +-#: cp/decl.cc:11680 ++#: cp/decl.cc:11670 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "% bildiriminde niteleyicilere izin verilmez" + +-#: cp/decl.cc:11689 ++#: cp/decl.cc:11679 + #, fuzzy, gcc-internal-format + #| msgid "return type specification for destructor invalid" + msgid "return type specified for deduction guide" + msgstr "yıkıcı için dönüş türü belirtimi geçersiz" + +-#: cp/decl.cc:11692 ++#: cp/decl.cc:11682 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "% bildiriminde niteleyicilere izin verilmez" + +-#: cp/decl.cc:11696 ++#: cp/decl.cc:11686 + #, fuzzy, gcc-internal-format + #| msgid "too many template parameter lists in declaration of %qD" + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "%qD bildiriminde çok fazla şablon parametresi listeleniyor" + +-#: cp/decl.cc:11705 ++#: cp/decl.cc:11695 + #, fuzzy, gcc-internal-format + #| msgid "conflicting declaration %q#D" + msgid "% in declaration of deduction guide" + msgstr "%q#D bildirimi çelişkili" + +-#: cp/decl.cc:11726 ++#: cp/decl.cc:11716 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "void bildirimli adsız değişken ya da alan" + +-#: cp/decl.cc:11734 ++#: cp/decl.cc:11724 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "void bildirimli değişken ya da alan" + +-#: cp/decl.cc:11749 ++#: cp/decl.cc:11739 + #, fuzzy, gcc-internal-format + #| msgid "% specifier invalid for function %qs declared out of global scope" + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "genel kapsam dışında bildirilen %qs işlevi için % belirteci geçersiz" + +-#: cp/decl.cc:11754 ++#: cp/decl.cc:11744 + #, gcc-internal-format + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "" + +-#: cp/decl.cc:11810 ++#: cp/decl.cc:11800 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11806 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "% cannot be cv-qualified" + msgstr "yıkıcılar cv-nitelemeli olmayabilir" + +-#: cp/decl.cc:12032 ++#: cp/decl.cc:12022 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %<::%>" + msgid "invalid use of qualified-name %<::%D%>" + msgstr "%<::%> kullanımı geçersiz" + +-#: cp/decl.cc:12035 cp/decl.cc:12057 ++#: cp/decl.cc:12025 cp/decl.cc:12047 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of undefined type %<%s %E%>" + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "tanımsız tür %<%s %E%> kullanımı geçersiz" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12028 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of undefined type %<%s %E%>" + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "tanımsız tür %<%s %E%> kullanımı geçersiz" + +-#: cp/decl.cc:12048 ++#: cp/decl.cc:12038 + #, fuzzy, gcc-internal-format + #| msgid "%qT is not a class or namespace" + msgid "%q#T is not a class or namespace" + msgstr "%qT bir sınıf ya da isim alanı değil" + +-#: cp/decl.cc:12072 ++#: cp/decl.cc:12062 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-function" + msgid "declaration of %qE as non-function" + msgstr "işlev olmayan olarak %qD bildirimi" + +-#: cp/decl.cc:12079 ++#: cp/decl.cc:12069 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-member" + msgid "declaration of %qE as non-member" + msgstr "üye olmayan olarak %qD bildirimi" + +-#: cp/decl.cc:12107 ++#: cp/decl.cc:12097 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "bildirimci kimliği eksik; yedek sözcük %qD kullanılıyor" + +-#: cp/decl.cc:12158 ++#: cp/decl.cc:12148 + #, fuzzy, gcc-internal-format + #| msgid "function definition declared %" + msgid "function definition does not declare parameters" + msgstr "% bildirimli işlev tanımı" + +-#: cp/decl.cc:12166 cp/decl.cc:12175 cp/decl.cc:14033 ++#: cp/decl.cc:12156 cp/decl.cc:12165 cp/decl.cc:14023 + #, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "işlev olmayan olarak %qD bildirimi" + +-#: cp/decl.cc:12183 ++#: cp/decl.cc:12173 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as %" + msgstr "%2$s olarak %1$qD bildirimi" + +-#: cp/decl.cc:12188 ++#: cp/decl.cc:12178 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %q+D shadows a parameter" + msgid "declaration of %qD as parameter" + msgstr "%q+D bildirimi bir parametreyi gölgeliyor" + +-#: cp/decl.cc:12223 ++#: cp/decl.cc:12213 + #, gcc-internal-format + msgid "both %qs and %qs specified" + msgstr "" + +-#: cp/decl.cc:12230 cp/decl.cc:12237 cp/decl.cc:12244 cp/decl.cc:12251 ++#: cp/decl.cc:12220 cp/decl.cc:12227 cp/decl.cc:12234 cp/decl.cc:12241 + #, fuzzy, gcc-internal-format + #| msgid "a template-id may not appear in a using-declaration" + msgid "%qs cannot appear in a typedef declaration" + msgstr "using bildiriminde bir şablon kimliği bulunamaz" + +-#: cp/decl.cc:12262 ++#: cp/decl.cc:12252 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "" + +-#: cp/decl.cc:12272 ++#: cp/decl.cc:12262 + #, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "%qs bildiriminde iki veya daha fazla veri türü" + +-#: cp/decl.cc:12326 ++#: cp/decl.cc:12316 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support plain % meaning %" + msgid "ISO C++ does not support plain % meaning %" + msgstr "ISO C salt %i % anlamında desteklemez" + +-#: cp/decl.cc:12375 cp/decl.cc:12379 cp/decl.cc:12382 ++#: cp/decl.cc:12365 cp/decl.cc:12369 cp/decl.cc:12372 + #, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "ISO C++ türsüz %qs bildirimine izin verilmez" + +-#: cp/decl.cc:12399 ++#: cp/decl.cc:12389 + #, fuzzy, gcc-internal-format + #| msgid "__builtin_saveregs not supported by this target" + msgid "%<__int%d%> is not supported by this target" + msgstr "__builtin_saveregs bu hedef tarafından desteklenmiyor" + +-#: cp/decl.cc:12407 ++#: cp/decl.cc:12397 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not support %" + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "ISO C++ % desteklemez" + +-#: cp/decl.cc:12461 ++#: cp/decl.cc:12451 + #, fuzzy, gcc-internal-format + #| msgid "signed and unsigned given together for %qs" + msgid "% and % specified together" + msgstr "%qs için signed ve unsigned birlikte verilmiş" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12457 + #, fuzzy, gcc-internal-format + #| msgid "long and short specified together for %qs" + msgid "% and % specified together" + msgstr "%qs için long ve short birlikte belirtilmiş" + +-#: cp/decl.cc:12475 ++#: cp/decl.cc:12465 + #, fuzzy, gcc-internal-format + #| msgid "%<__thread%> used with %qE" + msgid "%qs specified with %qT" + msgstr "%<__thread%> %qE ile kullanılmış" + +-#: cp/decl.cc:12481 ++#: cp/decl.cc:12471 + #, fuzzy, gcc-internal-format + #| msgid "%<__thread%> used with %qE" + msgid "%qs specified with %qD" + msgstr "%<__thread%> %qE ile kullanılmış" + +-#: cp/decl.cc:12493 ++#: cp/decl.cc:12483 + #, fuzzy, gcc-internal-format + #| msgid "%<__thread%> used with %" + msgid "%qs specified with %" + msgstr "%<__thread%> % ile kullanılmış" + +-#: cp/decl.cc:12495 ++#: cp/decl.cc:12485 + #, fuzzy, gcc-internal-format + #| msgid "%<__thread%> used with %" + msgid "%qs specified with %" + msgstr "%<__thread%> % ile kullanılmış" + +-#: cp/decl.cc:12562 ++#: cp/decl.cc:12552 + #, gcc-internal-format + msgid "complex invalid for %qs" + msgstr "%qs için complex geçersiz" + +-#: cp/decl.cc:12606 ++#: cp/decl.cc:12596 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "" + +-#: cp/decl.cc:12632 ++#: cp/decl.cc:12622 + #, fuzzy, gcc-internal-format + #| msgid "member %qD cannot be declared both virtual and static" + msgid "member %qD cannot be declared both % and %" + msgstr "üye %qD, hem virtual hem de static olarak bildirilemez" + +-#: cp/decl.cc:12641 ++#: cp/decl.cc:12631 + #, fuzzy, gcc-internal-format + #| msgid "member %qD cannot be declared both virtual and static" + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "üye %qD, hem virtual hem de static olarak bildirilemez" + +-#: cp/decl.cc:12654 ++#: cp/decl.cc:12644 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "typedef bildirimi parametre bildiriminde geçersiz" + +-#: cp/decl.cc:12661 ++#: cp/decl.cc:12651 + #, fuzzy, gcc-internal-format + #| msgid "storage class specified for parameter %qs" + msgid "storage class specified for template parameter %qs" + msgstr "%qs parametresi için saklama sınıfı belirtilmiş" + +-#: cp/decl.cc:12671 cp/decl.cc:12848 ++#: cp/decl.cc:12661 cp/decl.cc:12838 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "%qs parametresi için saklama sınıfı belirtilmiş" + +-#: cp/decl.cc:12679 cp/decl.cc:12688 cp/decl.cc:12694 cp/decl.cc:12700 ++#: cp/decl.cc:12669 cp/decl.cc:12678 cp/decl.cc:12684 cp/decl.cc:12690 + #, fuzzy, gcc-internal-format + #| msgid "non-member %qs cannot be declared %" + msgid "a parameter cannot be declared %qs" + msgstr "üye olmayan %qs, % olarak bildirilemez" + +-#: cp/decl.cc:12710 ++#: cp/decl.cc:12700 + #, fuzzy, gcc-internal-format + #| msgid "virtual outside class declaration" + msgid "% outside class declaration" + msgstr "sanal dış sınıf bildirimi" + +-#: cp/decl.cc:12720 cp/decl.cc:12723 cp/decl.cc:12725 cp/decl.cc:12728 +-#: cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12758 cp/decl.cc:12762 ++#: cp/decl.cc:12710 cp/decl.cc:12713 cp/decl.cc:12715 cp/decl.cc:12718 ++#: cp/decl.cc:12728 cp/decl.cc:12738 cp/decl.cc:12748 cp/decl.cc:12752 + #, fuzzy, gcc-internal-format + #| msgid "attribute ignored in declaration of %q+#T" + msgid "structured binding declaration cannot be %qs" + msgstr "%q+#T bildiriminde öznitelik yoksayıldı" + +-#: cp/decl.cc:12732 cp/decl.cc:12754 ++#: cp/decl.cc:12722 cp/decl.cc:12744 + #, gcc-internal-format + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/decl.cc:12742 ++#: cp/decl.cc:12732 + #, gcc-internal-format + msgid "%-qualified structured binding is deprecated" + msgstr "" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12756 + #, gcc-internal-format + msgid "structured binding declaration cannot be C++98 %" + msgstr "" + +-#: cp/decl.cc:12778 ++#: cp/decl.cc:12768 + #, fuzzy, gcc-internal-format + #| msgid "attribute ignored in declaration of %q+#T" + msgid "structured binding declaration cannot have type %qT" + msgstr "%q+#T bildiriminde öznitelik yoksayıldı" + +-#: cp/decl.cc:12781 ++#: cp/decl.cc:12771 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "" + +-#: cp/decl.cc:12789 ++#: cp/decl.cc:12779 + #, gcc-internal-format + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "" + +-#: cp/decl.cc:12820 ++#: cp/decl.cc:12810 + #, gcc-internal-format + msgid "multiple storage classes in declaration of %qs" + msgstr "%qs bildiriminde çok sayıda saklama sınıfı" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12836 + #, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "%qs için saklatım sınıfı belirtilmiş" + +-#: cp/decl.cc:12860 ++#: cp/decl.cc:12850 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "iç işlev %qs % olarak bildirilmiş" + +-#: cp/decl.cc:12865 ++#: cp/decl.cc:12855 + #, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "%qs için tepe-seviye bildirim % belirtiyor" + +-#: cp/decl.cc:12873 ++#: cp/decl.cc:12863 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "%qs işlevinin etki alanı dolaylı olarak auto ve %<__thread%> bildirimli" + +-#: cp/decl.cc:12887 ++#: cp/decl.cc:12877 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "saklatım sınıfı belirteçleri kardeş işlev bildirimlerinde geçersiz" + +-#: cp/decl.cc:12919 cp/decl.cc:14411 cp/parser.cc:14950 cp/parser.cc:20813 ++#: cp/decl.cc:12909 cp/decl.cc:14401 cp/parser.cc:14950 cp/parser.cc:20813 + #: cp/parser.cc:27390 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored" + msgid "attribute ignored" + msgstr "%qE özniteliği yoksayıldı" + +-#: cp/decl.cc:12920 ++#: cp/decl.cc:12910 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "" + +-#: cp/decl.cc:12988 ++#: cp/decl.cc:12978 + #, fuzzy, gcc-internal-format + #| msgid "multiple storage classes in declaration of %qs" + msgid "unnecessary parentheses in declaration of %qs" + msgstr "%qs bildiriminde çok sayıda saklama sınıfı" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:12984 + #, fuzzy, gcc-internal-format + #| msgid "Expected left parenthesis" + msgid "remove parentheses" + msgstr "Umulmadık sol parantez" + +-#: cp/decl.cc:13043 ++#: cp/decl.cc:13033 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored on types" + msgid "requires-clause on return type" + msgstr "%qE özniteliği veri türlerinde yoksayılır" + +-#: cp/decl.cc:13063 ++#: cp/decl.cc:13053 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "" + +-#: cp/decl.cc:13067 ++#: cp/decl.cc:13057 + #, gcc-internal-format + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "" + +-#: cp/decl.cc:13072 ++#: cp/decl.cc:13062 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual function cannot have deduced return type" + msgstr "sanal işlevler kardeş işlev olamaz" + +-#: cp/decl.cc:13079 ++#: cp/decl.cc:13069 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13088 ++#: cp/decl.cc:13078 + #, gcc-internal-format + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13093 ++#: cp/decl.cc:13083 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %<::%>" + msgid "invalid use of %" + msgstr "%<::%> kullanımı geçersiz" + +-#: cp/decl.cc:13105 ++#: cp/decl.cc:13095 + #, fuzzy, gcc-internal-format + #| msgid "type qualifiers ignored on function return type" + msgid "deduced class type %qD in function return type" + msgstr "tür niteleyicileri işlev dönüş türünde yok sayıldı" + +-#: cp/decl.cc:13114 ++#: cp/decl.cc:13104 + #, gcc-internal-format + msgid "deduction guide for %qT must have trailing return type" + msgstr "" + +-#: cp/decl.cc:13127 ++#: cp/decl.cc:13117 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "" + +-#: cp/decl.cc:13141 ++#: cp/decl.cc:13131 + #, gcc-internal-format + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13134 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "" + +-#: cp/decl.cc:13151 ++#: cp/decl.cc:13141 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "a conversion function cannot have a trailing return type" + msgstr "sanal işlevler kardeş işlev olamaz" + +-#: cp/decl.cc:13177 ++#: cp/decl.cc:13167 + #, gcc-internal-format + msgid "%-qualified return type is deprecated" + msgstr "" + +-#: cp/decl.cc:13189 ++#: cp/decl.cc:13179 + #, gcc-internal-format + msgid "%qs declared as function returning a function" + msgstr "%qs işlevle dönen işlev olarak bildirilmiş" + +-#: cp/decl.cc:13195 ++#: cp/decl.cc:13185 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "%qs dizi ile dönen işlev olarak bildirilmiş" + +-#: cp/decl.cc:13202 ++#: cp/decl.cc:13192 + #, fuzzy, gcc-internal-format + #| msgid "Logical range in CASE statement at %L is not allowed" + msgid "% on function return type is not allowed" + msgstr "%L'deki CASE deyiminde mantıksal aralığa izin verilmez" + +-#: cp/decl.cc:13235 ++#: cp/decl.cc:13225 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "yıkıcı bir statik üye işlev olamaz" + +-#: cp/decl.cc:13237 ++#: cp/decl.cc:13227 + #, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "kurucu bir statik üye işlev olamaz" + +-#: cp/decl.cc:13242 ++#: cp/decl.cc:13232 + #, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "yıkıcılar cv-nitelemeli olmayabilir" + +-#: cp/decl.cc:13243 ++#: cp/decl.cc:13233 + #, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "kurucular cv-nitelemeli olmayabilir" + +-#: cp/decl.cc:13251 ++#: cp/decl.cc:13241 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "destructors may not be ref-qualified" + msgstr "yıkıcılar cv-nitelemeli olmayabilir" + +-#: cp/decl.cc:13252 ++#: cp/decl.cc:13242 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "constructors may not be ref-qualified" + msgstr "yıkıcılar cv-nitelemeli olmayabilir" + +-#: cp/decl.cc:13270 ++#: cp/decl.cc:13260 + #, fuzzy, gcc-internal-format + #| msgid "constructors cannot be declared virtual" + msgid "constructors cannot be declared %" + msgstr "kurucular virtual olarak bildirilemez" + +-#: cp/decl.cc:13287 ++#: cp/decl.cc:13277 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "sanal işlevler kardeş işlev olamaz" + +-#: cp/decl.cc:13292 ++#: cp/decl.cc:13282 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "kardeş bildirimi sınıf bildiriminde değil" + +-#: cp/decl.cc:13296 ++#: cp/decl.cc:13286 + #, fuzzy, gcc-internal-format + #| msgid "can't define friend function %qs in a local class definition" + msgid "cannot define friend function %qs in a local class definition" + msgstr "yerel sınıf tanımı içinde kardeş işlev %qs tanımlanamaz" + +-#: cp/decl.cc:13306 ++#: cp/decl.cc:13296 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "" + +-#: cp/decl.cc:13310 ++#: cp/decl.cc:13300 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "" + +-#: cp/decl.cc:13348 ++#: cp/decl.cc:13338 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "yıkıcılar parametre almayabilir" + +-#: cp/decl.cc:13405 ++#: cp/decl.cc:13395 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "%q#T türüne gösterici bildirilemez" + +-#: cp/decl.cc:13418 cp/decl.cc:13425 ++#: cp/decl.cc:13408 cp/decl.cc:13415 + #, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "%q#T türüne başvuru bildirilemez" + +-#: cp/decl.cc:13427 ++#: cp/decl.cc:13417 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "%q#T üyeye gösterici bildirilemez" + +-#: cp/decl.cc:13456 ++#: cp/decl.cc:13446 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare reference to %q#T" + msgid "cannot declare reference to qualified function type %qT" + msgstr "%q#T türüne başvuru bildirilemez" + +-#: cp/decl.cc:13457 ++#: cp/decl.cc:13447 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare bit-field %qD with function type" + msgid "cannot declare pointer to qualified function type %qT" + msgstr "bit alanı %qD işlev türü ile bildirilemez" + +-#: cp/decl.cc:13530 ++#: cp/decl.cc:13520 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "" + +-#: cp/decl.cc:13610 ++#: cp/decl.cc:13600 + #, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "şablon kimliği %qD bir bildirici olarak kullanılmış" + +-#: cp/decl.cc:13636 ++#: cp/decl.cc:13626 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "üye işlevler sınıflarının örtük kardeşleridir" + +-#: cp/decl.cc:13641 ++#: cp/decl.cc:13631 + #, fuzzy, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "üye %2$qs üzerinde fazladan niteleme %<%1$T::%>" + +-#: cp/decl.cc:13671 ++#: cp/decl.cc:13661 + #, fuzzy, gcc-internal-format + #| msgid "cannot define member function %<%T::%s%> within %<%T%>" + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "üye işlev %<%T::%s%> %<%T%> içinde tanımlanamaz" + +-#: cp/decl.cc:13673 ++#: cp/decl.cc:13663 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare member function %<%T::%s%> within %<%T%>" + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "uye işlev %<%T::%s%> %<%T%> içinde bildirilemez" + +-#: cp/decl.cc:13681 ++#: cp/decl.cc:13671 + #, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "üye %<%T::%s%> %qT içinde bildirilemez" + +-#: cp/decl.cc:13721 ++#: cp/decl.cc:13711 + #, fuzzy, gcc-internal-format + #| msgid "data member %qD cannot be a member template" + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "veri üyesi %qD bir üye şablon olamaz" + +-#: cp/decl.cc:13730 ++#: cp/decl.cc:13720 + #, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "veri üyesi değişken olarak değiştirilmiş %qT türünde olamayabilir" + +-#: cp/decl.cc:13733 ++#: cp/decl.cc:13723 + #, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "parametre değişken olarak değiştirilmiş %qT türünde olamayabilir" + +-#: cp/decl.cc:13744 ++#: cp/decl.cc:13734 + #, fuzzy, gcc-internal-format + #| msgid "virtual outside class declaration" + msgid "% outside class declaration" + msgstr "sanal dış sınıf bildirimi" + +-#: cp/decl.cc:13747 ++#: cp/decl.cc:13737 + #, fuzzy, gcc-internal-format + #| msgid "% in empty declaration" + msgid "% in friend declaration" + msgstr "boş bildirimde %" + +-#: cp/decl.cc:13750 ++#: cp/decl.cc:13740 + #, fuzzy, gcc-internal-format + #| msgid "only declarations of constructors can be %" + msgid "only declarations of constructors and conversion operators can be %" + msgstr "sadece kurucuların bildirimleri % olabilir" + +-#: cp/decl.cc:13760 ++#: cp/decl.cc:13750 + #, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "üye olmayan %qs, % olarak bildirilemez" + +-#: cp/decl.cc:13767 ++#: cp/decl.cc:13757 + #, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "nesne olmayan üye %qs % olarak bildirilemez" + +-#: cp/decl.cc:13773 ++#: cp/decl.cc:13763 + #, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "işlev %qs % olarak bildirilemez" + +-#: cp/decl.cc:13779 ++#: cp/decl.cc:13769 + #, fuzzy, gcc-internal-format + #| msgid "static %qs cannot be declared %" + msgid "% %qs cannot be declared %" + msgstr "static %qs % olarak bildirilemez" + +-#: cp/decl.cc:13785 ++#: cp/decl.cc:13775 + #, fuzzy, gcc-internal-format + #| msgid "const %qs cannot be declared %" + msgid "% %qs cannot be declared %" + msgstr "sabit %qs % olarak bildirilemez" + +-#: cp/decl.cc:13791 ++#: cp/decl.cc:13781 + #, fuzzy, gcc-internal-format + #| msgid "function %qs cannot be declared %" + msgid "reference %qs cannot be declared %" + msgstr "işlev %qs % olarak bildirilemez" + +-#: cp/decl.cc:13807 ++#: cp/decl.cc:13797 + #, fuzzy, gcc-internal-format + #| msgid "new types may not be defined in a return type" + msgid "typedef may not be a function definition" + msgstr "new türleri bir dönüş türünde tanımlanamayabilir" + +-#: cp/decl.cc:13810 ++#: cp/decl.cc:13800 + #, fuzzy, gcc-internal-format + #| msgid "new types may not be defined in a return type" + msgid "typedef may not be a member function definition" + msgstr "new türleri bir dönüş türünde tanımlanamayabilir" + +-#: cp/decl.cc:13836 ++#: cp/decl.cc:13826 + #, fuzzy, gcc-internal-format + #| msgid "% in empty declaration" + msgid "% not allowed in alias declaration" + msgstr "boş bildirimde %" + +-#: cp/decl.cc:13839 ++#: cp/decl.cc:13829 + #, fuzzy, gcc-internal-format + #| msgid "typedef %q+D declared %" + msgid "typedef declared %" + msgstr "% bildirimli typedef %q+D" + +-#: cp/decl.cc:13844 ++#: cp/decl.cc:13834 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "" + +-#: cp/decl.cc:13848 ++#: cp/decl.cc:13838 + #, fuzzy, gcc-internal-format + #| msgid "%Jtypedef name may not be a nested-name-specifier" + msgid "typedef name may not be a nested-name-specifier" + msgstr "%Jtypedef ismi bir iç içe isimli belirteç olmayabilir" + +-#: cp/decl.cc:13874 ++#: cp/decl.cc:13864 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "ISO C++ kapsayan sınıf ile aynı isimde yuvalanmış %qD türüne izin vermez" + +-#: cp/decl.cc:13963 ++#: cp/decl.cc:13953 + #, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "kardeş sınıf bildirimi için % belirtilmiş" + +-#: cp/decl.cc:13971 ++#: cp/decl.cc:13961 + #, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "şablon parametreleri kardeş olamazlar" + +-#: cp/decl.cc:13973 ++#: cp/decl.cc:13963 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "friend bildirimi sınıf anahtarı gerektirir, % gibi" + +-#: cp/decl.cc:13977 ++#: cp/decl.cc:13967 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "friend bildirimi % gibi bir sınıf anahtarı gerektirir" + +-#: cp/decl.cc:13990 ++#: cp/decl.cc:13980 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "sınıf %qT genel bağlamın kardeşi yapılmaya çalışılıyor" + +-#: cp/decl.cc:14010 ++#: cp/decl.cc:14000 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "üye olmayan işlev türünde niteleyiciler geçersiz" + +-#: cp/decl.cc:14014 ++#: cp/decl.cc:14004 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "" + +-#: cp/decl.cc:14024 ++#: cp/decl.cc:14014 + #, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "mutlak bildirimci %qT bildirim olarak kullanılmış" + +-#: cp/decl.cc:14039 ++#: cp/decl.cc:14029 + #, fuzzy, gcc-internal-format + #| msgid "invalid cast to function type %qT" + msgid "requires-clause on declaration of non-function type %qT" + msgstr "%qT işlev türüne dönüşüm geçersiz" + +-#: cp/decl.cc:14058 ++#: cp/decl.cc:14048 + #, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "parametre bildiriminde %<::%> kullanılamaz" + +-#: cp/decl.cc:14067 cp/parser.cc:20247 ++#: cp/decl.cc:14057 cp/parser.cc:20247 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare parameter %q+D to be of abstract type %qT" + msgid "cannot declare a parameter with %" + msgstr "parametre %q+D soyut %qT türünde bildirilemez" + +-#: cp/decl.cc:14074 ++#: cp/decl.cc:14064 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "" + +-#: cp/decl.cc:14077 ++#: cp/decl.cc:14067 + #, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "" + +-#: cp/decl.cc:14083 ++#: cp/decl.cc:14073 + #, fuzzy, gcc-internal-format + #| msgid "% may not be used in this context" + msgid "% parameter not permitted in this context" + msgstr "bu kapsamda % kullanılamaz" + +-#: cp/decl.cc:14086 ++#: cp/decl.cc:14076 + #, fuzzy, gcc-internal-format + #| msgid "parameter %q+D declared %" + msgid "parameter declared %" + msgstr "% bildirimli %q+D parametresi" + +-#: cp/decl.cc:14137 cp/parser.cc:3561 ++#: cp/decl.cc:14127 cp/parser.cc:3561 + #, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "bir argüman listesi olmaksızın %qE şablon isminin kullanımı geçersiz" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14131 + #, fuzzy, gcc-internal-format + #| msgid "static member %qD declared %" + msgid "non-static data member declared with placeholder %qT" + msgstr "statik üye %qD % olarak bildirilmiş" + +-#: cp/decl.cc:14162 ++#: cp/decl.cc:14152 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids zero-size array %qD" + msgid "ISO C++ forbids flexible array member %qs" + msgstr "ISO C++ da sıfır boyutlu %qD dizisi yasaktır" + +-#: cp/decl.cc:14165 ++#: cp/decl.cc:14155 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 does not support flexible array members" + msgid "ISO C++ forbids flexible array members" + msgstr "ISO C90 esnek dizi üyelerini desteklemez" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14181 ++#: cp/decl.cc:14171 + #, gcc-internal-format + msgid "invalid use of %<::%>" + msgstr "%<::%> kullanımı geçersiz" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14192 + #, fuzzy, gcc-internal-format + #| msgid "declaration of C function %q#D conflicts with" + msgid "declaration of function %qD in invalid context" + msgstr "C işlevi %q#D bildirimi" + +-#: cp/decl.cc:14212 ++#: cp/decl.cc:14202 + #, fuzzy, gcc-internal-format + #| msgid "function %qD declared virtual inside a union" + msgid "function %qD declared % inside a union" + msgstr "işlev %qD bir union içinde virtual olarak bildirilmiş" + +-#: cp/decl.cc:14222 ++#: cp/decl.cc:14212 + #, fuzzy, gcc-internal-format + #| msgid "%qD cannot be declared virtual, since it is always static" + msgid "%qD cannot be declared %, since it is always static" + msgstr "%qD daima static olduğundan sanal olarak bildirilemez" + +-#: cp/decl.cc:14236 ++#: cp/decl.cc:14226 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "yıkıcı %qD için kardeş bildiriminde nitelikli isim umuluyordu" + +-#: cp/decl.cc:14243 ++#: cp/decl.cc:14233 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as member of %qT" + msgstr "%2$qT üyesi olarak %1$qD bildirimi" + +-#: cp/decl.cc:14250 cp/decl.cc:14263 ++#: cp/decl.cc:14240 cp/decl.cc:14253 + #, fuzzy, gcc-internal-format + #| msgid "Constructor can't be %s" + msgid "a destructor cannot be %qs" + msgstr "Kurucu %s olmayabilir" + +-#: cp/decl.cc:14269 ++#: cp/decl.cc:14259 + #, fuzzy, gcc-internal-format + #| msgid "expected qualified name in friend declaration for destructor %qD" + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "yıkıcı %qD için kardeş bildiriminde nitelikli isim umuluyordu" + +-#: cp/decl.cc:14278 ++#: cp/decl.cc:14268 + #, fuzzy, gcc-internal-format + #| msgid "Constructor can't be %s" + msgid "a constructor cannot be %" + msgstr "Kurucu %s olmayabilir" + +-#: cp/decl.cc:14284 ++#: cp/decl.cc:14274 + #, fuzzy, gcc-internal-format + #| msgid "constructor cannot be static member function" + msgid "a concept cannot be a member function" + msgstr "kurucu bir statik üye işlev olamaz" + +-#: cp/decl.cc:14292 cp/decl.cc:14634 ++#: cp/decl.cc:14282 cp/decl.cc:14624 + #, fuzzy, gcc-internal-format + #| msgid "cannot open %s" + msgid "%qD cannot be %qs" + msgstr "%s açılamıyor" + +-#: cp/decl.cc:14301 ++#: cp/decl.cc:14291 + #, fuzzy, gcc-internal-format + #| msgid "specialization of implicitly-declared special member function" + msgid "specialization of variable template %qD declared as function" + msgstr "örtük bildirimli özel üye işlev özelleştirmesi" + +-#: cp/decl.cc:14304 ++#: cp/decl.cc:14294 + #, fuzzy, gcc-internal-format + #| msgid "variable or field declared void" + msgid "variable template declared here" + msgstr "void bildirimli değişken ya da alan" + +-#: cp/decl.cc:14366 ++#: cp/decl.cc:14356 + #, fuzzy, gcc-internal-format + #| msgid "field %qD has incomplete type" + msgid "field %qD has incomplete type %qT" + msgstr "%qD alanı içi boş türde" + +-#: cp/decl.cc:14371 ++#: cp/decl.cc:14361 + #, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "%qT ismi içi boş türde" + +-#: cp/decl.cc:14391 ++#: cp/decl.cc:14381 + #, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "%qE ne işlev ne de üye işlev; friend olarak bildirilemez" + +-#: cp/decl.cc:14394 ++#: cp/decl.cc:14384 + #, fuzzy, gcc-internal-format + #| msgid "%qE is neither function nor member function; cannot be declared friend" + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "%qE ne işlev ne de üye işlev; friend olarak bildirilemez" + +-#: cp/decl.cc:14412 cp/parser.cc:20814 cp/parser.cc:27391 ++#: cp/decl.cc:14402 cp/parser.cc:20814 cp/parser.cc:27391 + #, gcc-internal-format + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "" + +-#: cp/decl.cc:14453 cp/decl.cc:14464 ++#: cp/decl.cc:14443 cp/decl.cc:14454 + #, fuzzy, gcc-internal-format + #| msgid "static member %qD declared %" + msgid "static data member %qE declared %qs" + msgstr "statik üye %qD % olarak bildirilmiş" + +-#: cp/decl.cc:14458 ++#: cp/decl.cc:14448 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic '%s' at %L cannot have an initializer" + msgid "% static data member %qD must have an initializer" + msgstr "Yerleşik '%s' %L'de bir ilklendiriciye sahip olamaz" + +-#: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 ++#: cp/decl.cc:14491 cp/decl.cc:14499 cp/decl.cc:14506 cp/decl.cc:14513 + #, fuzzy, gcc-internal-format + #| msgid "static member %qD declared %" + msgid "non-static data member %qE declared %qs" + msgstr "statik üye %qD % olarak bildirilmiş" + +-#: cp/decl.cc:14575 ++#: cp/decl.cc:14565 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "saklama sınıfı % %qs işlevi için geçersiz" + +-#: cp/decl.cc:14578 ++#: cp/decl.cc:14568 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "saklama sınıfı % %qs işlevi için geçersiz" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14574 + #, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "saklama sınıfı %<__thread%> %qs işlevi için geçersiz" + +-#: cp/decl.cc:14588 ++#: cp/decl.cc:14578 + #, fuzzy, gcc-internal-format + #| msgid "storage class %<__thread%> invalid for function %qs" + msgid "storage class % invalid for function %qs" + msgstr "saklama sınıfı %<__thread%> %qs işlevi için geçersiz" + +-#: cp/decl.cc:14593 ++#: cp/decl.cc:14583 + #, fuzzy, gcc-internal-format + #| msgid "an asm-specification is not allowed on a function-definition" + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "bir işlev tanımında bir asm belirtimine izin verilmez" + +-#: cp/decl.cc:14605 ++#: cp/decl.cc:14595 + #, fuzzy, gcc-internal-format + #| msgid "% specified invalid for function %qs declared out of global scope" + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "genel kapsam dışında bildirilen %qs işlevi için % belirteci geçersiz" + +-#: cp/decl.cc:14609 ++#: cp/decl.cc:14599 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "genel kapsam dışında bildirilen %qs işlevi için % belirteci geçersiz" + +-#: cp/decl.cc:14617 ++#: cp/decl.cc:14607 + #, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "sınıf olmayan sanal işlev %qs" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14614 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored on non-class types" + msgid "%qs defined in a non-class scope" + msgstr "%qE özniteliği sınıf türleri dışında yoksayılır" + +-#: cp/decl.cc:14625 ++#: cp/decl.cc:14615 + #, fuzzy, gcc-internal-format + #| msgid "%qD was not declared in this scope" + msgid "%qs declared in a non-class scope" + msgstr "%qD bu etki alanında bildirilmemiş" + +-#: cp/decl.cc:14668 ++#: cp/decl.cc:14658 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "üye işlev %qD static ilintilemeli olarak bildirilemez" + +-#: cp/decl.cc:14677 ++#: cp/decl.cc:14667 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "statik işlev başka bir işlevin içinde bildirilemez" + +-#: cp/decl.cc:14718 ++#: cp/decl.cc:14708 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "bir statik veri üyesi tanımlarken (bildirime zit olarak) % kullanılamayabilir" + +-#: cp/decl.cc:14725 ++#: cp/decl.cc:14715 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "statik üye %qD % olarak bildirilmiş" + +-#: cp/decl.cc:14731 ++#: cp/decl.cc:14721 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "üye %q#D harici ilintilemeli olarak doğrudan bildirilemez" + +-#: cp/decl.cc:14739 ++#: cp/decl.cc:14729 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %q#D outside of class is not definition" + msgid "declaration of % variable %qD is not a definition" + msgstr "sınıf dışında %q#D bildirimi bir tanım değildir" + +-#: cp/decl.cc:14746 ++#: cp/decl.cc:14736 + #, fuzzy, gcc-internal-format + #| msgid "non-member %qs cannot be declared %" + msgid "a variable cannot be declared %" + msgstr "üye olmayan %qs, % olarak bildirilemez" + +-#: cp/decl.cc:14778 ++#: cp/decl.cc:14768 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "%qs ilklendirilmiş ve % bildirilmiş" + +-#: cp/decl.cc:14783 ++#: cp/decl.cc:14773 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "%qs hem % olarak bildirilmiş hem de ilklendrilmiş" + +-#: cp/decl.cc:14980 ++#: cp/decl.cc:14970 + #, fuzzy, gcc-internal-format + #| msgid "default argument %qE uses local variable %qD" + msgid "default argument %qE uses %qD" + msgstr "öntanımlı argüman %qE %qD yerel değişkenini kullanıyor" + +-#: cp/decl.cc:14983 ++#: cp/decl.cc:14973 + #, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "öntanımlı argüman %qE %qD yerel değişkenini kullanıyor" + +-#: cp/decl.cc:15110 ++#: cp/decl.cc:15100 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of % in template declaration of %q#D" + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "% kullanımı %q#D şablon bildiriminde geçersiz" + +-#: cp/decl.cc:15114 ++#: cp/decl.cc:15104 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of % in template declaration of %q#D" + msgid "invalid use of type % in parameter declaration" + msgstr "% kullanımı %q#D şablon bildiriminde geçersiz" + +-#: cp/decl.cc:15143 ++#: cp/decl.cc:15133 + #, fuzzy, gcc-internal-format + #| msgid "invalid parameter type %qT" + msgid "%-qualified parameter is deprecated" + msgstr "geçersiz parametre türü %qT" + +-#: cp/decl.cc:15151 ++#: cp/decl.cc:15141 + #, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "parametre %qD geçersiz olarak yöntem türünde bildirilmiş" + +-#: cp/decl.cc:15176 ++#: cp/decl.cc:15166 + #, fuzzy, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "parametre %1$qD bilinmeyen sınırlı %3$qT dizisine %2$s içeriyor" + +-#: cp/decl.cc:15178 ++#: cp/decl.cc:15168 + #, fuzzy, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "parametre %1$qD bilinmeyen sınırlı %3$qT dizisine %2$s içeriyor" + +-#: cp/decl.cc:15437 ++#: cp/decl.cc:15427 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "kurucu geçersiz; muhtemelen %<%T (const %T&)%> anlamında kullandınız" + +-#: cp/decl.cc:15516 ++#: cp/decl.cc:15506 + #, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "%qD bir isim alanı içinde bildirilemeyebilir" + +-#: cp/decl.cc:15523 ++#: cp/decl.cc:15513 + #, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "%qD static olarak bildirilemeyebilir" + +-#: cp/decl.cc:15551 ++#: cp/decl.cc:15541 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be a nonstatic member function" + msgid "%qD must be a non-static member function" + msgstr "%qD static olmayan bir üye işlev olmalıdır" + +-#: cp/decl.cc:15559 ++#: cp/decl.cc:15549 + #, fuzzy, gcc-internal-format + #| msgid "%qD must be a nonstatic member function" + msgid "%qD must be a member function" + msgstr "%qD static olmayan bir üye işlev olmalıdır" + +-#: cp/decl.cc:15567 ++#: cp/decl.cc:15557 + #, gcc-internal-format + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "" + +-#: cp/decl.cc:15577 ++#: cp/decl.cc:15567 + #, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "%qD ya bir statik olmayan üye işlev ya da üye olmayan işlev olmalıdır" + +-#: cp/decl.cc:15587 ++#: cp/decl.cc:15577 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "%qD ya bir sınıf argümanına sahip olmalı ya da enum türünde olmalı" + + #. 13.4.0.3 +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15608 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ prohibits overloading operator ?:" + msgid "ISO C++ prohibits overloading %" + msgstr "ISO C++ ?: üç terimlisinin aşırı yüklenmesini yasaklar" + +-#: cp/decl.cc:15628 ++#: cp/decl.cc:15618 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "%qD değişken sayıda argümana sahip olmamalı" + +-#: cp/decl.cc:15654 ++#: cp/decl.cc:15644 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take either zero or one argument" + msgid "%qD must have either zero or one argument" + msgstr "%qD ya hiç argüman almamalı ya da bir argüman almalı" + +-#: cp/decl.cc:15655 ++#: cp/decl.cc:15645 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take either one or two arguments" + msgid "%qD must have either one or two arguments" + msgstr "%qD ya bir ya da iki argüman almalı" + +-#: cp/decl.cc:15667 ++#: cp/decl.cc:15657 + #, fuzzy, gcc-internal-format + #| msgid "postfix %qD must take % as its argument" + msgid "postfix %qD must have % as its argument" + msgstr "sonek %qD argüman olarak % almalı" + +-#: cp/decl.cc:15668 ++#: cp/decl.cc:15658 + #, fuzzy, gcc-internal-format + #| msgid "postfix %qD must take % as its second argument" + msgid "postfix %qD must have % as its second argument" + msgstr "sonek %qD ikinci argümanı olarak % almalı" + +-#: cp/decl.cc:15679 ++#: cp/decl.cc:15669 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly two arguments" + msgid "%qD must have no arguments" + msgstr "%qD sadece ve sadece iki argüman almalı" + +-#: cp/decl.cc:15680 cp/decl.cc:15690 ++#: cp/decl.cc:15670 cp/decl.cc:15680 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly one argument" + msgid "%qD must have exactly one argument" + msgstr "%qD sadece ve sadece bir argüman almalı" + +-#: cp/decl.cc:15691 ++#: cp/decl.cc:15681 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly two arguments" + msgid "%qD must have exactly two arguments" + msgstr "%qD sadece ve sadece iki argüman almalı" + +-#: cp/decl.cc:15706 ++#: cp/decl.cc:15696 + #, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "%qD öntanımlı argümanlara sahip olamaz" + +-#: cp/decl.cc:15730 ++#: cp/decl.cc:15720 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to % will never use a type conversion operator" + msgstr "%s%s'ya dönüşüm asla bir tür dönüşüm işleci kullanmayacak" + +-#: cp/decl.cc:15737 ++#: cp/decl.cc:15727 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "%s%s'ya dönüşüm asla bir tür dönüşüm işleci kullanmayacak" + +-#: cp/decl.cc:15739 ++#: cp/decl.cc:15729 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "%s%s'ya dönüşüm asla bir tür dönüşüm işleci kullanmayacak" + +-#: cp/decl.cc:15748 ++#: cp/decl.cc:15738 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "%s%s'ya dönüşüm asla bir tür dönüşüm işleci kullanmayacak" + +-#: cp/decl.cc:15750 ++#: cp/decl.cc:15740 + #, fuzzy, gcc-internal-format + #| msgid "conversion to %s%s will never use a type conversion operator" + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "%s%s'ya dönüşüm asla bir tür dönüşüm işleci kullanmayacak" + +-#: cp/decl.cc:15766 ++#: cp/decl.cc:15756 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "kullanıcı tanımlı %qD daima her iki argümanıyla birlikte değerlendirilir" + +-#: cp/decl.cc:15785 ++#: cp/decl.cc:15775 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "önek %qD %qT döndürmeli" + +-#: cp/decl.cc:15792 ++#: cp/decl.cc:15782 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "sonek %qD %qT döndürmeli" + +-#: cp/decl.cc:15804 ++#: cp/decl.cc:15794 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "%qD değeriyle döndürülmeli" + +-#: cp/decl.cc:15859 ++#: cp/decl.cc:15849 + #, fuzzy, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "%2$qs sonrası şablon türü %1$qT parametresi kullanımı" + +-#: cp/decl.cc:15882 ++#: cp/decl.cc:15872 + #, fuzzy, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "%2$q+D için şablon özelleştirmesi %1$qD belirsiz" + +-#: cp/decl.cc:15885 ++#: cp/decl.cc:15875 + #, fuzzy, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "%2$qs sonrası typedef-ismi %1$qD kullanımı" + +-#: cp/decl.cc:15887 ++#: cp/decl.cc:15877 + #, fuzzy, gcc-internal-format + #| msgid "%q+D has a previous declaration here" + msgid "%qD has a previous declaration here" + msgstr "%q+D için burada önceki bir bildirim var" + +-#: cp/decl.cc:15895 ++#: cp/decl.cc:15885 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "%qT türüne %qs olarak başvuruluyor" + +-#: cp/decl.cc:15896 cp/decl.cc:15903 ++#: cp/decl.cc:15886 cp/decl.cc:15893 + #, fuzzy, gcc-internal-format + #| msgid "%q+T has a previous declaration here" + msgid "%qT has a previous declaration here" + msgstr "%q+T için burada önceki bir bildirim var" + +-#: cp/decl.cc:15902 ++#: cp/decl.cc:15892 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "%qT türüne enum olarak başvuruluyor" +@@ -60950,116 +60939,116 @@ msgstr "%qT türüne enum olarak başvuruluyor" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:15917 ++#: cp/decl.cc:15907 + #, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "%<%s %T%> için şablon argüman gerekli" + +-#: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ++#: cp/decl.cc:15950 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 + #: cp/parser.cc:7054 cp/parser.cc:31408 + #, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "%qD ile ilişkilendirme belirsiz" + +-#: cp/decl.cc:15969 ++#: cp/decl.cc:15959 + #, fuzzy, gcc-internal-format + #| msgid "non-template %qD used as template" + msgid "class template %qD redeclared as non-template" + msgstr "şablon olarak şablon olmayan %qD kullanılmış" + +-#: cp/decl.cc:15991 cp/name-lookup.cc:5409 ++#: cp/decl.cc:15981 cp/name-lookup.cc:5409 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "%qD bildirildiği sınıf ile aynı isimde" + +-#: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ++#: cp/decl.cc:16009 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 + #: cp/pt.cc:9836 + #, gcc-internal-format + msgid "%qT is not a template" + msgstr "%qT bir şablon değil" + +-#: cp/decl.cc:16024 ++#: cp/decl.cc:16014 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "" + +-#: cp/decl.cc:16129 ++#: cp/decl.cc:16119 + #, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "önceden bildirim olmaksızın enum %q#D kullanımı" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16145 + #, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "bir şablon olmayan olarak yeniden %qT bildirimi" + +-#: cp/decl.cc:16166 cp/semantics.cc:3548 ++#: cp/decl.cc:16156 cp/semantics.cc:3548 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %qD to be a bit-field type" + msgid "cannot declare %qD in a different module" + msgstr "%qD bir bit alanı türü olarak bildirilemez" + +-#: cp/decl.cc:16282 ++#: cp/decl.cc:16272 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "türetilmiş union %qT geçersiz" + +-#: cp/decl.cc:16289 ++#: cp/decl.cc:16279 + #, fuzzy, gcc-internal-format + #| msgid "%qD is already defined in the class %qT" + msgid "%qT defined with multiple direct bases" + msgstr "%qD zaten sınıf %qT içinde tanımlı" + +-#: cp/decl.cc:16300 ++#: cp/decl.cc:16290 + #, fuzzy, gcc-internal-format + #| msgid "type %qT is not a direct or virtual base of %qT" + msgid "%qT defined with direct virtual base" + msgstr "%qT türü bir doğrudan ya da dolaylı %qT tabanı değil" + +-#: cp/decl.cc:16325 ++#: cp/decl.cc:16315 + #, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "taban tür %qT bir yapı veya sınıf türü olarak hatalı" + +-#: cp/decl.cc:16355 ++#: cp/decl.cc:16345 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "ardışık tür %qT tanımsız" + +-#: cp/decl.cc:16357 ++#: cp/decl.cc:16347 + #, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "yinelenmiş taban türü %qT geçersiz" + +-#: cp/decl.cc:16502 ++#: cp/decl.cc:16492 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 ++#: cp/decl.cc:16495 cp/decl.cc:16503 cp/decl.cc:16513 cp/decl.cc:17112 + #: cp/parser.cc:21163 + #, fuzzy, gcc-internal-format + #| msgid "%Jprevious definition here" + msgid "previous definition here" + msgstr "%Jönceden burada tanımlı" + +-#: cp/decl.cc:16510 ++#: cp/decl.cc:16500 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16520 ++#: cp/decl.cc:16510 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "" + +-#: cp/decl.cc:16531 ++#: cp/decl.cc:16521 + #, fuzzy, gcc-internal-format + #| msgid "specialization of %qD in different namespace" + msgid "cannot define %qD in different module" + msgstr "farklı isim alanında %qD özelleştirmesi" + +-#: cp/decl.cc:16606 ++#: cp/decl.cc:16596 + #, fuzzy, gcc-internal-format + msgid "underlying type %qT of %qT must be an integral type" + msgstr "%2$qE işlevinin %1$d. argümanına uyumsuz gösterici türünde aktarım" +@@ -61068,91 +61057,91 @@ msgstr "%2$qE işlevinin %1$d. argümanına uyumsuz gösterici türünde aktarı + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:16755 ++#: cp/decl.cc:16745 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "%qT için simgesel sabit değerlerinin tamamını hiçbir tümleyen tür temsil edemez" + +-#: cp/decl.cc:16930 ++#: cp/decl.cc:16920 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value for %qE is not an integer constant" + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "%qE için sembolik sabit değeri bir tamsayı sabit değil" + +-#: cp/decl.cc:16940 ++#: cp/decl.cc:16930 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value for %qE is not an integer constant" + msgid "enumerator value for %qD is not an integer constant" + msgstr "%qE için sembolik sabit değeri bir tamsayı sabit değil" + +-#: cp/decl.cc:16989 ++#: cp/decl.cc:16979 + #, fuzzy, gcc-internal-format + #| msgid "ISO C restricts enumerator values to range of %" + msgid "incremented enumerator value is too large for %" + msgstr "ISO C sembolik sabit grubunun değerlerini % kapsamında sınırlar" + +-#: cp/decl.cc:16990 ++#: cp/decl.cc:16980 + #, fuzzy, gcc-internal-format + #| msgid "ISO C restricts enumerator values to range of %" + msgid "incremented enumerator value is too large for %" + msgstr "ISO C sembolik sabit grubunun değerlerini % kapsamında sınırlar" + +-#: cp/decl.cc:17001 ++#: cp/decl.cc:16991 + #, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "%qD'de simgesel sabit değerlerinde taşma" + +-#: cp/decl.cc:17021 ++#: cp/decl.cc:17011 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value for %qE is not an integer constant" + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "%qE için sembolik sabit değeri bir tamsayı sabit değil" + +-#: cp/decl.cc:17120 cp/parser.cc:21161 ++#: cp/decl.cc:17110 cp/parser.cc:21161 + #, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "çok sayıda %q#T tanımı" + +-#: cp/decl.cc:17194 ++#: cp/decl.cc:17184 + #, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "dönüş türü %q#T bir içi boş türdür" + +-#: cp/decl.cc:17354 cp/typeck.cc:11114 ++#: cp/decl.cc:17344 cp/typeck.cc:11114 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "%, %<*this%> için bir başvuru döndürmeli" + +-#: cp/decl.cc:18167 ++#: cp/decl.cc:18157 + #, fuzzy, gcc-internal-format + #| msgid "no return statement in function returning non-void" + msgid "no return statements in function returning %qT" + msgstr "void olmayan dönüşlü işlevde `return' deyimi yok" + +-#: cp/decl.cc:18169 cp/typeck.cc:10994 ++#: cp/decl.cc:18159 cp/typeck.cc:10994 + #, fuzzy, gcc-internal-format + #| msgid "function return types not compatible due to %" + msgid "only plain % return type can be deduced to %" + msgstr "işlevin dönüş türü % den dolayı uyumsuz" + +-#: cp/decl.cc:18231 ++#: cp/decl.cc:18221 + #, fuzzy, gcc-internal-format + #| msgid "no return statement in function returning non-void" + msgid "no return statement in % function returning non-void" + msgstr "void olmayan dönüşlü işlevde `return' deyimi yok" + +-#: cp/decl.cc:18424 ++#: cp/decl.cc:18414 + #, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "%qD zaten %qT sınıfında tanımlı" + +-#: cp/decl.cc:18812 ++#: cp/decl.cc:18802 + #, fuzzy, gcc-internal-format + #| msgid "%J%s %<%c%s%>" + msgid "using %qs" + msgstr "%J%s %<%c%s%>" + +-#: cp/decl.cc:18824 ++#: cp/decl.cc:18814 + #, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "" +@@ -62063,7 +62052,7 @@ msgstr "%qT türü bir doğrudan ya da dolaylı %qT tabanı değil" + msgid "type %qT is not a direct base of %qT" + msgstr "%qT türü bir doğrudan %qT tabanı değil" + +-#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 ++#: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1359 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "" +@@ -63205,7 +63194,7 @@ msgstr "sınıf bağlamında üye olmayan için using bildirimi" + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/name-lookup.cc:5596 cp/pt.cc:18911 ++#: cp/name-lookup.cc:5596 cp/pt.cc:18903 + #, fuzzy, gcc-internal-format + #| msgid "%qT is not a class or namespace" + msgid "%qT is not a class, namespace, or enumeration" +@@ -64039,7 +64028,7 @@ msgstr "new türleri bir dönüş türünde tanımlanamayabilir" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "%qs özniteliği için belirtilen argüman sayısı yanlış" + +-#: cp/parser.cc:7573 cp/pt.cc:21227 ++#: cp/parser.cc:7573 cp/pt.cc:21219 + #, fuzzy, gcc-internal-format + #| msgid "wrong type argument to bit-complement" + msgid "wrong number of arguments to %<__builtin_launder%>" +@@ -64806,13 +64795,13 @@ msgstr "temel ilklendiricileri sadece kurucular alır" + msgid "cannot expand initializer for member %qD" + msgstr "uye %qD için ilklendirici eksik" + +-#: cp/parser.cc:16950 cp/pt.cc:27456 ++#: cp/parser.cc:16950 cp/pt.cc:27453 + #, fuzzy, gcc-internal-format + #| msgid "static declaration of %q+D follows non-static declaration" + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "%q+D statik bildirimi statik olmayan bildirimi izliyor" + +-#: cp/parser.cc:16962 cp/pt.cc:27468 ++#: cp/parser.cc:16962 cp/pt.cc:27465 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "" +@@ -65481,7 +65470,7 @@ msgstr "%q#D için öntanımlı argüman %qT türünde" + msgid "%qT not permitted in template argument" + msgstr "new türleri bir dönüş türünde tanımlanamayabilir" + +-#: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 ++#: cp/parser.cc:24463 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474 + #: rust/backend/rust-tree.cc:3861 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %qD" +@@ -66449,7 +66438,7 @@ msgstr "" + msgid "% clause with parameter on range-based % loop" + msgstr "" + +-#: cp/parser.cc:43799 cp/pt.cc:18559 ++#: cp/parser.cc:43799 cp/pt.cc:18551 + #, fuzzy, gcc-internal-format + #| msgid "register variable %qD used in nested function" + msgid "iteration variable %qD should not be reduction" +@@ -67560,7 +67549,7 @@ msgstr "şablon olarak şablon olmayan tür %qT kullanılmış" + msgid "for template declaration %q+D" + msgstr "%q+D şablon bildirimi için" + +-#: cp/pt.cc:9983 cp/pt.cc:22188 ++#: cp/pt.cc:9983 cp/pt.cc:22180 + #, fuzzy, gcc-internal-format + #| msgid "ambiguous class template instantiation for %q#T" + msgid "template constraint failure for %qD" +@@ -67661,299 +67650,299 @@ msgstr "bir dizi döndüren işlev" + msgid "function returning a function" + msgstr "bir işlev döndüren işlev" + +-#: cp/pt.cc:16363 ++#: cp/pt.cc:16362 + #, gcc-internal-format + msgid "forming reference to void" + msgstr "void'e referans oluşturuluyor" + +-#: cp/pt.cc:16365 ++#: cp/pt.cc:16364 + #, fuzzy, gcc-internal-format + #| msgid "forming %s to reference type %qT" + msgid "forming pointer to reference type %qT" + msgstr "%s %qT referans türünde şekilleniyor" + +-#: cp/pt.cc:16367 ++#: cp/pt.cc:16366 + #, fuzzy, gcc-internal-format + #| msgid "forming %s to reference type %qT" + msgid "forming reference to reference type %qT" + msgstr "%s %qT referans türünde şekilleniyor" + +-#: cp/pt.cc:16380 ++#: cp/pt.cc:16379 + #, fuzzy, gcc-internal-format + msgid "forming pointer to qualified function type %qT" + msgstr "%2$qT işlev türüne ekli %1$qV niteleyicileri yoksayılıyor" + +-#: cp/pt.cc:16383 ++#: cp/pt.cc:16382 + #, fuzzy, gcc-internal-format + msgid "forming reference to qualified function type %qT" + msgstr "%2$qT işlev türüne ekli %1$qV niteleyicileri yoksayılıyor" + +-#: cp/pt.cc:16431 ++#: cp/pt.cc:16430 + #, gcc-internal-format + msgid "creating pointer to member of non-class type %qT" + msgstr "sınıf olmayan %qT türünde üye göstericisi oluşturulması" + +-#: cp/pt.cc:16437 ++#: cp/pt.cc:16436 + #, gcc-internal-format + msgid "creating pointer to member reference type %qT" + msgstr "%qT üye referans türünde gösterici oluşturulması" + +-#: cp/pt.cc:16443 ++#: cp/pt.cc:16442 + #, gcc-internal-format + msgid "creating pointer to member of type void" + msgstr "void türünde üyeye gösterici oluşturulması" + +-#: cp/pt.cc:16509 ++#: cp/pt.cc:16508 + #, gcc-internal-format + msgid "creating array of %qT" + msgstr "%qT dizisi oluşturulması" + +-#: cp/pt.cc:16546 ++#: cp/pt.cc:16545 + #, gcc-internal-format + msgid "%qD is instantiated for an empty pack" + msgstr "" + +-#: cp/pt.cc:16567 ++#: cp/pt.cc:16566 + #, gcc-internal-format + msgid "%qT is not a class, struct, or union type" + msgstr "%qT ne bir class, ne struct, ne de union türünde" + +-#: cp/pt.cc:16607 ++#: cp/pt.cc:16599 + #, gcc-internal-format + msgid "%qT resolves to %qT, which is not an enumeration type" + msgstr "%qT bir enum türü olmayan %qT türüne çözümleniyor" + +-#: cp/pt.cc:16615 ++#: cp/pt.cc:16607 + #, fuzzy, gcc-internal-format + #| msgid "%qT resolves to %qT, which is is not a class type" + msgid "%qT resolves to %qT, which is not a class type" + msgstr "%qT bir sınıf türü olmayan %qT türüne çözümleniyor" + +-#: cp/pt.cc:16728 ++#: cp/pt.cc:16720 + #, gcc-internal-format + msgid "use of %qs in template" + msgstr "şablonda %qs kullanımı" + +-#: cp/pt.cc:17038 ++#: cp/pt.cc:17030 + #, fuzzy, gcc-internal-format + #| msgid "qualified type %qT does not match destructor name ~%qT" + msgid "qualifying type %qT does not match destructor name ~%qT" + msgstr "yetkin tür %qT, yıkıcı ismi ~%qT ile eslesmiyor" + +-#: cp/pt.cc:17053 ++#: cp/pt.cc:17045 + #, gcc-internal-format + msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" + msgstr "%qE bağımlı ismi bir tür olarak çözümlenmedi ama örneklenim onun bir tür olmasını istiyor" + +-#: cp/pt.cc:17055 ++#: cp/pt.cc:17047 + #, gcc-internal-format + msgid "say % if a type is meant" + msgstr "eğer bu bir tür anlamındaysa % deyin" + +-#: cp/pt.cc:17148 ++#: cp/pt.cc:17140 + #, fuzzy, gcc-internal-format + #| msgid "initializer element is not constant" + msgid "initializer for %q#D expands to an empty list of expressions" + msgstr "ilklendirici öğe bir sabit değil" + +-#: cp/pt.cc:17339 ++#: cp/pt.cc:17331 + #, gcc-internal-format + msgid "using invalid field %qD" + msgstr "geçersiz alan %qD kullanımı" + +-#: cp/pt.cc:17872 cp/pt.cc:19859 ++#: cp/pt.cc:17864 cp/pt.cc:19851 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of void expression" + msgid "invalid use of pack expansion expression" + msgstr "void ifade kullanımı geçersiz" + +-#: cp/pt.cc:17876 cp/pt.cc:19863 ++#: cp/pt.cc:17868 cp/pt.cc:19855 + #, fuzzy, gcc-internal-format + #| msgid "%<...%> as arguments.)" + msgid "use %<...%> to expand argument pack" + msgstr "%<...%> kabul edeceği varsayılacak.)" + +-#: cp/pt.cc:20000 ++#: cp/pt.cc:19992 + #, gcc-internal-format + msgid "empty initializer in lambda init-capture" + msgstr "" + +-#: cp/pt.cc:21142 ++#: cp/pt.cc:21134 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" + msgstr "" + +-#: cp/pt.cc:21177 ++#: cp/pt.cc:21169 + #, gcc-internal-format + msgid "declarations in dependent base %qT are not found by unqualified lookup" + msgstr "" + +-#: cp/pt.cc:21182 ++#: cp/pt.cc:21174 + #, gcc-internal-format + msgid "use %%D%> instead" + msgstr "" + +-#: cp/pt.cc:21185 ++#: cp/pt.cc:21177 + #, fuzzy, gcc-internal-format + #| msgid "%<%T::%D%> is not a type" + msgid "use %<%T::%D%> instead" + msgstr "%<%T::%D%> bir tür değil" + +-#: cp/pt.cc:21190 ++#: cp/pt.cc:21182 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared inline after its definition" + msgid "%qD declared here, later in the translation unit" + msgstr "%q+D tanımlandıktan sonra satıriçi bildirilmiş" + +-#: cp/pt.cc:21241 ++#: cp/pt.cc:21233 + #, fuzzy, gcc-internal-format + #| msgid "first argument to %<__builtin_choose_expr%> not a constant" + msgid "wrong number of arguments to %<__builtin_convertvector%>" + msgstr "%<__builtin_choose_expr%> için ilk argüman bir sabit değil" + +-#: cp/pt.cc:21268 ++#: cp/pt.cc:21260 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for %qs attribute" + msgid "wrong number of arguments to % attribute" + msgstr "%qs özniteliği için belirtilen argüman sayısı yanlış" + +-#: cp/pt.cc:21504 ++#: cp/pt.cc:21496 + #, gcc-internal-format + msgid "%qT is not a class or namespace" + msgstr "%qT bir sınıf ya da isim alanı değil" + +-#: cp/pt.cc:21507 ++#: cp/pt.cc:21499 + #, gcc-internal-format + msgid "%qD is not a class or namespace" + msgstr "%qD ne bir sınıf ne de isim alanı" + +-#: cp/pt.cc:21857 ++#: cp/pt.cc:21849 + #, fuzzy, gcc-internal-format + #| msgid "%qT is/uses anonymous type" + msgid "%qT is/uses unnamed type" + msgstr "%qT anonim türdür/tür kullanır" + +-#: cp/pt.cc:21859 ++#: cp/pt.cc:21851 + #, fuzzy, gcc-internal-format + #| msgid "default argument for %q#D has type %qT" + msgid "template argument for %qD uses local type %qT" + msgstr "%q#D için öntanımlı argüman %qT türünde" + +-#: cp/pt.cc:21869 ++#: cp/pt.cc:21861 + #, gcc-internal-format + msgid "%qT is a variably modified type" + msgstr "%qT değişkene göre değişen türde" + +-#: cp/pt.cc:21884 ++#: cp/pt.cc:21876 + #, gcc-internal-format + msgid "integral expression %qE is not constant" + msgstr "bütünleyen ifade %qE bir sabit değil" + +-#: cp/pt.cc:21902 ++#: cp/pt.cc:21894 + #, gcc-internal-format + msgid " trying to instantiate %qD" + msgstr " %qD örneklenmeye çalışılıyor" + +-#: cp/pt.cc:26135 ++#: cp/pt.cc:26132 + #, fuzzy, gcc-internal-format + #| msgid "ambiguous class template instantiation for %q#T" + msgid "ambiguous template instantiation for %q#T" + msgstr "%q#T için sınıf şablonu örneklenimi belirsiz" + +-#: cp/pt.cc:26137 ++#: cp/pt.cc:26134 + #, fuzzy, gcc-internal-format + #| msgid "ambiguous class template instantiation for %q#T" + msgid "ambiguous template instantiation for %q#D" + msgstr "%q#T için sınıf şablonu örneklenimi belirsiz" + +-#: cp/pt.cc:26143 ++#: cp/pt.cc:26140 + #, fuzzy + #| msgid "%s %+#D" + msgid "%s %#qS" + msgstr "%s %+#D" + +-#: cp/pt.cc:26167 cp/pt.cc:26262 ++#: cp/pt.cc:26164 cp/pt.cc:26259 + #, gcc-internal-format + msgid "explicit instantiation of non-template %q#D" + msgstr "şablon olmayan %q#D'nin doğrudan örneklenimi" + +-#: cp/pt.cc:26173 ++#: cp/pt.cc:26170 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template %q#D" + msgid "explicit instantiation of variable concept %q#D" + msgstr "şablon olmayan %q#D'nin doğrudan örneklenimi" + +-#: cp/pt.cc:26175 ++#: cp/pt.cc:26172 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template %q#D" + msgid "explicit instantiation of function concept %q#D" + msgstr "şablon olmayan %q#D'nin doğrudan örneklenimi" + +-#: cp/pt.cc:26194 ++#: cp/pt.cc:26191 + #, fuzzy, gcc-internal-format + #| msgid "%q#D is not a non-static data member of %qT" + msgid "%qD is not a static data member of a class template" + msgstr "%q#D %qT'nin bir static olmayan üyesi değildir" + +-#: cp/pt.cc:26200 cp/pt.cc:26257 ++#: cp/pt.cc:26197 cp/pt.cc:26254 + #, gcc-internal-format + msgid "no matching template for %qD found" + msgstr "%qD için eşleşen bir şablon yok" + +-#: cp/pt.cc:26205 ++#: cp/pt.cc:26202 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template type %qT" + msgid "type %qT for explicit instantiation %qD does not match declared type %qT" + msgstr "şablon olmayan tür %qT'nin doğrudan örneklenimi" + +-#: cp/pt.cc:26213 ++#: cp/pt.cc:26210 + #, gcc-internal-format + msgid "explicit instantiation of %q#D" + msgstr "%q#D'nin doğrudan örneklenimi" + +-#: cp/pt.cc:26249 ++#: cp/pt.cc:26246 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#D" + msgstr "yinelenmiş doğrudan %q#D örneklenimi" + +-#: cp/pt.cc:26272 cp/pt.cc:26339 ++#: cp/pt.cc:26269 cp/pt.cc:26336 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids the use of % on explicit instantiations" + msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" + msgstr "ISO C++ doğrudan örneklenimlerde % kullanımına izin vermez" + +-#: cp/pt.cc:26277 cp/pt.cc:26354 ++#: cp/pt.cc:26274 cp/pt.cc:26351 + #, gcc-internal-format + msgid "storage class %qD applied to template instantiation" + msgstr "saklama sınıfı %qD şablon örneklenimine uygulanmış" + +-#: cp/pt.cc:26311 ++#: cp/pt.cc:26308 + #, fuzzy, gcc-internal-format + #| msgid "explicit instantiation of non-template %q#D" + msgid "explicit instantiation of non-class template %qD" + msgstr "şablon olmayan %q#D'nin doğrudan örneklenimi" + +-#: cp/pt.cc:26314 ++#: cp/pt.cc:26311 + #, gcc-internal-format + msgid "explicit instantiation of non-template type %qT" + msgstr "şablon olmayan tür %qT'nin doğrudan örneklenimi" + +-#: cp/pt.cc:26323 ++#: cp/pt.cc:26320 + #, gcc-internal-format + msgid "explicit instantiation of %q#T before definition of template" + msgstr "şablon tanımından önce %q#T'nin doğrudan örneklenimi" + +-#: cp/pt.cc:26344 ++#: cp/pt.cc:26341 + #, gcc-internal-format + msgid "ISO C++ forbids the use of %qE on explicit instantiations" + msgstr "ISO C++ doğrudan örneklenimlerde %qE kullanımına izin vermez" + +-#: cp/pt.cc:26384 ++#: cp/pt.cc:26381 + #, gcc-internal-format + msgid "duplicate explicit instantiation of %q#T" + msgstr "yinelenmiş doğrudan %q#T örneklenimi" + +-#: cp/pt.cc:26694 ++#: cp/pt.cc:26691 + #, fuzzy, gcc-internal-format + #| msgid "explicit specialization of %qD after first use" + msgid "exception specification of %qD depends on itself" +@@ -67966,182 +67955,182 @@ msgstr "ilk kullanımdan sonra %D'nin açıkça özelleştirilmesi" + #. member function or static data member of a class template + #. shall be present in every translation unit in which it is + #. explicitly instantiated. +-#: cp/pt.cc:27186 ++#: cp/pt.cc:27183 + #, gcc-internal-format + msgid "explicit instantiation of %qD but no definition available" + msgstr "bir tanımlama olmadan %qD'nin doğrudan örneklenimi" + +-#: cp/pt.cc:27233 ++#: cp/pt.cc:27230 + #, fuzzy, gcc-internal-format + #| msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth-NN to increase the maximum)" + msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" + msgstr "%d lik azami şablon örneklenim derinliği %q+D örnekleniminde aşılıyor (azami değeri arttırmak için -ftemplate-depth-NN kullanın)" + +-#: cp/pt.cc:27603 ++#: cp/pt.cc:27600 + #, gcc-internal-format + msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27633 ++#: cp/pt.cc:27630 + #, fuzzy, gcc-internal-format + #| msgid "%q#T is not a valid type for a template constant parameter" + msgid "%qT is not a valid type for a template non-type parameter because it is not structural" + msgstr "%q#T bir şablon sabiti parametresi için geçerli bir tür değildir" + +-#: cp/pt.cc:27642 ++#: cp/pt.cc:27639 + #, gcc-internal-format + msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:27650 ++#: cp/pt.cc:27647 + #, fuzzy, gcc-internal-format + #| msgid "invalid catch parameter" + msgid "invalid template non-type parameter" + msgstr "yakalama parametresi geçersiz" + +-#: cp/pt.cc:27652 ++#: cp/pt.cc:27649 + #, fuzzy, gcc-internal-format + #| msgid "%q#T is not a valid type for a template constant parameter" + msgid "%q#T is not a valid type for a template non-type parameter" + msgstr "%q#T bir şablon sabiti parametresi için geçerli bir tür değildir" + +-#: cp/pt.cc:29080 ++#: cp/pt.cc:29077 + #, fuzzy, gcc-internal-format + #| msgid "keyword % not allowed outside of templates" + msgid "keyword % not allowed in declarator-id" + msgstr "şablonlar dışında % kullanımına izin verilmez" + +-#: cp/pt.cc:29370 ++#: cp/pt.cc:29367 + #, fuzzy, gcc-internal-format + #| msgid "union cannot be made transparent" + msgid "a concept cannot be constrained" + msgstr "birleşik yapı şeffaf olamaz" + +-#: cp/pt.cc:29379 ++#: cp/pt.cc:29376 + #, fuzzy, gcc-internal-format + #| msgid "%qT is not a namespace" + msgid "concept %qE not in namespace scope" + msgstr "%qT bir isim alanı değil" + +-#: cp/pt.cc:29385 ++#: cp/pt.cc:29382 + #, fuzzy, gcc-internal-format + #| msgid "definition of %q#T inside template parameter list" + msgid "concept %qE has multiple template parameter lists" + msgstr "şablon parametre listesi içinde %q#T tanımı" + +-#: cp/pt.cc:29416 ++#: cp/pt.cc:29413 + #, gcc-internal-format + msgid "deducing from brace-enclosed initializer list requires %<#include %>" + msgstr "" + +-#: cp/pt.cc:30564 ++#: cp/pt.cc:30561 + #, fuzzy, gcc-internal-format + #| msgid "%qD used without template parameters" + msgid "non-deducible template %qT used without template arguments" + msgstr "%qD şablon parametreleri olmaksızın kullanılmış" + +-#: cp/pt.cc:30576 ++#: cp/pt.cc:30573 + #, gcc-internal-format + msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/pt.cc:30582 ++#: cp/pt.cc:30579 + #, fuzzy, gcc-internal-format + #| msgid "use #include instead" + msgid "use %qD directly instead" + msgstr "yerine #include kullanın" + +-#: cp/pt.cc:30693 ++#: cp/pt.cc:30690 + #, gcc-internal-format + msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" + msgstr "" + +-#: cp/pt.cc:30700 ++#: cp/pt.cc:30697 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage" + msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" + msgstr "%qE %qT türü için geçerli bir şablon argümanı değil çünkü %qD nesnesi için harici ilintileme yok" + +-#: cp/pt.cc:30712 ++#: cp/pt.cc:30709 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "class template argument deduction failed:" + msgstr "%d. şablon argümanı geçersiz" + +-#: cp/pt.cc:30715 ++#: cp/pt.cc:30712 + #, fuzzy, gcc-internal-format + #| msgid "function not considered for inlining" + msgid "explicit deduction guides not considered for copy-initialization" + msgstr "işlev satıriçine alınma sırasında görmezden gelinir" + + #. TODO: Pass down location from cp_finish_decl. +-#: cp/pt.cc:30729 ++#: cp/pt.cc:30726 + #, gcc-internal-format + msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" + msgstr "" + +-#: cp/pt.cc:30733 ++#: cp/pt.cc:30730 + #, fuzzy, gcc-internal-format + #| msgid "%q+#D previously declared here" + msgid "explicit deduction guide declared here" + msgstr "%q+#D evvelce burada bildirilmiş" + +-#: cp/pt.cc:30747 ++#: cp/pt.cc:30744 + #, gcc-internal-format + msgid "%qT may not intend to support class template argument deduction" + msgstr "" + +-#: cp/pt.cc:30749 ++#: cp/pt.cc:30746 + #, gcc-internal-format + msgid "add a deduction guide to suppress this warning" + msgstr "" + +-#: cp/pt.cc:30860 ++#: cp/pt.cc:30857 + #, gcc-internal-format + msgid "direct-list-initialization of % requires exactly one element" + msgstr "" + +-#: cp/pt.cc:30863 ++#: cp/pt.cc:30860 + #, gcc-internal-format + msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" + msgstr "" + +-#: cp/pt.cc:30942 ++#: cp/pt.cc:30939 + #, fuzzy, gcc-internal-format + #| msgid "invalid covariant return type for %q+#D" + msgid "unable to deduce lambda return type from %qE" + msgstr "%q+#D için ortak değişen dönüş türü geçersiz" + +-#: cp/pt.cc:30945 ++#: cp/pt.cc:30942 + #, fuzzy, gcc-internal-format + #| msgid "unable to emulate %qs" + msgid "unable to deduce %qT from %qE" + msgstr "%qs öykünümü mümkün değil" + +-#: cp/pt.cc:31020 ++#: cp/pt.cc:31017 + #, gcc-internal-format + msgid "placeholder constraints not satisfied" + msgstr "" + +-#: cp/pt.cc:31024 ++#: cp/pt.cc:31021 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced initializer does not satisfy placeholder constraints" + msgstr "komut kendi kısıtlarını gözönüne almıyor:" + +-#: cp/pt.cc:31028 ++#: cp/pt.cc:31025 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced return type does not satisfy placeholder constraints" + msgstr "komut kendi kısıtlarını gözönüne almıyor:" + +-#: cp/pt.cc:31032 ++#: cp/pt.cc:31029 + #, fuzzy, gcc-internal-format + #| msgid "insn does not satisfy its constraints:" + msgid "deduced expression type does not satisfy placeholder constraints" + msgstr "komut kendi kısıtlarını gözönüne almıyor:" + +-#: cp/pt.cc:31172 ++#: cp/pt.cc:31169 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of % in template declaration of %q#D" + msgid "invalid use of %qT in template argument" +@@ -68483,7 +68472,7 @@ msgstr "taban sınıf belirtimi geçersiz" + msgid "cannot capture member %qD of anonymous union" + msgstr "anonim union içinde protected üye %q+#D" + +-#: cp/semantics.cc:4002 cp/semantics.cc:12399 ++#: cp/semantics.cc:4002 cp/semantics.cc:12394 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a template" + msgid "%qD is not captured" +@@ -68934,30 +68923,30 @@ msgstr "%<__builtin_next_arg%> argümansız çağrılmış" + msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member" + msgstr "" + +-#: cp/semantics.cc:12227 ++#: cp/semantics.cc:12222 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a template" + msgid "%qD is not a class or alias template" + msgstr "%qE bir şablon değil" + +-#: cp/semantics.cc:12438 ++#: cp/semantics.cc:12433 + #, fuzzy, gcc-internal-format + #| msgid "left-hand operand of comma expression has no effect" + msgid "operand of fold expression has no unexpanded parameter packs" + msgstr "virgüllü ifadenin sol terimi etkisiz" + +-#: cp/semantics.cc:12497 ++#: cp/semantics.cc:12492 + #, fuzzy, gcc-internal-format + #| msgid "template argument %qE involves template parameter(s)" + msgid "both arguments in binary fold have unexpanded parameter packs" + msgstr "şablon argümanı %qE şablon parametre(ler)ini içine alıyor" + +-#: cp/semantics.cc:12499 ++#: cp/semantics.cc:12494 + #, gcc-internal-format + msgid "no unexpanded parameter packs in binary fold" + msgstr "" + +-#: cp/semantics.cc:12517 ++#: cp/semantics.cc:12512 + #, fuzzy, gcc-internal-format + #| msgid "unsupported argument to %<__builtin_return_address%>" + msgid "non-pointer argument to %<__builtin_launder%>" +@@ -68966,22 +68955,22 @@ msgstr "%<__builtin_return_address%>'e aktarılan argüman desteklenmiyor" + #. std::bit_cast for destination ARRAY_TYPE is not possible, + #. as functions may not return an array, so don't bother trying + #. to support this (and then deal with VLAs etc.). +-#: cp/semantics.cc:12566 ++#: cp/semantics.cc:12561 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is an array type" + msgstr "" + +-#: cp/semantics.cc:12572 ++#: cp/semantics.cc:12567 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12599 ++#: cp/semantics.cc:12594 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable" + msgstr "" + +-#: cp/semantics.cc:12607 ++#: cp/semantics.cc:12602 + #, gcc-internal-format + msgid "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE" + msgstr "" +@@ -70374,247 +70363,247 @@ msgstr "%q#D yeniden bildirimi" + msgid "declaration of %q#T" + msgstr "%q#D yeniden bildirimi" + +-#: cp/typeck2.cc:314 ++#: cp/typeck2.cc:318 + #, fuzzy, gcc-internal-format + #| msgid "%qD has incomplete type" + msgid "%qD has incomplete type" + msgstr "%qD içi boş türde" + +-#: cp/typeck2.cc:328 ++#: cp/typeck2.cc:332 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of incomplete typedef %qD" + msgid "invalid use of incomplete type %q#T" + msgstr "tamamlanmamış typedef %qD kullanımı geçersiz" + +-#: cp/typeck2.cc:365 rust/backend/rust-tree.cc:3888 ++#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3888 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of non-static member function %qD" + msgid "invalid use of member function %qD (did you forget the %<()%> ?)" + msgstr "static olmayan üye işlev %qD kullanımı geçersiz" + +-#: cp/typeck2.cc:370 rust/backend/rust-tree.cc:3894 ++#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3894 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of non-static member function %qD" + msgid "invalid use of member %qD (did you forget the %<&%> ?)" + msgstr "static olmayan üye işlev %qD kullanımı geçersiz" + +-#: cp/typeck2.cc:380 ++#: cp/typeck2.cc:384 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %qD" + msgid "invalid use of placeholder %qT" + msgstr "%qD kullanımı geçersiz" + +-#: cp/typeck2.cc:387 ++#: cp/typeck2.cc:391 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of incomplete typedef %qD" + msgid "invalid use of template type parameter %qT" + msgstr "tamamlanmamış typedef %qD kullanımı geçersiz" + +-#: cp/typeck2.cc:392 ++#: cp/typeck2.cc:396 + #, fuzzy, gcc-internal-format + #| msgid "invalid default argument for a template template parameter" + msgid "invalid use of template template parameter %qT" + msgstr "bir şablonun şablon parametresi için öntanımlı argüman geçersiz" + +-#: cp/typeck2.cc:398 ++#: cp/typeck2.cc:402 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of void expression" + msgid "invalid use of pack expansion %qT" + msgstr "void ifade kullanımı geçersiz" + +-#: cp/typeck2.cc:404 ++#: cp/typeck2.cc:408 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of incomplete typedef %qD" + msgid "invalid use of dependent type %qT" + msgstr "tamamlanmamış typedef %qD kullanımı geçersiz" + +-#: cp/typeck2.cc:411 rust/backend/rust-tree.cc:3904 ++#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3904 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %" + msgid "invalid use of brace-enclosed initializer list" + msgstr "% kullanımı geçersiz" + +-#: cp/typeck2.cc:419 rust/backend/rust-tree.cc:3912 ++#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3912 + #, gcc-internal-format + msgid "address of overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3917 ++#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3917 + #, gcc-internal-format + msgid "overloaded function with no contextual type information" + msgstr "" + +-#: cp/typeck2.cc:426 rust/backend/rust-tree.cc:3921 ++#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3921 + #, gcc-internal-format + msgid "insufficient contextual information to determine type" + msgstr "" + +-#: cp/typeck2.cc:812 ++#: cp/typeck2.cc:814 + #, gcc-internal-format + msgid "constructor syntax used, but no constructor declared for type %qT" + msgstr "kurucu sözdizimi kullanılmış ama %qT türü için kurucu bildirilmemiş" + +-#: cp/typeck2.cc:885 ++#: cp/typeck2.cc:887 + #, fuzzy, gcc-internal-format + #| msgid "interface %qE does not have valid constant string layout" + msgid "% variable %qD does not have a constant initializer" + msgstr "%qE arayüzü geçerli sabit dizge yerleşimi içermiyor" + +-#: cp/typeck2.cc:1064 ++#: cp/typeck2.cc:1066 + #, fuzzy + #| msgid "conversion of %qE from %qT to %qT is ambiguous" + msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" + msgstr "%qE ifadesinin %qT türünden %qT türüne dönüşümü belirsiz" + +-#: cp/typeck2.cc:1076 cp/typeck2.cc:1090 ++#: cp/typeck2.cc:1078 cp/typeck2.cc:1092 + #, fuzzy + #| msgid "conversion of %qE from %qT to %qT is ambiguous" + msgid "narrowing conversion of %qE from %qH to %qI" + msgstr "%qE ifadesinin %qT türünden %qT türüne dönüşümü belirsiz" + +-#: cp/typeck2.cc:1079 ++#: cp/typeck2.cc:1081 + #, fuzzy, gcc-internal-format + #| msgid "size of array is not an integral constant-expression" + msgid " the expression has a constant value but is not a C++ constant-expression" + msgstr "dizi boyutu bir tümleyen sabit ifadesi değil" + +-#: cp/typeck2.cc:1254 ++#: cp/typeck2.cc:1256 + #, fuzzy, gcc-internal-format + #| msgid "initializer-string for array of chars is too long" + msgid "initializer-string for %qT is too long" + msgstr "karakter dizisi için dizge ilklendirici çok uzun" + +-#: cp/typeck2.cc:1317 ++#: cp/typeck2.cc:1319 + #, gcc-internal-format + msgid "initializing a base class of type %qT results in object slicing" + msgstr "" + +-#: cp/typeck2.cc:1319 ++#: cp/typeck2.cc:1321 + #, fuzzy, gcc-internal-format + #| msgid "braces around scalar initializer" + msgid "remove %<{ }%> around initializer" + msgstr "skalar ilklendiriciyi kuşatan parantezler" + +-#: cp/typeck2.cc:1339 ++#: cp/typeck2.cc:1341 + #, gcc-internal-format + msgid "cannot initialize aggregate of type %qT with a compound literal" + msgstr "bir bileşik sabitli %qT türündeki küme ilklendirilemez" + +-#: cp/typeck2.cc:1823 cp/typeck2.cc:1853 ++#: cp/typeck2.cc:1825 cp/typeck2.cc:1855 + #, gcc-internal-format + msgid "missing initializer for member %qD" + msgstr "uye %qD için ilklendirici eksik" + +-#: cp/typeck2.cc:1830 ++#: cp/typeck2.cc:1832 + #, gcc-internal-format + msgid "member %qD is uninitialized reference" + msgstr "uye %qD ilklendirilmemiş referanstir" + +-#: cp/typeck2.cc:1837 ++#: cp/typeck2.cc:1839 + #, fuzzy, gcc-internal-format + #| msgid "member %qD is uninitialized reference" + msgid "member %qD with uninitialized reference fields" + msgstr "uye %qD ilklendirilmemiş referanstir" + +-#: cp/typeck2.cc:1922 ++#: cp/typeck2.cc:1924 + #, fuzzy, gcc-internal-format + #| msgid "template-id %qD for %q+D does not match any template declaration" + msgid "designator order for field %qD does not match declaration order in %qT" + msgstr "şablon kimliği %qD %q+D için hiçbir şablon bildirimi ile eşleşmiyor" + +-#: cp/typeck2.cc:1995 ++#: cp/typeck2.cc:1997 + #, gcc-internal-format + msgid "no field %qD found in union being initialized" + msgstr "ilklendirilen union içinde %qD diye bir alan yok" + +-#: cp/typeck2.cc:2006 ++#: cp/typeck2.cc:2008 + #, gcc-internal-format + msgid "index value instead of field name in union initializer" + msgstr "birlesik yapı ilklendiricideki alan isminin yerine index değeri" + +-#: cp/typeck2.cc:2222 ++#: cp/typeck2.cc:2224 + #, gcc-internal-format + msgid "circular pointer delegation detected" + msgstr "döngüsel gösterici görevlendirmesi saptandi" + +-#: cp/typeck2.cc:2236 ++#: cp/typeck2.cc:2238 + #, gcc-internal-format + msgid "base operand of %<->%> has non-pointer type %qT" + msgstr "%<->%> için taban terim gösterici olmayan %qT türünde" + +-#: cp/typeck2.cc:2266 ++#: cp/typeck2.cc:2268 + #, gcc-internal-format + msgid "result of %()%> yields non-pointer result" + msgstr " %()%> gösterici olmayan sonuc veriyor" + +-#: cp/typeck2.cc:2268 ++#: cp/typeck2.cc:2270 + #, gcc-internal-format + msgid "base operand of %<->%> is not a pointer" + msgstr "%<->%> için taban terim bir gösterici değil" + +-#: cp/typeck2.cc:2295 ++#: cp/typeck2.cc:2297 + #, gcc-internal-format + msgid "%qE cannot be used as a member pointer, since it is of type %qT" + msgstr "%qE bir üye göstericisi olarak kullanilamaz, cunku %qT türünde" + +-#: cp/typeck2.cc:2304 ++#: cp/typeck2.cc:2306 + #, fuzzy, gcc-internal-format + #| msgid "cannot apply member pointer %qE to %qE, which is of non-aggregate type %qT" + msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" + msgstr "uye göstericisi %qE %qE'ye kümeleme türü olmayan %qT türünde uygulanamaz" + +-#: cp/typeck2.cc:2326 ++#: cp/typeck2.cc:2328 + #, gcc-internal-format + msgid "pointer to member type %qT incompatible with object type %qT" + msgstr "%qT üye türünde gösterici nesne türü %qT ile uyumsuz" + +-#: cp/typeck2.cc:2384 ++#: cp/typeck2.cc:2386 + #, fuzzy, gcc-internal-format + #| msgid "pointer to member function used in arithmetic" + msgid "pointer-to-member-function type %qT requires an rvalue" + msgstr "aritmetikte üye işlev göstericisi kullanılmış" + +-#: cp/typeck2.cc:2395 ++#: cp/typeck2.cc:2397 + #, fuzzy, gcc-internal-format + #| msgid "pointer to member function used in arithmetic" + msgid "pointer-to-member-function type %qT requires an lvalue" + msgstr "aritmetikte üye işlev göstericisi kullanılmış" + +-#: cp/typeck2.cc:2403 ++#: cp/typeck2.cc:2405 + #, fuzzy, gcc-internal-format + #| msgid "pointer to member function used in arithmetic" + msgid "pointer-to-member-function type %qT requires an lvalue before C++20" + msgstr "aritmetikte üye işlev göstericisi kullanılmış" + +-#: cp/typeck2.cc:2444 ++#: cp/typeck2.cc:2446 + #, fuzzy, gcc-internal-format + #| msgid "invalid cast to function type %qT" + msgid "functional cast to array type %qT" + msgstr "%qT işlev türüne dönüşüm geçersiz" + +-#: cp/typeck2.cc:2461 ++#: cp/typeck2.cc:2463 + #, fuzzy, gcc-internal-format + #| msgid "union cannot be made transparent" + msgid "% cannot be constrained" + msgstr "birleşik yapı şeffaf olamaz" + +-#: cp/typeck2.cc:2466 ++#: cp/typeck2.cc:2468 + #, gcc-internal-format + msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/typeck2.cc:2491 ++#: cp/typeck2.cc:2493 + #, fuzzy, gcc-internal-format + #| msgid "%Jdefault-initialization of %q#D, which has reference type" + msgid "invalid value-initialization of reference type" + msgstr "%Jreferans ture sahip %q#D'nin default ilklendirmesi" + +-#: cp/typeck2.cc:2732 ++#: cp/typeck2.cc:2734 + #, gcc-internal-format + msgid "call to function %qD which throws incomplete type %q#T" + msgstr "%qD işlevine çağrı (ici boş tür `%q#T' yakalanırken)" + +-#: cp/typeck2.cc:2735 ++#: cp/typeck2.cc:2737 + #, gcc-internal-format + msgid "call to function which throws incomplete type %q#T" + msgstr "ici boş tür `%q#T' yakalanırken işleve çağrı" +@@ -71640,7 +71629,7 @@ msgstr "" + msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" + msgstr "`%s' argümanı `%s' yerleşiği için %L'de bir sabit olmalı" + +-#: fortran/check.cc:123 fortran/resolve.cc:11164 ++#: fortran/check.cc:123 fortran/resolve.cc:11138 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Bad kind for logical constant at %C" + msgid "Invalid use of BOZ literal constant at %L" +@@ -72873,12 +72862,12 @@ msgstr "" + msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" + msgstr "%C'deki ilklendirme bir gösterici değişkeni için değil" + +-#: fortran/data.cc:188 fortran/resolve.cc:5236 ++#: fortran/data.cc:188 fortran/resolve.cc:5219 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L is less than one" + msgstr "%L'deki altdizge başlangıç indisi birden küçük olmalıdır" + +-#: fortran/data.cc:194 fortran/resolve.cc:5266 ++#: fortran/data.cc:194 fortran/resolve.cc:5249 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Substring end index at %L must be scalar" + msgid "Substring end index at %L exceeds the string length" +@@ -73081,7 +73070,7 @@ msgstr "%C'deki INTENT belirtimi hatalı" + msgid "deferred type parameter at %C" + msgstr "%2$qs sonrası şablon türü %1$qT parametresi kullanımı" + +-#: fortran/decl.cc:1159 fortran/resolve.cc:12952 ++#: fortran/decl.cc:1159 fortran/resolve.cc:12926 + #, gcc-internal-format, gfc-internal-format + msgid "Scalar INTEGER expression expected at %L" + msgstr "" +@@ -75305,7 +75294,7 @@ msgstr "%s'in KIND parametresi %L'de bir ilklendirme ifadesi olmalıdır" + msgid "Evaluation of nonstandard initialization expression at %L" + msgstr "Ek: %L'de standartdışı ilklendirme ifadesinin değerlenimi" + +-#: fortran/expr.cc:3001 fortran/resolve.cc:2833 ++#: fortran/expr.cc:3001 fortran/resolve.cc:2816 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' in initialization expression at %L must be an intrinsic function" + msgid "Function %qs in initialization expression at %L must be an intrinsic function" +@@ -75616,7 +75605,7 @@ msgstr "%L'deki gösterici atamasında farklı karakter uzunlukları" + msgid "Explicit interface required for component %qs at %L: %s" + msgstr "%qs sınıfı için birden fazla arabirim bildirimi" + +-#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2713 ++#: fortran/expr.cc:4215 fortran/expr.cc:4230 fortran/resolve.cc:2696 + #, fuzzy, gcc-internal-format + #| msgid "duplicate interface declaration for class %qs" + msgid "Explicit interface required for %qs at %L: %s" +@@ -75744,7 +75733,7 @@ msgstr "" + msgid "Pointer at %L in pointer assignment might outlive the pointer target" + msgstr "" + +-#: fortran/expr.cc:4621 fortran/resolve.cc:1552 ++#: fortran/expr.cc:4621 fortran/resolve.cc:1535 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Pointer initialization at %C requires '=>', not '='" + msgid "Pointer initialization target at %L must not be ALLOCATABLE" +@@ -75756,7 +75745,7 @@ msgstr "%C'deki gösterici ilklendirmesi bir '=>' gerektirir, '=' değil" + msgid "Pointer initialization target at %L must have the TARGET attribute" + msgstr "%C'deki bileşen POINTER özniteliğinde olmalı" + +-#: fortran/expr.cc:4642 fortran/resolve.cc:1558 ++#: fortran/expr.cc:4642 fortran/resolve.cc:1541 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Object '%s' at %L must have the SAVE attribute %s" + msgid "Pointer initialization target at %L must have the SAVE attribute" +@@ -75895,7 +75884,7 @@ msgid "Illegal id in copy_walk_reduction_arg" + msgstr "" + + #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496 +-#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8588 ++#: fortran/trans-array.cc:6953 fortran/trans-array.cc:8576 + #: fortran/trans-intrinsic.cc:8463 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "creating array of %qT" +@@ -76135,12 +76124,12 @@ msgstr "%L'de tanımlanmış atamanın ilk argümanı INTENT(IN) veya INTENT(INO + msgid "Second argument of defined assignment at %L must be INTENT(IN)" + msgstr "%L'de tanımlanmış atamanın ikinci argümanı INTENT(IN) olmalıdır" + +-#: fortran/interface.cc:998 fortran/resolve.cc:17775 ++#: fortran/interface.cc:998 fortran/resolve.cc:17749 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L must be INTENT(IN)" + msgstr "%L'deki işleç arayüzünün ilk argümanı INTENT(IN) olmalıdır" + +-#: fortran/interface.cc:1005 fortran/resolve.cc:17793 ++#: fortran/interface.cc:1005 fortran/resolve.cc:17767 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L must be INTENT(IN)" + msgstr "%L'deki işleç arayüzünün ikinci argümanı INTENT(IN) olmalıdır" +@@ -76265,615 +76254,615 @@ msgstr "Argüman '%s' için tür/sira uyumsuzluğu (%L'de)" + msgid "Rank mismatch between actual argument at %L and actual argument at %L (rank-%d and rank-%d)" + msgstr "Argüman '%s' için tür/sira uyumsuzluğu (%L'de)" + +-#: fortran/interface.cc:2394 ++#: fortran/interface.cc:2378 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid third argument of IBITS at %L" + msgid "Invalid procedure argument at %L" + msgstr "%L'de IBITS'in üçüncü argümanı geçersiz" + +-#: fortran/interface.cc:2402 fortran/interface.cc:2429 ++#: fortran/interface.cc:2386 fortran/interface.cc:2413 + #, fuzzy, gcc-internal-format + #| msgid "Type/rank mismatch in argument '%s' at %L" + msgid "Interface mismatch in dummy procedure %qs at %L: %s" + msgstr "Argüman '%s' için tür/sira uyumsuzluğu (%L'de)" + +-#: fortran/interface.cc:2440 ++#: fortran/interface.cc:2424 + #, gcc-internal-format + msgid "Actual argument to contiguous pointer dummy %qs at %L must be simply contiguous" + msgstr "" + +-#: fortran/interface.cc:2463 ++#: fortran/interface.cc:2447 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Type/rank mismatch in argument '%s' at %L" + msgid "Type mismatch between actual argument at %L and actual argument at %L (%s/%s)." + msgstr "Argüman '%s' için tür/sira uyumsuzluğu (%L'de)" + +-#: fortran/interface.cc:2473 ++#: fortran/interface.cc:2457 + #, fuzzy, gcc-internal-format + #| msgid "Type/rank mismatch in argument '%s' at %L" + msgid "Type mismatch in argument %qs at %L; passed %s to %s" + msgstr "Argüman '%s' için tür/sira uyumsuzluğu (%L'de)" + +-#: fortran/interface.cc:2483 ++#: fortran/interface.cc:2467 + #, gcc-internal-format + msgid "Assumed-type actual argument at %L requires that dummy argument %qs is of assumed type" + msgstr "" + +-#: fortran/interface.cc:2497 ++#: fortran/interface.cc:2481 + #, fuzzy, gcc-internal-format + #| msgid "Assumed shape array at %L must be a dummy argument" + msgid "Assumed-type actual argument at %L corresponding to assumed-rank dummy argument %qs must be assumed-shape or assumed-rank" + msgstr "Tahmini boyutlu dizi bir sözde argüman olmalı" + +-#: fortran/interface.cc:2514 ++#: fortran/interface.cc:2498 + #, fuzzy, gcc-internal-format + #| msgid "Argument of %s at %L must be of length one" + msgid "Actual argument to %qs at %L must be polymorphic" + msgstr "`%s' argümanı (%L'de) tek uzunluk olmalı" + +-#: fortran/interface.cc:2524 ++#: fortran/interface.cc:2508 + #, fuzzy, gcc-internal-format + #| msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type" + msgid "Actual argument to %qs at %L must have the same declared type" + msgstr "`%s' ve '%s' argümanları `%s' yerleşiği için (%L'de) aynı türde olmalı" + +-#: fortran/interface.cc:2539 ++#: fortran/interface.cc:2523 + #, gcc-internal-format + msgid "Actual argument to %qs at %L must be unlimited polymorphic since the formal argument is a pointer or allocatable unlimited polymorphic entity [F2008: 12.5.2.5]" + msgstr "" + +-#: fortran/interface.cc:2555 ++#: fortran/interface.cc:2539 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Actual argument to %qs at %L must be a coarray" + msgstr "`%s' için fiili argüman bir gösterici olmalı (%L'de)" + +-#: fortran/interface.cc:2577 ++#: fortran/interface.cc:2561 + #, fuzzy, gcc-internal-format + #| msgid "Type/rank mismatch in argument '%s' at %L" + msgid "Corank mismatch in argument %qs at %L (%d and %d)" + msgstr "Argüman '%s' için tür/sira uyumsuzluğu (%L'de)" + +-#: fortran/interface.cc:2595 ++#: fortran/interface.cc:2579 + #, fuzzy, gcc-internal-format + #| msgid "Argument of %s at %L must be of length one" + msgid "Actual argument to %qs at %L must be simply contiguous or an element of such an array" + msgstr "`%s' argümanı (%L'de) tek uzunluk olmalı" + +-#: fortran/interface.cc:2610 ++#: fortran/interface.cc:2594 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2625 ++#: fortran/interface.cc:2609 + #, gcc-internal-format + msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or has a EVENT_TYPE component" + msgstr "" + +-#: fortran/interface.cc:2644 ++#: fortran/interface.cc:2628 + #, gcc-internal-format + msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" + msgstr "" + +-#: fortran/interface.cc:2657 ++#: fortran/interface.cc:2641 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:2664 ++#: fortran/interface.cc:2648 + #, gcc-internal-format + msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" + msgstr "" + +-#: fortran/interface.cc:2750 ++#: fortran/interface.cc:2734 + #, gcc-internal-format + msgid "Polymorphic scalar passed to array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2761 ++#: fortran/interface.cc:2745 + #, gcc-internal-format, gfc-internal-format + msgid "Element of assumed-shape or pointer array as actual argument at %L cannot correspond to actual argument at %L" + msgstr "" + +-#: fortran/interface.cc:2766 ++#: fortran/interface.cc:2750 + #, gcc-internal-format + msgid "Element of assumed-shape or pointer array passed to array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2779 ++#: fortran/interface.cc:2763 + #, gcc-internal-format + msgid "Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:2787 ++#: fortran/interface.cc:2771 + #, gcc-internal-format + msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3175 ++#: fortran/interface.cc:3159 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Keyword argument %qs at %L is invalid in a statement function" + msgstr "Anahtar kelime argümanı '%s' (%L'de) yordam içinde değil" + +-#: fortran/interface.cc:3198 ++#: fortran/interface.cc:3182 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?" + msgstr "Anahtar kelime argümanı '%s' (%L'de) yordam içinde değil" + +-#: fortran/interface.cc:3202 ++#: fortran/interface.cc:3186 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Keyword argument %qs at %L is not in the procedure" + msgstr "Anahtar kelime argümanı '%s' (%L'de) yordam içinde değil" + +-#: fortran/interface.cc:3211 ++#: fortran/interface.cc:3195 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is already associated with another actual argument" + msgid "Keyword argument %qs at %L is already associated with another actual argument" + msgstr "Anahtar sözcük argümanı '%s' (%L'de) başka bir fiili argümanla zaten ilişkili" + +-#: fortran/interface.cc:3221 ++#: fortran/interface.cc:3205 + #, gcc-internal-format, gfc-internal-format + msgid "More actual than formal arguments in procedure call at %L" + msgstr "%L'deki yordam çağrısında biçimselden daha gerçekçi argümanlar" + +-#: fortran/interface.cc:3234 ++#: fortran/interface.cc:3218 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Missing alternate return spec in subroutine call at %L" + msgid "Missing alternate return specifier in subroutine call at %L" + msgstr "%L'deki altyordam çağrısında diğer return belirtimi eksik" + +-#: fortran/interface.cc:3248 ++#: fortran/interface.cc:3232 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Unexpected alternate return spec in subroutine call at %L" + msgid "Unexpected alternate return specifier in subroutine call at %L" + msgstr "%L'deki altyordam çağrısında umulmadık diğer return belirtimi" + +-#: fortran/interface.cc:3277 ++#: fortran/interface.cc:3261 + #, gcc-internal-format + msgid "Unexpected NULL() intrinsic at %L to dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3280 ++#: fortran/interface.cc:3264 + #, gcc-internal-format + msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3306 ++#: fortran/interface.cc:3290 + #, gcc-internal-format, gfc-internal-format + msgid "Actual argument at %L to assumed-type dummy has type parameters or is of derived type with type-bound or FINAL procedures" + msgstr "" + +-#: fortran/interface.cc:3332 ++#: fortran/interface.cc:3316 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3339 ++#: fortran/interface.cc:3323 + #, gcc-internal-format + msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" + msgstr "" + +-#: fortran/interface.cc:3354 ++#: fortran/interface.cc:3338 + #, gcc-internal-format + msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" + msgstr "" + +-#: fortran/interface.cc:3373 ++#: fortran/interface.cc:3357 + #, gcc-internal-format + msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" + msgstr "" + +-#: fortran/interface.cc:3383 fortran/interface.cc:3388 ++#: fortran/interface.cc:3367 fortran/interface.cc:3372 + #, gcc-internal-format + msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" + msgstr "" + +-#: fortran/interface.cc:3409 ++#: fortran/interface.cc:3393 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected junk in formal argument list at %C" + msgid "Expected a procedure pointer for argument %qs at %L" + msgstr "%C'deki biçimsel argüman listesinde umulmadık döküntü" + +-#: fortran/interface.cc:3426 ++#: fortran/interface.cc:3410 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected junk in formal argument list at %C" + msgid "Expected a procedure for argument %qs at %L" + msgstr "%C'deki biçimsel argüman listesinde umulmadık döküntü" + +-#: fortran/interface.cc:3491 ++#: fortran/interface.cc:3475 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' cannot be an assumed-size array at %L" + msgid "Actual argument for %qs cannot be an assumed-size array at %L" + msgstr "'%s' için fiili argüman (%L'de) bir tahmini boyutlu dizi olamaz" + +-#: fortran/interface.cc:3520 ++#: fortran/interface.cc:3504 + #, gcc-internal-format + msgid "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of unknown size" + msgstr "" + +-#: fortran/interface.cc:3535 ++#: fortran/interface.cc:3519 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Actual argument for %qs at %L must be a pointer" + msgstr "`%s' için fiili argüman bir gösterici olmalı (%L'de)" + +-#: fortran/interface.cc:3544 ++#: fortran/interface.cc:3528 + #, gcc-internal-format + msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" + msgstr "" + +-#: fortran/interface.cc:3553 ++#: fortran/interface.cc:3537 + #, gcc-internal-format + msgid "Actual argument for %qs at %L must be a pointer or a valid target for the dummy pointer in a pointer assignment statement" + msgstr "" + +-#: fortran/interface.cc:3567 ++#: fortran/interface.cc:3551 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Coindexed actual argument at %L to pointer dummy %qs" + msgstr "`%s' için fiili argüman bir gösterici olmalı (%L'de)" + +-#: fortran/interface.cc:3581 ++#: fortran/interface.cc:3565 + #, gcc-internal-format + msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3596 ++#: fortran/interface.cc:3580 + #, gcc-internal-format + msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" + msgstr "" + +-#: fortran/interface.cc:3611 ++#: fortran/interface.cc:3595 + #, gcc-internal-format + msgid "Coindexed actual argument at %L with allocatable ultimate component to dummy %qs requires either VALUE or INTENT(IN)" + msgstr "" + +-#: fortran/interface.cc:3624 ++#: fortran/interface.cc:3608 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Actual CLASS array argument for %qs must be a full array at %L" + msgstr "`%s' için fiili argüman bir gösterici olmalı (%L'de)" + +-#: fortran/interface.cc:3635 ++#: fortran/interface.cc:3619 + #, fuzzy, gcc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Actual argument for %qs must be ALLOCATABLE at %L" + msgstr "`%s' için fiili argüman bir gösterici olmalı (%L'de)" + +-#: fortran/interface.cc:3672 ++#: fortran/interface.cc:3656 + #, gcc-internal-format + msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute of the dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:3692 ++#: fortran/interface.cc:3676 + #, gcc-internal-format + msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3710 ++#: fortran/interface.cc:3694 + #, gcc-internal-format + msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3731 ++#: fortran/interface.cc:3715 + #, gcc-internal-format + msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" + msgstr "" + +-#: fortran/interface.cc:3759 ++#: fortran/interface.cc:3743 + #, gcc-internal-format, gfc-internal-format + msgid "Missing alternate return spec in subroutine call at %L" + msgstr "%L'deki altyordam çağrısında diğer return belirtimi eksik" + +-#: fortran/interface.cc:3772 ++#: fortran/interface.cc:3756 + #, fuzzy, gcc-internal-format + #| msgid "Missing actual argument for argument '%s' at %L" + msgid "Missing actual argument for argument %qs at %L" + msgstr "Argüman '%s' için fiili argüman eksik (%L'de)" + +-#: fortran/interface.cc:3900 ++#: fortran/interface.cc:3884 + #, gcc-internal-format + msgid "compare_actual_expr(): Bad component code" + msgstr "" + +-#: fortran/interface.cc:3929 ++#: fortran/interface.cc:3913 + #, gcc-internal-format + msgid "check_some_aliasing(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:3955 ++#: fortran/interface.cc:3939 + #, gcc-internal-format + msgid "check_some_aliasing(): corrupted data" + msgstr "" + +-#: fortran/interface.cc:3965 ++#: fortran/interface.cc:3949 + #, fuzzy, gcc-internal-format + #| msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L" + msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" + msgstr "INTENT(%s) ile '%s' argümanı ve INTENT(%s) ile '%s' argümanı aynı fiili argüman ile ilişkilendirilmiş" + +-#: fortran/interface.cc:3995 ++#: fortran/interface.cc:3979 + #, gcc-internal-format + msgid "check_intents(): List mismatch" + msgstr "" + +-#: fortran/interface.cc:4015 ++#: fortran/interface.cc:3999 + #, gcc-internal-format, gfc-internal-format + msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute" + msgstr "%L'deki yordam argümanı bir PURE yordamına yerel olup POINTER özniteliğine sahiptir" + +-#: fortran/interface.cc:4027 ++#: fortran/interface.cc:4011 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument" + msgid "Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) argument" + msgstr "%L'deki yordam argümanı bir PURE yordamına yerel olup bir INTENT(%s) argümanına aktarılmıştır" + +-#: fortran/interface.cc:4037 ++#: fortran/interface.cc:4021 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument" + msgid "Coindexed actual argument at %L in PURE procedure is passed to a POINTER dummy argument" + msgstr "%L'deki yordam argümanı bir PURE yordamına yerel olup bir INTENT(%s) argümanına aktarılmıştır" + +-#: fortran/interface.cc:4048 ++#: fortran/interface.cc:4032 + #, gcc-internal-format + msgid "Coindexed polymorphic actual argument at %L is passed polymorphic dummy argument %qs" + msgstr "" + +-#: fortran/interface.cc:4090 ++#: fortran/interface.cc:4074 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "Procedure %qs called at %L is not explicitly declared; did you mean %qs?" + msgstr "Yordam '%s' bir örtük arayüz ile çağrılmış (%L'de)" + +-#: fortran/interface.cc:4094 fortran/interface.cc:4104 ++#: fortran/interface.cc:4078 fortran/interface.cc:4088 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "Procedure %qs called at %L is not explicitly declared" + msgstr "Yordam '%s' bir örtük arayüz ile çağrılmış (%L'de)" + +-#: fortran/interface.cc:4100 ++#: fortran/interface.cc:4084 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "Procedure %qs called with an implicit interface at %L" + msgstr "Yordam '%s' bir örtük arayüz ile çağrılmış (%L'de)" + +-#: fortran/interface.cc:4113 ++#: fortran/interface.cc:4097 + #, gcc-internal-format + msgid "The pointer object %qs at %L must have an explicit function interface or be declared as array" + msgstr "" + +-#: fortran/interface.cc:4121 ++#: fortran/interface.cc:4105 + #, gcc-internal-format + msgid "The allocatable object %qs at %L must have an explicit function interface or be declared as array" + msgstr "" + +-#: fortran/interface.cc:4129 ++#: fortran/interface.cc:4113 + #, fuzzy, gcc-internal-format + #| msgid "Allocatable array '%s' at %L must have a deferred shape" + msgid "Allocatable function %qs at %L must have an explicit function interface" + msgstr "Ayrılabilir '%s' dizisi %L'de ertelenmiş bir biçimde olmalı" + +-#: fortran/interface.cc:4146 ++#: fortran/interface.cc:4130 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "duplicate interface declaration for class %qs" + msgid "Explicit interface required for polymorphic argument at %L" + msgstr "%qs sınıfı için birden fazla arabirim bildirimi" + +-#: fortran/interface.cc:4155 ++#: fortran/interface.cc:4139 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Keyword argument requires explicit interface for procedure %qs at %L" + msgstr "Anahtar kelime argümanı '%s' (%L'de) yordam içinde değil" + +-#: fortran/interface.cc:4164 ++#: fortran/interface.cc:4148 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Symbol '%s' at %L already has an explicit interface" + msgid "Assumed-type argument %s at %L requires an explicit interface" + msgstr "'%s' simgesi %L'de zaten bir aleni arayüze sahip" + +-#: fortran/interface.cc:4179 ++#: fortran/interface.cc:4163 + #, gcc-internal-format + msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "" + +-#: fortran/interface.cc:4194 ++#: fortran/interface.cc:4178 + #, fuzzy, gcc-internal-format + #| msgid "Keyword argument '%s' at %L is not in the procedure" + msgid "Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an explicit interface for procedure %qs" + msgstr "Anahtar kelime argümanı '%s' (%L'de) yordam içinde değil" + +-#: fortran/interface.cc:4204 ++#: fortran/interface.cc:4188 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Missing arguments to %s intrinsic at %L" + msgid "MOLD argument to NULL required at %L" + msgstr "`%s' yerleşiği için (%L'de) argümanlar eksik" + +-#: fortran/interface.cc:4212 ++#: fortran/interface.cc:4196 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Symbol '%s' at %L already has an explicit interface" + msgid "Passing intrinsic NULL as actual argument at %L requires an explicit interface" + msgstr "'%s' simgesi %L'de zaten bir aleni arayüze sahip" + +-#: fortran/interface.cc:4222 ++#: fortran/interface.cc:4206 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "Assumed-rank argument requires an explicit interface at %L" + msgstr "Yordam '%s' bir örtük arayüz ile çağrılmış (%L'de)" + +-#: fortran/interface.cc:4264 ++#: fortran/interface.cc:4248 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "Procedure pointer component %qs called with an implicit interface at %L" + msgstr "Yordam '%s' bir örtük arayüz ile çağrılmış (%L'de)" + +-#: fortran/interface.cc:4275 ++#: fortran/interface.cc:4259 + #, gcc-internal-format + msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" + msgstr "" + +-#: fortran/interface.cc:4360 ++#: fortran/interface.cc:4344 + #, gcc-internal-format, gfc-internal-format + msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" + msgstr "" + +-#: fortran/interface.cc:4430 ++#: fortran/interface.cc:4414 + #, fuzzy, gcc-internal-format + #| msgid "%q+D aliased to undefined symbol %qs" + msgid "Unable to find symbol %qs" + msgstr "%q+D tanımsız %qs simgesine rumuzlu" + +-#: fortran/interface.cc:4803 ++#: fortran/interface.cc:4787 + #, fuzzy, gcc-internal-format + #| msgid "Entity '%s' at %C is already present in the interface" + msgid "Entity %qs at %L is already present in the interface" + msgstr "'%s' öğesi (%C'de) zaten arayüzde mevcut" + +-#: fortran/interface.cc:4920 ++#: fortran/interface.cc:4904 + #, gcc-internal-format + msgid "gfc_add_interface(): Bad interface type" + msgstr "" + +-#: fortran/interface.cc:5014 ++#: fortran/interface.cc:4998 + #, fuzzy, gcc-internal-format + #| msgid "Can't convert %s to %s at %L" + msgid "Cannot overwrite GENERIC %qs at %L" + msgstr "%s den %s e dönüşüm yapılamaz (%L'de)" + +-#: fortran/interface.cc:5026 ++#: fortran/interface.cc:5010 + #, gcc-internal-format + msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" + msgstr "" + +-#: fortran/interface.cc:5034 ++#: fortran/interface.cc:5018 + #, gcc-internal-format + msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" + msgstr "" + +-#: fortran/interface.cc:5042 ++#: fortran/interface.cc:5026 + #, fuzzy, gcc-internal-format + #| msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE" + msgid "%qs at %L overrides a PURE procedure and must also be PURE" + msgstr "Bir PURE yordamında içerilmiş '%s' yordamının kendisi de PURE olmalı" + +-#: fortran/interface.cc:5051 ++#: fortran/interface.cc:5035 + #, gcc-internal-format + msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" + msgstr "" + +-#: fortran/interface.cc:5057 ++#: fortran/interface.cc:5041 + #, gcc-internal-format + msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" + msgstr "" + +-#: fortran/interface.cc:5066 ++#: fortran/interface.cc:5050 + #, gcc-internal-format + msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" + msgstr "" + +-#: fortran/interface.cc:5077 ++#: fortran/interface.cc:5061 + #, gcc-internal-format + msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" + msgstr "" + +-#: fortran/interface.cc:5085 ++#: fortran/interface.cc:5069 + #, gcc-internal-format + msgid "Result mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5096 ++#: fortran/interface.cc:5080 + #, fuzzy, gcc-internal-format + #| msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE" + msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" + msgstr "Bir PURE yordamında içerilmiş '%s' yordamının kendisi de PURE olmalı" + +-#: fortran/interface.cc:5126 ++#: fortran/interface.cc:5110 + #, gcc-internal-format + msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5137 ++#: fortran/interface.cc:5121 + #, gcc-internal-format + msgid "Argument mismatch for the overriding procedure %qs at %L: %s" + msgstr "" + +-#: fortran/interface.cc:5146 ++#: fortran/interface.cc:5130 + #, gcc-internal-format + msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5155 ++#: fortran/interface.cc:5139 + #, gcc-internal-format + msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" + msgstr "" + +-#: fortran/interface.cc:5166 ++#: fortran/interface.cc:5150 + #, gcc-internal-format + msgid "%qs at %L overrides a binding with PASS and must also be PASS" + msgstr "" + +-#: fortran/interface.cc:5173 ++#: fortran/interface.cc:5157 + #, gcc-internal-format + msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" + msgstr "" + +-#: fortran/interface.cc:5194 ++#: fortran/interface.cc:5178 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s tag at %L must be of type %s" + msgid "DTIO dummy argument at %L must be of type %s" + msgstr "%s etiketi (%L'de) %s türünde olmalı" + +-#: fortran/interface.cc:5201 ++#: fortran/interface.cc:5185 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument dim at %L must be of INTEGER type" + msgid "DTIO dummy argument at %L must be of KIND = %d" + msgstr "%L'de boyut argümanı INTEGER türünde olmalı" + +-#: fortran/interface.cc:5208 ++#: fortran/interface.cc:5192 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument dim at %L must be scalar" + msgid "DTIO dummy argument at %L must be a scalar" + msgstr "%L'de boyut argümanı değişmez olmalı" + +-#: fortran/interface.cc:5212 ++#: fortran/interface.cc:5196 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument of %s at %L must be of length one" + msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY" + msgstr "`%s' argümanı (%L'de) tek uzunluk olmalı" + +-#: fortran/interface.cc:5216 ++#: fortran/interface.cc:5200 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Character-valued internal function '%s' at %L must not be assumed length" + msgid "DTIO character argument at %L must have assumed length" + msgstr "Karakter değerli iç işlev '%s' tahmini uzunlukta olmamalı (%L'de)" + +-#: fortran/interface.cc:5220 ++#: fortran/interface.cc:5204 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)" + msgid "DTIO dummy argument at %L must have INTENT %s" + msgstr "Sözde argüman '%s' (%L'de) INTENT(OUT) olamaz" + +-#: fortran/interface.cc:5278 fortran/interface.cc:5324 ++#: fortran/interface.cc:5262 fortran/interface.cc:5308 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "DATA statement at %C is not allowed in a PURE procedure" + msgid "Alternate return at %L is not permitted in a DTIO procedure" + msgstr "%C'de DATA deyimi için bir PURE işlevinde izin verilmez" + +-#: fortran/interface.cc:5290 ++#: fortran/interface.cc:5274 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' in %s at %L is neither function nor subroutine" + msgid "DTIO procedure %qs at %L must be a subroutine" + msgstr "'%s' yordamı (%s içinde, %L'de) be işlev ne de altyordam" + +-#: fortran/interface.cc:5302 ++#: fortran/interface.cc:5286 + #, fuzzy, gcc-internal-format + #| msgid "Too many arguments in call to '%s' at %L" + msgid "Too few dummy arguments in DTIO procedure %qs at %L" + msgstr "`%s' çağrısındaki argümanlar çok fazla (%L'de)" + +-#: fortran/interface.cc:5309 ++#: fortran/interface.cc:5293 + #, fuzzy, gcc-internal-format + #| msgid "Too many arguments in call to '%s' at %L" + msgid "Too many dummy arguments in DTIO procedure %qs at %L" +@@ -77080,7 +77069,7 @@ msgstr "%s den %s e dönüşüm (%L'de)" + #. Use of -fdec-char-conversions allows assignment of character data + #. to non-character variables. This not permited for nonconstant + #. strings. +-#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 ++#: fortran/intrinsic.cc:5406 fortran/resolve.cc:11113 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Can't convert %s to %s at %L" + msgid "Cannot convert %s to %s at %L" +@@ -77712,7 +77701,7 @@ msgstr "" + msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" + msgstr "" + +-#: fortran/io.cc:3431 fortran/resolve.cc:15623 ++#: fortran/io.cc:3431 fortran/resolve.cc:15597 + #, gcc-internal-format + msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" + msgstr "" +@@ -78345,7 +78334,7 @@ msgstr "" + msgid "STOP code at %L must be default integer KIND=%d" + msgstr "%C'deki Cray göstericisi bir tamsayı olmalı." + +-#: fortran/match.cc:3208 fortran/resolve.cc:12278 ++#: fortran/match.cc:3208 fortran/resolve.cc:12252 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument dim at %L must be scalar" + msgid "QUIET specifier at %L must be a scalar LOGICAL" +@@ -80386,8 +80375,8 @@ msgstr "" + msgid "ORDER clause must not be used together ORDERED at %L" + msgstr "" + +-#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 +-#: fortran/resolve.cc:12506 ++#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10924 ++#: fortran/resolve.cc:12480 + #, gcc-internal-format, gfc-internal-format + msgid "IF clause at %L requires a scalar LOGICAL expression" + msgstr "%L'deki IF deyimi bir sabit LOGICAL ifadesi gerektirir" +@@ -82519,803 +82508,791 @@ msgstr "Karakter değerli iç işlev '%s' tahmini uzunlukta olmamalı (%L'de)" + msgid "Character-valued internal function %qs at %L must not be assumed length" + msgstr "Karakter değerli iç işlev '%s' tahmini uzunlukta olmamalı (%L'de)" + +-#: fortran/resolve.cc:801 ++#: fortran/resolve.cc:800 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "inconsistent instance variable specification" + msgid "Function %s at %L has entries with mismatched array specifications" + msgstr "çeliskili gerçekleme değişkeni özelliği" + +-#: fortran/resolve.cc:812 ++#: fortran/resolve.cc:811 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "inconsistent instance variable specification" + msgid "Function %s at %L has entry %s with mismatched characteristics" + msgstr "çeliskili gerçekleme değişkeni özelliği" + +-#: fortran/resolve.cc:827 ++#: fortran/resolve.cc:826 + #, gcc-internal-format, gfc-internal-format + msgid "Function %s at %L with entries returning variables of different string lengths" + msgstr "" + +-#: fortran/resolve.cc:859 ++#: fortran/resolve.cc:853 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be an array in FUNCTION %s at %L" + msgstr "FUNCTION sonucu %s FUNCTION %s içinde bir dizi olamaz (%L'de)" + +-#: fortran/resolve.cc:863 ++#: fortran/resolve.cc:857 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be an array in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be an array in FUNCTION %s at %L" + msgstr "ENTRY sonucu %s FUNCTION %s içinde bir dizi olamaz (%L'de)" + +-#: fortran/resolve.cc:870 ++#: fortran/resolve.cc:864 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "FUNCTION sonucu %s FUNCTION %s içinde bir POINTER olamaz (%L'de)" + +-#: fortran/resolve.cc:874 ++#: fortran/resolve.cc:868 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be a POINTER in FUNCTION %s at %L" + msgstr "ENTRY sonucu %s FUNCTION %s içinde bir POINTER olamaz (%L'de)" + +-#: fortran/resolve.cc:881 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L" +-msgid "FUNCTION result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "FUNCTION sonucu %s FUNCTION %s içinde bir POINTER olamaz (%L'de)" +- +-#: fortran/resolve.cc:885 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L" +-msgid "ENTRY result %s cannot be ALLOCATABLE in FUNCTION %s at %L" +-msgstr "ENTRY sonucu %s FUNCTION %s içinde bir POINTER olamaz (%L'de)" +- +-#: fortran/resolve.cc:923 ++#: fortran/resolve.cc:906 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L" + msgid "FUNCTION result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "FUNCTION sonucu %s, %s türünde olamaz (FUNCTION %s içinde, %L'de)" + +-#: fortran/resolve.cc:928 ++#: fortran/resolve.cc:911 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L" + msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L" + msgstr "ENTFY sonucu %s, %s türünde olamaz (FUNCTION %s içinde, %L'de)" + +-#: fortran/resolve.cc:975 ++#: fortran/resolve.cc:958 + #, fuzzy, gcc-internal-format + #| msgid "Symbol '%s' at %C is already in a COMMON block" + msgid "Global entity %qs at %L cannot appear in a COMMON block at %L" + msgstr "'%s' simgesi (%C'deki) zaten bir COMMON blokundadır" + +-#: fortran/resolve.cc:979 ++#: fortran/resolve.cc:962 + #, fuzzy, gcc-internal-format + #| msgid "Symbol '%s' at %C is already in a COMMON block" + msgid "Global entity %qs at %L cannot appear in a COMMON block" + msgstr "'%s' simgesi (%C'deki) zaten bir COMMON blokundadır" + +-#: fortran/resolve.cc:989 ++#: fortran/resolve.cc:972 + #, gcc-internal-format, gfc-internal-format + msgid "COMMON block at %L" + msgstr "" + +-#: fortran/resolve.cc:996 ++#: fortran/resolve.cc:979 + #, gcc-internal-format + msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" + msgstr "" + +-#: fortran/resolve.cc:1000 ++#: fortran/resolve.cc:983 + #, gcc-internal-format + msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" + msgstr "" + +-#: fortran/resolve.cc:1007 ++#: fortran/resolve.cc:990 + #, gcc-internal-format + msgid "%qs at %L cannot appear in COMMON [F2008:C5100]" + msgstr "" + +-#: fortran/resolve.cc:1015 ++#: fortran/resolve.cc:998 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute" + msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" + msgstr "%C'de COMMON içindeki türetilmiş tür değişkeni SEQUENCE özniteliğine sahip değildir" + +-#: fortran/resolve.cc:1019 ++#: fortran/resolve.cc:1002 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute" + msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" + msgstr "%C'de COMMON içindeki türetilmiş tür değişkeni SEQUENCE özniteliğine sahip değildir" + +-#: fortran/resolve.cc:1023 ++#: fortran/resolve.cc:1006 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute" + msgid "Derived type variable %qs in COMMON at %L may not have default initializer" + msgstr "%C'de COMMON içindeki türetilmiş tür değişkeni SEQUENCE özniteliğine sahip değildir" + +-#: fortran/resolve.cc:1067 ++#: fortran/resolve.cc:1050 + #, gcc-internal-format + msgid "In Fortran 2003 COMMON %qs block at %L is a global identifier and must thus have the same binding name as the same-named COMMON block at %L: %s vs %s" + msgstr "" + +-#: fortran/resolve.cc:1081 ++#: fortran/resolve.cc:1064 + #, fuzzy, gcc-internal-format + #| msgid "Named COMMON block '%s' at %L shall be of the same size" + msgid "COMMON block %qs at %L uses the same global identifier as entity at %L" + msgstr "İsimli COMMON blok '%s' %L'de aynı boyutta olmalı" + +-#: fortran/resolve.cc:1089 ++#: fortran/resolve.cc:1072 + #, gcc-internal-format + msgid "Fortran 2008: COMMON block %qs with binding label at %L sharing the identifier with global non-COMMON-block entity at %L" + msgstr "" + +-#: fortran/resolve.cc:1111 ++#: fortran/resolve.cc:1094 + #, fuzzy, gcc-internal-format + #| msgid "Named COMMON block '%s' at %L shall be of the same size" + msgid "COMMON block at %L with binding label %qs uses the same global identifier as entity at %L" + msgstr "İsimli COMMON blok '%s' %L'de aynı boyutta olmalı" + +-#: fortran/resolve.cc:1132 ++#: fortran/resolve.cc:1115 + #, fuzzy, gcc-internal-format + #| msgid "Named COMMON block '%s' at %L shall be of the same size" + msgid "COMMON block %qs at %L is used as PARAMETER at %L" + msgstr "İsimli COMMON blok '%s' %L'de aynı boyutta olmalı" + +-#: fortran/resolve.cc:1136 ++#: fortran/resolve.cc:1119 + #, fuzzy, gcc-internal-format + #| msgid "Loop variable at %C cannot have the POINTER attribute" + msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute" + msgstr "%C'deki döngü değişkeni POINTER özniteliğinde olamaz" + +-#: fortran/resolve.cc:1140 ++#: fortran/resolve.cc:1123 + #, fuzzy, gcc-internal-format + #| msgid "Generic subroutine '%s' at %L is not an intrinsic subroutine" + msgid "COMMON block %qs at %L is also an intrinsic procedure" + msgstr "Soysal işlev '%s' (%L'de) bir yerleşik altyordam değil" + +-#: fortran/resolve.cc:1144 ++#: fortran/resolve.cc:1127 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a function result" + msgstr "" + +-#: fortran/resolve.cc:1149 ++#: fortran/resolve.cc:1132 + #, gcc-internal-format + msgid "COMMON block %qs at %L that is also a global procedure" + msgstr "" + +-#: fortran/resolve.cc:1216 ++#: fortran/resolve.cc:1199 + #, gcc-internal-format + msgid "The KIND parameter %qs in the PDT constructor at %C has no value" + msgstr "" + +-#: fortran/resolve.cc:1356 ++#: fortran/resolve.cc:1339 + #, gcc-internal-format, gfc-internal-format + msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)" + msgstr "" + +-#: fortran/resolve.cc:1377 ++#: fortran/resolve.cc:1360 + #, fuzzy, gcc-internal-format + #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s" + msgid "The element in the structure constructor at %L, for pointer component %qs, is %s but should be %s" + msgstr "%L'de türetilmiş tür kurucusundaki öğe, gösterici bileşeni '%s' için %s'tir fakat %s olmalıydı" + +-#: fortran/resolve.cc:1409 ++#: fortran/resolve.cc:1392 + #, fuzzy, gcc-internal-format + #| msgid "Different character lengths in pointer assignment at %L" + msgid "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor at %L" + msgstr "%L'deki gösterici atamasında farklı karakter uzunlukları" + +-#: fortran/resolve.cc:1454 ++#: fortran/resolve.cc:1437 + #, gcc-internal-format + msgid "The NULL in the structure constructor at %L is being applied to component %qs, which is neither a POINTER nor ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:1488 ++#: fortran/resolve.cc:1471 + #, fuzzy, gcc-internal-format + #| msgid "Too many components in structure constructor at %C" + msgid "Interface mismatch for procedure-pointer component %qs in structure constructor at %L: %s" + msgstr "%C'deki yapı kurucuda çok fazla bileşen" + +-#: fortran/resolve.cc:1507 ++#: fortran/resolve.cc:1490 + #, fuzzy, gcc-internal-format + #| msgid "Too many components in structure constructor at %C" + msgid "Bad array spec of component %qs referenced in structure constructor at %L" + msgstr "%C'deki yapı kurucuda çok fazla bileşen" + +-#: fortran/resolve.cc:1520 ++#: fortran/resolve.cc:1503 + #, fuzzy, gcc-internal-format + #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s" + msgid "The shape of component %qs in the structure constructor at %L differs from the shape of the declared component for dimension %d (%ld/%ld)" + msgstr "%L'de türetilmiş tür kurucusundaki öğe, gösterici bileşeni '%s' için %s'tir fakat %s olmalıydı" + +-#: fortran/resolve.cc:1541 ++#: fortran/resolve.cc:1524 + #, fuzzy, gcc-internal-format + #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s" + msgid "The element in the structure constructor at %L, for pointer component %qs should be a POINTER or a TARGET" + msgstr "%L'de türetilmiş tür kurucusundaki öğe, gösterici bileşeni '%s' için %s'tir fakat %s olmalıydı" + +-#: fortran/resolve.cc:1570 ++#: fortran/resolve.cc:1553 + #, fuzzy, gcc-internal-format + #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s" + msgid "Invalid expression in the structure constructor for pointer component %qs at %L in PURE procedure" + msgstr "%L'de türetilmiş tür kurucusundaki öğe, gösterici bileşeni '%s' için %s'tir fakat %s olmalıydı" + +-#: fortran/resolve.cc:1696 ++#: fortran/resolve.cc:1679 + #, fuzzy, gcc-internal-format + #| msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L." + msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" + msgstr "Son boyuttaki üst sınır tahmini boyutlu '%s' dizisine başvuru içinde görünmelidir (%L'de)." + +-#: fortran/resolve.cc:1758 ++#: fortran/resolve.cc:1741 + #, fuzzy, gcc-internal-format + #| msgid "Symbol '%s' at %L is ambiguous" + msgid "%qs at %L is ambiguous" + msgstr "'%s' simgesi (%L'de) belirsiz" + +-#: fortran/resolve.cc:1762 ++#: fortran/resolve.cc:1745 + #, fuzzy, gcc-internal-format + #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L" + msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" + msgstr "'%s' iç yordamına %L'de bir fiili argüman olarak izin verilmez." + +-#: fortran/resolve.cc:1883 ++#: fortran/resolve.cc:1866 + #, fuzzy, gcc-internal-format + #| msgid "Alternate return specifier in function '%s' at %L is not allowed" + msgid "Type specified for intrinsic function %qs at %L is ignored" + msgstr "'%s' işlevinde diğer return belirtecine %L'de izin verilmiyor" + +-#: fortran/resolve.cc:1896 ++#: fortran/resolve.cc:1879 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic '%s' at %L cannot have an initializer" + msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" + msgstr "Yerleşik '%s' %L'de bir ilklendiriciye sahip olamaz" + +-#: fortran/resolve.cc:1907 ++#: fortran/resolve.cc:1890 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic at %L does not exist" + msgid "%qs declared INTRINSIC at %L does not exist" + msgstr "%L'deki yerleşik mevcut değil" + +-#: fortran/resolve.cc:1920 ++#: fortran/resolve.cc:1903 + #, gcc-internal-format + msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." + msgstr "" + +-#: fortran/resolve.cc:1956 ++#: fortran/resolve.cc:1939 + #, gcc-internal-format + msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" + msgstr "" + +-#: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 ++#: fortran/resolve.cc:1997 fortran/resolve.cc:10433 fortran/resolve.cc:12407 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d referenced at %L is never defined" + msgstr "Yafta %d (%L'de başvurulu) hiç tanımlanmamış" + +-#: fortran/resolve.cc:2046 ++#: fortran/resolve.cc:2029 + #, fuzzy, gcc-internal-format + #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L" + msgid "Derived type %qs is used as an actual argument at %L" + msgstr "'%s' iç yordamına %L'de bir fiili argüman olarak izin verilmez." + +-#: fortran/resolve.cc:2064 ++#: fortran/resolve.cc:2047 + #, fuzzy, gcc-internal-format + #| msgid "Statement function '%s' at %L is not allowed as an actual argument" + msgid "Statement function %qs at %L is not allowed as an actual argument" + msgstr "'%s' beyan işlevine bir fiili argüman olarak izin verilmez (%L'de)" + +-#: fortran/resolve.cc:2072 ++#: fortran/resolve.cc:2055 + #, fuzzy, gcc-internal-format + #| msgid "Statement function '%s' at %L is not allowed as an actual argument" + msgid "Intrinsic %qs at %L is not allowed as an actual argument" + msgstr "'%s' beyan işlevine bir fiili argüman olarak izin verilmez (%L'de)" + +-#: fortran/resolve.cc:2079 ++#: fortran/resolve.cc:2062 + #, fuzzy, gcc-internal-format + #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L" + msgid "Internal procedure %qs is used as actual argument at %L" + msgstr "'%s' iç yordamına %L'de bir fiili argüman olarak izin verilmez." + +-#: fortran/resolve.cc:2087 ++#: fortran/resolve.cc:2070 + #, fuzzy, gcc-internal-format + #| msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L" + msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" + msgstr "ELEMENTAL INTRINSIC olmayan '%s' yordamına %L'de bir fiili argüman olarak izin verilmez" + +-#: fortran/resolve.cc:2114 ++#: fortran/resolve.cc:2097 + #, gcc-internal-format + msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:2136 ++#: fortran/resolve.cc:2119 + #, fuzzy, gcc-internal-format + #| msgid "Symbol '%s' at %L is ambiguous" + msgid "Symbol %qs at %L is ambiguous" + msgstr "'%s' simgesi (%L'de) belirsiz" + +-#: fortran/resolve.cc:2191 ++#: fortran/resolve.cc:2174 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument of INT at %L is not a valid type" + msgid "By-value argument at %L is not of numeric type" + msgstr "%L'de INT'in argümanı geçerli bir tür değil" + +-#: fortran/resolve.cc:2198 ++#: fortran/resolve.cc:2181 + #, gcc-internal-format, gfc-internal-format + msgid "By-value argument at %L cannot be an array or an array section" + msgstr "" + +-#: fortran/resolve.cc:2212 ++#: fortran/resolve.cc:2195 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "standard conversions are not allowed in this context" + msgid "By-value argument at %L is not allowed in this context" + msgstr "standart uzlaşımlara bu bağlam içinde izin verilmez" + +-#: fortran/resolve.cc:2224 ++#: fortran/resolve.cc:2207 + #, gcc-internal-format, gfc-internal-format + msgid "Passing internal procedure at %L by location not allowed" + msgstr "" + +-#: fortran/resolve.cc:2235 ++#: fortran/resolve.cc:2218 + #, fuzzy, gcc-internal-format + #| msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L" + msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" + msgstr "ELEMENTAL INTRINSIC olmayan '%s' yordamına %L'de bir fiili argüman olarak izin verilmez" + +-#: fortran/resolve.cc:2244 ++#: fortran/resolve.cc:2227 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed actual argument at %L with ultimate pointer component" + msgstr "" + +-#: fortran/resolve.cc:2391 ++#: fortran/resolve.cc:2374 + #, gcc-internal-format + msgid "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)" + msgstr "" + +-#: fortran/resolve.cc:2430 ++#: fortran/resolve.cc:2413 + #, gcc-internal-format + msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" + msgstr "" + +-#: fortran/resolve.cc:2704 ++#: fortran/resolve.cc:2687 + #, fuzzy, gcc-internal-format + msgid "Return type mismatch of function %qs at %L (%s/%s)" + msgstr "%2$qs sayacı okunurken %1$qs işlevi için kapsanma çelişkisi" + +-#: fortran/resolve.cc:2731 ++#: fortran/resolve.cc:2714 + #, fuzzy, gcc-internal-format + #| msgid "Type/rank mismatch in argument '%s' at %L" + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "Argüman '%s' için tür/sira uyumsuzluğu (%L'de)" + +-#: fortran/resolve.cc:2837 ++#: fortran/resolve.cc:2820 + #, fuzzy, gcc-internal-format + #| msgid "Unable to resolve the specific function '%s' at %L" + msgid "There is no specific function for the generic %qs at %L" + msgstr "'%s' özel işlevi (%L'de) çözümlenemiyor" + +-#: fortran/resolve.cc:2857 ++#: fortran/resolve.cc:2840 + #, fuzzy, gcc-internal-format + #| msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface" + msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" + msgstr "Soysal işlev '%s' (%L'de) belirli bir yerleşik arayüz ile uyumlu değil" + +-#: fortran/resolve.cc:2895 ++#: fortran/resolve.cc:2878 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic" + msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "İşlev '%s' (%L'de) bir INTRINSIC ama bir yerleşik ile uyumlu değil" + +-#: fortran/resolve.cc:2950 ++#: fortran/resolve.cc:2933 + #, fuzzy, gcc-internal-format + #| msgid "Unable to resolve the specific function '%s' at %L" + msgid "Unable to resolve the specific function %qs at %L" + msgstr "'%s' özel işlevi (%L'de) çözümlenemiyor" + +-#: fortran/resolve.cc:3027 ++#: fortran/resolve.cc:3010 + #, gcc-internal-format + msgid "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:3059 ++#: fortran/resolve.cc:3042 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L has no IMPLICIT type" + msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" + msgstr "'%s' işlevi (%L'de) hiç IMPLICIT tür içermiyor" + +-#: fortran/resolve.cc:3063 fortran/resolve.cc:17705 ++#: fortran/resolve.cc:3046 fortran/resolve.cc:17679 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' at %L has no IMPLICIT type" + msgid "Function %qs at %L has no IMPLICIT type" + msgstr "'%s' işlevi (%L'de) hiç IMPLICIT tür içermiyor" + +-#: fortran/resolve.cc:3187 ++#: fortran/resolve.cc:3170 + #, fuzzy, gcc-internal-format + #| msgid "Function reference to '%s' at %L is inside a FORALL block" + msgid "Reference to impure function %qs at %L inside a FORALL %s" + msgstr "'%s' için işlev başvurusu %L'de bir FORALL blokunun içindedir" + +-#: fortran/resolve.cc:3194 ++#: fortran/resolve.cc:3177 + #, gcc-internal-format + msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s" + msgstr "" + +-#: fortran/resolve.cc:3201 ++#: fortran/resolve.cc:3184 + #, fuzzy, gcc-internal-format + #| msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure" + msgid "Reference to impure function %qs at %L within a PURE procedure" + msgstr "PURE yordamının içinde dahili dosya birimi '%s' yazılamıyor (%C'de)" + +-#: fortran/resolve.cc:3268 ++#: fortran/resolve.cc:3251 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected junk after ELSE statement at %C" + msgid "Unexpected junk after %qs at %L" + msgstr "%C'deki ELSE deyiminden sonra umulmadık döküntü" + +-#: fortran/resolve.cc:3279 ++#: fortran/resolve.cc:3262 + #, fuzzy, gcc-internal-format + #| msgid "%q+D is not a function," + msgid "%qs at %L is not a function" + msgstr "%q+D bir işlev değil," + +-#: fortran/resolve.cc:3287 fortran/resolve.cc:3802 ++#: fortran/resolve.cc:3270 fortran/resolve.cc:3785 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" + msgstr "" + +-#: fortran/resolve.cc:3299 ++#: fortran/resolve.cc:3282 + #, gcc-internal-format + msgid "ABSTRACT INTERFACE %qs at %L must not have an assumed character length result (F2008: C418)" + msgstr "" + + #. Internal procedures are taken care of in resolve_contained_fntype. +-#: fortran/resolve.cc:3342 ++#: fortran/resolve.cc:3325 + #, fuzzy, gcc-internal-format + #| msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" + msgstr "'%s' işlevi CHARACTER(*) bildirimli olup, bir sözde argüman olmadığından %L'de kullanılamaz" + +-#: fortran/resolve.cc:3376 ++#: fortran/resolve.cc:3359 + #, gcc-internal-format + msgid "resolve_function(): bad function type" + msgstr "" + +-#: fortran/resolve.cc:3390 ++#: fortran/resolve.cc:3373 + #, gcc-internal-format, gfc-internal-format + msgid "A BOZ literal constant at %L cannot appear as an actual argument in a function reference" + msgstr "" + +-#: fortran/resolve.cc:3406 ++#: fortran/resolve.cc:3389 + #, gcc-internal-format + msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" + msgstr "" + +-#: fortran/resolve.cc:3468 ++#: fortran/resolve.cc:3451 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3472 ++#: fortran/resolve.cc:3455 + #, gcc-internal-format + msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3530 ++#: fortran/resolve.cc:3513 + #, fuzzy, gcc-internal-format + #| msgid "Statement function at %L is recursive" + msgid "Using function %qs at %L is deprecated" + msgstr "%L'deki deyim işlevi iç içe" + +-#: fortran/resolve.cc:3546 ++#: fortran/resolve.cc:3529 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine call to '%s' in FORALL block at %L is not PURE" + msgid "Subroutine call to %qs in FORALL block at %L is not PURE" + msgstr "'%s' (%L'de bir FORALL blokunun içindeki) için altyordam başvurusu PURE değil" + +-#: fortran/resolve.cc:3552 ++#: fortran/resolve.cc:3535 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine call to '%s' in FORALL block at %L is not PURE" + msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE" + msgstr "'%s' (%L'de bir FORALL blokunun içindeki) için altyordam başvurusu PURE değil" + +-#: fortran/resolve.cc:3558 ++#: fortran/resolve.cc:3541 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine call to '%s' at %L is not PURE" + msgid "Subroutine call to %qs at %L is not PURE" + msgstr "'%s' (%L'de) için altyordam başvurusu PURE değil" + +-#: fortran/resolve.cc:3626 ++#: fortran/resolve.cc:3609 + #, fuzzy, gcc-internal-format + #| msgid "Unable to resolve the specific subroutine '%s' at %L" + msgid "There is no specific subroutine for the generic %qs at %L" + msgstr "Özel altyordam '%s' %L'de çözümlenemiyor" + +-#: fortran/resolve.cc:3635 ++#: fortran/resolve.cc:3618 + #, fuzzy, gcc-internal-format + #| msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface" + msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" + msgstr "Soysal işlev '%s' (%L'de) bir yerleşik altyordam arayüzü ile uyumlu değil" + +-#: fortran/resolve.cc:3670 ++#: fortran/resolve.cc:3653 + #, fuzzy, gcc-internal-format + #| msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic" + msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" + msgstr "Altyordam '%s' (%L'de) bir INTRINSIC ama bir yerleşik ile uyumlu değil" + +-#: fortran/resolve.cc:3715 ++#: fortran/resolve.cc:3698 + #, fuzzy, gcc-internal-format + #| msgid "Unable to resolve the specific subroutine '%s' at %L" + msgid "Unable to resolve the specific subroutine %qs at %L" + msgstr "Özel altyordam '%s' %L'de çözümlenemiyor" + +-#: fortran/resolve.cc:3773 ++#: fortran/resolve.cc:3756 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L has a type, which is not consistent with the CALL at %L" + msgid "%qs at %L has a type, which is not consistent with the CALL at %L" + msgstr "'%s' (%L'deki) %L'deki CALL ile uyumlu olmayan bir türe sahip" + +-#: fortran/resolve.cc:3812 ++#: fortran/resolve.cc:3795 + #, gcc-internal-format + msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3816 ++#: fortran/resolve.cc:3799 + #, gcc-internal-format + msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" + msgstr "" + +-#: fortran/resolve.cc:3861 ++#: fortran/resolve.cc:3844 + #, gcc-internal-format + msgid "resolve_subroutine(): bad function type" + msgstr "" + +-#: fortran/resolve.cc:3878 ++#: fortran/resolve.cc:3861 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic '%s' at %L cannot have an initializer" + msgid "Using subroutine %qs at %L is deprecated" + msgstr "Yerleşik '%s' %L'de bir ilklendiriciye sahip olamaz" + +-#: fortran/resolve.cc:3905 ++#: fortran/resolve.cc:3888 + #, gcc-internal-format, gfc-internal-format + msgid "Shapes for operands at %L and %L are not conformable" + msgstr "%L ve %L'de terimlerin biçimleri benzer değil" + +-#: fortran/resolve.cc:3957 ++#: fortran/resolve.cc:3940 + #, gcc-internal-format + msgid "logical_to_bitwise(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4060 ++#: fortran/resolve.cc:4043 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued" + msgid "Impure function %qs at %L might not be evaluated" + msgstr "CHARACTER(*) işlevi '%s' %L'de gösterici değerli olamaz" + +-#: fortran/resolve.cc:4064 ++#: fortran/resolve.cc:4047 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Warn when an inlined function cannot be inlined" + msgid "Impure function at %L might not be evaluated" + msgstr "Bir satıriçi işlev satıriçi olamadığında uyarır" + +-#: fortran/resolve.cc:4141 ++#: fortran/resolve.cc:4124 + #, gcc-internal-format + msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4165 ++#: fortran/resolve.cc:4148 + #, gcc-internal-format + msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" + msgstr "" + +-#: fortran/resolve.cc:4339 fortran/resolve.cc:4354 ++#: fortran/resolve.cc:4322 fortran/resolve.cc:4337 + #, gcc-internal-format, gfc-internal-format + msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" + msgstr "" + +-#: fortran/resolve.cc:4393 ++#: fortran/resolve.cc:4376 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Equality comparison for %s at %L" + msgstr "%s için %L'deki çeşit geçersiz" + +-#: fortran/resolve.cc:4395 ++#: fortran/resolve.cc:4378 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Inequality comparison for %s at %L" + msgstr "%s için %L'deki çeşit geçersiz" + +-#: fortran/resolve.cc:4455 ++#: fortran/resolve.cc:4438 + #, gcc-internal-format + msgid "resolve_operator(): Bad intrinsic" + msgstr "" + +-#: fortran/resolve.cc:4741 ++#: fortran/resolve.cc:4724 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "%L'deki dizi başvurusu sınırların dışında" + +-#: fortran/resolve.cc:4746 ++#: fortran/resolve.cc:4729 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" + msgstr "%L'deki dizi başvurusu sınırların dışında" + +-#: fortran/resolve.cc:4756 ++#: fortran/resolve.cc:4739 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "%L'deki dizi başvurusu sınırların dışında" + +-#: fortran/resolve.cc:4761 ++#: fortran/resolve.cc:4744 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" + msgstr "%L'deki dizi başvurusu sınırların dışında" + +-#: fortran/resolve.cc:4782 ++#: fortran/resolve.cc:4765 + #, gcc-internal-format, gfc-internal-format + msgid "Illegal stride of zero at %L" + msgstr "%L'de sıfır adım uzunluğu kuraldışı" + +-#: fortran/resolve.cc:4799 ++#: fortran/resolve.cc:4782 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "%L'deki dizi başvurusu sınırların dışında" + +-#: fortran/resolve.cc:4807 ++#: fortran/resolve.cc:4790 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "%L'deki dizi başvurusu sınırların dışında" + +-#: fortran/resolve.cc:4823 ++#: fortran/resolve.cc:4806 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" + msgstr "%L'deki dizi başvurusu sınırların dışında" + +-#: fortran/resolve.cc:4832 ++#: fortran/resolve.cc:4815 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array reference at %L is out of bounds" + msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" + msgstr "%L'deki dizi başvurusu sınırların dışında" + +-#: fortran/resolve.cc:4848 ++#: fortran/resolve.cc:4831 + #, fuzzy, gcc-internal-format + #| msgid "subscript missing in array reference" + msgid "check_dimension(): Bad array reference" + msgstr "dizi başvurusunda altindis yok" + +-#: fortran/resolve.cc:4871 ++#: fortran/resolve.cc:4854 + #, gcc-internal-format, gfc-internal-format + msgid "Rightmost upper bound of assumed size array section not specified at %L" + msgstr "Tahmini boyutlu dizi bölümünün en sağ üst sınırı %L'de belirtilmemiş" + +-#: fortran/resolve.cc:4881 ++#: fortran/resolve.cc:4864 + #, gcc-internal-format, gfc-internal-format + msgid "Rank mismatch in array reference at %L (%d/%d)" + msgstr "%L'de dizi başvurusunda sıra uyumsuz (%d/%d)" + +-#: fortran/resolve.cc:4889 ++#: fortran/resolve.cc:4872 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Rank mismatch in array reference at %L (%d/%d)" + msgid "Coindex rank mismatch in array reference at %L (%d/%d)" + msgstr "%L'de dizi başvurusunda sıra uyumsuz (%d/%d)" + +-#: fortran/resolve.cc:4905 ++#: fortran/resolve.cc:4888 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FORALL stride expression at %L must be a scalar %s" + msgid "Coindex of codimension %d must be a scalar at %L" + msgstr "%L'deki FORALL adım ifadesi bir değişmez %s olmalıdır" + +-#: fortran/resolve.cc:4933 ++#: fortran/resolve.cc:4916 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L must be scalar" + msgstr "%L'de dizi indisi değişmez olmalıdır" + +-#: fortran/resolve.cc:4939 ++#: fortran/resolve.cc:4922 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array index at %L must be of INTEGER type" + msgid "Array index at %L must be of INTEGER type, found %s" + msgstr "%L'de dizi indisi INTEGER türünde olmalıdır" + +-#: fortran/resolve.cc:4945 ++#: fortran/resolve.cc:4928 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Extension: REAL array index at %L" + msgid "REAL array index at %L" + msgstr "Ek: %L'de REAL dizi indisi" + +-#: fortran/resolve.cc:4984 ++#: fortran/resolve.cc:4967 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be scalar" + msgstr "%L'de boyut argümanı değişmez olmalı" + +-#: fortran/resolve.cc:4991 ++#: fortran/resolve.cc:4974 + #, gcc-internal-format, gfc-internal-format + msgid "Argument dim at %L must be of INTEGER type" + msgstr "%L'de boyut argümanı INTEGER türünde olmalı" + +-#: fortran/resolve.cc:5051 ++#: fortran/resolve.cc:5034 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid form of array reference at %C" + msgid "Invalid array reference of a non-array entity at %L" + msgstr "%C'de dizi başvurusunun yapılışı geçersiz" + +-#: fortran/resolve.cc:5065 ++#: fortran/resolve.cc:5048 + #, gcc-internal-format + msgid "find_array_spec(): unused as(1)" + msgstr "" + +-#: fortran/resolve.cc:5077 ++#: fortran/resolve.cc:5060 + #, gcc-internal-format + msgid "find_array_spec(): unused as(2)" + msgstr "" + +-#: fortran/resolve.cc:5122 ++#: fortran/resolve.cc:5105 + #, gcc-internal-format, gfc-internal-format + msgid "Array index at %L is an array of rank %d" + msgstr "%L'deki dizi indisi %d. mertebeden bir dizidir" + +-#: fortran/resolve.cc:5220 ++#: fortran/resolve.cc:5203 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be of type INTEGER" + msgstr "%L'deki altdizge başlangıç indisi INTEGER türünde olmalıdır" + +-#: fortran/resolve.cc:5227 ++#: fortran/resolve.cc:5210 + #, gcc-internal-format, gfc-internal-format + msgid "Substring start index at %L must be scalar" + msgstr "%L'deki altdizge başlangıç indisi bir değişmez olmalıdır" + +-#: fortran/resolve.cc:5249 ++#: fortran/resolve.cc:5232 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be of type INTEGER" + msgstr "%L'deki altdizge son indisi INTEGER türünde olmalıdır" + +-#: fortran/resolve.cc:5256 ++#: fortran/resolve.cc:5239 + #, gcc-internal-format, gfc-internal-format + msgid "Substring end index at %L must be scalar" + msgstr "%L'deki altdizge son indisi bir değişmez olmalıdır" + +-#: fortran/resolve.cc:5276 ++#: fortran/resolve.cc:5259 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Substring end index at %L must be scalar" + msgid "Substring end index at %L is too large" + msgstr "%L'deki altdizge son indisi bir değişmez olmalıdır" + +-#: fortran/resolve.cc:5467 ++#: fortran/resolve.cc:5450 + #, fuzzy, gcc-internal-format + #| msgid "Bad array reference at %L" + msgid "resolve_ref(): Bad array reference" + msgstr "%L'de hatalı dizi başvurusu" + +-#: fortran/resolve.cc:5481 ++#: fortran/resolve.cc:5464 + #, gcc-internal-format, gfc-internal-format + msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgstr "Sıfırdan farklı bir mertebeden bir parça başvurusunun sağ bileşeni %L'de POINTER özniteliğinde olmamalıdır" + +-#: fortran/resolve.cc:5491 ++#: fortran/resolve.cc:5474 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" + msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" + msgstr "Sıfırdan farklı bir mertebeden bir parça başvurusunun sağ bileşeni %L'de POINTER özniteliğinde olmamalıdır" + +-#: fortran/resolve.cc:5537 ++#: fortran/resolve.cc:5520 + #, gcc-internal-format, gfc-internal-format + msgid "Two or more part references with nonzero rank must not be specified at %L" + msgstr "%L'de sıfırdan farklı bir mertebeden iki veya daha fazla parça başvurusu belirtilmemelidir" + +-#: fortran/resolve.cc:5629 ++#: fortran/resolve.cc:5612 + #, gcc-internal-format + msgid "gfc_expression_rank(): Two array specs" + msgstr "" + +-#: fortran/resolve.cc:5711 ++#: fortran/resolve.cc:5694 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" + msgstr "" + +-#: fortran/resolve.cc:5721 ++#: fortran/resolve.cc:5704 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array at %L must be a dummy argument" + msgid "Assumed-type variable %s at %L may only be used as actual argument" +@@ -83325,12 +83302,12 @@ msgstr "Tahmini boyutlu dizi bir sözde argüman olmalı" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5731 ++#: fortran/resolve.cc:5714 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5750 ++#: fortran/resolve.cc:5733 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array at %L must be a dummy argument" + msgid "Assumed-rank variable %s at %L may only be used as actual argument" +@@ -83340,309 +83317,309 @@ msgstr "Tahmini boyutlu dizi bir sözde argüman olmalı" + #. for all inquiry functions in resolve_function; the reason is + #. that the function-name resolution happens too late in that + #. function. +-#: fortran/resolve.cc:5760 ++#: fortran/resolve.cc:5743 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" + msgstr "" + +-#: fortran/resolve.cc:5771 ++#: fortran/resolve.cc:5754 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5780 ++#: fortran/resolve.cc:5763 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5796 ++#: fortran/resolve.cc:5779 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank variable %s at %L shall not have a subobject reference" + msgstr "" + +-#: fortran/resolve.cc:5978 ++#: fortran/resolve.cc:5961 + #, gcc-internal-format + msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:5983 ++#: fortran/resolve.cc:5966 + #, gcc-internal-format + msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" + msgstr "" + +-#: fortran/resolve.cc:6053 ++#: fortran/resolve.cc:6036 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic subobject of coindexed object at %L" + msgstr "" + +-#: fortran/resolve.cc:6066 ++#: fortran/resolve.cc:6049 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed object with polymorphic allocatable subcomponent at %L" + msgstr "" + +-#: fortran/resolve.cc:6082 ++#: fortran/resolve.cc:6065 + #, fuzzy, gcc-internal-format + #| msgid "instance variable %qs is declared private" + msgid "Using variable %qs at %L is deprecated" + msgstr "gerçeklenim değişkeni %qs private olarak bildirilmiş" + +-#: fortran/resolve.cc:6172 ++#: fortran/resolve.cc:6155 + #, gcc-internal-format + msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" + msgstr "" + +-#: fortran/resolve.cc:6350 fortran/resolve.cc:6502 ++#: fortran/resolve.cc:6333 fortran/resolve.cc:6485 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Extension: Old-style initialization at %C" + msgid "Error in typebound call at %L" + msgstr "Genişletme: %C'de eski tarz ilklendirme" + +-#: fortran/resolve.cc:6466 ++#: fortran/resolve.cc:6449 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s tag at %L must be scalar" + msgid "Passed-object at %L must be scalar" + msgstr "%s' etiketi (%L'de) bir değişmez olmalı" + +-#: fortran/resolve.cc:6473 ++#: fortran/resolve.cc:6456 + #, gcc-internal-format + msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6512 ++#: fortran/resolve.cc:6495 + #, gcc-internal-format + msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" + msgstr "" + +-#: fortran/resolve.cc:6521 ++#: fortran/resolve.cc:6504 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument '%s' of elemental procedure at %L must be scalar" + msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" + msgstr "Öğesel yordamın '%s' argümanı değişmez olmalı (%L'de)" + + #. Nothing matching found! +-#: fortran/resolve.cc:6709 ++#: fortran/resolve.cc:6692 + #, gcc-internal-format + msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:6743 ++#: fortran/resolve.cc:6726 + #, fuzzy, gcc-internal-format + #| msgid "%s at %L must be INTEGER" + msgid "%qs at %L should be a SUBROUTINE" + msgstr "%s' (%L'de) bir INTEGER olmalıdır" + +-#: fortran/resolve.cc:6795 ++#: fortran/resolve.cc:6778 + #, gcc-internal-format + msgid "%qs at %L should be a FUNCTION" + msgstr "" + +-#: fortran/resolve.cc:7330 ++#: fortran/resolve.cc:7313 + #, fuzzy, gcc-internal-format + #| msgid "Expected expression type" + msgid "gfc_resolve_expr(): Bad expression type" + msgstr "İfade türü umuluyordu" + +-#: fortran/resolve.cc:7363 ++#: fortran/resolve.cc:7346 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be a scalar" + msgstr "%s' (%L'de) bir değişmez olmalıdır" + +-#: fortran/resolve.cc:7373 ++#: fortran/resolve.cc:7356 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s at %L must be a scalar" + msgid "%s at %L must be integer" + msgstr "%s' (%L'de) bir değişmez olmalıdır" + +-#: fortran/resolve.cc:7377 fortran/resolve.cc:7384 ++#: fortran/resolve.cc:7360 fortran/resolve.cc:7367 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L must be INTEGER" + msgstr "%s' (%L'de) bir INTEGER olmalıdır" + +-#: fortran/resolve.cc:7439 ++#: fortran/resolve.cc:7422 + #, gcc-internal-format, gfc-internal-format + msgid "Step expression in DO loop at %L cannot be zero" + msgstr "%L'de Do döngüsündeki adım ifadesi sıfır olamaz" + +-#: fortran/resolve.cc:7462 ++#: fortran/resolve.cc:7445 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L will be executed zero times" + msgstr "" + +-#: fortran/resolve.cc:7479 ++#: fortran/resolve.cc:7462 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it overflows" + msgstr "" + +-#: fortran/resolve.cc:7485 ++#: fortran/resolve.cc:7468 + #, gcc-internal-format, gfc-internal-format + msgid "DO loop at %L is undefined as it underflows" + msgstr "" + +-#: fortran/resolve.cc:7546 ++#: fortran/resolve.cc:7529 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar INTEGER" + msgstr "%L'de FORALL indis ismi bir değişmez INTEGER olmalıdır" + +-#: fortran/resolve.cc:7551 ++#: fortran/resolve.cc:7534 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL start expression at %L must be a scalar INTEGER" + msgstr "%L'de FORALL başlatma ifadesi bir değişmez INTEGER olmalıdır" + +-#: fortran/resolve.cc:7558 ++#: fortran/resolve.cc:7541 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL end expression at %L must be a scalar INTEGER" + msgstr "%L'de FORALL son ifadesi bir değişmez INTEGER olmalıdır" + +-#: fortran/resolve.cc:7566 ++#: fortran/resolve.cc:7549 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L must be a scalar %s" + msgstr "%L'deki FORALL adım ifadesi bir değişmez %s olmalıdır" + +-#: fortran/resolve.cc:7571 ++#: fortran/resolve.cc:7554 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL stride expression at %L cannot be zero" + msgstr "%L'deki FORALL adım ifadesi sıfır olamaz" + +-#: fortran/resolve.cc:7584 ++#: fortran/resolve.cc:7567 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' cannot appear in the expression at %L" + msgid "FORALL index %qs may not appear in triplet specification at %L" + msgstr "Değişken '%s' (%L'de) ifade içinde görünemez" + +-#: fortran/resolve.cc:7689 fortran/resolve.cc:7987 ++#: fortran/resolve.cc:7672 fortran/resolve.cc:7970 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER" + msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" + msgstr "%L'de ALLOCATE deyimindeki ifade ya bir POINTER ya da ALLOCATABLE olmalı" + +-#: fortran/resolve.cc:7697 fortran/resolve.cc:7950 ++#: fortran/resolve.cc:7680 fortran/resolve.cc:7933 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed allocatable object at %L" + msgstr "" + +-#: fortran/resolve.cc:7807 ++#: fortran/resolve.cc:7790 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" + msgstr "" + +-#: fortran/resolve.cc:7838 ++#: fortran/resolve.cc:7821 + #, gcc-internal-format, gfc-internal-format + msgid "Source-expr at %L and allocate-object at %L must have the same shape" + msgstr "" + +-#: fortran/resolve.cc:7998 ++#: fortran/resolve.cc:7981 + #, gcc-internal-format, gfc-internal-format + msgid "Type of entity at %L is type incompatible with source-expr at %L" + msgstr "" + +-#: fortran/resolve.cc:8010 ++#: fortran/resolve.cc:7993 + #, gcc-internal-format, gfc-internal-format + msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" + msgstr "" + +-#: fortran/resolve.cc:8024 ++#: fortran/resolve.cc:8007 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8039 ++#: fortran/resolve.cc:8022 + #, gcc-internal-format, gfc-internal-format + msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" + msgstr "" + +-#: fortran/resolve.cc:8052 ++#: fortran/resolve.cc:8035 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" + msgstr "" + +-#: fortran/resolve.cc:8070 ++#: fortran/resolve.cc:8053 + #, gcc-internal-format, gfc-internal-format + msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" + msgstr "" + +-#: fortran/resolve.cc:8154 fortran/resolve.cc:8169 ++#: fortran/resolve.cc:8134 fortran/resolve.cc:8149 + #, gcc-internal-format, gfc-internal-format + msgid "Array specification required in ALLOCATE statement at %L" + msgstr "%L'deki ALLOCATE deyimde dizi belirtimi gerekli " + +-#: fortran/resolve.cc:8161 ++#: fortran/resolve.cc:8141 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array specification required in ALLOCATE statement at %L" + msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" + msgstr "%L'deki ALLOCATE deyimde dizi belirtimi gerekli " + +-#: fortran/resolve.cc:8186 ++#: fortran/resolve.cc:8166 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array specification required in ALLOCATE statement at %L" + msgid "Coarray specification required in ALLOCATE statement at %L" + msgstr "%L'deki ALLOCATE deyimde dizi belirtimi gerekli " + +-#: fortran/resolve.cc:8196 fortran/resolve.cc:8298 ++#: fortran/resolve.cc:8176 fortran/resolve.cc:8278 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Bad array specification in ALLOCATE statement at %L" + msgid "Bad coarray specification in ALLOCATE statement at %L" + msgstr "%L'deki ALLOCATE deyimde dizi belirtimi hatalı" + +-#: fortran/resolve.cc:8202 ++#: fortran/resolve.cc:8182 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound at %L" + msgstr "" + +-#: fortran/resolve.cc:8214 ++#: fortran/resolve.cc:8194 + #, gcc-internal-format, gfc-internal-format + msgid "Upper cobound is less than lower cobound of 1 at %L" + msgstr "" + +-#: fortran/resolve.cc:8225 fortran/resolve.cc:8253 ++#: fortran/resolve.cc:8205 fortran/resolve.cc:8233 + #, gcc-internal-format, gfc-internal-format + msgid "Bad array specification in ALLOCATE statement at %L" + msgstr "%L'deki ALLOCATE deyimde dizi belirtimi hatalı" + +-#: fortran/resolve.cc:8272 ++#: fortran/resolve.cc:8252 + #, gcc-internal-format + msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" + msgstr "" + +-#: fortran/resolve.cc:8287 ++#: fortran/resolve.cc:8267 + #, fuzzy, gcc-internal-format + #| msgid "Bad array specification in ALLOCATE statement at %L" + msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" + msgstr "%L'deki ALLOCATE deyimde dizi belirtimi hatalı" + +-#: fortran/resolve.cc:8329 ++#: fortran/resolve.cc:8309 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgid "Stat-variable at %L must be a scalar INTEGER variable" + msgstr "%L'deki ASSIGN deyimi bir sabit öntanımlı INTEGER değişken gerektirir" + +-#: fortran/resolve.cc:8358 ++#: fortran/resolve.cc:8338 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgid "Stat-variable at %L shall not be %sd within the same %s statement" + msgstr "%L'deki yafta %L'deki GOTO deyimiyle aynı blokta değil" + +-#: fortran/resolve.cc:8371 ++#: fortran/resolve.cc:8351 + #, gcc-internal-format, gfc-internal-format + msgid "ERRMSG at %L is useless without a STAT tag" + msgstr "" + +-#: fortran/resolve.cc:8385 ++#: fortran/resolve.cc:8365 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" + msgstr "%L'deki ASSIGN deyimi bir sabit öntanımlı INTEGER değişken gerektirir" + +-#: fortran/resolve.cc:8414 ++#: fortran/resolve.cc:8394 + #, gcc-internal-format, gfc-internal-format + msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" + msgstr "" + +-#: fortran/resolve.cc:8446 ++#: fortran/resolve.cc:8426 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L also appears at %L" + msgstr "" + +-#: fortran/resolve.cc:8452 fortran/resolve.cc:8458 ++#: fortran/resolve.cc:8432 fortran/resolve.cc:8438 + #, gcc-internal-format, gfc-internal-format + msgid "Allocate-object at %L is subobject of object at %L" + msgstr "" +@@ -83651,301 +83628,301 @@ msgstr "" + #. element in the list. Either way, we must + #. issue an error and get the next case from P. + #. FIXME: Sort P and Q by line number. +-#: fortran/resolve.cc:8686 ++#: fortran/resolve.cc:8666 + #, gcc-internal-format, gfc-internal-format + msgid "CASE label at %L overlaps with CASE label at %L" + msgstr "%L'deki CASE etiketi ile %L'deki CASE etiketi birbirinin üzerine taşıyor" + +-#: fortran/resolve.cc:8737 ++#: fortran/resolve.cc:8717 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be of type %s" + msgstr "%L'de CASE deyimindeki ifade %s türünde olmalı" + +-#: fortran/resolve.cc:8748 ++#: fortran/resolve.cc:8728 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expression in CASE statement at %L must be kind %d" + msgid "Expression in CASE statement at %L must be of kind %d" + msgstr "%L'de CASE deyimindeki ifade %d. çeşit olmalı" + +-#: fortran/resolve.cc:8761 ++#: fortran/resolve.cc:8741 + #, gcc-internal-format, gfc-internal-format + msgid "Expression in CASE statement at %L must be scalar" + msgstr "%L'de CASE deyimindeki ifade bir değişmez olmalı" + +-#: fortran/resolve.cc:8807 ++#: fortran/resolve.cc:8787 + #, gcc-internal-format, gfc-internal-format + msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgstr "%L'de hesaplanmış GOTO deyimindeki seçim ifadesi bir değişmez tamsayı ifadesi olmalıdır" + +-#: fortran/resolve.cc:8826 ++#: fortran/resolve.cc:8806 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L cannot be %s" + msgstr "%L'deki SELECT deyiminin argümanı %s olamaz" + +-#: fortran/resolve.cc:8836 ++#: fortran/resolve.cc:8816 + #, gcc-internal-format, gfc-internal-format + msgid "Argument of SELECT statement at %L must be a scalar expression" + msgstr "%L'deki SELECT deyiminin argümanı bir sabit ifadesi olmalı" + +-#: fortran/resolve.cc:8854 fortran/resolve.cc:8862 ++#: fortran/resolve.cc:8834 fortran/resolve.cc:8842 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expression in CASE statement at %L must be of type %s" + msgid "Expression in CASE statement at %L is not in the range of %s" + msgstr "%L'de CASE deyimindeki ifade %s türünde olmalı" + +-#: fortran/resolve.cc:8924 fortran/resolve.cc:9592 ++#: fortran/resolve.cc:8904 fortran/resolve.cc:9561 + #, gcc-internal-format, gfc-internal-format + msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" + msgstr "%L'deki DEFAULT CASE deyiminden sonra %L'de ikinci bir DEFAULT CASE olamaz" + +-#: fortran/resolve.cc:8950 ++#: fortran/resolve.cc:8930 + #, gcc-internal-format, gfc-internal-format + msgid "Logical range in CASE statement at %L is not allowed" + msgstr "%L'deki CASE deyiminde mantıksal aralığa izin verilmez" + +-#: fortran/resolve.cc:8963 ++#: fortran/resolve.cc:8943 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Logical range in CASE statement at %L is not allowed" + msgid "Constant logical value in CASE statement is repeated at %L" + msgstr "%L'deki CASE deyiminde mantıksal aralığa izin verilmez" + +-#: fortran/resolve.cc:8978 ++#: fortran/resolve.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "Range specification at %L can never be matched" + msgstr "%L'deki aralık belirtimi asla eşleşmeyebilir" + +-#: fortran/resolve.cc:9081 ++#: fortran/resolve.cc:9061 + #, gcc-internal-format, gfc-internal-format + msgid "Logical SELECT CASE block at %L has more that two cases" + msgstr "%L'deki mantıksal SELECT CASE blokunun ikiden fazla case'i var" + +-#: fortran/resolve.cc:9143 ++#: fortran/resolve.cc:9112 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic '%s' at %L is not included in the selected standard" + msgid "Associating entity %qs at %L is a procedure pointer" + msgstr "%L'deki yerleşik '%s' seçilmiş standartta bulunmuyor" + +-#: fortran/resolve.cc:9152 ++#: fortran/resolve.cc:9121 + #, fuzzy, gcc-internal-format + #| msgid "The name '%s' cannot be used as a defined operator at %C" + msgid "Derived type %qs cannot be used as a variable at %L" + msgstr "'%s' ismi (%C'de) tanımlı bir işleç olarak kullanılamaz" + +-#: fortran/resolve.cc:9169 ++#: fortran/resolve.cc:9138 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic '%s' at %L is not included in the selected standard" + msgid "Associating entity %qs at %L is a procedure name" + msgstr "%L'deki yerleşik '%s' seçilmiş standartta bulunmuyor" + +-#: fortran/resolve.cc:9185 ++#: fortran/resolve.cc:9154 + #, gcc-internal-format, gfc-internal-format + msgid "Associating selector-expression at %L yields a procedure" + msgstr "" + +-#: fortran/resolve.cc:9192 ++#: fortran/resolve.cc:9161 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Iterator step at %L cannot be zero" + msgid "Selector at %L cannot be NULL()" + msgstr "%L'deki yineleyici adımı sıfır olamaz" + +-#: fortran/resolve.cc:9197 ++#: fortran/resolve.cc:9166 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Function '%s' at %L has no IMPLICIT type" + msgid "Selector at %L has no type" + msgstr "'%s' işlevi (%L'de) hiç IMPLICIT tür içermiyor" + +-#: fortran/resolve.cc:9220 ++#: fortran/resolve.cc:9188 + #, gcc-internal-format + msgid "Associate-name %qs at %L is used as array" + msgstr "" + +-#: fortran/resolve.cc:9230 ++#: fortran/resolve.cc:9199 + #, gcc-internal-format, gfc-internal-format + msgid "CLASS selector at %L needs a temporary which is not yet implemented" + msgstr "" + +-#: fortran/resolve.cc:9462 ++#: fortran/resolve.cc:9431 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Syntax error in EQUIVALENCE statement at %L" + msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" + msgstr "%L'deki EQUIVALENCE deyiminde söz dizimi hatası" + +-#: fortran/resolve.cc:9500 fortran/resolve.cc:9512 ++#: fortran/resolve.cc:9469 fortran/resolve.cc:9481 + #, gcc-internal-format, gfc-internal-format + msgid "Selector at %L must not be coindexed" + msgstr "" + +-#: fortran/resolve.cc:9541 ++#: fortran/resolve.cc:9510 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "CASE label at %L overlaps with CASE label at %L" + msgid "TYPE IS at %L overlaps with TYPE IS at %L" + msgstr "%L'deki CASE etiketi ile %L'deki CASE etiketi birbirinin üzerine taşıyor" + +-#: fortran/resolve.cc:9554 ++#: fortran/resolve.cc:9523 + #, fuzzy, gcc-internal-format + #| msgid "Derived type '%s' at %C is being used before it is defined" + msgid "Derived type %qs at %L must be extensible" + msgstr "Türetilmiş '%s' türü (%C'deki) tanımından önce kullanılıyor" + +-#: fortran/resolve.cc:9567 ++#: fortran/resolve.cc:9536 + #, fuzzy, gcc-internal-format + #| msgid "Derived type name '%s' at %C already has a basic type of %s" + msgid "Derived type %qs at %L must be an extension of %qs" + msgstr "Türetilmiş tür ismi '%s' %C'de zaten temel %s türünde" + +-#: fortran/resolve.cc:9570 ++#: fortran/resolve.cc:9539 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected %s statement at %C" + msgid "Unexpected intrinsic type %qs at %L" + msgstr "Umulmadık %s deyimi (%C'de)" + +-#: fortran/resolve.cc:9580 ++#: fortran/resolve.cc:9549 + #, gcc-internal-format, gfc-internal-format + msgid "The type-spec at %L shall specify that each length type parameter is assumed" + msgstr "" + +-#: fortran/resolve.cc:9827 ++#: fortran/resolve.cc:9796 + #, gcc-internal-format, gfc-internal-format + msgid "Double CLASS IS block in SELECT TYPE statement at %L" + msgstr "" + +-#: fortran/resolve.cc:9961 ++#: fortran/resolve.cc:9930 + #, gcc-internal-format, gfc-internal-format + msgid "RANK DEFAULT at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9970 ++#: fortran/resolve.cc:9939 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9973 ++#: fortran/resolve.cc:9942 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (%i) at %L is repeated at %L" + msgstr "" + +-#: fortran/resolve.cc:9983 fortran/resolve.cc:9988 ++#: fortran/resolve.cc:9952 fortran/resolve.cc:9957 + #, gcc-internal-format, gfc-internal-format + msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" + msgstr "" + +-#: fortran/resolve.cc:10097 ++#: fortran/resolve.cc:10066 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Invalid context for NULL () intrinsic at %L" + msgstr "%s için %L'deki çeşit geçersiz" + +-#: fortran/resolve.cc:10151 ++#: fortran/resolve.cc:10120 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Array index at %L must be scalar" + msgid "DTIO %s procedure at %L must be recursive" + msgstr "%L'de dizi indisi değişmez olmalıdır" + +-#: fortran/resolve.cc:10161 ++#: fortran/resolve.cc:10130 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" + msgstr "" + +-#: fortran/resolve.cc:10174 ++#: fortran/resolve.cc:10143 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Data transfer element at %L cannot have POINTER components" + msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" + msgstr "%L'deki veri aktarım elemanının POINTER bileşenleri olamaz" + +-#: fortran/resolve.cc:10183 ++#: fortran/resolve.cc:10152 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Data transfer element at %L cannot have POINTER components" + msgid "Data transfer element at %L cannot have procedure pointer components" + msgstr "%L'deki veri aktarım elemanının POINTER bileşenleri olamaz" + +-#: fortran/resolve.cc:10190 ++#: fortran/resolve.cc:10159 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Data transfer element at %L cannot have PRIVATE components" + msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" + msgstr "%L'deki veri aktarım elemanının PRIVATE bileşenleri olamaz" + +-#: fortran/resolve.cc:10201 ++#: fortran/resolve.cc:10170 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot have PRIVATE components" + msgstr "%L'deki veri aktarım elemanının PRIVATE bileşenleri olamaz" + +-#: fortran/resolve.cc:10207 ++#: fortran/resolve.cc:10176 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Data transfer element at %L cannot have POINTER components" + msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" + msgstr "%L'deki veri aktarım elemanının POINTER bileşenleri olamaz" + +-#: fortran/resolve.cc:10225 ++#: fortran/resolve.cc:10194 + #, gcc-internal-format, gfc-internal-format + msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" + msgstr "%L'deki veri aktarım elemanı tahmini boyutlu bir diziye bir tam başvuru olamaz" + +-#: fortran/resolve.cc:10282 ++#: fortran/resolve.cc:10251 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FORALL index-name at %L must be a scalar INTEGER" + msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" + msgstr "%L'de FORALL indis ismi bir değişmez INTEGER olmalıdır" + +-#: fortran/resolve.cc:10292 ++#: fortran/resolve.cc:10261 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FORALL index-name at %L must be a scalar INTEGER" + msgid "Event variable at %L must be a scalar of type EVENT_TYPE" + msgstr "%L'de FORALL indis ismi bir değişmez INTEGER olmalıdır" + +-#: fortran/resolve.cc:10296 ++#: fortran/resolve.cc:10265 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Event variable argument at %L must be a coarray or coindexed" + msgstr "`%s' için fiili argüman bir gösterici olmalı (%L'de)" + +-#: fortran/resolve.cc:10299 ++#: fortran/resolve.cc:10268 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Actual argument for '%s' must be a pointer at %L" + msgid "Event variable argument at %L must be a coarray but not coindexed" + msgstr "`%s' için fiili argüman bir gösterici olmalı (%L'de)" + +-#: fortran/resolve.cc:10306 fortran/resolve.cc:10428 ++#: fortran/resolve.cc:10275 fortran/resolve.cc:10397 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgid "STAT= argument at %L must be a scalar INTEGER variable" + msgstr "%L'deki ASSIGN deyimi bir sabit öntanımlı INTEGER değişken gerektirir" + +-#: fortran/resolve.cc:10318 fortran/resolve.cc:10440 ++#: fortran/resolve.cc:10287 fortran/resolve.cc:10409 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" + msgstr "%L'deki ASSIGN deyimi bir sabit öntanımlı INTEGER değişken gerektirir" + +-#: fortran/resolve.cc:10330 ++#: fortran/resolve.cc:10299 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument dim at %L must be scalar" + msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" + msgstr "%L'de boyut argümanı değişmez olmalı" + +-#: fortran/resolve.cc:10343 ++#: fortran/resolve.cc:10312 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument of SELECT statement at %L must be a scalar expression" + msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" + msgstr "%L'deki SELECT deyiminin argümanı bir sabit ifadesi olmalı" + +-#: fortran/resolve.cc:10404 ++#: fortran/resolve.cc:10373 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument of SELECT statement at %L must be a scalar expression" + msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" + msgstr "%L'deki SELECT deyiminin argümanı bir sabit ifadesi olmalı" + +-#: fortran/resolve.cc:10408 fortran/resolve.cc:10418 ++#: fortran/resolve.cc:10377 fortran/resolve.cc:10387 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument of ACOS at %L must be between -1 and 1" + msgid "Imageset argument at %L must between 1 and num_images()" + msgstr "%L'deki ACOS argümanı -1 .. 1 arasında olmalı" + +-#: fortran/resolve.cc:10471 ++#: fortran/resolve.cc:10440 + #, gcc-internal-format, gfc-internal-format + msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" + msgstr "%L'deki deyim %L'deki dallanma deyimi için geçerli bir dallanma hedef deyimi değildir" + +-#: fortran/resolve.cc:10481 ++#: fortran/resolve.cc:10450 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Branch at %L causes an infinite loop" + msgid "Branch at %L may result in an infinite loop" +@@ -83953,12 +83930,12 @@ msgstr "%L'deki dallanma bir sonsuz döngüye sebep oluyor" + + #. Note: A label at END CRITICAL does not leave the CRITICAL + #. construct as END CRITICAL is still part of it. +-#: fortran/resolve.cc:10498 fortran/resolve.cc:10521 ++#: fortran/resolve.cc:10467 fortran/resolve.cc:10490 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" + msgstr "" + +-#: fortran/resolve.cc:10502 fortran/resolve.cc:10527 ++#: fortran/resolve.cc:10471 fortran/resolve.cc:10496 + #, gcc-internal-format, gfc-internal-format + msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" + msgstr "" +@@ -83966,219 +83943,219 @@ msgstr "" + #. The label is not in an enclosing block, so illegal. This was + #. allowed in Fortran 66, so we allow it as extension. No + #. further checks are necessary in this case. +-#: fortran/resolve.cc:10542 ++#: fortran/resolve.cc:10511 + #, gcc-internal-format, gfc-internal-format + msgid "Label at %L is not in the same block as the GOTO statement at %L" + msgstr "%L'deki yafta %L'deki GOTO deyimiyle aynı blokta değil" + +-#: fortran/resolve.cc:10614 ++#: fortran/resolve.cc:10583 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE mask at %L has inconsistent shape" + msgstr "%L'deki WHERE maskesi uyumsuz biçimde" + +-#: fortran/resolve.cc:10630 ++#: fortran/resolve.cc:10599 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE assignment target at %L has inconsistent shape" + msgstr "%L'deki WHERE atama hedefi uyumsuz biçimde" + +-#: fortran/resolve.cc:10643 fortran/resolve.cc:10735 ++#: fortran/resolve.cc:10612 fortran/resolve.cc:10704 + #, gcc-internal-format, gfc-internal-format + msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" + msgstr "" + +-#: fortran/resolve.cc:10653 fortran/resolve.cc:10745 ++#: fortran/resolve.cc:10622 fortran/resolve.cc:10714 + #, gcc-internal-format, gfc-internal-format + msgid "Unsupported statement inside WHERE at %L" + msgstr "%L'deki WHERE içinde desteklenmeyen deyim" + +-#: fortran/resolve.cc:10684 ++#: fortran/resolve.cc:10653 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to a FORALL index variable at %L" + msgstr "%L'de bir FORALL indis değişkenine atama" + +-#: fortran/resolve.cc:10693 ++#: fortran/resolve.cc:10662 + #, fuzzy, gcc-internal-format + #| msgid "The FORALL with index '%s' cause more than one assignment to this object at %L" + msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" + msgstr "'%s' indisli FORALL %L'de bu nesneye birden fazla atamaya sebep oluyor" + +-#: fortran/resolve.cc:10850 ++#: fortran/resolve.cc:10819 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Constructor can't be %s" + msgid "FORALL construct at %L" + msgstr "Kurucu %s olmayabilir" + +-#: fortran/resolve.cc:10871 ++#: fortran/resolve.cc:10840 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FORALL index-name at %L must be a scalar INTEGER" + msgid "FORALL index-name at %L must be a scalar variable of type integer" + msgstr "%L'de FORALL indis ismi bir değişmez INTEGER olmalıdır" + +-#: fortran/resolve.cc:10881 ++#: fortran/resolve.cc:10850 + #, gcc-internal-format, gfc-internal-format + msgid "An outer FORALL construct already has an index with this name %L" + msgstr "Bir dış FORALL oluşumu zaten bu isimde bir indise sahip (%L'de)" + +-#: fortran/resolve.cc:10958 ++#: fortran/resolve.cc:10932 + #, gcc-internal-format, gfc-internal-format + msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" + msgstr "%L'deki WHERE/ELSEWHERE deyimi bir değişmez LOGICAL dizisi gerektirir" + +-#: fortran/resolve.cc:11074 ++#: fortran/resolve.cc:11048 + #, gcc-internal-format + msgid "gfc_resolve_blocks(): Bad block type" + msgstr "" + +-#: fortran/resolve.cc:11187 ++#: fortran/resolve.cc:11161 + #, gcc-internal-format, gfc-internal-format + msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" + msgstr "" + +-#: fortran/resolve.cc:11219 ++#: fortran/resolve.cc:11193 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Right side of assignment at %L is a derived type containing a POINTER in a PURE procedure" + msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" + msgstr "%L'deki atamanın sağ tarafı bir PURE yordamda bir POINTER içeren türetilmiş bir türdür" + + #. F2008, C1283 (4). +-#: fortran/resolve.cc:11225 ++#: fortran/resolve.cc:11199 + #, gcc-internal-format, gfc-internal-format + msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." + msgstr "" + +-#: fortran/resolve.cc:11237 ++#: fortran/resolve.cc:11211 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assignment to a FORALL index variable at %L" + msgid "Assignment to coindexed variable at %L in a PURE procedure" + msgstr "%L'de bir FORALL indis değişkenine atama" + +-#: fortran/resolve.cc:11269 ++#: fortran/resolve.cc:11243 + #, gcc-internal-format, gfc-internal-format + msgid "Assignment to polymorphic coarray at %L is not permitted" + msgstr "" + +-#: fortran/resolve.cc:11273 ++#: fortran/resolve.cc:11247 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assignment to a FORALL index variable at %L" + msgid "Assignment to an allocatable polymorphic variable at %L" + msgstr "%L'de bir FORALL indis değişkenine atama" + +-#: fortran/resolve.cc:11278 ++#: fortran/resolve.cc:11252 + #, gcc-internal-format + msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" + msgstr "" + +-#: fortran/resolve.cc:11285 ++#: fortran/resolve.cc:11259 + #, gcc-internal-format + msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" + msgstr "" + +-#: fortran/resolve.cc:11296 ++#: fortran/resolve.cc:11270 + #, gcc-internal-format, gfc-internal-format + msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" + msgstr "" + +-#: fortran/resolve.cc:11719 ++#: fortran/resolve.cc:11693 + #, gcc-internal-format, gfc-internal-format + msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." + msgstr "" + + #. Even if standard does not support this feature, continue to build + #. the two statements to avoid upsetting frontend_passes.c. +-#: fortran/resolve.cc:12023 ++#: fortran/resolve.cc:11997 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Different types in pointer assignment at %L" + msgid "Pointer procedure assignment at %L" + msgstr "%L'deki gösterici atamasında farklı türler" + +-#: fortran/resolve.cc:12035 ++#: fortran/resolve.cc:12009 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" + msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." + msgstr "%L'de hesaplanmış GOTO deyimindeki seçim ifadesi bir değişmez tamsayı ifadesi olmalıdır" + +-#: fortran/resolve.cc:12120 ++#: fortran/resolve.cc:12094 + #, fuzzy, gcc-internal-format + #| msgid "Argument of SELECT statement at %L must be a scalar expression" + msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" + msgstr "%L'deki SELECT deyiminin argümanı bir sabit ifadesi olmalı" + +-#: fortran/resolve.cc:12311 ++#: fortran/resolve.cc:12285 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" + msgstr "%L'deki ASSIGN deyimi bir sabit öntanımlı INTEGER değişken gerektirir" + +-#: fortran/resolve.cc:12347 ++#: fortran/resolve.cc:12321 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable" + msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" + msgstr "%L'deki ASSIGNED GOTO deyimi bir INTEGER değişken gerektirir" + +-#: fortran/resolve.cc:12351 ++#: fortran/resolve.cc:12325 + #, fuzzy, gcc-internal-format + #| msgid "Variable '%s' has not been assigned a target label at %L" + msgid "Variable %qs has not been assigned a target label at %L" + msgstr "'%s' değişkenine %L'de bir hedef etiketi atanmış olmamalıydı" + +-#: fortran/resolve.cc:12362 ++#: fortran/resolve.cc:12336 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Alternate RETURN statement at %L requires an INTEGER return specifier" + msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" + msgstr "Diğer RETURN deyimi %L'de bir INTEGER dönüş belirteci gerektirir" + +-#: fortran/resolve.cc:12400 ++#: fortran/resolve.cc:12374 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expected initialization expression in CASE at %C" + msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" + msgstr "%C'deki CASE'de ilklendime ifadesi umuluyordu" + +-#: fortran/resolve.cc:12442 ++#: fortran/resolve.cc:12416 + #, gcc-internal-format, gfc-internal-format + msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" + msgstr "%L'deki ASSIGN deyimi bir sabit öntanımlı INTEGER değişken gerektirir" + +-#: fortran/resolve.cc:12489 ++#: fortran/resolve.cc:12463 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid kind for %s at %L" + msgid "Invalid NULL at %L" + msgstr "%s için %L'deki çeşit geçersiz" + +-#: fortran/resolve.cc:12493 ++#: fortran/resolve.cc:12467 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Arithmetic IF statement at %L requires a numeric expression" + msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" + msgstr "%L'deki aritmetik IF deyimi bir sayısal ifade gerektirir" + +-#: fortran/resolve.cc:12554 ++#: fortran/resolve.cc:12528 + #, gcc-internal-format + msgid "gfc_resolve_code(): No expression on DO WHILE" + msgstr "" + +-#: fortran/resolve.cc:12559 ++#: fortran/resolve.cc:12533 + #, gcc-internal-format, gfc-internal-format + msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" + msgstr "%L'deki DO WHILE döngüsünün çıkış koşulu bir sabit LOGICAL ifadesi olmalıdır" + +-#: fortran/resolve.cc:12643 ++#: fortran/resolve.cc:12617 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "FORALL mask clause at %L requires a LOGICAL expression" + msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" + msgstr "%L'deki FORALL maske deyimi bir LOGICAL ifadesi gerektirir" + +-#: fortran/resolve.cc:12745 ++#: fortran/resolve.cc:12719 + #, fuzzy, gcc-internal-format + #| msgid "gfc_trans_code(): Bad statement code" + msgid "gfc_resolve_code(): Bad statement code" + msgstr "gfc_trans_code(): Hatalı deyim kodu" + +-#: fortran/resolve.cc:12766 ++#: fortran/resolve.cc:12740 + #, fuzzy, gcc-internal-format + #| msgid "parameter %qD declared void" + msgid "Using parameter %qs declared at %L is deprecated" + msgstr "parametre %qD void olarak bildirilmiş" + +-#: fortran/resolve.cc:12860 ++#: fortran/resolve.cc:12834 + #, fuzzy, gcc-internal-format + #| msgid "Named COMMON block '%s' at %L shall be of the same size" + msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" +@@ -84186,7 +84163,7 @@ msgstr "İsimli COMMON blok '%s' %L'de aynı boyutta olmalı" + + #. This can only happen if the variable is defined in a module - if it + #. isn't the same module, reject it. +-#: fortran/resolve.cc:12874 ++#: fortran/resolve.cc:12848 + #, fuzzy, gcc-internal-format + #| msgid "Named COMMON block '%s' at %L shall be of the same size" + msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" +@@ -84195,63 +84172,63 @@ msgstr "İsimli COMMON blok '%s' %L'de aynı boyutta olmalı" + #. Print an error if the procedure is defined multiple times; we have to + #. exclude references to the same procedure via module association or + #. multiple checks for the same procedure. +-#: fortran/resolve.cc:12893 ++#: fortran/resolve.cc:12867 + #, fuzzy, gcc-internal-format + #| msgid "Named COMMON block '%s' at %L shall be of the same size" + msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" + msgstr "İsimli COMMON blok '%s' %L'de aynı boyutta olmalı" + +-#: fortran/resolve.cc:12979 ++#: fortran/resolve.cc:12953 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "size of array %qs is too large" + msgid "String length at %L is too large" + msgstr "%qs dizisinin boyutu çok büyük" + +-#: fortran/resolve.cc:13214 ++#: fortran/resolve.cc:13188 + #, fuzzy, gcc-internal-format + #| msgid "Allocatable array '%s' at %L must have a deferred shape" + msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" + msgstr "Ayrılabilir '%s' dizisi %L'de ertelenmiş bir biçimde olmalı" + +-#: fortran/resolve.cc:13218 ++#: fortran/resolve.cc:13192 + #, fuzzy, gcc-internal-format + #| msgid "Scalar object '%s' at %L may not be ALLOCATABLE" + msgid "Scalar object %qs at %L may not be ALLOCATABLE" + msgstr "'%s' sabit nesnesi %L'de ALLOCATABLE olmayabilir" + +-#: fortran/resolve.cc:13226 ++#: fortran/resolve.cc:13200 + #, fuzzy, gcc-internal-format + #| msgid "Array pointer '%s' at %L must have a deferred shape" + msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" + msgstr "'%s' dizi göstericisi %L'de ertelenmiş bir biçimde olmalı" + +-#: fortran/resolve.cc:13237 ++#: fortran/resolve.cc:13211 + #, fuzzy, gcc-internal-format + #| msgid "Array '%s' at %L cannot have a deferred shape" + msgid "Array %qs at %L cannot have a deferred shape" + msgstr "'%s' dizisi %L'de ertelenmiş bir biçimde olamaz" + +-#: fortran/resolve.cc:13254 ++#: fortran/resolve.cc:13228 + #, gcc-internal-format + msgid "Type %qs of CLASS variable %qs at %L is not extensible" + msgstr "" + +-#: fortran/resolve.cc:13266 ++#: fortran/resolve.cc:13240 + #, gcc-internal-format + msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" + msgstr "" + +-#: fortran/resolve.cc:13299 ++#: fortran/resolve.cc:13273 + #, gcc-internal-format + msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" + msgstr "" + +-#: fortran/resolve.cc:13321 ++#: fortran/resolve.cc:13295 + #, gcc-internal-format + msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" + msgstr "" + +-#: fortran/resolve.cc:13354 ++#: fortran/resolve.cc:13328 + #, fuzzy, gcc-internal-format + #| msgid "Possible frontend bug: Deferred array size without pointer or allocatable attribute." + msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" +@@ -84259,1018 +84236,1018 @@ msgstr "Olası önyüz hatası: gösterici veya tahsis edilebilir öznitelik olm + + #. F08:C541. The shape of an array defined in a main program or module + #. * needs to be constant. +-#: fortran/resolve.cc:13390 ++#: fortran/resolve.cc:13364 + #, fuzzy, gcc-internal-format + #| msgid "The module or main program array '%s' at %L must have constant shape" + msgid "The module or main program array %qs at %L must have constant shape" + msgstr "Modül veya ana program dizisi '%s' %L'de sabit biçimde olmalı" + +-#: fortran/resolve.cc:13415 ++#: fortran/resolve.cc:13389 + #, gcc-internal-format, gfc-internal-format + msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" + msgstr "%L'deki tahmini karakter uzunluklu öğe ya bir sözde argüman ya da bir PARAMETER olmalı" + +-#: fortran/resolve.cc:13436 ++#: fortran/resolve.cc:13410 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L must have constant character length in this context" + msgid "%qs at %L must have constant character length in this context" + msgstr "'%s' %L'de bu bağlam için sabit karakter uzunluklu olmalı" + +-#: fortran/resolve.cc:13443 ++#: fortran/resolve.cc:13417 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L must have constant character length in this context" + msgid "COMMON variable %qs at %L must have constant character length" + msgstr "'%s' %L'de bu bağlam için sabit karakter uzunluklu olmalı" + +-#: fortran/resolve.cc:13490 ++#: fortran/resolve.cc:13464 + #, fuzzy, gcc-internal-format + #| msgid "Allocatable '%s' at %L cannot have an initializer" + msgid "Allocatable %qs at %L cannot have an initializer" + msgstr "Ayrılabilir '%s' %L'de bir ilklendiriciye sahip olamaz" + +-#: fortran/resolve.cc:13493 ++#: fortran/resolve.cc:13467 + #, fuzzy, gcc-internal-format + #| msgid "External '%s' at %L cannot have an initializer" + msgid "External %qs at %L cannot have an initializer" + msgstr "Harici '%s' %L'de bir ilklendiriciye sahip olamaz" + +-#: fortran/resolve.cc:13496 ++#: fortran/resolve.cc:13470 + #, fuzzy, gcc-internal-format + #| msgid "Dummy '%s' at %L cannot have an initializer" + msgid "Dummy %qs at %L cannot have an initializer" + msgstr "Sözde '%s' %L'de bir ilklendiriciye sahip olamaz" + +-#: fortran/resolve.cc:13499 ++#: fortran/resolve.cc:13473 + #, fuzzy, gcc-internal-format + #| msgid "Intrinsic '%s' at %L cannot have an initializer" + msgid "Intrinsic %qs at %L cannot have an initializer" + msgstr "Yerleşik '%s' %L'de bir ilklendiriciye sahip olamaz" + +-#: fortran/resolve.cc:13502 ++#: fortran/resolve.cc:13476 + #, fuzzy, gcc-internal-format + #| msgid "Function result '%s' at %L cannot have an initializer" + msgid "Function result %qs at %L cannot have an initializer" + msgstr "işlev sonucu '%s' %L'de bir ilklendiriciye sahip olamaz" + +-#: fortran/resolve.cc:13505 ++#: fortran/resolve.cc:13479 + #, fuzzy, gcc-internal-format + #| msgid "Automatic array '%s' at %L cannot have an initializer" + msgid "Automatic array %qs at %L cannot have an initializer" + msgstr "Özdevinimli dizi '%s' %L'de bir ilklendiriciye sahip olamaz" + +-#: fortran/resolve.cc:13547 ++#: fortran/resolve.cc:13521 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "in %s, at %s:%d" + msgid "%s at %L" + msgstr "%s işlevinde (%s dosyasının %d. satırı)" + +-#: fortran/resolve.cc:13579 ++#: fortran/resolve.cc:13553 + #, fuzzy, gcc-internal-format + #| msgid "Character-valued statement function '%s' at %L must have constant length" + msgid "Character-valued statement function %qs at %L must have constant length" + msgstr "Karakter değerli deyim işlevi '%s' %L'de sabit uzunlukta olmalı" + +-#: fortran/resolve.cc:13602 ++#: fortran/resolve.cc:13576 + #, fuzzy, gcc-internal-format + #| msgid "'%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L" + msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" + msgstr "'%s' bir PRIVATE türündedir ve '%s' (%L'de PUBLIC tanımlı) için bir sözde argüman olamaz" + +-#: fortran/resolve.cc:13624 ++#: fortran/resolve.cc:13598 + #, gcc-internal-format + msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" + msgstr "" + +-#: fortran/resolve.cc:13642 ++#: fortran/resolve.cc:13616 + #, fuzzy, gcc-internal-format + #| msgid "Function result '%s' at %L cannot have an initializer" + msgid "Function %qs at %L cannot have an initializer" + msgstr "işlev sonucu '%s' %L'de bir ilklendiriciye sahip olamaz" + +-#: fortran/resolve.cc:13654 ++#: fortran/resolve.cc:13628 + #, fuzzy, gcc-internal-format + #| msgid "External object '%s' at %L may not have an initializer" + msgid "External object %qs at %L may not have an initializer" + msgstr "Harici nesne '%s' %L'de bir ilklendiriciye sahip olamayabilir" + +-#: fortran/resolve.cc:13664 ++#: fortran/resolve.cc:13638 + #, fuzzy, gcc-internal-format + #| msgid "%s at %L must be a scalar" + msgid "ELEMENTAL function %qs at %L must have a scalar result" + msgstr "%s' (%L'de) bir değişmez olmalıdır" + +-#: fortran/resolve.cc:13674 ++#: fortran/resolve.cc:13648 + #, fuzzy, gcc-internal-format + #| msgid "Statement function '%s' at %L is not allowed as an actual argument" + msgid "Statement function %qs at %L may not have pointer or allocatable attribute" + msgstr "'%s' beyan işlevine bir fiili argüman olarak izin verilmez (%L'de)" + +-#: fortran/resolve.cc:13693 ++#: fortran/resolve.cc:13667 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be array-valued" + msgid "CHARACTER(*) function %qs at %L cannot be array-valued" + msgstr "CHARACTER(*) işlevi '%s' %L'de dizi değerli olamaz" + +-#: fortran/resolve.cc:13697 ++#: fortran/resolve.cc:13671 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued" + msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" + msgstr "CHARACTER(*) işlevi '%s' %L'de gösterici değerli olamaz" + +-#: fortran/resolve.cc:13701 ++#: fortran/resolve.cc:13675 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pure" + msgid "CHARACTER(*) function %qs at %L cannot be pure" + msgstr "CHARACTER(*) işlevi '%s' %L'de katıksız olamaz" + +-#: fortran/resolve.cc:13705 ++#: fortran/resolve.cc:13679 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be recursive" + msgid "CHARACTER(*) function %qs at %L cannot be recursive" + msgstr "CHARACTER(*) işlevi '%s' %L'de iç içe olamaz" + +-#: fortran/resolve.cc:13718 ++#: fortran/resolve.cc:13692 + #, fuzzy, gcc-internal-format + #| msgid "CHARACTER(*) function '%s' at %L cannot be pure" + msgid "CHARACTER(*) function %qs at %L" + msgstr "CHARACTER(*) işlevi '%s' %L'de katıksız olamaz" + +-#: fortran/resolve.cc:13729 ++#: fortran/resolve.cc:13703 + #, gcc-internal-format + msgid "Procedure pointer %qs at %L shall not be elemental" + msgstr "" + +-#: fortran/resolve.cc:13735 ++#: fortran/resolve.cc:13709 + #, fuzzy, gcc-internal-format + #| msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE" + msgid "Dummy procedure %qs at %L shall not be elemental" + msgstr "PURE yordamının '%s' sözde yordamı da ayrıca PURE olmalı" + +-#: fortran/resolve.cc:13755 ++#: fortran/resolve.cc:13729 + #, fuzzy, gcc-internal-format + #| msgid "Loop variable at %C cannot have the POINTER attribute" + msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" + msgstr "%C'deki döngü değişkeni POINTER özniteliğinde olamaz" + +-#: fortran/resolve.cc:13812 ++#: fortran/resolve.cc:13786 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" + msgstr "PROCEDURE özniteliği '%s' içinde NAMELIST özniteliği ile çelişiyor (%L'de)" + +-#: fortran/resolve.cc:13818 ++#: fortran/resolve.cc:13792 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" + msgstr "PROCEDURE özniteliği '%s' içinde NAMELIST özniteliği ile çelişiyor (%L'de)" + +-#: fortran/resolve.cc:13824 ++#: fortran/resolve.cc:13798 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" + msgstr "PROCEDURE özniteliği '%s' içinde NAMELIST özniteliği ile çelişiyor (%L'de)" + +-#: fortran/resolve.cc:13832 ++#: fortran/resolve.cc:13806 + #, fuzzy, gcc-internal-format + #| msgid "%s attribute conflicts with %s attribute in '%s' at %L" + msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" + msgstr "%s özniteliği ile %s özniteliği '%s' içinde %L'de çelişiyor" + +-#: fortran/resolve.cc:13838 ++#: fortran/resolve.cc:13812 + #, gcc-internal-format + msgid "Procedure pointer result %qs at %L is missing the pointer attribute" + msgstr "" + +-#: fortran/resolve.cc:13881 ++#: fortran/resolve.cc:13855 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13889 ++#: fortran/resolve.cc:13863 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13897 ++#: fortran/resolve.cc:13871 + #, gcc-internal-format, gfc-internal-format + msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" + msgstr "" + +-#: fortran/resolve.cc:13906 ++#: fortran/resolve.cc:13880 + #, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" + msgstr "" + +-#: fortran/resolve.cc:13930 ++#: fortran/resolve.cc:13904 + #, fuzzy, gcc-internal-format + #| msgid "Iterator step at %L cannot be zero" + msgid "Interface of %qs at %L must be explicit" + msgstr "%L'deki yineleyici adımı sıfır olamaz" + +-#: fortran/resolve.cc:14000 ++#: fortran/resolve.cc:13974 + #, gcc-internal-format + msgid "FINAL procedure %qs at %L is not a SUBROUTINE" + msgstr "" + +-#: fortran/resolve.cc:14009 ++#: fortran/resolve.cc:13983 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "User operator procedure '%s' at %L must have at least one argument" + msgid "FINAL procedure at %L must have exactly one argument" + msgstr "Kullanıcı işleci yordamı '%s' (%L'de) için en azından bir argüman bulunmalı" + +-#: fortran/resolve.cc:14017 fortran/resolve.cc:14034 ++#: fortran/resolve.cc:13991 fortran/resolve.cc:14008 + #, fuzzy, gcc-internal-format + #| msgid "Argument of ICHAR at %L must be of length one" + msgid "Argument of FINAL procedure at %L must be of type %qs" + msgstr "%L'de ICHAR'ın argümanı bir uzunlukta olmalı" + +-#: fortran/resolve.cc:14025 ++#: fortran/resolve.cc:13999 + #, gcc-internal-format, gfc-internal-format + msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" + msgstr "" + +-#: fortran/resolve.cc:14042 ++#: fortran/resolve.cc:14016 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER" + msgid "Argument of FINAL procedure at %L must not be a POINTER" + msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) bir POINTER olmalı" + +-#: fortran/resolve.cc:14048 ++#: fortran/resolve.cc:14022 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE" + msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" + msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) ALLOCATABLE olmalı" + +-#: fortran/resolve.cc:14054 ++#: fortran/resolve.cc:14028 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must not be OPTIONAL" + msgid "Argument of FINAL procedure at %L must not be OPTIONAL" + msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) OPTIONAL olmamalı" + +-#: fortran/resolve.cc:14062 ++#: fortran/resolve.cc:14036 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "First argument of operator interface at %L must be INTENT(IN)" + msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" + msgstr "%L'deki işleç arayüzünün ilk argümanı INTENT(IN) olmalıdır" + +-#: fortran/resolve.cc:14071 ++#: fortran/resolve.cc:14045 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "User operator procedure '%s' at %L must have at least one argument" + msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" + msgstr "Kullanıcı işleci yordamı '%s' (%L'de) için en azından bir argüman bulunmalı" + +-#: fortran/resolve.cc:14093 ++#: fortran/resolve.cc:14067 + #, gcc-internal-format + msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" + msgstr "" + +-#: fortran/resolve.cc:14130 ++#: fortran/resolve.cc:14104 + #, gcc-internal-format + msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" + msgstr "" + +-#: fortran/resolve.cc:14171 ++#: fortran/resolve.cc:14145 + #, gcc-internal-format + msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14207 ++#: fortran/resolve.cc:14181 + #, gcc-internal-format + msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" + msgstr "" + +-#: fortran/resolve.cc:14266 ++#: fortran/resolve.cc:14240 + #, gcc-internal-format + msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14278 ++#: fortran/resolve.cc:14252 + #, gcc-internal-format + msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" + msgstr "" + +-#: fortran/resolve.cc:14306 ++#: fortran/resolve.cc:14280 + #, gcc-internal-format + msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" + msgstr "" + +-#: fortran/resolve.cc:14362 ++#: fortran/resolve.cc:14336 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Iterator step at %L cannot be zero" + msgid "Type-bound operator at %L cannot be NOPASS" + msgstr "%L'deki yineleyici adımı sıfır olamaz" + +-#: fortran/resolve.cc:14574 ++#: fortran/resolve.cc:14548 + #, fuzzy, gcc-internal-format + #| msgid "Procedure '%s' called with an implicit interface at %L" + msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" + msgstr "Yordam '%s' bir örtük arayüz ile çağrılmış (%L'de)" + +-#: fortran/resolve.cc:14617 ++#: fortran/resolve.cc:14591 + #, gcc-internal-format + msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:14631 ++#: fortran/resolve.cc:14605 + #, fuzzy, gcc-internal-format + #| msgid "User operator procedure '%s' at %L must have at least one argument" + msgid "Procedure %qs with PASS at %L must have at least one argument" + msgstr "Kullanıcı işleci yordamı '%s' (%L'de) için en azından bir argüman bulunmalı" + +-#: fortran/resolve.cc:14645 fortran/resolve.cc:15133 ++#: fortran/resolve.cc:14619 fortran/resolve.cc:15107 + #, gcc-internal-format + msgid "Non-polymorphic passed-object dummy argument of %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:14653 ++#: fortran/resolve.cc:14627 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type" + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" + msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) türetilmemiş bir türde olmalı" + +-#: fortran/resolve.cc:14662 ++#: fortran/resolve.cc:14636 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be a scalar" + msgid "Passed-object dummy argument of %qs at %L must be scalar" + msgstr "`%s' argümanı `%s' yerleşiği için %L'de bir değişmez olmalı" + +-#: fortran/resolve.cc:14668 ++#: fortran/resolve.cc:14642 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE" + msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" + msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) ALLOCATABLE olmalı" + +-#: fortran/resolve.cc:14674 ++#: fortran/resolve.cc:14648 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER" + msgid "Passed-object dummy argument of %qs at %L must not be POINTER" + msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) bir POINTER olmalı" + +-#: fortran/resolve.cc:14703 ++#: fortran/resolve.cc:14677 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as a component of %qs" + msgstr "" + +-#: fortran/resolve.cc:14713 ++#: fortran/resolve.cc:14687 + #, gcc-internal-format + msgid "Procedure %qs at %L has the same name as an inherited component of %qs" + msgstr "" + +-#: fortran/resolve.cc:14808 ++#: fortran/resolve.cc:14782 + #, gcc-internal-format + msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" + msgstr "" + +-#: fortran/resolve.cc:14913 ++#: fortran/resolve.cc:14887 + #, fuzzy, gcc-internal-format + #| msgid "Array pointer '%s' at %L must have a deferred shape" + msgid "Coarray component %qs at %L must be allocatable with deferred shape" + msgstr "'%s' dizi göstericisi %L'de ertelenmiş bir biçimde olmalı" + +-#: fortran/resolve.cc:14922 ++#: fortran/resolve.cc:14896 + #, gcc-internal-format + msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:14932 ++#: fortran/resolve.cc:14906 + #, gcc-internal-format + msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" + msgstr "" + +-#: fortran/resolve.cc:14957 ++#: fortran/resolve.cc:14931 + #, gcc-internal-format + msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" + msgstr "" + +-#: fortran/resolve.cc:14968 ++#: fortran/resolve.cc:14942 + #, fuzzy, gcc-internal-format + #| msgid "Argument of ICHAR at %L must be of length one" + msgid "Component %qs of BIND(C) type at %L must have length one" + msgstr "%L'de ICHAR'ın argümanı bir uzunlukta olmalı" + +-#: fortran/resolve.cc:15066 ++#: fortran/resolve.cc:15040 + #, gcc-internal-format + msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" + msgstr "" + +-#: fortran/resolve.cc:15080 ++#: fortran/resolve.cc:15054 + #, fuzzy, gcc-internal-format + #| msgid "User operator procedure '%s' at %L must have at least one argument" + msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" + msgstr "Kullanıcı işleci yordamı '%s' (%L'de) için en azından bir argüman bulunmalı" + +-#: fortran/resolve.cc:15096 ++#: fortran/resolve.cc:15070 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type" + msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" + msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) türetilmemiş bir türde olmalı" + +-#: fortran/resolve.cc:15106 ++#: fortran/resolve.cc:15080 + #, fuzzy, gcc-internal-format + #| msgid "Argument dim at %L must be scalar" + msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" + msgstr "%L'de boyut argümanı değişmez olmalı" + +-#: fortran/resolve.cc:15115 ++#: fortran/resolve.cc:15089 + #, fuzzy, gcc-internal-format + #| msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute" + msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" + msgstr "Öğesel yordamın '%s' argümanı POINTER özniteliğine sahip olamaz (%L'de)" + +-#: fortran/resolve.cc:15124 ++#: fortran/resolve.cc:15098 + #, fuzzy, gcc-internal-format + #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE" + msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" + msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) ALLOCATABLE olmalı" + +-#: fortran/resolve.cc:15166 ++#: fortran/resolve.cc:15140 + #, fuzzy, gcc-internal-format + #| msgid "Component '%s' of '%s' at %L must have constant array bounds." + msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" + msgstr "'%s' ('%s'in bileşeni) %L'de sabit dizi sınırlarına sahip olmalı" + +-#: fortran/resolve.cc:15179 ++#: fortran/resolve.cc:15153 + #, fuzzy, gcc-internal-format + #| msgid "Character length of component '%s' needs to be a constant specification expression at %L." + msgid "Character length of component %qs needs to be a constant specification expression at %L" + msgstr "Bileşen karakter uzunluğu '%s'in %L'de bir sabit belirtim ifadesi olması gerekir" + +-#: fortran/resolve.cc:15190 ++#: fortran/resolve.cc:15164 + #, fuzzy, gcc-internal-format + #| msgid "Expression at %L must be of INTEGER type" + msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" + msgstr "%L'deki ifade INTEGER türünde olmalı" + +-#: fortran/resolve.cc:15203 ++#: fortran/resolve.cc:15177 + #, gcc-internal-format + msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" + msgstr "" + +-#: fortran/resolve.cc:15236 ++#: fortran/resolve.cc:15210 + #, fuzzy, gcc-internal-format + #| msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L" + msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" + msgstr "Bileşen '%s' bir PRIVATE türdür ve '%s' (%L'de PUBLIC tanımlı) bileşeni olamaz" + +-#: fortran/resolve.cc:15244 ++#: fortran/resolve.cc:15218 + #, gcc-internal-format, gfc-internal-format + msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" + msgstr "" + +-#: fortran/resolve.cc:15253 ++#: fortran/resolve.cc:15227 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Component %s of SEQUENCE type declared at %C does not have the SEQUENCE attribute" + msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" + msgstr "SEQUENCE türünün %s bileşeni SEQUENCE özniteliğine sahip değil (%C'de)" + +-#: fortran/resolve.cc:15339 ++#: fortran/resolve.cc:15313 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expected an initialization expression at %C" + msgid "Conflicting initializers in union at %L and %L" + msgstr "%C'de bir ilklendirme ifadesi umuluyordu" + +-#: fortran/resolve.cc:15384 ++#: fortran/resolve.cc:15358 + #, gcc-internal-format + msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" + msgstr "" + +-#: fortran/resolve.cc:15397 ++#: fortran/resolve.cc:15371 + #, gcc-internal-format + msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" + msgstr "" + +-#: fortran/resolve.cc:15461 ++#: fortran/resolve.cc:15435 + #, gcc-internal-format + msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15494 ++#: fortran/resolve.cc:15468 + #, fuzzy, gcc-internal-format + #| msgid "Component '%s' of '%s' at %L must have constant array bounds." + msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" + msgstr "'%s' ('%s'in bileşeni) %L'de sabit dizi sınırlarına sahip olmalı" + +-#: fortran/resolve.cc:15508 ++#: fortran/resolve.cc:15482 + #, fuzzy, gcc-internal-format + #| msgid "Derived type '%s' at %C is being used before it is defined" + msgid "Derived type %qs at %L has not been declared" + msgstr "Türetilmiş '%s' türü (%C'deki) tanımından önce kullanılıyor" + +-#: fortran/resolve.cc:15576 ++#: fortran/resolve.cc:15550 + #, fuzzy, gcc-internal-format + #| msgid "Assumed size array '%s' in namelist '%s'at %C is not allowed." + msgid "Assumed size array %qs in namelist %qs at %L is not allowed" + msgstr "'%s' tahmini boyutlu dizisine '%s' isim listesinde izin verilmiyor (%C'de)." + +-#: fortran/resolve.cc:15582 ++#: fortran/resolve.cc:15556 + #, gcc-internal-format + msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15588 ++#: fortran/resolve.cc:15562 + #, gcc-internal-format + msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15596 ++#: fortran/resolve.cc:15570 + #, gcc-internal-format + msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15613 ++#: fortran/resolve.cc:15587 + #, fuzzy, gcc-internal-format + #| msgid "PRIVATE symbol '%s' cannot be member of PUBLIC namelist at %L" + msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" + msgstr "'%s' PRIVATE simgesi %L'de PUBLIC isim listesi üyesi olamaz" + +-#: fortran/resolve.cc:15635 ++#: fortran/resolve.cc:15609 + #, gcc-internal-format + msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" + msgstr "" + +-#: fortran/resolve.cc:15646 ++#: fortran/resolve.cc:15620 + #, fuzzy, gcc-internal-format + #| msgid "PRIVATE symbol '%s' cannot be member of PUBLIC namelist at %L" + msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" + msgstr "'%s' PRIVATE simgesi %L'de PUBLIC isim listesi üyesi olamaz" + +-#: fortran/resolve.cc:15673 ++#: fortran/resolve.cc:15647 + #, fuzzy, gcc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" + msgstr "PROCEDURE özniteliği '%s' içinde NAMELIST özniteliği ile çelişiyor (%L'de)" + +-#: fortran/resolve.cc:15692 ++#: fortran/resolve.cc:15666 + #, fuzzy, gcc-internal-format + #| msgid "Parameter array '%s' at %L cannot be automatic or assumed shape" + msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" + msgstr "Parametre dizisi '%s' %L'de özdevinimli veya tahmini biçimli olamaz" + +-#: fortran/resolve.cc:15708 ++#: fortran/resolve.cc:15682 + #, fuzzy, gcc-internal-format + #| msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type" + msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" + msgstr "Örtük olarak PARAMETER türlü '%s' %L'de sonraki bir IMPLICIT türle eşleşmiyor" + +-#: fortran/resolve.cc:15719 ++#: fortran/resolve.cc:15693 + #, gcc-internal-format, gfc-internal-format + msgid "Incompatible derived type in PARAMETER at %L" + msgstr "%L'de PARAMETER içindeki türetilmiş tür uyumsuz" + +-#: fortran/resolve.cc:15727 ++#: fortran/resolve.cc:15701 + #, fuzzy, gcc-internal-format + #| msgid "Loop variable at %C cannot have the POINTER attribute" + msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" + msgstr "%C'deki döngü değişkeni POINTER özniteliğinde olamaz" + +-#: fortran/resolve.cc:15778 ++#: fortran/resolve.cc:15752 + #, fuzzy, gcc-internal-format + #| msgid "Possible frontend bug: Deferred array size without pointer or allocatable attribute." + msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" + msgstr "Olası önyüz hatası: gösterici veya tahsis edilebilir öznitelik olmaksızın ertelenmiş dizi boyutu" + +-#: fortran/resolve.cc:15789 ++#: fortran/resolve.cc:15763 + #, gcc-internal-format + msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" + msgstr "" + +-#: fortran/resolve.cc:15796 ++#: fortran/resolve.cc:15770 + #, gcc-internal-format + msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" + msgstr "" + +-#: fortran/resolve.cc:15836 ++#: fortran/resolve.cc:15810 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" + msgstr "" + +-#: fortran/resolve.cc:15849 ++#: fortran/resolve.cc:15823 + #, gcc-internal-format + msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" + msgstr "" + +-#: fortran/resolve.cc:15907 ++#: fortran/resolve.cc:15881 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" + msgstr "PROCEDURE özniteliği '%s' içinde NAMELIST özniteliği ile çelişiyor (%L'de)" + +-#: fortran/resolve.cc:15910 ++#: fortran/resolve.cc:15884 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" + msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" + msgstr "PROCEDURE özniteliği '%s' içinde NAMELIST özniteliği ile çelişiyor (%L'de)" + +-#: fortran/resolve.cc:16010 ++#: fortran/resolve.cc:15984 + #, gcc-internal-format + msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" + msgstr "" + +-#: fortran/resolve.cc:16031 ++#: fortran/resolve.cc:16005 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Bad specification for assumed size array at %C" + msgid "Bad specification for assumed size array at %L" + msgstr "%C'deki tahmini boyutlu dizi için belirtim hatalı" + +-#: fortran/resolve.cc:16044 ++#: fortran/resolve.cc:16018 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed size array at %L must be a dummy argument" + msgstr "%L'deki tahmini boyutlu dizi bir sözde argüman olmalı" + +-#: fortran/resolve.cc:16047 ++#: fortran/resolve.cc:16021 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array at %L must be a dummy argument" + msgid "Assumed shape array at %L must be a dummy argument" + msgstr "Tahmini boyutlu dizi bir sözde argüman olmalı" + +-#: fortran/resolve.cc:16057 ++#: fortran/resolve.cc:16031 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Assumed shape array at %L must be a dummy argument" + msgid "Assumed-rank array at %L must be a dummy argument" + msgstr "Tahmini boyutlu dizi bir sözde argüman olmalı" + +-#: fortran/resolve.cc:16064 ++#: fortran/resolve.cc:16038 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" + msgstr "" + +-#: fortran/resolve.cc:16077 ++#: fortran/resolve.cc:16051 + #, gcc-internal-format, gfc-internal-format + msgid "Symbol at %L is not a DUMMY variable" + msgstr "%L'deki simge bir DUMMY değişken değil" + +-#: fortran/resolve.cc:16083 ++#: fortran/resolve.cc:16057 + #, gcc-internal-format + msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16093 ++#: fortran/resolve.cc:16067 + #, fuzzy, gcc-internal-format + #| msgid "Character-valued statement function '%s' at %L must have constant length" + msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" + msgstr "Karakter değerli deyim işlevi '%s' %L'de sabit uzunlukta olmalı" + +-#: fortran/resolve.cc:16102 ++#: fortran/resolve.cc:16076 + #, gcc-internal-format + msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" + msgstr "" + +-#: fortran/resolve.cc:16115 fortran/resolve.cc:16292 ++#: fortran/resolve.cc:16089 fortran/resolve.cc:16266 + #, gcc-internal-format + msgid "The derived type %qs at %L is of type %qs, which has not been defined" + msgstr "Türetilmiş %qs türü %L'de tanımlanmamış olan %qs türündedir." + +-#: fortran/resolve.cc:16129 ++#: fortran/resolve.cc:16103 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16138 ++#: fortran/resolve.cc:16112 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" + msgstr "" + +-#: fortran/resolve.cc:16147 ++#: fortran/resolve.cc:16121 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "" + +-#: fortran/resolve.cc:16155 ++#: fortran/resolve.cc:16129 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Loop variable at %C cannot have the POINTER attribute" + msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" + msgstr "%C'deki döngü değişkeni POINTER özniteliğinde olamaz" + +-#: fortran/resolve.cc:16162 ++#: fortran/resolve.cc:16136 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" + msgstr "" + +-#: fortran/resolve.cc:16182 ++#: fortran/resolve.cc:16156 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed type of variable %s at %L is only permitted for dummy variables" + msgstr "" + +-#: fortran/resolve.cc:16189 ++#: fortran/resolve.cc:16163 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Loop variable at %C cannot have the POINTER attribute" + msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" + msgstr "%C'deki döngü değişkeni POINTER özniteliğinde olamaz" + +-#: fortran/resolve.cc:16196 ++#: fortran/resolve.cc:16170 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Loop variable at %C cannot have the POINTER attribute" + msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" + msgstr "%C'deki döngü değişkeni POINTER özniteliğinde olamaz" + +-#: fortran/resolve.cc:16203 ++#: fortran/resolve.cc:16177 + #, gcc-internal-format, gfc-internal-format + msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" + msgstr "" + +-#: fortran/resolve.cc:16229 ++#: fortran/resolve.cc:16203 + #, gcc-internal-format + msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" + msgstr "" + +-#: fortran/resolve.cc:16239 ++#: fortran/resolve.cc:16213 + #, fuzzy, gcc-internal-format + #| msgid "'%s' at %L must have constant character length in this context" + msgid "BIND(C) Variable %qs at %L must have length one" + msgstr "'%s' %L'de bu bağlam için sabit karakter uzunluklu olmalı" + +-#: fortran/resolve.cc:16318 ++#: fortran/resolve.cc:16292 + #, fuzzy, gcc-internal-format + #| msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'" + msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" + msgstr "PUBLIC işlev '%s' %L'de PRIVATE '%s' türünde olamaz" + +-#: fortran/resolve.cc:16333 ++#: fortran/resolve.cc:16307 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16346 ++#: fortran/resolve.cc:16320 + #, gcc-internal-format, gfc-internal-format + msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16364 ++#: fortran/resolve.cc:16338 + #, gcc-internal-format + msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" + msgstr "INTENT(OUT) sözde argüman %qs %L'de ASSUMED SIZE olduğundan bir öntanımlı ilklerdiriciye sahip olamaz" + +-#: fortran/resolve.cc:16376 ++#: fortran/resolve.cc:16350 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)" + msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" + msgstr "Sözde argüman '%s' (%L'de) INTENT(OUT) olamaz" + +-#: fortran/resolve.cc:16385 ++#: fortran/resolve.cc:16359 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)" + msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" + msgstr "Sözde argüman '%s' (%L'de) INTENT(OUT) olamaz" + +-#: fortran/resolve.cc:16398 ++#: fortran/resolve.cc:16372 + #, fuzzy, gcc-internal-format + #| msgid "Function result '%s' at %L cannot have an initializer" + msgid "Function result %qs at %L shall not be a coarray or have a coarray component" + msgstr "işlev sonucu '%s' %L'de bir ilklendiriciye sahip olamaz" + +-#: fortran/resolve.cc:16407 ++#: fortran/resolve.cc:16381 + #, gcc-internal-format + msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" + msgstr "" + +-#: fortran/resolve.cc:16420 ++#: fortran/resolve.cc:16394 + #, gcc-internal-format + msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" + msgstr "" + +-#: fortran/resolve.cc:16436 ++#: fortran/resolve.cc:16410 + #, gcc-internal-format + msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" + msgstr "" + +-#: fortran/resolve.cc:16444 ++#: fortran/resolve.cc:16418 + #, fuzzy, gcc-internal-format + #| msgid "Array '%s' at %L cannot have a deferred shape" + msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" + msgstr "'%s' dizisi %L'de ertelenmiş bir biçimde olamaz" + +-#: fortran/resolve.cc:16451 ++#: fortran/resolve.cc:16425 + #, fuzzy, gcc-internal-format + #| msgid "Allocatable array '%s' at %L must have a deferred shape" + msgid "Allocatable coarray variable %qs at %L must have deferred shape" + msgstr "Ayrılabilir '%s' dizisi %L'de ertelenmiş bir biçimde olmalı" + +-#: fortran/resolve.cc:16464 ++#: fortran/resolve.cc:16438 + #, gcc-internal-format + msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" + msgstr "" + +-#: fortran/resolve.cc:16473 ++#: fortran/resolve.cc:16447 + #, fuzzy, gcc-internal-format + #| msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure" + msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" + msgstr "%L'deki sözde yordama ELEMENTAL yordamında izin verilmez" + +-#: fortran/resolve.cc:16489 ++#: fortran/resolve.cc:16463 + #, gcc-internal-format + msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16495 ++#: fortran/resolve.cc:16469 + #, gcc-internal-format + msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" + msgstr "" + +-#: fortran/resolve.cc:16520 ++#: fortran/resolve.cc:16494 + #, fuzzy, gcc-internal-format + #| msgid "Namelist %s cannot be renamed by USE association to %s." + msgid "Namelist %qs cannot be an argument to subroutine or function at %L" + msgstr "İsim listesinin ismi %s USE ilişkisiyle %s yapılamaz" + +-#: fortran/resolve.cc:16591 ++#: fortran/resolve.cc:16565 + #, gcc-internal-format, gfc-internal-format + msgid "Threadprivate at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16603 ++#: fortran/resolve.cc:16577 + #, gcc-internal-format + msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" + msgstr "" + +-#: fortran/resolve.cc:16719 ++#: fortran/resolve.cc:16693 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Expecting %s statement at %C" + msgid "Expecting definable entity near %L" + msgstr "%s deyimi umuluyordu (%C'de)" + +-#: fortran/resolve.cc:16727 ++#: fortran/resolve.cc:16701 + #, gcc-internal-format + msgid "BLOCK DATA element %qs at %L must be in COMMON" + msgstr "BLOCK DATA öğesi %qs %L'de COMMON içinde olmalıdır" + +-#: fortran/resolve.cc:16734 ++#: fortran/resolve.cc:16708 + #, gcc-internal-format + msgid "DATA array %qs at %L must be specified in a previous declaration" + msgstr "" + +-#: fortran/resolve.cc:16741 ++#: fortran/resolve.cc:16715 + #, fuzzy, gcc-internal-format + #| msgid "Dummy '%s' at %L cannot have an initializer" + msgid "DATA element %qs at %L cannot have a coindex" + msgstr "Sözde '%s' %L'de bir ilklendiriciye sahip olamaz" + +-#: fortran/resolve.cc:16757 ++#: fortran/resolve.cc:16731 + #, gcc-internal-format + msgid "DATA element %qs at %L is a pointer and so must be a full array" + msgstr "" + +-#: fortran/resolve.cc:16764 ++#: fortran/resolve.cc:16738 + #, gcc-internal-format, gfc-internal-format + msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" + msgstr "" + +-#: fortran/resolve.cc:16773 ++#: fortran/resolve.cc:16747 + #, fuzzy, gcc-internal-format + #| msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute" + msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" + msgstr "Öğesel yordamın '%s' argümanı POINTER özniteliğine sahip olamaz (%L'de)" + +-#: fortran/resolve.cc:16819 ++#: fortran/resolve.cc:16793 + #, gcc-internal-format, gfc-internal-format + msgid "Nonconstant array section at %L in DATA statement" + msgstr "DATA deyiminde %L'de sabit olmayan dizi bölümü" + +-#: fortran/resolve.cc:16832 ++#: fortran/resolve.cc:16806 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more variables than values" + msgstr "%L'deki DATA deyiminde değerden çok değişken var" + +-#: fortran/resolve.cc:16931 ++#: fortran/resolve.cc:16905 + #, gcc-internal-format, gfc-internal-format + msgid "start of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16939 ++#: fortran/resolve.cc:16913 + #, gcc-internal-format, gfc-internal-format + msgid "end of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16947 ++#: fortran/resolve.cc:16921 + #, gcc-internal-format, gfc-internal-format + msgid "step of implied-do loop at %L could not be simplified to a constant value" + msgstr "" + +-#: fortran/resolve.cc:16954 ++#: fortran/resolve.cc:16928 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Step expression in DO loop at %L cannot be zero" + msgid "step of implied-do loop at %L shall not be zero" + msgstr "%L'de Do döngüsündeki adım ifadesi sıfır olamaz" + +-#: fortran/resolve.cc:17079 ++#: fortran/resolve.cc:17053 + #, gcc-internal-format, gfc-internal-format + msgid "DATA statement at %L has more values than variables" + msgstr "%L'deki DATA deyiminde değişkenden çok değer var" + +-#: fortran/resolve.cc:17245 ++#: fortran/resolve.cc:17219 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but not used" + msgstr "%d yaftası %L'de tanımlanmış ama kullanılmamış" + +-#: fortran/resolve.cc:17251 ++#: fortran/resolve.cc:17225 + #, gcc-internal-format, gfc-internal-format + msgid "Label %d at %L defined but cannot be used" + msgstr "%d yaftası %L'de tanımlanmış ama kullanılamıyor" + +-#: fortran/resolve.cc:17335 ++#: fortran/resolve.cc:17309 + #, gcc-internal-format + msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" + msgstr "Türetilmiş tür değişkeni %qs %L'de bir EQUIVALENCE nesnesi olarak SEQUENCE özniteliğine sahip olmalı" + +-#: fortran/resolve.cc:17344 ++#: fortran/resolve.cc:17318 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" + msgstr "Türetilmiş tür değişkeni '%s' %L'de gösterici bileşen(ler)le bir EQUIVALENCE nesnesi olamaz" + +-#: fortran/resolve.cc:17352 ++#: fortran/resolve.cc:17326 + #, fuzzy, gcc-internal-format + #| msgid "Derived type variable '%s' at %L with default initializer cannot be an EQUIVALENCE object" + msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" + msgstr "Türetilmiş tür değişkeni '%s' %L'de öntanımlı ilklendiriciyle bir EQUIVALENCE nesnesi olamaz" + +-#: fortran/resolve.cc:17368 ++#: fortran/resolve.cc:17342 + #, gcc-internal-format + msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" + msgstr "Türetilmiş tür değişkeni %qs %L'de gösterici bileşen(ler)le bir EQUIVALENCE nesnesi olamaz" + +-#: fortran/resolve.cc:17471 ++#: fortran/resolve.cc:17445 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in EQUIVALENCE statement at %L" + msgstr "%L'deki EQUIVALENCE deyiminde söz dizimi hatası" + +-#: fortran/resolve.cc:17486 ++#: fortran/resolve.cc:17460 + #, gcc-internal-format, gfc-internal-format + msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" + msgstr "" + +-#: fortran/resolve.cc:17511 ++#: fortran/resolve.cc:17485 + #, fuzzy, gcc-internal-format + #| msgid "Common block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" + msgstr "Ortak blok üyesi %qs %L'de, %qs pure yordamındaki bir EQUIVALENCE nesnesi olamaz" + +-#: fortran/resolve.cc:17520 ++#: fortran/resolve.cc:17494 + #, gcc-internal-format + msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" + msgstr "%qs isimli sabiti %L'de bir EQUIVALENCE nesnesi olamaz" + +-#: fortran/resolve.cc:17595 ++#: fortran/resolve.cc:17569 + #, gcc-internal-format + msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" + msgstr "Sınırları sabit olmayan %qs dizisi %L'de bir EQUIVALENCE nesnesi olamaz" + +-#: fortran/resolve.cc:17606 ++#: fortran/resolve.cc:17580 + #, gcc-internal-format + msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" + msgstr "Yapı bileşeni %qs %L'de bir EQUIVALENCE nesnesi olamaz" + +-#: fortran/resolve.cc:17617 ++#: fortran/resolve.cc:17591 + #, gcc-internal-format, gfc-internal-format + msgid "Substring at %L has length zero" + msgstr "%L'deki altdizge sıfır uzunlukta" + +-#: fortran/resolve.cc:17648 ++#: fortran/resolve.cc:17622 + #, fuzzy, gcc-internal-format + #| msgid "Syntax error in character length specification at %C" + msgid "Self reference in character length expression for %qs at %L" + msgstr "%C'deki karakter uzunluğu belirtiminde sözdizimi hatası" + +-#: fortran/resolve.cc:17715 ++#: fortran/resolve.cc:17689 + #, gcc-internal-format + msgid "PUBLIC function %qs at %L of PRIVATE type %qs" + msgstr "" + +-#: fortran/resolve.cc:17728 ++#: fortran/resolve.cc:17702 + #, gcc-internal-format + msgid "ENTRY %qs at %L has no IMPLICIT type" + msgstr "ENTRY %qs %L'de hiç IMPLICIT tür içermiyor" + +-#: fortran/resolve.cc:17750 ++#: fortran/resolve.cc:17724 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must be a FUNCTION" + msgstr "Yerleşik işleç arayüzü %qs %L'de bir FUNCTION olmalı" + +-#: fortran/resolve.cc:17760 ++#: fortran/resolve.cc:17734 + #, gcc-internal-format + msgid "User operator procedure %qs at %L cannot be assumed character length" + msgstr "Kullanıcı işleci yordamı %qs %L'de tahmini karakter uzunluğunda olamaz" + +-#: fortran/resolve.cc:17768 ++#: fortran/resolve.cc:17742 + #, gcc-internal-format + msgid "User operator procedure %qs at %L must have at least one argument" + msgstr "Kullanıcı işleci yordamı %qs %L'de için en azından bir argüman bulunmalı" + +-#: fortran/resolve.cc:17782 ++#: fortran/resolve.cc:17756 + #, gcc-internal-format, gfc-internal-format + msgid "First argument of operator interface at %L cannot be optional" + msgstr "%L'deki işleç arayüzünün ilk argümanı isteğe bağlı olamaz" + +-#: fortran/resolve.cc:17800 ++#: fortran/resolve.cc:17774 + #, gcc-internal-format, gfc-internal-format + msgid "Second argument of operator interface at %L cannot be optional" + msgstr "%L'deki işleç arayüzünün ikinci argümanı isteğe bağlı olamaz" + +-#: fortran/resolve.cc:17807 ++#: fortran/resolve.cc:17781 + #, gcc-internal-format, gfc-internal-format + msgid "Operator interface at %L must have, at most, two arguments" + msgstr "%L'deki işleç arayüzünün en fazla iki argümanı olmalı" + +-#: fortran/resolve.cc:17886 ++#: fortran/resolve.cc:17860 + #, gcc-internal-format + msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" + msgstr "" +@@ -86235,7 +86212,7 @@ msgstr "" + msgid "Overlapping unequal initializers in EQUIVALENCE at %C" + msgstr "%C'deki G/C listesinde virgül umuluyordu" + +-#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 ++#: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9462 + #, gcc-internal-format, gfc-internal-format + msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." + msgstr "" +@@ -86247,12 +86224,12 @@ msgstr "" + msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" + msgstr "" + +-#: fortran/trans-array.cc:8584 ++#: fortran/trans-array.cc:8572 + #, gcc-internal-format + msgid "Creating array temporary at %L for argument %qs" + msgstr "" + +-#: fortran/trans-array.cc:11887 ++#: fortran/trans-array.cc:11864 + #, gcc-internal-format, gfc-internal-format + msgid "bad expression type during walk (%d)" + msgstr "yürüyüş sırasında ifade türü hatalı (%d)" +@@ -86361,97 +86338,91 @@ msgid "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, mo + msgstr "" + + #: fortran/trans-decl.cc:1795 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Symbol '%s' at %L has no IMPLICIT type" +-msgid "%s at %C has no default type" +-msgstr "'%s' simgesi %C'de hiç IMPLICIT tür içermiyor" +- +-#: fortran/trans-decl.cc:1798 + #, gcc-internal-format + msgid "intrinsic variable which isn't a procedure" + msgstr "bir yordam olmayan yerleşik değişken" + +-#: fortran/trans-decl.cc:4548 fortran/trans-decl.cc:7793 ++#: fortran/trans-decl.cc:4545 fortran/trans-decl.cc:7789 + #, fuzzy, gcc-internal-format + #| msgid "Return values of functions in FPU registers" + msgid "Return value of function %qs at %L not set" + msgstr "FPU yazmaçlarındaki işlevlerin değerleri döner" + +-#: fortran/trans-decl.cc:5040 ++#: fortran/trans-decl.cc:5037 + #, fuzzy, gcc-internal-format + #| msgid "Different kind type parameters in pointer assignment at %L" + msgid "Deferred type parameter not yet supported" + msgstr "%L'deki gösterici atamasında parametreler farklı çeşit türlerinde" + +-#: fortran/trans-decl.cc:5273 ++#: fortran/trans-decl.cc:5270 + #, gcc-internal-format + msgid "backend decl for module variable %qs already exists" + msgstr "modül değişkeni %qs için artyüz bildirimi zaten mevcut" + +-#: fortran/trans-decl.cc:5286 ++#: fortran/trans-decl.cc:5283 + #, fuzzy, gcc-internal-format + #| msgid "instance variable %qs is declared %s" + msgid "Unused PRIVATE module variable %qs declared at %L" + msgstr "gerçekleme değişkeni %qs %s olarak bildirilmiş" + +-#: fortran/trans-decl.cc:5908 ++#: fortran/trans-decl.cc:5905 + #, gcc-internal-format + msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument" + msgstr "" + +-#: fortran/trans-decl.cc:5911 ++#: fortran/trans-decl.cc:5908 + #, fuzzy, gcc-internal-format + #| msgid "Symbol %qs at %C has already been host associated" + msgid "Symbol %qs at %L has the WEAK attribute but is a local variable" + msgstr "%qs simgesi (%C'deki) zaten konakla ilişkiliymiş" + +-#: fortran/trans-decl.cc:5926 ++#: fortran/trans-decl.cc:5923 + #, fuzzy, gcc-internal-format + #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)" + msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" + msgstr "Sözde argüman '%s' (%L'de) INTENT(OUT) olamaz" + +-#: fortran/trans-decl.cc:5932 ++#: fortran/trans-decl.cc:5929 + #, fuzzy, gcc-internal-format + #| msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer" + msgid "Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not set and does not have a default initializer" + msgstr "INTENT(OUT) sözde argüman '%s' %L'de ASSUMED SIZE olduğundan bir öntanımlı ilklerdiriciye sahip olamaz" + +-#: fortran/trans-decl.cc:5943 fortran/trans-decl.cc:6094 ++#: fortran/trans-decl.cc:5940 fortran/trans-decl.cc:6091 + #, fuzzy, gcc-internal-format + #| msgid "Too many arguments to %s at %L" + msgid "Unused dummy argument %qs at %L" + msgstr "%s için argümanlar %L'de çok fazla" + +-#: fortran/trans-decl.cc:5959 ++#: fortran/trans-decl.cc:5956 + #, gcc-internal-format + msgid "Unused module variable %qs which has been explicitly imported at %L" + msgstr "" + +-#: fortran/trans-decl.cc:5978 ++#: fortran/trans-decl.cc:5975 + #, fuzzy, gcc-internal-format + #| msgid "instance variable %qs is declared %s" + msgid "Unused variable %qs declared at %L" + msgstr "gerçekleme değişkeni %qs %s olarak bildirilmiş" + +-#: fortran/trans-decl.cc:6027 ++#: fortran/trans-decl.cc:6024 + #, fuzzy, gcc-internal-format + #| msgid "parameter %qD declared void" + msgid "Unused parameter %qs declared at %L" + msgstr "parametre %qD void olarak bildirilmiş" + +-#: fortran/trans-decl.cc:6031 ++#: fortran/trans-decl.cc:6028 + #, gcc-internal-format + msgid "Unused parameter %qs which has been explicitly imported at %L" + msgstr "" + +-#: fortran/trans-decl.cc:6061 ++#: fortran/trans-decl.cc:6058 + #, fuzzy, gcc-internal-format + #| msgid "Return values of functions in FPU registers" + msgid "Return value %qs of function %qs declared at %L not set" + msgstr "FPU yazmaçlarındaki işlevlerin değerleri döner" + +-#: fortran/trans-decl.cc:6658 ++#: fortran/trans-decl.cc:6655 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" + msgstr "" +@@ -86466,28 +86437,28 @@ msgstr "" + msgid "Code for reallocating the allocatable variable at %L will be added" + msgstr "" + +-#: fortran/trans-expr.cc:2207 ++#: fortran/trans-expr.cc:2202 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic object at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:2216 ++#: fortran/trans-expr.cc:2211 + #, gcc-internal-format, gfc-internal-format + msgid "Sorry, coindexed access to an unlimited polymorphic component at %L is not supported" + msgstr "" + +-#: fortran/trans-expr.cc:3895 ++#: fortran/trans-expr.cc:3887 + #, gcc-internal-format + msgid "Unknown intrinsic op" + msgstr "Bilinmeyen yerleşik terim" + +-#: fortran/trans-expr.cc:5413 ++#: fortran/trans-expr.cc:5405 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Missing argument list in function '%s' at %C" + msgid "Unknown argument list function at %L" + msgstr "'%s' işlevinde argüman listesi eksik (%C'de)" + +-#: fortran/trans-expr.cc:10077 ++#: fortran/trans-expr.cc:10034 + #, gcc-internal-format, gfc-internal-format + msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" + msgstr "" +@@ -88539,11 +88510,6 @@ msgstr "parametre %q+D kullanılmamış" + #~ msgid "PIC register isn't set up" + #~ msgstr "PIC yazmacı ayarlı değil" + +-#, fuzzy +-#~| msgid "invalid operand for code '%c'" +-#~ msgid "invalid operand size for operand code 'Z'" +-#~ msgstr "terim, kod `%c' için geçersiz" +- + #, fuzzy + #~| msgid "Use native (MS) bitfield layout" + #~ msgid "Use gcc default bitfield layout" +diff --git a/gcc/po/uk.po b/gcc/po/uk.po +index 6fe8495a992..464dcff7ec8 100644 +--- a/gcc/po/uk.po ++++ b/gcc/po/uk.po +@@ -3,14 +3,13 @@ + # This file is distributed under the same license as the gcc package. + # + # Yuri Chornoivan , 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022. +-# Volodymyr M. Lisivka , 2023. + msgid "" + msgstr "" +-"Project-Id-Version: gcc 13.1.0\n" ++"Project-Id-Version: gcc 12.1.0\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2023-04-25 21:43+0000\n" +-"PO-Revision-Date: 2023-06-28 21:45+0300\n" +-"Last-Translator: Volodymyr Lisivka \n" ++"POT-Creation-Date: 2023-04-04 17:04+0000\n" ++"PO-Revision-Date: 2022-05-08 14:31+0300\n" ++"Last-Translator: Yuri Chornoivan \n" + "Language-Team: Ukrainian \n" + "Language: uk\n" + "MIME-Version: 1.0\n" +@@ -18,54 +17,55 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "X-Bugs: Report translation errors to the Language-Team address.\n" + "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" ++"X-Generator: Lokalize 20.12.0\n" + + #: cif-code.def:39 + msgid "function not considered for inlining" +-msgstr "функція не розглядається для вбудовування" ++msgstr "функція не буде включено для вбудовування" + + #: cif-code.def:43 + msgid "caller is not optimized" +-msgstr "викликач не оптимізований" ++msgstr "джерело виклику не оптимізовано" + + #: cif-code.def:47 + msgid "function body not available" +-msgstr "тіло функції недоступне" ++msgstr "вміст функції є недоступним" + + #: cif-code.def:51 + msgid "redefined extern inline functions are not considered for inlining" +-msgstr "перевизначені зовнішні функції з ключовим словом inline не розглядаються для вбудовування" ++msgstr "" + + #: cif-code.def:56 + msgid "function not inlinable" +-msgstr "функцію не можна вбудувати" ++msgstr "функція є непридатною до вбудовування" + + #: cif-code.def:60 + msgid "function body can be overwritten at link time" +-msgstr "тіло функції може бути перезаписане під час звʼязування" ++msgstr "вміст функцію може бути перезаписано під час компонування" + + #: cif-code.def:64 + msgid "function not inline candidate" +-msgstr "функція не є кандидатом для вбудовування" ++msgstr "функція не є кандидатом на вбудовування" + + #: cif-code.def:68 + msgid "--param large-function-growth limit reached" +-msgstr "досягнуто обмеження --param large-function-growth" ++msgstr "" + + #: cif-code.def:70 + msgid "--param large-stack-frame-growth limit reached" +-msgstr "досягнуто обмеження --param large-stack-frame-growth" ++msgstr "" + + #: cif-code.def:72 + msgid "--param max-inline-insns-single limit reached" +-msgstr "досягнуто обмеження --param max-inline-insns-single" ++msgstr "" + + #: cif-code.def:74 + msgid "--param max-inline-insns-auto limit reached" +-msgstr "досягнуто обмеження параметра --param max-inline-insns-auto" ++msgstr "" + + #: cif-code.def:76 + msgid "--param inline-unit-growth limit reached" +-msgstr "досягнуто обмеження параметра --param inline-unit-growth" ++msgstr "" + + #: cif-code.def:80 + msgid "recursive inlining" +@@ -73,59 +73,59 @@ msgstr "рекурсивне вбудовування" + + #: cif-code.def:84 + msgid "call is unlikely and code size would grow" +-msgstr "виклик малоймовірний і розмір коду збільшиться" ++msgstr "виклик малоймовірний, а розмір коду збільшиться" + + #: cif-code.def:88 + msgid "call is considered never executed and code size would grow" +-msgstr "виклик вважається ніколи не виконуваним і розмір коду збільшиться" ++msgstr "виклик вважається таким, який ніколи не буде виконано, а розмір коду збільшиться" + + #: cif-code.def:92 + msgid "function not declared inline and code size would grow" +-msgstr "функція не оголошена як inline і розмір коду збільшиться" ++msgstr "функцію не оголошено як вбудовувану, а розмір коду збільшиться" + + #: cif-code.def:96 + msgid "mismatched declarations during linktime optimization" +-msgstr "несумісні оголошення під час оптимізації на етапі звʼязування" ++msgstr "невідповідність оголошень під час оптимізації під час компонування" + + #: cif-code.def:100 + msgid "variadic thunk call" +-msgstr "виклик варіативного тунку" ++msgstr "" + + #: cif-code.def:104 + msgid "originally indirect function call not considered for inlining" +-msgstr "початковий непрямий виклик функції не розглядається для вбудовування" ++msgstr "" + + #: cif-code.def:108 + msgid "indirect function call with a yet undetermined callee" +-msgstr "непрямий виклик функції з ще невизначеним викликачем" ++msgstr "" + + #: cif-code.def:112 + msgid "exception handling personality mismatch" +-msgstr "несумісність персоналітету обробки виключень" ++msgstr "" + + #: cif-code.def:117 + msgid "non-call exception handling mismatch" +-msgstr "несумісність обробки виключень без виклику" ++msgstr "" + + #: cif-code.def:121 + msgid "target specific option mismatch" +-msgstr "несумісність специфічної опції цілі" ++msgstr "" + + #: cif-code.def:125 + msgid "optimization level attribute mismatch" +-msgstr "несумісність атрибуту рівня оптимізації" ++msgstr "невідповідність атрибутів рівня оптимізації" + + #: cif-code.def:129 + msgid "callee refers to comdat-local symbols" +-msgstr "викликаюча функція посилається на локальні символи comdat" ++msgstr "" + + #: cif-code.def:134 + msgid "sanitizer function attribute mismatch" +-msgstr "несумісність атрибуту функції санітазатора" ++msgstr "невідповідність атрибутів функції-санітайзера" + + #: cif-code.def:139 + msgid "function has external linkage when the user requests only inlining static for live patching" +-msgstr "функція має зовнішнє звʼязування, тоді як користувач вимагає тільки вбудовування статичних функцій для живого латання" ++msgstr "" + + #: cif-code.def:144 + msgid "unreachable" +@@ -162,11 +162,11 @@ msgstr "анахронізм: " + + #: diagnostic.def:39 + msgid "note: " +-msgstr "примітка: " ++msgstr "зауваження: " + + #: diagnostic.def:40 + msgid "debug: " +-msgstr "налагодження: " ++msgstr "діагностика: " + + #. For use when using the diagnostic_show_locus machinery to show + #. a range of events within a path. +@@ -178,7 +178,7 @@ msgstr "шлях: " + #. prefix does not matter. + #: diagnostic.def:48 + msgid "pedwarn: " +-msgstr "пед. попередження: " ++msgstr "педантичне попередження: " + + #: diagnostic.def:49 + msgid "permerror: " +@@ -187,7 +187,7 @@ msgstr "постійна помилка: " + #: config/i386/djgpp.h:143 + #, c-format + msgid "-f%s ignored (not supported for DJGPP)\n" +-msgstr "-f%s ігнорується (не підтримується для DJGPP)\n" ++msgstr "-f%s проігноровано (не передбачено підтримки для DJGPP)\n" + + #. The remainder are real diagnostic types. + #: fortran/gfc-diagnostic.def:33 +@@ -218,17 +218,17 @@ msgstr "анахронізм" + + #: fortran/gfc-diagnostic.def:39 + msgid "note" +-msgstr "примітка" ++msgstr "зауваження" + + #: fortran/gfc-diagnostic.def:40 + msgid "debug" +-msgstr "налагодження" ++msgstr "діагностика" + + #. These two would be re-classified as DK_WARNING or DK_ERROR, so the + #. prefix does not matter. + #: fortran/gfc-diagnostic.def:43 + msgid "pedwarn" +-msgstr "пед. попередження" ++msgstr "педантичне попередження" + + #: fortran/gfc-diagnostic.def:44 + msgid "permerror" +@@ -242,35 +242,37 @@ msgstr "помилка" + + #: gcc.cc:839 gcc.cc:896 + msgid "-gz is not supported in this configuration" +-msgstr "-gz не підтримується в цій конфігурації" ++msgstr "підтримки -gz на цій конфігурації не передбачено" + + #: gcc.cc:845 ++#, fuzzy ++#| msgid "-gz is not supported in this configuration" + msgid "-gz=zstd is not supported in this configuration" +-msgstr "-gz=zstd не підтримується в цій конфігурації" ++msgstr "підтримки -gz на цій конфігурації не передбачено" + + #: gcc.cc:1079 + msgid "-fuse-linker-plugin is not supported in this configuration" +-msgstr "-fuse-linker-plugin не підтримується в цій конфігурації" ++msgstr "підтримки -fuse-linker-plugin на цій конфігурації не передбачено" + + #: gcc.cc:1095 + msgid "cannot specify -static with -fsanitize=address" +-msgstr "не можна вказувати -static з -fsanitize=address" ++msgstr "не можна вказувати -static у поєднанні із -fsanitize=address" + + #: gcc.cc:1097 + msgid "cannot specify -static with -fsanitize=hwaddress" +-msgstr "не можна вказувати -static з -fsanitize=hwaddress" ++msgstr "" + + #: gcc.cc:1099 + msgid "cannot specify -static with -fsanitize=thread" +-msgstr "не можна вказувати -static з -fsanitize=thread" ++msgstr "" + + #: gcc.cc:1121 + msgid "-fvtable-verify=std is not supported in this configuration" +-msgstr "-fvtable-verify=std не підтримується в цій конфігурації" ++msgstr "" + + #: gcc.cc:1123 + msgid "-fvtable-verify=preinit is not supported in this configuration" +-msgstr "-fvtable-verify=preinit не підтримується в цій конфігурації" ++msgstr "" + + #: gcc.cc:1260 ada/gcc-interface/lang-specs.h:37 + msgid "-pg and -fomit-frame-pointer are incompatible" +@@ -278,119 +280,119 @@ msgstr "-pg і -fomit-frame-pointer є несумісними" + + #: gcc.cc:1435 + msgid "GNU C no longer supports -traditional without -E" +-msgstr "GNU C більше не підтримує -traditional без -E" ++msgstr "У GNU C припинено підтримку -traditional без -E" + + #: gcc.cc:1444 + msgid "-E or -x required when input is from standard input" +-msgstr "-E або -x потрібні, коли вхідні дані отримані зі стандартного вводу" ++msgstr "якщо дані надходять зі стандартного вхідного джерела, слід вказувати -E або -x" + + #: config/darwin.h:151 + msgid "conflicting code generation switches" +-msgstr "конфліктують перемикачі генерації коду" ++msgstr "конфлікт перемикачів створення коду" + + #: config/darwin.h:156 + msgid "-bundle_loader not allowed with -dynamiclib" +-msgstr "-bundle_loader не дозволяється з -dynamiclib" ++msgstr "" + + #: config/darwin.h:158 + msgid "-client_name not allowed with -dynamiclib" +-msgstr "-client_name не дозволяється з -dynamiclib" ++msgstr "" + + #: config/darwin.h:167 + msgid "-keep_private_externs not allowed with -dynamiclib" +-msgstr "-keep_private_externs не дозволяється з -dynamiclib" ++msgstr "" + + #: config/darwin.h:169 + msgid "-private_bundle not allowed with -dynamiclib" +-msgstr "-private_bundle не дозволяється з -dynamiclib" ++msgstr "" + + #: config/darwin.h:177 + msgid "-compatibility_version only allowed with -dynamiclib" +-msgstr "-compatibility_version дозволяється тільки з -dynamiclib" ++msgstr "" + + #: config/darwin.h:179 + msgid "-current_version only allowed with -dynamiclib" +-msgstr "-current_version дозволяється тільки з -dynamiclib" ++msgstr "" + + #: config/darwin.h:181 + msgid "-install_name only allowed with -dynamiclib" +-msgstr "-install_name дозволяється тільки з -dynamiclib" ++msgstr "" + + #: config/darwin.h:192 + msgid "-bundle not allowed with -dynamiclib" +-msgstr "-bundle не дозволяється з -dynamiclib" ++msgstr "" + + #: config/darwin.h:208 + msgid "-force_flat_namespace not allowed with -dynamiclib" +-msgstr "-force_flat_namespace не дозволяється з -dynamiclib" ++msgstr "" + + #: config/darwin.h:213 config/darwin.h:596 + msgid "gsplit-dwarf is not supported on this platform" +-msgstr "gsplit-dwarf не підтримується на цій платформі" ++msgstr "підтримки gsplit-dwarf на цій платформі не передбачено" + + #: config/darwin.h:277 + msgid "rdynamic is not supported" +-msgstr "rdynamic не підтримується" ++msgstr "підтримки rdynamic не передбачено" + + #: config/dragonfly.h:76 config/i386/freebsd.h:82 config/i386/freebsd64.h:35 + #: config/ia64/freebsd.h:26 config/rs6000/sysv4.h:750 + #: config/sparc/freebsd.h:45 + msgid "consider using '-pg' instead of '-p' with gprof(1)" +-msgstr "розгляньте використання '-pg' замість '-p' з gprof(1)" ++msgstr "" + + #: config/lynx.h:69 + msgid "cannot use mthreads and mlegacy-threads together" +-msgstr "не можна використовувати mthreads і mlegacy-threads одночасно" ++msgstr "" + + #: config/lynx.h:94 + msgid "cannot use mshared and static together" +-msgstr "не можна використовувати mshared і static одночасно" ++msgstr "" + + #: config/sol2.h:349 config/sol2.h:354 + msgid "does not support multilib" +-msgstr "не підтримує multilib" ++msgstr "" + + #: config/sol2.h:448 + msgid "-pie is not supported in this configuration" +-msgstr "-pie не підтримується в цій конфігурації" ++msgstr "" + + #: config/vxworks.h:219 + msgid "-Xbind-now and -Xbind-lazy are incompatible" +-msgstr "-Xbind-now і -Xbind-lazy несумісні" ++msgstr "" + + #: config/aarch64/aarch64-freebsd.h:37 config/arm/freebsd.h:49 + #: config/riscv/freebsd.h:44 + msgid "consider using `-pg' instead of `-p' with gprof (1)" +-msgstr "розгляньте використання `-pg' замість `-p' з gprof (1)" ++msgstr "" + + #: config/arc/arc.h:68 config/mips/mips.h:1477 + msgid "may not use both -EB and -EL" +-msgstr "не можна використовувати одночасно -EB та -EL" ++msgstr "" + + #: config/avr/specs.h:71 config/pru/pru.h:58 + msgid "shared is not supported" +-msgstr "shared не підтримується" ++msgstr "" + + #: config/bfin/elf.h:55 + msgid "no processor type specified for linking" +-msgstr "не вказано тип процесора для звʼязування" ++msgstr "" + + #: config/cris/cris.h:168 + msgid "do not specify both -march=... and -mcpu=..." +-msgstr "не вказуйте одночасно -march=... та -mcpu=..." ++msgstr "" + + #: config/i386/cygwin-w64.h:64 config/i386/cygwin.h:129 + #: config/i386/mingw-w64.h:103 config/i386/mingw32.h:154 + msgid "shared and mdll are not compatible" +-msgstr "shared та mdll несумісні" ++msgstr "" + + #: config/i386/darwin.h:93 + msgid "Darwin is not an mx32 platform" +-msgstr "Darwin не є платформою mx32" ++msgstr "" + + #: config/i386/darwin.h:94 + msgid "Darwin does not support -mfentry or associated options" +-msgstr "Darwin не підтримує -mfentry або повʼязані опції" ++msgstr "" + + #: config/i386/sol2.h:59 + msgid "-mx32 is not supported on Solaris" +@@ -398,150 +400,150 @@ msgstr "підтримки -mx32 у Solaris не передбачено" + + #: config/mcore/mcore.h:53 + msgid "the m210 does not have little endian support" +-msgstr "m210 не підтримує little endian" ++msgstr "" + + #: config/mips/r3900.h:37 + msgid "-mhard-float not supported" +-msgstr "-mhard-float не підтримується" ++msgstr "" + + #: config/mips/r3900.h:39 + msgid "-msingle-float and -msoft-float cannot both be specified" +-msgstr "-msingle-float та -msoft-float не можуть бути вказані одночасно" ++msgstr "" + + #: config/moxie/moxiebox.h:43 + msgid "this target is little-endian" +-msgstr "ця цільова архітектура має формат little endian" ++msgstr "" + + #: config/msp430/msp430.h:90 + msgid "-mcode-region requires the large memory model (-mlarge)" +-msgstr "-mcode-region вимагає велику модель памʼяті (-mlarge)" ++msgstr "" + + #: config/msp430/msp430.h:92 + msgid "-mdata-region requires the large memory model (-mlarge)" +-msgstr "-mdata-region вимагає велику модель памʼяті (-mlarge)" ++msgstr "" + + #: config/nios2/elf.h:44 + msgid "You need a C startup file for -msys-crt0=" +-msgstr "Вам потрібен початковий файл C для -msys-crt0=" ++msgstr "" + + #: config/pa/pa-hpux11.h:134 config/pa/pa-hpux11.h:137 + #: config/pa/pa64-hpux.h:29 config/pa/pa64-hpux.h:32 config/pa/pa64-hpux.h:41 + #: config/pa/pa64-hpux.h:44 + msgid "warning: consider linking with '-static' as system libraries with" +-msgstr "попередження: розгляньте звʼязування з '-static', оскільки системні бібліотеки з" ++msgstr "" + + #: config/pa/pa-hpux11.h:135 config/pa/pa-hpux11.h:138 + #: config/pa/pa64-hpux.h:30 config/pa/pa64-hpux.h:33 config/pa/pa64-hpux.h:42 + #: config/pa/pa64-hpux.h:45 + msgid " profiling support are only provided in archive format" +-msgstr " підтримка профілювання надається тільки у форматі архіву" ++msgstr "" + + #: config/rs6000/darwin.h:123 + msgid " conflicting code gen style switches are used" +-msgstr " використовуються конфліктуючі перемикачі стилю генерації коду" ++msgstr "" + + #: config/rs6000/freebsd64.h:114 + msgid "consider using `-pg' instead of `-p' with gprof(1)" +-msgstr "розгляньте використання `-pg' замість `-p' з gprof(1)" ++msgstr "" + + #: config/rs6000/rs6000.h:170 + msgid "Missing -mcpu option in ASM_CPU_SPEC?" +-msgstr "Відсутня опція -mcpu в ASM_CPU_SPEC?" ++msgstr "" + + #: config/rx/linux.h:53 config/rx/rx.h:82 + msgid "rx200 cpu does not have FPU hardware" +-msgstr "процесор rx200 не має апаратного FPU" ++msgstr "" + + #: config/rx/rx.h:80 + msgid "-mas100-syntax is incompatible with -gdwarf" +-msgstr "-mas100-syntax несумісний з -gdwarf" ++msgstr "" + + #: config/rx/rx.h:81 + msgid "rx100 cpu does not have FPU hardware" +-msgstr "процесор rx100 не має апаратного FPU" ++msgstr "" + + #: config/s390/tpf.h:119 + msgid "static is not supported on TPF-OS" +-msgstr "статичний не підтримується в TPF-OS" ++msgstr "" + + #: config/sh/sh.h:299 config/sh/sh.h:302 + msgid "SH2a does not support little-endian" +-msgstr "SH2a не підтримує little-endian" ++msgstr "" + + #: config/sparc/linux64.h:142 + msgid "-fsanitize=address is not supported in this configuration" +-msgstr "-fsanitize=address не підтримується в цій конфігурації" ++msgstr "підтримки -fsanitize=адреса на цій конфігурації не передбачено" + + #: config/sparc/linux64.h:156 config/sparc/linux64.h:162 + #: config/sparc/netbsd-elf.h:103 config/sparc/netbsd-elf.h:112 + #: config/sparc/sol2.h:237 config/sparc/sol2.h:243 + msgid "may not use both -m32 and -m64" +-msgstr "не можна використовувати одночасно -m32 та -m64" ++msgstr "" + + #: config/vax/netbsd-elf.h:51 + msgid "the -shared option is not currently supported for VAX ELF" +-msgstr "опція -shared наразі не підтримується для VAX ELF" ++msgstr "" + + #: config/vax/vax.h:46 config/vax/vax.h:47 + msgid "profiling not supported with -mg" +-msgstr "профілювання не підтримується з -mg" ++msgstr "" + + #: ada/gcc-interface/lang-specs.h:38 + msgid "-c or -S required for Ada" +-msgstr "-c або -S потрібно для Ada" ++msgstr "" + + #: ada/gcc-interface/lang-specs.h:56 + msgid "-c required for gnat2why" +-msgstr "-c потрібно для gnat2why" ++msgstr "" + + #: ada/gcc-interface/lang-specs.h:67 + msgid "-c required for gnat2scil" +-msgstr "-c потрібно для gnat2scil" ++msgstr "" + + #: fortran/lang-specs.h:60 fortran/lang-specs.h:74 + msgid "gfortran does not support -E without -cpp" +-msgstr "gfortran не підтримує -E без -cpp" ++msgstr "" + + #: m2/lang-specs.h:48 + msgid "to generate dependencies you must specify '-fcpp' " +-msgstr "для генерації залежностей потрібно вказати '-fcpp'" ++msgstr "" + + #: objc/lang-specs.h:30 objc/lang-specs.h:41 + msgid "GNU Objective C no longer supports traditional compilation" +-msgstr "GNU Objective C більше не підтримує традиційну компіляцію" ++msgstr "" + + #: objc/lang-specs.h:55 + msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead" +-msgstr "objc-cpp-output застаріло; будь ласка, використовуйте objective-c-cpp-output замість цього" ++msgstr "objc-cpp-output вважається застарілим; будь ласка, скористайтеся замість нього objective-c-cpp-output" + + #: objcp/lang-specs.h:58 + msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead" +-msgstr "objc++-cpp-output застаріло; будь ласка, використовуйте objective-c++-cpp-output замість цього" ++msgstr "objc++-cpp-output вважається застарілим; будь ласка, скористайтеся замість нього objective-c++-cpp-output" + + #: fortran/lang.opt:146 + #, no-c-format + msgid "-J\tPut MODULE files in 'directory'." +-msgstr "-J<директорія>\tРозмістити файли MODULE у «директорії»." ++msgstr "" + + #: fortran/lang.opt:198 + #, no-c-format + msgid "Warn about possible aliasing of dummy arguments." +-msgstr "Попереджати про можливе псевдонімування фіктивних аргументів." ++msgstr "" + + #: fortran/lang.opt:202 + #, no-c-format + msgid "Warn about alignment of COMMON blocks." +-msgstr "Попереджати про вирівнювання блоків COMMON." ++msgstr "" + + #: fortran/lang.opt:206 + #, no-c-format + msgid "Warn about missing ampersand in continued character constants." +-msgstr "Попередження про відсутність символу «&» в продовжених символьних константах." ++msgstr "" + + #: fortran/lang.opt:210 + #, no-c-format + msgid "Warn about creation of array temporaries." +-msgstr "Попереджати про створення тимчасових масивів." ++msgstr "Попереджати щодо створення тимчасових масивів." + + #: fortran/lang.opt:214 fortran/lang.opt:535 c-family/c.opt:1529 + #: config/alpha/alpha.opt:31 common.opt:681 common.opt:823 common.opt:1064 +@@ -550,582 +552,582 @@ msgstr "Попереджати про створення тимчасових м + #: common.opt:2482 common.opt:3202 + #, no-c-format + msgid "Does nothing. Preserved for backward compatibility." +-msgstr "Нічого не робить. Зберігається для забезпечення сумісності з попередніми версіями." ++msgstr "" + + #: fortran/lang.opt:218 + #, no-c-format + msgid "Warn if the type of a variable might be not interoperable with C." +-msgstr "Попереджати, якщо тип змінної може бути несумісним з C." ++msgstr "" + + #: fortran/lang.opt:226 + #, no-c-format + msgid "Warn about truncated character expressions." +-msgstr "Попереджати про обрізання символьних виразів." ++msgstr "" + + #: fortran/lang.opt:230 + #, no-c-format + msgid "Warn about equality comparisons involving REAL or COMPLEX expressions." +-msgstr "Попередження про порівняння на рівність з використанням виразів REAL або COMPLEX." ++msgstr "" + + #: fortran/lang.opt:238 + #, no-c-format + msgid "Warn about most implicit conversions." +-msgstr "Попереджати про більшість неявних перетворень." ++msgstr "" + + #: fortran/lang.opt:242 + #, no-c-format + msgid "Warn about possibly incorrect subscripts in do loops." +-msgstr "Попередження про можливо неправильні підскрипти в циклах do." ++msgstr "" + + #: fortran/lang.opt:250 + #, no-c-format + msgid "Warn if loops have been interchanged." +-msgstr "Попереджати, якщо цикли були поміняні місцями." ++msgstr "" + + #: fortran/lang.opt:254 + #, no-c-format + msgid "Warn about function call elimination." +-msgstr "Попередження про видалення викликів функцій." ++msgstr "" + + #: fortran/lang.opt:258 + #, no-c-format + msgid "Warn about calls with implicit interface." +-msgstr "Попереджати про виклики з неявним інтерфейсом." ++msgstr "" + + #: fortran/lang.opt:262 + #, no-c-format + msgid "Warn about called procedures not explicitly declared." +-msgstr "Попереджати про виклики процедур, які не були явно оголошені." ++msgstr "" + + #: fortran/lang.opt:266 + #, no-c-format + msgid "Warn about constant integer divisions with truncated results." +-msgstr "Попереджати про константні цілочисельні ділення з обрізаними результатами." ++msgstr "" + + #: fortran/lang.opt:270 + #, no-c-format + msgid "Warn about truncated source lines." +-msgstr "Попередження про обрізані рядки вихідного коду." ++msgstr "" + + #: fortran/lang.opt:274 + #, no-c-format + msgid "Warn on intrinsics not part of the selected standard." +-msgstr "Попередження про використання вбудованих функцій, які не входять до обраного стандарту." ++msgstr "" + + #: fortran/lang.opt:286 + #, no-c-format + msgid "Warn about USE statements that have no ONLY qualifier." +-msgstr "Попередження про використання операторів USE без явного вказівника ONLY." ++msgstr "" + + #: fortran/lang.opt:298 + #, no-c-format + msgid "Warn that -fno-automatic may break recursion." +-msgstr "Попереджати, що -fno-automatic може порушити рекурсію." ++msgstr "" + + #: fortran/lang.opt:306 + #, no-c-format + msgid "Warn about real-literal-constants with 'q' exponent-letter." +-msgstr "Попередження про використання літералів-констант з дійсними числами з літерою-показником 'q'." ++msgstr "" + + #: fortran/lang.opt:310 + #, no-c-format + msgid "Warn when a left-hand-side array variable is reallocated." +-msgstr "Попереджати, коли змінна масиву з лівого боку перерозподіляється." ++msgstr "" + + #: fortran/lang.opt:314 + #, no-c-format + msgid "Warn when a left-hand-side variable is reallocated." +-msgstr "Попереджати, коли змінна з лівого боку перерозподіляється." ++msgstr "" + + #: fortran/lang.opt:318 + #, no-c-format + msgid "Warn if the pointer in a pointer assignment might outlive its target." +-msgstr "Попередження, якщо вказівник у присвоєнні вказівників може пережити свою ціль." ++msgstr "" + + #: fortran/lang.opt:326 + #, no-c-format + msgid "Warn about \"suspicious\" constructs." +-msgstr "Попереджати про «підозрілі» конструкції." ++msgstr "" + + #: fortran/lang.opt:330 + #, no-c-format + msgid "Permit nonconforming uses of the tab character." +-msgstr "Дозволити невідповідні використання символу табуляції." ++msgstr "" + + #: fortran/lang.opt:334 + #, no-c-format + msgid "Warn about an invalid DO loop." +-msgstr "Попереджати про недійсний цикл DO." ++msgstr "" + + #: fortran/lang.opt:338 + #, no-c-format + msgid "Warn about underflow of numerical constant expressions." +-msgstr "Попереджати про недостатність числових константних виразів." ++msgstr "" + + #: fortran/lang.opt:346 + #, no-c-format + msgid "Warn if a user-procedure has the same name as an intrinsic." +-msgstr "Попереджати, якщо користувацька процедура має ту саму назву, що і вбудована." ++msgstr "" + + #: fortran/lang.opt:354 + #, no-c-format + msgid "Warn about unused dummy arguments." +-msgstr "Попереджати про невикористані фіктивні аргументи." ++msgstr "" + + #: fortran/lang.opt:358 + #, no-c-format + msgid "Warn about zero-trip DO loops." +-msgstr "Попереджати про цикли DO з нульовою кількістю ітерацій." ++msgstr "" + + #: fortran/lang.opt:362 + #, no-c-format + msgid "Enable preprocessing." +-msgstr "Увімкнути попередню обробку." ++msgstr "" + + #: fortran/lang.opt:370 + #, no-c-format + msgid "Disable preprocessing." +-msgstr "Вимкнути попередню обробку." ++msgstr "" + + #: fortran/lang.opt:378 + #, no-c-format + msgid "Accept argument mismatches in procedure calls." +-msgstr "Приймати несумісність аргументів у викликах процедур." ++msgstr "" + + #: fortran/lang.opt:382 + #, no-c-format + msgid "Eliminate multiple function invocations also for impure functions." +-msgstr "Усунути кілька викликів функцій, навіть для незбалансованих функцій." ++msgstr "" + + #: fortran/lang.opt:386 + #, no-c-format + msgid "Enable alignment of COMMON blocks." +-msgstr "Увімкнути вирівнювання блоків COMMON." ++msgstr "" + + #: fortran/lang.opt:390 + #, no-c-format + msgid "All intrinsics procedures are available regardless of selected standard." +-msgstr "Всі вбудовані процедури доступні незалежно від вибраного стандарту." ++msgstr "" + + #: fortran/lang.opt:394 + #, no-c-format + msgid "Allow a BOZ literal constant to appear in an invalid context and with X instead of Z." +-msgstr "Дозволити появу літеральної константи BOZ в недійсному контексті та замість Z використовувати X." ++msgstr "" + + #: fortran/lang.opt:402 + #, no-c-format + msgid "Do not treat local variables and COMMON blocks as if they were named in SAVE statements." +-msgstr "Не розглядати локальні змінні та COMMON-блоки так, ніби вони були названі в SAVE-операторах." ++msgstr "" + + #: fortran/lang.opt:406 + #, no-c-format + msgid "Specify that backslash in string introduces an escape character." +-msgstr "Вказати, що зворотний слеш в рядку вводить символ екранування." ++msgstr "" + + #: fortran/lang.opt:410 + #, no-c-format + msgid "Produce a backtrace when a runtime error is encountered." +-msgstr "Створити трасування викликів при виникненні помилки під час виконання." ++msgstr "" + + #: fortran/lang.opt:414 + #, no-c-format + msgid "-fblas-matmul-limit=\tSize of the smallest matrix for which matmul will use BLAS." +-msgstr "-fblas-matmul-limit=\tРозмір найменшої матриці, для якої matmul буде використовувати BLAS." ++msgstr "" + + #: fortran/lang.opt:421 + #, no-c-format + msgid "Produce a warning at runtime if a array temporary has been created for a procedure argument." +-msgstr "Виробляти попередження під час виконання, якщо для аргументу процедури було створено тимчасовий масив." ++msgstr "" + + #: fortran/lang.opt:425 + #, no-c-format + msgid "-fconvert=\tThe endianness used for unformatted files." +-msgstr "-fconvert=\tПорядок байтів, що використовується для неформатованих файлів." ++msgstr "" + + #: fortran/lang.opt:450 + #, no-c-format + msgid "Use the Cray Pointer extension." +-msgstr "Використовувати розширення вказівників Cray." ++msgstr "" + + #: fortran/lang.opt:454 + #, no-c-format + msgid "Generate C prototypes from BIND(C) declarations." +-msgstr "Генерувати C-прототипи з декларацій BIND(C)." ++msgstr "" + + #: fortran/lang.opt:458 + #, no-c-format + msgid "Generate C prototypes from non-BIND(C) external procedure definitions." +-msgstr "Генерувати C-прототипи з зовнішніх визначень процедур, які не є BIND(C)." ++msgstr "" + + #: fortran/lang.opt:462 + #, no-c-format + msgid "Ignore 'D' in column one in fixed form." +-msgstr "Ігнорувати «D» в першому стовпчику у фіксованій формі." ++msgstr "" + + #: fortran/lang.opt:466 + #, no-c-format + msgid "Treat lines with 'D' in column one as comments." +-msgstr "Трактувати рядки з «D» в першому стовпчику як коментарі." ++msgstr "" + + #: fortran/lang.opt:470 + #, no-c-format + msgid "Issue debug information for compiler-generated auxiliary variables." +-msgstr "Виводити відлагоджувальну інформацію для допоміжних змінних, згенерованих компілятором." ++msgstr "" + + #: fortran/lang.opt:474 + #, no-c-format + msgid "Enable all DEC language extensions." +-msgstr "Увімкнути всі розширення мови DEC." ++msgstr "" + + #: fortran/lang.opt:478 + #, no-c-format + msgid "Enable the use of blank format items in format strings." +-msgstr "Увімкнути використання порожніх елементів формату в рядках форматування." ++msgstr "" + + #: fortran/lang.opt:482 + #, no-c-format + msgid "Enable the use of character literals in assignments and data statements for non-character variables." +-msgstr "Увімкнути використання літералів символів в присвоєннях та операторах даних для несимвольних змінних." ++msgstr "" + + #: fortran/lang.opt:487 + #, no-c-format + msgid "Enable legacy parsing of INCLUDE as statement." +-msgstr "Увімкнути старе розбирання INCLUDE як оператора." ++msgstr "" + + #: fortran/lang.opt:491 + #, no-c-format + msgid "Enable default widths for i, f and g format specifiers." +-msgstr "Увімкнути типові ширини для специфікаторів формату i, f та g." ++msgstr "" + + #: fortran/lang.opt:495 + #, no-c-format + msgid "Enable kind-specific variants of integer intrinsic functions." +-msgstr "Увімкнути види специфікацій для вбудованих цілочисельних функцій." ++msgstr "" + + #: fortran/lang.opt:499 + #, no-c-format + msgid "Enable legacy math intrinsics for compatibility." +-msgstr "Увімкнути спадкові математичні інтринси для сумісності." ++msgstr "" + + #: fortran/lang.opt:503 + #, no-c-format + msgid "Enable support for DEC STRUCTURE/RECORD." +-msgstr "Увімкнути підтримку DEC STRUCTURE/RECORD." ++msgstr "" + + #: fortran/lang.opt:507 + #, no-c-format + msgid "Enable DEC-style STATIC and AUTOMATIC attributes." +-msgstr "Увімкнути атрибути STATIC та AUTOMATIC у стилі DEC." ++msgstr "" + + #: fortran/lang.opt:511 + #, no-c-format + msgid "Set the default double precision kind to an 8 byte wide type." +-msgstr "Встановити тип за замовчуванням для подвійної точності як тип шириною 8 байт." ++msgstr "" + + #: fortran/lang.opt:515 + #, no-c-format + msgid "Set the default integer kind to an 8 byte wide type." +-msgstr "Встановити тип за замовчуванням для цілочисельних як тип шириною 8 байт." ++msgstr "" + + #: fortran/lang.opt:519 + #, no-c-format + msgid "Set the default real kind to an 8 byte wide type." +-msgstr "Встановити тип за замовчуванням для дійсних чисел як тип шириною 8 байт." ++msgstr "" + + #: fortran/lang.opt:523 + #, no-c-format + msgid "Set the default real kind to an 10 byte wide type." +-msgstr "Встановити тип за замовчуванням для дійсних чисел як тип шириною 10 байт." ++msgstr "" + + #: fortran/lang.opt:527 + #, no-c-format + msgid "Set the default real kind to an 16 byte wide type." +-msgstr "Встановити тип за замовчуванням для дійсних чисел як тип шириною 16 байт." ++msgstr "" + + #: fortran/lang.opt:531 + #, no-c-format + msgid "Allow dollar signs in entity names." +-msgstr "Дозволити знаки долара в назвах сутностей." ++msgstr "" + + #: fortran/lang.opt:539 + #, no-c-format + msgid "Display the code tree after parsing." +-msgstr "Показувати дерево коду після синтаксичного аналізу." ++msgstr "" + + #: fortran/lang.opt:543 + #, no-c-format + msgid "Display the code tree after front end optimization." +-msgstr "Показувати дерево коду після оптимізації передньої частини." ++msgstr "" + + #: fortran/lang.opt:547 + #, no-c-format + msgid "Display the global symbol table after parsing." +-msgstr "Показувати глобальну таблицю символів після синтаксичного аналізу." ++msgstr "" + + #: fortran/lang.opt:551 + #, no-c-format + msgid "Display the code tree after parsing; deprecated option." +-msgstr "Показувати дерево коду після синтаксичного аналізу; застаріла опція." ++msgstr "" + + #: fortran/lang.opt:555 + #, no-c-format + msgid "Specify that an external BLAS library should be used for matmul calls on large-size arrays." +-msgstr "Вказати, що для викликів matmul з великими масивами слід використовувати зовнішню бібліотеку BLAS." ++msgstr "" + + #: fortran/lang.opt:559 + #, no-c-format + msgid "Use f2c calling convention." +-msgstr "Використовувати конвенцію виклику f2c." ++msgstr "" + + #: fortran/lang.opt:563 + #, no-c-format + msgid "Assume that the source file is fixed form." +-msgstr "Припустити, що вихідний файл має фіксовану форму." ++msgstr "" + + #: fortran/lang.opt:567 + #, no-c-format + msgid "Force creation of temporary to test infrequently-executed forall code." +-msgstr "Примусове створення тимчасової змінної для тестування рідко виконуваного коду forall." ++msgstr "" + + #: fortran/lang.opt:571 + #, no-c-format + msgid "Interpret any INTEGER(4) as an INTEGER(8)." +-msgstr "Інтерпретувати будь-яке INTEGER(4) як INTEGER(8)." ++msgstr "" + + #: fortran/lang.opt:575 fortran/lang.opt:579 + #, no-c-format + msgid "Specify where to find the compiled intrinsic modules." +-msgstr "Вказати, де знаходяться скомпільовані вбудовані модулі." ++msgstr "" + + #: fortran/lang.opt:583 + #, no-c-format + msgid "Allow arbitrary character line width in fixed mode." +-msgstr "Дозволити довільну ширину символів у фіксованому режимі." ++msgstr "" + + #: fortran/lang.opt:587 + #, no-c-format + msgid "-ffixed-line-length-\tUse n as character line width in fixed mode." +-msgstr "-ffixed-line-length-\tВикористовувати n як ширину символів у фіксованому режимі." ++msgstr "" + + #: fortran/lang.opt:591 + #, no-c-format + msgid "Pad shorter fixed form lines to line width with spaces." +-msgstr "Додати пробіли до коротших рядків фіксованої форми до ширини рядка." ++msgstr "" + + #: fortran/lang.opt:595 + #, no-c-format + msgid "-ffpe-trap=[...]\tStop on following floating point exceptions." +-msgstr "-ffpe-trap=[...]\tЗупинитися на наступних винятках з плаваючою комою." ++msgstr "" + + #: fortran/lang.opt:599 + #, no-c-format + msgid "-ffpe-summary=[...]\tPrint summary of floating point exceptions." +-msgstr "-ffpe-summary=[...]\tНадрукувати підсумок винятків з плаваючою комою." ++msgstr "" + + #: fortran/lang.opt:603 + #, no-c-format + msgid "Assume that the source file is free form." +-msgstr "Припустити, що вихідний файл має вільну форму." ++msgstr "" + + #: fortran/lang.opt:607 + #, no-c-format + msgid "Allow arbitrary character line width in free mode." +-msgstr "Дозволити довільну ширину рядка символів у вільному режимі." ++msgstr "" + + #: fortran/lang.opt:611 + #, no-c-format + msgid "-ffree-line-length-\tUse n as character line width in free mode." +-msgstr "-ffree-line-length-\tВикористовувати n як ширину рядка символів у вільному режимі." ++msgstr "" + + #: fortran/lang.opt:615 + #, no-c-format + msgid "Try to interchange loops if profitable." +-msgstr "Спробувати обміняти цикли, якщо це прибутково." ++msgstr "" + + #: fortran/lang.opt:619 + #, no-c-format + msgid "Enable front end optimization." +-msgstr "Увімкнути оптимізацію передньої частини." ++msgstr "" + + #: fortran/lang.opt:623 + #, no-c-format + msgid "Specify that no implicit typing is allowed, unless overridden by explicit IMPLICIT statements." +-msgstr "Вказати, що не дозволяється неявне типізування, якщо його не перевизначено явними операторами IMPLICIT." ++msgstr "" + + #: fortran/lang.opt:627 + #, no-c-format + msgid "-finit-character=\tInitialize local character variables to ASCII value n." +-msgstr "-finit-character=\tІніціалізувати локальні змінні типу символу значенням ASCII n." ++msgstr "" + + #: fortran/lang.opt:631 + #, no-c-format + msgid "Initialize components of derived type variables according to other init flags." +-msgstr "Ініціалізувати компоненти змінних похідного типу відповідно до інших прапорців ініціалізації." ++msgstr "" + + #: fortran/lang.opt:635 + #, no-c-format + msgid "-finit-integer=\tInitialize local integer variables to n." +-msgstr "-finit-integer=\tІніціалізувати локальні змінні типу ціле значенням n." ++msgstr "" + + #: fortran/lang.opt:639 + #, no-c-format + msgid "Initialize local variables to zero (from g77)." +-msgstr "Ініціалізувати локальні змінні нулем (з g77)." ++msgstr "" + + #: fortran/lang.opt:643 + #, no-c-format + msgid "-finit-logical=\tInitialize local logical variables." +-msgstr "-finit-logical=\tІніціалізувати локальні логічні змінні." ++msgstr "" + + #: fortran/lang.opt:647 + #, no-c-format + msgid "-finit-real=\tInitialize local real variables." +-msgstr "-finit-real=\tІніціалізувати локальні змінні типу дійсне значенням." ++msgstr "" + + #: fortran/lang.opt:669 + #, no-c-format + msgid "-finline-arg-packing\tPerform argument packing inline." +-msgstr "-finline-arg-packing\tВиконувати компактизацію аргументів в рядку." ++msgstr "" + + #: fortran/lang.opt:673 + #, no-c-format + msgid "-finline-matmul-limit=\tSpecify the size of the largest matrix for which matmul will be inlined." +-msgstr "-finline-matmul-limit=\tВказати розмір найбільшої матриці, для якої matmul буде вбудовано." ++msgstr "" + + #: fortran/lang.opt:677 + #, no-c-format + msgid "-fmax-array-constructor=\tMaximum number of objects in an array constructor." +-msgstr "-fmax-array-constructor=\tМаксимальна кількість обʼєктів у конструкторі масиву." ++msgstr "" + + #: fortran/lang.opt:681 + #, no-c-format + msgid "-fmax-identifier-length=\tMaximum identifier length." +-msgstr "-fmax-identifier-length=\tМаксимальна довжина ідентифікатора." ++msgstr "" + + #: fortran/lang.opt:685 + #, no-c-format + msgid "-fmax-subrecord-length=\tMaximum length for subrecords." +-msgstr "-fmax-subrecord-length=\tМаксимальна довжина підзаписів." ++msgstr "" + + #: fortran/lang.opt:689 + #, no-c-format + msgid "-fmax-stack-var-size=\tSize in bytes of the largest array that will be put on the stack." +-msgstr "-fmax-stack-var-size=\tРозмір у байтах найбільшого масиву, який буде поміщений у стек." ++msgstr "" + + #: fortran/lang.opt:693 + #, no-c-format + msgid "Put all local arrays on stack." +-msgstr "Помістити всі локальні масиви у стек." ++msgstr "" + + #: fortran/lang.opt:697 + #, no-c-format + msgid "Set default accessibility of module entities to PRIVATE." +-msgstr "Встановити приватний доступ за замовчуванням для сутностей модуля." ++msgstr "" + + #: fortran/lang.opt:717 + #, no-c-format + msgid "Try to lay out derived types as compactly as possible." +-msgstr "Спробуйте розмістити похідні типи якомога компактніше." ++msgstr "" + + #: fortran/lang.opt:725 + #, no-c-format + msgid "Protect parentheses in expressions." +-msgstr "Захистити дужки в виразах." ++msgstr "" + + #: fortran/lang.opt:729 + #, no-c-format + msgid "Path to header file that should be pre-included before each compilation unit." +-msgstr "Шлях до файлу заголовка, який повинен бути попередньо включений перед кожною одиницею компіляції." ++msgstr "" + + #: fortran/lang.opt:733 + #, no-c-format + msgid "Enable range checking during compilation." +-msgstr "Увімкнути перевірку діапазону під час компіляції." ++msgstr "" + + #: fortran/lang.opt:737 + #, no-c-format + msgid "Interpret any REAL(4) as a REAL(8)." +-msgstr "Інтерпретувати будь-яке REAL(4) як REAL(8)." ++msgstr "" + + #: fortran/lang.opt:741 + #, no-c-format + msgid "Interpret any REAL(4) as a REAL(10)." +-msgstr "Інтерпретувати будь-яке REAL(4) як REAL(10)." ++msgstr "" + + #: fortran/lang.opt:745 + #, no-c-format + msgid "Interpret any REAL(4) as a REAL(16)." +-msgstr "Інтерпретувати будь-яке REAL(4) як REAL(16)." ++msgstr "" + + #: fortran/lang.opt:749 + #, no-c-format + msgid "Interpret any REAL(8) as a REAL(4)." +-msgstr "Інтерпретувати будь-яке REAL(8) як REAL(4)." ++msgstr "" + + #: fortran/lang.opt:753 + #, no-c-format + msgid "Interpret any REAL(8) as a REAL(10)." +-msgstr "Інтерпретувати будь-який REAL(8) як REAL(10)." ++msgstr "" + + #: fortran/lang.opt:757 + #, no-c-format + msgid "Interpret any REAL(8) as a REAL(16)." +-msgstr "Інтерпретувати будь-який REAL(8) як REAL(16)." ++msgstr "" + + #: fortran/lang.opt:761 + #, no-c-format + msgid "Reallocate the LHS in assignments." +-msgstr "Перерозподілити LHS в присвоєннях." ++msgstr "" + + #: fortran/lang.opt:765 + #, no-c-format + msgid "Use a 4-byte record marker for unformatted files." +-msgstr "Використовувати 4-байтовий маркер запису для неформатованих файлів." ++msgstr "" + + #: fortran/lang.opt:769 + #, no-c-format + msgid "Use an 8-byte record marker for unformatted files." +-msgstr "Використовувати 8-байтовий маркер запису для неформатованих файлів." ++msgstr "" + + #: fortran/lang.opt:773 + #, no-c-format + msgid "Allocate local variables on the stack to allow indirect recursion." +-msgstr "Виділяти локальні змінні в стеку для дозволу непрямої рекурсії." ++msgstr "" + + #: fortran/lang.opt:777 + #, no-c-format + msgid "Copy array sections into a contiguous block on procedure entry." +-msgstr "Копіювати секції масиву в послідовний блок при вході в процедуру." ++msgstr "" + + #: fortran/lang.opt:781 + #, no-c-format + msgid "-fcoarray=\tSpecify which coarray parallelization should be used." +-msgstr "-fcoarray=\tВказати, яку паралелізацію coarray слід використовувати." ++msgstr "" + + #: fortran/lang.opt:797 + #, no-c-format + msgid "-fcheck=[...]\tSpecify which runtime checks are to be performed." +-msgstr "-fcheck=[...]\tВказує, які перевірки часу виконання мають бути виконані." ++msgstr "" + + #: fortran/lang.opt:801 + #, no-c-format + msgid "Append a second underscore if the name already contains an underscore." +-msgstr "Додати другу підкреслювання, якщо імʼя вже містить підкреслювання." ++msgstr "" + + #: fortran/lang.opt:809 + #, no-c-format + msgid "Apply negative sign to zero values." +-msgstr "Застосувати відʼємний знак до значень нуля." ++msgstr "" + + #: fortran/lang.opt:816 + #, no-c-format + msgid "Disallow tail call optimization when a calling routine may have omitted character lengths." +-msgstr "Заборонити оптимізацію хвостового виклику, коли викликаюча процедура може пропустити довжини символів." ++msgstr "" + + #: fortran/lang.opt:820 + #, no-c-format + msgid "Append underscores to externally visible names." +-msgstr "Додати підкреслювання до зовнішньо видимих імен." ++msgstr "" + + #: fortran/lang.opt:824 c-family/c.opt:1664 c-family/c.opt:1741 + #: c-family/c.opt:1749 c-family/c.opt:2068 config/pa/pa.opt:46 +@@ -1141,437 +1143,437 @@ msgstr "Додати підкреслювання до зовнішньо вид + #: common.opt:3440 common.opt:3444 + #, no-c-format + msgid "Does nothing. Preserved for backward compatibility." +-msgstr "Нічого не робить. Зберігається для забезпечення сумісності з попередніми версіями." ++msgstr "" + + #: fortran/lang.opt:864 + #, no-c-format + msgid "Statically link the GNU Fortran helper library (libgfortran)." +-msgstr "Статично звʼязати допоміжну бібліотеку GNU Fortran (libgfortran)." ++msgstr "" + + #: fortran/lang.opt:868 + #, no-c-format + msgid "Statically link the GCC Quad-Precision Math Library (libquadmath)." +-msgstr "Статично звʼязати бібліотеку математики з подвійною точністю GCC (libquadmath)." ++msgstr "" + + #: fortran/lang.opt:872 + #, no-c-format + msgid "Conform to the ISO Fortran 2003 standard." +-msgstr "Відповідати стандарту ISO Fortran 2003." ++msgstr "" + + #: fortran/lang.opt:876 + #, no-c-format + msgid "Conform to the ISO Fortran 2008 standard." +-msgstr "Відповідати стандарту ISO Fortran 2008." ++msgstr "" + + #: fortran/lang.opt:880 + #, no-c-format + msgid "Conform to the ISO Fortran 2008 standard including TS 29113." +-msgstr "Відповідати стандарту ISO Fortran 2008, включаючи TS 29113." ++msgstr "" + + #: fortran/lang.opt:884 + #, no-c-format + msgid "Conform to the ISO Fortran 2018 standard." +-msgstr "Відповідати стандарту ISO Fortran 2018." ++msgstr "" + + #: fortran/lang.opt:888 + #, no-c-format + msgid "Conform to the ISO Fortran 95 standard." +-msgstr "Відповідати стандарту ISO Fortran 95." ++msgstr "" + + #: fortran/lang.opt:892 + #, no-c-format + msgid "Conform to nothing in particular." +-msgstr "Не відповідати нічому конкретному." ++msgstr "" + + #: fortran/lang.opt:896 + #, no-c-format + msgid "Accept extensions to support legacy code." +-msgstr "Приймати розширення для підтримки старого коду." ++msgstr "" + + #: rust/lang.opt:47 rust/lang.opt:51 c-family/c.opt:1407 c-family/c.opt:1411 + #, no-c-format + msgid "Warn when a const variable is unused." +-msgstr "Попереджати, коли невикористовується константна змінна." ++msgstr "" + + #: rust/lang.opt:55 c-family/c.opt:1399 + #, no-c-format + msgid "Warn if a caller of a function, marked with attribute warn_unused_result, does not use its return value." +-msgstr "Попереджати, якщо викликач функції, позначеної атрибутом warn_unused_result, не використовує її повернене значення." ++msgstr "" + + #: rust/lang.opt:59 + #, no-c-format + msgid "-frust-crate= Set the crate name for the compilation" +-msgstr "-frust-crate=<імʼя> Встановити назву криївки (crate) для компіляції" ++msgstr "" + + #: rust/lang.opt:63 + #, no-c-format + msgid "Dump various Rust front end internals." +-msgstr "Вивести різні внутрішні елементи передньої частини Rust." ++msgstr "" + + #: rust/lang.opt:67 + #, no-c-format + msgid "-frust-dump-\tDump Rust frontend internal information." +-msgstr "-frust-dump-<тип>\tВивести внутрішню інформацію передньої частини Rust." ++msgstr "" + + #: rust/lang.opt:71 + #, no-c-format + msgid "Enable experimental compilation of Rust files at your own risk" +-msgstr "Увімкнути експериментальну компіляцію файлів Rust на власний ризик" ++msgstr "" + + #: rust/lang.opt:75 + #, no-c-format + msgid "-frust-max-recursion-depth=integer" +-msgstr "-frust-max-recursion-depth=ціле" ++msgstr "" + + #: rust/lang.opt:79 + #, no-c-format + msgid "-frust-mangling=[legacy|v0] Choose which version to use for name mangling" +-msgstr "-frust-mangling=[legacy|v0] Виберіть, яку версію використовувати для декорування імен" ++msgstr "" + + #: rust/lang.opt:92 + #, no-c-format + msgid "-frust-cfg= Set a config expansion option" +-msgstr "-frust-cfg=<імʼя> Встановити параметр розширення конфігурації" ++msgstr "" + + #: rust/lang.opt:96 + #, no-c-format + msgid "-frust-edition=[2015|2018|2021] Choose which edition to use when compiling rust code" +-msgstr "-frust-edition=[2015|2018|2021] Виберіть, яку редакцію використовувати при компіляції коду rust" ++msgstr "" + + #: rust/lang.opt:112 + #, no-c-format + msgid "Flag to enable embeding metadata directly into object files" +-msgstr "Прапорець для включення метаданих безпосередньо в обʼєктні файли" ++msgstr "" + + #: rust/lang.opt:116 + #, no-c-format + msgid "-frust-metadata-output= Path to output crate metadata" +-msgstr "-frust-metadata-output=<шлях.rox> Шлях до вихідних метаданих ящика" ++msgstr "" + + #: rust/lang.opt:124 + #, no-c-format + msgid "-frust-compile-until=[ast|attributecheck|expansion|nameresolution|lowering|typecheck|privacy|unsafety|const|copimlation|end] When to stop in the pipeline when compiling Rust code" +-msgstr "-frust-compile-until=[ast|attributecheck|expansion|nameresolution|lowering|typecheck|privacy|unsafety|const|copimlation|end] Коли зупинитися в конвеєрі під час компіляції коду Rust" ++msgstr "" + + #: c-family/c.opt:182 + #, no-c-format + msgid "-A=\tAssert the to . Putting '-' before disables the to ." +-msgstr "-A<питання>=<відповідь>\tПеревірити <відповідь> на <питання>. Поставлення '-' перед <питання> вимикає <відповідь> на <питання>." ++msgstr "" + + #: c-family/c.opt:186 + #, no-c-format + msgid "Do not discard comments." +-msgstr "Не викидайте коментарі." ++msgstr "" + + #: c-family/c.opt:190 + #, no-c-format + msgid "Do not discard comments in macro expansions." +-msgstr "Не викидайте коментарі в розширеннях макросів." ++msgstr "" + + #: c-family/c.opt:194 + #, no-c-format + msgid "-D[=]\tDefine a with as its value. If just is given, is taken to be 1." +-msgstr "-D<макро>[=<значення>]\tВизначити <макро> зі значенням <значення>. Якщо задано лише <макро>, <значення> вважається 1." ++msgstr "" + + #: c-family/c.opt:201 + #, no-c-format + msgid "-F \tAdd to the end of the main framework include path." +-msgstr "-F <каталог>\tДодати <каталог> в кінець основного шляху включення фреймворку." ++msgstr "" + + #: c-family/c.opt:205 + #, no-c-format + msgid "Enable parsing GIMPLE." +-msgstr "Увімкнути аналіз GIMPLE." ++msgstr "" + + #: c-family/c.opt:209 + #, no-c-format + msgid "Print the name of header files as they are used." +-msgstr "Виводить назви файлів заголовків при їх використанні." ++msgstr "" + + #: c-family/c.opt:213 + #, no-c-format + msgid "-I \tAdd to the end of the main include path." +-msgstr "-I <каталог>\tДодати <каталог> в кінець основного шляху включення." ++msgstr "" + + #: c-family/c.opt:217 + #, no-c-format + msgid "Generate make dependencies." +-msgstr "Генерувати залежності для make." ++msgstr "" + + #: c-family/c.opt:221 + #, no-c-format + msgid "Generate make dependencies and compile." +-msgstr "Генерувати залежності для make та компілювати." ++msgstr "" + + #: c-family/c.opt:225 + #, no-c-format + msgid "-MF \tWrite dependency output to the given file." +-msgstr "-MF <файл>\tЗаписати вихідні дані залежностей у вказаний файл." ++msgstr "" + + #: c-family/c.opt:229 + #, no-c-format + msgid "Treat missing header files as generated files." +-msgstr "Трактувати відсутні файли заголовків як згенеровані файли." ++msgstr "" + + #: c-family/c.opt:233 + #, no-c-format + msgid "Like -M but ignore system header files." +-msgstr "Подібно до -M, але ігнорує системні файли заголовків." ++msgstr "" + + #: c-family/c.opt:237 + #, no-c-format + msgid "Like -MD but ignore system header files." +-msgstr "Подібно до -MD, але ігнорує системні файли заголовків." ++msgstr "" + + #: c-family/c.opt:241 + #, no-c-format + msgid "Generate C++ Module dependency information." +-msgstr "Генерувати інформацію про залежності модулів C++." ++msgstr "" + + #: c-family/c.opt:249 + #, no-c-format + msgid "Generate phony targets for all headers." +-msgstr "Генерувати фальшиві цілі для всіх заголовків." ++msgstr "" + + #: c-family/c.opt:253 + #, no-c-format + msgid "-MQ \tAdd a target that may require quoting." +-msgstr "-MQ <ціль>\tДодати ціль, яка може вимагати цитування." ++msgstr "" + + #: c-family/c.opt:257 + #, no-c-format + msgid "-MT \tAdd a target that does not require quoting." +-msgstr "-MT <ціль>\tДодати ціль, яка не вимагає цитування." ++msgstr "" + + #: c-family/c.opt:261 + #, no-c-format + msgid "Do not generate #line directives." +-msgstr "Не генерувати директиви #line." ++msgstr "" + + #: c-family/c.opt:265 + #, no-c-format + msgid "-U\tUndefine ." +-msgstr "-U<макро>\tСкасувати визначення <макро>." ++msgstr "" + + #: c-family/c.opt:269 + #, no-c-format + msgid "Warn if the NSObject attribute is applied to a non-typedef." +-msgstr "Попереджати, якщо атрибут NSObject застосовується до не typedef." ++msgstr "" + + #: c-family/c.opt:273 + #, no-c-format + msgid "Warn about things that will change when compiling with an ABI-compliant compiler." +-msgstr "Попереджати про зміни, які відбудуться при компіляції з сумісним з ABI компілятором." ++msgstr "" + + #: c-family/c.opt:277 + #, no-c-format + msgid "Warn about things that change between the current -fabi-version and the specified version." +-msgstr "Попереджати про зміни, які відбуваються між поточною -fabi-версією та вказаною версією." ++msgstr "" + + #: c-family/c.opt:281 + #, no-c-format + msgid "Warn if a subobject has an abi_tag attribute that the complete object type does not have." +-msgstr "Попереджати, якщо підобʼєкт має атрибут abi_tag, якого немає в повному типі обʼєкта." ++msgstr "" + + #: c-family/c.opt:288 + #, no-c-format + msgid "Warn on suspicious calls of standard functions computing absolute values." +-msgstr "Попереджати про підозрілі виклики стандартних функцій, що обчислюють абсолютні значення." ++msgstr "" + + #: c-family/c.opt:292 + #, no-c-format + msgid "Warn about suspicious uses of memory addresses." +-msgstr "Попереджати про підозріле використання адрес памʼяті." ++msgstr "" + + #: c-family/c.opt:308 + #, no-c-format + msgid "Warn about 'new' of type with extended alignment without -faligned-new." +-msgstr "Попереджати про «new» типу з розширеним вирівнюванням без -faligned-new." ++msgstr "" + + #: c-family/c.opt:312 + #, no-c-format + msgid "-Waligned-new=[none|global|all]\tWarn even if 'new' uses a class member allocation function." +-msgstr "-Waligned-new=[none|global|all]\tПопереджати навіть якщо «new» використовує функцію виділення члена класу." ++msgstr "" + + #: c-family/c.opt:316 ada/gcc-interface/lang.opt:57 + #, no-c-format + msgid "Enable most warning messages." +-msgstr "Увімкнути більшість повідомлень про попередження." ++msgstr "Увімкнути якнайбільше повідомлень із попередженнями." + + #: c-family/c.opt:320 + #, no-c-format + msgid "Warn on any use of alloca." +-msgstr "Попереджати про будь-яке використання alloca." ++msgstr "Попереджати про усі використання alloca." + + #: c-family/c.opt:324 + #, no-c-format + msgid "-Walloc-size-larger-than=\tWarn for calls to allocation functions that attempt to allocate objects larger than the specified number of bytes." +-msgstr "-Walloc-size-larger-than=<байтів>\tПопереджати про виклики функцій виділення памʼяті, які намагаються виділити обʼєкти, розмір яких більший за вказану кількість байтів." ++msgstr "" + + #: c-family/c.opt:329 + #, no-c-format + msgid "Disable Walloc-size-larger-than= warning. Equivalent to Walloc-size-larger-than= or larger." +-msgstr "Вимкнути попередження Walloc-size-larger-than=. Еквівалентно Walloc-size-larger-than= або більше." ++msgstr "" + + #: c-family/c.opt:333 + #, no-c-format + msgid "Warn for calls to allocation functions that specify zero bytes." +-msgstr "Попереджувати про виклики функцій виділення памʼяті, які вказують нульові байти." ++msgstr "" + + #: c-family/c.opt:337 + #, no-c-format + msgid "-Walloca-larger-than=\tWarn on unbounded uses of alloca, and on bounded uses of alloca whose bound can be larger than bytes." +-msgstr "-Walloca-larger-than=<число>\tПопереджувати про необмежене використання alloca та про обмежене використання alloca, обмеження якого може бути більше <число> байтів." ++msgstr "" + + #: c-family/c.opt:343 + #, no-c-format + msgid "Disable Walloca-larger-than= warning. Equivalent to Walloca-larger-than= or larger." +-msgstr "Вимкнути попередження Walloca-larger-than=. Еквівалентно Walloca-larger-than= або більше." ++msgstr "" + + #: c-family/c.opt:351 + #, no-c-format + msgid "Warn about comparisons between two operands of array type." +-msgstr "Попереджати про порівняння між двома операндами типу масив." ++msgstr "Попереджати про порівняння між двома операндами типу масивів." + + #: c-family/c.opt:355 c-family/c.opt:359 + #, no-c-format + msgid "Warn about mismatched declarations of array parameters and unsafe accesses to them." +-msgstr "Попереджувати про несумісні декларації параметрів масиву та небезпечний доступ до них." ++msgstr "" + + #: c-family/c.opt:363 + #, no-c-format + msgid "Warn about accesses to interior zero-length array members." +-msgstr "Попереджувати про доступ до внутрішніх елементів масиву нульової довжини." ++msgstr "" + + #: c-family/c.opt:367 + #, no-c-format + msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector." +-msgstr "Попереджувати, коли присвоєння Objective-C перехоплюється збирачем сміття." ++msgstr "" + + #: c-family/c.opt:371 + #, no-c-format + msgid "Warn about casting functions to incompatible types." +-msgstr "Попереджувати про приведення типів функцій до несумісних типів." ++msgstr "Попереджати про виклик функцій із несумісними типами параметрів." + + #: c-family/c.opt:379 + #, no-c-format + msgid "-Wbidi-chars=[none|unpaired|any|ucn] Warn about UTF-8 bidirectional control characters." +-msgstr "-Wbidi-chars=[none|unpaired|any|ucn] Попереджувати про управляючі символи UTF-8 з бідирекційним керуванням." ++msgstr "" + + #: c-family/c.opt:402 + #, no-c-format + msgid "Warn about boolean expression compared with an integer value different from true/false." +-msgstr "Попереджати, коли булевий вираз порівнюється з цілочисельним значенням, відмінним від true/false." ++msgstr "" + + #: c-family/c.opt:406 + #, no-c-format + msgid "Warn about certain operations on boolean expressions." +-msgstr "Попереджувати про певні операції над булевими виразами." ++msgstr "Попереджати щодо певних дій із булевими виразами." + + #: c-family/c.opt:410 + #, no-c-format + msgid "Warn when __builtin_frame_address or __builtin_return_address is used unsafely." +-msgstr "Попереджувати, коли __builtin_frame_address або __builtin_return_address використовуються небезпечно." ++msgstr "" + + #: c-family/c.opt:414 + #, no-c-format + msgid "Warn when a built-in function is declared with the wrong signature." +-msgstr "Попереджувати, коли вбудована функція оголошується з неправильною сигнатурою." ++msgstr "" + + #: c-family/c.opt:418 + #, no-c-format + msgid "Warn when a built-in preprocessor macro is undefined or redefined." +-msgstr "Попереджувати, коли вбудований макрос препроцесора не визначений або перевизначений." ++msgstr "" + + #: c-family/c.opt:422 + #, no-c-format + msgid "Warn about features not present in ISO C11, but present in ISO C2X." +-msgstr "Попереджувати про функції, які відсутні в ISO C11, але присутні в ISO C2X." ++msgstr "" + + #: c-family/c.opt:426 + #, no-c-format + msgid "Warn about features not present in ISO C90, but present in ISO C99." +-msgstr "Попереджувати про функції, які відсутні в ISO C90, але присутні в ISO C99." ++msgstr "" + + #: c-family/c.opt:430 + #, no-c-format + msgid "Warn about features not present in ISO C99, but present in ISO C11." +-msgstr "Попереджувати про функції, які відсутні в ISO C99, але присутні в ISO C11." ++msgstr "" + + #: c-family/c.opt:434 + #, no-c-format + msgid "Warn about C constructs that are not in the common subset of C and C++." +-msgstr "Попереджувати про конструкції C, які не належать до спільної підмножини C і C++." ++msgstr "" + + #: c-family/c.opt:441 + #, no-c-format + msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 2011." +-msgstr "Попереджувати про конструкції C++, значення яких відрізняється між ISO C++ 1998 і ISO C++ 2011." ++msgstr "" + + #: c-family/c.opt:445 + #, no-c-format + msgid "Warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO C++ 2014." +-msgstr "Попереджувати про конструкції C++, значення яких відрізняється між ISO C++ 2011 і ISO C++ 2014." ++msgstr "" + + #: c-family/c.opt:452 + #, no-c-format + msgid "Warn about C++ constructs whose meaning differs between ISO C++ 2014 and ISO C++ 2017." +-msgstr "Попереджувати про конструкції C++, значення яких відрізняється між ISO C++ 2014 і ISO C++ 2017." ++msgstr "" + + #: c-family/c.opt:459 + #, no-c-format + msgid "Warn about C++ constructs whose meaning differs between ISO C++ 2017 and ISO C++ 2020." +-msgstr "Попереджувати про конструкції C++, значення яких відрізняється між ISO C++ 2017 і ISO C++ 2020." ++msgstr "" + + #: c-family/c.opt:463 + #, no-c-format + msgid "Warn about C++11 constructs in code compiled with an older standard." +-msgstr "Попереджувати про конструкції C++11 у коді, скомпільованому застарілим стандартом." ++msgstr "" + + #: c-family/c.opt:467 + #, no-c-format + msgid "Warn about C++14 constructs in code compiled with an older standard." +-msgstr "Попереджувати про використання конструкцій C++14 у коді, скомпільованому зі старішим стандартом." ++msgstr "" + + #: c-family/c.opt:471 + #, no-c-format + msgid "Warn about C++17 constructs in code compiled with an older standard." +-msgstr "Попереджувати про використання конструкцій C++17 у коді, скомпільованому зі старішим стандартом." ++msgstr "" + + #: c-family/c.opt:475 + #, no-c-format + msgid "Warn about C++20 constructs in code compiled with an older standard." +-msgstr "Попереджувати про використання конструкцій C++20 у коді, скомпільованому зі старішим стандартом." ++msgstr "" + + #: c-family/c.opt:479 + #, no-c-format + msgid "Warn about C++23 constructs in code compiled with an older standard." +-msgstr "Попереджувати про використання конструкцій C++23 у коді, скомпільованому зі старішим стандартом." ++msgstr "" + + #: c-family/c.opt:483 + #, no-c-format + msgid "Warn about casts between incompatible function types." +-msgstr "Попереджувати про приведення між несумісними типами функцій." ++msgstr "Попереджати про варіанти виклику функцій несумісних типів." + + #: c-family/c.opt:487 + #, no-c-format + msgid "Warn about casts which discard qualifiers." +-msgstr "Попереджувати про приведення, які відкидають кваліфікатори." ++msgstr "" + + #: c-family/c.opt:491 c-family/c.opt:495 + #, no-c-format + msgid "Warn about catch handlers of non-reference type." +-msgstr "Попереджувати про обробники catch, які не є посиланнями." ++msgstr "Попереджати про обробники catch нееталонного типу." + + #: c-family/c.opt:499 + #, no-c-format + msgid "Complain about a name being declared as a class member after a previous use of the same name." +-msgstr "Скаржитися на те, що імʼя оголошено як член класу після попереднього використання того самого імені." ++msgstr "" + + #: c-family/c.opt:503 + #, no-c-format + msgid "Warn about subscripts whose type is \"char\"." +-msgstr "Попереджати про підскрипти, тип яких є «char»." ++msgstr "" + + #: c-family/c.opt:507 c-family/c.opt:1561 c-family/c.opt:1565 + #: c-family/c.opt:1569 c-family/c.opt:1573 c-family/c.opt:1577 +@@ -1583,242 +1585,243 @@ msgstr "Попереджати про підскрипти, тип яких є + #: config/i386/i386.opt:999 + #, no-c-format + msgid "Removed in GCC 9. This switch has no effect." +-msgstr "Вилучено в GCC 9. Цей перемикач не має ефекту." ++msgstr "" + + #: c-family/c.opt:511 + #, no-c-format + msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\"." +-msgstr "Попереджувати про зміну змінних за допомогою «longjmp» або «vfork»." ++msgstr "" + + #: c-family/c.opt:515 + #, no-c-format + msgid "Warn about uses of a comma operator within a subscripting expression." +-msgstr "Попереджувати про використання оператора коми в межах виразу підскриптування." ++msgstr "" + + #: c-family/c.opt:519 + #, no-c-format + msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line." +-msgstr "Попереджувати про можливі вкладені блокові коментарі та коментарі C++, що охоплюють більше однієї фізичної лінії." ++msgstr "" + + #: c-family/c.opt:523 + #, no-c-format + msgid "Synonym for -Wcomment." +-msgstr "Синонім для -Wcomment." ++msgstr "Синонім -Wcomment." + + #: c-family/c.opt:527 + #, no-c-format + msgid "Warn for conditionally-supported constructs." +-msgstr "Попереджувати про умовно підтримувані конструкції." ++msgstr "" + + #: c-family/c.opt:531 + #, no-c-format + msgid "Warn for implicit type conversions that may change a value." +-msgstr "Попереджувати про неявні типові перетворення, які можуть змінити значення." ++msgstr "Попереджати про неявні перетворення типів, які можуть призвести до зміни значення." + + #: c-family/c.opt:535 + #, no-c-format + msgid "Warn for converting NULL from/to a non-pointer type." +-msgstr "Попереджувати про перетворення NULL з/на тип, який не є вказівником." ++msgstr "" + + #: c-family/c.opt:543 + #, no-c-format + msgid "Warn when performing class template argument deduction on a type with no deduction guides." +-msgstr "Попереджувати, коли виконується виведення аргументів шаблону класу для типу без посібників з виведення." ++msgstr "" + + #: c-family/c.opt:548 + #, no-c-format + msgid "Warn when all constructors and destructors are private." +-msgstr "Попереджати, коли всі конструктори та деструктори є приватними." ++msgstr "Попереджати, якщо усі конструктори і деструктори є закритими (private)." + + #: c-family/c.opt:552 + #, no-c-format + msgid "Warn about dangling else." +-msgstr "Попереджати про незакріплене else." ++msgstr "" + + #: c-family/c.opt:556 c-family/c.opt:560 + #, no-c-format + msgid "Warn for uses of pointers to auto variables whose lifetime has ended." +-msgstr "Попереджати про використання вказівників на автоматичні змінні, чий термін життя завершився." ++msgstr "" + + #: c-family/c.opt:564 + #, no-c-format + msgid "Warn when a reference is bound to a temporary whose lifetime has ended." +-msgstr "Попереджати, коли посилання звʼязане з тимчасовим обʼєктом, чий термін життя завершився." ++msgstr "" + + #: c-family/c.opt:568 + #, no-c-format + msgid "Warn about __TIME__, __DATE__ and __TIMESTAMP__ usage." +-msgstr "Попереджати про використання __TIME__, __DATE__ і __TIMESTAMP__." ++msgstr "" + + #: c-family/c.opt:572 + #, no-c-format + msgid "Warn when a declaration is found after a statement." +-msgstr "Попереджати, коли після оператора знайдено оголошення." ++msgstr "Попереджати, якщо оголошення виявлено після інструкції." + + #: c-family/c.opt:576 + #, no-c-format + msgid "Warn when deleting a pointer to incomplete type." +-msgstr "Попереджати, коли видаляється вказівник на неповний тип." ++msgstr "Попереджати щодо вилучення вказівника на неповний тип." + + #: c-family/c.opt:580 + #, no-c-format + msgid "Warn about deleting polymorphic objects with non-virtual destructors." +-msgstr "Попереджати про видалення поліморфних обʼєктів з невіртуальними деструкторами." ++msgstr "" + + #: c-family/c.opt:588 + #, no-c-format + msgid "Mark implicitly-declared copy operations as deprecated if the class has a user-provided copy operation." +-msgstr "Позначати неявно оголошені операції копіювання як застарілі, якщо клас має користувацьку операцію копіювання." ++msgstr "" + + #: c-family/c.opt:593 + #, no-c-format + msgid "Mark implicitly-declared copy operations as deprecated if the class has a user-provided copy operation or destructor." +-msgstr "Позначати неявно оголошені операції копіювання як застарілі, якщо у класі є користувацька операція копіювання або деструктор." ++msgstr "" + + #: c-family/c.opt:598 + #, no-c-format + msgid "Warn about deprecated arithmetic conversions on operands of enumeration types." +-msgstr "Попереджати про застарілі арифметичні перетворення операндів перелічування." ++msgstr "Попереджати про застарілі арифметичні перетворення операндів нумерованих типів." + + #: c-family/c.opt:602 + #, no-c-format + msgid "Warn about deprecated arithmetic conversions on operands where one is of enumeration type and the other is of a floating-point type." +-msgstr "Попереджувати про застарілі арифметичні перетворення операндів, де один є перелічуванням, а інший - числом з рухомою комою." ++msgstr "" + + #: c-family/c.opt:607 + #, no-c-format + msgid "Warn about positional initialization of structs requiring designated initializers." +-msgstr "Попереджувати про позиційну ініціалізацію структур, яка вимагає призначених ініціалізаторів." ++msgstr "" + + #: c-family/c.opt:611 + #, no-c-format + msgid "Warn if qualifiers on arrays which are pointer targets are discarded." +-msgstr "Попереджувати, якщо відкидаються кваліфікатори масивів, які є цілями вказівників." ++msgstr "" + + #: c-family/c.opt:615 + #, no-c-format + msgid "Warn if type qualifiers on pointers are discarded." +-msgstr "Попереджувати, якщо відкидаються кваліфікатори типу на вказівниках." ++msgstr "" + + #: c-family/c.opt:619 + #, no-c-format + msgid "Warn about compile-time integer division by zero." +-msgstr "Попереджати про цілочисельне ділення на нуль на етапі компіляції." ++msgstr "" + + #: c-family/c.opt:623 + #, no-c-format + msgid "Warn about duplicated branches in if-else statements." +-msgstr "Попереджувати про дубльовані гілки в умовних операторах if-else." ++msgstr "Попереджати про дублювання гілок у інструкціях if-else." + + #: c-family/c.opt:627 + #, no-c-format + msgid "Warn about duplicated conditions in an if-else-if chain." +-msgstr "Попереджувати про дубльовані умови в ланцюжку if-else-if." ++msgstr "Попереджати про дублювання умов у ланцюжку if-else-if." + + #: c-family/c.opt:631 + #, no-c-format + msgid "Warn about violations of Effective C++ style rules." +-msgstr "Попереджувати про порушення правил стилю Effective C++." ++msgstr "Попереджати про порушення правил стилю Effective C++." + + #: c-family/c.opt:635 + #, no-c-format + msgid "Warn about an empty body in an if or else statement." +-msgstr "Попереджувати про порожнє тіло в операторі if або else." ++msgstr "Попереджати щодо порожнього комплекту інструкцій у if або else." + + #: c-family/c.opt:639 + #, no-c-format + msgid "Warn about stray tokens after #else and #endif." +-msgstr "Попереджувати про зайві токени після #else та #endif." ++msgstr "" + + #: c-family/c.opt:643 + #, no-c-format + msgid "Warn about comparison of different enum types." +-msgstr "Попереджувати про порівняння різних типів перелічувань." ++msgstr "Попереджати про порівняння різних типів числових даних." + + #: c-family/c.opt:647 + #, no-c-format + msgid "Warn about implicit conversion of enum types." +-msgstr "Попереджувати про неявне перетворення типів перелічувань." ++msgstr "" + + #: c-family/c.opt:651 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about using variadic macros." + msgid "Warn about enum/integer type mismatches." +-msgstr "Попереджувати про несумісність типів перелічувань/цілочисельних." ++msgstr "Попереджати про використання варіативних макросів." + + #: c-family/c.opt:659 + #, no-c-format + msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead." +-msgstr "Цей ключ застарів; використовуйте -Werror=implicit-function-declaration замість нього." ++msgstr "Цей перемикач вважається застарілим; скористайтеся замість нього перемикачем -Werror=implicit-function-declaration." + + #: c-family/c.opt:663 + #, no-c-format + msgid "Warn when an exception handler is shadowed by another handler." +-msgstr "Попереджувати, коли обробник виключення прихований іншим обробником." ++msgstr "" + + #: c-family/c.opt:671 + #, no-c-format + msgid "Warn about semicolon after in-class function definition." +-msgstr "Попереджувати про крапку з комою після визначення функції в класі." ++msgstr "Попереджати про крапку з комою після визначення функції у класі." + + #: c-family/c.opt:675 + #, no-c-format + msgid "Warn for implicit type conversions that cause loss of floating point precision." +-msgstr "Попереджувати про неявні типові перетворення, які призводять до втрати точності дробових чисел." ++msgstr "" + + #: c-family/c.opt:679 + #, no-c-format + msgid "Warn if testing floating point numbers for equality." +-msgstr "Попереджувати, якщо тестування дробових чисел на рівність." ++msgstr "Попереджати про перевірки на рівність чисел із рухомою крапкою." + + #: c-family/c.opt:683 c-family/c.opt:729 + #, no-c-format + msgid "Warn about printf/scanf/strftime/strfmon format string anomalies." +-msgstr "Попереджувати про аномалії у форматних рядках printf/scanf/strftime/strfmon." ++msgstr "Попереджати про некоректності у рядках форматування printf/scanf/strftime/strfmon." + + #: c-family/c.opt:687 + #, no-c-format + msgid "Warn about format strings that contain NUL bytes." +-msgstr "Попереджувати про форматні рядки, що містять NUL-байти." ++msgstr "Попереджати щодо рядків форматування, які містять байти NUL." + + #: c-family/c.opt:691 + #, no-c-format + msgid "Warn about GCC format strings with strings unsuitable for diagnostics." +-msgstr "Попереджувати про форматні рядки GCC з рядками, що не підходять для діагностики." ++msgstr "" + + #: c-family/c.opt:695 + #, no-c-format + msgid "Warn if passing too many arguments to a function for its format string." +-msgstr "Попереджати, якщо передається забагато аргументів у функцію для її рядка форматування." ++msgstr "" + + #: c-family/c.opt:699 + #, no-c-format + msgid "Warn about format strings that are not literals." +-msgstr "Попереджати про рядки форматування, які не є літералами." ++msgstr "Попереджати, якщо рядки форматування не є літералами." + + #: c-family/c.opt:703 + #, no-c-format + msgid "Warn about function calls with format strings that write past the end of the destination region. Same as -Wformat-overflow=1." +-msgstr "Попереджати про виклики функцій з рядками форматування, які записують за межі кінця цільової області. Те саме, що й -Wformat-overflow=1." ++msgstr "" + + #: c-family/c.opt:708 + #, no-c-format + msgid "Warn about possible security problems with format functions." +-msgstr "Попереджати про можливі проблеми безпеки з функціями форматування." ++msgstr "" + + #: c-family/c.opt:712 + #, no-c-format + msgid "Warn about sign differences with format functions." +-msgstr "Попереджувати про різницю знаків у функціях форматування." ++msgstr "Попереджати про відмінності у знаку у функціях форматування." + + #: c-family/c.opt:716 + #, no-c-format + msgid "Warn about calls to snprintf and similar functions that truncate output. Same as -Wformat-truncation=1." +-msgstr "Попереджати про виклики функцій snprintf та подібних, які обрізають вивід. Те саме, що й -Wformat-truncation=1." ++msgstr "" + + #: c-family/c.opt:721 + #, no-c-format + msgid "Warn about strftime formats yielding 2-digit years." +-msgstr "Попереджувати про формати strftime, які дають двозначні роки." ++msgstr "" + + #: c-family/c.opt:725 + #, no-c-format +@@ -1828,822 +1831,824 @@ msgstr "Попереджати про формати нульової довжи + #: c-family/c.opt:733 + #, no-c-format + msgid "Warn about function calls with format strings that write past the end of the destination region." +-msgstr "Попереджати про виклики функцій з рядками формату, які записують за межі кінця цільової області." ++msgstr "" + + #: c-family/c.opt:738 + #, no-c-format + msgid "Warn about calls to snprintf and similar functions that truncate output." +-msgstr "Попереджувати про виклики функцій snprintf та подібних, які обрізають вивід." ++msgstr "" + + #: c-family/c.opt:742 + #, no-c-format + msgid "Warn when the field in a struct is not aligned." +-msgstr "Попереджати, коли поле в структурі не вирівняне." ++msgstr "Попереджати про невирівняне поле у структурі." + + #: c-family/c.opt:746 + #, no-c-format + msgid "Warn whenever type qualifiers are ignored." +-msgstr "Попереджати, коли ігноруються кваліфікатори типу." ++msgstr "" + + #: c-family/c.opt:750 + #, no-c-format + msgid "Warn whenever attributes are ignored." +-msgstr "Попереджати, коли ігноруються атрибути." ++msgstr "Попереджати про ігнорування атрибутів." + + #: c-family/c.opt:754 + #, no-c-format + msgid "Warn when a base is inaccessible in derived due to ambiguity." +-msgstr "Попереджувати, коли база недоступна в похідному класі через неоднозначність." ++msgstr "" + + #: c-family/c.opt:758 + #, no-c-format + msgid "Warn when there is a conversion between pointers that have incompatible types." +-msgstr "Попереджувати про конвертацію між вказівниками, які мають несумісні типи." ++msgstr "" + + #: c-family/c.opt:762 common.opt:650 + #, no-c-format + msgid "Warn for infinitely recursive calls." +-msgstr "Попереджувати про нескінченні рекурсивні виклики." ++msgstr "" + + #: c-family/c.opt:766 + #, no-c-format + msgid "Warn when the address of packed member of struct or union is taken." +-msgstr "Попереджувати, коли береться адреса упакованого члена структури або обʼєднання." ++msgstr "" + + #: c-family/c.opt:770 + #, no-c-format + msgid "Warn about variables which are initialized to themselves." +-msgstr "Попереджувати про змінні, які ініціалізуються самими собою." ++msgstr "Попереджати про самоініціалізацію змінних." + + #: c-family/c.opt:774 + #, no-c-format + msgid "Warn about uses of std::initializer_list that can result in dangling pointers." +-msgstr "Попереджувати про використання std::initializer_list, що може призвести до висячих вказівників." ++msgstr "" + + #: c-family/c.opt:778 + #, no-c-format + msgid "Warn about nonsensical values of --param destructive-interference-size or constructive-interference-size." +-msgstr "Попереджувати про нерозумні значення параметрів --param destructive-interference-size або constructive-interference-size." ++msgstr "" + + #: c-family/c.opt:783 + #, no-c-format + msgid "Warn about implicit declarations." +-msgstr "Попереджувати про неявні оголошення." ++msgstr "Попереджати про неявні оголошення." + + #: c-family/c.opt:791 + #, no-c-format + msgid "Warn about implicit conversions from \"float\" to \"double\"." +-msgstr "Попереджувати про неявні перетворення з «float» на «double»." ++msgstr "Попереджати про неявні перетворення з float на double." + + #: c-family/c.opt:795 + #, no-c-format + msgid "Warn if \"defined\" is used outside #if." +-msgstr "Попереджувати, якщо «defined» використовується поза #if." ++msgstr "Попереджати, якщо defined використано поза #if." + + #: c-family/c.opt:799 + #, no-c-format + msgid "Warn about implicit function declarations." +-msgstr "Попереджувати про неявні оголошення функцій." ++msgstr "Попереджати про неявні оголошення функцій." + + #: c-family/c.opt:803 + #, no-c-format + msgid "Warn when a declaration does not specify a type." +-msgstr "Попереджувати, коли оголошення не вказує тип." ++msgstr "Попереджати, якщо оголошення не визначає типу." + + #: c-family/c.opt:810 + #, no-c-format + msgid "Warn about C++11 inheriting constructors when the base has a variadic constructor." +-msgstr "Попереджувати про успадкування конструкторів C++11, коли базовий клас має варіативний конструктор." ++msgstr "" + + #: c-family/c.opt:814 + #, no-c-format + msgid "Warn about incompatible integer to pointer and pointer to integer conversions." +-msgstr "Попереджувати про несумісні перетворення між цілими числами та вказівниками." ++msgstr "" + + #: c-family/c.opt:818 + #, no-c-format + msgid "Warn for suspicious integer expressions in boolean context." +-msgstr "Попереджувати про підозрілі цілочисельні вирази в булевому контексті." ++msgstr "" + + #: c-family/c.opt:822 + #, no-c-format + msgid "Warn when there is a cast to a pointer from an integer of a different size." +-msgstr "Попереджувати, коли відбувається приведення до вказівника з цілого числа іншого розміру." ++msgstr "" + + #: c-family/c.opt:826 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "statement is not a constant expression" + msgid "Warn when a function never produces a constant expression." +-msgstr "Попереджувати, коли функція ніколи не повертає константний вираз." ++msgstr "інструкція не є сталим виразом" + + #: c-family/c.opt:830 + #, no-c-format + msgid "Warn about invalid uses of the \"offsetof\" macro." +-msgstr "Попереджувати про неправильне використання макросу «offsetof»." ++msgstr "" + + #: c-family/c.opt:834 + #, no-c-format + msgid "Warn about PCH files that are found but not used." +-msgstr "Попереджувати про PCH-файли, які знайдено, але не використовуються." ++msgstr "" + + #: c-family/c.opt:838 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about using variadic macros." + msgid "Warn about invalid UTF-8 characters." +-msgstr "Попереджувати про неправильні символи UTF-8." ++msgstr "Попереджати про використання варіативних макросів." + + #: c-family/c.opt:842 + #, no-c-format + msgid "Warn when a jump misses a variable initialization." +-msgstr "Попереджувати, коли при стрибку пропускається ініціалізація змінної." ++msgstr "" + + #: c-family/c.opt:846 + #, no-c-format + msgid "Warn when a string or character literal is followed by a ud-suffix which does not begin with an underscore." +-msgstr "Попереджувати, коли за рядком або символьним літералом слідує суфікс ud, який не починається з підкреслення." ++msgstr "" + + #: c-family/c.opt:850 + #, no-c-format + msgid "Warn when a logical operator is suspiciously always evaluating to true or false." +-msgstr "Попереджати, коли логічний оператор підозріло завжди оцінюється як true або false." ++msgstr "" + + #: c-family/c.opt:854 + #, no-c-format + msgid "Warn when logical not is used on the left hand side operand of a comparison." +-msgstr "Попереджувати, коли логічне заперечення використовується на лівому операнді порівняння." ++msgstr "" + + #: c-family/c.opt:858 + #, no-c-format + msgid "Do not warn about using \"long long\" when -pedantic." +-msgstr "Не попереджувати про використання «long long» при -pedantic." ++msgstr "" + + #: c-family/c.opt:862 + #, no-c-format + msgid "Warn about suspicious declarations of \"main\"." +-msgstr "Попереджувати про підозрілі оголошення «main»." ++msgstr "" + + #: c-family/c.opt:870 + #, no-c-format + msgid "Warn about suspicious calls to memset where the third argument is constant literal zero and the second is not." +-msgstr "Попереджувати про підозрілі виклики memset, де третій аргумент є константним літералом нуль, а другий - ні." ++msgstr "" + + #: c-family/c.opt:874 + #, no-c-format + msgid "Warn about suspicious calls to memset where the third argument contains the number of elements not multiplied by the element size." +-msgstr "Попереджувати про підозрілі виклики memset, де третій аргумент містить кількість елементів, не помножену на розмір елемента." ++msgstr "" + + #: c-family/c.opt:878 + #, no-c-format + msgid "Warn when the indentation of the code does not reflect the block structure." +-msgstr "Попереджувати, коли відступи в коді не показують структуру блоку." ++msgstr "" + + #: c-family/c.opt:882 + #, no-c-format + msgid "Warn for deallocation calls with arguments returned from mismatched allocation functions." +-msgstr "Попереджувати про виклики звільнення з аргументами, які повернулися з невідповідних функцій виділення памʼяті." ++msgstr "" + + #: c-family/c.opt:887 + #, no-c-format + msgid "Warn for mismatches between calls to operator new or delete and the corresponding call to the allocation or deallocation function." +-msgstr "Попереджувати про невідповідності між викликами операторів new або delete та відповідним викликом функції виділення або звільнення памʼяті." ++msgstr "" + + #: c-family/c.opt:892 + #, no-c-format + msgid "Warn when a class is redeclared or referenced using a mismatched class-key." +-msgstr "Попереджувати, коли клас повторно оголошується або посилається з використанням невідповідного ключа класу." ++msgstr "" + + #: c-family/c.opt:896 + #, no-c-format + msgid "Warn about possibly missing braces around initializers." +-msgstr "Попереджати про можливе відсутність фігурних дужок навколо ініціалізаторів." ++msgstr "" + + #: c-family/c.opt:900 + #, no-c-format + msgid "Warn about global functions without previous declarations." +-msgstr "Попереджати про глобальні функції без попередніх оголошень." ++msgstr "" + + #: c-family/c.opt:904 + #, no-c-format + msgid "Warn about missing fields in struct initializers." +-msgstr "Попереджувати про відсутні поля в ініціалізаторах структур." ++msgstr "" + + #: c-family/c.opt:908 + #, no-c-format + msgid "Warn about likely missing requires keyword." +-msgstr "Попереджувати про ймовірне відсутність ключового слова «requires»." ++msgstr "" + + #: c-family/c.opt:912 + #, no-c-format + msgid "Warn when the template keyword is missing after a member access token in a dependent member access expression if that member is a template." +-msgstr "Попереджувати, коли ключове слово «template» відсутнє після токена доступу до члена в залежному виразі доступу до члена, якщо цей член є шаблоном." ++msgstr "" + + #: c-family/c.opt:916 + #, no-c-format + msgid "Warn about unsafe macros expanding to multiple statements used as a body of a clause such as if, else, while, switch, or for." +-msgstr "Попереджувати про небезпечні макроси, які розширюються до кількох операторів, використовуваних як тіло замикання, такого як if, else, while, switch або for." ++msgstr "" + + #: c-family/c.opt:920 + #, no-c-format + msgid "Warn on direct multiple inheritance." +-msgstr "Попереджувати про пряму множинну спадковість." ++msgstr "" + + #: c-family/c.opt:924 + #, no-c-format + msgid "Warn on namespace definition." +-msgstr "Попереджувати про визначення простору імен." ++msgstr "" + + #: c-family/c.opt:928 + #, no-c-format + msgid "Warn when fields in a struct with the packed attribute are misaligned." +-msgstr "Попереджувати, коли поля в структурі з атрибутом packed мають неправильне вирівнювання." ++msgstr "" + + #: c-family/c.opt:932 + #, no-c-format + msgid "Warn when a range-based for-loop is creating unnecessary copies." +-msgstr "Попереджувати, коли цикл for заснований на діапазоні створює непотрібні копії." ++msgstr "" + + #: c-family/c.opt:936 + #, no-c-format + msgid "Warn when a class or enumerated type is referenced using a redundant class-key." +-msgstr "Попереджувати, коли на клас або перелічуваний тип посилаються за допомогою зайвого ключа класу." ++msgstr "" + + #: c-family/c.opt:940 + #, no-c-format + msgid "Warn about missing sized deallocation functions." +-msgstr "Попереджувати про відсутність функцій звільнення памʼяті з вказаною розмірністю." ++msgstr "" + + #: c-family/c.opt:944 + #, no-c-format + msgid "Warn about suspicious divisions of two sizeof expressions that don't work correctly with pointers." +-msgstr "Попереджувати про підозрілі ділення двох виразів sizeof, які не працюють правильно з вказівниками." ++msgstr "" + + #: c-family/c.opt:948 + #, no-c-format + msgid "Warn about divisions of two sizeof operators when the first one is applied to an array and the divisor does not equal the size of the array element." +-msgstr "Попереджувати про ділення двох операторів sizeof, коли перший застосовується до масиву, а дільник не дорівнює розміру елемента масиву." ++msgstr "" + + #: c-family/c.opt:953 + #, no-c-format + msgid "Warn about suspicious length parameters to certain string functions if the argument uses sizeof." +-msgstr "Попереджувати про підозрілі параметри довжини для деяких функцій рядків, якщо аргумент використовує sizeof." ++msgstr "" + + #: c-family/c.opt:957 + #, no-c-format + msgid "Warn when sizeof is applied on a parameter declared as an array." +-msgstr "Попереджувати, коли sizeof застосовується до параметра, оголошеного як масив." ++msgstr "" + + #: c-family/c.opt:961 + #, no-c-format + msgid "Warn about calls to strcmp and strncmp used in equality expressions that are necessarily true or false due to the length of one and size of the other argument." +-msgstr "Попереджувати про виклики strcmp і strncmp, які використовуються в рівності виразів, які обовʼязково є істинними або хибними через довжину одного і розмір іншого аргументу." ++msgstr "" + + #: c-family/c.opt:967 + #, no-c-format + msgid "Warn about buffer overflow in string manipulation functions like memcpy and strcpy." +-msgstr "Попереджувати про переповнення буфера в функціях маніпулювання рядками, таких як memcpy і strcpy." ++msgstr "" + + #: c-family/c.opt:972 + #, no-c-format + msgid "Under the control of Object Size type, warn about buffer overflow in string manipulation functions like memcpy and strcpy." +-msgstr "Під керівництвом типу розміру обʼєкта, попереджувати про переповнення буфера в функціях маніпуляції рядками, таких як memcpy і strcpy." ++msgstr "" + + #: c-family/c.opt:977 + #, no-c-format + msgid "Warn about reading past the end of a source array in string manipulation functions like memchr and memcpy." +-msgstr "Попереджувати про читання за межами джерелового масиву у функціях маніпуляції рядками, таких як memchr і memcpy." ++msgstr "" + + #: c-family/c.opt:981 + #, no-c-format + msgid "Warn about truncation in string manipulation functions like strncat and strncpy." +-msgstr "Попереджувати про обрізання у функціях маніпуляції рядками, таких як strncat і strncpy." ++msgstr "" + + #: c-family/c.opt:985 + #, no-c-format + msgid "Warn about inproper usages of flexible array members according to the level of -fstrict-flex-arrays." +-msgstr "Попереджувати про неправильне використання гнучких елементів масиву залежно від рівня -fstrict-flex-arrays." ++msgstr "" + + #: c-family/c.opt:990 + #, no-c-format + msgid "Warn about functions which might be candidates for format attributes." +-msgstr "Попереджувати про функції, які можуть бути кандидатами на отримання атрибутів формату." ++msgstr "" + + #: c-family/c.opt:994 + #, no-c-format + msgid "Suggest that the override keyword be used when the declaration of a virtual function overrides another." +-msgstr "Рекомендується використовувати ключове слово override, коли оголошення віртуальної функції перевизначає іншу." ++msgstr "" + + #: c-family/c.opt:999 + #, no-c-format + msgid "Warn about enumerated switches, with no default, missing a case." +-msgstr "Попереджати про перелічовані перемикачі, без значення за замовчуванням, які пропускають випадок." ++msgstr "" + + #: c-family/c.opt:1003 + #, no-c-format + msgid "Warn about enumerated switches missing a \"default:\" statement." +-msgstr "Попереджувати про перелічовані перемикачі, які пропускають вираз «default:»." ++msgstr "" + + #: c-family/c.opt:1007 + #, no-c-format + msgid "Warn about all enumerated switches missing a specific case." +-msgstr "Попереджувати про всі перелічовані перемикачі, які пропускають певний випадок." ++msgstr "" + + #: c-family/c.opt:1011 + #, no-c-format + msgid "Warn about switches with boolean controlling expression." +-msgstr "Попереджувати про перемикачі з булевим керуючим виразом." ++msgstr "" + + #: c-family/c.opt:1015 + #, no-c-format + msgid "Warn about switch values that are outside of the switch's type range." +-msgstr "Попереджувати про значення перемикача, які виходять за межі діапазону типу перемикача." ++msgstr "" + + #: c-family/c.opt:1019 + #, no-c-format + msgid "Warn on primary template declaration." +-msgstr "Попереджувати про основну декларацію шаблону." ++msgstr "" + + #: c-family/c.opt:1023 + #, no-c-format + msgid "Warn about declarations of entities that may be missing attributes that related entities have been declared with." +-msgstr "Попереджувати про декларації сутностей, які можуть бути без атрибутів, які були вказані в деклараціях повʼязаних сутностей." ++msgstr "" + + #: c-family/c.opt:1032 + #, no-c-format + msgid "Warn about user-specified include directories that do not exist." +-msgstr "Попереджати про вказані користувачем каталоги включення, які не існують." ++msgstr "" + + #: c-family/c.opt:1036 + #, no-c-format + msgid "Warn about function parameters declared without a type specifier in K&R-style functions." +-msgstr "Попереджати про параметри функцій, оголошених без вказівника типу в функціях стилю K&R." ++msgstr "" + + #: c-family/c.opt:1040 + #, no-c-format + msgid "Warn about global functions without prototypes." +-msgstr "Попереджати про глобальні функції без прототипів." ++msgstr "" + + #: c-family/c.opt:1047 + #, no-c-format + msgid "Warn about use of multi-character character constants." +-msgstr "Попереджати про використання констант символів з кількома символами." ++msgstr "" + + #: c-family/c.opt:1051 + #, no-c-format + msgid "Warn about narrowing conversions within { } that are ill-formed in C++11." +-msgstr "Попереджати про звужувальні перетворення всередині { }, які є некоректними в C++11." ++msgstr "" + + #: c-family/c.opt:1055 + #, no-c-format + msgid "Warn about \"extern\" declarations not at file scope." +-msgstr "Попереджувати про оголошення «extern», які не знаходяться на рівні файлу." ++msgstr "" + + #: c-family/c.opt:1059 + #, no-c-format + msgid "Warn when a noexcept expression evaluates to false even though the expression can't actually throw." +-msgstr "Попереджувати, коли вираз без-винятків оцінюється як false, навіть якщо вираз насправді не може кинути виняток." ++msgstr "" + + #: c-family/c.opt:1063 + #, no-c-format + msgid "Warn if C++17 noexcept function type will change the mangled name of a symbol." +-msgstr "Попереджувати, якщо тип функції noexcept C++17 змінить декороване імʼя символу." ++msgstr "" + + #: c-family/c.opt:1067 + #, no-c-format + msgid "Warn when non-templatized friend functions are declared within a template." +-msgstr "Попереджувати, коли в шаблоні оголошуються нешаблонні функції-друзі." ++msgstr "" + + #: c-family/c.opt:1071 + #, no-c-format + msgid "Warn when a conversion function will never be called due to the type it converts to." +-msgstr "Попереджати, коли функція перетворення ніколи не буде викликана через тип, до якого вона перетворює." ++msgstr "" + + #: c-family/c.opt:1075 + #, no-c-format + msgid "Warn for unsafe raw memory writes to objects of class types." +-msgstr "Попереджувати про небезпечні записи в сирі памʼять обʼєктів класів." ++msgstr "" + + #: c-family/c.opt:1079 + #, no-c-format + msgid "Warn about non-virtual destructors." +-msgstr "Попереджати про невіртуальні деструктори." ++msgstr "" + + #: c-family/c.opt:1083 + #, no-c-format + msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL." +-msgstr "Попереджувати про передачу NULL у слоти аргументів, які вимагають ненульових значень." ++msgstr "" + + #: c-family/c.opt:1099 + #, no-c-format + msgid "-Wnormalized=[none|id|nfc|nfkc]\tWarn about non-normalized Unicode strings." +-msgstr "-Wnormalized=[none|id|nfc|nfkc]\tПопереджувати про ненормалізовані рядки Юнікоду." ++msgstr "" + + #: c-family/c.opt:1122 + #, no-c-format + msgid "Warn if a class interface has no superclass. Root classes may use an attribute to suppress this warning." +-msgstr "Попереджувати, якщо інтерфейс класу не має суперкласу. Кореневі класи можуть використовувати атрибут для пригнічення цього попередження." ++msgstr "" + + #: c-family/c.opt:1127 + #, no-c-format + msgid "Warn if a C-style cast is used in a program." +-msgstr "Попереджувати, якщо в програмі використовується приведення типу у стилі C." ++msgstr "" + + #: c-family/c.opt:1131 + #, no-c-format + msgid "Warn for obsolescent usage in a declaration." +-msgstr "Попереджувати про застаріле використання в декларації." ++msgstr "" + + #: c-family/c.opt:1135 + #, no-c-format + msgid "Warn if an old-style parameter definition is used." +-msgstr "Попереджувати, якщо використовується старомодне визначення параметра." ++msgstr "" + + #: c-family/c.opt:1139 + #, no-c-format + msgid "Warn about potentially suboptimal choices related to OpenACC parallelism." +-msgstr "Попереджувати про потенційно неоптимальні вибори, повʼязані з паралелізмом OpenACC." ++msgstr "" + + #: c-family/c.opt:1143 + #, no-c-format + msgid "Warn if a simd directive is overridden by the vectorizer cost model." +-msgstr "Попереджати, якщо директива simd перевизначається моделлю вартості векторизатора." ++msgstr "" + + #: c-family/c.opt:1147 + #, no-c-format + msgid "Warn if a string is longer than the maximum portable length specified by the standard." +-msgstr "Попереджати, якщо рядок довший за максимальну переносну довжину, визначену стандартом." ++msgstr "" + + #: c-family/c.opt:1151 c-family/c.opt:1155 + #, no-c-format + msgid "Warn about overloaded virtual function names." +-msgstr "Попереджати про перевантажені імена віртуальних функцій." ++msgstr "" + + #: c-family/c.opt:1159 + #, no-c-format + msgid "Warn about overriding initializers without side effects." +-msgstr "Попереджати про перевизначення ініціалізаторів без побічних ефектів." ++msgstr "" + + #: c-family/c.opt:1163 + #, no-c-format + msgid "Warn about overriding initializers with side effects." +-msgstr "Попереджати про перевизначення ініціалізаторів з побічними ефектами." ++msgstr "" + + #: c-family/c.opt:1167 + #, no-c-format + msgid "Warn about packed bit-fields whose offset changed in GCC 4.4." +-msgstr "Попереджати про упаковані бітові поля, чий зсув змінився в GCC 4.4." ++msgstr "" + + #: c-family/c.opt:1171 + #, no-c-format + msgid "Warn about possibly missing parentheses." +-msgstr "Попереджувати про можливе відсутність дужок." ++msgstr "" + + #: c-family/c.opt:1179 + #, no-c-format + msgid "Warn about calling std::move on a local object in a return statement preventing copy elision." +-msgstr "Попереджати про виклик std::move на локальному обʼєкті в операторі повернення, що запобігає уникненню копіювання." ++msgstr "" + + #: c-family/c.opt:1183 + #, no-c-format + msgid "Warn when converting the type of pointers to member functions." +-msgstr "Попереджати при перетворенні типу вказівників на член-функції." ++msgstr "" + + #: c-family/c.opt:1187 + #, no-c-format + msgid "Warn about function pointer arithmetic." +-msgstr "Попереджати про арифметику з вказівниками на функції." ++msgstr "" + + #: c-family/c.opt:1191 + #, no-c-format + msgid "Warn when a pointer differs in signedness in an assignment." +-msgstr "Попереджати, коли вказівник відрізняється за знаком у присвоєнні." ++msgstr "" + + #: c-family/c.opt:1195 + #, no-c-format + msgid "Warn when a pointer is compared with a zero character constant." +-msgstr "Попереджати, коли вказівник порівнюється з нульовою символьною константою." ++msgstr "" + + #: c-family/c.opt:1199 + #, no-c-format + msgid "Warn when a pointer is cast to an integer of a different size." +-msgstr "Попереджати, коли вказівник приводиться до цілого числа іншого розміру." ++msgstr "" + + #: c-family/c.opt:1203 + #, no-c-format + msgid "Warn about misuses of pragmas." +-msgstr "Попереджати про неправильне використання прагм." ++msgstr "" + + #: c-family/c.opt:1207 + #, no-c-format + msgid "Warn if constructor or destructors with priorities from 0 to 100 are used." +-msgstr "Попереджати, якщо використовуються конструктори або деструктори з пріоритетами від 0 до 100." ++msgstr "" + + #: c-family/c.opt:1211 + #, no-c-format + msgid "Warn if a property for an Objective-C object has no assign semantics specified." +-msgstr "Попереджати, якщо для властивості обʼєкта Objective-C не вказано семантику присвоєння." ++msgstr "" + + #: c-family/c.opt:1215 + #, no-c-format + msgid "Warn if inherited methods are unimplemented." +-msgstr "Попереджати, якщо не реалізовані успадковані методи." ++msgstr "" + + #: c-family/c.opt:1219 c-family/c.opt:1223 + #, no-c-format + msgid "Warn for placement new expressions with undefined behavior." +-msgstr "Попереджати про використання виразів placement new з невизначеним поведінкою." ++msgstr "" + + #: c-family/c.opt:1227 + #, no-c-format + msgid "Warn about multiple declarations of the same object." +-msgstr "Попереджати про множинні оголошення одного й того ж обʼєкта." ++msgstr "" + + #: c-family/c.opt:1231 + #, no-c-format + msgid "Warn about redundant calls to std::move." +-msgstr "Попереджати про зайві виклики std::move." ++msgstr "" + + #: c-family/c.opt:1235 + #, no-c-format + msgid "Warn about uses of register storage specifier." +-msgstr "Попереджати про використання специфікатора зберігання register." ++msgstr "" + + #: c-family/c.opt:1239 + #, no-c-format + msgid "Warn when the compiler reorders code." +-msgstr "Попереджати, коли компілятор переставляє код." ++msgstr "" + + #: c-family/c.opt:1243 + #, no-c-format + msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)." +-msgstr "Попереджувати, коли тип повернення функції за замовчуванням стає «int» (C), або про неузгоджені типи повернення (C++)." ++msgstr "" + + #: c-family/c.opt:1247 + #, no-c-format + msgid "Warn on suspicious constructs involving reverse scalar storage order." +-msgstr "Попереджувати про підозрілі конструкції, що включають зворотний порядок зберігання скалярних значень." ++msgstr "" + + #: c-family/c.opt:1251 + #, no-c-format + msgid "Warn if a selector has multiple methods." +-msgstr "Попереджувати, якщо селектор має кілька методів." ++msgstr "" + + #: c-family/c.opt:1255 + #, no-c-format + msgid "Warn when a value is moved to itself with std::move." +-msgstr "Попереджувати, коли значення переміщується в самого себе за допомогою std::move." ++msgstr "" + + #: c-family/c.opt:1259 + #, no-c-format + msgid "Warn about possible violations of sequence point rules." +-msgstr "Попереджувати про можливі порушення правил послідовності точок." ++msgstr "" + + #: c-family/c.opt:1263 + #, no-c-format + msgid "Warn if a local declaration hides an instance variable." +-msgstr "Попереджувати, якщо локальна декларація приховує змінну екземпляра." ++msgstr "" + + #: c-family/c.opt:1267 c-family/c.opt:1271 + #, no-c-format + msgid "Warn if left shift of a signed value overflows." +-msgstr "Попереджувати, якщо лівий зсув знакового значення переповнюється." ++msgstr "" + + #: c-family/c.opt:1275 + #, no-c-format + msgid "Warn if shift count is negative." +-msgstr "Попереджувати, якщо кількість зсуву відʼємна." ++msgstr "" + + #: c-family/c.opt:1279 + #, no-c-format + msgid "Warn if shift count >= width of type." +-msgstr "Попереджувати, якщо кількість зсуву >= ширини типу." ++msgstr "" + + #: c-family/c.opt:1283 + #, no-c-format + msgid "Warn if left shifting a negative value." +-msgstr "Попереджати, якщо виконується зсув вліво відʼємного значення." ++msgstr "" + + #: c-family/c.opt:1287 + #, no-c-format + msgid "Warn if conversion of the result of arithmetic might change the value even though converting the operands cannot." +-msgstr "Попереджати, якщо конвертація результату арифметичної операції може змінити значення, навіть якщо конвертація операндів неможлива." ++msgstr "" + + #: c-family/c.opt:1291 + #, no-c-format + msgid "Warn about signed-unsigned comparisons." +-msgstr "Попереджати про порівняння зі знаком-беззнаком." ++msgstr "" + + #: c-family/c.opt:1299 + #, no-c-format + msgid "Warn for implicit type conversions between signed and unsigned integers." +-msgstr "Попереджати про неявні типові конвертації між знаковими та беззнаковими цілими числами." ++msgstr "" + + #: c-family/c.opt:1303 + #, no-c-format + msgid "Warn when overload promotes from unsigned to signed." +-msgstr "Попереджати, коли перевантаження приводить від беззнакового до знакового." ++msgstr "" + + #: c-family/c.opt:1307 + #, no-c-format + msgid "Warn about uncasted NULL used as sentinel." +-msgstr "Попереджати про використання некастованого NULL як маркера." ++msgstr "" + + #: c-family/c.opt:1311 + #, no-c-format + msgid "Warn about unprototyped function declarations." +-msgstr "Попереджати про непрототиповані оголошення функцій." ++msgstr "" + + #: c-family/c.opt:1323 + #, no-c-format + msgid "Warn if type signatures of candidate methods do not match exactly." +-msgstr "Попереджати, якщо типові підписи кандидатських методів не збігаються точно." ++msgstr "" + + #: c-family/c.opt:1327 + #, no-c-format + msgid "Warn when __sync_fetch_and_nand and __sync_nand_and_fetch built-in functions are used." +-msgstr "Попереджати, коли використовуються вбудовані функції __sync_fetch_and_nand та __sync_nand_and_fetch." ++msgstr "" + + #: c-family/c.opt:1331 + #, no-c-format + msgid "Deprecated. This switch has no effect." +-msgstr "Застарілий. Цей перемикач не має ефекту." ++msgstr "" + + #: c-family/c.opt:1339 + #, no-c-format + msgid "Warn if a comparison always evaluates to true or false." +-msgstr "Попереджати, якщо порівняння завжди оцінюється як true або false." ++msgstr "" + + #: c-family/c.opt:1343 + #, no-c-format + msgid "Warn if a throw expression will always result in a call to terminate()." +-msgstr "Попереджати, якщо вираз throw завжди призведе до виклику terminate()." ++msgstr "" + + #: c-family/c.opt:1347 + #, no-c-format + msgid "Warn about features not present in traditional C." +-msgstr "Попереджати про функції, які відсутні в традиційній мові C." ++msgstr "" + + #: c-family/c.opt:1351 + #, no-c-format + msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype." +-msgstr "Попереджати про прототипи, які призводять до типових перетворень, відмінних від тих, що відбуваються відсутності прототипу." ++msgstr "" + + #: c-family/c.opt:1355 + #, no-c-format + msgid "Warn if trigraphs are encountered that might affect the meaning of the program." +-msgstr "Попереджати, якщо зустрічаються триграфи, які можуть вплинути на значення програми." ++msgstr "" + + #: c-family/c.opt:1359 + #, no-c-format + msgid "Warn about @selector()s without previously declared methods." +-msgstr "Попереджувати про @selector() без попередньо оголошених методів." ++msgstr "" + + #: c-family/c.opt:1363 + #, no-c-format + msgid "Warn if an undefined macro is used in an #if directive." +-msgstr "Попереджати, якщо в директиві #if використовується невизначений макрос." ++msgstr "" + + #: c-family/c.opt:1367 + #, no-c-format + msgid "Warn about invalid forms of delimited or named escape sequences." +-msgstr "Попереджувати про недійсні форми обмежених або іменованих послідовностей екранування." ++msgstr "" + + #: c-family/c.opt:1379 + #, no-c-format + msgid "Warn about unrecognized pragmas." +-msgstr "Попереджувати про нерозпізнані pragma-інструкції." ++msgstr "" + + #: c-family/c.opt:1383 + #, no-c-format + msgid "Warn about unsuffixed float constants." +-msgstr "Попереджувати про використання несуфіксованих констант з плаваючою точкою." ++msgstr "" + + #: c-family/c.opt:1391 + #, no-c-format + msgid "Warn when typedefs locally defined in a function are not used." +-msgstr "Попереджувати, коли typedef, що визначається локально в функції, не використовується." ++msgstr "" + + #: c-family/c.opt:1395 + #, no-c-format + msgid "Warn about macros defined in the main file that are not used." +-msgstr "Попереджувати про невикористані макроси, що визначаються в головному файлі." ++msgstr "" + + #: c-family/c.opt:1423 + #, no-c-format + msgid "Warn about using variadic macros." +-msgstr "Попереджувати про використання варіативних макросів." ++msgstr "Попереджати про використання варіативних макросів." + + #: c-family/c.opt:1427 + #, no-c-format + msgid "Warn about questionable usage of the macros used to retrieve variable arguments." +-msgstr "Попереджувати про сумнівне використання макросів, що використовуються для отримання змінних аргументів." ++msgstr "" + + #: c-family/c.opt:1431 + #, no-c-format + msgid "Warn about the most vexing parse syntactic ambiguity." +-msgstr "Попереджувати про найбільш заплутану синтаксичну неоднозначність." ++msgstr "" + + #: c-family/c.opt:1435 + #, no-c-format + msgid "Warn if a variable length array is used." +-msgstr "Попереджувати, якщо використовується масив змінної довжини." ++msgstr "Попереджати, якщо використано масив змінної довжини." + + #: c-family/c.opt:1439 + #, no-c-format + msgid "-Wvla-larger-than=\tWarn on unbounded uses of variable-length arrays, and on bounded uses of variable-length arrays whose bound can be larger than bytes." +-msgstr "-Wvla-larger-than=<число>\tПопереджувати про невизначене використання масивів змінної довжини, а також про обмежене використання масивів змінної довжини, довжина яких може бути більшою за <число> байтів." ++msgstr "" + + #: c-family/c.opt:1445 + #, no-c-format + msgid "Disable Wvla-larger-than= warning. Equivalent to Wvla-larger-than= or larger." +-msgstr "Вимкнути попередження Wvla-larger-than=. Еквівалентно Wvla-larger-than= або більше." ++msgstr "Вимкнути попередження Wvla-larger-than=. Еквівалент Wvla-larger-than= або більше." + + #: c-family/c.opt:1449 + #, no-c-format + msgid "Warn about mismatched declarations of VLA parameters." +-msgstr "Попереджати про невідповідні декларації параметрів VLA." ++msgstr "Попереджати про невідповідні оголошення параметрів VLA." + + #: c-family/c.opt:1453 + #, no-c-format + msgid "Warn about deprecated uses of volatile qualifier." +-msgstr "Попереджати про застаріле використання кваліфікатора volatile." ++msgstr "" + + #: c-family/c.opt:1457 + #, no-c-format + msgid "Warn when a register variable is declared volatile." +-msgstr "Попереджати, коли регістрова змінна оголошується як volatile." ++msgstr "" + + #: c-family/c.opt:1461 + #, no-c-format + msgid "Warn on direct virtual inheritance." +-msgstr "Попереджувати про пряме віртуальне успадкування." ++msgstr "" + + #: c-family/c.opt:1465 + #, no-c-format + msgid "Warn if a virtual base has a non-trivial move assignment operator." +-msgstr "Попереджувати, якщо віртуальна база має незвичайний оператор переміщення присвоєння." ++msgstr "" + + #: c-family/c.opt:1469 + #, no-c-format + msgid "In C++, nonzero means warn about deprecated conversion from string literals to 'char *'. In C, similar warning, except that the conversion is of course not deprecated by the ISO C standard." +-msgstr "У C++, ненульове значення означає попередження про застаріле перетворення з літералів рядків у «char *». У C подібне попередження, за винятком того, що перетворення, звичайно, не є застарілим згідно зі стандартом ISO C." ++msgstr "" + + #: c-family/c.opt:1473 + #, no-c-format + msgid "Warn about xor operators where it appears the user meant exponentiation." +-msgstr "Попереджувати про оператори xor, де здається, що користувач мав на увазі піднесення до степеня." ++msgstr "" + + #: c-family/c.opt:1477 + #, no-c-format + msgid "Warn when a literal '0' is used as null pointer." +-msgstr "Попереджати, коли літерал '0' використовується як нульовий вказівник." ++msgstr "" + + #: c-family/c.opt:1481 + #, no-c-format + msgid "Warn about useless casts." +-msgstr "Попереджати про непотрібні приведення типів." ++msgstr "" + + #: c-family/c.opt:1485 + #, no-c-format + msgid "Warn if a class type has a base or a field whose type uses the anonymous namespace or depends on a type with no linkage." +-msgstr "Попереджати, якщо тип класу має базу або поле, тип якого використовує анонімний простір імен або залежить від типу без звʼязку." ++msgstr "" + + #: c-family/c.opt:1489 + #, no-c-format + msgid "Warn when a declaration has duplicate const, volatile, restrict or _Atomic specifier." +-msgstr "Попереджувати, коли оголошення має дублюючий специфікатор const, volatile, restrict або _Atomic." ++msgstr "" + + #: c-family/c.opt:1493 + #, no-c-format + msgid "Warn when an argument passed to a restrict-qualified parameter aliases with another argument." +-msgstr "Попереджувати, коли аргумент, переданий до параметра з обмеженням restrict, має псевдонім з іншим аргументом." ++msgstr "" + + #: c-family/c.opt:1498 + #, no-c-format + msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)." +-msgstr "Синонім для -std=c89 (для C) або -std=c++98 (для C++)." ++msgstr "" + + #: c-family/c.opt:1506 + #, no-c-format + msgid "The version of the C++ ABI used for -Wabi warnings and link compatibility aliases." +-msgstr "Версія C++ ABI, яка використовується для попереджень -Wabi та псевдонімів сумісності звʼязку." ++msgstr "" + + #: c-family/c.opt:1510 + #, no-c-format + msgid "Enforce class member access control semantics." +-msgstr "Застосовувати семантику контролю доступу до членів класу." ++msgstr "" + + #: c-family/c.opt:1514 + #, no-c-format + msgid "-fada-spec-parent=unit\tDump Ada specs as child units of given parent." +-msgstr "-fada-spec-parent=unit\tВивантажити специфікації Ada як дочірні одиниці заданого батька." ++msgstr "" + + #: c-family/c.opt:1518 + #, no-c-format + msgid "Support C++17 allocation of over-aligned types." +-msgstr "Підтримка виділення типів з перевищеною вирівнюванням у C++17." ++msgstr "" + + #: c-family/c.opt:1522 + #, no-c-format + msgid "-faligned-new=\tUse C++17 over-aligned type allocation for alignments greater than N." +-msgstr "-faligned-new=\tВикористовувати виділення типів з перевищеною вирівнюванням у C++17 для вирівнювань, більших за N." ++msgstr "" + + #: c-family/c.opt:1533 c-family/c.opt:1846 c-family/c.opt:2240 + #: c-family/c.opt:2244 c-family/c.opt:2260 +@@ -2654,192 +2659,192 @@ msgstr "Більше не підтримується." + #: c-family/c.opt:1537 + #, no-c-format + msgid "Recognize the \"asm\" keyword." +-msgstr "Розпізнавати ключове слово «asm»." ++msgstr "" + + #: c-family/c.opt:1545 + #, no-c-format + msgid "Recognize built-in functions." +-msgstr "Розпізнавати вбудовані функції." ++msgstr "" + + #: c-family/c.opt:1552 + #, no-c-format + msgid "Where shorter, use canonicalized paths to systems headers." +-msgstr "Де це коротше, використовуйте канонізовані шляхи до системних заголовків." ++msgstr "" + + #: c-family/c.opt:1556 + #, no-c-format + msgid "Enable the char8_t fundamental type and use it as the type for UTF-8 string and character literals." +-msgstr "Увімкнути фундаментальний тип char8_t і використовувати його як тип для UTF-8 рядків і літералів символів." ++msgstr "" + + #: c-family/c.opt:1644 + #, no-c-format + msgid "Removed in GCC 8. This switch has no effect." +-msgstr "Вилучено в GCC 8. Цей перемикач не має ефекту." ++msgstr "" + + #: c-family/c.opt:1648 + #, no-c-format + msgid "Enable support for C++ concepts." +-msgstr "Увімкнути підтримку концепцій C++." ++msgstr "" + + #: c-family/c.opt:1652 + #, no-c-format + msgid "Enable certain features present in the Concepts TS." +-msgstr "Увімкнути певні функції, які є в Технічній специфікації концепцій (Concepts TS)." ++msgstr "" + + #: c-family/c.opt:1656 + #, no-c-format + msgid "Specify maximum error replay depth during recursive diagnosis of a constraint satisfaction failure." +-msgstr "Вказати максимальну глибину повторного відтворення помилок під час рекурсивного діагностування невиконання обмежень." ++msgstr "" + + #: c-family/c.opt:1660 + #, no-c-format + msgid "Allow the arguments of the '?' operator to have different types." +-msgstr "Дозволити аргументам оператора '?' мати різні типи." ++msgstr "" + + #: c-family/c.opt:1668 + #, no-c-format + msgid "-fconst-string-class=\tUse class for constant strings." +-msgstr "-fconst-string-class=<імʼя>\tВикористовуйте клас <імʼя> для константних рядків." ++msgstr "" + + #: c-family/c.opt:1672 + #, no-c-format + msgid "-fconstexpr-depth=\tSpecify maximum constexpr recursion depth." +-msgstr "-fconstexpr-depth=<число>\tВказати максимальну глибину рекурсії constexpr." ++msgstr "" + + #: c-family/c.opt:1676 + #, no-c-format + msgid "-fconstexpr-cache-depth=\tSpecify maximum constexpr recursion cache depth." +-msgstr "-fconstexpr-cache-depth=<число>\tВказати максимальну глибину кешування рекурсії constexpr." ++msgstr "" + + #: c-family/c.opt:1680 + #, no-c-format + msgid "Allow IEC559 floating point exceptions in constant expressions." +-msgstr "Дозволити винятки з плаваючою точкою IEC559 в константних виразах." ++msgstr "" + + #: c-family/c.opt:1684 + #, no-c-format + msgid "-fconstexpr-loop-limit=\tSpecify maximum constexpr loop iteration count." +-msgstr "-fconstexpr-loop-limit=<число>\tВказати максимальну кількість ітерацій циклу constexpr." ++msgstr "" + + #: c-family/c.opt:1688 + #, no-c-format + msgid "-fconstexpr-ops-limit=\tSpecify maximum number of constexpr operations during a single constexpr evaluation." +-msgstr "-fconstexpr-ops-limit=<число>\tВказує максимальну кількість операцій constexpr під час однієї оцінки constexpr." ++msgstr "" + + #: c-family/c.opt:1692 + #, no-c-format + msgid "Enable certain features present in drafts of C++ Contracts." +-msgstr "Увімкнути певні функції, які присутні у чернетках контрактів C++." ++msgstr "" + + #: c-family/c.opt:1705 + #, no-c-format + msgid "-fcontract-assumption-mode=[on|off]\tEnable or disable treating axiom level contracts as assumptions (default on)." +-msgstr "-fcontract-assumption-mode=[on|off]\tУвімкнути або вимкнути обробку контрактів на рівні аксіом як припущень (за замовчуванням увімкнено)." ++msgstr "" + + #: c-family/c.opt:1709 + #, no-c-format + msgid "-fcontract-build-level=[off|default|audit]\tSpecify max contract level to generate runtime checks for." +-msgstr "-fcontract-build-level=[off|default|audit]\tВказати максимальний рівень контракту для генерації перевірок під час виконання." ++msgstr "" + + #: c-family/c.opt:1713 + #, no-c-format + msgid "-fcontract-strict-declarations=[on|off]\tEnable or disable warnings on generalized redeclaration of functions with contracts (default off)." +-msgstr "-fcontract-strict-declarations=[on|off]\tУвімкнути або вимкнути попередження про узагальнене повторне оголошення функцій з контрактами (за замовчуванням вимкнено)." ++msgstr "" + + #: c-family/c.opt:1717 + #, no-c-format + msgid "-fcontract-mode=[on|off]\tEnable or disable all contract facilities (default on)." +-msgstr "-fcontract-mode=[on|off]\tУвімкнути або вимкнути всі можливості контрактів (за замовчуванням увімкнено)." ++msgstr "" + + #: c-family/c.opt:1721 + #, no-c-format + msgid "-fcontract-continuation-mode=[on|off]\tEnable or disable contract continuation mode (default off)." +-msgstr "-fcontract-continuation-mode=[on|off]\tУвімкнути або вимкнути режим продовження контракту (за замовчуванням вимкнено)." ++msgstr "" + + #: c-family/c.opt:1725 + #, no-c-format + msgid "-fcontract-role=:\tSpecify the semantics for all levels in a role (default, review), or a custom contract role with given semantics (ex: opt:assume,assume,assume)." +-msgstr "-fcontract-role=<імʼя>:<семантика>\tВказує семантику для всіх рівнів у ролі (за замовчуванням, перегляд), або власну роль контракту з заданою семантикою (наприклад: opt:assume,assume,assume)." ++msgstr "" + + #: c-family/c.opt:1729 + #, no-c-format + msgid "-fcontract-semantic=:\tSpecify the concrete semantics for level." +-msgstr "-fcontract-semantic=<рівень>:<семантика>\tВказує конкретну семантику для рівня." ++msgstr "" + + #: c-family/c.opt:1733 + #, no-c-format + msgid "Enable C++ coroutines (experimental)." +-msgstr "Увімкнути C++ корутини (експериментально)." ++msgstr "" + + #: c-family/c.opt:1737 + #, no-c-format + msgid "Emit debug annotations during preprocessing." +-msgstr "Виводити анотації для налагодження під час попередньої обробки." ++msgstr "" + + #: c-family/c.opt:1745 + #, no-c-format + msgid "Factor complex constructors and destructors to favor space over speed." +-msgstr "Факторизувати складні конструктори та деструктори на користь простору перед швидкістю." ++msgstr "" + + #: c-family/c.opt:1753 + #, no-c-format + msgid "Print hierarchical comparisons when template types are mismatched." +-msgstr "Друкувати ієрархічні порівняння, коли типи шаблонів не збігаються." ++msgstr "" + + #: c-family/c.opt:1757 + #, no-c-format + msgid "Preprocess directives only." +-msgstr "Обробляти лише директиви попередньої обробки." ++msgstr "" + + #: c-family/c.opt:1761 + #, no-c-format + msgid "Permit '$' as an identifier character." +-msgstr "Дозволити «$» як символ ідентифікатора." ++msgstr "" + + #: c-family/c.opt:1765 + #, no-c-format + msgid "-fmacro-prefix-map==\tMap one directory name to another in __FILE__, __BASE_FILE__, and __builtin_FILE()." +-msgstr "-fmacro-prefix-map=<старий>=<новий>\tПоказувати одне імʼя каталогу на інше в __FILE__, __BASE_FILE__ та __builtin_FILE()." ++msgstr "" + + #: c-family/c.opt:1769 + #, no-c-format + msgid "Write all declarations as Ada code transitively." +-msgstr "Записувати всі оголошення як код Ada транзитивно." ++msgstr "" + + #: c-family/c.opt:1773 + #, no-c-format + msgid "Write all declarations as Ada code for the given file only." +-msgstr "Перетворити всі оголошення у код Ada лише для вказаного файлу." ++msgstr "" + + #: c-family/c.opt:1780 + #, no-c-format + msgid "Do not elide common elements in template comparisons." +-msgstr "Не викидати спільні елементи при порівнянні шаблонів." ++msgstr "" + + #: c-family/c.opt:1784 + #, no-c-format + msgid "Generate code to check exception specifications." +-msgstr "Створити код для перевірки специфікацій винятків." ++msgstr "" + + #: c-family/c.opt:1791 + #, no-c-format + msgid "-fexec-charset=\tConvert all strings and character constants to character set ." +-msgstr "-fexec-charset=\tПеретворити всі рядки та символьні константи у символьний набір ." ++msgstr "" + + #: c-family/c.opt:1795 + #, no-c-format + msgid "Permit universal character names (\\u and \\U) in identifiers." +-msgstr "Дозволити універсальні імена символів (\\u та \\U) у ідентифікаторах." ++msgstr "" + + #: c-family/c.opt:1799 + #, no-c-format + msgid "-finput-charset=\tSpecify the default character set for source files." +-msgstr "-finput-charset=\tВказати типовий набір символів для вихідних файлів." ++msgstr "" + + #: c-family/c.opt:1803 + #, no-c-format + msgid "Support dynamic initialization of thread-local variables in a different translation unit." +-msgstr "Підтримка динамічної ініціалізації змінних, локальних для потоку, в іншій одиниці перекладу." ++msgstr "" + + #: c-family/c.opt:1810 + #, no-c-format +@@ -2849,17 +2854,17 @@ msgstr "Згорнути виклики простих вбудованих фу + #: c-family/c.opt:1817 + #, no-c-format + msgid "Do not assume that standard C libraries and \"main\" exist." +-msgstr "Не припускати, що існують стандартні бібліотеки C та «main»." ++msgstr "" + + #: c-family/c.opt:1821 + #, no-c-format + msgid "Recognize GNU-defined keywords." +-msgstr "Розпізнавати ключові слова, визначені GNU." ++msgstr "" + + #: c-family/c.opt:1825 + #, no-c-format + msgid "Generate code for GNU runtime environment." +-msgstr "Генерувати код для середовища виконання GNU." ++msgstr "" + + #: c-family/c.opt:1829 + #, no-c-format +@@ -2869,773 +2874,773 @@ msgstr "Використовувати традиційну семантику G + #: c-family/c.opt:1842 + #, no-c-format + msgid "Assume normal C execution environment." +-msgstr "Припускати нормальне середовище виконання C." ++msgstr "Припускати звичайне середовище виконання C." + + #: c-family/c.opt:1850 + #, no-c-format + msgid "Export functions even if they can be inlined." +-msgstr "Експортувати функції навіть якщо вони можуть бути вбудовані." ++msgstr "" + + #: c-family/c.opt:1854 + #, no-c-format + msgid "Make inline functions constexpr by default." +-msgstr "За замовчуванням робити вбудовані функції constexpr." ++msgstr "" + + #: c-family/c.opt:1858 + #, no-c-format + msgid "Emit implicit instantiations of inline templates." +-msgstr "Видавати неявні інстанціювання вбудованих шаблонів." ++msgstr "" + + #: c-family/c.opt:1862 + #, no-c-format + msgid "Emit implicit instantiations of templates." +-msgstr "Видавати неявні інстанціювання шаблонів." ++msgstr "" + + #: c-family/c.opt:1866 + #, no-c-format + msgid "Implement C++17 inheriting constructor semantics." +-msgstr "Реалізувати семантику успадковування конструкторів C++17." ++msgstr "" + + #: c-family/c.opt:1873 + #, no-c-format + msgid "Don't emit dllexported inline functions unless needed." +-msgstr "Не видаляйте dllexported вбудовані функції, якщо не потрібно." ++msgstr "" + + #: c-family/c.opt:1880 + #, no-c-format + msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types." +-msgstr "Дозволити неявні перетворення між векторами з різною кількістю підчастин і/або різними типами елементів." ++msgstr "" + + #: c-family/c.opt:1884 + #, no-c-format + msgid "Enable C++ modules-ts (experimental)." +-msgstr "Увімкнути C++ модулі-ts (експериментально)." ++msgstr "Увімкнути modules-ts C++ (експериментальна можливість)." + + #: c-family/c.opt:1892 + #, no-c-format + msgid "Enable C++ header module (experimental)." +-msgstr "Увімкнути C++ заголовковий модуль (експериментально)." ++msgstr "Увімкнути модуль заголовків C++ (експериментальна можливість)." + + #: c-family/c.opt:1899 + #, no-c-format + msgid "Member functions defined within their class are inline in module purview." +-msgstr "Члени-функції, визначені всередині свого класу, є вбудованими в модульному контексті." ++msgstr "" + + #: c-family/c.opt:1903 + #, no-c-format + msgid "Only emit Compiled Module Interface." +-msgstr "Видавати лише скомпільований інтерфейс модуля." ++msgstr "" + + #: c-family/c.opt:1907 + #, no-c-format + msgid "Mapper for module to CMI files." +-msgstr "Мапер для модуля до файлів CMI." ++msgstr "Засіб прив'язки модулів до файлів CMI." + + #: c-family/c.opt:1911 + #, no-c-format + msgid "Enable lazy module importing." +-msgstr "Увімкнути лінивий імпорт модуля." ++msgstr "Увімкнути «ліниве» імпортування модулів." + + #: c-family/c.opt:1919 + #, no-c-format + msgid "Warn about macros that have conflicting header units definitions." +-msgstr "Попереджати про макроси, які мають конфліктні визначення одиниць заголовка." ++msgstr "Попереджати про макроси, у яких є конфліктні визначення модулів заголовків." + + #: c-family/c.opt:1923 + #, no-c-format + msgid "Note #include directives translated to import declarations." +-msgstr "Зауважити директиви #include, перекладені в декларації імпорту." ++msgstr "" + + #: c-family/c.opt:1927 + #, no-c-format + msgid "Note #include directives not translated to import declarations, and not known to be textual." +-msgstr "Зауважити директиви #include, які не перекладені в декларації імпорту і не відомо, що вони текстові." ++msgstr "" + + #: c-family/c.opt:1931 + #, no-c-format + msgid "Note a #include translation of a specific header." +-msgstr "Примітка: переклад #include для конкретного заголовка." ++msgstr "" + + #: c-family/c.opt:1935 + #, no-c-format + msgid "Note Compiled Module Interface pathnames." +-msgstr "Примітка: шляхи до скомпільованих інтерфейсів модулів." ++msgstr "" + + #: c-family/c.opt:1939 + #, no-c-format + msgid "Note Compiled Module Interface pathname of a specific module or header-unit." +-msgstr "Примітка: шлях до скомпільованого інтерфейсу модуля або заголовкової одиниці." ++msgstr "" + + #: c-family/c.opt:1943 + #, no-c-format + msgid "fmax-include-depth= Set the maximum depth of the nested #include." +-msgstr "fmax-include-depth=<число> Встановити максимальну глибину вкладеного #include." ++msgstr "" + + #: c-family/c.opt:1947 + #, no-c-format + msgid "Don't warn about uses of Microsoft extensions." +-msgstr "Не попереджувати про використання розширень Microsoft." ++msgstr "" + + #: c-family/c.opt:1966 + #, no-c-format + msgid "Implement resolution of DR 150 for matching of template template arguments." +-msgstr "Реалізувати вирішення DR 150 для відповідності аргументів шаблону шаблону." ++msgstr "" + + #: c-family/c.opt:1970 + #, no-c-format + msgid "Generate code for NeXT (Apple Mac OS X) runtime environment." +-msgstr "Генерувати код для середовища виконання NeXT (Apple Mac OS X)." ++msgstr "" + + #: c-family/c.opt:1974 + #, no-c-format + msgid "Assume that receivers of Objective-C messages may be nil." +-msgstr "Припускати, що отримувачі повідомлень Objective-C можуть бути nil." ++msgstr "" + + #: c-family/c.opt:1978 + #, no-c-format + msgid "Allow access to instance variables as if they were local declarations within instance method implementations." +-msgstr "Дозволяти доступ до змінних екземпляра, ніби вони були локальними оголошеннями у реалізаціях методів екземпляра." ++msgstr "" + + #: c-family/c.opt:1982 + #, no-c-format + msgid "-fvisibility=[private|protected|public|package]\tSet the default symbol visibility." +-msgstr "-fvisibility=[private|protected|public|package]\tВстановити типову видимість символів." ++msgstr "" + + #: c-family/c.opt:2007 + #, no-c-format + msgid "Treat a throw() exception specification as noexcept to improve code size." +-msgstr "Трактувати специфікацію винятку throw() як noexcept для покращення розміру коду." ++msgstr "" + + #: c-family/c.opt:2011 + #, no-c-format + msgid "Specify which ABI to use for Objective-C family code and meta-data generation." +-msgstr "Вказати, яке ABI використовувати для генерації коду та метаданих родини Objective-C." ++msgstr "" + + #: c-family/c.opt:2017 + #, no-c-format + msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed." +-msgstr "Генерувати спеціальні методи Objective-C для ініціалізації/знищення не-POD C++ ivars, якщо потрібно." ++msgstr "" + + #: c-family/c.opt:2021 + #, no-c-format + msgid "Allow fast jumps to the message dispatcher." +-msgstr "Дозволити швидкі переходи до диспетчера повідомлень." ++msgstr "" + + #: c-family/c.opt:2027 + #, no-c-format + msgid "Enable Objective-C exception and synchronization syntax." +-msgstr "Увімкнути синтаксис винятків та синхронізації Objective-C." ++msgstr "" + + #: c-family/c.opt:2031 + #, no-c-format + msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs." +-msgstr "Увімкнути збірку сміття (GC) в програмах Objective-C/Objective-C++." ++msgstr "" + + #: c-family/c.opt:2035 + #, no-c-format + msgid "Enable inline checks for nil receivers with the NeXT runtime and ABI version 2." +-msgstr "Увімкнути перевірку на нульовий отримувач з використанням NeXT runtime та версії ABI 2." ++msgstr "" + + #: c-family/c.opt:2040 + #, no-c-format + msgid "Enable Objective-C setjmp exception handling runtime." +-msgstr "Увімкнути обробку виключень setjmp для Objective-C runtime." ++msgstr "" + + #: c-family/c.opt:2044 + #, no-c-format + msgid "Conform to the Objective-C 1.0 language as implemented in GCC 4.0." +-msgstr "Відповідати мові Objective-C 1.0, реалізованій в GCC 4.0." ++msgstr "" + + #: c-family/c.opt:2048 + #, no-c-format + msgid "Enable OpenACC." +-msgstr "Увімкнути OpenACC." ++msgstr "" + + #: c-family/c.opt:2052 + #, no-c-format + msgid "Specify default OpenACC compute dimensions." +-msgstr "Вказати типові розміри обчислень для OpenACC." ++msgstr "" + + #: c-family/c.opt:2056 + #, no-c-format + msgid "Enable OpenMP (implies -frecursive in Fortran)." +-msgstr "Увімкнути OpenMP (включає -frecursive для Fortran)." ++msgstr "" + + #: c-family/c.opt:2060 + #, no-c-format + msgid "Enable OpenMP's SIMD directives." +-msgstr "Увімкнути директиви SIMD для OpenMP." ++msgstr "" + + #: c-family/c.opt:2064 + #, no-c-format + msgid "Recognize C++ keywords like \"compl\" and \"xor\"." +-msgstr "Розпізнавати ключові слова C++, такі як «compl» та «xor»." ++msgstr "" + + #: c-family/c.opt:2075 + #, no-c-format + msgid "Look for and use PCH files even when preprocessing." +-msgstr "Шукати та використовувати PCH-файли навіть під час попередньої обробки." ++msgstr "" + + #: c-family/c.opt:2079 + #, no-c-format + msgid "Downgrade conformance errors to warnings." +-msgstr "Знизити рівень помилок відповідності до попереджень." ++msgstr "" + + #: c-family/c.opt:2083 + #, no-c-format + msgid "Enable Plan 9 language extensions." +-msgstr "Увімкнути розширення мови Plan 9." ++msgstr "" + + #: c-family/c.opt:2087 + #, no-c-format + msgid "Treat the input file as already preprocessed." +-msgstr "Трактувати вхідний файл як вже попередньо оброблений." ++msgstr "" + + #: c-family/c.opt:2095 + #, no-c-format + msgid "-ftrack-macro-expansion=<0|1|2>\tTrack locations of tokens coming from macro expansion and display them in error messages." +-msgstr "-ftrack-macro-expansion=<0|1|2>\tВідстежувати розташування токенів, що походять з розширення макросів, та показувати їх у повідомленнях про помилки." ++msgstr "" + + #: c-family/c.opt:2099 + #, no-c-format + msgid "Do not pretty-print template specializations as the template signature followed by the arguments." +-msgstr "Не форматувати шаблонні спеціалізації як підпис шаблону, за яким слідують аргументи." ++msgstr "" + + #: c-family/c.opt:2103 + #, no-c-format + msgid "Treat known sprintf return values as constants." +-msgstr "Трактувати відомі значення повернення sprintf як константи." ++msgstr "" + + #: c-family/c.opt:2107 + #, no-c-format + msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime." +-msgstr "Використовується в режимі Fix-and-Continue для позначення того, що обʼєктні файли можуть бути обмінені під час виконання." ++msgstr "" + + #: c-family/c.opt:2111 + #, no-c-format + msgid "Removed in GCC 10. This switch has no effect." +-msgstr "Видалено в GCC 10. Цей перемикач не має ефекту." ++msgstr "" + + #: c-family/c.opt:2115 + #, no-c-format + msgid "Generate run time type descriptor information." +-msgstr "Створювати інформацію про опис типу під час виконання." ++msgstr "" + + #: c-family/c.opt:2119 ada/gcc-interface/lang.opt:81 + #, no-c-format + msgid "Use the narrowest integer type possible for enumeration types." +-msgstr "Використовувати найвужчий можливий цілочисельний тип для типів перелічування." ++msgstr "" + + #: c-family/c.opt:2123 + #, no-c-format + msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\"." +-msgstr "Змусити базовий тип для «wchar_t» бути «unsigned short»." ++msgstr "" + + #: c-family/c.opt:2127 + #, no-c-format + msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed." +-msgstr "Якщо не вказано «signed» або «unsigned», зробити бітове поле зі знаком." ++msgstr "" + + #: c-family/c.opt:2131 ada/gcc-interface/lang.opt:85 + #, no-c-format + msgid "Make \"char\" signed by default." +-msgstr "За замовчуванням зробити «char» зі знаком." ++msgstr "" + + #: c-family/c.opt:2135 + #, no-c-format + msgid "Enable C++14 sized deallocation support." +-msgstr "Увімкнути підтримку звільнення памʼяті з вказаною розміром у C++14." ++msgstr "" + + #: c-family/c.opt:2142 + #, no-c-format + msgid "-fstrict-flex-arrays= Control when to treat the trailing array of a structure as a flexible array member for the purposes of accessing the elements of such an array. The default is treating all trailing arrays of structures as flexible array members." +-msgstr "-fstrict-flex-arrays=<рівень> Контролює, коли треба розглядати кінцевий масив структури як гнучкий елемент масиву для доступу до елементів такого масиву. За замовчуванням всі кінцеві масиви структур розглядаються як гнучкі елементи масиву." ++msgstr "" + + #: c-family/c.opt:2149 + #, no-c-format + msgid "-fsso-struct=[big-endian|little-endian|native]\tSet the default scalar storage order." +-msgstr "-fsso-struct=[big-endian|little-endian|native]\tВстановити порядок зберігання скалярів за замовчуванням." ++msgstr "" + + #: c-family/c.opt:2165 + #, no-c-format + msgid "Display statistics accumulated during compilation." +-msgstr "Показування статистики, накопиченої під час компіляції." ++msgstr "" + + #: c-family/c.opt:2169 + #, no-c-format + msgid "Assume that values of enumeration type are always within the minimum range of that type." +-msgstr "Припускати, що значення перелічувального типу завжди знаходяться в мінімальному діапазоні цього типу." ++msgstr "" + + #: c-family/c.opt:2176 c-family/c.opt:2181 + #, no-c-format + msgid "Follow the C++17 evaluation order requirements for assignment expressions, shift, member function calls, etc." +-msgstr "Дотримуйтесь вимог C++17 щодо порядку оцінки виразів присвоєння, зсуву, викликів функцій-членів тощо." ++msgstr "" + + #: c-family/c.opt:2198 + #, no-c-format + msgid "Set the maximum number of template instantiation notes for a single warning or error." +-msgstr "Встановити максимальну кількість приміток про інстанціювання шаблону для одного попередження або помилки." ++msgstr "" + + #: c-family/c.opt:2205 + #, no-c-format + msgid "-ftemplate-depth=\tSpecify maximum template instantiation depth." +-msgstr "-ftemplate-depth=<число>\tВказати максимальну глибину інстанціювання шаблону." ++msgstr "" + + #: c-family/c.opt:2212 + #, no-c-format + msgid "-fno-threadsafe-statics\tDo not generate thread-safe code for initializing local statics." +-msgstr "-fno-threadsafe-statics\tНе генерувати потокобезпечний код для ініціалізації локальних статичних змінних." ++msgstr "" + + #: c-family/c.opt:2216 + #, no-c-format + msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned." +-msgstr "Якщо не вказано «signed» або «unsigned», зробити бітове поле беззнаковим." ++msgstr "" + + #: c-family/c.opt:2220 ada/gcc-interface/lang.opt:89 + #, no-c-format + msgid "Make \"char\" unsigned by default." +-msgstr "За замовчуванням зробити «char» беззнаковим." ++msgstr "" + + #: c-family/c.opt:2224 + #, no-c-format + msgid "Use __cxa_atexit to register destructors." +-msgstr "Використовуйте __cxa_atexit для реєстрації деструкторів." ++msgstr "" + + #: c-family/c.opt:2228 + #, no-c-format + msgid "Use __cxa_get_exception_ptr in exception handling." +-msgstr "Використовуйте __cxa_get_exception_ptr у обробці винятків." ++msgstr "" + + #: c-family/c.opt:2232 + #, no-c-format + msgid "Marks all inlined functions and methods as having hidden visibility." +-msgstr "Позначає всі вбудовані функції та методи як з прихованою видимістю." ++msgstr "" + + #: c-family/c.opt:2236 + #, no-c-format + msgid "Changes visibility to match Microsoft Visual Studio by default." +-msgstr "За замовчуванням змінює видимість, щоб відповідати Microsoft Visual Studio." ++msgstr "" + + #: c-family/c.opt:2248 + #, no-c-format + msgid "Emit common-like symbols as weak symbols." +-msgstr "Випускати символи, подібні до загальних, як слабкі символи." ++msgstr "" + + #: c-family/c.opt:2252 + #, no-c-format + msgid "-fwide-exec-charset=\tConvert all wide strings and character constants to character set ." +-msgstr "-fwide-exec-charset=\tПеретворити всі широкі рядки та символьні константи в набір символів ." ++msgstr "" + + #: c-family/c.opt:2256 + #, no-c-format + msgid "Generate a #line directive pointing at the current working directory." +-msgstr "Створити директиву #line, яка вказує на поточний робочий каталог." ++msgstr "" + + #: c-family/c.opt:2264 + #, no-c-format + msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode." +-msgstr "Створити лінивий пошук класу (за допомогою objc_getClass()) для використання в режимі Zero-Link." ++msgstr "" + + #: c-family/c.opt:2268 + #, no-c-format + msgid "Dump declarations to a .decl file." +-msgstr "Вивантажити оголошення в файл .decl." ++msgstr "" + + #: c-family/c.opt:2272 + #, no-c-format + msgid "-femit-struct-debug-baseonly\tAggressive reduced debug info for structs." +-msgstr "-femit-struct-debug-baseonly\tАгресивно зменшена інформація для налагодження структур." ++msgstr "" + + #: c-family/c.opt:2276 + #, no-c-format + msgid "-femit-struct-debug-reduced\tConservative reduced debug info for structs." +-msgstr "-femit-struct-debug-reduced\tКонсервативно зменшена інформація для налагодження структур." ++msgstr "" + + #: c-family/c.opt:2280 + #, no-c-format + msgid "-femit-struct-debug-detailed=\tDetailed reduced debug info for structs." +-msgstr "-femit-struct-debug-detailed=\tДетальна зменшена інформація для структур." ++msgstr "" + + #: c-family/c.opt:2284 + #, no-c-format + msgid "Interpret imaginary, fixed-point, or other gnu number suffix as the corresponding number literal rather than a user-defined number literal." +-msgstr "Інтерпретувати уявні, фіксовані або інші суфікси чисел GNU як відповідні числові літерали, а не визначені користувачем числові літерали." ++msgstr "" + + #: c-family/c.opt:2289 + #, no-c-format + msgid "-idirafter \tAdd to the end of the system include path." +-msgstr "-idirafter \tДодати в кінець системного шляху включення." ++msgstr "" + + #: c-family/c.opt:2293 + #, no-c-format + msgid "-imacros \tAccept definition of macros in ." +-msgstr "-imacros \tПрийняти визначення макросів у файлі ." ++msgstr "" + + #: c-family/c.opt:2297 + #, no-c-format + msgid "-imultilib \tSet to be the multilib include subdirectory." +-msgstr "-imultilib \tВстановити як підкаталог multilib для включення." ++msgstr "" + + #: c-family/c.opt:2301 + #, no-c-format + msgid "-include \tInclude the contents of before other files." +-msgstr "-include \tВключити вміст файлу перед іншими файлами." ++msgstr "" + + #: c-family/c.opt:2305 + #, no-c-format + msgid "-iprefix \tSpecify as a prefix for next two options." +-msgstr "-iprefix <шлях>\tВказати <шлях> як префікс для наступних двох опцій." ++msgstr "" + + #: c-family/c.opt:2309 + #, no-c-format + msgid "-isysroot \tSet to be the system root directory." +-msgstr "-isysroot <каталог>\tВстановити <каталог> як кореневий каталог системи." ++msgstr "" + + #: c-family/c.opt:2313 + #, no-c-format + msgid "-isystem \tAdd to the start of the system include path." +-msgstr "-isystem <каталог>\tДодати <каталог> в початок шляху включення системи." ++msgstr "" + + #: c-family/c.opt:2317 + #, no-c-format + msgid "-iquote \tAdd to the end of the quote include path." +-msgstr "-iquote <каталог>\tДодати <каталог> в кінець шляху включення в лапки." ++msgstr "" + + #: c-family/c.opt:2321 + #, no-c-format + msgid "-iwithprefix \tAdd to the end of the system include path." +-msgstr "-iwithprefix <каталог>\tДодати <каталог> в кінець шляху включення системи." ++msgstr "" + + #: c-family/c.opt:2325 + #, no-c-format + msgid "-iwithprefixbefore \tAdd to the end of the main include path." +-msgstr "-iwithprefixbefore <каталог>\tДодати <каталог> в кінець основного шляху включення." ++msgstr "" + + #: c-family/c.opt:2335 + #, no-c-format + msgid "Do not search standard system include directories (those specified with -isystem will still be used)." +-msgstr "Не шукати стандартні системні каталоги включення (те, що вказано з -isystem, все ще буде використовуватися)." ++msgstr "" + + #: c-family/c.opt:2339 + #, no-c-format + msgid "Do not search standard system include directories for C++." +-msgstr "Не шукати стандартні системні каталоги включення для C++." ++msgstr "" + + #: c-family/c.opt:2351 + #, no-c-format + msgid "Generate C header of platform-specific features." +-msgstr "Генерувати C-заголовок платформо-специфічних функцій." ++msgstr "" + + #: c-family/c.opt:2355 + #, no-c-format + msgid "Remap file names when including files." +-msgstr "Перейменовувати імена файлів при включенні файлів." ++msgstr "" + + #: c-family/c.opt:2359 c-family/c.opt:2363 + #, no-c-format + msgid "Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum." +-msgstr "Відповідати стандарту ISO 1998 C++, переглянутому технічним коригуванням 2003 року." ++msgstr "" + + #: c-family/c.opt:2367 + #, no-c-format + msgid "Conform to the ISO 2011 C++ standard." +-msgstr "Відповідати стандарту ISO 2011 C++." ++msgstr "" + + #: c-family/c.opt:2371 + #, no-c-format + msgid "Deprecated in favor of -std=c++11." +-msgstr "Застарілий на користь -std=c++11." ++msgstr "" + + #: c-family/c.opt:2375 + #, no-c-format + msgid "Deprecated in favor of -std=c++14." +-msgstr "Застарілий на користь -std=c++14." ++msgstr "" + + #: c-family/c.opt:2379 + #, no-c-format + msgid "Conform to the ISO 2014 C++ standard." +-msgstr "Відповідати стандарту ISO 2014 C++." ++msgstr "" + + #: c-family/c.opt:2383 + #, no-c-format + msgid "Deprecated in favor of -std=c++17." +-msgstr "Застарілий на користь -std=c++17." ++msgstr "" + + #: c-family/c.opt:2387 + #, no-c-format + msgid "Conform to the ISO 2017 C++ standard." +-msgstr "Відповідати ISO 2017 стандарту C++." ++msgstr "" + + #: c-family/c.opt:2391 c-family/c.opt:2395 + #, no-c-format + msgid "Conform to the ISO 2020 C++ standard (experimental and incomplete support)." +-msgstr "Відповідати ISO 2020 стандарту C++ (експериментальна та неповна підтримка)." ++msgstr "" + + #: c-family/c.opt:2399 c-family/c.opt:2403 + #, no-c-format + msgid "Conform to the ISO 2023 C++ draft standard (experimental and incomplete support)." +-msgstr "Відповідати проекту стандарту C++ ISO 2023 (експериментальна та неповна підтримка)." ++msgstr "" + + #: c-family/c.opt:2407 c-family/c.opt:2545 + #, no-c-format + msgid "Conform to the ISO 2011 C standard." +-msgstr "Відповідати стандарту C ISO 2011." ++msgstr "" + + #: c-family/c.opt:2411 + #, no-c-format + msgid "Deprecated in favor of -std=c11." +-msgstr "Застарілий на користь -std=c11." ++msgstr "" + + #: c-family/c.opt:2415 c-family/c.opt:2419 c-family/c.opt:2549 + #: c-family/c.opt:2553 + #, no-c-format + msgid "Conform to the ISO 2017 C standard (published in 2018)." +-msgstr "Відповідність стандарту C ISO 2017 (опубліковано в 2018 році)." ++msgstr "" + + #: c-family/c.opt:2423 + #, no-c-format + msgid "Conform to the ISO 202X C standard draft (experimental and incomplete support)." +-msgstr "Відповідність проекту стандарту C ISO 202X (експериментальна та неповна підтримка)." ++msgstr "" + + #: c-family/c.opt:2427 c-family/c.opt:2431 c-family/c.opt:2529 + #, no-c-format + msgid "Conform to the ISO 1990 C standard." +-msgstr "Відповідність стандарту C ISO 1990." ++msgstr "" + + #: c-family/c.opt:2435 c-family/c.opt:2537 + #, no-c-format + msgid "Conform to the ISO 1999 C standard." +-msgstr "Відповідність стандарту C ISO 1999." ++msgstr "" + + #: c-family/c.opt:2439 + #, no-c-format + msgid "Deprecated in favor of -std=c99." +-msgstr "Застарілий на користь -std=c99." ++msgstr "" + + #: c-family/c.opt:2443 c-family/c.opt:2448 + #, no-c-format + msgid "Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum with GNU extensions." +-msgstr "Відповідність стандарту C++ ISO 1998, переглянутого технічним коригуванням 2003 року з розширеннями GNU." ++msgstr "" + + #: c-family/c.opt:2453 + #, no-c-format + msgid "Conform to the ISO 2011 C++ standard with GNU extensions." +-msgstr "Відповідність стандарту C++ ISO 2011 з розширеннями GNU." ++msgstr "" + + #: c-family/c.opt:2457 + #, no-c-format + msgid "Deprecated in favor of -std=gnu++11." +-msgstr "Застарілий на користь -std=gnu++11." ++msgstr "" + + #: c-family/c.opt:2461 + #, no-c-format + msgid "Deprecated in favor of -std=gnu++14." +-msgstr "Застарілий на користь -std=gnu++14." ++msgstr "" + + #: c-family/c.opt:2465 + #, no-c-format + msgid "Conform to the ISO 2014 C++ standard with GNU extensions." +-msgstr "Відповідати стандарту C++ ISO 2014 з розширеннями GNU." ++msgstr "" + + #: c-family/c.opt:2469 + #, no-c-format + msgid "Deprecated in favor of -std=gnu++17." +-msgstr "Застарілий на користь -std=gnu++17." ++msgstr "" + + #: c-family/c.opt:2473 + #, no-c-format + msgid "Conform to the ISO 2017 C++ standard with GNU extensions." +-msgstr "Відповідати стандарту C++ ISO 2017 з розширеннями GNU." ++msgstr "" + + #: c-family/c.opt:2477 c-family/c.opt:2481 + #, no-c-format + msgid "Conform to the ISO 2020 C++ standard with GNU extensions (experimental and incomplete support)." +-msgstr "Відповідати стандарту C++ ISO 2020 з розширеннями GNU (експериментальна та неповна підтримка)." ++msgstr "" + + #: c-family/c.opt:2485 c-family/c.opt:2489 + #, no-c-format + msgid "Conform to the ISO 2023 C++ draft standard with GNU extensions (experimental and incomplete support)." +-msgstr "Відповідати проекту стандарту C++ ISO 2023 з розширеннями GNU (експериментальна та неповна підтримка)." ++msgstr "" + + #: c-family/c.opt:2493 + #, no-c-format + msgid "Conform to the ISO 2011 C standard with GNU extensions." +-msgstr "Відповідати стандарту C ISO 2011 з розширеннями GNU." ++msgstr "" + + #: c-family/c.opt:2497 + #, no-c-format + msgid "Deprecated in favor of -std=gnu11." +-msgstr "Застарілий на користь -std=gnu11." ++msgstr "" + + #: c-family/c.opt:2501 c-family/c.opt:2505 + #, no-c-format + msgid "Conform to the ISO 2017 C standard (published in 2018) with GNU extensions." +-msgstr "Відповідати стандарту C ISO 2017 (опублікованому в 2018 році) з розширеннями GNU." ++msgstr "" + + #: c-family/c.opt:2509 + #, no-c-format + msgid "Conform to the ISO 202X C standard draft with GNU extensions (experimental and incomplete support)." +-msgstr "Відповідати проекту стандарту C ISO 202X з розширеннями GNU (експериментальна та неповна підтримка)." ++msgstr "" + + #: c-family/c.opt:2513 c-family/c.opt:2517 + #, no-c-format + msgid "Conform to the ISO 1990 C standard with GNU extensions." +-msgstr "Відповідати стандарту C ISO 1990 з розширеннями GNU." ++msgstr "" + + #: c-family/c.opt:2521 + #, no-c-format + msgid "Conform to the ISO 1999 C standard with GNU extensions." +-msgstr "Відповідати стандарту C ISO 1999 з розширеннями GNU." ++msgstr "" + + #: c-family/c.opt:2525 + #, no-c-format + msgid "Deprecated in favor of -std=gnu99." +-msgstr "Застарілий на користь -std=gnu99." ++msgstr "" + + #: c-family/c.opt:2533 + #, no-c-format + msgid "Conform to the ISO 1990 C standard as amended in 1994." +-msgstr "Відповідати стандарту C ISO 1990 з поправками 1994 року." ++msgstr "" + + #: c-family/c.opt:2541 + #, no-c-format + msgid "Deprecated in favor of -std=iso9899:1999." +-msgstr "Застарілий на користь -std=iso9899:1999." ++msgstr "" + + #: c-family/c.opt:2557 + #, no-c-format + msgid "-stdlib=[libstdc++|libc++]\tThe standard library to be used for C++ headers and runtime." +-msgstr "-stdlib=[libstdc++|libc++]\tСтандартна бібліотека, яка буде використовуватися для заголовків та виконання C++." ++msgstr "" + + #: c-family/c.opt:2574 + #, no-c-format + msgid "Enable traditional preprocessing." +-msgstr "Увімкнути традиційну попередню обробку." ++msgstr "" + + #: c-family/c.opt:2578 + #, no-c-format + msgid "-trigraphs\tSupport ISO C trigraphs." +-msgstr "-trigraphs\tПідтримка триграфів ISO C." ++msgstr "" + + #: c-family/c.opt:2582 + #, no-c-format + msgid "Do not predefine system-specific and GCC-specific macros." +-msgstr "Не визначати наперед системно-специфічні та GCC-специфічні макроси." ++msgstr "" + + #: ada/gcc-interface/lang.opt:61 + #, no-c-format + msgid "Dump Source Coverage Obligations." +-msgstr "Записати обовʼязки покриття вихідного коду." ++msgstr "" + + #: ada/gcc-interface/lang.opt:65 + #, no-c-format + msgid "Synonym of -gnatk8." +-msgstr "Синонім для -gnatk8." ++msgstr "" + + #: ada/gcc-interface/lang.opt:73 + #, no-c-format + msgid "Do not look for object files in standard path." +-msgstr "Не шукати обʼєктні файли в стандартному шляху." ++msgstr "" + + #: ada/gcc-interface/lang.opt:77 + #, no-c-format + msgid "Select the runtime." +-msgstr "Вибрати середовище виконання." ++msgstr "" + + #: ada/gcc-interface/lang.opt:93 + #, no-c-format + msgid "Catch typos." +-msgstr "Виявляти описки." ++msgstr "" + + #: ada/gcc-interface/lang.opt:97 + #, no-c-format + msgid "Set name of output ALI file (internal switch)." +-msgstr "Встановити імʼя вихідного файлу ALI (внутрішній перемикач)." ++msgstr "" + + #: ada/gcc-interface/lang.opt:101 + #, no-c-format + msgid "-gnat\tSpecify options to GNAT." +-msgstr "-gnat<опції>\tВказати параметри для GNAT." ++msgstr "" + + #: ada/gcc-interface/lang.opt:105 + #, no-c-format + msgid "Ignored." +-msgstr "Ігнорується." ++msgstr "Проігноровано." + + #: d/lang.opt:51 + #, no-c-format + msgid "-Hd \tWrite D interface files to directory ." +-msgstr "-Hd <кат>\tЗаписати файли інтерфейсу D у каталог <кат>." ++msgstr "" + + #: d/lang.opt:55 + #, no-c-format + msgid "-Hf \tWrite D interface to ." +-msgstr "-Hf <файл>\tЗаписати D інтерфейс у файл ." ++msgstr "" + + #: d/lang.opt:127 + #, no-c-format + msgid "Warn about casts that will produce a null result." +-msgstr "Попереджати про приведення типів, які призведуть до отримання значення null." ++msgstr "" + + #: d/lang.opt:143 + #, no-c-format + msgid "Warn from speculative compiles such as __traits(compiles)." +-msgstr "Попереджати про спекулятивні компіляції, такі як __traits(compiles)." ++msgstr "" + + #: d/lang.opt:155 + #, no-c-format + msgid "Generate JSON file." +-msgstr "Створити файл JSON." ++msgstr "" + + #: d/lang.opt:159 + #, no-c-format + msgid "-Xf \tWrite JSON output to the given ." +-msgstr "-Xf <файл>\tЗаписати JSON-вивід у вказаний <файл>." ++msgstr "" + + #: d/lang.opt:163 + #, no-c-format + msgid "Debug library to use instead of phobos." +-msgstr "Бібліотека для налагодження, яку слід використовувати замість phobos." ++msgstr "" + + #: d/lang.opt:167 + #, no-c-format + msgid "Default library to use instead of phobos." +-msgstr "Бібліотека за замовчуванням, яку слід використовувати замість phobos." ++msgstr "" + + #: d/lang.opt:171 + #, no-c-format + msgid "Do link the standard D startup files in the compilation." +-msgstr "Підключити стандартні файли запуску D під час компіляції." ++msgstr "" + + #: d/lang.opt:178 + #, no-c-format + msgid "Generate code for all template instantiations." +-msgstr "Генерувати код для всіх інстанціювань шаблонів." ++msgstr "" + + #: d/lang.opt:182 + #, no-c-format + msgid "Generate code for assert contracts." +-msgstr "Створити код для контрактів assert." ++msgstr "" + + #: d/lang.opt:190 + #, no-c-format + msgid "-fbounds-check=[on|safeonly|off]\tTurn array bounds checks on, in @safe code only, or off." +-msgstr "-fbounds-check=[on|safeonly|off]\tУвімкнути перевірку меж масиву, тільки в безпечному коді @safe, або вимкнути." ++msgstr "" + + #: d/lang.opt:232 + #, no-c-format + msgid "-fcheckaction=[throw,halt,context]\tBehavior on contract failure." +-msgstr "-fcheckaction=[throw,halt,context]\tПоведінка при порушенні контракту." ++msgstr "" + + #: d/lang.opt:248 + #, no-c-format + msgid "Compile in debug code." +-msgstr "Компілювати в режимі налагодження." ++msgstr "" + + #: d/lang.opt:252 + #, no-c-format + msgid "-fdebug=\tCompile in debug code identified by ." +-msgstr "-fdebug=<ідент>\tКомпілювати в режимі налагодження код, ідентифікований за допомогою <ідент>." ++msgstr "" + + #: d/lang.opt:256 + #, no-c-format +@@ -3645,1492 +3650,1512 @@ msgstr "Створити документацію." + #: d/lang.opt:260 + #, no-c-format + msgid "-fdoc-dir=\tWrite documentation file to directory ." +-msgstr "-fdoc-dir=<кат>\tЗаписати файл документації в каталог <кат>." ++msgstr "" + + #: d/lang.opt:264 + #, no-c-format + msgid "-fdoc-file=\tWrite documentation to ." +-msgstr "-fdoc-file=<файл>\tЗаписати документацію в файл <файл>." ++msgstr "" + + #: d/lang.opt:268 + #, no-c-format + msgid "-fdoc-inc=\tInclude a Ddoc macro ." +-msgstr "-fdoc-inc=<файл>\tВключити макро Ddoc з <файл>." ++msgstr "" + + #: d/lang.opt:272 + #, no-c-format + msgid "Assume that standard D runtime libraries and \"D main\" exist." +-msgstr "Припустити, що існують стандартні бібліотеки виконання D та «D main»." ++msgstr "" + + #: d/lang.opt:276 + #, no-c-format + msgid "Add comments for ignored declarations in the generated C++ header." +-msgstr "Додати коментарі до ігнорованих оголошень у згенерованому заголовку C++." ++msgstr "" + + #: d/lang.opt:280 + #, no-c-format + msgid "-fdump-cxx-spec=\tWrite all declarations as C++ code to ." +-msgstr "-fdump-cxx-spec=<файл>\tЗаписати всі оголошення у вигляді коду C++ у <файл>." ++msgstr "" + + #: d/lang.opt:284 + #, no-c-format + msgid "Display the frontend AST after parsing and semantic passes." +-msgstr "Показувати AST frontend після проходження парсера та семантичних проходів." ++msgstr "" + + #: d/lang.opt:288 + #, no-c-format + msgid "-fextern-std=\tSet C++ name mangling compatibility with ." +-msgstr "-fextern-std=\tВстановити сумісність декорування імен C++ з ." ++msgstr "" + + #: d/lang.opt:313 + #, no-c-format + msgid "Ignore unsupported pragmas." +-msgstr "Ігнорувати непідтримувані pragma-директиви." ++msgstr "" + + #: d/lang.opt:317 + #, no-c-format + msgid "Generate code for class invariant contracts." +-msgstr "Створити код для контрактів незмінності класу." ++msgstr "" + + #: d/lang.opt:321 + #, no-c-format + msgid "Generate a default D main() function when compiling." +-msgstr "Генерувати типову функцію main() для D при компіляції." ++msgstr "" + + #: d/lang.opt:325 + #, no-c-format + msgid "-fmodule-file==\tuse as source file for ." +-msgstr "-fmodule-file==\tвикористовувати як вихідний файл для ." ++msgstr "" + + #: d/lang.opt:329 + #, no-c-format + msgid "Generate ModuleInfo struct for output module." +-msgstr "Генерувати структуру ModuleInfo для вихідного модуля." ++msgstr "" + + #: d/lang.opt:333 + #, no-c-format + msgid "Process all modules specified on the command line, but only generate code for the module specified by the argument." +-msgstr "Обробляти всі модулі, вказані в командному рядку, але генерувати код лише для модуля, вказаного аргументом." ++msgstr "" + + #: d/lang.opt:337 + #, no-c-format + msgid "Generate code for postcondition contracts." +-msgstr "Генерувати код для контрактів післяумов." ++msgstr "" + + #: d/lang.opt:341 + #, no-c-format + msgid "Generate code for precondition contracts." +-msgstr "Генерувати код для контрактів передумов." ++msgstr "" + + #: d/lang.opt:345 + #, no-c-format + msgid "Turn on all upcoming D language features." +-msgstr "Увімкнути всі майбутні функції мови D." ++msgstr "" + + #: d/lang.opt:349 + #, no-c-format + msgid "Implement D bit-fields." +-msgstr "Реалізувати бітові поля D." ++msgstr "" + + #: d/lang.opt:353 + #, no-c-format + msgid "Implement DIP1000: Scoped pointers." +-msgstr "Реалізувати DIP1000: Обмежені вказівники." ++msgstr "" + + #: d/lang.opt:357 + #, no-c-format + msgid "Implement DIP1008: Allow exceptions in @nogc code." +-msgstr "Реалізувати DIP1008: Дозволити виключення в коді @nogc." ++msgstr "" + + #: d/lang.opt:361 + #, no-c-format + msgid "Implement DIP1021: Mutable function arguments." +-msgstr "Реалізувати DIP1021: Змінні аргументи функцій." ++msgstr "" + + #: d/lang.opt:365 + #, no-c-format + msgid "Destruct fields of partially constructed objects." +-msgstr "Руйнувати поля частково побудованих обʼєктів." ++msgstr "" + + #: d/lang.opt:369 + #, no-c-format + msgid "Use field-wise comparisons for struct equality." +-msgstr "Використовувати порівняння по полях для рівності структур." ++msgstr "" + + #: d/lang.opt:373 + #, no-c-format + msgid "When a symbol is resolved, check `alias this' scope before going to upper scopes." +-msgstr "Коли символ вирішується, перевіряти область «alias this» перед переходом до верхніх областей." ++msgstr "" + + #: d/lang.opt:377 + #, no-c-format + msgid "Disallow unsound immutable conversions that were formerly incorrectly permitted." +-msgstr "Заборонити неправильні незворотні перетворення, які раніше неправильно дозволялися." ++msgstr "" + + #: d/lang.opt:381 + #, no-c-format + msgid "Implement 'in' parameters to mean scope const." +-msgstr "Реалізувати параметри 'in' для означення константного обсягу." ++msgstr "" + + #: d/lang.opt:385 + #, no-c-format + msgid "Implement 'in' contracts of overridden methods to be a superset of parent contract." +-msgstr "Реалізувати 'in' контракти перевизначених методів як підмножину контракту батьківського методу." ++msgstr "" + + #: d/lang.opt:389 + #, no-c-format + msgid "Disable access to shared memory objects." +-msgstr "Вимкнути доступ до обʼєктів спільної памʼяті." ++msgstr "" + + #: d/lang.opt:393 + #, no-c-format + msgid "Enable rvalue arguments to ref parameters." +-msgstr "Увімкнути передачу rvalue-аргументів в ref-параметри." ++msgstr "" + + #: d/lang.opt:397 + #, no-c-format + msgid "Disable access to variables marked `@system' from @safe code." +-msgstr "Вимкнути доступ до змінних, позначених як «@system», з коду @safe." ++msgstr "" + + #: d/lang.opt:401 + #, no-c-format + msgid "Compile release version." +-msgstr "Компілювати версію для випуску." ++msgstr "" + + #: d/lang.opt:405 + #, no-c-format + msgid "Turn off all revertable D language features." +-msgstr "Вимкнути всі можливості мови D, які можна скасувати." ++msgstr "" + + #: d/lang.opt:409 + #, no-c-format + msgid "Revert DIP1000: Scoped pointers." +-msgstr "Скасувати DIP1000: Змінні з областю видимості." ++msgstr "" + + #: d/lang.opt:413 + #, no-c-format + msgid "Don't destruct fields of partially constructed objects." +-msgstr "Не знищувати поля частково побудованих обʼєктів." ++msgstr "" + + #: d/lang.opt:417 + #, no-c-format + msgid "Don't use C-style integral promotion for unary '+', '-' and '~'." +-msgstr "Не використовувати C-стильне цілочисельне просування для унарних операторів '+', '-' та '~'." ++msgstr "" + + #: d/lang.opt:425 + #, no-c-format + msgid "-fsave-mixins=\tExpand and save mixins to file specified by ." +-msgstr "-fsave-mixins=<імʼя_файлу>\tРозгорнути та зберегти міксини у файл, вказаний параметром <імʼя_файлу>." ++msgstr "" + + #: d/lang.opt:429 + #, no-c-format + msgid "Generate code for switches without a default case." +-msgstr "Генерувати код для операторів «switch» без вказання «default»." ++msgstr "" + + #: d/lang.opt:433 + #, no-c-format + msgid "List information on all D language transitions." +-msgstr "Вивести інформацію про всі переходи мови D." ++msgstr "" + + #: d/lang.opt:437 + #, no-c-format + msgid "List all non-mutable fields which occupy an object instance." +-msgstr "Вивести списком всі незмінні поля, які займають екземпляр обʼєкта." ++msgstr "" + + #: d/lang.opt:441 + #, no-c-format + msgid "List all usages of 'in' on parameter." +-msgstr "Вивести списком всі використання 'in' на параметрі." ++msgstr "" + + #: d/lang.opt:445 + #, no-c-format + msgid "List all hidden GC allocations." +-msgstr "Вивести списком всі приховані виділення памʼяті GC." ++msgstr "" + + #: d/lang.opt:449 + #, no-c-format + msgid "List statistics on template instantiations." +-msgstr "Вивести списком статистику щодо інстанціювання шаблонів." ++msgstr "" + + #: d/lang.opt:453 + #, no-c-format + msgid "List all variables going into thread local storage." +-msgstr "Вивести список усіх змінних, які потрапляють у потокове локальне сховище." ++msgstr "" + + #: d/lang.opt:457 + #, no-c-format + msgid "Compile in unittest code." +-msgstr "Компілювати код для модульних тестів." ++msgstr "" + + #: d/lang.opt:461 + #, no-c-format + msgid "-fversion=\tCompile in version code identified by ." +-msgstr "-fversion=\tКомпілювати код версії, ідентифікований за допомогою ." ++msgstr "" + + #: d/lang.opt:465 + #, no-c-format + msgid "Emit template instantiations as weak symbols." +-msgstr "Видавати інстанціювання шаблонів як слабкі символи." ++msgstr "" + + #: d/lang.opt:485 + #, no-c-format + msgid "Do not link the standard D library in the compilation." +-msgstr "Не звʼязувати стандартну бібліотеку D під час компіляції." ++msgstr "" + + #: d/lang.opt:493 + #, no-c-format + msgid "Link the standard D library statically in the compilation." +-msgstr "Звʼязати стандартну бібліотеку D статично під час компіляції." ++msgstr "" + + #: d/lang.opt:497 + #, no-c-format + msgid "Link the standard D library dynamically in the compilation." +-msgstr "Звʼязати стандартну бібліотеку D динамічно під час компіляції." ++msgstr "" + + #: m2/lang.opt:35 + #, no-c-format + msgid "compiler checks to force definition module procedure parameter names with their implementation module counterpart" +-msgstr "перевірки компілятора для примусового вказання імен параметрів процедур визначення модуля з їхніми відповідниками в модулі реалізації" ++msgstr "" + + #: m2/lang.opt:39 + #, no-c-format + msgid "compiler warns if a cast is being used on types of differing sizes" +-msgstr "компілятор попереджає, якщо використовується приведення типів різних розмірів" ++msgstr "" + + #: m2/lang.opt:43 + #, no-c-format + msgid "inform user which parameters will be passed by reference" +-msgstr "повідомляти користувача, які параметри будуть передані за посиланням" ++msgstr "" + + #: m2/lang.opt:47 + #, no-c-format + msgid "extra compile time semantic checking, typically tries to catch poor programming style" +-msgstr "додаткова перевірка семантики під час компіляції, зазвичай намагається виявити недоліки в стилі програмування" ++msgstr "" + + #: m2/lang.opt:51 + #, no-c-format + msgid "automatically initializes all pointers to NIL" +-msgstr "автоматично ініціалізує всі вказівники значенням NIL" ++msgstr "" + + #: m2/lang.opt:55 + #, no-c-format + msgid "turns on runtime subrange, array index and indirection via NIL pointer checking" +-msgstr "включає перевірку підмножин, індексів масивів та операцій з вказівниками через перевірку на NIL" ++msgstr "" + + #: m2/lang.opt:59 + #, no-c-format + msgid "turns on runtime checking to check whether a CASE statement requires an ELSE clause when one was not specified" +-msgstr "увімкнути перевірку під час виконання, щоб перевірити, чи потрібен оператор ELSE у виразі CASE, якщо він не був вказаний" ++msgstr "" + + #: m2/lang.opt:63 + #, no-c-format + msgid "use cpp to preprocess the module" +-msgstr "використовуйте cpp для попередньої обробки модуля" ++msgstr "" + + #: m2/lang.opt:67 m2/lang.opt:71 + #, no-c-format + msgid "passed to the preprocessor if -fcpp is used (internal switch)" +-msgstr "передається препроцесору, якщо використовується -fcpp (внутрішній перемикач)" ++msgstr "" + + #: m2/lang.opt:75 + #, no-c-format + msgid "call a real function, rather than the builtin equivalent" +-msgstr "викликати реальну функцію, а не вбудований еквівалент" ++msgstr "" + + #: m2/lang.opt:79 + #, no-c-format + msgid "turn on internal debugging of the compiler (internal switch)" +-msgstr "увімкнути внутрішнє налагодження компілятора (внутрішній перемикач)" ++msgstr "" + + #: m2/lang.opt:83 + #, no-c-format + msgid "turn on quadruple tracing (internal switch)" +-msgstr "увімкнути чотирикратне відстеження (внутрішній перемикач)" ++msgstr "" + + #: m2/lang.opt:87 + #, no-c-format + msgid "turn on the Modula-2 api tracing (internal switch)" +-msgstr "увімкнути відстеження api Modula-2 (внутрішній перемикач)" ++msgstr "" + + #: m2/lang.opt:91 + #, no-c-format + msgid "turn on the Modula-2 function line number generation (internal switch)" +-msgstr "увімкнути генерацію номерів рядків функцій Modula-2 (внутрішній перемикач)" ++msgstr "" + + #: m2/lang.opt:95 + #, no-c-format + msgid "recognise the specified suffix as a definition module filename" +-msgstr "визнати вказаний суфікс як імʼя файлу модуля визначення" ++msgstr "" + + #: m2/lang.opt:99 + #, no-c-format + msgid "display all inbuilt system items" +-msgstr "показувати всі вбудовані системні елементи" ++msgstr "" + + #: m2/lang.opt:103 + #, no-c-format + msgid "allows opaque types to be implemented as any type (a GNU Modula-2 extension)" +-msgstr "дозволяє реалізувати непрозорі типи як будь-який тип (розширення GNU Modula-2)" ++msgstr "" + + #: m2/lang.opt:107 + #, no-c-format + msgid "turns on runtime checking to check whether a floating point number will exceed range" +-msgstr "увімкнути перевірку під час виконання, щоб перевірити, чи перевищує діапазон плаваюча точка" ++msgstr "" + + #: m2/lang.opt:111 + #, no-c-format + msgid "create a topologically sorted module list from all dependent modules used in the application" +-msgstr "створити список модулів, відсортованих за топологією, з усіх залежних модулів, використаних у програмі" ++msgstr "" + + #: m2/lang.opt:115 m2/lang.opt:203 + #, no-c-format + msgid "turns on all range checking for numerical values" +-msgstr "увімкнути всі перевірки діапазону для числових значень" ++msgstr "" + + #: m2/lang.opt:119 + #, no-c-format + msgid "use ISO dialect of Modula-2" +-msgstr "використовувати ISO діалект Modula-2" ++msgstr "" + + #: m2/lang.opt:123 + #, no-c-format +-msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." +-msgstr "вказати порядок бібліотек, бібліотеки можуть бути вказані комою розділеними абревіатурами: log,min,pim,iso або за назвами каталогів: m2log,m2min,m2pim,m2iso." ++msgid "specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso." ++msgstr "" + + #: m2/lang.opt:127 + #, no-c-format + msgid "set all location values to a specific value (internal switch)" +-msgstr "встановити всі значення розташування на певне значення (внутрішній перемикач)" ++msgstr "" + + #: m2/lang.opt:131 + #, no-c-format + msgid "generate extra nops to improve debugging, producing an instruction for every code related keyword" +-msgstr "генерувати додаткові nops для поліпшення налагодження, створюючи інструкцію для кожного ключового слова, повʼязаного з кодом" ++msgstr "" + + #: m2/lang.opt:135 + #, no-c-format + msgid "generate error messages which render keywords in lower case" +-msgstr "генерувати повідомлення про помилки, які показують ключові слова у нижньому регістрі" ++msgstr "" + + #: m2/lang.opt:139 + #, no-c-format + msgid "specify the module mangled prefix name for all modules in the following include paths" +-msgstr "вказати декороване імʼя префікса модуля для всіх модулів у наступних шляхах включення" ++msgstr "" + + #: m2/lang.opt:147 + #, no-c-format + msgid "insert plugin to identify runtime errors at compiletime" +-msgstr "вставити плагін для виявлення помилок в час компіляції" ++msgstr "" + + #: m2/lang.opt:151 + #, no-c-format + msgid "specify the module mangled prefix name" +-msgstr "вказати декороване імʼя префікса модуля" ++msgstr "" + + #: m2/lang.opt:155 + #, no-c-format + msgid "display statistics about the amount of source lines compiled and symbols used" +-msgstr "показувати статистику про кількість скомпільованих рядків початкового коду та використаних символів" ++msgstr "" + + #: m2/lang.opt:159 + #, no-c-format + msgid "experimental flag to turn on the new strict type checker" +-msgstr "експериментальний прапорець для увімкнення нового строгого перевіряльника типів" ++msgstr "" + + #: m2/lang.opt:163 + #, no-c-format + msgid "compile all implementation modules and program module at once" +-msgstr "компілювати всі модулі реалізації та модуль програми одночасно" ++msgstr "" + + #: m2/lang.opt:167 + #, no-c-format + msgid "recognise the specified suffix as implementation and module filenames" +-msgstr "визнати вказаний суфікс як імена файлів реалізації та модуля" ++msgstr "" + + #: m2/lang.opt:171 + #, no-c-format + msgid "turns on runtime checking to detect accessing data through a NIL value pointer" +-msgstr "увімкнути перевірку під час виконання для виявлення доступу до даних через вказівник зі значенням NIL" ++msgstr "" + + #: m2/lang.opt:175 + #, no-c-format + msgid "use PIM [234] dialect of Modula-2" +-msgstr "використовувати діалект PIM [234] Modula-2" ++msgstr "" + + #: m2/lang.opt:179 + #, no-c-format + msgid "use PIM 2 dialect of Modula-2" +-msgstr "використовувати діалект PIM 2 Modula-2" ++msgstr "" + + #: m2/lang.opt:183 + #, no-c-format + msgid "use PIM 3 dialect of Modula-2" +-msgstr "використовувати діалект PIM 3 Modula-2" ++msgstr "" + + #: m2/lang.opt:187 + #, no-c-format + msgid "use PIM 4 dialect of Modula-2" +-msgstr "використовувати діалект PIM 4 Modula-2" ++msgstr "" + + #: m2/lang.opt:191 + #, no-c-format + msgid "force positive result from MOD and DIV result floor" +-msgstr "примусити позитивний результат від округлення результату MOD та DIV" ++msgstr "" + + #: m2/lang.opt:195 + #, no-c-format + msgid "link against the pthread library (default on)" +-msgstr "посилання на бібліотеку pthread (за замовчуванням увімкнено)" ++msgstr "" + + #: m2/lang.opt:199 + #, no-c-format + msgid "internal compiler debugging information, dump the list of quadruples" +-msgstr "внутрішня інформація для налагодження компілятора, вивести список квадруплів" ++msgstr "" + + #: m2/lang.opt:207 + #, no-c-format + msgid "turns on runtime checking for functions which finish without executing a RETURN statement" +-msgstr "увімкнути перевірку часу виконання для функцій, які завершуються без виконання оператора RETURN" ++msgstr "" + + #: m2/lang.opt:211 + #, no-c-format + msgid "specify the list of runtime modules and their initialization order" +-msgstr "вказати список модулів часу виконання та їх порядок ініціалізації" ++msgstr "" + + #: m2/lang.opt:215 + #, no-c-format + msgid "the modules initialization order is dynamically determined by M2RTS and application dependencies" +-msgstr "порядок ініціалізації модулів динамічно визначається M2RTS та залежностями програми" ++msgstr "" + + #: m2/lang.opt:219 + #, no-c-format + msgid "generate a C source scaffold for the current module being compiled" +-msgstr "створити каркас джерела на мові C для поточного модуля, який компілюється" ++msgstr "" + + #: m2/lang.opt:223 + #, no-c-format + msgid "generate a C++ source scaffold for the current module being compiled" +-msgstr "створити риштування джерела на мові C++ для поточного модуля, який компілюється" ++msgstr "" + + #: m2/lang.opt:227 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Generate hardware abs instructions." + msgid "generate the main function" +-msgstr "створити головну функцію" ++msgstr "Створити апаратні інструкції abs." + + #: m2/lang.opt:231 + #, no-c-format + msgid "generate static scaffold initialization and finalization for every module inside main" +-msgstr "створити статичну ініціалізацію та фіналізацію риштування для кожного модуля всередині головної функції" ++msgstr "" + + #: m2/lang.opt:235 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Create a shared library." + msgid "generate a shared library from the module" +-msgstr "створити спільну бібліотеку з модуля" ++msgstr "Створити бібліотеку спільного використання." + + #: m2/lang.opt:239 + #, no-c-format + msgid "turns on all software runtime checking (an abbreviation for -fnil -frange -findex -fwholediv -fcase -freturn -fwholevalue -ffloatvalue)" +-msgstr "увімкнути всі перевірки програмного забезпечення під час виконання (скорочення для -fnil -frange -findex -fwholediv -fcase -freturn -fwholevalue -ffloatvalue)" ++msgstr "" + + #: m2/lang.opt:243 + #, no-c-format + msgid "display the location of module source files as they are compiled" +-msgstr "показувати розташування файлів джерела модуля під час компіляції" ++msgstr "" + + #: m2/lang.opt:247 + #, no-c-format + msgid "create a swig interface file for the module" +-msgstr "створити файл інтерфейсу SWIG для модуля" ++msgstr "" + + #: m2/lang.opt:251 + #, no-c-format + msgid "optimize non var unbounded parameters by passing it by reference, providing it is not written to within the callee procedure." +-msgstr "оптимізувати незмінні незвʼязані параметри, передаючи їх за посиланням, за умови, що вони не змінюються у процедурі, яка їх викликає." ++msgstr "" + + #: m2/lang.opt:255 + #, no-c-format + msgid "orders the initialization/finalializations for scaffold-static or force linking of modules if scaffold-dynamic" +-msgstr "впорядковує ініціалізацію/фіналізацію для статичного риштування або примусового звʼязування модулів, якщо риштування динамічне" ++msgstr "" + + #: m2/lang.opt:263 + #, no-c-format + msgid "turns on all division and modulus by zero checking for ordinal values" +-msgstr "увімкнути перевірку ділення на нуль та залишку від ділення для ординальних значень" ++msgstr "" + + #: m2/lang.opt:267 + #, no-c-format + msgid "turns on runtime checking to check whether a whole number will exceed range" +-msgstr "увімкнути перевірку під час виконання, щоб перевірити, чи перевищить ціле число діапазон" ++msgstr "" + + #: m2/lang.opt:271 + #, no-c-format + msgid "Link the standard Modula-2 libraries statically in the compilation." +-msgstr "Статично звʼязати стандартні бібліотеки Modula-2 під час компіляції." ++msgstr "" + + #: m2/lang.opt:412 m2/lang.opt:416 + #, no-c-format + msgid "save temporary preprocessed files" +-msgstr "зберегти тимчасові попередньо оброблені файли" ++msgstr "" + + #: go/lang.opt:42 + #, no-c-format + msgid "-fgo-c-header=\tWrite Go struct definitions to file as C code." +-msgstr "-fgo-c-header=<файл>\tЗаписати визначення структур Go у файл у вигляді коду C." ++msgstr "" + + #: go/lang.opt:46 + #, no-c-format + msgid "Add explicit checks for division by zero." +-msgstr "Додати явні перевірки на ділення на нуль." ++msgstr "" + + #: go/lang.opt:50 + #, no-c-format + msgid "Add explicit checks for division overflow in INT_MIN / -1." +-msgstr "Додати явні перевірки на переповнення ділення в INT_MIN / -1." ++msgstr "" + + #: go/lang.opt:54 + #, no-c-format + msgid "Apply special rules for compiling runtime package." +-msgstr "Застосувати спеціальні правила для компіляції пакету виконавчої системи." ++msgstr "" + + #: go/lang.opt:58 + #, no-c-format + msgid "-fgo-dump-\tDump Go frontend internal information." +-msgstr "-fgo-dump-<тип>\tВивести внутрішню інформацію про фронтенд Go." ++msgstr "" + + #: go/lang.opt:62 + #, no-c-format + msgid "-fgo-embedcfg=\tList embedded files via go:embed." +-msgstr "-fgo-embedcfg=<файл>\tВивести списком вбудовані файли за допомогою go:embed." ++msgstr "" + + #: go/lang.opt:66 + #, no-c-format + msgid "-fgo-optimize-\tTurn on optimization passes in the frontend." +-msgstr "-fgo-optimize-<тип>\tУвімкнути проходи оптимізації в фронтенді." ++msgstr "" + + #: go/lang.opt:70 + #, no-c-format + msgid "-fgo-pkgpath=\tSet Go package path." +-msgstr "-fgo-pkgpath=<рядок>\tВстановити шлях пакету Go." ++msgstr "" + + #: go/lang.opt:74 + #, no-c-format + msgid "-fgo-prefix=\tSet package-specific prefix for exported Go names." +-msgstr "-fgo-prefix=<рядок>\tВстановити пакет-специфічний префікс для експортованих імен Go." ++msgstr "" + + #: go/lang.opt:78 + #, no-c-format + msgid "-fgo-relative-import-path=\tTreat a relative import as relative to path." +-msgstr "-fgo-relative-import-path=<шлях>\tТрактувати відносний імпорт як відносний до шляху." ++msgstr "" + + #: go/lang.opt:82 + #, no-c-format + msgid "Functions which return values must end with return statements." +-msgstr "Функції, які повертають значення, повинні закінчуватися заявами return." ++msgstr "" + + #: go/lang.opt:86 + #, no-c-format + msgid "Emit debugging information related to the escape analysis pass when run with -fgo-optimize-allocs." +-msgstr "Вивести інформацію для налагодження, повʼязану з проходом аналізу втечі, коли виконується з -fgo-optimize-allocs." ++msgstr "" + + #: go/lang.opt:90 + #, no-c-format + msgid "-fgo-debug-escape-hash=\tHash value to debug escape analysis." +-msgstr "-fgo-debug-escape-hash=<рядок>\tХеш-значення для налагодження аналізу втечі." ++msgstr "" + + #: go/lang.opt:94 + #, no-c-format + msgid "Emit optimization diagnostics." +-msgstr "Вивести діагностичну інформацію про оптимізацію." ++msgstr "" + + #: analyzer/analyzer.opt:27 + #, no-c-format + msgid "The maximum number of 'after supernode' exploded nodes within the analyzer per supernode, before terminating analysis." +-msgstr "Максимальна кількість вибухнутих вузлів 'після супервузла' в аналізаторі на кожен супервузол, перед припиненням аналізу." ++msgstr "" + + #: analyzer/analyzer.opt:31 + #, no-c-format + msgid "The maximum number of exploded nodes per program point within the analyzer, before terminating analysis of that point." +-msgstr "Максимальна кількість вибухнутих вузлів на кожну точку програми в аналізаторі, перед припиненням аналізу цієї точки." ++msgstr "" + + #: analyzer/analyzer.opt:35 + #, no-c-format + msgid "The maximum number of constraints per state." +-msgstr "Максимальна кількість обмежень на стан." ++msgstr "" + + #: analyzer/analyzer.opt:39 + #, no-c-format + msgid "The maximum number of infeasible edges to reject before declaring a diagnostic as infeasible." +-msgstr "Максимальна кількість неможливих ребер, які слід відхилити, перш ніж оголосити діагностику як неможливу." ++msgstr "" + + #: analyzer/analyzer.opt:43 + #, no-c-format + msgid "The maximum number of times a callsite can appear in a call stack within the analyzer, before terminating analysis of a call that would recurse deeper." +-msgstr "Максимальна кількість разів, які виклик може зʼявитися в стеку викликів в аналізаторі, перед припиненням аналізу виклику, який рекурсивно викликається глибше." ++msgstr "" + + #: analyzer/analyzer.opt:47 + #, no-c-format + msgid "The maximum depth of a symbolic value, before approximating the value as unknown." +-msgstr "Максимальна глибина символьного значення, перед наближенням значення як невідомого." ++msgstr "" + + #: analyzer/analyzer.opt:51 + #, no-c-format + msgid "The minimum number of supernodes within a function for the analyzer to consider summarizing its effects at call sites." +-msgstr "Мінімальна кількість супервузлів у межах функції, яку аналізатор вважає для узагальнення її ефектів на місцях виклику." ++msgstr "" + + #: analyzer/analyzer.opt:55 + #, no-c-format + msgid "The maximum depth of exploded nodes that should appear in a dot dump before switching to a less verbose format." +-msgstr "Максимальна глибина вибухнутих вузлів, які повинні зʼявлятися в дампі точок, перш ніж перейти до менш докладного формату." ++msgstr "" + + #: analyzer/analyzer.opt:59 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which a pointer to a buffer is assigned to an incompatible type." +-msgstr "Попереджувати про шляхи коду, в яких вказівник на буфер призначається несумісному типу." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:63 + #, no-c-format + msgid "Warn about code paths in which a pointer is checked for NULL after it has already been dereferenced." +-msgstr "Попереджувати про шляхи коду, в яких після вже виконаного розіменування перевіряється вказівник на NULL." ++msgstr "" + + #: analyzer/analyzer.opt:67 + #, no-c-format + msgid "Warn about code paths in which a stdio FILE can be closed more than once." +-msgstr "Попереджувати про шляхи коду, в яких stdio FILE може бути закритий більше одного разу." ++msgstr "" + + #: analyzer/analyzer.opt:71 + #, no-c-format + msgid "Warn about code paths in which a pointer can be freed more than once." +-msgstr "Попереджувати про шляхи коду, в яких вказівник може бути звільнений більше одного разу." ++msgstr "" + + #: analyzer/analyzer.opt:75 + #, no-c-format + msgid "Warn about code paths in which sensitive data is written to a file." +-msgstr "Попереджувати про шляхи коду, в яких записується чутлива інформація в файл." ++msgstr "" + + #: analyzer/analyzer.opt:79 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which sensitive data is copied across a security boundary." +-msgstr "Попереджувати про шляхи коду, в яких чутлива інформація копіюється через межу безпеки." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:83 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which read on a write-only file descriptor is attempted, or vice versa." +-msgstr "Попереджувати про шляхи коду, в яких спробується читати з файлового дескриптора, який доступний тільки для запису, або навпаки." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:87 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which a file descriptor can be closed more than once." +-msgstr "Попереджувати про шляхи коду, в яких файловий дескриптор може бути закритий більше одного разу." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:91 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which a file descriptor is not closed." +-msgstr "Попереджувати про шляхи коду, в яких файловий дескриптор не закрито." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:95 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which an operation is attempted in the wrong phase of a file descriptor's lifetime." +-msgstr "Попереджувати про шляхи коду, в яких спроба виконання операції відбувається в неправильній фазі життєвого циклу файлового дескриптора." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:99 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which an operation is attempted on the wrong type of file descriptor." +-msgstr "Попереджувати про шляхи коду, в яких спроба виконання операції відбувається на неправильному типі файлового дескриптора." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:103 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which a read or write is performed on a closed file descriptor." +-msgstr "Попереджувати про шляхи коду, в яких виконується читання або запис на закритому файловому дескрипторі." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:107 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which a file descriptor is used without being checked for validity." +-msgstr "Попереджувати про шляхи коду, в яких використовується файловий дескриптор без перевірки його валідності." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:111 + #, no-c-format + msgid "Warn about code paths in which a stdio FILE is not closed." +-msgstr "Попереджувати про шляхи коду, в яких не закрито stdio FILE." ++msgstr "" + + #: analyzer/analyzer.opt:115 + #, no-c-format + msgid "Warn about code paths in which a non-heap pointer is freed." +-msgstr "Попереджувати про шляхи коду, в яких звільняється не-heap вказівник." ++msgstr "" + + #: analyzer/analyzer.opt:119 + #, no-c-format + msgid "Warn about code paths in which floating-point arithmetic is used in locations where precise computation is needed." +-msgstr "Попереджувати про шляхи коду, в яких використовується плаваюча точка арифметика в місцях, де потрібні точні обчислення." ++msgstr "" + + #: analyzer/analyzer.opt:123 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths which appear to lead to infinite recursion." +-msgstr "Попереджувати про шляхи коду, які, здається, призводять до безкінечної рекурсії." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:127 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which a NULL function pointer is called." +-msgstr "Попереджувати про шляхи коду, в яких викликається NULL вказівник на функцію." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:131 + #, no-c-format + msgid "Warn about code paths in which a heap-allocated pointer leaks." +-msgstr "Попереджувати про шляхи коду, в яких витікає вказівник, виділений з купи." ++msgstr "" + + #: analyzer/analyzer.opt:135 + #, no-c-format + msgid "Warn about code paths in which the wrong deallocation function is called." +-msgstr "Попереджувати про шляхи коду, в яких викликається неправильна функція звільнення памʼяті." ++msgstr "" + + #: analyzer/analyzer.opt:139 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which a write or read to a buffer is out-of-bounds." +-msgstr "Попереджувати про шляхи коду, в яких запис або читання в буфер виходить за межі." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:143 + #, no-c-format + msgid "Warn about code paths in which a possibly-NULL value is passed to a must-not-be-NULL function argument." +-msgstr "Попереджувати про шляхи коду, в яких можливо-NULL значення передається в аргумент функції, який не може бути NULL." ++msgstr "" + + #: analyzer/analyzer.opt:147 + #, no-c-format + msgid "Warn about code paths in which a possibly-NULL pointer is dereferenced." +-msgstr "Попереджувати про шляхи коду, в яких можливо-NULL вказівник розіменовується." ++msgstr "" + + #: analyzer/analyzer.opt:151 + #, no-c-format + msgid "Warn about code paths in which an async-signal-unsafe function is called from a signal handler." +-msgstr "Попереджувати про шляхи коду, в яких з сигнального обробника викликається функція, яка не є безпечною для асинхронних сигналів." ++msgstr "" + + #: analyzer/analyzer.opt:155 + #, no-c-format + msgid "Warn about code paths in which NULL is passed to a must-not-be-NULL function argument." +-msgstr "Попереджувати про шляхи коду, в яких NULL передається в аргумент функції, який не може бути NULL." ++msgstr "" + + #: analyzer/analyzer.opt:159 + #, no-c-format + msgid "Warn about code paths in which a NULL pointer is dereferenced." +-msgstr "Попереджувати про шляхи коду, в яких розіменовується NULL-вказівник." ++msgstr "" + + #: analyzer/analyzer.opt:163 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which an on-stack buffer is passed to putenv." +-msgstr "Попереджувати про шляхи коду, в яких на стеку передається буфер для putenv." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:167 + #, no-c-format + msgid "Warn about code paths in which a shift with negative count is attempted." +-msgstr "Попереджувати про шляхи коду, в яких виконується зсув з відʼємним лічильником." ++msgstr "" + + #: analyzer/analyzer.opt:171 + #, no-c-format + msgid "Warn about code paths in which a shift with count >= width of type is attempted." +-msgstr "Попереджувати про шляхи коду, в яких виконується зсув з лічильником >= ширини типу." ++msgstr "" + + #: analyzer/analyzer.opt:175 + #, no-c-format + msgid "Warn about code paths in which a longjmp rewinds to a jmp_buf saved in a stack frame that has returned." +-msgstr "Попереджувати про шляхи коду, в яких longjmp перекручує до jmp_buf, збереженого в стековому фреймі, який повернувся." ++msgstr "" + + #: analyzer/analyzer.opt:179 + #, no-c-format + msgid "Warn about code paths in which an unsanitized value is used as an allocation size." +-msgstr "Попереджувати про шляхи коду, в яких невідфільтроване значення використовується як розмір виділення памʼяті." ++msgstr "" + + #: analyzer/analyzer.opt:183 + #, no-c-format + msgid "Warn about code paths in which an unsanitized value is used as an array index." +-msgstr "Попереджувати про шляхи коду, в яких невідфільтроване значення використовується як індекс масиву." ++msgstr "" + + #: analyzer/analyzer.opt:187 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which an 'assert()' is made involving an unsanitized value." +-msgstr "Попереджувати про шляхи коду, в яких використовується 'assert()', що включає невідфільтроване значення." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:191 + #, no-c-format + msgid "Warn about code paths in which an unsanitized value is used as a divisor." +-msgstr "Попереджувати про шляхи коду, в яких невідфільтроване значення використовується як дільник." ++msgstr "" + + #: analyzer/analyzer.opt:195 + #, no-c-format + msgid "Warn about code paths in which an unsanitized value is used as a pointer offset." +-msgstr "Попереджувати про шляхи коду, в яких невідфільтроване значення використовується як зсув вказівника." ++msgstr "" + + #: analyzer/analyzer.opt:199 + #, no-c-format + msgid "Warn about code paths in which an unsanitized value is used as a size." +-msgstr "Попереджувати про шляхи коду, в яких невідфільтроване значення використовується як розмір." ++msgstr "" + + #: analyzer/analyzer.opt:203 + #, no-c-format + msgid "Warn about code paths in which a freed value is used." +-msgstr "Попереджувати про шляхи коду, в яких використовується відпущена значення." ++msgstr "" + + #: analyzer/analyzer.opt:207 + #, no-c-format + msgid "Warn about code paths in which a pointer to a stale stack frame is used." +-msgstr "Попереджувати про шляхи коду, в яких використовується вказівник на застарілий стековий фрейм." ++msgstr "" + + #: analyzer/analyzer.opt:211 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which va_arg uses the wrong type." +-msgstr "Попереджувати про шляхи коду, в яких va_arg використовує неправильний тип." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:215 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which va_arg is used too many times on a va_list." +-msgstr "Попереджувати про шляхи коду, в яких va_arg використовується занадто багато разів на va_list." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:219 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which va_start or va_copy is used without a corresponding va_end." +-msgstr "Попереджувати про шляхи коду, в яких va_start або va_copy використовується без відповідного va_end." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:223 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "Warn about code paths which attempt to write to a string literal." + msgid "Warn about code paths in which a va_list is used after va_end." +-msgstr "Попереджувати про шляхи коду, в яких va_list використовується після va_end." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:227 + #, no-c-format + msgid "Warn about code paths which attempt to write to a const object." +-msgstr "Попереджувати про шляхи коду, які намагаються записати в const-обʼєкт." ++msgstr "" + + #: analyzer/analyzer.opt:231 + #, no-c-format + msgid "Warn about code paths which attempt to write to a string literal." +-msgstr "Попереджувати про шляхи коду, які намагаються записати в літерал рядка." ++msgstr "Попереджати про шляхи коду, у яких робиться спроба записати до рядкового літерала." + + #: analyzer/analyzer.opt:235 + #, no-c-format + msgid "Warn about code paths in which an uninitialized value is used." +-msgstr "Попереджувати про шляхи коду, в яких використовується неініціалізоване значення." ++msgstr "" + + #: analyzer/analyzer.opt:239 + #, no-c-format + msgid "Warn if the code is too complicated for the analyzer to fully explore." +-msgstr "Попереджувати, якщо код занадто складний для повного дослідження аналізатором." ++msgstr "" + + #: analyzer/analyzer.opt:243 + #, no-c-format + msgid "Restrict the analyzer to run just the named checker." +-msgstr "Обмежити роботу аналізатора лише вказаним перевіряючим." ++msgstr "" + + #: analyzer/analyzer.opt:247 + #, no-c-format + msgid "Avoid combining multiple statements into one exploded edge." +-msgstr "Уникати поєднання кількох операторів в одне вибухнуте ребро." ++msgstr "" + + #: analyzer/analyzer.opt:251 + #, no-c-format + msgid "Verify that paths are feasible when emitting diagnostics." +-msgstr "Перевіряти, що шляхи є доцільними при видачі діагностичних повідомлень." ++msgstr "" + + #: analyzer/analyzer.opt:255 + #, no-c-format + msgid "Issue a note when diagnostics are deduplicated." +-msgstr "Видавати примітку, коли діагностичні повідомлення зводяться до одного." ++msgstr "" + + #: analyzer/analyzer.opt:259 + #, no-c-format + msgid "Purge unneeded state during analysis." +-msgstr "Видалити непотрібний стан під час аналізу." ++msgstr "" + + #: analyzer/analyzer.opt:263 + #, no-c-format + msgid "Merge similar-enough states during analysis." +-msgstr "Обʼєднати достатньо схожі стани під час аналізу." ++msgstr "" + + #: analyzer/analyzer.opt:267 + #, no-c-format + msgid "Stop exploring an execution path after certain diagnostics." +-msgstr "Зупинити дослідження шляху виконання після певних діагностичних повідомлень." ++msgstr "" + + #: analyzer/analyzer.opt:271 + #, no-c-format + msgid "Enable transitivity of constraints during analysis." +-msgstr "Увімкнути транзитивність обмежень під час аналізу." ++msgstr "" + + #: analyzer/analyzer.opt:275 + #, no-c-format + msgid "Approximate the effect of function calls to simplify analysis." +-msgstr "Наблизити ефект викликів функцій для спрощення аналізу." ++msgstr "" + + #: analyzer/analyzer.opt:279 + #, no-c-format + msgid "Try to reconstruct function calls and returns after inlining." +-msgstr "Спроба відновити виклики функцій та повернення після інлайнування." ++msgstr "" + + #: analyzer/analyzer.opt:283 + #, no-c-format + msgid "Emit more verbose descriptions of control flow in diagnostics." +-msgstr "Виводити більш докладні описи потоку керування в діагностиці." ++msgstr "" + + #: analyzer/analyzer.opt:287 + #, no-c-format + msgid "Emit more verbose descriptions of state changes in diagnostics." +-msgstr "Виводити більш докладні описи змін стану в діагностиці." ++msgstr "" + + #: analyzer/analyzer.opt:291 + #, no-c-format + msgid "Control which events are displayed in diagnostic paths." +-msgstr "Контролюйте, які події показуються в діагностичних шляхах." ++msgstr "" + + #: analyzer/analyzer.opt:295 + #, no-c-format + msgid "Dump various analyzer internals to SRCFILE.analyzer.txt." +-msgstr "Вивантажте різні внутрішні частини аналізатора в SRCFILE.analyzer.txt." ++msgstr "" + + #: analyzer/analyzer.opt:299 + #, no-c-format + msgid "Dump various analyzer internals to stderr." +-msgstr "Вивантажте різні внутрішні частини аналізатора в stderr." ++msgstr "" + + #: analyzer/analyzer.opt:303 + #, no-c-format + msgid "Dump analyzer-specific call graph information to a SRCFILE.callgraph.dot file." +-msgstr "Вивантажте інформацію про граф викликів, специфічну для аналізатора, в файл SRCFILE.callgraph.dot." ++msgstr "" + + #: analyzer/analyzer.opt:307 + #, no-c-format + msgid "Dump the analyzer exploded graph to a SRCFILE.eg.dot file." +-msgstr "Вивантажте вибухнутий граф аналізатора в файл SRCFILE.eg.dot." ++msgstr "" + + #: analyzer/analyzer.opt:311 + #, no-c-format + msgid "Emit diagnostics showing the location of nodes in the exploded graph." +-msgstr "Виводьте діагностику, показуючи розташування вузлів у вибухнутому графі." ++msgstr "" + + #: analyzer/analyzer.opt:315 + #, no-c-format + msgid "Dump a textual representation of the exploded graph to SRCFILE.eg.txt." +-msgstr "Зберегти текстове представлення вибухнутого графа у файл SRCFILE.eg.txt." ++msgstr "" + + #: analyzer/analyzer.opt:319 + #, no-c-format + msgid "Dump a textual representation of the exploded graph to SRCFILE.eg-ID.txt." +-msgstr "Зберегти текстове представлення вибухнотого графа у файл SRCFILE.eg-ID.txt." ++msgstr "" + + #: analyzer/analyzer.opt:323 + #, no-c-format + msgid "Dump a textual representation of each diagnostic's exploded path to SRCFILE.IDX.KIND.epath.txt." +-msgstr "Зберегти текстове представлення вибухнутого шляху для кожного діагностичного повідомлення у файл SRCFILE.IDX.KIND.epath.txt." ++msgstr "" + + #: analyzer/analyzer.opt:327 + #, no-c-format + msgid "Dump various analyzer internals to SRCFILE.*.fg.dot and SRCFILE.*.tg.dot." +-msgstr "Зберегти різноманітні внутрішні дані аналізатора у файли SRCFILE.*.fg.dot та SRCFILE.*.tg.dot." ++msgstr "" + + #: analyzer/analyzer.opt:331 + #, no-c-format + msgid "Dump analyzer-specific data to a SRCFILE.analyzer.json.gz file." +-msgstr "Зберегти специфічні дані аналізатора у файл SRCFILE.analyzer.json.gz." ++msgstr "" + + #: analyzer/analyzer.opt:335 + #, no-c-format + msgid "Dump state-purging information to a SRCFILE.state-purge.dot file." +-msgstr "Зберегти інформацію про видалення стану у файл SRCFILE.state-purge.dot." ++msgstr "" + + #: analyzer/analyzer.opt:339 + #, no-c-format + msgid "Dump the analyzer supergraph to a SRCFILE.supergraph.dot file." +-msgstr "Зберегти суперграф аналізатора у файл SRCFILE.supergraph.dot." ++msgstr "" + + #: analyzer/analyzer.opt:343 + #, no-c-format + msgid "Emit custom warnings with internal details intended for analyzer developers." +-msgstr "Виводити користувацькі попередження з внутрішніми деталями, призначеними для розробників аналізатора." ++msgstr "" + + #: config/vms/vms.opt:27 + #, no-c-format + msgid "Malloc data into P2 space." +-msgstr "Виділити памʼять для даних у просторі P2." ++msgstr "" + + #: config/vms/vms.opt:31 + #, no-c-format + msgid "Set name of main routine for the debugger." +-msgstr "Встановити імʼя головної процедури для відлагоджувача." ++msgstr "" + + #: config/vms/vms.opt:35 + #, no-c-format + msgid "Use VMS exit codes instead of posix ones." +-msgstr "Використовувати коди виходу VMS замість кодів posix." ++msgstr "" + + #: config/vms/vms.opt:39 + #, no-c-format + msgid "-mpointer-size=[no,32,short,64,long]\tSet the default pointer size." +-msgstr "-mpointer-size=[no,32,short,64,long]\tВстановити розмір вказівника за замовчуванням." ++msgstr "" + + #: config/mcore/mcore.opt:23 + #, no-c-format + msgid "Generate code for the M*Core M210." +-msgstr "Генерувати код для M*Core M210." ++msgstr "" + + #: config/mcore/mcore.opt:27 + #, no-c-format + msgid "Generate code for the M*Core M340." +-msgstr "Генерувати код для M*Core M340." ++msgstr "" + + #: config/mcore/mcore.opt:31 + #, no-c-format + msgid "Force functions to be aligned to a 4 byte boundary." +-msgstr "Примусово вирівнювати функції за межу 4 байти." ++msgstr "" + + #: config/mcore/mcore.opt:35 config/moxie/moxie.opt:23 config/csky/csky.opt:44 + #, no-c-format + msgid "Generate big-endian code." +-msgstr "Генерувати код у великому порядку байтів." ++msgstr "" + + #: config/mcore/mcore.opt:39 + #, no-c-format + msgid "Emit call graph information." +-msgstr "Виводити інформацію про граф викликів." ++msgstr "" + + #: config/mcore/mcore.opt:43 + #, no-c-format + msgid "Use the divide instruction." +-msgstr "Використовувати інструкцію ділення." ++msgstr "" + + #: config/mcore/mcore.opt:47 + #, no-c-format + msgid "Inline constants if it can be done in 2 insns or less." +-msgstr "Вбудовувати константи, якщо це можливо зробити за 2 інструкції або менше." ++msgstr "" + + #: config/mcore/mcore.opt:51 config/moxie/moxie.opt:27 config/csky/csky.opt:51 + #, no-c-format + msgid "Generate little-endian code." +-msgstr "Генерувати код у малому порядку байтів." ++msgstr "" + + #: config/mcore/mcore.opt:56 config/fr30/fr30.opt:27 + #, no-c-format + msgid "Assume that run-time support has been provided, so omit -lsim from the linker command line." +-msgstr "Припускати, що підтримка часу виконання надана, тому пропустити -lsim з командного рядка звʼязувача." ++msgstr "" + + #: config/mcore/mcore.opt:60 + #, no-c-format + msgid "Use arbitrary sized immediates in bit operations." +-msgstr "Використовувати довільні розміри негайних значень у бітових операціях." ++msgstr "" + + #: config/mcore/mcore.opt:64 + #, no-c-format + msgid "Prefer word accesses over byte accesses." +-msgstr "Віддавати перевагу доступу до слова над доступом до байта." ++msgstr "" + + #: config/mcore/mcore.opt:71 + #, no-c-format + msgid "Set the maximum amount for a single stack increment operation." +-msgstr "Встановити максимальну кількість для однієї операції збільшення стеку." ++msgstr "" + + #: config/mcore/mcore.opt:75 + #, no-c-format + msgid "Always treat bitfields as int-sized." +-msgstr "Завжди розглядайте бітові поля як поля типу int." ++msgstr "" + + #: config/linux-android.opt:23 + #, no-c-format + msgid "Generate code for the Android platform." +-msgstr "Генерувати код для платформи Android." ++msgstr "" + + #: config/mmix/mmix.opt:24 + #, no-c-format + msgid "For intrinsics library: pass all parameters in registers." +-msgstr "Для бібліотеки інтринсиків: передавати всі параметри в регістрах." ++msgstr "" + + #: config/mmix/mmix.opt:28 + #, no-c-format + msgid "Use register stack for parameters and return value." +-msgstr "Використовувати стек регістрів для параметрів та значення, що повертається." ++msgstr "" + + #: config/mmix/mmix.opt:32 + #, no-c-format + msgid "Use call-clobbered registers for parameters and return value." +-msgstr "Використовувати регістри, що змінюються під час виклику, для параметрів та значення, що повертається." ++msgstr "" + + #: config/mmix/mmix.opt:37 + #, no-c-format + msgid "Use epsilon-respecting floating point compare instructions." +-msgstr "Використовуйте інструкції порівняння з плаваючою комою, які враховують епсілон." ++msgstr "" + + #: config/mmix/mmix.opt:41 + #, no-c-format + msgid "Use zero-extending memory loads, not sign-extending ones." +-msgstr "Використовуйте завантаження з памʼяті з розширенням нулем, а не з розширенням знаку." ++msgstr "" + + #: config/mmix/mmix.opt:45 + #, no-c-format + msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)." +-msgstr "Генерувати результати ділення зі знаком залишку, який співпадає зі знаком дільника (а не ділене)." ++msgstr "" + + #: config/mmix/mmix.opt:49 + #, no-c-format + msgid "Prepend global symbols with \":\" (for use with PREFIX)." +-msgstr "Додавати двокрапку до глобальних символів (для використання з PREFIX)." ++msgstr "" + + #: config/mmix/mmix.opt:53 + #, no-c-format + msgid "Do not provide a default start-address 0x100 of the program." +-msgstr "Не вказувати типову початкову адресу 0x100 програми." ++msgstr "" + + #: config/mmix/mmix.opt:57 + #, no-c-format + msgid "Link to emit program in ELF format (rather than mmo)." +-msgstr "Посилання на створення програми у форматі ELF (а не mmo)." ++msgstr "" + + #: config/mmix/mmix.opt:61 + #, no-c-format + msgid "Use P-mnemonics for branches statically predicted as taken." +-msgstr "Використовувати P-мнемоніки для гілок, статично передбачених як виконувані." ++msgstr "" + + #: config/mmix/mmix.opt:65 + #, no-c-format + msgid "Don't use P-mnemonics for branches." +-msgstr "Не використовувати P-мнемоніки для гілок." ++msgstr "" + + #: config/mmix/mmix.opt:79 + #, no-c-format + msgid "Use addresses that allocate global registers." +-msgstr "Використовувати адреси, які виділяють глобальні регістри." ++msgstr "" + + #: config/mmix/mmix.opt:83 + #, no-c-format + msgid "Do not use addresses that allocate global registers." +-msgstr "Не використовувати адреси, які виділяють глобальні регістри." ++msgstr "" + + #: config/mmix/mmix.opt:87 + #, no-c-format + msgid "Generate a single exit point for each function." +-msgstr "Створити одну точку виходу для кожної функції." ++msgstr "" + + #: config/mmix/mmix.opt:91 + #, no-c-format + msgid "Do not generate a single exit point for each function." +-msgstr "Не генерувати єдину точку виходу для кожної функції." ++msgstr "" + + #: config/mmix/mmix.opt:95 + #, no-c-format + msgid "Set start-address of the program." +-msgstr "Встановити початкову адресу програми." ++msgstr "" + + #: config/mmix/mmix.opt:99 + #, no-c-format + msgid "Set start-address of data." +-msgstr "Встановити початкову адресу даних." ++msgstr "" + + #: config/darwin.opt:34 + #, no-c-format + msgid "Generate code for darwin loadable kernel extensions." +-msgstr "Створити код для завантажуваних розширень ядра Darwin." ++msgstr "" + + #: config/darwin.opt:38 + #, no-c-format + msgid "-iframework \tAdd to the end of the system framework include path." +-msgstr "-iframework <каталог>\tДодати <каталог> в кінець шляху включення системного фреймворку." ++msgstr "" + + #: config/darwin.opt:42 + #, no-c-format + msgid "Generate compile-time CFString objects." +-msgstr "Створити обʼєкти CFString на етапі компіляції." ++msgstr "" + + #: config/darwin.opt:46 + #, no-c-format + msgid "Warn if constant CFString objects contain non-portable characters." +-msgstr "Попереджати, якщо константні обʼєкти CFString містять непереносимі символи." ++msgstr "" + + #: config/darwin.opt:51 + #, no-c-format + msgid "Generate AT&T-style stubs for Mach-O." +-msgstr "Генерувати заглушки у стилі AT&T для Mach-O." ++msgstr "" + + #: config/darwin.opt:55 + #, no-c-format + msgid "Generate code suitable for executables (NOT shared libs)." +-msgstr "Генерувати код, придатний для виконуваних файлів (НЕ спільних бібліотек)." ++msgstr "" + + #: config/darwin.opt:59 + #, no-c-format + msgid "Generate code suitable for fast turn around debugging." +-msgstr "Генерувати код, придатний для швидкого налагодження." ++msgstr "" + + #: config/darwin.opt:63 + #, no-c-format + msgid "Generate code for the kernel or loadable kernel extensions." +-msgstr "Створити код для ядра або завантажуваних розширень ядра." ++msgstr "" + + #: config/darwin.opt:71 + #, no-c-format + msgid "The earliest macOS version on which this program will run." +-msgstr "Найстарша версія macOS, на якій ця програма буде працювати." ++msgstr "" + + #: config/darwin.opt:76 + #, no-c-format + msgid "Set sizeof(bool) to 1." +-msgstr "Встановити sizeof(bool) на 1." ++msgstr "" + + #: config/darwin.opt:80 + #, no-c-format + msgid "Force generation of external symbol indirection stubs." +-msgstr "Примусово генерувати заглушки для зовнішніх символів індирекції." ++msgstr "" + + #: config/darwin.opt:88 + #, no-c-format + msgid "-mtarget-linker \tSpecify that ld64 is the toolchain linker for the current invocation." +-msgstr "-mtarget-linker <версія>\tВказує, що ld64 <версія> є ланцюжком інструментів лінкера для поточного виклику." ++msgstr "" + + #: config/darwin.opt:94 + #, no-c-format + msgid "Load all members of archive libraries, rather than only those that satisfy undefined symbols." +-msgstr "Завантажувати всі члени архівних бібліотек, а не лише ті, які задовольняють невизначені символи." ++msgstr "" + + #: config/darwin.opt:98 + #, no-c-format + msgid "-allowable_client \tThe output dylib is private to the client ." +-msgstr "-allowable_client <імʼя>\tВихідний dylib є приватним для клієнта <імʼя>." ++msgstr "" + + #: config/darwin.opt:102 + #, no-c-format + msgid "-arch \tGenerate output for architecture ." +-msgstr "-arch <імʼя>\tГенерувати вихідний файл для архітектури <імʼя>." ++msgstr "" + + #: config/darwin.opt:106 + #, no-c-format + msgid "Mismatches between file architecture and one specified by \"-arch\" are errors instead of warnings." +-msgstr "Неспівпадіння між архітектурою файлу та тією, яка вказана за допомогою «-arch», є помилками, а не попередженнями." ++msgstr "" + + #: config/darwin.opt:110 + #, no-c-format + msgid "The earliest macOS version on which this program will run (formatted for the assembler)." +-msgstr "Найстарша версія macOS, на якій буде працювати ця програма (відформатована для асемблера)." ++msgstr "" + + #: config/darwin.opt:114 + #, no-c-format + msgid "Generate an output executable that binds symbols on load, rather than lazily." +-msgstr "Генерувати вихідний виконуваний файл, який звʼязує символи при завантаженні, а не ліниво." ++msgstr "" + + #: config/darwin.opt:118 + #, no-c-format + msgid "Generate a Mach-O bundle (file type MH_BUNDLE)." +-msgstr "Створити пакет Mach-O (тип файлу MH_BUNDLE)." ++msgstr "" + + #: config/darwin.opt:122 + #, no-c-format + msgid "-bundle_loader \tTreat (that will be loading this bundle) as if it was one of the dynamic libraries the bundle is linked against for symbol resolution." +-msgstr "-bundle_loader <виконуваний файл>\tТрактувати <виконуваний файл> (який буде завантажувати цей пакет) так, ніби він є однією з динамічних бібліотек, з якими пакет повʼязаний для розрішення символів." ++msgstr "" + + #: config/darwin.opt:126 + #, no-c-format + msgid "-client_name \tEnable the executable being built to link against a private dylib (using allowable_client)." +-msgstr "-client_name <імʼя>\tДозволити збиранню виконуваного файлу звʼязуватися з приватною dylib (використовуючи allowable_client)." ++msgstr "" + + #: config/darwin.opt:130 + #, no-c-format + msgid "-compatibility_version \tSet the version for the client interface. Client programs must record a value less than or equal to , or the binding will fail at runtime." +-msgstr "-compatibility_version <число>\tВстановлює версію для інтерфейсу клієнта. Клієнтські програми повинні записувати значення менше або рівне <число>, інакше звʼязування не вдасться під час виконання." ++msgstr "" + + #: config/darwin.opt:134 + #, no-c-format + msgid "-current_version \tSet the current version for the library to ." +-msgstr "-current_version <число>\tВстановити поточну версію бібліотеки на <число>." ++msgstr "" + + #: config/darwin.opt:138 + #, no-c-format + msgid "Remove code and data that is unreachable from any exported symbol (including the entry point)." +-msgstr "Видалити код та дані, які недосяжні з будь-якого експортованого символу (включаючи точку входу)." ++msgstr "" + + #: config/darwin.opt:142 + #, no-c-format + msgid "-dylib_file install_name:file_name\tThis allows linking of a dylib with \"install_name\" but to be found in a different install position \"file_name\"" +-msgstr "-dylib_file install_name:file_name\tЦе дозволяє звʼязування dylib з «install_name», але знаходити його в іншому місці встановлення «file_name»" ++msgstr "" + + #: config/darwin.opt:146 + #, no-c-format + msgid "Produce a Mach-O dylinker (file type MH_DYLINKER), only used for building dyld." +-msgstr "Створити Mach-O dylinker (тип файлу MH_DYLINKER), використовується лише для побудови dyld." ++msgstr "" + + #: config/darwin.opt:150 + #, no-c-format + msgid "-dylinker_install_name \tOnly used for building dyld." +-msgstr "-dylinker_install_name <шлях>\tВикористовується лише для побудови dyld." ++msgstr "" + + #: config/darwin.opt:154 + #, no-c-format + msgid "The default (and opposite of -static), implied by user mode executables, shared libraries and bundles." +-msgstr "Стандартне значення (і протилежне до -static), за замовчуванням використовується для виконуваних файлів, спільних бібліотек та пакетів." ++msgstr "" + + #: config/darwin.opt:158 + #, no-c-format + msgid "Produce a Mach-O shared library (file type MH_DYLIB), synonym for \"-shared\"." +-msgstr "Створює спільну бібліотеку Mach-O (тип файлу MH_DYLIB), синонім для «-shared»." ++msgstr "" + + #: config/darwin.opt:162 + #, no-c-format + msgid "-exported_symbols_list \tExport global symbols in in linked output file; any symbols not mentioned will be treated as \"hidden\"." +-msgstr "-exported_symbols_list <імʼя_файлу>\tЕкспортує глобальні символи з <імʼя_файлу> у звʼязаному вихідному файлі; будь-які символи, які не згадуються, будуть вважатися «прихованими»." ++msgstr "" + + #: config/darwin.opt:166 + #, no-c-format + msgid "Supply a list of objects to be linked from a file, rather than the command line." +-msgstr "Надайте список обʼєктів для звʼязування з файлу, а не з командного рядка." ++msgstr "" + + #: config/darwin.opt:170 config/darwin.opt:190 + #, no-c-format + msgid "Used for generating code for some older kernel revisions." +-msgstr "Використовується для генерації коду для деяких старіших версій ядра." ++msgstr "" + + #: config/darwin.opt:174 + #, no-c-format + msgid "Ignore the normal two-level namespace; resolve symbols in command line order and do not record which library provided the resolved symbol." +-msgstr "Ігнорувати звичайний дворівневий простір імен; розрішувати символи в порядку командного рядка і не записувати, яка бібліотека надала розрішений символ." ++msgstr "" + + #: config/darwin.opt:178 + #, no-c-format + msgid "For the assembler (and linker) permit any architecture sub-variant to be used without error." +-msgstr "Для асемблера (і лінкера) дозволити використовувати будь-яку підваріант архітектури без помилок." ++msgstr "" + + #: config/darwin.opt:182 + #, no-c-format + msgid "Set the output object such that, on loading, dyld will ignore any two-level namespace information and resolve symbols in the discovery order for loaded libs." +-msgstr "Встановити вихідний обʼєкт таким чином, щоб при завантаженні dyld ігнорував будь-яку інформацію про дворівневий простір імен і розрішував символи в порядку виявлення для завантажених бібліотек." ++msgstr "" + + #: config/darwin.opt:186 + #, no-c-format + msgid "-framework \tThe linker should search for the framework in the framework search path." +-msgstr "-framework <імʼя>\tЛінкер повинен шукати фреймворк <імʼя> в шляху пошуку фреймворків." ++msgstr "" + + #: config/darwin.opt:194 + #, no-c-format + msgid "Abbreviation for \"-g -fno-eliminate-unused-debug-symbols\"." +-msgstr "Скорочення для «-g -fno-eliminate-unused-debug-symbols»." ++msgstr "" + + #: config/darwin.opt:198 + #, no-c-format + msgid "Abbreviation for \"-g -feliminate-unused-debug-symbols\"." +-msgstr "Скорочення для «-g -feliminate-unused-debug-symbols»." ++msgstr "" + + #: config/darwin.opt:202 + #, no-c-format + msgid "Automatically adds space for longer path names in load commands (up to MAXPATHLEN)." +-msgstr "Автоматично додає простір для довших імен шляхів у командах завантаження (до MAXPATHLEN)." ++msgstr "" + + #: config/darwin.opt:206 + #, no-c-format + msgid "-image_base
\tSpecify
as the base address for a dylib or bundle." +-msgstr "-image_base <адреса>\tВказати <адресу> як базову адресу для dylib або пакету." ++msgstr "" + + #: config/darwin.opt:210 + #, no-c-format + msgid "-init \tThe symbol will be used as the first initialiser for a dylib." +-msgstr "-init <імʼя_символу>\tСимвол <імʼя_символу> буде використовуватися як перший ініціалізатор для dylib." ++msgstr "" + + #: config/darwin.opt:214 + #, no-c-format + msgid "-install_name \tSet the install name for a dylib." +-msgstr "-install_name <імʼя>\tВстановити імʼя встановлення для dylib." ++msgstr "" + + #: config/darwin.opt:218 + #, no-c-format + msgid "Usually \"private extern\" (hidden) symbols are made local when linking, this command suppresses that such that they remain exported." +-msgstr "Зазвичай символи «private extern» (приховані) стають локальними під час звʼязування, ця команда пригнічує це, щоб вони залишалися експортованими." ++msgstr "" + + #: config/darwin.opt:222 + #, no-c-format + msgid "(Obsolete after 10.4) Multi modules are ignored at runtime since macOS 10.4." +-msgstr "(Застаріло після 10.4) Багатомодульні модулі ігноруються під час виконання з macOS 10.4." ++msgstr "" + + #: config/darwin.opt:226 + #, no-c-format + msgid "(Obsolete after 10.4) -multiply_defined \tProvided a mechanism for warning about symbols defined in multiple dylibs." +-msgstr "(Застаріло після 10.4) -multiply_defined <обробка>\tНадав механізм для попередження про символи, що визначені в кількох dylibs." ++msgstr "" + + #: config/darwin.opt:230 + #, no-c-format + msgid "(Obsolete after 10.4) -multiply_defined_unused \tProvided a mechanism for warning about symbols defined in the current executable also being defined in linked dylibs." +-msgstr "(Застаріло після 10.4) -multiply_defined_unused <обробка>\tНадав механізм для попередження про символи, визначені в поточному виконуваному файлі, які також визначені в звʼязаних dylibs." ++msgstr "" + + #: config/darwin.opt:234 + #, no-c-format + msgid "(Obsolete) Current linkers never dead-strip these items, so the option is not needed." +-msgstr "(Застаріло) Поточні лінкери ніколи не видаляють ці елементи, тому ця опція не потрібна." ++msgstr "" + + #: config/darwin.opt:238 + #, no-c-format + msgid "Do not add a default symbol exports to modules or dynamic libraries." +-msgstr "Не додавати експорт символів за замовчуванням до модулів або динамічних бібліотек." ++msgstr "" + + #: config/darwin.opt:242 + #, no-c-format + msgid "(Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable." +-msgstr "(Застаріло після 10.3.9) Встановити MH_NOPREFIXBINDING в виконуваному файлі." ++msgstr "" + + #: config/darwin.opt:246 + #, no-c-format + msgid "(Obsolete after 10.4)\tSet MH_NOMULTIDEFS in an umbrella framework." +-msgstr "(Застаріло після 10.4)\tВстановити MH_NOMULTIDEFS в універсальному фреймворку." ++msgstr "" + + #: config/darwin.opt:250 config/darwin.opt:265 config/darwin.opt:269 + #, no-c-format + msgid "(Obsolete) LD_PREBIND is no longer supported." +-msgstr "(Застаріло) LD_PREBIND більше не підтримується." ++msgstr "" + + #: config/darwin.opt:254 + #, no-c-format + msgid "(Obsolete) This is the default." +-msgstr "(Застаріло) Це значення за замовчуванням." ++msgstr "" + + #: config/darwin.opt:261 + #, no-c-format + msgid "-pagezero_size \tAllows setting the page 0 size to 4kb when required." +-msgstr "-pagezero_size <розмір>\tДозволяє встановити розмір сторінки 0 на 4 КБ, якщо це потрібно." ++msgstr "" + + #: config/darwin.opt:273 + #, no-c-format + msgid "Produces a Mach-O file suitable for embedded/ROM use." +-msgstr "Створює файл Mach-O, придатний для використання вбудованим/у ROM." ++msgstr "" + + #: config/darwin.opt:277 + #, no-c-format + msgid "(Obsolete) Allowed linking to proceed with \"-flat_namespace\" when a linked bundle contained a symbol also exported from the main executable." +-msgstr "(Застарілий) Дозволяло продовжувати звʼязування з «-flat_namespace», коли звʼязаний пакет містив символ, також експортований з основного виконуваного файлу." ++msgstr "" + + #: config/darwin.opt:284 + #, no-c-format + msgid "Synonym for \"-export-dynamic\" for linker versions that support it." +-msgstr "Синонім для «-export-dynamic» для версій лінкера, які його підтримують." ++msgstr "" + + #: config/darwin.opt:288 + #, no-c-format + msgid "-read_only_relocs \tAllow relocations in read-only pages (not recommended)." +-msgstr "-read_only_relocs <обробка>\tДозволяє переміщення в сторінках тільки для читання (не рекомендується)." ++msgstr "" + + #: config/darwin.opt:292 + #, no-c-format + msgid "-sectalign \tSet section in segment to have alignment which must be an integral power of two expressed in hexadecimal form." +-msgstr "-sectalign <імʼя сегмента> <імʼя секції> <значення>\tВстановлює вирівнювання секції <імʼя секції> у сегменті <імʼя сегмента> на значення <значення>, яке повинно бути цілочисельною степенню двійки, вираженою у шістнадцятковій формі." ++msgstr "" + + #: config/darwin.opt:296 + #, no-c-format + msgid "-sectcreate \tCreate section in segment from the contents of ." +-msgstr "-sectcreate <імʼя сегмента> <імʼя секції> <файл>\tСтворює секцію <імʼя секції> у сегменті <імʼя сегмента> з вмісту файлу <файл>." ++msgstr "" + + #: config/darwin.opt:300 + #, no-c-format + msgid "(Obsolete) -sectobjectsymbols \tSetting a local symbol at the start of a section is no longer supported." +-msgstr "(Застаріле) -sectobjectsymbols \tВстановлення локального символу на початку секції більше не підтримується." ++msgstr "" + + #: config/darwin.opt:304 + #, no-c-format + msgid "(Obsolete) -sectorder \tReplaced by a more general option \"-order_file\"." +-msgstr "(Застаріле) -sectorder \tЗамінено більш загальною опцією «-order_file»." ++msgstr "" + + #: config/darwin.opt:308 + #, no-c-format + msgid "-seg_addr_table \tSpecify the base addresses for dynamic libraries; contains a line for each library." +-msgstr "-seg_addr_table \tВказати базові адреси для динамічних бібліотек; містить рядок для кожної бібліотеки." ++msgstr "" + + #: config/darwin.opt:313 + #, no-c-format + msgid "(Obsolete, ld_classic only) -seg_addr_table_filename ." +-msgstr "(Застаріле, лише ld_classic) -seg_addr_table_filename ." ++msgstr "" + + #: config/darwin.opt:317 + #, no-c-format +@@ -5140,47 +5165,47 @@ msgstr "Синонім «image_base»." + #: config/darwin.opt:321 + #, no-c-format + msgid "-segaddr
\tSet the base address of segment to
which must be aligned to a page boundary (currently 4kb)." +-msgstr "-segaddr
\tВстановити базову адресу сегмента на
, яка повинна бути вирівняна за межі сторінки (наразі 4 КБ)." ++msgstr "" + + #: config/darwin.opt:326 + #, no-c-format + msgid "(Obsolete, ld_classic only) -sectcreate \tAllowed creation of a section from a file." +-msgstr "(Застаріле, тільки ld_classic) -sectcreate \tДозволяло створювати секцію з файлу." ++msgstr "" + + #: config/darwin.opt:330 + #, no-c-format + msgid "(Obsolete) Object files with LINKEDIT sections are no longer supported." +-msgstr "(Застаріле) Обʼєктні файли з розділами LINKEDIT більше не підтримуються." ++msgstr "" + + #: config/darwin.opt:334 + #, no-c-format + msgid "-segprot \tThe virtual memory protections for segment have maximum and initial values and respectively. The specified values may contain \"r\", \"w\", \"x\" or \"-\" the latter meaning \"no access\"." +-msgstr "-segprot <імʼя_сегмента> <макс_захист> <ініц_захист>\tЗахист віртуальної памʼяті для сегмента <імʼя_сегмента> має максимальні та початкові значення <макс_захист> та <ініц_захист> відповідно. Вказані значення можуть містити «r», «w», «x» або «-», останнє означає «немає доступу»." ++msgstr "" + + #: config/darwin.opt:338 + #, no-c-format + msgid "-segs_read_only_addr
\tSpecify that
is the base address of the read-only segments of a dylib." +-msgstr "-segs_read_only_addr <адреса>\tВказує, що <адреса> є базовою адресою сегментів тільки для читання dylib." ++msgstr "" + + #: config/darwin.opt:342 + #, no-c-format + msgid "-segs_read_write_addr
\tSpecify that
is the base address address of the read-write segments of a dylib." +-msgstr "-segs_read_write_addr <адреса>\tВказує, що <адреса> є базовою адресою сегментів для читання-запису dylib." ++msgstr "" + + #: config/darwin.opt:346 + #, no-c-format + msgid "(Obsolete)\tThis is the default." +-msgstr "(Застаріле)\tЦе значення за замовчуванням." ++msgstr "" + + #: config/darwin.opt:350 + #, no-c-format + msgid "-sub_library \tLibrary named will be re-exported (only useful for dylibs)." +-msgstr "-sub_library <імʼя>\tБібліотека з іменем <імʼя> буде повторно експортована (корисно лише для dylibs)." ++msgstr "" + + #: config/darwin.opt:354 + #, no-c-format + msgid "-sub_umbrella \tFramework named will be re-exported (only useful for dylibs)." +-msgstr "-sub_umbrella <імʼя>\tФреймворк з назвою <імʼя> буде повторно експортований (корисно лише для dylibs)." ++msgstr "" + + #: config/darwin.opt:358 + #, no-c-format +@@ -5190,2738 +5215,2733 @@ msgstr "Це типове значення." + #: config/darwin.opt:362 + #, no-c-format + msgid "Add extra information to the executable that can speed up dynamic loading (provided that dependent libraries are unchanged)." +-msgstr "Додати додаткову інформацію до виконуваного файлу, що може прискорити динамічне завантаження (за умови, що залежні бібліотеки не змінені)." ++msgstr "" + + #: config/darwin.opt:366 + #, no-c-format + msgid "-umbrella \tThe specified framework will be re-exported." +-msgstr "-umbrella <фреймворк>\tВказаний фреймворк буде повторно експортований." ++msgstr "" + + #: config/darwin.opt:370 + #, no-c-format + msgid "-undefined \tSpecify the handling for undefined symbols (default is error)." +-msgstr "-undefined <обробка>\tВказати обробку невизначених символів (за замовчуванням - помилка)." ++msgstr "" + + #: config/darwin.opt:374 + #, no-c-format + msgid "-unexported_symbols_list \tDo not export the global symbols listed in ." +-msgstr "-unexported_symbols_list <імʼя_файлу>\tНе експортувати глобальні символи, перелічовані в <імʼя_файлу>." ++msgstr "" + + #: config/darwin.opt:378 + #, no-c-format + msgid "-weak_reference_mismatches \tSpecifies what to do if a symbol import conflicts between file (weak in one and not in another) the default is to treat the symbol as non-weak." +-msgstr "-weak_reference_mismatches <обробка>\tВказує, що робити, якщо імпорт символу конфліктує між файлами (слабкий в одному і не в іншому), за замовчуванням символ вважається непривʼязаним." ++msgstr "" + + #: config/darwin.opt:382 + #, no-c-format + msgid "Logs which object files the linker loads." +-msgstr "Записує, які обʼєктні файли завантажує лінкер." ++msgstr "" + + #: config/darwin.opt:386 + #, no-c-format + msgid "Logs which symbol(s) caused an object to be loaded." +-msgstr "Записує символ(и), які спричинили завантаження обʼєкта." ++msgstr "" + + #: config/darwin.opt:394 + #, no-c-format + msgid "(Obsolete, ignored)\tOld support similar to \"-whyload\"." +-msgstr "(Застаріле, ігнорується)\tСтара підтримка, схожа на «-whyload»." ++msgstr "" + + #: config/darwin.opt:398 + #, no-c-format + msgid "(Obsolete and unhandled by ld64, ignored)\tld should produce an executable (only handled by ld_classic)." +-msgstr "(Застаріле і необроблене ld64, ігнорується)\tld повинен створювати виконуваний файл (обробляється лише ld_classic)." ++msgstr "" + + #: config/bfin/bfin.opt:40 config/msp430/msp430.opt:3 config/c6x/c6x.opt:38 + #, no-c-format + msgid "Use simulator runtime." +-msgstr "Використовувати середовище виконання симулятора." ++msgstr "" + + #: config/bfin/bfin.opt:44 config/arm/arm.opt:120 + #, no-c-format + msgid "Specify the name of the target CPU." +-msgstr "Вказати назву цільового процесора." ++msgstr "" + + #: config/bfin/bfin.opt:48 + #, no-c-format + msgid "Omit frame pointer for leaf functions." +-msgstr "Пропустити вказівник рамки для листкових функцій." ++msgstr "" + + #: config/bfin/bfin.opt:52 + #, no-c-format + msgid "Program is entirely located in low 64k of memory." +-msgstr "Програма повністю розташована в нижніх 64 кБ памʼяті." ++msgstr "" + + #: config/bfin/bfin.opt:56 + #, no-c-format + msgid "Work around a hardware anomaly by adding a number of NOPs before a CSYNC or SSYNC instruction." +-msgstr "Уникнути аномалії апаратного забезпечення, додавши кілька NOPs перед інструкцією CSYNC або SSYNC." ++msgstr "" + + #: config/bfin/bfin.opt:61 + #, no-c-format + msgid "Avoid speculative loads to work around a hardware anomaly." +-msgstr "Уникайте спекулятивних завантажень, щоб уникнути аномалії апаратного забезпечення." ++msgstr "" + + #: config/bfin/bfin.opt:65 + #, no-c-format + msgid "Enabled ID based shared library." +-msgstr "Увімкнено ID-засновану спільну бібліотеку." ++msgstr "Увімкнено засновану на ідентифікаторах бібліотеку спільного використання." + + #: config/bfin/bfin.opt:69 + #, no-c-format + msgid "Generate code that won't be linked against any other ID shared libraries, but may be used as a shared library." +-msgstr "Генерувати код, який не буде посилатися на жодну іншу ID-спільну бібліотеку, але може використовуватися як спільна бібліотека." ++msgstr "" + + #: config/bfin/bfin.opt:74 config/m68k/m68k.opt:175 + #, no-c-format + msgid "ID of shared library to build." +-msgstr "ID спільної бібліотеки, яку потрібно побудувати." ++msgstr "Ідентифікатор бібліотеки спільного використання для збирання." + + #: config/bfin/bfin.opt:78 config/m68k/m68k.opt:171 + #, no-c-format + msgid "Enable separate data segment." +-msgstr "Увімкнути окремий сегмент даних." ++msgstr "" + + #: config/bfin/bfin.opt:82 config/c6x/c6x.opt:63 + #, no-c-format + msgid "Avoid generating pc-relative calls; use indirection." +-msgstr "Уникайте генерації викликів, що відносяться до pc; використовуйте непряме звертання." ++msgstr "" + + #: config/bfin/bfin.opt:86 + #, no-c-format + msgid "Link with the fast floating-point library." +-msgstr "Посилатися на швидку бібліотеку з плаваючою комою." ++msgstr "" + + #: config/bfin/bfin.opt:90 config/arm/arm.opt:339 config/frv/frv.opt:130 + #, no-c-format + msgid "Enable Function Descriptor PIC mode." +-msgstr "Увімкнути режим PIC для опису функцій." ++msgstr "" + + #: config/bfin/bfin.opt:94 config/frv/frv.opt:162 + #, no-c-format + msgid "Enable inlining of PLT in function calls." +-msgstr "Увімкнути вбудовування PLT у виклики функцій." ++msgstr "" + + #: config/bfin/bfin.opt:98 + #, no-c-format + msgid "Do stack checking using bounds in L1 scratch memory." +-msgstr "Виконувати перевірку стеку з використанням меж у L1 тимчасовій памʼяті." ++msgstr "" + + #: config/bfin/bfin.opt:102 + #, no-c-format + msgid "Enable multicore support." +-msgstr "Увімкнути підтримку багатоядерності." ++msgstr "" + + #: config/bfin/bfin.opt:106 + #, no-c-format + msgid "Build for Core A." +-msgstr "Збудувати для ядра A." ++msgstr "" + + #: config/bfin/bfin.opt:110 + #, no-c-format + msgid "Build for Core B." +-msgstr "Збудувати для ядра B." ++msgstr "" + + #: config/bfin/bfin.opt:114 + #, no-c-format + msgid "Build for SDRAM." +-msgstr "Збудувати для SDRAM." ++msgstr "" + + #: config/bfin/bfin.opt:118 + #, no-c-format + msgid "Assume ICPLBs are enabled at runtime." +-msgstr "Припустити, що ICPLB увімкнені під час виконання." ++msgstr "" + + #: config/m68k/m68k-tables.opt:25 + #, no-c-format + msgid "Known M68K CPUs (for use with the -mcpu= option):" +-msgstr "Відомі процесори M68K (для використання з опцією -mcpu=):" ++msgstr "" + + #: config/m68k/m68k-tables.opt:365 + #, no-c-format + msgid "Known M68K microarchitectures (for use with the -mtune= option):" +-msgstr "Відомі мікроархітектури M68K (для використання з опцією -mtune=):" ++msgstr "" + + #: config/m68k/m68k-tables.opt:411 + #, no-c-format + msgid "Known M68K ISAs (for use with the -march= option):" +-msgstr "Відомі ISA M68K (для використання з опцією -march=):" ++msgstr "" + + #: config/m68k/ieee.opt:24 config/i386/i386.opt:374 + #, no-c-format + msgid "Use IEEE math for fp comparisons." +-msgstr "Використовуйте IEEE математику для порівнянь з плаваючою комою." ++msgstr "" + + #: config/m68k/m68k.opt:30 + #, no-c-format + msgid "Generate code for a 520X." +-msgstr "Створити код для 520X." ++msgstr "" + + #: config/m68k/m68k.opt:34 + #, no-c-format + msgid "Generate code for a 5206e." +-msgstr "Створити код для 5206e." ++msgstr "" + + #: config/m68k/m68k.opt:38 + #, no-c-format + msgid "Generate code for a 528x." +-msgstr "Створити код для 528x." ++msgstr "" + + #: config/m68k/m68k.opt:42 + #, no-c-format + msgid "Generate code for a 5307." +-msgstr "Створити код для 5307." ++msgstr "" + + #: config/m68k/m68k.opt:46 + #, no-c-format + msgid "Generate code for a 5407." +-msgstr "Створити код для 5407." ++msgstr "" + + #: config/m68k/m68k.opt:50 config/m68k/m68k.opt:111 + #, no-c-format + msgid "Generate code for a 68000." +-msgstr "Створити код для 68000." ++msgstr "" + + #: config/m68k/m68k.opt:54 + #, no-c-format + msgid "Generate code for a 68010." +-msgstr "Створити код для 68010." ++msgstr "" + + #: config/m68k/m68k.opt:58 config/m68k/m68k.opt:115 + #, no-c-format + msgid "Generate code for a 68020." +-msgstr "Створити код для 68020." ++msgstr "" + + #: config/m68k/m68k.opt:62 + #, no-c-format + msgid "Generate code for a 68040, without any new instructions." +-msgstr "Створити код для 68040 без нових інструкцій." ++msgstr "" + + #: config/m68k/m68k.opt:66 + #, no-c-format + msgid "Generate code for a 68060, without any new instructions." +-msgstr "Створити код для 68060 без нових інструкцій." ++msgstr "" + + #: config/m68k/m68k.opt:70 + #, no-c-format + msgid "Generate code for a 68030." +-msgstr "Створити код для 68030." ++msgstr "" + + #: config/m68k/m68k.opt:74 + #, no-c-format + msgid "Generate code for a 68040." +-msgstr "Створити код для 68040." ++msgstr "" + + #: config/m68k/m68k.opt:78 + #, no-c-format + msgid "Generate code for a 68060." +-msgstr "Створити код для 68060." ++msgstr "" + + #: config/m68k/m68k.opt:82 + #, no-c-format + msgid "Generate code for a 68302." +-msgstr "Створити код для 68302." ++msgstr "" + + #: config/m68k/m68k.opt:86 + #, no-c-format + msgid "Generate code for a 68332." +-msgstr "Створити код для 68332." ++msgstr "" + + #: config/m68k/m68k.opt:91 + #, no-c-format + msgid "Generate code for a 68851." +-msgstr "Створити код для 68851." ++msgstr "" + + #: config/m68k/m68k.opt:95 + #, no-c-format + msgid "Generate code that uses 68881 floating-point instructions." +-msgstr "Створити код, що використовує інструкції з плаваючою комою 68881." ++msgstr "" + + #: config/m68k/m68k.opt:99 + #, no-c-format + msgid "Align variables on a 32-bit boundary." +-msgstr "Вирівнювати змінні на границі 32 біт." ++msgstr "" + + #: config/m68k/m68k.opt:103 config/arm/arm.opt:89 config/nios2/nios2.opt:570 + #: config/nds32/nds32.opt:171 config/c6x/c6x.opt:67 + #, no-c-format + msgid "Specify the name of the target architecture." +-msgstr "Вказати назву цільової архітектури." ++msgstr "" + + #: config/m68k/m68k.opt:107 + #, no-c-format + msgid "Use the bit-field instructions." +-msgstr "Використовувати інструкції поля бітів." ++msgstr "" + + #: config/m68k/m68k.opt:119 + #, no-c-format + msgid "Generate code for a ColdFire v4e." +-msgstr "Створити код для ColdFire v4e." ++msgstr "" + + #: config/m68k/m68k.opt:123 + #, no-c-format + msgid "Specify the target CPU." +-msgstr "Вказати цільовий процесор." ++msgstr "" + + #: config/m68k/m68k.opt:127 + #, no-c-format + msgid "Generate code for a cpu32." +-msgstr "Створити код для cpu32." ++msgstr "" + + #: config/m68k/m68k.opt:131 + #, no-c-format + msgid "Use hardware division instructions on ColdFire." +-msgstr "Використовувати апаратні інструкції ділення на ColdFire." ++msgstr "" + + #: config/m68k/m68k.opt:135 + #, no-c-format + msgid "Generate code for a Fido A." +-msgstr "Створити код для Fido A." ++msgstr "" + + #: config/m68k/m68k.opt:139 + #, no-c-format + msgid "Generate code which uses hardware floating point instructions." +-msgstr "Створити код, який використовує апаратні інструкції з плаваючою комою." ++msgstr "" + + #: config/m68k/m68k.opt:143 + #, no-c-format + msgid "Enable ID based shared library." +-msgstr "Увімкнути спільну бібліотеку на основі ID." ++msgstr "Увімкнути засновану на ідентифікаторах бібліотеку спільного використання." + + #: config/m68k/m68k.opt:147 + #, no-c-format + msgid "Use 32-bit offsets in jump tables rather than 16-bit offsets." +-msgstr "Використовувати зсуви на 32 біти в таблицях переходів замість зсувів на 16 біт." ++msgstr "" + + #: config/m68k/m68k.opt:151 + #, no-c-format + msgid "Do not use the bit-field instructions." +-msgstr "Не використовувати інструкції для бітових полів." ++msgstr "" + + #: config/m68k/m68k.opt:155 + #, no-c-format + msgid "Use normal calling convention." +-msgstr "Використовувати звичайну конвенцію виклику." ++msgstr "" + + #: config/m68k/m68k.opt:159 + #, no-c-format + msgid "Consider type 'int' to be 32 bits wide." +-msgstr "Вважати тип 'int' шириною 32 біти." ++msgstr "" + + #: config/m68k/m68k.opt:163 + #, no-c-format + msgid "Generate pc-relative code." +-msgstr "Створити код з відносним вказівником на програмний лічильник (PC)." ++msgstr "" + + #: config/m68k/m68k.opt:167 + #, no-c-format + msgid "Use different calling convention using 'rtd'." +-msgstr "Використовувати іншу конвенцію виклику з використанням 'rtd'." ++msgstr "" + + #: config/m68k/m68k.opt:179 + #, no-c-format + msgid "Consider type 'int' to be 16 bits wide." +-msgstr "Вважати тип 'int' шириною 16 біт." ++msgstr "" + + #: config/m68k/m68k.opt:183 + #, no-c-format + msgid "Generate code with library calls for floating point." +-msgstr "Створити код з викликами бібліотеки для операцій з плаваючою комою." ++msgstr "" + + #: config/m68k/m68k.opt:187 + #, no-c-format + msgid "Do not use unaligned memory references." +-msgstr "Не використовуйте незбалансовані посилання на памʼять." ++msgstr "" + + #: config/m68k/m68k.opt:191 + #, no-c-format + msgid "Tune for the specified target CPU or architecture." +-msgstr "Налаштуйте для вказаного цільового процесора або архітектури." ++msgstr "" + + #: config/m68k/m68k.opt:195 + #, no-c-format + msgid "Support more than 8192 GOT entries on ColdFire." +-msgstr "Підтримка більше 8192 записів GOT на ColdFire." ++msgstr "" + + #: config/m68k/m68k.opt:199 + #, no-c-format + msgid "Support TLS segment larger than 64K." +-msgstr "Підтримка TLS-сегменту більше 64K." ++msgstr "" + + #: config/riscv/riscv.opt:26 config/aarch64/aarch64.opt:74 + #: config/arm/arm.opt:108 config/microblaze/microblaze.opt:60 + #, no-c-format + msgid "Assume target CPU is configured as big endian." +-msgstr "Припустити, що цільовий процесор налаштований як big endian." ++msgstr "" + + #: config/riscv/riscv.opt:30 config/aarch64/aarch64.opt:94 + #: config/arm/arm.opt:173 config/microblaze/microblaze.opt:64 + #, no-c-format + msgid "Assume target CPU is configured as little endian." +-msgstr "Припустити, що цільовий процесор налаштований як little endian." ++msgstr "" + + #: config/riscv/riscv.opt:34 + #, no-c-format + msgid "-mbranch-cost=N\tSet the cost of branches to roughly N instructions." +-msgstr "-mbranch-cost=N\tВстановити вартість гілок приблизно N інструкцій." ++msgstr "" + + #: config/riscv/riscv.opt:38 + #, no-c-format + msgid "When generating -fpic code, allow the use of PLTs. Ignored for fno-pic." +-msgstr "При генерації коду -fpic дозволяє використання PLT. Ігнорується для fno-pic." ++msgstr "" + + #: config/riscv/riscv.opt:42 + #, no-c-format + msgid "Specify integer and floating-point calling convention." +-msgstr "Вказати конвенцію виклику для цілочисельних та чисел з плаваючою комою." ++msgstr "" + + #: config/riscv/riscv.opt:46 config/i386/i386.opt:429 + #, no-c-format + msgid "Attempt to keep stack aligned to this power of 2." +-msgstr "Спроба зберегти вирівнювання стеку за допомогою цієї степені числа 2." ++msgstr "" + + #: config/riscv/riscv.opt:50 + #, no-c-format + msgid "Supported ABIs (for use with the -mabi= option):" +-msgstr "Підтримувані ABIs (для використання з опцією -mabi=):" ++msgstr "" + + #: config/riscv/riscv.opt:75 + #, no-c-format + msgid "Use hardware floating-point divide and square root instructions." +-msgstr "Використовувати апаратні інструкції для ділення та обчислення квадратного кореня з числами з плаваючою комою." ++msgstr "" + + #: config/riscv/riscv.opt:79 + #, no-c-format + msgid "Use hardware instructions for integer division." +-msgstr "Використовувати апаратні інструкції для цілочисельного ділення." ++msgstr "" + + #: config/riscv/riscv.opt:83 + #, no-c-format + msgid "-march=\tGenerate code for given RISC-V ISA (e.g. RV64IM). ISA strings must be lower-case." +-msgstr "-march=\tГенерувати код для заданої RISC-V ISA (наприклад, RV64IM). Рядки ISA повинні бути у нижньому регістрі." ++msgstr "" + + #: config/riscv/riscv.opt:88 config/mips/mips.opt:405 + #, no-c-format + msgid "-mtune=PROCESSOR\tOptimize the output for PROCESSOR." +-msgstr "-mtune=PROCESSOR\tОптимізувати вихідний код для PROCESSOR." ++msgstr "" + + #: config/riscv/riscv.opt:92 + #, no-c-format + msgid "-mcpu=PROCESSOR\tUse architecture of and optimize the output for PROCESSOR." +-msgstr "-mcpu=PROCESSOR\tВикористовувати архітектуру та оптимізувати вихідний код для PROCESSOR." ++msgstr "" + + #: config/riscv/riscv.opt:96 + #, no-c-format + msgid "-msmall-data-limit=N\tPut global and static data smaller than bytes into a special section (on some targets)." +-msgstr "-msmall-data-limit=N\tРозміщує глобальні та статичні дані розміром менше <число> байтів у спеціальному розділі (на деяких цільових платформах)." ++msgstr "" + + #: config/riscv/riscv.opt:100 + #, no-c-format + msgid "Use smaller but slower prologue and epilogue code." +-msgstr "Використовуйте менший, але повільніший код прологу та епілогу." ++msgstr "" + + #: config/riscv/riscv.opt:104 + #, no-c-format + msgid "Convert BASE + LARGE_OFFSET addresses to NEW_BASE + SMALL_OFFSET to allow more memory accesses to be generated as compressed instructions. Currently targets 32-bit integer load/stores." +-msgstr "Конвертувати адреси BASE + LARGE_OFFSET в NEW_BASE + SMALL_OFFSET, щоб дозволити генерувати більше доступів до памʼяті у вигляді стиснених інструкцій. Наразі цілі спрямовані на 32-бітові завантаження/збереження цілочисельних." ++msgstr "" + + #: config/riscv/riscv.opt:110 config/aarch64/aarch64.opt:98 + #: config/loongarch/loongarch.opt:193 + #, no-c-format + msgid "Specify the code model." +-msgstr "Вказати модель коду." ++msgstr "" + + #: config/riscv/riscv.opt:114 config/loongarch/loongarch.opt:158 + #, no-c-format + msgid "Do not generate unaligned memory accesses." +-msgstr "Не генерувати незбалансовані доступи до памʼяті." ++msgstr "" + + #: config/riscv/riscv.opt:118 config/i386/i386.opt:293 + #: config/rs6000/aix64.opt:36 config/rs6000/linux64.opt:32 + #, no-c-format + msgid "Known code models (for use with the -mcmodel= option):" +-msgstr "Відомі моделі коду (для використання з опцією -mcmodel=):" ++msgstr "" + + #: config/riscv/riscv.opt:128 + #, no-c-format + msgid "Use %reloc() operators, rather than assembly macros, to load addresses." +-msgstr "Використовуйте оператори %reloc(), а не макроси збірки, для завантаження адрес." ++msgstr "" + + #: config/riscv/riscv.opt:132 + #, no-c-format + msgid "Take advantage of linker relaxations to reduce the number of instructions required to materialize symbol addresses." +-msgstr "Скористайтеся можливостями розслаблення звʼязувача, щоб зменшити кількість інструкцій, необхідних для матеріалізації адрес символів." ++msgstr "" + + #: config/riscv/riscv.opt:137 + #, no-c-format + msgid "Enable the CSR checking for the ISA-dependent CRS and the read-only CSR. The ISA-dependent CSR are only valid when the specific ISA is set. The read-only CSR can not be written by the CSR instructions." +-msgstr "Увімкнути перевірку CSR для залежних від ISA CRS та для CSR, доступних тільки для читання. Залежні від ISA CRS є дійсними лише тоді, коли встановлено конкретний ISA. CSR, доступні тільки для читання, не можна записувати за допомогою інструкцій CSR." ++msgstr "" + + #: config/riscv/riscv.opt:161 + #, no-c-format + msgid "Emit RISC-V ELF attribute." +-msgstr "Видавати атрибут RISC-V ELF." ++msgstr "" + + #: config/riscv/riscv.opt:165 config/i386/i386.opt:246 + #, no-c-format + msgid "Use the given data alignment." +-msgstr "Використовувати задане вирівнювання даних." ++msgstr "" + + #: config/riscv/riscv.opt:169 config/i386/i386.opt:250 + #, no-c-format + msgid "Known data alignment choices (for use with the -malign-data= option):" +-msgstr "Відомі варіанти вирівнювання даних (для використання з опцією -malign-data=):" ++msgstr "" + + #: config/riscv/riscv.opt:179 config/aarch64/aarch64.opt:241 + #: config/i386/i386.opt:1015 config/arm/arm.opt:343 + #: config/rs6000/rs6000.opt:550 + #, no-c-format + msgid "Use given stack-protector guard." +-msgstr "Використовувати заданий захисник стека." ++msgstr "" + + #: config/riscv/riscv.opt:183 config/aarch64/aarch64.opt:245 + #: config/arm/arm.opt:347 config/rs6000/rs6000.opt:554 + #, no-c-format + msgid "Valid arguments to -mstack-protector-guard=:" +-msgstr "Допустимі аргументи для -mstack-protector-guard=:" ++msgstr "" + + #: config/riscv/riscv.opt:193 config/i386/i386.opt:1029 + #: config/rs6000/rs6000.opt:564 + #, no-c-format + msgid "Use the given base register for addressing the stack-protector guard." +-msgstr "Використовувати заданий базовий регістр для адресації захисника стека." ++msgstr "" + + #: config/riscv/riscv.opt:200 config/i386/i386.opt:1036 + #: config/rs6000/rs6000.opt:571 + #, no-c-format + msgid "Use the given offset for addressing the stack-protector guard." +-msgstr "Використовуйте задане зміщення для адресації захисника стека." ++msgstr "" + + #: config/riscv/riscv.opt:243 + #, no-c-format + msgid "Supported ISA specs (for use with the -misa-spec= option):" +-msgstr "Підтримувані специфікації ISA (для використання з опцією -misa-spec=):" ++msgstr "" + + #: config/riscv/riscv.opt:256 + #, no-c-format + msgid "Set the version of RISC-V ISA spec." +-msgstr "Встановити версію специфікації RISC-V ISA." ++msgstr "" + + #: config/m32c/m32c.opt:23 + #, no-c-format + msgid "-msim\tUse simulator runtime." +-msgstr "-msim\tВикористовуйте час виконання симулятора." ++msgstr "" + + #: config/m32c/m32c.opt:27 + #, no-c-format + msgid "-mcpu=r8c\tCompile code for R8C variants." +-msgstr "-mcpu=r8c\tКомпілювати код для варіантів R8C." ++msgstr "" + + #: config/m32c/m32c.opt:31 + #, no-c-format + msgid "-mcpu=m16c\tCompile code for M16C variants." +-msgstr "-mcpu=m16c\tКомпілювати код для варіантів M16C." ++msgstr "" + + #: config/m32c/m32c.opt:35 + #, no-c-format + msgid "-mcpu=m32cm\tCompile code for M32CM variants." +-msgstr "-mcpu=m32cm\tКомпілювати код для варіантів M32CM." ++msgstr "" + + #: config/m32c/m32c.opt:39 + #, no-c-format + msgid "-mcpu=m32c\tCompile code for M32C variants." +-msgstr "-mcpu=m32c\tКомпілювати код для варіантів M32C." ++msgstr "" + + #: config/m32c/m32c.opt:43 + #, no-c-format + msgid "-memregs=\tNumber of memreg bytes (default: 16, range: 0..16)." +-msgstr "-memregs=\tКількість байтів memreg (за замовчуванням: 16, діапазон: 0..16)." ++msgstr "" + + #: config/msp430/msp430.opt:7 + #, no-c-format + msgid "Use a lightweight configuration of printf and puts to reduce code size. For single-threaded applications, not requiring reentrant I/O only. Requires Newlib Nano IO." +-msgstr "Використовуйте легку конфігурацію printf та puts для зменшення розміру коду. Тільки для однопотокових додатків, які не потребують переходу до введення/виведення. Вимагає Newlib Nano IO." ++msgstr "" + + #: config/msp430/msp430.opt:11 + #, no-c-format + msgid "Force assembly output to always use hex constants." +-msgstr "Примусово використовувати шістнадцяткові константи у вихідному коді асемблера." ++msgstr "" + + #: config/msp430/msp430.opt:15 + #, no-c-format + msgid "Specify the MCU to build for." +-msgstr "Вказати МКП, для якого будується програма." ++msgstr "" + + #: config/msp430/msp430.opt:19 + #, no-c-format + msgid "Warn if an MCU name is unrecognized or conflicts with other options (default: on)." +-msgstr "Попереджати, якщо назва МКП невідома або конфліктує з іншими параметрами (за замовчуванням: увімкнено)." ++msgstr "" + + #: config/msp430/msp430.opt:23 + #, no-c-format + msgid "Warn if devices.csv is not found or there are problem parsing it (default: on)." +-msgstr "Попереджати, якщо не знайдено файл devices.csv або виникли проблеми з його обробкою (за замовчуванням: увімкнено)." ++msgstr "" + + #: config/msp430/msp430.opt:27 + #, no-c-format + msgid "Specify the ISA to build for: msp430, msp430x, msp430xv2." +-msgstr "Вказати ISA, для якої будується програма: msp430, msp430x, msp430xv2." ++msgstr "" + + #: config/msp430/msp430.opt:52 + #, no-c-format + msgid "Select large model - 20-bit addresses/pointers." +-msgstr "Вибрати велику модель - 20-бітні адреси/вказівники." ++msgstr "" + + #: config/msp430/msp430.opt:56 + #, no-c-format + msgid "Select small model - 16-bit addresses/pointers (default)." +-msgstr "Вибрати малу модель - 16-бітні адреси/вказівники (за замовчуванням)." ++msgstr "" + + #: config/msp430/msp430.opt:60 + #, no-c-format + msgid "Optimize opcode sizes at link time." +-msgstr "Оптимізувати розміри опкодів під час звʼязування." ++msgstr "" + + #: config/msp430/msp430.opt:67 config/pru/pru.opt:26 + #, no-c-format + msgid "Use a minimum runtime (no static initializers or ctors) for memory-constrained devices." +-msgstr "Використовуйте мінімальний час виконання (без статичних ініціалізаторів або конструкторів) для пристроїв з обмеженим обсягом памʼяті." ++msgstr "" + + #: config/msp430/msp430.opt:74 + #, no-c-format + msgid "Specify the type of hardware multiply to support." +-msgstr "Вказати тип апаратного множення, який потрібно підтримувати." ++msgstr "" + + #: config/msp430/msp430.opt:96 + #, no-c-format + msgid "Specify whether functions should be placed into the lower or upper memory regions, or if they should be shuffled between the regions (either) for best fit (default: lower)." +-msgstr "Вказати, чи функції повинні розміщуватися в нижніх або верхніх областях памʼяті, або чи вони повинні переміщуватися між областями (будь-якими) для найкращого впису (за замовчуванням: нижні)." ++msgstr "" + + #: config/msp430/msp430.opt:100 + #, no-c-format + msgid "Specify whether variables should be placed into the lower or upper memory regions, or if they should be shuffled between the regions (either) for best fit (default: lower)." +-msgstr "Вказати, чи змінні повинні бути розміщені в нижніх або верхніх регіонах памʼяті, або чи вони повинні переміщуватися між регіонами (будь-якими) для найкращого впорядкування (за замовчуванням: нижні)." ++msgstr "" + + #: config/msp430/msp430.opt:104 + #, no-c-format + msgid "Add the .lower prefix to section names when compiling with -m{code,data}-region=lower (disabled by default)." +-msgstr "Додати префікс .lower до назв розділів при компіляції з -m{code,data}-region=lower (за замовчуванням вимкнено)." ++msgstr "" + + #: config/msp430/msp430.opt:123 + #, no-c-format + msgid "Passes on a request to the assembler to enable fixes for various silicon errata." +-msgstr "Передає запит до асемблера для увімкнення виправлень різних помилок у кремнієвих кристалах." ++msgstr "" + + #: config/msp430/msp430.opt:127 + #, no-c-format + msgid "Passes on a request to the assembler to warn about various silicon errata." +-msgstr "Передає запит асемблеру для попередження про різні помилки в кристалі." ++msgstr "" + + #: config/msp430/msp430.opt:131 + #, no-c-format + msgid "The path to devices.csv. The GCC driver can normally locate devices.csv itself and pass this option to the compiler, so the user shouldn't need to pass this." +-msgstr "Шлях до devices.csv. Зазвичай драйвер GCC може сам знайти файл devices.csv і передати цю опцію компілятору, тому користувачу не потрібно цього робити." ++msgstr "" + + #: config/msp430/msp430.opt:136 + #, no-c-format + msgid "For shift operations by a constant amount, which require an individual instruction to shift by one position, set the maximum number of inline shift instructions (maximum value 64) to emit instead of using the corresponding __mspabi helper function. The default value is 4." +-msgstr "Для операцій зсуву на константну величину, які вимагають окремої інструкції для зсуву на одну позицію, встановити максимальну кількість вставних інструкцій зсуву (максимальне значення 64), які слід виводити замість використання відповідної допоміжної функції __mspabi. Значення за замовчуванням - 4." ++msgstr "" + + #: config/aarch64/aarch64.opt:49 + #, no-c-format + msgid "The possible TLS dialects:" +-msgstr "Можливі діалекти TLS:" ++msgstr "" + + #: config/aarch64/aarch64.opt:61 config/loongarch/loongarch.opt:171 + #, no-c-format + msgid "The code model option names for -mcmodel:" +-msgstr "Назви опцій моделі коду для -mcmodel:" ++msgstr "" + + #: config/aarch64/aarch64.opt:78 config/i386/i386.opt:1050 + #, no-c-format + msgid "Generate code which uses only the general registers." +-msgstr "Генерувати код, який використовує лише загальні регістри." ++msgstr "" + + #: config/aarch64/aarch64.opt:82 config/i386/i386.opt:1142 + #, no-c-format + msgid "Generate code to mitigate against straight line speculation." +-msgstr "Генерувати код для зменшення прямолінійної спекуляції." ++msgstr "" + + #: config/aarch64/aarch64.opt:86 + #, no-c-format + msgid "Workaround for ARM Cortex-A53 Erratum number 835769." +-msgstr "Обхід для помилки ARM Cortex-A53 з номером 835769." ++msgstr "" + + #: config/aarch64/aarch64.opt:90 + #, no-c-format + msgid "Workaround for ARM Cortex-A53 Erratum number 843419." +-msgstr "Обхід для помилки ARM Cortex-A53 з номером 843419." ++msgstr "" + + #: config/aarch64/aarch64.opt:102 + #, no-c-format + msgid "Don't assume that unaligned accesses are handled by the system." +-msgstr "Не припускати, що незбалансований доступ обробляється системою." ++msgstr "" + + #: config/aarch64/aarch64.opt:106 config/i386/i386.opt:405 + #, no-c-format + msgid "Omit the frame pointer in leaf functions." +-msgstr "Пропустити вказівник рамки в листових функціях." ++msgstr "" + + #: config/aarch64/aarch64.opt:110 + #, no-c-format + msgid "Specify TLS dialect." +-msgstr "Вказати діалект TLS." ++msgstr "" + + #: config/aarch64/aarch64.opt:114 + #, no-c-format + msgid "Specifies bit size of immediate TLS offsets. Valid values are 12, 24, 32, 48." +-msgstr "Вказує розмір бітів негайних зсувів TLS. Допустимі значення: 12, 24, 32, 48." ++msgstr "" + + #: config/aarch64/aarch64.opt:133 + #, no-c-format + msgid "Use features of architecture ARCH." +-msgstr "Використовуйте можливості архітектури ARCH." ++msgstr "" + + #: config/aarch64/aarch64.opt:137 + #, no-c-format + msgid "Use features of and optimize for CPU." +-msgstr "Використовуйте можливості та оптимізуйте для процесора." ++msgstr "" + + #: config/aarch64/aarch64.opt:141 + #, no-c-format + msgid "Optimize for CPU." +-msgstr "Оптимізувати для процесора." ++msgstr "" + + #: config/aarch64/aarch64.opt:145 + #, no-c-format + msgid "Generate code that conforms to the specified ABI." +-msgstr "Створюйте код, який відповідає вказаному ABI." ++msgstr "" + + #: config/aarch64/aarch64.opt:149 + #, no-c-format + msgid "-moverride=\tPower users only! Override CPU optimization parameters." +-msgstr "-moverride=<рядок>\tТільки для досвідчених користувачів! Перевизначте параметри оптимізації процесора." ++msgstr "" + + #: config/aarch64/aarch64.opt:153 + #, no-c-format + msgid "Known AArch64 ABIs (for use with the -mabi= option):" +-msgstr "Відомі AArch64 ABI (для використання з опцією -mabi=):" ++msgstr "" + + #: config/aarch64/aarch64.opt:163 + #, no-c-format + msgid "PC relative literal loads." +-msgstr "Завантаження літералів відносно PC." ++msgstr "" + + #: config/aarch64/aarch64.opt:167 config/arm/arm.opt:331 + #, no-c-format + msgid "Use branch-protection features." +-msgstr "Використовуйте функції захисту гілок." ++msgstr "" + + #: config/aarch64/aarch64.opt:171 + #, no-c-format + msgid "Select return address signing scope." +-msgstr "Вибрати область підпису повернення адреси." ++msgstr "" + + #: config/aarch64/aarch64.opt:175 + #, no-c-format + msgid "Supported AArch64 return address signing scope (for use with -msign-return-address= option):" +-msgstr "Підтримувана область підпису повернення адреси AArch64 (для використання з опцією -msign-return-address=):" ++msgstr "" + + #: config/aarch64/aarch64.opt:188 + #, no-c-format + msgid "Enable the reciprocal square root approximation. Enabling this reduces precision of reciprocal square root results to about 16 bits for single precision and to 32 bits for double precision." +-msgstr "Увімкнути наближення оберненої квадратного кореня. Увімкнення цієї опції знижує точність результатів оберненого квадратного кореня до приблизно 16 біт для одинарної точності і 32 біт для подвійної точності." ++msgstr "" + + #: config/aarch64/aarch64.opt:194 + #, no-c-format + msgid "Enable the square root approximation. Enabling this reduces precision of square root results to about 16 bits for single precision and to 32 bits for double precision. If enabled, it implies -mlow-precision-recip-sqrt." +-msgstr "Увімкнути наближення квадратного кореня. Увімкнення цієї опції знижує точність результатів квадратного кореня до приблизно 16 біт для одинарної точності і 32 біт для подвійної точності. Якщо ввімкнено, це означає -mlow-precision-recip-sqrt." ++msgstr "" + + #: config/aarch64/aarch64.opt:201 + #, no-c-format + msgid "Enable the division approximation. Enabling this reduces precision of division results to about 16 bits for single precision and to 32 bits for double precision." +-msgstr "Увімкнути наближення ділення. Увімкнення цієї опції знижує точність результатів ділення до приблизно 16 біт для одинарної точності і до 32 біт для подвійної точності." ++msgstr "" + + #: config/aarch64/aarch64.opt:207 + #, no-c-format + msgid "The possible SVE vector lengths:" +-msgstr "Можливі довжини векторів SVE:" ++msgstr "" + + #: config/aarch64/aarch64.opt:229 + #, no-c-format + msgid "-msve-vector-bits=\tSet the number of bits in an SVE vector register." +-msgstr "-msve-vector-bits=<число>\tВстановити кількість бітів у регістрі вектора SVE." ++msgstr "" + + #: config/aarch64/aarch64.opt:233 + #, no-c-format + msgid "Enables verbose cost model dumping in the debug dump files." +-msgstr "Увімкнути докладне виведення моделі витрат у файлах виведення налагодження." ++msgstr "" + + #: config/aarch64/aarch64.opt:237 + #, no-c-format + msgid "Generate code to track when the CPU might be speculating incorrectly." +-msgstr "Генерувати код для відстеження, коли процесор може неправильно спекулювати." ++msgstr "" + + #: config/aarch64/aarch64.opt:255 + #, no-c-format + msgid "Use the system register specified on the command line as the stack protector guard register. This option is for use with fstack-protector-strong and not for use in user-land code." +-msgstr "Використовуйте системний регістр, вказаний у командному рядку, як регістр захисту стека. Ця опція призначена для використання з fstack-protector-strong і не призначена для використання в коді користувача." ++msgstr "" + + #: config/aarch64/aarch64.opt:261 + #, no-c-format + msgid "Use an immediate to offset from the stack protector guard register, sp_el0. This option is for use with fstack-protector-strong and not for use in user-land code." +-msgstr "Використовуйте негайний зсув від реєстра-охоронця стека, sp_el0. Ця опція призначена для використання з fstack-protector-strong і не призначена для використання в коді користувача." ++msgstr "" + + #: config/aarch64/aarch64.opt:270 + #, no-c-format + msgid "Generate local calls to out-of-line atomic operations." +-msgstr "Генерувати локальні виклики до атомних операцій, що знаходяться поза лінією." ++msgstr "" + + #: config/aarch64/aarch64.opt:274 + #, no-c-format + msgid "When vectorizing for SVE, consider using unpacked vectors for smaller elements and use the cost model to pick the cheapest approach. Also use the cost model to choose between SVE and Advanced SIMD vectorization." +-msgstr "При векторизації для SVE розгляньте використання розпакованих векторів для менших елементів та використовуйте модель вартості для вибору найбільш економного підходу. Також використовуйте модель вартості для вибору між векторизацією SVE та Advanced SIMD." ++msgstr "" + + #: config/aarch64/aarch64.opt:278 + #, no-c-format + msgid "The number of Newton iterations for calculating the reciprocal for float type. The precision of division is proportional to this param when division approximation is enabled. The default value is 1." +-msgstr "Кількість ітерацій Ньютона для обчислення оберненого значення для типу float. Точність ділення пропорційна цьому параметру, коли ввімкнено наближене ділення. Значення за замовчуванням - 1." ++msgstr "" + + #: config/aarch64/aarch64.opt:282 + #, no-c-format + msgid "The number of Newton iterations for calculating the reciprocal for double type. The precision of division is proportional to this param when division approximation is enabled. The default value is 2." +-msgstr "Кількість ітерацій Ньютона для обчислення оберненого значення для типу double. Точність ділення пропорційна цьому параметру, коли ввімкнено наближення ділення. Значення за замовчуванням - 2." ++msgstr "" + + #: config/aarch64/aarch64.opt:292 + #, no-c-format + msgid "Constant memcpy size in bytes above which to start using MOPS sequence." +-msgstr "Константний розмір memcpy в байтах, після якого починається використання послідовності MOPS." ++msgstr "" + + #: config/aarch64/aarch64.opt:296 + #, no-c-format + msgid "Constant memmove size in bytes above which to start using MOPS sequence." +-msgstr "Константний розмір memmove в байтах, після якого починається використання послідовності MOPS." ++msgstr "" + + #: config/aarch64/aarch64.opt:300 + #, no-c-format + msgid "Constant memset size in bytes from which to start using MOPS sequence." +-msgstr "Константний розмір memset в байтах, з якого починається використання послідовності MOPS." ++msgstr "" + + #: config/aarch64/aarch64.opt:304 + #, no-c-format + msgid "Limit how much the autovectorizer may unroll a loop." +-msgstr "Обмежити, наскільки далеко автовекторизатор може розгорнути цикл." ++msgstr "" + + #: config/linux.opt:24 + #, no-c-format + msgid "Use Bionic C library." +-msgstr "Використовуйте бібліотеку Bionic C." ++msgstr "" + + #: config/linux.opt:28 + #, no-c-format + msgid "Use GNU C library." +-msgstr "Використовуйте бібліотеку GNU C." ++msgstr "" + + #: config/linux.opt:32 + #, no-c-format + msgid "Use uClibc C library." +-msgstr "Використовуйте бібліотеку uClibc C." ++msgstr "" + + #: config/linux.opt:36 + #, no-c-format + msgid "Use musl C library." +-msgstr "Використовуйте бібліотеку musl C." ++msgstr "" + + #: config/ia64/ilp32.opt:3 + #, no-c-format + msgid "Generate ILP32 code." +-msgstr "Створюйте код ILP32." ++msgstr "" + + #: config/ia64/ilp32.opt:7 + #, no-c-format + msgid "Generate LP64 code." +-msgstr "Створюйте код LP64." ++msgstr "" + + #: config/ia64/ia64.opt:28 + #, no-c-format + msgid "Generate big endian code." +-msgstr "Створюйте код з великим порядком байтів." ++msgstr "" + + #: config/ia64/ia64.opt:32 + #, no-c-format + msgid "Generate little endian code." +-msgstr "Створюйте код з маленьким порядком байтів." ++msgstr "" + + #: config/ia64/ia64.opt:36 + #, no-c-format + msgid "Generate code for GNU as." +-msgstr "Створюйте код для GNU as." ++msgstr "" + + #: config/ia64/ia64.opt:40 + #, no-c-format + msgid "Generate code for GNU ld." +-msgstr "Створюйте код для GNU ld." ++msgstr "" + + #: config/ia64/ia64.opt:44 + #, no-c-format + msgid "Emit stop bits before and after volatile extended asms." +-msgstr "Випускати стоп-біти перед та після волатильних розширених asms." ++msgstr "" + + #: config/ia64/ia64.opt:48 + #, no-c-format + msgid "Use in/loc/out register names." +-msgstr "Використовуйте імена реєстрів in/loc/out." ++msgstr "Використовувати назви регістрів in/loc/out." + + #: config/ia64/ia64.opt:55 + #, no-c-format + msgid "Enable use of sdata/scommon/sbss." +-msgstr "Увімкнути використання sdata/scommon/sbss." ++msgstr "" + + #: config/ia64/ia64.opt:59 + #, no-c-format + msgid "Generate code without GP reg." +-msgstr "Створюйте код без регістра GP." ++msgstr "" + + #: config/ia64/ia64.opt:63 + #, no-c-format + msgid "gp is constant (but save/restore gp on indirect calls)." +-msgstr "gp є константним (але зберігайте/відновлюйте gp при непрямих викликах)." ++msgstr "" + + #: config/ia64/ia64.opt:67 + #, no-c-format + msgid "Generate self-relocatable code." +-msgstr "Генерувати самозміщуваний код." ++msgstr "" + + #: config/ia64/ia64.opt:71 + #, no-c-format + msgid "Generate inline floating point division, optimize for latency." +-msgstr "Генерувати вбудоване ділення з плаваючою точкою, оптимізувати для затримки." ++msgstr "" + + #: config/ia64/ia64.opt:75 + #, no-c-format + msgid "Generate inline floating point division, optimize for throughput." +-msgstr "Генерувати вбудоване ділення з плаваючою точкою, оптимізувати для пропускної здатності." ++msgstr "" + + #: config/ia64/ia64.opt:82 + #, no-c-format + msgid "Generate inline integer division, optimize for latency." +-msgstr "Генерувати вбудоване цілочисельне ділення, оптимізувати для затримки." ++msgstr "" + + #: config/ia64/ia64.opt:86 + #, no-c-format + msgid "Generate inline integer division, optimize for throughput." +-msgstr "Генерувати вбудоване цілочисельне ділення, оптимізувати для пропускної здатності." ++msgstr "" + + #: config/ia64/ia64.opt:90 + #, no-c-format + msgid "Do not inline integer division." +-msgstr "Не генерувати цілочисельне ділення вбудовано." ++msgstr "" + + #: config/ia64/ia64.opt:94 + #, no-c-format + msgid "Generate inline square root, optimize for latency." +-msgstr "Генерувати вбудований квадратний корінь, оптимізувати для затримки." ++msgstr "" + + #: config/ia64/ia64.opt:98 + #, no-c-format + msgid "Generate inline square root, optimize for throughput." +-msgstr "Генерувати вбудований квадратний корінь, оптимізувати для пропускної здатності." ++msgstr "" + + #: config/ia64/ia64.opt:102 + #, no-c-format + msgid "Do not inline square root." +-msgstr "Не генерувати вбудований квадратний корінь." ++msgstr "" + + #: config/ia64/ia64.opt:106 + #, no-c-format + msgid "Enable DWARF line debug info via GNU as." +-msgstr "Увімкнути інформацію про відлагодження рядків DWARF через GNU as." ++msgstr "" + + #: config/ia64/ia64.opt:110 + #, no-c-format + msgid "Enable earlier placing stop bits for better scheduling." +-msgstr "Увімкнути раніше розміщення стоп-бітів для кращого планування." ++msgstr "" + + #: config/ia64/ia64.opt:114 config/pa/pa.opt:70 config/sh/sh.opt:227 + #, no-c-format + msgid "Specify range of registers to make fixed." +-msgstr "Вказати діапазон регістрів, які потрібно зафіксувати." ++msgstr "" + + #: config/ia64/ia64.opt:118 config/alpha/alpha.opt:130 + #, no-c-format + msgid "Specify bit size of immediate TLS offsets." +-msgstr "Вказати розмір бітів негайних зміщень TLS." ++msgstr "" + + #: config/ia64/ia64.opt:122 config/i386/i386.opt:527 config/s390/s390.opt:203 + #: config/sparc/sparc.opt:146 config/visium/visium.opt:49 + #, no-c-format + msgid "Schedule code for given CPU." +-msgstr "Розклад коду для вказаного процесора." ++msgstr "" + + #: config/ia64/ia64.opt:126 + #, no-c-format + msgid "Known Itanium CPUs (for use with the -mtune= option):" +-msgstr "Відомі процесори Itanium (для використання з опцією -mtune=):" ++msgstr "" + + #: config/ia64/ia64.opt:136 + #, no-c-format + msgid "Use data speculation before reload." +-msgstr "Використовувати спекуляцію даних перед перезавантаженням." ++msgstr "" + + #: config/ia64/ia64.opt:140 + #, no-c-format + msgid "Use data speculation after reload." +-msgstr "Використовувати спекуляцію даних після перезавантаження." ++msgstr "" + + #: config/ia64/ia64.opt:144 + #, no-c-format + msgid "Use control speculation." +-msgstr "Використовувати спекуляцію управління." ++msgstr "" + + #: config/ia64/ia64.opt:148 + #, no-c-format + msgid "Use in block data speculation before reload." +-msgstr "Використовувати спекуляцію даних у блоках перед перезавантаженням." ++msgstr "" + + #: config/ia64/ia64.opt:152 + #, no-c-format + msgid "Use in block data speculation after reload." +-msgstr "Використовувати спекуляцію даних у блоках після перезавантаження." ++msgstr "" + + #: config/ia64/ia64.opt:156 + #, no-c-format + msgid "Use in block control speculation." +-msgstr "Використовувати спекуляцію контролю в блоках." ++msgstr "" + + #: config/ia64/ia64.opt:160 + #, no-c-format + msgid "Use simple data speculation check." +-msgstr "Використовувати просту перевірку спекуляції даних." ++msgstr "" + + #: config/ia64/ia64.opt:164 + #, no-c-format + msgid "Use simple data speculation check for control speculation." +-msgstr "Використовувати просту перевірку спекуляції даних для спекуляції контролю." ++msgstr "" + + #: config/ia64/ia64.opt:174 + #, no-c-format + msgid "Count speculative dependencies while calculating priority of instructions." +-msgstr "Підраховувати спекулятивні залежності під час обчислення пріоритету інструкцій." ++msgstr "" + + #: config/ia64/ia64.opt:178 + #, no-c-format + msgid "Place a stop bit after every cycle when scheduling." +-msgstr "Розміщувати біт зупинки після кожного циклу при плануванні." ++msgstr "" + + #: config/ia64/ia64.opt:182 + #, no-c-format + msgid "Assume that floating-point stores and loads are not likely to cause conflict when placed into one instruction group." +-msgstr "Припускати, що збереження та завантаження чисел з рухомою комою, ймовірно, не спричинять конфлікт, якщо вони розміщені в одній групі інструкцій." ++msgstr "" + + #: config/ia64/ia64.opt:186 + #, no-c-format + msgid "Soft limit on number of memory insns per instruction group, giving lower priority to subsequent memory insns attempting to schedule in the same insn group. Frequently useful to prevent cache bank conflicts. Default value is 1." +-msgstr "Мʼякий ліміт на кількість памʼяті insns на групу інструкцій, надаючи нижчий пріоритет наступним памʼяті insns, які намагаються розкладати в тій же групі insn. Часто корисно, щоб уникнути конфліктів у кеш-памʼяті. Значення за замовчуванням - 1." ++msgstr "" + + #: config/ia64/ia64.opt:190 + #, no-c-format + msgid "Disallow more than 'msched-max-memory-insns' in instruction group. Otherwise, limit is 'soft' (prefer non-memory operations when limit is reached)." +-msgstr "Заборонити більше, ніж 'msched-max-memory-insns' в групі інструкцій. В іншому випадку, ліміт є 'мʼяким' (віддають перевагу операціям без памʼяті, коли досягнуто ліміту)." ++msgstr "" + + #: config/ia64/ia64.opt:194 + #, no-c-format + msgid "Don't generate checks for control speculation in selective scheduling." +-msgstr "Не генерувати перевірки для контролю спекуляції в селективному плануванні." ++msgstr "" + + #: config/epiphany/epiphany.opt:24 + #, no-c-format + msgid "Don't use any of r32..r63." +-msgstr "Не використовувати жодного з r32..r63." ++msgstr "" + + #: config/epiphany/epiphany.opt:28 + #, no-c-format + msgid "Preferentially allocate registers that allow short instruction generation." +-msgstr "Перевага надається реєстрам, які дозволяють генерувати короткі інструкції." ++msgstr "" + + #: config/epiphany/epiphany.opt:32 + #, no-c-format + msgid "Set branch cost." +-msgstr "Встановити вартість гілки." ++msgstr "" + + #: config/epiphany/epiphany.opt:36 + #, no-c-format + msgid "Enable conditional move instruction usage." +-msgstr "Увімкнути використання умовних команд переміщення." ++msgstr "Увімкнути використання інструкцій із умовного пересування." + + #: config/epiphany/epiphany.opt:40 + #, no-c-format + msgid "Set number of nops to emit before each insn pattern." +-msgstr "Встановити кількість nop-інструкцій, які випускаються перед кожним шаблоном інструкцій." ++msgstr "" + + #: config/epiphany/epiphany.opt:52 + #, no-c-format + msgid "Use software floating point comparisons." +-msgstr "Використовувати програмне порівняння з плаваючою комою." ++msgstr "" + + #: config/epiphany/epiphany.opt:56 + #, no-c-format + msgid "Enable split of 32 bit immediate loads into low / high part." +-msgstr "Увімкнути розбиття 32-бітних негайних завантажень на нижню / верхню частину." ++msgstr "" + + #: config/epiphany/epiphany.opt:60 + #, no-c-format + msgid "Enable use of POST_INC / POST_DEC." +-msgstr "Увімкнути використання POST_INC / POST_DEC." ++msgstr "" + + #: config/epiphany/epiphany.opt:64 + #, no-c-format + msgid "Enable use of POST_MODIFY." +-msgstr "Увімкнути використання POST_MODIFY." ++msgstr "" + + #: config/epiphany/epiphany.opt:68 + #, no-c-format + msgid "Set number of bytes on the stack preallocated for use by the callee." +-msgstr "Встановити кількість байтів на стеку, які передбачені для використання викликаючим." ++msgstr "" + + #: config/epiphany/epiphany.opt:72 + #, no-c-format + msgid "Assume round to nearest is selected for purposes of scheduling." +-msgstr "Припускається, що вибрано округлення до найближчого значення для планування." ++msgstr "" + + #: config/epiphany/epiphany.opt:76 + #, no-c-format + msgid "Generate call insns as indirect calls." +-msgstr "Генерувати виклики інструкцій як непрямі виклики." ++msgstr "" + + #: config/epiphany/epiphany.opt:80 + #, no-c-format + msgid "Generate call insns as direct calls." +-msgstr "Генерувати виклики інструкцій як прямі виклики." ++msgstr "" + + #: config/epiphany/epiphany.opt:84 + #, no-c-format + msgid "Assume labels and symbols can be addressed using 16 bit absolute addresses." +-msgstr "Припускається, що мітки та символи можуть бути адресовані за допомогою абсолютних адрес 16 біт." ++msgstr "" + + #: config/epiphany/epiphany.opt:108 + #, no-c-format + msgid "A floatig point to integer truncation may be replaced with rounding to save mode switching." +-msgstr "Обрізання з плаваючої точки до цілого числа може бути замінено округленням для збереження перемикання режимів." ++msgstr "" + + #: config/epiphany/epiphany.opt:112 + #, no-c-format + msgid "Vectorize for double-word operations." +-msgstr "Векторизувати для операцій з подвійним словом." ++msgstr "" + + #: config/epiphany/epiphany.opt:128 + #, no-c-format + msgid "Split unaligned 8 byte vector moves before post-modify address generation." +-msgstr "Розбити незбалансовані переміщення векторів довжиною 8 байт перед генерацією адреси після модифікації." ++msgstr "" + + #: config/epiphany/epiphany.opt:132 + #, no-c-format + msgid "Use the floating point unit for integer add/subtract." +-msgstr "Використовуйте рухому кому для додавання / віднімання цілочисельних." ++msgstr "" + + #: config/epiphany/epiphany.opt:136 + #, no-c-format + msgid "Set register to hold -1." +-msgstr "Встановити регістр для зберігання -1." ++msgstr "" + + #: config/ft32/ft32.opt:23 + #, no-c-format + msgid "Target the software simulator." +-msgstr "Спрямовуйте на програмний симулятор." ++msgstr "" + + #: config/ft32/ft32.opt:27 config/s390/s390.opt:234 config/mips/mips.opt:393 + #: config/arc/arc.opt:405 + #, no-c-format + msgid "Use LRA instead of reload." +-msgstr "Використовуйте LRA замість перезавантаження." ++msgstr "" + + #: config/ft32/ft32.opt:31 + #, no-c-format + msgid "Avoid use of the DIV and MOD instructions." +-msgstr "Уникайте використання інструкцій DIV і MOD." ++msgstr "" + + #: config/ft32/ft32.opt:35 + #, no-c-format + msgid "Target the FT32B architecture." +-msgstr "Спрямовуйте на архітектуру FT32B." ++msgstr "" + + #: config/ft32/ft32.opt:39 + #, no-c-format + msgid "Enable FT32B code compression." +-msgstr "Увімкнути стиснення коду FT32B." ++msgstr "Увімкнути стискання коду FT32B." + + #: config/ft32/ft32.opt:43 + #, no-c-format + msgid "Avoid placing any readable data in program memory." +-msgstr "Уникати розміщення будь-яких даних, придатних для читання, в памʼяті програми." ++msgstr "" + + #: config/h8300/h8300.opt:23 + #, no-c-format + msgid "Generate H8S code." +-msgstr "Створити код H8S." ++msgstr "" + + #: config/h8300/h8300.opt:27 + #, no-c-format + msgid "Generate H8SX code." +-msgstr "Створити код H8SX." ++msgstr "" + + #: config/h8300/h8300.opt:31 + #, no-c-format + msgid "Generate H8S/2600 code." +-msgstr "Створити код H8S/2600." ++msgstr "" + + #: config/h8300/h8300.opt:35 + #, no-c-format + msgid "Make integers 32 bits wide." +-msgstr "Зробити цілі числа шириною 32 біти." ++msgstr "" + + #: config/h8300/h8300.opt:42 + #, no-c-format + msgid "Use registers for argument passing." +-msgstr "Використовувати регістри для передачі аргументів." ++msgstr "" + + #: config/h8300/h8300.opt:46 + #, no-c-format + msgid "Consider access to byte sized memory slow." +-msgstr "Вважати доступ до памʼяті розміром в байти повільним." ++msgstr "" + + #: config/h8300/h8300.opt:50 + #, no-c-format + msgid "Enable linker relaxing." +-msgstr "Увімкнути розслаблення лінкера." ++msgstr "" + + #: config/h8300/h8300.opt:54 + #, no-c-format + msgid "Generate H8/300H code." +-msgstr "Генерувати код H8/300H." ++msgstr "" + + #: config/h8300/h8300.opt:58 + #, no-c-format + msgid "Enable the normal mode." +-msgstr "Увімкнути нормальний режим." ++msgstr "" + + #: config/h8300/h8300.opt:62 + #, no-c-format + msgid "Use H8/300 alignment rules." +-msgstr "Використовувати правила вирівнювання H8/300." ++msgstr "" + + #: config/h8300/h8300.opt:66 + #, no-c-format + msgid "Push extended registers on stack in monitor functions." +-msgstr "Помістити розширені регістри у стек у функціях моніторингу." ++msgstr "" + + #: config/h8300/h8300.opt:70 + #, no-c-format + msgid "Do not push extended registers on stack in monitor functions." +-msgstr "Не поміщати розширені регістри у стек у функціях моніторингу." ++msgstr "" + + #: config/pru/pru.opt:31 + #, no-c-format + msgid "-mmcu=MCU\tSelect the target System-On-Chip variant that embeds this PRU." +-msgstr "-mmcu=МКП\tВиберати цільовий варіант системи-на-кристалі, який вбудовує цю PRU." ++msgstr "" + + #: config/pru/pru.opt:35 + #, no-c-format + msgid "Make GCC pass the --no-relax command-line option to the linker instead of the --relax option." +-msgstr "Змусити GCC передавати опцію командного рядка --no-relax лінкеру замість опції --relax." ++msgstr "" + + #: config/pru/pru.opt:40 + #, no-c-format + msgid "Allow (or do not allow) gcc to use the LOOP instruction." +-msgstr "Дозволити (або не дозволяти) gcc використовувати інструкцію LOOP." ++msgstr "" + + #: config/pru/pru.opt:44 + #, no-c-format + msgid "Select target ABI variant." +-msgstr "Виберати варіант цільового ABI." ++msgstr "" + + #: config/pru/pru.opt:48 + #, no-c-format + msgid "ABI variant code generation (for use with -mabi= option):" +-msgstr "Генерація коду для варіанту ABI (для використання з опцією -mabi=):" ++msgstr "" + + #: config/pdp11/pdp11.opt:23 + #, no-c-format + msgid "Generate code for an 11/10." +-msgstr "Генерувати код для 11/10." ++msgstr "" + + #: config/pdp11/pdp11.opt:27 + #, no-c-format + msgid "Generate code for an 11/40." +-msgstr "Створити код для 11/40." ++msgstr "" + + #: config/pdp11/pdp11.opt:31 + #, no-c-format + msgid "Generate code for an 11/45." +-msgstr "Створити код для 11/45." ++msgstr "" + + #: config/pdp11/pdp11.opt:35 + #, no-c-format + msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)." +-msgstr "Повертати результати з плаваючою комою в ac0 (fr0 в синтаксисі асемблера Unix)." ++msgstr "" + + #: config/pdp11/pdp11.opt:39 + #, no-c-format + msgid "Use the DEC assembler syntax." +-msgstr "Використовувати синтаксис асемблера DEC." ++msgstr "" + + #: config/pdp11/pdp11.opt:43 + #, no-c-format + msgid "Use the GNU assembler syntax." +-msgstr "Використовувати синтаксис асемблера GNU." ++msgstr "" + + #: config/pdp11/pdp11.opt:47 config/rs6000/rs6000.opt:183 + #: config/frv/frv.opt:158 + #, no-c-format + msgid "Use hardware floating point." +-msgstr "Використовувати апаратне з плаваючою комою." ++msgstr "" + + #: config/pdp11/pdp11.opt:51 + #, no-c-format + msgid "Use 16 bit int." +-msgstr "Використовувати 16-бітне ціле." ++msgstr "" + + #: config/pdp11/pdp11.opt:55 + #, no-c-format + msgid "Use 32 bit int." +-msgstr "Використовуйте 32-бітні цілі числа." ++msgstr "" + + #: config/pdp11/pdp11.opt:59 config/rs6000/rs6000.opt:179 + #, no-c-format + msgid "Do not use hardware floating point." +-msgstr "Не використовуйте апаратне з плаваючою комою." ++msgstr "" + + #: config/pdp11/pdp11.opt:63 + #, no-c-format + msgid "Target has split I&D." +-msgstr "Ціль має розділення I&D." ++msgstr "" + + #: config/pdp11/pdp11.opt:67 + #, no-c-format + msgid "Use UNIX assembler syntax." +-msgstr "Використати синтаксис асемблера UNIX." ++msgstr "" + + #: config/pdp11/pdp11.opt:71 + #, no-c-format + msgid "Use LRA register allocator." +-msgstr "Використати реєстровий алокатор LRA." ++msgstr "" + + #: config/xtensa/xtensa.opt:23 + #, no-c-format + msgid "Use CONST16 instruction to load constants." +-msgstr "Використати інструкцію CONST16 для завантаження констант." ++msgstr "" + + #: config/xtensa/xtensa.opt:27 + #, no-c-format + msgid "Disable position-independent code (PIC) for use in OS kernel code." +-msgstr "Вимкнути незалежний від положення код (PIC) для використання в коді ядра ОС." ++msgstr "" + + #: config/xtensa/xtensa.opt:31 + #, no-c-format + msgid "Use indirect CALLXn instructions for large programs." +-msgstr "Використати непрямі інструкції CALLXn для великих програм." ++msgstr "" + + #: config/xtensa/xtensa.opt:35 + #, no-c-format + msgid "Set extra memory access cost for L32R instruction, in clock-cycle units." +-msgstr "Встановити додаткові витрати на доступ до памʼяті для інструкції L32R, в одиницях тактового циклу." ++msgstr "" + + #: config/xtensa/xtensa.opt:39 config/sh/sh.opt:303 + #, no-c-format + msgid "Use LRA instead of reload (transitional)." +-msgstr "Використовуйте LRA замість перезавантаження (перехідний)." ++msgstr "" + + #: config/xtensa/xtensa.opt:43 + #, no-c-format + msgid "Automatically align branch targets to reduce branch penalties." +-msgstr "Автоматично вирівнювати цілі гілок, щоб зменшити штрафи за гілки." ++msgstr "" + + #: config/xtensa/xtensa.opt:47 + #, no-c-format + msgid "Intersperse literal pools with code in the text section." +-msgstr "Вставляти літеральні пули з кодом в розділі тексту." ++msgstr "" + + #: config/xtensa/xtensa.opt:51 + #, no-c-format + msgid "Relax literals in assembler and place them automatically in the text section." +-msgstr "Розслабити літерали в асемблері та автоматично розмістити їх у розділі тексту." ++msgstr "" + + #: config/xtensa/xtensa.opt:55 + #, no-c-format + msgid "-mno-serialize-volatile\tDo not serialize volatile memory references with MEMW instructions." +-msgstr "-mno-serialize-volatile\tНе серіалізувати волатильні посилання на памʼять з інструкціями MEMW." ++msgstr "" + + #: config/xtensa/xtensa.opt:62 + #, no-c-format + msgid "Use call0 ABI." +-msgstr "Використовувати ABI call0." ++msgstr "" + + #: config/xtensa/xtensa.opt:66 + #, no-c-format + msgid "Use windowed registers ABI." +-msgstr "Використовувати ABI з віконними регістрами." ++msgstr "Використовувати бінарний інтерфейс із віконними регістрами." + + #: config/i386/cygming.opt:23 + #, no-c-format + msgid "Create console application." +-msgstr "Створити консольний додаток." ++msgstr "" + + #: config/i386/cygming.opt:27 + #, no-c-format + msgid "Generate code for a DLL." +-msgstr "Генерувати код для DLL." ++msgstr "" + + #: config/i386/cygming.opt:31 + #, no-c-format + msgid "Ignore dllimport for functions." +-msgstr "Ігнорувати dllimport для функцій." ++msgstr "" + + #: config/i386/cygming.opt:35 + #, no-c-format + msgid "Use Mingw-specific thread support." +-msgstr "Використовувати специфічну для Mingw підтримку потоків." ++msgstr "" + + #: config/i386/cygming.opt:39 + #, no-c-format + msgid "Set Windows defines." +-msgstr "Встановити визначення для Windows." ++msgstr "" + + #: config/i386/cygming.opt:43 + #, no-c-format + msgid "Create GUI application." +-msgstr "Створити GUI-додаток." ++msgstr "" + + #: config/i386/cygming.opt:47 + #, no-c-format + msgid "Use the GNU extension to the PE format for aligned common data." +-msgstr "Використовувати розширення GNU для формату PE для вирівняних загальних даних." ++msgstr "" + + #: config/i386/cygming.opt:51 + #, no-c-format + msgid "Compile code that relies on Cygwin DLL wrappers to support C++ operator new/delete replacement." +-msgstr "Компілювати код, який покладається на обгортки DLL Cygwin для підтримки заміни оператора new/delete C++." ++msgstr "" + + #: config/i386/cygming.opt:55 + #, no-c-format + msgid "For nested functions on stack executable permission is set." +-msgstr "Для вкладених функцій на стеку встановлено дозвіл на виконання." ++msgstr "" + + #: config/i386/cygming.opt:62 + #, no-c-format + msgid "Put relocated read-only data into .data section." +-msgstr "Помістити переміщені дані тільки для читання в розділ .data." ++msgstr "" + + #: config/i386/mingw.opt:29 + #, no-c-format + msgid "Warn about none ISO msvcrt scanf/printf width extensions." +-msgstr "Попереджати про відсутність розширень ширини scanf/printf msvcrt ISO." ++msgstr "" + + #: config/i386/mingw-w64.opt:23 + #, no-c-format + msgid "Use unicode startup and define UNICODE macro." +-msgstr "Використовувати запуск у кодуванні Unicode та визначити макрос UNICODE." ++msgstr "" + + #: config/i386/i386.opt:198 + #, no-c-format + msgid "sizeof(long double) is 16." +-msgstr "sizeof(long double) дорівнює 16." ++msgstr "" + + #: config/i386/i386.opt:202 config/i386/i386.opt:370 + #, no-c-format + msgid "Use hardware fp." +-msgstr "Використовувати апаратне засіб fp." ++msgstr "" + + #: config/i386/i386.opt:206 + #, no-c-format + msgid "sizeof(long double) is 12." +-msgstr "sizeof(long double) дорівнює 12." ++msgstr "" + + #: config/i386/i386.opt:210 + #, no-c-format + msgid "Use 80-bit long double." +-msgstr "Використовувати 80-бітний long double." ++msgstr "" + + #: config/i386/i386.opt:214 config/s390/s390.opt:163 + #: config/sparc/long-double-switch.opt:27 config/alpha/alpha.opt:102 + #, no-c-format + msgid "Use 64-bit long double." +-msgstr "Використовуйте 64-бітний long double." ++msgstr "" + + #: config/i386/i386.opt:218 config/s390/s390.opt:159 + #: config/sparc/long-double-switch.opt:23 config/alpha/alpha.opt:98 + #, no-c-format + msgid "Use 128-bit long double." +-msgstr "Використовуйте 128-бітний long double." ++msgstr "" + + #: config/i386/i386.opt:222 config/sh/sh.opt:179 + #, no-c-format + msgid "Reserve space for outgoing arguments in the function prologue." +-msgstr "Зарезервуйте місце для вихідних аргументів у прологу функції." ++msgstr "" + + #: config/i386/i386.opt:226 + #, no-c-format + msgid "Align some doubles on dword boundary." +-msgstr "Вирівняйте деякі числа з плаваючою комою на границі dword." ++msgstr "" + + #: config/i386/i386.opt:230 + #, no-c-format + msgid "Function starts are aligned to this power of 2." +-msgstr "Початки функцій вирівнюються за цією степенем числа 2." ++msgstr "" + + #: config/i386/i386.opt:234 + #, no-c-format + msgid "Jump targets are aligned to this power of 2." +-msgstr "Цілі переходів вирівнюються за цією степенем числа 2." ++msgstr "" + + #: config/i386/i386.opt:238 + #, no-c-format + msgid "Loop code aligned to this power of 2." +-msgstr "Код циклів вирівнюється за цією степенем числа 2." ++msgstr "" + + #: config/i386/i386.opt:242 + #, no-c-format + msgid "Align destination of the string operations." +-msgstr "Вирівняйте призначення операцій з рядками." ++msgstr "" + + #: config/i386/i386.opt:263 config/s390/s390.opt:56 + #, no-c-format + msgid "Generate code for given CPU." +-msgstr "Створити код для вказаного процесора." ++msgstr "" + + #: config/i386/i386.opt:267 + #, no-c-format + msgid "Use given assembler dialect." +-msgstr "Використовуйте вказаний діалект асемблера." ++msgstr "" + + #: config/i386/i386.opt:271 + #, no-c-format + msgid "Known assembler dialects (for use with the -masm= option):" +-msgstr "Відомі діалекти асемблера (для використання з опцією -masm=):" ++msgstr "" + + #: config/i386/i386.opt:281 + #, no-c-format + msgid "Branches are this expensive (arbitrary units)." +-msgstr "Гілки коштують так дорого (довільні одиниці)." ++msgstr "" + + #: config/i386/i386.opt:285 + #, no-c-format + msgid "-mlarge-data-threshold=\tData greater than given threshold will go into .ldata section in x86-64 medium model." +-msgstr "-mlarge-data-threshold=<число>\tДані, більші за вказаний поріг, будуть розміщені в розділі .ldata в середньому моделі x86-64." ++msgstr "" + + #: config/i386/i386.opt:289 + #, no-c-format + msgid "Use given x86-64 code model." +-msgstr "Використовуйте вказану модель коду x86-64." ++msgstr "" + + #: config/i386/i386.opt:312 + #, no-c-format + msgid "Use given address mode." +-msgstr "Використовуйте вказаний режим адреси." ++msgstr "Використовувати вказаний режим адресування." + + #: config/i386/i386.opt:316 + #, no-c-format + msgid "Known address mode (for use with the -maddress-mode= option):" +-msgstr "Відомі режими адреси (для використання з опцією -maddress-mode=):" ++msgstr "" + + #: config/i386/i386.opt:329 + #, no-c-format + msgid "Generate sin, cos, sqrt for FPU." +-msgstr "Генерувати sin, cos, sqrt для FPU." ++msgstr "" + + #: config/i386/i386.opt:333 + #, no-c-format + msgid "Always use Dynamic Realigned Argument Pointer (DRAP) to realign stack." +-msgstr "Завжди використовуйте Dynamic Realigned Argument Pointer (DRAP) для переустановки стеку." ++msgstr "" + + #: config/i386/i386.opt:337 + #, no-c-format + msgid "Return values of functions in FPU registers." +-msgstr "Повертати значення функцій у регістрах FPU." ++msgstr "" + + #: config/i386/i386.opt:341 + #, no-c-format + msgid "Generate floating point mathematics using given instruction set." +-msgstr "Генерувати операції з плаваючою комою за допомогою заданого набору інструкцій." ++msgstr "" + + #: config/i386/i386.opt:345 + #, no-c-format + msgid "Valid arguments to -mfpmath=:" +-msgstr "Допустимі аргументи для -mfpmath=:" ++msgstr "" + + #: config/i386/i386.opt:378 + #, no-c-format + msgid "Inline all known string operations." +-msgstr "Вбудовувати всі відомі операції з рядками." ++msgstr "" + + #: config/i386/i386.opt:382 + #, no-c-format + msgid "Inline memset/memcpy string operations, but perform inline version only for small blocks." +-msgstr "Вбудовувати операції з рядками memset/memcpy, але виконувати вбудовану версію тільки для невеликих блоків." ++msgstr "" + + #: config/i386/i386.opt:389 + #, no-c-format + msgid "Use native (MS) bitfield layout." +-msgstr "Використовувати власну (MS) структуру бітових полів." ++msgstr "" + + #: config/i386/i386.opt:409 + #, no-c-format + msgid "Relax cmpxchg loop for atomic_fetch_{or,xor,and,nand} by adding load and cmp before cmpxchg, execute pause and loop back to load and compare if load value is not expected." +-msgstr "Розслабити цикл cmpxchg для atomic_fetch_{or,xor,and,nand} шляхом додавання завантаження та порівняння перед cmpxchg, виконати паузу та повернутися до завантаження та порівняння, якщо значення завантаження неочікуване." ++msgstr "" + + #: config/i386/i386.opt:413 + #, no-c-format + msgid "Set 80387 floating-point precision to 32-bit." +-msgstr "Встановити точність плаваючої коми 80387 на 32 біти." ++msgstr "" + + #: config/i386/i386.opt:417 + #, no-c-format + msgid "Set 80387 floating-point precision to 64-bit." +-msgstr "Встановити точність плаваючої коми 80387 на 64 біти." ++msgstr "" + + #: config/i386/i386.opt:421 + #, no-c-format + msgid "Set 80387 floating-point precision to 80-bit." +-msgstr "Встановити точність плаваючої коми 80387 на 80 біт." ++msgstr "" + + #: config/i386/i386.opt:425 + #, no-c-format + msgid "Set the FTZ and DAZ Flags." +-msgstr "Встановити прапорці FTZ та DAZ." ++msgstr "" + + #: config/i386/i386.opt:433 + #, no-c-format + msgid "Assume incoming stack aligned to this power of 2." +-msgstr "Припустити, що вхідний стек вирівняний за цією степенем числа 2." ++msgstr "" + + #: config/i386/i386.opt:437 + #, no-c-format + msgid "Use push instructions to save outgoing arguments." +-msgstr "Використовуйте інструкції push для збереження вихідних аргументів." ++msgstr "" + + #: config/i386/i386.opt:441 + #, no-c-format + msgid "Use red-zone in the x86-64 code." +-msgstr "Використовуйте червону зону в коді x86-64." ++msgstr "" + + #: config/i386/i386.opt:445 + #, no-c-format + msgid "Number of registers used to pass integer arguments." +-msgstr "Кількість регістрів, використовуваних для передачі цілих аргументів." ++msgstr "" + + #: config/i386/i386.opt:449 + #, no-c-format + msgid "Alternate calling convention." +-msgstr "Альтернативна конвенція виклику." ++msgstr "" + + #: config/i386/i386.opt:453 config/alpha/alpha.opt:23 + #, no-c-format + msgid "Do not use hardware fp." +-msgstr "Не використовуйте апаратний fp." ++msgstr "" + + #: config/i386/i386.opt:457 + #, no-c-format + msgid "Use SSE register passing conventions for SF and DF mode." +-msgstr "Використовуйте конвенції передачі регістрів SSE для режиму SF і DF." ++msgstr "" + + #: config/i386/i386.opt:461 + #, no-c-format + msgid "Realign stack in prologue." +-msgstr "Переналаштуйте стек у прологу." ++msgstr "" + + #: config/i386/i386.opt:465 + #, no-c-format + msgid "Enable stack probing." +-msgstr "Увімкнути перевірку стеку." ++msgstr "" + + #: config/i386/i386.opt:469 + #, no-c-format + msgid "Specify memcpy expansion strategy when expected size is known." +-msgstr "Вказати стратегію розширення memcpy, коли відомий очікуваний розмір." ++msgstr "" + + #: config/i386/i386.opt:473 + #, no-c-format + msgid "Specify memset expansion strategy when expected size is known." +-msgstr "Вказати стратегію розширення memset, коли відомий очікуваний розмір." ++msgstr "" + + #: config/i386/i386.opt:477 + #, no-c-format + msgid "Chose strategy to generate stringop using." +-msgstr "Виберати стратегію для генерації stringop." ++msgstr "" + + #: config/i386/i386.opt:481 + #, no-c-format + msgid "Valid arguments to -mstringop-strategy=:" +-msgstr "Дійсні аргументи для -mstringop-strategy=." ++msgstr "" + + #: config/i386/i386.opt:509 + #, no-c-format + msgid "Use given thread-local storage dialect." +-msgstr "Використовуйте заданий діалект локального сховища потоків." ++msgstr "" + + #: config/i386/i386.opt:513 + #, no-c-format + msgid "Known TLS dialects (for use with the -mtls-dialect= option):" +-msgstr "Відомі діалекти TLS (для використання з опцією -mtls-dialect=):" ++msgstr "" + + #: config/i386/i386.opt:523 + #, no-c-format + msgid "Use direct references against %gs when accessing tls data." +-msgstr "Використовуйте прямі посилання на %gs при доступі до даних tls." ++msgstr "" + + #: config/i386/i386.opt:531 + #, no-c-format + msgid "Fine grain control of tune features." +-msgstr "Детальне керування функціями настрою." ++msgstr "" + + #: config/i386/i386.opt:535 + #, no-c-format + msgid "Clear all tune features." +-msgstr "Очистити всі функції настрою." ++msgstr "" + + #: config/i386/i386.opt:542 + #, no-c-format + msgid "Generate code that conforms to Intel MCU psABI." +-msgstr "Генерувати код, який відповідає Intel MCU psABI." ++msgstr "" + + #: config/i386/i386.opt:546 + #, no-c-format + msgid "Generate code that conforms to the given ABI." +-msgstr "Генерувати код, який відповідає заданому ABI." ++msgstr "" + + #: config/i386/i386.opt:550 config/nds32/nds32.opt:51 + #, no-c-format + msgid "Known ABIs (for use with the -mabi= option):" +-msgstr "Відомі ABIs (для використання з опцією -mabi=)." ++msgstr "" + + #: config/i386/i386.opt:560 + #, no-c-format + msgid "Use libgcc stubs to save and restore registers clobbered by 64-bit Microsoft to System V ABI calls." +-msgstr "Використовуйте заглушки libgcc для збереження та відновлення регістрів, які пошкоджуються викликами 64-бітного Microsoft до System V ABI." ++msgstr "" + + #: config/i386/i386.opt:564 config/rs6000/rs6000.opt:195 + #, no-c-format + msgid "Vector library ABI to use." +-msgstr "ABI векторної бібліотеки, яку слід використовувати." ++msgstr "" + + #: config/i386/i386.opt:568 + #, no-c-format + msgid "Known vectorization library ABIs (for use with the -mveclibabi= option):" +-msgstr "Відомі ABI векторизаційних бібліотек (для використання з опцією -mveclibabi=):" ++msgstr "" + + #: config/i386/i386.opt:578 + #, no-c-format + msgid "Return 8-byte vectors in memory." +-msgstr "Повертати 8-байтові вектори в памʼяті." ++msgstr "" + + #: config/i386/i386.opt:582 + #, no-c-format + msgid "Generate reciprocals instead of divss and sqrtss." +-msgstr "Генерувати обернені значення замість divss і sqrtss." ++msgstr "" + + #: config/i386/i386.opt:586 + #, no-c-format + msgid "Control generation of reciprocal estimates." +-msgstr "Контролювати генерацію оцінок обернених значень." ++msgstr "" + + #: config/i386/i386.opt:590 + #, no-c-format + msgid "Generate cld instruction in the function prologue." +-msgstr "Генерувати інструкцію cld у прологу функції." ++msgstr "" + + #: config/i386/i386.opt:594 + #, no-c-format + msgid "Generate vzeroupper instruction before a transfer of control flow out of the function." +-msgstr "Генерувати інструкцію vzeroupper перед передачею потоку керування з функції." ++msgstr "" + + #: config/i386/i386.opt:599 + #, no-c-format + msgid "Disable Scalar to Vector optimization pass transforming 64-bit integer computations into a vector ones." +-msgstr "Вимкнути прохід Scalar to Vector оптимізації, який перетворює обчислення 64-бітних цілочисельних у векторні." ++msgstr "" + + #: config/i386/i386.opt:604 + #, no-c-format + msgid "The maximum number of use and def visits when discovering a STV chain before the discovery is aborted." +-msgstr "Максимальна кількість відвідувань use та def при виявленні ланцюга STV перед припиненням виявлення." ++msgstr "" + + #: config/i386/i386.opt:608 + #, no-c-format + msgid "Do dispatch scheduling if processor is bdver1, bdver2, bdver3, bdver4 or znver1 and Haifa scheduling is selected." +-msgstr "Виконувати планування розподілу, якщо процесор bdver1, bdver2, bdver3, bdver4 або znver1, і вибране планування Haifa." ++msgstr "" + + #: config/i386/i386.opt:613 + #, no-c-format + msgid "Use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-vectorizer." +-msgstr "Використовувати 128-бітні AVX-інструкції замість 256-бітних AVX-інструкцій у автоматичному векторизаторі." ++msgstr "" + + #: config/i386/i386.opt:617 + #, no-c-format + msgid "Use given register vector width instructions instead of maximum register width in the auto-vectorizer." +-msgstr "Використовувати задані інструкції ширини вектора регістра замість максимальної ширини регістра в автоматичному векторизаторі." ++msgstr "" + + #: config/i386/i386.opt:621 + #, no-c-format + msgid "Known preferred register vector length (to use with the -mprefer-vector-width= option):" +-msgstr "Відома бажана довжина вектора регістра (для використання з опцією -mprefer-vector-width=):" ++msgstr "" + + #: config/i386/i386.opt:637 + #, no-c-format + msgid "Maximum number of bits that can be moved from memory to memory efficiently." +-msgstr "Максимальна кількість бітів, яку можна ефективно перемістити з памʼяті в памʼять." ++msgstr "" + + #: config/i386/i386.opt:641 + #, no-c-format + msgid "Maximum number of bits that can be stored to memory efficiently." +-msgstr "Максимальна кількість бітів, яку можна ефективно зберегти в памʼяті." ++msgstr "" + + #: config/i386/i386.opt:647 + #, no-c-format + msgid "Generate 32bit i386 code." +-msgstr "Генерувати 32-бітний код i386." ++msgstr "" + + #: config/i386/i386.opt:651 + #, no-c-format + msgid "Generate 64bit x86-64 code." +-msgstr "Генерувати 64-бітний код x86-64." ++msgstr "" + + #: config/i386/i386.opt:655 + #, no-c-format + msgid "Generate 32bit x86-64 code." +-msgstr "Генерувати 32-бітний код x86-64." ++msgstr "" + + #: config/i386/i386.opt:659 + #, no-c-format + msgid "Generate 16bit i386 code." +-msgstr "Генерувати 16-бітний код i386." ++msgstr "" + + #: config/i386/i386.opt:663 + #, no-c-format + msgid "Support MMX built-in functions." +-msgstr "Підтримка вбудованих функцій MMX." ++msgstr "" + + #: config/i386/i386.opt:667 + #, no-c-format + msgid "Support 3DNow! built-in functions." +-msgstr "Підтримка вбудованих функцій 3DNow!." ++msgstr "" + + #: config/i386/i386.opt:671 + #, no-c-format + msgid "Support Athlon 3Dnow! built-in functions." +-msgstr "Підтримка вбудованих функцій Athlon 3Dnow!" ++msgstr "" + + #: config/i386/i386.opt:675 + #, no-c-format + msgid "Support MMX and SSE built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій MMX і SSE та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:679 + #, no-c-format + msgid "Support MMX, SSE and SSE2 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій MMX, SSE і SSE2 та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:683 + #, no-c-format + msgid "Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій MMX, SSE, SSE2 і SSE3 та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:687 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3 та SSSE3." ++msgstr "" + + #: config/i386/i386.opt:691 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3 та SSE4.1." ++msgstr "" + + #: config/i386/i386.opt:695 config/i386/i386.opt:699 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 та SSE4.2." ++msgstr "" + + #: config/i386/i386.opt:703 + #, no-c-format + msgid "Do not support SSE4.1 and SSE4.2 built-in functions and code generation." +-msgstr "Не підтримується вбудованих функцій та генерація коду для SSE4.1 та SSE4.2." ++msgstr "" + + #: config/i386/i386.opt:711 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 та AVX." ++msgstr "" + + #: config/i386/i386.opt:715 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and AVX2 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX та AVX2." ++msgstr "" + + #: config/i386/i386.opt:719 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 та AVX512F." ++msgstr "" + + #: config/i386/i386.opt:723 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512PF built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F та AVX512PF." ++msgstr "" + + #: config/i386/i386.opt:727 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512ER built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F та AVX512ER." ++msgstr "" + + #: config/i386/i386.opt:731 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512CD built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F та AVX512CD." ++msgstr "" + + #: config/i386/i386.opt:735 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512DQ built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F та AVX512DQ." ++msgstr "" + + #: config/i386/i386.opt:739 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512BW built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F та AVX512BW." ++msgstr "" + + #: config/i386/i386.opt:743 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VL built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F та AVX512VL." ++msgstr "" + + #: config/i386/i386.opt:747 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512IFMA built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 та AVX512F і AVX512IFMA." ++msgstr "" + + #: config/i386/i386.opt:751 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VBMI built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 та AVX512F і AVX512VBMI." ++msgstr "" + + #: config/i386/i386.opt:755 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124FMAPS built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F та AVX5124FMAPS." ++msgstr "" + + #: config/i386/i386.opt:759 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124VNNIW built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F та AVX5124VNNIW." ++msgstr "" + + #: config/i386/i386.opt:763 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VPOPCNTDQ built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F та AVX512VPOPCNTDQ." ++msgstr "" + + #: config/i386/i386.opt:767 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VBMI2 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F та AVX512VBMI2." ++msgstr "" + + #: config/i386/i386.opt:771 + #, no-c-format + msgid "Support AVX512VNNI built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для AVX512VNNI." ++msgstr "" + + #: config/i386/i386.opt:775 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512BITALG built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F та AVX512BITALG." ++msgstr "" + + #: config/i386/i386.opt:779 + #, no-c-format + msgid "Support AVX512VP2INTERSECT built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для AVX512VP2INTERSECT." ++msgstr "" + + #: config/i386/i386.opt:783 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій і генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX і FMA." ++msgstr "" + + #: config/i386/i386.opt:787 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій і генерація коду для MMX, SSE, SSE2, SSE3 і SSE4A." ++msgstr "" + + #: config/i386/i386.opt:791 + #, no-c-format + msgid "Support FMA4 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій і генерація коду для FMA4." ++msgstr "" + + #: config/i386/i386.opt:795 + #, no-c-format + msgid "Support XOP built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій і генерація коду для XOP." ++msgstr "" + + #: config/i386/i386.opt:799 + #, no-c-format + msgid "Support LWP built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій і генерація коду для LWP." ++msgstr "" + + #: config/i386/i386.opt:803 + #, no-c-format + msgid "Support code generation of Advanced Bit Manipulation (ABM) instructions." +-msgstr "Підтримка генерації коду для команд розширеного побітового маніпулювання (ABM)." ++msgstr "" + + #: config/i386/i386.opt:807 + #, no-c-format + msgid "Support code generation of popcnt instruction." +-msgstr "Підтримка генерації коду для команди popcnt." ++msgstr "" + + #: config/i386/i386.opt:811 + #, no-c-format + msgid "Support PCONFIG built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій PCONFIG та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:815 + #, no-c-format + msgid "Support WBNOINVD built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій WBNOINVD та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:819 + #, no-c-format + msgid "Support PTWRITE built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій PTWRITE та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:823 + #, no-c-format + msgid "Support UINTR built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій UINTR та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:827 + #, no-c-format + msgid "Support SGX built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій SGX та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:831 + #, no-c-format + msgid "Support RDPID built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій RDPID та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:835 + #, no-c-format + msgid "Support GFNI built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій GFNI та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:839 + #, no-c-format + msgid "Support VAES built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій VAES та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:843 + #, no-c-format + msgid "Support VPCLMULQDQ built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій VPCLMULQDQ та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:847 + #, no-c-format + msgid "Support BMI built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій BMI та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:851 + #, no-c-format + msgid "Support BMI2 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій BMI2 та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:855 + #, no-c-format + msgid "Support LZCNT built-in function and code generation." +-msgstr "Підтримка вбудованої функції LZCNT та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:859 + #, no-c-format + msgid "Support Hardware Lock Elision prefixes." +-msgstr "Підтримка префіксів для апаратного усунення блокування." ++msgstr "" + + #: config/i386/i386.opt:863 + #, no-c-format + msgid "Support RDSEED instruction." +-msgstr "Підтримка інструкції RDSEED." ++msgstr "" + + #: config/i386/i386.opt:867 + #, no-c-format + msgid "Support PREFETCHW instruction." +-msgstr "Підтримка інструкції PREFETCHW." ++msgstr "" + + #: config/i386/i386.opt:871 + #, no-c-format + msgid "Support flag-preserving add-carry instructions." +-msgstr "Підтримка інструкцій збереження прапорців при додаванні з переносом." ++msgstr "" + + #: config/i386/i386.opt:875 + #, no-c-format + msgid "Support CLFLUSHOPT instructions." +-msgstr "Підтримка інструкцій CLFLUSHOPT." ++msgstr "" + + #: config/i386/i386.opt:879 + #, no-c-format + msgid "Support CLWB instruction." +-msgstr "Підтримка інструкції CLWB." ++msgstr "" + + #: config/i386/i386.opt:886 + #, no-c-format + msgid "Support FXSAVE and FXRSTOR instructions." +-msgstr "Підтримка інструкцій FXSAVE та FXRSTOR." ++msgstr "" + + #: config/i386/i386.opt:890 + #, no-c-format + msgid "Support XSAVE and XRSTOR instructions." +-msgstr "Підтримка інструкцій XSAVE та XRSTOR." ++msgstr "" + + #: config/i386/i386.opt:894 + #, no-c-format + msgid "Support XSAVEOPT instruction." +-msgstr "Підтримка інструкції XSAVEOPT." ++msgstr "" + + #: config/i386/i386.opt:898 + #, no-c-format + msgid "Support XSAVEC instructions." +-msgstr "Підтримка інструкцій XSAVEC." ++msgstr "" + + #: config/i386/i386.opt:902 + #, no-c-format + msgid "Support XSAVES and XRSTORS instructions." +-msgstr "Підтримка інструкцій XSAVES та XRSTORS." ++msgstr "" + + #: config/i386/i386.opt:906 + #, no-c-format + msgid "Support TBM built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій TBM та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:910 + #, no-c-format + msgid "Support code generation of cmpxchg16b instruction." +-msgstr "Підтримка генерації коду для інструкції cmpxchg16b." ++msgstr "" + + #: config/i386/i386.opt:914 + #, no-c-format + msgid "Support code generation of sahf instruction in 64bit x86-64 code." +-msgstr "Підтримка генерації коду для інструкції sahf в 64-бітовому x86-64 коді." ++msgstr "" + + #: config/i386/i386.opt:918 + #, no-c-format + msgid "Support code generation of movbe instruction." +-msgstr "Підтримка генерації коду для інструкції movbe." ++msgstr "" + + #: config/i386/i386.opt:922 + #, no-c-format + msgid "Support code generation of crc32 instruction." +-msgstr "Підтримка генерації коду для інструкції crc32." ++msgstr "" + + #: config/i386/i386.opt:926 + #, no-c-format + msgid "Support AES built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій AES та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:930 + #, no-c-format + msgid "Support SHA1 and SHA256 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій SHA1 та SHA256 та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:934 + #, no-c-format + msgid "Support PCLMUL built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій PCLMUL та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:938 + #, no-c-format + msgid "Encode SSE instructions with VEX prefix." +-msgstr "Кодування інструкцій SSE з префіксом VEX." ++msgstr "" + + #: config/i386/i386.opt:942 + #, no-c-format + msgid "Support FSGSBASE built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій FSGSBASE та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:946 + #, no-c-format + msgid "Support RDRND built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій RDRND та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:950 + #, no-c-format + msgid "Support F16C built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій F16C та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:954 + #, no-c-format + msgid "Support PREFETCHWT1 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій PREFETCHWT1 та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:958 + #, no-c-format + msgid "Emit profiling counter call at function entry before prologue." +-msgstr "Вивести виклик лічильника профілювання при вході в функцію перед прологом." ++msgstr "" + + #: config/i386/i386.opt:962 + #, no-c-format + msgid "Generate __mcount_loc section with all mcount or __fentry__ calls." +-msgstr "Створити розділ __mcount_loc з усіма викликами mcount або __fentry__." ++msgstr "" + + #: config/i386/i386.opt:966 config/s390/s390.opt:311 + #, no-c-format + msgid "Generate mcount/__fentry__ calls as nops. To activate they need to be patched in." +-msgstr "Створити виклики mcount/__fentry__ як nops. Щоб активувати їх, потрібно внести зміни." ++msgstr "" + + #: config/i386/i386.opt:971 + #, no-c-format + msgid "Set name of __fentry__ symbol called at function entry." +-msgstr "Встановити імʼя символу __fentry__, який викликається при вході в функцію." ++msgstr "" + + #: config/i386/i386.opt:975 + #, no-c-format + msgid "Set name of section to record mrecord-mcount calls." +-msgstr "Встановити імʼя розділу для запису викликів mrecord-mcount." ++msgstr "" + + #: config/i386/i386.opt:979 + #, no-c-format + msgid "Skip setting up RAX register when passing variable arguments." +-msgstr "Пропустити налаштування регістру RAX при передачі змінних аргументів." ++msgstr "" + + #: config/i386/i386.opt:983 + #, no-c-format + msgid "Expand 32bit/64bit integer divide into 8bit unsigned integer divide with run-time check." +-msgstr "Розширити ділення цілочисельних 32/64 біт на ділення беззнакових цілочисельних 8 біт з перевіркою під час виконання." ++msgstr "" + + #: config/i386/i386.opt:987 + #, no-c-format + msgid "Split 32-byte AVX unaligned load." +-msgstr "Розбити 32-байтове незвичайне завантаження AVX." ++msgstr "" + + #: config/i386/i386.opt:991 + #, no-c-format + msgid "Split 32-byte AVX unaligned store." +-msgstr "Розбити 32-байтове незвичайне збереження AVX." ++msgstr "" + + #: config/i386/i386.opt:995 + #, no-c-format + msgid "Support RTM built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду RTM." ++msgstr "" + + #: config/i386/i386.opt:1003 + #, no-c-format + msgid "Support MWAITX and MONITORX built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду MWAITX та MONITORX." ++msgstr "" + + #: config/i386/i386.opt:1007 + #, no-c-format + msgid "Support CLZERO built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду CLZERO." ++msgstr "" + + #: config/i386/i386.opt:1011 + #, no-c-format + msgid "Support PKU built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду PKU." ++msgstr "" + + #: config/i386/i386.opt:1019 + #, no-c-format + msgid "Known stack protector guard (for use with the -mstack-protector-guard= option):" +-msgstr "Відомий захисник стеку (для використання з опцією -mstack-protector-guard=):" ++msgstr "" + + #: config/i386/i386.opt:1043 + #, no-c-format + msgid "Use the given symbol for addressing the stack-protector guard." +-msgstr "Використовуйте заданий символ для адресації захисника стеку." ++msgstr "" + + #: config/i386/i386.opt:1054 + #, no-c-format + msgid "Enable shadow stack built-in functions from Control-flow Enforcement Technology (CET)." +-msgstr "Увімкнути вбудовані функції тіньового стеку з технології контролю потоку виконання (CET)." ++msgstr "" + + #: config/i386/i386.opt:1059 + #, no-c-format + msgid "Turn on CET instrumentation for switch statements that use a jump table and an indirect jump." +-msgstr "Увімкнути інструментування CET для операторів switch, які використовують таблицю переходів та непрямий перехід." ++msgstr "" + + #: config/i386/i386.opt:1064 + #, no-c-format + msgid "Insert ENDBR instruction at function entry only via cf_check attribute for CET instrumentation." +-msgstr "Вставити інструкцію ENDBR лише при вході в функцію через атрибут cf_check для інструментування CET." ++msgstr "" + + #: config/i386/i386.opt:1069 + #, no-c-format + msgid "Make all function calls indirect." +-msgstr "Зробити всі виклики функцій непрямими." ++msgstr "" + + #: config/i386/i386.opt:1073 + #, no-c-format + msgid "Convert indirect call and jump to call and return thunks." +-msgstr "Перетворити непрямий виклик та перехід на виклик та повернення тунків." ++msgstr "" + + #: config/i386/i386.opt:1077 + #, no-c-format + msgid "Convert function return to call and return thunk." +-msgstr "Перетворити повернення з функції на виклик та повернення тунку." ++msgstr "" + + #: config/i386/i386.opt:1081 config/s390/s390.opt:277 + #, no-c-format + msgid "Known indirect branch choices (for use with the -mindirect-branch=/-mfunction-return= options):" +-msgstr "Відомі вибори непрямих гілок (для використання з параметрами -mindirect-branch=/-mfunction-return=):" ++msgstr "" + + #: config/i386/i386.opt:1097 + #, no-c-format + msgid "Add CS prefix to call and jmp to indirect thunk with branch target in r8-r15 registers." +-msgstr "Додати префікс CS до виклику та jmp до непрямого тунку з ціллю гілки в регістрах r8-r15." ++msgstr "" + + #: config/i386/i386.opt:1101 + #, no-c-format + msgid "Force indirect call and jump via register." +-msgstr "Примусовий непрямий виклик та стрибок через регістр." ++msgstr "" + + #: config/i386/i386.opt:1105 + #, no-c-format + msgid "Support MOVDIRI built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій MOVDIRI та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:1109 + #, no-c-format + msgid "Support MOVDIR64B built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій MOVDIR64B та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:1113 + #, no-c-format + msgid "Support WAITPKG built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій WAITPKG та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:1117 + #, no-c-format + msgid "Support CLDEMOTE built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій CLDEMOTE та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:1121 + #, no-c-format + msgid "Instrument function exit in instrumented functions with __fentry__." +-msgstr "Інструментальна функція виходу в інструментованих функціях з __fentry__." ++msgstr "" + + #: config/i386/i386.opt:1125 + #, no-c-format + msgid "Known choices for return instrumentation with -minstrument-return=:" +-msgstr "Відомі варіанти для інструментальної обробки повернення з -minstrument-return=:" ++msgstr "" + + #: config/i386/i386.opt:1138 + #, no-c-format + msgid "Generate a __return_loc section pointing to all return instrumentation code." +-msgstr "Створити розділ __return_loc, що вказує на весь код інструментальної обробки повернення." ++msgstr "" + + #: config/i386/i386.opt:1146 + #, no-c-format + msgid "Known choices for mitigation against straight line speculation with -mharden-sls=:" +-msgstr "Відомі варіанти для зменшення прямої лінії спекуляції з -mharden-sls=:" ++msgstr "" + + #: config/i386/i386.opt:1162 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512BF16 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F та AVX512BF16." ++msgstr "" + + #: config/i386/i386.opt:1167 + #, no-c-format + msgid "Support ENQCMD built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для ENQCMD." ++msgstr "" + + #: config/i386/i386.opt:1171 + #, no-c-format + msgid "Support SERIALIZE built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій SERIALIZE та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:1175 + #, no-c-format + msgid "Support TSXLDTRK built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій TSXLDTRK та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:1179 + #, no-c-format + msgid "Support AMX-TILE built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій AMX-TILE та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:1183 + #, no-c-format + msgid "Support AMX-INT8 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій AMX-INT8 та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:1187 + #, no-c-format + msgid "Support AMX-BF16 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій AMX-BF16 та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:1191 + #, no-c-format + msgid "Support HRESET built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій HRESET та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:1195 + #, no-c-format + msgid "Support KL built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій KL та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:1199 + #, no-c-format + msgid "Support WIDEKL built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій WIDEKL та генерація коду." ++msgstr "" + + #: config/i386/i386.opt:1203 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVXVNNI built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 та AVXVNNI." ++msgstr "" + + #: config/i386/i386.opt:1208 + #, no-c-format + msgid "Emit GNU_PROPERTY_X86_ISA_1_NEEDED GNU property." +-msgstr "Генерувати властивість GNU_PROPERTY_X86_ISA_1_NEEDED GNU." ++msgstr "" + + #: config/i386/i386.opt:1212 + #, no-c-format + msgid "Support MWAIT and MONITOR built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MWAIT та MONITOR." ++msgstr "" + + #: config/i386/i386.opt:1216 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512-FP16 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F та AVX512-FP16." ++msgstr "" + + #: config/i386/i386.opt:1220 + #, no-c-format + msgid "Do not use GOT to access external symbols." +-msgstr "Не використовувати GOT для доступу до зовнішніх символів." ++msgstr "" + + #: config/i386/i386.opt:1224 + #, no-c-format + msgid "Instructions number above which STFL stall penalty can be compensated." +-msgstr "Кількість інструкцій, після якої можна компенсувати штраф STFL." ++msgstr "" + + #: config/i386/i386.opt:1228 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVXIFMA built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 та AVXIFMA." ++msgstr "" + + #: config/i386/i386.opt:1233 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVXVNNIINT8 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 та AVXVNNIINT8." ++msgstr "" + + #: config/i386/i386.opt:1238 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVXNECONVERT build-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 та AVXNECONVERT." ++msgstr "" + + #: config/i386/i386.opt:1243 + #, no-c-format + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and CMPCCXADD build-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 та CMPCCXADD." ++msgstr "" + + #: config/i386/i386.opt:1248 + #, no-c-format + msgid "Support AMX-FP16 built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для AMX-FP16." ++msgstr "" + + #: config/i386/i386.opt:1252 + #, no-c-format + msgid "Support PREFETCHI built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для PREFETCHI." ++msgstr "" + + #: config/i386/i386.opt:1256 + #, no-c-format + msgid "Support RAOINT built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для RAOINT." ++msgstr "" + + #: config/i386/i386.opt:1260 + #, no-c-format + msgid "Enable conservative small loop unrolling." +-msgstr "Увімкнути консервативне розгортання невеликих циклів." ++msgstr "" + + #: config/i386/i386.opt:1264 + #, no-c-format + msgid "-mlam=[none|u48|u57] Instrument meta data position in user data pointers." +-msgstr "-mlam=[none|u48|u57] Позиція метаданих інструментування вказівників на дані користувача." +- +-#: config/i386/i386.opt:1280 +-#, no-c-format +-msgid "Support AMX-COMPLEX built-in functions and code generation." +-msgstr "Підтримка вбудованих функцій та генерація коду для AMX-COMPLEX." ++msgstr "" + + #: config/pa/pa64-hpux.opt:23 + #, no-c-format + msgid "Assume code will be linked by GNU ld." +-msgstr "Припускати, що код буде звʼязаний за допомогою GNU ld." ++msgstr "" + + #: config/pa/pa64-hpux.opt:27 + #, no-c-format + msgid "Assume code will be linked by HP ld." +-msgstr "Припускати, що код буде звʼязаний за допомогою HP ld." ++msgstr "" + + #: config/pa/pa-hpux1010.opt:23 config/pa/pa-hpux.opt:31 + #: config/pa/pa-hpux1131.opt:23 config/pa/pa-hpux1111.opt:23 + #, no-c-format + msgid "Specify UNIX standard for predefines and linking." +-msgstr "Вказати стандарт UNIX для попередніх визначень та звʼязування." ++msgstr "" + + #: config/pa/pa-hpux.opt:27 + #, no-c-format + msgid "Generate cpp defines for server IO." +-msgstr "Створити cpp-визначення для введення-виведення сервера." ++msgstr "" + + #: config/pa/pa-hpux.opt:35 + #, no-c-format + msgid "Generate cpp defines for workstation IO." +-msgstr "Створити cpp-визначення для введення-виведення робочої станції." ++msgstr "" + + #: config/pa/pa.opt:30 config/pa/pa.opt:95 config/pa/pa.opt:107 + #, no-c-format + msgid "Generate PA1.0 code." +-msgstr "Створити код PA1.0." ++msgstr "" + + #: config/pa/pa.opt:34 config/pa/pa.opt:111 config/pa/pa.opt:156 + #, no-c-format + msgid "Generate PA1.1 code." +-msgstr "Створити код PA1.1." ++msgstr "" + + #: config/pa/pa.opt:38 config/pa/pa.opt:115 + #, no-c-format + msgid "Generate PA2.0 code (requires binutils 2.10 or later)." +-msgstr "Створити код PA2.0 (потрібні binutils 2.10 або пізніше)." ++msgstr "" + + #: config/pa/pa.opt:42 + #, no-c-format + msgid "Generate libcalls for atomic loads and stores when sync libcalls are disabled." +-msgstr "Створити libcalls для атомних завантажень та збережень, коли синхронні libcalls вимкнені." ++msgstr "" + + #: config/pa/pa.opt:50 + #, no-c-format + msgid "Caller copies function arguments passed by hidden reference." +-msgstr "Викликач копіює аргументи функції, передані захованим посиланням." ++msgstr "" + + #: config/pa/pa.opt:54 + #, no-c-format + msgid "Use ldcw/ldcd coherent cache-control hint." +-msgstr "Використовувати підказку ldcw/ldcd для керування кешем з однорідною поведінкою." ++msgstr "" + + #: config/pa/pa.opt:58 + #, no-c-format + msgid "Disable FP regs. Equivalent to -msoft-float." +-msgstr "Вимкнути FP регістри. Еквівалентно -msoft-float." ++msgstr "" + + #: config/pa/pa.opt:62 + #, no-c-format + msgid "Disable indexed addressing." +-msgstr "Вимкнути індексовану адресацію." ++msgstr "Вимкнути індексоване адресування." + + #: config/pa/pa.opt:66 + #, no-c-format + msgid "Generate fast indirect calls." +-msgstr "Генерувати швидкі непрямі виклики." ++msgstr "" + + #: config/pa/pa.opt:74 + #, no-c-format + msgid "Assume code will be assembled by GAS." +-msgstr "Припускати, що код буде зібраний за допомогою GAS." ++msgstr "" + + #: config/pa/pa.opt:83 + #, no-c-format + msgid "Enable linker optimizations." +-msgstr "Увімкнути оптимізацію лінкера." ++msgstr "" + + #: config/pa/pa.opt:87 + #, no-c-format + msgid "Always generate long calls." +-msgstr "Завжди генерувати довгі виклики." ++msgstr "" + + #: config/pa/pa.opt:91 + #, no-c-format + msgid "Emit long load/store sequences." +-msgstr "Видавати довгі послідовності завантаження/збереження." ++msgstr "" + + #: config/pa/pa.opt:99 + #, no-c-format + msgid "Disable space regs." +-msgstr "Вимкнути регістри простору." ++msgstr "" + + #: config/pa/pa.opt:103 + #, no-c-format + msgid "Assume memory references are ordered and barriers are not needed." +-msgstr "Припускати, що посилання на памʼять впорядковані і барʼєри не потрібні." ++msgstr "" + + #: config/pa/pa.opt:119 + #, no-c-format + msgid "Use portable calling conventions." +-msgstr "Використовувати переносні конвенції виклику." ++msgstr "" + + #: config/pa/pa.opt:123 + #, no-c-format + msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000." +-msgstr "Вказати процесор для планування. Допустимі аргументи: 700, 7100, 7100LC, 7200, 7300 і 8000." ++msgstr "" + + #: config/pa/pa.opt:148 config/frv/frv.opt:215 + #, no-c-format + msgid "Use software floating point." +-msgstr "Використовуйте програмне змінне плаваючої коми." ++msgstr "" + + #: config/pa/pa.opt:152 + #, no-c-format + msgid "Use software integer multiplication." +-msgstr "Використовуйте програмне цілочисельне множення." ++msgstr "" + + #: config/pa/pa.opt:160 + #, no-c-format + msgid "Do not disable space regs." +-msgstr "Не вимикайте регістри простору." ++msgstr "" + + #: config/v850/v850.opt:29 + #, no-c-format + msgid "Use registers r2 and r5." +-msgstr "Використовуйте регістри r2 та r5." ++msgstr "Використовувати регістри r2 і r5." + + #: config/v850/v850.opt:33 + #, no-c-format + msgid "Use 4 byte entries in switch tables." +-msgstr "Використовуйте 4-байтові записи в таблицях перемикача." ++msgstr "" + + #: config/v850/v850.opt:37 + #, no-c-format + msgid "Enable backend debugging." +-msgstr "Увімкнути налагодження backend." ++msgstr "" + + #: config/v850/v850.opt:41 + #, no-c-format + msgid "Do not use the callt instruction (default)." +-msgstr "Не використовуйте інструкцію callt (за замовчуванням)." ++msgstr "" + + #: config/v850/v850.opt:45 + #, no-c-format + msgid "Reuse r30 on a per function basis." +-msgstr "Повторне використання r30 на основі функцій." ++msgstr "" + + #: config/v850/v850.opt:52 + #, no-c-format + msgid "Prohibit PC relative function calls." +-msgstr "Заборонити виклики функцій відносно PC." ++msgstr "" + + #: config/v850/v850.opt:56 + #, no-c-format + msgid "Use stubs for function prologues." +-msgstr "Використовуйте заглушки для прологів функцій." ++msgstr "" + + #: config/v850/v850.opt:60 + #, no-c-format + msgid "Set the max size of data eligible for the SDA area." +-msgstr "Встановити максимальний розмір даних, придатних для області SDA." ++msgstr "" + + #: config/v850/v850.opt:67 + #, no-c-format + msgid "Enable the use of the short load instructions." +-msgstr "Увімкнути використання коротких інструкцій завантаження." ++msgstr "" + + #: config/v850/v850.opt:71 + #, no-c-format + msgid "Same as: -mep -mprolog-function." +-msgstr "Те саме, що й: -mep -mprolog-function." ++msgstr "" + + #: config/v850/v850.opt:75 + #, no-c-format + msgid "Set the max size of data eligible for the TDA area." +-msgstr "Встановити максимальний розмір даних, придатних для області TDA." ++msgstr "" + + #: config/v850/v850.opt:82 + #, no-c-format + msgid "Do not enforce strict alignment." +-msgstr "Не накладати жорстку вирівнювання." ++msgstr "" + + #: config/v850/v850.opt:86 + #, no-c-format + msgid "Put jump tables for switch statements into the .data section rather than the .code section." +-msgstr "Розмістити таблиці переходів для операторів switch в розділ .data, а не в розділ .code." ++msgstr "" + + #: config/v850/v850.opt:93 + #, no-c-format + msgid "Compile for the v850 processor." +-msgstr "Компілювати для процесора v850." ++msgstr "" + + #: config/v850/v850.opt:97 + #, no-c-format + msgid "Compile for the v850e processor." +-msgstr "Компілювати для процесора v850e." ++msgstr "" + + #: config/v850/v850.opt:101 + #, no-c-format + msgid "Compile for the v850e1 processor." +-msgstr "Компілювати для процесора v850e1." ++msgstr "" + + #: config/v850/v850.opt:105 + #, no-c-format + msgid "Compile for the v850es variant of the v850e1." +-msgstr "Компілювати для варіанту v850es процесора v850e1." ++msgstr "" + + #: config/v850/v850.opt:109 + #, no-c-format + msgid "Compile for the v850e2 processor." +-msgstr "Компілювати для процесора v850e2." ++msgstr "" + + #: config/v850/v850.opt:113 + #, no-c-format + msgid "Compile for the v850e2v3 processor." +-msgstr "Компілювати для процесора v850e2v3." ++msgstr "" + + #: config/v850/v850.opt:117 + #, no-c-format + msgid "Compile for the v850e3v5 processor." +-msgstr "Компілювати для процесора v850e3v5." ++msgstr "" + + #: config/v850/v850.opt:124 + #, no-c-format + msgid "Enable v850e3v5 loop instructions." +-msgstr "Увімкнути інструкції циклу для v850e3v5." ++msgstr "" + + #: config/v850/v850.opt:128 + #, no-c-format + msgid "Set the max size of data eligible for the ZDA area." +-msgstr "Встановити максимальний розмір даних, придатних для області ZDA." ++msgstr "" + + #: config/v850/v850.opt:135 + #, no-c-format + msgid "Enable relaxing in the assembler." +-msgstr "Увімкнути розслаблення в асемблері." ++msgstr "" + + #: config/v850/v850.opt:139 + #, no-c-format + msgid "Prohibit PC relative jumps." +-msgstr "Заборонити відносні стрибки PC." ++msgstr "" + + #: config/v850/v850.opt:143 + #, no-c-format + msgid "Inhibit the use of hardware floating point instructions." +-msgstr "Заборонити використання апаратних інструкцій з плаваючою комою." ++msgstr "" + + #: config/v850/v850.opt:147 + #, no-c-format + msgid "Allow the use of hardware floating point instructions for V850E2V3 and up." +-msgstr "Дозволити використання апаратних інструкцій з плаваючою комою для V850E2V3 і вище." ++msgstr "" + + #: config/v850/v850.opt:151 + #, no-c-format + msgid "Enable support for the RH850 ABI. This is the default." +-msgstr "Увімкнути підтримку RH850 ABI. Це значення за замовчуванням." ++msgstr "" + + #: config/v850/v850.opt:155 + #, no-c-format + msgid "Enable support for the old GCC ABI." +-msgstr "Увімкнути підтримку старого GCC ABI." ++msgstr "" + + #: config/v850/v850.opt:159 + #, no-c-format + msgid "Support alignments of up to 64-bits." +-msgstr "Підтримка вирівнювання до 64 біт." ++msgstr "" + + #: config/g.opt:27 + #, no-c-format + msgid "-G\tPut global and static data smaller than bytes into a special section (on some targets)." +-msgstr "-G<число>\tРозмістити глобальні та статичні дані розміром менше <число> байт у спеціальний розділ (на деяких цільових платформах)." ++msgstr "" + + #: config/lynx.opt:23 + #, no-c-format + msgid "Support legacy multi-threading." +-msgstr "Підтримка старого багатопотокового виконання." ++msgstr "" + + #: config/lynx.opt:27 + #, no-c-format +@@ -7931,1443 +7951,1443 @@ msgstr "Використовувати бібліотеки спільного + #: config/lynx.opt:31 + #, no-c-format + msgid "Support multi-threading." +-msgstr "Підтримка багатопотокового виконання." ++msgstr "" + + #: config/nvptx/nvptx-gen.opt:24 + #, no-c-format + msgid "Known PTX ISA target architectures (for use with the -misa= option):" +-msgstr "Відомі архітектури цільової системи PTX ISA (для використання з опцією -misa=):" ++msgstr "" + + #: config/nvptx/nvptx.opt:28 + #, no-c-format + msgid "Ignored, but preserved for backward compatibility. Only 64-bit ABI is supported." +-msgstr "Ігнорується, але зберігається для забезпечення сумісності з попередніми версіями. Підтримується лише 64-бітна ABI." ++msgstr "" + + #: config/nvptx/nvptx.opt:33 + #, no-c-format + msgid "Link in code for a __main kernel." +-msgstr "Посилання на код для ядра __main." ++msgstr "" + + #: config/nvptx/nvptx.opt:37 + #, no-c-format + msgid "Optimize partition neutering." +-msgstr "Оптимізація нейтралізації розділів." ++msgstr "" + + #: config/nvptx/nvptx.opt:41 + #, no-c-format + msgid "Use custom stacks instead of local memory for automatic storage." +-msgstr "Використовувати власні стеки замість локальної памʼяті для автоматичного зберігання." ++msgstr "" + + #: config/nvptx/nvptx.opt:45 + #, no-c-format + msgid "Specify size of .local memory used for stack when the exact amount is not known." +-msgstr "Вказати розмір .local памʼяті, яка використовується для стеку, коли точна кількість не відома." ++msgstr "" + + #: config/nvptx/nvptx.opt:49 + #, no-c-format + msgid "Generate code that can keep local state uniform across all lanes." +-msgstr "Генерувати код, який може зберігати локальний стан однорідним для всіх доріжок." ++msgstr "" + + #: config/nvptx/nvptx.opt:53 + #, no-c-format + msgid "Generate code for OpenMP offloading: enables -msoft-stack and -muniform-simt." +-msgstr "Генерувати код для віддаленого виконання OpenMP: увімкнути -msoft-stack та -muniform-simt." ++msgstr "" + + #: config/nvptx/nvptx.opt:57 + #, no-c-format + msgid "Specify the PTX ISA target architecture to use." +-msgstr "Вказати цільову архітектуру PTX ISA, яку слід використовувати." ++msgstr "" + + #: config/nvptx/nvptx.opt:61 + #, no-c-format + msgid "Alias:" +-msgstr "Псевдонім:" ++msgstr "Замінник:" + + #: config/nvptx/nvptx.opt:116 + #, no-c-format + msgid "Known PTX ISA versions (for use with the -mptx= option):" +-msgstr "Відомі версії PTX ISA (для використання з опцією -mptx=):" ++msgstr "" + + #: config/nvptx/nvptx.opt:135 + #, no-c-format + msgid "Specify the PTX ISA version to use." +-msgstr "Вказати версію PTX ISA, яку слід використовувати." ++msgstr "" + + #: config/nvptx/nvptx.opt:139 + #, no-c-format + msgid "Initialize ptx registers." +-msgstr "Ініціалізувати регістри ptx." ++msgstr "Ініціалізувати ptx-регістри." + + #: config/vxworks.opt:36 + #, no-c-format + msgid "Assume the VxWorks RTP environment." +-msgstr "Припустити середовище VxWorks RTP." ++msgstr "" + + #: config/vxworks.opt:43 + #, no-c-format + msgid "Assume the VxWorks vThreads environment." +-msgstr "Припустимо середовище VxWorks vThreads." ++msgstr "" + + #: config/avr/avr.opt:23 + #, no-c-format + msgid "Use subroutines for function prologues and epilogues." +-msgstr "Використовуйте підпрограми для прологів та епілогів функцій." ++msgstr "" + + #: config/avr/avr.opt:27 + #, no-c-format + msgid "-mmcu=MCU\tSelect the target MCU." +-msgstr "-mmcu=МКП\tВиберати цільовий МКП." ++msgstr "" + + #: config/avr/avr.opt:31 + #, no-c-format + msgid "Allow usage of __gcc_isr pseudo instructions in ISR prologues and epilogues." +-msgstr "Дозволити використання псевдоінструкцій __gcc_isr в прологах та епілогах обробників переривань." ++msgstr "" + + #: config/avr/avr.opt:35 + #, no-c-format + msgid "Set the number of 64 KiB flash segments." +-msgstr "Встановити кількість сегментів флеш-памʼяті розміром 64 Кб." ++msgstr "" + + #: config/avr/avr.opt:39 + #, no-c-format + msgid "Indicate presence of a processor erratum." +-msgstr "Вказати наявність помилки процесора." ++msgstr "" + + #: config/avr/avr.opt:43 + #, no-c-format + msgid "Enable Read-Modify-Write (RMW) instructions support/use." +-msgstr "Увімкнути підтримку/використання інструкцій Read-Modify-Write (RMW)." ++msgstr "" + + #: config/avr/avr.opt:53 + #, no-c-format + msgid "Use RJMP / RCALL even though CALL / JMP are available." +-msgstr "Використовуйте RJMP / RCALL, навіть якщо доступні CALL / JMP." ++msgstr "" + + #: config/avr/avr.opt:57 + #, no-c-format + msgid "Use an 8-bit 'int' type." +-msgstr "Використовуйте тип 'int' з розміром 8 біт." ++msgstr "" + + #: config/avr/avr.opt:61 + #, no-c-format + msgid "Change the stack pointer without disabling interrupts." +-msgstr "Змінити вказівник стеку без вимкнення переривань." ++msgstr "" + + #: config/avr/avr.opt:65 + #, no-c-format + msgid "Set the branch costs for conditional branch instructions. Reasonable values are small, non-negative integers. The default branch cost is 0." +-msgstr "Встановити вартість гілок для умовних гілкових інструкцій. Розумні значення - це невеликі, не відʼємні цілі числа. За замовчуванням вартість гілки дорівнює 0." ++msgstr "" + + #: config/avr/avr.opt:69 + #, no-c-format + msgid "Treat main as if it had attribute OS_task." +-msgstr "Трактувати main так, ніби вона мала атрибут OS_task." ++msgstr "" + + #: config/avr/avr.opt:79 + #, no-c-format + msgid "Change only the low 8 bits of the stack pointer." +-msgstr "Змінити лише нижні 8 біт вказівника стеку." ++msgstr "" + + #: config/avr/avr.opt:83 + #, no-c-format + msgid "Relax branches." +-msgstr "Розслабити гілки." ++msgstr "" + + #: config/avr/avr.opt:87 + #, no-c-format + msgid "Make the linker relaxation machine assume that a program counter wrap-around occurs." +-msgstr "Зробити машину розслаблення лінкера припускає, що відбувається обгортання лічильника програми." ++msgstr "" + + #: config/avr/avr.opt:91 + #, no-c-format + msgid "Accumulate outgoing function arguments and acquire/release the needed stack space for outgoing function arguments in function prologue/epilogue. Without this option, outgoing arguments are pushed before calling a function and popped afterwards. This option can lead to reduced code size for functions that call many functions that get their arguments on the stack like, for example printf." +-msgstr "Накопичувати вихідні аргументи функції та здобудьте / звільніть необхідний простір стеку для вихідних аргументів функції в пролог / епілог функції. Без цієї опції вихідні аргументи викликаються перед викликом функції та видаляються після цього. Ця опція може призвести до зменшення розміру коду для функцій, які викликають багато функцій, які отримують свої аргументи зі стеку, наприклад, printf." ++msgstr "" + + #: config/avr/avr.opt:95 + #, no-c-format + msgid "When accessing RAM, use X as imposed by the hardware, i.e. just use pre-decrement, post-increment and indirect addressing with the X register. Without this option, the compiler may assume that there is an addressing mode X+const similar to Y+const and Z+const and emit instructions to emulate such an addressing mode for X." +-msgstr "При доступі до ОЗП використовувати X, як вимагає апаратне забезпечення, тобто використовувати переддекремент, післяінкремент та непряме звертання з використанням регістра X. Без цієї опції компілятор може припустити, що існує режим адресації X+const, подібний до Y+const та Z+const, і генерувати інструкції для емуляції такого режиму адресації для X." ++msgstr "" + + #: config/avr/avr.opt:100 + #, no-c-format + msgid "The device has no SPH special function register. This option will be overridden by the compiler driver with the correct setting if presence/absence of SPH can be deduced from -mmcu=MCU." +-msgstr "Пристрій не має спеціального регістра функцій SPH. Ця опція буде перезаписана компілятором з правильним налаштуванням, якщо наявність/відсутність SPH може бути виведена з -mmcu=МКП." ++msgstr "" + + #: config/avr/avr.opt:104 + #, no-c-format + msgid "Warn if the address space of an address is changed." +-msgstr "Попереджати, якщо простір адреси змінюється." ++msgstr "" + + #: config/avr/avr.opt:108 + #, no-c-format + msgid "Warn if the ISR is misspelled, i.e. without __vector prefix. Enabled by default." +-msgstr "Попереджати, якщо ISR неправильно написано, тобто без префіксу __vector. Увімкнено за замовчуванням." ++msgstr "" + + #: config/avr/avr.opt:112 + #, no-c-format + msgid "Allow to use truncation instead of rounding towards zero for fractional fixed-point types." +-msgstr "Дозволити використовувати обрізку замість округлення до нуля для дробових фіксованих типів." ++msgstr "" + + #: config/avr/avr.opt:116 + #, no-c-format + msgid "Assume that all data in static storage can be accessed by LDS / STS. This option is only useful for reduced Tiny devices." +-msgstr "Припускати, що всі дані у статичному сховищі можна отримати за допомогою LDS / STS. Ця опція корисна лише для зменшених пристроїв Tiny." ++msgstr "" + + #: config/avr/avr.opt:120 + #, no-c-format + msgid "-mdouble=\tUse bits wide double type." +-msgstr "-mdouble=\tВикористовувати тип double з шириною біт." ++msgstr "" + + #: config/avr/avr.opt:124 + #, no-c-format + msgid "-mlong-double=\tUse bits wide long double type." +-msgstr "-mlong-double=\tВикористовувати тип long double з шириною біт." ++msgstr "" + + #: config/avr/avr.opt:128 + #, no-c-format + msgid "Do not link against the device-specific library lib.a." +-msgstr "Не підключати до бібліотеки lib<МКП>.a, яка специфічна для пристрою." ++msgstr "" + + #: config/avr/avr.opt:132 + #, no-c-format + msgid "Do not use the device-specific specs file device-specs/specs-." +-msgstr "Не використовувати специфічний для пристрою файл specs-<МКП> у каталозі device-specs." ++msgstr "" + + #: config/avr/avr.opt:136 + #, no-c-format + msgid "Available BITS selections:" +-msgstr "Доступні варіанти BITS:" ++msgstr "" + + #: config/m32r/m32r.opt:34 + #, no-c-format + msgid "Compile for the m32rx." +-msgstr "Компілювати для m32rx." ++msgstr "" + + #: config/m32r/m32r.opt:38 + #, no-c-format + msgid "Compile for the m32r2." +-msgstr "Компілювати для m32r2." ++msgstr "" + + #: config/m32r/m32r.opt:42 + #, no-c-format + msgid "Compile for the m32r." +-msgstr "Компілювати для m32r." ++msgstr "" + + #: config/m32r/m32r.opt:46 + #, no-c-format + msgid "Align all loops to 32 byte boundary." +-msgstr "Вирівнювати всі цикли до границі 32 байти." ++msgstr "" + + #: config/m32r/m32r.opt:50 + #, no-c-format + msgid "Prefer branches over conditional execution." +-msgstr "Віддавати перевагу гілкам перед умовним виконанням." ++msgstr "" + + #: config/m32r/m32r.opt:54 + #, no-c-format + msgid "Give branches their default cost." +-msgstr "Надавати гілкам їхню типову вартість." ++msgstr "" + + #: config/m32r/m32r.opt:58 + #, no-c-format + msgid "Display compile time statistics." +-msgstr "Показувати статистику часу компіляції." ++msgstr "" + + #: config/m32r/m32r.opt:62 + #, no-c-format + msgid "Specify cache flush function." +-msgstr "Вказати функцію очищення кешу." ++msgstr "" + + #: config/m32r/m32r.opt:66 + #, no-c-format + msgid "Specify cache flush trap number." +-msgstr "Вказати номер пастки очищення кешу." ++msgstr "" + + #: config/m32r/m32r.opt:70 + #, no-c-format + msgid "Only issue one instruction per cycle." +-msgstr "Видавати тільки одну інструкцію на цикл." ++msgstr "" + + #: config/m32r/m32r.opt:74 + #, no-c-format + msgid "Allow two instructions to be issued per cycle." +-msgstr "Дозволити видавати дві інструкції на цикл." ++msgstr "" + + #: config/m32r/m32r.opt:78 + #, no-c-format + msgid "Code size: small, medium or large." +-msgstr "Розмір коду: малий, середній або великий." ++msgstr "" + + #: config/m32r/m32r.opt:94 + #, no-c-format + msgid "Don't call any cache flush functions." +-msgstr "Не викликати жодну функцію очищення кешу." ++msgstr "" + + #: config/m32r/m32r.opt:98 + #, no-c-format + msgid "Don't call any cache flush trap." +-msgstr "Не викликати жодну пастку очищення кешу." ++msgstr "" + + #: config/m32r/m32r.opt:105 + #, no-c-format + msgid "Small data area: none, sdata, use." +-msgstr "Мала область даних: немає, sdata, використовувати." ++msgstr "" + + #: config/s390/tpf.opt:23 + #, no-c-format + msgid "Enable TPF-OS tracing code." +-msgstr "Увімкнути код відстеження TPF-OS." ++msgstr "" + + #: config/s390/tpf.opt:27 + #, no-c-format + msgid "Set the trace check address for prologue tpf hook" +-msgstr "Встановити адресу перевірки сліду для гачка tpf прологу" ++msgstr "" + + #: config/s390/tpf.opt:31 + #, no-c-format + msgid "Set the trace jump address for prologue tpf hook" +-msgstr "Встановити адресу переходу сліду для гачка tpf прологу" ++msgstr "" + + #: config/s390/tpf.opt:35 + #, no-c-format + msgid "Set the trace check address for epilogue tpf hook" +-msgstr "Встановити адресу перевірки сліду для гачка tpf епілогу" ++msgstr "" + + #: config/s390/tpf.opt:39 + #, no-c-format + msgid "Set the trace jump address for epilogue tpf hook" +-msgstr "Встановити адресу переходу сліду для гачка tpf епілогу" ++msgstr "" + + #: config/s390/tpf.opt:43 + #, no-c-format + msgid "Set the prologue and epilogue hook addresses to TPF_TRACE_PROLOGUE_SKIP_TARGET and TPF_TRACE_EPILOGUE_SKIP_TARGET. Equivalent to using -mtpf-trace-hook-prologue-target=TPF_TRACE_PROLOGUE_SKIP_TARGET and -mtpf-trace-hook-epilogue-target=TPF_TRACE_EPILOGUE_SKIP_TARGET" +-msgstr "Встановити адреси гачків прологу та епілогу на TPF_TRACE_PROLOGUE_SKIP_TARGET та TPF_TRACE_EPILOGUE_SKIP_TARGET. Еквівалентно використанню -mtpf-trace-hook-prologue-target=TPF_TRACE_PROLOGUE_SKIP_TARGET та -mtpf-trace-hook-epilogue-target=TPF_TRACE_EPILOGUE_SKIP_TARGET" ++msgstr "" + + #: config/s390/tpf.opt:47 + #, no-c-format + msgid "Specify main object for TPF-OS." +-msgstr "Вказати основний обʼєкт для TPF-OS." ++msgstr "" + + #: config/s390/s390.opt:48 + #, no-c-format + msgid "31 bit ABI." +-msgstr "ABI 31 біт." ++msgstr "" + + #: config/s390/s390.opt:52 + #, no-c-format + msgid "64 bit ABI." +-msgstr "ABI 64 біт." ++msgstr "" + + #: config/s390/s390.opt:129 + #, no-c-format + msgid "Maintain backchain pointer." +-msgstr "Підтримувати вказівник backchain." ++msgstr "" + + #: config/s390/s390.opt:133 + #, no-c-format + msgid "Additional debug prints." +-msgstr "Додаткові відлагоджувальні виводи." ++msgstr "" + + #: config/s390/s390.opt:137 + #, no-c-format + msgid "ESA/390 architecture." +-msgstr "Архітектура ESA/390." ++msgstr "" + + #: config/s390/s390.opt:141 + #, no-c-format + msgid "Enable decimal floating point hardware support." +-msgstr "Увімкнути підтримку апаратного забезпечення для десяткових чисел з плаваючою комою." ++msgstr "" + + #: config/s390/s390.opt:145 + #, no-c-format + msgid "Enable hardware floating point." +-msgstr "Увімкнути апаратну підтримку чисел з плаваючою комою." ++msgstr "" + + #: config/s390/s390.opt:149 + #, no-c-format + msgid "Takes two non-negative integer numbers separated by a comma. Prepend the function label with the number of two-byte Nop instructions indicated by the first. Append Nop instructions covering the number of halfwords indicated by the second after the label. Nop instructions of the largest possible size are used (six, four or two bytes), beginning with the largest possible size. Using 0 for both values disables hotpatching." +-msgstr "Приймає два не відʼємних цілих числа, розділені комою. Додає до мітки функції кількість двобайтових інструкцій Nop, вказаних першим числом. Після мітки додаються інструкції Nop, що покривають кількість половин слів, вказану другим числом. Використовуються Nop-інструкції найбільшого можливого розміру (шість, чотири або два байти), починаючи з найбільшого можливого розміру. Використання значення 0 для обох чисел забороняє гаряче латання." ++msgstr "" + + #: config/s390/s390.opt:167 + #, no-c-format + msgid "Use hardware transactional execution instructions." +-msgstr "Використовувати інструкції апаратного виконання транзакцій." ++msgstr "" + + #: config/s390/s390.opt:171 + #, no-c-format + msgid "Use hardware vector facility instructions and enable the vector ABI." +-msgstr "Використовувати інструкції апаратного виконання векторних операцій та увімкнути векторний ABI." ++msgstr "" + + #: config/s390/s390.opt:175 + #, no-c-format + msgid "Use packed stack layout." +-msgstr "Використовуйте упаковану структуру стеку." ++msgstr "" + + #: config/s390/s390.opt:179 + #, no-c-format + msgid "Use bras for executable < 64k." +-msgstr "Використовувати bras для виконуваних файлів менше 64к." ++msgstr "" + + #: config/s390/s390.opt:183 + #, no-c-format + msgid "Disable hardware floating point." +-msgstr "Вимкнути апаратне з плаваючою комою." ++msgstr "" + + #: config/s390/s390.opt:187 + #, no-c-format + msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered." +-msgstr "Встановити максимальну кількість байтів, які мають залишитися до розміру стеку, перш ніж буде викликана пастка." ++msgstr "" + + #: config/s390/s390.opt:191 + #, no-c-format + msgid "Switches off the -mstack-guard= option." +-msgstr "Вимкнути опцію -mstack-guard=." ++msgstr "" + + #: config/s390/s390.opt:195 + #, no-c-format + msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit." +-msgstr "Видавати додатковий код у прологу функції, щоб викликати пастку, якщо розмір стеку перевищує задане обмеження." ++msgstr "" + + #: config/s390/s390.opt:199 + #, no-c-format + msgid "Switches off the -mstack-size= option." +-msgstr "Вимикає опцію -mstack-size=." ++msgstr "" + + #: config/s390/s390.opt:207 + #, no-c-format + msgid "Use the mvcle instruction for block moves." +-msgstr "Використовуйте інструкцію mvcle для переміщення блоків." ++msgstr "" + + #: config/s390/s390.opt:211 + #, no-c-format + msgid "Enable the z vector language extension providing the context-sensitive vector macro and enable the Altivec-style builtins in vecintrin.h." +-msgstr "Увімкнути розширення мови з векторами z, яке надає контекстно-чутливий векторний макрос та увімкнути вбудовані функції у стилі Altivec в vecintrin.h." ++msgstr "" + + #: config/s390/s390.opt:216 + #, no-c-format + msgid "Warn if a function uses alloca or creates an array with dynamic size." +-msgstr "Попереджати, якщо функція використовує alloca або створює масив з динамічним розміром." ++msgstr "" + + #: config/s390/s390.opt:220 + #, no-c-format + msgid "Warn if a single function's framesize exceeds the given framesize." +-msgstr "Попереджати, якщо розмір рамки однієї функції перевищує заданий розмір рамки." ++msgstr "" + + #: config/s390/s390.opt:224 + #, no-c-format + msgid "z/Architecture." +-msgstr "z/Архітектура." ++msgstr "" + + #: config/s390/s390.opt:228 + #, no-c-format + msgid "Set the branch costs for conditional branch instructions. Reasonable values are small, non-negative integers. The default branch cost is 1." +-msgstr "Встановити вартість гілок для умовних гілкових інструкцій. Розумні значення - це невеликі невідʼємні цілі числа. За замовчуванням вартість гілки становить 1." ++msgstr "" + + #: config/s390/s390.opt:238 config/arm/arm.opt:181 + #, no-c-format + msgid "Assume data segments are relative to text segment." +-msgstr "Припустимо, що сегменти даних відносяться до сегмента тексту." ++msgstr "" + + #: config/s390/s390.opt:243 + #, no-c-format + msgid "Wrap all indirect branches into execute in order to disable branch prediction." +-msgstr "Обернути всі непрямі гілки в execute, щоб вимкнути передбачення гілок." ++msgstr "" + + #: config/s390/s390.opt:248 + #, no-c-format + msgid "Wrap indirect table jumps and computed gotos into execute in order to disable branch prediction. Using thunk or thunk-extern with this option requires the thunks to be considered signal handlers to order to generate correct CFI. For environments where unwinding (e.g. for exceptions) is required please use thunk-inline instead." +-msgstr "Обгорнути непрямі переходи до таблиці та обчислені gotos в execute, щоб вимкнути передбачення гілок. Використання thunk або thunk-extern з цією опцією вимагає, щоб тунки вважалися обробниками сигналів, щоб згенерувати правильний CFI. Для середовищ, де потрібне розгортання (наприклад, для винятків), будь ласка, використовуйте thunk-inline замість цього." ++msgstr "" + + #: config/s390/s390.opt:256 + #, no-c-format + msgid "Wrap all indirect calls into execute in order to disable branch prediction." +-msgstr "Обгорнути всі непрямі виклики в execute, щоб вимкнути передбачення гілок." ++msgstr "" + + #: config/s390/s390.opt:260 + #, no-c-format + msgid "Wrap all indirect return branches into execute in order to disable branch prediction." +-msgstr "Обгорнути всі непрямі гілки повернення в execute, щоб вимкнути передбачення гілок." ++msgstr "" + + #: config/s390/s390.opt:265 + #, no-c-format + msgid "Wrap indirect return branches into execute in order to disable branch prediction. This affects only branches where the return address is going to be restored from memory." +-msgstr "Обгорнути непрямі гілки повернення в execute, щоб вимкнути передбачення гілок. Це стосується лише гілок, де адреса повернення буде відновлена з памʼяті." ++msgstr "" + + #: config/s390/s390.opt:271 + #, no-c-format + msgid "Wrap indirect return branches into execute in order to disable branch prediction. This affects only branches where the return address doesn't need to be restored from memory." +-msgstr "Обгорнути непрямі гілки повернення в execute, щоб вимкнути передбачення гілок. Це стосується лише гілок, де адресу повернення не потрібно відновлювати з памʼяті." ++msgstr "" + + #: config/s390/s390.opt:293 + #, no-c-format + msgid "Generate sections .s390_indirect_jump, .s390_indirect_call, .s390_return_reg, and .s390_return_mem to contain the indirect branch locations which have been patched as part of using one of the -mindirect-branch* or -mfunction-return* options. The sections consist of an array of 32 bit elements. Each entry holds the offset from the entry to the patched location." +-msgstr "Створити розділи .s390_indirect_jump, .s390_indirect_call, .s390_return_reg та .s390_return_mem, щоб містити місця непрямих гілок, які були виправлені в рамках використання однієї з опцій -mindirect-branch* або -mfunction-return*. Розділи складаються з масиву 32-бітних елементів. Кожен запис містить зсув від запису до виправленого місця." ++msgstr "" + + #: config/s390/s390.opt:302 + #, no-c-format + msgid "Emit profiling counter call at function entry before prologue. The compiled code will require a 64-bit CPU and glibc 2.29 or newer to run." +-msgstr "Видавати виклик лічильника профілювання при вході в функцію перед прологом. Скомпільований код буде потребувати 64-бітний процесор і glibc 2.29 або новішу версію для запуску." ++msgstr "" + + #: config/s390/s390.opt:307 + #, no-c-format + msgid "Generate __mcount_loc section with all _mcount and __fentry__ calls." +-msgstr "Створити розділ __mcount_loc з усіма викликами _mcount та __fentry__." ++msgstr "" + + #: config/s390/s390.opt:316 + #, no-c-format + msgid "Emit fused multiply-add instructions for long doubles in vector registers (wfmaxb, wfmsxb, wfnmaxb, wfnmsxb). Reassociation pass does not handle fused multiply-adds, therefore code generated by the middle-end is prone to having long fused multiply-add chains. This is not pipeline-friendly, and the default behavior is to emit separate multiplication and addition instructions for long doubles in vector registers, because measurements show that this improves performance. This option allows overriding it for testing purposes." +-msgstr "Генерувати обʼєднані інструкції множення-додавання для довгих чисел з плаваючою комою в векторних регістрах (wfmaxb, wfmsxb, wfnmaxb, wfnmsxb). Прохід переасоціації не обробляє обʼєднані інструкції множення-додавання, тому код, що генерується середнім рівнем, схильний до наявності довгих ланцюжків обʼєднаних інструкцій множення-додавання. Це не сприятливо для конвеєра, і типова поведінка полягає в генерації окремих інструкцій множення і додавання для довгих чисел з плаваючою комою в векторних регістрах, оскільки вимірювання показують, що це покращує продуктивність. Ця опція дозволяє її перевизначити для тестування." ++msgstr "" + + #: config/s390/s390.opt:331 + #, no-c-format + msgid "Store all argument registers on the stack." +-msgstr "Зберігайте всі регістри аргументів у стеку." ++msgstr "" + + #: config/rl78/rl78.opt:27 config/rx/elf.opt:26 config/csky/csky.opt:198 + #, no-c-format + msgid "Use the simulator runtime." +-msgstr "Використовуйте рантайм симулятора." ++msgstr "" + + #: config/rl78/rl78.opt:31 + #, no-c-format + msgid "Selects the type of hardware multiplication and division to use (none/g13/g14)." +-msgstr "Виберати тип апаратного множення та ділення, який слід використовувати (none/g13/g14)." ++msgstr "" + + #: config/rl78/rl78.opt:50 + #, no-c-format + msgid "Use all registers, reserving none for interrupt handlers." +-msgstr "Використовувати всі регістри, не залишаючи жодного для обробників переривань." ++msgstr "" + + #: config/rl78/rl78.opt:54 + #, no-c-format + msgid "Enable assembler and linker relaxation. Enabled by default at -Os." +-msgstr "Увімкнути розслаблення асемблера та лінкера. За замовчуванням увімкнено при -Os." ++msgstr "" + + #: config/rl78/rl78.opt:58 + #, no-c-format + msgid "Selects the type of RL78 core being targeted (g10/g13/g14). The default is the G14. If set, also selects the hardware multiply support to be used." +-msgstr "Виберати тип цільового ядра RL78 (g10/g13/g14). За замовчуванням використовується G14. Якщо встановлено, також вибирається підтримка апаратного множення, яка буде використовуватися." ++msgstr "" + + #: config/rl78/rl78.opt:77 + #, no-c-format + msgid "Alias for -mcpu=g10." +-msgstr "Псевдонім для -mcpu=g10." ++msgstr "" + + #: config/rl78/rl78.opt:81 + #, no-c-format + msgid "Alias for -mcpu=g13." +-msgstr "Псевдонім для -mcpu=g13." ++msgstr "" + + #: config/rl78/rl78.opt:85 config/rl78/rl78.opt:89 + #, no-c-format + msgid "Alias for -mcpu=g14." +-msgstr "Псевдонім для -mcpu=g14." ++msgstr "" + + #: config/rl78/rl78.opt:93 + #, no-c-format + msgid "Assume ES is zero throughout program execution, use ES: for read-only data." +-msgstr "Припускається, що ES дорівнює нулю протягом виконання програми, використовуйте ES: для даних тільки для читання." ++msgstr "" + + #: config/rl78/rl78.opt:97 + #, no-c-format + msgid "Stores the MDUC registers in interrupt handlers for G13 target." +-msgstr "Зберігає регістри MDUC у обробниках переривань для цілі G13." ++msgstr "" + + #: config/stormy16/stormy16.opt:24 + #, no-c-format + msgid "Provide libraries for the simulator." +-msgstr "Надавати бібліотеки для симулятора." ++msgstr "" + + #: config/arm/arm-tables.opt:25 + #, no-c-format + msgid "Known ARM CPUs (for use with the -mcpu= and -mtune= options):" +-msgstr "Відомі процесори ARM (для використання з опціями -mcpu= та -mtune=):" ++msgstr "" + + #: config/arm/arm-tables.opt:302 + #, no-c-format + msgid "Known ARM architectures (for use with the -march= option):" +-msgstr "Відомі архітектури ARM (для використання з опцією -march=):" ++msgstr "" + + #: config/arm/arm-tables.opt:408 + #, no-c-format + msgid "Known ARM FPUs (for use with the -mfpu= option):" +-msgstr "Відомі FPU ARM (для використання з опцією -mfpu=):" ++msgstr "" + + #: config/arm/arm.opt:38 + #, no-c-format + msgid "TLS dialect to use:" +-msgstr "Діалект TLS, який слід використовувати:" ++msgstr "" + + #: config/arm/arm.opt:48 + #, no-c-format + msgid "Specify an ABI." +-msgstr "Вказати ABI." ++msgstr "" + + #: config/arm/arm.opt:52 + #, no-c-format + msgid "Known ARM ABIs (for use with the -mabi= option):" +-msgstr "Відомі ABI ARM (для використання з опцією -mabi=):" ++msgstr "" + + #: config/arm/arm.opt:71 + #, no-c-format + msgid "Generate a call to abort if a noreturn function returns." +-msgstr "Згенерувати виклик функції «abort», якщо функція з атрибутом «noreturn» повертається." ++msgstr "" + + #: config/arm/arm.opt:78 + #, no-c-format + msgid "Generate APCS conformant stack frames." +-msgstr "Створювати стекові фрейми, відповідні до APCS." ++msgstr "" + + #: config/arm/arm.opt:82 + #, no-c-format + msgid "Generate re-entrant, PIC code." +-msgstr "Створювати код, який може бути викликаний з різних місць та є PIC." ++msgstr "" + + #: config/arm/arm.opt:104 + #, no-c-format + msgid "Generate code in 32 bit ARM state." +-msgstr "Створювати код у 32-бітному стані ARM." ++msgstr "" + + #: config/arm/arm.opt:112 + #, no-c-format + msgid "Thumb: Assume non-static functions may be called from ARM code." +-msgstr "Thumb: Припускати, що нестатичні функції можуть бути викликані з коду ARM." ++msgstr "" + + #: config/arm/arm.opt:116 + #, no-c-format + msgid "Thumb: Assume function pointers may go to non-Thumb aware code." +-msgstr "Thumb: Припускати, що вказівники на функції можуть вказувати на код, який не підтримує Thumb." ++msgstr "" + + #: config/arm/arm.opt:124 config/csky/csky.opt:73 + #, no-c-format + msgid "Specify if floating point hardware should be used." +-msgstr "Вказати, чи слід використовувати апаратне забезпечення з плаваючою комою." ++msgstr "" + + #: config/arm/arm.opt:128 + #, no-c-format + msgid "Specify that the compiler should target secure code as per ARMv8-M Security Extensions." +-msgstr "Вказати, що компілятор має спрямовуватися на безпечний код згідно з розширеннями безпеки ARMv8-M." ++msgstr "" + + #: config/arm/arm.opt:132 config/csky/csky.opt:77 + #, no-c-format + msgid "Known floating-point ABIs (for use with the -mfloat-abi= option):" +-msgstr "Відомі ABI з плаваючою комою (для використання з опцією -mfloat-abi=):" ++msgstr "" + + #: config/arm/arm.opt:145 + #, no-c-format + msgid "Switch ARM/Thumb modes on alternating functions for compiler testing." +-msgstr "Перемикати режими ARM/Thumb на чергуючих функціях для тестування компілятора." ++msgstr "" + + #: config/arm/arm.opt:149 + #, no-c-format + msgid "Specify the __fp16 floating-point format." +-msgstr "Вказати формат плаваючої коми __fp16." ++msgstr "" + + #: config/arm/arm.opt:153 + #, no-c-format + msgid "Known __fp16 formats (for use with the -mfp16-format= option):" +-msgstr "Відомі формати __fp16 (для використання з опцією -mfp16-format=):" ++msgstr "" + + #: config/arm/arm.opt:166 + #, no-c-format + msgid "Specify the name of the target floating point hardware/format." +-msgstr "Вказати назву апаратного/формату плаваючої коми цільової системи." ++msgstr "" + + #: config/arm/arm.opt:177 + #, no-c-format + msgid "Generate call insns as indirect calls, if necessary." +-msgstr "Генерувати інструкції виклику як непрямі виклики, якщо потрібно." ++msgstr "" + + #: config/arm/arm.opt:185 + #, no-c-format + msgid "Specify the register to be used for PIC addressing." +-msgstr "Вказати регістр, який буде використовуватися для адресації PIC." ++msgstr "" + + #: config/arm/arm.opt:189 + #, no-c-format + msgid "Store function names in object code." +-msgstr "Зберігати імена функцій у коді обʼєкта." ++msgstr "" + + #: config/arm/arm.opt:193 + #, no-c-format + msgid "Permit scheduling of a function's prologue sequence." +-msgstr "Дозволити планування послідовності прологу функції." ++msgstr "" + + #: config/arm/arm.opt:197 config/rs6000/rs6000.opt:235 + #, no-c-format + msgid "Do not load the PIC register in function prologues." +-msgstr "Не завантажувати регістр PIC у прологах функцій." ++msgstr "" + + #: config/arm/arm.opt:204 + #, no-c-format + msgid "Specify the minimum bit alignment of structures. (Deprecated)." +-msgstr "Вказати мінімальне вирівнювання бітів структур. (Застаріло)." ++msgstr "" + + #: config/arm/arm.opt:208 + #, no-c-format + msgid "Generate code for Thumb state." +-msgstr "Генерувати код для режиму Thumb." ++msgstr "" + + #: config/arm/arm.opt:212 + #, no-c-format + msgid "Support calls between Thumb and ARM instruction sets." +-msgstr "Підтримка викликів між наборами інструкцій Thumb та ARM." ++msgstr "" + + #: config/arm/arm.opt:216 + #, no-c-format + msgid "Specify thread local storage scheme." +-msgstr "Вказати схему локального сховища потоків." ++msgstr "" + + #: config/arm/arm.opt:220 + #, no-c-format + msgid "Specify how to access the thread pointer." +-msgstr "Вказати, як отримати доступ до вказівника потоку." ++msgstr "" + + #: config/arm/arm.opt:224 + #, no-c-format + msgid "Valid arguments to -mtp=:" +-msgstr "Дійсні аргументи для -mtp=:" ++msgstr "" + + #: config/arm/arm.opt:237 + #, no-c-format + msgid "Thumb: Generate (non-leaf) stack frames even if not needed." +-msgstr "Thumb: Генерувати (не-листочкові) стекові фрейми навіть якщо не потрібно." ++msgstr "" + + #: config/arm/arm.opt:241 + #, no-c-format + msgid "Thumb: Generate (leaf) stack frames even if not needed." +-msgstr "Thumb: Генерувати (листочкові) стекові фрейми навіть якщо не потрібно." ++msgstr "" + + #: config/arm/arm.opt:245 config/mn10300/mn10300.opt:42 + #, no-c-format + msgid "Tune code for the given processor." +-msgstr "Налаштувати код для заданого процесора." ++msgstr "" + + #: config/arm/arm.opt:249 + #, no-c-format + msgid "Print CPU tuning information as comment in assembler file. This is an option used only for regression testing of the compiler and not intended for ordinary use in compiling code." +-msgstr "Вивести інформацію про налаштування CPU як коментар у файлі асемблера. Ця опція використовується лише для регресійного тестування компілятора і не призначена для звичайного використання при компіляції коду." ++msgstr "" + + #: config/arm/arm.opt:260 + #, no-c-format + msgid "Use Neon quad-word (rather than double-word) registers for vectorization." +-msgstr "Використовувати Neon квадро-слова (замість двійкових слів) регістри для векторизації." ++msgstr "" + + #: config/arm/arm.opt:264 + #, no-c-format + msgid "Use Neon double-word (rather than quad-word) registers for vectorization." +-msgstr "Використовувати Neon двійкові слова (замість квадро-слів) регістри для векторизації." ++msgstr "" + + #: config/arm/arm.opt:268 + #, no-c-format + msgid "Enable more verbose RTX cost dumps during debug. For GCC developers use only." +-msgstr "Увімкнути більш детальний вивід витрат RTX під час налагодження. Тільки для розробників GCC." ++msgstr "" + + #: config/arm/arm.opt:272 + #, no-c-format + msgid "Only generate absolute relocations on word sized values." +-msgstr "Генерувати тільки абсолютні переклади для значень розміром слова." ++msgstr "" + + #: config/arm/arm.opt:276 + #, no-c-format + msgid "Generate IT blocks appropriate for ARMv8." +-msgstr "Генерувати блоки IT, відповідні для ARMv8." ++msgstr "" + + #: config/arm/arm.opt:280 + #, no-c-format + msgid "Avoid overlapping destination and address registers on LDRD instructions that may trigger Cortex-M3 errata." +-msgstr "Уникати перекриття регістрів призначення та адреси в інструкціях LDRD, які можуть спричинити помилки Cortex-M3." ++msgstr "" + + #: config/arm/arm.opt:285 + #, no-c-format + msgid "Mitigate issues with VLLDM on some M-profile devices (CVE-2021-35465)." +-msgstr "Усунути проблеми з VLLDM на деяких пристроях M-профілю (CVE-2021-35465)." ++msgstr "" + + #: config/arm/arm.opt:289 + #, no-c-format + msgid "Mitigate issues with AES instructions on Cortex-A57 and Cortex-A72 (Arm erratum #1742098)." +-msgstr "Усунути проблеми з інструкціями AES на Cortex-A57 та Cortex-A72 (Arm erratum #1742098)." ++msgstr "" + + #: config/arm/arm.opt:294 + #, no-c-format + msgid "Mitigate issues with AES instructions on Cortex-A57 and Cortex-A72 (Arm erratum #1655431)." +-msgstr "Усунути проблеми з інструкціями AES на Cortex-A57 та Cortex-A72 (Arm erratum #1655431)." ++msgstr "" + + #: config/arm/arm.opt:299 config/nds32/nds32.opt:461 config/arc/arc.opt:495 + #, no-c-format + msgid "Enable unaligned word and halfword accesses to packed data." +-msgstr "Увімкнути доступ до незаініціалізованих слів та напівслів до упакованих даних." ++msgstr "" + + #: config/arm/arm.opt:303 + #, no-c-format + msgid "This option is deprecated and has no effect." +-msgstr "Ця опція застаріла і не має жодного ефекту." ++msgstr "" + + #: config/arm/arm.opt:307 + #, no-c-format + msgid "Assume loading data from flash is slower than fetching instructions." +-msgstr "Припустити, що завантаження даних з флеш-памʼяті повільніше, ніж отримання інструкцій." ++msgstr "" + + #: config/arm/arm.opt:311 + #, no-c-format + msgid "Assume unified syntax for inline assembly code." +-msgstr "Припустити єдиний синтаксис для вбудованого коду асемблера." ++msgstr "" + + #: config/arm/arm.opt:315 + #, no-c-format + msgid "Do not allow constant data to be placed in code sections." +-msgstr "Не дозволяти розміщувати константні дані в розділах коду." ++msgstr "" + + #: config/arm/arm.opt:319 + #, no-c-format + msgid "When linking for big-endian targets, generate a BE8 format image." +-msgstr "При звʼязуванні для цілей з великим порядком байтів, генерувати зображення у форматі BE8." ++msgstr "" + + #: config/arm/arm.opt:323 + #, no-c-format + msgid "When linking for big-endian targets, generate a legacy BE32 format image." +-msgstr "При звʼязуванні для цілей з великим порядком байтів, генерувати зображення у форматі спадкового BE32." ++msgstr "" + + #: config/arm/arm.opt:327 config/sh/sh.opt:195 + #, no-c-format + msgid "Cost to assume for a branch insn." +-msgstr "Вартість, яку слід припустити для інструкції гілки." ++msgstr "" + + #: config/arm/arm.opt:335 + #, no-c-format + msgid "Generate code which uses the core registers only (r0-r14)." +-msgstr "Генерувати код, який використовує лише реєстри ядра (r0-r14)." ++msgstr "" + + #: config/arm/arm.opt:357 + #, no-c-format + msgid "Use an immediate to offset from the TLS register. This option is for use with fstack-protector-guard=tls and not for use in user-land code." +-msgstr "Використовувати негайний зсув від реєстру TLS. Ця опція призначена для використання з fstack-protector-guard=tls і не призначена для використання в коді користувача." ++msgstr "" + + #: config/sparc/sparc.opt:30 config/sparc/sparc.opt:34 + #: config/visium/visium.opt:37 + #, no-c-format + msgid "Use hardware FP." +-msgstr "Використовувати апаратну плаваючу кому." ++msgstr "" + + #: config/sparc/sparc.opt:38 config/visium/visium.opt:41 + #, no-c-format + msgid "Do not use hardware FP." +-msgstr "Не використовувати апаратну плаваючу кому." ++msgstr "" + + #: config/sparc/sparc.opt:42 + #, no-c-format + msgid "Use flat register window model." +-msgstr "Використовувати модель плоского вікна регістрів." ++msgstr "" + + #: config/sparc/sparc.opt:46 + #, no-c-format + msgid "Assume possible double misalignment." +-msgstr "Припускати можливу подвійну невідповідність." ++msgstr "" + + #: config/sparc/sparc.opt:50 + #, no-c-format + msgid "Use ABI reserved registers." +-msgstr "Використовувати зарезервовані регістри ABI." ++msgstr "" + + #: config/sparc/sparc.opt:54 + #, no-c-format + msgid "Use hardware quad FP instructions." +-msgstr "Використовувати апаратні чотирикратні FP-інструкції." ++msgstr "" + + #: config/sparc/sparc.opt:58 + #, no-c-format + msgid "Do not use hardware quad fp instructions." +-msgstr "Не використовувати апаратні чотирикратні FP-інструкції." ++msgstr "" + + #: config/sparc/sparc.opt:62 config/vax/vax.opt:47 + #, no-c-format + msgid "Enable Local Register Allocation." +-msgstr "Увімкнути локальне розподілення регістрів." ++msgstr "" + + #: config/sparc/sparc.opt:66 + #, no-c-format + msgid "Compile for V8+ ABI." +-msgstr "Компілювати для ABI V8+." ++msgstr "" + + #: config/sparc/sparc.opt:70 + #, no-c-format + msgid "Use UltraSPARC Visual Instruction Set version 1.0 extensions." +-msgstr "Використовувати розширення UltraSPARC Visual Instruction Set версії 1.0." ++msgstr "" + + #: config/sparc/sparc.opt:74 + #, no-c-format + msgid "Use UltraSPARC Visual Instruction Set version 2.0 extensions." +-msgstr "Використовувати розширення UltraSPARC Visual Instruction Set версії 2.0." ++msgstr "" + + #: config/sparc/sparc.opt:78 + #, no-c-format + msgid "Use UltraSPARC Visual Instruction Set version 3.0 extensions." +-msgstr "Використовувати розширення UltraSPARC Visual Instruction Set версії 3.0." ++msgstr "" + + #: config/sparc/sparc.opt:82 + #, no-c-format + msgid "Use UltraSPARC Visual Instruction Set version 4.0 extensions." +-msgstr "Використовуйте розширення UltraSPARC Visual Instruction Set версії 4.0." ++msgstr "" + + #: config/sparc/sparc.opt:86 + #, no-c-format + msgid "Use additional VIS instructions introduced in OSA2017." +-msgstr "Використовуйте додаткові інструкції VIS, введені в OSA2017." ++msgstr "" + + #: config/sparc/sparc.opt:90 + #, no-c-format + msgid "Use UltraSPARC Compare-and-Branch extensions." +-msgstr "Використовуйте розширення UltraSPARC Compare-and-Branch." ++msgstr "" + + #: config/sparc/sparc.opt:94 + #, no-c-format + msgid "Use UltraSPARC Fused Multiply-Add extensions." +-msgstr "Використовуйте розширення UltraSPARC Fused Multiply-Add." ++msgstr "" + + #: config/sparc/sparc.opt:98 + #, no-c-format + msgid "Use Floating-point Multiply Single to Double (FsMULd) instruction." +-msgstr "Використовуйте інструкцію з множення з плаваючою точкою з одинарної на подвійну точність (FsMULd)." ++msgstr "" + + #: config/sparc/sparc.opt:102 + #, no-c-format + msgid "Use UltraSPARC Population-Count instruction." +-msgstr "Використовуйте інструкцію UltraSPARC Population-Count." ++msgstr "" + + #: config/sparc/sparc.opt:106 + #, no-c-format + msgid "Use UltraSPARC Subtract-Extended-with-Carry instruction." +-msgstr "Використовуйте інструкцію віднімання з розширенням з переносом UltraSPARC." ++msgstr "" + + #: config/sparc/sparc.opt:110 + #, no-c-format + msgid "Pointers are 64-bit." +-msgstr "Вказівники мають розмір 64 біти." ++msgstr "" + + #: config/sparc/sparc.opt:114 + #, no-c-format + msgid "Pointers are 32-bit." +-msgstr "Вказівники мають розмір 32 біти." ++msgstr "" + + #: config/sparc/sparc.opt:118 + #, no-c-format + msgid "Use 64-bit ABI." +-msgstr "Використовуйте 64-бітне ABI." ++msgstr "" + + #: config/sparc/sparc.opt:122 + #, no-c-format + msgid "Use 32-bit ABI." +-msgstr "Використовуйте 32-бітне ABI." ++msgstr "" + + #: config/sparc/sparc.opt:126 + #, no-c-format + msgid "Use stack bias." +-msgstr "Використовуйте зсув стеку." ++msgstr "" + + #: config/sparc/sparc.opt:130 + #, no-c-format + msgid "Use structs on stronger alignment for double-word copies." +-msgstr "Використовуйте структури з більшою вирівнюванням для копіювання двохслівних даних." ++msgstr "" + + #: config/sparc/sparc.opt:134 + #, no-c-format + msgid "Optimize tail call instructions in assembler and linker." +-msgstr "Оптимізуйте інструкції хвостового виклику в асемблері та лінкері." ++msgstr "" + + #: config/sparc/sparc.opt:138 + #, no-c-format + msgid "Do not generate code that can only run in supervisor mode (default)." +-msgstr "Не генерувати код, який може працювати тільки в режимі супервізора (за замовчуванням)." ++msgstr "" + + #: config/sparc/sparc.opt:142 + #, no-c-format + msgid "Use instructions of and schedule code for given CPU." +-msgstr "Використовуйте інструкції та розкладайте код для вказаного процесора." ++msgstr "" + + #: config/sparc/sparc.opt:228 + #, no-c-format + msgid "Use given SPARC-V9 code model." +-msgstr "Використовуйте задану модель коду SPARC-V9." ++msgstr "" + + #: config/sparc/sparc.opt:250 + #, no-c-format + msgid "Enable debug output." +-msgstr "Увімкнути вивід для налагодження." ++msgstr "Увімкнути виведення діагностичних даних." + + #: config/sparc/sparc.opt:254 + #, no-c-format + msgid "Enable strict 32-bit psABI struct return checking." +-msgstr "Увімкнути строгу перевірку повернення структур psABI 32-біт." ++msgstr "" + + #: config/sparc/sparc.opt:258 + #, no-c-format + msgid "Enable workaround for single erratum of AT697F processor (corresponding to erratum #13 of AT697E processor)." +-msgstr "Увімкнути обхід для одного помилкового сценарію процесора AT697F (відповідає помилковому сценарію №13 процесора AT697E)." ++msgstr "" + + #: config/sparc/sparc.opt:263 + #, no-c-format + msgid "Enable workarounds for the errata of the UT699 processor." +-msgstr "Увімкнути обхідні рішення для помилок процесора UT699." ++msgstr "" + + #: config/sparc/sparc.opt:267 + #, no-c-format + msgid "Enable workarounds for the errata of the UT699E/UT700 processor." +-msgstr "Увімкнути обхідні рішення для помилок процесорів UT699E/UT700." ++msgstr "" + + #: config/sparc/sparc.opt:271 + #, no-c-format + msgid "Enable workarounds for the errata of the GR712RC processor." +-msgstr "Увімкнути обхідні рішення для помилок процесора GR712RC." ++msgstr "" + + #: config/sparc/sparc.opt:308 + #, no-c-format + msgid "Specify the memory model in effect for the program." +-msgstr "Вказати модель памʼяті, що застосовується для програми." ++msgstr "" + + #: config/rs6000/darwin.opt:38 config/rs6000/sysv4.opt:145 + #, no-c-format + msgid "Generate 64-bit code." +-msgstr "Генерувати 64-бітний код." ++msgstr "" + + #: config/rs6000/darwin.opt:42 config/rs6000/sysv4.opt:149 + #, no-c-format + msgid "Generate 32-bit code." +-msgstr "Генерувати 32-бітний код." ++msgstr "" + + #: config/rs6000/rs6000-tables.opt:24 + #, no-c-format + msgid "Known CPUs (for use with the -mcpu= and -mtune= options):" +-msgstr "Відомі процесори (для використання з опціями -mcpu= та -mtune=):" ++msgstr "" + + #: config/rs6000/476.opt:24 + #, no-c-format + msgid "Preserve the PowerPC 476's link stack by matching up a blr with the bcl/bl insns used for GOT accesses." +-msgstr "Зберегти стек звʼязку PowerPC 476 з допомогою парування blr з інструкціями bcl/bl, що використовуються для доступу до GOT." ++msgstr "" + + #: config/rs6000/aix64.opt:24 + #, no-c-format + msgid "Compile for 64-bit pointers." +-msgstr "Компілювати для 64-бітних вказівників." ++msgstr "" + + #: config/rs6000/aix64.opt:28 + #, no-c-format + msgid "Compile for 32-bit pointers." +-msgstr "Компілювати для 32-бітних вказівників." ++msgstr "" + + #: config/rs6000/aix64.opt:32 config/rs6000/linux64.opt:28 + #, no-c-format + msgid "Select code model." +-msgstr "Вибрати модель коду." ++msgstr "" + + #: config/rs6000/aix64.opt:49 + #, no-c-format + msgid "Support message passing with the Parallel Environment." +-msgstr "Підтримка передачі повідомлень з паралельним середовищем." ++msgstr "" + + #: config/rs6000/linux64.opt:24 + #, no-c-format + msgid "Call mcount for profiling before a function prologue." +-msgstr "Викликати mcount для профілювання перед прологом функції." ++msgstr "" + + #: config/rs6000/rs6000.opt:117 + #, no-c-format + msgid "Use PowerPC-64 instruction set." +-msgstr "Використовувати набір інструкцій PowerPC-64." ++msgstr "" + + #: config/rs6000/rs6000.opt:121 + #, no-c-format + msgid "Use PowerPC General Purpose group optional instructions." +-msgstr "Використовувати необовʼязкові інструкції групи загального призначення PowerPC." ++msgstr "" + + #: config/rs6000/rs6000.opt:125 + #, no-c-format + msgid "Use PowerPC Graphics group optional instructions." +-msgstr "Використовувати необовʼязкові інструкції групи графіки PowerPC." ++msgstr "" + + #: config/rs6000/rs6000.opt:129 + #, no-c-format + msgid "Use PowerPC V2.01 single field mfcr instruction." +-msgstr "Використовувати інструкцію mfcr з одним полем PowerPC V2.01." ++msgstr "" + + #: config/rs6000/rs6000.opt:133 + #, no-c-format + msgid "Use PowerPC V2.02 popcntb instruction." +-msgstr "Використовувати інструкцію popcntb PowerPC V2.02." ++msgstr "" + + #: config/rs6000/rs6000.opt:137 + #, no-c-format + msgid "Use PowerPC V2.02 floating point rounding instructions." +-msgstr "Використовуйте інструкції округлення з плаваючою комою PowerPC V2.02." ++msgstr "" + + #: config/rs6000/rs6000.opt:141 + #, no-c-format + msgid "Use PowerPC V2.05 compare bytes instruction." +-msgstr "Використовуйте інструкцію порівняння байтів PowerPC V2.05." ++msgstr "" + + #: config/rs6000/rs6000.opt:152 + #, no-c-format + msgid "Use AltiVec instructions." +-msgstr "Використовуйте інструкції AltiVec." ++msgstr "" + + #: config/rs6000/rs6000.opt:156 + #, no-c-format + msgid "Use decimal floating point instructions." +-msgstr "Використовуйте інструкції десяткової плаваючої коми." ++msgstr "" + + #: config/rs6000/rs6000.opt:160 + #, no-c-format + msgid "Use 4xx half-word multiply instructions." +-msgstr "Використовувати інструкції множення напівслів 4xx." ++msgstr "" + + #: config/rs6000/rs6000.opt:164 + #, no-c-format + msgid "Use 4xx string-search dlmzb instruction." +-msgstr "Використовуйте інструкцію пошуку рядка dlmzb 4xx." ++msgstr "" + + #: config/rs6000/rs6000.opt:168 + #, no-c-format + msgid "Generate load/store multiple instructions." +-msgstr "Генерувати інструкції завантаження/збереження декількох значень." ++msgstr "" + + #: config/rs6000/rs6000.opt:187 + #, no-c-format + msgid "Use PowerPC V2.06 popcntd instruction." +-msgstr "Використовуйте інструкцію popcntd PowerPC V2.06." ++msgstr "" + + #: config/rs6000/rs6000.opt:191 + #, no-c-format + msgid "Under -ffast-math, generate a FRIZ instruction for (double)(long long) conversions." +-msgstr "При використанні -ffast-math, генерувати інструкцію FRIZ для перетворень (double)(long long)." ++msgstr "" + + #: config/rs6000/rs6000.opt:199 + #, no-c-format + msgid "Use vector/scalar (VSX) instructions." +-msgstr "Використовуйте інструкції вектор/скаляр (VSX)." ++msgstr "" + + #: config/rs6000/rs6000.opt:227 + #, no-c-format + msgid "Do not generate load/store with update instructions." +-msgstr "Не генерувати інструкції завантаження/збереження з оновленням." ++msgstr "" + + #: config/rs6000/rs6000.opt:231 + #, no-c-format + msgid "Generate load/store with update instructions." +-msgstr "Генерувати інструкції завантаження/збереження з оновленням." ++msgstr "" + + #: config/rs6000/rs6000.opt:239 + #, no-c-format + msgid "Avoid generation of indexed load/store instructions when possible." +-msgstr "Уникайте генерації індексованих інструкцій завантаження/збереження, якщо це можливо." ++msgstr "" + + #: config/rs6000/rs6000.opt:246 + #, no-c-format + msgid "Schedule the start and end of the procedure." +-msgstr "Заплануйте початок і кінець процедури." ++msgstr "" + + #: config/rs6000/rs6000.opt:250 + #, no-c-format + msgid "Return all structures in memory (AIX default)." +-msgstr "Повертайте всі структури у памʼяті (типове значення AIX)." ++msgstr "" + + #: config/rs6000/rs6000.opt:254 + #, no-c-format + msgid "Return small structures in registers (SVR4 default)." +-msgstr "Повертайте невеликі структури у регістрах (типове значення SVR4)." ++msgstr "" + + #: config/rs6000/rs6000.opt:258 + #, no-c-format + msgid "Conform more closely to IBM XLC semantics." +-msgstr "Більш точно відповідайте семантиці IBM XLC." ++msgstr "" + + #: config/rs6000/rs6000.opt:262 config/rs6000/rs6000.opt:266 + #, no-c-format + msgid "Generate software reciprocal divide and square root for better throughput." +-msgstr "Генерувати програмне ділення зворотним значенням та квадратний корінь для кращої продуктивності." ++msgstr "" + + #: config/rs6000/rs6000.opt:270 + #, no-c-format + msgid "Assume that the reciprocal estimate instructions provide more accuracy." +-msgstr "Припустимо, що інструкції оцінки оберненого значення надають більшу точність." ++msgstr "" + + #: config/rs6000/rs6000.opt:274 + #, no-c-format + msgid "Do not place floating point constants in TOC." +-msgstr "Не розміщуйте константи з плаваючою точкою в TOC." ++msgstr "" + + #: config/rs6000/rs6000.opt:278 + #, no-c-format + msgid "Place floating point constants in TOC." +-msgstr "Розмістіть константи з плаваючою точкою в TOC." ++msgstr "" + + #: config/rs6000/rs6000.opt:282 + #, no-c-format + msgid "Do not place symbol+offset constants in TOC." +-msgstr "Не розміщуйте константи символу+зсуву в TOC." ++msgstr "" + + #: config/rs6000/rs6000.opt:286 + #, no-c-format + msgid "Place symbol+offset constants in TOC." +-msgstr "Розмістіть константи символу+зсуву в TOC." ++msgstr "" + + #: config/rs6000/rs6000.opt:297 + #, no-c-format + msgid "Use only one TOC entry per procedure." +-msgstr "Використовуйте лише один запис TOC для кожної процедури." ++msgstr "" + + #: config/rs6000/rs6000.opt:301 + #, no-c-format + msgid "Put everything in the regular TOC." +-msgstr "Помістіть все в звичайний TOC." ++msgstr "" + + #: config/rs6000/rs6000.opt:305 + #, no-c-format + msgid "Generate VRSAVE instructions when generating AltiVec code." +-msgstr "Генерувати інструкції VRSAVE при генерації коду AltiVec." ++msgstr "" + + #: config/rs6000/rs6000.opt:309 + #, no-c-format + msgid "Deprecated option. Use -mno-vrsave instead." +-msgstr "Застаріла опція. Використовуйте -mno-vrsave замість цього." ++msgstr "" + + #: config/rs6000/rs6000.opt:313 + #, no-c-format + msgid "Deprecated option. Use -mvrsave instead." +-msgstr "Застаріла опція. Використовуйте -mvrsave замість неї." ++msgstr "" + + #: config/rs6000/rs6000.opt:317 + #, no-c-format + msgid "Max number of bytes to move inline." +-msgstr "Максимальна кількість байтів для переміщення в рядку." ++msgstr "" + + #: config/rs6000/rs6000.opt:321 + #, no-c-format + msgid "Generate unaligned VSX load/store for inline expansion of memcpy/memmove." +-msgstr "Генерувати незбалансоване завантаження/збереження VSX для вбудованого розширення memcpy/memmove." ++msgstr "" + + #: config/rs6000/rs6000.opt:325 + #, no-c-format + msgid "Generate unaligned VSX vector pair load/store for inline expansion of memcpy/memmove." +-msgstr "Генерувати незбалансоване завантаження/збереження пари векторів VSX для вбудованого розширення memcpy/memmove." ++msgstr "" + + #: config/rs6000/rs6000.opt:329 + #, no-c-format + msgid "Max number of bytes to compare without loops." +-msgstr "Максимальна кількість байтів для порівняння без циклів." ++msgstr "" + + #: config/rs6000/rs6000.opt:333 + #, no-c-format + msgid "Max number of bytes to compare with loops." +-msgstr "Максимальна кількість байтів для порівняння з циклами." ++msgstr "" + + #: config/rs6000/rs6000.opt:337 + #, no-c-format + msgid "Max number of bytes to compare." +-msgstr "Максимальна кількість байтів для порівняння." ++msgstr "" + + #: config/rs6000/rs6000.opt:341 + #, no-c-format + msgid "Generate isel instructions." +-msgstr "Генерувати інструкції isel." ++msgstr "" + + #: config/rs6000/rs6000.opt:345 + #, no-c-format + msgid "-mdebug=\tEnable debug output." +-msgstr "-mdebug=\tУвімкнути вивід для налагодження." ++msgstr "-mdebug=\tУвімкнути виведення діагностичних даних." + + #: config/rs6000/rs6000.opt:350 + #, no-c-format + msgid "Use the AltiVec ABI extensions." +-msgstr "Використовувати розширення AltiVec ABI." ++msgstr "" + + #: config/rs6000/rs6000.opt:354 + #, no-c-format + msgid "Do not use the AltiVec ABI extensions." +-msgstr "Не використовуйте розширення AltiVec ABI." ++msgstr "" + + #: config/rs6000/rs6000.opt:359 + #, no-c-format + msgid "Use the AIX Vector Extended ABI." +-msgstr "Використовуйте розширення AIX Vector Extended ABI." ++msgstr "" + + #: config/rs6000/rs6000.opt:363 + #, no-c-format + msgid "Do not use the AIX Vector Extended ABI." +-msgstr "Не використовуйте розширення AIX Vector Extended ABI." ++msgstr "" + + #: config/rs6000/rs6000.opt:368 + #, no-c-format + msgid "Use the ELFv1 ABI." +-msgstr "Використовуйте розширення ELFv1 ABI." ++msgstr "" + + #: config/rs6000/rs6000.opt:372 + #, no-c-format + msgid "Use the ELFv2 ABI." +-msgstr "Використовуйте розширення ELFv2 ABI." ++msgstr "" + + #: config/rs6000/rs6000.opt:392 + #, no-c-format + msgid "-mcpu=\tUse features of and schedule code for given CPU." +-msgstr "-mcpu=\tВикористовуйте можливості та розкладайте код для вказаного процесора." ++msgstr "" + + #: config/rs6000/rs6000.opt:396 + #, no-c-format + msgid "-mtune=\tSchedule code for given CPU." +-msgstr "-mtune=\tРозкладайте код для вказаного процесора." ++msgstr "" + + #: config/rs6000/rs6000.opt:400 + #, no-c-format + msgid "-mtraceback=[full,part,no]\tSelect type of traceback table." +-msgstr "-mtraceback=[full,part,no]\tВиберіть тип таблиці відстеження." ++msgstr "" + + #: config/rs6000/rs6000.opt:416 + #, no-c-format + msgid "Avoid all range limits on call instructions." +-msgstr "Уникайте всіх обмежень діапазону на інструкціях виклику." ++msgstr "" + + #: config/rs6000/rs6000.opt:424 + #, no-c-format + msgid "Warn about deprecated 'vector long ...' AltiVec type usage." +-msgstr "Попереджати про застаріле використання типу AltiVec «vector long ...»." ++msgstr "" + + #: config/rs6000/rs6000.opt:428 + #, no-c-format + msgid "Use -mlong-double-64 for 64-bit IEEE floating point format. Use -mlong-double-128 for 128-bit floating point format (either IEEE or IBM)." +-msgstr "Використовуйте -mlong-double-64 для формату з плаваючою комою IEEE 64-біт. Використовуйте -mlong-double-128 для формату з плаваючою комою 128-біт (або IEEE, або IBM)." ++msgstr "" + + #: config/rs6000/rs6000.opt:437 + #, no-c-format + msgid "Determine which dependences between insns are considered costly." +-msgstr "Визначити, які залежності між інструкціями вважаються витратними." ++msgstr "" + + #: config/rs6000/rs6000.opt:441 + #, no-c-format + msgid "Specify which post scheduling nop insertion scheme to apply." +-msgstr "Вказати, яку схему вставки NOP після планування застосувати." ++msgstr "" + + #: config/rs6000/rs6000.opt:445 + #, no-c-format + msgid "Specify alignment of structure fields default/natural." +-msgstr "Вказати вирівнювання полів структури за замовчуванням/природне." ++msgstr "" + + #: config/rs6000/rs6000.opt:449 + #, no-c-format + msgid "Valid arguments to -malign-:" +-msgstr "Дійсні аргументи для -malign-:" ++msgstr "" + + #: config/rs6000/rs6000.opt:459 + #, no-c-format + msgid "Specify scheduling priority for dispatch slot restricted insns." +-msgstr "Вказати пріоритет планування для обмежених інструкцій вирішувального слоту." ++msgstr "" + + #: config/rs6000/rs6000.opt:463 + #, no-c-format + msgid "Use r11 to hold the static link in calls to functions via pointers." +-msgstr "Використовуйте регістр r11 для зберігання статичного звʼязку при викликах функцій через вказівники." ++msgstr "" + + #: config/rs6000/rs6000.opt:467 + #, no-c-format + msgid "Save the TOC in the prologue for indirect calls rather than inline." +-msgstr "Зберігайте TOC в прологу для непрямих викликів, а не вбудованих." ++msgstr "" + + #: config/rs6000/rs6000.opt:475 + #, no-c-format + msgid "Fuse certain integer operations together for better performance on power8." +-msgstr "Обʼєднуйте певні цілочисельні операції для кращої продуктивності на power8." ++msgstr "" + + #: config/rs6000/rs6000.opt:479 + #, no-c-format + msgid "Allow sign extension in fusion operations." +-msgstr "Дозволяйте розширення знаку в операціях злиття." ++msgstr "" + + #: config/rs6000/rs6000.opt:483 + #, no-c-format + msgid "Use vector and scalar instructions added in ISA 2.07." +-msgstr "Використовуйте векторні та скалярні інструкції, додані в ISA 2.07." ++msgstr "" + + #: config/rs6000/rs6000.opt:487 + #, no-c-format + msgid "Fuse certain integer operations together for better performance on power10." +-msgstr "Обʼєднуйте певні цілочисельні операції для кращої продуктивності на power10." ++msgstr "" + + #: config/rs6000/rs6000.opt:491 + #, no-c-format + msgid "Use ISA 2.07 Category:Vector.AES and Category:Vector.SHA2 instructions." +-msgstr "Використовуйте інструкції ISA 2.07 Category:Vector.AES та Category:Vector.SHA2." ++msgstr "" + + #: config/rs6000/rs6000.opt:498 + #, no-c-format + msgid "Use ISA 2.07 transactional memory (HTM) instructions." +-msgstr "Використовуйте інструкції транзакційної памʼяті ISA 2.07 (HTM)." ++msgstr "" + + #: config/rs6000/rs6000.opt:502 + #, no-c-format + msgid "Generate the quad word memory instructions (lq/stq)." +-msgstr "Створюйте інструкції памʼяті квадратного слова (lq/stq)." ++msgstr "" + + #: config/rs6000/rs6000.opt:506 + #, no-c-format + msgid "Generate the quad word memory atomic instructions (lqarx/stqcx)." +-msgstr "Генерувати атомні інструкції памʼяті квадратного слова (lqarx/stqcx)." ++msgstr "" + + #: config/rs6000/rs6000.opt:510 + #, no-c-format + msgid "Generate aggregate parameter passing code with at most 64-bit alignment." +-msgstr "Генерувати код передачі агрегатних параметрів з максимальним вирівнюванням 64 біти." ++msgstr "" + + #: config/rs6000/rs6000.opt:514 + #, no-c-format + msgid "Analyze and remove doubleword swaps from VSX computations." +-msgstr "Аналізувати та видаляти обміни двохслівних слів з обчислень VSX." ++msgstr "" + + #: config/rs6000/rs6000.opt:522 + #, no-c-format + msgid "Use certain scalar instructions added in ISA 3.0." +-msgstr "Використовувати певні скалярні інструкції, додані в ISA 3.0." ++msgstr "" + + #: config/rs6000/rs6000.opt:526 + #, no-c-format + msgid "Use vector instructions added in ISA 3.0." +-msgstr "Використовувати векторні інструкції, додані в ISA 3.0." ++msgstr "" + + #: config/rs6000/rs6000.opt:530 + #, no-c-format + msgid "Use the new min/max instructions defined in ISA 3.0." +-msgstr "Використовувати нові інструкції min/max, визначені в ISA 3.0." ++msgstr "" + + #: config/rs6000/rs6000.opt:534 + #, no-c-format + msgid "Generate the integer modulo instructions." +-msgstr "Генерувати інструкції з цілим залишком." ++msgstr "" + + #: config/rs6000/rs6000.opt:538 + #, no-c-format + msgid "Enable IEEE 128-bit floating point via the __float128 keyword." +-msgstr "Увімкнути IEEE 128-бітне плаваюча кома з використанням ключового слова __float128." ++msgstr "" + + #: config/rs6000/rs6000.opt:542 + #, no-c-format + msgid "Enable using IEEE 128-bit floating point instructions." +-msgstr "Увімкнути використання інструкцій з плаваючою комою IEEE 128 біт." ++msgstr "" + + #: config/rs6000/rs6000.opt:546 + #, no-c-format + msgid "Enable default conversions between __float128 & long double." +-msgstr "Увімкнути типові перетворення між __float128 та long double." ++msgstr "" + + #: config/rs6000/rs6000.opt:586 + #, no-c-format + msgid "Generate (do not generate) prefixed memory instructions." +-msgstr "Генерувати (не генерувати) інструкції памʼяті з префіксом." ++msgstr "" + + #: config/rs6000/rs6000.opt:590 + #, no-c-format + msgid "Generate (do not generate) pc-relative memory addressing." +-msgstr "Створювати (не створювати) адресування памʼяті відносно PC." ++msgstr "" + + #: config/rs6000/rs6000.opt:594 + #, no-c-format + msgid "Generate (do not generate) pc-relative memory optimizations for externals." +-msgstr "Створювати (не створювати) оптимізації памʼяті відносно PC для зовнішніх обʼєктів." ++msgstr "" + + #: config/rs6000/rs6000.opt:598 + #, no-c-format +@@ -9377,4169 +9397,4170 @@ msgstr "Створювати (не створювати) інструкції MM + #: config/rs6000/rs6000.opt:605 + #, no-c-format + msgid "Enable instructions that guard against return-oriented programming attacks." +-msgstr "Увімкнути інструкції, що захищають від атак, заснованих на орієнтованому поверненні." ++msgstr "" + + #: config/rs6000/rs6000.opt:609 + #, no-c-format + msgid "Generate code that will run in privileged state." +-msgstr "Генерувати код, який буде виконуватися в привілейованому стані." ++msgstr "" + + #: config/rs6000/rs6000.opt:613 + #, no-c-format + msgid "Generate (do not generate) code that uses the XXSPLTIW instruction." +-msgstr "Генерувати (не генерувати) код, який використовує інструкцію XXSPLTIW." ++msgstr "" + + #: config/rs6000/rs6000.opt:617 + #, no-c-format + msgid "Generate (do not generate) code that uses the XXSPLTIDP instruction." +-msgstr "Генерувати (не генерувати) код, який використовує інструкцію XXSPLTIDP." ++msgstr "" + + #: config/rs6000/rs6000.opt:621 + #, no-c-format + msgid "Generate (do not generate) code that uses the LXVKQ instruction." +-msgstr "Генерувати (не генерувати) код, який використовує інструкцію LXVKQ." ++msgstr "" + + #: config/rs6000/rs6000.opt:627 + #, no-c-format + msgid "Used to limit unroll factor which indicates how much the autovectorizer may unroll a loop. The default value is 4." +-msgstr "Використовується для обмеження фактора розгортання, який вказує, наскільки автоматичний векторизатор може розгорнути цикл. Значення за замовчуванням - 4." ++msgstr "" + + #: config/rs6000/rs6000.opt:633 + #, no-c-format + msgid "When costing for loop vectorization, we probably need to penalize the loop body cost if the existing cost model may not adequately reflect delays from unavailable vector resources. We collect the cost for vectorized statements and non-vectorized statements separately, check the proportion of vec_cost to total cost of vec_cost and non vec_cost, and penalize only if the proportion exceeds the threshold specified by this parameter. The default value is 85." +-msgstr "При вартості векторизації циклу, ми, ймовірно, повинні покарати вартість тіла циклу, якщо існуюча модель вартості може недостатньо відбивати затримки від недоступних векторних ресурсів. Ми окремо збираємо вартість для векторизованих та невекторизованих операторів, перевіряємо співвідношення vec_cost до загальної вартості vec_cost та non vec_cost, і покараємо лише якщо співвідношення перевищує поріг, вказаний цим параметром. Значення за замовчуванням - 85." ++msgstr "" + + #: config/rs6000/rs6000.opt:642 + #, no-c-format + msgid "Like parameter rs6000-density-pct-threshold, we also check the total sum of vec_cost and non vec_cost, and penalize only if the sum exceeds the threshold specified by this parameter. The default value is 70." +-msgstr "Подібно до параметра rs6000-density-pct-threshold, ми також перевіряємо загальну суму vec_cost та non vec_cost і накладаємо штраф лише у випадку, якщо сума перевищує поріг, вказаний цим параметром. Значення за замовчуванням - 70." ++msgstr "" + + #: config/rs6000/rs6000.opt:648 + #, no-c-format + msgid "When both heuristics with rs6000-density-pct-threshold and rs6000-density-size-threshold are satisfied, we decide to penalize the loop body cost by the value which is specified by this parameter. The default value is 10." +-msgstr "Коли обидва евристики rs6000-density-pct-threshold та rs6000-density-size-threshold задовольняються, ми вирішуємо покарати вартість тіла циклу значенням, яке вказано цим параметром. Значення за замовчуванням - 10." ++msgstr "" + + #: config/rs6000/rs6000.opt:655 + #, no-c-format + msgid "When costing for loop vectorization, we probably need to penalize the loop body cost by accounting for excess strided or elementwise loads. We collect the numbers for general statements and load statements according to the information for statements to be vectorized, check the proportion of load statements, and penalize only if the proportion exceeds the threshold specified by this parameter. The default value is 45." +-msgstr "При оцінці вартості векторизації циклу, ми, ймовірно, повинні покарати вартість тіла циклу, враховуючи надмірні зарядження з кроком або поелементні зарядження. Ми збираємо числа загальних операторів та операторів зарядження згідно з інформацією для операторів, які мають бути векторизовані, перевіряємо відношення операторів зарядження та покараємо лише якщо відношення перевищує поріг, вказаний цим параметром. Значення за замовчуванням - 45." ++msgstr "" + + #: config/rs6000/rs6000.opt:664 + #, no-c-format + msgid "Like parameter rs6000-density-load-pct-threshold, we also check if the total number of load statements exceeds the threshold specified by this parameter, and penalize only if it's satisfied. The default value is 20." +-msgstr "Подібно до параметра rs6000-density-load-pct-threshold, ми також перевіряємо, чи перевищує загальна кількість заявок на завантаження поріг, вказаний цим параметром, і штрафуємо лише у разі його виконання. Значення за замовчуванням - 20." ++msgstr "" + + #: config/rs6000/rs6000.opt:670 + #, no-c-format + msgid "Indicate how many non memory access vector instructions can be issued per cycle, it's used in unroll factor determination for autovectorizer. The default value is 4." +-msgstr "Вказує, скільки векторних інструкцій, що не використовують доступ до памʼяті, можуть бути видані за цикл. Використовується при визначенні фактора розгортання для автовекторизатора. Значення за замовчуванням - 4." ++msgstr "" + + #: config/rs6000/rs6000.opt:676 + #, no-c-format + msgid "When reduction factor computed for a loop exceeds the threshold specified by this parameter, prefer to unroll this loop. The default value is 1." +-msgstr "Якщо фактор зменшення, обчислений для циклу, перевищує поріг, вказаний цим параметром, віддається перевага розгортанню цього циклу. Значення за замовчуванням - 1." ++msgstr "" + + #: config/rs6000/sysv4.opt:24 + #, no-c-format + msgid "-mcall-ABI\tSelect ABI calling convention." +-msgstr "-mcall-ABI\tВиберіть конвенцію виклику ABI." ++msgstr "" + + #: config/rs6000/sysv4.opt:28 + #, no-c-format + msgid "-msdata=[none,data,sysv,eabi]\tSelect method for sdata handling." +-msgstr "-msdata=[none,data,sysv,eabi]\tВиберіть метод обробки sdata." ++msgstr "" + + #: config/rs6000/sysv4.opt:32 + #, no-c-format + msgid "Allow readonly data in sdata." +-msgstr "Дозволити тільки читання даних в sdata." ++msgstr "" + + #: config/rs6000/sysv4.opt:36 + #, no-c-format + msgid "-mtls-size=[16,32]\tSpecify bit size of immediate TLS offsets." +-msgstr "-mtls-size=[16,32]\tВказати розмір бітів негайних зсувів TLS." ++msgstr "" + + #: config/rs6000/sysv4.opt:52 + #, no-c-format + msgid "Align to the base type of the bit-field." +-msgstr "Вирівняти за базовим типом бітового поля." ++msgstr "" + + #: config/rs6000/sysv4.opt:56 + #, no-c-format + msgid "Align to the base type of the bit-field. Don't assume that unaligned accesses are handled by the system." +-msgstr "Вирівняти за базовим типом бітового поля. Не припускати, що незаініціалізовані доступи обробляються системою." ++msgstr "" + + #: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65 + #, no-c-format + msgid "Produce code relocatable at runtime." +-msgstr "Створювати код, який можна переміщувати під час виконання." ++msgstr "" + + #: config/rs6000/sysv4.opt:69 config/rs6000/sysv4.opt:73 + #, no-c-format + msgid "Produce little endian code." +-msgstr "Створювати код у форматі little endian." ++msgstr "" + + #: config/rs6000/sysv4.opt:77 config/rs6000/sysv4.opt:81 + #, no-c-format + msgid "Produce big endian code." +-msgstr "Створювати код у форматі big endian." ++msgstr "" + + #: config/rs6000/sysv4.opt:86 config/rs6000/sysv4.opt:90 + #: config/rs6000/sysv4.opt:99 config/rs6000/sysv4.opt:141 + #: config/rs6000/sysv4.opt:153 + #, no-c-format + msgid "No description yet." +-msgstr "Поки що немає опису." ++msgstr "" + + #: config/rs6000/sysv4.opt:94 + #, no-c-format + msgid "Assume all variable arg functions are prototyped." +-msgstr "Припускати, що всі функції зі змінною кількістю аргументів мають прототип." ++msgstr "" + + #: config/rs6000/sysv4.opt:103 + #, no-c-format + msgid "Use EABI." +-msgstr "Використовувати EABI." ++msgstr "" + + #: config/rs6000/sysv4.opt:107 + #, no-c-format + msgid "Allow bit-fields to cross word boundaries." +-msgstr "Дозволити полям бітів перетинати межі слова." ++msgstr "" + + #: config/rs6000/sysv4.opt:111 + #, no-c-format + msgid "Use alternate register names." +-msgstr "Використовувати альтернативні назви регістрів." ++msgstr "" + + #: config/rs6000/sysv4.opt:117 + #, no-c-format + msgid "Use default method for sdata handling." +-msgstr "Використовувати метод за замовчуванням для обробки sdata." ++msgstr "" + + #: config/rs6000/sysv4.opt:121 + #, no-c-format + msgid "Link with libsim.a, libc.a and sim-crt0.o." +-msgstr "Звʼязати з libsim.a, libc.a та sim-crt0.o." ++msgstr "" + + #: config/rs6000/sysv4.opt:125 + #, no-c-format + msgid "Link with libads.a, libc.a and crt0.o." +-msgstr "Звʼязати з libads.a, libc.a та crt0.o." ++msgstr "" + + #: config/rs6000/sysv4.opt:129 + #, no-c-format + msgid "Link with libyk.a, libc.a and crt0.o." +-msgstr "Звʼязати з libyk.a, libc.a та crt0.o." ++msgstr "" + + #: config/rs6000/sysv4.opt:133 + #, no-c-format + msgid "Link with libmvme.a, libc.a and crt0.o." +-msgstr "Звʼязати з libmvme.a, libc.a та crt0.o." ++msgstr "" + + #: config/rs6000/sysv4.opt:137 + #, no-c-format + msgid "Set the PPC_EMB bit in the ELF flags header." +-msgstr "Встановити біт PPC_EMB у заголовку прапорців ELF." ++msgstr "" + + #: config/rs6000/sysv4.opt:157 + #, no-c-format + msgid "Generate code to use a non-exec PLT and GOT." +-msgstr "Генерувати код для використання невиконуваної PLT (Procedure Linkage Table) та GOT (Global Offsets Table)." ++msgstr "" + + #: config/rs6000/sysv4.opt:161 + #, no-c-format + msgid "Generate code for old exec BSS PLT." +-msgstr "Генерувати код для старої виконуваної PLT в BSS." ++msgstr "" + + #: config/rs6000/sysv4.opt:165 + #, no-c-format + msgid "Use inline plt sequences to implement long calls and -fno-plt." +-msgstr "Використовувати вбудовані послідовності plt для реалізації довгих викликів та -fno-plt." ++msgstr "" + + #: config/rs6000/sysv4.opt:169 + #, no-c-format + msgid "Emit .gnu_attribute tags." +-msgstr "Видавати теги .gnu_attribute." ++msgstr "" + + #: config/alpha/alpha.opt:27 + #, no-c-format + msgid "Use fp registers." +-msgstr "Використовувати регістри FP." ++msgstr "Використовувати fp-регістри." + + #: config/alpha/alpha.opt:35 + #, no-c-format + msgid "Request IEEE-conformant math library routines (OSF/1)." +-msgstr "Запитати рутини бібліотеки математики, що відповідають стандарту IEEE (OSF/1)." ++msgstr "" + + #: config/alpha/alpha.opt:39 + #, no-c-format + msgid "Emit IEEE-conformant code, without inexact exceptions." +-msgstr "Видавати код, що відповідає стандарту IEEE, без неточних виключень." ++msgstr "" + + #: config/alpha/alpha.opt:46 + #, no-c-format + msgid "Do not emit complex integer constants to read-only memory." +-msgstr "Не випускайте складні цілі константи в памʼять тільки для читання." ++msgstr "" + + #: config/alpha/alpha.opt:50 + #, no-c-format + msgid "Use VAX fp." +-msgstr "Використовуйте VAX fp." ++msgstr "" + + #: config/alpha/alpha.opt:54 + #, no-c-format + msgid "Do not use VAX fp." +-msgstr "Не використовуйте VAX fp." ++msgstr "" + + #: config/alpha/alpha.opt:58 + #, no-c-format + msgid "Emit code for the byte/word ISA extension." +-msgstr "Випускати код для розширення ISA байт/слово." ++msgstr "" + + #: config/alpha/alpha.opt:62 + #, no-c-format + msgid "Emit code for the motion video ISA extension." +-msgstr "Випускати код для розширення ISA рухового відео." ++msgstr "" + + #: config/alpha/alpha.opt:66 + #, no-c-format + msgid "Emit code for the fp move and sqrt ISA extension." +-msgstr "Генерувати код для розширення ISA для переміщення fp та sqrt." ++msgstr "" + + #: config/alpha/alpha.opt:70 + #, no-c-format + msgid "Emit code for the counting ISA extension." +-msgstr "Генерувати код для розширення ISA для підрахунку." ++msgstr "" + + #: config/alpha/alpha.opt:74 + #, no-c-format + msgid "Emit code using explicit relocation directives." +-msgstr "Генерувати код, використовуючи явні директиви перенесення." ++msgstr "" + + #: config/alpha/alpha.opt:78 + #, no-c-format + msgid "Emit 16-bit relocations to the small data areas." +-msgstr "Генерувати 16-бітні перенесення до малих областей даних." ++msgstr "" + + #: config/alpha/alpha.opt:82 + #, no-c-format + msgid "Emit 32-bit relocations to the small data areas." +-msgstr "Генерувати 32-бітні перенесення до малих областей даних." ++msgstr "" + + #: config/alpha/alpha.opt:86 + #, no-c-format + msgid "Emit direct branches to local functions." +-msgstr "Генерувати прямі гілки до локальних функцій." ++msgstr "" + + #: config/alpha/alpha.opt:90 + #, no-c-format + msgid "Emit indirect branches to local functions." +-msgstr "Генерувати непрямі гілки до локальних функцій." ++msgstr "" + + #: config/alpha/alpha.opt:94 + #, no-c-format + msgid "Emit rdval instead of rduniq for thread pointer." +-msgstr "Видаляти rdval замість rduniq для вказівника на потік." ++msgstr "" + + #: config/alpha/alpha.opt:106 + #, no-c-format + msgid "Use features of and schedule given CPU." +-msgstr "Використовувати можливості та планувати вказаний процесор." ++msgstr "" + + #: config/alpha/alpha.opt:110 + #, no-c-format + msgid "Schedule given CPU." +-msgstr "Планувати вказаний процесор." ++msgstr "" + + #: config/alpha/alpha.opt:114 + #, no-c-format + msgid "Control the generated fp rounding mode." +-msgstr "Контролювати режим округлення fp, що генерується." ++msgstr "" + + #: config/alpha/alpha.opt:118 + #, no-c-format + msgid "Control the IEEE trap mode." +-msgstr "Контролювати режим пастки IEEE." ++msgstr "" + + #: config/alpha/alpha.opt:122 + #, no-c-format + msgid "Control the precision given to fp exceptions." +-msgstr "Контролювати точність, яка надається виняткам fp." ++msgstr "" + + #: config/alpha/alpha.opt:126 + #, no-c-format + msgid "Tune expected memory latency." +-msgstr "Налаштувати очікувану затримку памʼяті." ++msgstr "" + + #: config/lm32/lm32.opt:24 + #, no-c-format + msgid "Enable multiply instructions." +-msgstr "Увімкнути інструкції множення." ++msgstr "" + + #: config/lm32/lm32.opt:28 + #, no-c-format + msgid "Enable divide and modulus instructions." +-msgstr "Увімкнути інструкції ділення та залишку." ++msgstr "" + + #: config/lm32/lm32.opt:32 + #, no-c-format + msgid "Enable barrel shift instructions." +-msgstr "Увімкнути інструкції револьверного зсуву." ++msgstr "" + + #: config/lm32/lm32.opt:36 + #, no-c-format + msgid "Enable sign extend instructions." +-msgstr "Увімкнути інструкції розширення знаку." ++msgstr "" + + #: config/lm32/lm32.opt:40 + #, no-c-format + msgid "Enable user-defined instructions." +-msgstr "Увімкнути користувацькі інструкції." ++msgstr "" + + #: config/loongarch/loongarch.opt:47 + #, no-c-format + msgid "Basic ISAs of LoongArch:" +-msgstr "Основні ISA LoongArch:" ++msgstr "" + + #: config/loongarch/loongarch.opt:56 + #, no-c-format + msgid "FPU types of LoongArch:" +-msgstr "Типи FPU LoongArch:" ++msgstr "" + + #: config/loongarch/loongarch.opt:69 + #, no-c-format + msgid "-mfpu=FPU\tGenerate code for the given FPU." +-msgstr "-mfpu=FPU\tГенерувати код для вказаного FPU." ++msgstr "" + + #: config/loongarch/loongarch.opt:76 config/mips/mips.opt:377 + #, no-c-format + msgid "Prevent the use of all hardware floating-point instructions." +-msgstr "Заборонити використання всіх апаратних інструкцій з плаваючою комою." ++msgstr "" + + #: config/loongarch/loongarch.opt:80 config/mips/mips.opt:369 + #, no-c-format + msgid "Restrict the use of hardware floating-point instructions to 32-bit operations." +-msgstr "Обмежити використання апаратних інструкцій з плаваючою комою до 32-бітних операцій." ++msgstr "" + + #: config/loongarch/loongarch.opt:84 config/mips/mips.opt:116 + #, no-c-format + msgid "Allow hardware floating-point instructions to cover both 32-bit and 64-bit operations." +-msgstr "Дозволити апаратним інструкціям з плаваючою комою охоплювати як 32-бітні, так і 64-бітні операції." ++msgstr "" + + #: config/loongarch/loongarch.opt:90 + #, no-c-format + msgid "LoongArch CPU types:" +-msgstr "Типи процесорів LoongArch:" ++msgstr "" + + #: config/loongarch/loongarch.opt:103 + #, no-c-format + msgid "-march=PROCESSOR\tGenerate code for the given PROCESSOR ISA." +-msgstr "-march=PROCESSOR\tГенерувати код для вказаного ISA процесора." ++msgstr "" + + #: config/loongarch/loongarch.opt:107 + #, no-c-format + msgid "-mtune=PROCESSOR\tGenerate optimized code for PROCESSOR." +-msgstr "-mtune=PROCESSOR\tГенерувати оптимізований код для процесора PROCESSOR." ++msgstr "" + + #: config/loongarch/loongarch.opt:116 + #, no-c-format + msgid "Base ABI types for LoongArch:" +-msgstr "Типи базових ABI для LoongArch:" ++msgstr "" + + #: config/loongarch/loongarch.opt:129 + #, no-c-format + msgid "-mabi=BASEABI\tGenerate code that conforms to the given BASEABI." +-msgstr "-mabi=BASEABI\tГенерувати код, який відповідає вказаному базовому ABI BASEABI." ++msgstr "" + + #: config/loongarch/loongarch.opt:138 config/mips/mips.opt:71 + #, no-c-format + msgid "-mbranch-cost=COST\tSet the cost of branches to roughly COST instructions." +-msgstr "-mbranch-cost=COST\tВстановити вартість гілок приблизно COST інструкцій." ++msgstr "" + + #: config/loongarch/loongarch.opt:142 config/mips/mips.opt:83 + #, no-c-format + msgid "Trap on integer divide by zero." +-msgstr "Перехоплювати ділення цілочисельних на нуль." ++msgstr "" + + #: config/loongarch/loongarch.opt:146 + #, no-c-format + msgid "Conditional moves for integral are enabled." +-msgstr "Увімкнено умовні переміщення для цілочисельних." ++msgstr "" + + #: config/loongarch/loongarch.opt:150 + #, no-c-format + msgid "Conditional moves for float are enabled." +-msgstr "Увімкнено умовні переміщення для дійсних чисел." ++msgstr "" + + #: config/loongarch/loongarch.opt:154 + #, no-c-format + msgid "Prevent optimizing block moves, which is also the default behavior of -Os." +-msgstr "Заборонити оптимізацію блочних переміщень, що також є стандартною поведінкою -Os." ++msgstr "" + + #: config/loongarch/loongarch.opt:162 + #, no-c-format + msgid "-mmax-inline-memcpy-size=SIZE\tSet the max size of memcpy to inline, default is 1024." +-msgstr "-mmax-inline-memcpy-size=SIZE\tВстановити максимальний розмір memcpy для вбудовування, за замовчуванням 1024." ++msgstr "" + + #: config/loongarch/loongarch.opt:166 + #, no-c-format + msgid "Use %reloc() assembly operators." +-msgstr "Використовувати оператори збірки %reloc()." ++msgstr "" + + #: config/loongarch/loongarch.opt:197 + #, no-c-format + msgid "Avoid using the GOT to access external symbols." +-msgstr "Уникати використання GOT для доступу до зовнішніх символів." ++msgstr "" + + #: config/or1k/elf.opt:28 + #, no-c-format + msgid "Configure the newlib board specific runtime. The default is or1ksim." +-msgstr "Налаштувати специфічний для плати newlib час виконання. За замовчуванням - or1ksim." ++msgstr "" + + #: config/or1k/elf.opt:32 + #, no-c-format + msgid "This option is ignored; it is provided for compatibility purposes only. This used to select linker and preprocessor options for use with newlib." +-msgstr "Ця опція ігнорується; вона надається лише для сумісності. Вона використовувалася для вибору опцій лінкера та препроцесора для використання з newlib." ++msgstr "" + + #: config/or1k/or1k.opt:29 + #, no-c-format + msgid "Enable generation of hardware divide (l.div, l.divu) instructions. This is the default; use -msoft-div to override." +-msgstr "Увімкнути генерацію апаратних інструкцій ділення (l.div, l.divu). Це значення за замовчуванням; використовуйте -msoft-div для заміни." ++msgstr "" + + #: config/or1k/or1k.opt:34 + #, no-c-format + msgid "Enable generation of binaries which use functions from libgcc to perform divide operations. The default is -mhard-div." +-msgstr "Увімкнути генерацію бінарних файлів, які використовують функції з libgcc для виконання операцій ділення. За замовчуванням -mhard-div." ++msgstr "" + + #: config/or1k/or1k.opt:39 + #, no-c-format + msgid "Enable generation of hardware multiply instructions (l.mul, l.muli) instructions. This is the default; use -msoft-mul to override." +-msgstr "Увімкнути генерацію апаратних інструкцій множення (l.mul, l.muli). Це значення за замовчуванням; використовуйте -msoft-mul для заміни." ++msgstr "" + + #: config/or1k/or1k.opt:44 + #, no-c-format + msgid "Enable generation of binaries which use functions from libgcc to perform multiply operations. The default is -mhard-mul." +-msgstr "Увімкнути генерацію бінарних файлів, які використовують функції з libgcc для виконання операцій множення. За замовчуванням -mhard-mul." ++msgstr "" + + #: config/or1k/or1k.opt:49 + #, no-c-format + msgid "Enable generation of binaries which use functions from libgcc to perform floating point operations. This is the default; use -mhard-float to override." +-msgstr "Увімкнути генерацію бінарних файлів, які використовують функції з libgcc для виконання операцій з плаваючою комою. Це значення за замовчуванням; використовуйте -mhard-float для заміни." ++msgstr "" + + #: config/or1k/or1k.opt:54 + #, no-c-format + msgid "Enable generation of hardware floating point instructions. The default is -msoft-float." +-msgstr "Увімкнути генерацію апаратних інструкцій з плаваючою комою. За замовчуванням використовується -msoft-float." ++msgstr "" + + #: config/or1k/or1k.opt:59 + #, no-c-format + msgid "When -mhard-float is selected, enables generation of double-precision floating point instructions. By default functions from libgcc are used to perform double-precision floating point operations." +-msgstr "При виборі -mhard-float, увімкнути генерацію апаратних інструкцій з плаваючою комою подвійної точності. За замовчуванням використовуються функції з бібліотеки libgcc для виконання операцій з плаваючою комою подвійної точності." ++msgstr "" + + #: config/or1k/or1k.opt:65 + #, no-c-format + msgid "When -mhard-float is selected, enables generation of unordered floating point compare and set flag (lf.sfun*) instructions. By default functions from libgcc are used to perform unordered floating point compare and set flag operations." +-msgstr "При виборі -mhard-float, увімкнути генерацію неупорядкованих інструкцій порівняння та встановлення прапорців з плаваючою комою (lf.sfun*). За замовчуванням використовуються функції з бібліотеки libgcc для виконання неупорядкованих операцій порівняння та встановлення прапорців з плаваючою комою." ++msgstr "" + + #: config/or1k/or1k.opt:71 + #, no-c-format + msgid "Specify the code model used for accessing memory addresses. Specifying large enables generating binaries with large global offset tables. By default the value is small." +-msgstr "Вказати модель коду, яка використовується для доступу до адрес памʼяті. Вказання значення large дозволяє генерувати бінарні файли з великими глобальними таблицями зміщень. За замовчуванням значення small." ++msgstr "" + + #: config/or1k/or1k.opt:77 + #, no-c-format + msgid "Known code model types (for use with the -mcmodel= option):" +-msgstr "Відомі типи моделей коду (для використання з опцією -mcmodel=):" ++msgstr "" + + #: config/or1k/or1k.opt:87 + #, no-c-format + msgid "Enable generation of conditional move (l.cmov) instructions. By default the equivalent will be generated using set and branch." +-msgstr "Увімкнути генерацію інструкцій умовного переміщення (l.cmov). За замовчуванням еквівалент буде згенерований за допомогою set і branch." ++msgstr "" + + #: config/or1k/or1k.opt:92 + #, no-c-format + msgid "Enable generation of rotate right (l.ror) instructions. By default functions from libgcc are used to perform rotate right operations." +-msgstr "Увімкнути генерацію інструкцій правого повороту (l.ror). За замовчуванням функції з libgcc використовуються для виконання операцій правого повороту." ++msgstr "" + + #: config/or1k/or1k.opt:97 + #, no-c-format + msgid "Enable generation of rotate right with immediate (l.rori) instructions. By default functions from libgcc are used to perform rotate right with immediate operations." +-msgstr "Увімкнути генерацію інструкцій повороту праворуч з негайним операндом (l.rori). За замовчуванням використовуються функції з libgcc для виконання операцій повороту праворуч з негайним." ++msgstr "" + + #: config/or1k/or1k.opt:103 + #, no-c-format + msgid "Enable generation of sign extension (l.ext*) instructions. By default memory loads are used to perform sign extension." +-msgstr "Увімкнути генерацію інструкцій розширення знака (l.ext*). За замовчуванням використовуються завантаження з памʼяті для виконання розширення знака." ++msgstr "" + + #: config/or1k/or1k.opt:108 + #, no-c-format + msgid "Enable generation of compare and set flag with immediate (l.sf*i) instructions. By default extra instructions will be generated to store the immediate to a register first." +-msgstr "Увімкнути генерацію інструкцій порівняння та встановлення прапорця з негайним значенням (l.sf*i). За замовчуванням будуть згенеровані додаткові інструкції для зберігання негайного значення в регістрі спочатку." ++msgstr "" + + #: config/or1k/or1k.opt:114 + #, no-c-format + msgid "Enable generation of shift with immediate (l.srai, l.srli, l.slli) instructions. By default extra instructions will be generated to store the immediate to a register first." +-msgstr "Увімкнути генерацію інструкцій зсуву з негайним значенням (l.srai, l.srli, l.slli). За замовчуванням будуть згенеровані додаткові інструкції для зберігання негайного значення в регістрі спочатку." ++msgstr "" + + #: config/nios2/elf.opt:26 + #, no-c-format + msgid "Link with a limited version of the C library." +-msgstr "Звʼязати з обмеженою версією бібліотеки C." ++msgstr "" + + #: config/nios2/elf.opt:30 + #, no-c-format + msgid "Name of system library to link against." +-msgstr "Назва системної бібліотеки для звʼязування." ++msgstr "" + + #: config/nios2/elf.opt:34 + #, no-c-format + msgid "Name of the startfile." +-msgstr "Назва стартового файлу." ++msgstr "" + + #: config/nios2/elf.opt:38 + #, no-c-format + msgid "Link with HAL BSP." +-msgstr "Посилання на HAL BSP." ++msgstr "" + + #: config/nios2/nios2.opt:35 + #, no-c-format + msgid "Enable DIV, DIVU." +-msgstr "Увімкнути DIV, DIVU." ++msgstr "" + + #: config/nios2/nios2.opt:39 + #, no-c-format + msgid "Enable MUL instructions." +-msgstr "Увімкнути інструкції MUL." ++msgstr "" + + #: config/nios2/nios2.opt:43 + #, no-c-format + msgid "Enable MULX instructions, assume fast shifter." +-msgstr "Увімкнути інструкції MULX, припускаючи швидкий зсув." ++msgstr "" + + #: config/nios2/nios2.opt:47 + #, no-c-format + msgid "Use table based fast divide (default at -O3)." +-msgstr "Використовувати швидке ділення на основі таблиці (за замовчуванням при -O3)." ++msgstr "" + + #: config/nios2/nios2.opt:51 + #, no-c-format + msgid "All memory accesses use I/O load/store instructions." +-msgstr "Всі доступи до памʼяті використовують I/O load/store інструкції." ++msgstr "" + + #: config/nios2/nios2.opt:55 + #, no-c-format + msgid "Volatile memory accesses use I/O load/store instructions." +-msgstr "Доступи до волатильної памʼяті використовують I/O load/store інструкції." ++msgstr "" + + #: config/nios2/nios2.opt:59 + #, no-c-format + msgid "Volatile memory accesses do not use I/O load/store instructions." +-msgstr "Доступи до волатильної памʼяті не використовують I/O load/store інструкції." ++msgstr "" + + #: config/nios2/nios2.opt:63 + #, no-c-format + msgid "Enable/disable GP-relative addressing." +-msgstr "Увімкнути/вимкнути адресування відносно GP." ++msgstr "" + + #: config/nios2/nios2.opt:67 + #, no-c-format + msgid "Valid options for GP-relative addressing (for -mgpopt):" +-msgstr "Допустимі параметри для адресування відносно GP (для -mgpopt):" ++msgstr "" + + #: config/nios2/nios2.opt:86 + #, no-c-format + msgid "Equivalent to -mgpopt=local." +-msgstr "Еквівалентно -mgpopt=local." ++msgstr "" + + #: config/nios2/nios2.opt:90 + #, no-c-format + msgid "Equivalent to -mgpopt=none." +-msgstr "Еквівалентно -mgpopt=none." ++msgstr "" + + #: config/nios2/nios2.opt:94 config/c6x/c6x.opt:30 config/mips/mips.opt:134 + #, no-c-format + msgid "Use big-endian byte order." +-msgstr "Використовувати порядок байтів big-endian." ++msgstr "" + + #: config/nios2/nios2.opt:98 config/c6x/c6x.opt:34 config/mips/mips.opt:138 + #, no-c-format + msgid "Use little-endian byte order." +-msgstr "Використовувати порядок байтів little-endian." ++msgstr "" + + #: config/nios2/nios2.opt:102 + #, no-c-format + msgid "Floating point custom instruction configuration name." +-msgstr "Назва конфігурації для власних інструкцій з плаваючою комою." ++msgstr "" + + #: config/nios2/nios2.opt:106 + #, no-c-format + msgid "Do not use the ftruncds custom instruction." +-msgstr "Не використовувати власну інструкцію ftruncds." ++msgstr "" + + #: config/nios2/nios2.opt:110 + #, no-c-format + msgid "Integer id (N) of ftruncds custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) власної інструкції ftruncds." ++msgstr "" + + #: config/nios2/nios2.opt:114 + #, no-c-format + msgid "Do not use the fextsd custom instruction." +-msgstr "Не використовувати власну інструкцію fextsd." ++msgstr "" + + #: config/nios2/nios2.opt:118 + #, no-c-format + msgid "Integer id (N) of fextsd custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) власної інструкції fextsd." ++msgstr "" + + #: config/nios2/nios2.opt:122 + #, no-c-format + msgid "Do not use the fixdu custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fixdu»." ++msgstr "" + + #: config/nios2/nios2.opt:126 + #, no-c-format + msgid "Integer id (N) of fixdu custom instruction." +-msgstr "Ціле число id (N) спеціальної інструкції «fixdu»." ++msgstr "" + + #: config/nios2/nios2.opt:130 + #, no-c-format + msgid "Do not use the fixdi custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fixdi»." ++msgstr "" + + #: config/nios2/nios2.opt:134 + #, no-c-format + msgid "Integer id (N) of fixdi custom instruction." +-msgstr "Ціле число id (N) спеціальної інструкції «fixdi»." ++msgstr "" + + #: config/nios2/nios2.opt:138 + #, no-c-format + msgid "Do not use the fixsu custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fixsu»." ++msgstr "" + + #: config/nios2/nios2.opt:142 + #, no-c-format + msgid "Integer id (N) of fixsu custom instruction." +-msgstr "Ціле число id (N) спеціальної інструкції «fixsu»." ++msgstr "" + + #: config/nios2/nios2.opt:146 + #, no-c-format + msgid "Do not use the fixsi custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fixsi»." ++msgstr "" + + #: config/nios2/nios2.opt:150 + #, no-c-format + msgid "Integer id (N) of fixsi custom instruction." +-msgstr "Ціле число id (N) спеціальної інструкції «fixsi»." ++msgstr "" + + #: config/nios2/nios2.opt:154 + #, no-c-format + msgid "Do not use the floatud custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «floatud»." ++msgstr "" + + #: config/nios2/nios2.opt:158 + #, no-c-format + msgid "Integer id (N) of floatud custom instruction." +-msgstr "Ціле число id (N) спеціальної інструкції «floatud»." ++msgstr "" + + #: config/nios2/nios2.opt:162 + #, no-c-format + msgid "Do not use the floatid custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «floatid»." ++msgstr "" + + #: config/nios2/nios2.opt:166 + #, no-c-format + msgid "Integer id (N) of floatid custom instruction." +-msgstr "Ціле число id (N) спеціальної інструкції «floatid»." ++msgstr "" + + #: config/nios2/nios2.opt:170 + #, no-c-format + msgid "Do not use the floatus custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «floatus»." ++msgstr "" + + #: config/nios2/nios2.opt:174 + #, no-c-format + msgid "Integer id (N) of floatus custom instruction." +-msgstr "Ціле число id (N) спеціальної інструкції «floatus»." ++msgstr "" + + #: config/nios2/nios2.opt:178 + #, no-c-format + msgid "Do not use the floatis custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «floatis»." ++msgstr "" + + #: config/nios2/nios2.opt:182 + #, no-c-format + msgid "Integer id (N) of floatis custom instruction." +-msgstr "Ціле число id (N) спеціальної інструкції «floatis»." ++msgstr "" + + #: config/nios2/nios2.opt:186 + #, no-c-format + msgid "Do not use the fcmpned custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fcmpned»." ++msgstr "" + + #: config/nios2/nios2.opt:190 + #, no-c-format + msgid "Integer id (N) of fcmpned custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fcmpned»." ++msgstr "" + + #: config/nios2/nios2.opt:194 + #, no-c-format + msgid "Do not use the fcmpeqd custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fcmpeqd»." ++msgstr "" + + #: config/nios2/nios2.opt:198 + #, no-c-format + msgid "Integer id (N) of fcmpeqd custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fcmpeqd»." ++msgstr "" + + #: config/nios2/nios2.opt:202 + #, no-c-format + msgid "Do not use the fcmpged custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fcmpged»." ++msgstr "" + + #: config/nios2/nios2.opt:206 + #, no-c-format + msgid "Integer id (N) of fcmpged custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fcmpged»." ++msgstr "" + + #: config/nios2/nios2.opt:210 + #, no-c-format + msgid "Do not use the fcmpgtd custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fcmpgtd»." ++msgstr "" + + #: config/nios2/nios2.opt:214 + #, no-c-format + msgid "Integer id (N) of fcmpgtd custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fcmpgtd»." ++msgstr "" + + #: config/nios2/nios2.opt:218 + #, no-c-format + msgid "Do not use the fcmpled custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fcmpled»." ++msgstr "" + + #: config/nios2/nios2.opt:222 + #, no-c-format + msgid "Integer id (N) of fcmpled custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fcmpled»." ++msgstr "" + + #: config/nios2/nios2.opt:226 + #, no-c-format + msgid "Do not use the fcmpltd custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fcmpltd»." ++msgstr "" + + #: config/nios2/nios2.opt:230 + #, no-c-format + msgid "Integer id (N) of fcmpltd custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fcmpltd»." ++msgstr "" + + #: config/nios2/nios2.opt:234 + #, no-c-format + msgid "Do not use the flogd custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «flogd»." ++msgstr "" + + #: config/nios2/nios2.opt:238 + #, no-c-format + msgid "Integer id (N) of flogd custom instruction." +-msgstr "Цілочисельний ідентифікатор (N) спеціальної інструкції «flogd»." ++msgstr "" + + #: config/nios2/nios2.opt:242 + #, no-c-format + msgid "Do not use the fexpd custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fexpd»." ++msgstr "" + + #: config/nios2/nios2.opt:246 + #, no-c-format + msgid "Integer id (N) of fexpd custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fexpd»." ++msgstr "" + + #: config/nios2/nios2.opt:250 + #, no-c-format + msgid "Do not use the fatand custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fatand»." ++msgstr "" + + #: config/nios2/nios2.opt:254 + #, no-c-format + msgid "Integer id (N) of fatand custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fatand»." ++msgstr "" + + #: config/nios2/nios2.opt:258 + #, no-c-format + msgid "Do not use the ftand custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «ftand»." ++msgstr "" + + #: config/nios2/nios2.opt:262 + #, no-c-format + msgid "Integer id (N) of ftand custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «ftand»." ++msgstr "" + + #: config/nios2/nios2.opt:266 + #, no-c-format + msgid "Do not use the fsind custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fsind»." ++msgstr "" + + #: config/nios2/nios2.opt:270 + #, no-c-format + msgid "Integer id (N) of fsind custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fsind»." ++msgstr "" + + #: config/nios2/nios2.opt:274 + #, no-c-format + msgid "Do not use the fcosd custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fcosd»." ++msgstr "" + + #: config/nios2/nios2.opt:278 + #, no-c-format + msgid "Integer id (N) of fcosd custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fcosd»." ++msgstr "" + + #: config/nios2/nios2.opt:282 + #, no-c-format + msgid "Do not use the fsqrtd custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fsqrtd»." ++msgstr "" + + #: config/nios2/nios2.opt:286 + #, no-c-format + msgid "Integer id (N) of fsqrtd custom instruction." +-msgstr "Цілочисельний ідентифікатор (N) спеціальної інструкції fsqrtd." ++msgstr "" + + #: config/nios2/nios2.opt:290 + #, no-c-format + msgid "Do not use the fabsd custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fabsd." ++msgstr "" + + #: config/nios2/nios2.opt:294 + #, no-c-format + msgid "Integer id (N) of fabsd custom instruction." +-msgstr "Цілочисельний ідентифікатор (N) спеціальної інструкції fabsd." ++msgstr "" + + #: config/nios2/nios2.opt:298 + #, no-c-format + msgid "Do not use the fnegd custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fnegd." ++msgstr "" + + #: config/nios2/nios2.opt:302 + #, no-c-format + msgid "Integer id (N) of fnegd custom instruction." +-msgstr "Цілочисельний ідентифікатор (N) спеціальної інструкції fnegd." ++msgstr "" + + #: config/nios2/nios2.opt:306 + #, no-c-format + msgid "Do not use the fmaxd custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fmaxd." ++msgstr "" + + #: config/nios2/nios2.opt:310 + #, no-c-format + msgid "Integer id (N) of fmaxd custom instruction." +-msgstr "Цілочисельний ідентифікатор (N) спеціальної інструкції fmaxd." ++msgstr "" + + #: config/nios2/nios2.opt:314 + #, no-c-format + msgid "Do not use the fmind custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fmind." ++msgstr "" + + #: config/nios2/nios2.opt:318 + #, no-c-format + msgid "Integer id (N) of fmind custom instruction." +-msgstr "Цілочисельний ідентифікатор (N) спеціальної інструкції fmind." ++msgstr "" + + #: config/nios2/nios2.opt:322 + #, no-c-format + msgid "Do not use the fdivd custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fdivd." ++msgstr "" + + #: config/nios2/nios2.opt:326 + #, no-c-format + msgid "Integer id (N) of fdivd custom instruction." +-msgstr "Цілочисельний ідентифікатор (N) спеціальної інструкції fdivd." ++msgstr "" + + #: config/nios2/nios2.opt:330 + #, no-c-format + msgid "Do not use the fmuld custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fmuld." ++msgstr "" + + #: config/nios2/nios2.opt:334 + #, no-c-format + msgid "Integer id (N) of fmuld custom instruction." +-msgstr "Цілочисельний ідентифікатор (N) спеціальної інструкції fmuld." ++msgstr "" + + #: config/nios2/nios2.opt:338 + #, no-c-format + msgid "Do not use the fsubd custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fsubd»." ++msgstr "" + + #: config/nios2/nios2.opt:342 + #, no-c-format + msgid "Integer id (N) of fsubd custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fsubd»." ++msgstr "" + + #: config/nios2/nios2.opt:346 + #, no-c-format + msgid "Do not use the faddd custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «faddd»." ++msgstr "" + + #: config/nios2/nios2.opt:350 + #, no-c-format + msgid "Integer id (N) of faddd custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «faddd»." ++msgstr "" + + #: config/nios2/nios2.opt:354 + #, no-c-format + msgid "Do not use the fcmpnes custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fcmpnes»." ++msgstr "" + + #: config/nios2/nios2.opt:358 + #, no-c-format + msgid "Integer id (N) of fcmpnes custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fcmpnes»." ++msgstr "" + + #: config/nios2/nios2.opt:362 + #, no-c-format + msgid "Do not use the fcmpeqs custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fcmpeqs»." ++msgstr "" + + #: config/nios2/nios2.opt:366 + #, no-c-format + msgid "Integer id (N) of fcmpeqs custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fcmpeqs»." ++msgstr "" + + #: config/nios2/nios2.opt:370 + #, no-c-format + msgid "Do not use the fcmpges custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fcmpges»." ++msgstr "" + + #: config/nios2/nios2.opt:374 + #, no-c-format + msgid "Integer id (N) of fcmpges custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fcmpges»." ++msgstr "" + + #: config/nios2/nios2.opt:378 + #, no-c-format + msgid "Do not use the fcmpgts custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fcmpgts»." ++msgstr "" + + #: config/nios2/nios2.opt:382 + #, no-c-format + msgid "Integer id (N) of fcmpgts custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fcmpgts»." ++msgstr "" + + #: config/nios2/nios2.opt:386 + #, no-c-format + msgid "Do not use the fcmples custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fcmples»." ++msgstr "" + + #: config/nios2/nios2.opt:390 + #, no-c-format + msgid "Integer id (N) of fcmples custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції fcmples." ++msgstr "" + + #: config/nios2/nios2.opt:394 + #, no-c-format + msgid "Do not use the fcmplts custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fcmplts." ++msgstr "" + + #: config/nios2/nios2.opt:398 + #, no-c-format + msgid "Integer id (N) of fcmplts custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції fcmplts." ++msgstr "" + + #: config/nios2/nios2.opt:402 + #, no-c-format + msgid "Do not use the flogs custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію flogs." ++msgstr "" + + #: config/nios2/nios2.opt:406 + #, no-c-format + msgid "Integer id (N) of flogs custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції flogs." ++msgstr "" + + #: config/nios2/nios2.opt:410 + #, no-c-format + msgid "Do not use the fexps custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fexps." ++msgstr "" + + #: config/nios2/nios2.opt:414 + #, no-c-format + msgid "Integer id (N) of fexps custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції fexps." ++msgstr "" + + #: config/nios2/nios2.opt:418 + #, no-c-format + msgid "Do not use the fatans custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fatans." ++msgstr "" + + #: config/nios2/nios2.opt:422 + #, no-c-format + msgid "Integer id (N) of fatans custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції fatans." ++msgstr "" + + #: config/nios2/nios2.opt:426 + #, no-c-format + msgid "Do not use the ftans custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію ftans." ++msgstr "" + + #: config/nios2/nios2.opt:430 + #, no-c-format + msgid "Integer id (N) of ftans custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції ftans." ++msgstr "" + + #: config/nios2/nios2.opt:434 + #, no-c-format + msgid "Do not use the fsins custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fsins." ++msgstr "" + + #: config/nios2/nios2.opt:438 + #, no-c-format + msgid "Integer id (N) of fsins custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції fsins." ++msgstr "" + + #: config/nios2/nios2.opt:442 + #, no-c-format + msgid "Do not use the fcoss custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fcoss." ++msgstr "" + + #: config/nios2/nios2.opt:446 + #, no-c-format + msgid "Integer id (N) of fcoss custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції fcoss." ++msgstr "" + + #: config/nios2/nios2.opt:450 + #, no-c-format + msgid "Do not use the fsqrts custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fsqrts." ++msgstr "" + + #: config/nios2/nios2.opt:454 + #, no-c-format + msgid "Integer id (N) of fsqrts custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції fsqrts." ++msgstr "" + + #: config/nios2/nios2.opt:458 + #, no-c-format + msgid "Do not use the fabss custom instr." +-msgstr "Не використовуйте спеціальну інструкцію fabss." ++msgstr "" + + #: config/nios2/nios2.opt:462 + #, no-c-format + msgid "Integer id (N) of fabss custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції fabss." ++msgstr "" + + #: config/nios2/nios2.opt:466 + #, no-c-format + msgid "Do not use the fnegs custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fnegs." ++msgstr "" + + #: config/nios2/nios2.opt:470 + #, no-c-format + msgid "Integer id (N) of fnegs custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції fnegs." ++msgstr "" + + #: config/nios2/nios2.opt:474 + #, no-c-format + msgid "Do not use the fmaxs custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fmaxs." ++msgstr "" + + #: config/nios2/nios2.opt:478 + #, no-c-format + msgid "Integer id (N) of fmaxs custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції fmaxs." ++msgstr "" + + #: config/nios2/nios2.opt:482 + #, no-c-format + msgid "Do not use the fmins custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fmins." ++msgstr "" + + #: config/nios2/nios2.opt:486 + #, no-c-format + msgid "Integer id (N) of fmins custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції fmins." ++msgstr "" + + #: config/nios2/nios2.opt:490 + #, no-c-format + msgid "Do not use the fdivs custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fdivs." ++msgstr "" + + #: config/nios2/nios2.opt:494 + #, no-c-format + msgid "Integer id (N) of fdivs custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fdivs»." ++msgstr "" + + #: config/nios2/nios2.opt:498 + #, no-c-format + msgid "Do not use the fmuls custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fmuls»." ++msgstr "" + + #: config/nios2/nios2.opt:502 + #, no-c-format + msgid "Integer id (N) of fmuls custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fmuls»." ++msgstr "" + + #: config/nios2/nios2.opt:506 + #, no-c-format + msgid "Do not use the fsubs custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fsubs»." ++msgstr "" + + #: config/nios2/nios2.opt:510 + #, no-c-format + msgid "Integer id (N) of fsubs custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fsubs»." ++msgstr "" + + #: config/nios2/nios2.opt:514 + #, no-c-format + msgid "Do not use the fadds custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію «fadds»." ++msgstr "" + + #: config/nios2/nios2.opt:518 + #, no-c-format + msgid "Integer id (N) of fadds custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції «fadds»." ++msgstr "" + + #: config/nios2/nios2.opt:522 + #, no-c-format + msgid "Do not use the frdy custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію frdy." ++msgstr "" + + #: config/nios2/nios2.opt:526 + #, no-c-format + msgid "Integer id (N) of frdy custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції frdy." ++msgstr "" + + #: config/nios2/nios2.opt:530 + #, no-c-format + msgid "Do not use the frdxhi custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію frdxhi." ++msgstr "" + + #: config/nios2/nios2.opt:534 + #, no-c-format + msgid "Integer id (N) of frdxhi custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції frdxhi." ++msgstr "" + + #: config/nios2/nios2.opt:538 + #, no-c-format + msgid "Do not use the frdxlo custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію frdxlo." ++msgstr "" + + #: config/nios2/nios2.opt:542 + #, no-c-format + msgid "Integer id (N) of frdxlo custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції frdxlo." ++msgstr "" + + #: config/nios2/nios2.opt:546 + #, no-c-format + msgid "Do not use the fwry custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fwry." ++msgstr "" + + #: config/nios2/nios2.opt:550 + #, no-c-format + msgid "Integer id (N) of fwry custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції fwry." ++msgstr "" + + #: config/nios2/nios2.opt:554 + #, no-c-format + msgid "Do not use the fwrx custom instruction." +-msgstr "Не використовуйте спеціальну інструкцію fwrx." ++msgstr "" + + #: config/nios2/nios2.opt:558 + #, no-c-format + msgid "Integer id (N) of fwrx custom instruction." +-msgstr "Цілочисловий ідентифікатор (N) спеціальної інструкції fwrx." ++msgstr "" + + #: config/nios2/nios2.opt:562 + #, no-c-format + msgid "Do not use the round custom instruction." +-msgstr "Не використовуйте круглу спеціальну інструкцію." ++msgstr "" + + #: config/nios2/nios2.opt:566 + #, no-c-format + msgid "Integer id (N) of round custom instruction." +-msgstr "Ціле число id (N) круглої спеціальної інструкції." ++msgstr "" + + #: config/nios2/nios2.opt:574 + #, no-c-format + msgid "Valid Nios II ISA levels (for -march):" +-msgstr "Дійсні рівні Nios II ISA (для -march):" ++msgstr "" + + #: config/nios2/nios2.opt:584 + #, no-c-format + msgid "Enable generation of R2 BMX instructions." +-msgstr "Увімкнути генерацію інструкцій R2 BMX." ++msgstr "" + + #: config/nios2/nios2.opt:588 + #, no-c-format + msgid "Enable generation of R2 CDX instructions." +-msgstr "Увімкнути генерацію інструкцій R2 CDX." ++msgstr "" + + #: config/nios2/nios2.opt:592 + #, no-c-format + msgid "Regular expression matching additional GP-addressible section names." +-msgstr "Регулярний вираз, що відповідає додатковим іменам секцій, доступних за адресою GP." ++msgstr "" + + #: config/nios2/nios2.opt:596 + #, no-c-format + msgid "Regular expression matching section names for r0-relative addressing." +-msgstr "Регулярний вираз, що відповідає іменам секцій для відносної адресації r0." ++msgstr "" + + #: config/rx/elf.opt:32 + #, no-c-format + msgid "Generate assembler output that is compatible with the Renesas AS100 assembler. This may restrict some of the compiler's capabilities. The default is to generate GAS compatible syntax." +-msgstr "Генерувати вихідний код асемблера, який сумісний з асемблером Renesas AS100. Це може обмежити деякі можливості компілятора. За замовчуванням генерується синтаксис, сумісний з GAS." ++msgstr "" + + #: config/rx/elf.opt:38 config/rx/rx.opt:99 + #, no-c-format + msgid "Specifies the number of registers to reserve for interrupt handlers." +-msgstr "Вказує кількість регістрів, які слід зарезервувати для обробників переривань." ++msgstr "" + + #: config/rx/elf.opt:44 config/rx/rx.opt:105 + #, no-c-format + msgid "Specifies whether interrupt functions should save and restore the accumulator register." +-msgstr "Вказує, чи повинні функції переривань зберігати та відновлювати регістр акумулятора." ++msgstr "" + + #: config/rx/rx.opt:29 + #, no-c-format + msgid "Store doubles in 64 bits." +-msgstr "Зберігати подвійні числа у 64 бітах." ++msgstr "" + + #: config/rx/rx.opt:33 + #, no-c-format + msgid "Stores doubles in 32 bits. This is the default." +-msgstr "Зберігати подвійні числа у 32 бітах. Це значення за замовчуванням." ++msgstr "" + + #: config/rx/rx.opt:37 + #, no-c-format + msgid "Disable the use of RX FPU instructions." +-msgstr "Вимкнути використання інструкцій RX FPU." ++msgstr "Вимкнути використання інструкцій FPU RX." + + #: config/rx/rx.opt:44 + #, no-c-format + msgid "Enable the use of RX FPU instructions. This is the default." +-msgstr "Увімкнути використання інструкцій RX FPU. Це значення за замовчуванням." ++msgstr "" + + #: config/rx/rx.opt:50 + #, no-c-format + msgid "Specify the target RX cpu type." +-msgstr "Вказати тип цільового процесора RX." ++msgstr "" + + #: config/rx/rx.opt:71 + #, no-c-format + msgid "Data is stored in big-endian format." +-msgstr "Дані зберігаються у форматі big-endian." ++msgstr "" + + #: config/rx/rx.opt:75 + #, no-c-format + msgid "Data is stored in little-endian format. (Default)." +-msgstr "Дані зберігаються у форматі little-endian. (За замовчуванням)." ++msgstr "" + + #: config/rx/rx.opt:81 + #, no-c-format + msgid "Maximum size of global and static variables which can be placed into the small data area." +-msgstr "Максимальний розмір глобальних та статичних змінних, які можуть бути розміщені в області малих даних." ++msgstr "" + + #: config/rx/rx.opt:87 + #, no-c-format + msgid "Enable linker relaxation." +-msgstr "Увімкнути розслаблення лінкера." ++msgstr "" + + #: config/rx/rx.opt:93 + #, no-c-format + msgid "Maximum size in bytes of constant values allowed as operands." +-msgstr "Максимальний розмір у байтах дозволених константних значень як операндів." ++msgstr "" + + #: config/rx/rx.opt:111 + #, no-c-format + msgid "Enables Position-Independent-Data (PID) mode." +-msgstr "Увімкнути режим позиційно-незалежних даних (PID)." ++msgstr "" + + #: config/rx/rx.opt:117 + #, no-c-format + msgid "Warn when multiple, different, fast interrupt handlers are in the compilation unit." +-msgstr "Попереджати, коли в компіляційній одиниці є кілька різних швидких обробників переривань." ++msgstr "" + + #: config/rx/rx.opt:123 + #, no-c-format + msgid "Enable the use of the old, broken, ABI where all stacked function arguments are aligned to 32-bits." +-msgstr "Увімкнути використання старої, несправної ABI, де всі аргументи функцій, розміщені в стеку, вирівнюються до 32-біт." ++msgstr "" + + #: config/rx/rx.opt:127 + #, no-c-format + msgid "Enable the use the standard RX ABI where all stacked function arguments are naturally aligned. This is the default." +-msgstr "Увімкнути використання стандартної RX ABI, де всі аргументи функцій, розміщені в стеку, вирівнюються природним чином. Це значення за замовчуванням." ++msgstr "" + + #: config/rx/rx.opt:133 + #, no-c-format + msgid "Enable the use of the LRA register allocator." +-msgstr "Увімкнути використання реєстрового розподілювача LRA." ++msgstr "" + + #: config/rx/rx.opt:139 + #, no-c-format + msgid "Enables or disables the use of the SMOVF, SMOVB, SMOVU, SUNTIL, SWHILE and RMPA instructions. Enabled by default." +-msgstr "Увімкнути або вимкнути використання інструкцій SMOVF, SMOVB, SMOVU, SUNTIL, SWHILE та RMPA. За замовчуванням увімкнено." ++msgstr "" + + #: config/rx/rx.opt:145 + #, no-c-format + msgid "Always use JSR, never BSR, for calls." +-msgstr "Завжди використовувати JSR, а не BSR, для викликів." ++msgstr "" + + #: config/visium/visium.opt:25 + #, no-c-format + msgid "Link with libc.a and libdebug.a." +-msgstr "Посилання на libc.a та libdebug.a." ++msgstr "" + + #: config/visium/visium.opt:29 + #, no-c-format + msgid "Link with libc.a and libsim.a." +-msgstr "Посилання на libc.a та libsim.a." ++msgstr "" + + #: config/visium/visium.opt:33 + #, no-c-format + msgid "Use hardware FP (default)." +-msgstr "Використовувати апаратний FP (за замовчуванням)." ++msgstr "" + + #: config/visium/visium.opt:45 + #, no-c-format + msgid "Use features of and schedule code for given CPU." +-msgstr "Використовувати можливості та розкладати код для вказаного процесора." ++msgstr "" + + #: config/visium/visium.opt:65 + #, no-c-format + msgid "Generate code for the supervisor mode (default)." +-msgstr "Генерувати код для режиму супервізора (за замовчуванням)." ++msgstr "" + + #: config/visium/visium.opt:69 + #, no-c-format + msgid "Generate code for the user mode." +-msgstr "Генерувати код для режиму користувача." ++msgstr "" + + #: config/visium/visium.opt:73 + #, no-c-format + msgid "Only retained for backward compatibility." +-msgstr "Зберігається лише для забезпечення сумісності з попередніми версіями." ++msgstr "" + + #: config/sol2.opt:32 + #, no-c-format + msgid "Clear hardware capabilities when linking." +-msgstr "Очистити апаратні можливості під час звʼязування." ++msgstr "" + + #: config/sol2.opt:36 + #, no-c-format + msgid "Pass -z text to linker." +-msgstr "Передати -z text лінкеру." ++msgstr "" + + #: config/moxie/moxie.opt:31 + #, no-c-format + msgid "Enable MUL.X and UMUL.X instructions." +-msgstr "Увімкнути інструкції MUL.X та UMUL.X." ++msgstr "" + + #: config/microblaze/microblaze.opt:40 + #, no-c-format + msgid "Use software emulation for floating point (default)." +-msgstr "Використовувати програмну емуляцію для чисел з плаваючою комою (за замовчуванням)." ++msgstr "" + + #: config/microblaze/microblaze.opt:44 + #, no-c-format + msgid "Use hardware floating point instructions." +-msgstr "Використовувати апаратні інструкції з плаваючою комою." ++msgstr "" + + #: config/microblaze/microblaze.opt:48 + #, no-c-format + msgid "Use table lookup optimization for small signed integer divisions." +-msgstr "Використовувати оптимізацію пошуку в таблиці для ділення малих знакових цілочисельних." ++msgstr "" + + #: config/microblaze/microblaze.opt:52 + #, no-c-format + msgid "-mcpu=PROCESSOR\t\tUse features of and schedule code for given CPU." +-msgstr "-mcpu=ПРОЦЕСОР\t\tВикористовувати можливості та розкладати код для заданого процесора." ++msgstr "" + + #: config/microblaze/microblaze.opt:56 + #, no-c-format + msgid "Don't optimize block moves, use memcpy." +-msgstr "Не оптимізувати переміщення блоків, використовувати memcpy." ++msgstr "" + + #: config/microblaze/microblaze.opt:68 + #, no-c-format + msgid "Use the soft multiply emulation (default)." +-msgstr "Використовуйте емуляцію мʼякого множення (за замовчуванням)." ++msgstr "" + + #: config/microblaze/microblaze.opt:72 + #, no-c-format + msgid "Use reorder instructions (swap and byte reversed load/store) (default)." +-msgstr "Використовуйте інструкції перестановки (обмін та зворотне завантаження/збереження байтів) (за замовчуванням)." ++msgstr "" + + #: config/microblaze/microblaze.opt:76 + #, no-c-format + msgid "Use the software emulation for divides (default)." +-msgstr "Використовуйте програмну емуляцію для ділення (за замовчуванням)." ++msgstr "" + + #: config/microblaze/microblaze.opt:80 + #, no-c-format + msgid "Use the hardware barrel shifter instead of emulation." +-msgstr "Використовуйте револьверний зсувний регістр замість емуляції." ++msgstr "" + + #: config/microblaze/microblaze.opt:84 + #, no-c-format + msgid "Use pattern compare instructions." +-msgstr "Використовуйте інструкції порівняння шаблонів." ++msgstr "" + + #: config/microblaze/microblaze.opt:88 + #, no-c-format + msgid "Check for stack overflow at runtime." +-msgstr "Перевіряйте переповнення стеку під час виконання." ++msgstr "" + + #: config/microblaze/microblaze.opt:92 config/iq2000/iq2000.opt:65 + #, no-c-format + msgid "Use GP relative sdata/sbss sections." +-msgstr "Використовуйте секції sdata/sbss відносно GP." ++msgstr "" + + #: config/microblaze/microblaze.opt:96 + #, no-c-format + msgid "Clear the BSS to zero and place zero initialized in BSS." +-msgstr "Очистити BSS до нуля і розмістити нульові значення в BSS." ++msgstr "" + + #: config/microblaze/microblaze.opt:100 + #, no-c-format + msgid "Use multiply high instructions for high part of 32x32 multiply." +-msgstr "Використовуйте інструкції високого множення для високої частини множення 32х32." ++msgstr "" + + #: config/microblaze/microblaze.opt:104 + #, no-c-format + msgid "Use hardware floating point conversion instructions." +-msgstr "Використовуйте апаратні інструкції перетворення з плаваючою комою." ++msgstr "" + + #: config/microblaze/microblaze.opt:108 + #, no-c-format + msgid "Use hardware floating point square root instruction." +-msgstr "Використовуйте апаратну інструкцію кореня з плаваючою комою." ++msgstr "" + + #: config/microblaze/microblaze.opt:112 + #, no-c-format + msgid "Description for mxl-mode-executable." +-msgstr "Опис для режиму mxl-mode-executable." ++msgstr "" + + #: config/microblaze/microblaze.opt:116 + #, no-c-format + msgid "Description for mxl-mode-xmdstub." +-msgstr "Опис для режиму mxl-mode-xmdstub." ++msgstr "" + + #: config/microblaze/microblaze.opt:120 + #, no-c-format + msgid "Description for mxl-mode-bootstrap." +-msgstr "Опис для режиму mxl-mode-bootstrap." ++msgstr "" + + #: config/microblaze/microblaze.opt:124 + #, no-c-format + msgid "Description for mxl-mode-novectors." +-msgstr "Опис для режиму mxl-mode-novectors." ++msgstr "" + + #: config/microblaze/microblaze.opt:128 + #, no-c-format + msgid "Use hardware prefetch instruction." +-msgstr "Використовуйте апаратну інструкцію попереднього завантаження." ++msgstr "" + + #: config/microblaze/microblaze.opt:132 + #, no-c-format + msgid "Data referenced by offset from start of text instead of GOT (with -fPIC/-fPIE)." +-msgstr "Дані, на які посилається зсув від початку тексту, а не з GOT (з -fPIC/-fPIE)." ++msgstr "" + + #: config/vax/vax.opt:23 config/vax/vax.opt:27 + #, no-c-format + msgid "Target DFLOAT double precision code." +-msgstr "Генерувати код з подвійною точністю DFLOAT." ++msgstr "" + + #: config/vax/vax.opt:31 config/vax/vax.opt:35 + #, no-c-format + msgid "Generate GFLOAT double precision code." +-msgstr "Генерувати код з подвійною точністю GFLOAT." ++msgstr "" + + #: config/vax/vax.opt:39 + #, no-c-format + msgid "Generate code for GNU assembler (gas)." +-msgstr "Створити код для GNU асемблера (gas)." ++msgstr "" + + #: config/vax/vax.opt:43 + #, no-c-format + msgid "Generate code for UNIX assembler." +-msgstr "Створити код для UNIX асемблера." ++msgstr "" + + #: config/vax/vax.opt:51 + #, no-c-format + msgid "Use VAXC structure conventions." +-msgstr "Використовувати VAXC конвенції структури." ++msgstr "" + + #: config/vax/vax.opt:55 + #, no-c-format + msgid "Use new adddi3/subdi3 patterns." +-msgstr "Використовувати нові шаблони adddi3/subdi3." ++msgstr "" + + #: config/frv/frv.opt:30 + #, no-c-format + msgid "Use 4 media accumulators." +-msgstr "Використовувати 4 накопичувачі медіа." ++msgstr "" + + #: config/frv/frv.opt:34 + #, no-c-format + msgid "Use 8 media accumulators." +-msgstr "Використовувати 8 накопичувачів медіа." ++msgstr "" + + #: config/frv/frv.opt:38 + #, no-c-format + msgid "Enable label alignment optimizations." +-msgstr "Увімкнути оптимізацію вирівнювання міток." ++msgstr "" + + #: config/frv/frv.opt:42 + #, no-c-format + msgid "Dynamically allocate cc registers." +-msgstr "Динамічно виділяти регістри cc." ++msgstr "" + + #: config/frv/frv.opt:49 + #, no-c-format + msgid "Set the cost of branches." +-msgstr "Встановити вартість гілок." ++msgstr "" + + #: config/frv/frv.opt:53 + #, no-c-format + msgid "Enable conditional execution other than moves/scc." +-msgstr "Увімкнути умовне виконання, крім переміщень/копіювань." ++msgstr "" + + #: config/frv/frv.opt:57 + #, no-c-format + msgid "Change the maximum length of conditionally-executed sequences." +-msgstr "Змінити максимальну довжину умовно виконуваних послідовностей." ++msgstr "" + + #: config/frv/frv.opt:61 + #, no-c-format + msgid "Change the number of temporary registers that are available to conditionally-executed sequences." +-msgstr "Змінити кількість тимчасових регістрів, доступних для умовно виконуваних послідовностей." ++msgstr "" + + #: config/frv/frv.opt:65 + #, no-c-format + msgid "Enable conditional moves." +-msgstr "Увімкнути умовні переміщення." ++msgstr "" + + #: config/frv/frv.opt:69 + #, no-c-format + msgid "Set the target CPU type." +-msgstr "Встановити тип цільового процесора." ++msgstr "" + + #: config/frv/frv.opt:73 + #, no-c-format + msgid "Known FR-V CPUs (for use with the -mcpu= option):" +-msgstr "Відомі процесори FR-V (для використання з опцією -mcpu=):" ++msgstr "" + + #: config/frv/frv.opt:122 + #, no-c-format + msgid "Use fp double instructions." +-msgstr "Використовувати подвійні інструкції fp." ++msgstr "" + + #: config/frv/frv.opt:126 + #, no-c-format + msgid "Change the ABI to allow double word insns." +-msgstr "Змінити ABI, щоб дозволити подвійні слова insns." ++msgstr "" + + #: config/frv/frv.opt:134 + #, no-c-format + msgid "Just use icc0/fcc0." +-msgstr "Просто використовуйте icc0/fcc0." ++msgstr "" + + #: config/frv/frv.opt:138 + #, no-c-format + msgid "Only use 32 FPRs." +-msgstr "Використовувати лише 32 FPRs." ++msgstr "" + + #: config/frv/frv.opt:142 + #, no-c-format + msgid "Use 64 FPRs." +-msgstr "Використовувати 64 FPRs." ++msgstr "" + + #: config/frv/frv.opt:146 + #, no-c-format + msgid "Only use 32 GPRs." +-msgstr "Використовувати лише 32 GPRs." ++msgstr "" + + #: config/frv/frv.opt:150 + #, no-c-format + msgid "Use 64 GPRs." +-msgstr "Використовувати 64 GPRs." ++msgstr "" + + #: config/frv/frv.opt:154 + #, no-c-format + msgid "Enable use of GPREL for read-only data in FDPIC." +-msgstr "Увімкнути використання GPREL для даних тільки для читання в FDPIC." ++msgstr "" + + #: config/frv/frv.opt:166 + #, no-c-format + msgid "Enable PIC support for building libraries." +-msgstr "Увімкнути підтримку PIC для побудови бібліотек." ++msgstr "" + + #: config/frv/frv.opt:170 + #, no-c-format + msgid "Follow the EABI linkage requirements." +-msgstr "Дотримуйтесь вимог EABI звʼязку." ++msgstr "" + + #: config/frv/frv.opt:174 + #, no-c-format + msgid "Disallow direct calls to global functions." +-msgstr "Заборонити прямі виклики глобальних функцій." ++msgstr "" + + #: config/frv/frv.opt:178 + #, no-c-format + msgid "Use media instructions." +-msgstr "Використовуйте медіа-інструкції." ++msgstr "" + + #: config/frv/frv.opt:182 + #, no-c-format + msgid "Use multiply add/subtract instructions." +-msgstr "Використовуйте інструкції множення додавання / віднімання." ++msgstr "" + + #: config/frv/frv.opt:186 + #, no-c-format + msgid "Enable optimizing &&/|| in conditional execution." +-msgstr "Увімкнути оптимізацію &&/|| в умовному виконанні." ++msgstr "" + + #: config/frv/frv.opt:190 + #, no-c-format + msgid "Enable nested conditional execution optimizations." +-msgstr "Увімкнути оптимізацію вкладеного умовного виконання." ++msgstr "" + + #: config/frv/frv.opt:195 + #, no-c-format + msgid "Do not mark ABI switches in e_flags." +-msgstr "Не позначати перемикачі ABI в e_flags." ++msgstr "" + + #: config/frv/frv.opt:199 + #, no-c-format + msgid "Remove redundant membars." +-msgstr "Видалити зайві membar-и." ++msgstr "" + + #: config/frv/frv.opt:203 + #, no-c-format + msgid "Pack VLIW instructions." +-msgstr "Упаковувати VLIW-інструкції." ++msgstr "" + + #: config/frv/frv.opt:207 + #, no-c-format + msgid "Enable setting GPRs to the result of comparisons." +-msgstr "Увімкнути встановлення GPR до результату порівнянь." ++msgstr "" + + #: config/frv/frv.opt:211 + #, no-c-format + msgid "Change the amount of scheduler lookahead." +-msgstr "Змінити кількість попереднього перегляду планувальника." ++msgstr "" + + #: config/frv/frv.opt:219 + #, no-c-format + msgid "Assume a large TLS segment." +-msgstr "Припустити великий сегмент TLS." ++msgstr "" + + #: config/frv/frv.opt:223 + #, no-c-format + msgid "Do not assume a large TLS segment." +-msgstr "Не припускати великий сегмент TLS." ++msgstr "" + + #: config/frv/frv.opt:228 + #, no-c-format + msgid "Cause gas to print tomcat statistics." +-msgstr "Змусити gas вивести статистику tomcat." ++msgstr "" + + #: config/frv/frv.opt:233 + #, no-c-format + msgid "Link with the library-pic libraries." +-msgstr "Посилання на бібліотеки library-pic." ++msgstr "" + + #: config/frv/frv.opt:237 + #, no-c-format + msgid "Allow branches to be packed with other instructions." +-msgstr "Дозволити упаковку гілок з іншими інструкціями." ++msgstr "" + + #: config/mn10300/mn10300.opt:30 + #, no-c-format + msgid "Target the AM33 processor." +-msgstr "Цільовий процесор AM33." ++msgstr "" + + #: config/mn10300/mn10300.opt:34 + #, no-c-format + msgid "Target the AM33/2.0 processor." +-msgstr "Цільовий процесор AM33/2.0." ++msgstr "" + + #: config/mn10300/mn10300.opt:38 + #, no-c-format + msgid "Target the AM34 processor." +-msgstr "Цільовий процесор AM34." ++msgstr "" + + #: config/mn10300/mn10300.opt:46 + #, no-c-format + msgid "Work around hardware multiply bug." +-msgstr "Обійти помилку множення апаратного забезпечення." ++msgstr "" + + #: config/mn10300/mn10300.opt:55 + #, no-c-format + msgid "Enable linker relaxations." +-msgstr "Увімкнути розслаблення звʼязувальника." ++msgstr "" + + #: config/mn10300/mn10300.opt:59 + #, no-c-format + msgid "Return pointers in both a0 and d0." +-msgstr "Повертати вказівники як в a0, так і в d0." ++msgstr "" + + #: config/mn10300/mn10300.opt:63 + #, no-c-format + msgid "Allow gcc to generate LIW instructions." +-msgstr "Дозволити gcc генерувати інструкції LIW." ++msgstr "" + + #: config/mn10300/mn10300.opt:67 + #, no-c-format + msgid "Allow gcc to generate the SETLB and Lcc instructions." +-msgstr "Дозволити gcc генерувати інструкції SETLB та Lcc." ++msgstr "" + + #: config/nds32/nds32-elf.opt:3 config/nds32/nds32-linux.opt:3 + #, no-c-format + msgid "Specify the address generation strategy for code model." +-msgstr "Вказати стратегію генерації адреси для моделі коду." ++msgstr "" + + #: config/nds32/nds32-elf.opt:7 config/nds32/nds32-linux.opt:7 + #, no-c-format + msgid "Known cmodel types (for use with the -mcmodel= option):" +-msgstr "Відомі типи cmodel (для використання з опцією -mcmodel=):" ++msgstr "" + + #: config/nds32/nds32.opt:29 config/nds32/nds32.opt:89 + #, no-c-format + msgid "Generate code in big-endian mode." +-msgstr "Генерувати код у режимі big-endian." ++msgstr "" + + #: config/nds32/nds32.opt:33 config/nds32/nds32.opt:93 + #, no-c-format + msgid "Generate code in little-endian mode." +-msgstr "Генерувати код у режимі little-endian." ++msgstr "" + + #: config/nds32/nds32.opt:37 + #, no-c-format + msgid "Force performing fp-as-gp optimization." +-msgstr "Примусово виконувати оптимізацію fp-as-gp." ++msgstr "" + + #: config/nds32/nds32.opt:41 + #, no-c-format + msgid "Forbid performing fp-as-gp optimization." +-msgstr "Заборонити виконання оптимізації fp-as-gp." ++msgstr "" + + #: config/nds32/nds32.opt:47 + #, no-c-format + msgid "Specify which ABI type to generate code for: 2, 2fp+." +-msgstr "Вказати, для якого типу ABI генерувати код: 2, 2fp+." ++msgstr "" + + #: config/nds32/nds32.opt:61 + #, no-c-format + msgid "Specify use soft floating point ABI which mean alias to -mabi=2." +-msgstr "Вказати використання мʼякого ABI з плаваючою комою, що означає псевдонім -mabi=2." ++msgstr "" + + #: config/nds32/nds32.opt:65 + #, no-c-format + msgid "Specify use soft floating point ABI which mean alias to -mabi=2fp+." +-msgstr "Вказати використання мʼякого ABI з плаваючою комою, що означає псевдонім -mabi=2fp+." ++msgstr "" + + #: config/nds32/nds32.opt:71 + #, no-c-format + msgid "Use reduced-set registers for register allocation." +-msgstr "Використовувати обмежений набір регістрів для розподілу регістрів." ++msgstr "" + + #: config/nds32/nds32.opt:75 + #, no-c-format + msgid "Use full-set registers for register allocation." +-msgstr "Використовувати повний набір регістрів для розподілу регістрів." ++msgstr "" + + #: config/nds32/nds32.opt:81 + #, no-c-format + msgid "Always align function entry, jump target and return address." +-msgstr "Завжди вирівнювати вхід у функцію, ціль переходу та адресу повернення." ++msgstr "" + + #: config/nds32/nds32.opt:85 + #, no-c-format + msgid "Align function entry to 4 byte." +-msgstr "Вирівняти вхід у функцію до 4 байт." ++msgstr "" + + #: config/nds32/nds32.opt:97 + #, no-c-format + msgid "Prevent $fp being allocated during register allocation so that compiler is able to force performing fp-as-gp optimization." +-msgstr "Заборонити розподіл $fp під час розподілу регістрів, щоб компілятор міг примусити виконання оптимізації fp-as-gp." ++msgstr "" + + #: config/nds32/nds32.opt:101 + #, no-c-format + msgid "Forbid using $fp to access static and global variables. This option strictly forbids fp-as-gp optimization regardless of '-mforce-fp-as-gp'." +-msgstr "Заборонити використання $fp для доступу до статичних та глобальних змінних. Ця опція строго забороняє оптимізацію fp-as-gp незалежно від '-mforce-fp-as-gp'." ++msgstr "" + + #: config/nds32/nds32.opt:105 + #, no-c-format + msgid "Specify the address generation strategy for ICT call's code model." +-msgstr "Вказати стратегію генерації адреси для моделі коду виклику ICT." ++msgstr "" + + #: config/nds32/nds32.opt:109 + #, no-c-format + msgid "Known cmodel types (for use with the -mict-model= option):" +-msgstr "Відомі типи моделей cmodel (для використання з опцією -mict-model=):" ++msgstr "" + + #: config/nds32/nds32.opt:119 + #, no-c-format + msgid "Generate conditional move instructions." +-msgstr "Генерувати інструкції умовного переміщення." ++msgstr "" + + #: config/nds32/nds32.opt:123 + #, no-c-format + msgid "Generate hardware abs instructions." +-msgstr "Генерувати апаратні інструкції abs." ++msgstr "Створити апаратні інструкції abs." + + #: config/nds32/nds32.opt:127 + #, no-c-format + msgid "Generate performance extension instructions." +-msgstr "Генерувати інструкції розширення продуктивності." ++msgstr "" + + #: config/nds32/nds32.opt:131 + #, no-c-format + msgid "Generate performance extension version 2 instructions." +-msgstr "Генерувати інструкції розширення продуктивності версії 2." ++msgstr "" + + #: config/nds32/nds32.opt:135 + #, no-c-format + msgid "Generate string extension instructions." +-msgstr "Генерувати інструкції розширення рядків." ++msgstr "Створити інструкції розширення рядків." + + #: config/nds32/nds32.opt:139 + #, no-c-format + msgid "Generate DSP extension instructions." +-msgstr "Генерувати інструкції розширення DSP." ++msgstr "Створити інструкції розширення DSP." + + #: config/nds32/nds32.opt:143 + #, no-c-format + msgid "Generate v3 push25/pop25 instructions." +-msgstr "Генерувати інструкції push25/pop25 v3." ++msgstr "" + + #: config/nds32/nds32.opt:147 + #, no-c-format + msgid "Generate 16-bit instructions." +-msgstr "Генерувати 16-бітні інструкції." ++msgstr "" + + #: config/nds32/nds32.opt:151 + #, no-c-format + msgid "Insert relax hint for linker to do relaxation." +-msgstr "Вставити підказку для розслаблення лінкера." ++msgstr "" + + #: config/nds32/nds32.opt:155 + #, no-c-format + msgid "Enable Virtual Hosting support." +-msgstr "Увімкнути підтримку віртуального хостингу." ++msgstr "" + + #: config/nds32/nds32.opt:159 + #, no-c-format + msgid "Specify the size of each interrupt vector, which must be 4 or 16." +-msgstr "Вказати розмір кожного вектора переривання, який повинен бути 4 або 16." ++msgstr "" + + #: config/nds32/nds32.opt:163 + #, no-c-format + msgid "Specify the security level of c-isr for the whole file." +-msgstr "Вказати рівень безпеки c-isr для всього файлу." ++msgstr "" + + #: config/nds32/nds32.opt:167 + #, no-c-format + msgid "Specify the size of each cache block, which must be a power of 2 between 4 and 512." +-msgstr "Вказати розмір кожного блоку кешу, який повинен бути степенем числа 2 від 4 до 512." ++msgstr "" + + #: config/nds32/nds32.opt:175 + #, no-c-format + msgid "Known arch types (for use with the -march= option):" +-msgstr "Відомі типи архітектури (для використання з опцією -march=):" ++msgstr "" + + #: config/nds32/nds32.opt:197 + #, no-c-format + msgid "Specify the cpu for pipeline model." +-msgstr "Вказати процесор для моделі конвеєра." ++msgstr "" + + #: config/nds32/nds32.opt:201 + #, no-c-format + msgid "Known cpu types (for use with the -mcpu= option):" +-msgstr "Відомі типи процесорів (для використання з опцією -mcpu=):" ++msgstr "" + + #: config/nds32/nds32.opt:361 + #, no-c-format + msgid "Specify a fpu configuration value from 0 to 7; 0-3 is as FPU spec says, and 4-7 is corresponding to 0-3." +-msgstr "Вказати значення конфігурації fpu від 0 до 7; 0-3 відповідає специфікації FPU, а 4-7 відповідає 0-3." ++msgstr "" + + #: config/nds32/nds32.opt:365 + #, no-c-format + msgid "Known floating-point number of registers (for use with the -mconfig-fpu= option):" +-msgstr "Відома кількість регістрів з плаваючою комою (для використання з опцією -mconfig-fpu=):" ++msgstr "" + + #: config/nds32/nds32.opt:393 + #, no-c-format + msgid "Specify configuration of instruction mul: fast1, fast2 or slow. The default is fast1." +-msgstr "Вказати конфігурацію інструкції mul: fast1, fast2 або slow. За замовчуванням використовується fast1." ++msgstr "" + + #: config/nds32/nds32.opt:412 + #, no-c-format + msgid "Specify how many read/write ports for n9/n10 cores. The value should be 3r2w or 2r1w." +-msgstr "Вказати кількість портів для читання/запису для ядер n9/n10. Значення повинно бути 3r2w або 2r1w." ++msgstr "" + + #: config/nds32/nds32.opt:425 + #, no-c-format + msgid "Enable constructor/destructor feature." +-msgstr "Увімкнути функцію конструктора/деструктора." ++msgstr "" + + #: config/nds32/nds32.opt:429 + #, no-c-format + msgid "Guide linker to relax instructions." +-msgstr "Направити лінкер на розслаблення інструкцій." ++msgstr "" + + #: config/nds32/nds32.opt:433 + #, no-c-format + msgid "Generate floating-point multiply-accumulation instructions." +-msgstr "Генерувати інструкції з плаваючою комою для множення-накопичення." ++msgstr "Створити інструкції накопичення множення для чисел із рухомою крапкою." + + #: config/nds32/nds32.opt:437 + #, no-c-format + msgid "Generate single-precision floating-point instructions." +-msgstr "Генерувати інструкції з плаваючою комою одинарної точності." ++msgstr "Створити інструкції одинарної точності для чисел із рухомою крапкою." + + #: config/nds32/nds32.opt:441 + #, no-c-format + msgid "Generate double-precision floating-point instructions." +-msgstr "Генерувати інструкції з плаваючою комою подвійної точності." ++msgstr "Створити інструкції подвійної точності для чисел із рухомою крапкою." + + #: config/nds32/nds32.opt:445 + #, no-c-format + msgid "Force disable hardware loop, even use -mext-dsp." +-msgstr "Примусово вимкнути апаратну петлю, навіть якщо використовується -mext-dsp." ++msgstr "" + + #: config/nds32/nds32.opt:449 + #, no-c-format + msgid "Permit scheduling of a function's prologue and epilogue sequence." +-msgstr "Дозволити планування послідовності прологу та епілогу функції." ++msgstr "" + + #: config/nds32/nds32.opt:453 + #, no-c-format + msgid "Generate return instruction in naked function." +-msgstr "Генерувати інструкцію повернення в голій функції." ++msgstr "" + + #: config/nds32/nds32.opt:457 + #, no-c-format + msgid "Always save $lp in the stack." +-msgstr "Завжди зберігати $lp у стеку." ++msgstr "" + + #: config/nds32/nds32.opt:465 + #, no-c-format + msgid "Allow use r15 for inline ASM." +-msgstr "Дозволити використання r15 для вбудованого ASM." ++msgstr "" + + #: config/iq2000/iq2000.opt:31 + #, no-c-format + msgid "Specify CPU for code generation purposes." +-msgstr "Вказати процесор для цілей генерації коду." ++msgstr "" + + #: config/iq2000/iq2000.opt:47 + #, no-c-format + msgid "Specify CPU for scheduling purposes." +-msgstr "Вказати процесор для цілей планування." ++msgstr "" + + #: config/iq2000/iq2000.opt:51 + #, no-c-format + msgid "Known IQ2000 CPUs (for use with the -mcpu= option):" +-msgstr "Відомі процесори IQ2000 (для використання з опцією -mcpu=):" ++msgstr "" + + #: config/iq2000/iq2000.opt:61 config/mips/mips.opt:142 + #, no-c-format + msgid "Use ROM instead of RAM." +-msgstr "Використовувати ROM замість RAM." ++msgstr "" + + #: config/iq2000/iq2000.opt:70 + #, no-c-format + msgid "No default crt0.o." +-msgstr "Немає типового crt0.o." ++msgstr "" + + #: config/iq2000/iq2000.opt:74 config/mips/mips.opt:413 + #, no-c-format + msgid "Put uninitialized constants in ROM (needs -membedded-data)." +-msgstr "Помістити неініціалізовані константи в ROM (потрібно -membedded-data)." ++msgstr "" + + #: config/csky/csky.opt:34 + #, no-c-format + msgid "Specify the target architecture." +-msgstr "Вказати цільову архітектуру." ++msgstr "" + + #: config/csky/csky.opt:38 + #, no-c-format + msgid "Specify the target processor." +-msgstr "Вказати цільовий процесор." ++msgstr "" + + #: config/csky/csky.opt:90 + #, no-c-format + msgid "Specify the target floating-point hardware/format." +-msgstr "Вказати цільовий апаратний засіб/формат з плаваючою комою." ++msgstr "" + + #: config/csky/csky.opt:94 + #, no-c-format + msgid "Generate C-SKY FPU double float instructions (default for hard float)." +-msgstr "Генерувати інструкції подвійного плаваючого розряду C-SKY FPU (за замовчуванням для жорсткої плаваючої коми)." ++msgstr "" + + #: config/csky/csky.opt:98 + #, no-c-format + msgid "Generate frecipd/fsqrtd/fdivd instructions (default for hard float)." +-msgstr "Генерувати інструкції frecipd/fsqrtd/fdivd (за замовчуванням для жорсткої плаваючої коми)." ++msgstr "" + + #: config/csky/csky.opt:106 + #, no-c-format + msgid "Enable the extended LRW instruction (default for CK801)." +-msgstr "Увімкнути розширену інструкцію LRW (за замовчуванням для CK801)." ++msgstr "" + + #: config/csky/csky.opt:110 + #, no-c-format + msgid "Enable interrupt stack instructions." +-msgstr "Увімкнути інструкції стеку переривань." ++msgstr "" + + #: config/csky/csky.opt:114 + #, no-c-format + msgid "Enable multiprocessor instructions." +-msgstr "Увімкнути інструкції багатопроцесорності." ++msgstr "Увімкнути багатопроцесорні інструкції." + + #: config/csky/csky.opt:118 + #, no-c-format + msgid "Enable coprocessor instructions." +-msgstr "Увімкнути інструкції копроцесора." ++msgstr "Увімкнути інструкції для співпроцесорів." + + #: config/csky/csky.opt:122 + #, no-c-format + msgid "Enable cache prefetch instructions." +-msgstr "Увімкнути інструкції попереднього завантаження кешу." ++msgstr "Увімкнути інструкції попереднього отримання кешу." + + #: config/csky/csky.opt:126 + #, no-c-format + msgid "Enable C-SKY SECURE instructions." +-msgstr "Увімкнути інструкції C-SKY SECURE." ++msgstr "" + + #: config/csky/csky.opt:133 + #, no-c-format + msgid "Enable C-SKY TRUST instructions." +-msgstr "Увімкнути інструкції C-SKY TRUST." ++msgstr "" + + #: config/csky/csky.opt:137 + #, no-c-format + msgid "Enable C-SKY DSP instructions." +-msgstr "Увімкнути інструкції DSP C-SKY." ++msgstr "" + + #: config/csky/csky.opt:141 + #, no-c-format + msgid "Enable C-SKY Enhanced DSP instructions." +-msgstr "Увімкнути покращені інструкції DSP C-SKY." ++msgstr "" + + #: config/csky/csky.opt:145 + #, no-c-format + msgid "Enable C-SKY Vector DSP instructions." +-msgstr "Увімкнути інструкції C-SKY Vector DSP." ++msgstr "" + + #: config/csky/csky.opt:151 + #, no-c-format + msgid "Generate divide instructions." +-msgstr "Генерувати інструкції ділення." ++msgstr "Створити інструкції divide." + + #: config/csky/csky.opt:155 + #, no-c-format + msgid "Generate code for Smart Mode." +-msgstr "Генерувати код для режиму Smart." ++msgstr "" + + #: config/csky/csky.opt:159 + #, no-c-format + msgid "Enable use of R16-R31 (default)." +-msgstr "Увімкнути використання R16-R31 (за замовчуванням)." ++msgstr "" + + #: config/csky/csky.opt:163 + #, no-c-format + msgid "Generate code using global anchor symbol addresses." +-msgstr "Генерувати код, використовуючи глобальні адреси символів-якорів." ++msgstr "" + + #: config/csky/csky.opt:167 + #, no-c-format + msgid "Generate push/pop instructions (default)." +-msgstr "Генерувати інструкції push/pop (за замовчуванням)." ++msgstr "" + + #: config/csky/csky.opt:171 + #, no-c-format + msgid "Generate stm/ldm instructions (default)." +-msgstr "Генерувати інструкції stm/ldm (за замовчуванням)." ++msgstr "" + + #: config/csky/csky.opt:178 + #, no-c-format + msgid "Generate constant pools in the compiler instead of assembler." +-msgstr "Генерувати константні пули в компіляторі замість асемблера." ++msgstr "" + + #: config/csky/csky.opt:182 + #, no-c-format + msgid "Emit .stack_size directives." +-msgstr "Генерувати директиви .stack_size." ++msgstr "" + + #: config/csky/csky.opt:186 + #, no-c-format + msgid "Generate code for C-SKY compiler runtime instead of libgcc." +-msgstr "Генерувати код для виконання компілятора C-SKY замість libgcc." ++msgstr "" + + #: config/csky/csky.opt:190 + #, no-c-format + msgid "Set the branch costs to roughly the specified number of instructions." +-msgstr "Встановити вартість гілок приблизно на вказану кількість інструкцій." ++msgstr "" + + #: config/csky/csky.opt:194 + #, no-c-format + msgid "Permit scheduling of function prologue and epilogue sequences." +-msgstr "Дозволити планування послідовностей прологу та епілогу функцій." ++msgstr "" + + #: config/csky/csky_tables.opt:24 + #, no-c-format + msgid "Known CSKY CPUs (for use with the -mcpu= options):" +-msgstr "Відомі процесори CSKY (для використання з опцією -mcpu=):" ++msgstr "" + + #: config/csky/csky_tables.opt:205 + #, no-c-format + msgid "Known CSKY architectures (for use with the -march= option):" +-msgstr "Відомі архітектури CSKY (для використання з опцією -march=):" ++msgstr "" + + #: config/csky/csky_tables.opt:227 + #, no-c-format + msgid "Known CSKY FPUs (for use with the -mfpu= option):" +-msgstr "Відомі FPUs CSKY (для використання з опцією -mfpu=):" ++msgstr "" + + #: config/c6x/c6x-tables.opt:24 + #, no-c-format + msgid "Known C6X ISAs (for use with the -march= option):" +-msgstr "Відомі ISA C6X (для використання з опцією -march=):" ++msgstr "" + + #: config/c6x/c6x.opt:42 + #, no-c-format + msgid "Select method for sdata handling." +-msgstr "Виберати метод обробки sdata." ++msgstr "" + + #: config/c6x/c6x.opt:46 + #, no-c-format + msgid "Valid arguments for the -msdata= option:" +-msgstr "Дійсні аргументи для опції -msdata=:" ++msgstr "Коректні аргументи для параметра -msdata=:" + + #: config/c6x/c6x.opt:59 + #, no-c-format + msgid "Compile for the DSBT shared library ABI." +-msgstr "Компілювати для DSBT shared library ABI." ++msgstr "" + + #: config/cris/cris.opt:45 + #, no-c-format + msgid "Work around bug in multiplication instruction." +-msgstr "Обійти помилку в інструкції множення." ++msgstr "" + + #: config/cris/cris.opt:51 + #, no-c-format + msgid "Compile for ETRAX 4 (CRIS v3)." +-msgstr "Компілювати для ETRAX 4 (CRIS v3)." ++msgstr "" + + #: config/cris/cris.opt:56 + #, no-c-format + msgid "Compile for ETRAX 100 (CRIS v8)." +-msgstr "Компілювати для ETRAX 100 (CRIS v8)." ++msgstr "" + + #: config/cris/cris.opt:64 + #, no-c-format + msgid "Emit verbose debug information in assembly code." +-msgstr "Виводити детальну інформацію для налагодження у вигляді коду асемблера." ++msgstr "" + + #: config/cris/cris.opt:71 + #, no-c-format + msgid "Do not use condition codes from normal instructions." +-msgstr "Не використовувати умовні коди звичайних інструкцій." ++msgstr "" + + #: config/cris/cris.opt:80 + #, no-c-format + msgid "Do not emit addressing modes with side-effect assignment." +-msgstr "Не генерувати режими адресації з присвоєнням побічного ефекту." ++msgstr "" + + #: config/cris/cris.opt:89 + #, no-c-format + msgid "Do not tune stack alignment." +-msgstr "Не налаштовувати вирівнювання стеку." ++msgstr "" + + #: config/cris/cris.opt:98 + #, no-c-format + msgid "Do not tune writable data alignment." +-msgstr "Не налаштовувати вирівнювання записуваних даних." ++msgstr "" + + #: config/cris/cris.opt:107 + #, no-c-format + msgid "Do not tune code and read-only data alignment." +-msgstr "Не налаштовувати вирівнювання коду та даних, доступних тільки для читання." ++msgstr "" + + #: config/cris/cris.opt:116 + #, no-c-format + msgid "Align code and data to 32 bits." +-msgstr "Вирівнювати код та дані до 32 біт." ++msgstr "" + + #: config/cris/cris.opt:133 + #, no-c-format + msgid "Don't align items in code or data." +-msgstr "Не вирівнювати елементи в коді або даних." ++msgstr "" + + #: config/cris/cris.opt:142 + #, no-c-format + msgid "Do not emit function prologue or epilogue." +-msgstr "Не генерувати пролог або епілог функції." ++msgstr "" + + #: config/cris/cris.opt:149 + #, no-c-format + msgid "Use the most feature-enabling options allowed by other options." +-msgstr "Використовувати найбільш функціональні опції, дозволені іншими опціями." ++msgstr "" + + #: config/cris/cris.opt:158 + #, no-c-format + msgid "Override -mbest-lib-options." +-msgstr "Перевизначити -mbest-lib-options." ++msgstr "" + + #: config/cris/cris.opt:165 + #, no-c-format + msgid "-march=ARCH\tGenerate code for the specified chip or CPU version." +-msgstr "-march=ARCH\tГенерувати код для вказаного чипу або версії процесора." ++msgstr "" + + #: config/cris/cris.opt:169 + #, no-c-format + msgid "-mtune=ARCH\tTune alignment for the specified chip or CPU version." +-msgstr "-mtune=ARCH\tНалаштувати вирівнювання для вказаного чипу або версії процесора." ++msgstr "" + + #: config/cris/cris.opt:173 + #, no-c-format + msgid "-mmax-stackframe=SIZE\tWarn when a stackframe is larger than the specified size." +-msgstr "-mmax-stackframe=SIZE\tПопереджати, коли розмір стекового кадру більший за вказаний розмір." ++msgstr "" + + #: config/cris/cris.opt:180 + #, no-c-format + msgid "Emit traps as \"break 8\", default for CRIS v3 and up. If disabled, calls to abort() are used." +-msgstr "Видавати пастки як «break 8», за замовчуванням для CRIS v3 і вище. Якщо вимкнено, використовуються виклики abort()." ++msgstr "" + + #: config/cris/cris.opt:184 + #, no-c-format + msgid "Emit checks causing \"break 8\" instructions to execute when applying atomic builtins on misaligned memory." +-msgstr "Видавати перевірки, що призводять до виконання інструкцій «break 8» при застосуванні атомних вбудованих функцій на неправильно вирівняній памʼяті." ++msgstr "" + + #: config/cris/cris.opt:188 + #, no-c-format + msgid "Handle atomic builtins that may be applied to unaligned data by calling library functions. Overrides -mtrap-unaligned-atomic." +-msgstr "Обробка атомних вбудованих функцій, які можуть застосовуватися до незаініціалізованих даних, шляхом виклику функцій бібліотеки. Перевизначає -mtrap-unaligned-atomic." ++msgstr "" + + #: config/sh/superh.opt:6 + #, no-c-format + msgid "Board name [and memory region]." +-msgstr "Назва плати [та область памʼяті]." ++msgstr "" + + #: config/sh/superh.opt:10 + #, no-c-format + msgid "Runtime name." +-msgstr "Назва рантайму." ++msgstr "" + + #: config/sh/sh.opt:42 + #, no-c-format + msgid "Generate SH1 code." +-msgstr "Генерувати код SH1." ++msgstr "" + + #: config/sh/sh.opt:46 + #, no-c-format + msgid "Generate SH2 code." +-msgstr "Генерувати код SH2." ++msgstr "" + + #: config/sh/sh.opt:50 + #, no-c-format + msgid "Generate default double-precision SH2a-FPU code." +-msgstr "Генерувати код SH2a-FPU з подвійною точністю за замовчуванням." ++msgstr "" + + #: config/sh/sh.opt:54 + #, no-c-format + msgid "Generate SH2a FPU-less code." +-msgstr "Генерувати код SH2a без FPU." ++msgstr "" + + #: config/sh/sh.opt:58 + #, no-c-format + msgid "Generate default single-precision SH2a-FPU code." +-msgstr "Генерувати код SH2a-FPU з одинарною точністю за замовчуванням." ++msgstr "" + + #: config/sh/sh.opt:62 + #, no-c-format + msgid "Generate only single-precision SH2a-FPU code." +-msgstr "Генерувати лише код SH2a-FPU з одинарною точністю." ++msgstr "" + + #: config/sh/sh.opt:66 + #, no-c-format + msgid "Generate SH2e code." +-msgstr "Генерувати код SH2e." ++msgstr "" + + #: config/sh/sh.opt:70 + #, no-c-format + msgid "Generate SH3 code." +-msgstr "Генерувати код SH3." ++msgstr "" + + #: config/sh/sh.opt:74 + #, no-c-format + msgid "Generate SH3e code." +-msgstr "Генерувати код SH3e." ++msgstr "" + + #: config/sh/sh.opt:78 + #, no-c-format + msgid "Generate SH4 code." +-msgstr "Генерувати код SH4." ++msgstr "" + + #: config/sh/sh.opt:82 + #, no-c-format + msgid "Generate SH4-100 code." +-msgstr "Генерувати код SH4-100." ++msgstr "" + + #: config/sh/sh.opt:86 + #, no-c-format + msgid "Generate SH4-200 code." +-msgstr "Генерувати код для SH4-200." ++msgstr "" + + #: config/sh/sh.opt:92 + #, no-c-format + msgid "Generate SH4-300 code." +-msgstr "Генерувати код для SH4-300." ++msgstr "" + + #: config/sh/sh.opt:96 + #, no-c-format + msgid "Generate SH4 FPU-less code." +-msgstr "Генерувати код для SH4 без FPU." ++msgstr "" + + #: config/sh/sh.opt:100 + #, no-c-format + msgid "Generate SH4-100 FPU-less code." +-msgstr "Генерувати код для SH4-100 без FPU." ++msgstr "" + + #: config/sh/sh.opt:104 + #, no-c-format + msgid "Generate SH4-200 FPU-less code." +-msgstr "Генерувати код для SH4-200 без FPU." ++msgstr "" + + #: config/sh/sh.opt:108 + #, no-c-format + msgid "Generate SH4-300 FPU-less code." +-msgstr "Генерувати код для SH4-300 без FPU." ++msgstr "" + + #: config/sh/sh.opt:112 + #, no-c-format + msgid "Generate code for SH4 340 series (MMU/FPU-less)." +-msgstr "Генерувати код для серії SH4 340 (без MMU/FPU)." ++msgstr "" + + #: config/sh/sh.opt:117 + #, no-c-format + msgid "Generate code for SH4 400 series (MMU/FPU-less)." +-msgstr "Генерувати код для серії SH4 400 (без MMU/FPU)." ++msgstr "" + + #: config/sh/sh.opt:122 + #, no-c-format + msgid "Generate code for SH4 500 series (FPU-less)." +-msgstr "Генерувати код для серії SH4 500 (без FPU)." ++msgstr "" + + #: config/sh/sh.opt:127 + #, no-c-format + msgid "Generate default single-precision SH4 code." +-msgstr "Генерувати код SH4 зі стандартною одинарною точністю." ++msgstr "" + + #: config/sh/sh.opt:131 + #, no-c-format + msgid "Generate default single-precision SH4-100 code." +-msgstr "Генерувати код SH4-100 з одинарною точністю за замовчуванням." ++msgstr "" + + #: config/sh/sh.opt:135 + #, no-c-format + msgid "Generate default single-precision SH4-200 code." +-msgstr "Створити код SH4-200 з одинарною точністю за замовчуванням." ++msgstr "" + + #: config/sh/sh.opt:139 + #, no-c-format + msgid "Generate default single-precision SH4-300 code." +-msgstr "Створити типовий код SH4-300 з одинарною точністю." ++msgstr "" + + #: config/sh/sh.opt:143 + #, no-c-format + msgid "Generate only single-precision SH4 code." +-msgstr "Створити лише код SH4 з одинарною точністю." ++msgstr "" + + #: config/sh/sh.opt:147 + #, no-c-format + msgid "Generate only single-precision SH4-100 code." +-msgstr "Створити лише код SH4-100 з одинарною точністю." ++msgstr "" + + #: config/sh/sh.opt:151 + #, no-c-format + msgid "Generate only single-precision SH4-200 code." +-msgstr "Створити лише код SH4-200 з одинарною точністю." ++msgstr "" + + #: config/sh/sh.opt:155 + #, no-c-format + msgid "Generate only single-precision SH4-300 code." +-msgstr "Створити лише код SH4-300 з одинарною точністю." ++msgstr "" + + #: config/sh/sh.opt:159 + #, no-c-format + msgid "Generate SH4a code." +-msgstr "Створити код SH4a." ++msgstr "" + + #: config/sh/sh.opt:163 + #, no-c-format + msgid "Generate SH4a FPU-less code." +-msgstr "Створити код SH4a без FPU." ++msgstr "" + + #: config/sh/sh.opt:167 + #, no-c-format + msgid "Generate default single-precision SH4a code." +-msgstr "Створити типовий код SH4a з одинарною точністю." ++msgstr "" + + #: config/sh/sh.opt:171 + #, no-c-format + msgid "Generate only single-precision SH4a code." +-msgstr "Генерувати лише код SH4a з одинарною точністю." ++msgstr "" + + #: config/sh/sh.opt:175 + #, no-c-format + msgid "Generate SH4al-dsp code." +-msgstr "Генерувати код SH4al-dsp." ++msgstr "" + + #: config/sh/sh.opt:183 + #, no-c-format + msgid "Generate code in big endian mode." +-msgstr "Генерувати код у режимі «Big Endian»." ++msgstr "" + + #: config/sh/sh.opt:187 + #, no-c-format + msgid "Generate 32-bit offsets in switch tables." +-msgstr "Генерувати 32-бітні зсуви в таблицях перемикачів." ++msgstr "" + + #: config/sh/sh.opt:191 + #, no-c-format + msgid "Generate bit instructions." +-msgstr "Генерувати бітові інструкції." ++msgstr "" + + #: config/sh/sh.opt:199 + #, no-c-format + msgid "Assume that zero displacement conditional branches are fast." +-msgstr "Припускати, що умовні гілки з нульовим зсувом є швидкими." ++msgstr "" + + #: config/sh/sh.opt:203 + #, no-c-format + msgid "Force the usage of delay slots for conditional branches." +-msgstr "Примусове використання слотів затримки для умовних гілок." ++msgstr "" + + #: config/sh/sh.opt:207 + #, no-c-format + msgid "Align doubles at 64-bit boundaries." +-msgstr "Вирівнювати подвійні числа за межами 64-бітних границь." ++msgstr "" + + #: config/sh/sh.opt:211 + #, no-c-format + msgid "Division strategy, one of: call-div1, call-fp, call-table." +-msgstr "Стратегія ділення, одна з: call-div1, call-fp, call-table." ++msgstr "" + + #: config/sh/sh.opt:215 + #, no-c-format + msgid "Specify name for 32 bit signed division function." +-msgstr "Вказати назву функції для 32-бітного знакового ділення." ++msgstr "" + + #: config/sh/sh.opt:219 + #, no-c-format + msgid "Generate ELF FDPIC code." +-msgstr "Створити код ELF FDPIC." ++msgstr "" + + #: config/sh/sh.opt:223 + #, no-c-format + msgid "Enable the use of 64-bit floating point registers in fmov instructions. See -mdalign if 64-bit alignment is required." +-msgstr "Увімкнути використання 64-бітних регістрів з плаваючою комою в інструкціях fmov. Див. -mdalign, якщо потрібна 64-бітна вирівнювання." ++msgstr "" + + #: config/sh/sh.opt:231 config/sh/sh.opt:269 + #, no-c-format + msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions." +-msgstr "Дотримуйтесь конвенцій виклику Renesas (раніше Hitachi) / SuperH." ++msgstr "" + + #: config/sh/sh.opt:235 + #, no-c-format + msgid "Increase the IEEE compliance for floating-point comparisons." +-msgstr "Збільшити відповідність до IEEE для порівнянь з плаваючою комою." ++msgstr "" + + #: config/sh/sh.opt:239 + #, no-c-format + msgid "Inline code to invalidate instruction cache entries after setting up nested function trampolines." +-msgstr "Вбудований код для скасування записів кешу інструкцій після налаштування вкладених функційних трамплінів." ++msgstr "" + + #: config/sh/sh.opt:243 config/arc/arc.opt:242 + #, no-c-format + msgid "Annotate assembler instructions with estimated addresses." +-msgstr "Анотувати асемблерні інструкції з оціненими адресами." ++msgstr "" + + #: config/sh/sh.opt:247 + #, no-c-format + msgid "Generate code in little endian mode." +-msgstr "Генерувати код у режимі little endian." ++msgstr "" + + #: config/sh/sh.opt:251 + #, no-c-format + msgid "Mark MAC register as call-clobbered." +-msgstr "Позначити регістр MAC як підданий змінам під час виклику." ++msgstr "" + + #: config/sh/sh.opt:257 + #, no-c-format + msgid "Make structs a multiple of 4 bytes (warning: ABI altered)." +-msgstr "Зробити структури кратними 4 байтам (попередження: змінено ABI)." ++msgstr "" + + #: config/sh/sh.opt:261 + #, no-c-format + msgid "Emit function-calls using global offset table when generating PIC." +-msgstr "Випускати виклики функцій, використовуючи глобальну таблицю зміщень при генерації PIC." ++msgstr "" + + #: config/sh/sh.opt:265 + #, no-c-format + msgid "Shorten address references during linking." +-msgstr "Скорочувати посилання на адреси під час звʼязування." ++msgstr "" + + #: config/sh/sh.opt:273 + #, no-c-format + msgid "Specify the model for atomic operations." +-msgstr "Вказати модель для атомних операцій." ++msgstr "" + + #: config/sh/sh.opt:277 + #, no-c-format + msgid "Use tas.b instruction for __atomic_test_and_set." +-msgstr "Використовувати інструкцію tas.b для __atomic_test_and_set." ++msgstr "" + + #: config/sh/sh.opt:281 + #, no-c-format + msgid "Cost to assume for a multiply insn." +-msgstr "Вартість, яку слід вважати для множення insn." ++msgstr "" + + #: config/sh/sh.opt:285 + #, no-c-format + msgid "Don't generate privileged-mode only code; implies -mno-inline-ic_invalidate if the inline code would not work in user mode." +-msgstr "Не генерувати код тільки в привілейованому режимі; передбачає -mno-inline-ic_invalidate, якщо код в режимі вбудованого коду не працюватиме в режимі користувача." ++msgstr "" + + #: config/sh/sh.opt:291 + #, no-c-format + msgid "Pretend a branch-around-a-move is a conditional move." +-msgstr "Припускати, що гілка навколо переміщення є умовним переміщенням." ++msgstr "" + + #: config/sh/sh.opt:295 + #, no-c-format + msgid "Enable the use of the fsca instruction." +-msgstr "Увімкнути використання інструкції fsca." ++msgstr "" + + #: config/sh/sh.opt:299 + #, no-c-format + msgid "Enable the use of the fsrra instruction." +-msgstr "Увімкнути використання інструкції fsrra." ++msgstr "" + + #: config/gcn/gcn.opt:26 + #, no-c-format + msgid "GCN GPU type to use:" +-msgstr "Тип GPU GCN, який слід використовувати:" ++msgstr "" + + #: config/gcn/gcn.opt:45 config/gcn/gcn.opt:49 + #, no-c-format + msgid "Specify the name of the target GPU." +-msgstr "Вказати назву цільового GPU." ++msgstr "" + + #: config/gcn/gcn.opt:53 + #, no-c-format + msgid "Generate code for a 32-bit ABI." +-msgstr "Генерувати код для 32-бітної ABI." ++msgstr "" + + #: config/gcn/gcn.opt:57 + #, no-c-format + msgid "Generate code for a 64-bit ABI." +-msgstr "Генерувати код для 64-бітного ABI." ++msgstr "" + + #: config/gcn/gcn.opt:61 + #, no-c-format + msgid "Enable OpenMP GPU offloading." +-msgstr "Увімкнути віддалене виконання OpenMP на GPU." ++msgstr "" + + #: config/gcn/gcn.opt:72 + #, no-c-format + msgid "Obsolete; use GCN_STACK_SIZE at runtime." +-msgstr "Застаріле; використовуйте GCN_STACK_SIZE під час виконання." ++msgstr "" + + #: config/gcn/gcn.opt:78 + #, no-c-format + msgid "Amount of local data-share (LDS) memory to reserve for gang-private variables." +-msgstr "Кількість локальної памʼяті для спільного використання даних (LDS), яку слід зарезервувати для приватних змінних групи." ++msgstr "" + + #: config/gcn/gcn.opt:82 + #, no-c-format + msgid "Warn about invalid OpenACC dimensions." +-msgstr "Попереджати про недійсні розміри OpenACC." ++msgstr "." + + #: config/gcn/gcn.opt:86 + #, no-c-format + msgid "Compile for devices requiring XNACK enabled. Default off." +-msgstr "Компілювати для пристроїв, які вимагають увімкнення XNACK. За замовчуванням вимкнено." ++msgstr "" + + #: config/gcn/gcn.opt:90 + #, no-c-format + msgid "SRAM-ECC modes:" +-msgstr "Режими SRAM-ECC:" ++msgstr "" + + #: config/gcn/gcn.opt:103 + #, no-c-format + msgid "Compile for devices with the SRAM ECC feature enabled, or not. Default \"any\"." +-msgstr "Компілювати для пристроїв з увімкненою функцією SRAM ECC або без неї. За замовчуванням «будь-який»." ++msgstr "" + + #: config/fr30/fr30.opt:23 + #, no-c-format + msgid "Assume small address space." +-msgstr "Припустити малий адресний простір." ++msgstr "" + + #: config/bpf/bpf.opt:28 + #, no-c-format + msgid "Generate eBPF for the given Linux kernel version." +-msgstr "Створити eBPF для вказаної версії ядра Linux." ++msgstr "" + + #: config/bpf/bpf.opt:115 + #, no-c-format + msgid "Generate xBPF." +-msgstr "Створити xBPF." ++msgstr "" + + #: config/bpf/bpf.opt:121 + #, no-c-format + msgid "Generate big-endian eBPF." +-msgstr "Створити big-endian eBPF." ++msgstr "" + + #: config/bpf/bpf.opt:125 + #, no-c-format + msgid "Generate little-endian eBPF." +-msgstr "Створити little-endian eBPF." ++msgstr "" + + #: config/bpf/bpf.opt:129 + #, no-c-format + msgid "Set a hard limit for the size of each stack frame, in bytes." +-msgstr "Встановити жорстку межу для розміру кожного рамки стеку, в байтах." ++msgstr "" + + #: config/bpf/bpf.opt:133 + #, no-c-format + msgid "Generate all necessary information for BPF Compile Once - Run Everywhere." +-msgstr "Згенерувати всю необхідну інформацію для BPF Compile Once - Run Everywhere." ++msgstr "" + + #: config/bpf/bpf.opt:139 + #, no-c-format + msgid "Enable extra conditional-branch instructions j(s)lt and j(s)le." +-msgstr "Увімкнути додаткові умовні гілкові інструкції j(s)lt та j(s)le." ++msgstr "" + + #: config/bpf/bpf.opt:143 + #, no-c-format + msgid "Enable 32-bit ALU instructions." +-msgstr "Увімкнути 32-бітні ALU-інструкції." ++msgstr "Увімкнути 32-бітові інструкції ALU." + + #: config/bpf/bpf.opt:147 + #, no-c-format + msgid "Enable 32-bit jump instructions." +-msgstr "Увімкнути 32-бітні інструкції переходу." ++msgstr "Увімкнути 32-бітові інструкції переходу." + + #: config/mips/mips.opt:32 + #, no-c-format + msgid "-mabi=ABI\tGenerate code that conforms to the given ABI." +-msgstr "-mabi=ABI\tГенерувати код, який відповідає вказаному ABI." ++msgstr "" + + #: config/mips/mips.opt:36 + #, no-c-format + msgid "Known MIPS ABIs (for use with the -mabi= option):" +-msgstr "Відомі MIPS ABI (для використання з опцією -mabi=):" ++msgstr "" + + #: config/mips/mips.opt:55 + #, no-c-format + msgid "Generate code that can be used in SVR4-style dynamic objects." +-msgstr "Генерувати код, який може бути використаний у динамічних обʼєктах у стилі SVR4." ++msgstr "" + + #: config/mips/mips.opt:59 + #, no-c-format + msgid "Use PMC-style 'mad' instructions." +-msgstr "Використовувати інструкції 'mad' у стилі PMC." ++msgstr "" + + #: config/mips/mips.opt:63 + #, no-c-format + msgid "Use integer madd/msub instructions." +-msgstr "Використовувати цілочисельні інструкції madd/msub." ++msgstr "" + + #: config/mips/mips.opt:67 + #, no-c-format + msgid "-march=ISA\tGenerate code for the given ISA." +-msgstr "-march=ISA\tГенерувати код для заданого ISA." ++msgstr "" + + #: config/mips/mips.opt:75 + #, no-c-format + msgid "Use Branch Likely instructions, overriding the architecture default." +-msgstr "Використовувати інструкції Branch Likely, перевищуючи архітектурний типовий." ++msgstr "" + + #: config/mips/mips.opt:79 + #, no-c-format + msgid "Switch on/off MIPS16 ASE on alternating functions for compiler testing." +-msgstr "Увімкнути/вимкнути MIPS16 ASE на чергових функціях для тестування компілятора." ++msgstr "" + + #: config/mips/mips.opt:87 + #, no-c-format + msgid "-mcode-readable=SETTING\tSpecify when instructions are allowed to access code." +-msgstr "-mcode-readable=SETTING\tВказати, коли дозволено інструкціям отримувати доступ до коду." ++msgstr "" + + #: config/mips/mips.opt:91 + #, no-c-format + msgid "Valid arguments to -mcode-readable=:" +-msgstr "Допустимі аргументи для -mcode-readable=:" ++msgstr "" + + #: config/mips/mips.opt:104 + #, no-c-format + msgid "Use branch-and-break sequences to check for integer divide by zero." +-msgstr "Використовувати послідовності гілок та переривань для перевірки цілочисельного ділення на нуль." ++msgstr "" + + #: config/mips/mips.opt:108 + #, no-c-format + msgid "Use trap instructions to check for integer divide by zero." +-msgstr "Використовувати інструкції trap для перевірки цілочисельного ділення на нуль." ++msgstr "" + + #: config/mips/mips.opt:112 + #, no-c-format + msgid "Allow the use of MDMX instructions." +-msgstr "Дозволити використання інструкцій MDMX." ++msgstr "" + + #: config/mips/mips.opt:120 + #, no-c-format + msgid "Use MIPS-DSP instructions." +-msgstr "Використовувати інструкції MIPS-DSP." ++msgstr "" + + #: config/mips/mips.opt:124 + #, no-c-format + msgid "Use MIPS-DSP REV 2 instructions." +-msgstr "Використовувати інструкції MIPS-DSP REV 2." ++msgstr "" + + #: config/mips/mips.opt:146 + #, no-c-format + msgid "Use Enhanced Virtual Addressing instructions." +-msgstr "Використовуйте інструкції покращеного віртуального адресування." ++msgstr "" + + #: config/mips/mips.opt:150 + #, no-c-format + msgid "Use NewABI-style %reloc() assembly operators." +-msgstr "Використовуйте оператори збірки %reloc() у стилі NewABI." ++msgstr "" + + #: config/mips/mips.opt:154 + #, no-c-format + msgid "Use -G for data that is not defined by the current object." +-msgstr "Використовуйте -G для даних, які не визначені поточним обʼєктом." ++msgstr "" + + #: config/mips/mips.opt:158 + #, no-c-format + msgid "Work around certain 24K errata." +-msgstr "Обійти певні помилки 24K." ++msgstr "" + + #: config/mips/mips.opt:162 + #, no-c-format + msgid "Work around certain R4000 errata." +-msgstr "Обійти певні помилки R4000." ++msgstr "" + + #: config/mips/mips.opt:166 + #, no-c-format + msgid "Work around certain R4400 errata." +-msgstr "Обійти певні помилки R4400." ++msgstr "" + + #: config/mips/mips.opt:170 + #, no-c-format + msgid "Work around the R5900 short loop erratum." +-msgstr "Обійдіть помилку короткого циклу R5900." ++msgstr "" + + #: config/mips/mips.opt:174 + #, no-c-format + msgid "Work around certain RM7000 errata." +-msgstr "Обійти певні помилки RM7000." ++msgstr "" + + #: config/mips/mips.opt:178 + #, no-c-format + msgid "Work around certain R10000 errata." +-msgstr "Обійдіть певні помилки R10000." ++msgstr "" + + #: config/mips/mips.opt:182 + #, no-c-format + msgid "Work around errata for early SB-1 revision 2 cores." +-msgstr "Обійдіть помилки для ранніх ядер SB-1 ревізії 2." ++msgstr "" + + #: config/mips/mips.opt:186 + #, no-c-format + msgid "Work around certain VR4120 errata." +-msgstr "Обійдіть певні помилки VR4120." ++msgstr "" + + #: config/mips/mips.opt:190 + #, no-c-format + msgid "Work around VR4130 mflo/mfhi errata." +-msgstr "Обійдіть помилки mflo/mfhi VR4130." ++msgstr "" + + #: config/mips/mips.opt:194 + #, no-c-format + msgid "Work around an early 4300 hardware bug." +-msgstr "Обійдіть ранню апаратну помилку 4300." ++msgstr "" + + #: config/mips/mips.opt:198 + #, no-c-format + msgid "FP exceptions are enabled." +-msgstr "Ввімкнено винятки FP." ++msgstr "" + + #: config/mips/mips.opt:202 + #, no-c-format + msgid "Use 32-bit floating-point registers." +-msgstr "Використовуйте 32-бітні регістри з плаваючою комою." ++msgstr "" + + #: config/mips/mips.opt:206 + #, no-c-format + msgid "Conform to the o32 FPXX ABI." +-msgstr "Відповідність ABI o32 FPXX." ++msgstr "" + + #: config/mips/mips.opt:210 + #, no-c-format + msgid "Use 64-bit floating-point registers." +-msgstr "Використовуйте 64-бітні регістри з плаваючою комою." ++msgstr "" + + #: config/mips/mips.opt:214 + #, no-c-format + msgid "-mflush-func=FUNC\tUse FUNC to flush the cache before calling stack trampolines." +-msgstr "-mflush-func=FUNC\tВикористовуйте FUNC для очищення кешу перед викликом стекових трамплінів." ++msgstr "" + + #: config/mips/mips.opt:218 + #, no-c-format + msgid "-mabs=MODE\tSelect the IEEE 754 ABS/NEG instruction execution mode." +-msgstr "-mabs=MODE\tВиберіть режим виконання інструкцій ABS/NEG IEEE 754." ++msgstr "" + + #: config/mips/mips.opt:222 + #, no-c-format + msgid "-mnan=ENCODING\tSelect the IEEE 754 NaN data encoding." +-msgstr "-mnan=ENCODING\tВиберіть кодування даних NaN (Not a Number) згідно з IEEE 754." ++msgstr "" + + #: config/mips/mips.opt:226 + #, no-c-format + msgid "Known MIPS IEEE 754 settings (for use with the -mabs= and -mnan= options):" +-msgstr "Відомі налаштування MIPS IEEE 754 (для використання з опціями -mabs= та -mnan=):" ++msgstr "" + + #: config/mips/mips.opt:236 + #, no-c-format + msgid "Use 32-bit general registers." +-msgstr "Використовуйте 32-бітні загальні регістри." ++msgstr "" + + #: config/mips/mips.opt:240 + #, no-c-format + msgid "Use 64-bit general registers." +-msgstr "Використовуйте 64-бітні загальні регістри." ++msgstr "" + + #: config/mips/mips.opt:244 + #, no-c-format + msgid "Use GP-relative addressing to access small data." +-msgstr "Використовуйте GP-відносну адресацію для доступу до невеликих даних." ++msgstr "" + + #: config/mips/mips.opt:248 + #, no-c-format + msgid "When generating -mabicalls code, allow executables to use PLTs and copy relocations." +-msgstr "При генерації коду -mabicalls, дозволяє виконуваним файлам використовувати PLT та копіювати перерозташування." ++msgstr "" + + #: config/mips/mips.opt:252 + #, no-c-format + msgid "Allow the use of hardware floating-point ABI and instructions." +-msgstr "Дозволити використання апаратного ABI та інструкцій з плаваючою комою." ++msgstr "" + + #: config/mips/mips.opt:256 + #, no-c-format + msgid "Generate code that is link-compatible with MIPS16 and microMIPS code." +-msgstr "Генерувати код, який сумісний з кодом MIPS16 та microMIPS при звʼязуванні." ++msgstr "" + + #: config/mips/mips.opt:260 + #, no-c-format + msgid "An alias for minterlink-compressed provided for backward-compatibility." +-msgstr "Псевдонім для minterlink-compressed, наданий для забезпечення зворотної сумісності." ++msgstr "" + + #: config/mips/mips.opt:264 + #, no-c-format + msgid "-mipsN\tGenerate code for ISA level N." +-msgstr "-mipsN\tГенерувати код для рівня ISA N." ++msgstr "" + + #: config/mips/mips.opt:268 + #, no-c-format + msgid "Generate MIPS16 code." +-msgstr "Генерувати код для MIPS16." ++msgstr "" + + #: config/mips/mips.opt:272 + #, no-c-format + msgid "Use MIPS-3D instructions." +-msgstr "Використовувати інструкції MIPS-3D." ++msgstr "" + + #: config/mips/mips.opt:276 + #, no-c-format + msgid "Use ll, sc and sync instructions." +-msgstr "Використовувати інструкції ll, sc та sync." ++msgstr "" + + #: config/mips/mips.opt:280 + #, no-c-format + msgid "Use -G for object-local data." +-msgstr "Використовувати -G для локальних даних обʼєкта." ++msgstr "" + + #: config/mips/mips.opt:284 + #, no-c-format + msgid "Use indirect calls." +-msgstr "Використовувати непрямі виклики." ++msgstr "" + + #: config/mips/mips.opt:288 + #, no-c-format + msgid "Use a 32-bit long type." +-msgstr "Використовувати тип long з 32 бітами." ++msgstr "" + + #: config/mips/mips.opt:292 + #, no-c-format + msgid "Use a 64-bit long type." +-msgstr "Використовувати тип long з 64 бітами." ++msgstr "" + + #: config/mips/mips.opt:296 + #, no-c-format + msgid "Pass the address of the ra save location to _mcount in $12." +-msgstr "Передати адресу місця збереження ra в _mcount в $12." ++msgstr "" + + #: config/mips/mips.opt:300 + #, no-c-format + msgid "Don't optimize block moves." +-msgstr "Не оптимізовувати переміщення блоків." ++msgstr "" + + #: config/mips/mips.opt:304 + #, no-c-format + msgid "Use microMIPS instructions." +-msgstr "Використовувати інструкції microMIPS." ++msgstr "" + + #: config/mips/mips.opt:308 + #, no-c-format + msgid "Use MIPS MSA Extension instructions." +-msgstr "Використовуйте інструкції розширення MIPS MSA." ++msgstr "" + + #: config/mips/mips.opt:312 + #, no-c-format + msgid "Allow the use of MT instructions." +-msgstr "Дозволити використання інструкцій MT." ++msgstr "" + + #: config/mips/mips.opt:316 + #, no-c-format + msgid "Prevent the use of all floating-point operations." +-msgstr "Заборонити використання всіх операцій з плаваючою комою." ++msgstr "" + + #: config/mips/mips.opt:320 + #, no-c-format + msgid "Use MCU instructions." +-msgstr "Використовуйте інструкції МКП." ++msgstr "" + + #: config/mips/mips.opt:324 + #, no-c-format + msgid "Do not use a cache-flushing function before calling stack trampolines." +-msgstr "Не використовуйте функцію очищення кешу перед викликом стекових трамплінів." ++msgstr "" + + #: config/mips/mips.opt:328 + #, no-c-format + msgid "Do not use MDMX instructions." +-msgstr "Не використовуйте інструкції MDMX." ++msgstr "" + + #: config/mips/mips.opt:332 + #, no-c-format + msgid "Generate normal-mode code." +-msgstr "Генерувати код у нормальному режимі." ++msgstr "" + + #: config/mips/mips.opt:336 + #, no-c-format + msgid "Do not use MIPS-3D instructions." +-msgstr "Не використовуйте інструкції MIPS-3D." ++msgstr "" + + #: config/mips/mips.opt:340 + #, no-c-format + msgid "Use paired-single floating-point instructions." +-msgstr "Використовуйте інструкції з плаваючою комою одинарної точності в парах (paired-single)." ++msgstr "" + + #: config/mips/mips.opt:344 + #, no-c-format + msgid "-mr10k-cache-barrier=SETTING\tSpecify when r10k cache barriers should be inserted." +-msgstr "-mr10k-cache-barrier=НАЛАГОДЖЕННЯ\tВказати, коли слід вставляти барʼєри кешу r10k." ++msgstr "" + + #: config/mips/mips.opt:348 + #, no-c-format + msgid "Valid arguments to -mr10k-cache-barrier=:" +-msgstr "Допустимі аргументи для -mr10k-cache-barrier=:" ++msgstr "" + + #: config/mips/mips.opt:361 + #, no-c-format + msgid "Try to allow the linker to turn PIC calls into direct calls." +-msgstr "Спробуйте дозволити лінкеру перетворити виклики PIC на прямі виклики." ++msgstr "" + + #: config/mips/mips.opt:365 + #, no-c-format + msgid "When generating -mabicalls code, make the code suitable for use in shared libraries." +-msgstr "При генерації коду -mabicalls зробіть код придатним для використання в спільних бібліотеках." ++msgstr "" + + #: config/mips/mips.opt:373 + #, no-c-format + msgid "Use SmartMIPS instructions." +-msgstr "Використовуйте інструкції SmartMIPS." ++msgstr "" + + #: config/mips/mips.opt:381 + #, no-c-format + msgid "Optimize lui/addiu address loads." +-msgstr "Оптимізуйте завантаження адреси lui/addiu." ++msgstr "" + + #: config/mips/mips.opt:385 + #, no-c-format + msgid "Assume all symbols have 32-bit values." +-msgstr "Припустимо, що всі символи мають значення 32 біти." ++msgstr "" + + #: config/mips/mips.opt:389 + #, no-c-format + msgid "Use synci instruction to invalidate i-cache." +-msgstr "Використовуйте інструкцію synci для недійсного i-кешу." ++msgstr "" + + #: config/mips/mips.opt:397 + #, no-c-format + msgid "Use lwxc1/swxc1/ldxc1/sdxc1 instructions where applicable." +-msgstr "Використовуйте інструкції lwxc1/swxc1/ldxc1/sdxc1 там, де це можливо." ++msgstr "" + + #: config/mips/mips.opt:401 + #, no-c-format + msgid "Use 4-operand madd.s/madd.d and related instructions where applicable." +-msgstr "Використовуйте 4-операндні інструкції madd.s/madd.d та повʼязані інструкції там, де це можливо." ++msgstr "" + + #: config/mips/mips.opt:409 + #, no-c-format + msgid "Generate code with unaligned load store, valid for MIPS R6." +-msgstr "Генерувати код з незбалансованим завантаженням та зберіганням, дійсним для MIPS R6." ++msgstr "" + + #: config/mips/mips.opt:417 + #, no-c-format + msgid "Use Virtualization (VZ) instructions." +-msgstr "Використовувати інструкції віртуалізації (VZ)." ++msgstr "" + + #: config/mips/mips.opt:421 + #, no-c-format + msgid "Use eXtended Physical Address (XPA) instructions." +-msgstr "Використовувати інструкції розширеної фізичної адреси (XPA)." ++msgstr "" + + #: config/mips/mips.opt:425 + #, no-c-format + msgid "Use Cyclic Redundancy Check (CRC) instructions." +-msgstr "Використовувати інструкції циклічного контролю зайвості (CRC)." ++msgstr "" + + #: config/mips/mips.opt:429 + #, no-c-format + msgid "Use Global INValidate (GINV) instructions." +-msgstr "Використовувати інструкції глобальної недійсності (GINV)." ++msgstr "" + + #: config/mips/mips.opt:433 + #, no-c-format + msgid "Perform VR4130-specific alignment optimizations." +-msgstr "Виконувати оптимізацію вирівнювання, специфічну для VR4130." ++msgstr "" + + #: config/mips/mips.opt:437 + #, no-c-format + msgid "Lift restrictions on GOT size." +-msgstr "Скасувати обмеження на розмір GOT." ++msgstr "" + + #: config/mips/mips.opt:441 + #, no-c-format + msgid "Enable use of odd-numbered single-precision registers." +-msgstr "Дозволити використання регістрів з непарними номерами для одинарної точності." ++msgstr "" + + #: config/mips/mips.opt:445 + #, no-c-format + msgid "Optimize frame header." +-msgstr "Оптимізувати заголовок фрейму." ++msgstr "" + + #: config/mips/mips.opt:452 + #, no-c-format + msgid "Enable load/store bonding." +-msgstr "Увімкнути звʼязок завантаження/зберігання." ++msgstr "" + + #: config/mips/mips.opt:456 + #, no-c-format + msgid "Specify the compact branch usage policy." +-msgstr "Вказати політику використання компактних гілок." ++msgstr "" + + #: config/mips/mips.opt:460 + #, no-c-format + msgid "Policies available for use with -mcompact-branches=:" +-msgstr "Доступні політики для використання з -mcompact-branches=:" ++msgstr "" + + #: config/mips/mips.opt:473 + #, no-c-format + msgid "Use Loongson MultiMedia extensions Instructions (MMI) instructions." +-msgstr "Використовуйте інструкції розширень MultiMedia Loongson (MMI)." ++msgstr "" + + #: config/mips/mips.opt:477 + #, no-c-format + msgid "Use Loongson EXTension (EXT) instructions." +-msgstr "Використовуйте інструкції розширень Loongson (EXT)." ++msgstr "." + + #: config/mips/mips.opt:481 + #, no-c-format + msgid "Use Loongson EXTension R2 (EXT2) instructions." +-msgstr "Використовуйте інструкції розширень Loongson R2 (EXT2)." ++msgstr "" + + #: config/mips/mips-tables.opt:24 + #, no-c-format + msgid "Known MIPS CPUs (for use with the -march= and -mtune= options):" +-msgstr "Відомі процесори MIPS (для використання з опціями -march= та -mtune=):" ++msgstr "" + + #: config/mips/mips-tables.opt:28 + #, no-c-format + msgid "Known MIPS ISA levels (for use with the -mips option):" +-msgstr "Відомі рівні ISA MIPS (для використання з опцією -mips):" ++msgstr "" + + #: config/arc/arc-tables.opt:25 + #, no-c-format + msgid "Known ARC CPUs (for use with the -mcpu= option):" +-msgstr "Відомі процесори ARC (для використання з опцією -mcpu=):" ++msgstr "" + + #: config/arc/arc.opt:26 + #, no-c-format + msgid "Compile code for big endian mode." +-msgstr "Компілювати код для режиму великого порядку байтів." ++msgstr "" + + #: config/arc/arc.opt:30 + #, no-c-format + msgid "Compile code for little endian mode. This is the default." +-msgstr "Компілювати код для режиму малого порядку байтів. Це значення за замовчуванням." ++msgstr "" + + #: config/arc/arc.opt:34 + #, no-c-format + msgid "Disable ARCompact specific pass to generate conditional execution instructions." +-msgstr "Вимкнути спеціальний прохід ARCompact для генерації умовних інструкцій виконання." ++msgstr "" + + #: config/arc/arc.opt:38 + #, no-c-format + msgid "Generate ARCompact 32-bit code for ARC600 processor." +-msgstr "Генерувати 32-бітний код ARCompact для процесора ARC600." ++msgstr "" + + #: config/arc/arc.opt:42 + #, no-c-format + msgid "Same as -mA6." +-msgstr "Те саме, що й -mA6." ++msgstr "" + + #: config/arc/arc.opt:46 + #, no-c-format + msgid "Generate ARCompact 32-bit code for ARC601 processor." +-msgstr "Генерувати 32-бітний код ARCompact для процесора ARC601." ++msgstr "" + + #: config/arc/arc.opt:50 + #, no-c-format + msgid "Generate ARCompact 32-bit code for ARC700 processor." +-msgstr "Генерувати 32-бітний код ARCompact для процесора ARC700." ++msgstr "" + + #: config/arc/arc.opt:54 + #, no-c-format + msgid "Same as -mA7." +-msgstr "Те саме, що й -mA7." ++msgstr "" + + #: config/arc/arc.opt:58 + #, no-c-format + msgid "Force all calls to be made via a jli instruction." +-msgstr "Примусово здійснювати всі виклики через інструкцію jli." ++msgstr "" + + #: config/arc/arc.opt:62 + #, no-c-format + msgid "-mmpy-option=MPY\tCompile ARCv2 code with a multiplier design option." +-msgstr "-mmpy-option=MPY\tКомпілювати код ARCv2 з опцією дизайну множника." ++msgstr "" + + #: config/arc/arc.opt:132 + #, no-c-format + msgid "Enable DIV-REM instructions for ARCv2." +-msgstr "Увімкнути інструкції DIV-REM для ARCv2." ++msgstr "" + + #: config/arc/arc.opt:136 + #, no-c-format + msgid "Enable code density instructions for ARCv2." +-msgstr "Увімкнути інструкції з кодовою щільністю для ARCv2." ++msgstr "" + + #: config/arc/arc.opt:146 + #, no-c-format + msgid "Use ordinarily cached memory accesses for volatile references." +-msgstr "Використовувати звичайні кешовані доступи до памʼяті для волатильних посилань." ++msgstr "" + + #: config/arc/arc.opt:150 + #, no-c-format + msgid "Enable cache bypass for volatile references." +-msgstr "Увімкнути обхід кешу для волатильних посилань." ++msgstr "" + + #: config/arc/arc.opt:154 + #, no-c-format + msgid "Generate instructions supported by barrel shifter." +-msgstr "Генерувати інструкції, підтримувані револьверним зсувом." ++msgstr "" + + #: config/arc/arc.opt:158 + #, no-c-format + msgid "Generate norm instruction." +-msgstr "Створити команду нормалізації." ++msgstr "" + + #: config/arc/arc.opt:162 + #, no-c-format + msgid "Generate swap instruction." +-msgstr "Створити команду обміну." ++msgstr "" + + #: config/arc/arc.opt:166 + #, no-c-format + msgid "Generate mul64 and mulu64 instructions." +-msgstr "Створити команди mul64 та mulu64." ++msgstr "" + + #: config/arc/arc.opt:170 + #, no-c-format + msgid "Do not generate mpy instructions for ARC700." +-msgstr "Не створювати команди mpy для ARC700." ++msgstr "" + + #: config/arc/arc.opt:174 + #, no-c-format + msgid "Generate extended arithmetic instructions, only valid for ARC700." +-msgstr "Генерувати розширені арифметичні інструкції, дійсні лише для ARC700." ++msgstr "" + + #: config/arc/arc.opt:178 + #, no-c-format + msgid "Dummy flag. This is the default unless FPX switches are provided explicitly." +-msgstr "Фіктивний прапорець. Це значення за замовчуванням, якщо FPX-перемикачі не вказані явно." ++msgstr "" + + #: config/arc/arc.opt:182 + #, no-c-format + msgid "Generate call insns as register indirect calls." +-msgstr "Генерувати виклики інструкцій як опосередковані виклики регістрів." ++msgstr "" + + #: config/arc/arc.opt:186 + #, no-c-format + msgid "Do no generate BRcc instructions in arc_reorg." +-msgstr "Не генерувати інструкції BRcc в arc_reorg." ++msgstr "" + + #: config/arc/arc.opt:190 + #, no-c-format + msgid "Generate sdata references. This is the default, unless you compile for PIC." +-msgstr "Генерувати посилання на sdata. Це значення за замовчуванням, якщо ви компілюєте для PIC." ++msgstr "" + + #: config/arc/arc.opt:194 + #, no-c-format + msgid "Generate millicode thunks." +-msgstr "Генерувати мілікодові тунки." ++msgstr "" + + #: config/arc/arc.opt:198 config/arc/arc.opt:202 + #, no-c-format + msgid "FPX: Generate Single Precision FPX (compact) instructions." +-msgstr "FPX: Генерувати інструкції FPX з одинарною точністю (компактні)." ++msgstr "" + + #: config/arc/arc.opt:206 + #, no-c-format + msgid "FPX: Generate Single Precision FPX (fast) instructions." +-msgstr "FPX: Генерувати інструкції FPX з одинарною точністю (швидкі)." ++msgstr "" + + #: config/arc/arc.opt:210 + #, no-c-format + msgid "FPX: Enable Argonaut ARC CPU Double Precision Floating Point extensions." +-msgstr "FPX: Увімкнути розширення з подвійною точністю чисел з плаваючою комою для процесора ARC Argonaut." ++msgstr "" + + #: config/arc/arc.opt:214 config/arc/arc.opt:218 + #, no-c-format + msgid "FPX: Generate Double Precision FPX (compact) instructions." +-msgstr "FPX: Генерувати інструкції FPX подвійної точності (компактні)." ++msgstr "" + + #: config/arc/arc.opt:222 + #, no-c-format + msgid "FPX: Generate Double Precision FPX (fast) instructions." +-msgstr "FPX: Генерувати інструкції FPX подвійної точності (швидкі)." ++msgstr "" + + #: config/arc/arc.opt:226 + #, no-c-format + msgid "Disable LR and SR instructions from using FPX extension aux registers." +-msgstr "Вимкнути використання реєстрів FPX розширення для інструкцій LR та SR." ++msgstr "" + + #: config/arc/arc.opt:230 + #, no-c-format + msgid "Enable generation of ARC SIMD instructions via target-specific builtins." +-msgstr "Увімкнути генерацію інструкцій ARC SIMD за допомогою вбудованих функцій, специфічних для цілей." ++msgstr "" + + #: config/arc/arc.opt:234 + #, no-c-format + msgid "-mcpu=CPU\tCompile code for ARC variant CPU." +-msgstr "-mcpu=CPU\tКомпілювати код для варіанту процесора ARC." ++msgstr "" + + #: config/arc/arc.opt:238 + #, no-c-format + msgid "Size optimization level: 0:none 1:opportunistic 2: regalloc 3:drop align, -Os." +-msgstr "Рівень оптимізації розміру: 0:відсутній 1:можливості 2:розподіл регістрів 3:відмова від вирівнювання, -Os." ++msgstr "" + + #: config/arc/arc.opt:246 + #, no-c-format + msgid "Cost to assume for a multiply instruction, with 4 being equal to a normal insn." +-msgstr "Вартість, яку слід припустити для множення, де 4 дорівнює звичайній інструкції." ++msgstr "" + + #: config/arc/arc.opt:250 + #, no-c-format + msgid "-mtune=TUNE\tTune code for given ARC variant." +-msgstr "-mtune=TUNE\tНалаштувати код для вказаної варіанту ARC." ++msgstr "" + + #: config/arc/arc.opt:284 + #, no-c-format + msgid "Enable the use of indexed loads." +-msgstr "Увімкнути використання індексованого завантаження." ++msgstr "" + + #: config/arc/arc.opt:288 + #, no-c-format + msgid "Enable the use of pre/post modify with register displacement." +-msgstr "Увімкнути використання попередньої/післяповторної модифікації з відхиленням регістра." ++msgstr "" + + #: config/arc/arc.opt:292 + #, no-c-format + msgid "Generate 32x16 multiply and mac instructions." +-msgstr "Генерувати інструкції множення та mac розміром 32x16." ++msgstr "" + + #: config/arc/arc.opt:300 + #, no-c-format + msgid "Don't use less than 25 bit addressing range for calls." +-msgstr "Не використовувати діапазон адресації менше 25 біт для викликів." ++msgstr "" + + #: config/arc/arc.opt:304 + #, no-c-format + msgid "Explain what alignment considerations lead to the decision to make an insn short or long." +-msgstr "Пояснити, які врахування вирівнювання призводять до рішення зробити інструкцію короткою або довгою." ++msgstr "" + + #: config/arc/arc.opt:322 + #, no-c-format + msgid "Enable pre-reload use of cbranchsi pattern." +-msgstr "Увімкнути попереднє завантаження використання шаблону cbranchsi." ++msgstr "" + + #: config/arc/arc.opt:326 + #, no-c-format + msgid "Enable bbit peephole2." +-msgstr "Увімкнути bbit peephole2." ++msgstr "" + + #: config/arc/arc.opt:330 + #, no-c-format + msgid "Use pc-relative switch case tables - this enables case table shortening." +-msgstr "Використовувати таблиці випадків перемикача, що відносяться до pc - це дозволяє скорочувати таблиці випадків." ++msgstr "" + + #: config/arc/arc.opt:334 + #, no-c-format + msgid "Enable compact casesi pattern." +-msgstr "Увімкнути компактний шаблон casesi." ++msgstr "" + + #: config/arc/arc.opt:338 + #, no-c-format + msgid "Enable 'q' instruction alternatives." +-msgstr "Увімкнути альтернативи інструкції 'q'." ++msgstr "" + + #: config/arc/arc.opt:342 + #, no-c-format + msgid "Expand adddi3 and subdi3 at rtl generation time into add.f / adc etc." +-msgstr "Розгорнути adddi3 та subdi3 під час генерації rtl в add.f / adc тощо." ++msgstr "" + + #: config/arc/arc.opt:349 + #, no-c-format + msgid "Enable variable polynomial CRC extension." +-msgstr "Увімкнути розширення змінного поліноміального CRC." ++msgstr "" + + #: config/arc/arc.opt:353 + #, no-c-format + msgid "Enable DSP 3.1 Pack A extensions." +-msgstr "Увімкнути розширення DSP 3.1 Pack A." ++msgstr "" + + #: config/arc/arc.opt:357 + #, no-c-format + msgid "Enable dual viterbi butterfly extension." +-msgstr "Увімкнути розширення подвійного витербі-метелика." ++msgstr "" + + #: config/arc/arc.opt:367 + #, no-c-format + msgid "Enable Dual and Single Operand Instructions for Telephony." +-msgstr "Увімкнути дво- та однооперандні інструкції для телефонії." ++msgstr "" + + #: config/arc/arc.opt:371 + #, no-c-format + msgid "Enable XY Memory extension (DSP version 3)." +-msgstr "Увімкнути розширення памʼяті XY (версія DSP 3)." ++msgstr "" + + #: config/arc/arc.opt:376 + #, no-c-format + msgid "Enable Locked Load/Store Conditional extension." +-msgstr "Увімкнути розширення заблокованого завантаження/збереження умовного." ++msgstr "" + + #: config/arc/arc.opt:380 + #, no-c-format + msgid "Enable swap byte ordering extension instruction." +-msgstr "Увімкнути інструкцію розширення заміни порядку байтів." ++msgstr "" + + #: config/arc/arc.opt:384 + #, no-c-format + msgid "Enable 64-bit Time-Stamp Counter extension instruction." +-msgstr "Увімкнути інструкцію розширення лічильника часових міток 64 біти." ++msgstr "" + + #: config/arc/arc.opt:388 + #, no-c-format + msgid "Pass -EB option through to linker." +-msgstr "Передати опцію -EB до лінкера." ++msgstr "" + + #: config/arc/arc.opt:392 + #, no-c-format + msgid "Pass -EL option through to linker." +-msgstr "Передати опцію -EL до лінкера." ++msgstr "" + + #: config/arc/arc.opt:396 + #, no-c-format + msgid "Pass -marclinux option through to linker." +-msgstr "Передавати опцію -marclinux до лінкера." ++msgstr "" + + #: config/arc/arc.opt:400 + #, no-c-format + msgid "Pass -marclinux_prof option through to linker." +-msgstr "Передавати опцію -marclinux_prof до лінкера." ++msgstr "" + + #: config/arc/arc.opt:409 + #, no-c-format + msgid "Don't indicate any priority with TARGET_REGISTER_PRIORITY." +-msgstr "Не вказувати жодної пріоритетності з TARGET_REGISTER_PRIORITY." ++msgstr "" + + #: config/arc/arc.opt:413 + #, no-c-format + msgid "Indicate priority for r0..r3 / r12..r15 with TARGET_REGISTER_PRIORITY." +-msgstr "Вказати пріоритет для r0..r3 / r12..r15 з TARGET_REGISTER_PRIORITY." ++msgstr "" + + #: config/arc/arc.opt:417 + #, no-c-format + msgid "Reduce priority for r0..r3 / r12..r15 with TARGET_REGISTER_PRIORITY." +-msgstr "Зменшити пріоритет для r0..r3 / r12..r15 з TARGET_REGISTER_PRIORITY." ++msgstr "" + + #: config/arc/arc.opt:429 + #, no-c-format + msgid "Enable atomic instructions." +-msgstr "Увімкнути атомарні інструкції." ++msgstr "" + + #: config/arc/arc.opt:433 + #, no-c-format + msgid "Enable double load/store instructions for ARC HS." +-msgstr "Увімкнути подвійні інструкції завантаження/збереження для ARC HS." ++msgstr "" + + #: config/arc/arc.opt:437 + #, no-c-format + msgid "Specify the name of the target floating point configuration." +-msgstr "Вказати назву конфігурації плаваючої коми цільової платформи." ++msgstr "" + + #: config/arc/arc.opt:480 + #, no-c-format + msgid "Specify thread pointer register number." +-msgstr "Вказати номер реєстра вказівника потоку." ++msgstr "" + + #: config/arc/arc.opt:487 + #, no-c-format + msgid "Enable use of NPS400 bit operations." +-msgstr "Увімкнути використання бітових операцій NPS400." ++msgstr "" + + #: config/arc/arc.opt:491 + #, no-c-format + msgid "Enable use of NPS400 xld/xst extension." +-msgstr "Увімкнути використання розширення xld/xst для NPS400." ++msgstr "" + + #: config/arc/arc.opt:499 + #, no-c-format + msgid "Specifies the registers that the processor saves on an interrupt entry and exit." +-msgstr "Вказує регістри, які процесор зберігає при вході та виході з переривання." ++msgstr "" + + #: config/arc/arc.opt:503 + #, no-c-format + msgid "Specifies the number of registers replicated in second register bank on entry to fast interrupt." +-msgstr "Вказує кількість регістрів, які реплікуються в другому банку регістрів при вході в швидке переривання." ++msgstr "" + + #: config/arc/arc.opt:507 + #, no-c-format + msgid "Sets LP_COUNT register width. Possible values are 8, 16, 20, 24, 28, and 32." +-msgstr "Встановлює ширину регістра LP_COUNT. Можливі значення: 8, 16, 20, 24, 28 та 32." ++msgstr "" + + #: config/arc/arc.opt:532 + #, no-c-format + msgid "Enable 16-entry register file." +-msgstr "Увімкнути регістр з 16 записами." ++msgstr "" + + #: config/arc/arc.opt:536 + #, no-c-format + msgid "Enable use of BI/BIH instructions when available." +-msgstr "Увімкнути використання інструкцій BI/BIH, якщо вони доступні." ++msgstr "" + + #: config/arc/arc.opt:540 + #, no-c-format + msgid "Enable ENTER_S and LEAVE_S opcodes for ARCv2." +-msgstr "Увімкнути опкоди ENTER_S та LEAVE_S для ARCv2." ++msgstr "" + + #: lto/lang.opt:50 + #, no-c-format + msgid "Set linker output type (used internally during LTO optimization)." +-msgstr "Встановити тип виводу лінкера (використовується внутрішньо під час оптимізації LTO)." ++msgstr "" + + #: lto/lang.opt:54 + #, no-c-format + msgid "Run the link-time optimizer in local transformation (LTRANS) mode." +-msgstr "Запустити оптимізатор часу звʼязування в режимі локальної трансформації (LTRANS)." ++msgstr "" + + #: lto/lang.opt:58 + #, no-c-format + msgid "Specify a file to which a list of files output by LTRANS is written." +-msgstr "Вказати файл, до якого буде записано список файлів, що виводяться LTRANS." ++msgstr "" + + #: lto/lang.opt:62 + #, no-c-format + msgid "The resolution file." +-msgstr "Файл резолюції." ++msgstr "" + + #: lto/lang.opt:66 + #, no-c-format + msgid "Run the link-time optimizer in whole program analysis (WPA) mode." +-msgstr "Запустити оптимізатор часу звʼязування в режимі аналізу всього програмного коду (WPA)." ++msgstr "" + + #: lto/lang.opt:70 + #, no-c-format + msgid "Whole program analysis (WPA) mode with number of parallel jobs specified." +-msgstr "Режим аналізу всього програмного коду (WPA) з вказаною кількістю паралельних задач." ++msgstr "" + + #: lto/lang.opt:78 + #, no-c-format + msgid "Call the dump function for variables and function in IL." +-msgstr "Викликати функцію виведення для змінних та функцій в IL." ++msgstr "" + + #: lto/lang.opt:82 + #, no-c-format + msgid "Dump the demangled output." +-msgstr "Вивести роздекорований вихід." ++msgstr "" + + #: lto/lang.opt:86 + #, no-c-format + msgid "Dump only the defined symbols." +-msgstr "Вивести лише визначені символи." ++msgstr "" + + #: lto/lang.opt:90 + #, no-c-format + msgid "Print the initial values of the variables." +-msgstr "Вивести початкові значення змінних." ++msgstr "" + + #: lto/lang.opt:94 + #, no-c-format + msgid "Sort the symbols alphabetically." +-msgstr "Відсортувати символи за алфавітом." ++msgstr "" + + #: lto/lang.opt:98 + #, no-c-format + msgid "Sort the symbols according to size." +-msgstr "Відсортувати символи за розміром." ++msgstr "" + + #: lto/lang.opt:102 + #, no-c-format + msgid "Display the symbols in reverse order." +-msgstr "Вивести символи у зворотному порядку." ++msgstr "" + + #: lto/lang.opt:109 + #, no-c-format + msgid "Dump the details of LTO objects." +-msgstr "Вивести деталі LTO-обʼєктів." ++msgstr "" + + #: lto/lang.opt:113 + #, no-c-format + msgid "Dump the statistics of tree types." +-msgstr "Вивести статистику типів дерев." ++msgstr "" + + #: lto/lang.opt:117 + #, no-c-format + msgid "Dump the statistics of trees." +-msgstr "Вивести статистику дерев." ++msgstr "" + + #: lto/lang.opt:121 + #, no-c-format + msgid "Dump the statistics of gimple statements." +-msgstr "Вивести статистику gimple-виразів." ++msgstr "" + + #: lto/lang.opt:131 + #, no-c-format + msgid "Dump the dump tool command line options." +-msgstr "Вивести параметри командного рядка інструменту dump." ++msgstr "" + + #: lto/lang.opt:135 + #, no-c-format + msgid "Dump the symtab callgraph." +-msgstr "Вивести callgraph symtab." ++msgstr "" + + #: common.opt:243 + #, no-c-format + msgid "Provide bash completion for options starting with provided string." +-msgstr "Надати bash-завершення для параметрів, що починаються з заданого рядка." ++msgstr "" + + #: common.opt:295 + #, no-c-format + msgid "Display this information." +-msgstr "Показувати цю інформацію." ++msgstr "" + + #: common.opt:299 + #, no-c-format + msgid "--help=\tDisplay descriptions of a specific class of options. is one or more of optimizers, target, warnings, undocumented, params." +-msgstr "--help=<клас>\tПоказувати описи для певного класу параметрів. <клас> може бути одним або декількома з оптимізаторів, цілей, попереджень, недокументованих, параметрів." ++msgstr "" + + #: common.opt:420 + #, no-c-format + msgid "Display target specific command line options (including assembler and linker options)." +-msgstr "Показувати специфічні для цілі параметри командного рядка (включаючи опції асемблера та лінкера)." ++msgstr "" + + #: common.opt:466 + #, no-c-format + msgid "-O\tSet optimization level to ." +-msgstr "-O<число>\tВстановити рівень оптимізації на <число>." ++msgstr "" + + #: common.opt:470 + #, no-c-format + msgid "Optimize for space rather than speed." +-msgstr "Оптимізувати під простір, а не під швидкість." ++msgstr "" + + #: common.opt:474 + #, no-c-format + msgid "Optimize for speed disregarding exact standards compliance." +-msgstr "Оптимізувати для швидкості, нехтуючи точним відповіданням стандартам." ++msgstr "" + + #: common.opt:478 + #, no-c-format + msgid "Optimize for debugging experience rather than speed or size." +-msgstr "Оптимізувати для зручності відлагодження, а не для швидкості або розміру." ++msgstr "" + + #: common.opt:482 + #, no-c-format + msgid "Optimize for space aggressively rather than speed." +-msgstr "Оптимізувати для економії місця, агресивно, а не для швидкості." ++msgstr "" + + #: common.opt:522 + #, no-c-format + msgid "This switch is deprecated; use -Wextra instead." +-msgstr "Цей перемикач застарів; використовуйте -Wextra замість нього." ++msgstr "" + + #: common.opt:535 + #, no-c-format + msgid "Warn about returning structures, unions or arrays." +-msgstr "Попереджати про повернення структур, обʼєднань або масивів." ++msgstr "" + + #: common.opt:539 + #, no-c-format + msgid "Warn if a loop with constant number of iterations triggers undefined behavior." +-msgstr "Попереджати, якщо цикл з постійною кількістю ітерацій викликає невизначену поведінку." ++msgstr "" + + #: common.opt:546 + #, no-c-format + msgid "Warn if an array is accessed out of bounds." +-msgstr "Попереджати, якщо здійснюється доступ до масиву за межами його розміру." ++msgstr "" + + #: common.opt:550 common.opt:554 + #, no-c-format + msgid "Warn for uses of pointers to deallocated storage." +-msgstr "Попереджати про використання вказівників на звільнену памʼять." ++msgstr "" + + #: common.opt:558 + #, no-c-format + msgid "Warn about inappropriate attribute usage." +-msgstr "Попереджати про неприпустиме використання атрибутів." ++msgstr "" + + #: common.opt:562 + #, no-c-format + msgid "Do not warn about specified attributes." +-msgstr "Не попереджати про вказані атрибути." ++msgstr "" + + #: common.opt:566 common.opt:570 + #, no-c-format + msgid "Warn about type safety and similar errors and mismatches in declarations with alias attributes." +-msgstr "Попереджати про проблеми з безпекою типів та подібні помилки і несумісності в оголошеннях з атрибутами псевдоніма." ++msgstr "" + + #: common.opt:574 + #, no-c-format + msgid "Warn when profiling instrumentation was requested, but could not be applied to a certain function." +-msgstr "Попереджати, коли запитувалася інструментальна профілювання, але не може бути застосована до певної функції." ++msgstr "" + + #: common.opt:579 common.opt:583 + #, no-c-format + msgid "Warn about pointer casts which increase alignment." +-msgstr "Попереджати про приведення вказівників, які збільшують вирівнювання." ++msgstr "" + + #: common.opt:587 + #, no-c-format + msgid "Complain when a command-line option is valid, but not applicable to the current front end." +-msgstr "Скаржитися, коли командна опція є дійсною, але не застосовується до поточного фронтенду." ++msgstr "" + + #: common.opt:591 + #, no-c-format + msgid "Warn when a #warning directive is encountered." +-msgstr "Попереджати, коли зустрічається директива #warning." ++msgstr "" + + #: common.opt:595 + #, no-c-format + msgid "Warn about uses of __attribute__((warning)) declarations." +-msgstr "Попереджати про використання декларацій з __attribute__((warning))." ++msgstr "." + + #: common.opt:599 + #, no-c-format + msgid "Warn if a deprecated compiler feature, class, method, or field is used." +-msgstr "Попереджати, якщо використовується застаріла функція компілятора, клас, метод або поле." ++msgstr "Попереджати щодо використання застарілої можливості компілятора, застарілого класу, методу або поля." + + #: common.opt:603 + #, no-c-format + msgid "Warn about uses of __attribute__((deprecated)) declarations." +-msgstr "Попереджати про використання декларацій з __attribute__((deprecated))." ++msgstr "" + + #: common.opt:607 + #, no-c-format + msgid "Warn when an optimization pass is disabled." +-msgstr "Попереджати, коли вимкнено прохід оптимізації." ++msgstr "" + + #: common.opt:611 + #, no-c-format + msgid "Treat all warnings as errors." +-msgstr "Трактувати всі попередження як помилки." ++msgstr "Вважати усі попередження помилками." + + #: common.opt:615 + #, no-c-format + msgid "Treat specified warning as error." +-msgstr "Трактувати вказане попередження як помилку." ++msgstr "" + + #: common.opt:619 + #, no-c-format + msgid "Print extra (possibly unwanted) warnings." +-msgstr "Виводити додаткові (можливо, небажані) попередження." ++msgstr "" + + #: common.opt:623 + #, no-c-format + msgid "Exit on the first error occurred." +-msgstr "Вийти при першій виявленій помилці." ++msgstr "" + + #: common.opt:627 + #, no-c-format + msgid "-Wframe-larger-than=\tWarn if a function's stack frame requires in excess of ." +-msgstr "-Wframe-larger-than=<розмір-байтів>\tПопереджати, якщо стековий фрейм функції потребує більше, ніж <розмір-байтів>." ++msgstr "" + + #: common.opt:631 + #, no-c-format + msgid "Disable -Wframe-larger-than= warning. Equivalent to -Wframe-larger-than= or larger." +-msgstr "Вимкнути попередження -Wframe-larger-than=. Еквівалентно -Wframe-larger-than= або більше." ++msgstr "" + + #: common.opt:635 + #, no-c-format + msgid "Warn when attempting to free a non-heap object." +-msgstr "Попереджати, коли намагаєтесь звільнити обʼєкт, який не знаходиться в купі." ++msgstr "" + + #: common.opt:646 + #, no-c-format + msgid "Warn when a switch case falls through." +-msgstr "Попереджати, коли випадок в операторі switch не виконується." ++msgstr "" + + #: common.opt:654 + #, no-c-format + msgid "Warn when an inlined function cannot be inlined." +-msgstr "Попереджати, коли не вдається вбудувати функцію." ++msgstr "" + + #: common.opt:658 + #, no-c-format + msgid "Warn when an atomic memory model parameter is known to be outside the valid range." +-msgstr "Попереджати, коли параметр атомарної моделі памʼяті відомо, що перебуває поза дійсним діапазоном." ++msgstr "" + + #: common.opt:665 + #, no-c-format + msgid "-Wlarger-than=\tWarn if an object's size exceeds ." +-msgstr "-Wlarger-than=<розмір-байтів>\tПопереджати, якщо розмір обʼєкта перевищує <розмір-байтів>." ++msgstr "" + + #: common.opt:669 + #, no-c-format + msgid "Disable -Wlarger-than= warning. Equivalent to -Wlarger-than= or larger." +-msgstr "Вимкнути попередження -Wlarger-than=. Еквівалентно -Wlarger-than= або більше." ++msgstr "" + + #: common.opt:673 + #, no-c-format + msgid "Warn if comparing pointer parameter with nonnull attribute with NULL." +-msgstr "Попереджати, якщо порівнюється вказівниковий параметр з атрибутом nonnull з NULL." ++msgstr "" + + #: common.opt:677 + #, no-c-format + msgid "Warn if dereferencing a NULL pointer may lead to erroneous or undefined behavior." +-msgstr "Попереджати, якщо розіменування NULL-вказівника може призвести до помилкової або невизначеної поведінки." ++msgstr "" + + #: common.opt:688 + #, no-c-format + msgid "Warn about some C++ One Definition Rule violations during link time optimization." +-msgstr "Попереджати про деякі порушення правила однозначного визначення в C++ під час оптимізації часу звʼязування." ++msgstr "" + + #: common.opt:692 + #, no-c-format + msgid "Warn about overflow in arithmetic expressions." +-msgstr "Попереджати про переповнення в арифметичних виразах." ++msgstr "" + + #: common.opt:696 + #, no-c-format + msgid "During link time optimization warn about mismatched types of global declarations." +-msgstr "Попереджати про несумісні типи глобальних оголошень під час оптимізації часу звʼязування." ++msgstr "" + + #: common.opt:700 + #, no-c-format + msgid "Warn when the packed attribute has no effect on struct layout." +-msgstr "Попереджати, коли атрибут packed не має впливу на розташування структури." ++msgstr "" + + #: common.opt:704 + #, no-c-format + msgid "Warn when padding is required to align structure members." +-msgstr "Попереджати, коли потрібне додавання допоміжних байтів для вирівнювання елементів структури." ++msgstr "" + + #: common.opt:708 + #, no-c-format + msgid "Issue warnings needed for strict compliance to the standard." +-msgstr "Видавати попередження, необхідні для строгого дотримання стандарту." ++msgstr "" + + #: common.opt:712 + #, no-c-format + msgid "Warn about returning a pointer/reference to a local or temporary variable." +-msgstr "Попереджати про повернення вказівника/посилання на локальну або тимчасову змінну." ++msgstr "" + + #: common.opt:716 + #, no-c-format + msgid "Warn when one variable shadows another. Same as -Wshadow=global." +-msgstr "Попереджати, коли одна змінна затіняє іншу. Те саме, що й -Wshadow=global." ++msgstr "" + + #: common.opt:720 + #, no-c-format + msgid "Warn when one variable shadows another (globally)." +-msgstr "Попереджати, коли одна змінна затіняє іншу (глобально)." ++msgstr "" + + #: common.opt:724 + #, no-c-format + msgid "Warn when one local variable shadows another local variable or parameter." +-msgstr "Попереджати, коли одна локальна змінна затіняє іншу локальну змінну або параметр." ++msgstr "" + + #: common.opt:731 + #, no-c-format + msgid "Warn when one local variable shadows another local variable or parameter of compatible type." +-msgstr "Попереджати, коли одна локальна змінна затіняє іншу локальну змінну або параметр сумісного типу." ++msgstr "" + + #: common.opt:738 + #, no-c-format + msgid "Warn when not issuing stack smashing protection for some reason." +-msgstr "Попереджати, якщо з якоїсь причини не видається захист від руйнування стеку." ++msgstr "" + + #: common.opt:742 + #, no-c-format + msgid "-Wstack-usage=\tWarn if stack usage might exceed ." +-msgstr "-Wstack-usage=<розмір-байтів>\tПопереджати, якщо використання стеку може перевищувати <розмір-байт>." ++msgstr "" + + #: common.opt:746 + #, no-c-format + msgid "Disable Wstack-usage= warning. Equivalent to Wstack-usage= or larger." +-msgstr "Вимкнути попередження -Wstack-usage=. Еквівалентно -Wstack-usage= або більше." ++msgstr "" + + #: common.opt:750 common.opt:754 + #, no-c-format + msgid "Warn about code which might break strict aliasing rules." +-msgstr "Попереджати про код, який може порушувати правила строгого псевдоніма." ++msgstr "" + + #: common.opt:758 common.opt:762 + #, no-c-format + msgid "Warn about optimizations that assume that signed overflow is undefined." +-msgstr "Попереджати про оптимізації, які припускають, що переповнення знакових чисел є невизначеним." ++msgstr "" + + #: common.opt:766 + #, no-c-format + msgid "Warn about functions which might be candidates for __attribute__((cold))." +-msgstr "Попереджати про функції, які можуть бути кандидатами для __attribute__((cold))." ++msgstr "" + + #: common.opt:770 + #, no-c-format + msgid "Warn about functions which might be candidates for __attribute__((const))." +-msgstr "Попереджати про функції, які можуть бути кандидатами для __attribute__((const))." ++msgstr "" + + #: common.opt:774 + #, no-c-format + msgid "Warn about functions which might be candidates for __attribute__((pure))." +-msgstr "Попереджати про функції, які можуть бути кандидатами на __attribute__((pure))." ++msgstr "" + + #: common.opt:778 + #, no-c-format + msgid "Warn about functions which might be candidates for __attribute__((noreturn))." +-msgstr "Попереджати про функції, які можуть бути кандидатами на __attribute__((noreturn))." ++msgstr "" + + #: common.opt:782 + #, no-c-format + msgid "Warn about functions which might be candidates for __attribute__((malloc))." +-msgstr "Попереджати про функції, які можуть бути кандидатами на __attribute__((malloc))." ++msgstr "" + + #: common.opt:786 + #, no-c-format + msgid "Warn about C++ polymorphic types where adding final keyword would improve code quality." +-msgstr "Попереджати про поліморфні типи C++, де додавання ключового слова final покращило б якість коду." ++msgstr "" + + #: common.opt:790 + #, no-c-format + msgid "Warn about C++ virtual methods where adding final keyword would improve code quality." +-msgstr "Попереджати про віртуальні методи C++, де додавання ключового слова final покращило б якість коду." ++msgstr "" + + #: common.opt:794 + #, no-c-format + msgid "Warn about statements between switch's controlling expression and the first case." +-msgstr "Попереджувати про оператори між виразом управління switch і першим випадком." ++msgstr "" + + #: common.opt:799 + #, no-c-format + msgid "Do not suppress warnings from system headers." +-msgstr "Не пригнічувати попередження з системних заголовків." ++msgstr "" + + #: common.opt:803 + #, no-c-format + msgid "Warn whenever a trampoline is generated." +-msgstr "Попереджувати, коли генерується трамплін." ++msgstr "" + + #: common.opt:807 + #, no-c-format + msgid "Warn about cases where -ftrivial-auto-var-init cannot initialize an auto variable." +-msgstr "Попереджувати про випадки, коли -ftrivial-auto-var-init не може ініціалізувати автоматичну змінну." ++msgstr "" + + #: common.opt:811 + #, no-c-format + msgid "Warn if a comparison is always true or always false due to the limited range of the data type." +-msgstr "Попереджувати, якщо порівняння завжди є істинним або завжди хибним через обмежений діапазон типу даних." ++msgstr "" + + #: common.opt:815 + #, no-c-format + msgid "Warn about uninitialized automatic variables." +-msgstr "Попереджувати про неініціалізовані автоматичні змінні." ++msgstr "" + + #: common.opt:819 + #, no-c-format + msgid "Warn about maybe uninitialized automatic variables." +-msgstr "Попереджувати про можливо неініціалізовані автоматичні змінні." ++msgstr "" + + #: common.opt:827 + #, no-c-format + msgid "Enable all -Wunused- warnings." +-msgstr "Увімкнути всі попередження -Wunused-." ++msgstr "" + + #: common.opt:831 + #, no-c-format + msgid "Warn when a function parameter is only set, otherwise unused." +-msgstr "Попереджувати, коли параметр функції лише встановлюється, а інакше не використовується." ++msgstr "" + + #: common.opt:835 + #, no-c-format + msgid "Warn when a variable is only set, otherwise unused." +-msgstr "Попереджувати, коли змінна лише встановлюється, а інакше не використовується." ++msgstr "" + + #: common.opt:839 + #, no-c-format + msgid "Warn when a function is unused." +-msgstr "Попереджувати, коли функція не використовується." ++msgstr "" + + #: common.opt:843 + #, no-c-format + msgid "Warn when a label is unused." +-msgstr "Попереджувати, коли мітка не використовується." ++msgstr "" + + #: common.opt:847 + #, no-c-format + msgid "Warn when a function parameter is unused." +-msgstr "Попереджувати, коли параметр функції не використовується." ++msgstr "" + + #: common.opt:851 + #, no-c-format + msgid "Warn when an expression value is unused." +-msgstr "Попереджувати, коли значення виразу не використовується." ++msgstr "" + + #: common.opt:855 + #, no-c-format + msgid "Warn when a variable is unused." +-msgstr "Попереджувати, коли змінна не використовується." ++msgstr "" + + #: common.opt:859 + #, no-c-format + msgid "Warn in case profiles in -fprofile-use do not match." +-msgstr "Попереджувати, якщо профілі в -fprofile-use не збігаються." ++msgstr "" + + #: common.opt:863 + #, no-c-format + msgid "Warn in case a function ends earlier than it begins due to an invalid linenum macros." +-msgstr "Попереджувати, якщо функція закінчується раніше, ніж починається через недійсні макроси linenum." ++msgstr "" + + #: common.opt:867 + #, no-c-format + msgid "Warn in case profiles in -fprofile-use do not exist." +-msgstr "Попереджати, якщо профілі в -fprofile-use не існують." ++msgstr "" + + #: common.opt:871 + #, no-c-format + msgid "Warn when a vector operation is compiled outside the SIMD." +-msgstr "Попереджати, коли векторна операція компілюється поза SIMD." ++msgstr "" + + #: common.opt:875 + #, no-c-format + msgid "Warn about unsupported features in ThreadSanitizer." +-msgstr "Попереджати про непідтримувані функції в ThreadSanitizer." ++msgstr "" + + #: common.opt:891 + #, no-c-format + msgid "-aux-info \tEmit declaration information into ." +-msgstr "-aux-info <файл>\tВиводити інформацію про декларації в <файл>." ++msgstr "" + + #: common.opt:904 + #, no-c-format + msgid "-d\tEnable dumps from specific passes of the compiler." +-msgstr "-d<літери>\tУвімкнути вивід дампів з конкретних проходів компілятора." ++msgstr "" + + #: common.opt:908 + #, no-c-format + msgid "-dumpbase \tSet the file basename to be used for dumps." +-msgstr "-dumpbase <файл>\tВстановити базове імʼя файлу для виведення дампів." ++msgstr "" + + #: common.opt:912 + #, no-c-format + msgid "-dumpbase-ext . Drop a trailing . from the dump basename to name auxiliary output files." +-msgstr "-dumpbase-ext . Видалити крапку та розширення . з базового імені дампу, щоб назвати допоміжні вихідні файли." ++msgstr "" + + #: common.opt:916 + #, no-c-format + msgid "-dumpdir \tSet the directory name to be used for dumps." +-msgstr "-dumpdir <каталог>\tВстановити імʼя каталогу, яке буде використовуватися для дампів." ++msgstr "" + + #: common.opt:1017 + #, no-c-format + msgid "The version of the C++ ABI in use." +-msgstr "Версія використовуваного C++ ABI." ++msgstr "" + + #: common.opt:1021 + #, no-c-format + msgid "Aggressively optimize loops using language constraints." +-msgstr "Агресивно оптимізувати цикли з використанням обмежень мови." ++msgstr "" + + #: common.opt:1025 + #, no-c-format + msgid "Align the start of functions." +-msgstr "Вирівняти початок функцій." ++msgstr "" + + #: common.opt:1035 + #, no-c-format + msgid "Align labels which are only reached by jumping." +-msgstr "Вирівняти мітки, до яких можна дістатися лише за допомогою переходів." ++msgstr "" + + #: common.opt:1042 + #, no-c-format + msgid "Align all labels." +-msgstr "Вирівняти всі мітки." ++msgstr "" + + #: common.opt:1049 + #, no-c-format + msgid "Align the start of loops." +-msgstr "Вирівняти початок циклів." ++msgstr "" + + #: common.opt:1056 + #, no-c-format + msgid "Allow the compiler to introduce new data races on stores." +-msgstr "Дозволити компілятору вводити нові гонки даних при зберіганні." ++msgstr "" + + #: common.opt:1060 + #, no-c-format + msgid "Enable static analysis pass." +-msgstr "Увімкнути прохід статичного аналізу." ++msgstr "" + + #: common.opt:1080 + #, no-c-format + msgid "Select what to sanitize." +-msgstr "Вибрати, що очищувати." ++msgstr "" + + #: common.opt:1084 + #, no-c-format + msgid "Select type of coverage sanitization." +-msgstr "Вибрати тип санітизації покриття." ++msgstr "" + + #: common.opt:1097 + #, no-c-format + msgid "-fasan-shadow-offset=\tUse custom shadow memory offset." +-msgstr "-fasan-shadow-offset=<число>\tВикористовуйте власний зсув памʼяті тіні." ++msgstr "" + + #: common.opt:1101 + #, no-c-format + msgid "-fsanitize-sections=\tSanitize global variables in user-defined sections." +-msgstr "-fsanitize-sections=\tСанітизувати глобальні змінні в користувацьких розділах." ++msgstr "" + + #: common.opt:1106 + #, no-c-format + msgid "After diagnosing undefined behavior attempt to continue execution." +-msgstr "Після діагностики невизначеного поведінки спробуйте продовжити виконання." ++msgstr "" + + #: common.opt:1110 + #, no-c-format + msgid "This switch is deprecated; use -fsanitize-recover= instead." +-msgstr "Цей перемикач застарів; використовуйте -fsanitize-recover= замість цього." ++msgstr "" + + #: common.opt:1114 + #, no-c-format + msgid "Use traps instead of diagnostics of undefined behavior sanitizers." +-msgstr "Використовуйте пастки замість діагностики санітизаторів невизначеного поведінки." ++msgstr "" + + #: common.opt:1124 +-#, no-c-format ++#, fuzzy, no-c-format ++#| msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead." + msgid "This switch is deprecated; use -fsanitize-trap= instead." +-msgstr "Цей перемикач застарів; використовуйте -fsanitize-trap= замість цього." ++msgstr "Цей перемикач вважається застарілим; скористайтеся замість нього перемикачем -Werror=implicit-function-declaration." + + #: common.opt:1128 + #, no-c-format + msgid "Generate unwind tables that are exact at each instruction boundary." +-msgstr "Генерувати таблиці розгортання, які є точними на кожній межі інструкцій." ++msgstr "" + + #: common.opt:1132 + #, no-c-format + msgid "Generate auto-inc/dec instructions." +-msgstr "Генерувати інструкції автоматичного збільшення/зменшення." ++msgstr "" + + #: common.opt:1136 + #, no-c-format + msgid "Use sample profile information for call graph node weights. The default profile file is fbdata.afdo in 'pwd'." +-msgstr "Використовуйте зразкову інформацію про профіль для ваг вузлів графа викликів. Файл профілю за замовчуванням - fbdata.afdo в 'pwd'." ++msgstr "" + + #: common.opt:1141 + #, no-c-format + msgid "Use sample profile information for call graph node weights. The profile file is specified in the argument." +-msgstr "Використовуйте зразкову інформацію про профіль для ваг вузлів графа викликів. Файл профілю вказується в аргументі." ++msgstr "" + + #: common.opt:1150 + #, no-c-format + msgid "Generate code to check bounds before indexing arrays." +-msgstr "Генерувати код для перевірки меж перед індексацією масивів." ++msgstr "" + + #: common.opt:1154 + #, no-c-format + msgid "Replace add, compare, branch with branch on count register." +-msgstr "Замінити додавання, порівняння, гілкування на гілкування за рахунковим регістром." ++msgstr "" + + #: common.opt:1158 + #, no-c-format + msgid "Use profiling information for branch probabilities." +-msgstr "Використовуйте інформацію про профілювання для ймовірностей гілок." ++msgstr "" + + #: common.opt:1174 + #, no-c-format + msgid "Output callgraph information on a per-file basis." +-msgstr "Виведіть інформацію про граф викликів для кожного файлу." ++msgstr "" + + #: common.opt:1178 + #, no-c-format + msgid "Output callgraph information on a per-file basis with decorations." +-msgstr "Виведіть інформацію про граф викликів для кожного файлу з прикрасами." ++msgstr "" + + #: common.opt:1182 + #, no-c-format + msgid "-fcall-saved-\tMark as being preserved across functions." +-msgstr "-fcall-saved-\tПозначити як збережений між функціями." ++msgstr "" + + #: common.opt:1186 + #, no-c-format + msgid "-fcall-used-\tMark as being corrupted by function calls." +-msgstr "-fcall-used-\tПозначити як пошкоджений викликами функцій." ++msgstr "" + + #: common.opt:1193 + #, no-c-format + msgid "Save registers around function calls." +-msgstr "Збережіть регістри навколо викликів функцій." ++msgstr "" + + #: common.opt:1197 + #, no-c-format + msgid "This switch is deprecated; do not use." +-msgstr "Цей перемикач застарілий; не використовуйте його." ++msgstr "" + + #: common.opt:1201 + #, no-c-format + msgid "Check the return value of new in C++." +-msgstr "Перевірте значення, що повертається, у new в C++." ++msgstr "Перевіряти повернуте значення new у C++." + + #: common.opt:1205 common.opt:1209 + #, no-c-format + msgid "Perform internal consistency checkings." +-msgstr "Виконувати внутрішні перевірки на відповідність." ++msgstr "Виконувати внутрішні перевірки сумісності." + + #: common.opt:1213 + #, no-c-format + msgid "For -f*-prefix-map= options compare canonicalized pathnames rather than just strings." +-msgstr "Для параметрів -f*-prefix-map= порівнюйте канонізовані шляхи, а не просто рядки." ++msgstr "" + + #: common.opt:1217 + #, no-c-format +@@ -13549,2147 +13570,2147 @@ msgstr "Увімкнути підняття коду." + #: common.opt:1221 + #, no-c-format + msgid "Looks for opportunities to reduce stack adjustments and stack references." +-msgstr "Шукає можливості зменшити коригування стеку та посилання на стек." ++msgstr "" + + #: common.opt:1225 + #, no-c-format + msgid "Put uninitialized globals in the common section." +-msgstr "Розмістіть незавершені глобальні змінні в загальному розділі." ++msgstr "" + + #: common.opt:1233 + #, no-c-format + msgid "-fcompare-debug[=]\tCompile with and without e.g. -gtoggle, and compare the final-insns dump." +-msgstr "-fcompare-debug[=]\tКомпілювати з і без, наприклад, -gtoggle, і порівнювати вихідний дамп final-insns." ++msgstr "" + + #: common.opt:1237 + #, no-c-format + msgid "Run only the second compilation of -fcompare-debug." +-msgstr "Виконати лише другу компіляцію з -fcompare-debug." ++msgstr "" + + #: common.opt:1241 + #, no-c-format + msgid "Perform comparison elimination after register allocation has finished." +-msgstr "Виконати усунення порівнянь після завершення розподілу реєстрів." ++msgstr "" + + #: common.opt:1245 + #, no-c-format + msgid "Do not perform optimizations increasing noticeably stack usage." +-msgstr "Не виконувати оптимізації, які помітно збільшують використання стеку." ++msgstr "" + + #: common.opt:1249 + #, no-c-format + msgid "Perform a register copy-propagation optimization pass." +-msgstr "Виконати оптимізацію копіювання реєстру." ++msgstr "" + + #: common.opt:1253 + #, no-c-format + msgid "Perform cross-jumping optimization." +-msgstr "Виконати оптимізацію перехрестних стрибків." ++msgstr "" + + #: common.opt:1257 + #, no-c-format + msgid "When running CSE, follow jumps to their targets." +-msgstr "При виконанні CSE слідкуйте за стрибками до їх цілей." ++msgstr "" + + #: common.opt:1265 + #, no-c-format + msgid "Omit range reduction step when performing complex division." +-msgstr "Пропустити крок зменшення діапазону при виконанні складної ділення." ++msgstr "" + + #: common.opt:1269 + #, no-c-format + msgid "Complex multiplication and division follow Fortran rules." +-msgstr "Множення та ділення комплексних чисел відповідають правилам Fortran." ++msgstr "" + + #: common.opt:1273 + #, no-c-format + msgid "Place data items into their own section." +-msgstr "Розмістити елементи даних у власному розділі." ++msgstr "" + + #: common.opt:1277 + #, no-c-format + msgid "List all available debugging counters with their limits and counts." +-msgstr "Вивести список всіх доступних лічильників відлагодження з їх обмеженнями та значеннями." ++msgstr "" + + #: common.opt:1281 + #, no-c-format + msgid "-fdbg-cnt=[:-][:-:...][,:...]\tSet the debug counter limit." +-msgstr "-fdbg-cnt=<лічильник>[:<нижня_межа1>-]<верхня_межа1>[:<нижня_межа2>-<верхня_межа2>:...][,<лічильник>:...]\tВстановити обмеження для лічильника відлагодження." ++msgstr "" + + #: common.opt:1285 + #, no-c-format + msgid "-fdebug-prefix-map==\tMap one directory name to another in debug information." +-msgstr "-fdebug-prefix-map=<старий>=<новий>\tВідображення одного імені каталогу на інше в інформації для налагодження." ++msgstr "" + + #: common.opt:1289 + #, no-c-format + msgid "-ffile-prefix-map==\tMap one directory name to another in compilation result." +-msgstr "-ffile-prefix-map=<старий>=<новий>\tВідображення одного імені каталогу на інше в результаті компіляції." ++msgstr "" + + #: common.opt:1293 + #, no-c-format + msgid "Output .debug_types section when using DWARF v4 debuginfo." +-msgstr "Виводити розділ .debug_types при використанні відлагоджувальної інформації DWARF v4." ++msgstr "" + + #: common.opt:1299 + #, no-c-format + msgid "Defer popping functions args from stack until later." +-msgstr "Відкласти видалення аргументів функцій зі стеку до пізнішого часу." ++msgstr "" + + #: common.opt:1303 + #, no-c-format + msgid "Attempt to fill delay slots of branch instructions." +-msgstr "Спроба заповнити слоти затримки інструкцій гілок." ++msgstr "" + + #: common.opt:1307 + #, no-c-format + msgid "Delete dead instructions that may throw exceptions." +-msgstr "Видаляти мертві інструкції, які можуть викликати винятки." ++msgstr "" + + #: common.opt:1311 + #, no-c-format + msgid "Delete useless null pointer checks." +-msgstr "Видалити непотрібні перевірки нульових вказівників." ++msgstr "" + + #: common.opt:1315 + #, no-c-format + msgid "Stream extra data to support more aggressive devirtualization in LTO local transformation mode." +-msgstr "Потокова передача додаткових даних для підтримки більш агресивної девіртуалізації в режимі локальної трансформації LTO." ++msgstr "" + + #: common.opt:1319 + #, no-c-format + msgid "Perform speculative devirtualization." +-msgstr "Виконувати спекулятивну девіртуалізацію." ++msgstr "" + + #: common.opt:1323 + #, no-c-format + msgid "Try to convert virtual calls to direct ones." +-msgstr "Спробуйте перетворити віртуальні виклики на прямі." ++msgstr "" + + #: common.opt:1327 + #, no-c-format + msgid "-fdiagnostics-show-location=[once|every-line]\tHow often to emit source location at the beginning of line-wrapped diagnostics." +-msgstr "-fdiagnostics-show-location=[once|every-line]\tЯк часто виводити початкове розташування джерела на початку діагностики, обгорнутої по рядках." ++msgstr "" + + #: common.opt:1344 + #, no-c-format + msgid "Show the source line with a caret indicating the column." +-msgstr "Показати рядок джерела з вказівником на стовпчик." ++msgstr "" + + #: common.opt:1348 + #, no-c-format + msgid "Show labels annotating ranges of source code when showing source." +-msgstr "Показати мітки, що анотують діапазони вихідного коду при показі джерела." ++msgstr "" + + #: common.opt:1352 + #, no-c-format + msgid "Show line numbers in the left margin when showing source." +-msgstr "Показати номери рядків у лівому полі, коли показується джерело." ++msgstr "" + + #: common.opt:1360 + #, no-c-format + msgid "-fdiagnostics-color=[never|always|auto]\tColorize diagnostics." +-msgstr "-fdiagnostics-color=[never|always|auto]\tКолірувати діагностику." ++msgstr "" + + #: common.opt:1380 + #, no-c-format + msgid "-fdiagnostics-urls=[never|always|auto]\tEmbed URLs in diagnostics." +-msgstr "-fdiagnostics-urls=[never|always|auto]\tВбудовувати URL-адреси в діагностику." ++msgstr "" + + #: common.opt:1400 + #, no-c-format + msgid "-fdiagnostics-column-unit=[display|byte]\tSelect whether column numbers are output as display columns (default) or raw bytes." +-msgstr "-fdiagnostics-column-unit=[display|byte]\tВибрати, чи виводити номери стовпців як стовпці відображення (за замовчуванням) або як сирі байти." ++msgstr "" + + #: common.opt:1404 + #, no-c-format + msgid "-fdiagnostics-column-origin=\tSet the number of the first column. The default is 1-based as per GNU style, but some utilities may expect 0-based, for example." +-msgstr "-fdiagnostics-column-origin=<число>\tВстановити номер першого стовпця. За замовчуванням використовується нумерація з 1 відповідно до стилю GNU, але деякі утиліти можуть очікувати нумерацію з 0, наприклад." ++msgstr "" + + #: common.opt:1408 + #, no-c-format + msgid "-fdiagnostics-format=[text|sarif-stderr|sarif-file|json|json-stderr|json-file]\tSelect output format." +-msgstr "-fdiagnostics-format=[текст|sarif-stderr|sarif-file|json|json-stderr|json-file]\tВибрати формат виводу." ++msgstr "" + + #: common.opt:1412 + #, no-c-format + msgid "-fdiagnostics-escape-format=[unicode|bytes]\tSelect how to escape non-printable-ASCII bytes in the source for diagnostics that suggest it." +-msgstr "-fdiagnostics-escape-format=[unicode|bytes]\tВибрати, як екранувати не друковані ASCII-байти у вихідному коді для діагностики, яка це пропонує." ++msgstr "" + + #: common.opt:1459 + #, no-c-format + msgid "Print fix-it hints in machine-readable form." +-msgstr "Вивести підказки для виправлення у машинночитаному форматі." ++msgstr "" + + #: common.opt:1463 + #, no-c-format + msgid "Print fix-it hints to stderr in unified diff format." +-msgstr "Вивести підказки для виправлення на stderr у форматі обʼєднаного diff." ++msgstr "" + + #: common.opt:1467 + #, no-c-format + msgid "Amend appropriate diagnostic messages with the command line option that controls them." +-msgstr "Виправити відповідні діагностичні повідомлення з параметром командного рядка, який їх контролює." ++msgstr "" + + #: common.opt:1471 + #, no-c-format + msgid "Print CWE identifiers for diagnostic messages, where available." +-msgstr "Вивести ідентифікатори CWE для діагностичних повідомлень, якщо вони доступні." ++msgstr "" + + #: common.opt:1475 + #, no-c-format + msgid "Print any rules associated with diagnostic messages." +-msgstr "Вивести будь-які правила, повʼязані з діагностичними повідомленнями." ++msgstr "" + + #: common.opt:1479 + #, no-c-format + msgid "Specify how to print any control-flow path associated with a diagnostic." +-msgstr "Вказати, як друкувати будь-який шлях керування потоком, повʼязаний з діагностикою." ++msgstr "" + + #: common.opt:1483 + #, no-c-format + msgid "Turn off any diagnostics features that complicate the output, such as line numbers, color, and warning URLs." +-msgstr "Вимкнути будь-які функції діагностики, які ускладнюють вивід, такі як номери рядків, кольори та URL-адреси попереджень." ++msgstr "" + + #: common.opt:1487 + #, no-c-format + msgid "-ftabstop= Distance between tab stops for column reporting." +-msgstr "-ftabstop=<число> Відстань між табуляціями для звітування про стовпці." ++msgstr "" + + #: common.opt:1503 + #, no-c-format + msgid "Show stack depths of events in paths." +-msgstr "Показати глибину стеку подій у шляхах." ++msgstr "" + + #: common.opt:1507 + #, no-c-format + msgid "Set minimum width of left margin of source code when showing source." +-msgstr "Встановити мінімальну ширину лівого поля вихідного коду при показуванні джерела." ++msgstr "" + + #: common.opt:1511 + #, no-c-format + msgid "-fdisable-[tree|rtl|ipa]-=range1+range2\tDisable an optimization pass." +-msgstr "-fdisable-[tree|rtl|ipa]-<прохід>=діапазон1+діапазон2\tВимкнути прохід оптимізації." ++msgstr "" + + #: common.opt:1515 + #, no-c-format + msgid "-fenable-[tree|rtl|ipa]-=range1+range2\tEnable an optimization pass." +-msgstr "-fenable-[tree|rtl|ipa]-<прохід>=діапазон1+діапазон2\tУвімкнути прохід оптимізації." ++msgstr "" + + #: common.opt:1519 + #, no-c-format + msgid "-fdump-\tDump various compiler internals to a file." +-msgstr "-fdump-<тип>\tЗберегти різні внутрішні компілятора дані у файл." ++msgstr "" + + #: common.opt:1526 + #, no-c-format + msgid "-fdump-final-insns=filename\tDump to filename the insns at the end of translation." +-msgstr "-fdump-final-insns=<імʼя_файлу>\tЗберегти вказані інструкції в кінці перекладу у файл." ++msgstr "" + + #: common.opt:1530 + #, no-c-format + msgid "-fdump-go-spec=filename\tWrite all declarations to file as Go code." +-msgstr "-fdump-go-spec=<імʼя_файлу>\tЗаписати всі оголошення у файл у вигляді коду Go." ++msgstr "" + + #: common.opt:1534 + #, no-c-format + msgid "Suppress output of addresses in debugging dumps." +-msgstr "Приховати вивід адрес у відлагоджувальних дампах." ++msgstr "" + + #: common.opt:1538 + #, no-c-format + msgid "Collect and dump debug information into temporary file if ICE in C/C++ compiler occurred." +-msgstr "Збирати та виводити відлагоджувальну інформацію у тимчасовий файл, якщо виникла внутрішня помилка у компіляторі C/C++." ++msgstr "" + + #: common.opt:1543 + #, no-c-format + msgid "Dump detailed information on GCC's internal representation of source code locations." +-msgstr "Вивести детальну інформацію про внутрішнє представлення GCC місцезнаходження вихідного коду." ++msgstr "" + + #: common.opt:1547 + #, no-c-format + msgid "Dump optimization passes." +-msgstr "Вивести проходи оптимізації." ++msgstr "" + + #: common.opt:1551 + #, no-c-format + msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps." +-msgstr "Приховати вивід номерів інструкцій, приміток з номерами рядків та адрес у відлагоджувальних дампах." ++msgstr "" + + #: common.opt:1555 + #, no-c-format + msgid "Suppress output of previous and next insn numbers in debugging dumps." +-msgstr "Приховати вивід номерів попередніх та наступних інструкцій у відлагоджувальних дампах." ++msgstr "" + + #: common.opt:1559 + #, no-c-format + msgid "Enable CFI tables via GAS assembler directives." +-msgstr "Увімкнути таблиці CFI за допомогою директив асемблера GAS." ++msgstr "" + + #: common.opt:1563 + #, no-c-format + msgid "Perform early inlining." +-msgstr "Виконати раннє вбудовування." ++msgstr "" + + #: common.opt:1571 + #, no-c-format + msgid "Perform interprocedural reduction of aggregates." +-msgstr "Виконати міжпроцедурну редукцію агрегатів." ++msgstr "" + + #: common.opt:1575 + #, no-c-format + msgid "Perform unused symbol elimination in debug info." +-msgstr "Виконати видалення невикористаних символів у відлагоджувальній інформації." ++msgstr "" + + #: common.opt:1579 + #, no-c-format + msgid "Perform unused type elimination in debug info." +-msgstr "Виконати видалення невикористаних типів у відлагоджувальній інформації." ++msgstr "" + + #: common.opt:1583 + #, no-c-format + msgid "Do not suppress C++ class debug information." +-msgstr "Не приховувати відлагоджувальну інформацію про класи C++." ++msgstr "" + + #: common.opt:1587 + #, no-c-format + msgid "Enable exception handling." +-msgstr "Увімкнути обробку винятків." ++msgstr "" + + #: common.opt:1591 + #, no-c-format + msgid "Perform a number of minor, expensive optimizations." +-msgstr "Виконати кілька незначних, дорогих оптимізацій." ++msgstr "" + + #: common.opt:1595 + #, no-c-format + msgid "-fexcess-precision=[fast|standard|16]\tSpecify handling of excess floating-point precision." +-msgstr "-fexcess-precision=[fast|standard|16]\tВказати обробку зайвої точності з плаваючою комою." ++msgstr "" + + #: common.opt:1613 + #, no-c-format + msgid "-fpermitted-flt-eval-methods=[c11|ts-18661]\tSpecify which values of FLT_EVAL_METHOD are permitted." +-msgstr "-fpermitted-flt-eval-methods=[c11|ts-18661]\tВказати, які значення FLT_EVAL_METHOD дозволені." ++msgstr "" + + #: common.opt:1629 + #, no-c-format + msgid "Output lto objects containing both the intermediate language and binary output." +-msgstr "Вивести обʼєкти lto, що містять як проміжну мову, так і бінарний вихід." ++msgstr "" + + #: common.opt:1633 + #, no-c-format + msgid "Assume no NaNs or infinities are generated." +-msgstr "Припускати, що NaN або нескінченності не генеруються." ++msgstr "" + + #: common.opt:1637 + #, no-c-format + msgid "Assume that loops with an exit will terminate and not loop indefinitely." +-msgstr "Припускати, що цикли з виходом завершаться і не будуть безкінечно повторюватися." ++msgstr "" + + #: common.opt:1641 + #, no-c-format + msgid "-ffixed-\tMark as being unavailable to the compiler." +-msgstr "-ffixed-<регістр>\tПозначити <регістр> як недоступний для компілятора." ++msgstr "" + + #: common.opt:1645 + #, no-c-format + msgid "Don't allocate floats and doubles in extended-precision registers." +-msgstr "Не виділяти плаваючі точки і подвійні в розширених регістрах точності." ++msgstr "" + + #: common.opt:1653 + #, no-c-format + msgid "Perform a forward propagation pass on RTL." +-msgstr "Виконати прохід вперед по RTL." ++msgstr "" + + #: common.opt:1657 + #, no-c-format + msgid "-ffp-contract=[off|on|fast]\tPerform floating-point expression contraction." +-msgstr "-ffp-contract=[off|on|fast]\tВиконати скорочення виразів з плаваючою комою." ++msgstr "" + + #: common.opt:1674 + #, no-c-format + msgid "Allow built-in functions ceil, floor, round, trunc to raise \"inexact\" exceptions." +-msgstr "Дозволити вбудованим функціям ceil, floor, round, trunc викликати винятки «неточності»." ++msgstr "" + + #: common.opt:1681 + #, no-c-format + msgid "Allow function addresses to be held in registers." +-msgstr "Дозволити зберігати адреси функцій у регістрах." ++msgstr "" + + #: common.opt:1685 + #, no-c-format + msgid "Place each function into its own section." +-msgstr "Розміщувати кожну функцію в власному розділі." ++msgstr "" + + #: common.opt:1689 + #, no-c-format + msgid "Perform global common subexpression elimination." +-msgstr "Виконувати глобальну елімінацію спільних підвиразів." ++msgstr "" + + #: common.opt:1693 + #, no-c-format + msgid "Perform enhanced load motion during global common subexpression elimination." +-msgstr "Виконувати покращене переміщення завантажень під час глобальної елімінації спільних підвиразів." ++msgstr "" + + #: common.opt:1697 + #, no-c-format + msgid "Perform store motion after global common subexpression elimination." +-msgstr "Виконувати переміщення збереження після глобальної елімінації спільних підвиразів." ++msgstr "" + + #: common.opt:1701 + #, no-c-format + msgid "Perform redundant load after store elimination in global common subexpression elimination." +-msgstr "Виконати зайве завантаження після усунення збереження в глобальному спільному підвиразі." ++msgstr "" + + #: common.opt:1706 + #, no-c-format + msgid "Perform global common subexpression elimination after register allocation has finished." +-msgstr "Виконати глобальну елімінацію спільних підвиразів після завершення розподілу регістрів." ++msgstr "" + + #: common.opt:1723 + #, no-c-format + msgid "-fgnat-encodings=[all|gdb|minimal]\tSelect the balance between GNAT encodings and standard DWARF emitted in the debug information." +-msgstr "-fgnat-encodings=[all|gdb|minimal]\tВиберіть баланс між кодуваннями GNAT та стандартним DWARF, які випускаються в інформації для налагодження." ++msgstr "" + + #: common.opt:1728 + #, no-c-format + msgid "Enable in and out of Graphite representation." +-msgstr "Увімкнути вхід та вихід з представлення Graphite." ++msgstr "" + + #: common.opt:1732 + #, no-c-format + msgid "Enable Graphite Identity transformation." +-msgstr "Увімкнути перетворення ідентичності Graphite." ++msgstr "" + + #: common.opt:1736 + #, no-c-format + msgid "Enable hoisting adjacent loads to encourage generating conditional move instructions." +-msgstr "Увімкнути підняття суміжних завантажень, щоб сприяти генерації умовних інструкцій переміщення." ++msgstr "" + + #: common.opt:1745 + #, no-c-format + msgid "Improve GCC's ability to track column numbers in large source files, at the expense of slower compilation." +-msgstr "Покращити здатність GCC відстежувати номери стовпців у великих вихідних файлах за рахунок повільнішої компіляції." ++msgstr "" + + #: common.opt:1750 + #, no-c-format + msgid "Mark all loops as parallel." +-msgstr "Позначити всі цикли як паралельні." ++msgstr "" + + #: common.opt:1754 common.opt:1762 common.opt:2979 + #, no-c-format + msgid "Enable loop nest transforms. Same as -floop-nest-optimize." +-msgstr "Увімкнути перетворення вкладених циклів. Те саме, що й -floop-nest-optimize." ++msgstr "" + + #: common.opt:1758 + #, no-c-format + msgid "Enable loop interchange on trees." +-msgstr "Увімкнути обмін циклів на деревах." ++msgstr "" + + #: common.opt:1766 + #, no-c-format + msgid "Perform unroll-and-jam on loops." +-msgstr "Виконати розгортання і злиття циклів." ++msgstr "" + + #: common.opt:1770 + #, no-c-format + msgid "Enable support for GNU transactional memory." +-msgstr "Увімкнути підтримку GNU транзакційної памʼяті." ++msgstr "" + + #: common.opt:1774 + #, no-c-format + msgid "Use STB_GNU_UNIQUE if supported by the assembler." +-msgstr "Використовуйте STB_GNU_UNIQUE, якщо підтримується збирачем." ++msgstr "" + + #: common.opt:1782 + #, no-c-format + msgid "Enable the loop nest optimizer." +-msgstr "Увімкнути оптимізатор вкладених циклів." ++msgstr "" + + #: common.opt:1786 + #, no-c-format + msgid "Force bitfield accesses to match their type width." +-msgstr "Примусово зробити доступ до бітових полів такими ж ширинами, як їх типи." ++msgstr "" + + #: common.opt:1790 + #, no-c-format + msgid "Merge adjacent stores." +-msgstr "Обʼєднати суміжні зберігання." ++msgstr "" + + #: common.opt:1794 + #, no-c-format + msgid "Enable guessing of branch probabilities." +-msgstr "Увімкнути вгадування ймовірностей гілок." ++msgstr "" + + #: common.opt:1798 + #, no-c-format + msgid "Harden conditionals not used in branches, checking reversed conditions." +-msgstr "Посилити умови, які не використовуються в гілках, перевіряючи зворотні умови." ++msgstr "" + + #: common.opt:1802 + #, no-c-format + msgid "Harden conditional branches by checking reversed conditions." +-msgstr "Посилити умовні гілки, перевіряючи зворотні умови." ++msgstr "" + + #: common.opt:1810 + #, no-c-format + msgid "Process #ident directives." +-msgstr "Обробка директив #ident." ++msgstr "" + + #: common.opt:1814 + #, no-c-format + msgid "Perform conversion of conditional jumps to branchless equivalents." +-msgstr "Виконати перетворення умовних переходів на еквіваленти без гілок." ++msgstr "" + + #: common.opt:1818 + #, no-c-format + msgid "Perform conversion of conditional jumps to conditional execution." +-msgstr "Виконати перетворення умовних переходів на умовне виконання." ++msgstr "" + + #: common.opt:1822 + #, no-c-format + msgid "-fstack-reuse=[all|named_vars|none]\tSet stack reuse level for local variables." +-msgstr "-fstack-reuse=[all|named_vars|none]\tВстановити рівень повторного використання стеку для локальних змінних." ++msgstr "" + + #: common.opt:1838 + #, no-c-format + msgid "Convert conditional jumps in innermost loops to branchless equivalents." +-msgstr "Перетворити умовні переходи в найвнутрішніших циклах на еквіваленти без гілок." ++msgstr "" + + #: common.opt:1850 + #, no-c-format + msgid "Do not generate .size directives." +-msgstr "Не генерувати директиви .size." ++msgstr "" + + #: common.opt:1854 + #, no-c-format + msgid "Perform indirect inlining." +-msgstr "Виконувати непряму вставку." ++msgstr "" + + #: common.opt:1860 + #, no-c-format + msgid "Enable inlining of function declared \"inline\", disabling disables all inlining." +-msgstr "Увімкнути вбудовування функції, оголошеної як «inline», вимкнення вимикає всі вбудовування." ++msgstr "" + + #: common.opt:1864 + #, no-c-format + msgid "Integrate functions into their callers when code size is known not to grow." +-msgstr "Інтегрувати функції в їх викликачів, коли розмір коду відомо, що не зростає." ++msgstr "" + + #: common.opt:1868 + #, no-c-format + msgid "Integrate functions not declared \"inline\" into their callers when profitable." +-msgstr "Інтегрувати функції, не оголошені як «inline», в їх викликачів, коли це прибутково." ++msgstr "" + + #: common.opt:1872 + #, no-c-format + msgid "Integrate functions only required by their single caller." +-msgstr "Інтегруйте функції, які потрібні лише їх єдиному викликачу." ++msgstr "" + + #: common.opt:1879 + #, no-c-format + msgid "-finline-limit=\tLimit the size of inlined functions to ." +-msgstr "-finline-limit=<число>\tОбмежте розмір вбудованих функцій до <число>." ++msgstr "" + + #: common.opt:1883 + #, no-c-format + msgid "Inline __atomic operations when a lock free instruction sequence is available." +-msgstr "Вбудовувати операції __atomic, коли є послідовність без блокування." ++msgstr "" + + #: common.opt:1890 + #, no-c-format + msgid "-fcf-protection=[full|branch|return|none|check]\tInstrument functions with checks to verify jump/call/return control-flow transfer instructions have valid targets." +-msgstr "-fcf-protection=[full|branch|return|none|check]\tІнструменти функцій з перевірками для перевірки того, що інструкції переходу/виклику/повернення мають дійсні цілі." ++msgstr "" + + #: common.opt:1913 + #, no-c-format + msgid "Instrument function entry and exit with profiling calls." +-msgstr "Інструментувати вхід та вихід функції з дзвінками профілювання." ++msgstr "" + + #: common.opt:1917 + #, no-c-format + msgid "Instrument function entry and exit with profiling calls invoked once." +-msgstr "Інструментувати вхід та вихід функції з одноразовими дзвінками профілювання." ++msgstr "" + + #: common.opt:1921 + #, no-c-format + msgid "-finstrument-functions-exclude-function-list=name,...\tDo not instrument listed functions." +-msgstr "-finstrument-functions-exclude-function-list=імʼя,...\tНе інструментувати перелічовані функції." ++msgstr "" + + #: common.opt:1925 + #, no-c-format + msgid "-finstrument-functions-exclude-file-list=filename,...\tDo not instrument functions listed in files." +-msgstr "-finstrument-functions-exclude-file-list=імʼя_файлу,...\tНе інструментувати функції, перелічовані у файлах." ++msgstr "" + + #: common.opt:1929 + #, no-c-format + msgid "Perform interprocedural constant propagation." +-msgstr "Виконати міжпроцедурну поширення констант." ++msgstr "" + + #: common.opt:1933 + #, no-c-format + msgid "Perform cloning to make Interprocedural constant propagation stronger." +-msgstr "Виконати клонування для зміцнення міжпроцедурного поширення констант." ++msgstr "" + + #: common.opt:1941 + #, no-c-format + msgid "Perform interprocedural bitwise constant propagation." +-msgstr "Виконати міжпроцедурне поширення констант за допомогою побітових операцій." ++msgstr "" + + #: common.opt:1945 + #, no-c-format + msgid "Perform interprocedural modref analysis." +-msgstr "Виконати міжпроцедурний аналіз модифікацій та посилань." ++msgstr "" + + #: common.opt:1949 + #, no-c-format + msgid "Perform interprocedural profile propagation." +-msgstr "Виконати міжпроцедурне поширення профілів." ++msgstr "" + + #: common.opt:1953 + #, no-c-format + msgid "Perform interprocedural points-to analysis." +-msgstr "Виконати міжпроцедурний аналіз вказівників та посилань." ++msgstr "" + + #: common.opt:1957 + #, no-c-format + msgid "Discover pure and const functions." +-msgstr "Виявити чисті та константні функції." ++msgstr "" + + #: common.opt:1961 + #, no-c-format + msgid "Perform Identical Code Folding for functions and read-only variables." +-msgstr "Виконати згортання ідентичного коду для функцій та змінних, доступних тільки для читання." ++msgstr "" + + #: common.opt:1965 + #, no-c-format + msgid "Perform Identical Code Folding for functions." +-msgstr "Виконати згортання ідентичного коду для функцій." ++msgstr "" + + #: common.opt:1969 + #, no-c-format + msgid "Perform Identical Code Folding for variables." +-msgstr "Виконати згортання ідентичного коду для змінних." ++msgstr "" + + #: common.opt:1973 + #, no-c-format + msgid "Discover read-only and non addressable static variables." +-msgstr "Виявити змінні, доступні тільки для читання та недоступні для адресації." ++msgstr "" + + #: common.opt:1977 + #, no-c-format + msgid "Discover read-only, write-only and non-addressable static variables." +-msgstr "Виявити змінні, доступні тільки для читання, тільки для запису та недоступні для адресації." ++msgstr "" + + #: common.opt:1981 + #, no-c-format + msgid "Reduce stack alignment on call sites if possible." +-msgstr "Зменшити вирівнювання стеку на місцях виклику, якщо це можливо." ++msgstr "" + + #: common.opt:1993 + #, no-c-format + msgid "Perform IPA Value Range Propagation." +-msgstr "Виконати поширення діапазону значень IPA." ++msgstr "" + + #: common.opt:1997 + #, no-c-format + msgid "-fira-algorithm=[CB|priority]\tSet the used IRA algorithm." +-msgstr "-fira-algorithm=[CB|priority]\tВстановити використовуваний алгоритм IRA." ++msgstr "" + + #: common.opt:2001 + #, no-c-format + msgid "Assume strict aliasing rules apply across (uninlined) function boundaries." +-msgstr "Припустити, що суворі правила псевдонімів застосовуються між межами функцій (не вбудованих)." ++msgstr "" + + #: common.opt:2014 + #, no-c-format + msgid "-fira-region=[one|all|mixed]\tSet regions for IRA." +-msgstr "-fira-region=[one|all|mixed]\tВстановити регіони для IRA." ++msgstr "" + + #: common.opt:2030 + #, no-c-format + msgid "Use IRA based register pressure calculation in RTL hoist optimizations." +-msgstr "Використовувати IRA-заснований розрахунок тиску на реєстри в оптимізаціях підняття RTL." ++msgstr "" + + #: common.opt:2035 + #, no-c-format + msgid "Use IRA based register pressure calculation in RTL loop optimizations." +-msgstr "Використовуйте розрахунок тиску на реєстр на основі IRA в оптимізаціях циклів RTL." ++msgstr "" + + #: common.opt:2040 + #, no-c-format + msgid "Share slots for saving different hard registers." +-msgstr "Поділитися слотами для збереження різних жорстких регістрів." ++msgstr "" + + #: common.opt:2044 + #, no-c-format + msgid "Share stack slots for spilled pseudo-registers." +-msgstr "Поділитися слотами стеку для витікших псевдо-регістрів." ++msgstr "" + + #: common.opt:2048 + #, no-c-format + msgid "-fira-verbose=\tControl IRA's level of diagnostic messages." +-msgstr "-fira-verbose=<число>\tКонтролювати рівень діагностичних повідомлень IRA." ++msgstr "" + + #: common.opt:2052 + #, no-c-format + msgid "Optimize induction variables on trees." +-msgstr "Оптимізувати змінні індукції на деревах." ++msgstr "" + + #: common.opt:2056 + #, no-c-format + msgid "Use jump tables for sufficiently large switch statements." +-msgstr "Використовувати таблиці переходів для достатньо великих операторів вибору." ++msgstr "" + + #: common.opt:2060 + #, no-c-format + msgid "Use bit tests for sufficiently large switch statements." +-msgstr "Використовувати бітові тести для достатньо великих операторів вибору." ++msgstr "" + + #: common.opt:2064 + #, no-c-format + msgid "Generate code for functions even if they are fully inlined." +-msgstr "Генерувати код для функцій навіть якщо вони повністю вбудовані." ++msgstr "" + + #: common.opt:2068 + #, no-c-format + msgid "Generate code for static functions even if they are never called." +-msgstr "Генерувати код для статичних функцій навіть якщо вони ніколи не викликаються." ++msgstr "" + + #: common.opt:2072 + #, no-c-format + msgid "Emit static const variables even if they are not used." +-msgstr "Видавати статичні константні змінні навіть якщо вони не використовуються." ++msgstr "" + + #: common.opt:2076 + #, no-c-format + msgid "Give external symbols a leading underscore." +-msgstr "Додати перед зовнішніми символами підкреслення." ++msgstr "" + + #: common.opt:2084 + #, no-c-format + msgid "Do CFG-sensitive rematerialization in LRA." +-msgstr "Виконувати CFG-чутливу перематеріалізацію в LRA." ++msgstr "" + + #: common.opt:2088 + #, no-c-format + msgid "Enable link-time optimization." +-msgstr "Увімкнути оптимізацію на етапі звʼязування." ++msgstr "" + + #: common.opt:2092 + #, no-c-format + msgid "Link-time optimization with number of parallel jobs or jobserver." +-msgstr "Оптимізація на етапі звʼязування з кількістю паралельних задач або сервером задач." ++msgstr "" + + #: common.opt:2114 + #, no-c-format + msgid "Specify the algorithm to partition symbols and vars at linktime." +-msgstr "Вказати алгоритм для розбиття символів та змінних на етапі звʼязування." ++msgstr "" + + #: common.opt:2119 + #, no-c-format + msgid "Use zlib/zstd compression level for IL." +-msgstr "Використовуйте рівень стиснення zlib/zstd <число> для IL." ++msgstr "" + + #: common.opt:2127 + #, no-c-format + msgid "Report various link-time optimization statistics." +-msgstr "Повідомляти різні статистичні дані про оптимізацію на етапі звʼязування." ++msgstr "" + + #: common.opt:2131 + #, no-c-format + msgid "Report various link-time optimization statistics for WPA only." +-msgstr "Повідомляти різні статистичні дані про оптимізацію на етапі звʼязування тільки для WPA." ++msgstr "" + + #: common.opt:2135 + #, no-c-format + msgid "Set errno after built-in math functions." +-msgstr "Встановити errno після вбудованих математичних функцій." ++msgstr "" + + #: common.opt:2139 + #, no-c-format + msgid "-fmax-errors=\tMaximum number of errors to report." +-msgstr "-fmax-errors=<кількість>\tМаксимальна кількість помилок для звіту." ++msgstr "" + + #: common.opt:2143 + #, no-c-format + msgid "Report on permanent memory allocation." +-msgstr "Звіт про постійне виділення памʼяті." ++msgstr "" + + #: common.opt:2147 + #, no-c-format + msgid "Report on permanent memory allocation in WPA only." +-msgstr "Звіт про постійне виділення памʼяті тільки в режимі WPA." ++msgstr "" + + #: common.opt:2154 + #, no-c-format + msgid "Attempt to merge identical constants and constant variables." +-msgstr "Спроба обʼєднати однакові константи та константні змінні." ++msgstr "" + + #: common.opt:2158 + #, no-c-format + msgid "Attempt to merge identical constants across compilation units." +-msgstr "Спроба обʼєднати однакові константи між компіляційними одиницями." ++msgstr "" + + #: common.opt:2162 + #, no-c-format + msgid "Attempt to merge identical debug strings across compilation units." +-msgstr "Спроба обʼєднати однакові рядки для налагодження між компіляційними одиницями." ++msgstr "" + + #: common.opt:2166 + #, no-c-format + msgid "-fmessage-length=\tLimit diagnostics to characters per line. 0 suppresses line-wrapping." +-msgstr "-fmessage-length=<кількість>\tОбмежити діагностику до <кількості> символів на рядок. 0 пригнічує перенесення рядків." ++msgstr "" + + #: common.opt:2170 + #, no-c-format + msgid "Perform SMS based modulo scheduling before the first scheduling pass." +-msgstr "Виконати модульне планування на основі SMS перед першим проходом планування." ++msgstr "" + + #: common.opt:2174 + #, no-c-format + msgid "Perform SMS based modulo scheduling with register moves allowed." +-msgstr "Виконати модульне планування на основі SMS з дозволеними переміщеннями регістрів." ++msgstr "" + + #: common.opt:2178 + #, no-c-format + msgid "Move loop invariant computations out of loops." +-msgstr "Перемістити обчислення незмінних у петлях за межі петель." ++msgstr "" + + #: common.opt:2182 + #, no-c-format + msgid "Move stores out of loops." +-msgstr "Перемістити зберігання за межі петель." ++msgstr "" + + #: common.opt:2186 + #, no-c-format + msgid "Building block for specs-based multilib-aware TFLAGS." +-msgstr "Будівельний блок для TFLAGS, що підтримує специфікації та багатобібліотечність." ++msgstr "" + + #: common.opt:2190 + #, no-c-format + msgid "Use the RTL dead code elimination pass." +-msgstr "Використовувати прохід RTL для видалення мертвого коду." ++msgstr "" + + #: common.opt:2194 + #, no-c-format + msgid "Use the RTL dead store elimination pass." +-msgstr "Використовувати прохід RTL для видалення мертвих зберігань." ++msgstr "" + + #: common.opt:2198 + #, no-c-format + msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling." +-msgstr "Увімкнути/вимкнути традиційне планування в петлях, які вже пройшли модульне планування." ++msgstr "" + + #: common.opt:2202 + #, no-c-format + msgid "Support synchronous non-call exceptions." +-msgstr "Підтримка синхронних не-викликових винятків." ++msgstr "" + + #: common.opt:2209 + #, no-c-format + msgid "-foffload-options==\tSpecify options for the offloading targets." +-msgstr "-foffload-options=<цілі>=<опції>\tВказати опції для цілей віддалення." ++msgstr "" + + #: common.opt:2213 + #, no-c-format + msgid "-foffload-abi=[lp64|ilp32]\tSet the ABI to use in an offload compiler." +-msgstr "-foffload-abi=[lp64|ilp32]\tВстановити ABI, який буде використовуватися в компіляторі віддалення." ++msgstr "" + + #: common.opt:2226 + #, no-c-format + msgid "When possible do not generate stack frames." +-msgstr "Якщо можливо, не генерувати рамки стеку." ++msgstr "" + + #: common.opt:2233 + #, no-c-format + msgid "Generate SIMD clones for functions with the OpenMP declare target directive." +-msgstr "Генерувати клони SIMD для функцій з директивою OpenMP declare target." ++msgstr "" + + #: common.opt:2252 + #, no-c-format + msgid "Enable all optimization info dumps on stderr." +-msgstr "Увімкнути всі виведення інформації про оптимізацію на stderr." ++msgstr "" + + #: common.opt:2256 + #, no-c-format + msgid "-fopt-info[-=filename]\tDump compiler optimization details." +-msgstr "-fopt-info[-<тип>=імʼя_файлу]\tВивести деталі оптимізації компілятора." ++msgstr "" + + #: common.opt:2260 + #, no-c-format + msgid "Write a SRCFILE.opt-record.json file detailing what optimizations were performed." +-msgstr "Створити файл SRCFILE.opt-record.json, в якому будуть детально описані проведені оптимізації." ++msgstr "" + + #: common.opt:2268 + #, no-c-format + msgid "Optimize sibling and tail recursive calls." +-msgstr "Оптимізувати виклики рекурсії між братніми функціями та хвостовою рекурсією." ++msgstr "" + + #: common.opt:2272 + #, no-c-format + msgid "Perform partial inlining." +-msgstr "Виконати часткове вбудовування." ++msgstr "" + + #: common.opt:2276 common.opt:2280 + #, no-c-format + msgid "Report on memory allocation before interprocedural optimization." +-msgstr "Повідомляти про розподіл памʼяті перед міжпроцедурною оптимізацією." ++msgstr "" + + #: common.opt:2284 + #, no-c-format + msgid "Pack structure members together without holes." +-msgstr "Упаковувати елементи структури разом без прогалин." ++msgstr "" + + #: common.opt:2288 + #, no-c-format + msgid "-fpack-struct=\tSet initial maximum structure member alignment." +-msgstr "-fpack-struct=<число>\tВстановити початкове максимальне вирівнювання елементів структури." ++msgstr "" + + #: common.opt:2292 + #, no-c-format + msgid "Return small aggregates in memory, not registers." +-msgstr "Повертати невеликі агрегати в памʼяті, а не в регістрах." ++msgstr "" + + #: common.opt:2296 + #, no-c-format + msgid "Perform loop peeling." +-msgstr "Виконувати розгортання циклів." ++msgstr "" + + #: common.opt:2300 + #, no-c-format + msgid "Enable machine specific peephole optimizations." +-msgstr "Увімкнути машинно-специфічні оптимізації глядача." ++msgstr "" + + #: common.opt:2304 + #, no-c-format + msgid "Enable an RTL peephole pass before sched2." +-msgstr "Увімкнути прохід глядача RTL перед sched2." ++msgstr "" + + #: common.opt:2308 + #, no-c-format + msgid "Generate position-independent code if possible (large mode)." +-msgstr "Генерувати код, який не залежить від положення, якщо це можливо (large mode)." ++msgstr "" + + #: common.opt:2312 + #, no-c-format + msgid "Generate position-independent code for executables if possible (large mode)." +-msgstr "Генерувати код, який не залежить від положення, якщо це можливо (large mode)." ++msgstr "" + + #: common.opt:2316 + #, no-c-format + msgid "Generate position-independent code if possible (small mode)." +-msgstr "Генерувати код, який не залежить від положення, якщо це можливо (small mode)." ++msgstr "Створити виконуваний файл з незалежним позиціюванням, якщо можливо (малий режим)" + + #: common.opt:2320 + #, no-c-format + msgid "Generate position-independent code for executables if possible (small mode)." +-msgstr "Генерувати код, який не залежить від положення, якщо це можливо (small mode)." ++msgstr "" + + #: common.opt:2324 + #, no-c-format + msgid "Use PLT for PIC calls (-fno-plt: load the address from GOT at call site)." +-msgstr "Використовувати PLT для PIC-викликів (-fno-plt: завантажувати адресу з GOT на місці виклику)." ++msgstr "" + + #: common.opt:2328 + #, no-c-format + msgid "Specify a plugin to load." +-msgstr "Вказати плагін для завантаження." ++msgstr "" + + #: common.opt:2332 + #, no-c-format + msgid "-fplugin-arg--[=]\tSpecify argument = for plugin ." +-msgstr "-fplugin-arg--[=]\tВказати аргумент = для плагіна ." ++msgstr "" + + #: common.opt:2336 + #, no-c-format + msgid "Run predictive commoning optimization." +-msgstr "Виконати передбачувану оптимізацію спільного використання." ++msgstr "" + + #: common.opt:2340 + #, no-c-format + msgid "Generate prefetch instructions, if available, for arrays in loops." +-msgstr "Генерувати інструкції попереднього завантаження, якщо це можливо, для масивів у циклах." ++msgstr "" + + #: common.opt:2344 + #, no-c-format + msgid "Enable basic program profiling code." +-msgstr "Увімкнути базовий код профілювання програми." ++msgstr "" + + #: common.opt:2348 + #, no-c-format + msgid "Generate absolute source path names for gcov." +-msgstr "Генерувати абсолютні шляхи до вихідних файлів для gcov." ++msgstr "" + + #: common.opt:2352 + #, no-c-format + msgid "Insert arc-based program profiling code." +-msgstr "Вставити код профілювання програми на основі дуг." ++msgstr "" + + #: common.opt:2356 + #, no-c-format + msgid "Set the top-level directory for storing the profile data. The default is 'pwd'." +-msgstr "Встановити верхній рівень каталогу для зберігання даних профілю. За замовчуванням - 'pwd'." ++msgstr "" + + #: common.opt:2361 + #, no-c-format + msgid "Select the name for storing the profile note file." +-msgstr "Виберати імʼя для зберігання файлу з примітками профілю." ++msgstr "" + + #: common.opt:2365 + #, no-c-format + msgid "Enable correction of flow inconsistent profile data input." +-msgstr "Увімкнути корекцію непослідовного вводу даних профілю." ++msgstr "" + + #: common.opt:2369 + #, no-c-format + msgid "-fprofile-update=[single|atomic|prefer-atomic]\tSet the profile update method." +-msgstr "-fprofile-update=[single|atomic|prefer-atomic]\tВстановити метод оновлення профілю." ++msgstr "" + + #: common.opt:2373 + #, no-c-format + msgid "Instrument only functions from files whose name matches any of the regular expressions (separated by semi-colons)." +-msgstr "Інструментувати лише функції з файлів, імена яких відповідають будь-якому з регулярних виразів (розділені крапкою з комою)." ++msgstr "" + + #: common.opt:2377 + #, no-c-format + msgid "Instrument only functions from files whose name does not match any of the regular expressions (separated by semi-colons)." +-msgstr "Інструментувати лише функції з файлів, імена яких не відповідають жодному з регулярних виразів (розділені крапкою з комою)." ++msgstr "" + + #: common.opt:2393 + #, no-c-format + msgid "-fprofile-reproducible=[serial|parallel-runs|multithreaded]\tControl level of reproducibility of profile gathered by -fprofile-generate." +-msgstr "-fprofile-reproducible=[serial|parallel-runs|multithreaded]\tКонтролювати рівень відтворюваності профілю, зібраного за допомогою -fprofile-generate." ++msgstr "" + + #: common.opt:2409 + #, no-c-format + msgid "Remove prefix from absolute path before mangling name for -fprofile-generate= and -fprofile-use=." +-msgstr "Видалити префікс з абсолютного шляху перед декоруванням імені для -fprofile-generate= та -fprofile-use=." ++msgstr "" + + #: common.opt:2413 + #, no-c-format + msgid "-fprofile-prefix-map==\tMap one directory name to another in GCOV coverage result." +-msgstr "-fprofile-prefix-map==\tВідображення одного імені директорії на інше в результаті покриття GCOV." ++msgstr "" + + #: common.opt:2417 + #, no-c-format + msgid "Enable common options for generating profile info for profile feedback directed optimizations." +-msgstr "Увімкнути загальні параметри для генерації інформації про профіль для оптимізацій, спрямованих на зворотний звʼязок профілю." ++msgstr "" + + #: common.opt:2421 + #, no-c-format + msgid "Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=." +-msgstr "Увімкнути загальні параметри для генерації інформації профілю для оптимізацій, спрямованих на зворотний звʼязок профілю, та встановити -fprofile-dir=." ++msgstr "" + + #: common.opt:2425 + #, no-c-format + msgid "Register the profile information in the .gcov_info section instead of using a constructor/destructor." +-msgstr "Зареєструвати інформацію профілю в розділі .gcov_info замість використання конструктора/деструктора." ++msgstr "" + + #: common.opt:2429 + #, no-c-format + msgid "Register the profile information in the specified section instead of using a constructor/destructor." +-msgstr "Зареєструвати інформацію профілю в вказаному розділі замість використання конструктора/деструктора." ++msgstr "" + + #: common.opt:2433 + #, no-c-format + msgid "Do not assume that functions never executed during the train run are cold." +-msgstr "Не припускайте, що функції, які не виконуються під час тренування, є холодними." ++msgstr "" + + #: common.opt:2437 + #, no-c-format + msgid "Enable common options for performing profile feedback directed optimizations." +-msgstr "Увімкнути загальні параметри для виконання оптимізацій, спрямованих на зворотний звʼязок профілю." ++msgstr "" + + #: common.opt:2441 + #, no-c-format + msgid "Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=." +-msgstr "Увімкнути загальні параметри для виконання оптимізацій, спрямованих на зворотний звʼязок профілю, та встановити -fprofile-dir=." ++msgstr "" + + #: common.opt:2445 + #, no-c-format + msgid "Insert code to profile values of expressions." +-msgstr "Вставте код для профілювання значень виразів." ++msgstr "" + + #: common.opt:2449 + #, no-c-format + msgid "Report on consistency of profile." +-msgstr "Повідомити про послідовність профілювання." ++msgstr "" + + #: common.opt:2453 + #, no-c-format + msgid "Enable function reordering that improves code placement." +-msgstr "Увімкнути перестановку функцій, що поліпшує розміщення коду." ++msgstr "" + + #: common.opt:2457 + #, no-c-format + msgid "Insert NOP instructions at each function entry." +-msgstr "Вставити NOP-інструкції на кожному вході функції." ++msgstr "" + + #: common.opt:2464 + #, no-c-format + msgid "-frandom-seed=\tMake compile reproducible using ." +-msgstr "-frandom-seed=<рядок>\tЗробити компіляцію відтворюваною за допомогою <рядка>." ++msgstr "" + + #: common.opt:2474 + #, no-c-format + msgid "Record gcc command line switches in the object file." +-msgstr "Записати перемикачі командного рядка gcc у файл обʼєкту." ++msgstr "" + + #: common.opt:2478 + #, no-c-format + msgid "Return small aggregates in registers." +-msgstr "Повертати невеликі агрегати в регістрах." ++msgstr "" + + #: common.opt:2486 + #, no-c-format + msgid "Tell DSE that the storage for a C++ object is dead when the constructor starts and when the destructor finishes." +-msgstr "Сказати DSE, що зберігання для обʼєкта C++ є мертвим, коли починається конструктор і коли закінчується деструктор." ++msgstr "" + + #: common.opt:2497 + #, no-c-format + msgid "-flive-patching=[inline-only-static|inline-clone]\tControl IPA optimizations to provide a safe compilation for live-patching. At the same time, provides multiple-level control on the enabled IPA optimizations." +-msgstr "-flive-patching=[inline-only-static|inline-clone]\tКонтролюйте оптимізації IPA для забезпечення безпечної компіляції для живого латання. Водночас забезпечує багаторівневий контроль над увімкненими оптимізаціями IPA." ++msgstr "" + + #: common.opt:2512 + #, no-c-format + msgid "Tell DCE to remove unused C++ allocations." +-msgstr "Сповістити DCE про видалення невикористаних виділення C++." ++msgstr "" + + #: common.opt:2516 + #, no-c-format + msgid "Relief of register pressure through live range shrinkage." +-msgstr "Зменшення тиску на реєстри шляхом зменшення живого діапазону." ++msgstr "" + + #: common.opt:2520 + #, no-c-format + msgid "Perform a register renaming optimization pass." +-msgstr "Виконати прохід оптимізації перейменування реєстрів." ++msgstr "" + + #: common.opt:2524 + #, no-c-format + msgid "Perform a target dependent instruction fusion optimization pass." +-msgstr "Виконати прохід оптимізації злиття інструкцій, залежний від цілі." ++msgstr "" + + #: common.opt:2528 + #, no-c-format + msgid "Reorder basic blocks to improve code placement." +-msgstr "Переставити базові блоки для покращення розміщення коду." ++msgstr "" + + #: common.opt:2532 + #, no-c-format + msgid "-freorder-blocks-algorithm=[simple|stc]\tSet the used basic block reordering algorithm." +-msgstr "-freorder-blocks-algorithm=[simple|stc]\tВстановити використовуваний алгоритм перестановки базових блоків." ++msgstr "" + + #: common.opt:2545 + #, no-c-format + msgid "Reorder basic blocks and partition into hot and cold sections." +-msgstr "Переставити базові блоки та розбити на гарячі та холодні секції." ++msgstr "" + + #: common.opt:2549 + #, no-c-format + msgid "Reorder functions to improve code placement." +-msgstr "Переставити функції для поліпшення розміщення коду." ++msgstr "" + + #: common.opt:2553 + #, no-c-format + msgid "Add a common subexpression elimination pass after loop optimizations." +-msgstr "Додати прохід по видаленню спільних підвиразів після оптимізації циклів." ++msgstr "" + + #: common.opt:2561 + #, no-c-format + msgid "Disable optimizations that assume default FP rounding behavior." +-msgstr "Вимкнути оптимізації, які припускають поведінку округлення FP за замовчуванням." ++msgstr "" + + #: common.opt:2565 + #, no-c-format + msgid "Enable scheduling across basic blocks." +-msgstr "Увімкнути планування між базовими блоками." ++msgstr "" + + #: common.opt:2569 + #, no-c-format + msgid "Enable register pressure sensitive insn scheduling." +-msgstr "Увімкнути планування інструкцій, чутливе до тиску на реєстри." ++msgstr "" + + #: common.opt:2573 + #, no-c-format + msgid "Allow speculative motion of non-loads." +-msgstr "Дозволити спекулятивний рух не завантажувати." ++msgstr "" + + #: common.opt:2577 + #, no-c-format + msgid "Allow speculative motion of some loads." +-msgstr "Дозволити спекулятивний рух деяких завантажень." ++msgstr "" + + #: common.opt:2581 + #, no-c-format + msgid "Allow speculative motion of more loads." +-msgstr "Дозволити спекулятивний рух більшої кількості завантажень." ++msgstr "" + + #: common.opt:2585 + #, no-c-format + msgid "-fsched-verbose=\tSet the verbosity level of the scheduler." +-msgstr "-fsched-verbose=<число>\tВстановити рівень докладності планувальника." ++msgstr "" + + #: common.opt:2589 + #, no-c-format + msgid "If scheduling post reload, do superblock scheduling." +-msgstr "Якщо планування після перезавантаження, виконати планування суперблоків." ++msgstr "" + + #: common.opt:2597 + #, no-c-format + msgid "Reschedule instructions before register allocation." +-msgstr "Перепланувати інструкції перед розподілом реєстрів." ++msgstr "" + + #: common.opt:2601 + #, no-c-format + msgid "Reschedule instructions after register allocation." +-msgstr "Перепланувати інструкції після розподілу реєстрів." ++msgstr "" + + #: common.opt:2608 + #, no-c-format + msgid "Schedule instructions using selective scheduling algorithm." +-msgstr "Розкладання інструкцій з використанням алгоритму вибіркового планування." ++msgstr "" + + #: common.opt:2612 + #, no-c-format + msgid "Run selective scheduling after reload." +-msgstr "Виконати вибіркове планування після перезавантаження." ++msgstr "" + + #: common.opt:2616 + #, no-c-format + msgid "Run self-tests, using the given path to locate test files." +-msgstr "Виконати самоперевірку, використовуючи заданий шлях для пошуку файлів тестів." ++msgstr "" + + #: common.opt:2620 + #, no-c-format + msgid "Perform software pipelining of inner loops during selective scheduling." +-msgstr "Виконати програмне підпорядкування внутрішніх циклів під час вибіркового планування." ++msgstr "" + + #: common.opt:2624 + #, no-c-format + msgid "Perform software pipelining of outer loops during selective scheduling." +-msgstr "Виконати програмне підпорядкування зовнішніх циклів під час вибіркового планування." ++msgstr "" + + #: common.opt:2628 + #, no-c-format + msgid "Reschedule pipelined regions without pipelining." +-msgstr "Перепланувати області з підпорядкуванням без підпорядкування." ++msgstr "" + + #: common.opt:2632 + #, no-c-format + msgid "Allow interposing function (or variables) by ones with different semantics (or initializer) respectively by dynamic linker." +-msgstr "Дозволити взаємозаміну функцій (або змінних) тими, що мають різну семантику (або ініціалізатор), відповідно, за допомогою динамічного звʼязувача." ++msgstr "" + + #: common.opt:2638 + #, no-c-format + msgid "Allow premature scheduling of queued insns." +-msgstr "Дозволити передчасне планування в черзі інструкцій." ++msgstr "" + + #: common.opt:2642 + #, no-c-format + msgid "-fsched-stalled-insns=\tSet number of queued insns that can be prematurely scheduled." +-msgstr "-fsched-stalled-insns=<кількість>\tВстановити кількість інструкцій в черзі, які можуть бути передчасно заплановані." ++msgstr "" + + #: common.opt:2650 + #, no-c-format + msgid "Set dependence distance checking in premature scheduling of queued insns." +-msgstr "Встановити перевірку відстані залежності при передчасному плануванні інструкцій в черзі." ++msgstr "" + + #: common.opt:2654 + #, no-c-format + msgid "-fsched-stalled-insns-dep=\tSet dependence distance checking in premature scheduling of queued insns." +-msgstr "-fsched-stalled-insns-dep=<число>\tВстановити перевірку відстані залежності при передчасному плануванні інструкцій в черзі." ++msgstr "" + + #: common.opt:2658 + #, no-c-format + msgid "Enable the group heuristic in the scheduler." +-msgstr "Увімкнути групову евристику в планувальнику." ++msgstr "" + + #: common.opt:2662 + #, no-c-format + msgid "Enable the critical path heuristic in the scheduler." +-msgstr "Увімкнути евристику критичного шляху в планувальнику." ++msgstr "" + + #: common.opt:2666 + #, no-c-format + msgid "Enable the speculative instruction heuristic in the scheduler." +-msgstr "Увімкнути евристику спекулятивних інструкцій в планувальнику." ++msgstr "" + + #: common.opt:2670 + #, no-c-format + msgid "Enable the rank heuristic in the scheduler." +-msgstr "Увімкнути рангову евристику в планувальнику." ++msgstr "" + + #: common.opt:2674 + #, no-c-format + msgid "Enable the last instruction heuristic in the scheduler." +-msgstr "Увімкнути евристику останньої інструкції в планувальнику." ++msgstr "" + + #: common.opt:2678 + #, no-c-format + msgid "Enable the dependent count heuristic in the scheduler." +-msgstr "Увімкнути евристику підрахунку залежностей в планувальнику." ++msgstr "" + + #: common.opt:2682 + #, no-c-format + msgid "Access data in the same section from shared anchor points." +-msgstr "Отримання доступу до даних в одному розділі зі спільних точок якоря." ++msgstr "" + + #: common.opt:2694 + #, no-c-format + msgid "Turn on Redundant Extensions Elimination pass." +-msgstr "Увімкнути прохід для видалення зайвих розширень." ++msgstr "" + + #: common.opt:2698 + #, no-c-format + msgid "Show column numbers in diagnostics, when available. Default on." +-msgstr "Показувати номери стовпців у діагностиці, якщо доступно. За замовчуванням увімкнено." ++msgstr "" + + #: common.opt:2702 + #, no-c-format + msgid "Emit function prologues only before parts of the function that need it, rather than at the top of the function." +-msgstr "Видавати прологи функцій лише перед частинами функції, які цього потребують, а не на початку функції." ++msgstr "" + + #: common.opt:2707 + #, no-c-format + msgid "Shrink-wrap parts of the prologue and epilogue separately." +-msgstr "Зменшити розмір частин прологу та епілогу окремо." ++msgstr "" + + #: common.opt:2711 + #, no-c-format + msgid "Disable optimizations observable by IEEE signaling NaNs." +-msgstr "Вимкнути оптимізації, які можна спостерігати за допомогою IEEE сигнальних NaN." ++msgstr "" + + #: common.opt:2715 + #, no-c-format + msgid "Disable floating point optimizations that ignore the IEEE signedness of zero." +-msgstr "Вимкнути оптимізації з плаваючою комою, які не враховують знаковість нуля за стандартом IEEE." ++msgstr "" + + #: common.opt:2719 + #, no-c-format + msgid "Convert floating point constants to single precision constants." +-msgstr "Перетворити константи з плаваючою комою на константи одинарної точності." ++msgstr "" + + #: common.opt:2723 + #, no-c-format + msgid "Split lifetimes of induction variables when loops are unrolled." +-msgstr "Розділити тривалість індукційних змінних при розгортанні циклів." ++msgstr "" + + #: common.opt:2727 + #, no-c-format + msgid "Generate discontiguous stack frames." +-msgstr "Генерувати неперервні рамки стеку." ++msgstr "" + + #: common.opt:2731 + #, no-c-format + msgid "Split wide types into independent registers." +-msgstr "Розбити широкі типи на незалежні регістри." ++msgstr "" + + #: common.opt:2735 + #, no-c-format + msgid "Split wide types into independent registers earlier." +-msgstr "Розбити широкі типи на незалежні регістри раніше." ++msgstr "" + + #: common.opt:2739 + #, no-c-format + msgid "Enable backward propagation of use properties at the SSA level." +-msgstr "Увімкнути зворотне поширення властивостей використання на рівні SSA." ++msgstr "" + + #: common.opt:2743 + #, no-c-format + msgid "Optimize conditional patterns using SSA PHI nodes." +-msgstr "Оптимізувати умовні шаблони, використовуючи вузли SSA PHI." ++msgstr "" + + #: common.opt:2747 + #, no-c-format + msgid "Optimize amount of stdarg registers saved to stack at start of function." +-msgstr "Оптимізувати кількість регістрів stdarg, збережених у стеку на початку функції." ++msgstr "" + + #: common.opt:2751 + #, no-c-format + msgid "Apply variable expansion when loops are unrolled." +-msgstr "Застосувати розширення змінних при розгортанні циклів." ++msgstr "" + + #: common.opt:2755 + #, no-c-format + msgid "-fstack-check=[no|generic|specific]\tInsert stack checking code into the program." +-msgstr "-fstack-check=[no|generic|specific]\tВставити код перевірки стеку в програму." ++msgstr "" + + #: common.opt:2759 + #, no-c-format + msgid "Insert stack checking code into the program. Same as -fstack-check=specific." +-msgstr "Вставити код перевірки стеку в програму. Те саме, що й -fstack-check=specific." ++msgstr "" + + #: common.opt:2763 + #, no-c-format + msgid "Insert code to probe each page of stack space as it is allocated to protect from stack-clash style attacks." +-msgstr "Вставити код для перевірки кожної сторінки простору стеку під час його виділення, щоб захистити від атак типу stack-clash." ++msgstr "" + + #: common.opt:2771 + #, no-c-format + msgid "-fstack-limit-register=\tTrap if the stack goes past ." +-msgstr "-fstack-limit-register=<регістр>\tПерехопити, якщо стек виходить за межі <регістра>." ++msgstr "" + + #: common.opt:2775 + #, no-c-format + msgid "-fstack-limit-symbol=\tTrap if the stack goes past symbol ." +-msgstr "-fstack-limit-symbol=<імʼя>\tПерехопити, якщо стек виходить за межі символу <імʼя>." ++msgstr "" + + #: common.opt:2779 + #, no-c-format + msgid "Use propolice as a stack protection method." +-msgstr "Використовуйте propolice як метод захисту стеку." ++msgstr "" + + #: common.opt:2783 + #, no-c-format + msgid "Use a stack protection method for every function." +-msgstr "Використовуйте метод захисту стеку для кожної функції." ++msgstr "" + + #: common.opt:2787 + #, no-c-format + msgid "Use a smart stack protection method for certain functions." +-msgstr "Використовуйте розумний метод захисту стеку для певних функцій." ++msgstr "" + + #: common.opt:2791 + #, no-c-format + msgid "Use stack protection method only for functions with the stack_protect attribute." +-msgstr "Використовуйте метод захисту стеку лише для функцій з атрибутом stack_protect." ++msgstr "" + + #: common.opt:2795 + #, no-c-format + msgid "Output stack usage information on a per-function basis." +-msgstr "Виводити інформацію про використання стеку для кожної функції." ++msgstr "" + + #: common.opt:2807 + #, no-c-format + msgid "Assume strict aliasing rules apply." +-msgstr "Припустити, що застосовуються строгі правила псевдонімів." ++msgstr "" + + #: common.opt:2811 + #, no-c-format + msgid "Treat signed overflow as undefined. Negated as -fwrapv -fwrapv-pointer." +-msgstr "Трактувати переповнення зі знаком як невизначене. Заперечується як -fwrapv -fwrapv-pointer." ++msgstr "" + + #: common.opt:2815 + #, no-c-format + msgid "Implement __atomic operations via libcalls to legacy __sync functions." +-msgstr "Реалізувати операції __atomic через виклики libcalls до старих функцій __sync." ++msgstr "" + + #: common.opt:2819 + #, no-c-format + msgid "Check for syntax errors, then stop." +-msgstr "Перевірити наявність синтаксичних помилок, потім зупинитися." ++msgstr "" + + #: common.opt:2823 + #, no-c-format + msgid "Create data files needed by \"gcov\"." +-msgstr "Створити файли даних, необхідні для «gcov»." ++msgstr "" + + #: common.opt:2827 + #, no-c-format + msgid "Perform jump threading optimizations." +-msgstr "Виконати оптимізацію переходів." ++msgstr "" + + #: common.opt:2831 + #, no-c-format + msgid "Report the time taken by each compiler pass." +-msgstr "Повідомити час, затрачений на кожний прохід компілятора." ++msgstr "" + + #: common.opt:2835 + #, no-c-format + msgid "Record times taken by sub-phases separately." +-msgstr "Записувати час, затрачений окремо для підфаз." ++msgstr "" + + #: common.opt:2839 + #, no-c-format + msgid "-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]\tSet the default thread-local storage code generation model." +-msgstr "-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]\tВстановити модель генерації коду локального потокового сховища за замовчуванням." ++msgstr "" + + #: common.opt:2858 + #, no-c-format + msgid "Reorder top level functions, variables, and asms." +-msgstr "Переупорядкувати функції, змінні та asms верхнього рівня." ++msgstr "" + + #: common.opt:2862 + #, no-c-format + msgid "Perform superblock formation via tail duplication." +-msgstr "Виконати формування суперблоку за допомогою дублювання хвоста." ++msgstr "" + + #: common.opt:2866 + #, no-c-format + msgid "For targets that normally need trampolines for nested functions, always generate them instead of using descriptors." +-msgstr "Для цілей, які зазвичай потребують трампліни для вкладених функцій, завжди генерувати їх замість використання дескрипторів." ++msgstr "" + + #: common.opt:2874 + #, no-c-format + msgid "Assume floating-point operations can trap." +-msgstr "Припускати, що операції з плаваючою комою можуть спрацювати пасткою." ++msgstr "" + + #: common.opt:2878 + #, no-c-format + msgid "Trap for signed overflow in addition, subtraction and multiplication." +-msgstr "Ставити пастку на відʼємне переповнення при додаванні, відніманні та множенні." ++msgstr "" + + #: common.opt:2882 + #, no-c-format + msgid "Enable SSA-CCP optimization on trees." +-msgstr "Увімкнути оптимізацію SSA-CCP на деревах." ++msgstr "" + + #: common.opt:2886 + #, no-c-format + msgid "Enable SSA-BIT-CCP optimization on trees." +-msgstr "Увімкнути оптимізацію SSA-BIT-CCP на деревах." ++msgstr "" + + #: common.opt:2894 + #, no-c-format + msgid "Enable loop header copying on trees." +-msgstr "Увімкнути копіювання заголовка циклу на деревах." ++msgstr "" + + #: common.opt:2902 + #, no-c-format + msgid "Enable SSA coalescing of user variables." +-msgstr "Увімкнути злиття користувацьких змінних під час SSA-проходу." ++msgstr "" + + #: common.opt:2910 + #, no-c-format + msgid "Enable copy propagation on trees." +-msgstr "Увімкнути розповсюдження копій на деревах." ++msgstr "" + + #: common.opt:2918 + #, no-c-format + msgid "Transform condition stores into unconditional ones." +-msgstr "Перетворити умовні збереження в безумовні." ++msgstr "" + + #: common.opt:2922 + #, no-c-format + msgid "Perform conversions of switch initializations." +-msgstr "Виконати перетворення ініціалізацій перемикача." ++msgstr "" + + #: common.opt:2926 + #, no-c-format + msgid "Enable SSA dead code elimination optimization on trees." +-msgstr "Увімкнути оптимізацію видалення мертвого коду SSA на деревах." ++msgstr "" + + #: common.opt:2930 + #, no-c-format + msgid "Enable dominator optimizations." +-msgstr "Увімкнути оптимізацію домінаторів." ++msgstr "" + + #: common.opt:2934 + #, no-c-format + msgid "Enable tail merging on trees." +-msgstr "Увімкнути злиття хвостів на деревах." ++msgstr "" + + #: common.opt:2938 + #, no-c-format + msgid "Enable dead store elimination." +-msgstr "Увімкнути видалення мертвих збережень." ++msgstr "" + + #: common.opt:2942 + #, no-c-format + msgid "Enable forward propagation on trees." +-msgstr "Увімкнути пряме розповсюдження на деревах." ++msgstr "" + + #: common.opt:2946 + #, no-c-format + msgid "Enable Full Redundancy Elimination (FRE) on trees." +-msgstr "Увімкнути повне усунення зайвості (FRE) на деревах." ++msgstr "" + + #: common.opt:2950 + #, no-c-format + msgid "Enable string length optimizations on trees." +-msgstr "Увімкнути оптимізацію довжини рядків на деревах." ++msgstr "" + + #: common.opt:2954 + #, no-c-format + msgid "Detect paths that trigger erroneous or undefined behavior due to dereferencing a null pointer. Isolate those paths from the main control flow and turn the statement with erroneous or undefined behavior into a trap." +-msgstr "Виявляти шляхи, які спричиняють помилкову або невизначену поведінку через розіменування нульового вказівника. Відокремлюйте ці шляхи від основного потоку управління та перетворюйте оператор з помилковою або невизначеною поведінкою в пастку." ++msgstr "" + + #: common.opt:2960 + #, no-c-format + msgid "Detect paths that trigger erroneous or undefined behavior due to a null value being used in a way forbidden by a returns_nonnull or nonnull attribute. Isolate those paths from the main control flow and turn the statement with erroneous or undefined behavior into a trap." +-msgstr "Виявити шляхи, які спричиняють помилкову або невизначену поведінку через використання нульового значення таким чином, який заборонений атрибутом returns_nonnull або nonnull. Відокремити ці шляхи від основного потоку керування та перетворити оператор з помилковою або невизначеною поведінкою в пастку." ++msgstr "" + + #: common.opt:2967 + #, no-c-format + msgid "Enable loop distribution on trees." +-msgstr "Увімкнути розподіл петель на деревах." ++msgstr "" + + #: common.opt:2971 + #, no-c-format + msgid "Enable loop distribution for patterns transformed into a library call." +-msgstr "Увімкнути розподіл петель для шаблонів, перетворених у виклик бібліотеки." ++msgstr "" + + #: common.opt:2975 + #, no-c-format + msgid "Enable loop invariant motion on trees." +-msgstr "Увімкнути переміщення незмінних петель на деревах." ++msgstr "" + + #: common.opt:2983 + #, no-c-format + msgid "Create canonical induction variables in loops." +-msgstr "Створити канонічні змінні індукції в петлях." ++msgstr "" + + #: common.opt:2987 + #, no-c-format + msgid "Enable loop optimizations on tree level." +-msgstr "Увімкнути оптимізацію петель на рівні дерева." ++msgstr "" + + #: common.opt:2991 + #, no-c-format + msgid "-ftree-parallelize-loops=\tEnable automatic parallelization of loops." +-msgstr "-ftree-parallelize-loops=<кількість>\tУвімкнути автоматичну паралелізацію петель." ++msgstr "" + + #: common.opt:2995 + #, no-c-format + msgid "Enable hoisting loads from conditional pointers." +-msgstr "Увімкнути підняття завантажень з умовних вказівників." ++msgstr "" + + #: common.opt:2999 + #, no-c-format + msgid "Enable SSA-PRE optimization on trees." +-msgstr "Увімкнути оптимізацію SSA-PRE на деревах." ++msgstr "" + + #: common.opt:3003 + #, no-c-format + msgid "In SSA-PRE optimization on trees, enable partial-partial redundancy elimination." +-msgstr "У оптимізації SSA-PRE на деревах увімкнути часткову елімінацію часткової зайвості." ++msgstr "" + + #: common.opt:3007 + #, no-c-format + msgid "Perform function-local points-to analysis on trees." +-msgstr "Виконати аналіз точок доступу на рівні функцій для дерев." ++msgstr "" + + #: common.opt:3011 + #, no-c-format + msgid "Enable reassociation on tree level." +-msgstr "Увімкнути переасоціацію на рівні дерева." ++msgstr "" + + #: common.opt:3019 + #, no-c-format + msgid "Enable SSA code sinking on trees." +-msgstr "Увімкнути опускання коду SSA на деревах." ++msgstr "" + + #: common.opt:3023 + #, no-c-format + msgid "Perform straight-line strength reduction." +-msgstr "Виконати зменшення сили прямолінійного рядка." ++msgstr "" + + #: common.opt:3027 + #, no-c-format + msgid "Perform scalar replacement of aggregates." +-msgstr "Виконати заміну агрегатів скалярами." ++msgstr "" + + #: common.opt:3031 + #, no-c-format + msgid "Replace temporary expressions in the SSA->normal pass." +-msgstr "Замінити тимчасові вирази у проході SSA->normal." ++msgstr "" + + #: common.opt:3035 + #, no-c-format + msgid "Perform live range splitting during the SSA->normal pass." +-msgstr "Виконати розбиття активного діапазону під час проходу SSA->normal." ++msgstr "" + + #: common.opt:3039 + #, no-c-format + msgid "Perform Value Range Propagation on trees." +-msgstr "Виконати поширення діапазону значень на деревах." ++msgstr "" + + #: common.opt:3043 + #, no-c-format + msgid "Split paths leading to loop backedges." +-msgstr "Розбити шляхи, що ведуть до зворотних ребер циклу." ++msgstr "" + + #: common.opt:3047 + #, no-c-format + msgid "Assume common declarations may be overridden with ones with a larger trailing array." +-msgstr "Припустити, що загальні оголошення можуть бути перекриті тими, що мають більший заключний масив." ++msgstr "" + + #: common.opt:3052 + #, no-c-format + msgid "Compile whole compilation unit at a time." +-msgstr "Компілювати цілу одиницю компіляції за один раз." ++msgstr "" + + #: common.opt:3056 + #, no-c-format + msgid "Trap on __builtin_unreachable instead of using it for optimization." +-msgstr "Перехоплювати __builtin_unreachable замість використання його для оптимізації." ++msgstr "" + + #: common.opt:3060 + #, no-c-format + msgid "Perform loop unrolling when iteration count is known." +-msgstr "Виконувати розгортання циклу, коли відома кількість ітерацій." ++msgstr "" + + #: common.opt:3064 + #, no-c-format + msgid "Perform loop unrolling for all loops." +-msgstr "Виконувати розгортання циклу для всіх циклів." ++msgstr "" + + #: common.opt:3079 + #, no-c-format + msgid "Allow optimization for floating-point arithmetic which may change the result of the operation due to rounding." +-msgstr "Дозволити оптимізацію для арифметики з плаваючою комою, яка може змінити результат операції через округлення." ++msgstr "" + + #: common.opt:3084 + #, no-c-format + msgid "Same as -fassociative-math for expressions which include division." +-msgstr "Те саме, що й -fassociative-math для виразів, які включають ділення." ++msgstr "" + + #: common.opt:3092 + #, no-c-format + msgid "Allow math optimizations that may violate IEEE or ISO standards." +-msgstr "Дозволити математичні оптимізації, які можуть порушувати стандарти IEEE або ISO." ++msgstr "" + + #: common.opt:3096 + #, no-c-format + msgid "Perform loop unswitching." +-msgstr "Виконати розгалуження циклу." ++msgstr "" + + #: common.opt:3100 + #, no-c-format + msgid "Perform loop splitting." +-msgstr "Виконати розбиття циклу." ++msgstr "" + + #: common.opt:3104 + #, no-c-format + msgid "Version loops based on whether indices have a stride of one." +-msgstr "Версіонувати цикли в залежності від того, чи мають індекси крок одиниці." ++msgstr "" + + #: common.opt:3108 + #, no-c-format + msgid "Just generate unwind tables for exception handling." +-msgstr "Просто генерувати таблиці розгортання для обробки винятків." ++msgstr "" + + #: common.opt:3112 + #, no-c-format + msgid "Use the bfd linker instead of the default linker." +-msgstr "Використовувати лінкер bfd замість лінкера за замовчуванням." ++msgstr "" + + #: common.opt:3116 + #, no-c-format + msgid "Use the gold linker instead of the default linker." +-msgstr "Використовувати лінкер gold замість лінкера за замовчуванням." ++msgstr "" + + #: common.opt:3120 + #, no-c-format + msgid "Use the lld LLVM linker instead of the default linker." +-msgstr "Використовувати лінкер lld LLVM замість лінкера за замовчуванням." ++msgstr "" + + #: common.opt:3124 + #, no-c-format + msgid "Use the Modern linker (MOLD) linker instead of the default linker." +-msgstr "Використовувати лінкер Modern (MOLD) замість лінкера за замовчуванням." ++msgstr "" + + #: common.opt:3134 + #, no-c-format + msgid "Perform variable tracking." +-msgstr "Виконувати відстеження змінних." ++msgstr "" + + #: common.opt:3141 + #, no-c-format + msgid "Perform variable tracking by annotating assignments." +-msgstr "Виконувати відстеження змінних, анотуючи присвоєння." ++msgstr "" + + #: common.opt:3147 + #, no-c-format + msgid "Toggle -fvar-tracking-assignments." +-msgstr "Перемикнути -fvar-tracking-assignments." ++msgstr "" + + #: common.opt:3154 + #, no-c-format + msgid "Perform variable tracking and also tag variables that are uninitialized." +-msgstr "Виконувати відстеження змінних та позначати також змінні, які не ініціалізовані." ++msgstr "" + + #: common.opt:3159 + #, no-c-format + msgid "Enable vectorization on trees." +-msgstr "Увімкнути векторизацію на деревах." ++msgstr "" + + #: common.opt:3167 + #, no-c-format + msgid "Enable loop vectorization on trees." +-msgstr "Увімкнути векторизацію циклів на деревах." ++msgstr "" + + #: common.opt:3171 + #, no-c-format + msgid "Enable basic block vectorization (SLP) on trees." +-msgstr "Увімкнути векторизацію базових блоків (SLP) на деревах." ++msgstr "" + + #: common.opt:3175 + #, no-c-format + msgid "-fvect-cost-model=[unlimited|dynamic|cheap|very-cheap]\tSpecifies the cost model for vectorization." +-msgstr "-fvect-cost-model=[unlimited|dynamic|cheap|very-cheap]\tВказує модель вартості для векторизації." ++msgstr "" + + #: common.opt:3179 + #, no-c-format + msgid "-fsimd-cost-model=[unlimited|dynamic|cheap|very-cheap]\tSpecifies the vectorization cost model for code marked with a simd directive." +-msgstr "-fsimd-cost-model=[unlimited|dynamic|cheap|very-cheap]\tВказує модель вартості векторизації для коду, позначеного директивою simd." ++msgstr "" + + #: common.opt:3198 + #, no-c-format + msgid "Enables the dynamic vectorizer cost model. Preserved for backward compatibility." +-msgstr "Увімкнути динамічну модель вартості векторизатора. Зберігається для забезпечення сумісності з попередніми версіями." ++msgstr "" + + #: common.opt:3206 + #, no-c-format + msgid "Enable copy propagation of scalar-evolution information." +-msgstr "Увімкнути копіювання інформації про скалярну еволюцію." ++msgstr "" + + #: common.opt:3210 + #, no-c-format + msgid "-ftrivial-auto-var-init=[uninitialized|pattern|zero]\tAdd initializations to automatic variables." +-msgstr "-ftrivial-auto-var-init=[uninitialized|pattern|zero]\tДодати ініціалізацію до автоматичних змінних." ++msgstr "" + + #: common.opt:3232 + #, no-c-format + msgid "Add extra commentary to assembler output." +-msgstr "Додати додаткові коментарі до вихідного коду асемблера." ++msgstr "" + + #: common.opt:3236 + #, no-c-format + msgid "-fvisibility=[default|internal|hidden|protected]\tSet the default symbol visibility." +-msgstr "-fvisibility=[default|internal|hidden|protected]\tВстановити типову видимість символів." ++msgstr "" + + #: common.opt:3255 + #, no-c-format + msgid "Validate vtable pointers before using them." +-msgstr "Перевіряти вказівники на vtable перед використанням." ++msgstr "" + + #: common.opt:3271 + #, no-c-format + msgid "Output vtable verification counters." +-msgstr "Вивести лічильники перевірки vtable." ++msgstr "" + + #: common.opt:3275 + #, no-c-format + msgid "Output vtable verification pointer sets information." +-msgstr "Виведення інформації про набори вказівників перевірки vtable." ++msgstr "" + + #: common.opt:3279 + #, no-c-format + msgid "Use expression value profiles in optimizations." +-msgstr "Використовувати профілі значень виразів при оптимізації." ++msgstr "" + + #: common.opt:3283 + #, no-c-format + msgid "Construct webs and split unrelated uses of single variable." +-msgstr "Створення мереж та розбиття неспоріднених використань однієї змінної." ++msgstr "" + + #: common.opt:3287 + #, no-c-format + msgid "Enable conditional dead code elimination for builtin calls." +-msgstr "Увімкнути умовне видалення мертвого коду для викликів вбудованих функцій." ++msgstr "" + + #: common.opt:3291 + #, no-c-format + msgid "Perform whole program optimizations." +-msgstr "Виконати оптимізацію всього програмного коду." ++msgstr "" + + #: common.opt:3295 + #, no-c-format + msgid "Assume pointer overflow wraps around." +-msgstr "Припустити, що переповнення вказівника обгортається." ++msgstr "" + + #: common.opt:3299 + #, no-c-format + msgid "Assume signed arithmetic overflow wraps around." +-msgstr "Припустити, що переповнення знакової арифметики обгортається." ++msgstr "" + + #: common.opt:3303 + #, no-c-format + msgid "Put zero initialized data in the bss section." +-msgstr "Розмістити дані з нульовою ініціалізацією в розділі bss." ++msgstr "Розташувати ініціалізовані нулями дані у розділі bss." + + #: common.opt:3307 + #, no-c-format + msgid "Clear call-used registers upon function return." +-msgstr "Очищати використані регістри після повернення з функції." ++msgstr "" + + #: common.opt:3311 + #, no-c-format + msgid "Generate debug information in default format." +-msgstr "Генерувати інформацію для налагодження у форматі за замовчуванням." ++msgstr "Створити діагностичні дані у типовому форматі." + + #: common.opt:3315 + #, no-c-format + msgid "Assume assembler support for (DWARF2+) .loc directives." +-msgstr "Припускати підтримку асемблером директив .loc (DWARF2+)." ++msgstr "" + + #: common.opt:3319 + #, no-c-format + msgid "Assume assembler support for view in (DWARF2+) .loc directives." +-msgstr "Припускати підтримку асемблером перегляду в директивах .loc (DWARF2+)." ++msgstr "" + + #: common.opt:3339 + #, no-c-format + msgid "Record DW_AT_decl_column and DW_AT_call_column in DWARF." +-msgstr "Записати DW_AT_decl_column та DW_AT_call_column в DWARF." ++msgstr "" + + #: common.opt:3345 + #, no-c-format + msgid "Generate CTF debug information at default level." +-msgstr "Генерувати інформацію для налагодження CTF на рівні за замовчуванням." ++msgstr "" + + #: common.opt:3349 + #, no-c-format + msgid "Generate BTF debug information at default level." +-msgstr "Генерувати інформацію для налагодження BTF на рівні за замовчуванням." ++msgstr "" + + #: common.opt:3353 + #, no-c-format + msgid "Generate debug information in default version of DWARF format." +-msgstr "Генерувати інформацію для налагодження у форматі DWARF за замовчуванням." ++msgstr "" + + #: common.opt:3357 + #, no-c-format + msgid "Generate debug information in DWARF v2 (or later) format." +-msgstr "Генерувати інформацію для налагодження у форматі DWARF v2 (або пізніше)." ++msgstr "" + + #: common.opt:3361 + #, no-c-format + msgid "Use 32-bit DWARF format when emitting DWARF debug information." +-msgstr "Використовувати 32-бітний формат DWARF при випуску інформації для налагодження DWARF." ++msgstr "" + + #: common.opt:3365 + #, no-c-format + msgid "Use 64-bit DWARF format when emitting DWARF debug information." +-msgstr "Використовувати 64-бітний формат DWARF при випуску інформації для налагодження DWARF." ++msgstr "" + + #: common.opt:3369 + #, no-c-format + msgid "Generate debug information in default extended format." +-msgstr "Генерувати інформацію для налагодження у форматі за замовчуванням." ++msgstr "" + + #: common.opt:3373 + #, no-c-format + msgid "Generate extended entry point information for inlined functions." +-msgstr "Генерувати розширену інформацію про точки входу для вбудованих функцій." ++msgstr "" + + #: common.opt:3377 + #, no-c-format + msgid "Compute locview reset points based on insn length estimates." +-msgstr "Обчислювати точки скидання locview на основі оцінок довжини інструкцій." ++msgstr "" + + #: common.opt:3385 + #, no-c-format + msgid "Don't generate DWARF pubnames and pubtypes sections." +-msgstr "Не генерувати розділи DWARF pubnames та pubtypes." ++msgstr "" + + #: common.opt:3389 + #, no-c-format + msgid "Generate DWARF pubnames and pubtypes sections." +-msgstr "Генерувати розділи pubnames та pubtypes у форматі DWARF." ++msgstr "" + + #: common.opt:3393 + #, no-c-format + msgid "Generate DWARF pubnames and pubtypes sections with GNU extensions." +-msgstr "Генерувати розділи pubnames та pubtypes у форматі DWARF з розширеннями GNU." ++msgstr "" + + #: common.opt:3397 + #, no-c-format + msgid "Record gcc command line switches in DWARF DW_AT_producer." +-msgstr "Записати командні рядки gcc в DWARF DW_AT_producer." ++msgstr "" + + #: common.opt:3401 + #, no-c-format + msgid "Generate debug information in separate .dwo files." +-msgstr "Генерувати інформацію для налагодження у окремих файлах .dwo." ++msgstr "" + + #: common.opt:3413 + #, no-c-format + msgid "Emit progressive recommended breakpoint locations." +-msgstr "Виводити прогресивні рекомендовані місця зупинки." ++msgstr "" + + #: common.opt:3417 + #, no-c-format + msgid "Don't emit DWARF additions beyond selected version." +-msgstr "Не виводити додатки DWARF поза вибраною версією." ++msgstr "" + + #: common.opt:3421 + #, no-c-format + msgid "Add description attributes to some DWARF DIEs that have no name attribute." +-msgstr "Додавати атрибути опису до деяких DWARF DIE, які не мають атрибуту імені." ++msgstr "" + + #: common.opt:3425 + #, no-c-format + msgid "Toggle debug information generation." +-msgstr "Перемикнути генерацію інформації для налагодження." ++msgstr "" + + #: common.opt:3429 + #, no-c-format + msgid "Augment variable location lists with progressive views." +-msgstr "Розширити списки місцезнаходження змінних з прогресивними переглядами." ++msgstr "" + + #: common.opt:3436 + #, no-c-format + msgid "Generate debug information in VMS format." +-msgstr "Створити відлагоджувальну інформацію у форматі VMS." ++msgstr "" + + #: common.opt:3465 + #, no-c-format + msgid "Generate compressed debug sections." +-msgstr "Створити стиснуті розділи відлагоджувальної інформації." ++msgstr "" + + #: common.opt:3469 + #, no-c-format + msgid "-gz=\tGenerate compressed debug sections in format ." +-msgstr "-gz=<формат>\tСтворити стиснуті розділи відлагоджувальної інформації у форматі <формат>." ++msgstr "" + + #: common.opt:3476 + #, no-c-format + msgid "-iplugindir=\tSet to be the default plugin directory." +-msgstr "-iplugindir=<кат>\tВстановити <кат> як каталог за замовчуванням для плагінів." ++msgstr "" + + #: common.opt:3480 + #, no-c-format + msgid "-imultiarch \tSet to be the multiarch include subdirectory." +-msgstr "-imultiarch <кат>\tВстановити <кат> як підкаталог multiarch для включення." ++msgstr "" + + #: common.opt:3508 + #, no-c-format + msgid "-o \tPlace output into ." +-msgstr "-o <файл>\tЗберегти вихідні дані у файл <файл>." ++msgstr "" + + #: common.opt:3512 + #, no-c-format + msgid "Enable function profiling." +-msgstr "Увімкнути профілювання функцій." ++msgstr "" + + #: common.opt:3522 + #, no-c-format + msgid "Like -pedantic but issue them as errors." +-msgstr "Аналогічно -pedantic, але видає їх як помилки." ++msgstr "" + + #: common.opt:3562 + #, no-c-format + msgid "Do not display functions compiled or elapsed time." +-msgstr "Не показувати скомпільовані функції або час, що пройшов." ++msgstr "" + + #: common.opt:3594 + #, no-c-format + msgid "Enable verbose output." +-msgstr "Увімкнути розширений вивід." ++msgstr "Увімкнути докладне виведення." + + #: common.opt:3598 + #, no-c-format + msgid "Display the compiler's version." +-msgstr "Показувати версію компілятора." ++msgstr "" + + #: common.opt:3602 + #, no-c-format + msgid "Suppress warnings." +-msgstr "Приглушити попередження." ++msgstr "Придушити попередження." + + #: common.opt:3612 + #, no-c-format + msgid "Create a shared library." +-msgstr "Створити спільну бібліотеку." ++msgstr "Створити бібліотеку спільного використання." + + #: common.opt:3672 + #, no-c-format + msgid "Don't create a dynamically linked position independent executable." +-msgstr "Не створювати динамічно звʼязаний виконуваний файл з незалежним від положення кодом." ++msgstr "Не створювати динамічно скомпонований виконуваний файл з незалежним позиціюванням." + + #: common.opt:3676 + #, no-c-format + msgid "Create a dynamically linked position independent executable." +-msgstr "Створити динамічно звʼязаний виконуваний файл з незалежним від положення кодом." ++msgstr "Створити динамічно скомпонований виконуваний файл з незалежним позиціюванням." + + #: common.opt:3680 + #, no-c-format + msgid "Create a static position independent executable." +-msgstr "Створити статичний виконуваний файл з незалежним від положення кодом." ++msgstr "Створити статичний виконуваний файл з незалежним позиціюванням." + + #: common.opt:3687 + #, no-c-format + msgid "Use caller save register across calls if possible." +-msgstr "Використовувати реєстр збереження викликача під час викликів, якщо це можливо." ++msgstr "" + + #: params.opt:27 + #, no-c-format + msgid "Loops iterating at least selected number of iterations will get loop alignment." +-msgstr "Цикли, які ітерують принаймні вибрану кількість разів, отримають вирівнювання циклу." ++msgstr "" + + #: params.opt:31 + #, no-c-format + msgid "Select fraction of the maximal frequency of executions of basic block in function given basic block get alignment." +-msgstr "Виберати частку максимальної частоти виконання базового блоку в функції, якщо базовий блок отримує вирівнювання." ++msgstr "" + + #: params.opt:35 + #, no-c-format + msgid "Enable asan globals protection." +-msgstr "Увімкнути захист глобальних змінних asan." ++msgstr "" + + #: params.opt:39 + #, no-c-format + msgid "Enable asan allocas/VLAs protection." +-msgstr "Увімкнути захист asan для allocas/VLAs." ++msgstr "" + + #: params.opt:43 + #, no-c-format + msgid "Enable asan load operations protection." +-msgstr "Увімкнути захист asan для операцій завантаження." ++msgstr "" + + #: params.opt:47 + #, no-c-format + msgid "Enable asan store operations protection." +-msgstr "Увімкнути захист операцій збереження asan." ++msgstr "" + + #: params.opt:51 + #, no-c-format + msgid "Use callbacks instead of inline code if number of accesses in function becomes greater or equal to this number." +-msgstr "Використовувати зворотні виклики замість вбудованого коду, якщо кількість доступів у функції стає більшою або рівною цьому числу." ++msgstr "" + + #: params.opt:55 + #, no-c-format + msgid "Prefix calls to memcpy, memset and memmove with __asan_ or __hwasan_ for -fsanitize=kernel-address or -fsanitize=kernel-hwaddress." +-msgstr "Додати префікс __asan_ або __hwasan_ до викликів memcpy, memset та memmove для -fsanitize=kernel-address або -fsanitize=kernel-hwaddress." ++msgstr "" + + #: params.opt:59 + #, no-c-format + msgid "Enable asan builtin functions protection." +-msgstr "Увімкнути захист вбудованих функцій asan." ++msgstr "" + + #: params.opt:63 + #, no-c-format + msgid "Enable asan stack protection." +-msgstr "Увімкнути захист стеку asan." ++msgstr "" + + #: params.opt:67 + #, no-c-format + msgid "Enable asan detection of use-after-return bugs." +-msgstr "Увімкнути виявлення помилок використання після повернення asan." ++msgstr "" + + #: params.opt:71 + #, no-c-format + msgid "Enable hwasan instrumentation of statically sized stack-allocated variables." +-msgstr "Увімкнути інструменталізацію hwasan для статично розміщених змінних, виділених у стеку." ++msgstr "" + + #: params.opt:75 + #, no-c-format + msgid "Use random base tag for each frame, as opposed to base always zero." +-msgstr "Використовувати випадковий базовий тег для кожної фрейму, на відміну від постійного значення нуль." ++msgstr "" + + #: params.opt:79 + #, no-c-format + msgid "Enable hwasan instrumentation of allocas/VLAs." +-msgstr "Увімкнути інструменталізацію hwasan для allocas/VLAs." ++msgstr "" + + #: params.opt:83 + #, no-c-format + msgid "Enable hwasan instrumentation of load operations." +-msgstr "Увімкнути інструменталізацію hwasan для операцій завантаження." ++msgstr "" + + #: params.opt:87 + #, no-c-format + msgid "Enable hwasan instrumentation of store operations." +-msgstr "Увімкнути інструменталізацію hwasan для операцій збереження." ++msgstr "" + + #: params.opt:91 + #, no-c-format + msgid "Enable hwasan instrumentation of builtin functions." +-msgstr "Увімкнути інструментування вбудованих функцій hwasan." ++msgstr "Увімкнути укомплектування HWASAN для вбудованих функцій." + + #: params.opt:95 + #, no-c-format +@@ -15699,1264 +15720,1264 @@ msgstr "Середня кількість ітерацій циклу." + #: params.opt:99 + #, no-c-format + msgid "Maximum number of bits for which we avoid creating FMAs." +-msgstr "Максимальна кількість бітів, для яких ми уникнемо створення FMAs." ++msgstr "" + + #: params.opt:103 + #, no-c-format + msgid "Set the estimated probability in percentage for builtin expect. The default value is 90% probability." +-msgstr "Встановити приблизну ймовірність у відсотках для вбудованої функції expect. Значення за замовчуванням - ймовірність 90%." ++msgstr "" + + #: params.opt:107 + #, no-c-format + msgid "The maximum length of a constant string for a builtin string cmp call eligible for inlining. The default value is 3." +-msgstr "Максимальна довжина константного рядка для вбудованого виклику порівняння рядків, який може бути вбудованим. Значення за замовчуванням - 3." ++msgstr "" + + #: params.opt:111 + #, no-c-format + msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine." +-msgstr "Мінімальна кількість різних значень, для яких краще використовувати таблицю переходів замість дерева умовних гілок, якщо 0, використовувати значення за замовчуванням для машини." ++msgstr "" + + #: params.opt:115 + #, no-c-format + msgid "Probability that COMDAT function will be shared with different compilation unit." +-msgstr "Ймовірність, що функція COMDAT буде спільно використовуватися з різними одиницями компіляції." ++msgstr "" + + #: params.opt:119 + #, no-c-format + msgid "Maximum number of namespaces to search for alternatives when name lookup fails." +-msgstr "Максимальна кількість просторів імен для пошуку альтернатив, коли пошук імені не вдається." ++msgstr "" + + #: params.opt:123 + #, no-c-format + msgid "Maximum number of queries into the alias oracle per store." +-msgstr "Максимальна кількість запитів до оракула псевдонімів на один обʼєкт зберігання." ++msgstr "" + + #: params.opt:127 + #, no-c-format + msgid "Maximum size (in bytes) of objects tracked bytewise by dead store elimination." +-msgstr "Максимальний розмір (у байтах) обʼєктів, відстежуваних по байтах при видаленні мертвих зберігань." ++msgstr "" + + #: params.opt:131 + #, no-c-format + msgid "Maximal estimated growth of function body caused by early inlining of single call." +-msgstr "Максимальне приблизне збільшення тіла функції, спричинене раннім включенням одного виклику." ++msgstr "" + + #: params.opt:135 + #, no-c-format + msgid "Maximum number of basic blocks before EVRP uses a sparse cache." +-msgstr "Максимальна кількість базових блоків, перед тим як EVRP використовує розріджений кеш." ++msgstr "" + + #: params.opt:139 + #, no-c-format + msgid "Maximum number of outgoing edges in a switch before EVRP will not process it." +-msgstr "Максимальна кількість вихідних ребер у перемикачі, перед тим як EVRP не буде обробляти його." ++msgstr "" + + #: params.opt:143 + #, no-c-format + msgid "Scale factor to apply to the number of statements in a threading path crossing a loop backedge when comparing to max-jump-thread-duplication-stmts." +-msgstr "Коефіцієнт масштабування, який застосовується до кількості операторів у шляху потоку, який перетинає зворотнє ребро петлі при порівнянні з max-jump-thread-duplication-stmts." ++msgstr "" + + #: params.opt:147 + #, no-c-format + msgid "The threshold ratio of critical edges execution count that permit performing redundancy elimination after reload." +-msgstr "Порогове співвідношення кількості виконання критичних ребер, яке дозволяє виконувати усунення зайвості після перезавантаження." ++msgstr "" + + #: params.opt:151 + #, no-c-format + msgid "The threshold ratio for performing partial redundancy elimination after reload." +-msgstr "Порогове співвідношення для виконання часткового усунення зайвості після перезавантаження." ++msgstr "" + + #: params.opt:155 + #, no-c-format + msgid "Scaling factor in calculation of maximum distance an expression can be moved by GCSE optimizations." +-msgstr "Коефіцієнт масштабування при розрахунку максимальної відстані, на яку вираз може бути переміщений оптимізаціями GCSE." ++msgstr "" + + #: params.opt:159 + #, no-c-format + msgid "Cost at which GCSE optimizations will not constraint the distance an expression can travel." +-msgstr "Вартість, при якій оптимізації GCSE не обмежуватимуть відстань, на яку може переміститися вираз." ++msgstr "" + + #: params.opt:163 + #, no-c-format + msgid "Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap." +-msgstr "Мінімальне розширення купи, щоб спровокувати збірку сміття, відсоток від загального розміру купи." ++msgstr "" + + #: params.opt:167 + #, no-c-format + msgid "Minimum heap size before we start collecting garbage, in kilobytes." +-msgstr "Мінімальний розмір купи перед початком збору сміття, у кілобайтах." ++msgstr "" + + #: params.opt:171 + #, no-c-format + msgid "The number of executions of a basic block which is considered hot. The parameter is used only in GIMPLE FE." +-msgstr "Кількість виконань базового блоку, який вважається гарячим. Параметр використовується лише в GIMPLE FE." ++msgstr "" + + #: params.opt:175 + #, no-c-format + msgid "Whether codegen errors should be ICEs when -fchecking." +-msgstr "Чи повинні помилки codegen бути ICE, коли -fchecking." ++msgstr "" + + #: params.opt:179 + #, no-c-format + msgid "Maximum number of arrays per SCoP." +-msgstr "Максимальна кількість масивів на один SCoP." ++msgstr "" + + #: params.opt:183 + #, no-c-format + msgid "Maximum number of parameters in a SCoP." +-msgstr "Максимальна кількість параметрів в SCoP." ++msgstr "" + + #: params.opt:187 + #, no-c-format + msgid "The number of elements for which hash table verification is done for each searched element." +-msgstr "Кількість елементів, для яких виконується перевірка хеш-таблиці для кожного шуканого елемента." ++msgstr "" + + #: params.opt:191 + #, no-c-format + msgid "The denominator n of fraction 1/n of the maximal execution count of a basic block in the entire program that a basic block needs to at least have in order to be considered hot (used in non-LTO mode)." +-msgstr "Знаменник n дробу 1/n максимальної кількості виконань базового блоку в усій програмі, який базовий блок повинен мати, щоб вважатися гарячим (використовується в режимі non-LTO)." ++msgstr "" + + #: params.opt:195 + #, no-c-format + msgid "The number of most executed permilles of the profiled execution of the entire program to which the execution count of a basic block must be part of in order to be considered hot (used in LTO mode)." +-msgstr "Кількість найбільш виконуваних промілеїв профільованого виконання всієї програми, до яких повинна належати кількість виконань базового блоку, щоб вважати його гарячим (використовується в режимі LTO)." ++msgstr "" + + #: params.opt:199 + #, no-c-format + msgid "The denominator n of fraction 1/n of the execution frequency of the entry block of a function that a basic block of this function needs to at least have in order to be considered hot." +-msgstr "Знаменник n дробу 1/n частоти виконання вхідного блоку функції, який базовий блок цієї функції повинен мати принаймні, щоб вважатися гарячим." ++msgstr "" + + #: params.opt:203 + #, no-c-format + msgid "The scale (in percents) applied to inline-insns-single and auto limits when heuristics hints that inlining is very profitable." +-msgstr "Масштаб (у відсотках), який застосовується до лімітів inline-insns-single та auto, коли евристика натякає на те, що вбудовування є дуже прибутковим." ++msgstr "" + + #: params.opt:207 + #, no-c-format + msgid "The minimal estimated speedup allowing inliner to ignore inline-insns-single and inline-insns-auto." +-msgstr "Мінімальне приблизне прискорення, яке дозволяє інлайнеру ігнорувати inline-insns-single та inline-insns-auto." ++msgstr "" + + #: params.opt:211 + #, no-c-format + msgid "How much can given compilation unit grow because of the inlining (in percent)." +-msgstr "На скільки може зрости дана компіляційна одиниця через вбудовування (у відсотках)." ++msgstr "" + + #: params.opt:215 + #, no-c-format + msgid "The upper bound for sharing integer constants." +-msgstr "Верхня межа для спільного використання цілих констант." ++msgstr "" + + #: params.opt:219 + #, no-c-format + msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone." +-msgstr "Поріг оцінки можливості ipa-cp, який все ще вважається корисним для клонування." ++msgstr "" + + #: params.opt:223 + #, no-c-format + msgid "Compile-time bonus IPA-CP assigns to candidates which make loop bounds or strides known." +-msgstr "Бонус на етапі компіляції, який IPA-CP надає кандидатам, які роблять межі циклу або кроки відомими." ++msgstr "" + + #: params.opt:227 + #, no-c-format + msgid "Maximum depth of recursive cloning for self-recursive function." +-msgstr "Максимальна глибина рекурсивного клонування для саморекурсивної функції." ++msgstr "" + + #: params.opt:231 + #, no-c-format + msgid "Recursive cloning only when the probability of call being executed exceeds the parameter." +-msgstr "Рекурсивне клонування тільки тоді, коли ймовірність виконання виклику перевищує параметр." ++msgstr "" + + #: params.opt:235 + #, no-c-format + msgid "When propagating IPA-CP effect estimates, multiply frequencies of recursive edges that bring back an unchanged value by this factor." +-msgstr "При поширенні оцінок ефекту IPA-CP, множте частоти рекурсивних ребер, які повертають незмінне значення, на цей множник." ++msgstr "" + + #: params.opt:239 + #, no-c-format + msgid "Percentage penalty the recursive functions will receive when they are evaluated for cloning." +-msgstr "Відсоткове покарання, яке рекурсивні функції отримають при оцінці для клонування." ++msgstr "" + + #: params.opt:243 + #, no-c-format + msgid "Percentage penalty functions containing a single call to another function will receive when they are evaluated for cloning." +-msgstr "Відсоткове покарання, яке функції, що містять один виклик іншої функції, отримають при оцінці для клонування." ++msgstr "" + + #: params.opt:247 + #, no-c-format + msgid "How much can given compilation unit grow because of the interprocedural constant propagation (in percent)." +-msgstr "На скільки може збільшитися задана компіляційна одиниця через міжпроцедурну поширення констант (у відсотках)." ++msgstr "" + + #: params.opt:251 + #, no-c-format + msgid "The size of translation unit that IPA-CP pass considers large." +-msgstr "Розмір перекладної одиниці, який прохід IPA-CP вважає великим." ++msgstr "" + + #: params.opt:255 + #, no-c-format + msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation." +-msgstr "Максимальний розмір списку значень, повʼязаних з кожним параметром для міжпроцедурного поширення констант." ++msgstr "" + + #: params.opt:259 + #, no-c-format + msgid "When using profile feedback, use the edge at this percentage position in frequncy histogram as the bases for IPA-CP heuristics." +-msgstr "При використанні профілю зворотного звʼязку, використовуйте ребро на цій відсотковій позиції в гістограмі частот як основу для евристик IPA-CP." ++msgstr "" + + #: params.opt:263 + #, no-c-format + msgid "Maximum number of statements visited during jump function offset discovery." +-msgstr "Максимальна кількість відвідуваних операторів під час виявлення зміщення функції переходу." ++msgstr "" + + #: params.opt:267 + #, no-c-format + msgid "Maximum number of statements that will be visited by IPA formal parameter analysis based on alias analysis in any given function." +-msgstr "Максимальна кількість операторів, які будуть відвідані аналізом формальних параметрів IPA на основі аналізу псевдонімів у будь-якій заданій функції." ++msgstr "" + + #: params.opt:271 + #, no-c-format + msgid "Maximum number of aggregate content items for a parameter in jump functions and lattices." +-msgstr "Максимальна кількість елементів агрегатного вмісту для параметра в функціях переходу та решітках." ++msgstr "" + + #: params.opt:275 + #, no-c-format + msgid "Maximum number of operations in a parameter expression that can be handled by IPA analysis." +-msgstr "Максимальна кількість операцій у виразі параметра, які можуть бути оброблені аналізом IPA." ++msgstr "" + + #: params.opt:279 + #, no-c-format + msgid "Maximum number of different predicates used to track properties of loops in IPA analysis." +-msgstr "Максимальна кількість різних предикатів, що використовуються для відстеження властивостей циклів у аналізі IPA." ++msgstr "" + + #: params.opt:283 + #, no-c-format + msgid "Maximal number of boundary endpoints of case ranges of switch statement used during IPA function summary generation." +-msgstr "Максимальна кількість кінцевих точок границь діапазонів вказівок «case» в операторі «switch», які використовуються під час генерації підсумку функції IPA." ++msgstr "" + + #: params.opt:287 + #, no-c-format + msgid "Minimum probability (in percent) of dereferencing of a function pointer parameter for it to be considered for replacement with simple values." +-msgstr "Мінімальна ймовірність (у відсотках) розіменування параметра вказівника на функцію, щоб вважати його для заміни простими значеннями." ++msgstr "" + + #: params.opt:291 + #, no-c-format + msgid "Maximum pieces that IPA-SRA tracks per formal parameter, as a consequence, also the maximum number of replacements of a formal parameter." +-msgstr "Максимальна кількість шматків, які відстежує IPA-SRA для кожного формального параметра, внаслідок чого також максимальна кількість замін формального параметра." ++msgstr "" + + #: params.opt:295 + #, no-c-format + msgid "Maximum allowed growth of total size of new parameters that ipa-sra replaces a pointer to an aggregate with." +-msgstr "Максимально допустиме збільшення загального розміру нових параметрів, які ipa-sra замінює вказівником на агрегат." ++msgstr "" + + #: params.opt:299 + #, no-c-format + msgid "Additional maximum allowed growth of total size of new parameters that ipa-sra replaces a pointer to an aggregate with, if it points to a local variable that the caller only writes to and passes it as an argument to functions." +-msgstr "Додаткове максимально допустиме збільшення загального розміру нових параметрів, які ipa-sra замінює вказівником на агрегат, якщо він вказує на локальну змінну, яку викликач тільки записує і передає як аргумент до функцій." ++msgstr "" + + #: params.opt:303 + #, no-c-format + msgid "The number of registers in each class kept unused by loop invariant motion." +-msgstr "Кількість регістрів у кожному класі, які залишаються не використаними при руху незмінних циклів." ++msgstr "" + + #: params.opt:307 + #, no-c-format + msgid "Max size of conflict table in MB." +-msgstr "Максимальний розмір таблиці конфліктів в МБ." ++msgstr "" + + #: params.opt:311 + #, no-c-format + msgid "Approximate function insn number in 1K units triggering simple local RA." +-msgstr "Приблизна кількість інструкцій функції в одиницях 1K, що спричиняє просту локальну RA." ++msgstr "" + + #: params.opt:315 + #, no-c-format + msgid "Max loops number for regional RA." +-msgstr "Максимальна кількість циклів для регіональної RA." ++msgstr "" + + #: params.opt:319 + #, no-c-format + msgid "Control ira to consider matching constraint (duplicated operand number) heavily in all available alternatives for preferred register class. If it is set as zero, it means ira only respects the matching constraint when it's in the only available alternative with an appropriate register class. Otherwise, it means ira will check all available alternatives for preferred register class even if it has found some choice with an appropriate register class and respect the found qualified matching constraint." +-msgstr "Контролює, щоб IRA сильно враховувала відповідні обмеження (повторюване число операндів) у всіх доступних альтернативах для пріоритетного класу регістрів. Якщо встановлено значення нуль, це означає, що IRA враховує відповідні обмеження лише тоді, коли вона є єдиною доступною альтернативою з відповідним класом регістрів. В іншому випадку це означає, що IRA перевірить всі доступні альтернативи для пріоритетного класу регістрів, навіть якщо вона знайшла деякий вибір з відповідним класом регістрів і врахує знайдене відповідне обмеження." ++msgstr "" + + #: params.opt:323 + #, no-c-format + msgid "If number of candidates in the set is smaller, we always try to remove unused ivs during its optimization." +-msgstr "Якщо кількість кандидатів у наборі менша, ми завжди намагаємося видалити невикористані ivs під час їх оптимізації." ++msgstr "" + + #: params.opt:327 + #, no-c-format + msgid "Bound on number of candidates below that all candidates are considered in iv optimizations." +-msgstr "Межа кількості кандидатів, нижче якої всі кандидати вважаються в оптимізації iv." ++msgstr "" + + #: params.opt:331 + #, no-c-format + msgid "Bound on number of iv uses in loop optimized in iv optimizations." +-msgstr "Межа кількості використань iv в оптимізованій петлі в оптимізації iv." ++msgstr "" + + #: params.opt:335 + #, no-c-format + msgid "The maximum code size growth ratio when expanding into a jump table (in percent). The parameter is used when optimizing for size." +-msgstr "Максимальний відсоток зростання розміру коду при розширенні в таблицю переходів. Параметр використовується при оптимізації за розміром." ++msgstr "" + + #: params.opt:339 + #, no-c-format + msgid "The maximum code size growth ratio when expanding into a jump table (in percent). The parameter is used when optimizing for speed." +-msgstr "Максимальний відсоток зростання розміру коду при розширенні в таблицю переходів. Параметр використовується при оптимізації за швидкістю." ++msgstr "" + + #: params.opt:343 + #, no-c-format + msgid "The size of L1 cache line." +-msgstr "Розмір лінії кешу L1." ++msgstr "" + + #: params.opt:347 + #, no-c-format + msgid "The minimum recommended offset between two concurrently-accessed objects to avoid additional performance degradation due to contention introduced by the implementation. Typically the L1 cache line size, but can be larger to accommodate a variety of target processors with different cache line sizes. C++17 code might use this value in structure layout, but is strongly discouraged from doing so in public ABIs." +-msgstr "Мінімально рекомендований зсув між двома обʼєктами, на які одночасно здійснюється доступ, щоб уникнути додаткового зниження продуктивності через конфлікти, викликані реалізацією. Зазвичай це розмір лінії кешу L1, але може бути більшим, щоб врахувати різні розміри ліній кешу для різних цільових процесорів. Код C++17 може використовувати це значення в структурному розташуванні, але це настійно не рекомендується робити в публічних ABIs." ++msgstr "" + + #: params.opt:356 + #, no-c-format + msgid "The maximum recommended size of contiguous memory occupied by two objects accessed with temporal locality by concurrent threads. Typically the L1 cache line size, but can be smaller to accommodate a variety of target processors with different cache line sizes." +-msgstr "Максимально рекомендований розмір послідовної памʼяті, яку займають два обʼєкти, на які одночасно здійснюється доступ з тимчасовою локальністю потоків. Зазвичай це розмір лінії кешу L1, але може бути меншим, щоб врахувати різні розміри ліній кешу для різних цільових процесорів." ++msgstr "" + + #: params.opt:363 + #, no-c-format + msgid "The size of L1 cache." +-msgstr "Розмір кешу L1." ++msgstr "" + + #: params.opt:367 + #, no-c-format + msgid "The size of L2 cache." +-msgstr "Розмір кешу L2." ++msgstr "" + + #: params.opt:371 + #, no-c-format + msgid "Maximal growth due to inlining of large function (in percent)." +-msgstr "Максимальне зростання внаслідок вбудовування великої функції (у відсотках)." ++msgstr "" + + #: params.opt:375 + #, no-c-format + msgid "The size of function body to be considered large." +-msgstr "Розмір тіла функції, яке вважається великим." ++msgstr "" + + #: params.opt:379 + #, no-c-format + msgid "The size of stack frame to be considered large." +-msgstr "Розмір стекової рамки, який вважається великим." ++msgstr "" + + #: params.opt:383 + #, no-c-format + msgid "Maximal stack frame growth due to inlining (in percent)." +-msgstr "Максимальне зростання стекової рамки внаслідок вбудовування (у відсотках)." ++msgstr "" + + #: params.opt:387 + #, no-c-format + msgid "The size of translation unit to be considered large." +-msgstr "Розмір одиниці перекладу, який вважається великим." ++msgstr "" + + #: params.opt:391 + #, no-c-format + msgid "Maximum number of concurrently open C++ module files when lazy loading." +-msgstr "Максимальна кількість одночасно відкритих файлів модулів C++ при лінивому завантаженні." ++msgstr "" + + #: params.opt:395 + #, no-c-format + msgid "The minimum cost of an expensive expression in the loop invariant motion." +-msgstr "Мінімальна вартість дорогого виразу в незмінному русі циклу." ++msgstr "" + + #: params.opt:399 + #, no-c-format + msgid "True if a non-short-circuit operation is optimal." +-msgstr "True, якщо некороткозамкнена операція є оптимальною." ++msgstr "" + + #: params.opt:403 + #, no-c-format + msgid "Size of tiles for loop blocking." +-msgstr "Розмір блоків для блокування циклу." ++msgstr "" + + #: params.opt:407 + #, no-c-format + msgid "The maximum number of stmts in loop nest for loop interchange." +-msgstr "Максимальна кількість операторів у вкладеному циклі для обміну циклів." ++msgstr "" + + #: params.opt:411 + #, no-c-format + msgid "The minimum stride ratio for loop interchange to be profitable." +-msgstr "Мінімальне співвідношення кроків, за якого обмін циклів є прибутковим." ++msgstr "" + + #: params.opt:415 + #, no-c-format + msgid "Max basic blocks number in loop for loop invariant motion." +-msgstr "Максимальна кількість основних блоків у циклі для переміщення незмінних частин циклу." ++msgstr "" + + #: params.opt:419 + #, no-c-format + msgid "Maximum number of datarefs in loop for building loop data dependencies." +-msgstr "Максимальна кількість посилань на дані у циклі для побудови залежностей даних циклу." ++msgstr "" + + #: params.opt:423 + #, no-c-format + msgid "The maximum number of instructions in an inner loop that is being considered for versioning." +-msgstr "Максимальна кількість інструкцій у внутрішньому циклі, який розглядається для версіювання." ++msgstr "" + + #: params.opt:427 + #, no-c-format + msgid "The maximum number of instructions in an outer loop that is being considered for versioning, on top of the instructions in inner loops." +-msgstr "Максимальна кількість інструкцій у зовнішній петлі, яка розглядається для версіонування, на основі інструкцій у внутрішніх петлях." ++msgstr "" + + #: params.opt:431 + #, no-c-format + msgid "Minimal fall-through edge probability in percentage used to add BB to inheritance EBB in LRA." +-msgstr "Мінімальна ймовірність падіння краю у відсотках, яка використовується для додавання BB до успадкованого EBB у LRA." ++msgstr "" + + #: params.opt:435 + #, no-c-format + msgid "The max number of reload pseudos which are considered during spilling a non-reload pseudo." +-msgstr "Максимальна кількість псевдо-перезавантажень, які враховуються під час виливання псевдо-перезавантаження, яке не є перезавантаженням." ++msgstr "" + + #: params.opt:439 + #, no-c-format + msgid "Maximal size of a partition for LTO (in estimated instructions)." +-msgstr "Максимальний розмір розділу для LTO (у приблизних інструкціях)." ++msgstr "" + + #: params.opt:443 + #, no-c-format + msgid "maximal number of LTO partitions streamed in parallel." +-msgstr "максимальна кількість паралельно транслюваних розділів LTO." ++msgstr "" + + #: params.opt:447 + #, no-c-format + msgid "Minimal size of a partition for LTO (in estimated instructions)." +-msgstr "Мінімальний розмір розділу для LTO (у приблизних інструкціях)." ++msgstr "" + + #: params.opt:451 + #, no-c-format + msgid "Number of partitions the program should be split to." +-msgstr "Кількість розділів, на які програма повинна бути розбита." ++msgstr "" + + #: params.opt:455 + #, no-c-format + msgid "The maximum number of instructions to consider to unroll in a loop on average." +-msgstr "Максимальна кількість інструкцій, які слід розглянути для розгортання в середньому в циклі." ++msgstr "" + + #: params.opt:459 + #, no-c-format + msgid "The maximum number of insns combine tries to combine." +-msgstr "Максимальна кількість спроб комбінування інструкцій." ++msgstr "" + + #: params.opt:463 + #, no-c-format + msgid "The maximum depth of a loop nest we completely peel." +-msgstr "Максимальна глибина вкладеного циклу, який ми повністю розгортаємо." ++msgstr "" + + #: params.opt:467 + #, no-c-format + msgid "The maximum number of peelings of a single loop that is peeled completely." +-msgstr "Максимальна кількість розгортань одного циклу, який повністю розгортається." ++msgstr "" + + #: params.opt:471 + #, no-c-format + msgid "The maximum number of insns of a completely peeled loop." +-msgstr "Максимальна кількість інструкцій повністю розгорнутого циклу." ++msgstr "" + + #: params.opt:475 + #, no-c-format + msgid "The maximum number of incoming edges to consider for crossjumping." +-msgstr "Максимальна кількість вхідних ребер, які слід враховувати для перескоку." ++msgstr "" + + #: params.opt:479 + #, no-c-format + msgid "The maximum instructions CSE process before flushing." +-msgstr "Максимальна кількість інструкцій, яку CSE обробляє перед очищенням." ++msgstr "" + + #: params.opt:483 + #, no-c-format + msgid "The maximum length of path considered in cse." +-msgstr "Максимальна довжина шляху, який розглядається в cse." ++msgstr "" + + #: params.opt:487 + #, no-c-format + msgid "The maximum memory locations recorded by cselib." +-msgstr "Максимальна кількість місць памʼяті, які записуються cselib." ++msgstr "" + + #: params.opt:491 + #, no-c-format + msgid "Max. count of debug markers to expand or inline." +-msgstr "Максимальна кількість маркерів відлагодження для розширення або вбудовування." ++msgstr "" + + #: params.opt:495 + #, no-c-format + msgid "The maximum number of instructions to consider to fill a delay slot." +-msgstr "Максимальна кількість інструкцій, яку слід враховувати для заповнення затримки." ++msgstr "" + + #: params.opt:499 + #, no-c-format + msgid "The maximum number of instructions to consider to find accurate live register information." +-msgstr "Максимальна кількість інструкцій, яку слід враховувати для пошуку точної інформації про живі реєстри." ++msgstr "" + + #: params.opt:503 + #, no-c-format + msgid "Maximum number of active local stores in RTL dead store elimination." +-msgstr "Максимальна кількість активних локальних зберігань у видаленні RTL мертвих зберігань." ++msgstr "" + + #: params.opt:507 + #, no-c-format + msgid "The maximum number of nested indirect inlining performed by early inliner." +-msgstr "Максимальна кількість вкладених операцій непрямого вбудовування, виконаних раннім вбудовувачем." ++msgstr "" + + #: params.opt:511 + #, no-c-format + msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable." +-msgstr "Максимальна кількість полів у структурі, перед тим як аналіз вказівників розглядатиме структуру як одну змінну." ++msgstr "" + + #: params.opt:515 + #, no-c-format + msgid "Maximum number of instructions to copy when duplicating blocks on a finite state automaton jump thread path." +-msgstr "Максимальна кількість інструкцій для копіювання при дублюванні блоків на шляху переходу потоку скінченного автомата станів." ++msgstr "" + + #: params.opt:519 + #, no-c-format + msgid "The maximum ratio of insertions to deletions of expressions in GCSE." +-msgstr "Максимальне співвідношення вставок до видалень виразів у GCSE." ++msgstr "" + + #: params.opt:523 + #, no-c-format + msgid "The maximum amount of memory to be allocated by GCSE, in kilobytes." +-msgstr "Максимальний обсяг памʼяті, який буде виділено GCSE, в кілобайтах." ++msgstr "" + + #: params.opt:527 + #, no-c-format + msgid "The maximum number of insns to duplicate when unfactoring computed gotos." +-msgstr "Максимальна кількість інструкцій для дублювання при розкритті обчислених переходів." ++msgstr "" + + #: params.opt:531 + #, no-c-format + msgid "The maximum expansion factor when copying basic blocks." +-msgstr "Максимальний коефіцієнт розширення при копіюванні базових блоків." ++msgstr "" + + #: params.opt:535 + #, no-c-format + msgid "Maximum depth of search in the dominator tree for expressions to hoist." +-msgstr "Максимальна глибина пошуку в дереві домінаторів для виносу виразів." ++msgstr "" + + #: params.opt:539 + #, no-c-format + msgid "Maximum loop depth of a call which is considered for inlining functions called once." +-msgstr "Максимальна глибина циклу виклику, яка враховується при включенні функцій, які викликаються один раз." ++msgstr "" + + #: params.opt:543 + #, no-c-format + msgid "Maximum combined size of caller and callee which is inlined if callee is called once." +-msgstr "Максимальний комбінований розмір викликаючого та викликаного, який включається, якщо викликана функція викликається один раз." ++msgstr "" + + #: params.opt:547 + #, no-c-format + msgid "The maximum number of instructions when automatically inlining." +-msgstr "Максимальна кількість інструкцій при автоматичному включенні." ++msgstr "" + + #: params.opt:551 + #, no-c-format + msgid "The maximum number of instructions inline function can grow to via recursive inlining." +-msgstr "Максимальна кількість інструкцій, до якої може зрости включена функція за допомогою рекурсивного включення." ++msgstr "" + + #: params.opt:555 + #, no-c-format + msgid "The maximum number of instructions non-inline function can grow to via recursive inlining." +-msgstr "Максимальна кількість інструкцій, на яку може збільшитися невбудована функція за допомогою рекурсивного вбудовування." ++msgstr "" + + #: params.opt:559 + #, no-c-format + msgid "The maximum number of instructions in a single function eligible for inlining." +-msgstr "Максимальна кількість інструкцій у одній функції, яка може бути вбудована." ++msgstr "" + + #: params.opt:563 + #, no-c-format + msgid "The maximum number of instructions when inlining for size." +-msgstr "Максимальна кількість інструкцій при вбудовуванні для зменшення розміру." ++msgstr "" + + #: params.opt:567 + #, no-c-format + msgid "The maximum number of instructions when automatically inlining small functions." +-msgstr "Максимальна кількість інструкцій при автоматичному вбудовуванні невеликих функцій." ++msgstr "" + + #: params.opt:571 + #, no-c-format + msgid "The maximum depth of recursive inlining for inline functions." +-msgstr "Максимальна глибина рекурсивного вбудовування для вбудованих функцій." ++msgstr "" + + #: params.opt:575 + #, no-c-format + msgid "The maximum depth of recursive inlining for non-inline functions." +-msgstr "Максимальна глибина рекурсивного вбудовування для невбудованих функцій." ++msgstr "" + + #: params.opt:579 + #, no-c-format + msgid "Maximum number of isl operations, 0 means unlimited." +-msgstr "Максимальна кількість операцій ISL, 0 означає необмежено." ++msgstr "" + + #: params.opt:583 + #, no-c-format + msgid "Bound on the cost of an expression to compute the number of iterations." +-msgstr "Обмеження на вартість виразу для обчислення кількості ітерацій." ++msgstr "" + + #: params.opt:587 + #, no-c-format + msgid "Bound on the number of iterations the brute force # of iterations analysis algorithm evaluates." +-msgstr "Обмеження на кількість ітерацій, яку алгоритм аналізу кількості ітерацій методом грубої сили оцінює." ++msgstr "" + + #: params.opt:591 + #, no-c-format + msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps." +-msgstr "Максимальна кількість операторів, дозволених у блоку, який потрібно дублювати при звʼязуванні стрибків." ++msgstr "" + + #: params.opt:595 + #, no-c-format + msgid "Search space limit for the backwards jump threader." +-msgstr "Обмеження простору пошуку для зворотнього розгалужувача переходів." ++msgstr "" + + #: params.opt:599 + #, no-c-format + msgid "The maximum number of RTL nodes that can be recorded as combiner's last value." +-msgstr "Максимальна кількість вузлів RTL, які можуть бути записані як останнє значення комбінатора." ++msgstr "" + + #: params.opt:603 + #, no-c-format + msgid "The maximum number of insns in loop header duplicated by the copy loop headers pass." +-msgstr "Максимальна кількість інструкцій в заголовку циклу, які дублюються за допомогою проходу копіювання заголовків циклів." ++msgstr "" + + #: params.opt:607 + #, no-c-format + msgid "The maximum number of backtrack attempts the scheduler should make when modulo scheduling a loop." +-msgstr "Максимальна кількість спроб повернення назад, яку планувальник повинен зробити при модульному плануванні циклу." ++msgstr "" + + #: params.opt:611 + #, no-c-format + msgid "Minimum page size for warning purposes." +-msgstr "Мінімальний розмір сторінки для цілей попередження." ++msgstr "" + + #: params.opt:615 + #, no-c-format + msgid "Maximum length of partial antic set when performing tree pre optimization." +-msgstr "Максимальна довжина часткового набору ANTIC при виконанні попередньої оптимізації дерева." ++msgstr "" + + #: params.opt:619 + #, no-c-format + msgid "The maximum number of branches on the path through the peeled sequence." +-msgstr "Максимальна кількість гілок на шляху через розгорнуту послідовність." ++msgstr "" + + #: params.opt:623 + #, no-c-format + msgid "The maximum number of peelings of a single loop." +-msgstr "Максимальна кількість розгортань одного циклу." ++msgstr "" + + #: params.opt:627 + #, no-c-format + msgid "The maximum number of insns of a peeled loop." +-msgstr "Максимальна кількість інструкцій в розгорнутій петлі." ++msgstr "" + + #: params.opt:631 + #, no-c-format + msgid "The maximum length of scheduling's pending operations list." +-msgstr "Максимальна довжина списку очікуваних операцій планування." ++msgstr "" + + #: params.opt:635 params.opt:679 + #, no-c-format + msgid "The maximum number of blocks in a region to be considered for interblock scheduling." +-msgstr "Максимальна кількість блоків у регіоні, які будуть враховуватися при міжблоковому плануванні." ++msgstr "" + + #: params.opt:639 params.opt:683 + #, no-c-format + msgid "The maximum number of insns in a region to be considered for interblock scheduling." +-msgstr "Максимальна кількість інструкцій у регіоні, які будуть враховуватися при міжблоковому плануванні." ++msgstr "" + + #: params.opt:643 + #, no-c-format + msgid "Maximum depth of sqrt chains to use when synthesizing exponentiation by a real constant." +-msgstr "Максимальна глибина ланцюгів квадратних коренів, яку слід використовувати при синтезуванні піднесення до степеня за допомогою дійсної константи." ++msgstr "" + + #: params.opt:647 + #, no-c-format + msgid "The maximum number of loop iterations we predict statically." +-msgstr "Максимальна кількість ітерацій циклу, яку ми прогнозуємо статично." ++msgstr "" + + #: params.opt:651 + #, no-c-format + msgid "The maximum number of instructions to search backward when looking for equivalent reload." +-msgstr "Максимальна кількість інструкцій для пошуку назад при пошуку еквівалентного перезавантаження." ++msgstr "" + + #: params.opt:655 + #, no-c-format + msgid "Maximum number of insns in a basic block to consider for RTL if-conversion." +-msgstr "Максимальна кількість інструкцій у базовому блоку, які слід враховувати для RTL-перетворення if." ++msgstr "" + + #: params.opt:659 + #, no-c-format + msgid "Maximum permissible cost for the sequence that would be generated by the RTL if-conversion pass for a branch that is considered predictable." +-msgstr "Максимально допустима вартість послідовності, яка буде створена проходом RTL-конвертації if для гілки, яка вважається передбачуваною." ++msgstr "" + + #: params.opt:663 + #, no-c-format + msgid "Maximum permissible cost for the sequence that would be generated by the RTL if-conversion pass for a branch that is considered unpredictable." +-msgstr "Максимально допустима вартість послідовності, яка буде створена проходом RTL-конвертації if для гілки, яка вважається непередбачуваною." ++msgstr "" + + #: params.opt:667 + #, no-c-format + msgid "The maximum number of iterations through CFG to extend regions." +-msgstr "Максимальна кількість ітерацій через CFG для розширення регіонів." ++msgstr "" + + #: params.opt:671 + #, no-c-format + msgid "The maximum conflict delay for an insn to be considered for speculative motion." +-msgstr "Максимальна затримка конфлікту для інструкції, яка розглядається для спекулятивного переміщення." ++msgstr "" + + #: params.opt:675 + #, no-c-format + msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass." +-msgstr "Максимальна кількість інструкцій, готових до виконання, які розглядаються планувальником під час першого проходу планування." ++msgstr "" + + #: params.opt:687 + #, no-c-format + msgid "Maximum length of candidate scans for straight-line strength reduction." +-msgstr "Максимальна довжина кандидатського сканування для зменшення сили прямолінійного редукції." ++msgstr "" + + #: params.opt:691 + #, no-c-format + msgid "Maximum number of may-defs visited when devirtualizing speculatively." +-msgstr "Максимальна кількість відвідуваних may-defs при спекулятивній девіртуалізації." ++msgstr "" + + #: params.opt:695 + #, no-c-format + msgid "Maximum recursion depth allowed when querying a property of an SSA name." +-msgstr "Максимальна глибина рекурсії, дозволена при запиті властивості імені SSA." ++msgstr "" + + #: params.opt:699 + #, no-c-format + msgid "Maximum number of constant stores to merge in the store merging pass." +-msgstr "Максимальна кількість константних сховищ для злиття в проході злиття сховищ." ++msgstr "" + + #: params.opt:703 + #, no-c-format + msgid "Maximum number of conditional store pairs that can be sunk." +-msgstr "Максимальна кількість умовних пар зберігань, які можуть бути занурені." ++msgstr "" + + #: params.opt:707 params.opt:711 + #, no-c-format + msgid "Maximum number of store chains to track at the same time in the store merging pass." +-msgstr "Максимальна кількість ланцюжків зберігань, які слідкуватимуть одночасно в проході обʼєднання зберігань." ++msgstr "" + + #: params.opt:715 + #, no-c-format + msgid "Maximum amount of similar bbs to compare a bb with." +-msgstr "Максимальна кількість схожих базових блоків для порівняння з базовим блоком." ++msgstr "" + + #: params.opt:719 + #, no-c-format + msgid "Maximum amount of iterations of the pass over a function." +-msgstr "Максимальна кількість ітерацій проходу через функцію." ++msgstr "" + + #: params.opt:723 + #, no-c-format + msgid "Maximum number of strings for which strlen optimization pass will track string lengths." +-msgstr "Максимальна кількість рядків, для яких прохід оптимізації strlen відстежує довжини рядків." ++msgstr "" + + #: params.opt:727 + #, no-c-format + msgid "Maximum number of arguments in a PHI supported by TREE if-conversion unless the loop is marked with simd pragma." +-msgstr "Максимальна кількість аргументів в PHI, підтримуваному TREE if-конвертацією, якщо цикл не позначений simd pragma." ++msgstr "" + + #: params.opt:731 + #, no-c-format + msgid "The maximum number of unrollings of a single loop." +-msgstr "Максимальна кількість розгортань однієї петлі." ++msgstr "" + + #: params.opt:735 + #, no-c-format + msgid "The maximum number of instructions to consider to unroll in a loop." +-msgstr "Максимальна кількість інструкцій, які слід розгортати в петлі." ++msgstr "" + + #: params.opt:739 + #, no-c-format + msgid "The maximum number of insns of an unswitched loop." +-msgstr "Максимальна кількість інструкцій нерозгорнутої петлі." ++msgstr "" + + #: params.opt:743 + #, no-c-format + msgid "The maximum depth of a loop nest to be unswitched." +-msgstr "Максимальна глибина вкладеного циклу, який буде переключений." ++msgstr "" + + #: params.opt:747 + #, no-c-format + msgid "If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual variable will be expanded during loop unrolling." +-msgstr "Якщо використовується -fvariable-expansion-in-unroller, максимальна кількість разів, коли окрема змінна буде розгорнута під час розгортання циклу." ++msgstr "" + + #: params.opt:751 + #, no-c-format + msgid "Max. recursion depth for expanding var tracking expressions." +-msgstr "Максимальна глибина рекурсії для розгортання виразів відстеження змінних." ++msgstr "" + + #: params.opt:755 + #, no-c-format + msgid "Max. size of loc list for which reverse ops should be added." +-msgstr "Максимальний розмір списку loc, для якого слід додавати зворотні операції." ++msgstr "" + + #: params.opt:759 + #, no-c-format + msgid "Max. size of var tracking hash tables." +-msgstr "Максимальний розмір хеш-таблиць відстеження змінних." ++msgstr "" + + #: params.opt:763 + #, no-c-format + msgid "Maximum number of VALUEs handled during a single find_base_term call." +-msgstr "Максимальна кількість значень, оброблених під час одного виклику find_base_term." ++msgstr "" + + #: params.opt:767 + #, no-c-format + msgid "The minimum number of matching instructions to consider for crossjumping." +-msgstr "Мінімальна кількість відповідних інструкцій для розгляду при перескакуванні." ++msgstr "" + + #: params.opt:771 + #, no-c-format + msgid "Inline recursively only when the probability of call being executed exceeds the parameter." +-msgstr "Вбудовувати рекурсивно лише тоді, коли ймовірність виконання виклику перевищує параметр." ++msgstr "" + + #: params.opt:775 + #, no-c-format + msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count." +-msgstr "Мінімальне співвідношення інструкцій до попередніх завантажень, щоб увімкнути попереднє завантаження для петлі з невідомим лічильником проходів." ++msgstr "" + + #: params.opt:779 + #, no-c-format + msgid "The minimum threshold for probability of semi-invariant condition statement to trigger loop split." +-msgstr "Мінімальний поріг ймовірності умовного оператора напівнезмінності для спрацювання розбиття петлі." ++msgstr "" + + #: params.opt:783 + #, no-c-format + msgid "The minimum UID to be used for a nondebug insn." +-msgstr "Мінімальний UID, який слід використовувати для не відлагоджувальної інструкції." ++msgstr "" + + #: params.opt:787 + #, no-c-format + msgid "The minimum size of variables taking part in stack slot sharing when not optimizing." +-msgstr "Мінімальний розмір змінних, які беруть участь у спільному використанні слотів стеку при відсутності оптимізації." ++msgstr "" + + #: params.opt:791 + #, no-c-format + msgid "The minimum probability of reaching a source block for interblock speculative scheduling." +-msgstr "Мінімальна ймовірність досягнення початкового блоку для міжблочного спекулятивного планування." ++msgstr "" + + #: params.opt:795 + #, no-c-format + msgid "If -ftree-vectorize is used, the minimal loop bound of a loop to be considered for vectorization." +-msgstr "Якщо використовується -ftree-vectorize, мінімальна межа циклу циклу, який буде розглядатися для векторизації." ++msgstr "" + + #: params.opt:799 + #, no-c-format + msgid "--param=openacc-kernels=[decompose|parloops]\tSpecify mode of OpenACC 'kernels' constructs handling." +-msgstr "--param=openacc-kernels=[decompose|parloops]\tВказати режим обробки конструкцій OpenACC 'kernels'." ++msgstr "" + + #: params.opt:812 + #, no-c-format + msgid "--param=openacc-privatization=[quiet|noisy]\tSpecify mode of OpenACC privatization diagnostics." +-msgstr "--param=openacc-privatization=[quiet|noisy]\tВказати режим діагностики приватизації OpenACC." ++msgstr "" + + #: params.opt:825 + #, no-c-format + msgid "Chunk size of omp schedule for loops parallelized by parloops." +-msgstr "Розмір порції розкладу omp для циклів, які паралелізуються за допомогою parloops." ++msgstr "" + + #: params.opt:829 + #, no-c-format + msgid "Minimum number of iterations per thread of an innermost parallelized loop." +-msgstr "Мінімальна кількість ітерацій на потік найвнутрішньої паралельної петлі." ++msgstr "" + + #: params.opt:833 + #, no-c-format + msgid "--param=parloops-schedule=[static|dynamic|guided|auto|runtime]\tSchedule type of omp schedule for loops parallelized by parloops." +-msgstr "--param=parloops-schedule=[static|dynamic|guided|auto|runtime]\tТип розкладу omp для петель, які паралелізуються за допомогою parloops." ++msgstr "" + + #: params.opt:855 + #, no-c-format + msgid "Maximum probability of the entry BB of split region (in percent relative to entry BB of the function) to make partial inlining happen." +-msgstr "Максимальна ймовірність входу BB розділеної області (у відсотках відносно входу BB функції), щоб відбулося часткове вбудовування." ++msgstr "" + + #: params.opt:859 + #, no-c-format + msgid "Maximal estimated outcome of branch considered predictable." +-msgstr "Максимально оціненний результат розгалуження, вважається передбачуваним." ++msgstr "" + + #: params.opt:863 + #, no-c-format + msgid "Whether software prefetch hints should be issued for non-constant strides." +-msgstr "Чи слід видавати підказки про програмне попереднє завантаження для несталої кроку." ++msgstr "" + + #: params.opt:867 + #, no-c-format + msgid "The number of insns executed before prefetch is completed." +-msgstr "Кількість виконаних інструкцій до завершення попереднього завантаження." ++msgstr "" + + #: params.opt:871 + #, no-c-format + msgid "Min. ratio of insns to mem ops to enable prefetching in a loop." +-msgstr "Мінімальне співвідношення інструкцій до операцій з памʼяттю для включення попереднього завантаження в циклі." ++msgstr "" + + #: params.opt:875 + #, no-c-format + msgid "The minimum constant stride beyond which we should use prefetch hints for." +-msgstr "Мінімальний константний крок, після якого ми повинні використовувати підказки для попереднього завантаження." ++msgstr "" + + #: params.opt:879 + #, no-c-format + msgid "Use internal function id in profile lookup." +-msgstr "Використовувати внутрішній ідентифікатор функції при пошуку в профілі." ++msgstr "" + + #: params.opt:883 + #, no-c-format + msgid "--param=ranger-debug=[none|trace|gori|cache|tracegori|all] Specifies the output mode for debugging ranger." +-msgstr "--param=ranger-debug=[none|trace|gori|cache|tracegori|all] Вказує режим виведення для налагодження рейнджера." ++msgstr "" + + #: params.opt:908 + #, no-c-format + msgid "Maximum depth of logical expression evaluation ranger will look through when evaluating outgoing edge ranges." +-msgstr "Максимальна глибина оцінки логічних виразів, яку рейнджер буде розглядати при оцінці діапазонів вихідних ребер." ++msgstr "" + + #: params.opt:913 + #, no-c-format + msgid "Maximum depth of instruction chains to consider for recomputation in the outgoing range calculator." +-msgstr "Максимальна глибина ланцюжків інструкцій, яку слід враховувати для повторного обчислення в калькуляторі діапазону вихідних значень." ++msgstr "" + + #: params.opt:918 + #, no-c-format + msgid "Maximum number of relations the oracle will register in a basic block." +-msgstr "Максимальна кількість відношень, які оракул зареєструє в базовому блоку." ++msgstr "" + + #: params.opt:922 + #, no-c-format + msgid "Maximum depth of a loop nest to fully value-number optimistically." +-msgstr "Максимальна глибина вкладеності циклу для повного оптимізму числових значень." ++msgstr "" + + #: params.opt:926 + #, no-c-format + msgid "Maximum number of disambiguations to perform per memory access." +-msgstr "Максимальна кількість розрізнень, які потрібно виконати для кожного доступу до памʼяті." ++msgstr "" + + #: params.opt:930 + #, no-c-format + msgid "Bound on the complexity of the expressions in the scalar evolutions analyzer." +-msgstr "Обмеження на складність виразів в аналізаторі еволюцій скалярів." ++msgstr "" + + #: params.opt:934 + #, no-c-format + msgid "Bound on size of expressions used in the scalar evolutions analyzer." +-msgstr "Обмеження на розмір виразів, що використовуються в аналізаторі еволюцій скалярів." ++msgstr "" + + #: params.opt:938 + #, no-c-format + msgid "Hardware autoprefetcher scheduler model control flag. Number of lookahead cycles the model looks into, at '0' only enable instruction sorting heuristic. Disabled by default." +-msgstr "Прапорець керування моделлю планувальника автоматичної передвантаження апаратного забезпечення. Кількість циклів попереднього перегляду, які модель розглядає, при значенні «0» активує лише евристику сортування інструкцій. За замовчуванням вимкнено." ++msgstr "" + + #: params.opt:942 + #, no-c-format + msgid "Minimal distance between possibly conflicting store and load." +-msgstr "Мінімальна відстань між можливо конфліктуючими командами store та load." ++msgstr "" + + #: params.opt:946 + #, no-c-format + msgid "Which -fsched-pressure algorithm to apply." +-msgstr "Який алгоритм -fsched-pressure застосувати." ++msgstr "" + + #: params.opt:950 + #, no-c-format + msgid "The minimal probability of speculation success (in percents), so that speculative insn will be scheduled." +-msgstr "Мінімальна ймовірність успішної спекуляції (у відсотках), щоб спекулятивна інструкція була запланована." ++msgstr "" + + #: params.opt:954 + #, no-c-format + msgid "The minimum probability an edge must have for the scheduler to save its state across it." +-msgstr "Мінімальна ймовірність, яку має мати ребро, щоб планувальник зберігав свій стан через нього." ++msgstr "" + + #: params.opt:958 + #, no-c-format + msgid "Maximum number of instructions in the ready list that are considered eligible for renaming." +-msgstr "Максимальна кількість інструкцій у списку готових, які вважаються придатними для перейменування." ++msgstr "" + + #: params.opt:962 + #, no-c-format + msgid "The maximum size of the lookahead window of selective scheduling." +-msgstr "Максимальний розмір вікна попереднього перегляду вибіркового планування." ++msgstr "" + + #: params.opt:966 + #, no-c-format + msgid "Maximum number of times that an insn could be scheduled." +-msgstr "Максимальна кількість разів, коли можна запланувати інструкцію." ++msgstr "" + + #: params.opt:970 + #, no-c-format + msgid "The number of prefetches that can run at the same time." +-msgstr "Кількість попередніх завантажень, які можуть працювати одночасно." ++msgstr "" + + #: params.opt:974 + #, no-c-format + msgid "Target block's relative execution frequency (as a percentage) required to sink a statement." +-msgstr "Відносна частота виконання цільового блоку (у відсотках), необхідна для занурення оператора." ++msgstr "" + + #: params.opt:978 + #, no-c-format + msgid "The number of cycles the swing modulo scheduler considers when checking conflicts using DFA." +-msgstr "Кількість циклів, які розглядає планувальник модуля Swing при перевірці конфліктів за допомогою DFA." ++msgstr "" + + #: params.opt:982 + #, no-c-format + msgid "A threshold on the average loop count considered by the swing modulo scheduler." +-msgstr "Поріг середнього лічильника циклів, який враховує планувальник модуляції качеля." ++msgstr "" + + #: params.opt:986 + #, no-c-format + msgid "A factor for tuning the upper bound that swing modulo scheduler uses for scheduling a loop." +-msgstr "Фактор для налаштування верхньої межі, яку використовує планувальник з коливанням модуляції для планування циклу." ++msgstr "" + + #: params.opt:990 + #, no-c-format + msgid "The minimum value of stage count that swing modulo scheduler will generate." +-msgstr "Мінімальне значення кількості етапів, яку згенерує планувальник з коливанням модуляції." ++msgstr "" + + #: params.opt:994 + #, no-c-format + msgid "Maximum size, in storage units, of an aggregate which should be considered for scalarization when compiling for size." +-msgstr "Максимальний розмір, в одиницях зберігання, агрегату, який слід враховувати для скаляризації при компіляції для розміру." ++msgstr "" + + #: params.opt:998 + #, no-c-format + msgid "Maximum size, in storage units, of an aggregate which should be considered for scalarization when compiling for speed." +-msgstr "Максимальний розмір, в одиницях зберігання, агрегату, який слід враховувати для скаляризації при компіляції для швидкості." ++msgstr "" + + #: params.opt:1002 + #, no-c-format + msgid "Maximum number of artificial accesses to enable forward propagation that Scalar Replacement of Aggregates will keep for one local variable." +-msgstr "Максимальна кількість штучних доступів, яку Scalar Replacement of Aggregates збереже для однієї локальної змінної для активації прямого поширення." ++msgstr "" + + #: params.opt:1006 + #, no-c-format + msgid "The maximum number of SSA_NAME assignments to follow in determining a value." +-msgstr "Максимальна кількість присвоєнь SSA_NAME, які слід виконати для визначення значення." ++msgstr "" + + #: params.opt:1010 + #, no-c-format + msgid "The lower bound for a buffer to be considered for stack smashing protection." +-msgstr "Нижня межа буфера, який розглядається для захисту від руйнування стеку." ++msgstr "" + + #: params.opt:1014 + #, no-c-format + msgid "Size of the stack guard expressed as a power of two in bytes." +-msgstr "Розмір захисника стеку, виражений як степінь двійки в байтах." ++msgstr "" + + #: params.opt:1018 + #, no-c-format + msgid "Interval in which to probe the stack expressed as a power of two in bytes." +-msgstr "Інтервал, в якому проводиться перевірка стеку, виражений як степінь двійки в байтах." ++msgstr "" + + #: params.opt:1022 + #, no-c-format + msgid "Allow the store merging pass to introduce unaligned stores if it is legal to do so." +-msgstr "Дозволити прохід з обʼєднанням зберігання вводити незбалансовані зберігання, якщо це юридично допустимо." ++msgstr "" + + #: params.opt:1026 + #, no-c-format + msgid "Maximum size of a single store merging region in bytes." +-msgstr "Максимальний розмір одного обʼєднаного регіону зберігання в байтах." ++msgstr "" + + #: params.opt:1030 + #, no-c-format + msgid "The maximum ratio between array size and switch branches for a switch conversion to take place." +-msgstr "Максимальне співвідношення між розміром масиву та гілками перемикача, при якому відбувається конвертація перемикача." ++msgstr "Максимальне значення відношення розміру масиву до кількості відгалужень перемикання для перетворення на перемикання." + + #: params.opt:1034 + #, no-c-format + msgid "Maximum number of bases stored in each modref tree." +-msgstr "Максимальна кількість баз, збережених у кожному дереві modref." ++msgstr "" + + #: params.opt:1038 + #, no-c-format + msgid "Maximum number of references stored in each modref base." +-msgstr "Максимальна кількість посилань, збережених у кожній базі modref." ++msgstr "" + + #: params.opt:1042 + #, no-c-format + msgid "Maximum number of accesses stored in each modref reference." +-msgstr "Максимальна кількість доступів, збережених у кожному посиланні modref." ++msgstr "" + + #: params.opt:1046 + #, no-c-format + msgid "Maximum number of tests performed by modref query." +-msgstr "Максимальна кількість тестів, виконаних запитом modref." ++msgstr "" + + #: params.opt:1050 + #, no-c-format + msgid "Maximum depth of DFS walk used by modref escape analysis." +-msgstr "Максимальна глибина DFS-проходу, використовуваного аналізом уникнення modref." ++msgstr "" + + #: params.opt:1054 + #, no-c-format + msgid "Maximum number of escape points tracked by modref per SSA-name." +-msgstr "Максимальна кількість точок виходу, відстежуваних модульним посиланням на кожне SSA-імʼя." ++msgstr "" + + #: params.opt:1058 + #, no-c-format + msgid "Maximum number of times a given range is adjusted during the dataflow." +-msgstr "Максимальна кількість разів, коли вказаний діапазон налаштовується під час потоку даних." ++msgstr "" + + #: params.opt:1062 + #, no-c-format + msgid "--param=threader-debug=[none|all] Enables verbose dumping of the threader solver." +-msgstr "--param=threader-debug=[none|all] Увімкнути докладний вивід розвʼязувача потоку." ++msgstr "" + + #: params.opt:1075 + #, no-c-format + msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs." +-msgstr "Розмір у байтах, після якого потокові агрегати повинні бути інструментовані функціями журналізації замість пар збереження/відновлення." ++msgstr "" + + #: params.opt:1079 + #, no-c-format + msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is not available." +-msgstr "Відсоток функції, зважений за частотою виконання, який повинен бути покритий формуванням сліду. Використовується, коли профільний зворотний звʼязок недоступний." ++msgstr "" + + #: params.opt:1083 + #, no-c-format + msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available." +-msgstr "Відсоток функції, зважений за частотою виконання, який повинен бути покритий формуванням траси. Використовується, коли доступний профільний зворотний звʼязок." ++msgstr "" + + #: params.opt:1087 + #, no-c-format + msgid "Maximal code growth caused by tail duplication (in percent)." +-msgstr "Максимальний ріст коду, спричинений дублюванням хвоста (у відсотках)." ++msgstr "" + + #: params.opt:1091 + #, no-c-format + msgid "Stop forward growth if the probability of best edge is less than this threshold (in percent). Used when profile feedback is not available." +-msgstr "Зупинити передній ріст, якщо ймовірність найкращого ребра менше цього порогу (у відсотках). Використовується, коли профільний зворотний звʼязок недоступний." ++msgstr "" + + #: params.opt:1095 + #, no-c-format + msgid "Stop forward growth if the probability of best edge is less than this threshold (in percent). Used when profile feedback is available." +-msgstr "Зупинити передній ріст, якщо ймовірність найкращого ребра менше цього порогу (у відсотках). Використовується, коли доступний профільний зворотний звʼязок." ++msgstr "" + + #: params.opt:1099 + #, no-c-format + msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percent)." +-msgstr "Зупинити зворотний ріст, якщо зворотна ймовірність найкращого ребра менша за цей поріг (у відсотках)." ++msgstr "" + + #: params.opt:1103 + #, no-c-format + msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic." +-msgstr "Встановити максимальну кількість виконуваних інструкцій паралельно в переасоційованому дереві. Якщо 0, використовуйте залежну від цільової платформи евристику." ++msgstr "" + + #: params.opt:1107 + #, no-c-format + msgid "Emit special instrumentation for accesses to volatiles." +-msgstr "Видавати спеціальну інструментальну підтримку для доступу до волатильних обʼєктів." ++msgstr "" + + #: params.opt:1111 + #, no-c-format + msgid "Emit instrumentation calls to __tsan_func_entry() and __tsan_func_exit()." +-msgstr "Видавати виклики інструментальної підтримки для __tsan_func_entry() та __tsan_func_exit()." ++msgstr "" + + #: params.opt:1115 + #, no-c-format + msgid "Maximum number of nested calls to search for control dependencies during uninitialized variable analysis." +-msgstr "Максимальна кількість вкладених викликів для пошуку залежностей в управлінні під час аналізу неініціалізованих змінних." ++msgstr "" + + #: params.opt:1119 + #, no-c-format + msgid "Instruction accounted for function prologue, epilogue and other overhead." +-msgstr "Інструкції, які враховуються для прологу, епілогу та іншого накладного витрат." ++msgstr "" + + #: params.opt:1123 + #, no-c-format + msgid "Time accounted for function prologue, epilogue and other overhead." +-msgstr "Час, який враховується для прологу, епілогу та іншого накладного витрат." ++msgstr "" + + #: params.opt:1127 + #, no-c-format + msgid "Instruction accounted for function thunk overhead." +-msgstr "Інструкції, які враховуються для накладних витрат тунку функції." ++msgstr "" + + #: params.opt:1131 + #, no-c-format + msgid "Time accounted for function thunk overhead." +-msgstr "Час, врахований для накладних витрат тунку функції." ++msgstr "" + + #: params.opt:1135 + #, no-c-format + msgid "The denominator n of fraction 1/n of the number of profiled runs of the entire program below which the execution count of a basic block must be in order for the basic block to be considered unlikely." +-msgstr "Знаменник n дробу 1/n кількості профільованих запусків всієї програми, нижче якого кількість виконань базового блоку повинна бути, щоб базовий блок вважався малоймовірним." ++msgstr "" + + #: params.opt:1139 + #, no-c-format + msgid "Maximum unroll factor for the unroll-and-jam transformation." +-msgstr "Максимальний коефіцієнт розгортання для трансформації розгортання та злиття." ++msgstr "" + + #: params.opt:1143 + #, no-c-format + msgid "Minimum percentage of memrefs that must go away for unroll-and-jam to be considered profitable." +-msgstr "Мінімальний відсоток memrefs, які повинні зникнути, щоб розгортання та злиття вважалося прибутковим." ++msgstr "" + + #: params.opt:1147 + #, no-c-format + msgid "Use direct poisoning/unpoisoning instructions for variables smaller or equal to this number." +-msgstr "Використовувати прямі інструкції отруєння/розтруєння для змінних, які менші або рівні цьому числу." ++msgstr "" + + #: params.opt:1151 + #, no-c-format + msgid "Whether to use canonical types." +-msgstr "Чи використовувати канонічні типи." ++msgstr "" + + #: params.opt:1155 + #, no-c-format + msgid "Enable loop epilogue vectorization using smaller vector size." +-msgstr "Увімкнути векторизацію епілогу циклу з використанням меншого розміру вектора." ++msgstr "" + + #: params.opt:1159 + #, no-c-format + msgid "Maximum number of possible vector layouts (such as permutations) to consider when optimizing to-be-vectorized code." +-msgstr "Максимальна кількість можливих розташувань векторів (таких як перестановки), які слід враховувати при оптимізації коду для векторизації." ++msgstr "" + + #: params.opt:1163 + #, no-c-format + msgid "Maximum number of loop peels to enhance alignment of data references in a loop." +-msgstr "Максимальна кількість розгортань циклу для покращення вирівнювання посилань на дані в циклі." ++msgstr "" + + #: params.opt:1167 + #, no-c-format + msgid "Bound on number of runtime checks inserted by the vectorizer's loop versioning for alias check." +-msgstr "Обмеження на кількість перевірок часу виконання, вставлених версіюванням циклу векторизатора для перевірки псевдонімів." ++msgstr "" + + #: params.opt:1171 + #, no-c-format + msgid "Bound on number of runtime checks inserted by the vectorizer's loop versioning for alignment check." +-msgstr "Обмеження на кількість перевірок часу виконання, вставлених версіюванням циклу векторизатора для перевірки вирівнювання." ++msgstr "" + + #: params.opt:1175 + #, no-c-format + msgid "Controls how loop vectorizer uses partial vectors. 0 means never, 1 means only for loops whose need to iterate can be removed, 2 means for all loops. The default value is 2." +-msgstr "Контролює, як векторизатор циклу використовує часткові вектори. 0 означає ніколи, 1 означає тільки для циклів, у яких можна видалити необхідність в ітерації, 2 означає для всіх циклів. Значення за замовчуванням - 2." ++msgstr "" + + #: params.opt:1179 + #, no-c-format + msgid "The maximum factor which the loop vectorizer applies to the cost of statements in an inner loop relative to the loop being vectorized." +-msgstr "Максимальний множник, який векторизатор петлі застосовує до вартості операторів у внутрішній петлі відносно векторизованої петлі." ++msgstr "" + + #: params.opt:1183 + #, no-c-format + msgid "Enable loop vectorization of floating point inductions." +-msgstr "Увімкнути векторизацію петлі для плаваючої точки." ++msgstr "Увімкнути векторизацію циклів для індукцій із рухомою крапкою." + + #: cfgrtl.cc:2797 + msgid "flow control insn inside a basic block" +-msgstr "інструкція керування потоком в межах базового блоку" ++msgstr "інструкція з керування потоком у основному блоці" + + #: cfgrtl.cc:3086 + msgid "insn outside basic block" +-msgstr "інструкція поза базовим блоком" ++msgstr "інструкція поза основним блоком" + + #: cfgrtl.cc:3094 + msgid "return not followed by barrier" +-msgstr "return не слідує за барʼєром" ++msgstr "за return немає barrier" + + #: collect-utils.cc:206 + #, c-format +@@ -16966,36 +16987,36 @@ msgstr "[не вдалося знайти %s]" + #: collect2.cc:1557 + #, c-format + msgid "collect2 version %s\n" +-msgstr "версія collect2 %s\n" ++msgstr "collect2 версії %s\n" + + #: collect2.cc:1662 + #, c-format + msgid "%d constructor found\n" + msgid_plural "%d constructors found\n" +-msgstr[0] "%d конструктор знайдено\n" +-msgstr[1] "%d конструктори знайдено\n" +-msgstr[2] "%d конструкторів знайдено\n" ++msgstr[0] "знайдено %d конструктор\n" ++msgstr[1] "знайдено %d конструктори\n" ++msgstr[2] "знайдено %d конструкторів\n" + + #: collect2.cc:1666 + #, c-format + msgid "%d destructor found\n" + msgid_plural "%d destructors found\n" +-msgstr[0] "%d деструктор знайдено\n" +-msgstr[1] "%d деструктори знайдено\n" +-msgstr[2] "%d деструкторів знайдено\n" ++msgstr[0] "знайдено %d деструктор\n" ++msgstr[1] "знайдено %d деструктори\n" ++msgstr[2] "знайдено %d деструкторів\n" + + #: collect2.cc:1670 + #, c-format + msgid "%d frame table found\n" + msgid_plural "%d frame tables found\n" +-msgstr[0] "%d рамкова таблиця знайдено\n" +-msgstr[1] "%d таблиці кадри знайдено\n" +-msgstr[2] "%d таблиці кадрів знайдено\n" ++msgstr[0] "знайдено %d таблицю кадрів\n" ++msgstr[1] "знайдено %d таблиці кадрів\n" ++msgstr[2] "знайдено %d таблиць кадрів\n" + + #: collect2.cc:1825 + #, c-format + msgid "[Leaving %s]\n" +-msgstr "[Вихід з %s]\n" ++msgstr "[Полишаємо %s]\n" + + #: collect2.cc:2055 + #, c-format +@@ -17004,7 +17025,7 @@ msgid "" + "write_c_file - output name is %s, prefix is %s\n" + msgstr "" + "\n" +-"write_c_file - імʼя вихідного файлу: %s, префікс: %s\n" ++"write_c_file - назвою результату є %s, префіксом є %s\n" + + #: collect2.cc:2579 + #, c-format +@@ -17013,16 +17034,16 @@ msgid "" + "ldd output with constructors/destructors.\n" + msgstr "" + "\n" +-"Вихід ldd з конструкторами/деструкторами.\n" ++"Виведені ldd дані з конструкторами та деструкторами.\n" + + #: cprop.cc:1753 + msgid "const/copy propagation disabled" +-msgstr "Вимкнено поширення констант/копій" ++msgstr "передавання const/copy вимкнено" + + #: diagnostic-format-json.cc:317 diagnostic-format-sarif.cc:1605 + #, c-format + msgid "error: unable to open '%s' for writing: %s\n" +-msgstr "помилка: неможливо відкрити '%s' для запису: %s\n" ++msgstr "" + + #. Print a header for the remaining output to stderr, and + #. return, attempting to print the usual ICE messages to +@@ -17030,54 +17051,55 @@ msgstr "помилка: неможливо відкрити '%s' для запи + #. indicating what's gone wrong (also for DejaGnu, for pruning + #. those messages). + #: diagnostic-format-sarif.cc:1630 +-#, c-format ++#, fuzzy, c-format ++#| msgid "internal compiler error: " + msgid "Internal compiler error:\n" +-msgstr "Внутрішня помилка компілятора:\n" ++msgstr "внутрішня помилка компілятора: " + + #: diagnostic.cc:160 + #, c-format + msgid "%s: all warnings being treated as errors" +-msgstr "%s: всі попередження розглядаються як помилки" ++msgstr "%s: усі попередження вважаються помилками" + + #: diagnostic.cc:165 + #, c-format + msgid "%s: some warnings being treated as errors" +-msgstr "%s: деякі попередження розглядаються як помилки" ++msgstr "%s: деякі попередження вважаються помилками" + + #: diagnostic.cc:632 + #, c-format + msgid "compilation terminated due to -fmax-errors=%u.\n" +-msgstr "компіляцію припинено через -fmax-errors=%u.\n" ++msgstr "компіляцію перервано через -fmax-errors=%u.\n" + + #: diagnostic.cc:660 + #, c-format + msgid "compilation terminated due to -Wfatal-errors.\n" +-msgstr "компіляція припинена через -Wfatal-errors.\n" ++msgstr "компіляцію перервано через -Wfatal-errors.\n" + + #: diagnostic.cc:693 + #, c-format + msgid "Please submit a full bug report, with preprocessed source.\n" +-msgstr "Будь ласка, надішліть повний звіт про помилку з попередньо обробленим початковим кодом.\n" ++msgstr "Будь ласка, надішліть повний звіт щодо вади із попередньо обробленим початковим кодом.\n" + + #: diagnostic.cc:696 + #, c-format + msgid "Please submit a full bug report, with preprocessed source (by using -freport-bug).\n" +-msgstr "Будь ласка, надішліть повний звіт про помилку з попередньо обробленим початковим кодом (за допомогою -freport-bug).\n" ++msgstr "Будь ласка, надішліть повний звіт щодо вади із попередньо обробленим початковим кодом (за допомогою -freport-bug).\n" + + #: diagnostic.cc:700 + #, c-format + msgid "Please include the complete backtrace with any bug report.\n" +-msgstr "Будь ласка, включіть повний стек викликів у будь-якому звіті про помилку.\n" ++msgstr "" + + #: diagnostic.cc:702 + #, c-format + msgid "See %s for instructions.\n" +-msgstr "Дивіться %s для отримання інструкцій.\n" ++msgstr "Див. настанови у %s.\n" + + #: diagnostic.cc:711 + #, c-format + msgid "compilation terminated.\n" +-msgstr "Компіляцію припинено.\n" ++msgstr "компіляцію перервано.\n" + + #: diagnostic.cc:805 + msgid " from" +@@ -17085,12 +17107,12 @@ msgstr " з" + + #: diagnostic.cc:806 + msgid "In file included from" +-msgstr "У файлі, включеному з" ++msgstr "У файлі, який включено у" + + #. 2 + #: diagnostic.cc:807 + msgid " included from" +-msgstr " включено з" ++msgstr " включено у" + + #: diagnostic.cc:808 + msgid "In module" +@@ -17103,84 +17125,84 @@ msgstr "модуля" + + #: diagnostic.cc:810 + msgid "In module imported at" +-msgstr "У модулі, імпортованому в" ++msgstr "У модулі, імпортованому у" + + #. 6 + #: diagnostic.cc:811 + msgid "imported at" +-msgstr "імпортованому в" ++msgstr "імпортовано у" + + #: diagnostic.cc:1570 + #, c-format + msgid "%s:%d: confused by earlier errors, bailing out\n" +-msgstr "%s:%d: збитий з пантелику через попередні помилки, вихід\n" ++msgstr "%s:%d: заплуталися із попередніми помилками, вимушено припиняємо обробку\n" + + #: diagnostic.cc:2205 + #, c-format + msgid "internal compiler error: error reporting routines re-entered.\n" +-msgstr "внутрішня помилка компілятора: повторний вхід у процедури повідомлення про помилку.\n" ++msgstr "внутрішня помилка компілятора: повторний вхід до процедур сповіщення про помилки.\n" + + #: diagnostic.cc:2236 diagnostic.cc:2255 + #, gcc-internal-format, gfc-internal-format + msgid "in %s, at %s:%d" +-msgstr "у %s, на %s:%d" ++msgstr "у %s, %s:%d" + + #: final.cc:1096 + msgid "negative insn length" +-msgstr "відʼємна довжина інструкції" ++msgstr "від’ємна довжина інструкції" + + #: final.cc:2808 + msgid "could not split insn" +-msgstr "не вдалося розбити інструкцію" ++msgstr "не вдалося розділити інструкцію" + + #: final.cc:3183 + msgid "invalid 'asm': " +-msgstr "недійсний 'asm': " ++msgstr "некоректна asm: " + + #: final.cc:3316 + #, c-format + msgid "nested assembly dialect alternatives" +-msgstr "вкладені альтернативи діалекту асемблера" ++msgstr "вкладені варіанти діалектів асемблера" + + #: final.cc:3344 final.cc:3356 + #, c-format + msgid "unterminated assembly dialect alternative" +-msgstr "незавершена альтернатива діалекту асемблера" ++msgstr "незавершена вставка діалектом асемблера" + + #: final.cc:3498 + #, c-format + msgid "operand number missing after %%-letter" +-msgstr "відсутній номер операнду після %%-літери" ++msgstr "пропущено операнд після %%-літери" + + #: final.cc:3501 final.cc:3542 + #, c-format + msgid "operand number out of range" +-msgstr "номер операнду поза діапазоном" ++msgstr "кількість операндів поза межами припустимого діапазону" + + #: final.cc:3559 + #, c-format + msgid "invalid %%-code" +-msgstr "неправильний %%-код" ++msgstr "некоректний %%-код" + + #: final.cc:3593 + #, c-format + msgid "'%%l' operand isn't a label" +-msgstr "операнд '%%l' не є міткою" ++msgstr "операнд «%%l» не є міткою" + + #. We can't handle floating point constants; + #. PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. TARGET_PRINT_OPERAND must handle them. +-#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12318 ++#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12317 + #, c-format + msgid "floating constant misused" +-msgstr "неправильне використання плаваючої константи" ++msgstr "помилкове використання сталої із рухомою крапкою" + +-#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12409 ++#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12408 + #: config/pdp11/pdp11.cc:1871 + #, c-format + msgid "invalid expression as operand" +-msgstr "неправильний вираз як операнд" ++msgstr "некоректний вираз операнда" + + #: gcc.cc:122 + #, c-format +@@ -17190,7 +17212,7 @@ msgstr "%s\n" + #: gcc.cc:1840 + #, c-format + msgid "Using built-in specs.\n" +-msgstr "Використання вбудованих специфікацій.\n" ++msgstr "Використовуємо вбудовані специфікації.\n" + + #: gcc.cc:2085 + #, c-format +@@ -17198,13 +17220,13 @@ msgid "" + "Setting spec %s to '%s'\n" + "\n" + msgstr "" +-"Встановлення специфікації %s на '%s'\n" ++"Встановлюємо специфікацію %s у значення «%s»\n" + "\n" + + #: gcc.cc:2290 + #, c-format + msgid "Reading specs from %s\n" +-msgstr "Читання специфікацій з %s\n" ++msgstr "Читаємо специфікації з %s\n" + + #: gcc.cc:2422 + #, c-format +@@ -17222,7 +17244,7 @@ msgid "" + "spec is '%s'\n" + "\n" + msgstr "" +-"специфікація - '%s'\n" ++"специфікація — «%s»\n" + "\n" + + #: gcc.cc:3360 +@@ -17232,7 +17254,7 @@ msgid "" + "Go ahead? (y or n) " + msgstr "" + "\n" +-"Продовжити? (так або ні) " ++"Продовжувати? (y — так або n — ні) " + + #: gcc.cc:3532 + #, c-format +@@ -17242,11 +17264,11 @@ msgstr "# %s %.2f %.2f\n" + #: gcc.cc:3712 + #, c-format + msgid "Usage: %s [options] file...\n" +-msgstr "Використання: %s [опції] файл...\n" ++msgstr "Використання: %s [параметри] файл…\n" + + #: gcc.cc:3713 + msgid "Options:\n" +-msgstr "Опції:\n" ++msgstr "Параметри:\n" + + #: gcc.cc:3715 + msgid " -pass-exit-codes Exit with highest error code from a phase.\n" +@@ -17262,7 +17284,7 @@ msgstr " --target-help Вивести параметри коман + + #: gcc.cc:3719 + msgid " --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...].\n" +-msgstr " --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...]\n" ++msgstr " --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...].\n" + + #: gcc.cc:3720 + msgid " Display specific types of command line options.\n" +@@ -17290,7 +17312,7 @@ msgstr " -dumpmachine Вивести дані щодо процес + + #: gcc.cc:3727 + msgid " -foffload= Specify offloading targets.\n" +-msgstr " -foffload=<цілі> Вказати цілі для вивантаження.\n" ++msgstr "" + + #: gcc.cc:3728 + msgid " -print-search-dirs Display the directories in the compiler's search path.\n" +@@ -17325,7 +17347,7 @@ msgid "" + " -print-multi-lib Display the mapping between command line options and\n" + " multiple library search directories.\n" + msgstr "" +-" -print-multi-lib Вивести привʼязку між параметрами командного рядка і\n" ++" -print-multi-lib Вивести прив'язку між параметрами командного рядка і\n" + " і каталогами пошуку мультибібліотек.\n" + + #: gcc.cc:3739 +@@ -17334,7 +17356,7 @@ msgstr " -print-multi-os-directory Вивести відносний шлях + + #: gcc.cc:3740 + msgid " -print-sysroot Display the target libraries directory.\n" +-msgstr " -print-sysroot Вивести каталог бібліотек цільової системи.\n" ++msgstr " -print-sysroot Вивести каталог призначення бібліотек.\n" + + #: gcc.cc:3741 + msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers.\n" +@@ -17342,51 +17364,51 @@ msgstr " -print-sysroot-headers-suffix Вивести суфікс sysroot, я + + #: gcc.cc:3742 + msgid " -Wa, Pass comma-separated on to the assembler.\n" +-msgstr " -Wa, Передати кома-розділені асемблеру.\n" ++msgstr " -Wa,<параметри> Передати асемблеру список відокремлених комами параметрів.\n" + + #: gcc.cc:3743 + msgid " -Wp, Pass comma-separated on to the preprocessor.\n" +-msgstr " -Wp, Передати кома-розділені препроцесору.\n" ++msgstr " -Wp,<параметри> Передати засобу попередньої обробки список відокремлених комами параметрів.\n" + + #: gcc.cc:3744 + msgid " -Wl, Pass comma-separated on to the linker.\n" +-msgstr " -Wl,<опції> Передати комами розділені <опції> лінкеру.\n" ++msgstr " -Wl,<параметри> Передати компонувальнику список відокремлених комами параметрів.\n" + + #: gcc.cc:3745 + msgid " -Xassembler Pass on to the assembler.\n" +-msgstr " -Xassembler <арг> Передати <арг> асемблеру.\n" ++msgstr " -Xassembler <арг> Передати аргумент <арг> асемблеру.\n" + + #: gcc.cc:3746 + msgid " -Xpreprocessor Pass on to the preprocessor.\n" +-msgstr " -Xpreprocessor <арг> Передати <арг> препроцесору.\n" ++msgstr " -Xpreprocessor <арг> Передати аргумент <арг> засобу попередньої обробки.\n" + + #: gcc.cc:3747 + msgid " -Xlinker Pass on to the linker.\n" +-msgstr " -Xlinker <арг> Передати <арг> лінкеру.\n" ++msgstr " -Xlinker <арг> Передати аргумент <арг> компонувальнику.\n" + + #: gcc.cc:3748 + msgid " -save-temps Do not delete intermediate files.\n" +-msgstr " -save-temps Не видаляти проміжні файли.\n" ++msgstr " -save-temps Не вилучати проміжні файли.\n" + + #: gcc.cc:3749 + msgid " -save-temps= Do not delete intermediate files.\n" +-msgstr " -save-temps=<арг> Не видаляти проміжні файли.\n" ++msgstr " -save-temps=<арг> Не вилучати проміжні файли.\n" + + #: gcc.cc:3750 + msgid "" + " -no-canonical-prefixes Do not canonicalize paths when building relative\n" + " prefixes to other gcc components.\n" + msgstr "" +-" -no-canonical-prefixes Не канонізувати шляхи при побудові відносних\n" +-" префіксів до інших компонентів gcc.\n" ++" -no-canonical-prefixes Не перетворювати до канонічної форми шляхи під час\n" ++" побудови відносних префіксів до інших компонент gcc.\n" + + #: gcc.cc:3753 + msgid " -pipe Use pipes rather than intermediate files.\n" +-msgstr " -pipe Використовувати канали замість проміжних файлів.\n" ++msgstr " -pipe Використовувати канали передавання даних замість проміжних файлів.\n" + + #: gcc.cc:3754 + msgid " -time Time the execution of each subprocess.\n" +-msgstr " -time Вимірювати час виконання кожного підпроцесу.\n" ++msgstr " -time Вимірювати час виконання кожного з підпроцесів.\n" + + #: gcc.cc:3755 + msgid " -specs= Override built-in specs with the contents of .\n" +@@ -17394,15 +17416,15 @@ msgstr " -specs=<файл> Перевизначити вбудова + + #: gcc.cc:3756 + msgid " -std= Assume that the input sources are for .\n" +-msgstr " -std=<стандарт> Припускати, що вхідні джерела призначені для <стандарту>.\n" ++msgstr " -std=<стандарт> Припускати для вхідних кодів відповідність вказаному стандарту.\n" + + #: gcc.cc:3757 + msgid "" + " --sysroot= Use as the root directory for headers\n" + " and libraries.\n" + msgstr "" +-" --sysroot=<каталог> Використовувати <каталог> як кореневий каталог для заголовків\n" +-" та бібліотек.\n" ++" --sysroot=<каталог> Використовувати <каталог> як кореневий для заголовків\n" ++" і бібліотек.\n" + + #: gcc.cc:3760 + msgid " -B Add to the compiler's search paths.\n" +@@ -17414,7 +17436,7 @@ msgstr " -v Виводити назви програм, + + #: gcc.cc:3762 + msgid " -### Like -v but options quoted and commands not executed.\n" +-msgstr " -### Подібно до -v, але опції взяті в лапки і команди не виконуються.\n" ++msgstr " -### Подібне до -v, але із лапками для параметрів і без виконання команд.\n" + + #: gcc.cc:3763 + msgid " -E Preprocess only; do not compile, assemble or link.\n" +@@ -17426,23 +17448,23 @@ msgstr " -S Лише скомпілювати; не зб + + #: gcc.cc:3765 + msgid " -c Compile and assemble, but do not link.\n" +-msgstr " -c Компілювати і збирати, але не звʼязувати.\n" ++msgstr " -c Скомпілювати і зібрати, але не компонувати.\n" + + #: gcc.cc:3766 + msgid " -o Place the output into .\n" +-msgstr " -o <файл> Зберегти результат у файл <файл>.\n" ++msgstr " -o <файл> Вивести результати до файла <файл>.\n" + + #: gcc.cc:3767 + msgid "" + " -pie Create a dynamically linked position independent\n" + " executable.\n" + msgstr "" +-" -pie Створити виконуваний файл з динамічними звʼязками та незалежними від позиції\n" +-" кодом.\n" ++" -pie створити динамічно скомпонований виконуваний файл з\n" ++" незалежним позиціюванням\n" + + #: gcc.cc:3769 + msgid " -shared Create a shared library.\n" +-msgstr " -shared Створити спільну бібліотеку.\n" ++msgstr " -shared створити бібліотеку спільного використання\n" + + #: gcc.cc:3770 + msgid "" +@@ -17451,10 +17473,10 @@ msgid "" + " 'none' means revert to the default behavior of\n" + " guessing the language based on the file's extension.\n" + msgstr "" +-" -x <мова> Вказати мову наступних вхідних файлів.\n" +-" Допустимі мови: c c++ assembler none\n" +-" 'none' означає повернення до типової поведінки,\n" +-" коли мова визначається на підставі розширення файлу.\n" ++" -x <мова> Вказати мову для наступних файлів вхідних даних.\n" ++" Можливі варіанти мов: c c++ assembler none\n" ++" «none» означає «повернутися до типової поведінки\n" ++" із визначенням мови на основі суфікса назви файла».\n" + + #: gcc.cc:3777 + #, c-format +@@ -17517,12 +17539,12 @@ msgstr "Версія драйвера gcc %s %sвиконуємо версію g + #: gcc.cc:7634 gcc.cc:7844 + #, c-format + msgid "The bug is not reproducible, so it is likely a hardware or OS problem.\n" +-msgstr "Помилку не вдається відтворити, тому це, ймовірно, проблема з апаратним забезпеченням або операційною системою.\n" ++msgstr "Ваду не вдається відтворити. Ймовірно, її пов'язано із обладнанням або операційною системою.\n" + + #: gcc.cc:7768 + #, c-format + msgid "Preprocessed source stored into %s file, please attach this to your bugreport.\n" +-msgstr "Попередньо оброблений вихідний код збережено у файлі %s, будь ласка, додайте його до вашого звіту про помилку.\n" ++msgstr "Попередньо оброблений код збережено до файла %s. Будь ласка, долучіть цей файл до вашого звіту щодо вади.\n" + + #: gcc.cc:8619 + #, c-format +@@ -17546,7 +17568,7 @@ msgid "" + "For bug reporting instructions, please see:\n" + msgstr "" + "\n" +-"Інструкції з повідомлення про помилку дивіться за посиланням:\n" ++"Настанови щодо звітування про вади наведено тут:\n" + + #: gcc.cc:8757 gcov-tool.cc:594 + #, c-format +@@ -17555,7 +17577,7 @@ msgstr "%s %s%s\n" + + #: gcc.cc:8760 gcov-tool.cc:596 gcov.cc:968 fortran/gfortranspec.cc:282 + msgid "(C)" +-msgstr "(C)" ++msgstr "©" + + #: gcc.cc:8761 gcov-tool.cc:598 gcov.cc:970 fortran/gfortranspec.cc:283 + #, c-format +@@ -17564,9 +17586,10 @@ msgid "" + "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" + "\n" + msgstr "" +-"Це вільне програмне забезпечення; дивіться вихідний код для умов копіювання. НЕМАЄ\n" +-"гарантії; навіть не для ПРИДАТНОСТІ ДЛЯ ПРОДАЖУ або ПРИДАТНОСТІ ДЛЯ ПЕВНОГО\n" +-"ПРИЗНАЧЕННЯ.\n" ++"Це програмне забезпечення є вільним, умови копіювання викладено у його\n" ++"початкових кодах.\n" ++"Умовами ліцензування програми НЕ передбачено жодних гарантій, зокрема\n" ++"гарантій працездатності або придатності для певної мети.\n" + "\n" + + #: gcc.cc:9104 +@@ -17614,12 +17637,12 @@ msgstr "" + #: gcov-tool.cc:157 gcov-tool.cc:300 + #, c-format + msgid "no profile files were merged\n" +-msgstr "не було обʼєднано жодного файлу профілю\n" ++msgstr "" + + #: gcov-tool.cc:169 + #, c-format + msgid " merge [options] Merge coverage file contents\n" +-msgstr " merge [параметри] <кат1> <кат2> обʼєднати вміст файлів покриття\n" ++msgstr " merge [параметри] <кат1> <кат2> об'єднати вміст файлів покриття\n" + + #: gcov-tool.cc:170 gcov-tool.cc:337 + #, c-format +@@ -17637,23 +17660,28 @@ msgid " -w, --weight Set weights (float point values)\ + msgstr " -w, --weight встановити ваги (значення із рухомою крапкою)\n" + + #: gcov-tool.cc:188 +-#, c-format ++#, fuzzy, c-format ++#| msgid "Merge subcomand usage:" + msgid "Merge subcommand usage:" +-msgstr "Використання підкоманди злиття:" ++msgstr "Користування підкомандою merge:" + + #: gcov-tool.cc:240 +-#, c-format ++#, fuzzy, c-format ++#| msgid "" ++#| " -l, --long-file-names Use long output file names for included\n" ++#| " source files\n" + msgid "" + " merge-stream [options] [] Merge coverage stream file (or stdin)\n" + " and coverage file contents\n" + msgstr "" +-" merge-stream [параметри] [<файл>] Обʼєднати файл потоку покриття (або stdin)\n" +-" та вміст файлу покриття\n" ++" -l, --long-file-names використовувати довгі назви файлів виведення для\n" ++" включених файлів початкового коду\n" + + #: gcov-tool.cc:258 +-#, c-format ++#, fuzzy, c-format ++#| msgid "Merge subcomand usage:" + msgid "Merge-stream subcommand usage:" +-msgstr "Використання підкоманди злиття потоку:" ++msgstr "Користування підкомандою merge:" + + #: gcov-tool.cc:335 + #, c-format +@@ -17668,52 +17696,52 @@ msgstr " -n, --normalize Нормалізувати пр + #: gcov-tool.cc:338 + #, c-format + msgid " -s, --scale Scale the profile counters\n" +-msgstr " -s, --scale <дробове число або проста дріб> Масштабувати лічильники профілів\n" ++msgstr " -s, --scale масштабувати лічильники профілювання\n" + + #: gcov-tool.cc:356 + #, c-format + msgid "Rewrite subcommand usage:" +-msgstr "Використання підкоманди перезапису:" ++msgstr "Користування підкомандою rewrite:" + + #: gcov-tool.cc:395 + #, c-format + msgid "scaling cannot co-exist with normalization, skipping\n" +-msgstr "Масштабування не може співіснувати з нормалізацією, пропускаю\n" ++msgstr "масштабування не може співіснувати зі нормалізацією, пропускаємо\n" + + #: gcov-tool.cc:408 gcov-tool.cc:418 + #, c-format + msgid "incorrect format in scaling, using 1/1\n" +-msgstr "Неправильний формат масштабування, використовується 1/1\n" ++msgstr "помилковий формат у масштабуванні, використовуємо 1/1\n" + + #: gcov-tool.cc:428 + #, c-format + msgid "normalization cannot co-exist with scaling\n" +-msgstr "Нормалізація не може співіснувати з масштабуванням\n" ++msgstr "нормалізація не може співіснувати із масштабуванням\n" + + #: gcov-tool.cc:485 + #, c-format + msgid " overlap [options] Compute the overlap of two profiles\n" +-msgstr " перекриття [параметри] <кат1> <кат2> Обчислити перекриття двох профілів\n" ++msgstr " overlap [параметри] <каталог1> <каталог2> визначити перекриття двох провілів\n" + + #: gcov-tool.cc:486 + #, c-format + msgid " -f, --function Print function level info\n" +-msgstr " -f, --function Вивести інформацію на рівні функцій\n" ++msgstr " -f, --function Вивести дані щодо рівня функції\n" + + #: gcov-tool.cc:487 + #, c-format + msgid " -F, --fullname Print full filename\n" +-msgstr " -F, --fullname Вивести повне імʼя файлу\n" ++msgstr " -F, --fullname Вивести назву файла повністю\n" + + #: gcov-tool.cc:488 + #, c-format + msgid " -h, --hotonly Only print info for hot objects/functions\n" +-msgstr " -h, --hotonly виводити дані лише для «гарячих» обʼєктів або функцій\n" ++msgstr " -h, --hotonly виводити дані лише для «гарячих» об'єктів або функцій\n" + + #: gcov-tool.cc:489 + #, c-format + msgid " -o, --object Print object level info\n" +-msgstr " -o, --object Вивести дані щодо рівня обʼєкта\n" ++msgstr " -o, --object Вивести дані щодо рівня об'єкта\n" + + #: gcov-tool.cc:490 + #, c-format +@@ -17721,9 +17749,10 @@ msgid " -t , --hot_threshold Set the threshold for hotness\n" + msgstr " -t , --hot_threshold встановити порогове значення «гарячості»\n" + + #: gcov-tool.cc:510 +-#, c-format ++#, fuzzy, c-format ++#| msgid "Overlap subcomand usage:" + msgid "Overlap subcommand usage:" +-msgstr "Використання підкоманди перекриття:" ++msgstr "Користування підкомандою overlap:" + + #: gcov-tool.cc:576 + #, c-format +@@ -17731,7 +17760,7 @@ msgid "" + "Usage: %s [OPTION]... SUB_COMMAND [OPTION]...\n" + "\n" + msgstr "" +-"Використання: %s [ПАРАМЕТР]... ПІДКОМАНДА [ПАРАМЕТР]...\n" ++"Користування: %s [ПАРАМЕТР]... ПІДКОМАНДА [ПАРАМЕТР]...\n" + "\n" + + #: gcov-tool.cc:577 +@@ -17740,7 +17769,7 @@ msgid "" + "Offline tool to handle gcda counts\n" + "\n" + msgstr "" +-"Офлайн-інструмент для обробки лічильників gcda\n" ++"Автономний інструмент для обробки лічильників gcda\n" + "\n" + + #: gcov-tool.cc:578 +@@ -17761,14 +17790,14 @@ msgid "" + "%s.\n" + msgstr "" + "\n" +-"Щоб отримати інструкції з повідомлення про помилки, див.:\n" ++"Настанови щодо звітування про вади наведено тут:\n" + "%s.\n" +-"\n" + + #: gcov-tool.cc:595 +-#, c-format ++#, fuzzy, c-format ++#| msgid "Copyright %s 2022 Free Software Foundation, Inc.\n" + msgid "Copyright %s 2023 Free Software Foundation, Inc.\n" +-msgstr "Авторське право %s 2023 Free Software Foundation, Inc.\n" ++msgstr "© %s Free Software Foundation, Inc., 2022\n" + + #: gcov.cc:925 + #, c-format +@@ -17776,7 +17805,7 @@ msgid "" + "Usage: gcov [OPTION...] SOURCE|OBJ...\n" + "\n" + msgstr "" +-"Використання: gcov [ПАРАМЕТР...] ДЖЕРЕЛО|OBJ...\n" ++"Користування: gcov [ПАРАМЕТР...] ПОЧАТКОВИЙ_КОД|OBJ...\n" + "\n" + + #: gcov.cc:926 +@@ -17785,18 +17814,18 @@ msgid "" + "Print code coverage information.\n" + "\n" + msgstr "" +-"Вивести інформацію про покриття коду.\n" ++"Виводить дані щодо покриття коду.\n" + "\n" + + #: gcov.cc:927 + #, c-format + msgid " -a, --all-blocks Show information for every basic block\n" +-msgstr " -a, --all-blocks Показати інформацію для кожного базового блоку\n" ++msgstr " -a, --all-blocks Вивести дані щодо кожного базового блоку\n" + + #: gcov.cc:928 + #, c-format + msgid " -b, --branch-probabilities Include branch probabilities in output\n" +-msgstr " -b, --branch-probabilities Включити ймовірності гілок у вихідні дані\n" ++msgstr " -b, --branch-probabilities Включити ймовірності розгалужень до виведених даних\n" + + #: gcov.cc:929 + #, c-format +@@ -17804,49 +17833,45 @@ msgid "" + " -c, --branch-counts Output counts of branches taken\n" + " rather than percentages\n" + msgstr "" +-" -c, --branch-counts Вивести кількість виконаних гілок\n" +-" замість відсотків\n" +-" -c, --branch-counts Виводити кількість виконаних гілок,\n" +-" а не відсотки\n" ++" -c, --branch-counts Виводити кількість гілок,\n" ++" а не частку\n" + + #: gcov.cc:931 + #, c-format + msgid " -d, --display-progress Display progress information\n" +-msgstr " -d, --display-progress Показувати інформацію про прогрес\n" ++msgstr " -d, --display-progress Виводити дані щодо поступу\n" + + #: gcov.cc:932 + #, c-format + msgid " -D, --debug\t\t\t Display debugging dumps\n" +-msgstr " -D, --debug\t\t\t Показувати відлагоджувальні дампи\n" ++msgstr " -D, --debug\t\t\t Виводити діагностичні дані\n" + + #: gcov.cc:933 + #, c-format + msgid " -f, --function-summaries Output summaries for each function\n" +-msgstr " -f, --function-summaries Виводити підсумки для кожної функції\n" ++msgstr " -f, --function-summaries Виводити резюме щодо кожної функції\n" + + #: gcov.cc:934 + #, c-format + msgid " -h, --help Print this help, then exit\n" +-msgstr " -h, --help Вивести цю довідку, а потім вийти\n" ++msgstr " -h, --help Вивести ці довідкові дані, потім вийти\n" + + #: gcov.cc:935 + #, c-format + msgid "" + " -j, --json-format Output JSON intermediate format\n" + " into .gcov.json.gz file\n" +-msgstr "" +-" -j, --json-format Вивід JSON проміжного формату\n" +-" у файл .gcov.json.gz\n" ++msgstr " -j, --json-format вивести дані у проміжному форматі JSON до файла .gcov.json.gz\n" + + #: gcov.cc:937 + #, c-format + msgid " -H, --human-readable Output human readable numbers\n" +-msgstr " -H, --human-readable Вивід чисел у зрозумілому форматі\n" ++msgstr " -H, --human-readable Виводити зручні для читання числа\n" + + #: gcov.cc:938 + #, c-format + msgid " -k, --use-colors Emit colored output\n" +-msgstr " -k, --use-colors Вивід кольорового тексту\n" ++msgstr " -k, --use-colors Розфарбувати виведені дані\n" + + #: gcov.cc:939 + #, c-format +@@ -17854,68 +17879,68 @@ msgid "" + " -l, --long-file-names Use long output file names for included\n" + " source files\n" + msgstr "" +-" -l, --long-file-names Використовувати довгі імена вихідних файлів\n" +-" для включених файлів\n" ++" -l, --long-file-names використовувати довгі назви файлів виведення для\n" ++" включених файлів початкового коду\n" + + #: gcov.cc:941 + #, c-format + msgid " -m, --demangled-names Output demangled function names\n" +-msgstr " -m, --demangled-names Вивід роздекорованих назв функцій\n" ++msgstr " -m, --demangled-names виводити розшифровані назви функцій\n" + + #: gcov.cc:942 + #, c-format + msgid " -n, --no-output Do not create an output file\n" +-msgstr " -n, --no-output Не створювати вихідний файл\n" ++msgstr " -n, --no-output не створювати файла виведених даних\n" + + #: gcov.cc:943 + #, c-format + msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n" +-msgstr " -o, --object-directory DIR|FILE Пошук обʼєктних файлів у каталозі DIR або з назвою FILE\n" ++msgstr " -o, --object-directory КАТ|ФАЙЛ Шукати об'єктні файли у каталозі КАТ або із назвою ФАЙЛ\n" + + #: gcov.cc:944 + #, c-format + msgid " -p, --preserve-paths Preserve all pathname components\n" +-msgstr " -p, --preserve-paths Зберігати всі компоненти шляху\n" ++msgstr " -p, --preserve-paths зберігати компоненти шляхів\n" + + #: gcov.cc:945 + #, c-format + msgid " -q, --use-hotness-colors Emit perf-like colored output for hot lines\n" +-msgstr " -q, --use-hotness-colors Виводити кольоровий результат для гарячих рядків, схожий на perf\n" ++msgstr " -q, --use-hotness-colors виводити результати із розфарбовуванням подібним до perf для «гарячих» рядків\n" + + #: gcov.cc:946 + #, c-format + msgid " -r, --relative-only Only show data for relative sources\n" +-msgstr " -r, --relative-only Показувати дані тільки для відносних джерел\n" ++msgstr " -r, --relative-only вивести дані лише для відносних джерел\n" + + #: gcov.cc:947 + #, c-format + msgid " -s, --source-prefix DIR Source prefix to elide\n" +-msgstr " -s, --source-prefix DIR Префікс джерела для видалення\n" ++msgstr " -s, --source-prefix КАТ префікс коду для пропускання\n" + + #: gcov.cc:948 + #, c-format + msgid " -t, --stdout Output to stdout instead of a file\n" +-msgstr " -t, --stdout Вивід на stdout замість файлу\n" ++msgstr " -t, --stdout вивести дані до стандартного виведення, а не до файла\n" + + #: gcov.cc:949 + #, c-format + msgid " -u, --unconditional-branches Show unconditional branch counts too\n" +-msgstr " -u, --unconditional-branches Показувати також кількість безумовних гілок\n" ++msgstr " -u, --unconditional-branches показувати і кількість безумовних гілок\n" + + #: gcov.cc:950 + #, c-format + msgid " -v, --version Print version number, then exit\n" +-msgstr " -v, --version Вивести номер версії і вийти\n" ++msgstr " -v, --version Вивести дані щодо версії, далі вийти\n" + + #: gcov.cc:951 + #, c-format + msgid " -w, --verbose Print verbose informations\n" +-msgstr " -w, --verbose Вивести докладну інформацію\n" ++msgstr " -w, --verbose Режим докладних повідомлень\n" + + #: gcov.cc:952 + #, c-format + msgid " -x, --hash-filenames Hash long pathnames\n" +-msgstr " -x, --hash-filenames Хешувати довгі шляхи до файлів\n" ++msgstr " -x, --hash-filenames хешувати довгі шляхи\n" + + #: gcov.cc:953 + #, c-format +@@ -17944,102 +17969,102 @@ msgstr "gcov %s%s\n" + #: gcov.cc:1354 + #, c-format + msgid "'%s' file is already processed\n" +-msgstr "Файл '%s' вже оброблено\n" ++msgstr "Файл «%s» вже оброблено\n" + + #: gcov.cc:1470 gcov.cc:1599 + #, c-format + msgid "Creating '%s'\n" +-msgstr "Створення '%s'\n" ++msgstr "Створюємо «%s»\n" + + #: gcov.cc:1474 + #, c-format + msgid "Error writing output file '%s'\n" +-msgstr "Помилка запису у вихідний файл '%s'\n" ++msgstr "Помилка під час спроби записати файл «%s»\n" + + #: gcov.cc:1482 + #, c-format + msgid "Could not open output file '%s'\n" +-msgstr "Не вдалося відкрити вихідний файл '%s'\n" ++msgstr "Не вдалося відкрити файл результатів «%s»\n" + + #: gcov.cc:1489 + #, c-format + msgid "Removing '%s'\n" +-msgstr "Видалення '%s'\n" ++msgstr "Вилучаємо «%s»\n" + + #: gcov.cc:1604 + #, c-format + msgid "Cannot open JSON output file %s\n" +-msgstr "Не вдалося відкрити JSON-файл виводу %s\n" ++msgstr "Не вдалося відкрити файл зі виведеними даними JSON %s\n" + + #: gcov.cc:1613 + #, c-format + msgid "Error writing JSON output file %s\n" +-msgstr "Помилка запису у JSON-файл виводу %s\n" ++msgstr "Помилка під час спроби записати файл із виведеними даними JSON %s\n" + + #: gcov.cc:1778 + #, c-format + msgid "%s:source file is newer than notes file '%s'\n" +-msgstr "%s:Вихідний файл новіший за файл приміток '%s'\n" ++msgstr "%s:файл початкового коду є новішим за файл нотаток «%s»\n" + + #: gcov.cc:1783 + #, c-format + msgid "(the message is displayed only once per source file)\n" +-msgstr "(повідомлення показується лише один раз для кожного вихідного файлу)\n" ++msgstr "(повідомлення буде показано лише один раз на один файл з кодом)\n" + + #: gcov.cc:1803 + #, c-format + msgid "%s:cannot open notes file\n" +-msgstr "%s:не вдається відкрити файл заміток\n" ++msgstr "%s:не вдалося відкрити файл нотаток\n" + + #: gcov.cc:1810 + #, c-format + msgid "%s:not a gcov notes file\n" +-msgstr "%s:не є файлом заміток gcov\n" ++msgstr "%s:не є файлом нотаток gcov\n" + + #: gcov.cc:1824 + #, c-format + msgid "%s:version '%.4s', prefer '%.4s'\n" +-msgstr "%s:версія '%.4s', бажано '%.4s'\n" ++msgstr "" + + #: gcov.cc:1877 + #, c-format + msgid "%s:already seen blocks for '%s'\n" +-msgstr "%s:вже бачені блоки для '%s'\n" ++msgstr "" + + #: gcov.cc:1993 gcov.cc:2107 + #, c-format + msgid "%s:corrupted\n" +-msgstr "%s:пошкоджено\n" ++msgstr "" + + #: gcov.cc:2001 + #, c-format + msgid "%s:no functions found\n" +-msgstr "%s:не знайдено функцій\n" ++msgstr "" + + #: gcov.cc:2019 + #, c-format + msgid "%s:cannot open data file, assuming not executed\n" +-msgstr "%s:не вдається відкрити файл даних, припускаю, що не виконується\n" ++msgstr "" + + #: gcov.cc:2026 + #, c-format + msgid "%s:not a gcov data file\n" +-msgstr "%s:не є файлом даних gcov\n" ++msgstr "" + + #: gcov.cc:2040 + #, c-format + msgid "%s:version '%.4s', prefer version '%.4s'\n" +-msgstr "%s:версія '%.4s', бажано версію '%.4s'\n" ++msgstr "" + + #: gcov.cc:2047 + #, c-format + msgid "%s:stamp mismatch with notes file\n" +-msgstr "%s:неспівпадіння штампу з файлом заміток\n" ++msgstr "" + + #: gcov.cc:2084 + #, c-format + msgid "%s:profile mismatch for '%s'\n" +-msgstr "%s:неспівпадіння профілю для '%s'\n" ++msgstr "%s:невідповідність профілів для «%s»\n" + + #: gcov.cc:2106 + #, c-format +@@ -18049,27 +18074,27 @@ msgstr "%s:переповнено\n" + #: gcov.cc:2154 + #, c-format + msgid "%s:'%s' lacks entry and/or exit blocks\n" +-msgstr "%s:у '%s' відсутні блоки входу та/або виходу\n" ++msgstr "" + + #: gcov.cc:2159 + #, c-format + msgid "%s:'%s' has arcs to entry block\n" +-msgstr "%s:у '%s' є дуги до блоку входу\n" ++msgstr "" + + #: gcov.cc:2167 + #, c-format + msgid "%s:'%s' has arcs from exit block\n" +-msgstr "%s:у '%s' є дуги з блоку виходу\n" ++msgstr "" + + #: gcov.cc:2376 + #, c-format + msgid "%s:graph is unsolvable for '%s'\n" +-msgstr "%s:граф не має розвʼязку для '%s'\n" ++msgstr "" + + #: gcov.cc:2492 + #, c-format + msgid "Lines executed:%s of %d\n" +-msgstr "Виконано рядків:%s з %d\n" ++msgstr "Виконаних рядків:%s з %d\n" + + #: gcov.cc:2495 + #, c-format +@@ -18079,22 +18104,22 @@ msgstr "Немає виконуваних рядків\n" + #: gcov.cc:2503 gcov.cc:2512 + #, c-format + msgid "%s '%s'\n" +-msgstr "%s '%s'\n" ++msgstr "%s «%s»\n" + + #: gcov.cc:2519 + #, c-format + msgid "Branches executed:%s of %d\n" +-msgstr "Виконано гілок:%s з %d\n" ++msgstr "" + + #: gcov.cc:2523 + #, c-format + msgid "Taken at least once:%s of %d\n" +-msgstr "Виконано хоча б один раз:%s з %d\n" ++msgstr "" + + #: gcov.cc:2529 + #, c-format + msgid "No branches\n" +-msgstr "Немає гілок\n" ++msgstr "Немає відгалужень\n" + + #: gcov.cc:2531 + #, c-format +@@ -18109,27 +18134,28 @@ msgstr "Немає викликів\n" + #: gcov.cc:2755 + #, c-format + msgid "%s:no lines for '%s'\n" +-msgstr "%s: немає рядків для '%s'\n" ++msgstr "%s: немає рядків з «%s»\n" + + #: gcov.cc:2881 + #, c-format + msgid "call %2d returned %s\n" +-msgstr "виклик %2d повернув %s\n" ++msgstr "" + + #: gcov.cc:2886 + #, c-format + msgid "call %2d never executed\n" +-msgstr "виклик %2d ніколи не виконувався\n" ++msgstr "виклик %2d ніколи не виконувався\n" + + #: gcov.cc:2891 + #, c-format + msgid "branch %2d taken %s%s" +-msgstr "гілка %2d виконана %s%s" ++msgstr "" + + #: gcov.cc:2896 +-#, c-format ++#, fuzzy, c-format ++#| msgid "branch %2d never executed" + msgid "branch %2d never executed%s" +-msgstr "гілка %2d ніколи не виконувалась%s" ++msgstr "гілка %2d ніколи не виконувалася" + + #: gcov.cc:2901 + #, c-format +@@ -18139,69 +18165,69 @@ msgstr " (BB %d)" + #: gcov.cc:2908 + #, c-format + msgid "unconditional %2d taken %s\n" +-msgstr "безумовний %2d виконаний %s\n" ++msgstr "" + + #: gcov.cc:2911 + #, c-format + msgid "unconditional %2d never executed\n" +-msgstr "безумовний %2d ніколи не виконувався\n" ++msgstr "" + + #: gcov.cc:3163 + #, c-format + msgid "Cannot open source file %s\n" +-msgstr "Не вдалося відкрити вихідний файл %s\n" ++msgstr "Не вдалося відкрити файл початкового коду %s\n" + + #: gcse.cc:2578 + msgid "PRE disabled" +-msgstr "PRE вимкнено" ++msgstr "" + + #: gcse.cc:3505 + msgid "GCSE disabled" +-msgstr "GCSE вимкнено" ++msgstr "" + + #: incpath.cc:77 + #, c-format + msgid "ignoring duplicate directory \"%s\"\n" +-msgstr "ігнорується дублюючий каталог «%s»\n" ++msgstr "" + + #: incpath.cc:80 + #, c-format + msgid " as it is a non-system directory that duplicates a system directory\n" +-msgstr " оскільки це несистемний каталог, який дублює системний каталог\n" ++msgstr "" + + #: incpath.cc:84 + #, c-format + msgid "ignoring nonexistent directory \"%s\"\n" +-msgstr "ігнорується неіснуючий каталог «%s»\n" ++msgstr "" + + #: incpath.cc:391 + #, c-format + msgid "#include \"...\" search starts here:\n" +-msgstr "Пошук «#include \"...\"» починається тут:\n" ++msgstr "" + + #: incpath.cc:395 + #, c-format + msgid "#include <...> search starts here:\n" +-msgstr "Пошук «#include <...>» починається тут:\n" ++msgstr "" + + #: incpath.cc:400 + #, c-format + msgid "End of search list.\n" +-msgstr "Кінець списку пошуку.\n" ++msgstr "" + + #: input.cc:35 + msgid "" +-msgstr "<вбудований>" ++msgstr "<вбудоване>" + + #. Opening quotation mark. + #: intl.cc:62 + msgid "`" +-msgstr "«" ++msgstr "" + + #. Closing quotation mark. + #: intl.cc:65 + msgid "'" +-msgstr "»" ++msgstr "" + + #: langhooks.cc:384 + msgid "At top level:" +@@ -18219,16 +18245,16 @@ msgstr "У функції %qs" + + #: langhooks.cc:449 + msgid " inlined from %qs at %r%s:%d:%d%R" +-msgstr " вбудовано з %qs в %r%s:%d:%d%R" ++msgstr "" + + #: langhooks.cc:454 + msgid " inlined from %qs at %r%s:%d%R" +-msgstr " вбудовано з %qs в %r%s:%d%R" ++msgstr "" + + #: langhooks.cc:460 + #, c-format + msgid " inlined from %qs" +-msgstr " вбудовано з %qs" ++msgstr "" + + #: lra-assigns.cc:1871 reload1.cc:2073 + msgid "this is the insn:" +@@ -18236,139 +18262,139 @@ msgstr "це інструкція:" + + #: lra-constraints.cc:3144 + msgid "unable to generate reloads for impossible constraints:" +-msgstr "неможливо згенерувати перезавантаження для неможливих обмежень:" ++msgstr "" + + #: lra-constraints.cc:4170 reload.cc:3844 + msgid "unable to generate reloads for:" +-msgstr "не вдалося згенерувати перезавантаження для:" ++msgstr "" + + #. What to print when a switch has no documentation. + #: opts.cc:325 + msgid "This option lacks documentation." +-msgstr "Ця опція не має документації." ++msgstr "Цей перемикач не документовано." + + #: opts.cc:326 + msgid "Uses of this option are diagnosed." +-msgstr "Використання цієї опції діагностується." ++msgstr "" + +-#: opts.cc:1652 ++#: opts.cc:1651 + #, c-format + msgid "Same as %s%s (or, in negated form, %s%s)." +-msgstr "Те саме, що й %s%s (або, у заперечній формі, %s%s)." ++msgstr "" + +-#: opts.cc:1657 ++#: opts.cc:1656 + #, c-format + msgid "Same as %s%s." +-msgstr "Те саме, що й %s%s." ++msgstr "" + +-#: opts.cc:1662 ++#: opts.cc:1661 + #, c-format + msgid "Same as %s." +-msgstr "Те саме, що й %s." ++msgstr "Те саме, що і %s" + +-#: opts.cc:1670 ++#: opts.cc:1669 + #, c-format + msgid "%s Same as %s." +-msgstr "%s Те саме, що й %s." ++msgstr "" + +-#: opts.cc:1733 ++#: opts.cc:1732 + msgid "[available in " +-msgstr "[доступно в " ++msgstr "[доступний у " + +-#: opts.cc:1765 ++#: opts.cc:1764 + msgid "[default]" +-msgstr "[за замовчуванням]" ++msgstr "[типовий]" + +-#: opts.cc:1774 ++#: opts.cc:1773 + #, c-format + msgid "%llu bytes" +-msgstr "%llu байт" ++msgstr "" + +-#: opts.cc:1811 ++#: opts.cc:1810 + msgid "[enabled]" + msgstr "[увімкнено]" + +-#: opts.cc:1813 ++#: opts.cc:1812 + msgid "[disabled]" + msgstr "[вимкнено]" + +-#: opts.cc:1849 ++#: opts.cc:1848 + #, c-format + msgid " No options with the desired characteristics were found\n" +-msgstr " Не знайдено жодних параметрів з бажаними характеристиками\n" ++msgstr "" + +-#: opts.cc:1858 ++#: opts.cc:1857 + #, c-format + msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" +-msgstr " Не знайдено жодного. Використовуйте --help=%s, щоб показати *всі* параметри, підтримувані %s інтерфейсом.\n" ++msgstr "" + +-#: opts.cc:1864 ++#: opts.cc:1863 + #, c-format + msgid " All options with the desired characteristics have already been displayed\n" +-msgstr " Всі параметри з бажаними характеристиками вже були показані\n" ++msgstr "" + +-#: opts.cc:1909 ++#: opts.cc:1908 + #, c-format + msgid "" + " Known valid arguments for %s option:\n" + " " + msgstr "" +-" Відомі дійсні аргументи для параметра %s:\n" ++" Відомі коректні аргументи для параметра %s:\n" + " " + +-#: opts.cc:1959 ++#: opts.cc:1958 + msgid "The following options are target specific" +-msgstr "Наступні параметри специфічні для цілей" ++msgstr "" + +-#: opts.cc:1962 ++#: opts.cc:1961 + msgid "The following options control compiler warning messages" +-msgstr "Наступні параметри керують повідомленнями про попередження компілятора" ++msgstr "" + +-#: opts.cc:1965 ++#: opts.cc:1964 + msgid "The following options control optimizations" +-msgstr "Наступні параметри керують оптимізаціями" ++msgstr "" + +-#: opts.cc:1968 opts.cc:2008 ++#: opts.cc:1967 opts.cc:2007 + msgid "The following options are language-independent" +-msgstr "Наступні параметри не залежать від мови" ++msgstr "" + +-#: opts.cc:1971 ++#: opts.cc:1970 + msgid "The following options control parameters" +-msgstr "Наступні параметри керують параметрами" ++msgstr "" + +-#: opts.cc:1977 ++#: opts.cc:1976 + msgid "The following options are specific to just the language " +-msgstr "Наступні параметри специфічні лише для мови " ++msgstr "" + +-#: opts.cc:1979 ++#: opts.cc:1978 + msgid "The following options are supported by the language " +-msgstr "Наступні параметри підтримуються мовою " ++msgstr "" + +-#: opts.cc:1990 ++#: opts.cc:1989 + msgid "The following options are not documented" +-msgstr "Наступні параметри не задокументовані" ++msgstr "" + +-#: opts.cc:1992 ++#: opts.cc:1991 + msgid "The following options take separate arguments" +-msgstr "Наступні параметри приймають окремі аргументи" ++msgstr "" + +-#: opts.cc:1994 ++#: opts.cc:1993 + msgid "The following options take joined arguments" +-msgstr "Наступні параметри приймають обʼєднані аргументи" ++msgstr "" + +-#: opts.cc:2006 ++#: opts.cc:2005 + msgid "The following options are language-related" +-msgstr "Наступні параметри повʼязані з мовою" ++msgstr "" + + #: passes.cc:1839 + #, c-format + msgid "during %s pass: %s\n" +-msgstr "під час %s проходу: %s\n" ++msgstr "" + + #: passes.cc:1844 + #, c-format + msgid "dump file: %s\n" +-msgstr "файл дампу: %s\n" ++msgstr "" + + #: plugin.cc:965 + msgid "Event" +@@ -18376,56 +18402,56 @@ msgstr "Подія" + + #: plugin.cc:965 + msgid "Plugins" +-msgstr "Плагіни" ++msgstr "Додатки" + + #: plugin.cc:997 + #, c-format + msgid "*** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins.\n" +-msgstr "*** ПОПЕРЕДЖЕННЯ *** є активні плагіни, не повідомляйте це як помилку, якщо ви не можете відтворити це без включення будь-яких плагінів.\n" ++msgstr "" + + #: postreload-gcse.cc:1355 + msgid "using simple load CSE after register allocation" +-msgstr "використання простого завантаження CSE після розподілу реєстрів" ++msgstr "" + + #. It's the compiler's fault. + #: reload1.cc:5994 + msgid "could not find a spill register" +-msgstr "не вдалося знайти реєстр переповнення" ++msgstr "" + + #. It's the compiler's fault. + #: reload1.cc:7876 + msgid "VOIDmode on an output" +-msgstr "VOIDmode на виході" ++msgstr "" + + #: reload1.cc:8609 + msgid "failure trying to reload:" +-msgstr "помилка під час спроби перезавантаження:" ++msgstr "" + + #: rtl-error.cc:116 + msgid "unrecognizable insn:" +-msgstr "нерозпізнаваний insn:" ++msgstr "" + + #: rtl-error.cc:118 + msgid "insn does not satisfy its constraints:" +-msgstr "insn не задовольняє свої обмеження:" ++msgstr "" + + #: targhooks.cc:2274 + #, c-format + msgid "created and used with differing settings of '%s'" +-msgstr "створено і використовується з різними налаштуваннями «%s»" ++msgstr "" + + #: targhooks.cc:2289 + msgid "created and used with different settings of %<-fpic%>" +-msgstr "створено і використано з різними налаштуваннями %<-fpic%>" ++msgstr "" + + #: targhooks.cc:2291 + msgid "created and used with different settings of %<-fpie%>" +-msgstr "створено і використано з різними налаштуваннями %<-fpie%>" ++msgstr "" + + #: toplev.cc:310 + #, c-format + msgid "unrecoverable error" +-msgstr "непоправна помилка" ++msgstr "критична помилка" + + #: toplev.cc:603 + #, c-format +@@ -18433,34 +18459,32 @@ msgid "" + "%s%s%s %sversion %s (%s)\n" + "%s\tcompiled by GNU C version %s, " + msgstr "" +-"%s%s%s %sверсія %s (%s)\n" +-"%s\tскомпільовано за допомогою GNU C версії %s, " + + #: toplev.cc:605 + #, c-format + msgid "%s%s%s %sversion %s (%s) compiled by CC, " +-msgstr "%s%s%s %sверсія %s (%s) скомпільовано за допомогою CC, " ++msgstr "" + + #: toplev.cc:609 + #, c-format + msgid "GMP version %s, MPFR version %s, MPC version %s, isl version %s\n" +-msgstr "Версія GMP %s, версія MPFR %s, версія MPC %s, версія isl %s\n" ++msgstr "" + + #: toplev.cc:611 + #, c-format + msgid "%s%swarning: %s header version %s differs from library version %s.\n" +-msgstr "%s%sпопередження: версія заголовка %s %s відрізняється від версії бібліотеки %s.\n" ++msgstr "" + + #: toplev.cc:613 + #, c-format + msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n" +-msgstr "%s%sГеуритика GGC: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n" ++msgstr "" + + #: tree-diagnostic-path.cc:255 tree-diagnostic.cc:294 c/c-decl.cc:6349 + #: c/c-typeck.cc:8058 cp/error.cc:1181 c-family/c-pretty-print.cc:426 + #, gcc-internal-format + msgid "" +-msgstr "<анонімний>" ++msgstr "" + + #: c-family/c-format.cc:432 + msgid "format" +@@ -18468,90 +18492,90 @@ msgstr "формат" + + #: c-family/c-format.cc:433 + msgid "field width specifier" +-msgstr "специфікатор ширини поля" ++msgstr "" + + #: c-family/c-format.cc:434 + msgid "field precision specifier" +-msgstr "специфікатор точності поля" ++msgstr "" + + #: c-family/c-format.cc:569 c-family/c-format.cc:593 + #: config/i386/msformat-c.cc:45 + msgid "' ' flag" +-msgstr "прапорець «пробіл»" ++msgstr "прапорець ' '" + + #: c-family/c-format.cc:569 c-family/c-format.cc:593 + #: config/i386/msformat-c.cc:45 + msgid "the ' ' printf flag" +-msgstr "прапорець «пробіл» у printf" ++msgstr "прапорець printf ' '" + + #: c-family/c-format.cc:570 c-family/c-format.cc:594 c-family/c-format.cc:625 + #: c-family/c-format.cc:691 config/i386/msformat-c.cc:46 + msgid "'+' flag" +-msgstr "прапорець «+»" ++msgstr "прапорець '+'" + + #: c-family/c-format.cc:570 c-family/c-format.cc:594 c-family/c-format.cc:625 + #: config/i386/msformat-c.cc:46 + msgid "the '+' printf flag" +-msgstr "прапорець «+» у printf" ++msgstr "прапорець printf «+»" + + #: c-family/c-format.cc:571 c-family/c-format.cc:595 c-family/c-format.cc:626 + #: c-family/c-format.cc:666 config/i386/msformat-c.cc:47 + #: config/i386/msformat-c.cc:82 + msgid "'#' flag" +-msgstr "прапорець «#»" ++msgstr "прапорець '#'" + + #: c-family/c-format.cc:571 c-family/c-format.cc:595 c-family/c-format.cc:626 + #: config/i386/msformat-c.cc:47 + msgid "the '#' printf flag" +-msgstr "прапорець «#» у printf" ++msgstr "прапорець printf '#'" + + #: c-family/c-format.cc:572 c-family/c-format.cc:596 c-family/c-format.cc:664 + #: config/i386/msformat-c.cc:48 + msgid "'0' flag" +-msgstr "прапорець «0»" ++msgstr "прапорець '0'" + + #: c-family/c-format.cc:572 c-family/c-format.cc:596 + #: config/i386/msformat-c.cc:48 + msgid "the '0' printf flag" +-msgstr "прапорець «0» у printf" ++msgstr "прапорець printf '0'" + + #: c-family/c-format.cc:573 c-family/c-format.cc:597 c-family/c-format.cc:663 + #: c-family/c-format.cc:694 config/i386/msformat-c.cc:49 + msgid "'-' flag" +-msgstr "прапорець «-»" ++msgstr "прапорець '-'" + + #: c-family/c-format.cc:573 c-family/c-format.cc:597 + #: config/i386/msformat-c.cc:49 + msgid "the '-' printf flag" +-msgstr "прапорець «-» у printf" ++msgstr "прапорець printf «-»" + + #: c-family/c-format.cc:574 c-family/c-format.cc:646 + #: config/i386/msformat-c.cc:50 config/i386/msformat-c.cc:70 + msgid "''' flag" +-msgstr "прапорець «'»" ++msgstr "прапорець '''" + + #: c-family/c-format.cc:574 config/i386/msformat-c.cc:50 + msgid "the ''' printf flag" +-msgstr "прапорець «'» у printf" ++msgstr "прапорець printf '''" + + #: c-family/c-format.cc:575 c-family/c-format.cc:647 + msgid "'I' flag" +-msgstr "прапорець «I»" ++msgstr "прапорець 'I'" + + #: c-family/c-format.cc:575 + msgid "the 'I' printf flag" +-msgstr "прапорець «I» у printf" ++msgstr "" + + #: c-family/c-format.cc:576 c-family/c-format.cc:598 c-family/c-format.cc:644 + #: c-family/c-format.cc:667 c-family/c-format.cc:695 config/sol2-c.cc:43 + #: config/i386/msformat-c.cc:51 config/i386/msformat-c.cc:68 + msgid "field width" +-msgstr "ширина поля" ++msgstr "" + + #: c-family/c-format.cc:576 c-family/c-format.cc:598 config/sol2-c.cc:43 + #: config/i386/msformat-c.cc:51 + msgid "field width in printf format" +-msgstr "ширина поля у форматі printf" ++msgstr "" + + #: c-family/c-format.cc:577 c-family/c-format.cc:599 c-family/c-format.cc:628 + #: config/i386/msformat-c.cc:52 +@@ -18561,66 +18585,66 @@ msgstr "точність" + #: c-family/c-format.cc:577 c-family/c-format.cc:599 c-family/c-format.cc:628 + #: config/i386/msformat-c.cc:52 + msgid "precision in printf format" +-msgstr "точність у форматі printf" ++msgstr "" + + #: c-family/c-format.cc:578 c-family/c-format.cc:600 c-family/c-format.cc:629 + #: c-family/c-format.cc:645 c-family/c-format.cc:698 config/sol2-c.cc:44 + #: config/i386/msformat-c.cc:53 config/i386/msformat-c.cc:69 + msgid "length modifier" +-msgstr "модифікатор довжини" ++msgstr "" + + #: c-family/c-format.cc:578 c-family/c-format.cc:600 c-family/c-format.cc:629 + #: config/sol2-c.cc:44 config/i386/msformat-c.cc:53 + msgid "length modifier in printf format" +-msgstr "модифікатор довжини у форматі printf" ++msgstr "" + + #: c-family/c-format.cc:627 + msgid "'q' flag" +-msgstr "прапорець 'q'" ++msgstr "" + + #: c-family/c-format.cc:627 + msgid "the 'q' diagnostic flag" +-msgstr "прапорець 'q' для діагностики" ++msgstr "" + + #: c-family/c-format.cc:641 config/i386/msformat-c.cc:66 + msgid "assignment suppression" +-msgstr "пригнічення присвоєння" ++msgstr "" + + #: c-family/c-format.cc:641 config/i386/msformat-c.cc:66 + msgid "the assignment suppression scanf feature" +-msgstr "функція пригнічення присвоєння scanf" ++msgstr "" + + #: c-family/c-format.cc:642 config/i386/msformat-c.cc:67 + msgid "'a' flag" +-msgstr "прапорець 'a'" ++msgstr "" + + #: c-family/c-format.cc:642 config/i386/msformat-c.cc:67 + msgid "the 'a' scanf flag" +-msgstr "прапорець 'a' для scanf" ++msgstr "" + + #: c-family/c-format.cc:643 + msgid "'m' flag" +-msgstr "прапорець 'm'" ++msgstr "" + + #: c-family/c-format.cc:643 + msgid "the 'm' scanf flag" +-msgstr "прапорець 'm' для scanf" ++msgstr "" + + #: c-family/c-format.cc:644 config/i386/msformat-c.cc:68 + msgid "field width in scanf format" +-msgstr "ширина поля у форматі scanf" ++msgstr "" + + #: c-family/c-format.cc:645 config/i386/msformat-c.cc:69 + msgid "length modifier in scanf format" +-msgstr "модифікатор довжини у форматі scanf" ++msgstr "" + + #: c-family/c-format.cc:646 config/i386/msformat-c.cc:70 + msgid "the ''' scanf flag" +-msgstr "прапорець ''' для scanf" ++msgstr "" + + #: c-family/c-format.cc:647 + msgid "the 'I' scanf flag" +-msgstr "прапорець 'I' для scanf" ++msgstr "" + + #: c-family/c-format.cc:662 + msgid "'_' flag" +@@ -18628,15 +18652,15 @@ msgstr "прапорець '_'" + + #: c-family/c-format.cc:662 + msgid "the '_' strftime flag" +-msgstr "прапорець '_' у форматі strftime" ++msgstr "" + + #: c-family/c-format.cc:663 + msgid "the '-' strftime flag" +-msgstr "прапорець '-' у форматі strftime" ++msgstr "" + + #: c-family/c-format.cc:664 + msgid "the '0' strftime flag" +-msgstr "прапорець '0' у форматі strftime" ++msgstr "" + + #: c-family/c-format.cc:665 c-family/c-format.cc:690 + msgid "'^' flag" +@@ -18644,51 +18668,51 @@ msgstr "прапорець '^'" + + #: c-family/c-format.cc:665 + msgid "the '^' strftime flag" +-msgstr "прапорець '^' у форматі strftime" ++msgstr "" + + #: c-family/c-format.cc:666 config/i386/msformat-c.cc:82 + msgid "the '#' strftime flag" +-msgstr "прапорець '#' у форматі strftime" ++msgstr "" + + #: c-family/c-format.cc:667 + msgid "field width in strftime format" +-msgstr "ширина поля у форматі strftime" ++msgstr "" + + #: c-family/c-format.cc:668 + msgid "'E' modifier" +-msgstr "модифікатор 'E'" ++msgstr "" + + #: c-family/c-format.cc:668 + msgid "the 'E' strftime modifier" +-msgstr "модифікатор 'E' у форматі strftime" ++msgstr "" + + #: c-family/c-format.cc:669 + msgid "'O' modifier" +-msgstr "модифікатор 'O'" ++msgstr "" + + #: c-family/c-format.cc:669 + msgid "the 'O' strftime modifier" +-msgstr "модифікатор 'O' у форматі strftime" ++msgstr "" + + #: c-family/c-format.cc:670 c-family/c-format.cc:671 + msgid "the 'O' modifier" +-msgstr "модифікатор 'O'" ++msgstr "" + + #: c-family/c-format.cc:689 + msgid "fill character" +-msgstr "символ заповнення" ++msgstr "" + + #: c-family/c-format.cc:689 + msgid "fill character in strfmon format" +-msgstr "символ заповнення у форматі strfmon" ++msgstr "" + + #: c-family/c-format.cc:690 + msgid "the '^' strfmon flag" +-msgstr "прапорець '^' у форматі strfmon" ++msgstr "прапорець strfmon «^»" + + #: c-family/c-format.cc:691 + msgid "the '+' strfmon flag" +-msgstr "прапорець '+' у форматі strfmon" ++msgstr "прапорець strfmon '+'" + + #: c-family/c-format.cc:692 + msgid "'(' flag" +@@ -18696,7 +18720,7 @@ msgstr "прапорець '('" + + #: c-family/c-format.cc:692 + msgid "the '(' strfmon flag" +-msgstr "прапорець '(' у форматі strfmon" ++msgstr "прапорець strfmon '('" + + #: c-family/c-format.cc:693 + msgid "'!' flag" +@@ -18704,251 +18728,251 @@ msgstr "прапорець '!'" + + #: c-family/c-format.cc:693 + msgid "the '!' strfmon flag" +-msgstr "прапорець '!' у форматі strfmon" ++msgstr "прапорець strfmon «!»" + + #: c-family/c-format.cc:694 + msgid "the '-' strfmon flag" +-msgstr "прапорець '-' у форматі strfmon" ++msgstr "прапорець strfmon «-»" + + #: c-family/c-format.cc:695 + msgid "field width in strfmon format" +-msgstr "ширина поля у форматі strfmon" ++msgstr "" + + #: c-family/c-format.cc:696 + msgid "left precision" +-msgstr "ліва точність" ++msgstr "" + + #: c-family/c-format.cc:696 + msgid "left precision in strfmon format" +-msgstr "ліва точність у форматі strfmon" ++msgstr "" + + #: c-family/c-format.cc:697 + msgid "right precision" +-msgstr "права точність" ++msgstr "" + + #: c-family/c-format.cc:697 + msgid "right precision in strfmon format" +-msgstr "права точність у форматі strfmon" ++msgstr "" + + #: c-family/c-format.cc:698 + msgid "length modifier in strfmon format" +-msgstr "модифікатор довжини у форматі strfmon" ++msgstr "" + + #. Handle deferred options from command-line. + #: c-family/c-opts.cc:1504 fortran/cpp.cc:621 + msgid "" +-msgstr "<командний рядок>" ++msgstr "" + +-#: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 ++#: config/aarch64/aarch64.cc:11879 config/loongarch/loongarch.cc:4992 + #, c-format + msgid "unsupported operand for code '%c'" +-msgstr "непідтримуваний операнд для коду '%c'" +- +-#: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 +-#: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 +-#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 +-#: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 +-#: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 +-#: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 ++msgstr "" ++ ++#: config/aarch64/aarch64.cc:11888 config/aarch64/aarch64.cc:11901 ++#: config/aarch64/aarch64.cc:11913 config/aarch64/aarch64.cc:11924 ++#: config/aarch64/aarch64.cc:11940 config/aarch64/aarch64.cc:11954 ++#: config/aarch64/aarch64.cc:11974 config/aarch64/aarch64.cc:12051 ++#: config/aarch64/aarch64.cc:12062 config/aarch64/aarch64.cc:12076 ++#: config/aarch64/aarch64.cc:12298 config/aarch64/aarch64.cc:12318 + #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 + #, c-format + msgid "invalid operand for '%%%c'" +-msgstr "недійсний операнд для '%%%c'" ++msgstr "некоректний операнд для «%%%c»" + +-#: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 +-#: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 +-#: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 +-#: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 +-#: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 ++#: config/aarch64/aarch64.cc:11992 config/aarch64/aarch64.cc:12003 ++#: config/aarch64/aarch64.cc:12158 config/aarch64/aarch64.cc:12169 ++#: config/riscv/riscv.cc:4397 config/riscv/riscv.cc:4404 ++#: config/riscv/riscv.cc:4411 config/riscv/riscv.cc:4415 ++#: config/riscv/riscv.cc:4462 config/riscv/riscv.cc:4481 + #, c-format + msgid "invalid vector constant" +-msgstr "недійсна векторна константа" ++msgstr "некоректна векторна константа" + +-#: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 ++#: config/aarch64/aarch64.cc:12015 config/aarch64/aarch64.cc:12027 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" +-msgstr "несумісний операнд з регістром з плаваючою комою / векторним для '%%%c'" ++msgstr "" + +-#: config/aarch64/aarch64.cc:12057 ++#: config/aarch64/aarch64.cc:12044 + #, c-format + msgid "incompatible register operand for '%%%c'" +-msgstr "несумісний операнд з регістром для '%%%c'" ++msgstr "несумісний операнд регістру для «%%%c»" + +-#: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 ++#: config/aarch64/aarch64.cc:12110 config/arm/arm.cc:24708 + #, c-format + msgid "missing operand" +-msgstr "відсутній операнд" ++msgstr "пропущено операнд" + +-#: config/aarch64/aarch64.cc:12208 ++#: config/aarch64/aarch64.cc:12195 + #, c-format + msgid "invalid constant" +-msgstr "недійсна константа" ++msgstr "некоректна константа" + +-#: config/aarch64/aarch64.cc:12211 ++#: config/aarch64/aarch64.cc:12198 + #, c-format + msgid "invalid operand" +-msgstr "недійсний операнд" ++msgstr "некоректний операнд" + +-#: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 ++#: config/aarch64/aarch64.cc:12326 config/aarch64/aarch64.cc:12331 + #, c-format + msgid "invalid operand prefix '%%%c'" +-msgstr "неприпустимий префікс операнда '%%%c'" ++msgstr "некоректний префікс операнда «%%%c»" + +-#: config/aarch64/aarch64.cc:12364 ++#: config/aarch64/aarch64.cc:12351 + #, c-format + msgid "invalid address mode" +-msgstr "неприпустимий режим адреси" ++msgstr "некоректний режим адресування" + +-#: config/aarch64/aarch64.cc:27161 ++#: config/aarch64/aarch64.cc:27134 + msgid "cannot combine GNU and SVE vectors in a binary operation" +-msgstr "не можна комбінувати вектори GNU та SVE в бінарній операції" ++msgstr "" + +-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 +-#: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 ++#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13577 ++#: config/rs6000/rs6000.cc:14355 config/sparc/sparc.cc:9370 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" +-msgstr "'%%&' використовується без будь-яких локальних динамічних посилань TLS" ++msgstr "'%%&' використано без будь-яких локальних динамічних посилань TLS" + + #: config/alpha/alpha.cc:5134 config/bfin/bfin.cc:1428 + #, c-format + msgid "invalid %%J value" +-msgstr "неприпустиме значення %%J" ++msgstr "некоректне значення %%J" + + #: config/alpha/alpha.cc:5164 config/ia64/ia64.cc:5578 + #: config/or1k/or1k.cc:1249 + #, c-format + msgid "invalid %%r value" +-msgstr "неприпустиме значення %%r" ++msgstr "некоректне значення %%r" + + #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 +-#: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 ++#: config/rs6000/rs6000.cc:14050 config/xtensa/xtensa.cc:3008 + #, c-format + msgid "invalid %%R value" +-msgstr "неприпустиме значення %%R" ++msgstr "некоректне значення %%R" + +-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 ++#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13970 + #: config/xtensa/xtensa.cc:2981 + #, c-format + msgid "invalid %%N value" +-msgstr "неприпустиме значення %%N" ++msgstr "некоректне значення %%N" + +-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 ++#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13998 + #, c-format + msgid "invalid %%P value" +-msgstr "недійсне значення %%P" ++msgstr "некоректне значення %%P" + + #: config/alpha/alpha.cc:5196 + #, c-format + msgid "invalid %%h value" +-msgstr "недійсне значення %%h" ++msgstr "некоректне значення %%h" + + #: config/alpha/alpha.cc:5204 config/xtensa/xtensa.cc:3001 + #, c-format + msgid "invalid %%L value" +-msgstr "недійсне значення %%L" ++msgstr "некоректне значення %%L" + + #: config/alpha/alpha.cc:5223 + #, c-format + msgid "invalid %%m value" +-msgstr "недійсне значення %%m" ++msgstr "некоректне значення %%m" + + #: config/alpha/alpha.cc:5229 + #, c-format + msgid "invalid %%M value" +-msgstr "недійсне значення %%M" ++msgstr "некоректне значення %%M" + + #: config/alpha/alpha.cc:5266 + #, c-format + msgid "invalid %%U value" +-msgstr "недійсне значення %%U" ++msgstr "некоректне значення %%U" + +-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 ++#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14058 + #, c-format + msgid "invalid %%s value" +-msgstr "недійсне значення %%s" ++msgstr "некоректне значення %%s" + + #: config/alpha/alpha.cc:5285 + #, c-format + msgid "invalid %%C value" +-msgstr "недійсне значення %%C" ++msgstr "некоректне значення %%C" + +-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 ++#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13834 + #, c-format + msgid "invalid %%E value" +-msgstr "недійсне значення %%E" ++msgstr "некоректне значення %%E" + + #: config/alpha/alpha.cc:5347 config/alpha/alpha.cc:5397 + #, c-format + msgid "unknown relocation unspec" +-msgstr "невідома перерозташування unspec" ++msgstr "" + + #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 + #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 + #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 +-#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 ++#: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%xn code" +-msgstr "недійсний код %%xn" ++msgstr "" + + #: config/alpha/alpha.cc:5462 + #, c-format + msgid "invalid operand address" +-msgstr "недійсна адреса операнда" ++msgstr "" + + #: config/arc/arc.cc:4545 + #, c-format + msgid "invalid operand to %%Z code" +-msgstr "недійсний операнд для коду %%Z" ++msgstr "" + + #: config/arc/arc.cc:4553 + #, c-format + msgid "invalid operand to %%z code" +-msgstr "недійсний операнд для коду %%z" ++msgstr "" + + #: config/arc/arc.cc:4561 + #, c-format + msgid "invalid operands to %%c code" +-msgstr "недійсні операнди для коду %%c" ++msgstr "некоректні операнди для коду %%c" + + #: config/arc/arc.cc:4569 + #, c-format + msgid "invalid operand to %%M code" +-msgstr "недійсний операнд для коду %%M" ++msgstr "" + + #: config/arc/arc.cc:4577 config/m32r/m32r.cc:2090 + #, c-format + msgid "invalid operand to %%p code" +-msgstr "недійсний операнд для коду %%p" ++msgstr "" + + #: config/arc/arc.cc:4588 config/m32r/m32r.cc:2083 + #, c-format + msgid "invalid operand to %%s code" +-msgstr "недійсний операнд для коду %%s" ++msgstr "" + + #: config/arc/arc.cc:4736 config/m32r/m32r.cc:2116 + #, c-format + msgid "invalid operand to %%R code" +-msgstr "недійсний операнд для коду %%R" ++msgstr "" + + #: config/arc/arc.cc:4812 config/m32r/m32r.cc:2139 + #, c-format + msgid "invalid operand to %%H/%%L code" +-msgstr "недійсний операнд для коду %%H/%%L" ++msgstr "" + + #: config/arc/arc.cc:4880 config/m32r/m32r.cc:2210 + #, c-format + msgid "invalid operand to %%U code" +-msgstr "недійсний операнд для коду %%U" ++msgstr "" + + #: config/arc/arc.cc:4892 + #, c-format + msgid "invalid operand to %%V code" +-msgstr "недійсний операнд для коду %%V" ++msgstr "" + + #: config/arc/arc.cc:4949 + #, c-format + msgid "invalid operand to %%O code" +-msgstr "недійсний операнд для коду %%O" ++msgstr "" + + #. Unknown flag. + #. Undocumented flag. +@@ -18957,143 +18981,143 @@ msgstr "недійсний операнд для коду %%O" + #: config/sparc/sparc.cc:9649 + #, c-format + msgid "invalid operand output code" +-msgstr "недійсний код виводу операнду" ++msgstr "" + + #: config/arc/arc.cc:6515 + #, c-format + msgid "invalid UNSPEC as operand: %d" +-msgstr "недійсний UNSPEC як операнд: %d" ++msgstr "" + + #: config/arc/arc.cc:6731 + msgid "unrecognized supposed constant" +-msgstr "нерозпізнана припущена константа" ++msgstr "" + +-#: config/arm/arm.cc:21009 config/arm/arm.cc:21034 config/arm/arm.cc:21044 +-#: config/arm/arm.cc:21053 config/arm/arm.cc:21062 ++#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031 ++#: config/arm/arm.cc:21040 config/arm/arm.cc:21049 + #, c-format + msgid "invalid shift operand" +-msgstr "недійсний операнд зсуву" ++msgstr "" + +-#: config/arm/arm.cc:23971 config/arm/arm.cc:23989 ++#: config/arm/arm.cc:23958 config/arm/arm.cc:23976 + #, c-format + msgid "predicated Thumb instruction" +-msgstr "умовна інструкція Thumb" ++msgstr "" + +-#: config/arm/arm.cc:23977 ++#: config/arm/arm.cc:23964 + #, c-format + msgid "predicated instruction in conditional sequence" +-msgstr "умовна інструкція в умовній послідовності" ++msgstr "" + +-#: config/arm/arm.cc:24098 config/arm/arm.cc:24111 config/arm/arm.cc:24136 ++#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123 + #: config/nios2/nios2.cc:3084 + #, c-format + msgid "Unsupported operand for code '%c'" +-msgstr "Непідтримуваний операнд для коду '%c'" +- +-#: config/arm/arm.cc:24213 config/arm/arm.cc:24235 config/arm/arm.cc:24245 +-#: config/arm/arm.cc:24255 config/arm/arm.cc:24265 config/arm/arm.cc:24304 +-#: config/arm/arm.cc:24322 config/arm/arm.cc:24340 config/arm/arm.cc:24367 +-#: config/arm/arm.cc:24382 config/arm/arm.cc:24409 config/arm/arm.cc:24416 +-#: config/arm/arm.cc:24434 config/arm/arm.cc:24441 config/arm/arm.cc:24449 +-#: config/arm/arm.cc:24470 config/arm/arm.cc:24477 config/arm/arm.cc:24668 +-#: config/arm/arm.cc:24675 config/arm/arm.cc:24702 config/arm/arm.cc:24709 ++msgstr "" ++ ++#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232 ++#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291 ++#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354 ++#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403 ++#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436 ++#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655 ++#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 + #: config/nds32/nds32.cc:3546 + #, c-format + msgid "invalid operand for code '%c'" +-msgstr "недійсний операнд для коду '%c'" ++msgstr "" + +-#: config/arm/arm.cc:24317 ++#: config/arm/arm.cc:24304 + #, c-format + msgid "instruction never executed" +-msgstr "інструкція ніколи не виконується" ++msgstr "" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24358 ++#: config/arm/arm.cc:24345 + #, c-format + msgid "obsolete Maverick format code '%c'" +-msgstr "застарілий код формату Maverick '%c'" ++msgstr "" + +-#: config/arm/arm.cc:34270 ++#: config/arm/arm.cc:34257 + msgid "invalid conversion from type %" +-msgstr "недійсне перетворення з типу %" ++msgstr "некоректне перетворення з типу %" + +-#: config/arm/arm.cc:34272 ++#: config/arm/arm.cc:34259 + msgid "invalid conversion to type %" +-msgstr "недійсне перетворення до типу %" ++msgstr "некоректне перетворення до типу %" + +-#: config/arm/arm.cc:34287 config/arm/arm.cc:34303 ++#: config/arm/arm.cc:34274 config/arm/arm.cc:34290 + msgid "operation not permitted on type %" +-msgstr "операція не дозволена для типу %" ++msgstr "" + + #: config/avr/avr.cc:2642 + #, c-format + msgid "address operand requires constraint for X, Y, or Z register" +-msgstr "операнд адреси потребує обмеження для регістра X, Y або Z" ++msgstr "" + + #: config/avr/avr.cc:2825 + msgid "operands to %T/%t must be reg + const_int:" +-msgstr "операнди для %T/%t повинні бути reg + const_int:" ++msgstr "" + + #: config/avr/avr.cc:2875 config/avr/avr.cc:2942 + msgid "bad address, not an I/O address:" +-msgstr "погана адреса, не адреса введення/виведення:" ++msgstr "" + + #: config/avr/avr.cc:2884 + msgid "bad address, not a constant:" +-msgstr "погана адреса, не константа:" ++msgstr "" + + #: config/avr/avr.cc:2902 config/avr/avr.cc:2909 + msgid "bad address, not (reg+disp):" +-msgstr "погана адреса, не (reg+disp):" ++msgstr "" + + #: config/avr/avr.cc:2916 + msgid "bad address, not post_inc or pre_dec:" +-msgstr "неправильна адреса, не post_inc або pre_dec:" ++msgstr "" + + #: config/avr/avr.cc:2928 + msgid "internal compiler error. Bad address:" +-msgstr "внутрішня помилка компілятора. Погана адреса:" ++msgstr "" + + #: config/avr/avr.cc:2961 + #, c-format + msgid "Unsupported code '%c' for fixed-point:" +-msgstr "Непідтримуваний код '%c' для фіксованої точки:" ++msgstr "" + + #: config/avr/avr.cc:2969 + msgid "internal compiler error. Unknown mode:" +-msgstr "внутрішня помилка компілятора. Невідомий режим:" ++msgstr "" + + #: config/avr/avr.cc:3866 config/avr/avr.cc:4810 config/avr/avr.cc:5257 + msgid "invalid insn:" +-msgstr "неправильна інструкція:" ++msgstr "" + + #: config/avr/avr.cc:3920 config/avr/avr.cc:4032 config/avr/avr.cc:4090 + #: config/avr/avr.cc:4142 config/avr/avr.cc:4161 config/avr/avr.cc:4353 + #: config/avr/avr.cc:4661 config/avr/avr.cc:4946 config/avr/avr.cc:5150 + #: config/avr/avr.cc:5314 config/avr/avr.cc:5407 config/avr/avr.cc:5606 + msgid "incorrect insn:" +-msgstr "неправильна інструкція:" ++msgstr "" + + #: config/avr/avr.cc:4177 config/avr/avr.cc:4452 config/avr/avr.cc:4732 + #: config/avr/avr.cc:5018 config/avr/avr.cc:5196 config/avr/avr.cc:5463 + #: config/avr/avr.cc:5664 + msgid "unknown move insn:" +-msgstr "невідома інструкція переміщення:" ++msgstr "" + + #: config/avr/avr.cc:6131 + msgid "bad shift insn:" +-msgstr "неправильна інструкція зсуву:" ++msgstr "" + + #: config/avr/avr.cc:6239 config/avr/avr.cc:6722 config/avr/avr.cc:7139 + msgid "internal compiler error. Incorrect shift:" +-msgstr "внутрішня помилка компілятора. Неправильний зсув:" ++msgstr "" + + #: config/avr/avr.cc:8547 + msgid "unsupported fixed-point conversion" +-msgstr "непідтримуване перетворення з фіксованою точкою" ++msgstr "" + + #: config/avr/avr.cc:9916 + msgid "variable" +@@ -19109,7 +19133,7 @@ msgstr "поле структури" + + #: config/avr/avr.cc:9932 + msgid "return type of function" +-msgstr "тип повернення функції" ++msgstr "тип значення, яке повертає функція" + + #: config/avr/avr.cc:9937 + msgid "pointer" +@@ -19121,22 +19145,20 @@ msgid "" + "Running spec function '%s' with %d args\n" + "\n" + msgstr "" +-"Виконання функції spec '%s' з %d аргументами\n" +-"\n" + + #: config/bfin/bfin.cc:1390 + #, c-format + msgid "invalid %%j value" +-msgstr "недійсне значення %%j" ++msgstr "некоректне значення %%j" + + #: config/bfin/bfin.cc:1583 config/c6x/c6x.cc:2279 + #, c-format + msgid "invalid const_double operand" +-msgstr "недійсний операнд const_double" ++msgstr "" + + #: config/bpf/bpf.cc:953 + msgid "invalid address in operand" +-msgstr "недійсна адреса в операнді" ++msgstr "некоректна адреса в операнді" + + #. Fallthrough. + #: config/bpf/bpf.cc:960 +@@ -19161,388 +19183,388 @@ msgstr "%s" + + #: config/cris/cris.cc:826 + msgid "unexpected index-type in cris_print_index" +-msgstr "неочікуваний тип індексу в cris_print_index" ++msgstr "" + + #: config/cris/cris.cc:840 + msgid "unexpected base-type in cris_print_base" +-msgstr "неочікуваний базовий тип в cris_print_base" ++msgstr "" + + #: config/cris/cris.cc:895 + msgid "invalid operand for 'b' modifier" +-msgstr "недійсний операнд для модифікатора 'b'" ++msgstr "" + + #: config/cris/cris.cc:912 + msgid "invalid operand for 'o' modifier" +-msgstr "недійсний операнд для модифікатора 'o'" ++msgstr "" + + #: config/cris/cris.cc:931 + msgid "invalid operand for 'O' modifier" +-msgstr "недійсний операнд для модифікатора 'O'" ++msgstr "" + + #: config/cris/cris.cc:964 + msgid "invalid operand for 'p' modifier" +-msgstr "недійсний операнд для модифікатора 'p'" ++msgstr "" + + #: config/cris/cris.cc:1003 + msgid "invalid operand for 'z' modifier" +-msgstr "недійсний операнд для модифікатора 'z'" ++msgstr "" + + #: config/cris/cris.cc:1050 config/cris/cris.cc:1084 + msgid "invalid operand for 'H' modifier" +-msgstr "неприпустимий операнд для модифікатора 'H'" ++msgstr "" + + #: config/cris/cris.cc:1060 + msgid "bad register" +-msgstr "неправильний регістр" ++msgstr "помилковий регістр" + + #: config/cris/cris.cc:1104 + msgid "invalid operand for 'e' modifier" +-msgstr "неприпустимий операнд для модифікатора 'e'" ++msgstr "" + + #: config/cris/cris.cc:1121 + msgid "invalid operand for 'm' modifier" +-msgstr "неприпустимий операнд для модифікатора 'm'" ++msgstr "" + + #: config/cris/cris.cc:1146 + msgid "invalid operand for 'A' modifier" +-msgstr "неприпустимий операнд для модифікатора 'A'" ++msgstr "" + + #: config/cris/cris.cc:1201 + msgid "invalid operand for 'D' modifier" +-msgstr "неприпустимий операнд для модифікатора 'D'" ++msgstr "" + + #: config/cris/cris.cc:1218 config/cris/cris.cc:1223 + msgid "invalid operand for 'T' modifier" +-msgstr "неприпустимий операнд для модифікатора 'T'" ++msgstr "" + + #: config/cris/cris.cc:1234 config/ft32/ft32.cc:236 config/moxie/moxie.cc:178 + msgid "invalid operand modifier letter" +-msgstr "неприпустима літера модифікатора операнду" ++msgstr "" + + #: config/cris/cris.cc:1286 + msgid "unexpected multiplicative operand" +-msgstr "неочікуваний множниковий операнд" ++msgstr "" + + #: config/cris/cris.cc:1306 config/ft32/ft32.cc:259 config/moxie/moxie.cc:203 + msgid "unexpected operand" +-msgstr "неочікуваний операнд" ++msgstr "" + + #: config/cris/cris.cc:1345 config/cris/cris.cc:1355 + msgid "unrecognized address" +-msgstr "невпізнана адреса" ++msgstr "" + + #: config/cris/cris.cc:2556 config/cris/cris.cc:2609 + msgid "unexpected side-effects in address" +-msgstr "неочікувані побічні ефекти в адресі" ++msgstr "" + + #: config/fr30/fr30.cc:513 + #, c-format + msgid "fr30_print_operand_address: unhandled address" +-msgstr "fr30_print_operand_address: неврахована адреса" ++msgstr "" + + #: config/fr30/fr30.cc:537 + #, c-format + msgid "fr30_print_operand: unrecognized %%p code" +-msgstr "fr30_print_operand: невизнаний код %%p" ++msgstr "" + + #: config/fr30/fr30.cc:557 + #, c-format + msgid "fr30_print_operand: unrecognized %%b code" +-msgstr "fr30_print_operand: невизнаний код %%b" ++msgstr "" + + #: config/fr30/fr30.cc:578 + #, c-format + msgid "fr30_print_operand: unrecognized %%B code" +-msgstr "fr30_print_operand: невизнаний код %%B" ++msgstr "" + + #: config/fr30/fr30.cc:586 + #, c-format + msgid "fr30_print_operand: invalid operand to %%A code" +-msgstr "fr30_print_operand: недійсний операнд для коду %%A" ++msgstr "" + + #: config/fr30/fr30.cc:603 + #, c-format + msgid "fr30_print_operand: invalid %%x code" +-msgstr "fr30_print_operand: недійсний код %%x" ++msgstr "" + + #: config/fr30/fr30.cc:610 + #, c-format + msgid "fr30_print_operand: invalid %%F code" +-msgstr "fr30_print_operand: недійсний код %%F" ++msgstr "" + + #: config/fr30/fr30.cc:627 + #, c-format + msgid "fr30_print_operand: unknown code" +-msgstr "fr30_print_operand: невідомий код" ++msgstr "" + + #: config/fr30/fr30.cc:655 config/fr30/fr30.cc:664 config/fr30/fr30.cc:675 + #: config/fr30/fr30.cc:688 + #, c-format + msgid "fr30_print_operand: unhandled MEM" +-msgstr "fr30_print_operand: невиконана MEM" ++msgstr "" + + #: config/frv/frv.cc:2491 + msgid "bad insn to frv_print_operand_address:" +-msgstr "неправильна інструкція для frv_print_operand_address:" ++msgstr "" + + #: config/frv/frv.cc:2502 + msgid "bad register to frv_print_operand_memory_reference_reg:" +-msgstr "неправильний регістр для frv_print_operand_memory_reference_reg:" ++msgstr "" + + #: config/frv/frv.cc:2541 config/frv/frv.cc:2551 config/frv/frv.cc:2560 + #: config/frv/frv.cc:2581 config/frv/frv.cc:2586 + msgid "bad insn to frv_print_operand_memory_reference:" +-msgstr "неправильна інструкція для frv_print_operand_memory_reference:" ++msgstr "" + + #: config/frv/frv.cc:2671 + #, c-format + msgid "bad condition code" +-msgstr "неправильний код умови" ++msgstr "" + + #: config/frv/frv.cc:2745 + msgid "bad insn in frv_print_operand, bad const_double" +-msgstr "неправильна інструкція в frv_print_operand, поганий const_double" ++msgstr "" + + #: config/frv/frv.cc:2806 + msgid "bad insn to frv_print_operand, 'e' modifier:" +-msgstr "неправильна інструкція для frv_print_operand, модифікатор «e»:" ++msgstr "" + + #: config/frv/frv.cc:2814 + msgid "bad insn to frv_print_operand, 'F' modifier:" +-msgstr "неправильна інструкція для frv_print_operand, модифікатор «F»:" ++msgstr "" + + #: config/frv/frv.cc:2830 + msgid "bad insn to frv_print_operand, 'f' modifier:" +-msgstr "неправильна інструкція для frv_print_operand, модифікатор «f»:" ++msgstr "" + + #: config/frv/frv.cc:2844 + msgid "bad insn to frv_print_operand, 'g' modifier:" +-msgstr "неправильна інструкція для frv_print_operand, модифікатор «g»:" ++msgstr "" + + #: config/frv/frv.cc:2892 + msgid "bad insn to frv_print_operand, 'L' modifier:" +-msgstr "неправильна інструкція для frv_print_operand, модифікатор «L»:" ++msgstr "" + + #: config/frv/frv.cc:2905 + msgid "bad insn to frv_print_operand, 'M/N' modifier:" +-msgstr "неправильна інструкція для frv_print_operand, модифікатор «M/N»:" ++msgstr "" + + #: config/frv/frv.cc:2926 + msgid "bad insn to frv_print_operand, 'O' modifier:" +-msgstr "неправильна інструкція для frv_print_operand, модифікатор «O»:" ++msgstr "" + + #: config/frv/frv.cc:2944 + msgid "bad insn to frv_print_operand, P modifier:" +-msgstr "неправильна інструкція для frv_print_operand, модифікатор «P»:" ++msgstr "" + + #: config/frv/frv.cc:2964 + msgid "bad insn in frv_print_operand, z case" +-msgstr "неправильна інструкція в frv_print_operand, випадок «z»" ++msgstr "" + + #: config/frv/frv.cc:2995 + msgid "bad insn in frv_print_operand, 0 case" +-msgstr "неправильна інструкція в frv_print_operand, випадок «0»" ++msgstr "" + + #: config/frv/frv.cc:3000 + msgid "frv_print_operand: unknown code" +-msgstr "frv_print_operand: невідомий код" ++msgstr "" + + #: config/frv/frv.cc:4374 + msgid "bad output_move_single operand" +-msgstr "неправильний операнд для output_move_single" ++msgstr "" + + #: config/frv/frv.cc:4501 + msgid "bad output_move_double operand" +-msgstr "неправильний операнд для output_move_double" ++msgstr "помилковий операнд output_move_double" + + #: config/frv/frv.cc:4643 + msgid "bad output_condmove_single operand" +-msgstr "неправильний операнд для output_condmove_single" ++msgstr "помилковий операнд output_condmove_single" + + #: config/gcn/gcn.cc:6626 config/gcn/gcn.cc:6646 config/gcn/gcn.cc:6650 + #: config/gcn/gcn.cc:6982 config/gcn/gcn.cc:6993 config/gcn/gcn.cc:6996 + #, c-format + msgid "bad ADDR_SPACE_GLOBAL address" +-msgstr "неправильна адреса ADDR_SPACE_GLOBAL" ++msgstr "помилкова адреса ADDR_SPACE_GLOBAL" + + #: config/gcn/gcn.cc:6762 config/gcn/gcn.cc:6785 config/gcn/gcn.cc:6817 + #: config/gcn/gcn.cc:6833 config/gcn/gcn.cc:6848 config/gcn/gcn.cc:6867 + #: config/gcn/gcn.cc:6931 config/gcn/gcn.cc:7127 config/gcn/gcn.cc:7242 + #, c-format + msgid "invalid operand %%xn code" +-msgstr "недійсний код операнда %%xn" ++msgstr "некоректний код операнда %%xn" + + #: config/gcn/gcn.cc:7230 + #, c-format + msgid "operand %%xn code invalid for QImode" +-msgstr "недійсний код операнда %%xn для QImode" ++msgstr "" + + #: config/gcn/gcn.cc:7312 + #, c-format + msgid "invalid fp constant" +-msgstr "неприпустима константа з плаваючою комою" ++msgstr "некоректна константа з рухомою крапкою" + + #: config/h8300/h8300.cc:1628 config/h8300/h8300.cc:1636 + #: config/h8300/h8300.cc:1644 config/h8300/h8300.cc:1652 + #: config/h8300/h8300.cc:1660 config/h8300/h8300.cc:1668 + #, c-format + msgid "Expected register or constant integer." +-msgstr "Очікувався регістр або константне цілочисельне." ++msgstr "Мало бути використано регістр або стале ціле число." + +-#: config/i386/i386.cc:12403 ++#: config/i386/i386.cc:12402 + #, c-format + msgid "invalid UNSPEC as operand" +-msgstr "неприпустиме UNSPEC як операнд" ++msgstr "" + +-#: config/i386/i386.cc:12942 ++#: config/i386/i386.cc:12941 + #, c-format + msgid "invalid use of register '%s'" +-msgstr "неприпустиме використання регістра '%s'" ++msgstr "некоректне використання регістру «%s»" + +-#: config/i386/i386.cc:12947 ++#: config/i386/i386.cc:12946 + #, c-format + msgid "invalid use of asm flag output" +-msgstr "неприпустиме використання виводу прапорця asm" ++msgstr "" + +-#: config/i386/i386.cc:13180 ++#: config/i386/i386.cc:13179 + #, c-format + msgid "invalid operand size for operand code 'O'" +-msgstr "неприпустимий розмір операнду для коду операнду 'O'" ++msgstr "" + +-#: config/i386/i386.cc:13215 ++#: config/i386/i386.cc:13214 + #, c-format + msgid "invalid operand size for operand code 'z'" +-msgstr "неприпустимий розмір операнду для коду операнду 'z'" ++msgstr "" + +-#: config/i386/i386.cc:13290 ++#: config/i386/i386.cc:13283 + #, c-format +-msgid "invalid operand type used with operand code '%c'" +-msgstr "неприпустимий тип операнду, використаний з кодом операнду '%c'" ++msgid "invalid operand type used with operand code 'Z'" ++msgstr "" + +-#: config/i386/i386.cc:13295 ++#: config/i386/i386.cc:13288 + #, c-format +-msgid "invalid operand size for operand code '%c'" +-msgstr "неприпустимий розмір операнду для коду операнду '%c'" ++msgid "invalid operand size for operand code 'Z'" ++msgstr "" + +-#: config/i386/i386.cc:13373 ++#: config/i386/i386.cc:13365 + #, c-format + msgid "operand is not a condition code, invalid operand code 'Y'" +-msgstr "операнд не є кодом умови, неприпустимий код операнду 'Y'" ++msgstr "" + +-#: config/i386/i386.cc:13452 ++#: config/i386/i386.cc:13444 + #, c-format + msgid "operand is not a condition code, invalid operand code 'D'" +-msgstr "операнд не є кодом умови, неприпустимий код операнду 'D'" ++msgstr "" + +-#: config/i386/i386.cc:13470 ++#: config/i386/i386.cc:13462 + #, c-format + msgid "operand is not a condition code, invalid operand code '%c'" +-msgstr "операнд не є кодом умови, недійсний код операнду '%c'" ++msgstr "" + +-#: config/i386/i386.cc:13483 ++#: config/i386/i386.cc:13475 + #, c-format + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" +-msgstr "операнд не є памʼяті зі зсувом, недійсний код операнду 'H'" ++msgstr "" + +-#: config/i386/i386.cc:13498 ++#: config/i386/i386.cc:13490 + #, c-format + msgid "operand is not an integer, invalid operand code 'K'" +-msgstr "операнд не є цілочисельним, недійсний код операнду 'K'" ++msgstr "" + +-#: config/i386/i386.cc:13526 ++#: config/i386/i386.cc:13518 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'r'" +-msgstr "операнд не є конкретним цілочисельним, недійсний код операнду 'r'" ++msgstr "" + +-#: config/i386/i386.cc:13544 ++#: config/i386/i386.cc:13536 + #, c-format + msgid "operand is not an integer, invalid operand code 'R'" +-msgstr "операнд не є цілочисельним, недійсний код операнду 'R'" ++msgstr "" + +-#: config/i386/i386.cc:13567 ++#: config/i386/i386.cc:13559 + #, c-format + msgid "operand is not a specific integer, invalid operand code 'R'" +-msgstr "операнд не є конкретним цілочисельним, недійсний код операнду 'R'" ++msgstr "" + +-#: config/i386/i386.cc:13671 ++#: config/i386/i386.cc:13663 + #, c-format + msgid "invalid operand code '%c'" +-msgstr "недійсний код операнду '%c'" ++msgstr "" + +-#: config/i386/i386.cc:13733 config/i386/i386.cc:14122 ++#: config/i386/i386.cc:13725 config/i386/i386.cc:14114 + #, c-format + msgid "invalid constraints for operand" +-msgstr "недійсні обмеження для операнду" ++msgstr "" + +-#: config/i386/i386.cc:13834 ++#: config/i386/i386.cc:13826 + #, c-format + msgid "invalid vector immediate" +-msgstr "недійсне векторне негайне значення" ++msgstr "некоректна векторна константа" + +-#: config/i386/i386.cc:16911 ++#: config/i386/i386.cc:16903 + msgid "unknown insn mode" +-msgstr "невідомий режим інструкції" ++msgstr "" + + #: config/ia64/ia64.cc:5460 + #, c-format + msgid "invalid %%G mode" +-msgstr "недійсний режим %%G" ++msgstr "" + + #: config/ia64/ia64.cc:5631 + #, c-format + msgid "ia64_print_operand: unknown code" +-msgstr "ia64_print_operand: невідомий код" ++msgstr "" + + #: config/ia64/ia64.cc:11255 + msgid "invalid conversion from %<__fpreg%>" +-msgstr "недійсне перетворення з %<__fpreg%>" ++msgstr "" + + #: config/ia64/ia64.cc:11258 + msgid "invalid conversion to %<__fpreg%>" +-msgstr "недійсне перетворення до %<__fpreg%>" ++msgstr "некоректне перетворення до %<__fpreg%>" + + #: config/ia64/ia64.cc:11271 config/ia64/ia64.cc:11282 + msgid "invalid operation on %<__fpreg%>" +-msgstr "недійсна операція на %<__fpreg%>" ++msgstr "" + + #: config/iq2000/iq2000.cc:3126 + #, c-format + msgid "invalid %%P operand" +-msgstr "недійсний операнд %%P" ++msgstr "" + +-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 ++#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13988 + #, c-format + msgid "invalid %%p value" +-msgstr "недійсне значення %%p" ++msgstr "некоректне значення %%p" + + #: config/iq2000/iq2000.cc:3193 + #, c-format + msgid "invalid use of %%d, %%x, or %%X" +-msgstr "неприпустиме використання %%d, %%x або %%X" ++msgstr "" + + #: config/lm32/lm32.cc:524 + #, c-format + msgid "only 0.0 can be loaded as an immediate" +-msgstr "тільки 0.0 може бути завантажено як негайне значення" ++msgstr "" + + #: config/lm32/lm32.cc:594 + msgid "bad operand" +-msgstr "неправильний операнд" ++msgstr "помилковий операнд" + + #: config/lm32/lm32.cc:606 + msgid "can't use non gp relative absolute address" +-msgstr "не можна використовувати неглобальну відносну абсолютну адресу" ++msgstr "" + + #: config/lm32/lm32.cc:610 + msgid "invalid addressing mode" +-msgstr "неприпустимий режим адресації" ++msgstr "некоректний режим адресування" + + #: config/loongarch/loongarch.cc:4754 config/loongarch/loongarch.cc:4776 + #: config/loongarch/loongarch.cc:5120 config/mips/mips.cc:9066 + #: config/mips/mips.cc:9093 config/mips/mips.cc:9276 + #, c-format + msgid "'%%%c' is not a valid operand prefix" +-msgstr "«%%%c» не є дійсним префіксом операнда" ++msgstr "" + + #: config/loongarch/loongarch.cc:5004 config/loongarch/loongarch.cc:5042 + #: config/loongarch/loongarch.cc:5077 config/loongarch/loongarch.cc:5080 +@@ -19555,51 +19577,51 @@ msgstr "«%%%c» не є дійсним префіксом операнда" + #: config/mips/mips.cc:9219 config/mips/mips.cc:9231 config/mips/mips.cc:9234 + #: config/mips/mips.cc:9294 config/mips/mips.cc:9301 config/mips/mips.cc:9322 + #: config/mips/mips.cc:9337 config/mips/mips.cc:9356 config/mips/mips.cc:9365 +-#: config/riscv/riscv.cc:4278 config/riscv/riscv.cc:4541 +-#: config/riscv/riscv.cc:4547 config/riscv/riscv.cc:4556 ++#: config/riscv/riscv.cc:4272 config/riscv/riscv.cc:4535 ++#: config/riscv/riscv.cc:4541 config/riscv/riscv.cc:4550 + #, c-format + msgid "invalid use of '%%%c'" +-msgstr "неприпустиме використання '%%%c'" ++msgstr "" + + #: config/m32r/m32r.cc:2148 + msgid "bad insn for 'A'" +-msgstr "неправильна інструкція для 'A'" ++msgstr "" + + #: config/m32r/m32r.cc:2195 + #, c-format + msgid "invalid operand to %%T/%%B code" +-msgstr "недійсний операнд для коду %%T/%%B" ++msgstr "" + + #: config/m32r/m32r.cc:2218 + #, c-format + msgid "invalid operand to %%N code" +-msgstr "неправильний операнд для коду %%N" ++msgstr "" + + #: config/m32r/m32r.cc:2251 + msgid "pre-increment address is not a register" +-msgstr "адреса з попереднім інкрементом не є регістром" ++msgstr "" + + #: config/m32r/m32r.cc:2258 + msgid "pre-decrement address is not a register" +-msgstr "адреса з попереднім декрементом не є регістром" ++msgstr "" + + #: config/m32r/m32r.cc:2265 + msgid "post-increment address is not a register" +-msgstr "адреса з постінкрементом не є регістром" ++msgstr "" + + #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 +-#: config/rs6000/rs6000.cc:20711 ++#: config/rs6000/rs6000.cc:20702 + msgid "bad address" +-msgstr "неправильна адреса" ++msgstr "помилкова адреса" + + #: config/m32r/m32r.cc:2360 + msgid "lo_sum not of register" +-msgstr "lo_sum не є регістром" ++msgstr "" + + #: config/microblaze/microblaze.cc:2299 + #, c-format + msgid "unknown punctuation '%c'" +-msgstr "невідомий знак пунктуації '%c'" ++msgstr "" + + #: config/microblaze/microblaze.cc:2308 + #, c-format +@@ -19609,506 +19631,507 @@ msgstr "нульовий вказівник" + #: config/microblaze/microblaze.cc:2343 + #, c-format + msgid "PRINT_OPERAND, invalid insn for %%C" +-msgstr "PRINT_OPERAND, неправильна інструкція для %%C" ++msgstr "" + + #: config/microblaze/microblaze.cc:2372 + #, c-format + msgid "PRINT_OPERAND, invalid insn for %%N" +-msgstr "PRINT_OPERAND, неправильна інструкція для %%N" ++msgstr "" + + #: config/microblaze/microblaze.cc:2392 config/microblaze/microblaze.cc:2568 + msgid "insn contains an invalid address !" +-msgstr "інструкція містить неправильну адресу!" ++msgstr "" + + #: config/microblaze/microblaze.cc:2408 config/microblaze/microblaze.cc:2638 + #: config/xtensa/xtensa.cc:3105 + msgid "invalid address" +-msgstr "неправильна адреса" ++msgstr "некоректна адреса" + + #: config/microblaze/microblaze.cc:2511 + #, c-format + msgid "letter %c was found & insn was not CONST_INT" +-msgstr "було знайдено літеру %c, а інструкція не була CONST_INT" ++msgstr "" + + #: config/mmix/mmix.cc:1636 config/mmix/mmix.cc:1757 + msgid "MMIX Internal: Expected a CONST_INT, not this" +-msgstr "MMIX Internal: Очікувався CONST_INT, а не це" ++msgstr "" + + #: config/mmix/mmix.cc:1715 + msgid "MMIX Internal: Bad value for 'm', not a CONST_INT" +-msgstr "MMIX Internal: Погане значення для 'm', не CONST_INT" ++msgstr "" + + #: config/mmix/mmix.cc:1725 + msgid "MMIX Internal: Expected a register, not this" +-msgstr "MMIX Internal: Очікувався регістр, а не це" ++msgstr "" + + #: config/mmix/mmix.cc:1735 + msgid "MMIX Internal: Expected a constant, not this" +-msgstr "MMIX Internal: Очікувалась константа, а не це" ++msgstr "" + + #. We need the original here. + #: config/mmix/mmix.cc:1819 + msgid "MMIX Internal: Cannot decode this operand" +-msgstr "MMIX Internal: Неможливо декодувати цей операнд" ++msgstr "" + + #: config/mmix/mmix.cc:1878 + msgid "MMIX Internal: This is not a recognized address" +-msgstr "MMIX Internal: Це не визнана адреса" ++msgstr "" + + #: config/mmix/mmix.cc:2770 + msgid "MMIX Internal: Trying to output invalidly reversed condition:" +-msgstr "MMIX Internal: Спроба вивести неправильно зворотню умову:" ++msgstr "" + + #: config/mmix/mmix.cc:2777 + msgid "MMIX Internal: What's the CC of this?" +-msgstr "MMIX Internal: Який CC цього?" ++msgstr "" + + #: config/mmix/mmix.cc:2781 + msgid "MMIX Internal: What is the CC of this?" +-msgstr "MMIX Internal: Який CC цього?" ++msgstr "" + + #: config/mmix/mmix.cc:2823 + msgid "MMIX Internal: This is not a constant:" +-msgstr "MMIX Internal: Це не константа:" ++msgstr "" + + #: config/msp430/msp430.cc:4229 + #, c-format + msgid "%%d, %%e, %%f, %%g operand modifiers are for memory references or constant values only" +-msgstr "Модифікатори операндів %%d, %%e, %%f, %%g призначені тільки для посилань на памʼять або константних значень" ++msgstr "" + + #: config/msp430/msp430.cc:4342 + #, c-format + msgid "invalid operand prefix" +-msgstr "недійсний префікс операнду" ++msgstr "" + + #: config/msp430/msp430.cc:4376 + #, c-format + msgid "invalid zero extract" +-msgstr "недійсне виділення нуля" ++msgstr "" + + #: config/or1k/or1k.cc:1154 config/or1k/or1k.cc:1162 + #, c-format + msgid "invalid relocation" +-msgstr "недійсна перевстановлення" ++msgstr "некоректне пересування" + + #: config/or1k/or1k.cc:1256 + #, c-format + msgid "invalid %%H value" +-msgstr "недійсне значення %%H" ++msgstr "некоректне значення %%H" + + #: config/or1k/or1k.cc:1269 config/xtensa/xtensa.cc:3022 + #, c-format + msgid "invalid %%d value" +-msgstr "недійсне значення %%d" ++msgstr "некоректне значення %%d" + + #: config/or1k/or1k.cc:1317 + #, c-format + msgid "unknown operand letter: '%c'" +-msgstr "невідома літера операнду: '%c'" ++msgstr "невідома літера операнда: «%c»" + + #: config/pru/pru.cc:1711 config/pru/pru.cc:1722 + #, c-format + msgid "I/O register operand for '%%%c'" +-msgstr "Операнд реєстру введення/виведення для '%%%c'" ++msgstr "" + + #: config/pru/pru.cc:1728 + #, c-format + msgid "non 32 bit register operand for '%%%c'" +-msgstr "операнд регістру не на 32 біти для '%%%c'" ++msgstr "" + + #: config/pru/pru.cc:1813 + #, c-format + msgid "unsupported code '%c' for fixed-point:" +-msgstr "непідтримуваний код '%c' для фіксованої точки:" ++msgstr "" + + #: config/pru/pru.cc:1827 + #, c-format + msgid "double constants not supported" +-msgstr "подвійні константи не підтримуються" ++msgstr "підтримки сталих подвійної точності не передбачено" + + #: config/pru/pru.cc:1910 + #, c-format + msgid "unsupported operand %s for code '%c'" +-msgstr "непідтримуваний операнд %s для коду '%c'" ++msgstr "" + + #: config/pru/pru.cc:1920 + #, c-format + msgid "unexpected text address:" +-msgstr "неочікувана адреса тексту:" ++msgstr "неочікувана текстова адреса:" + + #: config/pru/pru.cc:1939 + #, c-format + msgid "unsupported constant address:" +-msgstr "непідтримувана адреса константи:" ++msgstr "" + + #: config/pru/pru.cc:2000 + #, c-format + msgid "unsupported memory expression:" +-msgstr "непідтримуваний вираз памʼяті:" ++msgstr "непідтримуваний вираз пам'яті:" + +-#: config/riscv/riscv.cc:4384 +-#, c-format ++#: config/riscv/riscv.cc:4378 ++#, fuzzy, c-format ++#| msgid "invalid %%r operand" + msgid "invalid vector operand" +-msgstr "недійсний операнд вектора" ++msgstr "некоректний операнд %%r" + + #: config/rl78/rl78.cc:1998 config/rl78/rl78.cc:2084 + #, c-format + msgid "q/Q modifiers invalid for symbol references" +-msgstr "модифікатори q/Q недійсні для посилань на символи" ++msgstr "" + + #: config/rs6000/host-darwin.cc:96 + #, c-format + msgid "Out of stack space.\n" +-msgstr "Недостатньо місця в стеку.\n" ++msgstr "" + + #: config/rs6000/host-darwin.cc:117 + #, c-format + msgid "Try running '%s' in the shell to raise its limit.\n" +-msgstr "Спробуйте запустити '%s' в оболонці, щоб збільшити його обмеження.\n" ++msgstr "" + + #: config/rs6000/rs6000.cc:3807 + msgid "%<-mvsx%> requires hardware floating point" +-msgstr "%<-mvsx%> потребує апаратного з плаваючою комою" ++msgstr "" + + #: config/rs6000/rs6000.cc:3815 + msgid "%<-mvsx%> needs indexed addressing" +-msgstr "%<-mvsx%> потребує індексованої адресації" ++msgstr "%<-mvsx%> потребує індексованого адресування." + + #: config/rs6000/rs6000.cc:3820 + msgid "%<-mvsx%> and %<-mno-altivec%> are incompatible" +-msgstr "%<-mvsx%> та %<-mno-altivec%> несумісні" ++msgstr "" + + #: config/rs6000/rs6000.cc:3822 + msgid "%<-mno-altivec%> disables vsx" +-msgstr "%<-mno-altivec%> вимикає vsx" ++msgstr "" + + #: config/rs6000/rs6000.cc:3971 + msgid "%<-mquad-memory%> requires 64-bit mode" +-msgstr "%<-mquad-memory%> потребує 64-бітний режим" ++msgstr "" + + #: config/rs6000/rs6000.cc:3974 + msgid "%<-mquad-memory-atomic%> requires 64-bit mode" +-msgstr "%<-mquad-memory-atomic%> потребує 64-бітний режим" ++msgstr "" + + #: config/rs6000/rs6000.cc:3986 + msgid "%<-mquad-memory%> is not available in little endian mode" +-msgstr "%<-mquad-memory%> недоступний в режимі little endian" ++msgstr "" + + #: config/rs6000/rs6000.cc:11087 + msgid "bad move" +-msgstr "неправильний хід" ++msgstr "" + +-#: config/rs6000/rs6000.cc:13627 ++#: config/rs6000/rs6000.cc:13618 + msgid "Bad 128-bit move" +-msgstr "Неправильний 128-бітний хід" ++msgstr "Помилкове 128-бітове пересування" + +-#: config/rs6000/rs6000.cc:13807 ++#: config/rs6000/rs6000.cc:13798 + #, c-format + msgid "invalid %%A value" +-msgstr "неправильне значення %%A" ++msgstr "некоректне значення %%A" + +-#: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 ++#: config/rs6000/rs6000.cc:13807 config/xtensa/xtensa.cc:2957 + #, c-format + msgid "invalid %%D value" +-msgstr "неправильне значення %%D" ++msgstr "некоректне значення %%D" + +-#: config/rs6000/rs6000.cc:13831 ++#: config/rs6000/rs6000.cc:13822 + #, c-format + msgid "invalid %%e value" +-msgstr "неправильне значення %%e" ++msgstr "некоректне значення %%e" + +-#: config/rs6000/rs6000.cc:13852 ++#: config/rs6000/rs6000.cc:13843 + #, c-format + msgid "invalid %%f value" +-msgstr "неправильне значення %%f" ++msgstr "некоректне значення %%f" + +-#: config/rs6000/rs6000.cc:13861 ++#: config/rs6000/rs6000.cc:13852 + #, c-format + msgid "invalid %%F value" +-msgstr "неправильне значення %%F" ++msgstr "некоректне значення %%F" + +-#: config/rs6000/rs6000.cc:13870 ++#: config/rs6000/rs6000.cc:13861 + #, c-format + msgid "invalid %%G value" +-msgstr "неправильне значення %%G" ++msgstr "некоректне значення %%G" + +-#: config/rs6000/rs6000.cc:13905 ++#: config/rs6000/rs6000.cc:13896 + #, c-format + msgid "invalid %%j code" +-msgstr "неправильний код %%j" ++msgstr "" + +-#: config/rs6000/rs6000.cc:13915 ++#: config/rs6000/rs6000.cc:13906 + #, c-format + msgid "invalid %%J code" +-msgstr "неправильний код %%J" ++msgstr "" + +-#: config/rs6000/rs6000.cc:13925 ++#: config/rs6000/rs6000.cc:13916 + #, c-format + msgid "invalid %%k value" +-msgstr "неправильне значення %%k" ++msgstr "" + +-#: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 ++#: config/rs6000/rs6000.cc:13931 config/xtensa/xtensa.cc:2994 + #, c-format + msgid "invalid %%K value" +-msgstr "неправильне значення %%K" ++msgstr "" + +-#: config/rs6000/rs6000.cc:13987 ++#: config/rs6000/rs6000.cc:13978 + #, c-format + msgid "invalid %%O value" +-msgstr "недійсне значення %%O" ++msgstr "" + +-#: config/rs6000/rs6000.cc:14034 ++#: config/rs6000/rs6000.cc:14025 + #, c-format + msgid "invalid %%q value" +-msgstr "недійсне значення %%q" ++msgstr "" + +-#: config/rs6000/rs6000.cc:14076 ++#: config/rs6000/rs6000.cc:14067 + #, c-format + msgid "invalid %%t value" +-msgstr "недійсне значення %%t" ++msgstr "некоректне значення %%t" + +-#: config/rs6000/rs6000.cc:14093 ++#: config/rs6000/rs6000.cc:14084 + #, c-format + msgid "invalid %%T value" +-msgstr "недійсне значення %%T" ++msgstr "некоректне значення %%T" + +-#: config/rs6000/rs6000.cc:14105 ++#: config/rs6000/rs6000.cc:14096 + #, c-format + msgid "invalid %%u value" +-msgstr "недійсне значення %%u" ++msgstr "некоректне значення %%u" + +-#: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 ++#: config/rs6000/rs6000.cc:14110 config/xtensa/xtensa.cc:2969 + #, c-format + msgid "invalid %%v value" +-msgstr "недійсне значення %%v" ++msgstr "некоректне значення %%v" + +-#: config/rs6000/rs6000.cc:14169 ++#: config/rs6000/rs6000.cc:14160 + #, c-format + msgid "invalid %%V value" +-msgstr "недійсне значення %%V" ++msgstr "некоректне значення %%V" + +-#: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14176 config/xtensa/xtensa.cc:3015 + #, c-format + msgid "invalid %%x value" +-msgstr "недійсне значення %%x" ++msgstr "" + +-#: config/rs6000/rs6000.cc:14242 ++#: config/rs6000/rs6000.cc:14233 + #, c-format + msgid "invalid %%z value" +-msgstr "недійсне значення %%z" ++msgstr "некоректне значення %%z" + +-#: config/rs6000/rs6000.cc:14311 ++#: config/rs6000/rs6000.cc:14302 + #, c-format + msgid "invalid %%y value, try using the 'Z' constraint" +-msgstr "недійсне значення %%y, спробуйте використати обмеження 'Z'" ++msgstr "" + +-#: config/rs6000/rs6000.cc:15241 ++#: config/rs6000/rs6000.cc:15232 + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" +-msgstr "Неприпустиме змішування типів з плаваючою комою IEEE 128 біт та IBM 128 біт" ++msgstr "" + +-#: config/rs6000/rs6000.cc:24108 ++#: config/rs6000/rs6000.cc:24099 + msgid "AltiVec argument passed to unprototyped function" +-msgstr "Аргумент AltiVec, переданий у функцію без прототипу" ++msgstr "" + +-#: config/rs6000/rs6000.cc:27730 ++#: config/rs6000/rs6000.cc:27721 + msgid "Could not generate addis value for fusion" +-msgstr "Не вдалося згенерувати значення addis для злиття" ++msgstr "" + +-#: config/rs6000/rs6000.cc:27799 ++#: config/rs6000/rs6000.cc:27790 + msgid "Unable to generate load/store offset for fusion" +-msgstr "Не вдалося згенерувати зсув завантаження/збереження для злиття" ++msgstr "" + +-#: config/rs6000/rs6000.cc:27875 ++#: config/rs6000/rs6000.cc:27866 + msgid "Bad GPR fusion" +-msgstr "Погане злиття GPR" ++msgstr "" + +-#: config/rs6000/rs6000.cc:28477 ++#: config/rs6000/rs6000.cc:28468 + msgid "invalid conversion from type %<__vector_quad%>" +-msgstr "недійсне перетворення з типу %<__vector_quad%>" ++msgstr "некоректне перетворення з типу %<__vector_quad%>" + +-#: config/rs6000/rs6000.cc:28479 ++#: config/rs6000/rs6000.cc:28470 + msgid "invalid conversion to type %<__vector_quad%>" +-msgstr "недійсне перетворення на тип %<__vector_quad%>" ++msgstr "некоректне перетворення до типу %<__vector_quad%>" + +-#: config/rs6000/rs6000.cc:28481 ++#: config/rs6000/rs6000.cc:28472 + msgid "invalid conversion from type %<__vector_pair%>" +-msgstr "недійсне перетворення з типу %<__vector_pair%>" ++msgstr "некоректне перетворення з типу %<__vector_pair%>" + +-#: config/rs6000/rs6000.cc:28483 ++#: config/rs6000/rs6000.cc:28474 + msgid "invalid conversion to type %<__vector_pair%>" +-msgstr "недійсне перетворення на тип %<__vector_pair%>" ++msgstr "некоректне перетворення до %<__vector_pair%>" + + #: config/s390/s390.cc:8072 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" +-msgstr "символічні посилання на памʼять підтримуються лише на z10 або пізніше" ++msgstr "" + + #: config/s390/s390.cc:8083 + #, c-format + msgid "cannot decompose address" +-msgstr "не вдається розкласти адресу" ++msgstr "" + + #: config/s390/s390.cc:8165 + #, c-format + msgid "invalid comparison operator for 'E' output modifier" +-msgstr "недійсний оператор порівняння для модифікатора виводу «E»" ++msgstr "" + + #: config/s390/s390.cc:8188 + #, c-format + msgid "invalid reference for 'J' output modifier" +-msgstr "недійсне посилання для модифікатора виводу «J»" ++msgstr "" + + #: config/s390/s390.cc:8206 + #, c-format + msgid "invalid address for 'O' output modifier" +-msgstr "неправильна адреса для модифікатора виводу 'O'" ++msgstr "" + + #: config/s390/s390.cc:8228 + #, c-format + msgid "invalid address for 'R' output modifier" +-msgstr "неправильна адреса для модифікатора виводу 'R'" ++msgstr "" + + #: config/s390/s390.cc:8246 + #, c-format + msgid "memory reference expected for 'S' output modifier" +-msgstr "очікується посилання на памʼять для модифікатора виводу 'S'" ++msgstr "" + + #: config/s390/s390.cc:8256 + #, c-format + msgid "invalid address for 'S' output modifier" +-msgstr "неправильна адреса для модифікатора виводу 'S'" ++msgstr "" + + #: config/s390/s390.cc:8277 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" +-msgstr "очікується регістр або вираз памʼяті для модифікатора виводу 'N'" ++msgstr "" + + #: config/s390/s390.cc:8288 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" +-msgstr "очікується регістр або вираз памʼяті для модифікатора виводу 'M'" ++msgstr "" + + #: config/s390/s390.cc:8397 config/s390/s390.cc:8418 + #, c-format + msgid "invalid constant for output modifier '%c'" +-msgstr "неправильна константа для модифікатора виводу '%c'" ++msgstr "" + + #: config/s390/s390.cc:8415 + #, c-format + msgid "invalid constant - try using an output modifier" +-msgstr "неправильна константа - спробуйте використати модифікатор виводу" ++msgstr "" + + #: config/s390/s390.cc:8452 + #, c-format + msgid "invalid constant vector for output modifier '%c'" +-msgstr "неправильний вектор констант для модифікатора виводу '%c'" ++msgstr "" + + #: config/s390/s390.cc:8459 + #, c-format + msgid "invalid expression - try using an output modifier" +-msgstr "неприпустимий вираз - спробуйте використати модифікатор виводу" ++msgstr "" + + #: config/s390/s390.cc:8462 + #, c-format + msgid "invalid expression for output modifier '%c'" +-msgstr "неприпустимий вираз для модифікатора виводу '%c'" ++msgstr "некоректний вираз для модифікатора виведення «%c»" + + #: config/s390/s390.cc:12310 + msgid "vector argument passed to unprototyped function" +-msgstr "векторний аргумент переданий до функції без прототипу" ++msgstr "" + + #: config/s390/s390.cc:16742 + msgid "types differ in signedness" +-msgstr "типи відрізняються за знаком" ++msgstr "" + + #: config/s390/s390.cc:16752 + msgid "binary operator does not support two vector bool operands" +-msgstr "бінарний оператор не підтримує два векторних операнди типу bool" ++msgstr "" + + #: config/s390/s390.cc:16755 + msgid "binary operator does not support vector bool operand" +-msgstr "бінарний оператор не підтримує векторний операнд типу bool" ++msgstr "" + + #: config/s390/s390.cc:16763 + msgid "binary operator does not support mixing vector bool with floating point vector operands" +-msgstr "бінарний оператор не підтримує змішування векторного операнду типу bool з векторним операндом типу з плаваючою точкою" ++msgstr "" + + #: config/sh/sh.cc:1222 + #, c-format + msgid "invalid operand to %%R" +-msgstr "неприпустимий операнд для %%R" ++msgstr "некоректний операнд %%R" + + #: config/sh/sh.cc:1249 + #, c-format + msgid "invalid operand to %%S" +-msgstr "неприпустимий операнд для %%S" ++msgstr "некоректний операнд %%S" + + #: config/sh/sh.cc:8667 + msgid "created and used with different architectures / ABIs" +-msgstr "створено та використано з різними архітектурами / ABIs" ++msgstr "" + + #: config/sh/sh.cc:8669 + msgid "created and used with different ABIs" +-msgstr "створено та використано з різними ABIs" ++msgstr "" + + #: config/sh/sh.cc:8671 + msgid "created and used with different endianness" +-msgstr "створено та використано з різним порядком байтів" ++msgstr "" + + #: config/sparc/sparc.cc:9379 config/sparc/sparc.cc:9385 + #, c-format + msgid "invalid %%Y operand" +-msgstr "недійсний операнд %%Y" ++msgstr "некоректний операнд %%Y" + + #: config/sparc/sparc.cc:9472 + #, c-format + msgid "invalid %%A operand" +-msgstr "недійсний операнд %%A" ++msgstr "некоректний операнд %%A" + + #: config/sparc/sparc.cc:9492 + #, c-format + msgid "invalid %%B operand" +-msgstr "недійсний операнд %%B" ++msgstr "некоректний операнд %%B" + + #: config/sparc/sparc.cc:9572 + #, c-format + msgid "invalid %%C operand" +-msgstr "недійсний операнд %%C" ++msgstr "некоректний операнд %%C" + + #: config/sparc/sparc.cc:9604 + #, c-format + msgid "invalid %%D operand" +-msgstr "недійсний операнд %%D" ++msgstr "некоректний операнд %%D" + + #: config/sparc/sparc.cc:9623 + #, c-format + msgid "invalid %%f operand" +-msgstr "недійсний операнд %%f" ++msgstr "некоректний операнд %%f" + + #: config/sparc/sparc.cc:9635 + #, c-format + msgid "invalid %%s operand" +-msgstr "недійсний операнд %%s" ++msgstr "некоректний операнд %%s" + + #: config/sparc/sparc.cc:9680 + #, c-format + msgid "floating-point constant not a valid immediate operand" +-msgstr "константа з плаваючою точкою не є дійсним негайним операндом" ++msgstr "" + + #: config/stormy16/stormy16.cc:1751 config/stormy16/stormy16.cc:1822 + #, c-format + msgid "'B' operand is not constant" +-msgstr "операнд 'B' не є константою" ++msgstr "операнд «B» не є сталою" + + #: config/stormy16/stormy16.cc:1778 + #, c-format + msgid "'B' operand has multiple bits set" +-msgstr "операнд 'B' має встановлено кілька бітів" ++msgstr "" + + #: config/stormy16/stormy16.cc:1804 + #, c-format + msgid "'o' operand is not constant" +-msgstr "операнд 'o' не є константою" ++msgstr "операнд «o» не є сталою" + + #: config/stormy16/stormy16.cc:1836 + #, c-format +@@ -20117,26 +20140,26 @@ msgstr "xstormy16_print_operand: невідомий код" + + #: config/v850/v850.cc:271 + msgid "const_double_split got a bad insn:" +-msgstr "const_double_split отримав неправильну інструкцію:" ++msgstr "" + + #: config/v850/v850.cc:885 + msgid "output_move_single:" +-msgstr "output_move_single:" ++msgstr "" + + #: config/vax/vax.cc:481 + #, c-format + msgid "symbol used with both base and indexed registers" +-msgstr "символ використовується з базовими та індексованими регістрами" ++msgstr "" + + #: config/vax/vax.cc:490 + #, c-format + msgid "symbol with offset used in PIC mode" +-msgstr "символ з зсувом використовується в режимі PIC" ++msgstr "" + + #: config/vax/vax.cc:578 + #, c-format + msgid "symbol used as immediate operand" +-msgstr "символ використовується як негайний операнд" ++msgstr "" + + #: config/vax/vax.cc:1680 + msgid "illegal operand detected" +@@ -20148,44 +20171,44 @@ msgstr "неприпустимий операнд " + + #: config/visium/visium.cc:3416 + msgid "illegal operand address (1)" +-msgstr "неприпустима адреса операнда (1)" ++msgstr "некоректна адреса операнда (1)" + + #: config/visium/visium.cc:3423 + msgid "illegal operand address (2)" +-msgstr "неприпустима адреса операнда (2)" ++msgstr "некоректна адреса операнда (2)" + + #: config/visium/visium.cc:3438 + msgid "illegal operand address (3)" +-msgstr "неприпустима адреса операнда (3)" ++msgstr "некоректна адреса операнда (3)" + + #: config/visium/visium.cc:3446 + msgid "illegal operand address (4)" +-msgstr "неприпустима адреса операнда (4)" ++msgstr "некоректна адреса операнда (4)" + + #: config/xtensa/xtensa-dynconfig.cc:63 + msgid "Unable to load DLL." +-msgstr "Не вдалося завантажити DLL." ++msgstr "" + + #: config/xtensa/xtensa.cc:831 config/xtensa/xtensa.cc:869 + msgid "bad test" +-msgstr "неправильний тест" ++msgstr "помилкова перевірка" + + #: config/xtensa/xtensa.cc:2989 + msgid "invalid mask" +-msgstr "неприпустима маска" ++msgstr "некоректна маска" + + #: config/xtensa/xtensa.cc:3041 config/xtensa/xtensa.cc:3051 + #, c-format + msgid "invalid %%t/%%b value" +-msgstr "недійсне значення %%t/%%b" ++msgstr "некоректне значення %%t/%%b" + + #: config/xtensa/xtensa.cc:3130 + msgid "no register in address" +-msgstr "немає реєстра в адресі" ++msgstr "немає регістру у адресі" + + #: config/xtensa/xtensa.cc:3138 + msgid "address offset not a constant" +-msgstr "зсув адреси не є константою" ++msgstr "зсув адреси не є сталою величиною" + + #: c/c-objc-common.cc:193 + msgid "{erroneous}" +@@ -20193,7 +20216,7 @@ msgstr "{помилковий}" + + #: c/c-objc-common.cc:234 + msgid "aka" +-msgstr "також відомий як" ++msgstr "або" + + #: c/c-objc-common.cc:326 + msgid "({anonymous})" +@@ -20223,7 +20246,7 @@ msgstr "({анонімний})" + #: cp/parser.cc:15350 cp/parser.cc:33085 cp/parser.cc:33721 + #, gcc-internal-format + msgid "expected %<;%>" +-msgstr "очікувався %<;%>" ++msgstr "мало бути %<;%>" + + #: c/c-parser.cc:3355 c/c-parser.cc:4460 c/c-parser.cc:4655 c/c-parser.cc:4713 + #: c/c-parser.cc:4771 c/c-parser.cc:5153 c/c-parser.cc:5176 c/c-parser.cc:5185 +@@ -20244,7 +20267,7 @@ msgstr "очікувався %<;%>" + #: c/c-parser.cc:7642 cp/parser.cc:33769 + #, gcc-internal-format + msgid "expected %<)%>" +-msgstr "очікувався %<)%>" ++msgstr "мало бути %<)%>" + + #: c/c-parser.cc:4549 c/c-parser.cc:5296 c/c-parser.cc:5448 c/c-parser.cc:5474 + #: c/c-parser.cc:5475 c/c-parser.cc:5915 c/c-parser.cc:5959 c/c-parser.cc:7741 +@@ -20252,11 +20275,11 @@ msgstr "очікувався %<)%>" + #: c/c-parser.cc:13949 c/gimple-parser.cc:1755 cp/parser.cc:33733 + #, gcc-internal-format + msgid "expected %<]%>" +-msgstr "очікувався %<]%>" ++msgstr "мало бути %<]%>" + + #: c/c-parser.cc:4751 + msgid "expected %<;%>, %<,%> or %<)%>" +-msgstr "очікувався %<;%>, %<,%> або %<)%>" ++msgstr "мало бути %<;%>, %<,%> або %<)%>" + + #. Look for the two `(' tokens. + #: c/c-parser.cc:5205 c/c-parser.cc:5210 c/c-parser.cc:14529 +@@ -20270,13 +20293,13 @@ msgstr "очікувався %<;%>, %<,%> або %<)%>" + #: c/gimple-parser.cc:2331 c/c-parser.cc:14351 cp/parser.cc:33724 + #, gcc-internal-format + msgid "expected %<(%>" +-msgstr "очікувався %<(%>" ++msgstr "мало бути %<(%>" + + #: c/c-parser.cc:5444 c/c-parser.cc:5446 c/c-parser.cc:13853 + #: cp/parser.cc:33736 cp/parser.cc:37504 go/gofrontend/embed.cc:439 + #, gcc-internal-format + msgid "expected %<[%>" +-msgstr "очікувався %<[%>" ++msgstr "мало бути %<[%>" + + #: c/c-parser.cc:6096 c/c-parser.cc:12391 c/c-parser.cc:19374 + #: c/c-parser.cc:19460 c/c-parser.cc:20118 c/c-parser.cc:20990 +@@ -20285,7 +20308,7 @@ msgstr "очікувався %<[%>" + #: cp/parser.cc:21039 cp/parser.cc:33730 go/gofrontend/embed.cc:370 + #, gcc-internal-format + msgid "expected %<{%>" +-msgstr "очікувався %<{%>" ++msgstr "мало бути %<{%>" + + #: c/c-parser.cc:6391 c/c-parser.cc:6400 c/c-parser.cc:8188 c/c-parser.cc:9328 + #: c/c-parser.cc:12155 c/c-parser.cc:12552 c/c-parser.cc:12616 +@@ -20300,12 +20323,12 @@ msgstr "очікувався %<{%>" + #: go/gofrontend/embed.cc:403 + #, gcc-internal-format + msgid "expected %<:%>" +-msgstr "очікувався %<:%>" ++msgstr "мало бути %<:%>" + + #: c/c-parser.cc:7199 cp/parser.cc:33650 + #, gcc-internal-format + msgid "expected %" +-msgstr "очікувався %" ++msgstr "мало бути %" + + #: c/c-parser.cc:9086 c/c-parser.cc:9279 c/c-parser.cc:9750 c/c-parser.cc:9793 + #: c/c-parser.cc:9934 c/c-parser.cc:10681 c/c-parser.cc:15354 +@@ -20314,27 +20337,27 @@ msgstr "очікувався %" + #: c/gimple-parser.cc:1540 cp/parser.cc:33083 cp/parser.cc:33739 + #, gcc-internal-format + msgid "expected %<,%>" +-msgstr "очікувався %<,%>" ++msgstr "мало бути %<,%>" + + #: c/c-parser.cc:9647 + msgid "expected %<.%>" +-msgstr "очікувався %<.%>" ++msgstr "мало бути %<.%>" + + #: c/c-parser.cc:11614 c/c-parser.cc:11646 c/c-parser.cc:11886 + #: cp/parser.cc:36039 cp/parser.cc:36060 + #, gcc-internal-format + msgid "expected %<@end%>" +-msgstr "очікувався %<@end%>" ++msgstr "мало бути %<@end%>" + + #: c/c-parser.cc:12304 c/gimple-parser.cc:1370 cp/parser.cc:33748 + #, gcc-internal-format + msgid "expected %<>%>" +-msgstr "очікувався %<>%>" ++msgstr "мало бути %<>%>" + + #: c/c-parser.cc:15890 c/c-parser.cc:17306 cp/parser.cc:33772 + #, gcc-internal-format + msgid "expected %<,%> or %<)%>" +-msgstr "очікувався %<,%> або %<)%>" ++msgstr "мало бути %<,%> або %<)%>" + + #. All following cases are statements with LHS. + #: c/c-parser.cc:16758 c/c-parser.cc:19267 c/c-parser.cc:19314 +@@ -20344,7 +20367,7 @@ msgstr "очікувався %<,%> або %<)%>" + #: cp/parser.cc:33751 cp/parser.cc:42079 cp/parser.cc:42252 + #, gcc-internal-format + msgid "expected %<=%>" +-msgstr "очікувалось %<=%>" ++msgstr "мало бути %<=%>" + + #: c/c-parser.cc:19402 c/c-parser.cc:19482 c/c-parser.cc:19835 + #: c/c-parser.cc:20169 c/gimple-parser.cc:1588 c/gimple-parser.cc:1620 +@@ -20352,21 +20375,21 @@ msgstr "очікувалось %<=%>" + #: cp/parser.cc:36249 + #, gcc-internal-format + msgid "expected %<}%>" +-msgstr "очікувалось %<}%>" ++msgstr "мало бути %<}%>" + + #: c/c-parser.cc:19495 cp/parser.cc:42177 + #, gcc-internal-format + msgid "expected %" +-msgstr "очікувалось %" ++msgstr "мало бути %" + + #: c/c-parser.cc:21035 c/c-parser.cc:21024 cp/parser.cc:44437 + #, gcc-internal-format + msgid "expected %<#pragma omp section%> or %<}%>" +-msgstr "очікувалось %<#pragma omp section%> або %<}%>" ++msgstr "мало бути %<#pragma omp section%> або %<}%>" + + #: c/c-parser.cc:24023 cp/parser.cc:48282 + msgid "" +-msgstr "<повідомлення невідоме на етапі компіляції>" ++msgstr "" + + #: c/c-typeck.cc:8855 + msgid "(anonymous)" +@@ -20375,13 +20398,13 @@ msgstr "(анонімний)" + #: c/gimple-parser.cc:1359 cp/parser.cc:18387 cp/parser.cc:33745 + #, gcc-internal-format + msgid "expected %<<%>" +-msgstr "очікувалось %<<%>" ++msgstr "мало бути %<<%>" + + #: c/gimple-parser.cc:2381 c/gimple-parser.cc:2408 c/gimple-parser.cc:2247 + #: c/gimple-parser.cc:2284 + #, gcc-internal-format + msgid "expected label" +-msgstr "очікувалася мітка" ++msgstr "мало бути вказано мітку" + + #: cp/call.cc:4059 + msgid "candidate:" +@@ -20389,14 +20412,14 @@ msgstr "кандидат:" + + #: cp/call.cc:8193 + msgid " after user-defined conversion:" +-msgstr " після користувацького перетворення:" ++msgstr "" + +-#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 ++#: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26135 + msgid "candidate is:" + msgid_plural "candidates are:" +-msgstr[0] "кандидат є:" +-msgstr[1] "кандидати є:" +-msgstr[2] "кандидати є:" ++msgstr[0] "" ++msgstr[1] "" ++msgstr[2] "" + + #: cp/call.cc:12792 cp/call.cc:13184 + msgid "candidate 1:" +@@ -20408,23 +20431,23 @@ msgstr "кандидат 2:" + + #: cp/decl.cc:3588 + msgid "jump to label %qD" +-msgstr "перехід до мітки %qD" ++msgstr "" + + #: cp/decl.cc:3589 + msgid "jump to case label" +-msgstr "перехід до мітки case" ++msgstr "" + + #: cp/error.cc:462 + msgid "" +-msgstr "<відсутнє>" ++msgstr "<пропущено>" + + #: cp/error.cc:564 + msgid "" +-msgstr "<список ініціалізаторів у фігурних дужках>" ++msgstr "" + + #: cp/error.cc:566 + msgid "" +-msgstr "<нерозрішений перевантажений тип функції>" ++msgstr "<невизначений перевантажений тип функції>" + + #: cp/error.cc:733 + msgid "" +@@ -20433,44 +20456,44 @@ msgstr "<помилка типу>" + #. A lambda's "type" is essentially its signature. + #: cp/error.cc:840 + msgid "" +-msgstr "<безіменний>" ++msgstr "<неназваний>" + + #: cp/error.cc:852 + #, c-format + msgid "" +-msgstr "<безіменний %s>" ++msgstr "<неназваний %s>" + + #: cp/error.cc:990 + msgid "" +-msgstr "<помилка префіксу типу>" ++msgstr "" + + #: cp/error.cc:1131 + #, c-format + msgid "(static initializers for %s)" +-msgstr "(статичні ініціалізатори для %s)" ++msgstr "" + + #: cp/error.cc:1133 + #, c-format + msgid "(static destructors for %s)" +-msgstr "(статичні деструктори для %s)" ++msgstr "" + + #: cp/error.cc:1179 + msgid "" +-msgstr "<структуровані привʼязки>" ++msgstr "<структуровані прив'язки>" + + #: cp/error.cc:1303 + msgid "vtable for " +-msgstr "vtable для " ++msgstr "" + + #: cp/error.cc:1327 + msgid " " +-msgstr "<значення повернення> " ++msgstr "" + + #: cp/error.cc:1342 + msgid "{anonymous}" +@@ -20478,50 +20501,50 @@ msgstr "{анонімний}" + + #: cp/error.cc:1344 + msgid "(anonymous namespace)" +-msgstr "(анонімний простір імен)" ++msgstr "" + + #: cp/error.cc:1444 + msgid "